CjwhRE9DVFlQRSBodG1sPgo8aHRtbCBsYW5nPSJlbiI+CjxoZWFkPgogIAo8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CjxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cgo8dGl0bGU+Q29kZSBHZW5lcmF0aW9uIHwgQ29nbmlDcnlwdDwvdGl0bGU+CjxtZXRhIHByb3BlcnR5PSJvZzp0aXRsZSIgY29udGVudD0iQ29kZSBHZW5lcmF0aW9uIHwgQ29nbmlDcnlwdCIgLz4KPG1ldGEgbmFtZT0idHdpdHRlcjp0aXRsZSIgY29udGVudD0iQ29kZSBHZW5lcmF0aW9uIHwgQ29nbmlDcnlwdCIgLz4KPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IiogeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH0gLmltZ2JveCB7IGRpc3BsYXk6IGdyaWQ7IGhlaWdodDogMTAwJTsgfSAuY2VudGVyLWZpdCB7IG1heC13aWR0aDogMTAwJTsgbWF4LWhlaWdodDogMTAwdmg7IG1hcmdpbjogYXV0bzsgfSAgVGhpcyB0dXRvcmlhbCBwYWdlIGRlc2NyaWJlcyBob3cgb25lIHdvdWxkIHVzZSBDb2duaUNyeXB0JnJzcXVvO3MgY29kZS1nZW5lcmF0aW9uIGZlYXR1cmUuIEZvciBhIG1vcmUgdGVjaG5pY2FsIGRlc2NyaXB0aW9uIG9mIGhvdyB0aGUgY29kZSBnZW5lcmF0aW9uIHdvcmtzIGluIHRoZSBiYWNrZ3JvdW5kLCBwbGVhc2UgcmVmZXIgdG8gVG9vbCBQYXBlciBvbiBDb2duaUNyeXB0IHB1Ymxpc2hlZCBhdCBBU0UgMjAxNy4KTGF1bmNoaW5nIHRoZSBDb2RlIEdlbmVyYXRvciBDb2duaUNyeXB0JnJzcXVvO3MgY29kZSBnZW5lcmF0b3IgY2FuIG1vc3QgZWFzaWx5IGJlIHRyaWdnZXJlZCBieSBjbGlja2luZyB0aGUgQ29nbmlDcnlwdCBidXR0b24gaW4gdGhlIEVjbGlwc2UgdG9vbCBiYXIuIj4KPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSIqIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9IC5pbWdib3ggeyBkaXNwbGF5OiBncmlkOyBoZWlnaHQ6IDEwMCU7IH0gLmNlbnRlci1maXQgeyBtYXgtd2lkdGg6IDEwMCU7IG1heC1oZWlnaHQ6IDEwMHZoOyBtYXJnaW46IGF1dG87IH0gIFRoaXMgdHV0b3JpYWwgcGFnZSBkZXNjcmliZXMgaG93IG9uZSB3b3VsZCB1c2UgQ29nbmlDcnlwdCZyc3F1bztzIGNvZGUtZ2VuZXJhdGlvbiBmZWF0dXJlLiBGb3IgYSBtb3JlIHRlY2huaWNhbCBkZXNjcmlwdGlvbiBvZiBob3cgdGhlIGNvZGUgZ2VuZXJhdGlvbiB3b3JrcyBpbiB0aGUgYmFja2dyb3VuZCwgcGxlYXNlIHJlZmVyIHRvIFRvb2wgUGFwZXIgb24gQ29nbmlDcnlwdCBwdWJsaXNoZWQgYXQgQVNFIDIwMTcuCkxhdW5jaGluZyB0aGUgQ29kZSBHZW5lcmF0b3IgQ29nbmlDcnlwdCZyc3F1bztzIGNvZGUgZ2VuZXJhdG9yIGNhbiBtb3N0IGVhc2lseSBiZSB0cmlnZ2VyZWQgYnkgY2xpY2tpbmcgdGhlIENvZ25pQ3J5cHQgYnV0dG9uIGluIHRoZSBFY2xpcHNlIHRvb2wgYmFyLiI+CjxtZXRhIG5hbWU9InR3aXR0ZXI6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IiogeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH0gLmltZ2JveCB7IGRpc3BsYXk6IGdyaWQ7IGhlaWdodDogMTAwJTsgfSAuY2VudGVyLWZpdCB7IG1heC13aWR0aDogMTAwJTsgbWF4LWhlaWdodDogMTAwdmg7IG1hcmdpbjogYXV0bzsgfSAgVGhpcyB0dXRvcmlhbCBwYWdlIGRlc2NyaWJlcyBob3cgb25lIHdvdWxkIHVzZSDigKYiPgo8bWV0YSBuYW1lPSJhdXRob3IiIGNvbnRlbnQ9IkVjbGlwc2UgRm91bmRhdGlvbiIvPgo8bGluayBocmVmPSdodHRwczovL3d3dy5lY2xpcHNlLm9yZy9jb2duaWNyeXB0L2Zhdmljb24uaWNvJyByZWw9J2ljb24nIHR5cGU9J2ltYWdlL3gtaWNvbicvPgo8bWV0YSBuYW1lPSJ0d2l0dGVyOmNhcmQiIGNvbnRlbnQ9InN1bW1hcnkiIC8+CjxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2NvZ25pY3J5cHQvZG9jdW1lbnRhdGlvbi9jb2RlZ2VuLyIgLz4KPG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiIC8+CjxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IlNlY3VyZWx5IHVzaW5nIENyeXB0b2dyYXBoeSB3aXRoIENvZ25pQ3J5cHQiIC8+CjxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50PSIiPgoKCjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iSHVnbyAwLjQyLjEiIC8+CjxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9jb2duaWNyeXB0L2RvY3VtZW50YXRpb24vY29kZWdlbi8iIC8+CjxsaW5rIHJlbD0iYWx0ZXJuYXRlIiBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9jb2duaWNyeXB0L2RvY3VtZW50YXRpb24vY29kZWdlbi9pbmRleC54bWwiIHR5cGU9ImFwcGxpY2F0aW9uL3Jzcyt4bWwiIHRpdGxlPSJTZWN1cmVseSB1c2luZyBDcnlwdG9ncmFwaHkgd2l0aCBDb2duaUNyeXB0Ij4KCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvY29nbmljcnlwdC9hc3NldHMvY3NzL2Jvb3RzdHJhcC5jc3MiPgoKICAKCjxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjU3eDU3IiBocmVmPSIvYXBwbGUtaWNvbi01N3g1Ny5wbmciPgo8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIHNpemVzPSI2MHg2MCIgaHJlZj0iL2FwcGxlLWljb24tNjB4NjAucG5nIj4KPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iNzJ4NzIiIGhyZWY9Ii9hcHBsZS1pY29uLTcyeDcyLnBuZyI+CjxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9Ijc2eDc2IiBocmVmPSIvYXBwbGUtaWNvbi03Nng3Ni5wbmciPgo8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIHNpemVzPSIxMTR4MTE0IiBocmVmPSIvYXBwbGUtaWNvbi0xMTR4MTE0LnBuZyI+CjxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjEyMHgxMjAiIGhyZWY9Ii9hcHBsZS1pY29uLTEyMHgxMjAucG5nIj4KPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBzaXplcz0iMTQ0eDE0NCIgaHJlZj0iL2FwcGxlLWljb24tMTQ0eDE0NC5wbmciPgo8bGluayByZWw9ImFwcGxlLXRvdWNoLWljb24iIHNpemVzPSIxNTJ4MTUyIiBocmVmPSIvYXBwbGUtaWNvbi0xNTJ4MTUyLnBuZyI+CjxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjE4MHgxODAiIGhyZWY9Ii9hcHBsZS1pY29uLTE4MHgxODAucG5nIj4KPGxpbmsgcmVsPSJpY29uIiB0eXBlPSJpbWFnZS9wbmciIHNpemVzPSIxOTJ4MTkyIiAgaHJlZj0iL2FuZHJvaWQtaWNvbi0xOTJ4MTkyLnBuZyI+CjxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBzaXplcz0iMzJ4MzIiIGhyZWY9Ii9mYXZpY29uLTMyeDMyLnBuZyI+CjxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBzaXplcz0iOTZ4OTYiIGhyZWY9Ii9mYXZpY29uLTk2eDk2LnBuZyI+CjxsaW5rIHJlbD0iaWNvbiIgdHlwZT0iaW1hZ2UvcG5nIiBzaXplcz0iMTZ4MTYiIGhyZWY9Ii9mYXZpY29uLTE2eDE2LnBuZyI+CjxsaW5rIHJlbD0ibWFuaWZlc3QiIGhyZWY9Ii9tYW5pZmVzdC5qc29uIj4KCjxtZXRhIG5hbWU9Im1zYXBwbGljYXRpb24tVGlsZUNvbG9yIiBjb250ZW50PSIjZmZmZmZmIj4KPG1ldGEgbmFtZT0ibXNhcHBsaWNhdGlvbi1UaWxlSW1hZ2UiIGNvbnRlbnQ9Ii9tcy1pY29uLTE0NHgxNDQucG5nIj4KPG1ldGEgbmFtZT0idGhlbWUtY29sb3IiIGNvbnRlbnQ9IiNmZmZmZmYiPgoKCjxsaW5rIGhyZWY9Ii8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1MaWJyZStGcmFua2xpbjo0MDAsNzAwLDMwMCw2MDAsMTAwIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4KICAKPC9oZWFkPgo8Ym9keT4KICAKPGhlYWRlciBjbGFzcz0iaG9tZXBhZ2UiPgogIAo8bmF2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWRlZmF1bHQiPgogIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAKICAgIDxkaXYgY2xhc3M9Im5hdmJhci1oZWFkZXIiPgogICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Im5hdmJhci10b2dnbGUgY29sbGFwc2VkIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjYnMtZXhhbXBsZS1uYXZiYXItY29sbGFwc2UtMSI+CiAgICAgIDxzcGFuIGNsYXNzPSJzci1vbmx5Ij5Ub2dnbGUgbmF2aWdhdGlvbjwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4KICAgICAgPC9idXR0b24+CiAgICAgIDxhIGNsYXNzPSJuYXZiYXItYnJhbmQiIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2NvZ25pY3J5cHQvIj4KICAgICAgPGltZyBhbHQ9IkVjbGlwc2UgQ29nbmlDcnlwdCIgc3JjPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9jb2duaWNyeXB0Ly9hc3NldHMvaW1hZ2VzL2NvZ25pY3J5cHQtbG9nby5wbmciPgogICAgICA8L2E+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0iY29sbGFwc2UgbmF2YmFyLWNvbGxhcHNlIiBpZD0iYnMtZXhhbXBsZS1uYXZiYXItY29sbGFwc2UtMSI+CiAgICAgIDx1bCBjbGFzcz0ibmF2IG5hdmJhci1uYXYgbmF2YmFyLXJpZ2h0Ij4KICAgIAkgIAoKCgo8bGk+CiAgPGEgY2xhc3M9IiIgaHJlZj0iL2NvZ25pY3J5cHQvcHVibGljYXRpb25zLyI+CiAgCiAgUHVibGljYXRpb25zCiAgPC9hPgogIAo8L2xpPgoKCjxsaT4KICA8YSBjbGFzcz0iIiBocmVmPSIvY29nbmljcnlwdC9kb3dubG9hZHMvIj4KICAKICBEb3dubG9hZHMKICA8L2E+CiAgCjwvbGk+CgoKPGxpIGNsYXNzPSJkcm9wZG93biI+CiAgPGEgaHJlZj0iIyIgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIj4KICAgIAogICAgCiAgICA8c3Bhbj5Eb2N1bWVudGF0aW9uPC9zcGFuPgogICAgPGIgY2xhc3M9ImNhcmV0Ij48L2I+CiAgPC9hPgogIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSI+CiAgICAKICAgIDxsaSBjbGFzcz0iYWN0aXZlIj48YSBocmVmPSIvY29nbmljcnlwdC9kb2N1bWVudGF0aW9uL2NvZGVnZW4vIj5Db2RlIEdlbmVyYXRpb248L2E+IDwvbGk+CiAgICAKICAgIDxsaT48YSBocmVmPSIvY29nbmljcnlwdC9kb2N1bWVudGF0aW9uL2NyeXNsLyI+Q3J5U0wgTGFuZ3VhZ2U8L2E+IDwvbGk+CiAgICAKICAgIDxsaT48YSBocmVmPSIvY29nbmljcnlwdC9kb2N1bWVudGF0aW9uL2NvZGVhbmFseXNpcy8iPlN0YXRpYyBDb2RlIEFuYWx5c2lzPC9hPiA8L2xpPgogICAgCiAgPC91bD4KICAKPC9saT4KCgo8bGkgY2xhc3M9ImRyb3Bkb3duIj4KICA8YSBocmVmPSIjIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiPgogICAgCiAgICAKICAgIDxzcGFuPkNvbnRyaWJ1dGluZzwvc3Bhbj4KICAgIDxiIGNsYXNzPSJjYXJldCI+PC9iPgogIDwvYT4KICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgCiAgICA8bGk+PGEgaHJlZj0iL2NvZ25pY3J5cHQvY29udHJpYnV0aW5nI2J1Z3MiPkJ1Z3MgYW5kIEZlYXR1cmUgUmVxdWVzdHM8L2E+IDwvbGk+CiAgICAKICAgIDxsaT48YSBocmVmPSIvY29nbmljcnlwdC9jb250cmlidXRpbmcjY29kZSI+Q29kZSBDb250cmlidXRpb25zPC9hPiA8L2xpPgogICAgCiAgICA8bGk+PGEgaHJlZj0iL2NvZ25pY3J5cHQvY29udHJpYnV0aW5nI3ByaW0iPkNyeXB0b2dyYXBoaWMgUHJpbWl0aXZlczwvYT4gPC9saT4KICAgIAogICAgPGxpPjxhIGhyZWY9Ii9jb2duaWNyeXB0L2NvbnRyaWJ1dGluZyN0YXNrcyI+Q3J5cHRvZ3JhcGhpYyBUYXNrczwvYT4gPC9saT4KICAgIAogIDwvdWw+CiAgCjwvbGk+CgoKPGxpPgogIDxhIGNsYXNzPSIiIGhyZWY9Ii9jb2duaWNyeXB0L25ld3MvIj4KICAKICBOZXdzCiAgPC9hPgogIAo8L2xpPgoKCjxsaSBjbGFzcz0iZHJvcGRvd24gZWNsaXBzZS1tb3JlIGhpZGRlbi14cyI+CiAgPGEgZGF0YS10b2dnbGU9ImRyb3Bkb3duIiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIiByb2xlPSJidXR0b24iPk1vcmU8YiBjbGFzcz0iY2FyZXQiPjwvYj48L2E+CiAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgIDxsaT4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9InlhbW0tY29udGVudCI+CiAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgIDx1bCBjbGFzcz0iY29sLXNtLTggbGlzdC11bnN0eWxlZCI+CiAgICAgICAgICAgIDxsaT4KICAgICAgICAgICAgICA8cD48c3Ryb25nPkNvbW11bml0eTwvc3Ryb25nPjwvcD4KICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9tYXJrZXRwbGFjZS5lY2xpcHNlLm9yZyI+TWFya2V0cGxhY2U8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9ldmVudHMuZWNsaXBzZS5vcmciPkV2ZW50czwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5wbGFuZXRlY2xpcHNlLm9yZy8iPlBsYW5ldCBFY2xpcHNlPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9jb21tdW5pdHkvZWNsaXBzZV9uZXdzbGV0dGVyLyI+TmV3c2xldHRlcjwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vdXNlci9FY2xpcHNlRmRuIj5WaWRlb3M8L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vYmxvZ3MuZWNsaXBzZS5vcmciPkJsb2dzPC9hPjwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgICAgPHVsIGNsYXNzPSJjb2wtc20tOCBsaXN0LXVuc3R5bGVkIj4KICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxwPjxzdHJvbmc+UGFydGljaXBhdGU8L3N0cm9uZz48L3A+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2J1Z3MuZWNsaXBzZS5vcmcvYnVncy8iPlJlcG9ydCBhIEJ1ZzwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvZm9ydW1zLyI+Rm9ydW1zPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9tYWlsLyI+TWFpbGluZyBMaXN0czwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93aWtpLmVjbGlwc2Uub3JnLyI+V2lraTwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93aWtpLmVjbGlwc2Uub3JnL0lSQyI+SVJDPC9hPjwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgICAgPHVsIGNsYXNzPSJjb2wtc20tOCBsaXN0LXVuc3R5bGVkIj4KICAgICAgICAgICAgPGxpPgogICAgICAgICAgICAgIDxwPjxzdHJvbmc+RWNsaXBzZSBJREU8L3N0cm9uZz48L3A+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9kb3dubG9hZHMiPkRvd25sb2FkPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL2hlbHAuZWNsaXBzZS5vcmciPkRvY3VtZW50YXRpb248L2E+PC9saT4KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2dldHRpbmdfc3RhcnRlZCI+R2V0dGluZyBTdGFydGVkIC8gU3VwcG9ydDwvYT48L2xpPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvY29udHJpYnV0ZS8iPkhvdyB0byBDb250cmlidXRlPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9pZGUvIj5JREUgYW5kIFRvb2xzPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9mb3J1bXMvaW5kZXgucGhwL2YvODkvIj5OZXdjb21lciBGb3J1bTwvYT48L2xpPgogICAgICAgICAgPC91bD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2xpPgogIDwvdWw+CjwvbGk+CgoKCiAgICAgICAgPGxpIHN0eWxlPSJtaW4td2lkdGg6IDEwMHB4OyBwYWRkaW5nLXRvcDogMTJweDsgcGFkZGluZy1sZWZ0OiA1MHB4OyBtYXJnaW4tbGVmdDotMzVweCI+CiAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vY29nbmljcnlwdD9yZWZfc3JjPXR3c3JjJTVFdGZ3IiBjbGFzcz0idHdpdHRlci1mb2xsb3ctYnV0dG9uIiBkYXRhLXNob3ctY291bnQ9ImZhbHNlIiBkYXRhLXNob3ctc2NyZWVuLW5hbWU9ImZhbHNlIj48L2E+PHNjcmlwdCBhc3luYyBzcmM9Imh0dHBzOi8vcGxhdGZvcm0udHdpdHRlci5jb20vd2lkZ2V0cy5qcyIgY2hhcnNldD0idXRmLTgiPjwvc2NyaXB0PgogICAgICAgIDwvbGk+CiAgICAgIDwvdWw+CiAgICA8L2Rpdj4KICAgIAogIDwvZGl2PgogIAo8L25hdj4KICA8c2VjdGlvbiBjbGFzcz0iY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC04IGNvbC1zbS0xMiI+CiAgICAgICAgPGgxPjxzcGFuIGNsYXNzPSJncmVlbiI+RWNsaXBzZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImdyZWVuIj5Db2duaUNyeXB0PC9zcGFuPjwvaDE+CiAgICAgICAgPHA+RWNsaXBzZSBDb2duaUNyeXB0IGlzIGFuIGludGVsbGlnZW50IG9wZW4tc291cmNlIHBsYXRmb3JtIGVuc3VyaW5nIHRoZSBzZWN1cmUgdXNhZ2Ugb2YgY3J5cHRvIGNvbXBvbmVudHMuPC9wPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvc2VjdGlvbj4KICAgIAo8L2hlYWRlcj4KCiAgCiAgCjxtYWluIGNsYXNzPSJtYWluIj4KICA8c2VjdGlvbiBjbGFzcz0iZmlyc3QiPgogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMTAiPgogICAgICAgIDxoMz48c3BhbiBjbGFzcz0iZ3JlZW4iPkNvZGUgR2VuZXJhdGlvbjwvc3Bhbj48L2gzPiAgICAgICAgCQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvc2VjdGlvbj4KICA8c2VjdGlvbiBjbGFzcz0ic2Vjb25kIj4KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTEwIj4KICAgIAkJCgo8c3R5bGU+CiAgICAgICAgKiB7CiAgICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgcGFkZGluZzogMDsKICAgICAgICB9CiAgICAgICAgLmltZ2JveCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB9CiAgICAgICAgLmNlbnRlci1maXQgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHZoOwogICAgICAgICAgICBtYXJnaW46IGF1dG87CiAgICAgICAgfQogICAgPC9zdHlsZT4KCjxwPlRoaXMgdHV0b3JpYWwgcGFnZSBkZXNjcmliZXMgaG93IG9uZSB3b3VsZCB1c2UgQ29nbmlDcnlwdCZyc3F1bztzIGNvZGUtZ2VuZXJhdGlvbiBmZWF0dXJlLiBGb3IgYSBtb3JlIHRlY2huaWNhbCBkZXNjcmlwdGlvbiBvZiBob3cgdGhlIGNvZGUgZ2VuZXJhdGlvbiB3b3JrcyBpbiB0aGUgYmFja2dyb3VuZCwgcGxlYXNlIHJlZmVyIHRvIDxhIGhyZWY9Imh0dHA6Ly9ib2RkZW4uZGUvcHVicy9rbnIrMTdjb2duaWNyeXB0LnBkZiI+VG9vbCBQYXBlciBvbiBDb2duaUNyeXB0PC9hPiBwdWJsaXNoZWQgYXQgQVNFIDIwMTcuPC9wPgoKPGgxIGlkPSJsYXVuY2hpbmctdGhlLWNvZGUtZ2VuZXJhdG9yIj5MYXVuY2hpbmcgdGhlIENvZGUgR2VuZXJhdG9yPC9oMT4KCjxwPkNvZ25pQ3J5cHQmcnNxdW87cyBjb2RlIGdlbmVyYXRvciBjYW4gbW9zdCBlYXNpbHkgYmUgdHJpZ2dlcmVkIGJ5IGNsaWNraW5nIHRoZSBDb2duaUNyeXB0IGJ1dHRvbiBpbiB0aGUgRWNsaXBzZSB0b29sIGJhci4gSW4gdGhpcyBjYXNlLCBDb2duaUNyeXB0IGFwcGxpZXMgYSBudW1iZXIgb2YgaGV1cmlzdGljcyB0byBkZXRlcm1pbmUgd2hpY2ggcHJvamVjdCB0aGUgY29kZSBzaG91bGQgYmUgZ2VuZXJhdGVkIGludG8uIEZpcnN0IGFuZCBmb3JlbW9zdCwgaWYgYSBKYXZhIGZpbGUgaXMgb3BlbmVkIGluIHRoZSBlZGl0b3Igd2hlbiB0aGUgYnV0dG9uIGlzIGJlaW5nIGNsaWNrZWQsIENvZ25pQ3J5cHQgc2VsZWN0cyBpdHMgcHJvamVjdCBmb3IgY29kZSBnZW5lcmF0aW9uLiBBbm90aGVyIHdheSBvZiB0cmlnZ2VyaW5nIHRoZSBjb2RlIGdlbmVyYXRvciBpcyB0aHJvdWdoIG9wZW5pbmcgdGhlIGNvbnRleHQgbWVudSBvbiB0aGUgcmVzcGVjdGl2ZSBwcm9qZWN0IGFuZCBzZWxlY3QgdGhlIGVudHJ5ICZsZHF1bztMYXVuY2ggQ29nbmlDcnlwdCZyZHF1bzsgYXMgZGlzcGxheWVkIGluIHRoZSBzY3JlZW5zaG90IGJlbG93Lgo8ZGl2IGNsYXNzPSJpbWdib3giPgogICAgPGltZyBjbGFzcz0iY2VudGVyLWZpdCIgc3JjPSdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vQ1JPU1NJTkdUVUQvQ29nbmlDcnlwdC9tYXN0ZXIvZG9jdW1lbnRhdGlvbi9JbWFnZXMlMjBmb3IlMjBUdXRvcmlhbC8wMkNvbnRleHQucG5nJyBhbHQ9IkNvZ25pQ3J5cHQgQ29udGV4dCBNZW51Ij4KPC9kaXY+PC9wPgoKPGgxIGlkPSJzZWxlY3RpbmctYS10YXNrIj5TZWxlY3RpbmcgYSBUYXNrPC9oMT4KCjxwPldoZW4gQ29nbmlDcnlwdCBsYXVuY2hlcywgdGhlIGZvbGxvd2luZyB3aW5kb3cgcG9wcyB1cDoKPGRpdiBjbGFzcz0iaW1nYm94Ij4KICAgIDxpbWcgY2xhc3M9ImNlbnRlci1maXQiIHNyYz0naHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0NST1NTSU5HVFVEL0NvZ25pQ3J5cHQvbWFzdGVyL2RvY3VtZW50YXRpb24vSW1hZ2VzJTIwZm9yJTIwVHV0b3JpYWwvMDNNYWluTWVudS5wbmcnIGFsdD0iQ29nbmlDcnlwdCBNYWluIE1lbnUiPgo8L2Rpdj48L3A+Cgo8cD5IZXJlLCB0aGUgdXNlciBmaXJzdCBoYXMgdG8gc2VsZWN0IGluIHRoZSB1cHBlciBkcm9wZG93biBtZW51IHdoaWNoIHByb2plY3QgaXQgd2FudHMgQ29nbmlDcnlwdCB0byBnZW5lcmF0ZSB0aGUgY29kZSBpbnRvLiBUaGUgZHJvcGRvd24gbWVudSBpcyBwb3B1bGF0ZWQgd2l0aCBhbGwgSmF2YSBwcm9qZWN0cyBpbiB0aGUgd29ya3NwYWNlLiBJZiBDb2duaUNyeXB0IHdhcyBsYXVuY2hlZCBieSBtZWFucyBvZiB0aGUgY29udGV4dCBtZW51LCBpdCBhdXRvLXNlbGVjdHMgdGhlIHJlc3BlY3RpdmUgcHJvamVjdC4gT3RoZXJ3aXNlLCBDb2duaUNyeXB0IHJ1bnMgdGhlIGhldXJpc3RpY3Mgc2tldGNoZWQgYWJvdmUuIFRoZSBzZWNvbmQgZHJvcGRvd24gbWVudSBhbGxvd3MgdGhlIHVzZXIgdG8gc2VsZWN0IGEgY3J5cHRvZ3JhcGhpYyBwcm9ncmFtbWluZyB0YXNrLiBDdXJyZW50bHksIHNldmVuIHRhc2tzIGFyZSBzdXBwb3J0ZWQuIFRoZSB0ZXh0IGJveCwgYmVsb3cgdGhlIHNlY29uZCBkcm9wZG93biwgc2hvd3MgYSBicmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgdGFzayB0aGF0IGlzIHNlbGVjdGVkIGZyb20gdGhlIGRyb3Bkb3duLiBPbmNlIHRoZSB1c2VyIGhhcyBzZWxlY3RlZCBib3RoIGEgcHJvamVjdCBhbmQgYSB0YXNrIHRoZXkgY2FuIGNvbnRpbnVlLjwvcD4KCjxoMSBpZD0iY29uZmlndXJpbmctYS1zb2x1dGlvbiI+Q29uZmlndXJpbmcgYSBTb2x1dGlvbjwvaDE+Cgo8cD5Gb3IgZWFjaCB0YXNrLCBDb2duaUNyeXB0IGFza3MgdGhlIHVzZXIgYSBudW1iZXIgb2YgcXVlc3Rpb25zLiBUaGVzZSBxdWVzdGlvbnMgaGVscCBDb2duaUNyeXB0IGNvbmZpZ3VyZSB0aGUgc29sdXRpb24gaXQgcHJvdmlkZXMgdGhlIHVzZXIgd2l0aCBpbiB0aGUgZW5kLiBGb3IgdGhlIHRhc2sgJmxkcXVvO0VuY3J5cHQgRGF0YSBVc2luZyBhIFNlY3JldCBLZXkmcmRxdW87KGhlcmVhZnRlciByZWZlcnJlZCB0byBhcyBFbmNyeXB0aW9uIFRhc2spLCBDb2duaUNyeXB0IG5lZWRzIHRoZSB1c2VyIHRvIGFuc3dlciB0aGUgcXVlc3Rpb25zIHNob3duIGluIHRoZSBmb2xsb3dpbmcgc2NyZWVuc2hvdHM6PC9wPgoKPGRpdiBjbGFzcz0iaW1nYm94Ij4KICAgIDxpbWcgY2xhc3M9ImNlbnRlci1maXQiIHNyYz0naHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0NST1NTSU5HVFVEL0NvZ25pQ3J5cHQvbWFzdGVyL2RvY3VtZW50YXRpb24vSW1hZ2VzJTIwZm9yJTIwVHV0b3JpYWwvMDRRdWVzdGlvbnMucG5nJyBhbHQ9IlF1ZXN0aW9ucyBmb3IgRW5jcnlwdGlvbiBUYXNrIj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJpbWdib3giPgogICAgPGltZyBjbGFzcz0iY2VudGVyLWZpdCIgc3JjPSdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vQ1JPU1NJTkdUVUQvQ29nbmlDcnlwdC9tYXN0ZXIvZG9jdW1lbnRhdGlvbi9JbWFnZXMlMjBmb3IlMjBUdXRvcmlhbC8wNFF1ZXN0aW9uczEucG5nJyBhbHQ9IlF1ZXN0aW9ucyBmb3IgRW5jcnlwdGlvbiBUYXNrIj4KPC9kaXY+Cgo8cD5UaGUgZmlyc3QgcXVlc3Rpb24gcmVsYXRlcyB0byB0aGUgcmVxdWlyZWQgc2VjdXJpdHkgbGV2ZWwgYXMgc3Ryb25nZXIgc2VjdXJpdHkgb2Z0ZW4gaW1wZWRlcyB0aGUgcGVyZm9ybWFuY2Ugb2YgYSBnaXZlbiBzb2x1dGlvbi4gUXVlc3Rpb24gMiBhbGxvd3MgZm9yIGFuIGVhc2llciBrZXkgZ2VuZXJhdGlvbiBieSBnaXZpbmcgdGhlIHVzZXIgb2YgdGhlIGdlbmVyYXRlZCBzb2x1dGlvbiB0aGUgb3Bwb3J0dW5pdHkgdG8gcHJvdmlkZSBhIHBhc3N3b3JkIGZyb20gd2hpY2ggdGhlIGtleSBpcyBkZXJpdmVkLiBJZiAmbHNxdW87bm8mcnNxdW87IGlzIHNlbGVjdGVkLCBDb2duaUNyeXB0IGdlbmVyYXRlcyBjb2RlIHRoYXQgZW1wbG95cyB0aGUgcmVndWxhciBrZXkgZ2VuZXJhdGlvbiBtZWNoYW5pc20gb2YgdGhlIEpDQS4gSWYgJmxzcXVvO3llcyZyc3F1bzsgaXMgc2VsZWN0ZWQsIHRoZW4gaGFuZGxpbmcgdGhlIGtleSBzaG91bGQgYmUgdGFrZW4gY2FyZSBvZiBieSB0aGUgdXNlciBoaW1zZWxmLiBUaGUgY29uc2VxdWVuY2Ugb2Ygc2VsZWN0aW5nIGFuIGFuc3dlciBpcyBzcGVjaWZpZWQgaW4gdGhlIGZvcm0gb2YgJmxkcXVvO05vdGUmcmRxdW87LCBiZWxvdyB0aGUgcXVlc3Rpb24uIFRoZSB0aGlyZCBxdWVzdGlvbiwgd2hpY2ggYXBwZWFycyBpbiB0aGUgbmV4dCBwYWdlLCBhc2tzIGlmIHRoZSB1c2VyIGhhcyB0byBlbmNyeXB0IGxhcmdlIGRhdGEgcmVndWxhcmx5LiBUaGUgZmluYWwgcXVlc3Rpb24gYWxsb3dzIENvZ25pQ3J5cHQmcnNxdW87cyB1c2VyIHRvIHNwZWNpZnkgYW4gaW5wdXQgdHlwZSBmb3IgdGhlIGVuY3J5cHRpb24uIFRoZSBkZWZhdWx0IGRhdGEgdHlwZSBhcmUgYnl0ZSBhcnJheXMuIFNob3VsZCB0aGUgdXNlciBwaWNrIGFueSBvdGhlciB0eXBlLCB0aGUgZ2VuZXJhdGVkIGNvZGUgdGFrZXMgY2FyZSBvZiB0aGUgdHlwZSBjb252ZXJzaW9uIGZvciB0aGUgdXNlci48L3A+Cgo8aDEgaWQ9InNlbGVjdGluZy1hLXNvbHV0aW9uIj5TZWxlY3RpbmcgYSBTb2x1dGlvbjwvaDE+Cgo8cD5XaGVuIHRoZSB1c2VyIGhhcyBhbnN3ZXJlZCBhbGwgcXVlc3Rpb25zLCBDb2duaUNyeXB0IGNvbmZpZ3VyZXMgYSBudW1iZXIgb2Ygc29sdXRpb25zIGZvciB0aGVtLiBCdXQsIHRoZSBtb3N0IHNlY3VyZSBzb2x1dGlvbiBpcyBwcm92aWRlZCB0byB0aGUgdXNlciBhcyBhIGRlZmF1bHQgc29sdXRpb24sIGFzIHNob3duIGluIHRoZSBzY3JlZW5zaG90IGJlbG93LiBUaGUgcHJldmlldyBvZiB0aGUgY29kZSB0aGF0IHdpbGwgYmUgbmV3bHkgZ2VuZXJhdGVkIGlzIGFsc28gc2hvd24gaW4gdGhlIHNhbWUgcGFnZS4gSWYgdGhlIHVzZXIgaGFzIGEgSmF2YSBmaWxlIG9wZW4sIHRoZW4gdGhlIGNvZGUgZ2V0cyBnZW5lcmF0ZWQgaW50byB0aGUgc2FtZSBmaWxlLiBTbywgdGhlIHByZXZpZXcgYWxzbyBzaG93cyB0aGUgbmV3bHkgZ2VuZXJhdGVkIG1ldGhvZCBpbnNpZGUgdGhlIHVzZXImcnNxdW87cyBKYXZhIGZpbGUuIElmIGEgZmlsZSBpcyBub3Qgb3BlbiB0aGVuIHRoZSBwcmV2aWV3IG9mIHRoZSBuZXcgY2xhc3MsIHRoYXQgZ2V0cyBjcmVhdGVkLCBpcyBzaG93biBpbiB0aGUgcHJldmlldy4gSWYgdGhlIHVzZXIgd2FudHMgdG8gdmlldyBtb3JlIGFsZ29yaXRobSBjb21iaW5hdGlvbnMgbWF0Y2hpbmcgaGlzIHJlcXVpcmVtZW50cywgdGhlbiB0aGUgY2hlY2sgYm94IGJlbG93IHRoZSBjb2RlIHByZXZpZXcgc2hvdWxkIGJlIGNoZWNrZWQgYW5kIHRoZSB1c2VyIGNhbiBjbGljayAmbGRxdW87TmV4dCZyZHF1bzsuIElmIG5vdCwgdGhlIHVzZXIgY2FuIGNsaWNrICZsZHF1bztGaW5pc2gmcmRxdW87IHRvIGdlbmVyYXRlIHRoZSBjb2RlIGluIGhpcyBKYXZhIHByb2plY3QuPC9wPgoKPGRpdiBjbGFzcz0iaW1nYm94Ij4KICAgIDxpbWcgY2xhc3M9ImNlbnRlci1maXQiIHNyYz0naHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0NST1NTSU5HVFVEL0NvZ25pQ3J5cHQvbWFzdGVyL2RvY3VtZW50YXRpb24vSW1hZ2VzJTIwZm9yJTIwVHV0b3JpYWwvMDVDb25maWd1cmF0aW9uU2VsZWN0aW9uLnBuZycgYWx0PSJGaW5hbCBTY3JlZW4gZm9yIFNvbHV0aW9uIFNlbGVjdGlvbiI+CjwvZGl2PgoKPHA+SWYgdGhlIHVzZXIgY2hvb3NlcyB0byB2aWV3IG90aGVyIHNvbHV0aW9ucywgdGhlbiBhIHBhZ2UsIGFzIHNob3duIGluIHRoZSBzY3JlZW5zaG90IGJlbG93LCBhcHBlYXJzIG9uIGNsaWNraW5nICZsZHF1bztOZXh0JnJkcXVvOy4gVGhlc2UgYWxnb3JpdGhtIGNvbWJpbmF0aW9ucyBhbmQgdGhlaXIgdmFyaWF0aW9ucyBhcmUgb3JkZXJlZCBieSBzZWN1cml0eSBpbiBkZXNjZW5kaW5nIG9yZGVyLCBidXQgdGhleSBhcmUgYWxsIHNlY3VyZSBhbmQgYWxzbyBmdWxmaWxsIHRoZSBjb25zdHJhaW50cyB0aGUgdXNlciBoYXMgc3BlY2lmaWVkIHRocm91Z2ggdGhlaXIgYW5zd2VycyBvbiB0aGUgcHJldmlvdXMgcGFnZShzKS4gVGh1cywgdGhlIHVzZXIgbWF5IHBpY2sgYW55IG9mIHRoZSBwcm9wb3NlZCBzb2x1dGlvbnMgYnkgc2VsZWN0aW5nIGl0IGluIHRoZSBkcm9wZG93biBtZW51LiBDb2duaUNyeXB0IGF1dG8tc2VsZWN0cyB0aGUgbW9zdCBzZWN1cmUgc29sdXRpb24gKHRoZSBvbmUgd2hpY2ggaXMgc2hvd24gaW4gdGhlIHByZXZpb3VzIHBhZ2UpIGJ5IGRlZmF1bHQuIFdoZW4gdGhlIHVzZXIgaGFzIGNob3NlbiBhbiBhbGdvcml0aG0gY29tYmluYXRpb24gZnJvbSB0aGUgZHJvcGRvd24sIGhlIGNhbiB2aWV3IGl0cyB2YXJpYXRpb25zKGlmIGFueSkgd2l0aCB0aGUgaGVscCBvZiAmbGRxdW87Jmx0OyZyZHF1bzsgYW5kICZsZHF1bzsmZ3Q7JnJkcXVvOyBidXR0b25zLiBUaGUgcHJvcGVydGllcyBvZiB0aGUgY2hvc2VuIHZhcmlhdGlvbiBpcyBzaG93biBpbiB0aGUgJmxkcXVvO0luc3RhbmNlIERldGFpbHMmcmRxdW87IHBhbmVsLiBUaGV5IGNhbiBzZWxlY3QgYSB2YXJpYXRpb24gb2YgdGhlIGFsZ29yaXRobSBjb21iaW5hdGlvbiBhbmQgaGl0ICZsZHF1bztGaW5pc2gmcmRxdW87LCB3aGljaCBwcm9tcHRzIENvZ25pQ3J5cHQgdG8gZ2VuZXJhdGUgdGhlIHNvbHV0aW9uIHVuZGVyIHRoZSBjaG9zZW4gY29uZmlndXJhdGlvbiBpbnRvIHRoZSB1c2VyJnJzcXVvO3MgcHJvamVjdC48L3A+Cgo8ZGl2IGNsYXNzPSJpbWdib3giPgogICAgPGltZyBjbGFzcz0iY2VudGVyLWZpdCIgc3JjPSdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vQ1JPU1NJTkdUVUQvQ29nbmlDcnlwdC9tYXN0ZXIvZG9jdW1lbnRhdGlvbi9JbWFnZXMlMjBmb3IlMjBUdXRvcmlhbC8wNUNvbmZpZ3VyYXRpb25TZWxlY3Rpb24tQWx0ZXJuYXRpdmVzLnBuZycgYWx0PSJGaW5hbCBTY3JlZW4gZm9yIFNvbHV0aW9uIFNlbGVjdGlvbiI+CjwvZGl2PgoKPHA+QWRkaXRpb25hbGx5LCB0aGUgdXNlciBjYW4gYWxzbyB2aWV3IHRoZSBwcmV2aWV3IG9mIHRoZSBjb2RlIGZvciB0aGUgc2VsZWN0ZWQgc29sdXRpb24sIGJ5IGNsaWNraW5nIHRoZSBidXR0b24gaW4gdGhlIHNhbWUgcGFnZS4gVGhpcyBvcGVucyBhIG5ldyBkaWFsb2csYXMgaW4gYmVsb3cgc2NyZWVuc2hvdCwgd2hpY2ggcHJlc2VudHMgYSBjb21wYXJpc29uIGJldHdlZW4gdGhlIHVzZXImcnNxdW87cyBmaWxlLCBiZWZvcmUgYW5kIGFmdGVyIHRoZSBjb2RlIGdlbmVyYXRpb24uIElmIG5vIGZpbGUgaXMgb3BlbiBpbiB0aGUgdXNlcpJzIGVuZCwgdGhlbiBhIGNvbXBhcmlzb24gYmV0d2VlbiBhbiBlbXB0eSBmaWxlIGFuZCB0aGUgbmV3bHkgY3JlYXRlZCBjbGFzcyBmaWxlIGlzIHNob3duLiBUaGUgZGlhbG9nIHNob3dzIHRoZSBjb2RlIGNvbXBhcmlzb24gaW4gdGhlIHNhbWUgd2F5IGFzIHRoYXQgb2YgdGhlICZsZHF1bztDb21wYXJlIEVkaXRvciZyZHF1bzsKb2YgZWNsaXBzZS48L3A+Cgo8ZGl2IGNsYXNzPSJpbWdib3giPgogICAgPGltZyBjbGFzcz0iY2VudGVyLWZpdCIgc3JjPSdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vQ1JPU1NJTkdUVUQvQ29nbmlDcnlwdC9tYXN0ZXIvZG9jdW1lbnRhdGlvbi9JbWFnZXMlMjBmb3IlMjBUdXRvcmlhbC8wNUNvbmZpZ3VyYXRpb25TZWxlY3Rpb24tQ29kZUNvbXBhcmlzb24ucG5nJyBhbHQ9IkZpbmFsIFNjcmVlbiBmb3IgU29sdXRpb24gU2VsZWN0aW9uIj4KPC9kaXY+Cgo8cD5GdXJ0aGVyLCB0aGVyZSBpcyBhbHNvIGEgbmV3IHdpemFyZCB0aGF0IG9wZW5zIG9uIGNsaWNraW5nICZsZHF1bztDb21wYXJlIEFsZ29yaXRobXMmcmRxdW87IGJ1dHRvbi4gVGhpcyBhbGxvd3MgdGhlIHVzZXIgdG8gY29tcGFyZSB0d28gYWxnb3JpdGhtcyBvZiBoaXMgY2hvaWNlLiBUaGlzIHdpemFyZCBoYXMgdHdvIGNvbWJvIGJveGVzIGFuZCB0d28gY29ycmVzcG9uZGluZyBwYW5lbHMgdG8gZGlzcGxheSB0aGUgcHJvcGVydGllcyBvZiB0aGUgY2hvc2VuIGFsZ29yaXRobXMuIEluaXRpYWxseSwgYm90aCB0aGUgY29tYm8gYm94ZXMgaGF2ZSB0aGUgZmlyc3QgZWxlbWVudCBzZWxlY3RlZCBieSBkZWZhdWx0LiBTaW5jZSB0aGUgZWxlbWVudHMgaW4gdGhlIGNvbWJvIGJveGVzIGFyZSBzYW1lLCB0aGVpciBwcm9wZXJ0aWVzIHdpbGwgYWxzbyBiZSBpZGVudGljYWwuIElmIHR3byBkaWZmZXJlbnQgYWxnb3JpdGhtIGNvbWJpbmF0aW9ucyBhcmUgc2VsZWN0ZWQgZm9yIGNvbXBhcmlzb24sIHRoZW4gdGhlIHByb3BlcnRpZXMgdGhhdCBkaWZmZXIgaW4gdGhlaXIgdmFsdWVzIHdpbGwgYmUgaGlnaGxpZ2h0ZWQuPC9wPgoKPGRpdiBjbGFzcz0iaW1nYm94Ij4KICAgIDxpbWcgY2xhc3M9ImNlbnRlci1maXQiIHNyYz0naHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0NST1NTSU5HVFVEL0NvZ25pQ3J5cHQvbWFzdGVyL2RvY3VtZW50YXRpb24vSW1hZ2VzJTIwZm9yJTIwVHV0b3JpYWwvMDVDb25maWd1cmF0aW9uU2VsZWN0aW9uLUFsZ29yaXRobUNvbXBhcmlzb24ucG5nJyBhbHQ9IkZpbmFsIFNjcmVlbiBmb3IgU29sdXRpb24gU2VsZWN0aW9uIj4KPC9kaXY+Cgo8aDEgaWQ9ImludGVncmF0aW5nLXRoZS1zb2x1dGlvbi1pbnRvLXRoZS1hcHBsaWNhdGlvbiI+SW50ZWdyYXRpbmcgdGhlIFNvbHV0aW9uIGludG8gdGhlIEFwcGxpY2F0aW9uPC9oMT4KCjxwPkZvciB0aGUgZWFjaCB0YXNrLCBDb2duaUNyeXB0IGdlbmVyYXRlcyB0d28gY29kZSBhcnRlZmFjdHMuIEZpcnN0LCB0aGVyZSBpcyB0aGUgYWN0dWFsIGltcGxlbWVudGF0aW9uLiBJdCBpcyBhbHdheXMgZ2VuZXJhdGVkIGludG8gYSBwYWNrYWdlIGNhbGxlZCAmbGRxdW87Q3J5cHRvJnJkcXVvOy4gVGhlIGVuY3J5cHRpb24gdGFzayBpcyByYXRoZXIgc2ltcGxlIGFuZCBtZXJlbHkgY29tcHJpc2VzIG9mIG9uZSBjbGFzcyBhcyBzaG93biBiZWxvdy4gT3RoZXIgdGFza3MgbWlnaHQgYmUgbW9yZSBjb21wbGV5IGFuZCByZXF1aXJlIG1vcmUgY29kZSwgdGhvdWdoLgo8ZGl2IGNsYXNzPSJpbWdib3giPgogICAgPGltZyBjbGFzcz0iY2VudGVyLWZpdCIgc3JjPSdodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vQ1JPU1NJTkdUVUQvQ29nbmlDcnlwdC9tYXN0ZXIvZG9jdW1lbnRhdGlvbi9JbWFnZXMlMjBmb3IlMjBUdXRvcmlhbC8wN0VuY3J5cHRpb24ucG5nJyBhbHQ9IkFjdHVhbCBJbXBsZW1lbnRhdGlvbiBvZiBFbmNyeXB0aW9uIFRhc2siPgo8L2Rpdj48L3A+Cgo8cD5UaGUgc2Vjb25kIGFydGVmYWN0IGlzIGEgZ2x1ZS1jb2RlIG1ldGhvZCBjYWxsZWQgJmxkcXVvO3RlbXBsYXRlVXNhZ2UmcmRxdW87IHNob3djYXNpbmcgdG8gdGhlIGRldmVsb3BlciBob3cgdG8gcHJvcGVybHkgdXNlIHRoZSBpbXBsZW1lbnRhdGlvbiBpbiB0aGVpciBhcHBsaWNhdGlvbi4gSWYsIGF0IHRoZSB0aW1lIG9mIGxhdW5jaGluZyBDb2duaUNyeXB0LCB0aGVyZSBpcyBhIEphdmEgZmlsZSBvcGVuIGluIHRoZSBFY2xpcHNlIEVkaXRvciB0aGF0IGFsc28gYmVsb25ncyB0byB0aGUgcHJvamVjdCB0aGUgdXNlciBzZWxlY3RzIG9uIENvZ25pQ3J5cHQmcnNxdW87cyBmaXJzdCBzY3JlZW4sIENvZ25pQ3J5cHQgZ2VuZXJhdGVzIHRoZSBtZXRob2QgaW50byAgdGhpcyBjbGFzcyBhc3N1bWluZyB0aGF0IGl0IGlzIHRoZSByaWdodCBjb250ZXh0IGZvciBpdC4gSXMgZWl0aGVyIG9mIHRob3NlIHR3byBjb25kaXRpb25zIG5vdCBtZXQsIGkuZS4sIGVpdGhlciBubyBKYXZhIGlzIG9wZW5lZCBvciB0aGUgZmlsZSZyc3F1bztzIHByb2plY3QgZG9lcyBub3QgbWF0Y2ggdGhlIHNlbGVjdGVkIHByb2plY3QsIENvZ25pQ3J5cHQgZ2VuZXJhdGVzIHRoZSBtZXRob2QgaW50byBhIGNsYXNzIE91dHB1dCwgYWxzbyB1bmRlciB0aGUgJmxkcXVvO0NyeXB0byZyZHF1bzsgcGFja2FnZS4KPGRpdiBjbGFzcz0iaW1nYm94Ij4KICAgIDxpbWcgY2xhc3M9ImNlbnRlci1maXQiIHNyYz0naHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL0NST1NTSU5HVFVEL0NvZ25pQ3J5cHQvbWFzdGVyL2RvY3VtZW50YXRpb24vSW1hZ2VzJTIwZm9yJTIwVHV0b3JpYWwvMDZUZW1wbGF0ZVVzYWdlLnBuZycgYWx0PSJTYW1wbGUgTWV0aG9kIHNob3djYXNpbmcgdXNhZ2Ugb2YgV3JhcHBlciBDb2RlIj4KPC9kaXY+PC9wPgoKPHA+RmluYWxseSwgdG8gaW50ZWdyYXRlIHRoZSBnZW5lcmF0ZWQgY29kZSBpbnRvIHRoZWlyIGFwcGxpY2F0aW9uLCB0aGUgdXNlciBtYXkgY2hvb3NlIHRvIHNpbXBseSBjYWxsIHRoZSAmbGRxdW87dGVtcGxhdGVVc2FnZSZyZHF1bzsgbWV0aG9kIG9yIGNvcHktcGFzdGUgdGhlIHN0YXRlbWVudHMgZnJvbSB0aGUgbWV0aG9kIHRoZXkgbmVlZCBpbiB0aGVpciBjb2RlIHRvIHRoZSByaWdodCBwbGFjZS4gQnkgbWVhbnMgb2YgaXRzIDxhIGhyZWY9Ii4uL2NvZGUtYW5hbHlzaXMiPkNvZGUgYW5hbHlzaXM8L2E+LCBDb2duaUNyeXB0IHdpbGwgZW5zdXJlIGl0cyB1c2VyIGRvZXMgbm90IGJyZWFrIHRoZSBzZWN1cml0eSBkdXJpbmcgaW50ZWdyYXRpb24uPC9wPgoKICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L3NlY3Rpb24+CjwvbWFpbj4KCiAgCiAgCjxmb290ZXIgaWQ9InNvbHN0aWNlLWZvb3RlciI+CiAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgIDxzZWN0aW9uIGNsYXNzPSJjb2wtc20tMyBoaWRkZW4tcHJpbnQiIGlkPSJmb290ZXItZWNsaXBzZS1mb3VuZGF0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiIHN0eWxlPSJjb2xvcjojZmZmOyI+RWNsaXBzZSBGb3VuZGF0aW9uPC9oMj4KICAgICAgICA8dWwgY2xhc3M9Im5hdiI+CiAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvb3JnLyI+QWJvdXQgVXM8L2E+PC9saT4KICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9vcmcvZm91bmRhdGlvbi9jb250YWN0LnBocCI+Q29udGFjdAogICAgICAgICAgICAgIFVzPC9hPjwvbGk+CiAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvZG9uYXRlIj5Eb25hdGU8L2E+PC9saT4KICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9vcmcvZG9jdW1lbnRzLyI+R292ZXJuYW5jZTwvYT48L2xpPgogICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2FydHdvcmsvIj5Mb2dvIGFuZAogICAgICAgICAgICAgIEFydHdvcms8L2E+PC9saT4KICAgICAgICAgIDxsaT48YQogICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9vcmcvZm91bmRhdGlvbi9kaXJlY3RvcnMucGhwIgogICAgICAgICAgPkJvYXJkIG9mIERpcmVjdG9yczwvYT48L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvc2VjdGlvbj4KICAgICAgPHNlY3Rpb24gY2xhc3M9ImNvbC1zbS0zIGhpZGRlbi1wcmludCIgaWQ9ImZvb3Rlci1sZWdhbCI+CiAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIiBzdHlsZT0iY29sb3I6I2ZmZjsiPkxlZ2FsPC9oMj4KICAgICAgICA8dWwgY2xhc3M9Im5hdiI+CiAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvcHJpdmFjeS5waHAiPlByaXZhY3kKICAgICAgICAgICAgICBQb2xpY3k8L2E+PC9saT4KICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC90ZXJtc29mdXNlLnBocCI+VGVybXMKICAgICAgICAgICAgICBvZiBVc2U8L2E+PC9saT4KICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9jb3B5cmlnaHQucGhwIj5Db3B5cmlnaHQKICAgICAgICAgICAgICBBZ2VudDwvYT48L2xpPgogICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvIj5FY2xpcHNlCiAgICAgICAgICAgICAgUHVibGljIExpY2Vuc2U8L2E+PC9saT4KICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC8iPkxlZ2FsIFJlc291cmNlcwogICAgICAgICAgPC9hPjwvbGk+CiAgICAgICAgPC91bD4KICAgICAgPC9zZWN0aW9uPgogICAgICA8c2VjdGlvbiBjbGFzcz0iY29sLXNtLTMgaGlkZGVuLXByaW50IiBpZD0iZm9vdGVyLXVzZWZ1bC1saW5rcyI+CiAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIiBzdHlsZT0iY29sb3I6I2ZmZjsiPlVzZWZ1bCBMaW5rczwvaDI+CiAgICAgICAgPHVsIGNsYXNzPSJuYXYiPgogICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vYnVncy5lY2xpcHNlLm9yZy9idWdzLyI+UmVwb3J0IGEgQnVnPC9hPjwvbGk+CiAgICAgICAgICA8bGk+PGEgaHJlZj0iLy9oZWxwLmVjbGlwc2Uub3JnLyI+RG9jdW1lbnRhdGlvbjwvYT48L2xpPgogICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2NvbnRyaWJ1dGUvIj5Ib3cgdG8KICAgICAgICAgICAgICBDb250cmlidXRlPC9hPjwvbGk+CiAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbWFpbC8iPk1haWxpbmcgTGlzdHM8L2E+PC9saT4KICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3d3dy5lY2xpcHNlLm9yZy9mb3J1bXMvIj5Gb3J1bXM8L2E+PC9saT4KICAgICAgICAgIDxsaT48YSBocmVmPSIvL21hcmtldHBsYWNlLmVjbGlwc2Uub3JnIj5NYXJrZXRwbGFjZTwvYT48L2xpPgogICAgICAgIDwvdWw+CiAgICAgIDwvc2VjdGlvbj4KICAgICAgPHNlY3Rpb24gY2xhc3M9ImNvbC1zbS0zIGhpZGRlbi1wcmludCIgaWQ9ImZvb3Rlci1vdGhlciI+CiAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIiBzdHlsZT0iY29sb3I6I2ZmZjsiPk90aGVyPC9oMj4KICAgICAgICA8dWwgY2xhc3M9Im5hdiI+CiAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvaWRlLyI+SURFIGFuZCBUb29sczwvYT48L2xpPgogICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL3Byb2plY3RzIj5Db21tdW5pdHkgb2YKICAgICAgICAgICAgICBQcm9qZWN0czwvYT48L2xpPgogICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL29yZy93b3JraW5nZ3JvdXBzLyI+V29ya2luZwogICAgICAgICAgICAgIEdyb3VwczwvYT48L2xpPgogICAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL29yZy9yZXNlYXJjaC8iPlJlc2VhcmNoQEVjbGlwc2U8L2E+PC9saT4KICAgICAgICAgIDxsaT48YSBocmVmPSJodHRwczovL3N0YXR1cy5lY2xpcHNlLm9yZyI+U2VydmljZSBTdGF0dXM8L2E+PC9saT4KICAgICAgICA8L3VsPgogICAgICA8L3NlY3Rpb24+CiAgICAgIDxkaXYgY2xhc3M9ImNvbC1zbS0xMiBtYXJnaW4tdG9wLTIwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgPGRpdiBpZD0iY29weXJpZ2h0IiBjbGFzcz0iY29sLW1kLTgiPgogICAgICAgICAgICA8cCBpZD0iY29weXJpZ2h0LXRleHQiIHN0eWxlPSJjb2xvcjojZmZmOyI+Q29weXJpZ2h0IMKpIEVjbGlwc2UgRm91bmRhdGlvbiwgSW5jLiBBbGwKICAgICAgICAgICAgICBSaWdodHMgUmVzZXJ2ZWQuPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCBzb2NpYWwtbWVkaWEiPgogICAgICAgICAgICA8dWwgY2xhc3M9Imxpc3QtaW5saW5lIHRleHQtcmlnaHQiPgogICAgICAgICAgICAgIDxsaT48YSBjbGFzcz0ic29jaWFsLW1lZGlhLWxpbmsgZmEtc3RhY2sgZmEtbGciCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tL2NvZ25pY3J5cHQiCiAgICAgICAgICAgICAgPiA8aSBjbGFzcz0iZmEgZmEtY2lyY2xlLXRoaW4gZmEtc3RhY2stMngiPjwvaT4gPGkKICAgICAgICAgICAgICAgICAgY2xhc3M9ImZhIGZhLXR3aXR0ZXIgZmEtc3RhY2stMXgiCiAgICAgICAgICAgICAgICA+PC9pPgogICAgICAgICAgICAgIDwvYT48L2xpPgogICAgICAgICAgICAgIDxsaT48YSBjbGFzcz0ic29jaWFsLW1lZGlhLWxpbmsgZmEtc3RhY2sgZmEtbGciCiAgICAgICAgICAgICAgICBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9jaGFubmVsL1VDTkt6ZVp6aElNT2hXbTllcWxQMTVrdyIKICAgICAgICAgICAgICA+IDxpIGNsYXNzPSJmYSBmYS1jaXJjbGUtdGhpbiBmYS1zdGFjay0yeCI+PC9pPiA8aQogICAgICAgICAgICAgICAgICBjbGFzcz0iZmEgZmEteW91dHViZSBmYS1zdGFjay0xeCIKICAgICAgICAgICAgICAgID48L2k+CiAgICAgICAgICAgICAgPC9hPjwvbGk+CiAgICAgICAgICAgICAgPGxpPjxhIGNsYXNzPSJzb2NpYWwtbWVkaWEtbGluayBmYS1zdGFjayBmYS1sZyIKICAgICAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L2VjbGlwc2UtZm91bmRhdGlvbiIKICAgICAgICAgICAgICA+IDxpIGNsYXNzPSJmYSBmYS1jaXJjbGUtdGhpbiBmYS1zdGFjay0yeCI+PC9pPiA8aQogICAgICAgICAgICAgICAgICBjbGFzcz0iZmEgZmEtbGlua2VkaW4gZmEtc3RhY2stMXgiCiAgICAgICAgICAgICAgICA+PC9pPgogICAgICAgICAgICAgIDwvYT48L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CjwvZm9vdGVyPgoKCgo8c2NyaXB0IHNyYz0iaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvY29nbmljcnlwdC9hc3NldHMvanMvbWFpbi5qcyI+PC9zY3JpcHQ+CgoKICAKICA8c2NyaXB0IHNyYz0ianMvc2h1ZmZsZS5qcyI+PC9zY3JpcHQ+CiAgPHNjcmlwdCBzcmM9ImpzL2luZGV4LmpzIj48L3NjcmlwdD4KCjwvYm9keT4KPC9odG1sPgoK