PGh0bWw+DQoNCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGUgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXdpbmRvd3MtMTI1MiI+DQo8bWV0YSBuYW1lPVByb2dJZCBjb250ZW50PVBvd2VyUG9pbnQuU2xpZGU+DQo8bWV0YSBuYW1lPUdlbmVyYXRvciBjb250ZW50PSJNaWNyb3NvZnQgUG93ZXJQb2ludCA5Ij4NCjxsaW5rIGlkPU1haW4tRmlsZSByZWw9TWFpbi1GaWxlIGhyZWY9Ii4uL1NlcmVuYS5odG0iPg0KPGxpbmsgcmVsPVByZXZpZXcgaHJlZj1wcmV2aWV3LndtZj4NCjwhLS1baWYgIW1zb10+DQo8c3R5bGU+DQp2XDoqIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9DQpvXDoqIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9DQpwXDoqIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9DQouc2hhcGUge2JlaGF2aW9yOnVybCgjZGVmYXVsdCNWTUwpO30NCnZcOnRleHRib3gge2Rpc3BsYXk6bm9uZTt9DQo8L3N0eWxlPg0KPCFbZW5kaWZdLS0+DQo8dGl0bGU+Tm8gU2xpZGUgVGl0bGU8L3RpdGxlPg0KPG1ldGEgbmFtZT1EZXNjcmlwdGlvbiBjb250ZW50PTE1LU1heS0wMj4NCjxsaW5rIHJlbD1uZXh0IGhyZWY9InYzX3NsaWRlMDAwNy5odG0iPg0KPCFbaWYgIXBwdF0+DQo8c2NyaXB0Pg0KPCEtLQ0KZnVuY3Rpb24gVXBkYXRlKCkNCnsNCiAgaWYoIHdpbmRvdy5uYW1lID09ICJQUFRTbGQiICkNCiAgICBwYXJlbnQuU2xpZGVVcGRhdGVkKCd2M19zbGlkZTAwMDYuaHRtJyk7ICAgDQogIGVsc2UNCiAgICBwYXJlbnQubG9jYXRpb24uaHJlZiA9ICJ2M19kb2N1bWVudC5odG0iOw0KfQ0KDQpmdW5jdGlvbiBOb0hyZWYoKSB7fQ0KLy8tLT4NCjwvc2NyaXB0Pg0KPCFbZW5kaWZdPg0KPC9oZWFkPg0KDQo8Ym9keSBiYWNrZ3JvdW5kPSJ2M19tYXN0ZXIwM19iYWNrZ3JvdW5kLmdpZiIgYmdjb2xvcj13aGl0ZSBhbGluaz0iIzMzMzNjYyINCmxpbms9IiNjY2NjZmYiIHZsaW5rPSIjYjJiMmIyIiB0ZXh0PWJsYWNrIHRvcG1hcmdpbj0wIGxlZnRtYXJnaW49MA0Kb25sb2FkPSJVcGRhdGUoKSI+DQoNCjx0YWJsZSBib3JkZXI9MCB2YWxpZ249dG9wIHdpZHRoPTQ3NSBoZWlnaHQ9MzU2IGNlbGxwYWRkaW5nPTAgY2VsbHNwYWNpbmc9MD4NCiA8dHI+DQogIDx0ZCB3aWR0aD0zIGhlaWdodD0wIG5vd3JhcD48aW1nIHNyYz0idjNfc3BhY2UuZ2lmIiBib3JkZXI9MD48L3RkPg0KICA8dGQgd2lkdGg9NiBoZWlnaHQ9MCBub3dyYXA+PGltZyBzcmM9InYzX3NwYWNlLmdpZiIgYm9yZGVyPTA+PC90ZD4NCiAgPHRkIHdpZHRoPTEwIGhlaWdodD0wIG5vd3JhcD48aW1nIHNyYz0idjNfc3BhY2UuZ2lmIiBib3JkZXI9MD48L3RkPg0KICA8dGQgd2lkdGg9NiBoZWlnaHQ9MCBub3dyYXA+PGltZyBzcmM9InYzX3NwYWNlLmdpZiIgYm9yZGVyPTA+PC90ZD4NCiAgPHRkIHdpZHRoPTkgaGVpZ2h0PTAgbm93cmFwPjxpbWcgc3JjPSJ2M19zcGFjZS5naWYiIGJvcmRlcj0wPjwvdGQ+DQogIDx0ZCB3aWR0aD02IGhlaWdodD0wIG5vd3JhcD48aW1nIHNyYz0idjNfc3BhY2UuZ2lmIiBib3JkZXI9MD48L3RkPg0KICA8dGQgd2lkdGg9MzUyIGhlaWdodD0wIG5vd3JhcD48aW1nIHNyYz0idjNfc3BhY2UuZ2lmIiBib3JkZXI9MD48L3RkPg0KICA8dGQgd2lkdGg9MjggaGVpZ2h0PTAgbm93cmFwPjxpbWcgc3JjPSJ2M19zcGFjZS5naWYiIGJvcmRlcj0wPjwvdGQ+DQogIDx0ZCB3aWR0aD0zNSBoZWlnaHQ9MCBub3dyYXA+PGltZyBzcmM9InYzX3NwYWNlLmdpZiIgYm9yZGVyPTA+PC90ZD4NCiAgPHRkIHdpZHRoPTQgaGVpZ2h0PTAgbm93cmFwPjxpbWcgc3JjPSJ2M19zcGFjZS5naWYiIGJvcmRlcj0wPjwvdGQ+DQogPC90cj4NCiA8dHI+DQogIDx0ZCB3aWR0aD00NzUgaGVpZ2h0PTMxIGNvbHNwYW49MTE+PC90ZD4NCiA8L3RyPg0KIDx0cj4NCiAgPHRkIHdpZHRoPTI1IGhlaWdodD00NCBjb2xzcGFuPTQ+PC90ZD4NCiAgPHRkIHdpZHRoPTM2NyBoZWlnaHQ9NDQgY29sc3Bhbj0zPjxpbWcgc3JjPSJ2M19zbGlkZTAwMDZfaW1hZ2UwMDYuZ2lmIg0KICBib3JkZXI9MCB3aWR0aD0zNjcgaGVpZ2h0PTQ0PjwvdGQ+DQogIDx0ZCB3aWR0aD04MyBoZWlnaHQ9NDQgY29sc3Bhbj00PjwvdGQ+DQogPC90cj4NCiA8dHI+DQogIDx0ZCB3aWR0aD00NzUgaGVpZ2h0PTIzIGNvbHNwYW49MTE+PC90ZD4NCiA8L3RyPg0KIDx0cj4NCiAgPHRkIHdpZHRoPTQwIGhlaWdodD03MCBjb2xzcGFuPTY+PC90ZD4NCiAgPHRkIHdpZHRoPTM4MCBoZWlnaHQ9MTU3IGNvbHNwYW49MiByb3dzcGFuPTI+DQogIDx0YWJsZSBib3JkZXI9MCB2YWxpZ249dG9wIGNlbGxwYWRkaW5nPTAgY2VsbHNwYWNpbmc9MD4NCiAgIDx0cj4NCiAgICA8dGQgd2lkdGg9MTggaGVpZ2h0PTAgbm93cmFwPjxpbWcgc3JjPSJ2M19zcGFjZS5naWYiIGJvcmRlcj0wPjwvdGQ+DQogICAgPHRkIHdpZHRoPTEgaGVpZ2h0PTAgbm93cmFwPjxpbWcgc3JjPSJ2M19zcGFjZS5naWYiIGJvcmRlcj0wPjwvdGQ+DQogICAgPHRkIHdpZHRoPTUgaGVpZ2h0PTAgbm93cmFwPjxpbWcgc3JjPSJ2M19zcGFjZS5naWYiIGJvcmRlcj0wPjwvdGQ+DQogICAgPHRkIHdpZHRoPTE1IGhlaWdodD0wIG5vd3JhcD48aW1nIHNyYz0idjNfc3BhY2UuZ2lmIiBib3JkZXI9MD48L3RkPg0KICAgIDx0ZCB3aWR0aD0xIGhlaWdodD0wIG5vd3JhcD48aW1nIHNyYz0idjNfc3BhY2UuZ2lmIiBib3JkZXI9MD48L3RkPg0KICAgIDx0ZCB3aWR0aD01MCBoZWlnaHQ9MCBub3dyYXA+PGltZyBzcmM9InYzX3NwYWNlLmdpZiIgYm9yZGVyPTA+PC90ZD4NCiAgICA8dGQgd2lkdGg9OTEgaGVpZ2h0PTAgbm93cmFwPjxpbWcgc3JjPSJ2M19zcGFjZS5naWYiIGJvcmRlcj0wPjwvdGQ+DQogICAgPHRkIHdpZHRoPTE0MCBoZWlnaHQ9MCBub3dyYXA+PGltZyBzcmM9InYzX3NwYWNlLmdpZiIgYm9yZGVyPTA+PC90ZD4NCiAgICA8dGQgd2lkdGg9MjMgaGVpZ2h0PTAgbm93cmFwPjxpbWcgc3JjPSJ2M19zcGFjZS5naWYiIGJvcmRlcj0wPjwvdGQ+DQogICAgPHRkIHdpZHRoPTIwIGhlaWdodD0wIG5vd3JhcD48aW1nIHNyYz0idjNfc3BhY2UuZ2lmIiBib3JkZXI9MD48L3RkPg0KICAgIDx0ZCB3aWR0aD0yIGhlaWdodD0wIG5vd3JhcD48aW1nIHNyYz0idjNfc3BhY2UuZ2lmIiBib3JkZXI9MD48L3RkPg0KICAgIDx0ZCB3aWR0aD01IGhlaWdodD0wIG5vd3JhcD48aW1nIHNyYz0idjNfc3BhY2UuZ2lmIiBib3JkZXI9MD48L3RkPg0KICAgPC90cj4NCiAgIDx0cj4NCiAgICA8dGQgd2lkdGg9MTggaGVpZ2h0PTE5Pjxmb250IGZhY2U9QXJpYWwgY29sb3I9IiNmZjEzMDAiIHNpemU9Mj6VPC9mb250PjwvdGQ+DQogICAgPHRkIHdpZHRoPTM2MyBoZWlnaHQ9MTkgY29sc3Bhbj0xMj48Zm9udCBmYWNlPUFyaWFsIGNvbG9yPSIjMGMyNTc3IiBzaXplPTI+PGI+QQ0KICAgIHNpbmdsZSBwb2ludCBvZiBjb250cm9sIHRvIG1hbmFnZSBjaGFuZ2UgdG88L2I+PC9mb250Pjxicj4NCiAgICA8L3RkPg0KICAgPC90cj4NCiAgIDx0cj4NCiAgICA8dGQgd2lkdGg9MTggaGVpZ2h0PTE5PjwvdGQ+DQogICAgPHRkIHdpZHRoPTM0NiBoZWlnaHQ9MTkgY29sc3Bhbj05Pjxmb250IGZhY2U9QXJpYWwgY29sb3I9IiMwYzI1NzciIHNpemU9Mj48Yj5lbnRlcnByaXNlDQogICAgY29kZSBhbmQgY29udGVudCB0aHJvdWdob3V0IHRoZTwvYj48L2ZvbnQ+PGJyPg0KICAgIDwvdGQ+DQogICAgPHRkIHdpZHRoPTE3IGhlaWdodD0xOSBjb2xzcGFuPTM+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIHdpZHRoPTE4IGhlaWdodD0xOT48L3RkPg0KICAgIDx0ZCB3aWR0aD0xNjMgaGVpZ2h0PTE5IGNvbHNwYW49Nj48Zm9udCBmYWNlPUFyaWFsIGNvbG9yPSIjMGMyNTc3IiBzaXplPTI+PGI+YXBwbGljYXRpb24NCiAgICBsaWZlIGN5Y2xlPC9iPjwvZm9udD48YnI+DQogICAgPC90ZD4NCiAgICA8dGQgd2lkdGg9MjAwIGhlaWdodD0xOSBjb2xzcGFuPTY+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIHdpZHRoPTM4MSBoZWlnaHQ9NCBjb2xzcGFuPTEzPjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCB3aWR0aD0yNCBoZWlnaHQ9MTcgY29sc3Bhbj0zPjwvdGQ+DQogICAgPHRkIHdpZHRoPTE1IGhlaWdodD0xNz48Zm9udCBmYWNlPSJNb25vdHlwZSBTb3J0cyIgY29sb3I9IiNmZjEzMDAiIHNpemU9Mj4zPC9mb250PjwvdGQ+DQogICAgPHRkIHdpZHRoPTI4MiBoZWlnaHQ9MTcgY29sc3Bhbj00Pjxmb250IGZhY2U9QXJpYWwgY29sb3I9IiMwYzI1NzciIHNpemU9Mj5EZWxpdmVyDQogICAgaW50ZWdyYXRlZCBtdWx0aS1wbGF0Zm9ybSBzb2x1dGlvbnM8L2ZvbnQ+PGJyPg0KICAgIDwvdGQ+DQogICAgPHRkIHdpZHRoPTYwIGhlaWdodD0xNyBjb2xzcGFuPTU+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIHdpZHRoPTM4MSBoZWlnaHQ9MyBjb2xzcGFuPTEzPjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCB3aWR0aD0yNCBoZWlnaHQ9MTcgY29sc3Bhbj0zPjwvdGQ+DQogICAgPHRkIHdpZHRoPTE1IGhlaWdodD0xNz48Zm9udCBmYWNlPSJNb25vdHlwZSBTb3J0cyIgY29sb3I9IiNmZjEzMDAiIHNpemU9Mj4zPC9mb250PjwvdGQ+DQogICAgPHRkIHdpZHRoPTMyNyBoZWlnaHQ9MTcgY29sc3Bhbj03Pjxmb250IGZhY2U9QXJpYWwgY29sb3I9IiMwYzI1NzciIHNpemU9Mj5BdXRvbWF0ZQ0KICAgIGNoYW5nZSBwcm9jZXNzIGZvciBzb2Z0d2FyZSA8dT5hbmQ8L3U+IFdlYjwvZm9udD48YnI+DQogICAgPC90ZD4NCiAgICA8dGQgd2lkdGg9MTUgaGVpZ2h0PTE3IGNvbHNwYW49Mj48L3RkPg0KICAgPC90cj4NCiAgIDx0cj4NCiAgICA8dGQgd2lkdGg9MzgxIGhlaWdodD0xIGNvbHNwYW49MTM+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIHdpZHRoPTM5IGhlaWdodD0xNyBjb2xzcGFuPTQ+PC90ZD4NCiAgICA8dGQgd2lkdGg9NTEgaGVpZ2h0PTE3IGNvbHNwYW49Mj48Zm9udCBmYWNlPUFyaWFsIGNvbG9yPSIjMGMyNTc3IiBzaXplPTI+Y29udGVudDwvZm9udD48YnI+DQogICAgPC90ZD4NCiAgICA8dGQgd2lkdGg9MjkxIGhlaWdodD0xNyBjb2xzcGFuPTc+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIHdpZHRoPTM4MSBoZWlnaHQ9NCBjb2xzcGFuPTEzPjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCB3aWR0aD0yNCBoZWlnaHQ9MTcgY29sc3Bhbj0zPjwvdGQ+DQogICAgPHRkIHdpZHRoPTE1IGhlaWdodD0xNz48Zm9udCBmYWNlPSJNb25vdHlwZSBTb3J0cyIgY29sb3I9IiNmZjEzMDAiIHNpemU9Mj4zPC9mb250PjwvdGQ+DQogICAgPHRkIHdpZHRoPTMzMiBoZWlnaHQ9MTcgY29sc3Bhbj04Pjxmb250IGZhY2U9QXJpYWwgY29sb3I9IiMwYzI1NzciIHNpemU9Mj5CZXN0DQogICAgcHJhY3RpY2VzIGNvbnN1bHRpbmcgZW5zdXJlcyBzb3VuZCBwcm9jZXNzPC9mb250Pjxicj4NCiAgICA8L3RkPg0KICAgIDx0ZCB3aWR0aD0xMCBoZWlnaHQ9MTc+PC90ZD4NCiAgIDwvdHI+DQogICA8dHI+DQogICAgPHRkIHdpZHRoPTM4MSBoZWlnaHQ9NCBjb2xzcGFuPTEzPjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCB3aWR0aD0yNCBoZWlnaHQ9MTcgY29sc3Bhbj0zPjwvdGQ+DQogICAgPHRkIHdpZHRoPTE1IGhlaWdodD0xNz48Zm9udCBmYWNlPSJNb25vdHlwZSBTb3J0cyIgY29sb3I9IiNmZjEzMDAiIHNpemU9Mj4zPC9mb250PjwvdGQ+DQogICAgPHRkIHdpZHRoPTMwNSBoZWlnaHQ9MTcgY29sc3Bhbj01Pjxmb250IGZhY2U9QXJpYWwgY29sb3I9IiMwYzI1NzciIHNpemU9Mj5FZmZlY3RpdmUNCiAgICBwYXJ0bmVyc2hpcHMgZm9yIGVuZC10by1lbmQgc29sdXRpb248L2ZvbnQ+PGJyPg0KICAgIDwvdGQ+DQogICAgPHRkIHdpZHRoPTM3IGhlaWdodD0xNyBjb2xzcGFuPTQ+PC90ZD4NCiAgIDwvdHI+DQogIDwvdGFibGU+DQogIDwvdGQ+DQogIDx0ZCB3aWR0aD01NSBoZWlnaHQ9NzAgY29sc3Bhbj0zPjwvdGQ+DQogPC90cj4NCiA8dHI+DQogIDx0ZCB3aWR0aD0zIGhlaWdodD04Nz48L3RkPg0KICA8dGQgd2lkdGg9NiBoZWlnaHQ9MTgzIHJvd3NwYW49NT48aW1nIHNyYz0idjNfbWFzdGVyMDNfaW1hZ2UwMDcuZ2lmIg0KICBib3JkZXI9MCB3aWR0aD02IGhlaWdodD0xODMNCiAgYWx0PSJUZXh0IEJveDogQ29weXJpZ2h0IKkyMDAwIC0gMjAwMiwgU0VSRU5BIFNvZnR3YXJlLCBJbmMuICBBTEwgUklHSFRTIFJFU0VSVkVELCAyLTIwMDImIzEzO4tmb290ZXKbIj48L3RkPg0KICA8dGQgd2lkdGg9MzEgaGVpZ2h0PTg3IGNvbHNwYW49ND48L3RkPg0KICA8dGQgd2lkdGg9NTUgaGVpZ2h0PTg3IGNvbHNwYW49Mz48L3RkPg0KIDwvdHI+DQogPHRyPg0KICA8dGQgd2lkdGg9MyBoZWlnaHQ9NDE+PC90ZD4NCiAgPHRkIHdpZHRoPTQ2NiBoZWlnaHQ9NDEgY29sc3Bhbj05PjwvdGQ+DQogPC90cj4NCiA8dHI+DQogIDx0ZCB3aWR0aD0zIGhlaWdodD00PjwvdGQ+DQogIDx0ZCB3aWR0aD0xMCBoZWlnaHQ9ND48L3RkPg0KICA8dGQgd2lkdGg9NDQwIGhlaWdodD00IGNvbHNwYW49Nz48aW1nIHNyYz0idjNfc2xpZGUwMDA2X2ltYWdlMDA4LmdpZiINCiAgYm9yZGVyPTAgd2lkdGg9NDQwIGhlaWdodD00PjwvdGQ+DQogIDx0ZCB3aWR0aD0xNiBoZWlnaHQ9ND48L3RkPg0KIDwvdHI+DQogPHRyPg0KICA8dGQgd2lkdGg9MyBoZWlnaHQ9MzM+PC90ZD4NCiAgPHRkIHdpZHRoPTI1IGhlaWdodD0zMyBjb2xzcGFuPTM+PC90ZD4NCiAgPHRkIHdpZHRoPTQyMSBoZWlnaHQ9MzMgY29sc3Bhbj00Pg0KICA8dGFibGUgYm9yZGVyPTAgdmFsaWduPXRvcCBjZWxscGFkZGluZz0wIGNlbGxzcGFjaW5nPTA+DQogICA8dHI+DQogICAgPHRkIHdpZHRoPTI1IGhlaWdodD0wIG5vd3JhcD48aW1nIHNyYz0idjNfc3BhY2UuZ2lmIiBib3JkZXI9MD48L3RkPg0KICAgIDx0ZCB3aWR0aD0zNzEgaGVpZ2h0PTAgbm93cmFwPjxpbWcgc3JjPSJ2M19zcGFjZS5naWYiIGJvcmRlcj0wPjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCB3aWR0aD00MjEgaGVpZ2h0PTE2IGNvbHNwYW49MyBhbGlnbj1jZW50ZXI+PGZvbnQgZmFjZT1BcmlhbA0KICAgIGNvbG9yPSIjMGMyNTc3IiBzaXplPTI+PGI+QSA8L2I+PGI+PGk+Y29tcGxldGU8L2k+PC9iPjxiPiBpbmZyYXN0cnVjdHVyZSB0bw0KICAgIG1hbmFnZSBjaGFuZ2UgdG8gZW50ZXJwcmlzZTwvYj48L2ZvbnQ+PGJyPg0KICAgIDwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCB3aWR0aD00MjEgaGVpZ2h0PTEgY29sc3Bhbj0zPjwvdGQ+DQogICA8L3RyPg0KICAgPHRyPg0KICAgIDx0ZCB3aWR0aD0yNSBoZWlnaHQ9MTY+PC90ZD4NCiAgICA8dGQgd2lkdGg9MzcxIGhlaWdodD0xNiBhbGlnbj1jZW50ZXI+PGZvbnQgZmFjZT1BcmlhbCBjb2xvcj0iIzBjMjU3NyINCiAgICBzaXplPTI+PGI+YXBwbGljYXRpb25zIGZvciBxdWFsaXR5LCBzcGVlZCwgYW5kIGNvc3QgYWR2YW50YWdlPC9iPjwvZm9udD48YnI+DQogICAgPC90ZD4NCiAgICA8dGQgd2lkdGg9MjUgaGVpZ2h0PTE2PjwvdGQ+DQogICA8L3RyPg0KICA8L3RhYmxlPg0KICA8L3RkPg0KICA8dGQgd2lkdGg9MjAgaGVpZ2h0PTMzIGNvbHNwYW49Mj48L3RkPg0KIDwvdHI+DQogPHRyPg0KICA8dGQgd2lkdGg9MyBoZWlnaHQ9MTg+PC90ZD4NCiAgPHRkIHdpZHRoPTQ2NiBoZWlnaHQ9MTggY29sc3Bhbj05PjwvdGQ+DQogPC90cj4NCiA8dHI+DQogIDx0ZCB3aWR0aD00NzUgaGVpZ2h0PTUgY29sc3Bhbj0xMT48L3RkPg0KIDwvdHI+DQo8L3RhYmxlPg0KDQo8L2JvZHk+DQoNCjwvaHRtbD4NCg==