kuasha/cosmos

View on GitHub
cosmos/admin/samples/simpledef.py

Summary

Maintainability
A
0 mins
Test Coverage
# ------------------------------------------------- #
# Auto generated. Modification will be overwritten. #
# ------------------------------------------------- #

import base64

file_data_list=[
{
'name': '/app/login.html', 'data': base64.b64decode(b'PCFET0NUWVBFIGh0bWw+CjxodG1sIG5nLWFwcD0iY29zbW9zQXBwIj4KPGhlYWQgbGFuZz0iZW4iPgogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAgPHRpdGxlPkNvc21vcyBzZXJ2aWNlIGNvbnN1bWVyPC90aXRsZT4KPC9oZWFkPgo8Ym9keSAgcm9sZT0iZG9jdW1lbnQiIG5nLWNvbnRyb2xsZXI9IlNlcnZpY2VDb25zdW1lckN0cmwiPgogICAgPGRpdiBjbGFzcz0ibmF2YmFyIG5hdmJhci1pbnZlcnNlIG5hdmJhci1maXhlZC10b3AiIHJvbGU9Im5hdmlnYXRpb24iPgogICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9Im5hdmJhci1oZWFkZXIiPgogICAgICAgICAgPGEgY2xhc3M9Im5hdmJhci1icmFuZCIgaHJlZj0iLyI+Q29zbW9zIEZyYW1ld29yazwvYT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJuYXZiYXItY29sbGFwc2UgY29sbGFwc2UiPgogICAgICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2YmFyLW5hdiI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iYWN0aXZlIj48YSBocmVmPSIvIj5Ib21lPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iIG5nLXNob3c9ImxvZ2dlZEluKCkiPgogICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biIgbmctYmluZD0idXNlck5hbWUiPjxiIGNsYXNzPSJjYXJldCI+PC9iPjwvYT4KICAgICAgICAgICAgICA8dWwgY2xhc3M9ImRyb3Bkb3duLW1lbnUiPgogICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9sb2dvdXQvIj5Mb2dvdXQ8L2E+PC9saT4KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZGl2aWRlciI+PC9saT4KICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIjIj5TZXR0aW5nczwvYT48L2xpPgogICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgIDwvZGl2PjwhLS0vLm5hdi1jb2xsYXBzZSAtLT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIgdGhlbWUtc2hvd2Nhc2UiIHJvbGU9Im1haW4iPgogICAgICAgICAgPGRpdiBjbGFzcz0ianVtYm90cm9uIj4KICAgICAgICAgICAgPGgzICBuZy1zaG93PSIhbG9nZ2VkSW4oKSI+TG9naW48L2gzPgogICAgICAgICAgICA8ZGl2ICBuZy1zaG93PSIhbG9nZ2VkSW4oKSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYnRuIGJ0bi1zbWFsbCBidG4tcHJpbWFyeSIgaHJlZj0iL2xvZ2luL2dvb2dsZS8iPkdvb2dsZTwvYT4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLXNtYWxsIGJ0bi1wcmltYXJ5IiBocmVmPSIvbG9naW4vZmFjZWJvb2tncmFwaC8iPkZhY2Vib29rPC9hPgogICAgICAgICAgICAgICAgPGJyIC8+CiAgICAgICAgICAgICAgICA8aHIgLz4KICAgICAgICAgICAgICAgIDxmb3JtIGFjdGlvbj0iL2xvZ2luL29wZW5pZC8iIG1ldGhvZD0iZ2V0Ij4KICAgICAgICAgICAgICAgICAgICA8bGFiZWw+T3BlbmlkPC9sYWJlbD48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ib3BlbmlkLm9wX2VuZHBvaW50Ij4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iTG9naW4iPgogICAgICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICAgICAgPGhyIC8+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8Zm9ybSBuZy1zaG93PSIhbG9nZ2VkSW4oKSIgcm9sZT0iZm9ybSIgbWV0aG9kPSJwb3N0IiBhY3Rpb249Ii9sb2dpbi8iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlVzZXIgbmFtZTwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPSJmb3JtLWNvbnRyb2wiIGlkPSJ1c2VybmFtZSIgdHlwZT0idGV4dCIgbmFtZT0idXNlcm5hbWUiLz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsPlBhc3N3b3JkPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvcm0tY29udHJvbCIgdHlwZT0icGFzc3dvcmQiIGlkPSJwYXNzd29yZCIgbmFtZT0icGFzc3dvcmQiIC8+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJMb2dpbiIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIgLz4KICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICAgPGRpdiBuZy1zaG93PSJsb2dnZWRJbigpIj5XZWxjb21lPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGlkPSJzdGF0dXMiPjwvZGl2PgogICAgPC9kaXY+CgogICAgPHNjcmlwdCBzcmM9Ii8vYWpheC5nb29nbGVhcGlzLmNvbS9hamF4L2xpYnMvanF1ZXJ5LzEuMTEuMS9qcXVlcnkubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSIvL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2FuZ3VsYXJqcy8xLjIuMTcvYW5ndWxhci5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMS4xL2pzL2Jvb3RzdHJhcC5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii9zZXJ2aWNlYXBpLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSIvY29udHJvbGxlcnMuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvL25ldGRuYS5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjEuMS9jc3MvYm9vdHN0cmFwLm1pbi5jc3MiPgo8L2JvZHk+CjwvaHRtbD4K')
},
{
'name': '/app/serviceapi.js', 'data': base64.b64decode(b'LyoqCiAqIENyZWF0ZWQgYnkgTWFydWYgTWFuaXJ1enphbWFuIChtYXJ1Zm1AY29zbW9zZnJhbWV3b3JrLmNvbSkgb24gNi8xNC8xNC4KICovCgpmdW5jdGlvbiBwcm9jZXNzRXJyb3IoanFYSFIsIHRleHRTdGF0dXMsIGVycm9yVGhyb3duKXsKICAgIGpRdWVyeSgiI3N0YXR1cyIpLmh0bWwoIjxoMz5FcnJvcjwvaDM+PGRpdj4iK2Vycm9yVGhyb3duKyI8L2Rpdj4iKTsKfQoKZnVuY3Rpb24gcHJvY2Vzc1N1Y2Nlc3MoZGF0YSl7CiAgICB2YXIgZGF0YTIgPSBKU09OLnBhcnNlKGRhdGEpOwogICAgalF1ZXJ5KCIjcmVzdWx0IikudmFsKEpTT04uc3RyaW5naWZ5KGRhdGEyLHVuZGVmaW5lZCwgMikpOwp9CgpmdW5jdGlvbiBnZXRTZXJ2aWNlVXJsKHNlcnZpY2UpIHsKICAgIHZhciByb290ID0gZG9jdW1lbnQuVVJMOwogICAgaWYoc2VydmljZVswXSA9PSAnLycpewogICAgICAgIHNlcnZpY2UgPSBzZXJ2aWNlLnN1YnN0cmluZygxKTsKICAgIH0KICAgIHJldHVybiByb290K3NlcnZpY2U7Cn0KCmZ1bmN0aW9uIGRvX29wZXJhdGlvbih1cmwsIG1ldGhvZCwgZGF0YSwgY2FsbGJhY2ssIGVycm9yX2NhbGxiYWNrKXsKICAgIGpRdWVyeSgiI3Jlc3VsdCIpLnZhbCgiIik7CiAgICBqUXVlcnkoIiNzdGF0dXMiKS5odG1sKCIiKTsKICAgIGNvbnNvbGUubG9nKG1ldGhvZCsgIjogIit1cmwpCiAgICAkLmFqYXgoewogICAgICAgIHVybDogdXJsLAogICAgICAgIHR5cGU6IG1ldGhvZCwKICAgICAgICBkYXRhOmRhdGEsCiAgICAgICAgc3VjY2VzczogY2FsbGJhY2ssCiAgICAgICAgZXJyb3I6IGVycm9yX2NhbGxiYWNrCiAgICB9KTsKfQoKZnVuY3Rpb24gaW5zZXJ0U2VydmljZSgpewogICAgdmFyIG5hbWUgPSBqUXVlcnkoIiNuYW1lIikudmFsKCk7CiAgICB2YXIgZGF0YSA9IGpRdWVyeSgiI2RhdGEiKS52YWwoKTsKCiAgICB2YXIgdXJsID0gIGdldFNlcnZpY2VVcmwobmFtZSk7CiAgICBkb19vcGVyYXRpb24odXJsLCAnUE9TVCcsIGRhdGEsIHByb2Nlc3NTdWNjZXNzLCBwcm9jZXNzRXJyb3IpOwp9CgpmdW5jdGlvbiBkZWxldGVJdGVtKCl7CiAgICB2YXIgbmFtZSA9IGpRdWVyeSgiI25hbWUiKS52YWwoKTsKICAgIHZhciBkYXRhID0galF1ZXJ5KCIjZGF0YSIpLnZhbCgpOwoKICAgIHZhciB1cmwgPSAgZ2V0U2VydmljZVVybChuYW1lKTsKCiAgICBkb19vcGVyYXRpb24odXJsLCAnREVMRVRFJywgZGF0YSwgcHJvY2Vzc1N1Y2Nlc3MsIHByb2Nlc3NFcnJvcik7Cn0KCmZ1bmN0aW9uIGxvYWRJdGVtKCl7CiAgICB2YXIgbmFtZSA9IGpRdWVyeSgiI25hbWUiKS52YWwoKTsKICAgIHZhciBkYXRhID0galF1ZXJ5KCIjZGF0YSIpLnZhbCgpOwogICAgdmFyIGNvbHVtbnMgPSBqUXVlcnkoIiNjb2x1bW5zIikudmFsKCk7CiAgICB2YXIgZmlsdGVyID0galF1ZXJ5KCIjZmlsdGVyIikudmFsKCk7CgogICAgdmFyIHVybCA9ICBnZXRTZXJ2aWNlVXJsKG5hbWUpOwogICAgaWYoY29sdW1ucyl7CiAgICAgICAgdXJsID0gdXJsKyI/IjsKICAgICAgICB1cmwgPXVybCsgImNvbHVtbnM9Iitjb2x1bW5zOwogICAgfQogICAgaWYoZmlsdGVyKXsKICAgICAgICBpZighY29sdW1ucykgewogICAgICAgICAgICB1cmwgPSB1cmwgKyAiPyI7CiAgICAgICAgfQogICAgICAgIGVsc2V7CiAgICAgICAgICAgIHVybD11cmwrIiYiOwogICAgICAgIH0KICAgICAgICB1cmwgPSB1cmwrImZpbHRlcj0iK2ZpbHRlcgogICAgfQoKICAgIGRvX29wZXJhdGlvbih1cmwsICdHRVQnLCBkYXRhLCBwcm9jZXNzU3VjY2VzcyAscHJvY2Vzc0Vycm9yKTsKfQoKZnVuY3Rpb24gdXBkYXRlSXRlbSgpewogICAgdmFyIG5hbWUgPSBqUXVlcnkoIiNuYW1lIikudmFsKCk7CiAgICB2YXIgZGF0YSA9IGpRdWVyeSgiI2RhdGEiKS52YWwoKTsKCiAgICB2YXIgdXJsID0gIGdldFNlcnZpY2VVcmwobmFtZSk7CgogICAgZG9fb3BlcmF0aW9uKHVybCwgJ1BVVCcsIGRhdGEsIHByb2Nlc3NTdWNjZXNzLCBwcm9jZXNzRXJyb3IpOwp9CgpmdW5jdGlvbiBzdWJzY3JpYmUgKG1vbml0b3JfZW5kcG9pbnQsIG9iamVjdF9uYW1lLCBjYWxsYmFjaykgewogICAgLy9UT0RPOiBVbmlmeSB0aGUgb2JzZXJ2ZXIgdG8gbGlzdGVuIHRvIG1hbnkgb2JqZWN0cyBhdCBhIHRpbWUgdXNpbmcgZGlmZmVyZW50IGNhbGxiYWNrCiAgICAvL3ZhciBtb25pdG9yX2VuZHBvaW50ID0gIndzOi8vbG9jYWxob3N0OjgwODAvY2hhbmdlbW9uaXRvciIKICAgIHZhciB3ZWJzb2NrZXQgPSBuZXcgV2ViU29ja2V0KG1vbml0b3JfZW5kcG9pbnQpOwogICAgdmFyIGZuID0gY2FsbGJhY2s7CiAgICB3ZWJzb2NrZXQub25vcGVuID0gZnVuY3Rpb24gKCkgewogICAgICAgIGNvbnNvbGUubG9nKCJTb2NrZXQgb3BlbmVkIik7CiAgICAgICAgd2Vic29ja2V0LnNlbmQoSlNPTi5zdHJpbmdpZnkoeyJ0eXBlIjogIm1vbml0b3JfbnMiLCAibnMiOiBvYmplY3RfbmFtZX0pKQogICAgfQoKICAgIHdlYnNvY2tldC5vbm1lc3NhZ2UgPSBmdW5jdGlvbiAoZXZ0KSB7CiAgICAgICAgY29uc29sZS5sb2coIk9uIG1lc3NhZ2U6ICIgKyBldnQuZGF0YSk7CiAgICAgICAgaWYgKGZuKSB7CiAgICAgICAgICAgIGZuKGV2dC5kYXRhKTsKICAgICAgICAgICAgLyoKICAgICAgICAgICAgIC8vSW4gY2FsbGJhY2sgeW91IG1heSBkbyBzb21ldGhpbmcgbGlrZSAoYWxzbyBjb25zaWRlciB0aGUgZXZ0LmRhdGEgaWYgeW91IGFyZSBtb25pdG9yaW5nIG11bHRpcGxlIG9iamVjdHMuOgogICAgICAgICAgICAgJGh0dHAuZ2V0KCcvc2VydmljZS8nK29iamVjdF9uYW1lKycvJykuc3VjY2VzcyhmdW5jdGlvbihkYXRhKSB7CiAgICAgICAgICAgICAkc2NvcGUuZGF0YSA9IGRhdGE7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICovCiAgICAgICAgfQoKICAgIH0KCiAgICB3ZWJzb2NrZXQub25jbG9zZSA9IGZ1bmN0aW9uICgpIHsKICAgICAgICBjb25zb2xlLmxvZygiT24gY2xvc2VkIik7CiAgICB9Cn0=')
},
{
'name': '/app/controllers.js', 'data': base64.b64decode(b'LyoqCiAqIENyZWF0ZWQgYnkgTWFydWYgTWFuaXJ1enphbWFuIG9uIDYvMTYvMTQuCiAqLwoKdmFyIGNvc21vc0FwcCA9IGFuZ3VsYXIubW9kdWxlKCdjb3Ntb3NBcHAnLCBbXSk7CgpmdW5jdGlvbiBnZXRDb29raWUobmFtZSkgewogIHZhciB2YWx1ZSA9ICI7ICIgKyBkb2N1bWVudC5jb29raWU7CiAgdmFyIHBhcnRzID0gdmFsdWUuc3BsaXQoIjsgIiArIG5hbWUgKyAiPSIpOwogIGlmIChwYXJ0cy5sZW5ndGggPT0gMikgcmV0dXJuIHBhcnRzLnBvcCgpLnNwbGl0KCI7Iikuc2hpZnQoKTsKfQoKZnVuY3Rpb24gZ2V0VXNlck5hbWUoZGVmYXVsdF91c2VyKXsKICAgIHZhciB1c2VyQ29va2llID0gZ2V0Q29va2llKCJ1c2VyIik7CiAgICBpZih1c2VyQ29va2llKXsKICAgICAgICB1c2VyQ29va2llID0gdXNlckNvb2tpZS5yZXBsYWNlKC9cIi9nLCAiIikKICAgICAgICB2YXIgZGVjb2RlZCA9IEpTT04ucGFyc2Uod2luZG93LmF0b2IodXNlckNvb2tpZSkpOwogICAgICAgIHJldHVybiBkZWNvZGVkWyJ1c2VybmFtZSJdIHx8IGRlZmF1bHRfdXNlcjsKICAgIH0KCiAgICByZXR1cm4gZGVmYXVsdF91c2VyOwp9CgpmdW5jdGlvbiBsb2dnZWRJbigpewogICAgICAgIHZhciB1c2VyQ29va2llID0gZ2V0Q29va2llKCJ1c2Vyc2VjcmV0Iik7CiAgICAgICAgaWYodXNlckNvb2tpZSl7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZmFsc2U7Cn0KCmNvc21vc0FwcC5jb250cm9sbGVyKCdTZXJ2aWNlQ29uc3VtZXJDdHJsJywgZnVuY3Rpb24gKCRzY29wZSwgJGh0dHApIHsKICAgICRzY29wZS51c2VyTmFtZSA9IGdldFVzZXJOYW1lKCJObyBOYW1lIik7CiAgICAkc2NvcGUubG9nZ2VkSW4gPSBsb2dnZWRJbjsKfSk7')
},
{
'name': '/app/index.html', 'data': base64.b64decode(b'PCFET0NUWVBFIGh0bWw+CjxodG1sIG5nLWFwcD0iY29zbW9zQXBwIj4KPGhlYWQgbGFuZz0iZW4iPgogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAgPHRpdGxlPkNvc21vcyBzZXJ2aWNlIGNvbnN1bWVyPC90aXRsZT4KPC9oZWFkPgo8Ym9keSAgcm9sZT0iZG9jdW1lbnQiIG5nLWNvbnRyb2xsZXI9IlNlcnZpY2VDb25zdW1lckN0cmwiPgogICAgPGRpdiBjbGFzcz0ibmF2YmFyIG5hdmJhci1pbnZlcnNlIG5hdmJhci1maXhlZC10b3AiIHJvbGU9Im5hdmlnYXRpb24iPgogICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9Im5hdmJhci1oZWFkZXIiPgogICAgICAgICAgPGEgY2xhc3M9Im5hdmJhci1icmFuZCIgaHJlZj0iLyI+Q29zbW9zIEZyYW1ld29yazwvYT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJuYXZiYXItY29sbGFwc2UgY29sbGFwc2UiPgogICAgICAgICAgPHVsIGNsYXNzPSJuYXYgbmF2YmFyLW5hdiI+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iYWN0aXZlIj48YSBocmVmPSIvIj5Ib21lPC9hPjwvbGk+CiAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iIG5nLXNob3c9ImxvZ2dlZEluKCkiPgogICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJkcm9wZG93bi10b2dnbGUiIGRhdGEtdG9nZ2xlPSJkcm9wZG93biI+PHNwYW4gbmctYmluZD0idXNlck5hbWUiPjwvc3Bhbj48YiBjbGFzcz0iY2FyZXQiPjwvYj48L2E+CiAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51Ij4KICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSIvbG9nb3V0LyI+TG9nb3V0PC9hPjwvbGk+CiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRpdmlkZXIiPjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyI+U2V0dGluZ3M8L2E+PC9saT4KICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2xpPgogICAgICAgICAgICA8bGkgbmctc2hvdz0iIWxvZ2dlZEluKCkiPjxhIGhyZWY9Ii8jL2xvZ2luLyI+TG9naW48L2E+PC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9kaXY+PCEtLS8ubmF2LWNvbGxhcHNlIC0tPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciB0aGVtZS1zaG93Y2FzZSIgcm9sZT0ibWFpbiI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJqdW1ib3Ryb24iPgogICAgICAgICAgIDxoMz5PcGVyYXRpb25zPC9oMz4KICAgICAgICAgICAgPGZvcm0gcm9sZT0iZm9ybSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICA8bGFiZWw+U2VydmljZSBVUkwgKHJlbGF0aXZlKSAqPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvcm0tY29udHJvbCIgaWQ9Im5hbWUiIHR5cGU9InRleHQiIG5hbWU9Im5hbWUiIHZhbHVlPSIvc2VydmljZS8iIC8+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5Db2x1bW5zIFtHRVRdPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvcm0tY29udHJvbCIgaWQ9ImNvbHVtbnMiIHR5cGU9InRleHQiIG5hbWU9ImNvbHVtbnMiICAvPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICA8bGFiZWw+RmlsdGVyIFtHRVRdPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9ImZvcm0tY29udHJvbCIgaWQ9ImZpbHRlciIgdHlwZT0idGV4dCIgbmFtZT0idmlsdGVyIiAvPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICA8bGFiZWw+RGF0YSBbKiBQT1NUfFBVVF08L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBjbGFzcz0iZm9ybS1jb250cm9sIiBpZD0iZGF0YSIgbmFtZT0iZGF0YSI+PC90ZXh0YXJlYT4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbD5SZXN1bHQ8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBjbGFzcz0iZm9ybS1jb250cm9sIiBpZD0icmVzdWx0IiBuYW1lPSJyZXN1bHQiPjwvdGV4dGFyZWE+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIgb25jbGljaz0ibG9hZEl0ZW0oKSI+ICBHRVQgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IiBvbmNsaWNrPSJpbnNlcnRTZXJ2aWNlKCkiPiBQT1NUIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4taW5mbyIgb25jbGljaz0idXBkYXRlSXRlbSgpIj4gIFBVVCA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLWRhbmdlciIgb25jbGljaz0iZGVsZXRlSXRlbSgpIj5ERUxFVEU8L2J1dHRvbj4KICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICA8ZGl2IGlkPSJzdGF0dXMiPjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8c2NyaXB0IHNyYz0iLy9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnkvMS4xMS4xL2pxdWVyeS5taW4uanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii8vYWpheC5nb29nbGVhcGlzLmNvbS9hamF4L2xpYnMvYW5ndWxhcmpzLzEuMi4xNy9hbmd1bGFyLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iLy9uZXRkbmEuYm9vdHN0cmFwY2RuLmNvbS9ib290c3RyYXAvMy4xLjEvanMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IHNyYz0iL3NlcnZpY2VhcGkuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Ii9jb250cm9sbGVycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii8vbmV0ZG5hLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMS4xL2Nzcy9ib290c3RyYXAubWluLmNzcyI+CjwvYm9keT4KPC9odG1sPg==')
}]