<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>14634</bug_id>
          
          <creation_ts>2011-10-31 18:44:51 +0000</creation_ts>
          <short_desc>[PATCH] Send Referer header</short_desc>
          <delta_ts>2011-11-05 09:17:06 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>CSSValidator</product>
          <component>Other</component>
          <version>CSS Validator</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ville Skyttä">ville.skytta</reporter>
          <assigned_to name="This bug has no owner yet - up for the taking">dave.null</assigned_to>
          
          
          <qa_contact name="qa-dev tracking">www-validator-cvs</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>59313</commentid>
    <comment_count>0</comment_count>
      <attachid>1039</attachid>
    <who name="Ville Skyttä">ville.skytta</who>
    <bug_when>2011-10-31 18:44:51 +0000</bug_when>
    <thetext>Created attachment 1039
Send Referer header

I was looking at qa-dev logs to see if some of the markup validator&apos;s old CSS files were in use by something.  I found that the CSS validator hits some of them, but that was a dead end because it does not send the Referer header that would have revealed where those files are being linked to.

Thus the attached patch which makes it send the Referer header, tested on command line only.  Ok if I go ahead and commit this to CVS?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>59640</commentid>
    <comment_count>1</comment_count>
    <who name="Ville Skyttä">ville.skytta</who>
    <bug_when>2011-11-05 09:17:06 +0000</bug_when>
    <thetext>Done in a different way in CVS.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>1039</attachid>
            <date>2011-10-31 18:44:51 +0000</date>
            <delta_ts>2011-10-31 18:44:51 +0000</delta_ts>
            <desc>Send Referer header</desc>
            <filename>referrer.patch</filename>
            <type>text/plain</type>
            <size>17509</size>
            <attacher name="Ville Skyttä">ville.skytta</attacher>
            
              <data encoding="base64">SW5kZXg6IG9yZy93M2MvY3NzL2Nzcy9Dc3NQYXJzZXIuamF2YQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl
