LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogRElTQ0xBSU1FUg0KKiBUaGlzIHNvZnR3YXJlIGlzIHN1cHBsaWVkIGJ5IFJlbmVzYXMgRWxlY3Ryb25pY3MgQ29ycG9yYXRpb24gYW5kIGlzIG9ubHkNCiogaW50ZW5kZWQgZm9yIHVzZSB3aXRoIFJlbmVzYXMgcHJvZHVjdHMuIE5vIG90aGVyIHVzZXMgYXJlIGF1dGhvcml6ZWQuIFRoaXMNCiogc29mdHdhcmUgaXMgb3duZWQgYnkgUmVuZXNhcyBFbGVjdHJvbmljcyBDb3Jwb3JhdGlvbiBhbmQgaXMgcHJvdGVjdGVkIHVuZGVyDQoqIGFsbCBhcHBsaWNhYmxlIGxhd3MsIGluY2x1ZGluZyBjb3B5cmlnaHQgbGF3cy4NCiogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBSRU5FU0FTIE1BS0VTIE5PIFdBUlJBTlRJRVMgUkVHQVJESU5HDQoqIFRISVMgU09GVFdBUkUsIFdIRVRIRVIgRVhQUkVTUywgSU1QTElFRCBPUiBTVEFUVVRPUlksIElOQ0xVRElORyBCVVQgTk9UDQoqIExJTUlURUQgVE8gV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFDQoqIEFORCBOT04tSU5GUklOR0VNRU5ULiBBTEwgU1VDSCBXQVJSQU5USUVTIEFSRSBFWFBSRVNTTFkgRElTQ0xBSU1FRC4NCiogVE8gVEhFIE1BWElNVU0gRVhURU5UIFBFUk1JVFRFRCBOT1QgUFJPSElCSVRFRCBCWSBMQVcsIE5FSVRIRVIgUkVORVNBUw0KKiBFTEVDVFJPTklDUyBDT1JQT1JBVElPTiBOT1IgQU5ZIE9GIElUUyBBRkZJTElBVEVEIENPTVBBTklFUyBTSEFMTCBCRSBMSUFCTEUNCiogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBGT1INCiogQU5ZIFJFQVNPTiBSRUxBVEVEIFRPIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgUkVORVNBUyBPUiBJVFMgQUZGSUxJQVRFUyBIQVZFDQoqIEJFRU4gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0VTLg0KKiBSZW5lc2FzIHJlc2VydmVzIHRoZSByaWdodCwgd2l0aG91dCBub3RpY2UsIHRvIG1ha2UgY2hhbmdlcyB0byB0aGlzIHNvZnR3YXJlDQoqIGFuZCB0byBkaXNjb250aW51ZSB0aGUgYXZhaWxhYmlsaXR5IG9mIHRoaXMgc29mdHdhcmUuIEJ5IHVzaW5nIHRoaXMgc29mdHdhcmUsDQoqIHlvdSBhZ3JlZSB0byB0aGUgYWRkaXRpb25hbCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3VuZCBieSBhY2Nlc3NpbmcgdGhlDQoqIGZvbGxvd2luZyBsaW5rOg0KKiBodHRwOi8vd3d3LnJlbmVzYXMuY29tL2Rpc2NsYWltZXINCioNCiogQ29weXJpZ2h0IChDKSAyMDEyIFJlbmVzYXMgRWxlY3Ryb25pY3MgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogRmlsZSBOYW1lICAgICA6IGNwZ19pb2RlZmluZS5oDQoqIFZlcnNpb24gICAgICAgOiAwLjAxDQoqIERldmljZShzKSAgICAgOiBBcmFnb24NCiogVG9vbC1DaGFpbiAgICA6IERTLTUgVmVyIDUuOA0KKiAgICAgICAgICAgICAgICAgQVJNIENvbXBsaWVyIA0KKiAgICAgICAgICAgICAgIDogDQoqIEgvVyBQbGF0Zm9ybSAgOiBBcmFnb24gQ1BVIEJvYXJkDQoqIERlc2NyaXB0aW9uICAgOiBBcmFnb24gU2FtcGxlIFByb2dyYW0gdmVjb3RyLnMNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBIaXN0b3J5IDogREQuTU0uWVlZWSBWZXJzaW9uIERlc2NyaXB0aW9uDQoqICAgICAgICAgOiAyNy4wNy4yMDEyIDAuMDEJCY5RjWyOkZe/gUZSWl9BMUhfMDVKXzEyMTAxMF8xMS5wZGYNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojaWZuZGVmIF9fQ1BHX0lPREVGSU5FX0hfXw0KI2RlZmluZSBfX0NQR19JT0RFRklORV9IX18NCg0KI2luY2x1ZGUgInR5cGVkZWZpbmUuaCINCg0Kc3RydWN0IHN0X2NwZyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogc3RydWN0IENQRyAgICovDQogICAgICAgdW5pb24geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBGUlFDUiAgICAgICAgKi8NCiAgICAgICAgICAgICBfVVdPUkQgV09SRDsgICAgICAgICAgICAgICAgICAgICAgIC8qICBXb3JkIEFjY2VzcyAqLw0KICAgICAgICAgICAgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogIEJpdCBBY2Nlc3MgICovDQogICAgICAgICAgICAgICAgICAgIF9VV09SRCA6ODsgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VXT1JEIElGQzoyOyAgICAgICAgICAgICAgIC8qICAgSUZDICAgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVVdPUkQgOjI7ICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VV09SRCBDS09FTjoyOyAgICAgICAgICAgICAvKiAgIENLT0VOICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VXT1JEIENLT0VOMjoxOyAgICAgICAgICAgIC8qICAgQ0tPRU4yICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVVdPUkQgOjE7ICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIH0gQklUOyAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICB9IEZSUUNSOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIF9VQllURSB3azBbMl07ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgdW5pb24geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBGUlFDUjIgICAgICAgKi8NCiAgICAgICAgICAgICBfVVdPUkQgV09SRDsgICAgICAgICAgICAgICAgICAgICAgIC8qICBXb3JkIEFjY2VzcyAqLw0KICAgICAgICAgICAgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogIEJpdCBBY2Nlc3MgICovDQogICAgICAgICAgICAgICAgICAgIF9VV09SRCBHRkM6MjsgICAgICAgICAgICAgICAvKiAgIEdGQyAgICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VXT1JEIDoxNDsgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICB9IEJJVDsgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgfSBGUlFDUjI7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICBfVUJZVEUgd2sxWzJdOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIHVuaW9uIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQ1BVU1RTICAgICAgICovDQogICAgICAgICAgICAgX1VCWVRFIEJZVEU7ICAgICAgICAgICAgICAgICAgICAgICAvKiAgQnl0ZSBBY2Nlc3MgKi8NCiAgICAgICAgICAgICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICBCaXQgQWNjZXNzICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgOjQ7ICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBJU0JVU1kwOjE7ICAgICAgICAgICAvKiAgIElTQlVTWTAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIDozOyAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICB9IEJJVDsgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgfSBDUFVTVFM7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICBfVUJZVEUgd2syWzddOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIHVuaW9uIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogU1RCQ1IxICAgICAgICovDQogICAgICAgICAgICAgX1VCWVRFIEJZVEU7ICAgICAgICAgICAgICAgICAgICAgICAvKiAgQnl0ZSBBY2Nlc3MgKi8NCiAgICAgICAgICAgICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICBCaXQgQWNjZXNzICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgOjY7ICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBERUVQOjE7ICAgICAgICAgICAgICAvKiAgIERFRVAgICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFNUQlk6MTsgICAgICAgICAgICAgIC8qICAgU1RCWSAgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICB9IEJJVDsgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgfSBTVEJDUjE7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICBfVUJZVEUgd2szWzNdOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIHVuaW9uIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogU1RCQ1IyICAgICAgICovDQogICAgICAgICAgICAgX1VCWVRFIEJZVEU7ICAgICAgICAgICAgICAgICAgICAgICAvKiAgQnl0ZSBBY2Nlc3MgKi8NCiAgICAgICAgICAgICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICBCaXQgQWNjZXNzICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDIwOjE7ICAgICAgICAgICAgLyogICBNU1RQMjAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSA6NjsgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIEhJWjoxOyAgICAgICAgICAgICAgIC8qICAgSElaICAgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICB9IEJJVDsgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgfSBTVEJDUjI7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICBfVUJZVEUgd2s0WzExXTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIHVuaW9uIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogU1RCUkVRMSAgICAgICovDQogICAgICAgICAgICAgX1VCWVRFIEJZVEU7ICAgICAgICAgICAgICAgICAgICAgICAvKiAgQnl0ZSBBY2Nlc3MgKi8NCiAgICAgICAgICAgICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICBCaXQgQWNjZXNzICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgU1RCUlExMDoxOyAgICAgICAgICAgLyogICBTVEJSUTEwICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSA6MjsgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFNUQlJRMTM6MTsgICAgICAgICAgIC8qICAgU1RCUlExMyAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgOjE7ICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBTVEJSUTE1OjE7ICAgICAgICAgICAvKiAgIFNUQlJRMTUgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIDoyOyAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICB9IEJJVDsgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgfSBTVEJSRVExOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICBfVUJZVEUgd2s1WzNdOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIHVuaW9uIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogU1RCUkVRMiAgICAgICovDQogICAgICAgICAgICAgX1VCWVRFIEJZVEU7ICAgICAgICAgICAgICAgICAgICAgICAvKiAgQnl0ZSBBY2Nlc3MgKi8NCiAgICAgICAgICAgICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICBCaXQgQWNjZXNzICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgU1RCUlEyMDoxOyAgICAgICAgICAgLyogICBTVEJSUTIwICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBTVEJSUTIxOjE7ICAgICAgICAgICAvKiAgIFNUQlJRMjEgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFNUQlJRMjI6MTsgICAgICAgICAgIC8qICAgU1RCUlEyMiAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgU1RCUlEyMzoxOyAgICAgICAgICAgLyogICBTVEJSUTIzICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBTVEJSUTI0OjE7ICAgICAgICAgICAvKiAgIFNUQlJRMjQgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFNUQlJRMjU6MTsgICAgICAgICAgIC8qICAgU1RCUlEyNSAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgU1RCUlEyNjoxOyAgICAgICAgICAgLyogICBTVEJSUTI2ICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBTVEJSUTI3OjE7ICAgICAgICAgICAvKiAgIFNUQlJRMjcgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgfSBCSVQ7ICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgICAgICAgIH0gU1RCUkVRMjsgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgX1VCWVRFIHdrNlsxMV07ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICB1bmlvbiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFNUQkFDSzEgICAgICAqLw0KICAgICAgICAgICAgIF9VQllURSBCWVRFOyAgICAgICAgICAgICAgICAgICAgICAgLyogIEJ5dGUgQWNjZXNzICovDQogICAgICAgICAgICAgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgQml0IEFjY2VzcyAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFNUQkFLMTA6MTsgICAgICAgICAgIC8qICAgU1RCQUsxMCAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgOjI7ICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBTVEJBSzEzOjE7ICAgICAgICAgICAvKiAgIFNUQkFLMTMgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIDoxOyAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgU1RCQUsxNToxOyAgICAgICAgICAgLyogICBTVEJBSzE1ICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSA6MjsgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgfSBCSVQ7ICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgICAgICAgIH0gU1RCQUNLMTsgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgX1VCWVRFIHdrN1szXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICB1bmlvbiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFNUQkFDSzIgICAgICAqLw0KICAgICAgICAgICAgIF9VQllURSBCWVRFOyAgICAgICAgICAgICAgICAgICAgICAgLyogIEJ5dGUgQWNjZXNzICovDQogICAgICAgICAgICAgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgQml0IEFjY2VzcyAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFNUQkFLMjA6MTsgICAgICAgICAgIC8qICAgU1RCQUsyMCAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgU1RCQUsyMToxOyAgICAgICAgICAgLyogICBTVEJBSzIxICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBTVEJBSzIyOjE7ICAgICAgICAgICAvKiAgIFNUQkFLMjIgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFNUQkFLMjM6MTsgICAgICAgICAgIC8qICAgU1RCQUsyMyAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgU1RCQUsyNDoxOyAgICAgICAgICAgLyogICBTVEJBSzI0ICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBTVEJBSzI1OjE7ICAgICAgICAgICAvKiAgIFNUQkFLMjUgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFNUQkFLMjY6MTsgICAgICAgICAgIC8qICAgU1RCQUsyNiAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgU1RCQUsyNzoxOyAgICAgICAgICAgLyogICBTVEJBSzI3ICAgICovDQogICAgICAgICAgICAgICAgICAgIH0gQklUOyAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICB9IFNUQkFDSzI7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIF9VQllURSB3azhbOTU1XTsgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgdW5pb24geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBTWVNDUjEgICAgICAgKi8NCiAgICAgICAgICAgICBfVUJZVEUgQllURTsgICAgICAgICAgICAgICAgICAgICAgIC8qICBCeXRlIEFjY2VzcyAqLw0KICAgICAgICAgICAgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogIEJpdCBBY2Nlc3MgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBWUkFNRTA6MTsgICAgICAgICAgICAvKiAgIFZSQU1FMCAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFZSQU1FMToxOyAgICAgICAgICAgIC8qICAgVlJBTUUxICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgVlJBTUUyOjE7ICAgICAgICAgICAgLyogICBWUkFNRTIgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBWUkFNRTM6MTsgICAgICAgICAgICAvKiAgIFZSQU1FMyAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFZSQU1FNDoxOyAgICAgICAgICAgIC8qICAgVlJBTUU0ICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgOjM7ICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIH0gQklUOyAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICB9IFNZU0NSMTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIF9VQllURSB3azlbM107ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgdW5pb24geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBTWVNDUjIgICAgICAgKi8NCiAgICAgICAgICAgICBfVUJZVEUgQllURTsgICAgICAgICAgICAgICAgICAgICAgIC8qICBCeXRlIEFjY2VzcyAqLw0KICAgICAgICAgICAgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogIEJpdCBBY2Nlc3MgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBWUkFNV0UwOjE7ICAgICAgICAgICAvKiAgIFZSQU1XRTAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFZSQU1XRTE6MTsgICAgICAgICAgIC8qICAgVlJBTVdFMSAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgVlJBTVdFMjoxOyAgICAgICAgICAgLyogICBWUkFNV0UyICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBWUkFNV0UzOjE7ICAgICAgICAgICAvKiAgIFZSQU1XRTMgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFZSQU1XRTQ6MTsgICAgICAgICAgIC8qICAgVlJBTVdFNCAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgOjM7ICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIH0gQklUOyAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICB9IFNZU0NSMjsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIF9VQllURSB3azEwWzNdOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgdW5pb24geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBTWVNDUjMgICAgICAgKi8NCiAgICAgICAgICAgICBfVUJZVEUgQllURTsgICAgICAgICAgICAgICAgICAgICAgIC8qICBCeXRlIEFjY2VzcyAqLw0KICAgICAgICAgICAgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogIEJpdCBBY2Nlc3MgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBSUkFNV0UwOjE7ICAgICAgICAgICAvKiAgIFJSQU1XRTAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFJSQU1XRTE6MTsgICAgICAgICAgIC8qICAgUlJBTVdFMSAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgUlJBTVdFMjoxOyAgICAgICAgICAgLyogICBSUkFNV0UyICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBSUkFNV0UzOjE7ICAgICAgICAgICAvKiAgIFJSQU1XRTMgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIDo0OyAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICB9IEJJVDsgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgfSBTWVNDUjM7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICBfVUJZVEUgd2sxMVsyM107ICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIHVuaW9uIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogU1RCQ1IzICAgICAgICovDQogICAgICAgICAgICAgX1VCWVRFIEJZVEU7ICAgICAgICAgICAgICAgICAgICAgICAvKiAgQnl0ZSBBY2Nlc3MgKi8NCiAgICAgICAgICAgICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICBCaXQgQWNjZXNzICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDMwOjE7ICAgICAgICAgICAgLyogICBNU1RQMzAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSA6MTsgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFAzMjoxOyAgICAgICAgICAgIC8qICAgTVNUUDMyICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDMzOjE7ICAgICAgICAgICAgLyogICBNU1RQMzMgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBNU1RQMzQ6MTsgICAgICAgICAgICAvKiAgIE1TVFAzNCAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFAzNToxOyAgICAgICAgICAgIC8qICAgTVNUUDM1ICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDM2OjE7ICAgICAgICAgICAgLyogICBNU1RQMzYgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBNU1RQMzc6MTsgICAgICAgICAgICAvKiAgIE1TVFAzNyAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgfSBCSVQ7ICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgICAgICAgIH0gU1RCQ1IzOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgX1VCWVRFIHdrMTJbM107ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICB1bmlvbiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFNUQkNSNCAgICAgICAqLw0KICAgICAgICAgICAgIF9VQllURSBCWVRFOyAgICAgICAgICAgICAgICAgICAgICAgLyogIEJ5dGUgQWNjZXNzICovDQogICAgICAgICAgICAgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgQml0IEFjY2VzcyAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFA0MDoxOyAgICAgICAgICAgIC8qICAgTVNUUDQwICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDQxOjE7ICAgICAgICAgICAgLyogICBNU1RQNDEgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBNU1RQNDI6MTsgICAgICAgICAgICAvKiAgIE1TVFA0MiAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFA0MzoxOyAgICAgICAgICAgIC8qICAgTVNUUDQzICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDQ0OjE7ICAgICAgICAgICAgLyogICBNU1RQNDQgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBNU1RQNDU6MTsgICAgICAgICAgICAvKiAgIE1TVFA0NSAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFA0NjoxOyAgICAgICAgICAgIC8qICAgTVNUUDQ2ICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDQ3OjE7ICAgICAgICAgICAgLyogICBNU1RQNDcgICAgICovDQogICAgICAgICAgICAgICAgICAgIH0gQklUOyAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICB9IFNUQkNSNDsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIF9VQllURSB3azEzWzNdOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgdW5pb24geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBTVEJDUjUgICAgICAgKi8NCiAgICAgICAgICAgICBfVUJZVEUgQllURTsgICAgICAgICAgICAgICAgICAgICAgIC8qICBCeXRlIEFjY2VzcyAqLw0KICAgICAgICAgICAgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogIEJpdCBBY2Nlc3MgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBNU1RQNTA6MTsgICAgICAgICAgICAvKiAgIE1TVFA1MCAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFA1MToxOyAgICAgICAgICAgIC8qICAgTVNUUDUxICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDUyOjE7ICAgICAgICAgICAgLyogICBNU1RQNTIgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBNU1RQNTM6MTsgICAgICAgICAgICAvKiAgIE1TVFA1MyAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFA1NDoxOyAgICAgICAgICAgIC8qICAgTVNUUDU0ICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDU1OjE7ICAgICAgICAgICAgLyogICBNU1RQNTUgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBNU1RQNTY6MTsgICAgICAgICAgICAvKiAgIE1TVFA1NiAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFA1NzoxOyAgICAgICAgICAgIC8qICAgTVNUUDU3ICAgICAqLw0KICAgICAgICAgICAgICAgICAgICB9IEJJVDsgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgfSBTVEJDUjU7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICBfVUJZVEUgd2sxNFszXTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIHVuaW9uIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogU1RCQ1I2ICAgICAgICovDQogICAgICAgICAgICAgX1VCWVRFIEJZVEU7ICAgICAgICAgICAgICAgICAgICAgICAvKiAgQnl0ZSBBY2Nlc3MgKi8NCiAgICAgICAgICAgICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICBCaXQgQWNjZXNzICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDYwOjE7ICAgICAgICAgICAgLyogICBNU1RQNjAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBNU1RQNjE6MTsgICAgICAgICAgICAvKiAgIE1TVFA2MSAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFA2MjoxOyAgICAgICAgICAgIC8qICAgTVNUUDYyICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDYzOjE7ICAgICAgICAgICAgLyogICBNU1RQNjMgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBNU1RQNjQ6MTsgICAgICAgICAgICAvKiAgIE1TVFA2NCAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFA2NToxOyAgICAgICAgICAgIC8qICAgTVNUUDY1ICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDY2OjE7ICAgICAgICAgICAgLyogICBNU1RQNjYgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBNU1RQNjc6MTsgICAgICAgICAgICAvKiAgIE1TVFA2NyAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgfSBCSVQ7ICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgICAgICAgIH0gU1RCQ1I2OyAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgX1VCWVRFIHdrMTVbM107ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICB1bmlvbiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFNUQkNSNyAgICAgICAqLw0KICAgICAgICAgICAgIF9VQllURSBCWVRFOyAgICAgICAgICAgICAgICAgICAgICAgLyogIEJ5dGUgQWNjZXNzICovDQogICAgICAgICAgICAgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgQml0IEFjY2VzcyAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFA3MDoxOyAgICAgICAgICAgIC8qICAgTVNUUDcwICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDcxOjE7ICAgICAgICAgICAgLyogICBNU1RQNzEgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSA6MTsgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFA3MzoxOyAgICAgICAgICAgIC8qICAgTVNUUDczICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDc0OjE7ICAgICAgICAgICAgLyogICBNU1RQNzQgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSA6MTsgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFA3NjoxOyAgICAgICAgICAgIC8qICAgTVNUUDc2ICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDc3OjE7ICAgICAgICAgICAgLyogICBNU1RQNzcgICAgICovDQogICAgICAgICAgICAgICAgICAgIH0gQklUOyAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICB9IFNUQkNSNzsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIF9VQllURSB3azE2WzNdOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgdW5pb24geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBTVEJDUjggICAgICAgKi8NCiAgICAgICAgICAgICBfVUJZVEUgQllURTsgICAgICAgICAgICAgICAgICAgICAgIC8qICBCeXRlIEFjY2VzcyAqLw0KICAgICAgICAgICAgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogIEJpdCBBY2Nlc3MgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSA6MTsgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFA4MToxOyAgICAgICAgICAgIC8qICAgTVNUUDgxICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgOjE7ICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBNU1RQODM6MTsgICAgICAgICAgICAvKiAgIE1TVFA4MyAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFA4NDoxOyAgICAgICAgICAgIC8qICAgTVNUUDg0ICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDg1OjE7ICAgICAgICAgICAgLyogICBNU1RQODUgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBNU1RQODY6MTsgICAgICAgICAgICAvKiAgIE1TVFA4NiAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFA4NzoxOyAgICAgICAgICAgIC8qICAgTVNUUDg3ICAgICAqLw0KICAgICAgICAgICAgICAgICAgICB9IEJJVDsgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgfSBTVEJDUjg7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICBfVUJZVEUgd2sxN1szXTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIHVuaW9uIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogU1RCQ1I5ICAgICAgICovDQogICAgICAgICAgICAgX1VCWVRFIEJZVEU7ICAgICAgICAgICAgICAgICAgICAgICAvKiAgQnl0ZSBBY2Nlc3MgKi8NCiAgICAgICAgICAgICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICBCaXQgQWNjZXNzICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDkwOjE7ICAgICAgICAgICAgLyogICBNU1RQNjAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBNU1RQOTE6MTsgICAgICAgICAgICAvKiAgIE1TVFA2MSAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFA5MjoxOyAgICAgICAgICAgIC8qICAgTVNUUDYyICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDkzOjE7ICAgICAgICAgICAgLyogICBNU1RQNjMgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBNU1RQOTQ6MTsgICAgICAgICAgICAvKiAgIE1TVFA2NCAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFA5NToxOyAgICAgICAgICAgIC8qICAgTVNUUDY1ICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDk2OjE7ICAgICAgICAgICAgLyogICBNU1RQNjYgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBNU1RQOTc6MTsgICAgICAgICAgICAvKiAgIE1TVFA2NyAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgfSBCSVQ7ICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgICAgICAgIH0gU1RCQ1I5OyAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgX1VCWVRFIHdrMThbM107ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICB1bmlvbiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFNUQkNSMTAgICAgICAqLw0KICAgICAgICAgICAgIF9VQllURSBCWVRFOyAgICAgICAgICAgICAgICAgICAgICAgLyogIEJ5dGUgQWNjZXNzICovDQogICAgICAgICAgICAgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgQml0IEFjY2VzcyAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFAxMDA6MTsgICAgICAgICAgIC8qICAgTVNUUDEwMCAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDEwMToxOyAgICAgICAgICAgLyogICBNU1RQMTAxICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBNU1RQMTAyOjE7ICAgICAgICAgICAvKiAgIE1TVFAxMDIgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFAxMDM6MTsgICAgICAgICAgIC8qICAgTVNUUDEwMyAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDEwNDoxOyAgICAgICAgICAgLyogICBNU1RQMTA0ICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBNU1RQMTA1OjE7ICAgICAgICAgICAvKiAgIE1TVFAxMDUgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFAxMDY6MTsgICAgICAgICAgIC8qICAgTVNUUDEwNiAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDEwNzoxOyAgICAgICAgICAgLyogICBNU1RQMTA3ICAgICovDQogICAgICAgICAgICAgICAgICAgIH0gQklUOyAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICB9IFNUQkNSMTA7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIF9VQllURSB3azE5WzNdOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgdW5pb24geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBTVEJDUjExICAgICAgKi8NCiAgICAgICAgICAgICBfVUJZVEUgQllURTsgICAgICAgICAgICAgICAgICAgICAgIC8qICBCeXRlIEFjY2VzcyAqLw0KICAgICAgICAgICAgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogIEJpdCBBY2Nlc3MgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBNU1RQMTEwOjE7ICAgICAgICAgICAvKiAgIE1TVFAxMTAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFAxMTE6MTsgICAgICAgICAgIC8qICAgTVNUUDExMSAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDExMjoxOyAgICAgICAgICAgLyogICBNU1RQMTEyICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBNU1RQMTEzOjE7ICAgICAgICAgICAvKiAgIE1TVFAxMTMgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFAxMTQ6MTsgICAgICAgICAgIC8qICAgTVNUUDExNCAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDExNToxOyAgICAgICAgICAgLyogICBNU1RQMTE1ICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSA6MjsgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgfSBCSVQ7ICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgICAgICAgIH0gU1RCQ1IxMTsgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgX1VCWVRFIHdrMjBbM107ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICB1bmlvbiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFNUQkNSMTIgICAgICAqLw0KICAgICAgICAgICAgIF9VQllURSBCWVRFOyAgICAgICAgICAgICAgICAgICAgICAgLyogIEJ5dGUgQWNjZXNzICovDQogICAgICAgICAgICAgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgQml0IEFjY2VzcyAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFAxMjA6MTsgICAgICAgICAgIC8qICAgTVNUUDEyMCAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgTVNUUDEyMToxOyAgICAgICAgICAgLyogICBNU1RQMTIxICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBNU1RQMTIyOjE7ICAgICAgICAgICAvKiAgIE1TVFAxMjIgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIE1TVFAxMjM6MTsgICAgICAgICAgIC8qICAgTVNUUDEyMyAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgOjQ7ICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIH0gQklUOyAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICB9IFNUQkNSMTI7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIF9VQllURSB3azIxWzI3XTsgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgdW5pb24geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBTV1JTVENSMSAgICAgKi8NCiAgICAgICAgICAgICBfVUJZVEUgQllURTsgICAgICAgICAgICAgICAgICAgICAgIC8qICBCeXRlIEFjY2VzcyAqLw0KICAgICAgICAgICAgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogIEJpdCBBY2Nlc3MgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSA6MTsgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFNSU1QxMToxOyAgICAgICAgICAgIC8qICAgU1JTVDExICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgU1JTVDEyOjE7ICAgICAgICAgICAgLyogICBTUlNUMTIgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBTUlNUMTM6MTsgICAgICAgICAgICAvKiAgIFNSU1QxMyAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFNSU1QxNDoxOyAgICAgICAgICAgIC8qICAgU1JTVDE0ICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgU1JTVDE1OjE7ICAgICAgICAgICAgLyogICBTUlNUMTUgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBTUlNUMTY6MTsgICAgICAgICAgICAvKiAgIFNSU1QxNiAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIEFYVEFMRToxOyAgICAgICAgICAgIC8qICAgQVhUQUxFICAgICAqLw0KICAgICAgICAgICAgICAgICAgICB9IEJJVDsgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgfSBTV1JTVENSMTsgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICBfVUJZVEUgd2syMlszXTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIHVuaW9uIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogU1dSU1RDUjIgICAgICovDQogICAgICAgICAgICAgX1VCWVRFIEJZVEU7ICAgICAgICAgICAgICAgICAgICAgICAvKiAgQnl0ZSBBY2Nlc3MgKi8NCiAgICAgICAgICAgICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICBCaXQgQWNjZXNzICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgOjE7ICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBTUlNUMjE6MTsgICAgICAgICAgICAvKiAgIFNSU1QyMSAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFNSU1QyMjoxOyAgICAgICAgICAgIC8qICAgU1JTVDIyICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgU1JTVDIzOjE7ICAgICAgICAgICAgLyogICBTUlNUMjMgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBTUlNUMjQ6MTsgICAgICAgICAgICAvKiAgIFNSU1QyNCAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFNSU1QyNToxOyAgICAgICAgICAgIC8qICAgU1JTVDI1ICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgU1JTVDI2OjE7ICAgICAgICAgICAgLyogICBTUlNUMjYgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBTUlNUMjc6MTsgICAgICAgICAgICAvKiAgIFNSU1QyNyAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgfSBCSVQ7ICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgICAgICAgIH0gU1dSU1RDUjI7ICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgX1VCWVRFIHdrMjNbM107ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICB1bmlvbiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFNXUlNUQ1IzICAgICAqLw0KICAgICAgICAgICAgIF9VQllURSBCWVRFOyAgICAgICAgICAgICAgICAgICAgICAgLyogIEJ5dGUgQWNjZXNzICovDQogICAgICAgICAgICAgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgQml0IEFjY2VzcyAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIDoxOyAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgU1JTVDMxOjE7ICAgICAgICAgICAgLyogICBTUlNUMzEgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBTUlNUMzI6MTsgICAgICAgICAgICAvKiAgIFNSU1QzMiAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFNSU1QzMzoxOyAgICAgICAgICAgIC8qICAgU1JTVDMzICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgU1JTVDM0OjE7ICAgICAgICAgICAgLyogICBTUlNUMzQgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBTUlNUMzU6MTsgICAgICAgICAgICAvKiAgIFNSU1QzNSAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFNSU1QzNjoxOyAgICAgICAgICAgIC8qICAgU1JTVDM2ICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgOjE7ICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIH0gQklUOyAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICB9IFNXUlNUQ1IzOyAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIF9VQllURSB3azI0WzNdOyAgICAgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgdW5pb24geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBTV1JTVENSNCAgICAgKi8NCiAgICAgICAgICAgICBfVUJZVEUgQllURTsgICAgICAgICAgICAgICAgICAgICAgIC8qICBCeXRlIEFjY2VzcyAqLw0KICAgICAgICAgICAgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogIEJpdCBBY2Nlc3MgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBTUlNUNDA6MTsgICAgICAgICAgICAvKiAgIFNSU1Q0MCAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFNSU1Q0MToxOyAgICAgICAgICAgIC8qICAgU1JTVDQxICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgOjY7ICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIH0gQklUOyAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICB9IFNXUlNUQ1I0OyAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIF9VQllURSB3azI1WzcwNTQ3XTsgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgdW5pb24geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBSUkFNS1AgICAgICAgKi8NCiAgICAgICAgICAgICBfVUJZVEUgQllURTsgICAgICAgICAgICAgICAgICAgICAgIC8qICBCeXRlIEFjY2VzcyAqLw0KICAgICAgICAgICAgIHN0cnVjdCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogIEJpdCBBY2Nlc3MgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBSUkFNS1AwOjE7ICAgICAgICAgICAvKiAgIFJSQU1LUDAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIFJSQU1LUDE6MTsgICAgICAgICAgIC8qICAgUlJBTUtQMSAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgUlJBTUtQMjoxOyAgICAgICAgICAgLyogICBSUkFNS1AyICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBSUkFNS1AzOjE7ICAgICAgICAgICAvKiAgIFJSQU1LUDMgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIDo0OyAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICB9IEJJVDsgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgfSBSUkFNS1A7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICBfVUJZVEUgd2syNlsxXTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIHVuaW9uIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRFNDVFIgICAgICAgICovDQogICAgICAgICAgICAgX1VCWVRFIEJZVEU7ICAgICAgICAgICAgICAgICAgICAgICAvKiAgQnl0ZSBBY2Nlc3MgKi8NCiAgICAgICAgICAgICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICBCaXQgQWNjZXNzICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgOjY7ICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBSQU1CT09UOjE7ICAgICAgICAgICAvKiAgIFJBTUJPT1QgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIEVCVVNLRUVQRToxOyAgICAgICAgIC8qICAgRUJVU0tFRVBFICAqLw0KICAgICAgICAgICAgICAgICAgICB9IEJJVDsgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgfSBEU0NUUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICBfVUJZVEUgd2syN1sxXTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIHVuaW9uIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRFNTU1IgICAgICAgICovDQogICAgICAgICAgICAgX1VXT1JEIFdPUkQ7ICAgICAgICAgICAgICAgICAgICAgICAvKiAgV29yZCBBY2Nlc3MgKi8NCiAgICAgICAgICAgICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICBCaXQgQWNjZXNzICAqLw0KICAgICAgICAgICAgICAgICAgICBfVVdPUkQgUDhfMjoxOyAgICAgICAgICAgICAgLyogICBQOF8yICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VV09SRCBQOV8xOjE7ICAgICAgICAgICAgICAvKiAgIFA5XzEgICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VXT1JEIFAyXzE1OjE7ICAgICAgICAgICAgIC8qICAgUDJfMTUgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVVdPUkQgUDdfODoxOyAgICAgICAgICAgICAgLyogICBQN184ICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VV09SRCBQNV85OjE7ICAgICAgICAgICAgICAvKiAgIFA1XzkgICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VXT1JEIFA2XzQ6MTsgICAgICAgICAgICAgIC8qICAgUDZfNCAgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVVdPUkQgUlRDQVI6MTsgICAgICAgICAgICAgLyogICBSVENBUiAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VV09SRCA6MTsgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VXT1JEIE5NSToxOyAgICAgICAgICAgICAgIC8qICAgTk1JICAgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVVdPUkQgUDNfMzoxOyAgICAgICAgICAgICAgLyogICBQM18zICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VV09SRCBQOF83OjE7ICAgICAgICAgICAgICAvKiAgIFA4XzcgICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VXT1JEIFAyXzEyOjE7ICAgICAgICAgICAgIC8qICAgUDJfMTIgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVVdPUkQgUDNfMToxOyAgICAgICAgICAgICAgLyogICBQM18xICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VV09SRCBQM185OjE7ICAgICAgICAgICAgICAvKiAgIFAzXzkgICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VXT1JEIFA2XzI6MTsgICAgICAgICAgICAgIC8qICAgUDZfMiAgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVVdPUkQgOjE7ICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIH0gQklUOyAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICB9IERTU1NSOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIHVuaW9uIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRFNFU1IgICAgICAgICovDQogICAgICAgICAgICAgX1VXT1JEIFdPUkQ7ICAgICAgICAgICAgICAgICAgICAgICAvKiAgV29yZCBBY2Nlc3MgKi8NCiAgICAgICAgICAgICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICBCaXQgQWNjZXNzICAqLw0KICAgICAgICAgICAgICAgICAgICBfVVdPUkQgUDhfMkU6MTsgICAgICAgICAgICAgLyogICBQOF8yRSAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VV09SRCBQOV8xRToxOyAgICAgICAgICAgICAvKiAgIFA5XzFFICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VXT1JEIFAyXzE1RToxOyAgICAgICAgICAgIC8qICAgUDJfMTVFICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVVdPUkQgUDdfOEU6MTsgICAgICAgICAgICAgLyogICBQN184RSAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VV09SRCBQNV85RToxOyAgICAgICAgICAgICAvKiAgIFA1XzlFICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VXT1JEIFA2XzRFOjE7ICAgICAgICAgICAgIC8qICAgUDZfNEUgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVVdPUkQgOjI7ICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VV09SRCBOTUlFOjE7ICAgICAgICAgICAgICAvKiAgIE5NSUUgICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VXT1JEIFAzXzNFOjE7ICAgICAgICAgICAgIC8qICAgUDNfM0UgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVVdPUkQgUDhfN0U6MTsgICAgICAgICAgICAgLyogICBQOF83RSAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VV09SRCBQMl8xMkU6MTsgICAgICAgICAgICAvKiAgIFAyXzEyRSAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VXT1JEIFAzXzFFOjE7ICAgICAgICAgICAgIC8qICAgUDNfMUUgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVVdPUkQgUDNfOUU6MTsgICAgICAgICAgICAgLyogICBQM185RSAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VV09SRCBQNl8yRToxOyAgICAgICAgICAgICAvKiAgIFA2XzJFICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VXT1JEIDoxOyAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICB9IEJJVDsgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgfSBEU0VTUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICB1bmlvbiB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIERTRlIgICAgICAgICAqLw0KICAgICAgICAgICAgIF9VV09SRCBXT1JEOyAgICAgICAgICAgICAgICAgICAgICAgLyogIFdvcmQgQWNjZXNzICovDQogICAgICAgICAgICAgc3RydWN0IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgQml0IEFjY2VzcyAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VXT1JEIFA4XzJGOjE7ICAgICAgICAgICAgIC8qICAgUDhfMkYgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVVdPUkQgUDlfMUY6MTsgICAgICAgICAgICAgLyogICBQOV8xRiAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VV09SRCBQMl8xNUY6MTsgICAgICAgICAgICAvKiAgIFAyXzE1RiAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VXT1JEIFA3XzhGOjE7ICAgICAgICAgICAgIC8qICAgUDdfOEYgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVVdPUkQgUDVfOUY6MTsgICAgICAgICAgICAgLyogICBQNV85RiAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VV09SRCBQNl80RjoxOyAgICAgICAgICAgICAvKiAgIFA2XzRGICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VXT1JEIFJUQ0FSRjoxOyAgICAgICAgICAgIC8qICAgUlRDQVJGICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVVdPUkQgOjE7ICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VV09SRCBOTUlGOjE7ICAgICAgICAgICAgICAvKiAgIE5NSUYgICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VXT1JEIFAzXzNGOjE7ICAgICAgICAgICAgIC8qICAgUDNfM0YgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVVdPUkQgUDhfN0Y6MTsgICAgICAgICAgICAgLyogICBQOF83RiAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VV09SRCBQMl8xMkY6MTsgICAgICAgICAgICAvKiAgIFAyXzEyRiAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VXT1JEIFAzXzFGOjE7ICAgICAgICAgICAgIC8qICAgUDNfMUYgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICBfVVdPUkQgUDNfOUY6MTsgICAgICAgICAgICAgLyogICBQM185RiAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VV09SRCBQNl8yRjoxOyAgICAgICAgICAgICAvKiAgIFA2XzJGICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VXT1JEIElPS0VFUDoxOyAgICAgICAgICAgIC8qICAgSU9LRUVQICAgICAqLw0KICAgICAgICAgICAgICAgICAgICB9IEJJVDsgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgfSBEU0ZSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCiAgICAgICBfVUJZVEUgd2syOFs2XTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgIHVuaW9uIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogWFRBTENUUiAgICAgICovDQogICAgICAgICAgICAgX1VCWVRFIEJZVEU7ICAgICAgICAgICAgICAgICAgICAgICAvKiAgQnl0ZSBBY2Nlc3MgKi8NCiAgICAgICAgICAgICBzdHJ1Y3QgeyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICBCaXQgQWNjZXNzICAqLw0KICAgICAgICAgICAgICAgICAgICBfVUJZVEUgR0FJTjA6MTsgICAgICAgICAgICAgLyogICBHQUlOMCAgICAgICovDQogICAgICAgICAgICAgICAgICAgIF9VQllURSBHQUlOMToxOyAgICAgICAgICAgICAvKiAgIEdBSU4xICAgICAgKi8NCiAgICAgICAgICAgICAgICAgICAgX1VCWVRFIDo2OyAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KICAgICAgICAgICAgICAgICAgICB9IEJJVDsgICAgICAgICAgICAgICAgICAgICAgLyogICAgICAgICAgICAgICovDQogICAgICAgICAgICAgfSBYVEFMQ1RSOyAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgICAgICAgICAgICAgKi8NCn07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgICAgICAgICAgICAqLw0KDQojZGVmaW5lIENQRyAoKih2b2xhdGlsZSBzdHJ1Y3Qgc3RfY3BnICopMHhGQ0ZFMDAxMCkgICAgLyogQ1BHIEFkZHJlc3MgICovDQoNCg0KI2VuZGlmIC8qIF9fQ1BHX0lPREVGSU5FX0hfXyAqLw0KDQovKiBFbmQgb2YgRmlsZSAqLw0K