www.cao.ac.za
Open in
urlscan Pro
102.133.183.158
Public Scan
URL:
https://www.cao.ac.za/
Submission: On September 29 via api from US — Scanned from US
Submission: On September 29 via api from US — Scanned from US
Form analysis
1 forms found in the DOMName: aspnetForm — POST default.aspx
<form name="aspnetForm" method="post" action="default.aspx" id="aspnetForm">
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="">
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
value="/wEPDwUKLTQxMTIyNDU5MQ9kFgJmD2QWAgIDD2QWAgIBD2QWBAIFDzwrAA0CAA8WAh4LXyFEYXRhQm91bmRnZAwUKwAHBRcwOjAsMDoxLDA6MiwwOjMsMDo0LDA6NRQrAAIWEh4HRW5hYmxlZGceClNlbGVjdGFibGVnHglEYXRhQm91bmRnHghEYXRhUGF0aAUNL2RlZmF1bHQuYXNweB4EVGV4dAUESG9tZR4FVmFsdWUFBEhvbWUeB1Rvb2xUaXAFCUhvbWUgUGFnZR4IU2VsZWN0ZWRnHgtOYXZpZ2F0ZVVybAUNL0RlZmF1bHQuYXNweGQUKwACFhAfBQUHIEFwcGx5IB8GBQcgQXBwbHkgHwkFGS9BcHBseS5hc3B4P2NvbnRlbnQ9QXBwbHkfBwUMSG93IHRvIGFwcGx5HwFnHwJnHwQFGS9hcHBseS5hc3B4P2NvbnRlbnQ9YXBwbHkfA2dkFCsAAhYQHwUFCFBheW1lbnRzHwYFCFBheW1lbnRzHwkFDi9QYXltZW50cy5hc3B4HwcFCFBheW1lbnRzHwFnHwJnHwQFDi9wYXltZW50cy5hc3B4HwNnZBQrAAIWEB8FBRQgTWVtYmVyIEluc3RpdHV0aW9ucx8GBRQgTWVtYmVyIEluc3RpdHV0aW9ucx8JBScvaW5zdGl0dXRlLmFzcHg/Y29udGVudD1JbnN0aXR1dGlvbk1haW4fBwUTTWVtYmVyIEluc3RpdHV0aW9ucx8BZx8CZx8EBScvaW5zdGl0dXRlLmFzcHg/Y29udGVudD1pbnN0aXR1dGlvbm1haW4fA2dkFCsAAhYQHwUFCUFib3V0IENBTx8GBQlBYm91dCBDQU8fCQUbL0Fib3V0LmFzcHg/Y29udGVudD1NaXNzaW9uHwcFCUFib3V0IENBTx8BZx8CZx8EBRsvYWJvdXQuYXNweD9jb250ZW50PW1pc3Npb24fA2dkFCsAAhYQHwUFDCBDb250YWN0IFVzIB8GBQwgQ29udGFjdCBVcyAfCQUgL0NvbnRhY3RDQU8uYXNweD9jb250ZW50PUNvbnRhY3QfBwUKQ29udGFjdCBVcx8BZx8CZx8EBSAvY29udGFjdGNhby5hc3B4P2NvbnRlbnQ9Y29udGFjdB8DZ2RkAgcPZBYSAgMPPCsACQEADxYEHghEYXRhS2V5cxYAHgtfIUl0ZW1Db3VudAIBZBYCZg9kFgICAQ8PFgIfBQWDHiA8cCBzdHlsZT0iZm9udC1zaXplOjJlbTtmb250LXdlaWdodDogYm9sZGVyOzsiPiA8L3A+ICAgIDxwIHN0eWxlPSJmb250LXNpemU6MS4yZW0iPkFscmVhZHkgYXBwbGllZD8gIFVzZSA8YSBocmVmPSIvbXlhcHBsaWNhdGlvbmxvZ2luLmFzcHgiPuKAmENoZWNrIG15IEFwcGxpY2F0aW9u4oCZPC9hPiB0byBmb2xsb3cgdGhlIHByb2dyZXNzIG9mIHlvdXIgYXBwbGljYXRpb24uIDwvcD4gICAgPC9wPg0KCTxhIGhyZWY9Ii9Eb3dubG9hZC9SYXRlIENhcmQgMjAyNi5wZGYiICIgdGFyZ2V0PSJfYmxhbmsiPiA8aW1nIHN0eWxlPSJib3JkZXI6MXB4OyBib3JkZXItc3R5bGU6c29saWQ7IGJvcmRlci1jb2xvcjojNjI2NzZhOyBib3JkZXItb3BhY2l0eTo1MCU7cGFkZGluZzogMGVtO2Jsb2NrLXNpemU9ImF1dG8iIGltZyBzcmM9Ii9kb3dubG9hZFxCYW5uZXJfMTMuMDkuMjAyNC5naWYiaGVpZ2h0PSJhdXRvIiB3aWR0aD0iYXV0byI7IGFsaWduPSAiY2VudHJlIj4gPGJyPjwvYnI+PGRpdiBjbGFzcz0ic2xpZGVzaG93LWNvbnRhaW5lciI+PGEvPiANCg0KPCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxoZWFkPg0KPHN0eWxlPg0KLm5hdiB7DQogICAgaGVpZ2h0OiAzMHB4Ow0KICBiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2ZmZmZmZiAwLCAjOTVjM2RhIDEwJSwgIzYzYjFkNiAzMyUsICMyZTllZDQgNTAlLCAjNjNiMWQ2IDY2JSwjOTVjM2RhIDkwJSAsI2ZmZmZmZiAxMDAlKTsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCglmb250IGNvbG9yOiB3aGl0ZTsNCglmb250LWZhbWlseTphcmlhbDsNCn0NCg0KLm5hdiBwIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICBmb250LXNpemU6IDEwcHg7DQogIHRleHQtYWxpZ246Y2VudHJlOw0KICBjb2xvcjogI2ZmZmZmZjsNCg0KfQ0KPC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5Pg0KDQoNCjx1bCBjbGFzcz0ibmF2Ij4gDQo8cCBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjEuMWVtO2ZvbnQtZmFtaWx5OkhlbHZldGljYSI7PkNMSUNLIE9OIFRIRSBCRUxPVyBCQU5ORVIgVE8gVklFVyBUSEUgSU5TVElUVVRJT04mIzM5UyBXRUJTSVRFIDwvcD4NCg0KPC91bD4NCg0KPC9ib2R5Pg0KPC9odG1sPg0KDQo8ZGl2IGNsYXNzPSJteVNsaWRlcyBmYWRlIj4NCiAgPGRpdiBjbGFzcz0ibnVtYmVydGV4dCI+PC9kaXY+DQogICAgPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3LmJ0Yy5lZHUuemEvIj4NCiAgPGltZyBhbHQ9IiIgc3JjPSJkb3dubG9hZFxDQU8tNy5naWYiIHdpZHRoPSIxMDEwcHgiIGhlaWdodD0iMjcwcHgiPg0KICA8L2E+DQogICAgICAgIDxkaXYgY2xhc3M9InRleHQiPjwvZGl2Pg0KICAgIDwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJteVNsaWRlcyBmYWRlIj4NCiAgPGRpdiBjbGFzcz0ibnVtYmVydGV4dCI+PC9kaXY+DQogICAgPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3LnJpY2hmaWVsZC5hYy56YS8iPg0KICAgIDxpbWcgYWx0PSIiIHNyYz0iZG93bmxvYWQvMTQ3OV9SaWNoZmllbGRfMjAyNC1DQU8tV2ViLUJhbm5lcl9EQk5fVjEuZ2lmIiB3aWR0aD0iMTAxMHB4IiBoZWlnaHQ9IjI3MHB4Ij4NCiAgPC9hPg0KDQogIDxkaXYgY2xhc3M9InRleHQiPjwvZGl2Pg0KPC9kaXY+DQoNCjxkaXYgY2xhc3M9Im15U2xpZGVzIGZhZGUiPg0KICA8ZGl2IGNsYXNzPSJudW1iZXJ0ZXh0Ij48L2Rpdj4NCiAgICA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cuZHV0LmFjLnphLyI+DQogIDxpbWcgYWx0PSIiIHNyYz0iZG93bmxvYWQvRFUyMTEwMjgwMDUgRFVUIDIwMjMgQ0FPIFdlYiBCYW5uZXJfNF9ERUMgMjAyMy5qcGciIHdpZHRoPSIxMDEwcHgiIGhlaWdodD0iMjcwcHgiPg0KICA8L2E+DQogIDxkaXYgY2xhc3M9InRleHQiPjwvZGl2Pg0KPC9kaXY+DQoNCjxkaXYgY2xhc3M9Im15U2xpZGVzIGZhZGUiPg0KICA8ZGl2IGNsYXNzPSJudW1iZXJ0ZXh0Ij48L2Rpdj4NCiAgICA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly9yZWdlbnQuYWMuemEvIj4NCiAgPGltZyBhbHQ9IiIgc3JjPSJkb3dubG9hZC9DQU8tVGFrZW92ZXItQmFubmVyLTEwMDB4MjcwLmdpZiIgd2lkdGg9IjEwMTBweCIgaGVpZ2h0PSIyNzBweCI+DQogIDwvYT4NCiAgPGRpdiBjbGFzcz0idGV4dCI+PC9kaXY+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0ibXlTbGlkZXMgZmFkZSI+DQogIDxkaXYgY2xhc3M9Im51bWJlcnRleHQiPjwvZGl2Pg0KICAgIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3NjaWVudGVjLmNvLnphL2luZGl2aWR1YWwvIj4NCiAgPGltZyBhbHQ9IiIgc3JjPSJkb3dubG9hZC9TQ0lFTlRFQ18xMU1hcjI0LmdpZiIgd2lkdGg9IjEwMTBweCIgaGVpZ2h0PSIyNzBweCI+DQogIDwvYT4NCiAgPGRpdiBjbGFzcz0idGV4dCI+PC9kaXY+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0ibXlTbGlkZXMgZmFkZSI+DQogIDxkaXYgY2xhc3M9Im51bWJlcnRleHQiPjwvZGl2Pg0KICAgIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3N0YWRpby5hYy56YS8iPg0KICA8aW1nIGFsdD0iIiBzcmM9ImRvd25sb2FkL0NBTy1XRUItQkFOTkVSLTEwNTB4MzAwLmdpZiIgd2lkdGg9IjEwMTBweCIgaGVpZ2h0PSIyNzBweCI+DQogIDwvYT4NCiAgPGRpdiBjbGFzcz0idGV4dCI+PC9kaXY+DQo8L2Rpdj4NCg0KICAgIDwhLS1CZWxvdyBlcXVhdGVzIHRvIHRoZSBhbW91bnQgb2YgaW1hZ2VzIGFib3ZlIGN1cnJlbnRseSA0Lg0KICAgICAgICBJZiB0aGVyZSBhcmUgbGVzcyB0aGFuIDQgdGhlbiB0aGUgcmVsZXRpdmUgInNwYW5zIiBuZWVkIHRvIGJlIHJlbW92ZWQgYW5kIHZpY2UgdmVyc2EtLT4NCjxkaXYgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj4NCiAgPHNwYW4gY2xhc3M9ImRvdCI+PC9zcGFuPiANCiAgPHNwYW4gY2xhc3M9ImRvdCI+PC9zcGFuPiANCiAgPHNwYW4gY2xhc3M9ImRvdCI+PC9zcGFuPiANCiAgIDxzcGFuIGNsYXNzPSJkb3QiPjwvc3Bhbj4gDQo8c3BhbiBjbGFzcz0iZG90Ij48L3NwYW4+IA0KPHNwYW4gY2xhc3M9ImRvdCI+PC9zcGFuPiANCjwvZGl2Pg0KDQo8c2NyaXB0IHR5cGU9IiI+DQogICAgbGV0IHNsaWRlSW5kZXggPSAwOw0KICAgIHNob3dTbGlkZXMoKTsNCg0KICAgIGZ1bmN0aW9uIHNob3dTbGlkZXMoKSB7DQogICAgICAgIGxldCBpOw0KICAgICAgICBsZXQgc2xpZGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgibXlTbGlkZXMiKTsNCiAgICAgICAgbGV0IGRvdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJkb3QiKTsNCiAgICAgICAgZm9yIChpID0gMDsgaSA8IHNsaWRlcy5sZW5ndGg7IGkrKykgew0KICAgICAgICAgICAgc2xpZGVzW2ldLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7DQogICAgICAgIH0NCiAgICAgICAgc2xpZGVJbmRleCsrOw0KICAgICAgICBpZiAoc2xpZGVJbmRleCA+IHNsaWRlcy5sZW5ndGgpIHsgc2xpZGVJbmRleCA9IDEgfQ0KICAgICAgICBmb3IgKGkgPSAwOyBpIDwgZG90cy5sZW5ndGg7IGkrKykgew0KICAgICAgICAgICAgZG90c1tpXS5jbGFzc05hbWUgPSBkb3RzW2ldLmNsYXNzTmFtZS5yZXBsYWNlKCIgYWN0aXZlIiwgIiIpOw0KICAgICAgICB9DQogICAgICAgIHNsaWRlc1tzbGlkZUluZGV4IC0gMV0uc3R5bGUuZGlzcGxheSA9ICJibG9jayI7DQogICAgICAgIGRvdHNbc2xpZGVJbmRleCAtIDFdLmNsYXNzTmFtZSArPSAiIGFjdGl2ZSI7DQogICAgICAgIHNldFRpbWVvdXQoc2hvd1NsaWRlcywgNjAwMCk7IC8vIENoYW5nZSBpbWFnZSBldmVyeSA2IHNlY29uZHMNCiAgICB9DQo8L3NjcmlwdD4NCjwvZGl2PmRkAgUPPCsACQEADxYEHwoWAB8LAgFkFgJmD2QWAgIBDw8WAh8FBa3nAQ0KDQo8IURPQ1RZUEUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8aW1nIHNyYz0iZG93bmxvYWQvV2UgYXJlIG9wZW4xICgxKS5wbmciIHdpZHRoPSJhdXRvImhlaWdodD1hdXRvIjs+DQo8c3BhbiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lO2ZvbnQtZmFtaWx5OiBhcmlhbDtmb250IGNvbG9yOiAjMzMzMzMzO2ZvbnQtc2l6ZTogMTRweDsgPg0KPHAgc3R5bGU9ImRlY29yYXRpb246IG5vbmUiOyJtYXJnaW46MHB4IjsicGFkZGluZzowcHgiOz4NCg0KPGxpPjwvbGk+DQoNCg0KPCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxoZWFkPg0KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4NCjxzdHlsZT4NCg0KLmNvbGxhcHNpYmxlZmFxIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7DQogIGNvbG9yOiAjMzM3YWI3Ow0KICBjdXJzb3I6IHBvaW50ZXI7DQogIGJvcmRlcjogbm9uZTsNCiAgdGV4dC1hbGlnbjogbGVmdDsNCiAgb3V0bGluZTogbm9uZTsNCiAgZm9udC1zaXplOiAxNHB4Ow0KICBmb250LWZhbWlseTphcmlhbDsNCiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICB3aWR0aDogNzUlOw0KICB0cmFuc2l0aW9uOiAzLjBzIGVhc2Utb3V0Ow0KfQ0KDQouYWN0aXZlZmFxLCAuY29sbGFwc2libGVmYXE6aG92ZXIgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkZWRmOw0KICB0cmFuc2l0aW9uOiAzLjBzIGVhc2Utb3V0Ow0KfQ0KDQouY29udGVudGZhcSB7DQogIGRpc3BsYXk6IG5vbmU7DQogIG92ZXJmbG93OiBoaWRkZW47DQogIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOw0KICBmb250LXNpemU6IDE0cHg7DQogICBmb250LWZhbWlseTphcmlhbDsNCiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAxLjBzIGVhc2Utb3V0Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsNCiAgd2lkdGg6IDc1JTsNCiAgdHJhbnNpdGlvbjogMy4wcyBlYXNlLW91dDsNCg0KfQ0KPC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5Pg0KDQo8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWJsb2NrIGJ0bi1ncy12YXJpYW50IHRocmVlTGluZXNUZXh0Ij5LWk4gSElHSCBTQ0hPT0wgQVJUUyBDT01QRVRJVElPTjwvYnV0dG9uPg0KPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjb2xsYXBzaWJsZWZhcTIiPjxzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lOyI+PGZvbnQgY29sb3I9IiMzMzdhYjciPiYjMTAxNTEgPC9mb250Pjxmb250IGNvbG9yPSIjMzM3YWI3Ij5DbGljayBoZXJlIGZvciBtb3JlIGluZm9ybWF0aW9uIDwvZm9udD4gPC9idXR0b24+DQo8ZGl2IGNsYXNzPSJjb250ZW50ZmFxIj4NCjxkaXYgY2xhc3M9ImNvbnRhaW5lcjEiPg0KIDxkaXYgY2xhc3M9ImltYWdlMSI+DQoNCg0KIA0KPCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxoZWFkPg0KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4NCjxzdHlsZT4NCmJvZHkge2ZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO30NCg0KI215SW1nIHsNCiAgYm9yZGVyLXJhZGl1czogNXB4Ow0KICBjdXJzb3I6IHBvaW50ZXI7DQogIHRyYW5zaXRpb246IDAuM3M7DQp9DQoNCiNteUltZzpob3ZlciB7b3BhY2l0eTogMC43O30NCg0KLyogVGhlIE1vZGFsIChiYWNrZ3JvdW5kKSAqLw0KLm1vZGFsIHsNCiAgZGlzcGxheTogbm9uZTsgLyogSGlkZGVuIGJ5IGRlZmF1bHQgKi8NCiAgcG9zaXRpb246IGZpeGVkOyAvKiBTdGF5IGluIHBsYWNlICovDQogIHotaW5kZXg6IDE7IC8qIFNpdCBvbiB0b3AgKi8NCiAgcGFkZGluZy10b3A6IDEwMHB4OyAvKiBMb2NhdGlvbiBvZiB0aGUgYm94ICovDQogIGxlZnQ6IDA7DQogIHRvcDogMDsNCiAgd2lkdGg6IDEwMCU7IC8qIEZ1bGwgd2lkdGggKi8NCiAgaGVpZ2h0OiAxMDAlOyAvKiBGdWxsIGhlaWdodCAqLw0KICBvdmVyZmxvdzogYXV0bzsgLyogRW5hYmxlIHNjcm9sbCBpZiBuZWVkZWQgKi8NCiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsMCwwKTsgLyogRmFsbGJhY2sgY29sb3IgKi8NCiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjgpOyAvKiBCbGFjayB3LyBvcGFjaXR5ICovDQp9DQoNCi8qIE1vZGFsIENvbnRlbnQgKGltYWdlKSAqLw0KLm1vZGFsLWNvbnRlbnQgew0KICBtYXJnaW46IGF1dG87DQogIGRpc3BsYXk6IGJsb2NrOw0KICB3aWR0aDogODAlOw0KICBtYXgtd2lkdGg6IDcwMHB4Ow0KfQ0KDQovKiBDYXB0aW9uIG9mIE1vZGFsIEltYWdlICovDQojY2FwdGlvbiB7DQogIG1hcmdpbjogYXV0bzsNCiAgZGlzcGxheTogYmxvY2s7DQogIHdpZHRoOiA4MCU7DQogIG1heC13aWR0aDogNzAwcHg7DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgY29sb3I6IGJsYWNrOw0KICBwYWRkaW5nOiAxcHggMDsNCiAgaGVpZ2h0OiAyMHB4Ow0KICBiYWNrZ3JvdW5kOiB3aGl0ZTsNCiAgIHRleHQtZGVjb3JhdGlvbjogc3Ryb25nOw0KICANCn0NCg0KLyogQWRkIEFuaW1hdGlvbiAqLw0KLm1vZGFsLWNvbnRlbnQsICNjYXB0aW9uIHsgIA0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tOw0KICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC42czsNCiAgYW5pbWF0aW9uLW5hbWU6IHpvb207DQogIGFuaW1hdGlvbi1kdXJhdGlvbjogMC42czsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb20gew0KICBmcm9tIHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKX0gDQogIHRvIHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKX0NCn0NCg0KQGtleWZyYW1lcyB6b29tIHsNCiAgZnJvbSB7dHJhbnNmb3JtOnNjYWxlKDApfSANCiAgdG8ge3RyYW5zZm9ybTpzY2FsZSgxKX0NCn0NCg0KLyogVGhlIENsb3NlIEJ1dHRvbiAqLw0KLmNsb3NlIHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB0b3A6IDE1cHg7DQogIHJpZ2h0OiAzNXB4Ow0KICBjb2xvcjogI2JiYjsNCiAgZm9udC1zaXplOiA0MHB4Ow0KICBmb250LXdlaWdodDogYm9sZDsNCiAgdHJhbnNpdGlvbjogMC4zczsNCn0NCg0KLmNsb3NlOmhvdmVyLA0KLmNsb3NlOmZvY3VzIHsNCiAgY29sb3I6IHJlZDsNCiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICBjdXJzb3I6IHBvaW50ZXI7DQp9DQoNCi8qIDEwMCUgSW1hZ2UgV2lkdGggb24gU21hbGxlciBTY3JlZW5zICovDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KXsNCiAgLm1vZGFsLWNvbnRlbnQgew0KICAgIHdpZHRoOiAxMDAlOw0KICB9DQp9DQo8L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHk+DQoNCg0KDQo8aW1nIGlkPSJteUltZyIgc3JjPSJkb3dubG9hZC9BcnRzX0NvbXAucG5nIiAgYWx0PSJUaGUgQ0FPIEtaTiBIaWdoIFNjaG9vbHMgQXJ0cyBDb21wZXRpdGlvbiAyMDI0IiBzdHlsZT0id2lkdGg6MTAwJTttYXgtd2lkdGg6MzAwcHgiPg0KDQo8IS0tIFRoZSBNb2RhbCAtLT4NCjxkaXYgaWQ9Im15TW9kYWwiIGNsYXNzPSJtb2RhbCI+DQogIDxzcGFuIGNsYXNzPSJjbG9zZSI+JnRpbWVzOzwvc3Bhbj4NCiAgPGltZyBjbGFzcz0ibW9kYWwtY29udGVudCIgaWQ9ImltZzAxIj4NCiAgPGRpdiBpZD0iY2FwdGlvbiI+PC9kaXY+DQo8L2Rpdj4NCg0KPHNjcmlwdD4NCi8vIEdldCB0aGUgbW9kYWwNCnZhciBtb2RhbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJteU1vZGFsIik7DQoNCi8vIEdldCB0aGUgaW1hZ2UgYW5kIGluc2VydCBpdCBpbnNpZGUgdGhlIG1vZGFsIC0gdXNlIGl0cyAiYWx0IiB0ZXh0IGFzIGEgY2FwdGlvbg0KdmFyIGltZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJteUltZyIpOw0KdmFyIG1vZGFsSW1nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImltZzAxIik7DQp2YXIgY2FwdGlvblRleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FwdGlvbiIpOw0KaW1nLm9uY2xpY2sgPSBmdW5jdGlvbigpew0KICBtb2RhbC5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsNCiAgbW9kYWxJbWcuc3JjID0gdGhpcy5zcmM7DQogIGNhcHRpb25UZXh0LmlubmVySFRNTCA9IHRoaXMuYWx0Ow0KfQ0KDQovLyBHZXQgdGhlIDxzcGFuPiBlbGVtZW50IHRoYXQgY2xvc2VzIHRoZSBtb2RhbA0KdmFyIHNwYW4gPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJjbG9zZSIpWzBdOw0KDQovLyBXaGVuIHRoZSB1c2VyIGNsaWNrcyBvbiA8c3Bhbj4gKHgpLCBjbG9zZSB0aGUgbW9kYWwNCnNwYW4ub25jbGljayA9IGZ1bmN0aW9uKCkgeyANCiAgbW9kYWwuc3R5bGUuZGlzcGxheSA9ICJub25lIjsNCn0NCjwvc2NyaXB0Pg0KDQo8L2JvZHk+DQo8L2h0bWw+DQoNCg0KICAgICAgPC9kaXY+DQogPGRpdiBjbGFzcz0idGV4dDEiPg0KPHA+PGI+Q2VsZWJyYXRpbmcgWW91bmcgVGFsZW50OiBUaGUgQ0FPIEtaTiBIaWdoIFNjaG9vbHMgQXJ0cyBDb21wZXRpdGlvbiAyMDI0PC9iPjwvcD4NCjxwPkFydCBpcyBtb3JlIHRoYW4ganVzdCBhbiBleHByZXNzaW9u4oCUaXRzIGEgcG93ZXJmdWwgcGxhdGZvcm0gZm9yIHlvdW5nIHZvaWNlcyB0byBiZSBzZWVuIGFuZCBoZWFyZC4gSW4gMjAyMywgQ2VudHJhbCBBcHBsaWNhdGlvbnMgT2ZmaWNlIChDQU8pIGluIER1cmJhbiByZWNvZ25pemVkIHRoaXMgYW5kIGxhdW5jaGVkIHRoZSBDQU8gS1pOIEhpZ2ggU2Nob29scyBBcnRzIENvbXBldGl0aW9uLCBnaXZpbmcgaGlnaCBzY2hvb2wgbGVhcm5lcnMgYWNyb3NzIHRoZSBwcm92aW5jZSBhIHVuaXF1ZSBvcHBvcnR1bml0eSB0byBzaG93Y2FzZSB0aGVpciBjcmVhdGl2aXR5LiBUaGUgY29tcGV0aXRpb25zIG92ZXJ3aGVsbWluZyBzdWNjZXNzIGhhcyBwYXZlZCB0aGUgd2F5IGZvciBpdCB0byBiZWNvbWUgYW4gYW50aWNpcGF0ZWQgYW5udWFsIGV2ZW50LCBzcGFya2luZyBleGNpdGVtZW50IGFtb25nIHlvdW5nIGFydGlzdHMgeWVhciBhZnRlciB5ZWFyLjwvcD4NCjxwPlRoZSBhaW0gb2YgdGhpcyBhbm51YWwgZXZlbnQgZ29lcyBiZXlvbmQganVzdCBzaG93Y2FzaW5nIGFydHdvcmsuIEl0cyBhYm91dCBlbXBvd2VyaW5nIHlvdW5nIGFydGlzdHMgdG8gZXhwbG9yZSB0aGVpciBjcmVhdGl2ZSBwb3RlbnRpYWwgYW5kIGd1aWRpbmcgdGhlbSBpbiB0aGVpciBhcnRpc3RpYyBqb3VybmV5LiBCeSBvZmZlcmluZyBhY2Nlc3MgdG8gYSBwcm9mZXNzaW9uYWwgZXhoaWJpdGlvbiBhbmQgcmVjb2duaXRpb24gZm9yIHRoZWlyIHRhbGVudHMsIHRoZSBjb21wZXRpdGlvbiBzZXJ2ZXMgYXMgYSBzdGVwcGluZyBzdG9uZSBmb3IgbWFueSBidWRkaW5nIGFydGlzdHMuIEFkZGluZyB0byB0aGlzIGlzIHRoZSBlZHVjYXRpb25hbCBlbGVtZW50LCB3aGljaCBoZWxwcyBndWlkZSBhbmQgbnVydHVyZSB5b3VuZyB0YWxlbnQsIGVuc3VyaW5nIHRoZXkgaGF2ZSB0aGUgdG9vbHMgYW5kIHN1cHBvcnQgdGhleSBuZWVkIHRvIHB1cnN1ZSB0aGVpciBwYXNzaW9uIGZvciB0aGUgYXJ0cy48L3A+DQo8cD5BbiBleGNpdGluZyBhc3BlY3RzIG9mIHRoaXMgY29tcGV0aXRpb24gaXMgdGhlIHNpZ25pZmljYW50IHByaXplIG1vbmV5IGF3YXJkZWQgdG8gYm90aCB0aGUgd2lubmluZyBsZWFybmVycyBhbmQgdGhlaXIgc2Nob29scy4gVGhpcyBub3Qgb25seSBhY2tub3dsZWRnZXMgaW5kaXZpZHVhbCB0YWxlbnQgYnV0IGFsc28gZm9zdGVycyBhIHByb3ZpbmNlLXdpZGUgZW52aXJvbm1lbnQgb2YgZXhjZWxsZW5jZSBhbmQgY3JlYXRpdml0eS4gV2l0aCBlYWNoIHBhc3NpbmcgeWVhciwgbW9yZSBhbmQgbW9yZSBsZWFybmVycyBhcmUgZWFnZXIgdG8gcGFydGljaXBhdGUsIG1ha2luZyB0aGlzIGNvbXBldGl0aW9uIGEgaGlnaGxpZ2h0IG9mIHRoZSBzY2hvb2wgY2FsZW5kYXIuPC9wPg0KPHA+VGhpcyB5ZWFycyBjb21wZXRpdGlvbiB3YXMgbWFkZSBldmVuIG1vcmUgc3BlY2lhbCB3aXRoIEdhZ2FzaSBGTSBicm9hZGNhc3RpbmcgbGl2ZSBmcm9tIHRoZSBleGhpYml0aW9uLiBUaGUgbGl2ZSBjb3ZlcmFnZSBicm91Z2h0IGFuIGVsZWN0cmlmeWluZyBhdG1vc3BoZXJlIHRvIHRoZSBldmVudCwgd2l0aCBpbnRlcnZpZXdzIGFuZCBvbi10aGUtc3BvdCByZWFjdGlvbnMgZnJvbSB0aGUgeW91bmcgYXJ0aXN0cywgYWRkaW5nIGEgbGF5ZXIgb2YgZXhjaXRlbWVudCBhbmQgZnVuLjwvcD4NCjxwPldlIGFyZSBub3cgZ2VhcmluZyB1cCBmb3IgdGhlIGdyYW5kIHByaXplLWdpdmluZyBldmVudCwgd2hlcmUgdGhlIFRvcCA1MCBmaW5hbGlzdHMgd2lsbCBiZSBjZWxlYnJhdGVkLCBhbmQgdGhlIHdpbm5lcnMgd2lsbCBiZSBhbm5vdW5jZWQuIEl0cyBhIG1vbWVudCBvZiBwcmlkZSBub3QganVzdCBmb3IgdGhlIGxlYXJuZXJzIGJ1dCBhbHNvIGZvciB0aGVpciBzY2hvb2xzLCBmYW1pbGllcyBhbmQgY29tbXVuaXRpZXMuIFdlIGNhbuKAmXQgd2FpdCB0byBzZWUgaG93IHRoaXMgY29tcGV0aXRpb24gY29udGludWVzIHRvIGdyb3cgYW5kIGluc3BpcmUgZnV0dXJlIGdlbmVyYXRpb25zIG9mIGFydGlzdHMgaW4gS3dhWnVsdS1OYXRhbC4gSGVyZXMgdG8gY3JlYXRpdml0eSwgcGFzc2lvbiwgYW5kIHRoZSBpbmNyZWRpYmxlIHlvdW5nIHRhbGVudCB0aGF0IG1ha2VzIHRoaXMgZXZlbnQgc28gc3BlY2lhbCENCg0KPC9kaXY+DQoNCgkgIDwvZGl2Pg0KCSAgPC9kaXY+DQogICA8L2Rpdj4NCiA8L2Rpdj4NCg0KPGJyPg0KDQoNCjwhRE9DVFlQRSBodG1sPg0KPGh0bWw+DQo8aGVhZD4NCjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+DQo8c3R5bGU+DQoNCi5jb2xsYXBzaWJsZWZhcSB7DQogIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOw0KICBjb2xvcjogIzMzN2FiNzsNCiAgY3Vyc29yOiBwb2ludGVyOw0KICB3aWR0aDogNzUlOw0KICBib3JkZXI6IG5vbmU7DQogIHRleHQtYWxpZ246IGxlZnQ7DQogIG91dGxpbmU6IG5vbmU7DQogIGZvbnQtc2l6ZTogMTRweDsNCiAgZm9udC1mYW1pbHk6YXJpYWw7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLmNvbGxhcHNpYmxlZmFxMiB7DQogIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOw0KICBjb2xvcjogIzMzN2FiNzsNCiAgY3Vyc29yOiBwb2ludGVyOw0KICB3aWR0aDogNzUlOw0KICBib3JkZXI6IG5vbmU7DQogIHRleHQtYWxpZ246IGxlZnQ7DQogIG91dGxpbmU6IG5vbmU7DQogIGZvbnQtc2l6ZTogMTRweDsNCiAgZm9udC1mYW1pbHk6YXJpYWw7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgdHJhbnNpdGlvbjogMy4wcyBlYXNlLW91dDsNCg0KfQ0KDQouYWN0aXZlZmFxLCAuY29sbGFwc2libGVmYXE6aG92ZXIgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkZWRmOw0KICB3aWR0aDogNzUlOw0KICB0cmFuc2l0aW9uOiAzLjBzIGVhc2Utb3V0Ow0KDQp9DQoNCi5hY3RpdmVmYXEyLCAuY29sbGFwc2libGVmYXEyOmhvdmVyIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZGNkZWRmOw0KCXdpZHRoOiA3NSU7DQoJdHJhbnNpdGlvbjogMy4wcyBlYXNlLW91dDsNCn0NCg0KLmNvbnRlbnRmYXEgew0KCWRpc3BsYXk6IG5vbmU7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCgliYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsNCglmb250LXNpemU6IDE0cHg7DQoJZm9udC1mYW1pbHk6YXJpYWw7DQoJdHJhbnNpdGlvbjogbWF4LWhlaWdodCAzLjBzIGVhc2Utb3V0Ow0KCWJhY2tncm91bmQtY29sb3I6IHdoaXRlOw0KCXdpZHRoOiAxMDAlOw0KDQp9DQoNCiAgLmNvbnRhaW5lcjEgew0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCglmbG9hdDogbGVmdDsNCgl3aWR0aDogMTAwJTsNCglib3JkZXItcmFkaXVzOiA1MCU7DQoJcGFkZGluZy10b3A6IDEwcHg7DQoNCn0NCiAgDQogIGltZzEgew0KICAgIG1heC13aWR0aDogMjUlOw0KICAgIG1heC1oZWlnaHQ6MTUlOw0KICAgIGZsb2F0OiBsZWZ0Ow0KCWJvcmRlci1yYWRpdXM6IDgwJTsNCglwYWRkaW5nLXRvcDogMTBweDsNCn0NCiAgDQogIC50ZXh0MSB7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIHBhZGRpbmctbGVmdDogMTVweDsNCgl3aWR0aDogODAlOw0KICAgIGZsb2F0OiBsZWZ0Ow0KfQ0KDQo8L3N0eWxlPg0KPC9oZWFkPg0KPGJvZHk+DQoNCiAgICAgIDwvZGl2Pg0KCSAgPC9kaXY+DQogICA8L2Rpdj4NCiA8L2Rpdj4NCiA8bGk+PC9saT4NCjxicj4NCg0KPCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxoZWFkPg0KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4NCjxzdHlsZT4NCg0KLmNvbGxhcHNpYmxlZmFxIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7DQogIGNvbG9yOiAjMzM3YWI3Ow0KICBjdXJzb3I6IHBvaW50ZXI7DQogIGJvcmRlcjogbm9uZTsNCiAgdGV4dC1hbGlnbjogbGVmdDsNCiAgb3V0bGluZTogbm9uZTsNCiAgZm9udC1zaXplOiAxNHB4Ow0KICBmb250LWZhbWlseTphcmlhbDsNCiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICB3aWR0aDogNzUlOw0KICB0cmFuc2l0aW9uOiAzLjBzIGVhc2Utb3V0Ow0KfQ0KDQouYWN0aXZlZmFxLCAuY29sbGFwc2libGVmYXE6aG92ZXIgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkZWRmOw0KICB0cmFuc2l0aW9uOiAzLjBzIGVhc2Utb3V0Ow0KfQ0KDQouY29udGVudGZhcSB7DQogIGRpc3BsYXk6IG5vbmU7DQogIG92ZXJmbG93OiBoaWRkZW47DQogIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOw0KICBmb250LXNpemU6IDE0cHg7DQogICBmb250LWZhbWlseTphcmlhbDsNCiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAxLjBzIGVhc2Utb3V0Ow0KICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsNCiAgd2lkdGg6IDc1JTsNCiAgdHJhbnNpdGlvbjogMy4wcyBlYXNlLW91dDsNCg0KfQ0KPC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5Pg0KDQoNCiANCjwhRE9DVFlQRSBodG1sPg0KPGh0bWw+DQo8aGVhZD4NCjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+DQo8c3R5bGU+DQpib2R5IHtmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjt9DQoNCiNteUltZyB7DQogIGJvcmRlci1yYWRpdXM6IDVweDsNCiAgY3Vyc29yOiBwb2ludGVyOw0KICB0cmFuc2l0aW9uOiAwLjNzOw0KfQ0KDQojbXlJbWc6aG92ZXIge29wYWNpdHk6IDAuNzt9DQoNCi8qIFRoZSBNb2RhbCAoYmFja2dyb3VuZCkgKi8NCi5tb2RhbCB7DQogIGRpc3BsYXk6IG5vbmU7IC8qIEhpZGRlbiBieSBkZWZhdWx0ICovDQogIHBvc2l0aW9uOiBmaXhlZDsgLyogU3RheSBpbiBwbGFjZSAqLw0KICB6LWluZGV4OiAxOyAvKiBTaXQgb24gdG9wICovDQogIHBhZGRpbmctdG9wOiAxMDBweDsgLyogTG9jYXRpb24gb2YgdGhlIGJveCAqLw0KICBsZWZ0OiAwOw0KICB0b3A6IDA7DQogIHdpZHRoOiAxMDAlOyAvKiBGdWxsIHdpZHRoICovDQogIGhlaWdodDogMTAwJTsgLyogRnVsbCBoZWlnaHQgKi8NCiAgb3ZlcmZsb3c6IGF1dG87IC8qIEVuYWJsZSBzY3JvbGwgaWYgbmVlZGVkICovDQogIGJhY2tncm91bmQtY29sb3I6IHJnYigwLDAsMCk7IC8qIEZhbGxiYWNrIGNvbG9yICovDQogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC44KTsgLyogQmxhY2sgdy8gb3BhY2l0eSAqLw0KfQ0KDQovKiBNb2RhbCBDb250ZW50IChpbWFnZSkgKi8NCi5tb2RhbC1jb250ZW50IHsNCiAgbWFyZ2luOiBhdXRvOw0KICBkaXNwbGF5OiBibG9jazsNCiAgd2lkdGg6IDgwJTsNCiAgbWF4LXdpZHRoOiA3MDBweDsNCn0NCg0KLyogQ2FwdGlvbiBvZiBNb2RhbCBJbWFnZSAqLw0KI2NhcHRpb24gew0KICBtYXJnaW46IGF1dG87DQogIGRpc3BsYXk6IGJsb2NrOw0KICB3aWR0aDogODAlOw0KICBtYXgtd2lkdGg6IDcwMHB4Ow0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIGNvbG9yOiBibGFjazsNCiAgcGFkZGluZzogMXB4IDA7DQogIGhlaWdodDogMjBweDsNCiAgYmFja2dyb3VuZDogd2hpdGU7DQogICB0ZXh0LWRlY29yYXRpb246IHN0cm9uZzsNCiAgDQp9DQoNCi8qIEFkZCBBbmltYXRpb24gKi8NCi5tb2RhbC1jb250ZW50LCAjY2FwdGlvbiB7ICANCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbTsNCiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNnM7DQogIGFuaW1hdGlvbi1uYW1lOiB6b29tOw0KICBhbmltYXRpb24tZHVyYXRpb246IDAuNnM7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tIHsNCiAgZnJvbSB7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMCl9IA0KICB0byB7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSl9DQp9DQoNCkBrZXlmcmFtZXMgem9vbSB7DQogIGZyb20ge3RyYW5zZm9ybTpzY2FsZSgwKX0gDQogIHRvIHt0cmFuc2Zvcm06c2NhbGUoMSl9DQp9DQoNCi8qIFRoZSBDbG9zZSBCdXR0b24gKi8NCi5jbG9zZSB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgdG9wOiAxNXB4Ow0KICByaWdodDogMzVweDsNCiAgY29sb3I6ICNiYmI7DQogIGZvbnQtc2l6ZTogNDBweDsNCiAgZm9udC13ZWlnaHQ6IGJvbGQ7DQogIHRyYW5zaXRpb246IDAuM3M7DQp9DQoNCi5jbG9zZTpob3ZlciwNCi5jbG9zZTpmb2N1cyB7DQogIGNvbG9yOiByZWQ7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgY3Vyc29yOiBwb2ludGVyOw0KfQ0KDQovKiAxMDAlIEltYWdlIFdpZHRoIG9uIFNtYWxsZXIgU2NyZWVucyAqLw0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCl7DQogIC5tb2RhbC1jb250ZW50IHsNCiAgICB3aWR0aDogMTAwJTsNCiAgfQ0KfQ0KPC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5Pg0KDQoNCg0KDQoNCjwhLS0gVGhlIE1vZGFsIC0tPg0KPGRpdiBpZD0ibXlNb2RhbCIgY2xhc3M9Im1vZGFsIj4NCiAgPHNwYW4gY2xhc3M9ImNsb3NlIj4mdGltZXM7PC9zcGFuPg0KICA8aW1nIGNsYXNzPSJtb2RhbC1jb250ZW50IiBpZD0iaW1nMDEiPg0KICA8ZGl2IGlkPSJjYXB0aW9uIj48L2Rpdj4NCjwvZGl2Pg0KDQo8c2NyaXB0Pg0KLy8gR2V0IHRoZSBtb2RhbA0KdmFyIG1vZGFsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm15TW9kYWwiKTsNCg0KLy8gR2V0IHRoZSBpbWFnZSBhbmQgaW5zZXJ0IGl0IGluc2lkZSB0aGUgbW9kYWwgLSB1c2UgaXRzICJhbHQiIHRleHQgYXMgYSBjYXB0aW9uDQp2YXIgaW1nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm15SW1nIik7DQp2YXIgbW9kYWxJbWcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW1nMDEiKTsNCnZhciBjYXB0aW9uVGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYXB0aW9uIik7DQppbWcub25jbGljayA9IGZ1bmN0aW9uKCl7DQogIG1vZGFsLnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siOw0KICBtb2RhbEltZy5zcmMgPSB0aGlzLnNyYzsNCiAgY2FwdGlvblRleHQuaW5uZXJIVE1MID0gdGhpcy5hbHQ7DQp9DQoNCi8vIEdldCB0aGUgPHNwYW4+IGVsZW1lbnQgdGhhdCBjbG9zZXMgdGhlIG1vZGFsDQp2YXIgc3BhbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImNsb3NlIilbMF07DQoNCi8vIFdoZW4gdGhlIHVzZXIgY2xpY2tzIG9uIDxzcGFuPiAoeCksIGNsb3NlIHRoZSBtb2RhbA0Kc3Bhbi5vbmNsaWNrID0gZnVuY3Rpb24oKSB7IA0KICBtb2RhbC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOw0KfQ0KPC9zY3JpcHQ+DQoNCjwvYm9keT4NCjwvaHRtbD4NCg0KICAgICAgPC9kaXY+DQoNCjwvZGl2Pg0KDQoJICA8L2Rpdj4NCgkgIDwvZGl2Pg0KICAgPC9kaXY+DQogPC9kaXY+DQogPGxpPjwvbGk+DQoNCg0KDQo8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWJsb2NrIGJ0bi1ncy12YXJpYW50IHRocmVlTGluZXNUZXh0Ij5VS1pOIERFR1JFRSBUUkFOU0ZFUiBTVFVERU5UUzwvYnV0dG9uPg0KDQo8cD4gPGEgaHJlZj0iL2Rvd25sb2FkL0RFR1JFRSBUUkFOU0ZFUiBTVFVERU5UUyAoMDAyKS5wZGYidGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5vbmU7Zm9udC1zaXplOiAxNHB4Ij48Zm9udCBjb2xvcj0iIzMzN2FiNyI+JiMxMDE1MSBDbGljayBoZXJlIGZvciBtb3JlIGluZm88L2E+PC9mb250PiA8L3A+DQoNCjwvc3Bhbj4NCjxicj4NCjwvaHRtbD4NCjwvaGVhZD4NCg0KPCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxoZWFkPg0KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4NCjxzdHlsZT4NCi5idG5oYjEgew0KICBib3JkZXI6IDJweCBzb2xpZCBibGFjazsNCiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7DQogIGNvbG9yOiBibGFjazsNCiAgcGFkZGluZzogMTRweCAxNnB4Ow0KICBmb250LXNpemU6IDE0cHg7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgZm9udC1mYW1pbHk6YXJpYWw7DQogIHRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQovKiBHcmVlbiAqLw0KLmluZm8gew0KYm9yZGVyOm5vbmU7DQogIGNvbG9yOiBncmVlbjsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzA0QUE2RDsNCiAgYm9yZGVyLXJhZGl1czogOHB4Ow0KICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi5pbmZvOmhvdmVyIHsNCiAgYmFja2dyb3VuZC1jb2xvcjojN0VEOTU3IDsNCiAgY29sb3I6d2hpdGUgOw0KICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi8qIEJsdWUgKi8NCi5zdWNjZXNzIHsNCg0KICBjb2xvcjogIzIxOTZGMzsNCiAgIGJhY2tncm91bmQtY29sb3I6IGRvZGdlcmJsdWU7DQogICBib3JkZXItcmFkaXVzOiA4cHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJYm9yZGVyOiBub25lOw0KfQ0KDQouc3VjY2Vzczpob3ZlciB7DQogIGJhY2tncm91bmQ6ICM1Q0UxRTY7DQogIGNvbG9yOiB3aGl0ZTsNCiAgIHRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQouc3VjY2VzcyBhew0KICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQouaW5mbyBhew0KICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCjwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keT4NCjwvYm9keT4NCjwvaHRtbD4NCg0KPC9ib2R5Pg0KPC9odG1sPg0KDQoNCjxidXR0b24gY2xhc3M9ImJ0biBidG4tYmxvY2sgYnRuLWdzLXZhcmlhbnQgdGhyZWVMaW5lc1RleHQiPjIwMjUgRU5UUlkgSEFOREJPT0s8L2J1dHRvbj4NCg0KPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjb2xsYXBzaWJsZWZhcTIiPjxzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lOyI+PGZvbnQgY29sb3I9IiMzMzdhYjciPiYjMTAxNTEgPC9mb250Pjxmb250IGNvbG9yPSIjMzM3YWI3Ij5SZWFkIG1vcmUgPC9mb250PiA8L2J1dHRvbj4NCjxkaXYgY2xhc3M9ImNvbnRlbnRmYXEiPg0KDQo8ZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lcjEiPg0KICAgICAgPGRpdiBjbGFzcz0iaW1hZ2UxIj4NCiAgICAgICAgPGltZyBzcmM9ImRvd25sb2FkL0hCLTIwMjUucG5nIiAiaGVpZ2h0PSIxODBweCIgd2lkdGg9IjI1MHB4IiA+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgY2xhc3M9InRleHQxIj4NCg0KCSAgPGJ1dHRvbiBjbGFzcz0iYnRuaGIxIHN1Y2Nlc3MiPg0KDQogPGEgaHJlZj0iXERvd25sb2FkXENBT19oYW5kYm9va18yMDI1IFJlZ2VudCBmaW5hbCB3ZWIucGRmIiB0YXJnZXQ9Il9ibGFuayIgc3R5bGU9ImNvbG9yOndoaXRlIiB0ZXh0LWRlY29yYXRpb249Im5vbmUiOz5Eb3dubG9hZDwvYnV0dG9uPjwvYT4JIA0KPC9wPg0KPGJ1dHRvbiBjbGFzcz0iYnRuaGIxIGluZm8iPiA8YSBocmVmPSJodHRwczovL29ubGluZS5mbGlwYnVpbGRlci5jb20vdmZxdHkvcmxjdi8iIHRhcmdldD0iX2JsYW5rIiBzdHlsZT0iY29sb3I6d2hpdGU7InRleHQtZGVjb3JhdGlvbjogbm9uZSI7PiBWaWV3IEVib29rIE9ubGluZTwvYnV0dG9uPjwvYT4NCg0KPC9ib2R5Pg0KDQo8L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4NCg0KPGJyPg0KDQo8c2NyaXB0Pg0KdmFyIGNvbGwgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJjb2xsYXBzaWJsZWZhcTIiKTsNCnZhciBpOw0KDQpmb3IgKGkgPSAwOyBpIDwgY29sbC5sZW5ndGg7IGkrKykgew0KICBjb2xsW2ldLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oKSB7DQogICAgdGhpcy5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiKTsNCiAgICB2YXIgY29udGVudCA9IHRoaXMubmV4dEVsZW1lbnRTaWJsaW5nOw0KICAgIGlmIChjb250ZW50LnN0eWxlLmRpc3BsYXkgPT09ICJibG9jayIpIHsNCiAgICAgIGNvbnRlbnQuc3R5bGUuZGlzcGxheSA9ICJub25lIjsNCiAgICB9IGVsc2Ugew0KICAgICAgY29udGVudC5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsNCiAgICB9DQogIH0pOw0KfQ0KPC9zY3JpcHQ+DQoNCjwvYm9keT4NCjwvaHRtbD4NCg0KPGJyPg0KDQo8IURPQ1RZUEUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPg0KPHN0eWxlPg0KDQouY29sbGFwc2libGVmYXEgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsNCiAgY29sb3I6ICMzMzdhYjc7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgd2lkdGg6IDc1JTsNCiAgYm9yZGVyOiBub25lOw0KICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICBvdXRsaW5lOiBub25lOw0KICBmb250LXNpemU6IDE0cHg7DQogIGZvbnQtZmFtaWx5OmFyaWFsOw0KICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQouY29sbGFwc2libGUgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsNCiAgY29sb3I6ICMzMzdhYjc7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgd2lkdGg6IDc1JTsNCiAgYm9yZGVyOiBub25lOw0KICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICBvdXRsaW5lOiBub25lOw0KICBmb250LXNpemU6IDE0cHg7DQogIGZvbnQtZmFtaWx5OmFyaWFsOw0KICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQouYWN0aXZlZmFxLCAuY29sbGFwc2libGVmYXE6aG92ZXIgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkZWRmOw0KfQ0KDQouY29udGVudGZhcSB7DQogIGRpc3BsYXk6IG5vbmU7DQogIG92ZXJmbG93OiBoaWRkZW47DQogIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOw0KICBmb250LXNpemU6IDE0cHg7DQogICAgZm9udC1mYW1pbHk6YXJpYWw7DQogIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMS4wcyBlYXNlLW91dDsNCiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7DQoNCn0NCg0KPC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5Pg0KDQo8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWJsb2NrIGJ0bi1ncy12YXJpYW50IHRocmVlTGluZXNUZXh0Ij5MRUFSTkVSIEdVSURFLCBWSURFTyBUVVRPUklBTFMgJiBGUkVRVUVOVExZIEFTS0VEIFFVRVNUSU9OUzwvYnV0dG9uPg0KDQoNCjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY29sbGFwc2libGUiPjxzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lOyI+PGZvbnQgY29sb3I9IiMzMzdhYjciPiYjMTAxNTEgPC9mb250Pjxmb250IGNvbG9yPSIjMzM3YWI3Ij4yMDI1IEVudHJ5IE9ubGluZSBBcHBsaWNhdGlvbiBHdWlkZSA8L2ZvbnQ+PC9hPiA8L2J1dHRvbj4NCjxkaXYgY2xhc3M9ImNvbnRlbnRmYXEiPg0KDQo8ZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lcjEiPg0KICAgICAgPGRpdiBjbGFzcz0iaW1hZ2UxIj4NCiAgICAgICAgPGltZyBzcmM9ImRvd25sb2FkL0d1aWRlMjUucG5nIiAiaGVpZ2h0PSI5MHB4IiB3aWR0aD0iMTEwcHgiID4NCiAgICAgIDwvZGl2Pg0KICAgICAgPGRpdiBjbGFzcz0idGV4dDEiPg0KPHA+IDIwMjUgRW50cnkgT25saW5lIEFwcGxpY2F0aW9uIEd1aWRlPC9wPg0KDQo8cD7igKIgQ2xpY2sgPGEgaHJlZj0iXERvd25sb2FkXDIwMjUgTGVhcm5lciBHdWlkZV8xMi4wMi4yNF9GSU5BTC5wZGYic3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZSIgdGFyZ2V0PSJfYmxhbmsiOz48Zm9udCBjb2xvcj0iIzMzN2FiNyI+PGI+PHU+PGk+SEVSRTwvYj48L3U+PC9pPiA8L2ZvbnQ+PC9hPnRvIHZpZXc8L3A+ICA8L2Rpdj4NCjxsaT48L2xpPjwvZGl2PjwvZGl2PjwvZGl2Pg0KDQo8cD48L3A+DQo8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNvbGxhcHNpYmxlIj48c3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZTsiPjxmb250IGNvbG9yPSIjMzM3YWI3Ij4mIzEwMTUxIDwvZm9udD48Zm9udCBjb2xvcj0iIzMzN2FiNyI+VmlkZW8gVHV0b3JpYWxzICAgPC9mb250PjwvYT48L2J1dHRvbj4NCjxkaXYgY2xhc3M9ImNvbnRlbnRmYXEiPg0KPGRpdj4NCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIxIj4NCiAgICAgIDxkaXYgY2xhc3M9ImltYWdlMSI+DQogICAgICAgIDxpbWcgc3JjPSJkb3dubG9hZC9DQU9WaWRzLnBuZyIgImhlaWdodD0iMTAwcHgiIHdpZHRoPSIxNTBweCIgPg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IGNsYXNzPSJ0ZXh0MSI+DQoNCgk8cD48YSBocmVmPSJcRG93bmxvYWRcVXBsb2FkIE15IERvY3NfVXBkYXRlZCBJbnRyb18wMi0wMi0yMl9GaW5hbC5tcDQic3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZSIgdGFyZ2V0PSJfYmxhbmsiOz48Zm9udCBjb2xvcj0iIzMzN2FiNyI+4oCiICBWaWRlbyB0dXRvcmlhbCBvbiBob3cgdG8gPGI+VXBsb2FkIERvY3VtZW50czwvYj4gPC9mb250PjwvYT48L3A+ICANCiAgICAgICA8cD48YSBocmVmPSJcRG93bmxvYWRcQ09NIFZpZGVvX0ZpbmFsXzAxLTAyLTIyX1VwZGF0ZWQgd2l0aCBJbnRybyAzLm1wNCJzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lIiB0YXJnZXQ9Il9ibGFuayI7Pjxmb250IGNvbG9yPSIjMzM3YWI3Ij7igKIgVmlkZW8gdHV0b3JpYWwgb24gaG93IHRvIGNvbXBsZXRlIGEgPGI+Q2hhbmdlIG9mIE1pbmQ8L2I+IDwvZm9udD48L2E+PC9wPiAgPC9kaXY+DQoJICAgCTxsaT48L2xpPjwvZGl2PjwvZGl2PjwvZGl2Pg0KDQoJPHA+PC9wPg0KPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjb2xsYXBzaWJsZSI+PHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5vbmU7Ij48Zm9udCBjb2xvcj0iIzMzN2FiNyI+JiMxMDE1MSA8L2ZvbnQ+PGZvbnQgY29sb3I9IiMzMzdhYjciPkZyZXF1ZW50bHkgQXNrZWQgUXVlc3Rpb25zIDwvZm9udD48L2E+PC9idXR0b24+DQo8ZGl2IGNsYXNzPSJjb250ZW50ZmFxIj4NCjxkaXY+DQogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyMSI+DQogICAgICA8ZGl2IGNsYXNzPSJpbWFnZTEiPg0KICAgICAgICA8aW1nIHNyYz0iZG93bmxvYWQvRkFRTmV3LnBuZyIgImhlaWdodD0iMjMwcHgiIHdpZHRoPSIyMDBweCIgPg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IGNsYXNzPSJ0ZXh0MSI+DQo8cD48YSBocmVmPSJcRG93bmxvYWRcMjAyNUZBUVwxLiBBYm91dCB0aGUgQ0FPXzIwMjQucGRmIiB0YXJnZXQ9Il9ibGFuayIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZTsiPjxmb250IGNvbG9yPSIjMzM3YWI3Ij7igKIgQWJvdXQgdGhlIENBTzwvZm9udD48L2E+PC9wPiAgDQo8cD48YSBocmVmPSJcRG93bmxvYWRcMjAyNUZBUVwyLiBGaW5kaW5nIEF2YWlsYWJsZSBQcm9ncmFtbWVzXzIwMjQucGRmInRhcmdldD0iX2JsYW5rIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lOyI+PGZvbnQgY29sb3I9IiMzMzdhYjciPuKAoiBGaW5kaW5nIEF2YWlsYWJsZSBQcm9ncmFtbWVzPC9mb250PjwvYT48L3A+ICANCjxwPjxhIGhyZWY9IlxEb3dubG9hZFwyMDI1RkFRXDMuIFdheXMgb2YgQXBwbHlpbmdfMjAyNC5wZGYiIHRhcmdldD0iX2JsYW5rIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lOyI+PGZvbnQgY29sb3I9IiMzMzdhYjciPuKAoiBXYXlzIG9mIEFwcGx5aW5nIDwvZm9udD48L2E+PC9wPiAgDQogPHA+PGEgaHJlZj0iXERvd25sb2FkXDIwMjVGQVFcNC4gQWRtaW4gRmVlc18yMDI0LnBkZiJ0YXJnZXQ9Il9ibGFuayIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZTsiPjxmb250IGNvbG9yPSIjMzM3YWI3Ij7igKIgQWRtaW5pc3RyYXRpb24gRmVlcyA8L2ZvbnQ+PC9hPjwvcD4gIA0KPHA+PGEgaHJlZj0iXERvd25sb2FkXDIwMjVGQVFcNS4gVXBsb2FkIGRvY3VtZW50c18yMDI0LnBkZiJ0YXJnZXQ9Il9ibGFuayIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZTsiPjxmb250IGNvbG9yPSIjMzM3YWI3Ij7igKIgVXBsb2FkIGRvY3VtZW50cyA8L2ZvbnQ+PC9hPjwvcD4gIA0KIDxwPjxhIGhyZWY9IlxEb3dubG9hZFwyMDI1RkFRXDYuIENPTVNfMjAyNC5wZGYidGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5vbmU7Ij48Zm9udCBjb2xvcj0iIzMzN2FiNyI+4oCiIENoYW5nZSBvZiBNaW5kcyA8L2ZvbnQ+PC9hPjwvcD4gIA0KICA8cD48YSBocmVmPSJcRG93bmxvYWRcMjAyNUZBUVw3LiBGaW5hbmNlIFJlbGF0ZWRfMjAyNC5wZGYidGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5vbmU7Ij48Zm9udCBjb2xvcj0iIzMzN2FiNyI+4oCiIEZpbmFuY2UgUmVsYXRlZCBRdWVyaWVzIDwvZm9udD48L2E+PC9wPiAgDQo8cD48YSBocmVmPSJcRG93bmxvYWRcMjAyNUZBUVw4LiBJbnN0aXR1dGlvbiBTZWxlY3Rpb25zXzIwMjQucGRmInRhcmdldD0iX2JsYW5rIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lOyI+PGZvbnQgY29sb3I9IiMzMzdhYjciPuKAoiBJbnN0aXR1dGlvbiBTZWxlY3Rpb25zIDwvZm9udD48L2E+PC9wPiAgDQo8cD48YSBocmVmPSJcRG93bmxvYWRcMjAyNUZBUVw5LiBJbnRlcm5hdGlvbmFsIEFwcGxpY2FudHNfMjAyNC5wZGYidGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5vbmU7Ij48Zm9udCBjb2xvcj0iIzMzN2FiNyI+4oCiIEludGVybmF0aW9uYWwgQXBwbGljYW50cyA8L2ZvbnQ+PC9hPjwvcD4gIA0KPHA+PGEgaHJlZj0iXERvd25sb2FkXDIwMjVGQVFcMTAuIEdlbmVyYWxfMjAyNC5wZGYidGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5vbmU7Ij48Zm9udCBjb2xvcj0iIzMzN2FiNyI+4oCiIEdlbmVyYWwgPC9mb250PjwvYT48L3A+ICANCiA8cD48YSBocmVmPSJcRG93bmxvYWRcMjAyNUZBUVwxMS4gQXJlIHlvdSBleHBlcmllbmNpbmcgYSBwcm9ibGVtIG9ubGluZV8yMDI0LnBkZiJ0YXJnZXQ9Il9ibGFuayIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZTsiPjxmb250IGNvbG9yPSIjMzM3YWI3Ij7igKIgQXJlIHlvdSBleHBlcmllbmNpbmcgYSBwcm9ibGVtIG9ubGluZSA8L2ZvbnQ+PC9hPjwvcD4gIA0KICAgICAgPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+DQoNCg0KPHNjcmlwdD4NCnZhciBjb2xsID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiY29sbGFwc2libGVmYXEyIik7DQp2YXIgaTsNCg0KZm9yIChpID0gMDsgaSA8IGNvbGwubGVuZ3RoOyBpKyspIHsNCiAgY29sbFtpXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uKCkgew0KICAgIHRoaXMuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIik7DQogICAgdmFyIGNvbnRlbnQgPSB0aGlzLm5leHRFbGVtZW50U2libGluZzsNCiAgICBpZiAoY29udGVudC5zdHlsZS5kaXNwbGF5ID09PSAiYmxvY2siKSB7DQogICAgICBjb250ZW50LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7DQogICAgfSBlbHNlIHsNCiAgICAgIGNvbnRlbnQuc3R5bGUuZGlzcGxheSA9ICJibG9jayI7DQogICAgfQ0KICB9KTsNCn0NCjwvc2NyaXB0Pg0KDQo8L2JvZHk+DQo8L2h0bWw+DQoNCiAgPGJyPjwvYnI+DQoNCiAgCTwhRE9DVFlQRSBodG1sPg0KPGh0bWw+DQo8aGVhZD4NCjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+DQo8c3R5bGU+DQoNCi5jb2xsYXBzaWJsZWZhcTIgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsNCiAgY29sb3I6ICMzMzdhYjc7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgd2lkdGg6IDc1JTsNCiAgYm9yZGVyOiBub25lOw0KICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICBvdXRsaW5lOiBub25lOw0KICBmb250LXNpemU6IDE0cHg7DQogIGZvbnQtZmFtaWx5OmFyaWFsOw0KICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQouYWN0aXZlZmFxLCAuY29sbGFwc2libGVmYXE6aG92ZXIgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkZWRmOw0KfQ0KDQoNCjwvc3R5bGU+DQo8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWJsb2NrIGJ0bi1ncy12YXJpYW50IHRocmVlTGluZXNUZXh0Ij5BRE1JTiBGRUUgU1RSVUNUVVJFPC9idXR0b24+DQoNCjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY29sbGFwc2libGVmYXEyIj48c3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZTsiPjxmb250IGNvbG9yPSIjMzM3YWI3Ij4mIzEwMTUxIDwvZm9udD48Zm9udCBjb2xvcj0iIzMzN2FiNyI+UmVhZCBtb3JlIDwvZm9udD48L2E+IDwvYnV0dG9uPg0KPGRpdiBjbGFzcz0iY29udGVudGZhcSI+DQo8ZGl2IGNsYXNzPSJjb250YWluZXIxIj4NCiA8ZGl2IGNsYXNzPSJpbWFnZTEiPg0KDQo8aW1nIHNyYyA9ImRvd25sb2FkL0NBT0ZlZS5wbmciICJoZWlnaHQ9IjE1MHB4IiB3aWR0aD0iMjUwcHgiID4gDQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgY2xhc3M9InRleHQxIj4NCjxwPllvdXIgc2luZ2xlIGFkbWluaXN0cmF0aW9uIGZlZSBhbGxvd3MgeW91IHRvIGFwcGx5IGZvciBhIGNvbWJpbmF0aW9uIG9mIHVwIHRvIDxiPlNJWDwvYj4gcHJvZ3JhbW1lcyBhdCBhbnkgb2Ygb3VyIG1lbWJlciBhbmQgcGFydG5lciBpbnN0aXR1dGlvbnM8L2E+IGluIEtaTg0KPHA+Q2xpY2sgPGEgaHJlZj0iL2Rvd25sb2FkLzIwMjUgQWRtaW4gRmVlIFN0cnVjdHVyZS5wZGZfMjAyNS5wZGYidGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5vbmU7Ij48Zm9udCBjb2xvcj0iIzMzN2FiNyI+PGI+PHU+PGk+SEVSRTwvYj48L3U+PC9pPjwvYT48L2ZvbnQ+IHRvIHZpZXcgdGhlIENBTyBBZG1pbiBTdHJ1Y3R1cmUgYW5kIFdheXMgdG8gUGF5IHRoZSBBZG1pbiBGZWUuPC9wPg0KICAgICAgPC9kaXY+DQoJICA8L2Rpdj4NCiAgIDwvZGl2Pg0KPC9icj4NCg0KPCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxoZWFkPg0KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4NCjxzdHlsZT4NCg0KLmJ0bi1ncy12YXJpYW50IHsNCiAgICBjb2xvcjogI0ZGRiA7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzE3MjY1MjsNCg0KfQ0KDQouYnRuLWJsb2NrIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICB3aWR0aDogNzUlOw0KICAgIGJvcmRlci1yYWRpdXM6IDRweDsNCiAgICBwYWRkaW5nOiA2cHggNnB4Ow0KICAgIGJvcmRlcjogMHB4IHNvbGlkICMyZTZkYTQ7DQogICAgbWFyZ2luLWJvdHRvbTogMjBweDsNCn0NCi5idG4gew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247DQogICAgY3Vyc29yOiBkZWZhdWx0Ow0KICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogICAgYm9yZGVyOiAwcHggc29saWQgdHJhbnNwYXJlbnQ7DQogICAgcGFkZGluZzogNnB4IDZweDsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7DQogICAgYm9yZGVyLXJhZGl1czogNHB4Ow0KCXdpZHRoOiA3NSU7DQoNCn0NCg0KDQouaGVhZGluZyB7YmFja2dyb3VuZC1jb2xvcjogIzQ2YTA0OTsNCn0NCg0KPC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5Pg0KDQo8L2JyPg0KDQo8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWJsb2NrIGJ0bi1ncy12YXJpYW50IHRocmVlTGluZXNUZXh0Ij5QT1dFUiBPRiBBVFRPUk5FWSBGT1JNPC9idXR0b24+DQoNCjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iY29sbGFwc2libGVmYXEyIj48c3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZTsiPjxmb250IGNvbG9yPSIjMzM3YWI3Ij4mIzEwMTUxIDwvZm9udD48Zm9udCBjb2xvcj0iIzMzN2FiNyI+UmVhZCBtb3JlIDwvZm9udD48L2J1dHRvbj4NCjxkaXYgY2xhc3M9ImNvbnRlbnRmYXEiPg0KPGRpdiBjbGFzcz0iY29udGFpbmVyMSI+DQogPGRpdiBjbGFzcz0iaW1hZ2UxIj4NCg0KPGltZyBzcmMgPSJkb3dubG9hZC9QT1RWMS5wbmciICJoZWlnaHQ9IjE1MHB4IiB3aWR0aD0iMjUwcHgiID4gDQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgY2xhc3M9InRleHQxIj4NCgkJPHA+WW91IG11c3QgcHJpbnQgYW5kIHNpZ24gYSA8Yj5Qb3dlciBvZiBBdHRvcm5leSBGb3JtPC9iPiBhbmQgdXBsb2FkIG9udG8geW91ciBDQU8gYXBwbGljYXRpb24gcHJvZmlsZTwvcD4NCgkJCSAgPGJ1dHRvbiBjbGFzcz0iYnRuaGIxIHN1Y2Nlc3MiPg0KDQogPGEgaHJlZj0iZG93bmxvYWQvUG93ZXIgb2YgQXR0b3JuZXlfUE9BMV8yMUZlYjIwMjQucGRmIiB0YXJnZXQ9Il9ibGFuayIgc3R5bGU9ImNvbG9yOndoaXRlIiB0ZXh0LWRlY29yYXRpb249Im5vbmUiOz5Eb3dubG9hZCBIZXJlPC9idXR0b24+PC9hPgkgDQogICAgICA8L2Rpdj4NCgkgIDwvZGl2Pg0KICAgPC9kaXY+DQogPC9kaXY+DQoNCiA8bGk+PC9saT4NCiA8L2JyPg0KDQo8IURPQ1RZUEUgaHRtbD4NCjxodG1sPg0KPGhlYWQ+DQo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPg0KPHN0eWxlPg0KLmNvbGxhcHNpYmxlIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7DQogIGNvbG9yOiAjMzM3YWI3Ow0KICBjdXJzb3I6IHBvaW50ZXI7DQogIHdpZHRoOiA3NSU7DQogIGJvcmRlcjogbm9uZTsNCiAgdGV4dC1hbGlnbjogbGVmdDsNCiAgb3V0bGluZTogbm9uZTsNCiAgZm9udC1zaXplOiAxNHB4Ow0KICBmb250LWZhbWlseTphcmlhbDsNCiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICB0cmFuc2l0aW9uOiAzLjBzIGVhc2Utb3V0Ow0KDQp9DQoNCi5hY3RpdmUsIC5jb2xsYXBzaWJsZTpob3ZlciB7DQogIGJhY2tncm91bmQtY29sb3I6ICNkY2RlZGY7DQp9DQoNCi5sYXRlcGF5IHsNCiAgZGlzcGxheTogbm9uZTsNCiAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgICBmb250LWZhbWlseTogVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsNCgl3aWR0aDogNzAlOw0KCWZvbnQtc2l6ZToxMXB4Ow0KDQp9DQoNCi5hcHBjbG9zZSB7DQogIGRpc3BsYXk6IG5vbmU7DQogIG92ZXJmbG93OiBoaWRkZW47DQogICAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQoJd2lkdGg6IDcwJTsNCglmb250LXNpemU6MTFweDsNCn0NCg0KICAubGF0ZWFwcCB7DQogIGRpc3BsYXk6IG5vbmU7DQogIG92ZXJmbG93OiBoaWRkZW47DQogICAgZm9udC1mYW1pbHk6IFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQoJd2lkdGg6IDcwJTsNCglmb250LXNpemU6MTFweDsNCg0KfQ0KDQouYXBwY2xvc2UgcCB7DQogZm9udC1mYW1pbHk6IFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQogCWZvbnQtc2l6ZToxMnB4Ow0KfQ0KDQoubGF0ZWFwcCBwIHsNCiBmb250LWZhbWlseTogVmVyZGFuYSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsNCiAJZm9udC1zaXplOjEycHg7DQp9DQoNCi5sYXRlcGF5IHAgew0KIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOw0KIAlmb250LXNpemU6MTJweDsNCn0NCg0KPC9zdHlsZT4NCjwvaGVhZD4NCjxib2R5Pg0KDQo8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWJsb2NrIGJ0bi1ncy12YXJpYW50IHRocmVlTGluZXNUZXh0Ij5FWFBMQUlOSU5HIEhPVyBMQVRFIEFQUExJQ0FUSU9OUyBXT1JLPC9idXR0b24+DQo8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNvbGxhcHNpYmxlIj48Zm9udCBjb2xvcj0iIzMzN2FiNyI+JiMxMDE1MSAgTGF0ZSBQYXltZW50IDwvZm9udD48L2J1dHRvbj4NCjxkaXYgY2xhc3M9ImxhdGVwYXkiPg0KIDxwPjxmb250LXNpemU9IjEuMmVtIj5Vbmxpa2UgcHJvZ3JhbW1lcywgd2hpY2ggbWF5IGFsbCBoYXZlIGRpZmZlcmVudCBjbG9zaW5nIGRhdGVzLCB0aGVyZSBpcyA8dT5PTkU8L3U+IGRhdGUgb24gd2hpY2ggTEFURSBQQVlNRU5UUyB0YWtlIGVmZmVjdDsgaS5lLiA8Yj4wMSBOT1ZFTUJFUjwvYj48L3A+DQo8cD5BbGwgYXBwbGljYXRpb25zIGFuZC9vciBhZG1pbmlzdHJhdGlvbiBmZWVzIHJlY2VpdmVkIGZyb20gMDEgTm92ZW1iZXIgd2lsbCBhdHRyYWN0IHRoZSDigJxMYXRlIFBheW1lbnTigJ0gc3RhdHVzIGFuZCB3aWxsIGJlIGxpYWJsZSBmb3IgdGhlIGxhdGUgZmVlIGFwcGxpY2FibGUgYXQgdGhlIHRpbWUgKHVzdWFsbHksIGJ1dCBub3QgYWx3YXlzIGRvdWJsZSB0aGUg4oCcT24gVGltZeKAnSBhZG1pbmlzdHJhdGlvbiBmZWUpLg0KPC9wPg0KPC9kaXY+DQoNCjxsaT48L2xpPg0KPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjb2xsYXBzaWJsZSI+PGZvbnQgY29sb3I9IiMzMzdhYjciPiYjMTAxNTEgIEFwcGxpY2F0aW9uIENsb3NlZDwvZm9udD48L2J1dHRvbj4NCg0KPGRpdiBjbGFzcz0iYXBwY2xvc2UiPg0KDQogIDxwPlByb2dyYW1tZXMgdGhhdCBoYXZlIHJlYWNoZWQgb3IgcGFzc2VkIHRoZSBhZHZlcnRpc2VkIGNsb3NpbmcgZGF0ZSBhbmQgYXJlIGFkdmVydGlzZWQgd2l0aCB0aGUgbm90ZTog4oCcTm8gTGF0ZSBBcHBsaWNhdGlvbnMgd2lsbCBiZSBjb25zaWRlcmVk4oCdIHdpbGwgcmVjZWl2ZSB0aGUg4oCcUHJvZ3JhbW1lIENsb3Nl4oCdIHN0YXR1cy4gIFRoaXMgbWVhbnMgdGhhdCBmb3Igc3VjaCBwcm9ncmFtbWVzIG5vIHByb2dyYW1tZSBhcHBsaWNhdGlvbnMgb3IgYWRtaW5pc3RyYXRpb24gZmVlcyByZWNlaXZlZCBhZnRlciB0aGUgY2xvc2luZyBkYXRlIHdpbGwgYmUgY29uc2lkZXJlZCBieSB0aGF0IGluc3RpdHV0aW9uLiBFeGFtcGxlcyBhcmUgbWVkaWNpbmUsIHNvbWUgaGVhbHRoIHNjaWVuY2VzLCBhbmQgc29tZSBlZHVjYXRpb24gcHJvZ3JhbW1lcy48L3A+DQo8L2Rpdj4NCg0KPGxpPjwvbGk+DQo8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImNvbGxhcHNpYmxlIj48Zm9udCBjb2xvcj0iIzMzN2FiNyI+JiMxMDE1MSAgTGF0ZSBBcHBsaWNhdGlvbiBvciBBcHBsaWNhdGlvbiBMYXRlPC9mb250PjwvYnV0dG9uPg0KPGRpdiBjbGFzcz0ibGF0ZWFwcCI+DQogPHA+RWFjaCBvZiB0aGUgYWR2ZXJ0aXNlZCBwcm9ncmFtbWVzIGhhcyBhIGNsb3NpbmcgZGF0ZS4gIFRoZSBjbG9zaW5nIGRhdGUgZm9yIGVhY2ggcHJvZ3JhbW1lIGNhbiBiZSBkaWZmZXJlbnQ7IGVnLiBCIEhlYWx0aCBTY2llbmNlOiBEaWFnbm9zdGljIFJhZGlvZ3JhcGh5IChEVS1ELVJBRCkgaGFzIGEgY2xvc2luZyBkYXRlIG9mIDMxIEF1Z3VzdCB3aGlsZSBCIEhlYWx0aCBTY2llbmNlcyBpbiBNZWRpY2FsIExhYm9yYXRvcnkgU2NpZW5jZSAoRFUtRC1CTFMpIGhhcyBhIGNsb3NpbmcgZGF0ZSBvZiAzMCBTZXB0ZW1iZXIuICBCb3RoIHByb2dyYW1tZXMgYXJlIGZvciAyMDI1IEVudHJ5LjwvcD4NCjxwPkFueSBhcHBsaWNhdGlvbnMgYW5kIHRoZSBmdWxseSBwYWlkIGFkbWluaXN0cmF0aW9uIGZlZSByZWNlaXZlZCBPTiBvciBCRUZPUkUgdGhlIGFkdmVydGlzZWQgY2xvc2luZyBkYXRlIHdpbGwgcmVjZWl2ZSB0aGUgc3RhdHVzIDxiPuKAnFdBSVRJTkcgRk9SIEEgREVDSVNJT07igJ0uPC9iPiAgVGhpcyBzdGF0dXMgaW5kaWNhdGVzIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGlzIOKAnE9uLVRpbWXigJ0gYW5kIHdpbGwgcmVjZWl2ZSBwcmlvcml0eSBjb25zaWRlcmF0aW9uIGJ5IHRoZSBpbnN0aXR1dGlvbi9zIHRvIHdoaWNoIHlvdSBoYXZlIGFwcGxpZWQuDQpUaGUgYWRtaW5pc3RyYXRpb24gZmVlIHdvdWxkIGJlIHRoZSBhZHZlcnRpc2VkIOKAnE9uIFRpbWXigJ0gZmVlLjwvcD4NCg0KPHA+RXZlbiB0aG91Z2ggdGhlIHByb2dyYW1tZXPigJkgY2xvc2luZyBkYXRlIG1heSBoYXZlIGJlZW4gcmVhY2hlZCBvciBwYXNzZWQsIDxiPjx1PmFwcGxpY2FudHMgbWF5IHN0aWxsIGFwcGx5IGZvciB0aGVtPC9iPjwvdT4sIGJ1dCBzdWNoIGFwcGxpY2F0aW9ucyB3aWxsIHJlY2VpdmUgdGhlIOKAnExhdGUgQXBwbGljYXRpb24vQXBwbGljYXRpb24gTGF0ZeKAnSBzdGF0dXMgYW5kIHdpbGwgYmUgY29uc2lkZXJlZCA8Yj48dT5BRlRFUjwvYj48L3U+IGFsbCB0aGUg4oCcT24gVGltZeKAnSBhcHBsaWNhdGlvbnMgaGF2ZSBiZWVuIGNvbnNpZGVyZWQuICBUaGUgYWRtaW5pc3RyYXRpb24gZmVlIHJlbWFpbnMgdGhhdCBmb3Ig4oCcT24gVGltZeKAnSBhcHBsaWNhdGlvbnMuDQo8L3A+DQo8L2Rpdj4NCg0KPHNjcmlwdD4NCnZhciBjb2xsID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiY29sbGFwc2libGVmYXEyIik7DQp2YXIgaTsNCg0KZm9yIChpID0gMDsgaSA8IGNvbGwubGVuZ3RoOyBpKyspIHsNCiAgY29sbFtpXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uKCkgew0KICAgIHRoaXMuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIik7DQogICAgdmFyIGNvbnRlbnQgPSB0aGlzLm5leHRFbGVtZW50U2libGluZzsNCiAgICBpZiAoY29udGVudC5zdHlsZS5kaXNwbGF5ID09PSAiYmxvY2siKSB7DQogICAgICBjb250ZW50LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7DQogICAgfSBlbHNlIHsNCiAgICAgIGNvbnRlbnQuc3R5bGUuZGlzcGxheSA9ICJibG9jayI7DQogICAgfQ0KICB9KTsNCn0NCjwvc2NyaXB0Pg0KDQo8L2JvZHk+DQo8L2h0bWw+DQoNCjxicj48L2JyPg0KDQoNCjwhRE9DVFlQRSBodG1sPg0KPGh0bWw+DQo8aGVhZD4NCjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+DQo8c3R5bGU+DQoNCi5jb2xsYXBzaWJsZWZhcSB7DQogIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOw0KICBjb2xvcjogIzMzN2FiNzsNCiAgY3Vyc29yOiBwb2ludGVyOw0KICB3aWR0aDogNzUlOw0KICBib3JkZXI6IG5vbmU7DQogIHRleHQtYWxpZ246IGxlZnQ7DQogIG91dGxpbmU6IG5vbmU7DQogIGZvbnQtc2l6ZTogMTRweDsNCiAgZm9udC1mYW1pbHk6YXJpYWw7DQogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLmFjdGl2ZWZhcSwgLmNvbGxhcHNpYmxlZmFxOmhvdmVyIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGVkZjsNCn0NCg0KLmNvbnRlbnRmYXEgew0KICBkaXNwbGF5OiBub25lOw0KICBvdmVyZmxvdzogaGlkZGVuOw0KICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsNCiAgZm9udC1zaXplOiAxNHB4Ow0KICAgZm9udC1mYW1pbHk6YXJpYWw7DQogIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMS4wcyBlYXNlLW91dDsNCiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7DQogIHdpZHRoOiA3NSU7DQoNCn0NCg0KICAuY29udGFpbmVyMSB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KCWZsb2F0OiBsZWZ0Ow0KfQ0KICANCiAgaW1nMSB7DQogICAgbWF4LXdpZHRoOiAyNSU7DQogICAgbWF4LWhlaWdodDoxNSU7DQogICAgZmxvYXQ6IGxlZnQ7DQoJYm9yZGVyLXJhZGl1czogMzBweDsNCgloZWlnaHQ6MTgwcHg7DQoJd2lkdGg6MjUwcHg7DQp9DQogIA0KICAudGV4dDEgew0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7DQoNCiAgICBmbG9hdDogbGVmdDsNCn0NCiAgPC9zdHlsZT4NCiAgPGJvZHk+DQoNCjwvc3R5bGU+DQo8L2hlYWQ+DQo8Ym9keT4NCjxidXR0b24gY2xhc3M9ImJ0biBidG4tYmxvY2sgYnRuLWdzLXZhcmlhbnQgdGhyZWVMaW5lc1RleHQiPjIwMjIvMjAyMyBDQU8gQU5OVUFMIFJFUE9SVCAtIFBBUlQgMjwvYnV0dG9uPg0KPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJjb2xsYXBzaWJsZSI+PHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5vbmU7Ij48Zm9udCBjb2xvcj0iIzMzN2FiNyI+JiMxMDE1MSA8L2ZvbnQ+PGZvbnQgY29sb3I9IiMzMzdhYjciPlJlYWQgbW9yZSA8L2ZvbnQ+IDwvYnV0dG9uPg0KPGRpdiBjbGFzcz0iY29udGVudGZhcSI+DQoNCjxkaXY+DQogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyMSI+DQogICAgICA8ZGl2IGNsYXNzPSJpbWFnZTEiPg0KICAgICAgICA8aW1nIHNyYz0iZG93bmxvYWQvQVIyMy5wbmciICJoZWlnaHQ9IjE4MHB4IiB3aWR0aD0iMjUwcHgiID4NCiAgICAgIDwvZGl2Pg0KICAgICAgPGRpdiBjbGFzcz0idGV4dDEiPg0KPHA+Q2xpY2sgdG8gdmlldyB0aGUgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmNhb2FubnVhbHJlcG9ydC5jby56YS8iIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5vbmUiIHRhcmdldD0iX2JsYW5rIjs+PGZvbnQgY29sb3I9IiMzMzdhYjciPjIwMjIvMjAyMyBDQU8gQW5udWFsIFJlcG9ydDwvYT48L2ZvbnQ+IDwvcD4NCjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pjxicj4NCg0KPHNjcmlwdD4NCnZhciBjb2xsID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiY29sbGFwc2libGUiKTsNCnZhciBpOw0KDQpmb3IgKGkgPSAwOyBpIDwgY29sbC5sZW5ndGg7IGkrKykgew0KICBjb2xsW2ldLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oKSB7DQogICAgdGhpcy5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiKTsNCiAgICB2YXIgY29udGVudCA9IHRoaXMubmV4dEVsZW1lbnRTaWJsaW5nOw0KICAgIGlmIChjb250ZW50LnN0eWxlLmRpc3BsYXkgPT09ICJibG9jayIpIHsNCiAgICAgIGNvbnRlbnQuc3R5bGUuZGlzcGxheSA9ICJub25lIjsNCiAgICB9IGVsc2Ugew0KICAgICAgY29udGVudC5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsNCiAgICB9DQogIH0pOw0KfQ0KPC9zY3JpcHQ+DQoNCjwvYm9keT4NCjwvaHRtbD4NCg0KPGJyPg0KDQoNCjxidXR0b24gY2xhc3M9ImJ0biBidG4tYmxvY2sgYnRuLWdzLXZhcmlhbnQgdGhyZWVMaW5lc1RleHQiPkNPTVBMSUFOQ0UgRE9DVU1FTlRTPC9idXR0b24+DQoNCjxwPiA8YSBocmVmPSIvZG93bmxvYWQvUE9QSV8yMDEzLTAwNC5wZGYidGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5vbmU7Ij48Zm9udCBjb2xvcj0iIzMzN2FiNyI+4oCiIFZpZXcgb3IgRG93bmxvYWQgdGhlIFByb3RlY3Rpb24gb2YgUGVyc29uYWwgSW5mb3JtYXRpb24gQWN0IChQT1BJKTwvYT48L2ZvbnQ+IDwvcD4NCjxwPjxhIGhyZWY9Ii9kb3dubG9hZC9DQU8gUEFJQSBNYW51YWxfRmluMi5wZGYidGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5vbmU7Ij48Zm9udCBjb2xvcj0iIzMzN2FiNyI+4oCiIFZpZXcgb3IgRG93bmxvYWQgdGhlIFByb21vdGlvbiBvZiBBY2Nlc3MgdG8gSW5mb3JtYXRpb24gQWN0PC9hPjwvZm9udD4gPC9wPg0KDQoNCjwvc3Bhbj4NCjxicj4NCjwvaHRtbD4NCjwvaGVhZD4NCg0KDQoNCmRkAgcPPCsACQEADxYEHwoWAB8LAgFkFgJmD2QWAgIBDw8WAh8FZWRkAgkPD2QPEBYBZhYBFgIeDlBhcmFtZXRlclZhbHVlZBYBAgNkZAILDw9kDxAWAWYWARYCHwxkFgECA2RkAg0PPCsACQEADxYEHwoWAB8LAgFkFgJmD2QWAgIBDw8WAh8FBY8LPCFET0NUWVBFIGh0bWw+ICA8aHRtbD4gIDxoZWFkPiAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4gIDxzdHlsZT4gICAgICBsaSB7ICAgICAgbGlzdC1zdHlsZTogbm9uZTsgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2xpc3QtYnVsbGV0LTAxLWxpbmsuZ2lmKSBuby1yZXBlYXQgMCAwLjhlbTsgICBmb250LXNpemU6IDE1cHg7ICAgICAgcGFkZGluZzogMC4yZW0gMCAwLjJlbSAxZW07ICAgICAgbWFyZ2luLWxlZnQ6IDAuNGVtOyAgfSAgICBwIHsgICBmb250LXNpemU6IDE1cHg7ICAgfSAgICA8L3N0eWxlPiAgPC9oZWFkPiAgPGJvZHk+ICAgIDxwPjwvcD4gDQo8cD48Yj48Zm9udCBjb2xvcj0icmVkIj5OT1RFOjwvYj48L3A+ICA8cD4gPGZvbnQgY29sb3I9InJlZCIsZm9udC1zaXplOiAxNXB4Oz5BbiBlbnRyeSBpbiB0aGUgSGFuZGJvb2svd2Vic2l0ZSBkb2VzIG5vdCBvYmxpZ2UgdGhlIGluc3RpdHV0aW9uIHRvIG9mZmVyIHRoZSBwcm9ncmFtbWUgYXMgaW5zdGl0dXRpb25zIGNvbnRpbnVhbGx5IGFzc2VzcyB0aGVpciBwcm9ncmFtbWVzIGFuZCBtYXkgZGVjaWRlIHRvIGRpc2NvbnRpbnVlIHByb2dyYW1tZXMgYW5kL29yIGNoYW5nZSB0aGUgbWluaW11bSBlbnRyYW5jZSByZXF1aXJlbWVudHMgZHVyaW5nIGFuIGFwcGxpY2F0aW9uIGN5Y2xlLjwvcD4gIA0KPGxpIGNsYXNzID0gImxpIj4gICAgDQo8bGk+PGEgaHJlZj0iL2Rvd25sb2FkL05ldyBQcm9ncmFtbWVzIE5vdCBMaXN0ZWQgaW4gdGhlIEhhbmRib29rIC0gMjYuMDguMjAyNC5wZGYic3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZTsiPjxmb250IGNvbG9yPSIjMzM3YWI3Ij5OZXcgUHJvZ3JhbW1lcyBOb3QgTGlzdGVkIGluIHRoZSBIYW5kYm9vazwvYT48L2ZvbnQ+PC9saT4gDQo8bGk+PGEgaHJlZj0iL2Rvd25sb2FkL0Nsb3NpbmcgRGF0ZSBDaGFuZ2VzIC0gMDcuMDguMjAyNC5wZGYic3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZTsiPjxmb250IGNvbG9yPSIjMzM3YWI3Ij5DbG9zaW5nIERhdGUgQ2hhbmdlczwvYT48L2ZvbnQ+PC9saT4gDQo8bGk+PGEgaHJlZj0iL2Rvd25sb2FkL0Rpc2NvbnRpbnVlZCBQcm9ncmFtbWVzIC0gMTkuMDguMjAyNC5wZGYic3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZTsiPjxmb250IGNvbG9yPSIjMzM3YWI3Ij5EaXNjb250aW51ZWQgUHJvZ3JhbW1lczwvYT48L2ZvbnQ+PC9saT4gDQo8bGk+PGEgaHJlZj0iL2Rvd25sb2FkL0VudHJ5IFJlcXVpcmVtZW50IENoYW5nZXMgMjAyNSBFbnRyeV8xOS4wOS4yMDI0LnBkZiJzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lOyI+PGZvbnQgY29sb3I9IiMzMzdhYjciPkVudHJ5IFJlcXVpcmVtZW50IENoYW5nZXM8L2E+PC9mb250PjwvbGk+IA0KDQoNCmRkAg8PPCsACQEADxYEHwoWAB8LZmRkAhEPD2QPEBYBZhYBFgIfDGQWAQIDZGQCEw8PZA8QFgFmFgEWAh8MZBYBAgNkZBgBBQtjdGwwMCRNZW51MQ8PZAUESG9tZWQQU0MZM0T+Rx5qA/k6KEq5v0cbbw==">
</div>
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
<script src="/WebResource.axd?d=NTuT9dFOo2DesCX6yErrUHceGhaDzb0_ULK8JwJ7Qrw2S9-Z8GuOI0zER74GJEG2HnpEbUjNPSH4cO3ZHeXH_eVWOFU1&t=638313862859278837" type="text/javascript"></script>
<script src="scripts/masterpage.js" type="text/javascript"></script>
<script async="" src="https://www.googletagmanager.com/gtag/js?id=UA-114532043-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'UA-114532043-1');
</script>
<script src="/ScriptResource.axd?d=WAQxOlLPqoUmwgUVK-S21yOONFhTRpYoQ9SBj0kjqsgZETZyVw4zXGyfMyJoek_zwMGc5mZ43goe9e_UP86nXDnHZcplt8QQHnC_xIfyvgpyfJ0o_9kLLsbe9cbXUSMZ9pn5ww2&t=ffffffff9ff2a103" type="text/javascript"></script>
<script src="/ScriptResource.axd?d=bxwXkbcsUPgnM_49bGzPPfzeixw4pbXDMQAB-6OsJ0kjGej6ESo7X8Ja0sx43jTllI1AIil2uSGYdrAplmfSWVtkpDjAfgwfv5MWdJzQMuuNWEkZO1fmHt1VJPLP4qEMnd9oJvr0ip36k5nso6K4PzI1R1M1&t=ffffffff9bc22534" type="text/javascript"></script>
<script src="/ScriptResource.axd?d=PihtPJtj2gJruwPpQEDRJK6hgaHO7Pn_8-dqmUUdk87W3mxSd65nH8r6uscqTTA03jA57VvFxZaDVmCiNg0rCNEaKQw78Imv1x9yidl9q3OrQ2aChzp3UIH-cyy1tLytjOSTBqgLfFYY7LcJOD2Zmkqz9pVUlQjJ54L_IBzFbhCXqHX80&t=ffffffff9bc22534"
type="text/javascript"></script>
<div>
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="CA0B0334">
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAgL6w/GJAQLevt5DN3o7hhhk9Tq29nsTqR0ZFvQoDz0=">
</div>
<!--
TOP INFORMTION
--> <input type="hidden" name="ctl00$hfCAOWebRoot" id="ctl00_hfCAOWebRoot" value="http://cao.ac.za//ReportError.aspx">
<div id="top-information">
<div id="logo">
<div style="display:inline-block;vertical-align:middle">
<img src="images/CAO_logo_New.png" alt="" width="104" height="39" class="poster-photo-image">
</div>
<div style="display:inline-block;vertical-align:middle">
<a class="CAOHeading" href="Default.aspx">Central Applications Office</a>
</div>
</div>
<div id="top-information-home">
<span id="ctl00_lblMessageMaster"></span>
</div>
<div id="top-information-phone">
<span id="ctl00_lblUsername"></span> <span id="ctl00_lblCAONO"></span>
</div>
</div>
<!--
TOP NAV
-->
<div class="none"><a href="#maincontent">skip to the main content area of this page</a></div>
<div id="nav-main">
<table id="ctl00_Menu1" class="menu-main-top ctl00_Menu1_2" cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td onmouseover="Menu_HoverStatic(this)" onmouseout="Menu_Unhover(this)" onkeyup="Menu_Key(event)" title="Home Page" id="ctl00_Menu1n0">
<table class="menu-main-items ctl00_Menu1_4" cellpadding="0" cellspacing="0" border="0" width="100%">
<tbody>
<tr>
<td style="white-space:nowrap;"><a class="ctl00_Menu1_1 menu-main-items ctl00_Menu1_3" href="/Default.aspx" style="border-style:none;font-size:1em;">Home</a></td>
</tr>
</tbody>
</table>
</td>
<td style="width:3px;"></td>
<td onmouseover="Menu_HoverStatic(this)" onmouseout="Menu_Unhover(this)" onkeyup="Menu_Key(event)" title="How to apply" id="ctl00_Menu1n1">
<table class="menu-main-items ctl00_Menu1_4" cellpadding="0" cellspacing="0" border="0" width="100%">
<tbody>
<tr>
<td style="white-space:nowrap;"><a class="ctl00_Menu1_1 menu-main-items ctl00_Menu1_3" href="/Apply.aspx?content=Apply" style="border-style:none;font-size:1em;"> Apply </a></td>
</tr>
</tbody>
</table>
</td>
<td style="width:3px;"></td>
<td onmouseover="Menu_HoverStatic(this)" onmouseout="Menu_Unhover(this)" onkeyup="Menu_Key(event)" title="Payments" id="ctl00_Menu1n2">
<table class="menu-main-items ctl00_Menu1_4" cellpadding="0" cellspacing="0" border="0" width="100%">
<tbody>
<tr>
<td style="white-space:nowrap;"><a class="ctl00_Menu1_1 menu-main-items ctl00_Menu1_3" href="/Payments.aspx" style="border-style:none;font-size:1em;">Payments</a></td>
</tr>
</tbody>
</table>
</td>
<td style="width:3px;"></td>
<td onmouseover="Menu_HoverStatic(this)" onmouseout="Menu_Unhover(this)" onkeyup="Menu_Key(event)" title="Member Institutions" id="ctl00_Menu1n3">
<table class="menu-main-items ctl00_Menu1_4" cellpadding="0" cellspacing="0" border="0" width="100%">
<tbody>
<tr>
<td style="white-space:nowrap;"><a class="ctl00_Menu1_1 menu-main-items ctl00_Menu1_3" href="/institute.aspx?content=InstitutionMain" style="border-style:none;font-size:1em;"> Member Institutions</a></td>
</tr>
</tbody>
</table>
</td>
<td style="width:3px;"></td>
<td onmouseover="Menu_HoverStatic(this)" onmouseout="Menu_Unhover(this)" onkeyup="Menu_Key(event)" title="About CAO" id="ctl00_Menu1n4">
<table class="menu-main-items ctl00_Menu1_4" cellpadding="0" cellspacing="0" border="0" width="100%">
<tbody>
<tr>
<td style="white-space:nowrap;"><a class="ctl00_Menu1_1 menu-main-items ctl00_Menu1_3" href="/About.aspx?content=Mission" style="border-style:none;font-size:1em;">About CAO</a></td>
</tr>
</tbody>
</table>
</td>
<td style="width:3px;"></td>
<td onmouseover="Menu_HoverStatic(this)" onmouseout="Menu_Unhover(this)" onkeyup="Menu_Key(event)" title="Contact Us" id="ctl00_Menu1n5">
<table class="menu-main-items ctl00_Menu1_4" cellpadding="0" cellspacing="0" border="0" width="100%">
<tbody>
<tr>
<td style="white-space:nowrap;"><a class="ctl00_Menu1_1 menu-main-items ctl00_Menu1_3" href="/ContactCAO.aspx?content=Contact" style="border-style:none;font-size:1em;"> Contact Us </a></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<div title="Go to Login Screen" id="login" onclick="window.location.href='login.aspx'" style="cursor:hand; cursor: pointer;"> Login </div>
</div>
<a id="maincontent"></a>
<!-- Title Under Menu-->
<script type="text/javascript">
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ctl00$ContentPlaceHolder1$ctl00', document.getElementById('aspnetForm'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls([], [], [], 90);
//]]>
</script>
<script language="javascript" type="text/javascript">
function openWindow(url) {
window.open(url, 'MakePayment', 'center:yes, scrollbars=yes, menubar=no, height=600, width=1000,resizable=yes,toolbar=no,status=no');
}
</script>
<script type="text/javascript">
function pop(div) {
document.getElementById(div).style.display = 'block';
}
function hide(div) {
document.getElementById(div).style.display = 'none';
}
</script>
<!-- Script for Google Analytics code to be replaced depending on environment -->
<!-- Google tag (gtag.js) -->
<script async="" src="https://www.googletagmanager.com/gtag/js?id=G-P3GD7M03BB"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'G-P3GD7M03BB');
</script>
<!-- End of Google script-->
<!-- Google Tag Manager -->
<script>
(function(w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({
'gtm.start': new Date().getTime(),
event: 'gtm.js'
});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s),
dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-N5FFSN7');
</script>
<!-- End Google Tag Manager -->
<meta name="description"
content="The CAO (Central Applications Office) is a one stop shop handling applications for certificate, undergraduate diploma and bachelor degree programmes at higher education institutions in KwaZulu-Natal (KZN) and for study programmes at UNISA from diplomas to doctorates">
<meta name="keywords" content="Applications,UNISA,University of South Africa, UNISA Applications">
<!--
POSTER PHOTO
-->
<!--
CONTENT CONTAINER
-->
<div id="content-container-two-column-background">
<!--
CONTENT MAIN COLUMN
-->
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-N5FFSN7" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<div class="main-menu">
<table id="ctl00_ContentPlaceHolder1_DefaultMain" cellspacing="0" border="0" style="border-collapse:collapse;">
<tbody>
<tr>
<td>
<span id="ctl00_ContentPlaceHolder1_DefaultMain_ctl00_HtmlTextLabel">
<p style="font-size:2em;font-weight: bolder;;"> </p>
<p style="font-size:1.2em">Already applied? Use <a href="/myapplicationlogin.aspx">‘Check my Application’</a> to follow the progress of your application. </p>
<p></p>
<a href="/Download/Rate Card 2026.pdf" "="" target="_blank"> <img style="border:1px; border-style:solid; border-color:#62676a; border-opacity:50%;padding: 0em;block-size=" auto"="" img="" src="/download\Banner_13.09.2024.gif" height="auto" width="auto" ;="" align="centre"> <br><br></a>
<div class="slideshow-container"><a href="/Download/Rate Card 2026.pdf" "="" target="_blank"></a><a>
<style>
.nav {
height: 30px;
background:linear-gradient(to right, #ffffff 0, #95c3da 10%, #63b1d6 33%, #2e9ed4 50%, #63b1d6 66%,#95c3da 90% ,#ffffff 100%);
text-align:center;
font color: white;
font-family:arial;
}
.nav p {
display: inline-block;
font-size: 10px;
text-align:centre;
color: #ffffff;
}
</style>
<ul class="nav">
<p style="text-align:center;font-size:1.1em;font-family:Helvetica" ;="">CLICK ON THE BELOW BANNER TO VIEW THE INSTITUTION'S WEBSITE </p>
</ul>
</a>
<div class="mySlides fade" style="display: none;"><a>
<div class="numbertext"></div>
</a><a target="_blank" href="https://www.btc.edu.za/">
<img alt="" src="download\CAO-7.gif" width="1010px" height="270px">
</a>
<div class="text"></div>
</div>
<div class="mySlides fade" style="display: none;">
<div class="numbertext"></div>
<a target="_blank" href="https://www.richfield.ac.za/">
<img alt="" src="download/1479_Richfield_2024-CAO-Web-Banner_DBN_V1.gif" width="1010px" height="270px">
</a>
<div class="text"></div>
</div>
<div class="mySlides fade" style="display: none;">
<div class="numbertext"></div>
<a target="_blank" href="https://www.dut.ac.za/">
<img alt="" src="download/DU211028005 DUT 2023 CAO Web Banner_4_DEC 2023.jpg" width="1010px" height="270px">
</a>
<div class="text"></div>
</div>
<div class="mySlides fade" style="display: block;">
<div class="numbertext"></div>
<a target="_blank" href="https://regent.ac.za/">
<img alt="" src="download/CAO-Takeover-Banner-1000x270.gif" width="1010px" height="270px">
</a>
<div class="text"></div>
</div>
<div class="mySlides fade" style="display: none;">
<div class="numbertext"></div>
<a target="_blank" href="https://scientec.co.za/individual/">
<img alt="" src="download/SCIENTEC_11Mar24.gif" width="1010px" height="270px">
</a>
<div class="text"></div>
</div>
<div class="mySlides fade" style="display: none;">
<div class="numbertext"></div>
<a target="_blank" href="https://stadio.ac.za/">
<img alt="" src="download/CAO-WEB-BANNER-1050x300.gif" width="1010px" height="270px">
</a>
<div class="text"></div>
</div>
<!--Below equates to the amount of images above currently 4.
If there are less than 4 then the reletive "spans" need to be removed and vice versa-->
<div style="text-align:center">
<span class="dot"></span>
<span class="dot"></span>
<span class="dot"></span>
<span class="dot active"></span>
<span class="dot"></span>
<span class="dot"></span>
</div>
<script type=""> let slideIndex = 0;
showSlides();
function showSlides() {
let i;
let slides = document.getElementsByClassName("mySlides");
let dots = document.getElementsByClassName("dot");
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
slideIndex++;
if (slideIndex > slides.length) { slideIndex = 1 }
for (i = 0; i < dots.length; i++) {
dots[i].className = dots[i].className.replace(" active", "");
}
slides[slideIndex - 1].style.display = "block";
dots[slideIndex - 1].className += " active";
setTimeout(showSlides, 6000); // Change image every 6 seconds
}
</script>
</div>
</span>
<br>
<br>
</td>
</tr>
</tbody>
</table>
<div id="Menu-Row-One" class="main-menu-row">
<div class="main-menu-cell">
<a href="LoginInstructions.aspx?Content=DocUpload">
<img alt="" src="images/Doc_Upload.png" class="photo-border" onmouseover="this.src='images/Doc_Upload.png'" onmouseout="this.src='images/Doc_Upload.png'">
</a>
<div>
<h2>UPLOAD MY DOCUMENTS</h2>
</div>
</div>
<div class="main-menu-cell">
<a href="MyApplicationLogin.aspx">
<img alt="" src="images/My_Application.png" class="photo-border" onmouseover="this.src='images/My_Application.png'" onmouseout="this.src='images/My_Application.png'"></a>
<div>
<h2>CHECK MY APPLICATION</h2>
</div>
</div>
<div class="main-menu-cell">
<a href="LoginInstructions.aspx?Content=COM">
<img alt="" src="images/ChangeOfMind.png" class="photo-border" onmouseover="this.src='images/ChangeOfMind.png'" onmouseout="this.src='images/ChangeOfMind.png'">
</a>
<div>
<h2>CHANGE OF MIND</h2>
</div>
</div>
</div>
<div id="Menu-Row-Two" class="main-menu-row">
<div class="main-menu-cell">
<a href="LoginInstructions.aspx?Content=AppUpdate">
<img alt="" src="images/Update my Details.png" class="photo-border" onmouseover="this.src='images/Update my Details.png'" onmouseout="this.src='images/Update my Details.png'">
</a>
<div>
<h2>UPDATE MY DETAILS</h2>
</div>
</div>
<div class="main-menu-cell">
<a href="Programmes.aspx?content=Programmes">
<img alt="" src="images/Available_Programmes.png" class="photo-border" onmouseover="this.src='images/Available_Programmes.png'" onmouseout="this.src='images/Available_Programmes.png'">
</a>
<div>
<h2>AVAILABLE PROGRAMMES</h2>
</div>
</div>
<div class="main-menu-cell">
<a href="Career.aspx?Content=Career">
<img src="images/Dont_Know.png" class="photo-border" onmouseover="this.src='images/Dont_Know.png'" onmouseout="this.src='images/Dont_Know.png'" alt="">
</a>
<div>
<h2>DON'T KNOW WHAT TO STUDY?</h2>
</div>
</div>
</div>
<div id="Menu-Row-Four" class="main-menu-row">
<div class="main-menu-cell">
<a id="newslink" href="#">
<img alt="" src="images/Important Notices 3110.png" class="photo-border" onmouseover="this.src='images/Important Notices 3110.png'" onmouseout="this.src='images/Important Notices 3110.png'">
</a>
<div>
<h2>IMPORTANT NOTICES AND NEWS</h2>
</div>
</div>
<div class="main-menu-cell">
<a id="progchangeslink" href="#" onclick="pop('ProgChangesDiv')">
<img alt="" src="images/Programme_Changes.png" class="photo-border" onmouseover="this.src='images/Programme_Changes.png'" onmouseout="this.src='images/Programme_Changes.png'">
</a>
<div>
<h2>NOTICE OF PROGRAMME CHANGES</h2>
</div>
</div>
<div class="main-menu-cell">
<a href="HigherEducationInstitutions.aspx?content=Diploma">
<img alt="" src="images/Institutions.png" class="photo-border" onmouseover="this.src='images/Institutions.png'" onmouseout="this.src='images/Institutions.png'">
</a>
<div>
<h2>QUALIFICATION TYPES</h2>
</div>
</div>
</div>
<div id="Menu-Row-Three" class="main-menu-row">
<div id="Menu-Row-Three-Div">
<div class="menu-row-three-div-div">
<a target="_blank" href="http://facebook.com/centralapplicationsoffice">
<img alt="" src="images/facebook.png">
</a>
<div>Facebook <br>
<span style="font-size:12px;font-weight:normal;color:#666;">Visit us!</span>
</div>
</div>
</div>
</div>
<div class="backdrop">
<div id="popdiv">
<div id="default-news-header"> IMPORTANT NOTICES <span class="closenewslink" style="float:right; padding-right:20px"><span> X </span></span>
</div>
<br>
<div id="default-news-content">
<table id="ctl00_ContentPlaceHolder1_NewsItem1" cellspacing="0" border="0" style="border-collapse:collapse;">
<tbody>
<tr>
<td>
<span id="ctl00_ContentPlaceHolder1_NewsItem1_ctl00_htmltextLabel">
<img src="download/We are open1 (1).png" width="auto" height="auto";">
<span style="text-decoration: none;font-family: arial;font color: #333333;font-size: 14px; >
<p style=" decoration:="" none";"margin:0px";"padding:0px";="">
<li></li>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.collapsiblefaq {
background-color: white;
color: #337ab7;
cursor: pointer;
border: none;
text-align: left;
outline: none;
font-size: 14px;
font-family: arial;
text-decoration: none;
width: 75%;
transition: 3.0s ease-out;
}
.activefaq,
.collapsiblefaq:hover {
background-color: #dcdedf;
transition: 3.0s ease-out;
}
.contentfaq {
display: none;
overflow: hidden;
background-color: white;
font-size: 14px;
font-family: arial;
transition: max-height 1.0s ease-out;
background-color: white;
width: 75%;
transition: 3.0s ease-out;
}
</style>
<button class="btn btn-block btn-gs-variant threeLinesText">KZN HIGH SCHOOL ARTS COMPETITION</button>
<button type="button" class="collapsiblefaq2"><style="text-decoration: none;"="">
<font color="#337ab7">➧ </font>
<font color="#337ab7">Click here for more information </font>
</style="text-decoration:></button>
<div class="contentfaq">
<div class="container1">
<div class="image1">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {
font-family: Arial, Helvetica, sans-serif;
}
#myImg {
border-radius: 5px;
cursor: pointer;
transition: 0.3s;
}
#myImg:hover {
opacity: 0.7;
}
/* The Modal (background) */
.modal {
display: none;
/* Hidden by default */
position: fixed;
/* Stay in place */
z-index: 1;
/* Sit on top */
padding-top: 100px;
/* Location of the box */
left: 0;
top: 0;
width: 100%;
/* Full width */
height: 100%;
/* Full height */
overflow: auto;
/* Enable scroll if needed */
background-color: rgb(0, 0, 0);
/* Fallback color */
background-color: rgba(0, 0, 0, 0.8);
/* Black w/ opacity */
}
/* Modal Content (image) */
.modal-content {
margin: auto;
display: block;
width: 80%;
max-width: 700px;
}
/* Caption of Modal Image */
#caption {
margin: auto;
display: block;
width: 80%;
max-width: 700px;
text-align: center;
color: black;
padding: 1px 0;
height: 20px;
background: white;
text-decoration: strong;
}
/* Add Animation */
.modal-content,
#caption {
-webkit-animation-name: zoom;
-webkit-animation-duration: 0.6s;
animation-name: zoom;
animation-duration: 0.6s;
}
@-webkit-keyframes zoom {
from {
-webkit-transform: scale(0)
}
to {
-webkit-transform: scale(1)
}
}
@keyframes zoom {
from {
transform: scale(0)
}
to {
transform: scale(1)
}
}
/* The Close Button */
.close {
position: absolute;
top: 15px;
right: 35px;
color: #bbb;
font-size: 40px;
font-weight: bold;
transition: 0.3s;
}
.close:hover,
.close:focus {
color: red;
text-decoration: none;
cursor: pointer;
}
/* 100% Image Width on Smaller Screens */
@media only screen and (max-width: 700px) {
.modal-content {
width: 100%;
}
}
</style>
<img id="myImg" src="download/Arts_Comp.png" alt="The CAO KZN High Schools Arts Competition 2024" style="width:100%;max-width:300px">
<!-- The Modal -->
<div id="myModal" class="modal">
<span class="close">×</span>
<img class="modal-content" id="img01">
<div id="caption"></div>
</div>
<script>
// Get the modal
var modal = document.getElementById("myModal");
// Get the image and insert it inside the modal - use its "alt" text as a caption
var img = document.getElementById("myImg");
var modalImg = document.getElementById("img01");
var captionText = document.getElementById("caption");
img.onclick = function() {
modal.style.display = "block";
modalImg.src = this.src;
captionText.innerHTML = this.alt;
}
// Get the <span> element that closes the modal
var span = document.getElementsByClassName("close")[0];
// When the user clicks on <span> (x), close the modal
span.onclick = function() {
modal.style.display = "none";
}
</script>
</div>
<div class="text1">
<p><b>Celebrating Young Talent: The CAO KZN High Schools Arts Competition 2024</b></p>
<p>Art is more than just an expression—its a powerful platform for young voices to be seen and heard. In 2023, Central Applications Office (CAO) in Durban recognized this and launched the CAO KZN High Schools Arts
Competition, giving high school learners across the province a unique opportunity to showcase their creativity. The competitions overwhelming success has paved the way for it to become an anticipated annual event,
sparking excitement among young artists year after year.</p>
<p>The aim of this annual event goes beyond just showcasing artwork. Its about empowering young artists to explore their creative potential and guiding them in their artistic journey. By offering access to a professional
exhibition and recognition for their talents, the competition serves as a stepping stone for many budding artists. Adding to this is the educational element, which helps guide and nurture young talent, ensuring they
have the tools and support they need to pursue their passion for the arts.</p>
<p>An exciting aspects of this competition is the significant prize money awarded to both the winning learners and their schools. This not only acknowledges individual talent but also fosters a province-wide environment
of excellence and creativity. With each passing year, more and more learners are eager to participate, making this competition a highlight of the school calendar.</p>
<p>This years competition was made even more special with Gagasi FM broadcasting live from the exhibition. The live coverage brought an electrifying atmosphere to the event, with interviews and on-the-spot reactions from
the young artists, adding a layer of excitement and fun.</p>
<p>We are now gearing up for the grand prize-giving event, where the Top 50 finalists will be celebrated, and the winners will be announced. Its a moment of pride not just for the learners but also for their schools,
families and communities. We can’t wait to see how this competition continues to grow and inspire future generations of artists in KwaZulu-Natal. Heres to creativity, passion, and the incredible young talent that makes
this event so special! </p>
</div>
</div>
</div>
<br>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.collapsiblefaq {
background-color: white;
color: #337ab7;
cursor: pointer;
width: 75%;
border: none;
text-align: left;
outline: none;
font-size: 14px;
font-family: arial;
text-decoration: none;
}
.collapsiblefaq2 {
background-color: white;
color: #337ab7;
cursor: pointer;
width: 75%;
border: none;
text-align: left;
outline: none;
font-size: 14px;
font-family: arial;
text-decoration: none;
transition: 3.0s ease-out;
}
.activefaq,
.collapsiblefaq:hover {
background-color: #dcdedf;
width: 75%;
transition: 3.0s ease-out;
}
.activefaq2,
.collapsiblefaq2:hover {
background-color: #dcdedf;
width: 75%;
transition: 3.0s ease-out;
}
.contentfaq {
display: none;
overflow: hidden;
background-color: white;
font-size: 14px;
font-family: arial;
transition: max-height 3.0s ease-out;
background-color: white;
width: 100%;
}
.container1 {
display: flex;
align-items: center;
justify-content: center;
float: left;
width: 100%;
border-radius: 50%;
padding-top: 10px;
}
img1 {
max-width: 25%;
max-height: 15%;
float: left;
border-radius: 80%;
padding-top: 10px;
}
.text1 {
font-size: 14px;
padding-left: 15px;
width: 80%;
float: left;
}
</style>
<li></li>
<br>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.collapsiblefaq {
background-color: white;
color: #337ab7;
cursor: pointer;
border: none;
text-align: left;
outline: none;
font-size: 14px;
font-family: arial;
text-decoration: none;
width: 75%;
transition: 3.0s ease-out;
}
.activefaq,
.collapsiblefaq:hover {
background-color: #dcdedf;
transition: 3.0s ease-out;
}
.contentfaq {
display: none;
overflow: hidden;
background-color: white;
font-size: 14px;
font-family: arial;
transition: max-height 1.0s ease-out;
background-color: white;
width: 75%;
transition: 3.0s ease-out;
}
</style>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {
font-family: Arial, Helvetica, sans-serif;
}
#myImg {
border-radius: 5px;
cursor: pointer;
transition: 0.3s;
}
#myImg:hover {
opacity: 0.7;
}
/* The Modal (background) */
.modal {
display: none;
/* Hidden by default */
position: fixed;
/* Stay in place */
z-index: 1;
/* Sit on top */
padding-top: 100px;
/* Location of the box */
left: 0;
top: 0;
width: 100%;
/* Full width */
height: 100%;
/* Full height */
overflow: auto;
/* Enable scroll if needed */
background-color: rgb(0, 0, 0);
/* Fallback color */
background-color: rgba(0, 0, 0, 0.8);
/* Black w/ opacity */
}
/* Modal Content (image) */
.modal-content {
margin: auto;
display: block;
width: 80%;
max-width: 700px;
}
/* Caption of Modal Image */
#caption {
margin: auto;
display: block;
width: 80%;
max-width: 700px;
text-align: center;
color: black;
padding: 1px 0;
height: 20px;
background: white;
text-decoration: strong;
}
/* Add Animation */
.modal-content,
#caption {
-webkit-animation-name: zoom;
-webkit-animation-duration: 0.6s;
animation-name: zoom;
animation-duration: 0.6s;
}
@-webkit-keyframes zoom {
from {
-webkit-transform: scale(0)
}
to {
-webkit-transform: scale(1)
}
}
@keyframes zoom {
from {
transform: scale(0)
}
to {
transform: scale(1)
}
}
/* The Close Button */
.close {
position: absolute;
top: 15px;
right: 35px;
color: #bbb;
font-size: 40px;
font-weight: bold;
transition: 0.3s;
}
.close:hover,
.close:focus {
color: red;
text-decoration: none;
cursor: pointer;
}
/* 100% Image Width on Smaller Screens */
@media only screen and (max-width: 700px) {
.modal-content {
width: 100%;
}
}
</style>
<!-- The Modal -->
<div id="myModal" class="modal">
<span class="close">×</span>
<img class="modal-content" id="img01">
<div id="caption"></div>
</div>
<script>
// Get the modal
var modal = document.getElementById("myModal");
// Get the image and insert it inside the modal - use its "alt" text as a caption
var img = document.getElementById("myImg");
var modalImg = document.getElementById("img01");
var captionText = document.getElementById("caption");
img.onclick = function() {
modal.style.display = "block";
modalImg.src = this.src;
captionText.innerHTML = this.alt;
}
// Get the <span> element that closes the modal
var span = document.getElementsByClassName("close")[0];
// When the user clicks on <span> (x), close the modal
span.onclick = function() {
modal.style.display = "none";
}
</script>
<li></li>
<button class="btn btn-block btn-gs-variant threeLinesText">UKZN DEGREE TRANSFER STUDENTS</button>
<p> <a href="/download/DEGREE TRANSFER STUDENTS (002).pdf" target="_blank" style="text-decoration: none;font-size: 14px"><font color="#337ab7">➧ Click here for more info</font></a> </p>
</span>
<br>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.btnhb1 {
border: 2px solid black;
background-color: white;
color: black;
padding: 14px 16px;
font-size: 14px;
cursor: pointer;
font-family: arial;
text-decoration: none;
}
/* Green */
.info {
border: none;
color: green;
background-color: #04AA6D;
border-radius: 8px;
text-decoration: none;
}
.info:hover {
background-color: #7ED957;
color: white;
text-decoration: none;
}
/* Blue */
.success {
color: #2196F3;
background-color: dodgerblue;
border-radius: 8px;
text-decoration: none;
border: none;
}
.success:hover {
background: #5CE1E6;
color: white;
text-decoration: none;
}
.success a {
text-decoration: none;
}
.info a {
text-decoration: none;
}
</style>
<button class="btn btn-block btn-gs-variant threeLinesText">2025 ENTRY HANDBOOK</button>
<button type="button" class="collapsiblefaq2"><style="text-decoration: none;"="">
<font color="#337ab7">➧ </font>
<font color="#337ab7">Read more </font>
</style="text-decoration:></button>
<div class="contentfaq">
<div>
<div class="container1">
<div class="image1">
<img src="download/HB-2025.png" "height=" 180px" width="250px">
</div>
<div class="text1">
<button class="btnhb1 success">
<a href="\Download\CAO_handbook_2025 Regent final web.pdf" target="_blank" style="color:white" text-decoration="none" ;="">Download</a></button>
<p></p>
<button class="btnhb1 info"> <a href="https://online.flipbuilder.com/vfqty/rlcv/" target="_blank" style="color:white;" text-decoration:="" none";=""> View Ebook Online</a></button>
</div>
</div>
</div>
</div>
<br>
<script>
var coll = document.getElementsByClassName("collapsiblefaq2");
var i;
for (i = 0; i < coll.length; i++) {
coll[i].addEventListener("click", function() {
this.classList.toggle("active");
var content = this.nextElementSibling;
if (content.style.display === "block") {
content.style.display = "none";
} else {
content.style.display = "block";
}
});
}
</script>
<br>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.collapsiblefaq {
background-color: white;
color: #337ab7;
cursor: pointer;
width: 75%;
border: none;
text-align: left;
outline: none;
font-size: 14px;
font-family: arial;
text-decoration: none;
}
.collapsible {
background-color: white;
color: #337ab7;
cursor: pointer;
width: 75%;
border: none;
text-align: left;
outline: none;
font-size: 14px;
font-family: arial;
text-decoration: none;
}
.activefaq,
.collapsiblefaq:hover {
background-color: #dcdedf;
}
.contentfaq {
display: none;
overflow: hidden;
background-color: white;
font-size: 14px;
font-family: arial;
transition: max-height 1.0s ease-out;
background-color: white;
}
</style>
<button class="btn btn-block btn-gs-variant threeLinesText">LEARNER GUIDE, VIDEO TUTORIALS & FREQUENTLY ASKED QUESTIONS</button>
<button type="button" class="collapsible"><style="text-decoration: none;"="">
<font color="#337ab7">➧ </font>
<font color="#337ab7">2025 Entry Online Application Guide </font>
</style="text-decoration:></button>
<div class="contentfaq">
<div>
<div class="container1">
<div class="image1">
<img src="download/Guide25.png" "height=" 90px" width="110px">
</div>
<div class="text1">
<p> 2025 Entry Online Application Guide</p>
<p>• Click <a href="\Download\2025 Learner Guide_12.02.24_FINAL.pdf" style="text-decoration: none" target="_blank" ;=""><font color="#337ab7"><b><u><i>HERE</i></u></b> </font></a>to view</p>
</div>
<li></li>
</div>
</div>
</div>
<p></p>
<button type="button" class="collapsible"><style="text-decoration: none;"="">
<font color="#337ab7">➧ </font>
<font color="#337ab7">Video Tutorials </font>
</style="text-decoration:></button>
<div class="contentfaq">
<div>
<div class="container1">
<div class="image1">
<img src="download/CAOVids.png" "height=" 100px" width="150px">
</div>
<div class="text1">
<p><a href="\Download\Upload My Docs_Updated Intro_02-02-22_Final.mp4" style="text-decoration: none" target="_blank" ;=""><font color="#337ab7">• Video tutorial on how to <b>Upload Documents</b> </font></a></p>
<p><a href="\Download\COM Video_Final_01-02-22_Updated with Intro 3.mp4" style="text-decoration: none" target="_blank" ;=""><font color="#337ab7">• Video tutorial on how to complete a <b>Change of Mind</b> </font></a>
</p>
</div>
<li></li>
</div>
</div>
</div>
<p></p>
<button type="button" class="collapsible"><style="text-decoration: none;"="">
<font color="#337ab7">➧ </font>
<font color="#337ab7">Frequently Asked Questions </font>
</style="text-decoration:></button>
<div class="contentfaq">
<div>
<div class="container1">
<div class="image1">
<img src="download/FAQNew.png" "height=" 230px" width="200px">
</div>
<div class="text1">
<p><a href="\Download\2025FAQ\1. About the CAO_2024.pdf" target="_blank" style="text-decoration: none;"><font color="#337ab7">• About the CAO</font></a></p>
<p><a href="\Download\2025FAQ\2. Finding Available Programmes_2024.pdf" target="_blank" style="text-decoration: none;"><font color="#337ab7">• Finding Available Programmes</font></a></p>
<p><a href="\Download\2025FAQ\3. Ways of Applying_2024.pdf" target="_blank" style="text-decoration: none;"><font color="#337ab7">• Ways of Applying </font></a></p>
<p><a href="\Download\2025FAQ\4. Admin Fees_2024.pdf" target="_blank" style="text-decoration: none;"><font color="#337ab7">• Administration Fees </font></a></p>
<p><a href="\Download\2025FAQ\5. Upload documents_2024.pdf" target="_blank" style="text-decoration: none;"><font color="#337ab7">• Upload documents </font></a></p>
<p><a href="\Download\2025FAQ\6. COMS_2024.pdf" target="_blank" style="text-decoration: none;"><font color="#337ab7">• Change of Minds </font></a></p>
<p><a href="\Download\2025FAQ\7. Finance Related_2024.pdf" target="_blank" style="text-decoration: none;"><font color="#337ab7">• Finance Related Queries </font></a></p>
<p><a href="\Download\2025FAQ\8. Institution Selections_2024.pdf" target="_blank" style="text-decoration: none;"><font color="#337ab7">• Institution Selections </font></a></p>
<p><a href="\Download\2025FAQ\9. International Applicants_2024.pdf" target="_blank" style="text-decoration: none;"><font color="#337ab7">• International Applicants </font></a></p>
<p><a href="\Download\2025FAQ\10. General_2024.pdf" target="_blank" style="text-decoration: none;"><font color="#337ab7">• General </font></a></p>
<p><a href="\Download\2025FAQ\11. Are you experiencing a problem online_2024.pdf" target="_blank" style="text-decoration: none;"><font color="#337ab7">• Are you experiencing a problem online </font></a></p>
</div>
</div>
</div>
</div>
<script>
var coll = document.getElementsByClassName("collapsiblefaq2");
var i;
for (i = 0; i < coll.length; i++) {
coll[i].addEventListener("click", function() {
this.classList.toggle("active");
var content = this.nextElementSibling;
if (content.style.display === "block") {
content.style.display = "none";
} else {
content.style.display = "block";
}
});
}
</script>
<br><br>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.collapsiblefaq2 {
background-color: white;
color: #337ab7;
cursor: pointer;
width: 75%;
border: none;
text-align: left;
outline: none;
font-size: 14px;
font-family: arial;
text-decoration: none;
}
.activefaq,
.collapsiblefaq:hover {
background-color: #dcdedf;
}
</style>
<button class="btn btn-block btn-gs-variant threeLinesText">ADMIN FEE STRUCTURE</button>
<button type="button" class="collapsiblefaq2"><style="text-decoration: none;"="">
<font color="#337ab7">➧ </font>
<font color="#337ab7">Read more </font>
</style="text-decoration:></button>
<div class="contentfaq">
<div class="container1">
<div class="image1">
<img src="download/CAOFee.png" "height=" 150px" width="250px">
</div>
<div class="text1">
<p>Your single administration fee allows you to apply for a combination of up to <b>SIX</b> programmes at any of our member and partner institutions in KZN </p>
<p>Click <a href="/download/2025 Admin Fee Structure.pdf_2025.pdf" target="_blank" style="text-decoration: none;"><font color="#337ab7"><b><u><i>HERE</i></u></b></font></a> to view the CAO Admin Structure and Ways to Pay
the Admin Fee.</p>
</div>
</div>
</div>
<br>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.btn-gs-variant {
color: #FFF;
background-color: #172652;
}
.btn-block {
display: block;
width: 75%;
border-radius: 4px;
padding: 6px 6px;
border: 0px solid #2e6da4;
margin-bottom: 20px;
}
.btn {
display: inline-block;
margin-bottom: 0;
font-weight: normal;
text-align: center;
vertical-align: middle;
touch-action: manipulation;
cursor: default;
background-image: none;
border: 0px solid transparent;
padding: 6px 6px;
font-size: 14px;
line-height: 1.42857143;
border-radius: 4px;
width: 75%;
}
.heading {
background-color: #46a049;
}
</style>
<br>
<button class="btn btn-block btn-gs-variant threeLinesText">POWER OF ATTORNEY FORM</button>
<button type="button" class="collapsiblefaq2"><style="text-decoration: none;"="">
<font color="#337ab7">➧ </font>
<font color="#337ab7">Read more </font>
</style="text-decoration:></button>
<div class="contentfaq">
<div class="container1">
<div class="image1">
<img src="download/POTV1.png" "height=" 150px" width="250px">
</div>
<div class="text1">
<p>You must print and sign a <b>Power of Attorney Form</b> and upload onto your CAO application profile</p>
<button class="btnhb1 success">
<a href="download/Power of Attorney_POA1_21Feb2024.pdf" target="_blank" style="color:white" text-decoration="none" ;="">Download Here</a></button>
</div>
</div>
</div>
<li></li>
<br>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.collapsible {
background-color: white;
color: #337ab7;
cursor: pointer;
width: 75%;
border: none;
text-align: left;
outline: none;
font-size: 14px;
font-family: arial;
text-decoration: none;
transition: 3.0s ease-out;
}
.active,
.collapsible:hover {
background-color: #dcdedf;
}
.latepay {
display: none;
overflow: hidden;
font-family: Verdana, Arial, Helvetica, sans-serif;
width: 70%;
font-size: 11px;
}
.appclose {
display: none;
overflow: hidden;
font-family: Verdana, Arial, Helvetica, sans-serif;
width: 70%;
font-size: 11px;
}
.lateapp {
display: none;
overflow: hidden;
font-family: Verdana, Arial, Helvetica, sans-serif;
width: 70%;
font-size: 11px;
}
.appclose p {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
.lateapp p {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
.latepay p {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
</style>
<button class="btn btn-block btn-gs-variant threeLinesText">EXPLAINING HOW LATE APPLICATIONS WORK</button>
<button type="button" class="collapsible">
<font color="#337ab7">➧ Late Payment </font>
</button>
<div class="latepay">
<p><font-size="1.2em">Unlike programmes, which may all have different closing dates, there is <u>ONE</u> date on which LATE PAYMENTS take effect; i.e. <b>01 NOVEMBER</b></font-size="1.2em"></p>
<p>All applications and/or administration fees received from 01 November will attract the “Late Payment” status and will be liable for the late fee applicable at the time (usually, but not always double the “On Time”
administration fee). </p>
</div>
<li></li>
<button type="button" class="collapsible">
<font color="#337ab7">➧ Application Closed</font>
</button>
<div class="appclose">
<p>Programmes that have reached or passed the advertised closing date and are advertised with the note: “No Late Applications will be considered” will receive the “Programme Close” status. This means that for such programmes
no programme applications or administration fees received after the closing date will be considered by that institution. Examples are medicine, some health sciences, and some education programmes.</p>
</div>
<li></li>
<button type="button" class="collapsible">
<font color="#337ab7">➧ Late Application or Application Late</font>
</button>
<div class="lateapp">
<p>Each of the advertised programmes has a closing date. The closing date for each programme can be different; eg. B Health Science: Diagnostic Radiography (DU-D-RAD) has a closing date of 31 August while B Health Sciences in
Medical Laboratory Science (DU-D-BLS) has a closing date of 30 September. Both programmes are for 2025 Entry.</p>
<p>Any applications and the fully paid administration fee received ON or BEFORE the advertised closing date will receive the status <b>“WAITING FOR A DECISION”.</b> This status indicates that the application is “On-Time” and
will receive priority consideration by the institution/s to which you have applied. The administration fee would be the advertised “On Time” fee.</p>
<p>Even though the programmes’ closing date may have been reached or passed, <b><u>applicants may still apply for them</u></b>, but such applications will receive the “Late Application/Application Late” status and will be
considered <b><u>AFTER</u></b> all the “On Time” applications have been considered. The administration fee remains that for “On Time” applications. </p>
</div>
<script>
var coll = document.getElementsByClassName("collapsiblefaq2");
var i;
for (i = 0; i < coll.length; i++) {
coll[i].addEventListener("click", function() {
this.classList.toggle("active");
var content = this.nextElementSibling;
if (content.style.display === "block") {
content.style.display = "none";
} else {
content.style.display = "block";
}
});
}
</script>
<br><br>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.collapsiblefaq {
background-color: white;
color: #337ab7;
cursor: pointer;
width: 75%;
border: none;
text-align: left;
outline: none;
font-size: 14px;
font-family: arial;
text-decoration: none;
}
.activefaq,
.collapsiblefaq:hover {
background-color: #dcdedf;
}
.contentfaq {
display: none;
overflow: hidden;
background-color: white;
font-size: 14px;
font-family: arial;
transition: max-height 1.0s ease-out;
background-color: white;
width: 75%;
}
.container1 {
display: flex;
align-items: center;
justify-content: center;
float: left;
}
img1 {
max-width: 25%;
max-height: 15%;
float: left;
border-radius: 30px;
height: 180px;
width: 250px;
}
.text1 {
font-size: 14px;
padding-left: 20px;
float: left;
}
</style>
<button class="btn btn-block btn-gs-variant threeLinesText">2022/2023 CAO ANNUAL REPORT - PART 2</button>
<button type="button" class="collapsible"><style="text-decoration: none;"="">
<font color="#337ab7">➧ </font>
<font color="#337ab7">Read more </font>
</style="text-decoration:></button>
<div class="contentfaq">
<div>
<div class="container1">
<div class="image1">
<img src="download/AR23.png" "height=" 180px" width="250px">
</div>
<div class="text1">
<p>Click to view the <a href="https://www.caoannualreport.co.za/" style="text-decoration: none" target="_blank" ;=""><font color="#337ab7">2022/2023 CAO Annual Report</font></a> </p>
</div>
</div>
</div>
</div><br>
<script>
var coll = document.getElementsByClassName("collapsible");
var i;
for (i = 0; i < coll.length; i++) {
coll[i].addEventListener("click", function() {
this.classList.toggle("active");
var content = this.nextElementSibling;
if (content.style.display === "block") {
content.style.display = "none";
} else {
content.style.display = "block";
}
});
}
</script>
<br>
<button class="btn btn-block btn-gs-variant threeLinesText">COMPLIANCE DOCUMENTS</button>
<p> <a href="/download/POPI_2013-004.pdf" target="_blank" style="text-decoration: none;"><font color="#337ab7">• View or Download the Protection of Personal Information Act (POPI)</font></a> </p>
<p><a href="/download/CAO PAIA Manual_Fin2.pdf" target="_blank" style="text-decoration: none;"><font color="#337ab7">• View or Download the Promotion of Access to Information Act</font></a> </p>
</span>
<br>
<br><br>
</td>
</tr>
</tbody>
</table>
<table id="ctl00_ContentPlaceHolder1_NewsItem2" cellspacing="0" border="0" style="border-collapse:collapse;">
<tbody>
<tr>
<td>
<span id="ctl00_ContentPlaceHolder1_NewsItem2_ctl00_htmltextLabel"></span>
<br><br>
</td>
</tr>
</tbody>
</table>
<button id="default-close-button" class="closeprogchangeslink">Close</button>
</div>
</div>
</div>
<div id="ProgChangesDiv" class="ProgChangesClass">
<div id="ProgChangesDivContent" class="content">
<div id="prog-changes-header"> PROGRAMME CHANGES <span onclick="hide('ProgChangesDiv')" style="float:right; padding-right:20px"><span> X </span></span>
</div>
<br>
<div id="prog-changes-content">
<table id="ctl00_ContentPlaceHolder1_DataList1" cellspacing="0" border="0" style="border-collapse:collapse;">
<tbody>
<tr>
<td>
<span id="ctl00_ContentPlaceHolder1_DataList1_ctl00_htmltextLabel">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
li {
list-style: none;
background: url(../../images/list-bullet-01-link.gif) no-repeat 0 0.8em;
font-size: 15px;
padding: 0.2em 0 0.2em 1em;
margin-left: 0.4em;
}
p {
font-size: 15px;
}
</style>
<p></p>
<p><b><font color="red">NOTE:</font></b></p>
<font color="red">
<p>
<font color="red" ,font-size:="" 15px;="">An entry in the Handbook/website does not oblige the institution to offer the programme as institutions continually assess their programmes and may decide to discontinue programmes
and/or change the minimum entrance requirements during an application cycle.</font>
</p>
<font color="red" ,font-size:="" 15px;="">
<li class="li">
</li>
<li><a href="/download/New Programmes Not Listed in the Handbook - 26.08.2024.pdf" style="text-decoration: none;"><font color="#337ab7">New Programmes Not Listed in the Handbook</font></a></li>
<li><a href="/download/Closing Date Changes - 07.08.2024.pdf" style="text-decoration: none;"><font color="#337ab7">Closing Date Changes</font></a></li>
<li><a href="/download/Discontinued Programmes - 19.08.2024.pdf" style="text-decoration: none;"><font color="#337ab7">Discontinued Programmes</font></a></li>
<li><a href="/download/Entry Requirement Changes 2025 Entry_19.09.2024.pdf" style="text-decoration: none;"><font color="#337ab7">Entry Requirement Changes</font></a></li>
</font>
</font>
</span>
<font color="red">
<font color="red" ,font-size:="" 15px;="">
<br><br>
</font>
</font>
</td>
</tr>
</tbody>
</table>
<button id="prog-changes-button">Close</button>
</div>
</div>
</div>
</div>
</div>
<div class="clear">
</div>
<!--
FOOTER
-->
<div id="footer"> Copyright © 2021 Central Applications Office <div class="master-error-div">
<a href="javascript:ReportError('http://cao.ac.za//ReportError.aspx');">Report an error</a>
</div>
</div>
<div id="footer-sub">
</div>
<script type="text/javascript">
//<![CDATA[
var ctl00_Menu1_Data = new Object();
ctl00_Menu1_Data.disappearAfter = 500;
ctl00_Menu1_Data.horizontalOffset = 0;
ctl00_Menu1_Data.verticalOffset = 0;
ctl00_Menu1_Data.iframeUrl = '/WebResource.axd?d=L2qJOcECpWpzu1R4Zq7_2hj8gwwKhYncmUXUSu0sugxTwjg5RRlCGuVo2tcOsnc6tvGhOMQj__oI-ylxiW1_ZeZd9Cg1&t=638313862859278837';
Sys.Application.initialize();
//]]>
</script>
</form>
Text Content
Central Applications Office skip to the main content area of this page Home Apply Payments Member Institutions About CAO Contact Us Login Already applied? Use ‘Check my Application’ to follow the progress of your application. CLICK ON THE BELOW BANNER TO VIEW THE INSTITUTION'S WEBSITE UPLOAD MY DOCUMENTS CHECK MY APPLICATION CHANGE OF MIND UPDATE MY DETAILS AVAILABLE PROGRAMMES DON'T KNOW WHAT TO STUDY? IMPORTANT NOTICES AND NEWS NOTICE OF PROGRAMME CHANGES QUALIFICATION TYPES Facebook Visit us! IMPORTANT NOTICES X KZN HIGH SCHOOL ARTS COMPETITION ➧ Click here for more information × Celebrating Young Talent: The CAO KZN High Schools Arts Competition 2024 Art is more than just an expression—its a powerful platform for young voices to be seen and heard. In 2023, Central Applications Office (CAO) in Durban recognized this and launched the CAO KZN High Schools Arts Competition, giving high school learners across the province a unique opportunity to showcase their creativity. The competitions overwhelming success has paved the way for it to become an anticipated annual event, sparking excitement among young artists year after year. The aim of this annual event goes beyond just showcasing artwork. Its about empowering young artists to explore their creative potential and guiding them in their artistic journey. By offering access to a professional exhibition and recognition for their talents, the competition serves as a stepping stone for many budding artists. Adding to this is the educational element, which helps guide and nurture young talent, ensuring they have the tools and support they need to pursue their passion for the arts. An exciting aspects of this competition is the significant prize money awarded to both the winning learners and their schools. This not only acknowledges individual talent but also fosters a province-wide environment of excellence and creativity. With each passing year, more and more learners are eager to participate, making this competition a highlight of the school calendar. This years competition was made even more special with Gagasi FM broadcasting live from the exhibition. The live coverage brought an electrifying atmosphere to the event, with interviews and on-the-spot reactions from the young artists, adding a layer of excitement and fun. We are now gearing up for the grand prize-giving event, where the Top 50 finalists will be celebrated, and the winners will be announced. Its a moment of pride not just for the learners but also for their schools, families and communities. We can’t wait to see how this competition continues to grow and inspire future generations of artists in KwaZulu-Natal. Heres to creativity, passion, and the incredible young talent that makes this event so special! × UKZN DEGREE TRANSFER STUDENTS ➧ Click here for more info 2025 ENTRY HANDBOOK ➧ Read more Download View Ebook Online LEARNER GUIDE, VIDEO TUTORIALS & FREQUENTLY ASKED QUESTIONS ➧ 2025 Entry Online Application Guide 2025 Entry Online Application Guide • Click HERE to view ➧ Video Tutorials • Video tutorial on how to Upload Documents • Video tutorial on how to complete a Change of Mind ➧ Frequently Asked Questions • About the CAO • Finding Available Programmes • Ways of Applying • Administration Fees • Upload documents • Change of Minds • Finance Related Queries • Institution Selections • International Applicants • General • Are you experiencing a problem online ADMIN FEE STRUCTURE ➧ Read more Your single administration fee allows you to apply for a combination of up to SIX programmes at any of our member and partner institutions in KZN Click HERE to view the CAO Admin Structure and Ways to Pay the Admin Fee. POWER OF ATTORNEY FORM ➧ Read more You must print and sign a Power of Attorney Form and upload onto your CAO application profile Download Here EXPLAINING HOW LATE APPLICATIONS WORK ➧ Late Payment Unlike programmes, which may all have different closing dates, there is ONE date on which LATE PAYMENTS take effect; i.e. 01 NOVEMBER All applications and/or administration fees received from 01 November will attract the “Late Payment” status and will be liable for the late fee applicable at the time (usually, but not always double the “On Time” administration fee). ➧ Application Closed Programmes that have reached or passed the advertised closing date and are advertised with the note: “No Late Applications will be considered” will receive the “Programme Close” status. This means that for such programmes no programme applications or administration fees received after the closing date will be considered by that institution. Examples are medicine, some health sciences, and some education programmes. ➧ Late Application or Application Late Each of the advertised programmes has a closing date. The closing date for each programme can be different; eg. B Health Science: Diagnostic Radiography (DU-D-RAD) has a closing date of 31 August while B Health Sciences in Medical Laboratory Science (DU-D-BLS) has a closing date of 30 September. Both programmes are for 2025 Entry. Any applications and the fully paid administration fee received ON or BEFORE the advertised closing date will receive the status “WAITING FOR A DECISION”. This status indicates that the application is “On-Time” and will receive priority consideration by the institution/s to which you have applied. The administration fee would be the advertised “On Time” fee. Even though the programmes’ closing date may have been reached or passed, applicants may still apply for them, but such applications will receive the “Late Application/Application Late” status and will be considered AFTER all the “On Time” applications have been considered. The administration fee remains that for “On Time” applications. 2022/2023 CAO ANNUAL REPORT - PART 2 ➧ Read more Click to view the 2022/2023 CAO Annual Report COMPLIANCE DOCUMENTS • View or Download the Protection of Personal Information Act (POPI) • View or Download the Promotion of Access to Information Act Close PROGRAMME CHANGES X NOTE: An entry in the Handbook/website does not oblige the institution to offer the programme as institutions continually assess their programmes and may decide to discontinue programmes and/or change the minimum entrance requirements during an application cycle. New Programmes Not Listed in the Handbook Closing Date Changes Discontinued Programmes Entry Requirement Changes Close Copyright © 2021 Central Applications Office Report an error