OiAvc291cmNlcy9wdWJsaWMvMjAwMi9jc3MtdmFsaWRhdG9yL29yZy93M2MvY3NzL2Nzcy9Dc3NQ
YXJzZXIuamF2YSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS42CmRpZmYgLXUgLXIxLjYgQ3NzUGFy
c2VyLmphdmEKLS0tIG9yZy93M2MvY3NzL2Nzcy9Dc3NQYXJzZXIuamF2YQkxNCBTZXAgMjAwNSAx
NToxNDoxNyAtMDAwMAkxLjYKKysrIG9yZy93M2MvY3NzL2Nzcy9Dc3NQYXJzZXIuamF2YQkzMSBP
Y3QgMjAxMSAxODozODo1MyAtMDAwMApAQCAtNjAsNyArNjAsNyBAQAogICAgICAqIEBwYXJhbSBv
cmlnaW4gdGhlIG9yaWdpbiBvZiB0aGUgc3R5bGUgc2hlZXQKICAgICAgKiBAZXhjZXB0aW9uIElP
RXhjZXB0aW9uIGFuIElPIGVycm9yCiAgICAgICovCi0gICAgcHVibGljIHZvaWQgcGFyc2VVUkwo
QXBwbENvbnRleHQgYWMsIFVSTCB1cmwsIFN0cmluZyB0aXRsZSwgU3RyaW5nIGtpbmQsCisgICAg
cHVibGljIHZvaWQgcGFyc2VVUkwoQXBwbENvbnRleHQgYWMsIFVSTCB1cmwsIFVSTCByZWZlcnJl
ciwgU3RyaW5nIHRpdGxlLCBTdHJpbmcga2luZCwKIAkJCSBTdHJpbmcgbWVkaWEsIGludCBvcmln
aW4pOwogCiAgIC8qKgpJbmRleDogb3JnL3czYy9jc3MvY3NzL0Nzc1ZhbGlkYXRvci5qYXZhCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KUkNTIGZpbGU6IC9zb3VyY2VzL3B1YmxpYy8yMDAyL2Nzcy12YWxpZGF0b3Ivb3Jn
L3czYy9jc3MvY3NzL0Nzc1ZhbGlkYXRvci5qYXZhLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE0
CmRpZmYgLXUgLXIxLjE0IENzc1ZhbGlkYXRvci5qYXZhCi0tLSBvcmcvdzNjL2Nzcy9jc3MvQ3Nz
VmFsaWRhdG9yLmphdmEJMyBPY3QgMjAxMSAxNzowNzowOCAtMDAwMAkxLjE0CisrKyBvcmcvdzNj
L2Nzcy9jc3MvQ3NzVmFsaWRhdG9yLmphdmEJMzEgT2N0IDIwMTEgMTg6Mzg6NTMgLTAwMDAKQEAg
LTE0MCw3ICsxNDAsNyBAQAogICAgICAgICAgICAgICAgICAgICAvLyB0aGF0IGl0IGlzIGEgdmFs
aWQKICAgICAgICAgICAgICAgICAgICAgLy8gdXJsCiAgICAgICAgICAgICAgICAgICAgIERvY3Vt
ZW50UGFyc2VyIFVSTHBhcnNlciA9IG5ldyBEb2N1bWVudFBhcnNlcihzdHlsZS5hYywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1cmkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVyaSwgbnVsbCk7CiAKICAgICAgICAgICAgICAgICAgICAgc3R5bGUuaGFuZGxlUmVxdWVzdChz
dHlsZS5hYywgdXJpLCBVUkxwYXJzZXIuZ2V0U3R5bGVTaGVldCgpLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChTdHJpbmcpIHN0eWxlLnBhcmFtcy5nZXQoIm91dHB1dCIpLApJbmRleDog
b3JnL3czYy9jc3MvY3NzL0RvY3VtZW50UGFyc2VyLmphdmEKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L3NvdXJjZXMvcHVibGljLzIwMDIvY3NzLXZhbGlkYXRvci9vcmcvdzNjL2Nzcy9jc3MvRG9jdW1l
bnRQYXJzZXIuamF2YSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS45CmRpZmYgLXUgLXIxLjkgRG9j
dW1lbnRQYXJzZXIuamF2YQotLS0gb3JnL3czYy9jc3MvY3NzL0RvY3VtZW50UGFyc2VyLmphdmEJ
MzAgT2N0IDIwMTEgMjE6MDA6MzIgLTAwMDAJMS45CisrKyBvcmcvdzNjL2Nzcy9jc3MvRG9jdW1l
bnRQYXJzZXIuamF2YQkzMSBPY3QgMjAxMSAxODozODo1MyAtMDAwMApAQCAtNDIsMzIgKzQyLDM4
IEBACiAgICAgICoKICAgICAgKiBAdGhyb3dzIEV4Y2VwdGlvbiBBbiBlcnJvcgogICAgICAqLwot
ICAgIHB1YmxpYyBEb2N1bWVudFBhcnNlcihBcHBsQ29udGV4dCBhYywgU3RyaW5nIHVybFN0cmlu
ZykgdGhyb3dzIEV4Y2VwdGlvbiB7CisgICAgcHVibGljIERvY3VtZW50UGFyc2VyKEFwcGxDb250
ZXh0IGFjLCBTdHJpbmcgdXJsU3RyaW5nLCBTdHJpbmcgcmVmZXJlclN0cmluZykgdGhyb3dzIEV4
Y2VwdGlvbiB7CiAgICAgICAgIHRoaXMuaHRtbFVSTCA9IEhUVFBVUkwuZ2V0VVJMKHVybFN0cmlu
Zyk7CiAgICAgICAgIHRoaXMuYWMgPSBhYzsKICAgICAgICAgdXJsU3RyaW5nID0gaHRtbFVSTC50
b1N0cmluZygpOwogICAgICAgICBTdHJpbmcgdXJsTG93ZXIgPSB1cmxTdHJpbmcudG9Mb3dlckNh
c2UoKTsKICAgICAgICAgU3RyaW5nIG1lZGlhID0gYWMuZ2V0TWVkaXVtKCk7CiAgICAgICAgIFN0
cmluZyB1cmxQcm90b2NvbCA9IGh0bWxVUkwuZ2V0UHJvdG9jb2woKTsKLQorICAgICAgICBVUkwg
cmVmZXJyZXIgPSBudWxsOworICAgICAgICBpZiAocmVmZXJlclN0cmluZyAhPSBudWxsKSB7Cisg
ICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgIHJlZmVycmVyID0gSFRUUFVSTC5nZXRV
UkwocmVmZXJlclN0cmluZyk7CisgICAgICAgICAgICB9IGNhdGNoIChJT0V4Y2VwdGlvbiBpZ25v
cmVkKSB7fQorICAgICAgICB9CisgICAgICAgIAogICAgICAgICBpZiAoISJodHRwIi5lcXVhbHMo
dXJsUHJvdG9jb2wpICYmICEiaHR0cHMiLmVxdWFscyh1cmxQcm90b2NvbCkpIHsKICAgICAgICAg
ICAgIGlmICh1cmxMb3dlci5lbmRzV2l0aCgiLmNzcyIpKSB7CiAgICAgICAgICAgICAgICAgU3R5
bGVTaGVldFBhcnNlciBwYXJzZXIgPSBuZXcgU3R5bGVTaGVldFBhcnNlcigpOwotICAgICAgICAg
ICAgICAgIHBhcnNlci5wYXJzZVVSTChhYywgaHRtbFVSTCwgbnVsbCwgbnVsbCwgbWVkaWEsIFN0
eWxlU2hlZXRPcmlnaW4uQVVUSE9SKTsKKyAgICAgICAgICAgICAgICBwYXJzZXIucGFyc2VVUkwo
YWMsIGh0bWxVUkwsIHJlZmVycmVyLCBudWxsLCBudWxsLCBtZWRpYSwgU3R5bGVTaGVldE9yaWdp
bi5BVVRIT1IpOwogICAgICAgICAgICAgICAgIHN0eWxlID0gcGFyc2VyLmdldFN0eWxlU2hlZXQo
KTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAodXJsTG93ZXIuZW5kc1dpdGgoIi5odG1sIikgfHwg
dXJsTG93ZXIuZW5kc1dpdGgoIi5odG0iKSB8fAogICAgICAgICAgICAgICAgICAgICB1cmxMb3dl
ci5lbmRzV2l0aCgiLnNodG1sIikgfHwgdXJsTG93ZXIuZW5kc1dpdGgoIi8iKSkgewogICAgICAg
ICAgICAgICAgIC8vVGFnU291cFN0eWxlU2hlZXRIYW5kbGVyIGhhbmRsZXIgPSBuZXcgVGFnU291
cFN0eWxlU2hlZXRIYW5kbGVyKGh0bWxVUkwsIGFjKTsKICAgICAgICAgICAgICAgICBIVE1MUGFy
c2VyU3R5bGVTaGVldEhhbmRsZXIgaGFuZGxlciA9IG5ldyBIVE1MUGFyc2VyU3R5bGVTaGVldEhh
bmRsZXIoaHRtbFVSTCwgYWMpOwotICAgICAgICAgICAgICAgIGhhbmRsZXIucGFyc2UoaHRtbFVS
TCk7CisgICAgICAgICAgICAgICAgaGFuZGxlci5wYXJzZShodG1sVVJMLCByZWZlcnJlcik7CiAg
ICAgICAgICAgICAgICAgc3R5bGUgPSBoYW5kbGVyLmdldFN0eWxlU2hlZXQoKTsKICAgICAgICAg
ICAgICAgICBpZiAoc3R5bGUgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgICBzdHlsZS5z
ZXRUeXBlKCJ0ZXh0L2h0bWwiKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9IGVs
c2UgaWYgKHVybExvd2VyLmVuZHNXaXRoKCIueGh0bWwiKSB8fCB1cmxMb3dlci5lbmRzV2l0aCgi
LnhtbCIpKSB7Ci0gICAgICAgICAgICAgICAgLy8gU2VlbXMgbGlrZSB3ZSBuZWVkIHRvIHVzZSB0
YWdzb3V0IGluIHRoaXMgY2FzZSBhcyB3ZWxsCisgICAgICAgICAgICAgICAgLy8gU2VlbXMgbGlr
ZSB3ZSBuZWVkIHRvIHVzZSB0YWdzb3VwIGluIHRoaXMgY2FzZSBhcyB3ZWxsCiAgICAgICAgICAg
ICAgICAgWE1MU3R5bGVTaGVldEhhbmRsZXIgaGFuZGxlciA9IG5ldyBYTUxTdHlsZVNoZWV0SGFu
ZGxlcihodG1sVVJMLCBhYyk7Ci0gICAgICAgICAgICAgICAgaGFuZGxlci5wYXJzZShodG1sVVJM
KTsKKyAgICAgICAgICAgICAgICBoYW5kbGVyLnBhcnNlKGh0bWxVUkwsIHJlZmVycmVyKTsKICAg
ICAgICAgICAgICAgICBzdHlsZSA9IGhhbmRsZXIuZ2V0U3R5bGVTaGVldCgpOwogICAgICAgICAg
ICAgICAgIGlmIChzdHlsZSAhPSBudWxsKSB7CiAgICAgICAgICAgICAgICAgICAgIHN0eWxlLnNl
dFR5cGUoInRleHQveG1sIik7CkBAIC04NSw3ICs5MSw3IEBACiAgICAgICAgICAgICAgICAgLy8g
QEAgaHVtLCBtYXliZT8gKHBsaCwgeWVzIHByb2JhYmx5IDotKSApCiAgICAgICAgICAgICAgICAg
U3RyaW5nIGNyZWRlbnRpYWwgPSBhYy5nZXRDcmVkZW50aWFsKCk7CiAKLSAgICAgICAgICAgICAg
ICBjb25uZWN0aW9uID0gSFRUUFVSTC5nZXRDb25uZWN0aW9uKGh0bWxVUkwsIGFjKTsKKyAgICAg
ICAgICAgICAgICBjb25uZWN0aW9uID0gSFRUUFVSTC5nZXRDb25uZWN0aW9uKGh0bWxVUkwsIHJl
ZmVycmVyLCBhYyk7CiAgICAgICAgICAgICAgICAgaHRtbFVSTCA9IGNvbm5lY3Rpb24uZ2V0VVJM
KCk7CiAKICAgICAgICAgICAgICAgICBTdHJpbmcgaHR0cENMID0gY29ubmVjdGlvbi5nZXRIZWFk
ZXJGaWVsZCgiQ29udGVudC1Mb2NhdGlvbiIpOwpAQCAtMTIyLDcgKzEyOCw3IEBACiAgICAgICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNvbnRlbnRUeXBlLm1h
dGNoKE1pbWVUeXBlLlRFWFRfQ1NTKSA9PSBNaW1lVHlwZS5NQVRDSF9TUEVDSUZJQ19TVUJUWVBF
KSB7CiAgICAgICAgICAgICAgICAgICAgIFN0eWxlU2hlZXRQYXJzZXIgcGFyc2VyID0gbmV3IFN0
eWxlU2hlZXRQYXJzZXIoKTsKLSAgICAgICAgICAgICAgICAgICAgcGFyc2VyLnBhcnNlVVJMKGFj
LCBodG1sVVJMLCBudWxsLCBudWxsLCBtZWRpYSwgU3R5bGVTaGVldE9yaWdpbi5BVVRIT1IpOwor
ICAgICAgICAgICAgICAgICAgICBwYXJzZXIucGFyc2VVUkwoYWMsIGh0bWxVUkwsIHJlZmVycmVy
LCBudWxsLCBudWxsLCBtZWRpYSwgU3R5bGVTaGVldE9yaWdpbi5BVVRIT1IpOwogICAgICAgICAg
ICAgICAgICAgICBzdHlsZSA9IHBhcnNlci5nZXRTdHlsZVNoZWV0KCk7CiAgICAgICAgICAgICAg
ICAgfSBlbHNlIGlmICgoY29udGVudFR5cGUubWF0Y2goTWltZVR5cGUuVEVYVF9YTUwpID09IE1p
bWVUeXBlLk1BVENIX1NQRUNJRklDX1NVQlRZUEUpCiAgICAgICAgICAgICAgICAgICAgICAgICB8
fCAoY29udGVudFR5cGUubWF0Y2goTWltZVR5cGUuQVBQTElDQVRJT05fWEhUTUxfWE1MKSA9PSBN
aW1lVHlwZS5NQVRDSF9TUEVDSUZJQ19TVUJUWVBFKQpJbmRleDogb3JnL3czYy9jc3MvY3NzL0hU
TUxQYXJzZXJTdHlsZVNoZWV0SGFuZGxlci5qYXZhCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9zb3Vy
Y2VzL3B1YmxpYy8yMDAyL2Nzcy12YWxpZGF0b3Ivb3JnL3czYy9jc3MvY3NzL0hUTUxQYXJzZXJT
dHlsZVNoZWV0SGFuZGxlci5qYXZhLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIKZGlmZiAtdSAt
cjEuMiBIVE1MUGFyc2VyU3R5bGVTaGVldEhhbmRsZXIuamF2YQotLS0gb3JnL3czYy9jc3MvY3Nz
L0hUTUxQYXJzZXJTdHlsZVNoZWV0SGFuZGxlci5qYXZhCTMxIE9jdCAyMDExIDE4OjMyOjE5IC0w
MDAwCTEuMgorKysgb3JnL3czYy9jc3MvY3NzL0hUTUxQYXJzZXJTdHlsZVNoZWV0SGFuZGxlci5q
YXZhCTMxIE9jdCAyMDExIDE4OjM4OjUzIC0wMDAwCkBAIC0yMDYsNiArMjA2LDcgQEAKICAgICAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBzdHlsZVNoZWV0UGFyc2VyLnBh
cnNlVVJMKGFjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBkb2N1bWVudFVSSSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBhdHRzLmdldCgidGl0bGUiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWwsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVkaWEsCkBAIC0zMjcsNiArMzI4LDcgQEAKICAg
ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBzdHlsZVNoZWV0UGFyc2Vy
LnBhcnNlVVJMKGFjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkb2N1bWVudFVSSSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBhdHRzLmdldFZhbHVlKCJ0aXRsZSIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJlbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZWRpYSwKQEAgLTU0OSw3ICs1NTEs
NyBAQAogICAgICAgICB9CiAgICAgfQogCi0gICAgdm9pZCBwYXJzZShVUkwgdXJsKSB0aHJvd3Mg
RXhjZXB0aW9uIHsKKyAgICB2b2lkIHBhcnNlKFVSTCB1cmwsIFVSTCByZWZlcnJlcikgdGhyb3dz
IEV4Y2VwdGlvbiB7CiAgICAgICAgIElucHV0U291cmNlIHNvdXJjZSA9IG5ldyBJbnB1dFNvdXJj
ZSgpOwogICAgICAgICBVUkxDb25uZWN0aW9uIGNvbm5lY3Rpb247CiAgICAgICAgIElucHV0U3Ry
ZWFtIGluOwpAQCAtNTcwLDcgKzU3Miw3IEBACiAgICAgICAgIH0KICAgICAgICAgeG1sUGFyc2Vy
LnNldENvbnRlbnRIYW5kbGVyKHRoaXMpOwogCi0gICAgICAgIGNvbm5lY3Rpb24gPSBIVFRQVVJM
LmdldENvbm5lY3Rpb24odXJsLCBhYyk7CisgICAgICAgIGNvbm5lY3Rpb24gPSBIVFRQVVJMLmdl
dENvbm5lY3Rpb24odXJsLCByZWZlcnJlciwgYWMpOwogICAgICAgICBpbiA9IEhUVFBVUkwuZ2V0
SW5wdXRTdHJlYW0oYWMsIGNvbm5lY3Rpb24pOwogICAgICAgICBTdHJpbmcgc3RyZWFtRW5jb2Rp
bmcgPSBIVFRQVVJMLmdldENoYXJhY3RlckVuY29kaW5nKGFjLCBjb25uZWN0aW9uKTsKIApJbmRl
eDogb3JnL3czYy9jc3MvY3NzL1N0eWxlU2hlZXRQYXJzZXIuamF2YQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm
aWxlOiAvc291cmNlcy9wdWJsaWMvMjAwMi9jc3MtdmFsaWRhdG9yL29yZy93M2MvY3NzL2Nzcy9T
dHlsZVNoZWV0UGFyc2VyLmphdmEsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjMKZGlmZiAtdSAt
cjEuMjMgU3R5bGVTaGVldFBhcnNlci5qYXZhCi0tLSBvcmcvdzNjL2Nzcy9jc3MvU3R5bGVTaGVl
dFBhcnNlci5qYXZhCTI0IE9jdCAyMDExIDE5OjQ5OjAzIC0wMDAwCTEuMjMKKysrIG9yZy93M2Mv
Y3NzL2Nzcy9TdHlsZVNoZWV0UGFyc2VyLmphdmEJMzEgT2N0IDIwMTEgMTg6Mzg6NTMgLTAwMDAK
QEAgLTE2OSw3ICsxNjksNyBAQAogICAgICAqIEBwYXJhbSBvcmlnaW4gdGhlIG9yaWdpbiBvZiB0
aGUgc3R5bGUgc2hlZXQKICAgICAgKiBAdGhyb3dzIElPRXhjZXB0aW9uIGFuIElPIGVycm9yCiAg
ICAgICovCi0gICAgcHVibGljIHZvaWQgcGFyc2VVUkwoQXBwbENvbnRleHQgYWMsIFVSTCB1cmws
IFN0cmluZyB0aXRsZSwKKyAgICBwdWJsaWMgdm9pZCBwYXJzZVVSTChBcHBsQ29udGV4dCBhYywg
VVJMIHVybCwgVVJMIHJlZmVycmVyLCBTdHJpbmcgdGl0bGUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgU3RyaW5nIGtpbmQsIFN0cmluZyBtZWRpYSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgb3JpZ2luKSB7CiAgICAgICAgIHNldFdhcm5pbmdMZXZlbChhYy5nZXRXYXJuaW5nTGV2
ZWwoKSk7CkBAIC0xODksNyArMTg5LDcgQEAKICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgIGFj
LnNldE9yaWdpbihvcmlnaW4pOwogLy8JICAgIGlmIChjc3NGb3VmZmEgPT0gbnVsbCkgewotICAg
ICAgICAgICAgY3NzRm91ZmZhID0gbmV3IENzc0ZvdWZmYShhYywgdXJsKTsKKyAgICAgICAgICAg
IGNzc0ZvdWZmYSA9IG5ldyBDc3NGb3VmZmEoYWMsIHVybCwgcmVmZXJyZXIpOwogICAgICAgICAg
ICAgY3NzRm91ZmZhLmFkZExpc3RlbmVyKHRoaXMpOwogLy8JICAgIH0gZWxzZSB7CiAvLwkJY3Nz
Rm91ZmZhLlJlSW5pdChhYywgdXJsKTsKSW5kZXg6IG9yZy93M2MvY3NzL2Nzcy9UYWdTb3VwU3R5
bGVTaGVldEhhbmRsZXIuamF2YQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvc291cmNlcy9wdWJsaWMv
MjAwMi9jc3MtdmFsaWRhdG9yL29yZy93M2MvY3NzL2Nzcy9UYWdTb3VwU3R5bGVTaGVldEhhbmRs
ZXIuamF2YSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMApkaWZmIC11IC1yMS4xMCBUYWdTb3Vw
U3R5bGVTaGVldEhhbmRsZXIuamF2YQotLS0gb3JnL3czYy9jc3MvY3NzL1RhZ1NvdXBTdHlsZVNo
ZWV0SGFuZGxlci5qYXZhCTMxIE9jdCAyMDExIDE4OjMyOjE5IC0wMDAwCTEuMTAKKysrIG9yZy93
M2MvY3NzL2Nzcy9UYWdTb3VwU3R5bGVTaGVldEhhbmRsZXIuamF2YQkzMSBPY3QgMjAxMSAxODoz
ODo1MyAtMDAwMApAQCAtMjAzLDYgKzIwMyw3IEBACiAgICAgICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICAgICAgc3R5bGVTaGVldFBhcnNlci5wYXJzZVVSTChhYywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1cmwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9j
dW1lbnRVUkksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cy5nZXQoInRpdGxlIiks
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG1lZGlhLApAQCAtMzIyLDYgKzMyMyw3IEBACiAgICAgICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgICAgICAgICAgc3R5bGVTaGVldFBhcnNlci5wYXJzZVVSTChhYywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1cmwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZG9jdW1lbnRVUkksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cy5nZXRWYWx1ZSgi
dGl0bGUiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWwsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbWVkaWEsCkBAIC01NDEsNyArNTQzLDcgQEAKICAgICAgICAgfQogICAg
IH0KIAotICAgIHZvaWQgcGFyc2UoVVJMIHVybCkgdGhyb3dzIEV4Y2VwdGlvbiB7CisgICAgdm9p
ZCBwYXJzZShVUkwgdXJsLCBVUkwgcmVmZXJyZXIpIHRocm93cyBFeGNlcHRpb24gewogICAgICAg
ICBJbnB1dFNvdXJjZSBzb3VyY2UgPSBuZXcgSW5wdXRTb3VyY2UoKTsKICAgICAgICAgVVJMQ29u
bmVjdGlvbiBjb25uZWN0aW9uOwogICAgICAgICBJbnB1dFN0cmVhbSBpbjsKQEAgLTU2Miw3ICs1
NjQsNyBAQAogICAgICAgICB9CiAgICAgICAgIHhtbFBhcnNlci5zZXRDb250ZW50SGFuZGxlcih0
aGlzKTsKIAotICAgICAgICBjb25uZWN0aW9uID0gSFRUUFVSTC5nZXRDb25uZWN0aW9uKHVybCwg
YWMpOworICAgICAgICBjb25uZWN0aW9uID0gSFRUUFVSTC5nZXRDb25uZWN0aW9uKHVybCwgcmVm
ZXJyZXIsIGFjKTsKICAgICAgICAgaW4gPSBIVFRQVVJMLmdldElucHV0U3RyZWFtKGFjLCBjb25u
ZWN0aW9uKTsKICAgICAgICAgU3RyaW5nIHN0cmVhbUVuY29kaW5nID0gSFRUUFVSTC5nZXRDaGFy
YWN0ZXJFbmNvZGluZyhhYywgY29ubmVjdGlvbik7CiAKSW5kZXg6IG9yZy93M2MvY3NzL2Nzcy9Y
TUxTdHlsZVNoZWV0SGFuZGxlci5qYXZhCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9zb3VyY2VzL3B1
YmxpYy8yMDAyL2Nzcy12YWxpZGF0b3Ivb3JnL3czYy9jc3MvY3NzL1hNTFN0eWxlU2hlZXRIYW5k
bGVyLmphdmEsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzMKZGlmZiAtdSAtcjEuMzMgWE1MU3R5
bGVTaGVldEhhbmRsZXIuamF2YQotLS0gb3JnL3czYy9jc3MvY3NzL1hNTFN0eWxlU2hlZXRIYW5k
bGVyLmphdmEJMzEgT2N0IDIwMTEgMTg6MzI6MTkgLTAwMDAJMS4zMworKysgb3JnL3czYy9jc3Mv
Y3NzL1hNTFN0eWxlU2hlZXRIYW5kbGVyLmphdmEJMzEgT2N0IDIwMTEgMTg6Mzg6NTMgLTAwMDAK
QEAgLTIwMCw3ICsyMDAsNyBAQAogICAgICAgICAgICAgICAgICAgICBpZiAobWVkaWEgPT0gbnVs
bCAmJiBhYy5nZXRDc3NWZXJzaW9uKCkgIT0gQ3NzVmVyc2lvbi5DU1MxKSB7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBtZWRpYSA9ICJhbGwiOwogICAgICAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgICAgIHN0eWxlU2hlZXRQYXJzZXIucGFyc2VVUkwoYWMsIHVybCwgYXR0cy5n
ZXQoInRpdGxlIiksIHJlbCwgbWVkaWEsCisgICAgICAgICAgICAgICAgICAgIHN0eWxlU2hlZXRQ
YXJzZXIucGFyc2VVUkwoYWMsIHVybCwgZG9jdW1lbnRVUkksIGF0dHMuZ2V0KCJ0aXRsZSIpLCBy
ZWwsIG1lZGlhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0eWxlU2hlZXRPcmlnaW4u
QVVUSE9SKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKFV0aWwub25EZWJ1ZykgewogICAgICAg
ICAgICAgICAgICAgICAgICAgU3lzdGVtLmVyci5wcmludGxuKCJbcGFyc2VkIV0iKTsKQEAgLTMw
MCw3ICszMDAsNyBAQAogICAgICAgICAgICAgICAgICAgICBpZiAobWVkaWEgPT0gbnVsbCAmJiBh
Yy5nZXRDc3NWZXJzaW9uKCkgIT0gQ3NzVmVyc2lvbi5DU1MxKSB7CiAgICAgICAgICAgICAgICAg
ICAgICAgICBtZWRpYSA9ICJhbGwiOwogICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgICAgIHN0eWxlU2hlZXRQYXJzZXIucGFyc2VVUkwoYWMsIHVybCwgYXR0cy5nZXRWYWx1
ZSgidGl0bGUiKSwKKyAgICAgICAgICAgICAgICAgICAgc3R5bGVTaGVldFBhcnNlci5wYXJzZVVS
TChhYywgdXJsLCBkb2N1bWVudFVSSSwgYXR0cy5nZXRWYWx1ZSgidGl0bGUiKSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICByZWwsIG1lZGlhLCBTdHlsZVNoZWV0T3JpZ2luLkFVVEhPUik7
CiAgICAgICAgICAgICAgICAgICAgIGlmIChVdGlsLm9uRGVidWcpIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgIFN5c3RlbS5lcnIucHJpbnRsbigiW3BhcnNlZCFdIik7CkBAIC00NzcsNyArNDc3
LDcgQEAKICAgICAgICAgfQogICAgIH0KIAotICAgIHZvaWQgcGFyc2UoVVJMIHVybCkgdGhyb3dz
IEV4Y2VwdGlvbiB7CisgICAgdm9pZCBwYXJzZShVUkwgdXJsLCBVUkwgcmVmZXJyZXIpIHRocm93
cyBFeGNlcHRpb24gewogICAgICAgICBJbnB1dFNvdXJjZSBzb3VyY2UgPSBuZXcgSW5wdXRTb3Vy
Y2UoKTsKICAgICAgICAgVVJMQ29ubmVjdGlvbiBjb25uZWN0aW9uOwogICAgICAgICBJbnB1dFN0
cmVhbSBpbjsKQEAgLTUwMCw3ICs1MDAsNyBAQAogICAgICAgICB9CiAgICAgICAgIHhtbFBhcnNl
ci5zZXRDb250ZW50SGFuZGxlcih0aGlzKTsKIAotICAgICAgICBjb25uZWN0aW9uID0gSFRUUFVS
TC5nZXRDb25uZWN0aW9uKHVybCwgYWMpOworICAgICAgICBjb25uZWN0aW9uID0gSFRUUFVSTC5n
ZXRDb25uZWN0aW9uKHVybCwgcmVmZXJyZXIsIGFjKTsKICAgICAgICAgaW4gPSBIVFRQVVJMLmdl
dElucHV0U3RyZWFtKGFjLCBjb25uZWN0aW9uKTsKICAgICAgICAgU3RyaW5nIHN0cmVhbUVuY29k
aW5nID0gSFRUUFVSTC5nZXRDaGFyYWN0ZXJFbmNvZGluZyhhYywgY29ubmVjdGlvbik7CiAKSW5k
ZXg6IG9yZy93M2MvY3NzL3BhcnNlci9Dc3NGb3VmZmEuamF2YQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl
OiAvc291cmNlcy9wdWJsaWMvMjAwMi9jc3MtdmFsaWRhdG9yL29yZy93M2MvY3NzL3BhcnNlci9D
c3NGb3VmZmEuamF2YSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS41OApkaWZmIC11IC1yMS41OCBD
c3NGb3VmZmEuamF2YQotLS0gb3JnL3czYy9jc3MvcGFyc2VyL0Nzc0ZvdWZmYS5qYXZhCTIxIE9j
dCAyMDExIDEyOjUyOjI5IC0wMDAwCTEuNTgKKysrIG9yZy93M2MvY3NzL3BhcnNlci9Dc3NGb3Vm
ZmEuamF2YQkzMSBPY3QgMjAxMSAxODozODo1MyAtMDAwMApAQCAtMTUyLDggKzE1Miw4IEBACiAg
ICAgICogICAgICAgICAgICAgaW1wb3J0KQogICAgICAqIEB0aHJvd3MgSU9FeGNlcHRpb24gaWYg
YW4gSS9PIGVycm9yIG9jY3Vycy4KICAgICAgKi8KLSAgICBwdWJsaWMgQ3NzRm91ZmZhKEFwcGxD
b250ZXh0IGFjLCBVUkwgZmlsZSkgdGhyb3dzIElPRXhjZXB0aW9uIHsKLSAgICAgICAgdGhpcyhh
YywgSFRUUFVSTC5nZXRDb25uZWN0aW9uKGZpbGUsIGFjKSk7CisgICAgcHVibGljIENzc0ZvdWZm
YShBcHBsQ29udGV4dCBhYywgVVJMIGZpbGUsIFVSTCByZWZlcnJlcikgdGhyb3dzIElPRXhjZXB0
aW9uIHsKKyAgICAgICAgdGhpcyhhYywgSFRUUFVSTC5nZXRDb25uZWN0aW9uKGZpbGUsIHJlZmVy
cmVyLCBhYykpOwogCiAgICAgfQogCkBAIC0yOTIsNyArMjkyLDcgQEAKICAgICAgICAgICAgIGlz
ID0gYWMuZ2V0RmFrZUlucHV0U3RyZWFtKGZpbGUpOwogICAgICAgICAgICAgdXJsID0gZmlsZTsK
ICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIFVSTENvbm5lY3Rpb24gdXJsQyA9IEhUVFBV
UkwuZ2V0Q29ubmVjdGlvbihmaWxlLCBhYyk7CisgICAgICAgICAgICBVUkxDb25uZWN0aW9uIHVy
bEMgPSBIVFRQVVJMLmdldENvbm5lY3Rpb24oZmlsZSwgbnVsbCwgYWMpOwogICAgICAgICAgICAg
aXMgPSBIVFRQVVJMLmdldElucHV0U3RyZWFtKGFjLCB1cmxDKTsKICAgICAgICAgICAgIHVybCA9
IHVybEMuZ2V0VVJMKCk7CiAgICAgICAgIH0KQEAgLTQ0NCw3ICs0NDQsNyBAQAogICAgICAgICAg
ICAgICAgICAgICAgICAgImltcG9ydCBVUkwgc29ycnkuIik7CiAgICAgICAgICAgICB9CiAKLSAg
ICAgICAgICAgIFVSTENvbm5lY3Rpb24gaW1wb3J0VVJMID0gSFRUUFVSTC5nZXRDb25uZWN0aW9u
KGltcG9ydGVkVVJMLCBhYyk7CisgICAgICAgICAgICBVUkxDb25uZWN0aW9uIGltcG9ydFVSTCA9
IEhUVFBVUkwuZ2V0Q29ubmVjdGlvbihpbXBvcnRlZFVSTCwgdXJsLCBhYyk7CiAgICAgICAgICAg
ICBTdHJpbmcgY2hhcnNldCA9IEhUVFBVUkwuZ2V0Q2hhcmFjdGVyRW5jb2RpbmcoYWMsIGltcG9y
dFVSTCk7CiAKICAgICAgICAgICAgIGlmIChpbXBvcnRVUkwgaW5zdGFuY2VvZiBIdHRwVVJMQ29u
bmVjdGlvbikgewpJbmRleDogb3JnL3czYy9jc3Mvc2VydmxldC9Dc3NWYWxpZGF0b3IuamF2YQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09ClJDUyBmaWxlOiAvc291cmNlcy9wdWJsaWMvMjAwMi9jc3MtdmFsaWRhdG9yL29y
Zy93M2MvY3NzL3NlcnZsZXQvQ3NzVmFsaWRhdG9yLmphdmEsdgpyZXRyaWV2aW5nIHJldmlzaW9u
IDEuNTEKZGlmZiAtdSAtcjEuNTEgQ3NzVmFsaWRhdG9yLmphdmEKLS0tIG9yZy93M2MvY3NzL3Nl
cnZsZXQvQ3NzVmFsaWRhdG9yLmphdmEJMzEgT2N0IDIwMTEgMTM6MjI6MzMgLTAwMDAJMS41MQor
Kysgb3JnL3czYy9jc3Mvc2VydmxldC9Dc3NWYWxpZGF0b3IuamF2YQkzMSBPY3QgMjAxMSAxODoz
ODo1MyAtMDAwMApAQCAtMzY2LDcgKzM2Niw3IEBACiAgICAgICAgICAgICAgICAgLy8gdGhhdCBp
dCBpcyBhIHZhbGlkCiAgICAgICAgICAgICAgICAgLy8gdXJsCiAgICAgICAgICAgICAgICAgdXJp
ID0gdXJpLnJlcGxhY2VBbGwoIiAiLCAiJTIwIik7Ci0gICAgICAgICAgICAgICAgRG9jdW1lbnRQ
YXJzZXIgVVJMcGFyc2VyID0gbmV3IERvY3VtZW50UGFyc2VyKGFjLCB1cmkpOworICAgICAgICAg
ICAgICAgIERvY3VtZW50UGFyc2VyIFVSTHBhcnNlciA9IG5ldyBEb2N1bWVudFBhcnNlcihhYywg
dXJpLCByZXEuZ2V0SGVhZGVyKCJSZWZlcmVyIikpOwogCiAgICAgICAgICAgICAgICAgaGFuZGxl
UmVxdWVzdChhYywgcmVzLCB1cmksIFVSTHBhcnNlci5nZXRTdHlsZVNoZWV0KCksIG91dHB1dCwK
ICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdMZXZlbCwgZXJyb3JSZXBvcnQpOwpJbmRl
eDogb3JnL3czYy9jc3MvdXRpbC9IVFRQVVJMLmphdmEKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3Nv
dXJjZXMvcHVibGljLzIwMDIvY3NzLXZhbGlkYXRvci9vcmcvdzNjL2Nzcy91dGlsL0hUVFBVUkwu
amF2YSx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yNApkaWZmIC11IC1yMS4yNCBIVFRQVVJMLmph
dmEKLS0tIG9yZy93M2MvY3NzL3V0aWwvSFRUUFVSTC5qYXZhCTIzIEF1ZyAyMDExIDA5OjIzOjUw
IC0wMDAwCTEuMjQKKysrIG9yZy93M2MvY3NzL3V0aWwvSFRUUFVSTC5qYXZhCTMxIE9jdCAyMDEx
IDE4OjM4OjUzIC0wMDAwCkBAIC0xNTEsOSArMTUxLDkgQEAKICAgICAgICAgcmV0dXJuIG5ldyBV
UkwoYmFzZSwgdXJsKTsKICAgICB9CiAKLSAgICBwcml2YXRlIHN0YXRpYyBVUkxDb25uZWN0aW9u
IGdldENvbm5lY3Rpb24oVVJMIHVybCwgaW50IGNvdW50KQorICAgIHByaXZhdGUgc3RhdGljIFVS
TENvbm5lY3Rpb24gZ2V0Q29ubmVjdGlvbihVUkwgdXJsLCBVUkwgcmVmZXJyZXIsIGludCBjb3Vu
dCkKICAgICAgICAgICAgIHRocm93cyBJT0V4Y2VwdGlvbiB7Ci0gICAgICAgIHJldHVybiBnZXRD
b25uZWN0aW9uKHVybCwgY291bnQsIG51bGwpOworICAgICAgICByZXR1cm4gZ2V0Q29ubmVjdGlv
bih1cmwsIHJlZmVycmVyLCBjb3VudCwgbnVsbCk7CiAgICAgfQogCiAKQEAgLTE5MSw3ICsxOTEs
NyBAQAogICAgICAgICB1Q29ubi5zZXRIb3N0bmFtZVZlcmlmaWVyKGh2KTsKICAgICB9CiAKLSAg
ICBwcml2YXRlIHN0YXRpYyBVUkxDb25uZWN0aW9uIGdldENvbm5lY3Rpb24oVVJMIHVybCwgaW50
IGNvdW50LAorICAgIHByaXZhdGUgc3RhdGljIFVSTENvbm5lY3Rpb24gZ2V0Q29ubmVjdGlvbihV
UkwgdXJsLCBVUkwgcmVmZXJyZXIsIGludCBjb3VudCwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgQXBwbENvbnRleHQgYWMpCiAgICAgICAgICAgICB0aHJv
d3MgSU9FeGNlcHRpb24gewogICAgICAgICBpZiAoY291bnQgPiA1KSB7CkBAIC0yMjMsNiArMjIz
LDcgQEAKICAgICAgICAgLy8gZm9yIHRoZSBmdW4KICAgICAgICAgdXJsQy5zZXRSZXF1ZXN0UHJv
cGVydHkoIlVzZXItQWdlbnQiLAogICAgICAgICAgICAgICAgICJKaWdzYXcvMi4yLjUgVzNDX0NT
U19WYWxpZGF0b3JfSkZvdWZmYS8yLjAiKTsKKyAgICAgICAgYWRkUmVmZXJyZXIodXJsQywgcmVm
ZXJyZXIpOwogICAgICAgICAvLyByZWxheSBhdXRob3JpemF0aW9uIGluZm9ybWF0aW9uCiAgICAg
ICAgIGlmIChhYy5nZXRDcmVkZW50aWFsKCkgIT0gbnVsbCkgewogICAgICAgICAgICAgdXJsQy5z
ZXRSZXF1ZXN0UHJvcGVydHkoIkF1dGhvcml6YXRpb24iLCBhYy5nZXRDcmVkZW50aWFsKCkpOwpA
QCAtMjY4LDcgKzI2OSw3IEBACiAgICAgICAgICAgICAgICAgY2FzZSAzMDc6CiAgICAgICAgICAg
ICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBVUkwgdSA9IGdldFVSTCho
dHRwVVJMLmdldEhlYWRlckZpZWxkKCJMb2NhdGlvbiIpKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBnZXRDb25uZWN0aW9uKHUsIGNvdW50ICsgMSwgYWMpOworICAgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIGdldENvbm5lY3Rpb24odSwgdXJsLCBjb3VudCArIDEsIGFjKTsK
ICAgICAgICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgICAgICAgICAgICAg
IGh0dHBVUkwuZGlzY29ubmVjdCgpOwogICAgICAgICAgICAgICAgICAgICB9CkBAIC0yOTcsMTQg
KzI5OCwxNCBAQAogICAgICAgICByZXR1cm4gdXJsQzsKICAgICB9CiAKLSAgICBwdWJsaWMgc3Rh
dGljIFVSTENvbm5lY3Rpb24gZ2V0Q29ubmVjdGlvbihVUkwgdXJsKQorICAgIHB1YmxpYyBzdGF0
aWMgVVJMQ29ubmVjdGlvbiBnZXRDb25uZWN0aW9uKFVSTCB1cmwsIFVSTCByZWZlcnJlcikKICAg
ICAgICAgICAgIHRocm93cyBJT0V4Y2VwdGlvbiB7Ci0gICAgICAgIHJldHVybiBnZXRDb25uZWN0
aW9uKHVybCwgMCk7CisgICAgICAgIHJldHVybiBnZXRDb25uZWN0aW9uKHVybCwgcmVmZXJyZXIs
IDApOwogICAgIH0KIAotICAgIHB1YmxpYyBzdGF0aWMgVVJMQ29ubmVjdGlvbiBnZXRDb25uZWN0
aW9uKFVSTCB1cmwsIEFwcGxDb250ZXh0IGFjKQorICAgIHB1YmxpYyBzdGF0aWMgVVJMQ29ubmVj
dGlvbiBnZXRDb25uZWN0aW9uKFVSTCB1cmwsIFVSTCByZWZlcnJlciwgQXBwbENvbnRleHQgYWMp
CiAgICAgICAgICAgICB0aHJvd3MgSU9FeGNlcHRpb24gewotICAgICAgICByZXR1cm4gZ2V0Q29u
bmVjdGlvbih1cmwsIDAsIGFjKTsKKyAgICAgICAgcmV0dXJuIGdldENvbm5lY3Rpb24odXJsLCBy
ZWZlcnJlciwgMCwgYWMpOwogICAgIH0KIAogICAgIC8qIG1vcmUgbWFkbmVzcyAqLwpAQCAtMzU4
LDYgKzM1OSwyMiBAQAogICAgICAgICByZXR1cm4gY2hhcnNldDsKICAgICB9CiAKKyAgICBwcml2
YXRlIHN0YXRpYyB2b2lkIGFkZFJlZmVycmVyKFVSTENvbm5lY3Rpb24gdXJsQywgVVJMIHJlZmVy
cmVyKSB7CisgICAgICAgIGlmIChyZWZlcnJlciA9PSBudWxsKQorICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAvLyBodHRwOi8vd3d3LnczLm9yZy9Qcm90b2NvbHMvcmZjMjYxNi9yZmMyNjE2
LXNlYzE1Lmh0bWwjc2VjMTUuMS4zCisgICAgICAgIGlmICgiaHR0cHMiLmVxdWFscyhyZWZlcnJl
ci5nZXRQcm90b2NvbCgpKSkgeworICAgICAgICAgICAgaWYgKCJodHRwcyIuZXF1YWxzKHVybEMu
Z2V0VVJMKCkuZ2V0UHJvdG9jb2woKSkpIHsKKyAgICAgICAgICAgICAgICB1cmxDLnNldFJlcXVl
c3RQcm9wZXJ0eSgiUmVmZXJlciIsIHJlZmVycmVyLnRvU3RyaW5nKCkpOworICAgICAgICAgICAg
fQorICAgICAgICB9IGVsc2UgaWYgKCJodHRwIi5lcXVhbHModXJsQy5nZXRVUkwoKS5nZXRQcm90
b2NvbCgpKSkgeworICAgICAgICAgICAgaWYgKCJodHRwIi5lcXVhbHMocmVmZXJyZXIuZ2V0UHJv
dG9jb2woKSkgfHwKKyAgICAgICAgICAgICAgICAgICAgImZ0cCIuZXF1YWxzKHJlZmVycmVyLmdl
dFByb3RvY29sKCkpKSB7CisgICAgICAgICAgICAgICAgdXJsQy5zZXRSZXF1ZXN0UHJvcGVydHko
IlJlZmVyZXIiLCByZWZlcnJlci50b1N0cmluZygpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgIH0KKyAgICAKICAgICAvKioKICAgICAgKgogICAgICAqLwpAQCAtMzY1LDcgKzM4Miw3
IEBACiAgICAgICAgICAgICB0aHJvd3MgRXhjZXB0aW9uIHsKICAgICAgICAgaW50IGM7CiAgICAg
ICAgIElucHV0U3RyZWFtIGluID0gSFRUUFVSTC5nZXRDb25uZWN0aW9uKAotICAgICAgICAgICAg
ICAgIGdldFVSTChhcmdzWzBdKSkuZ2V0SW5wdXRTdHJlYW0oKTsKKyAgICAgICAgICAgICAgICBn
ZXRVUkwoYXJnc1swXSksIG51bGwpLmdldElucHV0U3RyZWFtKCk7CiAKICAgICAgICAgd2hpbGUg
KChjID0gaW4ucmVhZCgpKSAhPSAtMSkgewogICAgICAgICAgICAgU3lzdGVtLmVyci5wcmludCgo
Y2hhcikgYyk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>