LyoqCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCioqCioqICBGaWxlICAgICAgICA6IHN0YXJ0dXBfWE1DMTMwMC5zCioqCioqICBBYnN0cmFjdCAgICA6IFRoaXMgYXNzZW1ibGVyIGZpbGUgY29udGFpbnMgaW50ZXJydXB0IHZlY3RvciBhbmQKKiogICAgICAgICAgICAgICAgc3RhcnR1cCBjb2RlIGZvciBBUk0uCioqCioqICBGdW5jdGlvbnMgICA6IFJlc2V0X0hhbmRsZXIKKiogICAgICAgICAgICAgICAgRGVmYXVsdF9IYW5kbGVyCioqICAgICAgICAgICAgICAgIFhNQ1ZlbmVlciBjb2RlCioqCioqICBUYXJnZXQgICAgICA6IEluZmluZW9uICQoREVWSUNFKSBEZXZpY2UgCioqCioqICBFbnZpcm9ubWVudCA6IEF0b2xsaWMgVHJ1ZVNUVURJTyhSKQoqKgoqKiAgRGlzdHJpYnV0aW9uOiBUaGUgZmlsZSBpcyBkaXN0cmlidXRlZCCTYXMgaXMslCB3aXRob3V0IGFueSB3YXJyYW50eQoqKiAgICAgICAgICAgICAgICBvZiBhbnkga2luZC4KKioKKiogIChjKUNvcHlyaWdodCBBdG9sbGljIEFCLgoqKiAgWW91IG1heSB1c2UgdGhpcyBmaWxlIGFzLWlzIG9yIG1vZGlmeSBpdCBhY2NvcmRpbmcgdG8gdGhlIG5lZWRzIG9mIHlvdXIKKiogIHByb2plY3QuIFRoaXMgZmlsZSBtYXkgb25seSBiZSBidWlsdCAoYXNzZW1ibGVkIG9yIGNvbXBpbGVkIGFuZCBsaW5rZWQpCioqICB1c2luZyB0aGUgQXRvbGxpYyBUcnVlU1RVRElPKFIpIHByb2R1Y3QuIFRoZSB1c2Ugb2YgdGhpcyBmaWxlIHRvZ2V0aGVyCioqICB3aXRoIG90aGVyIHRvb2xzIHRoYW4gQXRvbGxpYyBUcnVlU1RVRElPKFIpIGlzIG5vdCBwZXJtaXR0ZWQuCioqCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiovCgojaWZkZWYgREFWRV9DRQojaW5jbHVkZSA8RGV2aWNlX0RhdGEuaD4KI2Vsc2UKI2RlZmluZSBDTEtWQUwxX1NTVyAweDgwMDAwMDAwCiNkZWZpbmUgQ0xLVkFMMl9TU1cgMHg4MDAwMDAwMAojZW5kaWYKCiAgLnN5bnRheCB1bmlmaWVkCiAgLmNwdSBjb3J0ZXgtbTAKICAuZnB1IHNvZnR2ZnAKICAudGh1bWIKCi5nbG9iYWwgUmVzZXRfSGFuZGxlcgouZ2xvYmFsIEludGVycnVwdFZlY3RvcgouZ2xvYmFsIERlZmF1bHRfSGFuZGxlcgoKLyogTGlua2VyIHNjcmlwdCBkZWZpbml0aW9ucyAqLwovKiBzdGFydCBhZGRyZXNzIGZvciB0aGUgaW5pdGlhbGl6YXRpb24gdmFsdWVzIG9mIHRoZSAuZGF0YSBzZWN0aW9uICovCi53b3JkIF9zaWRhdGEKLyogc3RhcnQgYWRkcmVzcyBmb3IgdGhlIC5kYXRhIHNlY3Rpb24gKi8KLndvcmQgX3NkYXRhCi8qIGVuZCBhZGRyZXNzIGZvciB0aGUgLmRhdGEgc2VjdGlvbiAqLwoud29yZCBfZWRhdGEKLyogc3RhcnQgYWRkcmVzcyBmb3IgdGhlIC5ic3Mgc2VjdGlvbiAqLwoud29yZCBfc2JzcwovKiBlbmQgYWRkcmVzcyBmb3IgdGhlIC5ic3Mgc2VjdGlvbiAqLwoud29yZCBfZWJzcwoKLndvcmQgVmVuZWVyTG9hZEFkZHIKLndvcmQgVmVuZWVyU3RhcnQKLndvcmQgVmVuZWVyU2l6ZQoKCi8qKgoqKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoqKiAgUHJvZ3JhbSAtIFJlc2V0X0hhbmRsZXIKKiogIEFic3RyYWN0OiBUaGlzIGNvZGUgZ2V0cyBjYWxsZWQgYWZ0ZXIgcmVzZXQuCioqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiovCiAgLnNlY3Rpb24gIC50ZXh0LlJlc2V0X0hhbmRsZXIsImF4IiwgJXByb2diaXRzCiAgLnR5cGUgUmVzZXRfSGFuZGxlciwgJWZ1bmN0aW9uClJlc2V0X0hhbmRsZXI6CiAgLyogU2V0IHN0YWNrIHBvaW50ZXIgKi8KICBsZHIgICByMCwgPV9lc3RhY2sKICBtb3YgICBzcCwgcjAKCiAgLyogQnJhbmNoIHRvIFN5c3RlbUluaXQgZnVuY3Rpb24gKi8KICBibCBTeXN0ZW1Jbml0CgogIC8qIENvcHkgZGF0YSBpbml0aWFsaXphdGlvbiB2YWx1ZXMgKi8KICBsZHIgcjEsPV9zaWRhdGEKICBsZHIgcjIsPV9zZGF0YQogIGxkciByMyw9X2VkYXRhCiAgYiBjbXBkYXRhCkNvcHlMb29wOgogIGxkciByMCwgW3IxXQogIHN0ciByMCwgW3IyXQogIGFkZHMgcjEsIHIxLCAjNAogIGFkZHMgcjIsIHIyLCAjNApjbXBkYXRhOgogIGNtcCByMiwgcjMKICBibHQgQ29weUxvb3AKCiAgLyogQ2xlYXIgQlNTIHNlY3Rpb24gKi8KICBtb3ZzIHIwLCAjMAogIGxkciByMiw9X3Nic3MKICBsZHIgcjMsPV9lYnNzCiAgYiBjbXBic3MKQ2xlYXJMb29wOgogIHN0ciByMCwgW3IyXQogIGFkZHMgcjIsIHIyLCAjNApjbXBic3M6CiAgY21wIHIyLCByMwogIGJsdCBDbGVhckxvb3AKCiAgLyogVkVORUVSIENPUFkgKi8KICAvKiBSMCA9IFN0YXJ0IGFkZHJlc3MsIFIxID0gRGVzdGluYXRpb24gYWRkcmVzcywgUjIgPSBTaXplICovCiAgbGRyIHIwLCA9VmVuZWVyTG9hZEFkZHIKICBsZHIgcjEsID1WZW5lZXJTdGFydAogIGxkciByMiwgPVZlbmVlclNpemUKClNUQVJUVkVORUVSQ09QWToKICAvKiBSMiBjb250YWlucyBieXRlIGNvdW50LiBDaGFuZ2UgaXQgdG8gd29yZCBjb3VudC4gSXQgaXMgZW5zdXJlZCBpbiB0aGUKICAgICBsaW5rZXIgc2NyaXB0IHRoYXQgdGhlIGxlbmd0aCBpcyBhbHdheXMgd29yZCBhbGlnbmVkLgogICovCiAgbHNycyByMixyMiwjMiAvKiBEaXZpZGUgYnkgNCB0byBvYnRhaW4gd29yZCBjb3VudCAqLwogIGJlcSBTS0lQVkVORUVSQ09QWQoKICAvKiBUaGUgcHJvdmVyYmlhbCBsb29wIGZyb20gdGhlIHNjaG9vbGRheXMgKi8KVkVORUVSQ09QWUxPT1A6CiAgbGRyIHIzLFtSMF0KICBzdHIgcjMsW1IxXQogIHN1YnMgcjIsIzEKICBiZXEgU0tJUFZFTkVFUkNPUFkKICBhZGRzIHIwLCM0CiAgYWRkcyByMSwjNAogIGIgVkVORUVSQ09QWUxPT1AKClNLSVBWRU5FRVJDT1BZOgogIC8qIFVwZGF0ZSBTeXN0ZW0gQ2xvY2sgKi8KICBsZHIgcjAsPVN5c3RlbUNvcmVDbG9ja1VwZGF0ZQogIGJseCByMAoKICAvKiBDYWxsIHN0YXRpYyBjb25zdHJ1Y3RvcnMgKi8KICBibCBfX2xpYmNfaW5pdF9hcnJheQoKICAvKiBCcmFuY2ggdG8gbWFpbiAqLwogIGJsIG1haW4KCiAgLyogSWYgbWFpbiByZXR1cm5zLCBicmFuY2ggdG8gRGVmYXVsdF9IYW5kbGVyLiAqLwogIGIgRGVmYXVsdF9IYW5kbGVyCgogIC5zaXplICBSZXNldF9IYW5kbGVyLCAuLVJlc2V0X0hhbmRsZXIKCi8qKgoqKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoqKiAgUHJvZ3JhbSAtIERlZmF1bHRfSGFuZGxlcgoqKiAgQWJzdHJhY3Q6IFRoaXMgY29kZSBnZXRzIGNhbGxlZCB3aGVuIHRoZSBwcm9jZXNzb3IgcmVjZWl2ZXMgYW4KKiogICAgdW5leHBlY3RlZCBpbnRlcnJ1cHQuCioqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiovCiAgLnNlY3Rpb24gIC50ZXh0LkRlZmF1bHRfSGFuZGxlciwiYXgiLCAlcHJvZ2JpdHMKRGVmYXVsdF9IYW5kbGVyOgogIGIgIERlZmF1bHRfSGFuZGxlcgoKICAuc2l6ZSAgRGVmYXVsdF9IYW5kbGVyLCAuLURlZmF1bHRfSGFuZGxlcgoKLyoqCioqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CioqICBJbnRlcnJ1cHQgdmVjdG9yIHRhYmxlCioqPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiovCiAgLnNlY3Rpb24gLmlzcl92ZWN0b3IsImEiLCAlcHJvZ2JpdHMKICAuZ2xvYmwgIEludGVycnVwdFZlY3RvcgogIC50eXBlICAgSW50ZXJydXB0VmVjdG9yLCAlb2JqZWN0CgpJbnRlcnJ1cHRWZWN0b3I6CiAgLndvcmQgX2VzdGFjayAgICAgICAgICAgICAgICAgICAvKiAwIC0gU3RhY2sgcG9pbnRlciAqLwogIC53b3JkIFJlc2V0X0hhbmRsZXIgICAgICAgICAgICAgLyogMSAtIFJlc2V0ICovCiAgLndvcmQgTk1JX0hhbmRsZXIgICAgICAgICAgICAgICAvKiAyIC0gTk1JICAqLwogIC53b3JkIEhhcmRGYXVsdF9IYW5kbGVyICAgICAgICAgLyogMyAtIEhhcmQgZmF1bHQgKi8KICAud29yZCBDTEtWQUwxX1NTVyAgICAgICAgICAgICAgIC8qIENsb2NrIGNvbmZpZ3VyYXRpb24gdmFsdWUgICovCiAgLndvcmQgQ0xLVkFMMl9TU1cgICAgICAgICAgICAgICAvKiBDbG9jayBnYXRpbmcgY29uZmlndXJhdGlvbiAqLwoKICAuc2l6ZSAgSW50ZXJydXB0VmVjdG9yLCAuIC0gSW50ZXJydXB0VmVjdG9yCgovKioKKio9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKiogIFdlYWsgaW50ZXJydXB0IGhhbmRsZXJzIHJlZGlyZWN0ZWQgdG8gRGVmYXVsdF9IYW5kbGVyLiBUaGVzZSBjYW4gYmUKKiogIG92ZXJyaWRkZW4gaW4gdXNlciBjb2RlLgoqKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoqLwogIC53ZWFrIE5NSV9IYW5kbGVyCiAgLnRodW1iX3NldCBOTUlfSGFuZGxlciwgRGVmYXVsdF9IYW5kbGVyCgogIC53ZWFrIEhhcmRGYXVsdF9IYW5kbGVyCiAgLnRodW1iX3NldCBIYXJkRmF1bHRfSGFuZGxlciwgRGVmYXVsdF9IYW5kbGVyCgogIC53ZWFrIFNWQ19IYW5kbGVyCiAgLnRodW1iX3NldCBTVkNfSGFuZGxlciwgRGVmYXVsdF9IYW5kbGVyCgogIC53ZWFrIFBlbmRTVl9IYW5kbGVyCiAgLnRodW1iX3NldCBQZW5kU1ZfSGFuZGxlciwgRGVmYXVsdF9IYW5kbGVyCgogIC53ZWFrIFN5c1RpY2tfSGFuZGxlcgogIC50aHVtYl9zZXQgU3lzVGlja19IYW5kbGVyLCBEZWZhdWx0X0hhbmRsZXIKCi8qID09PT09PT09PT09PT0gU1RBUlQgT0YgSU5URVJSVVBUIEhBTkRMRVIgREVGSU5JVElPTiA9PT09PT09PT09PT09PT09PT09PT09ICovCgovKiBJUlEgSGFuZGxlcnMgKi8KICAgIC53ZWFrICAgU0NVXzBfSVJRSGFuZGxlcgogICAgLnR5cGUgICBTQ1VfMF9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KU0NVXzBfSVJRSGFuZGxlcjoKICAgIEIgICAgICAgLgogICAgLnNpemUgICBTQ1VfMF9JUlFIYW5kbGVyLCAuIC0gU0NVXzBfSVJRSGFuZGxlcgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC53ZWFrICAgU0NVXzFfSVJRSGFuZGxlcgogICAgLnR5cGUgICBTQ1VfMV9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KU0NVXzFfSVJRSGFuZGxlcjoKICAgIEIgICAgICAgLgogICAgLnNpemUgICBTQ1VfMV9JUlFIYW5kbGVyLCAuIC0gU0NVXzFfSVJRSGFuZGxlcgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC53ZWFrICAgU0NVXzJfSVJRSGFuZGxlcgogICAgLnR5cGUgICBTQ1VfMl9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KU0NVXzJfSVJRSGFuZGxlcjoKICAgIEIgICAgICAgLgogICAgLnNpemUgICBTQ1VfMl9JUlFIYW5kbGVyLCAuIC0gU0NVXzJfSVJRSGFuZGxlcgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC53ZWFrICAgRVJVMF8wX0lSUUhhbmRsZXIKICAgIC50eXBlICAgRVJVMF8wX0lSUUhhbmRsZXIsICVmdW5jdGlvbgpFUlUwXzBfSVJRSGFuZGxlcjoKICAgIEIgICAgICAgLgogICAgLnNpemUgICBFUlUwXzBfSVJRSGFuZGxlciwgLiAtIEVSVTBfMF9JUlFIYW5kbGVyCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLndlYWsgICBFUlUwXzFfSVJRSGFuZGxlcgogICAgLnR5cGUgICBFUlUwXzFfSVJRSGFuZGxlciwgJWZ1bmN0aW9uCkVSVTBfMV9JUlFIYW5kbGVyOgogICAgQiAgICAgICAuCiAgICAuc2l6ZSAgIEVSVTBfMV9JUlFIYW5kbGVyLCAuIC0gRVJVMF8xX0lSUUhhbmRsZXIKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAud2VhayAgIEVSVTBfMl9JUlFIYW5kbGVyCiAgICAudHlwZSAgIEVSVTBfMl9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KRVJVMF8yX0lSUUhhbmRsZXI6CiAgICBCICAgICAgIC4KICAgIC5zaXplICAgRVJVMF8yX0lSUUhhbmRsZXIsIC4gLSBFUlUwXzJfSVJRSGFuZGxlcgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC53ZWFrICAgRVJVMF8zX0lSUUhhbmRsZXIKICAgIC50eXBlICAgRVJVMF8zX0lSUUhhbmRsZXIsICVmdW5jdGlvbgpFUlUwXzNfSVJRSGFuZGxlcjoKICAgIEIgICAgICAgLgogICAgLnNpemUgICBFUlUwXzNfSVJRSGFuZGxlciwgLiAtIEVSVTBfM19JUlFIYW5kbGVyCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLndlYWsgICBNQVRIMF8wX0lSUUhhbmRsZXIKICAgIC50eXBlICAgTUFUSDBfMF9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KTUFUSDBfMF9JUlFIYW5kbGVyOgogICAgQiAgICAgICAuCiAgICAuc2l6ZSAgIE1BVEgwXzBfSVJRSGFuZGxlciwgLiAtIE1BVEgwXzBfSVJRSGFuZGxlcgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC53ZWFrICAgVkFEQzBfQzBfMF9JUlFIYW5kbGVyCiAgICAudHlwZSAgIFZBREMwX0MwXzBfSVJRSGFuZGxlciAsICVmdW5jdGlvbgpWQURDMF9DMF8wX0lSUUhhbmRsZXI6CiAgICBCICAgICAgIC4KICAgIC5zaXplICAgVkFEQzBfQzBfMF9JUlFIYW5kbGVyICwgLiAtIFZBREMwX0MwXzBfSVJRSGFuZGxlcgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC53ZWFrICAgVkFEQzBfQzBfMV9JUlFIYW5kbGVyCiAgICAudHlwZSAgIFZBREMwX0MwXzFfSVJRSGFuZGxlciAsICVmdW5jdGlvbgpWQURDMF9DMF8xX0lSUUhhbmRsZXI6CiAgICBCICAgICAgIC4KICAgIC5zaXplICAgVkFEQzBfQzBfMV9JUlFIYW5kbGVyICwgLiAtIFZBREMwX0MwXzFfSVJRSGFuZGxlcgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC53ZWFrICAgVkFEQzBfRzBfMF9JUlFIYW5kbGVyCiAgICAudHlwZSAgIFZBREMwX0cwXzBfSVJRSGFuZGxlciwgJWZ1bmN0aW9uClZBREMwX0cwXzBfSVJRSGFuZGxlcjoKICAgIEIgICAgICAgLgogICAgLnNpemUgICBWQURDMF9HMF8wX0lSUUhhbmRsZXIsIC4gLSBWQURDMF9HMF8wX0lSUUhhbmRsZXIKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAud2VhayAgIFZBREMwX0cwXzFfSVJRSGFuZGxlcgogICAgLnR5cGUgICBWQURDMF9HMF8xX0lSUUhhbmRsZXIsICVmdW5jdGlvbgpWQURDMF9HMF8xX0lSUUhhbmRsZXI6CiAgICBCICAgICAgIC4KICAgIC5zaXplICAgVkFEQzBfRzBfMV9JUlFIYW5kbGVyLCAuIC0gVkFEQzBfRzBfMV9JUlFIYW5kbGVyCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLndlYWsgICBWQURDMF9HMV8wX0lSUUhhbmRsZXIKICAgIC50eXBlICAgVkFEQzBfRzFfMF9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KVkFEQzBfRzFfMF9JUlFIYW5kbGVyOgogICAgQiAgICAgICAuCiAgICAuc2l6ZSAgIFZBREMwX0cxXzBfSVJRSGFuZGxlciwgLiAtIFZBREMwX0cxXzBfSVJRSGFuZGxlcgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC53ZWFrICAgVkFEQzBfRzFfMV9JUlFIYW5kbGVyCiAgICAudHlwZSAgIFZBREMwX0cxXzFfSVJRSGFuZGxlciwgJWZ1bmN0aW9uClZBREMwX0cxXzFfSVJRSGFuZGxlcjoKICAgIEIgICAgICAgLgogICAgLnNpemUgICBWQURDMF9HMV8xX0lSUUhhbmRsZXIsIC4gLSBWQURDMF9HMV8xX0lSUUhhbmRsZXIKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAud2VhayAgIENDVTQwXzBfSVJRSGFuZGxlcgogICAgLnR5cGUgICBDQ1U0MF8wX0lSUUhhbmRsZXIsICVmdW5jdGlvbgpDQ1U0MF8wX0lSUUhhbmRsZXI6CiAgICBCICAgICAgIC4KICAgIC5zaXplICAgQ0NVNDBfMF9JUlFIYW5kbGVyLCAuIC0gQ0NVNDBfMF9JUlFIYW5kbGVyCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLndlYWsgICBDQ1U0MF8xX0lSUUhhbmRsZXIKICAgIC50eXBlICAgQ0NVNDBfMV9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KCkNDVTQwXzFfSVJRSGFuZGxlcjoKICAgIEIgICAgICAgLgogICAgLnNpemUgICBDQ1U0MF8xX0lSUUhhbmRsZXIsIC4gLSBDQ1U0MF8xX0lSUUhhbmRsZXIKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAud2VhayAgIENDVTQwXzJfSVJRSGFuZGxlcgogICAgLnR5cGUgICBDQ1U0MF8yX0lSUUhhbmRsZXIsICVmdW5jdGlvbgpDQ1U0MF8yX0lSUUhhbmRsZXI6CiAgICBCICAgICAgIC4KICAgIC5zaXplICAgQ0NVNDBfMl9JUlFIYW5kbGVyLCAuIC0gQ0NVNDBfMl9JUlFIYW5kbGVyCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLndlYWsgICBDQ1U0MF8zX0lSUUhhbmRsZXIKICAgIC50eXBlICAgQ0NVNDBfM19JUlFIYW5kbGVyLCAlZnVuY3Rpb24KQ0NVNDBfM19JUlFIYW5kbGVyOgogICAgQiAgICAgICAuCiAgICAuc2l6ZSAgIENDVTQwXzNfSVJRSGFuZGxlciwgLiAtIENDVTQwXzNfSVJRSGFuZGxlcgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC53ZWFrICAgQ0NVODBfMF9JUlFIYW5kbGVyCiAgICAudHlwZSAgIENDVTgwXzBfSVJRSGFuZGxlciwgJWZ1bmN0aW9uCkNDVTgwXzBfSVJRSGFuZGxlcjoKICAgIEIgICAgICAgLgogICAgLnNpemUgICBDQ1U4MF8wX0lSUUhhbmRsZXIsIC4gLSBDQ1U4MF8wX0lSUUhhbmRsZXIKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAud2VhayAgIENDVTgwXzFfSVJRSGFuZGxlcgogICAgLnR5cGUgICBDQ1U4MF8xX0lSUUhhbmRsZXIsICVmdW5jdGlvbgpDQ1U4MF8xX0lSUUhhbmRsZXI6CiAgICBCICAgICAgIC4KICAgIC5zaXplICAgQ0NVODBfMV9JUlFIYW5kbGVyLCAuIC0gQ0NVODBfMV9JUlFIYW5kbGVyCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLndlYWsgICBQT1NJRjBfMF9JUlFIYW5kbGVyCiAgICAudHlwZSAgIFBPU0lGMF8wX0lSUUhhbmRsZXIsICVmdW5jdGlvbgoKUE9TSUYwXzBfSVJRSGFuZGxlcjoKICAgIEIgICAgICAgLgogICAgLnNpemUgICBQT1NJRjBfMF9JUlFIYW5kbGVyLCAuIC0gUE9TSUYwXzBfSVJRSGFuZGxlcgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC53ZWFrICAgUE9TSUYwXzFfSVJRSGFuZGxlcgogICAgLnR5cGUgICBQT1NJRjBfMV9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KUE9TSUYwXzFfSVJRSGFuZGxlcjoKICAgIEIgICAgICAgLgogICAgLnNpemUgICBQT1NJRjBfMV9JUlFIYW5kbGVyLCAuIC0gUE9TSUYwXzFfSVJRSGFuZGxlcgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC53ZWFrICAgVVNJQzBfMF9JUlFIYW5kbGVyCiAgICAudHlwZSAgIFVTSUMwXzBfSVJRSGFuZGxlciwgJWZ1bmN0aW9uClVTSUMwXzBfSVJRSGFuZGxlcjoKICAgIEIgICAgICAgLgogICAgLnNpemUgICBVU0lDMF8wX0lSUUhhbmRsZXIsIC4gLSBVU0lDMF8wX0lSUUhhbmRsZXIKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAud2VhayAgIFVTSUMwXzFfSVJRSGFuZGxlcgogICAgLnR5cGUgICBVU0lDMF8xX0lSUUhhbmRsZXIsICVmdW5jdGlvbgpVU0lDMF8xX0lSUUhhbmRsZXI6CiAgICBCICAgICAgIC4KICAgIC5zaXplICAgVVNJQzBfMV9JUlFIYW5kbGVyLCAuIC0gVVNJQzBfMV9JUlFIYW5kbGVyCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLndlYWsgICBVU0lDMF8yX0lSUUhhbmRsZXIKICAgIC50eXBlICAgVVNJQzBfMl9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KVVNJQzBfMl9JUlFIYW5kbGVyOgogICAgQiAgICAgICAuCiAgICAuc2l6ZSAgIFVTSUMwXzJfSVJRSGFuZGxlciwgLiAtIFVTSUMwXzJfSVJRSGFuZGxlcgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC53ZWFrICAgVVNJQzBfM19JUlFIYW5kbGVyCiAgICAudHlwZSAgIFVTSUMwXzNfSVJRSGFuZGxlciwgJWZ1bmN0aW9uClVTSUMwXzNfSVJRSGFuZGxlcjoKICAgIEIgICAgICAgLgogICAgLnNpemUgICBVU0lDMF8zX0lSUUhhbmRsZXIsIC4gLSBVU0lDMF8zX0lSUUhhbmRsZXIKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAud2VhayAgIFVTSUMwXzRfSVJRSGFuZGxlcgogICAgLnR5cGUgICBVU0lDMF80X0lSUUhhbmRsZXIsICVmdW5jdGlvbgpVU0lDMF80X0lSUUhhbmRsZXI6CiAgICBCICAgICAgIC4KICAgIC5zaXplICAgVVNJQzBfNF9JUlFIYW5kbGVyLCAuIC0gVVNJQzBfNF9JUlFIYW5kbGVyCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLndlYWsgICBVU0lDMF81X0lSUUhhbmRsZXIKICAgIC50eXBlICAgVVNJQzBfNV9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KVVNJQzBfNV9JUlFIYW5kbGVyOgogICAgQiAgICAgICAuCiAgICAuc2l6ZSAgIFVTSUMwXzVfSVJRSGFuZGxlciwgLiAtIFVTSUMwXzVfSVJRSGFuZGxlcgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC53ZWFrICAgTEVEVFMwXzBfSVJRSGFuZGxlcgogICAgLnR5cGUgICBMRURUUzBfMF9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KTEVEVFMwXzBfSVJRSGFuZGxlcjoKICAgIEIgICAgICAgLgogICAgLnNpemUgICBMRURUUzBfMF9JUlFIYW5kbGVyLCAuIC0gTEVEVFMwXzBfSVJRSGFuZGxlcgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC53ZWFrICAgTEVEVFMxXzBfSVJRSGFuZGxlcgogICAgLnR5cGUgICBMRURUUzFfMF9JUlFIYW5kbGVyLCAlZnVuY3Rpb24KTEVEVFMxXzBfSVJRSGFuZGxlcjoKICAgIEIgICAgICAgLgogICAgLnNpemUgICBMRURUUzFfMF9JUlFIYW5kbGVyLCAuIC0gTEVEVFMxXzBfSVJRSGFuZGxlcgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC53ZWFrICAgQkNDVTBfMF9JUlFIYW5kbGVyCiAgICAudHlwZSAgIEJDQ1UwXzBfSVJRSGFuZGxlciwgJWZ1bmN0aW9uCkJDQ1UwXzBfSVJRSGFuZGxlcjoKICAgIEIgICAgICAgLgogICAgLnNpemUgICBCQ0NVMF8wX0lSUUhhbmRsZXIsIC4gLSBCQ0NVMF8wX0lSUUhhbmRsZXIKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoKLyogPT09PT09PT09PT09PT09PT09VkVORUVSUyBWRU5FRVJTIFZFTkVFUlMgVkVORUVSUyBWRU5FRVJTPT09PT09PT09PT09PT09ICovCiAgICAuc2VjdGlvbiAiLlhtY1ZlbmVlckNvZGUiLCJheCIsJXByb2diaXRzCi5nbG9ibCBIYXJkRmF1bHRfVmVuZWVyCkhhcmRGYXVsdF9WZW5lZXI6CiAgICBMRFIgUjAsID1IYXJkRmF1bHRfSGFuZGxlcgogICAgTU9WIFBDLFIwCiAgICAubG9uZyAwCiAgICAubG9uZyAwCiAgICAubG9uZyAwCiAgICAubG9uZyAwCiAgICAubG9uZyAwCiAgICAubG9uZyAwCiAgICAubG9uZyAwCgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLmdsb2JsIFNWQ19WZW5lZXIKU1ZDX1ZlbmVlcjoKICAgIExEUiBSMCwgPVNWQ19IYW5kbGVyCiAgICBNT1YgUEMsUjAKICAgIC5sb25nIDAKICAgIC5sb25nIDAKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi5nbG9ibCBQZW5kU1ZfVmVuZWVyClBlbmRTVl9WZW5lZXI6CiAgICBMRFIgUjAsID1QZW5kU1ZfSGFuZGxlcgogICAgTU9WIFBDLFIwCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwouZ2xvYmwgU3lzVGlja19WZW5lZXIKU3lzVGlja19WZW5lZXI6CiAgICBMRFIgUjAsID1TeXNUaWNrX0hhbmRsZXIKICAgIE1PViBQQyxSMAovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLmdsb2JsIFNDVV8wX1ZlbmVlcgpTQ1VfMF9WZW5lZXI6CiAgICBMRFIgUjAsID1TQ1VfMF9JUlFIYW5kbGVyCiAgICBNT1YgUEMsUjAKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi5nbG9ibCBTQ1VfMV9WZW5lZXIKU0NVXzFfVmVuZWVyOgogICAgTERSIFIwLCA9U0NVXzFfSVJRSGFuZGxlcgogICAgTU9WIFBDLFIwCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwouZ2xvYmwgU0NVXzJfVmVuZWVyClNDVV8yX1ZlbmVlcjoKICAgIExEUiBSMCwgPVNDVV8yX0lSUUhhbmRsZXIKICAgIE1PViBQQyxSMAovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLmdsb2JsIFNDVV8zX1ZlbmVlcgpTQ1VfM19WZW5lZXI6CiAgICBMRFIgUjAsID1FUlUwXzBfSVJRSGFuZGxlcgogICAgTU9WIFBDLFIwCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwouZ2xvYmwgU0NVXzRfVmVuZWVyClNDVV80X1ZlbmVlcjoKICAgIExEUiBSMCwgPUVSVTBfMV9JUlFIYW5kbGVyCiAgICBNT1YgUEMsUjAKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi5nbG9ibCBTQ1VfNV9WZW5lZXIKU0NVXzVfVmVuZWVyOgogICAgTERSIFIwLCA9RVJVMF8yX0lSUUhhbmRsZXIKICAgIE1PViBQQyxSMAovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLmdsb2JsIFNDVV82X1ZlbmVlcgpTQ1VfNl9WZW5lZXI6CiAgICBMRFIgUjAsID1FUlUwXzNfSVJRSGFuZGxlcgogICAgTU9WIFBDLFIwCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwouZ2xvYmwgU0NVXzdfVmVuZWVyClNDVV83X1ZlbmVlcjoKICAgIExEUiBSMCwgPU1BVEgwXzBfSVJRSGFuZGxlcgogICAgTU9WIFBDLFIwCiAgICAubG9uZyAwCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwouZ2xvYmwgVkFEQzBfQzBfMF9WZW5lZXIKVkFEQzBfQzBfMF9WZW5lZXI6CiAgICBMRFIgUjAsID1WQURDMF9DMF8wX0lSUUhhbmRsZXIKICAgIE1PViBQQyxSMAovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLmdsb2JsIFZBREMwX0MwXzFfVmVuZWVyClZBREMwX0MwXzFfVmVuZWVyOgogICAgTERSIFIwLCA9VkFEQzBfQzBfMV9JUlFIYW5kbGVyCiAgICBNT1YgUEMsUjAKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi5nbG9ibCBWQURDMF9HMF8wX1ZlbmVlcgpWQURDMF9HMF8wX1ZlbmVlcjoKICAgIExEUiBSMCwgPVZBREMwX0cwXzBfSVJRSGFuZGxlcgogICAgTU9WIFBDLFIwCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwouZ2xvYmwgVkFEQzBfRzBfMV9WZW5lZXIKVkFEQzBfRzBfMV9WZW5lZXI6CiAgICBMRFIgUjAsID1WQURDMF9HMF8xX0lSUUhhbmRsZXIKICAgIE1PViBQQyxSMAovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLmdsb2JsIFZBREMwX0cxXzBfVmVuZWVyClZBREMwX0cxXzBfVmVuZWVyOgogICAgTERSIFIwLCA9VkFEQzBfRzFfMF9JUlFIYW5kbGVyCiAgICBNT1YgUEMsUjAKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi5nbG9ibCBWQURDMF9HMV8xX1ZlbmVlcgpWQURDMF9HMV8xX1ZlbmVlcjoKICAgIExEUiBSMCwgPVZBREMwX0cxXzFfSVJRSGFuZGxlcgogICAgTU9WIFBDLFIwCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwouZ2xvYmwgQ0NVNDBfMF9WZW5lZXIKQ0NVNDBfMF9WZW5lZXI6CiAgICBMRFIgUjAsID1DQ1U0MF8wX0lSUUhhbmRsZXIKICAgIE1PViBQQyxSMAovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLmdsb2JsIENDVTQwXzFfVmVuZWVyCkNDVTQwXzFfVmVuZWVyOgogICAgTERSIFIwLCA9Q0NVNDBfMV9JUlFIYW5kbGVyCiAgICBNT1YgUEMsUjAKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi5nbG9ibCBDQ1U0MF8yX1ZlbmVlcgpDQ1U0MF8yX1ZlbmVlcjoKICAgIExEUiBSMCwgPUNDVTQwXzJfSVJRSGFuZGxlcgogICAgTU9WIFBDLFIwCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwouZ2xvYmwgQ0NVNDBfM19WZW5lZXIKQ0NVNDBfM19WZW5lZXI6CiAgICBMRFIgUjAsID1DQ1U0MF8zX0lSUUhhbmRsZXIKICAgIE1PViBQQyxSMAovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLmdsb2JsIENDVTgwXzBfVmVuZWVyCkNDVTgwXzBfVmVuZWVyOgogICAgTERSIFIwLCA9Q0NVODBfMF9JUlFIYW5kbGVyCiAgICBNT1YgUEMsUjAKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi5nbG9ibCBDQ1U4MF8xX1ZlbmVlcgpDQ1U4MF8xX1ZlbmVlcjoKICAgIExEUiBSMCwgPUNDVTgwXzFfSVJRSGFuZGxlcgogICAgTU9WIFBDLFIwCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwouZ2xvYmwgUE9TSUYwXzBfVmVuZWVyClBPU0lGMF8wX1ZlbmVlcjoKICAgIExEUiBSMCwgPVBPU0lGMF8wX0lSUUhhbmRsZXIKICAgIE1PViBQQyxSMAovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLmdsb2JsIFBPU0lGMF8xX1ZlbmVlcgpQT1NJRjBfMV9WZW5lZXI6CiAgICBMRFIgUjAsID1QT1NJRjBfMV9JUlFIYW5kbGVyCiAgICBNT1YgUEMsUjAKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi5nbG9ibCBVU0lDMF8wX1ZlbmVlcgpVU0lDMF8wX1ZlbmVlcjoKICAgIExEUiBSMCwgPVVTSUMwXzBfSVJRSGFuZGxlcgogICAgTU9WIFBDLFIwCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwouZ2xvYmwgVVNJQzBfMV9WZW5lZXIKVVNJQzBfMV9WZW5lZXI6CiAgICBMRFIgUjAsID1VU0lDMF8xX0lSUUhhbmRsZXIKICAgIE1PViBQQyxSMAovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLmdsb2JsIFVTSUMwXzJfVmVuZWVyClVTSUMwXzJfVmVuZWVyOgogICAgTERSIFIwLCA9VVNJQzBfMl9JUlFIYW5kbGVyCiAgICBNT1YgUEMsUjAKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi5nbG9ibCBVU0lDMF8zX1ZlbmVlcgpVU0lDMF8zX1ZlbmVlcjoKICAgIExEUiBSMCwgPVVTSUMwXzNfSVJRSGFuZGxlcgogICAgTU9WIFBDLFIwCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwouZ2xvYmwgVVNJQzBfNF9WZW5lZXIKVVNJQzBfNF9WZW5lZXI6CiAgICBMRFIgUjAsID1VU0lDMF80X0lSUUhhbmRsZXIKICAgIE1PViBQQyxSMAovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLmdsb2JsIFVTSUMwXzVfVmVuZWVyClVTSUMwXzVfVmVuZWVyOgogICAgTERSIFIwLCA9VVNJQzBfNV9JUlFIYW5kbGVyCiAgICBNT1YgUEMsUjAKLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi5nbG9ibCBMRURUUzBfMF9WZW5lZXIKTEVEVFMwXzBfVmVuZWVyOgogICAgTERSIFIwLCA9TEVEVFMwXzBfSVJRSGFuZGxlcgogICAgTU9WIFBDLFIwCi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwouZ2xvYmwgTEVEVFMxXzBfVmVuZWVyCkxFRFRTMV8wX1ZlbmVlcjoKICAgIExEUiBSMCwgPUxFRFRTMV8wX0lSUUhhbmRsZXIKICAgIE1PViBQQyxSMAovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC5nbG9ibCBCQ0NVMF8wX1ZlbmVlcgpCQ0NVMF8wX1ZlbmVlcjoKICAgIExEUiBSMCwgPUJDQ1UwXzBfSVJRSGFuZGxlcgogICAgTU9WIFBDLFIwCgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KCi8qID09PT09IERlY2lzaW9uIGZ1bmN0aW9uIHF1ZXJpZWQgYnkgQ01TSVMgc3RhcnR1cCBmb3IgQ2xvY2sgdHJlZSBzZXR1cCA9PT0gKi8KLyogSW4gdGhlIGFic2VuY2Ugb2YgREFWRSBjb2RlIGVuZ2luZSwgQ01TSVMgU3lzdGVtSW5pdCgpIG11c3QgcGVyZm9ybSBjbG9jawogICB0cmVlIHNldHVwLgoKICAgVGhpcyBkZWNpc2lvbiByb3V0aW5lIGRlZmluZWQgaGVyZSB3aWxsIGFsd2F5cyByZXR1cm4gVFJVRS4KCiAgIFdoZW4gb3ZlcnJpZGRlbiBieSBhIGRlZmluaXRpb24gZGVmaW5lZCBpbiBEQVZFIGNvZGUgZW5naW5lLCB0aGlzIHJvdXRpbmUKICAgcmV0dXJucyBGQUxTRSBpbmRpY2F0aW5nIHRoYXQgdGhlIGNvZGUgZW5naW5lIGhhcyBwZXJmb3JtZWQgdGhlIGNsb2NrIHNldHVwCiovCiAgICAgLnNlY3Rpb24gIi5YbWNTdGFydHVwIgogICAgLndlYWsgICBBbGxvd0Nsa0luaXRCeVN0YXJ0dXAKICAgIC50eXBlICAgQWxsb3dDbGtJbml0QnlTdGFydHVwLCAlZnVuY3Rpb24KQWxsb3dDbGtJbml0QnlTdGFydHVwOgogICAgTU9WUyBSMCwjMQogICAgQlggTFIKICAgIC5zaXplICAgQWxsb3dDbGtJbml0QnlTdGFydHVwLCAuIC0gQWxsb3dDbGtJbml0QnlTdGFydHVwCgovKiA9PT09PT0gIERlZmluaXRpb24gb2YgdGhlIGRlZmF1bHQgd2VhayBTeXN0ZW1Jbml0X0RBVkUzIGZ1bmN0aW9uID09PT09PT09PQpJZiBEQVZFMyByZXF1aXJlcyBhbiBleHRlbmRlZCBTeXN0ZW1Jbml0IGl0IHdpbGwgY3JlYXRlIGl0cyBvd24gdmVyc2lvbiBvZgpTeXN0ZW1Jbml0X0RBVkUzIHdoaWNoIG92ZXJyaWRlcyB0aGlzIHdlYWsgZGVmaW5pdGlvbi4gRXhhbXBsZSBpbmNsdWRlcwpzZXR0aW5nIHVwIG9mIGV4dGVybmFsIG1lbW9yeSBpbnRlcmZhY2VzLgoqLwogICAgIC53ZWFrIFN5c3RlbUluaXRfREFWRTMKICAgICAudHlwZSBTeXN0ZW1Jbml0X0RBVkUzLCAlZnVuY3Rpb24KU3lzdGVtSW5pdF9EQVZFMzoKICAgICBOT1AKICAgICBCWCBMUgogICAgIC5zaXplIFN5c3RlbUluaXRfREFWRTMsIC4gLSBTeXN0ZW1Jbml0X0RBVkUzCgogIC5lbmQK