60806040523480156200001157600080fd5b5060405162003c7538038062003c75833981810160405281019062000037919062000494565b82828160039080519060200190620000519291906200034f565b5080600490805190602001906200006a9291906200034f565b50505033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055503360086000600161ffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600660146101000a81548160ff021916908315150217905550620001ba3362000190620001c360201b60201c565b60ff16600a620001a19190620006cd565b83620001ae91906200080a565b620001cc60201b60201c565b50505062000a19565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200023f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002369062000566565b60405180910390fd5b62000253600083836200034560201b60201c565b806002600082825462000267919062000615565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002be919062000615565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000325919062000588565b60405180910390a362000341600083836200034a60201b60201c565b5050565b505050565b505050565b8280546200035d90620008ab565b90600052602060002090601f016020900481019282620003815760008555620003cd565b82601f106200039c57805160ff1916838001178555620003cd565b82800160010185558215620003cd579182015b82811115620003cc578251825591602001919060010190620003af565b5b509050620003dc9190620003e0565b5090565b5b80821115620003fb576000816000905550600101620003e1565b5090565b6000620004166200041084620005ce565b620005a5565b905082815260208101848484011115620004355762000434620009a9565b5b6200044284828562000875565b509392505050565b600082601f830112620004625762000461620009a4565b5b815162000474848260208601620003ff565b91505092915050565b6000815190506200048e81620009ff565b92915050565b600080600060608486031215620004b057620004af620009b3565b5b600084015167ffffffffffffffff811115620004d157620004d0620009ae565b5b620004df868287016200044a565b935050602084015167ffffffffffffffff811115620005035762000502620009ae565b5b62000511868287016200044a565b925050604062000524868287016200047d565b9150509250925092565b60006200053d601f8362000604565b91506200054a82620009d6565b602082019050919050565b62000560816200086b565b82525050565b6000602082019050818103600083015262000581816200052e565b9050919050565b60006020820190506200059f600083018462000555565b92915050565b6000620005b1620005c4565b9050620005bf8282620008e1565b919050565b6000604051905090565b600067ffffffffffffffff821115620005ec57620005eb62000975565b5b620005f782620009b8565b9050602081019050919050565b600082825260208201905092915050565b600062000622826200086b565b91506200062f836200086b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000667576200066662000917565b5b828201905092915050565b6000808291508390505b6001851115620006c4578086048111156200069c576200069b62000917565b5b6001851615620006ac5780820291505b8081029050620006bc85620009c9565b94506200067c565b94509492505050565b6000620006da826200086b565b9150620006e7836200086b565b9250620007167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200071e565b905092915050565b60008262000730576001905062000803565b8162000740576000905062000803565b816001811462000759576002811462000764576200079a565b600191505062000803565b60ff84111562000779576200077862000917565b5b8360020a91508482111562000793576200079262000917565b5b5062000803565b5060208310610133831016604e8410600b8410161715620007d45782820a905083811115620007ce57620007cd62000917565b5b62000803565b620007e3848484600162000672565b92509050818404811115620007fd57620007fc62000917565b5b81810290505b9392505050565b600062000817826200086b565b915062000824836200086b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000860576200085f62000917565b5b828202905092915050565b6000819050919050565b60005b838110156200089557808201518184015260208101905062000878565b83811115620008a5576000848401525b50505050565b60006002820490506001821680620008c457607f821691505b60208210811415620008db57620008da62000946565b5b50919050565b620008ec82620009b8565b810181811067ffffffffffffffff821117156200090e576200090d62000975565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b62000a0a816200086b565b811462000a1657600080fd5b50565b61324c8062000a296000396000f3fe60806040526004361061012e5760003560e01c806370a08231116100ab578063a9059cbb1161006f578063a9059cbb14610466578063bb2bafad146104a3578063cac19fc8146104ba578063d6f8560d146104e3578063dd62ed3e146104fa578063de268cdb146105375761014e565b806370a082311461035b5780639171d1541461039857806395d89b41146103d5578063a0712d6814610400578063a457c2d7146104295761014e565b8063313ce567116100f2578063313ce56714610262578063395093511461028d57806342966c68146102ca5780634dbeee87146102f35780636566ef62146103305761014e565b806306fdde0314610169578063095ea7b31461019457806318160ddd146101d1578063186d0880146101fc57806323b872dd146102255761014e565b3661014e5734600560008282546101459190612ba5565b92505081905550005b34600560008282546101609190612ba5565b92505081905550005b34801561017557600080fd5b5061017e610560565b60405161018b91906128d6565b60405180910390f35b3480156101a057600080fd5b506101bb60048036038101906101b691906122f3565b6105f2565b6040516101c891906128bb565b60405180910390f35b3480156101dd57600080fd5b506101e6610610565b6040516101f39190612b53565b60405180910390f35b34801561020857600080fd5b50610223600480360381019061021e9190612373565b61061a565b005b34801561023157600080fd5b5061024c600480360381019061024791906122a0565b610711565b60405161025991906128bb565b60405180910390f35b34801561026e57600080fd5b50610277610809565b6040516102849190612b6e565b60405180910390f35b34801561029957600080fd5b506102b460048036038101906102af91906122f3565b610812565b6040516102c191906128bb565b60405180910390f35b3480156102d657600080fd5b506102f160048036038101906102ec91906123cd565b6108be565b005b3480156102ff57600080fd5b5061031a60048036038101906103159190612233565b610906565b6040516103279190612b38565b60405180910390f35b34801561033c57600080fd5b506103456109f0565b60405161035291906128bb565b60405180910390f35b34801561036757600080fd5b50610382600480360381019061037d9190612233565b610a07565b60405161038f9190612b53565b60405180910390f35b3480156103a457600080fd5b506103bf60048036038101906103ba91906123a0565b610a4f565b6040516103cc91906126f4565b60405180910390f35b3480156103e157600080fd5b506103ea610b3e565b6040516103f791906128d6565b60405180910390f35b34801561040c57600080fd5b50610427600480360381019061042291906123cd565b610bd0565b005b34801561043557600080fd5b50610450600480360381019061044b91906122f3565b610ca8565b60405161045d91906128bb565b60405180910390f35b34801561047257600080fd5b5061048d600480360381019061048891906122f3565b610d93565b60405161049a91906128bb565b60405180910390f35b3480156104af57600080fd5b506104b8610db1565b005b3480156104c657600080fd5b506104e160048036038101906104dc9190612233565b610edc565b005b3480156104ef57600080fd5b506104f86111b2565b005b34801561050657600080fd5b50610521600480360381019061051c9190612260565b6112d4565b60405161052e9190612b53565b60405180910390f35b34801561054357600080fd5b5061055e60048036038101906105599190612333565b61135b565b005b60606003805461056f90612cc5565b80601f016020809104026020016040519081016040528092919081815260200182805461059b90612cc5565b80156105e85780601f106105bd576101008083540402835291602001916105e8565b820191906000526020600020905b8154815290600101906020018083116105cb57829003601f168201915b5050505050905090565b60006106066105ff611665565b848461166d565b6001905092915050565b6000600254905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a190612978565b60405180910390fd5b80600660146101000a81548160ff0219169083151502179055507f81ab618530badfa0735e9307c2a814fadc985fcf5cc79f1ba84d13dabab73e6533600660149054906101000a900460ff16426040516107069392919061284d565b60405180910390a150565b600061071e84848461178b565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610769611665565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156107e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e090612a18565b60405180910390fd5b6107fd856107f5611665565b85840361166d565b60019150509392505050565b60006012905090565b60006108b461081f611665565b84846001600061082d611665565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108af9190612ba5565b61166d565b6001905092915050565b6108c83382611a3d565b7f0c36a3ee10702b3f4c4a0cbc8fb77f1454bc72ab7727783746bde5ff55340e7d3382426040516108fb93929190612884565b60405180910390a150565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff1661ffff161161099b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099290612a58565b60405180910390fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff169050919050565b6000600660149054906101000a900460ff16905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16600860008461ffff1661ffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af290612a58565b60405180910390fd5b600860008361ffff1661ffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b606060048054610b4d90612cc5565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7990612cc5565b8015610bc65780601f10610b9b57610100808354040283529160200191610bc6565b820191906000526020600020905b815481529060010190602001808311610ba957829003601f168201915b5050505050905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5790612978565b60405180910390fd5b610c6a3382611c14565b7f83199a9581094d6df7315bcdebf919c1ea05a0ceee21e5289217292fe592ef33338242604051610c9d93929190612884565b60405180910390a150565b60008060016000610cb7611665565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610d74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6b90612af8565b60405180910390fd5b610d88610d7f611665565b8585840361166d565b600191505092915050565b6000610da7610da0611665565b848461178b565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3890612978565b60405180910390fd5b6000610e4c30610a07565b905060008111610e91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8890612998565b60405180910390fd5b610e9c30338361178b565b7f5732ed4206f25b13036055672fde80082b4bae54436e1da42b0016950c134bf233308342604051610ed194939291906127c3565b60405180910390a150565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6390612978565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff1661ffff1611611000576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff790612a58565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611091576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611088906129f8565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff169050600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549061ffff0219169055600860008261ffff1661ffff16815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557f8dfe34e53798c458a487d8d57fe9dbea79289cbaed1c9e477342bda23df3cb56338383426040516111a6949392919061277e565b60405180910390a15050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611242576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123990612978565b60405180910390fd5b60004790503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561128d573d6000803e3d6000fd5b5060006005819055507ff7a6b9124ad7d9df9ca77a8475bc5db166c249579480d81d2ad8890f711da68d3382426040516112c993929190612884565b60405180910390a150565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e290612978565b60405180910390fd5b60008160ff1611611431576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142890612938565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600860008360ff1661ffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d190612ad8565b60405180910390fd5b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff1661ffff161461156e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611565906129d8565b60405180910390fd5b8060ff16600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548161ffff021916908361ffff16021790555081600860008360ff1661ffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f1ac5b5df13deb7d2c8f86cac339017c0ffb8692294f0af85b0dd7da4e579c46f338383426040516116599493929190612808565b60405180910390a15050565b600033905090565b60011515600660149054906101000a900460ff16151514806116e057506000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff1661ffff16115b8061173c57506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff1661ffff16115b61177b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177290612a38565b60405180910390fd5b611786838383611d74565b505050565b60011515600660149054906101000a900460ff16151514806117fe57506000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff1661ffff16115b8061185a57506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff1661ffff16115b611899576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189090612a38565b60405180910390fd5b6118a4838383611f3f565b6000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff1661ffff16118061195557506000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff1661ffff16115b15611a38577fa7bce8ec7ee3608678202a6b4bc79b58f144191c62a3c1e7b91aa8689e1966df33848484600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff16600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900461ffff1642604051611a2f979695949392919061270f565b60405180910390a15b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611aad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa490612a78565b60405180910390fd5b611ab9826000836121c0565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611b3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3690612918565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254611b969190612bfb565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611bfb9190612b53565b60405180910390a3611c0f836000846121c5565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7b90612b18565b60405180910390fd5b611c90600083836121c0565b8060026000828254611ca29190612ba5565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cf79190612ba5565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d5c9190612b53565b60405180910390a3611d70600083836121c5565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611de4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ddb90612ab8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4b90612958565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611f329190612b53565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611faf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa690612a98565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561201f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612016906128f8565b60405180910390fd5b61202a8383836121c0565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156120b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a7906129b8565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121439190612ba5565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121a79190612b53565b60405180910390a36121ba8484846121c5565b50505050565b505050565b505050565b6000813590506121d9816131a3565b92915050565b6000813590506121ee816131ba565b92915050565b600081359050612203816131d1565b92915050565b600081359050612218816131e8565b92915050565b60008135905061222d816131ff565b92915050565b60006020828403121561224957612248612d55565b5b6000612257848285016121ca565b91505092915050565b6000806040838503121561227757612276612d55565b5b6000612285858286016121ca565b9250506020612296858286016121ca565b9150509250929050565b6000806000606084860312156122b9576122b8612d55565b5b60006122c7868287016121ca565b93505060206122d8868287016121ca565b92505060406122e986828701612209565b9150509250925092565b6000806040838503121561230a57612309612d55565b5b6000612318858286016121ca565b925050602061232985828601612209565b9150509250929050565b6000806040838503121561234a57612349612d55565b5b6000612358858286016121ca565b92505060206123698582860161221e565b9150509250929050565b60006020828403121561238957612388612d55565b5b6000612397848285016121df565b91505092915050565b6000602082840312156123b6576123b5612d55565b5b60006123c4848285016121f4565b91505092915050565b6000602082840312156123e3576123e2612d55565b5b60006123f184828501612209565b91505092915050565b61240381612c2f565b82525050565b61241281612c41565b82525050565b600061242382612b89565b61242d8185612b94565b935061243d818560208601612c92565b61244681612d5a565b840191505092915050565b600061245e602383612b94565b915061246982612d6b565b604082019050919050565b6000612481602283612b94565b915061248c82612dba565b604082019050919050565b60006124a4601e83612b94565b91506124af82612e09565b602082019050919050565b60006124c7602283612b94565b91506124d282612e32565b604082019050919050565b60006124ea601283612b94565b91506124f582612e81565b602082019050919050565b600061250d600a83612b94565b915061251882612eaa565b602082019050919050565b6000612530602683612b94565b915061253b82612ed3565b604082019050919050565b6000612553601683612b94565b915061255e82612f22565b602082019050919050565b6000612576601d83612b94565b915061258182612f4b565b602082019050919050565b6000612599602883612b94565b91506125a482612f74565b604082019050919050565b60006125bc601e83612b94565b91506125c782612fc3565b602082019050919050565b60006125df600f83612b94565b91506125ea82612fec565b602082019050919050565b6000612602602183612b94565b915061260d82613015565b604082019050919050565b6000612625602583612b94565b915061263082613064565b604082019050919050565b6000612648602483612b94565b9150612653826130b3565b604082019050919050565b600061266b601183612b94565b915061267682613102565b602082019050919050565b600061268e602583612b94565b91506126998261312b565b604082019050919050565b60006126b1601f83612b94565b91506126bc8261317a565b602082019050919050565b6126d081612c4d565b82525050565b6126df81612c7b565b82525050565b6126ee81612c85565b82525050565b600060208201905061270960008301846123fa565b92915050565b600060e082019050612724600083018a6123fa565b61273160208301896123fa565b61273e60408301886123fa565b61274b60608301876126d6565b61275860808301866126c7565b61276560a08301856126c7565b61277260c08301846126d6565b98975050505050505050565b600060808201905061279360008301876123fa565b6127a060208301866123fa565b6127ad60408301856126c7565b6127ba60608301846126d6565b95945050505050565b60006080820190506127d860008301876123fa565b6127e560208301866123fa565b6127f260408301856126d6565b6127ff60608301846126d6565b95945050505050565b600060808201905061281d60008301876123fa565b61282a60208301866123fa565b61283760408301856126e5565b61284460608301846126d6565b95945050505050565b600060608201905061286260008301866123fa565b61286f6020830185612409565b61287c60408301846126d6565b949350505050565b600060608201905061289960008301866123fa565b6128a660208301856126d6565b6128b360408301846126d6565b949350505050565b60006020820190506128d06000830184612409565b92915050565b600060208201905081810360008301526128f08184612418565b905092915050565b6000602082019050818103600083015261291181612451565b9050919050565b6000602082019050818103600083015261293181612474565b9050919050565b6000602082019050818103600083015261295181612497565b9050919050565b60006020820190508181036000830152612971816124ba565b9050919050565b60006020820190508181036000830152612991816124dd565b9050919050565b600060208201905081810360008301526129b181612500565b9050919050565b600060208201905081810360008301526129d181612523565b9050919050565b600060208201905081810360008301526129f181612546565b9050919050565b60006020820190508181036000830152612a1181612569565b9050919050565b60006020820190508181036000830152612a318161258c565b9050919050565b60006020820190508181036000830152612a51816125af565b9050919050565b60006020820190508181036000830152612a71816125d2565b9050919050565b60006020820190508181036000830152612a91816125f5565b9050919050565b60006020820190508181036000830152612ab181612618565b9050919050565b60006020820190508181036000830152612ad18161263b565b9050919050565b60006020820190508181036000830152612af18161265e565b9050919050565b60006020820190508181036000830152612b1181612681565b9050919050565b60006020820190508181036000830152612b31816126a4565b9050919050565b6000602082019050612b4d60008301846126c7565b92915050565b6000602082019050612b6860008301846126d6565b92915050565b6000602082019050612b8360008301846126e5565b92915050565b600081519050919050565b600082825260208201905092915050565b6000612bb082612c7b565b9150612bbb83612c7b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612bf057612bef612cf7565b5b828201905092915050565b6000612c0682612c7b565b9150612c1183612c7b565b925082821015612c2457612c23612cf7565b5b828203905092915050565b6000612c3a82612c5b565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015612cb0578082015181840152602081019050612c95565b83811115612cbf576000848401525b50505050565b60006002820490506001821680612cdd57607f821691505b60208210811415612cf157612cf0612d26565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f5370656369616c2049442073686f756c642073746172742066726f6d20310000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f6e6c7920636f6e74726163744f776e65720000000000000000000000000000600082015250565b7f4e6f2062616c616e636500000000000000000000000000000000000000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f6164647265737320616c72656164792065786973742100000000000000000000600082015250565b7f43616e206e6f742064656c65746520636f6e7472616374206f776e6572000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45786368616e676520636c6f736564202626206e6f74207370656369616c0000600082015250565b7f4e6f2073756368207370656369616c0000000000000000000000000000000000600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f496420616c726561647920657869737421000000000000000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6131ac81612c2f565b81146131b757600080fd5b50565b6131c381612c41565b81146131ce57600080fd5b50565b6131da81612c4d565b81146131e557600080fd5b50565b6131f181612c7b565b81146131fc57600080fd5b50565b61320881612c85565b811461321357600080fd5b5056fea26469706673582212201f10aa16e3ece32a8bcbcb18a5f01a7f5a1cd439d68647f5c97035ce3b2480b064736f6c63430008070033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000011e1a300000000000000000000000000000000000000000000000000000000000000001b6d65736f6e2e6e6574776f726b20746573746e657420746f6b656e000000000000000000000000000000000000000000000000000000000000000000000000054d534e5454000000000000000000000000000000000000000000000000000000