From: Tatjana Azundris Nuernberg Date: August 19 2011 5:55am Subject: bzr push into mysql-trunk branch (tatjana.nuernberg:3271 to 3272) WL#5706 List-Archive: http://lists.mysql.com/commits/140751 Message-Id: <201108190555.p7J5tk6m014570@acsmt357.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDMyNzIgVGF0amFuYSBBenVuZHJpcyBOdWVybmJlcmcJMjAxMS0wOC0xOQogICAgICBXTCM1NzA2 CiAgICAgIAogICAgICBzcGxpdCByZXdyaXRlIHRlc3RzIGFzIHN1Z2dlc3RlZCBieSBIb3JzdAoK ICAgIGFkZGVkOgogICAgICBteXNxbC10ZXN0L3IvcmV3cml0ZV9zbG93X2xvZy5yZXN1bHQKICAg ICAgbXlzcWwtdGVzdC90L3Jld3JpdGVfc2xvd19sb2cudGVzdAogICAgcmVuYW1lZDoKICAgICAg bXlzcWwtdGVzdC9yL3Jld3JpdGUucmVzdWx0ID0+IG15c3FsLXRlc3Qvci9yZXdyaXRlX2dlbmVy YWxfbG9nLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3QvcmV3cml0ZS50ZXN0ID0+IG15c3FsLXRl c3QvdC9yZXdyaXRlX2dlbmVyYWxfbG9nLnRlc3QKICAgIG1vZGlmaWVkOgogICAgICBteXNxbC10 ZXN0L3IvcmV3cml0ZV9nZW5lcmFsX2xvZy5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC90L3Jld3Jp dGVfZ2VuZXJhbF9sb2cudGVzdAogMzI3MSBUYXRqYW5hIEF6dW5kcmlzIE51ZXJuYmVyZwkyMDEx LTA4LTE4IFttZXJnZV0KICAgICAgbWFudWFsIG1lcmdlCgogICAgcmVtb3ZlZDoKICAgICAgbXlz cWwtdGVzdC9zdWl0ZS9wZXJmc2NoZW1hL3IvcGZzX3VwZ3JhZGVfbGMwLnJlc3VsdC5USElTCiAg ICAgIG15c3FsLXRlc3Qvc3VpdGUvcGVyZnNjaGVtYS9yL3Bmc191cGdyYWRlX2xjMS5yZXN1bHQu VEhJUwogICAgICBteXNxbC10ZXN0L3N1aXRlL3BlcmZzY2hlbWEvci9wZnNfdXBncmFkZV9sYzIu cmVzdWx0LlRISVMKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9wZXJmc2NoZW1hL3Ivc2NoZW1hX2xj MC5yZXN1bHQuVEhJUwogICAgICBteXNxbC10ZXN0L3N1aXRlL3BlcmZzY2hlbWEvci9zY2hlbWFf bGMxLnJlc3VsdC5USElTCiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcGVyZnNjaGVtYS9yL3NjaGVt YV9sYzIucmVzdWx0LlRISVMKICAgIGFkZGVkOgogICAgICBjbGllbnQvbXlzcWxfcGx1Z2luLmMK ICAgICAgbXlzcWwtdGVzdC9pbmNsdWRlL2RhZW1vbl9leGFtcGxlX2JhZF9mb3JtYXQuaW5pCiAg ICAgIG15c3FsLXRlc3QvaW5jbHVkZS9kYWVtb25fZXhhbXBsZV9iYWRfc29uYW1lLmluaQogICAg ICBteXNxbC10ZXN0L3IvbXVsdGlfcGx1Z2luX2xvYWQucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qv ci9tdWx0aV9wbHVnaW5fbG9hZF9hZGQucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci9tdWx0aV9w bHVnaW5fbG9hZF9hZGQyLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvbXlzcWxfcGx1Z2luLnJl c3VsdAogICAgICBteXNxbC10ZXN0L3Ivb3B0aW1pemVyX2J1ZzEyODM3MDg0LnJlc3VsdAogICAg ICBteXNxbC10ZXN0L3N1aXRlL2lubm9kYi9yL2lubm9kYl9idWc1OTczMy5yZXN1bHQKICAgICAg bXlzcWwtdGVzdC9zdWl0ZS9pbm5vZGIvci9pbm5vZGJfY29ycnVwdF9iaXQucmVzdWx0CiAgICAg IG15c3FsLXRlc3Qvc3VpdGUvaW5ub2RiL3QvaW5ub2RiX2J1ZzU5NzMzLnRlc3QKICAgICAgbXlz cWwtdGVzdC9zdWl0ZS9pbm5vZGIvdC9pbm5vZGJfY29ycnVwdF9iaXQudGVzdAogICAgICBteXNx bC10ZXN0L3N1aXRlL3N5c192YXJzL3IvaWdub3JlX2RiX2RpcnNfYmFzaWMucmVzdWx0CiAgICAg IG15c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvci9pbm5vZGJfZmx1c2hfbmVpZ2hib3JzX2Jhc2lj LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3IvaW5ub2RiX2ZvcmNlX2xv YWRfY29ycnVwdGVkX2Jhc2ljLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJz L3IvaW5ub2RiX2xhcmdlX3ByZWZpeF9iYXNpYy5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0 ZS9zeXNfdmFycy9yL2lubm9kYl9scnVfc2Nhbl9kZXB0aF9iYXNpYy5yZXN1bHQKICAgICAgbXlz cWwtdGVzdC9zdWl0ZS9zeXNfdmFycy90L2lnbm9yZV9kYl9kaXJzX2Jhc2ljLW1hc3Rlci5vcHQK ICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFycy90L2lnbm9yZV9kYl9kaXJzX2Jhc2ljLnRl c3QKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9zeXNfdmFycy90L2lubm9kYl9mbHVzaF9uZWlnaGJv cnNfYmFzaWMudGVzdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3QvaW5ub2RiX2Zv cmNlX2xvYWRfY29ycnVwdGVkX2Jhc2ljLnRlc3QKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9zeXNf dmFycy90L2lubm9kYl9sYXJnZV9wcmVmaXhfYmFzaWMudGVzdAogICAgICBteXNxbC10ZXN0L3N1 aXRlL3N5c192YXJzL3QvaW5ub2RiX2xydV9zY2FuX2RlcHRoX2Jhc2ljLnRlc3QKICAgICAgbXlz cWwtdGVzdC90L211bHRpX3BsdWdpbl9sb2FkLW1hc3Rlci5vcHQKICAgICAgbXlzcWwtdGVzdC90 L211bHRpX3BsdWdpbl9sb2FkLnRlc3QKICAgICAgbXlzcWwtdGVzdC90L211bHRpX3BsdWdpbl9s b2FkX2FkZC1tYXN0ZXIub3B0CiAgICAgIG15c3FsLXRlc3QvdC9tdWx0aV9wbHVnaW5fbG9hZF9h ZGQudGVzdAogICAgICBteXNxbC10ZXN0L3QvbXVsdGlfcGx1Z2luX2xvYWRfYWRkMi1tYXN0ZXIu b3B0CiAgICAgIG15c3FsLXRlc3QvdC9tdWx0aV9wbHVnaW5fbG9hZF9hZGQyLnRlc3QKICAgICAg bXlzcWwtdGVzdC90L215c3FsX3BsdWdpbi1tYXN0ZXIub3B0CiAgICAgIG15c3FsLXRlc3QvdC9t eXNxbF9wbHVnaW4udGVzdAogICAgICBteXNxbC10ZXN0L3Qvb3B0aW1pemVyX2J1ZzEyODM3MDg0 LnRlc3QKICAgICAgcGx1Z2luL2RhZW1vbl9leGFtcGxlL2RhZW1vbl9leGFtcGxlLmluaQogICAg bW9kaWZpZWQ6CiAgICAgIGNsaWVudC9DTWFrZUxpc3RzLnR4dAogICAgICBpbmNsdWRlL215X2Jh c2UuaAogICAgICBpbmNsdWRlL215X2dsb2JhbC5oCiAgICAgIG15c3FsLXRlc3QvY29sbGVjdGlv bnMvZGVmYXVsdC5leHBlcmltZW50YWwKICAgICAgbXlzcWwtdGVzdC9pbmNsdWRlL2pvaW5fY2Fj aGUuaW5jCiAgICAgIG15c3FsLXRlc3QvaW5jbHVkZS9wbHVnaW4uZGVmcwogICAgICBteXNxbC10 ZXN0L2luY2x1ZGUvcmFuZ2UuaW5jCiAgICAgIG15c3FsLXRlc3QvbXlzcWwtdGVzdC1ydW4ucGwK ICAgICAgbXlzcWwtdGVzdC9yL2Rlcml2ZWQucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci9leHBs YWluLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvZnVuY19nY29uY2F0LnJlc3VsdAogICAgICBt eXNxbC10ZXN0L3IvZ3JhbnQyLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvZ3JvdXBfYnkucmVz dWx0CiAgICAgIG15c3FsLXRlc3Qvci9oZWFwLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvaW5k ZXhfbWVyZ2VfbXlpc2FtLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvaW5mb3JtYXRpb25fc2No ZW1hLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvaW5ub2RiX2V4cGxhaW5fbm9uX3NlbGVjdF9u b25lLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvaW5ub2RiX2ljcF9hbGwucmVzdWx0CiAgICAg IG15c3FsLXRlc3Qvci9pbm5vZGJfbXJyX2FsbC5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9yL2lu bm9kYl9tcnJfY29zdF9hbGwucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci9qb2luX2NhY2hlX2pj bDAucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci9qb2luX2NhY2hlX2pjbDEucmVzdWx0CiAgICAg IG15c3FsLXRlc3Qvci9qb2luX2NhY2hlX2pjbDIucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci9q b2luX2NhY2hlX2pjbDMucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci9qb2luX2NhY2hlX2pjbDQu cmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci9qb2luX2NhY2hlX2pjbDUucmVzdWx0CiAgICAgIG15 c3FsLXRlc3Qvci9qb2luX2NhY2hlX2pjbDYucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci9qb2lu X2NhY2hlX2pjbDcucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci9qb2luX2NhY2hlX2pjbDgucmVz dWx0CiAgICAgIG15c3FsLXRlc3Qvci9teWlzYW1fZXhwbGFpbl9ub25fc2VsZWN0X25vbmUucmVz dWx0CiAgICAgIG15c3FsLXRlc3Qvci9teWlzYW1faWNwX2FsbC5yZXN1bHQKICAgICAgbXlzcWwt dGVzdC9yL215aXNhbV9tcnJfYWxsLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvbXlpc2FtX21y cl9jb3N0X2FsbC5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9yL215c3FsZC0taGVscC1ub3R3aW4u cmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci9teXNxbGQtLWhlbHAtd2luLnJlc3VsdAogICAgICBt eXNxbC10ZXN0L3IvcmFuZ2VfYWxsLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvcmFuZ2VfaWNw LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvcmFuZ2VfaWNwX21yci5yZXN1bHQKICAgICAgbXlz cWwtdGVzdC9yL3JhbmdlX21yci5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9yL3JhbmdlX21ycl9j b3N0LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvcmFuZ2Vfbm9uZS5yZXN1bHQKICAgICAgbXlz cWwtdGVzdC9yL3Jvdy5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9yL3NwX3RyYW5zLnJlc3VsdAog ICAgICBteXNxbC10ZXN0L3Ivc3VicXVlcnlfYWxsLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3Iv c3VicXVlcnlfbm9tYXRfbm9zai5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9yL3N1YnF1ZXJ5X25v bmUucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci92aWV3LnJlc3VsdAogICAgICBteXNxbC10ZXN0 L3N1aXRlL2Z1bmNzXzEvZGF0YWRpY3QvZGF0YWRpY3RfcHJpdi5pbmMKICAgICAgbXlzcWwtdGVz dC9zdWl0ZS9mdW5jc18xL3IvcHJvY2Vzc2xpc3RfcHJpdl9ub19wcm90LnJlc3VsdAogICAgICBt eXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9wcm9jZXNzbGlzdF9wcml2X3BzLnJlc3VsdAogICAg ICBteXNxbC10ZXN0L3N1aXRlL2lubm9kYi9yL2lubm9kYl9tb25pdG9yLnJlc3VsdAogICAgICBt eXNxbC10ZXN0L3N1aXRlL2lubm9kYi9yL2lubm9kYl9teXNxbC5yZXN1bHQKICAgICAgbXlzcWwt dGVzdC9zdWl0ZS9pbm5vZGIvdC9pbm5vZGJfYnVmZmVyX3Bvb2xfbG9hZC1tYXN0ZXIub3B0CiAg ICAgIG15c3FsLXRlc3Qvc3VpdGUvb3B0X3RyYWNlL3IvYnVnc19ub19wcm90X25vbmUucmVzdWx0 CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvb3B0X3RyYWNlL3IvYnVnc19wc19wcm90X25vbmUucmVz dWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvb3B0X3RyYWNlL3IvY2hhcnNldC5yZXN1bHQKICAg ICAgbXlzcWwtdGVzdC9zdWl0ZS9vcHRfdHJhY2Uvci9nZW5lcmFsMl9ub19wcm90LnJlc3VsdAog ICAgICBteXNxbC10ZXN0L3N1aXRlL29wdF90cmFjZS9yL2dlbmVyYWwyX3BzX3Byb3QucmVzdWx0 CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvb3B0X3RyYWNlL3IvZ2VuZXJhbF9ub19wcm90X25vbmUu cmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvb3B0X3RyYWNlL3IvZ2VuZXJhbF9wc19wcm90 X25vbmUucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvb3B0X3RyYWNlL3IvcmFuZ2Vfbm9f cHJvdC5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9vcHRfdHJhY2Uvci9yYW5nZV9wc19w cm90LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL29wdF90cmFjZS9yL3NlY3VyaXR5X25v X3Byb3QucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvb3B0X3RyYWNlL3Ivc2VjdXJpdHlf cHNfcHJvdC5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfaGVhcnRiZWF0 LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3JwbC90L3JwbF9oZWFydGJlYXQudGVzdAog ICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3IvYWxsX3ZhcnMucmVzdWx0CiAgICAgIG15 c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvci9pbm5vZGJfZmlsZV9wZXJfdGFibGVfYmFzaWMucmVz dWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvci9pbm5vZGJfbG9ja193YWl0X3Rp bWVvdXRfYmFzaWMucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvdC9hbGxf dmFycy50ZXN0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvdC9pbm5vZGJfYXV0b2lu Y19sb2NrX21vZGVfYmFzaWMudGVzdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3Qv aW5ub2RiX2Zhc3Rfc2h1dGRvd25fYmFzaWMudGVzdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3N5 c192YXJzL3QvaW5ub2RiX2ZpbGVfcGVyX3RhYmxlX2Jhc2ljLnRlc3QKICAgICAgbXlzcWwtdGVz dC9zdWl0ZS9zeXNfdmFycy90L2lubm9kYl9pb19jYXBhY2l0eV9iYXNpYy50ZXN0CiAgICAgIG15 c3FsLXRlc3Qvc3VpdGUvc3lzX3ZhcnMvdC9pbm5vZGJfbG9ja193YWl0X3RpbWVvdXRfYmFzaWMu dGVzdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3N5c192YXJzL3QvaW5ub2RiX21heF9kaXJ0eV9w YWdlc19wY3RfYmFzaWMudGVzdAogICAgICBteXNxbC10ZXN0L3QvZGVyaXZlZC50ZXN0CiAgICAg IG15c3FsLXRlc3QvdC9ncmFudDIudGVzdAogICAgICBteXNxbC10ZXN0L3QvZ3JvdXBfYnkudGVz dAogICAgICBteXNxbC10ZXN0L3QvaGVhcC50ZXN0CiAgICAgIG15c3FsLXRlc3QvdC9pbmZvcm1h dGlvbl9zY2hlbWEudGVzdAogICAgICBteXNxbC10ZXN0L3Qvam9pbi50ZXN0CiAgICAgIG15c3Fs LXRlc3QvdC9zcF90cmFucy50ZXN0CiAgICAgIG15c3lzL215X2hhbmRsZXJfZXJyb3JzLmgKICAg ICAgcGx1Z2luL2RhZW1vbl9leGFtcGxlL0NNYWtlTGlzdHMudHh0CiAgICAgIHNxbC9hdXRob3Jz LmgKICAgICAgc3FsL2ZpZWxkLmgKICAgICAgc3FsL2hhbmRsZXIuY2MKICAgICAgc3FsL2hhbmRs ZXIuaAogICAgICBzcWwvaXRlbV9jbXBmdW5jLmNjCiAgICAgIHNxbC9pdGVtX3N1YnNlbGVjdC5j YwogICAgICBzcWwvaXRlbV9zdW0uY2MKICAgICAgc3FsL2tleS5oCiAgICAgIHNxbC9teXNxbGQu Y2MKICAgICAgc3FsL215c3FsZC5oCiAgICAgIHNxbC9vcHRfZXhwbGFpbi5jYwogICAgICBzcWwv b3B0X3JhbmdlLmNjCiAgICAgIHNxbC9vcHRfcmFuZ2UuaAogICAgICBzcWwvb3B0X3N1bS5jYwog ICAgICBzcWwvcmVjb3Jkcy5jYwogICAgICBzcWwvcmVjb3Jkcy5oCiAgICAgIHNxbC9zaGFyZS9l cnJtc2ctdXRmOC50eHQKICAgICAgc3FsL3NxbF9hbHRlci5jYwogICAgICBzcWwvc3FsX2Jhc2Uu Y2MKICAgICAgc3FsL3NxbF9jbGFzcy5jYwogICAgICBzcWwvc3FsX2NsYXNzLmgKICAgICAgc3Fs L3NxbF9jdXJzb3IuY2MKICAgICAgc3FsL3NxbF9kZXJpdmVkLmNjCiAgICAgIHNxbC9zcWxfZGVy aXZlZC5oCiAgICAgIHNxbC9zcWxfaW5zZXJ0LmNjCiAgICAgIHNxbC9zcWxfam9pbl9jYWNoZS5j YwogICAgICBzcWwvc3FsX2xleC5jYwogICAgICBzcWwvc3FsX2xleC5oCiAgICAgIHNxbC9zcWxf bGlzdC5oCiAgICAgIHNxbC9zcWxfcGFyc2UuY2MKICAgICAgc3FsL3NxbF9wbHVnaW4uY2MKICAg ICAgc3FsL3NxbF9wbHVnaW4uaAogICAgICBzcWwvc3FsX3ByZXBhcmUuY2MKICAgICAgc3FsL3Nx bF9zZWxlY3QuY2MKICAgICAgc3FsL3NxbF9zZWxlY3QuaAogICAgICBzcWwvc3FsX3Nob3cuY2MK ICAgICAgc3FsL3NxbF9zaG93LmgKICAgICAgc3FsL3NxbF90ZXN0LmNjCiAgICAgIHNxbC9zcWxf dW5pb24uY2MKICAgICAgc3FsL3NxbF91cGRhdGUuY2MKICAgICAgc3FsL3NxbF92aWV3LmNjCiAg ICAgIHNxbC9zcWxfeWFjYy55eQogICAgICBzcWwvc3RydWN0cy5oCiAgICAgIHNxbC9zeXNfdmFy cy5jYwogICAgICBzcWwvdGFibGUuY2MKICAgICAgc3FsL3RhYmxlLmgKICAgICAgc3RvcmFnZS9o ZWFwL2hwX2hhc2guYwogICAgICBzdG9yYWdlL2lubm9iYXNlL2J0ci9idHIwYnRyLmMKICAgICAg c3RvcmFnZS9pbm5vYmFzZS9idHIvYnRyMGN1ci5jCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvYnRy L2J0cjBwY3VyLmMKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9idHIvYnRyMHNlYS5jCiAgICAgIHN0 b3JhZ2UvaW5ub2Jhc2UvYnVmL2J1ZjBidWYuYwogICAgICBzdG9yYWdlL2lubm9iYXNlL2J1Zi9i dWYwZmx1LmMKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9idWYvYnVmMGxydS5jCiAgICAgIHN0b3Jh Z2UvaW5ub2Jhc2UvYnVmL2J1ZjByZWEuYwogICAgICBzdG9yYWdlL2lubm9iYXNlL2RpY3QvZGlj dDBjcmVhLmMKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9kaWN0L2RpY3QwZGljdC5jCiAgICAgIHN0 b3JhZ2UvaW5ub2Jhc2UvZGljdC9kaWN0MGxvYWQuYwogICAgICBzdG9yYWdlL2lubm9iYXNlL2hh bmRsZXIvaGFfaW5ub2RiLmNjCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaWJ1Zi9pYnVmMGlidWYu YwogICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvYnRyMGJ0ci5oCiAgICAgIHN0b3JhZ2Uv aW5ub2Jhc2UvaW5jbHVkZS9idHIwYnRyLmljCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVk ZS9idWYwYnVmLmgKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL2J1ZjBidWYuaWMKICAg ICAgc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL2J1ZjBmbHUuaAogICAgICBzdG9yYWdlL2lubm9i YXNlL2luY2x1ZGUvYnVmMGxydS5oCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9idWYw dHlwZXMuaAogICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvZGIwZXJyLmgKICAgICAgc3Rv cmFnZS9pbm5vYmFzZS9pbmNsdWRlL2RpY3QwYm9vdC5oCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2Uv aW5jbHVkZS9kaWN0MGRpY3QuaAogICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvZGljdDBk aWN0LmljCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9kaWN0MG1lbS5oCiAgICAgIHN0 b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9kaWN0MHByaXYuaWMKICAgICAgc3RvcmFnZS9pbm5vYmFz ZS9pbmNsdWRlL2RpY3QwdHlwZXMuaAogICAgICBzdG9yYWdlL2lubm9iYXNlL2luY2x1ZGUvaWJ1 ZjBpYnVmLmljCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2UvaW5jbHVkZS9zcnYwbW9uLmgKICAgICAg c3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL3NydjBzcnYuaAogICAgICBzdG9yYWdlL2lubm9iYXNl L2luY2x1ZGUvc3luYzBzeW5jLmgKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9pbmNsdWRlL3RyeDBz eXMuaAogICAgICBzdG9yYWdlL2lubm9iYXNlL2xvZy9sb2cwbG9nLmMKICAgICAgc3RvcmFnZS9p bm5vYmFzZS9wYXJzL3BhcnMwb3B0LmMKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9yZWFkL3JlYWQw cmVhZC5jCiAgICAgIHN0b3JhZ2UvaW5ub2Jhc2Uvcm93L3JvdzBpbnMuYwogICAgICBzdG9yYWdl L2lubm9iYXNlL3Jvdy9yb3cwbWVyZ2UuYwogICAgICBzdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cw bXlzcWwuYwogICAgICBzdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwcHVyZ2UuYwogICAgICBzdG9y YWdlL2lubm9iYXNlL3Jvdy9yb3cwc2VsLmMKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9yb3cvcm93 MHVpbnMuYwogICAgICBzdG9yYWdlL2lubm9iYXNlL3Jvdy9yb3cwdW1vZC5jCiAgICAgIHN0b3Jh Z2UvaW5ub2Jhc2Uvcm93L3JvdzB1cGQuYwogICAgICBzdG9yYWdlL2lubm9iYXNlL3Nydi9zcnYw bW9uLmMKICAgICAgc3RvcmFnZS9pbm5vYmFzZS9zcnYvc3J2MHNydi5jCiAgICAgIHN0b3JhZ2Uv aW5ub2Jhc2Uvc3luYy9zeW5jMHN5bmMuYwogICAgICBzdG9yYWdlL2lubm9iYXNlL3RyeC90cngw c3lzLmMKICAgICAgc3RvcmFnZS9pbm5vYmFzZS91dC91dDB1dC5jCiAgICAgIHN1cHBvcnQtZmls ZXMvbXlzcWwuc3BlYy5zaAogICAgICB1bml0dGVzdC9ndW5pdC9zcWxfbGlzdC10LmNjCj09PSBt b2RpZmllZCBmaWxlICdteXNxbC10ZXN0L2luY2x1ZGUvcGx1Z2luLmRlZnMnCi0tLSBhL215c3Fs LXRlc3QvaW5jbHVkZS9wbHVnaW4uZGVmcwkyMDExLTA4LTE4IDA5OjM5OjI0ICswMDAwCisrKyBi L215c3FsLXRlc3QvaW5jbHVkZS9wbHVnaW4uZGVmcwkyMDExLTA4LTE4IDE4OjA1OjQ1ICswMDAw CkBAIC00MCw0ICs0MCw1IEBAIGhhX2FyY2hpdmUgICAgICAgICBzdG9yYWdlL2FyY2hpdmUgICAg QVIKIGhhX2JsYWNraG9sZSAgICAgICBzdG9yYWdlL2JsYWNraG9sZSAgQkxBQ0tIT0xFX1BMVUdJ TgogaGFfZmVkZXJhdGVkICAgICAgIHN0b3JhZ2UvZmVkZXJhdGVkICBGRURFUkFURURfUExVR0lO CiBteXBsdWdsaWIgICAgICAgICAgcGx1Z2luL2Z1bGx0ZXh0ICAgIFNJTVBMRV9QQVJTRVIKK2Fk dF9udWxsICAgICAgICAgICBwbHVnaW4vYXVkaXRfbnVsbCAgQVVESVRfTlVMTAogbGliZGFlbW9u X2V4YW1wbGUgIHBsdWdpbi9kYWVtb25fZXhhbXBsZSBEQUVNT05FWEFNUExFCgo9PT0gYWRkZWQg ZmlsZSAnbXlzcWwtdGVzdC9yL2F1ZGl0X3BsdWdpbi5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qv ci9hdWRpdF9wbHVnaW4ucmVzdWx0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIvbXlz cWwtdGVzdC9yL2F1ZGl0X3BsdWdpbi5yZXN1bHQJMjAxMS0wOC0xNyAxNToxMToxMSArMDAwMApA QCAtMCwwICsxLDIzIEBACitJTlNUQUxMIFBMVUdJTiBhdWRpdF9udWxsIFNPTkFNRSAnYWR0X251 bGwuPGV4cGVjdGVkX2V4dGVuc2lvbj4nOworRVJST1IgSFkwMDA6IENhbid0IGZpbmQgc3ltYm9s ICdhdWRpdF9udWxsJyBpbiBsaWJyYXJ5CitJTlNUQUxMIFBMVUdJTiBudWxsX2F1ZGl0IFNPTkFN RSAnYWR0X251bGwuPGV4cGVjdGVkX2V4dGVuc2lvbj4nOworQ1JFQVRFIFRBQkxFIHQxIChjMSBJ TlQsIGMyIENIQVIoMjApKTsKK0NSRUFURSBUQUJMRSB0MSAoYzEgSU5ULCBjMiBDSEFSKDIwKSk7 CitFUlJPUiA0MlMwMTogVGFibGUgJ3QxJyBhbHJlYWR5IGV4aXN0cworSU5TRVJUIElOVE8gdDEg VkFMVUVTICgxLCdhJyksKDIsJ2InKSwoMywnYycpOworU0VMRUNUICogRlJPTSB0MTsKK2MxCWMy CisxCWEKKzIJYgorMwljCitTRUxFQ1QgKiBGUk9NIHQyOworRVJST1IgNDJTMDI6IFRhYmxlICd0 ZXN0LnQyJyBkb2Vzbid0IGV4aXN0CitEUk9QIFRBQkxFIHQxOworU0hPVyBTVEFUVVMgTElLRSAn YXVkaXRfbnVsbF9jYWxsZWQnOworVmFyaWFibGVfbmFtZQlWYWx1ZQorQXVkaXRfbnVsbF9jYWxs ZWQJPGV4cGVjdGVkX251bWJlcl9vZl9jYWxscz4KK1VOSU5TVEFMTCBQTFVHSU4gYXVkaXRfbnVs bDsKK0VSUk9SIDQyMDAwOiBQTFVHSU4gYXVkaXRfbnVsbCBkb2VzIG5vdCBleGlzdAorVU5JTlNU QUxMIFBMVUdJTiBudWxsX2F1ZGl0OworV2FybmluZ3M6CitXYXJuaW5nCTE2MjAJUGx1Z2luIGlz IGJ1c3kgYW5kIHdpbGwgYmUgdW5pbnN0YWxsZWQgb24gc2h1dGRvd24KCj09PSBtb2RpZmllZCBm aWxlICdteXNxbC10ZXN0L3IvbG9nX3N0YXRlLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL2xv Z19zdGF0ZS5yZXN1bHQJMjAxMS0wMi0xMCAxMToxMzo0MSArMDAwMAorKysgYi9teXNxbC10ZXN0 L3IvbG9nX3N0YXRlLnJlc3VsdAkyMDExLTA4LTE3IDE0OjA3OjA3ICswMDAwCkBAIC0yNCw3ICsy NCw3IEBAIHNlbGVjdCAqIGZyb20gbXlzcWwuZ2VuZXJhbF9sb2c7CiBldmVudF90aW1lCXVzZXJf aG9zdAl0aHJlYWRfaWQJc2VydmVyX2lkCWNvbW1hbmRfdHlwZQlhcmd1bWVudAogVElNRVNUQU1Q CVVTRVJfSE9TVAkjCTEJUXVlcnkJY3JlYXRlIHRhYmxlIHQxKGYxIGludCkKIFRJTUVTVEFNUAlV U0VSX0hPU1QJIwkxCVF1ZXJ5CXNlbGVjdCAqIGZyb20gbXlzcWwuZ2VuZXJhbF9sb2cKLVRJTUVT VEFNUAlVU0VSX0hPU1QJIwkxCVF1ZXJ5CXNldCBnbG9iYWwgZ2VuZXJhbF9sb2c9IE9GRgorVElN RVNUQU1QCVVTRVJfSE9TVAkjCTEJUXVlcnkJU0VUIEdMT0JBTCBnZW5lcmFsX2xvZz0nT0ZGJwog c2V0IGdsb2JhbCBnZW5lcmFsX2xvZz0gT047CiBmbHVzaCBsb2dzOwogc2hvdyBnbG9iYWwgdmFy aWFibGVzCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9yL2xvZ190YWJsZXMucmVzdWx0 JwotLS0gYS9teXNxbC10ZXN0L3IvbG9nX3RhYmxlcy5yZXN1bHQJMjAxMS0wMi0yMiAwNTozNzo0 NCArMDAwMAorKysgYi9teXNxbC10ZXN0L3IvbG9nX3RhYmxlcy5yZXN1bHQJMjAxMS0wOC0xNyAx NDowNzowNyArMDAwMApAQCAtMTI3LDcgKzEyNyw3IEBAIHRlc3QKIMOUw4XDk8OUCiBzZWxlY3Qg KiBmcm9tIG15c3FsLmdlbmVyYWxfbG9nOwogZXZlbnRfdGltZQl1c2VyX2hvc3QJdGhyZWFkX2lk CXNlcnZlcl9pZAljb21tYW5kX3R5cGUJYXJndW1lbnQKLVRJTUVTVEFNUAlVU0VSX0hPU1QJVEhS RUFEX0lECTEJUXVlcnkJc2V0IG5hbWVzIGJpbmFyeQorVElNRVNUQU1QCVVTRVJfSE9TVAlUSFJF QURfSUQJMQlRdWVyeQlTRVQgTkFNRVMgJ2JpbmFyeScKIFRJTUVTVEFNUAlVU0VSX0hPU1QJVEhS RUFEX0lECTEJUXVlcnkJc2VsZWN0IF9rb2k4cidceEQ0XHhDNVx4RDNceEQ0JyBhcyB0ZXN0CiBU SU1FU1RBTVAJVVNFUl9IT1NUCVRIUkVBRF9JRAkxCVF1ZXJ5CXNlbGVjdCAqIGZyb20gbXlzcWwu Z2VuZXJhbF9sb2cKIHNldCBuYW1lcyB1dGY4OwpAQCAtMTM3LDcgKzEzNyw3IEBAIGNyZWF0ZSB0 YWJsZSBidWcxNjkwNSAocyBjaGFyKDE1KSBjaGFyYWMKIGluc2VydCBpbnRvIGJ1ZzE2OTA1IHZh bHVlcyAoJ8OQwr3DkMK+w5DCssOQwr7DkMK1Jyk7CiBzZWxlY3QgKiBmcm9tIG15c3FsLmdlbmVy YWxfbG9nOwogZXZlbnRfdGltZQl1c2VyX2hvc3QJdGhyZWFkX2lkCXNlcnZlcl9pZAljb21tYW5k X3R5cGUJYXJndW1lbnQKLVRJTUVTVEFNUAlVU0VSX0hPU1QJVEhSRUFEX0lECTEJUXVlcnkJc2V0 IG5hbWVzIHV0ZjgKK1RJTUVTVEFNUAlVU0VSX0hPU1QJVEhSRUFEX0lECTEJUXVlcnkJU0VUIE5B TUVTICd1dGY4JwogVElNRVNUQU1QCVVTRVJfSE9TVAlUSFJFQURfSUQJMQlRdWVyeQljcmVhdGUg dGFibGUgYnVnMTY5MDUgKHMgY2hhcigxNSkgY2hhcmFjdGVyIHNldCB1dGY4IGRlZmF1bHQgJ8OQ wr/DkcKDw5HCgcORwoLDkMK+JykKIFRJTUVTVEFNUAlVU0VSX0hPU1QJVEhSRUFEX0lECTEJUXVl cnkJaW5zZXJ0IGludG8gYnVnMTY5MDUgdmFsdWVzICgnw5DCvcOQwr7DkMKyw5DCvsOQwrUnKQog VElNRVNUQU1QCVVTRVJfSE9TVAlUSFJFQURfSUQJMQlRdWVyeQlzZWxlY3QgKiBmcm9tIG15c3Fs LmdlbmVyYWxfbG9nCkBAIC0yMjEsMjIgKzIyMSwyMiBAQCBzZXQgZ2xvYmFsIGdlbmVyYWxfbG9n PSdPTic7CiBzZXQgZ2xvYmFsIHNsb3dfcXVlcnlfbG9nPSdPTic7CiBzZWxlY3QgKiBmcm9tIG15 c3FsLmdlbmVyYWxfbG9nOwogZXZlbnRfdGltZQl1c2VyX2hvc3QJdGhyZWFkX2lkCXNlcnZlcl9p ZAljb21tYW5kX3R5cGUJYXJndW1lbnQKLVRJTUVTVEFNUAlVU0VSX0hPU1QJVEhSRUFEX0lECTEJ UXVlcnkJc2V0IG5hbWVzIHV0ZjgKK1RJTUVTVEFNUAlVU0VSX0hPU1QJVEhSRUFEX0lECTEJUXVl cnkJU0VUIE5BTUVTICd1dGY4JwogVElNRVNUQU1QCVVTRVJfSE9TVAlUSFJFQURfSUQJMQlRdWVy eQljcmVhdGUgdGFibGUgYnVnMTY5MDUgKHMgY2hhcigxNSkgY2hhcmFjdGVyIHNldCB1dGY4IGRl ZmF1bHQgJ8OQwr/DkcKDw5HCgcORwoLDkMK+JykKIFRJTUVTVEFNUAlVU0VSX0hPU1QJVEhSRUFE X0lECTEJUXVlcnkJaW5zZXJ0IGludG8gYnVnMTY5MDUgdmFsdWVzICgnw5DCvcOQwr7DkMKyw5DC vsOQwrUnKQogVElNRVNUQU1QCVVTRVJfSE9TVAlUSFJFQURfSUQJMQlRdWVyeQlzZWxlY3QgKiBm cm9tIG15c3FsLmdlbmVyYWxfbG9nCiBUSU1FU1RBTVAJVVNFUl9IT1NUCVRIUkVBRF9JRAkxCVF1 ZXJ5CWRyb3AgdGFibGUgYnVnMTY5MDUKIFRJTUVTVEFNUAlVU0VSX0hPU1QJVEhSRUFEX0lECTEJ UXVlcnkJdHJ1bmNhdGUgdGFibGUgbXlzcWwuc2xvd19sb2cKLVRJTUVTVEFNUAlVU0VSX0hPU1QJ VEhSRUFEX0lECTEJUXVlcnkJc2V0IHNlc3Npb24gbG9uZ19xdWVyeV90aW1lPTEKK1RJTUVTVEFN UAlVU0VSX0hPU1QJVEhSRUFEX0lECTEJUXVlcnkJU0VUIFNFU1NJT04gbG9uZ19xdWVyeV90aW1l PTEKIFRJTUVTVEFNUAlVU0VSX0hPU1QJVEhSRUFEX0lECTEJUXVlcnkJc2VsZWN0IHNsZWVwKDIp CiBUSU1FU1RBTVAJVVNFUl9IT1NUCVRIUkVBRF9JRAkxCVF1ZXJ5CXNlbGVjdCAqIGZyb20gbXlz cWwuc2xvd19sb2cKLVRJTUVTVEFNUAlVU0VSX0hPU1QJVEhSRUFEX0lECTEJUXVlcnkJc2V0IEBA c2Vzc2lvbi5sb25nX3F1ZXJ5X3RpbWUgPSBAc2F2ZWRfbG9uZ19xdWVyeV90aW1lCitUSU1FU1RB TVAJVVNFUl9IT1NUCVRIUkVBRF9JRAkxCVF1ZXJ5CVNFVCBTRVNTSU9OIGxvbmdfcXVlcnlfdGlt ZT0oQHNhdmVkX2xvbmdfcXVlcnlfdGltZSkKIFRJTUVTVEFNUAlVU0VSX0hPU1QJVEhSRUFEX0lE CTEJUXVlcnkJYWx0ZXIgdGFibGUgbXlzcWwuZ2VuZXJhbF9sb2cgZW5naW5lPW15aXNhbQogVElN RVNUQU1QCVVTRVJfSE9TVAlUSFJFQURfSUQJMQlRdWVyeQlhbHRlciB0YWJsZSBteXNxbC5zbG93 X2xvZyBlbmdpbmU9bXlpc2FtCiBUSU1FU1RBTVAJVVNFUl9IT1NUCVRIUkVBRF9JRAkxCVF1ZXJ5 CWRyb3AgdGFibGUgbXlzcWwuZ2VuZXJhbF9sb2cKIFRJTUVTVEFNUAlVU0VSX0hPU1QJVEhSRUFE X0lECTEJUXVlcnkJZHJvcCB0YWJsZSBteXNxbC5zbG93X2xvZwotVElNRVNUQU1QCVVTRVJfSE9T VAlUSFJFQURfSUQJMQlRdWVyeQlzZXQgZ2xvYmFsIGdlbmVyYWxfbG9nPSdPRkYnCi1USU1FU1RB TVAJVVNFUl9IT1NUCVRIUkVBRF9JRAkxCVF1ZXJ5CXNldCBnbG9iYWwgc2xvd19xdWVyeV9sb2c9 J09OJworVElNRVNUQU1QCVVTRVJfSE9TVAlUSFJFQURfSUQJMQlRdWVyeQlTRVQgR0xPQkFMIGdl bmVyYWxfbG9nPSdPRkYnCitUSU1FU1RBTVAJVVNFUl9IT1NUCVRIUkVBRF9JRAkxCVF1ZXJ5CVNF VCBHTE9CQUwgc2xvd19xdWVyeV9sb2c9J09OJwogVElNRVNUQU1QCVVTRVJfSE9TVAlUSFJFQURf SUQJMQlRdWVyeQlzZWxlY3QgKiBmcm9tIG15c3FsLmdlbmVyYWxfbG9nCiBmbHVzaCBsb2dzOwog bG9jayB0YWJsZXMgbXlzcWwuZ2VuZXJhbF9sb2cgV1JJVEU7CkBAIC02NzQsMTEyICs2NzQsMTMg QEAgZXhlY3V0ZSBsb25nX3F1ZXJ5IHVzaW5nIEBscGFyYW07CiBzZXQgZ2xvYmFsIGdlbmVyYWxf bG9nID0gb2ZmOwogc2VsZWN0IGNvbW1hbmRfdHlwZSwgYXJndW1lbnQgZnJvbSBteXNxbC5nZW5l cmFsX2xvZyB3aGVyZSB0aHJlYWRfaWQgPSBAdGhyZWFkX2lkOwogY29tbWFuZF90eXBlCWFyZ3Vt ZW50Ci1RdWVyeQlzZXQgZ2xvYmFsIGdlbmVyYWxfbG9nID0gb24KLVF1ZXJ5CXNldCBAbHBhcmFt ID0gIjAwMCAwMDEgMDAyIDAwMyAwMDQgMDA1IDAwNiAwMDcgMDA4IDAwOSIKLSAgICAgICAgICAg ICAgIjAxMCAwMTEgMDEyIDAxMyAwMTQgMDE1IDAxNiAwMTcgMDE4IDAxOSIKLSAgICAgICAgICAg ICAgIjAyMCAwMjEgMDIyIDAyMyAwMjQgMDI1IDAyNiAwMjcgMDI4IDAyOSIKLSAgICAgICAgICAg ICAgIjAzMCAwMzEgMDMyIDAzMyAwMzQgMDM1IDAzNiAwMzcgMDM4IDAzOSIKLSAgICAgICAgICAg ICAgIjA0MCAwNDEgMDQyIDA0MyAwNDQgMDQ1IDA0NiAwNDcgMDQ4IDA0OSIKLSAgICAgICAgICAg ICAgIjA1MCAwNTEgMDUyIDA1MyAwNTQgMDU1IDA1NiAwNTcgMDU4IDA1OSIKLSAgICAgICAgICAg ICAgIjA2MCAwNjEgMDYyIDA2MyAwNjQgMDY1IDA2NiAwNjcgMDY4IDA2OSIKLSAgICAgICAgICAg ICAgIjA3MCAwNzEgMDcyIDA3MyAwNzQgMDc1IDA3NiAwNzcgMDc4IDA3OSIKLSAgICAgICAgICAg ICAgIjA4MCAwODEgMDgyIDA4MyAwODQgMDg1IDA4NiAwODcgMDg4IDA4OSIKLSAgICAgICAgICAg ICAgIjA5MCAwOTEgMDkyIDA5MyAwOTQgMDk1IDA5NiAwOTcgMDk4IDA5OSIKLSAgICAgICAgICAg ICAgIjEwMCAxMDEgMTAyIDEwMyAxMDQgMTA1IDEwNiAxMDcgMTA4IDEwOSIKLSAgICAgICAgICAg ICAgIjExMCAxMTEgMTEyIDExMyAxMTQgMTE1IDExNiAxMTcgMTE4IDExOSIKLSAgICAgICAgICAg ICAgIjEyMCAxMjEgMTIyIDEyMyAxMjQgMTI1IDEyNiAxMjcgMTI4IDEyOSIKLSAgICAgICAgICAg ICAgIjEzMCAxMzEgMTMyIDEzMyAxMzQgMTM1IDEzNiAxMzcgMTM4IDEzOSIKLSAgICAgICAgICAg ICAgIjE0MCAxNDEgMTQyIDE0MyAxNDQgMTQ1IDE0NiAxNDcgMTQ4IDE0OSIKLSAgICAgICAgICAg ICAgIjE1MCAxNTEgMTUyIDE1MyAxNTQgMTU1IDE1NiAxNTcgMTU4IDE1OSIKLSAgICAgICAgICAg ICAgIjE2MCAxNjEgMTYyIDE2MyAxNjQgMTY1IDE2NiAxNjcgMTY4IDE2OSIKLSAgICAgICAgICAg ICAgIjE3MCAxNzEgMTcyIDE3MyAxNzQgMTc1IDE3NiAxNzcgMTc4IDE3OSIKLSAgICAgICAgICAg ICAgIjE4MCAxODEgMTgyIDE4MyAxODQgMTg1IDE4NiAxODcgMTg4IDE4OSIKLSAgICAgICAgICAg ICAgIjE5MCAxOTEgMTkyIDE5MyAxOTQgMTk1IDE5NiAxOTcgMTk4IDE5OSIKLSAgICAgICAgICAg ICAgIjIwMCAyMDEgMjAyIDIwMyAyMDQgMjA1IDIwNiAyMDcgMjA4IDIwOSIKLSAgICAgICAgICAg ICAgIjIxMCAyMTEgMjEyIDIxMyAyMTQgMjE1IDIxNiAyMTcgMjE4IDIxOSIKLSAgICAgICAgICAg ICAgIjIyMCAyMjEgMjIyIDIyMyAyMjQgMjI1IDIyNiAyMjcgMjI4IDIyOSIKLSAgICAgICAgICAg ICAgIjIzMCAyMzEgMjMyIDIzMyAyMzQgMjM1IDIzNiAyMzcgMjM4IDIzOSIKLSAgICAgICAgICAg ICAgIjI0MCAyNDEgMjQyIDI0MyAyNDQgMjQ1IDI0NiAyNDcgMjQ4IDI0OSIKLSAgICAgICAgICAg ICAgIjI1MCAyNTEgMjUyIDI1MyAyNTQgMjU1IDI1NiAyNTcgMjU4IDI1OSIKLSAgICAgICAgICAg ICAgIjI2MCAyNjEgMjYyIDI2MyAyNjQgMjY1IDI2NiAyNjcgMjY4IDI2OSIKLSAgICAgICAgICAg ICAgIjI3MCAyNzEgMjcyIDI3MyAyNzQgMjc1IDI3NiAyNzcgMjc4IDI3OSIKLSAgICAgICAgICAg ICAgIjI4MCAyODEgMjgyIDI4MyAyODQgMjg1IDI4NiAyODcgMjg4IDI4OSIKLSAgICAgICAgICAg ICAgIjI5MCAyOTEgMjkyIDI5MyAyOTQgMjk1IDI5NiAyOTcgMjk4IDI5OSIKLSAgICAgICAgICAg ICAgIjMwMCAzMDEgMzAyIDMwMyAzMDQgMzA1IDMwNiAzMDcgMzA4IDMwOSIKLSAgICAgICAgICAg ICAgIjMxMCAzMTEgMzEyIDMxMyAzMTQgMzE1IDMxNiAzMTcgMzE4IDMxOSIKLSAgICAgICAgICAg ICAgIjMyMCAzMjEgMzIyIDMyMyAzMjQgMzI1IDMyNiAzMjcgMzI4IDMyOSIKLSAgICAgICAgICAg ICAgIjMzMCAzMzEgMzMyIDMzMyAzMzQgMzM1IDMzNiAzMzcgMzM4IDMzOSIKLSAgICAgICAgICAg ICAgIjM0MCAzNDEgMzQyIDM0MyAzNDQgMzQ1IDM0NiAzNDcgMzQ4IDM0OSIKLSAgICAgICAgICAg ICAgIjM1MCAzNTEgMzUyIDM1MyAzNTQgMzU1IDM1NiAzNTcgMzU4IDM1OSIKLSAgICAgICAgICAg ICAgIjM2MCAzNjEgMzYyIDM2MyAzNjQgMzY1IDM2NiAzNjcgMzY4IDM2OSIKLSAgICAgICAgICAg ICAgIjM3MCAzNzEgMzcyIDM3MyAzNzQgMzc1IDM3NiAzNzcgMzc4IDM3OSIKLSAgICAgICAgICAg ICAgIjM4MCAzODEgMzgyIDM4MyAzODQgMzg1IDM4NiAzODcgMzg4IDM4OSIKLSAgICAgICAgICAg ICAgIjM5MCAzOTEgMzkyIDM5MyAzOTQgMzk1IDM5NiAzOTcgMzk4IDM5OSIKLSAgICAgICAgICAg ICAgIjQwMCA0MDEgNDAyIDQwMyA0MDQgNDA1IDQwNiA0MDcgNDA4IDQwOSIKLSAgICAgICAgICAg ICAgIjQxMCA0MTEgNDEyIDQxMyA0MTQgNDE1IDQxNiA0MTcgNDE4IDQxOSIKLSAgICAgICAgICAg ICAgIjQyMCA0MjEgNDIyIDQyMyA0MjQgNDI1IDQyNiA0MjcgNDI4IDQyOSIKLSAgICAgICAgICAg ICAgIjQzMCA0MzEgNDMyIDQzMyA0MzQgNDM1IDQzNiA0MzcgNDM4IDQzOSIKLSAgICAgICAgICAg ICAgIjQ0MCA0NDEgNDQyIDQ0MyA0NDQgNDQ1IDQ0NiA0NDcgNDQ4IDQ0OSIKLSAgICAgICAgICAg ICAgIjQ1MCA0NTEgNDUyIDQ1MyA0NTQgNDU1IDQ1NiA0NTcgNDU4IDQ1OSIKLSAgICAgICAgICAg ICAgIjQ2MCA0NjEgNDYyIDQ2MyA0NjQgNDY1IDQ2NiA0NjcgNDY4IDQ2OSIKLSAgICAgICAgICAg ICAgIjQ3MCA0NzEgNDcyIDQ3MyA0NzQgNDc1IDQ3NiA0NzcgNDc4IDQ3OSIKLSAgICAgICAgICAg ICAgIjQ4MCA0ODEgNDgyIDQ4MyA0ODQgNDg1IDQ4NiA0ODcgNDg4IDQ4OSIKLSAgICAgICAgICAg ICAgIjQ5MCA0OTEgNDkyIDQ5MyA0OTQgNDk1IDQ5NiA0OTcgNDk4IDQ5OSIKLSAgICAgICAgICAg ICAgIjUwMCA1MDEgNTAyIDUwMyA1MDQgNTA1IDUwNiA1MDcgNTA4IDUwOSIKLSAgICAgICAgICAg ICAgIjUxMCA1MTEgNTEyIDUxMyA1MTQgNTE1IDUxNiA1MTcgNTE4IDUxOSIKLSAgICAgICAgICAg ICAgIjUyMCA1MjEgNTIyIDUyMyA1MjQgNTI1IDUyNiA1MjcgNTI4IDUyOSIKLSAgICAgICAgICAg ICAgIjUzMCA1MzEgNTMyIDUzMyA1MzQgNTM1IDUzNiA1MzcgNTM4IDUzOSIKLSAgICAgICAgICAg ICAgIjU0MCA1NDEgNTQyIDU0MyA1NDQgNTQ1IDU0NiA1NDcgNTQ4IDU0OSIKLSAgICAgICAgICAg ICAgIjU1MCA1NTEgNTUyIDU1MyA1NTQgNTU1IDU1NiA1NTcgNTU4IDU1OSIKLSAgICAgICAgICAg ICAgIjU2MCA1NjEgNTYyIDU2MyA1NjQgNTY1IDU2NiA1NjcgNTY4IDU2OSIKLSAgICAgICAgICAg ICAgIjU3MCA1NzEgNTcyIDU3MyA1NzQgNTc1IDU3NiA1NzcgNTc4IDU3OSIKLSAgICAgICAgICAg ICAgIjU4MCA1ODEgNTgyIDU4MyA1ODQgNTg1IDU4NiA1ODcgNTg4IDU4OSIKLSAgICAgICAgICAg ICAgIjU5MCA1OTEgNTkyIDU5MyA1OTQgNTk1IDU5NiA1OTcgNTk4IDU5OSIKLSAgICAgICAgICAg ICAgIjYwMCA2MDEgNjAyIDYwMyA2MDQgNjA1IDYwNiA2MDcgNjA4IDYwOSIKLSAgICAgICAgICAg ICAgIjYxMCA2MTEgNjEyIDYxMyA2MTQgNjE1IDYxNiA2MTcgNjE4IDYxOSIKLSAgICAgICAgICAg ICAgIjYyMCA2MjEgNjIyIDYyMyA2MjQgNjI1IDYyNiA2MjcgNjI4IDYyOSIKLSAgICAgICAgICAg ICAgIjYzMCA2MzEgNjMyIDYzMyA2MzQgNjM1IDYzNiA2MzcgNjM4IDYzOSIKLSAgICAgICAgICAg ICAgIjY0MCA2NDEgNjQyIDY0MyA2NDQgNjQ1IDY0NiA2NDcgNjQ4IDY0OSIKLSAgICAgICAgICAg ICAgIjY1MCA2NTEgNjUyIDY1MyA2NTQgNjU1IDY1NiA2NTcgNjU4IDY1OSIKLSAgICAgICAgICAg ICAgIjY2MCA2NjEgNjYyIDY2MyA2NjQgNjY1IDY2NiA2NjcgNjY4IDY2OSIKLSAgICAgICAgICAg ICAgIjY3MCA2NzEgNjcyIDY3MyA2NzQgNjc1IDY3NiA2NzcgNjc4IDY3OSIKLSAgICAgICAgICAg ICAgIjY4MCA2ODEgNjgyIDY4MyA2ODQgNjg1IDY4NiA2ODcgNjg4IDY4OSIKLSAgICAgICAgICAg ICAgIjY5MCA2OTEgNjkyIDY5MyA2OTQgNjk1IDY5NiA2OTcgNjk4IDY5OSIKLSAgICAgICAgICAg ICAgIjcwMCA3MDEgNzAyIDcwMyA3MDQgNzA1IDcwNiA3MDcgNzA4IDcwOSIKLSAgICAgICAgICAg ICAgIjcxMCA3MTEgNzEyIDcxMyA3MTQgNzE1IDcxNiA3MTcgNzE4IDcxOSIKLSAgICAgICAgICAg ICAgIjcyMCA3MjEgNzIyIDcyMyA3MjQgNzI1IDcyNiA3MjcgNzI4IDcyOSIKLSAgICAgICAgICAg ICAgIjczMCA3MzEgNzMyIDczMyA3MzQgNzM1IDczNiA3MzcgNzM4IDczOSIKLSAgICAgICAgICAg ICAgIjc0MCA3NDEgNzQyIDc0MyA3NDQgNzQ1IDc0NiA3NDcgNzQ4IDc0OSIKLSAgICAgICAgICAg ICAgIjc1MCA3NTEgNzUyIDc1MyA3NTQgNzU1IDc1NiA3NTcgNzU4IDc1OSIKLSAgICAgICAgICAg ICAgIjc2MCA3NjEgNzYyIDc2MyA3NjQgNzY1IDc2NiA3NjcgNzY4IDc2OSIKLSAgICAgICAgICAg ICAgIjc3MCA3NzEgNzcyIDc3MyA3NzQgNzc1IDc3NiA3NzcgNzc4IDc3OSIKLSAgICAgICAgICAg ICAgIjc4MCA3ODEgNzgyIDc4MyA3ODQgNzg1IDc4NiA3ODcgNzg4IDc4OSIKLSAgICAgICAgICAg ICAgIjc5MCA3OTEgNzkyIDc5MyA3OTQgNzk1IDc5NiA3OTcgNzk4IDc5OSIKLSAgICAgICAgICAg ICAgIjgwMCA4MDEgODAyIDgwMyA4MDQgODA1IDgwNiA4MDcgODA4IDgwOSIKLSAgICAgICAgICAg ICAgIjgxMCA4MTEgODEyIDgxMyA4MTQgODE1IDgxNiA4MTcgODE4IDgxOSIKLSAgICAgICAgICAg ICAgIjgyMCA4MjEgODIyIDgyMyA4MjQgODI1IDgyNiA4MjcgODI4IDgyOSIKLSAgICAgICAgICAg ICAgIjgzMCA4MzEgODMyIDgzMyA4MzQgODM1IDgzNiA4MzcgODM4IDgzOSIKLSAgICAgICAgICAg ICAgIjg0MCA4NDEgODQyIDg0MyA4NDQgODQ1IDg0NiA4NDcgODQ4IDg0OSIKLSAgICAgICAgICAg ICAgIjg1MCA4NTEgODUyIDg1MyA4NTQgODU1IDg1NiA4NTcgODU4IDg1OSIKLSAgICAgICAgICAg ICAgIjg2MCA4NjEgODYyIDg2MyA4NjQgODY1IDg2NiA4NjcgODY4IDg2OSIKLSAgICAgICAgICAg ICAgIjg3MCA4NzEgODcyIDg3MyA4NzQgODc1IDg3NiA4NzcgODc4IDg3OSIKLSAgICAgICAgICAg ICAgIjg4MCA4ODEgODgyIDg4MyA4ODQgODg1IDg4NiA4ODcgODg4IDg4OSIKLSAgICAgICAgICAg ICAgIjg5MCA4OTEgODkyIDg5MyA4OTQgODk1IDg5NiA4OTcgODk4IDg5OSIKLSAgICAgICAgICAg ICAgIjkwMCA5MDEgOTAyIDkwMyA5MDQgOTA1IDkwNiA5MDcgOTA4IDkwOSIKLSAgICAgICAgICAg ICAgIjkxMCA5MTEgOTEyIDkxMyA5MTQgOTE1IDkxNiA5MTcgOTE4IDkxOSIKLSAgICAgICAgICAg ICAgIjkyMCA5MjEgOTIyIDkyMyA5MjQgOTI1IDkyNiA5MjcgOTI4IDkyOSIKLSAgICAgICAgICAg ICAgIjkzMCA5MzEgOTMyIDkzMyA5MzQgOTM1IDkzNiA5MzcgOTM4IDkzOSIKLSAgICAgICAgICAg ICAgIjk0MCA5NDEgOTQyIDk0MyA5NDQgOTQ1IDk0NiA5NDcgOTQ4IDk0OSIKLSAgICAgICAgICAg ICAgIjk1MCA5NTEgOTUyIDk1MyA5NTQgOTU1IDk1NiA5NTcgOTU4IDk1OSIKLSAgICAgICAgICAg ICAgIjk2MCA5NjEgOTYyIDk2MyA5NjQgOTY1IDk2NiA5NjcgOTY4IDk2OSIKLSAgICAgICAgICAg ICAgIjk3MCA5NzEgOTcyIDk3MyA5NzQgOTc1IDk3NiA5NzcgOTc4IDk3OSIKLSAgICAgICAgICAg ICAgIjk4MCA5ODEgOTgyIDk4MyA5ODQgOTg1IDk4NiA5ODcgOTg4IDk4OSIKLSAgICAgICAgICAg ICAgIjk5MCA5OTEgOTkyIDk5MyA5OTQgOTk1IDk5NiA5OTcgOTk4IDk5OSIKK1F1ZXJ5CVNFVCBH TE9CQUwgZ2VuZXJhbF9sb2c9J09OJworUXVlcnkJU0VUIChAbHBhcmFtOj0nMDAwIDAwMSAwMDIg MDAzIDAwNCAwMDUgMDA2IDAwNyAwMDggMDA5MDEwIDAxMSAwMTIgMDEzIDAxNCAwMTUgMDE2IDAx NyAwMTggMDE5MDIwIDAyMSAwMjIgMDIzIDAyNCAwMjUgMDI2IDAyNyAwMjggMDI5MDMwIDAzMSAw MzIgMDMzIDAzNCAwMzUgMDM2IDAzNyAwMzggMDM5MDQwIDA0MSAwNDIgMDQzIDA0NCAwNDUgMDQ2 IDA0NyAwNDggMDQ5MDUwIDA1MSAwNTIgMDUzIDA1NCAwNTUgMDU2IDA1NyAwNTggMDU5MDYwIDA2 MSAwNjIgMDYzIDA2NCAwNjUgMDY2IDA2NyAwNjggMDY5MDcwIDA3MSAwNzIgMDczIDA3NCAwNzUg MDc2IDA3NyAwNzggMDc5MDgwIDA4MSAwODIgMDgzIDA4NCAwODUgMDg2IDA4NyAwODggMDg5MDkw IDA5MSAwOTIgMDkzIDA5NCAwOTUgMDk2IDA5NyAwOTggMDk5MTAwIDEwMSAxMDIgMTAzIDEwNCAx MDUgMTA2IDEwNyAxMDggMTA5MTEwIDExMSAxMTIgMTEzIDExNCAxMTUgMTE2IDExNyAxMTggMTE5 MTIwIDEyMSAxMjIgMTIzIDEyNCAxMjUgMTI2IDEyNyAxMjggMTI5MTMwIDEzMSAxMzIgMTMzIDEz NCAxMzUgMTM2IDEzNyAxMzggMTM5MTQwIDE0MSAxNDIgMTQzIDE0NCAxNDUgMTQ2IDE0NyAxNDgg MTQ5MTUwIDE1MSAxNTIgMTUzIDE1NCAxNTUgMTU2IDE1NyAxNTggMTU5MTYwIDE2MSAxNjIgMTYz IDE2NCAxNjUgMTY2IDE2NyAxNjggMTY5MTcwIDE3MSAxNzIgMTczIDE3NCAxNzUgMTc2IDE3NyAx NzggMTc5MTgwIDE4MSAxODIgMTgzIDE4NCAxODUgMTg2IDE4NyAxODggMTg5MTkwIDE5MSAxOTIg MTkzIDE5NCAxOTUgMTk2IDE5NyAxOTggMTk5MjAwIDIwMSAyMDIgMjAzIDIwNCAyMDUgMjA2IDIw NyAyMDggMjA5MjEwIDIxMSAyMTIgMjEzIDIxNCAyMTUgMjE2IDIxNyAyMTggMjE5MjIwIDIyMSAy MjIgMjIzIDIyNCAyMjUgMjI2IDIyNyAyMjggMjI5MjMwIDIzMSAyMzIgMjMzIDIzNCAyMzUgMjM2 IDIzNyAyMzggMjM5MjQwIDI0MSAyNDIgMjQzIDI0NCAyNDUgMjQ2IDI0NyAyNDggMjQ5MjUwIDI1 MSAyNTIgMjUzIDI1NCAyNTUgMjU2IDI1NyAyNTggMjU5MjYwIDI2MSAyNjIgMjYzIDI2NCAyNjUg MjY2IDI2NyAyNjggMjY5MjcwIDI3MSAyNzIgMjczIDI3NCAyNzUgMjc2IDI3NyAyNzggMjc5Mjgw IDI4MSAyODIgMjgzIDI4NCAyODUgMjg2IDI4NyAyODggMjg5MjkwIDI5MSAyOTIgMjkzIDI5NCAy OTUgMjk2IDI5NyAyOTggMjk5MzAwIDMwMSAzMDIgMzAzIDMwNCAzMDUgMzA2IDMwNyAzMDggMzA5 MzEwIDMxMSAzMTIgMzEzIDMxNCAzMTUgMzE2IDMxNyAzMTggMzE5MzIwIDMyMSAzMjIgMzIzIDMy NCAzMjUgMzI2IDMyNyAzMjggMzI5MzMwIDMzMSAzMzIgMzMzIDMzNCAzMzUgMzM2IDMzNyAzMzgg MzM5MzQwIDM0MSAzNDIgMzQzIDM0NCAzNDUgMzQ2IDM0NyAzNDggMzQ5MzUwIDM1MSAzNTIgMzUz IDM1NCAzNTUgMzU2IDM1NyAzNTggMzU5MzYwIDM2MSAzNjIgMzYzIDM2NCAzNjUgMzY2IDM2NyAz NjggMzY5MzcwIDM3MSAzNzIgMzczIDM3NCAzNzUgMzc2IDM3NyAzNzggMzc5MzgwIDM4MSAzODIg MzgzIDM4NCAzODUgMzg2IDM4NyAzODggMzg5MzkwIDM5MSAzOTIgMzkzIDM5NCAzOTUgMzk2IDM5 NyAzOTggMzk5NDAwIDQwMSA0MDIgNDAzIDQwNCA0MDUgNDA2IDQwNyA0MDggNDA5NDEwIDQxMSA0 MTIgNDEzIDQxNCA0MTUgNDE2IDQxNyA0MTggNDE5NDIwIDQyMSA0MjIgNDIzIDQyNCA0MjUgNDI2 IDQyNyA0MjggNDI5NDMwIDQzMSA0MzIgNDMzIDQzNCA0MzUgNDM2IDQzNyA0MzggNDM5NDQwIDQ0 MSA0NDIgNDQzIDQ0NCA0NDUgNDQ2IDQ0NyA0NDggNDQ5NDUwIDQ1MSA0NTIgNDUzIDQ1NCA0NTUg NDU2IDQ1NyA0NTggNDU5NDYwIDQ2MSA0NjIgNDYzIDQ2NCA0NjUgNDY2IDQ2NyA0NjggNDY5NDcw IDQ3MSA0NzIgNDczIDQ3NCA0NzUgNDc2IDQ3NyA0NzggNDc5NDgwIDQ4MSA0ODIgNDgzIDQ4NCA0 ODUgNDg2IDQ4NyA0ODggNDg5NDkwIDQ5MSA0OTIgNDkzIDQ5NCA0OTUgNDk2IDQ5NyA0OTggNDk5 NTAwIDUwMSA1MDIgNTAzIDUwNCA1MDUgNTA2IDUwNyA1MDggNTA5NTEwIDUxMSA1MTIgNTEzIDUx NCA1MTUgNTE2IDUxNyA1MTggNTE5NTIwIDUyMSA1MjIgNTIzIDUyNCA1MjUgNTI2IDUyNyA1Mjgg NTI5NTMwIDUzMSA1MzIgNTMzIDUzNCA1MzUgNTM2IDUzNyA1MzggNTM5NTQwIDU0MSA1NDIgNTQz IDU0NCA1NDUgNTQ2IDU0NyA1NDggNTQ5NTUwIDU1MSA1NTIgNTUzIDU1NCA1NTUgNTU2IDU1NyA1 NTggNTU5NTYwIDU2MSA1NjIgNTYzIDU2NCA1NjUgNTY2IDU2NyA1NjggNTY5NTcwIDU3MSA1NzIg NTczIDU3NCA1NzUgNTc2IDU3NyA1NzggNTc5NTgwIDU4MSA1ODIgNTgzIDU4NCA1ODUgNTg2IDU4 NyA1ODggNTg5NTkwIDU5MSA1OTIgNTkzIDU5NCA1OTUgNTk2IDU5NyA1OTggNTk5NjAwIDYwMSA2 MDIgNjAzIDYwNCA2MDUgNjA2IDYwNyA2MDggNjA5NjEwIDYxMSA2MTIgNjEzIDYxNCA2MTUgNjE2 IDYxNyA2MTggNjE5NjIwIDYyMSA2MjIgNjIzIDYyNCA2MjUgNjI2IDYyNyA2MjggNjI5NjMwIDYz MSA2MzIgNjMzIDYzNCA2MzUgNjM2IDYzNyA2MzggNjM5NjQwIDY0MSA2NDIgNjQzIDY0NCA2NDUg NjQ2IDY0NyA2NDggNjQ5NjUwIDY1MSA2NTIgNjUzIDY1NCA2NTUgNjU2IDY1NyA2NTggNjU5NjYw IDY2MSA2NjIgNjYzIDY2NCA2NjUgNjY2IDY2NyA2NjggNjY5NjcwIDY3MSA2NzIgNjczIDY3NCA2 NzUgNjc2IDY3NyA2NzggNjc5NjgwIDY4MSA2ODIgNjgzIDY4NCA2ODUgNjg2IDY4NyA2ODggNjg5 NjkwIDY5MSA2OTIgNjkzIDY5NCA2OTUgNjk2IDY5NyA2OTggNjk5NzAwIDcwMSA3MDIgNzAzIDcw NCA3MDUgNzA2IDcwNyA3MDggNzA5NzEwIDcxMSA3MTIgNzEzIDcxNCA3MTUgNzE2IDcxNyA3MTgg NzE5NzIwIDcyMSA3MjIgNzIzIDcyNCA3MjUgNzI2IDcyNyA3MjggNzI5NzMwIDczMSA3MzIgNzMz IDczNCA3MzUgNzM2IDczNyA3MzggNzM5NzQwIDc0MSA3NDIgNzQzIDc0NCA3NDUgNzQ2IDc0NyA3 NDggNzQ5NzUwIDc1MSA3NTIgNzUzIDc1NCA3NTUgNzU2IDc1NyA3NTggNzU5NzYwIDc2MSA3NjIg NzYzIDc2NCA3NjUgNzY2IDc2NyA3NjggNzY5NzcwIDc3MSA3NzIgNzczIDc3NCA3NzUgNzc2IDc3 NyA3NzggNzc5NzgwIDc4MSA3ODIgNzgzIDc4NCA3ODUgNzg2IDc4NyA3ODggNzg5NzkwIDc5MSA3 OTIgNzkzIDc5NCA3OTUgNzk2IDc5NyA3OTggNzk5ODAwIDgwMSA4MDIgODAzIDgwNCA4MDUgODA2 IDgwNyA4MDggODA5ODEwIDgxMSA4MTIgODEzIDgxNCA4MTUgODE2IDgxNyA4MTggODE5ODIwIDgy MSA4MjIgODIzIDgyNCA4MjUgODI2IDgyNyA4MjggODI5ODMwIDgzMSA4MzIgODMzIDgzNCA4MzUg ODM2IDgzNyA4MzggODM5ODQwIDg0MSA4NDIgODQzIDg0NCA4NDUgODQ2IDg0NyA4NDggODQ5ODUw IDg1MSA4NTIgODUzIDg1NCA4NTUgODU2IDg1NyA4NTggODU5ODYwIDg2MSA4NjIgODYzIDg2NCA4 NjUgODY2IDg2NyA4NjggODY5ODcwIDg3MSA4NzIgODczIDg3NCA4NzUgODc2IDg3NyA4NzggODc5 ODgwIDg4MSA4ODIgODgzIDg4NCA4ODUgODg2IDg4NyA4ODggODg5ODkwIDg5MSA4OTIgODkzIDg5 NCA4OTUgODk2IDg5NyA4OTggODk5OTAwIDkwMSA5MDIgOTAzIDkwNCA5MDUgOTA2IDkwNyA5MDgg OTA5OTEwIDkxMSA5MTIgOTEzIDkxNCA5MTUgOTE2IDkxNyA5MTggOTE5OTIwIDkyMSA5MjIgOTIz IDkyNCA5MjUgOTI2IDkyNyA5MjggOTI5OTMwIDkzMSA5MzIgOTMzIDkzNCA5MzUgOTM2IDkzNyA5 MzggOTM5OTQwIDk0MSA5NDIgOTQzIDk0NCA5NDUgOTQ2IDk0NyA5NDggOTQ5OTUwIDk1MSA5NTIg OTUzIDk1NCA5NTUgOTU2IDk1NyA5NTggOTU5OTYwIDk2MSA5NjIgOTYzIDk2NCA5NjUgOTY2IDk2 NyA5NjggOTY5OTcwIDk3MSA5NzIgOTczIDk3NCA5NzUgOTc2IDk3NyA5NzggOTc5OTgwIDk4MSA5 ODIgOTgzIDk4NCA5ODUgOTg2IDk4NyA5ODggOTg5OTkwIDk5MSA5OTIgOTkzIDk5NCA5OTUgOTk2 IDk5NyA5OTggOTk5JykKIFF1ZXJ5CXByZXBhcmUgbG9uZ19xdWVyeSBmcm9tICJzZWxlY3QgPyBh cyBsb25nX3F1ZXJ5IgogUHJlcGFyZQlzZWxlY3QgPyBhcyBsb25nX3F1ZXJ5CiBRdWVyeQlleGVj dXRlIGxvbmdfcXVlcnkgdXNpbmcgQGxwYXJhbQogRXhlY3V0ZQlzZWxlY3QgJzAwMCAwMDEgMDAy IDAwMyAwMDQgMDA1IDAwNiAwMDcgMDA4IDAwOTAxMCAwMTEgMDEyIDAxMyAwMTQgMDE1IDAxNiAw MTcgMDE4IDAxOTAyMCAwMjEgMDIyIDAyMyAwMjQgMDI1IDAyNiAwMjcgMDI4IDAyOTAzMCAwMzEg MDMyIDAzMyAwMzQgMDM1IDAzNiAwMzcgMDM4IDAzOTA0MCAwNDEgMDQyIDA0MyAwNDQgMDQ1IDA0 NiAwNDcgMDQ4IDA0OTA1MCAwNTEgMDUyIDA1MyAwNTQgMDU1IDA1NiAwNTcgMDU4IDA1OTA2MCAw NjEgMDYyIDA2MyAwNjQgMDY1IDA2NiAwNjcgMDY4IDA2OTA3MCAwNzEgMDcyIDA3MyAwNzQgMDc1 IDA3NiAwNzcgMDc4IDA3OTA4MCAwODEgMDgyIDA4MyAwODQgMDg1IDA4NiAwODcgMDg4IDA4OTA5 MCAwOTEgMDkyIDA5MyAwOTQgMDk1IDA5NiAwOTcgMDk4IDA5OTEwMCAxMDEgMTAyIDEwMyAxMDQg MTA1IDEwNiAxMDcgMTA4IDEwOTExMCAxMTEgMTEyIDExMyAxMTQgMTE1IDExNiAxMTcgMTE4IDEx OTEyMCAxMjEgMTIyIDEyMyAxMjQgMTI1IDEyNiAxMjcgMTI4IDEyOTEzMCAxMzEgMTMyIDEzMyAx MzQgMTM1IDEzNiAxMzcgMTM4IDEzOTE0MCAxNDEgMTQyIDE0MyAxNDQgMTQ1IDE0NiAxNDcgMTQ4 IDE0OTE1MCAxNTEgMTUyIDE1MyAxNTQgMTU1IDE1NiAxNTcgMTU4IDE1OTE2MCAxNjEgMTYyIDE2 MyAxNjQgMTY1IDE2NiAxNjcgMTY4IDE2OTE3MCAxNzEgMTcyIDE3MyAxNzQgMTc1IDE3NiAxNzcg MTc4IDE3OTE4MCAxODEgMTgyIDE4MyAxODQgMTg1IDE4NiAxODcgMTg4IDE4OTE5MCAxOTEgMTky IDE5MyAxOTQgMTk1IDE5NiAxOTcgMTk4IDE5OTIwMCAyMDEgMjAyIDIwMyAyMDQgMjA1IDIwNiAy MDcgMjA4IDIwOTIxMCAyMTEgMjEyIDIxMyAyMTQgMjE1IDIxNiAyMTcgMjE4IDIxOTIyMCAyMjEg MjIyIDIyMyAyMjQgMjI1IDIyNiAyMjcgMjI4IDIyOTIzMCAyMzEgMjMyIDIzMyAyMzQgMjM1IDIz NiAyMzcgMjM4IDIzOTI0MCAyNDEgMjQyIDI0MyAyNDQgMjQ1IDI0NiAyNDcgMjQ4IDI0OTI1MCAy NTEgMjUyIDI1MyAyNTQgMjU1IDI1NiAyNTcgMjU4IDI1OTI2MCAyNjEgMjYyIDI2MyAyNjQgMjY1 IDI2NiAyNjcgMjY4IDI2OTI3MCAyNzEgMjcyIDI3MyAyNzQgMjc1IDI3NiAyNzcgMjc4IDI3OTI4 MCAyODEgMjgyIDI4MyAyODQgMjg1IDI4NiAyODcgMjg4IDI4OTI5MCAyOTEgMjkyIDI5MyAyOTQg Mjk1IDI5NiAyOTcgMjk4IDI5OTMwMCAzMDEgMzAyIDMwMyAzMDQgMzA1IDMwNiAzMDcgMzA4IDMw OTMxMCAzMTEgMzEyIDMxMyAzMTQgMzE1IDMxNiAzMTcgMzE4IDMxOTMyMCAzMjEgMzIyIDMyMyAz MjQgMzI1IDMyNiAzMjcgMzI4IDMyOTMzMCAzMzEgMzMyIDMzMyAzMzQgMzM1IDMzNiAzMzcgMzM4 IDMzOTM0MCAzNDEgMzQyIDM0MyAzNDQgMzQ1IDM0NiAzNDcgMzQ4IDM0OTM1MCAzNTEgMzUyIDM1 MyAzNTQgMzU1IDM1NiAzNTcgMzU4IDM1OTM2MCAzNjEgMzYyIDM2MyAzNjQgMzY1IDM2NiAzNjcg MzY4IDM2OTM3MCAzNzEgMzcyIDM3MyAzNzQgMzc1IDM3NiAzNzcgMzc4IDM3OTM4MCAzODEgMzgy IDM4MyAzODQgMzg1IDM4NiAzODcgMzg4IDM4OTM5MCAzOTEgMzkyIDM5MyAzOTQgMzk1IDM5NiAz OTcgMzk4IDM5OTQwMCA0MDEgNDAyIDQwMyA0MDQgNDA1IDQwNiA0MDcgNDA4IDQwOTQxMCA0MTEg NDEyIDQxMyA0MTQgNDE1IDQxNiA0MTcgNDE4IDQxOTQyMCA0MjEgNDIyIDQyMyA0MjQgNDI1IDQy NiA0MjcgNDI4IDQyOTQzMCA0MzEgNDMyIDQzMyA0MzQgNDM1IDQzNiA0MzcgNDM4IDQzOTQ0MCA0 NDEgNDQyIDQ0MyA0NDQgNDQ1IDQ0NiA0NDcgNDQ4IDQ0OTQ1MCA0NTEgNDUyIDQ1MyA0NTQgNDU1 IDQ1NiA0NTcgNDU4IDQ1OTQ2MCA0NjEgNDYyIDQ2MyA0NjQgNDY1IDQ2NiA0NjcgNDY4IDQ2OTQ3 MCA0NzEgNDcyIDQ3MyA0NzQgNDc1IDQ3NiA0NzcgNDc4IDQ3OTQ4MCA0ODEgNDgyIDQ4MyA0ODQg NDg1IDQ4NiA0ODcgNDg4IDQ4OTQ5MCA0OTEgNDkyIDQ5MyA0OTQgNDk1IDQ5NiA0OTcgNDk4IDQ5 OTUwMCA1MDEgNTAyIDUwMyA1MDQgNTA1IDUwNiA1MDcgNTA4IDUwOTUxMCA1MTEgNTEyIDUxMyA1 MTQgNTE1IDUxNiA1MTcgNTE4IDUxOTUyMCA1MjEgNTIyIDUyMyA1MjQgNTI1IDUyNiA1MjcgNTI4 IDUyOTUzMCA1MzEgNTMyIDUzMyA1MzQgNTM1IDUzNiA1MzcgNTM4IDUzOTU0MCA1NDEgNTQyIDU0 MyA1NDQgNTQ1IDU0NiA1NDcgNTQ4IDU0OTU1MCA1NTEgNTUyIDU1MyA1NTQgNTU1IDU1NiA1NTcg NTU4IDU1OTU2MCA1NjEgNTYyIDU2MyA1NjQgNTY1IDU2NiA1NjcgNTY4IDU2OTU3MCA1NzEgNTcy IDU3MyA1NzQgNTc1IDU3NiA1NzcgNTc4IDU3OTU4MCA1ODEgNTgyIDU4MyA1ODQgNTg1IDU4NiA1 ODcgNTg4IDU4OTU5MCA1OTEgNTkyIDU5MyA1OTQgNTk1IDU5NiA1OTcgNTk4IDU5OTYwMCA2MDEg NjAyIDYwMyA2MDQgNjA1IDYwNiA2MDcgNjA4IDYwOTYxMCA2MTEgNjEyIDYxMyA2MTQgNjE1IDYx NiA2MTcgNjE4IDYxOTYyMCA2MjEgNjIyIDYyMyA2MjQgNjI1IDYyNiA2MjcgNjI4IDYyOTYzMCA2 MzEgNjMyIDYzMyA2MzQgNjM1IDYzNiA2MzcgNjM4IDYzOTY0MCA2NDEgNjQyIDY0MyA2NDQgNjQ1 IDY0NiA2NDcgNjQ4IDY0OTY1MCA2NTEgNjUyIDY1MyA2NTQgNjU1IDY1NiA2NTcgNjU4IDY1OTY2 MCA2NjEgNjYyIDY2MyA2NjQgNjY1IDY2NiA2NjcgNjY4IDY2OTY3MCA2NzEgNjcyIDY3MyA2NzQg Njc1IDY3NiA2NzcgNjc4IDY3OTY4MCA2ODEgNjgyIDY4MyA2ODQgNjg1IDY4NiA2ODcgNjg4IDY4 OTY5MCA2OTEgNjkyIDY5MyA2OTQgNjk1IDY5NiA2OTcgNjk4IDY5OTcwMCA3MDEgNzAyIDcwMyA3 MDQgNzA1IDcwNiA3MDcgNzA4IDcwOTcxMCA3MTEgNzEyIDcxMyA3MTQgNzE1IDcxNiA3MTcgNzE4 IDcxOTcyMCA3MjEgNzIyIDcyMyA3MjQgNzI1IDcyNiA3MjcgNzI4IDcyOTczMCA3MzEgNzMyIDcz MyA3MzQgNzM1IDczNiA3MzcgNzM4IDczOTc0MCA3NDEgNzQyIDc0MyA3NDQgNzQ1IDc0NiA3NDcg NzQ4IDc0OTc1MCA3NTEgNzUyIDc1MyA3NTQgNzU1IDc1NiA3NTcgNzU4IDc1OTc2MCA3NjEgNzYy IDc2MyA3NjQgNzY1IDc2NiA3NjcgNzY4IDc2OTc3MCA3NzEgNzcyIDc3MyA3NzQgNzc1IDc3NiA3 NzcgNzc4IDc3OTc4MCA3ODEgNzgyIDc4MyA3ODQgNzg1IDc4NiA3ODcgNzg4IDc4OTc5MCA3OTEg NzkyIDc5MyA3OTQgNzk1IDc5NiA3OTcgNzk4IDc5OTgwMCA4MDEgODAyIDgwMyA4MDQgODA1IDgw NiA4MDcgODA4IDgwOTgxMCA4MTEgODEyIDgxMyA4MTQgODE1IDgxNiA4MTcgODE4IDgxOTgyMCA4 MjEgODIyIDgyMyA4MjQgODI1IDgyNiA4MjcgODI4IDgyOTgzMCA4MzEgODMyIDgzMyA4MzQgODM1 IDgzNiA4MzcgODM4IDgzOTg0MCA4NDEgODQyIDg0MyA4NDQgODQ1IDg0NiA4NDcgODQ4IDg0OTg1 MCA4NTEgODUyIDg1MyA4NTQgODU1IDg1NiA4NTcgODU4IDg1OTg2MCA4NjEgODYyIDg2MyA4NjQg ODY1IDg2NiA4NjcgODY4IDg2OTg3MCA4NzEgODcyIDg3MyA4NzQgODc1IDg3NiA4NzcgODc4IDg3 OTg4MCA4ODEgODgyIDg4MyA4ODQgODg1IDg4NiA4ODcgODg4IDg4OTg5MCA4OTEgODkyIDg5MyA4 OTQgODk1IDg5NiA4OTcgODk4IDg5OTkwMCA5MDEgOTAyIDkwMyA5MDQgOTA1IDkwNiA5MDcgOTA4 IDkwOTkxMCA5MTEgOTEyIDkxMyA5MTQgOTE1IDkxNiA5MTcgOTE4IDkxOTkyMCA5MjEgOTIyIDky MyA5MjQgOTI1IDkyNiA5MjcgOTI4IDkyOTkzMCA5MzEgOTMyIDkzMyA5MzQgOTM1IDkzNiA5Mzcg OTM4IDkzOTk0MCA5NDEgOTQyIDk0MyA5NDQgOTQ1IDk0NiA5NDcgOTQ4IDk0OTk1MCA5NTEgOTUy IDk1MyA5NTQgOTU1IDk1NiA5NTcgOTU4IDk1OTk2MCA5NjEgOTYyIDk2MyA5NjQgOTY1IDk2NiA5 NjcgOTY4IDk2OTk3MCA5NzEgOTcyIDk3MyA5NzQgOTc1IDk3NiA5NzcgOTc4IDk3OTk4MCA5ODEg OTgyIDk4MyA5ODQgOTg1IDk4NiA5ODcgOTg4IDk4OTk5MCA5OTEgOTkyIDk5MyA5OTQgOTk1IDk5 NiA5OTcgOTk4IDk5OScgYXMgbG9uZ19xdWVyeQotUXVlcnkJc2V0IGdsb2JhbCBnZW5lcmFsX2xv ZyA9IG9mZgorUXVlcnkJU0VUIEdMT0JBTCBnZW5lcmFsX2xvZz0nb2ZmJwogZGVhbGxvY2F0ZSBw cmVwYXJlIGxvbmdfcXVlcnk7CiBzZXQgZ2xvYmFsIGdlbmVyYWxfbG9nID0gQG9sZF9nZW5lcmFs X2xvZzsKIERST1AgVEFCTEUgSUYgRVhJU1RTIGxvZ19jb3VudDsKCj09PSBtb2RpZmllZCBmaWxl ICdteXNxbC10ZXN0L3IvbXlzcWxkLS1oZWxwLW5vdHdpbi5yZXN1bHQnCi0tLSBhL215c3FsLXRl c3Qvci9teXNxbGQtLWhlbHAtbm90d2luLnJlc3VsdAkyMDExLTA4LTE4IDA4OjMxOjA4ICswMDAw CisrKyBiL215c3FsLXRlc3Qvci9teXNxbGQtLWhlbHAtbm90d2luLnJlc3VsdAkyMDExLTA4LTE4 IDE4OjA1OjQ1ICswMDAwCkBAIC0yNTgsNiArMjU4LDkgQEAgVGhlIGZvbGxvd2luZyBvcHRpb25z IG1heSBiZSBnaXZlbiBhcyB0aAogIC0tbG9nLXF1ZXJpZXMtbm90LXVzaW5nLWluZGV4ZXMgCiAg TG9nIHF1ZXJpZXMgdGhhdCBhcmUgZXhlY3V0ZWQgd2l0aG91dCBiZW5lZml0IG9mIGFueQogIGlu ZGV4IHRvIHRoZSBzbG93IGxvZyBpZiBpdCBpcyBvcGVuCisgLS1sb2ctcmF3ICAgICAgICAgICBM b2cgdG8gZ2VuZXJhbCBsb2cgYmVmb3JlIGFueSByZXdyaXRpbmcgb2YgdGhlIHF1ZXJ5LiBGb3IK KyB1c2UgaW4gZGVidWdnaW5nLCBub3QgcHJvZHVjdGlvbiBhcyBzZW5zaXRpdmUgaW5mb3JtYXRp b24KKyBtYXkgYmUgbG9nZ2VkLgogIC0tbG9nLXNob3J0LWZvcm1hdCAgRG9uJ3QgbG9nIGV4dHJh IGluZm9ybWF0aW9uIHRvIHVwZGF0ZSBhbmQgc2xvdy1xdWVyeQogIGxvZ3MuCiAgLS1sb2ctc2xh dmUtdXBkYXRlcyBUZWxscyB0aGUgc2xhdmUgdG8gbG9nIHRoZSB1cGRhdGVzIGZyb20gdGhlIHNs YXZlIHRocmVhZApAQCAtODc1LDYgKzg3OCw3IEBAIGxvZy1lcnJvciAKIGxvZy1pc2FtIG15aXNh bS5sb2cKIGxvZy1vdXRwdXQgRklMRQogbG9nLXF1ZXJpZXMtbm90LXVzaW5nLWluZGV4ZXMgRkFM U0UKK2xvZy1yYXcgRkFMU0UKIGxvZy1zaG9ydC1mb3JtYXQgRkFMU0UKIGxvZy1zbGF2ZS11cGRh dGVzIEZBTFNFCiBsb2ctc2xvdy1hZG1pbi1zdGF0ZW1lbnRzIEZBTFNFCgo9PT0gbW9kaWZpZWQg ZmlsZSAnbXlzcWwtdGVzdC9yL215c3FsZC0taGVscC13aW4ucmVzdWx0JwotLS0gYS9teXNxbC10 ZXN0L3IvbXlzcWxkLS1oZWxwLXdpbi5yZXN1bHQJMjAxMS0wOC0xOCAwODozMTowOCArMDAwMAor KysgYi9teXNxbC10ZXN0L3IvbXlzcWxkLS1oZWxwLXdpbi5yZXN1bHQJMjAxMS0wOC0xOCAxODow NTo0NSArMDAwMApAQCAtMjU3LDYgKzI1Nyw5IEBAIFRoZSBmb2xsb3dpbmcgb3B0aW9ucyBtYXkg YmUgZ2l2ZW4gYXMgdGgKICAtLWxvZy1xdWVyaWVzLW5vdC11c2luZy1pbmRleGVzIAogIExvZyBx dWVyaWVzIHRoYXQgYXJlIGV4ZWN1dGVkIHdpdGhvdXQgYmVuZWZpdCBvZiBhbnkKICBpbmRleCB0 byB0aGUgc2xvdyBsb2cgaWYgaXQgaXMgb3BlbgorIC0tbG9nLXJhdyAgICAgICAgICAgTG9nIHRv IGdlbmVyYWwgbG9nIGJlZm9yZSBhbnkgcmV3cml0aW5nIG9mIHRoZSBxdWVyeS4gRm9yCisgdXNl IGluIGRlYnVnZ2luZywgbm90IHByb2R1Y3Rpb24gYXMgc2Vuc2l0aXZlIGluZm9ybWF0aW9uCisg bWF5IGJlIGxvZ2dlZC4KICAtLWxvZy1zaG9ydC1mb3JtYXQgIERvbid0IGxvZyBleHRyYSBpbmZv cm1hdGlvbiB0byB1cGRhdGUgYW5kIHNsb3ctcXVlcnkKICBsb2dzLgogIC0tbG9nLXNsYXZlLXVw ZGF0ZXMgVGVsbHMgdGhlIHNsYXZlIHRvIGxvZyB0aGUgdXBkYXRlcyBmcm9tIHRoZSBzbGF2ZSB0 aHJlYWQKQEAgLTg3OCw2ICs4ODEsNyBAQCBsb2ctZXJyb3IgCiBsb2ctaXNhbSBteWlzYW0ubG9n CiBsb2ctb3V0cHV0IEZJTEUKIGxvZy1xdWVyaWVzLW5vdC11c2luZy1pbmRleGVzIEZBTFNFCits b2ctcmF3IEZBTFNFCiBsb2ctc2hvcnQtZm9ybWF0IEZBTFNFCiBsb2ctc2xhdmUtdXBkYXRlcyBG QUxTRQogbG9nLXNsb3ctYWRtaW4tc3RhdGVtZW50cyBGQUxTRQoKPT09IG1vZGlmaWVkIGZpbGUg J215c3FsLXRlc3Qvci9wbHVnaW5fYXV0aC5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvci9wbHVn aW5fYXV0aC5yZXN1bHQJMjAxMS0wNy0wNyAwOTo0NToxMCArMDAwMAorKysgYi9teXNxbC10ZXN0 L3IvcGx1Z2luX2F1dGgucmVzdWx0CTIwMTEtMDgtMTcgMTQ6MDc6MDcgKzAwMDAKQEAgLTQsNiAr NCwxMCBAQCBGUk9NIElORk9STUFUSU9OX1NDSEVNQS5QTFVHSU5TIFdIRVJFIFBMCiBQTFVHSU5f U1RBVFVTCUFDVElWRQogUExVR0lOX1RZUEUJQVVUSEVOVElDQVRJT04KIFBMVUdJTl9ERVNDUklQ VElPTglwbHVnaW4gQVBJIHRlc3QgcGx1Z2luCitTRVQgQG9sZF9sb2dfb3V0cHV0PSAgICAgICAg ICBAQGdsb2JhbC5sb2dfb3V0cHV0OworU0VUIEBvbGRfZ2VuZXJhbF9sb2c9ICAgICAgICAgQEBn bG9iYWwuZ2VuZXJhbF9sb2c7CitTRVQgR0xPQkFMIGxvZ19vdXRwdXQgPSAgICAgICAnVEFCTEUn OworU0VUIEdMT0JBTCBnZW5lcmFsX2xvZz0gICAgICAgJ09OJzsKIENSRUFURSBVU0VSIHBsdWcg SURFTlRJRklFRCBXSVRIICd0ZXN0X3BsdWdpbl9zZXJ2ZXInIEFTICdwbHVnX2Rlc3QnOwogQ1JF QVRFIFVTRVIgcGx1Z19kZXN0IElERU5USUZJRUQgQlkgJ3BsdWdfZGVzdF9wYXNzd2QnOwogU0VM RUNUIHBsdWdpbixhdXRoZW50aWNhdGlvbl9zdHJpbmcgRlJPTSBteXNxbC51c2VyIFdIRVJFIFVz ZXI9J3BsdWcnOwpAQCAtMjI3LDkgKzIzMSwyMyBAQCBTRUxFQ1QgQEBMT0NBTC5leHRlcm5hbF91 c2VyOwogQEBMT0NBTC5leHRlcm5hbF91c2VyCiAncGx1ZydAJyUnCiAjIGluIGNvbm5lY3Rpb24g ZGVmYXVsdAorV0wjNTcwNiAtLSBzaG93IHRoZSBhYm92ZSBnb3QgbG9nZ2VkL3Jld3JpdHRlbiBj b3JyZWN0bHkKK1NFTEVDVCBhcmd1bWVudCBGUk9NIG15c3FsLmdlbmVyYWxfbG9nIFdIRVJFIGFy Z3VtZW50IExJS0UgQ09OQ0FUKCclIElERU5USUZJRUQgJywnV0lUSCUnKTsKK2FyZ3VtZW50CitD UkVBVEUgVVNFUiAncGx1ZydAJyUnIElERU5USUZJRUQgV0lUSCAndGVzdF9wbHVnaW5fc2VydmVy JyBBUyAncGx1Z19kZXN0JworR1JBTlQgSU5TRVJUIE9OIGBURVNUYC4qIFRPICdncmFudF91c2Vy J0AnJScgSURFTlRJRklFRCBXSVRIICd0ZXN0X3BsdWdpbl9zZXJ2ZXInCitDUkVBVEUgVVNFUiAn w4XCuCdAJyUnIElERU5USUZJRUQgV0lUSCAndGVzdF9wbHVnaW5fc2VydmVyJyBBUyAncGx1Z19k ZXN0JworR1JBTlQgQUxMIFBSSVZJTEVHRVMgT04gYHRlc3RfZ3JhbnRfZGJgLiogVE8gJ25ld19n cmFudF91c2VyJ0AnJScgSURFTlRJRklFRCBXSVRIICd0ZXN0X3BsdWdpbl9zZXJ2ZXInIEFTICdw bHVnX2Rlc3QnCitHUkFOVCBBTEwgUFJJVklMRUdFUyBPTiBgdGVzdF9ncmFudF9kYmAuKiBUTyAn cGx1ZydAJyUnIElERU5USUZJRUQgV0lUSCAndGVzdF9wbHVnaW5fc2VydmVyJyBBUyAncGx1Z19k ZXN0JworR1JBTlQgQUxMIFBSSVZJTEVHRVMgT04gYHRlc3RfZ3JhbnRfZGJgLiogVE8gJ3BsdWdf ZGVzdCdAJyUnIElERU5USUZJRUQgV0lUSCAndGVzdF9wbHVnaW5fc2VydmVyJyBBUyAncGx1Z19k ZXN0JworQ1JFQVRFIFVTRVIgJ2dyYW50X3BsdWcnQCclJyBJREVOVElGSUVEIFdJVEggJ3Rlc3Rf cGx1Z2luX3NlcnZlcicgQVMgJ2dyYW50X3BsdWdfZGVzdCcKK0NSRUFURSBVU0VSICdwbHVnJ0An JScgSURFTlRJRklFRCBXSVRIICd0ZXN0X3BsdWdpbl9zZXJ2ZXInIEFTICdwbHVnX2Rlc3QnCitD UkVBVEUgVVNFUiAncGx1ZydAJyUnIElERU5USUZJRUQgV0lUSCAndGVzdF9wbHVnaW5fc2VydmVy JyBBUyAncGx1Z19kZXN0JwogIyMgY2xlYW51cAogRFJPUCBVU0VSIHBsdWc7CiBEUk9QIFVTRVIg cGx1Z19kZXN0OworU0VUIEdMT0JBTCBsb2dfb3V0cHV0PSAgQG9sZF9sb2dfb3V0cHV0OworU0VU IEdMT0JBTCBnZW5lcmFsX2xvZz0gQG9sZF9nZW5lcmFsX2xvZzsKICMjIEVORCBAQGV4dGVybmFs X3VzZXIgdGVzdHMKICMKICMgIEJ1ZyAjNTY3OTggOiBXcm9uZyBjcmVkZW50aWFscyBhc3NpZ25l ZCB3aGVuIHVzaW5nIGEgcHJveHkgdXNlci4KCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3Iv cmV3cml0ZV9nZW5lcmFsX2xvZy5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvci9yZXdyaXRlX2dl bmVyYWxfbG9nLnJlc3VsdAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215c3FsLXRl c3Qvci9yZXdyaXRlX2dlbmVyYWxfbG9nLnJlc3VsdAkyMDExLTA4LTE5IDAwOjQ1OjI4ICswMDAw CkBAIC0wLDAgKzEsNjIgQEAKK1RSVU5DQVRFIFRBQkxFIG15c3FsLmdlbmVyYWxfbG9nOworLS0t LS0tLS0tLS0tLS0tIGdlbmVyYWwgbG9nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorU0VUIEBvbGRfbG9nX291dHB1dD0gICAgICAgICAgQEBnbG9iYWwubG9nX291dHB1 dDsKK1NFVCBAb2xkX2dlbmVyYWxfbG9nPSAgICAgICAgIEBAZ2xvYmFsLmdlbmVyYWxfbG9nOwor U0VUIEBvbGRfZ2VuZXJhbF9sb2dfZmlsZT0gICAgQEBnbG9iYWwuZ2VuZXJhbF9sb2dfZmlsZTsK K1NFVCBHTE9CQUwgZ2VuZXJhbF9sb2dfZmlsZSA9ICcuLi4vbG9nL3Jld3JpdGVfZ2VuZXJhbC5s b2cnOworU0VUIEdMT0JBTCBsb2dfb3V0cHV0ID0gICAgICAgJ0ZJTEUsVEFCTEUnOworU0VUIEdM T0JBTCBnZW5lcmFsX2xvZz0gICAgICAgJ09OJzsKK3NldCBjaGFyYWN0ZXIgc2V0ICdoZWJyZXcn Oworc2V0IGNoYXJzZXQgZGVmYXVsdCxAZHVtbXk9J0EnOworc2V0IG5hbWVzICdsYXRpbjEnLEBk dW1teT0nQic7CitzZXQgbmFtZXMgJ2xhdGluMScgY29sbGF0ZSAnbGF0aW4xX2dlcm1hbjJfY2kn Oworc2V0IG5hbWVzIGRlZmF1bHQsQGR1bW15PSdjJzsKK0dSQU5UIEFMTCBvbiAqLiogVE8gdGVz dF91c2VyMSBJREVOVElGSUVEIEJZICdhenVuZHJpczEnOworQ1JFQVRFIFVTRVIgdGVzdF91c2Vy MiBJREVOVElGSUVEIEJZICdhenVuZHJpczInOworQ0hBTkdFIE1BU1RFUiBUTyBNQVNURVJfUEFT U1dPUkQ9J2F6dW5kcmlzMyc7CitDUkVBVEUgVVNFUiAndGVzdF91c2VyNCdAJ2xvY2FsaG9zdCc7 CitTRVQgUEFTU1dPUkQgRk9SICd0ZXN0X3VzZXI0J0AnbG9jYWxob3N0JyA9IFBBU1NXT1JEKCdh enVuZHJpczQnKTsKK1NFVCBHTE9CQUwgZ2VuZXJhbF9sb2c9ICAgICAgICdPRkYnOworRFJPUCBV U0VSICd0ZXN0X3VzZXI0J0AnbG9jYWxob3N0JzsKK0RST1AgVVNFUiB0ZXN0X3VzZXIyOworRFJP UCBVU0VSIHRlc3RfdXNlcjE7CitDUkVBVEUgVEFCTEUgdGVzdF9sb2cgKGFyZ3VtZW50IFRFWFQp OworTE9BRCBEQVRBIExPQ0FMIElORklMRSAnLi4uL2xvZy9yZXdyaXRlX2dlbmVyYWwubG9nJwor ICAgICBJTlRPIFRBQkxFIHRlc3RfbG9nIEZJRUxEUyBURVJNSU5BVEVEIEJZICdcbicgTElORVMg VEVSTUlOQVRFRCBCWSAnXG4nOworVGhpcyBsaW5lIHNob3VsZCBiZSBmb2xsb3dlZCBieSB0d28g U0VMRUNUcyB3aXRoIGVtcHR5IHJlc3VsdCBzZXRzCitTRUxFQ1QgYXJndW1lbnQgRlJPTSB0ZXN0 X2xvZyBXSEVSRSBhcmd1bWVudCBMSUtFIENPTkNBVCgnJWF6dW4nLCdkcmlzJScpOworYXJndW1l bnQKK1NFTEVDVCBhcmd1bWVudCBGUk9NIG15c3FsLmdlbmVyYWxfbG9nIFdIRVJFIGFyZ3VtZW50 IExJS0UgQ09OQ0FUKCclYXp1bicsJ2RyaXMlJyk7Cithcmd1bWVudAorU2hvdyB0aGF0IHdlIGxv Z2dlZCBzdHVmZiBhdCBhbGw6CistLS0tLS0gZnJvbSBmaWxlIC0tLS0tLQorU0VMRUNUIFRSSU0o TEVBRElORyAnXHQnIEZST00gTUlEKGFyZ3VtZW50LExPQ0FURSgnUXVlcnknLGFyZ3VtZW50KSs1 KSkgRlJPTSB0ZXN0X2xvZyBXSEVSRSBhcmd1bWVudCBMSUtFICclUEFTU1dPUkQgJSc7CitUUklN KExFQURJTkcgJ1x0JyBGUk9NIE1JRChhcmd1bWVudCxMT0NBVEUoJ1F1ZXJ5Jyxhcmd1bWVudCkr NSkpCitHUkFOVCBBTEwgUFJJVklMRUdFUyBPTiAqLiogVE8gJ3Rlc3RfdXNlcjEnQCclJyBJREVO VElGSUVEIEJZIFBBU1NXT1JEICcqOEQxNUU3NEJDODUwRDExNTczQTUyQkU4NEI1MDRERDBCQTQw QzFFMycKK0NSRUFURSBVU0VSICd0ZXN0X3VzZXIyJ0AnJScgSURFTlRJRklFRCBCWSBQQVNTV09S RCAnKkExNDI4NDREQkYwMjREMjgyRDg4RkUxOUNCNEQzRkExM0IxRTk2RTAnCitDSEFOR0UgTUFT VEVSIFRPIE1BU1RFUl9QQVNTV09SRCA9IDxzZWNyZXQ+CitTRVQgUEFTU1dPUkQgRk9SIGB0ZXN0 X3VzZXI0YEBgbG9jYWxob3N0YD08c2VjcmV0PgorLS0tLS0tIGZyb20gdGFibGUgLS0tLS0tCitT RUxFQ1QgYXJndW1lbnQgRlJPTSBteXNxbC5nZW5lcmFsX2xvZyBXSEVSRSBhcmd1bWVudCBMSUtF ICclUEFTU1dPUkQgJSc7Cithcmd1bWVudAorR1JBTlQgQUxMIFBSSVZJTEVHRVMgT04gKi4qIFRP ICd0ZXN0X3VzZXIxJ0AnJScgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKjhEMTVFNzRCQzg1MEQx MTU3M0E1MkJFODRCNTA0REQwQkE0MEMxRTMnCitDUkVBVEUgVVNFUiAndGVzdF91c2VyMidAJyUn IElERU5USUZJRUQgQlkgUEFTU1dPUkQgJypBMTQyODQ0REJGMDI0RDI4MkQ4OEZFMTlDQjREM0ZB MTNCMUU5NkUwJworQ0hBTkdFIE1BU1RFUiBUTyBNQVNURVJfUEFTU1dPUkQgPSA8c2VjcmV0Pgor U0VUIFBBU1NXT1JEIEZPUiBgdGVzdF91c2VyNGBAYGxvY2FsaG9zdGA9PHNlY3JldD4KKy0tLS0t LSBkb25lIC0tLS0tLQorLS0tLS0tIHJld3JpdGUgLS0tLS0tCitTRUxFQ1QgYXJndW1lbnQgRlJP TSBteXNxbC5nZW5lcmFsX2xvZyBXSEVSRSBhcmd1bWVudCBMSUtFICdTRVQgQ0hBUkFDVEVSIFNF VCAlJzsKK2FyZ3VtZW50CitTRVQgQ0hBUkFDVEVSIFNFVCAnaGVicmV3JworU0VUIENIQVJBQ1RF UiBTRVQgREVGQVVMVCwoQGR1bW15Oj0nQScpCitTRUxFQ1QgYXJndW1lbnQgRlJPTSBteXNxbC5n ZW5lcmFsX2xvZyBXSEVSRSBhcmd1bWVudCBMSUtFICdTRVQgTkFNRVMgJSc7Cithcmd1bWVudAor U0VUIE5BTUVTICdsYXRpbjEnLChAZHVtbXk6PSdCJykKK1NFVCBOQU1FUyAnbGF0aW4xJyBDT0xM QVRFICdsYXRpbjFfZ2VybWFuMl9jaScKK1NFVCBOQU1FUyBERUZBVUxULChAZHVtbXk6PSdjJykK Ky0tLS0tLSBkb25lIC0tLS0tLSBzZWUgbG9nX3RhYmxlcy50ZXN0IGZvciBtb3JlIHByb29mISA6 KQorRFJPUCBUQUJMRSB0ZXN0X2xvZzsKK1NFVCBHTE9CQUwgZ2VuZXJhbF9sb2dfZmlsZT0gIEBv bGRfZ2VuZXJhbF9sb2dfZmlsZTsKK1NFVCBHTE9CQUwgZ2VuZXJhbF9sb2c9ICAgICAgIEBvbGRf Z2VuZXJhbF9sb2c7CitTRVQgR0xPQkFMIGxvZ19vdXRwdXQ9ICAgICAgICBAb2xkX2xvZ19vdXRw dXQ7CitFbmQgb2YgNS42IHRlc3RzIQoKPT09IGFkZGVkIGZpbGUgJ215c3FsLXRlc3Qvci9yZXdy aXRlX3Nsb3dfbG9nLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL3Jld3JpdGVfc2xvd19sb2cu cmVzdWx0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL3Jld3Jp dGVfc2xvd19sb2cucmVzdWx0CTIwMTEtMDgtMTkgMDA6NDU6MjggKzAwMDAKQEAgLTAsMCArMSw2 MSBAQAorVFJVTkNBVEUgVEFCTEUgbXlzcWwuc2xvd19sb2c7CitTRVQgQG9sZF9sb2dfb3V0cHV0 PSAgICAgICAgICBAQGdsb2JhbC5sb2dfb3V0cHV0OworU0VUIEBvbGRfc2xvd19xdWVyeV9sb2c9 ICAgICAgQEBnbG9iYWwuc2xvd19xdWVyeV9sb2c7CitTRVQgQG9sZF9zbG93X3F1ZXJ5X2xvZ19m aWxlPSBAQGdsb2JhbC5zbG93X3F1ZXJ5X2xvZ19maWxlOworU0VUIEBvbGRfbG9uZ19xdWVyeV90 aW1lPSAgICAgQEBnbG9iYWwubG9uZ19xdWVyeV90aW1lOworU0VUIEdMT0JBTCBzbG93X3F1ZXJ5 X2xvZ19maWxlPSAnLi4uL2xvZy9yZXdyaXRlX3Nsb3cubG9nJzsKK1NFVCBHTE9CQUwgbG9nX291 dHB1dCA9ICAgICAgICdGSUxFLFRBQkxFJzsKK1NFVCBHTE9CQUwgc2xvd19xdWVyeV9sb2c9ICAg ICdPTic7CitTRVQgU0VTU0lPTiBsb25nX3F1ZXJ5X3RpbWU9ICAwOworR1JBTlQgQUxMIG9uICou KiBUTyB0ZXN0X3VzZXIxIElERU5USUZJRUQgQlkgJ2F6dW5kcmlzMSc7CitDUkVBVEUgVVNFUiB0 ZXN0X3VzZXIyIElERU5USUZJRUQgQlkgJ2F6dW5kcmlzMic7CitDSEFOR0UgTUFTVEVSIFRPIE1B U1RFUl9QQVNTV09SRD0nYXp1bmRyaXMzJzsKK0NIQU5HRSBNQVNURVIgVE8gTUFTVEVSX0NPTk5F Q1RfUkVUUlkgPSAxLCBNQVNURVJfSEVBUlRCRUFUX1BFUklPRCA9IDEuMDEsCitNQVNURVJfTE9H X0ZJTEUgPSAnbWFzdGVyX2xvZ19uYW1lJywgTUFTVEVSX0xPR19QT1MgPSAwLAorTUFTVEVSX1NT TCA9IDAsIE1BU1RFUl9TU0xfQ0EgPSAnY2FfZmlsZV9uYW1lJywKK01BU1RFUl9TU0xfQ0FQQVRI ID0gJ2NhX2RpcmVjdG9yeV9uYW1lJywKK01BU1RFUl9TU0xfQ0VSVCA9ICdjZXJ0X2ZpbGVfbmFt ZScsIE1BU1RFUl9TU0xfS0VZID0gJ2tleV9maWxlX25hbWUnLAorTUFTVEVSX1NTTF9DSVBIRVIg PSAnY2lwaGVyX2xpc3QnLCBNQVNURVJfU1NMX1ZFUklGWV9TRVJWRVJfQ0VSVCA9IDAsCitJR05P UkVfU0VSVkVSX0lEUyA9ICg5OSwxMDApOworQ0hBTkdFIE1BU1RFUiBUTyBNQVNURVJfQ09OTkVD VF9SRVRSWSA9IDEsIE1BU1RFUl9IRUFSVEJFQVRfUEVSSU9EID0gMS4wMSwKK01BU1RFUl9MT0df RklMRSA9ICcnLCBNQVNURVJfTE9HX1BPUyA9IDAsCitNQVNURVJfU1NMID0gMCwgTUFTVEVSX1NT TF9DQSA9ICcnLAorTUFTVEVSX1NTTF9DQVBBVEggPSAnJywKK01BU1RFUl9TU0xfQ0VSVCA9ICcn LCBNQVNURVJfU1NMX0tFWSA9ICcnLAorTUFTVEVSX1NTTF9DSVBIRVIgPSAnJywgTUFTVEVSX1NT TF9WRVJJRllfU0VSVkVSX0NFUlQgPSAwLAorSUdOT1JFX1NFUlZFUl9JRFMgPSAoICk7CitDUkVB VEUgVVNFUiAndGVzdF91c2VyNCdAJ2xvY2FsaG9zdCc7CitTRVQgUEFTU1dPUkQgRk9SICd0ZXN0 X3VzZXI0J0AnbG9jYWxob3N0JyA9IFBBU1NXT1JEKCdhenVuZHJpczQnKTsKK1NFVCBTRVNTSU9O IGxvbmdfcXVlcnlfdGltZT0gIEBvbGRfbG9uZ19xdWVyeV90aW1lOworU0VUIEdMT0JBTCBzbG93 X3F1ZXJ5X2xvZz0nT0ZGJzsKK0RST1AgVVNFUiAndGVzdF91c2VyNCdAJ2xvY2FsaG9zdCc7CitE Uk9QIFVTRVIgdGVzdF91c2VyMjsKK0RST1AgVVNFUiB0ZXN0X3VzZXIxOworQ1JFQVRFIFRBQkxF IHRlc3RfbG9nIChzcWxfdGV4dCBURVhUKTsKK0xPQUQgREFUQSBMT0NBTCBJTkZJTEUgJy4uLi9s b2cvcmV3cml0ZV9zbG93LmxvZycKKyAgICAgSU5UTyBUQUJMRSB0ZXN0X2xvZyBGSUVMRFMgVEVS TUlOQVRFRCBCWSAnXG4nIExJTkVTIFRFUk1JTkFURUQgQlkgJ1xuJzsKK1RoaXMgbGluZSBzaG91 bGQgYmUgZm9sbG93ZWQgYnkgdHdvIFNFTEVDVHMgd2l0aCBlbXB0eSByZXN1bHQgc2V0cworU0VM RUNUIHNxbF90ZXh0IEZST00gdGVzdF9sb2cgV0hFUkUgc3FsX3RleHQgTElLRSBDT05DQVQoJyVh enVuJywnZHJpcyUnKTsKK3NxbF90ZXh0CitTRUxFQ1Qgc3FsX3RleHQgRlJPTSBteXNxbC5zbG93 X2xvZyBXSEVSRSBzcWxfdGV4dCBMSUtFIENPTkNBVCgnJWF6dW4nLCdkcmlzJScpOworc3FsX3Rl eHQKKy0tLS0tLSBmcm9tIGZpbGUgLS0tLS0tCitTRUxFQ1Qgc3FsX3RleHQgRlJPTSB0ZXN0X2xv ZyBXSEVSRSBzcWxfdGV4dCBsaWtlICclUEFTU1dPUkQgJSc7CitzcWxfdGV4dAorR1JBTlQgQUxM IFBSSVZJTEVHRVMgT04gKi4qIFRPICd0ZXN0X3VzZXIxJ0AnJScgSURFTlRJRklFRCBCWSBQQVNT V09SRCAnKjhEMTVFNzRCQzg1MEQxMTU3M0E1MkJFODRCNTA0REQwQkE0MEMxRTMnOworQ1JFQVRF IFVTRVIgJ3Rlc3RfdXNlcjInQCclJyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcqQTE0Mjg0NERC RjAyNEQyODJEODhGRTE5Q0I0RDNGQTEzQjFFOTZFMCc7CitDSEFOR0UgTUFTVEVSIFRPIE1BU1RF Ul9QQVNTV09SRCA9IDxzZWNyZXQ+OworU0VUIFBBU1NXT1JEIEZPUiBgdGVzdF91c2VyNGBAYGxv Y2FsaG9zdGA9PHNlY3JldD47CistLS0tLS0gZnJvbSB0YWJsZSAtLS0tLS0KK1NFTEVDVCBzcWxf dGV4dCBGUk9NIG15c3FsLnNsb3dfbG9nIFdIRVJFIHNxbF90ZXh0IGxpa2UgJyVQQVNTV09SRCAl JzsKK3NxbF90ZXh0CitHUkFOVCBBTEwgUFJJVklMRUdFUyBPTiAqLiogVE8gJ3Rlc3RfdXNlcjEn QCclJyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcqOEQxNUU3NEJDODUwRDExNTczQTUyQkU4NEI1 MDRERDBCQTQwQzFFMycKK0NSRUFURSBVU0VSICd0ZXN0X3VzZXIyJ0AnJScgSURFTlRJRklFRCBC WSBQQVNTV09SRCAnKkExNDI4NDREQkYwMjREMjgyRDg4RkUxOUNCNEQzRkExM0IxRTk2RTAnCitD SEFOR0UgTUFTVEVSIFRPIE1BU1RFUl9QQVNTV09SRCA9IDxzZWNyZXQ+CitTRVQgUEFTU1dPUkQg Rk9SIGB0ZXN0X3VzZXI0YEBgbG9jYWxob3N0YD08c2VjcmV0PgorLS0tLS0tIGRvbmUgLS0tLS0t CitEUk9QIFRBQkxFIHRlc3RfbG9nOworU0VUIEdMT0JBTCBzbG93X3F1ZXJ5X2xvZ19maWxlPSBA b2xkX3Nsb3dfcXVlcnlfbG9nX2ZpbGU7CitTRVQgR0xPQkFMIHNsb3dfcXVlcnlfbG9nPSAgICAg IEBvbGRfc2xvd19xdWVyeV9sb2c7CitTRVQgR0xPQkFMIGxvZ19vdXRwdXQ9ICAgICAgICAgIEBv bGRfbG9nX291dHB1dDsKK0VuZCBvZiA1LjYgdGVzdHMhCgo9PT0gYWRkZWQgZmlsZSAnbXlzcWwt dGVzdC9zdWl0ZS9iaW5sb2cvci9iaW5sb2dfcmV3cml0ZS5yZXN1bHQnCi0tLSBhL215c3FsLXRl c3Qvc3VpdGUvYmlubG9nL3IvYmlubG9nX3Jld3JpdGUucmVzdWx0CTE5NzAtMDEtMDEgMDA6MDA6 MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9iaW5sb2cvci9iaW5sb2dfcmV3cml0ZS5y ZXN1bHQJMjAxMS0wOC0xNyAxNDowNzowNyArMDAwMApAQCAtMCwwICsxLDYzIEBACitSRVNFVCBN QVNURVI7CitDUkVBVEUgVVNFUiB1c2VyMUBsb2NhbGhvc3QgSURFTlRJRklFRCBCWSAnc2VjcmV0 JzsKK0NSRUFURSBVU0VSIHVzZXIyQGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdzZWNyZXQnOwor U0VUIFBBU1NXT1JEIEZPUiB1c2VyMUBsb2NhbGhvc3QgPSBQQVNTV09SRCgnc2VjcmV0Jyk7Cisj IFRlc3QgdGhlIHBhc3N3b3JkIGlzIGVuY3J5cHRlZCBpbiBiaW5hcnkgbG9nCisjIHdoZW4gZ3Jh bnRpbmcgcHJpdmlsZWdlcyBvbiB0YWJsZXMuCitHUkFOVCBVUERBVEUgT04gKi4qIFRPIHVzZXIx QGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdzZWNyZXQnIFdJVEggR1JBTlQgT1BUSU9OOworR1JB TlQgVVBEQVRFIE9OICouKiAvKmJlZm9yZSB0byovVE8vKmFmdGVyIHRvKi8gdXNlcjFAbG9jYWxo b3N0IElERU5USUZJRUQgQlkgJ3NlY3JldCcsIHVzZXIyQGxvY2FsaG9zdCBJREVOVElGSUVEIEJZ ICdzZWNyZXQyJyAvKmJlZm9yZSB3aXRoKi9XSVRILyphZnRlciB3aXRoKi9NQVhfUVVFUklFU19Q RVJfSE9VUiA5MDsKK0dSQU5UIFVQREFURSBPTiAqLiogLypiZWZvcmUgdG8qL1RPLyphZnRlciB0 byovIHVzZXIxQGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdzZWNyZXQnLCB1c2VyMkBsb2NhbGhv c3QgSURFTlRJRklFRCBCWSAnc2VjcmV0MicgLypiZWZvcmUgcmVxdWlyZSovUkVRVUlSRSBTU0wv KmFmdGVyIHJlcXVpcmUqLyAvKmJlZm9yZSB3aXRoKi9XSVRILyphZnRlciB3aXRoKi9NQVhfUVVF UklFU19QRVJfSE9VUiA5MDsKK0dSQU5UIFVQREFURSBPTiAqLiogVE8gdXNlcjFAbG9jYWxob3N0 IElERU5USUZJRUQgQlkgJ3NlY3JldCcsIHVzZXIyQGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdz ZWNyZXQyJzsKK1JFVk9LRSBVUERBVEUgT04gKi4qIEZST00gdXNlcjFAbG9jYWxob3N0LCB1c2Vy MkBsb2NhbGhvc3Q7CisjIFRlc3QgdGhlIHBhc3N3b3JkIGlzIGVuY3J5cHRlZCBpbiBiaW5hcnkg bG9nCisjIHdoZW4gZ3JhbnRpbmcgcHJpdmlsZWdlcyBvbiBwcm9jZWR1cmUuCitDUkVBVEUgUFJP Q0VEVVJFIHAxKCkgU1FMIFNFQ1VSSVRZIElOVk9LRVIgU0VMRUNUIDE7CitHUkFOVCBFWEVDVVRF IE9OIFBST0NFRFVSRSBwMSBUTyB1c2VyMUBsb2NhbGhvc3QgSURFTlRJRklFRCBCWSAnc2VjcmV0 JywgdXNlcjJAbG9jYWxob3N0IElERU5USUZJRUQgQlkgJ3NlY3JldDInIC8qYmVmb3JlIHdpdGgq LyBXSVRIIE1BWF9RVUVSSUVTX1BFUl9IT1VSIDkwOworR1JBTlQgRVhFQ1VURSBPTiBQUk9DRURV UkUgcDEgLypiZWZvcmUgdG8qL1RPLyphZnRlciB0byovIHVzZXIxQGxvY2FsaG9zdCBJREVOVElG SUVEIEJZICdzZWNyZXQnLCB1c2VyMkBsb2NhbGhvc3QgSURFTlRJRklFRCBCWSAnc2VjcmV0Micg LypiZWZvcmUgcmVxdWlyZSovUkVRVUlSRSBTU0wvKmFmdGVyIHJlcXVpcmUqLyAvKmJlZm9yZSB3 aXRoKi9XSVRILyphZnRlciB3aXRoKi9NQVhfUVVFUklFU19QRVJfSE9VUiA5MDsKK0dSQU5UIEVY RUNVVEUgT04gUFJPQ0VEVVJFIHAxIFRPIHVzZXIxQGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdz ZWNyZXQnLCB1c2VyMkBsb2NhbGhvc3QgSURFTlRJRklFRCBCWSAnc2VjcmV0Mic7CitSRVZPS0Ug RVhFQ1VURSBPTiBQUk9DRURVUkUgcDEgRlJPTSB1c2VyMUBsb2NhbGhvc3QsIHVzZXIyQGxvY2Fs aG9zdDsKKyMgVGVzdCB0aGUgcGFzc3dvcmQgaXMgZW5jcnlwdGVkIGluIGJpbmFyeSBsb2cKKyMg d2hlbiBncmFudGluZyBwcml2aWxlZ2VzIG9uIGZ1bmN0aW9uLgorQ1JFQVRFIEZVTkNUSU9OIGYx KCkgUkVUVVJOUyBJTlQgUkVUVVJOIDEyMzsKK0dSQU5UIEVYRUNVVEUgT04gRlVOQ1RJT04gZjEg LypiZWZvcmUgdG8qL1RPLyphZnRlciB0byovIHVzZXIxQGxvY2FsaG9zdCBJREVOVElGSUVEIEJZ ICdzZWNyZXQnIC8qITEwMDAwICwgdXNlcjJAbG9jYWxob3N0IElERU5USUZJRUQgQlkgJ3NlY3Jl dDInICovIC8qITk5OTk5IFRISVNfV09VTERfQlJFQUsgKi8gLypiZWZvcmUgcmVxdWlyZSovUkVR VUlSRSBTU0wvKmFmdGVyIHJlcXVpcmUqLyAvKmJlZm9yZSB3aXRoKi9XSVRILyphZnRlciB3aXRo Ki9NQVhfUVVFUklFU19QRVJfSE9VUiA5MDsKK1JFVk9LRSBFWEVDVVRFIE9OIEZVTkNUSU9OIGYx IEZST00gdXNlcjFAbG9jYWxob3N0LCB1c2VyMkBsb2NhbGhvc3Q7CitEUk9QIFVTRVIgdXNlcjFA bG9jYWxob3N0LCB1c2VyMkBsb2NhbGhvc3Q7CitEUk9QIEZVTkNUSU9OIGYxOworRFJPUCBQUk9D RURVUkUgcDE7CitHUkFOVCBBTEwgb24gKi4qIFRPIHRlc3RfdXNlcjEgSURFTlRJRklFRCBCWSAn YXp1bmRyaXMxJzsKK0NSRUFURSBVU0VSIHRlc3RfdXNlcjIgSURFTlRJRklFRCBCWSAnYXp1bmRy aXMyJzsKK0NIQU5HRSBNQVNURVIgVE8gTUFTVEVSX1BBU1NXT1JEPSdhenVuZHJpczMnOworQ1JF QVRFIFVTRVIgJ3Rlc3RfdXNlcjQnQCdsb2NhbGhvc3QnOworU0VUIFBBU1NXT1JEIEZPUiAndGVz dF91c2VyNCdAJ2xvY2FsaG9zdCcgPSBQQVNTV09SRCgnYXp1bmRyaXM0Jyk7CitzaG93IGJpbmxv ZyBldmVudHMgZnJvbSA8YmlubG9nX3N0YXJ0PjsKK0xvZ19uYW1lCVBvcwlFdmVudF90eXBlCVNl cnZlcl9pZAlFbmRfbG9nX3BvcwlJbmZvCittYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJIwl1 c2UgYHRlc3RgOyBDUkVBVEUgVVNFUiAndXNlcjEnQCdsb2NhbGhvc3QnIElERU5USUZJRUQgQlkg UEFTU1dPUkQgJyoxNEU2NTU2N0FCREI1MTM1RDBDRkQ5QTcwQjMwMzJDMTc5QTQ5RUU3JworbWFz dGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJdXNlIGB0ZXN0YDsgQ1JFQVRFIFVTRVIgJ3VzZXIy J0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcqMTRFNjU1NjdBQkRCNTEzNUQw Q0ZEOUE3MEIzMDMyQzE3OUE0OUVFNycKK21hc3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVz ZSBgdGVzdGA7IFNFVCBQQVNTV09SRCBGT1IgJ3VzZXIxJ0AnbG9jYWxob3N0Jz0nKjE0RTY1NTY3 QUJEQjUxMzVEMENGRDlBNzBCMzAzMkMxNzlBNDlFRTcnCittYXN0ZXItYmluLjAwMDAwMQkjCVF1 ZXJ5CSMJIwl1c2UgYHRlc3RgOyBHUkFOVCBVUERBVEUgT04gKi4qIFRPICd1c2VyMSdAJ2xvY2Fs aG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKjE0RTY1NTY3QUJEQjUxMzVEMENGRDlBNzBC MzAzMkMxNzlBNDlFRTcnIFdJVEggR1JBTlQgT1BUSU9OCittYXN0ZXItYmluLjAwMDAwMQkjCVF1 ZXJ5CSMJIwl1c2UgYHRlc3RgOyBHUkFOVCBVUERBVEUgT04gKi4qIFRPICd1c2VyMSdAJ2xvY2Fs aG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKjE0RTY1NTY3QUJEQjUxMzVEMENGRDlBNzBC MzAzMkMxNzlBNDlFRTcnLCd1c2VyMidAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09S RCAnKjMwNUQ3QkNBOUQ2NUQ4RDVDNDY3N0YwNUNEMkVBMkVCRTM1MDE1OEYnIFdJVEggTUFYX1FV RVJJRVNfUEVSX0hPVVIgOTAKK21hc3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVzZSBgdGVz dGA7IEdSQU5UIFVQREFURSBPTiAqLiogVE8gJ3VzZXIxJ0AnbG9jYWxob3N0JyBJREVOVElGSUVE IEJZIFBBU1NXT1JEICcqMTRFNjU1NjdBQkRCNTEzNUQwQ0ZEOUE3MEIzMDMyQzE3OUE0OUVFNycs J3VzZXIyJ0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcqMzA1RDdCQ0E5RDY1 RDhENUM0Njc3RjA1Q0QyRUEyRUJFMzUwMTU4RicgUkVRVUlSRSBTU0wgV0lUSCBNQVhfUVVFUklF U19QRVJfSE9VUiA5MAorbWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJdXNlIGB0ZXN0YDsg R1JBTlQgVVBEQVRFIE9OICouKiBUTyAndXNlcjEnQCdsb2NhbGhvc3QnIElERU5USUZJRUQgQlkg UEFTU1dPUkQgJyoxNEU2NTU2N0FCREI1MTM1RDBDRkQ5QTcwQjMwMzJDMTc5QTQ5RUU3JywndXNl cjInQCdsb2NhbGhvc3QnIElERU5USUZJRUQgQlkgUEFTU1dPUkQgJyozMDVEN0JDQTlENjVEOEQ1 QzQ2NzdGMDVDRDJFQTJFQkUzNTAxNThGJworbWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJ dXNlIGB0ZXN0YDsgUkVWT0tFIFVQREFURSBPTiAqLiogRlJPTSB1c2VyMUBsb2NhbGhvc3QsIHVz ZXIyQGxvY2FsaG9zdAorbWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJdXNlIGB0ZXN0YDsg Q1JFQVRFIERFRklORVI9YHJvb3RgQGBsb2NhbGhvc3RgIFBST0NFRFVSRSBgcDFgKCkKKyAgICBT UUwgU0VDVVJJVFkgSU5WT0tFUgorU0VMRUNUIDEKK21hc3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJ IwkjCXVzZSBgdGVzdGA7IEdSQU5UIEVYRUNVVEUgT04gUFJPQ0VEVVJFIGB0ZXN0YC5gcDFgIFRP ICd1c2VyMSdAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKjE0RTY1NTY3QUJE QjUxMzVEMENGRDlBNzBCMzAzMkMxNzlBNDlFRTcnLCd1c2VyMidAJ2xvY2FsaG9zdCcgSURFTlRJ RklFRCBCWSBQQVNTV09SRCAnKjMwNUQ3QkNBOUQ2NUQ4RDVDNDY3N0YwNUNEMkVBMkVCRTM1MDE1 OEYnIFdJVEggTUFYX1FVRVJJRVNfUEVSX0hPVVIgOTAKK21hc3Rlci1iaW4uMDAwMDAxCSMJUXVl cnkJIwkjCXVzZSBgdGVzdGA7IEdSQU5UIEVYRUNVVEUgT04gUFJPQ0VEVVJFIGB0ZXN0YC5gcDFg IFRPICd1c2VyMSdAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKjE0RTY1NTY3 QUJEQjUxMzVEMENGRDlBNzBCMzAzMkMxNzlBNDlFRTcnLCd1c2VyMidAJ2xvY2FsaG9zdCcgSURF TlRJRklFRCBCWSBQQVNTV09SRCAnKjMwNUQ3QkNBOUQ2NUQ4RDVDNDY3N0YwNUNEMkVBMkVCRTM1 MDE1OEYnIFJFUVVJUkUgU1NMIFdJVEggTUFYX1FVRVJJRVNfUEVSX0hPVVIgOTAKK21hc3Rlci1i aW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVzZSBgdGVzdGA7IEdSQU5UIEVYRUNVVEUgT04gUFJPQ0VE VVJFIGB0ZXN0YC5gcDFgIFRPICd1c2VyMSdAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSBQQVNT V09SRCAnKjE0RTY1NTY3QUJEQjUxMzVEMENGRDlBNzBCMzAzMkMxNzlBNDlFRTcnLCd1c2VyMidA J2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKjMwNUQ3QkNBOUQ2NUQ4RDVDNDY3 N0YwNUNEMkVBMkVCRTM1MDE1OEYnCittYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJIwl1c2Ug YHRlc3RgOyBSRVZPS0UgRVhFQ1VURSBPTiBQUk9DRURVUkUgcDEgRlJPTSB1c2VyMUBsb2NhbGhv c3QsIHVzZXIyQGxvY2FsaG9zdAorbWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJdXNlIGB0 ZXN0YDsgQ1JFQVRFIERFRklORVI9YHJvb3RgQGBsb2NhbGhvc3RgIEZVTkNUSU9OIGBmMWAoKSBS RVRVUk5TIGludCgxMSkKK1JFVFVSTiAxMjMKK21hc3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkj CXVzZSBgdGVzdGA7IEdSQU5UIEVYRUNVVEUgT04gRlVOQ1RJT04gYHRlc3RgLmBmMWAgVE8gJ3Vz ZXIxJ0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcqMTRFNjU1NjdBQkRCNTEz NUQwQ0ZEOUE3MEIzMDMyQzE3OUE0OUVFNycsJ3VzZXIyJ0AnbG9jYWxob3N0JyBJREVOVElGSUVE IEJZIFBBU1NXT1JEICcqMzA1RDdCQ0E5RDY1RDhENUM0Njc3RjA1Q0QyRUEyRUJFMzUwMTU4Ricg UkVRVUlSRSBTU0wgV0lUSCBNQVhfUVVFUklFU19QRVJfSE9VUiA5MAorbWFzdGVyLWJpbi4wMDAw MDEJIwlRdWVyeQkjCSMJdXNlIGB0ZXN0YDsgUkVWT0tFIEVYRUNVVEUgT04gRlVOQ1RJT04gZjEg RlJPTSB1c2VyMUBsb2NhbGhvc3QsIHVzZXIyQGxvY2FsaG9zdAorbWFzdGVyLWJpbi4wMDAwMDEJ IwlRdWVyeQkjCSMJdXNlIGB0ZXN0YDsgRFJPUCBVU0VSIHVzZXIxQGxvY2FsaG9zdCwgdXNlcjJA bG9jYWxob3N0CittYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJIwl1c2UgYHRlc3RgOyBEUk9Q IEZVTkNUSU9OIGYxCittYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJIwl1c2UgYHRlc3RgOyBE Uk9QIFBST0NFRFVSRSBwMQorbWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJdXNlIGB0ZXN0 YDsgR1JBTlQgQUxMIFBSSVZJTEVHRVMgT04gKi4qIFRPICd0ZXN0X3VzZXIxJ0AnJScgSURFTlRJ RklFRCBCWSBQQVNTV09SRCAnKjhEMTVFNzRCQzg1MEQxMTU3M0E1MkJFODRCNTA0REQwQkE0MEMx RTMnCittYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJIwl1c2UgYHRlc3RgOyBDUkVBVEUgVVNF UiAndGVzdF91c2VyMidAJyUnIElERU5USUZJRUQgQlkgUEFTU1dPUkQgJypBMTQyODQ0REJGMDI0 RDI4MkQ4OEZFMTlDQjREM0ZBMTNCMUU5NkUwJworbWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkj CSMJdXNlIGB0ZXN0YDsgQ1JFQVRFIFVTRVIgJ3Rlc3RfdXNlcjQnQCdsb2NhbGhvc3QnCittYXN0 ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJIwl1c2UgYHRlc3RgOyBTRVQgUEFTU1dPUkQgRk9SICd0 ZXN0X3VzZXI0J0AnbG9jYWxob3N0Jz0nKkY2MkI5MUM4QUQzRDVEMEJCRjAyQTc2MUExNzlFQTNB NjZCMDYwRUMnCitEUk9QIFVTRVIgJ3Rlc3RfdXNlcjQnQCdsb2NhbGhvc3QnOworRFJPUCBVU0VS IHRlc3RfdXNlcjI7CitEUk9QIFVTRVIgdGVzdF91c2VyMTsKK0VuZCBvZiA1LjYgdGVzdHMhCgo9 PT0gYWRkZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9iaW5sb2cvdC9iaW5sb2dfcmV3cml0ZS50 ZXN0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL2JpbmxvZy90L2JpbmxvZ19yZXdyaXRlLnRlc3QJ MTk3MC0wMS0wMSAwMDowMDowMCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL2JpbmxvZy90 L2JpbmxvZ19yZXdyaXRlLnRlc3QJMjAxMS0wOC0xNyAxNDowNzowNyArMDAwMApAQCAtMCwwICsx LDY3IEBACisjCisjIFdMIzU3MDYvQnVnIzU4NzEyL0J1ZyMxMTc0NjM3OAorIyBFbmNyeXB0IG9y IHJlbW92ZSBwYXNzd29yZHMgZnJvbSBzbG93LCBxdWVyeSwgYW5kIGJpbmFyeSBsb2dzCisjIChz ZWUgc3FsL3NxbF9yZXdyaXRlLmNjIGZvciBidWxrIG9mIGltcGxlbWVudGF0aW9uKQorIworCist LSBzb3VyY2UgaW5jbHVkZS9oYXZlX2xvZ19iaW4uaW5jCisKK1JFU0VUIE1BU1RFUjsKKworIy0t LS0tLS0tLS0tLS0tLSBiaW4gbG9nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKworIyBtaXNjIHJld3JpdGVzLgorCisjIFNob3cgdGhhdCB3aGVuIHdlIGNvbXBs ZXRlbHkgcmUtc3ludGhlc2l6ZSBjb21tYW5kcywKKyMgd2UgZ2V0IGFsbCB0aGUgcGFydGljbGVz IHJpZ2h0IQorCitDUkVBVEUgVVNFUiB1c2VyMUBsb2NhbGhvc3QgSURFTlRJRklFRCBCWSAnc2Vj cmV0JzsKK0NSRUFURSBVU0VSIHVzZXIyQGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdzZWNyZXQn OworU0VUIFBBU1NXT1JEIEZPUiB1c2VyMUBsb2NhbGhvc3QgPSBQQVNTV09SRCgnc2VjcmV0Jyk7 CisKKy0tZWNobyAjIFRlc3QgdGhlIHBhc3N3b3JkIGlzIGVuY3J5cHRlZCBpbiBiaW5hcnkgbG9n CistLWVjaG8gIyB3aGVuIGdyYW50aW5nIHByaXZpbGVnZXMgb24gdGFibGVzLgorR1JBTlQgVVBE QVRFIE9OICouKiBUTyB1c2VyMUBsb2NhbGhvc3QgSURFTlRJRklFRCBCWSAnc2VjcmV0JyBXSVRI IEdSQU5UIE9QVElPTjsKK0dSQU5UIFVQREFURSBPTiAqLiogLypiZWZvcmUgdG8qL1RPLyphZnRl ciB0byovIHVzZXIxQGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdzZWNyZXQnLCB1c2VyMkBsb2Nh bGhvc3QgSURFTlRJRklFRCBCWSAnc2VjcmV0MicgLypiZWZvcmUgd2l0aCovV0lUSC8qYWZ0ZXIg d2l0aCovTUFYX1FVRVJJRVNfUEVSX0hPVVIgOTA7CitHUkFOVCBVUERBVEUgT04gKi4qIC8qYmVm b3JlIHRvKi9UTy8qYWZ0ZXIgdG8qLyB1c2VyMUBsb2NhbGhvc3QgSURFTlRJRklFRCBCWSAnc2Vj cmV0JywgdXNlcjJAbG9jYWxob3N0IElERU5USUZJRUQgQlkgJ3NlY3JldDInIC8qYmVmb3JlIHJl cXVpcmUqL1JFUVVJUkUgU1NMLyphZnRlciByZXF1aXJlKi8gLypiZWZvcmUgd2l0aCovV0lUSC8q YWZ0ZXIgd2l0aCovTUFYX1FVRVJJRVNfUEVSX0hPVVIgOTA7CitHUkFOVCBVUERBVEUgT04gKi4q IFRPIHVzZXIxQGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdzZWNyZXQnLCB1c2VyMkBsb2NhbGhv c3QgSURFTlRJRklFRCBCWSAnc2VjcmV0Mic7CitSRVZPS0UgVVBEQVRFIE9OICouKiBGUk9NIHVz ZXIxQGxvY2FsaG9zdCwgdXNlcjJAbG9jYWxob3N0OworCistLWVjaG8gIyBUZXN0IHRoZSBwYXNz d29yZCBpcyBlbmNyeXB0ZWQgaW4gYmluYXJ5IGxvZworLS1lY2hvICMgd2hlbiBncmFudGluZyBw cml2aWxlZ2VzIG9uIHByb2NlZHVyZS4KK0NSRUFURSBQUk9DRURVUkUgcDEoKSBTUUwgU0VDVVJJ VFkgSU5WT0tFUiBTRUxFQ1QgMTsKK0dSQU5UIEVYRUNVVEUgT04gUFJPQ0VEVVJFIHAxIFRPIHVz ZXIxQGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdzZWNyZXQnLCB1c2VyMkBsb2NhbGhvc3QgSURF TlRJRklFRCBCWSAnc2VjcmV0MicgLypiZWZvcmUgd2l0aCovIFdJVEggTUFYX1FVRVJJRVNfUEVS X0hPVVIgOTA7CitHUkFOVCBFWEVDVVRFIE9OIFBST0NFRFVSRSBwMSAvKmJlZm9yZSB0byovVE8v KmFmdGVyIHRvKi8gdXNlcjFAbG9jYWxob3N0IElERU5USUZJRUQgQlkgJ3NlY3JldCcsIHVzZXIy QGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdzZWNyZXQyJyAvKmJlZm9yZSByZXF1aXJlKi9SRVFV SVJFIFNTTC8qYWZ0ZXIgcmVxdWlyZSovIC8qYmVmb3JlIHdpdGgqL1dJVEgvKmFmdGVyIHdpdGgq L01BWF9RVUVSSUVTX1BFUl9IT1VSIDkwOworR1JBTlQgRVhFQ1VURSBPTiBQUk9DRURVUkUgcDEg VE8gdXNlcjFAbG9jYWxob3N0IElERU5USUZJRUQgQlkgJ3NlY3JldCcsIHVzZXIyQGxvY2FsaG9z dCBJREVOVElGSUVEIEJZICdzZWNyZXQyJzsKK1JFVk9LRSBFWEVDVVRFIE9OIFBST0NFRFVSRSBw MSBGUk9NIHVzZXIxQGxvY2FsaG9zdCwgdXNlcjJAbG9jYWxob3N0OworCistLWVjaG8gIyBUZXN0 IHRoZSBwYXNzd29yZCBpcyBlbmNyeXB0ZWQgaW4gYmluYXJ5IGxvZworLS1lY2hvICMgd2hlbiBn cmFudGluZyBwcml2aWxlZ2VzIG9uIGZ1bmN0aW9uLgorQ1JFQVRFIEZVTkNUSU9OIGYxKCkgUkVU VVJOUyBJTlQgUkVUVVJOIDEyMzsKK0dSQU5UIEVYRUNVVEUgT04gRlVOQ1RJT04gZjEgLypiZWZv cmUgdG8qL1RPLyphZnRlciB0byovIHVzZXIxQGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdzZWNy ZXQnIC8qITEwMDAwICwgdXNlcjJAbG9jYWxob3N0IElERU5USUZJRUQgQlkgJ3NlY3JldDInICov IC8qITk5OTk5IFRISVNfV09VTERfQlJFQUsgKi8gLypiZWZvcmUgcmVxdWlyZSovUkVRVUlSRSBT U0wvKmFmdGVyIHJlcXVpcmUqLyAvKmJlZm9yZSB3aXRoKi9XSVRILyphZnRlciB3aXRoKi9NQVhf UVVFUklFU19QRVJfSE9VUiA5MDsKK1JFVk9LRSBFWEVDVVRFIE9OIEZVTkNUSU9OIGYxIEZST00g dXNlcjFAbG9jYWxob3N0LCB1c2VyMkBsb2NhbGhvc3Q7CisKK0RST1AgVVNFUiB1c2VyMUBsb2Nh bGhvc3QsIHVzZXIyQGxvY2FsaG9zdDsKK0RST1AgRlVOQ1RJT04gZjE7CitEUk9QIFBST0NFRFVS RSBwMTsKKworIyAxLjEuMS4xCitHUkFOVCBBTEwgb24gKi4qIFRPIHRlc3RfdXNlcjEgSURFTlRJ RklFRCBCWSAnYXp1bmRyaXMxJzsKKworIyAxLjEuMS4yCitDUkVBVEUgVVNFUiB0ZXN0X3VzZXIy IElERU5USUZJRUQgQlkgJ2F6dW5kcmlzMic7CisKKyMgMS4xLjEuMworQ0hBTkdFIE1BU1RFUiBU TyBNQVNURVJfUEFTU1dPUkQ9J2F6dW5kcmlzMyc7CisKKyMgMS4xLjEuNAorQ1JFQVRFIFVTRVIg J3Rlc3RfdXNlcjQnQCdsb2NhbGhvc3QnOworU0VUIFBBU1NXT1JEIEZPUiAndGVzdF91c2VyNCdA J2xvY2FsaG9zdCcgPSBQQVNTV09SRCgnYXp1bmRyaXM0Jyk7CisKKy0tc291cmNlIGluY2x1ZGUv c2hvd19iaW5sb2dfZXZlbnRzLmluYworCitEUk9QIFVTRVIgJ3Rlc3RfdXNlcjQnQCdsb2NhbGhv c3QnOworRFJPUCBVU0VSIHRlc3RfdXNlcjI7CitEUk9QIFVTRVIgdGVzdF91c2VyMTsKKworLS1l Y2hvIEVuZCBvZiA1LjYgdGVzdHMhCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0 ZS9ycGwvci9ycGxfZG9fZ3JhbnQucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL3JwbC9y L3JwbF9kb19ncmFudC5yZXN1bHQJMjAxMC0xMi0yMSAxMjoxOTo0OCArMDAwMAorKysgYi9teXNx bC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9kb19ncmFudC5yZXN1bHQJMjAxMS0wOC0xNyAxNDowNzow NyArMDAwMApAQCAtMjM5LDcgKzIzOSw3IEBAIHJldm9rZSBhbGwgcHJpdmlsZWdlcywgZ3JhbnQg b3B0aW9uIGZyb20KIEVSUk9SIEhZMDAwOiBDYW4ndCByZXZva2UgYWxsIHByaXZpbGVnZXMgZm9y IG9uZSBvciBtb3JlIG9mIHRoZSByZXF1ZXN0ZWQgdXNlcnMKIHNob3cgYmlubG9nIGV2ZW50cyBm cm9tIDxiaW5sb2dfc3RhcnQ+OwogTG9nX25hbWUJUG9zCUV2ZW50X3R5cGUJU2VydmVyX2lkCUVu ZF9sb2dfcG9zCUluZm8KLW1hc3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVzZSBgdGVzdGA7 IGdyYW50IGFsbCBvbiAqLiogdG8gZm9vQCIxLjIuMy40IgorbWFzdGVyLWJpbi4wMDAwMDEJIwlR dWVyeQkjCSMJdXNlIGB0ZXN0YDsgR1JBTlQgQUxMIFBSSVZJTEVHRVMgT04gKi4qIFRPICdmb28n QCcxLjIuMy40JwogaW5jbHVkZS9jaGVja19zbGF2ZV9ub19lcnJvci5pbmMKIERST1AgVVNFUiBm b29AIjEuMi4zLjQiOwogCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9ycGwv ci9ycGxfbWl4ZWRfaW1wbGljaXRfY29tbWl0X2JpbmxvZy5yZXN1bHQnCi0tLSBhL215c3FsLXRl c3Qvc3VpdGUvcnBsL3IvcnBsX21peGVkX2ltcGxpY2l0X2NvbW1pdF9iaW5sb2cucmVzdWx0CTIw MTAtMTItMTkgMTc6MjI6MzAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxf bWl4ZWRfaW1wbGljaXRfY29tbWl0X2JpbmxvZy5yZXN1bHQJMjAxMS0wOC0xNyAxNDowNzowNyAr MDAwMApAQCAtMTM3LDcgKzEzNyw3IEBAIExvZ19uYW1lCVBvcwlFdmVudF90eXBlCVNlcnZlcl9p ZAlFbmRfbG8KIG1hc3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCUJFR0lOCiBtYXN0ZXItYmlu LjAwMDAwMQkjCVF1ZXJ5CSMJIwl1c2UgYHRlc3RgOyBJTlNFUlQgSU5UTyB0dF8xKGRkbF9jYXNl KSBWQUxVRVMgKDMyKQogbWFzdGVyLWJpbi4wMDAwMDEJIwlYaWQJIwkjCUNPTU1JVCAvKiBYSUQg Ki8KLW1hc3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVzZSBgdGVzdGA7IEdSQU5UIEFMTCBP TiAqLiogVE8gJ3VzZXInQCdsb2NhbGhvc3QnCittYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJ Iwl1c2UgYHRlc3RgOyBHUkFOVCBBTEwgUFJJVklMRUdFUyBPTiAqLiogVE8gJ3VzZXInQCdsb2Nh bGhvc3QnCiAtZS1lLWUtZS1lLWUtZS1lLWUtZS1lLSA+PiA8PCAtZS1lLWUtZS1lLWUtZS1lLWUt ZS1lLQogCiAtYi1iLWItYi1iLWItYi1iLWItYi1iLSA+PiA8PCAtYi1iLWItYi1iLWItYi1iLWIt Yi1iLQoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3Jvd19p bXBsaWNpdF9jb21taXRfYmlubG9nLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9ycGwv ci9ycGxfcm93X2ltcGxpY2l0X2NvbW1pdF9iaW5sb2cucmVzdWx0CTIwMTAtMTItMTkgMTc6MjI6 MzAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfcm93X2ltcGxpY2l0X2Nv bW1pdF9iaW5sb2cucmVzdWx0CTIwMTEtMDgtMTcgMTQ6MDc6MDcgKzAwMDAKQEAgLTE0Nyw3ICsx NDcsNyBAQCBtYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJIwlCRUdJTgogbWFzdGVyLWJpbi4w MDAwMDEJIwlUYWJsZV9tYXAJIwkjCXRhYmxlX2lkOiAjICh0ZXN0LnR0XzEpCiBtYXN0ZXItYmlu LjAwMDAwMQkjCVdyaXRlX3Jvd3MJIwkjCXRhYmxlX2lkOiAjIGZsYWdzOiBTVE1UX0VORF9GCiBt YXN0ZXItYmluLjAwMDAwMQkjCVhpZAkjCSMJQ09NTUlUIC8qIFhJRCAqLwotbWFzdGVyLWJpbi4w MDAwMDEJIwlRdWVyeQkjCSMJdXNlIGB0ZXN0YDsgR1JBTlQgQUxMIE9OICouKiBUTyAndXNlcidA J2xvY2FsaG9zdCcKK21hc3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVzZSBgdGVzdGA7IEdS QU5UIEFMTCBQUklWSUxFR0VTIE9OICouKiBUTyAndXNlcidAJ2xvY2FsaG9zdCcKIC1lLWUtZS1l LWUtZS1lLWUtZS1lLWUtID4+IDw8IC1lLWUtZS1lLWUtZS1lLWUtZS1lLWUtCiAKIC1iLWItYi1i LWItYi1iLWItYi1iLWItID4+IDw8IC1iLWItYi1iLWItYi1iLWItYi1iLWItCgo9PT0gbW9kaWZp ZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfc3AucmVzdWx0JwotLS0gYS9teXNx bC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9zcC5yZXN1bHQJMjAxMC0xMi0xOSAxNzoyMjozMCArMDAw MAorKysgYi9teXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9zcC5yZXN1bHQJMjAxMS0wOC0xNyAx NDowNzowNyArMDAwMApAQCAtNDMyLDcgKzQzMiw3IEBAIG1hc3Rlci1iaW4uMDAwMDAxCSMJUXVl cnkJIwkjCXVzZSBgbXlzcWwKIG1hc3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVzZSBgbXlz cWx0ZXN0MWA7IENSRUFURSBERUZJTkVSPWByb290YEBgbG9jYWxob3N0YCBQUk9DRURVUkUgYGZv bzNgKCkKICAgICBERVRFUk1JTklTVElDCiBpbnNlcnQgaW50byB0MSB2YWx1ZXMgKDE1KQotbWFz dGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJdXNlIGBteXNxbHRlc3QxYDsgZ3JhbnQgQ1JFQVRF IFJPVVRJTkUsIEVYRUNVVEUgb24gbXlzcWx0ZXN0MS4qIHRvICJ6ZWRqemxjc2poZCJAMTI3LjAu MC4xCittYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJIwl1c2UgYG15c3FsdGVzdDFgOyBHUkFO VCBFWEVDVVRFLCBDUkVBVEUgUk9VVElORSBPTiBgbXlzcWx0ZXN0MWAuKiBUTyAnemVkanpsY3Nq aGQnQCcxMjcuMC4wLjEnCiBtYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJIwl1c2UgYG15c3Fs dGVzdDFgOyBncmFudCBTRUxFQ1Qgb24gbXlzcWx0ZXN0MS50MSB0byAiemVkanpsY3NqaGQiQDEy Ny4wLjAuMQogbWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJdXNlIGBteXNxbHRlc3QxYDsg Z3JhbnQgU0VMRUNULCBJTlNFUlQgb24gbXlzcWx0ZXN0MS50MiB0byAiemVkanpsY3NqaGQiQDEy Ny4wLjAuMQogbWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJdXNlIGBteXNxbHRlc3QxYDsg Q1JFQVRFIERFRklORVI9YHplZGp6bGNzamhkYEBgMTI3LjAuMC4xYCBQUk9DRURVUkUgYGZvbzRg KCkKQEAgLTczMiw3ICs3MzIsNyBAQCBDUkVBVEUgREVGSU5FUj1gcm9vdGBAYGxvY2FsaG9zdGAg UFJPQ0VECiBpbnNlcnQgaW50byB0MSB2YWx1ZXMgKDE1KQogLyohKi87CiBTRVQgVElNRVNUQU1Q PXQvKiEqLzsKLWdyYW50IENSRUFURSBST1VUSU5FLCBFWEVDVVRFIG9uIG15c3FsdGVzdDEuKiB0 byAiemVkanpsY3NqaGQiQDEyNy4wLjAuMQorR1JBTlQgRVhFQ1VURSwgQ1JFQVRFIFJPVVRJTkUg T04gYG15c3FsdGVzdDFgLiogVE8gJ3plZGp6bGNzamhkJ0AnMTI3LjAuMC4xJwogLyohKi87CiBT RVQgVElNRVNUQU1QPXQvKiEqLzsKIGdyYW50IFNFTEVDVCBvbiBteXNxbHRlc3QxLnQxIHRvICJ6 ZWRqemxjc2poZCJAMTI3LjAuMC4xCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0 ZS9ycGwvci9ycGxfc3RtX2ltcGxpY2l0X2NvbW1pdF9iaW5sb2cucmVzdWx0JwotLS0gYS9teXNx bC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9zdG1faW1wbGljaXRfY29tbWl0X2JpbmxvZy5yZXN1bHQJ MjAxMC0xMi0xOSAxNzoyMjozMCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL3JwbC9yL3Jw bF9zdG1faW1wbGljaXRfY29tbWl0X2JpbmxvZy5yZXN1bHQJMjAxMS0wOC0xNyAxNDowNzowNyAr MDAwMApAQCAtMTM3LDcgKzEzNyw3IEBAIExvZ19uYW1lCVBvcwlFdmVudF90eXBlCVNlcnZlcl9p ZAlFbmRfbG8KIG1hc3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCUJFR0lOCiBtYXN0ZXItYmlu LjAwMDAwMQkjCVF1ZXJ5CSMJIwl1c2UgYHRlc3RgOyBJTlNFUlQgSU5UTyB0dF8xKGRkbF9jYXNl KSBWQUxVRVMgKDMyKQogbWFzdGVyLWJpbi4wMDAwMDEJIwlYaWQJIwkjCUNPTU1JVCAvKiBYSUQg Ki8KLW1hc3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVzZSBgdGVzdGA7IEdSQU5UIEFMTCBP TiAqLiogVE8gJ3VzZXInQCdsb2NhbGhvc3QnCittYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJ Iwl1c2UgYHRlc3RgOyBHUkFOVCBBTEwgUFJJVklMRUdFUyBPTiAqLiogVE8gJ3VzZXInQCdsb2Nh bGhvc3QnCiAtZS1lLWUtZS1lLWUtZS1lLWUtZS1lLSA+PiA8PCAtZS1lLWUtZS1lLWUtZS1lLWUt ZS1lLQogCiAtYi1iLWItYi1iLWItYi1iLWItYi1iLSA+PiA8PCAtYi1iLWItYi1iLWItYi1iLWIt Yi1iLQoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3VzZXIu cmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF91c2VyLnJlc3VsdAkyMDEw LTEyLTE5IDE3OjIyOjMwICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3Vz ZXIucmVzdWx0CTIwMTEtMDgtMTcgMTQ6MDc6MDcgKzAwMDAKQEAgLTQ1LDggKzQ1LDggQEAgSG9z dAlVc2VyCiBzaG93IGJpbmxvZyBldmVudHMgZnJvbSA8YmlubG9nX3N0YXJ0PjsKIExvZ19uYW1l CVBvcwlFdmVudF90eXBlCVNlcnZlcl9pZAlFbmRfbG9nX3BvcwlJbmZvCiBtYXN0ZXItYmluLjAw MDAwMQkjCVF1ZXJ5CSMJIwl1c2UgYHRlc3RgOyBDUkVBVEUgVVNFUiAnZm9vJ0AnZmFrZWhvc3Qn Ci1tYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJIwl1c2UgYHRlc3RgOyBDUkVBVEUgVVNFUiAn Zm9vJ0AnZmFrZWhvc3QnLCAnYmFyJ0AnZmFrZWhvc3QnCi1tYXN0ZXItYmluLjAwMDAwMQkjCVF1 ZXJ5CSMJIwl1c2UgYHRlc3RgOyBDUkVBVEUgVVNFUiAnZm9vMSdAJ2Zha2Vob3N0JyBJREVOVElG SUVEIEJZIFBBU1NXT1JEICcqNkVBQzUyNDlENTMwNTBBRTY0OUJEQjBDQzRCODVEMUFFOTBDQTE2 RScsICdmb28yJ0AnZmFrZWhvc3QnIElERU5USUZJRUQgQlkgUEFTU1dPUkQgJyoxMTExMTExMTEx MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExJywgJ2ZvbzMnQCdmYWtlaG9zdCcKK21hc3Rl ci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVzZSBgdGVzdGA7IENSRUFURSBVU0VSICdmb28nQCdm YWtlaG9zdCcsJ2JhcidAJ2Zha2Vob3N0JworbWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJ dXNlIGB0ZXN0YDsgQ1JFQVRFIFVTRVIgJ2ZvbzEnQCdmYWtlaG9zdCcgSURFTlRJRklFRCBCWSBQ QVNTV09SRCAnKjZFQUM1MjQ5RDUzMDUwQUU2NDlCREIwQ0M0Qjg1RDFBRTkwQ0ExNkUnLCdmb28y J0AnZmFrZWhvc3QnIElERU5USUZJRUQgQlkgUEFTU1dPUkQgJyoxMTExMTExMTExMTExMTExMTEx MTExMTExMTExMTExMTExMTExMTExJywnZm9vMydAJ2Zha2Vob3N0JwogbWFzdGVyLWJpbi4wMDAw MDEJIwlRdWVyeQkjCSMJdXNlIGB0ZXN0YDsgcmVuYW1lIHVzZXIgJ2ZvbydAJ2Zha2Vob3N0JyB0 byAnZm9vZm9vJ0AnZmFrZWhvc3QnCiBtYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJIwl1c2Ug YHRlc3RgOyByZW5hbWUgdXNlciAnbm90X2V4aXN0X3VzZXIxJ0AnZmFrZWhvc3QnIHRvICdmb29i YXInQCdmYWtlaG9zdCcsICdiYXInQCdmYWtlaG9zdCcgdG8gJ2JhcmJhcidAJ2Zha2Vob3N0Jwog bWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJdXNlIGB0ZXN0YDsgZHJvcCB1c2VyICdmb29m b28nQCdmYWtlaG9zdCcKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL3JwbC90 L3JwbF9ncmFudF9wbHVnaW4udGVzdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9ycGwvdC9ycGxf Z3JhbnRfcGx1Z2luLnRlc3QJMjAxMS0wMi0xNSAxMDo1NzowNSArMDAwMAorKysgYi9teXNxbC10 ZXN0L3N1aXRlL3JwbC90L3JwbF9ncmFudF9wbHVnaW4udGVzdAkyMDExLTA4LTE3IDE0OjA3OjA3 ICswMDAwCkBAIC0yOSw3ICsyOSw3IEBACiAtLSBzeW5jX3NsYXZlX3dpdGhfbWFzdGVyCiAtLSBj b25uZWN0aW9uIG1hc3RlcgogCi0tLWxldCAkcXVlcnk9IEdSQU5UIEFMTCBPTiB0ZXN0LiogVE8g J2I1OTcwOF91c2VyMidAJyUnIElERU5USUZJRUQgV0lUSCAndGVzdF9wbHVnaW5fc2VydmVyJyBB UyAnQ049YW5hbHlzdCwgT1U9ZGl2aXNpb24xLCBPPW9yYWNsZSwgQz1VUycKKy0tbGV0ICRxdWVy eT0gR1JBTlQgQUxMIFBSSVZJTEVHRVMgT04gYHRlc3RgLiogVE8gJ2I1OTcwOF91c2VyMidAJyUn IElERU5USUZJRUQgV0lUSCAndGVzdF9wbHVnaW5fc2VydmVyJyBBUyAnQ049YW5hbHlzdCwgT1U9 ZGl2aXNpb24xLCBPPW9yYWNsZSwgQz1VUycKIC0tbGV0ICRiaW5sb2dfcG9zaXRpb249IHF1ZXJ5 X2dldF92YWx1ZSgiU0hPVyBNQVNURVIgU1RBVFVTIiwgUG9zaXRpb24sIDEpCiAtLWV2YWwgJHF1 ZXJ5CiAtLWxldCAkbG9nZ2VkX3F1ZXJ5PSBxdWVyeV9nZXRfdmFsdWUoU0hPVyBCSU5MT0cgRVZF TlRTIElOICIkYmlubG9nX2ZpbGUiIEZST00gJGJpbmxvZ19wb3NpdGlvbiAsIEluZm8sIDEpCgo9 PT0gYWRkZWQgZmlsZSAnbXlzcWwtdGVzdC90L2F1ZGl0X3BsdWdpbi1tYXN0ZXIub3B0JwotLS0g YS9teXNxbC10ZXN0L3QvYXVkaXRfcGx1Z2luLW1hc3Rlci5vcHQJMTk3MC0wMS0wMSAwMDowMDow MCArMDAwMAorKysgYi9teXNxbC10ZXN0L3QvYXVkaXRfcGx1Z2luLW1hc3Rlci5vcHQJMjAxMS0w OC0xNyAxNToxMToxMSArMDAwMApAQCAtMCwwICsxLDIgQEAKKyRBVURJVF9OVUxMX09QVAorCgo9 PT0gYWRkZWQgZmlsZSAnbXlzcWwtdGVzdC90L2F1ZGl0X3BsdWdpbi50ZXN0JwotLS0gYS9teXNx bC10ZXN0L3QvYXVkaXRfcGx1Z2luLnRlc3QJMTk3MC0wMS0wMSAwMDowMDowMCArMDAwMAorKysg Yi9teXNxbC10ZXN0L3QvYXVkaXRfcGx1Z2luLnRlc3QJMjAxMS0wOC0xNyAxNToxMToxMSArMDAw MApAQCAtMCwwICsxLDcxIEBACisjIENvcHlyaWdodCAoYykgMjAxMSwgT3JhY2xlIGFuZC9vciBp dHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorIyBtb2RpZnkg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBh cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyIG9m CisjIHRoZSBMaWNlbnNlLgorIworIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlCisjIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl CisjIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9u LCBNQQorIyAwMjExMC0xMzAxICBVU0EKKworIyBUZXN0IGZvciBXTCMzNzcxIChhdWRpdCBudWxs IHBsdWdpbikKKyMgQ3JlYXRlZCBieSBISHVuZ2VyIDIwMDktMDktMDIKKyMKKworLS1zb3VyY2Ug aW5jbHVkZS9ub3RfZW1iZWRkZWQuaW5jCisKKyMgQWRqdXN0bWVudCB0byB0aGUgT1MgZGVwZW5k ZW50IGV4dGVuc2lvbiBvZiBzaGFyZWQgbGlicmFyaWVzLgorbGV0ICRleHBlY3RlZF9leHRlbnNp b249IHNvOworaWYoYFNFTEVDVCBDT05WRVJUKEBAdmVyc2lvbl9jb21waWxlX29zIFVTSU5HIGxh dGluMSkKKyAgICAgICAgICAgSU4gKCJXaW4zMiIsIldpbjY0IiwiV2luZG93cyIpYCkKK3sKKyAg IGxldCAkZXhwZWN0ZWRfZXh0ZW5zaW9uPSBkbGw7Cit9CisKKyMgQWRqdXN0bWVudCB0byB0aGUg ZmFjdCB0aGF0IHByb3RvY29scyB3aGljaCBsZWFkIHRvIHRoZSB1c2UKKyMgb2YgcHJlcGFyZWQg c3RhdGVtZW50cyBjYXVzZSB0aGF0IGEgaGlnaGVyIG51bWJlciBvZgorIyBwbHVnaW4gY2FsbHMg Z2V0cyBjb3VudGVkLgorbGV0ICRleHBlY3RlZF9jYWxscz0gMjE7CitpZihgU0VMRUNUICRQU19Q Uk9UT0NPTCA+IDBgKQoreworICAgbGV0ICRleHBlY3RlZF9jYWxscz0gNDY7Cit9CitpZihgU0VM RUNUICRTUF9QUk9UT0NPTCA+IDBgKQoreworICAgbGV0ICRleHBlY3RlZF9jYWxscz0gNjY7Cit9 CitpZihgU0VMRUNUICRDVVJTT1JfUFJPVE9DT0wgPiAwYCkKK3sKKyAgIGxldCAkZXhwZWN0ZWRf Y2FsbHM9IDQ4OworfQoraWYoYFNFTEVDVCAkVklFV19QUk9UT0NPTCA+IDBgKQoreworICAgbGV0 ICRleHBlY3RlZF9jYWxscz0gMzA7Cit9CisKKy0tcmVwbGFjZV9yZXN1bHQgJGV4cGVjdGVkX2V4 dGVuc2lvbiAgPGV4cGVjdGVkX2V4dGVuc2lvbj4KKy0tZXJyb3IgRVJfQ0FOVF9GSU5EX0RMX0VO VFJZCitldmFsIElOU1RBTEwgUExVR0lOIGF1ZGl0X251bGwgU09OQU1FICdhZHRfbnVsbC4kZXhw ZWN0ZWRfZXh0ZW5zaW9uJzsKKy0tcmVwbGFjZV9yZXN1bHQgJGV4cGVjdGVkX2V4dGVuc2lvbiA8 ZXhwZWN0ZWRfZXh0ZW5zaW9uPgorZXZhbCBJTlNUQUxMIFBMVUdJTiBudWxsX2F1ZGl0IFNPTkFN RSAnYWR0X251bGwuJGV4cGVjdGVkX2V4dGVuc2lvbic7CitDUkVBVEUgVEFCTEUgdDEgKGMxIElO VCwgYzIgQ0hBUigyMCkpOworLS1lcnJvciBFUl9UQUJMRV9FWElTVFNfRVJST1IKK0NSRUFURSBU QUJMRSB0MSAoYzEgSU5ULCBjMiBDSEFSKDIwKSk7CitJTlNFUlQgSU5UTyB0MSBWQUxVRVMgKDEs J2EnKSwoMiwnYicpLCgzLCdjJyk7CitTRUxFQ1QgKiBGUk9NIHQxOworLS1lcnJvciBFUl9OT19T VUNIX1RBQkxFCitTRUxFQ1QgKiBGUk9NIHQyOworRFJPUCBUQUJMRSB0MTsKKy0tcmVwbGFjZV9y ZXN1bHQgJGV4cGVjdGVkX2NhbGxzIDxleHBlY3RlZF9udW1iZXJfb2ZfY2FsbHM+CitTSE9XIFNU QVRVUyBMSUtFICdhdWRpdF9udWxsX2NhbGxlZCc7CistLWVycm9yIEVSX1NQX0RPRVNfTk9UX0VY SVNUCitVTklOU1RBTEwgUExVR0lOIGF1ZGl0X251bGw7CitVTklOU1RBTEwgUExVR0lOIG51bGxf YXVkaXQ7CisKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3QvcGx1Z2luX2F1dGgudGVz dCcKLS0tIGEvbXlzcWwtdGVzdC90L3BsdWdpbl9hdXRoLnRlc3QJMjAxMS0wNy0wNyAwOTo0NTox MCArMDAwMAorKysgYi9teXNxbC10ZXN0L3QvcGx1Z2luX2F1dGgudGVzdAkyMDExLTA4LTE3IDE0 OjA3OjA3ICswMDAwCkBAIC02LDYgKzYsMTIgQEAgQ0FMTCBtdHIuYWRkX3N1cHByZXNzaW9uKCJQ bHVnaW4gdGVzdF9wbAogcXVlcnlfdmVydGljYWwgU0VMRUNUIFBMVUdJTl9TVEFUVVMsIFBMVUdJ Tl9UWVBFLCBQTFVHSU5fREVTQ1JJUFRJT04KICAgRlJPTSBJTkZPUk1BVElPTl9TQ0hFTUEuUExV R0lOUyBXSEVSRSBQTFVHSU5fTkFNRT0ndGVzdF9wbHVnaW5fc2VydmVyJzsKIAorU0VUIEBvbGRf bG9nX291dHB1dD0gICAgICAgICAgQEBnbG9iYWwubG9nX291dHB1dDsKK1NFVCBAb2xkX2dlbmVy YWxfbG9nPSAgICAgICAgIEBAZ2xvYmFsLmdlbmVyYWxfbG9nOworCitTRVQgR0xPQkFMIGxvZ19v dXRwdXQgPSAgICAgICAnVEFCTEUnOworU0VUIEdMT0JBTCBnZW5lcmFsX2xvZz0gICAgICAgJ09O JzsKKwogQ1JFQVRFIFVTRVIgcGx1ZyBJREVOVElGSUVEIFdJVEggJ3Rlc3RfcGx1Z2luX3NlcnZl cicgQVMgJ3BsdWdfZGVzdCc7CiBDUkVBVEUgVVNFUiBwbHVnX2Rlc3QgSURFTlRJRklFRCBCWSAn cGx1Z19kZXN0X3Bhc3N3ZCc7CiAKQEAgLTI5OSw5ICszMDUsMTUgQEAgY29ubmVjdGlvbiBkZWZh dWx0OwogLS1lY2hvICMgaW4gY29ubmVjdGlvbiBkZWZhdWx0CiBkaXNjb25uZWN0IHBsdWdfY29u OwogCistLWVjaG8gV0wjNTcwNiAtLSBzaG93IHRoZSBhYm92ZSBnb3QgbG9nZ2VkL3Jld3JpdHRl biBjb3JyZWN0bHkKK1NFTEVDVCBhcmd1bWVudCBGUk9NIG15c3FsLmdlbmVyYWxfbG9nIFdIRVJF IGFyZ3VtZW50IExJS0UgQ09OQ0FUKCclIElERU5USUZJRUQgJywnV0lUSCUnKTsKKwogLS1lY2hv ICMjIGNsZWFudXAKIERST1AgVVNFUiBwbHVnOwogRFJPUCBVU0VSIHBsdWdfZGVzdDsKKworU0VU IEdMT0JBTCBsb2dfb3V0cHV0PSAgQG9sZF9sb2dfb3V0cHV0OworU0VUIEdMT0JBTCBnZW5lcmFs X2xvZz0gQG9sZF9nZW5lcmFsX2xvZzsKIC0tZWNobyAjIyBFTkQgQEBleHRlcm5hbF91c2VyIHRl c3RzCiAKIC0tZWNobyAjCgo9PT0gYWRkZWQgZmlsZSAnbXlzcWwtdGVzdC90L3Jld3JpdGVfZ2Vu ZXJhbF9sb2cudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC90L3Jld3JpdGVfZ2VuZXJhbF9sb2cudGVz dAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215c3FsLXRlc3QvdC9yZXdyaXRlX2dl bmVyYWxfbG9nLnRlc3QJMjAxMS0wOC0xOSAwMDo0NToyOCArMDAwMApAQCAtMCwwICsxLDgzIEBA CisjCisjIFdMIzU3MDYvQnVnIzU4NzEyL0J1ZyMxMTc0NjM3OAorIyBFbmNyeXB0IG9yIHJlbW92 ZSBwYXNzd29yZHMgZnJvbSBzbG93LCBxdWVyeSwgYW5kIGJpbmFyeSBsb2dzCisjIChzZWUgc3Fs L3NxbF9yZXdyaXRlLmNjIGZvciBidWxrIG9mIGltcGxlbWVudGF0aW9uKQorIworCisjIG1ha2Ug c3VyZSB3ZSBzdGFydCB3aXRoIGEgY2xlYW4gc2xhdGUuIGxvZ190YWJsZXMudGVzdCBzYXlzIHRo aXMgaXMgT0suCitUUlVOQ0FURSBUQUJMRSBteXNxbC5nZW5lcmFsX2xvZzsKKworLS1lY2hvIC0t LS0tLS0tLS0tLS0tLSBnZW5lcmFsIGxvZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKworU0VUIEBvbGRfbG9nX291dHB1dD0gICAgICAgICAgQEBnbG9iYWwubG9nX291 dHB1dDsKK1NFVCBAb2xkX2dlbmVyYWxfbG9nPSAgICAgICAgIEBAZ2xvYmFsLmdlbmVyYWxfbG9n OworU0VUIEBvbGRfZ2VuZXJhbF9sb2dfZmlsZT0gICAgQEBnbG9iYWwuZ2VuZXJhbF9sb2dfZmls ZTsKKworLS1yZXBsYWNlX3Jlc3VsdCAkTVlTUUxURVNUX1ZBUkRJUiAuLi4KK2V2YWwgU0VUIEdM T0JBTCBnZW5lcmFsX2xvZ19maWxlID0gJyRNWVNRTFRFU1RfVkFSRElSL2xvZy9yZXdyaXRlX2dl bmVyYWwubG9nJzsKK1NFVCBHTE9CQUwgbG9nX291dHB1dCA9ICAgICAgICdGSUxFLFRBQkxFJzsK K1NFVCBHTE9CQUwgZ2VuZXJhbF9sb2c9ICAgICAgICdPTic7CisKKyMgU0VUIE5BTUVTIC8gU0VU IENIQVJTRVQKKyMga2VlcCB0aGVzZSBpbiBsb3dlciBjYXNlIHdlIGNhbiB0ZWxsIHRoZW0gZnJv bSB0aGUgdXBwZXIgY2FzZSByZXdyaXRlcyEKK3NldCBjaGFyYWN0ZXIgc2V0ICdoZWJyZXcnOwor c2V0IGNoYXJzZXQgZGVmYXVsdCxAZHVtbXk9J0EnOworc2V0IG5hbWVzICdsYXRpbjEnLEBkdW1t eT0nQic7CitzZXQgbmFtZXMgJ2xhdGluMScgY29sbGF0ZSAnbGF0aW4xX2dlcm1hbjJfY2knOwor c2V0IG5hbWVzIGRlZmF1bHQsQGR1bW15PSdjJzsKKworIyAxLjEuMS4xCitHUkFOVCBBTEwgb24g Ki4qIFRPIHRlc3RfdXNlcjEgSURFTlRJRklFRCBCWSAnYXp1bmRyaXMxJzsKKworIyAxLjEuMS4y CitDUkVBVEUgVVNFUiB0ZXN0X3VzZXIyIElERU5USUZJRUQgQlkgJ2F6dW5kcmlzMic7CisKKyMg MS4xLjEuMworQ0hBTkdFIE1BU1RFUiBUTyBNQVNURVJfUEFTU1dPUkQ9J2F6dW5kcmlzMyc7CisK KyMgMS4xLjEuNAorQ1JFQVRFIFVTRVIgJ3Rlc3RfdXNlcjQnQCdsb2NhbGhvc3QnOworU0VUIFBB U1NXT1JEIEZPUiAndGVzdF91c2VyNCdAJ2xvY2FsaG9zdCcgPSBQQVNTV09SRCgnYXp1bmRyaXM0 Jyk7CisKKyMgY2xlYW4tdXAKK1NFVCBHTE9CQUwgZ2VuZXJhbF9sb2c9ICAgICAgICdPRkYnOwor CitEUk9QIFVTRVIgJ3Rlc3RfdXNlcjQnQCdsb2NhbGhvc3QnOworRFJPUCBVU0VSIHRlc3RfdXNl cjI7CitEUk9QIFVTRVIgdGVzdF91c2VyMTsKKworIyBzaG93IGdlbmVyYWwtbG9nZ2luZyB0byBm aWxlIGlzIGNvcnJlY3QKK0NSRUFURSBUQUJMRSB0ZXN0X2xvZyAoYXJndW1lbnQgVEVYVCk7Cist LXJlcGxhY2VfcmVzdWx0ICRNWVNRTFRFU1RfVkFSRElSIC4uLgorZXZhbCBMT0FEIERBVEEgTE9D QUwgSU5GSUxFICckTVlTUUxURVNUX1ZBUkRJUi9sb2cvcmV3cml0ZV9nZW5lcmFsLmxvZycKKyAg ICAgSU5UTyBUQUJMRSB0ZXN0X2xvZyBGSUVMRFMgVEVSTUlOQVRFRCBCWSAnXG4nIExJTkVTIFRF Uk1JTkFURUQgQlkgJ1xuJzsKKworIyBhbGwgcGFzc3dvcmRzICgnYXp1bmRyaXMlJykgbXVzdCBo YXZlIGJlZW4gb2JmdXNjYXRlZCAtPiBlbXB0eSByZXN1bHQgc2V0CistLWVjaG8gVGhpcyBsaW5l IHNob3VsZCBiZSBmb2xsb3dlZCBieSB0d28gU0VMRUNUcyB3aXRoIGVtcHR5IHJlc3VsdCBzZXRz CistLXJlcGxhY2VfcmVnZXggLy4qUXVlcnkJKi8vaQorU0VMRUNUIGFyZ3VtZW50IEZST00gdGVz dF9sb2cgV0hFUkUgYXJndW1lbnQgTElLRSBDT05DQVQoJyVhenVuJywnZHJpcyUnKTsKKworIyBz YW1lIGZvciBsb2dnaW5nIHRvIHRhYmxlCitTRUxFQ1QgYXJndW1lbnQgRlJPTSBteXNxbC5nZW5l cmFsX2xvZyBXSEVSRSBhcmd1bWVudCBMSUtFIENPTkNBVCgnJWF6dW4nLCdkcmlzJScpOworCist LWVjaG8gU2hvdyB0aGF0IHdlIGxvZ2dlZCBzdHVmZiBhdCBhbGw6CistLWVjaG8gLS0tLS0tIGZy b20gZmlsZSAtLS0tLS0KK1NFTEVDVCBUUklNKExFQURJTkcgJ1x0JyBGUk9NIE1JRChhcmd1bWVu dCxMT0NBVEUoJ1F1ZXJ5Jyxhcmd1bWVudCkrNSkpIEZST00gdGVzdF9sb2cgV0hFUkUgYXJndW1l bnQgTElLRSAnJVBBU1NXT1JEICUnOworLS1lY2hvIC0tLS0tLSBmcm9tIHRhYmxlIC0tLS0tLQor U0VMRUNUIGFyZ3VtZW50IEZST00gbXlzcWwuZ2VuZXJhbF9sb2cgV0hFUkUgYXJndW1lbnQgTElL RSAnJVBBU1NXT1JEICUnOworLS1lY2hvIC0tLS0tLSBkb25lIC0tLS0tLQorCistLWVjaG8gLS0t LS0tIHJld3JpdGUgLS0tLS0tCitTRUxFQ1QgYXJndW1lbnQgRlJPTSBteXNxbC5nZW5lcmFsX2xv ZyBXSEVSRSBhcmd1bWVudCBMSUtFICdTRVQgQ0hBUkFDVEVSIFNFVCAlJzsKK1NFTEVDVCBhcmd1 bWVudCBGUk9NIG15c3FsLmdlbmVyYWxfbG9nIFdIRVJFIGFyZ3VtZW50IExJS0UgJ1NFVCBOQU1F UyAlJzsKKy0tZWNobyAtLS0tLS0gZG9uZSAtLS0tLS0gc2VlIGxvZ190YWJsZXMudGVzdCBmb3Ig bW9yZSBwcm9vZiEgOikKKworRFJPUCBUQUJMRSB0ZXN0X2xvZzsKKworLS1yZW1vdmVfZmlsZSAk TVlTUUxURVNUX1ZBUkRJUi9sb2cvcmV3cml0ZV9nZW5lcmFsLmxvZworCitTRVQgR0xPQkFMIGdl bmVyYWxfbG9nX2ZpbGU9ICBAb2xkX2dlbmVyYWxfbG9nX2ZpbGU7CitTRVQgR0xPQkFMIGdlbmVy YWxfbG9nPSAgICAgICBAb2xkX2dlbmVyYWxfbG9nOworU0VUIEdMT0JBTCBsb2dfb3V0cHV0PSAg ICAgICAgQG9sZF9sb2dfb3V0cHV0OworCistLWVjaG8gRW5kIG9mIDUuNiB0ZXN0cyEKCj09PSBh ZGRlZCBmaWxlICdteXNxbC10ZXN0L3QvcmV3cml0ZV9zbG93X2xvZy50ZXN0JwotLS0gYS9teXNx bC10ZXN0L3QvcmV3cml0ZV9zbG93X2xvZy50ZXN0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAK KysrIGIvbXlzcWwtdGVzdC90L3Jld3JpdGVfc2xvd19sb2cudGVzdAkyMDExLTA4LTE5IDAwOjQ1 OjI4ICswMDAwCkBAIC0wLDAgKzEsOTYgQEAKKyMKKyMgV0wjNTcwNi9CdWcjNTg3MTIvQnVnIzEx NzQ2Mzc4CisjIEVuY3J5cHQgb3IgcmVtb3ZlIHBhc3N3b3JkcyBmcm9tIHNsb3csIHF1ZXJ5LCBh bmQgYmluYXJ5IGxvZ3MKKyMgKHNlZSBzcWwvc3FsX3Jld3JpdGUuY2MgZm9yIGJ1bGsgb2YgaW1w bGVtZW50YXRpb24pCisjCisKKy0tc291cmNlIGluY2x1ZGUvbm90X3dpbmRvd3MuaW5jCisKKyMg bWFrZSBzdXJlIHdlIHN0YXJ0IHdpdGggYSBjbGVhbiBzbGF0ZS4gbG9nX3RhYmxlcy50ZXN0IHNh eXMgdGhpcyBpcyBPSy4KK1RSVU5DQVRFIFRBQkxFIG15c3FsLnNsb3dfbG9nOworCitTRVQgQG9s ZF9sb2dfb3V0cHV0PSAgICAgICAgICBAQGdsb2JhbC5sb2dfb3V0cHV0OworU0VUIEBvbGRfc2xv d19xdWVyeV9sb2c9ICAgICAgQEBnbG9iYWwuc2xvd19xdWVyeV9sb2c7CitTRVQgQG9sZF9zbG93 X3F1ZXJ5X2xvZ19maWxlPSBAQGdsb2JhbC5zbG93X3F1ZXJ5X2xvZ19maWxlOworCitTRVQgQG9s ZF9sb25nX3F1ZXJ5X3RpbWU9ICAgICBAQGdsb2JhbC5sb25nX3F1ZXJ5X3RpbWU7CisKKy0tcmVw bGFjZV9yZXN1bHQgJE1ZU1FMVEVTVF9WQVJESVIgLi4uCitldmFsIFNFVCBHTE9CQUwgc2xvd19x dWVyeV9sb2dfZmlsZT0gJyRNWVNRTFRFU1RfVkFSRElSL2xvZy9yZXdyaXRlX3Nsb3cubG9nJzsK K1NFVCBHTE9CQUwgbG9nX291dHB1dCA9ICAgICAgICdGSUxFLFRBQkxFJzsKK1NFVCBHTE9CQUwg c2xvd19xdWVyeV9sb2c9ICAgICdPTic7CisKKyMgVGhlIGFuc3dlciBpcyBvYnZpb3VzOiBsb2cg ZXZlcnl0aGluZyEKK1NFVCBTRVNTSU9OIGxvbmdfcXVlcnlfdGltZT0gIDA7CisKKyMgU2hvdyB0 aGF0IG9iZnVzY2F0aW9uIGFwcGxpZXMgdG8gdGhlIHNsb3cgbG9nIGF0IGFsbC4KKyMgSWYgb25l IGFwcGxpZXMsIHRoZXkgYWxsIGRvLCBhbmQgd2UndmUgYWxyZWFkeSBkZW1vbnN0cmF0ZWQgdGhl IGluZGl2aWR1YWwKKyMgb2JmdXNjYXRpb25zIGFib3ZlIGZvciB0aGUgZ2VuZXJhbCBsb2cuCisK KyMgMS4xLjEuMQorR1JBTlQgQUxMIG9uICouKiBUTyB0ZXN0X3VzZXIxIElERU5USUZJRUQgQlkg J2F6dW5kcmlzMSc7CisKKyMgMS4xLjEuMgorQ1JFQVRFIFVTRVIgdGVzdF91c2VyMiBJREVOVElG SUVEIEJZICdhenVuZHJpczInOworCisjIDEuMS4xLjMKKy0tZGlzYWJsZV93YXJuaW5ncworQ0hB TkdFIE1BU1RFUiBUTyBNQVNURVJfUEFTU1dPUkQ9J2F6dW5kcmlzMyc7CitDSEFOR0UgTUFTVEVS IFRPIE1BU1RFUl9DT05ORUNUX1JFVFJZID0gMSwgTUFTVEVSX0hFQVJUQkVBVF9QRVJJT0QgPSAx LjAxLAorICBNQVNURVJfTE9HX0ZJTEUgPSAnbWFzdGVyX2xvZ19uYW1lJywgTUFTVEVSX0xPR19Q T1MgPSAwLAorICBNQVNURVJfU1NMID0gMCwgTUFTVEVSX1NTTF9DQSA9ICdjYV9maWxlX25hbWUn LAorICBNQVNURVJfU1NMX0NBUEFUSCA9ICdjYV9kaXJlY3RvcnlfbmFtZScsCisgIE1BU1RFUl9T U0xfQ0VSVCA9ICdjZXJ0X2ZpbGVfbmFtZScsIE1BU1RFUl9TU0xfS0VZID0gJ2tleV9maWxlX25h bWUnLAorICBNQVNURVJfU1NMX0NJUEhFUiA9ICdjaXBoZXJfbGlzdCcsIE1BU1RFUl9TU0xfVkVS SUZZX1NFUlZFUl9DRVJUID0gMCwKKyAgSUdOT1JFX1NFUlZFUl9JRFMgPSAoOTksMTAwKTsKKyMg Y2xlYW51cAorQ0hBTkdFIE1BU1RFUiBUTyBNQVNURVJfQ09OTkVDVF9SRVRSWSA9IDEsIE1BU1RF Ul9IRUFSVEJFQVRfUEVSSU9EID0gMS4wMSwKKyAgTUFTVEVSX0xPR19GSUxFID0gJycsIE1BU1RF Ul9MT0dfUE9TID0gMCwKKyAgTUFTVEVSX1NTTCA9IDAsIE1BU1RFUl9TU0xfQ0EgPSAnJywKKyAg TUFTVEVSX1NTTF9DQVBBVEggPSAnJywKKyAgTUFTVEVSX1NTTF9DRVJUID0gJycsIE1BU1RFUl9T U0xfS0VZID0gJycsCisgIE1BU1RFUl9TU0xfQ0lQSEVSID0gJycsIE1BU1RFUl9TU0xfVkVSSUZZ X1NFUlZFUl9DRVJUID0gMCwKKyAgSUdOT1JFX1NFUlZFUl9JRFMgPSAoICk7CistLWVuYWJsZV93 YXJuaW5ncworCisjIDEuMS4xLjQKK0NSRUFURSBVU0VSICd0ZXN0X3VzZXI0J0AnbG9jYWxob3N0 JzsKK1NFVCBQQVNTV09SRCBGT1IgJ3Rlc3RfdXNlcjQnQCdsb2NhbGhvc3QnID0gUEFTU1dPUkQo J2F6dW5kcmlzNCcpOworCitTRVQgU0VTU0lPTiBsb25nX3F1ZXJ5X3RpbWU9ICBAb2xkX2xvbmdf cXVlcnlfdGltZTsKKworIyBjbGVhbi11cAorU0VUIEdMT0JBTCBzbG93X3F1ZXJ5X2xvZz0nT0ZG JzsKKworRFJPUCBVU0VSICd0ZXN0X3VzZXI0J0AnbG9jYWxob3N0JzsKK0RST1AgVVNFUiB0ZXN0 X3VzZXIyOworRFJPUCBVU0VSIHRlc3RfdXNlcjE7CisKKyMgc2hvdyBzbG93LWxvZ2dpbmcgdG8g ZmlsZSBpcyBjb3JyZWN0CitDUkVBVEUgVEFCTEUgdGVzdF9sb2cgKHNxbF90ZXh0IFRFWFQpOwor LS1yZXBsYWNlX3Jlc3VsdCAkTVlTUUxURVNUX1ZBUkRJUiAuLi4KK2V2YWwgTE9BRCBEQVRBIExP Q0FMIElORklMRSAnJE1ZU1FMVEVTVF9WQVJESVIvbG9nL3Jld3JpdGVfc2xvdy5sb2cnCisgICAg IElOVE8gVEFCTEUgdGVzdF9sb2cgRklFTERTIFRFUk1JTkFURUQgQlkgJ1xuJyBMSU5FUyBURVJN SU5BVEVEIEJZICdcbic7CisKKyMgYWxsIHBhc3N3b3JkcyAoJ2F6dW5kcmlzJScpIG11c3QgaGF2 ZSBiZWVuIG9iZnVzY2F0ZWQgLT4gZW1wdHkgcmVzdWx0IHNldAorLS1lY2hvIFRoaXMgbGluZSBz aG91bGQgYmUgZm9sbG93ZWQgYnkgdHdvIFNFTEVDVHMgd2l0aCBlbXB0eSByZXN1bHQgc2V0cwor U0VMRUNUIHNxbF90ZXh0IEZST00gdGVzdF9sb2cgV0hFUkUgc3FsX3RleHQgTElLRSBDT05DQVQo JyVhenVuJywnZHJpcyUnKTsKKworIyBzYW1lIGZvciBsb2dnaW5nIHRvIHRhYmxlCitTRUxFQ1Qg c3FsX3RleHQgRlJPTSBteXNxbC5zbG93X2xvZyBXSEVSRSBzcWxfdGV4dCBMSUtFIENPTkNBVCgn JWF6dW4nLCdkcmlzJScpOworCistLWVjaG8gLS0tLS0tIGZyb20gZmlsZSAtLS0tLS0KK1NFTEVD VCBzcWxfdGV4dCBGUk9NIHRlc3RfbG9nIFdIRVJFIHNxbF90ZXh0IGxpa2UgJyVQQVNTV09SRCAl JzsgCistLWVjaG8gLS0tLS0tIGZyb20gdGFibGUgLS0tLS0tCitTRUxFQ1Qgc3FsX3RleHQgRlJP TSBteXNxbC5zbG93X2xvZyBXSEVSRSBzcWxfdGV4dCBsaWtlICclUEFTU1dPUkQgJSc7CistLWVj aG8gLS0tLS0tIGRvbmUgLS0tLS0tCisKK0RST1AgVEFCTEUgdGVzdF9sb2c7CisKKy0tcmVtb3Zl X2ZpbGUgJE1ZU1FMVEVTVF9WQVJESVIvbG9nL3Jld3JpdGVfc2xvdy5sb2cKKworU0VUIEdMT0JB TCBzbG93X3F1ZXJ5X2xvZ19maWxlPSBAb2xkX3Nsb3dfcXVlcnlfbG9nX2ZpbGU7CitTRVQgR0xP QkFMIHNsb3dfcXVlcnlfbG9nPSAgICAgIEBvbGRfc2xvd19xdWVyeV9sb2c7CitTRVQgR0xPQkFM IGxvZ19vdXRwdXQ9ICAgICAgICAgIEBvbGRfbG9nX291dHB1dDsKKworLS1lY2hvIEVuZCBvZiA1 LjYgdGVzdHMhCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL0NNYWtlTGlzdHMudHh0JwotLS0gYS9z cWwvQ01ha2VMaXN0cy50eHQJMjAxMS0wNy0yMiAwNzoyMTo0MCArMDAwMAorKysgYi9zcWwvQ01h a2VMaXN0cy50eHQJMjAxMS0wOC0xNyAxNDowNzowNyArMDAwMApAQCAtMTI5LDYgKzEyOSw3IEBA IFNFVChTUUxfU0hBUkVEX1NPVVJDRVMKICAgc3FsX3Byb2ZpbGUuY2MKICAgc3FsX3JlbG9hZC5j YwogICBzcWxfcmVuYW1lLmNjIAorICBzcWxfcmV3cml0ZS5jYwogICBzcWxfc2VsZWN0LmNjCiAg IHNxbF9zZXJ2ZXJzLmNjCiAgIHNxbF9zaG93LmNjCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL215 c3FsZC5jYycKLS0tIGEvc3FsL215c3FsZC5jYwkyMDExLTA4LTE4IDA4OjMxOjA4ICswMDAwCisr KyBiL3NxbC9teXNxbGQuY2MJMjAxMS0wOC0xOCAxODowNTo0NSArMDAwMApAQCAtMzUxLDcgKzM1 MSw3IEBAIHN0YXRpYyBteXNxbF9jb25kX3QgQ09ORF90aHJlYWRfY2FjaGUsIEMKIC8qIEdsb2Jh bCB2YXJpYWJsZXMgKi8KIAogYm9vbCBvcHRfYmluX2xvZywgb3B0X2lnbm9yZV9idWlsdGluX2lu bm9kYj0gMDsKLW15X2Jvb2wgb3B0X2xvZywgb3B0X3Nsb3dfbG9nOworbXlfYm9vbCBvcHRfbG9n LCBvcHRfc2xvd19sb2csIG9wdF9sb2dfcmF3OwogdWxvbmdsb25nIGxvZ19vdXRwdXRfb3B0aW9u czsKIG15X2Jvb2wgb3B0X2xvZ19xdWVyaWVzX25vdF91c2luZ19pbmRleGVzPSAwOwogYm9vbCBv cHRfZXJyb3JfbG9nPSBJRl9XSU4oMSwwKTsKQEAgLTYyNTIsNiArNjI1MiwxMSBAQCBzdHJ1Y3Qg bXlfb3B0aW9uIG15X2xvbmdfb3B0aW9uc1tdPQogICB7ImxvZy1pc2FtIiwgT1BUX0lTQU1fTE9H LCAiTG9nIGFsbCBNeUlTQU0gY2hhbmdlcyB0byBmaWxlLiIsCiAgICAmbXlpc2FtX2xvZ19maWxl bmFtZSwgJm15aXNhbV9sb2dfZmlsZW5hbWUsIDAsIEdFVF9TVFIsCiAgICBPUFRfQVJHLCAwLCAw LCAwLCAwLCAwLCAwfSwKKyAgeyJsb2ctcmF3IiwgMCwKKyAgICJMb2cgdG8gZ2VuZXJhbCBsb2cg YmVmb3JlIGFueSByZXdyaXRpbmcgb2YgdGhlIHF1ZXJ5LiBGb3IgdXNlIGluIGRlYnVnZ2luZywg bm90IHByb2R1Y3Rpb24gYXMgIgorICAgInNlbnNpdGl2ZSBpbmZvcm1hdGlvbiBtYXkgYmUgbG9n Z2VkLiIsCisgICAmb3B0X2xvZ19yYXcsICZvcHRfbG9nX3JhdywKKyAgIDAsIEdFVF9CT09MLCBO T19BUkcsIDAsIDAsIDEsIDAsIDEsIDAgfSwKICAgeyJsb2ctc2hvcnQtZm9ybWF0IiwgMCwKICAg ICJEb24ndCBsb2cgZXh0cmEgaW5mb3JtYXRpb24gdG8gdXBkYXRlIGFuZCBzbG93LXF1ZXJ5IGxv Z3MuIiwKICAgICZvcHRfc2hvcnRfbG9nX2Zvcm1hdCwgJm9wdF9zaG9ydF9sb2dfZm9ybWF0LAoK PT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9teXNxbGQuaCcKLS0tIGEvc3FsL215c3FsZC5oCTIwMTEt MDgtMTggMDg6MzE6MDggKzAwMDAKKysrIGIvc3FsL215c3FsZC5oCTIwMTEtMDgtMTggMTg6MDU6 NDUgKzAwMDAKQEAgLTk0LDcgKzk0LDcgQEAgZXh0ZXJuIENIQVJTRVRfSU5GTyAqY2hhcmFjdGVy X3NldF9maWxlcwogZXh0ZXJuIE1ZX0JJVE1BUCB0ZW1wX3Bvb2w7CiBleHRlcm4gYm9vbCBvcHRf bGFyZ2VfZmlsZXMsIHNlcnZlcl9pZF9zdXBwbGllZDsKIGV4dGVybiBib29sIG9wdF91cGRhdGVf bG9nLCBvcHRfYmluX2xvZywgb3B0X2Vycm9yX2xvZzsKLWV4dGVybiBteV9ib29sIG9wdF9sb2cs IG9wdF9zbG93X2xvZzsKK2V4dGVybiBteV9ib29sIG9wdF9sb2csIG9wdF9zbG93X2xvZywgb3B0 X2xvZ19yYXc7CiBleHRlcm4gbXlfYm9vbCBvcHRfYmFja3VwX2hpc3RvcnlfbG9nOwogZXh0ZXJu IG15X2Jvb2wgb3B0X2JhY2t1cF9wcm9ncmVzc19sb2c7CiBleHRlcm4gdWxvbmdsb25nIGxvZ19v dXRwdXRfb3B0aW9uczsKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvc2V0X3Zhci5jYycKLS0tIGEv c3FsL3NldF92YXIuY2MJMjAxMS0wNy0yOCAxMDo1NDo0NCArMDAwMAorKysgYi9zcWwvc2V0X3Zh ci5jYwkyMDExLTA4LTE3IDE0OjA3OjA3ICswMDAwCkBAIC0zNCw3ICszNCw3IEBACiAjaW5jbHVk ZSAidHp0aW1lLmgiICAgICAvLyBteV90el9maW5kLCBteV90el9TWVNURU0sIHN0cnVjdCBUaW1l X3pvbmUKICNpbmNsdWRlICJzcWxfYWNsLmgiICAgIC8vIFNVUEVSX0FDTAogI2luY2x1ZGUgInNx bF9zZWxlY3QuaCIgLy8gZnJlZV91bmRlcmxhaWRfam9pbnMKLSNpbmNsdWRlICJzcWxfc2hvdy5o IiAgIC8vIG1ha2VfZGVmYXVsdF9sb2dfbmFtZQorI2luY2x1ZGUgInNxbF9zaG93LmgiICAgLy8g bWFrZV9kZWZhdWx0X2xvZ19uYW1lLCBhcHBlbmRfaWRlbnRpZmllcgogI2luY2x1ZGUgInNxbF92 aWV3LmgiICAgLy8gdXBkYXRhYmxlX3ZpZXdzX3dpdGhfbGltaXRfdHlwZWxpYgogI2luY2x1ZGUg ImxvY2suaCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbG9ja19nbG9iYWxfcmVh ZF9sb2NrLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ly8gbWFrZV9nbG9iYWxfcmVhZF9sb2NrX2Jsb2NrX2NvbW1pdCwKQEAgLTY2OCw2ICs2NjgsMjcg QEAgaW50IHNldF92YXI6OnVwZGF0ZShUSEQgKnRoZCkKICAgcmV0dXJuIHZhbHVlID8gdmFyLT51 cGRhdGUodGhkLCB0aGlzKSA6IHZhci0+c2V0X2RlZmF1bHQodGhkLCB0eXBlKTsKIH0KIAorLyoq CisgIFNlbGYtcHJpbnQgYXNzaWdubWVudAorCisgIEBwYXJhbSAgIHN0ciAgICBzdHJpbmcgYnVm ZmVyIHRvIGFwcGVuZCB0aGUgcGFydGlhbCBhc3NpZ25tZW50IHRvCisqLwordm9pZCBzZXRfdmFy OjpwcmludChUSEQgKnRoZCwgU3RyaW5nICpzdHIpCit7CisgIHN0ci0+YXBwZW5kKHR5cGUgPT0g T1BUX0dMT0JBTCA/ICJHTE9CQUwgIiA6ICJTRVNTSU9OICIpOworICBpZiAoYmFzZS5sZW5ndGgp CisgIHsKKyAgICBzdHItPmFwcGVuZChiYXNlLnN0ciwgYmFzZS5sZW5ndGgpOworICAgIHN0ci0+ YXBwZW5kKFNUUklOR19XSVRIX0xFTigiLiIpKTsKKyAgfQorICBzdHItPmFwcGVuZCh2YXItPm5h bWUuc3RyLHZhci0+bmFtZS5sZW5ndGgpOworICBzdHItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4o Ij0iKSk7CisgIGlmICh2YWx1ZSkKKyAgICB2YWx1ZS0+cHJpbnQoc3RyLCBRVF9PUkRJTkFSWSk7 CisgIGVsc2UKKyAgICBzdHItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIkRFRkFVTFQiKSk7Cit9 CisKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEZ1bmN0aW9ucyB0byBoYW5kbGUgU0VUIEB1 c2VyX3ZhcmlhYmxlPWNvbnN0X2V4cHIKQEAgLTcxOCw2ICs3MzksMTIgQEAgaW50IHNldF92YXJf dXNlcjo6dXBkYXRlKFRIRCAqdGhkKQogfQogCiAKK3ZvaWQgc2V0X3Zhcl91c2VyOjpwcmludChU SEQgKnRoZCwgU3RyaW5nICpzdHIpCit7CisgIHVzZXJfdmFyX2l0ZW0tPnByaW50KHN0ciwgUVRf T1JESU5BUlkpOworfQorCisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBGdW5jdGlvbnMgdG8g aGFuZGxlIFNFVCBQQVNTV09SRAogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCkBAIC03NjQsNiArNzkx LDI0IEBAIGludCBzZXRfdmFyX3Bhc3N3b3JkOjp1cGRhdGUoVEhEICp0aGQpCiAjZW5kaWYKIH0K IAordm9pZCBzZXRfdmFyX3Bhc3N3b3JkOjpwcmludChUSEQgKnRoZCwgU3RyaW5nICpzdHIpCit7 CisgIGlmICh1c2VyLT51c2VyLnN0ciAhPSBOVUxMICYmIHVzZXItPnVzZXIubGVuZ3RoID4gMCkK KyAgeworICAgIHN0ci0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiUEFTU1dPUkQgRk9SICIpKTsK KyAgICBhcHBlbmRfaWRlbnRpZmllcih0aGQsIHN0ciwgdXNlci0+dXNlci5zdHIsIHVzZXItPnVz ZXIubGVuZ3RoKTsKKyAgICBpZiAodXNlci0+aG9zdC5zdHIgIT0gTlVMTCAmJiB1c2VyLT5ob3N0 Lmxlbmd0aCA+IDApCisgICAgeworICAgICAgc3RyLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCJA IikpOworICAgICAgYXBwZW5kX2lkZW50aWZpZXIodGhkLCBzdHIsIHVzZXItPmhvc3Quc3RyLCB1 c2VyLT5ob3N0Lmxlbmd0aCk7CisgICAgfQorICAgIHN0ci0+YXBwZW5kKFNUUklOR19XSVRIX0xF TigiPSIpKTsKKyAgfQorICBlbHNlCisgICAgc3RyLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCJQ QVNTV09SRCBGT1IgQ1VSUkVOVF9VU0VSKCk9IikpOworICBzdHItPmFwcGVuZChTVFJJTkdfV0lU SF9MRU4oIjxzZWNyZXQ+IikpOworfQorCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgRnVuY3Rp b25zIHRvIGhhbmRsZSBTRVQgTkFNRVMgYW5kIFNFVCBDSEFSQUNURVIgU0VUCiAqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKi8KQEAgLTc5MSwzICs4MzYsMjEgQEAgaW50IHNldF92YXJfY29sbGF0aW9uX2Ns aWVudDo6dXBkYXRlKFRIRAogICByZXR1cm4gMDsKIH0KIAordm9pZCBzZXRfdmFyX2NvbGxhdGlv bl9jbGllbnQ6OnByaW50KFRIRCAqdGhkLCBTdHJpbmcgKnN0cikKK3sKKyAgc3RyLT5hcHBlbmQo KHNldF9jc19mbGFncyAmIFNFVF9DU19OQU1FUykgPyAiTkFNRVMgIiA6ICJDSEFSQUNURVIgU0VU ICIpOworICBpZiAoc2V0X2NzX2ZsYWdzICYgU0VUX0NTX0RFRkFVTFQpCisgICAgc3RyLT5hcHBl bmQoIkRFRkFVTFQiKTsKKyAgZWxzZQorICB7CisgICAgc3RyLT5hcHBlbmQoIiciKTsKKyAgICBz dHItPmFwcGVuZChjaGFyYWN0ZXJfc2V0X2NsaWVudC0+Y3NuYW1lKTsKKyAgICBzdHItPmFwcGVu ZCgiJyIpOworICAgIGlmIChzZXRfY3NfZmxhZ3MgJiBTRVRfQ1NfQ09MTEFURSkKKyAgICB7Cisg ICAgICBzdHItPmFwcGVuZCgiIENPTExBVEUgJyIpOworICAgICAgc3RyLT5hcHBlbmQoY29sbGF0 aW9uX2Nvbm5lY3Rpb24tPm5hbWUpOworICAgICAgc3RyLT5hcHBlbmQoIiciKTsKKyAgICB9Cisg IH0KK30KCj09PSBtb2RpZmllZCBmaWxlICdzcWwvc2V0X3Zhci5oJwotLS0gYS9zcWwvc2V0X3Zh ci5oCTIwMTEtMDctMTkgMTU6MTE6MTUgKzAwMDAKKysrIGIvc3FsL3NldF92YXIuaAkyMDExLTA4 LTE3IDE0OjA3OjA3ICswMDAwCkBAIC0xODcsNiArMTg3LDcgQEAgcHVibGljOgogICB2aXJ0dWFs IGludCBjaGVjayhUSEQgKnRoZCk9MDsgICAgICAgICAgIC8qIFRvIGNoZWNrIHByaXZpbGVnZXMg ZXRjLiAqLwogICB2aXJ0dWFsIGludCB1cGRhdGUoVEhEICp0aGQpPTA7ICAgICAgICAgICAgICAg ICAgLyogVG8gc2V0IHRoZSB2YWx1ZSAqLwogICB2aXJ0dWFsIGludCBsaWdodF9jaGVjayhUSEQg KnRoZCkgeyByZXR1cm4gY2hlY2sodGhkKTsgfSAgIC8qIGZvciBQUyAqLworICB2aXJ0dWFsIHZv aWQgcHJpbnQoVEhEICp0aGQsIFN0cmluZyAqc3RyKT0wOwkvKiBUbyBzZWxmLXByaW50ICovCiAg IC8vLyBAcmV0dXJucyB3aGV0aGVyIHRoaXMgdmFyaWFibGUgaXMgQEBAQG9wdGltaXplcl90cmFj ZS4KICAgdmlydHVhbCBib29sIGlzX3Zhcl9vcHRpbWl6ZXJfdHJhY2UoKSBjb25zdCB7IHJldHVy biBmYWxzZTsgfQogfTsKQEAgLTIzNCw2ICsyMzUsNyBAQCBwdWJsaWM6CiAgIGludCBjaGVjayhU SEQgKnRoZCk7CiAgIGludCB1cGRhdGUoVEhEICp0aGQpOwogICBpbnQgbGlnaHRfY2hlY2soVEhE ICp0aGQpOworICB2b2lkIHByaW50KFRIRCAqdGhkLCBTdHJpbmcgKnN0cik7CS8qIFRvIHNlbGYt cHJpbnQgKi8KICNpZmRlZiBPUFRJTUlaRVJfVFJBQ0UKICAgdmlydHVhbCBib29sIGlzX3Zhcl9v cHRpbWl6ZXJfdHJhY2UoKSBjb25zdAogICB7CkBAIC0yNTUsNiArMjU3LDcgQEAgcHVibGljOgog ICBpbnQgY2hlY2soVEhEICp0aGQpOwogICBpbnQgdXBkYXRlKFRIRCAqdGhkKTsKICAgaW50IGxp Z2h0X2NoZWNrKFRIRCAqdGhkKTsKKyAgdm9pZCBwcmludChUSEQgKnRoZCwgU3RyaW5nICpzdHIp OwkvKiBUbyBzZWxmLXByaW50ICovCiB9OwogCiAvKiBGb3IgU0VUIFBBU1NXT1JEICovCkBAIC0y NjksNiArMjcyLDcgQEAgcHVibGljOgogICB7fQogICBpbnQgY2hlY2soVEhEICp0aGQpOwogICBp bnQgdXBkYXRlKFRIRCAqdGhkKTsKKyAgdm9pZCBwcmludChUSEQgKnRoZCwgU3RyaW5nICpzdHIp OwkvKiBUbyBzZWxmLXByaW50ICovCiB9OwogCiAKQEAgLTI3NiwxOSArMjgwLDI0IEBAIHB1Ymxp YzoKIAogY2xhc3Mgc2V0X3Zhcl9jb2xsYXRpb25fY2xpZW50OiBwdWJsaWMgc2V0X3Zhcl9iYXNl CiB7CisgIGludCAgIHNldF9jc19mbGFnczsKICAgY29uc3QgQ0hBUlNFVF9JTkZPICpjaGFyYWN0 ZXJfc2V0X2NsaWVudDsKICAgY29uc3QgQ0hBUlNFVF9JTkZPICpjaGFyYWN0ZXJfc2V0X3Jlc3Vs dHM7CiAgIGNvbnN0IENIQVJTRVRfSU5GTyAqY29sbGF0aW9uX2Nvbm5lY3Rpb247CiBwdWJsaWM6 Ci0gIHNldF92YXJfY29sbGF0aW9uX2NsaWVudChjb25zdCBDSEFSU0VUX0lORk8gKmNsaWVudF9j b2xsX2FyZywKKyAgZW51bSAgc2V0X2NzX2ZsYWdzX2VudW0geyBTRVRfQ1NfTkFNRVM9MSwgU0VU X0NTX0RFRkFVTFQ9MiwgU0VUX0NTX0NPTExBVEU9NCB9OworICBzZXRfdmFyX2NvbGxhdGlvbl9j bGllbnQoaW50IHNldF9jc19mbGFnc19hcmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBDSEFSU0VUX0lORk8gKmNsaWVudF9jb2xsX2FyZywKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IENIQVJTRVRfSU5GTyAqY29ubmVjdGlvbl9jb2xsX2FyZywKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IENIQVJTRVRfSU5GTyAqcmVzdWx0X2NvbGxfYXJnKQot ICAgIDpjaGFyYWN0ZXJfc2V0X2NsaWVudChjbGllbnRfY29sbF9hcmcpLAorICAgIDpzZXRfY3Nf ZmxhZ3Moc2V0X2NzX2ZsYWdzX2FyZyksCisgICAgIGNoYXJhY3Rlcl9zZXRfY2xpZW50KGNsaWVu dF9jb2xsX2FyZyksCiAgICAgIGNoYXJhY3Rlcl9zZXRfcmVzdWx0cyhyZXN1bHRfY29sbF9hcmcp LAogICAgICBjb2xsYXRpb25fY29ubmVjdGlvbihjb25uZWN0aW9uX2NvbGxfYXJnKQogICB7fQog ICBpbnQgY2hlY2soVEhEICp0aGQpOwogICBpbnQgdXBkYXRlKFRIRCAqdGhkKTsKKyAgdm9pZCBw cmludChUSEQgKnRoZCwgU3RyaW5nICpzdHIpOwkvKiBUbyBzZWxmLXByaW50ICovCiB9OwogCiAK Cj09PSBtb2RpZmllZCBmaWxlICdzcWwvc3FsX2FjbC5jYycKLS0tIGEvc3FsL3NxbF9hY2wuY2MJ MjAxMS0wNy0yOCAxMDo1NDo0NCArMDAwMAorKysgYi9zcWwvc3FsX2FjbC5jYwkyMDExLTA4LTE4 IDEzOjUzOjA1ICswMDAwCkBAIC0zODk3LDcgKzM4OTcsOCBAQCBib29sIG15c3FsX3JvdXRpbmVf Z3JhbnQoVEhEICp0aGQsIFRBQkxFCiAgICAgewogICAgICAgcmVzdWx0PSBUUlVFOwogICAgICAg Y29udGludWU7Ci0gICAgfSAgCisgICAgfQorCiAgICAgLyogQ3JlYXRlIHVzZXIgaWYgbmVlZGVk ICovCiAgICAgZXJyb3I9cmVwbGFjZV91c2VyX3RhYmxlKHRoZCwgdGFibGVzWzBdLnRhYmxlLCAq U3RyLAogCQkJICAgICAwLCByZXZva2VfZ3JhbnQsIGNyZWF0ZV9uZXdfdXNlcnMsCkBAIC0zOTU0 LDggKzM5NTUsMTkgQEAgYm9vbCBteXNxbF9yb3V0aW5lX2dyYW50KFRIRCAqdGhkLCBUQUJMRQog CiAgIGlmICh3cml0ZV90b19iaW5sb2cgJiYgc2hvdWxkX3dyaXRlX3RvX2JpbmxvZykKICAgewot ICAgIGlmICh3cml0ZV9iaW5fbG9nKHRoZCwgRkFMU0UsIHRoZC0+cXVlcnkoKSwgdGhkLT5xdWVy eV9sZW5ndGgoKSkpCi0gICAgICByZXN1bHQ9IFRSVUU7CisgICAgaWYgKHJldm9rZV9ncmFudCkK KyAgICB7CisgICAgICBpZiAod3JpdGVfYmluX2xvZyh0aGQsIEZBTFNFLCB0aGQtPnF1ZXJ5KCks IHRoZC0+cXVlcnlfbGVuZ3RoKCkpKQorICAgICAgICByZXN1bHQ9IFRSVUU7CisgICAgfQorICAg IGVsc2UKKyAgICB7CisgICAgICBEQlVHX0FTU0VSVCh0aGQtPnJld3JpdHRlbl9xdWVyeS5sZW5n dGgoKSk7CisgICAgICBpZiAod3JpdGVfYmluX2xvZyh0aGQsIEZBTFNFLAorICAgICAgICAgICAg ICAgICAgICAgICAgdGhkLT5yZXdyaXR0ZW5fcXVlcnkuY19wdHJfc2FmZSgpLAorICAgICAgICAg ICAgICAgICAgICAgICAgdGhkLT5yZXdyaXR0ZW5fcXVlcnkubGVuZ3RoKCkpKQorICAgICAgICBy ZXN1bHQ9IFRSVUU7CisgICAgfQogICB9CiAKICAgbXlzcWxfcndsb2NrX3VubG9jaygmTE9DS19n cmFudCk7CkBAIC00MDcyLDYgKzQwODQsNyBAQCBib29sIG15c3FsX2dyYW50KFRIRCAqdGhkLCBj b25zdCBjaGFyICpkCiAgICAgICByZXN1bHQ9IFRSVUU7CiAgICAgICBjb250aW51ZTsKICAgICB9 CisKICAgICAvKgogICAgICAgTm8gVXNlciwgYnV0IGEgcGFzc3dvcmQ/CiAgICAgICBUaGV5IGRp ZCBHUkFOVCAuLi4gVE8gQ1VSUkVOVF9VU0VSKCkgSURFTlRJRklFRCBCWSAuLi4gIQpAQCAtNDA3 OSw2ICs0MDkyLDcgQEAgYm9vbCBteXNxbF9ncmFudChUSEQgKnRoZCwgY29uc3QgY2hhciAqZAog ICAgICovCiAgICAgaWYgKCF0bXBfU3RyLT51c2VyLnN0ciAmJiB0bXBfU3RyLT5wYXNzd29yZC5z dHIpCiAgICAgICBTdHItPnBhc3N3b3JkPSB0bXBfU3RyLT5wYXNzd29yZDsKKwogICAgIGlmIChy ZXBsYWNlX3VzZXJfdGFibGUodGhkLCB0YWJsZXNbMF0udGFibGUsICpTdHIsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoIWRiID8gcmlnaHRzIDogMCksIHJldm9rZV9ncmFudCwgY3JlYXRl X25ld191c2VycywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3QodGhkLT52YXJpYWJs ZXMuc3FsX21vZGUgJgpAQCAtNDExNSw4ICs0MTI5LDE2IEBAIGJvb2wgbXlzcWxfZ3JhbnQoVEhE ICp0aGQsIGNvbnN0IGNoYXIgKmQKICAgbXlzcWxfbXV0ZXhfdW5sb2NrKCZhY2xfY2FjaGUtPmxv Y2spOwogCiAgIGlmIChzaG91bGRfd3JpdGVfdG9fYmlubG9nKQotICAgIHJlc3VsdD0gcmVzdWx0 IHwKLSAgICAgICAgICAgIHdyaXRlX2Jpbl9sb2codGhkLCBGQUxTRSwgdGhkLT5xdWVyeSgpLCB0 aGQtPnF1ZXJ5X2xlbmd0aCgpKTsKKyAgeworICAgIGlmICh0aGQtPnJld3JpdHRlbl9xdWVyeS5s ZW5ndGgoKSkKKyAgICAgIHJlc3VsdD0gcmVzdWx0IHwKKyAgICAgICAgICB3cml0ZV9iaW5fbG9n KHRoZCwgRkFMU0UsCisgICAgICAgICAgICAgICAgICAgICAgICB0aGQtPnJld3JpdHRlbl9xdWVy eS5jX3B0cl9zYWZlKCksCisgICAgICAgICAgICAgICAgICAgICAgICB0aGQtPnJld3JpdHRlbl9x dWVyeS5sZW5ndGgoKSk7CisgICAgZWxzZQorICAgICAgcmVzdWx0PSByZXN1bHQgfAorICAgICAg ICAgICAgICB3cml0ZV9iaW5fbG9nKHRoZCwgRkFMU0UsIHRoZC0+cXVlcnkoKSwgdGhkLT5xdWVy eV9sZW5ndGgoKSk7CisgIH0KIAogICBteXNxbF9yd2xvY2tfdW5sb2NrKCZMT0NLX2dyYW50KTsK IApAQCAtNTE3Nyw3ICs1MTk5LDkgQEAgc3RhdGljIHZvaWQgYWRkX3VzZXJfb3B0aW9uKFN0cmlu ZyAqZ3JhbgogICB9CiB9CiAKLXN0YXRpYyBjb25zdCBjaGFyICpjb21tYW5kX2FycmF5W109Cisj ZW5kaWYgLypOT19FTUJFRERFRF9BQ0NFU1NfQ0hFQ0tTICovCisKK2NvbnN0IGNoYXIgKmNvbW1h bmRfYXJyYXlbXT0KIHsKICAgIlNFTEVDVCIsICJJTlNFUlQiLCAiVVBEQVRFIiwgIkRFTEVURSIs ICJDUkVBVEUiLCAiRFJPUCIsICJSRUxPQUQiLAogICAiU0hVVERPV04iLCAiUFJPQ0VTUyIsIkZJ TEUiLCAiR1JBTlQiLCAiUkVGRVJFTkNFUyIsICJJTkRFWCIsCkBAIC01MTg3LDEzICs1MjExLDI3 IEBAIHN0YXRpYyBjb25zdCBjaGFyICpjb21tYW5kX2FycmF5W109CiAgICJDUkVBVEUgVVNFUiIs ICJFVkVOVCIsICJUUklHR0VSIiwgIkNSRUFURSBUQUJMRVNQQUNFIgogfTsKIAotc3RhdGljIHVp bnQgY29tbWFuZF9sZW5ndGhzW109Cit1aW50IGNvbW1hbmRfbGVuZ3Roc1tdPQogewogICA2LCA2 LCA2LCA2LCA2LCA0LCA2LCA4LCA3LCA0LCA1LCAxMCwgNSwgNSwgMTQsIDUsIDIzLCAxMSwgNywg MTcsIDE4LCAxMSwgOSwKICAgMTQsIDEzLCAxMSwgNSwgNywgMTcKIH07CiAKIAordm9pZCBhcHBl bmRfaW50KFN0cmluZyAqc3RyLCBjb25zdCBjaGFyICp0eHQsIHNpemVfdCBsZW4sCisgICAgICAg ICAgICAgICAgbG9uZyB2YWwsIGludCBjb25kKQoreworICBpZiAoY29uZCkKKyAgeworICAgIFN0 cmluZyBudW1idWYoNDIpOworICAgIHN0ci0+YXBwZW5kKHR4dCxsZW4pOworICAgIG51bWJ1Zi5z ZXQoKGxvbmdsb25nKXZhbCwmbXlfY2hhcnNldF9iaW4pOworICAgIHN0ci0+YXBwZW5kKG51bWJ1 Zik7CisgIH0KK30KKworI2lmbmRlZiBOT19FTUJFRERFRF9BQ0NFU1NfQ0hFQ0tTCisKIHN0YXRp YyBpbnQgc2hvd19yb3V0aW5lX2dyYW50cyhUSEQgKnRoZCwgTEVYX1VTRVIgKmxleF91c2VyLCBI QVNIICpoYXNoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnR5 cGUsIGludCB0eXBlbGVuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmJ1 ZmYsIGludCBidWZmc2l6ZSk7CkBAIC02NDA1LDYgKzY0NDMsOCBAQCBzdGF0aWMgaW50IGhhbmRs ZV9ncmFudF9kYXRhKFRBQkxFX0xJU1QgCiAgIERCVUdfUkVUVVJOKHJlc3VsdCk7CiB9CiAKKyNl bmRpZiAvKk5PX0VNQkVEREVEX0FDQ0VTU19DSEVDS1MgKi8KKwogLyoqCiAgIEF1eGlsaWFyeSBm dW5jdGlvbiBmb3IgY29uc3RydWN0aW5nIGEgIHVzZXIgbGlzdCBzdHJpbmcuCiAgIEBwYXJhbSBz dHIgICAgIEEgU3RyaW5nIHRvIHN0b3JlIHRoZSB1c2VyIGxpc3QuCkBAIC02NDEzLDggKzY0NTMs OCBAQCBzdGF0aWMgaW50IGhhbmRsZV9ncmFudF9kYXRhKFRBQkxFX0xJU1QgCiAgIEBwYXJhbSBp ZGVudCAgIElmIFRSVUUsIGFwcGVuZCAnIElERU5USUZJRUQgQlkvV0lUSC4uLicgYWZ0ZXIgdGhl IHVzZXIsCiAgICAgICAgICAgICAgICAgIGlmIHRoZSBnaXZlbiB1c2VyIGhhcyBjcmVkZW50aWFs cyBzZXQgd2l0aCAnSURFTlRJRklFRCBCWS9XSVRIJwogICovCi1zdGF0aWMgdm9pZCBhcHBlbmRf dXNlcihTdHJpbmcgKnN0ciwgTEVYX1VTRVIgKnVzZXIsIGJvb2wgY29tbWE9IFRSVUUsCi0gICAg ICAgICAgICAgICAgICAgICAgICBib29sIGlkZW50PSBGQUxTRSkKK3ZvaWQgYXBwZW5kX3VzZXIo U3RyaW5nICpzdHIsIExFWF9VU0VSICp1c2VyLCBib29sIGNvbW1hPSBUUlVFLAorICAgICAgICAg ICAgICAgICBib29sIGlkZW50PSBGQUxTRSkKIHsKICAgU3RyaW5nIGZyb21fdXNlcih1c2VyLT51 c2VyLnN0ciwgdXNlci0+dXNlci5sZW5ndGgsIHN5c3RlbV9jaGFyc2V0X2luZm8pOwogICBTdHJp bmcgZnJvbV9wbHVnaW4odXNlci0+cGx1Z2luLnN0ciwgdXNlci0+cGx1Z2luLmxlbmd0aCwgc3lz dGVtX2NoYXJzZXRfaW5mbyk7CkBAIC02NDU0LDYgKzY0OTQsNyBAQCBzdGF0aWMgdm9pZCBhcHBl bmRfdXNlcihTdHJpbmcgKnN0ciwgTEVYCiAgIH0KIH0KIAorI2lmbmRlZiBOT19FTUJFRERFRF9B Q0NFU1NfQ0hFQ0tTCiAKIC8qCiAgIENyZWF0ZSBhIGxpc3Qgb2YgdXNlcnMuCkBAIC02NDcyLDcg KzY1MTMsNiBAQCBib29sIG15c3FsX2NyZWF0ZV91c2VyKFRIRCAqdGhkLCBMaXN0IDxMCiB7CiAg IGludCByZXN1bHQ7CiAgIFN0cmluZyB3cm9uZ191c2VyczsKLSAgU3RyaW5nIGxvZ19xdWVyeTsK ICAgTEVYX1VTRVIgKnVzZXJfbmFtZSwgKnRtcF91c2VyX25hbWU7CiAgIExpc3RfaXRlcmF0b3Ig PExFWF9VU0VSPiB1c2VyX2xpc3QobGlzdCk7CiAgIFRBQkxFX0xJU1QgdGFibGVzW0dSQU5UX1RB QkxFU107CkBAIC02NTAxLDcgKzY1NDEsNiBAQCBib29sIG15c3FsX2NyZWF0ZV91c2VyKFRIRCAq dGhkLCBMaXN0IDxMCiAgIG15c3FsX3J3bG9ja193cmxvY2soJkxPQ0tfZ3JhbnQpOwogICBteXNx bF9tdXRleF9sb2NrKCZhY2xfY2FjaGUtPmxvY2spOwogCi0gIGxvZ19xdWVyeS5hcHBlbmQoU1RS SU5HX1dJVEhfTEVOKCJDUkVBVEUgVVNFUiIpKTsKICAgd2hpbGUgKCh0bXBfdXNlcl9uYW1lPSB1 c2VyX2xpc3QrKykpCiAgIHsKICAgICBpZiAoISh1c2VyX25hbWU9IGdldF9jdXJyZW50X3VzZXIo dGhkLCB0bXBfdXNlcl9uYW1lKSkpCkBAIC02NTEwLDI0ICs2NTQ5LDIwIEBAIGJvb2wgbXlzcWxf Y3JlYXRlX3VzZXIoVEhEICp0aGQsIExpc3QgPEwKICAgICAgIGNvbnRpbnVlOwogICAgIH0KIAot ICAgIGxvZ19xdWVyeS5hcHBlbmQoJyAnKTsKLSAgICBhcHBlbmRfdXNlcigmbG9nX3F1ZXJ5LCB1 c2VyX25hbWUsIEZBTFNFLCBUUlVFKTsKLSAgICBsb2dfcXVlcnkuYXBwZW5kKCcsJyk7Ci0KICAg ICAvKgogICAgICAgU2VhcmNoIGFsbCBpbi1tZW1vcnkgc3RydWN0dXJlcyBhbmQgZ3JhbnQgdGFi bGVzCiAgICAgICBmb3IgYSBtZW50aW9uIG9mIHRoZSBuZXcgdXNlciBuYW1lLgogICAgICovCiAg ICAgaWYgKGhhbmRsZV9ncmFudF9kYXRhKHRhYmxlcywgMCwgdXNlcl9uYW1lLCBOVUxMKSkKICAg ICB7Ci0gICAgICBhcHBlbmRfdXNlcigmd3JvbmdfdXNlcnMsIHVzZXJfbmFtZSwgd3JvbmdfdXNl cnMubGVuZ3RoKCkgPiAwKTsKKyAgICAgIGFwcGVuZF91c2VyKCZ3cm9uZ191c2VycywgdXNlcl9u YW1lLCB3cm9uZ191c2Vycy5sZW5ndGgoKSA+IDAsIEZBTFNFKTsKICAgICAgIHJlc3VsdD0gVFJV RTsKICAgICAgIGNvbnRpbnVlOwogICAgIH0KIAogICAgIGlmIChyZXBsYWNlX3VzZXJfdGFibGUo dGhkLCB0YWJsZXNbMF0udGFibGUsICp1c2VyX25hbWUsIDAsIDAsIDEsIDApKQogICAgIHsKLSAg ICAgIGFwcGVuZF91c2VyKCZ3cm9uZ191c2VycywgdXNlcl9uYW1lLCB3cm9uZ191c2Vycy5sZW5n dGgoKSA+IDApOworICAgICAgYXBwZW5kX3VzZXIoJndyb25nX3VzZXJzLCB1c2VyX25hbWUsIHdy b25nX3VzZXJzLmxlbmd0aCgpID4gMCwgRkFMU0UpOwogICAgICAgcmVzdWx0PSBUUlVFOwogICAg ICAgY29udGludWU7CiAgICAgfQpAQCAtNjU0Miw5ICs2NTc3LDkgQEAgYm9vbCBteXNxbF9jcmVh dGVfdXNlcihUSEQgKnRoZCwgTGlzdCA8TAogCiAgIGlmIChzb21lX3VzZXJzX2NyZWF0ZWQpCiAg IHsKLSAgICAvKiBSZW1vdmUgdGhlIGxhc3QgJywnICovCi0gICAgbG9nX3F1ZXJ5Lmxlbmd0aChs b2dfcXVlcnkubGVuZ3RoKCktMSk7Ci0gICAgcmVzdWx0fD0gd3JpdGVfYmluX2xvZyh0aGQsIEZB TFNFLCBsb2dfcXVlcnkuY19wdHJfc2FmZSgpLCBsb2dfcXVlcnkubGVuZ3RoKCkpOworICAgIHJl c3VsdHw9IHdyaXRlX2Jpbl9sb2codGhkLCBGQUxTRSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRoZC0+cmV3cml0dGVuX3F1ZXJ5LmNfcHRyX3NhZmUoKSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIHRoZC0+cmV3cml0dGVuX3F1ZXJ5Lmxlbmd0aCgpKTsKICAgfQogCiAgIG15c3Fs X3J3bG9ja191bmxvY2soJkxPQ0tfZ3JhbnQpOwpAQCAtNjYxMyw3ICs2NjQ4LDcgQEAgYm9vbCBt eXNxbF9kcm9wX3VzZXIoVEhEICp0aGQsIExpc3QgPExFWAogICAgIH0gIAogICAgIGlmIChoYW5k bGVfZ3JhbnRfZGF0YSh0YWJsZXMsIDEsIHVzZXJfbmFtZSwgTlVMTCkgPD0gMCkKICAgICB7Ci0g ICAgICBhcHBlbmRfdXNlcigmd3JvbmdfdXNlcnMsIHVzZXJfbmFtZSwgd3JvbmdfdXNlcnMubGVu Z3RoKCkgPiAwKTsKKyAgICAgIGFwcGVuZF91c2VyKCZ3cm9uZ191c2VycywgdXNlcl9uYW1lLCB3 cm9uZ191c2Vycy5sZW5ndGgoKSA+IDAsIEZBTFNFKTsKICAgICAgIHJlc3VsdD0gVFJVRTsKICAg ICAgIGNvbnRpbnVlOwogICAgIH0KQEAgLTY3MDksNyArNjc0NCw3IEBAIGJvb2wgbXlzcWxfcmVu YW1lX3VzZXIoVEhEICp0aGQsIExpc3QgPEwKICAgICBpZiAoaGFuZGxlX2dyYW50X2RhdGEodGFi bGVzLCAwLCB1c2VyX3RvLCBOVUxMKSB8fAogICAgICAgICBoYW5kbGVfZ3JhbnRfZGF0YSh0YWJs ZXMsIDAsIHVzZXJfZnJvbSwgdXNlcl90bykgPD0gMCkKICAgICB7Ci0gICAgICBhcHBlbmRfdXNl cigmd3JvbmdfdXNlcnMsIHVzZXJfZnJvbSwgd3JvbmdfdXNlcnMubGVuZ3RoKCkgPiAwKTsKKyAg ICAgIGFwcGVuZF91c2VyKCZ3cm9uZ191c2VycywgdXNlcl9mcm9tLCB3cm9uZ191c2Vycy5sZW5n dGgoKSA+IDAsIEZBTFNFKTsKICAgICAgIHJlc3VsdD0gVFJVRTsKICAgICAgIGNvbnRpbnVlOwog ICAgIH0KCj09PSBtb2RpZmllZCBmaWxlICdzcWwvc3FsX2FjbC5oJwotLS0gYS9zcWwvc3FsX2Fj bC5oCTIwMTEtMDYtMzAgMTU6NTA6NDUgKzAwMDAKKysrIGIvc3FsL3NxbF9hY2wuaAkyMDExLTA4 LTE3IDE0OjA3OjA3ICswMDAwCkBAIC0xODAsMTAgKzE4MCwxNiBAQCBlbnVtIG15c3FsX2RiX3Rh YmxlX2ZpZWxkCiAKIGV4dGVybiBjb25zdCBUQUJMRV9GSUVMRF9ERUYgbXlzcWxfZGJfdGFibGVf ZGVmOwogZXh0ZXJuIGJvb2wgbXlzcWxfdXNlcl90YWJsZV9pc19pbl9zaG9ydF9wYXNzd29yZF9m b3JtYXQ7CitleHRlcm4gY29uc3QgY2hhciAqY29tbWFuZF9hcnJheVtdOworZXh0ZXJuIHVpbnQg ICAgICAgIGNvbW1hbmRfbGVuZ3Roc1tdOworCiAKIC8qIHByb3RvdHlwZXMgKi8KIAogYm9vbCBo b3N0bmFtZV9yZXF1aXJlc19yZXNvbHZpbmcoY29uc3QgY2hhciAqaG9zdG5hbWUpOwordm9pZCBh cHBlbmRfdXNlcihTdHJpbmcgKnN0ciwgTEVYX1VTRVIgKnVzZXIsIGJvb2wgY29tbWEsIGJvb2wg cGFzc3dkKTsKK3ZvaWQgYXBwZW5kX2ludChTdHJpbmcgKnN0ciwgY29uc3QgY2hhciAqdHh0LCBz aXplX3QgbGVuLAorICAgICAgICAgICAgICAgIGxvbmcgdmFsLCBpbnQgY29uZCk7CiBteV9ib29s ICBhY2xfaW5pdChib29sIGRvbnRfcmVhZF9hY2xfdGFibGVzKTsKIG15X2Jvb2wgYWNsX3JlbG9h ZChUSEQgKnRoZCk7CiB2b2lkIGFjbF9mcmVlKGJvb2wgZW5kPTApOwoKPT09IG1vZGlmaWVkIGZp bGUgJ3NxbC9zcWxfY2xhc3MuaCcKLS0tIGEvc3FsL3NxbF9jbGFzcy5oCTIwMTEtMDgtMTUgMDk6 NDQ6MDAgKzAwMDAKKysrIGIvc3FsL3NxbF9jbGFzcy5oCTIwMTEtMDgtMTggMTg6MDU6NDUgKzAw MDAKQEAgLTgyOSw2ICs4MjksMjMgQEAgcHVibGljOgogICAqLwogICBDU0VUX1NUUklORyBxdWVy eV9zdHJpbmc7CiAKKyAgLyoKKyAgICBJbiBzb21lIGNhc2VzLCB3ZSBtYXkgd2FudCB0byBtb2Rp ZnkgdGhlIHF1ZXJ5IChpLmUuIHJlcGxhY2UKKyAgICBwYXNzd29yZHMgd2l0aCB0aGVpciBoYXNo ZXMgYmVmb3JlIGxvZ2dpbmcgdGhlIHN0YXRlbWVudCBldGMuKS4KKworICAgIEluIGNhc2UgdGhl IHF1ZXJ5IHdhcyByZXdyaXR0ZW4sIHRoZSBvcmlnaW5hbCBxdWVyeSB3aWxsIGxpdmUgaW4KKyAg ICBxdWVyeV9zdHJpbmcsIHdoaWxlIHRoZSByZXdyaXR0ZW4gcXVlcnkgbGl2ZXMgaW4gcmV3cml0 dGVuX3F1ZXJ5LgorICAgIElmIHJld3JpdHRlbl9xdWVyeSBpcyBlbXB0eSwgcXVlcnlfc3RyaW5n IHNob3VsZCBiZSBsb2dnZWQuCisgICAgSWYgcmV3cml0dGVuX3F1ZXJ5IGlzIG5vbi1lbXB0eSwg dGhlIHJld3JpdHRlbiBxdWVyeSBpdCBjb250YWlucworICAgIHNob3VsZCBiZSB1c2VkIGluIGxv Z3MgKGdlbmVyYWwgbG9nLCBzbG93IHF1ZXJ5IGxvZywgYmluYXJ5IGxvZykuCisKKyAgICBDdXJy ZW50bHksIHBhc3N3b3JkIG9iZnVzY2F0aW9uIGlzIHRoZSBvbmx5IHJld3JpdGluZyB3ZSBkbzsg bW9yZQorICAgIG1heSBmb2xsb3cgYXQgYSBsYXRlciBkYXRlLCBib3RoIHByZS0gYW5kIHBvc3Qg cGFyc2luZyBvZiB0aGUgcXVlcnkuCisgICAgUmV3cml0aW5nIG9mIGJpbmxvZ2dhYmxlIHN0YXRl bWVudHMgbXVzdCBwcmVzZXJ2ZSBhbGwgcGVydGluZW50CisgICAgaW5mb3JtYXRpb24uCisgICov CisgIFN0cmluZyAgICAgIHJld3JpdHRlbl9xdWVyeTsKKwogICBpbmxpbmUgY2hhciAqcXVlcnko KSBjb25zdCB7IHJldHVybiBxdWVyeV9zdHJpbmcuc3RyKCk7IH0KICAgaW5saW5lIHVpbnQzMiBx dWVyeV9sZW5ndGgoKSBjb25zdCB7IHJldHVybiBxdWVyeV9zdHJpbmcubGVuZ3RoKCk7IH0KICAg Y29uc3QgQ0hBUlNFVF9JTkZPICpxdWVyeV9jaGFyc2V0KCkgY29uc3QgeyByZXR1cm4gcXVlcnlf c3RyaW5nLmNoYXJzZXQoKTsgfQoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zcWxfcGFyc2UuY2Mn Ci0tLSBhL3NxbC9zcWxfcGFyc2UuY2MJMjAxMS0wOC0xNyAwODoxMToxMyArMDAwMAorKysgYi9z cWwvc3FsX3BhcnNlLmNjCTIwMTEtMDgtMTggMTg6MDU6NDUgKzAwMDAKQEAgLTk2LDYgKzk2LDcg QEAKICNpbmNsdWRlICJteXNxbC9wc2kvbXlzcWxfc3RhdGVtZW50LmgiCiAjaW5jbHVkZSAic3Fs X2Jvb3RzdHJhcC5oIgogI2luY2x1ZGUgIm9wdF9leHBsYWluLmgiCisjaW5jbHVkZSAic3FsX3Jl d3JpdGUuaCIKIAogI2RlZmluZSBGTEFHU1RSKFYsRikgKChWKSYoRik/I0YiICI6IiIpCiAKQEAg LTExNjUsNyArMTE2Niw5IEBAIGJvb2wgZGlzcGF0Y2hfY29tbWFuZChlbnVtIGVudW1fc2VydmVy X2MKICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSB0aGQtPnNlY3VyaXR5X2N0eC0+aG9z dF9vcl9pcCk7CiAgICAgY2hhciAqcGFja2V0X2VuZD0gdGhkLT5xdWVyeSgpICsgdGhkLT5xdWVy eV9sZW5ndGgoKTsKIAotICAgIGdlbmVyYWxfbG9nX3dyaXRlKHRoZCwgY29tbWFuZCwgdGhkLT5x dWVyeSgpLCB0aGQtPnF1ZXJ5X2xlbmd0aCgpKTsKKyAgICBpZiAob3B0X2xvZ19yYXcpCisgICAg ICBnZW5lcmFsX2xvZ193cml0ZSh0aGQsIGNvbW1hbmQsIHRoZC0+cXVlcnkoKSwgdGhkLT5xdWVy eV9sZW5ndGgoKSk7CisKICAgICBEQlVHX1BSSU5UKCJxdWVyeSIsKCIlLS40MDk2cyIsdGhkLT5x dWVyeSgpKSk7CiAKICNpZiBkZWZpbmVkKEVOQUJMRURfUFJPRklMSU5HKQpAQCAtMTYyOSwxMyAr MTYzMiwxOSBAQCB2b2lkIGxvZ19zbG93X3N0YXRlbWVudChUSEQgKnRoZCkKICAgICAgICAgICgo dGhkLT5zZXJ2ZXJfc3RhdHVzICYKICAgICAgICAgICAgKFNFUlZFUl9RVUVSWV9OT19JTkRFWF9V U0VEIHwgU0VSVkVSX1FVRVJZX05PX0dPT0RfSU5ERVhfVVNFRCkpICYmCiAgICAgICAgICAgb3B0 X2xvZ19xdWVyaWVzX25vdF91c2luZ19pbmRleGVzICYmCi0gICAgICAgICAgICEoc3FsX2NvbW1h bmRfZmxhZ3NbdGhkLT5sZXgtPnNxbF9jb21tYW5kXSAmIENGX1NUQVRVU19DT01NQU5EKSkpICYm CisgICAgICAgICAgIShzcWxfY29tbWFuZF9mbGFnc1t0aGQtPmxleC0+c3FsX2NvbW1hbmRdICYg Q0ZfU1RBVFVTX0NPTU1BTkQpKSkgJiYKICAgICAgICAgdGhkLT5nZXRfZXhhbWluZWRfcm93X2Nv dW50KCkgPj0gdGhkLT52YXJpYWJsZXMubWluX2V4YW1pbmVkX3Jvd19saW1pdCkKICAgICB7CiAg ICAgICBUSERfU1RBR0VfSU5GTyh0aGQsIHN0YWdlX2xvZ2dpbmdfc2xvd19xdWVyeSk7CiAgICAg ICB0aGQtPnN0YXR1c192YXIubG9uZ19xdWVyeV9jb3VudCsrOwotICAgICAgc2xvd19sb2dfcHJp bnQodGhkLCB0aGQtPnF1ZXJ5KCksIHRoZC0+cXVlcnlfbGVuZ3RoKCksIAotICAgICAgICAgICAg ICAgICAgICAgZW5kX3V0aW1lX29mX3F1ZXJ5KTsKKyAgICAgIGlmICh0aGQtPnJld3JpdHRlbl9x dWVyeS5sZW5ndGgoKSkKKyAgICAgICAgc2xvd19sb2dfcHJpbnQodGhkLAorICAgICAgICAgICAg ICAgICAgICAgICB0aGQtPnJld3JpdHRlbl9xdWVyeS5jX3B0cl9zYWZlKCksCisgICAgICAgICAg ICAgICAgICAgICAgIHRoZC0+cmV3cml0dGVuX3F1ZXJ5Lmxlbmd0aCgpLCAKKyAgICAgICAgICAg ICAgICAgICAgICAgZW5kX3V0aW1lX29mX3F1ZXJ5KTsKKyAgICAgIGVsc2UKKyAgICAgICAgc2xv d19sb2dfcHJpbnQodGhkLCB0aGQtPnF1ZXJ5KCksIHRoZC0+cXVlcnlfbGVuZ3RoKCksIAorICAg ICAgICAgICAgICAgICAgICAgICBlbmRfdXRpbWVfb2ZfcXVlcnkpOwogICAgIH0KICAgfQogICBE QlVHX1ZPSURfUkVUVVJOOwpAQCAtMTgxNCw2ICsxODIzLDcgQEAgYm9vbCBhbGxvY19xdWVyeShU SEQgKnRoZCwgY29uc3QgY2hhciAqcAogICAgICAgcmV0dXJuIFRSVUU7CiAgIHF1ZXJ5W3BhY2tl dF9sZW5ndGhdPSAnXDAnOwogICB0aGQtPnNldF9xdWVyeShxdWVyeSwgcGFja2V0X2xlbmd0aCk7 CisgIHRoZC0+cmV3cml0dGVuX3F1ZXJ5LmZyZWUoKTsgICAgICAgICAgICAgICAgIC8vIGZyZWUg aGVyZSBsZXN0IFBTIGJyZWFrCiAKICAgLyogUmVjbGFpbSBzb21lIG1lbW9yeSAqLwogICB0aGQt PnBhY2tldC5zaHJpbmsodGhkLT52YXJpYWJsZXMubmV0X2J1ZmZlcl9sZW5ndGgpOwpAQCAtNTY5 OSw2ICs1NzA5LDMzIEBAIHZvaWQgbXlzcWxfcGFyc2UoVEhEICp0aGQsIGNoYXIgKnJhd2J1ZiwK IAogICAgIGJvb2wgZXJyPSBwYXJzZV9zcWwodGhkLCBwYXJzZXJfc3RhdGUsIE5VTEwpOwogCisg ICAgY29uc3QgY2hhciAqZm91bmRfc2VtaWNvbG9uPSBwYXJzZXJfc3RhdGUtPm1fbGlwLmZvdW5k X3NlbWljb2xvbjsKKyAgICBzaXplX3QgICAgICBxbGVuPSBmb3VuZF9zZW1pY29sb24KKyAgICAg ICAgICAgICAgICAgICAgICA/IChmb3VuZF9zZW1pY29sb24gLSB0aGQtPnF1ZXJ5KCkpCisgICAg ICAgICAgICAgICAgICAgICAgOiB0aGQtPnF1ZXJ5X2xlbmd0aCgpOworCisKKyAgICAvKgorICAg ICAgU2VlIHdoZXRoZXIgd2UgY2FuIGRvIGFueSBxdWVyeSByZXdyaXRpbmcuIG9wdF9sb2dfcmF3 IG9ubHkgY29udHJvbHMKKyAgICAgIHdyaXRpbmcgdG8gdGhlIGdlbmVyYWwgbG9nLCBzbyByZXdy aXRpbmcgc3RpbGwgbmVlZHMgdG8gaGFwcGVuIGJlY2F1c2UKKyAgICAgIHRoZSBvdGhlciBsb2dz IChiaW5sb2csIHNsb3cgcXVlcnkgbG9nLCAuLi4pIGNhbiBub3QgYmUgc2V0IHRvIHJhdyBtb2Rl CisgICAgICBmb3Igc2VjdXJpdHkgcmVhc29ucy4KKyAgICAqLworICAgIG15c3FsX3Jld3JpdGVf cXVlcnkodGhkKTsKKworICAgIGlmICh0aGQtPnJld3JpdHRlbl9xdWVyeS5sZW5ndGgoKSkKKyAg ICB7CisgICAgICBsZXgtPnNhZmVfdG9fY2FjaGVfcXVlcnk9IEZBTFNFOyAvLyBzZWUgY29tbWVu dHMgYmVsb3cKKyAgICAgIGlmICghb3B0X2xvZ19yYXcpCisgICAgICAgIGdlbmVyYWxfbG9nX3dy aXRlKHRoZCwgQ09NX1FVRVJZLCB0aGQtPnJld3JpdHRlbl9xdWVyeS5jX3B0cl9zYWZlKCksCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGQtPnJld3JpdHRlbl9x dWVyeS5sZW5ndGgoKSk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICBpZiAoIW9wdF9s b2dfcmF3KQorICAgICAgICBnZW5lcmFsX2xvZ193cml0ZSh0aGQsIENPTV9RVUVSWSwgdGhkLT5x dWVyeSgpLCBxbGVuKTsKKyAgICB9CisKICAgICBpZiAoIWVycikKICAgICB7CiAgICAgICB0aGQt Pm1fc3RhdGVtZW50X3BzaT0gTVlTUUxfUkVGSU5FX1NUQVRFTUVOVCh0aGQtPm1fc3RhdGVtZW50 X3BzaSwKQEAgLTU3MTUsNyArNTc1Miw2IEBAIHZvaWQgbXlzcWxfcGFyc2UoVEhEICp0aGQsIGNo YXIgKnJhd2J1ZiwKICAgICAgIHsKIAlpZiAoISB0aGQtPmlzX2Vycm9yKCkpCiAJewotICAgICAg ICAgIGNvbnN0IGNoYXIgKmZvdW5kX3NlbWljb2xvbj0gcGFyc2VyX3N0YXRlLT5tX2xpcC5mb3Vu ZF9zZW1pY29sb247CiAgICAgICAgICAgLyoKICAgICAgICAgICAgIEJpbmxvZyBsb2dzIGEgc3Ry aW5nIHN0YXJ0aW5nIGZyb20gdGhkLT5xdWVyeSBhbmQgaGF2aW5nIGxlbmd0aAogICAgICAgICAg ICAgdGhkLT5xdWVyeV9sZW5ndGg7IHNvIHdlIHNldCB0aGQtPnF1ZXJ5X2xlbmd0aCBjb3JyZWN0 bHkgKHRvIG5vdApAQCAtNTc2OSw5ICs1ODA1LDIwIEBAIHZvaWQgbXlzcWxfcGFyc2UoVEhEICp0 aGQsIGNoYXIgKnJhd2J1ZiwKICAgfQogICBlbHNlCiAgIHsKLSAgICAvKiBPbmx5IFNFTEVDVCBh cmUgY2FjaGVkIGluIHRoZSBxdWVyeSBjYWNoZS4gKi8KKyAgICAvKgorICAgICAgUXVlcnkgY2Fj aGUgaGl0LiBXZSBuZWVkIHRvIHdyaXRlIHRoZSBnZW5lcmFsIGxvZyBoZXJlLgorICAgICAgUmln aHQgbm93LCB3ZSBvbmx5IGNhY2hlIFNFTEVDVCByZXN1bHRzOyBpZiB0aGUgY2FjaGUgZXZlcgor ICAgICAgYmVjb21lcyBtb3JlIGdlbmVyaWMsIHdlIHNob3VsZCBhbHNvIGNhY2hlIHRoZSByZXdy aXR0ZW4KKyAgICAgIHF1ZXJ5LXN0cmluZyB0b2dldGhlciB3aXRoIHRoZSBvcmlnaW5hbCBxdWVy eS1zdHJpbmcgKHdoaWNoCisgICAgICB3ZSdkIHN0aWxsIHVzZSBmb3IgdGhlIG1hdGNoaW5nKSB3 aGVuIHdlIGZpcnN0IGV4ZWN1dGUgdGhlCisgICAgICBxdWVyeSwgYW5kIHRoZW4gdXNlIHRoZSBv YmZ1c2NhdGVkIHF1ZXJ5LXN0cmluZyBmb3IgbG9nZ2luZworICAgICAgaGVyZSB3aGVuIHRoZSBx dWVyeSBpcyBnaXZlbiBhZ2Fpbi4KKyAgICAqLwogICAgIHRoZC0+bV9zdGF0ZW1lbnRfcHNpPSBN WVNRTF9SRUZJTkVfU1RBVEVNRU5UKHRoZC0+bV9zdGF0ZW1lbnRfcHNpLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNxbF9zdGF0ZW1lbnRfaW5mb1tT UUxDT01fU0VMRUNUXS5tX2tleSk7CisgICAgaWYgKCFvcHRfbG9nX3JhdykKKyAgICAgIGdlbmVy YWxfbG9nX3dyaXRlKHRoZCwgQ09NX1FVRVJZLCB0aGQtPnF1ZXJ5KCksIHRoZC0+cXVlcnlfbGVu Z3RoKCkpOworICAgIHBhcnNlcl9zdGF0ZS0+bV9saXAuZm91bmRfc2VtaWNvbG9uPSBOVUxMOwog ICB9CiAKICAgREJVR19WT0lEX1JFVFVSTjsKCj09PSBhZGRlZCBmaWxlICdzcWwvc3FsX3Jld3Jp dGUuY2MnCi0tLSBhL3NxbC9zcWxfcmV3cml0ZS5jYwkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAw CisrKyBiL3NxbC9zcWxfcmV3cml0ZS5jYwkyMDExLTA4LTE4IDE1OjI3OjA1ICswMDAwCkBAIC0w LDAgKzEsMzc1IEBACisvKiBDb3B5cmlnaHQgKGMpIDIwMTEsIE9yYWNsZSBhbmQvb3IgaXRzIGFm ZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgIG1vZGlmeSBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhcyBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyIG9mCisg ICB0aGUgTGljZW5zZS4KKworICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlCisgICBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAg YWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdh cmUKKyAgIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9z dG9uLCBNQQorICAgMDIxMTAtMTMwMSAgVVNBICovCisKKworI2luY2x1ZGUgInNxbF9hY2wuaCIg ICAgLy8gYXBwZW5kX3VzZXIKKyNpbmNsdWRlICJzcWxfcGFyc2UuaCIgIC8vIGdldF9jdXJyZW50 X3VzZXIKKyNpbmNsdWRlICJzcWxfc2hvdy5oIiAgIC8vIGFwcGVuZF9pZGVudGlmaWVyCisjaW5j bHVkZSAic3BfaGVhZC5oIiAgICAvLyBUWVBFX0VOVU1fKEZVTkNUSU9OfFBST0NFRFVSRSkKKwor CisKK3N0YXRpYyB2b2lkIG15c3FsX3Jld3JpdGVfZ3JhbnQoVEhEICp0aGQsIFN0cmluZyAqcmxi KQoreworICBMRVggICAgICAgICpsZXg9IHRoZC0+bGV4OworICBUQUJMRV9MSVNUICpmaXJzdF90 YWJsZT0gKFRBQkxFX0xJU1QqKSBsZXgtPnNlbGVjdF9sZXgudGFibGVfbGlzdC5maXJzdDsKKyAg Ym9vbCAgICAgICAgY29tbWE9IEZBTFNFLCBjb21tYV9pbm5lcjsKKyAgU3RyaW5nICAgICAgY29s cygxMDI0KTsKKyAgaW50ICAgICAgICAgYzsKKworICBybGItPmFwcGVuZChTVFJJTkdfV0lUSF9M RU4oIkdSQU5UICIpKTsKKworICBpZiAobGV4LT5hbGxfcHJpdmlsZWdlcykKKyAgICBybGItPmFw cGVuZChTVFJJTkdfV0lUSF9MRU4oIkFMTCBQUklWSUxFR0VTIikpOworICBlbHNlCisgIHsKKyAg ICB1bG9uZyBwcml2OworCisgICAgZm9yIChjPSAwLCBwcml2ID0gU0VMRUNUX0FDTDsgcHJpdiA8 PSBHTE9CQUxfQUNMUzsgYysrLCBwcml2IDw8PSAxKQorICAgIHsKKyAgICAgIGlmIChwcml2ID09 IEdSQU5UX0FDTCkKKyAgICAgICAgY29udGludWU7CisKKyAgICAgIGNvbW1hX2lubmVyPSBGQUxT RTsKKworICAgICAgaWYgKGxleC0+Y29sdW1ucy5lbGVtZW50cykgICAgICAgICAgICAgICAvLyBz aG93IGNvbHVtbnMsIGlmIGFueQorICAgICAgeworICAgICAgICBjbGFzcyBMRVhfQ09MVU1OICpj b2x1bW47CisgICAgICAgIExpc3RfaXRlcmF0b3IgPExFWF9DT0xVTU4+IGNvbHVtbl9pdGVyKGxl eC0+Y29sdW1ucyk7CisKKyAgICAgICAgY29scy5sZW5ndGgoMCk7CisgICAgICAgIGNvbHMuYXBw ZW5kKFNUUklOR19XSVRIX0xFTigiICgiKSk7CisKKyAgICAgICAgd2hpbGUgKChjb2x1bW4gPSBj b2x1bW5faXRlcisrKSkKKyAgICAgICAgeworICAgICAgICAgIGlmIChjb2x1bW4tPnJpZ2h0cyAm IHByaXYpCisgICAgICAgICAgeworICAgICAgICAgICAgaWYgKGNvbW1hX2lubmVyKQorICAgICAg ICAgICAgICBjb2xzLmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIiwgIikpOworICAgICAgICAgICAg ZWxzZQorICAgICAgICAgICAgICBjb21tYV9pbm5lcj0gVFJVRTsKKyAgICAgICAgICAgIGNvbHMu YXBwZW5kKGNvbHVtbi0+Y29sdW1uLnB0cigpLGNvbHVtbi0+Y29sdW1uLmxlbmd0aCgpKTsKKyAg ICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgY29scy5hcHBlbmQoU1RSSU5HX1dJVEhfTEVO KCIpIikpOworICAgICAgfQorCisgICAgICBpZiAoY29tbWFfaW5uZXIgfHwgKGxleC0+Z3JhbnQg JiBwcml2KSkgIC8vIHNob3cgcHJpdmlsZWdlIG5hbWUKKyAgICAgIHsKKyAgICAgICAgaWYgKGNv bW1hKQorICAgICAgICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiLCAiKSk7CisgICAg ICAgIGVsc2UKKyAgICAgICAgICBjb21tYT0gVFJVRTsKKyAgICAgICAgcmxiLT5hcHBlbmQoY29t bWFuZF9hcnJheVtjXSxjb21tYW5kX2xlbmd0aHNbY10pOworICAgICAgICBpZiAoIShsZXgtPmdy YW50ICYgcHJpdikpICAgICAgICAgICAgICAvLyBnZW5lcmFsIG91dHJhbmtzIHNwZWNpZmljCisg ICAgICAgICAgcmxiLT5hcHBlbmQoY29scyk7CisgICAgICB9CisgICAgfQorICAgIGlmICghY29t bWEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBubyBwcml2cywgZGVmYXVsdCB0 byBVU0FHRQorICAgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCJVU0FHRSIpKTsKKyAg fQorCisgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiIE9OICIpKTsKKyAgc3dpdGNoKGxl eC0+dHlwZSkKKyAgeworICBjYXNlIFRZUEVfRU5VTV9QUk9DRURVUkU6IHJsYi0+YXBwZW5kKFNU UklOR19XSVRIX0xFTigiUFJPQ0VEVVJFICIpKTsgYnJlYWs7CisgIGNhc2UgVFlQRV9FTlVNX0ZV TkNUSU9OOiAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCJGVU5DVElPTiAiKSk7ICBicmVh azsKKyAgZGVmYXVsdDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJyZWFrOworICB9CisKKyAgaWYgKGZpcnN0X3RhYmxlKQorICB7 CisgICAgYXBwZW5kX2lkZW50aWZpZXIodGhkLCBybGIsIGZpcnN0X3RhYmxlLT5kYiwgc3RybGVu KGZpcnN0X3RhYmxlLT5kYikpOworICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiLiIp KTsKKyAgICBhcHBlbmRfaWRlbnRpZmllcih0aGQsIHJsYiwgZmlyc3RfdGFibGUtPnRhYmxlX25h bWUsIHN0cmxlbihmaXJzdF90YWJsZS0+dGFibGVfbmFtZSkpOworICB9CisgIGVsc2UKKyAgewor ICAgIGlmIChsZXgtPmN1cnJlbnRfc2VsZWN0LT5kYikKKyAgICAgIGFwcGVuZF9pZGVudGlmaWVy KHRoZCwgcmxiLCBsZXgtPmN1cnJlbnRfc2VsZWN0LT5kYiwgc3RybGVuKGxleC0+Y3VycmVudF9z ZWxlY3QtPmRiKSk7CisgICAgZWxzZQorICAgICAgcmxiLT5hcHBlbmQoIioiKTsKKyAgICBybGIt PmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIi4qIikpOworICB9CisKKyAgcmxiLT5hcHBlbmQoU1RS SU5HX1dJVEhfTEVOKCIgVE8gIikpOworICB7CisgICAgTEVYX1VTRVIgKnVzZXJfbmFtZSwgKnRt cF91c2VyX25hbWU7CisgICAgTGlzdF9pdGVyYXRvciA8TEVYX1VTRVI+IHVzZXJfbGlzdChsZXgt PnVzZXJzX2xpc3QpOworICAgIGJvb2wgY29tbWE9IEZBTFNFOworCisgICAgd2hpbGUgKCh0bXBf dXNlcl9uYW1lPSB1c2VyX2xpc3QrKykpCisgICAgeworICAgICAgaWYgKCh1c2VyX25hbWU9IGdl dF9jdXJyZW50X3VzZXIodGhkLCB0bXBfdXNlcl9uYW1lKSkpCisgICAgICB7CisgICAgICAgIGFw cGVuZF91c2VyKHJsYiwgdXNlcl9uYW1lLCBjb21tYSwgVFJVRSk7CisgICAgICAgIGNvbW1hPSBU UlVFOworICAgICAgfQorICAgIH0KKyAgfQorCisgIGlmIChsZXgtPnNzbF90eXBlICE9IFNTTF9U WVBFX05PVF9TUEVDSUZJRUQpCisgIHsKKyAgICBybGItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4o IiBSRVFVSVJFIikpOworICAgIHN3aXRjaCAobGV4LT5zc2xfdHlwZSkKKyAgICB7CisgICAgY2Fz ZSBTU0xfVFlQRV9TUEVDSUZJRUQ6CisgICAgICBpZiAobGV4LT54NTA5X3N1YmplY3QpCisgICAg ICB7CisgICAgICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiIFNVQkpFQ1QgJyIpKTsK KyAgICAgICAgcmxiLT5hcHBlbmQobGV4LT54NTA5X3N1YmplY3QpOworICAgICAgICBybGItPmFw cGVuZChTVFJJTkdfV0lUSF9MRU4oIiciKSk7CisgICAgICB9CisgICAgICBpZiAobGV4LT54NTA5 X2lzc3VlcikKKyAgICAgIHsKKyAgICAgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCIg SVNTVUVSICciKSk7CisgICAgICAgIHJsYi0+YXBwZW5kKGxleC0+eDUwOV9zdWJqZWN0KTsKKyAg ICAgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCInIikpOworICAgICAgfQorICAgICAg aWYgKGxleC0+c3NsX2NpcGhlcikKKyAgICAgIHsKKyAgICAgICAgcmxiLT5hcHBlbmQoU1RSSU5H X1dJVEhfTEVOKCIgQ0lQSEVSICciKSk7CisgICAgICAgIHJsYi0+YXBwZW5kKGxleC0+c3NsX2Np cGhlcik7CisgICAgICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiJyIpKTsKKyAgICAg IH0KKyAgICAgIGJyZWFrOworICAgIGNhc2UgU1NMX1RZUEVfWDUwOToKKyAgICAgIHJsYi0+YXBw ZW5kKFNUUklOR19XSVRIX0xFTigiIFg1MDkiKSk7CisgICAgICBicmVhazsKKyAgICBjYXNlIFNT TF9UWVBFX0FOWToKKyAgICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiIFNTTCIpKTsK KyAgICAgIGJyZWFrOworICAgIGNhc2UgU1NMX1RZUEVfTk9UX1NQRUNJRklFRDoKKyAgICAgIC8q IGZhbGwtdGhydSAqLworICAgIGNhc2UgU1NMX1RZUEVfTk9ORToKKyAgICAgIHJsYi0+YXBwZW5k KFNUUklOR19XSVRIX0xFTigiIE5PTkUiKSk7CisgICAgICBicmVhazsKKyAgICB9CisgIH0KKwor ICBpZiAobGV4LT5tcWguc3BlY2lmaWVkX2xpbWl0cyB8fCAobGV4LT5ncmFudCAmIEdSQU5UX0FD TCkpCisgIHsKKyAgICBybGItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIiBXSVRIIikpOworICAg IGlmIChsZXgtPmdyYW50ICYgR1JBTlRfQUNMKQorICAgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJ VEhfTEVOKCIgR1JBTlQgT1BUSU9OIikpOworCisgICAgYXBwZW5kX2ludChybGIsIFNUUklOR19X SVRIX0xFTigiIE1BWF9RVUVSSUVTX1BFUl9IT1VSICIpLAorICAgICAgICAgICAgICAgbGV4LT5t cWgucXVlc3Rpb25zLAorICAgICAgICAgICAgICAgbGV4LT5tcWguc3BlY2lmaWVkX2xpbWl0cyAm IFVTRVJfUkVTT1VSQ0VTOjpRVUVSSUVTX1BFUl9IT1VSKTsKKworICAgIGFwcGVuZF9pbnQocmxi LCBTVFJJTkdfV0lUSF9MRU4oIiBNQVhfVVBEQVRFU19QRVJfSE9VUiAiKSwKKyAgICAgICAgICAg ICAgIGxleC0+bXFoLnVwZGF0ZXMsCisgICAgICAgICAgICAgICBsZXgtPm1xaC5zcGVjaWZpZWRf bGltaXRzICYgVVNFUl9SRVNPVVJDRVM6OlVQREFURVNfUEVSX0hPVVIpOworCisgICAgYXBwZW5k X2ludChybGIsIFNUUklOR19XSVRIX0xFTigiIE1BWF9DT05ORUNUSU9OU19QRVJfSE9VUiAiKSwK KyAgICAgICAgICAgICAgIGxleC0+bXFoLmNvbm5fcGVyX2hvdXIsCisgICAgICAgICAgICAgICBs ZXgtPm1xaC5zcGVjaWZpZWRfbGltaXRzICYgVVNFUl9SRVNPVVJDRVM6OkNPTk5FQ1RJT05TX1BF Ul9IT1VSKTsKKworICAgIGFwcGVuZF9pbnQocmxiLCBTVFJJTkdfV0lUSF9MRU4oIiBNQVhfVVNF Ul9DT05ORUNUSU9OUyAiKSwKKyAgICAgICAgICAgICAgIGxleC0+bXFoLnVzZXJfY29ubiwKKyAg ICAgICAgICAgICAgIGxleC0+bXFoLnNwZWNpZmllZF9saW1pdHMgJiBVU0VSX1JFU09VUkNFUzo6 VVNFUl9DT05ORUNUSU9OUyk7CisgIH0KK30KKworCisKK3N0YXRpYyB2b2lkIG15c3FsX3Jld3Jp dGVfc2V0KFRIRCAqdGhkLCBTdHJpbmcgKnJsYikKK3sKKyAgTEVYICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKmxleD0gdGhkLT5sZXg7CisgIExpc3RfaXRlcmF0b3JfZmFzdDxzZXRfdmFy X2Jhc2U+ICBpdChsZXgtPnZhcl9saXN0KTsKKyAgc2V0X3Zhcl9iYXNlICAgICAgICAgICAgICAg ICAgICAgKnZhcjsKKyAgYm9vbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hPSBG QUxTRTsKKworICBybGItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIlNFVCAiKSk7CisKKyAgd2hp bGUgKCh2YXI9IGl0KyspKQorICB7CisgICAgaWYgKGNvbW1hKQorICAgICAgcmxiLT5hcHBlbmQo U1RSSU5HX1dJVEhfTEVOKCIsIikpOworICAgIGVsc2UKKyAgICAgIGNvbW1hPSBUUlVFOworCisg ICAgdmFyLT5wcmludCh0aGQsIHJsYik7CisgIH0KK30KKworCitzdGF0aWMgdm9pZCBteXNxbF9y ZXdyaXRlX2NyZWF0ZV91c2VyKFRIRCAqdGhkLCBTdHJpbmcgKnJsYikKK3sKKyAgTEVYICAgICAg ICAgICAgICAgICAgICAgICpsZXg9IHRoZC0+bGV4OworICBMRVhfVVNFUiAgICAgICAgICAgICAg ICAgKnVzZXJfbmFtZSwgKnRtcF91c2VyX25hbWU7CisgIExpc3RfaXRlcmF0b3IgPExFWF9VU0VS PiAgdXNlcl9saXN0KGxleC0+dXNlcnNfbGlzdCk7CisgIGJvb2wgICAgICAgICAgICAgICAgICAg ICAgY29tbWE9IEZBTFNFOworCisgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiQ1JFQVRF IFVTRVIgIikpOworICB3aGlsZSAoKHRtcF91c2VyX25hbWU9IHVzZXJfbGlzdCsrKSkKKyAgewor ICAgIGlmICgodXNlcl9uYW1lPSBnZXRfY3VycmVudF91c2VyKHRoZCwgdG1wX3VzZXJfbmFtZSkp KQorICAgIHsKKyAgICAgIGFwcGVuZF91c2VyKHJsYiwgdXNlcl9uYW1lLCBjb21tYSwgVFJVRSk7 CisgICAgICBjb21tYT0gVFJVRTsKKyAgICB9CisgIH0KK30KKworCitzdGF0aWMgdm9pZCBteXNx bF9yZXdyaXRlX2NoYW5nZV9tYXN0ZXIoVEhEICp0aGQsIFN0cmluZyAqcmxiKQoreworICBMRVgg KmxleD0gdGhkLT5sZXg7CisKKyAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCJDSEFOR0Ug TUFTVEVSIFRPIikpOworCisgIGlmIChsZXgtPm1pLmhvc3QpCisgIHsKKyAgICBybGItPmFwcGVu ZChTVFJJTkdfV0lUSF9MRU4oIiBNQVNURVJfSE9TVCA9ICciKSk7CisgICAgcmxiLT5hcHBlbmQo bGV4LT5taS5ob3N0KTsKKyAgICBybGItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIiciKSk7Cisg IH0KKyAgaWYgKGxleC0+bWkudXNlcikKKyAgeworICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRI X0xFTigiIE1BU1RFUl9VU0VSID0gJyIpKTsKKyAgICBybGItPmFwcGVuZChsZXgtPm1pLnVzZXIp OworICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiJyIpKTsKKyAgfQorICBpZiAobGV4 LT5taS5wYXNzd29yZCkKKyAgeworICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiIE1B U1RFUl9QQVNTV09SRCA9IDxzZWNyZXQ+IikpOworICB9CisgIGlmIChsZXgtPm1pLnBvcnQpCisg IHsKKyAgICBybGItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIiBNQVNURVJfUE9SVCA9ICIpKTsK KyAgICBybGItPmFwcGVuZF91bG9uZ2xvbmcobGV4LT5taS5wb3J0KTsKKyAgfQorICBpZiAobGV4 LT5taS5jb25uZWN0X3JldHJ5KQorICB7CisgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVO KCIgTUFTVEVSX0NPTk5FQ1RfUkVUUlkgPSAiKSk7CisgICAgcmxiLT5hcHBlbmRfdWxvbmdsb25n KGxleC0+bWkuY29ubmVjdF9yZXRyeSk7CisgIH0KKyAgaWYgKGxleC0+bWkuc3NsKQorICB7Cisg ICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCIgTUFTVEVSX1NTTCA9ICIpKTsKKyAgICBy bGItPmFwcGVuZChsZXgtPm1pLnNzbCA9PSBMRVhfTUFTVEVSX0lORk86OkxFWF9NSV9FTkFCTEUg PyAiMSIgOiAiMCIpOworICB9CisgIGlmIChsZXgtPm1pLnNzbF9jYSkKKyAgeworICAgIHJsYi0+ YXBwZW5kKFNUUklOR19XSVRIX0xFTigiIE1BU1RFUl9TU0xfQ0EgPSAnIikpOworICAgIHJsYi0+ YXBwZW5kKGxleC0+bWkuc3NsX2NhKTsKKyAgICBybGItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4o IiciKSk7CisgIH0KKyAgaWYgKGxleC0+bWkuc3NsX2NhcGF0aCkKKyAgeworICAgIHJsYi0+YXBw ZW5kKFNUUklOR19XSVRIX0xFTigiIE1BU1RFUl9TU0xfQ0FQQVRIID0gJyIpKTsKKyAgICBybGIt PmFwcGVuZChsZXgtPm1pLnNzbF9jYXBhdGgpOworICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRI X0xFTigiJyIpKTsKKyAgfQorICBpZiAobGV4LT5taS5zc2xfY2VydCkKKyAgeworICAgIHJsYi0+ YXBwZW5kKFNUUklOR19XSVRIX0xFTigiIE1BU1RFUl9TU0xfQ0VSVCA9ICciKSk7CisgICAgcmxi LT5hcHBlbmQobGV4LT5taS5zc2xfY2VydCk7CisgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhf TEVOKCInIikpOworICB9CisgIGlmIChsZXgtPm1pLnNzbF9jaXBoZXIpCisgIHsKKyAgICBybGIt PmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIiBNQVNURVJfU1NMX0NJUEhFUiA9ICciKSk7CisgICAg cmxiLT5hcHBlbmQobGV4LT5taS5zc2xfY2lwaGVyKTsKKyAgICBybGItPmFwcGVuZChTVFJJTkdf V0lUSF9MRU4oIiciKSk7CisgIH0KKyAgaWYgKGxleC0+bWkuc3NsX2tleSkKKyAgeworICAgIHJs Yi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiIE1BU1RFUl9TU0xfS0VZID0gJyIpKTsKKyAgICBy bGItPmFwcGVuZChsZXgtPm1pLnNzbF9rZXkpOworICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRI X0xFTigiJyIpKTsKKyAgfQorICBpZiAobGV4LT5taS5sb2dfZmlsZV9uYW1lKQorICB7CisgICAg cmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCIgTUFTVEVSX0xPR19GSUxFID0gJyIpKTsKKyAg ICBybGItPmFwcGVuZChsZXgtPm1pLmxvZ19maWxlX25hbWUpOworICAgIHJsYi0+YXBwZW5kKFNU UklOR19XSVRIX0xFTigiJyIpKTsKKyAgfQorICBpZiAobGV4LT5taS5wb3MpCisgIHsKKyAgICBy bGItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIiBNQVNURVJfTE9HX1BPUyA9ICIpKTsKKyAgICBy bGItPmFwcGVuZF91bG9uZ2xvbmcobGV4LT5taS5wb3MpOworICB9CisgIGlmIChsZXgtPm1pLnJl bGF5X2xvZ19uYW1lKQorICB7CisgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCIgUkVM QVlfTE9HX0ZJTEUgPSAnIikpOworICAgIHJsYi0+YXBwZW5kKGxleC0+bWkucmVsYXlfbG9nX25h bWUpOworICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiJyIpKTsKKyAgfQorICBpZiAo bGV4LT5taS5yZWxheV9sb2dfcG9zKQorICB7CisgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhf TEVOKCIgUkVMQVlfTE9HX1BPUyA9ICIpKTsKKyAgICBybGItPmFwcGVuZF91bG9uZ2xvbmcobGV4 LT5taS5yZWxheV9sb2dfcG9zKTsKKyAgfQorCisgIGlmIChsZXgtPm1pLnNzbF92ZXJpZnlfc2Vy dmVyX2NlcnQpCisgIHsKKyAgICBybGItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIiBNQVNURVJf U1NMX1ZFUklGWV9TRVJWRVJfQ0VSVCA9ICIpKTsKKyAgICBybGItPmFwcGVuZChsZXgtPm1pLnNz bF92ZXJpZnlfc2VydmVyX2NlcnQgPT0gTEVYX01BU1RFUl9JTkZPOjpMRVhfTUlfRU5BQkxFID8g IjEiIDogIjAiKTsKKyAgfQorICBpZiAobGV4LT5taS5yZXBsX2lnbm9yZV9zZXJ2ZXJfaWRzX29w dCkKKyAgeworICAgIGJvb2wgZmlyc3Q9IFRSVUU7CisgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJ VEhfTEVOKCIgSUdOT1JFX1NFUlZFUl9JRFMgPSAoICIpKTsKKyAgICBmb3IgKHVpbnQgaT0gMDsg aSA8IGxleC0+bWkucmVwbF9pZ25vcmVfc2VydmVyX2lkcy5lbGVtZW50czsgaSsrKQorICAgIHsK KyAgICAgIHVsb25nIHNfaWQ7CisgICAgICBnZXRfZHluYW1pYygmbGV4LT5taS5yZXBsX2lnbm9y ZV9zZXJ2ZXJfaWRzLCAodWNoYXIqKSAmc19pZCwgaSk7CisgICAgICBpZiAoZmlyc3QpCisgICAg ICAgIGZpcnN0PSBGQUxTRTsKKyAgICAgIGVsc2UKKyAgICAgICAgcmxiLT5hcHBlbmQoU1RSSU5H X1dJVEhfTEVOKCIsICIpKTsKKyAgICAgIHJsYi0+YXBwZW5kX3Vsb25nbG9uZyhzX2lkKTsKKyAg ICB9CisgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCIgKSIpKTsKKyAgfQorICBpZiAo bGV4LT5taS5oZWFydGJlYXRfb3B0ICE9IExFWF9NQVNURVJfSU5GTzo6TEVYX01JX1VOQ0hBTkdF RCkKKyAgeworICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiIE1BU1RFUl9IRUFSVEJF QVRfUEVSSU9EID0gIikpOworICAgIGlmIChsZXgtPm1pLmhlYXJ0YmVhdF9vcHQgPT0gTEVYX01B U1RFUl9JTkZPOjpMRVhfTUlfRElTQUJMRSkKKyAgICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRI X0xFTigiMCIpKTsKKyAgICBlbHNlCisgICAgeworICAgICAgY2hhciBidWZbNjRdOworICAgICAg c25wcmludGYoYnVmLCA2NCwgIiVmIiwgbGV4LT5taS5oZWFydGJlYXRfcGVyaW9kKTsKKyAgICAg IHJsYi0+YXBwZW5kKGJ1Zik7CisgICAgfQorICB9Cit9CisKKworLyoqCitSZXdyaXRlIGEgcXVl cnkgKHRvIG9iZnVzY2F0ZSBwYXNzd29yZHMgZXRjLikKK0BwYXJhbSB0aGQgQ3VycmVudCB0aHJl YWQKKyovCisKK3ZvaWQgbXlzcWxfcmV3cml0ZV9xdWVyeShUSEQgKnRoZCkKK3sKKyAgU3RyaW5n ICpybGI9ICZ0aGQtPnJld3JpdHRlbl9xdWVyeTsKKworICBybGItPmZyZWUoKTsKKworICBzd2l0 Y2godGhkLT5sZXgtPnNxbF9jb21tYW5kKQorICB7CisgIGNhc2UgU1FMQ09NX0dSQU5UOiAgICAg ICAgIG15c3FsX3Jld3JpdGVfZ3JhbnQodGhkLCBybGIpOyAgICAgICAgIGJyZWFrOworICBjYXNl IFNRTENPTV9TRVRfT1BUSU9OOiAgICBteXNxbF9yZXdyaXRlX3NldCh0aGQsIHJsYik7ICAgICAg ICAgICBicmVhazsKKyAgY2FzZSBTUUxDT01fQ1JFQVRFX1VTRVI6ICAgbXlzcWxfcmV3cml0ZV9j cmVhdGVfdXNlcih0aGQsIHJsYik7ICAgYnJlYWs7CisgIGNhc2UgU1FMQ09NX0NIQU5HRV9NQVNU RVI6IG15c3FsX3Jld3JpdGVfY2hhbmdlX21hc3Rlcih0aGQsIHJsYik7IGJyZWFrOworICBkZWZh dWx0OiAgICAgICAgICAgICAgICAgICAvKiB1bmhhbmRsZWQgcXVlcnkgdHlwZXMgYXJlIGxlZ2Fs LiAqLyBicmVhazsKKyAgfQorfQoKPT09IGFkZGVkIGZpbGUgJ3NxbC9zcWxfcmV3cml0ZS5oJwot LS0gYS9zcWwvc3FsX3Jld3JpdGUuaAkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisrKyBiL3Nx bC9zcWxfcmV3cml0ZS5oCTIwMTEtMDgtMTcgMTQ6MDc6MDcgKzAwMDAKQEAgLTAsMCArMSwxOCBA QAorLyogQ29weXJpZ2h0IChjKSAyMDExLCBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLiBB bGwgcmlnaHRzIHJlc2VydmVkLgorCisgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgYXMgcHVibGlzaGVkIGJ5 IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMiBvZgorICAgdGhlIExpY2Vu c2UuCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZQorICAgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgIGFsb25nIHdpdGgg dGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgICBGb3Vu ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEKKyAg IDAyMTEwLTEzMDEgIFVTQSAqLworCit2b2lkIG15c3FsX3Jld3JpdGVfcXVlcnkoVEhEICp0aGQp OwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zcWxfeWFjYy55eScKLS0tIGEvc3FsL3NxbF95YWNj Lnl5CTIwMTEtMDgtMTUgMDg6NTg6MDUgKzAwMDAKKysrIGIvc3FsL3NxbF95YWNjLnl5CTIwMTEt MDgtMTggMTg6MDU6NDUgKzAwMDAKQEAgLTEzMTQ1LDEwICsxMzE0NSwxMiBAQCBvcHRpb25fdmFs dWU6CiAgICAgICAgICAgewogICAgICAgICAgICAgVEhEICp0aGQ9IFlZVEhEOwogICAgICAgICAg ICAgTEVYICpsZXg9IHRoZC0+bGV4OworICAgICAgICAgICAgaW50IGZsYWdzPSAkMiA/IDAgOiBz ZXRfdmFyX2NvbGxhdGlvbl9jbGllbnQ6OlNFVF9DU19ERUZBVUxUOwogICAgICAgICAgICAgY29u c3QgQ0hBUlNFVF9JTkZPICpjczI7CiAgICAgICAgICAgICBjczI9ICQyID8gJDI6IGdsb2JhbF9z eXN0ZW1fdmFyaWFibGVzLmNoYXJhY3Rlcl9zZXRfY2xpZW50OwogICAgICAgICAgICAgc2V0X3Zh cl9jb2xsYXRpb25fY2xpZW50ICp2YXI7Ci0gICAgICAgICAgICB2YXI9IG5ldyBzZXRfdmFyX2Nv bGxhdGlvbl9jbGllbnQoY3MyLAorICAgICAgICAgICAgdmFyPSBuZXcgc2V0X3Zhcl9jb2xsYXRp b25fY2xpZW50KGZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNzMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB0aGQtPnZhcmlhYmxlcy5jb2xsYXRpb25fZGF0YWJhc2UsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY3MyKTsKICAgICAgICAgICAgIGlmICh2YXIgPT0g TlVMTCkKQEAgLTEzMTc1LDYgKzEzMTc3LDkgQEAgb3B0aW9uX3ZhbHVlOgogICAgICAgICAgICAg TEVYICpsZXg9IExleDsKICAgICAgICAgICAgIGNvbnN0IENIQVJTRVRfSU5GTyAqY3MyOwogICAg ICAgICAgICAgY29uc3QgQ0hBUlNFVF9JTkZPICpjczM7CisgICAgICAgICAgICBpbnQgZmxhZ3M9 IHNldF92YXJfY29sbGF0aW9uX2NsaWVudDo6U0VUX0NTX05BTUVTCisgICAgICAgICAgICAgICAg ICAgICAgIHwgKCQyID8gMCA6IHNldF92YXJfY29sbGF0aW9uX2NsaWVudDo6U0VUX0NTX0RFRkFV TFQpCisgICAgICAgICAgICAgICAgICAgICAgIHwgKCQzID8gc2V0X3Zhcl9jb2xsYXRpb25fY2xp ZW50OjpTRVRfQ1NfQ09MTEFURSA6IDApOwogICAgICAgICAgICAgY3MyPSAkMiA/ICQyIDogZ2xv YmFsX3N5c3RlbV92YXJpYWJsZXMuY2hhcmFjdGVyX3NldF9jbGllbnQ7CiAgICAgICAgICAgICBj czM9ICQzID8gJDMgOiBjczI7CiAgICAgICAgICAgICBpZiAoIW15X2NoYXJzZXRfc2FtZShjczIs IGNzMykpCkBAIC0xMzE4NCw3ICsxMzE4OSw3IEBAIG9wdGlvbl92YWx1ZToKICAgICAgICAgICAg ICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHNldF92YXJfY29s bGF0aW9uX2NsaWVudCAqdmFyOwotICAgICAgICAgICAgdmFyPSBuZXcgc2V0X3Zhcl9jb2xsYXRp b25fY2xpZW50KGNzMywgY3MzLCBjczMpOworICAgICAgICAgICAgdmFyPSBuZXcgc2V0X3Zhcl9j b2xsYXRpb25fY2xpZW50KGZsYWdzLCBjczMsIGNzMywgY3MzKTsKICAgICAgICAgICAgIGlmICh2 YXIgPT0gTlVMTCkKICAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICAgIGxl eC0+dmFyX2xpc3QucHVzaF9iYWNrKHZhcik7CkBAIC0xMzIwOCw2ICsxMzIxMyw3IEBAIG9wdGlv bl92YWx1ZToKICAgICAgICAgICAgICAgTVlTUUxfWVlBQk9SVDsKICAgICAgICAgICAgIHVzZXIt Pmhvc3Q9bnVsbF9sZXhfc3RyOwogICAgICAgICAgICAgdXNlci0+dXNlci5zdHI9dGhkLT5zZWN1 cml0eV9jdHgtPnVzZXI7CisgICAgICAgICAgICB1c2VyLT51c2VyLmxlbmd0aD0gc3RybGVuKHRo ZC0+c2VjdXJpdHlfY3R4LT51c2VyKTsKICAgICAgICAgICAgIHNldF92YXJfcGFzc3dvcmQgKnZh cj0gbmV3IHNldF92YXJfcGFzc3dvcmQodXNlciwgJDMpOwogICAgICAgICAgICAgaWYgKHZhciA9 PSBOVUxMKQogICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwoKTm8gYnVuZGxlIChyZWFzb246 IHVzZWxlc3MgZm9yIHB1c2ggZW1haWxzKS4=