PGh0bWw+Cgo8aGVhZD4KPG1ldGEgbmFtZT0iREVTQ1JJUFRJT04iCmNvbnRlbnQ9Ik5hdGlv bndpZGUgRmVkZXJhbCBDcmVkaXQgVW5pb24gLS0gQSBmdWxsLXNlcnZpY2UgbWVtYmVyLW93 bmVkIGZpbmFuY2lhbCBpbnN0aXR1dGlvbiBzZXJ2aW5nIHRoZSBlbXBsb3llZXMsIGFnZW50 cywgYXNzb2NpYXRlIGFnZW50cyBhbmQgYWdlbnQgZW1wbG95ZWVzIG9mIE5hdGlvbndpZGUu Ij4KPG1ldGEgaHR0cC1lcXVpdj0iUkVGUkVTSCIgY29udGVudD0iMzAwOyBVUkw9aW5kZXgu aHRtbCI+CjxtZXRhIG5hbWU9IktFWVdPUkRTIgpjb250ZW50PSJuYXRpb253aWRlIGZlZGVy YWwgY3JlZGl0IHVuaW9uLCBuZmN1LCBhdXRvIGxvYW5zLCB2aXNhLCBwZXJzb25hbCBsb2Fu cywgaG9tZSBlcXVpdHkgbGluZSwgc2Vjb25kIG1vcnRnYWdlLCBmaXJzdCBtb3J0Z2FnZSwg cGFydG5lcnNoaXAgcGx1cywgbWVtYmVyIHJld2FyZHMsIGF1dG8gbGVhc2luZywgYXV0byBs ZWFzZSwgY2FyIGxvYW5zLCBjb252ZW5pZW5jZSwgYXRtLCB3ZWIgYmFua2luZywgaW50ZXJu ZXQgYmFua2luZywgaG9tZSBiYW5raW5nLCBkZWJpdCBjYXJkLCBjaGVjayBjYXJkLCBkaXJl Y3QgZGVwb3NpdCwgbG9hbi1ieS1waG9uZSwgZnJlZSB3aW5kb3dzIHdhbGxwYXBlciwgZnJl ZSB3YWxscGFwZXIsIGxvYW4gY2FsY3VsYXRvciwgaG9saWRheSBjbHViLCBjdWNlcnQsIGly YSwgY2hlY2tpbmcsIHNhdmluZ3MsIG1lbWJlcnNoaXAsIHZpc2EgcGxhdGludW0sIHZpc2Eg Y2xhc3NpYywgbWVtYmVybGluayI+Cjx0aXRsZT5OYXRpb253aWRlIEZlZGVyYWwgQ3JlZGl0 IFVuaW9uPC90aXRsZT4KPG1ldGEgbmFtZT0iR0VORVJBVE9SIiBjb250ZW50PSJNaWNyb3Nv ZnQgRnJvbnRQYWdlIDUuMCI+CjwvaGVhZD4KCjxib2R5IHRvcG1hcmdpbj0iMCIgbGVmdG1h cmdpbj0iMCIgYm90dG9tbWFyZ2luPSIwIiBtYXJnaW53aWR0aD0iMCIgbWFyZ2luaGVpZ2h0 PSIwIgpiYWNrZ3JvdW5kPSJpbWFnZXMvYmFja2dyb3VuZC5qcGciIGJnY29sb3I9IiM2NjY2 RkYiPgo8ZGl2IGFsaWduPSJjZW50ZXIiPjxjZW50ZXI+Cgo8dGFibGUgYm9yZGVyPSIwIiBj ZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIGhlaWdodD0iMjk2Ij4KICA8dHI+CiAg ICA8dGQgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiBhbGlnbj0iY2VudGVyIj48L3RkPgogICAg PHRkIHdpZHRoPSIzMDAiIGhlaWdodD0iMjAiPjwvdGQ+CiAgICA8dGQgd2lkdGg9IjE1IiBo ZWlnaHQ9IjEwIj48L3RkPgogICAgPHRkIHdpZHRoPSI1IiBoZWlnaHQ9IjEwIiBhbGlnbj0i bGVmdCI+PC90ZD4KICAgIDx0ZCB3aWR0aD0iMzAwIiBoZWlnaHQ9IjEwIiBhbGlnbj0ibGVm dCI+PHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+CgoKCgoKCgpmdW5jdGlvbiBNTV9z d2FwSW1hZ2UoKSB7IC8vdjEuMAoKCgoKCgoKICB2YXIgaSx0aGVPYmosaj0wLHN3YXBBcnJh eT1uZXcgQXJyYXksb2xkQXJyYXk9ZG9jdW1lbnQuTU1fc3dhcEltZ0RhdGE7CgoKCgoKCgog IGZvciAoaT0wOyBpIDwgKE1NX3N3YXBJbWFnZS5hcmd1bWVudHMubGVuZ3RoLTIpOyBpKz0z KSB7CgoKCgoKCgogICAgdGhlT2JqID0gZXZhbChNTV9zd2FwSW1hZ2UuYXJndW1lbnRzWyhu YXZpZ2F0b3IuYXBwTmFtZSA9PSAnTmV0c2NhcGUnKT9pOmkrMV0pCgoKCgoKCgogICAgaWYg KHRoZU9iaiAhPSBudWxsKSB7CgoKCgoKCgogICAgICBzd2FwQXJyYXlbaisrXSA9IHRoZU9i ajsKCgoKCgoKCiAgICAgIHN3YXBBcnJheVtqKytdID0gKG9sZEFycmF5PT1udWxsIHx8IG9s ZEFycmF5W2otMV0hPXRoZU9iaik/dGhlT2JqLnNyYzpvbGRBcnJheVtqXTsKCgoKCgoKCiAg ICAgIHRoZU9iai5zcmMgPSBNTV9zd2FwSW1hZ2UuYXJndW1lbnRzW2krMl07CgoKCgoKCgog IH0gfQoKCgoKCgoKICBkb2N1bWVudC5NTV9zd2FwSW1nRGF0YSA9IHN3YXBBcnJheTsgLy91 c2VkIGZvciByZXN0b3JlCgoKCgoKCgp9CgoKCgoKCgoKCgoKCgoKCiAgICA8L3NjcmlwdD48 c2NyaXB0CiAgICBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+CgoKCgoKCgoKCgoKCgoKCmZ1bmN0 aW9uIE1NX3N3YXBJbWdSZXN0b3JlKCkgeyAvL3YxLjAKCgoKCgoKCiAgaWYgKGRvY3VtZW50 Lk1NX3N3YXBJbWdEYXRhICE9IG51bGwpCgoKC3882!goKCgogICAgZm9yICh2YXIgaT0wOyBpPChk b2N1bWVudC5NTV9zd2FwSW1nRGF0YS5sZW5ndGgtMSk7IGkrPTIpCgoKCgoKCgogICAgICBk b2N1bWVudC5NTV9zd2FwSW1nRGF0YVtpXS5zcmMgPSBkb2N1bWVudC5NTV9zd2FwSW1nRGF0 YVtpKzFdOwoKCgoKCgoKfQoKCgoKCgoKCgoKCgoKCgogICAgPC9zY3JpcHQ+PC90ZD4KICA8 L3RyPgogIDx0cj4KICAgIDx0ZCB3aWR0aD0iMjAiIGhlaWdodD0iMjc2IiBhbGlnbj0iY2Vu dGVyIiByb3dzcGFuPSIzIj48L3RkPgogICAgPHRkIHdpZHRoPSIzMDAiIGhlaWdodD0iMTEz IiB2YWxpZ249Im1pZGRsZSIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iI0ZGRkZGRiI+PHNt YWxsPjxzbWFsbD4mbmJzcDs8YnI+CiAgICA8L3NtYWxsPjwvc21hbGw+PGltZyBzcmM9Imlt YWdlcy9uZmN1X2xvZ29faW5kZXguanBnIiBhbGlnbj0iY2VudGVyIiB3aWR0aD0iMjU4IiBo ZWlnaHQ9Ijc2Ij48L3RkPgogICAgPHRkIHdpZHRoPSIxNSIgcm93c3Bhbj0iMyIgYWxpZ249 InJpZ2h0Ij48L3RkPgogICAgPHRkIHdpZHRoPSI1IiByb3dzcGFuPSIzIiBhbGlnbj0ibGVm dCI+PC90ZD4KICAgIDx0ZCB3aWR0aD0iMzAwIiByb3dzcGFuPSIzIiBhbGlnbj0ibGVmdCI+ PGEgaHJlZj0iYWNjZXNzaWJpbGl0eS5odG0iCiAgICBvbm1vdXNlb3Zlcj0iTU1fc3dhcElt YWdlKCdkb2N1bWVudC5hY2Nlc3NpYmlsaXR5JywnZG9jdW1lbnQuYWNjZXNzaWJpbGl0eScs J2ltYWdlcy9tYl9hY2Nlc3NpYmlsaXR5T04uZ2lmJywKCiAgICAnZG9jdW1lbnQudGV4dCcs J2RvY3VtZW50LnRleHQnLCdpbWFnZXMvbXRfYWNjZXNzLmdpZicpIgogICAgb25tb3VzZW91 dD0iTU1fc3dhcEltZ1Jlc3RvcmUoKTtNTV9zd2FwSW1nUmVzdG9yZSgpIj4KICAgIDxpbWcK ICAgIHNyYz0iaW1hZ2VzL21iX2FjY2Vzc2liaWxpdHkuZ2lmIiBuYW1lPSJhY2Nlc3NpYmls aXR5IiBhbHQ9IkFjY2Vzc2liaWxpdHkiIGJvcmRlcj0iMCIgd2lkdGg9IjEyNSIgaGVpZ2h0 PSIxOCI+PC9hPjxicj4KICAgIDxpbWcgc3JjPSJpbWFnZXMvaW52aXNpYmxlX3NwYWNlci5n aWYiIHdpZHRoPSIxMDAiIGhlaWdodD0iNiI+PGJyPgogICAgPGEgaHJlZj0iYWdlbnRzL2lu ZGV4Lmh0bWwiCiAgICBvbm1vdXNlb3Zlcj0iTU1fc3dhcEltYWdlKCdkb2N1bWVudC5hZ2Vu dHMnLCdkb2N1bWVudC5hZ2VudHMnLCdpbWFnZXMvbWJfYWdlbnRidXNpbmVzc2NlbnRlck9O LmdpZicsCgogICAgJ2RvY3VtZW50LnRleHQnLCdkb2N1bWVudC50ZXh0JywnaW1hZ2VzL210 X2FnZW50cy5naWYnKSIKICAgIG9ubW91c2VvdXQ9Ik1NX3N3YXBJbWdSZXN0b3JlKCk7TU1f c3dhcEltZ1Jlc3RvcmUoKSI+CiAgICA8aW1nCiAgICBzcmM9ImltYWdlcy9tYl9hZ2VudGJ1 c2luZXNzY2VudGVyLmdpZiIgYWx0PSJBZ2VudCBCdXNpbmVzcyBDZW50ZXIiIG5hbWU9ImFn ZW50cyIKICAgIGJvcmRlcj0iMCIgdjjrunrs2lkdGg9IjEyNSIgaGVpZ2h0PSIxOCI+PC9hPjxicj4K ICAgIDxpbWcgc3JjPSJpbWFnZXMvaW52aXNpYmxlX3NwYWNlci5naWYiIHdpZHRoPSIxMDAi IGhlaWdodD0iNiI+PGJyPgogICAgPGEgaHJlZj0iY29udGFjdC5odG0iCiAgICBvbm1vdXNl b3Zlcj0iTU1fc3dhcEltYWdlKCdkb2N1bWVudC5jb250YWN0JywnZG9jdW1lbnQuY29udGFj dCcsJ2ltYWdlcy9tYl9jb250YWN0bmZjdU9OLmdpZicsCgogICAgJ2RvY3VtZW50LnRleHQn LCdkb2N1bWVudC50ZXh0JywnaW1hZ2VzL210X2NvbnRhY3QuZ2lmJykiCiAgICBvbm1vdXNl b3V0PSJNTV9zd2FwSW1nUmVzdG9yZSgpO01NX3N3YXBJbWdSZXN0b3JlKCkiPgogICAgPGlt ZyBzcmM9ImltYWdlcy9tYl9jb250YWN0bmZjdS5naWYiCiAgICBuYW1lPSJjb250YWN0IiBh bHQ9IkNvbnRhY3QgTkZDVSIgYm9yZGVyPSIwIiB3aWR0aD0iMTI1IiBoZWlnaHQ9IjE4Ij48 L2E+PGJyPgogICAgPGltZyBzcmM9ImltYWdlcy9pbnZpc2libGVfc3BhY2VyLmdpZiIgd2lk dGg9IjEwMCIgaGVpZ2h0PSI2Ij48aW1nCiAgICBzcmM9ImltYWdlcy9pbnZpc2libGVfc3Bh Y2VyLmdpZiIgd2lkdGg9IjEwMCIgaGVpZ2h0PSI2Ij48YnI+CiAgICA8YSBocmVmPSJmcmVl X3dhbGxwYXBlci5odG0iCiAgICBvbm1vdXNlb3Zlcj0iTU1fc3dhcEltYWdlKCdkb2N1bWVu dC53YWxscGFwZXInLCdkb2N1bWVudC53YWxscGFwZXInLCdpbWFnZXMvbWJfZnJlZXdhbGxw YXBlck9OLmdpZicsCgogICAgJ2RvY3VtZ64533W50LnRleHQnLCdkb2N1bWVudC50ZXh0JywnaW1h Z2VzL210X3dhbGxwYXBlci5naWYnKSIKICAgIG9ubW91c2VvdXQ9Ik1NX3N3YXBJbWdSZXN0 b3JlKCk7TU1fc3dhcEltZ1Jlc3RvcmUoKSI+CiAgICA8aW1nCiAgICBzcmM9ImltYWdlcy9t Yl9mcmVld2FsbHBhcGVyLmdpZiIgbmFtZT0id2FsbHBhcGVyIiBhbHQ9IkZyZWUgV2FsbHBh cGVyIiBib3JkZXI9IjAiIHdpZHRoPSIxMjUiIGhlaWdodD0iMTgiPjwvYT48YnI+CiAgICA8 aW1nIHNyYz0iaW1hZ2VzL2ludmlzaWJsZV9zcGFjZXIuZ2lmIiB3aWR0aD0iMTAwIiBoZWln aHQ9IjYiPjxicj4KICAgIDxhIGhyZWY9ImxvYW5zLmh0bSIKICAgIG9ubW91c2VvdmVyPSJN TV9zd2FwSW1hZ2UoJ2RvY3VtZW50LmxvYW5zJywnZG9jdW1lbnQubG9hbnMnLCdpbWFnZXMv bWJfbG9hbnNjcmVkaXRPTi5naWYnLAoKICAgICdkb2N1bWVudC50ZXh0JywnZG9jdW1lbnQu dGV4dCcsJ2ltYWdlcy9tdF9sb2Fucy5naWYnKSIKICAgIG9ubW91c2VvdXQ9Ik1NX3N3YXBJ bWdSZXN0b3JlKCk7TU1fc3dhcEltZ1Jlc3RvcmUoKSI+CiAgICA8aW1nIHNyYz0iaW1hZ2Vz L21iX2xvYW5zY3JlZGl0LmdpZiIKICAgIG5hbWU9ImxvYW5zIiBhbHQ9IkxvYW5zIGFuZCBD cmVkaXQiIGJvcmRlcj0iMCIgd2lkdGg9IjEyNSIgaGVpZ2h0PSIxOCI+PC9hPjxpbWcKICAg IHNyYz0iaW1hZ2VzL2Rhc2hfYW5pbWF0aW9uLmdpZiIgYm9yZGVyPSIwIiB3aWR0aD0iMjki IGhlaWdodD0iMTgiPjxhCiAgICBocmVmPSJsb2FuX2FwcGxpY2F0aW9uLmh0bSIKICAgIG9u bW91c2VvdmVyPSJNTV9zd2FwSW1hZ2UoJ2RvY3VtZW50LmxvYW5fYXBwbGljYXRpb24nLCdk b2N1bWVudC5sb2FuX2FwcGxpY2F0aW9uJywnaW1hZ2VzL2ZsX2FwcGx5bG9hbk9OLmdpZics CgogICAgJ2RvY3VtZW50LnRleHQnLCdkb2N1bWVudC50ZXh0JywnaW1hZ2VzL210X2xvYW5h cHAuZ2lmJykiCiAgICBvbm1vdXNlb3V0PSJNTV9zd2FwSW1nUmVzdG9yZSgpO01NX3N3YXBJ bWdSZXN0b3JlKCkiPjxpbWcgc3JjPSJpbWFnZXMvZmxfYXBwbHlsb2FuLmdpZiIKICAgIG5h bWU9ImxvYW5fYXBwbGljYXRpb24iIGFsdD0iQXBwbHkgZm9yIGEgTG9hbiEiIGJvcmRlcj0i MCIgd2lkdGg9IjEyNSIgaGVpZ2h0PSIxOCI+PC9hPjxicj4KICAgIDxpbWcgc3JjPSJpbWFn ZXMvaW52aXNpYmxlX3NwYWNlci5naWYiIHdpZHRoPSIxMDAiIGhlaWdodD0iNiI+PGJyPgog ICAgPGEgaHJlZj0ibWVtYmVyc2hpcC5odG0iCiAgICBvbm1vdXNlb3Zlcj0iTU1fc3dhcElt YWdlKCdkb2N1bWVudC5tZW1iZXJzaGlwJywnZG9jdW1lbnQubWVtYmVyc2hpcCcsJ2ltYWdl cy9tYl9tZW1iZXJzaGlwT04uZ2lmJywKCiAgICAnZG9jdW1lbnQudGV4dCcsJ2RvY3VtZW50 LnRleHQnLCdpbWFnZXMvbXRfbWVtYmVyc2hpcC5naWYnKSIKICAgIG9ubW91c2VvdXQ9Ik1N X3N3YXBJbWdSZXN0b3JlKCk7TU1fc3dhcEltZ1Jlc3RvcmUoKSI+CiAgICA8aW1nIHNyYz0i aW1hZ2VzL21iX21lbWJlcnNoaXAuZ2lmIgogICAgbmFtZT0ibWVtYmVyc2hpcCIgYWx0PSJN ZW1iZXJzaGlwIEluZm9ybWF0aW9uIiBib3JkZXI9IjAiIHdpZHRoPSIxMjUiIGhlaWdodD0i MTgiPjwvYT48aW1nCiAgICBzcmM9ImltYWdlcy9kYXNoX2FuaW1hdGlvbi5naWYiIGJvcmRl cj0iMCIgd2lkdGg9IjI5IiBoZWlnaHQ9IjE4Ij48YQogICAgaHJlZj0iaHR0cHM6Ly93d3cu bmF0aW9ud2lkZWZjdS5vcmcvbWVtYmVyc2hpcF9jaG9vc2VyLmh0bSIKICAgIG9ubW91c2Vv dmVyPSJNTV9zd2FwSW1hZ2UoJ2RvY3VtZW50Lm1lbWJlcl9hcHBsaWNhdGlvbicsJ2RvY3Vt ZW50Lm1lbWJlcl9hcHBsaWNhdGlvbicsJ2ltYWdlcy9mbF9tZW1hcHBseU9OLmdpZicsCgog ICAgJ2RvY3VtZW50LnRleHQnLCdkb2N1bWVudC50ZXh0JywnaW1hZ2VzL210X2ZsX21lbWFw cGx5LmdpZicpIgogICAgb25tb3VzZW91dD0iTU1fc3dhcEltZ1Jlc3RvcmUoKTtNTV9zd2Fw SW1nUmVzdG9yZSgpIj48aW1nIHNyYz0iaW1hZ2VzL2ZsX21lbWFwcGx5LmdpZiIKICAgIG5h bWU9Im1lbWJlcl9hcHBsaWNhdGlvbiIgYWx0PSJBcHBseSBmb3IgTWVtYmVyc2hpcCEiIGJv cmRlcj0iMCIgd2lkdGg9IjEyNSIgaGVpZ2h0PSIxOCI+PC9hPjxicj4KICAgIDxpbWcgc3Jj PSJpbWFnZXMvaW52aXNpYmxlX3NwYWNlci5naWYiIHdpZHRoPSIxMDAiIGhlaWdodD0iNiI+ PGJyPgogICAgPGEgaHJlZj0ic2F2aW5nc19jaGVja2luZy5odG0iCiAgICBvbm1vdXNlb3Zl cj0iTU1fc3dhcEltYWdlKCdkb2N1bWVudC5zYXZpbmdzJywnZG9jdW1lbnQuc2F2aW5ncycs J2ltYWdlcy9tYl9zYXZpbmdzY2hlY2tpbmdPTi5naWYnLAoKICAgICdkb2N1bWVudC50ZXh0 JywnZG9jdW1lbnQudGV4dCcsJ2ltYWdlcy9tdF9zYXZpbmdzLmdpZicpIgogICAgb25tb3Vz ZW91dD0iTU1fc3dhcEltZ1Jlc3RvcmUoKTtNTV9zd2FwSW1nUmVzdG9yZSgpIj4KICAgIDxp bWcKICAgIHNyYz0iaW1hZ2VzL21iX3NhdmluZ3NjaGVja2luZy5naWYiIG5hbWU9InNhdmlu Z3MiIGFsdD0iU2F2aW5ncyBhbmQgQ2hlY2tpbmciIGJvcmRlcj0iMCIgd2lkdGg9IjEyNSIg aGVpZ2h0PSIxOCI+PC9hPjxicj4KICAgIDxpbWcgc3JjPSJpbWFnZXMvaW52aXNpYmxlX3Nw YWNlci5naWYiIHdpZHRoPSIxMDAiIGhlaWdodD0iNiI+PGJyPgogICAgPGEgaHJlZj0ic2Vh cmNoLmh0bSIKICAgIG9ubW91c2VvdmVyPSJNTV9zd2FwSW1hZ2UoJ2RvY3VtZW50LnNlYXJj aCcsJ2RvY3VtZW50LnNlYXJjaCcsJ2ltYWdlcy9tYl9zZWFyY2hzaXRlT04uZ2lmJywKCiAg ICAnZG9jdW1lbnQudGV4dCcsJ2RvY3VtZW50LnRleHQnLCdpbWFnZXMvbXRfc2VhcmNoLmdp ZicpIgogICAgb25tb3VzZW91dD0iTU1fc3dhcEltZ1Jlc3RvcmUoKTtNTV9zd2FwSW1nUmVz dG9yZSgpIj4KICAgIDxpbWcgc3JjPSJpbWFnZXMvbWJfc2VhcmNoc2l0ZS5naWYiCiAgICBu YW1lPSJzZWFyY2giIGFsdD0iU2VhcmNoIE91ciBTaXRlIiBib3JkZXI9IjAiIHdpZHRoPSIx MjUiIGhlaWdodD0iMTgiPjwvYT48YnI+CiAgICA8aW1nIHNyYz0iaW1hZ2VzL2ludmlzaWJs ZV9zcGFjZXIuZ2lmIiB3aWR0aD0iMTAwIiBoZWlnaH543Q9IjYiPjxicj4KICAgIDxhIGhyZWY9 InNpdGVfbWFwLmh0bSIKICAgIG9ubW91c2VvdmVyPSJNTV9zd2FwSW1hZ2UoJ2RvY3VtZW50 LnNpdGVfbWFwJywnZG9jdW1lbnQuc2l0ZV9tYXAnLCdpbWFnZXMvbWJfc2l0ZW1hcE9OLmdp ZicsCgogICAgJ2RvY3VtZW50LnRleHQnLCdkb2N1bWVudC50ZXh0JywnaW1hZ2VzL210X3Np dGVtYXAuZ2lmJykiCiAgICBvbm1vdXNlb3V0PSJNTV9zd2FwSW1nUmVzdG9yZSgpO01NX3N3 YXBJbWdSZXN0b3JlKCkiPgogICAgPGltZyBzcmM9ImltYWdlcy9tYl9zaXRlbWFwLmdpZiIK ICAgIG5hbWU9InNpdGVfbWFwIiBhbHQ9IlNpdGUgTWFwIiBib3JkZXI9IjAiIHdpZHRoPSIx MjUiIGhlaWdodD0iMTgiPjwvYT48YnI+CiAgICA8aW1nIHNyYz0iaW1hZ2VzL2ludmlzaWJs ZV9zcGFjZXIuZ2lmIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjYiPjxicj4KICAgIDxhIGhyZWY9 IndlYmJhbmsvaW5kZXguaHRtbCIKICAgIG9ubW91c2VvdmVyPSJNTV9zd2FwSW1hZ2UoJ2Rv Y3VtZW50LndlYmJhbmsnLCdkb2N1bWVudC53ZWJiYW5rJywnaW1hZ2VzL21iX3dlYmJhbmtp bmdPTi5naWYnLAoKICAgICdkb2N1bWVudC50ZXh0JywnZG9jdW1lbnQudGV4dCcsJ2ltYWdl cy9tdF93ZWJiYW5raW5nLmdpZicpIgogICAgb25tb3VzZW91dD0iTU1fc3dhcEltZ1Jlc3Rv cmUoKTtNTV9zd2FwSW1nUmVzdG9yZSgpIj4KICAgIDxpbWcgc3JjPSJpbWFnZXMvbWJfd2Vi YmFua2luZy5naWYiCiAgICBuYW1lPSJ3ZWJiYW5rIiBhbHQ9IldlYiBCYW5raW5nIFNlcnZp Y2VzIiBib3JkZXI9IjAiIHdpZHRoPSIxMjUiIGhlaWdodD0iMTgiPjwvYT48aW1nCiAgICBz cmM9ImltYWdlcy9kYXNoX2FuaW1hdGlvbi5naWYiIGJvcmRlcj0iMCIgd2lkdGg9IjI5IiBo ZWlnaHQ9IjE4Ij48YQogICAgb25tb3VzZW92ZXI9Ik1NX3N3YXBJbWFnZSgnZG9jdW1lbnQu Zmxfd2ViYmFuaycsJ2RvY3VtZW50LmZsX3dlYmJhbmsnLCdpbWFnZXMvZmxfd2ViYmFua09O LmdpZicsCgogICAgJ2RvY3VtZW50LnRleHQnLCdkb2N1bWVudC50ZXh0JywnaW1hZ2VzL210 X2ZsX3dlYmJhbmsuZ2lmJykiCiAgICBvbm1vdXNlb3V0PSJNTV9zd2FwSW1nUmVzdG9yZSgp O01NX3N3YXBJbWdSZXN0b3JlKCkiIGhyZWY9Imdvd2ViYmFua2luZy5odG0iPjxpbWcKICAg IHNyYz0iaW1hZ2VzL2ZsX3dlYmJhbmsuZ2lmIiBuYW1lPSJmbF93ZWJiYW5rIiBib3JkZXI9 IjAiIGFsdD0iQWNjZXNzIFdlYiBCYW5raW5nIiB3aWR0aD0iMTI1IiBoZWlnaHQ9IjE4Ij48 L2E+PGJyPgogICAgPGltZyBzcmM9ImltYWdlcy9pbnZpc2libGVfc3BhY2VyLmdpZiIgd2lk dGg9IjEwMCIgaGVpZ2h0PSI2Ij48YnI+CiAgICA8YSBocmVmPSJ3aGF0c19uZXcuaHRtIgog ICAgb25tb3VzZW92ZXI9Ik1NX3N3YXBJbWFnZSgnZG9jdW1lbnQud2hhdHNfbmV3JywnZG9j dW1lbnQud2hhdHNfbmV3JywnaW1hZ2VzL21iX3doYXRzbmV3T04uZ2lmJywKCiAgICAnZG9j dW1lbnQudGV4dCcsJ2RvY3VtZW50LnRleHQnLCdpbWFnZXMvbXRfd2hhdHNuZXcuZ2lmJyki CiAgICBvbm1vdXNlb3V0PSJNTV9zd2FwSW1nUmVzdG9yZSgpO01NX3N3YXBJbWdSZXN0b3Jl KCkiPgogICAgPGltZyBzcmM9ImltYWdlcy9tYl93aGF0c25ldy5naWYiCiAgICBuYW1lPSJ3 aGF0c19uZXciIGFsdD0iV2hhdCdzIE5ldyBhdCBORkNVPyIgYm9yZGVyPSIwIiB3aWR0aD0i MTI1IiBoZWlnaHQ9IjE4Ij48L2E+PGltZwogICAgc3JjPSJpbWFnZXMvZGFzaF9hbmltYXRp b24uZ2lmIiBib3JkZXI9IjAiIHdpZHRoPSIyOSIgaGVpZ2h0PSIxOCI+PGEgaHJlZj0ibWNf aW50cm8uaHRtIgogICAgb25tb3VzZW92ZXI9Ik1NX3N3YXBJbWFnZSgnZG9jdW1lbnQubW9u ZXknLCdkb2N1bWVudC5tb25leScsJ2ltYWdlcy9tYl9tb25leWNob2ljZXNPTi5naWYnLAoK ICAgICdkb2N1bWVudC50ZXh0JywnZG9jdW1lbnQudGV4dCcsJ2ltYWdlcy9tdF9tb25leWNo b2ljZXMuZ2lmJykiCiAgICBvbm1vdXNlb3V0PSJNTV9zd2FwSW1nUmVzdG9yZSgpO01NX3N3 YXBJbWdSZXN0b3JlKCkiPjxpbWcgc3JjPSJpbWFnZXMvbWJfbW9uZXljaG9pY2VzLmdpZiIK ICAgIG5hbWU9Im1vbmV5IiBhbHQ9IkV4cGxvcmUgTW9uZXkgQ2hvaWNlcyEiIGJvcmRlcj0i MCIgd2lkdGg9IjEyNSIgaGVpZ2h0PSIxOCI+PC9hPjxicj4KICAgIDxpbWcgc3JjPSJpbWFn ZXMvaW52aXNpYmxlX3NwYWNlci5naWYiIHdpZHRoPSIxMDAiIGhlaWdodD0iNiI+PGJyPgog ICAgPGEgaHJlZj0icHJpdmFjeS5odG0iCiAgICBvbm1vdXNlb3Zlcj0iTU1fc3dhcEltYWdl KCdkb2N1bWVudC5wcml2YWN5JywnZG9jdW1lbnQucHJpdmFjeScsJ2ltYWdlcy9tYl9wcml2 YWN5T04uZ2lmJywKCiAgICAnZG9jdW1lbnQudGV4dCcsJ2RvY3VtZW50LnRleHQnLCdpbWFn ZXMvbXRfcHJpdmFjeS5naWYnKSIKICAgIG9ubW91c2VvdXQ9Ik1NX3N3YXBJbWdSZXN0b3Jl KCk7TU1fc3dhcEltZ1Jlc3RvcmUoKSI+CiAgICA8aW1nIHNyYz0iaW1hZ2VzL21iX3ByaXZh Y3kuZ2lmIgogICAgbmFtZT0icHJpdmFjeSIgYWx0PSJQcml2YWN5IEluZm9ybWF0aW9uIiBi b3JkZXI9IjAiIHdpZHRoPSIxMjUiIGhlaWdodD0iMTgiPjwvYT48L3RkPgogIDwvdHI+CiAg PHRyPgogICAgPHRkIHdpZHRoPSIzMDAiIGhlaWdodD0iMTI1IiB2YWxpZ249Im1pZGRsZSIg YWxpZ249ImNlbnRlciIgYmdjb2xvcj0iI0ZGRkZGRiI+PHNjcmlwdAogICAgbGFuZ3VhZ2U9 IkphdmFTY3JpcHQiPjwhLS0KCgoKCgoKCnZhciBiMWRpcyA9ICI8YSBocmVmPVwiIjsKCgoK CgoKCnZhciBiZGlzID0gIlwiPjxlbWJlZCBzcmM9XCIiOwoKCgoKCgoKdmFyIGVkaXMgPSAi IHdpZHRoPVwiMzAwXCIgaGVpZ2h0PVwiMTI1XCIgYWx0PVwiQ2xpY2sgaGVyZSFcIiBxdWFs aXR5PVwiYmVzdFwiIGJvcmRlcj1cIjBcIiBUWVBFPVwiYXBwbGljYXRpb24veC1zaG9ja3dh dmUtZmxhc2hcIj48L2E+IjsKCgoKCgoKCnZhciBybnVtYiA9ICIiOwoKCgoKCgoKdmFyIGlt ZyA9ICIiOwoKCgoKCgoKCgoKCgoKCgpybnVtYiArPSBNYXRoLmZsb29yKE1hdGgucmFuZG9t KCkqMTUpOwoKCgoKCgoKaW1nID0gcm51bWI7CgoKCgoKCgoKCgoKCgoKCmlmIChpbWcgPT0g IjAiKSB7CgoKCgoKCgpkb2N1bWVudC53cml0ZShiMWRpcysgIiIgK2JkaXMrICJpbWFnZXMv Zmxhc2hfYXV0bzA0MDMuc3dmXCIiICtlZGlzKTsKCgoKCgoKCgp9CgoKCgoKCgoKCgoKCgoK CmlmIChpbWcgPT0gIjEiKSB7CgoKCgoKCgpkb2N1bWVudC53cml0ZShiMWRpcysgIiIgK2Jk aXMrICJpbWFnZXMvZmxhc2hfYXV0bzA0MDMuc3dmXCIiICtlZGlzKTsKCgoKCgoKCgp9CgoK CgoKCgoKCgoKCgoKCmlmIChpbWcgPT0gIjIiKSB7CgoKCgoKCgpkb2N1bWVudC53cml0ZShi MWRpcysgIiIgK2JkaXMrICJpbWFnZXMvZmxhc2hfYXV0bzA0MDMuc3dmXCIiICtlZGlzKTsK CgoKCgoKCn0KCgoKCgoKCgoKCgoKCgoKaWYgKGltZyA9PSAiMyIpIHsKCgoKCgoKCmRvY3Vt ZW50LndyaXRlKGIxZGlzKyAiIiArYmRpcysgImltYWdlcy9mbGFzaF9hdXRvMDQwMy5zd2Zc IiIgK2VkaXMpOwoKCgoKCgoKCgp9CgoKCgoKCgoKCgoKCgoKCmlmIChpbWcgPT0gIjQiKSB7 CgoKCgoKCgpkb2N1bWVudC53cml0ZShiMWRpcysgIiIgK2JkaXMrICJpbWFnZXMvZmxhc2hf YXV0bzA0MDMuc3dmXCIiICtlZGlzKTsKCgoKCgoKCgoKfQoKCgoKCgoKCgoKCgoKCgppZiAo aW1nID09ICI1IikgewoKCgoKCgoKZG9jdW1lbnQud3JpdGUoYjFkaXMrICIiICtiZGlzKyAi aW1hZ2VzL2ZsYXNoX2F1dG8wNDAzLnN3ZlwiIiArZWRpcyk7CgoKCgoKCgp9CgoKCgoKCgoK CgoKCgoKCmlmIChpbWcgPT0gIjYiKSB7CgoKCgoKCgpkb2N1bWVudC53cml0ZShiMWRpcysg IiIgK2JkaXMrICJpbWFnZXMvZmxhc2hfZWxvYW5zLnN3ZlwiIiArZWRpcyk7CgoKCgoKCgp9 CgoKCgoKCgoKCgoKCgoKCmlmIChpbWcgPT0gIjciKSB7CgoKCgoKCgpkb2N1bWVudC53cml0 ZShiMWRpcysgIiIgK2JkaXMrICJpbWFnZXMvZmxhc2hfZWxvYW5zLnN3ZlwiIiArZWRpcyk7 CgoKCgoKCgp9CgoKCgoKCgoKCgoKaWYgKGltZyA9PSAiOCIpIHsKCgoKCgoKCmRvY3VtZW50 LndyaXRlKGIxZGlzKyAiIiArYmRpcysgImltYWdlcy9mbGFzaF9oZXBsLnN3ZlwiIiArZWRp cyk7CgoKCgoKCgp9CgoKCgoKCgoKCgoKaWYgKGltZyA9PSAiOSIpIHsKCgoKCgoKCmRvY3Vt ZW50LndyaXRlKGIxZGlzKyAiIiArYmRpcysgImltYWdlcy9mbGFzaF9oZXBsLnN3ZlwiIiAr ZWRpcyk7CgoKCgoKCgoKCgp9CgoKCgoKCgoKCgoKaWYgKGltZyA9PSAiMTAiKSB7CgoKCgoK Cgpkb2N1bWVudC53cml0ZShiMWRpcysgIiIgK2JkaXMrICJpbWFnZXMvZmxhc2hfYXV0bzA0 MDMuc3dmXCIiICtlZGlzKTsKCgoKCgoKCgp9CgoKCgoKCg6oKCmlmIChp53bWcgPT0gIjExIikg ewoKCgoKCgoKZG9jdW1lbnQud3JpdGUoYjFkaXMrICIiICtiZGlzKyAiaW1hZ2VzL2ZsYXNo X2hlcGwuc3dmXCIiICtlZGlzKTsKCgoKCgoKCgoKfQoKCgoKCgoKCgppZiAoaW1nID09ICIx MiIpIHsKCgoKCgoKCmRvY3VtZW50Lndyaeeerr4XRlKGIxZGlzKyAiIiArYmRpcysgImltYWdlcy9m bGFzaF9hdXRvMDQwMy5zd2ZcIiIgK2VkaXMpOwoKCgoKCgoKfQoKCgoKCgoKCgppZiAoaW1n ID09ICIxMyIpIHsKCgoKCgoKCmRvY3VtZW50LndyaXRlKGIxZGlzKyAiIiArYmRpcysgImlt YWdlcy9mbGFzaF9hdXRvMDQwMy5zd2ZcIiIgK2VkaXMpOwoKCgoKCgp9CgoKCgoKCgoKCmlm IChpbWcgPT0gIjE0IikgewoKCgoKCgoKZG9jdW1lbnQud3JpdGUoYjFkaXMrICIiICtiZGlz KyAiaW1hZ2VzL2ZsYXNoX2hlcGwuc3dmXCIiICtlZGlzKTsKCgoKCgoKCgoKCn0KCgoKCgoK CgoKCgoKCgoKCgoKCi8vIC0tPjwvc2NyaXB0PjwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8 dGQgd2lkdGg9IjMwMCIgaGVpZ2h0PSIzOCIgYmdjb2xvcj0iI0ZGRkZGRiIgdmFsaWduPSJt aWRkbGUiIGFsaWduPSJjZW50ZXIiPjxwCiAgICBhbGlnbj0iY2VudGVyIj48aW1nIHNyYz0i aW1hZ2VzL21iX2FjY2Vzc2liaWxpdHlPTi5naWYiIHdpZHRoPSIxIiBoZWlnaHQ9IjAiPjxp bWcKICAgIHNyYz0iaW1hZ2VzL21iX2FnZW50YnVzaW5lc3NjZW50ZXJPTi5naWYiIHdpZHRo PSIxIiBoZWlnaHQ9IjAiPjxpbWcKICAgIHNyYz0iaW1hZ2VzL21iX2NvbnRhY3RuZmN1T04u Z2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIwIj48aW1nCiAgICBzcmM9ImltYWdlcy9tYl9jdXJy ZW50cmF0ZXNPTi5naWYiIHdpZHRoPSIxIiBoZWlnaHQ9IjAiPjxpbWcKICAgIHNyYz0iaW1h Z2VzL21iX2xvYW5zY3JlZGl0T04uZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIwIj48aW1nCiAg ICBzcmM9ImltYWdlcy9tYl9mcmVld2FsbHBhcGVyT04uZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0 PSIwIj48aW1nCiAgICBzcmM9ImltYWdlcy9tYl9tZW1iZXJzaGlwT04uZ2lmIiB3aWR0aD0i MSIgaGVpZ2h0PSIwIj48aW1nCiAgICBzcmM9ImltYWdlcy9tYl9zYXZpbmdzY2hlY2tpbmdP Ti5naWYiIHdpZHRoPSIxIiBoZWlnaHQ9IjAiPjxpbWcKICAgIHNyYz0iaW1hZ2VzL21iX3Nl YXJjaHNpdGVPTi5naWYiIHdpZHRoPSIxIiBoZWlnaHQ9IjAiPjxpbWcgc3JjPSJpbWFnZXMv ZmxfbWVtYXBwbHlPTi5naWYiCiAgICB3aWR0aD0iMSIgaGVpZ2h0PSIwIj48aW1nIHNyYz0i aW1hZ2VzL2ZsX21vcnRnYWdlT04uZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIwIj48aW1nCiAg ICBzcmM9ImltYWdlcy9mbF93ZWJiYW5rT04uZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIwIj48 aW1nIHNyYz0iaW1hZ2VzL210X2ZsX3dlYmJhbmsuZ2lmIgogICAgd2lkdGg9IjEiIGhlaWdo dD0iMCI+PGltZyBzcmM9ImltYWdlcy9tYXJxdWVlX2RlZmF1bHQuZ2lmIiBuYW1lPSJ0ZXh0 IiBhbGlnbj0iYWJzbWlkZGxlIiB3aWR0aD0iMjUwIiBoZWlnaHQ9IjMwIj48aW1nIHNyYz0i aW1hZ2VzL210X2xvYW5hcHAuZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIwIj48aW1nCiAgICBz cmM9ImltYWdlcy9mbF9hcHBseWxvYW5PTi5naWYiIHdpZHRoPSIxIiBoZWlnaHQ9IjAiPjxp bWcgc3JjPSJpbWFnZXMvbXRfbW9ydGdhZ2UuZ2lmIgogICAgd2lkdGg9IjEiIGhlaWdodD0i MCI+PGltZyBzcmM9ImltYWdlcy9tYl9zaXRlbWFwT04uZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0 PSIwIj48aW1nCiAgICBzcmM9ImltYWdlcy9tYl93ZWJiYW5raW5nT04uZ2lmIiB3aWR0aD0i MSIgaGVpZ2h0PSIwIj48aW1nIHNyYz0iaW1hZ2VzL21iX3doYXRzbmV3T04uZ2lmIgogICAg d2lkdGg9IjEiIGhlaWdodD0iMCI+PGltZyBzcmM9ImltYWdlcy9tdF9hY2Nlc3MuZ2lmIiB3 aWR0aD0iMSIgaGVpZ2h0PSIwIj48aW1nCiAgICBzcmM9ImltYWdlcy9tdF9hZ2VudHMuZ2lm IiB3aWR0aD0iMSIgaGVpZ2h0PSIwIj48aW1nIHNyYz0iaW1hZ2VzL210X2NvbnRhY3QuZ2lm IiB3aWR0aD0iMSIKICAgIGhlaWdodD0iMCI+PGltZyBzcmM9ImltYWdlcy9tdF9sb2Fucy5n aWYiIHdpZHRoPSIxIiBoZWlnaHQ9IjAiPjxpbWcKICAgIHNyYz0iaW1hZ2VzL210X21lbWJl cnNoaXAuZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIwIj48aW1nIHNyYz0iaW1hZ2VzL210X3Nh dmluZ3MuZ2lmIgogICAgd2lkdGg9IjEiIGhlaWdodD0iMCI+PGltZyBzcmM9ImltYWdlcy9t dF9zZWFyY2guZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIwIj48aW1nCiAgICBzcmM9ImltYWdl cy9tdF9zaXRlbWFwLmdpZiIgd2lkdGg9IjEiIGhlaWdodD0iMCI+PGltZyBzcmM9ImltYWdl cy9tdF93YWxscGFwZXIuZ2lmIgogICAgd2lkdGg9IjEiIGhlaWdodD0iMCI+PGltZyBzcmM9 ImltYWdlcy9tdF93ZWJiYW5raW5nLmdpZiIgd2lkdGg9IjEiIGhlaWdodD0iMCI+PGltZwog ICAgc3JjPSJpbWFnZXMvbXRfZmxfbWVtYXBwbHkuZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0PSIw Ij48aW1nIHNyYz0iaW1hZ2VzL210X3doYXRzbmV3LmdpZiIKICAgIHdpZHRoPSIxIiBoZWln aHQ9IjAiPjxpbWcgc3JjPSJpbWFnZXMvbXRfcmF0ZXMuZ2lmIiB3aWR0aD0iMSIgaGVpZ2h0 PSIwIj48L3RkPgogIDwvdHI+CjwvdGFibGU+CjwvY2VudGVyPjwvZGl2Pgo8L2JvZHk+Cjwv aHRtbD=9