6080604052661b5b1bf4c540006009556000600a60006101000a81548160ff02191690836002811115620000385762000037620002e0565b5b0217905550604051806060016040528060268152602001620039cc60269139600c90805190602001906200006e92919062000230565b503480156200007c57600080fd5b506040518060400160405280600d81526020017f467265656d696e742050617373000000000000000000000000000000000000008152506040518060400160405280600381526020017f464d50000000000000000000000000000000000000000000000000000000000081525081600290805190602001906200010192919062000230565b5080600390805190602001906200011a92919062000230565b506200012b6200015960201b60201c565b600081905550505062000153620001476200016260201b60201c565b6200016a60201b60201c565b62000373565b60006001905090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200023e906200033e565b90600052602060002090601f016020900481019282620002625760008555620002ae565b82601f106200027d57805160ff1916838001178555620002ae565b82800160010185558215620002ae579182015b82811115620002ad57825182559160200191906001019062000290565b5b509050620002bd9190620002c1565b5090565b5b80821115620002dc576000816000905550600101620002c2565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200035757607f821691505b6020821081036200036d576200036c6200030f565b5b50919050565b61364980620003836000396000f3fe6080604052600436106101f95760003560e01c80637cb647591161010d578063c002d23d116100a0578063e985e9c51161006f578063e985e9c51461070d578063e9f5de551461074a578063f2fde38b14610775578063f9020e331461079e578063fe6e59f0146107c9576101f9565b8063c002d23d1461064f578063c87b56dd1461067a578063d8258d95146106b7578063e8a3d485146106e2576101f9565b806395d89b41116100dc57806395d89b4114610595578063a22cb465146105c0578063af6128c2146105e9578063b88d4fde14610626576101f9565b80637cb64759146104ed5780638ba4cc3c146105165780638da5cb5b1461053f57806395c707781461056a576101f9565b80633661edfa1161019057806349f2553a1161015f57806349f2553a1461040a5780635d82cf6e146104335780636352211e1461045c57806370a0823114610499578063715018a6146104d6576101f9565b80633661edfa146103765780633ccfd60b146103a157806342842e0e146103b85780634891ad88146103e1576101f9565b806318160ddd116101cc57806318160ddd146102cc57806323b872dd146102f75780632a234e57146103205780632eb4a7ab1461034b576101f9565b806301ffc9a7146101fe57806306fdde031461023b578063081812fc14610266578063095ea7b3146102a3575b600080fd5b34801561020a57600080fd5b5061022560048036038101906102209190612422565b6107e5565b604051610232919061246a565b60405180910390f35b34801561024757600080fd5b50610250610877565b60405161025d919061251e565b60405180910390f35b34801561027257600080fd5b5061028d60048036038101906102889190612576565b610909565b60405161029a91906125e4565b60405180910390f35b3480156102af57600080fd5b506102ca60048036038101906102c5919061262b565b610988565b005b3480156102d857600080fd5b506102e1610acc565b6040516102ee919061267a565b60405180910390f35b34801561030357600080fd5b5061031e60048036038101906103199190612695565b610ae3565b005b34801561032c57600080fd5b50610335610e05565b604051610342919061267a565b60405180910390f35b34801561035757600080fd5b50610360610e0a565b60405161036d9190612701565b60405180910390f35b34801561038257600080fd5b5061038b610e10565b604051610398919061267a565b60405180910390f35b3480156103ad57600080fd5b506103b6610e15565b005b3480156103c457600080fd5b506103df60048036038101906103da9190612695565b610eb6565b005b3480156103ed57600080fd5b5061040860048036038101906104039190612741565b610ed6565b005b34801561041657600080fd5b50610431600480360381019061042c91906127d3565b610f0b565b005b34801561043f57600080fd5b5061045a60048036038101906104559190612576565b610f29565b005b34801561046857600080fd5b50610483600480360381019061047e9190612576565b610f3b565b60405161049091906125e4565b60405180910390f35b3480156104a557600080fd5b506104c060048036038101906104bb9190612820565b610f4d565b6040516104cd919061267a565b60405180910390f35b3480156104e257600080fd5b506104eb611005565b005b3480156104f957600080fd5b50610514600480360381019061050f9190612879565b611019565b005b34801561052257600080fd5b5061053d6004803603810190610538919061262b565b61102b565b005b34801561054b57600080fd5b50610554611098565b60405161056191906125e4565b60405180910390f35b34801561057657600080fd5b5061057f6110c2565b60405161058c919061267a565b60405180910390f35b3480156105a157600080fd5b506105aa6110c7565b6040516105b7919061251e565b60405180910390f35b3480156105cc57600080fd5b506105e760048036038101906105e291906128d2565b611159565b005b3480156105f557600080fd5b50610610600480360381019061060b9190612576565b6112d0565b60405161061d919061267a565b60405180910390f35b34801561063257600080fd5b5061064d60048036038101906106489190612a42565b6113a5565b005b34801561065b57600080fd5b50610664611418565b604051610671919061267a565b60405180910390f35b34801561068657600080fd5b506106a1600480360381019061069c9190612576565b61141e565b6040516106ae919061251e565b60405180910390f35b3480156106c357600080fd5b506106cc6114c5565b6040516106d9919061267a565b60405180910390f35b3480156106ee57600080fd5b506106f76114cb565b604051610704919061251e565b60405180910390f35b34801561071957600080fd5b50610734600480360381019061072f9190612ac5565b6114eb565b604051610741919061246a565b60405180910390f35b34801561075657600080fd5b5061075f61157f565b60405161076c919061267a565b60405180910390f35b34801561078157600080fd5b5061079c60048036038101906107979190612820565b611584565b005b3480156107aa57600080fd5b506107b3611607565b6040516107c09190612b7c565b60405180910390f35b6107e360048036038101906107de9190612bed565b61161a565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061084057506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806108705750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60606002805461088690612c7c565b80601f01602080910402602001604051908101604052809291908181526020018280546108b290612c7c565b80156108ff5780601f106108d4576101008083540402835291602001916108ff565b820191906000526020600020905b8154815290600101906020018083116108e257829003601f168201915b5050505050905090565b600061091482611a47565b61094a576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061099382610f3b565b90508073ffffffffffffffffffffffffffffffffffffffff166109b4611aa6565b73ffffffffffffffffffffffffffffffffffffffff1614610a17576109e0816109db611aa6565b6114eb565b610a16576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826006600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000610ad6611aae565b6001546000540303905090565b6000610aee82611ab7565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b55576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080610b6184611b83565b91509150610b778187610b72611aa6565b611baa565b610bc357610b8c86610b87611aa6565b6114eb565b610bc2576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610c29576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c368686866001611bee565b8015610c4157600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815460010191905081905550610d0f85610ceb888887611bf4565b7c020000000000000000000000000000000000000000000000000000000017611c1c565b600460008681526020019081526020016000208190555060007c0200000000000000000000000000000000000000000000000000000000841603610d955760006001850190506000600460008381526020019081526020016000205403610d93576000548114610d92578360046000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610dfd8686866001611c47565b505050505050565b600081565b600b5481565b600281565b610e1d611c4d565b600047905060008111610e65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5c90612cf9565b60405180910390fd5b610e6d611098565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610eb2573d6000803e3d6000fd5b5050565b610ed1838383604051806020016040528060008152506113a5565b505050565b610ede611c4d565b80600a60006101000a81548160ff02191690836002811115610f0357610f02612b05565b5b021790555050565b610f13611c4d565b8181600c9190610f24929190612313565b505050565b610f31611c4d565b8060098190555050565b6000610f4682611ab7565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fb4576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b61100d611c4d565b6110176000611ccb565b565b611021611c4d565b80600b8190555050565b611033611c4d565b6103098161103f611d91565b6110499190612d48565b111561108a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108190612dea565b60405180910390fd5b6110948282611da4565b5050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600281565b6060600380546110d690612c7c565b80601f016020809104026020016040519081016040528092919081815260200182805461110290612c7c565b801561114f5780601f106111245761010080835404028352916020019161114f565b820191906000526020600020905b81548152906001019060200180831161113257829003601f168201915b5050505050905090565b611161611aa6565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111c5576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600760006111d2611aa6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1661127f611aa6565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516112c4919061246a565b60405180910390a35050565b60008060028111156112e5576112e4612b05565b5b600a60009054906101000a900460ff16600281111561130757611306612b05565b5b03611347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133e90612e56565b60405180910390fd5b60006001600281111561135d5761135c612b05565b5b600a60009054906101000a900460ff16600281111561137f5761137e612b05565b5b1461138c5760095461138f565b60005b9050808361139d9190612e76565b915050919050565b6113b0848484610ae3565b60008373ffffffffffffffffffffffffffffffffffffffff163b14611412576113db84848484611dc2565b611411576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b60095481565b606061142982611a47565b611468576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145f90612f42565b60405180910390fd5b6000611472611f12565b9050600081511161149257604051806020016040528060008152506114bd565b8061149c84611fa4565b6040516020016114ad929190613036565b6040516020818303038152906040525b915050919050565b61030981565b60606040518060600160405280603481526020016135e060349139905090565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600181565b61158c611c4d565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f2906130e2565b60405180910390fd5b61160481611ccb565b50565b600a60009054906101000a900460ff1681565b6000600281111561162e5761162d612b05565b5b600a60009054906101000a900460ff1660028111156116505761164f612b05565b5b03611690576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168790612e56565b60405180910390fd5b6103098161169c611d91565b6116a69190612d48565b11156116e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116de90613174565b60405180910390fd5b600281111561172b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172290613206565b60405180910390fd5b611734816112d0565b341015611776576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176d90613298565b60405180910390fd5b6001600281111561178a57611789612b05565b5b600a60009054906101000a900460ff1660028111156117ac576117ab612b05565b5b0361195357600181600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117fe9190612d48565b111561183f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118369061332a565b60405180910390fd5b6000336040516020016118529190613392565b6040516020818303038152906040528051906020012090506118b8848480806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050600b5483611feb565b6118f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ee906133f9565b60405180910390fd5b81600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119469190612d48565b9250508190555050611a38565b600281600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119a09190612d48565b11156119e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d890613206565b60405180910390fd5b80600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a309190612d48565b925050819055505b611a423382611da4565b505050565b600081611a52611aae565b11158015611a61575060005482105b8015611a9f575060007c0100000000000000000000000000000000000000000000000000000000600460008581526020019081526020016000205416145b9050919050565b600033905090565b60006001905090565b60008082905080611ac6611aae565b11611b4c57600054811015611b4b5760006004600083815260200190815260200160002054905060007c0100000000000000000000000000000000000000000000000000000000821603611b49575b60008103611b3f576004600083600190039350838152602001908152602001600020549050611b15565b8092505050611b7e565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e8611c0b868684612002565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b611c5561200b565b73ffffffffffffffffffffffffffffffffffffffff16611c73611098565b73ffffffffffffffffffffffffffffffffffffffff1614611cc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc090613465565b60405180910390fd5b565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000611d9b611aae565b60005403905090565b611dbe828260405180602001604052806000815250612013565b5050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611de8611aa6565b8786866040518563ffffffff1660e01b8152600401611e0a94939291906134da565b6020604051808303816000875af1925050508015611e4657506040513d601f19601f82011682018060405250810190611e43919061353b565b60015b611ebf573d8060008114611e76576040519150601f19603f3d011682016040523d82523d6000602084013e611e7b565b606091505b506000815103611eb7576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6060600c8054611f2190612c7c565b80601f0160208091040260200160405190810160405280929190818152602001828054611f4d90612c7c565b8015611f9a5780601f10611f6f57610100808354040283529160200191611f9a565b820191906000526020600020905b815481529060010190602001808311611f7d57829003601f168201915b5050505050905090565b606060806040510190508060405280825b600115611fd757600183039250600a81066030018353600a8104905080611fb5575b508181036020830392508083525050919050565b600082611ff885846120b0565b1490509392505050565b60009392505050565b600033905090565b61201d8383612106565b60008373ffffffffffffffffffffffffffffffffffffffff163b146120ab57600080549050600083820390505b61205d6000868380600101945086611dc2565b612093576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81811061204a5781600054146120a857600080fd5b50505b505050565b60008082905060005b84518110156120fb576120e6828683815181106120d9576120d8613568565b5b60200260200101516122c1565b915080806120f390613597565b9150506120b9565b508091505092915050565b60008054905060008203612146576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121536000848385611bee565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506121ca836121bb6000866000611bf4565b6121c4856122ec565b17611c1c565b6004600083815260200190815260200160002081905550600080838301905073ffffffffffffffffffffffffffffffffffffffff85169150828260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600183015b81811461226b57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600181019050612230565b50600082036122a6576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060008190555050506122bc6000848385611c47565b505050565b60008183106122d9576122d482846122fc565b6122e4565b6122e383836122fc565b5b905092915050565b60006001821460e11b9050919050565b600082600052816020526040600020905092915050565b82805461231f90612c7c565b90600052602060002090601f0160209004810192826123415760008555612388565b82601f1061235a57803560ff1916838001178555612388565b82800160010185558215612388579182015b8281111561238757823582559160200191906001019061236c565b5b5090506123959190612399565b5090565b5b808211156123b257600081600090555060010161239a565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6123ff816123ca565b811461240a57600080fd5b50565b60008135905061241c816123f6565b92915050565b600060208284031215612438576124376123c0565b5b60006124468482850161240d565b91505092915050565b60008115159050919050565b6124648161244f565b82525050565b600060208201905061247f600083018461245b565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124bf5780820151818401526020810190506124a4565b838111156124ce576000848401525b50505050565b6000601f19601f8301169050919050565b60006124f082612485565b6124fa8185612490565b935061250a8185602086016124a1565b612513816124d4565b840191505092915050565b6000602082019050818103600083015261253881846124e5565b905092915050565b6000819050919050565b61255381612540565b811461255e57600080fd5b50565b6000813590506125708161254a565b92915050565b60006020828403121561258c5761258b6123c0565b5b600061259a84828501612561565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125ce826125a3565b9050919050565b6125de816125c3565b82525050565b60006020820190506125f960008301846125d5565b92915050565b612608816125c3565b811461261357600080fd5b50565b600081359050612625816125ff565b92915050565b60008060408385031215612642576126416123c0565b5b600061265085828601612616565b925050602061266185828601612561565b9150509250929050565b61267481612540565b82525050565b600060208201905061268f600083018461266b565b92915050565b6000806000606084860312156126ae576126ad6123c0565b5b60006126bc86828701612616565b93505060206126cd86828701612616565b92505060406126de86828701612561565b9150509250925092565b6000819050919050565b6126fb816126e8565b82525050565b600060208201905061271660008301846126f2565b92915050565b6003811061272957600080fd5b50565b60008135905061273b8161271c565b92915050565b600060208284031215612757576127566123c0565b5b60006127658482850161272c565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126127935761279261276e565b5b8235905067ffffffffffffffff8111156127b0576127af612773565b5b6020830191508360018202830111156127cc576127cb612778565b5b9250929050565b600080602083850312156127ea576127e96123c0565b5b600083013567ffffffffffffffff811115612808576128076123c5565b5b6128148582860161277d565b92509250509250929050565b600060208284031215612836576128356123c0565b5b600061284484828501612616565b91505092915050565b612856816126e8565b811461286157600080fd5b50565b6000813590506128738161284d565b92915050565b60006020828403121561288f5761288e6123c0565b5b600061289d84828501612864565b91505092915050565b6128af8161244f565b81146128ba57600080fd5b50565b6000813590506128cc816128a6565b92915050565b600080604083850312156128e9576128e86123c0565b5b60006128f785828601612616565b9250506020612908858286016128bd565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61294f826124d4565b810181811067ffffffffffffffff8211171561296e5761296d612917565b5b80604052505050565b60006129816123b6565b905061298d8282612946565b919050565b600067ffffffffffffffff8211156129ad576129ac612917565b5b6129b6826124d4565b9050602081019050919050565b82818337600083830152505050565b60006129e56129e084612992565b612977565b905082815260208101848484011115612a0157612a00612912565b5b612a0c8482856129c3565b509392505050565b600082601f830112612a2957612a2861276e565b5b8135612a398482602086016129d2565b91505092915050565b60008060008060808587031215612a5c57612a5b6123c0565b5b6000612a6a87828801612616565b9450506020612a7b87828801612616565b9350506040612a8c87828801612561565b925050606085013567ffffffffffffffff811115612aad57612aac6123c5565b5b612ab987828801612a14565b91505092959194509250565b60008060408385031215612adc57612adb6123c0565b5b6000612aea85828601612616565b9250506020612afb85828601612616565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110612b4557612b44612b05565b5b50565b6000819050612b5682612b34565b919050565b6000612b6682612b48565b9050919050565b612b7681612b5b565b82525050565b6000602082019050612b916000830184612b6d565b92915050565b60008083601f840112612bad57612bac61276e565b5b8235905067ffffffffffffffff811115612bca57612bc9612773565b5b602083019150836020820283011115612be657612be5612778565b5b9250929050565b600080600060408486031215612c0657612c056123c0565b5b600084013567ffffffffffffffff811115612c2457612c236123c5565b5b612c3086828701612b97565b93509350506020612c4386828701612561565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612c9457607f821691505b602082108103612ca757612ca6612c4d565b5b50919050565b7f4e6f2062616c616e636500000000000000000000000000000000000000000000600082015250565b6000612ce3600a83612490565b9150612cee82612cad565b602082019050919050565b60006020820190508181036000830152612d1281612cd6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612d5382612540565b9150612d5e83612540565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612d9357612d92612d19565b5b828201905092915050565b7f52657175657374206578636565647320636f6c6c656374696f6e2073697a6500600082015250565b6000612dd4601f83612490565b9150612ddf82612d9e565b602082019050919050565b60006020820190508181036000830152612e0381612dc7565b9050919050565b7f53616c657320617265206f666600000000000000000000000000000000000000600082015250565b6000612e40600d83612490565b9150612e4b82612e0a565b602082019050919050565b60006020820190508181036000830152612e6f81612e33565b9050919050565b6000612e8182612540565b9150612e8c83612540565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612ec557612ec4612d19565b5b828202905092915050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000612f2c602f83612490565b9150612f3782612ed0565b604082019050919050565b60006020820190508181036000830152612f5b81612f1f565b9050919050565b600081905092915050565b6000612f7882612485565b612f828185612f62565b9350612f928185602086016124a1565b80840191505092915050565b7f2f00000000000000000000000000000000000000000000000000000000000000600082015250565b6000612fd4600183612f62565b9150612fdf82612f9e565b600182019050919050565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b6000613020600583612f62565b915061302b82612fea565b600582019050919050565b60006130428285612f6d565b915061304d82612fc7565b91506130598284612f6d565b915061306482613013565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006130cc602683612490565b91506130d782613070565b604082019050919050565b600060208201905081810360008301526130fb816130bf565b9050919050565b7f4e756d626572206f662072657175657374656420746f6b656e732077696c6c2060008201527f65786365656420636f6c6c656374696f6e2073697a6500000000000000000000602082015250565b600061315e603683612490565b915061316982613102565b604082019050919050565b6000602082019050818103600083015261318d81613151565b9050919050565b7f4e756d626572206f662072657175657374656420746f6b656e7320657863656560008201527f647320616c6c6f77616e63652028322900000000000000000000000000000000602082015250565b60006131f0603083612490565b91506131fb82613194565b604082019050919050565b6000602082019050818103600083015261321f816131e3565b9050919050565b7f45746865722076616c75652073656e74206973206e6f7420737566666963696560008201527f6e74000000000000000000000000000000000000000000000000000000000000602082015250565b6000613282602283612490565b915061328d82613226565b604082019050919050565b600060208201905081810360008301526132b181613275565b9050919050565b7f4e756d626572206f662072657175657374656420746f6b656e7320657863656560008201527f647320616c6c6f77616e63652028312900000000000000000000000000000000602082015250565b6000613314603083612490565b915061331f826132b8565b604082019050919050565b6000602082019050818103600083015261334381613307565b9050919050565b60008160601b9050919050565b60006133628261334a565b9050919050565b600061337482613357565b9050919050565b61338c613387826125c3565b613369565b82525050565b600061339e828461337b565b60148201915081905092915050565b7f596f7520617265206e6f742077686974656c6973746564000000000000000000600082015250565b60006133e3601783612490565b91506133ee826133ad565b602082019050919050565b60006020820190508181036000830152613412816133d6565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061344f602083612490565b915061345a82613419565b602082019050919050565b6000602082019050818103600083015261347e81613442565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006134ac82613485565b6134b68185613490565b93506134c68185602086016124a1565b6134cf816124d4565b840191505092915050565b60006080820190506134ef60008301876125d5565b6134fc60208301866125d5565b613509604083018561266b565b818103606083015261351b81846134a1565b905095945050505050565b600081519050613535816123f6565b92915050565b600060208284031215613551576135506123c0565b5b600061355f84828501613526565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006135a282612540565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036135d4576135d3612d19565b5b60018201905091905056fe68747470733a2f2f667265656d696e742d6e66742e636f6d2f697066732f636f6e74726163745f6d657461646174612e6a736f6ea2646970667358221220844b7cff293f76620d136e775662dd4774436ee3c4888ea211bddec3854e4b1064736f6c634300080e003368747470733a2f2f667265656d696e742d6e66742e636f6d2f697066732f6d65746164617461