60806040523480156200001157600080fd5b5060405162003b6938038062003b698339818101604052810190620000379190620002dc565b6040518060400160405280600981526020017f5371756172654e465400000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f53515541524500000000000000000000000000000000000000000000000000008152508160009081620000b49190620005ac565b508060019081620000c69190620005ac565b505050600060405180604001604052808481526020018381525090508060076000820151816000019081620000fc9190620005ac565b506020820151816001019081620001149190620005ac565b509050506200012a60066200013360201b60201c565b50505062000693565b6001816000016000828254019250508190555050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001b28262000167565b810181811067ffffffffffffffff82111715620001d457620001d362000178565b5b80604052505050565b6000620001e962000149565b9050620001f78282620001a7565b919050565b600067ffffffffffffffff8211156200021a576200021962000178565b5b620002258262000167565b9050602081019050919050565b60005b838110156200025257808201518184015260208101905062000235565b60008484015250505050565b6000620002756200026f84620001fc565b620001dd565b90508281526020810184848401111562000294576200029362000162565b5b620002a184828562000232565b509392505050565b600082601f830112620002c157620002c06200015d565b5b8151620002d38482602086016200025e565b91505092915050565b60008060408385031215620002f657620002f562000153565b5b600083015167ffffffffffffffff81111562000317576200031662000158565b5b6200032585828601620002a9565b925050602083015167ffffffffffffffff81111562000349576200034862000158565b5b6200035785828601620002a9565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003b457607f821691505b602082108103620003ca57620003c96200036c565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004347fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620003f5565b620004408683620003f5565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200048d62000487620004818462000458565b62000462565b62000458565b9050919050565b6000819050919050565b620004a9836200046c565b620004c1620004b88262000494565b84845462000402565b825550505050565b600090565b620004d8620004c9565b620004e58184846200049e565b505050565b5b818110156200050d5762000501600082620004ce565b600181019050620004eb565b5050565b601f8211156200055c576200052681620003d0565b6200053184620003e5565b8101602085101562000541578190505b620005596200055085620003e5565b830182620004ea565b50505b505050565b600082821c905092915050565b6000620005816000198460080262000561565b1980831691505092915050565b60006200059c83836200056e565b9150826002028217905092915050565b620005b78262000361565b67ffffffffffffffff811115620005d357620005d262000178565b5b620005df82546200039b565b620005ec82828562000511565b600060209050601f8311600181146200062457600084156200060f578287015190505b6200061b85826200058e565b8655506200068b565b601f1984166200063486620003d0565b60005b828110156200065e5784890151825560018201915060208501945060208101905062000637565b868310156200067e57848901516200067a601f8916826200056e565b8355505b6001600288020188555050505b505050505050565b6134c680620006a36000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80636352211e11610097578063b88d4fde11610066578063b88d4fde146102ae578063c87b56dd146102ca578063de9d132f146102fa578063e985e9c51461030457610100565b80636352211e1461021457806370a082311461024457806395d89b4114610274578063a22cb4651461029257610100565b80631180c3a6116100d35780631180c3a61461019f57806323b872dd146101bd57806342842e0e146101d95780634d2e03a0146101f557610100565b806301ffc9a71461010557806306fdde0314610135578063081812fc14610153578063095ea7b314610183575b600080fd5b61011f600480360381019061011a91906120a5565b610334565b60405161012c91906120ed565b60405180910390f35b61013d610416565b60405161014a9190612198565b60405180910390f35b61016d600480360381019061016891906121f0565b6104a8565b60405161017a919061225e565b60405180910390f35b61019d600480360381019061019891906122a5565b6104ee565b005b6101a7610605565b6040516101b49190612373565b60405180910390f35b6101d760048036038101906101d29190612395565b610780565b005b6101f360048036038101906101ee9190612395565b6107e0565b005b6101fd610800565b60405161020b9291906123e8565b60405180910390f35b61022e600480360381019061022991906121f0565b610922565b60405161023b919061225e565b60405180910390f35b61025e6004803603810190610259919061241f565b6109a8565b60405161026b919061245b565b60405180910390f35b61027c610a5f565b6040516102899190612198565b60405180910390f35b6102ac60048036038101906102a791906124a2565b610af1565b005b6102c860048036038101906102c39190612617565b610b07565b005b6102e460048036038101906102df91906121f0565b610b69565b6040516102f19190612198565b60405180910390f35b610302610d8b565b005b61031e6004803603810190610319919061269a565b610f90565b60405161032b91906120ed565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103ff57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061040f575061040e82611024565b5b9050919050565b60606000805461042590612709565b80601f016020809104026020016040519081016040528092919081815260200182805461045190612709565b801561049e5780601f106104735761010080835404028352916020019161049e565b820191906000526020600020905b81548152906001019060200180831161048157829003601f168201915b5050505050905090565b60006104b38261108e565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104f982610922565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610569576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610560906127ac565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166105886110d9565b73ffffffffffffffffffffffffffffffffffffffff1614806105b757506105b6816105b16110d9565b610f90565b5b6105f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ed9061283e565b60405180910390fd5b61060083836110e1565b505050565b61060d61201f565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180604001604052908160008201805461066790612709565b80601f016020809104026020016040519081016040528092919081815260200182805461069390612709565b80156106e05780601f106106b5576101008083540402835291602001916106e0565b820191906000526020600020905b8154815290600101906020018083116106c357829003601f168201915b505050505081526020016001820180546106f990612709565b80601f016020809104026020016040519081016040528092919081815260200182805461072590612709565b80156107725780601f1061074757610100808354040283529160200191610772565b820191906000526020600020905b81548152906001019060200180831161075557829003601f168201915b505050505081525050905090565b61079161078b6110d9565b8261119a565b6107d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c7906128d0565b60405180910390fd5b6107db83838361122f565b505050565b6107fb83838360405180602001604052806000815250610b07565b505050565b600780600001805461081190612709565b80601f016020809104026020016040519081016040528092919081815260200182805461083d90612709565b801561088a5780601f1061085f5761010080835404028352916020019161088a565b820191906000526020600020905b81548152906001019060200180831161086d57829003601f168201915b50505050509080600101805461089f90612709565b80601f01602080910402602001604051908101604052809291908181526020018280546108cb90612709565b80156109185780601f106108ed57610100808354040283529160200191610918565b820191906000526020600020905b8154815290600101906020018083116108fb57829003601f168201915b5050505050905082565b60008061092e83611528565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361099f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109969061293c565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0f906129ce565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060018054610a6e90612709565b80601f0160208091040260200160405190810160405280929190818152602001828054610a9a90612709565b8015610ae75780601f10610abc57610100808354040283529160200191610ae7565b820191906000526020600020905b815481529060010190602001808311610aca57829003601f168201915b5050505050905090565b610b03610afc6110d9565b8383611565565b5050565b610b18610b126110d9565b8361119a565b610b57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4e906128d0565b60405180910390fd5b610b63848484846116d1565b50505050565b6060610baa6040518060400160405280600e81526020017f746f6b656e49642069733a2025730000000000000000000000000000000000008152508361172d565b6000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020604051806040016040529081600082018054610c0690612709565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3290612709565b8015610c7f5780601f10610c5457610100808354040283529160200191610c7f565b820191906000526020600020905b815481529060010190602001808311610c6257829003601f168201915b50505050508152602001600182018054610c9890612709565b80601f0160208091040260200160405190810160405280929190818152602001828054610cc490612709565b8015610d115780601f10610ce657610100808354040283529160200191610d11565b820191906000526020600020905b815481529060010190602001808311610cf457829003601f168201915b50505050508152505090506000610d5a8260000151610d2f866117c9565b8460200151604051602001610d4693929190612bcc565b604051602081830303815290604052611897565b9050600081604051602001610d6f9190612c75565b6040516020818303038152906040529050809350505050919050565b6000610d9760066119fa565b9050610da33382611a08565b604051806040016040528060076000018054610dbe90612709565b80601f0160208091040260200160405190810160405280929190818152602001828054610dea90612709565b8015610e375780601f10610e0c57610100808354040283529160200191610e37565b820191906000526020600020905b815481529060010190602001808311610e1a57829003601f168201915b5050505050815260200160076001018054610e5190612709565b80601f0160208091040260200160405190810160405280929190818152602001828054610e7d90612709565b8015610eca5780601f10610e9f57610100808354040283529160200191610eca565b820191906000526020600020905b815481529060010190602001808311610ead57829003601f168201915b5050505050815250600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000019081610f269190612e43565b506020820151816001019081610f3c9190612e43565b50905050610f4981610b69565b50610f546006611a26565b7f93b53f0150fb91befcef2a666dc944ebaec43893adbb670887e53a6deb9200bf3382604051610f85929190612f15565b60405180910390a150565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b61109781611a3c565b6110d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110cd9061293c565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661115483610922565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000806111a683610922565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806111e857506111e78185610f90565b5b8061122657508373ffffffffffffffffffffffffffffffffffffffff1661120e846104a8565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661124f82610922565b73ffffffffffffffffffffffffffffffffffffffff16146112a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129c90612fb0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611314576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130b90613042565b60405180910390fd5b6113218383836001611a7d565b8273ffffffffffffffffffffffffffffffffffffffff1661134182610922565b73ffffffffffffffffffffffffffffffffffffffff1614611397576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138e90612fb0565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46115238383836001611a83565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ca906130ae565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516116c491906120ed565b60405180910390a3505050565b6116dc84848461122f565b6116e884848484611a89565b611727576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171e90613140565b60405180910390fd5b50505050565b6117c58282604051602401611743929190613160565b6040516020818303038152906040527fb60e72cc000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611c10565b5050565b6060600060016117d884611c31565b01905060008167ffffffffffffffff8111156117f7576117f66124ec565b5b6040519080825280601f01601f1916602001820160405280156118295781602001600182028036833780820191505090505b509050600082602001820190505b60011561188c578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816118805761187f613190565b5b04945060008503611837575b819350505050919050565b606060008251036118b9576040518060200160405280600081525090506119f5565b600060405180606001604052806040815260200161345160409139905060006003600285516118e891906131ee565b6118f29190613222565b60046118fe9190613253565b67ffffffffffffffff811115611917576119166124ec565b5b6040519080825280601f01601f1916602001820160405280156119495781602001600182028036833780820191505090505b509050600182016020820185865187015b808210156119b5576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184536001840193505061195a565b50506003865106600181146119d157600281146119e4576119ec565b603d6001830353603d60028303536119ec565b603d60018303535b50505080925050505b919050565b600081600001549050919050565b611a22828260405180602001604052806000815250611d84565b5050565b6001816000016000828254019250508190555050565b60008073ffffffffffffffffffffffffffffffffffffffff16611a5e83611528565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b50505050565b50505050565b6000611aaa8473ffffffffffffffffffffffffffffffffffffffff16611ddf565b15611c03578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611ad36110d9565b8786866040518563ffffffff1660e01b8152600401611af594939291906132ea565b6020604051808303816000875af1925050508015611b3157506040513d601f19601f82011682018060405250810190611b2e919061334b565b60015b611bb3573d8060008114611b61576040519150601f19603f3d011682016040523d82523d6000602084013e611b66565b606091505b506000815103611bab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba290613140565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611c08565b600190505b949350505050565b60006a636f6e736f6c652e6c6f679050600080835160208501845afa505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611c8f577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611c8557611c84613190565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611ccc576d04ee2d6d415b85acef81000000008381611cc257611cc1613190565b5b0492506020810190505b662386f26fc100008310611cfb57662386f26fc100008381611cf157611cf0613190565b5b0492506010810190505b6305f5e1008310611d24576305f5e1008381611d1a57611d19613190565b5b0492506008810190505b6127108310611d49576127108381611d3f57611d3e613190565b5b0492506004810190505b60648310611d6c5760648381611d6257611d61613190565b5b0492506002810190505b600a8310611d7b576001810190505b80915050919050565b611d8e8383611e02565b611d9b6000848484611a89565b611dda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd190613140565b60405180910390fd5b505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e68906133c4565b60405180910390fd5b611e7a81611a3c565b15611eba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb190613430565b60405180910390fd5b611ec8600083836001611a7d565b611ed181611a3c565b15611f11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0890613430565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461201b600083836001611a83565b5050565b604051806040016040528060608152602001606081525090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6120828161204d565b811461208d57600080fd5b50565b60008135905061209f81612079565b92915050565b6000602082840312156120bb576120ba612043565b5b60006120c984828501612090565b91505092915050565b60008115159050919050565b6120e7816120d2565b82525050565b600060208201905061210260008301846120de565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612142578082015181840152602081019050612127565b60008484015250505050565b6000601f19601f8301169050919050565b600061216a82612108565b6121748185612113565b9350612184818560208601612124565b61218d8161214e565b840191505092915050565b600060208201905081810360008301526121b2818461215f565b905092915050565b6000819050919050565b6121cd816121ba565b81146121d857600080fd5b50565b6000813590506121ea816121c4565b92915050565b60006020828403121561220657612205612043565b5b6000612214848285016121db565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006122488261221d565b9050919050565b6122588161223d565b82525050565b6000602082019050612273600083018461224f565b92915050565b6122828161223d565b811461228d57600080fd5b50565b60008135905061229f81612279565b92915050565b600080604083850312156122bc576122bb612043565b5b60006122ca85828601612290565b92505060206122db858286016121db565b9150509250929050565b600082825260208201905092915050565b600061230182612108565b61230b81856122e5565b935061231b818560208601612124565b6123248161214e565b840191505092915050565b6000604083016000830151848203600086015261234c82826122f6565b9150506020830151848203602086015261236682826122f6565b9150508091505092915050565b6000602082019050818103600083015261238d818461232f565b905092915050565b6000806000606084860312156123ae576123ad612043565b5b60006123bc86828701612290565b93505060206123cd86828701612290565b92505060406123de868287016121db565b9150509250925092565b60006040820190508181036000830152612402818561215f565b90508181036020830152612416818461215f565b90509392505050565b60006020828403121561243557612434612043565b5b600061244384828501612290565b91505092915050565b612455816121ba565b82525050565b6000602082019050612470600083018461244c565b92915050565b61247f816120d2565b811461248a57600080fd5b50565b60008135905061249c81612476565b92915050565b600080604083850312156124b9576124b8612043565b5b60006124c785828601612290565b92505060206124d88582860161248d565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6125248261214e565b810181811067ffffffffffffffff82111715612543576125426124ec565b5b80604052505050565b6000612556612039565b9050612562828261251b565b919050565b600067ffffffffffffffff821115612582576125816124ec565b5b61258b8261214e565b9050602081019050919050565b82818337600083830152505050565b60006125ba6125b584612567565b61254c565b9050828152602081018484840111156125d6576125d56124e7565b5b6125e1848285612598565b509392505050565b600082601f8301126125fe576125fd6124e2565b5b813561260e8482602086016125a7565b91505092915050565b6000806000806080858703121561263157612630612043565b5b600061263f87828801612290565b945050602061265087828801612290565b9350506040612661878288016121db565b925050606085013567ffffffffffffffff81111561268257612681612048565b5b61268e878288016125e9565b91505092959194509250565b600080604083850312156126b1576126b0612043565b5b60006126bf85828601612290565b92505060206126d085828601612290565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061272157607f821691505b602082108103612734576127336126da565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612796602183612113565b91506127a18261273a565b604082019050919050565b600060208201905081810360008301526127c581612789565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000612828603d83612113565b9150612833826127cc565b604082019050919050565b600060208201905081810360008301526128578161281b565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b60006128ba602d83612113565b91506128c58261285e565b604082019050919050565b600060208201905081810360008301526128e9816128ad565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000612926601883612113565b9150612931826128f0565b602082019050919050565b6000602082019050818103600083015261295581612919565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006129b8602983612113565b91506129c38261295c565b604082019050919050565b600060208201905081810360008301526129e7816129ab565b9050919050565b600081905092915050565b7f7b226e616d65223a202200000000000000000000000000000000000000000000600082015250565b6000612a2f600a836129ee565b9150612a3a826129f9565b600a82019050919050565b6000612a5082612108565b612a5a81856129ee565b9350612a6a818560208601612124565b80840191505092915050565b7f202d2d204e465420233a20000000000000000000000000000000000000000000600082015250565b6000612aac600b836129ee565b9150612ab782612a76565b600b82019050919050565b7f222c20226465736372697074696f6e223a20225468697320697320616e204e4660008201527f542074686174206c6574732070656f706c6520706c617920696e20746865206760208201527f616d65204d657461766572736520536c6179657221222c2022696d616765223a60408201527f2022000000000000000000000000000000000000000000000000000000000000606082015250565b6000612b6a6062836129ee565b9150612b7582612ac2565b606282019050919050565b7f7d205d7d00000000000000000000000000000000000000000000000000000000600082015250565b6000612bb66004836129ee565b9150612bc182612b80565b600482019050919050565b6000612bd782612a22565b9150612be38286612a45565b9150612bee82612a9f565b9150612bfa8285612a45565b9150612c0582612b5d565b9150612c118284612a45565b9150612c1c82612ba9565b9150819050949350505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000600082015250565b6000612c5f601d836129ee565b9150612c6a82612c29565b601d82019050919050565b6000612c8082612c52565b9150612c8c8284612a45565b915081905092915050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302612cf97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612cbc565b612d038683612cbc565b95508019841693508086168417925050509392505050565b6000819050919050565b6000612d40612d3b612d36846121ba565b612d1b565b6121ba565b9050919050565b6000819050919050565b612d5a83612d25565b612d6e612d6682612d47565b848454612cc9565b825550505050565b600090565b612d83612d76565b612d8e818484612d51565b505050565b5b81811015612db257612da7600082612d7b565b600181019050612d94565b5050565b601f821115612df757612dc881612c97565b612dd184612cac565b81016020851015612de0578190505b612df4612dec85612cac565b830182612d93565b50505b505050565b600082821c905092915050565b6000612e1a60001984600802612dfc565b1980831691505092915050565b6000612e338383612e09565b9150826002028217905092915050565b612e4c82612108565b67ffffffffffffffff811115612e6557612e646124ec565b5b612e6f8254612709565b612e7a828285612db6565b600060209050601f831160018114612ead5760008415612e9b578287015190505b612ea58582612e27565b865550612f0d565b601f198416612ebb86612c97565b60005b82811015612ee357848901518255600182019150602085019450602081019050612ebe565b86831015612f005784890151612efc601f891682612e09565b8355505b6001600288020188555050505b505050505050565b6000604082019050612f2a600083018561224f565b612f37602083018461244c565b9392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000612f9a602583612113565b9150612fa582612f3e565b604082019050919050565b60006020820190508181036000830152612fc981612f8d565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061302c602483612113565b915061303782612fd0565b604082019050919050565b6000602082019050818103600083015261305b8161301f565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000613098601983612113565b91506130a382613062565b602082019050919050565b600060208201905081810360008301526130c78161308b565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061312a603283612113565b9150613135826130ce565b604082019050919050565b600060208201905081810360008301526131598161311d565b9050919050565b6000604082019050818103600083015261317a818561215f565b9050613189602083018461244c565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006131f9826121ba565b9150613204836121ba565b925082820190508082111561321c5761321b6131bf565b5b92915050565b600061322d826121ba565b9150613238836121ba565b92508261324857613247613190565b5b828204905092915050565b600061325e826121ba565b9150613269836121ba565b9250828202613277816121ba565b9150828204841483151761328e5761328d6131bf565b5b5092915050565b600081519050919050565b600082825260208201905092915050565b60006132bc82613295565b6132c681856132a0565b93506132d6818560208601612124565b6132df8161214e565b840191505092915050565b60006080820190506132ff600083018761224f565b61330c602083018661224f565b613319604083018561244c565b818103606083015261332b81846132b1565b905095945050505050565b60008151905061334581612079565b92915050565b60006020828403121561336157613360612043565b5b600061336f84828501613336565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006133ae602083612113565b91506133b982613378565b602082019050919050565b600060208201905081810360008301526133dd816133a1565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600061341a601c83612113565b9150613425826133e4565b602082019050919050565b600060208201905081810360008301526134498161340d565b905091905056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa26469706673582212207aa88bbfdcc0bdcfd1a6fbd4e8bbecde8b25ccfd1b828afc4ac8f0c46207de8964736f6c634300081300330000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000066d61782042420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007068747470733a2f2f79656c6c6f772d666f6e642d68616d737465722d3232302e6d7970696e6174612e636c6f75642f697066732f516d566d433354524841506d58617632674547756d6945544a6d557a66474a503632346f636d3372554a4b7544692f6169726962626974322e706e6700000000000000000000000000000000