{
  "_format": "hh-sol-artifact-1",
  "contractName": "FranchisedIndexPool",
  "sourceName": "contracts/pool/franchised/FranchisedIndexPool.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "_deployData",
          "type": "bytes"
        },
        {
          "internalType": "address",
          "name": "_masterDeployer",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "tokenOut",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        }
      ],
      "name": "Burn",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "tokenIn",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amountIn",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        }
      ],
      "name": "Mint",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "tokenIn",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "tokenOut",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amountIn",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        }
      ],
      "name": "Swap",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "DOMAIN_SEPARATOR",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "PERMIT_TYPEHASH",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "barFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "barFeeTo",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "bento",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "burn",
      "outputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "token",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "amount",
              "type": "uint256"
            }
          ],
          "internalType": "struct IPool.TokenAmount[]",
          "name": "withdrawnAmounts",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "burnSingle",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "flashSwap",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "getAmountIn",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "getAmountOut",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getAssets",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "assets",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getReservesAndWeights",
      "outputs": [
        {
          "internalType": "uint256[]",
          "name": "reserves",
          "type": "uint256[]"
        },
        {
          "internalType": "uint136[]",
          "name": "weights",
          "type": "uint136[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "level2",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "masterDeployer",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "mint",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "liquidity",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "nonces",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "operator",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "deadline",
          "type": "uint256"
        },
        {
          "internalType": "uint8",
          "name": "v",
          "type": "uint8"
        },
        {
          "internalType": "bytes32",
          "name": "r",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "s",
          "type": "bytes32"
        }
      ],
      "name": "permit",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "poolIdentifier",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "records",
      "outputs": [
        {
          "internalType": "uint120",
          "name": "reserve",
          "type": "uint120"
        },
        {
          "internalType": "uint136",
          "name": "weight",
          "type": "uint136"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "swap",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "amountOut",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "swapFee",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "transfer",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "updateBarFee",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "whiteListManager",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x6101206040523480156200001257600080fd5b506040516200417838038062004178833981016040819052620000359162000a9c565b604080518082018252601981527f5375736869204672616e636869736564204c5020546f6b656e000000000000006020918201528151808301835260018152603160f81b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f918101919091527f49bb029ad7c8a58c6232657178b278e20c3bd1f3b0084072e3a97b185e1aac5f918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120608081815250506000806000806000808780602001905181019062000140919062000983565b9550955095509550955095508451865114620001945760405162461bcd60e51b815260206004820152600e60248201526d494e56414c49445f41525241595360901b60448201526064015b60405180910390fd5b83620001ac620f4240670de0b6b3a764000062000c2d565b11158015620001cf5750620001cb600a670de0b6b3a764000062000c2d565b8411155b620002105760405162461bcd60e51b815260206004820152601060248201526f494e56414c49445f535741505f46454560801b60448201526064016200018b565b85516002111580156200022557506008865111155b620002735760405162461bcd60e51b815260206004820152601560248201527f494e56414c49445f544f4b454e535f4c454e475448000000000000000000000060448201526064016200018b565b6200028b838383620007eb60201b620020561760201c565b60005b8651811015620005345760006001600160a01b0316878281518110620002b857620002b862000cd9565b60200260200101516001600160a01b03161415620003085760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b60448201526064016200018b565b8581815181106200031d576200031d62000cd9565b60200260200101516001600160881b0316670de0b6b3a7640000111580156200037f575062000356670de0b6b3a7640000603262000c50565b8682815181106200036b576200036b62000cd9565b60200260200101516001600160881b031611155b620003be5760405162461bcd60e51b815260206004820152600e60248201526d1253959053125117d5d15251d21560921b60448201526064016200018b565b604051806040016040528060006001600160781b03168152602001878381518110620003ee57620003ee62000cd9565b60200260200101516001600160881b0316815250600a60008984815181106200041b576200041b62000cd9565b6020908102919091018101516001600160a01b0316825281810192909252604001600020825192909101516001600160881b0316600160781b026001600160781b03909216919091179055865160079088908390811062000480576200048062000cd9565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790558551869082908110620004d257620004d262000cd9565b602090810291909101015160068054600090620004fa9084906001600160881b031662000be4565b92506101000a8154816001600160881b0302191690836001600160881b0316021790555080806200052b9062000ca5565b9150506200028e565b506200054a670de0b6b3a7640000603262000c50565b6006546001600160881b03161115620005995760405162461bcd60e51b815260206004820152601060248201526f13505617d513d5105317d5d15251d21560821b60448201526064016200018b565b620005ba6000620005b4670de0b6b3a7640000606462000c50565b6200083b565b60408051600481526024810182526020810180516001600160e01b03166360a56c0160e11b17905290516000916001600160a01b038a1691620005fe919062000b6d565b600060405180830381855afa9150503d80600081146200063b576040519150601f19603f3d011682016040523d82523d6000602084013e62000640565b606091505b5060408051600481526024810182526020810180516001600160e01b0316630605066960e11b1790529051919350600092506001600160a01b038b169162000689919062000b6d565b600060405180830381855afa9150503d8060008114620006c6576040519150601f19603f3d011682016040523d82523d6000602084013e620006cb565b606091505b5060408051600481526024810182526020810180516001600160e01b0316634da3182760e01b1790529051919350600092506001600160a01b038c169162000714919062000b6d565b600060405180830381855afa9150503d806000811462000751576040519150601f19603f3d011682016040523d82523d6000602084013e62000756565b606091505b5060a089905284519092506200077791508401602090810190850162000b53565b60085581516200079190830160209081019084016200095c565b60601b6001600160601b03191660c0528051620007b890602090830181019083016200095c565b6001600160601b0319606091821b811660e0529a901b90991661010052505060016009555062000d1e9650505050505050565b600080546001600160a01b038086166001600160a01b0319928316179092556001805492851692909116919091179055801562000836576001805460ff60a01b1916600160a01b1790555b505050565b80600260008282546200084f919062000c12565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b8051620008b58162000d05565b919050565b600082601f830112620008cc57600080fd5b81516020620008e5620008df8362000bbe565b62000b8b565b80838252828201915082860187848660051b89010111156200090657600080fd5b6000805b868110156200093d5782516001600160881b03811681146200092a578283fd5b855293850193918501916001016200090a565b509198975050505050505050565b80518015158114620008b557600080fd5b6000602082840312156200096f57600080fd5b81516200097c8162000d05565b9392505050565b60008060008060008060c087890312156200099d57600080fd5b86516001600160401b0380821115620009b557600080fd5b818901915089601f830112620009ca57600080fd5b81516020620009dd620008df8362000bbe565b8083825282820191508286018e848660051b8901011115620009fe57600080fd5b600096505b8487101562000a2e57805162000a198162000d05565b83526001969096019591830191830162000a03565b50918c0151919a5090935050508082111562000a4957600080fd5b5062000a5889828a01620008ba565b9550506040870151935062000a7060608801620008a8565b925062000a8060808801620008a8565b915062000a9060a088016200094b565b90509295509295509295565b6000806040838503121562000ab057600080fd5b82516001600160401b038082111562000ac857600080fd5b818501915085601f83011262000add57600080fd5b81518181111562000af25762000af262000cef565b62000b07601f8201601f191660200162000b8b565b915080825286602082850101111562000b1f57600080fd5b62000b3281602084016020860162000c72565b508093505050602083015162000b488162000d05565b809150509250929050565b60006020828403121562000b6657600080fd5b5051919050565b6000825162000b8181846020870162000c72565b9190910192915050565b604051601f8201601f191681016001600160401b038111828210171562000bb65762000bb662000cef565b604052919050565b60006001600160401b0382111562000bda5762000bda62000cef565b5060051b60200190565b60006001600160881b0382811684821680830382111562000c095762000c0962000cc3565b01949350505050565b6000821982111562000c285762000c2862000cc3565b500190565b60008262000c4b57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161562000c6d5762000c6d62000cc3565b500290565b60005b8381101562000c8f57818101518382015260200162000c75565b8381111562000c9f576000848401525b50505050565b600060001982141562000cbc5762000cbc62000cc3565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811462000d1b57600080fd5b50565b60805160a05160c05160601c60e05160601c6101005160601c6133db62000d9d6000396000818161062f01526118f501526000818161045c015281816123b8015281816124e7015261265d015260006102a701526000818161048301528181611b6d01526122b80152600081816103900152611d8101526133db6000f3fe608060405234801561001057600080fd5b506004361061020b5760003560e01c8063627dd56a1161012a578063a69840a8116100bd578063bc3377d91161008c578063cf58879a11610071578063cf58879a1461062a578063d505accf14610651578063dd62ed3e1461066457600080fd5b8063bc3377d9146105fc578063c14ad8021461062157600080fd5b8063a69840a81461059c578063a8f1f52e146105c3578063a9059cbb146105d6578063af8c09bf146105e957600080fd5b80637ecebe00116100f95780637ecebe00146105205780638ae454411461054057806392bc32191461055657806395d89b411461056057600080fd5b8063627dd56a146104c557806367e4ac2c146104d857806370a08231146104ed5780637ba0e2e71461050d57600080fd5b806330adf81f116101a2578063499a3c5011610171578063499a3c50146104445780634da318271461045757806354cf2aeb1461047e578063570ca735146104a557600080fd5b806330adf81f1461034a578063313ce567146103715780633644e5151461038b578063469e9067146103b257600080fd5b806318160ddd116101de57806318160ddd146102ee57806323b872dd146102f757806325a932641461030a5780632a07b6c71461032a57600080fd5b8063053da1c81461021057806306fdde0314610236578063095ea7b31461027f5780630c0a0cd2146102a2575b600080fd5b61022361021e366004612f31565b61068f565b6040519081526020015b60405180910390f35b6102726040518060400160405280601981526020017f5375736869204672616e636869736564204c5020546f6b656e0000000000000081525081565b60405161022d91906131aa565b61029261028d366004612e08565b610a50565b604051901515815260200161022d565b6102c97f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161022d565b61022360025481565b610292610305366004612e6d565b610aca565b6000546102c99073ffffffffffffffffffffffffffffffffffffffff1681565b61033d610338366004612f31565b610c45565b60405161022d91906130b7565b6102237f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b610379601281565b60405160ff909116815260200161022d565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b61040b6103c0366004612bd3565b600a602052600090815260409020546effffffffffffffffffffffffffffff8116906f01000000000000000000000000000000900470ffffffffffffffffffffffffffffffffff1682565b604080516effffffffffffffffffffffffffffff909316835270ffffffffffffffffffffffffffffffffff90911660208301520161022d565b610223610452366004612f31565b610fcf565b6102c97f000000000000000000000000000000000000000000000000000000000000000081565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b6001546102c99073ffffffffffffffffffffffffffffffffffffffff1681565b6102236104d3366004612f31565b610fd6565b6104e0611319565b60405161022d919061305d565b6102236104fb366004612bd3565b60036020526000908152604090205481565b61022361051b366004612f31565b611388565b61022361052e366004612bd3565b60056020526000908152604090205481565b6105486116b3565b60405161022d92919061311c565b61055e611883565b005b6102726040518060400160405280600381526020017f534c50000000000000000000000000000000000000000000000000000000000081525081565b6102237f54726964656e743a4672616e636869736564496e64657800000000000000000081565b6102236105d1366004612f31565b61197e565b6102926105e4366004612e08565b6119b4565b6102236105f7366004612f31565b611a66565b6001546102929074010000000000000000000000000000000000000000900460ff1681565b61022360085481565b6102c97f000000000000000000000000000000000000000000000000000000000000000081565b61055e61065f366004612e9d565b611cee565b610223610672366004612e34565b600460209081526000928352604080842090915290825290205481565b6000600954600114610702576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f4c4f434b4544000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b60026009556000808080808061071a888a018a612c54565b955095509550955095509550600160149054906101000a900460ff161561074457610744846120f6565b73ffffffffffffffffffffffffffffffffffffffff8087166000908152600a60205260408082209288168252902081546107a1906effffffffffffffffffffffffffffff1661079c6002670de0b6b3a76400006131d5565b612256565b84111561080a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4d41585f494e5f524154494f000000000000000000000000000000000000000060448201526064016106f9565b815481546108609186916effffffffffffffffffffffffffffff8083169270ffffffffffffffffffffffffffffffffff6f01000000000000000000000000000000918290048116939283169291909104166122a1565b6040517fbd50c7b1000000000000000000000000000000000000000000000000000000008152909950339063bd50c7b19061089f9086906004016131aa565b600060405180830381600087803b1580156108b957600080fd5b505af11580156108cd573d6000803e3d6000fd5b505083546effffffffffffffffffffffffffffff16860191506108f190508961232b565b1015610959576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4e4f545f5245434549564544000000000000000000000000000000000000000060448201526064016106f9565b81546effffffffffffffffffffffffffffff808216860181167fffffffffffffffffffffffffffffffffff00000000000000000000000000000092831617845582548082168c900390911691161781556109b5878a8888612444565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fcd3829a3813dc3cdd188fd3d01dcf3268c16be2fdd2dd21d0665418816e46062878d604051610a34929190918252602082015260400190565b60405180910390a4505060016009555094979650505050505050565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610ab89086815260200190565b60405180910390a35060015b92915050565b60015460009074010000000000000000000000000000000000000000900460ff1615610af957610af9836120f6565b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610b965773ffffffffffffffffffffffffffffffffffffffff8416600090815260046020908152604080832033845290915281208054849290610b90908490613226565b90915550505b73ffffffffffffffffffffffffffffffffffffffff841660009081526003602052604081208054849290610bcb908490613226565b909155505073ffffffffffffffffffffffffffffffffffffffff808416600081815260036020526040908190208054860190555190918616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c339086815260200190565b60405180910390a35060019392505050565b6060600954600114610cb3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f4c4f434b4544000000000000000000000000000000000000000000000000000060448201526064016106f9565b600260095560008080610cc885870187612dc7565b925092509250610cd7836120f6565b6000610ce58260025461273c565b60075490915067ffffffffffffffff811115610d0357610d03613343565b604051908082528060200260200182016040528015610d4857816020015b6040805180820190915260008082526020820152815260200190600190039081610d215790505b509450610d553083612776565b60005b600754811015610fbe57600060078281548110610d7757610d77613314565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16808352600a90915260408220549092506effffffffffffffffffffffffffffff1690610dc78583612256565b90506effffffffffffffffffffffffffffff8116610e41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f5a45524f5f4f555400000000000000000000000000000000000000000000000060448201526064016106f9565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600a6020526040902080547fffffffffffffffffffffffffffffffffff00000000000000000000000000000081166effffffffffffffffffffffffffffff918216849003821617909155610eb690849083168a8a612444565b60405180604001604052808473ffffffffffffffffffffffffffffffffffffffff168152602001826effffffffffffffffffffffffffffff16815250898581518110610f0457610f04613314565b60200260200101819052508773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f3dd1df88dc92e2788892542d81f999d720a44b4c127065d45c128f4f59fdc3738584604051610fa092919073ffffffffffffffffffffffffffffffffffffffff9290921682526effffffffffffffffffffffffffffff16602082015260400190565b60405180910390a35050508080610fb690613269565b915050610d58565b505060016009555091949350505050565b6000806000fd5b6000600954600114611044576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f4c4f434b4544000000000000000000000000000000000000000000000000000060448201526064016106f9565b600260095560008080808061105b87890189612bf0565b94509450945094509450600160149054906101000a900460ff161561108357611083836120f6565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152600a60205260408082209287168252902081546110db906effffffffffffffffffffffffffffff1661079c6002670de0b6b3a76400006131d5565b831115611144576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4d41585f494e5f524154494f000000000000000000000000000000000000000060448201526064016106f9565b8154815461119a9185916effffffffffffffffffffffffffffff8083169270ffffffffffffffffffffffffffffffffff6f01000000000000000000000000000000918290048116939283169291909104166122a1565b82549098506effffffffffffffffffffffffffffff1683016111bb8861232b565b1015611223576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4e4f545f5245434549564544000000000000000000000000000000000000000060448201526064016106f9565b81546effffffffffffffffffffffffffffff808216850181167fffffffffffffffffffffffffffffffffff00000000000000000000000000000092831617845582548082168b9003909116911617815561127f86898787612444565b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fcd3829a3813dc3cdd188fd3d01dcf3268c16be2fdd2dd21d0665418816e46062868c6040516112fe929190918252602082015260400190565b60405180910390a45050600160095550939695505050505050565b6060600780548060200260200160405190810160405280929190818152602001828054801561137e57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611353575b5050505050905090565b60006009546001146113f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f4c4f434b4544000000000000000000000000000000000000000000000000000060448201526064016106f9565b600260095560008061140a84860186612e08565b91509150611417826120f6565b60006114258260025461273c565b905060005b60075481101561169a5760006007828154811061144957611449613314565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16808352600a90915260408220549092506effffffffffffffffffffffffffffff16908161149a57846114c6565b6114c6856effffffffffffffffffffffffffffff16836effffffffffffffffffffffffffffff16612256565b90506114df64e8d4a51000670de0b6b3a76400006131d5565b816effffffffffffffffffffffffffffff161015611559576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f4d494e5f42414c414e434500000000000000000000000000000000000000000060448201526064016106f9565b8181016effffffffffffffffffffffffffffff166115768461232b565b10156115de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4e4f545f5245434549564544000000000000000000000000000000000000000060448201526064016106f9565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152600a602090815260409182902080547fffffffffffffffffffffffffffffffffff00000000000000000000000000000081166effffffffffffffffffffffffffffff918216880182161790915582519384528516908301529189169133917ff9403b28cc8805935e0ce6943ed646d5fde3d1e14f6b398e85bfa2851d1b85f7910160405180910390a3505050808061169290613269565b91505061142a565b506116a5838361280c565b506001600955949350505050565b60075460609081908067ffffffffffffffff8111156116d4576116d4613343565b6040519080825280602002602001820160405280156116fd578160200160208202803683370190505b5092508067ffffffffffffffff81111561171957611719613343565b604051908082528060200260200182016040528015611742578160200160208202803683370190505b50915060005b8181101561187d57600a60006007838154811061176757611767613314565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205484516effffffffffffffffffffffffffffff909116908590839081106117c1576117c1613314565b602002602001018181525050600a6000600783815481106117e4576117e4613314565b60009182526020808320919091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205483516f0100000000000000000000000000000090910470ffffffffffffffffffffffffffffffffff169084908390811061185357611853613314565b70ffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101611748565b50509091565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc14ad80200000000000000000000000000000000000000000000000000000000179052905160009173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016916119209190613041565b600060405180830381855afa9150503d806000811461195b576040519150601f19603f3d011682016040523d82523d6000602084013e611960565b606091505b50915050808060200190518101906119789190612fa3565b60085550565b6000808080808061199187890189612fbc565b945094509450945094506119a885858585856122a1565b98975050505050505050565b60015460009074010000000000000000000000000000000000000000900460ff16156119e3576119e3836120f6565b3360009081526003602052604081208054849290611a02908490613226565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600081815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ab89086815260200190565b6000600954600114611ad4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f4c4f434b4544000000000000000000000000000000000000000000000000000060448201526064016106f9565b60026009556000808080611aea86880188612d76565b9350935093509350611afb836120f6565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600a602052604090208054600254600654611b91926effffffffffffffffffffffffffffff8116926f0100000000000000000000000000000090910470ffffffffffffffffffffffffffffffffff9081169216867f000000000000000000000000000000000000000000000000000000000000000061287d565b8154909650611bc9906effffffffffffffffffffffffffffff16611bbe6003670de0b6b3a76400006131d5565b61079c9060016131bd565b861115611c32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4d41585f4f55545f524154494f0000000000000000000000000000000000000060448201526064016106f9565b80546effffffffffffffffffffffffffffff808216889003167fffffffffffffffffffffffffffffffffff000000000000000000000000000000909116178155611c7c3083612776565b611c8885878686612444565b6040805173ffffffffffffffffffffffffffffffffffffffff87811682526020820189905286169133917f3dd1df88dc92e2788892542d81f999d720a44b4c127065d45c128f4f59fdc373910160405180910390a3505060016009555091949350505050565b42841015611d58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064016106f9565b73ffffffffffffffffffffffffffffffffffffffff8716600090815260056020526040812080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918b918b918b9187611dd383613269565b9091555060408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810187905260e00160405160208183030381529060405280519060200120604051602001611e749291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611efd573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611f7857508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611fde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f494e56414c49445f5045524d49545f5349474e4154555245000000000000000060448201526064016106f9565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526004602090815260408083208c8516808552908352928190208b9055518a815291928c16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050505050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8086167fffffffffffffffffffffffff000000000000000000000000000000000000000092831617909255600180549285169290911691909117905580156120f157600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790555b505050565b600080546001546040805173ffffffffffffffffffffffffffffffffffffffff928316602482015285831660448083019190915282518083039091018152606490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1472c271000000000000000000000000000000000000000000000000000000001790529051919092169161219391613041565b600060405180830381855afa9150503d80600081146121ce576040519150601f19603f3d011682016040523d82523d6000602084013e6121d3565b606091505b509150506000818060200190518101906121ed9190612f14565b9050806120f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4e4f545f57484954454c4953544544000000000000000000000000000000000060448201526064016106f9565b60008061226383856131e9565b9050600061227a6002670de0b6b3a76400006131d5565b61228490836131bd565b9050612298670de0b6b3a7640000826131d5565b95945050505050565b6000806122ae858461273c565b905060006122e6887f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000003612256565b905060006122f688838a0161273c565b90506000612304828561292c565b9050670de0b6b3a764000081900361231c8882612256565b9b9a5050505050505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff83811660248301523060448084019190915283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff7888aec00000000000000000000000000000000000000000000000000000000179052915160009283927f0000000000000000000000000000000000000000000000000000000000000000909116916123e59190613041565b600060405180830381855afa9150503d8060008114612420576040519150601f19603f3d011682016040523d82523d6000602084013e612425565b606091505b509150508080602001905181019061243d9190612fa3565b9392505050565b80156125c6576040805173ffffffffffffffffffffffffffffffffffffffff8681166024830152306044830152848116606483015260006084830181905260a48084018890528451808503909101815260c490930184526020830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f97da6d300000000000000000000000000000000000000000000000000000000017905292517f00000000000000000000000000000000000000000000000000000000000000009091169161251391613041565b6000604051808303816000865af19150503d8060008114612550576040519150601f19603f3d011682016040523d82523d6000602084013e612555565b606091505b50509050806125c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f57495448445241575f4641494c4544000000000000000000000000000000000060448201526064016106f9565b50612736565b6040805173ffffffffffffffffffffffffffffffffffffffff8681166024830152306044830152848116606483015260848083018790528351808403909101815260a490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff18d03cc0000000000000000000000000000000000000000000000000000000017905291516000927f0000000000000000000000000000000000000000000000000000000000000000169161268791613041565b6000604051808303816000865af19150503d80600081146126c4576040519150601f19603f3d011682016040523d82523d6000602084013e6126c9565b606091505b5050905080612734576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c4544000000000000000000000000000000000060448201526064016106f9565b505b50505050565b600080612751670de0b6b3a7640000856131e9565b905060006127606002856131d5565b61276a90836131bd565b905061229884826131d5565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040812080548392906127ab908490613226565b909155505060028054829003905560405181815260009073ffffffffffffffffffffffffffffffffffffffff8416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b806002600082825461281e91906131bd565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152600360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101612800565b60008061288a878661273c565b905060006128988588613226565b905060006128a6828961273c565b905060006128c5826128c0670de0b6b3a76400008761273c565b612a4f565b905060006128d3828d612256565b905060006128e1828e613226565b90506000886128f888670de0b6b3a7640000613226565b61290291906131e9565b905061291a8261079c83670de0b6b3a7640000613226565b9e9d5050505050505050505050505050565b60008260011115801561295d5750600161294f670de0b6b3a764000060026131e9565b6129599190613226565b8311155b6129c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f494e56414c49445f42415345000000000000000000000000000000000000000060448201526064016106f9565b6000670de0b6b3a76400006129d881856131d5565b6129e291906131e9565b905060006129f08285613226565b90506000612a0a866128c0670de0b6b3a7640000866131d5565b905081612a15578093505b6000612a388784612a336402540be400670de0b6b3a76400006131d5565b612abe565b9050612a448282612256565b979650505050505050565b6000612a5c6002836132a2565b612a6e57670de0b6b3a7640000612a70565b825b9050612a7d6002836131d5565b91505b8115612aa457612a9083806131e9565b9250612a9d6002836131d5565b9150612a80565b612aaf6002836132a2565b15610ac45761243d83826131e9565b6000828180612ad587670de0b6b3a7640000612bae565b670de0b6b3a76400009550909250905083600060015b878310612ba1576000612b06670de0b6b3a7640000836131e9565b9050600080612b2689612b21670de0b6b3a764000086613226565b612bae565b91509150612b388661079c848b612256565b9550612b44868461273c565b955085612b5357505050612ba1565b8615612b5d579315935b8015612b67579315935b8415612b7e57612b77868b613226565b9950612b8b565b612b88868b6131bd565b99505b5050508080612b9990613269565b915050612aeb565b5050505050509392505050565b600080828410612bc45750508082036000612bcc565b505081810360015b9250929050565b600060208284031215612be557600080fd5b813561243d81613372565b600080600080600060a08688031215612c0857600080fd5b8535612c1381613372565b94506020860135612c2381613372565b93506040860135612c3381613372565b92506060860135612c4381613397565b949793965091946080013592915050565b60008060008060008060c08789031215612c6d57600080fd5b8635612c7881613372565b95506020870135612c8881613372565b94506040870135612c9881613372565b93506060870135612ca881613397565b92506080870135915060a087013567ffffffffffffffff80821115612ccc57600080fd5b818901915089601f830112612ce057600080fd5b813581811115612cf257612cf2613343565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715612d3857612d38613343565b816040528281528c6020848701011115612d5157600080fd5b8260208601602083013760006020848301015280955050505050509295509295509295565b60008060008060808587031215612d8c57600080fd5b8435612d9781613372565b93506020850135612da781613372565b92506040850135612db781613397565b9396929550929360600135925050565b600080600060608486031215612ddc57600080fd5b8335612de781613372565b92506020840135612df781613397565b929592945050506040919091013590565b60008060408385031215612e1b57600080fd5b8235612e2681613372565b946020939093013593505050565b60008060408385031215612e4757600080fd5b8235612e5281613372565b91506020830135612e6281613372565b809150509250929050565b600080600060608486031215612e8257600080fd5b8335612e8d81613372565b92506020840135612df781613372565b600080600080600080600060e0888a031215612eb857600080fd5b8735612ec381613372565b96506020880135612ed381613372565b95506040880135945060608801359350608088013560ff81168114612ef757600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600060208284031215612f2657600080fd5b815161243d81613397565b60008060208385031215612f4457600080fd5b823567ffffffffffffffff80821115612f5c57600080fd5b818501915085601f830112612f7057600080fd5b813581811115612f7f57600080fd5b866020828501011115612f9157600080fd5b60209290920196919550909350505050565b600060208284031215612fb557600080fd5b5051919050565b600080600080600060a08688031215612fd457600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000815180845261300f81602086016020860161323d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000825161305381846020870161323d565b9190910192915050565b6020808252825182820181905260009190848201906040850190845b818110156130ab57835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101613079565b50909695505050505050565b602080825282518282018190526000919060409081850190868401855b8281101561310f578151805173ffffffffffffffffffffffffffffffffffffffff1685528601518685015292840192908501906001016130d4565b5091979650505050505050565b604080825283519082018190526000906020906060840190828701845b8281101561315557815184529284019290840190600101613139565b5050508381038285015284518082528583019183019060005b8181101561319d57835170ffffffffffffffffffffffffffffffffff168352928401929184019160010161316e565b5090979650505050505050565b60208152600061243d6020830184612ff7565b600082198211156131d0576131d06132b6565b500190565b6000826131e4576131e46132e5565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613221576132216132b6565b500290565b600082821015613238576132386132b6565b500390565b60005b83811015613258578181015183820152602001613240565b838111156127365750506000910152565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561329b5761329b6132b6565b5060010190565b6000826132b1576132b16132e5565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461339457600080fd5b50565b801515811461339457600080fdfea264697066735822122077569485f492546ca5f754638fb90b39eac66a93bf0e16d8f9d4003a7ae8851e64736f6c63430008070033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061020b5760003560e01c8063627dd56a1161012a578063a69840a8116100bd578063bc3377d91161008c578063cf58879a11610071578063cf58879a1461062a578063d505accf14610651578063dd62ed3e1461066457600080fd5b8063bc3377d9146105fc578063c14ad8021461062157600080fd5b8063a69840a81461059c578063a8f1f52e146105c3578063a9059cbb146105d6578063af8c09bf146105e957600080fd5b80637ecebe00116100f95780637ecebe00146105205780638ae454411461054057806392bc32191461055657806395d89b411461056057600080fd5b8063627dd56a146104c557806367e4ac2c146104d857806370a08231146104ed5780637ba0e2e71461050d57600080fd5b806330adf81f116101a2578063499a3c5011610171578063499a3c50146104445780634da318271461045757806354cf2aeb1461047e578063570ca735146104a557600080fd5b806330adf81f1461034a578063313ce567146103715780633644e5151461038b578063469e9067146103b257600080fd5b806318160ddd116101de57806318160ddd146102ee57806323b872dd146102f757806325a932641461030a5780632a07b6c71461032a57600080fd5b8063053da1c81461021057806306fdde0314610236578063095ea7b31461027f5780630c0a0cd2146102a2575b600080fd5b61022361021e366004612f31565b61068f565b6040519081526020015b60405180910390f35b6102726040518060400160405280601981526020017f5375736869204672616e636869736564204c5020546f6b656e0000000000000081525081565b60405161022d91906131aa565b61029261028d366004612e08565b610a50565b604051901515815260200161022d565b6102c97f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161022d565b61022360025481565b610292610305366004612e6d565b610aca565b6000546102c99073ffffffffffffffffffffffffffffffffffffffff1681565b61033d610338366004612f31565b610c45565b60405161022d91906130b7565b6102237f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b610379601281565b60405160ff909116815260200161022d565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b61040b6103c0366004612bd3565b600a602052600090815260409020546effffffffffffffffffffffffffffff8116906f01000000000000000000000000000000900470ffffffffffffffffffffffffffffffffff1682565b604080516effffffffffffffffffffffffffffff909316835270ffffffffffffffffffffffffffffffffff90911660208301520161022d565b610223610452366004612f31565b610fcf565b6102c97f000000000000000000000000000000000000000000000000000000000000000081565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b6001546102c99073ffffffffffffffffffffffffffffffffffffffff1681565b6102236104d3366004612f31565b610fd6565b6104e0611319565b60405161022d919061305d565b6102236104fb366004612bd3565b60036020526000908152604090205481565b61022361051b366004612f31565b611388565b61022361052e366004612bd3565b60056020526000908152604090205481565b6105486116b3565b60405161022d92919061311c565b61055e611883565b005b6102726040518060400160405280600381526020017f534c50000000000000000000000000000000000000000000000000000000000081525081565b6102237f54726964656e743a4672616e636869736564496e64657800000000000000000081565b6102236105d1366004612f31565b61197e565b6102926105e4366004612e08565b6119b4565b6102236105f7366004612f31565b611a66565b6001546102929074010000000000000000000000000000000000000000900460ff1681565b61022360085481565b6102c97f000000000000000000000000000000000000000000000000000000000000000081565b61055e61065f366004612e9d565b611cee565b610223610672366004612e34565b600460209081526000928352604080842090915290825290205481565b6000600954600114610702576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f4c4f434b4544000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b60026009556000808080808061071a888a018a612c54565b955095509550955095509550600160149054906101000a900460ff161561074457610744846120f6565b73ffffffffffffffffffffffffffffffffffffffff8087166000908152600a60205260408082209288168252902081546107a1906effffffffffffffffffffffffffffff1661079c6002670de0b6b3a76400006131d5565b612256565b84111561080a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4d41585f494e5f524154494f000000000000000000000000000000000000000060448201526064016106f9565b815481546108609186916effffffffffffffffffffffffffffff8083169270ffffffffffffffffffffffffffffffffff6f01000000000000000000000000000000918290048116939283169291909104166122a1565b6040517fbd50c7b1000000000000000000000000000000000000000000000000000000008152909950339063bd50c7b19061089f9086906004016131aa565b600060405180830381600087803b1580156108b957600080fd5b505af11580156108cd573d6000803e3d6000fd5b505083546effffffffffffffffffffffffffffff16860191506108f190508961232b565b1015610959576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4e4f545f5245434549564544000000000000000000000000000000000000000060448201526064016106f9565b81546effffffffffffffffffffffffffffff808216860181167fffffffffffffffffffffffffffffffffff00000000000000000000000000000092831617845582548082168c900390911691161781556109b5878a8888612444565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fcd3829a3813dc3cdd188fd3d01dcf3268c16be2fdd2dd21d0665418816e46062878d604051610a34929190918252602082015260400190565b60405180910390a4505060016009555094979650505050505050565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610ab89086815260200190565b60405180910390a35060015b92915050565b60015460009074010000000000000000000000000000000000000000900460ff1615610af957610af9836120f6565b73ffffffffffffffffffffffffffffffffffffffff841660009081526004602090815260408083203384529091529020547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610b965773ffffffffffffffffffffffffffffffffffffffff8416600090815260046020908152604080832033845290915281208054849290610b90908490613226565b90915550505b73ffffffffffffffffffffffffffffffffffffffff841660009081526003602052604081208054849290610bcb908490613226565b909155505073ffffffffffffffffffffffffffffffffffffffff808416600081815260036020526040908190208054860190555190918616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c339086815260200190565b60405180910390a35060019392505050565b6060600954600114610cb3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f4c4f434b4544000000000000000000000000000000000000000000000000000060448201526064016106f9565b600260095560008080610cc885870187612dc7565b925092509250610cd7836120f6565b6000610ce58260025461273c565b60075490915067ffffffffffffffff811115610d0357610d03613343565b604051908082528060200260200182016040528015610d4857816020015b6040805180820190915260008082526020820152815260200190600190039081610d215790505b509450610d553083612776565b60005b600754811015610fbe57600060078281548110610d7757610d77613314565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16808352600a90915260408220549092506effffffffffffffffffffffffffffff1690610dc78583612256565b90506effffffffffffffffffffffffffffff8116610e41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f5a45524f5f4f555400000000000000000000000000000000000000000000000060448201526064016106f9565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600a6020526040902080547fffffffffffffffffffffffffffffffffff00000000000000000000000000000081166effffffffffffffffffffffffffffff918216849003821617909155610eb690849083168a8a612444565b60405180604001604052808473ffffffffffffffffffffffffffffffffffffffff168152602001826effffffffffffffffffffffffffffff16815250898581518110610f0457610f04613314565b60200260200101819052508773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f3dd1df88dc92e2788892542d81f999d720a44b4c127065d45c128f4f59fdc3738584604051610fa092919073ffffffffffffffffffffffffffffffffffffffff9290921682526effffffffffffffffffffffffffffff16602082015260400190565b60405180910390a35050508080610fb690613269565b915050610d58565b505060016009555091949350505050565b6000806000fd5b6000600954600114611044576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f4c4f434b4544000000000000000000000000000000000000000000000000000060448201526064016106f9565b600260095560008080808061105b87890189612bf0565b94509450945094509450600160149054906101000a900460ff161561108357611083836120f6565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152600a60205260408082209287168252902081546110db906effffffffffffffffffffffffffffff1661079c6002670de0b6b3a76400006131d5565b831115611144576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4d41585f494e5f524154494f000000000000000000000000000000000000000060448201526064016106f9565b8154815461119a9185916effffffffffffffffffffffffffffff8083169270ffffffffffffffffffffffffffffffffff6f01000000000000000000000000000000918290048116939283169291909104166122a1565b82549098506effffffffffffffffffffffffffffff1683016111bb8861232b565b1015611223576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4e4f545f5245434549564544000000000000000000000000000000000000000060448201526064016106f9565b81546effffffffffffffffffffffffffffff808216850181167fffffffffffffffffffffffffffffffffff00000000000000000000000000000092831617845582548082168b9003909116911617815561127f86898787612444565b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fcd3829a3813dc3cdd188fd3d01dcf3268c16be2fdd2dd21d0665418816e46062868c6040516112fe929190918252602082015260400190565b60405180910390a45050600160095550939695505050505050565b6060600780548060200260200160405190810160405280929190818152602001828054801561137e57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611353575b5050505050905090565b60006009546001146113f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f4c4f434b4544000000000000000000000000000000000000000000000000000060448201526064016106f9565b600260095560008061140a84860186612e08565b91509150611417826120f6565b60006114258260025461273c565b905060005b60075481101561169a5760006007828154811061144957611449613314565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16808352600a90915260408220549092506effffffffffffffffffffffffffffff16908161149a57846114c6565b6114c6856effffffffffffffffffffffffffffff16836effffffffffffffffffffffffffffff16612256565b90506114df64e8d4a51000670de0b6b3a76400006131d5565b816effffffffffffffffffffffffffffff161015611559576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f4d494e5f42414c414e434500000000000000000000000000000000000000000060448201526064016106f9565b8181016effffffffffffffffffffffffffffff166115768461232b565b10156115de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4e4f545f5245434549564544000000000000000000000000000000000000000060448201526064016106f9565b73ffffffffffffffffffffffffffffffffffffffff8381166000818152600a602090815260409182902080547fffffffffffffffffffffffffffffffffff00000000000000000000000000000081166effffffffffffffffffffffffffffff918216880182161790915582519384528516908301529189169133917ff9403b28cc8805935e0ce6943ed646d5fde3d1e14f6b398e85bfa2851d1b85f7910160405180910390a3505050808061169290613269565b91505061142a565b506116a5838361280c565b506001600955949350505050565b60075460609081908067ffffffffffffffff8111156116d4576116d4613343565b6040519080825280602002602001820160405280156116fd578160200160208202803683370190505b5092508067ffffffffffffffff81111561171957611719613343565b604051908082528060200260200182016040528015611742578160200160208202803683370190505b50915060005b8181101561187d57600a60006007838154811061176757611767613314565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205484516effffffffffffffffffffffffffffff909116908590839081106117c1576117c1613314565b602002602001018181525050600a6000600783815481106117e4576117e4613314565b60009182526020808320919091015473ffffffffffffffffffffffffffffffffffffffff16835282019290925260400190205483516f0100000000000000000000000000000090910470ffffffffffffffffffffffffffffffffff169084908390811061185357611853613314565b70ffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101611748565b50509091565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc14ad80200000000000000000000000000000000000000000000000000000000179052905160009173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016916119209190613041565b600060405180830381855afa9150503d806000811461195b576040519150601f19603f3d011682016040523d82523d6000602084013e611960565b606091505b50915050808060200190518101906119789190612fa3565b60085550565b6000808080808061199187890189612fbc565b945094509450945094506119a885858585856122a1565b98975050505050505050565b60015460009074010000000000000000000000000000000000000000900460ff16156119e3576119e3836120f6565b3360009081526003602052604081208054849290611a02908490613226565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600081815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ab89086815260200190565b6000600954600114611ad4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f4c4f434b4544000000000000000000000000000000000000000000000000000060448201526064016106f9565b60026009556000808080611aea86880188612d76565b9350935093509350611afb836120f6565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600a602052604090208054600254600654611b91926effffffffffffffffffffffffffffff8116926f0100000000000000000000000000000090910470ffffffffffffffffffffffffffffffffff9081169216867f000000000000000000000000000000000000000000000000000000000000000061287d565b8154909650611bc9906effffffffffffffffffffffffffffff16611bbe6003670de0b6b3a76400006131d5565b61079c9060016131bd565b861115611c32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4d41585f4f55545f524154494f0000000000000000000000000000000000000060448201526064016106f9565b80546effffffffffffffffffffffffffffff808216889003167fffffffffffffffffffffffffffffffffff000000000000000000000000000000909116178155611c7c3083612776565b611c8885878686612444565b6040805173ffffffffffffffffffffffffffffffffffffffff87811682526020820189905286169133917f3dd1df88dc92e2788892542d81f999d720a44b4c127065d45c128f4f59fdc373910160405180910390a3505060016009555091949350505050565b42841015611d58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064016106f9565b73ffffffffffffffffffffffffffffffffffffffff8716600090815260056020526040812080547f0000000000000000000000000000000000000000000000000000000000000000917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918b918b918b9187611dd383613269565b9091555060408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810187905260e00160405160208183030381529060405280519060200120604051602001611e749291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015611efd573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611f7857508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611fde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f494e56414c49445f5045524d49545f5349474e4154555245000000000000000060448201526064016106f9565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526004602090815260408083208c8516808552908352928190208b9055518a815291928c16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050505050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8086167fffffffffffffffffffffffff000000000000000000000000000000000000000092831617909255600180549285169290911691909117905580156120f157600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790555b505050565b600080546001546040805173ffffffffffffffffffffffffffffffffffffffff928316602482015285831660448083019190915282518083039091018152606490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1472c271000000000000000000000000000000000000000000000000000000001790529051919092169161219391613041565b600060405180830381855afa9150503d80600081146121ce576040519150601f19603f3d011682016040523d82523d6000602084013e6121d3565b606091505b509150506000818060200190518101906121ed9190612f14565b9050806120f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4e4f545f57484954454c4953544544000000000000000000000000000000000060448201526064016106f9565b60008061226383856131e9565b9050600061227a6002670de0b6b3a76400006131d5565b61228490836131bd565b9050612298670de0b6b3a7640000826131d5565b95945050505050565b6000806122ae858461273c565b905060006122e6887f0000000000000000000000000000000000000000000000000000000000000000670de0b6b3a764000003612256565b905060006122f688838a0161273c565b90506000612304828561292c565b9050670de0b6b3a764000081900361231c8882612256565b9b9a5050505050505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff83811660248301523060448084019190915283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff7888aec00000000000000000000000000000000000000000000000000000000179052915160009283927f0000000000000000000000000000000000000000000000000000000000000000909116916123e59190613041565b600060405180830381855afa9150503d8060008114612420576040519150601f19603f3d011682016040523d82523d6000602084013e612425565b606091505b509150508080602001905181019061243d9190612fa3565b9392505050565b80156125c6576040805173ffffffffffffffffffffffffffffffffffffffff8681166024830152306044830152848116606483015260006084830181905260a48084018890528451808503909101815260c490930184526020830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f97da6d300000000000000000000000000000000000000000000000000000000017905292517f00000000000000000000000000000000000000000000000000000000000000009091169161251391613041565b6000604051808303816000865af19150503d8060008114612550576040519150601f19603f3d011682016040523d82523d6000602084013e612555565b606091505b50509050806125c0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f57495448445241575f4641494c4544000000000000000000000000000000000060448201526064016106f9565b50612736565b6040805173ffffffffffffffffffffffffffffffffffffffff8681166024830152306044830152848116606483015260848083018790528351808403909101815260a490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff18d03cc0000000000000000000000000000000000000000000000000000000017905291516000927f0000000000000000000000000000000000000000000000000000000000000000169161268791613041565b6000604051808303816000865af19150503d80600081146126c4576040519150601f19603f3d011682016040523d82523d6000602084013e6126c9565b606091505b5050905080612734576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c4544000000000000000000000000000000000060448201526064016106f9565b505b50505050565b600080612751670de0b6b3a7640000856131e9565b905060006127606002856131d5565b61276a90836131bd565b905061229884826131d5565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040812080548392906127ab908490613226565b909155505060028054829003905560405181815260009073ffffffffffffffffffffffffffffffffffffffff8416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b806002600082825461281e91906131bd565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152600360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101612800565b60008061288a878661273c565b905060006128988588613226565b905060006128a6828961273c565b905060006128c5826128c0670de0b6b3a76400008761273c565b612a4f565b905060006128d3828d612256565b905060006128e1828e613226565b90506000886128f888670de0b6b3a7640000613226565b61290291906131e9565b905061291a8261079c83670de0b6b3a7640000613226565b9e9d5050505050505050505050505050565b60008260011115801561295d5750600161294f670de0b6b3a764000060026131e9565b6129599190613226565b8311155b6129c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f494e56414c49445f42415345000000000000000000000000000000000000000060448201526064016106f9565b6000670de0b6b3a76400006129d881856131d5565b6129e291906131e9565b905060006129f08285613226565b90506000612a0a866128c0670de0b6b3a7640000866131d5565b905081612a15578093505b6000612a388784612a336402540be400670de0b6b3a76400006131d5565b612abe565b9050612a448282612256565b979650505050505050565b6000612a5c6002836132a2565b612a6e57670de0b6b3a7640000612a70565b825b9050612a7d6002836131d5565b91505b8115612aa457612a9083806131e9565b9250612a9d6002836131d5565b9150612a80565b612aaf6002836132a2565b15610ac45761243d83826131e9565b6000828180612ad587670de0b6b3a7640000612bae565b670de0b6b3a76400009550909250905083600060015b878310612ba1576000612b06670de0b6b3a7640000836131e9565b9050600080612b2689612b21670de0b6b3a764000086613226565b612bae565b91509150612b388661079c848b612256565b9550612b44868461273c565b955085612b5357505050612ba1565b8615612b5d579315935b8015612b67579315935b8415612b7e57612b77868b613226565b9950612b8b565b612b88868b6131bd565b99505b5050508080612b9990613269565b915050612aeb565b5050505050509392505050565b600080828410612bc45750508082036000612bcc565b505081810360015b9250929050565b600060208284031215612be557600080fd5b813561243d81613372565b600080600080600060a08688031215612c0857600080fd5b8535612c1381613372565b94506020860135612c2381613372565b93506040860135612c3381613372565b92506060860135612c4381613397565b949793965091946080013592915050565b60008060008060008060c08789031215612c6d57600080fd5b8635612c7881613372565b95506020870135612c8881613372565b94506040870135612c9881613372565b93506060870135612ca881613397565b92506080870135915060a087013567ffffffffffffffff80821115612ccc57600080fd5b818901915089601f830112612ce057600080fd5b813581811115612cf257612cf2613343565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715612d3857612d38613343565b816040528281528c6020848701011115612d5157600080fd5b8260208601602083013760006020848301015280955050505050509295509295509295565b60008060008060808587031215612d8c57600080fd5b8435612d9781613372565b93506020850135612da781613372565b92506040850135612db781613397565b9396929550929360600135925050565b600080600060608486031215612ddc57600080fd5b8335612de781613372565b92506020840135612df781613397565b929592945050506040919091013590565b60008060408385031215612e1b57600080fd5b8235612e2681613372565b946020939093013593505050565b60008060408385031215612e4757600080fd5b8235612e5281613372565b91506020830135612e6281613372565b809150509250929050565b600080600060608486031215612e8257600080fd5b8335612e8d81613372565b92506020840135612df781613372565b600080600080600080600060e0888a031215612eb857600080fd5b8735612ec381613372565b96506020880135612ed381613372565b95506040880135945060608801359350608088013560ff81168114612ef757600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600060208284031215612f2657600080fd5b815161243d81613397565b60008060208385031215612f4457600080fd5b823567ffffffffffffffff80821115612f5c57600080fd5b818501915085601f830112612f7057600080fd5b813581811115612f7f57600080fd5b866020828501011115612f9157600080fd5b60209290920196919550909350505050565b600060208284031215612fb557600080fd5b5051919050565b600080600080600060a08688031215612fd457600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000815180845261300f81602086016020860161323d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000825161305381846020870161323d565b9190910192915050565b6020808252825182820181905260009190848201906040850190845b818110156130ab57835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101613079565b50909695505050505050565b602080825282518282018190526000919060409081850190868401855b8281101561310f578151805173ffffffffffffffffffffffffffffffffffffffff1685528601518685015292840192908501906001016130d4565b5091979650505050505050565b604080825283519082018190526000906020906060840190828701845b8281101561315557815184529284019290840190600101613139565b5050508381038285015284518082528583019183019060005b8181101561319d57835170ffffffffffffffffffffffffffffffffff168352928401929184019160010161316e565b5090979650505050505050565b60208152600061243d6020830184612ff7565b600082198211156131d0576131d06132b6565b500190565b6000826131e4576131e46132e5565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613221576132216132b6565b500290565b600082821015613238576132386132b6565b500390565b60005b83811015613258578181015183820152602001613240565b838111156127365750506000910152565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561329b5761329b6132b6565b5060010190565b6000826132b1576132b16132e5565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461339457600080fd5b50565b801515811461339457600080fdfea264697066735822122077569485f492546ca5f754638fb90b39eac66a93bf0e16d8f9d4003a7ae8851e64736f6c63430008070033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
