# upm_quicktags v.0.5 # Implement Alex King's Quicktags for articles, forms and pages. # Mary Fredborg # http://utterplush.com/txp-plugins/upm-quicktags # .......................................................................... # A plugin for Textpattern # http://textpattern.com/ # # Adding Plugins to Your Textpattern Installation # http://textpattern.net/wiki/index.php?title=Intermediate_Weblog_Model#Adding_Plugins_to_Your_Textpattern_Installation # .......................................................................... YToxMTp7czo0OiJuYW1lIjtzOjEzOiJ1cG1fcXVpY2t0YWdzIjtzOjExOiJkZXNjcmlwdGlv biI7czo2MjoiSW1wbGVtZW50IEFsZXggS2luZydzIFF1aWNrdGFncyBmb3IgYXJ0aWNsZXMs IGZvcm1zIGFuZCBwYWdlcy4iO3M6NzoidmVyc2lvbiI7czozOiIwLjUiO3M6NDoidHlwZSI7 aToxO3M6NjoiYXV0aG9yIjtzOjEzOiJNYXJ5IEZyZWRib3JnIjtzOjEwOiJhdXRob3JfdXJp IjtzOjQ3OiJodHRwOi8vdXR0ZXJwbHVzaC5jb20vdHhwLXBsdWdpbnMvdXBtLXF1aWNrdGFn cyI7czo0OiJjb2RlIjtzOjE3NTQ6ImlmICh0eHBpbnRlcmZhY2UgPT0gJ2FkbWluJykKCXsK CQlyZWdpc3Rlcl9jYWxsYmFjaygndXBtX3F1aWNrdGFnc19hcnRpY2xlJywgJ2FydGljbGUn KTsKCQlyZWdpc3Rlcl9jYWxsYmFjaygndXBtX3F1aWNrdGFnc19mb3JtJywgJ2Zvcm0nKTsK CQlyZWdpc3Rlcl9jYWxsYmFjaygndXBtX3F1aWNrdGFnc19wYWdlJywgJ3BhZ2UnKTsKCX0K Ci8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KCglmdW5jdGlvbiB1cG1fcXVpY2t0YWdzX2FydGljbGUoJGV2ZW50KQoJ ewoJCWVjaG8gbi4nPHNjcmlwdCBpZD0id3JpdGVfdGFiIiB0eXBlPSJ0ZXh0L2phdmFzY3Jp cHQiIHNyYz0idXBtX3F1aWNrdGFncy9saWIvcXVpY2t0YWdzLmpzIj48L3NjcmlwdD4nOwoJ CWVjaG8gbi4nPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0idXBtX3F1aWNr dGFncy93cml0ZS5qcyI+PC9zY3JpcHQ+JzsKCQllY2hvIG4uJzxzY3JpcHQgdHlwZT0idGV4 dC9qYXZhc2NyaXB0IiBzcmM9InVwbV9xdWlja3RhZ3MvbGliL3R4cC5qcyI+PC9zY3JpcHQ+ JzsKCQllY2hvIG4uJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InVwbV9x dWlja3RhZ3MvY3VzdG9tLmpzIj48L3NjcmlwdD4nOwoJfQoKLy8gLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCWZ1bmN0 aW9uIHVwbV9xdWlja3RhZ3NfZm9ybSgkZXZlbnQpCgl7CgkJZWNobyBuLic8c2NyaXB0IGlk PSJmb3Jtc190YWIiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ1cG1fcXVpY2t0YWdz L2xpYi9xdWlja3RhZ3MuanMiPjwvc2NyaXB0Pic7CgkJZWNobyBuLic8c2NyaXB0IHR5cGU9 InRleHQvamF2YXNjcmlwdCI+dmFyIHRvb2xiYXJfd2lkdGggPSBcJzM2OHB4XCc7PC9zY3Jp cHQ+JzsKCQllY2hvIG4uJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InVw bV9xdWlja3RhZ3MvZm9ybXMuanMiPjwvc2NyaXB0Pic7CgkJZWNobyBuLic8c2NyaXB0IHR5 cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ1cG1fcXVpY2t0YWdzL2xpYi90eHAuanMiPjwv c2NyaXB0Pic7CgkJZWNobyBuLic8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj PSJ1cG1fcXVpY2t0YWdzL2N1c3RvbS5qcyI+PC9zY3JpcHQ+JzsKCX0KCi8vIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K CglmdW5jdGlvbiB1cG1fcXVpY2t0YWdzX3BhZ2UoJGV2ZW50KQoJewoJCWVjaG8gbi4nPHNj cmlwdCBpZD0icGFnZXNfdGFiIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0idXBtX3F1 aWNrdGFncy9saWIvcXVpY2t0YWdzLmpzIj48L3NjcmlwdD4nOwoJCWVjaG8gbi4nPHNjcmlw dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnZhciB0b29sYmFyX3dpZHRoID0gXCc2MDBweFwn Ozwvc2NyaXB0Pic7CgkJZWNobyBuLic8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg c3JjPSJ1cG1fcXVpY2t0YWdzL3BhZ2VzLmpzIj48L3NjcmlwdD4nOwoJCWVjaG8gbi4nPHNj cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0idXBtX3F1aWNrdGFncy9saWIvdHhw LmpzIj48L3NjcmlwdD4nOwoJCWVjaG8gbi4nPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp cHQiIHNyYz0idXBtX3F1aWNrdGFncy9jdXN0b20uanMiPjwvc2NyaXB0Pic7Cgl9IjtzOjQ6 ImhlbHAiO3M6MTE0OTA6IjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbixw cm9qZWN0aW9uIj4KPCEtLQpwcmUsIGNvZGUgewpiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOwp9 Ci0tPgo8L3N0eWxlPgoKPGgxPnVwbV9xdWlja3RhZ3M8L2gxPgoKPHA+VGhpcyBwbHVnaW4g aXMgY29tcHJpc2VkIG9mIGEgZm9sZGVyIGxhYmVsbGVkICYjODIyMDt1cG1fcXVpY2t0YWdz JiM4MjIxOywgYWxvbmcgd2l0aCB0aGUgcGx1Z2luIGNvZGUKaXRzZWxmLiBTaW5jZSB5b3Um IzgyMTc7dmUgYWxyZWFkeSBpbnN0YWxsZWQgdGhpcyBwbHVnaW4sIG1ha2Ugc3VyZSB0aGF0 IHRoZSAmIzgyMjA7dXBtX3F1aWNrdGFncyYjODIyMTsKZm9sZGVyIGlzIHNpdHRpbmcgaW5z aWRlIHRoZSAmIzgyMjA7dGV4dHBhdHRlcm4mIzgyMjE7IGFkbWluIGZvbGRlciwgYW5kIHRo YXQgeW91IGhhdmUgbWFkZSB0aGUgcGx1Z2luCmFjdGl2ZS48L3A+Cgo8aDI+VXNhZ2U8L2gy PgoKPHA+dXBtX3F1aWNrdGFncyBjYW4gb3V0cHV0IGFueSBraW5kIG9mIHRleHQsIGJlIGl0 IFRleHRpbGUgc3ludGF4LCBUZXh0cGF0dGVybiB0YWdzLCBIVE1MLCBvciBvdGhlcgpiaXRz IG9mIHRleHQgeW91IHVzZSBvZnRlbi48L3A+Cgo8cD5UaGUgcGx1Z2luIHNoaXBzIHdpdGgg dGhlIGJ1dHRvbnMgY29uZmlndXJlZCB0byByZXR1cm4gSFRNTC4gVXNpbmcgSFRNTCBpbiBU ZXh0cGF0dGVybiBhcnRpY2xlcy9wb3N0cwooJiM4MjIwO3dyaXRlJiM4MjIxOyB0YWIpIHVz dWFsbHkgbWVhbnMgZGlzYWJsaW5nLCBhZGp1c3RpbmcsIG9yIGVzY2FwaW5nIFRleHRpbGUu IFRvIHN0b3AgVGV4dGlsZQpmcm9tIHdyYXBwaW5nIHBhcmFncmFwaCB0YWdzIGFyb3VuZCBh IGxpbmUsIHlvdSBuZWVkIHRvIHN0YXJ0IHRoZSBsaW5lIHdpdGggYSBzcGFjZS4gVGhlIGRl ZmF1bHQgYnV0dG9ucwpmb3IgdGhlICYjODIyMDt3cml0ZSYjODIyMTsgdGFiIGhhdmUgYmVl biBhZGp1c3RlZCBhY2NvcmRpbmdseS4gV2hlbiBydW5uaW5nIHRoZSBwbHVnaW4gd2l0aCB0 aGUgZGVmYXVsdApzZXR0aW5ncywgaXQgc2hvdWxkIHJldHVybiB2YWxpZCB4aHRtbCBtYXJr dXAsIHRoYXQgc3RpbGwgcGxheXMgd2VsbCB3aXRoIFRleHRpbGUuPC9wPgoKPHA+SXQgaXMg PHN0cm9uZz5ub3Q8L3N0cm9uZz4gY3VycmVudGx5IHBvc3NpYmxlIHRvIHN3aXRjaCB1cG1f cXVpY2t0YWdzIG9uIGFuZCBvZmYgcGVyIHVzZXIuPC9wPgoKPGgyPkZ1cnRoZXIgQ3VzdG9t aXphdGlvbiAoT3B0aW9uYWwpPC9oMj4KCjxwPlF1aWNrdGFncyBhbGxvd3MgZWFzeSBjdXN0 b21pemF0aW9uIG9mIGl0cyBidXR0b25zLCBhbmQgdGhpcyBwbHVnaW4gYWxsb3dzIHlvdSB0 byBtYWludGFpbiBhIGRpZmZlcmVudApzZXQgb2YgYnV0dG9ucyBmb3IgYXJ0aWNsZXMgKHdy aXRlLmpzKSwgZm9ybXMgKGZvcm1zLmpzKSwgYW5kIHBhZ2VzIChwYWdlcy5qcykuIEFkZGl0 aW9uYWxseSwgeW91IGFyZQpwcm92aWRlZCB3aXRoIGEgc3R5bGVzaGVldCAoc3R5bGUuY3Nz KSwgd2hpY2ggd2lsbCBhbGxvdyB5b3UgdG8gY3VzdG9taXplIHRoZSBsb29rIG9mIHlvdXIg YnV0dG9ucyBhbmQKdG9vbGJhci4gVG9nZXRoZXIsIHRoZXNlIGZvdXIgZmlsZXMgKGZvdW5k IGluc2lkZSB0aGUgJiM4MjIwO3VwbV9xdWlja3RhZ3MmIzgyMjE7IGZvbGRlcikgYXJlIGEg cG93ZXJmdWwKY29tYmluYXRpb24uPC9wPgoKPGgzPkJ1dHRvbiBUZW1wbGF0ZTwvaDM+Cgo8 cHJlPjxjb2RlPmVkQnV0dG9uc1tlZEJ1dHRvbnMubGVuZ3RoXSA9IG5ldyBlZEJ1dHRvbihp ZCwgbGFiZWwsIHRhZ1N0YXJ0LCB0YWdFbmQsIHRvb2x0aXApOwo8L2NvZGU+PC9wcmU+Cgo8 aDM+QnV0dG9uIEV4YW1wbGU8L2gzPgoKPHByZT48Y29kZT5lZEJ1dHRvbnNbZWRCdXR0b25z Lmxlbmd0aF0gPSBuZXcgZWRCdXR0b24oJ3F0LXN0cicsICdzdHInLCAnPHN0cm9uZz4nLCAn PC9zdHJvbmc+JywgJ1N0cm9uZ2x5IEVtcGhhc2l6ZScpOwo8L2NvZGU+PC9wcmU+Cgo8aDM+ QnV0dG9uIEFyZ3VtZW50IEV4cGxhbmF0aW9uPC9oMz4KCjx0YWJsZSBjZWxscGFkZGluZz0i MiIgY2VsbHNwYWNpbmc9IjIiPgoJPHRyPgoJCTx0aD5pZDwvdGg+CgkJPHRkPnVuaXF1ZSBp ZCAodXNlZCBpbnRlcm5hbGx5IGJ5IFF1aWNrdGFncyksIGFueSB0ZXh0IHlvdSB3aXNoIChi ZSBjYXJlZnVsIGFib3V0IHNwZWNpYWwgY2hhcmFjdGVycwoJCW9yIHJlYWxseSBsb25nIHN0 cmluZ3MpPC90ZD4KCTwvdHI+CgoJPHRyPgoJCTx0aD5sYWJlbDwvdGg+CgkJPHRkPmFueSB0 ZXh0IHlvdSB3aXNoPC90ZD4KCTwvdHI+CgoJPHRyPgoJCTx0aD50YWdTdGFydDwvdGg+CgkJ PHRkPk9wZW5pbmcgdGFnLCBhbnkgdGV4dCBvciBodG1sIHlvdSB3aXNoIChkb2VzIG5vdCBo YXZlIHRvIGJlIHN0cmljdGx5IGEgc2luZ2xlIGh0bWwgdGFnKS4gTWF5IGJlCgkJbGVmdCBl bXB0eS48L3RkPgoJPC90cj4KCgk8dHI+CgkJPHRoPnRhZ0VuZDwvdGg+CgkJPHRkPkNsb3Np bmcgdGFnLCBhbnkgdGV4dCBvciBodG1sIHlvdSB3aXNoIChkb2VzIG5vdCBoYXZlIHRvIGJl IHN0cmljdGx5IGEgc2luZ2xlIGh0bWwgdGFnKS4gTWF5IGJlCgkJbGVmdCBlbXB0eS48L3Rk PgoJPC90cj4KCgk8dHI+CgkJPHRoPnRvb2x0aXA8L3RoPgoJCTx0ZD5UZXh0IHRoYXQgYXBw ZWFycyB3aGVuIHRoZSBtb3VzZSBjdXJzb3IgaG92ZXJzIG92ZXIgdGhlIGJ1dHRvbi4gTWF5 IGJlIGxlZnQgZW1wdHkuPC90ZD4KCTwvdHI+CjwvdGFibGU+Cgo8cD5BZGRpbmcgYW4gaW1h Z2UgaW5zdGVhZCBvZiBhIGJ1dHRvbiBpcyB2ZXJ5IHNpbXBsZSwgYW5kIHVzZXMgbmVhcmx5 IGlkZW50aWNhbCBzZXR0aW5ncy48L3A+Cgo8aDM+SW1hZ2UgQnV0dG9uIFRlbXBsYXRlPC9o Mz4KCjxwcmU+PGNvZGU+ZWRJbWdCdXR0b25zW2VkSW1nQnV0dG9ucy5sZW5ndGhdID0gbmV3 IGVkSW1nQnV0dG9uKGlkLCBzcmMsIHRhZ1N0YXJ0LCB0YWdFbmQsIHRvb2x0aXApOwo8L2Nv ZGU+PC9wcmU+Cgo8aDM+SW1hZ2UgQnV0dG9uIEV4YW1wbGU8L2gzPgoKPHByZT48Y29kZT5l ZEltZ0J1dHRvbnNbZWRJbWdCdXR0b25zLmxlbmd0aF0gPSBuZXcgZWRJbWdCdXR0b24oJ3F0 LWJvbGQnLCAnYm9sZC5naWYnLCAnPHN0cm9uZz4nLCAnPC9zdHJvbmc+JywgJ0JvbGQnKTsK PC9jb2RlPjwvcHJlPgoKPGgzPkJ1dHRvbiBBcmd1bWVudCBFeHBsYW5hdGlvbjwvaDM+Cgo8 cD5UaGUgb25seSBkaWZmZXJlbmNlIGluIHNldHRpbmcgaXMgdGhhdCBpdCB0YWtlcyB0aGUg YXJndW1lbnQsICYjODIyMDtzcmMmIzgyMjE7IGluIHBsYWNlIG9mIHRoZQphcmd1bWVudCAm IzgyMjA7bGFiZWwmIzgyMjE7LjwvcD4KCjx0YWJsZSBjZWxscGFkZGluZz0iMiIgY2VsbHNw YWNpbmc9IjIiPgoJPHRyPgoJCTx0aD5zcmM8L3RoPgoJCTx0ZD5pbWFnZSBmaWxlbmFtZS4g SW1hZ2VzIG5lZWQgdG8gYmUgYmUgcGxhY2VkIGludG8gdGhlICYjODIyMDtpbWcmIzgyMjE7 IHN1Yi1mb2xkZXIgb2YgJiM4MjIwO3F1aWNrdGFncyYjODIyMTsuPC90ZD4KCTwvdHI+Cjwv dGFibGU+Cgo8aDM+TGluayBUZW1wbGF0ZTwvaDM+Cgo8cHJlPjxjb2RlPmVkTGlua3NbZWRM aW5rcy5sZW5ndGhdID0gbmV3IGVkTGluayh0ZXh0LCB1cmwsIHRhcmdldCwgcmVsLCB0b29s dGlwKTsKPC9jb2RlPjwvcHJlPgoKPGgzPkxpbmsgRXhhbXBsZTwvaDM+Cgo8cHJlPjxjb2Rl PmVkTGlua3NbZWRMaW5rcy5sZW5ndGhdID0gbmV3IGVkTGluaygnVGV4dHBhdHRlcm4nLCAn aHR0cDovL3RleHRwYXR0ZXJuLmNvbS8nLCAnJywgJ0kgJiMzODsjOTgyOTsgVGV4dHBhdHRl cm4nKTsKPC9jb2RlPjwvcHJlPgoKaDMuIExpbmsgQXJndW1lbnQgRXhwbGFuYXRpb24KCjx0 YWJsZSBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPgoJPHRyPgoJCTx0aD50ZXh0 PC90aD4KCQk8dGQ+TGluayB0aXRsZSwgYW55IHRleHQgeW91IHdpc2guPC90ZD4KCTwvdHI+ CgoJPHRyPgoJCTx0aD51cmw8L3RoPgoJCTx0ZD5MaW5rIHVybC48L3RkPgoJPC90cj4KCgk8 dHI+CgkJPHRoPnRhcmdldDwvdGg+CgkJPHRkPkxpbmsgdGFyZ2V0IHdpbmRvdy4gTWF5IGJl IGxlZnQgZW1wdHkuPC90ZD4KCTwvdHI+CgoJPHRyPgoJCTx0aD5yZWw8L3RoPgoJCTx0ZD5E ZWZpbmUgbGluayByZWxhdGlvbnNoaXAuIE1heSBiZSBsZWZ0IGVtcHR5LjwvdGQ+Cgk8L3Ry PgoKCTx0cj4KCQk8dGg+dG9vbHRpcDwvdGg+CgkJPHRkPlRleHQgdGhhdCBhcHBlYXJzIHdo ZW4gdGhlIG1vdXNlIGN1cnNvciBob3ZlcnMgb3ZlciB0aGUgYnV0dG9uLiBNYXkgYmUgbGVm dCBlbXB0eS48L3RkPgoJPC90cj4KPC90YWJsZT4KCjxwPkxvb2sgdGhyb3VnaCB0aGUgUXVp Y2t0YWcgY29uZmlndXJhdGlvbiBmaWxlcyAod3JpdGUuanMsIGZvcm1zLmpzIGFuZCBwYWdl cy5qcykgZm9yIGZ1cnRoZXIKZXhhbXBsZXMuPC9wPgoKPGgzPiYjODIyMDtTcGVjaWFsJiM4 MjIxOyBCdXR0b25zPC9oMz4KCjxwPlNldmVuIG9mIHRoZSBkZWZhdWx0IGJ1dHRvbnMgYXJl IG1hcmtlZCAmIzgyMjA7c3BlY2lhbCYjODIyMTsuIFRoaXMgbWVhbnMgdGhhdCB0aGV5IGFy ZSBwcm9ncmFtbWVkCnRvIGRvIHNwZWNpYWwgdXNlciBpbnRlcmFjdGlvbiwgYW5kIHRoZXJl Zm9yZSBvbmx5IHRoZWlyIGxhYmVsIGFuZC9vciB0b29sdGlwIG1heSBiZSBjdXN0b21pemVk LjwvcD4KCjxoND5GdXJ0aGVyIEluZm88L2g0PgoKPHVsPgoJPGxpPjxzdHJvbmc+cXQtc3Bh Y2VyPC9zdHJvbmc+OiBpdHMgcHVycG9zZSBpcyB0byBjYXVzZSB2aXN1YWwgc2VwYXJhdGlv biBvZiBidXR0b25zLCBzbyB5b3UgbWF5IGhhdmUgdGhlCglidXR0b25zIGFwcGVhciBpbiBn cm91cHMsIHJhdGhlciB0aGFuIGltbWVkaWF0ZWx5IHNpZGUtYnktc2lkZS4KCTxsaT48c3Ry b25nPnF0LXNwYWNlci1icjwvc3Ryb25nPjogaXRzIHB1cnBvc2UgaXMgdG8gY2F1c2Ugdmlz dWFsIHNlcGFyYXRpb24gb2YgYnV0dG9ucywgc3RhcnRzIGEgbmV3IHJvdwoJKHRoYW5rcyBK b3NodWEhKTwvbGk+Cgk8bGk+PHN0cm9uZz5xdC1pbWFnZTwvc3Ryb25nPjogaW5zZXJ0cyBh biBpbWFnZS48L2xpPgoJPGxpPjxzdHJvbmc+cXQtaW1nLXBvcHBlcjwvc3Ryb25nPjogdGll cyB1cG1fcXVpY2t0YWdzIHRvIHVwbV9pbWdfcG9wcGVyIHBsdWdpbiAoeW91IGhhdmUgdG8g aGF2ZSB1cG1faW1nX3BvcHBlcgoJaW5zdGFsbGVkIGFuZCBhY3RpdmF0ZWQgZm9yIHRoaXMg dG8gd29yayk8L2xpPgoJPGxpPjxzdHJvbmc+cXQtbGluazwvc3Ryb25nPjogaW5zZXJ0cyBh IGxpbmsuPC9saT4KCTxsaT48c3Ryb25nPnF0LXNwZWxsPC9zdHJvbmc+OiBsb29rcyB1cCBh IHdvcmQgaW4gdGhlIGRpY3Rpb25hcnkuPC9saT4KCTxsaT48c3Ryb25nPnF0LWNsb3NlPC9z dHJvbmc+OiBjbG9zZXMgYW55IGFuZCBhbGwgb3BlbiB0YWdzLjwvbGk+CjwvdWw+Cgo8aDM+ RW50aXRpZXMgR290Y2hhPC9oMz4KCjxwPlNob3VsZCB5b3UgZGVzaXJlIHRvIHVzZSBudW1l cmljIGVudGl0aWVzIChzcGVjaWFsIGNoYXJhY3RlcnMsIGxpa2UgYSBjb3B5cmlnaHQgc2ln biwgZm9yIGV4YW1wbGUpIGluCmEgYnV0dG9uJiM4MjE3O3MgbGFiZWwsIHlvdSB3aWxsIG5l ZWQgdG8gZW50ZXIgdGhlbSBhcyB0aGVpciBJU08gMTA2NDYgKCYjODIyMDtVbmljb2RlJiM4 MjIxOykgY2hhcmFjdGVyCm51bWJlcnMgKGZvciB0aGUgbGFiZWwgb25seSkuIEEgc2hvcnQg bGlzdCBvZiBjb21tb24gZW50aXRpZXMgaGFzIGJlZW4gcHJvdmlkZWQgYmVsb3cuCjxhIGhy ZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3NnbWwvZW50aXRpZXMuaHRtbCI+QSBt b3JlIGNvbXBsZXRlIGxpc3QgaXMgYXZhaWxhYmxlPC9hPiwgYW5kIGEKY29udmVydGVyIGhh cyBiZWVuIGluY2x1ZGVkIGhlcmUgdG8gaGVscCB5b3UgYXMgd2VsbC4gVGhpcyBpcyBub3Qg cmVxdWlyZWQgZm9yIHRoZSBhY3R1YWwgdGV4dCB0aGF0IHRoZQpidXR0b25zIGluc2VydC48 L3A+Cgo8aDQ+Q2hhcmFjdGVyIGFuZCBFbnRpdHkgQ29udmVydG9yPC9oND4KCjxzY3JpcHQg dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9InVwbV9xdWlja3RhZ3MvbGliL2NvbnZlcnRl ci5qcyI+PC9zY3JpcHQ+Cgo8Zm9ybSBhY3Rpb249IiI+CjxmaWVsZHNldD4KCTxsZWdlbmQ+ Q2hhcmFjdGVyIHRvIFVuaWNvZGU8L2xlZ2VuZD4KCgk8cD5FeGFtcGxlOiAmIzE2OTsgKGEg Y29weXJpZ2h0IHNpZ24pPC9wPgoJPGxhYmVsIGZvcj0ic3ltYm9sIj5DaGFyYWN0ZXI8L2xh YmVsPjogPGlucHV0IHR5cGU9InRleHQiIGlkPSJzeW1ib2wiIG5hbWU9InN5bWJvbCIgdmFs dWU9IsKpIiAvPjxiciAvPgoKCTxsYWJlbCBmb3I9InN5bWJvbF9vdXQiPlVuaWNvZGU8L2xh YmVsPjogPGlucHV0IHR5cGU9InRleHQiIGlkPSJzeW1ib2xfb3V0IiBuYW1lPSJzeW1ib2xf b3V0IiB2YWx1ZT0iIiAvPjxiciAvPgoJPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IkNv bnZlcnQiIG9uY2xpY2s9ImZyb21DaGFyKCk7IHJldHVybiBmYWxzZTsiIC8+CjwvZmllbGRz ZXQ+CjwvZm9ybT4KCjxmb3JtIGFjdGlvbj0iIj4KPGZpZWxkc2V0PgoJPGxlZ2VuZD5BU0NJ SSB0byBVbmljb2RlPC9sZWdlbmQ+CgoJPHA+RXhhbXBsZTogMTY5IChhIGNvcHlyaWdodCBz aWduKTwvcD4KCTxsYWJlbCBmb3I9ImFzYyI+RW50aXR5PC9sYWJlbD46IDxpbnB1dCB0eXBl PSJ0ZXh0IiBpZD0iYXNjIiBuYW1lPSJhc2MiIHZhbHVlPSIxNjkiIC8+PGJyIC8+Cgk8bGFi ZWwgZm9yPSJhc2Nfb3V0Ij5Vbmljb2RlPC9sYWJlbD46IDxpbnB1dCB0eXBlPSJ0ZXh0IiBp ZD0iYXNjX291dCIgbmFtZT0iYXNjX291dCIgdmFsdWU9IiIgLz48YnIgLz4KCgk8aW5wdXQg dHlwZT0ic3VibWl0IiB2YWx1ZT0iQ29udmVydCIgb25jbGljaz0iZnJvbUFzYygpOyByZXR1 cm4gZmFsc2U7IiAvPgo8L2ZpZWxkc2V0Pgo8L2Zvcm0+Cgo8aDQ+Q29tbW9uIEVudGl0aWVz PC9oND4KCjx0YWJsZSBjZWxscGFkZGluZz0iNSIgY2VsbHNwYWNpbmc9IjUiIGJvcmRlcj0i MCIgaWQ9Imxpc3QiPgoJPHRyPgoJCTx0aD5OYW1lPC90aD4KCQk8dGg+Q2hhcmFjdGVyPC90 aD4KCQk8dGg+TnVtZXJpYyBFbnRpdHk8L3RoPgoJCTx0aD5Vbmljb2RlPC90aD4KCTwvdHI+ CgoJPHRyPgoJCTx0ZD5hbXBlcnNhbmQ8L3RkPgoJCTx0ZD4mIzM4OzwvdGQ+CgkJPHRkPjxj b2RlPiYjMzg7IzM4OzwvY29kZT48L3RkPgoJCTx0ZD48Y29kZT5cdTAwMjY8L2NvZGU+PC90 ZD4KCTwvdHI+CgoJPHRyPgoJCTx0ZD5jb3B5cmlnaHQ8L3RkPgoJCTx0ZD4mIzE2OTs8L3Rk PgoJCTx0ZD48Y29kZT4mIzM4OyMxNjk7PC9jb2RlPjwvdGQ+CgkJPHRkPjxjb2RlPlx1MDBh OTwvY29kZT48L3RkPgoJPC90cj4KCgk8dHI+CgkJPHRkPmVuIGRhc2g8L3RkPgoJCTx0ZD4m IzgyMTE7PC90ZD4KCQk8dGQ+PGNvZGU+JiMzODsjODIxMTs8L2NvZGU+PC90ZD4KCQk8dGQ+ PGNvZGU+XHUyMDEzPC9jb2RlPjwvdGQ+Cgk8L3RyPgoKCTx0cj4KCQk8dGQ+ZW0gZGFzaDwv dGQ+CgkJPHRkPiYjODIxMjs8L3RkPgoJCTx0ZD48Y29kZT4mIzM4OyM4MjEyOzwvY29kZT48 L3RkPgoJCTx0ZD48Y29kZT5cdTIwMTQ8L2NvZGU+PC90ZD4KCTwvdHI+CgoJPHRyPgoJCTx0 ZD5sZWZ0IHNpbmdsZSBxdW90YXRpb24gbWFyazwvdGQ+CgkJPHRkPiYjODIxNjs8L3RkPgoJ CTx0ZD4mIzM4OyM4MjE2OzwvdGQ+CgkJPHRkPjxjb2RlPlx1MjAxODwvY29kZT48L3RkPgoJ PC90cj4KCgk8dHI+CgkJPHRkPnJpZ2h0IHNpbmdsZSBxdW90YXRpb24gbWFyazwvdGQ+CgkJ PHRkPiYjODIxNzs8L3RkPgoJCTx0ZD48Y29kZT4mIzM4OyM4MjE3OzwvY29kZT48L3RkPgoJ CTx0ZD48Y29kZT5cdTIwMTk8L2NvZGU+PC90ZD4KCTwvdHI+CgoJPHRyPgoJCTx0ZD5sZWZ0 IGRvdWJsZSBxdW90YXRpb24gbWFyazwvdGQ+CgkJPHRkPiYjODIyMDs8L3RkPgoJCTx0ZD48 Y29kZT4mIzM4OyM4MjIwOzwvY29kZT48L3RkPgoJCTx0ZD48Y29kZT5cdTIwMWM8L2NvZGU+ PC90ZD4KCTwvdHI+CgoJPHRyPgoJCTx0ZD5yaWdodCBkb3VibGUgcXVvdGF0aW9uIG1hcms8 L3RkPgoJCTx0ZD4mIzgyMjE7PC90ZD4KCQk8dGQ+PGNvZGU+JiMzODsjODIyMTs8L2NvZGU+ PC90ZD4KCQk8dGQ+PGNvZGU+XHUyMDFkPC9jb2RlPjwvdGQ+Cgk8L3RyPgo8L3RhYmxlPgoK PGgyPkV4dHJhIFNldHRpbmdzPC9oMj4KCjxwPllvdSBtYXkgbGVhdmUgdGhlc2UgZXh0cmEg c2V0dGluZyBsaW5lcyBvdXQgb2YgeW91ciBjb25maWcgZmlsZXMgYWx0b2dldGhlciwgYW5k IHRoZSBwbHVnaW4gd2lsbCB1c2UKZGVmYXVsdCB2YWx1ZXMuPC9wPgoKPGgzPnhodG1sPC9o Mz4KCjxwPkFsbCB0aHJlZSBjb25maWcuIGZpbGVzIGNvbnRhaW4gdGhpcyBsaW5lOjwvcD4K CjxwcmU+PGNvZGU+eGh0bWwgPSAneWVzJzsKPC9jb2RlPjwvcHJlPgoKPHA+QnkgZGVmYXVs dCwgdGhlIHNwZWNpYWwgaW5zZXJ0IGltYWdlIGJ1dHRvbiBvdXRwdXRzIHhodG1sLiBJZiB5 b3UgYXJlIHVzaW5nIGh0bWwgaW4geW91ciBzaXRlLCBzaW1wbHkKY2hhbmdlIHRoaXMgc2V0 dGluZyB0byAmIzgyMTY7bm8mIzgyMTc7LjwvcD4KCjxoMz5zaG93TGlua3M8L2gzPgoKPHA+ QWxsIHRocmVlIGNvbmZpZy4gZmlsZXMgY29udGFpbiBhIHNpbWlsYXIgbGluZTo8L3A+Cgo8 cHJlPjxjb2RlPnNob3dMaW5rcyA9ICd5ZXMnOwo8L2NvZGU+PC9wcmU+Cgo8cD5PbmUgb2Yg UXVpY2t0YWcmIzgyMTc7cyBmZWF0dXJlcyBpcyB0aGUgYWJpbGl0eSB0byBxdWlja2x5IGFk ZCBtYXJrdXAgZm9yIGZyZXF1ZW50bHkgcmVmZXJlbmNlZCB1cmxzLAp3aGljaCBhcHBlYXIg aW4gYSBkcm9wZG93biBtZW51LiBTaG91bGQgeW91IHdpc2ggdG8gdHVybiB0aGlzIGZlYXR1 cmUgb2ZmLCBjaGFuZ2UgdGhlIHZhbHVlIHRvCiYjODIxNjtubyYjODIxNzsuPC9wPgoKPGgz PnRvb2xiYXJfd2lkdGg8L2gzPgoKPHA+VGhlIGZvcm0gKGZvcm1zLmpzKSBhbmQgcGFnZSAo cGFnZXMuanMpIGNvbmZpZy4gZmlsZXMgY29udGFpbiBhIHNpbWlsYXIgbGluZTo8L3A+Cgo8 cHJlPjxjb2RlPnZhciB0b29sYmFyX3dpZHRoID0gJzYwMHB4JzsKPC9jb2RlPjwvcHJlPgoK PHA+SXRzIGZ1bmN0aW9uIGlzIHRvIHdyYXAgdGhlIHRvb2xiYXIgdG8gbWF0Y2ggdGhlIHRl eHRhcmVhJiM4MjE3O3Mgc2l6ZS4gV2hpbGUgSSBjb3VsZCBoYXJkLWNvZGUgdGhpcwppbmZv cm1hdGlvbiwgSSBkZWNpZGVkIHRvIG1ha2UgaXQgYSBzZXR0aW5nLCBpbiBjYXNlIG9mIGEg dXNlciBtb2Qgb3IgcGx1Z2luIGNoYW5naW5nIHRoZSB0ZXh0YXJlYSYjODIxNztzCnNpemUu IElmIHRoaXMgaGFwcGVucywgY2hhbmdlIHRoZSB3aWR0aCB0byBtYXRjaCB0aGUgbmV3IHNp emUgb2YgdGhlIHRleHRhcmVhLjwvcD4KCjxoMj5BZHZhbmNlZCBFbmhhbmNlbWVudHM8L2gy PgoKPHA+dXBtX3F1aWNrdGFncyBhbGxvd3MgeW91IHRvIGV4dGVuZCBpdCB3aXRob3V0IGhh Y2tzLiBTaW1wbHkgYWRkIHlvdXIgb3duIEphdmFTY3JpcHQgdG8gdGhlIHN1cHBsaWVkCmN1 c3RvbS5qcyBmaWxlLiBZb3UgY2FuIHVzZSB5b3VyIG93biBmdW5jdGlvbnMgYW5kIGNyZWF0 ZSB5b3VyIG93biBidXR0b25zLCBidXQgc3RpbGwgbWFrZSB1c2Ugb2YgdGhlCmdlbmVyaWMg ZnVuY3Rpb25zIHN1cHBsaWVkLiBZb3UgY2FuIHVzZSBhbnksIGFsbCwgb3Igbm9uZSBvZiB0 aGUgZGVmYXVsdCBidXR0b25zLiBJdCYjODIxNztzIGFsbCB1cCB0bwp5b3VyIGltYWdpbmF0 aW9uIGFuZCB5b3VyIHNjcmlwdGluZyBza2lsbHMuPC9wPgoKPHA+VGhpcyBpcyBjb25zaWRl cmVkIGFkdmFuY2VkLCBhbmQgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBieSB0aG9zZSB3aG8g a25vdyBKYXZhU2NyaXB0LiBJIGNhbiYjODIxNzt0CnByb21pc2UgdG8gc3VwcG9ydCB3aGF0 ZXZlciBjaGFuZ2VzIHlvdSBtYWtlLCBzbyBkb24mIzgyMTc7dCBkbyB0aGlzIHVubGVzcyB5 b3UmIzgyMTc7cmUgcHJlcGFyZWQgdG8KaGFuZGxlIGl0IHlvdXJzZWxmLjwvcD4KCjxoMj5T dXBwb3J0ZWQgQnJvd3NlcnM8L2gyPgoKPHA+UGxlYXNlIG5vdGlmeSBtZSBvZiBhbnkgYnJv d3NlcnMgdGhpcyBwbHVnaW4gZG9lcyBvciBkb2VzIG5vdCB3b3JrIGluLCBpZiBpdCBoYXMg bm90IGFscmVhZHkgYmVlbgpsaXN0ZWQgYmVsb3cuPC9wPgoKPHA+VGhpcyBwbHVnaW4gaXMg a25vd24gdG8gd29yayBpbjogRmlyZWZveCAxLjAuMiAoV2luKSBhbmQgSW50ZXJuZXQgRXhw bG9yZXIgNiBTUDIgKFdpbikuIEl0IGhhcyBhbG1vc3QKc2VhbWxlc3Mgc3VwcG9ydCBpbiBP cGVyYSA4IChXaW4pLCBidXQgbGltaXRlZCBzdXBwb3J0IGluIHRoZSB2ZXJzaW9ucyBwcmVj ZWVkaW5nIGl0LjwvcD4KCjxoMj5TdWdnZXN0aW9uczwvaDI+Cgo8cD5JIGFtIGFsd2F5cyB3 aWxsaW5nIHRvIHRha2Ugc3VnZ2VzdGlvbnMgZm9yIHRoaXMgcGx1Z2luLiBTdWdnZXN0ZWQg Y2hhbmdlcyBmb3IgdGhlIGRlZmF1bHQgc2V0dGluZ3MgYW5kCmJ1dHRvbnMgc2hpcHBlZCB3 aXRoIHRoaXMgcGx1Z2luIG1heSBiZSB1c2VkLCBpZiBpdCBpcyBmZWx0IHRoYXQgYSBsYXJn ZSBudW1iZXIgb2YgdXNlcnMgd291bGQgZGVzaXJlIGl0LgpOZXZlcnRoZWxlc3MsIGZlZWwg ZnJlZSB0byBzaGFyZSB5b3VyIFF1aWNrdGFncyBjb25maWd1cmF0aW9uIHdpdGggb3RoZXIg dXNlcnMuPC9wPgoKPGgyPkNyZWRpdHM8L2gyPgoKPHA+PGEgaHJlZj0iaHR0cDovL3d3dy5h bGV4a2luZy5vcmcvIj5BbGV4IEtpbmc8L2E+IHdyb3RlIFF1aWNrdGFncywgYW5kIHJlbGVh c2VkIGl0IHVuZGVyIHRoZQo8YSBocmVmPSJodHRwOi8vZ251Lm9yZy9jb3B5bGVmdC9sZXNz ZXIuaHRtbCI+TEdQTCBsaWNlbnNlPC9hPi48L3A+Cgo8cD5NdWNoIHRoYW5rcyBnb2VzIHRv OjwvcD4KCjx1bD4KCTxsaT48YSBocmVmPSJodHRwOi8vd3d3Lmhha2pvb24uY29tLyI+UGF0 cmljayBXb29kczwvYT4gKGFrYSAmIzgyMjA7aGFram9vbiYjODIyMTspPC9saT4KCTxsaT48 YSBocmVmPSJodHRwOi8vdGhyZXNob2xkc3RhdGUuY29tLyI+QWxleCBTaGllbHM8L2E+IChh a2EgJiM4MjIwO3plbSYjODIyMTspPC9saT4KCTxsaT48YSBocmVmPSJodHRwOi8vbWljYW1w ZS5pdC9sb2ciPk1pY2hlbGUgQ2FtcGVvdHRvPC9hPiAoYWthICYjODIyMDttaWNhbXBlJiM4 MjIxOyk8L2xpPgoJPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cud2lsc2hpcmVvbmUuY29tLyI+ Um9iIFNhYmxlPC9hPiAoYWthICYjODIyMDt3aWxzaGlyZSYjODIyMTspPC9saT4KPC91bD4K CjxwPkkgc3R1ZGllZCB0aGVpciBleGFtcGxlcyBhbmQgcGx1Z2lucyBpbiBvcmRlciB0byBt YWtlIHRoaXMgb25lLiBQYXJ0aWN1bGFyIHRoYW5rcyBnb2VzIHRvIFBhdHJpY2s6CkkmIzgy MTc7dmUgbWFkZSB1c2Ugb2YgaGlzIG1vZGlmaWVkIHZlcnNpb24gb2YgUXVpY2t0YWdzLjwv cD4KCjxwPkFkZGl0aW9uYWwgdGhhbmtzIGdvZXMgdG8gdGhlIHNldmVyYWwgdXNlcnMgd2hv ICYjODIyMDtiZXRhLXRlc3RlZCYjODIyMTsgdGhpcyBwbHVnaW4sIG9mZmVyZWQgdGhlaXIK aWRlYXMsIGFuZCBoZWxwZWQgbWUgaXJvbiBvdXQgdGhlIHdyaW5rbGVzLiYjODIxMjtNYXJ5 PC9wPiI7czo4OiJoZWxwX3JhdyI7czoxMTQ5MDoiPHN0eWxlIHR5cGU9InRleHQvY3NzIiBt ZWRpYT0ic2NyZWVuLHByb2plY3Rpb24iPgo8IS0tCnByZSwgY29kZSB7CmJhY2tncm91bmQt Y29sb3I6ICNlZWU7Cn0KLS0+Cjwvc3R5bGU+Cgo8aDE+dXBtX3F1aWNrdGFnczwvaDE+Cgo8 cD5UaGlzIHBsdWdpbiBpcyBjb21wcmlzZWQgb2YgYSBmb2xkZXIgbGFiZWxsZWQgJiM4MjIw O3VwbV9xdWlja3RhZ3MmIzgyMjE7LCBhbG9uZyB3aXRoIHRoZSBwbHVnaW4gY29kZQppdHNl bGYuIFNpbmNlIHlvdSYjODIxNzt2ZSBhbHJlYWR5IGluc3RhbGxlZCB0aGlzIHBsdWdpbiwg bWFrZSBzdXJlIHRoYXQgdGhlICYjODIyMDt1cG1fcXVpY2t0YWdzJiM4MjIxOwpmb2xkZXIg aXMgc2l0dGluZyBpbnNpZGUgdGhlICYjODIyMDt0ZXh0cGF0dGVybiYjODIyMTsgYWRtaW4g Zm9sZGVyLCBhbmQgdGhhdCB5b3UgaGF2ZSBtYWRlIHRoZSBwbHVnaW4KYWN0aXZlLjwvcD4K CjxoMj5Vc2FnZTwvaDI+Cgo8cD51cG1fcXVpY2t0YWdzIGNhbiBvdXRwdXQgYW55IGtpbmQg b2YgdGV4dCwgYmUgaXQgVGV4dGlsZSBzeW50YXgsIFRleHRwYXR0ZXJuIHRhZ3MsIEhUTUws IG9yIG90aGVyCmJpdHMgb2YgdGV4dCB5b3UgdXNlIG9mdGVuLjwvcD4KCjxwPlRoZSBwbHVn aW4gc2hpcHMgd2l0aCB0aGUgYnV0dG9ucyBjb25maWd1cmVkIHRvIHJldHVybiBIVE1MLiBV c2luZyBIVE1MIGluIFRleHRwYXR0ZXJuIGFydGljbGVzL3Bvc3RzCigmIzgyMjA7d3JpdGUm IzgyMjE7IHRhYikgdXN1YWxseSBtZWFucyBkaXNhYmxpbmcsIGFkanVzdGluZywgb3IgZXNj YXBpbmcgVGV4dGlsZS4gVG8gc3RvcCBUZXh0aWxlCmZyb20gd3JhcHBpbmcgcGFyYWdyYXBo IHRhZ3MgYXJvdW5kIGEgbGluZSwgeW91IG5lZWQgdG8gc3RhcnQgdGhlIGxpbmUgd2l0aCBh IHNwYWNlLiBUaGUgZGVmYXVsdCBidXR0b25zCmZvciB0aGUgJiM4MjIwO3dyaXRlJiM4MjIx OyB0YWIgaGF2ZSBiZWVuIGFkanVzdGVkIGFjY29yZGluZ2x5LiBXaGVuIHJ1bm5pbmcgdGhl IHBsdWdpbiB3aXRoIHRoZSBkZWZhdWx0CnNldHRpbmdzLCBpdCBzaG91bGQgcmV0dXJuIHZh bGlkIHhodG1sIG1hcmt1cCwgdGhhdCBzdGlsbCBwbGF5cyB3ZWxsIHdpdGggVGV4dGlsZS48 L3A+Cgo8cD5JdCBpcyA8c3Ryb25nPm5vdDwvc3Ryb25nPiBjdXJyZW50bHkgcG9zc2libGUg dG8gc3dpdGNoIHVwbV9xdWlja3RhZ3Mgb24gYW5kIG9mZiBwZXIgdXNlci48L3A+Cgo8aDI+ RnVydGhlciBDdXN0b21pemF0aW9uIChPcHRpb25hbCk8L2gyPgoKPHA+UXVpY2t0YWdzIGFs bG93cyBlYXN5IGN1c3RvbWl6YXRpb24gb2YgaXRzIGJ1dHRvbnMsIGFuZCB0aGlzIHBsdWdp biBhbGxvd3MgeW91IHRvIG1haW50YWluIGEgZGlmZmVyZW50CnNldCBvZiBidXR0b25zIGZv ciBhcnRpY2xlcyAod3JpdGUuanMpLCBmb3JtcyAoZm9ybXMuanMpLCBhbmQgcGFnZXMgKHBh Z2VzLmpzKS4gQWRkaXRpb25hbGx5LCB5b3UgYXJlCnByb3ZpZGVkIHdpdGggYSBzdHlsZXNo ZWV0IChzdHlsZS5jc3MpLCB3aGljaCB3aWxsIGFsbG93IHlvdSB0byBjdXN0b21pemUgdGhl IGxvb2sgb2YgeW91ciBidXR0b25zIGFuZAp0b29sYmFyLiBUb2dldGhlciwgdGhlc2UgZm91 ciBmaWxlcyAoZm91bmQgaW5zaWRlIHRoZSAmIzgyMjA7dXBtX3F1aWNrdGFncyYjODIyMTsg Zm9sZGVyKSBhcmUgYSBwb3dlcmZ1bApjb21iaW5hdGlvbi48L3A+Cgo8aDM+QnV0dG9uIFRl bXBsYXRlPC9oMz4KCjxwcmU+PGNvZGU+ZWRCdXR0b25zW2VkQnV0dG9ucy5sZW5ndGhdID0g bmV3IGVkQnV0dG9uKGlkLCBsYWJlbCwgdGFnU3RhcnQsIHRhZ0VuZCwgdG9vbHRpcCk7Cjwv Y29kZT48L3ByZT4KCjxoMz5CdXR0b24gRXhhbXBsZTwvaDM+Cgo8cHJlPjxjb2RlPmVkQnV0 dG9uc1tlZEJ1dHRvbnMubGVuZ3RoXSA9IG5ldyBlZEJ1dHRvbigncXQtc3RyJywgJ3N0cics ICc8c3Ryb25nPicsICc8L3N0cm9uZz4nLCAnU3Ryb25nbHkgRW1waGFzaXplJyk7CjwvY29k ZT48L3ByZT4KCjxoMz5CdXR0b24gQXJndW1lbnQgRXhwbGFuYXRpb248L2gzPgoKPHRhYmxl IGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+Cgk8dHI+CgkJPHRoPmlkPC90aD4K CQk8dGQ+dW5pcXVlIGlkICh1c2VkIGludGVybmFsbHkgYnkgUXVpY2t0YWdzKSwgYW55IHRl eHQgeW91IHdpc2ggKGJlIGNhcmVmdWwgYWJvdXQgc3BlY2lhbCBjaGFyYWN0ZXJzCgkJb3Ig cmVhbGx5IGxvbmcgc3RyaW5ncyk8L3RkPgoJPC90cj4KCgk8dHI+CgkJPHRoPmxhYmVsPC90 aD4KCQk8dGQ+YW55IHRleHQgeW91IHdpc2g8L3RkPgoJPC90cj4KCgk8dHI+CgkJPHRoPnRh Z1N0YXJ0PC90aD4KCQk8dGQ+T3BlbmluZyB0YWcsIGFueSB0ZXh0IG9yIGh0bWwgeW91IHdp c2ggKGRvZXMgbm90IGhhdmUgdG8gYmUgc3RyaWN0bHkgYSBzaW5nbGUgaHRtbCB0YWcpLiBN YXkgYmUKCQlsZWZ0IGVtcHR5LjwvdGQ+Cgk8L3RyPgoKCTx0cj4KCQk8dGg+dGFnRW5kPC90 aD4KCQk8dGQ+Q2xvc2luZyB0YWcsIGFueSB0ZXh0IG9yIGh0bWwgeW91IHdpc2ggKGRvZXMg bm90IGhhdmUgdG8gYmUgc3RyaWN0bHkgYSBzaW5nbGUgaHRtbCB0YWcpLiBNYXkgYmUKCQls ZWZ0IGVtcHR5LjwvdGQ+Cgk8L3RyPgoKCTx0cj4KCQk8dGg+dG9vbHRpcDwvdGg+CgkJPHRk PlRleHQgdGhhdCBhcHBlYXJzIHdoZW4gdGhlIG1vdXNlIGN1cnNvciBob3ZlcnMgb3ZlciB0 aGUgYnV0dG9uLiBNYXkgYmUgbGVmdCBlbXB0eS48L3RkPgoJPC90cj4KPC90YWJsZT4KCjxw PkFkZGluZyBhbiBpbWFnZSBpbnN0ZWFkIG9mIGEgYnV0dG9uIGlzIHZlcnkgc2ltcGxlLCBh bmQgdXNlcyBuZWFybHkgaWRlbnRpY2FsIHNldHRpbmdzLjwvcD4KCjxoMz5JbWFnZSBCdXR0 b24gVGVtcGxhdGU8L2gzPgoKPHByZT48Y29kZT5lZEltZ0J1dHRvbnNbZWRJbWdCdXR0b25z Lmxlbmd0aF0gPSBuZXcgZWRJbWdCdXR0b24oaWQsIHNyYywgdGFnU3RhcnQsIHRhZ0VuZCwg dG9vbHRpcCk7CjwvY29kZT48L3ByZT4KCjxoMz5JbWFnZSBCdXR0b24gRXhhbXBsZTwvaDM+ Cgo8cHJlPjxjb2RlPmVkSW1nQnV0dG9uc1tlZEltZ0J1dHRvbnMubGVuZ3RoXSA9IG5ldyBl ZEltZ0J1dHRvbigncXQtYm9sZCcsICdib2xkLmdpZicsICc8c3Ryb25nPicsICc8L3N0cm9u Zz4nLCAnQm9sZCcpOwo8L2NvZGU+PC9wcmU+Cgo8aDM+QnV0dG9uIEFyZ3VtZW50IEV4cGxh bmF0aW9uPC9oMz4KCjxwPlRoZSBvbmx5IGRpZmZlcmVuY2UgaW4gc2V0dGluZyBpcyB0aGF0 IGl0IHRha2VzIHRoZSBhcmd1bWVudCwgJiM4MjIwO3NyYyYjODIyMTsgaW4gcGxhY2Ugb2Yg dGhlCmFyZ3VtZW50ICYjODIyMDtsYWJlbCYjODIyMTsuPC9wPgoKPHRhYmxlIGNlbGxwYWRk aW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+Cgk8dHI+CgkJPHRoPnNyYzwvdGg+CgkJPHRkPmlt YWdlIGZpbGVuYW1lLiBJbWFnZXMgbmVlZCB0byBiZSBiZSBwbGFjZWQgaW50byB0aGUgJiM4 MjIwO2ltZyYjODIyMTsgc3ViLWZvbGRlciBvZiAmIzgyMjA7cXVpY2t0YWdzJiM4MjIxOy48 L3RkPgoJPC90cj4KPC90YWJsZT4KCjxoMz5MaW5rIFRlbXBsYXRlPC9oMz4KCjxwcmU+PGNv ZGU+ZWRMaW5rc1tlZExpbmtzLmxlbmd0aF0gPSBuZXcgZWRMaW5rKHRleHQsIHVybCwgdGFy Z2V0LCByZWwsIHRvb2x0aXApOwo8L2NvZGU+PC9wcmU+Cgo8aDM+TGluayBFeGFtcGxlPC9o Mz4KCjxwcmU+PGNvZGU+ZWRMaW5rc1tlZExpbmtzLmxlbmd0aF0gPSBuZXcgZWRMaW5rKCdU ZXh0cGF0dGVybicsICdodHRwOi8vdGV4dHBhdHRlcm4uY29tLycsICcnLCAnSSAmIzM4OyM5 ODI5OyBUZXh0cGF0dGVybicpOwo8L2NvZGU+PC9wcmU+CgpoMy4gTGluayBBcmd1bWVudCBF eHBsYW5hdGlvbgoKPHRhYmxlIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+Cgk8 dHI+CgkJPHRoPnRleHQ8L3RoPgoJCTx0ZD5MaW5rIHRpdGxlLCBhbnkgdGV4dCB5b3Ugd2lz aC48L3RkPgoJPC90cj4KCgk8dHI+CgkJPHRoPnVybDwvdGg+CgkJPHRkPkxpbmsgdXJsLjwv dGQ+Cgk8L3RyPgoKCTx0cj4KCQk8dGg+dGFyZ2V0PC90aD4KCQk8dGQ+TGluayB0YXJnZXQg d2luZG93LiBNYXkgYmUgbGVmdCBlbXB0eS48L3RkPgoJPC90cj4KCgk8dHI+CgkJPHRoPnJl bDwvdGg+CgkJPHRkPkRlZmluZSBsaW5rIHJlbGF0aW9uc2hpcC4gTWF5IGJlIGxlZnQgZW1w dHkuPC90ZD4KCTwvdHI+CgoJPHRyPgoJCTx0aD50b29sdGlwPC90aD4KCQk8dGQ+VGV4dCB0 aGF0IGFwcGVhcnMgd2hlbiB0aGUgbW91c2UgY3Vyc29yIGhvdmVycyBvdmVyIHRoZSBidXR0 b24uIE1heSBiZSBsZWZ0IGVtcHR5LjwvdGQ+Cgk8L3RyPgo8L3RhYmxlPgoKPHA+TG9vayB0 aHJvdWdoIHRoZSBRdWlja3RhZyBjb25maWd1cmF0aW9uIGZpbGVzICh3cml0ZS5qcywgZm9y bXMuanMgYW5kIHBhZ2VzLmpzKSBmb3IgZnVydGhlcgpleGFtcGxlcy48L3A+Cgo8aDM+JiM4 MjIwO1NwZWNpYWwmIzgyMjE7IEJ1dHRvbnM8L2gzPgoKPHA+U2V2ZW4gb2YgdGhlIGRlZmF1 bHQgYnV0dG9ucyBhcmUgbWFya2VkICYjODIyMDtzcGVjaWFsJiM4MjIxOy4gVGhpcyBtZWFu cyB0aGF0IHRoZXkgYXJlIHByb2dyYW1tZWQKdG8gZG8gc3BlY2lhbCB1c2VyIGludGVyYWN0 aW9uLCBhbmQgdGhlcmVmb3JlIG9ubHkgdGhlaXIgbGFiZWwgYW5kL29yIHRvb2x0aXAgbWF5 IGJlIGN1c3RvbWl6ZWQuPC9wPgoKPGg0PkZ1cnRoZXIgSW5mbzwvaDQ+Cgo8dWw+Cgk8bGk+ PHN0cm9uZz5xdC1zcGFjZXI8L3N0cm9uZz46IGl0cyBwdXJwb3NlIGlzIHRvIGNhdXNlIHZp c3VhbCBzZXBhcmF0aW9uIG9mIGJ1dHRvbnMsIHNvIHlvdSBtYXkgaGF2ZSB0aGUKCWJ1dHRv bnMgYXBwZWFyIGluIGdyb3VwcywgcmF0aGVyIHRoYW4gaW1tZWRpYXRlbHkgc2lkZS1ieS1z aWRlLgoJPGxpPjxzdHJvbmc+cXQtc3BhY2VyLWJyPC9zdHJvbmc+OiBpdHMgcHVycG9zZSBp cyB0byBjYXVzZSB2aXN1YWwgc2VwYXJhdGlvbiBvZiBidXR0b25zLCBzdGFydHMgYSBuZXcg cm93CgkodGhhbmtzIEpvc2h1YSEpPC9saT4KCTxsaT48c3Ryb25nPnF0LWltYWdlPC9zdHJv bmc+OiBpbnNlcnRzIGFuIGltYWdlLjwvbGk+Cgk8bGk+PHN0cm9uZz5xdC1pbWctcG9wcGVy PC9zdHJvbmc+OiB0aWVzIHVwbV9xdWlja3RhZ3MgdG8gdXBtX2ltZ19wb3BwZXIgcGx1Z2lu ICh5b3UgaGF2ZSB0byBoYXZlIHVwbV9pbWdfcG9wcGVyCglpbnN0YWxsZWQgYW5kIGFjdGl2 YXRlZCBmb3IgdGhpcyB0byB3b3JrKTwvbGk+Cgk8bGk+PHN0cm9uZz5xdC1saW5rPC9zdHJv bmc+OiBpbnNlcnRzIGEgbGluay48L2xpPgoJPGxpPjxzdHJvbmc+cXQtc3BlbGw8L3N0cm9u Zz46IGxvb2tzIHVwIGEgd29yZCBpbiB0aGUgZGljdGlvbmFyeS48L2xpPgoJPGxpPjxzdHJv bmc+cXQtY2xvc2U8L3N0cm9uZz46IGNsb3NlcyBhbnkgYW5kIGFsbCBvcGVuIHRhZ3MuPC9s aT4KPC91bD4KCjxoMz5FbnRpdGllcyBHb3RjaGE8L2gzPgoKPHA+U2hvdWxkIHlvdSBkZXNp cmUgdG8gdXNlIG51bWVyaWMgZW50aXRpZXMgKHNwZWNpYWwgY2hhcmFjdGVycywgbGlrZSBh IGNvcHlyaWdodCBzaWduLCBmb3IgZXhhbXBsZSkgaW4KYSBidXR0b24mIzgyMTc7cyBsYWJl bCwgeW91IHdpbGwgbmVlZCB0byBlbnRlciB0aGVtIGFzIHRoZWlyIElTTyAxMDY0NiAoJiM4 MjIwO1VuaWNvZGUmIzgyMjE7KSBjaGFyYWN0ZXIKbnVtYmVycyAoZm9yIHRoZSBsYWJlbCBv bmx5KS4gQSBzaG9ydCBsaXN0IG9mIGNvbW1vbiBlbnRpdGllcyBoYXMgYmVlbiBwcm92aWRl ZCBiZWxvdy4KPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc2dtbC9lbnRp dGllcy5odG1sIj5BIG1vcmUgY29tcGxldGUgbGlzdCBpcyBhdmFpbGFibGU8L2E+LCBhbmQg YQpjb252ZXJ0ZXIgaGFzIGJlZW4gaW5jbHVkZWQgaGVyZSB0byBoZWxwIHlvdSBhcyB3ZWxs LiBUaGlzIGlzIG5vdCByZXF1aXJlZCBmb3IgdGhlIGFjdHVhbCB0ZXh0IHRoYXQgdGhlCmJ1 dHRvbnMgaW5zZXJ0LjwvcD4KCjxoND5DaGFyYWN0ZXIgYW5kIEVudGl0eSBDb252ZXJ0b3I8 L2g0PgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0idXBtX3F1aWNrdGFn cy9saWIvY29udmVydGVyLmpzIj48L3NjcmlwdD4KCjxmb3JtIGFjdGlvbj0iIj4KPGZpZWxk c2V0PgoJPGxlZ2VuZD5DaGFyYWN0ZXIgdG8gVW5pY29kZTwvbGVnZW5kPgoKCTxwPkV4YW1w bGU6ICYjMTY5OyAoYSBjb3B5cmlnaHQgc2lnbik8L3A+Cgk8bGFiZWwgZm9yPSJzeW1ib2wi PkNoYXJhY3RlcjwvbGFiZWw+OiA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InN5bWJvbCIgbmFt ZT0ic3ltYm9sIiB2YWx1ZT0iwqkiIC8+PGJyIC8+CgoJPGxhYmVsIGZvcj0ic3ltYm9sX291 dCI+VW5pY29kZTwvbGFiZWw+OiA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InN5bWJvbF9vdXQi IG5hbWU9InN5bWJvbF9vdXQiIHZhbHVlPSIiIC8+PGJyIC8+Cgk8aW5wdXQgdHlwZT0ic3Vi bWl0IiB2YWx1ZT0iQ29udmVydCIgb25jbGljaz0iZnJvbUNoYXIoKTsgcmV0dXJuIGZhbHNl OyIgLz4KPC9maWVsZHNldD4KPC9mb3JtPgoKPGZvcm0gYWN0aW9uPSIiPgo8ZmllbGRzZXQ+ Cgk8bGVnZW5kPkFTQ0lJIHRvIFVuaWNvZGU8L2xlZ2VuZD4KCgk8cD5FeGFtcGxlOiAxNjkg KGEgY29weXJpZ2h0IHNpZ24pPC9wPgoJPGxhYmVsIGZvcj0iYXNjIj5FbnRpdHk8L2xhYmVs PjogPGlucHV0IHR5cGU9InRleHQiIGlkPSJhc2MiIG5hbWU9ImFzYyIgdmFsdWU9IjE2OSIg Lz48YnIgLz4KCTxsYWJlbCBmb3I9ImFzY19vdXQiPlVuaWNvZGU8L2xhYmVsPjogPGlucHV0 IHR5cGU9InRleHQiIGlkPSJhc2Nfb3V0IiBuYW1lPSJhc2Nfb3V0IiB2YWx1ZT0iIiAvPjxi ciAvPgoKCTxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJDb252ZXJ0IiBvbmNsaWNrPSJm cm9tQXNjKCk7IHJldHVybiBmYWxzZTsiIC8+CjwvZmllbGRzZXQ+CjwvZm9ybT4KCjxoND5D b21tb24gRW50aXRpZXM8L2g0PgoKPHRhYmxlIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2lu Zz0iNSIgYm9yZGVyPSIwIiBpZD0ibGlzdCI+Cgk8dHI+CgkJPHRoPk5hbWU8L3RoPgoJCTx0 aD5DaGFyYWN0ZXI8L3RoPgoJCTx0aD5OdW1lcmljIEVudGl0eTwvdGg+CgkJPHRoPlVuaWNv ZGU8L3RoPgoJPC90cj4KCgk8dHI+CgkJPHRkPmFtcGVyc2FuZDwvdGQ+CgkJPHRkPiYjMzg7 PC90ZD4KCQk8dGQ+PGNvZGU+JiMzODsjMzg7PC9jb2RlPjwvdGQ+CgkJPHRkPjxjb2RlPlx1 MDAyNjwvY29kZT48L3RkPgoJPC90cj4KCgk8dHI+CgkJPHRkPmNvcHlyaWdodDwvdGQ+CgkJ PHRkPiYjMTY5OzwvdGQ+CgkJPHRkPjxjb2RlPiYjMzg7IzE2OTs8L2NvZGU+PC90ZD4KCQk8 dGQ+PGNvZGU+XHUwMGE5PC9jb2RlPjwvdGQ+Cgk8L3RyPgoKCTx0cj4KCQk8dGQ+ZW4gZGFz aDwvdGQ+CgkJPHRkPiYjODIxMTs8L3RkPgoJCTx0ZD48Y29kZT4mIzM4OyM4MjExOzwvY29k ZT48L3RkPgoJCTx0ZD48Y29kZT5cdTIwMTM8L2NvZGU+PC90ZD4KCTwvdHI+CgoJPHRyPgoJ CTx0ZD5lbSBkYXNoPC90ZD4KCQk8dGQ+JiM4MjEyOzwvdGQ+CgkJPHRkPjxjb2RlPiYjMzg7 IzgyMTI7PC9jb2RlPjwvdGQ+CgkJPHRkPjxjb2RlPlx1MjAxNDwvY29kZT48L3RkPgoJPC90 cj4KCgk8dHI+CgkJPHRkPmxlZnQgc2luZ2xlIHF1b3RhdGlvbiBtYXJrPC90ZD4KCQk8dGQ+ JiM4MjE2OzwvdGQ+CgkJPHRkPiYjMzg7IzgyMTY7PC90ZD4KCQk8dGQ+PGNvZGU+XHUyMDE4 PC9jb2RlPjwvdGQ+Cgk8L3RyPgoKCTx0cj4KCQk8dGQ+cmlnaHQgc2luZ2xlIHF1b3RhdGlv biBtYXJrPC90ZD4KCQk8dGQ+JiM4MjE3OzwvdGQ+CgkJPHRkPjxjb2RlPiYjMzg7IzgyMTc7 PC9jb2RlPjwvdGQ+CgkJPHRkPjxjb2RlPlx1MjAxOTwvY29kZT48L3RkPgoJPC90cj4KCgk8 dHI+CgkJPHRkPmxlZnQgZG91YmxlIHF1b3RhdGlvbiBtYXJrPC90ZD4KCQk8dGQ+JiM4MjIw OzwvdGQ+CgkJPHRkPjxjb2RlPiYjMzg7IzgyMjA7PC9jb2RlPjwvdGQ+CgkJPHRkPjxjb2Rl Plx1MjAxYzwvY29kZT48L3RkPgoJPC90cj4KCgk8dHI+CgkJPHRkPnJpZ2h0IGRvdWJsZSBx dW90YXRpb24gbWFyazwvdGQ+CgkJPHRkPiYjODIyMTs8L3RkPgoJCTx0ZD48Y29kZT4mIzM4 OyM4MjIxOzwvY29kZT48L3RkPgoJCTx0ZD48Y29kZT5cdTIwMWQ8L2NvZGU+PC90ZD4KCTwv dHI+CjwvdGFibGU+Cgo8aDI+RXh0cmEgU2V0dGluZ3M8L2gyPgoKPHA+WW91IG1heSBsZWF2 ZSB0aGVzZSBleHRyYSBzZXR0aW5nIGxpbmVzIG91dCBvZiB5b3VyIGNvbmZpZyBmaWxlcyBh bHRvZ2V0aGVyLCBhbmQgdGhlIHBsdWdpbiB3aWxsIHVzZQpkZWZhdWx0IHZhbHVlcy48L3A+ Cgo8aDM+eGh0bWw8L2gzPgoKPHA+QWxsIHRocmVlIGNvbmZpZy4gZmlsZXMgY29udGFpbiB0 aGlzIGxpbmU6PC9wPgoKPHByZT48Y29kZT54aHRtbCA9ICd5ZXMnOwo8L2NvZGU+PC9wcmU+ Cgo8cD5CeSBkZWZhdWx0LCB0aGUgc3BlY2lhbCBpbnNlcnQgaW1hZ2UgYnV0dG9uIG91dHB1 dHMgeGh0bWwuIElmIHlvdSBhcmUgdXNpbmcgaHRtbCBpbiB5b3VyIHNpdGUsIHNpbXBseQpj aGFuZ2UgdGhpcyBzZXR0aW5nIHRvICYjODIxNjtubyYjODIxNzsuPC9wPgoKPGgzPnNob3dM aW5rczwvaDM+Cgo8cD5BbGwgdGhyZWUgY29uZmlnLiBmaWxlcyBjb250YWluIGEgc2ltaWxh ciBsaW5lOjwvcD4KCjxwcmU+PGNvZGU+c2hvd0xpbmtzID0gJ3llcyc7CjwvY29kZT48L3By ZT4KCjxwPk9uZSBvZiBRdWlja3RhZyYjODIxNztzIGZlYXR1cmVzIGlzIHRoZSBhYmlsaXR5 IHRvIHF1aWNrbHkgYWRkIG1hcmt1cCBmb3IgZnJlcXVlbnRseSByZWZlcmVuY2VkIHVybHMs CndoaWNoIGFwcGVhciBpbiBhIGRyb3Bkb3duIG1lbnUuIFNob3VsZCB5b3Ugd2lzaCB0byB0 dXJuIHRoaXMgZmVhdHVyZSBvZmYsIGNoYW5nZSB0aGUgdmFsdWUgdG8KJiM4MjE2O25vJiM4 MjE3Oy48L3A+Cgo8aDM+dG9vbGJhcl93aWR0aDwvaDM+Cgo8cD5UaGUgZm9ybSAoZm9ybXMu anMpIGFuZCBwYWdlIChwYWdlcy5qcykgY29uZmlnLiBmaWxlcyBjb250YWluIGEgc2ltaWxh ciBsaW5lOjwvcD4KCjxwcmU+PGNvZGU+dmFyIHRvb2xiYXJfd2lkdGggPSAnNjAwcHgnOwo8 L2NvZGU+PC9wcmU+Cgo8cD5JdHMgZnVuY3Rpb24gaXMgdG8gd3JhcCB0aGUgdG9vbGJhciB0 byBtYXRjaCB0aGUgdGV4dGFyZWEmIzgyMTc7cyBzaXplLiBXaGlsZSBJIGNvdWxkIGhhcmQt Y29kZSB0aGlzCmluZm9ybWF0aW9uLCBJIGRlY2lkZWQgdG8gbWFrZSBpdCBhIHNldHRpbmcs IGluIGNhc2Ugb2YgYSB1c2VyIG1vZCBvciBwbHVnaW4gY2hhbmdpbmcgdGhlIHRleHRhcmVh JiM4MjE3O3MKc2l6ZS4gSWYgdGhpcyBoYXBwZW5zLCBjaGFuZ2UgdGhlIHdpZHRoIHRvIG1h dGNoIHRoZSBuZXcgc2l6ZSBvZiB0aGUgdGV4dGFyZWEuPC9wPgoKPGgyPkFkdmFuY2VkIEVu aGFuY2VtZW50czwvaDI+Cgo8cD51cG1fcXVpY2t0YWdzIGFsbG93cyB5b3UgdG8gZXh0ZW5k IGl0IHdpdGhvdXQgaGFja3MuIFNpbXBseSBhZGQgeW91ciBvd24gSmF2YVNjcmlwdCB0byB0 aGUgc3VwcGxpZWQKY3VzdG9tLmpzIGZpbGUuIFlvdSBjYW4gdXNlIHlvdXIgb3duIGZ1bmN0 aW9ucyBhbmQgY3JlYXRlIHlvdXIgb3duIGJ1dHRvbnMsIGJ1dCBzdGlsbCBtYWtlIHVzZSBv ZiB0aGUKZ2VuZXJpYyBmdW5jdGlvbnMgc3VwcGxpZWQuIFlvdSBjYW4gdXNlIGFueSwgYWxs LCBvciBub25lIG9mIHRoZSBkZWZhdWx0IGJ1dHRvbnMuIEl0JiM4MjE3O3MgYWxsIHVwIHRv CnlvdXIgaW1hZ2luYXRpb24gYW5kIHlvdXIgc2NyaXB0aW5nIHNraWxscy48L3A+Cgo8cD5U aGlzIGlzIGNvbnNpZGVyZWQgYWR2YW5jZWQsIGFuZCBpcyBpbnRlbmRlZCB0byBiZSB1c2Vk IGJ5IHRob3NlIHdobyBrbm93IEphdmFTY3JpcHQuIEkgY2FuJiM4MjE3O3QKcHJvbWlzZSB0 byBzdXBwb3J0IHdoYXRldmVyIGNoYW5nZXMgeW91IG1ha2UsIHNvIGRvbiYjODIxNzt0IGRv IHRoaXMgdW5sZXNzIHlvdSYjODIxNztyZSBwcmVwYXJlZCB0bwpoYW5kbGUgaXQgeW91cnNl bGYuPC9wPgoKPGgyPlN1cHBvcnRlZCBCcm93c2VyczwvaDI+Cgo8cD5QbGVhc2Ugbm90aWZ5 IG1lIG9mIGFueSBicm93c2VycyB0aGlzIHBsdWdpbiBkb2VzIG9yIGRvZXMgbm90IHdvcmsg aW4sIGlmIGl0IGhhcyBub3QgYWxyZWFkeSBiZWVuCmxpc3RlZCBiZWxvdy48L3A+Cgo8cD5U aGlzIHBsdWdpbiBpcyBrbm93biB0byB3b3JrIGluOiBGaXJlZm94IDEuMC4yIChXaW4pIGFu ZCBJbnRlcm5ldCBFeHBsb3JlciA2IFNQMiAoV2luKS4gSXQgaGFzIGFsbW9zdApzZWFtbGVz cyBzdXBwb3J0IGluIE9wZXJhIDggKFdpbiksIGJ1dCBsaW1pdGVkIHN1cHBvcnQgaW4gdGhl IHZlcnNpb25zIHByZWNlZWRpbmcgaXQuPC9wPgoKPGgyPlN1Z2dlc3Rpb25zPC9oMj4KCjxw PkkgYW0gYWx3YXlzIHdpbGxpbmcgdG8gdGFrZSBzdWdnZXN0aW9ucyBmb3IgdGhpcyBwbHVn aW4uIFN1Z2dlc3RlZCBjaGFuZ2VzIGZvciB0aGUgZGVmYXVsdCBzZXR0aW5ncyBhbmQKYnV0 dG9ucyBzaGlwcGVkIHdpdGggdGhpcyBwbHVnaW4gbWF5IGJlIHVzZWQsIGlmIGl0IGlzIGZl bHQgdGhhdCBhIGxhcmdlIG51bWJlciBvZiB1c2VycyB3b3VsZCBkZXNpcmUgaXQuCk5ldmVy dGhlbGVzcywgZmVlbCBmcmVlIHRvIHNoYXJlIHlvdXIgUXVpY2t0YWdzIGNvbmZpZ3VyYXRp b24gd2l0aCBvdGhlciB1c2Vycy48L3A+Cgo8aDI+Q3JlZGl0czwvaDI+Cgo8cD48YSBocmVm PSJodHRwOi8vd3d3LmFsZXhraW5nLm9yZy8iPkFsZXggS2luZzwvYT4gd3JvdGUgUXVpY2t0 YWdzLCBhbmQgcmVsZWFzZWQgaXQgdW5kZXIgdGhlCjxhIGhyZWY9Imh0dHA6Ly9nbnUub3Jn L2NvcHlsZWZ0L2xlc3Nlci5odG1sIj5MR1BMIGxpY2Vuc2U8L2E+LjwvcD4KCjxwPk11Y2gg dGhhbmtzIGdvZXMgdG86PC9wPgoKPHVsPgoJPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuaGFr am9vbi5jb20vIj5QYXRyaWNrIFdvb2RzPC9hPiAoYWthICYjODIyMDtoYWtqb29uJiM4MjIx Oyk8L2xpPgoJPGxpPjxhIGhyZWY9Imh0dHA6Ly90aHJlc2hvbGRzdGF0ZS5jb20vIj5BbGV4 IFNoaWVsczwvYT4gKGFrYSAmIzgyMjA7emVtJiM4MjIxOyk8L2xpPgoJPGxpPjxhIGhyZWY9 Imh0dHA6Ly9taWNhbXBlLml0L2xvZyI+TWljaGVsZSBDYW1wZW90dG88L2E+IChha2EgJiM4 MjIwO21pY2FtcGUmIzgyMjE7KTwvbGk+Cgk8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy53aWxz aGlyZW9uZS5jb20vIj5Sb2IgU2FibGU8L2E+IChha2EgJiM4MjIwO3dpbHNoaXJlJiM4MjIx Oyk8L2xpPgo8L3VsPgoKPHA+SSBzdHVkaWVkIHRoZWlyIGV4YW1wbGVzIGFuZCBwbHVnaW5z IGluIG9yZGVyIHRvIG1ha2UgdGhpcyBvbmUuIFBhcnRpY3VsYXIgdGhhbmtzIGdvZXMgdG8g UGF0cmljazoKSSYjODIxNzt2ZSBtYWRlIHVzZSBvZiBoaXMgbW9kaWZpZWQgdmVyc2lvbiBv ZiBRdWlja3RhZ3MuPC9wPgoKPHA+QWRkaXRpb25hbCB0aGFua3MgZ29lcyB0byB0aGUgc2V2 ZXJhbCB1c2VycyB3aG8gJiM4MjIwO2JldGEtdGVzdGVkJiM4MjIxOyB0aGlzIHBsdWdpbiwg b2ZmZXJlZCB0aGVpcgppZGVhcywgYW5kIGhlbHBlZCBtZSBpcm9uIG91dCB0aGUgd3Jpbmts ZXMuJiM4MjEyO01hcnk8L3A+IjtzOjE1OiJhbGxvd19odG1sX2hlbHAiO2k6MTtzOjM6Im1k NSI7czozMjoiNjIxYjU5NmVkMjY4NmFmNjZmMjRjMTUyMmY1MWY3OTIiO30=