Loading
60806040526000600d60006101000a81548160ff0219169083151502179055506000601560006101000a81548160ff02191690831515021790555060006016553480156200004c57600080fd5b506040518060400160405280601881526020017f4d6172696e6520426c756573205265626f6f7420436c756200000000000000008152506040518060400160405280601881526020017f4d6172696e6520426c756573205265626f6f7420436c756200000000000000008152508160009080519060200190620000d192919062000419565b508060019080519060200190620000ea92919062000419565b5050506000600760006101000a81548160ff021916908315150217905550620001286200011c6200015660201b60201c565b6200015e60201b60201c565b62000139336200022460201b60201c565b6200015060096200028560201b6200295e1760201c565b62000649565b600033905090565b6000600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200023f8160086200029b60201b620029741790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b6001816000016000828254019250508190555050565b620002ad82826200034e60201b60201c565b15620002f0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002e79062000517565b60405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620003c2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003b99062000539565b60405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b82805462000427906200056c565b90600052602060002090601f0160209004810192826200044b576000855562000497565b82601f106200046657805160ff191683800117855562000497565b8280016001018555821562000497579182015b828111156200049657825182559160200191906001019062000479565b5b509050620004a69190620004aa565b5090565b5b80821115620004c5576000816000905550600101620004ab565b5090565b6000620004d8601f836200055b565b9150620004e582620005d1565b602082019050919050565b6000620004ff6022836200055b565b91506200050c82620005fa565b604082019050919050565b600060208201905081810360008301526200053281620004c9565b9050919050565b600060208201905081810360008301526200055481620004f0565b9050919050565b600082825260208201905092915050565b600060028204905060018216806200058557607f821691505b602082108114156200059c576200059b620005a2565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500600082015250565b7f526f6c65733a206163636f756e7420697320746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b615f5980620006596000396000f3fe60806040526004361061027d5760003560e01c806371cd67d41161014f578063a22cb465116100c1578063c87b56dd1161007a578063c87b56dd1461098a578063d360447a146109c7578063db4bec44146109f0578063e985e9c514610a2d578063f2fde38b14610a6a578063fe0eed8414610a935761027d565b8063a22cb46514610858578063a49a701b14610881578063aa271e1a146108aa578063b44bd51d146108e7578063b5b1cd7c14610924578063b88d4fde146109615761027d565b80638da5cb5b116101135780638da5cb5b14610770578063940cd05b1461079b57806395d89b41146107c4578063983b2d56146107ef57806398650275146108185780639e9cdd001461082f5761027d565b806371cd67d4146106b357806375a1ed08146106dc5780637cb647591461070557806383c4c00d1461072e5780638456cb59146107595761027d565b80633f4ba83a116101f35780635d5c0709116101ac5780635d5c07091461059e5780636352211e146105ba5780636c5536b2146105f75780636caede3d1461063457806370a082311461065f578063715018a61461069c5761027d565b80633f4ba83a1461048e57806340f90211146104a5578063423e5a5a146104e257806342842e0e1461051f57806351830227146105485780635c975abb146105735761027d565b80630da1ebe5116102455780630da1ebe51461036c57806323b872dd146103a9578063297042c5146103d25780632c2a59281461040f5780632eb4a7ab1461044c5780633ccfd60b146104775761027d565b806301ffc9a7146102825780630414ab2b146102bf57806306fdde03146102db578063081812fc14610306578063095ea7b314610343575b600080fd5b34801561028e57600080fd5b506102a960048036038101906102a49190614579565b610ad0565b6040516102b69190614eda565b60405180910390f35b6102d960048036038101906102d49190614792565b610bb2565b005b3480156102e757600080fd5b506102f0610fdb565b6040516102fd9190614f10565b60405180910390f35b34801561031257600080fd5b5061032d600480360381019061032891906146f1565b61106d565b60405161033a9190614e57565b60405180910390f35b34801561034f57600080fd5b5061036a600480360381019061036591906143fa565b6110b3565b005b34801561037857600080fd5b50610393600480360381019061038e919061443a565b6111cb565b6040516103a09190614eda565b60405180910390f35b3480156103b557600080fd5b506103d060048036038101906103cb91906142e4565b61120d565b005b3480156103de57600080fd5b506103f960048036038101906103f49190614792565b61126d565b6040516104069190614ebe565b60405180910390f35b34801561041b57600080fd5b50610436600480360381019061043191906146f1565b61167b565b6040516104439190614e57565b60405180910390f35b34801561045857600080fd5b506104616116ba565b60405161046e9190614ef5565b60405180910390f35b34801561048357600080fd5b5061048c6116c0565b005b34801561049a57600080fd5b506104a361175b565b005b3480156104b157600080fd5b506104cc60048036038101906104c791906146f1565b61176d565b6040516104d99190614ebe565b60405180910390f35b3480156104ee57600080fd5b50610509600480360381019061050491906146f1565b611794565b60405161051691906152d2565b60405180910390f35b34801561052b57600080fd5b50610546600480360381019061054191906142e4565b61196e565b005b34801561055457600080fd5b5061055d61198e565b60405161056a9190614eda565b60405180910390f35b34801561057f57600080fd5b506105886119a1565b6040516105959190614eda565b60405180910390f35b6105b860048036038101906105b3919061471e565b6119b8565b005b3480156105c657600080fd5b506105e160048036038101906105dc91906146f1565b612003565b6040516105ee9190614e57565b60405180910390f35b34801561060357600080fd5b5061061e600480360381019061061991906146f1565b6120b5565b60405161062b9190614e57565b60405180910390f35b34801561064057600080fd5b506106496120f4565b6040516106569190614eda565b60405180910390f35b34801561066b57600080fd5b5061068660048036038101906106819190614277565b612107565b60405161069391906152d2565b60405180910390f35b3480156106a857600080fd5b506106b16121bf565b005b3480156106bf57600080fd5b506106da60048036038101906106d59190614679565b6121d3565b005b3480156106e857600080fd5b5061070360048036038101906106fe91906143fa565b61220d565b005b34801561071157600080fd5b5061072c6004803603810190610727919061454c565b612294565b005b34801561073a57600080fd5b506107436122a6565b60405161075091906152d2565b60405180910390f35b34801561076557600080fd5b5061076e6122b7565b005b34801561077c57600080fd5b506107856122c9565b6040516107929190614e57565b60405180910390f35b3480156107a757600080fd5b506107c260048036038101906107bd91906144df565b6122f3565b005b3480156107d057600080fd5b506107d9612358565b6040516107e69190614f10565b60405180910390f35b3480156107fb57600080fd5b5061081660048036038101906108119190614277565b6123ea565b005b34801561082457600080fd5b5061082d61243e565b005b34801561083b57600080fd5b506108566004803603810190610851919061461c565b612449565b005b34801561086457600080fd5b5061087f600480360381019061087a91906143ba565b612483565b005b34801561088d57600080fd5b506108a860048036038101906108a3919061450c565b612499565b005b3480156108b657600080fd5b506108d160048036038101906108cc9190614277565b6125a2565b6040516108de9190614eda565b60405180910390f35b3480156108f357600080fd5b5061090e600480360381019061090991906145d3565b6125bf565b60405161091b9190614ebe565b60405180910390f35b34801561093057600080fd5b5061094b60048036038101906109469190614277565b612628565b60405161095891906152d2565b60405180910390f35b34801561096d57600080fd5b5061098860048036038101906109839190614337565b612640565b005b34801561099657600080fd5b506109b160048036038101906109ac91906146f1565b6126a2565b6040516109be9190614f10565b60405180910390f35b3480156109d357600080fd5b506109ee60048036038101906109e99190614496565b6127c3565b005b3480156109fc57600080fd5b50610a176004803603810190610a129190614277565b6127e5565b604051610a2491906152d2565b60405180910390f35b348015610a3957600080fd5b50610a546004803603810190610a4f91906142a4565b6127fd565b604051610a619190614eda565b60405180910390f35b348015610a7657600080fd5b50610a916004803603810190610a8c9190614277565b612891565b005b348015610a9f57600080fd5b50610aba6004803603810190610ab59190614277565b612915565b604051610ac791906152d2565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b9b57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610bab5750610baa82612a1c565b5b9050919050565b6000610bbd82611794565b90506000610bcb828461126d565b9050600181600a600f8110610be357610be2615780565b5b6020020151148015610c0d5750600181600d600f8110610c0657610c05615780565b5b6020020151145b8015610c315750600081600e600f8110610c2a57610c29615780565b5b6020020151145b610c70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6790614ff2565b60405180910390fd5b43816000600f8110610c8557610c84615780565b5b6020020151600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610cd49190615477565b10610d14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0b90614f72565b60405180910390fd5b600084118015610d4857506001816001600f8110610d3557610d34615780565b5b6020020151610d449190615477565b8411155b610d87576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7e90615092565b60405180910390fd5b6000610d916122a6565b90506001826006600f8110610da957610da8615780565b5b6020020151610db89190615477565b8582610dc49190615477565b1115610e05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfc90615252565b60405180910390fd5b60005b85811015610e44576000610e1a6122a6565b9050610e263382612a86565b610e30600961295e565b508080610e3c90615655565b915050610e08565b5084826007600f8110610e5a57610e59615780565b5b6020020151610e699190615477565b826007600f8110610e7d57610e7c615780565b5b602002018181525050600085836008600f8110610e9d57610e9c615780565b5b6020020151610eac91906154fe565b11610eb8576000610edd565b84826008600f8110610ecd57610ecc615780565b5b6020020151610edc91906154fe565b5b826008600f8110610ef157610ef0615780565b5b60200201818152505043600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000826008600f8110610f5457610f53615780565b5b60200201511115610f66576000610f69565b60015b60ff1682600e600f8110610f8057610f7f615780565b5b60200201818152505081600e600f8581548110610fa057610f9f615780565b5b90600052602060002001604051610fb79190614e40565b908152602001604051809103902090600f610fd3929190613cec565b505050505050565b606060008054610fea906155f2565b80601f0160208091040260200160405190810160405280929190818152602001828054611016906155f2565b80156110635780601f1061103857610100808354040283529160200191611063565b820191906000526020600020905b81548152906001019060200180831161104657829003601f168201915b5050505050905090565b600061107882612aa4565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006110be82612003565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561112f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112690615232565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661114e612aef565b73ffffffffffffffffffffffffffffffffffffffff16148061117d575061117c81611177612aef565b6127fd565b5b6111bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b390615192565b60405180910390fd5b6111c68383612af7565b505050565b600080826040516020016111df9190614ddf565b6040516020818303038152906040528051906020012090506112048460125483612bb0565b91505092915050565b61121e611218612aef565b82612bc7565b61125d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125490615292565b60405180910390fd5b611268838383612c5c565b505050565b611275613d2c565b6000600f848154811061128b5761128a615780565b5b9060005260206000200180546112a0906155f2565b80601f01602080910402602001604051908101604052809291908181526020018280546112cc906155f2565b80156113195780601f106112ee57610100808354040283529160200191611319565b820191906000526020600020905b8154815290600101906020018083116112fc57829003601f168201915b505050505090506000600e826040516113329190614dfa565b9081526020016040518091039020600f806020026040519081016040528092919082600f8015611377576020028201915b815481526020019060010190808311611363575b50505050509050600080861115611476576000600f60018861139991906154fe565b815481106113aa576113a9615780565b5b9060005260206000200180546113bf906155f2565b80601f01602080910402602001604051908101604052809291908181526020018280546113eb906155f2565b80156114385780601f1061140d57610100808354040283529160200191611438565b820191906000526020600020905b81548152906001019060200180831161141b57829003601f168201915b50505050509050600e8160405161144f9190614dfa565b90815260200160405180910390206008600f81106114705761146f615780565b5b01549150505b81600b600f811061148a57611489615780565b5b602002015185101580156114b6575081600c600f81106114ad576114ac615780565b5b60200201518511155b1561154357600182600d600f81106114d1576114d0615780565b5b602002018181525050816007600f81106114ee576114ed615780565b5b602002015181836005600f811061150857611507615780565b5b60200201516115179190615477565b61152191906154fe565b826008600f811061153557611534615780565b5b60200201818152505061160b565b81600b600f811061155757611556615780565b5b602002015185108015611581575081600c600f811061157957611578615780565b5b602002015185105b1561160a57600082600d600f811061159c5761159b615780565b5b602002018181525050816007600f81106115b9576115b8615780565b5b602002015181836005600f81106115d3576115d2615780565b5b60200201516115e29190615477565b6115ec91906154fe565b826008600f8110611600576115ff615780565b5b6020020181815250505b5b81600c600f811061161f5761161e615780565b5b602002015185111561164f57600182600e600f811061164157611640615780565b5b60200201818152505061166f565b600082600e600f811061166557611664615780565b5b6020020181815250505b81935050505092915050565b6014818154811061168b57600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b6116c8612ec3565b6000471161170b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611702906152b2565b60405180910390fd5b6117136122c9565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611758573d6000803e3d6000fd5b50565b611763612ec3565b61176b612f41565b565b611775613d2c565b600061178083611794565b905061178c818461126d565b915050919050565b60008060005b600f80549050811015611964576000600f82815481106117bd576117bc615780565b5b9060005260206000200180546117d2906155f2565b80601f01602080910402602001604051908101604052809291908181526020018280546117fe906155f2565b801561184b5780601f106118205761010080835404028352916020019161184b565b820191906000526020600020905b81548152906001019060200180831161182e57829003601f168201915b505050505090506000600e826040516118649190614dfa565b9081526020016040518091039020600f806020026040519081016040528092919082600f80156118a9576020028201915b815481526020019060010190808311611895575b5050505050905082935080600b600f81106118c7576118c6615780565b5b602002015186101580156118f3575080600c600f81106118ea576118e9615780565b5b60200201518611155b15611902578293505050611964565b80600b600f811061191657611915615780565b5b602002015186108015611940575080600c600f811061193857611937615780565b5b602002015186105b1561194f578293505050611964565b5050808061195c90615655565b91505061179a565b5080915050919050565b61198983838360405180602001604052806000815250612640565b505050565b600d60009054906101000a900460ff1681565b6000600760009054906101000a900460ff16905090565b60006119c382611794565b905060006119d1828461126d565b90506001816009600f81106119e9576119e8615780565b5b6020020151148015611a135750600181600d600f8110611a0c57611a0b615780565b5b6020020151145b8015611a375750600081600e600f8110611a3057611a2f615780565b5b6020020151145b611a76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6d90614ff2565b60405180910390fd5b43816000600f8110611a8b57611a8a615780565b5b6020020151600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ada9190615477565b10611b1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1190614f72565b60405180910390fd5b6000816002600f8110611b3057611b2f615780565b5b60200201511115611bec576001816002600f8110611b5157611b50615780565b5b6020020151611b609190615477565b86601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611bab9190615477565b10611beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be290615052565b60405180910390fd5b5b806001600f8110611c0057611bff615780565b5b6020020151861115611c47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3e90615272565b60405180910390fd5b600033604051602001611c5a9190614ddf565b604051602081830303815290604052805190602001209050611cc0868680806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505060125483612bb0565b611cff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf690614f92565b60405180910390fd5b6000611d096122a6565b90506001836006600f8110611d2157611d20615780565b5b6020020151611d309190615477565b8882611d3c9190615477565b1115611d7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7490615252565b60405180910390fd5b60005b88811015611dbc576000611d926122a6565b9050611d9e3382612a86565b611da8600961295e565b508080611db490615655565b915050611d80565b5087836007600f8110611dd257611dd1615780565b5b6020020151611de19190615477565b836007600f8110611df557611df4615780565b5b602002018181525050600088846008600f8110611e1557611e14615780565b5b6020020151611e2491906154fe565b11611e30576000611e55565b87836008600f8110611e4557611e44615780565b5b6020020151611e5491906154fe565b5b836008600f8110611e6957611e68615780565b5b60200201818152505087601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ebd9190615477565b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506014339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000836008600f8110611f7957611f78615780565b5b60200201511115611f8b576000611f8e565b60015b60ff1683600e600f8110611fa557611fa4615780565b5b60200201818152505082600e600f8681548110611fc557611fc4615780565b5b90600052602060002001604051611fdc9190614e40565b908152602001604051809103902090600f611ff8929190613cec565b505050505050505050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156120ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a390615212565b60405180910390fd5b80915050919050565b601181815481106120c557600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601560009054906101000a900460ff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216f90615112565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6121c7612ec3565b6121d16000612fa4565b565b6121db612ec3565b81600b90805190602001906121f1929190613d4f565b5080600c9080519060200190612208929190613d4f565b505050565b60008111612250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224790615132565b60405180910390fd5b60005b8181101561228f5760006122656122a6565b90506122718482612a86565b61227b600961295e565b50808061228790615655565b915050612253565b505050565b61229c612ec3565b8060128190555050565b60006122b2600961306a565b905090565b6122bf612ec3565b6122c7613078565b565b6000600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6122fc336125a2565b61233b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233290615152565b60405180910390fd5b80600d60006101000a81548160ff02191690831515021790555050565b606060018054612367906155f2565b80601f0160208091040260200160405190810160405280929190818152602001828054612393906155f2565b80156123e05780601f106123b5576101008083540402835291602001916123e0565b820191906000526020600020905b8154815290600101906020018083116123c357829003601f168201915b5050505050905090565b6123f3336125a2565b612432576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242990615152565b60405180910390fd5b61243b816130db565b50565b61244733613135565b565b612451612ec3565b80600e836040516124629190614dfa565b908152602001604051809103902090600f61247e929190613cec565b505050565b61249561248e612aef565b838361318f565b5050565b6124a1612ec3565b81601560006101000a81548160ff02191690831515021790555080601681905550601560009054906101000a900460ff1680156124e357506000601480549050115b1561259e5760005b60148054905081101561258e576000601360006014848154811061251257612511615780565b5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808061258690615655565b9150506124eb565b506014600061259d9190613dd5565b5b5050565b60006125b88260086132fc90919063ffffffff16565b9050919050565b6125c7613d2c565b600e826040516125d79190614dfa565b9081526020016040518091039020600f806020026040519081016040528092919082600f801561261c576020028201915b815481526020019060010190808311612608575b50505050509050919050565b60106020528060005260406000206000915090505481565b61265161264b612aef565b83612bc7565b612690576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268790615292565b60405180910390fd5b61269c848484846133c4565b50505050565b60606126ad82613420565b6126ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126e390614fb2565b60405180910390fd5b60001515600d60009054906101000a900460ff161515141561276557600061271261348c565b90506000815111612732576040518060200160405280600081525061275d565b8061273c8461351e565b60405160200161274d929190614e11565b6040516020818303038152906040525b9150506127be565b600061276f61367f565b9050600081511161278f57604051806020016040528060008152506127ba565b806127998461351e565b6040516020016127aa929190614e11565b6040516020818303038152906040525b9150505b919050565b6127cb612ec3565b80600f90805190602001906127e1929190613df6565b5050565b60136020528060005260406000206000915090505481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b612899612ec3565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612909576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290090615012565b60405180910390fd5b61291281612fa4565b50565b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6001816000016000828254019250508190555050565b61297e82826132fc565b156129be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129b590614f52565b60405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b612aa0828260405180602001604052806000815250613711565b5050565b612aad81613420565b612aec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ae390615212565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16612b6a83612003565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600082612bbd858461376c565b1490509392505050565b600080612bd383612003565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480612c155750612c1481856127fd565b5b80612c5357508373ffffffffffffffffffffffffffffffffffffffff16612c3b8461106d565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16612c7c82612003565b73ffffffffffffffffffffffffffffffffffffffff1614612cd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cc990615032565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d39906150b2565b60405180910390fd5b612d4d8383836137c2565b612d58600082612af7565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612da891906154fe565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612dff9190615477565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612ebe8383836137d2565b505050565b612ecb612aef565b73ffffffffffffffffffffffffffffffffffffffff16612ee96122c9565b73ffffffffffffffffffffffffffffffffffffffff1614612f3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f36906151d2565b60405180910390fd5b565b612f496137d7565b6000600760006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa612f8d612aef565b604051612f9a9190614e57565b60405180910390a1565b6000600760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081600001549050919050565b613080613820565b6001600760006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586130c4612aef565b6040516130d19190614e57565b60405180910390a1565b6130ef81600861297490919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b61314981600861386a90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156131fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131f5906150d2565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516132ef9190614eda565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561336d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613364906151f2565b60405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6133cf848484612c5c565b6133db84848484613911565b61341a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161341190614fd2565b60405180910390fd5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6060600c805461349b906155f2565b80601f01602080910402602001604051908101604052809291908181526020018280546134c7906155f2565b80156135145780601f106134e957610100808354040283529160200191613514565b820191906000526020600020905b8154815290600101906020018083116134f757829003601f168201915b5050505050905090565b60606000821415613566576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061367a565b600082905060005b6000821461359857808061358190615655565b915050600a8261359191906154cd565b915061356e565b60008167ffffffffffffffff8111156135b4576135b36157af565b5b6040519080825280601f01601f1916602001820160405280156135e65781602001600182028036833780820191505090505b5090505b60008514613673576001826135ff91906154fe565b9150600a8561360e91906156c2565b603061361a9190615477565b60f81b8183815181106136305761362f615780565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561366c91906154cd565b94506135ea565b8093505050505b919050565b6060600b805461368e906155f2565b80601f01602080910402602001604051908101604052809291908181526020018280546136ba906155f2565b80156137075780601f106136dc57610100808354040283529160200191613707565b820191906000526020600020905b8154815290600101906020018083116136ea57829003601f168201915b5050505050905090565b61371b8383613aa8565b6137286000848484613911565b613767576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161375e90614fd2565b60405180910390fd5b505050565b60008082905060005b84518110156137b7576137a28286838151811061379557613794615780565b5b6020026020010151613c82565b915080806137af90615655565b915050613775565b508091505092915050565b6137cd838383613cad565b505050565b505050565b6137df6119a1565b61381e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161381590614f32565b60405180910390fd5b565b6138286119a1565b15613868576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161385f906150f2565b60405180910390fd5b565b61387482826132fc565b6138b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138aa90615172565b60405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006139328473ffffffffffffffffffffffffffffffffffffffff16613cb2565b15613a9b578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261395b612aef565b8786866040518563ffffffff1660e01b815260040161397d9493929190614e72565b602060405180830381600087803b15801561399757600080fd5b505af19250505080156139c857506040513d601f19601f820116820180604052508101906139c591906145a6565b60015b613a4b573d80600081146139f8576040519150601f19603f3d011682016040523d82523d6000602084013e6139fd565b606091505b50600081511415613a43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a3a90614fd2565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050613aa0565b600190505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b0f906151b2565b60405180910390fd5b613b2181613420565b15613b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b5890615072565b60405180910390fd5b613b6d600083836137c2565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254613bbd9190615477565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4613c7e600083836137d2565b5050565b6000818310613c9a57613c958284613cd5565b613ca5565b613ca48383613cd5565b5b905092915050565b505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082600052816020526040600020905092915050565b82600f8101928215613d1b579160200282015b82811115613d1a578251825591602001919060010190613cff565b5b509050613d289190613e56565b5090565b604051806101e00160405280600f90602082028036833780820191505090505090565b828054613d5b906155f2565b90600052602060002090601f016020900481019282613d7d5760008555613dc4565b82601f10613d9657805160ff1916838001178555613dc4565b82800160010185558215613dc4579182015b82811115613dc3578251825591602001919060010190613da8565b5b509050613dd19190613e56565b5090565b5080546000825590600052602060002090810190613df39190613e56565b50565b828054828255906000526020600020908101928215613e45579160200282015b82811115613e44578251829080519060200190613e34929190613d4f565b5091602001919060010190613e16565b5b509050613e529190613e73565b5090565b5b80821115613e6f576000816000905550600101613e57565b5090565b5b80821115613e935760008181613e8a9190613e97565b50600101613e74565b5090565b508054613ea3906155f2565b6000825580601f10613eb55750613ed4565b601f016020900490600052602060002090810190613ed39190613e56565b5b50565b6000613eea613ee584615312565b6152ed565b90508083825260208201905082856020860282011115613f0d57613f0c6157e8565b5b60005b85811015613f3d5781613f2388826141c7565b845260208401935060208301925050600181019050613f10565b5050509392505050565b6000613f5a613f558461533e565b6152ed565b90508083825260208201905082856020860282011115613f7d57613f7c6157e8565b5b60005b85811015613fcb57813567ffffffffffffffff811115613fa357613fa26157e3565b5b808601613fb08982614234565b85526020850194506020840193505050600181019050613f80565b5050509392505050565b6000613fe8613fe38461536a565b6152ed565b90508082856020860282011115614002576140016157e8565b5b60005b8581101561403257816140188882614262565b845260208401935060208301925050600181019050614005565b5050509392505050565b600061404f61404a84615390565b6152ed565b90508281526020810184848401111561406b5761406a6157ed565b5b6140768482856155b0565b509392505050565b600061409161408c846153c1565b6152ed565b9050828152602081018484840111156140ad576140ac6157ed565b5b6140b88482856155b0565b509392505050565b6000813590506140cf81615eb0565b92915050565b60008083601f8401126140eb576140ea6157e3565b5b8235905067ffffffffffffffff811115614108576141076157de565b5b602083019150836020820283011115614124576141236157e8565b5b9250929050565b600082601f8301126141405761413f6157e3565b5b8135614150848260208601613ed7565b91505092915050565b600082601f83011261416e5761416d6157e3565b5b813561417e848260208601613f47565b91505092915050565b600082601f83011261419c5761419b6157e3565b5b600f6141a9848285613fd5565b91505092915050565b6000813590506141c181615ec7565b92915050565b6000813590506141d681615ede565b92915050565b6000813590506141eb81615ef5565b92915050565b60008151905061420081615ef5565b92915050565b600082601f83011261421b5761421a6157e3565b5b813561422b84826020860161403c565b91505092915050565b600082601f830112614249576142486157e3565b5b813561425984826020860161407e565b91505092915050565b60008135905061427181615f0c565b92915050565b60006020828403121561428d5761428c6157f7565b5b600061429b848285016140c0565b91505092915050565b600080604083850312156142bb576142ba6157f7565b5b60006142c9858286016140c0565b92505060206142da858286016140c0565b9150509250929050565b6000806000606084860312156142fd576142fc6157f7565b5b600061430b868287016140c0565b935050602061431c868287016140c0565b925050604061432d86828701614262565b9150509250925092565b60008060008060808587031215614351576143506157f7565b5b600061435f878288016140c0565b9450506020614370878288016140c0565b935050604061438187828801614262565b925050606085013567ffffffffffffffff8111156143a2576143a16157f2565b5b6143ae87828801614206565b91505092959194509250565b600080604083850312156143d1576143d06157f7565b5b60006143df858286016140c0565b92505060206143f0858286016141b2565b9150509250929050565b60008060408385031215614411576144106157f7565b5b600061441f858286016140c0565b925050602061443085828601614262565b9150509250929050565b60008060408385031215614451576144506157f7565b5b600083013567ffffffffffffffff81111561446f5761446e6157f2565b5b61447b8582860161412b565b925050602061448c858286016140c0565b9150509250929050565b6000602082840312156144ac576144ab6157f7565b5b600082013567ffffffffffffffff8111156144ca576144c96157f2565b5b6144d684828501614159565b91505092915050565b6000602082840312156144f5576144f46157f7565b5b6000614503848285016141b2565b91505092915050565b60008060408385031215614523576145226157f7565b5b6000614531858286016141b2565b925050602061454285828601614262565b9150509250929050565b600060208284031215614562576145616157f7565b5b6000614570848285016141c7565b91505092915050565b60006020828403121561458f5761458e6157f7565b5b600061459d848285016141dc565b91505092915050565b6000602082840312156145bc576145bb6157f7565b5b60006145ca848285016141f1565b91505092915050565b6000602082840312156145e9576145e86157f7565b5b600082013567ffffffffffffffff811115614607576146066157f2565b5b61461384828501614234565b91505092915050565b6000806102008385031215614634576146336157f7565b5b600083013567ffffffffffffffff811115614652576146516157f2565b5b61465e85828601614234565b925050602061466f85828601614187565b9150509250929050565b600080604083850312156146905761468f6157f7565b5b600083013567ffffffffffffffff8111156146ae576146ad6157f2565b5b6146ba85828601614234565b925050602083013567ffffffffffffffff8111156146db576146da6157f2565b5b6146e785828601614234565b9150509250929050565b600060208284031215614707576147066157f7565b5b600061471584828501614262565b91505092915050565b60008060008060608587031215614738576147376157f7565b5b600061474687828801614262565b945050602085013567ffffffffffffffff811115614767576147666157f2565b5b614773878288016140d5565b9350935050604061478687828801614262565b91505092959194509250565b600080604083850312156147a9576147a86157f7565b5b60006147b785828601614262565b92505060206147c885828601614262565b9150509250929050565b60006147de8383614dc1565b60208301905092915050565b6147f381615532565b82525050565b61480a61480582615532565b61569e565b82525050565b61481981615411565b614823818461543f565b925061482e826153f2565b8060005b8381101561485f57815161484687826147d2565b965061485183615432565b925050600181019050614832565b505050505050565b61487081615544565b82525050565b61487f81615550565b82525050565b60006148908261541c565b61489a818561544a565b93506148aa8185602086016155bf565b6148b3816157fc565b840191505092915050565b60006148c982615427565b6148d3818561545b565b93506148e38185602086016155bf565b6148ec816157fc565b840191505092915050565b600061490282615427565b61490c818561546c565b935061491c8185602086016155bf565b80840191505092915050565b60008154614935816155f2565b61493f818661546c565b9450600182166000811461495a576001811461496b5761499e565b60ff1983168652818601935061499e565b614974856153fc565b60005b8381101561499657815481890152600182019150602081019050614977565b838801955050505b50505092915050565b60006149b460148361545b565b91506149bf8261581a565b602082019050919050565b60006149d7601f8361545b565b91506149e282615843565b602082019050919050565b60006149fa60128361545b565b9150614a058261586c565b602082019050919050565b6000614a1d600e8361545b565b9150614a2882615895565b602082019050919050565b6000614a40601f8361545b565b9150614a4b826158be565b602082019050919050565b6000614a6360328361545b565b9150614a6e826158e7565b604082019050919050565b6000614a8660198361545b565b9150614a9182615936565b602082019050919050565b6000614aa960268361545b565b9150614ab48261595f565b604082019050919050565b6000614acc60258361545b565b9150614ad7826159ae565b604082019050919050565b6000614aef601c8361545b565b9150614afa826159fd565b602082019050919050565b6000614b12601c8361545b565b9150614b1d82615a26565b602082019050919050565b6000614b3560218361545b565b9150614b4082615a4f565b604082019050919050565b6000614b5860248361545b565b9150614b6382615a9e565b604082019050919050565b6000614b7b60198361545b565b9150614b8682615aed565b602082019050919050565b6000614b9e60108361545b565b9150614ba982615b16565b602082019050919050565b6000614bc160298361545b565b9150614bcc82615b3f565b604082019050919050565b6000614be4600c8361545b565b9150614bef82615b8e565b602082019050919050565b6000614c0760308361545b565b9150614c1282615bb7565b604082019050919050565b6000614c2a60218361545b565b9150614c3582615c06565b604082019050919050565b6000614c4d603e8361545b565b9150614c5882615c55565b604082019050919050565b6000614c7060208361545b565b9150614c7b82615ca4565b602082019050919050565b6000614c9360058361546c565b9150614c9e82615ccd565b600582019050919050565b6000614cb660208361545b565b9150614cc182615cf6565b602082019050919050565b6000614cd960228361545b565b9150614ce482615d1f565b604082019050919050565b6000614cfc60188361545b565b9150614d0782615d6e565b602082019050919050565b6000614d1f60218361545b565b9150614d2a82615d97565b604082019050919050565b6000614d42600f8361545b565b9150614d4d82615de6565b602082019050919050565b6000614d65600f8361545b565b9150614d7082615e0f565b602082019050919050565b6000614d88602e8361545b565b9150614d9382615e38565b604082019050919050565b6000614dab600f8361545b565b9150614db682615e87565b602082019050919050565b614dca816155a6565b82525050565b614dd9816155a6565b82525050565b6000614deb82846147f9565b60148201915081905092915050565b6000614e0682846148f7565b915081905092915050565b6000614e1d82856148f7565b9150614e2982846148f7565b9150614e3482614c86565b91508190509392505050565b6000614e4c8284614928565b915081905092915050565b6000602082019050614e6c60008301846147ea565b92915050565b6000608082019050614e8760008301876147ea565b614e9460208301866147ea565b614ea16040830185614dd0565b8181036060830152614eb38184614885565b905095945050505050565b60006101e082019050614ed46000830184614810565b92915050565b6000602082019050614eef6000830184614867565b92915050565b6000602082019050614f0a6000830184614876565b92915050565b60006020820190508181036000830152614f2a81846148be565b905092915050565b60006020820190508181036000830152614f4b816149a7565b9050919050565b60006020820190508181036000830152614f6b816149ca565b9050919050565b60006020820190508181036000830152614f8b816149ed565b9050919050565b60006020820190508181036000830152614fab81614a10565b9050919050565b60006020820190508181036000830152614fcb81614a33565b9050919050565b60006020820190508181036000830152614feb81614a56565b9050919050565b6000602082019050818103600083015261500b81614a79565b9050919050565b6000602082019050818103600083015261502b81614a9c565b9050919050565b6000602082019050818103600083015261504b81614abf565b9050919050565b6000602082019050818103600083015261506b81614ae2565b9050919050565b6000602082019050818103600083015261508b81614b05565b9050919050565b600060208201905081810360008301526150ab81614b28565b9050919050565b600060208201905081810360008301526150cb81614b4b565b9050919050565b600060208201905081810360008301526150eb81614b6e565b9050919050565b6000602082019050818103600083015261510b81614b91565b9050919050565b6000602082019050818103600083015261512b81614bb4565b9050919050565b6000602082019050818103600083015261514b81614bd7565b9050919050565b6000602082019050818103600083015261516b81614bfa565b9050919050565b6000602082019050818103600083015261518b81614c1d565b9050919050565b600060208201905081810360008301526151ab81614c40565b9050919050565b600060208201905081810360008301526151cb81614c63565b9050919050565b600060208201905081810360008301526151eb81614ca9565b9050919050565b6000602082019050818103600083015261520b81614ccc565b9050919050565b6000602082019050818103600083015261522b81614cef565b9050919050565b6000602082019050818103600083015261524b81614d12565b9050919050565b6000602082019050818103600083015261526b81614d35565b9050919050565b6000602082019050818103600083015261528b81614d58565b9050919050565b600060208201905081810360008301526152ab81614d7b565b9050919050565b600060208201905081810360008301526152cb81614d9e565b9050919050565b60006020820190506152e76000830184614dd0565b92915050565b60006152f7615308565b90506153038282615624565b919050565b6000604051905090565b600067ffffffffffffffff82111561532d5761532c6157af565b5b602082029050602081019050919050565b600067ffffffffffffffff821115615359576153586157af565b5b602082029050602081019050919050565b600067ffffffffffffffff821115615385576153846157af565b5b602082029050919050565b600067ffffffffffffffff8211156153ab576153aa6157af565b5b6153b4826157fc565b9050602081019050919050565b600067ffffffffffffffff8211156153dc576153db6157af565b5b6153e5826157fc565b9050602081019050919050565b6000819050919050565b60008190508160005260206000209050919050565b6000600f9050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600081905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000615482826155a6565b915061548d836155a6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156154c2576154c16156f3565b5b828201905092915050565b60006154d8826155a6565b91506154e3836155a6565b9250826154f3576154f2615722565b5b828204905092915050565b6000615509826155a6565b9150615514836155a6565b925082821015615527576155266156f3565b5b828203905092915050565b600061553d82615586565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156155dd5780820151818401526020810190506155c2565b838111156155ec576000848401525b50505050565b6000600282049050600182168061560a57607f821691505b6020821081141561561e5761561d615751565b5b50919050565b61562d826157fc565b810181811067ffffffffffffffff8211171561564c5761564b6157af565b5b80604052505050565b6000615660826155a6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415615693576156926156f3565b5b600182019050919050565b60006156a9826156b0565b9050919050565b60006156bb8261580d565b9050919050565b60006156cd826155a6565b91506156d8836155a6565b9250826156e8576156e7615722565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b7f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500600082015250565b7f426f74206973206e6f7420616c6c6f7765640000000000000000000000000000600082015250565b7f496e76616c69642070726f6f6621000000000000000000000000000000000000600082015250565b7f55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e00600082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f49742773206e6f7420796574206d696e74696e672074696d6500000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b7f457863656564206d617820616d6f756e742070657220706572736f6e00000000600082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f546f6f206d616e79207265717565737473206f72207a65726f2072657175657360008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b7f7a65726f20726571756573740000000000000000000000000000000000000000600082015250565b7f4d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766560008201527f20746865204d696e74657220726f6c6500000000000000000000000000000000602082015250565b7f526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c60008201527f6500000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206e6f7220617070726f76656420666f7220616c6c0000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f526f6c65733a206163636f756e7420697320746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4d696e74696e67206661696c6564320000000000000000000000000000000000600082015250565b7f4d696e74696e67206661696c6564310000000000000000000000000000000000600082015250565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206e6f7220617070726f766564000000000000000000000000000000000000602082015250565b7f42616c616e6365206973207a65726f0000000000000000000000000000000000600082015250565b615eb981615532565b8114615ec457600080fd5b50565b615ed081615544565b8114615edb57600080fd5b50565b615ee781615550565b8114615ef257600080fd5b50565b615efe8161555a565b8114615f0957600080fd5b50565b615f15816155a6565b8114615f2057600080fd5b5056fea2646970667358221220fda794fba7682d5b770af85f86c5eebaaec5358a152f325592f9ce5f18ccdae364736f6c63430008070033