# Name: smd_style v0.1 # Type: Client side plugin # Stylesheet switcher # Author: Stef Dawson # URL: http://stefdawson.com/ # ..................................................................... # This is a plugin for Textpattern - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ..................................................................... YTo5OntzOjQ6Im5hbWUiO3M6OToic21kX3N0eWxlIjtzOjY6ImF1dGhvciI7czoxMToiU3Rl ZiBEYXdzb24iO3M6MTA6ImF1dGhvcl91cmkiO3M6MjI6Imh0dHA6Ly9zdGVmZGF3c29uLmNv bS8iO3M6NzoidmVyc2lvbiI7czozOiIwLjEiO3M6MTE6ImRlc2NyaXB0aW9uIjtzOjE5OiJT dHlsZXNoZWV0IHN3aXRjaGVyIjtzOjQ6ImNvZGUiO3M6NjE5OToiLy8gc21kX3N0eWxlIGJ5 IFN0ZWYgRGF3c29uDQpmdW5jdGlvbiBzbWRfc3R5bGUoJGF0dHMsICR0aGluZykgew0KCWds b2JhbCAkcHJldGV4dCwgJHRoaXNhcnRpY2xlLCAkcHJlZnMsICR2YXJpYWJsZTsNCg0KCS8v IFBsdWdpbiBvcHRpb25zDQoJZXh0cmFjdChsQXR0cyhhcnJheSgNCgkJJ3NoZWV0cycgPT4g JycsDQoJCSdmb3JtJyA9PiAnJywNCgkJJ3VzZV9kZWZhdWx0JyA9PiAnMCcsIC8vIDA9bm87 IDE9eWVzIGFzIHByaW1hcnkgc2hlZXQNCgkJJ3Byb21vdGVfcmVjZW50JyA9PiAnMScsIC8v IDA9cmV0YWluIG9yZGVyOyAxPXByb21vdGUgdXNlZCBzaGVldHMgYnV0IGhvbm91ciBjb3Jl IHNoZWV0czsgMj1wcm9tb3RlIGF0IGFsbCBjb3N0cw0KCQknc2tpcCcgPT4gJ2F1dG8nLA0K CQknc2hvd19lbXB0eScgPT4gJzAnLA0KCQkncmVhbF9zaGVldHMnID0+ICcwJywgLy8gMD1u bzsgMT15ZXMNCgkJJ3NoZWV0c19kaXInID0+IEAkcHJlZnNbJ3J2bV9jc3NfZGlyJ10sDQoJ CSdkZWxpbScgPT4gJywnLA0KCQkncGFyYW1kZWxpbScgPT4gJzonLA0KCQknZGVidWcnID0+ ICcwJywNCgkpLCAkYXR0cykpOw0KDQoJJG91dCA9IGFycmF5KCk7DQoJJHN0eWxlcyA9IGRv X2xpc3QoJHNoZWV0cywgJGRlbGltKTsNCgkkZXhwc3R5bGVzID0gYXJyYXkoKTsNCglmb3Jl YWNoICgkc3R5bGVzIGFzICRpZHggPT4gJG9wdCkgew0KCQlpZiAoc3RycG9zKCRvcHQsICI/ IikgPT09IDApIHsNCgkJCSRvcHQgPSBzdWJzdHIoc3RydG9sb3dlcigkb3B0KSwgMSk7DQoJ CQkkdG1wYSA9IGFycmF5KCk7DQoJCQlpZiAoaXNzZXQoJHByZXRleHRbJG9wdF0pICYmICRw cmV0ZXh0WyRvcHRdICE9ICIiKSB7DQoJCQkJJHRtcGEgPSBkb19saXN0KCRwcmV0ZXh0WyRv cHRdLCAkZGVsaW0pOw0KCQkJCSRleHBzdHlsZXMgPSBhcnJheV9tZXJnZSgkZXhwc3R5bGVz LCAkdG1wYSk7DQoJCQl9IGVsc2UgaWYgKGlzc2V0KCR0aGlzYXJ0aWNsZVskb3B0XSkgJiYg JHRoaXNhcnRpY2xlWyRvcHRdICE9ICIiKSB7DQoJCQkJJHRtcGEgPSBkb19saXN0KCR0aGlz YXJ0aWNsZVskb3B0XSwgJGRlbGltKTsNCgkJCQkkZXhwc3R5bGVzID0gYXJyYXlfbWVyZ2Uo JGV4cHN0eWxlcywgJHRtcGEpOw0KCQkJfSBlbHNlIGlmIChpc3NldCgkdmFyaWFibGVbJG9w dF0pICYmICR2YXJpYWJsZVskb3B0XSAhPSAiIikgew0KCQkJCSR0bXBhID0gZG9fbGlzdCgk dmFyaWFibGVbJG9wdF0sICRkZWxpbSk7DQoJCQkJJGV4cHN0eWxlcyA9IGFycmF5X21lcmdl KCRleHBzdHlsZXMsICR0bXBhKTsNCgkJCX0gZWxzZSBpZiAoaXNzZXQoJF9HRVRbJG9wdF0p ICYmICRfR0VUWyRvcHRdICE9ICIiKSB7DQoJCQkJJHRtcGEgPSBkb19saXN0KGdwcygkb3B0 KSwgJGRlbGltKTsNCgkJCQkkZXhwc3R5bGVzID0gYXJyYXlfbWVyZ2UoJGV4cHN0eWxlcywg JHRtcGEpOw0KCQkJfSBlbHNlIGlmICgkc2hvd19lbXB0eSkgew0KCQkJCSRleHBzdHlsZXNb XSA9ICRvcHQ7DQoJCQl9DQoJCX0gZWxzZSB7DQoJCQkkZXhwc3R5bGVzW10gPSAkb3B0Ow0K CQl9DQoJfQ0KCSRzdHlsZXMgPSAkZXhwc3R5bGVzOw0KDQoJJHNraXAgPSAoJHNraXA9PSJh dXRvIikgPyAkdXNlX2RlZmF1bHQgOiAkc2tpcDsNCglpZiAoJHVzZV9kZWZhdWx0ID4gMCkg ew0KCQkkZGVmYXVsdCA9IHNhZmVfcm93KCdjc3MnLCAndHhwX3NlY3Rpb24nLCAibmFtZSA9 ICciLmRvU2xhc2goJHByZXRleHRbJ3MnXSkuIiciLCAkZGVidWcpOw0KCQlhcnJheV91bnNo aWZ0KCRzdHlsZXMsICRkZWZhdWx0Wydjc3MnXSk7DQoJfQ0KDQoJLy8gSWYgYSBwcmV2aW91 cyBzdHlsZSBoYXMgYmVlbiBjaG9zZW4sIG1vdmUgaXQgdG8gdGhlIGZyb250IG9mIHRoZSBs aXN0IChpZiByZXF1ZXN0ZWQpLg0KCS8vIFRoaXMgZm9yY2VzIGdvb2QgYnJvd3NlcnMgdG8g J2ZsYXNoJyBsZXNzIHdoZW4gY2hhbmdpbmcgcGFnZXMNCgkkY29va2llc3R5bGUgPSBjcygi c21kX3N0eWxlIik7DQoJaWYgKCRwcm9tb3RlX3JlY2VudCAmJiAkY29va2llc3R5bGUpIHsN CgkJJHJlamlnID0gYXJyYXkoKTsNCgkJZm9yZWFjaCAoJHN0eWxlcyBhcyAkaWR4ID0+ICRz dHlsZSkgew0KCQkJaWYgKCgkaWR4IDwgJHNraXApICYmICRwcm9tb3RlX3JlY2VudCA9PSAx KSB7DQoJCQkJJHJlamlnW10gPSAkc3R5bGU7DQoJCQkJY29udGludWU7DQoJCQl9DQoJCQlp ZiAoc3RycG9zKCRzdHlsZSwgJGNvb2tpZXN0eWxlKSAhPT0gZmFsc2UpIHsNCgkJCQkkcmVq aWdbXSA9ICRzdHlsZTsNCgkJCQlicmVhazsNCgkJCX0NCgkJfQ0KCQkkc3R5bGVzID0gYXJy YXlfbWVyZ2UoJHJlamlnLCAkc3R5bGVzKTsNCgkJJHN0eWxlcyA9IGFycmF5X3VuaXF1ZSgk c3R5bGVzKTsNCgl9DQoNCglpZiAoJGRlYnVnKSB7DQoJCWVjaG8gIisrIFNUWUxFUyArKyI7 DQoJCWRtcCgkc3R5bGVzKTsNCgl9DQoJJHN0eWxlY250ID0gMTsNCgkkbnVtX3N0eWxlcyA9 IGNvdW50KCRzdHlsZXMpOw0KCWZvcmVhY2ggKCRzdHlsZXMgYXMgJHN0eWxlKSB7DQoJCSRz dHlsZW9wdHMgPSBkb19saXN0KCRzdHlsZSwgJHBhcmFtZGVsaW0pOw0KCQkkbmFtZSA9IChj b3VudCgkc3R5bGVvcHRzKSA+PSAxKSA/ICRzdHlsZW9wdHNbMF0gOiAnJzsNCgkJJHRpdGxl ID0gKGNvdW50KCRzdHlsZW9wdHMpID49IDIpID8gJHN0eWxlb3B0c1sxXSA6ICRuYW1lOw0K CQkkbWVkaWEgPSAoY291bnQoJHN0eWxlb3B0cykgPj0gMykgPyAkc3R5bGVvcHRzWzJdIDog J3NjcmVlbic7DQoJCSRyZWwgPSAoKCRzdHlsZWNudCA+ICRza2lwKSA/ICJhbHRlcm5hdGUg IiA6ICcnKSAuICJzdHlsZXNoZWV0IjsNCgkJJHVybCA9IGh1LiAoKCRyZWFsX3NoZWV0cyAm JiAkc2hlZXRzX2RpcikgPyAkc2hlZXRzX2RpciAuICcvJyAuc3RydG9sb3dlcihzYW5pdGl6 ZUZvclVybCgkbmFtZSkpLiAnLmNzcycgOiAndGV4dHBhdHRlcm4vY3NzLnBocD9uPScuJG5h bWUpOw0KDQoJCS8vIE1ha2UgdXAgdGhlIHJlcGxhY2VtZW50IGFycmF5DQoJCSRyZXBsYWNl bWVudHMgPSBhcnJheSgNCgkJCQkne3NtZF9zdHlsZV9uYW1lfScgPT4gJG5hbWUsDQoJCQkJ J3tzbWRfc3R5bGVfdXJsfScgPT4gJHVybCwNCgkJCQkne3NtZF9zdHlsZV9tZWRpYX0nID0+ ICRtZWRpYSwNCgkJCQkne3NtZF9zdHlsZV9yZWx9JyA9PiAkcmVsLA0KCQkJCSd7c21kX3N0 eWxlX3RpdGxlfScgPT4gJHRpdGxlLA0KCQkJCSd7c21kX3N0eWxlX2NvdW50ZXJ9JyA9PiAk c3R5bGVjbnQsDQoJCQkJJ3tzbWRfc3R5bGVfdG90YWx9JyA9PiAkbnVtX3N0eWxlcywNCgkJ KTsNCg0KCQlpZiAoJGRlYnVnKSB7DQoJCQllY2hvICIrKyBSRVBMQUNFTUVOVFMgKysiOw0K CQkJZG1wKCRyZXBsYWNlbWVudHMpOw0KCQl9DQoNCgkJJG91dFtdID0gKCR0aGluZykgPyBw YXJzZShzdHJ0cigkdGhpbmcsICRyZXBsYWNlbWVudHMpKSA6ICgoJGZvcm0pID8gc3RydHIo cGFyc2VfZm9ybSgkZm9ybSksICRyZXBsYWNlbWVudHMpIDoNCgkJCQljc3MoYXJyYXkoDQoJ CQkJCSJmb3JtYXQiID0+ICJsaW5rIiwNCgkJCQkJIm1lZGlhIiA9PiAkbWVkaWEsDQoJCQkJ CSJuIiA9PiAkbmFtZSwNCgkJCQkJInJlbCIgPT4gJHJlbCwNCgkJCQkJInRpdGxlIiA9PiAk dGl0bGUsDQoJCQkJKSkpOw0KDQoJCSRzdHlsZWNudCsrOw0KCX0NCg0KCXJldHVybiBqb2lu KCJcbiIsICRvdXQpOw0KfQ0KDQovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi8vIEph dmFzY3JpcHQgc3R5bGUgc3dpdGNoZXINCmZ1bmN0aW9uIHNtZF9zdHlsZXN3aXRjaCgkYXR0 cywgJHRoaW5nKSB7DQoNCgkvLyBQbHVnaW4gb3B0aW9ucw0KCWV4dHJhY3QobEF0dHMoYXJy YXkoDQoJCSd3cmFwdGFnJyA9PiAndWwnLA0KCQknY2xhc3MnID0+ICdzbWRfc3dpdGNoZXIn LA0KCQknYnJlYWsnID0+ICdsaScsDQoJCSdicmVha19pc190YWcnID0+ICcxJywNCgkJJ2xp bmtjbGFzcycgPT4gJ3NtZF9zdHlsZXN3aXRjaCcsDQoJCSdhY3RpdmVjbGFzcycgPT4gJ3Nt ZF9jdXJyc3R5bGUnLA0KCQknYWx0X29ubHknID0+ICcwJywgLy8gMD1ObzsgMT1ZZXMsIG9u bHkgc2hvdyBhbHRlcm5hdGUgc3R5bGVzaGVldHMNCgkJJ3NvcnQnID0+ICcxJywgLy8gMD1O bzsgMT1ZZXMNCgkJJ2Nhc2Vfc2Vuc2l0aXZlJyA9PiAnMCcsDQoJCSdleHBpcnknID0+ICc3 JywgLy8gSW4gZGF5cw0KCQknZGVidWcnID0+ICcwJywNCgkpLCAkYXR0cykpOw0KDQoJLy8g TWFrZSBzdXJlIHRoZXJlIGFyZSBhbHdheXMgalF1ZXJ5IGVsZW1lbnRzIHRvIHN3aW5nIG9m ZiwgdGh1cyBhdm9pZGluZyBqcyBlcnJvcnMNCgkkY2xhc3MgPSAodHJpbSgkY2xhc3MpPT0i IikgPyAic21kX3N3aXRjaGVyIiA6ICRjbGFzczsNCgkkbGlua2NsYXNzID0gKHRyaW0oJGxp bmtjbGFzcyk9PSIiKSA/ICdzbWRfc3R5bGVzd2l0Y2gnIDogJGxpbmtjbGFzczsNCgkkc3R5 bGVtYXRjaCA9ICgoJGFsdF9vbmx5KSA/ICdhbHRlcm5hdGUgJyA6ICcnKS4nc3R5bGUnOw0K DQoJJG91dCA9IGFycmF5KCk7DQoJaWYgKCR3cmFwdGFnKSB7DQoJCSRvdXRbXSA9ICc8Jy4k d3JhcHRhZy4nIGNsYXNzPSInLiRjbGFzcy4nIj48LycuJHdyYXB0YWcuJz4nOw0KCX0NCgkk b3V0W10gPSA8PDxFT0pTDQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIv dGV4dHBhdHRlcm4vdGV4dHBhdHRlcm4uanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0 ZXh0L2phdmFzY3JpcHQiPg0KalF1ZXJ5KGZ1bmN0aW9uKCkgew0KCXZhciBzbWRfc3R5bGVz ID0gW107DQoJdmFyIGFjdF9jbGFzcyA9ICcnOw0KCWpRdWVyeSgnbGlua1tAcmVsKj17JHN0 eWxlbWF0Y2h9XVtAdGl0bGVdJykuZWFjaChmdW5jdGlvbihpZCkgew0KCQlpZiAodGhpcy5k aXNhYmxlZCA9PSB0cnVlKSB7DQoJCQlhY3RfY2xhc3MgPSAnJzsNCgkJfSBlbHNlIHsNCgkJ CWFjdF9jbGFzcyA9ICIgeyRhY3RpdmVjbGFzc30iOw0KCQl9DQoJCXNtZF9zdHlsZXMucHVz aCgnPGEgcmVsPSInK3RoaXMuZ2V0QXR0cmlidXRlKCd0aXRsZScpKyciIGhyZWY9IicrdGhp cy5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSsnIiBjbGFzcz0ieyRsaW5rY2xhc3N9JythY3RfY2xh c3MrJyI+Jyt0aGlzLmdldEF0dHJpYnV0ZSgndGl0bGUnKSsnPC9hPicpOw0KCX0pOw0KDQoJ aWYgKHskc29ydH09PTEpIHsNCgkJc21kX3N0eWxlcyA9ICh7JGNhc2Vfc2Vuc2l0aXZlfT09 MCkNCgkJCT8gc21kX3N0eWxlcy5zb3J0KGZ1bmN0aW9uKGEsYikgew0KCQkJCXZhciB4ID0g YS50b0xvd2VyQ2FzZSgpOw0KCQkJCXZhciB5ID0gYi50b0xvd2VyQ2FzZSgpOw0KCQkJCXJl dHVybiAoKHggPCB5KSA/IC0xIDogKCh4ID4geSkgPyAxIDogMCkpOw0KCQkJCX0pDQoJCQk6 IHNtZF9zdHlsZXMuc29ydCgpOw0KCX0NCglqUXVlcnkoJy57JGNsYXNzfScpLmFwcGVuZCgN CgkJKCh7JGJyZWFrX2lzX3RhZ309PTApDQoJCQk/IHNtZF9zdHlsZXMuam9pbigieyRicmVh a30iKQ0KCQkJOiAiPHskYnJlYWt9PiIrc21kX3N0eWxlcy5qb2luKCI8L3skYnJlYWt9Pjx7 JGJyZWFrfT4iKSsiPC97JGJyZWFrfT4iDQoJCSkNCgkpOw0KDQoJalF1ZXJ5KCcueyRsaW5r Y2xhc3N9JykuY2xpY2soZnVuY3Rpb24oKSB7DQoJCWpRdWVyeSgnLnskbGlua2NsYXNzfScp LmVhY2goZnVuY3Rpb24oKSB7DQoJCQlqUXVlcnkodGhpcykucmVtb3ZlQ2xhc3MoInskYWN0 aXZlY2xhc3N9Iik7DQoJCX0pOw0KCQlzd2l0Y2hTdHlsZXNoZWV0KHRoaXMuZ2V0QXR0cmli dXRlKCJyZWwiKSk7DQoJCWpRdWVyeSh0aGlzKS5hZGRDbGFzcygieyRhY3RpdmVjbGFzc30i KTsNCgkJcmV0dXJuIGZhbHNlOw0KCX0pOw0KCXZhciBjdXJyU3R5bGUgPSBnZXRDb29raWUo J3NtZF9zdHlsZScpOw0KCWlmIChjdXJyU3R5bGUpIHsNCgkJc3dpdGNoU3R5bGVzaGVldChj dXJyU3R5bGUpOw0KCX0NCn0pOw0KLy8gU3dpdGNoIHRvIHRoZSBnaXZlbiBzdHlsZXNoZWV0 DQpmdW5jdGlvbiBzd2l0Y2hTdHlsZXNoZWV0KHN0eWxlcmVmKSB7DQoJalF1ZXJ5KCdsaW5r W0ByZWwqPXN0eWxlXVtAdGl0bGVdJykuZWFjaChmdW5jdGlvbihpZCkgew0KCQl0aGlzLmRp c2FibGVkID0gdHJ1ZTsNCgkJaWYgKHRoaXMuZ2V0QXR0cmlidXRlKCd0aXRsZScpID09IHN0 eWxlcmVmKSB0aGlzLmRpc2FibGVkID0gZmFsc2U7DQoJfSk7DQoJc2V0Q29va2llKCdzbWRf c3R5bGUnLCBzdHlsZXJlZiwgeyRleHBpcnl9KTsNCn0NCjwvc2NyaXB0Pg0KRU9KUzsNCg0K CXJldHVybiBqb2luKCJcbiIsICRvdXQpOw0KfSI7czo0OiJ0eXBlIjtzOjE6IjAiO3M6NDoi aGVscCI7czoxODQ0NDoiCTxwPjxkaXYgaWQ9InNtZF9oZWxwIj48L3A+CgoJPGgxPnNtZF9z dHlsZTwvaDE+CgoJPHA+TWFuYWdlIHlvdXIgYWx0ZXJuYXRlIHN0eWxlc2hlZXRzIGFuZCAo b3B0aW9uYWxseSkgc3dpdGNoIGJldHdlZW4gdGhlbSB2aWEgSmF2YXNjcmlwdC48L3A+CgoJ PHA+RmVhdHVyZXM6PC9wPgoKCTx1bD4KCQk8bGk+UHJvdmlkZSBhIGxpc3Qgb2Ygc3R5bGUg c2hlZXQgbmFtZXMgZGVyaXZlZCBmcm9tOgoJPHVsPgoJCTxsaT5hIGdpdmVuIGxpc3Q8L2xp PgoJCTxsaT5hbnkgYXJ0aWNsZSBmaWVsZDwvbGk+CgkJPGxpPmEgPGNvZGU+Jmx0O3R4cDp2 YXJpYWJsZSAvJmd0OzwvY29kZT48L2xpPgoJCTxsaT5hIDxzcGFuIGNsYXNzPSJjYXBzIj5V Ukw8L3NwYW4+IHZhcmlhYmxlPC9saT4KCQk8bGk+c29tZSBjb21iaW5hdGlvbiBvZiB0aGUg YWJvdmU8L2xpPgoJPC91bD48L2xpPgoJCTxsaT5Vc2UgZWl0aGVyIHRoZSBidWlsdC1pbiBz dHlsZXNoZWV0IHN3aXRjaGluZyBhYmlsaXR5IG9mIG1vZGVybiBicm93c2VycyBvciB0aGUg cGx1Z2luJiM4MjE3O3MgamF2YXNjcmlwdCBzd2l0Y2hlcjwvbGk+CgkJPGxpPlN0b3JlcyBj dXJyZW50IHN0eWxlIGluIGEgY29va2llIGFuZCBjYW4gYmUgaW5zdHJ1Y3RlZCB0byBsb2Fk IHRoYXQgc3R5bGUgZmlyc3Qgb24gc3Vic2VxdWVudCBwYWdlczwvbGk+CgkJPGxpPkNvbXBh dGlibGUgd2l0aCA8c3BhbiBjbGFzcz0iY2FwcyI+VFhQPC9zcGFuPiBzdHlsZXNoZWV0cywg JiM4MjE2O3JlYWwmIzgyMTc7IHN0eWxlc2hlZXRzIGFuZCB0aGUgcnZtX2NzcyBwbHVnaW48 L2xpPgoJCTxsaT5PcHRpb25hbGx5IGJ1aWxkIHlvdXIgb3duIHN0eWxlc2hlZXQgc3ludGF4 IHZpYSBhIGZvcm0vY29udGFpbmVyPC9saT4KCTwvdWw+CgoJPGgyIGNsYXNzPSJhdXRob3Ii PkF1dGhvcjwvaDI+CgoJPHA+PGEgaHJlZj0iaHR0cDovL3N0ZWZkYXdzb24uY29tL2NvbW1l bnRGb3JtIj5TdGVmIERhd3NvbjwvYT48L3A+CgoJPGgyIGNsYXNzPSJpbnN0YWxsIj5JbnN0 YWxsYXRpb24gLyBVbmluc3RhbGxhdGlvbjwvaDI+CgoJPHA+RG93bmxvYWQgdGhlIHBsdWdp biBmcm9tIGVpdGhlciA8YSBocmVmPSJodHRwOi8vdGV4dHBhdHRlcm4ub3JnL3BsdWdpbnMv MTAyNC9zbWRfc3R5bGUiPnRleHRwYXR0ZXJuLm9yZzwvYT4sIG9yIHRoZSA8YSBocmVmPSJo dHRwOi8vc3RlZmRhd3Nvbi5jb20vc3ciPnNvZnR3YXJlIHBhZ2U8L2E+LCBwYXN0ZSB0aGUg Y29kZSBpbnRvIHRoZSA8c3BhbiBjbGFzcz0iY2FwcyI+VFhQPC9zcGFuPiBBZG1pbiAtJmd0 OyBQbHVnaW5zIHBhbmUsIGluc3RhbGwgYW5kIGVuYWJsZSB0aGUgcGx1Z2luLiBWaXNpdCB0 aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLnRleHRwYXR0ZXJuLmNvbS92aWV3dG9waWMucGhw P2lkPTI4NTkyIj5mb3J1bSB0aHJlYWQ8L2E+IGZvciBtb3JlIGluZm8gYW5kIHRvIHJlcG9y dCB0aGUgc3VjY2VzcyAob3Igb3RoZXJ3aXNlKSBvZiB0aGlzIHBsdWdpbi48L3A+CgoJPHA+ VG8gdW5pbnN0YWxsLCBzaW1wbHkgZGVsZXRlIGZyb20gdGhlIEFkbWluIC0mZ3Q7IFBsdWdp bnMgcGFnZS48L3A+CgoJPGgyIGNsYXNzPSJ1c2FnZSI+VXNhZ2U8L2gyPgoKCTxwPlRoZXJl IGFyZSB0d28gdGFncyBhdmFpbGFibGU6IG9uZSBmb3IgdXNlIGluIHRoZSA8Y29kZT4mbHQ7 aGVhZCZndDs8L2NvZGU+IG9mIHlvdXIgcGFnZSB0byBzZXQgdXAgdGhlIGFsdGVybmF0ZSBz dHlsZXMsIGFuZCB0aGUgb3RoZXIgY2FuIG9wdGlvbmFsbHkgYWRkIGEgamF2YXNjcmlwdCBz dHlsZXNoZWV0IHN3aXRjaGVyIHRvIHRoZSBwYWdlLCB3aGVyZXZlciB5b3Ugd2FudCBpdCB0 byBhcHBlYXIuPC9wPgoKCTxoMyBpZD0ic21kX3N0eWxlIj5zbWRfc3R5bGU8L2gzPgoKCTxw IGNsYXNzPSJ0YWctc3VtbWFyeSI+U29tZXdoZXJlIGluIHlvdXIgPHNwYW4gY2xhc3M9ImNh cHMiPkhUTUw8L3NwYW4+IDxjb2RlPiZsdDtoZWFkJmd0OzwvY29kZT4gdGFnLCBhZGQgYSBj YWxsIHRvIDxjb2RlPnNtZF9zdHlsZTwvY29kZT4gdG8gaW5jbHVkZSBhIGxpc3Qgb2YgYWx0 ZXJuYXRlIHN0eWxlc2hlZXRzLiBVc2UgdGhlIGZvbGxvd2luZyBhdHRyaWJ1dGVzIHRvIGN1 c3RvbWlzZSB0aGUgb3V0cHV0OjwvcD4KCgk8aDQgY2xhc3M9ImF0dHMgIiBpZD0iYXR0cmli dXRlcyI+QXR0cmlidXRlczwvaDQ+CgoJPHVsPgoJCTxsaT48c3BhbiBjbGFzcz0iYXRubSI+ c2hlZXRzPC9zcGFuPiA6IGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2Ygc3R5bGVzaGVldHMg dG8gaW5jbHVkZS4gVGhlc2UgYXJlIHRoZWlyIDxzcGFuIGNsYXNzPSJjYXBzIj5UWFA8L3Nw YW4+IG5hbWVzIGFzIGdpdmVuIG9uIHRoZSBQcmVzZW50YXRpb24tJmd0O1N0eWxlcyB0YWIu IFNlZSA8YSBocmVmPSIjc2hlZXRuYW1lcyI+c2hlZXQgbmFtZXM8L2E+IGZvciBtb3JlPC9s aT4KCQk8bGk+PHNwYW4gY2xhc3M9ImF0bm0iPmZvcm08L3NwYW4+IDogdGhlIDxzcGFuIGNs YXNzPSJjYXBzIj5UWFA8L3NwYW4+IGZvcm0gaW4gd2hpY2ggdG8gYnVpbGQgeW91ciBvd24g PGNvZGU+Jmx0O2xpbmsmZ3Q7PC9jb2RlPiB0YWdzLiBTZWUgPGEgaHJlZj0iI3JlcGxhY2Vt ZW50cyI+cmVwbGFjZW1lbnQgdGFnczwvYT4uIElmIG5vdCBzcGVjaWZpZWQgKGFuZCBubyBj b250YWluZXIgaXMgdXNlZCkgYSBzdGFuZGFyZCA8c3BhbiBjbGFzcz0iY2FwcyI+WEhUTUw8 L3NwYW4+IGxpbmsgd2lsbCBiZSBvdXRwdXQ8L2xpPgoJCTxsaT48c3BhbiBjbGFzcz0iYXRu bSI+dXNlX2RlZmF1bHQ8L3NwYW4+IDogdGhlIGxpc3Qgb2Ygc3R5bGVzaGVldHMgZ2l2ZW4g aW4gdGhlIDxjb2RlPnNoZWV0czwvY29kZT4gcGFyYW1ldGVyIGRvZXMgbm90IHVzdWFsbHkg Y29udGFpbiB0aGUgJiM4MjE2O2RlZmF1bHQmIzgyMTc7IHN0eWxlc2hlZXQgYXNzb2NpYXRl ZCB3aXRoIHRoZSBzZWN0aW9uLiBUaGlzIGFsbG93cyB5b3UgdG8gYWx3YXlzIGluY2x1ZGUg YSAmIzgyMTY7Z2xvYmFsJiM4MjE3OyBzaGVldCB3aXRoIGNvcmUgcnVsZXMgaW4gaXQgYW5k IGhhdmUgdGhlIGFsdGVybmF0ZXMgb3ZlcnJpZGUvZmlsbCBpbiB0aGUgZ2Fwcy4gSWYsIGhv d2V2ZXIsIHlvdSB3aXNoIHNtZF9zdHlsZSB0byBvdXRwdXQgdGhlIGRlZmF1bHQgc3R5bGVz aGVldCBzbyB5b3UgZG9uJiM4MjE3O3QgaGF2ZSB0byBkbyBpdCBlbHNld2hlcmUsIHNwZWNp ZnkgPGNvZGU+dXNlX2RlZmF1bHQ9JnF1b3Q7MSZxdW90OzwvY29kZT48L2xpPgoJCTxsaT48 c3BhbiBjbGFzcz0iYXRubSI+cHJvbW90ZV9yZWNlbnQ8L3NwYW4+IDogRGV0ZXJtaW5lIHdo YXQgdG8gZG8gd2hlbiB0aGUgcGFnZSBsb2FkcyBhbmQgdGhlIHZpc2l0b3IgaGFzIGFscmVh ZHkgc3dpdGNoZWQgdG8gYW4gYWx0ZXJuYXRlIHN0eWxlc2hlZXQuIFRoaXMgY2FuIGJlIHVz ZWZ1bCB0byB0cnkgYW5kIGhlbHAgcHJldmVudCAmIzgyMTY7Zmxhc2hlcyBvZiB1bnN0eWxl ZCBjb250ZW50JiM4MjE3OyBpbiBnb29kIGJyb3dzZXJzLiBDYW4gdGFrZSBvbmUgb2YgdGhy ZWUgdmFsdWVzOgoJPHVsPgoJCTxsaT48Y29kZT4wPC9jb2RlPiA6IGRvIG5vdGhpbmcsIGku ZS4gc2hlZXRzIGFyZSBhbHdheXMgbG9hZGVkIGluIHRoZSBnaXZlbiBvcmRlcjwvbGk+CgkJ PGxpPjxjb2RlPjE8L2NvZGU+ICh0aGUgZGVmYXVsdCkgOiBhbnkgc3R5bGUgc2hlZXQgdGhh dCBoYXMgYmVlbiBjaG9zZW4gYnkgdGhlIHZpc2l0b3Igd2lsbCBiZSBsb2FkZWQgYXMgc29v biBhcyBwb3NzaWJsZSA8c3Ryb25nPmFmdGVyPC9zdHJvbmc+IGFueSBjb3JlIHNoZWV0cyAo aS5lLiBzaGVldHMgdGhhdCB5b3Ugd2FudCB0byBiZSBub24tYWx0ZXJuYXRlKS4gVGh1cyBp ZiB5b3UgaGF2ZSAyICYjODIxNjtjb3JlJiM4MjE3OyBzaGVldHMgYW5kIHRoZSB2aXNpdG9y IGNob29zZXMgdGhlIGFsdGVybmF0ZSBzaGVldCB0aGF0IHVzZWQgdG8gYmUgIzQgaW4gdGhl IGxpc3QsIGl0IHdpbGwgbm93IGJlIGxvYWRlZCAzcmQ8L2xpPgoJCTxsaT48Y29kZT4yPC9j b2RlPiA6IGFueSBzdHlsZSBzaGVldCB0aGF0IGhhcyBiZWVuIGNob3NlbiBieSB0aGUgdmlz aXRvciB3aWxsIGJlIGxvYWRlZCBmaXJzdCwgaS5lLiB0aGUgY2hvc2VuIHNoZWV0IHdpbGwg PGVtPmFsd2F5czwvZW0+IGJlIHByb21vdGVkIHRvIHRoZSAjMSBzbG90PC9saT4KCTwvdWw+ PC9saT4KCQk8bGk+PHNwYW4gY2xhc3M9ImF0bm0iPnNraXA8L3NwYW4+IDogaW4gdGhlIGxp c3Qgb2Ygc2hlZXRzLCBza2lwIHRoaXMgbnVtYmVyIG9mIHNoZWV0cyBiZWZvcmUgc3RhcnRp bmcgdG8gbGFiZWwgdGhlbSBhcyAmIzgyMTY7YWx0ZXJuYXRlJiM4MjE3Oy4gVGhlIHNwZWNp YWwgZGVmYXVsdCBzZXR0aW5nIG9mIDxjb2RlPmF1dG88L2NvZGU+IGJlaGF2ZXMgdGh1czoK CTx1bD4KCQk8bGk+aWYgPGNvZGU+dXNlX2RlZmF1bHQ9JnF1b3Q7MSZxdW90OzwvY29kZT4s IHRoZSBmaXJzdCBzaGVldCBpbiB0aGUgbGlzdCB3aWxsIGJlIHNraXBwZWQgKGkuZS4gd2ls bCBhbHdheXMgYmUgYSB0cnVlIHN0eWxlc2hlZXQpLiBFcXVpdmFsZW50IHRvIDxjb2RlPnNr aXA9JnF1b3Q7MSZxdW90OzwvY29kZT48L2xpPgoJCTxsaT5pZiA8Y29kZT51c2VfZGVmYXVs dD0mcXVvdDswJnF1b3Q7PC9jb2RlPiB0aGUgZmlyc3Qgc2hlZXQgaW4gdGhlIGxpc3Qgd2ls bCBiZSBhbiBhbHRlcm5hdGUgc3R5bGVzaGVldCAoaS5lLiBlcXVpdmFsZW50IHRvIDxjb2Rl PnNraXA9JnF1b3Q7MCZxdW90OzwvY29kZT4pPC9saT4KCTwvdWw+PC9saT4KCQk8bGk+PHNw YW4gY2xhc3M9ImF0bm0iPnNob3dfZW1wdHk8L3NwYW4+IDogaWYgYW55IGZpZWxkIGhhcyBu byB2YWx1ZSBhc3NpZ25lZCB0byBpdCwgc2V0dGluZyB0aGlzIHRvIDxjb2RlPjE8L2NvZGU+ IHdpbGwgc3RpbGwgc2hvdyBpdC4gRmFpcmx5IHBvaW50bGVzcywgYnV0IG1pZ2h0IGJlIHVz ZWZ1bCBhcyBhIHBsYWNlaG9sZGVyLiBEZWZhdWx0IGlzIDxjb2RlPjA8L2NvZGU+PC9saT4K CQk8bGk+PHNwYW4gY2xhc3M9ImF0bm0iPnJlYWxfc2hlZXRzPC9zcGFuPiA6IG5vcm1hbGx5 LCBzdGFuZGFyZCA8Y29kZT5jc3MucGhwP249c2hlZXRfbmFtZTwvY29kZT4gcmVmZXJlbmNl cyBhcmUgb3V0cHV0LiBJZiB5b3UgcHJlZmVyICYjODIxNjtyZWFsJiM4MjE3OyBzdHlsZXNo ZWV0IGZpbGVuYW1lIHJlZmVyZW5jZXMsIHNldCB0aGlzIGF0dHJpYnV0ZSB0byA8Y29kZT4x PC9jb2RlPi4gTm90ZSB5b3Ugd2lsbCBoYXZlIHRvIGVuc3VyZSB0aGF0IHRoZSBzdHlsZXNo ZWV0IGZpbGVzIHJlYWxseSBleGlzdCBvbiB5b3VyIHNlcnZlciBpbiB0aGUgZ2l2ZW4gZGly ZWN0b3J5IChzZWUgPGNvZGU+c2hlZXRzX2RpcjwvY29kZT4pPC9saT4KCQk8bGk+PHNwYW4g Y2xhc3M9ImF0bm0iPnNoZWV0c19kaXI8L3NwYW4+IDogbG9jYXRpb24gKHJlbGF0aXZlIHRv IHRoZSByb290IG9mIHlvdXIgdGV4dHBhdHRlcm4gaW5zdGFsbGF0aW9uKSB3aGVyZSB5b3Vy IHN0eWxlc2hlZXRzIGFyZSB0byBiZSBmb3VuZCBpZiB1c2luZyA8Y29kZT5yZWFsX3NoZWV0 cz0mcXVvdDsxJnF1b3Q7PC9jb2RlPi4gSWYgeW91IGhhdmUgdGhlIHJ2bV9jc3MgcGx1Z2lu IGluc3RhbGxlZCBpdCB3aWxsIGRlZmF1bHQgdG8gdGhlIGRpcmVjdG9yeSBzcGVjaWZpZWQg aW4gQWRtaW4gLSZndDsgUHJlZmVyZW5jZXMgLSZndDsgQWR2YW5jZWQgLSZndDsgU3R5bGUg ZGlyZWN0b3J5PC9saT4KCQk8bGk+PHNwYW4gY2xhc3M9ImF0bm0iPmRlbGltPC9zcGFuPiA6 IHRoZSBkZWxpbWl0ZXIgdG8gdXNlIGJldHdlZW4gPGNvZGU+c2hlZXRzPC9jb2RlPi4gRGVm YXVsdCBpcyB0aGUgY29tbWEgKDxjb2RlPiw8L2NvZGU+KTwvbGk+CgkJPGxpPjxzcGFuIGNs YXNzPSJhdG5tIj5wYXJhbV9kZWxpbTwvc3Bhbj4gOiB0aGUgZGVsaW1pdGVyIHRvIHVzZSBi ZXR3ZWVuIGFkZGl0aW9uYWwgc2hlZXQgaW5mb3JtYXRpb24uIERlZmF1bHQgaXMgdGhlIGNv bG9uICg8Y29kZT46PC9jb2RlPik8L2xpPgoJPC91bD4KCgk8aDMgaWQ9InNoZWV0bmFtZXMi PlNoZWV0IG5hbWVzPC9oMz4KCgk8cD5XaGVuIHVzaW5nIHRoZSA8Y29kZT5zaGVldHM8L2Nv ZGU+IGF0dHJpYnV0ZSwgaWYgeW91IHByZWNlZGUgYW55IHNoZWV0IG5hbWUgd2l0aCBhIDxj b2RlPj88L2NvZGU+IHRoZSA8c3BhbiBjbGFzcz0iY2FwcyI+VFhQPC9zcGFuPiBlbnZpcm9u bWVudCB3aWxsIGJlIHNlYXJjaGVkIGZvciBhIG1hdGNoaW5nIGxvY2F0aW9uLiBGb3IgZXhh bXBsZSwgPGNvZGU+c2hlZXRzPSZxdW90O2NvcmUsID9jdXN0b20zJnF1b3Q7PC9jb2RlPiB3 b3VsZCBsb2FkIGNvcmUuY3NzIGFuZCB0aGVuIGxvb2sgaW4gdGhlIGN1c3RvbTMgZmllbGQg Zm9yIGEgZnVydGhlciBsaXN0IG9mIHN0eWxlc2hlZXRzIHRvIGxvYWQuIFRoZSBvcmRlciBp biB3aGljaCB0aGUgbG9jYXRpb25zIGFyZSBzZWFyY2hlZCBpczogMSkgQXJ0aWNsZSBmaWVs ZHM7IDIpIDxjb2RlPiZsdDt0eHA6dmFyaWFibGUgLyZndDs8L2NvZGU+OyAzKSBUaGUgPHNw YW4gY2xhc3M9ImNhcHMiPlVSTDwvc3Bhbj4uIElmIGEgPGNvZGU+PzwvY29kZT4gdmFsdWUg aXMgc3VwcGxpZWQgYW5kIGEgc3VpdGFibGUgbG9jYXRpb24gY2Fubm90IGJlIGZvdW5kLCB0 aGUgdmFsdWUgeW91IGdhdmUgd2lsbCBiZSB1c2VkIHZlcmJhdGltLjwvcD4KCgk8cD5Zb3Ug bWF5IGFsc28gc3BlY2lmeSB1cCB0byB0d28gYWRkaXRpb25hbCBwaWVjZXMgb2YgaW5mb3Jt YXRpb24gaW4gZWFjaCBzaGVldCBkZWZpbml0aW9uOiAxKSB0aGUgc2hlZXQmIzgyMTc7cyAm IzgyMjA7cHJldHR5IG5hbWUmIzgyMjE7IHRoYXQgcGVvcGxlIHdpbGwgc2VlLCBhbmQgMikg aXRzIG1lZGlhIHR5cGUgKHVzdWFsbHkgPGNvZGU+c2NyZWVuPC9jb2RlPikuIFRvIGRvIHRo aXMsIHNlcGFyYXRlIHRoZSB2YWx1ZXMgd2l0aCBjb2xvbnMgKHVubGVzcyBjaGFuZ2VkIHZp YSB0aGUgPGNvZGU+cGFyYW1fZGVsaW08L2NvZGU+IGF0dHJpYnV0ZSkgbGlrZSB0aGlzOjwv cD4KCjxwcmUgY2xhc3M9ImJsb2NrIj48Y29kZSBjbGFzcz0iYmxvY2siPiZsdDt0eHA6c21k X3N0eWxlIHVzZV9kZWZhdWx0PSZxdW90OzEmcXVvdDsKICAgICBzaGVldHM9JnF1b3Q7Y29y ZSwgY2F0czpDYXRzIG9mIHRoZSB3b3JsZCwgcHJpbnRlcjpQcmludCBsYXlvdXQ6cHJpbnQm cXVvdDsgLyZndDsKPC9jb2RlPjwvcHJlPgoKCTxwPlRoYXQgd291bGQgb3V0cHV0IHNvbWV0 aGluZyBzaW1pbGFyIHRvIHRoZSBmb2xsb3dpbmc6PC9wPgoKPHByZSBjbGFzcz0iYmxvY2si Pjxjb2RlIGNsYXNzPSJibG9jayI+Jmx0O2xpbmsgcmVsPSZxdW90O3N0eWxlc2hlZXQmcXVv dDsgdHlwZT0mcXVvdDt0ZXh0L2NzcyZxdW90OyBtZWRpYT0mcXVvdDtzY3JlZW4mcXVvdDsK ICAgICB0aXRsZT0mcXVvdDtkZWZhdWx0JnF1b3Q7IGhyZWY9JnF1b3Q7aHR0cDovL3NpdGUu Y29tL3RleHRwYXR0ZXJuL2Nzcy5waHA/bj1kZWZhdWx0JnF1b3Q7IC8mZ3Q7CiZsdDtsaW5r IHJlbD0mcXVvdDthbHRlcm5hdGUgc3R5bGVzaGVldCZxdW90OyB0eXBlPSZxdW90O3RleHQv Y3NzJnF1b3Q7IG1lZGlhPSZxdW90O3NjcmVlbiZxdW90OwogICAgIHRpdGxlPSZxdW90O2Zs b3dlcnMmcXVvdDsgaHJlZj0mcXVvdDtodHRwOi8vc2l0ZS5jb20vdGV4dHBhdHRlcm4vY3Nz LnBocD9uPWZsb3dlcnMmcXVvdDsgLyZndDsKJmx0O2xpbmsgcmVsPSZxdW90O2FsdGVybmF0 ZSBzdHlsZXNoZWV0JnF1b3Q7IHR5cGU9JnF1b3Q7dGV4dC9jc3MmcXVvdDsgbWVkaWE9JnF1 b3Q7c2NyZWVuJnF1b3Q7CiAgICAgdGl0bGU9JnF1b3Q7Q2F0cyBvZiB0aGUgd29ybGQmcXVv dDsgaHJlZj0mcXVvdDtodHRwOi8vc2l0ZS5jb20vdGV4dHBhdHRlcm4vY3NzLnBocD9uPWNh dHMmcXVvdDsgLyZndDsKJmx0O2xpbmsgcmVsPSZxdW90O2FsdGVybmF0ZSBzdHlsZXNoZWV0 JnF1b3Q7IHR5cGU9JnF1b3Q7dGV4dC9jc3MmcXVvdDsgbWVkaWE9JnF1b3Q7cHJpbnQmcXVv dDsKICAgICB0aXRsZT0mcXVvdDtQcmludCBsYXlvdXQmcXVvdDsgaHJlZj0mcXVvdDtodHRw Oi8vc2l0ZS5jb20vdGV4dHBhdHRlcm4vY3NzLnBocD9uPXByaW50ZXImcXVvdDsgLyZndDsK PC9jb2RlPjwvcHJlPgoKCTxoMyBpZD0icmVwbGFjZW1lbnRzIj5SZXBsYWNlbWVudCB0YWdz PC9oMz4KCgk8cD5JZiB5b3UgZG9uJiM4MjE3O3QgbGlrZSB0aGUgc3RhbmRhcmQgb3V0cHV0 IG9yIHdpc2ggdG8gZmFzaGlvbiB5b3VyIG93biA8Y29kZT4mbHQ7bGluayZndDs8L2NvZGU+ IHRhZ3MgdGhlbiB5b3UgY2FuIHNwZWNpZnkgY29udGFpbmVyIGNvbnRlbnQgb3IgYSA8Y29k ZT5mb3JtPC9jb2RlPiB3aXRoIHdoaWNoIHRvIHByb2Nlc3MgdGhlIHJlc3VsdHMuIFRoZXJl IGFyZSByZXBsYWNlbWVudCB2YXJpYWJsZXMgeW91IGNhbiBlbXBsb3kgd2l0aGluIHlvdXIg bGF5b3V0IHRvIGluc2VydCB0aGUgcmVsZXZhbnQgY29udGVudCBmb3IgZWFjaCBzdHlsZXNo ZWV0OjwvcD4KCgk8dWw+CgkJPGxpPjxjb2RlPntzbWRfc3R5bGVfbmFtZX08L2NvZGU+IDog dGhlIHN0eWxlc2hlZXQgbmFtZSBhcyBnaXZlbiBpbiB0aGUgPHNwYW4gY2xhc3M9ImNhcHMi PlRYUDwvc3Bhbj4gU3R5bGVzIHRhYjwvbGk+CgkJPGxpPjxjb2RlPntzbWRfc3R5bGVfdXJs fTwvY29kZT4gOiB0aGUgY29tcGxldGUgPHNwYW4gY2xhc3M9ImNhcHMiPlVSTDwvc3Bhbj4g KDxzcGFuIGNsYXNzPSJjYXBzIj5UWFA8L3NwYW4+LXN0eWxlIG9yICYjODIxNjtyZWFsJiM4 MjE3OyBkZXBlbmRpbmcgb24gdGhlIDxjb2RlPnJlYWxfc2hlZXRzPC9jb2RlPiBhdHRyaWJ1 dGUpPC9saT4KCQk8bGk+PGNvZGU+e3NtZF9zdHlsZV9tZWRpYX08L2NvZGU+IDogdGhlIHR5 cGUgb2Ygc3R5bGVzaGVldCAoZS5nLiBzY3JlZW4sIHByaW50JiM4MjMwOyk8L2xpPgoJCTxs aT48Y29kZT57c21kX3N0eWxlX3JlbH08L2NvZGU+IDogdGhlIHN0eWxlc2hlZXQgcmVsYXRp b25zaGlwIChlaXRoZXIgJiM4MjE2O3N0eWxlc2hlZXQmIzgyMTc7IG9yICYjODIxNjthbHRl cm5hdGUgc3R5bGVzaGVldCYjODIxNzspPC9saT4KCQk8bGk+PGNvZGU+e3NtZF9zdHlsZV90 aXRsZX08L2NvZGU+IDogdGhlIGh1bWFuLWZyaWVuZGx5IHRpdGxlIHlvdSBoYXZlIGFzc2ln bmVkIHRvIHRoZSBzdHllbHNoZWV0LiBJZiBub3Qgc3BlY2lmaWVkLCBpdCBkZWZhdWx0cyB0 byB0aGUgc3R5bGVzaGVldCBuYW1lPC9saT4KCQk8bGk+PGNvZGU+e3NtZF9zdHlsZV9jb3Vu dGVyfTwvY29kZT4gOiB0aGUgY3VycmVudCBzdHlsZXNoZWV0IG51bWJlciBiZWluZyBwcm9j ZXNzZWQ8L2xpPgoJCTxsaT48Y29kZT57c21kX3N0eWxlX3RvdGFsfTwvY29kZT4gOiB0aGUg dG90YWwgbnVtYmVyIG9mIHN0eWxlc2hlZXRzIGluIHRoZSBsaXN0PC9saT4KCTwvdWw+CgoJ PGgzIGlkPSJzbWRfc3R5bGVzd2l0Y2giPnNtZF9zdHlsZXN3aXRjaDwvaDM+CgoJPHAgY2xh c3M9InJlcXVpcmVzIj5SZXF1aXJlcyBqUXVlcnkgdG8gYmUgbG9hZGVkIG9uIHlvdXIgcGFn ZSwgYmVmb3JlIHRoZSBjYWxsIHRvIHNtZF9zdHlsZXN3aXRjaC4gVGVzdGVkIHdpdGggdGhl IGxhdGVzdCB2ZXJzaW9uICgxLjIuNiBhcyBvZiB0aGlzIHdyaXRpbmcpLjwvcD4KCgk8cD5P biBpdHMgb3duIHRoZSA8YSBocmVmPSIjc21kX3N0eWxlIj5zbWRfc3R5bGU8L2E+IHRhZyBn aXZlcyB0aGUgdmlzaXRvciB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggc3R5bGVzIHZpYSB0aGUg JiM4MjE2O1ZpZXcgYWx0ZXJuYXRlIHN0eWxlc2hlZXQmIzgyMTc7IGZhY2lsaXR5IG9mIG1v ZGVybiBicm93c2Vycy4gSWYgeW91IHdpc2ggdG8gb2ZmZXIgdGhlbSBhIHdheSBvZiBpbnN0 YW50YW5lb3VzbHkgc3dpdGNoaW5nIChhbmQgcmVtZW1iZXJpbmcpIHRoZSBjaG9zZW4gdGhl bWUgZnJvbSB3aXRoaW4geW91ciBjb250ZW50LCB1c2UgPGNvZGU+c21kX3N0eWxlc3dpdGNo PC9jb2RlPiBzb21ld2hlcmUgaW4gdGhlIGZsb3cgb2YgeW91ciBwYWdlIHRvIGluc2VydCBh IHN0eWxlc2hlZXQgc3dpdGNoZXIuIEl0IGNhbiBiZSBjdXN0b21pc2VkIGFzIGZvbGxvd3M6 PC9wPgoKCTxoNCBjbGFzcz0iYXR0cyAiIGlkPSJhdHRyaWJ1dGVzIj5BdHRyaWJ1dGVzPC9o ND4KCgk8dWw+CgkJPGxpPjxzcGFuIGNsYXNzPSJhdG5tIj53cmFwdGFnPC9zcGFuPiA6IHN0 YW5kYXJkIChYKUhUTUwgdGFnIHRvIHdyYXAgdGhlIGVudGlyZSBzd2l0Y2hlciB3aXRoLiBE ZWZhdWx0IGlzIDxjb2RlPnVsPC9jb2RlPi4gSWYgeW91IGRvIG5vdCBzcGVjaWZ5IHRoaXMg YXR0cmlidXRlIHlvdV9tdXN0XyBjcmVhdGUgeW91ciBvd24gY29udGFpbmVyIHNvbWV3aGVy ZSBlbHNlIGluIHRoZSBwYWdlPC9saT4KCQk8bGk+PHNwYW4gY2xhc3M9ImF0bm0iPmNsYXNz PC9zcGFuPiA6IDxzcGFuIGNsYXNzPSJjYXBzIj5DU1M8L3NwYW4+IGNsYXNzIHRvIGFwcGx5 IHRvIHRoZSB3cmFwdGFnLiBEZWZhdWx0IGlzIDxjb2RlPnNtZF9zd2l0Y2hlcjwvY29kZT4u IElmIHlvdSBoYXZlIG5vdCBzcGVjaWZpZWQgYSA8Y29kZT53cmFwdGFnPC9jb2RlPiwgeW91 ciBvd24gY29udGFpbmVyIG11c3QgYmUgZ2l2ZW4gdGhpcyBjbGFzcyBuYW1lIHNvIHRoZSBz d2l0Y2hlciBjYW4gYmUgaW5zZXJ0ZWQ8L2xpPgoJCTxsaT48c3BhbiBjbGFzcz0iYXRubSI+ YnJlYWs8L3NwYW4+IDogc3RhbmRhcmQgKFgpSFRNTCB0YWcgdG8gd3JhcCBlYWNoIHN0eWxl c2hlZXQgbmFtZSBhbmQgbGluayB3aXRoLiBEZWZhdWx0IGlzIDxjb2RlPmxpPC9jb2RlPi4g Tm90ZSB0aGF0IHRoaXMgZG9lcyBub3QgaGF2ZSB0byBvcGVyYXRlIGFzIGEgY29udGFpbmVy IHRhZyAoc2VlIHRoZSA8Y29kZT5icmVha19pc190YWc8L2NvZGU+IGF0dHJpYnV0ZSk8L2xp PgoJCTxsaT48c3BhbiBjbGFzcz0iYXRubSI+YnJlYWtfaXNfdGFnPC9zcGFuPiA6IGlmIHRo ZSA8Y29kZT5icmVhazwvY29kZT4gYXR0cmlidXRlIGlzIGEgdGFnLCB0aGlzIHNob3VsZCBi ZSBzZXQgdG8gPGNvZGU+MTwvY29kZT4gKHdoaWNoIGl0IGlzIGJ5IGRlZmF1bHQpLiBJZiB5 b3Ugd2lzaCB0byB1c2Ugc29tZXRoaW5nIGVsc2UgYmV0d2VlbiBlYWNoIHN0eWxlc2hlZXQg bmFtZSAoZS5nLiA8Y29kZT5icmVhaz0mcXVvdDsgfCAmcXVvdDs8L2NvZGU+KSBzZXQgdGhp cyB0byA8Y29kZT4wPC9jb2RlPjwvbGk+CgkJPGxpPjxzcGFuIGNsYXNzPSJhdG5tIj5saW5r Y2xhc3M8L3NwYW4+IDogPHNwYW4gY2xhc3M9ImNhcHMiPkNTUzwvc3Bhbj4gY2xhc3MgdG8g YXBwbHkgdG8gZWFjaCBzdHlsZXNoZWV0IGxpbmsuIERlZmF1bHQgaXMgPGNvZGU+c21kX3N0 eWxlc3dpdGNoPC9jb2RlPjwvbGk+CgkJPGxpPjxzcGFuIGNsYXNzPSJhdG5tIj5hY3RpdmVj bGFzczwvc3Bhbj4gOiA8c3BhbiBjbGFzcz0iY2FwcyI+Q1NTPC9zcGFuPiBjbGFzcyB0byBp bmRpY2F0ZSB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHN0eWxlc2hlZXQgbGluay4gRGVmYXVs dCBpcyA8Y29kZT5zbWRfY3VycnN0eWxlPC9jb2RlPjwvbGk+CgkJPGxpPjxzcGFuIGNsYXNz PSJhdG5tIj5hbHRfb25seTwvc3Bhbj4gOiBpZiBzZXQgdG8gPGNvZGU+MTwvY29kZT4gd2ls bCBvbmx5IG9mZmVyIHN0eWxlc2hlZXRzIHdpdGggYSByZWwgdGhhdCBpbmNsdWRlcyAmIzgy MTY7YWx0ZXJuYXRlJiM4MjE3OyBpbiB0aGUgbGlzdC4gVGhlIGRlZmF1bHQgYmVoYXZpb3Vy ICg8Y29kZT4wPC9jb2RlPikgaXMgdG8gbGlzdCBhbGwgc3R5bGVzaGVldHMgb24gdGhlIHBh Z2UgdGhhdCBjb250YWluIGEgJiM4MjE2O3RpdGxlJiM4MjE3OyBhdHRyaWJ1dGU8L2xpPgoJ CTxsaT48c3BhbiBjbGFzcz0iYXRubSI+c29ydDwvc3Bhbj4gOiBzZXQgdG8gPGNvZGU+MTwv Y29kZT4gKHRoZSBkZWZhdWx0KSB0byBzb3J0IHRoZSBzdHlsZXNoZWV0cyBpbiBhbHBoYWJl dGljYWwgb3JkZXIuIElmIHNldCB0byAwLCB0aGUgbW9zdCByZWNlbnRseSB1c2VkIHN0eWxl c2hlZXQgd2lsbCBiZSBzaG93biBhdCB0aGUgaGVhZCBvZiB0aGUgbGlzdDwvbGk+CgkJPGxp PjxzcGFuIGNsYXNzPSJhdG5tIj5jYXNlX3NlbnNpdGl2ZTwvc3Bhbj4gOiB3aGV0aGVyIHRo ZSA8Y29kZT5zb3J0PC9jb2RlPiBpcyBjYXNlIHNlbnNpdGl2ZSAoPGNvZGU+MTwvY29kZT4p IG9yIG5vdCAoPGNvZGU+MDwvY29kZT4pLiBEZWZhdWx0IGlzIDA8L2xpPgoJCTxsaT48c3Bh biBjbGFzcz0iYXRubSI+ZXhwaXJ5PC9zcGFuPiA6IG51bWJlciBvZiBkYXlzIGFmdGVyIHdo aWNoIHRoZSBjb29raWUgdGhhdCBob2xkcyB0aGUgY3VycmVudCBzdHlsZXNoZWV0IHJlbWFp bnMgdmFsaWQuIERlZmF1bHQgaXMgPGNvZGU+NzwvY29kZT4gZGF5czwvbGk+Cgk8L3VsPgoK CTxwPlRoZSBzdHlsZXNoZWV0IHN3aXRjaGVyIHRoYXQgaXMgaW5zZXJ0ZWQgYXQgdGhlIGdp dmVuIGxvY2F0aW9uIGNvbnNpc3RzIG9mIGFuIGFuY2hvciB0YWcgd2l0aCBhIGxpbmsgdG8g dGhlIG5ldyBzdHlsZXNoZWV0LiBUaGUgdGV4dCB3aXRoaW4gdGhlIGFuY2hvciBpcyB0aGUg c3R5bGVzaGVldCB0aXRsZSAoaWYgc3VwcGxpZWQpIG9yIGl0cyBuYW1lIGlmIG5vdC4gTm90 ZSB0aGF0IHRoZSBzd2l0Y2hlciB3aWxsIHBpY2sgdXAgPGVtPmFsbCBzdHlsZXNoZWV0cyB0 aGF0IGhhdmUgYSB0aXRsZSBhdHRyaWJ1dGU8L2VtPiBzbyBpZiBhbnkgb2YgeW91ciBvdGhl ciBzdHlsZXNoZWV0cyBub3QgY29udHJvbGxlZCBieSB0aGUgcGx1Z2luIGhhdmUgdGl0bGVz LCB0aGV5IHdpbGwgYmUgaW5jbHVkZWQgYXMgd2VsbC4gVGhpcyBjb3VsZCBiZSBjb25zaWRl cmVkIGEgZmVhdHVyZSghKTwvcD4KCgk8cD5JZiB5b3UgYXJlIGEgbmVhdG5lc3MgYnVmZiBh bmQgcHJlZmVyIHRoYXQgYWxsIGphdmFzY3JpcHQgZ29lcyBpbiB0aGUgPGNvZGU+Jmx0O2hl YWQmZ3Q7PC9jb2RlPiwgdXNpbmcgPGNvZGU+d3JhcHRhZz0mcXVvdDsmcXVvdDs8L2NvZGU+ IHdpbGwgYWxsb3cgeW91IHRvIGluc2VydCB0aGUgPGNvZGU+Jmx0O3R4cDpzbWRfc3R5bGVz d2l0Y2ggLyZndDs8L2NvZGU+IHRhZyBpbiB0aGUgaGVhZCBvZiB5b3VyIGRvY3VtZW50IHdo aWxlIGxvY2F0aW5nIHlvdXIgc3dpdGNoaW5nIGNvbnRhaW5lciBlbHNld2hlcmUuPC9wPgoK CTxoMj5FeGFtcGxlczwvaDI+CgoJPGgzIGlkPSJlZzEiPkV4YW1wbGUgMTwvaDM+Cgo8cHJl IGNsYXNzPSJibG9jayI+PGNvZGUgY2xhc3M9ImJsb2NrIj4mbHQ7dHhwOnNtZF9zdHlsZQog ICAgIHNoZWV0cz0mcXVvdDt5ZWxsb3csIGdyZWVuLCBicm93biwgYmx1ZSwgcGluaywgYmxh Y2smcXVvdDsgLyZndDsKJmx0O3R4cDpzbWRfc3R5bGVzd2l0Y2ggd3JhcHRhZz0mcXVvdDsm cXVvdDsgLyZndDsKPC9jb2RlPjwvcHJlPgoKCTxwPlNvbWV3aGVyZSBmdXJ0aGVyIGRvd24g dGhlIHBhZ2UgeW91IHdvdWxkIGhhdmUgdG8gYWRkOjwvcD4KCjxwcmUgY2xhc3M9ImJsb2Nr Ij48Y29kZSBjbGFzcz0iYmxvY2siPiZsdDt1bCBjbGFzcz0mcXVvdDtzbWRfc3dpdGNoZXIm cXVvdDsmZ3Q7Jmx0Oy91bCZndDsKPC9jb2RlPjwvcHJlPgoKCTxwPlRoYXQgd2lsbCBhZGQg c2l4IGFsdGVybmF0ZSBzdHlsZXNoZWV0cyB0byB0aGUgcGFnZSBhbmQgYWRkIGEgc3dpdGNo ZXIgd2hlcmV2ZXIgeW91ciA8Y29kZT4mbHQ7dWwmZ3Q7PC9jb2RlPiBhcHBlYXJzIG9uIHRo ZSBwYWdlLiBBIGZldyBtb2RpZmljYXRpb25zIGFyZSBwb3NzaWJsZTo8L3A+CgoJPHVsPgoJ CTxsaT53aXRoIHJ2bV9jc3MgaW5zdGFsbGVkLCBhZGRpbmcgPGNvZGU+cmVhbF9zaGVldHM9 JnF1b3Q7MSZxdW90OzwvY29kZT4gdG8gdGhlIDxjb2RlPnNtZF9zdHlsZTwvY29kZT4gdGFn IHdvdWxkIGNoYW5nZSB0aGUgPHNwYW4gY2xhc3M9ImNhcHMiPlVSTDwvc3Bhbj5zIHRvICYj ODIxNjtyZWFsJiM4MjE3OyA8c3BhbiBjbGFzcz0iY2FwcyI+Q1NTPC9zcGFuPiBmaWxlIHBh dGhzPC9saT4KCQk8bGk+YWRkaW5nIDxjb2RlPnVzZV9kZWZhdWx0PSZxdW90OzEmcXVvdDs8 L2NvZGU+IHdpbGwgYWRkIHRoZSBjdXJyZW50IHNlY3Rpb24mIzgyMTc7cyBzdHlsZXNoZWV0 IHRvIHRoZSBsaXN0IGFzIHdlbGwuIElmIGl0IGhhcHBlbnMgdG8gYmUgdGhlIHNhbWUgYXMg b25lIG9mIHRoZSBvbmVzIGluIHRoZSBsaXN0IGFscmVhZHksIGl0IHdpbGwgb25seSBiZSB1 c2VkIG9uY2U8L2xpPgoJCTxsaT5hZGRpbmcgPGNvZGU+c2tpcD0mcXVvdDsyJnF1b3Q7PC9j b2RlPiB3aWxsIGNhdXNlIHRoZSAmIzgyMTY7eWVsbG93JiM4MjE3OyBhbmQgJiM4MjE2O2dy ZWVuJiM4MjE3OyBzaGVldHMgdG8gYmUgc3RhdGljIChub24tYWx0ZXJuYXRlKTwvbGk+CgkJ PGxpPnVzaW5nIDxjb2RlPnByb21vdGVfcmVjZW50PC9jb2RlPiB3aWxsIGNoYW5nZSB0aGUg bG9hZCBvcmRlciBhcyBmb2xsb3dzOgoJPHVsPgoJCTxsaT48Y29kZT4wPC9jb2RlPiA6IGxv YWQgb3JkZXIgd2lsbCBhbHdheXMgYmUgeWVsbG93LCBncmVlbiwgYnJvd24sIGJsdWUsIHBp bmssIGJsYWNrPC9saT4KCQk8bGk+PGNvZGU+MTwvY29kZT4gOiBwcm9tb3RlIHRoZSBjaG9z ZW4gc2hlZXQgdXAgdGhlIGxpc3QuIFdpdGggPGNvZGU+dXNlX2RlZmF1bHQ9JnF1b3Q7MSZx dW90OyBza2lwPSZxdW90OzImcXVvdDs8L2NvZGU+LCBpZiB0aGUgdmlzaXRvciBjaG9zZSAm IzgyMTY7cGluayYjODIxNzsgYXMgdGhlaXIgdGhlbWUgYW5kIHJlZnJlc2hlZCB0aGUgcGFn ZSwgdGhlIGxvYWQgb3JkZXIgd291bGQgYmU6IHllbGxvdywgcGluaywgZ3JlZW4sIGJyb3du LCBibHVlLCBibGFjayAoeWVsbG93IGFuZCBwaW5rIHdvdWxkIGJlIGxpc3RlZCBhcyAmIzgy MjA7c3RhdGljJiM4MjIxOyBzdHlsZXNoZWV0cyk8L2xpPgoJCTxsaT48Y29kZT4yPC9jb2Rl PiA6IGZvcmNlIHdoaWNoZXZlciBzaGVldCB3YXMgbW9zdCByZWNlbnRseSBjaG9zZW4gdG8g YmUgdGhlIGZpcnN0IGxvYWRlZC4gQWdhaW4sIGlmIHRoZSB2aXNpdG9yIGNob3NlICYjODIx NjtwaW5rJiM4MjE3OyBhcyB0aGVpciBwcmVmZXJyZWQgc2hlZXQgYW5kIHJlZnJlc2hlZCB0 aGUgcGFnZSwgdGhlIGxvYWQgb3JkZXIgd291bGQgYmUgcGluaywgeWVsbG93LCBncmVlbiwg YnJvd24sIGJsdWUsIGJsYWNrIChwaW5rIGFuZCB5ZWxsb3cgd291bGQgYmUgc3RhdGljIHNo ZWV0cyk8L2xpPgoJPC91bD48L2xpPgoJPC91bD4KCgk8aDMgaWQ9ImVnMiI+RXhhbXBsZSAy PC9oMz4KCgk8cD5UbyBzZXQgdXAgdGhlIG5hbWVzIG9mIHRoZSBzdHlsZXNoZWV0cyB5b3Ug d2FudCB0byBpbmNsdWRlIGluIGEgPGNvZGU+Jmx0O3R4cDp2YXJpYWJsZSAvJmd0OzwvY29k ZT4gdHJ5IHRoaXM6PC9wPgoKPHByZSBjbGFzcz0iYmxvY2siPjxjb2RlIGNsYXNzPSJibG9j ayI+Jmx0O3R4cDp2YXJpYWJsZSBuYW1lPSZxdW90O2FsdF9zdHlsZXMmcXVvdDsKICAgICB2 YWx1ZT0mcXVvdDtnaXJsczpHaXJseSB0aGVtZSwgYm95czpMYWRzIG9ubHkmcXVvdDsgLyZn dDsKJmx0O3R4cDpzbWRfc3R5bGUgc2hlZXRzPSZxdW90Oz9hbHRfc3R5bGVzJnF1b3Q7IC8m Z3Q7CjwvY29kZT48L3ByZT4KCgk8aDMgaWQ9ImVnMyI+RXhhbXBsZSAzPC9oMz4KCgk8cD5H cmFiIHRoZSBkZWZhdWx0IHNoZWV0LCB0aGUgJiM4MjIwO2ZpeGVkJiM4MjIxOyBzaGVldCAo YW5kIG1ha2UgdGhlbSBib3RoICYjODIxNjtzdGF0aWMmIzgyMTc7KSB0aGVuIGxvb2sgaW4g dGhlIGN1c3RvbSBmaWVsZCBsYWJlbGxlZCA8Y29kZT5hbHRfc3R5bGVzPC9jb2RlPiBhbmQg dGhlIDxzcGFuIGNsYXNzPSJjYXBzIj5VUkw8L3NwYW4+IHZhcmlhYmxlIDxjb2RlPm15dGhl bWU8L2NvZGU+IGZvciBtb3JlIHNoZWV0IGRlZmluaXRpb25zLjwvcD4KCjxwcmUgY2xhc3M9 ImJsb2NrIj48Y29kZSBjbGFzcz0iYmxvY2siPiZsdDt0eHA6c21kX3N0eWxlIHNoZWV0cz0m cXVvdDtmaXhlZCwgP2FsdF9zdHlsZXMsID9teXRoZW1lJnF1b3Q7CiAgICAgdXNlX2RlZmF1 bHQ9JnF1b3Q7MSZxdW90OyBza2lwPSZxdW90OzImcXVvdDsgLyZndDsKPC9jb2RlPjwvcHJl PgoKCTxwPk5vdGUgdGhhdCBubyBkaXN0aW5jdGlvbiBpcyBtYWRlIHdoZXJlIHRvIGZpbmQg dGhlIHZhcmlhYmxlcywgdGhleSBhcmUganVzdCBjaGVja2VkIGluIG9yZGVyIGFuZCB0aGUg Zmlyc3Qgb25lIGl0IGZpbmRzIHRoYXQgbWF0Y2hlcyAoaWYgYXQgYWxsKSB3aWxsIGJlIHVz ZWQuIFRodXMgaWYgeW91IGhhZCBhIGN1c3RvbSBmaWVsZCBsYWJlbGxlZCA8Y29kZT5hbHRf c3R5bGVzPC9jb2RlPiBhbmQgc29tZW9uZSBwdXQgPGNvZGU+c2l0ZS5jb20vbXlfcGFnZT9h bHRfc3R5bGVzPXR3byx0aHJlZSxmb3VyPC9jb2RlPiBvbiB0aGUgPHNwYW4gY2xhc3M9ImNh cHMiPlVSTDwvc3Bhbj4sIHlvdSB3b3VsZCBzdGlsbCBoYXZlIHRoZW0gcmVhZCBmcm9tIHRo ZSBjdXN0b20gZmllbGQgYmVjYXVzZSBpdCBpcyAmIzgyMTY7aGlnaGVyJiM4MjE3OyBpbiB0 aGUgaGllcmFyY2h5LiBPbmUgY2F2ZWF0IGlzIHRoYXQgaWYgdGhlIGN1c3RvbSBmaWVsZCBp cyBlbXB0eSwgdGhlIG5leHQgcGxhY2UgaW4gdGhlIGxpc3QgaXMgY2hlY2tlZCB1bnRpbCBh bGwgbG9jYXRpb25zIGFyZSBleGhhdXN0ZWQsIHRob3VnaCB5b3UgY2FuIGlnbm9yZSBlbXB0 eSBmaWVsZHMgd2l0aCA8Y29kZT5zaG93X2VtcHR5PSZxdW90OzAmcXVvdDs8L2NvZGU+Ljwv cD4KCgk8aDMgaWQ9ImVnNCI+RXhhbXBsZSA0PC9oMz4KCgk8cD5Gb3IgYSBub24tPHNwYW4g Y2xhc3M9ImNhcHMiPlhIVE1MPC9zcGFuPiA8c3BhbiBjbGFzcz0iY2FwcyI+RFREPC9zcGFu PiB5b3UgbWF5IG5lZWQgdG8gZHJvcCB0aGUgdHJhaWxpbmcgPGNvZGU+LzwvY29kZT4gb24g dGhlIDxjb2RlPiZsdDtsaW5rJmd0OzwvY29kZT4gZWxlbWVudHMsIHNvIHlvdSBjb3VsZCBk byB0aGlzOjwvcD4KCjxwcmUgY2xhc3M9ImJsb2NrIj48Y29kZSBjbGFzcz0iYmxvY2siPiZs dDt0eHA6c21kX3N0eWxlIHNoZWV0cz0mcXVvdDtibHVlLCByZWQsIGdyZWVuJnF1b3Q7Jmd0 OwogJmx0O2xpbmsgcmVsPSZxdW90O3tzbWRfc3R5bGVfcmVsfSZxdW90OyB0eXBlPSZxdW90 O3RleHQvY3NzJnF1b3Q7CiAgICAgbWVkaWE9JnF1b3Q7e3NtZF9zdHlsZV9tZWRpYX0mcXVv dDsgaHJlZj0mcXVvdDt7c21kX3N0eWxlX3VybH0mcXVvdDsKICAgICB0aXRsZT0mcXVvdDt7 c21kX3N0eWxlX3RpdGxlfSZxdW90OyZndDsKJmx0Oy90eHA6c21kX3N0eWxlJmd0Owo8L2Nv ZGU+PC9wcmU+CgoJPHA+PC9kaXY+PC9wPgo8IS0tIC0tLSBCRUdJTiBQTFVHSU4gQ1NTIC0t LSAtLT4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KI3NtZF9oZWxwIHsgbGluZS1oZWlnaHQ6 MS4zIDt9CiNzbWRfaGVscCBjb2RlIHsgZm9udC13ZWlnaHQ6Ym9sZDsgZm9udDogMTA1JS8x MzAlICJDb3VyaWVyIE5ldyIsIGNvdXJpZXIsIG1vbm9zcGFjZTsgYmFja2dyb3VuZC1jb2xv cjogI0ZGRkZDQzt9CiNzbWRfaGVscCBjb2RlLmJsb2NrIHsgZm9udC13ZWlnaHQ6bm9ybWFs OyBib3JkZXI6MXB4IGRvdHRlZCAjOTk5OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBlNjhjOyBk aXNwbGF5OmJsb2NrOyBtYXJnaW46MTBweCAxMHB4IDIwcHg7IHBhZGRpbmc6MTBweDsgfQoj c21kX2hlbHAgYTpsaW5rLCAjc21kX2hlbHAgYTp2aXNpdGVkIHsgY29sb3I6IGJsdWU7IHRl eHQtZGVjb3JhdGlvbjogbm9uZTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsdWU7IHBh ZGRpbmctYm90dG9tOjFweDt9CiNzbWRfaGVscCBhOmhvdmVyLCAjc21kX2hlbHAgYTphY3Rp dmUgeyBjb2xvcjogYmx1ZTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBib3JkZXItYm90dG9t OiAycHggc29saWQgYmx1ZTsgcGFkZGluZy1ib3R0b206MXB4O30KI3NtZF9oZWxwIGgxIHsg Y29sb3I6ICMzNjk7IGZvbnQ6IDIwcHggR2VvcmdpYSwgc2Fucy1zZXJpZjsgbWFyZ2luOiAw OyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0KI3NtZF9oZWxwIGgyIHsgYm9yZGVyLWJvdHRvbTog MXB4IHNvbGlkIGJsYWNrOyBwYWRkaW5nOjEwcHggMCAwOyBjb2xvcjogIzM2OTsgZm9udDog MTdweCBHZW9yZ2lhLCBzYW5zLXNlcmlmOyB9CiNzbWRfaGVscCBoMyB7IGNvbG9yOiAjNjkz OyBmb250OiBib2xkIDEycHggQXJpYWwsIHNhbnMtc2VyaWY7IGxldHRlci1zcGFjaW5nOiAx cHg7IG1hcmdpbjogMTBweCAwIDA7dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTt9CiNzbWRf aGVscCBoNCB7IGZvbnQ6IGJvbGQgMTFweCBBcmlhbCwgc2Fucy1zZXJpZjsgbGV0dGVyLXNw YWNpbmc6IDFweDsgbWFyZ2luOiAxMHB4IDAgMCA7dGV4dC10cmFuc2Zvcm06IHVwcGVyY2Fz ZTsgfQojc21kX2hlbHAgLmF0bm0geyBmb250LXdlaWdodDpib2xkOyB9CiNzbWRfaGVscCAu bWFuZCB7IGJhY2tncm91bmQ6I2VlZTsgYm9yZGVyOjFweCBkb3R0ZWQgIzk5OTsgfQojc21k X2hlbHAgLnJlcXVpcmVzIHtjb2xvcjpyZWQ7fQojc21kX2hlbHAgdGFibGUge3dpZHRoOjEw MCU7IHRleHQtYWxpZ246Y2VudGVyOyBwYWRkaW5nLWJvdHRvbToxZW07fQojc21kX2hlbHAg dGQsICNzbWRfaGVscCB0aCB7Ym9yZGVyOjFweCBzb2xpZCAjOTk5OyBwYWRkaW5nOi41ZW0g MDt9Cjwvc3R5bGU+CjwhLS0gLS0tIEVORCBQTFVHSU4gQ1NTIC0tLSAtLT4KIjtzOjM6Im1k NSI7czozMjoiZjlkNjBiYWZmMjZkM2ZiY2E0ZjVkNjkwNzU1NjkxM2QiO30=