60e0604052661ff973cafa80006080908152506103e863ffffffff1660a09063ffffffff16815250600363ffffffff1660c09063ffffffff168152503480156200004857600080fd5b506040518060400160405280600b81526020017f486f6d656c657373446f670000000000000000000000000000000000000000008152506040518060400160405280600281526020017f48440000000000000000000000000000000000000000000000000000000000008152508160029080519060200190620000cd929190620001f8565b508060039080519060200190620000e6929190620001f8565b50620000f76200012560201b60201c565b60008190555050506200011f620001136200012a60201b60201c565b6200013260201b60201c565b6200030d565b600090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200020690620002d7565b90600052602060002090601f0160209004810192826200022a576000855562000276565b82601f106200024557805160ff191683800117855562000276565b8280016001018555821562000276579182015b828111156200027557825182559160200191906001019062000258565b5b50905062000285919062000289565b5090565b5b80821115620002a45760008160009055506001016200028a565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002f057607f821691505b60208210811415620003075762000306620002a8565b5b50919050565b60805160a05160c0516132a66200034b6000396000610dd60152600081816108d8015261116d0152600081816109540152610eb601526132a66000f3fe60806040526004361061014b5760003560e01c806370a08231116100b6578063a22cb4651161006f578063a22cb4651461044d578063b88d4fde14610476578063c87b56dd1461049f578063d5abeb01146104dc578063e985e9c514610507578063f2fde38b146105445761014b565b806370a082311461034d578063715018a61461038a57806389fbcc98146103a15780638da5cb5b146103cc57806395d89b41146103f7578063a035b1fe146104225761014b565b806323b872dd1161010857806323b872dd146102535780633ccfd60b1461027c57806342842e0e1461029357806355f804b3146102bc5780636352211e146102e55780636c0360eb146103225761014b565b806301ffc9a71461015057806306fdde031461018d578063081812fc146101b8578063095ea7b3146101f55780631249c58b1461021e57806318160ddd14610228575b600080fd5b34801561015c57600080fd5b506101776004803603810190610172919061259b565b61056d565b60405161018491906125e3565b60405180910390f35b34801561019957600080fd5b506101a261064f565b6040516101af9190612697565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da91906126ef565b6106e1565b6040516101ec919061275d565b60405180910390f35b34801561020157600080fd5b5061021c600480360381019061021791906127a4565b61075d565b005b610226610868565b005b34801561023457600080fd5b5061023d6109c2565b60405161024a91906127f3565b60405180910390f35b34801561025f57600080fd5b5061027a6004803603810190610275919061280e565b6109d9565b005b34801561028857600080fd5b506102916109e9565b005b34801561029f57600080fd5b506102ba60048036038101906102b5919061280e565b610b22565b005b3480156102c857600080fd5b506102e360048036038101906102de9190612996565b610b42565b005b3480156102f157600080fd5b5061030c600480360381019061030791906126ef565b610bd8565b604051610319919061275d565b60405180910390f35b34801561032e57600080fd5b50610337610bee565b6040516103449190612697565b60405180910390f35b34801561035957600080fd5b50610374600480360381019061036f91906129df565b610c7c565b60405161038191906127f3565b60405180910390f35b34801561039657600080fd5b5061039f610d4c565b005b3480156103ad57600080fd5b506103b6610dd4565b6040516103c39190612a2b565b60405180910390f35b3480156103d857600080fd5b506103e1610df8565b6040516103ee919061275d565b60405180910390f35b34801561040357600080fd5b5061040c610e22565b6040516104199190612697565b60405180910390f35b34801561042e57600080fd5b50610437610eb4565b60405161044491906127f3565b60405180910390f35b34801561045957600080fd5b50610474600480360381019061046f9190612a72565b610ed8565b005b34801561048257600080fd5b5061049d60048036038101906104989190612b53565b611050565b005b3480156104ab57600080fd5b506104c660048036038101906104c191906126ef565b6110cc565b6040516104d39190612697565b60405180910390f35b3480156104e857600080fd5b506104f161116b565b6040516104fe9190612a2b565b60405180910390f35b34801561051357600080fd5b5061052e60048036038101906105299190612bd6565b61118f565b60405161053b91906125e3565b60405180910390f35b34801561055057600080fd5b5061056b600480360381019061056691906129df565b611223565b005b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061063857507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061064857506106478261131b565b5b9050919050565b60606002805461065e90612c45565b80601f016020809104026020016040519081016040528092919081815260200182805461068a90612c45565b80156106d75780601f106106ac576101008083540402835291602001916106d7565b820191906000526020600020905b8154815290600101906020018083116106ba57829003601f168201915b5050505050905090565b60006106ec82611385565b610722576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061076882610bd8565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107d0576040517f943f7b8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166107ef6113d3565b73ffffffffffffffffffffffffffffffffffffffff1614158015610821575061081f8161081a6113d3565b61118f565b155b15610858576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108638383836113db565b505050565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff16146108d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cd90612cc3565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff1660036109076109c2565b6109119190612d12565b1115610952576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094990612db4565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000003410156109b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ac90612e20565b60405180910390fd5b6109c033600361148d565b565b60006109cc6114ab565b6001546000540303905090565b6109e48383836114b0565b505050565b6109f16113d3565b73ffffffffffffffffffffffffffffffffffffffff16610a0f610df8565b73ffffffffffffffffffffffffffffffffffffffff1614610a65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5c90612e8c565b60405180910390fd5b6000479050600033905060008173ffffffffffffffffffffffffffffffffffffffff1683604051610a9590612edd565b60006040518083038185875af1925050503d8060008114610ad2576040519150601f19603f3d011682016040523d82523d6000602084013e610ad7565b606091505b50508091505080610b1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1490612f3e565b60405180910390fd5b505050565b610b3d83838360405180602001604052806000815250611050565b505050565b610b4a6113d3565b73ffffffffffffffffffffffffffffffffffffffff16610b68610df8565b73ffffffffffffffffffffffffffffffffffffffff1614610bbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb590612e8c565b60405180910390fd5b8060099080519060200190610bd4929190612449565b5050565b6000610be3826119a1565b600001519050919050565b60098054610bfb90612c45565b80601f0160208091040260200160405190810160405280929190818152602001828054610c2790612c45565b8015610c745780601f10610c4957610100808354040283529160200191610c74565b820191906000526020600020905b815481529060010190602001808311610c5757829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ce4576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b610d546113d3565b73ffffffffffffffffffffffffffffffffffffffff16610d72610df8565b73ffffffffffffffffffffffffffffffffffffffff1614610dc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbf90612e8c565b60405180910390fd5b610dd26000611c30565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610e3190612c45565b80601f0160208091040260200160405190810160405280929190818152602001828054610e5d90612c45565b8015610eaa5780601f10610e7f57610100808354040283529160200191610eaa565b820191906000526020600020905b815481529060010190602001808311610e8d57829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b610ee06113d3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f45576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060076000610f526113d3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610fff6113d3565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161104491906125e3565b60405180910390a35050565b61105b8484846114b0565b61107a8373ffffffffffffffffffffffffffffffffffffffff16611cf6565b801561108f575061108d84848484611d19565b155b156110c6576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b60606110d782611385565b61110d576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611117611e6a565b90506000815114156111385760405180602001604052806000815250611163565b8061114284611efc565b604051602001611153929190612f9a565b6040516020818303038152906040525b915050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61122b6113d3565b73ffffffffffffffffffffffffffffffffffffffff16611249610df8565b73ffffffffffffffffffffffffffffffffffffffff161461129f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129690612e8c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561130f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130690613030565b60405180910390fd5b61131881611c30565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000816113906114ab565b1115801561139f575060005482105b80156113cc575060046000838152602001908152602001600020600001601c9054906101000a900460ff16155b9050919050565b600033905090565b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6114a782826040518060200160405280600081525061205d565b5050565b600090565b60006114bb826119a1565b90506000816000015173ffffffffffffffffffffffffffffffffffffffff166114e26113d3565b73ffffffffffffffffffffffffffffffffffffffff1614806115155750611514826000015161150f6113d3565b61118f565b5b8061155a57506115236113d3565b73ffffffffffffffffffffffffffffffffffffffff16611542846106e1565b73ffffffffffffffffffffffffffffffffffffffff16145b905080611593576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff16146115fc576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611663576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611670858585600161206f565b61168060008484600001516113db565b6001600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550836004600085815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426004600085815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000600184019050600073ffffffffffffffffffffffffffffffffffffffff166004600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611931576000548110156119305782600001516004600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082602001516004600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5b50828473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461199a8585856001612075565b5050505050565b6119a96124cf565b6000829050806119b76114ab565b111580156119c6575060005481105b15611bf9576000600460008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff16151515158152505090508060400151611bf757600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614611adb578092505050611c2b565b5b600115611bf657818060019003925050600460008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614611bf1578092505050611c2b565b611adc565b5b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611d3f6113d3565b8786866040518563ffffffff1660e01b8152600401611d6194939291906130a5565b6020604051808303816000875af1925050508015611d9d57506040513d601f19601f82011682018060405250810190611d9a9190613106565b60015b611e17573d8060008114611dcd576040519150601f19603f3d011682016040523d82523d6000602084013e611dd2565b606091505b50600081511415611e0f576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b606060098054611e7990612c45565b80601f0160208091040260200160405190810160405280929190818152602001828054611ea590612c45565b8015611ef25780601f10611ec757610100808354040283529160200191611ef2565b820191906000526020600020905b815481529060010190602001808311611ed557829003601f168201915b5050505050905090565b60606000821415611f44576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612058565b600082905060005b60008214611f76578080611f5f90613133565b915050600a82611f6f91906131ab565b9150611f4c565b60008167ffffffffffffffff811115611f9257611f9161286b565b5b6040519080825280601f01601f191660200182016040528015611fc45781602001600182028036833780820191505090505b5090505b6000851461205157600182611fdd91906131dc565b9150600a85611fec9190613210565b6030611ff89190612d12565b60f81b81838151811061200e5761200d613241565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561204a91906131ab565b9450611fc8565b8093505050505b919050565b61206a838383600161207b565b505050565b50505050565b50505050565b600080549050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156120e8576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000841415612123576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612130600086838761206f565b83600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550846004600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426004600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000819050600085820190508380156122fa57506122f98773ffffffffffffffffffffffffffffffffffffffff16611cf6565b5b156123c0575b818773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461236f6000888480600101955088611d19565b6123a5576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808214156123005782600054146123bb57600080fd5b61242c565b5b818060010192508773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4808214156123c1575b8160008190555050506124426000868387612075565b5050505050565b82805461245590612c45565b90600052602060002090601f01602090048101928261247757600085556124be565b82601f1061249057805160ff19168380011785556124be565b828001600101855582156124be579182015b828111156124bd5782518255916020019190600101906124a2565b5b5090506124cb9190612512565b5090565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581525090565b5b8082111561252b576000816000905550600101612513565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61257881612543565b811461258357600080fd5b50565b6000813590506125958161256f565b92915050565b6000602082840312156125b1576125b0612539565b5b60006125bf84828501612586565b91505092915050565b60008115159050919050565b6125dd816125c8565b82525050565b60006020820190506125f860008301846125d4565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561263857808201518184015260208101905061261d565b83811115612647576000848401525b50505050565b6000601f19601f8301169050919050565b6000612669826125fe565b6126738185612609565b935061268381856020860161261a565b61268c8161264d565b840191505092915050565b600060208201905081810360008301526126b1818461265e565b905092915050565b6000819050919050565b6126cc816126b9565b81146126d757600080fd5b50565b6000813590506126e9816126c3565b92915050565b60006020828403121561270557612704612539565b5b6000612713848285016126da565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127478261271c565b9050919050565b6127578161273c565b82525050565b6000602082019050612772600083018461274e565b92915050565b6127818161273c565b811461278c57600080fd5b50565b60008135905061279e81612778565b92915050565b600080604083850312156127bb576127ba612539565b5b60006127c98582860161278f565b92505060206127da858286016126da565b9150509250929050565b6127ed816126b9565b82525050565b600060208201905061280860008301846127e4565b92915050565b60008060006060848603121561282757612826612539565b5b60006128358682870161278f565b93505060206128468682870161278f565b9250506040612857868287016126da565b9150509250925092565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6128a38261264d565b810181811067ffffffffffffffff821117156128c2576128c161286b565b5b80604052505050565b60006128d561252f565b90506128e1828261289a565b919050565b600067ffffffffffffffff8211156129015761290061286b565b5b61290a8261264d565b9050602081019050919050565b82818337600083830152505050565b6000612939612934846128e6565b6128cb565b90508281526020810184848401111561295557612954612866565b5b612960848285612917565b509392505050565b600082601f83011261297d5761297c612861565b5b813561298d848260208601612926565b91505092915050565b6000602082840312156129ac576129ab612539565b5b600082013567ffffffffffffffff8111156129ca576129c961253e565b5b6129d684828501612968565b91505092915050565b6000602082840312156129f5576129f4612539565b5b6000612a038482850161278f565b91505092915050565b600063ffffffff82169050919050565b612a2581612a0c565b82525050565b6000602082019050612a406000830184612a1c565b92915050565b612a4f816125c8565b8114612a5a57600080fd5b50565b600081359050612a6c81612a46565b92915050565b60008060408385031215612a8957612a88612539565b5b6000612a978582860161278f565b9250506020612aa885828601612a5d565b9150509250929050565b600067ffffffffffffffff821115612acd57612acc61286b565b5b612ad68261264d565b9050602081019050919050565b6000612af6612af184612ab2565b6128cb565b905082815260208101848484011115612b1257612b11612866565b5b612b1d848285612917565b509392505050565b600082601f830112612b3a57612b39612861565b5b8135612b4a848260208601612ae3565b91505092915050565b60008060008060808587031215612b6d57612b6c612539565b5b6000612b7b8782880161278f565b9450506020612b8c8782880161278f565b9350506040612b9d878288016126da565b925050606085013567ffffffffffffffff811115612bbe57612bbd61253e565b5b612bca87828801612b25565b91505092959194509250565b60008060408385031215612bed57612bec612539565b5b6000612bfb8582860161278f565b9250506020612c0c8582860161278f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612c5d57607f821691505b60208210811415612c7157612c70612c16565b5b50919050565b7f5468652063616c6c657220697320616e6f7468657220636f6e74726163740000600082015250565b6000612cad601e83612609565b9150612cb882612c77565b602082019050919050565b60006020820190508181036000830152612cdc81612ca0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612d1d826126b9565b9150612d28836126b9565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612d5d57612d5c612ce3565b5b828201905092915050565b7f736f6c64206f7574000000000000000000000000000000000000000000000000600082015250565b6000612d9e600883612609565b9150612da982612d68565b602082019050919050565b60006020820190508181036000830152612dcd81612d91565b9050919050565b7f696e73756666696369656e740000000000000000000000000000000000000000600082015250565b6000612e0a600c83612609565b9150612e1582612dd4565b602082019050919050565b60006020820190508181036000830152612e3981612dfd565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612e76602083612609565b9150612e8182612e40565b602082019050919050565b60006020820190508181036000830152612ea581612e69565b9050919050565b600081905092915050565b50565b6000612ec7600083612eac565b9150612ed282612eb7565b600082019050919050565b6000612ee882612eba565b9150819050919050565b7f5472616e73616374696f6e20556e7375636365737366756c0000000000000000600082015250565b6000612f28601883612609565b9150612f3382612ef2565b602082019050919050565b60006020820190508181036000830152612f5781612f1b565b9050919050565b600081905092915050565b6000612f74826125fe565b612f7e8185612f5e565b9350612f8e81856020860161261a565b80840191505092915050565b6000612fa68285612f69565b9150612fb28284612f69565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061301a602683612609565b915061302582612fbe565b604082019050919050565b600060208201905081810360008301526130498161300d565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061307782613050565b613081818561305b565b935061309181856020860161261a565b61309a8161264d565b840191505092915050565b60006080820190506130ba600083018761274e565b6130c7602083018661274e565b6130d460408301856127e4565b81810360608301526130e6818461306c565b905095945050505050565b6000815190506131008161256f565b92915050565b60006020828403121561311c5761311b612539565b5b600061312a848285016130f1565b91505092915050565b600061313e826126b9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561317157613170612ce3565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006131b6826126b9565b91506131c1836126b9565b9250826131d1576131d061317c565b5b828204905092915050565b60006131e7826126b9565b91506131f2836126b9565b92508282101561320557613204612ce3565b5b828203905092915050565b600061321b826126b9565b9150613226836126b9565b9250826132365761323561317c565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea2646970667358221220c614195e209ca1ab51a46d73dae26ef08ddd6ab641fd17b3977359bcf7181c0264736f6c634300080c0033