{"id":36954,"date":"2026-06-24T18:46:10","date_gmt":"2026-06-24T11:46:10","guid":{"rendered":"https:\/\/www.angkorphotographytours.com\/?page_id=36954"},"modified":"2026-06-24T18:46:10","modified_gmt":"2026-06-24T11:46:10","slug":"calendrier-voyages-photos-en-asie","status":"publish","type":"page","link":"https:\/\/www.angkorphotographytours.com\/fr\/calendrier-voyages-photos-en-asie\/","title":{"rendered":"Calendrier des voyages photos en Asie"},"content":{"rendered":"<div class=\"wpb-content-wrapper\">[vc_row full_width=\u00a0\u00bbstretch_row_content_no_spaces\u00a0\u00bb][vc_column][vc_raw_html css=\u00a0\u00bb\u00a0\u00bb]PGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tIj48YnI+PGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tIiBjcm9zc29yaWdpbj48YnI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI\/ZmFtaWx5PUNvcm1vcmFudCtHYXJhbW9uZDppdGFsLHdnaHRAMCw0MDA7MCw2MDA7MSw0MDAmZmFtaWx5PUpvc3Q6d2dodEAzMDA7NDAwOzUwMDs2MDA7NzAwJmRpc3BsYXk9c3dhcCI+PGJyPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvZm9udC1hd2Vzb21lLzYuMC4wL2Nzcy9hbGwubWluLmNzcyI+PGJyPjxicj48c3R5bGU+DQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAgIENBTEVORFJJRVIgVk9ZQUdFUyBQSE9UT0dSQVBISVFVRVMg4oCUIFZFUlNJT04gRlJBTsOHQUlTRQ0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQouY3B0LWNhbGVuZGFyIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgd2lkdGg6IDEwMHZ3Ow0KICAgIGxlZnQ6IDUwJTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7DQogICAgbWF4LXdpZHRoOiAxMDB2dzsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIGJhY2tncm91bmQ6ICNmYWY4ZjU7DQogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCn0NCg0KLyogQmFycmUgZG9yw6llIHN1cMOpcmlldXJlICovDQouY3B0LWNhbGVuZGFyOjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICcnOw0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgbGVmdDogMDsNCiAgICByaWdodDogMDsNCiAgICBoZWlnaHQ6IDNweDsNCiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50IDUlLCAjQzk2MDFBIDI1JSwgI0Q0QTk2QSA1MCUsICNDOTYwMUEgNzUlLCB0cmFuc3BhcmVudCA5NSUpOw0KICAgIHotaW5kZXg6IDM7DQp9DQoNCi8qIEF0bW9zcGjDqHJlIGRlIGZvbmQgZW4gY291Y2hlcyAqLw0KLmNwdC1jYWxlbmRhcjo6YWZ0ZXIgew0KICAgIGNvbnRlbnQ6ICcnOw0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBpbnNldDogMDsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOg0KICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSA2MDBweCA0MDBweCBhdCAxNSUgMjAlLCByZ2JhKDIxMiwgMTY5LCAxMDYsIDAuMDYpIDAlLCB0cmFuc3BhcmVudCAxMDAlKSwNCiAgICAgICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgNTAwcHggNTAwcHggYXQgODUlIDc1JSwgcmdiYSgyMDEsIDk2LCAyNiwgMC4wNCkgMCUsIHRyYW5zcGFyZW50IDEwMCUpLA0KICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSAzMDBweCAzMDBweCBhdCA1MCUgNTAlLCByZ2JhKDIxMiwgMTY5LCAxMDYsIDAuMDIpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTsNCiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsNCiAgICB6LWluZGV4OiAxOw0KfQ0KDQovKiBUZXh0dXJlIHN1YnRpbGUgZGUgcG9pbnRzICovDQouY3B0LWNhbGVuZGFyX190ZXh0dXJlIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgaW5zZXQ6IDA7DQogICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KHJnYmEoMTM5LCAxMTUsIDg1LCAwLjAzNSkgMXB4LCB0cmFuc3BhcmVudCAxcHgpOw0KICAgIGJhY2tncm91bmQtc2l6ZTogMjRweCAyNHB4Ow0KICAgIHBvaW50ZXItZXZlbnRzOiBub25lOw0KICAgIHotaW5kZXg6IDE7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX2lubmVyIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgei1pbmRleDogMjsNCiAgICBtYXgtd2lkdGg6IDExMDBweDsNCiAgICBtYXJnaW46IDAgYXV0bzsNCiAgICBwYWRkaW5nOiBjbGFtcCg1MnB4LCA2dncsIDgwcHgpIGNsYW1wKDIwcHgsIDR2dywgNDhweCkgY2xhbXAoNDBweCwgNXZ3LCA2NHB4KTsNCn0NCg0KLyog4pSA4pSAIEVuLXTDqnRlIOKAlCBnbGlzc2VtZW50IGRlIDRzIOKUgOKUgCAqLw0KLmNwdC1jYWxlbmRhcl9faGVhZGVyIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbWFyZ2luLWJvdHRvbTogY2xhbXAoMzZweCwgNC41dncsIDU2cHgpOw0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpOw0KICAgIHRyYW5zaXRpb246IG9wYWNpdHkgNHMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpLCB0cmFuc2Zvcm0gNHMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19oZWFkZXIuY3B0LXJldmVhbGVkIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCn0NCg0KLmNwdC1jYWxlbmRhcl9faWNvbi13cmFwIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIHdpZHRoOiA2MHB4Ow0KICAgIGhlaWdodDogNjBweDsNCiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCAjQzk2MDFBLCAjRDRBOTZBKTsNCiAgICBib3JkZXItcmFkaXVzOiA1MCU7DQogICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXNpemU6IDEuMjVyZW07DQogICAgYm94LXNoYWRvdzoNCiAgICAgICAgMCA0cHggMjBweCByZ2JhKDIwMSwgOTYsIDI2LCAwLjMpLA0KICAgICAgICAwIDAgMCA2cHggcmdiYSgyMDEsIDk2LCAyNiwgMC4wNik7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQovKiBBbm5lYXUgYW5pbcOpIGF1dG91ciBkZSBsJ2ljw7RuZSAqLw0KLmNwdC1jYWxlbmRhcl9faWNvbi13cmFwOjphZnRlciB7DQogICAgY29udGVudDogJyc7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGluc2V0OiAtOHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDUwJTsNCiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIwMSwgOTYsIDI2LCAwLjEyKTsNCiAgICBhbmltYXRpb246IGNwdC1yaW5nLWJyZWF0aGUgM3MgZWFzZS1pbi1vdXQgaW5maW5pdGU7DQp9DQoNCkBrZXlmcmFtZXMgY3B0LXJpbmctYnJlYXRoZSB7DQogICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyBvcGFjaXR5OiAxOyB9DQogICAgNTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTsgb3BhY2l0eTogMC40OyB9DQp9DQoNCi5jcHQtY2FsZW5kYXJfX292ZXJsaW5lIHsNCiAgICBmb250LWZhbWlseTogJ0pvc3QnLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMC43cmVtOw0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgbGV0dGVyLXNwYWNpbmc6IDAuMjVlbTsNCiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgIGNvbG9yOiAjQzk2MDFBOw0KICAgIG1hcmdpbjogMCAwIDAuNnJlbTsNCiAgICBkaXNwbGF5OiBibG9jazsNCn0NCg0KLmNwdC1jYWxlbmRhcl9fdGl0bGUgew0KICAgIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEdhcmFtb25kJywgR2VvcmdpYSwgc2VyaWY7DQogICAgZm9udC1zaXplOiBjbGFtcCgycmVtLCA0LjV2dywgM3JlbSk7DQogICAgZm9udC13ZWlnaHQ6IDYwMDsNCiAgICBjb2xvcjogIzJhMjExODsNCiAgICBsaW5lLWhlaWdodDogMS4xNTsNCiAgICBtYXJnaW46IDAgMCAwLjZyZW07DQp9DQoNCi5jcHQtY2FsZW5kYXJfX3RpdGxlIGVtIHsNCiAgICBmb250LXN0eWxlOiBpdGFsaWM7DQogICAgY29sb3I6ICNDOTYwMUE7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX3N1YnRpdGxlIHsNCiAgICBmb250LWZhbWlseTogJ0pvc3QnLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMC45NXJlbTsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGNvbG9yOiAjOGI3MzU1Ow0KICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07DQogICAgbWFyZ2luOiAwIDAgMS41cmVtOw0KfQ0KDQovKiDilIDilIAgQ29tcHRlIMOgIHJlYm91cnMg4pSA4pSAICovDQouY3B0LWNhbGVuZGFyX19jb3VudGRvd24gew0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgICBnYXA6IDA7DQogICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19jb3VudGRvd24tYmxvY2sgew0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIG1pbi13aWR0aDogNjRweDsNCn0NCg0KLmNwdC1jYWxlbmRhcl9fY291bnRkb3duLW51bSB7DQogICAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgR2FyYW1vbmQnLCBHZW9yZ2lhLCBzZXJpZjsNCiAgICBmb250LXNpemU6IGNsYW1wKDEuOHJlbSwgNHZ3LCAyLjZyZW0pOw0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgY29sb3I6ICMyYTIxMTg7DQogICAgbGluZS1oZWlnaHQ6IDE7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIG1pbi13aWR0aDogNDhweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgcGFkZGluZy1ib3R0b206IDZweDsNCiAgICBtYXJnaW4tYm90dG9tOiA2cHg7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjAxLCA5NiwgMjYsIDAuMTIpOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19jb3VudGRvd24tbGFiZWwgew0KICAgIGZvbnQtZmFtaWx5OiAnSm9zdCcsIHNhbnMtc2VyaWY7DQogICAgZm9udC1zaXplOiAwLjU4cmVtOw0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtOw0KICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogICAgY29sb3I6ICNhMzk0ODA7DQp9DQoNCi8qIFPDqXBhcmF0ZXVyIGRldXgtcG9pbnRzIGVudHJlIGxlcyBibG9jcyAqLw0KLmNwdC1jYWxlbmRhcl9fY291bnRkb3duLXNlcCB7DQogICAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgR2FyYW1vbmQnLCBHZW9yZ2lhLCBzZXJpZjsNCiAgICBmb250LXNpemU6IGNsYW1wKDEuNHJlbSwgM3Z3LCAycmVtKTsNCiAgICBjb2xvcjogI0Q0QTk2QTsNCiAgICBtYXJnaW46IDAgNnB4Ow0KICAgIHBhZGRpbmctYm90dG9tOiAyMHB4Ow0KICAgIHVzZXItc2VsZWN0OiBub25lOw0KICAgIG9wYWNpdHk6IDAuNjsNCn0NCg0KLyogTGliZWxsw6kgwqsgYXZhbnQgbGUgcHJvY2hhaW4gZMOpcGFydCDCuyAqLw0KLmNwdC1jYWxlbmRhcl9fY291bnRkb3duLXVudGlsIHsNCiAgICBmb250LWZhbWlseTogJ0pvc3QnLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMC42NXJlbTsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGNvbG9yOiAjYmZiM2EzOw0KICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07DQogICAgbWFyZ2luOiAwOw0KfQ0KDQovKiDDiXRhdCBleHBpcsOpICovDQouY3B0LWNhbGVuZGFyX19jb3VudGRvd24tZXhwaXJlZCB7DQogICAgZm9udC1mYW1pbHk6ICdKb3N0Jywgc2Fucy1zZXJpZjsNCiAgICBmb250LXNpemU6IDAuOHJlbTsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGNvbG9yOiAjQzk2MDFBOw0KICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07DQogICAgcGFkZGluZzogMC44cmVtIDA7DQp9DQoNCi8qIFPDqXBhcmF0ZXVyIGTDqWNvcmF0aWYgc291cyBsJ2VuLXTDqnRlICovDQouY3B0LWNhbGVuZGFyX19kaXZpZGVyIHsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogICAgZ2FwOiAxMnB4Ow0KICAgIG1hcmdpbi1ib3R0b206IGNsYW1wKDI4cHgsIDMuNXZ3LCA0MHB4KTsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgMC4zcyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSk7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX2RpdmlkZXIuY3B0LXJldmVhbGVkIHsNCiAgICBvcGFjaXR5OiAxOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19kaXZpZGVyLWxpbmUgew0KICAgIHdpZHRoOiA0OHB4Ow0KICAgIGhlaWdodDogMXB4Ow0KICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHJnYmEoMjAxLCA5NiwgMjYsIDAuMyksIHRyYW5zcGFyZW50KTsNCn0NCg0KLmNwdC1jYWxlbmRhcl9fZGl2aWRlci1kaWFtb25kIHsNCiAgICB3aWR0aDogNnB4Ow0KICAgIGhlaWdodDogNnB4Ow0KICAgIGJhY2tncm91bmQ6ICNENEE5NkE7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOw0KICAgIGZsZXgtc2hyaW5rOiAwOw0KfQ0KDQovKiDilIDilIAgVGFibGVhdSAoYnVyZWF1KSDilIDilIAgKi8NCi5jcHQtY2FsZW5kYXJfX3RhYmxlLXdyYXAgew0KICAgIG92ZXJmbG93LXg6IGF1dG87DQogICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOw0KICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7DQogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDEsIDk2LCAyNiwgMC4xKTsNCiAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KICAgIGJveC1zaGFkb3c6DQogICAgICAgIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDMpLA0KICAgICAgICAwIDRweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4wNCksDQogICAgICAgIDAgMTJweCA0OHB4IHJnYmEoMCwgMCwgMCwgMC4wMik7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX3RhYmxlIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KICAgIGZvbnQtZmFtaWx5OiAnSm9zdCcsIHNhbnMtc2VyaWY7DQogICAgbWluLXdpZHRoOiA3ODBweDsNCn0NCg0KLyogRW4tdMOqdGUgZGUgdGFibGVhdSAqLw0KLmNwdC1jYWxlbmRhcl9fdGFibGUgdGhlYWQgdGggew0KICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmZGZiZjcgMCUsICNmOGYyZTkgMTAwJSk7DQogICAgZm9udC1zaXplOiAwLjY4cmVtOw0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtOw0KICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogICAgY29sb3I6ICM4YjczNTU7DQogICAgcGFkZGluZzogMTVweCAyMnB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgYm9yZGVyLWJvdHRvbTogMS41cHggc29saWQgcmdiYSgyMDEsIDk2LCAyNiwgMC4xMik7DQogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX3RhYmxlIHRoZWFkIHRoOjphZnRlciB7DQogICAgY29udGVudDogJyc7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGJvdHRvbTogMDsNCiAgICBsZWZ0OiAyMnB4Ow0KICAgIHJpZ2h0OiAyMnB4Ow0KICAgIGhlaWdodDogMXB4Ow0KICAgIGJhY2tncm91bmQ6IHJnYmEoMjAxLCA5NiwgMjYsIDAuMDYpOw0KfQ0KDQouY3B0LWNhbGVuZGFyX190YWJsZSB0aGVhZCB0aDpsYXN0LWNoaWxkIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQoNCi8qIExpZ25lcyBkdSBjb3JwcyDigJQgYXBwYXJpdGlvbiBlbiBjYXNjYWRlICovDQouY3B0LWNhbGVuZGFyX190YWJsZSB0Ym9keSB0ciB7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjAxLCA5NiwgMjYsIDAuMDUpOw0KICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlOw0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE2cHgpOw0KfQ0KDQouY3B0LWNhbGVuZGFyX190YWJsZSB0Ym9keSB0ci5jcHQtcm93LXJldmVhbGVkIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpLA0KICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjZzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKSwNCiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDAuM3MgZWFzZTsNCn0NCg0KLmNwdC1jYWxlbmRhcl9fdGFibGUgdGJvZHkgdHI6aG92ZXIgew0KICAgIGJhY2tncm91bmQ6IHJnYmEoMjEyLCAxNjksIDEwNiwgMC4wMzUpOw0KfQ0KDQouY3B0LWNhbGVuZGFyX190YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHsNCiAgICBib3JkZXItYm90dG9tOiBub25lOw0KfQ0KDQouY3B0LWNhbGVuZGFyX190YWJsZSB0Ym9keSB0ZCB7DQogICAgcGFkZGluZzogMThweCAyMnB4Ow0KICAgIGZvbnQtc2l6ZTogMC45cmVtOw0KICAgIGNvbG9yOiAjM2QzNDI5Ow0KICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQp9DQoNCi8qIOKUgOKUgCBDZWxsdWxlIGRlc3RpbmF0aW9uIOKUgOKUgCAqLw0KLmNwdC1jYWxlbmRhcl9fZGVzdCB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGdhcDogMTRweDsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19mbGFnIHsNCiAgICB3aWR0aDogNDJweDsNCiAgICBoZWlnaHQ6IDQycHg7DQogICAgYm9yZGVyLXJhZGl1czogNTAlOw0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgICBmb250LXNpemU6IDEuNHJlbTsNCiAgICBmbGV4LXNocmluazogMDsNCiAgICBiYWNrZ3JvdW5kOiAjZmFmOGY1Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjAxLCA5NiwgMjYsIDAuMSk7DQogICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4wNCk7DQogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgYm94LXNoYWRvdyAwLjNzIGVhc2U7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX3RhYmxlIHRib2R5IHRyOmhvdmVyIC5jcHQtY2FsZW5kYXJfX2ZsYWcgew0KICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7DQogICAgYm94LXNoYWRvdzogMCAzcHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMDgpOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19kZXN0LW5hbWUgew0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgY29sb3I6ICMyYTIxMTg7DQogICAgZm9udC1zaXplOiAwLjk1cmVtOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19kZXN0LWRheXMgew0KICAgIGZvbnQtc2l6ZTogMC43NXJlbTsNCiAgICBjb2xvcjogI2EzOTQ4MDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIG1hcmdpbi10b3A6IDFweDsNCn0NCg0KLyog4pSA4pSAIENlbGx1bGUgZGF0ZXMg4pSA4pSAICovDQouY3B0LWNhbGVuZGFyX19kYXRlcyB7DQogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc2l6ZTogMC44OHJlbTsNCiAgICBjb2xvcjogIzNkMzQyOTsNCn0NCg0KLyogQmFkZ2Ugc2Fpc29uICovDQouY3B0LWNhbGVuZGFyX19zZWFzb24gew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBmb250LXNpemU6IDAuNnJlbTsNCiAgICBmb250LXdlaWdodDogNjAwOw0KICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07DQogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICBwYWRkaW5nOiAycHggOHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7DQogICAgbWFyZ2luLWxlZnQ6IDhweDsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICB0b3A6IC0xcHg7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX3NlYXNvbi0tbW9uc29vbiB7DQogICAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAxNDAsIDAuMDgpOw0KICAgIGNvbG9yOiAjM2I4MjhjOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19zZWFzb24tLWNvb2wgew0KICAgIGJhY2tncm91bmQ6IHJnYmEoMTA3LCAxNDIsIDc4LCAwLjEpOw0KICAgIGNvbG9yOiAjNWE3YTQyOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19zZWFzb24tLWhvdCB7DQogICAgYmFja2dyb3VuZDogcmdiYSgyMDEsIDk2LCAyNiwgMC4wOCk7DQogICAgY29sb3I6ICNDOTYwMUE7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX3NlYXNvbi0tc3ByaW5nIHsNCiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE4MCwgMTIwLCAxNjAsIDAuMDgpOw0KICAgIGNvbG9yOiAjOWE1ZTg4Ow0KfQ0KDQovKiDilIDilIAgQ2VsbHVsZSBzdGF0dXQg4pSA4pSAICovDQouY3B0LWNhbGVuZGFyX19zdGF0dXMgew0KICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19zdGF0dXMtZG90IHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgd2lkdGg6IDdweDsNCiAgICBoZWlnaHQ6IDdweDsNCiAgICBib3JkZXItcmFkaXVzOiA1MCU7DQogICAgbWFyZ2luLXJpZ2h0OiA5cHg7DQogICAgZmxleC1zaHJpbms6IDA7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX3N0YXR1cy1kb3QtLWxpbWl0ZWQgew0KICAgIGJhY2tncm91bmQ6ICNDOTYwMUE7DQogICAgYW5pbWF0aW9uOiBjcHQtcHVsc2UtZG90IDIuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX3N0YXR1cy1kb3QtLWF2YWlsYWJsZSB7DQogICAgYmFja2dyb3VuZDogIzZiOGU0ZTsNCn0NCg0KQGtleWZyYW1lcyBjcHQtcHVsc2UtZG90IHsNCiAgICAwJSwgMTAwJSB7IGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyMDEsIDk2LCAyNiwgMC40NSk7IH0NCiAgICA1MCUgeyBib3gtc2hhZG93OiAwIDAgMCA3cHggcmdiYSgyMDEsIDk2LCAyNiwgMCk7IH0NCn0NCg0KLmNwdC1jYWxlbmRhcl9fc3RhdHVzLXRleHQgew0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgZm9udC1zaXplOiAwLjg0cmVtOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19zdGF0dXMtdGV4dC0tbGltaXRlZCB7DQogICAgY29sb3I6ICNDOTYwMUE7DQogICAgZm9udC13ZWlnaHQ6IDYwMDsNCn0NCg0KLmNwdC1jYWxlbmRhcl9fc3RhdHVzLXRleHQtLWF2YWlsYWJsZSB7DQogICAgY29sb3I6ICM1YTdhNDI7DQp9DQoNCi8qIOKUgOKUgCBCb3V0b24g4pSA4pSAICovDQouY3B0LWNhbGVuZGFyX19idG4tY2VsbCB7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19idG4gew0KICAgIGRpc3BsYXk6IGlubGluZS1mbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAgZ2FwOiA4cHg7DQogICAgcGFkZGluZzogMTBweCAyMnB4Ow0KICAgIGZvbnQtZmFtaWx5OiAnSm9zdCcsIHNhbnMtc2VyaWY7DQogICAgZm9udC1zaXplOiAwLjc2cmVtOw0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTsNCiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7DQogICAgY29sb3I6ICNDOTYwMUE7DQogICAgYmFja2dyb3VuZDogI2ZmZjsNCiAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHJnYmEoMjAxLCA5NiwgMjYsIDAuMzUpOw0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTsNCn0NCg0KLyogUmVmbGV0IGRvcsOpIHVuaXF1ZW1lbnQgYXUgc3Vydm9sICovDQouY3B0LWNhbGVuZGFyX19idG46OmJlZm9yZSB7DQogICAgY29udGVudDogJyc7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogMDsNCiAgICBsZWZ0OiAtMTAwJTsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IDEwMCU7DQogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KA0KICAgICAgICA5MGRlZywNCiAgICAgICAgdHJhbnNwYXJlbnQgMCUsDQogICAgICAgIHJnYmEoMjEyLCAxNjksIDEwNiwgMC4yKSAzMCUsDQogICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSA1MCUsDQogICAgICAgIHJnYmEoMjEyLCAxNjksIDEwNiwgMC4yKSA3MCUsDQogICAgICAgIHRyYW5zcGFyZW50IDEwMCUNCiAgICApOw0KICAgIHRyYW5zaXRpb246IGxlZnQgMC42cyBlYXNlOw0KICAgIHotaW5kZXg6IDA7DQogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX2J0bjpob3Zlcjo6YmVmb3JlIHsNCiAgICBsZWZ0OiAxMDAlOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19idG4gc3BhbiB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHotaW5kZXg6IDE7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX2J0biBpIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgei1pbmRleDogMTsNCiAgICBmb250LXNpemU6IDAuNjVyZW07DQogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzVzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTsNCn0NCg0KLmNwdC1jYWxlbmRhcl9fYnRuOmhvdmVyIHsNCiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjQzk2MDFBLCAjYjg1NTE3KTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBib3JkZXItY29sb3I6ICNDOTYwMUE7DQogICAgYm94LXNoYWRvdzogMCA0cHggMjBweCByZ2JhKDIwMSwgOTYsIDI2LCAwLjMpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsNCn0NCg0KLmNwdC1jYWxlbmRhcl9fYnRuOmhvdmVyIGkgew0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19idG46YWN0aXZlIHsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgYm94LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDIwMSwgOTYsIDI2LCAwLjI1KTsNCn0NCg0KLyog4pSA4pSAIEzDqWdlbmRlIGR1IHBpZWQgZGUgcGFnZSDilIDilIAgKi8NCi5jcHQtY2FsZW5kYXJfX2xlZ2VuZCB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIGdhcDogMjRweDsNCiAgICBtYXJnaW4tdG9wOiBjbGFtcCgyMHB4LCAzdncsIDMycHgpOw0KICAgIGZsZXgtd3JhcDogd3JhcDsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44cyAwLjhzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTsNCn0NCg0KLmNwdC1jYWxlbmRhcl9fbGVnZW5kLmNwdC1yZXZlYWxlZCB7DQogICAgb3BhY2l0eTogMTsNCn0NCg0KLmNwdC1jYWxlbmRhcl9fbGVnZW5kLWl0ZW0gew0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBnYXA6IDdweDsNCiAgICBmb250LWZhbWlseTogJ0pvc3QnLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMC43MnJlbTsNCiAgICBjb2xvcjogI2EzOTQ4MDsNCiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19sZWdlbmQtZG90IHsNCiAgICB3aWR0aDogNnB4Ow0KICAgIGhlaWdodDogNnB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDUwJTsNCiAgICBmbGV4LXNocmluazogMDsNCn0NCg0KLmNwdC1jYWxlbmRhcl9fbGVnZW5kLWRvdC0tbGltaXRlZCB7IGJhY2tncm91bmQ6ICNDOTYwMUE7IH0NCi5jcHQtY2FsZW5kYXJfX2xlZ2VuZC1kb3QtLWF2YWlsYWJsZSB7IGJhY2tncm91bmQ6ICM2YjhlNGU7IH0NCg0KLmNwdC1jYWxlbmRhcl9fZm9vdG5vdGUgew0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBtYXJnaW4tdG9wOiAxNHB4Ow0KICAgIGZvbnQtZmFtaWx5OiAnSm9zdCcsIHNhbnMtc2VyaWY7DQogICAgZm9udC1zaXplOiAwLjdyZW07DQogICAgY29sb3I6ICNiZmIzYTM7DQogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44cyAxcyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSk7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX2Zvb3Rub3RlLmNwdC1yZXZlYWxlZCB7DQogICAgb3BhY2l0eTogMTsNCn0NCg0KLyog4pSA4pSAIEJhcnJlIGluZsOpcmlldXJlIOKUgOKUgCAqLw0KLmNwdC1jYWxlbmRhcl9fYm90dG9tYmFyIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgei1pbmRleDogMjsNCiAgICBoZWlnaHQ6IDNweDsNCiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50IDUlLCAjQzk2MDFBIDI1JSwgI0Q0QTk2QSA1MCUsICNDOTYwMUEgNzUlLCB0cmFuc3BhcmVudCA5NSUpOw0KfQ0KDQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAgIERJU1BPU0lUSU9OIENBUlRFIE1PQklMRQ0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQpAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsNCiAgICAuY3B0LWNhbGVuZGFyX19jb3VudGRvd24tYmxvY2sgew0KICAgICAgICBtaW4td2lkdGg6IDUwcHg7DQogICAgfQ0KDQogICAgLmNwdC1jYWxlbmRhcl9fY291bnRkb3duLXNlcCB7DQogICAgICAgIG1hcmdpbjogMCA0cHg7DQogICAgfQ0KDQogICAgLmNwdC1jYWxlbmRhcl9fdGFibGUtd3JhcCB7DQogICAgICAgIGJvcmRlcjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJveC1zaGFkb3c6IG5vbmU7DQogICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOw0KICAgIH0NCg0KICAgIC5jcHQtY2FsZW5kYXJfX3RhYmxlIHsNCiAgICAgICAgbWluLXdpZHRoOiB1bnNldDsNCiAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgfQ0KDQogICAgLmNwdC1jYWxlbmRhcl9fdGFibGUgdGhlYWQgew0KICAgICAgICBkaXNwbGF5OiBub25lOw0KICAgIH0NCg0KICAgIC5jcHQtY2FsZW5kYXJfX3RhYmxlIHRib2R5IHsNCiAgICAgICAgZGlzcGxheTogZmxleDsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICAgICAgZ2FwOiAxNHB4Ow0KICAgIH0NCg0KICAgIC5jcHQtY2FsZW5kYXJfX3RhYmxlIHRib2R5IHRyIHsNCiAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgIGJhY2tncm91bmQ6ICNmZmY7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7DQogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjAxLCA5NiwgMjYsIDAuMDgpOw0KICAgICAgICBib3gtc2hhZG93OiAwIDJweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4wNCk7DQogICAgICAgIHBhZGRpbmc6IDIwcHg7DQogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIwMSwgOTYsIDI2LCAwLjA4KTsNCiAgICB9DQoNCiAgICAuY3B0LWNhbGVuZGFyX190YWJsZSB0Ym9keSB0ZCB7DQogICAgICAgIGRpc3BsYXk6IGZsZXg7DQogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgICAgcGFkZGluZzogMDsNCiAgICAgICAgZm9udC1zaXplOiAwLjg2cmVtOw0KICAgIH0NCg0KICAgIC5jcHQtY2FsZW5kYXJfX3RhYmxlIHRib2R5IHRkOm5vdCg6Zmlyc3QtY2hpbGQpIHsNCiAgICAgICAgbWFyZ2luLXRvcDogMTRweDsNCiAgICAgICAgcGFkZGluZy10b3A6IDE0cHg7DQogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDIwMSwgOTYsIDI2LCAwLjA1KTsNCiAgICB9DQoNCiAgICAvKiBQcsOpZml4ZSBsaWJlbGzDqSBzdXIgbW9iaWxlICovDQogICAgLmNwdC1jYWxlbmRhcl9fdGFibGUgdGJvZHkgdGQ6OmJlZm9yZSB7DQogICAgICAgIGZvbnQtc2l6ZTogMC42NXJlbTsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTVlbTsNCiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICAgICAgY29sb3I6ICNhMzk0ODA7DQogICAgICAgIGZsZXgtc2hyaW5rOiAwOw0KICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7DQogICAgfQ0KDQogICAgLmNwdC1jYWxlbmRhcl9fdGFibGUgdGJvZHkgdHIgdGQ6bnRoLWNoaWxkKDEpOjpiZWZvcmUgeyBjb250ZW50OiAnJzsgfQ0KICAgIC5jcHQtY2FsZW5kYXJfX3RhYmxlIHRib2R5IHRyIHRkOm50aC1jaGlsZCgyKTo6YmVmb3JlIHsgY29udGVudDogJ0RBVEVTJzsgfQ0KICAgIC5jcHQtY2FsZW5kYXJfX3RhYmxlIHRib2R5IHRyIHRkOm50aC1jaGlsZCgzKTo6YmVmb3JlIHsgY29udGVudDogJ1NUQVRVVCc7IH0NCiAgICAuY3B0LWNhbGVuZGFyX190YWJsZSB0Ym9keSB0ciB0ZDpudGgtY2hpbGQoNCk6OmJlZm9yZSB7IGNvbnRlbnQ6ICcnOyB9DQoNCiAgICAuY3B0LWNhbGVuZGFyX19kYXRlcyB7DQogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KICAgICAgICBmb250LXNpemU6IDAuODRyZW07DQogICAgfQ0KDQogICAgLmNwdC1jYWxlbmRhcl9fc2Vhc29uIHsNCiAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAwOw0KICAgICAgICBtYXJnaW4tdG9wOiA0cHg7DQogICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87DQogICAgfQ0KDQogICAgLmNwdC1jYWxlbmRhcl9fc3RhdHVzIHsNCiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsNCiAgICB9DQoNCiAgICAuY3B0LWNhbGVuZGFyX19idG4tY2VsbCB7DQogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7DQogICAgfQ0KDQogICAgLmNwdC1jYWxlbmRhcl9fYnRuIHsNCiAgICAgICAgcGFkZGluZzogOXB4IDE4cHg7DQogICAgICAgIGZvbnQtc2l6ZTogMC43MnJlbTsNCiAgICB9DQp9DQoNCi8qIE1vdXZlbWVudCByw6lkdWl0ICovDQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgew0KICAgIC5jcHQtY2FsZW5kYXJfX2hlYWRlciwNCiAgICAuY3B0LWNhbGVuZGFyX190YWJsZSB0Ym9keSB0ciwNCiAgICAuY3B0LWNhbGVuZGFyX19kaXZpZGVyLA0KICAgIC5jcHQtY2FsZW5kYXJfX2xlZ2VuZCwNCiAgICAuY3B0LWNhbGVuZGFyX19mb290bm90ZSB7DQogICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsNCiAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7DQogICAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsNCiAgICB9DQogICAgLmNwdC1jYWxlbmRhcl9fc3RhdHVzLWRvdC0tbGltaXRlZCB7IGFuaW1hdGlvbjogbm9uZTsgfQ0KICAgIC5jcHQtY2FsZW5kYXJfX2ljb24td3JhcDo6YWZ0ZXIgeyBhbmltYXRpb246IG5vbmU7IH0NCiAgICAuY3B0LWNhbGVuZGFyX19idG46OmJlZm9yZSB7IGRpc3BsYXk6IG5vbmU7IH0NCn0NCjwvc3R5bGU+PGJyPjxicj48ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXIiPg0KICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fdGV4dHVyZSI+PC9kaXY+PGJyPiAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2lubmVyIj4NCg0KICAgICAgICA8IS0tIEVuLXTDqnRlIC0tPg0KICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2hlYWRlciI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2ljb24td3JhcCI+DQogICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1jYWxlbmRhci1hbHQiPjwvaT4NCiAgICAgICAgICAgIDwvZGl2Pjxicj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19vdmVybGluZSI+UsOpc2VydmV6IFZvdHJlIFZveWFnZTwvc3Bhbj48YnI+ICAgICAgICAgICAgPGgyIGNsYXNzPSJjcHQtY2FsZW5kYXJfX3RpdGxlIj48ZW0+Q2FsZW5kcmllcjwvZW0+IDIwMjYg4oCTIDIwMjc8L2gyPjxicj4gICAgICAgICAgICA8cCBjbGFzcz0iY3B0LWNhbGVuZGFyX19zdWJ0aXRsZSI+UHJvY2hhaW5zIHZveWFnZXMgcGhvdG9ncmFwaGlxdWVzIGVuIEFzaWU8L3A+PGJyPjxicj4gICAgICAgICAgICA8IS0tIENvbXB0ZSDDoCByZWJvdXJzIGF2YW50IGxlIHByZW1pZXIgdm95YWdlIC0tPjxicj4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2NvdW50ZG93biIgaWQ9ImNwdENvdW50ZG93biI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3B0LWNhbGVuZGFyX19jb3VudGRvd24tYmxvY2siPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19jb3VudGRvd24tbnVtIiBpZD0iY3B0RGF5cyI+LS08L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX2NvdW50ZG93bi1sYWJlbCI+Sm91cnM8L3NwYW4+DQogICAgICAgICAgICAgICAgPC9kaXY+PGJyPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19jb3VudGRvd24tc2VwIj46PC9zcGFuPjxicj4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3B0LWNhbGVuZGFyX19jb3VudGRvd24tYmxvY2siPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19jb3VudGRvd24tbnVtIiBpZD0iY3B0SHJzIj4tLTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fY291bnRkb3duLWxhYmVsIj5IPC9zcGFuPg0KICAgICAgICAgICAgICAgIDwvZGl2Pjxicj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fY291bnRkb3duLXNlcCI+Ojwvc3Bhbj48YnI+ICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fY291bnRkb3duLWJsb2NrIj4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fY291bnRkb3duLW51bSIgaWQ9ImNwdE1pbiI+LS08L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX2NvdW50ZG93bi1sYWJlbCI+TWluPC9zcGFuPg0KICAgICAgICAgICAgICAgIDwvZGl2Pjxicj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fY291bnRkb3duLXNlcCI+Ojwvc3Bhbj48YnI+ICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fY291bnRkb3duLWJsb2NrIj4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fY291bnRkb3duLW51bSIgaWQ9ImNwdFNlYyI+LS08L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX2NvdW50ZG93bi1sYWJlbCI+U2VjPC9zcGFuPg0KICAgICAgICAgICAgICAgIDwvZGl2Pjxicj4gICAgICAgICAgICA8L2Rpdj48YnI+ICAgICAgICAgICAgPHAgY2xhc3M9ImNwdC1jYWxlbmRhcl9fY291bnRkb3duLXVudGlsIj5hdmFudCBsZSBwcm9jaGFpbiBkw6lwYXJ0IOKAlCBDYW1ib2RnZSwgMTcgYW\/Du3QgMjAyNjwvcD48YnI+ICAgICAgICA8L2Rpdj48YnI+PGJyPiAgICAgICAgPCEtLSBTw6lwYXJhdGV1ciBkw6ljb3JhdGlmIC0tPjxicj4gICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGl2aWRlciI+DQogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19kaXZpZGVyLWxpbmUiPjwvc3Bhbj4NCiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX2RpdmlkZXItZGlhbW9uZCI+PC9zcGFuPg0KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGl2aWRlci1saW5lIj48L3NwYW4+DQogICAgICAgIDwvZGl2Pjxicj48YnI+ICAgICAgICA8IS0tIFRhYmxlYXUgLS0+PGJyPiAgICAgICAgPGRpdiBjbGFzcz0iY3B0LWNhbGVuZGFyX190YWJsZS13cmFwIj4NCiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0iY3B0LWNhbGVuZGFyX190YWJsZSI+DQogICAgICAgICAgICAgICAgPHRoZWFkPg0KICAgICAgICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGg+RGVzdGluYXRpb248L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkRhdGVzPC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5TdGF0dXQgZGUgcsOpc2VydmF0aW9uPC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5Ew6l0YWlsczwvdGg+DQogICAgICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgICAgPC90aGVhZD4NCiAgICAgICAgICAgICAgICA8dGJvZHk+DQogICAgICAgICAgICAgICAgICAgIDwhLS0gTGlnbmUgMSDigJQgQ2FtYm9kZ2UsIGFvw7t0IDIwMjYgLS0+DQogICAgICAgICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2Rlc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2ZsYWciPvCfh7Dwn4etPC9kaXY+PGJyPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGVzdC1uYW1lIj5DYW1ib2RnZTwvZGl2Pjxicj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2Rlc3QtZGF5cyI+MTIgam91cnM8L2Rpdj48YnI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48YnI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pjxicj4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPjxicj4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGF0ZXMiPjE3IOKAkyAyOCBhb8O7dCAyMDI2PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX3NlYXNvbiBjcHQtY2FsZW5kYXJfX3NlYXNvbi0tbW9uc29vbiI+TW91c3Nvbjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+PGJyPiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY3B0LWNhbGVuZGFyX19zdGF0dXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX3N0YXR1cy1kb3QgY3B0LWNhbGVuZGFyX19zdGF0dXMtZG90LS1saW1pdGVkIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fc3RhdHVzLXRleHQgY3B0LWNhbGVuZGFyX19zdGF0dXMtdGV4dC0tbGltaXRlZCI+MSBwbGFjZSByZXN0YW50ZTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+PGJyPiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY3B0LWNhbGVuZGFyX19idG4tY2VsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuYW5na29ycGhvdG9ncmFwaHl0b3Vycy5jb20vZnIvdm95YWdlLXBob3RvLWNhbWJvZGdlLyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGNsYXNzPSJjcHQtY2FsZW5kYXJfX2J0biI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkVuIHNhdm9pciBwbHVzPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLWFycm93LXJpZ2h0Ij48L2k+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD48YnI+ICAgICAgICAgICAgICAgICAgICA8L3RyPjxicj48YnI+ICAgICAgICAgICAgICAgICAgICA8IS0tIExpZ25lIDIg4oCUIENhbWJvZGdlLCBub3ZlbWJyZSAyMDI2IC0tPjxicj4gICAgICAgICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2Rlc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2ZsYWciPvCfh7Dwn4etPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2Rlc3QtbmFtZSI+Q2FtYm9kZ2U8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGVzdC1kYXlzIj4xMiBqb3VyczwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGF0ZXMiPjEg4oCTIDEyIG5vdmVtYnJlIDIwMjY8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fc2Vhc29uIGNwdC1jYWxlbmRhcl9fc2Vhc29uLS1jb29sIj5TYWlzb24gZnJhw65jaGU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjcHQtY2FsZW5kYXJfX3N0YXR1cyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fc3RhdHVzLWRvdCBjcHQtY2FsZW5kYXJfX3N0YXR1cy1kb3QtLWF2YWlsYWJsZSI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX3N0YXR1cy10ZXh0IGNwdC1jYWxlbmRhcl9fc3RhdHVzLXRleHQtLWF2YWlsYWJsZSI+NCBwbGFjZXMgZGlzcG9uaWJsZXM8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjcHQtY2FsZW5kYXJfX2J0bi1jZWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5hbmdrb3JwaG90b2dyYXBoeXRvdXJzLmNvbS9mci92b3lhZ2UtcGhvdG8tY2FtYm9kZ2UvIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgY2xhc3M9ImNwdC1jYWxlbmRhcl9fYnRuIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+RW4gc2F2b2lyIHBsdXM8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtYXJyb3ctcmlnaHQiPjwvaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KICAgICAgICAgICAgICAgICAgICA8L3RyPjxicj48YnI+ICAgICAgICAgICAgICAgICAgICA8IS0tIExpZ25lIDMg4oCUIENhbWJvZGdlLCBtYXJzIDIwMjcgLS0+PGJyPiAgICAgICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGVzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZmxhZyI+8J+HsPCfh608L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGVzdC1uYW1lIj5DYW1ib2RnZTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3B0LWNhbGVuZGFyX19kZXN0LWRheXMiPjEyIGpvdXJzPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19kYXRlcyI+MTMg4oCTIDI0IG1hcnMgMjAyNzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19zZWFzb24gY3B0LWNhbGVuZGFyX19zZWFzb24tLWhvdCI+U2Fpc29uIGNoYXVkZTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNwdC1jYWxlbmRhcl9fc3RhdHVzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19zdGF0dXMtZG90IGNwdC1jYWxlbmRhcl9fc3RhdHVzLWRvdC0tYXZhaWxhYmxlIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fc3RhdHVzLXRleHQgY3B0LWNhbGVuZGFyX19zdGF0dXMtdGV4dC0tYXZhaWxhYmxlIj40IHBsYWNlcyBkaXNwb25pYmxlczwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNwdC1jYWxlbmRhcl9fYnRuLWNlbGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmFuZ2tvcnBob3RvZ3JhcGh5dG91cnMuY29tL2ZyL3ZveWFnZS1waG90by1jYW1ib2RnZS8iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBjbGFzcz0iY3B0LWNhbGVuZGFyX19idG4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5FbiBzYXZvaXIgcGx1czwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1hcnJvdy1yaWdodCI+PC9pPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDwvdHI+PGJyPjxicj4gICAgICAgICAgICAgICAgICAgIDwhLS0gTGlnbmUgNCDigJQgU3JpIExhbmthLCBhdnJpbCAyMDI3IC0tPjxicj4gICAgICAgICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2Rlc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2ZsYWciPvCfh7Hwn4ewPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2Rlc3QtbmFtZSI+U3JpIExhbmthPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2Rlc3QtZGF5cyI+MTMgam91cnM8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX2RhdGVzIj4xNCDigJMgMjYgYXZyaWwgMjAyNzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19zZWFzb24gY3B0LWNhbGVuZGFyX19zZWFzb24tLXNwcmluZyI+UHJpbnRlbXBzPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY3B0LWNhbGVuZGFyX19zdGF0dXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX3N0YXR1cy1kb3QgY3B0LWNhbGVuZGFyX19zdGF0dXMtZG90LS1hdmFpbGFibGUiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19zdGF0dXMtdGV4dCBjcHQtY2FsZW5kYXJfX3N0YXR1cy10ZXh0LS1hdmFpbGFibGUiPjQgcGxhY2VzIGRpc3BvbmlibGVzPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY3B0LWNhbGVuZGFyX19idG4tY2VsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuYW5na29ycGhvdG9ncmFwaHl0b3Vycy5jb20vZnIvc3JpLWxhbmthLXBob3RvZ3JhcGh5LXRvdXIvIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgY2xhc3M9ImNwdC1jYWxlbmRhcl9fYnRuIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+RW4gc2F2b2lyIHBsdXM8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtYXJyb3ctcmlnaHQiPjwvaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KICAgICAgICAgICAgICAgICAgICA8L3RyPjxicj48YnI+ICAgICAgICAgICAgICAgICAgICA8IS0tIExpZ25lIDUg4oCUIENhbWJvZGdlLCBhb8O7dCAyMDI3IC0tPjxicj4gICAgICAgICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2Rlc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2ZsYWciPvCfh7Dwn4etPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2Rlc3QtbmFtZSI+Q2FtYm9kZ2U8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGVzdC1kYXlzIj4xMiBqb3VyczwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGF0ZXMiPjE3IOKAkyAyOCBhb8O7dCAyMDI3PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX3NlYXNvbiBjcHQtY2FsZW5kYXJfX3NlYXNvbi0tbW9uc29vbiI+TW91c3Nvbjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNwdC1jYWxlbmRhcl9fc3RhdHVzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19zdGF0dXMtZG90IGNwdC1jYWxlbmRhcl9fc3RhdHVzLWRvdC0tYXZhaWxhYmxlIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fc3RhdHVzLXRleHQgY3B0LWNhbGVuZGFyX19zdGF0dXMtdGV4dC0tYXZhaWxhYmxlIj40IHBsYWNlcyBkaXNwb25pYmxlczwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNwdC1jYWxlbmRhcl9fYnRuLWNlbGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmFuZ2tvcnBob3RvZ3JhcGh5dG91cnMuY29tL2ZyL3ZveWFnZS1waG90by1jYW1ib2RnZS8iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBjbGFzcz0iY3B0LWNhbGVuZGFyX19idG4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5FbiBzYXZvaXIgcGx1czwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1hcnJvdy1yaWdodCI+PC9pPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDwvdHI+PGJyPjxicj4gICAgICAgICAgICAgICAgICAgIDwhLS0gTGlnbmUgNiDigJQgQ2FtYm9kZ2UsIG5vdmVtYnJlIDIwMjcgLS0+PGJyPiAgICAgICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGVzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZmxhZyI+8J+HsPCfh608L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGVzdC1uYW1lIj5DYW1ib2RnZTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3B0LWNhbGVuZGFyX19kZXN0LWRheXMiPjEyIGpvdXJzPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19kYXRlcyI+MSDigJMgMTIgbm92ZW1icmUgMjAyNzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19zZWFzb24gY3B0LWNhbGVuZGFyX19zZWFzb24tLWNvb2wiPlNhaXNvbiBmcmHDrmNoZTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNwdC1jYWxlbmRhcl9fc3RhdHVzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19zdGF0dXMtZG90IGNwdC1jYWxlbmRhcl9fc3RhdHVzLWRvdC0tYXZhaWxhYmxlIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fc3RhdHVzLXRleHQgY3B0LWNhbGVuZGFyX19zdGF0dXMtdGV4dC0tYXZhaWxhYmxlIj40IHBsYWNlcyBkaXNwb25pYmxlczwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNwdC1jYWxlbmRhcl9fYnRuLWNlbGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmFuZ2tvcnBob3RvZ3JhcGh5dG91cnMuY29tL2ZyL3ZveWFnZS1waG90by1jYW1ib2RnZS8iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBjbGFzcz0iY3B0LWNhbGVuZGFyX19idG4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5FbiBzYXZvaXIgcGx1czwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1hcnJvdy1yaWdodCI+PC9pPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDwvdHI+PGJyPiAgICAgICAgICAgICAgICA8L3Rib2R5Pjxicj4gICAgICAgICAgICA8L3RhYmxlPjxicj4gICAgICAgIDwvZGl2Pjxicj48YnI+ICAgICAgICA8IS0tIEzDqWdlbmRlIC0tPjxicj4gICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fbGVnZW5kIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fbGVnZW5kLWl0ZW0iPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX2xlZ2VuZC1kb3QgY3B0LWNhbGVuZGFyX19sZWdlbmQtZG90LS1saW1pdGVkIj48L3NwYW4+DQogICAgICAgICAgICAgICAgRGlzcG9uaWJpbGl0w6kgbGltaXTDqWUNCiAgICAgICAgICAgIDwvZGl2Pjxicj4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2xlZ2VuZC1pdGVtIj4NCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19sZWdlbmQtZG90IGNwdC1jYWxlbmRhcl9fbGVnZW5kLWRvdC0tYXZhaWxhYmxlIj48L3NwYW4+DQogICAgICAgICAgICAgICAgT3V2ZXJ0IMOgIGxhIHLDqXNlcnZhdGlvbg0KICAgICAgICAgICAgPC9kaXY+PGJyPiAgICAgICAgPC9kaXY+PGJyPiAgICAgICAgPHAgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZm9vdG5vdGUiPk1heGltdW0gNSBwYXJ0aWNpcGFudHMgcGFyIHZveWFnZSAmbWlkZG90OyBUb3VzIGxlcyB2b3lhZ2VzIGluY2x1ZW50IGxlcyB0cmFuc2ZlcnRzIGHDqXJvcG9ydCBldCBsJ2jDqWJlcmdlbWVudDwvcD48YnI+ICAgIDwvZGl2Pjxicj48YnI+ICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fYm90dG9tYmFyIj48L2Rpdj48YnI+PC9kaXY+PGJyPjxicj48c2NyaXB0Pg0KKGZ1bmN0aW9uKCkgew0KICAgIC8qIOKUgOKUgCBDb21wdGUgw6AgcmVib3VycyBhdmFudCBsZSBwcmVtaWVyIHZveWFnZSA6IDE3IGFvw7t0IDIwMjYgw6AgMDhoMDAg4pSA4pSAICovDQogICAgdmFyIHRhcmdldERhdGUgPSBuZXcgRGF0ZSgyMDI2LCA3LCAxNywgOCwgMCwgMCk7IC8vIG1vaXMgaW5kZXjDqSDDoCBwYXJ0aXIgZGUgMA0KICAgIHZhciBlbERheXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY3B0RGF5cycpOw0KICAgIHZhciBlbEhycyAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY3B0SHJzJyk7DQogICAgdmFyIGVsTWluICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjcHRNaW4nKTsNCiAgICB2YXIgZWxTZWMgID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NwdFNlYycpOw0KICAgIHZhciBlbFdyYXAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY3B0Q291bnRkb3duJyk7DQogICAgdmFyIGVsVW50aWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuY3B0LWNhbGVuZGFyX19jb3VudGRvd24tdW50aWwnKTsNCg0KICAgIGZ1bmN0aW9uIHBhZChuKSB7DQogICAgICAgIHJldHVybiBuIDwgMTAgPyAnMCcgKyBuIDogU3RyaW5nKG4pOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHVwZGF0ZUNvdW50ZG93bigpIHsNCiAgICAgICAgdmFyIG5vdyA9IG5ldyBEYXRlKCk7DQogICAgICAgIHZhciBkaWZmID0gdGFyZ2V0RGF0ZS5nZXRUaW1lKCkgLSBub3cuZ2V0VGltZSgpOw0KDQogICAgICAgIGlmIChkaWZmIDw9IDApIHsNCiAgICAgICAgICAgIC8qIExlIHZveWFnZSBhIGNvbW1lbmPDqSBvdSBlc3QgcGFzc8OpICovDQogICAgICAgICAgICBlbFdyYXAuaW5uZXJIVE1MID0gJzxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX2NvdW50ZG93bi1leHBpcmVkIj48aSBjbGFzcz0iZmFzIGZhLXBsYW5lLWRlcGFydHVyZSIgc3R5bGU9Im1hcmdpbi1yaWdodDo4cHg7Ij48L2k+Q2Ugdm95YWdlIGVzdCBwYXJ0aTwvc3Bhbj4nOw0KICAgICAgICAgICAgZWxVbnRpbC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRvdGFsU2VjID0gTWF0aC5mbG9vcihkaWZmIC8gMTAwMCk7DQogICAgICAgIHZhciBkYXlzID0gTWF0aC5mbG9vcih0b3RhbFNlYyAvIDg2NDAwKTsNCiAgICAgICAgdmFyIGhycyAgPSBNYXRoLmZsb29yKCh0b3RhbFNlYyAlIDg2NDAwKSAvIDM2MDApOw0KICAgICAgICB2YXIgbWluICA9IE1hdGguZmxvb3IoKHRvdGFsU2VjICUgMzYwMCkgLyA2MCk7DQogICAgICAgIHZhciBzZWMgID0gdG90YWxTZWMgJSA2MDsNCg0KICAgICAgICBlbERheXMudGV4dENvbnRlbnQgPSBwYWQoZGF5cyk7DQogICAgICAgIGVsSHJzLnRleHRDb250ZW50ICA9IHBhZChocnMpOw0KICAgICAgICBlbE1pbi50ZXh0Q29udGVudCAgPSBwYWQobWluKTsNCiAgICAgICAgZWxTZWMudGV4dENvbnRlbnQgID0gcGFkKHNlYyk7DQoNCiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHVwZGF0ZUNvdW50ZG93bik7DQogICAgfQ0KDQogICAgdXBkYXRlQ291bnRkb3duKCk7DQoNCiAgICAvKiDilIDilIAgQXBwYXJpdGlvbnMgZMOpY2xlbmNow6llcyBhdSBkw6lmaWxlbWVudCBhdmVjIGTDqWNhbGFnZSDilIDilIAgKi8NCiAgICB2YXIgaGVhZGVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmNwdC1jYWxlbmRhcl9faGVhZGVyJyk7DQogICAgdmFyIGRpdmlkZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuY3B0LWNhbGVuZGFyX19kaXZpZGVyJyk7DQogICAgdmFyIGxlZ2VuZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jcHQtY2FsZW5kYXJfX2xlZ2VuZCcpOw0KICAgIHZhciBmb290bm90ZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jcHQtY2FsZW5kYXJfX2Zvb3Rub3RlJyk7DQogICAgdmFyIHJvd3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY3B0LWNhbGVuZGFyX190YWJsZSB0Ym9keSB0cicpOw0KDQogICAgdmFyIG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGVudHJpZXMpIHsNCiAgICAgICAgZW50cmllcy5mb3JFYWNoKGZ1bmN0aW9uKGVudHJ5KSB7DQogICAgICAgICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHsNCiAgICAgICAgICAgICAgICB2YXIgZWwgPSBlbnRyeS50YXJnZXQ7DQogICAgICAgICAgICAgICAgdmFyIGRlbGF5ID0gZWwuZGF0YXNldC5jcHREZWxheSB8fCAwOw0KICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIGVsLmNsYXNzTGlzdC5hZGQoJ2NwdC1yZXZlYWxlZCcpOw0KICAgICAgICAgICAgICAgICAgICBlbC5jbGFzc0xpc3QuYWRkKCdjcHQtcm93LXJldmVhbGVkJyk7DQogICAgICAgICAgICAgICAgfSwgcGFyc2VJbnQoZGVsYXksIDEwKSk7DQogICAgICAgICAgICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKGVsKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgfSwgew0KICAgICAgICB0aHJlc2hvbGQ6IDAuMTUsDQogICAgICAgIHJvb3RNYXJnaW46ICcwcHggMHB4IC0zMHB4IDBweCcNCiAgICB9KTsNCg0KICAgIGlmIChoZWFkZXIpIG9ic2VydmVyLm9ic2VydmUoaGVhZGVyKTsNCiAgICBpZiAoZGl2aWRlcikgeyBkaXZpZGVyLmRhdGFzZXQuY3B0RGVsYXkgPSAnMjAwJzsgb2JzZXJ2ZXIub2JzZXJ2ZShkaXZpZGVyKTsgfQ0KICAgIGlmIChsZWdlbmQpIHsgbGVnZW5kLmRhdGFzZXQuY3B0RGVsYXkgPSAnNjAwJzsgb2JzZXJ2ZXIub2JzZXJ2ZShsZWdlbmQpOyB9DQogICAgaWYgKGZvb3Rub3RlKSB7IGZvb3Rub3RlLmRhdGFzZXQuY3B0RGVsYXkgPSAnODAwJzsgb2JzZXJ2ZXIub2JzZXJ2ZShmb290bm90ZSk7IH0NCg0KICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcm93cy5sZW5ndGg7IGkrKykgew0KICAgICAgICByb3dzW2ldLmRhdGFzZXQuY3B0RGVsYXkgPSBTdHJpbmcoMzAwICsgaSAqIDgwKTsNCiAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShyb3dzW2ldKTsNCiAgICB9DQp9KSgpOw0KPC9zY3JpcHQ+[\/vc_raw_html][\/vc_column][\/vc_row]\n<\/div>","protected":false},"excerpt":{"rendered":"<p>[vc_row full_width=\u00a0\u00bbstretch_row_content_no_spaces\u00a0\u00bb][vc_column][vc_raw_html css=\u00a0\u00bb\u00a0\u00bb]PGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tIj48YnI+PGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tIiBjcm9zc29yaWdpbj48YnI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI\/ZmFtaWx5PUNvcm1vcmFudCtHYXJhbW9uZDppdGFsLHdnaHRAMCw0MDA7MCw2MDA7MSw0MDAmZmFtaWx5PUpvc3Q6d2dodEAzMDA7NDAwOzUwMDs2MDA7NzAwJmRpc3BsYXk9c3dhcCI+PGJyPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvZm9udC1hd2Vzb21lLzYuMC4wL2Nzcy9hbGwubWluLmNzcyI+PGJyPjxicj48c3R5bGU+DQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAgIENBTEVORFJJRVIgVk9ZQUdFUyBQSE9UT0dSQVBISVFVRVMg4oCUIFZFUlNJT04gRlJBTsOHQUlTRQ0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQouY3B0LWNhbGVuZGFyIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgd2lkdGg6IDEwMHZ3Ow0KICAgIGxlZnQ6IDUwJTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7DQogICAgbWF4LXdpZHRoOiAxMDB2dzsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIGJhY2tncm91bmQ6ICNmYWY4ZjU7DQogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCn0NCg0KLyogQmFycmUgZG9yw6llIHN1cMOpcmlldXJlICovDQouY3B0LWNhbGVuZGFyOjpiZWZvcmUgew0KICAgIGNvbnRlbnQ6ICcnOw0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgbGVmdDogMDsNCiAgICByaWdodDogMDsNCiAgICBoZWlnaHQ6IDNweDsNCiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50IDUlLCAjQzk2MDFBIDI1JSwgI0Q0QTk2QSA1MCUsICNDOTYwMUEgNzUlLCB0cmFuc3BhcmVudCA5NSUpOw0KICAgIHotaW5kZXg6IDM7DQp9DQoNCi8qIEF0bW9zcGjDqHJlIGRlIGZvbmQgZW4gY291Y2hlcyAqLw0KLmNwdC1jYWxlbmRhcjo6YWZ0ZXIgew0KICAgIGNvbnRlbnQ6ICcnOw0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBpbnNldDogMDsNCiAgICBiYWNrZ3JvdW5kLWltYWdlOg0KICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSA2MDBweCA0MDBweCBhdCAxNSUgMjAlLCByZ2JhKDIxMiwgMTY5LCAxMDYsIDAuMDYpIDAlLCB0cmFuc3BhcmVudCAxMDAlKSwNCiAgICAgICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgNTAwcHggNTAwcHggYXQgODUlIDc1JSwgcmdiYSgyMDEsIDk2LCAyNiwgMC4wNCkgMCUsIHRyYW5zcGFyZW50IDEwMCUpLA0KICAgICAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSAzMDBweCAzMDBweCBhdCA1MCUgNTAlLCByZ2JhKDIxMiwgMTY5LCAxMDYsIDAuMDIpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTsNCiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsNCiAgICB6LWluZGV4OiAxOw0KfQ0KDQovKiBUZXh0dXJlIHN1YnRpbGUgZGUgcG9pbnRzICovDQouY3B0LWNhbGVuZGFyX190ZXh0dXJlIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgaW5zZXQ6IDA7DQogICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KHJnYmEoMTM5LCAxMTUsIDg1LCAwLjAzNSkgMXB4LCB0cmFuc3BhcmVudCAxcHgpOw0KICAgIGJhY2tncm91bmQtc2l6ZTogMjRweCAyNHB4Ow0KICAgIHBvaW50ZXItZXZlbnRzOiBub25lOw0KICAgIHotaW5kZXg6IDE7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX2lubmVyIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgei1pbmRleDogMjsNCiAgICBtYXgtd2lkdGg6IDExMDBweDsNCiAgICBtYXJnaW46IDAgYXV0bzsNCiAgICBwYWRkaW5nOiBjbGFtcCg1MnB4LCA2dncsIDgwcHgpIGNsYW1wKDIwcHgsIDR2dywgNDhweCkgY2xhbXAoNDBweCwgNXZ3LCA2NHB4KTsNCn0NCg0KLyog4pSA4pSAIEVuLXTDqnRlIOKAlCBnbGlzc2VtZW50IGRlIDRzIOKUgOKUgCAqLw0KLmNwdC1jYWxlbmRhcl9faGVhZGVyIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbWFyZ2luLWJvdHRvbTogY2xhbXAoMzZweCwgNC41dncsIDU2cHgpOw0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpOw0KICAgIHRyYW5zaXRpb246IG9wYWNpdHkgNHMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpLCB0cmFuc2Zvcm0gNHMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19oZWFkZXIuY3B0LXJldmVhbGVkIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCn0NCg0KLmNwdC1jYWxlbmRhcl9faWNvbi13cmFwIHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIHdpZHRoOiA2MHB4Ow0KICAgIGhlaWdodDogNjBweDsNCiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCAjQzk2MDFBLCAjRDRBOTZBKTsNCiAgICBib3JkZXItcmFkaXVzOiA1MCU7DQogICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBmb250LXNpemU6IDEuMjVyZW07DQogICAgYm94LXNoYWRvdzoNCiAgICAgICAgMCA0cHggMjBweCByZ2JhKDIwMSwgOTYsIDI2LCAwLjMpLA0KICAgICAgICAwIDAgMCA2cHggcmdiYSgyMDEsIDk2LCAyNiwgMC4wNik7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KDQovKiBBbm5lYXUgYW5pbcOpIGF1dG91ciBkZSBsJ2ljw7RuZSAqLw0KLmNwdC1jYWxlbmRhcl9faWNvbi13cmFwOjphZnRlciB7DQogICAgY29udGVudDogJyc7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGluc2V0OiAtOHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDUwJTsNCiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIwMSwgOTYsIDI2LCAwLjEyKTsNCiAgICBhbmltYXRpb246IGNwdC1yaW5nLWJyZWF0aGUgM3MgZWFzZS1pbi1vdXQgaW5maW5pdGU7DQp9DQoNCkBrZXlmcmFtZXMgY3B0LXJpbmctYnJlYXRoZSB7DQogICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyBvcGFjaXR5OiAxOyB9DQogICAgNTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTsgb3BhY2l0eTogMC40OyB9DQp9DQoNCi5jcHQtY2FsZW5kYXJfX292ZXJsaW5lIHsNCiAgICBmb250LWZhbWlseTogJ0pvc3QnLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMC43cmVtOw0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgbGV0dGVyLXNwYWNpbmc6IDAuMjVlbTsNCiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgIGNvbG9yOiAjQzk2MDFBOw0KICAgIG1hcmdpbjogMCAwIDAuNnJlbTsNCiAgICBkaXNwbGF5OiBibG9jazsNCn0NCg0KLmNwdC1jYWxlbmRhcl9fdGl0bGUgew0KICAgIGZvbnQtZmFtaWx5OiAnQ29ybW9yYW50IEdhcmFtb25kJywgR2VvcmdpYSwgc2VyaWY7DQogICAgZm9udC1zaXplOiBjbGFtcCgycmVtLCA0LjV2dywgM3JlbSk7DQogICAgZm9udC13ZWlnaHQ6IDYwMDsNCiAgICBjb2xvcjogIzJhMjExODsNCiAgICBsaW5lLWhlaWdodDogMS4xNTsNCiAgICBtYXJnaW46IDAgMCAwLjZyZW07DQp9DQoNCi5jcHQtY2FsZW5kYXJfX3RpdGxlIGVtIHsNCiAgICBmb250LXN0eWxlOiBpdGFsaWM7DQogICAgY29sb3I6ICNDOTYwMUE7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX3N1YnRpdGxlIHsNCiAgICBmb250LWZhbWlseTogJ0pvc3QnLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMC45NXJlbTsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGNvbG9yOiAjOGI3MzU1Ow0KICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07DQogICAgbWFyZ2luOiAwIDAgMS41cmVtOw0KfQ0KDQovKiDilIDilIAgQ29tcHRlIMOgIHJlYm91cnMg4pSA4pSAICovDQouY3B0LWNhbGVuZGFyX19jb3VudGRvd24gew0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgICBnYXA6IDA7DQogICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19jb3VudGRvd24tYmxvY2sgew0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIG1pbi13aWR0aDogNjRweDsNCn0NCg0KLmNwdC1jYWxlbmRhcl9fY291bnRkb3duLW51bSB7DQogICAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgR2FyYW1vbmQnLCBHZW9yZ2lhLCBzZXJpZjsNCiAgICBmb250LXNpemU6IGNsYW1wKDEuOHJlbSwgNHZ3LCAyLjZyZW0pOw0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgY29sb3I6ICMyYTIxMTg7DQogICAgbGluZS1oZWlnaHQ6IDE7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIG1pbi13aWR0aDogNDhweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgcGFkZGluZy1ib3R0b206IDZweDsNCiAgICBtYXJnaW4tYm90dG9tOiA2cHg7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjAxLCA5NiwgMjYsIDAuMTIpOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19jb3VudGRvd24tbGFiZWwgew0KICAgIGZvbnQtZmFtaWx5OiAnSm9zdCcsIHNhbnMtc2VyaWY7DQogICAgZm9udC1zaXplOiAwLjU4cmVtOw0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtOw0KICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogICAgY29sb3I6ICNhMzk0ODA7DQp9DQoNCi8qIFPDqXBhcmF0ZXVyIGRldXgtcG9pbnRzIGVudHJlIGxlcyBibG9jcyAqLw0KLmNwdC1jYWxlbmRhcl9fY291bnRkb3duLXNlcCB7DQogICAgZm9udC1mYW1pbHk6ICdDb3Jtb3JhbnQgR2FyYW1vbmQnLCBHZW9yZ2lhLCBzZXJpZjsNCiAgICBmb250LXNpemU6IGNsYW1wKDEuNHJlbSwgM3Z3LCAycmVtKTsNCiAgICBjb2xvcjogI0Q0QTk2QTsNCiAgICBtYXJnaW46IDAgNnB4Ow0KICAgIHBhZGRpbmctYm90dG9tOiAyMHB4Ow0KICAgIHVzZXItc2VsZWN0OiBub25lOw0KICAgIG9wYWNpdHk6IDAuNjsNCn0NCg0KLyogTGliZWxsw6kgwqsgYXZhbnQgbGUgcHJvY2hhaW4gZMOpcGFydCDCuyAqLw0KLmNwdC1jYWxlbmRhcl9fY291bnRkb3duLXVudGlsIHsNCiAgICBmb250LWZhbWlseTogJ0pvc3QnLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMC42NXJlbTsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGNvbG9yOiAjYmZiM2EzOw0KICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07DQogICAgbWFyZ2luOiAwOw0KfQ0KDQovKiDDiXRhdCBleHBpcsOpICovDQouY3B0LWNhbGVuZGFyX19jb3VudGRvd24tZXhwaXJlZCB7DQogICAgZm9udC1mYW1pbHk6ICdKb3N0Jywgc2Fucy1zZXJpZjsNCiAgICBmb250LXNpemU6IDAuOHJlbTsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGNvbG9yOiAjQzk2MDFBOw0KICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07DQogICAgcGFkZGluZzogMC44cmVtIDA7DQp9DQoNCi8qIFPDqXBhcmF0ZXVyIGTDqWNvcmF0aWYgc291cyBsJ2VuLXTDqnRlICovDQouY3B0LWNhbGVuZGFyX19kaXZpZGVyIHsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogICAgZ2FwOiAxMnB4Ow0KICAgIG1hcmdpbi1ib3R0b206IGNsYW1wKDI4cHgsIDMuNXZ3LCA0MHB4KTsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgMC4zcyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSk7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX2RpdmlkZXIuY3B0LXJldmVhbGVkIHsNCiAgICBvcGFjaXR5OiAxOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19kaXZpZGVyLWxpbmUgew0KICAgIHdpZHRoOiA0OHB4Ow0KICAgIGhlaWdodDogMXB4Ow0KICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHJnYmEoMjAxLCA5NiwgMjYsIDAuMyksIHRyYW5zcGFyZW50KTsNCn0NCg0KLmNwdC1jYWxlbmRhcl9fZGl2aWRlci1kaWFtb25kIHsNCiAgICB3aWR0aDogNnB4Ow0KICAgIGhlaWdodDogNnB4Ow0KICAgIGJhY2tncm91bmQ6ICNENEE5NkE7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOw0KICAgIGZsZXgtc2hyaW5rOiAwOw0KfQ0KDQovKiDilIDilIAgVGFibGVhdSAoYnVyZWF1KSDilIDilIAgKi8NCi5jcHQtY2FsZW5kYXJfX3RhYmxlLXdyYXAgew0KICAgIG92ZXJmbG93LXg6IGF1dG87DQogICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOw0KICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7DQogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDEsIDk2LCAyNiwgMC4xKTsNCiAgICBiYWNrZ3JvdW5kOiAjZmZmOw0KICAgIGJveC1zaGFkb3c6DQogICAgICAgIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDMpLA0KICAgICAgICAwIDRweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4wNCksDQogICAgICAgIDAgMTJweCA0OHB4IHJnYmEoMCwgMCwgMCwgMC4wMik7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX3RhYmxlIHsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KICAgIGZvbnQtZmFtaWx5OiAnSm9zdCcsIHNhbnMtc2VyaWY7DQogICAgbWluLXdpZHRoOiA3ODBweDsNCn0NCg0KLyogRW4tdMOqdGUgZGUgdGFibGVhdSAqLw0KLmNwdC1jYWxlbmRhcl9fdGFibGUgdGhlYWQgdGggew0KICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmZGZiZjcgMCUsICNmOGYyZTkgMTAwJSk7DQogICAgZm9udC1zaXplOiAwLjY4cmVtOw0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtOw0KICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogICAgY29sb3I6ICM4YjczNTU7DQogICAgcGFkZGluZzogMTVweCAyMnB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgYm9yZGVyLWJvdHRvbTogMS41cHggc29saWQgcmdiYSgyMDEsIDk2LCAyNiwgMC4xMik7DQogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX3RhYmxlIHRoZWFkIHRoOjphZnRlciB7DQogICAgY29udGVudDogJyc7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGJvdHRvbTogMDsNCiAgICBsZWZ0OiAyMnB4Ow0KICAgIHJpZ2h0OiAyMnB4Ow0KICAgIGhlaWdodDogMXB4Ow0KICAgIGJhY2tncm91bmQ6IHJnYmEoMjAxLCA5NiwgMjYsIDAuMDYpOw0KfQ0KDQouY3B0LWNhbGVuZGFyX190YWJsZSB0aGVhZCB0aDpsYXN0LWNoaWxkIHsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQoNCi8qIExpZ25lcyBkdSBjb3JwcyDigJQgYXBwYXJpdGlvbiBlbiBjYXNjYWRlICovDQouY3B0LWNhbGVuZGFyX190YWJsZSB0Ym9keSB0ciB7DQogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjAxLCA5NiwgMjYsIDAuMDUpOw0KICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlOw0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE2cHgpOw0KfQ0KDQouY3B0LWNhbGVuZGFyX190YWJsZSB0Ym9keSB0ci5jcHQtcm93LXJldmVhbGVkIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpLA0KICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjZzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKSwNCiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDAuM3MgZWFzZTsNCn0NCg0KLmNwdC1jYWxlbmRhcl9fdGFibGUgdGJvZHkgdHI6aG92ZXIgew0KICAgIGJhY2tncm91bmQ6IHJnYmEoMjEyLCAxNjksIDEwNiwgMC4wMzUpOw0KfQ0KDQouY3B0LWNhbGVuZGFyX190YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHsNCiAgICBib3JkZXItYm90dG9tOiBub25lOw0KfQ0KDQouY3B0LWNhbGVuZGFyX190YWJsZSB0Ym9keSB0ZCB7DQogICAgcGFkZGluZzogMThweCAyMnB4Ow0KICAgIGZvbnQtc2l6ZTogMC45cmVtOw0KICAgIGNvbG9yOiAjM2QzNDI5Ow0KICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQp9DQoNCi8qIOKUgOKUgCBDZWxsdWxlIGRlc3RpbmF0aW9uIOKUgOKUgCAqLw0KLmNwdC1jYWxlbmRhcl9fZGVzdCB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGdhcDogMTRweDsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19mbGFnIHsNCiAgICB3aWR0aDogNDJweDsNCiAgICBoZWlnaHQ6IDQycHg7DQogICAgYm9yZGVyLXJhZGl1czogNTAlOw0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgICBmb250LXNpemU6IDEuNHJlbTsNCiAgICBmbGV4LXNocmluazogMDsNCiAgICBiYWNrZ3JvdW5kOiAjZmFmOGY1Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjAxLCA5NiwgMjYsIDAuMSk7DQogICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4wNCk7DQogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgYm94LXNoYWRvdyAwLjNzIGVhc2U7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX3RhYmxlIHRib2R5IHRyOmhvdmVyIC5jcHQtY2FsZW5kYXJfX2ZsYWcgew0KICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wOCk7DQogICAgYm94LXNoYWRvdzogMCAzcHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMDgpOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19kZXN0LW5hbWUgew0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgY29sb3I6ICMyYTIxMTg7DQogICAgZm9udC1zaXplOiAwLjk1cmVtOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19kZXN0LWRheXMgew0KICAgIGZvbnQtc2l6ZTogMC43NXJlbTsNCiAgICBjb2xvcjogI2EzOTQ4MDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIG1hcmdpbi10b3A6IDFweDsNCn0NCg0KLyog4pSA4pSAIENlbGx1bGUgZGF0ZXMg4pSA4pSAICovDQouY3B0LWNhbGVuZGFyX19kYXRlcyB7DQogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc2l6ZTogMC44OHJlbTsNCiAgICBjb2xvcjogIzNkMzQyOTsNCn0NCg0KLyogQmFkZ2Ugc2Fpc29uICovDQouY3B0LWNhbGVuZGFyX19zZWFzb24gew0KICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICBmb250LXNpemU6IDAuNnJlbTsNCiAgICBmb250LXdlaWdodDogNjAwOw0KICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07DQogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICBwYWRkaW5nOiAycHggOHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7DQogICAgbWFyZ2luLWxlZnQ6IDhweDsNCiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICB0b3A6IC0xcHg7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX3NlYXNvbi0tbW9uc29vbiB7DQogICAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAxNDAsIDAuMDgpOw0KICAgIGNvbG9yOiAjM2I4MjhjOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19zZWFzb24tLWNvb2wgew0KICAgIGJhY2tncm91bmQ6IHJnYmEoMTA3LCAxNDIsIDc4LCAwLjEpOw0KICAgIGNvbG9yOiAjNWE3YTQyOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19zZWFzb24tLWhvdCB7DQogICAgYmFja2dyb3VuZDogcmdiYSgyMDEsIDk2LCAyNiwgMC4wOCk7DQogICAgY29sb3I6ICNDOTYwMUE7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX3NlYXNvbi0tc3ByaW5nIHsNCiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE4MCwgMTIwLCAxNjAsIDAuMDgpOw0KICAgIGNvbG9yOiAjOWE1ZTg4Ow0KfQ0KDQovKiDilIDilIAgQ2VsbHVsZSBzdGF0dXQg4pSA4pSAICovDQouY3B0LWNhbGVuZGFyX19zdGF0dXMgew0KICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19zdGF0dXMtZG90IHsNCiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogICAgd2lkdGg6IDdweDsNCiAgICBoZWlnaHQ6IDdweDsNCiAgICBib3JkZXItcmFkaXVzOiA1MCU7DQogICAgbWFyZ2luLXJpZ2h0OiA5cHg7DQogICAgZmxleC1zaHJpbms6IDA7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX3N0YXR1cy1kb3QtLWxpbWl0ZWQgew0KICAgIGJhY2tncm91bmQ6ICNDOTYwMUE7DQogICAgYW5pbWF0aW9uOiBjcHQtcHVsc2UtZG90IDIuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX3N0YXR1cy1kb3QtLWF2YWlsYWJsZSB7DQogICAgYmFja2dyb3VuZDogIzZiOGU0ZTsNCn0NCg0KQGtleWZyYW1lcyBjcHQtcHVsc2UtZG90IHsNCiAgICAwJSwgMTAwJSB7IGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyMDEsIDk2LCAyNiwgMC40NSk7IH0NCiAgICA1MCUgeyBib3gtc2hhZG93OiAwIDAgMCA3cHggcmdiYSgyMDEsIDk2LCAyNiwgMCk7IH0NCn0NCg0KLmNwdC1jYWxlbmRhcl9fc3RhdHVzLXRleHQgew0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgZm9udC1zaXplOiAwLjg0cmVtOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19zdGF0dXMtdGV4dC0tbGltaXRlZCB7DQogICAgY29sb3I6ICNDOTYwMUE7DQogICAgZm9udC13ZWlnaHQ6IDYwMDsNCn0NCg0KLmNwdC1jYWxlbmRhcl9fc3RhdHVzLXRleHQtLWF2YWlsYWJsZSB7DQogICAgY29sb3I6ICM1YTdhNDI7DQp9DQoNCi8qIOKUgOKUgCBCb3V0b24g4pSA4pSAICovDQouY3B0LWNhbGVuZGFyX19idG4tY2VsbCB7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19idG4gew0KICAgIGRpc3BsYXk6IGlubGluZS1mbGV4Ow0KICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAgZ2FwOiA4cHg7DQogICAgcGFkZGluZzogMTBweCAyMnB4Ow0KICAgIGZvbnQtZmFtaWx5OiAnSm9zdCcsIHNhbnMtc2VyaWY7DQogICAgZm9udC1zaXplOiAwLjc2cmVtOw0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgbGV0dGVyLXNwYWNpbmc6IDAuMTJlbTsNCiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOw0KICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7DQogICAgY29sb3I6ICNDOTYwMUE7DQogICAgYmFja2dyb3VuZDogI2ZmZjsNCiAgICBib3JkZXI6IDEuNXB4IHNvbGlkIHJnYmEoMjAxLCA5NiwgMjYsIDAuMzUpOw0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTsNCn0NCg0KLyogUmVmbGV0IGRvcsOpIHVuaXF1ZW1lbnQgYXUgc3Vydm9sICovDQouY3B0LWNhbGVuZGFyX19idG46OmJlZm9yZSB7DQogICAgY29udGVudDogJyc7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogMDsNCiAgICBsZWZ0OiAtMTAwJTsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IDEwMCU7DQogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KA0KICAgICAgICA5MGRlZywNCiAgICAgICAgdHJhbnNwYXJlbnQgMCUsDQogICAgICAgIHJnYmEoMjEyLCAxNjksIDEwNiwgMC4yKSAzMCUsDQogICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSA1MCUsDQogICAgICAgIHJnYmEoMjEyLCAxNjksIDEwNiwgMC4yKSA3MCUsDQogICAgICAgIHRyYW5zcGFyZW50IDEwMCUNCiAgICApOw0KICAgIHRyYW5zaXRpb246IGxlZnQgMC42cyBlYXNlOw0KICAgIHotaW5kZXg6IDA7DQogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX2J0bjpob3Zlcjo6YmVmb3JlIHsNCiAgICBsZWZ0OiAxMDAlOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19idG4gc3BhbiB7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIHotaW5kZXg6IDE7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX2J0biBpIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgei1pbmRleDogMTsNCiAgICBmb250LXNpemU6IDAuNjVyZW07DQogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzVzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTsNCn0NCg0KLmNwdC1jYWxlbmRhcl9fYnRuOmhvdmVyIHsNCiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjQzk2MDFBLCAjYjg1NTE3KTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICBib3JkZXItY29sb3I6ICNDOTYwMUE7DQogICAgYm94LXNoYWRvdzogMCA0cHggMjBweCByZ2JhKDIwMSwgOTYsIDI2LCAwLjMpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsNCn0NCg0KLmNwdC1jYWxlbmRhcl9fYnRuOmhvdmVyIGkgew0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19idG46YWN0aXZlIHsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgYm94LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDIwMSwgOTYsIDI2LCAwLjI1KTsNCn0NCg0KLyog4pSA4pSAIEzDqWdlbmRlIGR1IHBpZWQgZGUgcGFnZSDilIDilIAgKi8NCi5jcHQtY2FsZW5kYXJfX2xlZ2VuZCB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgIGdhcDogMjRweDsNCiAgICBtYXJnaW4tdG9wOiBjbGFtcCgyMHB4LCAzdncsIDMycHgpOw0KICAgIGZsZXgtd3JhcDogd3JhcDsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44cyAwLjhzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTsNCn0NCg0KLmNwdC1jYWxlbmRhcl9fbGVnZW5kLmNwdC1yZXZlYWxlZCB7DQogICAgb3BhY2l0eTogMTsNCn0NCg0KLmNwdC1jYWxlbmRhcl9fbGVnZW5kLWl0ZW0gew0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBnYXA6IDdweDsNCiAgICBmb250LWZhbWlseTogJ0pvc3QnLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMC43MnJlbTsNCiAgICBjb2xvcjogI2EzOTQ4MDsNCiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtOw0KfQ0KDQouY3B0LWNhbGVuZGFyX19sZWdlbmQtZG90IHsNCiAgICB3aWR0aDogNnB4Ow0KICAgIGhlaWdodDogNnB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDUwJTsNCiAgICBmbGV4LXNocmluazogMDsNCn0NCg0KLmNwdC1jYWxlbmRhcl9fbGVnZW5kLWRvdC0tbGltaXRlZCB7IGJhY2tncm91bmQ6ICNDOTYwMUE7IH0NCi5jcHQtY2FsZW5kYXJfX2xlZ2VuZC1kb3QtLWF2YWlsYWJsZSB7IGJhY2tncm91bmQ6ICM2YjhlNGU7IH0NCg0KLmNwdC1jYWxlbmRhcl9fZm9vdG5vdGUgew0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBtYXJnaW4tdG9wOiAxNHB4Ow0KICAgIGZvbnQtZmFtaWx5OiAnSm9zdCcsIHNhbnMtc2VyaWY7DQogICAgZm9udC1zaXplOiAwLjdyZW07DQogICAgY29sb3I6ICNiZmIzYTM7DQogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44cyAxcyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSk7DQp9DQoNCi5jcHQtY2FsZW5kYXJfX2Zvb3Rub3RlLmNwdC1yZXZlYWxlZCB7DQogICAgb3BhY2l0eTogMTsNCn0NCg0KLyog4pSA4pSAIEJhcnJlIGluZsOpcmlldXJlIOKUgOKUgCAqLw0KLmNwdC1jYWxlbmRhcl9fYm90dG9tYmFyIHsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgei1pbmRleDogMjsNCiAgICBoZWlnaHQ6IDNweDsNCiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50IDUlLCAjQzk2MDFBIDI1JSwgI0Q0QTk2QSA1MCUsICNDOTYwMUEgNzUlLCB0cmFuc3BhcmVudCA5NSUpOw0KfQ0KDQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAgIERJU1BPU0lUSU9OIENBUlRFIE1PQklMRQ0KICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovDQpAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsNCiAgICAuY3B0LWNhbGVuZGFyX19jb3VudGRvd24tYmxvY2sgew0KICAgICAgICBtaW4td2lkdGg6IDUwcHg7DQogICAgfQ0KDQogICAgLmNwdC1jYWxlbmRhcl9fY291bnRkb3duLXNlcCB7DQogICAgICAgIG1hcmdpbjogMCA0cHg7DQogICAgfQ0KDQogICAgLmNwdC1jYWxlbmRhcl9fdGFibGUtd3JhcCB7DQogICAgICAgIGJvcmRlcjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJveC1zaGFkb3c6IG5vbmU7DQogICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOw0KICAgIH0NCg0KICAgIC5jcHQtY2FsZW5kYXJfX3RhYmxlIHsNCiAgICAgICAgbWluLXdpZHRoOiB1bnNldDsNCiAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgfQ0KDQogICAgLmNwdC1jYWxlbmRhcl9fdGFibGUgdGhlYWQgew0KICAgICAgICBkaXNwbGF5OiBub25lOw0KICAgIH0NCg0KICAgIC5jcHQtY2FsZW5kYXJfX3RhYmxlIHRib2R5IHsNCiAgICAgICAgZGlzcGxheTogZmxleDsNCiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCiAgICAgICAgZ2FwOiAxNHB4Ow0KICAgIH0NCg0KICAgIC5jcHQtY2FsZW5kYXJfX3RhYmxlIHRib2R5IHRyIHsNCiAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgIGJhY2tncm91bmQ6ICNmZmY7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7DQogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjAxLCA5NiwgMjYsIDAuMDgpOw0KICAgICAgICBib3gtc2hhZG93OiAwIDJweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4wNCk7DQogICAgICAgIHBhZGRpbmc6IDIwcHg7DQogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIwMSwgOTYsIDI2LCAwLjA4KTsNCiAgICB9DQoNCiAgICAuY3B0LWNhbGVuZGFyX190YWJsZSB0Ym9keSB0ZCB7DQogICAgICAgIGRpc3BsYXk6IGZsZXg7DQogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgICAgcGFkZGluZzogMDsNCiAgICAgICAgZm9udC1zaXplOiAwLjg2cmVtOw0KICAgIH0NCg0KICAgIC5jcHQtY2FsZW5kYXJfX3RhYmxlIHRib2R5IHRkOm5vdCg6Zmlyc3QtY2hpbGQpIHsNCiAgICAgICAgbWFyZ2luLXRvcDogMTRweDsNCiAgICAgICAgcGFkZGluZy10b3A6IDE0cHg7DQogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDIwMSwgOTYsIDI2LCAwLjA1KTsNCiAgICB9DQoNCiAgICAvKiBQcsOpZml4ZSBsaWJlbGzDqSBzdXIgbW9iaWxlICovDQogICAgLmNwdC1jYWxlbmRhcl9fdGFibGUgdGJvZHkgdGQ6OmJlZm9yZSB7DQogICAgICAgIGZvbnQtc2l6ZTogMC42NXJlbTsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTVlbTsNCiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICAgICAgY29sb3I6ICNhMzk0ODA7DQogICAgICAgIGZsZXgtc2hyaW5rOiAwOw0KICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7DQogICAgfQ0KDQogICAgLmNwdC1jYWxlbmRhcl9fdGFibGUgdGJvZHkgdHIgdGQ6bnRoLWNoaWxkKDEpOjpiZWZvcmUgeyBjb250ZW50OiAnJzsgfQ0KICAgIC5jcHQtY2FsZW5kYXJfX3RhYmxlIHRib2R5IHRyIHRkOm50aC1jaGlsZCgyKTo6YmVmb3JlIHsgY29udGVudDogJ0RBVEVTJzsgfQ0KICAgIC5jcHQtY2FsZW5kYXJfX3RhYmxlIHRib2R5IHRyIHRkOm50aC1jaGlsZCgzKTo6YmVmb3JlIHsgY29udGVudDogJ1NUQVRVVCc7IH0NCiAgICAuY3B0LWNhbGVuZGFyX190YWJsZSB0Ym9keSB0ciB0ZDpudGgtY2hpbGQoNCk6OmJlZm9yZSB7IGNvbnRlbnQ6ICcnOyB9DQoNCiAgICAuY3B0LWNhbGVuZGFyX19kYXRlcyB7DQogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0Ow0KICAgICAgICBmb250LXNpemU6IDAuODRyZW07DQogICAgfQ0KDQogICAgLmNwdC1jYWxlbmRhcl9fc2Vhc29uIHsNCiAgICAgICAgZGlzcGxheTogYmxvY2s7DQogICAgICAgIG1hcmdpbi1sZWZ0OiAwOw0KICAgICAgICBtYXJnaW4tdG9wOiA0cHg7DQogICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87DQogICAgfQ0KDQogICAgLmNwdC1jYWxlbmRhcl9fc3RhdHVzIHsNCiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsNCiAgICB9DQoNCiAgICAuY3B0LWNhbGVuZGFyX19idG4tY2VsbCB7DQogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7DQogICAgfQ0KDQogICAgLmNwdC1jYWxlbmRhcl9fYnRuIHsNCiAgICAgICAgcGFkZGluZzogOXB4IDE4cHg7DQogICAgICAgIGZvbnQtc2l6ZTogMC43MnJlbTsNCiAgICB9DQp9DQoNCi8qIE1vdXZlbWVudCByw6lkdWl0ICovDQpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgew0KICAgIC5jcHQtY2FsZW5kYXJfX2hlYWRlciwNCiAgICAuY3B0LWNhbGVuZGFyX190YWJsZSB0Ym9keSB0ciwNCiAgICAuY3B0LWNhbGVuZGFyX19kaXZpZGVyLA0KICAgIC5jcHQtY2FsZW5kYXJfX2xlZ2VuZCwNCiAgICAuY3B0LWNhbGVuZGFyX19mb290bm90ZSB7DQogICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsNCiAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7DQogICAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsNCiAgICB9DQogICAgLmNwdC1jYWxlbmRhcl9fc3RhdHVzLWRvdC0tbGltaXRlZCB7IGFuaW1hdGlvbjogbm9uZTsgfQ0KICAgIC5jcHQtY2FsZW5kYXJfX2ljb24td3JhcDo6YWZ0ZXIgeyBhbmltYXRpb246IG5vbmU7IH0NCiAgICAuY3B0LWNhbGVuZGFyX19idG46OmJlZm9yZSB7IGRpc3BsYXk6IG5vbmU7IH0NCn0NCjwvc3R5bGU+PGJyPjxicj48ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXIiPg0KICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fdGV4dHVyZSI+PC9kaXY+PGJyPiAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2lubmVyIj4NCg0KICAgICAgICA8IS0tIEVuLXTDqnRlIC0tPg0KICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2hlYWRlciI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2ljb24td3JhcCI+DQogICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1jYWxlbmRhci1hbHQiPjwvaT4NCiAgICAgICAgICAgIDwvZGl2Pjxicj4gICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19vdmVybGluZSI+UsOpc2VydmV6IFZvdHJlIFZveWFnZTwvc3Bhbj48YnI+ICAgICAgICAgICAgPGgyIGNsYXNzPSJjcHQtY2FsZW5kYXJfX3RpdGxlIj48ZW0+Q2FsZW5kcmllcjwvZW0+IDIwMjYg4oCTIDIwMjc8L2gyPjxicj4gICAgICAgICAgICA8cCBjbGFzcz0iY3B0LWNhbGVuZGFyX19zdWJ0aXRsZSI+UHJvY2hhaW5zIHZveWFnZXMgcGhvdG9ncmFwaGlxdWVzIGVuIEFzaWU8L3A+PGJyPjxicj4gICAgICAgICAgICA8IS0tIENvbXB0ZSDDoCByZWJvdXJzIGF2YW50IGxlIHByZW1pZXIgdm95YWdlIC0tPjxicj4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2NvdW50ZG93biIgaWQ9ImNwdENvdW50ZG93biI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3B0LWNhbGVuZGFyX19jb3VudGRvd24tYmxvY2siPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19jb3VudGRvd24tbnVtIiBpZD0iY3B0RGF5cyI+LS08L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX2NvdW50ZG93bi1sYWJlbCI+Sm91cnM8L3NwYW4+DQogICAgICAgICAgICAgICAgPC9kaXY+PGJyPiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19jb3VudGRvd24tc2VwIj46PC9zcGFuPjxicj4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3B0LWNhbGVuZGFyX19jb3VudGRvd24tYmxvY2siPg0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19jb3VudGRvd24tbnVtIiBpZD0iY3B0SHJzIj4tLTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fY291bnRkb3duLWxhYmVsIj5IPC9zcGFuPg0KICAgICAgICAgICAgICAgIDwvZGl2Pjxicj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fY291bnRkb3duLXNlcCI+Ojwvc3Bhbj48YnI+ICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fY291bnRkb3duLWJsb2NrIj4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fY291bnRkb3duLW51bSIgaWQ9ImNwdE1pbiI+LS08L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX2NvdW50ZG93bi1sYWJlbCI+TWluPC9zcGFuPg0KICAgICAgICAgICAgICAgIDwvZGl2Pjxicj4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fY291bnRkb3duLXNlcCI+Ojwvc3Bhbj48YnI+ICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fY291bnRkb3duLWJsb2NrIj4NCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fY291bnRkb3duLW51bSIgaWQ9ImNwdFNlYyI+LS08L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX2NvdW50ZG93bi1sYWJlbCI+U2VjPC9zcGFuPg0KICAgICAgICAgICAgICAgIDwvZGl2Pjxicj4gICAgICAgICAgICA8L2Rpdj48YnI+ICAgICAgICAgICAgPHAgY2xhc3M9ImNwdC1jYWxlbmRhcl9fY291bnRkb3duLXVudGlsIj5hdmFudCBsZSBwcm9jaGFpbiBkw6lwYXJ0IOKAlCBDYW1ib2RnZSwgMTcgYW\/Du3QgMjAyNjwvcD48YnI+ICAgICAgICA8L2Rpdj48YnI+PGJyPiAgICAgICAgPCEtLSBTw6lwYXJhdGV1ciBkw6ljb3JhdGlmIC0tPjxicj4gICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGl2aWRlciI+DQogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19kaXZpZGVyLWxpbmUiPjwvc3Bhbj4NCiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX2RpdmlkZXItZGlhbW9uZCI+PC9zcGFuPg0KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGl2aWRlci1saW5lIj48L3NwYW4+DQogICAgICAgIDwvZGl2Pjxicj48YnI+ICAgICAgICA8IS0tIFRhYmxlYXUgLS0+PGJyPiAgICAgICAgPGRpdiBjbGFzcz0iY3B0LWNhbGVuZGFyX190YWJsZS13cmFwIj4NCiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0iY3B0LWNhbGVuZGFyX190YWJsZSI+DQogICAgICAgICAgICAgICAgPHRoZWFkPg0KICAgICAgICAgICAgICAgICAgICA8dHI+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGg+RGVzdGluYXRpb248L3RoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkRhdGVzPC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5TdGF0dXQgZGUgcsOpc2VydmF0aW9uPC90aD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5Ew6l0YWlsczwvdGg+DQogICAgICAgICAgICAgICAgICAgIDwvdHI+DQogICAgICAgICAgICAgICAgPC90aGVhZD4NCiAgICAgICAgICAgICAgICA8dGJvZHk+DQogICAgICAgICAgICAgICAgICAgIDwhLS0gTGlnbmUgMSDigJQgQ2FtYm9kZ2UsIGFvw7t0IDIwMjYgLS0+DQogICAgICAgICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2Rlc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2ZsYWciPvCfh7Dwn4etPC9kaXY+PGJyPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGVzdC1uYW1lIj5DYW1ib2RnZTwvZGl2Pjxicj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2Rlc3QtZGF5cyI+MTIgam91cnM8L2Rpdj48YnI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48YnI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pjxicj4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPjxicj4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGF0ZXMiPjE3IOKAkyAyOCBhb8O7dCAyMDI2PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX3NlYXNvbiBjcHQtY2FsZW5kYXJfX3NlYXNvbi0tbW9uc29vbiI+TW91c3Nvbjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+PGJyPiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY3B0LWNhbGVuZGFyX19zdGF0dXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX3N0YXR1cy1kb3QgY3B0LWNhbGVuZGFyX19zdGF0dXMtZG90LS1saW1pdGVkIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fc3RhdHVzLXRleHQgY3B0LWNhbGVuZGFyX19zdGF0dXMtdGV4dC0tbGltaXRlZCI+MSBwbGFjZSByZXN0YW50ZTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+PGJyPiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY3B0LWNhbGVuZGFyX19idG4tY2VsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuYW5na29ycGhvdG9ncmFwaHl0b3Vycy5jb20vZnIvdm95YWdlLXBob3RvLWNhbWJvZGdlLyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGNsYXNzPSJjcHQtY2FsZW5kYXJfX2J0biI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkVuIHNhdm9pciBwbHVzPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0iZmFzIGZhLWFycm93LXJpZ2h0Ij48L2k+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD48YnI+ICAgICAgICAgICAgICAgICAgICA8L3RyPjxicj48YnI+ICAgICAgICAgICAgICAgICAgICA8IS0tIExpZ25lIDIg4oCUIENhbWJvZGdlLCBub3ZlbWJyZSAyMDI2IC0tPjxicj4gICAgICAgICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2Rlc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2ZsYWciPvCfh7Dwn4etPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2Rlc3QtbmFtZSI+Q2FtYm9kZ2U8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGVzdC1kYXlzIj4xMiBqb3VyczwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGF0ZXMiPjEg4oCTIDEyIG5vdmVtYnJlIDIwMjY8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fc2Vhc29uIGNwdC1jYWxlbmRhcl9fc2Vhc29uLS1jb29sIj5TYWlzb24gZnJhw65jaGU8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjcHQtY2FsZW5kYXJfX3N0YXR1cyI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fc3RhdHVzLWRvdCBjcHQtY2FsZW5kYXJfX3N0YXR1cy1kb3QtLWF2YWlsYWJsZSI+PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX3N0YXR1cy10ZXh0IGNwdC1jYWxlbmRhcl9fc3RhdHVzLXRleHQtLWF2YWlsYWJsZSI+NCBwbGFjZXMgZGlzcG9uaWJsZXM8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJjcHQtY2FsZW5kYXJfX2J0bi1jZWxsIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy5hbmdrb3JwaG90b2dyYXBoeXRvdXJzLmNvbS9mci92b3lhZ2UtcGhvdG8tY2FtYm9kZ2UvIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgY2xhc3M9ImNwdC1jYWxlbmRhcl9fYnRuIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+RW4gc2F2b2lyIHBsdXM8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtYXJyb3ctcmlnaHQiPjwvaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KICAgICAgICAgICAgICAgICAgICA8L3RyPjxicj48YnI+ICAgICAgICAgICAgICAgICAgICA8IS0tIExpZ25lIDMg4oCUIENhbWJvZGdlLCBtYXJzIDIwMjcgLS0+PGJyPiAgICAgICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGVzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZmxhZyI+8J+HsPCfh608L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGVzdC1uYW1lIj5DYW1ib2RnZTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3B0LWNhbGVuZGFyX19kZXN0LWRheXMiPjEyIGpvdXJzPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19kYXRlcyI+MTMg4oCTIDI0IG1hcnMgMjAyNzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19zZWFzb24gY3B0LWNhbGVuZGFyX19zZWFzb24tLWhvdCI+U2Fpc29uIGNoYXVkZTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNwdC1jYWxlbmRhcl9fc3RhdHVzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19zdGF0dXMtZG90IGNwdC1jYWxlbmRhcl9fc3RhdHVzLWRvdC0tYXZhaWxhYmxlIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fc3RhdHVzLXRleHQgY3B0LWNhbGVuZGFyX19zdGF0dXMtdGV4dC0tYXZhaWxhYmxlIj40IHBsYWNlcyBkaXNwb25pYmxlczwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNwdC1jYWxlbmRhcl9fYnRuLWNlbGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmFuZ2tvcnBob3RvZ3JhcGh5dG91cnMuY29tL2ZyL3ZveWFnZS1waG90by1jYW1ib2RnZS8iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBjbGFzcz0iY3B0LWNhbGVuZGFyX19idG4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5FbiBzYXZvaXIgcGx1czwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1hcnJvdy1yaWdodCI+PC9pPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDwvdHI+PGJyPjxicj4gICAgICAgICAgICAgICAgICAgIDwhLS0gTGlnbmUgNCDigJQgU3JpIExhbmthLCBhdnJpbCAyMDI3IC0tPjxicj4gICAgICAgICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2Rlc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2ZsYWciPvCfh7Hwn4ewPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2Rlc3QtbmFtZSI+U3JpIExhbmthPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2Rlc3QtZGF5cyI+MTMgam91cnM8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX2RhdGVzIj4xNCDigJMgMjYgYXZyaWwgMjAyNzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19zZWFzb24gY3B0LWNhbGVuZGFyX19zZWFzb24tLXNwcmluZyI+UHJpbnRlbXBzPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY3B0LWNhbGVuZGFyX19zdGF0dXMiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX3N0YXR1cy1kb3QgY3B0LWNhbGVuZGFyX19zdGF0dXMtZG90LS1hdmFpbGFibGUiPjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19zdGF0dXMtdGV4dCBjcHQtY2FsZW5kYXJfX3N0YXR1cy10ZXh0LS1hdmFpbGFibGUiPjQgcGxhY2VzIGRpc3BvbmlibGVzPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iY3B0LWNhbGVuZGFyX19idG4tY2VsbCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuYW5na29ycGhvdG9ncmFwaHl0b3Vycy5jb20vZnIvc3JpLWxhbmthLXBob3RvZ3JhcGh5LXRvdXIvIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgY2xhc3M9ImNwdC1jYWxlbmRhcl9fYnRuIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+RW4gc2F2b2lyIHBsdXM8L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJmYXMgZmEtYXJyb3ctcmlnaHQiPjwvaT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+DQogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPg0KICAgICAgICAgICAgICAgICAgICA8L3RyPjxicj48YnI+ICAgICAgICAgICAgICAgICAgICA8IS0tIExpZ25lIDUg4oCUIENhbWJvZGdlLCBhb8O7dCAyMDI3IC0tPjxicj4gICAgICAgICAgICAgICAgICAgIDx0cj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2Rlc3QiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2ZsYWciPvCfh7Dwn4etPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2Rlc3QtbmFtZSI+Q2FtYm9kZ2U8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGVzdC1kYXlzIj4xMiBqb3VyczwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGF0ZXMiPjE3IOKAkyAyOCBhb8O7dCAyMDI3PC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX3NlYXNvbiBjcHQtY2FsZW5kYXJfX3NlYXNvbi0tbW9uc29vbiI+TW91c3Nvbjwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNwdC1jYWxlbmRhcl9fc3RhdHVzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19zdGF0dXMtZG90IGNwdC1jYWxlbmRhcl9fc3RhdHVzLWRvdC0tYXZhaWxhYmxlIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fc3RhdHVzLXRleHQgY3B0LWNhbGVuZGFyX19zdGF0dXMtdGV4dC0tYXZhaWxhYmxlIj40IHBsYWNlcyBkaXNwb25pYmxlczwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNwdC1jYWxlbmRhcl9fYnRuLWNlbGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmFuZ2tvcnBob3RvZ3JhcGh5dG91cnMuY29tL2ZyL3ZveWFnZS1waG90by1jYW1ib2RnZS8iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBjbGFzcz0iY3B0LWNhbGVuZGFyX19idG4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5FbiBzYXZvaXIgcGx1czwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1hcnJvdy1yaWdodCI+PC9pPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDwvdHI+PGJyPjxicj4gICAgICAgICAgICAgICAgICAgIDwhLS0gTGlnbmUgNiDigJQgQ2FtYm9kZ2UsIG5vdmVtYnJlIDIwMjcgLS0+PGJyPiAgICAgICAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGVzdCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZmxhZyI+8J+HsPCfh608L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZGVzdC1uYW1lIj5DYW1ib2RnZTwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3B0LWNhbGVuZGFyX19kZXN0LWRheXMiPjEyIGpvdXJzPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19kYXRlcyI+MSDigJMgMTIgbm92ZW1icmUgMjAyNzwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19zZWFzb24gY3B0LWNhbGVuZGFyX19zZWFzb24tLWNvb2wiPlNhaXNvbiBmcmHDrmNoZTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNwdC1jYWxlbmRhcl9fc3RhdHVzIj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19zdGF0dXMtZG90IGNwdC1jYWxlbmRhcl9fc3RhdHVzLWRvdC0tYXZhaWxhYmxlIj48L3NwYW4+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdC1jYWxlbmRhcl9fc3RhdHVzLXRleHQgY3B0LWNhbGVuZGFyX19zdGF0dXMtdGV4dC0tYXZhaWxhYmxlIj40IHBsYWNlcyBkaXNwb25pYmxlczwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImNwdC1jYWxlbmRhcl9fYnRuLWNlbGwiPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmFuZ2tvcnBob3RvZ3JhcGh5dG91cnMuY29tL2ZyL3ZveWFnZS1waG90by1jYW1ib2RnZS8iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBjbGFzcz0iY3B0LWNhbGVuZGFyX19idG4iPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5FbiBzYXZvaXIgcGx1czwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhcyBmYS1hcnJvdy1yaWdodCI+PC9pPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICAgIDwvdHI+PGJyPiAgICAgICAgICAgICAgICA8L3Rib2R5Pjxicj4gICAgICAgICAgICA8L3RhYmxlPjxicj4gICAgICAgIDwvZGl2Pjxicj48YnI+ICAgICAgICA8IS0tIEzDqWdlbmRlIC0tPjxicj4gICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fbGVnZW5kIj4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fbGVnZW5kLWl0ZW0iPg0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX2xlZ2VuZC1kb3QgY3B0LWNhbGVuZGFyX19sZWdlbmQtZG90LS1saW1pdGVkIj48L3NwYW4+DQogICAgICAgICAgICAgICAgRGlzcG9uaWJpbGl0w6kgbGltaXTDqWUNCiAgICAgICAgICAgIDwvZGl2Pjxicj4gICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHQtY2FsZW5kYXJfX2xlZ2VuZC1pdGVtIj4NCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B0LWNhbGVuZGFyX19sZWdlbmQtZG90IGNwdC1jYWxlbmRhcl9fbGVnZW5kLWRvdC0tYXZhaWxhYmxlIj48L3NwYW4+DQogICAgICAgICAgICAgICAgT3V2ZXJ0IMOgIGxhIHLDqXNlcnZhdGlvbg0KICAgICAgICAgICAgPC9kaXY+PGJyPiAgICAgICAgPC9kaXY+PGJyPiAgICAgICAgPHAgY2xhc3M9ImNwdC1jYWxlbmRhcl9fZm9vdG5vdGUiPk1heGltdW0gNSBwYXJ0aWNpcGFudHMgcGFyIHZveWFnZSAmbWlkZG90OyBUb3VzIGxlcyB2b3lhZ2VzIGluY2x1ZW50IGxlcyB0cmFuc2ZlcnRzIGHDqXJvcG9ydCBldCBsJ2jDqWJlcmdlbWVudDwvcD48YnI+ICAgIDwvZGl2Pjxicj48YnI+ICAgIDxkaXYgY2xhc3M9ImNwdC1jYWxlbmRhcl9fYm90dG9tYmFyIj48L2Rpdj48YnI+PC9kaXY+PGJyPjxicj48c2NyaXB0Pg0KKGZ1bmN0aW9uKCkgew0KICAgIC8qIOKUgOKUgCBDb21wdGUgw6AgcmVib3VycyBhdmFudCBsZSBwcmVtaWVyIHZveWFnZSA6IDE3IGFvw7t0IDIwMjYgw6AgMDhoMDAg4pSA4pSAICovDQogICAgdmFyIHRhcmdldERhdGUgPSBuZXcgRGF0ZSgyMDI2LCA3LCAxNywgOCwgMCwgMCk7IC8vIG1vaXMgaW5kZXjDqSDDoCBwYXJ0aXIgZGUgMA0KICAgIHZhciBlbERheXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY3B0RGF5cycpOw0KICAgIHZhciBlbEhycyAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY3B0SHJzJyk7DQogICAgdmFyIGVsTWluICA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjcHRNaW4nKTsNCiAgICB2YXIgZWxTZWMgID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NwdFNlYycpOw0KICAgIHZhciBlbFdyYXAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY3B0Q291bnRkb3duJyk7DQogICAgdmFyIGVsVW50aWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuY3B0LWNhbGVuZGFyX19jb3VudGRvd24tdW50aWwnKTsNCg0KICAgIGZ1bmN0aW9uIHBhZChuKSB7DQogICAgICAgIHJldHVybiBuIDwgMTAgPyAnMCcgKyBuIDogU3RyaW5nKG4pOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIHVwZGF0ZUNvdW50ZG93bigpIHsNCiAgICAgICAgdmFyIG5vdyA9IG5ldyBEYXRlKCk7DQogICAgICAgIHZhciBkaWZmID0gdGFyZ2V0RGF0ZS5nZXRUaW1lKCkgLSBub3cuZ2V0VGltZSgpOw0KDQogICAgICAgIGlmIChkaWZmIDw9IDApIHsNCiAgICAgICAgICAgIC8qIExlIHZveWFnZSBhIGNvbW1lbmPDqSBvdSBlc3QgcGFzc8OpICovDQogICAgICAgICAgICBlbFdyYXAuaW5uZXJIVE1MID0gJzxzcGFuIGNsYXNzPSJjcHQtY2FsZW5kYXJfX2NvdW50ZG93bi1leHBpcmVkIj48aSBjbGFzcz0iZmFzIGZhLXBsYW5lLWRlcGFydHVyZSIgc3R5bGU9Im1hcmdpbi1yaWdodDo4cHg7Ij48L2k+Q2Ugdm95YWdlIGVzdCBwYXJ0aTwvc3Bhbj4nOw0KICAgICAgICAgICAgZWxVbnRpbC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRvdGFsU2VjID0gTWF0aC5mbG9vcihkaWZmIC8gMTAwMCk7DQogICAgICAgIHZhciBkYXlzID0gTWF0aC5mbG9vcih0b3RhbFNlYyAvIDg2NDAwKTsNCiAgICAgICAgdmFyIGhycyAgPSBNYXRoLmZsb29yKCh0b3RhbFNlYyAlIDg2NDAwKSAvIDM2MDApOw0KICAgICAgICB2YXIgbWluICA9IE1hdGguZmxvb3IoKHRvdGFsU2VjICUgMzYwMCkgLyA2MCk7DQogICAgICAgIHZhciBzZWMgID0gdG90YWxTZWMgJSA2MDsNCg0KICAgICAgICBlbERheXMudGV4dENvbnRlbnQgPSBwYWQoZGF5cyk7DQogICAgICAgIGVsSHJzLnRleHRDb250ZW50ICA9IHBhZChocnMpOw0KICAgICAgICBlbE1pbi50ZXh0Q29udGVudCAgPSBwYWQobWluKTsNCiAgICAgICAgZWxTZWMudGV4dENvbnRlbnQgID0gcGFkKHNlYyk7DQoNCiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHVwZGF0ZUNvdW50ZG93bik7DQogICAgfQ0KDQogICAgdXBkYXRlQ291bnRkb3duKCk7DQoNCiAgICAvKiDilIDilIAgQXBwYXJpdGlvbnMgZMOpY2xlbmNow6llcyBhdSBkw6lmaWxlbWVudCBhdmVjIGTDqWNhbGFnZSDilIDilIAgKi8NCiAgICB2YXIgaGVhZGVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmNwdC1jYWxlbmRhcl9faGVhZGVyJyk7DQogICAgdmFyIGRpdmlkZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuY3B0LWNhbGVuZGFyX19kaXZpZGVyJyk7DQogICAgdmFyIGxlZ2VuZCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jcHQtY2FsZW5kYXJfX2xlZ2VuZCcpOw0KICAgIHZhciBmb290bm90ZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jcHQtY2FsZW5kYXJfX2Zvb3Rub3RlJyk7DQogICAgdmFyIHJvd3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY3B0LWNhbGVuZGFyX190YWJsZSB0Ym9keSB0cicpOw0KDQogICAgdmFyIG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGVudHJpZXMpIHsNCiAgICAgICAgZW50cmllcy5mb3JFYWNoKGZ1bmN0aW9uKGVudHJ5KSB7DQogICAgICAgICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHsNCiAgICAgICAgICAgICAgICB2YXIgZWwgPSBlbnRyeS50YXJnZXQ7DQogICAgICAgICAgICAgICAgdmFyIGRlbGF5ID0gZWwuZGF0YXNldC5jcHREZWxheSB8fCAwOw0KICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIGVsLmNsYXNzTGlzdC5hZGQoJ2NwdC1yZXZlYWxlZCcpOw0KICAgICAgICAgICAgICAgICAgICBlbC5jbGFzc0xpc3QuYWRkKCdjcHQtcm93LXJldmVhbGVkJyk7DQogICAgICAgICAgICAgICAgfSwgcGFyc2VJbnQoZGVsYXksIDEwKSk7DQogICAgICAgICAgICAgICAgb2JzZXJ2ZXIudW5vYnNlcnZlKGVsKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgfSwgew0KICAgICAgICB0aHJlc2hvbGQ6IDAuMTUsDQogICAgICAgIHJvb3RNYXJnaW46ICcwcHggMHB4IC0zMHB4IDBweCcNCiAgICB9KTsNCg0KICAgIGlmIChoZWFkZXIpIG9ic2VydmVyLm9ic2VydmUoaGVhZGVyKTsNCiAgICBpZiAoZGl2aWRlcikgeyBkaXZpZGVyLmRhdGFzZXQuY3B0RGVsYXkgPSAnMjAwJzsgb2JzZXJ2ZXIub2JzZXJ2ZShkaXZpZGVyKTsgfQ0KICAgIGlmIChsZWdlbmQpIHsgbGVnZW5kLmRhdGFzZXQuY3B0RGVsYXkgPSAnNjAwJzsgb2JzZXJ2ZXIub2JzZXJ2ZShsZWdlbmQpOyB9DQogICAgaWYgKGZvb3Rub3RlKSB7IGZvb3Rub3RlLmRhdGFzZXQuY3B0RGVsYXkgPSAnODAwJzsgb2JzZXJ2ZXIub2JzZXJ2ZShmb290bm90ZSk7IH0NCg0KICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcm93cy5sZW5ndGg7IGkrKykgew0KICAgICAgICByb3dzW2ldLmRhdGFzZXQuY3B0RGVsYXkgPSBTdHJpbmcoMzAwICsgaSAqIDgwKTsNCiAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShyb3dzW2ldKTsNCiAgICB9DQp9KSgpOw0KPC9zY3JpcHQ+[\/vc_raw_html][\/vc_column][\/vc_row]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-FullWidth.php","meta":{"footnotes":""},"class_list":["post-36954","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.angkorphotographytours.com\/fr\/wp-json\/wp\/v2\/pages\/36954","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.angkorphotographytours.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.angkorphotographytours.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.angkorphotographytours.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.angkorphotographytours.com\/fr\/wp-json\/wp\/v2\/comments?post=36954"}],"version-history":[{"count":1,"href":"https:\/\/www.angkorphotographytours.com\/fr\/wp-json\/wp\/v2\/pages\/36954\/revisions"}],"predecessor-version":[{"id":36955,"href":"https:\/\/www.angkorphotographytours.com\/fr\/wp-json\/wp\/v2\/pages\/36954\/revisions\/36955"}],"wp:attachment":[{"href":"https:\/\/www.angkorphotographytours.com\/fr\/wp-json\/wp\/v2\/media?parent=36954"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}