6080604052600160085560405180602001604052806000815250600990816100279190610402565b5034801561003457600080fd5b506040518060400160405280601281526020017f4e61746976456e74657270726973654e465400000000000000000000000000008152506040518060400160405280600381526020017f4e454e000000000000000000000000000000000000000000000000000000000081525081600090816100b09190610402565b5080600190816100c09190610402565b5050506100df6100d46100e460201b60201c565b6100ec60201b60201c565b6104d4565b600033905090565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061023357607f821691505b602082108103610246576102456101ec565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026102ae7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610271565b6102b88683610271565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006102ff6102fa6102f5846102d0565b6102da565b6102d0565b9050919050565b6000819050919050565b610319836102e4565b61032d61032582610306565b84845461027e565b825550505050565b600090565b610342610335565b61034d818484610310565b505050565b5b818110156103715761036660008261033a565b600181019050610353565b5050565b601f8211156103b6576103878161024c565b61039084610261565b8101602085101561039f578190505b6103b36103ab85610261565b830182610352565b50505b505050565b600082821c905092915050565b60006103d9600019846008026103bb565b1980831691505092915050565b60006103f283836103c8565b9150826002028217905092915050565b61040b826101b2565b67ffffffffffffffff811115610424576104236101bd565b5b61042e825461021b565b610439828285610375565b600060209050601f83116001811461046c576000841561045a578287015190505b61046485826103e6565b8655506104cc565b601f19841661047a8661024c565b60005b828110156104a25784890151825560018201915060208501945060208101905061047d565b868310156104bf57848901516104bb601f8916826103c8565b8355505b6001600288020188555050505b505050505050565b613592806104e36000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806391533517116100c3578063a22cb4651161007c578063a22cb465146103c1578063ac8a584a146103dd578063b88d4fde146103f9578063c87b56dd14610415578063e985e9c514610445578063f2fde38b1461047557610158565b806391533517146102ef57806395d89b411461031f5780639870d7fe1461033d57806399d6a0ce146103595780639d11877014610389578063a0bcfc7f146103a557610158565b806342966c681161011557806342966c681461022f578063451450ec1461024b5780636352211e1461026757806370a0823114610297578063715018a6146102c75780638da5cb5b146102d157610158565b806301ffc9a71461015d57806306fdde031461018d578063081812fc146101ab578063095ea7b3146101db57806323b872dd146101f757806342842e0e14610213575b600080fd5b610177600480360381019061017291906121d1565b610491565b6040516101849190612219565b60405180910390f35b610195610573565b6040516101a291906122c4565b60405180910390f35b6101c560048036038101906101c0919061231c565b610605565b6040516101d2919061238a565b60405180910390f35b6101f560048036038101906101f091906123d1565b61064b565b005b610211600480360381019061020c9190612411565b610762565b005b61022d60048036038101906102289190612411565b6107c2565b005b6102496004803603810190610244919061231c565b6107e2565b005b61026560048036038101906102609190612464565b61083e565b005b610281600480360381019061027c919061231c565b6109a1565b60405161028e919061238a565b60405180910390f35b6102b160048036038101906102ac91906124a4565b610a27565b6040516102be91906124e0565b60405180910390f35b6102cf610ade565b005b6102d9610af2565b6040516102e6919061238a565b60405180910390f35b610309600480360381019061030491906124fb565b610b1c565b60405161031691906124e0565b60405180910390f35b610327610c5b565b60405161033491906122c4565b60405180910390f35b610357600480360381019061035291906124a4565b610ced565b005b610373600480360381019061036e919061231c565b610d50565b60405161038091906124e0565b60405180910390f35b6103a3600480360381019061039e919061231c565b610d70565b005b6103bf60048036038101906103ba9190612683565b610e97565b005b6103db60048036038101906103d691906126f8565b610eb2565b005b6103f760048036038101906103f291906124a4565b610ec8565b005b610413600480360381019061040e91906127d9565b610f22565b005b61042f600480360381019061042a919061231c565b610f84565b60405161043c91906122c4565b60405180910390f35b61045f600480360381019061045a919061285c565b610fec565b60405161046c9190612219565b60405180910390f35b61048f600480360381019061048a91906124a4565b611080565b005b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061055c57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061056c575061056b82611103565b5b9050919050565b606060008054610582906128cb565b80601f01602080910402602001604051908101604052809291908181526020018280546105ae906128cb565b80156105fb5780601f106105d0576101008083540402835291602001916105fb565b820191906000526020600020905b8154815290600101906020018083116105de57829003601f168201915b5050505050905090565b60006106108261116d565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610656826109a1565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106bd9061296e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166106e56111b8565b73ffffffffffffffffffffffffffffffffffffffff16148061071457506107138161070e6111b8565b610fec565b5b610753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074a90612a00565b60405180910390fd5b61075d83836111c0565b505050565b61077361076d6111b8565b82611279565b6107b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a990612a92565b60405180910390fd5b6107bd83838361130e565b505050565b6107dd83838360405180602001604052806000815250610f22565b505050565b6107f36107ed6111b8565b82611279565b610832576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082990612a92565b60405180910390fd5b61083b81611607565b50565b6007600061084a6111b8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166108d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c890612b24565b60405180910390fd5b80600a60008481526020019081526020016000206000015403610929576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092090612bb6565b60405180910390fd5b80600a600084815260200190815260200160002060000181905550600a600083815260200190815260200160002060010154827fb14a378526ff829cedae509bc58b26b51b81f77c7b38de4446ef7a596b2c80ab8361098786611755565b604051610995929190612bd6565b60405180910390a35050565b6000806109ad83611755565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1590612c4b565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8e90612cdd565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ae6611792565b610af06000611810565b565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600060076000610b2a6111b8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610bb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba890612b24565b60405180910390fd5b600060086000815480929190610bc690612d2c565b919050559050610bd685826118d6565b604051806040016040528084815260200185815250600a6000838152602001908152602001600020600082015181600001556020820151816001015590505083817f807816d0e9f3e80fedb445ab1441efb3862ea138ef3afbbf8e8b90def8e828c68588604051610c48929190612bd6565b60405180910390a3809150509392505050565b606060018054610c6a906128cb565b80601f0160208091040260200160405190810160405280929190818152602001828054610c96906128cb565b8015610ce35780601f10610cb857610100808354040283529160200191610ce3565b820191906000526020600020905b815481529060010190602001808311610cc657829003601f168201915b5050505050905090565b610cf5611792565b6001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600a6000838152602001908152602001600020600001549050919050565b60076000610d7c6111b8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610e03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfa90612b24565b60405180910390fd5b6000600a60008381526020019081526020016000206040518060400160405290816000820154815260200160018201548152505090506000610e44836109a1565b9050610e4f83611607565b8160200151837fbe550110935ae6dee5e60a0e7b3761c77df8b36e9d11fc96223a87111411d022846000015184604051610e8a929190612bd6565b60405180910390a3505050565b610e9f611792565b8060099081610eae9190612f20565b5050565b610ec4610ebd6111b8565b8383611af3565b5050565b610ed0611792565b600760008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff021916905550565b610f33610f2d6111b8565b83611279565b610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6990612a92565b60405180910390fd5b610f7e84848484611c5f565b50505050565b6060610f8f8261116d565b6000610f99611cbb565b90506000815111610fb95760405180602001604052806000815250610fe4565b80610fc384611d4d565b604051602001610fd492919061302e565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611088611792565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ee906130c4565b60405180910390fd5b61110081611810565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b61117681611e1b565b6111b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ac90612c4b565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611233836109a1565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611285836109a1565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806112c757506112c68185610fec565b5b8061130557508373ffffffffffffffffffffffffffffffffffffffff166112ed84610605565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661132e826109a1565b73ffffffffffffffffffffffffffffffffffffffff1614611384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137b90613156565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ea906131e8565b60405180910390fd5b6114008383836001611e5c565b8273ffffffffffffffffffffffffffffffffffffffff16611420826109a1565b73ffffffffffffffffffffffffffffffffffffffff1614611476576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146d90613156565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46116028383836001611e62565b505050565b6000611612826109a1565b9050611622816000846001611e5c565b61162b826109a1565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611751816000846001611e62565b5050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61179a6111b8565b73ffffffffffffffffffffffffffffffffffffffff166117b8610af2565b73ffffffffffffffffffffffffffffffffffffffff161461180e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180590613254565b60405180910390fd5b565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193c906132c0565b60405180910390fd5b61194e81611e1b565b1561198e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119859061332c565b60405180910390fd5b61199c600083836001611e5c565b6119a581611e1b565b156119e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119dc9061332c565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611aef600083836001611e62565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5890613398565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611c529190612219565b60405180910390a3505050565b611c6a84848461130e565b611c7684848484611e68565b611cb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cac9061342a565b60405180910390fd5b50505050565b606060098054611cca906128cb565b80601f0160208091040260200160405190810160405280929190818152602001828054611cf6906128cb565b8015611d435780601f10611d1857610100808354040283529160200191611d43565b820191906000526020600020905b815481529060010190602001808311611d2657829003601f168201915b5050505050905090565b606060006001611d5c84611fef565b01905060008167ffffffffffffffff811115611d7b57611d7a612558565b5b6040519080825280601f01601f191660200182016040528015611dad5781602001600182028036833780820191505090505b509050600082602001820190505b600115611e10578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611e0457611e0361344a565b5b04945060008503611dbb575b819350505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16611e3d83611755565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b50505050565b50505050565b6000611e898473ffffffffffffffffffffffffffffffffffffffff16612142565b15611fe2578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611eb26111b8565b8786866040518563ffffffff1660e01b8152600401611ed494939291906134ce565b6020604051808303816000875af1925050508015611f1057506040513d601f19601f82011682018060405250810190611f0d919061352f565b60015b611f92573d8060008114611f40576040519150601f19603f3d011682016040523d82523d6000602084013e611f45565b606091505b506000815103611f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f819061342a565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611fe7565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061204d577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816120435761204261344a565b5b0492506040810190505b6d04ee2d6d415b85acef8100000000831061208a576d04ee2d6d415b85acef810000000083816120805761207f61344a565b5b0492506020810190505b662386f26fc1000083106120b957662386f26fc1000083816120af576120ae61344a565b5b0492506010810190505b6305f5e10083106120e2576305f5e10083816120d8576120d761344a565b5b0492506008810190505b61271083106121075761271083816120fd576120fc61344a565b5b0492506004810190505b6064831061212a57606483816121205761211f61344a565b5b0492506002810190505b600a8310612139576001810190505b80915050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6121ae81612179565b81146121b957600080fd5b50565b6000813590506121cb816121a5565b92915050565b6000602082840312156121e7576121e661216f565b5b60006121f5848285016121bc565b91505092915050565b60008115159050919050565b612213816121fe565b82525050565b600060208201905061222e600083018461220a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561226e578082015181840152602081019050612253565b60008484015250505050565b6000601f19601f8301169050919050565b600061229682612234565b6122a0818561223f565b93506122b0818560208601612250565b6122b98161227a565b840191505092915050565b600060208201905081810360008301526122de818461228b565b905092915050565b6000819050919050565b6122f9816122e6565b811461230457600080fd5b50565b600081359050612316816122f0565b92915050565b6000602082840312156123325761233161216f565b5b600061234084828501612307565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061237482612349565b9050919050565b61238481612369565b82525050565b600060208201905061239f600083018461237b565b92915050565b6123ae81612369565b81146123b957600080fd5b50565b6000813590506123cb816123a5565b92915050565b600080604083850312156123e8576123e761216f565b5b60006123f6858286016123bc565b925050602061240785828601612307565b9150509250929050565b60008060006060848603121561242a5761242961216f565b5b6000612438868287016123bc565b9350506020612449868287016123bc565b925050604061245a86828701612307565b9150509250925092565b6000806040838503121561247b5761247a61216f565b5b600061248985828601612307565b925050602061249a85828601612307565b9150509250929050565b6000602082840312156124ba576124b961216f565b5b60006124c8848285016123bc565b91505092915050565b6124da816122e6565b82525050565b60006020820190506124f560008301846124d1565b92915050565b6000806000606084860312156125145761251361216f565b5b6000612522868287016123bc565b935050602061253386828701612307565b925050604061254486828701612307565b9150509250925092565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6125908261227a565b810181811067ffffffffffffffff821117156125af576125ae612558565b5b80604052505050565b60006125c2612165565b90506125ce8282612587565b919050565b600067ffffffffffffffff8211156125ee576125ed612558565b5b6125f78261227a565b9050602081019050919050565b82818337600083830152505050565b6000612626612621846125d3565b6125b8565b90508281526020810184848401111561264257612641612553565b5b61264d848285612604565b509392505050565b600082601f83011261266a5761266961254e565b5b813561267a848260208601612613565b91505092915050565b6000602082840312156126995761269861216f565b5b600082013567ffffffffffffffff8111156126b7576126b6612174565b5b6126c384828501612655565b91505092915050565b6126d5816121fe565b81146126e057600080fd5b50565b6000813590506126f2816126cc565b92915050565b6000806040838503121561270f5761270e61216f565b5b600061271d858286016123bc565b925050602061272e858286016126e3565b9150509250929050565b600067ffffffffffffffff82111561275357612752612558565b5b61275c8261227a565b9050602081019050919050565b600061277c61277784612738565b6125b8565b90508281526020810184848401111561279857612797612553565b5b6127a3848285612604565b509392505050565b600082601f8301126127c0576127bf61254e565b5b81356127d0848260208601612769565b91505092915050565b600080600080608085870312156127f3576127f261216f565b5b6000612801878288016123bc565b9450506020612812878288016123bc565b935050604061282387828801612307565b925050606085013567ffffffffffffffff81111561284457612843612174565b5b612850878288016127ab565b91505092959194509250565b600080604083850312156128735761287261216f565b5b6000612881858286016123bc565b9250506020612892858286016123bc565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806128e357607f821691505b6020821081036128f6576128f561289c565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b600061295860218361223f565b9150612963826128fc565b604082019050919050565b600060208201905081810360008301526129878161294b565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b60006129ea603d8361223f565b91506129f58261298e565b604082019050919050565b60006020820190508181036000830152612a19816129dd565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000612a7c602d8361223f565b9150612a8782612a20565b604082019050919050565b60006020820190508181036000830152612aab81612a6f565b9050919050565b7f556e617574686f72697a65642061636365737320666f72206e6f6e206f70657260008201527f61746f7200000000000000000000000000000000000000000000000000000000602082015250565b6000612b0e60248361223f565b9150612b1982612ab2565b604082019050919050565b60006020820190508181036000830152612b3d81612b01565b9050919050565b7f456e746572707269736520697320616c72656164792065737461626c6973686560008201527f642077697468207468697320626c75657072696e740000000000000000000000602082015250565b6000612ba060358361223f565b9150612bab82612b44565b604082019050919050565b60006020820190508181036000830152612bcf81612b93565b9050919050565b6000604082019050612beb60008301856124d1565b612bf8602083018461237b565b9392505050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000612c3560188361223f565b9150612c4082612bff565b602082019050919050565b60006020820190508181036000830152612c6481612c28565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000612cc760298361223f565b9150612cd282612c6b565b604082019050919050565b60006020820190508181036000830152612cf681612cba565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612d37826122e6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612d6957612d68612cfd565b5b600182019050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302612dd67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612d99565b612de08683612d99565b95508019841693508086168417925050509392505050565b6000819050919050565b6000612e1d612e18612e13846122e6565b612df8565b6122e6565b9050919050565b6000819050919050565b612e3783612e02565b612e4b612e4382612e24565b848454612da6565b825550505050565b600090565b612e60612e53565b612e6b818484612e2e565b505050565b5b81811015612e8f57612e84600082612e58565b600181019050612e71565b5050565b601f821115612ed457612ea581612d74565b612eae84612d89565b81016020851015612ebd578190505b612ed1612ec985612d89565b830182612e70565b50505b505050565b600082821c905092915050565b6000612ef760001984600802612ed9565b1980831691505092915050565b6000612f108383612ee6565b9150826002028217905092915050565b612f2982612234565b67ffffffffffffffff811115612f4257612f41612558565b5b612f4c82546128cb565b612f57828285612e93565b600060209050601f831160018114612f8a5760008415612f78578287015190505b612f828582612f04565b865550612fea565b601f198416612f9886612d74565b60005b82811015612fc057848901518255600182019150602085019450602081019050612f9b565b86831015612fdd5784890151612fd9601f891682612ee6565b8355505b6001600288020188555050505b505050505050565b600081905092915050565b600061300882612234565b6130128185612ff2565b9350613022818560208601612250565b80840191505092915050565b600061303a8285612ffd565b91506130468284612ffd565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006130ae60268361223f565b91506130b982613052565b604082019050919050565b600060208201905081810360008301526130dd816130a1565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b600061314060258361223f565b915061314b826130e4565b604082019050919050565b6000602082019050818103600083015261316f81613133565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131d260248361223f565b91506131dd82613176565b604082019050919050565b60006020820190508181036000830152613201816131c5565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061323e60208361223f565b915061324982613208565b602082019050919050565b6000602082019050818103600083015261326d81613231565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006132aa60208361223f565b91506132b582613274565b602082019050919050565b600060208201905081810360008301526132d98161329d565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000613316601c8361223f565b9150613321826132e0565b602082019050919050565b6000602082019050818103600083015261334581613309565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b600061338260198361223f565b915061338d8261334c565b602082019050919050565b600060208201905081810360008301526133b181613375565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061341460328361223f565b915061341f826133b8565b604082019050919050565b6000602082019050818103600083015261344381613407565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600081519050919050565b600082825260208201905092915050565b60006134a082613479565b6134aa8185613484565b93506134ba818560208601612250565b6134c38161227a565b840191505092915050565b60006080820190506134e3600083018761237b565b6134f0602083018661237b565b6134fd60408301856124d1565b818103606083015261350f8184613495565b905095945050505050565b600081519050613529816121a5565b92915050565b6000602082840312156135455761354461216f565b5b60006135538482850161351a565b9150509291505056fea2646970667358221220f74dc6b6bed420706e1d9b08ff32bfbe6e005e1b8bc1184c7ce702124d505a3564736f6c634300081a0033