LyoKKiBDb3B5cmlnaHQgKGMpIDIwMTUtMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24KKgoqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCiogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCiogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCiogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCiogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKgoqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkCiogaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCioKKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUwoqIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAoqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMCiogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IKKiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwKKiBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IKKiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCiovCi8vIQovLyEgXGZpbGUgICAgIG1od192ZWJveF9od2NtZF9nMTJfWC5oCi8vISBcYnJpZWYgICAgQXV0by1nZW5lcmF0ZWQgY29uc3RydWN0b3JzIGZvciBNSFcgYW5kIHN0YXRlcy4KLy8hIFxkZXRhaWxzICBUaGlzIGZpbGUgbWF5IG5vdCBiZSBpbmNsdWRlZCBvdXRzaWRlIG9mIGcxMl9YIGFzIG90aGVyIGNvbXBvbmVudHMKLy8hICAgICAgICAgICBzaG91bGQgdXNlIE1IVyBpbnRlcmZhY2UgdG8gaW50ZXJhY3Qgd2l0aCBNSFcgY29tbWFuZHMgYW5kIHN0YXRlcy4KLy8hCiNpZm5kZWYgX19NSFdfVkVCT1hfSFdDTURfRzEyX1hfSF9fCiNkZWZpbmUgX19NSFdfVkVCT1hfSFdDTURfRzEyX1hfSF9fCgojcHJhZ21hIG9uY2UKI3ByYWdtYSBwYWNrKDEpCgojaW5jbHVkZSA8Y3N0ZGludD4KI2luY2x1ZGUgPGNzdGRkZWY+CgpjbGFzcyBtaHdfdmVib3hfZzEyX1gKewpwdWJsaWM6CiAgICAvLyBJbnRlcm5hbCBNYWNyb3MKICAgICNkZWZpbmUgX19DT0RFR0VOX01BWChfYSwgX2IpICgoKF9hKSA+IChfYikpID8gKF9hKSA6IChfYikpCiAgICAjZGVmaW5lIF9fQ09ERUdFTl9CSVRGSUVMRChsLCBoKSAoaCkgLSAobCkgKyAxCiAgICAjZGVmaW5lIF9fQ09ERUdFTl9PUF9MRU5HVEhfQklBUyAyCiAgICAjZGVmaW5lIF9fQ09ERUdFTl9PUF9MRU5HVEgoeCkgKHVpbnQzMl90KSgoX19DT0RFR0VOX01BWCh4LCBfX0NPREVHRU5fT1BfTEVOR1RIX0JJQVMpKSAtIF9fQ09ERUdFTl9PUF9MRU5HVEhfQklBUykKCiAgICBzdGF0aWMgdWludDMyX3QgR2V0T3BMZW5ndGgodWludDMyX3QgdWlMZW5ndGgpIHsgcmV0dXJuIF9fQ09ERUdFTl9PUF9MRU5HVEgodWlMZW5ndGgpOyB9CgogICAgLy8hCiAgICAvLyEgXGJyaWVmIFZFQk9YX0FDRV9MQUNFX1NUQVRFCiAgICAvLyEgXGRldGFpbHMKICAgIC8vISAgICAgVGhpcyBzdGF0ZSBzdHJ1Y3R1cmUgY29udGFpbnMgdGhlIElFQ1AgU3RhdGUgVGFibGUgQ29udGVudHMgZm9yIEFDRQogICAgLy8hICAgICBzdGF0ZS4KICAgIC8vISAgICAgCiAgICBzdHJ1Y3QgVkVCT1hfQUNFX0xBQ0VfU1RBVEVfQ01ECiAgICB7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEFjZUVuYWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDApICAgIDsgLy8hPCBBQ0UgRW5hYmxlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAxLCAgMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU2tpblRocmVzaG9sZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAyLCAgNikgICAgOyAvLyE8IFNLSU5fVEhSRVNIT0xECiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA3LCAxMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUhpc3RvZ3JhbUVuYWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEyLCAxMikgICAgOyAvLyE8IExBQ0VfSElTVE9HUkFNX0VOQUJMRQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VIaXN0b2dyYW1TaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMywgMTMpICAgIDsgLy8hPCBMQUNFX0hJU1RPR1JBTV9TSVpFCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZVNpbmdsZUhpc3RvZ3JhbVNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE0LCAxNSkgICAgOyAvLyE8IExBQ0VfU0lOR0xFX0hJU1RPR1JBTV9TRVQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBNaW5BY2VMdW1hICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgTWluX0FDRV9sdW1hCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFltaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDcpICAgIDsgLy8hPCBZTUlOCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgWTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAxNSkgICAgOyAvLyE8IFkxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgWTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAyMykgICAgOyAvLyE8IFkyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgWTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI0LCAzMSkgICAgOyAvLyE8IFkzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFk0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDcpICAgIDsgLy8hPCBZNAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFk1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgMTUpICAgIDsgLy8hPCBZNQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFk2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjMpICAgIDsgLy8hPCBZNgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFk3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNCwgMzEpICAgIDsgLy8hPCBZNwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBZOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA3KSAgICA7IC8vITwgWTgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBZOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDgsIDE1KSAgICA7IC8vITwgWTkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBZMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDIzKSAgICA7IC8vITwgWTEwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgWW1heCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI0LCAzMSkgICAgOyAvLyE8IFlNQVgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgNykgICAgOyAvLyE8IEIxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAxNSkgICAgOyAvLyE8IEIyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAyMykgICAgOyAvLyE8IEIzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI0LCAzMSkgICAgOyAvLyE8IEI0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEI1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDcpICAgIDsgLy8hPCBCNQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEI2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgMTUpICAgIDsgLy8hPCBCNgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEI3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjMpICAgIDsgLy8hPCBCNwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEI4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNCwgMzEpICAgIDsgLy8hPCBCOAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBCOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA3KSAgICA7IC8vITwgQjkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBCMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDgsIDE1KSAgICA7IC8vITwgQjEwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQyMDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTApICAgIDsgLy8hPCBTMAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMjM1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMSwgMTUpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjYpICAgIDsgLy8hPCBTMQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMjUxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNywgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDEwKSAgICA7IC8vITwgUzIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDI2NyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTEsIDE1KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDI2KSAgICA7IC8vITwgUzMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDI4MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjcsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxMCkgICAgOyAvLyE8IFM0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQyOTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDExLCAxNSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAyNikgICAgOyAvLyE8IFM1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQzMTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI3LCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDEwKSAgICA7IC8vITwgUzYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDMzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTEsIDE1KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDI2KSAgICA7IC8vITwgUzcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDM0NyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjcsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDEwKSAgICA7IC8vITwgUzgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDM2MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTEsIDE1KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDI2KSAgICA7IC8vITwgUzkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDM3OSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjcsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDEwKSAgICA7IC8vITwgUzEwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQzOTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDExLCAxNSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTWF4QWNlTHVtYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IE1heF9BQ0VfbHVtYQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VZT2Zmc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBMQUNFIFkgT2Zmc2V0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ0MzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMCkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUNvbG9yQ29ycmVjdGlvbkVuYWJsZSAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDMxLCAzMSkgICAgOyAvLyE8IExBQ0UgQ29sb3IgQ29ycmVjdGlvbiBFbmFibGUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMYWNlVU9mZnNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgTEFDRSBVIE9mZnNldAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VWT2Zmc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBMQUNFIFYgT2Zmc2V0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUdhbW1hQ3VydmVQb2ludDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgNykgICAgOyAvLyE8IExBQ0UgZ2FtbWEgY3VydmUgcG9pbnQgMAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VHYW1tYUN1cnZlQmlhczAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgMjApICAgIDsgLy8hPCBMQUNFIGdhbW1hIGN1cnZlIGJpYXMgMAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VHYW1tYUN1cnZlU2xvcGUwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMSwgMzEpICAgIDsgLy8hPCBMQUNFIGdhbW1hIGN1cnZlIHNsb3BlIDAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMYWNlR2FtbWFDdXJ2ZVBvaW50MSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA3KSAgICA7IC8vITwgTEFDRSBnYW1tYSBjdXJ2ZSBwb2ludCAxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUdhbW1hQ3VydmVCaWFzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAyMCkgICAgOyAvLyE8IExBQ0UgZ2FtbWEgY3VydmUgYmlhcyAxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUdhbW1hQ3VydmVTbG9wZTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIxLCAzMSkgICAgOyAvLyE8IExBQ0UgZ2FtbWEgY3VydmUgc2xvcGUgMQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxNjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VHYW1tYUN1cnZlUG9pbnQyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDcpICAgIDsgLy8hPCBMQUNFIGdhbW1hIGN1cnZlIHBvaW50IDIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMYWNlR2FtbWFDdXJ2ZUJpYXMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDgsIDIwKSAgICA7IC8vITwgTEFDRSBnYW1tYSBjdXJ2ZSBiaWFzIDIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMYWNlR2FtbWFDdXJ2ZVNsb3BlMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjEsIDMxKSAgICA7IC8vITwgTEFDRSBnYW1tYSBjdXJ2ZSBzbG9wZSAyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUdhbW1hQ3VydmVQb2ludDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgNykgICAgOyAvLyE8IExBQ0UgZ2FtbWEgY3VydmUgcG9pbnQgMwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VHYW1tYUN1cnZlQmlhczMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgMjApICAgIDsgLy8hPCBMQUNFIGdhbW1hIGN1cnZlIGJpYXMgMwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VHYW1tYUN1cnZlU2xvcGUzICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMSwgMzEpICAgIDsgLy8hPCBMQUNFIGdhbW1hIGN1cnZlIHNsb3BlIDMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMYWNlR2FtbWFDdXJ2ZVBvaW50NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA3KSAgICA7IC8vITwgTEFDRSBnYW1tYSBjdXJ2ZSBwb2ludCA0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUdhbW1hQ3VydmVCaWFzNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAyMCkgICAgOyAvLyE8IExBQ0UgZ2FtbWEgY3VydmUgYmlhcyA0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUdhbW1hQ3VydmVTbG9wZTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIxLCAzMSkgICAgOyAvLyE8IExBQ0UgZ2FtbWEgY3VydmUgc2xvcGUgNAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxOTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAyMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VHYW1tYUN1cnZlUG9pbnQ1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDcpICAgIDsgLy8hPCBMQUNFIGdhbW1hIGN1cnZlIHBvaW50IDUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMYWNlR2FtbWFDdXJ2ZUJpYXM1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDgsIDIwKSAgICA7IC8vITwgTEFDRSBnYW1tYSBjdXJ2ZSBiaWFzIDUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMYWNlR2FtbWFDdXJ2ZVNsb3BlNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjEsIDMxKSAgICA7IC8vITwgTEFDRSBnYW1tYSBjdXJ2ZSBzbG9wZSA1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzIwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUdhbW1hQ3VydmVQb2ludDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgNykgICAgOyAvLyE8IExBQ0UgZ2FtbWEgY3VydmUgcG9pbnQgNgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VHYW1tYUN1cnZlQmlhczYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgMjApICAgIDsgLy8hPCBMQUNFIGdhbW1hIGN1cnZlIGJpYXMgNgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VHYW1tYUN1cnZlU2xvcGU2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMSwgMzEpICAgIDsgLy8hPCBMQUNFIGdhbW1hIGN1cnZlIHNsb3BlIDYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMjIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMYWNlR2FtbWFDdXJ2ZVBvaW50NyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA3KSAgICA7IC8vITwgTEFDRSBnYW1tYSBjdXJ2ZSBwb2ludCA3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUdhbW1hQ3VydmVCaWFzNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAyMCkgICAgOyAvLyE8IExBQ0UgZ2FtbWEgY3VydmUgYmlhcyA3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUdhbW1hQ3VydmVTbG9wZTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIxLCAzMSkgICAgOyAvLyE8IExBQ0UgZ2FtbWEgY3VydmUgc2xvcGUgNwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAyMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VHYW1tYUN1cnZlUG9pbnQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDcpICAgIDsgLy8hPCBMQUNFIGdhbW1hIGN1cnZlIHBvaW50IDgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMYWNlR2FtbWFDdXJ2ZUJpYXM4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDgsIDIwKSAgICA7IC8vITwgTEFDRSBnYW1tYSBjdXJ2ZSBiaWFzIDgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMYWNlR2FtbWFDdXJ2ZVNsb3BlOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjEsIDMxKSAgICA7IC8vITwgTEFDRSBnYW1tYSBjdXJ2ZSBzbG9wZSA4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzIzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUdhbW1hQ3VydmVQb2ludDkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgNykgICAgOyAvLyE8IExBQ0UgZ2FtbWEgY3VydmUgcG9pbnQgOQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VHYW1tYUN1cnZlQmlhczkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgMjApICAgIDsgLy8hPCBMQUNFIGdhbW1hIGN1cnZlIGJpYXMgOQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VHYW1tYUN1cnZlU2xvcGU5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMSwgMzEpICAgIDsgLy8hPCBMQUNFIGdhbW1hIGN1cnZlIHNsb3BlIDkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMjUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMYWNlR2FtbWFDdXJ2ZVBvaW50MTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA3KSAgICA7IC8vITwgTEFDRSBnYW1tYSBjdXJ2ZSBwb2ludCAxMAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VHYW1tYUN1cnZlQmlhczEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgMjApICAgIDsgLy8hPCBMQUNFIGdhbW1hIGN1cnZlIGJpYXMgMTAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMYWNlR2FtbWFDdXJ2ZVNsb3BlMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjEsIDMxKSAgICA7IC8vITwgTEFDRSBnYW1tYSBjdXJ2ZSBzbG9wZSAxMAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyNTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAyNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VHYW1tYUN1cnZlUG9pbnQxMSAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDcpICAgIDsgLy8hPCBMQUNFIGdhbW1hIGN1cnZlIHBvaW50IDExCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUdhbW1hQ3VydmVCaWFzMTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAyMCkgICAgOyAvLyE8IExBQ0UgZ2FtbWEgY3VydmUgYmlhcyAxMQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VHYW1tYUN1cnZlU2xvcGUxMSAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMSwgMzEpICAgIDsgLy8hPCBMQUNFIGdhbW1hIGN1cnZlIHNsb3BlIDExCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzI2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUdhbW1hQ3VydmVQb2ludDEyICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgNykgICAgOyAvLyE8IExBQ0UgZ2FtbWEgY3VydmUgcG9pbnQgMTIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMYWNlR2FtbWFDdXJ2ZUJpYXMxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDgsIDIwKSAgICA7IC8vITwgTEFDRSBnYW1tYSBjdXJ2ZSBiaWFzIDEyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUdhbW1hQ3VydmVTbG9wZTEyICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIxLCAzMSkgICAgOyAvLyE8IExBQ0UgZ2FtbWEgY3VydmUgc2xvcGUgMTIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMjgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMYWNlR2FtbWFDdXJ2ZVBvaW50MTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA3KSAgICA7IC8vITwgTEFDRSBnYW1tYSBjdXJ2ZSBwb2ludCAxMwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VHYW1tYUN1cnZlQmlhczEzICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgMjApICAgIDsgLy8hPCBMQUNFIGdhbW1hIGN1cnZlIGJpYXMgMTMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMYWNlR2FtbWFDdXJ2ZVNsb3BlMTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjEsIDMxKSAgICA7IC8vITwgTEFDRSBnYW1tYSBjdXJ2ZSBzbG9wZSAxMwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAyOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VHYW1tYUN1cnZlUG9pbnQxNCAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDcpICAgIDsgLy8hPCBMQUNFIGdhbW1hIGN1cnZlIHBvaW50IDE0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUdhbW1hQ3VydmVCaWFzMTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAyMCkgICAgOyAvLyE8IExBQ0UgZ2FtbWEgY3VydmUgYmlhcyAxNAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VHYW1tYUN1cnZlU2xvcGUxNCAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMSwgMzEpICAgIDsgLy8hPCBMQUNFIGdhbW1hIGN1cnZlIHNsb3BlIDE0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzI5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUdhbW1hQ3VydmVQb2ludDE1ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgNykgICAgOyAvLyE8IExBQ0UgZ2FtbWEgY3VydmUgcG9pbnQgMTUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMYWNlR2FtbWFDdXJ2ZUJpYXMxNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDgsIDIwKSAgICA7IC8vITwgTEFDRSBnYW1tYSBjdXJ2ZSBiaWFzIDE1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUdhbW1hQ3VydmVTbG9wZTE1ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIxLCAzMSkgICAgOyAvLyE8IExBQ0UgZ2FtbWEgY3VydmUgc2xvcGUgMTUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzA7CgogICAgICAgIC8vISBcbmFtZSBMb2NhbCBlbnVtZXJhdGlvbnMKCiAgICAgICAgLy8hIFxicmllZiBTS0lOX1RIUkVTSE9MRAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVXNlZCBmb3IgWSBhbmFseXNpcyAobWluL21heCkgZm9yIHBpeGVscyB3aGljaCBhcmUgaGlnaGVyIHRoYW4gc2tpbgogICAgICAgIC8vISAgICAgdGhyZXNob2xkLgogICAgICAgIGVudW0gU0tJTl9USFJFU0hPTEQKICAgICAgICB7CiAgICAgICAgICAgIFNLSU5fVEhSRVNIT0xEX1VOTkFNRUQyNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIExBQ0VfSElTVE9HUkFNX0VOQUJMRQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhpcyBiaXQgZW5hYmxlcyB0aGUgY29sbGVjdGlvbiBvZiBMQUNFIGhpc3RvZ3JhbSBkYXRhLiBJZiB0aGlzIGJpdCBpcyAwCiAgICAgICAgLy8hICAgICB0aGVuIG9ubHkgdGhlIEFDRSBoaXN0b2dyYW0gd2lsbCBiZSBjb2xsZWN0ZWQuCiAgICAgICAgZW51bSBMQUNFX0hJU1RPR1JBTV9FTkFCTEUKICAgICAgICB7CiAgICAgICAgICAgIExBQ0VfSElTVE9HUkFNX0VOQUJMRV9VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gTEFDRV9ISVNUT0dSQU1fU0laRQogICAgICAgIHsKICAgICAgICAgICAgTEFDRV9ISVNUT0dSQU1fU0laRV8xMjhfQklOSElTVE9HUkFNICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIExBQ0VfSElTVE9HUkFNX1NJWkVfMjU2X0JJTkhJU1RPR1JBTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgTEFDRV9TSU5HTEVfSElTVE9HUkFNX1NFVAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhpcyBiaXQgdGVsbHMgTEFDRSB3aGljaCBmcmFtZXMgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgaGlzdG9ncmFtIHdoZW4KICAgICAgICAvLyEgICAgIHRoZSBEZWludGVybGFjZXIgaXMgZW5hYmxlZC4KICAgICAgICBlbnVtIExBQ0VfU0lOR0xFX0hJU1RPR1JBTV9TRVQKICAgICAgICB7CiAgICAgICAgICAgIExBQ0VfU0lOR0xFX0hJU1RPR1JBTV9TRVRfQ1VSUkVOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IFRoZSBoaXN0b2dyYW0gaW5jbHVkZXMgb25seSB0aGUgY3VycmVudCBmcmFtZS4KICAgICAgICAgICAgTEFDRV9TSU5HTEVfSElTVE9HUkFNX1NFVF9QUkVWSU9VUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEsIC8vITwgVGhlIGhpc3RvZ3JhbSBpbmNsdWRlcyBvbmx5IHRoZSBwcmV2aW91cyBmcmFtZS4KICAgICAgICAgICAgTEFDRV9TSU5HTEVfSElTVE9HUkFNX1NFVF9DVVJSRU5UUFJFVklPVVMgICAgICAgICAgICAgICAgICAgICAgICA9IDIsIC8vITwgVGhlIGhpc3RvZ3JhbSBpbmNsdWRlcyBwaXhlbHMgZnJvbSBib3RoIHRoZSBjdXJyZW50IGFuZCBwcmV2aW91cyBmcmFtZS4KICAgICAgICAgICAgTEFDRV9TSU5HTEVfSElTVE9HUkFNX1NFVF9QUkVWSU9VU0NVUlJFTlQgICAgICAgICAgICAgICAgICAgICAgICA9IDMsIC8vITwgVGhlIGhpc3RvZ3JhbSBpbmNsdWRlcyB0aGUgcHJldmlvdXMgZnJhbWUgZm9sbG93ZWQgYnkgdGhlIGN1cnJlbnQgZnJhbWUuCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBZTUlOCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgdmFsdWUgb2YgdGhlIHlfcGl4ZWwgZm9yIHBvaW50IDAgaW4gUFdMLgogICAgICAgIGVudW0gWU1JTgogICAgICAgIHsKICAgICAgICAgICAgWU1JTl9VTk5BTUVEMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgWTEKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSB2YWx1ZSBvZiB0aGUgeV9waXhlbCBmb3IgcG9pbnQgMSBpbiBQV0wuCiAgICAgICAgZW51bSBZMQogICAgICAgIHsKICAgICAgICAgICAgWTFfVU5OQU1FRDM2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgWTIKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSB2YWx1ZSBvZiB0aGUgeV9waXhlbCBmb3IgcG9pbnQgMiBpbiBQV0wuCiAgICAgICAgZW51bSBZMgogICAgICAgIHsKICAgICAgICAgICAgWTJfVU5OQU1FRDU2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgWTMKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSB2YWx1ZSBvZiB0aGUgeV9waXhlbCBmb3IgcG9pbnQgMyBpbiBQV0wuCiAgICAgICAgZW51bSBZMwogICAgICAgIHsKICAgICAgICAgICAgWTNfVU5OQU1FRDc2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgWTQKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSB2YWx1ZSBvZiB0aGUgeV9waXhlbCBmb3IgcG9pbnQgNCBpbiBQV0wuCiAgICAgICAgZW51bSBZNAogICAgICAgIHsKICAgICAgICAgICAgWTRfVU5OQU1FRDk2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgWTUKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSB2YWx1ZSBvZiB0aGUgeV9waXhlbCBmb3IgcG9pbnQgNSBpbiBQV0wuCiAgICAgICAgZW51bSBZNQogICAgICAgIHsKICAgICAgICAgICAgWTVfVU5OQU1FRDExNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDExNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFk2CiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgdmFsdWUgb2YgdGhlIHlfcGl4ZWwgZm9yIHBvaW50IDYgaW4gUFdMLgogICAgICAgIGVudW0gWTYKICAgICAgICB7CiAgICAgICAgICAgIFk2X1VOTkFNRUQxMzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBZNwogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhlIHZhbHVlIG9mIHRoZSB5X3BpeGVsIGZvciBwb2ludCA3IGluIFBXTC4KICAgICAgICBlbnVtIFk3CiAgICAgICAgewogICAgICAgICAgICBZN19VTk5BTUVEMTU2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgWTgKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSB2YWx1ZSBvZiB0aGUgeV9waXhlbCBmb3IgcG9pbnQgOCBpbiBQV0wuCiAgICAgICAgZW51bSBZOAogICAgICAgIHsKICAgICAgICAgICAgWThfVU5OQU1FRDE3NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDE3NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFk5CiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgdmFsdWUgb2YgdGhlIHlfcGl4ZWwgZm9yIHBvaW50IDkgaW4gUFdMLgogICAgICAgIGVudW0gWTkKICAgICAgICB7CiAgICAgICAgICAgIFk5X1VOTkFNRUQxOTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxOTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBZMTAKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSB2YWx1ZSBvZiB0aGUgeV9waXhlbCBmb3IgcG9pbnQgMTAgaW4gUFdMLgogICAgICAgIGVudW0gWTEwCiAgICAgICAgewogICAgICAgICAgICBZMTBfVU5OQU1FRDIxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgWU1BWAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhlIHZhbHVlIG9mIHRoZSB5X3BpeGVsIGZvciBwb2ludCAxMSBpbiBQV0wuCiAgICAgICAgZW51bSBZTUFYCiAgICAgICAgewogICAgICAgICAgICBZTUFYX1VOTkFNRUQyMzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjM1LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQjEKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSB2YWx1ZSBvZiB0aGUgYmlhcyBmb3IgcG9pbnQgMSBpbiBQV0wuCiAgICAgICAgZW51bSBCMQogICAgICAgIHsKICAgICAgICAgICAgQjFfVU5OQU1FRDM2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQjIKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSB2YWx1ZSBvZiB0aGUgYmlhcyBmb3IgcG9pbnQgMiBpbiBQV0wuCiAgICAgICAgZW51bSBCMgogICAgICAgIHsKICAgICAgICAgICAgQjJfVU5OQU1FRDU2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQjMKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSB2YWx1ZSBvZiB0aGUgYmlhcyBmb3IgcG9pbnQgMyBpbiBQV0wuCiAgICAgICAgZW51bSBCMwogICAgICAgIHsKICAgICAgICAgICAgQjNfVU5OQU1FRDc2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQjQKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSB2YWx1ZSBvZiB0aGUgYmlhcyBmb3IgcG9pbnQgNCBpbiBQV0wuCiAgICAgICAgZW51bSBCNAogICAgICAgIHsKICAgICAgICAgICAgQjRfVU5OQU1FRDk2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQjUKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSB2YWx1ZSBvZiB0aGUgYmlhcyBmb3IgcG9pbnQgNSBpbiBQV0wuCiAgICAgICAgZW51bSBCNQogICAgICAgIHsKICAgICAgICAgICAgQjVfVU5OQU1FRDExNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDExNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEI2CiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgdmFsdWUgb2YgdGhlIGJpYXMgZm9yIHBvaW50IDYgaW4gUFdMLgogICAgICAgIGVudW0gQjYKICAgICAgICB7CiAgICAgICAgICAgIEI2X1VOTkFNRUQxMzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBCNwogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhlIHZhbHVlIG9mIHRoZSBiaWFzIGZvciBwb2ludCA3IGluIFBXTC4KICAgICAgICBlbnVtIEI3CiAgICAgICAgewogICAgICAgICAgICBCN19VTk5BTUVEMTU2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQjgKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSB2YWx1ZSBvZiB0aGUgYmlhcyBmb3IgcG9pbnQgOCBpbiBQV0wuCiAgICAgICAgZW51bSBCOAogICAgICAgIHsKICAgICAgICAgICAgQjhfVU5OQU1FRDE3NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDE3NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEI5CiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgdmFsdWUgb2YgdGhlIGJpYXMgZm9yIHBvaW50IDkgaW4gUFdMLgogICAgICAgIGVudW0gQjkKICAgICAgICB7CiAgICAgICAgICAgIEI5X1VOTkFNRUQxOTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxOTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBCMTAKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSB2YWx1ZSBvZiB0aGUgYmlhcyBmb3IgcG9pbnQgMTAgaW4gUFdMLgogICAgICAgIGVudW0gQjEwCiAgICAgICAgewogICAgICAgICAgICBCMTBfVU5OQU1FRDIxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgUzAKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSB2YWx1ZSBvZiB0aGUgc2xvcGUgZm9yIHBvaW50IDAgaW4gUFdMCiAgICAgICAgZW51bSBTMAogICAgICAgIHsKICAgICAgICAgICAgUzBfVU5OQU1FRDEwMjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEwMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBTMQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhlIHZhbHVlIG9mIHRoZSBzbG9wZSBmb3IgcG9pbnQgMSBpbiBQV0wKICAgICAgICBlbnVtIFMxCiAgICAgICAgewogICAgICAgICAgICBTMV9VTk5BTUVEMTAyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTAyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFMyCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgdmFsdWUgb2YgdGhlIHNsb3BlIGZvciBwb2ludCAyIGluIFBXTAogICAgICAgIGVudW0gUzIKICAgICAgICB7CiAgICAgICAgICAgIFMyX1VOTkFNRUQxMDI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMDI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgUzMKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSB2YWx1ZSBvZiB0aGUgc2xvcGUgZm9yIHBvaW50IDMgaW4gUFdMCiAgICAgICAgZW51bSBTMwogICAgICAgIHsKICAgICAgICAgICAgUzNfVU5OQU1FRDEwMjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEwMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBTNAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhlIHZhbHVlIG9mIHRoZSBzbG9wZSBmb3IgcG9pbnQgNCBpbiBQV0wKICAgICAgICBlbnVtIFM0CiAgICAgICAgewogICAgICAgICAgICBTNF9VTk5BTUVEMTAyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTAyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFM1CiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgdmFsdWUgb2YgdGhlIHNsb3BlIGZvciBwb2ludCA1IGluIFBXTAogICAgICAgIGVudW0gUzUKICAgICAgICB7CiAgICAgICAgICAgIFM1X1VOTkFNRUQxMDI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMDI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgUzYKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSBkZWZhdWx0IGlzIDEwMjQvMTAyNAogICAgICAgIGVudW0gUzYKICAgICAgICB7CiAgICAgICAgICAgIFM2X1VOTkFNRUQxMDI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMDI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgUzcKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSB2YWx1ZSBvZiB0aGUgc2xvcGUgZm9yIHBvaW50IDcgaW4gUFdMCiAgICAgICAgZW51bSBTNwogICAgICAgIHsKICAgICAgICAgICAgUzdfVU5OQU1FRDEwMjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEwMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBTOAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhlIHZhbHVlIG9mIHRoZSBzbG9wZSBmb3IgcG9pbnQgOCBpbiBQV0wKICAgICAgICBlbnVtIFM4CiAgICAgICAgewogICAgICAgICAgICBTOF9VTk5BTUVEMTAyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTAyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFM5CiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgdmFsdWUgb2YgdGhlIHNsb3BlIGZvciBwb2ludCA5IGluIFBXTAogICAgICAgIGVudW0gUzkKICAgICAgICB7CiAgICAgICAgICAgIFM5X1VOTkFNRUQxMDI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMDI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgUzEwCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgdmFsdWUgb2YgdGhlIHNsb3BlIGZvciBwb2ludCAxMCBpbiBQV0wuCiAgICAgICAgZW51bSBTMTAKICAgICAgICB7CiAgICAgICAgICAgIFMxMF9VTk5BTUVEMTAyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMDI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcbmFtZSBJbml0aWFsaXphdGlvbnMKCiAgICAgICAgLy8hIFxicmllZiBFeHBsaWNpdCBtZW1iZXIgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24KICAgICAgICBWRUJPWF9BQ0VfTEFDRV9TVEFURV9DTUQoKTsKCiAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBkd1NpemUgPSAzMTsKICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGJ5dGVTaXplID0gMTI0OwogICAgfTsKCiAgICAvLyEKICAgIC8vISBcYnJpZWYgVkVCT1hfQUxQSEFfQU9JX1NUQVRFCiAgICAvLyEgXGRldGFpbHMKICAgIC8vISAgICAgVGhpcyBzdGF0ZSBzdHJ1Y3R1cmUgY29udGFpbnMgdGhlIElFQ1AgU3RhdGUgVGFibGUgQ29udGVudHMgZm9yIEZpeGVkCiAgICAvLyEgICAgIEFscGhhIFN0YXRlIGFuZCBBcmVhIG9mIEludGVyZXN0IFN0YXRlLgogICAgLy8hICAgICAKICAgIHN0cnVjdCBWRUJPWF9BTFBIQV9BT0lfU1RBVEVfQ01ECiAgICB7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIENvbG9yUGlwZUFscGhhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBDb2xvciBQaXBlIEFscGhhCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQWxwaGFGcm9tU3RhdGVTZWxlY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAxNikgICAgOyAvLyE8IEFMUEhBX0ZST01fU1RBVEVfU0VMRUNUCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRnVsbEltYWdlSGlzdG9ncmFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE3LCAxNykgICAgOyAvLyE8IEZVTExfSU1BR0VfSElTVE9HUkFNCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQxOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE4LCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEFvaU1pblggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTMpICAgIDsgLy8hPCBBT0lfTUlOX1gKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDQ2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTQsIDE1KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBBb2lNYXhYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDI5KSAgICA7IC8vITwgQU9JX01BWF9YCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ2MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDMwLCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEFvaU1pblkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTMpICAgIDsgLy8hPCBBT0lfTUlOX1kKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDc4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTQsIDE1KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBBb2lNYXhZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDI5KSAgICA7IC8vITwgQU9JX01BWF9ZCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ5NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDMwLCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzI7CgogICAgICAgIC8vISBcbmFtZSBMb2NhbCBlbnVtZXJhdGlvbnMKCiAgICAgICAgLy8hIFxicmllZiBBTFBIQV9GUk9NX1NUQVRFX1NFTEVDVAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgSWYgdGhlIGlucHV0IGZvcm1hdCBkb2VzIG5vdCBoYXZlIGFscGhhIGF2YWlsYWJsZSBhbmQgdGhlIG91dHB1dCBmb3JtYXQKICAgICAgICAvLyEgICAgIHByb3ZpZGVzIGFscGhhLCB0aGlzIGJpdCBzaG91bGQgYmUgc2V0IHRvIDEuIAogICAgICAgIC8vISAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHNob3VsZCBiZSAwIHdoZW4gQWxwaGEgUGxhbmUgRW5hYmxlIGlzIDEuCiAgICAgICAgZW51bSBBTFBIQV9GUk9NX1NUQVRFX1NFTEVDVAogICAgICAgIHsKICAgICAgICAgICAgQUxQSEFfRlJPTV9TVEFURV9TRUxFQ1RfQUxQSEFJU1RBS0VORlJPTU1FU1NBR0UgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIEFMUEhBX0ZST01fU1RBVEVfU0VMRUNUX0FMUEhBSVNUQUtFTkZST01TVEFURSAgICAgICAgICAgICAgICAgICAgPSAxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgRlVMTF9JTUFHRV9ISVNUT0dSQU0KICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFVzZWQgdG8gaWdub3JlIHRoZSBhcmVhIG9mIGludGVyZXN0IGZvciBhIGhpc3RvZ3JhbSBhY3Jvc3MgdGhlIGZ1bGwKICAgICAgICAvLyEgICAgIGltYWdlLiBUaGlzIGFwcGxpZXMgdG8gYWxsIHN0YXRpc3RpY3MgdGhhdCBhcmUgYWZmZWN0ZWQgYnkgQU9JIChBcmVhIG9mCiAgICAgICAgLy8hICAgICBJbnRlcmVzdCkuCiAgICAgICAgZW51bSBGVUxMX0lNQUdFX0hJU1RPR1JBTQogICAgICAgIHsKICAgICAgICAgICAgRlVMTF9JTUFHRV9ISVNUT0dSQU1fVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBBT0lfTUlOX1gKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIDxiPlRoaXMgdmFsdWUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDQuPC9iPgogICAgICAgIGVudW0gQU9JX01JTl9YCiAgICAgICAgewogICAgICAgICAgICBBT0lfTUlOX1hfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEFPSV9NQVhfWAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgQXJlYSBvZiBJbnRlcmVzdCBNaW5pbXVtIFggLSBUaGUgQUNFIGhpc3RvZ3JhbSBhbmQgU2tpbiBUb25lIERldGVjdGlvbgogICAgICAgIC8vISAgICAgc3RhdGlzdGljIGdhdGhlcmluZyB3aWxsIG9jY3VyIHdpdGhpbiB0aGUgTWluWC9NaW5ZIHRvIE1heFgvTWF4WSBhcmVhCiAgICAgICAgLy8hICAgICAoaW5jbHVzaXZlKS4KICAgICAgICAvLyEgICAgICAgICAgICAgICAgICAgICAgICAgQU9JIG11c3QgaW50ZXJzZWN0IHRoZSBmcmFtZSBzdWNoIHRoYXQgYXQgbGVhc3QgMQogICAgICAgIC8vISAgICAgcGl4ZWwgaXMgaW4gdGhlIEFPSS4KICAgICAgICBlbnVtIEFPSV9NQVhfWAogICAgICAgIHsKICAgICAgICAgICAgQU9JX01BWF9YX1VOTkFNRUQzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBBT0lfTUlOX1kKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIDxiPlRoaXMgdmFsdWUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDQuPC9iPgogICAgICAgIGVudW0gQU9JX01JTl9ZCiAgICAgICAgewogICAgICAgICAgICBBT0lfTUlOX1lfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEFPSV9NQVhfWQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgPGI+VGhpcyB2YWx1ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNCBtaW51cyAxLjwvYj4KICAgICAgICBlbnVtIEFPSV9NQVhfWQogICAgICAgIHsKICAgICAgICAgICAgQU9JX01BWF9ZX1VOTkFNRUQzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxuYW1lIEluaXRpYWxpemF0aW9ucwoKICAgICAgICAvLyEgXGJyaWVmIEV4cGxpY2l0IG1lbWJlciBpbml0aWFsaXphdGlvbiBmdW5jdGlvbgogICAgICAgIFZFQk9YX0FMUEhBX0FPSV9TVEFURV9DTUQoKTsKCiAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBkd1NpemUgPSAzOwogICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYnl0ZVNpemUgPSAxMjsKICAgIH07CgogICAgLy8hCiAgICAvLyEgXGJyaWVmIFZFQk9YX0NBUFRVUkVfUElQRV9TVEFURQogICAgLy8hIFxkZXRhaWxzCiAgICAvLyEgICAgIFRoaXMgY29tbWFuZCAgY29udGFpbnMgdmFyaWFibGVzIGZvciBjb250cm9sbGluZyBEZW1vc2FpYyBhbmQgdGhlIFdoaXRlCiAgICAvLyEgICAgIEJhbGFuY2UgU3RhdGlzdGljcy4KICAgIC8vISAgICAgCiAgICBzdHJ1Y3QgVkVCT1hfQ0FQVFVSRV9QSVBFX1NUQVRFX0NNRAogICAgewogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBHb29kUGl4ZWxOZWlnaGJvclRocmVzaG9sZCAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA1KSAgICA7IC8vITwgR09PRF9QSVhFTF9ORUlHSEJPUl9USFJFU0hPTEQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDYsICA3KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBBdmVyYWdlQ29sb3JUaHJlc2hvbGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDgsIDE1KSAgICA7IC8vITwgQVZFUkFHRV9DT0xPUl9USFJFU0hPTEQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBHcmVlbkltYmFsYW5jZVRocmVzaG9sZCAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDE5KSAgICA7IC8vITwgR1JFRU5fSU1CQUxBTkNFX1RIUkVTSE9MRAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFNoaWZ0TWluQ29zdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMCwgMjIpICAgIDsgLy8hPCBTSElGVF9NSU5fQ09TVAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMywgMjMpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEdvb2RQaXhlbFRocmVzaG9sZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNCwgMjkpICAgIDsgLy8hPCBHT09EX1BJWEVMX1RIUkVTSE9MRAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERpcm1hcFNjYWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMCwgMzEpICAgIDsgLy8hPCBESVJNQVBfU0NBTEUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQmFkQ29sb3JUaHJlc2hvbGQzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgMykgICAgOyAvLyE8IEJBRF9DT0xPUl9USFJFU0hPTERfMwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIE51bWJlckJpZ1BpeGVsVGhyZXNob2xkICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNCwgIDcpICAgIDsgLy8hPCBOVU1CRVJfQklHX1BJWEVMX1RIUkVTSE9MRAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEJhZENvbG9yVGhyZXNob2xkMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgMTUpICAgIDsgLy8hPCBCQURfQ09MT1JfVEhSRVNIT0xEXzIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBCYWRDb2xvclRocmVzaG9sZDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDIzKSAgICA7IC8vITwgQkFEX0NPTE9SX1RIUkVTSE9MRF8xCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgR29vZEludGVzaXR5VGhyZXNob2xkICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI0LCAyNykgICAgOyAvLyE8IEdPT0RfSU5URVNJVFlfVEhSRVNIT0xECiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU2NhbGVGb3JNaW5Db3N0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI4LCAzMSkgICAgOyAvLyE8IFNDQUxFX0ZPUl9NSU5fQ09TVAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBXaGl0ZUJhbGFuY2VDb3JyZWN0aW9uRW5hYmxlICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICAwKSAgICA7IC8vITwgV2hpdGUgQmFsYW5jZSBDb3JyZWN0aW9uIEVuYWJsZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEJsYWNrUG9pbnRDb3JyZWN0aW9uRW5hYmxlICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMSwgIDEpICAgIDsgLy8hPCBCbGFjayBQb2ludCBDb3JyZWN0aW9uIEVuYWJsZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFZpZ25ldHRlQ29ycmVjdGlvbkZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMiwgIDIpICAgIDsgLy8hPCBWSUdORVRURV9DT1JSRUNUSU9OX0ZPUk1BVAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJnYkhpc3RvZ3JhbUVuYWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMywgIDMpICAgIDsgLy8hPCBSR0IgSGlzdG9ncmFtIEVuYWJsZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEJsYWNrUG9pbnRPZmZzZXRHcmVlbkJvdHRvbU1zYiAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNCwgIDQpICAgIDsgLy8hPCBCbGFjayBQb2ludCBPZmZzZXQgR3JlZW4gQm90dG9tIE1TQgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEJsYWNrUG9pbnRPZmZzZXRCbHVlTXNiICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNSwgIDUpICAgIDsgLy8hPCBCbGFjayBQb2ludCBPZmZzZXQgQmx1ZSBNU0IKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBCbGFja1BvaW50T2Zmc2V0R3JlZW5Ub3BNc2IgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDYsICA2KSAgICA7IC8vITwgQmxhY2sgUG9pbnQgT2Zmc2V0IEdyZWVuIFRvcCBNU0IKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBCbGFja1BvaW50T2Zmc2V0UmVkTXNiICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDcsICA3KSAgICA7IC8vITwgQmxhY2sgUG9pbnQgT2Zmc2V0IFJlZCBNU0IKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBVdlRocmVzaG9sZFZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDgsIDE1KSAgICA7IC8vITwgVVZfVEhSRVNIT0xEX1ZBTFVFCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgWU91dGxpZXJWYWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAyMykgICAgOyAvLyE8IFlfT1VUTElFUl9WQUxVRQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFlCcmlnaHRWYWx1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNCwgMzEpICAgIDsgLy8hPCBZX0JSSUdIVF9WQUxVRQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBCbGFja1BvaW50T2Zmc2V0R3JlZW5Ub3AgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgQkxBQ0tfUE9JTlRfT0ZGU0VUX0dSRUVOX1RPUAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEJsYWNrUG9pbnRPZmZzZXRSZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBCTEFDS19QT0lOVF9PRkZTRVRfUkVECiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEJsYWNrUG9pbnRPZmZzZXRHcmVlbkJvdHRvbSAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBCTEFDS19QT0lOVF9PRkZTRVRfR1JFRU5fQk9UVE9NCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQmxhY2tQb2ludE9mZnNldEJsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEJMQUNLX1BPSU5UX09GRlNFVF9CTFVFCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFdoaXRlQmFsYW5jZUdyZWVuVG9wQ29ycmVjdGlvbiAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBXaGl0ZSBCYWxhbmNlIEdyZWVuIFRvcCBDb3JyZWN0aW9uCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgV2hpdGVCYWxhbmNlUmVkQ29ycmVjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IFdoaXRlIEJhbGFuY2UgUmVkIENvcnJlY3Rpb24KICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgV2hpdGVCYWxhbmNlR3JlZW5Cb3R0b21Db3JyZWN0aW9uICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IFdoaXRlIEJhbGFuY2UgR3JlZW4gQm90dG9tIENvcnJlY3Rpb24KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBXaGl0ZUJhbGFuY2VCbHVlQ29ycmVjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgV2hpdGUgQmFsYW5jZSBCbHVlIENvcnJlY3Rpb24KICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjsKCiAgICAgICAgLy8hIFxuYW1lIExvY2FsIGVudW1lcmF0aW9ucwoKICAgICAgICAvLyEgXGJyaWVmIEdPT0RfUElYRUxfTkVJR0hCT1JfVEhSRVNIT0xECiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBOdW1iZXIgb2YgY29tcGFyaXNvbnMgd2l0aCBuZWlnaGJvciBwaXhlbHMgd2hpY2ggcGFzcyBiZWZvcmUgYSBwaXhlbCBpcwogICAgICAgIC8vISAgICAgY29uc2lkZXJlZCBnb29kLgogICAgICAgIGVudW0gR09PRF9QSVhFTF9ORUlHSEJPUl9USFJFU0hPTEQKICAgICAgICB7CiAgICAgICAgICAgIEdPT0RfUElYRUxfTkVJR0hCT1JfVEhSRVNIT0xEX1VOTkFNRUQzNSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzNSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEFWRVJBR0VfQ09MT1JfVEhSRVNIT0xECiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgdGhyZXNob2xkIGJldHdlZW4gdHdvIGNvbG9ycyBpbiBhIHBpeGVsIGZvciB0aGUgQXZnIGludGVycG9sYXRpb24gdG8KICAgICAgICAvLyEgICAgIGJlIGNvbnNpZGVyZWQuCiAgICAgICAgZW51bSBBVkVSQUdFX0NPTE9SX1RIUkVTSE9MRAogICAgICAgIHsKICAgICAgICAgICAgQVZFUkFHRV9DT0xPUl9USFJFU0hPTERfVU5OQU1FRDI1NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI1NSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEdSRUVOX0lNQkFMQU5DRV9USFJFU0hPTEQKICAgICAgICB7CiAgICAgICAgICAgIEdSRUVOX0lNQkFMQU5DRV9USFJFU0hPTERfVU5OQU1FRDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgU0hJRlRfTUlOX0NPU1QKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSBhbW91bnQgdG8gc2hpZnQgdGhlIEgyL1YyIHZlcnNpb25zIG9mIG1pbl9jb3N0LgogICAgICAgIGVudW0gU0hJRlRfTUlOX0NPU1QKICAgICAgICB7CiAgICAgICAgICAgIFNISUZUX01JTl9DT1NUX1VOTkFNRUQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgR09PRF9QSVhFTF9USFJFU0hPTEQKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSBkaWZmZXJlbmNlIHRocmVzaG9sZCBiZXR3ZWVuIGFkamFjZW50IHBpeGVscyBmb3IgYSBwaXhlbCB0byBiZQogICAgICAgIC8vISAgICAgY29uc2lkZXJlZCAiZ29vZCIuCiAgICAgICAgZW51bSBHT09EX1BJWEVMX1RIUkVTSE9MRAogICAgICAgIHsKICAgICAgICAgICAgR09PRF9QSVhFTF9USFJFU0hPTERfVU5OQU1FRDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDUsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBESVJNQVBfU0NBTEUKICAgICAgICB7CiAgICAgICAgICAgIERJUk1BUF9TQ0FMRV9VTk5BTUVEMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQkFEX0NPTE9SX1RIUkVTSE9MRF8zCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBDb2xvciB2YWx1ZSB0aHJlc2hvbGQgdXNlZCBkdXJpbmcgdGhlIGJhZCBwaXhlbCBjaGVjay4KICAgICAgICBlbnVtIEJBRF9DT0xPUl9USFJFU0hPTERfMwogICAgICAgIHsKICAgICAgICAgICAgQkFEX0NPTE9SX1RIUkVTSE9MRF8zX1VOTkFNRUQxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgTlVNQkVSX0JJR19QSVhFTF9USFJFU0hPTEQKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIE51bWJlciBvZiBjb21wYXJpc29ucyB3aXRoIG5laWdoYm9yIHBpeGVscyB3aGljaCBwYXNzIGJlZm9yZSBhIHBpeGVsIGlzCiAgICAgICAgLy8hICAgICBjb25zaWRlcmVkIGdvb2QuCiAgICAgICAgZW51bSBOVU1CRVJfQklHX1BJWEVMX1RIUkVTSE9MRAogICAgICAgIHsKICAgICAgICAgICAgTlVNQkVSX0JJR19QSVhFTF9USFJFU0hPTERfVU5OQU1FRDEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQkFEX0NPTE9SX1RIUkVTSE9MRF8yCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBDb2xvciB2YWx1ZSB0aHJlc2hvbGQgdXNlZCBkdXJpbmcgdGhlIGJhZCBwaXhlbCBjaGVjay4KICAgICAgICBlbnVtIEJBRF9DT0xPUl9USFJFU0hPTERfMgogICAgICAgIHsKICAgICAgICAgICAgQkFEX0NPTE9SX1RIUkVTSE9MRF8yX1VOTkFNRUQxNzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDE3NSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEJBRF9DT0xPUl9USFJFU0hPTERfMQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgQ29sb3IgdmFsdWUgdGhyZXNob2xkIHVzZWQgZHVyaW5nIHRoZSBiYWQgcGl4ZWwgY2hlY2suCiAgICAgICAgZW51bSBCQURfQ09MT1JfVEhSRVNIT0xEXzEKICAgICAgICB7CiAgICAgICAgICAgIEJBRF9DT0xPUl9USFJFU0hPTERfMV9VTk5BTUVEMTAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBHT09EX0lOVEVTSVRZX1RIUkVTSE9MRAogICAgICAgIHsKICAgICAgICAgICAgR09PRF9JTlRFU0lUWV9USFJFU0hPTERfVU5OQU1FRDEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgU0NBTEVfRk9SX01JTl9DT1NUCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgYW1vdW50IHRvIHNjYWxlIHRoZSBtaW5fY29zdCBkaWZmZXJlbmNlIGR1cmluZyB0aGUgY29uZmlkZW5jZSBjaGVjay4KICAgICAgICBlbnVtIFNDQUxFX0ZPUl9NSU5fQ09TVAogICAgICAgIHsKICAgICAgICAgICAgU0NBTEVfRk9SX01JTl9DT1NUX1VOTkFNRUQxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgVklHTkVUVEVfQ09SUkVDVElPTl9GT1JNQVQKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIERlZmluZXMgd2hhdCBzaGlmdCBzaG91bGQgYmUgYXNzdW1lZCBmb3IgdGhlIDxiPlZpZ25ldHRlPC9iPiBDb3JyZWN0aW9uCiAgICAgICAgLy8hICAgICBpbnB1dCB2YWx1ZXM6CiAgICAgICAgZW51bSBWSUdORVRURV9DT1JSRUNUSU9OX0ZPUk1BVAogICAgICAgIHsKICAgICAgICAgICAgVklHTkVUVEVfQ09SUkVDVElPTl9GT1JNQVRfVTg4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIFZJR05FVFRFX0NPUlJFQ1RJT05fRk9STUFUX1U0MTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgVVZfVEhSRVNIT0xEX1ZBTFVFCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgdmFsdWUgZGVub3RlcyB0aGUgbWF4aW11bSB0aHJlc2hvbGQgb2YgdGhlIHJhdGlvIGJldHdlZW4gVStWIHRvIFkKICAgICAgICAvLyEgICAgIGNhbiBoYXZlIHRvIGJlIGNvbnNpZGVyZWQgYSBncmF5IHBvaW50LgogICAgICAgIGVudW0gVVZfVEhSRVNIT0xEX1ZBTFVFCiAgICAgICAgewogICAgICAgICAgICBVVl9USFJFU0hPTERfVkFMVUVfVU5OQU1FRDY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjQsIC8vITwgMC4yNSAqIDI1NSA9IDY0IAogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgWV9PVVRMSUVSX1ZBTFVFCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgb3V0bGllciB0aHJlc2hvbGQgcGVyY2VudGlsZSBpbiB0aGUgWSBoaXN0b2dyYW0uIEFueSBwaXhlbCB3aXRoIFkKICAgICAgICAvLyEgICAgIHZhbHVlIGFib3ZlIHRoaXMgZWl0aGVyIGNsaXBwZWQgb3IgYW4gb3V0bGllciBpbiB0aGUgaW1hZ2UuIFRoZXNlIHBvaW50cwogICAgICAgIC8vISAgICAgd2lsbCBub3QgYmUgaW5jbHVkZWQgaW4gdGhlIHdoaXRlIHBhdGNoIGNhbGN1bGF0aW9uLgogICAgICAgIGVudW0gWV9PVVRMSUVSX1ZBTFVFCiAgICAgICAgewogICAgICAgICAgICBZX09VVExJRVJfVkFMVUVfVU5OQU1FRDI1MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjUzLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgWV9CUklHSFRfVkFMVUUKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSB3aGl0ZXBvaW50IHRocmVzaG9sZCBwZXJjZW50aWxlIGluIHRoZSBZIGhpc3RvZ3JhbS4gQW55IHBpeGVsIHdpdGggWQogICAgICAgIC8vISAgICAgdmFsdWUgYWJvdmUgdGhpcyBjb3VsZCBiZSBhIHdoaXRlcG9pbnQuIAogICAgICAgIC8vISAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIHRoZSBsYXJnZXIgb2YgdGhlIGNhbGN1bGF0ZWQgWWJyaWdodCB2YWx1ZQogICAgICAgIC8vISAgICAgYW5kIHRoZSBZdGhyZXNob2xkIHZhbHVlLCB3aGljaCBpcyB0aGUgbWluaW11bSBZIHJlcXVpcmVkIHRvIGJlCiAgICAgICAgLy8hICAgICBjb25zaWRlcmVkIGEgd2hpdGUgcG9pbnQuCiAgICAgICAgZW51bSBZX0JSSUdIVF9WQUxVRQogICAgICAgIHsKICAgICAgICAgICAgWV9CUklHSFRfVkFMVUVfVU5OQU1FRDIzMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDIzMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEJMQUNLX1BPSU5UX09GRlNFVF9HUkVFTl9UT1AKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFZhbHVlIHN1YnRyYWN0ZWQgZnJvbSB0aGUgdG9wIEdyZWVuIHBpeGVscyBvZiBCYXllciBwYXR0ZXJuIChYPTEsIFk9MAogICAgICAgIC8vISAgICAgZm9yIEJheWVyIFBhdHRlcm4gIzEpIC0gY29tYmluZWQgd2l0aCBNU0IgdG8gZm9ybSBhIDIncyBjb21wbGVtZW50CiAgICAgICAgLy8hICAgICBzaWduZWQgbnVtYmVyLgogICAgICAgIGVudW0gQkxBQ0tfUE9JTlRfT0ZGU0VUX0dSRUVOX1RPUAogICAgICAgIHsKICAgICAgICAgICAgQkxBQ0tfUE9JTlRfT0ZGU0VUX0dSRUVOX1RPUF9VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBCTEFDS19QT0lOVF9PRkZTRVRfUkVECiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBWYWx1ZSBzdWJ0cmFjdGVkIGZyb20gUmVkIHBpeGVscyBvZiBCYXllciBwYXR0ZXJuIC0gY29tYmluZWQgd2l0aCBNU0IgdG8KICAgICAgICAvLyEgICAgIGZvcm0gYSAyJ3MgY29tcGxlbWVudCBzaWduZWQgbnVtYmVyLgogICAgICAgIGVudW0gQkxBQ0tfUE9JTlRfT0ZGU0VUX1JFRAogICAgICAgIHsKICAgICAgICAgICAgQkxBQ0tfUE9JTlRfT0ZGU0VUX1JFRF9VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBCTEFDS19QT0lOVF9PRkZTRVRfR1JFRU5fQk9UVE9NCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBWYWx1ZSBzdWJ0cmFjdGVkIGZyb20gdGhlIGJvdHRvbSBHcmVlbiBwaXhlbHMgb2YgQmF5ZXIgcGF0dGVybiAoWD0wLCBZPTEKICAgICAgICAvLyEgICAgIGZvciBCYXllciBQYXR0ZXJuICMxKSAtIGNvbWJpbmVkIHdpdGggTVNCIHRvIGZvcm0gYSAyJ3MgY29tcGxlbWVudAogICAgICAgIC8vISAgICAgc2lnbmVkIG51bWJlci4KICAgICAgICBlbnVtIEJMQUNLX1BPSU5UX09GRlNFVF9HUkVFTl9CT1RUT00KICAgICAgICB7CiAgICAgICAgICAgIEJMQUNLX1BPSU5UX09GRlNFVF9HUkVFTl9CT1RUT01fVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQkxBQ0tfUE9JTlRfT0ZGU0VUX0JMVUUKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFZhbHVlIHN1YnRyYWN0ZWQgZnJvbSBCbHVlIHBpeGVscyBvZiBCYXllciBwYXR0ZXJuIC0gQ29tYmluZSB3aXRoIE1TQiB0bwogICAgICAgIC8vISAgICAgZm9ybSBhIDIncyBjb21wbGVtZW50IHNpZ25lZCBudW1iZXIuCiAgICAgICAgZW51bSBCTEFDS19QT0lOVF9PRkZTRVRfQkxVRQogICAgICAgIHsKICAgICAgICAgICAgQkxBQ0tfUE9JTlRfT0ZGU0VUX0JMVUVfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxuYW1lIEluaXRpYWxpemF0aW9ucwoKICAgICAgICAvLyEgXGJyaWVmIEV4cGxpY2l0IG1lbWJlciBpbml0aWFsaXphdGlvbiBmdW5jdGlvbgogICAgICAgIFZFQk9YX0NBUFRVUkVfUElQRV9TVEFURV9DTUQoKTsKCiAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBkd1NpemUgPSA3OwogICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYnl0ZVNpemUgPSAyODsKICAgIH07CgogICAgLy8hCiAgICAvLyEgXGJyaWVmIFZFQk9YX0NDTV9TVEFURQogICAgLy8hIFxkZXRhaWxzCiAgICAvLyEgICAgIFRoaXMgc3RhdGUgc3RydWN0dXJlIGNvbnRhaW5zIHRoZSBJRUNQIFN0YXRlIFRhYmxlIENvbnRlbnRzIGZvciB0aGUKICAgIC8vISAgICAgQ29sb3IgQ29ycmVjdGlvbiBNYXRyaXggU3RhdGUuCiAgICAvLyEgICAgIAogICAgc3RydWN0IFZFQk9YX0NDTV9TVEFURV9DTUQKICAgIHsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAyNikgICAgOyAvLyE8IEMxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQyMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI3LCAzMCkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQ29sb3JDb3JyZWN0aW9uTWF0cml4RW5hYmxlICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDMxLCAzMSkgICAgOyAvLyE8IENvbG9yIENvcnJlY3Rpb24gTWF0cml4IEVuYWJsZQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDI2KSAgICA7IC8vITwgQzAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDUzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjcsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAyNikgICAgOyAvLyE8IEMzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ4NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI3LCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMjYpICAgIDsgLy8hPCBDMgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTE3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNywgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFczOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDI2KSAgICA7IC8vITwgQzUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDE0OSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjcsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAyNikgICAgOyAvLyE8IEM0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQxODEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI3LCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEM3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMjYpICAgIDsgLy8hPCBDNwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMjEzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNywgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDI2KSAgICA7IC8vITwgQzYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDI0NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjcsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQzggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAyNikgICAgOyAvLyE8IEM4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQyNzcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI3LCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIE9mZnNldEluUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMzEpICAgIDsgLy8hPCBPRkZTRVRfSU5fUgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgT2Zmc2V0SW5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAzMSkgICAgOyAvLyE8IE9GRlNFVF9JTl9HCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzEwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDExCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgT2Zmc2V0SW5CICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAzMSkgICAgOyAvLyE8IE9GRlNFVF9JTl9CCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzExOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgT2Zmc2V0T3V0UiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAzMSkgICAgOyAvLyE8IE9GRlNFVF9PVVRfUgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIE9mZnNldE91dEcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMzEpICAgIDsgLy8hPCBPRkZTRVRfT1VUX0cKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBPZmZzZXRPdXRCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDMxKSAgICA7IC8vITwgT0ZGU0VUX09VVF9CCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE0OwoKICAgICAgICAvLyEgXG5hbWUgTG9jYWwgZW51bWVyYXRpb25zCgogICAgICAgIC8vISBcYnJpZWYgQzEKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIENvZWZmaWNpZW50IG9mIDN4MyBUcmFuc2Zvcm0gbWF0cml4CiAgICAgICAgZW51bSBDMQogICAgICAgIHsKICAgICAgICAgICAgQzFfMTgyNTY2NTUzNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDE4MjU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQzAKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIENvZWZmaWNpZW50IG9mIDN4MyBUcmFuc2Zvcm0gbWF0cml4CiAgICAgICAgZW51bSBDMAogICAgICAgIHsKICAgICAgICAgICAgQzBfNDQ2NzI2NTUzNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ0NjcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQzMKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIENvZWZmaWNpZW50IG9mIDN4MyBUcmFuc2Zvcm0gbWF0cml4CiAgICAgICAgZW51bSBDMwogICAgICAgIHsKICAgICAgICAgICAgQzNfMTEzNjY1NTM2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDExMzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBDMgogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgQ29lZmZpY2llbnQgb2YgM3gzIFRyYW5zZm9ybSBtYXRyaXgKICAgICAgICBlbnVtIEMyCiAgICAgICAgewogICAgICAgICAgICBDMl81NDQ2NTUzNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQzUKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIENvZWZmaWNpZW50IG9mIDN4MyBUcmFuc2Zvcm0gbWF0cml4CiAgICAgICAgZW51bSBDNQogICAgICAgIHsKICAgICAgICAgICAgQzVfODMyNjU1MzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMzNTUzNjAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQzQKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIENvZWZmaWNpZW50IG9mIDN4MyBUcmFuc2Zvcm0gbWF0cml4CiAgICAgICAgZW51bSBDNAogICAgICAgIHsKICAgICAgICAgICAgQzRfNTM4MDg2NTUzNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDUzODA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQzcKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIENvZWZmaWNpZW50IG9mIDN4MyBUcmFuc2Zvcm0gbWF0cml4CiAgICAgICAgZW51bSBDNwogICAgICAgIHsKICAgICAgICAgICAgQzdfMjY4ODY1NTM2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI2ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBDNgogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgQ29lZmZpY2llbnQgb2YgM3gzIFRyYW5zZm9ybSBtYXRyaXgKICAgICAgICBlbnVtIEM2CiAgICAgICAgewogICAgICAgICAgICBDNl8xOTI2NTUzNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzM1NTQyNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBDOAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgQ29lZmZpY2llbnQgb2YgM3gzIFRyYW5zZm9ybSBtYXRyaXgKICAgICAgICBlbnVtIEM4CiAgICAgICAgewogICAgICAgICAgICBDOF81NDk0NDY1NTM2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTQ5NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBPRkZTRVRfSU5fUgogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhlIGlucHV0IG9mZnNldCBmb3IgcmVkIGNvbXBvbmVudC4KICAgICAgICBlbnVtIE9GRlNFVF9JTl9SCiAgICAgICAgewogICAgICAgICAgICBPRkZTRVRfSU5fUl9VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIE9GRlNFVF9JTl9HCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgaW5wdXQgb2Zmc2V0IGZvciBncmVlbiBjb21wb25lbnQuCiAgICAgICAgZW51bSBPRkZTRVRfSU5fRwogICAgICAgIHsKICAgICAgICAgICAgT0ZGU0VUX0lOX0dfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBPRkZTRVRfSU5fQgogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhlIGlucHV0IG9mZnNldCBmb3IgYmx1ZSBjb21wb25lbnQuCiAgICAgICAgZW51bSBPRkZTRVRfSU5fQgogICAgICAgIHsKICAgICAgICAgICAgT0ZGU0VUX0lOX0JfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBPRkZTRVRfT1VUX1IKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSBvdXRwdXQgb2Zmc2V0IGZvciByZWQgY29tcG9uZW50LgogICAgICAgIGVudW0gT0ZGU0VUX09VVF9SCiAgICAgICAgewogICAgICAgICAgICBPRkZTRVRfT1VUX1JfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIE9GRlNFVF9PVVRfRwogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhlIG91dHB1dCBvZmZzZXQgZm9yIGdyZWVuIGNvbXBvbmVudC4KICAgICAgICBlbnVtIE9GRlNFVF9PVVRfRwogICAgICAgIHsKICAgICAgICAgICAgT0ZGU0VUX09VVF9HX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBPRkZTRVRfT1VUX0IKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSBvdXRwdXQgb2Zmc2V0IGZvciBibHVlIGNvbXBvbmVudC4KICAgICAgICBlbnVtIE9GRlNFVF9PVVRfQgogICAgICAgIHsKICAgICAgICAgICAgT0ZGU0VUX09VVF9CX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxuYW1lIEluaXRpYWxpemF0aW9ucwoKICAgICAgICAvLyEgXGJyaWVmIEV4cGxpY2l0IG1lbWJlciBpbml0aWFsaXphdGlvbiBmdW5jdGlvbgogICAgICAgIFZFQk9YX0NDTV9TVEFURV9DTUQoKTsKCiAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBkd1NpemUgPSAxNTsKICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGJ5dGVTaXplID0gNjA7CiAgICB9OwoKICAgIC8vIQogICAgLy8hIFxicmllZiBWRUJPWF9DU0NfU1RBVEUKICAgIC8vISBcZGV0YWlscwogICAgLy8hICAgICBUaGlzIHN0YXRlIHN0cnVjdHVyZSBjb250YWlucyB0aGUgSUVDUCBTdGF0ZSBUYWJsZSBDb250ZW50cyBmb3IgQ1NDCiAgICAvLyEgICAgIHN0YXRlLgogICAgLy8hICAgICAKICAgIHN0cnVjdCBWRUJPWF9DU0NfU1RBVEVfQ01ECiAgICB7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTgpICAgIDsgLy8hPCBDMAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxOSwgMjkpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFl1dkNoYW5uZWxTd2FwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMCwgMzApICAgIDsgLy8hPCBZVVZfQ0hBTk5FTF9TV0FQCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgVHJhbnNmb3JtRW5hYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDMxLCAzMSkgICAgOyAvLyE8IFRyYW5zZm9ybSBFbmFibGUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxOCkgICAgOyAvLyE8IEMxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ1MSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE5LCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTgpICAgIDsgLy8hPCBDMgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkODMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxOSwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE4KSAgICA7IC8vITwgQzMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDExNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTksIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxOCkgICAgOyAvLyE8IEM0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQxNDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE5LCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEM1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTgpICAgIDsgLy8hPCBDNQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTc5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxOSwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE4KSAgICA7IC8vITwgQzYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDIxMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTksIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQzcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxOCkgICAgOyAvLyE8IEM3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQyNDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE5LCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEM4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTgpICAgIDsgLy8hPCBDOAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMjc1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxOSwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBPZmZzZXRJbjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgT0ZGU0VUX0lOXzEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBPZmZzZXRPdXQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgT0ZGU0VUX09VVF8xCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBPZmZzZXRJbjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgT0ZGU0VUX0lOXzIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBPZmZzZXRPdXQyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgT0ZGU0VUX09VVF8yCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzEwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDExCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgT2Zmc2V0SW4zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IE9GRlNFVF9JTl8zCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgT2Zmc2V0T3V0MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IE9GRlNFVF9PVVRfMwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMTsKCiAgICAgICAgLy8hIFxuYW1lIExvY2FsIGVudW1lcmF0aW9ucwoKICAgICAgICAvLyEgXGJyaWVmIEMwCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUcmFuc2Zvcm0gY29lZmZpY2llbnQuCiAgICAgICAgZW51bSBDMAogICAgICAgIHsKICAgICAgICAgICAgQzBfT1IxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDY1NTM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgWVVWX0NIQU5ORUxfU1dBUAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhpcyBiaXQgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIFI4RzhCOEE4IG91dHB1dCBmb3JtYXRzLiBXaGVuIHRoaXMgYml0CiAgICAgICAgLy8hICAgICBpcyBzZXQsIHRoZSBZVVYgY2hhbm5lbHMgYXJlIHN3YXBwZWQgaW50byB0aGUgb3V0cHV0IFJHQiBjaGFubmVscyBhcwogICAgICAgIC8vISAgICAgc2hvd24gaW4gdGhlIGZvbGxvd2luZyB0YWJsZSB0byBzdXBwb3J0IEI4RzhSOEE4IG91dHB1dCBvbiBzdXJmYWNlCiAgICAgICAgLy8hICAgICBmb3JtYXQgUjhHOEI4QTg6CiAgICAgICAgLy8hICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZT4gICAgICAgICAgICAgICAgICAgCiAgICAgICAgLy8hICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgLy8hICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+ICAKICAgICAgICAvLyEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+WVVWX0NoYW5uZWxfU3dhcDwvdGQ+CiAgICAgICAgLy8hICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgIC8vISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgIC8vISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD6gPC90ZD4KICAgICAgICAvLyEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+oDAgLS0mZ3Q7IDE8L3RkPgogICAgICAgIC8vISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAvLyEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAvLyEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+WTwvdGQ+CiAgICAgICAgLy8hICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPqBSIC0tJmd0OyBCPC90ZD4KICAgICAgICAvLyEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgLy8hICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgLy8hICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlU8L3RkPgogICAgICAgIC8vISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD6gRyAtLSZndDsgRzwvdGQ+CiAgICAgICAgLy8hICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgIC8vISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgIC8vISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5WPC90ZD4KICAgICAgICAvLyEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+oEIgLS0mZ3Q7IFI8L3RkPgogICAgICAgIC8vISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAvLyEgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICBlbnVtIFlVVl9DSEFOTkVMX1NXQVAKICAgICAgICB7CiAgICAgICAgICAgIFlVVl9DSEFOTkVMX1NXQVBfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQzEKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRyYW5zZm9ybSBjb2VmZmljaWVudC4KICAgICAgICBlbnVtIEMxCiAgICAgICAgewogICAgICAgICAgICBDMV9VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEMyCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUcmFuc2Zvcm0gY29lZmZpY2llbnQuCiAgICAgICAgZW51bSBDMgogICAgICAgIHsKICAgICAgICAgICAgQzJfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBDMwogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVHJhbnNmb3JtIGNvZWZmaWNpZW50LgogICAgICAgIGVudW0gQzMKICAgICAgICB7CiAgICAgICAgICAgIEMzX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQzQKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRyYW5zZm9ybSBjb2VmZmljaWVudC4KICAgICAgICBlbnVtIEM0CiAgICAgICAgewogICAgICAgICAgICBDNF9PUjEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjU1MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBDNQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVHJhbnNmb3JtIGNvZWZmaWNpZW50LgogICAgICAgIGVudW0gQzUKICAgICAgICB7CiAgICAgICAgICAgIEM1X1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQzYKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRyYW5zZm9ybSBjb2VmZmljaWVudC4KICAgICAgICBlbnVtIEM2CiAgICAgICAgewogICAgICAgICAgICBDNl9VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEM3CiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUcmFuc2Zvcm0gY29lZmZpY2llbnQuCiAgICAgICAgZW51bSBDNwogICAgICAgIHsKICAgICAgICAgICAgQzdfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBDOAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVHJhbnNmb3JtIGNvZWZmaWNpZW50LiBUaGUgb2Zmc2V0IHZhbHVlIGlzIG11bHRpcGxpZWQgYnkgMiBiZWZvcmUgYmVpbmcKICAgICAgICAvLyEgICAgIGFkZGVkIHRvIHRoZSBvdXRwdXQuCiAgICAgICAgZW51bSBDOAogICAgICAgIHsKICAgICAgICAgICAgQzhfT1IxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDY1NTM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgT0ZGU0VUX0lOXzEKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIE9mZnNldCBpbiBmb3IgWS9SLiBUaGUgb2Zmc2V0IHZhbHVlIGlzIG11bHRpcGxpZWQgYnkgMiBiZWZvcmUgYmVpbmcKICAgICAgICAvLyEgICAgIGFkZGVkIHRvIHRoZSBvdXRwdXQuCiAgICAgICAgZW51bSBPRkZTRVRfSU5fMQogICAgICAgIHsKICAgICAgICAgICAgT0ZGU0VUX0lOXzFfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBPRkZTRVRfT1VUXzEKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIE9mZnNldCBpbiBmb3IgWS9SLiBUaGUgb2Zmc2V0IHZhbHVlIGlzIG11bHRpcGxpZWQgYnkgMiBiZWZvcmUgYmVpbmcKICAgICAgICAvLyEgICAgIGFkZGVkIHRvIHRoZSBvdXRwdXQuCiAgICAgICAgZW51bSBPRkZTRVRfT1VUXzEKICAgICAgICB7CiAgICAgICAgICAgIE9GRlNFVF9PVVRfMV9VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgT0ZGU0VUX0lOXzIKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIE9mZnNldCBvdXQgZm9yIFUvRy4gVGhlIG9mZnNldCB2YWx1ZSBpcyBtdWx0aXBsaWVkIGJ5IDIgYmVmb3JlIGJlaW5nCiAgICAgICAgLy8hICAgICBhZGRlZCB0byB0aGUgb3V0cHV0LgogICAgICAgIGVudW0gT0ZGU0VUX0lOXzIKICAgICAgICB7CiAgICAgICAgICAgIE9GRlNFVF9JTl8yX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgT0ZGU0VUX09VVF8yCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBPZmZzZXQgb3V0IGZvciBVL0cuIFRoZSBvZmZzZXQgdmFsdWUgaXMgbXVsdGlwbGllZCBieSAyIGJlZm9yZSBiZWluZwogICAgICAgIC8vISAgICAgYWRkZWQgdG8gdGhlIG91dHB1dC4KICAgICAgICBlbnVtIE9GRlNFVF9PVVRfMgogICAgICAgIHsKICAgICAgICAgICAgT0ZGU0VUX09VVF8yX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBPRkZTRVRfSU5fMwogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgT2Zmc2V0IG91dCBmb3IgVi9CLiBUaGUgb2Zmc2V0IHZhbHVlIGlzIG11bHRpcGxpZWQgYnkgMiBiZWZvcmUgYmVpbmcKICAgICAgICAvLyEgICAgIGFkZGVkIHRvIHRoZSBvdXRwdXQuCiAgICAgICAgZW51bSBPRkZTRVRfSU5fMwogICAgICAgIHsKICAgICAgICAgICAgT0ZGU0VUX0lOXzNfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBPRkZTRVRfT1VUXzMKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIE9mZnNldCBvdXQgZm9yIFYvQi4gVGhlIG9mZnNldCB2YWx1ZSBpcyBtdWx0aXBsaWVkIGJ5IDIgYmVmb3JlIGJlaW5nCiAgICAgICAgLy8hICAgICBhZGRlZCB0byB0aGUgb3V0cHV0LgogICAgICAgIGVudW0gT0ZGU0VUX09VVF8zCiAgICAgICAgewogICAgICAgICAgICBPRkZTRVRfT1VUXzNfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXG5hbWUgSW5pdGlhbGl6YXRpb25zCgogICAgICAgIC8vISBcYnJpZWYgRXhwbGljaXQgbWVtYmVyIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uCiAgICAgICAgVkVCT1hfQ1NDX1NUQVRFX0NNRCgpOwoKICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGR3U2l6ZSA9IDEyOwogICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYnl0ZVNpemUgPSA0ODsKICAgIH07CgogICAgLy8hCiAgICAvLyEgXGJyaWVmIFZFQk9YX0RORElfU1RBVEUKICAgIC8vISBcZGV0YWlscwogICAgLy8hICAgICBUaGlzIHN0YXRlIHRhYmxlIGlzIHVzZWQgYnkgdGhlIERlbm9pc2UgYW5kIERlaW50ZXJsYWNlciBmdW5jdGlvbnMKICAgIC8vISAgICAgCiAgICBzdHJ1Y3QgVkVCT1hfRE5ESV9TVEFURV9DTUQKICAgIHsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRGVub2lzZU1heGltdW1IaXN0b3J5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgNykgICAgOyAvLyE8IERlbm9pc2UgTWF4aW11bSBIaXN0b3J5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAxNikgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRGVub2lzZVN0YWRUaHJlc2hvbGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE3LCAzMSkgICAgOyAvLyE8IERlbm9pc2UgU1RBRCBUaHJlc2hvbGQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRGVub2lzZUFzZFRocmVzaG9sZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxMSkgICAgOyAvLyE8IERlbm9pc2UgQVNEIFRocmVzaG9sZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMiwgMjIpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERlbm9pc2VNb3ZpbmdQaXhlbFRocmVzaG9sZCAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMywgMjcpICAgIDsgLy8hPCBEZW5vaXNlIE1vdmluZyBQaXhlbCBUaHJlc2hvbGQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEZW5vaXNlSGlzdG9yeUluY3JlYXNlICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjgsIDMxKSAgICA7IC8vITwgREVOT0lTRV9ISVNUT1JZX0lOQ1JFQVNFCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDQpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEluaXRpYWxEZW5vaXNlSGlzdG9yeSAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNSwgMTApICAgIDsgLy8hPCBJTklUSUFMX0RFTk9JU0VfSElTVE9SWQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMSwgMTkpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFRlbXBvcmFsRGlmZmVyZW5jZVRocmVzaG9sZCAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMCwgMzEpICAgIDsgLy8hPCBUZW1wb3JhbCBEaWZmZXJlbmNlIFRocmVzaG9sZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDk2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICAxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBIb3RQaXhlbENvdW50THVtYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDIsICA5KSAgICA7IC8vITwgSG90IFBpeGVsIENvdW50IEx1bWEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBQcm9ncmVzc2l2ZURuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTAsIDEwKSAgICA7IC8vITwgUFJPR1JFU1NJVkVfRE4KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDEwNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTEsIDE5KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMb3dUZW1wb3JhbERpZmZlcmVuY2VUaHJlc2hvbGQgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjAsIDMxKSAgICA7IC8vITwgTG93IFRlbXBvcmFsIERpZmZlcmVuY2UgVGhyZXNob2xkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEJsb2NrTm9pc2VFc3RpbWF0ZU5vaXNlVGhyZXNob2xkICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTEpICAgIDsgLy8hPCBCbG9jayBOb2lzZSBFc3RpbWF0ZSBOb2lzZSBUaHJlc2hvbGQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBIb3RQaXhlbFRocmVzaG9sZEx1bWEgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTIsIDE5KSAgICA7IC8vITwgSG90IFBpeGVsIFRocmVzaG9sZCBMdW1hCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRGVub2lzZVRocmVzaG9sZEZvclN1bU9mQ29tcGxleGl0eU1lYXN1cmVMdW1hICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIwLCAzMSkgICAgOyAvLyE8IERlbm9pc2UgVGhyZXNob2xkIGZvciBTdW0gb2YgQ29tcGxleGl0eSBNZWFzdXJlIEx1bWEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSG90UGl4ZWxDb3VudENocm9tYVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgNykgICAgOyAvLyE8IEhvdCBQaXhlbCBDb3VudCBDaHJvbWEgVQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEhvdFBpeGVsVGhyZXNob2xkQ2hyb21hVSAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgMTUpICAgIDsgLy8hPCBIb3QgUGl4ZWwgVGhyZXNob2xkIENocm9tYSBVCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQxNzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAxNikgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQ2hyb21hRGVub2lzZVN0YWRUaHJlc2hvbGQgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE3LCAzMSkgICAgOyAvLyE8IENocm9tYSBEZW5vaXNlIFNUQUQgVGhyZXNob2xkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIENocm9tYURlbm9pc2VFbmFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDApICAgIDsgLy8hPCBDSFJPTUFfREVOT0lTRV9FTkFCTEUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBCbG9ja05vaXNlRXN0aW1hdGVFZGdlVGhyZXNob2xkICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDEsIDExKSAgICA7IC8vITwgQkxPQ0tfTk9JU0VfRVNUSU1BVEVfRURHRV9USFJFU0hPTEQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDIwNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTIsIDE5KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDaHJvbWFUZW1wb3JhbERpZmZlcmVuY2VUaHJlc2hvbGQgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjAsIDMxKSAgICA7IC8vITwgQ2hyb21hIFRlbXBvcmFsIERpZmZlcmVuY2UgVGhyZXNob2xkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEhvdFBpeGVsQ291bnRDaHJvbWFWICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDcpICAgIDsgLy8hPCBIb3QgUGl4ZWwgQ291bnQgQ2hyb21hIFYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBIb3RQaXhlbFRocmVzaG9sZENocm9tYVYgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDgsIDE1KSAgICA7IC8vITwgSG90IFBpeGVsIFRocmVzaG9sZCBDaHJvbWEgVgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMjQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMTkpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIENocm9tYUxvd1RlbXBvcmFsRGlmZmVyZW5jZVRocmVzaG9sZCAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMCwgMzEpICAgIDsgLy8hPCBDaHJvbWEgTG93IFRlbXBvcmFsIERpZmZlcmVuY2UgVGhyZXNob2xkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIENocm9tYURlbm9pc2VUaHJlc2hvbGRGb3JTdW1PZkNvbXBsZXhpdHlNZWFzdXJlICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTEpICAgIDsgLy8hPCBDaHJvbWEgRGVub2lzZSBUaHJlc2hvbGQgZm9yIFN1bSBvZiBDb21wbGV4aXR5IE1lYXN1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDaHJvbWFEZW5vaXNlQXNkVGhyZXNob2xkICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTIsIDIzKSAgICA7IC8vITwgQ2hyb21hIERlbm9pc2UgQVNEIFRocmVzaG9sZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIENocm9tYURlbm9pc2VNb3ZpbmdQaXhlbFRocmVzaG9sZCAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNCwgMjgpICAgIDsgLy8hPCBDaHJvbWEgRGVub2lzZSBNb3ZpbmcgUGl4ZWwgVGhyZXNob2xkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQyODUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI5LCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERueVdyMDQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDQpICAgIDsgLy8hPCBEbllfV3IwWzQ6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnlXcjE0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDUsICA5KSAgICA7IC8vITwgRG5ZX1dyMVs0OjBdCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRG55V3IyNDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEwLCAxNCkgICAgOyAvLyE8IERuWV9XcjJbNDowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERueVdyMzQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNSwgMTkpICAgIDsgLy8hPCBEbllfV3IzWzQ6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnlXcjQ0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjAsIDI0KSAgICA7IC8vITwgRG5ZX1dyNFs0OjBdCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRG55V3I1NDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI1LCAyOSkgICAgOyAvLyE8IERuWV9XcjVbNDowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMzE4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMCwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRG55VGhtaW4xMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxMikgICAgOyAvLyE8IERuWV90aG1pblsxMjowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMzMzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMywgMTUpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERueVRobWF4MTIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjgpICAgIDsgLy8hPCBEbllfdGhtYXhbMTI6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDM0OSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjksIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnlEeW5UaG1pbjEyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDEyKSAgICA7IC8vITwgRG5ZX2R5bl90aG1pblsxMjowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMzY1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMywgMTUpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERueVBydDUxMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjgpICAgIDsgLy8hPCBEbllfcHJ0NVsxMjowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMzgxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyOSwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERueVBydDMxMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTIpICAgIDsgLy8hPCBEbllfcHJ0M1sxMjowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMzk3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMywgMTUpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERueVBydDQxMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjgpICAgIDsgLy8hPCBEbllfcHJ0NFsxMjowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNDEzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyOSwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERueVBydDExMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTIpICAgIDsgLy8hPCBEbllfcHJ0MVsxMjowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNDI5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMywgMTUpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERueVBydDIxMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjgpICAgIDsgLy8hPCBEbllfcHJ0MlsxMjowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNDQ1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyOSwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERueVdkMjA0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDQpICAgIDsgLy8hPCBEbllfd2QyMFs0OjBdCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRG55V2QyMTQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA1LCAgOSkgICAgOyAvLyE8IERuWV93ZDIxWzQ6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnlXZDIyNDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTAsIDE0KSAgICA7IC8vITwgRG5ZX3dkMjJbNDowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNDYzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNSwgMTUpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERueVBydDAxMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjgpICAgIDsgLy8hPCBEbllfcHJ0MFsxMjowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNDc3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyOSwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxNDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERueVdkMDA0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDQpICAgIDsgLy8hPCBEbllfd2QwMFs0OjBdCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRG55V2QwMTQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA1LCAgOSkgICAgOyAvLyE8IERuWV93ZDAxWzQ6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnlXZDAyNDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTAsIDE0KSAgICA7IC8vITwgRG5ZX3dkMDJbNDowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERueVdkMTA0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNSwgMTkpICAgIDsgLy8hPCBEbllfd2QxMFs0OjBdCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRG55V2QxMTQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIwLCAyNCkgICAgOyAvLyE8IERuWV93ZDExWzQ6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnlXZDEyNDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjUsIDI5KSAgICA7IC8vITwgRG5ZX3dkMTJbNDowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNTEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMCwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxNTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERudVdyMDQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDQpICAgIDsgLy8hPCBEblVfV3IwWzQ6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnVXcjE0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDUsICA5KSAgICA7IC8vITwgRG5VX1dyMVs0OjBdCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRG51V3IyNDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEwLCAxNCkgICAgOyAvLyE8IERuVV9XcjJbNDowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERudVdyMzQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNSwgMTkpICAgIDsgLy8hPCBEblVfV3IzWzQ6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnVXcjQ0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjAsIDI0KSAgICA7IC8vITwgRG5VX1dyNFs0OjBdCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRG51V3I1NDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI1LCAyOSkgICAgOyAvLyE8IERuVV9XcjVbNDowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNTQyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMCwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxNjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERudVRobWluMTIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTIpICAgIDsgLy8hPCBEblVfdGhtaW5bMTI6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDU1NyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTMsIDE1KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnVUaG1heDEyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDI4KSAgICA7IC8vITwgRG5VX3RobWF4WzEyOjBdCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ1NzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI5LCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRG51RHluVGhtaW4xMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxMikgICAgOyAvLyE8IERuVV9keW5fdGhtaW5bMTI6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDU4OSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTMsIDE1KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnVQcnQ1MTIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDI4KSAgICA7IC8vITwgRG5VX3BydDVbMTI6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDYwNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjksIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnVQcnQzMTIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDEyKSAgICA7IC8vITwgRG5VX3BydDNbMTI6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDYyMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTMsIDE1KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnVQcnQ0MTIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDI4KSAgICA7IC8vITwgRG5VX3BydDRbMTI6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDYzNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjksIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMjAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnVQcnQxMTIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDEyKSAgICA7IC8vITwgRG5VX3BydDFbMTI6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDY1MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTMsIDE1KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnVQcnQyMTIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDI4KSAgICA7IC8vITwgRG5VX3BydDJbMTI6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDY2OSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjksIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMjEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnVXZDIwNDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA0KSAgICA7IC8vITwgRG5VX3dkMjBbNDowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERudVdkMjE0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNSwgIDkpICAgIDsgLy8hPCBEblVfd2QyMVs0OjBdCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRG51V2QyMjQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEwLCAxNCkgICAgOyAvLyE8IERuVV93ZDIyWzQ6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDY4NyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTUsIDE1KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnVQcnQwMTIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDI4KSAgICA7IC8vITwgRG5VX3BydDBbMTI6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDcwMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjksIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMjIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnVXZDAwNDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA0KSAgICA7IC8vITwgRG5VX3dkMDBbNDowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERudVdkMDE0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNSwgIDkpICAgIDsgLy8hPCBEblVfd2QwMVs0OjBdCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRG51V2QwMjQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEwLCAxNCkgICAgOyAvLyE8IERuVV93ZDAyWzQ6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnVXZDEwNDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTUsIDE5KSAgICA7IC8vITwgRG5VX3dkMTBbNDowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERudVdkMTE0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMCwgMjQpICAgIDsgLy8hPCBEblVfd2QxMVs0OjBdCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRG51V2QxMjQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI1LCAyOSkgICAgOyAvLyE8IERuVV93ZDEyWzQ6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDczNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMzAsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMjMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnZXcjA0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA0KSAgICA7IC8vITwgRG5WX1dyMFs0OjBdCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRG52V3I1MTQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA1LCAgOSkgICAgOyAvLyE8IERuVl9XcjUxWzQ6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnZXcjI0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTAsIDE0KSAgICA7IC8vITwgRG5WX1dyMls0OjBdCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRG52V3IzNDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE1LCAxOSkgICAgOyAvLyE8IERuVl9XcjNbNDowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERudldyNDQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMCwgMjQpICAgIDsgLy8hPCBEblZfV3I0WzQ6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnZXcjU0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjUsIDI5KSAgICA7IC8vITwgRG5WX1dyNVs0OjBdCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ3NjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDMwLCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzIzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRG52VGhtaW4xMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxMikgICAgOyAvLyE8IERuVl90aG1pblsxMjowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNzgxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMywgMTUpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERudlRobWF4MTIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjgpICAgIDsgLy8hPCBEblZfdGhtYXhbMTI6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDc5NyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjksIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMjUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnZEeW5UaG1pbjEyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDEyKSAgICA7IC8vITwgRG5WX2R5bl90aG1pblsxMjowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkODEzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMywgMTUpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERudlBydDUxMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjgpICAgIDsgLy8hPCBEblZfcHJ0NVsxMjowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkODI5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyOSwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyNTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAyNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERudlBydDMxMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTIpICAgIDsgLy8hPCBEblZfcHJ0M1sxMjowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkODQ1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMywgMTUpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERudlBydDQxMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjgpICAgIDsgLy8hPCBEblZfcHJ0NFsxMjowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkODYxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyOSwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyNjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAyNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERudlBydDExMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTIpICAgIDsgLy8hPCBEblZfcHJ0MVsxMjowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkODc3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMywgMTUpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERudlBydDIxMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjgpICAgIDsgLy8hPCBEblZfcHJ0MlsxMjowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkODkzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyOSwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyNzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAyOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERudldkMjA0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDQpICAgIDsgLy8hPCBEblZfd2QyMFs0OjBdCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRG52V2QyMTQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA1LCAgOSkgICAgOyAvLyE8IERuVl93ZDIxWzQ6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnZXZDIyNDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTAsIDE0KSAgICA7IC8vITwgRG5WX3dkMjJbNDowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkOTExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNSwgMTUpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERudlBydDAxMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjgpICAgIDsgLy8hPCBEblZfcHJ0MFsxMjowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkOTI1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyOSwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAyOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERudldkMDA0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDQpICAgIDsgLy8hPCBEblZfd2QwMFs0OjBdCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRG52V2QwMTQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA1LCAgOSkgICAgOyAvLyE8IERuVl93ZDAxWzQ6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnZXZDAyNDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTAsIDE0KSAgICA7IC8vITwgRG5WX3dkMDJbNDowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERudldkMTA0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNSwgMTkpICAgIDsgLy8hPCBEblZfd2QxMFs0OjBdCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRG52V2QxMTQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIwLCAyNCkgICAgOyAvLyE8IERuVl93ZDExWzQ6MF0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbnZXZDEyNDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjUsIDI5KSAgICA7IC8vITwgRG5WX3dkMTJbNDowXQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkOTU4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMCwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyOTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAzMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkOTYwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDYpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFZhbGlkUGl4ZWxUaHJlc2hvbGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNywgMTYpICAgIDsgLy8hPCBWQUxJRF9QSVhFTF9USFJFU0hPTEQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBFaWdodERpcmVjdGlvbkVkZ2VUaHJlc2hvbGQgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTcsIDMxKSAgICA7IC8vITwgRUlHSFRfRElSRUNUSU9OX0VER0VfVEhSRVNIT0xECiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzMwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU21hbGxTb2JlbENvdW50VGhyZXNob2xkICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgNSkgICAgOyAvLyE8IFNtYWxsIFNvYmVsIENvdW50IFRocmVzaG9sZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhcmdlU29iZWxUaHJlc2hvbGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNiwgMTgpICAgIDsgLy8hPCBMQVJHRV9TT0JFTF9USFJFU0hPTEQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTbWFsbFNvYmVsVGhyZXNob2xkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTksIDMxKSAgICA7IC8vITwgU01BTExfU09CRUxfVEhSRVNIT0xECiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzMxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQxMDI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgNSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQmxvY2tTaWdtYURpZmZUaHJlc2hvbGQgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA2LCAxOSkgICAgOyAvLyE8IEJMT0NLX1NJR01BX0RJRkZfVEhSRVNIT0xECiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFyZ2VTb2JlbENvdW50VGhyZXNob2xkICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIwLCAyNSkgICAgOyAvLyE8IExhcmdlIFNvYmVsIENvdW50IFRocmVzaG9sZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIE1lZGlhblNvYmVsQ291bnRUaHJlc2hvbGQgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNiwgMzEpICAgIDsgLy8hPCBNZWRpYW4gU29iZWwgQ291bnQgVGhyZXNob2xkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzMyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQxMDU2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxOCkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTWF4U29iZWxUaHJlc2hvbGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE5LCAzMSkgICAgOyAvLyE8IE1BWF9TT0JFTF9USFJFU0hPTEQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMzQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTbW9vdGhNdlRocmVzaG9sZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICAxKSAgICA7IC8vITwgU21vb3RoIE1WIFRocmVzaG9sZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFNhZFRpZ2h0VGhyZXNob2xkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMiwgIDUpICAgIDsgLy8hPCBTQURfVElHSFRfVEhSRVNIT0xECiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQ29udGVudEFkYXB0aXZlVGhyZXNob2xkU2xvcGUgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA2LCAgOSkgICAgOyAvLyE8IENPTlRFTlRfQURBUFRJVkVfVEhSRVNIT0xEX1NMT1BFCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU3RtbUMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEwLCAxMikgICAgOyAvLyE8IFNUTU0gQzIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDExMDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTMsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMzUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBNYXhpbXVtU3RtbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA3KSAgICA7IC8vITwgTWF4aW11bSBTVE1NCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTXVsdGlwbGllckZvclZlY20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAxMykgICAgOyAvLyE8IE11bHRpcGxpZXIgZm9yIFZFQ00KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDExMzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTQsIDE1KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBCbGVuZGluZ0NvbnN0YW50QWNyb3NzVGltZUZvclNtYWxsVmFsdWVzT2ZTdG1tICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDIzKSAgICA7IC8vITwgQmxlbmRpbmcgY29uc3RhbnQgYWNyb3NzIHRpbWUgZm9yIHNtYWxsIHZhbHVlcyBvZiBTVE1NCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQmxlbmRpbmdDb25zdGFudEFjcm9zc1RpbWVGb3JMYXJnZVZhbHVlc09mU3RtbSAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI0LCAzMCkgICAgOyAvLyE8IEJsZW5kaW5nIGNvbnN0YW50IGFjcm9zcyB0aW1lIGZvciBsYXJnZSB2YWx1ZXMgb2YgU1RNTQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFN0bW1CbGVuZGluZ0NvbnN0YW50U2VsZWN0ICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMSwgMzEpICAgIDsgLy8hPCBTVE1NX0JMRU5ESU5HX0NPTlNUQU5UX1NFTEVDVAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFczNTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAzNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZtZFRlbXBvcmFsRGlmZmVyZW5jZVRocmVzaG9sZCAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDcpICAgIDsgLy8hPCBGTUQgVGVtcG9yYWwgRGlmZmVyZW5jZSBUaHJlc2hvbGQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMdW1hdGRtV3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDgsIDExKSAgICA7IC8vITwgTFVNQVRETV9XVAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIENocm9tYXRkbVd0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMiwgMTUpICAgIDsgLy8hPCBDSFJPTUFURE1fV1QKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTdG1tT3V0cHV0U2hpZnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDE5KSAgICA7IC8vITwgU1RNTSBPdXRwdXQgU2hpZnQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTdG1tU2hpZnRVcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjAsIDIxKSAgICA7IC8vITwgU1RNTV9TSElGVF9VUAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFN0bW1TaGlmdERvd24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMiwgMjMpICAgIDsgLy8hPCBTVE1NX1NISUZUX0RPV04KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBNaW5pbXVtU3RtbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjQsIDMxKSAgICA7IC8vITwgTWluaW11bSBTVE1NCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzM2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQ29yaW5nVGhyZXNob2xkRm9yU3ZjbSAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgNykgICAgOyAvLyE8IENPUklOR19USFJFU0hPTERfRk9SX1NWQ00KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEZWx0YWJpdFZhbHVlRm9yU3ZjbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDgsIDExKSAgICA7IC8vITwgREVMVEFCSVRfVkFMVUVfRk9SX1NWQ00KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDExOTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTIsIDE1KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDb3JpbmdUaHJlc2hvbGRGb3JTaGNtICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDIzKSAgICA7IC8vITwgQ09SSU5HX1RIUkVTSE9MRF9GT1JfU0hDTQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERlbHRhYml0VmFsdWVGb3JTaGNtICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNCwgMjcpICAgIDsgLy8hPCBERUxUQUJJVF9WQUxVRV9GT1JfU0hDTQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTIxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyOCwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFczNzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAzOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTIxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDIpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERuRGlUb3BGaXJzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMywgIDMpICAgIDsgLy8hPCBETkRJX1RPUF9GSVJTVAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTIyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNCwgIDYpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIE1jZGlFbmFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNywgIDcpICAgIDsgLy8hPCBNQ0RJIEVuYWJsZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZtZFRlYXJUaHJlc2hvbGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgMTMpICAgIDsgLy8hPCBGTUQgVGVhciBUaHJlc2hvbGQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDYXRUaHJlc2hvbGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTQsIDE1KSAgICA7IC8vITwgQ0FUX1RIUkVTSE9MRAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZtZDJWZXJ0aWNhbERpZmZlcmVuY2VUaHJlc2hvbGQgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjMpICAgIDsgLy8hPCBGTUQgIzIgVmVydGljYWwgRGlmZmVyZW5jZSBUaHJlc2hvbGQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGbWQxVmVydGljYWxEaWZmZXJlbmNlVGhyZXNob2xkICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjQsIDMxKSAgICA7IC8vITwgRk1EICMxIFZlcnRpY2FsIERpZmZlcmVuY2UgVGhyZXNob2xkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzM4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU2FkVGhhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgMykgICAgOyAvLyE8IFNBRF9USEEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTYWRUaGIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDQsICA3KSAgICA7IC8vITwgU0FEX1RIQgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFByb2dyZXNzaXZlQ2FkZW5jZVJlY29uc3RydWN0aW9uRm9yMVN0RmllbGRPZkN1cnJlbnRGcmFtZSA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgIDkpICAgIDsgLy8hPCBQUk9HUkVTU0lWRV9DQURFTkNFX1JFQ09OU1RSVUNUSU9OX0ZPUl8xU1RfRklFTERfT0ZfQ1VSUkVOVF9GUkFNRQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIE1jUGl4ZWxDb25zaXN0ZW5jeVRocmVzaG9sZCAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMCwgMTUpICAgIDsgLy8hPCBNQ19QSVhFTF9DT05TSVNURU5DWV9USFJFU0hPTEQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBQcm9ncmVzc2l2ZUNhZGVuY2VSZWNvbnN0cnVjdGlvbkZvcjJOZEZpZWxkT2ZQcmV2aW91c0ZyYW1lIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAxNykgICAgOyAvLyE8IFBST0dSRVNTSVZFX0NBREVOQ0VfUkVDT05TVFJVQ1RJT05fRk9SXzJORF9GSUVMRF9PRl9QUkVWSU9VU19GUkFNRQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTI2NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxOCwgMTgpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIE5laWdoYm9yUGl4ZWxUaHJlc2hvbGQgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxOSwgMjIpICAgIDsgLy8hPCBORUlHSEJPUl9QSVhFTF9USFJFU0hPTEQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDaHJvbWFTbWFsbGVyV2luZG93Rm9yVGRtICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjMsIDIzKSAgICA7IC8vITwgQ2hyb21hIFNtYWxsZXIgV2luZG93IGZvciBURE0KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMdW1hU21hbGxlcldpbmRvd0ZvclRkbSAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjQsIDI0KSAgICA7IC8vITwgTHVtYSBTbWFsbGVyIFdpbmRvdyBmb3IgVERNCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRmFzdGVyY292ZXJnZW5jZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI1LCAyNSkgICAgOyAvLyE8IEZBU1RFUkNPVkVSR0VOQ0UKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDEyNzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjYsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTYWRXdDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA3KSAgICA7IC8vITwgU0FEX1dUMAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFNhZFd0MSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgMTUpICAgIDsgLy8hPCBTQURfV1QxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU2FkV3QyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAyMykgICAgOyAvLyE8IFNBRF9XVDIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTYWRXdDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjQsIDMxKSAgICA7IC8vITwgU0FEX1dUMwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0MDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFNhZFd0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDcpICAgIDsgLy8hPCBTQURfV1Q0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU2FkV3Q2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAxNSkgICAgOyAvLyE8IFNBRF9XVDYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDb3JpbmdUaHJlc2hvbGRGb3JMdW1hU2FkQ2FsY3VsYXRpb24gICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDIzKSAgICA7IC8vITwgQ09SSU5HX1RIUkVTSE9MRF9GT1JfTFVNQV9TQURfQ0FMQ1VMQVRJT04KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDb3JpbmdUaHJlc2hvbGRGb3JDaHJvbWFTYWRDYWxjdWxhdGlvbiAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjQsIDMxKSAgICA7IC8vITwgQ09SSU5HX1RIUkVTSE9MRF9GT1JfQ0hST01BX1NBRF9DQUxDVUxBVElPTgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0MTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFBhckRpZmZjaGVja3NsYWNrdGhyZXNob2xkICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDcpICAgIDsgLy8hPCBQQVJfRElGRkNIRUNLU0xBQ0tUSFJFU0hPTEQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBQYXJUZWFyaW5naGlnaHRocmVzaG9sZCAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDgsIDE1KSAgICA7IC8vITwgUEFSX1RFQVJJTkdISUdIVEhSRVNIT0xECiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUGFyVGVhcmluZ2xvd3RocmVzaG9sZCAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAyMykgICAgOyAvLyE8IFBBUl9URUFSSU5HTE9XVEhSRVNIT0xECiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUGFyRGlyZWN0aW9uY2hlY2t0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI0LCAyNikgICAgOyAvLyE8IFBBUl9ESVJFQ1RJT05DSEVDS1RICiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUGFyU3ludGhldGljY29udGVudGNoZWNrICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI3LCAyNykgICAgOyAvLyE8IFBBUl9TWU5USEVUSUNDT05URU5UQ0hFQ0sKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBQYXJMb2NhbGNoZWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjgsIDI4KSAgICA7IC8vITwgUEFSX0xPQ0FMQ0hFQ0sKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBQYXJVc2VzeW50aGV0aWNjb250ZW50bWVkaWFuICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjksIDI5KSAgICA7IC8vITwgUEFSX1VTRVNZTlRIRVRJQ0NPTlRFTlRNRURJQU4KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBCeXBhc3NEZWZsaWNrZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMzAsIDMwKSAgICA7IC8vITwgQnlwYXNzIERlZmxpY2tlcgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTM3NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMSwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0MjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExwZnd0bHV0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDcpICAgIDsgLy8hPCBMUEZXVExVVDAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMcGZ3dGx1dDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDgsIDE1KSAgICA7IC8vITwgTFBGV1RMVVQxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTHBmd3RsdXQyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAyMykgICAgOyAvLyE8IExQRldUTFVUMgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExwZnd0bHV0MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNCwgMzEpICAgIDsgLy8hPCBMUEZXVExVVDMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMcGZ3dGx1dDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA3KSAgICA7IC8vITwgTFBGV1RMVVQ0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTHBmd3RsdXQ1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAxNSkgICAgOyAvLyE8IExQRldUTFVUNQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExwZnd0bHV0NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjMpICAgIDsgLy8hPCBMUEZXVExVVDYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMcGZ3dGx1dDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjQsIDMxKSAgICA7IC8vITwgTFBGV1RMVVQ3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgVGRtVXZUaHJlc2hvbGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgNikgICAgOyAvLyE8IFRETV9VVl9USFJFU0hPTEQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBIdlV2VGhyZXNob2xkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDcsIDEyKSAgICA7IC8vITwgSFZfVVZfVEhSRVNIT0xECiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgVGRtSGFybW9uaWNGYWN0b3JTeW50aGV0aWMgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEzLCAxNSkgICAgOyAvLyE8IFRETV9IQVJNT05JQ19GQUNUT1JfU1lOVEhFVElDCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgVGRtSGFybW9uaWNGYWN0b3JOYXR1cmFsICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAxOCkgICAgOyAvLyE8IFRETV9IQVJNT05JQ19GQUNUT1JfTkFUVVJBTAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFN5bnRodGljRnJhbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxOSwgMTkpICAgIDsgLy8hPCBTWU5USFRJQ19GUkFNRQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFN5bnRoZXRpY0NvbnRlbnRUaHJlc2hvbGQgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMCwgMzEpICAgIDsgLy8hPCBTWU5USEVUSUNfQ09OVEVOVF9USFJFU0hPTEQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTdmNtSGFybW9uaWNGYWN0b3JTeW50aGV0aWMgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICAyKSAgICA7IC8vITwgU1ZDTV9IQVJNT05JQ19GQUNUT1JfU1lOVEhFVElDCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU2hjbUhhcm1vbmljRmFjdG9yU3ludGhldGljICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAzLCAgNSkgICAgOyAvLyE8IFNIQ01fSEFSTU9OSUNfRkFDVE9SX1NZTlRIRVRJQwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFN2Y21IYXJtb25pY0ZhY3Rvck5hdHVyYWwgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNiwgIDgpICAgIDsgLy8hPCBTVkNNX0hBUk1PTklDX0ZBQ1RPUl9OQVRVUkFMCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU2hjbUhhcm1vbmljRmFjdG9yTmF0dXJhbCAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA5LCAxMSkgICAgOyAvLyE8IFNIQ01fSEFSTU9OSUNfRkFDVE9SX05BVFVSQUwKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBIYXJtb25pY0NvdW50ZXJUaHJlc2hvbGQgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTIsIDE1KSAgICA7IC8vITwgSEFSTU9OSUNfQ09VTlRFUl9USFJFU0hPTEQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBNYXhIYXJtb25pY0NvdW50ZXJUaHJlc2hvbGQgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDIwKSAgICA7IC8vITwgTUFYX0hBUk1PTklDX0NPVU5URVJfVEhSRVNIT0xECiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTmF0dXJhbENvbnRlbnRUaHJlc2hvbGQgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIxLCAyOCkgICAgOyAvLyE8IE5BVFVSQUxfQ09OVEVOVF9USFJFU0hPTEQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDE1MDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjksIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBNYXhpbXVtVmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7IC8vITwgTUFYSU1VTV9WQUxVRQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0NzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFNoaWZ0aW5nVmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDUpICAgIDsgLy8hPCBTSElGVElOR19WQUxVRQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEh2WVRocmVzaG9sZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNiwgMTEpICAgIDsgLy8hPCBIVl9ZX1RIUkVTSE9MRAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIE51bUlubGluZXJOdW1lcmF0b3JUaHJlc2hvbGQgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMiwgMTUpICAgIDsgLy8hPCBOVU1fSU5MSU5FUl9OVU1FUkFUT1JfVEhSRVNIT0xECiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTnVtSW5saW5lckRlbm9taW5hdG9yVGhyZXNob2xkICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAxOSkgICAgOyAvLyE8IE5VTV9JTkxJTkVSX0RFTk9NSU5BVE9SX1RIUkVTSE9MRAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTU1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMCwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0ODsKCiAgICAgICAgLy8hIFxuYW1lIExvY2FsIGVudW1lcmF0aW9ucwoKICAgICAgICAvLyEgXGJyaWVmIERFTk9JU0VfSElTVE9SWV9JTkNSRUFTRQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoMzUsIDM1LCAzNSk7IGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsKICAgICAgICAvLyEgICAgIGZvbnQtc2l6ZTogMTMuMzMzMzMzMDE1NDQxOXB4OyBsaW5lLWhlaWdodDogMTYuNjY2NjY2MDMwODgzOHB4OyI+QW1vdW50CiAgICAgICAgLy8hICAgICB0aGF0IGRlbm9pc2VfaGlzdG9yeSBpcyBpbmNyZWFzZWQgYnkuIE1BWDoxNTwvc3Bhbj4KICAgICAgICBlbnVtIERFTk9JU0VfSElTVE9SWV9JTkNSRUFTRQogICAgICAgIHsKICAgICAgICAgICAgREVOT0lTRV9ISVNUT1JZX0lOQ1JFQVNFX1VOTkFNRUQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIERFTk9JU0VfSElTVE9SWV9JTkNSRUFTRV9VTk5BTUVEMTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxNSwgLy8hPCBNYXhpbXVtIEFsbG93ZWQKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIElOSVRJQUxfREVOT0lTRV9ISVNUT1JZCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBJbml0aWFsIHZhbHVlIGZvciBEZW5vaXNlIGhpc3RvcnkgZm9yIGJvdGggTHVtYSBhbmQgQ2hyb21hJmFtcDsjMTYwOwogICAgICAgIGVudW0gSU5JVElBTF9ERU5PSVNFX0hJU1RPUlkKICAgICAgICB7CiAgICAgICAgICAgIElOSVRJQUxfREVOT0lTRV9ISVNUT1JZX1VOTkFNRUQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFBST0dSRVNTSVZFX0ROCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBJbmRpY2F0ZXMgdGhhdCB0aGUgZGVub2lzZSBhbGdvcml0aG0gc2hvdWxkIGFzc3VtZSBwcm9ncmVzc2l2ZSBpbnB1dAogICAgICAgIC8vISAgICAgd2hlbiBmaWx0ZXJpbmcgbmVpZ2hib3JpbmcgcGl4ZWxzLgogICAgICAgIC8vISAgICAgICAgICAgICAgICAgICAgPGI+VGhpcyBiaXQgbXVzdCBiZSBzZXQgaWYgdGhlIGlucHV0IHRvIERlbm9pc2UgaXMKICAgICAgICAvLyEgICAgIFJHQi48L2I+CiAgICAgICAgZW51bSBQUk9HUkVTU0lWRV9ETgogICAgICAgIHsKICAgICAgICAgICAgUFJPR1JFU1NJVkVfRE5fVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgRE4gYXNzdW1lcyBpbnRlcmxhY2VkIHZpZGVvIGFuZCBmaWx0ZXJzIGFsdGVybmF0ZSBsaW5lcyB0b2dldGhlcgogICAgICAgICAgICBQUk9HUkVTU0lWRV9ETl9VTk5BTUVEMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMSwgLy8hPCBETiBhc3N1bWVzIHByb2dyZXNzaXZlIHZpZGVvIGFuZCBmaWx0ZXJzIG5laWdoYm9yaW5nIGxpbmVzIHRvZ2V0aGVyCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBDSFJPTUFfREVOT0lTRV9FTkFCTEUKICAgICAgICB7CiAgICAgICAgICAgIENIUk9NQV9ERU5PSVNFX0VOQUJMRV9VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IFRoZSBVIGFuZCBWIGNoYW5uZWxzIHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBuZXh0IHN0YWdlIGFmdGVyIEROIHVuY2hhbmdlZC4KICAgICAgICAgICAgQ0hST01BX0RFTk9JU0VfRU5BQkxFX1VOTkFNRUQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEsIC8vITwgVGhlIFUgYW5kIFYgY2hyb21hIGNoYW5uZWxzIHdpbGwgYmUgZGVub2lzZSBmaWx0ZXJlZC4KICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEJMT0NLX05PSVNFX0VTVElNQVRFX0VER0VfVEhSRVNIT0xECiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICA8cD5UaHJlc2hvbGQgZm9yIGRldGVjdGluZyBhbiBlZGdlIGluIGJsb2NrIG5vaXNlIGVzdGltYXRlLjwvcD4KICAgICAgICBlbnVtIEJMT0NLX05PSVNFX0VTVElNQVRFX0VER0VfVEhSRVNIT0xECiAgICAgICAgewogICAgICAgICAgICBCTE9DS19OT0lTRV9FU1RJTUFURV9FREdFX1RIUkVTSE9MRF9VTk5BTUVEODAgICAgICAgICAgICAgICAgICAgID0gODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBWQUxJRF9QSVhFTF9USFJFU0hPTEQKICAgICAgICB7CiAgICAgICAgICAgIFZBTElEX1BJWEVMX1RIUkVTSE9MRF9VTk5BTUVENDgwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBFSUdIVF9ESVJFQ1RJT05fRURHRV9USFJFU0hPTEQKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRocmVzaG9sZCB0byBkZXRlcm1pbmUgYW4gZWRnZSBpbiBlaWdodCBkaXJlY3Rpb25hbCBlZGdlIGRldGVjdG9yCiAgICAgICAgZW51bSBFSUdIVF9ESVJFQ1RJT05fRURHRV9USFJFU0hPTEQKICAgICAgICB7CiAgICAgICAgICAgIEVJR0hUX0RJUkVDVElPTl9FREdFX1RIUkVTSE9MRF9VTk5BTUVEMTAyNCAgICAgICAgICAgICAgICAgICAgICAgPSAxMDI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgTEFSR0VfU09CRUxfVEhSRVNIT0xECiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaHJlc2hvbGQgZm9yIHN0cm9uZyBTb2JlbCByZXNwb25zZQogICAgICAgIGVudW0gTEFSR0VfU09CRUxfVEhSRVNIT0xECiAgICAgICAgewogICAgICAgICAgICBMQVJHRV9TT0JFTF9USFJFU0hPTERfVU5OQU1FRDI0MDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjQwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFNNQUxMX1NPQkVMX1RIUkVTSE9MRAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhyZXNob2xkIGZvciB3ZWFrIFNvYmVsIHJlc3BvbnNlCiAgICAgICAgZW51bSBTTUFMTF9TT0JFTF9USFJFU0hPTEQKICAgICAgICB7CiAgICAgICAgICAgIFNNQUxMX1NPQkVMX1RIUkVTSE9MRF9VTk5BTUVENDgwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBCTE9DS19TSUdNQV9ESUZGX1RIUkVTSE9MRAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhyZXNob2xkIGZvciB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIG1heGltdW0gYW5kIG1pbmltdW0gc2lnbWEgd2l0aGluIGEKICAgICAgICAvLyEgICAgIGJsb2NrCiAgICAgICAgZW51bSBCTE9DS19TSUdNQV9ESUZGX1RIUkVTSE9MRAogICAgICAgIHsKICAgICAgICAgICAgQkxPQ0tfU0lHTUFfRElGRl9USFJFU0hPTERfVU5OQU1FRDQ4MCAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIE1BWF9TT0JFTF9USFJFU0hPTEQKICAgICAgICB7CiAgICAgICAgICAgIE1BWF9TT0JFTF9USFJFU0hPTERfVU5OQU1FRDE0NDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxNDQwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gU0FEX1RJR0hUX1RIUkVTSE9MRAogICAgICAgIHsKICAgICAgICAgICAgU0FEX1RJR0hUX1RIUkVTSE9MRF9VTk5BTUVENSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDUsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBDT05URU5UX0FEQVBUSVZFX1RIUkVTSE9MRF9TTE9QRQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgRGV0ZXJtaW5lcyB0aGUgc2xvcGUgb2YgdGhlIENvbnRlbnQgQWRhcHRpdmUgVGhyZXNob2xkLgogICAgICAgIGVudW0gQ09OVEVOVF9BREFQVElWRV9USFJFU0hPTERfU0xPUEUKICAgICAgICB7CiAgICAgICAgICAgIENPTlRFTlRfQURBUFRJVkVfVEhSRVNIT0xEX1NMT1BFX1VOTkFNRUQ5ICAgICAgICAgICAgICAgICAgICAgICAgPSA5LCAvLyE8IENBVF9zbG9wZSB2YWx1ZSA9IDEwCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBTVE1NX0JMRU5ESU5HX0NPTlNUQU5UX1NFTEVDVAogICAgICAgIHsKICAgICAgICAgICAgU1RNTV9CTEVORElOR19DT05TVEFOVF9TRUxFQ1RfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgVXNlIHRoZSBibGVuZGluZyBjb25zdGFudCBmb3Igc21hbGwgdmFsdWVzIG9mIFNUTU0gZm9yIHN0bW1fbWRfdGgKICAgICAgICAgICAgU1RNTV9CTEVORElOR19DT05TVEFOVF9TRUxFQ1RfVU5OQU1FRDEgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEsIC8vITwgVXNlIHRoZSBibGVuZGluZyBjb25zdGFudCBmb3IgbGFyZ2UgdmFsdWVzIG9mIFNUTU0gZm9yIHN0bW1fbWRfdGgKICAgICAgICB9OwoKICAgICAgICBlbnVtIExVTUFURE1fV1QKICAgICAgICB7CiAgICAgICAgICAgIExVTUFURE1fV1RfVU5OQU1FRDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gQ0hST01BVERNX1dUCiAgICAgICAgewogICAgICAgICAgICBDSFJPTUFURE1fV1RfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFNUTU1fU0hJRlRfVVAKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIEFtb3VudCB0byBzaGlmdCBTVE1NIHVwIChzZXQgcmFuZ2UpLgogICAgICAgIGVudW0gU1RNTV9TSElGVF9VUAogICAgICAgIHsKICAgICAgICAgICAgU1RNTV9TSElGVF9VUF9TSElGVEJZNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIFNUTU1fU0hJRlRfVVBfU0hJRlRCWTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBTVE1NX1NISUZUX1VQX1NISUZUQlk4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFNUTU1fU0hJRlRfRE9XTgogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgQW1vdW50IHRvIHNoaWZ0IFNUTU0gZG93biAocXVhbnRpemUgdG8gZmV3ZXIgYml0cykKICAgICAgICBlbnVtIFNUTU1fU0hJRlRfRE9XTgogICAgICAgIHsKICAgICAgICAgICAgU1RNTV9TSElGVF9ET1dOX1NISUZUQlk0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIFNUTU1fU0hJRlRfRE9XTl9TSElGVEJZNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBTVE1NX1NISUZUX0RPV05fU0hJRlRCWTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIENPUklOR19USFJFU0hPTERfRk9SX1NWQ00KICAgICAgICB7CiAgICAgICAgICAgIENPUklOR19USFJFU0hPTERfRk9SX1NWQ01fVU5OQU1FRDI1NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyNTUsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBERUxUQUJJVF9WQUxVRV9GT1JfU1ZDTQogICAgICAgIHsKICAgICAgICAgICAgREVMVEFCSVRfVkFMVUVfRk9SX1NWQ01fVU5OQU1FRDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDUsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBDT1JJTkdfVEhSRVNIT0xEX0ZPUl9TSENNCiAgICAgICAgewogICAgICAgICAgICBDT1JJTkdfVEhSRVNIT0xEX0ZPUl9TSENNX1VOTkFNRUQyNTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjU1LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gREVMVEFCSVRfVkFMVUVfRk9SX1NIQ00KICAgICAgICB7CiAgICAgICAgICAgIERFTFRBQklUX1ZBTFVFX0ZPUl9TSENNX1VOTkFNRUQ1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgRE5ESV9UT1BfRklSU1QKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIEluZGljYXRlcyB0aGUgdG9wIGZpZWxkIGlzIGZpcnN0IGluIHNlcXVlbmNlLCBvdGhlcndpc2UgYm90dG9tIGlzIGZpcnN0LgogICAgICAgIGVudW0gRE5ESV9UT1BfRklSU1QKICAgICAgICB7CiAgICAgICAgICAgIERORElfVE9QX0ZJUlNUX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IEJvdHRvbSBmaWVsZCBvY2N1cnMgZmlyc3QgaW4gc2VxdWVuY2UKICAgICAgICAgICAgRE5ESV9UT1BfRklSU1RfVU5OQU1FRDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEsIC8vITwgVG9wIGZpZWxkIG9jY3VycyBmaXJzdCBpbiBzZXF1ZW5jZQogICAgICAgIH07CgogICAgICAgIGVudW0gQ0FUX1RIUkVTSE9MRAogICAgICAgIHsKICAgICAgICAgICAgQ0FUX1RIUkVTSE9MRF9VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBTQURfVEhBCiAgICAgICAgewogICAgICAgICAgICBTQURfVEhBX1VOTkFNRUQ1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIFNBRF9USEIKICAgICAgICB7CiAgICAgICAgICAgIFNBRF9USEJfVU5OQU1FRDEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFBST0dSRVNTSVZFX0NBREVOQ0VfUkVDT05TVFJVQ1RJT05fRk9SXzFTVF9GSUVMRF9PRl9DVVJSRU5UX0ZSQU1FCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBEZWZsaWNrZXIgY2FuIGJlIGVuYWJsZWQgb25seSBpbiBEZS1pbnRlcmxhY2UgbW9kZSBhbmQgbm90IGlmIGVpdGhlcgogICAgICAgIC8vISAgICAgZmllbGRzIGFyZSBpbiBDYWRlbmNlIGNvbnN0cnVjdGlvbiBtb2RlLgogICAgICAgIGVudW0gUFJPR1JFU1NJVkVfQ0FERU5DRV9SRUNPTlNUUlVDVElPTl9GT1JfMVNUX0ZJRUxEX09GX0NVUlJFTlRfRlJBTUUKICAgICAgICB7CiAgICAgICAgICAgIFBST0dSRVNTSVZFX0NBREVOQ0VfUkVDT05TVFJVQ1RJT05fRk9SXzFTVF9GSUVMRF9PRl9DVVJSRU5UX0ZSQU1FX0RFSU5URVJMQUNFID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgUFJPR1JFU1NJVkVfQ0FERU5DRV9SRUNPTlNUUlVDVElPTl9GT1JfMVNUX0ZJRUxEX09GX0NVUlJFTlRfRlJBTUVfUFVUVE9HRVRIRVJXSVRIUFJFVklPVVNGSUVMRElOU0VRVUVOQ0UgPSAxLCAvLyE8IDJebmQgZmllbGQgb2YgcHJldmlvdXMgZnJhbWUKICAgICAgICAgICAgUFJPR1JFU1NJVkVfQ0FERU5DRV9SRUNPTlNUUlVDVElPTl9GT1JfMVNUX0ZJRUxEX09GX0NVUlJFTlRfRlJBTUVfUFVUVE9HRVRIRVJXSVRITkVYVEZJRUxESU5TRVFVRU5DRSA9IDIsIC8vITwgMl5uZCBmaWVsZCBvZiBjdXJyZW50IGZyYW1lCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBNQ19QSVhFTF9DT05TSVNURU5DWV9USFJFU0hPTEQKICAgICAgICB7CiAgICAgICAgICAgIE1DX1BJWEVMX0NPTlNJU1RFTkNZX1RIUkVTSE9MRF9VTk5BTUVEMjUgICAgICAgICAgICAgICAgICAgICAgICAgPSAyNSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFBST0dSRVNTSVZFX0NBREVOQ0VfUkVDT05TVFJVQ1RJT05fRk9SXzJORF9GSUVMRF9PRl9QUkVWSU9VU19GUkFNRQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgRGVmbGlja2VyIGNhbiBiZSBlbmFibGVkIG9ubHkgaW4gRGUtaW50ZXJsYWNlIG1vZGUgYW5kIG5vdCBpbiBDYWRlbmNlCiAgICAgICAgLy8hICAgICBjb25zdHJ1Y3Rpb24gbW9kZS4KICAgICAgICBlbnVtIFBST0dSRVNTSVZFX0NBREVOQ0VfUkVDT05TVFJVQ1RJT05fRk9SXzJORF9GSUVMRF9PRl9QUkVWSU9VU19GUkFNRQogICAgICAgIHsKICAgICAgICAgICAgUFJPR1JFU1NJVkVfQ0FERU5DRV9SRUNPTlNUUlVDVElPTl9GT1JfMk5EX0ZJRUxEX09GX1BSRVZJT1VTX0ZSQU1FX0RFSU5URVJMQUNFID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgUFJPR1JFU1NJVkVfQ0FERU5DRV9SRUNPTlNUUlVDVElPTl9GT1JfMk5EX0ZJRUxEX09GX1BSRVZJT1VTX0ZSQU1FX1BVVFRPR0VUSEVSV0lUSFBSRVZJT1VTRklFTERJTlNFUVVFTkNFID0gMSwgLy8hPCAxXnN0IGZpZWxkIG9mIHByZXZpb3VzIGZyYW1lCiAgICAgICAgICAgIFBST0dSRVNTSVZFX0NBREVOQ0VfUkVDT05TVFJVQ1RJT05fRk9SXzJORF9GSUVMRF9PRl9QUkVWSU9VU19GUkFNRV9QVVRUT0dFVEhFUldJVEhORVhURklFTERJTlNFUVVFTkNFID0gMiwgLy8hPCAxXnN0IGZpZWxkIG9mIGN1cnJlbnQgZnJhbWUKICAgICAgICB9OwoKICAgICAgICBlbnVtIE5FSUdIQk9SX1BJWEVMX1RIUkVTSE9MRAogICAgICAgIHsKICAgICAgICAgICAgTkVJR0hCT1JfUElYRUxfVEhSRVNIT0xEX1VOTkFNRUQxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgRkFTVEVSQ09WRVJHRU5DRQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgRm9yIHN5bnRoZXRpYyBjb250ZW50IGZhc3RlciBjb252ZXJnZW5jZSB0byBjdXJyZW50IFNUTU0gdmFsdWUgaXMKICAgICAgICAvLyEgICAgIHByZWZlcnJlZC4KICAgICAgICBlbnVtIEZBU1RFUkNPVkVSR0VOQ0UKICAgICAgICB7CiAgICAgICAgICAgIEZBU1RFUkNPVkVSR0VOQ0VfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gU0FEX1dUMAogICAgICAgIHsKICAgICAgICAgICAgU0FEX1dUMF9ERUZBVUxURk9STkFUVVJBTEFORFNZTlRIRVRJQyAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBTQURfV1QxCiAgICAgICAgewogICAgICAgICAgICBTQURfV1QxX0RFRkFVTFRGT1JTWU5USEVUSUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIFNBRF9XVDFfREVGQVVMVEZPUk5BVFVSQUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxNjYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBTQURfV1QyCiAgICAgICAgewogICAgICAgICAgICBTQURfV1QyX0RFRkFVTFRGT1JTWU5USEVUSUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjUsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIFNBRF9XVDJfREVGQVVMVEZPUk5BVFVSQUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxNzksIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBTQURfV1QzCiAgICAgICAgewogICAgICAgICAgICBTQURfV1QzX0RFRkFVTFRGT1JTWU5USEVUSUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIFNBRF9XVDNfREVGQVVMVEZPUk5BVFVSQUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxOTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBTQURfV1Q0CiAgICAgICAgewogICAgICAgICAgICBTQURfV1Q0X0RFRkFVTFRGT1JTWU5USEVUSUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gOTAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIFNBRF9XVDRfREVGQVVMVEZPUk5BVFVSQUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyMTgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBTQURfV1Q2CiAgICAgICAgewogICAgICAgICAgICBTQURfV1Q2X0RFRkFVTFRGT1JTWU5USEVUSUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIFNBRF9XVDZfREVGQVVMVEZPUk5BVFVSQUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyMTcsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBDT1JJTkdfVEhSRVNIT0xEX0ZPUl9MVU1BX1NBRF9DQUxDVUxBVElPTgogICAgICAgIHsKICAgICAgICAgICAgQ09SSU5HX1RIUkVTSE9MRF9GT1JfTFVNQV9TQURfQ0FMQ1VMQVRJT05fVU5OQU1FRDAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBDT1JJTkdfVEhSRVNIT0xEX0ZPUl9DSFJPTUFfU0FEX0NBTENVTEFUSU9OCiAgICAgICAgewogICAgICAgICAgICBDT1JJTkdfVEhSRVNIT0xEX0ZPUl9DSFJPTUFfU0FEX0NBTENVTEFUSU9OX1VOTkFNRUQwICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIFBBUl9ESUZGQ0hFQ0tTTEFDS1RIUkVTSE9MRAogICAgICAgIHsKICAgICAgICAgICAgUEFSX0RJRkZDSEVDS1NMQUNLVEhSRVNIT0xEX1VOTkFNRUQxNSAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDE1LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gUEFSX1RFQVJJTkdISUdIVEhSRVNIT0xECiAgICAgICAgewogICAgICAgICAgICBQQVJfVEVBUklOR0hJR0hUSFJFU0hPTERfVU5OQU1FRDEwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gUEFSX1RFQVJJTkdMT1dUSFJFU0hPTEQKICAgICAgICB7CiAgICAgICAgICAgIFBBUl9URUFSSU5HTE9XVEhSRVNIT0xEX1VOTkFNRUQyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIFBBUl9ESVJFQ1RJT05DSEVDS1RICiAgICAgICAgewogICAgICAgICAgICBQQVJfRElSRUNUSU9OQ0hFQ0tUSF9VTk5BTUVEMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMywgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIFBBUl9TWU5USEVUSUNDT05URU5UQ0hFQ0sKICAgICAgICB7CiAgICAgICAgICAgIFBBUl9TWU5USEVUSUNDT05URU5UQ0hFQ0tfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gUEFSX0xPQ0FMQ0hFQ0sKICAgICAgICB7CiAgICAgICAgICAgIFBBUl9MT0NBTENIRUNLX1VOTkFNRUQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gUEFSX1VTRVNZTlRIRVRJQ0NPTlRFTlRNRURJQU4KICAgICAgICB7CiAgICAgICAgICAgIFBBUl9VU0VTWU5USEVUSUNDT05URU5UTUVESUFOX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gTFBGV1RMVVQwCiAgICAgICAgewogICAgICAgICAgICBMUEZXVExVVDBfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIExQRldUTFVUMQogICAgICAgIHsKICAgICAgICAgICAgTFBGV1RMVVQxX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBMUEZXVExVVDIKICAgICAgICB7CiAgICAgICAgICAgIExQRldUTFVUMl9VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gTFBGV1RMVVQzCiAgICAgICAgewogICAgICAgICAgICBMUEZXVExVVDNfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIExQRldUTFVUNAogICAgICAgIHsKICAgICAgICAgICAgTFBGV1RMVVQ0X1VOTkFNRUQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gTFBGV1RMVVQ1CiAgICAgICAgewogICAgICAgICAgICBMUEZXVExVVDVfVU5OQU1FRDY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBMUEZXVExVVDYKICAgICAgICB7CiAgICAgICAgICAgIExQRldUTFVUNl9VTk5BTUVEMTI4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBMUEZXVExVVDcKICAgICAgICB7CiAgICAgICAgICAgIExQRldUTFVUN19VTk5BTUVEMjU1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyNTUsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBURE1fVVZfVEhSRVNIT0xECiAgICAgICAgewogICAgICAgICAgICBURE1fVVZfVEhSRVNIT0xEX1VOTkFNRUQxMDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSFZfVVZfVEhSRVNIT0xECiAgICAgICAgewogICAgICAgICAgICBIVl9VVl9USFJFU0hPTERfVU5OQU1FRDMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBURE1fSEFSTU9OSUNfRkFDVE9SX1NZTlRIRVRJQwogICAgICAgIHsKICAgICAgICAgICAgVERNX0hBUk1PTklDX0ZBQ1RPUl9TWU5USEVUSUNfVU5OQU1FRDQgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBURE1fSEFSTU9OSUNfRkFDVE9SX05BVFVSQUwKICAgICAgICB7CiAgICAgICAgICAgIFRETV9IQVJNT05JQ19GQUNUT1JfTkFUVVJBTF9VTk5BTUVENCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gU1lOVEhUSUNfRlJBTUUKICAgICAgICB7CiAgICAgICAgICAgIFNZTlRIVElDX0ZSQU1FX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gU1lOVEhFVElDX0NPTlRFTlRfVEhSRVNIT0xECiAgICAgICAgewogICAgICAgICAgICBTWU5USEVUSUNfQ09OVEVOVF9USFJFU0hPTERfVU5OQU1FRDE1MDAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTUwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIFNWQ01fSEFSTU9OSUNfRkFDVE9SX1NZTlRIRVRJQwogICAgICAgIHsKICAgICAgICAgICAgU1ZDTV9IQVJNT05JQ19GQUNUT1JfU1lOVEhFVElDX1VOTkFNRUQ0ICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBTSENNX0hBUk1PTklDX0ZBQ1RPUl9TWU5USEVUSUMKICAgICAgICB7CiAgICAgICAgICAgIFNIQ01fSEFSTU9OSUNfRkFDVE9SX1NZTlRIRVRJQ19VTk5BTUVENCAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gU1ZDTV9IQVJNT05JQ19GQUNUT1JfTkFUVVJBTAogICAgICAgIHsKICAgICAgICAgICAgU1ZDTV9IQVJNT05JQ19GQUNUT1JfTkFUVVJBTF9VTk5BTUVENiAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBTSENNX0hBUk1PTklDX0ZBQ1RPUl9OQVRVUkFMCiAgICAgICAgewogICAgICAgICAgICBTSENNX0hBUk1PTklDX0ZBQ1RPUl9OQVRVUkFMX1VOTkFNRUQ2ICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEhBUk1PTklDX0NPVU5URVJfVEhSRVNIT0xECiAgICAgICAgewogICAgICAgICAgICBIQVJNT05JQ19DT1VOVEVSX1RIUkVTSE9MRF9VTk5BTUVEOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIE1BWF9IQVJNT05JQ19DT1VOVEVSX1RIUkVTSE9MRAogICAgICAgIHsKICAgICAgICAgICAgTUFYX0hBUk1PTklDX0NPVU5URVJfVEhSRVNIT0xEX1VOTkFNRUQxNSAgICAgICAgICAgICAgICAgICAgICAgICA9IDE1LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gTkFUVVJBTF9DT05URU5UX1RIUkVTSE9MRAogICAgICAgIHsKICAgICAgICAgICAgTkFUVVJBTF9DT05URU5UX1RIUkVTSE9MRF9VTk5BTUVEMjAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDIwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIE1BWElNVU1fVkFMVUUKICAgICAgICB7CiAgICAgICAgICAgIE1BWElNVU1fVkFMVUVfVU5OQU1FRDY3MTA4ODYzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2NzEwODg2MywgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIFNISUZUSU5HX1ZBTFVFCiAgICAgICAgewogICAgICAgICAgICBTSElGVElOR19WQUxVRV9VTk5BTUVEMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBIVl9ZX1RIUkVTSE9MRAogICAgICAgIHsKICAgICAgICAgICAgSFZfWV9USFJFU0hPTERfVU5OQU1FRDUwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDUwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gTlVNX0lOTElORVJfTlVNRVJBVE9SX1RIUkVTSE9MRAogICAgICAgIHsKICAgICAgICAgICAgTlVNX0lOTElORVJfTlVNRVJBVE9SX1RIUkVTSE9MRF9VTk5BTUVEMyAgICAgICAgICAgICAgICAgICAgICAgICA9IDMsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBOVU1fSU5MSU5FUl9ERU5PTUlOQVRPUl9USFJFU0hPTEQKICAgICAgICB7CiAgICAgICAgICAgIE5VTV9JTkxJTkVSX0RFTk9NSU5BVE9SX1RIUkVTSE9MRF9VTk5BTUVENCAgICAgICAgICAgICAgICAgICAgICAgPSA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CiAgICAgICAgLy8hIFxuYW1lIEluaXRpYWxpemF0aW9ucwoKICAgICAgICAvLyEgXGJyaWVmIEV4cGxpY2l0IG1lbWJlciBpbml0aWFsaXphdGlvbiBmdW5jdGlvbgogICAgICAgIFZFQk9YX0RORElfU1RBVEVfQ01EKCk7CgogICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgZHdTaXplID0gNDk7CiAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBieXRlU2l6ZSA9IDE5NjsKICAgIH07CgogICAgLy8hCiAgICAvLyEgXGJyaWVmIFZFQk9YX0ZST05UX0VORF9DU0NfU1RBVEUKICAgIC8vISBcZGV0YWlscwogICAgLy8hICAgICBUaGlzIHN0YXRlIHN0cnVjdHVyZSBjb250YWlucyB0aGUgSUVDUCBTdGF0ZSBUYWJsZSBDb250ZW50cyBmb3IKICAgIC8vISAgICAgRnJvbnQtZW5kIENTQyBzdGF0ZS4KICAgIC8vISAgICAgCiAgICBzdHJ1Y3QgVkVCT1hfRlJPTlRfRU5EX0NTQ19TVEFURV9DTUQKICAgIHsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRmVjc2NDMFRyYW5zZm9ybUNvZWZmaWNpZW50ICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxOCkgICAgOyAvLyE8IEZFQ1NDX0MwX1RSQU5TRk9STV9DT0VGRklDSUVOVAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxOSwgMzApICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZyb250RW5kQ3NjVHJhbnNmb3JtRW5hYmxlICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMSwgMzEpICAgIDsgLy8hPCBGcm9udCBFbmQgQ1NDIFRyYW5zZm9ybSBFbmFibGUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRmVjc2NDMVRyYW5zZm9ybUNvZWZmaWNpZW50ICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxOCkgICAgOyAvLyE8IEZFQ1NDX0MxX1RSQU5TRk9STV9DT0VGRklDSUVOVAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxOSwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGZWNzY0MyVHJhbnNmb3JtQ29lZmZpY2llbnQgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE4KSAgICA7IC8vITwgRkVDU0NfQzJfVFJBTlNGT1JNX0NPRUZGSUNJRU5UCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ4MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE5LCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZlY3NjQzNUcmFuc2Zvcm1Db2VmZmljaWVudCAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTgpICAgIDsgLy8hPCBGRUNTQ19DM19UUkFOU0ZPUk1fQ09FRkZJQ0lFTlQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDExNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTksIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRmVjc2NDNFRyYW5zZm9ybUNvZWZmaWNpZW50ICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxOCkgICAgOyAvLyE8IEZFQ1NDX0M0X1RSQU5TRk9STV9DT0VGRklDSUVOVAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTQ3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxOSwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGZWNzY0M1VHJhbnNmb3JtQ29lZmZpY2llbnQgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE4KSAgICA7IC8vITwgRkVDU0NfQzVfVFJBTlNGT1JNX0NPRUZGSUNJRU5UCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQxNzkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE5LCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZlY3NjQzZUcmFuc2Zvcm1Db2VmZmljaWVudCAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTgpICAgIDsgLy8hPCBGRUNTQ19DNl9UUkFOU0ZPUk1fQ09FRkZJQ0lFTlQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDIxMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTksIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRmVjc2NDN1RyYW5zZm9ybUNvZWZmaWNpZW50ICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxOCkgICAgOyAvLyE8IEZFQ1NDX0M3X1RSQU5TRk9STV9DT0VGRklDSUVOVAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMjQzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxOSwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGZWNzY0M4VHJhbnNmb3JtQ29lZmZpY2llbnQgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE4KSAgICA7IC8vITwgRkVDU0NfQzhfVFJBTlNGT1JNX0NPRUZGSUNJRU5UCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQyNzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE5LCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZlY1NjT2Zmc2V0SW4xT2Zmc2V0SW5Gb3JZUiAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGRUNfU0NfT0ZGU0VUX0lOXzFfT0ZGU0VUX0lOX0ZPUl9ZUgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZlY1NjT2Zmc2V0T3V0MU9mZnNldE91dEZvcllSICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGRUNfU0NfT0ZGU0VUX09VVF8xX09GRlNFVF9PVVRfRk9SX1lSCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGZWNTY09mZnNldEluMk9mZnNldE91dEZvclVHICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRkVDX1NDX09GRlNFVF9JTl8yX09GRlNFVF9PVVRfRk9SX1VHCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRmVjU2NPZmZzZXRPdXQyT2Zmc2V0T3V0Rm9yVUcgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZFQ19TQ19PRkZTRVRfT1VUXzJfT0ZGU0VUX09VVF9GT1JfVUcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGZWNTY09mZnNldEluM09mZnNldE91dEZvclZCICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRkVDX1NDX09GRlNFVF9JTl8zX09GRlNFVF9PVVRfRk9SX1ZCCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRmVjU2NPZmZzZXRPdXQzT2Zmc2V0T3V0Rm9yVkIgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZFQ19TQ19PRkZTRVRfT1VUXzNfT0ZGU0VUX09VVF9GT1JfVkIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTE7CgogICAgICAgIC8vISBcbmFtZSBMb2NhbCBlbnVtZXJhdGlvbnMKCiAgICAgICAgZW51bSBGRUNTQ19DMF9UUkFOU0ZPUk1fQ09FRkZJQ0lFTlQKICAgICAgICB7CiAgICAgICAgICAgIEZFQ1NDX0MwX1RSQU5TRk9STV9DT0VGRklDSUVOVF9PUjEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2NTUzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZFQ1NDX0MxX1RSQU5TRk9STV9DT0VGRklDSUVOVAogICAgICAgIHsKICAgICAgICAgICAgRkVDU0NfQzFfVFJBTlNGT1JNX0NPRUZGSUNJRU5UX09SMDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGRUNTQ19DMl9UUkFOU0ZPUk1fQ09FRkZJQ0lFTlQKICAgICAgICB7CiAgICAgICAgICAgIEZFQ1NDX0MyX1RSQU5TRk9STV9DT0VGRklDSUVOVF9PUjAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRkVDU0NfQzNfVFJBTlNGT1JNX0NPRUZGSUNJRU5UCiAgICAgICAgewogICAgICAgICAgICBGRUNTQ19DM19UUkFOU0ZPUk1fQ09FRkZJQ0lFTlRfT1IwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZFQ1NDX0M0X1RSQU5TRk9STV9DT0VGRklDSUVOVAogICAgICAgIHsKICAgICAgICAgICAgRkVDU0NfQzRfVFJBTlNGT1JNX0NPRUZGSUNJRU5UX09SMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDY1NTM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRkVDU0NfQzVfVFJBTlNGT1JNX0NPRUZGSUNJRU5UCiAgICAgICAgewogICAgICAgICAgICBGRUNTQ19DNV9UUkFOU0ZPUk1fQ09FRkZJQ0lFTlRfT1IwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZFQ1NDX0M2X1RSQU5TRk9STV9DT0VGRklDSUVOVAogICAgICAgIHsKICAgICAgICAgICAgRkVDU0NfQzZfVFJBTlNGT1JNX0NPRUZGSUNJRU5UX09SMDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGRUNTQ19DN19UUkFOU0ZPUk1fQ09FRkZJQ0lFTlQKICAgICAgICB7CiAgICAgICAgICAgIEZFQ1NDX0M3X1RSQU5TRk9STV9DT0VGRklDSUVOVF9PUjAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRkVDU0NfQzhfVFJBTlNGT1JNX0NPRUZGSUNJRU5UCiAgICAgICAgewogICAgICAgICAgICBGRUNTQ19DOF9UUkFOU0ZPUk1fQ09FRkZJQ0lFTlRfT1IxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjU1MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBGRUNfU0NfT0ZGU0VUX0lOXzFfT0ZGU0VUX0lOX0ZPUl9ZUgogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhlIG9mZnNldCB2YWx1ZSBpcyBtdWx0aXBsaWVkIGJ5IDIgYmVmb3JlIGJlaW5nIGFkZGVkIHRvIHRoZSBvdXRwdXQuCiAgICAgICAgZW51bSBGRUNfU0NfT0ZGU0VUX0lOXzFfT0ZGU0VUX0lOX0ZPUl9ZUgogICAgICAgIHsKICAgICAgICAgICAgRkVDX1NDX09GRlNFVF9JTl8xX09GRlNFVF9JTl9GT1JfWVJfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBGRUNfU0NfT0ZGU0VUX09VVF8xX09GRlNFVF9PVVRfRk9SX1lSCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgb2Zmc2V0IHZhbHVlIGlzIG11bHRpcGxpZWQgYnkgMiBiZWZvcmUgYmVpbmcgYWRkZWQgdG8gdGhlIG91dHB1dC4KICAgICAgICBlbnVtIEZFQ19TQ19PRkZTRVRfT1VUXzFfT0ZGU0VUX09VVF9GT1JfWVIKICAgICAgICB7CiAgICAgICAgICAgIEZFQ19TQ19PRkZTRVRfT1VUXzFfT0ZGU0VUX09VVF9GT1JfWVJfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgRkVDX1NDX09GRlNFVF9JTl8yX09GRlNFVF9PVVRfRk9SX1VHCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgb2Zmc2V0IHZhbHVlIGlzIG11bHRpcGxpZWQgYnkgMiBiZWZvcmUgYmVpbmcgYWRkZWQgdG8gdGhlIG91dHB1dC4KICAgICAgICBlbnVtIEZFQ19TQ19PRkZTRVRfSU5fMl9PRkZTRVRfT1VUX0ZPUl9VRwogICAgICAgIHsKICAgICAgICAgICAgRkVDX1NDX09GRlNFVF9JTl8yX09GRlNFVF9PVVRfRk9SX1VHX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBGRUNfU0NfT0ZGU0VUX09VVF8yX09GRlNFVF9PVVRfRk9SX1VHCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgb2Zmc2V0IHZhbHVlIGlzIG11bHRpcGxpZWQgYnkgMiBiZWZvcmUgYmVpbmcgYWRkZWQgdG8gdGhlIG91dHB1dC4KICAgICAgICBlbnVtIEZFQ19TQ19PRkZTRVRfT1VUXzJfT0ZGU0VUX09VVF9GT1JfVUcKICAgICAgICB7CiAgICAgICAgICAgIEZFQ19TQ19PRkZTRVRfT1VUXzJfT0ZGU0VUX09VVF9GT1JfVUdfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgRkVDX1NDX09GRlNFVF9JTl8zX09GRlNFVF9PVVRfRk9SX1ZCCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgb2Zmc2V0IHZhbHVlIGlzIG11bHRpcGxpZWQgYnkgMiBiZWZvcmUgYmVpbmcgYWRkZWQgdG8gdGhlIG91dHB1dC4KICAgICAgICBlbnVtIEZFQ19TQ19PRkZTRVRfSU5fM19PRkZTRVRfT1VUX0ZPUl9WQgogICAgICAgIHsKICAgICAgICAgICAgRkVDX1NDX09GRlNFVF9JTl8zX09GRlNFVF9PVVRfRk9SX1ZCX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBGRUNfU0NfT0ZGU0VUX09VVF8zX09GRlNFVF9PVVRfRk9SX1ZCCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgb2Zmc2V0IHZhbHVlIGlzIG11bHRpcGxpZWQgYnkgMiBiZWZvcmUgYmVpbmcgYWRkZWQgdG8gdGhlIG91dHB1dC4KICAgICAgICBlbnVtIEZFQ19TQ19PRkZTRVRfT1VUXzNfT0ZGU0VUX09VVF9GT1JfVkIKICAgICAgICB7CiAgICAgICAgICAgIEZFQ19TQ19PRkZTRVRfT1VUXzNfT0ZGU0VUX09VVF9GT1JfVkJfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcbmFtZSBJbml0aWFsaXphdGlvbnMKCiAgICAgICAgLy8hIFxicmllZiBFeHBsaWNpdCBtZW1iZXIgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24KICAgICAgICBWRUJPWF9GUk9OVF9FTkRfQ1NDX1NUQVRFX0NNRCgpOwoKICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGR3U2l6ZSA9IDEyOwogICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYnl0ZVNpemUgPSA0ODsKICAgIH07CgogICAgLy8hCiAgICAvLyEgXGJyaWVmIFZFQk9YX0dBTVVUX0NPTlRST0xfU1RBVEUKICAgIC8vISBcZGV0YWlscwogICAgLy8hICAgICAKICAgIC8vISAgICAgCiAgICBzdHJ1Y3QgVkVCT1hfR0FNVVRfQ09OVFJPTF9TVEFURV9DTUQKICAgIHsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAyMCkgICAgOyAvLyE8IEMxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQyMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIxLCAyMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgR2xvYmFsTW9kZUVuYWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIyLCAyMikgICAgOyAvLyE8IEdMT0JBTF9NT0RFX0VOQUJMRQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEFSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMywgMzEpICAgIDsgLy8hPCBBUgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDIwKSAgICA7IC8vITwgQzAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDUzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjEsIDIxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDbVcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjIsIDMxKSAgICA7IC8vITwgQ00odykKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAyMCkgICAgOyAvLyE8IEMzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ4NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIxLCAyMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQ21TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIyLCAzMSkgICAgOyAvLyE8IENNKHMpCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMjApICAgIDsgLy8hPCBDMgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTE3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMSwgMjQpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEFHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNSwgMzEpICAgIDsgLy8hPCBBKGcpCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEM1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMjApICAgIDsgLy8hPCBDNQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTQ5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMSwgMjQpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEFCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNSwgMzEpICAgIDsgLy8hPCBBKGIpCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEM0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMjApICAgIDsgLy8hPCBDNAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTgxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMSwgMjEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMiwgMzEpICAgIDsgLy8hPCBSKHMpCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEM3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMjApICAgIDsgLy8hPCBDNwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMjEzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMSwgMjMpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIENtSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNCwgMzEpICAgIDsgLy8hPCBDTShpKQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDIwKSAgICA7IC8vITwgQzYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDI0NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjEsIDIzKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjQsIDMxKSAgICA7IC8vITwgUihpKQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDIwKSAgICA7IC8vITwgQzgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDI3NyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjEsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgT2Zmc2V0SW5SICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNikgICAgOyAvLyE8IE9GRlNFVF9JTl9SCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQzMDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE3LCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBPZmZzZXRJbkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE2KSAgICA7IC8vITwgT0ZGU0VUX0lOX0cKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDMzNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTcsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBPZmZzZXRJbkIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE2KSAgICA7IC8vITwgT0ZGU0VUX0lOX0IKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDM2OSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTcsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBPZmZzZXRPdXRSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE2KSAgICA7IC8vITwgT0ZGU0VUX09VVF9SCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ0MDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE3LCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzEyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgT2Zmc2V0T3V0RyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNikgICAgOyAvLyE8IE9GRlNFVF9PVVRfRwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNDMzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNywgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIE9mZnNldE91dEIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTYpICAgIDsgLy8hPCBPRkZTRVRfT1VUX0IKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDQ2NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTcsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEMU91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA5KSAgICA7IC8vITwgRDFPVVQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBET3V0RGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTAsIDE5KSAgICA7IC8vITwgRE9VVF9ERUZBVUxUCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgREluRGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIwLCAyOSkgICAgOyAvLyE8IERJTkRFRkFVTFQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGdWxscmFuZ2VtYXBwaW5nZW5hYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMzAsIDMwKSAgICA7IC8vITwgRlVMTFJBTkdFTUFQUElOR0VOQUJMRQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNTExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMSwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxNTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEQxSW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDkpICAgIDsgLy8hPCBEMUlOCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ1MjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEwLCAyNykgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQ29tcHJlc3Npb25saW5lc2hpZnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI4LCAzMCkgICAgOyAvLyE8IENPTVBSRVNTSU9OTElORVNISUZUCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgWHZ5Y2NkZWNlbmNlbmFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDMxLCAzMSkgICAgOyAvLyE8IFhWWUNDREVDRU5DRU5BQkxFCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQ3BpT3ZlcnJpZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgMCkgICAgOyAvLyE8IENQSV9PVkVSUklERQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNTQ1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMSwgMTApICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEJhc2ljbW9kZXNjYWxpbmdmYWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMSwgMjQpICAgIDsgLy8hPCBCYXNpY01vZGVTY2FsaW5nRmFjdG9yCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ1NjkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI1LCAyOCkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTHVtYWNob3JtYW9ubHljb3JyZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI5LCAyOSkgICAgOyAvLyE8IExVTUFDSE9STUFPTkxZQ09SUkVDVElPTgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEdjY0Jhc2ljbW9kZXNlbGVjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMCwgMzEpICAgIDsgLy8hPCBHQ0NfQkFTSUNNT0RFU0VMRUNUSU9OCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE3OwoKICAgICAgICAvLyEgXG5hbWUgTG9jYWwgZW51bWVyYXRpb25zCgogICAgICAgIC8vISBcYnJpZWYgQzEKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIENvZWZmaWNpZW50IG9mIDN4MyBUcmFuc2Zvcm0gbWF0cml4LgogICAgICAgIGVudW0gQzEKICAgICAgICB7CiAgICAgICAgICAgIEMxXzE4MjU2NjU1MzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxODI1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEdMT0JBTF9NT0RFX0VOQUJMRQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhlIGdhaW4gZmFjdG9yIGRlcml2ZWQgZnJvbSBzdGF0ZSBDTSh3KS4KICAgICAgICBlbnVtIEdMT0JBTF9NT0RFX0VOQUJMRQogICAgICAgIHsKICAgICAgICAgICAgR0xPQkFMX01PREVfRU5BQkxFX0FEVkFOQ0VNT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIEdMT0JBTF9NT0RFX0VOQUJMRV9CQVNJQ01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQVIKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIEdhaW5fZmFjdG9yX1IgKGRlZmF1bHQ6IDQzNiwgcHJlZmVycmVkIHJhbmdlOiAyNTYtNTExKS4KICAgICAgICBlbnVtIEFSCiAgICAgICAgewogICAgICAgICAgICBBUl9VTk5BTUVENDM2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQzAKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIENvZWZmaWNpZW50IG9mIDN4MyBUcmFuc2Zvcm0gbWF0cml4LgogICAgICAgIGVudW0gQzAKICAgICAgICB7CiAgICAgICAgICAgIEMwXzQ0NjcyNjU1MzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0NDY3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEMzCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBDb2VmZmljaWVudCBvZiAzeDMgVHJhbnNmb3JtIG1hdHJpeC4KICAgICAgICBlbnVtIEMzCiAgICAgICAgewogICAgICAgICAgICBDM18xMTM2NjU1MzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTEzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEMyCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBDb2VmZmljaWVudCBvZiAzeDMgVHJhbnNmb3JtIG1hdHJpeC4KICAgICAgICBlbnVtIEMyCiAgICAgICAgewogICAgICAgICAgICBDMl81NDQ2NTUzNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQzUKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIENvZWZmaWNpZW50IG9mIDN4MyBUcmFuc2Zvcm0gbWF0cml4LgogICAgICAgIGVudW0gQzUKICAgICAgICB7CiAgICAgICAgICAgIEM1XzgzMjY1NTM2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyMDk2MzIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQzQKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIENvZWZmaWNpZW50IG9mIDN4MyBUcmFuc2Zvcm0gbWF0cml4LgogICAgICAgIGVudW0gQzQKICAgICAgICB7CiAgICAgICAgICAgIEM0XzUzODA4NjU1MzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1MzgwOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEM3CiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBDb2VmZmljaWVudCBvZiAzeDMgVHJhbnNmb3JtIG1hdHJpeC4KICAgICAgICBlbnVtIEM3CiAgICAgICAgewogICAgICAgICAgICBDN18yNjg4NjU1MzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjY4OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEM2CiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBDb2VmZmljaWVudCBvZiAzeDMgVHJhbnNmb3JtIG1hdHJpeC4KICAgICAgICBlbnVtIEM2CiAgICAgICAgewogICAgICAgICAgICBDNl8xOTI2NTUzNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjA5Njk2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEM4CiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBDb2VmZmljaWVudCBvZiAzeDMgVHJhbnNmb3JtIG1hdHJpeC4KICAgICAgICBlbnVtIEM4CiAgICAgICAgewogICAgICAgICAgICBDOF81NDk0NDY1NTM2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTQ5NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBPRkZTRVRfSU5fUgogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhlIGlucHV0IG9mZnNldCBmb3IgcmVkIGNvbXBvbmVudC4KICAgICAgICBlbnVtIE9GRlNFVF9JTl9SCiAgICAgICAgewogICAgICAgICAgICBPRkZTRVRfSU5fUl9VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIE9GRlNFVF9JTl9HCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgaW5wdXQgb2Zmc2V0IGZvciBncmVlbiBjb21wb25lbnQuCiAgICAgICAgZW51bSBPRkZTRVRfSU5fRwogICAgICAgIHsKICAgICAgICAgICAgT0ZGU0VUX0lOX0dfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBPRkZTRVRfSU5fQgogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhlIGlucHV0IG9mZnNldCBmb3IgYmx1ZSBjb21wb25lbnQuCiAgICAgICAgZW51bSBPRkZTRVRfSU5fQgogICAgICAgIHsKICAgICAgICAgICAgT0ZGU0VUX0lOX0JfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBPRkZTRVRfT1VUX1IKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSBvdXRwdXQgb2Zmc2V0IGZvciByZWQgY29tcG9uZW50LgogICAgICAgIGVudW0gT0ZGU0VUX09VVF9SCiAgICAgICAgewogICAgICAgICAgICBPRkZTRVRfT1VUX1JfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIE9GRlNFVF9PVVRfRwogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhlIG91dHB1dCBvZmZzZXQgZm9yIGdyZWVuIGNvbXBvbmVudC4KICAgICAgICBlbnVtIE9GRlNFVF9PVVRfRwogICAgICAgIHsKICAgICAgICAgICAgT0ZGU0VUX09VVF9HX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBPRkZTRVRfT1VUX0IKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSBvdXRwdXQgb2Zmc2V0IGZvciBibHVlIGNvbXBvbmVudC4KICAgICAgICBlbnVtIE9GRlNFVF9PVVRfQgogICAgICAgIHsKICAgICAgICAgICAgT0ZGU0VUX09VVF9CX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBEMU9VVAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgT3V0ZXJUcmlhbmdsZU1hcHBpbmdMZW5ndGhCZWxvdy4KICAgICAgICBlbnVtIEQxT1VUCiAgICAgICAgewogICAgICAgICAgICBEMU9VVF9VTk5BTUVEMjg3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjg3LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgRE9VVF9ERUZBVUxUCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBPdXRlclRyaWFuZ2xlTWFwcGluZ0xlbmd0aC4KICAgICAgICBlbnVtIERPVVRfREVGQVVMVAogICAgICAgIHsKICAgICAgICAgICAgRE9VVF9ERUZBVUxUX1VOTkFNRUQxNjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDE2NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIERJTkRFRkFVTFQKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIElubmVyVHJpYW5nbGVNYXBwaW5nTGVuZ3RoLgogICAgICAgIGVudW0gRElOREVGQVVMVAogICAgICAgIHsKICAgICAgICAgICAgRElOREVGQVVMVF9VTk5BTUVEMjA1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDIwNSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZVTExSQU5HRU1BUFBJTkdFTkFCTEUKICAgICAgICB7CiAgICAgICAgICAgIEZVTExSQU5HRU1BUFBJTkdFTkFCTEVfQkFTSUNNT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBGVUxMUkFOR0VNQVBQSU5HRU5BQkxFX0FEVkFOQ0VNT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEQxSU4KICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIElubmVyVHJpYW5nbGVNYXBwaW5nTGVuZ3RoQmVsb3cuCiAgICAgICAgZW51bSBEMUlOCiAgICAgICAgewogICAgICAgICAgICBEMUlOX1VOTkFNRUQ4MjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gODIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQ09NUFJFU1NJT05MSU5FU0hJRlQKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIC4KICAgICAgICBlbnVtIENPTVBSRVNTSU9OTElORVNISUZUCiAgICAgICAgewogICAgICAgICAgICBDT01QUkVTU0lPTkxJTkVTSElGVF9VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgQ09NUFJFU1NJT05MSU5FU0hJRlRfVU5OQU1FRDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIENPTVBSRVNTSU9OTElORVNISUZUX1VOTkFNRUQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgWFZZQ0NERUNFTkNFTkFCTEUKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoaXMgYml0IGlzIHZhbGlkIG9ubHkgd2hlbiBDb2xvckdhbXV0Q29tcHJlc3Npb25uRW5hYmxlIGlzIG9uLgogICAgICAgIGVudW0gWFZZQ0NERUNFTkNFTkFCTEUKICAgICAgICB7CiAgICAgICAgICAgIFhWWUNDREVDRU5DRU5BQkxFX1RPRElTQUJMRUJPVEhYVllDQ0RFQ09ERUFORFhWWUNDRU5DT0RFICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBYVllDQ0RFQ0VOQ0VOQUJMRV9CT1RIWFZZQ0NERUNPREVBTkRYVllDQ0VOQ09ERUFSRUVOQUJMRUQgICAgICAgID0gMSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIENQSV9PVkVSUklERQogICAgICAgIHsKICAgICAgICAgICAgQ1BJX09WRVJSSURFX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIENQSV9PVkVSUklERV9PVkVSUklERUNQSUNBTENVTEFUSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gTFVNQUNIT1JNQU9OTFlDT1JSRUNUSU9OCiAgICAgICAgewogICAgICAgICAgICBMVU1BQ0hPUk1BT05MWUNPUlJFQ1RJT05fTFVNQU9OTFlDT1JSRUNUSU9OICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgTFVNQUNIT1JNQU9OTFlDT1JSRUNUSU9OX0NIT1JNQU9OTFlDT1JSRUNUSU9OICAgICAgICAgICAgICAgICAgICA9IDEsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBHQ0NfQkFTSUNNT0RFU0VMRUNUSU9OCiAgICAgICAgewogICAgICAgICAgICBHQ0NfQkFTSUNNT0RFU0VMRUNUSU9OX0RFRkFVTFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgR0NDX0JBU0lDTU9ERVNFTEVDVElPTl9TQ0FMSU5HRkFDVE9SICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEsIC8vITwgVXNlZCBhbG9uZyB3aXRoIER3b3JkNjYgQml0cyAyODoxMQogICAgICAgICAgICBHQ0NfQkFTSUNNT0RFU0VMRUNUSU9OX1NJTkdMRUFYSVNHQU1NQUNPUlJFQ1RJT04gICAgICAgICAgICAgICAgID0gMiwgLy8hPCBVc2VkIGFsb25nIHdpdGggRHdvcmQ2NyBCaXQgMjkKICAgICAgICAgICAgR0NDX0JBU0lDTU9ERVNFTEVDVElPTl9TQ0FMSU5HRkFDVE9SV0lUSEZJWEVETFVNQSAgICAgICAgICAgICAgICA9IDMsIC8vITwgVXNlZCBhbG9uZyB3aXRoIER3b3JkMzcgQml0cyAyODoxMQogICAgICAgIH07CgogICAgICAgIC8vISBcbmFtZSBJbml0aWFsaXphdGlvbnMKCiAgICAgICAgLy8hIFxicmllZiBFeHBsaWNpdCBtZW1iZXIgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24KICAgICAgICBWRUJPWF9HQU1VVF9DT05UUk9MX1NUQVRFX0NNRCgpOwoKICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGR3U2l6ZSA9IDE4OwogICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYnl0ZVNpemUgPSA3MjsKICAgIH07CiAgICAgICAKICAgIC8vIQogICAgLy8hIFxicmllZiBWRUJPWF9QUk9DQU1QX1NUQVRFCiAgICAvLyEgXGRldGFpbHMKICAgIC8vISAgICAgVGhpcyBzdGF0ZSBzdHJ1Y3R1cmUgY29udGFpbnMgdGhlIElFQ1AgU3RhdGUgVGFibGUgQ29udGVudHMgZm9yIFByb2NBbXAKICAgIC8vISAgICAgc3RhdGUuCiAgICAvLyEgICAgIAogICAgc3RydWN0IFZFQk9YX1BST0NBTVBfU1RBVEVfQ01ECiAgICB7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFByb2NhbXBFbmFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDApICAgIDsgLy8hPCBQUk9DQU1QX0VOQUJMRQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEJyaWdodG5lc3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMSwgMTIpICAgIDsgLy8hPCBCUklHSFRORVNTCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQxMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEzLCAxNikgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQ29udHJhc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE3LCAyNykgICAgOyAvLyE8IENPTlRSQVNUCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQyOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI4LCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFNpbkNTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBTSU5fQ19TCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQ29zQ1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IENPU19DX1MKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTsKCiAgICAgICAgLy8hIFxuYW1lIExvY2FsIGVudW1lcmF0aW9ucwoKICAgICAgICBlbnVtIFBST0NBTVBfRU5BQkxFCiAgICAgICAgewogICAgICAgICAgICBQUk9DQU1QX0VOQUJMRV9VTk5BTUVEMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEJSSUdIVE5FU1MKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIEJyaWdodG5lc3MgbWFnbml0dWRlLgogICAgICAgIGVudW0gQlJJR0hUTkVTUwogICAgICAgIHsKICAgICAgICAgICAgQlJJR0hUTkVTU19PUjAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBDT05UUkFTVAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgQ29udHJhc3QgbWFnbml0dWRlLgogICAgICAgIGVudW0gQ09OVFJBU1QKICAgICAgICB7CiAgICAgICAgICAgIENPTlRSQVNUXzEwSU5GSVhFRFBPSU5UVTQ3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBTSU5fQ19TCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBVViBtdWx0aXBsaWNhdGlvbiBzaW5lIGZhY3Rvci4KICAgICAgICBlbnVtIFNJTl9DX1MKICAgICAgICB7CiAgICAgICAgICAgIFNJTl9DX1NfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQ09TX0NfUwogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVVYgbXVsdGlwbGljYXRpb24gY29zaW5lIGZhY3Rvci4KICAgICAgICBlbnVtIENPU19DX1MKICAgICAgICB7CiAgICAgICAgICAgIENPU19DX1NfVU5OQU1FRDI1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxuYW1lIEluaXRpYWxpemF0aW9ucwoKICAgICAgICAvLyEgXGJyaWVmIEV4cGxpY2l0IG1lbWJlciBpbml0aWFsaXphdGlvbiBmdW5jdGlvbgogICAgICAgIFZFQk9YX1BST0NBTVBfU1RBVEVfQ01EKCk7CgogICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgZHdTaXplID0gMjsKICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGJ5dGVTaXplID0gODsKICAgIH07CiAgICAvLyEKICAgIC8vISBcYnJpZWYgVkVCT1hfQ0hfRElSX0ZJTFRFUl9DT0VGRklDSUVOVAogICAgLy8hIFxkZXRhaWxzCiAgICAvLyEgICAgIAogICAgLy8hICAgICAKICAgIHN0cnVjdCBWRUJPWF9DaF9EaXJfRmlsdGVyX0NvZWZmaWNpZW50X0NNRAogICAgewogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgLy8vIERXT1JEIDAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGaWx0ZXJDb2VmZmljaWVudDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA3KSAgICA7IC8vLzwgUzIuNgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZpbHRlckNvZWZmaWNpZW50MSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgMTUpICAgIDsgLy8vPCBTMi42CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRmlsdGVyQ29lZmZpY2llbnQyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAyMykgICAgOyAvLy88IFMyLjYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGaWx0ZXJDb2VmZmljaWVudDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjQsIDMxKSAgICA7IC8vLzwgUzIuNgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgLy8vIERXT1JEIDEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGaWx0ZXJDb2VmZmljaWVudDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA3KSAgICA7IC8vLzwgUzIuNgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZpbHRlckNvZWZmaWNpZW50NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgMTUpICAgIDsgLy8vPCBTMi42CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRmlsdGVyQ29lZmZpY2llbnQ2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAyMykgICAgOyAvLy88IFMyLjYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGaWx0ZXJDb2VmZmljaWVudDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjQsIDMxKSAgICA7IC8vLzwgUzIuNgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxOwoKICAgICAgICAvLyEgXG5hbWUgTG9jYWwgZW51bWVyYXRpb25zCgoKICAgICAgICAvLyEgXG5hbWUgSW5pdGlhbGl6YXRpb25zCgogICAgICAgIC8vISBcYnJpZWYgRXhwbGljaXQgbWVtYmVyIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uCiAgICAgICAgVkVCT1hfQ2hfRGlyX0ZpbHRlcl9Db2VmZmljaWVudF9DTUQoKTsKCiAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBEV19TSVpFID0gMjsKICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IEJZVEVfU0laRSA9IDg7CiAgICB9OwogICAgLy8hCiAgICAvLyEgXGJyaWVmIFZFQk9YX1NUQVRFCiAgICAvLyEgXGRldGFpbHMKICAgIC8vISAgICAgVGhpcyBjb21tYW5kIGNvbnRyb2xzIHRoZSBpbnRlcm5hbCBmdW5jdGlvbnMgb2YgdGhlIFZFQk9YLiBUaGlzIGNvbW1hbmQKICAgIC8vISAgICAgaGFzIGEgc2V0IG9mIGluZGlyZWN0IHN0YXRlIGJ1ZmZlcnM6ICBETi9ESSBzdGF0ZQogICAgLy8hICAgICAgSUVDUCBnZW5lcmFsIHN0YXRlCiAgICAvLyEgICAgICBJRUNQIEdhbXV0IEV4cGFuc2lvbi9Db21wcmVzc2lvbiBzdGF0ZQogICAgLy8hICAgICAgSUVDUCBHYW11dCBWZXJ0ZXggVGFibGUgc3RhdGUKICAgIC8vISAgICAgIENhcHR1cmUgUGlwZSBzdGF0ZQogICAgLy8hICAgICAgCiAgICAvLyEgICAgIAogICAgLy8hICAgICBbRGV2U0tMK106IEFkZHMgdGhlIExBQ0UgTFVUIFRhYmxlIGFzIGFuIGluZGlyZWN0IHN0YXRlIGJ1ZmZlci4KICAgIC8vISAgICAgCiAgICBzdHJ1Y3QgVkVCT1hfU1RBVEVfQ01ECiAgICB7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIER3b3JkTGVuZ3RoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTEpICAgIDsgLy8hPCBEV09SRF9MRU5HVEgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTIsIDE1KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTdWJvcGNvZGVCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDIwKSAgICA7IC8vITwgU1VCT1BDT0RFX0IKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTdWJvcGNvZGVBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjEsIDIzKSAgICA7IC8vITwgU1VCT1BDT0RFX0EKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDb21tYW5kT3Bjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjQsIDI2KSAgICA7IC8vITwgQ09NTUFORF9PUENPREUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBQaXBlbGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjcsIDI4KSAgICA7IC8vITwgUElQRUxJTkUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDb21tYW5kVHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjksIDMxKSAgICA7IC8vITwgQ09NTUFORF9UWVBFCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIENvbG9yR2FtdXRFeHBhbnNpb25FbmFibGUgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDApICAgIDsgLy8hPCBDb2xvciBHYW11dCBFeHBhbnNpb24gRW5hYmxlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQ29sb3JHYW11dENvbXByZXNzaW9uRW5hYmxlICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAxLCAgMSkgICAgOyAvLyE8IENvbG9yIEdhbXV0IENvbXByZXNzaW9uIEVuYWJsZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEdsb2JhbEllY3BFbmFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMiwgIDIpICAgIDsgLy8hPCBHbG9iYWwgSUVDUCBFbmFibGUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbkVuYWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDMsICAzKSAgICA7IC8vITwgRE5fRU5BQkxFCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRGlFbmFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA0LCAgNCkgICAgOyAvLyE8IERJX0VOQUJMRQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERuRGlGaXJzdEZyYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNSwgIDUpICAgIDsgLy8hPCBETkRJX0ZJUlNUX0ZSQU1FCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQzOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA2LCAgNykgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRGlPdXRwdXRGcmFtZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAgOSkgICAgOyAvLyE8IERJX09VVFBVVF9GUkFNRVMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEZW1vc2FpY0VuYWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTAsIDEwKSAgICA7IC8vITwgRGVtb3NhaWMgRW5hYmxlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgVmlnbmV0dGVFbmFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDExLCAxMSkgICAgOyAvLyE8IFZpZ25ldHRlIEVuYWJsZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEFscGhhUGxhbmVFbmFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMiwgMTIpICAgIDsgLy8hPCBBbHBoYSBQbGFuZSBFbmFibGUgCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSG90UGl4ZWxGaWx0ZXJpbmdFbmFibGUgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEzLCAxMykgICAgOyAvLyE8IEhvdCBQaXhlbCBGaWx0ZXJpbmcgRW5hYmxlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ0NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE0LCAxNSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUNvcnJlY3Rpb25FbmFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAxNikgICAgOyAvLyE8IExBQ0UgQ29ycmVjdGlvbiBFbmFibGUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEaXNhYmxlRW5jb2RlclN0YXRpc3RpY3MgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTcsIDE3KSAgICA7IC8vITwgRGlzYWJsZSBFbmNvZGVyIFN0YXRpc3RpY3MKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEaXNhYmxlVGVtcG9yYWxEZW5vaXNlRmlsdGVyICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTgsIDE4KSAgICA7IC8vITwgRGlzYWJsZSBUZW1wb3JhbCBEZW5vaXNlIEZpbHRlcgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFNpbmdsZVBpcGVFbmFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxOSwgMTkpICAgIDsgLy8hPCBTSU5HTEVfUElQRV9FTkFCTEUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTY2FsYXJNb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjAsIDIwKSAgICA7IC8vITwgU2NhbGFyIE1vZGUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR2FtbWFDb3JyZWN0aW9uRW5hYmxlICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjEsIDIxKSAgICA7IC8vITwgRm9yd2FyZCBHYW1tYSBDb3JyZWN0aW9uIEVuYWJsZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEdhbXV0RXhwYW5zaW9uUG9zaXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMiwgMjIpICAgIDsgLy8hPCBHQU1VVF9FWFBBTlNJT05fUE9TSVRJT04KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBIZHJFbmFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjMsIDIzKSAgICA7IC8vITwgSERSIEVuYWJsZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZwMTZNb2RlRW5hYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNCwgMjQpICAgIDsgLy8hPCBGUDE2IG1vZGUgZW5hYmxlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU3RhdGVTdXJmYWNlQ29udHJvbEJpdHMgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI1LCAzMSkgICAgOyAvLyE8IFN0YXRlIFN1cmZhY2UgQ29udHJvbCBCaXRzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERuRGlTdGF0ZVBvaW50ZXJMb3cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMiwgMzEpICAgIDsgLy8hPCBETi9ESSBTdGF0ZSBQb2ludGVyIExvdwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEbkRpU3RhdGVQb2ludGVySGlnaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRE4vREkgU3RhdGUgUG9pbnRlciBIaWdoCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQxMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTI4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEllY3BTdGF0ZVBvaW50ZXJMb3cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMiwgMzEpICAgIDsgLy8hPCBJRUNQIFN0YXRlIFBvaW50ZXIgTG93CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEllY3BTdGF0ZVBvaW50ZXJIaWdoICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJRUNQIFN0YXRlIFBvaW50ZXIgSGlnaAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTc2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDE5MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDExKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBHYW11dEhkclN0YXRlUG9pbnRlckxvdyAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTIsIDMxKSAgICA7IC8vITwgR2FtdXQvSERSIFN0YXRlIFBvaW50ZXIgTG93CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEdhbXV0SGRyU3RhdGVQb2ludGVySGlnaCAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBHYW11dC9IRFIgU3RhdGUgUG9pbnRlciBIaWdoCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQyNDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMjU2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFZlcnRleFRhYmxlU3RhdGVQb2ludGVyTG93ICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMiwgMzEpICAgIDsgLy8hPCBWZXJ0ZXggVGFibGUgU3RhdGUgUG9pbnRlciBMb3cKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgVmVydGV4VGFibGVTdGF0ZVBvaW50ZXJIaWdoICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IFZlcnRleCBUYWJsZSBTdGF0ZSBQb2ludGVyIEhpZ2gKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDMwNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMzIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIENhcHR1cmVQaXBlU3RhdGVQb2ludGVyTG93ICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMiwgMzEpICAgIDsgLy8hPCBDYXB0dXJlIFBpcGUgU3RhdGUgUG9pbnRlciBMb3cKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDYXB0dXJlUGlwZVN0YXRlUG9pbnRlckhpZ2ggICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgQ2FwdHVyZSBQaXBlIFN0YXRlIFBvaW50ZXIgSGlnaAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMzY4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMzg0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VMdXRUYWJsZVN0YXRlUG9pbnRlckxvdyAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMiwgMzEpICAgIDsgLy8hPCBMQUNFIExVVCBUYWJsZSBTdGF0ZSBQb2ludGVyIExvdwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VMdXRUYWJsZVN0YXRlUG9pbnRlckhpZ2ggICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBMQUNFIExVVCBUYWJsZSBTdGF0ZSBQb2ludGVyIEhpZ2gKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDI5KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBBcmJpdHJhdGlvblByaW9yaXR5Q29udHJvbEZvckxhY2VMdXQgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMzAsIDMxKSAgICA7IC8vITwgQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9fRk9SX0xBQ0VfTFVUCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzEzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE0Li4xNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDY0X3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNDQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDY0X3QgICAgICAgICAgICAgICAgIEdhbW1hQ29ycmVjdGlvblZhbHVlc0FkZHJlc3MgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMiwgNjMpICAgIDsgLy8hPCBHYW1tYSBDb3JyZWN0aW9uIFZhbHVlcyBBZGRyZXNzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWVbMl07CiAgICAgICAgfSBEVzE0XzE1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ1MTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTHV0M0RTdGF0ZVBvaW50ZXJMb3cgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEyLCAzMSkgICAgOyAvLyE8IDNEIExVVCBTdGF0ZSBQb2ludGVyIExvdwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxNjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEx1dDNEU3RhdGVQb2ludGVySGlnaCAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCAzRCBMVVQgU3RhdGUgUG9pbnRlciBIaWdoCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTHV0M0RNT0NTdGFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAyMSkgICAgOyAvLyE8IDNEIExVVCBNT0NTIHRhYmxlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ1NjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIyLCAyOCkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRW5jRGF0YUNvbnRyb2xGb3IzRExVVCAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI5LCAyOSkgICAgOyAvLyE8IEVuYyBkYXRhIGNvbnRyb2wgLSBGb3IgM0QgTFVUCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQXJiaXRyYXRpb25Qcmlvcml0eUNvbnRyb2xGb3JMdXQzRCAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDMwLCAzMSkgICAgOyAvLyE8IEFSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0xfX0ZPUl8zRF9MVVQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDaHJvbWFVcHNhbXBsaW5nQ29TaXRlZEhvcml6b250YWxPZmZzZXQgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICAxKSAgICA7IC8vITwgQ0hST01BX1VQU0FNUExJTkdfQ09fU0lURURfSE9SSVpPTlRBTF9PRkZTRVQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDaHJvbWFVcHNhbXBsaW5nQ29TaXRlZFZlcnRpY2FsT2Zmc2V0ICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDIsICA0KSAgICA7IC8vITwgQ0hST01BX1VQU0FNUExJTkdfQ09fU0lURURfVkVSVElDQUxfT0ZGU0VUCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQ2hyb21hRG93bnNhbXBsaW5nQ29TaXRlZEhvcml6b250YWxPZmZzZXQgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA1LCAgNikgICAgOyAvLyE8IENIUk9NQV9ET1dOU0FNUExJTkdfQ09fU0lURURfSE9SSVpPTlRBTF9PRkZTRVQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDaHJvbWFEb3duc2FtcGxpbmdDb1NpdGVkVmVydGljYWxPZmZzZXQgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDcsICA5KSAgICA7IC8vITwgQ0hST01BX0RPV05TQU1QTElOR19DT19TSVRFRF9WRVJUSUNBTF9PRkZTRVQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBCeXBhc3NDaHJvbWFVcHNhbXBsaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTAsIDEwKSAgICA7IC8vITwgQllQQVNTX0NIUk9NQV9VUFNBTVBMSU5HCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQnlwYXNzQ2hyb21hRG93bnNhbXBsaW5nICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDExLCAxMSkgICAgOyAvLyE8IEJZUEFTU19DSFJPTUFfRE9XTlNBTVBMSU5HCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRnJhbWVTdGF0aXN0aWNzSWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEyLCAxMykgICAgOyAvLyE8IEZyYW1lIHN0YXRpc3RpY3MgSUQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDU5MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTQsIDI4KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMdXQzRFNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjksIDMwKSAgICA7IC8vITwgXzNEX0xVVF9TSVpFCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTHV0M0RFbmFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDMxLCAzMSkgICAgOyAvLyE8IF8zRF9MVVRfRU5BQkxFCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE4OwoKICAgICAgICAvLyEgXG5hbWUgTG9jYWwgZW51bWVyYXRpb25zCgogICAgICAgIGVudW0gU1VCT1BDT0RFX0IKICAgICAgICB7CiAgICAgICAgICAgIFNVQk9QQ09ERV9CX1VOTkFNRUQyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gU1VCT1BDT0RFX0EKICAgICAgICB7CiAgICAgICAgICAgIFNVQk9QQ09ERV9BX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gQ09NTUFORF9PUENPREUKICAgICAgICB7CiAgICAgICAgICAgIENPTU1BTkRfT1BDT0RFX1ZFQk9YICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gUElQRUxJTkUKICAgICAgICB7CiAgICAgICAgICAgIFBJUEVMSU5FX01FRElBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gQ09NTUFORF9UWVBFCiAgICAgICAgewogICAgICAgICAgICBDT01NQU5EX1RZUEVfUEFSQUxMRUxWSURFT1BJUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMywgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEROX0VOQUJMRQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgRGVub2lzZSBpcyBieXBhc3NlZCBpZiB0aGlzIGlzIGxvdyAtIEJORSBpcyBzdGlsbCBjYWxjdWxhdGVkIGFuZCBvdXRwdXQsCiAgICAgICAgLy8hICAgICBidXQgdGhlIGRlbm9pc2VkIGZpZWxkcyBhcmUgbm90LiBWREkgZG9lcyBub3QgcmVhZCBpbiB0aGUgZGVub2lzZWQKICAgICAgICAvLyEgICAgIHByZXZpb3VzIGZyYW1lIGJ1dCB1c2VzIHRoZSBwb2ludGVyIGZvciB0aGUgb3JpZ2luYWwgcHJldmlvdXMgZnJhbWUuCiAgICAgICAgZW51bSBETl9FTkFCTEUKICAgICAgICB7CiAgICAgICAgICAgIEROX0VOQUJMRV9ET05PVERFTk9JU0VGUkFNRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBETl9FTkFCTEVfREVOT0lTRUZSQU1FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIERJX0VOQUJMRQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgRGVpbnRlcmxhY2VyIGlzIGJ5cGFzc2VkIGlmIHRoaXMgaXMgZGlzYWJsZWQ6ICB0aGUgb3V0cHV0IGlzIHRoZSBzYW1lIGFzCiAgICAgICAgLy8hICAgICB0aGUgaW5wdXQgKHNhbWUgYXMgYSAyOjIgY2FkZW5jZSkuIAogICAgICAgIC8vISAgICAgICAgICAgICAgICAgICAgICAgICBGTUQgYW5kIFNUTU0gYXJlIG5vdCBjYWxjdWxhdGVkIGFuZCB0aGUgdmFsdWVzIGluIHRoZSByZXNwb25zZQogICAgICAgIC8vISAgICAgbWVzc2FnZSBhcmUgMC4KICAgICAgICBlbnVtIERJX0VOQUJMRQogICAgICAgIHsKICAgICAgICAgICAgRElfRU5BQkxFX0RPTk9UQ0FMQ1VMQVRFREkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIERJX0VOQUJMRV9DQUxDVUxBVEVESSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgRE5ESV9GSVJTVF9GUkFNRQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgSW5kaWNhdGVzIHRoYXQgdGhpcyBpcyB0aGUgZmlyc3QgZnJhbWUgb2YgdGhlIHN0cmVhbSwgc28gcHJldmlvdXMgY2xlYW4KICAgICAgICAvLyEgICAgIGlzIG5vdCBhdmFpbGFibGUuCiAgICAgICAgZW51bSBETkRJX0ZJUlNUX0ZSQU1FCiAgICAgICAgewogICAgICAgICAgICBETkRJX0ZJUlNUX0ZSQU1FX05PVEZJUlNURklFTERfUFJFVklPVVNDTEVBTlNVUkZBQ0VTVEFURUlTVkFMSUQgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgRE5ESV9GSVJTVF9GUkFNRV9GSVJTVEZJRUxEX1BSRVZJT1VTQ0xFQU5TVVJGQUNFU1RBVEVJU0lOVkFMSUQgICA9IDEsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBESV9PVVRQVVRfRlJBTUVTCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBJbmRpY2F0ZXMgd2hpY2ggZnJhbWVzIHRvIG91dHB1dCBpbiBESSBtb2RlLgogICAgICAgIGVudW0gRElfT1VUUFVUX0ZSQU1FUwogICAgICAgIHsKICAgICAgICAgICAgRElfT1VUUFVUX0ZSQU1FU19PVVRQVVRCT1RIRlJBTUVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIERJX09VVFBVVF9GUkFNRVNfT1VUUFVUUFJFVklPVVNGUkFNRU9OTFkgICAgICAgICAgICAgICAgICAgICAgICAgPSAxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBESV9PVVRQVVRfRlJBTUVTX09VVFBVVENVUlJFTlRGUkFNRU9OTFkgICAgICAgICAgICAgICAgICAgICAgICAgID0gMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFNJTkdMRV9QSVBFX0VOQUJMRQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgSW5kaWNhdGVzIHRoYXQgdGhlIENhcHR1cmUgUGlwZSBmZWF0dXJlcyB0aGF0IG9ubHkgZXhpc3QgaW4gYSBzaW5nbGUKICAgICAgICAvLyEgICAgIHBpcGUgY2FuIGJlIGVuYWJsZWQuCiAgICAgICAgZW51bSBTSU5HTEVfUElQRV9FTkFCTEUKICAgICAgICB7CiAgICAgICAgICAgIFNJTkdMRV9QSVBFX0VOQUJMRV9ERUZBVUxUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBTSU5HTEVfUElQRV9FTkFCTEVfRU5BQkxFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEdBTVVUX0VYUEFOU0lPTl9QT1NJVElPTgogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgPHA+SWYgR2FtdXQgRXhwYW5zaW9uIGlzIGVuYWJsZWQsIGl0IGNhbiBiZSBjb25maWd1cmVkIGVpdGhlciBpbiBmcm9udAogICAgICAgIC8vISAgICAgb3IgYmFja2VuZCBvZiB0aGUgSUVDUCBwaXBlIHVzaW5nIHRoaXMgYml0LjwvcD4KICAgICAgICBlbnVtIEdBTVVUX0VYUEFOU0lPTl9QT1NJVElPTgogICAgICAgIHsKICAgICAgICAgICAgR0FNVVRfRVhQQU5TSU9OX1BPU0lUSU9OX0dBTVVURVhQQU5TSU9OQVRUSEVCQUNLRU5ET0ZJRUNQUElQRSAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIEdBTVVUX0VYUEFOU0lPTl9QT1NJVElPTl9HQU1VVEVYUEFOU0lPTkFUVEhFRlJPTlRPRklFQ1BQSVBFICAgICAgPSAxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9fRk9SX0xBQ0VfTFVUCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGlzIGZpZWxkIGNvbnRyb2xzIHRoZSBwcmlvcml0eSBvZiBhcmJpdHJhdGlvbiB1c2VkIGluIHRoZSBHQUMvR0FNCiAgICAgICAgLy8hICAgICBwaXBlbGluZSBmb3IgdGhpcyBzdXJmYWNlLgogICAgICAgIGVudW0gQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9fRk9SX0xBQ0VfTFVUCiAgICAgICAgewogICAgICAgICAgICBBUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MX0ZPUl9MQUNFX0xVVF9ISUdIRVNUUFJJT1JJVFkgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9GT1JfTEFDRV9MVVRfU0VDT05ESElHSEVTVFBSSU9SSVRZICA9IDEsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIEFSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0xfRk9SX0xBQ0VfTFVUX1RISVJESElHSEVTVFBSSU9SSVRZICAgPSAyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBBUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MX0ZPUl9MQUNFX0xVVF9MT1dFU1RQUklPUklUWSAgICAgICAgID0gMywgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEFSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0xfX0ZPUl8zRF9MVVQKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIDxwPlRoaXMgZmllbGQgY29udHJvbHMgdGhlIHByaW9yaXR5IG9mIGFyYml0cmF0aW9uIHVzZWQgaW4gdGhlIEdBQy9HQU0KICAgICAgICAvLyEgICAgIHBpcGVsaW5lIGZvciB0aGlzIHN1cmZhY2UuPC9wPgogICAgICAgIGVudW0gQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9fRk9SXzNEX0xVVAogICAgICAgIHsKICAgICAgICAgICAgQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9GT1JfM0RfTFVUX0hJR0hFU1RQUklPUklUWSAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIEFSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0xfRk9SXzNEX0xVVF9TRUNPTkRISUdIRVNUUFJJT1JJVFkgICAgPSAxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBBUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MX0ZPUl8zRF9MVVRfVEhJUkRISUdIRVNUUFJJT1JJVFkgICAgID0gMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9GT1JfM0RfTFVUX0xPV0VTVFBSSU9SSVRZICAgICAgICAgICA9IDMsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBDSFJPTUFfVVBTQU1QTElOR19DT19TSVRFRF9IT1JJWk9OVEFMX09GRlNFVAogICAgICAgIHsKICAgICAgICAgICAgQ0hST01BX1VQU0FNUExJTkdfQ09fU0lURURfSE9SSVpPTlRBTF9PRkZTRVRfVU5OQU1FRDAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBDSFJPTUFfVVBTQU1QTElOR19DT19TSVRFRF9WRVJUSUNBTF9PRkZTRVQKICAgICAgICB7CiAgICAgICAgICAgIENIUk9NQV9VUFNBTVBMSU5HX0NPX1NJVEVEX1ZFUlRJQ0FMX09GRlNFVF9VTk5BTUVEMCAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gQ0hST01BX0RPV05TQU1QTElOR19DT19TSVRFRF9IT1JJWk9OVEFMX09GRlNFVAogICAgICAgIHsKICAgICAgICAgICAgQ0hST01BX0RPV05TQU1QTElOR19DT19TSVRFRF9IT1JJWk9OVEFMX09GRlNFVF9VTk5BTUVEMCAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBDSFJPTUFfRE9XTlNBTVBMSU5HX0NPX1NJVEVEX1ZFUlRJQ0FMX09GRlNFVAogICAgICAgIHsKICAgICAgICAgICAgQ0hST01BX0RPV05TQU1QTElOR19DT19TSVRFRF9WRVJUSUNBTF9PRkZTRVRfVU5OQU1FRDAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBCWVBBU1NfQ0hST01BX1VQU0FNUExJTkcKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIDxiPldoZW4gZW5hYmxlZCB3aWxsIHJlcGxpY2F0ZSBjaHJvbWEgc2FtcGxlcyBhdCBvZGQgcG9zaXRpb24gYW5kIG5vdAogICAgICAgIC8vISAgICAgdXNlIHRoZSBjby1zaXRlZCBvZmZzZXRzLjwvYj4KICAgICAgICBlbnVtIEJZUEFTU19DSFJPTUFfVVBTQU1QTElORwogICAgICAgIHsKICAgICAgICAgICAgQllQQVNTX0NIUk9NQV9VUFNBTVBMSU5HX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBCWVBBU1NfQ0hST01BX0RPV05TQU1QTElORwogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgPGI+V2hlbiBlbmFibGVkIHdpbGwgZHJvcCBjaHJvbWEgc2FtcGxlcyBhdCBvZGQgcG9zaXRpb24gYW5kIG5vdCB1c2UgdGhlCiAgICAgICAgLy8hICAgICBjby1zaXRlZCBvZmZzZXRzLjwvYj4KICAgICAgICBlbnVtIEJZUEFTU19DSFJPTUFfRE9XTlNBTVBMSU5HCiAgICAgICAgewogICAgICAgICAgICBCWVBBU1NfQ0hST01BX0RPV05TQU1QTElOR19VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIF8zRF9MVVRfU0laRQogICAgICAgIHsKICAgICAgICAgICAgXzNEX0xVVF9TSVpFXzMzWDMzWDMzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIF8zRF9MVVRfU0laRV8xN1gxN1gxNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBfM0RfTFVUX1NJWkVfNjVYNjVYNjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIF8zRF9MVVRfRU5BQkxFCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICA8Yj4zRCBMVVQgaXMgcmVxdWlyZWQgb25seSBpZiB0aGlzIGlzIGVuYWJsZWQuPC9iPgogICAgICAgIGVudW0gXzNEX0xVVF9FTkFCTEUKICAgICAgICB7CiAgICAgICAgICAgIF8zRF9MVVRfRU5BQkxFX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcbmFtZSBJbml0aWFsaXphdGlvbnMKCiAgICAgICAgLy8hIFxicmllZiBFeHBsaWNpdCBtZW1iZXIgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24KICAgICAgICBWRUJPWF9TVEFURV9DTUQoKTsKCiAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBkd1NpemUgPSAxOTsKICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGJ5dGVTaXplID0gNzY7CiAgICB9OwogICAgLy8hIFxicmllZiBWRUJPWF9TVERfU1RFX1NUQVRFCiAgICAvLyEgXGRldGFpbHMKICAgIC8vISAgICAgVGhpcyBzdGF0ZSBzdHJ1Y3R1cmUgY29udGFpbnMgdGhlIHN0YXRlIHVzZWQgYnkgdGhlIFNURC9TVEUgZnVuY3Rpb24uCiAgICAvLyEgICAgIAogICAgc3RydWN0IFZFQk9YX1NURF9TVEVfU1RBVEVfQ01ECiAgICB7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFN0ZEVuYWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDApICAgIDsgLy8hPCBTVEQgRW5hYmxlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU3RlRW5hYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAxLCAgMSkgICAgOyAvLyE8IFNURSBFbmFibGUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBPdXRwdXRDb250cm9sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDIsICAyKSAgICA7IC8vITwgT1VUUFVUX0NPTlRST0wKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDMsICAzKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTYXRNYXggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDQsICA5KSAgICA7IC8vITwgU0FUX01BWAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEh1ZU1heCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMCwgMTUpICAgIDsgLy8hPCBIVUVfTUFYCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgVU1pZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAyMykgICAgOyAvLyE8IFVfTUlECiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgVk1pZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI0LCAzMSkgICAgOyAvLyE8IFZfTUlECiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFNpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDcpICAgIDsgLy8hPCBTSU4/CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAgOSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQ29zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEwLCAxNykgICAgOyAvLyE8IENPUz8KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBIc01hcmdpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTgsIDIwKSAgICA7IC8vITwgSFNfTUFSR0lOCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRGlhbW9uZER1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIxLCAyNykgICAgOyAvLyE8IERJQU1PTkRfRFUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEaWFtb25kTWFyZ2luICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjgsIDMwKSAgICA7IC8vITwgRElBTU9ORF9NQVJHSU4KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTdGRTY29yZU91dHB1dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMzEsIDMxKSAgICA7IC8vITwgU1REIFNjb3JlIE91dHB1dAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEaWFtb25kRHYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA2KSAgICA7IC8vITwgRElBTU9ORF9EVgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERpYW1vbmRUaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNywgMTIpICAgIDsgLy8hPCBESUFNT05EX1RICiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRGlhbW9uZEFscGhhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEzLCAyMCkgICAgOyAvLyE8IERJQU1PTkRfQUxQSEEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDg1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjEsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ5NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgNikgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgVnlTdGRFbmFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA3LCAgNykgICAgOyAvLyE8IFZZX1NURF9FbmFibGUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBZUG9pbnQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDgsIDE1KSAgICA7IC8vITwgWV9QT0lOVF8xCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgWVBvaW50MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAyMykgICAgOyAvLyE8IFlfUE9JTlRfMgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFlQb2ludDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNCwgMzEpICAgIDsgLy8hPCBZX1BPSU5UXzMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgWVBvaW50NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgNykgICAgOyAvLyE8IFlfUE9JTlRfNAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFlTbG9wZTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgMTIpICAgIDsgLy8hPCBZX1NMT1BFXzEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBZU2xvcGUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTMsIDE3KSAgICA7IC8vITwgWV9TTE9QRV8yCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQxNDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE4LCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludk1hcmdpblZ5bCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZfTWFyZ2luX1ZZTAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludlNraW5UeXBlc01hcmdpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZfU0tJTl9UWVBFU19NQVJHSU4KICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52TWFyZ2luVnl1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVl9NQVJHSU5fVllVCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUDBMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAyMykgICAgOyAvLyE8IFAwTAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFAxTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNCwgMzEpICAgIDsgLy8hPCBQMUwKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUDJMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgNykgICAgOyAvLyE8IFAyTAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFAzTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgMTUpICAgIDsgLy8hPCBQM0wKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBCMEwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDIzKSAgICA7IC8vITwgQjBMCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQjFMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI0LCAzMSkgICAgOyAvLyE8IEIxTAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBCMkwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA3KSAgICA7IC8vITwgQjJMCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQjNMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAxNSkgICAgOyAvLyE8IEIzTAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFMwTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjYpICAgIDsgLy8hPCBTMEwKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDI4MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjcsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUzFMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxMCkgICAgOyAvLyE8IFMxTAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFMyTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMSwgMjEpICAgIDsgLy8hPCBTMkwKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDMxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjIsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFMzTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTApICAgIDsgLy8hPCBTM0wKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBQMFUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTEsIDE4KSAgICA7IC8vITwgUDBVCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUDFVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE5LCAyNikgICAgOyAvLyE8IFAxVQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMzQ3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNywgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFAyVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDcpICAgIDsgLy8hPCBQMlUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBQM1UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDgsIDE1KSAgICA7IC8vITwgUDNVCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQjBVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAyMykgICAgOyAvLyE8IEIwVQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEIxVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNCwgMzEpICAgIDsgLy8hPCBCMVUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBCMlUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA3KSAgICA7IC8vITwgQjJVCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQjNVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAxNSkgICAgOyAvLyE8IEIzVQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFMwVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjYpICAgIDsgLy8hPCBTMFUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDQxMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjcsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTMVUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDEwKSAgICA7IC8vITwgUzFVCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUzJVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDExLCAyMSkgICAgOyAvLyE8IFMyVQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNDM4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyMiwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFMzVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTApICAgIDsgLy8hPCBTM1UKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTa2luVHlwZXNFbmFibGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTEsIDExKSAgICA7IC8vITwgU0tJTl9UWVBFU19FTkFCTEUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTa2luVHlwZXNUaHJlc2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTIsIDE5KSAgICA7IC8vITwgU0tJTl9UWVBFU19USFJFU0gKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTa2luVHlwZXNNYXJnaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjAsIDI3KSAgICA7IC8vITwgU0tJTl9UWVBFU19NQVJHSU4KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDQ3NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjgsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTYXRwMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA2KSAgICA7IC8vITwgU0FUUDEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTYXRwMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDcsIDEzKSAgICA7IC8vITwgU0FUUDIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTYXRwMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTQsIDIwKSAgICA7IC8vITwgU0FUUDMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTYXRiMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjEsIDMwKSAgICA7IC8vITwgU0FUQjEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDUxMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMzEsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTYXRiMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA5KSAgICA7IC8vITwgU0FUQjIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTYXRiMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTAsIDE5KSAgICA7IC8vITwgU0FUQjMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTYXRzMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjAsIDMwKSAgICA7IC8vITwgU0FUUzAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDU0MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMzEsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTYXRzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDEwKSAgICA7IC8vITwgU0FUUzEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTYXRzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTEsIDIxKSAgICA7IC8vITwgU0FUUzIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDU2NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjIsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTYXRzMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDEwKSAgICA7IC8vITwgU0FUUzMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBIdWVwMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTEsIDE3KSAgICA7IC8vITwgSFVFUDEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBIdWVwMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTgsIDI0KSAgICA7IC8vITwgSFVFUDIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBIdWVwMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjUsIDMxKSAgICA7IC8vITwgSFVFUDMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBIdWViMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA5KSAgICA7IC8vITwgSFVFQjEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBIdWViMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTAsIDE5KSAgICA7IC8vITwgSFVFQjIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBIdWViMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjAsIDI5KSAgICA7IC8vITwgSFVFQjMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDYzOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMzAsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMjAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBIdWVzMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDEwKSAgICA7IC8vITwgSFVFUzAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBIdWVzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTEsIDIxKSAgICA7IC8vITwgSFVFUzEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDY2MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjIsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMjEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBIdWVzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDEwKSAgICA7IC8vITwgSFVFUzIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBIdWVzMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTEsIDIxKSAgICA7IC8vITwgSFVFUzMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDY5NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjIsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMjIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTYXRwMURhcmsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA2KSAgICA7IC8vITwgU0FUUDFfREFSSwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFNhdHAyRGFyayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNywgMTMpICAgIDsgLy8hPCBTQVRQMl9EQVJLCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU2F0cDNEYXJrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE0LCAyMCkgICAgOyAvLyE8IFNBVFAzX0RBUksKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTYXRiMURhcmsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjEsIDMwKSAgICA7IC8vITwgU0FUQjFfREFSSwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNzM1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMSwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAyMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFNhdGIyRGFyayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDkpICAgIDsgLy8hPCBTQVRCMl9EQVJLCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU2F0YjNEYXJrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEwLCAxOSkgICAgOyAvLyE8IFNBVEIzX0RBUksKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTYXRzMERhcmsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjAsIDMwKSAgICA7IC8vITwgU0FUUzBfREFSSwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNzY3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMSwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyMzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAyNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFNhdHMxRGFyayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTApICAgIDsgLy8hPCBTQVRTMV9EQVJLCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU2F0czJEYXJrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDExLCAyMSkgICAgOyAvLyE8IFNBVFMyX0RBUksKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDc5MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjIsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMjUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTYXRzM0RhcmsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDEwKSAgICA7IC8vITwgU0FUUzNfREFSSwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEh1ZXAxRGFyayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMSwgMTcpICAgIDsgLy8hPCBIVUVQMV9EQVJLCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSHVlcDJEYXJrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE4LCAyNCkgICAgOyAvLyE8IEhVRVAyX0RBUksKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBIdWVwM0RhcmsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjUsIDMxKSAgICA7IC8vITwgSFVFUDNfREFSSwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyNTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAyNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEh1ZWIxRGFyayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDkpICAgIDsgLy8hPCBIVUVCMV9EQVJLCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSHVlYjJEYXJrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEwLCAxOSkgICAgOyAvLyE8IEhVRUIyX0RBUksKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBIdWViM0RhcmsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjAsIDI5KSAgICA7IC8vITwgSFVFQjNfREFSSwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkODYyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMCwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyNjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAyNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEh1ZXMwRGFyayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTApICAgIDsgLy8hPCBIVUVTMF9EQVJLCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSHVlczFEYXJrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDExLCAyMSkgICAgOyAvLyE8IEhVRVMxX0RBUksKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDg4NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjIsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMjgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBIdWVzMkRhcmsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDEwKSAgICA7IC8vITwgSFVFUzJfREFSSwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEh1ZXMzRGFyayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMSwgMjEpICAgIDsgLy8hPCBIVUVTM19EQVJLCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ5MTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIyLCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzI4OwoKICAgICAgICAvLyEgXG5hbWUgTG9jYWwgZW51bWVyYXRpb25zCgogICAgICAgIGVudW0gT1VUUFVUX0NPTlRST0wKICAgICAgICB7CiAgICAgICAgICAgIE9VVFBVVF9DT05UUk9MX09VVFBVVFBJWEVMUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBPVVRQVVRfQ09OVFJPTF9PVVRQVVRTVERERUNJU0lPTlMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFNBVF9NQVgKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFJlY3RhbmdsZSBoYWxmIGxlbmd0aC4KICAgICAgICBlbnVtIFNBVF9NQVgKICAgICAgICB7CiAgICAgICAgICAgIFNBVF9NQVhfVU5OQU1FRDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzMSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEhVRV9NQVgKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFJlY3RhbmdsZSBoYWxmIHdpZHRoLgogICAgICAgIGVudW0gSFVFX01BWAogICAgICAgIHsKICAgICAgICAgICAgSFVFX01BWF9VTk5BTUVEMTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDE0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgVV9NSUQKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFJlY3RhbmdsZSBtaWRkbGUtcG9pbnQgVSBjb29yZGluYXRlLgogICAgICAgIGVudW0gVV9NSUQKICAgICAgICB7CiAgICAgICAgICAgIFVfTUlEX1VOTkFNRUQxMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMTAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBWX01JRAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgUmVjdGFuZ2xlIG1pZGRsZS1wb2ludCBWIGNvb3JkaW5hdGUuCiAgICAgICAgZW51bSBWX01JRAogICAgICAgIHsKICAgICAgICAgICAgVl9NSURfVU5OQU1FRDE1NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDE1NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFNJTj8KICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSBkZWZhdWx0IGlzIDEwMS8xMjgKICAgICAgICBlbnVtIFNJTkEKICAgICAgICB7CiAgICAgICAgICAgIFNJTl9VTk5BTUVEMTAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMDEsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBDT1M/CiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgZGVmYXVsdCBpcyA3OS8xMjgKICAgICAgICBlbnVtIENPU0EKICAgICAgICB7CiAgICAgICAgICAgIENPU19VTk5BTUVENzkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA3OSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEhTX01BUkdJTgogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgRGVmaW5lcyByZWN0YW5nbGUgbWFyZ2luLgogICAgICAgIGVudW0gSFNfTUFSR0lOCiAgICAgICAgewogICAgICAgICAgICBIU19NQVJHSU5fVU5OQU1FRDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMywgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIERJQU1PTkRfRFUKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFJob21idXMgY2VudGVyIHNoaWZ0IGluIHRoZSBzYXQtZGlyZWN0aW9uLCByZWxhdGl2ZSB0byB0aGUgcmVjdGFuZ2xlCiAgICAgICAgLy8hICAgICBjZW50ZXIuCiAgICAgICAgZW51bSBESUFNT05EX0RVCiAgICAgICAgewogICAgICAgICAgICBESUFNT05EX0RVX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIERJQU1PTkRfTUFSR0lOCiAgICAgICAgewogICAgICAgICAgICBESUFNT05EX01BUkdJTl9VTk5BTUVENCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIERJQU1PTkRfRFYKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFJob21idXMgY2VudGVyIHNoaWZ0IGluIHRoZSBodWUtZGlyZWN0aW9uLCByZWxhdGl2ZSB0byB0aGUgcmVjdGFuZ2xlCiAgICAgICAgLy8hICAgICBjZW50ZXIuCiAgICAgICAgZW51bSBESUFNT05EX0RWCiAgICAgICAgewogICAgICAgICAgICBESUFNT05EX0RWX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIERJQU1PTkRfVEgKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIEhhbGYgbGVuZ3RoIG9mIHRoZSByaG9tYnVzIGF4aXMgaW4gdGhlIHNhdC1kaXJlY3Rpb24uCiAgICAgICAgZW51bSBESUFNT05EX1RICiAgICAgICAgewogICAgICAgICAgICBESUFNT05EX1RIX1VOTkFNRUQzNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzUsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBESUFNT05EX0FMUEhBCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICAxL3RhbijfKQogICAgICAgIC8vISAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyAxMDAvNjQKICAgICAgICBlbnVtIERJQU1PTkRfQUxQSEEKICAgICAgICB7CiAgICAgICAgICAgIERJQU1PTkRfQUxQSEFfVU5OQU1FRDEwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBZX1BPSU5UXzEKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIEZpcnN0IHBvaW50IG9mIHRoZSBZIHBpZWNld2lzZSBsaW5lYXIgbWVtYmVyc2hpcCBmdW5jdGlvbi4KICAgICAgICBlbnVtIFlfUE9JTlRfMQogICAgICAgIHsKICAgICAgICAgICAgWV9QT0lOVF8xX1VOTkFNRUQ0NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgWV9QT0lOVF8yCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBTZWNvbmQgcG9pbnQgb2YgdGhlIFkgcGllY2V3aXNlIGxpbmVhciBtZW1iZXJzaGlwIGZ1bmN0aW9uLgogICAgICAgIGVudW0gWV9QT0lOVF8yCiAgICAgICAgewogICAgICAgICAgICBZX1BPSU5UXzJfVU5OQU1FRDQ3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDcsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBZX1BPSU5UXzMKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoaXJkIHBvaW50IG9mIHRoZSBZIHBpZWNld2lzZSBsaW5lYXIgbWVtYmVyc2hpcCBmdW5jdGlvbi4KICAgICAgICBlbnVtIFlfUE9JTlRfMwogICAgICAgIHsKICAgICAgICAgICAgWV9QT0lOVF8zX1VOTkFNRUQyNTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI1NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFlfUE9JTlRfNAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgRm91cnRoIHBvaW50IG9mIHRoZSBZIHBpZWNld2lzZSBsaW5lYXIgbWVtYmVyc2hpcCBmdW5jdGlvbi4KICAgICAgICBlbnVtIFlfUE9JTlRfNAogICAgICAgIHsKICAgICAgICAgICAgWV9QT0lOVF80X1VOTkFNRUQyNTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI1NSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFlfU0xPUEVfMQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgU2xvcGUgYmV0d2VlbiBwb2ludHMgWTEgYW5kIFkyLgogICAgICAgIGVudW0gWV9TTE9QRV8xCiAgICAgICAgewogICAgICAgICAgICBZX1NMT1BFXzFfVU5OQU1FRDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzEsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBZX1NMT1BFXzIKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFNsb3BlIGJldHdlZW4gcG9pbnRzIFkzIGFuZCBZNC4KICAgICAgICBlbnVtIFlfU0xPUEVfMgogICAgICAgIHsKICAgICAgICAgICAgWV9TTE9QRV8yX1VOTkFNRUQzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgSU5WX1NLSU5fVFlQRVNfTUFSR0lOCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICAxLygyKiBTa2luX3R5cGVzX21hcmdpbikKICAgICAgICBlbnVtIElOVl9TS0lOX1RZUEVTX01BUkdJTgogICAgICAgIHsKICAgICAgICAgICAgSU5WX1NLSU5fVFlQRVNfTUFSR0lOX1NLSU5UWVBFTUFSR0lOICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgSU5WX01BUkdJTl9WWVUKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIDEgLyBNYXJnaW5fVllVID0gMTYwMC82NTUzNgogICAgICAgIGVudW0gSU5WX01BUkdJTl9WWVUKICAgICAgICB7CiAgICAgICAgICAgIElOVl9NQVJHSU5fVllVX1VOTkFNRUQxNjAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxNjAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgUDBMCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBZIFBvaW50IDAgb2YgdGhlIGxvd2VyIHBhcnQgb2YgdGhlIGRldGVjdGlvbiBQV0xGLgogICAgICAgIGVudW0gUDBMCiAgICAgICAgewogICAgICAgICAgICBQMExfVU5OQU1FRDQ2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBQMUwKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFkgUG9pbnQgMSBvZiB0aGUgbG93ZXIgcGFydCBvZiB0aGUgZGV0ZWN0aW9uIFBXTEYuCiAgICAgICAgZW51bSBQMUwKICAgICAgICB7CiAgICAgICAgICAgIFAxTF9VTk5BTUVEMjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyMTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBQMkwKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFkgUG9pbnQgMiBvZiB0aGUgbG93ZXIgcGFydCBvZiB0aGUgZGV0ZWN0aW9uIFBXTEYuCiAgICAgICAgZW51bSBQMkwKICAgICAgICB7CiAgICAgICAgICAgIFAyTF9VTk5BTUVEMjM2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyMzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBQM0wKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFkgUG9pbnQgMyBvZiB0aGUgbG93ZXIgcGFydCBvZiB0aGUgZGV0ZWN0aW9uIFBXTEYuCiAgICAgICAgZW51bSBQM0wKICAgICAgICB7CiAgICAgICAgICAgIFAzTF9VTk5BTUVEMjM2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyMzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBCMEwKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFYgQmlhcyAwIG9mIHRoZSBsb3dlciBwYXJ0IG9mIHRoZSBkZXRlY3Rpb24gUFdMRi4KICAgICAgICBlbnVtIEIwTAogICAgICAgIHsKICAgICAgICAgICAgQjBMX1VOTkFNRUQxMzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEzMywgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEIxTAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgViBCaWFzIDEgb2YgdGhlIGxvd2VyIHBhcnQgb2YgdGhlIGRldGVjdGlvbiBQV0xGLgogICAgICAgIGVudW0gQjFMCiAgICAgICAgewogICAgICAgICAgICBCMUxfVU5OQU1FRDEzMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTMwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQjJMCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBWIEJpYXMgMiBvZiB0aGUgbG93ZXIgcGFydCBvZiB0aGUgZGV0ZWN0aW9uIFBXTEYuCiAgICAgICAgZW51bSBCMkwKICAgICAgICB7CiAgICAgICAgICAgIEIyTF9VTk5BTUVEMTMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMzAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBCM0wKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFYgQmlhcyAzIG9mIHRoZSBsb3dlciBwYXJ0IG9mIHRoZSBkZXRlY3Rpb24gUFdMRi4KICAgICAgICBlbnVtIEIzTAogICAgICAgIHsKICAgICAgICAgICAgQjNMX1VOTkFNRUQxMzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEzMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFMwTAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgU2xvcGUgMCBvZiB0aGUgbG93ZXIgcGFydCBvZiB0aGUgZGV0ZWN0aW9uIFBXTEYuCiAgICAgICAgZW51bSBTMEwKICAgICAgICB7CiAgICAgICAgICAgIFMwTF9VTk5BTUVEMjA0MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyMDQzLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgUzFMCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBTbG9wZSAxIG9mIHRoZSBsb3dlciBwYXJ0IG9mIHRoZSBkZXRlY3Rpb24gUFdMRi4KICAgICAgICBlbnVtIFMxTAogICAgICAgIHsKICAgICAgICAgICAgUzFMX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBTMkwKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSBkZWZhdWx0IGlzIDAvMjU2CiAgICAgICAgZW51bSBTMkwKICAgICAgICB7CiAgICAgICAgICAgIFMyTF9VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgUzNMCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBTbG9wZSAzIG9mIHRoZSBsb3dlciBwYXJ0IG9mIHRoZSBkZXRlY3Rpb24gUFdMRi4KICAgICAgICBlbnVtIFMzTAogICAgICAgIHsKICAgICAgICAgICAgUzNMX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBQMFUKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFkgUG9pbnQgMCBvZiB0aGUgdXBwZXIgcGFydCBvZiB0aGUgZGV0ZWN0aW9uIFBXTEYuCiAgICAgICAgZW51bSBQMFUKICAgICAgICB7CiAgICAgICAgICAgIFAwVV9VTk5BTUVENDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFAxVQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgWSBQb2ludCAxIG9mIHRoZSB1cHBlciBwYXJ0IG9mIHRoZSBkZXRlY3Rpb24gUFdMRi4KICAgICAgICBlbnVtIFAxVQogICAgICAgIHsKICAgICAgICAgICAgUDFVX1VOTkFNRUQ2NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDY2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgUDJVCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBZIFBvaW50IDIgb2YgdGhlIHVwcGVyIHBhcnQgb2YgdGhlIGRldGVjdGlvbiBQV0xGLgogICAgICAgIGVudW0gUDJVCiAgICAgICAgewogICAgICAgICAgICBQMlVfVU5OQU1FRDE1MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTUwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgUDNVCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBZIFBvaW50IDMgb2YgdGhlIHVwcGVyIHBhcnQgb2YgdGhlIGRldGVjdGlvbiBQV0xGLgogICAgICAgIGVudW0gUDNVCiAgICAgICAgewogICAgICAgICAgICBQM1VfVU5OQU1FRDIzNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQjBVCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBWIEJpYXMgMCBvZiB0aGUgdXBwZXIgcGFydCBvZiB0aGUgZGV0ZWN0aW9uIFBXTEYuCiAgICAgICAgZW51bSBCMFUKICAgICAgICB7CiAgICAgICAgICAgIEIwVV9VTk5BTUVEMTQzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxNDMsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBCMVUKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFYgQmlhcyAxIG9mIHRoZSB1cHBlciBwYXJ0IG9mIHRoZSBkZXRlY3Rpb24gUFdMRi4KICAgICAgICBlbnVtIEIxVQogICAgICAgIHsKICAgICAgICAgICAgQjFVX1VOTkFNRUQxNjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDE2MywgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEIyVQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgViBCaWFzIDIgb2YgdGhlIHVwcGVyIHBhcnQgb2YgdGhlIGRldGVjdGlvbiBQV0xGLgogICAgICAgIGVudW0gQjJVCiAgICAgICAgewogICAgICAgICAgICBCMlVfVU5OQU1FRDIwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQjNVCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBWIEJpYXMgMyBvZiB0aGUgdXBwZXIgcGFydCBvZiB0aGUgZGV0ZWN0aW9uIFBXTEYuCiAgICAgICAgZW51bSBCM1UKICAgICAgICB7CiAgICAgICAgICAgIEIzVV9VTk5BTUVEMjAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyMDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBTMFUKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFNsb3BlIDAgb2YgdGhlIHVwcGVyIHBhcnQgb2YgdGhlIGRldGVjdGlvbiBQV0xGLgogICAgICAgIGVudW0gUzBVCiAgICAgICAgewogICAgICAgICAgICBTMFVfVU5OQU1FRDI1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgUzFVCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBTbG9wZSAxIG9mIHRoZSB1cHBlciBwYXJ0IG9mIHRoZSBkZXRlY3Rpb24gUFdMRi4KICAgICAgICBlbnVtIFMxVQogICAgICAgIHsKICAgICAgICAgICAgUzFVX1VOTkFNRUQxMTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDExMywgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFMyVQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgU2xvcGUgMiBvZiB0aGUgdXBwZXIgcGFydCBvZiB0aGUgZGV0ZWN0aW9uIFBXTEYuCiAgICAgICAgZW51bSBTMlUKICAgICAgICB7CiAgICAgICAgICAgIFMyVV9VTk5BTUVEMTg2OSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTg2OSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFMzVQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgU2xvcGUgMyBvZiB0aGUgdXBwZXIgcGFydCBvZiB0aGUgZGV0ZWN0aW9uIFBXTEYuCiAgICAgICAgZW51bSBTM1UKICAgICAgICB7CiAgICAgICAgICAgIFMzVV9VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgU0tJTl9UWVBFU19FTkFCTEUKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRyZWF0IGRpZmZlcmVudGx5IGJyaWdodCBhbmQgZGFyayBza2luIHR5cGVzCiAgICAgICAgZW51bSBTS0lOX1RZUEVTX0VOQUJMRQogICAgICAgIHsKICAgICAgICAgICAgU0tJTl9UWVBFU19FTkFCTEVfRElTQUJMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBTS0lOX1RZUEVTX1RIUkVTSAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgU2tpbiB0eXBlcyBZIG1hcmdpbgogICAgICAgIC8vISAgICAgICAgICAgICAgICAgICAgICAgICBSZXN0cmljdCBTa2luX3R5cGVzX3RocmVzaCAmZ3Q7PSBTa2luX3R5cGVzX21hcmdpbiAmZ3Q7IDAKICAgICAgICAvLyEgICAgICAgICAgICAgICAgICAgICAgICAgUmVzdHJpY3QgKFNraW5fdHlwZXNfdGhyZXNoICsgU2tpbl90eXBlc19tYXJnaW4pICZsdDs9IDI1NQogICAgICAgIGVudW0gU0tJTl9UWVBFU19USFJFU0gKICAgICAgICB7CiAgICAgICAgICAgIFNLSU5fVFlQRVNfVEhSRVNIX1VOTkFNRUQxMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBTS0lOX1RZUEVTX01BUkdJTgogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgU2tpbiB0eXBlcyBZIG1hcmdpbgogICAgICAgIC8vISAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzdHJpY3QgU2tpbl90eXBlc190aHJlc2ggJmd0Oz0gU2tpbl90eXBlc19tYXJnaW4gJmd0OyAwCiAgICAgICAgLy8hICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXN0cmljdCAoU2tpbl90eXBlc190aHJlc2ggKyBTa2luX3R5cGVzX21hcmdpbikgJmx0Oz0gMjU1CiAgICAgICAgZW51bSBTS0lOX1RZUEVTX01BUkdJTgogICAgICAgIHsKICAgICAgICAgICAgU0tJTl9UWVBFU19NQVJHSU5fVU5OQU1FRDIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgU0FUUDEKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIEZpcnN0IHBvaW50IGZvciB0aGUgc2F0dXJhdGlvbiBQV0xGIChicmlnaHQgc2tpbikuCiAgICAgICAgZW51bSBTQVRQMQogICAgICAgIHsKICAgICAgICAgICAgU0FUUDFfVU5OQU1FRDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBTQVRQMgogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgU2Vjb25kIHBvaW50IGZvciB0aGUgc2F0dXJhdGlvbiBQV0xGIChicmlnaHQgc2tpbikuCiAgICAgICAgZW51bSBTQVRQMgogICAgICAgIHsKICAgICAgICAgICAgU0FUUDJfVU5OQU1FRDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBTQVRQMwogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhpcmQgcG9pbnQgZm9yIHRoZSBzYXR1cmF0aW9uIFBXTEYgKGJyaWdodCBza2luKS4KICAgICAgICBlbnVtIFNBVFAzCiAgICAgICAgewogICAgICAgICAgICBTQVRQM19VTk5BTUVEMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzEsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBTQVRCMQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgRmlyc3QgYmlhcyBmb3IgdGhlIHNhdHVyYXRpb24gUFdMRiAoYnJpZ2h0IHNraW4pLgogICAgICAgIGVudW0gU0FUQjEKICAgICAgICB7CiAgICAgICAgICAgIFNBVEIxX1VOTkFNRUQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgU0FUQjIKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFNlY29uZCBiaWFzIGZvciB0aGUgc2F0dXJhdGlvbiBQV0xGIChicmlnaHQgc2tpbikKICAgICAgICBlbnVtIFNBVEIyCiAgICAgICAgewogICAgICAgICAgICBTQVRCMl9VTk5BTUVEOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFNBVEIzCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGlyZCBiaWFzIGZvciB0aGUgc2F0dXJhdGlvbiBQV0xGIChicmlnaHQgc2tpbikKICAgICAgICBlbnVtIFNBVEIzCiAgICAgICAgewogICAgICAgICAgICBTQVRCM19VTk5BTUVEMTI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgU0FUUzAKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFplcm90aCBzbG9wZSBmb3IgdGhlIHNhdHVyYXRpb24gUFdMRiAoYnJpZ2h0IHNraW4pCiAgICAgICAgZW51bSBTQVRTMAogICAgICAgIHsKICAgICAgICAgICAgU0FUUzBfVU5OQU1FRDI5NyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI5NywgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFNBVFMxCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBGaXJzdCBzbG9wZSBmb3IgdGhlIHNhdHVyYXRpb24gUFdMRiAoYnJpZ2h0IHNraW4pCiAgICAgICAgZW51bSBTQVRTMQogICAgICAgIHsKICAgICAgICAgICAgU0FUUzFfVU5OQU1FRDg1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDg1LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgU0FUUzIKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFNlY29uZCBzbG9wZSBmb3IgdGhlIHNhdHVyYXRpb24gUFdMRiAoYnJpZ2h0IHNraW4pCiAgICAgICAgZW51bSBTQVRTMgogICAgICAgIHsKICAgICAgICAgICAgU0FUUzJfVU5OQU1FRDI5NyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI5NywgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFNBVFMzCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGlyZCBzbG9wZSBmb3IgdGhlIHNhdHVyYXRpb24gUFdMRiAoYnJpZ2h0IHNraW4pCiAgICAgICAgZW51bSBTQVRTMwogICAgICAgIHsKICAgICAgICAgICAgU0FUUzNfVU5OQU1FRDI1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEhVRVAxCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBGaXJzdCBwb2ludCBmb3IgdGhlIGh1ZSBQV0xGIChicmlnaHQgc2tpbikKICAgICAgICBlbnVtIEhVRVAxCiAgICAgICAgewogICAgICAgICAgICBIVUVQMV82ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTIyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgSFVFUDIKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFNlY29uZCBwb2ludCBmb3IgdGhlIGh1ZSBQV0xGIChicmlnaHQgc2tpbikKICAgICAgICBlbnVtIEhVRVAyCiAgICAgICAgewogICAgICAgICAgICBIVUVQMl9VTk5BTUVENiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEhVRVAzCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGlyZCBwb2ludCBmb3IgdGhlIGh1ZSBQV0xGIChicmlnaHQgc2tpbikKICAgICAgICBlbnVtIEhVRVAzCiAgICAgICAgewogICAgICAgICAgICBIVUVQM19VTk5BTUVEMTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBIVUVCMQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgRmlyc3QgYmlhcyBmb3IgdGhlIGh1ZSBQV0xGIChicmlnaHQgc2tpbikKICAgICAgICBlbnVtIEhVRUIxCiAgICAgICAgewogICAgICAgICAgICBIVUVCMV9VTk5BTUVEOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEhVRUIyCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBTZWNvbmQgYmlhcyBmb3IgdGhlIGh1ZSBQV0xGIChicmlnaHQgc2tpbikKICAgICAgICBlbnVtIEhVRUIyCiAgICAgICAgewogICAgICAgICAgICBIVUVCMl9VTk5BTUVEOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEhVRUIzCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGlyZCBiaWFzIGZvciB0aGUgaHVlIFBXTEYgKGJyaWdodCBza2luKQogICAgICAgIGVudW0gSFVFQjMKICAgICAgICB7CiAgICAgICAgICAgIEhVRUIzX1VOTkFNRUQ1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEhVRVMwCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBaZXJvdGggc2xvcGUgZm9yIHRoZSBodWUgUFdMRiAoYnJpZ2h0IHNraW4pCiAgICAgICAgZW51bSBIVUVTMAogICAgICAgIHsKICAgICAgICAgICAgSFVFUzBfVU5OQU1FRDM4NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDM4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEhVRVMxCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBGaXJzdCBzbG9wZSBmb3IgdGhlIGh1ZSBQV0xGIChicmlnaHQgc2tpbikKICAgICAgICBlbnVtIEhVRVMxCiAgICAgICAgewogICAgICAgICAgICBIVUVTMV9VTk5BTUVEODUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gODUsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBIVUVTMgogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgU2Vjb25kIHNsb3BlIGZvciB0aGUgaHVlIFBXTEYgKGJyaWdodCBza2luKQogICAgICAgIGVudW0gSFVFUzIKICAgICAgICB7CiAgICAgICAgICAgIEhVRVMyX1VOTkFNRUQzODQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBIVUVTMwogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhpcmQgc2xvcGUgZm9yIHRoZSBodWUgUFdMRiAoYnJpZ2h0IHNraW4pCiAgICAgICAgZW51bSBIVUVTMwogICAgICAgIHsKICAgICAgICAgICAgSFVFUzNfVU5OQU1FRDI1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFNBVFAxX0RBUksKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIEZpcnN0IHBvaW50IGZvciB0aGUgc2F0dXJhdGlvbiBQV0xGIChkYXJrIHNraW4pCiAgICAgICAgLy8hICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQgVmFsdWU6IC01CiAgICAgICAgZW51bSBTQVRQMV9EQVJLCiAgICAgICAgewogICAgICAgICAgICBTQVRQMV9EQVJLX1VOTkFNRUQxMjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEyMywgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFNBVFAyX0RBUksKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFNlY29uZCBwb2ludCBmb3IgdGhlIHNhdHVyYXRpb24gUFdMRiAoZGFyayBza2luKQogICAgICAgIGVudW0gU0FUUDJfREFSSwogICAgICAgIHsKICAgICAgICAgICAgU0FUUDJfREFSS19VTk5BTUVEMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgU0FUUDNfREFSSwogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhpcmQgcG9pbnQgZm9yIHRoZSBzYXR1cmF0aW9uIFBXTEYgKGRhcmsgc2tpbikKICAgICAgICBlbnVtIFNBVFAzX0RBUksKICAgICAgICB7CiAgICAgICAgICAgIFNBVFAzX0RBUktfVU5OQU1FRDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzMSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFNBVEIxX0RBUksKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIEZpcnN0IGJpYXMgZm9yIHRoZSBzYXR1cmF0aW9uIFBXTEYgKGRhcmsgc2tpbikKICAgICAgICBlbnVtIFNBVEIxX0RBUksKICAgICAgICB7CiAgICAgICAgICAgIFNBVEIxX0RBUktfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgU0FUQjJfREFSSwogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgU2Vjb25kIGJpYXMgZm9yIHRoZSBzYXR1cmF0aW9uIFBXTEYgKGRhcmsgc2tpbikKICAgICAgICBlbnVtIFNBVEIyX0RBUksKICAgICAgICB7CiAgICAgICAgICAgIFNBVEIyX0RBUktfVU5OQU1FRDEyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBTQVRCM19EQVJLCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGlyZCBiaWFzIGZvciB0aGUgc2F0dXJhdGlvbiBQV0xGIChkYXJrIHNraW4pCiAgICAgICAgZW51bSBTQVRCM19EQVJLCiAgICAgICAgewogICAgICAgICAgICBTQVRCM19EQVJLX1VOTkFNRUQxMjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgU0FUUzBfREFSSwogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgWmVyb3RoIHNsb3BlIGZvciB0aGUgc2F0dXJhdGlvbiBQV0xGIChkYXJrIHNraW4pCiAgICAgICAgZW51bSBTQVRTMF9EQVJLCiAgICAgICAgewogICAgICAgICAgICBTQVRTMF9EQVJLX1VOTkFNRUQzOTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzk3LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgU0FUUzFfREFSSwogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgRmlyc3Qgc2xvcGUgZm9yIHRoZSBzYXR1cmF0aW9uIFBXTEYgKGRhcmsgc2tpbikKICAgICAgICBlbnVtIFNBVFMxX0RBUksKICAgICAgICB7CiAgICAgICAgICAgIFNBVFMxX0RBUktfVU5OQU1FRDE4OSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxODksIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBTQVRTMl9EQVJLCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBTZWNvbmQgc2xvcGUgZm9yIHRoZSBzYXR1cmF0aW9uIFBXTEYgKGRhcmsgc2tpbikKICAgICAgICBlbnVtIFNBVFMyX0RBUksKICAgICAgICB7CiAgICAgICAgICAgIFNBVFMyX0RBUktfVU5OQU1FRDI1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBTQVRTM19EQVJLCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGlyZCBzbG9wZSBmb3IgdGhlIHNhdHVyYXRpb24gUFdMRiAoZGFyayBza2luKQogICAgICAgIGVudW0gU0FUUzNfREFSSwogICAgICAgIHsKICAgICAgICAgICAgU0FUUzNfREFSS19VTk5BTUVEMjU2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEhVRVAxX0RBUksKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIEZpcnN0IHBvaW50IGZvciB0aGUgaHVlIFBXTEYgKGRhcmsgc2tpbikuCiAgICAgICAgZW51bSBIVUVQMV9EQVJLCiAgICAgICAgewogICAgICAgICAgICBIVUVQMV9EQVJLX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEhVRVAyX0RBUksKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFNlY29uZCBwb2ludCBmb3IgdGhlIGh1ZSBQV0xGIChkYXJrIHNraW4pLgogICAgICAgIGVudW0gSFVFUDJfREFSSwogICAgICAgIHsKICAgICAgICAgICAgSFVFUDJfREFSS19VTk5BTUVEMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBIVUVQM19EQVJLCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGlyZCBwb2ludCBmb3IgdGhlIGh1ZSBQV0xGIChkYXJrIHNraW4pLgogICAgICAgIGVudW0gSFVFUDNfREFSSwogICAgICAgIHsKICAgICAgICAgICAgSFVFUDNfREFSS19VTk5BTUVEMTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDE0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgSFVFQjFfREFSSwogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgRmlyc3QgYmlhcyBmb3IgdGhlIGh1ZSBQV0xGIChkYXJrIHNraW4pLgogICAgICAgIGVudW0gSFVFQjFfREFSSwogICAgICAgIHsKICAgICAgICAgICAgSFVFQjFfREFSS19VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBIVUVCMl9EQVJLCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBTZWNvbmQgYmlhcyBmb3IgdGhlIGh1ZSBQV0xGIChkYXJrIHNraW4pLgogICAgICAgIGVudW0gSFVFQjJfREFSSwogICAgICAgIHsKICAgICAgICAgICAgSFVFQjJfREFSS19VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBIVUVCM19EQVJLCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGlyZCBiaWFzIGZvciB0aGUgaHVlIFBXTEYgKGRhcmsgc2tpbikuCiAgICAgICAgZW51bSBIVUVCM19EQVJLCiAgICAgICAgewogICAgICAgICAgICBIVUVCM19EQVJLX1VOTkFNRUQ1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBIVUVTMF9EQVJLCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBaZXJvdGggc2xvcGUgZm9yIHRoZSBodWUgUFdMRiAoZGFyayBza2luKS4KICAgICAgICBlbnVtIEhVRVMwX0RBUksKICAgICAgICB7CiAgICAgICAgICAgIEhVRVMwX0RBUktfVU5OQU1FRDI5OSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyOTksIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBIVUVTMV9EQVJLCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBGaXJzdCBzbG9wZSBmb3IgdGhlIGh1ZSBQV0xGIChkYXJrIHNraW4pLgogICAgICAgIGVudW0gSFVFUzFfREFSSwogICAgICAgIHsKICAgICAgICAgICAgSFVFUzFfREFSS19VTk5BTUVEMjU2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEhVRVMyX0RBUksKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFNlY29uZCBzbG9wZSBmb3IgdGhlIGh1ZSBQV0xGIChkYXJrIHNraW4pLgogICAgICAgIGVudW0gSFVFUzJfREFSSwogICAgICAgIHsKICAgICAgICAgICAgSFVFUzJfREFSS19VTk5BTUVEMjk5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI5OSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEhVRVMzX0RBUksKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoaXJkIHNsb3BlIGZvciB0aGUgaHVlIFBXTEYgKGRhcmsgc2tpbikuCiAgICAgICAgZW51bSBIVUVTM19EQVJLCiAgICAgICAgewogICAgICAgICAgICBIVUVTM19EQVJLX1VOTkFNRUQyNTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcbmFtZSBJbml0aWFsaXphdGlvbnMKCiAgICAgICAgLy8hIFxicmllZiBFeHBsaWNpdCBtZW1iZXIgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24KICAgICAgICBWRUJPWF9TVERfU1RFX1NUQVRFX0NNRCgpOwoKICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGR3U2l6ZSA9IDI5OwogICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYnl0ZVNpemUgPSAxMTY7CiAgICB9OwoKICAgIC8vIQogICAgLy8hIFxicmllZiBWRUJPWF9TVVJGQUNFX1NUQVRFCiAgICAvLyEgXGRldGFpbHMKICAgIC8vISAgICAgVGhlIGlucHV0IGFuZCBvdXRwdXQgZGF0YSBjb250YWluZXJzIGFjY2Vzc2VkIGFyZSBjYWxsZWQgInN1cmZhY2VzIi4KICAgIC8vISAgICAgU3VyZmFjZSBzdGF0ZSBpcyBzZW50IHRvIFZFQk9YIHZpYSBhbiBpbmxpbmUgc3RhdGUgY29tbWFuZCByYXRoZXIgdGhhbgogICAgLy8hICAgICB1c2luZyBiaW5kaW5nIHRhYmxlcy4gU1VSRkFDRV9TVEFURSBjb250YWlucyB0aGUgcGFyYW1ldGVycyBkZWZpbmluZwogICAgLy8hICAgICBlYWNoIHN1cmZhY2UgdG8gYmUgYWNjZXNzZWQsIGluY2x1ZGluZyBpdHMgc2l6ZSwgZm9ybWF0LCBhbmQgb2Zmc2V0cyB0bwogICAgLy8hICAgICBpdHMgc3Vic3VyZmFjZXMuIFRoZSBzdXJmYWNlJ3MgYmFzZSBhZGRyZXNzIGlzIGluIHRoZSBleGVjdXRpb24gY29tbWFuZC4KICAgIC8vISAgICAgRGVzcGl0ZSBoYXZpbmcgbXVsdGlwbGUgaW5wdXQgYW5kIG91dHB1dCBzdXJmYWNlcywgd2UgbGltaXQgdGhlIG51bWJlcgogICAgLy8hICAgICBvZiBzdXJmYWNlIHN0YXRlcyB0byBvbmUgZm9yIGlucHV0IHN1cmZhY2VzIGFuZCBvbmUgZm9yIG91dHB1dCBzdXJmYWNlcy4KICAgIC8vISAgICAgVGhlIG90aGVyIHN1cmZhY2VzIGFyZSBkZXJpdmVkIGZyb20gdGhlIGlucHV0L291dHB1dCBzdXJmYWNlIHN0YXRlcy4KICAgIC8vISAgICAgCiAgICAvLyEgICAgIFRoZSBDdXJyZW50IEZyYW1lIElucHV0IHN1cmZhY2UgdXNlcyB0aGUgSW5wdXQgU1VSRkFDRV9TVEFURQogICAgLy8hICAgICAKICAgIC8vISAgICAgVGhlIFByZXZpb3VzIERlbm9pc2VkIElucHV0IHN1cmZhY2UgdXNlcyB0aGUgSW5wdXQgU1VSRkFDRV9TVEFURS4gKEZvcgogICAgLy8hICAgICAxNi1iaXQgQmF5ZXIgcGF0dGVybiBpbnB1dHMgdGhpcyB3aWxsIGJlIDE2LWJpdC4pCiAgICAvLyEgICAgIAogICAgLy8hICAgICBUaGUgQ3VycmVudCBEZW5vaXNlZCBPdXRwdXQgc3VyZmFjZSB1c2VzIHRoZSBJbnB1dCBTVVJGQUNFX1NUQVRFLiAoRm9yCiAgICAvLyEgICAgIDE2LWJpdCBCYXllciBwYXR0ZXJuIGlucHV0cyB0aGlzIHdpbGwgYmUgMTYtYml0LikKICAgIC8vISAgICAgCiAgICAvLyEgICAgIFRoZSBTVE1NL05vaXNlIEhpc3RvcnkgSW5wdXQgc3VyZmFjZSB1c2VzIHRoZSBJbnB1dCBTVVJGQUNFX1NUQVRFIHdpdGgKICAgIC8vISAgICAgVGlsZS1ZIGFuZCBXaWR0aC9IZWlnaHQgYSBtdWx0aXBsZSBvZiA0LgogICAgLy8hICAgICAKICAgIC8vISAgICAgVGhlIFNUTU0vTm9pc2UgSGlzdG9yeSBPdXRwdXQgc3VyZmFjZSB1c2VzIHRoZSBJbnB1dCBTVVJGQUNFX1NUQVRFIHdpdGgKICAgIC8vISAgICAgVGlsZS1ZIGFuZCBXaWR0aC9IZWlnaHQgYSBtdWx0aXBsZSBvZiA0LgogICAgLy8hICAgICAKICAgIC8vISAgICAgVGhlIEN1cnJlbnQgRGVpbnRlcmxhY2VkL0lFQ1AgRnJhbWUgT3V0cHV0IHN1cmZhY2UgdXNlcyB0aGUgT3V0cHV0CiAgICAvLyEgICAgIFNVUkZBQ0VfU1RBVEUuCiAgICAvLyEgICAgIAogICAgLy8hICAgICBUaGUgUHJldmlvdXMgRGVpbnRlcmxhY2VkL0lFQ1AgRnJhbWUgT3V0cHV0IHN1cmZhY2UgdXNlcyB0aGUgT3V0cHV0CiAgICAvLyEgICAgIFNVUkZBQ0VfU1RBVEUuCiAgICAvLyEgICAgIAogICAgLy8hICAgICBUaGUgRk1EIHBlciBibG9jayBvdXRwdXQgLyBwZXIgRnJhbWUgT3V0cHV0IHN1cmZhY2UgdXNlcyB0aGUgTGluZWFyCiAgICAvLyEgICAgIFNVUkZBQ0VfU1RBVEUgKHNlZSBub3RlIGJlbG93KS4KICAgIC8vISAgICAgCiAgICAvLyEgICAgIFRoZSBBbHBoYSBzdXJmYWNlIHVzZXMgdGhlIExpbmVhciBBOCBTVVJGQUNFX1NUQVRFIHdpdGggV2lkdGgvSGVpZ2h0CiAgICAvLyEgICAgIGVxdWFsIHRvIElucHV0IFN1cmZhY2UuIFBpdGNoIGlzIHdpZHRoIHJvdW5kZWQgdG8gbmV4dCA2NC4KICAgIC8vISAgICAgCiAgICAvLyEgICAgIFRoZSBTa2luIFNjb3JlIHN1cmZhY2UgdXNlcyB0aGUgT3V0cHV0IFNVUkZBQ0VfU1RBVEUuCiAgICAvLyEgICAgIAogICAgLy8hICAgICBUaGUgU1RNTSBoZWlnaHQgaXMgdGhlIHNhbWUgYXMgdGhlIElucHV0IFN1cmZhY2UgaGVpZ2h0IGV4Y2VwdCB3aGVuIHRoZQogICAgLy8hICAgICBpbnB1dCBTdXJmYWNlIEZvcm1hdCBpcyBCYXllciBQYXR0ZXJuIGFuZCB0aGUgQmF5ZXIgUGF0dGVybiBPZmZzZXQgaXMgMTAKICAgIC8vISAgICAgb3IgMTEsIGluICB3aGljaCBjYXNlIHRoZSBoZWlnaHQgaXMgdGhlIGlucHV0IGhlaWdodCArIDQuIEZvciBCYXllcgogICAgLy8hICAgICBwYXR0ZXJuIGlucHV0cyB3aGVuIHRoZSBCYXllciBQYXR0ZXJuIE9mZnNldCBpcyAxMCBvciAxMSwgdGhlIEN1cnJlbnQKICAgIC8vISAgICAgRGVub2lzZWQgT3V0cHV0L1ByZXZpb3VzIERlbm9pc2VkIElucHV0IHdpbGwgYWxzbyBoYXZlIGEgaGVpZ2h0IHdoaWNoIGlzCiAgICAvLyEgICAgIHRoZSBpbnB1dCBoZWlnaHQgKyA0LiBGb3IgQmF5ZXIgcGF0dGVybiBpbnB1dHMgb25seSB0aGUgQ3VycmVudCBEZW5vaXNlZAogICAgLy8hICAgICBPdXRwdXQvUHJldmlvdXMgRGVub2lzZWQgSW5wdXQgYXJlIGluIFRpbGUtWS4KICAgIC8vISAgICAgCiAgICAvLyEgICAgIFRoZSBsaW5lYXIgc3VyZmFjZSBmb3IgRk1EIHN0YXRpc3RpY3MgaXMgbGluZWFyIChub3QgdGlsZWQpLiBUaGUgaGVpZ2h0CiAgICAvLyEgICAgIG9mIHRoZSBwZXIgYmxvY2sgc3RhdGlzdGljcyBpcyAoSW5wdXQgSGVpZ2h0ICszKS80IC0gdGhlIElucHV0IFN1cmZhY2UKICAgIC8vISAgICAgaGVpZ2h0IGluIHBpeGVscyBpcyByb3VuZGVkIHVwIHRvIHRoZSBuZXh0IGV2ZW4gNCBhbmQgZGl2aWRlZCBieSA0LiBUaGUKICAgIC8vISAgICAgd2lkdGggb2YgdGhlIHBlciBibG9jayBzZWN0aW9uIGluIGJ5dGVzIGlzIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUKICAgIC8vISAgICAgSW5wdXQgU3VyZmFjZSBpbiBwaXhlbHMgcm91bmRlZCB1cCB0byB0aGUgbmV4dCAxNiBieXRlcy4gVGhlIHBpdGNoIG9mCiAgICAvLyEgICAgIHRoZSBwZXIgYmxvY2sgc2VjdGlvbiBpbiBieXRlcyBpcyBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIElucHV0CiAgICAvLyEgICAgIFN1cmZhY2UgaW4gcGl4ZWxzIHJvdW5kZWQgdXAgdG8gdGhlIG5leHQgNjQgYnl0ZXMuCiAgICAvLyEgICAgIAogICAgLy8hICAgICBUaGUgU1RNTSBzdXJmYWNlcyBtdXN0IGJlIGlkZW50aWNhbCB0byB0aGUgSW5wdXQgc3VyZmFjZSBleGNlcHQgZm9yIHRoZQogICAgLy8hICAgICB0aWxpbmcgbW9kZSBtdXN0IGJlIFRpbGUtWSBhbmQgdGhlIHBpdGNoIGlzIHNwZWNpZmllZCBpbiBEVzcuIFRoZSBwaXRjaAogICAgLy8hICAgICBmb3IgdGhlIEN1cnJlbnQgRGVub2lzZWQgT3V0cHV0L1ByZXZpb3VzIERlbm9pc2VkIElucHV0IGlzIHNwZWNpZmllZCBpbgogICAgLy8hICAgICBEVzcuIFRoZSB3aWR0aCBhbmQgaGVpZ2h0IG11c3QgYmUgYSBtdWx0aXBsZSBvZiA0IHJvdW5kZWQgdXAgZnJvbSB0aGUKICAgIC8vISAgICAgaW5wdXQgaGVpZ2h0LgogICAgLy8hICAgICAKICAgIC8vISAgICAgVGhlIFZpZ25ldHRlIENvcnJlY3Rpb24gc3VyZmFjZSB1c2VzIHRoZSBMaW5lYXIgMTYtYml0IFNVUkZBQ0VfU1RBVEUKICAgIC8vISAgICAgd2l0aCA6CiAgICAvLyEgICAgIFdpZHRoPShDZWlsKEltYWdlIFdpZHRoIC8gNCkgKzEpICogNAogICAgLy8hICAgICBIZWlnaHQ9IENlaWwoSW1hZ2UgSGVpZ2h0IC8gNCkgKzEKICAgIC8vISAgICAgUGl0Y2ggaW4gYnl0ZXMgaXMgKHZpZ25ldHRlIHdpZHRoICoyKSByb3VuZGVkIHRvIHRoZSBuZXh0IDY0CiAgICAvLyEgICAgIAogICAgLy8hICAgICBWRUJPWCBtYXkgd3JpdGUgdG8gbWVtb3J5IGJldHdlZW4gdGhlIHN1cmZhY2Ugd2lkdGggYW5kIHRoZSBzdXJmYWNlCiAgICAvLyEgICAgIHBpdGNoIGZvciBvdXRwdXQgc3VyZmFjZXMuCiAgICAvLyEgICAgIAogICAgLy8hICAgICBWRUJPWCBjYW4gc3VwcG9ydCBhIGZyYW1lIGxldmVsIFgvWSBvZmZzZXQgd2hpY2ggYWxsb3dzIHByb2Nlc3Npbmcgb2YgMgogICAgLy8hICAgICBzaWRlLWJ5LXNpZGUgZnJhbWVzIGZvciBjZXJ0YWluIDNEIHZpZGVvIGZvcm1hdHMuCiAgICAvLyEgICAgIAogICAgLy8hICAgICBUaGUgWC9ZIE9mZnNldCBmb3IgRnJhbWUgc3RhdGUgYXBwbGllcyBvbmx5IHRvIHRoZSBDdXJyZW50IEZyYW1lIElucHV0CiAgICAvLyEgICAgIGFuZCB0aGUgQ3VycmVudCBEZWludGVybGFjZWQvSUVDUCBGcmFtZSBPdXRwdXQgYW5kIFByZXZpb3VzCiAgICAvLyEgICAgIERlaW50ZXJsYWNlZC9JRUNQIEZyYW1lIE91dHB1dC4gVGhlIHN0YXRpc3RpY3Mgc3VyZmFjZXMsIHRoZSBkZW5vaXNlCiAgICAvLyEgICAgIGZlZWRiYWNrIHN1cmZhY2VzIGFuZCB0aGUgYWxwaGEvdmlnbmV0dGUgc3VyZmFjZXMgaGF2ZSBubyBYL1kgb2Zmc2V0cy4KICAgIC8vISAgICAgCiAgICAvLyEgICAgIEZvciA4Yml0IEFscGhhIGlucHV0LCB3aGVuIGNvbnZlcnRlZCB0byAxNmJpdCBvdXRwdXQsIHRoZSA4IGJpdCBhbHBoYQogICAgLy8hICAgICB2YWx1ZSBpcyByZXBsaWNhdGVkIHRvIGJvdGggdGhlIHVwcGVyIGFuZCBsb3dlciA4IGJpdHMgdG8gZm9ybSB0aGUgMTYKICAgIC8vISAgICAgYml0IGFscGhhIHZhbHVlLgogICAgLy8hICAgICAKICAgIC8vISAgICAgU2tpbiBTY29yZSBPdXRwdXQgU3VyZmFjZSB1c2VzIHRoZSBzYW1lIHRpbGluZyBmb3JtYXQgYXMgdGhlIE91dHB1dAogICAgLy8hICAgICBzdXJmYWNlLgogICAgLy8hICAgICAKICAgIC8vISAgICAgVGhlIGlucHV0IGFuZCBPdXRwdXQgc3VyZmFjZSBmb3Igc2NhbGFyIGlzIGRlZmluZWQgYnkgdGhpcyBjb21tYW5kLgogICAgLy8hICAgICBEZXJpdmVkIHBpdGNoIGlzIG5vdCB1c2VkIHdpdGggdGhlIHNjYWxhciBjb21tYW5kLgogICAgLy8hICAgICAKICAgIHN0cnVjdCBWRUJPWF9TVVJGQUNFX1NUQVRFX0NNRAogICAgewogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEd29yZExlbmd0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDExKSAgICA7IC8vITwgRFdPUkRfTEVOR1RICiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEyLCAxNSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU3Vib3Bjb2RlQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAyMCkgICAgOyAvLyE8IFNVQk9QQ09ERV9CCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU3Vib3Bjb2RlQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIxLCAyMykgICAgOyAvLyE8IFNVQk9QQ09ERV9BCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTWVkaWFDb21tYW5kT3Bjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI0LCAyNikgICAgOyAvLyE8IE1FRElBX0NPTU1BTkRfT1BDT0RFCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTWVkaWFDb21tYW5kUGlwZWxpbmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI3LCAyOCkgICAgOyAvLyE8IE1FRElBX0NPTU1BTkRfUElQRUxJTkUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDb21tYW5kVHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjksIDMxKSAgICA7IC8vITwgQ09NTUFORF9UWVBFCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFN1cmZhY2VJZGVudGlmaWNhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDApICAgIDsgLy8hPCBTVVJGQUNFX0lERU5USUZJQ0FUSU9OCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQzMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAxLCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDMpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFdpZHRoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNCwgMTcpICAgIDsgLy8hPCBXaWR0aAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEhlaWdodCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxOCwgMzEpICAgIDsgLy8hPCBIZWlnaHQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgVGlsZVdhbGsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgMCkgICAgOyAvLyE8IFRJTEVfV0FMSwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFRpbGVkU3VyZmFjZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMSwgIDEpICAgIDsgLy8hPCBUSUxFRF9TVVJGQUNFCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSGFsZlBpdGNoRm9yQ2hyb21hICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAyLCAgMikgICAgOyAvLyE8IEhhbGYgUGl0Y2ggZm9yIENocm9tYQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFN1cmZhY2VQaXRjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMywgMTkpICAgIDsgLy8hPCBTdXJmYWNlIFBpdGNoCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW50ZXJsZWF2ZUNocm9tYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIwLCAyMCkgICAgOyAvLy88IFUxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQxMTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIxLCAyMSkgICAgOyAvLy88IFUxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQmF5ZXJJbnB1dEFsaWdubWVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIyLCAyMykgICAgOyAvLy88IFUyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQmF5ZXJQYXR0ZXJuRm9ybWF0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI0LCAyNCkgICAgOyAvLy88IFUxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQmF5ZXJQYXR0ZXJuT2Zmc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI1LCAyNikgICAgOyAvLy88IFUyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU3VyZmFjZUZvcm1hdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI3LCAzMSkgICAgOyAvLy88IFU1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFlPZmZzZXRGb3JVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTQpICAgIDsgLy8hPCBZIE9mZnNldCBmb3IgVQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTQzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNSwgMTUpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFhPZmZzZXRGb3JVICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjgpICAgIDsgLy8hPCBYIE9mZnNldCBmb3IgVQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTU3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyOSwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBZT2Zmc2V0Rm9yViAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE0KSAgICA7IC8vITwgWSBPZmZzZXQgZm9yIFYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDE3NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTUsIDE1KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBYT2Zmc2V0Rm9yViAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDI4KSAgICA7IC8vITwgWCBPZmZzZXQgZm9yIFYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDE4OSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjksIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgWU9mZnNldEZvckZyYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNCkgICAgOyAvLyE8IFkgT2Zmc2V0IGZvciBGcmFtZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMjA3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNSwgMTUpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFhPZmZzZXRGb3JGcmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzApICAgIDsgLy8hPCBYIE9mZnNldCBmb3IgRnJhbWUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDIyMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMzEsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRGVyaXZlZFN1cmZhY2VQaXRjaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNikgICAgOyAvLyE8IERlcml2ZWQgU3VyZmFjZSBQaXRjaAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMjQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNywgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTdXJmYWNlUGl0Y2hGb3JTa2luU2NvcmVPdXRwdXRTdXJmYWNlcyAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE2KSAgICA7IC8vITwgU3VyZmFjZSBQaXRjaCBmb3IgU2tpbiBTY29yZSBPdXRwdXQgU3VyZmFjZXMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDI3MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTcsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODsKCiAgICAgICAgLy8hIFxuYW1lIExvY2FsIGVudW1lcmF0aW9ucwoKICAgICAgICBlbnVtIFNVQk9QQ09ERV9CCiAgICAgICAgewogICAgICAgICAgICBTVUJPUENPREVfQl9WRUJPWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIFNVQk9QQ09ERV9BCiAgICAgICAgewogICAgICAgICAgICBTVUJPUENPREVfQV9WRUJPWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIE1FRElBX0NPTU1BTkRfT1BDT0RFCiAgICAgICAgewogICAgICAgICAgICBNRURJQV9DT01NQU5EX09QQ09ERV9WRUJPWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIE1FRElBX0NPTU1BTkRfUElQRUxJTkUKICAgICAgICB7CiAgICAgICAgICAgIE1FRElBX0NPTU1BTkRfUElQRUxJTkVfTUVESUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gQ09NTUFORF9UWVBFCiAgICAgICAgewogICAgICAgICAgICBDT01NQU5EX1RZUEVfUEFSQUxMRUxWSURFT1BJUEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMywgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFNVUkZBQ0VfSURFTlRJRklDQVRJT04KICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFNwZWNpZmllcyB3aGljaCBzZXQgb2Ygc3VyZmFjZXMgdGhpcyBjb21tYW5kIHJlZmVycyB0bzoKICAgICAgICBlbnVtIFNVUkZBQ0VfSURFTlRJRklDQVRJT04KICAgICAgICB7CiAgICAgICAgICAgIFNVUkZBQ0VfSURFTlRJRklDQVRJT05fSU5QVVRTVVJGQUNFQU5EREVOT0lTRURDVVJSRU5UT1VUUFVUU1VSRkFDRSA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIFNVUkZBQ0VfSURFTlRJRklDQVRJT05fT1VUUFVUU1VSRkFDRV9BTExFWENFUFRUSEVERU5PSVNFRENVUlJFTlRPVVRQVVRTVVJGQUNFID0gMSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFRJTEVfV0FMSwogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhpcyBmaWVsZCBzcGVjaWZpZXMgdGhlIHR5cGUgb2YgbWVtb3J5IHRpbGluZyAoWE1ham9yIG9yIFlNYWpvcikKICAgICAgICAvLyEgICAgIGVtcGxveWVkIHRvIHRpbGUgdGhpcyBzdXJmYWNlLiBTZWUgPGVtPk1lbW9yeSBJbnRlcmZhY2UgRnVuY3Rpb25zPC9lbT4KICAgICAgICAvLyEgICAgIGZvciBkZXRhaWxzIG9uIG1lbW9yeSB0aWxpbmcgYW5kIHJlc3RyaWN0aW9ucy4KICAgICAgICAvLyEgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBmaWVsZCBpcyBpZ25vcmVkIHdoZW4gdGhlIHN1cmZhY2UgaXMgbGluZWFyLgogICAgICAgIGVudW0gVElMRV9XQUxLCiAgICAgICAgewogICAgICAgICAgICBUSUxFX1dBTEtfVElMRVdBTEtYTUFKT1IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgVElMRV9XQUxLX1RJTEVXQUxLWU1BSk9SICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBUSUxFRF9TVVJGQUNFCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGlzIGZpZWxkIHNwZWNpZmllcyB3aGV0aGVyIHRoZSBzdXJmYWNlIGlzIHRpbGVkLgogICAgICAgIGVudW0gVElMRURfU1VSRkFDRQogICAgICAgIHsKICAgICAgICAgICAgVElMRURfU1VSRkFDRV9GQUxTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTGluZWFyCiAgICAgICAgICAgIFRJTEVEX1NVUkZBQ0VfVFJVRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxLCAvLyE8IFRpbGVkCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBCQVlFUl9JTlBVVF9BTElHTk1FTlQKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIDxwIHN0eWxlPSJtYXJnaW4tbGVmdDozLjBwdDsiPlZhbGlkIG9ubHkgQmF5ZXIgUGF0dGVybiBGb3JtYXQgaXMgMTZiaXQKICAgICAgICAvLyEgICAgIGlucHV0PC9wPgogICAgICAgIGVudW0gQkFZRVJfSU5QVVRfQUxJR05NRU5UCiAgICAgICAgewogICAgICAgICAgICBCQVlFUl9JTlBVVF9BTElHTk1FTlRfTVNCQUxJR05FRERBVEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgQkFZRVJfSU5QVVRfQUxJR05NRU5UXzEwQklUTFNCQUxJR05FRERBVEEgICAgICAgICAgICAgICAgICAgICAgICA9IDEsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIEJBWUVSX0lOUFVUX0FMSUdOTUVOVF8xMkJJVExTQkFMSUdORUREQVRBICAgICAgICAgICAgICAgICAgICAgICAgPSAyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBCQVlFUl9JTlBVVF9BTElHTk1FTlRfMTRCSVRMU0JBTElHTkVEREFUQSAgICAgICAgICAgICAgICAgICAgICAgID0gMywgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEJBWUVSX1BBVFRFUk5fRk9STUFUCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBTcGVjaWZpZXMgdGhlIGZvcm1hdCBvZiB0aGUgQmF5ZXIgUGF0dGVybjoKICAgICAgICBlbnVtIEJBWUVSX1BBVFRFUk5fRk9STUFUCiAgICAgICAgewogICAgICAgICAgICBCQVlFUl9QQVRURVJOX0ZPUk1BVF84X0JJVElOUFVUQVRBOF9CSVRTVFJJREUgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgQkFZRVJfUEFUVEVSTl9GT1JNQVRfMTZfQklUSU5QVVRBVEExNl9CSVRTVFJJREUgICAgICAgICAgICAgICAgICA9IDEsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBCQVlFUl9QQVRURVJOX09GRlNFVAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgU3BlY2lmaWVzIHRoZSBzdGFydGluZyBwaXhlbCBvZmZzZXQgZm9yIHRoZSBCYXllciBwYXR0ZXJuIHVzZWQgZm9yCiAgICAgICAgLy8hICAgICBDYXB0dXJlIFBpcGUuCiAgICAgICAgZW51bSBCQVlFUl9QQVRURVJOX09GRlNFVAogICAgICAgIHsKICAgICAgICAgICAgQkFZRVJfUEFUVEVSTl9PRkZTRVRfUElYRUxBVFgwX1kwSVNCTFVFICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIEJBWUVSX1BBVFRFUk5fT0ZGU0VUX1BJWEVMQVRYMF9ZMElTUkVEICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBCQVlFUl9QQVRURVJOX09GRlNFVF9QSVhFTEFUWDBfWTBJU0dSRUVOX1BJWEVMQVRYMV9ZMElTUkVEICAgICAgID0gMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgQkFZRVJfUEFUVEVSTl9PRkZTRVRfUElYRUxBVFgwX1kwSVNHUkVFTl9QSVhFTEFUWDFfWTBJU0JMVUUgICAgICA9IDMsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBTVVJGQUNFX0ZPUk1BVAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgU3BlY2lmaWVzIHRoZSBmb3JtYXQgb2YgdGhlIHN1cmZhY2UuICBBbGwgb2YgdGhlIFkgYW5kIEcgY2hhbm5lbHMgd2lsbAogICAgICAgIC8vISAgICAgdXNlIHRhYmxlIDAgYW5kIGFsbCBvZiB0aGUgQ3IvQ2IvUi9CIGNoYW5uZWxzIHdpbGwgdXNlIHRhYmxlIDEuCiAgICAgICAgZW51bSBTVVJGQUNFX0ZPUk1BVAogICAgICAgIHsKICAgICAgICAgICAgU1VSRkFDRV9GT1JNQVRfWUNSQ0JOT1JNQUwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vLzwgCiAgICAgICAgICAgIFNVUkZBQ0VfRk9STUFUX1lDUkNCU1dBUFVWWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxLCAvLy88IAogICAgICAgICAgICBTVVJGQUNFX0ZPUk1BVF9ZQ1JDQlNXQVBVViAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMiwgLy8vPCAKICAgICAgICAgICAgU1VSRkFDRV9GT1JNQVRfWUNSQ0JTV0FQWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMsIC8vLzwgCiAgICAgICAgICAgIFNVUkZBQ0VfRk9STUFUX1BMQU5BUjQyMDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0LCAvLy88IE5WMTIgd2l0aCBJbnRlcmxlYXZlIENocm9tYSBzZXQKICAgICAgICAgICAgU1VSRkFDRV9GT1JNQVRfUEFDS0VENDQ0QTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDUsIC8vLzwgCiAgICAgICAgICAgIFNVUkZBQ0VfRk9STUFUX1BBQ0tFRDQyMjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2LCAvLy88IAogICAgICAgICAgICBTVVJGQUNFX0ZPUk1BVF9SMTBHMTBCMTBBMlVOT1JNUjEwRzEwQjEwQTJVTk9STVNSR0IgICAgICAgICAgICAgID0gNywgLy8vPCAKICAgICAgICAgICAgU1VSRkFDRV9GT1JNQVRfUjhHOEI4QThVTk9STVI4RzhCOEE4VU5PUk1TUkdCICAgICAgICAgICAgICAgICAgICA9IDgsIC8vLzwgCiAgICAgICAgICAgIFNVUkZBQ0VfRk9STUFUX1BBQ0tFRDQ0NDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA5LCAvLy88IAogICAgICAgICAgICBTVVJGQUNFX0ZPUk1BVF9QTEFOQVI0MjIxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTAsIC8vLzwgCiAgICAgICAgICAgIFNVUkZBQ0VfRk9STUFUX1k4VU5PUk0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMSwgLy8vPCAKICAgICAgICAgICAgU1VSRkFDRV9GT1JNQVRfUExBTkFSNDIwMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEyLCAvLy88IAogICAgICAgICAgICBTVVJGQUNFX0ZPUk1BVF9SMTZHMTZCMTZBMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTMsIC8vLzwgCiAgICAgICAgICAgIFNVUkZBQ0VfRk9STUFUX0JBWUVSUEFUVEVSTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxNCwgLy8vPCAKICAgICAgICAgICAgU1VSRkFDRV9GT1JNQVRfWTE2VU5PUk0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDE1LCAvLy88IAogICAgICAgICAgICBTVVJGQUNFX0ZPUk1BVF9QQUNLRUQ0NDQxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTYsIC8vLzwgCiAgICAgICAgICAgIFNVUkZBQ0VfRk9STUFUX0I4RzhSOEE4VU5PUk0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxNywgLy8vPCAKICAgICAgICB9OwoKICAgICAgICAvLyEgXG5hbWUgSW5pdGlhbGl6YXRpb25zCgogICAgICAgIC8vISBcYnJpZWYgRXhwbGljaXQgbWVtYmVyIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uCiAgICAgICAgVkVCT1hfU1VSRkFDRV9TVEFURV9DTUQoKTsKCiAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBkd1NpemUgPSA5OwogICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYnl0ZVNpemUgPSAzNjsKICAgIH07CgogICAgLy8hCiAgICAvLyEgXGJyaWVmIFZFQk9YX1RDQ19TVEFURQogICAgLy8hIFxkZXRhaWxzCiAgICAvLyEgICAgIFRoaXMgc3RhdGUgc3RydWN0dXJlIGNvbnRhaW5zIHRoZSBJRUNQIFN0YXRlIFRhYmxlIENvbnRlbnRzIGZvciBUQ0MKICAgIC8vISAgICAgc3RhdGUuCiAgICAvLyEgICAgIAogICAgc3RydWN0IFZFQk9YX1RDQ19TVEFURV9DTUQKICAgIHsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgNikgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgVGNjRW5hYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA3LCAgNykgICAgOyAvLyE8IFRDQyBFbmFibGUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTYXRmYWN0b3IxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDgsIDE1KSAgICA7IC8vITwgU0FURkFDVE9SMQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFNhdGZhY3RvcjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjMpICAgIDsgLy8hPCBTQVRGQUNUT1IyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU2F0ZmFjdG9yMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDI0LCAzMSkgICAgOyAvLyE8IFNBVEZBQ1RPUjMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgNykgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU2F0ZmFjdG9yNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAxNSkgICAgOyAvLyE8IFNBVEZBQ1RPUjQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTYXRmYWN0b3I1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDIzKSAgICA7IC8vITwgU0FURkFDVE9SNQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFNhdGZhY3RvcjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNCwgMzEpICAgIDsgLy8hPCBTQVRGQUNUT1I2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEJhc2Vjb2xvcjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDkpICAgIDsgLy8hPCBCQVNFQ09MT1IxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQmFzZWNvbG9yMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEwLCAxOSkgICAgOyAvLyE8IEJBU0VDT0xPUjIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBCYXNlY29sb3IzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjAsIDI5KSAgICA7IC8vITwgQkFTRUNPTE9SMwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkOTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMCwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBCYXNlY29sbzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA5KSAgICA7IC8vITwgQkFTRUNPTE80CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQmFzZWNvbG9yNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEwLCAxOSkgICAgOyAvLyE8IEJBU0VDT0xPUjUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBCYXNlY29sb3I2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjAsIDI5KSAgICA7IC8vITwgQkFTRUNPTE9SNgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTI2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMCwgMzEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFczOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDb2xvcnRyYW5zaXRzbG9wZTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgQ09MT1JUUkFOU0lUU0xPUEUyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQ29sb3J0cmFuc2l0c2xvcGUyMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IENPTE9SVFJBTlNJVFNMT1BFMjMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQ29sb3J0cmFuc2l0c2xvcGUzNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IENPTE9SVFJBTlNJVFNMT1BFMzQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDb2xvcnRyYW5zaXRzbG9wZTQ1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgQ09MT1JUUkFOU0lUU0xPUEU0NQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDb2xvcnRyYW5zaXRzbG9wZTU2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgQ09MT1JUUkFOU0lUU0xPUEU1NgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIENvbG9ydHJhbnNpdHNsb3BlNjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBDT0xPUlRSQU5TSVRTTE9QRTYxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMjI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIENvbG9yYmlhczEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMiwgMTEpICAgIDsgLy8hPCBDT0xPUkJJQVMxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQ29sb3JiaWFzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEyLCAyMSkgICAgOyAvLyE8IENPTE9SQklBUzIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDb2xvcmJpYXMzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjIsIDMxKSAgICA7IC8vITwgQ09MT1JCSUFTMwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDI1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICAxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDb2xvcmJpYXM0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDIsIDExKSAgICA7IC8vITwgQ09MT1JCSUFTNAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIENvbG9yYmlhczUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMiwgMjEpICAgIDsgLy8hPCBDT0xPUkJJQVM1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQ29sb3JiaWFzNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIyLCAzMSkgICAgOyAvLyE8IENPTE9SQklBUzYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU3RlU2xvcGVCaXRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgMikgICAgOyAvLyE8IFNURV9TTE9QRV9CSVRTCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQyOTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAzLCAgNykgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU3RlVGhyZXNob2xkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAxMikgICAgOyAvLyE8IFNURV9USFJFU0hPTEQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDMwMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTMsIDE1KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBVdlRocmVzaG9sZEJpdHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDE4KSAgICA7IC8vITwgVVZfVEhSRVNIT0xEX0JJVFMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDMwNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTksIDIzKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBVdlRocmVzaG9sZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjQsIDMwKSAgICA7IC8vITwgVVZfVEhSRVNIT0xECiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQzMTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDMxLCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBVdm1heGNvbG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICA4KSAgICA7IC8vITwgVVZNQVhDT0xPUgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMzI5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOSwgMTUpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludlV2bWF4Y29sb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZfVVZNQVhDT0xPUgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMDsKCiAgICAgICAgLy8hIFxuYW1lIExvY2FsIGVudW1lcmF0aW9ucwoKICAgICAgICAvLyEgXGJyaWVmIFNBVEZBQ1RPUjEKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSBzYXR1cmF0aW9uIGZhY3RvciBmb3IgbWFnZW50YS4KICAgICAgICBlbnVtIFNBVEZBQ1RPUjEKICAgICAgICB7CiAgICAgICAgICAgIFNBVEZBQ1RPUjFfVU5OQU1FRDIyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyMjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBTQVRGQUNUT1IyCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgc2F0dXJhdGlvbiBmYWN0b3IgZm9yIHJlZC4KICAgICAgICBlbnVtIFNBVEZBQ1RPUjIKICAgICAgICB7CiAgICAgICAgICAgIFNBVEZBQ1RPUjJfVU5OQU1FRDIyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyMjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBTQVRGQUNUT1IzCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgc2F0dXJhdGlvbiBmYWN0b3IgZm9yIHllbGxvdy4KICAgICAgICBlbnVtIFNBVEZBQ1RPUjMKICAgICAgICB7CiAgICAgICAgICAgIFNBVEZBQ1RPUjNfVU5OQU1FRDIyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyMjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBTQVRGQUNUT1I0CiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgc2F0dXJhdGlvbiBmYWN0b3IgZm9yIGdyZWVuLgogICAgICAgIGVudW0gU0FURkFDVE9SNAogICAgICAgIHsKICAgICAgICAgICAgU0FURkFDVE9SNF9VTk5BTUVEMjIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDIyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFNBVEZBQ1RPUjUKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSBzYXR1cmF0aW9uIGZhY3RvciBmb3IgY3lhbi4KICAgICAgICBlbnVtIFNBVEZBQ1RPUjUKICAgICAgICB7CiAgICAgICAgICAgIFNBVEZBQ1RPUjVfVU5OQU1FRDIyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyMjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBTQVRGQUNUT1I2CiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgc2F0dXJhdGlvbiBmYWN0b3IgZm9yIGJsdWUuCiAgICAgICAgZW51bSBTQVRGQUNUT1I2CiAgICAgICAgewogICAgICAgICAgICBTQVRGQUNUT1I2X1VOTkFNRUQyMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQkFTRUNPTE9SMQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgQmFzZSBDb2xvciAxCiAgICAgICAgZW51bSBCQVNFQ09MT1IxCiAgICAgICAgewogICAgICAgICAgICBCQVNFQ09MT1IxX1VOTkFNRUQxNDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTQ1LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQkFTRUNPTE9SMgogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgQmFzZSBDb2xvciAyIC0gdGhpcyB2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBCYXNlQ29sb3IxCiAgICAgICAgZW51bSBCQVNFQ09MT1IyCiAgICAgICAgewogICAgICAgICAgICBCQVNFQ09MT1IyX1VOTkFNRUQzMDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzA3LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQkFTRUNPTE9SMwogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgQmFzZSBDb2xvciAzIC0gdGhpcyB2YWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBCYXNlQ29sb3IyCiAgICAgICAgZW51bSBCQVNFQ09MT1IzCiAgICAgICAgewogICAgICAgICAgICBCQVNFQ09MT1IzX1VOTkFNRUQ0ODMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDgzLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQkFTRUNPTE80CiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBCYXNlIENvbG9yIDQgLSB0aGlzIHZhbHVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIEJhc2VDb2xvcjMKICAgICAgICBlbnVtIEJBU0VDT0xPNAogICAgICAgIHsKICAgICAgICAgICAgQkFTRUNPTE80X1VOTkFNRUQ2NTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDY1NywgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEJBU0VDT0xPUjUKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIEJhc2UgQ29sb3IgNSAtIHRoaXMgdmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gQmFzZUNvbG9yNAogICAgICAgIGVudW0gQkFTRUNPTE9SNQogICAgICAgIHsKICAgICAgICAgICAgQkFTRUNPTE9SNV9VTk5BTUVEODE5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDgxOSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIEJBU0VDT0xPUjYKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIEJhc2UgQ29sb3IgNiAtIHRoaXMgdmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gQmFzZUNvbG9yNQogICAgICAgIGVudW0gQkFTRUNPTE9SNgogICAgICAgIHsKICAgICAgICAgICAgQkFTRUNPTE9SNl9VTk5BTUVEOTk1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDk5NSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIENPTE9SVFJBTlNJVFNMT1BFMgogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhlIGNhbGN1bGF0aW9uIHJlc3VsdCBvZiAxIC8gKEJDMiAtIEJDMSkgWzEvNTddCiAgICAgICAgZW51bSBDT0xPUlRSQU5TSVRTTE9QRTIKICAgICAgICB7CiAgICAgICAgICAgIENPTE9SVFJBTlNJVFNMT1BFMl9VTk5BTUVENDA1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0MDUsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBDT0xPUlRSQU5TSVRTTE9QRTIzCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgY2FsY3VsYXRpb24gcmVzdWx0IG9mIDEgLyAoQkMzIC0gQkMyKSBbMS82Ml0KICAgICAgICBlbnVtIENPTE9SVFJBTlNJVFNMT1BFMjMKICAgICAgICB7CiAgICAgICAgICAgIENPTE9SVFJBTlNJVFNMT1BFMjNfVU5OQU1FRDc0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA3NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBDT0xPUlRSQU5TSVRTTE9QRTM0CiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGUgY2FsY3VsYXRpb24gcmVzdWx0IG9mIDEgLyAoQkM0IC0gQkMzKSBbMS82MV0KICAgICAgICBlbnVtIENPTE9SVFJBTlNJVFNMT1BFMzQKICAgICAgICB7CiAgICAgICAgICAgIENPTE9SVFJBTlNJVFNMT1BFMzRfVU5OQU1FRDExMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMTMxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQ09MT1JUUkFOU0lUU0xPUEU0NQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhlIGNhbGN1bGF0aW9uIHJlc3VsdCBvZiAxIC8gKEJDNSAtIEJDNCkgWzEvNTddCiAgICAgICAgZW51bSBDT0xPUlRSQU5TSVRTTE9QRTQ1CiAgICAgICAgewogICAgICAgICAgICBDT0xPUlRSQU5TSVRTTE9QRTQ1X1VOTkFNRUQ0MDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDA3LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQ09MT1JUUkFOU0lUU0xPUEU1NgogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhlIGNhbGN1bGF0aW9uIHJlc3VsdCBvZiAxIC8gKEJDNiAtIEJDNSkgWzEvNjJdCiAgICAgICAgZW51bSBDT0xPUlRSQU5TSVRTTE9QRTU2CiAgICAgICAgewogICAgICAgICAgICBDT0xPUlRSQU5TSVRTTE9QRTU2X1VOTkFNRUQzNzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQ09MT1JUUkFOU0lUU0xPUEU2MQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhlIGNhbGN1bGF0aW9uIHJlc3VsdCBvZiAxIC8gKEJDMSAtIEJDNikgWzEvNjJdCiAgICAgICAgZW51bSBDT0xPUlRSQU5TSVRTTE9QRTYxCiAgICAgICAgewogICAgICAgICAgICBDT0xPUlRSQU5TSVRTTE9QRTYxX1VOTkFNRUQzNzcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzc3LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQ09MT1JCSUFTMQogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgQ29sb3IgYmlhcyBmb3IgQmFzZUNvbG9yMS4KICAgICAgICBlbnVtIENPTE9SQklBUzEKICAgICAgICB7CiAgICAgICAgICAgIENPTE9SQklBUzFfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQ09MT1JCSUFTMgogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgQ29sb3IgYmlhcyBmb3IgQmFzZUNvbG9yMi4KICAgICAgICBlbnVtIENPTE9SQklBUzIKICAgICAgICB7CiAgICAgICAgICAgIENPTE9SQklBUzJfVU5OQU1FRDE1MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxNTAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBDT0xPUkJJQVMzCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBDb2xvciBiaWFzIGZvciBCYXNlQ29sb3IzLgogICAgICAgIGVudW0gQ09MT1JCSUFTMwogICAgICAgIHsKICAgICAgICAgICAgQ09MT1JCSUFTM19VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBDT0xPUkJJQVM0CiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBDb2xvciBiaWFzIGZvciBCYXNlQ29sb3I0LgogICAgICAgIGVudW0gQ09MT1JCSUFTNAogICAgICAgIHsKICAgICAgICAgICAgQ09MT1JCSUFTNF9VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBDT0xPUkJJQVM1CiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBDb2xvciBiaWFzIGZvciBCYXNlQ29sb3I1LgogICAgICAgIGVudW0gQ09MT1JCSUFTNQogICAgICAgIHsKICAgICAgICAgICAgQ09MT1JCSUFTNV9VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBDT0xPUkJJQVM2CiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBDb2xvciBiaWFzIGZvciBCYXNlQ29sb3I2LgogICAgICAgIGVudW0gQ09MT1JCSUFTNgogICAgICAgIHsKICAgICAgICAgICAgQ09MT1JCSUFTNl9VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBTVEVfU0xPUEVfQklUUwogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgU2tpbiB0b25lIHBpeGVscyBlbmhhbmNlbWVudCBzbG9wZSBiaXRzLgogICAgICAgIGVudW0gU1RFX1NMT1BFX0JJVFMKICAgICAgICB7CiAgICAgICAgICAgIFNURV9TTE9QRV9CSVRTX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgU1RFX1RIUkVTSE9MRAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgU2tpbiB0b25lIHBpeGVscyBlbmhhbmNlbWVudCB0aHJlc2hvbGQuCiAgICAgICAgZW51bSBTVEVfVEhSRVNIT0xECiAgICAgICAgewogICAgICAgICAgICBTVEVfVEhSRVNIT0xEX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFVWX1RIUkVTSE9MRF9CSVRTCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBMb3cgVVYgdHJhbnNpdGlvbiB3aWR0aCBiaXRzLgogICAgICAgIGVudW0gVVZfVEhSRVNIT0xEX0JJVFMKICAgICAgICB7CiAgICAgICAgICAgIFVWX1RIUkVTSE9MRF9CSVRTX1VOTkFNRUQzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgVVZfVEhSRVNIT0xECiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBMb3cgVVYgdGhyZXNob2xkLgogICAgICAgIGVudW0gVVZfVEhSRVNIT0xECiAgICAgICAgewogICAgICAgICAgICBVVl9USFJFU0hPTERfVU5OQU1FRDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMywgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFVWTUFYQ09MT1IKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoZSBtYXhpbXVtIGFic29sdXRlIHZhbHVlIG9mIHRoZSBsZWdhbCBVViBwaXhlbHMuICBVc2VkIGZvciB0aGUgU0ZzMgogICAgICAgIC8vISAgICAgY2FsY3VsYXRpb24uCiAgICAgICAgZW51bSBVVk1BWENPTE9SCiAgICAgICAgewogICAgICAgICAgICBVVk1BWENPTE9SX1VOTkFNRUQ0NDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgSU5WX1VWTUFYQ09MT1IKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIDEgLyBVVk1heENvbG9yLiAgVXNlZCBmb3IgdGhlIFNGczIgY2FsY3VsYXRpb24uCiAgICAgICAgZW51bSBJTlZfVVZNQVhDT0xPUgogICAgICAgIHsKICAgICAgICAgICAgSU5WX1VWTUFYQ09MT1JfVU5OQU1FRDE0NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDE0NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXG5hbWUgSW5pdGlhbGl6YXRpb25zCgogICAgICAgIC8vISBcYnJpZWYgRXhwbGljaXQgbWVtYmVyIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uCiAgICAgICAgVkVCT1hfVENDX1NUQVRFX0NNRCgpOwoKICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGR3U2l6ZSA9IDExOwogICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYnl0ZVNpemUgPSA0NDsKICAgIH07CgogICAgLy8hCiAgICAvLyEgXGJyaWVmIFZFQk9YX1RJTElOR19DT05WRVJUCiAgICAvLyEgXGRldGFpbHMKICAgIC8vISAgICAgVGhpcyBjb21tYW5kIHRha2VzIHRoZSBpbnB1dCBzdXJmYWNlIGFuZCB3cml0ZXMgZGlyZWN0bHkgdG8gdGhlIG91dHB1dAogICAgLy8hICAgICBzdXJmYWNlIGF0IGhpZ2ggc3BlZWQuICBUaGUgc3VyZmFjZSBmb3JtYXQgYW5kIHdpZHRoL2hlaWdodCBvZiB0aGUgaW5wdXQKICAgIC8vISAgICAgYW5kIG91dHB1dCBtdXN0IGJlIHRoZSBzYW1lLCBvbmx5IHRoZSB0aWxpbmcgbW9kZSBhbmQgcGl0Y2ggY2FuIGNoYW5nZS4KICAgIC8vISAgICAgCiAgICBzdHJ1Y3QgVkVCT1hfVElMSU5HX0NPTlZFUlRfQ01ECiAgICB7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIER3b3JkTGVuZ3RoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTEpICAgIDsgLy8hPCBEV09SRF9MRU5HVEgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTIsIDE1KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTdWJvcGNvZGVCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDIwKSAgICA7IC8vITwgU1VCT1BDT0RFX0IKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTdWJvcGNvZGVBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjEsIDIzKSAgICA7IC8vITwgU1VCT1BDT0RFX0EKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDb21tYW5kT3Bjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjQsIDI2KSAgICA7IC8vITwgQ09NTUFORF9PUENPREUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBQaXBlbGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjcsIDI4KSAgICA7IC8vITwgUElQRUxJTkUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDb21tYW5kVHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjksIDMxKSAgICA7IC8vITwgQ09NTUFORF9UWVBFCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMS4uMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDY0X3QgICAgICAgICAgICAgICAgIElucHV0U3VyZmFjZUNvbnRyb2xCaXRzICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTApICAgIDsgLy8hPCBJbnB1dCBTdXJmYWNlIENvbnRyb2wgQml0cwogICAgICAgICAgICAgICAgdWludDY0X3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMSwgMTEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDY0X3QgICAgICAgICAgICAgICAgIElucHV0QWRkcmVzcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMiwgNjMpICAgIDsgLy8hPCBJbnB1dCBBZGRyZXNzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWVbMl07CiAgICAgICAgfSBEVzFfMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAzLi40CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50NjRfdCAgICAgICAgICAgICAgICAgT3V0cHV0U3VyZmFjZUNvbnRyb2xCaXRzICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxMCkgICAgOyAvLyE8IE91dHB1dCBTdXJmYWNlIENvbnRyb2wgQml0cwogICAgICAgICAgICAgICAgdWludDY0X3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTA3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMSwgMTEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDY0X3QgICAgICAgICAgICAgICAgIE91dHB1dEFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMiwgNjMpICAgIDsgLy8hPCBPdXRwdXQgQWRkcmVzcwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlWzJdOwogICAgICAgIH0gRFczXzQ7CgogICAgICAgIC8vISBcbmFtZSBMb2NhbCBlbnVtZXJhdGlvbnMKCiAgICAgICAgZW51bSBTVUJPUENPREVfQgogICAgICAgIHsKICAgICAgICAgICAgU1VCT1BDT0RFX0JfVU5OQU1FRDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBTVUJPUENPREVfQQogICAgICAgIHsKICAgICAgICAgICAgU1VCT1BDT0RFX0FfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBDT01NQU5EX09QQ09ERQogICAgICAgIHsKICAgICAgICAgICAgQ09NTUFORF9PUENPREVfVkVCT1ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBQSVBFTElORQogICAgICAgIHsKICAgICAgICAgICAgUElQRUxJTkVfTUVESUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBDT01NQU5EX1RZUEUKICAgICAgICB7CiAgICAgICAgICAgIENPTU1BTkRfVFlQRV9QQVJBTExFTFZJREVPUElQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcbmFtZSBJbml0aWFsaXphdGlvbnMKCiAgICAgICAgLy8hIFxicmllZiBFeHBsaWNpdCBtZW1iZXIgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24KICAgICAgICBWRUJPWF9USUxJTkdfQ09OVkVSVF9DTUQoKTsKCiAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBkd1NpemUgPSA1OwogICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYnl0ZVNpemUgPSAyMDsKICAgIH07CgogICAgLy8hCiAgICAvLyEgXGJyaWVmIFZFQk9YX1ZFUlRFWF9UQUJMRQogICAgLy8hIFxkZXRhaWxzCiAgICAvLyEgICAgIAogICAgLy8hICAKICAgIHN0cnVjdCBWRUJPWF9WRVJURVhfVEFCTEVfRU5UUlkKICAgIHsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBWZXJ0ZXh0YWJsZWVudHJ5MF9DdiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgwLCAxMSk7IC8vITwgVmVydGV4IHRhYmxlIGVudHJ5IDAgLSBDdigxMiBiaXRzKQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEyLCAxNSk7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBWZXJ0ZXh0YWJsZWVudHJ5MF9MdiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjcpOyAvLyE8IFZlcnRleCB0YWJsZSBlbnRyeSAwIC0gTHYoMTIgYml0cykKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyOCwgMzEpOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzA7CgogICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgZHdTaXplID0gMTsKICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGJ5dGVTaXplID0gNDsKCiAgICAgfTsKCiAgICAvLyEKICAgIC8vISBcYnJpZWYgVkVCT1hfVkVSVEVYX1RBQkxFCiAgICAvLyEgXGRldGFpbHMKICAgIC8vISAgICAgCiAgICAvLyEgICAgIAogICAgc3RydWN0IFZFQk9YX1ZFUlRFWF9UQUJMRV9DTUQKICAgIHsKICAgICAgICBWRUJPWF9WRVJURVhfVEFCTEVfRU5UUlkgICAgICAgIFZlcnRleFRhYmxlRW50cnlbNTEyXTsKCiAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBkd1NpemUgPSA1MTI7CiAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBieXRlU2l6ZSA9IDIwNDg7CiAgICB9OwoKICAgIC8vIQogICAgLy8hIFxicmllZiBWRUJfRElfSUVDUAogICAgLy8hIFxkZXRhaWxzCiAgICAvLyEgICAgIFRoZSBWRUJfRElfSUVDUCBjb21tYW5kIGNhdXNlcyB0aGUgVkVCT1ggdG8gc3RhcnQgcHJvY2Vzc2luZyB0aGUgZnJhbWVzCiAgICAvLyEgICAgIHNwZWNpZmllZCBieSBWRUJfU1VSRkFDRV9TVEFURSB1c2luZyB0aGUgcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkKICAgIC8vISAgICAgVkVCX0RJX1NUQVRFIGFuZCBWRUJfSUVDUF9TVEFURS4gIFRoZSBwcm9jZXNzaW5nIGNhbiBzdGFydCBhbmQgZW5kIGF0CiAgICAvLyEgICAgIGFueSA2NCBwaXhlbCBjb2x1bW4gaW4gdGhlIGZyYW1lLiBJZiBTdGFydGluZyBYIGFuZCBFbmRpbmcgWCBhcmUgdXNlZCB0bwogICAgLy8hICAgICBzcGxpdCB0aGUgZnJhbWUgaW50byBzZWN0aW9ucywgaXQgc2hvdWxkIG5vdCBiZSBzcGxpdCBpbnRvIG1vcmUgdGhhbiA0CiAgICAvLyEgICAgIHNlY3Rpb25zLgogICAgLy8hICAgICBFYWNoIFZFQl9ESV9JRUNQIGNvbW1hbmQgc2hvdWxkIGJlIHByZWNlZGVkIGJ5IGEgVkVCX1NUQVRFIGNvbW1hbmQgYW5kCiAgICAvLyEgICAgIHRoZSBpbnB1dC9vdXRwdXQgVkVCX1NVUkZBQ0VfU1RBVEUgY29tbWFuZHMuCiAgICAvLyEgICAgIAogICAgLy8hICAgICBXaGVuIERJIGlzIGVuYWJsZWQsIG9ubHkgdGhlIEN1cnJlbnQgRnJhbWUgc2tpbiBzY29yZXMgYXJlIG91dHB1dHRlZCB0bwogICAgLy8hICAgICB0aGUgU2tpbiBTY29yZSBPdXRwdXQgc3VyZmFjZS4KICAgIC8vISAgICAgCiAgICBzdHJ1Y3QgVkVCX0RJX0lFQ1BfQ01ECiAgICB7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIER3b3JkTGVuZ3RoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTEpICAgIDsgLy8hPCBEV09SRF9MRU5HVEgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTIsIDE1KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTdWJvcGIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDIwKSAgICA7IC8vITwgU1VCT1BCCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU3Vib3BhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDIxLCAyMykgICAgOyAvLyE8IFNVQk9QQQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIE9wY29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyNCwgMjYpICAgIDsgLy8hPCBPUENPREUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBQaXBlbGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjcsIDI4KSAgICA7IC8vITwgUElQRUxJTkUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDb21tYW5kVHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMjksIDMxKSAgICA7IC8vITwgQ09NTUFORF9UWVBFCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEVuZGluZ1ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTMpICAgIDsgLy8hPCBFbmRpbmcgWAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNCwgMTUpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFN0YXJ0aW5nWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjkpICAgIDsgLy8hPCBTdGFydGluZyBYCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ2MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDMwLCAzMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgLy8vIERXT1JEIDIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDdXJyZW50RnJhbWVTdXJmYWNlQ29udHJvbEJpdHNSZXNlcnZlZDAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICAwKSAgICA7IC8vLzwgU3ViLXN0cnVjdHVyZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEN1cnJlbnRGcmFtZVN1cmZhY2VDb250cm9sQml0c0luZGV4VG9NZW1vcnlPYmplY3RDb250cm9sU3RhdGVNb2NzVGFibGVzIDogX19DT0RFR0VOX0JJVEZJRUxEKCAxLCAgNikgICAgOyAvLy88IFN1Yi1zdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDdXJyZW50RnJhbWVTdXJmYWNlQ29udHJvbEJpdHNNZW1vcnlDb21wcmVzc2lvbkVuYWJsZSA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNywgIDcpICAgIDsgLy8vPCBTdWItc3RydWN0dXJlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQ3VycmVudEZyYW1lU3VyZmFjZUNvbnRyb2xCaXRzTWVtb3J5Q29tcHJlc3Npb25Nb2RlIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAgOCkgICAgOyAvLy88IFN1Yi1zdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDdXJyZW50RnJhbWVTdXJmYWNlQ29udHJvbEJpdHNUaWxlZFJlc291cmNlTW9kZUZvck91dHB1dEZyYW1lU3VyZmFjZUJhc2VBZGRyZXNzIDogX19DT0RFR0VOX0JJVEZJRUxEKCA5LCAxMCkgICAgOyAvLy88IFN1Yi1zdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDc1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTEsIDExKSAgICA7IC8vLzwgVTEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDdXJyZW50RnJhbWVJbnB1dEFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTIsIDMxKSAgICA7IC8vLzwgR3JhcGhpY3NBZGRyZXNzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEN1cnJlbnRGcmFtZUlucHV0QWRkcmVzc0hpZ2ggICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBDdXJyZW50IEZyYW1lIElucHV0IEFkZHJlc3MgSGlnaAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjkpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEN1cnJlbnRGcmFtZUlucHV0U3VyZmFjZUFyYml0cmF0aW9uUHJpb3JpdHlDb250cm9sIDogX19DT0RFR0VOX0JJVEZJRUxEKDMwLCAzMSkgICAgOyAvLyE8IENVUlJFTlRfRlJBTUVfSU5QVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFByZXZpb3VzRnJhbWVTdXJmYWNlQ29udHJvbEJpdHNSZXNlcnZlZDAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDApICAgIDsgLy8vPCBTdWItc3RydWN0dXJlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUHJldmlvdXNGcmFtZVN1cmZhY2VDb250cm9sQml0c0luZGV4VG9NZW1vcnlPYmplY3RDb250cm9sU3RhdGVNb2NzVGFibGVzIDogX19DT0RFR0VOX0JJVEZJRUxEKCAxLCAgNikgICAgOyAvLy88IFN1Yi1zdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBQcmV2aW91c0ZyYW1lU3VyZmFjZUNvbnRyb2xCaXRzTWVtb3J5Q29tcHJlc3Npb25FbmFibGUgOiBfX0NPREVHRU5fQklURklFTEQoIDcsICA3KSAgICA7IC8vLzwgU3ViLXN0cnVjdHVyZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFByZXZpb3VzRnJhbWVTdXJmYWNlQ29udHJvbEJpdHNNZW1vcnlDb21wcmVzc2lvbk1vZGUgOiBfX0NPREVHRU5fQklURklFTEQoIDgsICA4KSAgICA7IC8vLzwgU3ViLXN0cnVjdHVyZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFByZXZpb3VzRnJhbWVTdXJmYWNlQ29udHJvbEJpdHNUaWxlZFJlc291cmNlTW9kZUZvck91dHB1dEZyYW1lU3VyZmFjZUJhc2VBZGRyZXNzIDogX19DT0RFR0VOX0JJVEZJRUxEKCA5LCAxMCkgICAgOyAvLy88IFN1Yi1zdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDEzOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTEsIDExKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBQcmV2aW91c0ZyYW1lSW5wdXRBZGRyZXNzICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTIsIDMxKSAgICA7IC8vITwgUHJldmlvdXMgRnJhbWUgSW5wdXQgQWRkcmVzcwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBQcmV2aW91c0ZyYW1lSW5wdXRBZGRyZXNzSGlnaCAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgUHJldmlvdXMgRnJhbWUgSW5wdXQgQWRkcmVzcyBIaWdoCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQxNzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAyOSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUHJldmlvdXNGcmFtZUlucHV0U3VyZmFjZUFyYml0cmF0aW9uUHJpb3JpdHlDb250cm9sIDogX19DT0RFR0VOX0JJVEZJRUxEKDMwLCAzMSkgICAgOyAvLyE8IFBSRVZJT1VTX0ZSQU1FX0lOUFVUX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTdG1tSW5wdXRTdXJmYWNlQ29udHJvbEJpdHNSZXNlcnZlZDAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICAwKSAgICA7IC8vLzwgU3ViLXN0cnVjdHVyZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFN0bW1JbnB1dFN1cmZhY2VDb250cm9sQml0c0luZGV4VG9NZW1vcnlPYmplY3RDb250cm9sU3RhdGVNb2NzVGFibGVzIDogX19DT0RFR0VOX0JJVEZJRUxEKCAxLCAgNikgICAgOyAvLy88IFN1Yi1zdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTdG1tSW5wdXRTdXJmYWNlQ29udHJvbEJpdHNNZW1vcnlDb21wcmVzc2lvbkVuYWJsZSA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNywgIDcpICAgIDsgLy8vPCBTdWItc3RydWN0dXJlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU3RtbUlucHV0U3VyZmFjZUNvbnRyb2xCaXRzTWVtb3J5Q29tcHJlc3Npb25Nb2RlIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAgOCkgICAgOyAvLy88IFN1Yi1zdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTdG1tSW5wdXRTdXJmYWNlQ29udHJvbEJpdHNUaWxlZFJlc291cmNlTW9kZUZvck91dHB1dEZyYW1lU3VyZmFjZUJhc2VBZGRyZXNzIDogX19DT0RFR0VOX0JJVEZJRUxEKCA5LCAxMCkgICAgOyAvLy88IFN1Yi1zdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDIwMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTEsIDExKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTdG1tSW5wdXRBZGRyZXNzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTIsIDMxKSAgICA7IC8vITwgU1RNTSBJbnB1dCBBZGRyZXNzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFN0bW1JbnB1dEFkZHJlc3NIaWdoICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBTVE1NIElucHV0IEFkZHJlc3MgSGlnaAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMjQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjkpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFN0bW1JbnB1dFN1cmZhY2VBcmJpdHJhdGlvblByaW9yaXR5Q29udHJvbCAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMCwgMzEpICAgIDsgLy8hPCBTVE1NX0lOUFVUX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTdG1tT3V0cHV0U3VyZmFjZUNvbnRyb2xCaXRzUmVzZXJ2ZWQwICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICAwKSAgICA7IC8vLzwgU3ViLXN0cnVjdHVyZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFN0bW1PdXRwdXRTdXJmYWNlQ29udHJvbEJpdHNJbmRleFRvTWVtb3J5T2JqZWN0Q29udHJvbFN0YXRlTW9jc1RhYmxlcyA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMSwgIDYpICAgIDsgLy8vPCBTdWItc3RydWN0dXJlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU3RtbU91dHB1dFN1cmZhY2VDb250cm9sQml0c01lbW9yeUNvbXByZXNzaW9uRW5hYmxlIDogX19DT0RFR0VOX0JJVEZJRUxEKCA3LCAgNykgICAgOyAvLy88IFN1Yi1zdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTdG1tT3V0cHV0U3VyZmFjZUNvbnRyb2xCaXRzTWVtb3J5Q29tcHJlc3Npb25Nb2RlIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAgOCkgICAgOyAvLy88IFN1Yi1zdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTdG1tT3V0cHV0U3VyZmFjZUNvbnRyb2xCaXRzVGlsZWRSZXNvdXJjZU1vZGVGb3JPdXRwdXRGcmFtZVN1cmZhY2VCYXNlQWRkcmVzcyA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOSwgMTApICAgIDsgLy8vPCBTdWItc3RydWN0dXJlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQyNjcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDExLCAxMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU3RtbU91dHB1dEFkZHJlc3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEyLCAzMSkgICAgOyAvLyE8IFNUTU0gT3V0cHV0IEFkZHJlc3MKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU3RtbU91dHB1dEFkZHJlc3NIaWdoICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IFNUTU0gT3V0cHV0IEFkZHJlc3MgSGlnaAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMzA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjkpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFN0bW1PdXRwdXRTdXJmYWNlQXJiaXRyYXRpb25Qcmlvcml0eUNvbnRyb2wgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMCwgMzEpICAgIDsgLy8hPCBTVE1NX09VVFBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0wKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERlbm9pc2VkQ3VycmVudE91dHB1dFN1cmZhY2VDb250cm9sQml0c1Jlc2VydmVkMCA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDApICAgIDsgLy8vPCBTdWItc3RydWN0dXJlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRGVub2lzZWRDdXJyZW50T3V0cHV0U3VyZmFjZUNvbnRyb2xCaXRzSW5kZXhUb01lbW9yeU9iamVjdENvbnRyb2xTdGF0ZU1vY3NUYWJsZXMgOiBfX0NPREVHRU5fQklURklFTEQoIDEsICA2KSAgICA7IC8vLzwgU3ViLXN0cnVjdHVyZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERlbm9pc2VkQ3VycmVudE91dHB1dFN1cmZhY2VDb250cm9sQml0c01lbW9yeUNvbXByZXNzaW9uRW5hYmxlIDogX19DT0RFR0VOX0JJVEZJRUxEKCA3LCAgNykgICAgOyAvLy88IFN1Yi1zdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBEZW5vaXNlZEN1cnJlbnRPdXRwdXRTdXJmYWNlQ29udHJvbEJpdHNNZW1vcnlDb21wcmVzc2lvbk1vZGUgOiBfX0NPREVHRU5fQklURklFTEQoIDgsICA4KSAgICA7IC8vLzwgU3ViLXN0cnVjdHVyZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERlbm9pc2VkQ3VycmVudE91dHB1dFN1cmZhY2VDb250cm9sQml0c1RpbGVkUmVzb3VyY2VNb2RlRm9yT3V0cHV0RnJhbWVTdXJmYWNlQmFzZUFkZHJlc3MgOiBfX0NPREVHRU5fQklURklFTEQoIDksIDEwKSAgICA7IC8vLzwgU3ViLXN0cnVjdHVyZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMzMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMSwgMTEpICAgIDsgLy8vPCBVMQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERlbm9pc2VkQ3VycmVudEZyYW1lT3V0cHV0QWRkcmVzcyAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMiwgMzEpICAgIDsgLy8hPCBEZW5vaXNlZCBDdXJyZW50IEZyYW1lIE91dHB1dCBBZGRyZXNzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzEwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDExCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRGVub2lzZWRDdXJyZW50RnJhbWVPdXRwdXRBZGRyZXNzSGlnaCAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IERlbm9pc2VkIEN1cnJlbnQgRnJhbWUgT3V0cHV0IEFkZHJlc3MgSGlnaAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMzY4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjkpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIERlbm9pc2VkQ3VycmVudE91dHB1dFN1cmZhY2VBcmJpdHJhdGlvblByaW9yaXR5Q29udHJvbCA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMCwgMzEpICAgIDsgLy8hPCBERU5PSVNFRF9DVVJSRU5UX09VVFBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0wKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDdXJyZW50RnJhbWVPdXRwdXRTdXJmYWNlQ29udHJvbEJpdHNSZXNlcnZlZDAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICAwKSAgICA7IC8vLzwgU3ViLXN0cnVjdHVyZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEN1cnJlbnRGcmFtZU91dHB1dFN1cmZhY2VDb250cm9sQml0c0luZGV4VG9NZW1vcnlPYmplY3RDb250cm9sU3RhdGVNb2NzVGFibGVzIDogX19DT0RFR0VOX0JJVEZJRUxEKCAxLCAgNikgICAgOyAvLy88IFN1Yi1zdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDdXJyZW50RnJhbWVPdXRwdXRTdXJmYWNlQ29udHJvbEJpdHNNZW1vcnlDb21wcmVzc2lvbkVuYWJsZSA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNywgIDcpICAgIDsgLy8vPCBTdWItc3RydWN0dXJlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQ3VycmVudEZyYW1lT3V0cHV0U3VyZmFjZUNvbnRyb2xCaXRzTWVtb3J5Q29tcHJlc3Npb25Nb2RlIDogX19DT0RFR0VOX0JJVEZJRUxEKCA4LCAgOCkgICAgOyAvLy88IFN1Yi1zdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDdXJyZW50RnJhbWVPdXRwdXRTdXJmYWNlQ29udHJvbEJpdHNUaWxlZFJlc291cmNlTW9kZUZvck91dHB1dEZyYW1lU3VyZmFjZUJhc2VBZGRyZXNzIDogX19DT0RFR0VOX0JJVEZJRUxEKCA5LCAxMCkgICAgOyAvLy88IFN1Yi1zdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDM5NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTEsIDExKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDdXJyZW50RnJhbWVPdXRwdXRBZGRyZXNzICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTIsIDMxKSAgICA7IC8vITwgQ3VycmVudCBGcmFtZSBPdXRwdXQgQWRkcmVzcwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEN1cnJlbnRGcmFtZU91dHB1dEFkZHJlc3NIaWdoICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBDdXJyZW50IEZyYW1lIE91dHB1dCBBZGRyZXNzIEhpZ2gKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDI5KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDdXJyZW50RnJhbWVPdXRwdXRTdXJmYWNlQXJiaXRyYXRpb25Qcmlvcml0eUNvbnRyb2wgOiBfX0NPREVHRU5fQklURklFTEQoMzAsIDMxKSAgICA7IC8vITwgQ1VSUkVOVF9GUkFNRV9PVVRQVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzEzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUHJldmlvdXNGcmFtZU91dHB1dFN1cmZhY2VDb250cm9sQml0c1Jlc2VydmVkMCAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgMCkgICAgOyAvLy88IFN1Yi1zdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBQcmV2aW91c0ZyYW1lT3V0cHV0U3VyZmFjZUNvbnRyb2xCaXRzSW5kZXhUb01lbW9yeU9iamVjdENvbnRyb2xTdGF0ZU1vY3NUYWJsZXMgOiBfX0NPREVHRU5fQklURklFTEQoIDEsICA2KSAgICA7IC8vLzwgU3ViLXN0cnVjdHVyZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFByZXZpb3VzRnJhbWVPdXRwdXRTdXJmYWNlQ29udHJvbEJpdHNNZW1vcnlDb21wcmVzc2lvbkVuYWJsZSA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNywgIDcpICAgIDsgLy8vPCBTdWItc3RydWN0dXJlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUHJldmlvdXNGcmFtZU91dHB1dFN1cmZhY2VDb250cm9sQml0c01lbW9yeUNvbXByZXNzaW9uTW9kZSA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgIDgpICAgIDsgLy8vPCBTdWItc3RydWN0dXJlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUHJldmlvdXNGcmFtZU91dHB1dFN1cmZhY2VDb250cm9sQml0c1RpbGVkUmVzb3VyY2VNb2RlRm9yT3V0cHV0RnJhbWVTdXJmYWNlQmFzZUFkZHJlc3MgOiBfX0NPREVHRU5fQklURklFTEQoIDksIDEwKSAgICA7IC8vLzwgU3ViLXN0cnVjdHVyZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNDU5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMSwgMTEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFByZXZpb3VzRnJhbWVPdXRwdXRBZGRyZXNzICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMiwgMzEpICAgIDsgLy8hPCBQcmV2aW91cyBGcmFtZSBPdXRwdXQgQWRkcmVzcwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxNDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFByZXZpb3VzRnJhbWVPdXRwdXRBZGRyZXNzSGlnaCAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBQcmV2aW91cyBGcmFtZSBPdXRwdXQgQWRkcmVzcyBIaWdoCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ0OTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAyOSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUHJldmlvdXNGcmFtZU91dHB1dFN1cmZhY2VBcmJpdHJhdGlvblByaW9yaXR5Q29udHJvbCA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMCwgMzEpICAgIDsgLy8hPCBQUkVWSU9VU19GUkFNRV9PVVRQVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU3RhdGlzdGljc091dHB1dFN1cmZhY2VDb250cm9sQml0c1Jlc2VydmVkMCAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgMCkgICAgOyAvLy88IFN1Yi1zdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTdGF0aXN0aWNzT3V0cHV0U3VyZmFjZUNvbnRyb2xCaXRzSW5kZXhUb01lbW9yeU9iamVjdENvbnRyb2xTdGF0ZU1vY3NUYWJsZXMgOiBfX0NPREVHRU5fQklURklFTEQoIDEsICA2KSAgICA7IC8vLzwgU3ViLXN0cnVjdHVyZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFN0YXRpc3RpY3NPdXRwdXRTdXJmYWNlQ29udHJvbEJpdHNNZW1vcnlDb21wcmVzc2lvbkVuYWJsZSA6IF9fQ09ERUdFTl9CSVRGSUVMRCggNywgIDcpICAgIDsgLy8vPCBTdWItc3RydWN0dXJlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU3RhdGlzdGljc091dHB1dFN1cmZhY2VDb250cm9sQml0c01lbW9yeUNvbXByZXNzaW9uTW9kZSA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgIDgpICAgIDsgLy8vPCBTdWItc3RydWN0dXJlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU3RhdGlzdGljc091dHB1dFN1cmZhY2VDb250cm9sQml0c1RpbGVkUmVzb3VyY2VNb2RlRm9yT3V0cHV0RnJhbWVTdXJmYWNlQmFzZUFkZHJlc3MgOiBfX0NPREVHRU5fQklURklFTEQoIDksIDEwKSAgICA7IC8vLzwgU3ViLXN0cnVjdHVyZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNTIzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMSwgMTEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFN0YXRpc3RpY3NPdXRwdXRBZGRyZXNzICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMiwgMzEpICAgIDsgLy8hPCBTdGF0aXN0aWNzIE91dHB1dCBBZGRyZXNzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU3RhdGlzdGljc091dHB1dEFkZHJlc3NIaWdoICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IFN0YXRpc3RpY3MgT3V0cHV0IEFkZHJlc3MgSGlnaAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNTYwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjkpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFN0YXRpc3RpY3NPdXRwdXRTdXJmYWNlQXJiaXRyYXRpb25Qcmlvcml0eUNvbnRyb2wgOiBfX0NPREVHRU5fQklURklFTEQoMzAsIDMxKSAgICA7IC8vITwgU1RBVElTVElDU19PVVRQVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQWxwaGFWaWduZXR0ZUNvbnRyb2xCaXRzUmVzZXJ2ZWQwICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgMCkgICAgOyAvLy88IFN1Yi1zdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBBbHBoYVZpZ25ldHRlQ29udHJvbEJpdHNJbmRleFRvTWVtb3J5T2JqZWN0Q29udHJvbFN0YXRlTW9jc1RhYmxlcyA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMSwgIDYpICAgIDsgLy8vPCBTdWItc3RydWN0dXJlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgQWxwaGFWaWduZXR0ZUNvbnRyb2xCaXRzTWVtb3J5Q29tcHJlc3Npb25FbmFibGUgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA3LCAgNykgICAgOyAvLy88IFN1Yi1zdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBBbHBoYVZpZ25ldHRlQ29udHJvbEJpdHNNZW1vcnlDb21wcmVzc2lvbk1vZGUgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDgsICA4KSAgICA7IC8vLzwgU3ViLXN0cnVjdHVyZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEFscGhhVmlnbmV0dGVDb250cm9sQml0c1RpbGVkUmVzb3VyY2VNb2RlRm9yT3V0cHV0RnJhbWVTdXJmYWNlQmFzZUFkZHJlc3MgOiBfX0NPREVHRU5fQklURklFTEQoIDksIDEwKSAgICA7IC8vLzwgU3ViLXN0cnVjdHVyZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNTg3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMSwgMTEpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEFscGhhVmlnbmV0dGVDb3JyZWN0aW9uQWRkcmVzcyAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxMiwgMzEpICAgIDsgLy8hPCBBbHBoYS9WaWduZXR0ZSBDb3JyZWN0aW9uIEFkZHJlc3MKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBBbHBoYVZpZ25ldHRlQ29ycmVjdGlvbkFkZHJlc3NIaWdoICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgQWxwaGEvVmlnbmV0dGUgQ29ycmVjdGlvbiBBZGRyZXNzIEhpZ2gKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDYyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDI5KSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBBbHBoYVZpZ25ldHRlQ29ycmVjdGlvblN1cmZhY2VBcmJpdHJhdGlvblByaW9yaXR5Q29udHJvbCA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMCwgMzEpICAgIDsgLy8hPCBBTFBIQVZJR05FVFRFX0NPUlJFQ1RJT05fU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUFjZVJnYkhpc3RvZ3JhbUNvbnRyb2xCaXRzUmVzZXJ2ZWQwICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAgMCkgICAgOyAvLy88IFN1Yi1zdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMYWNlQWNlUmdiSGlzdG9ncmFtQ29udHJvbEJpdHNJbmRleFRvTWVtb3J5T2JqZWN0Q29udHJvbFN0YXRlTW9jc1RhYmxlcyA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMSwgIDYpICAgIDsgLy8vPCBTdWItc3RydWN0dXJlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUFjZVJnYkhpc3RvZ3JhbUNvbnRyb2xCaXRzTWVtb3J5Q29tcHJlc3Npb25FbmFibGUgOiBfX0NPREVHRU5fQklURklFTEQoIDcsICA3KSAgICA7IC8vLzwgU3ViLXN0cnVjdHVyZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIExhY2VBY2VSZ2JIaXN0b2dyYW1Db250cm9sQml0c01lbW9yeUNvbXByZXNzaW9uTW9kZSA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgIDgpICAgIDsgLy8vPCBTdWItc3RydWN0dXJlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUFjZVJnYkhpc3RvZ3JhbUNvbnRyb2xCaXRzVGlsZWRSZXNvdXJjZU1vZGVGb3JPdXRwdXRGcmFtZVN1cmZhY2VCYXNlQWRkcmVzcyA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOSwgMTApICAgIDsgLy8vPCBTdWItc3RydWN0dXJlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ2NTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDExLCAxMSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUFjZVJnYkhpc3RvZ3JhbU91dHB1dEFkZHJlc3MgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDEyLCAzMSkgICAgOyAvLyE8IExBQ0UvQUNFL1JHQiBIaXN0b2dyYW0gT3V0cHV0IEFkZHJlc3MKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMjEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBMYWNlQWNlUmdiSGlzdG9ncmFtT3V0cHV0QWRkcmVzc0hpZ2ggICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgTEFDRS9BQ0UvUkdCIEhpc3RvZ3JhbSBPdXRwdXQgQWRkcmVzcyBIaWdoCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ2ODggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAyOSkgICAgOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTGFjZUFjZVJnYkhpc3RvZ3JhbVN1cmZhY2VBcmJpdHJhdGlvblByaW9yaXR5Q29udHJvbCA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMCwgMzEpICAgIDsgLy8hPCBMQUNFQUNFUkdCX0hJU1RPR1JBTV9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0wKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMjIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTa2luU2NvcmVPdXRwdXRDb250cm9sQml0c1Jlc2VydmVkMCAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsICAwKSAgICA7IC8vLzwgU3ViLXN0cnVjdHVyZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFNraW5TY29yZU91dHB1dENvbnRyb2xCaXRzSW5kZXhUb01lbW9yeU9iamVjdENvbnRyb2xTdGF0ZU1vY3NUYWJsZXMgOiBfX0NPREVHRU5fQklURklFTEQoIDEsICA2KSAgICA7IC8vLzwgU3ViLXN0cnVjdHVyZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFNraW5TY29yZU91dHB1dENvbnRyb2xCaXRzTWVtb3J5Q29tcHJlc3Npb25FbmFibGUgOiBfX0NPREVHRU5fQklURklFTEQoIDcsICA3KSAgICA7IC8vLzwgU3ViLXN0cnVjdHVyZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFNraW5TY29yZU91dHB1dENvbnRyb2xCaXRzTWVtb3J5Q29tcHJlc3Npb25Nb2RlICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggOCwgIDgpICAgIDsgLy8vPCBTdWItc3RydWN0dXJlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU2tpblNjb3JlT3V0cHV0Q29udHJvbEJpdHNUaWxlZFJlc291cmNlTW9kZUZvck91dHB1dEZyYW1lU3VyZmFjZUJhc2VBZGRyZXNzIDogX19DT0RFR0VOX0JJVEZJRUxEKCA5LCAxMCkgICAgOyAvLy88IFN1Yi1zdHJ1Y3R1cmUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDcxNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTEsIDExKSAgICA7IC8vLzwgVTEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBTa2luU2NvcmVPdXRwdXRBZGRyZXNzICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTIsIDMxKSAgICA7IC8vLzwgR3JhcGhpY3NBZGRyZXNzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzIyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgU2tpblNjb3JlT3V0cHV0QWRkcmVzc0hpZ2ggICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IFNraW4gU2NvcmUgT3V0cHV0IEFkZHJlc3MgSGlnaAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNzUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMjkpICAgIDsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFNraW5TY29yZU91dHB1dFN1cmZhY2VBcmJpdHJhdGlvblByaW9yaXR5Q29udHJvbCA6IF9fQ09ERUdFTl9CSVRGSUVMRCgzMCwgMzEpICAgIDsgLy8hPCBTS0lOX1NDT1JFX09VVFBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0wKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjM7CgogICAgICAgIC8vISBcbmFtZSBMb2NhbCBlbnVtZXJhdGlvbnMKCiAgICAgICAgZW51bSBTVUJPUEIKICAgICAgICB7CiAgICAgICAgICAgIFNVQk9QQl9WRUJESUlFQ1AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gU1VCT1BBCiAgICAgICAgewogICAgICAgICAgICBTVUJPUEFfVkVCRElJRUNQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIE9QQ09ERQogICAgICAgIHsKICAgICAgICAgICAgT1BDT0RFX1ZFQk9YICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBQSVBFTElORQogICAgICAgIHsKICAgICAgICAgICAgUElQRUxJTkVfTUVESUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBDT01NQU5EX1RZUEUKICAgICAgICB7CiAgICAgICAgICAgIENPTU1BTkRfVFlQRV9QQVJBTExFTFZJREVPUElQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgQ1VSUkVOVF9GUkFNRV9JTlBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0wKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoaXMgZmllbGQgY29udHJvbHMgdGhlIHByaW9yaXR5IG9mIGFyYml0cmF0aW9uIHVzZWQgaW4gdGhlIEdBQy9HQU0KICAgICAgICAvLyEgICAgIHBpcGVsaW5lIGZvciB0aGlzIHN1cmZhY2UuCiAgICAgICAgZW51bSBDVVJSRU5UX0ZSQU1FX0lOUFVUX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTAogICAgICAgIHsKICAgICAgICAgICAgQ1VSUkVOVF9GUkFNRV9JTlBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0xfSElHSEVTVFBSSU9SSVRZID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgQ1VSUkVOVF9GUkFNRV9JTlBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0xfU0VDT05ESElHSEVTVFBSSU9SSVRZID0gMSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgQ1VSUkVOVF9GUkFNRV9JTlBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0xfVEhJUkRISUdIRVNUUFJJT1JJVFkgPSAyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBDVVJSRU5UX0ZSQU1FX0lOUFVUX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9MT1dFU1RQUklPUklUWSA9IDMsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBQUkVWSU9VU19GUkFNRV9JTlBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0wKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoaXMgZmllbGQgY29udHJvbHMgdGhlIHByaW9yaXR5IG9mIGFyYml0cmF0aW9uIHVzZWQgaW4gdGhlIEdBQy9HQU0KICAgICAgICAvLyEgICAgIHBpcGVsaW5lIGZvciB0aGlzIHN1cmZhY2UuCiAgICAgICAgZW51bSBQUkVWSU9VU19GUkFNRV9JTlBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0wKICAgICAgICB7CiAgICAgICAgICAgIFBSRVZJT1VTX0ZSQU1FX0lOUFVUX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9ISUdIRVNUUFJJT1JJVFkgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBQUkVWSU9VU19GUkFNRV9JTlBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0xfU0VDT05ESElHSEVTVFBSSU9SSVRZID0gMSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgUFJFVklPVVNfRlJBTUVfSU5QVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MX1RISVJESElHSEVTVFBSSU9SSVRZID0gMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgUFJFVklPVVNfRlJBTUVfSU5QVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MX0xPV0VTVFBSSU9SSVRZID0gMywgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFNUTU1fSU5QVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGlzIGZpZWxkIGNvbnRyb2xzIHRoZSBwcmlvcml0eSBvZiBhcmJpdHJhdGlvbiB1c2VkIGluIHRoZSBHQUMvR0FNCiAgICAgICAgLy8hICAgICBwaXBlbGluZSBmb3IgdGhpcyBzdXJmYWNlLgogICAgICAgIGVudW0gU1RNTV9JTlBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0wKICAgICAgICB7CiAgICAgICAgICAgIFNUTU1fSU5QVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MX0hJR0hFU1RQUklPUklUWSAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBTVE1NX0lOUFVUX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9TRUNPTkRISUdIRVNUUFJJT1JJVFkgPSAxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBTVE1NX0lOUFVUX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9USElSREhJR0hFU1RQUklPUklUWSA9IDIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIFNUTU1fSU5QVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MX0xPV0VTVFBSSU9SSVRZICAgPSAzLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgU1RNTV9PVVRQVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGlzIGZpZWxkIGNvbnRyb2xzIHRoZSBwcmlvcml0eSBvZiBhcmJpdHJhdGlvbiB1c2VkIGluIHRoZSBHQUMvR0FNCiAgICAgICAgLy8hICAgICBwaXBlbGluZSBmb3IgdGhpcyBzdXJmYWNlLgogICAgICAgIGVudW0gU1RNTV9PVVRQVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MCiAgICAgICAgewogICAgICAgICAgICBTVE1NX09VVFBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0xfSElHSEVTVFBSSU9SSVRZID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgU1RNTV9PVVRQVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MX1NFQ09OREhJR0hFU1RQUklPUklUWSA9IDEsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIFNUTU1fT1VUUFVUX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9USElSREhJR0hFU1RQUklPUklUWSA9IDIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIFNUTU1fT1VUUFVUX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9MT1dFU1RQUklPUklUWSAgPSAzLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgREVOT0lTRURfQ1VSUkVOVF9PVVRQVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGlzIGZpZWxkIGNvbnRyb2xzIHRoZSBwcmlvcml0eSBvZiBhcmJpdHJhdGlvbiB1c2VkIGluIHRoZSBHQUMvR0FNCiAgICAgICAgLy8hICAgICBwaXBlbGluZSBmb3IgdGhpcyBzdXJmYWNlLgogICAgICAgIGVudW0gREVOT0lTRURfQ1VSUkVOVF9PVVRQVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MCiAgICAgICAgewogICAgICAgICAgICBERU5PSVNFRF9DVVJSRU5UX09VVFBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0xfSElHSEVTVFBSSU9SSVRZID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgREVOT0lTRURfQ1VSUkVOVF9PVVRQVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MX1NFQ09OREhJR0hFU1RQUklPUklUWSA9IDEsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIERFTk9JU0VEX0NVUlJFTlRfT1VUUFVUX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9USElSREhJR0hFU1RQUklPUklUWSA9IDIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIERFTk9JU0VEX0NVUlJFTlRfT1VUUFVUX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9MT1dFU1RQUklPUklUWSA9IDMsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBDVVJSRU5UX0ZSQU1FX09VVFBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0wKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoaXMgZmllbGQgY29udHJvbHMgdGhlIHByaW9yaXR5IG9mIGFyYml0cmF0aW9uIHVzZWQgaW4gdGhlIEdBQy9HQU0KICAgICAgICAvLyEgICAgIHBpcGVsaW5lIGZvciB0aGlzIHN1cmZhY2UuCiAgICAgICAgZW51bSBDVVJSRU5UX0ZSQU1FX09VVFBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0wKICAgICAgICB7CiAgICAgICAgICAgIENVUlJFTlRfRlJBTUVfT1VUUFVUX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9ISUdIRVNUUFJJT1JJVFkgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBDVVJSRU5UX0ZSQU1FX09VVFBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0xfU0VDT05ESElHSEVTVFBSSU9SSVRZID0gMSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgQ1VSUkVOVF9GUkFNRV9PVVRQVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MX1RISVJESElHSEVTVFBSSU9SSVRZID0gMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgQ1VSUkVOVF9GUkFNRV9PVVRQVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MX0xPV0VTVFBSSU9SSVRZID0gMywgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFBSRVZJT1VTX0ZSQU1FX09VVFBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0wKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIFRoaXMgZmllbGQgY29udHJvbHMgdGhlIHByaW9yaXR5IG9mIGFyYml0cmF0aW9uIHVzZWQgaW4gdGhlIEdBQy9HQU0KICAgICAgICAvLyEgICAgIHBpcGVsaW5lIGZvciB0aGlzIHN1cmZhY2UuCiAgICAgICAgZW51bSBQUkVWSU9VU19GUkFNRV9PVVRQVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MCiAgICAgICAgewogICAgICAgICAgICBQUkVWSU9VU19GUkFNRV9PVVRQVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MX0hJR0hFU1RQUklPUklUWSA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIFBSRVZJT1VTX0ZSQU1FX09VVFBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0xfU0VDT05ESElHSEVTVFBSSU9SSVRZID0gMSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgUFJFVklPVVNfRlJBTUVfT1VUUFVUX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9USElSREhJR0hFU1RQUklPUklUWSA9IDIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIFBSRVZJT1VTX0ZSQU1FX09VVFBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0xfTE9XRVNUUFJJT1JJVFkgPSAzLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgU1RBVElTVElDU19PVVRQVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGlzIGZpZWxkIGNvbnRyb2xzIHRoZSBwcmlvcml0eSBvZiBhcmJpdHJhdGlvbiB1c2VkIGluIHRoZSBHQUMvR0FNCiAgICAgICAgLy8hICAgICBwaXBlbGluZSBmb3IgdGhpcyBzdXJmYWNlLgogICAgICAgIGVudW0gU1RBVElTVElDU19PVVRQVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MCiAgICAgICAgewogICAgICAgICAgICBTVEFUSVNUSUNTX09VVFBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0xfSElHSEVTVFBSSU9SSVRZID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgU1RBVElTVElDU19PVVRQVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MX1NFQ09OREhJR0hFU1RQUklPUklUWSA9IDEsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIFNUQVRJU1RJQ1NfT1VUUFVUX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9USElSREhJR0hFU1RQUklPUklUWSA9IDIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIFNUQVRJU1RJQ1NfT1VUUFVUX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9MT1dFU1RQUklPUklUWSA9IDMsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxicmllZiBBTFBIQVZJR05FVFRFX0NPUlJFQ1RJT05fU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGlzIGZpZWxkIGNvbnRyb2xzIHRoZSBwcmlvcml0eSBvZiBhcmJpdHJhdGlvbiB1c2VkIGluIHRoZSBHQUMvR0FNCiAgICAgICAgLy8hICAgICBwaXBlbGluZSBmb3IgdGhpcyBzdXJmYWNlLgogICAgICAgIGVudW0gQUxQSEFWSUdORVRURV9DT1JSRUNUSU9OX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTAogICAgICAgIHsKICAgICAgICAgICAgQUxQSEFWSUdORVRURV9DT1JSRUNUSU9OX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9ISUdIRVNUUFJJT1JJVFkgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBBTFBIQVZJR05FVFRFX0NPUlJFQ1RJT05fU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MX1NFQ09OREhJR0hFU1RQUklPUklUWSA9IDEsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIEFMUEhBVklHTkVUVEVfQ09SUkVDVElPTl9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0xfVEhJUkRISUdIRVNUUFJJT1JJVFkgPSAyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBBTFBIQVZJR05FVFRFX0NPUlJFQ1RJT05fU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MX0xPV0VTVFBSSU9SSVRZID0gMywgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIExBQ0VBQ0VSR0JfSElTVE9HUkFNX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTAogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgVGhpcyBmaWVsZCBjb250cm9scyB0aGUgcHJpb3JpdHkgb2YgYXJiaXRyYXRpb24gdXNlZCBpbiB0aGUgR0FDL0dBTQogICAgICAgIC8vISAgICAgcGlwZWxpbmUgZm9yIHRoaXMgc3VyZmFjZS4KICAgICAgICBlbnVtIExBQ0VBQ0VSR0JfSElTVE9HUkFNX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTAogICAgICAgIHsKICAgICAgICAgICAgTEFDRUFDRVJHQl9ISVNUT0dSQU1fU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MX0hJR0hFU1RQUklPUklUWSA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIExBQ0VBQ0VSR0JfSElTVE9HUkFNX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9TRUNPTkRISUdIRVNUUFJJT1JJVFkgPSAxLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBMQUNFQUNFUkdCX0hJU1RPR1JBTV9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0xfVEhJUkRISUdIRVNUUFJJT1JJVFkgPSAyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgICAgICBMQUNFQUNFUkdCX0hJU1RPR1JBTV9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0xfTE9XRVNUUFJJT1JJVFkgPSAzLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIC8vISBcYnJpZWYgU0tJTl9TQ09SRV9PVVRQVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MCiAgICAgICAgLy8hIFxkZXRhaWxzCiAgICAgICAgLy8hICAgICBUaGlzIGZpZWxkIGNvbnRyb2xzIHRoZSBwcmlvcml0eSBvZiBhcmJpdHJhdGlvbiB1c2VkIGluIHRoZSBHQUMvR0FNCiAgICAgICAgLy8hICAgICBwaXBlbGluZSBmb3IgdGhpcyBzdXJmYWNlLgogICAgICAgIGVudW0gU0tJTl9TQ09SRV9PVVRQVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MCiAgICAgICAgewogICAgICAgICAgICBTS0lOX1NDT1JFX09VVFBVVF9TVVJGQUNFX0FSQklUUkFUSU9OX1BSSU9SSVRZX0NPTlRST0xfSElHSEVTVFBSSU9SSVRZID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgU0tJTl9TQ09SRV9PVVRQVVRfU1VSRkFDRV9BUkJJVFJBVElPTl9QUklPUklUWV9DT05UUk9MX1NFQ09OREhJR0hFU1RQUklPUklUWSA9IDEsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIFNLSU5fU0NPUkVfT1VUUFVUX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9USElSREhJR0hFU1RQUklPUklUWSA9IDIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgICAgIFNLSU5fU0NPUkVfT1VUUFVUX1NVUkZBQ0VfQVJCSVRSQVRJT05fUFJJT1JJVFlfQ09OVFJPTF9MT1dFU1RQUklPUklUWSA9IDMsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxuYW1lIEluaXRpYWxpemF0aW9ucwoKICAgICAgICAvLyEgXGJyaWVmIEV4cGxpY2l0IG1lbWJlciBpbml0aWFsaXphdGlvbiBmdW5jdGlvbgogICAgICAgIFZFQl9ESV9JRUNQX0NNRCgpOwoKICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGR3U2l6ZSA9IDI0OwogICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYnl0ZVNpemUgPSA5NjsKICAgIH07CgogICAgLy8hCiAgICAvLyEgXGJyaWVmIEdhbXV0X0V4cGFuc2lvbl9HYW1tYV9Db3JyZWN0aW9uCiAgICAvLyEgXGRldGFpbHMKICAgIC8vISAgICAgVGhlIGRlZmF1bHQgdmFsdWVzIGZvbGxvdyB0aGUgcGF0dGVybiBzdWdnZXN0ZWQgYnkgaW5jb21wbGV0ZSB0YWJsZQogICAgLy8hICAgICBiZWxvdy4gCiAgICAvLyEgICAgIAogICAgc3RydWN0IEdhbXV0X0V4cGFuc2lvbl9HYW1tYV9Db3JyZWN0aW9uX0NNRAogICAgewogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8wCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUwICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8wCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUwICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8wCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUwICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8wCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUwICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFczOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMiAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMyAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTMgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzEyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMyAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTMgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxNDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTMgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWU0ICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNCAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV80CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0ICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxNzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNCAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTQgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV80CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWU0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfNAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNCAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMjAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTUgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV81CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1ICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyMDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAyMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTUgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV81CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzIxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWU1ICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNSAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMjMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV81CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1ICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyMzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAyNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNiAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTYgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV82CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzI0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWU2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfNgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNiAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMjYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTYgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV82CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2ICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyNjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAyNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTYgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV82CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzI3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWU3ICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNyAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMjkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV83CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3ICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcyOTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAzMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNyAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTcgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV83CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzMwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWU3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfNwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNyAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMzIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTggICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV84CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4ICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFczMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAzMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTggICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV84CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzMzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWU4ICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOCAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMzUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV84CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4ICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFczNTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAzNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOSAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTkgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV85CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzM2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWU5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfOQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOSAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMzgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTkgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV85CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5ICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFczODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAzOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTkgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV85CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzM5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0MDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0MzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTEgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTEgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTExICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0NjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzExCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTIgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0OTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTIgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTIgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzUxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDUyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1MjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTMgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1NTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE0ICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1ODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1ICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTUgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzYwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDYxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1ICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2MTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTUgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTUgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzYzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2ICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2NDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2ICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTYgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2ICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2NzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTcgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTcgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDcwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE3ICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3MDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4ICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTggICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzcyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDczCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4ICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3MzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTggICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xOAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTggICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5ICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3NjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5ICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTkgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5ICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3OTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzgxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIwICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4MjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjEgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUyMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMjEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4NTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjEgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTIxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjEgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4ODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjIgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzkwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDkxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUyMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMjIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5MTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjMgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTIzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjMgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzkzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIzICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5NDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0ICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMjQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0ICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5NzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yNAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjUgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTAwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTAxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjUgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTAyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTAzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjYgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTA0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTA1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjYgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTA2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTA3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjcgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTA4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTA5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDExMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjcgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTEwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDExMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTExOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDExMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjggICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyOCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTEyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDExMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjggICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyOCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTEzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDExNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjggICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyOCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTE0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDExNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjggICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyOCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTE1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDExNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjkgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyOSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTE2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDExNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyOSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTE3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDExOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjkgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyOSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTE4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDExOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyOSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTE5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEyMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMzAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzMCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTIwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEyMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzMwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzMCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTIxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEyMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMzAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzMCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTIyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEyMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzMwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzMCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTIzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEyNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMzEgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzMSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTI0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEyNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzMxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzMSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTI1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEyNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMzEgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzMSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTI2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEyNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzMxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzMSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTI3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEyOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMzIgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzMiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTI4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEyOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzMyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzMiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTI5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEzMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMzIgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzMiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTMwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEzMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzMyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzMiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTMxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEzMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMzMgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzMyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTMyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEzMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzMzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzMyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTMzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEzNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMzMgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzMyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTM0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEzNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzMzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzMyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTM1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEzNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMzQgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzNCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTM2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEzNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzM0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzNCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTM3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEzOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMzQgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzNCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTM4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEzOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzM0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzNCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTM5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE0MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMzUgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzNSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTQwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE0MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzM1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzNSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTQxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE0MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMzUgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzNSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTQyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE0MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzM1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzNSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTQzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE0NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMzYgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzNiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTQ0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE0NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzM2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzNiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTQ1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE0NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMzYgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzNiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTQ2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE0NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzM2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzNiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTQ3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE0OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMzcgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzNyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTQ4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE0OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMzcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzM3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzNyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTQ5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE1MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMzcgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzNyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTUwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE1MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMzcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzM3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzNyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTUxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE1MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMzggICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzOCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTUyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE1MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMzggICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzM4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzOCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTUzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE1NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMzggICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzOCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTU0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE1NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMzggICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzM4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzOCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTU1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE1NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMzkgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzOSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTU2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE1NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMzkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzM5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzOSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTU3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE1OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMzkgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzOSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTU4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE1OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMzkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzM5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUzOSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTU5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE2MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNDAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTYwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE2MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTYxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE2MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNDAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTYyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE2MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTYzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE2NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNDEgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTY0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE2NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTY1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE2NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNDEgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTY2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE2NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTY3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE2OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNDIgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTY4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE2OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTY5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE3MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNDIgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTcwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE3MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTcxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE3MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNDMgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTcyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE3MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTczOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE3NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNDMgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTc0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE3NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTc1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE3NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNDQgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTc2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE3NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQ0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTc3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE3OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNDQgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTc4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE3OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQ0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTc5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE4MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNDUgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTgwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE4MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQ1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTgxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE4MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNDUgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTgyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE4MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQ1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTgzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE4NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNDYgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTg0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE4NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQ2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTg1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE4NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNDYgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTg2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE4NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQ2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTg3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE4OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNDcgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTg4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE4OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQ3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTg5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE5MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNDcgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTkwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE5MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQ3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTkxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE5MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNDggICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTkyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE5MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQ4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTkzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE5NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNDggICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTk0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE5NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQ4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTk1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE5NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNDkgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTk2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE5NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNDkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQ5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTk3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE5OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNDkgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTk4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDE5OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNDkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQ5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU0OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNDkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTk5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIwMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNTAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjAwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIwMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzUwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjAxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIwMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNTAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjAyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIwMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzUwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjAzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIwNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNTEgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjA0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIwNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzUxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjA1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIwNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNTEgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjA2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIwNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzUxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjA3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIwOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNTIgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjA4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIwOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzUyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjA5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIxMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNTIgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjEwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIxMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzUyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjExOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIxMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNTMgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjEyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIxMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzUzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjEzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIxNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNTMgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjE0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIxNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzUzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjE1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIxNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNTQgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjE2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIxNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzU0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjE3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIxOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNTQgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjE4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIxOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzU0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjE5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIyMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNTUgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjIwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIyMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzU1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjIxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIyMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNTUgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjIyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIyMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzU1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjIzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIyNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNTYgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjI0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIyNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzU2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjI1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIyNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNTYgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjI2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIyNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzU2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjI3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIyOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNTcgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjI4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIyOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzU3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjI5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIzMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNTcgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjMwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIzMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzU3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjMxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIzMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNTggICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjMyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIzMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzU4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjMzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIzNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNTggICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjM0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIzNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzU4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjM1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIzNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNTkgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjM2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIzNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzU5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjM3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIzOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNTkgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjM4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDIzOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzU5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU1OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNTkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjM5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI0MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNjAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjQwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI0MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzYwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjQxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI0MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNjAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjQyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI0MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzYwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjQzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI0NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNjEgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjQ0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI0NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzYxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjQ1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI0NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNjEgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjQ2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI0NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzYxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjQ3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI0OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNjIgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjQ4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI0OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzYyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjQ5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI1MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNjIgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjUwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI1MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzYyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjUxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI1MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNjMgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjUyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI1MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzYzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjUzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI1NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNjMgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjU0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI1NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzYzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjU1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI1NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNjQgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjU2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI1NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzY0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjU3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI1OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNjQgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjU4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI1OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzY0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjU5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI2MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNjUgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjYwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI2MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzY1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjYxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI2MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNjUgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjYyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI2MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzY1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjYzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI2NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNjYgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjY0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI2NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzY2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjY1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI2NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNjYgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjY2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI2NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzY2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjY3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI2OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNjcgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjY4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI2OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNjcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzY3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjY5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI3MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNjcgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjcwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI3MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNjcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzY3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjcxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI3MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNjggICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjcyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI3MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNjggICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzY4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjczOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI3NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNjggICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjc0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI3NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNjggICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzY4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjc1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI3NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNjkgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjc2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI3NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNjkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzY5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjc3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI3OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNjkgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjc4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI3OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNjkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzY5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU2OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNjkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjc5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI4MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNzAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjgwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI4MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzcwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjgxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI4MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNzAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjgyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI4MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzcwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjgzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI4NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNzEgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjg0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI4NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzcxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjg1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI4NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNzEgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjg2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI4NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzcxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjg3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI4OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNzIgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjg4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI4OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzcyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjg5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI5MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNzIgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjkwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI5MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzcyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjkxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI5MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNzMgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzczCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjkyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI5MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzczCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjkzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI5NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNzMgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzczCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjk0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI5NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzczCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjk1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI5NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNzQgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjk2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI5NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzc0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjk3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI5OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNzQgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjk4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDI5OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzc0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjk5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMwMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNzUgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzAwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMwMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzc1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzAxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMwMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNzUgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzAyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMwMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzc1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzAzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMwNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNzYgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzA0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMwNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzc2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzA1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMwNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNzYgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzA2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMwNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzc2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzA3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMwOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNzcgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzA4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMwOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNzcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzc3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzA5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMxMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNzcgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzEwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMxMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNzcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzc3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzExOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMxMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNzggICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzEyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMxMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNzggICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzc4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzEzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMxNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNzggICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzE0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMxNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNzggICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzc4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzE1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMxNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNzkgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzE2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMxNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlNzkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzc5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzE3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMxOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlNzkgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzE4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMxOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlNzkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzc5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU3OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNzkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzE5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMyMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlODAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzIwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMyMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlODAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzgwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzIxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMyMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlODAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzIyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMyMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlODAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzgwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzIzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMyNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlODEgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzI0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMyNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlODEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzgxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzI1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMyNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlODEgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzI2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMyNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlODEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzgxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzI3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMyOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlODIgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzI4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMyOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlODIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzgyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzI5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMzMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlODIgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzMwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMzMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlODIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzgyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzMxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMzMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlODMgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzMyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMzMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlODMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzgzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzMzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMzNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlODMgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzM0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMzNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlODMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzgzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzM1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMzNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlODQgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzM2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMzNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlODQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzg0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzM3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMzOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlODQgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzM4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDMzOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlODQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzg0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzM5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM0MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlODUgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzQwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM0MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlODUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzg1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzQxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM0MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlODUgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzQyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM0MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlODUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzg1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzQzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM0NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlODYgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzQ0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM0NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlODYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzg2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzQ1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM0NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlODYgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzQ2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM0NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlODYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzg2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzQ3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM0OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlODcgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzQ4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM0OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlODcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzg3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzQ5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM1MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlODcgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzUwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM1MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlODcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzg3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzUxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM1MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlODggICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzUyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM1MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlODggICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzg4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzUzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM1NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlODggICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzU0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM1NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlODggICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzg4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzU1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM1NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlODkgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzU2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM1NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlODkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzg5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzU3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM1OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlODkgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzU4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM1OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlODkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzg5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU4OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfODkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzU5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM2MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOTAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzYwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM2MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlOTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzkwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzYxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM2MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOTAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzYyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM2MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlOTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzkwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5MCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzYzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM2NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOTEgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzY0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM2NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlOTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzkxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzY1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM2NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOTEgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzY2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM2NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlOTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzkxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5MSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzY3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM2OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOTIgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzY4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM2OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlOTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzkyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzY5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM3MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOTIgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzcwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM3MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlOTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzkyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5MiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzcxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM3MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOTMgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzcyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM3MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlOTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzkzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzczOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM3NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOTMgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzc0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM3NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlOTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzkzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5MyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzc1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM3NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOTQgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzc2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM3NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlOTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzk0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzc3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM3OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOTQgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzc4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM3OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlOTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzk0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5NCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzc5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM4MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOTUgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzgwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM4MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlOTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzk1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzgxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM4MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOTUgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzgyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM4MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlOTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzk1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5NSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzgzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM4NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOTYgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzg0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM4NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlOTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzk2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzg1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM4NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOTYgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzg2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM4NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlOTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzk2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5NiAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzg3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM4OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOTcgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzg4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM4OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlOTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzk3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzg5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM5MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOTcgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzkwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM5MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlOTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzk3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5NyAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzkxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM5MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOTggICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzkyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM5MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlOTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzk4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzkzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM5NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOTggICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzk0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM5NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlOTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzk4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5OCAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzk1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM5NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOTkgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzk2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM5NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlOTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzk5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzk3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM5OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlOTkgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzk4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDM5OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlOTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzk5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWU5OSAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOTkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMzk5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQwMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTAwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTAwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0MDA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDAxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxMDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTAwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMDAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQwMTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0MDIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwMCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwMCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDAyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQwMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEwMAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTAwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0MDM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDA0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMDEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMDEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQwNDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0MDUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTEwMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMDEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwMSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDA1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQwNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTAxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTAxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0MDY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDA3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxMDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTAxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMDEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQwNzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0MDgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwMiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwMiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDA4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQwOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTAyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEwMgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTAyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0MDk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDEwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMDIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMDIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQxMDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0MTEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTEwMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMDIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwMiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDExOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQxMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTAzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTAzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0MTI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDEzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxMDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTAzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMDMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQxMzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0MTQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwMyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwMyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDE0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQxNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTAzICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEwMwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTAzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0MTU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDE2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMDQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMDQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQxNjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0MTcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTEwNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMDQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwNCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDE3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQxOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTA0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTA0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0MTg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDE5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxMDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTA0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMDQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQxOTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0MjAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwNSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwNSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDIwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQyMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTA1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEwNQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTA1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0MjE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDIyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMDUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMDUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQyMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0MjMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTEwNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMDUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwNSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDIzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQyNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTA2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTA2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0MjQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDI1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxMDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTA2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMDYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQyNTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0MjYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwNiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwNiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDI2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQyNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTA2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEwNgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTA2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0Mjc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDI4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMDcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMDcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQyODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0MjkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTEwNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMDcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwNyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDI5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQzMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTA3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTA3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0MzA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDMxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxMDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTA3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMDcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQzMTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0MzIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwOCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwOCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDMyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQzMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTA4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEwOAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTA4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwOAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0MzM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDM0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMDggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMDggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQzNDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0MzUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTEwOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMDgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwOCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDM1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQzNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTA5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwOQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTA5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwOQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0MzY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDM3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxMDkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTA5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMDkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQzNzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0MzgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwOSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEwOSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDM4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQzOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTA5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEwOQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTA5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwOQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0Mzk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDQwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ0MDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0NDEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTExMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMTAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTExMCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDQxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ0MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTEwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTEwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0NDI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDQzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTEwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ0MzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0NDQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTExMSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTExMSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDQ0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ0NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTExICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzExMQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTExICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0NDU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDQ2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTExCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTExCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ0NjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0NDcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTExMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMTEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTExMSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDQ3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ0OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTEyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTEyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0NDg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDQ5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTEyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ0OTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0NTAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTExMiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTExMiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDUwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ1MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzExMgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTEyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0NTE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDUyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ1MjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0NTMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTExMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMTMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTExMyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDUzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ1NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTEzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTEzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0NTQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDU1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxMTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTEzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ1NTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0NTYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTExNCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTExNCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDU2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ1NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTE0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzExNAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTE0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExNAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0NTc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDU4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ1ODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0NTkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTExNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMTQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTExNCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDU5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ2MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTE1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExNQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTE1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExNQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0NjA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDYxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxMTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTE1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ2MTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0NjIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTExNSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTExNSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDYyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ2MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTE1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzExNQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTE1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExNQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0NjM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDY0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ2NDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0NjUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTExNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMTYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTExNiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDY1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ2NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTE2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExNgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTE2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExNgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0NjY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDY3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTE2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ2NzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0NjgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTExNyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTExNyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDY4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ2OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTE3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzExNwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTE3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExNwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0Njk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDcwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ3MDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0NzEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTExNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMTcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTExNyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDcxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ3MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTE4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExOAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTE4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExOAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0NzI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDczCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxMTggICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTE4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ3MzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0NzQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTExOCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTExOCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDc0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ3NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTE4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzExOAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTE4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExOAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0NzU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDc2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ3NjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0NzcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTExOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMTkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTExOSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDc3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ3OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTE5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExOQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTE5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExOQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0Nzg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDc5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxMTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTE5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMTkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ3OTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0ODAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyMCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyMCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDgwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ4MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEyMAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTIwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyMAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0ODE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDgyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMjAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMjAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ4MjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0ODMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTEyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMjAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyMCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDgzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ4NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTIxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyMQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTIxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyMQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0ODQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDg1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxMjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTIxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMjEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ4NTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0ODYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyMSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyMSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDg2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ4NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTIxICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEyMQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTIxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyMQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0ODc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDg4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMjIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMjIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ4ODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0ODkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTEyMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMjIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyMiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDg5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ5MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTIyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyMgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTIyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyMgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0OTA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDkxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxMjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTIyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMjIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ5MTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0OTIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyMyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyMyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDkyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ5MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTIzICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEyMwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTIzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyMwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0OTM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDk0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMjMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMjMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ5NDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0OTUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTEyMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMjMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyMyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDk1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ5NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTI0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTI0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0OTY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNDk3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxMjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTI0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMjQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzQ5NzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA0OTgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyNCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyNCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNDk4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDQ5OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEyNAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTI0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc0OTk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTAwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMjUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMjUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzUwMDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1MDEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTEyNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMjUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyNSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTAxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDUwMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTI1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTI1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1MDI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTAzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxMjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTI1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMjUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzUwMzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1MDQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyNiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyNiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTA0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDUwNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTI2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEyNgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTI2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1MDU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTA2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMjYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMjYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzUwNjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1MDcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTEyNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMjYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyNiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTA3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDUwOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTI3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTI3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1MDg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTA5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxMjcgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTI3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMjcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzUwOTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1MTAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyNyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyNyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTEwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDUxMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTI3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEyNwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTI3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1MTE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTEyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMjggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMjggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzUxMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1MTMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTEyOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMjgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyOCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTEzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDUxNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTI4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyOAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTI4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyOAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1MTQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTE1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxMjggICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTI4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMjggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzUxNTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1MTYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyOSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyOSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTE2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDUxNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTI5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEyOQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTI5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyOQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1MTc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTE4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMjkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMjkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzUxODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1MTkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTEyOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMjkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEyOSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTE5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDUyMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTMwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTMwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1MjA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTIxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxMzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTMwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMzAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzUyMTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1MjIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzMCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzMCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTIyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDUyMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEzMAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTMwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1MjM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTI0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMzEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMzEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzUyNDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1MjUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTEzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMzEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzMSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTI1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDUyNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTMxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTMxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1MjY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTI3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTMxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMzEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzUyNzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1MjgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzMiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzMiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTI4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDUyOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEzMgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTMyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1Mjk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTMwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMzIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMzIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzUzMDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1MzEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTEzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMzIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzMiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTMxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDUzMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTMzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTMzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1MzI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTMzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxMzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTMzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMzMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzUzMzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1MzQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzMyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzMyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTM0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDUzNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTMzICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEzMwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTMzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1MzU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTM2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMzQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMzQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzUzNjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1MzcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTEzNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMzQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzNCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTM3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDUzOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTM0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTM0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1Mzg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTM5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxMzQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTM0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMzQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzUzOTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1NDAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzNSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzNSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTQwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU0MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTM1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEzNQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTM1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1NDE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTQyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMzUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMzUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU0MjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1NDMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTEzNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMzUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzNSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTQzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU0NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTM2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTM2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1NDQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTQ1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxMzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTM2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMzYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU0NTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1NDYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzNiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzNiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTQ2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU0NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTM2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEzNgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTM2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1NDc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTQ4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMzcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMzcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU0ODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1NDkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTEzNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMzcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzNyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTQ5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU1MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTM3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTM3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1NTA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTUxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxMzcgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTM3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMzcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU1MTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1NTIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzOCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzOCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTUyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU1MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTM4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEzOAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTM4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzOAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1NTM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTU0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMzggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMzggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU1NDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1NTUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTEzOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMzgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzOCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTU1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU1NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTM5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzOQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTM5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzOQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1NTY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTU3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxMzkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTM5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxMzkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU1NzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1NTgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzOSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTEzOSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTU4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU1OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTM5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEzOQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTM5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzOQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1NTk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTYwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU2MDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1NjEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNDAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE0MCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTYxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU2MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1NjI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTYzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxNDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTQwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU2MzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1NjQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE0MSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE0MSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTY0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU2NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE0MQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1NjU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTY2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU2NjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1NjcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE0MSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNDEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE0MSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTY3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU2OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1Njg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTY5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxNDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTQyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU2OTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1NzAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE0MiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE0MiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTcwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU3MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTQyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE0MgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1NzE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTcyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU3MjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1NzMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE0MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNDMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE0MyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTczOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU3NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1NzQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTc1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxNDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTQzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU3NTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1NzYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE0NCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE0NCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTc2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU3NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE0NAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQ0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0NAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1Nzc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTc4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU3ODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1NzkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNDQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE0NCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTc5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU4MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQ1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0NQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQ1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0NQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1ODA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTgxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxNDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTQ1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU4MTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1ODIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE0NSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE0NSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTgyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU4MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTQ1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE0NQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQ1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0NQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1ODM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTg0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU4NDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1ODUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE0NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNDYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE0NiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTg1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU4NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQ2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0NgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQ2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0NgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1ODY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTg3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxNDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTQ2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU4NzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1ODgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE0NyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE0NyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTg4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU4OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTQ3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE0NwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQ3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0NwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1ODk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTkwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU5MDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1OTEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE0NyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNDcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE0NyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTkxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU5MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQ4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0OAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQ4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0OAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1OTI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTkzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxNDggICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTQ4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU5MzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1OTQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE0OCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE0OCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTk0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU5NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE0OAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQ4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0OAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1OTU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTk2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU5NjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA1OTcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE0OSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNDkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE0OSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNTk3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDU5OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQ5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0OQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTQ5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0OQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc1OTg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNTk5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxNDkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTQ5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNDkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzU5OTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2MDAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1MCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1MCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjAwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDYwMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTUwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE1MAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTUwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1MAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2MDE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjAyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNTAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNTAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzYwMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2MDMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE1MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNTAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1MCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjAzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDYwNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTUxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1MQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTUxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1MQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2MDQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjA1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxNTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTUxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNTEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzYwNTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2MDYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1MSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1MSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjA2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDYwNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTUxICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE1MQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTUxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1MQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2MDc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjA4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNTIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNTIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzYwODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2MDkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE1MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNTIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1MiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjA5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDYxMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTUyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1MgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTUyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1MgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2MTA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjExCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxNTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTUyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNTIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzYxMTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2MTIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1MyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1MyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjEyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDYxMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTUzICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE1MwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTUzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1MwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2MTM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjE0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNTMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNTMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzYxNDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2MTUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE1MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNTMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1MyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjE1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDYxNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTU0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1NAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTU0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1NAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2MTY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjE3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxNTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTU0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNTQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzYxNzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2MTgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1NCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1NCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjE4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDYxOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTU0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE1NAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTU0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1NAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2MTk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjIwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNTUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNTUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzYyMDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2MjEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE1NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNTUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1NSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjIxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDYyMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTU1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1NQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTU1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1NQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2MjI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjIzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxNTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTU1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNTUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzYyMzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2MjQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1NiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1NiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjI0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDYyNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTU2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE1NgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTU2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1NgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2MjU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjI2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNTYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNTYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzYyNjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2MjcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNTYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1NiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjI3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDYyOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTU3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1NwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTU3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1NwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2Mjg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjI5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxNTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTU3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNTcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzYyOTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2MzAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1NyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1NyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjMwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDYzMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTU3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE1NwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTU3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1NwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2MzE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjMyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNTggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNTggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzYzMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2MzMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE1OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNTgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1OCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjMzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDYzNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTU4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1OAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTU4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1OAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2MzQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjM1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxNTggICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTU4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNTggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzYzNTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2MzYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1OSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1OSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjM2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDYzNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTU5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE1OQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTU5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1OQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2Mzc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjM4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNTkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNTkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzYzODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2MzkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE1OSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNTkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE1OSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjM5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY0MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTYwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2MAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTYwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2MAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2NDA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjQxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxNjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTYwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNjAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY0MTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2NDIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2MCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2MCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjQyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY0MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTYwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE2MAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTYwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2MAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2NDM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjQ0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNjEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNjEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY0NDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2NDUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE2MSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNjEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2MSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjQ1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY0NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTYxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2MQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTYxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2MQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2NDY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjQ3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxNjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTYxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNjEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY0NzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2NDgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2MiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2MiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjQ4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY0OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTYyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE2MgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTYyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2MgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2NDk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjUwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNjIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNjIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY1MDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2NTEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE2MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNjIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2MiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjUxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY1MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTYzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2MwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTYzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2MwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2NTI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjUzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxNjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTYzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNjMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY1MzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2NTQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2MyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2MyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjU0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY1NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTYzICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE2MwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTYzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2MwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2NTU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjU2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNjQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNjQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY1NjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2NTcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNjQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2NCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjU3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY1OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTY0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTY0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2NTg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjU5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxNjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTY0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNjQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY1OTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2NjAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2NSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2NSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjYwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY2MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTY1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE2NQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTY1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2NjE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjYyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNjUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNjUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY2MjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2NjMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE2NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNjUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2NSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjYzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY2NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTY2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTY2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2NjQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjY1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxNjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTY2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNjYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY2NTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2NjYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2NiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2NiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjY2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY2NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTY2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE2NgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTY2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2Njc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjY4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNjcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNjcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY2ODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2NjkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE2NyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNjcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2NyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjY5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY3MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTY3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTY3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2NzA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjcxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxNjcgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTY3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNjcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY3MTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2NzIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2OCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2OCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjcyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY3MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTY4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE2OAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTY4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2OAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2NzM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjc0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNjggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNjggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY3NDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2NzUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE2OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNjgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2OCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjc1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY3NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTY5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2OQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTY5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2OQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2NzY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjc3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxNjkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTY5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNjkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY3NzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2NzgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2OSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE2OSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjc4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY3OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTY5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE2OQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTY5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2OQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2Nzk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjgwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY4MDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2ODEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE3MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNzAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE3MCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjgxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY4MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTcwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTcwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2ODI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjgzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxNzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTcwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY4MzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2ODQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE3MSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE3MSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjg0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY4NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTcxICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE3MQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTcxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2ODU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjg2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY4NjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2ODcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE3MSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNzEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE3MSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjg3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY4OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTcyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTcyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2ODg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjg5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxNzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTcyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY4OTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2OTAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE3MiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE3MiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjkwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY5MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTcyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE3MgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTcyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2OTE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjkyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTczCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTczCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY5MjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2OTMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE3MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNzMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE3MyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjkzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY5NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTczICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTczICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2OTQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjk1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxNzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTczCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTczCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY5NTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2OTYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE3NCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE3NCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjk2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDY5NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTc0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE3NAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTc0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3NAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc2OTc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNjk4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzY5ODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA2OTkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE3NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNzQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE3NCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNjk5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDcwMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTc1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3NQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTc1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3NQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3MDA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzAxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxNzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTc1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzcwMTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3MDIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE3NSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE3NSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzAyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDcwMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTc1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE3NQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTc1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3NQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3MDM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzA0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzcwNDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3MDUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE3NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNzYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE3NiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzA1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDcwNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTc2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3NgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTc2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3NgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3MDY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzA3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxNzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTc2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzcwNzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3MDgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE3NyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE3NyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzA4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDcwOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTc3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE3NwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTc3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3NwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3MDk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzEwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzcxMDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3MTEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE3NyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNzcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE3NyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzExOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDcxMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTc4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3OAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTc4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3OAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3MTI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzEzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxNzggICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTc4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzcxMzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3MTQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE3OCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE3OCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzE0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDcxNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTc4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE3OAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTc4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3OAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3MTU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzE2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzcxNjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3MTcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE3OSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNzkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE3OSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzE3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDcxOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTc5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3OQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTc5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3OQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3MTg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzE5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxNzkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTc5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxNzkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzcxOTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3MjAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4MCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4MCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzIwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDcyMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTgwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE4MAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTgwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4MAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3MjE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzIyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxODAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxODAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzcyMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3MjMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE4MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xODAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4MCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzIzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDcyNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTgxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4MQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTgxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4MQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3MjQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzI1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxODEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTgxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxODEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzcyNTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3MjYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4MSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4MSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzI2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDcyNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTgxICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE4MQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTgxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4MQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3Mjc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzI4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxODIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxODIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzcyODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3MjkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE4MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xODIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4MiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzI5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDczMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTgyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4MgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTgyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4MgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3MzA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzMxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxODIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTgyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxODIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzczMTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3MzIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4MyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4MyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzMyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDczMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTgzICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE4MwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTgzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4MwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3MzM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzM0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxODMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxODMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzczNDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3MzUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE4MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xODMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4MyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzM1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDczNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTg0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4NAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTg0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4NAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3MzY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzM3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxODQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTg0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxODQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzczNzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3MzgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4NCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4NCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzM4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDczOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTg0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE4NAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTg0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4NAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3Mzk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzQwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxODUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxODUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc0MDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3NDEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE4NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xODUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4NSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzQxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc0MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTg1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4NQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTg1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4NQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3NDI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzQzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxODUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTg1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxODUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc0MzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3NDQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4NiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4NiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzQ0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc0NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTg2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE4NgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTg2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4NgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3NDU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzQ2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxODYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxODYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc0NjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3NDcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE4NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xODYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4NiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzQ3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc0OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTg3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4NwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTg3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4NwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3NDg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzQ5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxODcgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTg3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxODcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc0OTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3NTAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4NyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4NyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzUwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc1MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTg3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE4NwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTg3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4NwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3NTE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzUyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxODggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxODggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc1MjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3NTMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE4OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xODgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4OCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzUzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc1NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTg4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4OAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTg4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4OAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3NTQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzU1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxODggICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTg4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxODggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc1NTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3NTYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4OSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4OSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzU2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc1NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTg5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE4OQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTg5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4OQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3NTc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzU4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxODkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxODkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc1ODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3NTkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE4OSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xODkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE4OSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzU5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc2MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTkwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5MAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTkwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5MAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3NjA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzYxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxOTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTkwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOTAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc2MTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3NjIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5MCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5MCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzYyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc2MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTkwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE5MAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTkwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5MAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3NjM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzY0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOTEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOTEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc2NDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3NjUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE5MSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xOTEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5MSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzY1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc2NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTkxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5MQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTkxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5MQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3NjY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzY3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxOTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTkxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOTEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc2NzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3NjgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5MiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5MiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzY4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc2OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTkyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE5MgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTkyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5MgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3Njk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzcwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOTIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOTIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc3MDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3NzEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE5MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xOTIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5MiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzcxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc3MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTkzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5MwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTkzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5MwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3NzI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzczCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxOTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTkzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOTMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc3MzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3NzQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5MyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5MyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzc0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc3NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTkzICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE5MwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTkzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5MwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3NzU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzc2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOTQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOTQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc3NjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3NzcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE5NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xOTQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5NCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzc3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc3OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTk0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTk0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3Nzg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzc5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxOTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTk0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOTQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc3OTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3ODAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5NSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5NSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzgwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc4MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTk1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE5NQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTk1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3ODE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzgyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOTUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOTUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc4MjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3ODMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE5NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xOTUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5NSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzgzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc4NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTk2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTk2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3ODQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzg1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxOTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTk2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOTYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc4NTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3ODYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5NiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5NiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzg2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc4NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTk2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE5NgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTk2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3ODc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzg4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOTcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOTcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc4ODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3ODkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTE5NyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8xOTcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5NyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzg5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc5MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTk3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTk3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3OTA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzkxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUxOTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMTk3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOTcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc5MTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3OTIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5OCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5OCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzkyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc5MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMTk4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE5OAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTk4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5OAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3OTM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzk0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOTggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOTggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc5NDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3OTUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTE5OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8xOTgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5OCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzk1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc5NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTk5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5OQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTk5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5OQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3OTY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgNzk3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUxOTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMTk5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUxOTkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzc5NzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA3OTgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5OSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTE5OSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXNzk4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDc5OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMTk5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE5OQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMTk5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5OQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc3OTk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODAwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzgwMDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4MDEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTIwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMDAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIwMCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODAxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgwMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjAwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjAwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4MDI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODAzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUyMDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMjAwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzgwMzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4MDQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIwMSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIwMSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODA0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgwNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIwMQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjAxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4MDU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODA2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzgwNjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4MDcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTIwMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMDEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIwMSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODA3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgwOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjAyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjAyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4MDg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODA5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUyMDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMjAyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzgwOTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4MTAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIwMiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIwMiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODEwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgxMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjAyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIwMgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjAyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4MTE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODEyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzgxMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4MTMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTIwMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMDMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIwMyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODEzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgxNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjAzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjAzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4MTQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODE1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUyMDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMjAzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzgxNTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4MTYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIwNCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIwNCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODE2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgxNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIwNAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjA0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwNAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4MTc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODE4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzgxODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4MTkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTIwNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMDQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIwNCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODE5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgyMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjA1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwNQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjA1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwNQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4MjA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODIxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUyMDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMjA1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzgyMTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4MjIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIwNSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIwNSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODIyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgyMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjA1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIwNQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjA1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwNQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4MjM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODI0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzgyNDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4MjUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTIwNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMDYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIwNiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODI1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgyNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjA2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwNgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjA2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwNgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4MjY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODI3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUyMDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMjA2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzgyNzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4MjgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIwNyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIwNyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODI4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgyOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjA3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIwNwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjA3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwNwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4Mjk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODMwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzgzMDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4MzEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTIwNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMDcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIwNyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODMxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgzMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjA4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwOAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjA4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwOAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4MzI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODMzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUyMDggICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMjA4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzgzMzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4MzQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIwOCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIwOCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODM0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgzNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjA4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIwOAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjA4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwOAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4MzU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODM2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzgzNjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4MzcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTIwOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMDkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIwOSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODM3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDgzOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjA5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwOQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjA5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwOQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4Mzg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODM5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUyMDkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMjA5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMDkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzgzOTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4NDAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxMCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxMCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODQwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg0MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIxMAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjEwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxMAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4NDE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODQyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMTAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMTAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg0MjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4NDMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTIxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMTAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxMCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODQzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg0NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjExICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxMQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjExICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxMQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4NDQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODQ1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUyMTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMjExCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMTEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjExCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg0NTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4NDYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxMSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxMSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODQ2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg0NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjExICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIxMQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjExICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxMQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4NDc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODQ4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMTIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMTIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg0ODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4NDkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTIxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMTIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxMiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODQ5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg1MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjEyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxMgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjEyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxMgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4NTA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODUxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUyMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMjEyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMTIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg1MTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4NTIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxMyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxMyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODUyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg1MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjEzICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIxMwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjEzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxMwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4NTM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODU0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMTMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMTMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg1NDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4NTUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTIxMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMTMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxMyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODU1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg1NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjE0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjE0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4NTY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODU3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUyMTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMjE0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMTQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg1NzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4NTgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxNCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxNCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODU4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg1OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjE0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIxNAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjE0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4NTk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODYwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMTUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMTUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg2MDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4NjEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTIxNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMTUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxNSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODYxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg2MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjE1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjE1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4NjI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODYzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUyMTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMjE1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMTUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg2MzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4NjQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxNiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxNiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODY0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg2NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIxNgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjE2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4NjU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODY2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMTYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMTYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg2NjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4NjcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTIxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMTYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxNiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODY3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg2OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjE3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjE3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4Njg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODY5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUyMTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMjE3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMTcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg2OTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4NzAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxNyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxNyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODcwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg3MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjE3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIxNwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjE3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4NzE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODcyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMTggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMTggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg3MjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4NzMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTIxOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMTgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxOCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODczOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg3NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjE4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxOAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjE4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxOAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4NzQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODc1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUyMTggICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMjE4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMTggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg3NTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4NzYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxOSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxOSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODc2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg3NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjE5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIxOQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjE5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxOQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4Nzc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODc4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMTkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMTkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg3ODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4NzkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTIxOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMTkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIxOSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODc5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg4MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjIwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjIwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4ODA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODgxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUyMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMjIwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMjAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg4MTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4ODIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyMCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyMCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODgyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg4MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIyMAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjIwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4ODM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODg0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMjEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMjEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg4NDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4ODUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTIyMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMjEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyMSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODg1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg4NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjIxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjIxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4ODY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODg3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUyMjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMjIxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMjEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg4NzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4ODgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyMiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyMiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODg4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg4OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjIyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIyMgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjIyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4ODk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODkwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMjIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMjIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg5MDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4OTEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTIyMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMjIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyMiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODkxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg5MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjIzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjIzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4OTI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODkzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUyMjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMjIzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMjMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg5MzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4OTQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyMyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyMyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODk0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg5NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjIzICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIyMwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjIzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4OTU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODk2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMjQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMjQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg5NjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA4OTcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTIyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMjQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyNCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXODk3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDg5OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjI0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjI0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc4OTg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgODk5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUyMjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMjI0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMjQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzg5OTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5MDAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyNSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyNSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTAwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDkwMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjI1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIyNQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjI1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5MDE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTAyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMjUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMjUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzkwMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5MDMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTIyNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMjUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyNSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTAzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDkwNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjI2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjI2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5MDQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTA1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUyMjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMjI2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMjYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzkwNTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5MDYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyNiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyNiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTA2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDkwNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjI2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIyNgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjI2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5MDc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTA4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMjcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMjcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzkwODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5MDkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTIyNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMjcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyNyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTA5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDkxMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjI3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjI3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5MTA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTExCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUyMjcgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMjI3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMjcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzkxMTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5MTIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyOCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyOCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTEyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDkxMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjI4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIyOAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjI4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyOAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5MTM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTE0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMjggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMjggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzkxNDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5MTUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTIyOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMjgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyOCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTE1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDkxNgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjI5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyOQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjI5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyOQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5MTY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTE3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUyMjkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMjI5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMjkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzkxNzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5MTgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyOSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIyOSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTE4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDkxOQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjI5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIyOQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjI5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyOQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5MTk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTIwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzkyMDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5MjEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTIzMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMzAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIzMCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTIxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDkyMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjMwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjMwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5MjI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTIzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUyMzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMjMwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzkyMzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5MjQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIzMSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIzMSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTI0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDkyNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIzMQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjMxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5MjU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTI2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzkyNjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5MjcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTIzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMzEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIzMSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTI3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDkyOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjMyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjMyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5Mjg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTI5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUyMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMjMyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzkyOTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5MzAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIzMiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIzMiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTMwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDkzMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIzMgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjMyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5MzE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTMyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzkzMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5MzMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTIzMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMzMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIzMyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTMzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDkzNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjMzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjMzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5MzQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTM1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUyMzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMjMzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzkzNTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5MzYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIzNCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIzNCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTM2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDkzNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjM0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIzNAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjM0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzNAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5Mzc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTM4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzkzODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5MzkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTIzNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMzQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIzNCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTM5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk0MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjM1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzNQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjM1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzNQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5NDA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTQxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUyMzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMjM1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk0MTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5NDIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIzNSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIzNSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTQyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk0MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjM1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIzNQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjM1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzNQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5NDM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTQ0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk0NDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5NDUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTIzNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMzYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIzNiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTQ1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk0NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjM2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzNgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjM2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzNgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5NDY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTQ3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUyMzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMjM2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk0NzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5NDgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIzNyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIzNyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTQ4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk0OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjM3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIzNwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjM3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzNwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5NDk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTUwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk1MDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5NTEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTIzNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMzcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIzNyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTUxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk1MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjM4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzOAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjM4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzOAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5NTI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTUzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUyMzggICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMjM4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk1MzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5NTQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIzOCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIzOCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTU0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk1NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjM4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIzOAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjM4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzOAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5NTU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTU2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk1NjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5NTcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTIzOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMzkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTIzOSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTU3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk1OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjM5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzOQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjM5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzOQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5NTg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTU5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUyMzkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMjM5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyMzkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk1OTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5NjAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0MCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0MCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTYwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk2MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI0MAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0MAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5NjE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTYyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNDAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNDAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk2MjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5NjMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTI0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yNDAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0MCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTYzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk2NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0MQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0MQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5NjQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTY1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUyNDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMjQxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNDEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk2NTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5NjYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0MSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0MSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTY2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk2NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjQxICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI0MQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0MQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5Njc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTY4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNDIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNDIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk2ODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5NjkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTI0MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yNDIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0MiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTY5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk3MAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0MgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0MgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5NzA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTcxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUyNDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMjQyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNDIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk3MTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5NzIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0MyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0MyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTcyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk3MwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjQzICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI0MwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0MwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5NzM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTc0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNDMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNDMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk3NDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5NzUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTI0MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yNDMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0MyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTc1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk3NgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQ0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0NAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQ0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0NAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5NzY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTc3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUyNDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMjQ0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNDQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk3NzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5NzgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0NCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0NCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTc4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk3OQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI0NAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQ0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0NAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5Nzk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTgwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNDUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNDUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk4MDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5ODEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTI0NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yNDUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0NSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTgxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk4MgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQ1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0NQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQ1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0NQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5ODI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTgzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUyNDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMjQ1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNDUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk4MzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5ODQKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0NiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0NiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTg0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk4NQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjQ2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI0NgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQ2ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0NgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5ODU7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTg2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNDYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ2CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNDYgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ2CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk4NjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5ODcKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTI0NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yNDYKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0NiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDYKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTg3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk4OAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQ3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0NwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQ3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0NwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5ODg7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTg5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUyNDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMjQ3CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNDcgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ3CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk4OTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5OTAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0NyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDcKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0NyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDcKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTkwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk5MQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjQ3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI0NwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQ3ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0NwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5OTE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTkyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNDggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNDggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk5MjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5OTMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTI0OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yNDgKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0OCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDgKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTkzOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk5NAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQ4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0OAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQ4ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0OAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5OTQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTk1CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUyNDggICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMjQ4CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNDggICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ4CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk5NTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5OTYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0OSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0OSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTk2OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDk5NwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjQ5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI0OQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjQ5ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0OQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFc5OTc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgOTk4CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNDkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ5CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNDkgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ5CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzk5ODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCA5OTkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTI0OSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yNDkKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI0OSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDkKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXOTk5OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwMDAKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI1MCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI1MCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTAwMDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxMDAxCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUyNTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMjUwCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNTAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUwCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzEwMDE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTAwMgogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjUwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1MAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjUwICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1MAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMDAyOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwMDMKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTI1MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yNTAKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI1MCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTAwMzsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxMDA0CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNTEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNTEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzEwMDQ7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTAwNQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjUxICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI1MQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjUxICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1MQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMDA1OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwMDYKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI1MSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTEKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI1MSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTEKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTAwNjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxMDA3CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUyNTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMjUxCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNTEgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUxCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzEwMDc7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTAwOAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjUyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1MgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjUyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1MgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMDA4OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwMDkKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTI1MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yNTIKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI1MiAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTAwOTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxMDEwCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNTIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUyCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNTIgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUyCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzEwMTA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTAxMQogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI1MgogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjUyICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1MgogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMDExOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwMTIKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI1MyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI1MyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTAxMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxMDEzCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVBpeGVsVmFsdWUyNTMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfUElYRUxfVkFMVUVfMjUzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNTMgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUzCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzEwMTM7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTAxNAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjUzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1MwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjUzICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1MwogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMDE0OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwMTUKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUGl4ZWxWYWx1ZTI1MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9QSVhFTF9WQUxVRV8yNTMKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI1MyAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTMKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTAxNTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxMDE2CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNTQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjU0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZUJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNTQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjU0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzEwMTY7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTAxNwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VQaXhlbFZhbHVlMjU0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI1NAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjU0ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1NAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMDE3OwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwMTgKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkR0NoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI1NCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkQkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI1NCAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTAxODsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxMDE5CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFBpeGVsVmFsdWUyNTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfUElYRUxfVkFMVUVfMjU0CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZFJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNTQgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjU0CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzEwMTk7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTAyMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjU1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1NQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VCQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjU1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1NQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMDIwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICAvLyE8IERXT1JEIDEwMjEKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUGl4ZWxWYWx1ZTI1NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDAsIDE1KSAgICA7IC8vITwgSU5WRVJTRV9QSVhFTF9WQUxVRV8yNTUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlUkNoR2FtbWFDb3JyZWN0ZWRWYWx1ZTI1NSAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKSAgICA7IC8vITwgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTAyMTsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgLy8hPCBEV09SRCAxMDIyCiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEdDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNTUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAwLCAxNSkgICAgOyAvLyE8IEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjU1CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaEdhbW1hQ29ycmVjdGVkVmFsdWUyNTUgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSkgICAgOyAvLyE8IEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjU1CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzEwMjI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMTAyMwogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRQaXhlbFZhbHVlMjU1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgMTUpICAgIDsgLy8hPCBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI1NQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRSQ2hHYW1tYUNvcnJlY3RlZFZhbHVlMjU1ICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpICAgIDsgLy8hPCBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1NQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxMDIzOwoKICAgICAgICAvLyEgXG5hbWUgTG9jYWwgZW51bWVyYXRpb25zCgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8wCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzBfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8wX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMF9VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8wCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzBfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8wX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMF9VTk5BTUVEMCAgICAgICAgICAgICAgICAgICAgPSAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8wCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzBfVU5OQU1FRDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8wX1VOTkFNRUQwICAgICAgICAgICAgICAgICAgICA9IDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMV9VTk5BTUVEMjU2ICAgICAgICAgICAgICAgICAgPSAyNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMV9VTk5BTUVEMjU2ICAgICAgICAgICAgICAgICAgPSAyNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMV9VTk5BTUVEMjU2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMV9VTk5BTUVEMjU2ICAgICAgICAgICAgICAgICAgPSAyNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMV9VTk5BTUVEMjU2ICAgICAgICAgICAgICAgICAgPSAyNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMV9VTk5BTUVEMjU2ICAgICAgICAgICAgICAgICAgPSAyNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMV9VTk5BTUVEMjU2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMV9VTk5BTUVEMjU2ICAgICAgICAgICAgICAgICAgPSAyNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMl9VTk5BTUVENTEyICAgICAgICAgICAgICAgICAgPSA1MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMl9VTk5BTUVENTEyICAgICAgICAgICAgICAgICAgPSA1MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMl9VTk5BTUVENTEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMl9VTk5BTUVENTEyICAgICAgICAgICAgICAgICAgPSA1MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMl9VTk5BTUVENTEyICAgICAgICAgICAgICAgICAgPSA1MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMl9VTk5BTUVENTEyICAgICAgICAgICAgICAgICAgPSA1MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMl9VTk5BTUVENTEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMl9VTk5BTUVENTEyICAgICAgICAgICAgICAgICAgPSA1MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfM19VTk5BTUVENzY4ICAgICAgICAgICAgICAgICAgPSA3NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfM19VTk5BTUVENzY4ICAgICAgICAgICAgICAgICAgPSA3NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfM19VTk5BTUVENzY4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA3NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfM19VTk5BTUVENzY4ICAgICAgICAgICAgICAgICAgPSA3NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfM19VTk5BTUVENzY4ICAgICAgICAgICAgICAgICAgPSA3NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfM19VTk5BTUVENzY4ICAgICAgICAgICAgICAgICAgPSA3NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfM19VTk5BTUVENzY4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA3NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfM19VTk5BTUVENzY4ICAgICAgICAgICAgICAgICAgPSA3NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNF9VTk5BTUVEMTAyNCAgICAgICAgICAgICAgICAgPSAxMDI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV80CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzRfVU5OQU1FRDEwMjQgICAgICAgICAgICAgICAgID0gMTAyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfNAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV80X1VOTkFNRUQxMDI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEwMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNF9VTk5BTUVEMTAyNCAgICAgICAgICAgICAgICAgPSAxMDI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV80CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzRfVU5OQU1FRDEwMjQgICAgICAgICAgICAgICAgID0gMTAyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV80X1VOTkFNRUQxMDI0ICAgICAgICAgICAgICAgICA9IDEwMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfNF9VTk5BTUVEMTAyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMDI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV80CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzRfVU5OQU1FRDEwMjQgICAgICAgICAgICAgICAgID0gMTAyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV81X1VOTkFNRUQxMjgwICAgICAgICAgICAgICAgICA9IDEyODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNV9VTk5BTUVEMTI4MCAgICAgICAgICAgICAgICAgPSAxMjgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV81CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzVfVU5OQU1FRDEyODAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTI4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV81X1VOTkFNRUQxMjgwICAgICAgICAgICAgICAgICA9IDEyODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNV9VTk5BTUVEMTI4MCAgICAgICAgICAgICAgICAgPSAxMjgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV81CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzVfVU5OQU1FRDEyODAgICAgICAgICAgICAgICAgID0gMTI4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfNQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV81X1VOTkFNRUQxMjgwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEyODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNV9VTk5BTUVEMTI4MCAgICAgICAgICAgICAgICAgPSAxMjgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV82CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzZfVU5OQU1FRDE1MzYgICAgICAgICAgICAgICAgID0gMTUzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV82X1VOTkFNRUQxNTM2ICAgICAgICAgICAgICAgICA9IDE1MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfNl9VTk5BTUVEMTUzNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxNTM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV82CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzZfVU5OQU1FRDE1MzYgICAgICAgICAgICAgICAgID0gMTUzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV82X1VOTkFNRUQxNTM2ICAgICAgICAgICAgICAgICA9IDE1MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNl9VTk5BTUVEMTUzNiAgICAgICAgICAgICAgICAgPSAxNTM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV82CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzZfVU5OQU1FRDE1MzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTUzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV82X1VOTkFNRUQxNTM2ICAgICAgICAgICAgICAgICA9IDE1MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfN19VTk5BTUVEMTc5MiAgICAgICAgICAgICAgICAgPSAxNzkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV83CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzdfVU5OQU1FRDE3OTIgICAgICAgICAgICAgICAgID0gMTc5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfNwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV83X1VOTkFNRUQxNzkyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDE3OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfN19VTk5BTUVEMTc5MiAgICAgICAgICAgICAgICAgPSAxNzkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV83CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzdfVU5OQU1FRDE3OTIgICAgICAgICAgICAgICAgID0gMTc5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfNwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV83X1VOTkFNRUQxNzkyICAgICAgICAgICAgICAgICA9IDE3OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfN19VTk5BTUVEMTc5MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxNzkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV83CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzdfVU5OQU1FRDE3OTIgICAgICAgICAgICAgICAgID0gMTc5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV84X1VOTkFNRUQyMDQ4ICAgICAgICAgICAgICAgICA9IDIwNDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOF9VTk5BTUVEMjA0OCAgICAgICAgICAgICAgICAgPSAyMDQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV84CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzhfVU5OQU1FRDIwNDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjA0OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV84X1VOTkFNRUQyMDQ4ICAgICAgICAgICAgICAgICA9IDIwNDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOF9VTk5BTUVEMjA0OCAgICAgICAgICAgICAgICAgPSAyMDQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV84CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzhfVU5OQU1FRDIwNDggICAgICAgICAgICAgICAgID0gMjA0OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfOAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV84X1VOTkFNRUQyMDQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDIwNDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOF9VTk5BTUVEMjA0OCAgICAgICAgICAgICAgICAgPSAyMDQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV85CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzlfVU5OQU1FRDIzMDQgICAgICAgICAgICAgICAgID0gMjMwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV85X1VOTkFNRUQyMzA0ICAgICAgICAgICAgICAgICA9IDIzMDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfOV9VTk5BTUVEMjMwNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyMzA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV85CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzlfVU5OQU1FRDIzMDQgICAgICAgICAgICAgICAgID0gMjMwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV85X1VOTkFNRUQyMzA0ICAgICAgICAgICAgICAgICA9IDIzMDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOV9VTk5BTUVEMjMwNCAgICAgICAgICAgICAgICAgPSAyMzA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV85CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzlfVU5OQU1FRDIzMDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjMwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfOQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV85X1VOTkFNRUQyMzA0ICAgICAgICAgICAgICAgICA9IDIzMDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwX1VOTkFNRUQyNTYwICAgICAgICAgICAgICAgID0gMjU2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTBfVU5OQU1FRDI1NjAgICAgICAgICAgICAgICAgPSAyNTYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xMAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMF9VTk5BTUVEMjU2MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI1NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwX1VOTkFNRUQyNTYwICAgICAgICAgICAgICAgID0gMjU2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTBfVU5OQU1FRDI1NjAgICAgICAgICAgICAgICAgPSAyNTYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMF9VTk5BTUVEMjU2MCAgICAgICAgICAgICAgICA9IDI1NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEwX1VOTkFNRUQyNTYwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjU2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTBfVU5OQU1FRDI1NjAgICAgICAgICAgICAgICAgPSAyNTYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMV9VTk5BTUVEMjgxNiAgICAgICAgICAgICAgICA9IDI4MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExX1VOTkFNRUQyODE2ICAgICAgICAgICAgICAgID0gMjgxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTFfVU5OQU1FRDI4MTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyODE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMV9VTk5BTUVEMjgxNiAgICAgICAgICAgICAgICA9IDI4MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExX1VOTkFNRUQyODE2ICAgICAgICAgICAgICAgID0gMjgxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTFfVU5OQU1FRDI4MTYgICAgICAgICAgICAgICAgPSAyODE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xMQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMV9VTk5BTUVEMjgxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI4MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExX1VOTkFNRUQyODE2ICAgICAgICAgICAgICAgID0gMjgxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTJfVU5OQU1FRDMwNzIgICAgICAgICAgICAgICAgPSAzMDcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMl9VTk5BTUVEMzA3MiAgICAgICAgICAgICAgICA9IDMwNzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEyX1VOTkFNRUQzMDcyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzA3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTJfVU5OQU1FRDMwNzIgICAgICAgICAgICAgICAgPSAzMDcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMl9VTk5BTUVEMzA3MiAgICAgICAgICAgICAgICA9IDMwNzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyX1VOTkFNRUQzMDcyICAgICAgICAgICAgICAgID0gMzA3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTJfVU5OQU1FRDMwNzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzMDcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMl9VTk5BTUVEMzA3MiAgICAgICAgICAgICAgICA9IDMwNzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzX1VOTkFNRUQzMzI4ICAgICAgICAgICAgICAgID0gMzMyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTNfVU5OQU1FRDMzMjggICAgICAgICAgICAgICAgPSAzMzI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xMwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xM19VTk5BTUVEMzMyOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMzMjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzX1VOTkFNRUQzMzI4ICAgICAgICAgICAgICAgID0gMzMyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTNfVU5OQU1FRDMzMjggICAgICAgICAgICAgICAgPSAzMzI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xM19VTk5BTUVEMzMyOCAgICAgICAgICAgICAgICA9IDMzMjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEzX1VOTkFNRUQzMzI4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzMyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTNfVU5OQU1FRDMzMjggICAgICAgICAgICAgICAgPSAzMzI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNF9VTk5BTUVEMzU4NCAgICAgICAgICAgICAgICA9IDM1ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0X1VOTkFNRUQzNTg0ICAgICAgICAgICAgICAgID0gMzU4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTRfVU5OQU1FRDM1ODQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzNTg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNF9VTk5BTUVEMzU4NCAgICAgICAgICAgICAgICA9IDM1ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0X1VOTkFNRUQzNTg0ICAgICAgICAgICAgICAgID0gMzU4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTRfVU5OQU1FRDM1ODQgICAgICAgICAgICAgICAgPSAzNTg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xNAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNF9VTk5BTUVEMzU4NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDM1ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0X1VOTkFNRUQzNTg0ICAgICAgICAgICAgICAgID0gMzU4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTVfVU5OQU1FRDM4NDAgICAgICAgICAgICAgICAgPSAzODQwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNV9VTk5BTUVEMzg0MCAgICAgICAgICAgICAgICA9IDM4NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE1X1VOTkFNRUQzODQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzg0MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTVfVU5OQU1FRDM4NDAgICAgICAgICAgICAgICAgPSAzODQwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNV9VTk5BTUVEMzg0MCAgICAgICAgICAgICAgICA9IDM4NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1X1VOTkFNRUQzODQwICAgICAgICAgICAgICAgID0gMzg0MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTVfVU5OQU1FRDM4NDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzODQwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNV9VTk5BTUVEMzg0MCAgICAgICAgICAgICAgICA9IDM4NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2X1VOTkFNRUQ0MDk2ICAgICAgICAgICAgICAgID0gNDA5NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTZfVU5OQU1FRDQwOTYgICAgICAgICAgICAgICAgPSA0MDk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xNgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNl9VTk5BTUVENDA5NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQwOTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2X1VOTkFNRUQ0MDk2ICAgICAgICAgICAgICAgID0gNDA5NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTZfVU5OQU1FRDQwOTYgICAgICAgICAgICAgICAgPSA0MDk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNl9VTk5BTUVENDA5NiAgICAgICAgICAgICAgICA9IDQwOTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE2X1VOTkFNRUQ0MDk2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDA5NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTZfVU5OQU1FRDQwOTYgICAgICAgICAgICAgICAgPSA0MDk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xN19VTk5BTUVENDM1MiAgICAgICAgICAgICAgICA9IDQzNTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3X1VOTkFNRUQ0MzUyICAgICAgICAgICAgICAgID0gNDM1MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTdfVU5OQU1FRDQzNTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0MzUyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xN19VTk5BTUVENDM1MiAgICAgICAgICAgICAgICA9IDQzNTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3X1VOTkFNRUQ0MzUyICAgICAgICAgICAgICAgID0gNDM1MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTdfVU5OQU1FRDQzNTIgICAgICAgICAgICAgICAgPSA0MzUyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xNwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xN19VTk5BTUVENDM1MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQzNTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3X1VOTkFNRUQ0MzUyICAgICAgICAgICAgICAgID0gNDM1MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMThfVU5OQU1FRDQ2MDggICAgICAgICAgICAgICAgPSA0NjA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOF9VTk5BTUVENDYwOCAgICAgICAgICAgICAgICA9IDQ2MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE4X1VOTkFNRUQ0NjA4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDYwOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMThfVU5OQU1FRDQ2MDggICAgICAgICAgICAgICAgPSA0NjA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOF9VTk5BTUVENDYwOCAgICAgICAgICAgICAgICA9IDQ2MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4X1VOTkFNRUQ0NjA4ICAgICAgICAgICAgICAgID0gNDYwOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMThfVU5OQU1FRDQ2MDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0NjA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOF9VTk5BTUVENDYwOCAgICAgICAgICAgICAgICA9IDQ2MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5X1VOTkFNRUQ0ODY0ICAgICAgICAgICAgICAgID0gNDg2NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTlfVU5OQU1FRDQ4NjQgICAgICAgICAgICAgICAgPSA0ODY0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xOQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xOV9VTk5BTUVENDg2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ4NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5X1VOTkFNRUQ0ODY0ICAgICAgICAgICAgICAgID0gNDg2NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTlfVU5OQU1FRDQ4NjQgICAgICAgICAgICAgICAgPSA0ODY0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOV9VTk5BTUVENDg2NCAgICAgICAgICAgICAgICA9IDQ4NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE5X1VOTkFNRUQ0ODY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDg2NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTlfVU5OQU1FRDQ4NjQgICAgICAgICAgICAgICAgPSA0ODY0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMF9VTk5BTUVENTEyMCAgICAgICAgICAgICAgICA9IDUxMjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwX1VOTkFNRUQ1MTIwICAgICAgICAgICAgICAgID0gNTEyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjBfVU5OQU1FRDUxMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1MTIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMF9VTk5BTUVENTEyMCAgICAgICAgICAgICAgICA9IDUxMjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwX1VOTkFNRUQ1MTIwICAgICAgICAgICAgICAgID0gNTEyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjBfVU5OQU1FRDUxMjAgICAgICAgICAgICAgICAgPSA1MTIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yMAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMF9VTk5BTUVENTEyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDUxMjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwX1VOTkFNRUQ1MTIwICAgICAgICAgICAgICAgID0gNTEyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjFfVU5OQU1FRDUzNzYgICAgICAgICAgICAgICAgPSA1Mzc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMV9VTk5BTUVENTM3NiAgICAgICAgICAgICAgICA9IDUzNzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIxX1VOTkFNRUQ1Mzc2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTM3NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjFfVU5OQU1FRDUzNzYgICAgICAgICAgICAgICAgPSA1Mzc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMV9VTk5BTUVENTM3NiAgICAgICAgICAgICAgICA9IDUzNzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxX1VOTkFNRUQ1Mzc2ICAgICAgICAgICAgICAgID0gNTM3NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjFfVU5OQU1FRDUzNzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1Mzc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMV9VTk5BTUVENTM3NiAgICAgICAgICAgICAgICA9IDUzNzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyX1VOTkFNRUQ1NjMyICAgICAgICAgICAgICAgID0gNTYzMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjJfVU5OQU1FRDU2MzIgICAgICAgICAgICAgICAgPSA1NjMyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yMgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMl9VTk5BTUVENTYzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDU2MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyX1VOTkFNRUQ1NjMyICAgICAgICAgICAgICAgID0gNTYzMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjJfVU5OQU1FRDU2MzIgICAgICAgICAgICAgICAgPSA1NjMyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMl9VTk5BTUVENTYzMiAgICAgICAgICAgICAgICA9IDU2MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIyX1VOTkFNRUQ1NjMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTYzMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjJfVU5OQU1FRDU2MzIgICAgICAgICAgICAgICAgPSA1NjMyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yM19VTk5BTUVENTg4OCAgICAgICAgICAgICAgICA9IDU4ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzX1VOTkFNRUQ1ODg4ICAgICAgICAgICAgICAgID0gNTg4OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjNfVU5OQU1FRDU4ODggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1ODg4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yM19VTk5BTUVENTg4OCAgICAgICAgICAgICAgICA9IDU4ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzX1VOTkFNRUQ1ODg4ICAgICAgICAgICAgICAgID0gNTg4OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjNfVU5OQU1FRDU4ODggICAgICAgICAgICAgICAgPSA1ODg4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yMwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yM19VTk5BTUVENTg4OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDU4ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzX1VOTkFNRUQ1ODg4ICAgICAgICAgICAgICAgID0gNTg4OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjRfVU5OQU1FRDYxNDQgICAgICAgICAgICAgICAgPSA2MTQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNF9VTk5BTUVENjE0NCAgICAgICAgICAgICAgICA9IDYxNDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI0X1VOTkFNRUQ2MTQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjE0NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjRfVU5OQU1FRDYxNDQgICAgICAgICAgICAgICAgPSA2MTQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNF9VTk5BTUVENjE0NCAgICAgICAgICAgICAgICA9IDYxNDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0X1VOTkFNRUQ2MTQ0ICAgICAgICAgICAgICAgID0gNjE0NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjRfVU5OQU1FRDYxNDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2MTQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNF9VTk5BTUVENjE0NCAgICAgICAgICAgICAgICA9IDYxNDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1X1VOTkFNRUQ2NDAwICAgICAgICAgICAgICAgID0gNjQwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjVfVU5OQU1FRDY0MDAgICAgICAgICAgICAgICAgPSA2NDAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yNQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yNV9VTk5BTUVENjQwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDY0MDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1X1VOTkFNRUQ2NDAwICAgICAgICAgICAgICAgID0gNjQwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjVfVU5OQU1FRDY0MDAgICAgICAgICAgICAgICAgPSA2NDAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNV9VTk5BTUVENjQwMCAgICAgICAgICAgICAgICA9IDY0MDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI1X1VOTkFNRUQ2NDAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjQwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjVfVU5OQU1FRDY0MDAgICAgICAgICAgICAgICAgPSA2NDAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNl9VTk5BTUVENjY1NiAgICAgICAgICAgICAgICA9IDY2NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI2X1VOTkFNRUQ2NjU2ICAgICAgICAgICAgICAgID0gNjY1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjZfVU5OQU1FRDY2NTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2NjU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNl9VTk5BTUVENjY1NiAgICAgICAgICAgICAgICA9IDY2NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI2X1VOTkFNRUQ2NjU2ICAgICAgICAgICAgICAgID0gNjY1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjZfVU5OQU1FRDY2NTYgICAgICAgICAgICAgICAgPSA2NjU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yNgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yNl9VTk5BTUVENjY1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDY2NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI2X1VOTkFNRUQ2NjU2ICAgICAgICAgICAgICAgID0gNjY1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjdfVU5OQU1FRDY5MTIgICAgICAgICAgICAgICAgPSA2OTEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yN19VTk5BTUVENjkxMiAgICAgICAgICAgICAgICA9IDY5MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI3X1VOTkFNRUQ2OTEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjkxMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjdfVU5OQU1FRDY5MTIgICAgICAgICAgICAgICAgPSA2OTEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yN19VTk5BTUVENjkxMiAgICAgICAgICAgICAgICA9IDY5MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI3X1VOTkFNRUQ2OTEyICAgICAgICAgICAgICAgID0gNjkxMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjdfVU5OQU1FRDY5MTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2OTEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yN19VTk5BTUVENjkxMiAgICAgICAgICAgICAgICA9IDY5MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI4X1VOTkFNRUQ3MTY4ICAgICAgICAgICAgICAgID0gNzE2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjhfVU5OQU1FRDcxNjggICAgICAgICAgICAgICAgPSA3MTY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yOAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yOF9VTk5BTUVENzE2OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDcxNjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI4X1VOTkFNRUQ3MTY4ICAgICAgICAgICAgICAgID0gNzE2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjhfVU5OQU1FRDcxNjggICAgICAgICAgICAgICAgPSA3MTY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yOAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yOF9VTk5BTUVENzE2OCAgICAgICAgICAgICAgICA9IDcxNjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI4X1VOTkFNRUQ3MTY4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNzE2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjhfVU5OQU1FRDcxNjggICAgICAgICAgICAgICAgPSA3MTY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yOQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yOV9VTk5BTUVENzQyNCAgICAgICAgICAgICAgICA9IDc0MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI5X1VOTkFNRUQ3NDI0ICAgICAgICAgICAgICAgID0gNzQyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjlfVU5OQU1FRDc0MjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA3NDI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yOQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yOV9VTk5BTUVENzQyNCAgICAgICAgICAgICAgICA9IDc0MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI5X1VOTkFNRUQ3NDI0ICAgICAgICAgICAgICAgID0gNzQyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjlfVU5OQU1FRDc0MjQgICAgICAgICAgICAgICAgPSA3NDI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yOQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yOV9VTk5BTUVENzQyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDc0MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI5X1VOTkFNRUQ3NDI0ICAgICAgICAgICAgICAgID0gNzQyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzBfVU5OQU1FRDc2ODAgICAgICAgICAgICAgICAgPSA3NjgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zMAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zMF9VTk5BTUVENzY4MCAgICAgICAgICAgICAgICA9IDc2ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzMwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzMwX1VOTkFNRUQ3NjgwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNzY4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzBfVU5OQU1FRDc2ODAgICAgICAgICAgICAgICAgPSA3NjgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zMAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zMF9VTk5BTUVENzY4MCAgICAgICAgICAgICAgICA9IDc2ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMwX1VOTkFNRUQ3NjgwICAgICAgICAgICAgICAgID0gNzY4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMzAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMzBfVU5OQU1FRDc2ODAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA3NjgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zMAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zMF9VTk5BTUVENzY4MCAgICAgICAgICAgICAgICA9IDc2ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMxX1VOTkFNRUQ3OTM2ICAgICAgICAgICAgICAgID0gNzkzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzFfVU5OQU1FRDc5MzYgICAgICAgICAgICAgICAgPSA3OTM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8zMQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8zMV9VTk5BTUVENzkzNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDc5MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMxX1VOTkFNRUQ3OTM2ICAgICAgICAgICAgICAgID0gNzkzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzFfVU5OQU1FRDc5MzYgICAgICAgICAgICAgICAgPSA3OTM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zMQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zMV9VTk5BTUVENzkzNiAgICAgICAgICAgICAgICA9IDc5MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzMxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzMxX1VOTkFNRUQ3OTM2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNzkzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzFfVU5OQU1FRDc5MzYgICAgICAgICAgICAgICAgPSA3OTM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zMgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zMl9VTk5BTUVEODE5MiAgICAgICAgICAgICAgICA9IDgxOTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMyX1VOTkFNRUQ4MTkyICAgICAgICAgICAgICAgID0gODE5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMzIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMzJfVU5OQU1FRDgxOTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA4MTkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zMgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zMl9VTk5BTUVEODE5MiAgICAgICAgICAgICAgICA9IDgxOTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMyX1VOTkFNRUQ4MTkyICAgICAgICAgICAgICAgID0gODE5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzJfVU5OQU1FRDgxOTIgICAgICAgICAgICAgICAgPSA4MTkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8zMgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8zMl9VTk5BTUVEODE5MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDgxOTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMyX1VOTkFNRUQ4MTkyICAgICAgICAgICAgICAgID0gODE5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzNfVU5OQU1FRDg0NDggICAgICAgICAgICAgICAgPSA4NDQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zMwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zM19VTk5BTUVEODQ0OCAgICAgICAgICAgICAgICA9IDg0NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzMzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzMzX1VOTkFNRUQ4NDQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gODQ0OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzNfVU5OQU1FRDg0NDggICAgICAgICAgICAgICAgPSA4NDQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zMwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zM19VTk5BTUVEODQ0OCAgICAgICAgICAgICAgICA9IDg0NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzMzX1VOTkFNRUQ4NDQ4ICAgICAgICAgICAgICAgID0gODQ0OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMzMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMzNfVU5OQU1FRDg0NDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA4NDQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zMwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zM19VTk5BTUVEODQ0OCAgICAgICAgICAgICAgICA9IDg0NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM0X1VOTkFNRUQ4NzA0ICAgICAgICAgICAgICAgID0gODcwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzRfVU5OQU1FRDg3MDQgICAgICAgICAgICAgICAgPSA4NzA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8zNAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8zNF9VTk5BTUVEODcwNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDg3MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM0X1VOTkFNRUQ4NzA0ICAgICAgICAgICAgICAgID0gODcwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzRfVU5OQU1FRDg3MDQgICAgICAgICAgICAgICAgPSA4NzA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zNAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zNF9VTk5BTUVEODcwNCAgICAgICAgICAgICAgICA9IDg3MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzM0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzM0X1VOTkFNRUQ4NzA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gODcwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzRfVU5OQU1FRDg3MDQgICAgICAgICAgICAgICAgPSA4NzA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zNQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zNV9VTk5BTUVEODk2MCAgICAgICAgICAgICAgICA9IDg5NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM1X1VOTkFNRUQ4OTYwICAgICAgICAgICAgICAgID0gODk2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMzUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMzVfVU5OQU1FRDg5NjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA4OTYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zNQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zNV9VTk5BTUVEODk2MCAgICAgICAgICAgICAgICA9IDg5NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM1X1VOTkFNRUQ4OTYwICAgICAgICAgICAgICAgID0gODk2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzVfVU5OQU1FRDg5NjAgICAgICAgICAgICAgICAgPSA4OTYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8zNQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8zNV9VTk5BTUVEODk2MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDg5NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM1X1VOTkFNRUQ4OTYwICAgICAgICAgICAgICAgID0gODk2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzZfVU5OQU1FRDkyMTYgICAgICAgICAgICAgICAgPSA5MjE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zNgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zNl9VTk5BTUVEOTIxNiAgICAgICAgICAgICAgICA9IDkyMTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzM2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzM2X1VOTkFNRUQ5MjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gOTIxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzZfVU5OQU1FRDkyMTYgICAgICAgICAgICAgICAgPSA5MjE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zNgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zNl9VTk5BTUVEOTIxNiAgICAgICAgICAgICAgICA9IDkyMTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM2X1VOTkFNRUQ5MjE2ICAgICAgICAgICAgICAgID0gOTIxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMzYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMzZfVU5OQU1FRDkyMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA5MjE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zNgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zNl9VTk5BTUVEOTIxNiAgICAgICAgICAgICAgICA9IDkyMTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM3X1VOTkFNRUQ5NDcyICAgICAgICAgICAgICAgID0gOTQ3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzdfVU5OQU1FRDk0NzIgICAgICAgICAgICAgICAgPSA5NDcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8zNwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8zN19VTk5BTUVEOTQ3MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDk0NzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM3X1VOTkFNRUQ5NDcyICAgICAgICAgICAgICAgID0gOTQ3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzdfVU5OQU1FRDk0NzIgICAgICAgICAgICAgICAgPSA5NDcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zNwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zN19VTk5BTUVEOTQ3MiAgICAgICAgICAgICAgICA9IDk0NzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzM3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzM3X1VOTkFNRUQ5NDcyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gOTQ3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzdfVU5OQU1FRDk0NzIgICAgICAgICAgICAgICAgPSA5NDcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zOAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zOF9VTk5BTUVEOTcyOCAgICAgICAgICAgICAgICA9IDk3MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM4X1VOTkFNRUQ5NzI4ICAgICAgICAgICAgICAgID0gOTcyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMzgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMzhfVU5OQU1FRDk3MjggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA5NzI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zOAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zOF9VTk5BTUVEOTcyOCAgICAgICAgICAgICAgICA9IDk3MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM4X1VOTkFNRUQ5NzI4ICAgICAgICAgICAgICAgID0gOTcyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzhfVU5OQU1FRDk3MjggICAgICAgICAgICAgICAgPSA5NzI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8zOAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8zOF9VTk5BTUVEOTcyOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDk3MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM4X1VOTkFNRUQ5NzI4ICAgICAgICAgICAgICAgID0gOTcyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzlfVU5OQU1FRDk5ODQgICAgICAgICAgICAgICAgPSA5OTg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zOQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zOV9VTk5BTUVEOTk4NCAgICAgICAgICAgICAgICA9IDk5ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzM5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzM5X1VOTkFNRUQ5OTg0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gOTk4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMzlfVU5OQU1FRDk5ODQgICAgICAgICAgICAgICAgPSA5OTg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zOQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zOV9VTk5BTUVEOTk4NCAgICAgICAgICAgICAgICA9IDk5ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzM5X1VOTkFNRUQ5OTg0ICAgICAgICAgICAgICAgID0gOTk4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMzkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMzlfVU5OQU1FRDk5ODQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA5OTg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zOQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8zOV9VTk5BTUVEOTk4NCAgICAgICAgICAgICAgICA9IDk5ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQwX1VOTkFNRUQxMDI0MCAgICAgICAgICAgICAgID0gMTAyNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQwX1VOTkFNRUQxMDI0MCAgICAgICAgICAgICAgID0gMTAyNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQwX1VOTkFNRUQxMDI0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTAyNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQwX1VOTkFNRUQxMDI0MCAgICAgICAgICAgICAgID0gMTAyNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQwX1VOTkFNRUQxMDI0MCAgICAgICAgICAgICAgID0gMTAyNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQwX1VOTkFNRUQxMDI0MCAgICAgICAgICAgICAgID0gMTAyNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQwX1VOTkFNRUQxMDI0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTAyNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQwX1VOTkFNRUQxMDI0MCAgICAgICAgICAgICAgID0gMTAyNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQxX1VOTkFNRUQxMDQ5NiAgICAgICAgICAgICAgID0gMTA0OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQxX1VOTkFNRUQxMDQ5NiAgICAgICAgICAgICAgID0gMTA0OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQxX1VOTkFNRUQxMDQ5NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTA0OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQxX1VOTkFNRUQxMDQ5NiAgICAgICAgICAgICAgID0gMTA0OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQxX1VOTkFNRUQxMDQ5NiAgICAgICAgICAgICAgID0gMTA0OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQxX1VOTkFNRUQxMDQ5NiAgICAgICAgICAgICAgID0gMTA0OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQxX1VOTkFNRUQxMDQ5NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTA0OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQxX1VOTkFNRUQxMDQ5NiAgICAgICAgICAgICAgID0gMTA0OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQyX1VOTkFNRUQxMDc1MiAgICAgICAgICAgICAgID0gMTA3NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQyX1VOTkFNRUQxMDc1MiAgICAgICAgICAgICAgID0gMTA3NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQyX1VOTkFNRUQxMDc1MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTA3NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQyX1VOTkFNRUQxMDc1MiAgICAgICAgICAgICAgID0gMTA3NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQyX1VOTkFNRUQxMDc1MiAgICAgICAgICAgICAgID0gMTA3NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQyX1VOTkFNRUQxMDc1MiAgICAgICAgICAgICAgID0gMTA3NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQyX1VOTkFNRUQxMDc1MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTA3NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQyX1VOTkFNRUQxMDc1MiAgICAgICAgICAgICAgID0gMTA3NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQzX1VOTkFNRUQxMTAwOCAgICAgICAgICAgICAgID0gMTEwMDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQzX1VOTkFNRUQxMTAwOCAgICAgICAgICAgICAgID0gMTEwMDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQzX1VOTkFNRUQxMTAwOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTEwMDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQzX1VOTkFNRUQxMTAwOCAgICAgICAgICAgICAgID0gMTEwMDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQzX1VOTkFNRUQxMTAwOCAgICAgICAgICAgICAgID0gMTEwMDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQzX1VOTkFNRUQxMTAwOCAgICAgICAgICAgICAgID0gMTEwMDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQzX1VOTkFNRUQxMTAwOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTEwMDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQzX1VOTkFNRUQxMTAwOCAgICAgICAgICAgICAgID0gMTEwMDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ0X1VOTkFNRUQxMTI2NCAgICAgICAgICAgICAgID0gMTEyNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ0X1VOTkFNRUQxMTI2NCAgICAgICAgICAgICAgID0gMTEyNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQ0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQ0X1VOTkFNRUQxMTI2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTEyNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ0X1VOTkFNRUQxMTI2NCAgICAgICAgICAgICAgID0gMTEyNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ0X1VOTkFNRUQxMTI2NCAgICAgICAgICAgICAgID0gMTEyNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ0X1VOTkFNRUQxMTI2NCAgICAgICAgICAgICAgID0gMTEyNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQ0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQ0X1VOTkFNRUQxMTI2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTEyNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ0X1VOTkFNRUQxMTI2NCAgICAgICAgICAgICAgID0gMTEyNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ1X1VOTkFNRUQxMTUyMCAgICAgICAgICAgICAgID0gMTE1MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ1X1VOTkFNRUQxMTUyMCAgICAgICAgICAgICAgID0gMTE1MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQ1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQ1X1VOTkFNRUQxMTUyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTE1MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ1X1VOTkFNRUQxMTUyMCAgICAgICAgICAgICAgID0gMTE1MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ1X1VOTkFNRUQxMTUyMCAgICAgICAgICAgICAgID0gMTE1MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ1X1VOTkFNRUQxMTUyMCAgICAgICAgICAgICAgID0gMTE1MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQ1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQ1X1VOTkFNRUQxMTUyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTE1MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ1X1VOTkFNRUQxMTUyMCAgICAgICAgICAgICAgID0gMTE1MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ2X1VOTkFNRUQxMTc3NiAgICAgICAgICAgICAgID0gMTE3NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ2X1VOTkFNRUQxMTc3NiAgICAgICAgICAgICAgID0gMTE3NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQ2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQ2X1VOTkFNRUQxMTc3NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTE3NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ2X1VOTkFNRUQxMTc3NiAgICAgICAgICAgICAgID0gMTE3NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ2X1VOTkFNRUQxMTc3NiAgICAgICAgICAgICAgID0gMTE3NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ2X1VOTkFNRUQxMTc3NiAgICAgICAgICAgICAgID0gMTE3NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQ2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQ2X1VOTkFNRUQxMTc3NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTE3NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ2X1VOTkFNRUQxMTc3NiAgICAgICAgICAgICAgID0gMTE3NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ3X1VOTkFNRUQxMjAzMiAgICAgICAgICAgICAgID0gMTIwMzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ3X1VOTkFNRUQxMjAzMiAgICAgICAgICAgICAgID0gMTIwMzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQ3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQ3X1VOTkFNRUQxMjAzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTIwMzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ3X1VOTkFNRUQxMjAzMiAgICAgICAgICAgICAgID0gMTIwMzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ3X1VOTkFNRUQxMjAzMiAgICAgICAgICAgICAgID0gMTIwMzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ3X1VOTkFNRUQxMjAzMiAgICAgICAgICAgICAgID0gMTIwMzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQ3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQ3X1VOTkFNRUQxMjAzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTIwMzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ3X1VOTkFNRUQxMjAzMiAgICAgICAgICAgICAgID0gMTIwMzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ4X1VOTkFNRUQxMjI4OCAgICAgICAgICAgICAgID0gMTIyODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ4X1VOTkFNRUQxMjI4OCAgICAgICAgICAgICAgID0gMTIyODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQ4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQ4X1VOTkFNRUQxMjI4OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTIyODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ4X1VOTkFNRUQxMjI4OCAgICAgICAgICAgICAgID0gMTIyODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ4X1VOTkFNRUQxMjI4OCAgICAgICAgICAgICAgID0gMTIyODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ4X1VOTkFNRUQxMjI4OCAgICAgICAgICAgICAgID0gMTIyODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQ4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQ4X1VOTkFNRUQxMjI4OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTIyODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ4X1VOTkFNRUQxMjI4OCAgICAgICAgICAgICAgID0gMTIyODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ5X1VOTkFNRUQxMjU0NCAgICAgICAgICAgICAgID0gMTI1NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ5X1VOTkFNRUQxMjU0NCAgICAgICAgICAgICAgID0gMTI1NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQ5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzQ5X1VOTkFNRUQxMjU0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTI1NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ5X1VOTkFNRUQxMjU0NCAgICAgICAgICAgICAgID0gMTI1NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ5X1VOTkFNRUQxMjU0NCAgICAgICAgICAgICAgID0gMTI1NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ5X1VOTkFNRUQxMjU0NCAgICAgICAgICAgICAgID0gMTI1NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQ5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzQ5X1VOTkFNRUQxMjU0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTI1NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzQ5X1VOTkFNRUQxMjU0NCAgICAgICAgICAgICAgID0gMTI1NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUwX1VOTkFNRUQxMjgwMCAgICAgICAgICAgICAgID0gMTI4MDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUwX1VOTkFNRUQxMjgwMCAgICAgICAgICAgICAgID0gMTI4MDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzUwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzUwX1VOTkFNRUQxMjgwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTI4MDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUwX1VOTkFNRUQxMjgwMCAgICAgICAgICAgICAgID0gMTI4MDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUwX1VOTkFNRUQxMjgwMCAgICAgICAgICAgICAgID0gMTI4MDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUwX1VOTkFNRUQxMjgwMCAgICAgICAgICAgICAgID0gMTI4MDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzUwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzUwX1VOTkFNRUQxMjgwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTI4MDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUwX1VOTkFNRUQxMjgwMCAgICAgICAgICAgICAgID0gMTI4MDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUxX1VOTkFNRUQxMzA1NiAgICAgICAgICAgICAgID0gMTMwNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUxX1VOTkFNRUQxMzA1NiAgICAgICAgICAgICAgID0gMTMwNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzUxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzUxX1VOTkFNRUQxMzA1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTMwNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUxX1VOTkFNRUQxMzA1NiAgICAgICAgICAgICAgID0gMTMwNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUxX1VOTkFNRUQxMzA1NiAgICAgICAgICAgICAgID0gMTMwNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUxX1VOTkFNRUQxMzA1NiAgICAgICAgICAgICAgID0gMTMwNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzUxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzUxX1VOTkFNRUQxMzA1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTMwNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUxX1VOTkFNRUQxMzA1NiAgICAgICAgICAgICAgID0gMTMwNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUyX1VOTkFNRUQxMzMxMiAgICAgICAgICAgICAgID0gMTMzMTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUyX1VOTkFNRUQxMzMxMiAgICAgICAgICAgICAgID0gMTMzMTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzUyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzUyX1VOTkFNRUQxMzMxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTMzMTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUyX1VOTkFNRUQxMzMxMiAgICAgICAgICAgICAgID0gMTMzMTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUyX1VOTkFNRUQxMzMxMiAgICAgICAgICAgICAgID0gMTMzMTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUyX1VOTkFNRUQxMzMxMiAgICAgICAgICAgICAgID0gMTMzMTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzUyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzUyX1VOTkFNRUQxMzMxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTMzMTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUyX1VOTkFNRUQxMzMxMiAgICAgICAgICAgICAgID0gMTMzMTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUzX1VOTkFNRUQxMzU2OCAgICAgICAgICAgICAgID0gMTM1NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUzX1VOTkFNRUQxMzU2OCAgICAgICAgICAgICAgID0gMTM1NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzUzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzUzX1VOTkFNRUQxMzU2OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTM1NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUzX1VOTkFNRUQxMzU2OCAgICAgICAgICAgICAgID0gMTM1NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUzX1VOTkFNRUQxMzU2OCAgICAgICAgICAgICAgID0gMTM1NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUzX1VOTkFNRUQxMzU2OCAgICAgICAgICAgICAgID0gMTM1NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzUzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzUzX1VOTkFNRUQxMzU2OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTM1NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzUzX1VOTkFNRUQxMzU2OCAgICAgICAgICAgICAgID0gMTM1NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU0X1VOTkFNRUQxMzgyNCAgICAgICAgICAgICAgID0gMTM4MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU0X1VOTkFNRUQxMzgyNCAgICAgICAgICAgICAgID0gMTM4MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzU0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzU0X1VOTkFNRUQxMzgyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTM4MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU0X1VOTkFNRUQxMzgyNCAgICAgICAgICAgICAgID0gMTM4MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU0X1VOTkFNRUQxMzgyNCAgICAgICAgICAgICAgID0gMTM4MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU0X1VOTkFNRUQxMzgyNCAgICAgICAgICAgICAgID0gMTM4MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzU0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzU0X1VOTkFNRUQxMzgyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTM4MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU0X1VOTkFNRUQxMzgyNCAgICAgICAgICAgICAgID0gMTM4MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU1X1VOTkFNRUQxNDA4MCAgICAgICAgICAgICAgID0gMTQwODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU1X1VOTkFNRUQxNDA4MCAgICAgICAgICAgICAgID0gMTQwODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzU1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzU1X1VOTkFNRUQxNDA4MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTQwODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU1X1VOTkFNRUQxNDA4MCAgICAgICAgICAgICAgID0gMTQwODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU1X1VOTkFNRUQxNDA4MCAgICAgICAgICAgICAgID0gMTQwODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU1X1VOTkFNRUQxNDA4MCAgICAgICAgICAgICAgID0gMTQwODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzU1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzU1X1VOTkFNRUQxNDA4MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTQwODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU1X1VOTkFNRUQxNDA4MCAgICAgICAgICAgICAgID0gMTQwODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU2X1VOTkFNRUQxNDMzNiAgICAgICAgICAgICAgID0gMTQzMzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU2X1VOTkFNRUQxNDMzNiAgICAgICAgICAgICAgID0gMTQzMzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzU2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzU2X1VOTkFNRUQxNDMzNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTQzMzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU2X1VOTkFNRUQxNDMzNiAgICAgICAgICAgICAgID0gMTQzMzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU2X1VOTkFNRUQxNDMzNiAgICAgICAgICAgICAgID0gMTQzMzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU2X1VOTkFNRUQxNDMzNiAgICAgICAgICAgICAgID0gMTQzMzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzU2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzU2X1VOTkFNRUQxNDMzNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTQzMzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU2X1VOTkFNRUQxNDMzNiAgICAgICAgICAgICAgID0gMTQzMzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU3X1VOTkFNRUQxNDU5MiAgICAgICAgICAgICAgID0gMTQ1OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU3X1VOTkFNRUQxNDU5MiAgICAgICAgICAgICAgID0gMTQ1OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzU3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzU3X1VOTkFNRUQxNDU5MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTQ1OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU3X1VOTkFNRUQxNDU5MiAgICAgICAgICAgICAgID0gMTQ1OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU3X1VOTkFNRUQxNDU5MiAgICAgICAgICAgICAgID0gMTQ1OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU3X1VOTkFNRUQxNDU5MiAgICAgICAgICAgICAgID0gMTQ1OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzU3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzU3X1VOTkFNRUQxNDU5MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTQ1OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU3X1VOTkFNRUQxNDU5MiAgICAgICAgICAgICAgID0gMTQ1OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU4X1VOTkFNRUQxNDg0OCAgICAgICAgICAgICAgID0gMTQ4NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU4X1VOTkFNRUQxNDg0OCAgICAgICAgICAgICAgID0gMTQ4NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzU4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzU4X1VOTkFNRUQxNDg0OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTQ4NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU4X1VOTkFNRUQxNDg0OCAgICAgICAgICAgICAgID0gMTQ4NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU4X1VOTkFNRUQxNDg0OCAgICAgICAgICAgICAgID0gMTQ4NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU4X1VOTkFNRUQxNDg0OCAgICAgICAgICAgICAgID0gMTQ4NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzU4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzU4X1VOTkFNRUQxNDg0OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTQ4NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU4X1VOTkFNRUQxNDg0OCAgICAgICAgICAgICAgID0gMTQ4NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU5X1VOTkFNRUQxNTEwNCAgICAgICAgICAgICAgID0gMTUxMDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU5X1VOTkFNRUQxNTEwNCAgICAgICAgICAgICAgID0gMTUxMDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzU5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzU5X1VOTkFNRUQxNTEwNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTUxMDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU5X1VOTkFNRUQxNTEwNCAgICAgICAgICAgICAgID0gMTUxMDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU5X1VOTkFNRUQxNTEwNCAgICAgICAgICAgICAgID0gMTUxMDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU5X1VOTkFNRUQxNTEwNCAgICAgICAgICAgICAgID0gMTUxMDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzU5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzU5X1VOTkFNRUQxNTEwNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTUxMDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzU5X1VOTkFNRUQxNTEwNCAgICAgICAgICAgICAgID0gMTUxMDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYwX1VOTkFNRUQxNTM2MCAgICAgICAgICAgICAgID0gMTUzNjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYwX1VOTkFNRUQxNTM2MCAgICAgICAgICAgICAgID0gMTUzNjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzYwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzYwX1VOTkFNRUQxNTM2MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTUzNjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYwX1VOTkFNRUQxNTM2MCAgICAgICAgICAgICAgID0gMTUzNjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYwX1VOTkFNRUQxNTM2MCAgICAgICAgICAgICAgID0gMTUzNjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYwX1VOTkFNRUQxNTM2MCAgICAgICAgICAgICAgID0gMTUzNjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzYwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzYwX1VOTkFNRUQxNTM2MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTUzNjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYwX1VOTkFNRUQxNTM2MCAgICAgICAgICAgICAgID0gMTUzNjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYxX1VOTkFNRUQxNTYxNiAgICAgICAgICAgICAgID0gMTU2MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYxX1VOTkFNRUQxNTYxNiAgICAgICAgICAgICAgID0gMTU2MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzYxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzYxX1VOTkFNRUQxNTYxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTU2MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYxX1VOTkFNRUQxNTYxNiAgICAgICAgICAgICAgID0gMTU2MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYxX1VOTkFNRUQxNTYxNiAgICAgICAgICAgICAgID0gMTU2MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYxX1VOTkFNRUQxNTYxNiAgICAgICAgICAgICAgID0gMTU2MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzYxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzYxX1VOTkFNRUQxNTYxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTU2MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYxX1VOTkFNRUQxNTYxNiAgICAgICAgICAgICAgID0gMTU2MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYyX1VOTkFNRUQxNTg3MiAgICAgICAgICAgICAgID0gMTU4NzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYyX1VOTkFNRUQxNTg3MiAgICAgICAgICAgICAgID0gMTU4NzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzYyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzYyX1VOTkFNRUQxNTg3MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTU4NzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYyX1VOTkFNRUQxNTg3MiAgICAgICAgICAgICAgID0gMTU4NzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYyX1VOTkFNRUQxNTg3MiAgICAgICAgICAgICAgID0gMTU4NzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYyX1VOTkFNRUQxNTg3MiAgICAgICAgICAgICAgID0gMTU4NzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzYyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzYyX1VOTkFNRUQxNTg3MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTU4NzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYyX1VOTkFNRUQxNTg3MiAgICAgICAgICAgICAgID0gMTU4NzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYzX1VOTkFNRUQxNjEyOCAgICAgICAgICAgICAgID0gMTYxMjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYzX1VOTkFNRUQxNjEyOCAgICAgICAgICAgICAgID0gMTYxMjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzYzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzYzX1VOTkFNRUQxNjEyOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTYxMjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYzX1VOTkFNRUQxNjEyOCAgICAgICAgICAgICAgID0gMTYxMjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYzX1VOTkFNRUQxNjEyOCAgICAgICAgICAgICAgID0gMTYxMjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYzX1VOTkFNRUQxNjEyOCAgICAgICAgICAgICAgID0gMTYxMjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzYzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzYzX1VOTkFNRUQxNjEyOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTYxMjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzYzX1VOTkFNRUQxNjEyOCAgICAgICAgICAgICAgID0gMTYxMjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY0X1VOTkFNRUQxNjM4NCAgICAgICAgICAgICAgID0gMTYzODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY0X1VOTkFNRUQxNjM4NCAgICAgICAgICAgICAgID0gMTYzODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzY0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzY0X1VOTkFNRUQxNjM4NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTYzODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY0X1VOTkFNRUQxNjM4NCAgICAgICAgICAgICAgID0gMTYzODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY0X1VOTkFNRUQxNjM4NCAgICAgICAgICAgICAgID0gMTYzODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY0X1VOTkFNRUQxNjM4NCAgICAgICAgICAgICAgID0gMTYzODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzY0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzY0X1VOTkFNRUQxNjM4NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTYzODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY0X1VOTkFNRUQxNjM4NCAgICAgICAgICAgICAgID0gMTYzODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY1X1VOTkFNRUQxNjY0MCAgICAgICAgICAgICAgID0gMTY2NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY1X1VOTkFNRUQxNjY0MCAgICAgICAgICAgICAgID0gMTY2NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzY1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzY1X1VOTkFNRUQxNjY0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTY2NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY1X1VOTkFNRUQxNjY0MCAgICAgICAgICAgICAgID0gMTY2NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY1X1VOTkFNRUQxNjY0MCAgICAgICAgICAgICAgID0gMTY2NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY1X1VOTkFNRUQxNjY0MCAgICAgICAgICAgICAgID0gMTY2NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzY1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzY1X1VOTkFNRUQxNjY0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTY2NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY1X1VOTkFNRUQxNjY0MCAgICAgICAgICAgICAgID0gMTY2NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY2X1VOTkFNRUQxNjg5NiAgICAgICAgICAgICAgID0gMTY4OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY2X1VOTkFNRUQxNjg5NiAgICAgICAgICAgICAgID0gMTY4OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzY2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzY2X1VOTkFNRUQxNjg5NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTY4OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY2X1VOTkFNRUQxNjg5NiAgICAgICAgICAgICAgID0gMTY4OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY2X1VOTkFNRUQxNjg5NiAgICAgICAgICAgICAgID0gMTY4OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY2X1VOTkFNRUQxNjg5NiAgICAgICAgICAgICAgID0gMTY4OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzY2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzY2X1VOTkFNRUQxNjg5NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTY4OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY2X1VOTkFNRUQxNjg5NiAgICAgICAgICAgICAgID0gMTY4OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY3X1VOTkFNRUQxNzE1MiAgICAgICAgICAgICAgID0gMTcxNTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY3X1VOTkFNRUQxNzE1MiAgICAgICAgICAgICAgID0gMTcxNTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzY3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzY3X1VOTkFNRUQxNzE1MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTcxNTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY3X1VOTkFNRUQxNzE1MiAgICAgICAgICAgICAgID0gMTcxNTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY3X1VOTkFNRUQxNzE1MiAgICAgICAgICAgICAgID0gMTcxNTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY3X1VOTkFNRUQxNzE1MiAgICAgICAgICAgICAgID0gMTcxNTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzY3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzY3X1VOTkFNRUQxNzE1MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTcxNTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY3X1VOTkFNRUQxNzE1MiAgICAgICAgICAgICAgID0gMTcxNTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY4X1VOTkFNRUQxNzQwOCAgICAgICAgICAgICAgID0gMTc0MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY4X1VOTkFNRUQxNzQwOCAgICAgICAgICAgICAgID0gMTc0MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzY4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzY4X1VOTkFNRUQxNzQwOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTc0MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY4X1VOTkFNRUQxNzQwOCAgICAgICAgICAgICAgID0gMTc0MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY4X1VOTkFNRUQxNzQwOCAgICAgICAgICAgICAgID0gMTc0MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY4X1VOTkFNRUQxNzQwOCAgICAgICAgICAgICAgID0gMTc0MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzY4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzY4X1VOTkFNRUQxNzQwOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTc0MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY4X1VOTkFNRUQxNzQwOCAgICAgICAgICAgICAgID0gMTc0MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY5X1VOTkFNRUQxNzY2NCAgICAgICAgICAgICAgID0gMTc2NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY5X1VOTkFNRUQxNzY2NCAgICAgICAgICAgICAgID0gMTc2NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzY5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzY5X1VOTkFNRUQxNzY2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTc2NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY5X1VOTkFNRUQxNzY2NCAgICAgICAgICAgICAgID0gMTc2NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY5X1VOTkFNRUQxNzY2NCAgICAgICAgICAgICAgID0gMTc2NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY5X1VOTkFNRUQxNzY2NCAgICAgICAgICAgICAgID0gMTc2NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzY5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzY5X1VOTkFNRUQxNzY2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTc2NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzY5X1VOTkFNRUQxNzY2NCAgICAgICAgICAgICAgID0gMTc2NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcwX1VOTkFNRUQxNzkyMCAgICAgICAgICAgICAgID0gMTc5MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcwX1VOTkFNRUQxNzkyMCAgICAgICAgICAgICAgID0gMTc5MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzcwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzcwX1VOTkFNRUQxNzkyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTc5MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcwX1VOTkFNRUQxNzkyMCAgICAgICAgICAgICAgID0gMTc5MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcwX1VOTkFNRUQxNzkyMCAgICAgICAgICAgICAgID0gMTc5MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcwX1VOTkFNRUQxNzkyMCAgICAgICAgICAgICAgID0gMTc5MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzcwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzcwX1VOTkFNRUQxNzkyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTc5MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcwX1VOTkFNRUQxNzkyMCAgICAgICAgICAgICAgID0gMTc5MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcxX1VOTkFNRUQxODE3NiAgICAgICAgICAgICAgID0gMTgxNzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcxX1VOTkFNRUQxODE3NiAgICAgICAgICAgICAgID0gMTgxNzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzcxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzcxX1VOTkFNRUQxODE3NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTgxNzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcxX1VOTkFNRUQxODE3NiAgICAgICAgICAgICAgID0gMTgxNzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcxX1VOTkFNRUQxODE3NiAgICAgICAgICAgICAgID0gMTgxNzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcxX1VOTkFNRUQxODE3NiAgICAgICAgICAgICAgID0gMTgxNzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzcxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzcxX1VOTkFNRUQxODE3NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTgxNzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcxX1VOTkFNRUQxODE3NiAgICAgICAgICAgICAgID0gMTgxNzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcyX1VOTkFNRUQxODQzMiAgICAgICAgICAgICAgID0gMTg0MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcyX1VOTkFNRUQxODQzMiAgICAgICAgICAgICAgID0gMTg0MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzcyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzcyX1VOTkFNRUQxODQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTg0MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcyX1VOTkFNRUQxODQzMiAgICAgICAgICAgICAgID0gMTg0MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcyX1VOTkFNRUQxODQzMiAgICAgICAgICAgICAgID0gMTg0MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcyX1VOTkFNRUQxODQzMiAgICAgICAgICAgICAgID0gMTg0MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzcyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzcyX1VOTkFNRUQxODQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTg0MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzcyX1VOTkFNRUQxODQzMiAgICAgICAgICAgICAgID0gMTg0MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzczCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzczX1VOTkFNRUQxODY4OCAgICAgICAgICAgICAgID0gMTg2ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzczCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzczX1VOTkFNRUQxODY4OCAgICAgICAgICAgICAgID0gMTg2ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzczCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzczX1VOTkFNRUQxODY4OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTg2ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzczCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzczX1VOTkFNRUQxODY4OCAgICAgICAgICAgICAgID0gMTg2ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzczCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzczX1VOTkFNRUQxODY4OCAgICAgICAgICAgICAgID0gMTg2ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzczCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzczX1VOTkFNRUQxODY4OCAgICAgICAgICAgICAgID0gMTg2ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzczCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzczX1VOTkFNRUQxODY4OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTg2ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzczCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzczX1VOTkFNRUQxODY4OCAgICAgICAgICAgICAgID0gMTg2ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc0X1VOTkFNRUQxODk0NCAgICAgICAgICAgICAgID0gMTg5NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc0X1VOTkFNRUQxODk0NCAgICAgICAgICAgICAgID0gMTg5NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzc0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzc0X1VOTkFNRUQxODk0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTg5NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc0X1VOTkFNRUQxODk0NCAgICAgICAgICAgICAgID0gMTg5NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc0X1VOTkFNRUQxODk0NCAgICAgICAgICAgICAgID0gMTg5NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc0X1VOTkFNRUQxODk0NCAgICAgICAgICAgICAgID0gMTg5NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzc0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzc0X1VOTkFNRUQxODk0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTg5NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc0X1VOTkFNRUQxODk0NCAgICAgICAgICAgICAgID0gMTg5NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc1X1VOTkFNRUQxOTIwMCAgICAgICAgICAgICAgID0gMTkyMDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc1X1VOTkFNRUQxOTIwMCAgICAgICAgICAgICAgID0gMTkyMDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzc1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzc1X1VOTkFNRUQxOTIwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTkyMDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc1X1VOTkFNRUQxOTIwMCAgICAgICAgICAgICAgID0gMTkyMDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc1X1VOTkFNRUQxOTIwMCAgICAgICAgICAgICAgID0gMTkyMDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc1X1VOTkFNRUQxOTIwMCAgICAgICAgICAgICAgID0gMTkyMDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzc1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzc1X1VOTkFNRUQxOTIwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTkyMDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc1X1VOTkFNRUQxOTIwMCAgICAgICAgICAgICAgID0gMTkyMDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc2X1VOTkFNRUQxOTQ1NiAgICAgICAgICAgICAgID0gMTk0NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc2X1VOTkFNRUQxOTQ1NiAgICAgICAgICAgICAgID0gMTk0NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzc2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzc2X1VOTkFNRUQxOTQ1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTk0NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc2X1VOTkFNRUQxOTQ1NiAgICAgICAgICAgICAgID0gMTk0NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc2X1VOTkFNRUQxOTQ1NiAgICAgICAgICAgICAgID0gMTk0NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc2X1VOTkFNRUQxOTQ1NiAgICAgICAgICAgICAgID0gMTk0NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzc2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzc2X1VOTkFNRUQxOTQ1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTk0NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc2X1VOTkFNRUQxOTQ1NiAgICAgICAgICAgICAgID0gMTk0NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc3X1VOTkFNRUQxOTcxMiAgICAgICAgICAgICAgID0gMTk3MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc3X1VOTkFNRUQxOTcxMiAgICAgICAgICAgICAgID0gMTk3MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzc3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzc3X1VOTkFNRUQxOTcxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTk3MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc3X1VOTkFNRUQxOTcxMiAgICAgICAgICAgICAgID0gMTk3MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc3X1VOTkFNRUQxOTcxMiAgICAgICAgICAgICAgID0gMTk3MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc3X1VOTkFNRUQxOTcxMiAgICAgICAgICAgICAgID0gMTk3MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzc3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzc3X1VOTkFNRUQxOTcxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTk3MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc3X1VOTkFNRUQxOTcxMiAgICAgICAgICAgICAgID0gMTk3MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc4X1VOTkFNRUQxOTk2OCAgICAgICAgICAgICAgID0gMTk5NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc4X1VOTkFNRUQxOTk2OCAgICAgICAgICAgICAgID0gMTk5NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzc4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzc4X1VOTkFNRUQxOTk2OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTk5NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc4X1VOTkFNRUQxOTk2OCAgICAgICAgICAgICAgID0gMTk5NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc4X1VOTkFNRUQxOTk2OCAgICAgICAgICAgICAgID0gMTk5NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc4X1VOTkFNRUQxOTk2OCAgICAgICAgICAgICAgID0gMTk5NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzc4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzc4X1VOTkFNRUQxOTk2OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTk5NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc4X1VOTkFNRUQxOTk2OCAgICAgICAgICAgICAgID0gMTk5NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc5X1VOTkFNRUQyMDIyNCAgICAgICAgICAgICAgID0gMjAyMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc5X1VOTkFNRUQyMDIyNCAgICAgICAgICAgICAgID0gMjAyMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzc5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzc5X1VOTkFNRUQyMDIyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjAyMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc5X1VOTkFNRUQyMDIyNCAgICAgICAgICAgICAgID0gMjAyMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc5X1VOTkFNRUQyMDIyNCAgICAgICAgICAgICAgID0gMjAyMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc5X1VOTkFNRUQyMDIyNCAgICAgICAgICAgICAgID0gMjAyMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzc5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzc5X1VOTkFNRUQyMDIyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjAyMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzc5X1VOTkFNRUQyMDIyNCAgICAgICAgICAgICAgID0gMjAyMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgwX1VOTkFNRUQyMDQ4MCAgICAgICAgICAgICAgID0gMjA0ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgwX1VOTkFNRUQyMDQ4MCAgICAgICAgICAgICAgID0gMjA0ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzgwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzgwX1VOTkFNRUQyMDQ4MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjA0ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgwX1VOTkFNRUQyMDQ4MCAgICAgICAgICAgICAgID0gMjA0ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgwX1VOTkFNRUQyMDQ4MCAgICAgICAgICAgICAgID0gMjA0ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgwX1VOTkFNRUQyMDQ4MCAgICAgICAgICAgICAgID0gMjA0ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzgwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzgwX1VOTkFNRUQyMDQ4MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjA0ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgwX1VOTkFNRUQyMDQ4MCAgICAgICAgICAgICAgID0gMjA0ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgxX1VOTkFNRUQyMDczNiAgICAgICAgICAgICAgID0gMjA3MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgxX1VOTkFNRUQyMDczNiAgICAgICAgICAgICAgID0gMjA3MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzgxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzgxX1VOTkFNRUQyMDczNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjA3MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgxX1VOTkFNRUQyMDczNiAgICAgICAgICAgICAgID0gMjA3MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgxX1VOTkFNRUQyMDczNiAgICAgICAgICAgICAgID0gMjA3MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgxX1VOTkFNRUQyMDczNiAgICAgICAgICAgICAgID0gMjA3MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzgxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzgxX1VOTkFNRUQyMDczNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjA3MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgxX1VOTkFNRUQyMDczNiAgICAgICAgICAgICAgID0gMjA3MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgyX1VOTkFNRUQyMDk5MiAgICAgICAgICAgICAgID0gMjA5OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgyX1VOTkFNRUQyMDk5MiAgICAgICAgICAgICAgID0gMjA5OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzgyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzgyX1VOTkFNRUQyMDk5MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjA5OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgyX1VOTkFNRUQyMDk5MiAgICAgICAgICAgICAgID0gMjA5OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgyX1VOTkFNRUQyMDk5MiAgICAgICAgICAgICAgID0gMjA5OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgyX1VOTkFNRUQyMDk5MiAgICAgICAgICAgICAgID0gMjA5OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzgyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzgyX1VOTkFNRUQyMDk5MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjA5OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgyX1VOTkFNRUQyMDk5MiAgICAgICAgICAgICAgID0gMjA5OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgzX1VOTkFNRUQyMTI0OCAgICAgICAgICAgICAgID0gMjEyNDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgzX1VOTkFNRUQyMTI0OCAgICAgICAgICAgICAgID0gMjEyNDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzgzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzgzX1VOTkFNRUQyMTI0OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjEyNDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgzX1VOTkFNRUQyMTI0OCAgICAgICAgICAgICAgID0gMjEyNDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgzX1VOTkFNRUQyMTI0OCAgICAgICAgICAgICAgID0gMjEyNDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgzX1VOTkFNRUQyMTI0OCAgICAgICAgICAgICAgID0gMjEyNDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzgzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzgzX1VOTkFNRUQyMTI0OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjEyNDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzgzX1VOTkFNRUQyMTI0OCAgICAgICAgICAgICAgID0gMjEyNDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg0X1VOTkFNRUQyMTUwNCAgICAgICAgICAgICAgID0gMjE1MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg0X1VOTkFNRUQyMTUwNCAgICAgICAgICAgICAgID0gMjE1MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzg0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzg0X1VOTkFNRUQyMTUwNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjE1MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg0X1VOTkFNRUQyMTUwNCAgICAgICAgICAgICAgID0gMjE1MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg0X1VOTkFNRUQyMTUwNCAgICAgICAgICAgICAgID0gMjE1MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg0X1VOTkFNRUQyMTUwNCAgICAgICAgICAgICAgID0gMjE1MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzg0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzg0X1VOTkFNRUQyMTUwNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjE1MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg0X1VOTkFNRUQyMTUwNCAgICAgICAgICAgICAgID0gMjE1MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg1X1VOTkFNRUQyMTc2MCAgICAgICAgICAgICAgID0gMjE3NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg1X1VOTkFNRUQyMTc2MCAgICAgICAgICAgICAgID0gMjE3NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzg1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzg1X1VOTkFNRUQyMTc2MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjE3NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg1X1VOTkFNRUQyMTc2MCAgICAgICAgICAgICAgID0gMjE3NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg1X1VOTkFNRUQyMTc2MCAgICAgICAgICAgICAgID0gMjE3NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg1X1VOTkFNRUQyMTc2MCAgICAgICAgICAgICAgID0gMjE3NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzg1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzg1X1VOTkFNRUQyMTc2MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjE3NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg1X1VOTkFNRUQyMTc2MCAgICAgICAgICAgICAgID0gMjE3NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg2X1VOTkFNRUQyMjAxNiAgICAgICAgICAgICAgID0gMjIwMTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg2X1VOTkFNRUQyMjAxNiAgICAgICAgICAgICAgID0gMjIwMTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzg2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzg2X1VOTkFNRUQyMjAxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjIwMTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg2X1VOTkFNRUQyMjAxNiAgICAgICAgICAgICAgID0gMjIwMTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg2X1VOTkFNRUQyMjAxNiAgICAgICAgICAgICAgID0gMjIwMTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg2X1VOTkFNRUQyMjAxNiAgICAgICAgICAgICAgID0gMjIwMTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzg2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzg2X1VOTkFNRUQyMjAxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjIwMTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg2X1VOTkFNRUQyMjAxNiAgICAgICAgICAgICAgID0gMjIwMTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg3X1VOTkFNRUQyMjI3MiAgICAgICAgICAgICAgID0gMjIyNzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg3X1VOTkFNRUQyMjI3MiAgICAgICAgICAgICAgID0gMjIyNzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzg3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzg3X1VOTkFNRUQyMjI3MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjIyNzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg3X1VOTkFNRUQyMjI3MiAgICAgICAgICAgICAgID0gMjIyNzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg3X1VOTkFNRUQyMjI3MiAgICAgICAgICAgICAgID0gMjIyNzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg3X1VOTkFNRUQyMjI3MiAgICAgICAgICAgICAgID0gMjIyNzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzg3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzg3X1VOTkFNRUQyMjI3MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjIyNzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg3X1VOTkFNRUQyMjI3MiAgICAgICAgICAgICAgID0gMjIyNzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg4X1VOTkFNRUQyMjUyOCAgICAgICAgICAgICAgID0gMjI1MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg4X1VOTkFNRUQyMjUyOCAgICAgICAgICAgICAgID0gMjI1MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzg4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzg4X1VOTkFNRUQyMjUyOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjI1MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg4X1VOTkFNRUQyMjUyOCAgICAgICAgICAgICAgID0gMjI1MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg4X1VOTkFNRUQyMjUyOCAgICAgICAgICAgICAgID0gMjI1MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg4X1VOTkFNRUQyMjUyOCAgICAgICAgICAgICAgID0gMjI1MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzg4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzg4X1VOTkFNRUQyMjUyOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjI1MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg4X1VOTkFNRUQyMjUyOCAgICAgICAgICAgICAgID0gMjI1MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg5X1VOTkFNRUQyMjc4NCAgICAgICAgICAgICAgID0gMjI3ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg5X1VOTkFNRUQyMjc4NCAgICAgICAgICAgICAgID0gMjI3ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzg5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzg5X1VOTkFNRUQyMjc4NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjI3ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg5X1VOTkFNRUQyMjc4NCAgICAgICAgICAgICAgID0gMjI3ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg5X1VOTkFNRUQyMjc4NCAgICAgICAgICAgICAgID0gMjI3ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg5X1VOTkFNRUQyMjc4NCAgICAgICAgICAgICAgID0gMjI3ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzg5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzg5X1VOTkFNRUQyMjc4NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjI3ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzg5X1VOTkFNRUQyMjc4NCAgICAgICAgICAgICAgID0gMjI3ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkwX1VOTkFNRUQyMzA0MCAgICAgICAgICAgICAgID0gMjMwNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkwX1VOTkFNRUQyMzA0MCAgICAgICAgICAgICAgID0gMjMwNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzkwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzkwX1VOTkFNRUQyMzA0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjMwNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkwX1VOTkFNRUQyMzA0MCAgICAgICAgICAgICAgID0gMjMwNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkwX1VOTkFNRUQyMzA0MCAgICAgICAgICAgICAgID0gMjMwNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkwX1VOTkFNRUQyMzA0MCAgICAgICAgICAgICAgID0gMjMwNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzkwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzkwX1VOTkFNRUQyMzA0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjMwNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkwX1VOTkFNRUQyMzA0MCAgICAgICAgICAgICAgID0gMjMwNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkxX1VOTkFNRUQyMzI5NiAgICAgICAgICAgICAgID0gMjMyOTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkxX1VOTkFNRUQyMzI5NiAgICAgICAgICAgICAgID0gMjMyOTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzkxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzkxX1VOTkFNRUQyMzI5NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjMyOTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkxX1VOTkFNRUQyMzI5NiAgICAgICAgICAgICAgID0gMjMyOTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkxX1VOTkFNRUQyMzI5NiAgICAgICAgICAgICAgID0gMjMyOTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkxX1VOTkFNRUQyMzI5NiAgICAgICAgICAgICAgID0gMjMyOTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzkxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzkxX1VOTkFNRUQyMzI5NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjMyOTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkxX1VOTkFNRUQyMzI5NiAgICAgICAgICAgICAgID0gMjMyOTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkyX1VOTkFNRUQyMzU1MiAgICAgICAgICAgICAgID0gMjM1NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkyX1VOTkFNRUQyMzU1MiAgICAgICAgICAgICAgID0gMjM1NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzkyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzkyX1VOTkFNRUQyMzU1MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjM1NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkyX1VOTkFNRUQyMzU1MiAgICAgICAgICAgICAgID0gMjM1NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkyX1VOTkFNRUQyMzU1MiAgICAgICAgICAgICAgID0gMjM1NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkyX1VOTkFNRUQyMzU1MiAgICAgICAgICAgICAgID0gMjM1NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzkyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzkyX1VOTkFNRUQyMzU1MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjM1NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkyX1VOTkFNRUQyMzU1MiAgICAgICAgICAgICAgID0gMjM1NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkzX1VOTkFNRUQyMzgwOCAgICAgICAgICAgICAgID0gMjM4MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkzX1VOTkFNRUQyMzgwOCAgICAgICAgICAgICAgID0gMjM4MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzkzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzkzX1VOTkFNRUQyMzgwOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjM4MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkzX1VOTkFNRUQyMzgwOCAgICAgICAgICAgICAgID0gMjM4MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkzX1VOTkFNRUQyMzgwOCAgICAgICAgICAgICAgID0gMjM4MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkzX1VOTkFNRUQyMzgwOCAgICAgICAgICAgICAgID0gMjM4MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzkzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzkzX1VOTkFNRUQyMzgwOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjM4MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzkzX1VOTkFNRUQyMzgwOCAgICAgICAgICAgICAgID0gMjM4MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk0X1VOTkFNRUQyNDA2NCAgICAgICAgICAgICAgID0gMjQwNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk0X1VOTkFNRUQyNDA2NCAgICAgICAgICAgICAgID0gMjQwNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzk0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzk0X1VOTkFNRUQyNDA2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjQwNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk0X1VOTkFNRUQyNDA2NCAgICAgICAgICAgICAgID0gMjQwNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk0X1VOTkFNRUQyNDA2NCAgICAgICAgICAgICAgID0gMjQwNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk0X1VOTkFNRUQyNDA2NCAgICAgICAgICAgICAgID0gMjQwNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzk0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzk0X1VOTkFNRUQyNDA2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjQwNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk0X1VOTkFNRUQyNDA2NCAgICAgICAgICAgICAgID0gMjQwNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk1X1VOTkFNRUQyNDMyMCAgICAgICAgICAgICAgID0gMjQzMjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk1X1VOTkFNRUQyNDMyMCAgICAgICAgICAgICAgID0gMjQzMjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzk1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzk1X1VOTkFNRUQyNDMyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjQzMjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk1X1VOTkFNRUQyNDMyMCAgICAgICAgICAgICAgID0gMjQzMjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk1X1VOTkFNRUQyNDMyMCAgICAgICAgICAgICAgID0gMjQzMjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk1X1VOTkFNRUQyNDMyMCAgICAgICAgICAgICAgID0gMjQzMjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzk1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzk1X1VOTkFNRUQyNDMyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjQzMjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk1X1VOTkFNRUQyNDMyMCAgICAgICAgICAgICAgID0gMjQzMjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk2X1VOTkFNRUQyNDU3NiAgICAgICAgICAgICAgID0gMjQ1NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk2X1VOTkFNRUQyNDU3NiAgICAgICAgICAgICAgID0gMjQ1NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzk2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzk2X1VOTkFNRUQyNDU3NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjQ1NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk2X1VOTkFNRUQyNDU3NiAgICAgICAgICAgICAgID0gMjQ1NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk2X1VOTkFNRUQyNDU3NiAgICAgICAgICAgICAgID0gMjQ1NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk2X1VOTkFNRUQyNDU3NiAgICAgICAgICAgICAgID0gMjQ1NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzk2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzk2X1VOTkFNRUQyNDU3NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjQ1NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk2X1VOTkFNRUQyNDU3NiAgICAgICAgICAgICAgID0gMjQ1NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk3X1VOTkFNRUQyNDgzMiAgICAgICAgICAgICAgID0gMjQ4MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk3X1VOTkFNRUQyNDgzMiAgICAgICAgICAgICAgID0gMjQ4MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzk3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzk3X1VOTkFNRUQyNDgzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjQ4MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk3X1VOTkFNRUQyNDgzMiAgICAgICAgICAgICAgID0gMjQ4MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk3X1VOTkFNRUQyNDgzMiAgICAgICAgICAgICAgID0gMjQ4MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk3X1VOTkFNRUQyNDgzMiAgICAgICAgICAgICAgID0gMjQ4MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzk3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzk3X1VOTkFNRUQyNDgzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjQ4MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk3X1VOTkFNRUQyNDgzMiAgICAgICAgICAgICAgID0gMjQ4MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk4X1VOTkFNRUQyNTA4OCAgICAgICAgICAgICAgID0gMjUwODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk4X1VOTkFNRUQyNTA4OCAgICAgICAgICAgICAgID0gMjUwODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzk4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzk4X1VOTkFNRUQyNTA4OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjUwODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk4X1VOTkFNRUQyNTA4OCAgICAgICAgICAgICAgID0gMjUwODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk4X1VOTkFNRUQyNTA4OCAgICAgICAgICAgICAgID0gMjUwODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk4X1VOTkFNRUQyNTA4OCAgICAgICAgICAgICAgID0gMjUwODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzk4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzk4X1VOTkFNRUQyNTA4OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjUwODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk4X1VOTkFNRUQyNTA4OCAgICAgICAgICAgICAgID0gMjUwODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk5X1VOTkFNRUQyNTM0NCAgICAgICAgICAgICAgID0gMjUzNDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk5X1VOTkFNRUQyNTM0NCAgICAgICAgICAgICAgID0gMjUzNDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzk5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzk5X1VOTkFNRUQyNTM0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjUzNDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk5X1VOTkFNRUQyNTM0NCAgICAgICAgICAgICAgID0gMjUzNDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk5X1VOTkFNRUQyNTM0NCAgICAgICAgICAgICAgID0gMjUzNDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk5X1VOTkFNRUQyNTM0NCAgICAgICAgICAgICAgID0gMjUzNDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzk5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzk5X1VOTkFNRUQyNTM0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjUzNDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzk5X1VOTkFNRUQyNTM0NCAgICAgICAgICAgICAgID0gMjUzNDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDBfVU5OQU1FRDI1NjAwICAgICAgICAgICAgICA9IDI1NjAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAwX1VOTkFNRUQyNTYwMCAgICAgICAgICAgICAgPSAyNTYwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTAwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEwMF9VTk5BTUVEMjU2MDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjU2MDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDBfVU5OQU1FRDI1NjAwICAgICAgICAgICAgICA9IDI1NjAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAwX1VOTkFNRUQyNTYwMCAgICAgICAgICAgICAgPSAyNTYwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMF9VTk5BTUVEMjU2MDAgICAgICAgICAgICAgID0gMjU2MDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEwMAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMDBfVU5OQU1FRDI1NjAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI1NjAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAwX1VOTkFNRUQyNTYwMCAgICAgICAgICAgICAgPSAyNTYwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMV9VTk5BTUVEMjU4NTYgICAgICAgICAgICAgID0gMjU4NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDFfVU5OQU1FRDI1ODU2ICAgICAgICAgICAgICA9IDI1ODU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xMDEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTAxX1VOTkFNRUQyNTg1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyNTg1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMV9VTk5BTUVEMjU4NTYgICAgICAgICAgICAgID0gMjU4NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDFfVU5OQU1FRDI1ODU2ICAgICAgICAgICAgICA9IDI1ODU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAxX1VOTkFNRUQyNTg1NiAgICAgICAgICAgICAgPSAyNTg1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTAxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEwMV9VTk5BTUVEMjU4NTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjU4NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDFfVU5OQU1FRDI1ODU2ICAgICAgICAgICAgICA9IDI1ODU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAyX1VOTkFNRUQyNjExMiAgICAgICAgICAgICAgPSAyNjExMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMl9VTk5BTUVEMjYxMTIgICAgICAgICAgICAgID0gMjYxMTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEwMgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMDJfVU5OQU1FRDI2MTEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI2MTEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAyX1VOTkFNRUQyNjExMiAgICAgICAgICAgICAgPSAyNjExMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMl9VTk5BTUVEMjYxMTIgICAgICAgICAgICAgID0gMjYxMTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDJfVU5OQU1FRDI2MTEyICAgICAgICAgICAgICA9IDI2MTEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xMDIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTAyX1VOTkFNRUQyNjExMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyNjExMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMl9VTk5BTUVEMjYxMTIgICAgICAgICAgICAgID0gMjYxMTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDNfVU5OQU1FRDI2MzY4ICAgICAgICAgICAgICA9IDI2MzY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAzX1VOTkFNRUQyNjM2OCAgICAgICAgICAgICAgPSAyNjM2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTAzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEwM19VTk5BTUVEMjYzNjggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjYzNjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwMwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDNfVU5OQU1FRDI2MzY4ICAgICAgICAgICAgICA9IDI2MzY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAzX1VOTkFNRUQyNjM2OCAgICAgICAgICAgICAgPSAyNjM2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwM19VTk5BTUVEMjYzNjggICAgICAgICAgICAgID0gMjYzNjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEwMwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMDNfVU5OQU1FRDI2MzY4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI2MzY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTAzX1VOTkFNRUQyNjM2OCAgICAgICAgICAgICAgPSAyNjM2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNF9VTk5BTUVEMjY2MjQgICAgICAgICAgICAgID0gMjY2MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDRfVU5OQU1FRDI2NjI0ICAgICAgICAgICAgICA9IDI2NjI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xMDQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTA0X1VOTkFNRUQyNjYyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyNjYyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNF9VTk5BTUVEMjY2MjQgICAgICAgICAgICAgID0gMjY2MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDRfVU5OQU1FRDI2NjI0ICAgICAgICAgICAgICA9IDI2NjI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA0X1VOTkFNRUQyNjYyNCAgICAgICAgICAgICAgPSAyNjYyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTA0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEwNF9VTk5BTUVEMjY2MjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjY2MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDRfVU5OQU1FRDI2NjI0ICAgICAgICAgICAgICA9IDI2NjI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA1X1VOTkFNRUQyNjg4MCAgICAgICAgICAgICAgPSAyNjg4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNV9VTk5BTUVEMjY4ODAgICAgICAgICAgICAgID0gMjY4ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEwNQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMDVfVU5OQU1FRDI2ODgwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI2ODgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA1X1VOTkFNRUQyNjg4MCAgICAgICAgICAgICAgPSAyNjg4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNV9VTk5BTUVEMjY4ODAgICAgICAgICAgICAgID0gMjY4ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDVfVU5OQU1FRDI2ODgwICAgICAgICAgICAgICA9IDI2ODgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xMDUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTA1X1VOTkFNRUQyNjg4MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyNjg4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNV9VTk5BTUVEMjY4ODAgICAgICAgICAgICAgID0gMjY4ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDZfVU5OQU1FRDI3MTM2ICAgICAgICAgICAgICA9IDI3MTM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA2X1VOTkFNRUQyNzEzNiAgICAgICAgICAgICAgPSAyNzEzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTA2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEwNl9VTk5BTUVEMjcxMzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjcxMzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDZfVU5OQU1FRDI3MTM2ICAgICAgICAgICAgICA9IDI3MTM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA2X1VOTkFNRUQyNzEzNiAgICAgICAgICAgICAgPSAyNzEzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNl9VTk5BTUVEMjcxMzYgICAgICAgICAgICAgID0gMjcxMzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEwNgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMDZfVU5OQU1FRDI3MTM2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI3MTM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA2X1VOTkFNRUQyNzEzNiAgICAgICAgICAgICAgPSAyNzEzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwN19VTk5BTUVEMjczOTIgICAgICAgICAgICAgID0gMjczOTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDdfVU5OQU1FRDI3MzkyICAgICAgICAgICAgICA9IDI3MzkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xMDcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTA3X1VOTkFNRUQyNzM5MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyNzM5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwN19VTk5BTUVEMjczOTIgICAgICAgICAgICAgID0gMjczOTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDdfVU5OQU1FRDI3MzkyICAgICAgICAgICAgICA9IDI3MzkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA3X1VOTkFNRUQyNzM5MiAgICAgICAgICAgICAgPSAyNzM5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTA3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEwN19VTk5BTUVEMjczOTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjczOTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwNwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDdfVU5OQU1FRDI3MzkyICAgICAgICAgICAgICA9IDI3MzkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA4X1VOTkFNRUQyNzY0OCAgICAgICAgICAgICAgPSAyNzY0OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwOF9VTk5BTUVEMjc2NDggICAgICAgICAgICAgID0gMjc2NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEwOAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMDhfVU5OQU1FRDI3NjQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI3NjQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA4X1VOTkFNRUQyNzY0OCAgICAgICAgICAgICAgPSAyNzY0OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwOF9VTk5BTUVEMjc2NDggICAgICAgICAgICAgID0gMjc2NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwOAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDhfVU5OQU1FRDI3NjQ4ICAgICAgICAgICAgICA9IDI3NjQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xMDgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTA4X1VOTkFNRUQyNzY0OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyNzY0OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwOF9VTk5BTUVEMjc2NDggICAgICAgICAgICAgID0gMjc2NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwOQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDlfVU5OQU1FRDI3OTA0ICAgICAgICAgICAgICA9IDI3OTA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA5X1VOTkFNRUQyNzkwNCAgICAgICAgICAgICAgPSAyNzkwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTA5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEwOV9VTk5BTUVEMjc5MDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjc5MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwOQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDlfVU5OQU1FRDI3OTA0ICAgICAgICAgICAgICA9IDI3OTA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA5X1VOTkFNRUQyNzkwNCAgICAgICAgICAgICAgPSAyNzkwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEwOV9VTk5BTUVEMjc5MDQgICAgICAgICAgICAgID0gMjc5MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEwOQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMDlfVU5OQU1FRDI3OTA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI3OTA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMDkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTA5X1VOTkFNRUQyNzkwNCAgICAgICAgICAgICAgPSAyNzkwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMF9VTk5BTUVEMjgxNjAgICAgICAgICAgICAgID0gMjgxNjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTBfVU5OQU1FRDI4MTYwICAgICAgICAgICAgICA9IDI4MTYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xMTAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTEwX1VOTkFNRUQyODE2MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyODE2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMF9VTk5BTUVEMjgxNjAgICAgICAgICAgICAgID0gMjgxNjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTBfVU5OQU1FRDI4MTYwICAgICAgICAgICAgICA9IDI4MTYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEwX1VOTkFNRUQyODE2MCAgICAgICAgICAgICAgPSAyODE2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTEwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzExMF9VTk5BTUVEMjgxNjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjgxNjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTBfVU5OQU1FRDI4MTYwICAgICAgICAgICAgICA9IDI4MTYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTExX1VOTkFNRUQyODQxNiAgICAgICAgICAgICAgPSAyODQxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTExCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMV9VTk5BTUVEMjg0MTYgICAgICAgICAgICAgID0gMjg0MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzExMQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMTFfVU5OQU1FRDI4NDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI4NDE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTExX1VOTkFNRUQyODQxNiAgICAgICAgICAgICAgPSAyODQxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTExCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMV9VTk5BTUVEMjg0MTYgICAgICAgICAgICAgID0gMjg0MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTFfVU5OQU1FRDI4NDE2ICAgICAgICAgICAgICA9IDI4NDE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xMTEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTExX1VOTkFNRUQyODQxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyODQxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTExCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMV9VTk5BTUVEMjg0MTYgICAgICAgICAgICAgID0gMjg0MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTJfVU5OQU1FRDI4NjcyICAgICAgICAgICAgICA9IDI4NjcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEyX1VOTkFNRUQyODY3MiAgICAgICAgICAgICAgPSAyODY3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTEyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzExMl9VTk5BTUVEMjg2NzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjg2NzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTJfVU5OQU1FRDI4NjcyICAgICAgICAgICAgICA9IDI4NjcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEyX1VOTkFNRUQyODY3MiAgICAgICAgICAgICAgPSAyODY3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMl9VTk5BTUVEMjg2NzIgICAgICAgICAgICAgID0gMjg2NzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzExMgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMTJfVU5OQU1FRDI4NjcyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI4NjcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEyX1VOTkFNRUQyODY3MiAgICAgICAgICAgICAgPSAyODY3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExM19VTk5BTUVEMjg5MjggICAgICAgICAgICAgID0gMjg5MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTNfVU5OQU1FRDI4OTI4ICAgICAgICAgICAgICA9IDI4OTI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xMTMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTEzX1VOTkFNRUQyODkyOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyODkyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExM19VTk5BTUVEMjg5MjggICAgICAgICAgICAgID0gMjg5MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTNfVU5OQU1FRDI4OTI4ICAgICAgICAgICAgICA9IDI4OTI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTEzX1VOTkFNRUQyODkyOCAgICAgICAgICAgICAgPSAyODkyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTEzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzExM19VTk5BTUVEMjg5MjggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjg5MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExMwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTNfVU5OQU1FRDI4OTI4ICAgICAgICAgICAgICA9IDI4OTI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE0X1VOTkFNRUQyOTE4NCAgICAgICAgICAgICAgPSAyOTE4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExNF9VTk5BTUVEMjkxODQgICAgICAgICAgICAgID0gMjkxODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzExNAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMTRfVU5OQU1FRDI5MTg0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI5MTg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE0X1VOTkFNRUQyOTE4NCAgICAgICAgICAgICAgPSAyOTE4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExNF9VTk5BTUVEMjkxODQgICAgICAgICAgICAgID0gMjkxODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExNAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTRfVU5OQU1FRDI5MTg0ICAgICAgICAgICAgICA9IDI5MTg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xMTQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTE0X1VOTkFNRUQyOTE4NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyOTE4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExNF9VTk5BTUVEMjkxODQgICAgICAgICAgICAgID0gMjkxODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExNQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTVfVU5OQU1FRDI5NDQwICAgICAgICAgICAgICA9IDI5NDQwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE1X1VOTkFNRUQyOTQ0MCAgICAgICAgICAgICAgPSAyOTQ0MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTE1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzExNV9VTk5BTUVEMjk0NDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjk0NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExNQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTVfVU5OQU1FRDI5NDQwICAgICAgICAgICAgICA9IDI5NDQwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE1X1VOTkFNRUQyOTQ0MCAgICAgICAgICAgICAgPSAyOTQ0MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExNV9VTk5BTUVEMjk0NDAgICAgICAgICAgICAgID0gMjk0NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzExNQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMTVfVU5OQU1FRDI5NDQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI5NDQwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE1X1VOTkFNRUQyOTQ0MCAgICAgICAgICAgICAgPSAyOTQ0MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExNl9VTk5BTUVEMjk2OTYgICAgICAgICAgICAgID0gMjk2OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExNgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTZfVU5OQU1FRDI5Njk2ICAgICAgICAgICAgICA9IDI5Njk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xMTYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTE2X1VOTkFNRUQyOTY5NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyOTY5NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExNl9VTk5BTUVEMjk2OTYgICAgICAgICAgICAgID0gMjk2OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExNgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTZfVU5OQU1FRDI5Njk2ICAgICAgICAgICAgICA9IDI5Njk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE2X1VOTkFNRUQyOTY5NiAgICAgICAgICAgICAgPSAyOTY5NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTE2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzExNl9VTk5BTUVEMjk2OTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMjk2OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExNgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTZfVU5OQU1FRDI5Njk2ICAgICAgICAgICAgICA9IDI5Njk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE3X1VOTkFNRUQyOTk1MiAgICAgICAgICAgICAgPSAyOTk1MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExN19VTk5BTUVEMjk5NTIgICAgICAgICAgICAgID0gMjk5NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzExNwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMTdfVU5OQU1FRDI5OTUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDI5OTUyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE3X1VOTkFNRUQyOTk1MiAgICAgICAgICAgICAgPSAyOTk1MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExN19VTk5BTUVEMjk5NTIgICAgICAgICAgICAgID0gMjk5NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExNwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTdfVU5OQU1FRDI5OTUyICAgICAgICAgICAgICA9IDI5OTUyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xMTcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTE3X1VOTkFNRUQyOTk1MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAyOTk1MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExN19VTk5BTUVEMjk5NTIgICAgICAgICAgICAgID0gMjk5NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExOAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMThfVU5OQU1FRDMwMjA4ICAgICAgICAgICAgICA9IDMwMjA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE4X1VOTkFNRUQzMDIwOCAgICAgICAgICAgICAgPSAzMDIwOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTE4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzExOF9VTk5BTUVEMzAyMDggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzAyMDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExOAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMThfVU5OQU1FRDMwMjA4ICAgICAgICAgICAgICA9IDMwMjA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE4X1VOTkFNRUQzMDIwOCAgICAgICAgICAgICAgPSAzMDIwOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExOF9VTk5BTUVEMzAyMDggICAgICAgICAgICAgID0gMzAyMDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzExOAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMThfVU5OQU1FRDMwMjA4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMwMjA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE4X1VOTkFNRUQzMDIwOCAgICAgICAgICAgICAgPSAzMDIwOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExOV9VTk5BTUVEMzA0NjQgICAgICAgICAgICAgID0gMzA0NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExOQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTlfVU5OQU1FRDMwNDY0ICAgICAgICAgICAgICA9IDMwNDY0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xMTkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTE5X1VOTkFNRUQzMDQ2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzMDQ2NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExOV9VTk5BTUVEMzA0NjQgICAgICAgICAgICAgID0gMzA0NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExOQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTlfVU5OQU1FRDMwNDY0ICAgICAgICAgICAgICA9IDMwNDY0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTE5X1VOTkFNRUQzMDQ2NCAgICAgICAgICAgICAgPSAzMDQ2NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTE5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzExOV9VTk5BTUVEMzA0NjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzA0NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzExOQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMTlfVU5OQU1FRDMwNDY0ICAgICAgICAgICAgICA9IDMwNDY0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIwX1VOTkFNRUQzMDcyMCAgICAgICAgICAgICAgPSAzMDcyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyMF9VTk5BTUVEMzA3MjAgICAgICAgICAgICAgID0gMzA3MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEyMAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMjBfVU5OQU1FRDMwNzIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMwNzIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIwX1VOTkFNRUQzMDcyMCAgICAgICAgICAgICAgPSAzMDcyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyMF9VTk5BTUVEMzA3MjAgICAgICAgICAgICAgID0gMzA3MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyMAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjBfVU5OQU1FRDMwNzIwICAgICAgICAgICAgICA9IDMwNzIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xMjAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTIwX1VOTkFNRUQzMDcyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzMDcyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyMF9VTk5BTUVEMzA3MjAgICAgICAgICAgICAgID0gMzA3MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyMQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjFfVU5OQU1FRDMwOTc2ICAgICAgICAgICAgICA9IDMwOTc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIxX1VOTkFNRUQzMDk3NiAgICAgICAgICAgICAgPSAzMDk3NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTIxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEyMV9VTk5BTUVEMzA5NzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzA5NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyMQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjFfVU5OQU1FRDMwOTc2ICAgICAgICAgICAgICA9IDMwOTc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIxX1VOTkFNRUQzMDk3NiAgICAgICAgICAgICAgPSAzMDk3NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyMV9VTk5BTUVEMzA5NzYgICAgICAgICAgICAgID0gMzA5NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEyMQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMjFfVU5OQU1FRDMwOTc2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMwOTc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIxX1VOTkFNRUQzMDk3NiAgICAgICAgICAgICAgPSAzMDk3NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyMl9VTk5BTUVEMzEyMzIgICAgICAgICAgICAgID0gMzEyMzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyMgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjJfVU5OQU1FRDMxMjMyICAgICAgICAgICAgICA9IDMxMjMyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xMjIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTIyX1VOTkFNRUQzMTIzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzMTIzMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyMl9VTk5BTUVEMzEyMzIgICAgICAgICAgICAgID0gMzEyMzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyMgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjJfVU5OQU1FRDMxMjMyICAgICAgICAgICAgICA9IDMxMjMyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIyX1VOTkFNRUQzMTIzMiAgICAgICAgICAgICAgPSAzMTIzMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTIyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEyMl9VTk5BTUVEMzEyMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzEyMzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyMgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjJfVU5OQU1FRDMxMjMyICAgICAgICAgICAgICA9IDMxMjMyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIzX1VOTkFNRUQzMTQ4OCAgICAgICAgICAgICAgPSAzMTQ4OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyM19VTk5BTUVEMzE0ODggICAgICAgICAgICAgID0gMzE0ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEyMwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMjNfVU5OQU1FRDMxNDg4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMxNDg4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIzX1VOTkFNRUQzMTQ4OCAgICAgICAgICAgICAgPSAzMTQ4OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyM19VTk5BTUVEMzE0ODggICAgICAgICAgICAgID0gMzE0ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyMwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjNfVU5OQU1FRDMxNDg4ICAgICAgICAgICAgICA9IDMxNDg4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xMjMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTIzX1VOTkFNRUQzMTQ4OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzMTQ4OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTIzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyM19VTk5BTUVEMzE0ODggICAgICAgICAgICAgID0gMzE0ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjRfVU5OQU1FRDMxNzQ0ICAgICAgICAgICAgICA9IDMxNzQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI0X1VOTkFNRUQzMTc0NCAgICAgICAgICAgICAgPSAzMTc0NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTI0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEyNF9VTk5BTUVEMzE3NDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzE3NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjRfVU5OQU1FRDMxNzQ0ICAgICAgICAgICAgICA9IDMxNzQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI0X1VOTkFNRUQzMTc0NCAgICAgICAgICAgICAgPSAzMTc0NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNF9VTk5BTUVEMzE3NDQgICAgICAgICAgICAgID0gMzE3NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEyNAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMjRfVU5OQU1FRDMxNzQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMxNzQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI0X1VOTkFNRUQzMTc0NCAgICAgICAgICAgICAgPSAzMTc0NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNV9VTk5BTUVEMzIwMDAgICAgICAgICAgICAgID0gMzIwMDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjVfVU5OQU1FRDMyMDAwICAgICAgICAgICAgICA9IDMyMDAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xMjUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTI1X1VOTkFNRUQzMjAwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzMjAwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNV9VTk5BTUVEMzIwMDAgICAgICAgICAgICAgID0gMzIwMDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjVfVU5OQU1FRDMyMDAwICAgICAgICAgICAgICA9IDMyMDAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI1X1VOTkFNRUQzMjAwMCAgICAgICAgICAgICAgPSAzMjAwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTI1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEyNV9VTk5BTUVEMzIwMDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzIwMDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjVfVU5OQU1FRDMyMDAwICAgICAgICAgICAgICA9IDMyMDAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI2X1VOTkFNRUQzMjI1NiAgICAgICAgICAgICAgPSAzMjI1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNl9VTk5BTUVEMzIyNTYgICAgICAgICAgICAgID0gMzIyNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEyNgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMjZfVU5OQU1FRDMyMjU2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMyMjU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI2X1VOTkFNRUQzMjI1NiAgICAgICAgICAgICAgPSAzMjI1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNl9VTk5BTUVEMzIyNTYgICAgICAgICAgICAgID0gMzIyNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjZfVU5OQU1FRDMyMjU2ICAgICAgICAgICAgICA9IDMyMjU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xMjYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTI2X1VOTkFNRUQzMjI1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzMjI1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNl9VTk5BTUVEMzIyNTYgICAgICAgICAgICAgID0gMzIyNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjdfVU5OQU1FRDMyNTEyICAgICAgICAgICAgICA9IDMyNTEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI3X1VOTkFNRUQzMjUxMiAgICAgICAgICAgICAgPSAzMjUxMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTI3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEyN19VTk5BTUVEMzI1MTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzI1MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyNwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjdfVU5OQU1FRDMyNTEyICAgICAgICAgICAgICA9IDMyNTEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI3X1VOTkFNRUQzMjUxMiAgICAgICAgICAgICAgPSAzMjUxMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyN19VTk5BTUVEMzI1MTIgICAgICAgICAgICAgID0gMzI1MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEyNwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMjdfVU5OQU1FRDMyNTEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMyNTEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI3X1VOTkFNRUQzMjUxMiAgICAgICAgICAgICAgPSAzMjUxMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyOF9VTk5BTUVEMzI3NjggICAgICAgICAgICAgID0gMzI3NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyOAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjhfVU5OQU1FRDMyNzY4ICAgICAgICAgICAgICA9IDMyNzY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xMjgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTI4X1VOTkFNRUQzMjc2OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzMjc2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyOF9VTk5BTUVEMzI3NjggICAgICAgICAgICAgID0gMzI3NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyOAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjhfVU5OQU1FRDMyNzY4ICAgICAgICAgICAgICA9IDMyNzY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI4X1VOTkFNRUQzMjc2OCAgICAgICAgICAgICAgPSAzMjc2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTI4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEyOF9VTk5BTUVEMzI3NjggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzI3NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyOAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjhfVU5OQU1FRDMyNzY4ICAgICAgICAgICAgICA9IDMyNzY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI5X1VOTkFNRUQzMzAyNCAgICAgICAgICAgICAgPSAzMzAyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyOV9VTk5BTUVEMzMwMjQgICAgICAgICAgICAgID0gMzMwMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEyOQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMjlfVU5OQU1FRDMzMDI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMzMDI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI5X1VOTkFNRUQzMzAyNCAgICAgICAgICAgICAgPSAzMzAyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyOV9VTk5BTUVEMzMwMjQgICAgICAgICAgICAgID0gMzMwMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyOQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMjlfVU5OQU1FRDMzMDI0ICAgICAgICAgICAgICA9IDMzMDI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xMjkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTI5X1VOTkFNRUQzMzAyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzMzAyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTI5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEyOV9VTk5BTUVEMzMwMjQgICAgICAgICAgICAgID0gMzMwMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzBfVU5OQU1FRDMzMjgwICAgICAgICAgICAgICA9IDMzMjgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMwX1VOTkFNRUQzMzI4MCAgICAgICAgICAgICAgPSAzMzI4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTMwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEzMF9VTk5BTUVEMzMyODAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzMyODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzBfVU5OQU1FRDMzMjgwICAgICAgICAgICAgICA9IDMzMjgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMwX1VOTkFNRUQzMzI4MCAgICAgICAgICAgICAgPSAzMzI4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMF9VTk5BTUVEMzMyODAgICAgICAgICAgICAgID0gMzMyODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEzMAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMzBfVU5OQU1FRDMzMjgwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMzMjgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMwX1VOTkFNRUQzMzI4MCAgICAgICAgICAgICAgPSAzMzI4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMV9VTk5BTUVEMzM1MzYgICAgICAgICAgICAgID0gMzM1MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzFfVU5OQU1FRDMzNTM2ICAgICAgICAgICAgICA9IDMzNTM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xMzEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTMxX1VOTkFNRUQzMzUzNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzMzUzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMV9VTk5BTUVEMzM1MzYgICAgICAgICAgICAgID0gMzM1MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzFfVU5OQU1FRDMzNTM2ICAgICAgICAgICAgICA9IDMzNTM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMxX1VOTkFNRUQzMzUzNiAgICAgICAgICAgICAgPSAzMzUzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTMxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEzMV9VTk5BTUVEMzM1MzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzM1MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzFfVU5OQU1FRDMzNTM2ICAgICAgICAgICAgICA9IDMzNTM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMyX1VOTkFNRUQzMzc5MiAgICAgICAgICAgICAgPSAzMzc5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMl9VTk5BTUVEMzM3OTIgICAgICAgICAgICAgID0gMzM3OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEzMgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMzJfVU5OQU1FRDMzNzkyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDMzNzkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMyX1VOTkFNRUQzMzc5MiAgICAgICAgICAgICAgPSAzMzc5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMl9VTk5BTUVEMzM3OTIgICAgICAgICAgICAgID0gMzM3OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzJfVU5OQU1FRDMzNzkyICAgICAgICAgICAgICA9IDMzNzkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xMzIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTMyX1VOTkFNRUQzMzc5MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzMzc5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMl9VTk5BTUVEMzM3OTIgICAgICAgICAgICAgID0gMzM3OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzNfVU5OQU1FRDM0MDQ4ICAgICAgICAgICAgICA9IDM0MDQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMzX1VOTkFNRUQzNDA0OCAgICAgICAgICAgICAgPSAzNDA0OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTMzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEzM19VTk5BTUVEMzQwNDggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzQwNDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzMwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzNfVU5OQU1FRDM0MDQ4ICAgICAgICAgICAgICA9IDM0MDQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMzX1VOTkFNRUQzNDA0OCAgICAgICAgICAgICAgPSAzNDA0OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzM19VTk5BTUVEMzQwNDggICAgICAgICAgICAgID0gMzQwNDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEzMwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMzNfVU5OQU1FRDM0MDQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDM0MDQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTMzX1VOTkFNRUQzNDA0OCAgICAgICAgICAgICAgPSAzNDA0OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNF9VTk5BTUVEMzQzMDQgICAgICAgICAgICAgID0gMzQzMDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzRfVU5OQU1FRDM0MzA0ICAgICAgICAgICAgICA9IDM0MzA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xMzQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTM0X1VOTkFNRUQzNDMwNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzNDMwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNF9VTk5BTUVEMzQzMDQgICAgICAgICAgICAgID0gMzQzMDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzRfVU5OQU1FRDM0MzA0ICAgICAgICAgICAgICA9IDM0MzA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM0X1VOTkFNRUQzNDMwNCAgICAgICAgICAgICAgPSAzNDMwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTM0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEzNF9VTk5BTUVEMzQzMDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzQzMDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzRfVU5OQU1FRDM0MzA0ICAgICAgICAgICAgICA9IDM0MzA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM1X1VOTkFNRUQzNDU2MCAgICAgICAgICAgICAgPSAzNDU2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNV9VTk5BTUVEMzQ1NjAgICAgICAgICAgICAgID0gMzQ1NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEzNQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMzVfVU5OQU1FRDM0NTYwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDM0NTYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM1X1VOTkFNRUQzNDU2MCAgICAgICAgICAgICAgPSAzNDU2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNV9VTk5BTUVEMzQ1NjAgICAgICAgICAgICAgID0gMzQ1NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzVfVU5OQU1FRDM0NTYwICAgICAgICAgICAgICA9IDM0NTYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xMzUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTM1X1VOTkFNRUQzNDU2MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzNDU2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNV9VTk5BTUVEMzQ1NjAgICAgICAgICAgICAgID0gMzQ1NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzZfVU5OQU1FRDM0ODE2ICAgICAgICAgICAgICA9IDM0ODE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM2X1VOTkFNRUQzNDgxNiAgICAgICAgICAgICAgPSAzNDgxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTM2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEzNl9VTk5BTUVEMzQ4MTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzQ4MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzZfVU5OQU1FRDM0ODE2ICAgICAgICAgICAgICA9IDM0ODE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM2X1VOTkFNRUQzNDgxNiAgICAgICAgICAgICAgPSAzNDgxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNl9VTk5BTUVEMzQ4MTYgICAgICAgICAgICAgID0gMzQ4MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEzNgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMzZfVU5OQU1FRDM0ODE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDM0ODE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM2X1VOTkFNRUQzNDgxNiAgICAgICAgICAgICAgPSAzNDgxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzN19VTk5BTUVEMzUwNzIgICAgICAgICAgICAgID0gMzUwNzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzdfVU5OQU1FRDM1MDcyICAgICAgICAgICAgICA9IDM1MDcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xMzcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTM3X1VOTkFNRUQzNTA3MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzNTA3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzN19VTk5BTUVEMzUwNzIgICAgICAgICAgICAgID0gMzUwNzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzdfVU5OQU1FRDM1MDcyICAgICAgICAgICAgICA9IDM1MDcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM3X1VOTkFNRUQzNTA3MiAgICAgICAgICAgICAgPSAzNTA3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTM3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEzN19VTk5BTUVEMzUwNzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzUwNzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzNwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzdfVU5OQU1FRDM1MDcyICAgICAgICAgICAgICA9IDM1MDcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM4X1VOTkFNRUQzNTMyOCAgICAgICAgICAgICAgPSAzNTMyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzOF9VTk5BTUVEMzUzMjggICAgICAgICAgICAgID0gMzUzMjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEzOAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xMzhfVU5OQU1FRDM1MzI4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDM1MzI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM4X1VOTkFNRUQzNTMyOCAgICAgICAgICAgICAgPSAzNTMyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzOF9VTk5BTUVEMzUzMjggICAgICAgICAgICAgID0gMzUzMjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzOAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzhfVU5OQU1FRDM1MzI4ICAgICAgICAgICAgICA9IDM1MzI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xMzgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTM4X1VOTkFNRUQzNTMyOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzNTMyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzOF9VTk5BTUVEMzUzMjggICAgICAgICAgICAgID0gMzUzMjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzOQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzlfVU5OQU1FRDM1NTg0ICAgICAgICAgICAgICA9IDM1NTg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM5X1VOTkFNRUQzNTU4NCAgICAgICAgICAgICAgPSAzNTU4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTM5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzEzOV9VTk5BTUVEMzU1ODQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzU1ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzOQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzlfVU5OQU1FRDM1NTg0ICAgICAgICAgICAgICA9IDM1NTg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM5X1VOTkFNRUQzNTU4NCAgICAgICAgICAgICAgPSAzNTU4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzEzOV9VTk5BTUVEMzU1ODQgICAgICAgICAgICAgID0gMzU1ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzEzOQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xMzlfVU5OQU1FRDM1NTg0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDM1NTg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xMzkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTM5X1VOTkFNRUQzNTU4NCAgICAgICAgICAgICAgPSAzNTU4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MF9VTk5BTUVEMzU4NDAgICAgICAgICAgICAgID0gMzU4NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDBfVU5OQU1FRDM1ODQwICAgICAgICAgICAgICA9IDM1ODQwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xNDAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTQwX1VOTkFNRUQzNTg0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzNTg0MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MF9VTk5BTUVEMzU4NDAgICAgICAgICAgICAgID0gMzU4NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDBfVU5OQU1FRDM1ODQwICAgICAgICAgICAgICA9IDM1ODQwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQwX1VOTkFNRUQzNTg0MCAgICAgICAgICAgICAgPSAzNTg0MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTQwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE0MF9VTk5BTUVEMzU4NDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzU4NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDBfVU5OQU1FRDM1ODQwICAgICAgICAgICAgICA9IDM1ODQwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQxX1VOTkFNRUQzNjA5NiAgICAgICAgICAgICAgPSAzNjA5NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MV9VTk5BTUVEMzYwOTYgICAgICAgICAgICAgID0gMzYwOTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE0MQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNDFfVU5OQU1FRDM2MDk2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDM2MDk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQxX1VOTkFNRUQzNjA5NiAgICAgICAgICAgICAgPSAzNjA5NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MV9VTk5BTUVEMzYwOTYgICAgICAgICAgICAgID0gMzYwOTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDFfVU5OQU1FRDM2MDk2ICAgICAgICAgICAgICA9IDM2MDk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xNDEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTQxX1VOTkFNRUQzNjA5NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzNjA5NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MV9VTk5BTUVEMzYwOTYgICAgICAgICAgICAgID0gMzYwOTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDJfVU5OQU1FRDM2MzUyICAgICAgICAgICAgICA9IDM2MzUyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQyX1VOTkFNRUQzNjM1MiAgICAgICAgICAgICAgPSAzNjM1MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTQyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE0Ml9VTk5BTUVEMzYzNTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzYzNTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDJfVU5OQU1FRDM2MzUyICAgICAgICAgICAgICA9IDM2MzUyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQyX1VOTkFNRUQzNjM1MiAgICAgICAgICAgICAgPSAzNjM1MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0Ml9VTk5BTUVEMzYzNTIgICAgICAgICAgICAgID0gMzYzNTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE0MgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNDJfVU5OQU1FRDM2MzUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDM2MzUyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQyX1VOTkFNRUQzNjM1MiAgICAgICAgICAgICAgPSAzNjM1MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0M19VTk5BTUVEMzY2MDggICAgICAgICAgICAgID0gMzY2MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDNfVU5OQU1FRDM2NjA4ICAgICAgICAgICAgICA9IDM2NjA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xNDMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTQzX1VOTkFNRUQzNjYwOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzNjYwOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0M19VTk5BTUVEMzY2MDggICAgICAgICAgICAgID0gMzY2MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDNfVU5OQU1FRDM2NjA4ICAgICAgICAgICAgICA9IDM2NjA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQzX1VOTkFNRUQzNjYwOCAgICAgICAgICAgICAgPSAzNjYwOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTQzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE0M19VTk5BTUVEMzY2MDggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzY2MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0MwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDNfVU5OQU1FRDM2NjA4ICAgICAgICAgICAgICA9IDM2NjA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ0X1VOTkFNRUQzNjg2NCAgICAgICAgICAgICAgPSAzNjg2NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0NF9VTk5BTUVEMzY4NjQgICAgICAgICAgICAgID0gMzY4NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE0NAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNDRfVU5OQU1FRDM2ODY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDM2ODY0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ0X1VOTkFNRUQzNjg2NCAgICAgICAgICAgICAgPSAzNjg2NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0NF9VTk5BTUVEMzY4NjQgICAgICAgICAgICAgID0gMzY4NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0NAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDRfVU5OQU1FRDM2ODY0ICAgICAgICAgICAgICA9IDM2ODY0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xNDQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTQ0X1VOTkFNRUQzNjg2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzNjg2NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0NF9VTk5BTUVEMzY4NjQgICAgICAgICAgICAgID0gMzY4NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0NQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDVfVU5OQU1FRDM3MTIwICAgICAgICAgICAgICA9IDM3MTIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ1X1VOTkFNRUQzNzEyMCAgICAgICAgICAgICAgPSAzNzEyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTQ1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE0NV9VTk5BTUVEMzcxMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzcxMjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0NQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDVfVU5OQU1FRDM3MTIwICAgICAgICAgICAgICA9IDM3MTIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ1X1VOTkFNRUQzNzEyMCAgICAgICAgICAgICAgPSAzNzEyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0NV9VTk5BTUVEMzcxMjAgICAgICAgICAgICAgID0gMzcxMjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE0NQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNDVfVU5OQU1FRDM3MTIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDM3MTIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ1X1VOTkFNRUQzNzEyMCAgICAgICAgICAgICAgPSAzNzEyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0Nl9VTk5BTUVEMzczNzYgICAgICAgICAgICAgID0gMzczNzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0NgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDZfVU5OQU1FRDM3Mzc2ICAgICAgICAgICAgICA9IDM3Mzc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xNDYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTQ2X1VOTkFNRUQzNzM3NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzNzM3NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0Nl9VTk5BTUVEMzczNzYgICAgICAgICAgICAgID0gMzczNzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0NgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDZfVU5OQU1FRDM3Mzc2ICAgICAgICAgICAgICA9IDM3Mzc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ2X1VOTkFNRUQzNzM3NiAgICAgICAgICAgICAgPSAzNzM3NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTQ2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE0Nl9VTk5BTUVEMzczNzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzczNzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0NgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDZfVU5OQU1FRDM3Mzc2ICAgICAgICAgICAgICA9IDM3Mzc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ3X1VOTkFNRUQzNzYzMiAgICAgICAgICAgICAgPSAzNzYzMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0N19VTk5BTUVEMzc2MzIgICAgICAgICAgICAgID0gMzc2MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE0NwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNDdfVU5OQU1FRDM3NjMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDM3NjMyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ3X1VOTkFNRUQzNzYzMiAgICAgICAgICAgICAgPSAzNzYzMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0N19VTk5BTUVEMzc2MzIgICAgICAgICAgICAgID0gMzc2MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0NwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDdfVU5OQU1FRDM3NjMyICAgICAgICAgICAgICA9IDM3NjMyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xNDcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTQ3X1VOTkFNRUQzNzYzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzNzYzMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0N19VTk5BTUVEMzc2MzIgICAgICAgICAgICAgID0gMzc2MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0OAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDhfVU5OQU1FRDM3ODg4ICAgICAgICAgICAgICA9IDM3ODg4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ4X1VOTkFNRUQzNzg4OCAgICAgICAgICAgICAgPSAzNzg4OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTQ4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE0OF9VTk5BTUVEMzc4ODggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzc4ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0OAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDhfVU5OQU1FRDM3ODg4ICAgICAgICAgICAgICA9IDM3ODg4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ4X1VOTkFNRUQzNzg4OCAgICAgICAgICAgICAgPSAzNzg4OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0OF9VTk5BTUVEMzc4ODggICAgICAgICAgICAgID0gMzc4ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE0OAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNDhfVU5OQU1FRDM3ODg4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDM3ODg4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ4X1VOTkFNRUQzNzg4OCAgICAgICAgICAgICAgPSAzNzg4OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0OV9VTk5BTUVEMzgxNDQgICAgICAgICAgICAgID0gMzgxNDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0OQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDlfVU5OQU1FRDM4MTQ0ICAgICAgICAgICAgICA9IDM4MTQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xNDkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTQ5X1VOTkFNRUQzODE0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzODE0NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0OV9VTk5BTUVEMzgxNDQgICAgICAgICAgICAgID0gMzgxNDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0OQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDlfVU5OQU1FRDM4MTQ0ICAgICAgICAgICAgICA9IDM4MTQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTQ5X1VOTkFNRUQzODE0NCAgICAgICAgICAgICAgPSAzODE0NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTQ5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE0OV9VTk5BTUVEMzgxNDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzgxNDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE0OQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNDlfVU5OQU1FRDM4MTQ0ICAgICAgICAgICAgICA9IDM4MTQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUwX1VOTkFNRUQzODQwMCAgICAgICAgICAgICAgPSAzODQwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1MF9VTk5BTUVEMzg0MDAgICAgICAgICAgICAgID0gMzg0MDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE1MAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNTBfVU5OQU1FRDM4NDAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDM4NDAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUwX1VOTkFNRUQzODQwMCAgICAgICAgICAgICAgPSAzODQwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1MF9VTk5BTUVEMzg0MDAgICAgICAgICAgICAgID0gMzg0MDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1MAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTBfVU5OQU1FRDM4NDAwICAgICAgICAgICAgICA9IDM4NDAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xNTAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTUwX1VOTkFNRUQzODQwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzODQwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1MF9VTk5BTUVEMzg0MDAgICAgICAgICAgICAgID0gMzg0MDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1MQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTFfVU5OQU1FRDM4NjU2ICAgICAgICAgICAgICA9IDM4NjU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUxX1VOTkFNRUQzODY1NiAgICAgICAgICAgICAgPSAzODY1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTUxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE1MV9VTk5BTUVEMzg2NTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzg2NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1MQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTFfVU5OQU1FRDM4NjU2ICAgICAgICAgICAgICA9IDM4NjU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUxX1VOTkFNRUQzODY1NiAgICAgICAgICAgICAgPSAzODY1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1MV9VTk5BTUVEMzg2NTYgICAgICAgICAgICAgID0gMzg2NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE1MQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNTFfVU5OQU1FRDM4NjU2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDM4NjU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUxX1VOTkFNRUQzODY1NiAgICAgICAgICAgICAgPSAzODY1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1Ml9VTk5BTUVEMzg5MTIgICAgICAgICAgICAgID0gMzg5MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1MgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTJfVU5OQU1FRDM4OTEyICAgICAgICAgICAgICA9IDM4OTEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xNTIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTUyX1VOTkFNRUQzODkxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzODkxMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1Ml9VTk5BTUVEMzg5MTIgICAgICAgICAgICAgID0gMzg5MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1MgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTJfVU5OQU1FRDM4OTEyICAgICAgICAgICAgICA9IDM4OTEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUyX1VOTkFNRUQzODkxMiAgICAgICAgICAgICAgPSAzODkxMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTUyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE1Ml9VTk5BTUVEMzg5MTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzg5MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1MgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTJfVU5OQU1FRDM4OTEyICAgICAgICAgICAgICA9IDM4OTEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUzX1VOTkFNRUQzOTE2OCAgICAgICAgICAgICAgPSAzOTE2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1M19VTk5BTUVEMzkxNjggICAgICAgICAgICAgID0gMzkxNjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE1MwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNTNfVU5OQU1FRDM5MTY4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDM5MTY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUzX1VOTkFNRUQzOTE2OCAgICAgICAgICAgICAgPSAzOTE2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1M19VTk5BTUVEMzkxNjggICAgICAgICAgICAgID0gMzkxNjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1MwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTNfVU5OQU1FRDM5MTY4ICAgICAgICAgICAgICA9IDM5MTY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xNTMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTUzX1VOTkFNRUQzOTE2OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzOTE2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTUzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1M19VTk5BTUVEMzkxNjggICAgICAgICAgICAgID0gMzkxNjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1NAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTRfVU5OQU1FRDM5NDI0ICAgICAgICAgICAgICA9IDM5NDI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU0X1VOTkFNRUQzOTQyNCAgICAgICAgICAgICAgPSAzOTQyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTU0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE1NF9VTk5BTUVEMzk0MjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzk0MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1NAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTRfVU5OQU1FRDM5NDI0ICAgICAgICAgICAgICA9IDM5NDI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU0X1VOTkFNRUQzOTQyNCAgICAgICAgICAgICAgPSAzOTQyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1NF9VTk5BTUVEMzk0MjQgICAgICAgICAgICAgID0gMzk0MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE1NAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNTRfVU5OQU1FRDM5NDI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDM5NDI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU0X1VOTkFNRUQzOTQyNCAgICAgICAgICAgICAgPSAzOTQyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1NV9VTk5BTUVEMzk2ODAgICAgICAgICAgICAgID0gMzk2ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1NQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTVfVU5OQU1FRDM5NjgwICAgICAgICAgICAgICA9IDM5NjgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xNTUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTU1X1VOTkFNRUQzOTY4MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzOTY4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1NV9VTk5BTUVEMzk2ODAgICAgICAgICAgICAgID0gMzk2ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1NQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTVfVU5OQU1FRDM5NjgwICAgICAgICAgICAgICA9IDM5NjgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU1X1VOTkFNRUQzOTY4MCAgICAgICAgICAgICAgPSAzOTY4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTU1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE1NV9VTk5BTUVEMzk2ODAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMzk2ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1NQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTVfVU5OQU1FRDM5NjgwICAgICAgICAgICAgICA9IDM5NjgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU2X1VOTkFNRUQzOTkzNiAgICAgICAgICAgICAgPSAzOTkzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1Nl9VTk5BTUVEMzk5MzYgICAgICAgICAgICAgID0gMzk5MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE1NgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNTZfVU5OQU1FRDM5OTM2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDM5OTM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU2X1VOTkFNRUQzOTkzNiAgICAgICAgICAgICAgPSAzOTkzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1Nl9VTk5BTUVEMzk5MzYgICAgICAgICAgICAgID0gMzk5MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1NgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTZfVU5OQU1FRDM5OTM2ICAgICAgICAgICAgICA9IDM5OTM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xNTYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTU2X1VOTkFNRUQzOTkzNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAzOTkzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1Nl9VTk5BTUVEMzk5MzYgICAgICAgICAgICAgID0gMzk5MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1NwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTdfVU5OQU1FRDQwMTkyICAgICAgICAgICAgICA9IDQwMTkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU3X1VOTkFNRUQ0MDE5MiAgICAgICAgICAgICAgPSA0MDE5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTU3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE1N19VTk5BTUVENDAxOTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDAxOTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1NwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTdfVU5OQU1FRDQwMTkyICAgICAgICAgICAgICA9IDQwMTkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU3X1VOTkFNRUQ0MDE5MiAgICAgICAgICAgICAgPSA0MDE5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1N19VTk5BTUVENDAxOTIgICAgICAgICAgICAgID0gNDAxOTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE1NwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNTdfVU5OQU1FRDQwMTkyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQwMTkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU3X1VOTkFNRUQ0MDE5MiAgICAgICAgICAgICAgPSA0MDE5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1OF9VTk5BTUVENDA0NDggICAgICAgICAgICAgID0gNDA0NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1OAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNThfVU5OQU1FRDQwNDQ4ICAgICAgICAgICAgICA9IDQwNDQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xNTgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTU4X1VOTkFNRUQ0MDQ0OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0MDQ0OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1OF9VTk5BTUVENDA0NDggICAgICAgICAgICAgID0gNDA0NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1OAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNThfVU5OQU1FRDQwNDQ4ICAgICAgICAgICAgICA9IDQwNDQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU4X1VOTkFNRUQ0MDQ0OCAgICAgICAgICAgICAgPSA0MDQ0OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTU4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE1OF9VTk5BTUVENDA0NDggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDA0NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1OAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNThfVU5OQU1FRDQwNDQ4ICAgICAgICAgICAgICA9IDQwNDQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU5X1VOTkFNRUQ0MDcwNCAgICAgICAgICAgICAgPSA0MDcwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1OV9VTk5BTUVENDA3MDQgICAgICAgICAgICAgID0gNDA3MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE1OQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNTlfVU5OQU1FRDQwNzA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQwNzA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU5X1VOTkFNRUQ0MDcwNCAgICAgICAgICAgICAgPSA0MDcwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1OV9VTk5BTUVENDA3MDQgICAgICAgICAgICAgID0gNDA3MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1OQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNTlfVU5OQU1FRDQwNzA0ICAgICAgICAgICAgICA9IDQwNzA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xNTkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTU5X1VOTkFNRUQ0MDcwNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0MDcwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTU5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE1OV9VTk5BTUVENDA3MDQgICAgICAgICAgICAgID0gNDA3MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2MAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjBfVU5OQU1FRDQwOTYwICAgICAgICAgICAgICA9IDQwOTYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYwX1VOTkFNRUQ0MDk2MCAgICAgICAgICAgICAgPSA0MDk2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTYwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE2MF9VTk5BTUVENDA5NjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDA5NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2MAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjBfVU5OQU1FRDQwOTYwICAgICAgICAgICAgICA9IDQwOTYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYwX1VOTkFNRUQ0MDk2MCAgICAgICAgICAgICAgPSA0MDk2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2MF9VTk5BTUVENDA5NjAgICAgICAgICAgICAgID0gNDA5NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE2MAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNjBfVU5OQU1FRDQwOTYwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQwOTYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYwX1VOTkFNRUQ0MDk2MCAgICAgICAgICAgICAgPSA0MDk2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2MV9VTk5BTUVENDEyMTYgICAgICAgICAgICAgID0gNDEyMTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2MQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjFfVU5OQU1FRDQxMjE2ICAgICAgICAgICAgICA9IDQxMjE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xNjEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTYxX1VOTkFNRUQ0MTIxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0MTIxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2MV9VTk5BTUVENDEyMTYgICAgICAgICAgICAgID0gNDEyMTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2MQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjFfVU5OQU1FRDQxMjE2ICAgICAgICAgICAgICA9IDQxMjE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYxX1VOTkFNRUQ0MTIxNiAgICAgICAgICAgICAgPSA0MTIxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTYxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE2MV9VTk5BTUVENDEyMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDEyMTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2MQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjFfVU5OQU1FRDQxMjE2ICAgICAgICAgICAgICA9IDQxMjE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYyX1VOTkFNRUQ0MTQ3MiAgICAgICAgICAgICAgPSA0MTQ3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2Ml9VTk5BTUVENDE0NzIgICAgICAgICAgICAgID0gNDE0NzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE2MgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNjJfVU5OQU1FRDQxNDcyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQxNDcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYyX1VOTkFNRUQ0MTQ3MiAgICAgICAgICAgICAgPSA0MTQ3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2Ml9VTk5BTUVENDE0NzIgICAgICAgICAgICAgID0gNDE0NzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2MgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjJfVU5OQU1FRDQxNDcyICAgICAgICAgICAgICA9IDQxNDcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xNjIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTYyX1VOTkFNRUQ0MTQ3MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0MTQ3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2Ml9VTk5BTUVENDE0NzIgICAgICAgICAgICAgID0gNDE0NzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2MwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjNfVU5OQU1FRDQxNzI4ICAgICAgICAgICAgICA9IDQxNzI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYzX1VOTkFNRUQ0MTcyOCAgICAgICAgICAgICAgPSA0MTcyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTYzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE2M19VTk5BTUVENDE3MjggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDE3MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2MwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjNfVU5OQU1FRDQxNzI4ICAgICAgICAgICAgICA9IDQxNzI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYzX1VOTkFNRUQ0MTcyOCAgICAgICAgICAgICAgPSA0MTcyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2M19VTk5BTUVENDE3MjggICAgICAgICAgICAgID0gNDE3MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE2MwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNjNfVU5OQU1FRDQxNzI4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQxNzI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTYzX1VOTkFNRUQ0MTcyOCAgICAgICAgICAgICAgPSA0MTcyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NF9VTk5BTUVENDE5ODQgICAgICAgICAgICAgID0gNDE5ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjRfVU5OQU1FRDQxOTg0ICAgICAgICAgICAgICA9IDQxOTg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xNjQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTY0X1VOTkFNRUQ0MTk4NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0MTk4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NF9VTk5BTUVENDE5ODQgICAgICAgICAgICAgID0gNDE5ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjRfVU5OQU1FRDQxOTg0ICAgICAgICAgICAgICA9IDQxOTg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY0X1VOTkFNRUQ0MTk4NCAgICAgICAgICAgICAgPSA0MTk4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTY0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE2NF9VTk5BTUVENDE5ODQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDE5ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjRfVU5OQU1FRDQxOTg0ICAgICAgICAgICAgICA9IDQxOTg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY1X1VOTkFNRUQ0MjI0MCAgICAgICAgICAgICAgPSA0MjI0MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NV9VTk5BTUVENDIyNDAgICAgICAgICAgICAgID0gNDIyNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE2NQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNjVfVU5OQU1FRDQyMjQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQyMjQwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY1X1VOTkFNRUQ0MjI0MCAgICAgICAgICAgICAgPSA0MjI0MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NV9VTk5BTUVENDIyNDAgICAgICAgICAgICAgID0gNDIyNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjVfVU5OQU1FRDQyMjQwICAgICAgICAgICAgICA9IDQyMjQwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xNjUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTY1X1VOTkFNRUQ0MjI0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0MjI0MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NV9VTk5BTUVENDIyNDAgICAgICAgICAgICAgID0gNDIyNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjZfVU5OQU1FRDQyNDk2ICAgICAgICAgICAgICA9IDQyNDk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY2X1VOTkFNRUQ0MjQ5NiAgICAgICAgICAgICAgPSA0MjQ5NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTY2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE2Nl9VTk5BTUVENDI0OTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDI0OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjZfVU5OQU1FRDQyNDk2ICAgICAgICAgICAgICA9IDQyNDk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY2X1VOTkFNRUQ0MjQ5NiAgICAgICAgICAgICAgPSA0MjQ5NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2Nl9VTk5BTUVENDI0OTYgICAgICAgICAgICAgID0gNDI0OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE2NgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNjZfVU5OQU1FRDQyNDk2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQyNDk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY2X1VOTkFNRUQ0MjQ5NiAgICAgICAgICAgICAgPSA0MjQ5NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2N19VTk5BTUVENDI3NTIgICAgICAgICAgICAgID0gNDI3NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjdfVU5OQU1FRDQyNzUyICAgICAgICAgICAgICA9IDQyNzUyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xNjcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTY3X1VOTkFNRUQ0Mjc1MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0Mjc1MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2N19VTk5BTUVENDI3NTIgICAgICAgICAgICAgID0gNDI3NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjdfVU5OQU1FRDQyNzUyICAgICAgICAgICAgICA9IDQyNzUyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY3X1VOTkFNRUQ0Mjc1MiAgICAgICAgICAgICAgPSA0Mjc1MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTY3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE2N19VTk5BTUVENDI3NTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDI3NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2NwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjdfVU5OQU1FRDQyNzUyICAgICAgICAgICAgICA9IDQyNzUyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY4X1VOTkFNRUQ0MzAwOCAgICAgICAgICAgICAgPSA0MzAwOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2OF9VTk5BTUVENDMwMDggICAgICAgICAgICAgID0gNDMwMDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE2OAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNjhfVU5OQU1FRDQzMDA4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQzMDA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY4X1VOTkFNRUQ0MzAwOCAgICAgICAgICAgICAgPSA0MzAwOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2OF9VTk5BTUVENDMwMDggICAgICAgICAgICAgID0gNDMwMDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2OAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjhfVU5OQU1FRDQzMDA4ICAgICAgICAgICAgICA9IDQzMDA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xNjgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTY4X1VOTkFNRUQ0MzAwOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0MzAwOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2OF9VTk5BTUVENDMwMDggICAgICAgICAgICAgID0gNDMwMDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2OQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjlfVU5OQU1FRDQzMjY0ICAgICAgICAgICAgICA9IDQzMjY0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY5X1VOTkFNRUQ0MzI2NCAgICAgICAgICAgICAgPSA0MzI2NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTY5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE2OV9VTk5BTUVENDMyNjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDMyNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2OQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjlfVU5OQU1FRDQzMjY0ICAgICAgICAgICAgICA9IDQzMjY0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY5X1VOTkFNRUQ0MzI2NCAgICAgICAgICAgICAgPSA0MzI2NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE2OV9VTk5BTUVENDMyNjQgICAgICAgICAgICAgID0gNDMyNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE2OQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNjlfVU5OQU1FRDQzMjY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQzMjY0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNjkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTY5X1VOTkFNRUQ0MzI2NCAgICAgICAgICAgICAgPSA0MzI2NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MF9VTk5BTUVENDM1MjAgICAgICAgICAgICAgID0gNDM1MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzBfVU5OQU1FRDQzNTIwICAgICAgICAgICAgICA9IDQzNTIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xNzAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTcwX1VOTkFNRUQ0MzUyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0MzUyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MF9VTk5BTUVENDM1MjAgICAgICAgICAgICAgID0gNDM1MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzBfVU5OQU1FRDQzNTIwICAgICAgICAgICAgICA9IDQzNTIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcwX1VOTkFNRUQ0MzUyMCAgICAgICAgICAgICAgPSA0MzUyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTcwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE3MF9VTk5BTUVENDM1MjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDM1MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzBfVU5OQU1FRDQzNTIwICAgICAgICAgICAgICA9IDQzNTIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcxX1VOTkFNRUQ0Mzc3NiAgICAgICAgICAgICAgPSA0Mzc3NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MV9VTk5BTUVENDM3NzYgICAgICAgICAgICAgID0gNDM3NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE3MQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNzFfVU5OQU1FRDQzNzc2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQzNzc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcxX1VOTkFNRUQ0Mzc3NiAgICAgICAgICAgICAgPSA0Mzc3NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MV9VTk5BTUVENDM3NzYgICAgICAgICAgICAgID0gNDM3NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzFfVU5OQU1FRDQzNzc2ICAgICAgICAgICAgICA9IDQzNzc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xNzEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTcxX1VOTkFNRUQ0Mzc3NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0Mzc3NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MV9VTk5BTUVENDM3NzYgICAgICAgICAgICAgID0gNDM3NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzJfVU5OQU1FRDQ0MDMyICAgICAgICAgICAgICA9IDQ0MDMyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcyX1VOTkFNRUQ0NDAzMiAgICAgICAgICAgICAgPSA0NDAzMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTcyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE3Ml9VTk5BTUVENDQwMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDQwMzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzJfVU5OQU1FRDQ0MDMyICAgICAgICAgICAgICA9IDQ0MDMyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcyX1VOTkFNRUQ0NDAzMiAgICAgICAgICAgICAgPSA0NDAzMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3Ml9VTk5BTUVENDQwMzIgICAgICAgICAgICAgID0gNDQwMzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE3MgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNzJfVU5OQU1FRDQ0MDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ0MDMyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTcyX1VOTkFNRUQ0NDAzMiAgICAgICAgICAgICAgPSA0NDAzMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTczCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3M19VTk5BTUVENDQyODggICAgICAgICAgICAgID0gNDQyODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzNfVU5OQU1FRDQ0Mjg4ICAgICAgICAgICAgICA9IDQ0Mjg4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xNzMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTczX1VOTkFNRUQ0NDI4OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0NDI4OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTczCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3M19VTk5BTUVENDQyODggICAgICAgICAgICAgID0gNDQyODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzNfVU5OQU1FRDQ0Mjg4ICAgICAgICAgICAgICA9IDQ0Mjg4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTczX1VOTkFNRUQ0NDI4OCAgICAgICAgICAgICAgPSA0NDI4OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTczCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE3M19VTk5BTUVENDQyODggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDQyODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3MwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzNfVU5OQU1FRDQ0Mjg4ICAgICAgICAgICAgICA9IDQ0Mjg4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc0X1VOTkFNRUQ0NDU0NCAgICAgICAgICAgICAgPSA0NDU0NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3NF9VTk5BTUVENDQ1NDQgICAgICAgICAgICAgID0gNDQ1NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE3NAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNzRfVU5OQU1FRDQ0NTQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ0NTQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc0X1VOTkFNRUQ0NDU0NCAgICAgICAgICAgICAgPSA0NDU0NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3NF9VTk5BTUVENDQ1NDQgICAgICAgICAgICAgID0gNDQ1NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3NAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzRfVU5OQU1FRDQ0NTQ0ICAgICAgICAgICAgICA9IDQ0NTQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xNzQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTc0X1VOTkFNRUQ0NDU0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0NDU0NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3NF9VTk5BTUVENDQ1NDQgICAgICAgICAgICAgID0gNDQ1NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3NQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzVfVU5OQU1FRDQ0ODAwICAgICAgICAgICAgICA9IDQ0ODAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc1X1VOTkFNRUQ0NDgwMCAgICAgICAgICAgICAgPSA0NDgwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTc1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE3NV9VTk5BTUVENDQ4MDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDQ4MDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3NQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzVfVU5OQU1FRDQ0ODAwICAgICAgICAgICAgICA9IDQ0ODAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc1X1VOTkFNRUQ0NDgwMCAgICAgICAgICAgICAgPSA0NDgwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3NV9VTk5BTUVENDQ4MDAgICAgICAgICAgICAgID0gNDQ4MDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE3NQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNzVfVU5OQU1FRDQ0ODAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ0ODAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc1X1VOTkFNRUQ0NDgwMCAgICAgICAgICAgICAgPSA0NDgwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3Nl9VTk5BTUVENDUwNTYgICAgICAgICAgICAgID0gNDUwNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3NgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzZfVU5OQU1FRDQ1MDU2ICAgICAgICAgICAgICA9IDQ1MDU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xNzYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTc2X1VOTkFNRUQ0NTA1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0NTA1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3Nl9VTk5BTUVENDUwNTYgICAgICAgICAgICAgID0gNDUwNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3NgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzZfVU5OQU1FRDQ1MDU2ICAgICAgICAgICAgICA9IDQ1MDU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc2X1VOTkFNRUQ0NTA1NiAgICAgICAgICAgICAgPSA0NTA1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTc2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE3Nl9VTk5BTUVENDUwNTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDUwNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3NgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzZfVU5OQU1FRDQ1MDU2ICAgICAgICAgICAgICA9IDQ1MDU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc3X1VOTkFNRUQ0NTMxMiAgICAgICAgICAgICAgPSA0NTMxMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3N19VTk5BTUVENDUzMTIgICAgICAgICAgICAgID0gNDUzMTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE3NwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xNzdfVU5OQU1FRDQ1MzEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ1MzEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc3X1VOTkFNRUQ0NTMxMiAgICAgICAgICAgICAgPSA0NTMxMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3N19VTk5BTUVENDUzMTIgICAgICAgICAgICAgID0gNDUzMTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3NwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzdfVU5OQU1FRDQ1MzEyICAgICAgICAgICAgICA9IDQ1MzEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xNzcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTc3X1VOTkFNRUQ0NTMxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0NTMxMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3N19VTk5BTUVENDUzMTIgICAgICAgICAgICAgID0gNDUzMTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3OAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzhfVU5OQU1FRDQ1NTY4ICAgICAgICAgICAgICA9IDQ1NTY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc4X1VOTkFNRUQ0NTU2OCAgICAgICAgICAgICAgPSA0NTU2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTc4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE3OF9VTk5BTUVENDU1NjggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDU1NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3OAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzhfVU5OQU1FRDQ1NTY4ICAgICAgICAgICAgICA9IDQ1NTY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc4X1VOTkFNRUQ0NTU2OCAgICAgICAgICAgICAgPSA0NTU2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3OF9VTk5BTUVENDU1NjggICAgICAgICAgICAgID0gNDU1NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE3OAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xNzhfVU5OQU1FRDQ1NTY4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ1NTY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc4X1VOTkFNRUQ0NTU2OCAgICAgICAgICAgICAgPSA0NTU2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3OV9VTk5BTUVENDU4MjQgICAgICAgICAgICAgID0gNDU4MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3OQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzlfVU5OQU1FRDQ1ODI0ICAgICAgICAgICAgICA9IDQ1ODI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xNzkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTc5X1VOTkFNRUQ0NTgyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0NTgyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3OV9VTk5BTUVENDU4MjQgICAgICAgICAgICAgID0gNDU4MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3OQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzlfVU5OQU1FRDQ1ODI0ICAgICAgICAgICAgICA9IDQ1ODI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTc5X1VOTkFNRUQ0NTgyNCAgICAgICAgICAgICAgPSA0NTgyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTc5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE3OV9VTk5BTUVENDU4MjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDU4MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE3OQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xNzlfVU5OQU1FRDQ1ODI0ICAgICAgICAgICAgICA9IDQ1ODI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgwX1VOTkFNRUQ0NjA4MCAgICAgICAgICAgICAgPSA0NjA4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4MF9VTk5BTUVENDYwODAgICAgICAgICAgICAgID0gNDYwODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE4MAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xODBfVU5OQU1FRDQ2MDgwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ2MDgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgwX1VOTkFNRUQ0NjA4MCAgICAgICAgICAgICAgPSA0NjA4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4MF9VTk5BTUVENDYwODAgICAgICAgICAgICAgID0gNDYwODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4MAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODBfVU5OQU1FRDQ2MDgwICAgICAgICAgICAgICA9IDQ2MDgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xODAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTgwX1VOTkFNRUQ0NjA4MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0NjA4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4MF9VTk5BTUVENDYwODAgICAgICAgICAgICAgID0gNDYwODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4MQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODFfVU5OQU1FRDQ2MzM2ICAgICAgICAgICAgICA9IDQ2MzM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgxX1VOTkFNRUQ0NjMzNiAgICAgICAgICAgICAgPSA0NjMzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTgxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE4MV9VTk5BTUVENDYzMzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDYzMzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4MQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODFfVU5OQU1FRDQ2MzM2ICAgICAgICAgICAgICA9IDQ2MzM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgxX1VOTkFNRUQ0NjMzNiAgICAgICAgICAgICAgPSA0NjMzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4MV9VTk5BTUVENDYzMzYgICAgICAgICAgICAgID0gNDYzMzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE4MQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xODFfVU5OQU1FRDQ2MzM2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ2MzM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgxX1VOTkFNRUQ0NjMzNiAgICAgICAgICAgICAgPSA0NjMzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4Ml9VTk5BTUVENDY1OTIgICAgICAgICAgICAgID0gNDY1OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4MgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODJfVU5OQU1FRDQ2NTkyICAgICAgICAgICAgICA9IDQ2NTkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xODIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTgyX1VOTkFNRUQ0NjU5MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0NjU5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4Ml9VTk5BTUVENDY1OTIgICAgICAgICAgICAgID0gNDY1OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4MgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODJfVU5OQU1FRDQ2NTkyICAgICAgICAgICAgICA9IDQ2NTkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgyX1VOTkFNRUQ0NjU5MiAgICAgICAgICAgICAgPSA0NjU5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTgyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE4Ml9VTk5BTUVENDY1OTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDY1OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4MgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODJfVU5OQU1FRDQ2NTkyICAgICAgICAgICAgICA9IDQ2NTkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgzX1VOTkFNRUQ0Njg0OCAgICAgICAgICAgICAgPSA0Njg0OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4M19VTk5BTUVENDY4NDggICAgICAgICAgICAgID0gNDY4NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE4MwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xODNfVU5OQU1FRDQ2ODQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ2ODQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgzX1VOTkFNRUQ0Njg0OCAgICAgICAgICAgICAgPSA0Njg0OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4M19VTk5BTUVENDY4NDggICAgICAgICAgICAgID0gNDY4NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4MwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODNfVU5OQU1FRDQ2ODQ4ICAgICAgICAgICAgICA9IDQ2ODQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xODMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTgzX1VOTkFNRUQ0Njg0OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0Njg0OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTgzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4M19VTk5BTUVENDY4NDggICAgICAgICAgICAgID0gNDY4NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4NAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODRfVU5OQU1FRDQ3MTA0ICAgICAgICAgICAgICA9IDQ3MTA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg0X1VOTkFNRUQ0NzEwNCAgICAgICAgICAgICAgPSA0NzEwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTg0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE4NF9VTk5BTUVENDcxMDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDcxMDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4NAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODRfVU5OQU1FRDQ3MTA0ICAgICAgICAgICAgICA9IDQ3MTA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg0X1VOTkFNRUQ0NzEwNCAgICAgICAgICAgICAgPSA0NzEwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4NF9VTk5BTUVENDcxMDQgICAgICAgICAgICAgID0gNDcxMDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE4NAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xODRfVU5OQU1FRDQ3MTA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ3MTA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg0X1VOTkFNRUQ0NzEwNCAgICAgICAgICAgICAgPSA0NzEwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4NV9VTk5BTUVENDczNjAgICAgICAgICAgICAgID0gNDczNjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4NQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODVfVU5OQU1FRDQ3MzYwICAgICAgICAgICAgICA9IDQ3MzYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xODUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTg1X1VOTkFNRUQ0NzM2MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0NzM2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4NV9VTk5BTUVENDczNjAgICAgICAgICAgICAgID0gNDczNjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4NQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODVfVU5OQU1FRDQ3MzYwICAgICAgICAgICAgICA9IDQ3MzYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg1X1VOTkFNRUQ0NzM2MCAgICAgICAgICAgICAgPSA0NzM2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTg1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE4NV9VTk5BTUVENDczNjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDczNjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4NQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODVfVU5OQU1FRDQ3MzYwICAgICAgICAgICAgICA9IDQ3MzYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg2X1VOTkFNRUQ0NzYxNiAgICAgICAgICAgICAgPSA0NzYxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4Nl9VTk5BTUVENDc2MTYgICAgICAgICAgICAgID0gNDc2MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE4NgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xODZfVU5OQU1FRDQ3NjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ3NjE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg2X1VOTkFNRUQ0NzYxNiAgICAgICAgICAgICAgPSA0NzYxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4Nl9VTk5BTUVENDc2MTYgICAgICAgICAgICAgID0gNDc2MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4NgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODZfVU5OQU1FRDQ3NjE2ICAgICAgICAgICAgICA9IDQ3NjE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xODYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTg2X1VOTkFNRUQ0NzYxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0NzYxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4Nl9VTk5BTUVENDc2MTYgICAgICAgICAgICAgID0gNDc2MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4NwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODdfVU5OQU1FRDQ3ODcyICAgICAgICAgICAgICA9IDQ3ODcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg3X1VOTkFNRUQ0Nzg3MiAgICAgICAgICAgICAgPSA0Nzg3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTg3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE4N19VTk5BTUVENDc4NzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDc4NzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4NwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODdfVU5OQU1FRDQ3ODcyICAgICAgICAgICAgICA9IDQ3ODcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg3X1VOTkFNRUQ0Nzg3MiAgICAgICAgICAgICAgPSA0Nzg3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4N19VTk5BTUVENDc4NzIgICAgICAgICAgICAgID0gNDc4NzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE4NwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xODdfVU5OQU1FRDQ3ODcyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ3ODcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg3X1VOTkFNRUQ0Nzg3MiAgICAgICAgICAgICAgPSA0Nzg3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4OF9VTk5BTUVENDgxMjggICAgICAgICAgICAgID0gNDgxMjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4OAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODhfVU5OQU1FRDQ4MTI4ICAgICAgICAgICAgICA9IDQ4MTI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xODgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTg4X1VOTkFNRUQ0ODEyOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0ODEyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4OF9VTk5BTUVENDgxMjggICAgICAgICAgICAgID0gNDgxMjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4OAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODhfVU5OQU1FRDQ4MTI4ICAgICAgICAgICAgICA9IDQ4MTI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg4X1VOTkFNRUQ0ODEyOCAgICAgICAgICAgICAgPSA0ODEyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTg4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE4OF9VTk5BTUVENDgxMjggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDgxMjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4OAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODhfVU5OQU1FRDQ4MTI4ICAgICAgICAgICAgICA9IDQ4MTI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg5X1VOTkFNRUQ0ODM4NCAgICAgICAgICAgICAgPSA0ODM4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4OV9VTk5BTUVENDgzODQgICAgICAgICAgICAgID0gNDgzODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE4OQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xODlfVU5OQU1FRDQ4Mzg0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ4Mzg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg5X1VOTkFNRUQ0ODM4NCAgICAgICAgICAgICAgPSA0ODM4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4OV9VTk5BTUVENDgzODQgICAgICAgICAgICAgID0gNDgzODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4OQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xODlfVU5OQU1FRDQ4Mzg0ICAgICAgICAgICAgICA9IDQ4Mzg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xODkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTg5X1VOTkFNRUQ0ODM4NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0ODM4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTg5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE4OV9VTk5BTUVENDgzODQgICAgICAgICAgICAgID0gNDgzODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5MAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTBfVU5OQU1FRDQ4NjQwICAgICAgICAgICAgICA9IDQ4NjQwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkwX1VOTkFNRUQ0ODY0MCAgICAgICAgICAgICAgPSA0ODY0MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTkwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE5MF9VTk5BTUVENDg2NDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDg2NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5MAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTBfVU5OQU1FRDQ4NjQwICAgICAgICAgICAgICA9IDQ4NjQwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkwX1VOTkFNRUQ0ODY0MCAgICAgICAgICAgICAgPSA0ODY0MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5MF9VTk5BTUVENDg2NDAgICAgICAgICAgICAgID0gNDg2NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE5MAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xOTBfVU5OQU1FRDQ4NjQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ4NjQwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkwX1VOTkFNRUQ0ODY0MCAgICAgICAgICAgICAgPSA0ODY0MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5MV9VTk5BTUVENDg4OTYgICAgICAgICAgICAgID0gNDg4OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5MQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTFfVU5OQU1FRDQ4ODk2ICAgICAgICAgICAgICA9IDQ4ODk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xOTEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTkxX1VOTkFNRUQ0ODg5NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0ODg5NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5MV9VTk5BTUVENDg4OTYgICAgICAgICAgICAgID0gNDg4OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5MQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTFfVU5OQU1FRDQ4ODk2ICAgICAgICAgICAgICA9IDQ4ODk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkxX1VOTkFNRUQ0ODg5NiAgICAgICAgICAgICAgPSA0ODg5NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTkxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE5MV9VTk5BTUVENDg4OTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDg4OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5MQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTFfVU5OQU1FRDQ4ODk2ICAgICAgICAgICAgICA9IDQ4ODk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkyX1VOTkFNRUQ0OTE1MiAgICAgICAgICAgICAgPSA0OTE1MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5Ml9VTk5BTUVENDkxNTIgICAgICAgICAgICAgID0gNDkxNTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE5MgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xOTJfVU5OQU1FRDQ5MTUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ5MTUyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkyX1VOTkFNRUQ0OTE1MiAgICAgICAgICAgICAgPSA0OTE1MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5Ml9VTk5BTUVENDkxNTIgICAgICAgICAgICAgID0gNDkxNTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5MgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTJfVU5OQU1FRDQ5MTUyICAgICAgICAgICAgICA9IDQ5MTUyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xOTIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTkyX1VOTkFNRUQ0OTE1MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0OTE1MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5Ml9VTk5BTUVENDkxNTIgICAgICAgICAgICAgID0gNDkxNTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5MwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTNfVU5OQU1FRDQ5NDA4ICAgICAgICAgICAgICA9IDQ5NDA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkzX1VOTkFNRUQ0OTQwOCAgICAgICAgICAgICAgPSA0OTQwOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTkzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE5M19VTk5BTUVENDk0MDggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDk0MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5MwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTNfVU5OQU1FRDQ5NDA4ICAgICAgICAgICAgICA9IDQ5NDA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkzX1VOTkFNRUQ0OTQwOCAgICAgICAgICAgICAgPSA0OTQwOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5M19VTk5BTUVENDk0MDggICAgICAgICAgICAgID0gNDk0MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE5MwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xOTNfVU5OQU1FRDQ5NDA4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ5NDA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTkzX1VOTkFNRUQ0OTQwOCAgICAgICAgICAgICAgPSA0OTQwOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NF9VTk5BTUVENDk2NjQgICAgICAgICAgICAgID0gNDk2NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTRfVU5OQU1FRDQ5NjY0ICAgICAgICAgICAgICA9IDQ5NjY0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xOTQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTk0X1VOTkFNRUQ0OTY2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0OTY2NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NF9VTk5BTUVENDk2NjQgICAgICAgICAgICAgID0gNDk2NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTRfVU5OQU1FRDQ5NjY0ICAgICAgICAgICAgICA9IDQ5NjY0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk0X1VOTkFNRUQ0OTY2NCAgICAgICAgICAgICAgPSA0OTY2NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTk0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE5NF9VTk5BTUVENDk2NjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNDk2NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTRfVU5OQU1FRDQ5NjY0ICAgICAgICAgICAgICA9IDQ5NjY0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk1X1VOTkFNRUQ0OTkyMCAgICAgICAgICAgICAgPSA0OTkyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NV9VTk5BTUVENDk5MjAgICAgICAgICAgICAgID0gNDk5MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE5NQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xOTVfVU5OQU1FRDQ5OTIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDQ5OTIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk1X1VOTkFNRUQ0OTkyMCAgICAgICAgICAgICAgPSA0OTkyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NV9VTk5BTUVENDk5MjAgICAgICAgICAgICAgID0gNDk5MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTVfVU5OQU1FRDQ5OTIwICAgICAgICAgICAgICA9IDQ5OTIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xOTUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTk1X1VOTkFNRUQ0OTkyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA0OTkyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NV9VTk5BTUVENDk5MjAgICAgICAgICAgICAgID0gNDk5MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTZfVU5OQU1FRDUwMTc2ICAgICAgICAgICAgICA9IDUwMTc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk2X1VOTkFNRUQ1MDE3NiAgICAgICAgICAgICAgPSA1MDE3NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTk2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE5Nl9VTk5BTUVENTAxNzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTAxNzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTZfVU5OQU1FRDUwMTc2ICAgICAgICAgICAgICA9IDUwMTc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk2X1VOTkFNRUQ1MDE3NiAgICAgICAgICAgICAgPSA1MDE3NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5Nl9VTk5BTUVENTAxNzYgICAgICAgICAgICAgID0gNTAxNzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE5NgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xOTZfVU5OQU1FRDUwMTc2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDUwMTc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk2X1VOTkFNRUQ1MDE3NiAgICAgICAgICAgICAgPSA1MDE3NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5N19VTk5BTUVENTA0MzIgICAgICAgICAgICAgID0gNTA0MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTdfVU5OQU1FRDUwNDMyICAgICAgICAgICAgICA9IDUwNDMyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8xOTcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMTk3X1VOTkFNRUQ1MDQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1MDQzMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5N19VTk5BTUVENTA0MzIgICAgICAgICAgICAgID0gNTA0MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTdfVU5OQU1FRDUwNDMyICAgICAgICAgICAgICA9IDUwNDMyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk3X1VOTkFNRUQ1MDQzMiAgICAgICAgICAgICAgPSA1MDQzMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMTk3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE5N19VTk5BTUVENTA0MzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTA0MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5NwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTdfVU5OQU1FRDUwNDMyICAgICAgICAgICAgICA9IDUwNDMyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk4X1VOTkFNRUQ1MDY4OCAgICAgICAgICAgICAgPSA1MDY4OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5OF9VTk5BTUVENTA2ODggICAgICAgICAgICAgID0gNTA2ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE5OAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8xOThfVU5OQU1FRDUwNjg4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDUwNjg4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk4X1VOTkFNRUQ1MDY4OCAgICAgICAgICAgICAgPSA1MDY4OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5OF9VTk5BTUVENTA2ODggICAgICAgICAgICAgID0gNTA2ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5OAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOThfVU5OQU1FRDUwNjg4ICAgICAgICAgICAgICA9IDUwNjg4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8xOTgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMTk4X1VOTkFNRUQ1MDY4OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1MDY4OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5OF9VTk5BTUVENTA2ODggICAgICAgICAgICAgID0gNTA2ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5OQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTlfVU5OQU1FRDUwOTQ0ICAgICAgICAgICAgICA9IDUwOTQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk5X1VOTkFNRUQ1MDk0NCAgICAgICAgICAgICAgPSA1MDk0NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMTk5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzE5OV9VTk5BTUVENTA5NDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTA5NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5OQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTlfVU5OQU1FRDUwOTQ0ICAgICAgICAgICAgICA9IDUwOTQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk5X1VOTkFNRUQ1MDk0NCAgICAgICAgICAgICAgPSA1MDk0NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzE5OV9VTk5BTUVENTA5NDQgICAgICAgICAgICAgID0gNTA5NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzE5OQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8xOTlfVU5OQU1FRDUwOTQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDUwOTQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8xOTkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMTk5X1VOTkFNRUQ1MDk0NCAgICAgICAgICAgICAgPSA1MDk0NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMF9VTk5BTUVENTEyMDAgICAgICAgICAgICAgID0gNTEyMDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDBfVU5OQU1FRDUxMjAwICAgICAgICAgICAgICA9IDUxMjAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yMDAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjAwX1VOTkFNRUQ1MTIwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1MTIwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMF9VTk5BTUVENTEyMDAgICAgICAgICAgICAgID0gNTEyMDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDBfVU5OQU1FRDUxMjAwICAgICAgICAgICAgICA9IDUxMjAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAwX1VOTkFNRUQ1MTIwMCAgICAgICAgICAgICAgPSA1MTIwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjAwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIwMF9VTk5BTUVENTEyMDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTEyMDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDBfVU5OQU1FRDUxMjAwICAgICAgICAgICAgICA9IDUxMjAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAxX1VOTkFNRUQ1MTQ1NiAgICAgICAgICAgICAgPSA1MTQ1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMV9VTk5BTUVENTE0NTYgICAgICAgICAgICAgID0gNTE0NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIwMQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMDFfVU5OQU1FRDUxNDU2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDUxNDU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAxX1VOTkFNRUQ1MTQ1NiAgICAgICAgICAgICAgPSA1MTQ1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMV9VTk5BTUVENTE0NTYgICAgICAgICAgICAgID0gNTE0NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDFfVU5OQU1FRDUxNDU2ICAgICAgICAgICAgICA9IDUxNDU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yMDEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjAxX1VOTkFNRUQ1MTQ1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1MTQ1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMV9VTk5BTUVENTE0NTYgICAgICAgICAgICAgID0gNTE0NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDJfVU5OQU1FRDUxNzEyICAgICAgICAgICAgICA9IDUxNzEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAyX1VOTkFNRUQ1MTcxMiAgICAgICAgICAgICAgPSA1MTcxMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjAyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIwMl9VTk5BTUVENTE3MTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTE3MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDJfVU5OQU1FRDUxNzEyICAgICAgICAgICAgICA9IDUxNzEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAyX1VOTkFNRUQ1MTcxMiAgICAgICAgICAgICAgPSA1MTcxMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMl9VTk5BTUVENTE3MTIgICAgICAgICAgICAgID0gNTE3MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIwMgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMDJfVU5OQU1FRDUxNzEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDUxNzEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAyX1VOTkFNRUQ1MTcxMiAgICAgICAgICAgICAgPSA1MTcxMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwM19VTk5BTUVENTE5NjggICAgICAgICAgICAgID0gNTE5NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDNfVU5OQU1FRDUxOTY4ICAgICAgICAgICAgICA9IDUxOTY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yMDMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjAzX1VOTkFNRUQ1MTk2OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1MTk2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwM19VTk5BTUVENTE5NjggICAgICAgICAgICAgID0gNTE5NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDNfVU5OQU1FRDUxOTY4ICAgICAgICAgICAgICA9IDUxOTY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjAzX1VOTkFNRUQ1MTk2OCAgICAgICAgICAgICAgPSA1MTk2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjAzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIwM19VTk5BTUVENTE5NjggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTE5NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwMwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDNfVU5OQU1FRDUxOTY4ICAgICAgICAgICAgICA9IDUxOTY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA0X1VOTkFNRUQ1MjIyNCAgICAgICAgICAgICAgPSA1MjIyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwNF9VTk5BTUVENTIyMjQgICAgICAgICAgICAgID0gNTIyMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIwNAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMDRfVU5OQU1FRDUyMjI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDUyMjI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA0X1VOTkFNRUQ1MjIyNCAgICAgICAgICAgICAgPSA1MjIyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwNF9VTk5BTUVENTIyMjQgICAgICAgICAgICAgID0gNTIyMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwNAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDRfVU5OQU1FRDUyMjI0ICAgICAgICAgICAgICA9IDUyMjI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yMDQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjA0X1VOTkFNRUQ1MjIyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1MjIyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwNF9VTk5BTUVENTIyMjQgICAgICAgICAgICAgID0gNTIyMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwNQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDVfVU5OQU1FRDUyNDgwICAgICAgICAgICAgICA9IDUyNDgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA1X1VOTkFNRUQ1MjQ4MCAgICAgICAgICAgICAgPSA1MjQ4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjA1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIwNV9VTk5BTUVENTI0ODAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTI0ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwNQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDVfVU5OQU1FRDUyNDgwICAgICAgICAgICAgICA9IDUyNDgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA1X1VOTkFNRUQ1MjQ4MCAgICAgICAgICAgICAgPSA1MjQ4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwNV9VTk5BTUVENTI0ODAgICAgICAgICAgICAgID0gNTI0ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIwNQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMDVfVU5OQU1FRDUyNDgwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDUyNDgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA1X1VOTkFNRUQ1MjQ4MCAgICAgICAgICAgICAgPSA1MjQ4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwNl9VTk5BTUVENTI3MzYgICAgICAgICAgICAgID0gNTI3MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwNgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDZfVU5OQU1FRDUyNzM2ICAgICAgICAgICAgICA9IDUyNzM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yMDYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjA2X1VOTkFNRUQ1MjczNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1MjczNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwNl9VTk5BTUVENTI3MzYgICAgICAgICAgICAgID0gNTI3MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwNgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDZfVU5OQU1FRDUyNzM2ICAgICAgICAgICAgICA9IDUyNzM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA2X1VOTkFNRUQ1MjczNiAgICAgICAgICAgICAgPSA1MjczNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjA2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIwNl9VTk5BTUVENTI3MzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTI3MzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwNgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDZfVU5OQU1FRDUyNzM2ICAgICAgICAgICAgICA9IDUyNzM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA3X1VOTkFNRUQ1Mjk5MiAgICAgICAgICAgICAgPSA1Mjk5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwN19VTk5BTUVENTI5OTIgICAgICAgICAgICAgID0gNTI5OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIwNwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMDdfVU5OQU1FRDUyOTkyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDUyOTkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA3X1VOTkFNRUQ1Mjk5MiAgICAgICAgICAgICAgPSA1Mjk5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwN19VTk5BTUVENTI5OTIgICAgICAgICAgICAgID0gNTI5OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwNwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDdfVU5OQU1FRDUyOTkyICAgICAgICAgICAgICA9IDUyOTkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yMDcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjA3X1VOTkFNRUQ1Mjk5MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1Mjk5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwN19VTk5BTUVENTI5OTIgICAgICAgICAgICAgID0gNTI5OTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwOAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDhfVU5OQU1FRDUzMjQ4ICAgICAgICAgICAgICA9IDUzMjQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA4X1VOTkFNRUQ1MzI0OCAgICAgICAgICAgICAgPSA1MzI0OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjA4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIwOF9VTk5BTUVENTMyNDggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTMyNDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwOAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDhfVU5OQU1FRDUzMjQ4ICAgICAgICAgICAgICA9IDUzMjQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA4X1VOTkFNRUQ1MzI0OCAgICAgICAgICAgICAgPSA1MzI0OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwOF9VTk5BTUVENTMyNDggICAgICAgICAgICAgID0gNTMyNDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIwOAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMDhfVU5OQU1FRDUzMjQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDUzMjQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA4X1VOTkFNRUQ1MzI0OCAgICAgICAgICAgICAgPSA1MzI0OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwOV9VTk5BTUVENTM1MDQgICAgICAgICAgICAgID0gNTM1MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwOQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDlfVU5OQU1FRDUzNTA0ICAgICAgICAgICAgICA9IDUzNTA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yMDkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjA5X1VOTkFNRUQ1MzUwNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1MzUwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwOV9VTk5BTUVENTM1MDQgICAgICAgICAgICAgID0gNTM1MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwOQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDlfVU5OQU1FRDUzNTA0ICAgICAgICAgICAgICA9IDUzNTA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjA5X1VOTkFNRUQ1MzUwNCAgICAgICAgICAgICAgPSA1MzUwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjA5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIwOV9VTk5BTUVENTM1MDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTM1MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIwOQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMDlfVU5OQU1FRDUzNTA0ICAgICAgICAgICAgICA9IDUzNTA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEwX1VOTkFNRUQ1Mzc2MCAgICAgICAgICAgICAgPSA1Mzc2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxMF9VTk5BTUVENTM3NjAgICAgICAgICAgICAgID0gNTM3NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIxMAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMTBfVU5OQU1FRDUzNzYwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDUzNzYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEwX1VOTkFNRUQ1Mzc2MCAgICAgICAgICAgICAgPSA1Mzc2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxMF9VTk5BTUVENTM3NjAgICAgICAgICAgICAgID0gNTM3NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxMAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTBfVU5OQU1FRDUzNzYwICAgICAgICAgICAgICA9IDUzNzYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yMTAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjEwX1VOTkFNRUQ1Mzc2MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1Mzc2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxMF9VTk5BTUVENTM3NjAgICAgICAgICAgICAgID0gNTM3NjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxMQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTFfVU5OQU1FRDU0MDE2ICAgICAgICAgICAgICA9IDU0MDE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjExX1VOTkFNRUQ1NDAxNiAgICAgICAgICAgICAgPSA1NDAxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjExCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIxMV9VTk5BTUVENTQwMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTQwMTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxMQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTFfVU5OQU1FRDU0MDE2ICAgICAgICAgICAgICA9IDU0MDE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjExX1VOTkFNRUQ1NDAxNiAgICAgICAgICAgICAgPSA1NDAxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjExCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxMV9VTk5BTUVENTQwMTYgICAgICAgICAgICAgID0gNTQwMTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIxMQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMTFfVU5OQU1FRDU0MDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDU0MDE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjExX1VOTkFNRUQ1NDAxNiAgICAgICAgICAgICAgPSA1NDAxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxMl9VTk5BTUVENTQyNzIgICAgICAgICAgICAgID0gNTQyNzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxMgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTJfVU5OQU1FRDU0MjcyICAgICAgICAgICAgICA9IDU0MjcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yMTIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjEyX1VOTkFNRUQ1NDI3MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1NDI3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxMl9VTk5BTUVENTQyNzIgICAgICAgICAgICAgID0gNTQyNzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxMgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTJfVU5OQU1FRDU0MjcyICAgICAgICAgICAgICA9IDU0MjcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEyX1VOTkFNRUQ1NDI3MiAgICAgICAgICAgICAgPSA1NDI3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjEyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIxMl9VTk5BTUVENTQyNzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTQyNzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxMgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTJfVU5OQU1FRDU0MjcyICAgICAgICAgICAgICA9IDU0MjcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEzX1VOTkFNRUQ1NDUyOCAgICAgICAgICAgICAgPSA1NDUyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxM19VTk5BTUVENTQ1MjggICAgICAgICAgICAgID0gNTQ1MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIxMwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMTNfVU5OQU1FRDU0NTI4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDU0NTI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEzX1VOTkFNRUQ1NDUyOCAgICAgICAgICAgICAgPSA1NDUyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxM19VTk5BTUVENTQ1MjggICAgICAgICAgICAgID0gNTQ1MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxMwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTNfVU5OQU1FRDU0NTI4ICAgICAgICAgICAgICA9IDU0NTI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yMTMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjEzX1VOTkFNRUQ1NDUyOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1NDUyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjEzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxM19VTk5BTUVENTQ1MjggICAgICAgICAgICAgID0gNTQ1MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTRfVU5OQU1FRDU0Nzg0ICAgICAgICAgICAgICA9IDU0Nzg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE0X1VOTkFNRUQ1NDc4NCAgICAgICAgICAgICAgPSA1NDc4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjE0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIxNF9VTk5BTUVENTQ3ODQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTQ3ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTRfVU5OQU1FRDU0Nzg0ICAgICAgICAgICAgICA9IDU0Nzg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE0X1VOTkFNRUQ1NDc4NCAgICAgICAgICAgICAgPSA1NDc4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNF9VTk5BTUVENTQ3ODQgICAgICAgICAgICAgID0gNTQ3ODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIxNAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMTRfVU5OQU1FRDU0Nzg0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDU0Nzg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE0X1VOTkFNRUQ1NDc4NCAgICAgICAgICAgICAgPSA1NDc4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNV9VTk5BTUVENTUwNDAgICAgICAgICAgICAgID0gNTUwNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTVfVU5OQU1FRDU1MDQwICAgICAgICAgICAgICA9IDU1MDQwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yMTUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjE1X1VOTkFNRUQ1NTA0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1NTA0MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNV9VTk5BTUVENTUwNDAgICAgICAgICAgICAgID0gNTUwNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTVfVU5OQU1FRDU1MDQwICAgICAgICAgICAgICA9IDU1MDQwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE1X1VOTkFNRUQ1NTA0MCAgICAgICAgICAgICAgPSA1NTA0MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjE1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIxNV9VTk5BTUVENTUwNDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTUwNDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTVfVU5OQU1FRDU1MDQwICAgICAgICAgICAgICA9IDU1MDQwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE2X1VOTkFNRUQ1NTI5NiAgICAgICAgICAgICAgPSA1NTI5NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNl9VTk5BTUVENTUyOTYgICAgICAgICAgICAgID0gNTUyOTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIxNgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMTZfVU5OQU1FRDU1Mjk2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDU1Mjk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE2X1VOTkFNRUQ1NTI5NiAgICAgICAgICAgICAgPSA1NTI5NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNl9VTk5BTUVENTUyOTYgICAgICAgICAgICAgID0gNTUyOTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTZfVU5OQU1FRDU1Mjk2ICAgICAgICAgICAgICA9IDU1Mjk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yMTYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjE2X1VOTkFNRUQ1NTI5NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1NTI5NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNl9VTk5BTUVENTUyOTYgICAgICAgICAgICAgID0gNTUyOTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTdfVU5OQU1FRDU1NTUyICAgICAgICAgICAgICA9IDU1NTUyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE3X1VOTkFNRUQ1NTU1MiAgICAgICAgICAgICAgPSA1NTU1MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjE3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIxN19VTk5BTUVENTU1NTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTU1NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxNwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTdfVU5OQU1FRDU1NTUyICAgICAgICAgICAgICA9IDU1NTUyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE3X1VOTkFNRUQ1NTU1MiAgICAgICAgICAgICAgPSA1NTU1MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxN19VTk5BTUVENTU1NTIgICAgICAgICAgICAgID0gNTU1NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIxNwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMTdfVU5OQU1FRDU1NTUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDU1NTUyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE3X1VOTkFNRUQ1NTU1MiAgICAgICAgICAgICAgPSA1NTU1MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxOF9VTk5BTUVENTU4MDggICAgICAgICAgICAgID0gNTU4MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxOAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMThfVU5OQU1FRDU1ODA4ICAgICAgICAgICAgICA9IDU1ODA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yMTgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjE4X1VOTkFNRUQ1NTgwOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1NTgwOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxOF9VTk5BTUVENTU4MDggICAgICAgICAgICAgID0gNTU4MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxOAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMThfVU5OQU1FRDU1ODA4ICAgICAgICAgICAgICA9IDU1ODA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE4X1VOTkFNRUQ1NTgwOCAgICAgICAgICAgICAgPSA1NTgwOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjE4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIxOF9VTk5BTUVENTU4MDggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTU4MDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxOAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMThfVU5OQU1FRDU1ODA4ICAgICAgICAgICAgICA9IDU1ODA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE5X1VOTkFNRUQ1NjA2NCAgICAgICAgICAgICAgPSA1NjA2NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxOV9VTk5BTUVENTYwNjQgICAgICAgICAgICAgID0gNTYwNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIxOQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMTlfVU5OQU1FRDU2MDY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDU2MDY0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE5X1VOTkFNRUQ1NjA2NCAgICAgICAgICAgICAgPSA1NjA2NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxOV9VTk5BTUVENTYwNjQgICAgICAgICAgICAgID0gNTYwNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxOQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMTlfVU5OQU1FRDU2MDY0ICAgICAgICAgICAgICA9IDU2MDY0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yMTkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjE5X1VOTkFNRUQ1NjA2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1NjA2NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjE5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIxOV9VTk5BTUVENTYwNjQgICAgICAgICAgICAgID0gNTYwNjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjBfVU5OQU1FRDU2MzIwICAgICAgICAgICAgICA9IDU2MzIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIwX1VOTkFNRUQ1NjMyMCAgICAgICAgICAgICAgPSA1NjMyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjIwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIyMF9VTk5BTUVENTYzMjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTYzMjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjBfVU5OQU1FRDU2MzIwICAgICAgICAgICAgICA9IDU2MzIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIwX1VOTkFNRUQ1NjMyMCAgICAgICAgICAgICAgPSA1NjMyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMF9VTk5BTUVENTYzMjAgICAgICAgICAgICAgID0gNTYzMjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIyMAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMjBfVU5OQU1FRDU2MzIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDU2MzIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIwX1VOTkFNRUQ1NjMyMCAgICAgICAgICAgICAgPSA1NjMyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMV9VTk5BTUVENTY1NzYgICAgICAgICAgICAgID0gNTY1NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjFfVU5OQU1FRDU2NTc2ICAgICAgICAgICAgICA9IDU2NTc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yMjEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjIxX1VOTkFNRUQ1NjU3NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1NjU3NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMV9VTk5BTUVENTY1NzYgICAgICAgICAgICAgID0gNTY1NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjFfVU5OQU1FRDU2NTc2ICAgICAgICAgICAgICA9IDU2NTc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIxX1VOTkFNRUQ1NjU3NiAgICAgICAgICAgICAgPSA1NjU3NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjIxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIyMV9VTk5BTUVENTY1NzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTY1NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjFfVU5OQU1FRDU2NTc2ICAgICAgICAgICAgICA9IDU2NTc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIyX1VOTkFNRUQ1NjgzMiAgICAgICAgICAgICAgPSA1NjgzMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMl9VTk5BTUVENTY4MzIgICAgICAgICAgICAgID0gNTY4MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIyMgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMjJfVU5OQU1FRDU2ODMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDU2ODMyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIyX1VOTkFNRUQ1NjgzMiAgICAgICAgICAgICAgPSA1NjgzMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMl9VTk5BTUVENTY4MzIgICAgICAgICAgICAgID0gNTY4MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjJfVU5OQU1FRDU2ODMyICAgICAgICAgICAgICA9IDU2ODMyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yMjIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjIyX1VOTkFNRUQ1NjgzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1NjgzMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMl9VTk5BTUVENTY4MzIgICAgICAgICAgICAgID0gNTY4MzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjNfVU5OQU1FRDU3MDg4ICAgICAgICAgICAgICA9IDU3MDg4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIzX1VOTkFNRUQ1NzA4OCAgICAgICAgICAgICAgPSA1NzA4OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjIzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIyM19VTk5BTUVENTcwODggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTcwODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyMwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjNfVU5OQU1FRDU3MDg4ICAgICAgICAgICAgICA9IDU3MDg4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIzX1VOTkFNRUQ1NzA4OCAgICAgICAgICAgICAgPSA1NzA4OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyM19VTk5BTUVENTcwODggICAgICAgICAgICAgID0gNTcwODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIyMwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMjNfVU5OQU1FRDU3MDg4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDU3MDg4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjIzX1VOTkFNRUQ1NzA4OCAgICAgICAgICAgICAgPSA1NzA4OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNF9VTk5BTUVENTczNDQgICAgICAgICAgICAgID0gNTczNDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjRfVU5OQU1FRDU3MzQ0ICAgICAgICAgICAgICA9IDU3MzQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yMjQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjI0X1VOTkFNRUQ1NzM0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1NzM0NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNF9VTk5BTUVENTczNDQgICAgICAgICAgICAgID0gNTczNDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjRfVU5OQU1FRDU3MzQ0ICAgICAgICAgICAgICA9IDU3MzQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI0X1VOTkFNRUQ1NzM0NCAgICAgICAgICAgICAgPSA1NzM0NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjI0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIyNF9VTk5BTUVENTczNDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTczNDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjRfVU5OQU1FRDU3MzQ0ICAgICAgICAgICAgICA9IDU3MzQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI1X1VOTkFNRUQ1NzYwMCAgICAgICAgICAgICAgPSA1NzYwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNV9VTk5BTUVENTc2MDAgICAgICAgICAgICAgID0gNTc2MDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIyNQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMjVfVU5OQU1FRDU3NjAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDU3NjAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI1X1VOTkFNRUQ1NzYwMCAgICAgICAgICAgICAgPSA1NzYwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNV9VTk5BTUVENTc2MDAgICAgICAgICAgICAgID0gNTc2MDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjVfVU5OQU1FRDU3NjAwICAgICAgICAgICAgICA9IDU3NjAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yMjUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjI1X1VOTkFNRUQ1NzYwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1NzYwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNV9VTk5BTUVENTc2MDAgICAgICAgICAgICAgID0gNTc2MDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjZfVU5OQU1FRDU3ODU2ICAgICAgICAgICAgICA9IDU3ODU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI2X1VOTkFNRUQ1Nzg1NiAgICAgICAgICAgICAgPSA1Nzg1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjI2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIyNl9VTk5BTUVENTc4NTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTc4NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjZfVU5OQU1FRDU3ODU2ICAgICAgICAgICAgICA9IDU3ODU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI2X1VOTkFNRUQ1Nzg1NiAgICAgICAgICAgICAgPSA1Nzg1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNl9VTk5BTUVENTc4NTYgICAgICAgICAgICAgID0gNTc4NTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIyNgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMjZfVU5OQU1FRDU3ODU2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDU3ODU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI2X1VOTkFNRUQ1Nzg1NiAgICAgICAgICAgICAgPSA1Nzg1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyN19VTk5BTUVENTgxMTIgICAgICAgICAgICAgID0gNTgxMTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjdfVU5OQU1FRDU4MTEyICAgICAgICAgICAgICA9IDU4MTEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yMjcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjI3X1VOTkFNRUQ1ODExMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1ODExMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyN19VTk5BTUVENTgxMTIgICAgICAgICAgICAgID0gNTgxMTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjdfVU5OQU1FRDU4MTEyICAgICAgICAgICAgICA9IDU4MTEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI3X1VOTkFNRUQ1ODExMiAgICAgICAgICAgICAgPSA1ODExMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjI3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIyN19VTk5BTUVENTgxMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTgxMTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyNwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjdfVU5OQU1FRDU4MTEyICAgICAgICAgICAgICA9IDU4MTEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI4X1VOTkFNRUQ1ODM2OCAgICAgICAgICAgICAgPSA1ODM2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyOF9VTk5BTUVENTgzNjggICAgICAgICAgICAgID0gNTgzNjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIyOAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMjhfVU5OQU1FRDU4MzY4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDU4MzY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI4X1VOTkFNRUQ1ODM2OCAgICAgICAgICAgICAgPSA1ODM2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyOF9VTk5BTUVENTgzNjggICAgICAgICAgICAgID0gNTgzNjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyOAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjhfVU5OQU1FRDU4MzY4ICAgICAgICAgICAgICA9IDU4MzY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yMjgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjI4X1VOTkFNRUQ1ODM2OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1ODM2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyOF9VTk5BTUVENTgzNjggICAgICAgICAgICAgID0gNTgzNjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyOQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjlfVU5OQU1FRDU4NjI0ICAgICAgICAgICAgICA9IDU4NjI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI5X1VOTkFNRUQ1ODYyNCAgICAgICAgICAgICAgPSA1ODYyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjI5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIyOV9VTk5BTUVENTg2MjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTg2MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyOQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjlfVU5OQU1FRDU4NjI0ICAgICAgICAgICAgICA9IDU4NjI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI5X1VOTkFNRUQ1ODYyNCAgICAgICAgICAgICAgPSA1ODYyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIyOV9VTk5BTUVENTg2MjQgICAgICAgICAgICAgID0gNTg2MjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIyOQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMjlfVU5OQU1FRDU4NjI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDU4NjI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMjkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjI5X1VOTkFNRUQ1ODYyNCAgICAgICAgICAgICAgPSA1ODYyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMF9VTk5BTUVENTg4ODAgICAgICAgICAgICAgID0gNTg4ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzBfVU5OQU1FRDU4ODgwICAgICAgICAgICAgICA9IDU4ODgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yMzAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjMwX1VOTkFNRUQ1ODg4MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1ODg4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMF9VTk5BTUVENTg4ODAgICAgICAgICAgICAgID0gNTg4ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzBfVU5OQU1FRDU4ODgwICAgICAgICAgICAgICA9IDU4ODgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMwX1VOTkFNRUQ1ODg4MCAgICAgICAgICAgICAgPSA1ODg4MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjMwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIzMF9VTk5BTUVENTg4ODAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTg4ODAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzBfVU5OQU1FRDU4ODgwICAgICAgICAgICAgICA9IDU4ODgwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMxX1VOTkFNRUQ1OTEzNiAgICAgICAgICAgICAgPSA1OTEzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMV9VTk5BTUVENTkxMzYgICAgICAgICAgICAgID0gNTkxMzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIzMQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMzFfVU5OQU1FRDU5MTM2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDU5MTM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMxX1VOTkFNRUQ1OTEzNiAgICAgICAgICAgICAgPSA1OTEzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMV9VTk5BTUVENTkxMzYgICAgICAgICAgICAgID0gNTkxMzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzFfVU5OQU1FRDU5MTM2ICAgICAgICAgICAgICA9IDU5MTM2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yMzEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjMxX1VOTkFNRUQ1OTEzNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1OTEzNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMV9VTk5BTUVENTkxMzYgICAgICAgICAgICAgID0gNTkxMzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzJfVU5OQU1FRDU5MzkyICAgICAgICAgICAgICA9IDU5MzkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMyX1VOTkFNRUQ1OTM5MiAgICAgICAgICAgICAgPSA1OTM5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjMyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIzMl9VTk5BTUVENTkzOTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTkzOTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzJfVU5OQU1FRDU5MzkyICAgICAgICAgICAgICA9IDU5MzkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMyX1VOTkFNRUQ1OTM5MiAgICAgICAgICAgICAgPSA1OTM5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMl9VTk5BTUVENTkzOTIgICAgICAgICAgICAgID0gNTkzOTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIzMgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMzJfVU5OQU1FRDU5MzkyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDU5MzkyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMyX1VOTkFNRUQ1OTM5MiAgICAgICAgICAgICAgPSA1OTM5MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzM19VTk5BTUVENTk2NDggICAgICAgICAgICAgID0gNTk2NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzNfVU5OQU1FRDU5NjQ4ICAgICAgICAgICAgICA9IDU5NjQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yMzMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjMzX1VOTkFNRUQ1OTY0OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1OTY0OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzM19VTk5BTUVENTk2NDggICAgICAgICAgICAgID0gNTk2NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzNfVU5OQU1FRDU5NjQ4ICAgICAgICAgICAgICA9IDU5NjQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjMzX1VOTkFNRUQ1OTY0OCAgICAgICAgICAgICAgPSA1OTY0OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjMzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIzM19VTk5BTUVENTk2NDggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNTk2NDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzMwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzNfVU5OQU1FRDU5NjQ4ICAgICAgICAgICAgICA9IDU5NjQ4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM0X1VOTkFNRUQ1OTkwNCAgICAgICAgICAgICAgPSA1OTkwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzNF9VTk5BTUVENTk5MDQgICAgICAgICAgICAgID0gNTk5MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIzNAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMzRfVU5OQU1FRDU5OTA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDU5OTA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM0X1VOTkFNRUQ1OTkwNCAgICAgICAgICAgICAgPSA1OTkwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzNF9VTk5BTUVENTk5MDQgICAgICAgICAgICAgID0gNTk5MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzNAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzRfVU5OQU1FRDU5OTA0ICAgICAgICAgICAgICA9IDU5OTA0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yMzQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjM0X1VOTkFNRUQ1OTkwNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA1OTkwNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzNF9VTk5BTUVENTk5MDQgICAgICAgICAgICAgID0gNTk5MDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzNQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzVfVU5OQU1FRDYwMTYwICAgICAgICAgICAgICA9IDYwMTYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM1X1VOTkFNRUQ2MDE2MCAgICAgICAgICAgICAgPSA2MDE2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjM1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIzNV9VTk5BTUVENjAxNjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjAxNjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzNQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzVfVU5OQU1FRDYwMTYwICAgICAgICAgICAgICA9IDYwMTYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM1X1VOTkFNRUQ2MDE2MCAgICAgICAgICAgICAgPSA2MDE2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzNV9VTk5BTUVENjAxNjAgICAgICAgICAgICAgID0gNjAxNjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIzNQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMzVfVU5OQU1FRDYwMTYwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDYwMTYwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM1X1VOTkFNRUQ2MDE2MCAgICAgICAgICAgICAgPSA2MDE2MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzNl9VTk5BTUVENjA0MTYgICAgICAgICAgICAgID0gNjA0MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzNgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzZfVU5OQU1FRDYwNDE2ICAgICAgICAgICAgICA9IDYwNDE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yMzYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjM2X1VOTkFNRUQ2MDQxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2MDQxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzNl9VTk5BTUVENjA0MTYgICAgICAgICAgICAgID0gNjA0MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzNgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzZfVU5OQU1FRDYwNDE2ICAgICAgICAgICAgICA9IDYwNDE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM2X1VOTkFNRUQ2MDQxNiAgICAgICAgICAgICAgPSA2MDQxNiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjM2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIzNl9VTk5BTUVENjA0MTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjA0MTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzNgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzZfVU5OQU1FRDYwNDE2ICAgICAgICAgICAgICA9IDYwNDE2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM3X1VOTkFNRUQ2MDY3MiAgICAgICAgICAgICAgPSA2MDY3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzN19VTk5BTUVENjA2NzIgICAgICAgICAgICAgID0gNjA2NzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIzNwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yMzdfVU5OQU1FRDYwNjcyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDYwNjcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM3X1VOTkFNRUQ2MDY3MiAgICAgICAgICAgICAgPSA2MDY3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzN19VTk5BTUVENjA2NzIgICAgICAgICAgICAgID0gNjA2NzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzNwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzdfVU5OQU1FRDYwNjcyICAgICAgICAgICAgICA9IDYwNjcyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yMzcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjM3X1VOTkFNRUQ2MDY3MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2MDY3MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzN19VTk5BTUVENjA2NzIgICAgICAgICAgICAgID0gNjA2NzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzOAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzhfVU5OQU1FRDYwOTI4ICAgICAgICAgICAgICA9IDYwOTI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM4X1VOTkFNRUQ2MDkyOCAgICAgICAgICAgICAgPSA2MDkyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjM4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzIzOF9VTk5BTUVENjA5MjggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjA5MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzOAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzhfVU5OQU1FRDYwOTI4ICAgICAgICAgICAgICA9IDYwOTI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM4X1VOTkFNRUQ2MDkyOCAgICAgICAgICAgICAgPSA2MDkyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzOF9VTk5BTUVENjA5MjggICAgICAgICAgICAgID0gNjA5MjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIzOAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yMzhfVU5OQU1FRDYwOTI4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDYwOTI4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM4X1VOTkFNRUQ2MDkyOCAgICAgICAgICAgICAgPSA2MDkyOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzOV9VTk5BTUVENjExODQgICAgICAgICAgICAgID0gNjExODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzOQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzlfVU5OQU1FRDYxMTg0ICAgICAgICAgICAgICA9IDYxMTg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yMzkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjM5X1VOTkFNRUQ2MTE4NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2MTE4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzOV9VTk5BTUVENjExODQgICAgICAgICAgICAgID0gNjExODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzOQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzlfVU5OQU1FRDYxMTg0ICAgICAgICAgICAgICA9IDYxMTg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjM5X1VOTkFNRUQ2MTE4NCAgICAgICAgICAgICAgPSA2MTE4NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjM5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzIzOV9VTk5BTUVENjExODQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjExODQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzIzOQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yMzlfVU5OQU1FRDYxMTg0ICAgICAgICAgICAgICA9IDYxMTg0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQwX1VOTkFNRUQ2MTQ0MCAgICAgICAgICAgICAgPSA2MTQ0MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0MF9VTk5BTUVENjE0NDAgICAgICAgICAgICAgID0gNjE0NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI0MAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yNDBfVU5OQU1FRDYxNDQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDYxNDQwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQwX1VOTkFNRUQ2MTQ0MCAgICAgICAgICAgICAgPSA2MTQ0MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0MF9VTk5BTUVENjE0NDAgICAgICAgICAgICAgID0gNjE0NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0MAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDBfVU5OQU1FRDYxNDQwICAgICAgICAgICAgICA9IDYxNDQwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yNDAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjQwX1VOTkFNRUQ2MTQ0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2MTQ0MCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0MF9VTk5BTUVENjE0NDAgICAgICAgICAgICAgID0gNjE0NDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0MQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDFfVU5OQU1FRDYxNjk2ICAgICAgICAgICAgICA9IDYxNjk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQxX1VOTkFNRUQ2MTY5NiAgICAgICAgICAgICAgPSA2MTY5NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjQxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI0MV9VTk5BTUVENjE2OTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjE2OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0MQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDFfVU5OQU1FRDYxNjk2ICAgICAgICAgICAgICA9IDYxNjk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQxX1VOTkFNRUQ2MTY5NiAgICAgICAgICAgICAgPSA2MTY5NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0MV9VTk5BTUVENjE2OTYgICAgICAgICAgICAgID0gNjE2OTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI0MQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yNDFfVU5OQU1FRDYxNjk2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDYxNjk2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQxX1VOTkFNRUQ2MTY5NiAgICAgICAgICAgICAgPSA2MTY5NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0Ml9VTk5BTUVENjE5NTIgICAgICAgICAgICAgID0gNjE5NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0MgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDJfVU5OQU1FRDYxOTUyICAgICAgICAgICAgICA9IDYxOTUyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yNDIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjQyX1VOTkFNRUQ2MTk1MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2MTk1MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0Ml9VTk5BTUVENjE5NTIgICAgICAgICAgICAgID0gNjE5NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0MgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDJfVU5OQU1FRDYxOTUyICAgICAgICAgICAgICA9IDYxOTUyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQyX1VOTkFNRUQ2MTk1MiAgICAgICAgICAgICAgPSA2MTk1MiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjQyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI0Ml9VTk5BTUVENjE5NTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjE5NTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0MgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDJfVU5OQU1FRDYxOTUyICAgICAgICAgICAgICA9IDYxOTUyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQzX1VOTkFNRUQ2MjIwOCAgICAgICAgICAgICAgPSA2MjIwOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0M19VTk5BTUVENjIyMDggICAgICAgICAgICAgID0gNjIyMDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI0MwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yNDNfVU5OQU1FRDYyMjA4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDYyMjA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQzX1VOTkFNRUQ2MjIwOCAgICAgICAgICAgICAgPSA2MjIwOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0M19VTk5BTUVENjIyMDggICAgICAgICAgICAgID0gNjIyMDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0MwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDNfVU5OQU1FRDYyMjA4ICAgICAgICAgICAgICA9IDYyMjA4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yNDMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjQzX1VOTkFNRUQ2MjIwOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2MjIwOCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0M19VTk5BTUVENjIyMDggICAgICAgICAgICAgID0gNjIyMDgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0NAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDRfVU5OQU1FRDYyNDY0ICAgICAgICAgICAgICA9IDYyNDY0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ0X1VOTkFNRUQ2MjQ2NCAgICAgICAgICAgICAgPSA2MjQ2NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjQ0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI0NF9VTk5BTUVENjI0NjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjI0NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0NAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDRfVU5OQU1FRDYyNDY0ICAgICAgICAgICAgICA9IDYyNDY0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ0X1VOTkFNRUQ2MjQ2NCAgICAgICAgICAgICAgPSA2MjQ2NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0NF9VTk5BTUVENjI0NjQgICAgICAgICAgICAgID0gNjI0NjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI0NAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yNDRfVU5OQU1FRDYyNDY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDYyNDY0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ0X1VOTkFNRUQ2MjQ2NCAgICAgICAgICAgICAgPSA2MjQ2NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0NV9VTk5BTUVENjI3MjAgICAgICAgICAgICAgID0gNjI3MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0NQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDVfVU5OQU1FRDYyNzIwICAgICAgICAgICAgICA9IDYyNzIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yNDUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjQ1X1VOTkFNRUQ2MjcyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2MjcyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0NV9VTk5BTUVENjI3MjAgICAgICAgICAgICAgID0gNjI3MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0NQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDVfVU5OQU1FRDYyNzIwICAgICAgICAgICAgICA9IDYyNzIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ1X1VOTkFNRUQ2MjcyMCAgICAgICAgICAgICAgPSA2MjcyMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjQ1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI0NV9VTk5BTUVENjI3MjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjI3MjAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0NQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDVfVU5OQU1FRDYyNzIwICAgICAgICAgICAgICA9IDYyNzIwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ2X1VOTkFNRUQ2Mjk3NiAgICAgICAgICAgICAgPSA2Mjk3NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ2CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0Nl9VTk5BTUVENjI5NzYgICAgICAgICAgICAgID0gNjI5NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI0NgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yNDZfVU5OQU1FRDYyOTc2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDYyOTc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDYKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ2X1VOTkFNRUQ2Mjk3NiAgICAgICAgICAgICAgPSA2Mjk3NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0Nl9VTk5BTUVENjI5NzYgICAgICAgICAgICAgID0gNjI5NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0NgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDZfVU5OQU1FRDYyOTc2ICAgICAgICAgICAgICA9IDYyOTc2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yNDYKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjQ2X1VOTkFNRUQ2Mjk3NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2Mjk3NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ2CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0Nl9VTk5BTUVENjI5NzYgICAgICAgICAgICAgID0gNjI5NzYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0NwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDdfVU5OQU1FRDYzMjMyICAgICAgICAgICAgICA9IDYzMjMyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDcKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ3X1VOTkFNRUQ2MzIzMiAgICAgICAgICAgICAgPSA2MzIzMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjQ3CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI0N19VTk5BTUVENjMyMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjMyMzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0NwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDdfVU5OQU1FRDYzMjMyICAgICAgICAgICAgICA9IDYzMjMyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ3X1VOTkFNRUQ2MzIzMiAgICAgICAgICAgICAgPSA2MzIzMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ3CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0N19VTk5BTUVENjMyMzIgICAgICAgICAgICAgID0gNjMyMzIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI0NwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yNDdfVU5OQU1FRDYzMjMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDYzMjMyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDcKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ3X1VOTkFNRUQ2MzIzMiAgICAgICAgICAgICAgPSA2MzIzMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0OF9VTk5BTUVENjM0ODggICAgICAgICAgICAgID0gNjM0ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0OAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDhfVU5OQU1FRDYzNDg4ICAgICAgICAgICAgICA9IDYzNDg4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yNDgKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjQ4X1VOTkFNRUQ2MzQ4OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2MzQ4OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ4CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0OF9VTk5BTUVENjM0ODggICAgICAgICAgICAgID0gNjM0ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0OAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDhfVU5OQU1FRDYzNDg4ICAgICAgICAgICAgICA9IDYzNDg4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDgKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ4X1VOTkFNRUQ2MzQ4OCAgICAgICAgICAgICAgPSA2MzQ4OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjQ4CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI0OF9VTk5BTUVENjM0ODggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjM0ODgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0OAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDhfVU5OQU1FRDYzNDg4ICAgICAgICAgICAgICA9IDYzNDg4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ5X1VOTkFNRUQ2Mzc0NCAgICAgICAgICAgICAgPSA2Mzc0NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ5CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0OV9VTk5BTUVENjM3NDQgICAgICAgICAgICAgID0gNjM3NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI0OQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yNDlfVU5OQU1FRDYzNzQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDYzNzQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDkKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ5X1VOTkFNRUQ2Mzc0NCAgICAgICAgICAgICAgPSA2Mzc0NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0OV9VTk5BTUVENjM3NDQgICAgICAgICAgICAgID0gNjM3NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0OQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNDlfVU5OQU1FRDYzNzQ0ICAgICAgICAgICAgICA9IDYzNzQ0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yNDkKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjQ5X1VOTkFNRUQ2Mzc0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2Mzc0NCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjQ5CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI0OV9VTk5BTUVENjM3NDQgICAgICAgICAgICAgID0gNjM3NDQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1MAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTBfVU5OQU1FRDY0MDAwICAgICAgICAgICAgICA9IDY0MDAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTAKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUwX1VOTkFNRUQ2NDAwMCAgICAgICAgICAgICAgPSA2NDAwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjUwCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI1MF9VTk5BTUVENjQwMDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjQwMDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1MAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTBfVU5OQU1FRDY0MDAwICAgICAgICAgICAgICA9IDY0MDAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUwX1VOTkFNRUQ2NDAwMCAgICAgICAgICAgICAgPSA2NDAwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUwCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1MF9VTk5BTUVENjQwMDAgICAgICAgICAgICAgID0gNjQwMDAsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI1MAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yNTBfVU5OQU1FRDY0MDAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDY0MDAwLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTAKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUwX1VOTkFNRUQ2NDAwMCAgICAgICAgICAgICAgPSA2NDAwMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1MV9VTk5BTUVENjQyNTYgICAgICAgICAgICAgID0gNjQyNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1MQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTFfVU5OQU1FRDY0MjU2ICAgICAgICAgICAgICA9IDY0MjU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yNTEKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjUxX1VOTkFNRUQ2NDI1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2NDI1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUxCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1MV9VTk5BTUVENjQyNTYgICAgICAgICAgICAgID0gNjQyNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1MQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTFfVU5OQU1FRDY0MjU2ICAgICAgICAgICAgICA9IDY0MjU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTEKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUxX1VOTkFNRUQ2NDI1NiAgICAgICAgICAgICAgPSA2NDI1NiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjUxCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI1MV9VTk5BTUVENjQyNTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjQyNTYsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1MQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTFfVU5OQU1FRDY0MjU2ICAgICAgICAgICAgICA9IDY0MjU2LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUyX1VOTkFNRUQ2NDUxMiAgICAgICAgICAgICAgPSA2NDUxMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUyCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1Ml9VTk5BTUVENjQ1MTIgICAgICAgICAgICAgID0gNjQ1MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI1MgogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yNTJfVU5OQU1FRDY0NTEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDY0NTEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTIKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUyX1VOTkFNRUQ2NDUxMiAgICAgICAgICAgICAgPSA2NDUxMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1Ml9VTk5BTUVENjQ1MTIgICAgICAgICAgICAgID0gNjQ1MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1MgogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTJfVU5OQU1FRDY0NTEyICAgICAgICAgICAgICA9IDY0NTEyLCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yNTIKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjUyX1VOTkFNRUQ2NDUxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2NDUxMiwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUyCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1Ml9VTk5BTUVENjQ1MTIgICAgICAgICAgICAgID0gNjQ1MTIsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1MwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTNfVU5OQU1FRDY0NzY4ICAgICAgICAgICAgICA9IDY0NzY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTMKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUzX1VOTkFNRUQ2NDc2OCAgICAgICAgICAgICAgPSA2NDc2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUElYRUxfVkFMVUVfMjUzCiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI1M19VTk5BTUVENjQ3NjggICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjQ3NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1MwogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTNfVU5OQU1FRDY0NzY4ICAgICAgICAgICAgICA9IDY0NzY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUzX1VOTkFNRUQ2NDc2OCAgICAgICAgICAgICAgPSA2NDc2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUzCiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1M19VTk5BTUVENjQ3NjggICAgICAgICAgICAgID0gNjQ3NjgsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI1MwogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9QSVhFTF9WQUxVRV8yNTNfVU5OQU1FRDY0NzY4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDY0NzY4LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTMKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjUzX1VOTkFNRUQ2NDc2OCAgICAgICAgICAgICAgPSA2NDc2OCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjU0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1NF9VTk5BTUVENjUwMjQgICAgICAgICAgICAgID0gNjUwMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1NAogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTRfVU5OQU1FRDY1MDI0ICAgICAgICAgICAgICA9IDY1MDI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9QSVhFTF9WQUxVRV8yNTQKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUElYRUxfVkFMVUVfMjU0X1VOTkFNRUQ2NTAyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2NTAyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjU0CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1NF9VTk5BTUVENjUwMjQgICAgICAgICAgICAgID0gNjUwMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1NAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTRfVU5OQU1FRDY1MDI0ICAgICAgICAgICAgICA9IDY1MDI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTQKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjU0X1VOTkFNRUQ2NTAyNCAgICAgICAgICAgICAgPSA2NTAyNCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUElYRUxfVkFMVUVfMjU0CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1BJWEVMX1ZBTFVFXzI1NF9VTk5BTUVENjUwMjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gNjUwMjQsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1NAogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTRfVU5OQU1FRDY1MDI0ICAgICAgICAgICAgICA9IDY1MDI0LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9HX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjU1X1VOTkFNRUQ2NTUzNSAgICAgICAgICAgICAgPSA2NTUzNSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIElOVkVSU0VfQl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjU1CiAgICAgICAgewogICAgICAgICAgICBJTlZFUlNFX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1NV9VTk5BTUVENjU1MzUgICAgICAgICAgICAgID0gNjU1MzUsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBJTlZFUlNFX1BJWEVMX1ZBTFVFXzI1NQogICAgICAgIHsKICAgICAgICAgICAgSU5WRVJTRV9QSVhFTF9WQUxVRV8yNTVfVU5OQU1FRDY1NTM1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDY1NTM1LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gSU5WRVJTRV9SX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTUKICAgICAgICB7CiAgICAgICAgICAgIElOVkVSU0VfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjU1X1VOTkFNRUQ2NTUzNSAgICAgICAgICAgICAgPSA2NTUzNSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfR19DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjU1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX0dfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1NV9VTk5BTUVENjU1MzUgICAgICAgICAgICAgID0gNjU1MzUsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgZW51bSBGT1JXQVJEX0JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1NQogICAgICAgIHsKICAgICAgICAgICAgRk9SV0FSRF9CX0NIX0dBTU1BX0NPUlJFQ1RFRF9WQUxVRV8yNTVfVU5OQU1FRDY1NTM1ICAgICAgICAgICAgICA9IDY1NTM1LCAvLyE8IE5vIGFkZGl0aW9uYWwgZGV0YWlscwogICAgICAgIH07CgogICAgICAgIGVudW0gRk9SV0FSRF9QSVhFTF9WQUxVRV8yNTUKICAgICAgICB7CiAgICAgICAgICAgIEZPUldBUkRfUElYRUxfVkFMVUVfMjU1X1VOTkFNRUQ2NTUzNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2NTUzNSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICBlbnVtIEZPUldBUkRfUl9DSF9HQU1NQV9DT1JSRUNURURfVkFMVUVfMjU1CiAgICAgICAgewogICAgICAgICAgICBGT1JXQVJEX1JfQ0hfR0FNTUFfQ09SUkVDVEVEX1ZBTFVFXzI1NV9VTk5BTUVENjU1MzUgICAgICAgICAgICAgID0gNjU1MzUsIC8vITwgTm8gYWRkaXRpb25hbCBkZXRhaWxzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxuYW1lIEluaXRpYWxpemF0aW9ucwoKICAgICAgICAvLyEgXGJyaWVmIEV4cGxpY2l0IG1lbWJlciBpbml0aWFsaXphdGlvbiBmdW5jdGlvbgogICAgICAgIEdhbXV0X0V4cGFuc2lvbl9HYW1tYV9Db3JyZWN0aW9uX0NNRCgpOwoKICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGR3U2l6ZSA9IDEwMjQ7CiAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBieXRlU2l6ZSA9IDQwOTY7CiAgICB9OwoKICAgIC8vIQogICAgLy8hIFxicmllZiBWRUJfRElfSUVDUF9DT01NQU5EX1NVUkZBQ0VfQ09OVFJPTF9CSVRTCiAgICAvLyEgXGRldGFpbHMKICAgIC8vISAgICAgCiAgICAvLyEgICAgIAogICAgc3RydWN0IFZFQl9ESV9JRUNQX0NPTU1BTkRfU1VSRkFDRV9DT05UUk9MX0JJVFNfQ01ECiAgICB7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIC8vITwgRFdPUkQgMAogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9fQ09ERUdFTl9CSVRGSUVMRCggMCwgIDApICAgIDsgLy8hPCBSZXNlcnZlZCBEYXRhCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW5kZXhUb01lbW9yeU9iamVjdENvbnRyb2xTdGF0ZU1vY3NUYWJsZXMgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCAxLCAgNikgICAgOyAvLyE8IEluZGV4IHRvIE1lbW9yeSBPYmplY3QgQ29udHJvbCBTdGF0ZSAoTU9DUykgVGFibGVzCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgTWVtb3J5Q29tcHJlc3Npb25FbmFibGUgICAgICAgICAgICAgICAgICAgICAgICAgIDogX19DT0RFR0VOX0JJVEZJRUxEKCA3LCAgNykgICAgOyAvLyE8IE1lbW9yeSBDb21wcmVzc2lvbiBFbmFibGUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBDb21wcmVzc2lvblR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoIDgsICA4KSAgICA7IC8vITwgQ09NUFJFU1NJT05fVFlQRQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFRpbGVkUmVzb3VyY2VNb2RlRm9yT3V0cHV0RnJhbWVTdXJmYWNlQmFzZUFkZHJlc3MgOiBfX0NPREVHRU5fQklURklFTEQoIDksIDEwKSAgIDsgLy8hPCBUSUxFRF9SRVNPVVJDRV9NT0RFX0ZPUl9PVVRQVVRfRlJBTUVfU1VSRkFDRV9CQVNFX0FERFJFU1MKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfX0NPREVHRU5fQklURklFTEQoMTEsIDMxKSAgICA7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMDsKICAgICAgICAvLyEgXG5hbWUgTG9jYWwgZW51bWVyYXRpb25zCgogICAgICAgIC8vISBcYnJpZWYgTUVNT1JZX0NPTVBSRVNTSU9OX01PREUKICAgICAgICAvLyEgXGRldGFpbHMKICAgICAgICAvLyEgICAgIERpc3Rpbmd1aXNoZXMgTWVkaWEgY29tcHJlc3Npb24gZnJvbSBSZW5kZXIgY29tcHJlc3Npb24uCiAgICAgICAgZW51bSBNRU1PUllfQ09NUFJFU1NJT05fVFlQRQogICAgICAgIHsKICAgICAgICAgICAgTUVNT1JZX0NPTVBSRVNTSU9OX1RZUEVfTUVESUFfQ09NUFJFU1NJT05fRU5BQkxFICAgICAgICAgICAgICAgID0gMCwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICAgICAgTUVNT1JZX0NPTVBSRVNTSU9OX1RZUEVfUkVOREVSX0NPTVBSRVNTSU9OX0VOQUJMRSAgICAgICAgICAgICAgID0gMSwgLy8hPCBObyBhZGRpdGlvbmFsIGRldGFpbHMKICAgICAgICB9OwoKICAgICAgICAvLyEgXGJyaWVmIFRJTEVEX1JFU09VUkNFX01PREVfRk9SX09VVFBVVF9GUkFNRV9TVVJGQUNFX0JBU0VfQUREUkVTUwogICAgICAgIC8vISBcZGV0YWlscwogICAgICAgIC8vISAgICAgPGI+Rm9yIE1lZGlhIFN1cmZhY2VzOjwvYj4KICAgICAgICAvLyEgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBmaWVsZCBzcGVjaWZpZXMgdGhlIHRpbGVkIHJlc291cmNlIG1vZGUuCiAgICAgICAgZW51bSBUSUxFRF9SRVNPVVJDRV9NT0RFX0ZPUl9PVVRQVVRfRlJBTUVfU1VSRkFDRV9CQVNFX0FERFJFU1MKICAgICAgICB7CiAgICAgICAgICAgIFRJTEVEX1JFU09VUkNFX01PREVfRk9SX09VVFBVVF9GUkFNRV9TVVJGQUNFX0JBU0VfQUREUkVTU19UUk1PREVOT05FID0gMCwgLy8hPCBObyB0aWxlZCByZXNvdXJjZQogICAgICAgICAgICBUSUxFRF9SRVNPVVJDRV9NT0RFX0ZPUl9PVVRQVVRfRlJBTUVfU1VSRkFDRV9CQVNFX0FERFJFU1NfVFJNT0RFVElMRVlGID0gMSwgLy8hPCA0S0IgdGlsZWQgcmVzb3VyY2VzCiAgICAgICAgICAgIFRJTEVEX1JFU09VUkNFX01PREVfRk9SX09VVFBVVF9GUkFNRV9TVVJGQUNFX0JBU0VfQUREUkVTU19UUk1PREVUSUxFWVMgPSAyLCAvLyE8IDY0S0IgdGlsZWQgcmVzb3VyY2VzCiAgICAgICAgfTsKCiAgICAgICAgLy8hIFxuYW1lIEluaXRpYWxpemF0aW9ucwoKICAgICAgICAvLyEgXGJyaWVmIEV4cGxpY2l0IG1lbWJlciBpbml0aWFsaXphdGlvbiBmdW5jdGlvbgogICAgICAgIFZFQl9ESV9JRUNQX0NPTU1BTkRfU1VSRkFDRV9DT05UUk9MX0JJVFNfQ01EKCk7CgogICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgZHdTaXplID0gMTsKICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGJ5dGVTaXplID0gNDsKICAgIH07CgogICAgIC8vIQogICAgLy8hIFxicmllZiBWRUJPWF9JRUNQX1NUQVRFCiAgICAvLyEgXGRldGFpbHMKICAgIC8vISAgICAgCiAgICAvLyEgICAgIAogICAgc3RydWN0IFZFQk9YX0lFQ1BfU1RBVEVfQ01ECiAgICB7CiAgICAgICAgbWh3X3ZlYm94X2cxMl9YOjpWRUJPWF9TVERfU1RFX1NUQVRFX0NNRCAgICAgICAgICBTdGRTdGVTdGF0ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8hPCBTVEQvU1RFIFN0YXRlCiAgICAgICAgbWh3X3ZlYm94X2cxMl9YOjpWRUJPWF9BQ0VfTEFDRV9TVEFURV9DTUQgICAgICAgICBBY2VTdGF0ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8hPCBBQ0UgU3RhdGUKICAgICAgICBtaHdfdmVib3hfZzEyX1g6OlZFQk9YX1RDQ19TVEFURV9DTUQgICAgICAgICAgICAgIFRjY1N0YXRlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyE8IFRDQyBTdGF0ZQogICAgICAgIG1od192ZWJveF9nMTJfWDo6VkVCT1hfUFJPQ0FNUF9TVEFURV9DTUQgICAgICAgICAgUHJvY2FtcFN0YXRlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vITwgUHJvY0FtcCBTdGF0ZQogICAgICAgIG1od192ZWJveF9nMTJfWDo6VkVCT1hfQ1NDX1NUQVRFX0NNRCAgICAgICAgICAgICAgQ3NjU3RhdGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vITwgQ1NDIFN0YXRlCiAgICAgICAgbWh3X3ZlYm94X2cxMl9YOjpWRUJPWF9BTFBIQV9BT0lfU1RBVEVfQ01EICAgICAgICBBbHBoYUFvaVN0YXRlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8hPCBBbHBoYS9BT0kgU3RhdGUKICAgICAgICBtaHdfdmVib3hfZzEyX1g6OlZFQk9YX0NDTV9TVEFURV9DTUQgICAgICAgICAgICAgIENjbVN0YXRlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyE8IENDTSBTdGF0ZQogICAgICAgIG1od192ZWJveF9nMTJfWDo6VkVCT1hfRlJPTlRfRU5EX0NTQ19TVEFURV9DTUQgICAgRnJvbnRFbmRDc2M7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vITwgRnJvbnQtZW5kIENTQwogICAgICAgIG1od192ZWJveF9nMTJfWDo6VkVCT1hfR0FNVVRfQ09OVFJPTF9TVEFURV9DTUQgICAgR2FtdXRTdGF0ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vITwgR2FtdXRfU1RBVEUKCiAgICAgICAgLy8hIFxuYW1lIExvY2FsIGVudW1lcmF0aW9ucwoKICAgICAgICAvLyEgXG5hbWUgSW5pdGlhbGl6YXRpb25zCgogICAgICAgIC8vISBcYnJpZWYgRXhwbGljaXQgbWVtYmVyIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uCiAgICAgICAgVkVCT1hfSUVDUF9TVEFURV9DTUQoKTsKCiAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBkd1NpemUgPSAxMzM7CiAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBieXRlU2l6ZSA9IDUzMjsKICAgIH07CgogICAgLy8hCiAgICAvLyEgXGJyaWVmIFZFQk9YX0hEUl9JTlZfR0FNTUFfQ09SUkVDVElPTl9TVEFURQogICAgLy8hIFxkZXRhaWxzCiAgICAvLyEgICAgIAogICAgLy8hICAgICAKICAgIHN0cnVjdCBWRUJPWF9IRFJfSU5WX0dBTU1BX0NPUlJFQ1RJT05fU1RBVEVfQ01ECiAgICB7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQwOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzA7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgSW52ZXJzZVJDaGFubmVsR2FtbWFDb3JyZWN0aW9uVmFsdWU7IC8vITwgSW52ZXJzZSBSLWNoYW5uZWwgR2FtbWEgQ29ycmVjdGlvbiB2YWx1ZQogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEludmVyc2VHQ2hhbm5lbEdhbW1hQ29ycmVjdGlvblZhbHVlOyAvLyE8IEludmVyc2UgRy1jaGFubmVsIEdhbW1hIENvcnJlY3Rpb24gdmFsdWUKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMjsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBJbnZlcnNlQkNoYW5uZWxHYW1tYUNvcnJlY3Rpb25WYWx1ZTsgLy8hPCBJbnZlcnNlIEItY2hhbm5lbCBHYW1tYSBDb3JyZWN0aW9uIHZhbHVlCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzM7CgogICAgICAgIC8vISBcbmFtZSBMb2NhbCBlbnVtZXJhdGlvbnMKCiAgICAgICAgLy8hIFxuYW1lIEluaXRpYWxpemF0aW9ucwoKICAgICAgICAvLyEgXGJyaWVmIEV4cGxpY2l0IG1lbWJlciBpbml0aWFsaXphdGlvbiBmdW5jdGlvbgogICAgICAgIFZFQk9YX0hEUl9JTlZfR0FNTUFfQ09SUkVDVElPTl9TVEFURV9DTUQoKTsKCiAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBkd1NpemUgPSA0OwogICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYnl0ZVNpemUgPSAxNjsKICAgIH07CgogICAgLy8hCiAgICAvLyEgXGJyaWVmIFZFQk9YX0hEUl9GV0RfR0FNTUFfQ09SUkVDVElPTl9TVEFURQogICAgLy8hIFxkZXRhaWxzCiAgICAvLyEgICAgIAogICAgLy8hICAgICAKICAgIHN0cnVjdCBWRUJPWF9IRFJfRldEX0dBTU1BX0NPUlJFQ1RJT05fU1RBVEVfQ01ECiAgICB7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUG9pbnRWYWx1ZUZvckZvcndhcmRHYW1tYUx1dDsgLy8hPCBQb2ludCB2YWx1ZSBmb3IgZm9yd2FyZCBnYW1tYSBMVVQKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMDsKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBGb3J3YXJkUkNoYW5uZWxHYW1tYUNvcnJlY3Rpb25WYWx1ZSA6IF9fQ09ERUdFTl9CSVRGSUVMRCgwLCAxNSk7IC8vITwgRm9yd2FyZCBSLWNoYW5uZWwgR2FtbWEgQ29ycmVjdGlvbiB2YWx1ZQogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkNDggOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKTsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcxOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIEZvcndhcmRHQ2hhbm5lbEdhbW1hQ29ycmVjdGlvblZhbHVlIDogX19DT0RFR0VOX0JJVEZJRUxEKDAsIDE1KTsgLy8hPCBGb3J3YXJkIEctY2hhbm5lbCBHYW1tYSBDb3JyZWN0aW9uIHZhbHVlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ4MCA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzI7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgRm9yd2FyZEJDaGFubmVsR2FtbWFDb3JyZWN0aW9uVmFsdWUgOiBfX0NPREVHRU5fQklURklFTEQoMCwgMTUpOyAvLyE8IEZvcndhcmQgQi1jaGFubmVsIEdhbW1hIENvcnJlY3Rpb24gdmFsdWUKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDExMiA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpOyAvLyE8IFJlc2VydmVkCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzM7CgogICAgICAgIC8vISBcbmFtZSBMb2NhbCBlbnVtZXJhdGlvbnMKCiAgICAgICAgLy8hIFxuYW1lIEluaXRpYWxpemF0aW9ucwoKICAgICAgICAvLyEgXGJyaWVmIEV4cGxpY2l0IG1lbWJlciBpbml0aWFsaXphdGlvbiBmdW5jdGlvbgogICAgICAgIFZFQk9YX0hEUl9GV0RfR0FNTUFfQ09SUkVDVElPTl9TVEFURV9DTUQoKTsKCiAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBkd1NpemUgPSA0OwogICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgYnl0ZVNpemUgPSAxNjsKICAgIH07CgogICAgLy8hCiAgICAvLyEgXGJyaWVmIFZFQk9YX0hEUl9UT05FX01BUFBJTkdfQ09SUkVDVElPTl9TVEFURQogICAgLy8hIFxkZXRhaWxzCiAgICAvLyEgICAgIAogICAgLy8hICAgICAKICAgIHN0cnVjdCBWRUJPWF9IRFJfVE9ORV9NQVBQSU5HX0NPUlJFQ1RJT05fU1RBVEVfQ01ECiAgICB7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgVG9uZU1hcHBpbmdMdXRQb2ludDAgOiBfX0NPREVHRU5fQklURklFTEQoMCwgMTUpOyAvLyE8IFRvbmUgbWFwcGluZyBMVVQgUG9pbnQgMAogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJlc2VydmVkMTYgOiBfX0NPREVHRU5fQklURklFTEQoMTYsIDMxKTsgLy8hPCBSZXNlcnZlZAogICAgICAgICAgICB9OwogICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgIFZhbHVlOwogICAgICAgIH0gRFcwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFRvbmVNYXBwaW5nTHV0Q29ycmVjdGlvbjA7IC8vITwgVG9uZSBtYXBwaW5nIExVVCBDb3JyZWN0aW9uIDAKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTsKCiAgICAgICAgLy8hIFxuYW1lIExvY2FsIGVudW1lcmF0aW9ucwoKICAgICAgICAvLyEgXG5hbWUgSW5pdGlhbGl6YXRpb25zCgogICAgICAgIC8vISBcYnJpZWYgRXhwbGljaXQgbWVtYmVyIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uCiAgICAgICAgVkVCT1hfSERSX1RPTkVfTUFQUElOR19DT1JSRUNUSU9OX1NUQVRFX0NNRCgpOwoKICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGR3U2l6ZSA9IDI7CiAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBieXRlU2l6ZSA9IDg7CiAgICB9OwoKICAgIC8vIQogICAgLy8hIFxicmllZiBWRUJPWF9IRFJfU1RBVEUKICAgIC8vISBcZGV0YWlscwogICAgLy8hICAgICAKICAgIC8vISAgICAgCiAgICBzdHJ1Y3QgVkVCT1hfSERSX1NUQVRFX0NNRAogICAgewogICAgICAgIFZFQk9YX0hEUl9JTlZfR0FNTUFfQ09SUkVDVElPTl9TVEFURV9DTUQgUFJHQkNvcnJlY3RlZFZhbHVlWzQwOTZdOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vITwgRFcwLi4xNjM4MywgRFdPUkQwLi4xNjM4MwogICAgICAgIFZFQk9YX0hEUl9GV0RfR0FNTUFfQ09SUkVDVElPTl9TVEFURV9DTUQgRm9yd2FyZEdhbW1hTFVUdmFsdWVbMjU2XTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vITwgRFcxNjM4NC4uMTc0MDcsIERXT1JEMTYzODQuLjE3NDA3CiAgICAgICAgVkVCT1hfSERSX1RPTkVfTUFQUElOR19DT1JSRUNUSU9OX1NUQVRFX0NNRCBUb25lbWFwcGluZ0xVVHZhbHVlWzE2XTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8hPCBEVzE3NDA4Li4xNzQzOSwgRFdPUkQxNzQwOC4uMTc0MzkKICAgICAgICB1bmlvbgogICAgICAgIHsKICAgICAgICAgICAgc3RydWN0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBUb25lTWFwcGluZ0VuYWJsZSA6IF9fQ09ERUdFTl9CSVRGSUVMRCgwLCAwKTsgLy8hPCBUb25lIE1hcHBpbmcgZW5hYmxlCiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgVG9uZU1hcHBpbmdQb3NpdGlvbiA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxLCAxKTsgLy8hPCBUb25lIE1hcHBpbmcgcG9zaXRpb24KICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZXNlcnZlZDU1ODA4MiA6IF9fQ09ERUdFTl9CSVRGSUVMRCgyLCAxNSk7IC8vITwgUmVzZXJ2ZWQKICAgICAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICBSZ2IyWUNvZWZmRm9yUiA6IF9fQ09ERUdFTl9CSVRGSUVMRCgxNiwgMzEpOyAvLyE8IFJHQjJZIGNvZWZmIGZvciBSCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE3NDQwOwogICAgICAgIHVuaW9uCiAgICAgICAgewogICAgICAgICAgICBzdHJ1Y3QKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJnYjJZQ29lZmZGb3JHIDogX19DT0RFR0VOX0JJVEZJRUxEKDAsIDE1KTsgLy8hPCBSR0IyWSBjb2VmZiBmb3IgRwogICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgIFJnYjJZQ29lZmZGb3JCIDogX19DT0RFR0VOX0JJVEZJRUxEKDE2LCAzMSk7IC8vITwgUkdCMlkgY29lZmYgZm9yIEIKICAgICAgICAgICAgfTsKICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsKICAgICAgICB9IERXMTc0NDE7CiAgICAgICAgdW5pb24KICAgICAgICB7CiAgICAgICAgICAgIHN0cnVjdAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgVG9uZU1hcHBpbmdNYXhWYWx1ZTsgLy8hPCBUb25lIE1hcHBpbmcgTWF4IFZhbHVlCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgVmFsdWU7CiAgICAgICAgfSBEVzE3NDQyOwoKICAgICAgICAvLyEgXG5hbWUgTG9jYWwgZW51bWVyYXRpb25zCgogICAgICAgIC8vISBcbmFtZSBJbml0aWFsaXphdGlvbnMKCiAgICAgICAgLy8hIFxicmllZiBFeHBsaWNpdCBtZW1iZXIgaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24KICAgICAgICBWRUJPWF9IRFJfU1RBVEVfQ01EKCk7CgogICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgZHdTaXplID0gMTc0NDM7CiAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBieXRlU2l6ZSA9IDY5NzcyOwogICAgfTsKfTsKCiNwcmFnbWEgcGFjaygpCgojZW5kaWYgIC8vIF9fTUhXX1ZFQk9YX0hXQ01EX0cxMl9YX0hfXw==