感谢您选择织梦内容管理系统(以下简称DedeCms),DedeCms是目前国内最强大、最稳定的中小型门户网站建设解决方案之一,居于 PHP + MySQL 的技术开发,全部源码开放。DedeCms 的官方网址是: www.dedecms.com 交流论坛: bbs.dedecms.com
\ No newline at end of file
diff --git a/src/data/module/81323e93cd52ecce9f175b6aa46f5cfd.xml b/src/data/module/81323e93cd52ecce9f175b6aa46f5cfd.xml
deleted file mode 100755
index c2d52cc6..00000000
--- a/src/data/module/81323e93cd52ecce9f175b6aa46f5cfd.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-
diff --git a/src/data/module/acb8b88eb4a6d4bfc375c18534f9439e-readme.php b/src/data/module/acb8b88eb4a6d4bfc375c18534f9439e-readme.php
deleted file mode 100755
index 7cd76f59..00000000
--- a/src/data/module/acb8b88eb4a6d4bfc375c18534f9439e-readme.php
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
版权所有 ©2003-2008,DedeCms.com 保留所有权利。
-
感谢您选择织梦内容管理系统(以下简称DedeCms),DedeCms是目前国内最强大、最稳定的中小型门户网站建设解决方案之一,居于 PHP + MySQL 的技术开发,全部源码开放。DedeCms 的官方网址是: www.dedecms.com 交流论坛: bbs.dedecms.com
-
为了使你正确并合法的使用本软件,请你在使用前务必阅读清楚下面的协议条款:
-
一、本授权协议适用且仅适用于 DedeCms 5.x.x 版本,DedeCms官方对本授权协议的最终解释权。
-
二、协议许可的权利
- 1、您可以在完全遵守本最终用户授权协议的基础上,将本软件应用于非商业用途,而不必支付软件版权授权费用。
- 2、您可以在协议规定的约束和限制范围内修改 DedeCms 源代码或界面风格以适应您的网站要求。
- 3、您拥有使用本软件构建的网站全部内容所有权,并独立承担与这些内容的相关法律义务。
-4、获得商业授权之后,您可以将本软件应用于商业用途,同时依据所购买的授权类型中确定的技术支持内容,自购买时刻起,在技术支持期限内拥有通过指定的方式获得指定范围内的技术支持服务。商业授权用户享有反映和提出意见的权力,相关意见将被作为首要考虑,但没有一定被采纳的承诺或保证。
-
三、协议规定的约束和限制
- 1、未获商业授权之前,不得将本软件用于商业用途(包括但不限于企业网站、经营性网站、以营利为目的或实现盈利的网站)。购买商业授权请登陆 bbs.dedecms.com 了解最新说明。
- 2、未经官方许可,不得对本软件或与之关联的商业授权进行出租、出售、抵押或发放子许可证。
- 3、不管你的网站是否整体使用 DedeCms ,还是部份栏目使用 DedeCms,在你使用了 DedeCms 的网站主页上必须加上 DedeCms 官方网址(www.dedecms.com)的链接。
- 4、未经官方许可,禁止在 DedeCms 的整体或任何部分基础上以发展任何派生版本、修改版本或第三方版本用于重新分发。
-5、如果您未能遵守本协议的条款,您的授权将被终止,所被许可的权利将被收回,并承担相应法律责任。
-
四、有限担保和免责声明
- 1、本软件及所附带的文件是作为不提供任何明确的或隐含的赔偿或担保的形式提供的。
- 2、用户出于自愿而使用本软件,您必须了解使用本软件的风险,在尚未购买产品技术服务之前,我们不承诺对免费用户提供任何形式的技术支持、使用担保,也不承担任何因使用本软件而产生问题的相关责任。
- 3、电子文本形式的授权协议如同双方书面签署的协议一样,具有完全的和等同的法律效力。您一旦开始确认本协议并安装 DedeCms,即被视为完全理解并接受本协议的各项条款,在享有上述条款授予的权力的同时,受到相关的约束和限制。协议许可范围以外的行为,将直接违反本授权协议并构成侵权,我们有权随时终止授权,责令停止损害,并保留追究相关责任的权力。
-4、如果本软件带有其它软件的整合API示范例子包,这些文件版权不属于本软件官方,并且这些文件是没经过授权发布的,请参考相关软件的使用许可合法的使用。
-
协议发布时间: 2008年8月20日 By DedeCms.com
-
\ No newline at end of file
diff --git a/src/data/module/acb8b88eb4a6d4bfc375c18534f9439e.xml b/src/data/module/acb8b88eb4a6d4bfc375c18534f9439e.xml
deleted file mode 100755
index cd87ff78..00000000
--- a/src/data/module/acb8b88eb4a6d4bfc375c18534f9439e.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-
-
-name=投票模块
-team=织梦官方
-time=2009-07-01
-email=admin@dedecms.com
-url=www.dedecms.com
-hash=acb8b88eb4a6d4bfc375c18534f9439e
-indexname=
-indexurl=
-ismember=0
-autosetup=1
-autodel=1
-lang=utf-8
-moduletype=plus
-
-
-
-
-
-
-PGRpdiBzdHlsZT0ncGFkZGluZy1sZWZ0OjIwcHg7bGluZS1oZWlnaHQ6MTUwJSc+DQo8cD7niYjmnYPmiYDmnIkgwqkyMDAzLTIwMDjvvIxEZWRlQ21zLmNvbSDkv53nlZnmiYDmnInmnYPliKnjgIIgPC9wPg0KPHA+5oSf6LCi5oKo6YCJ5oup57uH5qKm5YaF5a65566h55CG57O757uf77yI5Lul5LiL566A56ewRGVkZUNtc++8ie+8jERlZGVDbXPmmK/nm67liY3lm73lhoXmnIDlvLrlpKfjgIHmnIDnqLPlrprnmoTkuK3lsI/lnovpl6jmiLfnvZHnq5nlu7rorr7op6PlhrPmlrnmoYjkuYvkuIDvvIzlsYXkuo4gUEhQICsgTXlTUUwg55qE5oqA5pyv5byA5Y+R77yM5YWo6YOo5rqQ56CB5byA5pS+44CCRGVkZUNtcyDnmoTlrpjmlrnnvZHlnYDmmK/vvJogd3d3LmRlZGVjbXMuY29tICDkuqTmtYHorrrlnZvvvJogYmJzLmRlZGVjbXMuY29tPC9wPg0KPHA+5Li65LqG5L2/5L2g5q2j56Gu5bm25ZCI5rOV55qE5L2/55So5pys6L2v5Lu277yM6K+35L2g5Zyo5L2/55So5YmN5Yqh5b+F6ZiF6K+75riF5qWa5LiL6Z2i55qE5Y2P6K6u5p2h5qy+77yaPC9wPg0KPHA+PHN0cm9uZz7kuIDjgIHmnKzmjojmnYPljY/orq7pgILnlKjkuJTku4XpgILnlKjkuo4gRGVkZUNtcyA1LngueCDniYjmnKzvvIxEZWRlQ21z5a6Y5pa55a+55pys5o6I5p2D5Y2P6K6u55qE5pyA57uI6Kej6YeK5p2D44CCIDwvc3Ryb25nPjwvcD4NCjxwPjxzdHJvbmc+5LqM44CB5Y2P6K6u6K645Y+v55qE5p2D5YipIDwvc3Ryb25nPjxiciAvPg0KICAx44CB5oKo5Y+v5Lul5Zyo5a6M5YWo6YG15a6I5pys5pyA57uI55So5oi35o6I5p2D5Y2P6K6u55qE5Z+656GA5LiK77yM5bCG5pys6L2v5Lu25bqU55So5LqO6Z2e5ZWG5Lia55So6YCU77yM6ICM5LiN5b+F5pSv5LuY6L2v5Lu254mI5p2D5o6I5p2D6LS555So44CCIDxiciAvPg0KICAy44CB5oKo5Y+v5Lul5Zyo5Y2P6K6u6KeE5a6a55qE57qm5p2f5ZKM6ZmQ5Yi26IyD5Zu05YaF5L+u5pS5IERlZGVDbXMg5rqQ5Luj56CB5oiW55WM6Z2i6aOO5qC85Lul6YCC5bqU5oKo55qE572R56uZ6KaB5rGC44CCIDxiciAvPg0KICAz44CB5oKo5oul5pyJ5L2/55So5pys6L2v5Lu25p6E5bu655qE572R56uZ5YWo6YOo5YaF5a655omA5pyJ5p2D77yM5bm254us56uL5om/5ouF5LiO6L+Z5Lqb5YaF5a6555qE55u45YWz5rOV5b6L5LmJ5Yqh44CCIDxiciAvPg0KNOOAgeiOt+W+l+WVhuS4muaOiOadg+S5i+WQju+8jOaCqOWPr+S7peWwhuacrOi9r+S7tuW6lOeUqOS6juWVhuS4mueUqOmAlO+8jOWQjOaXtuS+neaNruaJgOi0reS5sOeahOaOiOadg+exu+Wei+S4reehruWumueahOaKgOacr+aUr+aMgeWGheWuue+8jOiHqui0reS5sOaXtuWIu+i1t++8jOWcqOaKgOacr+aUr+aMgeacn+mZkOWGheaLpeaciemAmui/h+aMh+WumueahOaWueW8j+iOt+W+l+aMh+WumuiMg+WbtOWGheeahOaKgOacr+aUr+aMgeacjeWKoeOAguWVhuS4muaOiOadg+eUqOaIt+S6q+acieWPjeaYoOWSjOaPkOWHuuaEj+ingeeahOadg+WKm++8jOebuOWFs+aEj+ingeWwhuiiq+S9nOS4uummluimgeiAg+iZke+8jOS9huayoeacieS4gOWumuiiq+mHh+e6s+eahOaJv+ivuuaIluS/neivgeOAgiA8L3A+DQo8cD48c3Ryb25nPuS4ieOAgeWNj+iuruinhOWumueahOe6puadn+WSjOmZkOWItiA8L3N0cm9uZz48YnIgLz4NCiAgMeOAgeacquiOt+WVhuS4muaOiOadg+S5i+WJje+8jOS4jeW+l+WwhuacrOi9r+S7tueUqOS6juWVhuS4mueUqOmAlO+8iOWMheaLrOS9huS4jemZkOS6juS8geS4mue9keermeOAgee7j+iQpeaAp+e9keermeOAgeS7peiQpeWIqeS4uuebrueahOaIluWunueOsOebiOWIqeeahOe9keerme+8ieOAgui0reS5sOWVhuS4muaOiOadg+ivt+eZu+mZhiBiYnMuZGVkZWNtcy5jb20g5LqG6Kej5pyA5paw6K+05piO44CCIDxiciAvPg0KICAy44CB5pyq57uP5a6Y5pa56K645Y+v77yM5LiN5b6X5a+55pys6L2v5Lu25oiW5LiO5LmL5YWz6IGU55qE5ZWG5Lia5o6I5p2D6L+b6KGM5Ye656ef44CB5Ye65ZSu44CB5oq15oq85oiW5Y+R5pS+5a2Q6K645Y+v6K+B44CCIDxiciAvPg0KICAz44CB5LiN566h5L2g55qE572R56uZ5piv5ZCm5pW05L2T5L2/55SoIERlZGVDbXMg77yM6L+Y5piv6YOo5Lu95qCP55uu5L2/55SoIERlZGVDbXPvvIzlnKjkvaDkvb/nlKjkuoYgRGVkZUNtcyDnmoTnvZHnq5nkuLvpobXkuIrlv4XpobvliqDkuIogRGVkZUNtcyDlrpjmlrnnvZHlnYAod3d3LmRlZGVjbXMuY29tKeeahOmTvuaOpeOAgiA8YnIgLz4NCiAgNOOAgeacque7j+WumOaWueiuuOWPr++8jOemgeatouWcqCBEZWRlQ21zIOeahOaVtOS9k+aIluS7u+S9lemDqOWIhuWfuuehgOS4iuS7peWPkeWxleS7u+S9lea0vueUn+eJiOacrOOAgeS/ruaUueeJiOacrOaIluesrOS4ieaWueeJiOacrOeUqOS6jumHjeaWsOWIhuWPkeOAgiA8YnIgLz4NCjXjgIHlpoLmnpzmgqjmnKrog73pgbXlrojmnKzljY/orq7nmoTmnaHmrL7vvIzmgqjnmoTmjojmnYPlsIbooqvnu4jmraLvvIzmiYDooqvorrjlj6/nmoTmnYPliKnlsIbooqvmlLblm57vvIzlubbmib/mi4Xnm7jlupTms5XlvovotKPku7vjgIIgPC9wPg0KPHA+PHN0cm9uZz7lm5vjgIHmnInpmZDmi4Xkv53lkozlhY3otKPlo7DmmI4gPC9zdHJvbmc+PGJyIC8+DQogIDHjgIHmnKzova/ku7blj4rmiYDpmYTluKbnmoTmlofku7bmmK/kvZzkuLrkuI3mj5Dkvpvku7vkvZXmmI7noa7nmoTmiJbpmpDlkKvnmoTotZTlgb/miJbmi4Xkv53nmoTlvaLlvI/mj5DkvpvnmoTjgIIgPGJyIC8+DQogIDLjgIHnlKjmiLflh7rkuo7oh6rmhL/ogIzkvb/nlKjmnKzova/ku7bvvIzmgqjlv4Xpobvkuobop6Pkvb/nlKjmnKzova/ku7bnmoTpo47pmanvvIzlnKjlsJrmnKrotK3kubDkuqflk4HmioDmnK/mnI3liqHkuYvliY3vvIzmiJHku6zkuI3mib/or7rlr7nlhY3otLnnlKjmiLfmj5Dkvpvku7vkvZXlvaLlvI/nmoTmioDmnK/mlK/mjIHjgIHkvb/nlKjmi4Xkv53vvIzkuZ/kuI3mib/mi4Xku7vkvZXlm6Dkvb/nlKjmnKzova/ku7bogIzkuqfnlJ/pl67popjnmoTnm7jlhbPotKPku7vjgIIgPGJyIC8+DQogIDPjgIHnlLXlrZDmlofmnKzlvaLlvI/nmoTmjojmnYPljY/orq7lpoLlkIzlj4zmlrnkuabpnaLnrb7nvbLnmoTljY/orq7kuIDmoLfvvIzlhbfmnInlrozlhajnmoTlkoznrYnlkIznmoTms5XlvovmlYjlipvjgILmgqjkuIDml6blvIDlp4vnoa7orqTmnKzljY/orq7lubblronoo4UgRGVkZUNtc++8jOWNs+iiq+inhuS4uuWujOWFqOeQhuino+W5tuaOpeWPl+acrOWNj+iurueahOWQhOmhueadoeasvu+8jOWcqOS6q+acieS4iui/sOadoeasvuaOiOS6iOeahOadg+WKm+eahOWQjOaXtu+8jOWPl+WIsOebuOWFs+eahOe6puadn+WSjOmZkOWItuOAguWNj+iuruiuuOWPr+iMg+WbtOS7peWklueahOihjOS4uu+8jOWwhuebtOaOpei/neWPjeacrOaOiOadg+WNj+iuruW5tuaehOaIkOS+teadg++8jOaIkeS7rOacieadg+maj+aXtue7iOatouaOiOadg++8jOi0o+S7pOWBnOatouaNn+Wus++8jOW5tuS/neeVmei/veeptuebuOWFs+i0o+S7u+eahOadg+WKm+OAgiA8YnIgLz4NCjTjgIHlpoLmnpzmnKzova/ku7bluKbmnInlhbblroPova/ku7bnmoTmlbTlkIhBUEnnpLrojIPkvovlrZDljIXvvIzov5nkupvmlofku7bniYjmnYPkuI3lsZ7kuo7mnKzova/ku7blrpjmlrnvvIzlubbkuJTov5nkupvmlofku7bmmK/msqHnu4/ov4fmjojmnYPlj5HluIPnmoTvvIzor7flj4LogIPnm7jlhbPova/ku7bnmoTkvb/nlKjorrjlj6/lkIjms5XnmoTkvb/nlKjjgII8L3A+DQo8cD7ljY/orq7lj5HluIPml7bpl7TvvJogIDIwMDjlubQ45pyIMjDml6UgQnkgRGVkZUNtcy5jb208L3A+DQo8cD7CoDwvcD4=
-
-
-RFJPUCBUQUxCRSBJRiBFWElTVFMgYCNAX192b3RlYDsNCkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGAjQF9fdm90ZWAgKA0KICBgYWlkYCBtZWRpdW1pbnQoOCkgdW5zaWduZWQgTk9UIE5VTEwgYXV0b19pbmNyZW1lbnQsDQogIGB2b3RlbmFtZWAgdmFyY2hhcig1MCkgTk9UIE5VTEwgZGVmYXVsdCAnJywNCiAgYHN0YXJ0dGltZWAgaW50KDEwKSB1bnNpZ25lZCBOT1QgTlVMTCBkZWZhdWx0ICcwJywNCiAgYGVuZHRpbWVgIGludCgxMCkgdW5zaWduZWQgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGB0b3RhbGNvdW50YCBtZWRpdW1pbnQoOCkgdW5zaWduZWQgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGBpc21vcmVgIHRpbnlpbnQoNikgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGByYW5nZWAgdGlueWludCg2KSBOT1QgTlVMTCBkZWZhdWx0ICcwJywNCiAgYHZpZXdgIHRpbnlpbnQoNikgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGBzcGVjYCBpbnQoMjApIHVuc2lnbmVkIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgaXNlbmFibGVgIHRpbnlpbnQoNikgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGB2b3Rlbm90ZWAgdGV4dCwNCiAgUFJJTUFSWSBLRVkgIChgYWlkYCkNCikgIEVOR0lORT1NeUlTQU07DQoNCkRST1AgVEFMQkUgSUYgRVhJU1RTIGAjQF9fdm90ZV9tZW1iZXJgOw0KQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMgYCNAX192b3RlX21lbWJlcmAgKA0KICBgaWRgIG1lZGl1bWludCg4KSB1bnNpZ25lZCBOT1QgTlVMTCBhdXRvX2luY3JlbWVudCwNCiAgYHZvdGVpZGAgaW50KDEwKSB1bnNpZ25lZCBOT1QgTlVMTCBkZWZhdWx0ICcwJywNCiAgYHVzZXJpZGAgdmFyY2hhcig1MCkgTk9UIE5VTEwgZGVmYXVsdCAnJywNCiAgYHVwdGltZWAgaW50KDEwKSB1bnNpZ25lZCBOT1QgTlVMTCBkZWZhdWx0ICcwJywNCiAgIFBSSU1BUlkgS0VZICAoYGlkYCkNCikgIEVOR0lORT1NeUlTQU07DQoNCg0KREVMRVRFIEZST00gYCNAX19wbHVzYCB3aGVyZSBwbHVzbmFtZSBsaWtlICfmipXnpajmqKHlnZcnOw0KSU5TRVJUIElOVE8gYCNAX19wbHVzYCAoYHBsdXNuYW1lYCwgYG1lbnVzdHJpbmdgLCBgbWFpbnVybGAsIGB3cml0ZXJgLCBgaXNzaG93YCwgYGZpbGVsaXN0YCkgVkFMVUVTICgn5oqV56Wo5qih5Z2XJywgJzxtOml0ZW0gbmFtZT0nJ+aKleelqOaooeWdlycnIGxpbms9Jyd2b3RlX21haW4ucGhwJycgcmFuaz0nJ3BsdXNf5oqV56Wo5qih5Z2XJycgdGFyZ2V0PScnbWFpbicnIC8+JywgJycsICfnu4fmoqblm6LpmJ8nLCAxLCAnJyk7DQpJTlNFUlQgSU5UTyBgI0BfX3ZvdGVgIFZBTFVFUyAoMSwgJ+S9oOaYr+S7juWTquWEv+W+l+efpeacrOermeeahO+8nycsIDEyNjYzMzYwMDAsIDE1ODQ1NDcyMDAsIDAsIDAsIDEsIDEsIDAsIDAsICc8djpub3RlIGlkPScnMScnIGNvdW50PScnMScnPuaci+WPi+S7i+e7jTwvdjpub3RlPnJuPHY6bm90ZSBpZD0nJzInJyBjb3VudD0nJzAnJz7pl6jmiLfnvZHnq5nnmoTmkJzntKLlvJXmk448L3Y6bm90ZT5ybjx2Om5vdGUgaWQ9JyczJycgY291bnQ9JycyJyc+R29vZ2xl5oiW55m+5bqm5pCc57SiPC92Om5vdGU+cm48djpub3RlIGlkPScnNCcnIGNvdW50PScnMicnPuWIq+eahOe9keermeS4iueahOmTvuaOpTwvdjpub3RlPnJuPHY6bm90ZSBpZD0nJzUnJyBjb3VudD0nJzEnJz7lhbblroPpgJTlvoQ8L3Y6bm90ZT5ybicpOw==
-
-
-REVMRVRFIEZST00gYCNAX19wbHVzYCB3aGVyZSBwbHVzbmFtZSBsaWtlICfmipXnpajmqKHlnZcnOw0KDQpEUk9QIFRBQkxFIElGIEVYSVNUUyBgI0BfX3ZvdGVgOw0KDQpEUk9QIFRBQkxFIElGIEVYSVNUUyBgI0BfX3ZvdGVfbWVtYmVyYDs=
-
-
-
-
-
-
-
-
-../include/taglib/vote.lib.php
-../dede/vote_add.php
-../dede/vote_edit.php
-../dede/vote_getcode.php
-../dede/vote_main.php
-../dede/templets/vote_add.htm
-../dede/templets/vote_edit.htm
-../dede/templets/vote_getcode.htm
-../dede/templets/vote_main.htm
-../plus/vote.php
-../data/vote/vote_1.js
-
-
-
-
-
-PD9waHANCmlmKCFkZWZpbmVkKCdERURFSU5DJykpDQp7DQogICAgZXhpdCgiUmVxdWVzdCBFcnJvciEiKTsNCn0NCi8qKg0KICogzbbGsbHqx6kNCiAqDQogKiBAdmVyc2lvbiAgICAgICAgJElkOiB2b3RlLmxpYi5waHAgMSA5OjI5IDIwMTDE6jfUwjbI1VogdGlhbnlhICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLlRhZ2xpYg0KICogQGNvcHlyaWdodCAgICAgIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTAsIERlc0RldiwgSW5jLg0KICogQGxpY2Vuc2UgICAgICAgIGh0dHA6Ly9oZWxwLmRlZGVjbXMuY29tL3VzZXJzZ3VpZGUvbGljZW5zZS5odG1sDQogKiBAbGluayAgICAgICAgICAgaHR0cDovL3d3dy5kZWRlY21zLmNvbQ0KICovDQogDQovKj4+ZGVkZT4+DQo8bmFtZT7NtsaxserHqTwvbmFtZT4NCjx0eXBlPsirvtax6rzHPC90eXBlPg0KPGZvcj5WNTUsVjU2LFY1NzwvZm9yPg0KPGRlc2NyaXB0aW9uPtPD09q78cih0rvX6c22xrGx7bWlPC9kZXNjcmlwdGlvbj4NCjxkZW1vPg0Ke2RlZGU6dm90ZSBpZD0nJyBsaW5laGVpZ2h0PScyMicgdGFibGV3aWR0aD0nMTAwJScgdGl0bGViZ2NvbG9yPScjRURFREUyJyB0aXRsZWJhY2tncm91bmQ9JycgdGFibGViZ2NvbG9yPScjRkZGRkZGJy99DQp7L2RlZGV9DQo8L2RlbW8+DQo8YXR0cmlidXRlcz4NCiAgICA8aXRlcm0+aWQ6yv3X1qOstbHHsM22xrFJRDwvaXRlcm0+DQogICAgPGl0ZXJtPmxpbmVoZWlnaHQ6se248bjftsg8L2l0ZXJtPg0KICAgIDxpdGVybT50YWJsZXdpZHRoOrHtuPG/7bbIPC9pdGVybT4NCiAgICA8aXRlcm0+dGl0bGViZ2NvbG9yOs22xrGx6szisbO+sMmrPC9pdGVybT4NCiAgICA8aXRlcm0+dGl0bGViYWNrZ3JvdW5kOrHqzOKxs76wzbw8L2l0ZXJtPg0KICAgIDxpdGVybT50YWJsZWJnOs22xrGx7bjxsbO+sMmrPC9pdGVybT4NCjwvYXR0cmlidXRlcz4NCj4+ZGVkZT4+Ki8NCiANCnJlcXVpcmVfb25jZShERURFSU5DLicvZGVkZXZvdGUuY2xhc3MucGhwJyk7DQpmdW5jdGlvbiBsaWJfdm90ZSgmJGN0YWcsJiRyZWZPYmopDQp7DQogICAgZ2xvYmFsICRkc3FsOw0KICAgICRhdHRsaXN0PSJpZHwwLGxpbmVoZWlnaHR8MjQsdGFibGV3aWR0aHwxMDAlLHRpdGxlYmdjb2xvcnwjRURFREUyLHRpdGxlYmFja2dyb3VwfCx0YWJsZWJnfCNGRkZGRkYiOw0KICAgIEZpbGxBdHRzRGVmYXVsdCgkY3RhZy0+Q0F0dHJpYnV0ZS0+SXRlbXMsJGF0dGxpc3QpOw0KICAgIGV4dHJhY3QoJGN0YWctPkNBdHRyaWJ1dGUtPkl0ZW1zLCBFWFRSX1NLSVApOw0KDQogICAgaWYoZW1wdHkoJGlkKSkgJGlkPTA7DQogICAgaWYoJGlkPT0wKQ0KICAgIHsNCiAgICAgICAgJHJvdyA9ICRkc3FsLT5HZXRPbmUoIlNFTEVDVCBhaWQgRlJPTSBgI0BfX3ZvdGVgIE9SREVSIEJZIGFpZCBERVNDIExJTUlUIDAsMSIpOw0KICAgICAgICBpZighaXNzZXQoJHJvd1snYWlkJ10pKSByZXR1cm4gJyc7DQogICAgICAgIGVsc2UgJGlkPSRyb3dbJ2FpZCddOw0KICAgIH0NCiAgICAkdnQgPSBuZXcgRGVkZVZvdGUoJGlkKTsNCiAgICByZXR1cm4gJHZ0LT5HZXRWb3RlRm9ybSgkbGluZWhlaWdodCwkdGFibGV3aWR0aCwkdGl0bGViZ2NvbG9yLCR0aXRsZWJhY2tncm91cCwkdGFibGViZyk7DQp9
-
-
-PD9waHANCi8qKg0KICog5oqV56Wo5qih5Z2XDQogKg0KICogQHZlcnNpb24gICAgICAgICRJZDogdm90ZV9hZGQucGhwIDEgMjM6NTQgMjAxMOW5tDfmnIgyMOaXpVogdGlhbnlhICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLkFkbWluaXN0cmF0b3INCiAqIEBjb3B5cmlnaHQgICAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBEZXNEZXYsIEluYy4NCiAqIEBsaWNlbnNlICAgICAgICBodHRwOi8vaGVscC5kZWRlY21zLmNvbS91c2Vyc2d1aWRlL2xpY2Vuc2UuaHRtbA0KICogQGxpbmsgICAgICAgICAgIGh0dHA6Ly93d3cuZGVkZWNtcy5jb20NCiAqLw0KcmVxdWlyZShkaXJuYW1lKF9fRklMRV9fKS4iL2NvbmZpZy5waHAiKTsNCnJlcXVpcmVfb25jZShERURFSU5DLiIvZGVkZXZvdGUuY2xhc3MucGhwIik7DQpyZXF1aXJlX29uY2UoREVERUlOQy4iL2hlbHBlcnMvZmlsdGVyLmhlbHBlci5waHAiKTsNCkNoZWNrUHVydmlldygncGx1c1/mipXnpajmqKHlnZcnKTsNCmlmKGVtcHR5KCRkb3Bvc3QpKSAkZG9wb3N0ID0gIiI7DQppZihlbXB0eSgkaXNhcmMpKSAgJGlzYXJjID0gMDsgDQppZigkZG9wb3N0PT0ic2F2ZSIgJiYgJGlzYXJjID09IDApDQp7DQogICAgJHN0YXJ0dGltZSA9IEdldE1rVGltZSgkc3RhcnR0aW1lKTsNCiAgICAkZW5kdGltZSA9IEdldE1rVGltZSgkZW5kdGltZSk7DQogICAgJHZvdGVpdGVtcyA9ICIiOw0KICAgIA0KICAgICRqID0gMDsNCiAgICBmb3IoJGk9MTsgJGk8PTE1OyAkaSsrKQ0KICAgIHsNCiAgICAgICAgaWYoIWVtcHR5KCR7InZvdGVpdGVtIi4kaX0pKQ0KICAgICAgICB7DQogICAgICAgICAgICAkaisrOw0KICAgICAgICAgICAgJHZvdGVpdGVtcyAuPSAiPHY6bm90ZSBpZD1cXCckalxcJyBjb3VudD1cXCcwXFwnPiIuJHsidm90ZWl0ZW0iLiRpfS4iPC92Om5vdGU+XHJcbiI7DQogICAgICAgIH0NCiAgICB9DQogICAgJGluUXVlcnkgPSAiSU5TRVJUIElOVE8gI0BfX3ZvdGUodm90ZW5hbWUsc3RhcnR0aW1lLGVuZHRpbWUsdG90YWxjb3VudCxpc21vcmUsdm90ZW5vdGUsaXNhbGxvdyx2aWV3LHNwZWMsaXNlbmFibGUpDQogICAgVkFMVUVTKCckdm90ZW5hbWUnLCckc3RhcnR0aW1lJywnJGVuZHRpbWUnLCcwJywnJGlzbW9yZScsJyR2b3RlaXRlbXMnLCckaXNhbGxvdycsJyR2aWV3JywnJHNwZWMnLCckaXNlbmFibGUnKTsgIjsNCiAgICBpZighJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoJGluUXVlcnkpKQ0KICAgIHsNCiAgICAgICAgU2hvd01zZygi5aKe5Yqg5oqV56Wo5aSx6LSl77yM6K+35qOA5p+l5pWw5o2u5piv5ZCm6Z2e5rOV77yBIiwiLTEiKTsNCiAgICAgICAgZXhpdCgpOw0KICAgIH0NCiAgICAkYWlkID0gJGRzcWwtPkdldExhc3RJRCgpOw0KICAgICR2dCA9IG5ldyBEZWRlVm90ZSgkYWlkKTsNCiAgICAkdm90ZV9jb250ZW50ID0gJHZ0LT5HZXRWb3RlRm9ybSgpOw0KICAgICR2b3RlX2NvbnRlbnQgPSBwcmVnX3JlcGxhY2UoYXJyYXkoIiMvIyIsIiMoW1xyXG5dKVtcc10rIyIpLGFycmF5KCJcLyIsIiAiKSwkdm90ZV9jb250ZW50KTsvL+WPluWHuuWGheWuueS4reeahOepuueZveWtl+espuW5tui/m+ihjOi9rOS5iQ0KICAgICR2b3RlX2NvbnRlbnQgPSAnZG9jdW1lbnQud3JpdGUoIicuJHZvdGVfY29udGVudC4nIik7JzsNCiAgICANCiAgICAkdm90ZV9maWxlID0gREVERURBVEEuIi92b3RlL3ZvdGVfIi4kYWlkLiIuanMiOw0KICAgIGZpbGVfcHV0X2NvbnRlbnRzKCR2b3RlX2ZpbGUsICR2b3RlX2NvbnRlbnQpOw0KICAgIFNob3dNc2coIuaIkOWKn+WinuWKoOS4gOe7hOaKleelqO+8gSIsInZvdGVfbWFpbi5waHAiKTsNCiAgICBleGl0KCk7DQp9DQplbHNlIGlmKCRkb3Bvc3Q9PSJzYXZlIiAmJiAkaXNhcmMgPT0gMSkNCnsNCiAgICAkc3RhcnR0aW1lID0gR2V0TWtUaW1lKCRzdGFydHRpbWUpOw0KICAgICRlbmR0aW1lID0gR2V0TWtUaW1lKCRlbmR0aW1lKTsNCiAgICAkdm90ZWl0ZW1zID0gIiI7DQogICAgDQogICAgJGogPSAwOw0KICAgIGZvcigkaT0xOyAkaTw9MTU7ICRpKyspDQogICAgew0KICAgICAgICBpZighZW1wdHkoJHsidm90ZWl0ZW0iLiRpfSkpDQogICAgICAgIHsNCiAgICAgICAgICAgICRqKys7DQogICAgICAgICAgICAkdm90ZWl0ZW1zIC49ICI8djpub3RlIGlkPVxcJyRqXFwnIGNvdW50PVxcJzBcXCc+Ii4keyJ2b3RlaXRlbSIuJGl9LiI8L3Y6bm90ZT5cclxuIjsNCiAgICAgICAgfQ0KICAgIH0NCiAgICAkaW5RdWVyeSA9ICJJTlNFUlQgSU5UTyAjQF9fdm90ZSh2b3RlbmFtZSxzdGFydHRpbWUsZW5kdGltZSx0b3RhbGNvdW50LGlzbW9yZSx2b3Rlbm90ZSxpc2FsbG93LHZpZXcsc3BlYyxpc2VuYWJsZSkNCiAgICBWQUxVRVMoJyR2b3RlbmFtZScsJyRzdGFydHRpbWUnLCckZW5kdGltZScsJzAnLCckaXNtb3JlJywnJHZvdGVpdGVtcycsJyRpc2FsbG93JywnJHZpZXcnLCckc3BlYycsJyRpc2VuYWJsZScpOyAiOw0KICAgIGlmKCEkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgkaW5RdWVyeSkpDQogICAgew0KICAgICAgICBTaG93TXNnKCLlop7liqDmipXnpajlpLHotKXvvIzor7fmo4Dmn6XmlbDmja7mmK/lkKbpnZ7ms5XvvIEiLCItMSIpOw0KICAgICAgICBleGl0KCk7DQogICAgfQ0KICAgICRhaWQgPSAkZHNxbC0+R2V0TGFzdElEKCk7DQogICAgJHZ0ID0gbmV3IERlZGVWb3RlKCRhaWQpOw0KICAgICR2b3RlX2NvbnRlbnQgPSAkdnQtPkdldFZvdGVGb3JtKCk7DQogICAgJHZvdGVfY29udGVudCA9IHByZWdfcmVwbGFjZShhcnJheSgiIy8jIiwiIyhbXHJcbl0pW1xzXSsjIiksYXJyYXkoIlwvIiwiICIpLCR2b3RlX2NvbnRlbnQpOy8v5Y+W5Ye65YaF5a655Lit55qE56m655m95a2X56ym5bm26L+b6KGM6L2s5LmJDQogICAgJHZvdGVfY29udGVudCA9ICdkb2N1bWVudC53cml0ZSgiJy4kdm90ZV9jb250ZW50LiciKTsnOw0KICAgIA0KICAgICR2b3RlX2ZpbGUgPSBERURFREFUQS4iL3ZvdGUvdm90ZV8iLiRhaWQuIi5qcyI7DQogICAgZmlsZV9wdXRfY29udGVudHMoJHZvdGVfZmlsZSwgJHZvdGVfY29udGVudCk7DQogICAgU2hvd01zZygi5oiQ5Yqf5aKe5Yqg5LiA57uE5oqV56Wo77yBIiwidm90ZV9tYWluLnBocD9pc3NlbD0xJmFpZD0iLiRhaWQpOw0KICAgIGV4aXQoKTsNCn0NCiRzdGFydERheSA9IHRpbWUoKTsNCiRlbmREYXkgPSBBZGREYXkoJHN0YXJ0RGF5LDMwKTsNCiRzdGFydERheSA9IEdldERhdGVUaW1lTWsoJHN0YXJ0RGF5KTsNCiRlbmREYXkgPSBHZXREYXRlVGltZU1rKCRlbmREYXkpOw0KaW5jbHVkZSBEZWRlSW5jbHVkZSgndGVtcGxldHMvdm90ZV9hZGQuaHRtJyk7
-
-
-PD9waHANCi8qKg0KICog5oqV56Wo5qih5Z2X57yW6L6RDQogKg0KICogQHZlcnNpb24gICAgICAgICRJZDogdm90ZV9lZGl0LnBocCAxIDIzOjU0IDIwMTDlubQ35pyIMjDml6VaIHRpYW55YSAkDQogKiBAcGFja2FnZSAgICAgICAgRGVkZUNNUy5BZG1pbmlzdHJhdG9yDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCnJlcXVpcmUoZGlybmFtZShfX0ZJTEVfXykuIi9jb25maWcucGhwIik7DQpDaGVja1B1cnZpZXcoJ3BsdXNf5oqV56Wo5qih5Z2XJyk7DQpyZXF1aXJlX29uY2UoREVERUlOQy4iL2RlZGV0YWcuY2xhc3MucGhwIik7DQppZihlbXB0eSgkZG9wb3N0KSkgJGRvcG9zdD0iIjsNCg0KJGFpZCA9IGlzc2V0KCRhaWQpICYmIGlzX251bWVyaWMoJGFpZCkgPyAkYWlkIDogMDsNCiRFTlZfR09CQUNLX1VSTCA9IGVtcHR5KCRfQ09PS0lFWydFTlZfR09CQUNLX1VSTCddKSA/ICJ2b3RlX21haW4ucGhwIiA6ICRfQ09PS0lFWydFTlZfR09CQUNLX1VSTCddOw0KDQppZigkZG9wb3N0PT0iZGVsZXRlIikNCnsNCiAgICBpZigkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgiREVMRVRFIEZST00gI0BfX3ZvdGUgV0hFUkUgYWlkPSckYWlkJyIpKQ0KICAgIHsNCiAgICAgICAgaWYoJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoIkRFTEVURSBGUk9NICNAX192b3RlX21lbWJlciBXSEVSRSB2b3RlaWQ9JyRhaWQnIikpDQogICAgICAgIHsNCiAgICAgICAgICAgIFNob3dNc2coJ+aIkOWKn+WIoOmZpOS4gOe7hOaKleelqCEnLCAkRU5WX0dPQkFDS19VUkwpOw0KICAgICAgICAgICAgZXhpdDsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBlbHNlDQogICAgew0KICAgICAgICBTaG93TXNnKCfmjIflrprliKDpmaTmipXnpajkuI3lrZjlnKghJywgJEVOVl9HT0JBQ0tfVVJMKTsNCiAgICAgICAgZXhpdDsNCiAgICB9DQp9DQplbHNlIGlmKCRkb3Bvc3Q9PSJzYXZlZWRpdCIpDQp7DQogICAgJHN0YXJ0dGltZSA9IEdldE1rVGltZSgkc3RhcnR0aW1lKTsNCiAgICAkZW5kdGltZSA9IEdldE1rVGltZSgkZW5kdGltZSk7DQogICAgJHF1ZXJ5ID0gIlVQREFURSAjQF9fdm90ZSBTRVQgdm90ZW5hbWU9JyR2b3RlbmFtZScsDQogICAgICAgIHN0YXJ0dGltZT0nJHN0YXJ0dGltZScsDQogICAgICAgIGVuZHRpbWU9JyRlbmR0aW1lJywNCiAgICAgICAgdG90YWxjb3VudD0nJHRvdGFsY291bnQnLA0KICAgICAgICBpc21vcmU9JyRpc21vcmUnLA0KICAgICAgICB2b3Rlbm90ZT0nJHZvdGVub3RlJywNCiAgICAgICAgaXNhbGxvdz0nJGlzYWxsb3cnLA0KICAgICAgICB2aWV3PSckdmlldycsDQogICAgICAgIHNwZWM9JyRzcGVjJywNCiAgICAgICAgaXNlbmFibGU9JyRpc2VuYWJsZScNCiAgICAgICAgV0hFUkUgYWlkPSckYWlkJw0KICAgICAgICAiOw0KICAgIGlmKCRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRxdWVyeSkpDQogICAgew0KICAgICAgICAkdnQgPSBuZXcgRGVkZVZvdGUoJGFpZCk7DQogICAgICAgICR2b3RlX2ZpbGUgPSBERURFREFUQS4iL3ZvdGUvdm90ZV8iLiRhaWQuIi5qcyI7DQogICAgICAgICR2b3RlX2NvbnRlbnQgPSAkdnQtPkdldFZvdGVGb3JtKCk7DQogICAgICAgICR2b3RlX2NvbnRlbnQgPSBwcmVnX3JlcGxhY2UoYXJyYXkoIiMvIyIsIiMoW1xyXG5dKVtcc10rIyIpLGFycmF5KCJcLyIsIiAiKSwkdm90ZV9jb250ZW50KTsgICAgICAgIC8v5Y+W5Ye65YaF5a655Lit55qE56m655m95a2X56ym5bm26L+b6KGM6L2s5LmJDQogICAgICAgICR2b3RlX2NvbnRlbnQgPSAnZG9jdW1lbnQud3JpdGUoIicuJHZvdGVfY29udGVudC4nIik7JzsNCiAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJHZvdGVfZmlsZSwkdm90ZV9jb250ZW50KTsNCiAgICAgICAgU2hvd01zZygn5oiQ5Yqf5pu05pS55LiA57uE5oqV56WoIScsJEVOVl9HT0JBQ0tfVVJMKTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgU2hvd01zZygn5pu05pS55LiA57uE5oqV56Wo5aSx6LSlIScsJEVOVl9HT0JBQ0tfVVJMKTsNCiAgICB9DQp9DQplbHNlDQp7DQogICAgJHJvdyA9ICRkc3FsLT5HZXRPbmUoIlNFTEVDVCAqIEZST00gI0BfX3ZvdGUgV0hFUkUgYWlkPSckYWlkJyIpOw0KICAgIGlmKCFpc19hcnJheSgkcm93KSkNCiAgICB7DQogICAgICAgIFNob3dNc2coJ+aMh+WumuaKleelqOS4jeWtmOWcqO+8gScsICctMScpOw0KICAgICAgICBleGl0KCk7DQogICAgfQ0KICAgIGluY2x1ZGUgRGVkZUluY2x1ZGUoJ3RlbXBsZXRzL3ZvdGVfZWRpdC5odG0nKTsNCn0=
-
-
-PD9waHANCi8qKg0KICog6I635Y+W5oqV56Wo5Luj56CBDQogKg0KICogQHZlcnNpb24gICAgICAgICRJZDogdm90ZV9nZXRjb2RlLnBocCAxIDIzOjU0IDIwMTDlubQ35pyIMjDml6VaIHRpYW55YSAkDQogKiBAcGFja2FnZSAgICAgICAgRGVkZUNNUy5BZG1pbmlzdHJhdG9yDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4iL2NvbmZpZy5waHAiKTsNCnJlcXVpcmVfb25jZShERURFSU5DLiIvZGVkZXZvdGUuY2xhc3MucGhwIik7DQokYWlkID0gaXNzZXQoJGFpZCkgJiYgaXNfbnVtZXJpYygkYWlkKSA/ICRhaWQgOiAwOw0KaW5jbHVkZSBEZWRlSW5jbHVkZSgndGVtcGxldHMvdm90ZV9nZXRjb2RlLmh0bScpOw==
-
-
-PD9waHANCi8qKg0KICog5oqV56Wo566h55CGDQogKg0KICogQHZlcnNpb24gICAgICAgICRJZDogdm90ZV9tYWluLnBocCAxIDIzOjU0IDIwMTDlubQ35pyIMjDml6VaIHRpYW55YSAkDQogKiBAcGFja2FnZSAgICAgICAgRGVkZUNNUy5BZG1pbmlzdHJhdG9yDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4iL2NvbmZpZy5waHAiKTsNCnJlcXVpcmVfb25jZShERURFSU5DLiIvZGF0YWxpc3RjcC5jbGFzcy5waHAiKTsNCnNldGNvb2tpZSgiRU5WX0dPQkFDS19VUkwiLCRkZWRlTm93dXJsLHRpbWUoKSszNjAwLCIvIik7DQokc3FsID0gIlNFTEVDVCBhaWQsdm90ZW5hbWUsc3RhcnR0aW1lLGVuZHRpbWUsdG90YWxjb3VudCxpc2VuYWJsZSBGUk9NICNAX192b3RlIE9SREVSIEJZIGFpZCBERVNDIjsNCiRkbGlzdCA9IG5ldyBEYXRhTGlzdENQKCk7DQokaXNzZWwgPSBpc3NldCgkaXNzZWwpID8gJGlzc2VsIDogMDsNCiRhaWQgPSBpc3NldCgkYWlkKSA/ICRhaWQgOiAwOw0KaWYoJGlzc2VsID09IDEpDQp7DQogICAgJGRsaXN0LT5TZXRQYXJhbWV0ZXIoJ2lzc2VsJywkaXNzZWwpOw0KICAgICRkbGlzdC0+U2V0VGVtcGxldChERURFQURNSU4uIi90ZW1wbGV0cy92b3RlX3NlbGVjdC5odG0iKTsNCn0gZWxzZSB7DQogICAgJGRsaXN0LT5TZXRUZW1wbGV0KERFREVBRE1JTi4iL3RlbXBsZXRzL3ZvdGVfbWFpbi5odG0iKTsNCn0NCiRkbGlzdC0+U2V0U291cmNlKCRzcWwpOw0KJGRsaXN0LT5kaXNwbGF5KCk7
-
-
-PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+5aKe5Yqg5oqV56WoPC90aXRsZT4NCjxsaW5rIGhyZWY9ImNzcy9iYXNlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+DQo8c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0IiBzcmM9Ii4uL2luY2x1ZGUvanMvanF1ZXJ5L2pxdWVyeS5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0iLi4vaW5jbHVkZS9qcy93ZWJjYWxlbmRhci5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPg0KdmFyIGk9MTsNCmZ1bmN0aW9uIEFkZEl0ZW0oKQ0KeyANCiAgaSsrOw0KICBpZihpPjE1KXsNCgkJYWxlcnQoIuacgOWkp+WPquWFgeiuuDE15Liq6YCJ6aG577yBIik7DQoJCXJldHVybjsNCiAgfQ0KICB2YXIgaHRtbGRhdGEgPSAiPGJyLz7pgInpobkiK2krIu+8miA8aW5wdXQgbmFtZT0ndm90ZWl0ZW0iK2krIicgdHlwZT0ndGV4dCcgc2l6ZT0nMzAnPiI7DQogIGpRdWVyeSgiI3ZvdGVpdGVtIikuYXBwZW5kKGh0bWxkYXRhKTsNCn0NCmZ1bmN0aW9uIFJlc2V0SXRlbSgpDQp7IA0KICBpID0gMTsNCgl2YXIgb2JqID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInZvdGVpdGVtIik7DQoJb2JqLmlubmVySFRNTD0i6YCJ6aG5Me+8miA8aW5wdXQgbmFtZT0ndm90ZWl0ZW0xJyB0eXBlPSd0ZXh0JyBzaXplPSczMCc+IjsNCn0NCmZ1bmN0aW9uIGNoZWNrU3VibWl0KCkNCnsNCglpZihkb2N1bWVudC5mb3JtMS52b3RlbmFtZS52YWx1ZT09IiIpDQoJew0KCQlhbGVydCgi5oqV56Wo5ZCN56ew5LiN6IO95Li656m677yBIik7DQoJCWRvY3VtZW50LmZvcm0xLnZvdGVuYW1lLmZvY3VzKCk7DQoJCXJldHVybiBmYWxzZTsNCgl9DQp9DQo8L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5IGJhY2tncm91bmQ9ImltYWdlcy9hbGxiZy5naWYiIGxlZnRtYXJnaW49JzgnIHRvcG1hcmdpbj0nOCc+DQo8dGFibGUgd2lkdGg9Ijk4JSIgYm9yZGVyPSIwIiBhbGlnbj0iY2VudGVyIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIGJnY29sb3I9IiNENkQ2RDYiPg0KICA8dHI+DQogICAgPHRkIGhlaWdodD0iMjgiIGJhY2tncm91bmQ9ImltYWdlcy90YmcuZ2lmIiBzdHlsZT0icGFkZGluZy1sZWZ0OjEwcHg7Ij48Yj7mipXnpajnrqHnkIY8L2I+Jmd0OyZndDvlop7liqDmipXnpagmbmJzcDsmbmJzcDtbPGEgaHJlZj0idm90ZV9tYWluLnBocCI+PHU+566h55CG5Lul5b6A5oqV56Wo5YaF5a656K6w5b2VPC91PjwvYT5dPC90ZD4NCjwvdHI+DQo8dHI+DQogICAgPHRkIGhlaWdodD0iMjAwIiBiZ2NvbG9yPSIjRkZGRkZGIiB2YWxpZ249InRvcCI+DQoJPHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSI0IiBjZWxscGFkZGluZz0iNCI+DQogICAgICAgIDxmb3JtIG5hbWU9ImZvcm0xIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0idm90ZV9hZGQucGhwIiBvblN1Ym1pdD0icmV0dXJuIGNoZWNrU3VibWl0KCkiPg0KCQk8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdkb3Bvc3QnIHZhbHVlPSdzYXZlJz4NCgkJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iaXNhcmMiIHZhbHVlPSI8P3BocCBlY2hvICRpc2FyYzsgPz4iIC8+DQoJCTx0cj4gDQogICAgICAgICAgPHRkIHdpZHRoPSIxNSUiIGFsaWduPSJjZW50ZXIiPuaKleelqOWQjeensO+8mjwvdGQ+DQogICAgICAgICAgPHRkIHdpZHRoPSI4NSUiPiA8aW5wdXQgbmFtZT0idm90ZW5hbWUiIHR5cGU9InRleHQiIGlkPSJ2b3RlbmFtZSI+IDwvdGQ+DQogICAgICAgIDwvdHI+DQogICAgICAgIDx0cj4gDQogICAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIiPuW8gOWni+aXtumXtO+8mjwvdGQ+DQogICAgICAgICAgPHRkPjxpbnB1dCBuYW1lPSJzdGFydHRpbWUiIHR5cGU9InRleHQiIGlkPSJzdGFydHRpbWUiIHZhbHVlPSI8P3BocCBlY2hvICRzdGFydERheT8+IiBjbGFzcz0iZGF0ZWljbyIgb25DbGljaz0iU2VsZWN0RGF0ZSh0aGlzLCd5eXl5LU1NLWRkIGhoOm1tOnNzJyw4MCwwKSI+PC90ZD4NCiAgICAgICAgPC90cj4NCiAgICAgICAgPHRyPiANCiAgICAgICAgICA8dGQgYWxpZ249ImNlbnRlciI+57uT5p2f5pe26Ze077yaPC90ZD4NCiAgICAgICAgICA8dGQ+PGlucHV0IG5hbWU9ImVuZHRpbWUiIHR5cGU9InRleHQiIGlkPSJlbmR0aW1lIiB2YWx1ZT0iPD9waHAgZWNobyAkZW5kRGF5Pz4iIGNsYXNzPSJkYXRlaWNvIiBvbkNsaWNrPSJTZWxlY3REYXRlKHRoaXMsJ3l5eXktTU0tZGQgaGg6bW06c3MnLDgwLDApIj48L3RkPg0KICAgICAgICA8L3RyPg0KCQk8dHI+IA0KICAgICAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIj7mmK/lkKblhYHorrjmuLjlrqLmipXnpajvvJo8L3RkPg0KICAgICAgICAgIDx0ZD4gPGlucHV0IG5hbWU9ImlzYWxsb3ciIHR5cGU9InJhZGlvIiBjbGFzcz0ibnAiIHZhbHVlPSIwIj4NCiAgICAgICAgICAgIOaYryDjgIAgDQogICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iaXNhbGxvdyIgY2xhc3M9Im5wIiB2YWx1ZT0iMSIgY2hlY2tlZD4NCiAgICAgICAgICAgICAg5ZCmPC90ZD4NCiAgICAgICAgPC90cj4NCgkJPHRyPiANCiAgICAgICAgICA8dGQgYWxpZ249ImNlbnRlciI+5piv5ZCm5YWB6K645p+l55yL5oqV56Wo77yaPC90ZD4NCiAgICAgICAgICA8dGQ+IDxpbnB1dCBuYW1lPSJ2aWV3IiB0eXBlPSJyYWRpbyIgY2xhc3M9Im5wIiB2YWx1ZT0iMCI+DQogICAgICAgICAgICDmmK8g44CAIA0KICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InZpZXciIGNsYXNzPSJucCIgdmFsdWU9IjEiIGNoZWNrZWQ+DQogICAgICAgICAgICAgIOWQpjwvdGQ+DQogICAgICAgIDwvdHI+DQogICAgIDx0cj4gDQogICAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIiPuaKleelqOaXtumXtOmXtOmalO+8mjwvdGQ+DQogICAgICAgICAgPHRkPjxpbnB1dCBuYW1lPSJzcGVjIiB0eXBlPSJ0ZXh0IiB2YWx1ZT0iIiBjbGFzcz0ic3BlYyI+DQogICAgICAgICAgICAoTuWkqeWQjuWPr+WGjeasoeaKleelqO+8jDAg6KGo56S65q2kSVDlnLDlnYDlj6rog73mipXkuIDmrKEpPC90ZD4NCiAgICAgICAgPC90cj4NCiAgICAgICAgPHRyPiANCiAgICAgICAgICA8dGQgYWxpZ249ImNlbnRlciI+5piv5ZCm5aSa6YCJ77yaPC90ZD4NCiAgICAgICAgICA8dGQ+IDxpbnB1dCBuYW1lPSJpc21vcmUiIHR5cGU9InJhZGlvIiBjbGFzcz0ibnAiIHZhbHVlPSIwIiBjaGVja2VkPg0KICAgICAgICAgICAg5Y2V6YCJIOOAgCANCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iaXNtb3JlIiBjbGFzcz0ibnAiIHZhbHVlPSIxIj4NCiAgICAgICAgICAgIOWkmumAiSA8L3RkPg0KICAgICAgICA8L3RyPg0KCQkNCiAgICAgICAgPHRyPg0KICAgICAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIj7mipUg56WoIOmhue+8mjwvdGQ+DQogICAgICAgICAgPHRkPjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlop7liqDmipXnpajpgInpobkiIG5hbWU9ImJiYiIgY2xhc3M9ImJ0MSIgb25DbGljaz0iQWRkSXRlbSgpOyI+DQogICAgICAgICAgICDjgIAgDQogICAgICAgICAgICA8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i6YeN572u5oqV56Wo6YCJ6aG5IiBuYW1lPSJiYmIyIiBjbGFzcz0iYnQxIiBvbkNsaWNrPSJSZXNldEl0ZW0oKTsiPjwvdGQ+DQogICAgICAgIDwvdHI+DQogICAgICAgIDx0cj4gDQogICAgICAgICAgPHRkPjwvdGQ+DQogICAgICAgICAgPHRkPg0KCQkgIDxkaXYgaWQ9InZvdGVpdGVtIj4NCgkJCemAiemhuTHvvJogDQogICAgICAgICAgICAgICAgPGlucHV0IG5hbWU9InZvdGVpdGVtMSIgdHlwZT0idGV4dCIgaWQ9InZvdGVpdGVtMSIgc2l6ZT0iMzAiPg0KCQkgIDwvZGl2Pg0KCQkgIDwvdGQ+DQogICAgICAgIDwvdHI+DQoJCTx0cj4gDQogICAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIiPuaYr+WQpuWQr+eUqO+8mjwvdGQ+DQogICAgICAgICAgPHRkPiA8aW5wdXQgbmFtZT0iaXNlbmFibGUiIHR5cGU9InJhZGlvIiBjbGFzcz0ibnAiIHZhbHVlPSIwIiBjaGVja2VkPg0KICAgICAgICAgICAg5pivIOOAgCANCiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJpc2VuYWJsZSIgY2xhc3M9Im5wIiB2YWx1ZT0iMSI+DQogICAgICAgICAgICAgIOWQpjwvdGQ+DQogICAgICAgIDwvdHI+DQogICAgICAgIDx0cj4gDQogICAgICAgICAgPHRkIGhlaWdodD0iNDciPiZuYnNwOzwvdGQ+DQogICAgICAgICAgPHRkPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9IlN1Ym1pdCIgdmFsdWU9IuS/neWtmOaKleelqOaVsOaNriI+PC90ZD4NCiAgICAgICAgPC90cj4NCiAgICAgICAgPHRyPiANCiAgICAgICAgICANCiAgICAgICAgPC90cj4NCgkJPC9mb3JtPg0KDQoJCTx0ZCBjb2xzcGFuPSIyIj4mbmJzcDs8L3RkPg0KICAgICAgPC90YWJsZT4NCgkgPC90ZD4NCjwvdHI+DQoNCjwvdGFibGU+DQo8L2JvZHk+DQo8L2h0bWw+
-
-
-PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+5oqV56Wo566h55CGPC90aXRsZT4NCjxsaW5rIGhyZWY9ImNzcy9iYXNlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+DQo8L2hlYWQ+DQo8Ym9keSBiYWNrZ3JvdW5kPSdpbWFnZXMvYWxsYmcuZ2lmJyBsZWZ0bWFyZ2luPSc4JyB0b3BtYXJnaW49JzgnPg0KPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgYWxpZ249ImNlbnRlciIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBiZ2NvbG9yPSIjRDZENkQ2Ij4NCiAgPHRyPg0KICAgIDx0ZCBoZWlnaHQ9IjI4IiBiYWNrZ3JvdW5kPSJpbWFnZXMvdGJnLmdpZiIgc3R5bGU9InBhZGRpbmctbGVmdDoxMHB4OyI+PGI+5oqV56Wo566h55CGPC9iPiZndDsmZ3Q75aKe5Yqg5oqV56WoJm5ic3A7Jm5ic3A7WzxhIGhyZWY9InZvdGVfbWFpbi5waHAiPjx1PueuoeeQhuS7peW+gOaKleelqOWGheWuueiusOW9lTwvdT48L2E+XTwvdGQ+DQo8L3RyPg0KPHRyPg0KICAgIDx0ZCBoZWlnaHQ9IjIwMCIgYmdjb2xvcj0iI0ZGRkZGRiIgdmFsaWduPSJ0b3AiPg0KCTxmb3JtIG5hbWU9ImZvcm0xIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0idm90ZV9lZGl0LnBocCI+DQoJPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZG9wb3N0IiB2YWx1ZT0ic2F2ZWVkaXQiPg0KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImFpZCIgdmFsdWU9Ijw/cGhwIGVjaG8gJGFpZD8+Ij4NCgkgICAgPHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSI0IiBjZWxscGFkZGluZz0iNCI+DQogICAgICAgICAgPHRyPiANCiAgICAgICAgICAgIDx0ZCB3aWR0aD0iMTUlIiBhbGlnbj0iY2VudGVyIj7mipXnpajlkI3np7DvvJo8L3RkPg0KICAgICAgICAgICAgPHRkIHdpZHRoPSI4NSUiPiA8aW5wdXQgbmFtZT0idm90ZW5hbWUiIHR5cGU9InRleHQiIGlkPSJ2b3RlbmFtZSIgdmFsdWU9Ijw/cGhwIGVjaG8gJHJvd1sndm90ZW5hbWUnXT8+Ij4gDQogICAgICAgICAgICA8L3RkPg0KICAgICAgICAgIDwvdHI+DQogICAgICAgICAgPHRyPg0KICAgICAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIiPuaKleelqOaAu+S6uuaVsO+8mjwvdGQ+DQogICAgICAgICAgICA8dGQ+PGlucHV0IG5hbWU9InRvdGFsY291bnQiIHR5cGU9InRleHQiIGlkPSJ0b3RhbGNvdW50IiB2YWx1ZT0iPD9waHAgZWNobyAkcm93Wyd0b3RhbGNvdW50J10/PiI+PC90ZD4NCiAgICAgICAgICA8L3RyPg0KICAgICAgICAgIDx0cj4gDQogICAgICAgICAgICA8dGQgYWxpZ249ImNlbnRlciI+5byA5aeL5pe26Ze077yaPC90ZD4NCiAgICAgICAgICAgIDx0ZD48aW5wdXQgbmFtZT0ic3RhcnR0aW1lIiB0eXBlPSJ0ZXh0IiBpZD0ic3RhcnR0aW1lIiB2YWx1ZT0iPD9waHAgZWNobyBHZXREYXRlTWsoJHJvd1snc3RhcnR0aW1lJ10pPz4iPjwvdGQ+DQogICAgICAgICAgPC90cj4NCiAgICAgICAgICA8dHI+IA0KICAgICAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIiPue7k+adn+aXtumXtO+8mjwvdGQ+DQogICAgICAgICAgICA8dGQ+PGlucHV0IG5hbWU9ImVuZHRpbWUiIHR5cGU9InRleHQiIGlkPSJlbmR0aW1lIiB2YWx1ZT0iPD9waHAgZWNobyBHZXREYXRlTWsoJHJvd1snZW5kdGltZSddKT8+Ij48L3RkPg0KICAgICAgICAgIDwvdHI+DQoJCTx0cj4gDQogICAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIiPuaYr+WQpuWFgeiuuOa4uOWuouaKleelqO+8mjwvdGQ+DQogICAgICAgICAgPHRkPiA8aW5wdXQgbmFtZT0iaXNhbGxvdyIgdHlwZT0icmFkaW8iIGNsYXNzPSJucCIgdmFsdWU9IjAiIDw/cGhwIGlmKCRyb3dbJ2lzYWxsb3cnXT09MCkgZWNobyAiIGNoZWNrZWQiOyA/Pj4NCiAgICAgICAgICAgIOaYryDjgIAgDQogICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iaXNhbGxvdyIgY2xhc3M9Im5wIiB2YWx1ZT0iMSIgPD9waHAgaWYoJHJvd1snaXNhbGxvdyddPT0xKSBlY2hvICIgY2hlY2tlZCI7ID8+Pg0KICAgICAgICAgICAgICDlkKY8L3RkPg0KICAgICAgICA8L3RyPg0KCQk8dHI+IA0KICAgICAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIj7mmK/lkKblhYHorrjmn6XnnIvmipXnpajvvJo8L3RkPg0KICAgICAgICAgIDx0ZD4gPGlucHV0IG5hbWU9InZpZXciIHR5cGU9InJhZGlvIiBjbGFzcz0ibnAiIHZhbHVlPSIwIiA8P3BocCBpZigkcm93Wyd2aWV3J109PTApIGVjaG8gIiBjaGVja2VkIjsgPz4+DQogICAgICAgICAgICDmmK8g44CAIA0KICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icmFkaW8iIG5hbWU9InZpZXciIGNsYXNzPSJucCIgdmFsdWU9IjEiIDw/cGhwIGlmKCRyb3dbJ3ZpZXcnXT09MSkgZWNobyAiIGNoZWNrZWQiOyA/Pj4NCiAgICAgICAgICAgICAg5ZCmPC90ZD4NCiAgICAgICAgPC90cj4NCiAgICAgPHRyPiANCiAgICAgICAgICA8dGQgYWxpZ249ImNlbnRlciI+5oqV56Wo5pe26Ze06Ze06ZqU77yaPC90ZD4NCiAgICAgICAgICA8dGQ+PGlucHV0IG5hbWU9InNwZWMiIHR5cGU9InRleHQiIHZhbHVlPSI8P3BocCBlY2hvICRyb3dbJ3NwZWMnXSA/PiIgY2xhc3M9InNwZWMiID4NCiAgICAgICAgICAgIChO5aSp5ZCO5Y+v5YaN5qyh5oqV56Wo77yMMCDooajnpLrmraRJUOWcsOWdgOWPquiDveaKleS4gOasoSk8L3RkPg0KICAgICAgICA8L3RyPg0KICAgICAgICAgIDx0cj4gDQogICAgICAgICAgICA8dGQgYWxpZ249ImNlbnRlciI+5piv5ZCm5aSa6YCJ77yaPC90ZD4NCiAgICAgICAgICAgIDx0ZD4gPGlucHV0IG5hbWU9ImlzbW9yZSIgdHlwZT0icmFkaW8iIGNsYXNzPSJucCIgdmFsdWU9IjAiPD9waHAgaWYoJHJvd1snaXNtb3JlJ109PTApIGVjaG8gIiBjaGVja2VkIjs/Pj4NCiAgICAgICAgICAgICAg5Y2V6YCJIOOAgCANCiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJpc21vcmUiIGNsYXNzPSJucCIgdmFsdWU9IjEiPD9waHAgaWYoJHJvd1snaXNtb3JlJ109PTEpIGVjaG8gIiBjaGVja2VkIjs/Pj4NCiAgICAgICAgICAgICAg5aSa6YCJIDwvdGQ+DQogICAgICAgICAgPC90cj4NCiAgICAgICAgICA8dHI+IA0KICAgICAgICAgICAgPHRkIGFsaWduPSJjZW50ZXIiPuaKlSDnpagg6aG577yaPGJyLz4NCiAgICAgICAgICAgICAgKOivt+aMieebuOWQjOeahOW9ouW8j+adpeWinuWKoOaIluS/ruaUueiKgueCue+8jOWFtuS4reWxnuaAp++8mmlk5LiN6IO96YeN5aSNKSA8L3RkPg0KICAgICAgICAgICAgPHRkPjx0ZXh0YXJlYSBuYW1lPSJ2b3Rlbm90ZSIgcm93cz0iOCIgaWQ9InZvdGVub3RlIiBzdHlsZT0id2lkdGg6ODAlIj48P3BocCBlY2hvICRyb3dbJ3ZvdGVub3RlJ10/PjwvdGV4dGFyZWE+IA0KICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICA8L3RyPg0KCQk8dHI+IA0KICAgICAgICAgIDx0ZCBhbGlnbj0iY2VudGVyIj7mmK/lkKblkK/nlKjvvJo8L3RkPg0KICAgICAgICAgIDx0ZD4gPGlucHV0IG5hbWU9ImlzZW5hYmxlIiB0eXBlPSJyYWRpbyIgY2xhc3M9Im5wIiB2YWx1ZT0iMCIgPD9waHAgaWYoJHJvd1snaXNlbmFibGUnXT09MCkgZWNobyAiIGNoZWNrZWQiOyA/Pj4NCiAgICAgICAgICAgIOaYryDjgIAgDQogICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0iaXNlbmFibGUiIGNsYXNzPSJucCIgdmFsdWU9IjEiIDw/cGhwIGlmKCRyb3dbJ2lzZW5hYmxlJ109PTEpIGVjaG8gIiBjaGVja2VkIjsgPz4+DQogICAgICAgICAgICAgIOWQpjwvdGQ+DQogICAgICAgIDwvdHI+DQogICAgICAgICAgPHRyPiANCiAgICAgICAgICAgIDx0ZCBoZWlnaHQ9IjQ3Ij4mbmJzcDs8L3RkPg0KICAgICAgICAgICAgPHRkPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9IlN1Ym1pdCIgdmFsdWU9IuS/neWtmOaKleelqOaVsOaNriI+PC90ZD4NCiAgICAgICAgICA8L3RyPg0KICAgICAgICAgIDx0cj4gDQogICAgICAgICAgICA8dGQgY29sc3Bhbj0iMiI+Jm5ic3A7PC90ZD4NCiAgICAgICAgICA8L3RyPg0KICAgICAgICA8L3RhYmxlPg0KCSAgPC9mb3JtPg0KCSAgPC90ZD4NCjwvdHI+DQo8L3RhYmxlPg0KPC9ib2R5Pg0KPC9odG1sPg==
-
-
-PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+6I635Y+W5Luj56CBPC90aXRsZT4NCjxsaW5rIGhyZWY9ImNzcy9iYXNlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+DQo8L2hlYWQ+DQo8Ym9keSBiYWNrZ3JvdW5kPSJpbWFnZXMvYWxsYmcuZ2lmIiBsZWZ0bWFyZ2luPSI4IiB0b3BtYXJnaW49IjgiPg0KPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgYWxpZ249ImNlbnRlciIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBiZ2NvbG9yPSIjRDZENkQ2Ij4NCiAgPHRyPg0KICAgIDx0ZCBoZWlnaHQ9IjE5IiBiYWNrZ3JvdW5kPSJpbWFnZXMvdGJnLmdpZiI+PHN0cm9uZz48YSBocmVmPSJ2b3RlX21haW4ucGhwIj48dT7mipXnpajnrqHnkIY8L3U+PC9hPiZndDsmZ3Q76I635Y+W5Luj56CBPC9zdHJvbmc+PC90ZD4NCjwvdHI+DQo8dHI+DQogICAgPHRkIGhlaWdodD0iMjAwIiBiZ2NvbG9yPSIjRkZGRkZGIiB2YWxpZ249InRvcCI+PHRhYmxlIHdpZHRoPSI4MCUiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjIiIGNlbGxwYWRkaW5nPSIyIj4NCiAgICAgICAgPHRyIGJnY29sb3I9IiNFQkYyREIiPiANCiAgICAgICAgICA8dGQgd2lkdGg9IjEwMCUiIGJnY29sb3I9IiNFQkYyREIiPuWcqOWwgemdouaIluS4u+mhteaooeadv+S4reS9v+eUqOeahOagh+iusO+8mjwvdGQ+DQogICAgICAgIDwvdHI+DQogICAgICAgIDx0cj4gDQogICAgICAgICAgPHRkIHZhbGlnbj0idG9wIj4gDQogICAgICAgICAgICA8dGFibGUgd2lkdGg9IjYwMCIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPg0KICAgICAgICAgPGZvcm0gbmFtZT0iZm9ybTEiIGFjdGlvbj0idGFnX3Rlc3RfYWN0aW9uLnBocCIgdGFyZ2V0PSJzdGFmcm0iIG1ldGhvZD0icG9zdCI+DQogICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJzaG93c291cmNlIiB2YWx1ZT0ibm8iPg0KCQkJICA8dHI+IA0KICAgICAgICAgICAgICAgICAgPHRkIHdpZHRoPSIzNzAiIGhlaWdodD0iMTUzIiBhbGlnbj0iY2VudGVyIj4gDQogICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBuYW1lPSJwYXJ0Y29kZSIgY29scz0iNDUiIHJvd3M9IjYiIGlkPSJwYXJ0Y29kZSI+e2RlZGU6dm90ZSBpZD0nPD9waHAgZWNobyAkYWlkPz4nIGxpbmVoZWlnaHQ9JzIyJw0KdGFibGV3aWR0aD0nMTAwJScgdGl0bGViZ2NvbG9yPScjRURFREUyJw0KdGl0bGViYWNrZ3JvdW5kPScnIHRhYmxlYmdjb2xvcj0nI0ZGRkZGRid9DQp7L2RlZGU6dm90ZX08L3RleHRhcmVhPg0KICAgICAgICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICAgICAgICA8dGQgd2lkdGg9IjIzMCIgcm93c3Bhbj0iMiI+DQogICAgICAgICAgICAgICAgIDxpZnJhbWUgbmFtZT0ic3RhZnJtIiBmcmFtZWJvcmRlcj0iMCIgaWQ9InN0YWZybSIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSI+PC9pZnJhbWU+DQoJCQkJPC90ZD4NCiAgICAgICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgPHRyPg0KICAgICAgICAgICAgICAgICAgPHRkIGhlaWdodD0iNTMiIGFsaWduPSJjZW50ZXIiIHZhbGlnbj0idG9wIj4gDQogICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9IlN1Ym1pdCIgdmFsdWU9IuaPkOS6pOa1i+ivlSI+DQogICAgICAgICAgICAgICAgICA8L3RkPg0KICAgICAgICAgICAgICA8L3RyPg0KCQkJICA8L2Zvcm0+DQogICAgICAgICAgICA8L3RhYmxlPiANCiAgICAgICAgICA8L3RkPg0KICAgICAgICA8L3RyPg0KCQk8dHIgYmdjb2xvcj0iI0VCRjJEQiI+DQoJCTx0ZCBiZ2NvbG9yPSIjRUJGMkRCIj7lnKjlsIHpnaLmiJbkuLvpobXmqKHmnb/kuK3kvb/nlKjnmoRKU++8mjwvdGQ+DQoJCTwvdHI+DQoJCTx0cj4NCgkJPHRkIGhlaWdodD0iMjAwIiB2YWxpZ249InRvcCI+DQogICAgICAgICAgICA8dGV4dGFyZWEgbmFtZT0iaHRtbGYiIGNvbHM9IjYwIiByb3dzPSI1IiBpZD0iaHRtbGYiPjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiIHNyYz0iPD9waHAgZWNobyAkY2ZnX2Jhc2Vob3N0LicvZGF0YS92b3RlL3ZvdGVfJy4kYWlkLicuanMnID8+Ij48L3NjcmlwdD48L3RleHRhcmVhPg0KCQk8L3RkPg0KCQk8L3RyPg0KICAgICAgICA8dHIgYmdjb2xvcj0iI0VCRjJEQiI+IA0KICAgICAgICAgIDx0ZCBiZ2NvbG9yPSIjRUJGMkRCIj7pu5jorqTnlJ/miJDnmoTooajljZVIVE1M77yaPC90ZD4NCiAgICAgICAgPC90cj4NCiAgICAgICAgPHRyPiANCiAgICAgICAgICA8dGQgaGVpZ2h0PSIyMDAiIHZhbGlnbj0idG9wIj4gDQogICAgICAgICAgICA8dGV4dGFyZWEgbmFtZT0iaHRtbGYiIGNvbHM9IjYwIiByb3dzPSIxMCIgaWQ9Imh0bWxmIj48P3BocA0KCQkJJHZ0ID0gbmV3IERlZGVWb3RlKCRhaWQpOw0KCQkJZWNobyAkdnQtPkdldFZvdGVGb3JtKCk7DQoJCQkkdnQtPkNsb3NlKCk7DQoJCQk/PjwvdGV4dGFyZWE+DQogICAgICAgICAgPC90ZD4NCiAgICAgICAgPC90cj4NCiAgICAgIDwvdGFibGU+IDwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjwvYm9keT4NCjwvaHRtbD4=
-
-
-e2RlZGU6Y29uZmlnLnBhZ2VzaXplIHZhbHVlPScyMCcvfQ0KPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+5oqV56Wo566h55CGPC90aXRsZT4NCjxsaW5rIGhyZWY9ImNzcy9iYXNlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+DQo8L2hlYWQ+DQo8Ym9keSBiYWNrZ3JvdW5kPSdpbWFnZXMvYWxsYmcuZ2lmJyBsZWZ0bWFyZ2luPSc4JyB0b3BtYXJnaW49JzgnPg0KPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgYWxpZ249ImNlbnRlciIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBiZ2NvbG9yPSIjRDZENkQ2Ij4NCiAgPHRyPg0KICAgPHRkIGhlaWdodD0iMjgiIGJhY2tncm91bmQ9ImltYWdlcy90YmcuZ2lmIiBjb2xzcGFuPSI3IiBzdHlsZT0icGFkZGluZy1sZWZ0OjEwcHg7Ij4NCiAgICAgPGI+5oqV56Wo566h55CGPC9iPiZuYnNwO1s8YSBocmVmPSJ2b3RlX2FkZC5waHAiPjx1PuWinuWKoOS4gOe7hOaKleelqDwvdT48L2E+XQ0KCTwvdGQ+DQo8L3RyPg0KICA8dHIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iI0ZCRkNFMiIgaGVpZ2h0PSIyNCI+IA0KICAgICAgPHRkIHdpZHRoPSI4JSI+5oqV56WoSUQ8L3RkPg0KICAgICAgPHRkIHdpZHRoPSIyMiUiPuaKleelqOWQjeensDwvdGQ+DQogICAgICA8dGQgd2lkdGg9IjE1JSI+5byA5aeL5pe26Ze0PC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iMTUlIj7nu5PmnZ/ml7bpl7Q8L3RkPg0KICAgICAgPHRkIHdpZHRoPSIxMCUiPuaKleelqOaAu+aVsDwvdGQ+DQoJICA8dGQgd2lkdGg9IjEwJSI+54q25oCBPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iMjAlIj7nrqHnkIY8L3RkPg0KICAgPC90cj4NCiAgICAgICAge2RlZGU6ZGF0YWxpc3R9DQogICAgICAgICA8dHIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iI0ZGRkZGRiIgaGVpZ2h0PSIyNCIgDQogICAgICAgICAJb25Nb3VzZU1vdmU9ImphdmFzY3JpcHQ6dGhpcy5iZ0NvbG9yPScjRkNGREVFJzsiIG9uTW91c2VPdXQ9ImphdmFzY3JpcHQ6dGhpcy5iZ0NvbG9yPScjRkZGRkZGJzsiPiANCiAgICAgICAgICA8dGQ+e2RlZGU6ZmllbGQuYWlkIC99PC90ZD4NCiAgICAgICAgICA8dGQ+DQogICAgICAgICAgCTxhIGhyZWY9J3tkZWRlOmdsb2JhbCBuYW1lPSJjZmdfcGhwdXJsIiAvfS92b3RlLnBocD9haWQ9e2RlZGU6ZmllbGQuYWlkL30mZG9wb3N0PXZpZXcnIHRhcmdldD0nX2JsYW5rJz4NCiAgICAgICAgICAJPHU+e2RlZGU6ZmllbGQudm90ZW5hbWUgL308L3U+DQogICAgICAgICAgCTwvYT4NCiAgICAgICAgICA8L3RkPg0KICAgICAgICAgIDx0ZD57ZGVkZTpmaWVsZC5zdGFydHRpbWUgZnVuY3Rpb249IkdldERhdGVNayhAbWUpIiAvfTwvdGQ+DQogICAgICAgICAgPHRkPntkZWRlOmZpZWxkLmVuZHRpbWUgZnVuY3Rpb249IkdldERhdGVNayhAbWUpIiAvfTwvdGQ+DQogICAgICAgICAgPHRkPntkZWRlOmZpZWxkLnRvdGFsY291bnQgL308L3RkPg0KCQkgIDx0ZD48P3BocCBpZigkZmllbGRzWydpc2VuYWJsZSddID09IDEpe2VjaG8gIjxmb250IGNvbG9yPXJlZD7mnKrlkK/nlKg8L2ZvbnQ+Ijt9ZWxzZXtlY2hvICI8Zm9udCBjb2xvcj1ncmVlbj7lkK/nlKg8L2ZvbnQ+Ijt9ID8+PC90ZD4NCiAgICAgICAgICA8dGQ+DQogICAgICAgICAgCTxhIGhyZWY9J3ZvdGVfZ2V0Y29kZS5waHA/YWlkPXtkZWRlOmZpZWxkLmFpZCAvfSc+W+iOt+WPluS7o+eggV08L2E+DQogICAgICAgICAgCTxhIGhyZWY9J3ZvdGVfZWRpdC5waHA/YWlkPXtkZWRlOmZpZWxkLmFpZCAvfSZkb3Bvc3Q9ZWRpdCc+W+abtOaUuV08L2E+DQoJCSAgICAgICAgJm5ic3A7DQoJCSAgICAgICAgPGEgaHJlZj0ndm90ZV9lZGl0LnBocD9haWQ9e2RlZGU6ZmllbGQuYWlkIC99JmRvcG9zdD1kZWxldGUnPlvliKDpmaRdPC9hPg0KCQkgICAgICA8L3RkPg0KICAgICAgICA8L3RyPg0KCQl7L2RlZGU6ZGF0YWxpc3R9DQogICAgIDx0ciBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjRjlGQ0VGIiBoZWlnaHQ9IjI0Ij4gDQogICAgICA8dGQgY29sc3Bhbj0iNyI+e2RlZGU6cGFnZWxpc3QgbGlzdHNpemU9JzYnL308L3RkPg0KICAgICA8L3RyPg0KICAgPC90YWJsZT4NCiAgIDwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjwvYm9keT4NCjwvaHRtbD4=
-
-
-PD9waHANCi8qKg0KICoNCiAqIOaKleelqA0KICoNCiAqIEB2ZXJzaW9uICAgICAgICAkSWQ6IHZvdGUucGhwIDEgMjA6NTQgMjAxMOW5tDfmnIg45pelWiB0aWFueWEgJA0KICogQHBhY2thZ2UgICAgICAgIERlZGVDTVMuU2l0ZQ0KICogQGNvcHlyaWdodCAgICAgIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTAsIERlc0RldiwgSW5jLg0KICogQGxpY2Vuc2UgICAgICAgIGh0dHA6Ly9oZWxwLmRlZGVjbXMuY29tL3VzZXJzZ3VpZGUvbGljZW5zZS5odG1sDQogKiBAbGluayAgICAgICAgICAgaHR0cDovL3d3dy5kZWRlY21zLmNvbQ0KICovDQpyZXF1aXJlKGRpcm5hbWUoX19GSUxFX18pLiIvLi4vaW5jbHVkZS9jb21tb24uaW5jLnBocCIpOw0KcmVxdWlyZShERURFSU5DLiIvZGVkZXZvdGUuY2xhc3MucGhwIik7DQpyZXF1aXJlKERFREVJTkMuIi9tZW1iZXJsb2dpbi5jbGFzcy5waHAiKTsNCnJlcXVpcmUoREVERUlOQy4iL3VzZXJsb2dpbi5jbGFzcy5waHAiKTsNCg0KJG1lbWJlciA9IG5ldyBNZW1iZXJMb2dpbjsNCiRtZW1iZXJJRCA9ICRtZW1iZXItPk1fTG9naW5JRDsNCiR0aW1lID0gdGltZSgpOw0KJGNvbnRlbnQgPSAkbWVtYmVySUQuJ3wnLiR0aW1lOw0KJGZpbGUgPSBERURFREFUQS4nL2NhY2hlL3ZvdGVfJy4kYWlkLidfJy4kbWVtYmVyLT5NX0lELicuaW5jJzsvL+WtmOaUvuS8muWRmOaKleelqOiusOW9leeahOe8k+WtmOaWh+S7tg0KDQokbG9naW51cmwgPSAkY2ZnX2Jhc2Vob3N0LiIvbWVtYmVyIjsNCiRFTlZfR09CQUNLX1VSTCA9IGVtcHR5KCRfU0VSVkVSWydIVFRQX1JFRkVSRVInXSkgPyAnJzokX1NFUlZFUlsnSFRUUF9SRUZFUkVSJ107DQoNCmlmKGVtcHR5KCRkb3Bvc3QpKSAkZG9wb3N0ID0gJyc7DQoNCiRhaWQgPSAoaXNzZXQoJGFpZCkgJiYgaXNfbnVtZXJpYygkYWlkKSkgPyAkYWlkIDogMDsNCmlmKCRhaWQ9PTApIGRpZSgiIFJlcXVlc3QgRXJyb3IhICIpOw0KDQppZigkYWlkPT0wKQ0Kew0KICAgIFNob3dNc2coIuayoeaMh+WumuaKleelqOmhueebrueahElE77yBIiwiLTEiKTsNCiAgICBleGl0KCk7DQp9DQokdm8gPSBuZXcgRGVkZVZvdGUoJGFpZCk7DQokcnNtc2cgPSAnJzsNCg0KDQokcm93ID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUICogRlJPTSAjQF9fdm90ZSBXSEVSRSBhaWQ9JyRhaWQnIik7DQovL+WIpOaWreaYr+WQpuWFgeiuuOa4uOWuoui/m+ihjOaKleelqA0KaWYoJHJvd1sncmFuZ2UnXSA9PSAxKQ0Kew0KICAgIGlmKCEkbWVtYmVyLT5Jc0xvZ2luKCkpDQogICAgew0KICAgICAgICBTaG93TXNnKCfor7flhYjnmbvlvZXlho3ov5vooYzmipXnpagnLCRsb2dpbnVybCk7DQogICAgICAgIGV4aXQoKTsNCiAgICB9DQp9DQoNCmlmKCRkb3Bvc3Q9PSdzZW5kJykNCnsNCiAgICANCiAgICBpZighZW1wdHkoJHZvdGVpdGVtKSkNCiAgICB7DQogICAgICAgICRyc21zZyA9ICI8YnIgLz4mbmJzcDvkvaDmlrnmiY3nmoTmipXnpajnirbmgIHvvJoiLiR2by0+U2F2ZVZvdGUoJHZvdGVpdGVtKS4iPGJyIC8+IjsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgJHJzbXNnID0gIjxiciAvPiZuYnNwO+S9oOWImuaJjeayoemAieaLqeS7u+S9leaKleelqOmhueebru+8gTxiciAvPiI7DQogICAgfQ0KICAgIA0KICAgIGlmKCRyb3dbJ2lzZW5hYmxlJ10gPT0gMSkNCiAgICB7DQogICAgICAgIFNob3dNc2coJ+atpOaKleelqOmhueacquWQr+eUqCzmmoLml7bkuI3og73ov5vooYzmipXnpagnLCRFTlZfR09CQUNLX1VSTCk7DQogICAgICAgIGV4aXQoKTsNCiAgICB9DQp9DQoNCiR2b25hbWUgPSAkdm8tPlZvdGVJbmZvc1sndm90ZW5hbWUnXTsNCiR0b3RhbGNvdW50ID0gJHZvLT5Wb3RlSW5mb3NbJ3RvdGFsY291bnQnXTsNCiRzdGFydHRpbWUgPSBHZXREYXRlTWsoJHZvLT5Wb3RlSW5mb3NbJ3N0YXJ0dGltZSddKTsNCiRlbmR0aW1lID0gR2V0RGF0ZU1rKCR2by0+Vm90ZUluZm9zWydlbmR0aW1lJ10pOw0KJHZvdGVsaXN0ID0gJHZvLT5HZXRWb3RlUmVzdWx0KCI5OCUiLDMwLCIzMCUiKTsNCg0KDQoNCg0KDQovL+WIpOaWreaYr+WQpuWFgeiuuOiiq+afpeeciw0KJGFkbWluID0gbmV3IHVzZXJMb2dpbjsNCmlmKCRkb3Bvc3QgPT0gJ3ZpZXcnKQ0Kew0KICAgIGlmKCRyb3dbJ3ZpZXcnXSA9PSAxICYmIGVtcHR5KCRhZG1pbi0+dXNlck5hbWUpKQ0KICAgIHsNCiAgICAgICAgU2hvd01zZygn5q2k5oqV56Wo6aG55LiN5YWB6K645p+l55yL57uT5p6cJywkRU5WX0dPQkFDS19VUkwpOw0KICAgICAgICBleGl0KCk7DQogICAgfQ0KfQ0KLy/mmL7npLrmqKHmnb8o566A5Y2VUEhQ5paH5Lu2KQ0KaW5jbHVkZShERURFVEVNUExBVEUuJy9wbHVzL3ZvdGUuaHRtJyk7
-
-
-ZG9jdW1lbnQud3JpdGUoIjx0YWJsZSB3aWR0aD0nMTAwJScgYm9yZGVyPScwJyBjZWxsc3BhY2luZz0nMScgY2VsbHBhZGRpbmc9JzEnIGlkPSd2b3RlaXRlbSc+IDxmb3JtIG5hbWU9J3ZvdGVmb3JtJyBtZXRob2Q9J3Bvc3QnIGFjdGlvbj0nXC9wbHVzXC92b3RlLnBocCcgdGFyZ2V0PSdfYmxhbmsnPiA8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdkb3Bvc3QnIHZhbHVlPSdzZW5kJyBcLz4gPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nYWlkJyB2YWx1ZT0nMScgXC8+IDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2lzbW9yZScgdmFsdWU9JzAnIFwvPiA8dHIgYWxpZ249J2NlbnRlcic+PHRkIGhlaWdodD0nMzAnIGlkPSd2b3RldGl0bGUnIHN0eWxlPSdib3JkZXItYm90dG9tOjFweCBkYXNoZWQgIzk5OTk5OTtjb2xvcjojM0Y3NjUyJyA+PHN0cm9uZz7kvaDmmK/ku47lk6rlhL/lvpfnn6XmnKznq5nnmoTvvJ88XC9zdHJvbmc+PFwvdGQ+PFwvdHI+IDx0cj48dGQgaGVpZ2h0PTMwIGJnY29sb3I9I0ZGRkZGRiBzdHlsZT0nY29sb3I6IzY2NjY2Nic+PGlucHV0IHR5cGU9J3JhZGlvJyBuYW1lPSd2b3RlaXRlbScgdmFsdWU9JzEnIFwvPuaci+WPi+S7i+e7jTxcL3RkPjxcL3RyPiA8dHI+PHRkIGhlaWdodD0zMCBiZ2NvbG9yPSNGRkZGRkYgc3R5bGU9J2NvbG9yOiM2NjY2NjYnPjxpbnB1dCB0eXBlPSdyYWRpbycgbmFtZT0ndm90ZWl0ZW0nIHZhbHVlPScyJyBcLz7pl6jmiLfnvZHnq5nnmoTmkJzntKLlvJXmk448XC90ZD48XC90cj4gPHRyPjx0ZCBoZWlnaHQ9MzAgYmdjb2xvcj0jRkZGRkZGIHN0eWxlPSdjb2xvcjojNjY2NjY2Jz48aW5wdXQgdHlwZT0ncmFkaW8nIG5hbWU9J3ZvdGVpdGVtJyB2YWx1ZT0nMycgXC8+R29vZ2xl5oiW55m+5bqm5pCc57SiPFwvdGQ+PFwvdHI+IDx0cj48dGQgaGVpZ2h0PTMwIGJnY29sb3I9I0ZGRkZGRiBzdHlsZT0nY29sb3I6IzY2NjY2Nic+PGlucHV0IHR5cGU9J3JhZGlvJyBuYW1lPSd2b3RlaXRlbScgdmFsdWU9JzQnIFwvPuWIq+eahOe9keermeS4iueahOmTvuaOpTxcL3RkPjxcL3RyPiA8dHI+PHRkIGhlaWdodD0zMCBiZ2NvbG9yPSNGRkZGRkYgc3R5bGU9J2NvbG9yOiM2NjY2NjYnPjxpbnB1dCB0eXBlPSdyYWRpbycgbmFtZT0ndm90ZWl0ZW0nIHZhbHVlPSc1JyBcLz7lhbblroPpgJTlvoQ8XC90ZD48XC90cj4gPHRyPjx0ZCBoZWlnaHQ9JzMwJz4gPGlucHV0IHR5cGU9J3N1Ym1pdCcgY2xhc3M9J2J0bi0xJyBuYW1lPSd2YnQxJyB2YWx1ZT0n5oqV56WoJyBcLz4gPGlucHV0IHR5cGU9J2J1dHRvbicgY2xhc3M9J2J0bi0xJyBuYW1lPSd2YnQyJyB2YWx1ZT0n5p+l55yL57uT5p6cJyBvbkNsaWNrPXdpbmRvdy5vcGVuKCdcL3BsdXNcL3ZvdGUucGhwP2RvcG9zdD12aWV3JmFpZD0xJyk7IFwvPjxcL3RkPjxcL3RyPiA8XC9mb3JtPiA8XC90YWJsZT4gIik7
-
-
-
diff --git a/src/data/module/b437d85a7a7bc778c9c79b5ec36ab9aa-readme.php b/src/data/module/b437d85a7a7bc778c9c79b5ec36ab9aa-readme.php
deleted file mode 100755
index 7cd76f59..00000000
--- a/src/data/module/b437d85a7a7bc778c9c79b5ec36ab9aa-readme.php
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
版权所有 ©2003-2008,DedeCms.com 保留所有权利。
-
感谢您选择织梦内容管理系统(以下简称DedeCms),DedeCms是目前国内最强大、最稳定的中小型门户网站建设解决方案之一,居于 PHP + MySQL 的技术开发,全部源码开放。DedeCms 的官方网址是: www.dedecms.com 交流论坛: bbs.dedecms.com
-
为了使你正确并合法的使用本软件,请你在使用前务必阅读清楚下面的协议条款:
-
一、本授权协议适用且仅适用于 DedeCms 5.x.x 版本,DedeCms官方对本授权协议的最终解释权。
-
二、协议许可的权利
- 1、您可以在完全遵守本最终用户授权协议的基础上,将本软件应用于非商业用途,而不必支付软件版权授权费用。
- 2、您可以在协议规定的约束和限制范围内修改 DedeCms 源代码或界面风格以适应您的网站要求。
- 3、您拥有使用本软件构建的网站全部内容所有权,并独立承担与这些内容的相关法律义务。
-4、获得商业授权之后,您可以将本软件应用于商业用途,同时依据所购买的授权类型中确定的技术支持内容,自购买时刻起,在技术支持期限内拥有通过指定的方式获得指定范围内的技术支持服务。商业授权用户享有反映和提出意见的权力,相关意见将被作为首要考虑,但没有一定被采纳的承诺或保证。
-
三、协议规定的约束和限制
- 1、未获商业授权之前,不得将本软件用于商业用途(包括但不限于企业网站、经营性网站、以营利为目的或实现盈利的网站)。购买商业授权请登陆 bbs.dedecms.com 了解最新说明。
- 2、未经官方许可,不得对本软件或与之关联的商业授权进行出租、出售、抵押或发放子许可证。
- 3、不管你的网站是否整体使用 DedeCms ,还是部份栏目使用 DedeCms,在你使用了 DedeCms 的网站主页上必须加上 DedeCms 官方网址(www.dedecms.com)的链接。
- 4、未经官方许可,禁止在 DedeCms 的整体或任何部分基础上以发展任何派生版本、修改版本或第三方版本用于重新分发。
-5、如果您未能遵守本协议的条款,您的授权将被终止,所被许可的权利将被收回,并承担相应法律责任。
-
四、有限担保和免责声明
- 1、本软件及所附带的文件是作为不提供任何明确的或隐含的赔偿或担保的形式提供的。
- 2、用户出于自愿而使用本软件,您必须了解使用本软件的风险,在尚未购买产品技术服务之前,我们不承诺对免费用户提供任何形式的技术支持、使用担保,也不承担任何因使用本软件而产生问题的相关责任。
- 3、电子文本形式的授权协议如同双方书面签署的协议一样,具有完全的和等同的法律效力。您一旦开始确认本协议并安装 DedeCms,即被视为完全理解并接受本协议的各项条款,在享有上述条款授予的权力的同时,受到相关的约束和限制。协议许可范围以外的行为,将直接违反本授权协议并构成侵权,我们有权随时终止授权,责令停止损害,并保留追究相关责任的权力。
-4、如果本软件带有其它软件的整合API示范例子包,这些文件版权不属于本软件官方,并且这些文件是没经过授权发布的,请参考相关软件的使用许可合法的使用。
-
协议发布时间: 2008年8月20日 By DedeCms.com
-
\ No newline at end of file
diff --git a/src/data/module/b437d85a7a7bc778c9c79b5ec36ab9aa.xml b/src/data/module/b437d85a7a7bc778c9c79b5ec36ab9aa.xml
deleted file mode 100755
index 73808f1b..00000000
--- a/src/data/module/b437d85a7a7bc778c9c79b5ec36ab9aa.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-
-
-name=友情链接
-team=织梦官方
-time=2008-07-01
-email=admin@dedecms.com
-url=www.dedecms.com
-hash=b437d85a7a7bc778c9c79b5ec36ab9aa
-indexname=
-indexurl=
-ismember=0
-autosetup=1
-autodel=1
-lang=utf-8
-moduletype=plus
-
-
-
-
-
-
-PGRpdiBzdHlsZT0ncGFkZGluZy1sZWZ0OjIwcHg7bGluZS1oZWlnaHQ6MTUwJSc+DQo8cD7niYjmnYPmiYDmnIkgwqkyMDAzLTIwMTHvvIxEZWRlQ21zLmNvbSDkv53nlZnmiYDmnInmnYPliKnjgIIgPC9wPg0KPHA+5oSf6LCi5oKo6YCJ5oup57uH5qKm5YaF5a65566h55CG57O757uf77yI5Lul5LiL566A56ewRGVkZUNtc++8ie+8jERlZGVDbXPmmK/nm67liY3lm73lhoXmnIDlvLrlpKfjgIHmnIDnqLPlrprnmoTkuK3lsI/lnovpl6jmiLfnvZHnq5nlu7rorr7op6PlhrPmlrnmoYjkuYvkuIDvvIzlsYXkuo4gUEhQICsgTXlTUUwg55qE5oqA5pyv5byA5Y+R77yM5YWo6YOo5rqQ56CB5byA5pS+44CCRGVkZUNtcyDnmoTlrpjmlrnnvZHlnYDmmK/vvJogd3d3LmRlZGVjbXMuY29tICDkuqTmtYHorrrlnZvvvJogYmJzLmRlZGVjbXMuY29tPC9wPg0KPHA+5Li65LqG5L2/5L2g5q2j56Gu5bm25ZCI5rOV55qE5L2/55So5pys6L2v5Lu277yM6K+35L2g5Zyo5L2/55So5YmN5Yqh5b+F6ZiF6K+75riF5qWa5LiL6Z2i55qE5Y2P6K6u5p2h5qy+77yaPC9wPg0KPHA+PHN0cm9uZz7kuIDjgIHmnKzmjojmnYPljY/orq7pgILnlKjkuJTku4XpgILnlKjkuo4gRGVkZUNtcyA1LngueCDniYjmnKzvvIxEZWRlQ21z5a6Y5pa55a+55pys5o6I5p2D5Y2P6K6u55qE5pyA57uI6Kej6YeK5p2D44CCIDwvc3Ryb25nPjwvcD4NCjxwPjxzdHJvbmc+5LqM44CB5Y2P6K6u6K645Y+v55qE5p2D5YipIDwvc3Ryb25nPjxiciAvPg0KICAx44CB5oKo5Y+v5Lul5Zyo5a6M5YWo6YG15a6I5pys5pyA57uI55So5oi35o6I5p2D5Y2P6K6u55qE5Z+656GA5LiK77yM5bCG5pys6L2v5Lu25bqU55So5LqO6Z2e5ZWG5Lia55So6YCU77yM6ICM5LiN5b+F5pSv5LuY6L2v5Lu254mI5p2D5o6I5p2D6LS555So44CCIDxiciAvPg0KICAy44CB5oKo5Y+v5Lul5Zyo5Y2P6K6u6KeE5a6a55qE57qm5p2f5ZKM6ZmQ5Yi26IyD5Zu05YaF5L+u5pS5IERlZGVDbXMg5rqQ5Luj56CB5oiW55WM6Z2i6aOO5qC85Lul6YCC5bqU5oKo55qE572R56uZ6KaB5rGC44CCIDxiciAvPg0KICAz44CB5oKo5oul5pyJ5L2/55So5pys6L2v5Lu25p6E5bu655qE572R56uZ5YWo6YOo5YaF5a655omA5pyJ5p2D77yM5bm254us56uL5om/5ouF5LiO6L+Z5Lqb5YaF5a6555qE55u45YWz5rOV5b6L5LmJ5Yqh44CCIDxiciAvPg0KNOOAgeiOt+W+l+WVhuS4muaOiOadg+S5i+WQju+8jOaCqOWPr+S7peWwhuacrOi9r+S7tuW6lOeUqOS6juWVhuS4mueUqOmAlO+8jOWQjOaXtuS+neaNruaJgOi0reS5sOeahOaOiOadg+exu+Wei+S4reehruWumueahOaKgOacr+aUr+aMgeWGheWuue+8jOiHqui0reS5sOaXtuWIu+i1t++8jOWcqOaKgOacr+aUr+aMgeacn+mZkOWGheaLpeaciemAmui/h+aMh+WumueahOaWueW8j+iOt+W+l+aMh+WumuiMg+WbtOWGheeahOaKgOacr+aUr+aMgeacjeWKoeOAguWVhuS4muaOiOadg+eUqOaIt+S6q+acieWPjeaYoOWSjOaPkOWHuuaEj+ingeeahOadg+WKm++8jOebuOWFs+aEj+ingeWwhuiiq+S9nOS4uummluimgeiAg+iZke+8jOS9huayoeacieS4gOWumuiiq+mHh+e6s+eahOaJv+ivuuaIluS/neivgeOAgiA8L3A+DQo8cD48c3Ryb25nPuS4ieOAgeWNj+iuruinhOWumueahOe6puadn+WSjOmZkOWItiA8L3N0cm9uZz48YnIgLz4NCiAgMeOAgeacquiOt+WVhuS4muaOiOadg+S5i+WJje+8jOS4jeW+l+WwhuacrOi9r+S7tueUqOS6juWVhuS4mueUqOmAlO+8iOWMheaLrOS9huS4jemZkOS6juS8geS4mue9keermeOAgee7j+iQpeaAp+e9keermeOAgeS7peiQpeWIqeS4uuebrueahOaIluWunueOsOebiOWIqeeahOe9keerme+8ieOAgui0reS5sOWVhuS4muaOiOadg+ivt+eZu+mZhiBiYnMuZGVkZWNtcy5jb20g5LqG6Kej5pyA5paw6K+05piO44CCIDxiciAvPg0KICAy44CB5pyq57uP5a6Y5pa56K645Y+v77yM5LiN5b6X5a+55pys6L2v5Lu25oiW5LiO5LmL5YWz6IGU55qE5ZWG5Lia5o6I5p2D6L+b6KGM5Ye656ef44CB5Ye65ZSu44CB5oq15oq85oiW5Y+R5pS+5a2Q6K645Y+v6K+B44CCIDxiciAvPg0KICAz44CB5LiN566h5L2g55qE572R56uZ5piv5ZCm5pW05L2T5L2/55SoIERlZGVDbXMg77yM6L+Y5piv6YOo5Lu95qCP55uu5L2/55SoIERlZGVDbXPvvIzlnKjkvaDkvb/nlKjkuoYgRGVkZUNtcyDnmoTnvZHnq5nkuLvpobXkuIrlv4XpobvliqDkuIogRGVkZUNtcyDlrpjmlrnnvZHlnYAod3d3LmRlZGVjbXMuY29tKeeahOmTvuaOpeOAgiA8YnIgLz4NCiAgNOOAgeacque7j+WumOaWueiuuOWPr++8jOemgeatouWcqCBEZWRlQ21zIOeahOaVtOS9k+aIluS7u+S9lemDqOWIhuWfuuehgOS4iuS7peWPkeWxleS7u+S9lea0vueUn+eJiOacrOOAgeS/ruaUueeJiOacrOaIluesrOS4ieaWueeJiOacrOeUqOS6jumHjeaWsOWIhuWPkeOAgiA8YnIgLz4NCjXjgIHlpoLmnpzmgqjmnKrog73pgbXlrojmnKzljY/orq7nmoTmnaHmrL7vvIzmgqjnmoTmjojmnYPlsIbooqvnu4jmraLvvIzmiYDooqvorrjlj6/nmoTmnYPliKnlsIbooqvmlLblm57vvIzlubbmib/mi4Xnm7jlupTms5XlvovotKPku7vjgIIgPC9wPg0KPHA+PHN0cm9uZz7lm5vjgIHmnInpmZDmi4Xkv53lkozlhY3otKPlo7DmmI4gPC9zdHJvbmc+PGJyIC8+DQogIDHjgIHmnKzova/ku7blj4rmiYDpmYTluKbnmoTmlofku7bmmK/kvZzkuLrkuI3mj5Dkvpvku7vkvZXmmI7noa7nmoTmiJbpmpDlkKvnmoTotZTlgb/miJbmi4Xkv53nmoTlvaLlvI/mj5DkvpvnmoTjgIIgPGJyIC8+DQogIDLjgIHnlKjmiLflh7rkuo7oh6rmhL/ogIzkvb/nlKjmnKzova/ku7bvvIzmgqjlv4Xpobvkuobop6Pkvb/nlKjmnKzova/ku7bnmoTpo47pmanvvIzlnKjlsJrmnKrotK3kubDkuqflk4HmioDmnK/mnI3liqHkuYvliY3vvIzmiJHku6zkuI3mib/or7rlr7nlhY3otLnnlKjmiLfmj5Dkvpvku7vkvZXlvaLlvI/nmoTmioDmnK/mlK/mjIHjgIHkvb/nlKjmi4Xkv53vvIzkuZ/kuI3mib/mi4Xku7vkvZXlm6Dkvb/nlKjmnKzova/ku7bogIzkuqfnlJ/pl67popjnmoTnm7jlhbPotKPku7vjgIIgPGJyIC8+DQogIDPjgIHnlLXlrZDmlofmnKzlvaLlvI/nmoTmjojmnYPljY/orq7lpoLlkIzlj4zmlrnkuabpnaLnrb7nvbLnmoTljY/orq7kuIDmoLfvvIzlhbfmnInlrozlhajnmoTlkoznrYnlkIznmoTms5XlvovmlYjlipvjgILmgqjkuIDml6blvIDlp4vnoa7orqTmnKzljY/orq7lubblronoo4UgRGVkZUNtc++8jOWNs+iiq+inhuS4uuWujOWFqOeQhuino+W5tuaOpeWPl+acrOWNj+iurueahOWQhOmhueadoeasvu+8jOWcqOS6q+acieS4iui/sOadoeasvuaOiOS6iOeahOadg+WKm+eahOWQjOaXtu+8jOWPl+WIsOebuOWFs+eahOe6puadn+WSjOmZkOWItuOAguWNj+iuruiuuOWPr+iMg+WbtOS7peWklueahOihjOS4uu+8jOWwhuebtOaOpei/neWPjeacrOaOiOadg+WNj+iuruW5tuaehOaIkOS+teadg++8jOaIkeS7rOacieadg+maj+aXtue7iOatouaOiOadg++8jOi0o+S7pOWBnOatouaNn+Wus++8jOW5tuS/neeVmei/veeptuebuOWFs+i0o+S7u+eahOadg+WKm+OAgiA8YnIgLz4NCjTjgIHlpoLmnpzmnKzova/ku7bluKbmnInlhbblroPova/ku7bnmoTmlbTlkIhBUEnnpLrojIPkvovlrZDljIXvvIzov5nkupvmlofku7bniYjmnYPkuI3lsZ7kuo7mnKzova/ku7blrpjmlrnvvIzlubbkuJTov5nkupvmlofku7bmmK/msqHnu4/ov4fmjojmnYPlj5HluIPnmoTvvIzor7flj4LogIPnm7jlhbPova/ku7bnmoTkvb/nlKjorrjlj6/lkIjms5XnmoTkvb/nlKjjgII8L3A+DQo8cD7ljY/orq7lj5HluIPml7bpl7TvvJogIDIwMDjlubQ45pyIMjDml6UgQnkgRGVkZUNtcy5jb208L3A+DQo8cD7CoDwvcD4=
-
-
-RFJPUCBUQUJMRSBJRiBFWElTVFMgYCNAX19mbGlua2A7DQpDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgI0BfX2ZsaW5rYCAoDQogIGBpZGAgc21hbGxpbnQoNSkgdW5zaWduZWQgTk9UIE5VTEwgYXV0b19pbmNyZW1lbnQsDQogIGBzb3J0cmFua2Agc21hbGxpbnQoNikgTk9UIE5VTEwgZGVmYXVsdCAnMCcsDQogIGB1cmxgIGNoYXIoNjApIE5PVCBOVUxMIGRlZmF1bHQgJycsDQogIGB3ZWJuYW1lYCBjaGFyKDMwKSBOT1QgTlVMTCBkZWZhdWx0ICcnLA0KICBgbXNnYCBjaGFyKDIwMCkgTk9UIE5VTEwgZGVmYXVsdCAnJywNCiAgYGVtYWlsYCBjaGFyKDUwKSBOT1QgTlVMTCBkZWZhdWx0ICcnLA0KICBgbG9nb2AgY2hhcig2MCkgTk9UIE5VTEwgZGVmYXVsdCAnJywNCiAgYGR0aW1lYCBpbnQoMTApIHVuc2lnbmVkIE5PVCBOVUxMIGRlZmF1bHQgJzAnLA0KICBgdHlwZWlkYCBzbWFsbGludCg1KSB1bnNpZ25lZCBOT1QgTlVMTCBkZWZhdWx0ICcwJywNCiAgYGlzY2hlY2tgIHNtYWxsaW50KDYpIE5PVCBOVUxMIGRlZmF1bHQgJzEnLA0KICBQUklNQVJZIEtFWSAgKGBpZGApDQopIEVOR0lORT1NeUlTQU07DQoNCkRST1AgVEFCTEUgSUYgRVhJU1RTIGAjQF9fZmxpbmt0eXBlYDsNCkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGAjQF9fZmxpbmt0eXBlYCgNCiAgYGlkYCBtZWRpdW1pbnQoOCkgdW5zaWduZWQgTk9UIE5VTEwgYXV0b19pbmNyZW1lbnQsDQogIGB0eXBlbmFtZWAgdmFyY2hhcig1MCkgTk9UIE5VTEwgZGVmYXVsdCAnJywNCiAgUFJJTUFSWSBLRVkgIChgaWRgKQ0KKSBFTkdJTkU9TXlJU0FNOw0KDQpEZWxldGUgRnJvbSBgI0BfX3BsdXNgIHdoZXJlIHBsdXNuYW1lIGxpa2UgJ+WPi+aDhemTvuaOpeaooeWdlyc7DQpJTlNFUlQgSU5UTyBgI0BfX2ZsaW5rYCBWQUxVRVMgKDEsIDEsICdodHRwOi8vd3d3LmRlZGVjbXMuY29tJywgJ+e7h+aipuWumOaWuee9keermScsICcnLCAnJywgJycsIDEyMjYzNzU0MDMsIDEsIDIpOw0KSU5TRVJUIElOVE8gYCNAX19wbHVzYCAoYHBsdXNuYW1lYCwgYG1lbnVzdHJpbmdgLCBgbWFpbnVybGAsIGB3cml0ZXJgLCBgaXNzaG93YCwgYGZpbGVsaXN0YCkgVkFMVUVTICgn5Y+L5oOF6ZO+5o6l5qih5Z2XJywgJzxtOml0ZW0gbmFtZT0nJ+WPi+aDhemTvuaOpScnIGxpbms9JydmcmllbmRsaW5rX21haW4ucGhwJycgcmFuaz0nJ3BsdXNf5Y+L5oOF6ZO+5o6lJycgdGFyZ2V0PScnbWFpbicnIC8+JywgJycsICfnu4fmoqblm6LpmJ8nLCAxLCAnJyk7DQpSRVBMQUNFIElOVE8gYCNAX19mbGlua3R5cGVgIChgaWRgICxgdHlwZW5hbWVgKSBWQUxVRVMgKDEsICfnu7zlkIjnvZHnq5knKSwoMiwgJ+WoseS5kOexuycpLCgzLCAn5pWZ6IKy57G7JyksKDQsICforqHnrpfmnLrnsbsnKSwoNSwgJ+eUteWtkOWVhuWKoScpLCg2LCAn572R5LiK5L+h5oGvJyksKDcsICforrrlnZvnsbsnKSwoOCwgJ+WFtuWug+exu+WeiycpOw==
-
-
-RFJPUCBUQUJMRSBJRiBFWElTVFMgYCNAX19mbGlua3R5cGVgOw0KDQpEUk9QIFRBQkxFIElGIEVYSVNUUyBgI0BfX2ZsaW5rYDsNCg0KRGVsZXRlIEZyb20gYCNAX19wbHVzYCB3aGVyZSBwbHVzbmFtZSBsaWtlICflj4vmg4Xpk77mjqXmqKHlnZcnOw==
-
-
-
-
-
-
-
-
-../plus/flink.php
-../plus/flink_add.php
-../dede/friendlink_add.php
-../dede/friendlink_edit.php
-../dede/friendlink_main.php
-../dede/friendlink_type.php
-../dede/templets/friendlink_add.htm
-../dede/templets/friendlink_edit.htm
-../dede/templets/friendlink_main.htm
-../dede/templets/friendlink_type.htm
-../include/taglib/flink.lib.php
-
-
-
-
-
-PD9waHANCi8qKg0KICoNCiAqIOWPi+aDhemTvuaOpQ0KICoNCiAqIEB2ZXJzaW9uICAgICAgICAkSWQ6IGZsaW5rLnBocCAxIDE1OjM4IDIwMTDlubQ35pyIOOaXpVogdGlhbnlhICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLlNpdGUNCiAqIEBjb3B5cmlnaHQgICAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBEZXNEZXYsIEluYy4NCiAqIEBsaWNlbnNlICAgICAgICBodHRwOi8vaGVscC5kZWRlY21zLmNvbS91c2Vyc2d1aWRlL2xpY2Vuc2UuaHRtbA0KICogQGxpbmsgICAgICAgICAgIGh0dHA6Ly93d3cuZGVkZWNtcy5jb20NCiAqLw0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiIvLi4vaW5jbHVkZS9jb21tb24uaW5jLnBocCIpOw0KaWYoZW1wdHkoJGRvcG9zdCkpICRkb3Bvc3QgPSAnJzsNCg0KDQppZigkZG9wb3N0PT0nc2F2ZScpDQp7DQogICAgJHZhbGlkYXRlID0gaXNzZXQoJHZhbGlkYXRlKSA/IHN0cnRvbG93ZXIodHJpbSgkdmFsaWRhdGUpKSA6ICcnOw0KICAgICRzdmFsaSA9IEdldENrVmRWYWx1ZSgpOw0KICAgIGlmKCR2YWxpZGF0ZT09JycgfHwgJHZhbGlkYXRlIT0kc3ZhbGkpDQogICAgew0KICAgICAgICBTaG93TXNnKCfpqozor4HnoIHkuI3mraPnoa4hJywnLTEnKTsNCiAgICAgICAgZXhpdCgpOw0KICAgIH0NCiAgICAkbXNnID0gaHRtbHNwZWNpYWxjaGFycygkbXNnKTsNCiAgICAkZW1haWwgPSBodG1sc3BlY2lhbGNoYXJzKCRlbWFpbCk7DQogICAgJHdlYm5hbWUgPSBodG1sc3BlY2lhbGNoYXJzKCR3ZWJuYW1lKTsNCiAgICAkdXJsID0gaHRtbHNwZWNpYWxjaGFycygkdXJsKTsNCiAgICAkbG9nbyA9IGh0bWxzcGVjaWFsY2hhcnMoJGxvZ28pOw0KICAgICR0eXBlaWQgPSBpbnR2YWwoJHR5cGVpZCk7DQogICAgJGR0aW1lID0gdGltZSgpOw0KICAgICRxdWVyeSA9ICJJTlNFUlQgSU5UTyBgI0BfX2ZsaW5rYChzb3J0cmFuayx1cmwsd2VibmFtZSxsb2dvLG1zZyxlbWFpbCx0eXBlaWQsZHRpbWUsaXNjaGVjaykNCiAgICAgICAgICAgICAgICAgICAgVkFMVUVTKCc1MCcsJyR1cmwnLCckd2VibmFtZScsJyRsb2dvJywnJG1zZycsJyRlbWFpbCcsJyR0eXBlaWQnLCckZHRpbWUnLCcwJykiOw0KICAgICRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRxdWVyeSk7DQogICAgU2hvd01zZygn5oiQ5Yqf5aKe5Yqg5LiA5Liq6ZO+5o6l77yM5L2G6ZyA6KaB5a6h5qC45ZCO5omN6IO95pi+56S6IScsJy0xJywxKTsNCn0NCg0KLy/mmL7npLrmqKHmnb8o566A5Y2VUEhQ5paH5Lu2KQ0KaW5jbHVkZV9vbmNlKERFREVURU1QTEFURS4nL3BsdXMvZmxpbmstbGlzdC5odG0nKTs=
-
-
-PD9waHANCi8qKg0KICoNCiAqIOWinuWKoOWPi+aDhemTvuaOpQ0KICoNCiAqIEB2ZXJzaW9uICAgICAgICAkSWQ6IGZsaW5rX2FkZC5waHAgMSAxNTozOCAyMDEw5bm0N+aciDjml6VaIHRpYW55YSAkDQogKiBAcGFja2FnZSAgICAgICAgRGVkZUNNUy5TaXRlDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4nLy4uL2luY2x1ZGUvY29tbW9uLmluYy5waHAnKTsNCi8v5pi+56S65qih5p2/KOeugOWNlVBIUOaWh+S7tikNCmluY2x1ZGVfb25jZShERURFVEVNUExBVEUuJy9wbHVzL2ZsaW5rLWFkZC5odG0nKTs=
-
-
-PD9waHANCi8qKg0KICog5Y+L5oOF6ZO+5o6l5re75YqgDQogKg0KICogQHZlcnNpb24gICAgICAgICRJZDogZnJpZW5kbGlua19hZGQucGhwIDEgMTA6NTkgMjAxMOW5tDfmnIgxM+aXpVogdGlhbnlhICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLkFkbWluaXN0cmF0b3INCiAqIEBjb3B5cmlnaHQgICAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBEZXNEZXYsIEluYy4NCiAqIEBsaWNlbnNlICAgICAgICBodHRwOi8vaGVscC5kZWRlY21zLmNvbS91c2Vyc2d1aWRlL2xpY2Vuc2UuaHRtbA0KICogQGxpbmsgICAgICAgICAgIGh0dHA6Ly93d3cuZGVkZWNtcy5jb20NCiAqLw0KcmVxdWlyZShkaXJuYW1lKF9fRklMRV9fKS4iL2NvbmZpZy5waHAiKTsNCkNoZWNrUHVydmlldygncGx1c1/lj4vmg4Xpk77mjqXmqKHlnZcnKTsNCmlmKGVtcHR5KCRkb3Bvc3QpKSAkZG9wb3N0PSIiOw0KDQppZigkZG9wb3N0PT0iYWRkIikNCnsNCiAgICAkZHRpbWUgPSB0aW1lKCk7DQogICAgaWYoaXNfdXBsb2FkZWRfZmlsZSgkbG9nb2ltZykpDQogICAgew0KICAgICAgICAkbmFtZXMgPSBzcGxpdCgiXC4iLCAkbG9nb2ltZ19uYW1lKTsNCiAgICAgICAgJHNob3J0bmFtZSA9ICIuIi4kbmFtZXNbY291bnQoJG5hbWVzKS0xXTsNCiAgICAgICAgaWYoIXByZWdfbWF0Y2goIiMoanBnfGdpZnxwbmcpJCMiLCAkc2hvcnRuYW1lKSkNCiAgICAgICAgew0KICAgICAgICAgICAgJHNob3J0bmFtZSA9ICcuZ2lmJzsNCiAgICAgICAgfQ0KICAgICAgICAkZmlsZW5hbWUgPSBNeURhdGUoInltZEhpcyIsIHRpbWUoKSkubXRfcmFuZCgxMDAwLDk5OTkpLiRzaG9ydG5hbWU7DQogICAgICAgICRpbWd1cmwgPSAkY2ZnX21lZGlhc19kaXIuIi9mbGluayI7DQogICAgICAgIGlmKCFpc19kaXIoJGNmZ19iYXNlZGlyLiRpbWd1cmwpKQ0KICAgICAgICB7DQogICAgICAgICAgICBNa2RpckFsbCgkY2ZnX2Jhc2VkaXIuJGltZ3VybCwgJGNmZ19kaXJfcHVydmlldyk7DQogICAgICAgICAgICBDbG9zZUZ0cCgpOw0KICAgICAgICB9DQogICAgICAgICRpbWd1cmwgPSAkaW1ndXJsLiIvIi4kZmlsZW5hbWU7DQogICAgICAgIG1vdmVfdXBsb2FkZWRfZmlsZSgkbG9nb2ltZywkY2ZnX2Jhc2VkaXIuJGltZ3VybCkgb3IgZGllKCLlpI3liLbmlofku7bliLA6Ii4kY2ZnX2Jhc2VkaXIuJGltZ3VybC4i5aSx6LSlIik7DQogICAgICAgIEB1bmxpbmsoJGxvZ29pbWcpOw0KICAgIH0NCiAgICBlbHNlDQogICAgew0KICAgICAgICAkaW1ndXJsID0gJGxvZ287DQogICAgfQ0KICAgIA0KICAgIC8v5by65Yi25qOA5rWL55So5oi35Y+L5oOF6ZO+5o6l5YiG57G75piv5ZCm5pWw5o2u57uT5p6E5LiN56ymDQogICAgaWYoZW1wdHkoJHR5cGVpZCkgfHwgcHJlZ19tYXRjaCgiI1teMC05XSMiLCAkdHlwZWlkKSkNCiAgICB7DQogICAgICAgICR0eXBlaWQgPSAwOw0KICAgICAgICAkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgiQUxURVIgVEFCTEUgYCNAX19mbGlua3R5cGVgIENIQU5HRSBgSURgIGBpZGAgTUVESVVNSU5UKCA4ICkgVU5TSUdORUQgREVGQVVMVCBOVUxMIEFVVE9fSU5DUkVNRU5UOyAiKTsNCiAgICB9DQogICAgDQogICAgJHF1ZXJ5ID0gIklOU0VSVCBJTlRPIGAjQF9fZmxpbmtgKHNvcnRyYW5rLHVybCx3ZWJuYW1lLGxvZ28sbXNnLGVtYWlsLHR5cGVpZCxkdGltZSxpc2NoZWNrKQ0KICAgICAgICAgICAgVkFMVUVTKCckc29ydHJhbmsnLCckdXJsJywnJHdlYm5hbWUnLCckaW1ndXJsJywnJG1zZycsJyRlbWFpbCcsJyR0eXBlaWQnLCckZHRpbWUnLCckaXNjaGVjaycpOyAiOw0KICAgICRycyA9ICRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRxdWVyeSk7DQogICAgJGJ1cmwgPSBlbXB0eSgkX0NPT0tJRVsnRU5WX0dPQkFDS19VUkwnXSkgPyAiZnJpZW5kbGlua19tYWluLnBocCIgOiAkX0NPT0tJRVsnRU5WX0dPQkFDS19VUkwnXTsNCiAgICBpZigkcnMpDQogICAgew0KICAgICAgICBTaG93TXNnKCLmiJDlip/lop7liqDkuIDkuKrpk77mjqUhIiwkYnVybCwwLDUwMCk7DQogICAgICAgIGV4aXQoKTsNCiAgICB9DQogICAgZWxzZQ0KICAgIHsNCiAgICAgICAgU2hvd01zZygi5aKe5Yqg6ZO+5o6l5pe25Ye66ZSZ77yM6K+35ZCR5a6Y5pa55Y+N6aaI77yM5Y6f5Zug77yaIi4kZHNxbC0+R2V0RXJyb3IoKSwiamF2YXNjcmlwdDo7Iik7DQogICAgICAgIGV4aXQoKTsNCiAgICB9DQp9DQppbmNsdWRlIERlZGVJbmNsdWRlKCd0ZW1wbGV0cy9mcmllbmRsaW5rX2FkZC5odG0nKTs=
-
-
-PD9waHANCi8qKg0KICog5Y+L5oOF6ZO+5o6l57yW6L6RDQogKg0KICogQHZlcnNpb24gICAgICAgICRJZDogZnJpZW5kbGlua19lZGl0LnBocCAxIDEwOjU5IDIwMTDlubQ35pyIMTPml6VaIHRpYW55YSAkDQogKiBAcGFja2FnZSAgICAgICAgRGVkZUNNUy5BZG1pbmlzdHJhdG9yDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4iL2NvbmZpZy5waHAiKTsNCkNoZWNrUHVydmlldygncGx1c1/lj4vmg4Xpk77mjqXmqKHlnZcnKTsNCiRFTlZfR09CQUNLX1VSTCA9IGVtcHR5KCRfQ09PS0lFWydFTlZfR09CQUNLX1VSTCddKSA/ICdmcmllbmRsaW5rX21haW4ucGhwJyA6ICRfQ09PS0lFWydFTlZfR09CQUNLX1VSTCddOw0KaWYoZW1wdHkoJGRvcG9zdCkpICRkb3Bvc3QgPSAiIjsNCg0KaWYoaXNzZXQoJGFsbGlkKSkNCnsNCiAgICAkYWlkcyA9IGV4cGxvZGUoJywnLCRhbGxpZCk7DQogICAgaWYoY291bnQoJGFpZHMpPT0xKQ0KICAgIHsNCiAgICAgICAgJGlkID0gJGFpZHNbMF07DQogICAgICAgICRkb3Bvc3QgPSAiZGVsZXRlIjsNCiAgICB9DQp9DQppZigkZG9wb3N0PT0iZGVsZXRlIikNCnsNCiAgICAkaWQgPSBwcmVnX3JlcGxhY2UoIiNbXjAtOV0jIiwgIiIsICRpZCk7DQogICAgJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoIkRFTEVURSBGUk9NIGAjQF9fZmxpbmtgIFdIRVJFIGlkPSckaWQnIik7DQogICAgU2hvd01zZygi5oiQ5Yqf5Yig6Zmk5LiA5Liq6ZO+5o6l77yBIiwkRU5WX0dPQkFDS19VUkwpOw0KICAgIGV4aXQoKTsNCn0NCmVsc2UgaWYoJGRvcG9zdD09ImRlbGFsbCIpDQp7DQogICAgJGFpZHMgPSBleHBsb2RlKCcsJywkYWlkcyk7DQogICAgaWYoaXNzZXQoJGFpZHMpICYmIGlzX2FycmF5KCRhaWRzKSkNCiAgICB7DQogICAgICAgIGZvcmVhY2goJGFpZHMgYXMgJGFpZCkNCiAgICAgICAgew0KICAgICAgICAgICAgJGFpZCA9IHByZWdfcmVwbGFjZSgiI1teMC05XSMiLCAiIiwgJGFpZCk7DQogICAgICAgICAgICAkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgiREVMRVRFIEZST00gYCNAX19mbGlua2AgV0hFUkUgaWQ9JyRhaWQnIik7DQogICAgICAgIH0NCiAgICAgICAgU2hvd01zZygi5oiQ5Yqf5Yig6Zmk5oyH5a6a6ZO+5o6l77yBIiwkRU5WX0dPQkFDS19VUkwpOw0KICAgICAgICBleGl0KCk7DQogICAgfQ0KICAgIGVsc2UNCiAgICB7DQogICAgICAgIFNob3dNc2coIuS9oOayoemAieWumuS7u+S9lemTvuaOpe+8gSIsJEVOVl9HT0JBQ0tfVVJMKTsNCiAgICAgICAgZXhpdCgpOw0KICAgIH0NCn0NCmVsc2UgaWYoJGRvcG9zdD09InNhdmVlZGl0IikNCnsNCiAgICAkaWQgPSBwcmVnX3JlcGxhY2UoIiNbXjAtOV0jIiwgIiIsICRpZCk7DQogICAgJHF1ZXJ5ID0gIlVQREFURSBgI0BfX2ZsaW5rYCBTRVQgc29ydHJhbms9JyRzb3J0cmFuaycsdXJsPSckdXJsJyx3ZWJuYW1lPSckd2VibmFtZScsbG9nbz0nJGxvZ28nLG1zZz0nJG1zZycsDQogICAgICAgICAgICAgICAgICBlbWFpbD0nJGVtYWlsJyx0eXBlaWQ9JyR0eXBlaWQnLGlzY2hlY2s9JyRpc2NoZWNrJyBXSEVSRSBpZD0nJGlkJyAiOw0KICAgICRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRxdWVyeSk7DQogICAgU2hvd01zZygi5oiQ5Yqf5pu05pS55LiA5Liq6ZO+5o6l77yBIiwkRU5WX0dPQkFDS19VUkwpOw0KICAgIGV4aXQoKTsNCn0NCiRteUxpbmsgPSAkZHNxbC0+R2V0T25lKCJTRUxFQ1QgI0BfX2ZsaW5rLiosI0BfX2ZsaW5rdHlwZS50eXBlbmFtZSBGUk9NICNAX19mbGluayBMRUZUIEpPSU4gI0BfX2ZsaW5rdHlwZSBPTiAjQF9fZmxpbmsudHlwZWlkPSNAX19mbGlua3R5cGUuaWQgV0hFUkUgI0BfX2ZsaW5rLmlkPSRpZCIpOw0KaW5jbHVkZSBEZWRlSW5jbHVkZSgndGVtcGxldHMvZnJpZW5kbGlua19lZGl0Lmh0bScpOw==
-
-
-PD9waHANCi8qKg0KICog5Y+L5oOF6ZO+5o6l566h55CGDQogKg0KICogQHZlcnNpb24gICAgICAgICRJZDogZnJpZW5kbGlua19tYWluLnBocCAxIDg6NDggMjAxMOW5tDfmnIgxM+aXpVogdGlhbnlhICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLkFkbWluaXN0cmF0b3INCiAqIEBjb3B5cmlnaHQgICAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBEZXNEZXYsIEluYy4NCiAqIEBsaWNlbnNlICAgICAgICBodHRwOi8vaGVscC5kZWRlY21zLmNvbS91c2Vyc2d1aWRlL2xpY2Vuc2UuaHRtbA0KICogQGxpbmsgICAgICAgICAgIGh0dHA6Ly93d3cuZGVkZWNtcy5jb20NCiAqLw0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLicvY29uZmlnLnBocCcpOw0KcmVxdWlyZV9vbmNlKERFREVJTkMuJy9kYXRhbGlzdGNwLmNsYXNzLnBocCcpOw0Kc2V0Y29va2llKCdFTlZfR09CQUNLX1VSTCcsICRkZWRlTm93dXJsLCB0aW1lKCkrMzYwMCwgJy8nKTsNCg0KaWYoZW1wdHkoJGtleXdvcmQpKSAka2V5d29yZCA9ICcnOw0KaWYoZW1wdHkoJGlzY2hlY2spKSB7DQogICAgJGlzY2hlY2sgPSAwOw0KICAgICRpc2NoZWNrU3FsID0gJyc7DQp9IGVsc2Ugew0KICAgIGlmKCRpc2NoZWNrPT0tMSkgJGlzY2hlY2tTcWwgPSAiIEFuZCBpc2NoZWNrIDwgMSAiOw0KICAgIGVsc2UgJGlzY2hlY2tTcWwgPSAiIEFuZCBpc2NoZWNrPSckaXNjaGVjaycgIjsNCn0NCg0KJHNlbENoZWNrQXJyID0gYXJyYXkoMD0+J+S4jemZkOexu+WeiycsIC0xPT4n5pyq5a6h5qC4JywgMT0+J+WGhemhtScsIDI9PifpppbpobUnKTsNCg0KJHNxbCA9ICJTRUxFQ1QgKiBGUk9NIGAjQF9fZmxpbmtgIFdIRVJFICBDT05DQVQoYHVybGAsYHdlYm5hbWVgLGBlbWFpbGApIExJS0UgJyUka2V5d29yZCUnICRpc2NoZWNrU3FsIE9SREVSIEJZIGR0aW1lIGRlc2MiOw0KDQokZGxpc3QgPSBuZXcgRGF0YUxpc3RDUCgpOw0KJGRsaXN0LT5TZXRQYXJhbWV0ZXIoJ2tleXdvcmQnLCAka2V5d29yZCk7DQokZGxpc3QtPlNldFBhcmFtZXRlcignaXNjaGVjaycsICRpc2NoZWNrKTsNCiRkbGlzdC0+U2V0VGVtcGxldChERURFQURNSU4uJy90ZW1wbGV0cy9mcmllbmRsaW5rX21haW4uaHRtJyk7DQokZGxpc3QtPlNldFNvdXJjZSgkc3FsKTsNCiRkbGlzdC0+ZGlzcGxheSgpOw0KDQpmdW5jdGlvbiBHZXRQaWMoJHBpYykNCnsNCiAgICBpZigkcGljPT0nJykgcmV0dXJuICfml6Dlm77moIcnOw0KICAgIGVsc2UgcmV0dXJuICI8aW1nIHNyYz0nJHBpYycgd2lkdGg9Jzg4JyBoZWlnaHQ9JzMxJyBib3JkZXI9JzAnIC8+IjsNCn0NCg0KZnVuY3Rpb24gR2V0U3RhKCRzdGEpDQp7DQogICAgaWYoJHN0YT09MSkgcmV0dXJuICflhoXpobUnOw0KICAgIGlmKCRzdGE9PTIpIHJldHVybiAn6aaW6aG1JzsNCiAgICBlbHNlIHJldHVybiAn5pyq5a6h5qC4JzsNCn0=
-
-
-PD9waHANCi8qKg0KICog5Y+L5oOF6ZO+5o6l57G75Z6LDQogKg0KICogQHZlcnNpb24gICAgICAgICRJZDogZnJpZW5kbGlua190eXBlLnBocCAxIDg6NDggMjAxMOW5tDfmnIgxM+aXpVogdGlhbnlhICQNCiAqIEBwYWNrYWdlICAgICAgICBEZWRlQ01TLkFkbWluaXN0cmF0b3INCiAqIEBjb3B5cmlnaHQgICAgICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDEwLCBEZXNEZXYsIEluYy4NCiAqIEBsaWNlbnNlICAgICAgICBodHRwOi8vaGVscC5kZWRlY21zLmNvbS91c2Vyc2d1aWRlL2xpY2Vuc2UuaHRtbA0KICogQGxpbmsgICAgICAgICAgIGh0dHA6Ly93d3cuZGVkZWNtcy5jb20NCiAqLw0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiIvY29uZmlnLnBocCIpOw0KaWYoZW1wdHkoJGRvcG9zdCkpICRkb3Bvc3QgPSAnJzsNCg0KLy/kv53lrZjmm7TmlLkNCmlmKCRkb3Bvc3Q9PSJzYXZlIikNCnsNCiAgICAkc3RhcnRJRCA9IDE7DQogICAgJGVuZElEID0gJGlkZW5kOw0KICAgIGZvcig7JHN0YXJ0SUQ8PSRlbmRJRDskc3RhcnRJRCsrKQ0KICAgIHsNCiAgICAgICAgJHF1ZXJ5ID0gJyc7DQogICAgICAgICR0aWQgPSAkeydJRF8nLiRzdGFydElEfTsNCiAgICAgICAgJHBuYW1lID0gICAkeydwbmFtZV8nLiRzdGFydElEfTsNCiAgICAgICAgaWYoaXNzZXQoJHsnY2hlY2tfJy4kc3RhcnRJRH0pKQ0KICAgICAgICB7DQogICAgICAgICAgICBpZigkcG5hbWUhPScnKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRxdWVyeSA9ICJVUERBVEUgYCNAX19mbGlua3R5cGVgIFNFVCB0eXBlbmFtZT0nJHBuYW1lJyBXSEVSRSBpZD0nJHRpZCcgIjsNCiAgICAgICAgICAgICAgICAkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgkcXVlcnkpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIGVsc2UNCiAgICAgICAgew0KICAgICAgICAgICAgJHF1ZXJ5ID0gIkRFTEVURSBGUk9NIGAjQF9fZmxpbmt0eXBlYCBXSEVSRSBpZD0nJHRpZCcgIjsNCiAgICAgICAgICAgICRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRxdWVyeSk7DQogICAgICAgIH0NCiAgICB9DQogICAgLy/lop7liqDmlrDorrDlvZUNCiAgICBpZihpc3NldCgkY2hlY2tfbmV3KSAmJiAkcG5hbWVfbmV3IT0nJykNCiAgICB7DQogICAgICAgICRxdWVyeSA9ICJJTlNFUlQgSU5UTyBgI0BfX2ZsaW5rdHlwZWAodHlwZW5hbWUpIFZBTFVFUygneyRwbmFtZV9uZXd9Jyk7IjsNCiAgICAgICAgJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoJHF1ZXJ5KTsNCiAgICB9DQogICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD17JGNmZ19zb2Z0X2xhbmd9Iik7DQogICAgZWNobyAiPHNjcmlwdD4gYWxlcnQoJ+aIkOWKn+abtOaWsOWPi+aDhemTvuaOpee9keermeWIhuexu+ihqO+8gScpOyA8L3NjcmlwdD4iOw0KfQ0KDQppbmNsdWRlIERlZGVJbmNsdWRlKCd0ZW1wbGV0cy9mcmllbmRsaW5rX3R5cGUuaHRtJyk7
-
-
-PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+5Y+L5oOF6ZO+5o6l566h55CGPC90aXRsZT4NCjxzY3JpcHQgbGFuZ3VhZ2U9J2phdmFzY3JpcHQnPg0KZnVuY3Rpb24gQ2hlY2tTdWJtaXQoKQ0Kew0KCWlmKGRvY3VtZW50LmZvcm0xLnVybC52YWx1ZT09Imh0dHA6Ly8ifHxkb2N1bWVudC5mb3JtMS51cmwudmFsdWU9PSIiKQ0KCXsNCiAgIAkJZG9jdW1lbnQuZm9ybTEudXJsLmZvY3VzKCk7DQogICAJCWFsZXJ0KCLnvZHlnYDkuI3og73kuLrnqbrvvIEiKTsNCiAgIAkJcmV0dXJuIGZhbHNlOw0KCX0NCglpZihkb2N1bWVudC5mb3JtMS53ZWJuYW1lLnZhbHVlPT0iIikNCgl7DQogICAJCWRvY3VtZW50LmZvcm0xLndlYm5hbWUuZm9jdXMoKTsNCiAgIAkJYWxlcnQoIue9keermeWQjeensOS4jeiDveS4uuepuu+8gSIpOw0KICAgCQlyZXR1cm4gZmFsc2U7DQoJfQ0KCXJldHVybiB0cnVlOw0KfQ0KPC9zY3JpcHQ+DQo8bGluayBocmVmPSJjc3MvYmFzZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPg0KPC9oZWFkPg0KPGJvZHkgYmFja2dyb3VuZD0naW1hZ2VzL2FsbGJnLmdpZicgbGVmdG1hcmdpbj0nOCcgdG9wbWFyZ2luPSc4Jz4NCjx0YWJsZSB3aWR0aD0iOTglIiBib3JkZXI9IjAiIGFsaWduPSJjZW50ZXIiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgYmdjb2xvcj0iI0Q2RDZENiI+DQogIDx0cj4NCiAgICA8dGQgaGVpZ2h0PSIyOCIgYmFja2dyb3VuZD0iaW1hZ2VzL3RiZy5naWYiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6MTBweDsiPjxiPjxhIGhyZWY9ImZyaWVuZGxpbmtfbWFpbi5waHAiPjx1PuWPi+aDhemTvuaOpeeuoeeQhjwvdT48L2E+PC9iPiZndDsmZ3Q75aKe5Yqg6ZO+5o6lPC90ZD4NCjwvdHI+DQo8dHI+DQogICAgPHRkIGhlaWdodD0iMjAwIiBiZ2NvbG9yPSIjRkZGRkZGIiB2YWxpZ249InRvcCI+DQoJPGZvcm0gYWN0aW9uPSJmcmllbmRsaW5rX2FkZC5waHAiIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbmFtZT0iZm9ybTEiIG9uU3VibWl0PSJyZXR1cm4gQ2hlY2tTdWJtaXQoKTsiOz4NCgk8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJkb3Bvc3QiIHZhbHVlPSJhZGQiIC8+DQoJPHRhYmxlIHdpZHRoPSI4MCUiICBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIxIiBjZWxscGFkZGluZz0iMyI+DQoJICA8dHI+DQogICAgICAgIDx0ZCB3aWR0aD0iMTklIiBoZWlnaHQ9IjI1Ij7nvZHlnYDvvJo8L3RkPg0KICAgICAgICA8dGQgd2lkdGg9IjgxJSI+DQogICAgICAgIAk8aW5wdXQgbmFtZT0idXJsIiB0eXBlPSJ0ZXh0IiBpZD0idXJsIiB2YWx1ZT0iaHR0cDovLyIgc2l6ZT0iMzAiIGNsYXNzPSdwdWJpbnB1dHMnIC8+DQogICAgICAgIDwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQgaGVpZ2h0PSIyNSI+572R56uZ5ZCN56ew77yaPC90ZD4NCiAgICAgICAgPHRkPg0KICAgICAgICAJPGlucHV0IG5hbWU9IndlYm5hbWUiIHR5cGU9InRleHQiIGlkPSJ3ZWJuYW1lIiBzaXplPSIzMCIgY2xhc3M9J3B1YmlucHV0cycgLz4NCiAgICAgICAgPC90ZD4NCiAgICAgIDwvdHI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZCB3aWR0aD0iMTklIiBoZWlnaHQ9IjI1Ij7mjpLliJfkvY3nva7vvJo8L3RkPg0KICAgICAgICA8dGQgd2lkdGg9IjgxJSI+DQogICAgICAgIDxpbnB1dCBuYW1lPSJzb3J0cmFuayIgdHlwZT0idGV4dCIgaWQ9InNvcnRyYW5rIiB2YWx1ZT0iMSIgc2l6ZT0iMTAiIGNsYXNzPSdwdWJpbnB1dHMnIHN0eWxlPSd3aWR0aDo2MHB4JyAvPg0KICAgICAgICAo55Sx5bCP5Yiw5aSn5o6S5YiXKQ0KICAgICAgICA8L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkIGhlaWdodD0iMjUiPue9keermUxvZ2/vvJo8L3RkPg0KICAgICAgICA8dGQ+DQogICAgICAgIAk8aW5wdXQgbmFtZT0ibG9nbyIgdHlwZT0idGV4dCIgaWQ9ImxvZ28iIHNpemU9IjMwIiBjbGFzcz0ncHViaW5wdXRzJyAvPg0KICAgICAgICAgICg4OCozMSBnaWbmiJZqcGcpDQogICAgICAgIDwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQgaGVpZ2h0PSIyNSI+5LiK5LygTG9nb++8mjwvdGQ+DQogICAgICAgIDx0ZD4NCiAgICAgICAgCTxpbnB1dCBuYW1lPSJsb2dvaW1nIiB0eXBlPSJmaWxlIiBpZD0ibG9nb2ltZyIgc2l6ZT0iMzAiIGNsYXNzPSdwdWJpbnB1dHMnIC8+DQogICAgICAgIDwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQgaGVpZ2h0PSIyNSI+572R56uZ566A5Ya177yaPC90ZD4NCiAgICAgICAgPHRkPjx0ZXh0YXJlYSBuYW1lPSJtc2ciIGNvbHM9IjUwIiByb3dzPSI0IiBpZD0ibXNnIj48L3RleHRhcmVhPjwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQgaGVpZ2h0PSIyNSI+56uZ6ZW/RW1haWzvvJo8L3RkPg0KICAgICAgICA8dGQ+DQogICAgICAgIAk8aW5wdXQgbmFtZT0iZW1haWwiIHR5cGU9InRleHQiIGlkPSJlbWFpbCIgc2l6ZT0iMzAiIGNsYXNzPSdwdWJpbnB1dHMnIC8+DQogICAgICAgIDwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQgaGVpZ2h0PSIyNSI+572R56uZ57G75Z6L77yaPC90ZD4NCiAgICAgICAgPHRkPg0KICAgICAgICA8c2VsZWN0IG5hbWU9InR5cGVpZCIgaWQ9InR5cGVpZCI+DQogICAgICAgIDw/cGhwDQogICAgICAgICRkc3FsLT5TZXRRdWVyeSgic2VsZWN0ICogZnJvbSAjQF9fZmxpbmt0eXBlIik7DQogICAgICAgICRkc3FsLT5FeGVjdXRlKCk7DQogICAgICAgIHdoaWxlKCRyb3c9JGRzcWwtPkdldE9iamVjdCgpKQ0KICAgICAgICB7DQogICAgICAgIAllY2hvICIJPG9wdGlvbiB2YWx1ZT0nIi4kcm93LT5pZC4iJz4iLiRyb3ctPnR5cGVuYW1lLiI8L29wdGlvbj5cclxuIjsNCiAgICAgICAgfQ0KICAgICAgICA/Pg0KICAgICAgICA8L3NlbGVjdD4NCiAgICAgICAgPC90ZD4NCiAgICAgIDwvdHI+DQogICAgICA8dHI+DQogICAgICAgIDx0ZCBoZWlnaHQ9IjI1Ij7pk77mjqXkvY3nva7vvJo8L3RkPg0KICAgICAgICA8dGQ+DQogICAgICAgIDxpbnB1dCB0eXBlPSdyYWRpbycgbmFtZT0naXNjaGVjaycgdmFsdWU9IjEiIGNoZWNrZWQ9JzEnIC8+IOWGhemhtQ0KICAgICAgICA8aW5wdXQgdHlwZT0ncmFkaW8nIG5hbWU9J2lzY2hlY2snIHZhbHVlPSIyIi8+IOmmlumhtQ0KICAgICAgICA8L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkIGhlaWdodD0iNTEiPiZuYnNwOzwvdGQ+DQogICAgICAgIDx0ZD4NCiAgICAgICAgCTxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9IlN1Ym1pdCIgdmFsdWU9IiDmj5Ag5LqkICIgY2xhc3M9ImNvb2xiZyBucCIgLz7jgIAg44CADQogICAgICAgICAgPGlucHV0IHR5cGU9InJlc2V0IiBuYW1lPSJTdWJtaXQiIHZhbHVlPSIg6YeNIOe9riAiIGNsYXNzPSJjb29sYmcgbnAiIC8+DQogICAgICAgICA8L3RkPg0KICAgICAgPC90cj4NCiAgICA8L3RhYmxlPg0KCTwvZm9ybT4NCiA8L3RkPg0KPC90cj4NCjwvdGFibGU+DQo8L2JvZHk+DQo8L2h0bWw+
-
-
-PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+5Y+L5oOF6ZO+5o6l5pu05pS5PC90aXRsZT4NCjxsaW5rIGhyZWY9ImNzcy9iYXNlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+DQo8L2hlYWQ+DQo8Ym9keSBiYWNrZ3JvdW5kPSdpbWFnZXMvYWxsYmcuZ2lmJyBsZWZ0bWFyZ2luPSc4JyB0b3BtYXJnaW49JzgnPg0KPHRhYmxlIHdpZHRoPSI5OCUiIGJvcmRlcj0iMCIgYWxpZ249ImNlbnRlciIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIxIiBiZ2NvbG9yPSIjRDZENkQ2Ij4NCiAgPHRyPg0KICAgIDx0ZCBoZWlnaHQ9IjI4IiBiYWNrZ3JvdW5kPSJpbWFnZXMvdGJnLmdpZiIgc3R5bGU9InBhZGRpbmctbGVmdDoxMHB4OyI+DQogICAgCTxiPjxhIGhyZWY9ImZyaWVuZGxpbmtfbWFpbi5waHAiPjx1PuWPi+aDhemTvuaOpeeuoeeQhjwvdT48L2E+PC9iPiAmZ3Q7Jmd0OyDpk77mjqXmm7TmlLk8L3RkPg0KPC90cj4NCjx0cj4NCiAgICA8dGQgaGVpZ2h0PSIyMDAiIGJnY29sb3I9IiNGRkZGRkYiIHZhbGlnbj0idG9wIj4NCgk8Zm9ybSBhY3Rpb249ImZyaWVuZGxpbmtfZWRpdC5waHAiIG1ldGhvZD0icG9zdCIgZW5jdHlwZT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSIgbmFtZT0iZm9ybTEiPg0KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImlkIiB2YWx1ZT0iPD9waHAgZWNobyAkbXlMaW5rWydpZCddPz4iPg0KCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImRvcG9zdCIgdmFsdWU9InNhdmVlZGl0Ij4NCgk8dGFibGUgd2lkdGg9IjgwJSIgIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9IjEiIGNlbGxwYWRkaW5nPSIzIj4NCgkgIDx0cj4NCiAgICAgICAgPHRkIHdpZHRoPSIxOSUiIGhlaWdodD0iMjUiPue9keWdgO+8mjwvdGQ+DQogICAgICAgIDx0ZCB3aWR0aD0iODElIj4NCiAgICAgICAgPGlucHV0IG5hbWU9InVybCIgdHlwZT0idGV4dCIgaWQ9InVybCIgdmFsdWU9Ijw/cGhwIGVjaG8gJG15TGlua1sndXJsJ10/PiIgc2l6ZT0iMzAiIGNsYXNzPSdwdWJpbnB1dHMnIC8+DQogICAgICAgIDwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQgd2lkdGg9IjE5JSIgaGVpZ2h0PSIyNSI+5o6S5YiX5L2N572u77yaPC90ZD4NCiAgICAgICAgPHRkIHdpZHRoPSI4MSUiPg0KICAgICAgICA8aW5wdXQgbmFtZT0ic29ydHJhbmsiIHR5cGU9InRleHQiIGlkPSJzb3J0cmFuayIgdmFsdWU9Ijw/cGhwIGVjaG8gJG15TGlua1snc29ydHJhbmsnXT8+IiBzaXplPSIxMCIgIGNsYXNzPSdwdWJpbnB1dHMnIHN0eWxlPSJ3aWR0aDo2MHB4IiAvPg0KICAgICAgICAo55Sx5bCP5Yiw5aSn5o6S5YiXKQ0KICAgICAgICA8L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkIGhlaWdodD0iMjUiPue9keermeWQjeensO+8mjwvdGQ+DQogICAgICAgIDx0ZD48aW5wdXQgbmFtZT0id2VibmFtZSIgdHlwZT0idGV4dCIgaWQ9IndlYm5hbWUiIHNpemU9IjMwIiB2YWx1ZT0iPD9waHAgZWNobyAkbXlMaW5rWyd3ZWJuYW1lJ10/PiIgY2xhc3M9J3B1YmlucHV0cycgLz48L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkIGhlaWdodD0iMjUiPue9keermUxvZ2/vvJo8L3RkPg0KICAgICAgICA8dGQ+DQogICAgICAgIAk8aW5wdXQgbmFtZT0ibG9nbyIgdHlwZT0idGV4dCIgaWQ9ImxvZ28iIHNpemU9IjQwIiB2YWx1ZT0iPD9waHAgZWNobyAkbXlMaW5rWydsb2dvJ10/PiIgY2xhc3M9J3B1YmlucHV0cycvPg0KICAgICAgICAgICg4OCozMSBnaWbmiJZqcGcpDQogICAgICAgICA8L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkIGhlaWdodD0iMjUiPuS4iuS8oExvZ2/vvJo8L3RkPg0KICAgICAgICA8dGQ+PGlucHV0IG5hbWU9ImxvZ29pbWciIHR5cGU9ImZpbGUiIGlkPSJsb2dvaW1nIiBzaXplPSIzMCIgY2xhc3M9J3B1YmlucHV0cycgLz48L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkIGhlaWdodD0iMjUiPue9keermeeugOWGte+8mjwvdGQ+DQogICAgICAgIDx0ZD48dGV4dGFyZWEgbmFtZT0ibXNnIiBjb2xzPSI1MCIgcm93cz0iNCIgaWQ9Im1zZyI+PD9waHAgZWNobyAkbXlMaW5rWydtc2cnXT8+PC90ZXh0YXJlYT48L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkIGhlaWdodD0iMjUiPuermemVv0VtYWls77yaPC90ZD4NCiAgICAgICAgPHRkPjxpbnB1dCBuYW1lPSJlbWFpbCIgdHlwZT0idGV4dCIgaWQ9ImVtYWlsIiBzaXplPSIzMCIgdmFsdWU9Ijw/cGhwIGVjaG8gJG15TGlua1snZW1haWwnXT8+IiBjbGFzcz0ncHViaW5wdXRzJyAvPjwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQgaGVpZ2h0PSIyNSI+6ZO+5o6l5L2N572u77yaPC90ZD4NCiAgICAgICAgPHRkPg0KICAgICAgICAJPGlucHV0IHR5cGU9J3JhZGlvJyBuYW1lPSdpc2NoZWNrJyB2YWx1ZT0iMCIgPD9waHAgaWYoJG15TGlua1snaXNjaGVjayddPT0wKSBlY2hvICIgY2hlY2tlZD0nMScgIj8+Lz4g5pyq5a6h5qC4DQogICAgICAgIAk8aW5wdXQgdHlwZT0ncmFkaW8nIG5hbWU9J2lzY2hlY2snIHZhbHVlPSIxIiA8P3BocCBpZigkbXlMaW5rWydpc2NoZWNrJ109PTEpIGVjaG8gIiBjaGVja2VkPScxJyAiPz4vPiDlhoXpobUNCiAgICAgICAgCTxpbnB1dCB0eXBlPSdyYWRpbycgbmFtZT0naXNjaGVjaycgdmFsdWU9IjIiIDw/cGhwIGlmKCRteUxpbmtbJ2lzY2hlY2snXT09MikgZWNobyAiIGNoZWNrZWQ9JzEnICI/Pi8+IOmmlumhtQ0KICAgICAgICA8L3RkPg0KICAgICAgPC90cj4NCiAgICAgIDx0cj4NCiAgICAgICAgPHRkIGhlaWdodD0iMjUiPue9keermeexu+Wei++8mjwvdGQ+DQogICAgICAgIDx0ZD4NCiAgICAgICAgPHNlbGVjdCBuYW1lPSJ0eXBlaWQiIGlkPSJ0eXBlaWQiPg0KICAgICAgICA8P3BocA0KICAgICAgICBlY2hvICIJPG9wdGlvbiB2YWx1ZT0nIi4kbXlMaW5rWyd0eXBlaWQnXS4iJz4iLiRteUxpbmtbJ3R5cGVuYW1lJ10uIjwvb3B0aW9uPlxyXG4iOw0KICAgICAgICAkZHNxbC0+U2V0UXVlcnkoInNlbGVjdCAqIGZyb20gI0BfX2ZsaW5rdHlwZSB3aGVyZSBpZDw+JyIuJG15TGlua1sndHlwZWlkJ10uIiciKTsNCiAgICAgICAgJGRzcWwtPkV4ZWN1dGUoKTsNCiAgICAgICAgd2hpbGUoJHJvdz0kZHNxbC0+R2V0T2JqZWN0KCkpew0KICAgICAgICAJZWNobyAiCTxvcHRpb24gdmFsdWU9JyIuJHJvdy0+aWQuIic+Ii4kcm93LT50eXBlbmFtZS4iPC9vcHRpb24+XHJcbiI7DQogICAgICAgIH0NCiAgICAgICAgPz4NCiAgICAgICAgPC9zZWxlY3Q+DQogICAgICAgIDwvdGQ+DQogICAgICA8L3RyPg0KICAgICAgPHRyPg0KICAgICAgICA8dGQgaGVpZ2h0PSI1MSI+Jm5ic3A7PC90ZD4NCiAgICAgICAgPHRkPg0KICAgICAgICAJPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iU3VibWl0IiB2YWx1ZT0iIOaPkCDkuqQgIiBjbGFzcz0ibnAgY29vbGJnIiAvPuOAgCDjgIANCiAgICAgICAgICA8aW5wdXQgdHlwZT0icmVzZXQiIG5hbWU9IlN1Ym1pdCIgdmFsdWU9IiDov5Qg5ZueICIgb25DbGljaz0ibG9jYXRpb24uaHJlZj0nPD9waHAgZWNobyAkRU5WX0dPQkFDS19VUkw/Pic7IiBjbGFzcz0ibnAgY29vbGJnIiAvPg0KICAgICAgICAgPC90ZD4NCiAgICAgIDwvdHI+DQogICAgPC90YWJsZT4NCgk8L2Zvcm0+DQogPC90ZD4NCjwvdHI+DQo8L3RhYmxlPg0KPC9ib2R5Pg0KPC9odG1sPg==
-
-
-e2RlZGU6Y29uZmlnLnBhZ2VzaXplIHZhbHVlPSIyMCIvfQ0KPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+5Y+L5oOF6ZO+5o6l566h55CGPC90aXRsZT4NCjxsaW5rIGhyZWY9ImNzcy9iYXNlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSd0ZXh0L2Nzcyc+DQo8c2NyaXB0IGxhbmd1YWdlPSdqYXZhc2NyaXB0Jz4NCmZ1bmN0aW9uIFNlbChzdHlwZSkNCnsNCgkgIGZvcih2YXIgaT0wO2kgPCBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgnYWlkcycpLmxlbmd0aDtpKyspDQoJICB7DQoJCSAgaWYoc3R5cGU9PSdhbGwnKSBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSgnYWlkcycpW2ldLmNoZWNrZWQ9dHJ1ZTsNCgkJICBlbHNlIGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKCdhaWRzJylbaV0uY2hlY2tlZD1mYWxzZTsNCgkgIH0NCn0NCmZ1bmN0aW9uIGNoZWNrU3VibWl0KCkNCnsNCgl2YXIgc3RyID0gJyc7DQoJZm9yKHZhciBpPTA7aSA8IGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKCdhaWRzJykubGVuZ3RoO2krKykNCgl7DQoJCSAgaWYoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoJ2FpZHMnKVtpXS5jaGVja2VkKXsNCgkJICAJaWYoc3RyPT0nJykgc3RyICs9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKCdhaWRzJylbaV0udmFsdWU7DQoJCSAgCWVsc2Ugc3RyICs9ICcsJyArIGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKCdhaWRzJylbaV0udmFsdWU7DQoJCSAgfQ0KCX0NCglpZihzdHI9PScnKQ0KCXsNCgkJYWxlcnQoJ+S9oOayoemAieaLqeS7u+S9leWGheWuue+8gScpOw0KCQlyZXR1cm4gZmFsc2U7DQoJfQ0KCWVsc2UNCgl7DQoJCWxvY2F0aW9uPSJmcmllbmRsaW5rX2VkaXQucGhwP2FpZHM9IitzdHIrIiZkb3Bvc3Q9ZGVsYWxsIjsNCgl9DQp9DQo8L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5IGJhY2tncm91bmQ9J2ltYWdlcy9hbGxiZy5naWYnIGxlZnRtYXJnaW49JzgnIHRvcG1hcmdpbj0nOCc+DQoNCjx0YWJsZSB3aWR0aD0iOTglIiBib3JkZXI9IjAiIGFsaWduPSJjZW50ZXIiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgYmdjb2xvcj0iI0Q2RDZENiI+DQogIDx0cj4NCiAgICA8dGQgaGVpZ2h0PSIyOCIgYmFja2dyb3VuZD0iaW1hZ2VzL3RiZy5naWYiIGNvbHNwYW49IjgiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6MTBweDsiPg0KICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0Ij4NCiAgCTxiPuWPi+aDhemTvuaOpeeuoeeQhjwvYj4NCgk8L2Rpdj4NCgk8ZGl2IHN0eWxlPSJmbG9hdDpyaWdodDtwYWRkaW5nLXJpZ2h0OjZweDsiPg0KCQlbPGEgaHJlZj0iZnJpZW5kbGlua19hZGQucGhwIj48dT7lop7liqDpk77mjqU8L3U+PC9hPl0NCiAJIAlbPGEgaHJlZj0iZnJpZW5kbGlua190eXBlLnBocCI+PHU+572R56uZ57G75Z6L566h55CGPC91PjwvYT5dDQogIAlbPGEgaHJlZj0ne2RlZGU6Z2xvYmFsIG5hbWU9J2NmZ19waHB1cmwnIC99L2ZsaW5rLnBocCcgdGFyZ2V0PSdfYmxhbmsnPjx1PuWPi+aDhemTvuaOpemihOiniDwvdT48L2E+XQ0KICA8L2Rpdj4NCiAgPC90ZD4NCjwvdHI+DQo8dHI+DQogICA8dGQgaGVpZ2h0PSIzMCIgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iI0Y5RkNFRiIgIGNvbHNwYW49IjgiPiANCiAgIDxmb3JtIGFjdGlvbj0iZnJpZW5kbGlua19tYWluLnBocCIgbmFtZT0iZm9ybTEiIG1ldGhvZD0iZ2V0Ij4NCgkgIDx0YWJsZSBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMyI+DQogICAgICA8dHI+DQogICAgICAgICAgPHRkPuWFs+mUruWtl++8mjwvdGQ+DQogICAgICAgICAgPHRkPjxpbnB1dCBuYW1lPSJrZXl3b3JkIiB0eXBlPSJ0ZXh0IiBpZD0ia2V5d29yZCIgc2l6ZT0iMTIiIHN0eWxlPSJ3aWR0aDoyNTBweCIgdmFsdWU9Ijw/cGhwIGVjaG8gJGtleXdvcmQ7ID8+IiAvPjwvdGQ+DQogICAgICAgICAgPHRkPg0KICAgICAgICAgIAk8c2VsZWN0IG5hbWU9ImlzY2hlY2siIGlkPSJpc2NoZWNrIj4NCiAgICAgICAgCQkJPD9waHANCiAgICAgICAgCQkJZm9yZWFjaCgkc2VsQ2hlY2tBcnIgYXMgJGs9PiR2KQ0KICAgICAgICAJCQl7DQogICAgICAgIAkJCQlpZigkaz09JGlzY2hlY2spIGVjaG8gIjxvcHRpb24gdmFsdWU9JyRrJyBzZWxlY3RlZD4kdjwvb3B0aW9uPlxyXG4iOw0KICAgICAgICAJCQkJZWxzZSBlY2hvICI8b3B0aW9uIHZhbHVlPSckayc+JHY8L29wdGlvbj5cclxuIjsNCiAgICAgICAgCQkJfQ0KICAgICAgICAJCQk/Pg0KCQkJCQkJPC9zZWxlY3Q+DQogICAgICAgICAgPC90ZD4NCiAgICAgICAgICA8dGQ+DQogICAgICAgICAgIDxpbnB1dCBuYW1lPSJpbWFnZUZpZWxkIiBjbGFzcz0ibnAiIHR5cGU9ImltYWdlIiBzcmM9ImltYWdlcy9idXR0b25fc2VhcmNoLmdpZiIgd2lkdGg9IjYwIiBoZWlnaHQ9IjIyIiBib3JkZXI9IjAiIC8+DQogICAgICAgICAgPC90ZD4NCiAgICAgICAgPC90cj4NCiAgICAgIDwvdGFibGU+DQoJICA8L2Zvcm0+DQogICAgPC90ZD4NCjwvdHI+DQo8Zm9ybSBuYW1lPSdmb3JtMScgbWV0aG9kPSdwb3N0JyBhY3Rpb249J2ZyaWVuZGxpbmtfZWRpdC5waHAnIG9uU3VibWl0PSdyZXR1cm4gY2hlY2tTdWJtaXQoKTsnPg0KPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nZG9wb3N0JyB2YWx1ZT0nZGVsYWxsJy8+DQo8aW5wdXQgdHlwZT0naGlkZGVuJyBuYW1lPSdhbGxpZCcgdmFsdWU9JycvPg0KPHRyIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiNGQkZDRTIiIGhlaWdodD0iMjYiPg0KICAgICAgICAgIDx0ZCB3aWR0aD0iNiUiPumAieaLqTwvdGQ+DQogICAgICAgICAgPHRkIHdpZHRoPSIyMyUiPue9keermeWQjeensDwvdGQ+DQogICAgICAgICAgPHRkIHdpZHRoPSIxMiUiPue9keermUxvZ288L3RkPg0KICAgICAgICAgIDx0ZCB3aWR0aD0iMTUlIj7nq5nplb9FbWFpbDwvdGQ+DQogICAgICAgICAgPHRkIHdpZHRoPSIxNSUiPuaXtumXtDwvdGQ+DQogICAgICAgICAgPHRkIHdpZHRoPSI4JSI+54q25oCBPC90ZD4NCiAgICAgICAgICA8dGQgd2lkdGg9IjglIj7pobrluo88L3RkPg0KICAgICAgICAgIDx0ZCB3aWR0aD0iMTUlIj7nrqHnkIY8L3RkPg0KICAgICAgICA8L3RyPg0KICAgICAgICB7ZGVkZTpkYXRhbGlzdH0NCiAgICAgICAgPHRyIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiNGRkZGRkYiIGhlaWdodD0iMjYiIG9uTW91c2VNb3ZlPSJqYXZhc2NyaXB0OnRoaXMuYmdDb2xvcj0nI0ZDRkRFRSc7Ig0KICAgICAgICAJIG9uTW91c2VPdXQ9ImphdmFzY3JpcHQ6dGhpcy5iZ0NvbG9yPScjRkZGRkZGJzsiPg0KICAgICAgICAgIDx0ZD48aW5wdXQgdHlwZT0nY2hlY2tib3gnIG5hbWU9J2FpZHMnIHZhbHVlPSd7ZGVkZTpmaWVsZC5pZC99JyBjbGFzcz0nbnAnPjwvdGQ+DQogICAgICAgICAgPHRkPjxhIGhyZWY9IntkZWRlOmZpZWxkLnVybC99IiB0YXJnZXQ9J19ibGFuayc+e2RlZGU6ZmllbGQud2VibmFtZS99PC9hPjwvdGQ+DQogICAgICAgICAgPHRkPjxhIGhyZWY9IntkZWRlOmZpZWxkLnVybC99IiB0YXJnZXQ9J19ibGFuayc+e2RlZGU6ZmllbGQubG9nbyBmdW5jdGlvbj0iR2V0UGljKEBtZSkiL308L2E+PC90ZD4NCiAgICAgICAgICA8dGQ+e2RlZGU6ZmllbGQuZW1haWwvfTwvdGQ+DQogICAgICAgICAgPHRkPntkZWRlOmZpZWxkLmR0aW1lIGZ1bmN0aW9uPSJNeURhdGUoJ1ktbS1kJyxAbWUpIi99PC90ZD4NCiAgICAgICAgICA8dGQ+e2RlZGU6ZmllbGQuaXNjaGVjayBmdW5jdGlvbj0iR2V0U3RhKEBtZSkiL308L3RkPg0KICAgICAgICAgIDx0ZD57ZGVkZTpmaWVsZC5zb3J0cmFuay99PC90ZD4NCiAgICAgICAgICA8dGQ+DQogICAgICAgICAgCTxhIGhyZWY9J2ZyaWVuZGxpbmtfZWRpdC5waHA/aWQ9e2RlZGU6ZmllbGQuaWQvfSZkb3Bvc3Q9Z2V0ZWRpdCc+W+abtOaUuV08L2E+DQoJCSAgICAgICAgPGEgaHJlZj0nZnJpZW5kbGlua19lZGl0LnBocD9pZD17ZGVkZTpmaWVsZC5pZC99JmRvcG9zdD1kZWxldGUnPlvliKDpmaRdPC9hPg0KCQkgICAgICA8L3RkPg0KICAgICAgICA8L3RyPg0KCQl7L2RlZGU6ZGF0YWxpc3R9DQogICAgPC9mb3JtPg0KICAgICA8dHIgYmdjb2xvcj0iI2ZmZmZmZiIgaGVpZ2h0PSIyOCI+DQogICAgICA8dGQgY29sc3Bhbj0iOCI+DQogICAgICAJ44CADQogICAgICAgIDxhIGhyZWY9JyMnIG9uY2xpY2s9J1NlbCgiYWxsIiknIGNsYXNzPSducCBjb29sYmcnPlvlhajpgIldPC9hPg0KICAgICAgCTxhIGhyZWY9JyMnIG9uY2xpY2s9J1NlbCgibm9uZSIpJyBjbGFzcz0nbnAgY29vbGJnJz5b5Y+W5raIXTwvYT4NCiAgICAgIAk8YSBocmVmPScjJyBvbmNsaWNrPSdjaGVja1N1Ym1pdCgpJyBjbGFzcz0nbnAgY29vbGJnJz7mibnph4/liKDpmaQ8L2E+DQoNCiAgICAgIDwvdGQ+DQogICAgIDwvdHI+DQogICAgIDx0ciBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjRjlGQ0VGIiBoZWlnaHQ9IjI4Ij4NCiAgICAgIDx0ZCBjb2xzcGFuPSI4Ij4NCiAgICAgIAl7ZGVkZTpwYWdlbGlzdCBsaXN0c2l6ZT02L30NCiAgICAgIDwvdGQ+DQogICAgIDwvdHI+DQogICA8L3RhYmxlPg0KICA8L3RkPg0KPC90cj4NCjwvdGFibGU+DQo8L2JvZHk+DQo8L2h0bWw+
-
-
-PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD08P3BocCBlY2hvICRjZmdfc29mdF9sYW5nOyA/PiI+DQo8dGl0bGU+572R56uZ57G75Z6L566h55CGPC90aXRsZT4NCjxsaW5rIGhyZWY9ImNzcy9iYXNlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgLz4NCjwvaGVhZD4NCjxib2R5IGJhY2tncm91bmQ9ImltYWdlcy9hbGxiZy5naWYiIGxlZnRtYXJnaW49JzgnIHRvcG1hcmdpbj0nOCc+DQo8dGFibGUgd2lkdGg9Ijk4JSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMSIgY2VsbHNwYWNpbmc9IjEiIGFsaWduPSJjZW50ZXIiIGNsYXNzPSJ0YnRpdGxlIiBzdHlsZT0iCWJhY2tncm91bmQ6I0NGQ0ZDRjsiPg0KICA8Zm9ybSBuYW1lPSJmb3JtMSIgYWN0aW9uPSJmcmllbmRsaW5rX3R5cGUucGhwIiBtZXRob2Q9InBvc3QiPg0KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImRvcG9zdCIgdmFsdWU9InNhdmUiPg0KICAgPHRyPg0KICAgIDx0ZCBoZWlnaHQ9IjE5IiBiYWNrZ3JvdW5kPSJpbWFnZXMvdGJnLmdpZiIgY29sc3Bhbj0iOSIgc3R5bGU9InBhZGRpbmctbGVmdDoxMHB4OyI+DQogIDxiPjxhIGhyZWY9ImZyaWVuZGxpbmtfbWFpbi5waHAiPuWPi+aDhemTvuaOpeeuoeeQhjwvYT48L2I+Jm5ic3A7DQoJWzxhIGhyZWY9ImZyaWVuZGxpbmtfYWRkLnBocCI+PHU+5aKe5Yqg6ZO+5o6lPC91PjwvYT5dDQogICAgWzxhIGhyZWY9ImZyaWVuZGxpbmtfdHlwZS5waHAiPjx1Pue9keermeexu+Wei+euoeeQhjwvdT48L2E+XQ0KICBbPGEgaHJlZj0nLi4vcGx1cy9mbGlua19hZGQucGhwJyB0YXJnZXQ9J19ibGFuayc+PHU+5aSW6YOo55Sz6K+36KGo5Y2VPC91PjwvYT5dPC90ZD4NCjwvdHI+DQogICAgPHRyIGJnY29sb3I9IiNGQkZDRTIiPg0KICAgICAgPHRkIHdpZHRoPSI0JSIgaGVpZ2h0PSIyNCIgYWxpZ249ImNlbnRlciIgdmFsaWduPSJ0b3AiPuexu+Wei0lEPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iNjAlIiBhbGlnbj0iY2VudGVyIiB2YWxpZ249InRvcCI+572R56uZ5ZCN56ewPC90ZD4NCiAgICAgIDx0ZCB3aWR0aD0iMzYlIiBhbGlnbj0iY2VudGVyIj7nirbmgIE8L3RkPg0KICAgIDwvdHI+DQogICAgPD9waHANCgkkZHNxbC0+U2V0UXVlcnkoIlNlbGVjdCAqIEZyb20gI0BfX2ZsaW5rdHlwZSIpOw0KCSRkc3FsLT5FeGVjdXRlKCk7DQoJJGs9MDsNCgl3aGlsZSgkcm93ID0gJGRzcWwtPkdldE9iamVjdCgpKQ0KCXsNCiAgICAgICRrKys7DQoJPz4NCiAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJJRF88P3BocCBlY2hvICRrPz4iIHZhbHVlPSI8P3BocCBlY2hvICRyb3ctPmlkPz4iPg0KICAgIDx0ciBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjRkZGRkZGIj4NCiAgICAgIDx0ZCBoZWlnaHQ9IjI0IiB2YWxpZ249InRvcCI+PD9waHAgZWNobyAkcm93LT5pZDsgPz4NCiAgICAgIAkgICAgIDwvdGQ+DQoNCiAgICAgIDx0ZCBoZWlnaHQ9IjI0IiB2YWxpZ249InRvcCI+PGlucHV0IG5hbWU9InBuYW1lXzw/cGhwIGVjaG8gJGs/PiIgdmFsdWU9Ijw/cGhwIGVjaG8gJHJvdy0+dHlwZW5hbWU/PiIgdHlwZT0idGV4dCIgaWQ9InBuYW1lXzw/cGhwIGVjaG8gJGs/PiIgY2xhc3M9J3B1YmlucHV0cycgc3R5bGU9IndpZHRoOjkwJSIgLz4gPC90ZD4NCiAgICAgIDx0ZD4NCgkgIDxpbnB1dCBuYW1lPSJjaGVja188P3BocCBlY2hvICRrPz4iIHR5cGU9ImNoZWNrYm94IiBpZD0iY2hlY2tfPD9waHAgZWNobyAkaz8+IiAgdmFsdWU9IjEiIGNoZWNrZWQ9JzEnIGNsYXNzPSducCcgLz4NCiAgICAgICAg5L+d55WZCSAgIDwvdGQ+DQogICAgPC90cj4NCiAgICA8P3BocA0KCX0NCgk/Pg0KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImlkZW5kIiB2YWx1ZT0iPD9waHAgZWNobyAkaz8+Ij4NCiAgICA8dHIgYmdjb2xvcj0iI0Y4RkNGMSI+DQogICAgICA8dGQgaGVpZ2h0PSIyNCIgY29sc3Bhbj0iNSIgdmFsaWduPSJ0b3AiIGJnY29sb3I9IiNGOUZDRUYiPjxzdHJvbmc+5paw5aKe5LiA5Liq572R56uZ57G75Z6L77yaPC9zdHJvbmc+PC90ZD4NCiAgICA8L3RyPg0KICAgIDx0ciBoZWlnaHQ9IjI0IiBhbGlnbj0iY2VudGVyIiBiZ2NvbG9yPSIjRkZGRkZGIj4NCiAgICAgIDx0ZCBjb2xzcGFuPSIyIiB2YWxpZ249InRvcCI+DQogICAgICAJPGlucHV0IG5hbWU9InBuYW1lX25ldyIgdHlwZT0idGV4dCIgaWQ9InBuYW1lX25ldyIgY2xhc3M9J3B1YmlucHV0cycgc3R5bGU9IndpZHRoOjkwJSIgLz4gICAgICA8L3RkPg0KDQogICAgICA8dGQgYWxpZ249ImNlbnRlciIgYmdjb2xvcj0iI0ZGRkZGRiI+DQoJICA8aW5wdXQgbmFtZT0iY2hlY2tfbmV3IiB0eXBlPSJjaGVja2JveCIgIGlkPSJjaGVja19uZXciIHZhbHVlPSIxIiBjaGVja2VkPScxJyBjbGFzcz0nbnAnIC8+DQogICAgICAgIOaWsOWiniA8L3RkPg0KICAgIDwvdHI+DQogICAgPHRyPg0KICAgICAgPHRkIGhlaWdodD0iMzQiIGNvbHNwYW49IjUiIGFsaWduPSJjZW50ZXIiIGJnY29sb3I9IiNGOUZDRUYiPg0KICAgICAgCTxpbnB1dCBuYW1lPSJpbWFnZUZpZWxkIiAgdHlwZT0ic3VibWl0IiBjbGFzcz0ibnAgY29vbGJnIiB2YWx1ZT0i56Gu5a6aIiAvPiAgICAgIDwvdGQ+DQogICAgPC90cj4NCiAgPC9mb3JtPg0KPC90YWJsZT4NCjwvYm9keT4NCjwvaHRtbD4=
-
-
-PD9waHANCmlmKCFkZWZpbmVkKCdERURFSU5DJykpDQp7DQogICAgZXhpdCgiUmVxdWVzdCBFcnJvciEiKTsNCn0NCi8qKg0KICog5Y+L5oOF6ZO+5o6lDQogKg0KICogQHZlcnNpb24gICAgICAgICRJZDogZmxpbmsubGliLnBocCAxIDk6MjkgMjAxMOW5tDfmnIg25pelWiB0aWFueWEgJA0KICogQHBhY2thZ2UgICAgICAgIERlZGVDTVMuVGFnbGliDQogKiBAY29weXJpZ2h0ICAgICAgQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCwgRGVzRGV2LCBJbmMuDQogKiBAbGljZW5zZSAgICAgICAgaHR0cDovL2hlbHAuZGVkZWNtcy5jb20vdXNlcnNndWlkZS9saWNlbnNlLmh0bWwNCiAqIEBsaW5rICAgICAgICAgICBodHRwOi8vd3d3LmRlZGVjbXMuY29tDQogKi8NCg0KLyo+PmRlZGU+Pg0KPG5hbWU+5Y+L5oOF6ZO+5o6lPC9uYW1lPg0KPHR5cGU+5YWo5bGA5qCH6K6wPC90eXBlPg0KPGZvcj5WNTUsVjU2LFY1NzwvZm9yPg0KPGRlc2NyaXB0aW9uPueUqOS6juiOt+WPluWPi+aDhemTvuaOpTwvZGVzY3JpcHRpb24+DQo8ZGVtbz4NCntkZWRlOmZsaW5rIHJvdz0nMjQnL30NCjwvZGVtbz4NCjxhdHRyaWJ1dGVzPg0KICAgIDxpdGVybT50eXBlOumTvuaOpeexu+WeizwvaXRlcm0+IA0KICAgIDxpdGVybT5yb3c66ZO+5o6l5pWw6YePPC9pdGVybT4NCiAgICA8aXRlcm0+dGl0bGVsZW4656uZ54K55paH5a2X55qE6ZW/5bqmPC9pdGVybT4NCiAgICA8aXRlcm0+bGlua3R5cGU66ZO+5o6l5L2N572u5YaF6aG1PC9pdGVybT4NCiAgICA8aXRlcm0+dHlwZWlkOuaJgOacieexu+Wei++8jOWPr+S7peWcqOezu+e7n+WQjuWPsFvmqKHlnZddLVvlj4vmg4Xpk77mjqVd5Lit55qE4oCc572R56uZ57G75Z6L566h55CG4oCd5Lit5p+l55yLPC9pdGVybT4NCjwvYXR0cmlidXRlcz4gDQo+PmRlZGU+PiovDQoNCmZ1bmN0aW9uIGxpYl9mbGluaygmJGN0YWcsJiRyZWZPYmopDQp7DQoJDQogICAgZ2xvYmFsICRkc3FsLCRjZmdfc29mdF9sYW5nOw0KICAgICRhdHRsaXN0PSJ0eXBlfHRleHRhbGwscm93fDI0LHRpdGxlbGVufDI0LGxpbmt0eXBlfDEsdHlwZWlkfDAiOw0KICAgIEZpbGxBdHRzRGVmYXVsdCgkY3RhZy0+Q0F0dHJpYnV0ZS0+SXRlbXMsJGF0dGxpc3QpOw0KICAgIGV4dHJhY3QoJGN0YWctPkNBdHRyaWJ1dGUtPkl0ZW1zLCBFWFRSX1NLSVApOw0KICAgICR0b3RhbHJvdyA9ICRyb3c7DQogICAgJHJldmFsdWUgPSAnJzsNCiAgICBpZiAoaXNzZXQoJEdMT0JBTFNbJ2VudnMnXVsnZmxpbmtpZCddKSkNCiAgICB7DQogICAgICAgICR0eXBlaWQgPSAkR0xPQkFMU1snZW52cyddWydmbGlua2lkJ107DQogICAgfQ0KDQogICAgJHdzcWwgPSAiIHdoZXJlIGlzY2hlY2sgPj0gJyRsaW5rdHlwZScgIjsNCgkNCiAgICBpZigkdHlwZWlkID09IDApDQogICAgew0KICAgICAgICAkd3NxbCAuPSAnJzsNCiAgICB9DQogICAgZWxzZSBpZigkdHlwZWlkID09IDk5OSkNCgl7DQoJCXJlcXVpcmUgKERFREVEQVRBLicvYWRtaW4vY29uZmlnX3VwZGF0ZS5waHAnKTsNCgkJJHVwZGF0ZWluZm8gPSBAZmlsZV9nZXRfY29udGVudHMoJHVwZGF0ZUhvc3QuJ2RlZGVjbXMvZmxpbmsuJy4kY2ZnX3NvZnRfbGFuZy4nLnR4dCcpOw0KCQlpZighZW1wdHkoJHVwZGF0ZWluZm8pKXsNCgkJCSRkZWRlbGluayA9IGV4cGxvZGUoIlx0IiwgJHVwZGF0ZWluZm8pOw0KCQkJZm9yKCRpPTA7ICRpPGNvdW50KCRkZWRlbGluayk7ICRpKyspIHsNCgkJCQlpZigkaSU1PT0wICYmICRpIT1jb3VudCgkZGVkZWxpbmspKSB7DQoJCQkJCSRyZXZhbHVlIC49ICI8bGk+PGEgaHJlZj0naHR0cDovLyIuJGRlZGVsaW5rWyRpKzFdLiInIHRhcmdldD0nX2JsYW5rJyB0aXRsZT0nIi4kZGVkZWxpbmtbJGkrNF0uIic+PGltZyBzcmM9JyIuJGRlZGVsaW5rWyRpKzNdLiInIHdpZHRoPSc4OCcgaGVpZ2h0PSczMScgYm9yZGVyPScwJz48L2E+PC9saT4iOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQlyZXR1cm4gJHJldmFsdWU7DQoJfQ0KCWVsc2UNCiAgICB7DQogICAgICAgICR3c3FsIC49ICJBbmQgdHlwZWlkID0gJyR0eXBlaWQnIjsNCiAgICB9DQogICAgaWYoJHR5cGU9PSdpbWFnZScpDQogICAgew0KICAgICAgICAkd3NxbCAuPSAiIEFuZCBsb2dvPD4nJyAiOw0KICAgIH0NCiAgICBlbHNlIGlmKCR0eXBlPT0ndGV4dCcpDQogICAgew0KICAgICAgICAkd3NxbCAuPSAiIEFuZCBsb2dvPScnICI7DQogICAgfQ0KDQogICAgJGVxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICNAX19mbGluayAkd3NxbCBvcmRlciBieSBzb3J0cmFuayBhc2MgbGltaXQgMCwkdG90YWxyb3ciOw0KDQogICAgaWYodHJpbSgkY3RhZy0+R2V0SW5uZXJUZXh0KCkpPT0nJykgJGlubmVydGV4dCA9ICI8bGk+W2ZpZWxkOmxpbmsgL108L2xpPiI7DQogICAgZWxzZSAkaW5uZXJ0ZXh0ID0gJGN0YWctPkdldElubmVyVGV4dCgpOw0KICAgIA0KICAgICRkc3FsLT5TZXRRdWVyeSgkZXF1ZXJ5KTsNCiAgICAkZHNxbC0+RXhlY3V0ZSgpOw0KICAgIA0KICAgIHdoaWxlKCRkYnJvdz0kZHNxbC0+R2V0T2JqZWN0KCkpDQogICAgew0KICAgICAgICBpZigkdHlwZT09J3RleHQnfHwkdHlwZT09J3RleHRhbGwnKQ0KICAgICAgICB7DQogICAgICAgICAgICAkbGluayA9ICI8YSBocmVmPSciLiRkYnJvdy0+dXJsLiInIHRhcmdldD0nX2JsYW5rJz4iLmNuX3N1YnN0cigkZGJyb3ctPndlYm5hbWUsJHRpdGxlbGVuKS4iPC9hPiAiOw0KICAgICAgICB9DQogICAgICAgIGVsc2UgaWYoJHR5cGU9PSdpbWFnZScpDQogICAgICAgIHsNCiAgICAgICAgICAgICRsaW5rID0gIjxhIGhyZWY9JyIuJGRicm93LT51cmwuIicgdGFyZ2V0PSdfYmxhbmsnPjxpbWcgc3JjPSciLiRkYnJvdy0+bG9nby4iJyB3aWR0aD0nODgnIGhlaWdodD0nMzEnIGJvcmRlcj0nMCc+PC9hPiAiOw0KICAgICAgICB9DQogICAgICAgIGVsc2UNCiAgICAgICAgew0KICAgICAgICAgICAgaWYoJGRicm93LT5sb2dvPT0nJykNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkbGluayA9ICI8YSBocmVmPSciLiRkYnJvdy0+dXJsLiInIHRhcmdldD0nX2JsYW5rJz4iLmNuX3N1YnN0cigkZGJyb3ctPndlYm5hbWUsJHRpdGxlbGVuKS4iPC9hPiAiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRsaW5rID0gIjxhIGhyZWY9JyIuJGRicm93LT51cmwuIicgdGFyZ2V0PSdfYmxhbmsnPjxpbWcgc3JjPSciLiRkYnJvdy0+bG9nby4iJyB3aWR0aD0nODgnIGhlaWdodD0nMzEnIGJvcmRlcj0nMCc+PC9hPiAiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgICRyYnRleHQgPSBwcmVnX3JlcGxhY2UoIi9cW2ZpZWxkOnVybChbXC9cc117MCx9KVxdL2lzVSIsICRyb3dbJ3VybCddLCAkaW5uZXJ0ZXh0KTsNCiAgICAgICAgICRyYnRleHQgPSBwcmVnX3JlcGxhY2UoIi9cW2ZpZWxkOndlYm5hbWUoW1wvXHNdezAsfSlcXS9pc1UiLCAkcm93Wyd3ZWJuYW1lJ10sICRyYnRleHQpOw0KICAgICAgICAgJHJidGV4dCA9IHByZWdfcmVwbGFjZSgiL1xbZmllbGQ6bG9nbyhbXC9cc117MCx9KVxdL2lzVSIsICRyb3dbJ2xvZ28nXSwgJHJidGV4dCk7DQogICAgICAgICAkcmJ0ZXh0ID0gcHJlZ19yZXBsYWNlKCIvXFtmaWVsZDpsaW5rKFtcL1xzXXswLH0pXF0vaXNVIiwgJGxpbmssICRyYnRleHQpOw0KICAgICAgICAgJHJldmFsdWUgLj0gJHJidGV4dDsNCiAgICB9DQogICAgcmV0dXJuICRyZXZhbHVlOw0KfQ==
-
-
-
diff --git a/src/data/module/fcd00dbb5a51d65aff6c248d221d8bcd.xml b/src/data/module/fcd00dbb5a51d65aff6c248d221d8bcd.xml
deleted file mode 100755
index 48e2fb62..00000000
--- a/src/data/module/fcd00dbb5a51d65aff6c248d221d8bcd.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-name=百度结构化数据提交插件
-team=织梦官方
-time=2014-01-08
-email=tianya@desdev.cn
-url=http://www.dedecms.com
-hash=fcd00dbb5a51d65aff6c248d221d8bcd
-indexname=
-indexurl=
-ismember=0
-autosetup=1
-autodel=1
-lang=utf-8
-moduletype=plus
-
-
-
-
-
-
-PHAgc3R5bGU9J2xpbmUtaGVpZ2h0OjE1MCUnPjxkaXYgc3R5bGU9J3BhZGRpbmctbGVmdDoyMHB4O2xpbmUtaGVpZ2h0OjE1MCUnPjxiciAvPg0KPHA+54mI5p2D5omA5pyJIMKpMjAwMy0yMDEx77yMRGVkZUNtcy5jb20g5L+d55WZ5omA5pyJ5p2D5Yip44CCIDwvcD48YnIgLz4NCjxwPuaEn+iwouaCqOmAieaLqee7h+aipuWGheWuueeuoeeQhuezu+e7n++8iOS7peS4i+eugOensERlZGVDbXPvvInvvIxEZWRlQ21z5piv55uu5YmN5Zu95YaF5pyA5by65aSn44CB5pyA56iz5a6a55qE5Lit5bCP5Z6L6Zeo5oi3572R56uZ5bu66K6+6Kej5Yaz5pa55qGI5LmL5LiA77yM5bGF5LqOIFBIUCArIE15U1FMIOeahOaKgOacr+W8gOWPke+8jOWFqOmDqOa6kOeggeW8gOaUvuOAgkRlZGVDbXMg55qE5a6Y5pa5572R5Z2A5piv77yaIHd3dy5kZWRlY21zLmNvbSAg5Lqk5rWB6K665Z2b77yaIGJicy5kZWRlY21zLmNvbTwvcD48YnIgLz4NCjxwPuS4uuS6huS9v+S9oOato+ehruW5tuWQiOazleeahOS9v+eUqOacrOi9r+S7tu+8jOivt+S9oOWcqOS9v+eUqOWJjeWKoeW/hemYheivu+a4healmuS4i+mdoueahOWNj+iuruadoeasvu+8mjwvcD48YnIgLz4NCjxwPjxzdHJvbmc+5LiA44CB5pys5o6I5p2D5Y2P6K6u6YCC55So5LiU5LuF6YCC55So5LqOIERlZGVDbXMgNS54Lngg54mI5pys77yMRGVkZUNtc+WumOaWueWvueacrOaOiOadg+WNj+iurueahOacgOe7iOino+mHiuadg+OAgiA8L3N0cm9uZz48L3A+PGJyIC8+DQo8cD48c3Ryb25nPuS6jOOAgeWNj+iuruiuuOWPr+eahOadg+WIqSA8L3N0cm9uZz48YnIgLz48YnIgLz4NCiAgMeOAgeaCqOWPr+S7peWcqOWujOWFqOmBteWuiOacrOacgOe7iOeUqOaIt+aOiOadg+WNj+iurueahOWfuuehgOS4iu+8jOWwhuacrOi9r+S7tuW6lOeUqOS6jumdnuWVhuS4mueUqOmAlO+8jOiAjOS4jeW/heaUr+S7mOi9r+S7tueJiOadg+aOiOadg+i0ueeUqOOAgiA8YnIgLz48YnIgLz4NCiAgMuOAgeaCqOWPr+S7peWcqOWNj+iuruinhOWumueahOe6puadn+WSjOmZkOWItuiMg+WbtOWGheS/ruaUuSBEZWRlQ21zIOa6kOS7o+eggeaIlueVjOmdoumjjuagvOS7pemAguW6lOaCqOeahOe9keermeimgeaxguOAgiA8YnIgLz48YnIgLz4NCiAgM+OAgeaCqOaLpeacieS9v+eUqOacrOi9r+S7tuaehOW7uueahOe9keermeWFqOmDqOWGheWuueaJgOacieadg++8jOW5tueLrOeri+aJv+aLheS4jui/meS6m+WGheWuueeahOebuOWFs+azleW+i+S5ieWKoeOAgiA8YnIgLz48YnIgLz4NCjTjgIHojrflvpfllYbkuJrmjojmnYPkuYvlkI7vvIzmgqjlj6/ku6XlsIbmnKzova/ku7blupTnlKjkuo7llYbkuJrnlKjpgJTvvIzlkIzml7bkvp3mja7miYDotK3kubDnmoTmjojmnYPnsbvlnovkuK3noa7lrprnmoTmioDmnK/mlK/mjIHlhoXlrrnvvIzoh6rotK3kubDml7bliLvotbfvvIzlnKjmioDmnK/mlK/mjIHmnJ/pmZDlhoXmi6XmnInpgJrov4fmjIflrprnmoTmlrnlvI/ojrflvpfmjIflrprojIPlm7TlhoXnmoTmioDmnK/mlK/mjIHmnI3liqHjgILllYbkuJrmjojmnYPnlKjmiLfkuqvmnInlj43mmKDlkozmj5Dlh7rmhI/op4HnmoTmnYPlipvvvIznm7jlhbPmhI/op4HlsIbooqvkvZzkuLrpppbopoHogIPomZHvvIzkvYbmsqHmnInkuIDlrprooqvph4fnurPnmoTmib/or7rmiJbkv53or4HjgIIgPC9wPjxiciAvPg0KPHA+PHN0cm9uZz7kuInjgIHljY/orq7op4TlrprnmoTnuqbmnZ/lkozpmZDliLYgPC9zdHJvbmc+PGJyIC8+PGJyIC8+DQogIDHjgIHmnKrojrfllYbkuJrmjojmnYPkuYvliY3vvIzkuI3lvpflsIbmnKzova/ku7bnlKjkuo7llYbkuJrnlKjpgJTvvIjljIXmi6zkvYbkuI3pmZDkuo7kvIHkuJrnvZHnq5njgIHnu4/okKXmgKfnvZHnq5njgIHku6XokKXliKnkuLrnm67nmoTmiJblrp7njrDnm4jliKnnmoTnvZHnq5nvvInjgILotK3kubDllYbkuJrmjojmnYPor7fnmbvpmYYgYmJzLmRlZGVjbXMuY29tIOS6huino+acgOaWsOivtOaYjuOAgiA8YnIgLz48YnIgLz4NCiAgMuOAgeacque7j+WumOaWueiuuOWPr++8jOS4jeW+l+WvueacrOi9r+S7tuaIluS4juS5i+WFs+iBlOeahOWVhuS4muaOiOadg+i/m+ihjOWHuuenn+OAgeWHuuWUruOAgeaKteaKvOaIluWPkeaUvuWtkOiuuOWPr+ivgeOAgiA8YnIgLz48YnIgLz4NCiAgM+OAgeS4jeeuoeS9oOeahOe9keermeaYr+WQpuaVtOS9k+S9v+eUqCBEZWRlQ21zIO+8jOi/mOaYr+mDqOS7veagj+ebruS9v+eUqCBEZWRlQ21z77yM5Zyo5L2g5L2/55So5LqGIERlZGVDbXMg55qE572R56uZ5Li76aG15LiK5b+F6aG75Yqg5LiKIERlZGVDbXMg5a6Y5pa5572R5Z2AKHd3dy5kZWRlY21zLmNvbSnnmoTpk77mjqXjgIIgPGJyIC8+PGJyIC8+DQogIDTjgIHmnKrnu4/lrpjmlrnorrjlj6/vvIznpoHmraLlnKggRGVkZUNtcyDnmoTmlbTkvZPmiJbku7vkvZXpg6jliIbln7rnoYDkuIrku6Xlj5HlsZXku7vkvZXmtL7nlJ/niYjmnKzjgIHkv67mlLnniYjmnKzmiJbnrKzkuInmlrnniYjmnKznlKjkuo7ph43mlrDliIblj5HjgIIgPGJyIC8+PGJyIC8+DQo144CB5aaC5p6c5oKo5pyq6IO96YG15a6I5pys5Y2P6K6u55qE5p2h5qy+77yM5oKo55qE5o6I5p2D5bCG6KKr57uI5q2i77yM5omA6KKr6K645Y+v55qE5p2D5Yip5bCG6KKr5pS25Zue77yM5bm25om/5ouF55u45bqU5rOV5b6L6LSj5Lu744CCIDwvcD48YnIgLz4NCjxwPjxzdHJvbmc+5Zub44CB5pyJ6ZmQ5ouF5L+d5ZKM5YWN6LSj5aOw5piOIDwvc3Ryb25nPjxiciAvPjxiciAvPg0KICAx44CB5pys6L2v5Lu25Y+K5omA6ZmE5bim55qE5paH5Lu25piv5L2c5Li65LiN5o+Q5L6b5Lu75L2V5piO56Gu55qE5oiW6ZqQ5ZCr55qE6LWU5YG/5oiW5ouF5L+d55qE5b2i5byP5o+Q5L6b55qE44CCIDxiciAvPjxiciAvPg0KICAy44CB55So5oi35Ye65LqO6Ieq5oS/6ICM5L2/55So5pys6L2v5Lu277yM5oKo5b+F6aG75LqG6Kej5L2/55So5pys6L2v5Lu255qE6aOO6Zmp77yM5Zyo5bCa5pyq6LSt5Lmw5Lqn5ZOB5oqA5pyv5pyN5Yqh5LmL5YmN77yM5oiR5Lus5LiN5om/6K+65a+55YWN6LS555So5oi35o+Q5L6b5Lu75L2V5b2i5byP55qE5oqA5pyv5pSv5oyB44CB5L2/55So5ouF5L+d77yM5Lmf5LiN5om/5ouF5Lu75L2V5Zug5L2/55So5pys6L2v5Lu26ICM5Lqn55Sf6Zeu6aKY55qE55u45YWz6LSj5Lu744CCIDxiciAvPjxiciAvPg0KICAz44CB55S15a2Q5paH5pys5b2i5byP55qE5o6I5p2D5Y2P6K6u5aaC5ZCM5Y+M5pa55Lmm6Z2i562+572y55qE5Y2P6K6u5LiA5qC377yM5YW35pyJ5a6M5YWo55qE5ZKM562J5ZCM55qE5rOV5b6L5pWI5Yqb44CC5oKo5LiA5pem5byA5aeL56Gu6K6k5pys5Y2P6K6u5bm25a6J6KOFIERlZGVDbXPvvIzljbPooqvop4bkuLrlrozlhajnkIbop6PlubbmjqXlj5fmnKzljY/orq7nmoTlkITpobnmnaHmrL7vvIzlnKjkuqvmnInkuIrov7DmnaHmrL7mjojkuojnmoTmnYPlipvnmoTlkIzml7bvvIzlj5fliLDnm7jlhbPnmoTnuqbmnZ/lkozpmZDliLbjgILljY/orq7orrjlj6/ojIPlm7Tku6XlpJbnmoTooYzkuLrvvIzlsIbnm7TmjqXov53lj43mnKzmjojmnYPljY/orq7lubbmnoTmiJDkvrXmnYPvvIzmiJHku6zmnInmnYPpmo/ml7bnu4jmraLmjojmnYPvvIzotKPku6TlgZzmraLmjZ/lrrPvvIzlubbkv53nlZnov73nqbbnm7jlhbPotKPku7vnmoTmnYPlipvjgIIgPGJyIC8+PGJyIC8+DQo044CB5aaC5p6c5pys6L2v5Lu25bim5pyJ5YW25a6D6L2v5Lu255qE5pW05ZCIQVBJ56S66IyD5L6L5a2Q5YyF77yM6L+Z5Lqb5paH5Lu254mI5p2D5LiN5bGe5LqO5pys6L2v5Lu25a6Y5pa577yM5bm25LiU6L+Z5Lqb5paH5Lu25piv5rKh57uP6L+H5o6I5p2D5Y+R5biD55qE77yM6K+35Y+C6ICD55u45YWz6L2v5Lu255qE5L2/55So6K645Y+v5ZCI5rOV55qE5L2/55So44CCPC9wPjxiciAvPg0KPHA+5Y2P6K6u5Y+R5biD5pe26Ze077yaICAyMDA45bm0OOaciDIw5pelIEJ5IERlZGVDbXMuY29tPC9wPjxiciAvPg0KPHA+IDwvcD48L3A+
-
-
-SU5TRVJUIElOVE8gYCNAX19wbHVzYCAoYHBsdXNuYW1lYCwgYG1lbnVzdHJpbmdgLCBgbWFpbnVybGAsIGB3cml0ZXJgLCBgaXNzaG93YCwgYGZpbGVsaXN0YCkgVkFMVUVTICgn55m+5bqm57uT5p6E5YyW5pWw5o2uJywgJzxtOml0ZW0gbmFtZT0i55m+5bqm57uT5p6E5YyW5pWw5o2uIiBsaW5rPSJiYWlkdXNpdGVtYXBfbWFpbi5waHAiIHJhbms9InBsdXNf55m+5bqm57uT5p6E5YyW5pWw5o2uIiB0YXJnZXQ9Im1haW4iIC8+JywgJycsICfnu4fmoqblm6LpmJ8nLCAxLCBOVUxMKTs=
-
-
-RFJPUCBUQUJMRSBJRiBFWElTVFMgYCNAX19wbHVzX2JhaWR1c2l0ZW1hcF9saXN0YDsNCkRST1AgVEFCTEUgSUYgRVhJU1RTIGAjQF9fcGx1c19iYWlkdXNpdGVtYXBfc2V0dGluZ2A7DQpERUxFVEUgRlJPTSBgI0BfX3BsdXNgIFdIRVJFICBgcGx1c25hbWVgPSLnmb7luqbnu5PmnoTljJbmlbDmja4iOw==
-
-
-
-
-
-
-
-
-./baidusitemap_main.php
-../include/baidusitemap.func.php
-../include/baiduxml.class.php
-../plus/baidusitemap.php
-
-
-
-
-
-PD9waHANCnNldF90aW1lX2xpbWl0KDApOw0KcmVxdWlyZV9vbmNlKGRpcm5hbWUoX19GSUxFX18pLiIvY29uZmlnLnBocCIpOw0KcmVxdWlyZV9vbmNlKERFREVJTkMuIi9veHdpbmRvdy5jbGFzcy5waHAiKTsNCnJlcXVpcmVfb25jZShERURFSU5DLiIvY2hhbm5lbHVuaXQuY2xhc3MucGhwIik7DQpyZXF1aXJlX29uY2UoREVERUlOQy4iL2JhaWR1c2l0ZW1hcC5mdW5jLnBocCIpOw0KcmVxdWlyZV9vbmNlKERFREVJTkMuIi9iYWlkdXhtbC5jbGFzcy5waHAiKTsNCg0KaWYoZW1wdHkoJGRvcG9zdCkpICRkb3Bvc3QgPSAnJzsNCmlmKGVtcHR5KCRhY3Rpb24pKSAkYWN0aW9uID0gJyc7DQoNCmNoZWNrX2luc3RhbGxlZCgpOw0KDQppZigkZG9wb3N0PT0nYXV0aCcpew0KCSRzaXRldXJsPSRjZmdfYmFzZWhvc3Q7DQogICAgJHNpZ3VybD0iaHR0cDovL2JhaWR1LmFwaS5kZWRlY21zLmNvbS9pbmRleC5waHA/c2l0ZXVybD0iLnVybGVuY29kZSgkc2l0ZXVybCk7DQogICAgJHJlc3VsdCA9IGJhaWR1X2h0dHBfc2VuZCgkc2lndXJsKTsNCgkvL3Zhcl9kdW1wKCRyZXN1bHQpO2V4aXQoKTsNCiAgICAkZGF0YSA9IGpzb25fZGVjb2RlKCRyZXN1bHQsIHRydWUpOyANCiAgICBiYWlkdV9zZXRfc2V0dGluZygnc2l0ZXVybCcsICRkYXRhWydzaXRldXJsJ10pOw0KICAgIGJhaWR1X3NldF9zZXR0aW5nKCdjaGVja3NpZ24nLCAkZGF0YVsnY2hlY2tzaWduJ10pOw0KICAgIGlmKCRkYXRhWydzdGF0dXMnXT09MCl7DQogICAgICAgICRjaGVja3VybD0kc2l0ZXVybC4ieyRjZmdfcGx1c19kaXJ9L2JhaWR1c2l0ZW1hcC5waHA/ZG9wb3N0PWNoZWNrdXJsJmNoZWNrc2lnbj0iLiRkYXRhWydjaGVja3NpZ24nXTsNCg0KICAgICAgICAkYXV0aHVybD0iaHR0cDovL3p6LmJhaWR1LmNvbS9hcGkvb3BlbnNpdGVtYXAvYXV0aD9zaXRldXJsPSIuJGRhdGEgWydzaXRldXJsJ10uIiZjaGVja3VybD0iLnVybGVuY29kZSgkY2hlY2t1cmwpLiImY2hlY2tzaWduPSIuJGRhdGFbJ2NoZWNrc2lnbiddOw0KICAgICAgICAkYXV0aGRhdGEgPSBiYWlkdV9odHRwX3NlbmQoJGF1dGh1cmwpOw0KICAgICAgICAkb3V0cHV0ID0ganNvbl9kZWNvZGUoJGF1dGhkYXRhLCB0cnVlKTsNCiAgICAgICAgaWYoJG91dHB1dFsnc3RhdHVzJ109PTApew0KICAgICAgICAgICAgYmFpZHVfc2V0X3NldHRpbmcoJ3Bpbmd0b2tlbicsICRvdXRwdXRbJ3Rva2VuJ10pOw0KICAgICAgICAgICAgaWYoJGFjdGlvbj09J3Jlc3VibWl0JykNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkc2lnbiA9IG1kNSgkZGF0YVsnc2l0ZXVybCddLiRvdXRwdXRbJ3Rva2VuJ10pOw0KICAgICAgICAgICAgICAgIGJhaWR1X2RlbHNpdGVtYXAoJGRhdGFbJ3NpdGV1cmwnXSwxLCRzaWduKTsNCiAgICAgICAgICAgICAgICBiYWlkdV9zZXRfc2V0dGluZygnYmRwd2QnLCcnKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgICRvbGRfYmRwd2QgPSBiYWlkdV9nZXRfc2V0dGluZygnYmRwd2QnKTsNCiAgICAgICAgICAgIGlmKGVtcHR5KCRvbGRfYmRwd2QpKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICRiZHB3ZCA9IGJhaWR1X2dlbl9zaXRlbWFwX3Bhc3N3ZCgpOw0KICAgICAgICAgICAgICAgIGJhaWR1X3NldF9zZXR0aW5nKCdiZHB3ZCcsICRiZHB3ZCk7DQogICAgICAgICAgICAgICAgJHNpZ24gPSBtZDUoJGRhdGFbJ3NpdGV1cmwnXS4kb3V0cHV0Wyd0b2tlbiddKTsNCiAgICAgICAgICAgICAgICAvL+aPkOS6pOWFqOmHj+e0ouW8lQ0KICAgICAgICAgICAgICAgICRhbGxyZXR1cm5qc29uID0gYmFpZHVfc2F2ZXNpdGVtYXAoJ3NhdmUnLCRkYXRhIFsnc2l0ZXVybCddLCAxLCAkYmRwd2QsICRzaWduKTsNCiAgICAgICAgICAgICAgICAkYWxscmVzdWx0ID0ganNvbl9kZWNvZGUoJGFsbHJldHVybmpzb25bJ2pzb24nXSwgdHJ1ZSk7DQogICAgICAgICAgICAgICAgYmFpZHVfc2V0X3NldHRpbmcoJ2xhc3R1cHRpbWVfYWxsJywgdGltZSgpKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgLy/mj5DkuqTlop7ph4/ntKLlvJUNCiAgICAgICAgICAgICAgICAkc2lnbiA9IG1kNSgkZGF0YVsnc2l0ZXVybCddLiRvdXRwdXRbJ3Rva2VuJ10pOw0KICAgICAgICAgICAgICAgIGJhaWR1X2RlbHNpdGVtYXAoJGRhdGFbJ3NpdGV1cmwnXSwyLCRzaWduKTsNCiAgICAgICAgICAgICAgICAkYWxscmV0dXJuanNvbiA9IGJhaWR1X3NhdmVzaXRlbWFwKCdzYXZlJywkZGF0YVsnc2l0ZXVybCddLCAyLCAkb2xkX2JkcHdkLCAkc2lnbik7DQogICAgICAgICAgICAgICAgJGFsbHJlc3VsdCA9IGpzb25fZGVjb2RlKCRhbGxyZXR1cm5qc29uWydqc29uJ10sIHRydWUpOw0KICAgICAgICAgICAgICAgIGJhaWR1X3NldF9zZXR0aW5nKCdsYXN0dXB0aW1lX2luYycsIHRpbWUoKSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZigwPT0kYWxscmVzdWx0WydzdGF0dXMnXSkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBTaG93TXNnKCLmiJDlip/mj5DkuqTnmb7luqblnLDlm77ntKLlvJUiLCJiYWlkdXNpdGVtYXBfbWFpbi5waHAiLDAsNTAwMCk7DQogICAgICAgICAgICAgICAgZXhpdCgpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBTaG93TXNnKCLmj5DkuqTnmb7luqblnLDlm77ntKLlvJXlpLHotKUiLCJiYWlkdXNpdGVtYXBfbWFpbi5waHAiLDAsNTAwMCk7DQogICAgICAgICAgICAgICAgZXhpdCgpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgU2hvd01zZygi5o+Q5Lqk55m+5bqm5Zyw5Zu+57Si5byV5aSx6LSl77yM5peg5rOV5qCh6aqM5pys5Zyw5a+G6ZKl77yBIiwiYmFpZHVzaXRlbWFwX21haW4ucGhwIik7DQogICAgICAgICAgICBleGl0KCk7DQogICAgICAgIH0NCiAgICB9DQp9IGVsc2VpZigkZG9wb3N0PT0nY2hlY2t1cGRhdGUnKQ0Kew0KICAgICRnZXRfbGF0ZXN0X3ZlciA9IGJhaWR1X2h0dHBfc2VuZCgnaHR0cDovL2JhaWR1LmFwaS5kZWRlY21zLmNvbS9pbmRleC5waHA/Yz13ZWxjb21lJm09Z2V0X2xhdGVzdF92ZXInKTsNCiAgICBpZih2ZXJzaW9uX2NvbXBhcmUoJGdldF9sYXRlc3RfdmVyLCBQTFVTX0JBSURVU0lURU1BUF9WRVIsJz4nKSkNCiAgICB7DQogICAgICAgIFNob3dNc2coIuajgOafpeWIsOacieaWsOeJiOacrO+8jOivt+WJjeWOu+S4i+i9ve+8gTxiciAvPjxhIGhyZWY9J2h0dHA6Ly9iYnMuZGVkZWNtcy5jb20vNjQ2MjcxLmh0bWwnIHRhcmdldD0nX2JsYW5rJyBzdHlsZT0nY29sb3I6Ymx1ZSc+54K55Ye75YmN5Y675LiL6L29PC9hPiA8YSBocmVmPSdiYWlkdXNpdGVtYXBfbWFpbi5waHAnID7ov5Tlm548L2E+IiwiamF2YXNjcmlwdDo7Iik7DQogICAgICAgIGV4aXQoKTsNCiAgICB9IGVsc2Ugew0KICAgICAgICBTaG93TXNnKCLlvZPliY3kuLrmnIDmlrDniYjmnKzvvIzml6DpobvkuIvovb3mm7TmlrDvvIEiLCJqYXZhc2NyaXB0OjsiKTsNCiAgICAgICAgZXhpdCgpOw0KICAgIH0NCn0gZWxzZWlmKCRkb3Bvc3Q9PSd2aWV3c3ViJykNCnsNCiAgICAkcXVlcnk9IlNFTEVDVCAqIEZST00gYCNAX19wbHVzX2JhaWR1c2l0ZW1hcF9saXN0YCBPUkRFUiBCWSBzaWQgREVTQyI7DQogICAgJGRzcWwtPlNldFF1ZXJ5KCRxdWVyeSk7DQogICAgJGRzcWwtPkV4ZWN1dGUoJ2RkJyk7DQogICAgJGxpc3RzdHI9IiI7DQogICAgd2hpbGUoJGFycj0kZHNxbC0+R2V0QXJyYXkoJ2RkJykpDQogICAgew0KICAgICAgICAkdHlwZXN0cj0kYXJyWyd0eXBlJ109PTE/J1vlhajph49dJzonW+WinumHj10nOw0KICAgICAgICAkbGlzdHN0ci49IiZuYnNwOyZuYnNwOyZuYnNwO3skdHlwZXN0cn0geyRhcnJbJ3VybCddfTxici8+XHJcbiI7DQogICAgfQ0KICAgIC8v6L+U5Zue5oiQ5Yqf5L+h5oGvDQogICAgJG1zZyA9ICINCiAgICB7JGxpc3RzdHJ9IjsNCiAgICAkbXNnID0gIjxkaXYgc3R5bGU9XCJsaW5lLWhlaWdodDoyMHB4O1wiPiAgICB7JG1zZ308L2Rpdj4iOw0KDQogICAgJHdpbnRpdGxlID0gJ+aCqOW3sue7j+aPkOS6pOeahOe0ouW8leWIl+ihqO+8mic7DQogICAgJHdlY29tZV9pbmZvID0gJzxhIGhyZWY9XCdiYWlkdXNpdGVtYXBfbWFpbi5waHBcJz7ntKLlvJXmk43kvZw8L2E+IOOAi+eZvuW6pue7k+aehOWMluaVsOaNruWcsOWbvjo657Si5byV5pON5L2cJzsNCiAgICAkd2luID0gbmV3IE94V2luZG93KCk7DQogICAgJHdpbi0+QWRkVGl0bGUoJHdpbnRpdGxlKTsNCiAgICAkd2luLT5BZGRNc2dJdGVtKCRtc2cpOw0KICAgICR3aW5mb3JtID0gJHdpbi0+R2V0V2luZG93KCdoYW5kJywgJyZuYnNwOycsIGZhbHNlKTsNCiAgICAkd2luLT5EaXNwbGF5KCk7DQp9IGVsc2Ugew0KICAgIC8v6L+U5Zue5oiQ5Yqf5L+h5oGvDQogICAgJHNpdGV1cmwgPSBiYWlkdV9nZXRfc2V0dGluZygnc2l0ZXVybCcpOw0KICAgICRzZXR1cG1heGFpZCA9IGJhaWR1X2dldF9zZXR0aW5nKCdzZXR1cG1heGFpZCcpOw0KICAgICRsYXN0dXB0aW1lX2FsbCA9IGRhdGUoJ1ktbS1kJyxiYWlkdV9nZXRfc2V0dGluZygnbGFzdHVwdGltZV9hbGwnKSk7DQogICAgJGxhc3R1cHRpbWVfaW5jID0gZGF0ZSgnWS1tLWQnLGJhaWR1X2dldF9zZXR0aW5nKCdsYXN0dXB0aW1lX2luYycpKTsNCiAgICAkYmRhcmNzID0gbmV3IEJhaWR1QXJ0aWNsZVhtbDsNCiAgICAkYmRhcmNzLT5zZXRTaXRlbWFwVHlwZSgxKTsNCiAgICAkbWF4YWlkID0gJGJkYXJjcy0+Z2V0TWF4QWlkKCk7DQogICAgJG1zZyA9ICIgICAg44CA6K+36YCJ5oup5oKo6ZyA6KaB55qE5pON5L2c77yaDQogICAgPGEgaHJlZj0namF2YXNjcmlwdDppc0dvVXJsKFwiYmFpZHVzaXRlbWFwX21haW4ucGhwP2RvcG9zdD1hdXRoXCIsXCLmmK/lkKbnoa7lrprmj5DkuqTlop7ph4/ntKLlvJXvvJ9cIik7Jz48dT7mj5DkuqTlop7ph4/ntKLlvJU8L3U+PC9hPg0KICAgICZuYnNwOyZuYnNwOw0KICAgIDxhIGhyZWY9J2phdmFzY3JpcHQ6aXNHb1VybChcImJhaWR1c2l0ZW1hcF9tYWluLnBocD9kb3Bvc3Q9YXV0aCZhY3Rpb249cmVzdWJtaXRcIixcIuaYr+WQpuehruWumumHjeaWsOaPkOS6pOWFqOmHj+e0ouW8le+8n1wiKTsnID48dT7ph43mlrDmj5DkuqTlhajph4/ntKLlvJU8L3U+PC9hPg0KICAgICZuYnNwOyZuYnNwOw0KICAgIDxhIGhyZWY9J2JhaWR1c2l0ZW1hcF9tYWluLnBocD9kb3Bvc3Q9dmlld3N1Yic+PHU+5p+l55yL5o+Q5Lqk57Si5byVPC91PjwvYT4NCiAgICAmbmJzcDsmbmJzcDsNCiAgICA8YSBocmVmPSdiYWlkdXNpdGVtYXBfbWFpbi5waHA/ZG9wb3N0PWNoZWNrdXBkYXRlJz48dT7mo4Dmn6Xmj5Lku7bmm7TmlrA8L3U+PC9hPg0KICAgICZuYnNwOyZuYnNwOw0KPGJyIC8+DQo8ZGl2IHN0eWxlPVwicGFkZGluZzoyMHB4OyBjb2xvcjojNjY2XCI+DQrmj5Lku7bkv6Hmga/vvJo8YnIgLz4NCuermeeCueWcsOWdgO+8mjxzcGFuIHN0eWxlPSdjb2xvcjpibGFjayc+PGI+eyRzaXRldXJsfTwvYj48L3NwYW4+PGJyIC8+DQrmnIDlkI7mj5DkuqTmlofmoaNJRO+8mjxzcGFuIHN0eWxlPSdjb2xvcjpibGFjayc+PGI+eyRzZXR1cG1heGFpZH08L2I+PC9zcGFuPu+8jOW9k+WJjeaWh+aho+acgOaWsElE77yaPHNwYW4gc3R5bGU9J2NvbG9yOmJsYWNrJz48Yj57JG1heGFpZH08L2I+PC9zcGFuPjxiciAvPg0K5aKe6YeP57Si5byV5pyA5ZCO5o+Q5Lqk77yaPHNwYW4gc3R5bGU9J2NvbG9yOmJsYWNrJz48Yj57JGxhc3R1cHRpbWVfYWxsfTwvYj48L3NwYW4+PGJyIC8+DQrlhajph4/ntKLlvJXmnIDlkI7mj5DkuqTvvJo8c3BhbiBzdHlsZT0nY29sb3I6YmxhY2snPjxiPnskbGFzdHVwdGltZV9pbmN9PC9iPjwvc3Bhbj48YnIgLz4NCjxoci8+DQrlip/og73or7TmmI7vvJo8YnIgLz4NCuOAkOaPkOS6pOWinumHj+e0ouW8leOAkQ0K55So5LqO5o+Q5Lqk5pu05paw6aKR546H6L6D6aKR57mB55qE57Si5byV77yM5LiA6Iis5piv5YWo6YeP57Si5byV5o+Q5Lqk5a6M5oiQ5ZCO77yM5q+P5qyh5pu05paw5bCR6YeP5YaF5a655ZCO6L+b6KGM5aKe6YeP57Si5byV5o+Q5Lqk77ybPGJyIC8+DQrjgJDph43mlrDmj5DkuqTlhajph4/ntKLlvJXjgJENCumHjeaWsOWvueWFqOermeeahOeZvuW6puWcsOWbvue0ouW8lei/m+ihjOaPkOS6pO+8mzxiciAvPg0KPHNwYW4gc3R5bGU9XCJjb2xvcjpyZWRcIj7ms6jvvJrngrnlh7vmj5DkuqTlkI7lj6/og73nrYnlvoXml7bpl7TovoPplb/vvIzor7fogJDlv4PnrYnlvoXjgII8L3NwYW4+PGJyIC8+DQo8L2Rpdj4NCiAgIjsNCiAgICAkbXNnID0gIjxkaXYgc3R5bGU9XCJsaW5lLWhlaWdodDozNnB4O2hlaWdodDoyODBweFwiPnskbXNnfTwvZGl2PjxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiPg0KZnVuY3Rpb24gaXNHb1VybCh1cmwsbXNnKQ0Kew0KCWlmKGNvbmZpcm0obXNnKSkNCgl7DQoJCXdpbmRvdy5sb2NhdGlvbi5ocmVmPXVybDsNCgl9IGVsc2Ugew0KCQlyZXR1cm4gZmFsc2U7DQoJfQ0KfQ0KPC9zY3JpcHQ+IjsNCg0KICAgICR3aW50aXRsZSA9ICfmj5DkuqTnmb7luqbnu5PmnoTljJbmlbDmja7lnLDlm77ntKLlvJXvvIEnOw0KICAgICR3ZWNvbWVfaW5mbyA9ICfnmb7luqbnu5PmnoTljJbmlbDmja7lnLDlm746Oue0ouW8leaTjeS9nCc7DQogICAgJHdpbiA9IG5ldyBPeFdpbmRvdygpOw0KICAgICR3aW4tPkFkZFRpdGxlKCR3aW50aXRsZSk7DQogICAgJHdpbi0+QWRkTXNnSXRlbSgkbXNnKTsNCiAgICAkd2luZm9ybSA9ICR3aW4tPkdldFdpbmRvdygnaGFuZCcsICcmbmJzcDsnLCBmYWxzZSk7DQogICAgJHdpbi0+RGlzcGxheSgpOw0KfQ0KDQo=
-
-
-PD9waHANCmlmKCFkZWZpbmVkKCdERURFSU5DJykpIGV4aXQoJ1JlcXVlc3QgRXJyb3IhJyk7DQpkZWZpbmUoJ1BMVVNfQkFJRFVTSVRFTUFQX1ZFUicsJzAuMC4yJyk7DQpmdW5jdGlvbiBiYWlkdV9odHRwX3NlbmQoJHVybCwgJGxpbWl0PTAsICRwb3N0PScnLCAkY29va2llPScnLCAkdGltZW91dD0xNSkNCnsNCiAgICAkcmV0dXJuID0gJyc7DQogICAgJG1hdGNoZXMgPSBwYXJzZV91cmwoJHVybCk7DQogICAgJHNjaGVtZSA9ICRtYXRjaGVzWydzY2hlbWUnXTsNCiAgICAkaG9zdCA9ICRtYXRjaGVzWydob3N0J107DQogICAgJHBhdGggPSAkbWF0Y2hlc1sncGF0aCddID8gJG1hdGNoZXNbJ3BhdGgnXS4oQCRtYXRjaGVzWydxdWVyeSddID8gJz8nLiRtYXRjaGVzWydxdWVyeSddIDogJycpIDogJy8nOw0KICAgICRwb3J0ID0gIWVtcHR5KCRtYXRjaGVzWydwb3J0J10pID8gJG1hdGNoZXNbJ3BvcnQnXSA6IDgwOw0KDQogICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnY3VybF9pbml0JykgJiYgZnVuY3Rpb25fZXhpc3RzKCdjdXJsX2V4ZWMnKSkgew0KICAgICAgICAkY2ggPSBjdXJsX2luaXQoKTsNCiAgICAgICAgY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1VSTCwgJHNjaGVtZS4nOi8vJy4kaG9zdC4nOicuJHBvcnQuJHBhdGgpOw0KICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOw0KICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIDEpOw0KICAgICAgICBpZiAoJHBvc3QpIHsNCiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NULCAxKTsNCiAgICAgICAgICAgICRjb250ZW50ID0gaXNfYXJyYXkoJHBvcnQpID8gaHR0cF9idWlsZF9xdWVyeSgkcG9zdCkgOiAkcG9zdDsNCiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9QT1NURklFTERTLCAkY29udGVudCk7DQogICAgICAgIH0NCiAgICAgICAgaWYgKCRjb29raWUpIHsNCiAgICAgICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9DT09LSUUsICRjb29raWUpOw0KICAgICAgICB9DQogICAgICAgIGN1cmxfc2V0b3B0KCRjaCwgQ1VSTE9QVF9DT05ORUNUVElNRU9VVCwgJHRpbWVvdXQpOw0KICAgICAgICBjdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVElNRU9VVCwgJHRpbWVvdXQpOw0KICAgICAgICAkZGF0YSA9IGN1cmxfZXhlYygkY2gpOw0KICAgICAgICAkc3RhdHVzID0gY3VybF9nZXRpbmZvKCRjaCk7DQogICAgICAgICRlcnJubyA9IGN1cmxfZXJybm8oJGNoKTsNCiAgICAgICAgY3VybF9jbG9zZSgkY2gpOw0KICAgICAgICBpZiAoJGVycm5vIHx8ICRzdGF0dXNbJ2h0dHBfY29kZSddICE9IDIwMCkgew0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgcmV0dXJuICEkbGltaXQgPyAkZGF0YSA6IHN1YnN0cigkZGF0YSwgMCwgJGxpbWl0KTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIGlmICgkcG9zdCkgew0KICAgICAgICAkY29udGVudCA9IGlzX2FycmF5KCRwb3J0KSA/IGh0dHBfYnVpbGRfcXVlcnkoJHBvc3QpIDogJHBvc3Q7DQogICAgICAgICRvdXQgPSAiUE9TVCAkcGF0aCBIVFRQLzEuMFxyXG4iOw0KICAgICAgICAkaGVhZGVyID0gIkFjY2VwdDogKi8qXHJcbiI7DQogICAgICAgICRoZWFkZXIgLj0gIkFjY2VwdC1MYW5ndWFnZTogemgtY25cclxuIjsNCiAgICAgICAgJGhlYWRlciAuPSAiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcclxuIjsNCiAgICAgICAgJGhlYWRlciAuPSAiVXNlci1BZ2VudDogIi5AJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddLiJcclxuIjsNCiAgICAgICAgJGhlYWRlciAuPSAiSG9zdDogJGhvc3Q6JHBvcnRcclxuIjsNCiAgICAgICAgJGhlYWRlciAuPSAnQ29udGVudC1MZW5ndGg6ICcuc3RybGVuKCRjb250ZW50KS4iXHJcbiI7DQogICAgICAgICRoZWFkZXIgLj0gIkNvbm5lY3Rpb246IENsb3NlXHJcbiI7DQogICAgICAgICRoZWFkZXIgLj0gIkNhY2hlLUNvbnRyb2w6IG5vLWNhY2hlXHJcbiI7DQogICAgICAgICRoZWFkZXIgLj0gIkNvb2tpZTogJGNvb2tpZVxyXG5cclxuIjsNCiAgICAgICAgJG91dCAuPSAkaGVhZGVyLiRjb250ZW50Ow0KICAgIH0gZWxzZSB7DQogICAgICAgICRvdXQgPSAiR0VUICRwYXRoIEhUVFAvMS4wXHJcbiI7DQogICAgICAgICRoZWFkZXIgPSAiQWNjZXB0OiAqLypcclxuIjsNCiAgICAgICAgJGhlYWRlciAuPSAiQWNjZXB0LUxhbmd1YWdlOiB6aC1jblxyXG4iOw0KICAgICAgICAkaGVhZGVyIC49ICJVc2VyLUFnZW50OiAiLkAkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10uIlxyXG4iOw0KICAgICAgICAkaGVhZGVyIC49ICJIb3N0OiAkaG9zdDokcG9ydFxyXG4iOw0KICAgICAgICAkaGVhZGVyIC49ICJDb25uZWN0aW9uOiBDbG9zZVxyXG4iOw0KICAgICAgICAkaGVhZGVyIC49ICJDb29raWU6ICRjb29raWVcclxuXHJcbiI7DQogICAgICAgICRvdXQgLj0gJGhlYWRlcjsNCiAgICB9DQoNCiAgICAkZnBmbGFnID0gMDsNCiAgICAkZnAgPSBmYWxzZTsNCiAgICBpZiAoZnVuY3Rpb25fZXhpc3RzKCdmc29ja2V0b3BlbicpKSB7DQogICAgICAgICRmcCA9IGZzb2NrZXRvcGVuKCRob3N0LCAkcG9ydCwgJGVycm5vLCAkZXJyc3RyLCAkdGltZW91dCk7DQogICAgfQ0KICAgIGlmICghJGZwKSB7DQogICAgICAgICRjb250ZXh0ID0gc3RyZWFtX2NvbnRleHRfY3JlYXRlKGFycmF5KA0KICAgICAgICAgICAgJ2h0dHAnID0+IGFycmF5KA0KICAgICAgICAgICAgICAgICdtZXRob2QnID0+ICRwb3N0ID8gJ1BPU1QnIDogJ0dFVCcsDQogICAgICAgICAgICAgICAgJ2hlYWRlcicgPT4gJGhlYWRlciwNCiAgICAgICAgICAgICAgICAnY29udGVudCcgPT4gJGNvbnRlbnQsDQogICAgICAgICAgICAgICAgJ3RpbWVvdXQnID0+ICR0aW1lb3V0LA0KICAgICAgICAgICAgKSwNCiAgICAgICAgKSk7DQogICAgICAgICRmcCA9IEBmb3Blbigkc2NoZW1lLic6Ly8nLiRob3N0Lic6Jy4kcG9ydC4kcGF0aCwgJ2InLCBmYWxzZSwgJGNvbnRleHQpOw0KICAgICAgICAkZnBmbGFnID0gMTsNCiAgICB9DQoNCiAgICBpZiAoISRmcCkgew0KICAgICAgICByZXR1cm4gJyc7DQogICAgfSBlbHNlIHsNCiAgICAgICAgc3RyZWFtX3NldF9ibG9ja2luZygkZnAsIHRydWUpOw0KICAgICAgICBzdHJlYW1fc2V0X3RpbWVvdXQoJGZwLCAkdGltZW91dCk7DQogICAgICAgIEBmd3JpdGUoJGZwLCAkb3V0KTsNCiAgICAgICAgJHN0YXR1cyA9IHN0cmVhbV9nZXRfbWV0YV9kYXRhKCRmcCk7DQogICAgICAgIGlmICghJHN0YXR1c1sndGltZWRfb3V0J10pIHsNCiAgICAgICAgICAgIHdoaWxlICghZmVvZigkZnApICYmICEkZnBmbGFnKSB7DQogICAgICAgICAgICAgICAgaWYgKCgkaGVhZGVyID0gQGZnZXRzKCRmcCkpICYmICgkaGVhZGVyID09ICJcclxuIiB8fCAgJGhlYWRlciA9PSAiXG4iKSkgew0KICAgICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoJGxpbWl0KSB7DQogICAgICAgICAgICAgICAgJHJldHVybiA9IHN0cmVhbV9nZXRfY29udGVudHMoJGZwLCAkbGltaXQpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAkcmV0dXJuID0gc3RyZWFtX2dldF9jb250ZW50cygkZnApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIEBmY2xvc2UoJGZwKTsNCiAgICAgICAgcmV0dXJuICRyZXR1cm47DQogICAgfQ0KfQ0KDQpmdW5jdGlvbiBjaGVja19pbnN0YWxsZWQoKQ0Kew0KICAgIGdsb2JhbCAkZHNxbCwkY2ZnX2RiX2xhbmd1YWdlOw0KICAgICRpc19pbnN0YWxsZWQgPSAkZHNxbC0+SXNUYWJsZSgiI0BfX3BsdXNfYmFpZHVzaXRlbWFwX3NldHRpbmciKTsNCiAgICANCiAgICBpZighJGlzX2luc3RhbGxlZCkNCiAgICB7DQogICAgICAgICRpbnN0YWxsX3NxbD08PDxFT1QNCkNSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTIGAjQF9fcGx1c19iYWlkdXNpdGVtYXBfbGlzdGAgKA0KICBgc2lkYCBpbnQoMTEpIE5PVCBOVUxMIEFVVE9fSU5DUkVNRU5ULA0KICBgdXJsYCB2YXJjaGFyKDI1NSkgTk9UIE5VTEwgREVGQVVMVCAnJywNCiAgYHR5cGVgIHRpbnlpbnQoNCkgTk9UIE5VTEwsDQogIGBjcmVhdGVfdGltZWAgaW50KDEwKSBOT1QgTlVMTCBERUZBVUxUICcwJywNCiAgYHBhZ2VzaXplYCBpbnQoMTEpIERFRkFVTFQgJzAnLA0KICBQUklNQVJZIEtFWSAoYHNpZGApLA0KICBLRVkgYHBhZ2VzaXplYCAoYHBhZ2VzaXplYCkNCikgVFlQRT1NeUlTQU07DQpDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBgI0BfX3BsdXNfYmFpZHVzaXRlbWFwX3NldHRpbmdgICgNCiAgYHNrZXlgIHZhcmNoYXIoMjU1KSBOT1QgTlVMTCBERUZBVUxUICcnLA0KICBgc3ZhbHVlYCB0ZXh0IE5PVCBOVUxMLA0KICBgc3RpbWVgIGludCgxMCkgTk9UIE5VTEwsDQogIFBSSU1BUlkgS0VZIChgc2tleWApDQopIFRZUEU9TXlJU0FNOw0KSU5TRVJUIElOVE8gYCNAX19wbHVzX2JhaWR1c2l0ZW1hcF9zZXR0aW5nYCAoYHNrZXlgLCBgc3ZhbHVlYCwgYHN0aW1lYCkgVkFMVUVTDQoJKCdzaXRldXJsJywgJycsIDApLA0KCSgnY2hlY2tzaWduJywgJycsIDApLA0KCSgncGluZ3Rva2VuJywgJycsIDApLA0KCSgnYmRwd2QnLCAnJywgMCksDQoJKCdzZXR1cG1heGFpZCcsICcnLCAwKSwNCgkoJ2xhc3R1cHRpbWVfYWxsJywgJycsIDApLA0KCSgnbGFzdHVwdGltZV9pbmMnLCAnJywgMCk7DQpFT1Q7DQogICAgICAgICRzcWxxdWVyeSA9IHN0cl9yZXBsYWNlKCJcciIsIiIsJGluc3RhbGxfc3FsKTsNCiAgICAgICAgJHNxbHMgPSBwcmVnX3NwbGl0KCIjO1sgXHRdezAsfVxuIyIsJHNxbHF1ZXJ5KTsNCiAgICAgICAgJG5lcnJDb2RlID0gIiI7ICRpPTA7DQogICAgICAgIGZvcmVhY2goJHNxbHMgYXMgJHEpDQogICAgICAgIHsNCiAgICAgICAgICAgICRxID0gdHJpbSgkcSk7DQogICAgICAgICAgICBpZigkcT09IiIpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgY29udGludWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoJGRzcWwtPkdldFZlcnNpb24oKSA+PSA0LjEpIHsNCiAgICAgICAgICAgICAgICBpZihwcmVnX21hdGNoKCcjQ1JFQVRFI2knLCAkcSkpDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAkcSA9IHByZWdfcmVwbGFjZSgiI1RZUEU9TXlJU0FNI2kiLCJFTkdJTkU9TXlJU0FNIERFRkFVTFQgQ0hBUlNFVD0iLiRjZmdfZGJfbGFuZ3VhZ2UsJHEpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgICRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRxKTsNCiAgICAgICAgICAgICRlcnJDb2RlID0gdHJpbSgkZHNxbC0+R2V0RXJyb3IoKSk7DQogICAgICAgICAgICBpZigkZXJyQ29kZT09IiIpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJGkrKzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkbmVyckNvZGUgLj0gIuaJp+ihjO+8miA8Zm9udCBjb2xvcj0nYmx1ZSc+JHE8L2ZvbnQ+IOWHuumUme+8jOmUmeivr+aPkOekuu+8mjxmb250IGNvbG9yPSdyZWQnPiIuJGVyckNvZGUuIjwvZm9udD48YnI+IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBTaG93TXNnKCLmiJDlip/lronoo4XmlbDmja7lupPvvIHpppbmrKHlronoo4Xov5vooYzlhajph4/ntKLlvJXmj5DkuqTvvIzmraTov4fnqIvlj6/og73mr5TovoPplb/vvIzor7fogJDlv4PnrYnlvoXigKbigKYiLiRuZXJyQ29kZSwiYmFpZHVzaXRlbWFwX21haW4ucGhwP2RvcG9zdD1hdXRoJmFjdGlvbj1yZXN1Ym1pdCIsMCw1MDAwKTsNCiAgICAgICAgZXhpdCgpOw0KICAgIH0gZWxzZSB7DQogICAgICAgIHJldHVybiBUcnVlOw0KICAgIH0NCn0NCg0KZnVuY3Rpb24gYmFpZHVfZ2V0X3NldHRpbmcoJHNrZXksICR0aW1lPWZhbHNlLCAkcmVhbD1mYWxzZSkNCnsNCiAgICBnbG9iYWwgJGRzcWw7DQogICAgc3RhdGljICRzZXR0aW5nID0gYXJyYXkoKTsNCiAgICAkc2tleT1hZGRzbGFzaGVzKCRza2V5KTsNCiAgICBpZiAoZW1wdHkoJHNldHRpbmdbJHNrZXldKSB8fCAkcmVhbCkgew0KICAgICAgICAkcm93ID0gJGRzcWwtPkdldE9uZSgiU0VMRUNUICogRlJPTSBgI0BfX3BsdXNfYmFpZHVzaXRlbWFwX3NldHRpbmdgIFdIRVJFIHNrZXk9J3skc2tleX0nIik7DQogICAgICAgICRzZXR0aW5nWyRza2V5XVsnc3ZhbHVlJ109JHJvd1snc3ZhbHVlJ107DQogICAgICAgICRzZXR0aW5nWyRza2V5XVsnc3RpbWUnXT0kcm93WydzdGltZSddOw0KICAgIH0NCiAgICBpZiAoIWlzc2V0KCRzZXR0aW5nWyRza2V5XSkpIHJldHVybiAkdGltZSA/IGFycmF5KCkgOiBudWxsOw0KICAgIHJldHVybiAkdGltZSA/ICRzZXR0aW5nWyRza2V5XSA6ICRzZXR0aW5nWyRza2V5XVsnc3ZhbHVlJ107DQp9DQoNCmZ1bmN0aW9uIGJhaWR1X3NldF9zZXR0aW5nKCRza2V5LCAkc3ZhbHVlKQ0Kew0KICAgIGdsb2JhbCAkZHNxbDsNCiAgICAkc3RpbWU9dGltZSgpOw0KICAgICRza2V5PWFkZHNsYXNoZXMoJHNrZXkpOw0KICAgICRzdmFsdWU9YWRkc2xhc2hlcygkc3ZhbHVlKTsNCiAgICAkc3FsPSJVUERBVEUgYCNAX19wbHVzX2JhaWR1c2l0ZW1hcF9zZXR0aW5nYCBTRVQgc3ZhbHVlPSd7JHN2YWx1ZX0nLHN0aW1lPSd7JHN0aW1lfScgV0hFUkUgc2tleT0neyRza2V5fScgIjsNCiAgICAkZHNxbC0+RXhlY3V0ZU5vbmVRdWVyeSgkc3FsKTsNCn0NCmZ1bmN0aW9uIGJhaWR1X3N0cmlwX2ludmFsaWRfeG1sKCR2YWx1ZSkNCnsNCiAgICAkcmV0ID0gJyc7DQogICAgaWYgKGVtcHR5KCR2YWx1ZSkpIHsNCiAgICAgICAgcmV0dXJuICRyZXQ7DQogICAgfQ0KDQogICAgJGxlbmd0aCA9IHN0cmxlbigkdmFsdWUpOw0KICAgIGZvciAoJGk9MDsgJGkgPCAkbGVuZ3RoOyAkaSsrKSB7DQogICAgICAgICRjdXJyZW50ID0gb3JkKCR2YWx1ZVskaV0pOw0KICAgICAgICBpZiAoJGN1cnJlbnQgPT0gMHg5IHx8ICRjdXJyZW50ID09IDB4QSB8fCAkY3VycmVudCA9PSAweEQgfHwNCiAgICAgICAgKCRjdXJyZW50ID49IDB4MjAgJiYgJGN1cnJlbnQgPD0gMHhEN0ZGKSB8fA0KICAgICAgICAoJGN1cnJlbnQgPj0gMHhFMDAwICYmICRjdXJyZW50IDw9IDB4RkZGRCkgfHwNCiAgICAgICAgKCRjdXJyZW50ID49IDB4MTAwMDAgJiYgJGN1cnJlbnQgPD0gMHgxMEZGRkYpKSB7DQogICAgICAgICAgICAkcmV0IC49IGNocigkY3VycmVudCk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAkcmV0IC49ICcgJzsNCiAgICAgICAgfQ0KICAgIH0NCiAgICByZXR1cm4gJHJldDsNCn0NCg0KZnVuY3Rpb24gYmFpZHVfc2F2ZXNpdGVtYXAoJGFjdGlvbiwgJHNpdGUsICR0eXBlLCAkYmRwd2QsICRzaWduKQ0Kew0KICAgIGdsb2JhbCAkZHNxbCwkY2ZnX3BsdXNfZGlyLCRjZmdfYmFzZWhvc3Q7DQogICAgLy8kc2l0ZXVybCA9ICRjZmdfYmFzZWhvc3Q7DQogICAgJHNpdGV1cmwgPSAkc2l0ZTsNCiAgICAkenphY3Rpb24gPSAnJzsNCiAgICAkYmRwd2Q9YWRkc2xhc2hlcygkYmRwd2QpOw0KICAgIGlmICgwID09IHN0cm5jYXNlY21wKCdzYXZlJywgJGFjdGlvbiwgMykpIHsNCiAgICAgICAgJHp6YWN0aW9uID0gJ3NhdmVzaXRlbWFwJzsNCiAgICB9IGVsc2Ugew0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KICAgICRzY3JpcHQgPSAnJzsNCiAgICAkc3R5cGUgPSAnJzsNCiAgICAkcGFnZXNpemU9MDsNCiAgICBpZiAoMSA9PSAkdHlwZSkgew0KICAgICAgICAkc2NyaXB0ID0gJ2luZGV4YWxsJzsNCiAgICAgICAgJHN0eXBlID0gJ2FsbCc7DQogICAgfSBlbHNlIGlmICgyID09ICR0eXBlKSB7DQogICAgICAgICRzY3JpcHQgPSAnaW5kZXhpbmMnOw0KICAgICAgICAkc3R5cGUgPSAnaW5jJzsNCiAgICB9IGVsc2Ugew0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KICAgICRyZXNvdXJjZV9uYW1lPSdSREZfT3RoZXJfV2VicGFnZSc7DQogICAgJGJkYXJjcyA9IG5ldyBCYWlkdUFydGljbGVYbWw7DQogICAgJGJkYXJjcy0+c2V0U2l0ZW1hcFR5cGUoJHR5cGUpOw0KICAgICRhcmN0b3RhbCA9ICRiZGFyY3MtPmdldFRvdGFsKCk7DQogICAgaWYoJGFyY3RvdGFsPT0wKSByZXR1cm4gZmFsc2U7DQogICAgJHBhZ2VzaXplPWNlaWwoJGFyY3RvdGFsLyRiZGFyY3MtPlJvdyk7DQogICAgaWYoJHBhZ2VzaXplPjApDQogICAgew0KICAgICAgICBmb3IoJGk9MDskaTwkcGFnZXNpemU7JGkrKykNCiAgICAgICAgew0KICAgICAgICAgICAgJGNmZ19wbHVzX2RpciA9IHN0cl9yZXBsYWNlKCIvIiwgJycsICRjZmdfcGx1c19kaXIgKTsNCiAgICAgICAgICAgICRpbmRleHVybCA9ICRzaXRldXJsLiJ7JGNmZ19wbHVzX2Rpcn0vYmFpZHVzaXRlbWFwLnBocD9kb3Bvc3Q9c2l0ZW1hcF9pbmRleCZ0eXBlPXskc2NyaXB0fSZwd2Q9eyRiZHB3ZH0mcGFnZXNpemU9eyRpfSI7DQogICAgICAgICAgICAkdGltZT10aW1lKCk7DQogICAgICAgICAgICAkaW5RdWVyeSA9ICJJTlNFUlQgSU5UTyBgI0BfX3BsdXNfYmFpZHVzaXRlbWFwX2xpc3RgIChgdXJsYCwgYHR5cGVgLCBgY3JlYXRlX3RpbWVgLCBgcGFnZXNpemVgKSBWQUxVRVMgKCd7JGluZGV4dXJsfScsIHskdHlwZX0sIHskdGltZX0sIHskaX0pOyI7DQogICAgICAgICAgICANCiAgICAgICAgICAgICRycyA9ICRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCRpblF1ZXJ5KTsNCiAgICAgICAgICAgICRzdWJtaXR1cmw9Imh0dHA6Ly96ei5iYWlkdS5jb20vYXBpL29wZW5zaXRlbWFwL3skenphY3Rpb259P3NpdGV1cmw9Ii51cmxlbmNvZGUoJHNpdGV1cmwpLiImaW5kZXh1cmw9Ii51cmxlbmNvZGUoJGluZGV4dXJsKS4iJnRva2Vuc2lnbj0iLnVybGVuY29kZSgkc2lnbikuIiZ0eXBlPSIuJHN0eXBlLiImcmVzb3VyY2VfbmFtZT0iLiRyZXNvdXJjZV9uYW1lOw0KICAgICAgICAgICAgJHJldCA9IGJhaWR1X2h0dHBfc2VuZCgkc3VibWl0dXJsKTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICAkYmRhcmNzLT5zZXRTZXR1cE1heEFpZCgpOw0KICAgIHJldHVybiBhcnJheSgNCiAgICAgICAgJ2pzb24nID0+ICRyZXQsDQogICAgICAgICd1cmwnICA9PiAkc3VibWl0dXJsLA0KICAgICk7DQp9DQoNCmZ1bmN0aW9uIGJhaWR1X2RlbHNpdGVtYXAoJHNpdGUsICR0eXBlPTAsICRzaWduKQ0Kew0KICAgIGdsb2JhbCAkZHNxbDsNCiAgICAkc2l0ZXVybCA9ICRzaXRlOw0KICAgICR0eXBlPWludHZhbCgkdHlwZSk7DQogICAgJGFkZFdoZXJlPSIiOw0KICAgIGlmKCR0eXBlPjApICRhZGRXaGVyZSAuPSAiV0hFUkUgdHlwZT17JHR5cGV9IjsNCiAgICAkcXVlcnkgPSAiU0VMRUNUICogRlJPTSBgI0BfX3BsdXNfYmFpZHVzaXRlbWFwX2xpc3RgIHskYWRkV2hlcmV9IjsNCiAgICAkZHNxbC0+U2V0UXVlcnkoJHF1ZXJ5KTsNCiAgICAkZHNxbC0+RXhlY3V0ZSgnZGQnKTsNCiAgICB3aGlsZSAoJHJvdz0kZHNxbC0+R2V0QXJyYXkoJ2RkJykpIHsNCiAgICAgICAgJGluZGV4dXJsPSRyb3dbJ3VybCddOw0KICAgICAgICAkc3VibWl0dXJsPSJodHRwOi8venouYmFpZHUuY29tL2FwaS9vcGVuc2l0ZW1hcC9kZWxldGVzaXRlbWFwP3NpdGV1cmw9Ii51cmxlbmNvZGUoJHNpdGV1cmwpLiImaW5kZXh1cmw9Ii51cmxlbmNvZGUoJGluZGV4dXJsKS4iJnRva2Vuc2lnbj0iLnVybGVuY29kZSgkc2lnbik7DQogICAgICAgIC8vdmFyX2R1bXAoJHN1Ym1pdHVybCk7DQogICAgICAgICRyZXQgPSBiYWlkdV9odHRwX3NlbmQoJHN1Ym1pdHVybCk7DQogICAgICAgIA0KICAgICAgICAkZGVscmVzdWx0ID0ganNvbl9kZWNvZGUoJHJldCwgdHJ1ZSk7DQogICAgICAgIGlmKCRkZWxyZXN1bHRbJ3N0YXR1cyddPT0wKQ0KICAgICAgICB7DQogICAgICAgICAgICAkZGVsUXVlcnk9IkRFTEVURSBGUk9NIGAjQF9fcGx1c19iYWlkdXNpdGVtYXBfbGlzdGAgV0hFUkUgYHNpZGA9eyRyb3dbJ3NpZCddfTsiOw0KICAgICAgICAgICAgJGRzcWwtPkV4ZWN1dGVOb25lUXVlcnkoJGRlbFF1ZXJ5KTsNCiAgICAgICAgICAgICRkc3FsLT5FeGVjdXRlTm9uZVF1ZXJ5KCJUUlVOQ0FURSBgI0BfX3BsdXNfYmFpZHVzaXRlbWFwX2xpc3RgOyIpOw0KICAgICAgICB9DQogICAgICAgIC8vdmFyX2R1bXAoJGRlbHJlc3VsdCk7DQogICAgfQ0KICAgIHJldHVybiB0cnVlOw0KfQ0KDQpmdW5jdGlvbiBiYWlkdV9nZW5fc2l0ZW1hcF9wYXNzd2QoKQ0Kew0KICAgIHJldHVybiBzdWJzdHIobWQ1KG10X3JhbmQoMTAwMDAwMDAsIDk5OTk5OTk5KS5taWNyb3RpbWUoKSksIDAsIDE4KTsNCn0NCg0KZnVuY3Rpb24gYmFpZHVfaGVhZGVyX3N0YXR1cygkc3RhdHVzKQ0Kew0KICAgLy8gJ2NnaScsICdjZ2ktZmNnaScNCiAgIGhlYWRlcignU3RhdHVzOiAnLiRzdGF0dXMsIFRSVUUpOw0KICAgaGVhZGVyKCRfU0VSVkVSWydTRVJWRVJfUFJPVE9DT0wnXS4nICcuJHN0YXR1cyk7DQp9DQo/Pg==
-
-
-PD9waHANCmlmKCFkZWZpbmVkKCdERURFSU5DJykpIGV4aXQoJ1JlcXVlc3QgRXJyb3IhJyk7DQpyZXF1aXJlX29uY2UoREVERUlOQy4nL2NoYW5uZWx1bml0LmNsYXNzLnBocCcpOw0KcmVxdWlyZV9vbmNlKERFREVJTkMuJy90eXBlbGluay5jbGFzcy5waHAnKTsNCg0KY2xhc3MgQmFpZHVBcnRpY2xlWG1sIHsNCgl2YXIgJENoYW5uZWxVbml0Ow0KCXZhciAkTWFpblRhYmxlOw0KCXZhciAkVHlwZWlkOw0KCXZhciAkQ2hhbm5lbElEPTE7DQogICAgdmFyICRTdGFydD0wOw0KCXZhciAkUm93PTEwMDA7DQoJdmFyICRUeXBlTGluazsNCiAgICB2YXIgJFNpdGVtYXBUeXBlPTI7DQoNCglmdW5jdGlvbiBfX2NvbnN0cnVjdCgpDQoJew0KICAgICAgICBoZWxwZXIoJ3N0cmluZycpOw0KCQkkdGhpcy0+Q2hhbm5lbFVuaXQgPSBuZXcgQ2hhbm5lbFVuaXQoaW50dmFsKCR0aGlzLT5DaGFubmVsSUQpKTsNCgkJaWYoJHRoaXMtPkNoYW5uZWxVbml0LT5DaGFubmVsSW5mb3NbJ2lzc3lzdGVtJ10hPS0xKQ0KCQl7DQoJCQkkdGhpcy0+TWFpblRhYmxlPScjQF9fYXJjaGl2ZXMnOw0KCQl9IGVsc2Ugew0KCQkJJHRoaXMtPk1haW5UYWJsZT0kdGhpcy0+Q2hhbm5lbFVuaXQtPkNoYW5uZWxJbmZvc1snYWRkdGFibGUnXTsNCgkJfQ0KCX0NCiAgICANCg0KCQ0KICAgIGZ1bmN0aW9uIEJhaWR1QXJ0aWNsZVhtbCgpDQogICAgew0KICAgICAgICAkdGhpcy0+X19jb25zdHJ1Y3QoKTsNCiAgICB9DQogICAgDQogICAgZnVuY3Rpb24gc2V0U2l0ZW1hcFR5cGUoJHNpdGVtYXBfdHlwZSkNCiAgICB7DQogICAgICAgICR0aGlzLT5TaXRlbWFwVHlwZT0kc2l0ZW1hcF90eXBlOw0KICAgIH0NCiAgICANCiAgICBmdW5jdGlvbiBnZXRNYXhBaWQoKQ0KICAgIHsNCiAgICAgICAgZ2xvYmFsICRkc3FsOw0KICAgICAgICAkcm93PSRkc3FsLT5HZXRPbmUoIlNFTEVDVCBNQVgoYWlkKSBBUyBkZCBGUk9NIGAjQF9fYWRkb25hcnRpY2xlYCIpOw0KICAgICAgICAkc2V0dXBtYXhhaWQgPSBlbXB0eSgkcm93WydkZCddKT8gMCA6IGludHZhbCgkcm93WydkZCddKTsNCiAgICAgICAgcmV0dXJuICRzZXR1cG1heGFpZDsNCiAgICB9DQogICAgDQogICAgZnVuY3Rpb24gc2V0U2V0dXBNYXhBaWQoKQ0KICAgIHsNCiAgICAgICAgJHNldHVwbWF4YWlkID0gJHRoaXMtPmdldE1heEFpZCgpOw0KICAgICAgICBiYWlkdV9zZXRfc2V0dGluZygnc2V0dXBtYXhhaWQnLCAkc2V0dXBtYXhhaWQpOw0KICAgIH0NCgkNCiAgICBmdW5jdGlvbiBnZXRUb3RhbCgpDQogICAgew0KICAgICAgICBnbG9iYWwgJGRzcWw7DQogICAgICAgICRhZGRvblF1ZXJ5PScnOw0KICAgICAgICBpZigkdGhpcy0+U2l0ZW1hcFR5cGU9PTIpDQogICAgICAgIHsNCiAgICAgICAgICAgICRzZXR1cG1heGFpZCA9IGJhaWR1X2dldF9zZXR0aW5nKCdzZXR1cG1heGFpZCcpOw0KICAgICAgICAgICAgJGFkZG9uUXVlcnkgLj0gIkFORCBpZD4iLmludHZhbCgkc2V0dXBtYXhhaWQpOw0KICAgICAgICB9DQogICAgICAgICRzcWw9IlNFTEVDVCBDT1VOVCgqKSBBUyBkZCBGUk9NIGB7JHRoaXMtPk1haW5UYWJsZX1gIFdIRVJFIGNoYW5uZWw9MSB7JGFkZG9uUXVlcnl9IjsNCiAgICAgICAgLy92YXJfZHVtcCgkc2V0dXBtYXhhaWQpOw0KICAgICAgICAvL3Zhcl9kdW1wKCRzcWwpOw0KICAgICAgICAkcm93PSRkc3FsLT5HZXRPbmUoJHNxbCk7DQogICAgICAgIHJldHVybiBlbXB0eSgkcm93WydkZCddKT8gMCA6IGludHZhbCgkcm93WydkZCddKTsNCiAgICB9DQogICAgDQoJZnVuY3Rpb24gZ2V0VHlwZSgkdHlwZWlkKQ0KCXsNCgkJJHRoaXMtPlR5cGVMaW5rID0gbmV3IFR5cGVMaW5rKCR0eXBlaWQpOw0KCQkkdHlwZWluZm9zID0gJHRoaXMtPlR5cGVMaW5rLT5UeXBlSW5mb3M7DQogICAgICAgIA0KCQkkdHlwZWluZm9zWyd0eXBlbGluayddID0gJHR5cGVpbmZvc1sndHlwZXVybCddID0gR2V0T25lVHlwZVVybEEoJHRoaXMtPlR5cGVMaW5rLT5UeXBlSW5mb3MpOw0KCQkkdHlwZWluZm9zWydwb3NpdGlvbiddID0gSHRtbDJUZXh0KCR0aGlzLT5UeXBlTGluay0+R2V0UG9zaXRpb25MaW5rKFRSVUUpKTsNCgkJcmV0dXJuICR0eXBlaW5mb3M7DQoJfQ0KCQ0KCWZ1bmN0aW9uIHRvWG1sKCkNCgl7DQoJCWdsb2JhbCAkZHNxbCwkY2ZnX3dlYm5hbWUsJGNmZ19iYXNlaG9zdCwkY2ZnX3NvZnRfbGFuZzsNCgkJJGFkZG9uUXVlcnk9JGxpbWl0UXVlcnk9IiI7DQoJCWlmKCFlbXB0eSgkdGhpcy0+VHlwZWlkKSkNCgkJew0KCQkJJGFkZG9uUXVlcnkgLj0gIkFORCBhcmMudHlwZWlkPSIuaW50dmFsKCR0aGlzLT5UeXBlaWQpOw0KCQkJJHR5cGVpbmZvcyA9ICR0aGlzLT5nZXRUeXBlKCR0aGlzLT5UeXBlaWQpOw0KCQl9DQogICAgICAgIGlmKCR0aGlzLT5TaXRlbWFwVHlwZT09MikNCiAgICAgICAgew0KICAgICAgICAgICAgJHNldHVwbWF4YWlkID0gYmFpZHVfZ2V0X3NldHRpbmcoJ3NldHVwbWF4YWlkJyk7DQogICAgICAgICAgICAkYWRkb25RdWVyeSAuPSAiQU5EIGFyYy5pZD4iLmludHZhbCgkc2V0dXBtYXhhaWQpOw0KICAgICAgICB9DQogICAgICAgICR0aGlzLT5TdGFydCA9IGludHZhbCgkdGhpcy0+U3RhcnQpOw0KCQkvL3Zhcl9kdW1wKCR0eXBlaW5mb3MpO2V4aXQoKTsNCgkJaWYoIWVtcHR5KCR0aGlzLT5Sb3cpKSAkbGltaXRRdWVyeSA9ICJMSU1JVCAgeyR0aGlzLT5TdGFydH0sIi5pbnR2YWwoJHRoaXMtPlJvdyk7DQoJCQ0KCQkkcXVlcnkgPSAiU0VMRUNUIGFyYy4qLGFyYy5zZW5kZGF0ZSBBUyBwdWJkYXRlLHRwLnR5cGVkaXIsdHAudHlwZW5hbWUsdHAuaXNkZWZhdWx0LHRwLmRlZmF1bHRuYW1lLHRwLm5hbWVydWxlLA0KCQkJdHAubmFtZXJ1bGUyLHRwLmlzcGFydCx0cC5tb3Jlc2l0ZSx0cC5zaXRldXJsLHRwLnNpdGVwYXRoLGF0LmJvZHkNCgkJCUZST00gYHskdGhpcy0+TWFpblRhYmxlfWAgYXJjIExFRlQgSk9JTiBgI0BfX2FyY3R5cGVgIHRwIE9OIGFyYy50eXBlaWQ9dHAuaWQNCiAgICAgICAgICAgIExFRlQgSk9JTiBgI0BfX2FkZG9uYXJ0aWNsZWAgYXQgT04gYXJjLmlkPWF0LmFpZA0KCQkJV0hFUkUgYXJjLmFyY3Jhbms9MCBBTkQgYXJjLmFyY3JhbmsgPiAtMSBBTkQgYXJjLmNoYW5uZWw9MSB7JGFkZG9uUXVlcnl9IE9SREVSIEJZIGFyYy5zZW5kZGF0ZSBERVNDIHskbGltaXRRdWVyeX0iOw0KICAgICAgICAvL3Zhcl9kdW1wKCRxdWVyeSk7DQoJCSRkc3FsLT5TZXRRdWVyeSgkcXVlcnkpOw0KCQkkZHNxbC0+RXhlY3V0ZSgnZGQnKTsNCiAgICAgICAgDQoJCSR4bWxzdHIgPSAnPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjx1cmxzZXQ+JzsNCiAgICAgICAgJHNldHVwbWF4YWlkPTA7DQoJCXdoaWxlICgkcm93PSRkc3FsLT5HZXRBcnJheSgnZGQnKSkgew0KCQkJJHJvd1snaWQnXSA9IGlzc2V0KCRyb3dbJ2FpZCddKT8gJHJvd1snYWlkJ10gOiAkcm93WydpZCddOw0KCQkJJHJvd1snZmlsZW5hbWUnXSA9ICRyb3dbJ2FyY3VybCddID0gR2V0RmlsZVVybCgkcm93WydpZCddLCRyb3dbJ3R5cGVpZCddLCRyb3dbJ3NlbmRkYXRlJ10sJHJvd1sndGl0bGUnXSwxLA0KCQkJCQkJMCwkcm93WyduYW1lcnVsZSddLCRyb3dbJ3R5cGVkaXInXSwwLCcnLCRyb3dbJ21vcmVzaXRlJ10sJHJvd1snc2l0ZXVybCddLCRyb3dbJ3NpdGVwYXRoJ10pOw0KDQoJCQkkcm93WydzaG93ZGF0ZSddID0gTXlkYXRlKCdZLW0tZCcsICRyb3dbJ3B1YmRhdGUnXSk7DQoJCQkkcm93Wydwcmlvcml0eSddID0gMDsNCiAgICAgICAgICAgICRyb3dbJ2JvZHknXT1pc3NldCgkcm93Wydib2R5J10pPyBIdG1sMlRleHQoJHJvd1snYm9keSddKSA6ICcnOw0KICAgICAgICAgICAgJHJvd1snYm9keSddID0gZW1wdHkoJHJvd1snYm9keSddKT8gJHJvd1snZGVzY3JpcHRpb24nXSA6ICRyb3dbJ2JvZHknXTsNCiAgICAgICAgICAgIC8vdmFyX2R1bXAoJHJvdyk7ZXhpdDsNCgkJCWlmIChwcmVnX21hdGNoKCIjYyMiLCAkcm93WydmbGFnJ10pKSB7DQoJCQkJJHJvd1sncHJpb3JpdHknXSA9ICcxLjAnOw0KCQkJfQ0KCQkJaWYoIWlzc2V0KCR0eXBlaW5mb3MpKSAkdHlwZWluZm9zID0gJHRoaXMtPmdldFR5cGUoJHJvd1sndHlwZWlkJ10pOw0KCQkJLy92YXJfZHVtcCgkdHlwZWluZm8pO2V4aXQoKTsNCgkJCS8vdmFyX2R1bXAoJHJvdyk7DQogICAgICAgICAgICAkcm93Wydzb3VyY2UnXSA9IHRyaW0oSHRtbDJUZXh0KCRyb3dbJ3NvdXJjZSddKSk7DQogICAgICAgICAgICAkcm93Wyd0aXRsZSddID0gYmFpZHVfc3RyaXBfaW52YWxpZF94bWwoJHJvd1sndGl0bGUnXSk7DQogICAgICAgICAgICAkcm93Wydib2R5J10gPSBiYWlkdV9zdHJpcF9pbnZhbGlkX3htbCgkcm93Wydib2R5J10pOw0KCQkJJGFkZHN0cj0kY29weXJpZ2h0c3RyPSR5ZWFyc3RyPSIiOw0KCQkJJGNvcHlyaWdodHN0ciA9ICFlbXB0eSgkcm93Wydzb3VyY2UnXSk/ICJcclxuCQkJCQk8Y29weXJpZ2h0SG9sZGVyPjxuYW1lPjwhW0NEQVRBW3skcm93Wydzb3VyY2UnXX1dXT48L25hbWU+PC9jb3B5cmlnaHRIb2xkZXI+IiA6ICcnOw0KCQkJJGFkZHN0ciAuPSBlbXB0eSgkcm93WydsaXRwaWMnXSk/ICIiIDogIlxyXG4JCQkJCTxpbWFnZT48IVtDREFUQVt7JHJvd1snbGl0cGljJ119XV0+PC9pbWFnZT4iOw0KCQkJJHllYXJzdHIgPSBNeWRhdGUoJ1knLCAkcm93WydwdWJkYXRlJ10pOw0KCQkJJHJvd3htbHN0ciA9IDw8PEVPVA0KCVxyXG4JPHVybD4NCgkJCTxsb2M+PCFbQ0RBVEFbeyRjZmdfYmFzZWhvc3R9eyRyb3dbJ2ZpbGVuYW1lJ119XV0+PC9sb2M+DQoJCQk8bGFzdG1vZD57JHJvd1snc2hvd2RhdGUnXX08L2xhc3Rtb2Q+DQoJCQk8Y2hhbmdlZnJlcT5hbHdheXM8L2NoYW5nZWZyZXE+DQoJCQk8cHJpb3JpdHk+eyRyb3dbJ3ByaW9yaXR5J119PC9wcmlvcml0eT4NCgkJCTxkYXRhPg0KCQkJCTxXZWJwYWdlPg0KCQkJCQk8bmFtZT48IVtDREFUQVt7JHJvd1sndGl0bGUnXX1dXT48L25hbWU+DQoJCQkJCTx1cmw+PCFbQ0RBVEFbeyRjZmdfYmFzZWhvc3R9eyRyb3dbJ2ZpbGVuYW1lJ119XV0+PC91cmw+DQoJCQkJCTxwcm92aWRlcj4NCgkJCQkJCTxuYW1lPjwhW0NEQVRBW3skY2ZnX3dlYm5hbWV9XV0+PC9uYW1lPg0KCQkJCQkJPHVybD48IVtDREFUQVt7JGNmZ19iYXNlaG9zdH1dXT48L3VybD4NCgkJCQkJPC9wcm92aWRlcj4NCgkJCQkJPGRlc2NyaXB0aW9uPjwhW0NEQVRBW3skcm93WydkZXNjcmlwdGlvbiddfV1dPjwvZGVzY3JpcHRpb24+DQogICAgICAgICAgICAgICAgICAgIDx0ZXh0PjwhW0NEQVRBW3skcm93Wydib2R5J119XV0+PC90ZXh0Pg0KICAgICAgICAgICAgICAgICAgICA8a2V5d29yZHM+PCFbQ0RBVEFbeyRyb3dbJ2tleXdvcmRzJ119XV0+PC9rZXl3b3Jkcz4NCgkJCQkJPGJyZWFkY3J1bWI+PCFbQ0RBVEFbeyR0eXBlaW5mb3NbJ3Bvc2l0aW9uJ119XV0+PC9icmVhZGNydW1iPg0KCQkJCQl7JGFkZHN0cn0NCiAgICAgICAgICAgICAgICAgICAgPGlzUGFydE9mPg0KCQkJCQkJPG5hbWU+PCFbQ0RBVEFbeyR0eXBlaW5mb3NbJ3R5cGVuYW1lJ119XV0+PC9uYW1lPg0KCQkJCQkJPHVybD48IVtDREFUQVt7JGNmZ19iYXNlaG9zdH17JHR5cGVpbmZvc1sndHlwZWxpbmsnXX1dXT48L3VybD4NCgkJCQkJPC9pc1BhcnRPZj4NCiAgICAgICAgICAgICAgICAgICAgeyRjb3B5cmlnaHRzdHJ9DQoJCQkJCTxjb3B5cmlnaHRZZWFyPnskeWVhcnN0cn08L2NvcHlyaWdodFllYXI+DQoJCQkJPC9XZWJwYWdlPg0KCQkJPC9kYXRhPg0KCQk8L3VybD4NCkVPVDsNCiAgICAgICAgICAgIGlmKCRjZmdfc29mdF9sYW5nPT0nZ2IyMzEyJykgJHJvd3htbHN0cj1nYjJ1dGY4KCRyb3d4bWxzdHIpOw0KICAgICAgICAgICAgLy92YXJfZHVtcCgkcm93eG1sc3RyKTtleGl0Ow0KICAgICAgICAgICAgJHhtbHN0ciAuPSAkcm93eG1sc3RyOw0KCQl9DQogICAgICAgIC8vZXhpdCgkeG1sc3RyKTsNCgkJJHhtbHN0ciAuPSAiXHJcbjwvdXJsc2V0PiI7DQoJCS8vJHhtbGRhdGFbJ2NvbnRlbnQnXSA9ICR4bWxzdHI7DQoJCXJldHVybiAkeG1sc3RyOw0KCX0NCn0NCg0KPz4=
-
-
-PD9waHANCiRjZmdfTm90UHJpbnRIZWFkPSdZJzsNCnNldF90aW1lX2xpbWl0KDApOw0KaGVhZGVyKCJDb250ZW50LVR5cGU6IHRleHQveG1sOyBjaGFyc2V0PXV0Zi04Iik7DQpyZXF1aXJlX29uY2UoZGlybmFtZShfX0ZJTEVfXykuIi8uLi9pbmNsdWRlL2NvbW1vbi5pbmMucGhwIik7DQpyZXF1aXJlX29uY2UoREVERUlOQy4iL2NoYW5uZWx1bml0LmNsYXNzLnBocCIpOw0KcmVxdWlyZV9vbmNlKERFREVJTkMuIi9iYWlkdXNpdGVtYXAuZnVuYy5waHAiKTsNCnJlcXVpcmVfb25jZShERURFSU5DLiIvYmFpZHV4bWwuY2xhc3MucGhwIik7DQoNCmlmKGVtcHR5KCRkb3Bvc3QpKSAkZG9wb3N0ID0gJyc7DQppZihlbXB0eSgkYWN0aW9uKSkgJGFjdGlvbiA9ICcnOw0KDQppZiAoJGRvcG9zdD09J2NoZWNrdXJsJykNCnsNCiAgICAkY2hlY2tzaWduID0gJF9HRVRbJ2NoZWNrc2lnbiddOw0KICAgIGlmICghJGNoZWNrc2lnbiB8fCBzdHJsZW4oJGNoZWNrc2lnbikgIT09IDMyICl7DQogICAgICAgIGV4aXQoKTsNCiAgICB9DQogICAgJGRhdGEgPSBiYWlkdV9nZXRfc2V0dGluZygnY2hlY2tzaWduJywgdHJ1ZSk7DQogICAgaWYgKCRkYXRhICYmICRkYXRhWydzdmFsdWUnXSA9PSAkY2hlY2tzaWduICYmIHRpbWUoKS0kZGF0YVsnc3RpbWUnXSA8IDMwKSB7DQogICAgICAgIGVjaG8gJGRhdGFbJ3N2YWx1ZSddOw0KICAgIH0NCn0gZWxzZWlmICgkZG9wb3N0PT0nc2l0ZW1hcF9pbmRleCcpew0KICAgIGlmIChlbXB0eSgkX0dFVFsncHdkJ10pIHx8ICRfR0VUWydwd2QnXSAhPSAoJGJkcHdkID0gYmFpZHVfZ2V0X3NldHRpbmcoJ2JkcHdkJykpKSB7DQogICAgICAgIGJhaWR1X2hlYWRlcl9zdGF0dXMoNDA0KTsNCiAgICAgICAgcmV0dXJuIDE7DQogICAgfQ0KICAgICRwYWdlc2l6ZT1lbXB0eSgkcGFnZXNpemUpPyAwIDogaW50dmFsKCRwYWdlc2l6ZSk7DQogICAgJHNpdGVtYXBfdHlwZT0wOw0KICAgIGlmKCR0eXBlPT0naW5kZXhhbGwnKSAkc2l0ZW1hcF90eXBlPTE7DQogICAgZWxzZWlmKCR0eXBlPT0naW5kZXhpbmMnKSAkc2l0ZW1hcF90eXBlPTI7DQogICAgJGJkYXJjcyA9IG5ldyBCYWlkdUFydGljbGVYbWw7DQogICAgJHN0YXJ0PSRwYWdlc2l6ZSokYmRhcmNzLT5Sb3c7DQogICAgJGJkYXJjcy0+c2V0U2l0ZW1hcFR5cGUoJHNpdGVtYXBfdHlwZSk7DQogICAgJGJkYXJjcy0+U3RhcnQ9JHN0YXJ0Ow0KICAgIGVjaG8gJGJkYXJjcy0+dG9YbWwoKTsNCn0=
-
-
-
diff --git a/src/dede/js/main.js b/src/dede/js/main.js
index 0bf4ae11..0eb307f3 100755
--- a/src/dede/js/main.js
+++ b/src/dede/js/main.js
@@ -199,7 +199,7 @@ function OpenMyWin(surl) {
}
function OpenMyWinCoOne(surl) {
- window.open(surl, "popUpMyWin2", "scrollbars=yes,resizable=yes,statebar=no,width=700,height=450,left=100,top=50");
+ window.open(surl, "popUpMyWin2", "scrollbars=yes,resizable=yes,statebar=no,width=800,height=450,left=100,top=50");
}
function PutSource(str) {
diff --git a/src/dede/templets/article_add.htm b/src/dede/templets/article_add.htm
index df78195b..f3a1d336 100755
--- a/src/dede/templets/article_add.htm
+++ b/src/dede/templets/article_add.htm
@@ -94,14 +94,14 @@
|
diff --git a/src/dede/templets/module_main.htm b/src/dede/templets/module_main.htm
index c8950412..0d2cbef1 100755
--- a/src/dede/templets/module_main.htm
+++ b/src/dede/templets/module_main.htm
@@ -29,6 +29,9 @@
模块管理
+
+ 从DedeCMSV6开始,启动了
DedeBIZ商业开发者计划,为了保障系统及技术服务安全,请认准DedeBIZ商业认证开发者。
+