PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIgogICAgICAgICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0cmljdC5kdGQiPgo8aHRtbD4KPGhlYWQ+CiAgPE1FVEEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSIgLz4KICA8dGl0bGU+Vk1LaXQgLSBHZXR0aW5nIFN0YXJ0ZWQ8L3RpdGxlPgogIDxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9Im1lbnUuY3NzIiAvPgogIDxsaW5rIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIGhyZWY9ImNvbnRlbnQuY3NzIiAvPgo8L2hlYWQ+Cjxib2R5PgoKPCEtLSNpbmNsdWRlIHZpcnR1YWw9Im1lbnUuaHRtbC5pbmNsIi0tPgoKPGRpdiBpZD0iY29udGVudCI+CgogIDwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4KICA8aDEgc3R5bGU9ImJhY2tncm91bmQ6cmVkIj48Y2VudGVyPlRoZSBWTUtpdCBwcm9qZWN0IGlzIHJldGlyZWQ8L2NlbnRlcj48L2gxPgogIDwhLS0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiotLT4KCgk8Zm9udCBjb2xvcj0icmVkIj4KCQk8cD5Zb3UgY2FuIHN0aWxsIHBsYXkgd2l0aCB0aGUgbGFzdCBWTUtpdCByZWxlYXNlLCBidXQgdGhlIHByb2plY3QgaXMgbm90IG1vcmUgbWFpbnRhaW5lZC4KCQlNb3Jlb3ZlciwgdGhlIGluZm9ybWF0aW9uIG9uIHRoZXNlIHBhZ2VzIG1heSBiZSBvdXQgb2YgZGF0ZS48L3A+CgoJCTxwPklmIHlvdSBhcmUgaW50ZXJlc3RlZCBpbiByZXN0YXJ0aW5nIHRoZSBwcm9qZWN0LCAKCQkJcGxlYXNlIGNvbnRhY3QgPGEgaHJlZj0ibWFpbHRvOmdhZWwudGhvbWFzMDBAZ21haWwuY29tIj5HYetsIFRob21hczwvYT48L3A+Cgk8L2ZvbnQ+CgoKPGgxPkdldHRpbmcgU3RhcnRlZDogQnVpbGRpbmcgYW5kIFJ1bm5pbmcgVk1LaXQ8L2gxPgoKCjxwPlRoaXMgcGFnZSBnaXZlcyB5b3UgdGhlIHNob3J0ZXN0IHBhdGggdG8gY2hlY2tpbmcgb3V0IHZta2l0IGFuZCBkZW1vcyBhIGZldwpvcHRpb25zLiAgVGhpcyBzaG91bGQgZ2V0IHlvdSB1cCBhbmQgcnVubmluZyB3aXRoIHRoZSBtaW5pbXVtIG9mIG11c3MgYW5kIGZ1c3MuCklmIHlvdSBsaWtlIHdoYXQgeW91IHNlZSwgcGxlYXNlIGNvbnNpZGVyIDxhIGhyZWY9ImdldF9pbnZvbHZlZC5odG1sIj5nZXR0aW5nCmludm9sdmVkPC9hPiB3aXRoIHRoZSB2bWtpdCBjb21tdW5pdHkuPC9wPgoKPGgyIGlkPSJidWlsZCI+QnVpbGRpbmcgdm1raXQgLyB3b3JraW5nIHdpdGggdGhlIGNvZGU8L2gyPgoKPHA+SWYgeW91IHdvdWxkIGxpa2UgdG8gY2hlY2sgb3V0IGFuZCBidWlsZCB0aGUgcHJvamVjdCwgdGhlIGN1cnJlbnQgc2NoZW1lCmlzOjwvcD4KCjwhLS0gPHA+PGI+UHJlcmVxdWlzaXRlczwvYj48YnIvPiAtLT4KPCEtLSBZb3Ugd2lsbCBoYXZlIHRvIGluc3RhbGwgYSBDKysgY29tcGlsZXIgYW5kIEphdmEgMS41IG9yIG1vcmUgaW4gb3JkZXIgdG8gLS0+CjwhLS0gY29tcGlsZSB2bWtpdDI8L3A+IC0tPgoKPG9sPgogIDxsaT5Eb3dubG9hZCA8YSBocmVmPSJodHRwOi8vbGx2bS5vcmcvcmVsZWFzZXMvMy4zL2xsdm0tMy4zLnNyYy50YXIuZ3oiPgogICAgTExWTSAzLjM8L2E+IGFuZCAKICAgIDxhIGhyZWY9Imh0dHA6Ly9sbHZtLm9yZy9yZWxlYXNlcy8zLjMvY2ZlLTMuMy5zcmMudGFyLmd6Ij5DbGFuZyAzLjM8L2E+CiAgICBzb3VyY2UgY29kZS4KICA8L2xpPgoKICA8dWw+CiAgICA8bGk+PHR0PnRhciB6eHZmIGxsdm0tMy4zLnNyYy50YXIuZ3o8L3R0PjwvbGk+CiAgICA8bGk+PHR0PmNkIGxsdm0tMy4zLnNyYy90b29sczwvbGk+PC90dD4KICAgIDxsaT48dHQ+dGFyIHp4dmYgLi4vLi4vY2ZlLTMuMy5zcmMudGFyLmd6PC90dD48L2xpPgogICAgPGxpPjx0dD5tdiBjZmUtMy4zLnNyYyBjbGFuZzwvbGk+PC90dD4KICAgIDxsaT48dHQ+Y2QgLi48L2xpPjwvdHQ+CiAgICA8bGk+PHR0Pi4vY29uZmlndXJlIC0tZW5hYmxlLW9wdGltaXplZDsgbWFrZTwvdHQ+PC9saT4KICA8L3VsPgogIDxicj5Ob3RlOiBUbyBjb21waWxlIExMVk0gYW5kIFZNS2l0IHdpdGggUlRUSSBlbmFibGVkLCBvbmUgY2FuIHBhc3MgdGhlIHBhcmFtZXRlcgpSRVFVSVJFU19SVFRJPTEgdG8gbGx2bSBtYWtlLiBQYXNzaW5nIHRoaXMgYXJndW1lbnQgcmVtb3ZlcyB0aGUgZmxhZyAtZm5vLXJ0dGkgZnJvbQp0aGUgY29tcGlsZXIgb3B0aW9ucy4gRXg6ICQgbWFrZSBSRVFVSVJFU19SVFRJPTEKCQoJPHA+Cgk8bGk+RG93bmxvYWQsIGNvbXBpbGUgYW5kIGluc3RhbGwgPGEgaHJlZj0iaHR0cDovL29wZW5qZGsuamF2YS5uZXQvIj5PcGVuamRrPC9hPiB2ZXJzaW9uIDZ1MjMKPCEtLSAgIDxwPjxiPlNraXAgdGhlIENsYXNzcGF0aCBzdGVwcyBpZiB5b3UgcGxhbiB0byB1c2UgT3BlbkpESy48L2I+PGJyLz4gLS0+CjwhLS0gICA8bGk+PGEgaHJlZj0iZnRwOi8vZnRwLmdudS5vcmcvZ251L2NsYXNzcGF0aC9jbGFzc3BhdGgtMC45OS50YXIuZ3oiPkRvd25sb2FkIC0tPgo8IS0tICAgIEdOVSBDbGFzc3BhdGggMC45OTwvYT46PC9saT4gLS0+Cgo8IS0tICAgPHVsPiAtLT4KPCEtLSAgICAgPGxpPjx0dD50YXIgenh2ZiBjbGFzc3BhdGgtMC45OS50YXIuZ3o8L3R0PjwvbGk+IC0tPgo8IS0tICAgICA8bGk+PHR0PmNkIGNsYXNzcGF0aC0wLjk5PC90dD48L2xpPiAtLT4KPCEtLSAgICAgPGxpPjx0dD4uL2NvbmZpZ3VyZSAtLWRpc2FibGUtcGx1Z2luIC0tZGlzYWJsZS1leGFtcGxlcyAtLWRpc2FibGUtV2Vycm9yOyAtLT4KPCEtLSAgICAgbWFrZTwvdHQ+PC9saT4gLS0+CjwhLS0gICAgIDxsaT48dHQ+Y2QgbGliPC9saT48L3R0PiAtLT4KPCEtLSAgICAgPGxpPjx0dD5JZiB5b3UgYXJlIHJ1bm5pbmcgb24gTGludXg6PC9saT48L3R0PiAtLT4KPCEtLSAgICAgPHVsPiAtLT4KPCEtLSAgICAgICA8bGk+PHR0PmxuIC1zIC4uL25hdGl2ZS9qbmkvZ3RrLXBlZXIvLmxpYnMvbGliZ3RrcGVlci5zbzs8L2xpPjwvdHQ+IC0tPgo8IS0tICAgICAgIDxsaT48dHQ+bG4gLXMgLi4vbmF0aXZlL2puaS9nY29uZi1wZWVyLy5saWJzL2xpYmdjb25mcGVlci5zbzs8L2xpPjwvdHQ+IC0tPgo8IS0tICAgICAgIDxsaT48dHQ+bG4gLXMgLi4vbmF0aXZlL2puaS9qYXZhLWlvLy5saWJzL2xpYmphdmFpby5zbzs8L2xpPjwvdHQ+IC0tPgo8IS0tICAgICAgIDxsaT48dHQ+bG4gLXMgLi4vbmF0aXZlL2puaS9qYXZhLWxhbmcvLmxpYnMvbGliamF2YWxhbmdyZWZsZWN0LnNvOzwvbGk+IC0tPgo8IS0tICAgICAgIDwvdHQ+IC0tPgo8IS0tICAgICAgIDxsaT48dHQ+bG4gLXMgLi4vbmF0aXZlL2puaS9qYXZhLWxhbmcvLmxpYnMvbGliamF2YWxhbmcuc287PC9saT48L3R0PiAtLT4KPCEtLSAgICAgICA8bGk+PHR0PmxuIC1zIC4uL25hdGl2ZS9qbmkvamF2YS1uZXQvLmxpYnMvbGliamF2YW5ldC5zbzs8L2xpPjwvdHQ+IC0tPgo8IS0tICAgICAgIDxsaT48dHQ+bG4gLXMgLi4vbmF0aXZlL2puaS9qYXZhLW5pby8ubGlicy9saWJqYXZhbmlvLnNvOzwvbGk+PC90dD4gLS0+CjwhLS0gICAgICAgPGxpPjx0dD5sbiAtcyAuLi9uYXRpdmUvam5pL2phdmEtdXRpbC8ubGlicy9saWJqYXZhdXRpbC5zbzs8L2xpPjwvdHQ+IC0tPgo8IS0tICAgICA8L3VsPiAtLT4KPCEtLSAgICAgPGxpPjx0dD5JZiB5b3UgYXJlIHJ1bm5pbmcgb24gTWFjT1M6PC9saT48L3R0PiAtLT4KPCEtLSAgICAgPHVsPiAtLT4KPCEtLSAgICAgICA8bGk+PHR0PmxuIC1zIC4uL25hdGl2ZS9qbmkvZ3RrLXBlZXIvLmxpYnMvbGliZ3RrcGVlci5keWxpYjs8L2xpPjwvdHQ+IC0tPgo8IS0tICAgICAgIDxsaT48dHQ+bG4gLXMgLi4vbmF0aXZlL2puaS9nY29uZi1wZWVyLy5saWJzL2xpYmdjb25mcGVlci5keWxpYjs8L2xpPjwvdHQ+IC0tPgo8IS0tICAgICAgIDxsaT48dHQ+bG4gLXMgLi4vbmF0aXZlL2puaS9qYXZhLWlvLy5saWJzL2xpYmphdmFpby5keWxpYjs8L2xpPjwvdHQ+IC0tPgo8IS0tICAgICAgIDxsaT48dHQ+bG4gLXMgLi4vbmF0aXZlL2puaS9qYXZhLWxhbmcvLmxpYnMvbGliamF2YWxhbmdyZWZsZWN0LmR5bGliOyAtLT4KPCEtLSAgICAgICA8L2xpPjwvdHQ+IC0tPgo8IS0tICAgICAgIDxsaT48dHQ+bG4gLXMgLi4vbmF0aXZlL2puaS9qYXZhLWxhbmcvLmxpYnMvbGliamF2YWxhbmcuZHlsaWI7PC9saT48L3R0PiAtLT4KPCEtLSAgICAgICA8bGk+PHR0PmxuIC1zIC4uL25hdGl2ZS9qbmkvamF2YS1uZXQvLmxpYnMvbGliamF2YW5ldC5keWxpYjs8L2xpPjwvdHQ+IC0tPgo8IS0tICAgICAgIDxsaT48dHQ+bG4gLXMgLi4vbmF0aXZlL2puaS9qYXZhLW5pby8ubGlicy9saWJqYXZhbmlvLmR5bGliOzwvbGk+PC90dD4gLS0+CjwhLS0gICAgICAgPGxpPjx0dD5sbiAtcyAuLi9uYXRpdmUvam5pL2phdmEtdXRpbC8ubGlicy9saWJqYXZhdXRpbC5keWxpYjs8L2xpPjwvdHQ+IC0tPgo8IS0tICAgICA8L3VsPiAtLT4KPCEtLSAgIDwvdWw+IC0tPgogIAogIDxsaT5DaGVja291dCB2bWtpdDo8L2xpPgogIDx1bD4KICAgIDxsaT48dHQ+c3ZuIGNvIGh0dHA6Ly9sbHZtLm9yZy9zdm4vbGx2bS1wcm9qZWN0L3Zta2l0L3RydW5rIHZta2l0PC90dD48L2xpPgogIDwvdWw+CgogIDxsaT5Db25maWd1cmUgdm1raXQ6PC9saT4KICA8dWw+CiAgICA8bGk+PHR0Pi4vY29uZmlndXJlIDwvdHQ+PC9saT4KICAgIDxkbD4KICAgICAgPGR0Pjx0dD4tLXdpdGgtbGx2bS1jb25maWctcGF0aD0mbHQ7cGF0aC90by9sbHZtLWNvbmZpZyZndDs8L3R0PjwvZHQ+CiAgICAgIDxkZD5UZWxsIHZta2l0IHdoZXJlIHRoZSBsbHZtLWNvbmZpZyBiaW5hcnkgaXMgbG9jYXRlZC48L2RkPgogICAgICA8ZHQ+PGJyLz48dHQ+LS13aXRoLW1tdGstcGxhbj08L3R0PiA8L2R0PgogICAgICA8ZGQ+CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPjx0dD5vcmcubW10ay5wbGFuLm1hcmtzd2VlcC5NUyAoZGVmYXVsdCk8L3R0PjwvbGk+CiAgICAgICAgICA8bGk+PHR0Pm9yZy5tbXRrLnBsYW4uY29weW1zLkNvcHlNUzwvdHQ+PC9saT4KICAgICAgICAgIDxsaT48dHQ+b3JnLm1tdGsucGxhbi5zZW1pc3BhY2UuU1M8L3R0PjwvbGk+CiAgICAgICAgICA8bGk+PHR0Pm9yZy5tbXRrLnBsYW4uaW1taXguSW1taXg8L3R0PjwvbGk+CiAgICAgICAgICA8bGk+PHR0Pm9yZy5tbXRrLnBsYW4uZ2VuZXJhdGlvbmFsLm1hcmtzd2VlcC5HZW5NUzwvdHQ+PC9saT4KICAgICAgICAgIDxsaT48dHQ+b3JnLm1tdGsucGxhbi5nZW5lcmF0aW9uYWwuY29weWluZy5HZW5Db3B5PC90dD48L2xpPgogICAgICAgICAgPGxpPjx0dD5vcmcubW10ay5wbGFuLmdlbmVyYXRpb25hbC5pbW1peC5HZW5JbW1peDwvdHQ+PC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2RkPgogICAgICA8ZHQ+CiAgICAgICAgPHR0Pi0td2l0aC1jbGFzc3BhdGgtaW1wbD1vcGVuamRrPC90dD4KICAgICAgPC9kdD4KICAgICAgPGRkPlRlbGwgdm1raXQgdG8gdXNlIE9wZW5KREsgY2xhc3NwYXRoIGltcGxlbWVudGF0aW9uLjwvZGQ+CiAgICAgIDxici8+CiAgICAgIDxkdD4KICAgICAgICA8dHQ+LS13aXRoLW9wZW5qZGstcGF0aD0mbHQ7ZGlyZWN0b3J5Jmd0OzwvdHQ+CiAgICAgIDwvZHQ+CiAgICAgIDxkZD5UZWxsIHZta2l0IHdoZXJlIE9wZW5KREsgaXMgbG9jYXRlZC48L2RkPgogICAgPC9kbD4KICA8L3VsPgoKICA8bGk+QnVpbGQgdm1raXQ6PC9saT4KICA8dWw+CiAgICA8bGk+PHR0Pm1ha2U8L3R0PiAodGhpcyB3aWxsIGdpdmUgeW91IGEgcmVsZWFzZSBidWlsZCk8L2xpPgogIDwvdWw+CgogIDxsaT5UcnkgaXQgb3V0OiAoYXNzdW1pbmcgdm1raXQvUmVsZWFzZStBc3NlcnRzL2JpbiBpcyBpbiB5b3VyIHBhdGgpPC9saT4KICA8dWw+CiAgICA8bGk+PHR0PmozIC0taGVscDwvdHQ+PC9saT4KICAgIDxsaT48dHQ+ajMgSGVsbG9Xb3JsZDwvdHQ+PC9saT4KICA8L3VsPgo8L29sPgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==