0x60806040523480156200001157600080fd5b506040518060400160405280601c81526020017f68747470733a2f2f6170702e6171702e696f2f6d657461646174612f0000000081525062000059816200008060201b60201c565b506200007a6200006e6200009c60201b60201c565b620000a460201b60201c565b6200027f565b8060029080519060200190620000989291906200016a565b5050565b600033905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001789062000249565b90600052602060002090601f0160209004810192826200019c5760008555620001e8565b82601f10620001b757805160ff1916838001178555620001e8565b82800160010185558215620001e8579182015b82811115620001e7578251825591602001919060010190620001ca565b5b509050620001f79190620001fb565b5090565b5b8082111562000216576000816000905550600101620001fc565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200026257607f821691505b602082108114156200027957620002786200021a565b5b50919050565b61393a806200028f6000396000f3fe608060405234801561001057600080fd5b50600436106101155760003560e01c8063715018a6116100a2578063a22cb46511610071578063a22cb465146102de578063bd85b039146102fa578063e985e9c51461032a578063f242432a1461035a578063f2fde38b1461037657610115565b8063715018a61461027c578063731133e9146102865780638da5cb5b146102a257806395d89b41146102c057610115565b80630e89341c116100e95780630e89341c146101b45780631f7fdffa146101e45780632eb2c2d6146102005780634e1273f41461021c5780634f558e791461024c57610115565b8062fdd58e1461011a57806301ffc9a71461014a57806302fe53051461017a57806306fdde0314610196575b600080fd5b610134600480360381019061012f91906121b2565b610392565b6040516101419190612201565b60405180910390f35b610164600480360381019061015f9190612274565b61045b565b60405161017191906122bc565b60405180910390f35b610194600480360381019061018f919061241d565b61053d565b005b61019e6105c5565b6040516101ab91906124ee565b60405180910390f35b6101ce60048036038101906101c99190612510565b610602565b6040516101db91906124ee565b60405180910390f35b6101fe60048036038101906101f991906126a6565b61063d565b005b61021a60048036038101906102159190612761565b6106cb565b005b610236600480360381019061023191906128f3565b61076c565b6040516102439190612a29565b60405180910390f35b61026660048036038101906102619190612510565b610885565b60405161027391906122bc565b60405180910390f35b610284610899565b005b6102a0600480360381019061029b9190612a4b565b610921565b005b6102aa6109af565b6040516102b79190612add565b60405180910390f35b6102c86109d9565b6040516102d591906124ee565b60405180910390f35b6102f860048036038101906102f39190612b24565b610a16565b005b610314600480360381019061030f9190612510565b610a2c565b6040516103219190612201565b60405180910390f35b610344600480360381019061033f9190612b64565b610a49565b60405161035191906122bc565b60405180910390f35b610374600480360381019061036f9190612ba4565b610add565b005b610390600480360381019061038b9190612c3b565b610b7e565b005b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610403576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103fa90612cda565b60405180910390fd5b60008083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061052657507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610536575061053582610c76565b5b9050919050565b610545610ce0565b73ffffffffffffffffffffffffffffffffffffffff166105636109af565b73ffffffffffffffffffffffffffffffffffffffff16146105b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b090612d46565b60405180910390fd5b6105c281610ce8565b50565b60606040518060400160405280600e81526020017f415150206d656d62657273686970000000000000000000000000000000000000815250905090565b606061060d82610d02565b61061683610d96565b604051602001610627929190612dee565b6040516020818303038152906040529050919050565b610645610ce0565b73ffffffffffffffffffffffffffffffffffffffff166106636109af565b73ffffffffffffffffffffffffffffffffffffffff16146106b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b090612d46565b60405180910390fd5b6106c584848484610ef7565b50505050565b6106d3610ce0565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610719575061071885610713610ce0565b610a49565b5b610758576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074f90612e8f565b60405180910390fd5b6107658585858585611115565b5050505050565b606081518351146107b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a990612f21565b60405180910390fd5b6000835167ffffffffffffffff8111156107cf576107ce6122f2565b5b6040519080825280602002602001820160405280156107fd5781602001602082028036833780820191505090505b50905060005b845181101561087a5761084a85828151811061082257610821612f41565b5b602002602001015185838151811061083d5761083c612f41565b5b6020026020010151610392565b82828151811061085d5761085c612f41565b5b6020026020010181815250508061087390612f9f565b9050610803565b508091505092915050565b60008061089183610a2c565b119050919050565b6108a1610ce0565b73ffffffffffffffffffffffffffffffffffffffff166108bf6109af565b73ffffffffffffffffffffffffffffffffffffffff1614610915576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090c90612d46565b60405180910390fd5b61091f6000611429565b565b610929610ce0565b73ffffffffffffffffffffffffffffffffffffffff166109476109af565b73ffffffffffffffffffffffffffffffffffffffff161461099d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099490612d46565b60405180910390fd5b6109a9848484846114ef565b50505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4151504d00000000000000000000000000000000000000000000000000000000815250905090565b610a28610a21610ce0565b8383611685565b5050565b600060046000838152602001908152602001600020549050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610ae5610ce0565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610b2b5750610b2a85610b25610ce0565b610a49565b5b610b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b619061305a565b60405180910390fd5b610b7785858585856117f2565b5050505050565b610b86610ce0565b73ffffffffffffffffffffffffffffffffffffffff16610ba46109af565b73ffffffffffffffffffffffffffffffffffffffff1614610bfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf190612d46565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610c6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c61906130ec565b60405180910390fd5b610c7381611429565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b8060029080519060200190610cfe929190612067565b5050565b606060028054610d119061313b565b80601f0160208091040260200160405190810160405280929190818152602001828054610d3d9061313b565b8015610d8a5780601f10610d5f57610100808354040283529160200191610d8a565b820191906000526020600020905b815481529060010190602001808311610d6d57829003601f168201915b50505050509050919050565b60606000821415610dde576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050610ef2565b600082905060005b60008214610e10578080610df990612f9f565b915050600a82610e09919061319c565b9150610de6565b60008167ffffffffffffffff811115610e2c57610e2b6122f2565b5b6040519080825280601f01601f191660200182016040528015610e5e5781602001600182028036833780820191505090505b5090505b60008514610eeb57600182610e7791906131cd565b9150600a85610e869190613201565b6030610e929190613232565b60f81b818381518110610ea857610ea7612f41565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85610ee4919061319c565b9450610e62565b8093505050505b919050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610f67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5e906132fa565b60405180910390fd5b8151835114610fab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa29061338c565b60405180910390fd5b6000610fb5610ce0565b9050610fc681600087878787611a74565b60005b845181101561107f57838181518110610fe557610fe4612f41565b5b602002602001015160008087848151811061100357611002612f41565b5b6020026020010151815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110659190613232565b92505081905550808061107790612f9f565b915050610fc9565b508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516110f79291906133ac565b60405180910390a461110e81600087878787611a8a565b5050505050565b8151835114611159576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111509061338c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156111c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c090613455565b60405180910390fd5b60006111d3610ce0565b90506111e3818787878787611a74565b60005b845181101561139457600085828151811061120457611203612f41565b5b60200260200101519050600085838151811061122357611222612f41565b5b60200260200101519050600080600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156112c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bb906134e7565b60405180910390fd5b81810360008085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160008085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113799190613232565b925050819055505050508061138d90612f9f565b90506111e6565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161140b9291906133ac565b60405180910390a4611421818787878787611a8a565b505050505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561155f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611556906132fa565b60405180910390fd5b6000611569610ce0565b905061158a8160008761157b88611c71565b61158488611c71565b87611a74565b8260008086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115e99190613232565b925050819055508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628787604051611667929190613507565b60405180910390a461167e81600087878787611ceb565b5050505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156116f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116eb906135a2565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516117e591906122bc565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611862576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185990613455565b60405180910390fd5b600061186c610ce0565b905061188c81878761187d88611c71565b61188688611c71565b87611a74565b600080600086815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083811015611923576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191a906134e7565b60405180910390fd5b83810360008087815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508360008087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119d89190613232565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628888604051611a55929190613507565b60405180910390a4611a6b828888888888611ceb565b50505050505050565b611a82868686868686611ed2565b505050505050565b611aa98473ffffffffffffffffffffffffffffffffffffffff1661204c565b15611c69578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b8152600401611aef959493929190613617565b602060405180830381600087803b158015611b0957600080fd5b505af1925050508015611b3a57506040513d601f19601f82011682018060405250810190611b379190613694565b60015b611be057611b466136ce565b806308c379a01415611ba35750611b5b6136f0565b80611b665750611ba5565b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9a91906124ee565b60405180910390fd5b505b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd7906137f8565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611c67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5e9061388a565b60405180910390fd5b505b505050505050565b60606000600167ffffffffffffffff811115611c9057611c8f6122f2565b5b604051908082528060200260200182016040528015611cbe5781602001602082028036833780820191505090505b5090508281600081518110611cd657611cd5612f41565b5b60200260200101818152505080915050919050565b611d0a8473ffffffffffffffffffffffffffffffffffffffff1661204c565b15611eca578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b8152600401611d509594939291906138aa565b602060405180830381600087803b158015611d6a57600080fd5b505af1925050508015611d9b57506040513d601f19601f82011682018060405250810190611d989190613694565b60015b611e4157611da76136ce565b806308c379a01415611e045750611dbc6136f0565b80611dc75750611e06565b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dfb91906124ee565b60405180910390fd5b505b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e38906137f8565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611ec8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ebf9061388a565b60405180910390fd5b505b505050505050565b611ee086868686868661205f565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611f925760005b8351811015611f9057828181518110611f3457611f33612f41565b5b602002602001015160046000868481518110611f5357611f52612f41565b5b602002602001015181526020019081526020016000206000828254611f789190613232565b9250508190555080611f8990612f9f565b9050611f18565b505b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156120445760005b835181101561204257828181518110611fe657611fe5612f41565b5b60200260200101516004600086848151811061200557612004612f41565b5b60200260200101518152602001908152602001600020600082825461202a91906131cd565b925050819055508061203b90612f9f565b9050611fca565b505b505050505050565b600080823b905060008111915050919050565b505050505050565b8280546120739061313b565b90600052602060002090601f01602090048101928261209557600085556120dc565b82601f106120ae57805160ff19168380011785556120dc565b828001600101855582156120dc579182015b828111156120db5782518255916020019190600101906120c0565b5b5090506120e991906120ed565b5090565b5b808211156121065760008160009055506001016120ee565b5090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006121498261211e565b9050919050565b6121598161213e565b811461216457600080fd5b50565b60008135905061217681612150565b92915050565b6000819050919050565b61218f8161217c565b811461219a57600080fd5b50565b6000813590506121ac81612186565b92915050565b600080604083850312156121c9576121c8612114565b5b60006121d785828601612167565b92505060206121e88582860161219d565b9150509250929050565b6121fb8161217c565b82525050565b600060208201905061221660008301846121f2565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6122518161221c565b811461225c57600080fd5b50565b60008135905061226e81612248565b92915050565b60006020828403121561228a57612289612114565b5b60006122988482850161225f565b91505092915050565b60008115159050919050565b6122b6816122a1565b82525050565b60006020820190506122d160008301846122ad565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61232a826122e1565b810181811067ffffffffffffffff82111715612349576123486122f2565b5b80604052505050565b600061235c61210a565b90506123688282612321565b919050565b600067ffffffffffffffff821115612388576123876122f2565b5b612391826122e1565b9050602081019050919050565b82818337600083830152505050565b60006123c06123bb8461236d565b612352565b9050828152602081018484840111156123dc576123db6122dc565b5b6123e784828561239e565b509392505050565b600082601f830112612404576124036122d7565b5b81356124148482602086016123ad565b91505092915050565b60006020828403121561243357612432612114565b5b600082013567ffffffffffffffff81111561245157612450612119565b5b61245d848285016123ef565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156124a0578082015181840152602081019050612485565b838111156124af576000848401525b50505050565b60006124c082612466565b6124ca8185612471565b93506124da818560208601612482565b6124e3816122e1565b840191505092915050565b6000602082019050818103600083015261250881846124b5565b905092915050565b60006020828403121561252657612525612114565b5b60006125348482850161219d565b91505092915050565b600067ffffffffffffffff821115612558576125576122f2565b5b602082029050602081019050919050565b600080fd5b600061258161257c8461253d565b612352565b905080838252602082019050602084028301858111156125a4576125a3612569565b5b835b818110156125cd57806125b9888261219d565b8452602084019350506020810190506125a6565b5050509392505050565b600082601f8301126125ec576125eb6122d7565b5b81356125fc84826020860161256e565b91505092915050565b600067ffffffffffffffff8211156126205761261f6122f2565b5b612629826122e1565b9050602081019050919050565b600061264961264484612605565b612352565b905082815260208101848484011115612665576126646122dc565b5b61267084828561239e565b509392505050565b600082601f83011261268d5761268c6122d7565b5b813561269d848260208601612636565b91505092915050565b600080600080608085870312156126c0576126bf612114565b5b60006126ce87828801612167565b945050602085013567ffffffffffffffff8111156126ef576126ee612119565b5b6126fb878288016125d7565b935050604085013567ffffffffffffffff81111561271c5761271b612119565b5b612728878288016125d7565b925050606085013567ffffffffffffffff81111561274957612748612119565b5b61275587828801612678565b91505092959194509250565b600080600080600060a0868803121561277d5761277c612114565b5b600061278b88828901612167565b955050602061279c88828901612167565b945050604086013567ffffffffffffffff8111156127bd576127bc612119565b5b6127c9888289016125d7565b935050606086013567ffffffffffffffff8111156127ea576127e9612119565b5b6127f6888289016125d7565b925050608086013567ffffffffffffffff81111561281757612816612119565b5b61282388828901612678565b9150509295509295909350565b600067ffffffffffffffff82111561284b5761284a6122f2565b5b602082029050602081019050919050565b600061286f61286a84612830565b612352565b9050808382526020820190506020840283018581111561289257612891612569565b5b835b818110156128bb57806128a78882612167565b845260208401935050602081019050612894565b5050509392505050565b600082601f8301126128da576128d96122d7565b5b81356128ea84826020860161285c565b91505092915050565b6000806040838503121561290a57612909612114565b5b600083013567ffffffffffffffff81111561292857612927612119565b5b612934858286016128c5565b925050602083013567ffffffffffffffff81111561295557612954612119565b5b612961858286016125d7565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6129a08161217c565b82525050565b60006129b28383612997565b60208301905092915050565b6000602082019050919050565b60006129d68261296b565b6129e08185612976565b93506129eb83612987565b8060005b83811015612a1c578151612a0388826129a6565b9750612a0e836129be565b9250506001810190506129ef565b5085935050505092915050565b60006020820190508181036000830152612a4381846129cb565b905092915050565b60008060008060808587031215612a6557612a64612114565b5b6000612a7387828801612167565b9450506020612a848782880161219d565b9350506040612a958782880161219d565b925050606085013567ffffffffffffffff811115612ab657612ab5612119565b5b612ac287828801612678565b91505092959194509250565b612ad78161213e565b82525050565b6000602082019050612af26000830184612ace565b92915050565b612b01816122a1565b8114612b0c57600080fd5b50565b600081359050612b1e81612af8565b92915050565b60008060408385031215612b3b57612b3a612114565b5b6000612b4985828601612167565b9250506020612b5a85828601612b0f565b9150509250929050565b60008060408385031215612b7b57612b7a612114565b5b6000612b8985828601612167565b9250506020612b9a85828601612167565b9150509250929050565b600080600080600060a08688031215612bc057612bbf612114565b5b6000612bce88828901612167565b9550506020612bdf88828901612167565b9450506040612bf08882890161219d565b9350506060612c018882890161219d565b925050608086013567ffffffffffffffff811115612c2257612c21612119565b5b612c2e88828901612678565b9150509295509295909350565b600060208284031215612c5157612c50612114565b5b6000612c5f84828501612167565b91505092915050565b7f455243313135353a2062616c616e636520717565727920666f7220746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b6000612cc4602b83612471565b9150612ccf82612c68565b604082019050919050565b60006020820190508181036000830152612cf381612cb7565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612d30602083612471565b9150612d3b82612cfa565b602082019050919050565b60006020820190508181036000830152612d5f81612d23565b9050919050565b600081905092915050565b6000612d7c82612466565b612d868185612d66565b9350612d96818560208601612482565b80840191505092915050565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b6000612dd8600583612d66565b9150612de382612da2565b600582019050919050565b6000612dfa8285612d71565b9150612e068284612d71565b9150612e1182612dcb565b91508190509392505050565b7f455243313135353a207472616e736665722063616c6c6572206973206e6f742060008201527f6f776e6572206e6f7220617070726f7665640000000000000000000000000000602082015250565b6000612e79603283612471565b9150612e8482612e1d565b604082019050919050565b60006020820190508181036000830152612ea881612e6c565b9050919050565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b6000612f0b602983612471565b9150612f1682612eaf565b604082019050919050565b60006020820190508181036000830152612f3a81612efe565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612faa8261217c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612fdd57612fdc612f70565b5b600182019050919050565b7f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260008201527f20617070726f7665640000000000000000000000000000000000000000000000602082015250565b6000613044602983612471565b915061304f82612fe8565b604082019050919050565b6000602082019050818103600083015261307381613037565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006130d6602683612471565b91506130e18261307a565b604082019050919050565b60006020820190508181036000830152613105816130c9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061315357607f821691505b602082108114156131675761316661310c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006131a78261217c565b91506131b28361217c565b9250826131c2576131c161316d565b5b828204905092915050565b60006131d88261217c565b91506131e38361217c565b9250828210156131f6576131f5612f70565b5b828203905092915050565b600061320c8261217c565b91506132178361217c565b9250826132275761322661316d565b5b828206905092915050565b600061323d8261217c565b91506132488361217c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561327d5761327c612f70565b5b828201905092915050565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60006132e4602183612471565b91506132ef82613288565b604082019050919050565b60006020820190508181036000830152613313816132d7565b9050919050565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b6000613376602883612471565b91506133818261331a565b604082019050919050565b600060208201905081810360008301526133a581613369565b9050919050565b600060408201905081810360008301526133c681856129cb565b905081810360208301526133da81846129cb565b90509392505050565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061343f602583612471565b915061344a826133e3565b604082019050919050565b6000602082019050818103600083015261346e81613432565b9050919050565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b60006134d1602a83612471565b91506134dc82613475565b604082019050919050565b60006020820190508181036000830152613500816134c4565b9050919050565b600060408201905061351c60008301856121f2565b61352960208301846121f2565b9392505050565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b600061358c602983612471565b915061359782613530565b604082019050919050565b600060208201905081810360008301526135bb8161357f565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006135e9826135c2565b6135f381856135cd565b9350613603818560208601612482565b61360c816122e1565b840191505092915050565b600060a08201905061362c6000830188612ace565b6136396020830187612ace565b818103604083015261364b81866129cb565b9050818103606083015261365f81856129cb565b9050818103608083015261367381846135de565b90509695505050505050565b60008151905061368e81612248565b92915050565b6000602082840312156136aa576136a9612114565b5b60006136b88482850161367f565b91505092915050565b60008160e01c9050919050565b600060033d11156136ed5760046000803e6136ea6000516136c1565b90505b90565b600060443d101561370057613783565b61370861210a565b60043d036004823e80513d602482011167ffffffffffffffff82111715613730575050613783565b808201805167ffffffffffffffff81111561374e5750505050613783565b80602083010160043d03850181111561376b575050505050613783565b61377a82602001850186612321565b82955050505050505b90565b7f455243313135353a207472616e7366657220746f206e6f6e204552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b60006137e2603483612471565b91506137ed82613786565b604082019050919050565b60006020820190508181036000830152613811816137d5565b9050919050565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b6000613874602883612471565b915061387f82613818565b604082019050919050565b600060208201905081810360008301526138a381613867565b9050919050565b600060a0820190506138bf6000830188612ace565b6138cc6020830187612ace565b6138d960408301866121f2565b6138e660608301856121f2565b81810360808301526138f881846135de565b9050969550505050505056fea264697066735822122018a2c70c0978dcca38d89e83e77601a31351b2d03b96897995d428d7712dd0ac64736f6c63430008090033