60806040523480156200001157600080fd5b5060016000806301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555060016000806380ac58cd60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600080635b5e139f60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555033600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600981526020017f52454e4545204e46540000000000000000000000000000000000000000000000815250600590816200018c919062000454565b506040518060400160405280600581526020017f52454e454500000000000000000000000000000000000000000000000000000081525060069081620001d3919062000454565b506200053b565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200025c57607f821691505b60208210810362000272576200027162000214565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620002dc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200029d565b620002e886836200029d565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003356200032f620003298462000300565b6200030a565b62000300565b9050919050565b6000819050919050565b620003518362000314565b6200036962000360826200033c565b848454620002aa565b825550505050565b600090565b6200038062000371565b6200038d81848462000346565b505050565b5b81811015620003b557620003a960008262000376565b60018101905062000393565b5050565b601f8211156200040457620003ce8162000278565b620003d9846200028d565b81016020851015620003e9578190505b62000401620003f8856200028d565b83018262000392565b50505b505050565b600082821c905092915050565b6000620004296000198460080262000409565b1980831691505092915050565b600062000444838362000416565b9150826002028217905092915050565b6200045f82620001da565b67ffffffffffffffff8111156200047b576200047a620001e5565b5b62000487825462000243565b62000494828285620003b9565b600060209050601f831160018114620004cc5760008415620004b7578287015190505b620004c3858262000436565b86555062000533565b601f198416620004dc8662000278565b60005b828110156200050657848901518255600182019150602085019450602081019050620004df565b8683101562000526578489015162000522601f89168262000416565b8355505b6001600288020188555050505b505050505050565b612f5a806200054b6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80638da5cb5b116100a2578063c87b56dd11610071578063c87b56dd146102df578063d3fc98641461030f578063e985e9c51461032b578063f2fde38b1461035b578063f3fe3bc31461037757610116565b80638da5cb5b1461026b57806395d89b4114610289578063a22cb465146102a7578063b88d4fde146102c357610116565b806323b872dd116100e957806323b872dd146101b557806342842e0e146101d15780636352211e146101ed57806370a082311461021d578063860d248a1461024d57610116565b806301ffc9a71461011b57806306fdde031461014b578063081812fc14610169578063095ea7b314610199575b600080fd5b61013560048036038101906101309190612525565b610395565b604051610142919061256d565b60405180910390f35b6101536103fc565b6040516101609190612621565b60405180910390f35b610183600480360381019061017e9190612679565b61048e565b60405161019091906126e7565b60405180910390f35b6101b360048036038101906101ae919061272e565b6105a9565b005b6101cf60048036038101906101ca919061276e565b61098c565b005b6101eb60048036038101906101e6919061276e565b610dde565b005b61020760048036038101906102029190612679565b610dfe565b60405161021491906126e7565b60405180910390f35b610237600480360381019061023291906127c1565b610ee4565b60405161024491906127fd565b60405180910390f35b610255610f9e565b6040516102629190612621565b60405180910390f35b610273610fd7565b60405161028091906126e7565b60405180910390f35b610291610ffd565b60405161029e9190612621565b60405180910390f35b6102c160048036038101906102bc9190612844565b61108f565b005b6102dd60048036038101906102d891906128e9565b61118c565b005b6102f960048036038101906102f49190612679565b6111e3565b6040516103069190612621565b60405180910390f35b610329600480360381019061032491906129c7565b6112d3565b005b61034560048036038101906103409190612a3b565b6113fa565b604051610352919061256d565b60405180910390f35b610375600480360381019061037091906127c1565b61148e565b005b61037f6116c0565b60405161038c9190612621565b60405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b60606005805461040b90612aaa565b80601f016020809104026020016040519081016040528092919081815260200182805461043790612aaa565b80156104845780601f1061045957610100808354040283529160200191610484565b820191906000526020600020905b81548152906001019060200180831161046757829003601f168201915b5050505050905090565b600081600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600681526020017f30303330303200000000000000000000000000000000000000000000000000008152509061056c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105639190612621565b60405180910390fd5b506002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b8060006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614806106a25750600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6040518060400160405280600681526020017f303033303033000000000000000000000000000000000000000000000000000081525090610719576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107109190612621565b60405180910390fd5b5082600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600681526020017f3030333030320000000000000000000000000000000000000000000000000000815250906107f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ed9190612621565b60405180910390fd5b5060006001600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600681526020017f3030333030380000000000000000000000000000000000000000000000000000815250906108d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cd9190612621565b60405180910390fd5b50856002600087815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550848673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050505050565b8060006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610a5d57503373ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b80610aee5750600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6040518060400160405280600681526020017f303033303034000000000000000000000000000000000000000000000000000081525090610b65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5c9190612621565b60405180910390fd5b5082600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600681526020017f303033303032000000000000000000000000000000000000000000000000000081525090610c42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c399190612621565b60405180910390fd5b5060006001600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280600681526020017f303033303037000000000000000000000000000000000000000000000000000081525090610d21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d189190612621565b60405180910390fd5b50600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600681526020017f303033303031000000000000000000000000000000000000000000000000000081525090610dca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc19190612621565b60405180910390fd5b50610dd586866116f9565b50505050505050565b610df9838383604051806020016040528060008152506117ae565b505050565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600681526020017f303033303032000000000000000000000000000000000000000000000000000081525090610ede576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed59190612621565b60405180910390fd5b50919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600681526020017f303033303031000000000000000000000000000000000000000000000000000081525090610f8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f849190612621565b60405180910390fd5b50610f9782611d6d565b9050919050565b6040518060400160405280600681526020017f303138303032000000000000000000000000000000000000000000000000000081525081565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606006805461100c90612aaa565b80601f016020809104026020016040519081016040528092919081815260200182805461103890612aaa565b80156110855780601f1061105a57610100808354040283529160200191611085565b820191906000526020600020905b81548152906001019060200180831161106857829003601f168201915b5050505050905090565b80600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611180919061256d565b60405180910390a35050565b6111dc85858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506117ae565b5050505050565b606081600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600681526020017f3030333030320000000000000000000000000000000000000000000000000000815250906112c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b89190612621565b60405180910390fd5b506112cb83611db6565b915050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280600681526020017f30313830303100000000000000000000000000000000000000000000000000008152509061139b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113929190612621565b60405180910390fd5b506113a68484611e5b565b6113f48383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050612049565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280600681526020017f303138303031000000000000000000000000000000000000000000000000000081525090611556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154d9190612621565b60405180910390fd5b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600681526020017f3031383030320000000000000000000000000000000000000000000000000000815250906115ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f69190612621565b60405180910390fd5b508073ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6040518060400160405280600681526020017f303138303031000000000000000000000000000000000000000000000000000081525081565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061173a8261214c565b6117448183612185565b61174e83836122f0565b818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b8160006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148061187f57503373ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b806119105750600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6040518060400160405280600681526020017f303033303034000000000000000000000000000000000000000000000000000081525090611987576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197e9190612621565b60405180910390fd5b5083600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600681526020017f303033303032000000000000000000000000000000000000000000000000000081525090611a64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5b9190612621565b60405180910390fd5b5060006001600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280600681526020017f303033303037000000000000000000000000000000000000000000000000000081525090611b43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3a9190612621565b60405180910390fd5b50600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600681526020017f303033303031000000000000000000000000000000000000000000000000000081525090611bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be39190612621565b60405180910390fd5b50611bf787876116f9565b611c168773ffffffffffffffffffffffffffffffffffffffff16612478565b15611d635760008773ffffffffffffffffffffffffffffffffffffffff1663150b7a02338b8a8a6040518563ffffffff1660e01b8152600401611c5c9493929190612b30565b6020604051808303816000875af1158015611c7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c9f9190612b91565b905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146040518060400160405280600681526020017f303033303035000000000000000000000000000000000000000000000000000081525090611d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d579190612621565b60405180910390fd5b50505b5050505050505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600760008381526020019081526020016000208054611dd690612aaa565b80601f0160208091040260200160405190810160405280929190818152602001828054611e0290612aaa565b8015611e4f5780601f10611e2457610100808354040283529160200191611e4f565b820191906000526020600020905b815481529060010190602001808311611e3257829003601f168201915b50505050509050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600681526020017f303033303031000000000000000000000000000000000000000000000000000081525090611f03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611efa9190612621565b60405180910390fd5b50600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280600681526020017f303033303036000000000000000000000000000000000000000000000000000081525090611fde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd59190612621565b60405180910390fd5b50611fe982826122f0565b808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b81600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156040518060400160405280600681526020017f303033303032000000000000000000000000000000000000000000000000000081525090612125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211c9190612621565b60405180910390fd5b50816007600085815260200190815260200160002090816121469190612d99565b50505050565b6002600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550565b8173ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280600681526020017f30303330303700000000000000000000000000000000000000000000000000008152509061225e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122559190612621565b60405180910390fd5b506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546122af9190612e9a565b925050819055506001600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555050565b600073ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146040518060400160405280600681526020017f3030333030360000000000000000000000000000000000000000000000000000815250906123ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123c19190612621565b60405180910390fd5b50816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461246d9190612ece565b925050819055505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b82141580156124ba5750808214155b92505050919050565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612502816124cd565b811461250d57600080fd5b50565b60008135905061251f816124f9565b92915050565b60006020828403121561253b5761253a6124c3565b5b600061254984828501612510565b91505092915050565b60008115159050919050565b61256781612552565b82525050565b6000602082019050612582600083018461255e565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156125c25780820151818401526020810190506125a7565b838111156125d1576000848401525b50505050565b6000601f19601f8301169050919050565b60006125f382612588565b6125fd8185612593565b935061260d8185602086016125a4565b612616816125d7565b840191505092915050565b6000602082019050818103600083015261263b81846125e8565b905092915050565b6000819050919050565b61265681612643565b811461266157600080fd5b50565b6000813590506126738161264d565b92915050565b60006020828403121561268f5761268e6124c3565b5b600061269d84828501612664565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006126d1826126a6565b9050919050565b6126e1816126c6565b82525050565b60006020820190506126fc60008301846126d8565b92915050565b61270b816126c6565b811461271657600080fd5b50565b60008135905061272881612702565b92915050565b60008060408385031215612745576127446124c3565b5b600061275385828601612719565b925050602061276485828601612664565b9150509250929050565b600080600060608486031215612787576127866124c3565b5b600061279586828701612719565b93505060206127a686828701612719565b92505060406127b786828701612664565b9150509250925092565b6000602082840312156127d7576127d66124c3565b5b60006127e584828501612719565b91505092915050565b6127f781612643565b82525050565b600060208201905061281260008301846127ee565b92915050565b61282181612552565b811461282c57600080fd5b50565b60008135905061283e81612818565b92915050565b6000806040838503121561285b5761285a6124c3565b5b600061286985828601612719565b925050602061287a8582860161282f565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f8401126128a9576128a8612884565b5b8235905067ffffffffffffffff8111156128c6576128c5612889565b5b6020830191508360018202830111156128e2576128e161288e565b5b9250929050565b600080600080600060808688031215612905576129046124c3565b5b600061291388828901612719565b955050602061292488828901612719565b945050604061293588828901612664565b935050606086013567ffffffffffffffff811115612956576129556124c8565b5b61296288828901612893565b92509250509295509295909350565b60008083601f84011261298757612986612884565b5b8235905067ffffffffffffffff8111156129a4576129a3612889565b5b6020830191508360018202830111156129c0576129bf61288e565b5b9250929050565b600080600080606085870312156129e1576129e06124c3565b5b60006129ef87828801612719565b9450506020612a0087828801612664565b935050604085013567ffffffffffffffff811115612a2157612a206124c8565b5b612a2d87828801612971565b925092505092959194509250565b60008060408385031215612a5257612a516124c3565b5b6000612a6085828601612719565b9250506020612a7185828601612719565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612ac257607f821691505b602082108103612ad557612ad4612a7b565b5b50919050565b600081519050919050565b600082825260208201905092915050565b6000612b0282612adb565b612b0c8185612ae6565b9350612b1c8185602086016125a4565b612b25816125d7565b840191505092915050565b6000608082019050612b4560008301876126d8565b612b5260208301866126d8565b612b5f60408301856127ee565b8181036060830152612b718184612af7565b905095945050505050565b600081519050612b8b816124f9565b92915050565b600060208284031215612ba757612ba66124c3565b5b6000612bb584828501612b7c565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302612c4f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612c12565b612c598683612c12565b95508019841693508086168417925050509392505050565b6000819050919050565b6000612c96612c91612c8c84612643565b612c71565b612643565b9050919050565b6000819050919050565b612cb083612c7b565b612cc4612cbc82612c9d565b848454612c1f565b825550505050565b600090565b612cd9612ccc565b612ce4818484612ca7565b505050565b5b81811015612d0857612cfd600082612cd1565b600181019050612cea565b5050565b601f821115612d4d57612d1e81612bed565b612d2784612c02565b81016020851015612d36578190505b612d4a612d4285612c02565b830182612ce9565b50505b505050565b600082821c905092915050565b6000612d7060001984600802612d52565b1980831691505092915050565b6000612d898383612d5f565b9150826002028217905092915050565b612da282612588565b67ffffffffffffffff811115612dbb57612dba612bbe565b5b612dc58254612aaa565b612dd0828285612d0c565b600060209050601f831160018114612e035760008415612df1578287015190505b612dfb8582612d7d565b865550612e63565b601f198416612e1186612bed565b60005b82811015612e3957848901518255600182019150602085019450602081019050612e14565b86831015612e565784890151612e52601f891682612d5f565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ea582612643565b9150612eb083612643565b925082821015612ec357612ec2612e6b565b5b828203905092915050565b6000612ed982612643565b9150612ee483612643565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612f1957612f18612e6b565b5b82820190509291505056fea2646970667358221220281f78eea7adfbb15d9cbe40e7a6b53a104f96431bbac9d08bc88fdeb59bcc7264736f6c634300080f0033