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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>158869</bug_id>
          
          <creation_ts>2016-06-17 04:59:27 -0700</creation_ts>
          <short_desc>URL hash setter does not remove fragment identifier if argument is an empty string</short_desc>
          <delta_ts>2016-06-17 15:42:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>Safari 9</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Robert Knight">robertknight</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1203288</commentid>
    <comment_count>0</comment_count>
    <who name="Robert Knight">robertknight</who>
    <bug_when>2016-06-17 04:59:27 -0700</bug_when>
    <thetext>According to the spec for the `URL.hash` setter in https://url.spec.whatwg.org/#urlutils-members , assigning an empty string to a URL&apos;s hash should remove the fragment identifier. In WebKit however it sets it to an empty string. The result is that the following will produce a &apos;http://example.com/&apos; in Chrome/Firefox but &apos;http://example.com/#&apos; in Safari.

var url = new URL(&apos;http://example.com&apos;);
url.hash = &apos;&apos;;
console.log(url.toString());</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203324</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-06-17 09:24:45 -0700</bug_when>
    <thetext>&lt;rdar://problem/26863430&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203349</commentid>
    <comment_count>2</comment_count>
      <attachid>281569</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-17 11:17:58 -0700</bug_when>
    <thetext>Created attachment 281569
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203390</commentid>
    <comment_count>3</comment_count>
      <attachid>281569</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-06-17 12:58:30 -0700</bug_when>
    <thetext>Comment on attachment 281569
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=281569&amp;action=review

&gt; Source/WebCore/html/URLUtils.h:287
&gt; +    String newFragment = value[0U] == &apos;#&apos; ? value.substring(1) : value;

Would be better if some day setFragmentIdentifier was changed to take a StringView, then we would not have to allocate a new string just to contain a substring of what we were passed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203393</commentid>
    <comment_count>4</comment_count>
      <attachid>281569</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-17 13:18:56 -0700</bug_when>
    <thetext>Comment on attachment 281569
Patch

Clearing flags on attachment: 281569

Committed r202176: &lt;http://trac.webkit.org/changeset/202176&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203394</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-17 13:19:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203397</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-17 13:23:51 -0700</bug_when>
    <thetext>@Robert Knight: You should be able to test/verify the fix using tomorrow&apos;s nightly build at https://webkit.org/nightly/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203453</commentid>
    <comment_count>7</comment_count>
    <who name="Robert Knight">robertknight</who>
    <bug_when>2016-06-17 15:42:11 -0700</bug_when>
    <thetext>Wow! That&apos;s a fast turn around. Thank-you both!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281569</attachid>
            <date>2016-06-17 11:17:58 -0700</date>
            <delta_ts>2016-06-17 13:18:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158869-20160617111755.patch</filename>
            <type>text/plain</type>
            <size>15766</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyMTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2U0ZTk0ZWUwYTA0ZmY0
ZDdmZDZmMzdkNmUyODI3NjNjYzg2NTYwOS4uYzY2ZTcyNWNkNDdkZTY3NDViNmU3NDc1YWViNTZh
NGRlOTkwMDU5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUwIEBACiAyMDE2LTA2LTE3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgVVJMIGhhc2ggc2V0dGVyIGRv
ZXMgbm90IHJlbW92ZSBmcmFnbWVudCBpZGVudGlmaWVyIGlmIGFyZ3VtZW50IGlzIGFuIGVtcHR5
IHN0cmluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU4ODY5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNjg2MzQzMD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVUkwgaGFzaCBzZXR0ZXIgYW5kIFVS
TFV0aWxzIGhhc2ggc2V0dGVyIHNob3VsZCByZW1vdmUgdGhlIGZyYWdtZW50IGlkZW50aWZpZXIK
KyAgICAgICAgaWYgc2V0IHRvICIjIiBvciAiIjoKKyAgICAgICAgLSBodHRwczovL3VybC5zcGVj
LndoYXR3Zy5vcmcvI2RvbS11cmwtaGFzaAorICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndo
YXR3Zy5vcmcvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI2RvbS1oeXBlcmxpbmstaGFzaAorCisg
ICAgICAgIFRoaXMgcGF0Y2ggYWxpZ25zIG91ciBiZWhhdmlvciB3aXRoIHRoZSBzcGVjaWZpY2F0
aW9uIGFuZCB3aXRoIG90aGVyIGJyb3dzZXJzCisgICAgICAgICh0ZXN0ZWQgRmlyZWZveCBhbmQg
Q2hyb21lKS4KKworICAgICAgICBUaGlzIHBhdGNoIGFsc28gdXBkYXRlcyBIVE1MQW5jaG9yRWxl
bWVudCB0byBpbmhlcml0IFVSTFV0aWxzIHRvIGF2b2lkIGNvZGUKKyAgICAgICAgZHVwbGljYXRp
b24uIEhUTUxBbmNob3JFbGVtZW50IGFscmVhZHkgaW1wbGVtZW50cyBVUkxVdGlscyBpbiB0aGUg
SURMLCBhcyBwZXIKKyAgICAgICAgdGhlIHNwZWNpZmljYXRpb246CisgICAgICAgIC0gaHR0cHM6
Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2VtYW50aWNzLmh0bWwjaHRtbGFuY2hv
cmVsZW1lbnQKKworICAgICAgICBObyBuZXcgdGVzdHMsIHJlYmFzZWxpbmVkIGV4aXN0aW5nIHRl
c3RzLgorCisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6b3JpZ2luKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxBbmNob3JFbGVtZW50Ojp0ZXh0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxBbmNob3JFbGVtZW50OjpzZXRUZXh0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxBbmNob3JFbGVtZW50Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6aXNMaXZlTGluayk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6c2VuZFBpbmdzKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjpoYW5kbGVDbGljayk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6ZXZlbnRUeXBlKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50Ojp0cmVhdExpbmtBc0xpdmVGb3JFdmVu
dFR5cGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6aXNFbnRlcktleUtleWRvd25FdmVu
dCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpzaG91bGRQcm9oaWJpdExpbmtzKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50Ojp3aWxsUmVzcG9uZFRv
TW91c2VDbGlja0V2ZW50cyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpyb290RWRpdGFi
bGVFbGVtZW50TWFwKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVt
ZW50Ojpyb290RWRpdGFibGVFbGVtZW50Rm9yU2VsZWN0aW9uT25Nb3VzZURvd24pOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFuY2hvckVsZW1lbnQ6OmNsZWFyUm9vdEVkaXRhYmxl
RWxlbWVudEZvclNlbGVjdGlvbk9uTW91c2VEb3duKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxBbmNob3JFbGVtZW50OjpzZXRSb290RWRpdGFibGVFbGVtZW50Rm9yU2VsZWN0aW9u
T25Nb3VzZURvd24pOiBEZWxldGVkLgorICAgICAgICAqIGh0bWwvSFRNTEFuY2hvckVsZW1lbnQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjppbnZhbGlkYXRlQ2FjaGVk
VmlzaXRlZExpbmtIYXNoKTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL1VSTFV0aWxzLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpVUkxVdGlsczxUPjo6c2V0SGFzaCk6CisKKzIwMTYtMDYtMTcgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBEcm9wIHNvbWUgdW5uZWNl
c3NhcnkgaGVhZGVyIGluY2x1ZGVzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTg4NjQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQW5jaG9yRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVt
ZW50LmNwcAppbmRleCAwZjQwYzI0YzZlMTI2YWQ0Y2MzNTU1MjI5Zjg0NzFmZGE2ZmY1NjBhLi42
YzViMzU3ZTUwYzkxMzlhYmIzMDJkOGNiMjIyMjJiMWQ2YjdkZDc4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcApAQCAtMzIyLDE5MyArMzIyLDExIEBAIFN0cmlu
ZyBIVE1MQW5jaG9yRWxlbWVudDo6dGFyZ2V0KCkgY29uc3QKICAgICByZXR1cm4gZ2V0QXR0cmli
dXRlKHRhcmdldEF0dHIpOwogfQogCi1TdHJpbmcgSFRNTEFuY2hvckVsZW1lbnQ6Omhhc2goKSBj
b25zdAotewotICAgIFN0cmluZyBmcmFnbWVudElkZW50aWZpZXIgPSBocmVmKCkuZnJhZ21lbnRJ
ZGVudGlmaWVyKCk7Ci0gICAgaWYgKGZyYWdtZW50SWRlbnRpZmllci5pc0VtcHR5KCkpCi0gICAg
ICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotICAgIHJldHVybiBBdG9taWNTdHJpbmcoU3RyaW5n
KCIjIiArIGZyYWdtZW50SWRlbnRpZmllcikpOwotfQotCi12b2lkIEhUTUxBbmNob3JFbGVtZW50
OjpzZXRIYXNoKGNvbnN0IFN0cmluZyYgdmFsdWUpCi17Ci0gICAgVVJMIHVybCA9IGhyZWYoKTsK
LSAgICBpZiAodmFsdWVbMF0gPT0gJyMnKQotICAgICAgICB1cmwuc2V0RnJhZ21lbnRJZGVudGlm
aWVyKHZhbHVlLnN1YnN0cmluZygxKSk7Ci0gICAgZWxzZQotICAgICAgICB1cmwuc2V0RnJhZ21l
bnRJZGVudGlmaWVyKHZhbHVlKTsKLSAgICBzZXRIcmVmKHVybC5zdHJpbmcoKSk7Ci19Ci0KLVN0
cmluZyBIVE1MQW5jaG9yRWxlbWVudDo6aG9zdCgpIGNvbnN0Ci17Ci0gICAgY29uc3QgVVJMJiB1
cmwgPSBocmVmKCk7Ci0gICAgaWYgKHVybC5ob3N0RW5kKCkgPT0gdXJsLnBhdGhTdGFydCgpKQot
ICAgICAgICByZXR1cm4gdXJsLmhvc3QoKTsKLSAgICBpZiAoaXNEZWZhdWx0UG9ydEZvclByb3Rv
Y29sKHVybC5wb3J0KCksIHVybC5wcm90b2NvbCgpKSkKLSAgICAgICAgcmV0dXJuIHVybC5ob3N0
KCk7Ci0gICAgcmV0dXJuIHVybC5ob3N0KCkgKyAiOiIgKyBTdHJpbmc6Om51bWJlcih1cmwucG9y
dCgpKTsKLX0KLQotdm9pZCBIVE1MQW5jaG9yRWxlbWVudDo6c2V0SG9zdChjb25zdCBTdHJpbmcm
IHZhbHVlKQotewotICAgIGlmICh2YWx1ZS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsKLSAg
ICBVUkwgdXJsID0gaHJlZigpOwotICAgIGlmICghdXJsLmNhblNldEhvc3RPclBvcnQoKSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgc2l6ZV90IHNlcGFyYXRvciA9IHZhbHVlLmZpbmQoJzonKTsK
LSAgICBpZiAoIXNlcGFyYXRvcikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKHNlcGFyYXRv
ciA9PSBub3RGb3VuZCkKLSAgICAgICAgdXJsLnNldEhvc3RBbmRQb3J0KHZhbHVlKTsKLSAgICBl
bHNlIHsKLSAgICAgICAgdW5zaWduZWQgcG9ydEVuZDsKLSAgICAgICAgdW5zaWduZWQgcG9ydCA9
IHBhcnNlUG9ydEZyb21TdHJpbmdQb3NpdGlvbih2YWx1ZSwgc2VwYXJhdG9yICsgMSwgcG9ydEVu
ZCk7Ci0gICAgICAgIGlmICghcG9ydCkgewotICAgICAgICAgICAgLy8gaHR0cDovL2Rldi53My5v
cmcvaHRtbDUvc3BlYy9pbmZyYXN0cnVjdHVyZS5odG1sI3VybC1kZWNvbXBvc2l0aW9uLWlkbC1h
dHRyaWJ1dGVzCi0gICAgICAgICAgICAvLyBzcGVjaWZpY2FsbHkgZ29lcyBhZ2FpbnN0IFJGQyAz
OTg2IChwMy4yKSBhbmQKLSAgICAgICAgICAgIC8vIHJlcXVpcmVzIHNldHRpbmcgdGhlIHBvcnQg
dG8gIjAiIGlmIGl0IGlzIHNldCB0byBlbXB0eSBzdHJpbmcuCi0gICAgICAgICAgICB1cmwuc2V0
SG9zdEFuZFBvcnQodmFsdWUuc3Vic3RyaW5nKDAsIHNlcGFyYXRvciArIDEpICsgIjAiKTsKLSAg
ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGlmIChpc0RlZmF1bHRQb3J0Rm9yUHJvdG9jb2wo
cG9ydCwgdXJsLnByb3RvY29sKCkpKQotICAgICAgICAgICAgICAgIHVybC5zZXRIb3N0QW5kUG9y
dCh2YWx1ZS5zdWJzdHJpbmcoMCwgc2VwYXJhdG9yKSk7Ci0gICAgICAgICAgICBlbHNlCi0gICAg
ICAgICAgICAgICAgdXJsLnNldEhvc3RBbmRQb3J0KHZhbHVlLnN1YnN0cmluZygwLCBwb3J0RW5k
KSk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgc2V0SHJlZih1cmwuc3RyaW5nKCkpOwotfQotCi1T
dHJpbmcgSFRNTEFuY2hvckVsZW1lbnQ6OnVzZXJuYW1lKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
aHJlZigpLmVuY29kZWRVc2VyKCk7Ci19Ci0KLXZvaWQgSFRNTEFuY2hvckVsZW1lbnQ6OnNldFVz
ZXJuYW1lKGNvbnN0IFN0cmluZyYgdmFsdWUpCi17Ci0gICAgVVJMIHVybCA9IGhyZWYoKTsKLSAg
ICB1cmwuc2V0VXNlcih2YWx1ZSk7Ci0gICAgc2V0SHJlZih1cmwuc3RyaW5nKCkpOwotfQotCi1T
dHJpbmcgSFRNTEFuY2hvckVsZW1lbnQ6OnBhc3N3b3JkKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
aHJlZigpLmVuY29kZWRQYXNzKCk7Ci19Ci0KLXZvaWQgSFRNTEFuY2hvckVsZW1lbnQ6OnNldFBh
c3N3b3JkKGNvbnN0IFN0cmluZyYgdmFsdWUpCi17Ci0gICAgVVJMIHVybCA9IGhyZWYoKTsKLSAg
ICB1cmwuc2V0UGFzcyh2YWx1ZSk7Ci0gICAgc2V0SHJlZih1cmwuc3RyaW5nKCkpOwotfQotCi1T
dHJpbmcgSFRNTEFuY2hvckVsZW1lbnQ6Omhvc3RuYW1lKCkgY29uc3QKLXsKLSAgICByZXR1cm4g
aHJlZigpLmhvc3QoKTsKLX0KLQotdm9pZCBIVE1MQW5jaG9yRWxlbWVudDo6c2V0SG9zdG5hbWUo
Y29uc3QgU3RyaW5nJiB2YWx1ZSkKLXsKLSAgICAvLyBCZWZvcmUgc2V0dGluZyBuZXcgdmFsdWU6
Ci0gICAgLy8gUmVtb3ZlIGFsbCBsZWFkaW5nIFUrMDAyRiBTT0xJRFVTICgiLyIpIGNoYXJhY3Rl
cnMuCi0gICAgdW5zaWduZWQgaSA9IDA7Ci0gICAgdW5zaWduZWQgaG9zdExlbmd0aCA9IHZhbHVl
Lmxlbmd0aCgpOwotICAgIHdoaWxlICh2YWx1ZVtpXSA9PSAnLycpCi0gICAgICAgIGkrKzsKLQot
ICAgIGlmIChpID09IGhvc3RMZW5ndGgpCi0gICAgICAgIHJldHVybjsKLQotICAgIFVSTCB1cmwg
PSBocmVmKCk7Ci0gICAgaWYgKCF1cmwuY2FuU2V0SG9zdE9yUG9ydCgpKQotICAgICAgICByZXR1
cm47Ci0KLSAgICB1cmwuc2V0SG9zdCh2YWx1ZS5zdWJzdHJpbmcoaSkpOwotICAgIHNldEhyZWYo
dXJsLnN0cmluZygpKTsKLX0KLQotU3RyaW5nIEhUTUxBbmNob3JFbGVtZW50OjpwYXRobmFtZSgp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIGhyZWYoKS5wYXRoKCk7Ci19Ci0KLXZvaWQgSFRNTEFuY2hv
ckVsZW1lbnQ6OnNldFBhdGhuYW1lKGNvbnN0IFN0cmluZyYgdmFsdWUpCi17Ci0gICAgVVJMIHVy
bCA9IGhyZWYoKTsKLSAgICBpZiAoIXVybC5jYW5TZXRQYXRobmFtZSgpKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBpZiAodmFsdWVbMF0gPT0gJy8nKQotICAgICAgICB1cmwuc2V0UGF0aCh2YWx1
ZSk7Ci0gICAgZWxzZQotICAgICAgICB1cmwuc2V0UGF0aCgiLyIgKyB2YWx1ZSk7Ci0KLSAgICBz
ZXRIcmVmKHVybC5zdHJpbmcoKSk7Ci19Ci0KLVN0cmluZyBIVE1MQW5jaG9yRWxlbWVudDo6cG9y
dCgpIGNvbnN0Ci17Ci0gICAgaWYgKGhyZWYoKS5oYXNQb3J0KCkpCi0gICAgICAgIHJldHVybiBT
dHJpbmc6Om51bWJlcihocmVmKCkucG9ydCgpKTsKLQotICAgIHJldHVybiBlbXB0eVN0cmluZygp
OwotfQotCi12b2lkIEhUTUxBbmNob3JFbGVtZW50OjpzZXRQb3J0KGNvbnN0IFN0cmluZyYgdmFs
dWUpCi17Ci0gICAgVVJMIHVybCA9IGhyZWYoKTsKLSAgICBpZiAoIXVybC5jYW5TZXRIb3N0T3JQ
b3J0KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1
L3NwZWMvaW5mcmFzdHJ1Y3R1cmUuaHRtbCN1cmwtZGVjb21wb3NpdGlvbi1pZGwtYXR0cmlidXRl
cwotICAgIC8vIHNwZWNpZmljYWxseSBnb2VzIGFnYWluc3QgUkZDIDM5ODYgKHAzLjIpIGFuZAot
ICAgIC8vIHJlcXVpcmVzIHNldHRpbmcgdGhlIHBvcnQgdG8gIjAiIGlmIGl0IGlzIHNldCB0byBl
bXB0eSBzdHJpbmcuCi0gICAgdW5zaWduZWQgcG9ydCA9IHZhbHVlLnRvVUludCgpOwotICAgIGlm
IChpc0RlZmF1bHRQb3J0Rm9yUHJvdG9jb2wocG9ydCwgdXJsLnByb3RvY29sKCkpKQotICAgICAg
ICB1cmwucmVtb3ZlUG9ydCgpOwotICAgIGVsc2UKLSAgICAgICAgdXJsLnNldFBvcnQocG9ydCk7
Ci0KLSAgICBzZXRIcmVmKHVybC5zdHJpbmcoKSk7Ci19Ci0KLVN0cmluZyBIVE1MQW5jaG9yRWxl
bWVudDo6cHJvdG9jb2woKSBjb25zdAotewotICAgIHJldHVybiBocmVmKCkucHJvdG9jb2woKSAr
ICI6IjsKLX0KLQotdm9pZCBIVE1MQW5jaG9yRWxlbWVudDo6c2V0UHJvdG9jb2woY29uc3QgU3Ry
aW5nJiB2YWx1ZSkKLXsKLSAgICBVUkwgdXJsID0gaHJlZigpOwotICAgIHVybC5zZXRQcm90b2Nv
bCh2YWx1ZSk7Ci0gICAgc2V0SHJlZih1cmwuc3RyaW5nKCkpOwotfQotCi1TdHJpbmcgSFRNTEFu
Y2hvckVsZW1lbnQ6OnNlYXJjaCgpIGNvbnN0Ci17Ci0gICAgU3RyaW5nIHF1ZXJ5ID0gaHJlZigp
LnF1ZXJ5KCk7Ci0gICAgcmV0dXJuIHF1ZXJ5LmlzRW1wdHkoKSA/IGVtcHR5U3RyaW5nKCkgOiAi
PyIgKyBxdWVyeTsKLX0KLQogU3RyaW5nIEhUTUxBbmNob3JFbGVtZW50OjpvcmlnaW4oKSBjb25z
dAogewogICAgIHJldHVybiBTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKGhyZWYoKSkuZ2V0KCkudG9T
dHJpbmcoKTsKIH0KIAotdm9pZCBIVE1MQW5jaG9yRWxlbWVudDo6c2V0U2VhcmNoKGNvbnN0IFN0
cmluZyYgdmFsdWUpCi17Ci0gICAgVVJMIHVybCA9IGhyZWYoKTsKLSAgICBTdHJpbmcgbmV3U2Vh
cmNoID0gKHZhbHVlWzBdID09ICc/JykgPyB2YWx1ZS5zdWJzdHJpbmcoMSkgOiB2YWx1ZTsKLSAg
ICAvLyBNYWtlIHN1cmUgdGhhdCAnIycgaW4gdGhlIHF1ZXJ5IGRvZXMgbm90IGxlYWsgdG8gdGhl
IGhhc2guCi0gICAgdXJsLnNldFF1ZXJ5KG5ld1NlYXJjaC5yZXBsYWNlV2l0aExpdGVyYWwoJyMn
LCAiJTIzIikpOwotCi0gICAgc2V0SHJlZih1cmwuc3RyaW5nKCkpOwotfQotCiBTdHJpbmcgSFRN
TEFuY2hvckVsZW1lbnQ6OnRleHQoKQogewogICAgIHJldHVybiB0ZXh0Q29udGVudCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oCmluZGV4IDMzMmFkYTUwMTk5OWE5ZDcx
ODhjNWVkOWI1ZTViN2Y1ZmEyNmEzODEuLjQ5NTIyYTUwZDkyNDA3MzFiM2Q0OGY0MjMxZDNlNDI4
NmNlZmQyZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmgKQEAgLTI3
LDYgKzI3LDcgQEAKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1l
cy5oIgogI2luY2x1ZGUgIkxpbmtIYXNoLmgiCisjaW5jbHVkZSAiVVJMVXRpbHMuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC01NSw3ICs1Niw3IEBAIGVudW0gewogLy8gICAgIFJlbGF0
aW9uVXAgICAgICAgICAgPSAweDAwMDIwMDAwLAogfTsKIAotY2xhc3MgSFRNTEFuY2hvckVsZW1l
bnQgOiBwdWJsaWMgSFRNTEVsZW1lbnQgeworY2xhc3MgSFRNTEFuY2hvckVsZW1lbnQgOiBwdWJs
aWMgSFRNTEVsZW1lbnQsIHB1YmxpYyBVUkxVdGlsczxIVE1MQW5jaG9yRWxlbWVudD4gewogcHVi
bGljOgogICAgIHN0YXRpYyBSZWY8SFRNTEFuY2hvckVsZW1lbnQ+IGNyZWF0ZShEb2N1bWVudCYp
OwogICAgIHN0YXRpYyBSZWY8SFRNTEFuY2hvckVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiwgRG9jdW1lbnQmKTsKQEAgLTY3LDMzICs2OCw2IEBAIHB1YmxpYzoKIAogICAgIGNv
bnN0IEF0b21pY1N0cmluZyYgbmFtZSgpIGNvbnN0OwogCi0gICAgU3RyaW5nIGhhc2goKSBjb25z
dDsKLSAgICB2b2lkIHNldEhhc2goY29uc3QgU3RyaW5nJik7Ci0KLSAgICBTdHJpbmcgaG9zdCgp
IGNvbnN0OwotICAgIHZvaWQgc2V0SG9zdChjb25zdCBTdHJpbmcmKTsKLQotICAgIFN0cmluZyB1
c2VybmFtZSgpIGNvbnN0OwotICAgIHZvaWQgc2V0VXNlcm5hbWUoY29uc3QgU3RyaW5nJik7Ci0K
LSAgICBTdHJpbmcgcGFzc3dvcmQoKSBjb25zdDsKLSAgICB2b2lkIHNldFBhc3N3b3JkKGNvbnN0
IFN0cmluZyYpOwotCi0gICAgU3RyaW5nIGhvc3RuYW1lKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRI
b3N0bmFtZShjb25zdCBTdHJpbmcmKTsKLQotICAgIFN0cmluZyBwYXRobmFtZSgpIGNvbnN0Owot
ICAgIHZvaWQgc2V0UGF0aG5hbWUoY29uc3QgU3RyaW5nJik7Ci0KLSAgICBTdHJpbmcgcG9ydCgp
IGNvbnN0OwotICAgIHZvaWQgc2V0UG9ydChjb25zdCBTdHJpbmcmKTsKLQotICAgIFN0cmluZyBw
cm90b2NvbCgpIGNvbnN0OwotICAgIHZvaWQgc2V0UHJvdG9jb2woY29uc3QgU3RyaW5nJik7Ci0K
LSAgICBTdHJpbmcgc2VhcmNoKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRTZWFyY2goY29uc3QgU3Ry
aW5nJik7Ci0KICAgICBTdHJpbmcgb3JpZ2luKCkgY29uc3Q7CiAKICAgICBTdHJpbmcgdGV4dCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9VUkxVdGlscy5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9VUkxVdGlscy5oCmluZGV4IDU5M2U1M2ViNzg1OWFkZDlhNzc1OWMxNzc2OTBk
ZTcyZjY1ZjE0OTIuLmEwOGMwYTMxNDY0YWZjNTc3NjIwMGVmMTQzMTJmYmI4NzUxZmFhOTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVVJMVXRpbHMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1VSTFV0aWxzLmgKQEAgLTI4NCwxMCArMjg0LDExIEBAIHRlbXBsYXRlIDx0eXBl
bmFtZSBUPgogdm9pZCBVUkxVdGlsczxUPjo6c2V0SGFzaChjb25zdCBTdHJpbmcmIHZhbHVlKQog
ewogICAgIFVSTCB1cmwgPSBocmVmKCk7Ci0gICAgaWYgKHZhbHVlWzBVXSA9PSAnIycpCi0gICAg
ICAgIHVybC5zZXRGcmFnbWVudElkZW50aWZpZXIodmFsdWUuc3Vic3RyaW5nKDEpKTsKKyAgICBT
dHJpbmcgbmV3RnJhZ21lbnQgPSB2YWx1ZVswVV0gPT0gJyMnID8gdmFsdWUuc3Vic3RyaW5nKDEp
IDogdmFsdWU7CisgICAgaWYgKG5ld0ZyYWdtZW50LmlzRW1wdHkoKSkKKyAgICAgICAgdXJsLnJl
bW92ZUZyYWdtZW50SWRlbnRpZmllcigpOwogICAgIGVsc2UKLSAgICAgICAgdXJsLnNldEZyYWdt
ZW50SWRlbnRpZmllcih2YWx1ZSk7CisgICAgICAgIHVybC5zZXRGcmFnbWVudElkZW50aWZpZXIo
bmV3RnJhZ21lbnQpOwogICAgIHNldEhyZWYodXJsLnN0cmluZygpKTsKIH0KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDMx
ZjA5MmM2YmNiZjViNmFmOGY4NDRiMzU1N2E2NDRiNmQ2N2IxZGIuLmY0Mjk1NmY5ZDkyMzJlNjM4
MDRjZTc2MjYwMDc4MDVmOWM1MmRkY2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNi0wNi0x
NyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFVSTCBoYXNoIHNl
dHRlciBkb2VzIG5vdCByZW1vdmUgZnJhZ21lbnQgaWRlbnRpZmllciBpZiBhcmd1bWVudCBpcyBh
biBlbXB0eSBzdHJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE1ODg2OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjY4NjM0MzA+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGV4aXN0aW5n
IGxheW91dCB0ZXN0cyBub3cgdGhhdCBzZXR0aW5nIGhhc2ggdG8gIiIgb3IgIiMiIGNsZWFycwor
ICAgICAgICB0aGUgZnJhZ21lbnQgaWRlbnRpZmllci4KKworICAgICAgICAqIGZhc3QvZG9tL0RP
TVVSTC9zZXQtaHJlZi1hdHRyaWJ1dGUtaGFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFz
dC9kb20vRE9NVVJML3NldC1ocmVmLWF0dHJpYnV0ZS1oYXNoLmh0bWw6CisgICAgICAgICogZmFz
dC9kb20vSFRNTEFuY2hvckVsZW1lbnQvc2NyaXB0LXRlc3RzL3NldC1ocmVmLWF0dHJpYnV0ZS1o
YXNoLmpzOgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3NldC1ocmVmLWF0
dHJpYnV0ZS1oYXNoLWV4cGVjdGVkLnR4dDoKKwogMjAxNi0wNi0xNyAgUm9tYWluIEJlbGxlc3Nv
cnQgIDxyb21haW4uYmVsbGVzc29ydEBjcmYuY2Fub24uZnI+CiAKICAgICAgICAgVXBkYXRlIHRl
c3QtZXhwZWN0ZWQgZmlsZSBmb3IgZmFpbGluZyBmdWxsc2NyZWVuIHRlc3QKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0RPTVVSTC9zZXQtaHJlZi1hdHRyaWJ1dGUtaGFzaC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9ET01VUkwvc2V0LWhyZWYtYXR0cmlidXRl
LWhhc2gtZXhwZWN0ZWQudHh0CmluZGV4IDcyZjI4ZmVkODNmOThmZGEwNWVkY2Q2YTBiNDk1MzBm
ODIzYTdlY2IuLjNhNWZhMmQxYjAyMGM5YmY5YzNjZmI3YjFhYzNhNGRkNzk5MGE5NWYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RPTVVSTC9zZXQtaHJlZi1hdHRyaWJ1dGUtaGFz
aC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRE9NVVJML3NldC1ocmVm
LWF0dHJpYnV0ZS1oYXNoLWV4cGVjdGVkLnR4dApAQCAtMTUsMTMgKzE1LDEzIEBAIFBBU1MgYS5o
cmVmIGlzICdodHRwczovL3d3dy5teVwiZCgpe318fm9tP2FpbiNjb20vcGF0aC90ZXN0dXJsLmh0
bWwjbWlkZGxlJwogU2V0IGhhc2ggdG8gbnVsbAogUEFTUyBhLmhyZWYgaXMgJ2h0dHBzOi8vd3d3
Lm15ZG9tYWluLmNvbS9wYXRoL3Rlc3R1cmwuaHRtbCNudWxsJwogU2V0IGhhc2ggdG8gZW1wdHkg
c3RyaW5nCi1QQVNTIGEuaHJlZiBpcyAnaHR0cHM6Ly93d3cubXlkb21haW4uY29tL3BhdGgvdGVz
dHVybC5odG1sIycKK1BBU1MgYS5ocmVmIGlzICdodHRwczovL3d3dy5teWRvbWFpbi5jb20vcGF0
aC90ZXN0dXJsLmh0bWwnCiBBZGQgaGFzaCB0byBtYWlsdG86IHByb3RvY29sCiBQQVNTIGEuaHJl
ZiBpcyAnbWFpbHRvOmUtbWFpbF9hZGRyZXNzQGdvZXNfaGVyZSNoYXNoLXZhbHVlJwogQWRkIGhh
c2ggdG8gZmlsZTogcHJvdG9jb2wKIFBBU1MgYS5ocmVmIGlzICdmaWxlOi8vL3NvbWUlMjBwYXRo
I2hhc2ggdmFsdWUnCiBTZXQgaGFzaCB0byAnIycKLVBBU1MgYS5ocmVmIGlzICdodHRwOi8vbXlk
b21haW4uY29tLyMnCitQQVNTIGEuaHJlZiBpcyAnaHR0cDovL215ZG9tYWluLmNvbS8nCiBBZGQg
aGFzaCB0byBub24tc3RhbmRhcmQgcHJvdG9jb2wKIFBBU1MgYS5ocmVmIGlzICdmb286YmFyI2hh
c2gnCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9ET01VUkwvc2V0LWhyZWYtYXR0cmlidXRlLWhhc2guaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0RPTVVSTC9zZXQtaHJlZi1hdHRyaWJ1dGUtaGFzaC5odG1sCmluZGV4
IGJlNzJkNmRmNjYwOGQwNGVhOTRjMTZlM2Y4YjVhYzgxNjFjNDdmMDUuLjNjNTZiMzBlZWFjMmQ3
ZDhkN2VkZDdjZmRiOGQwYTM5MTBjMzI3N2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0RPTVVSTC9zZXQtaHJlZi1hdHRyaWJ1dGUtaGFzaC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0RPTVVSTC9zZXQtaHJlZi1hdHRyaWJ1dGUtaGFzaC5odG1sCkBAIC00NCw3ICs0
NCw3IEBAIHNob3VsZEJlKCJhLmhyZWYiLCAiJ2h0dHBzOi8vd3d3Lm15ZG9tYWluLmNvbS9wYXRo
L3Rlc3R1cmwuaHRtbCNudWxsJyIpOwogZGVidWcoIlNldCBoYXNoIHRvIGVtcHR5IHN0cmluZyIp
OwogYS5ocmVmID0gImh0dHBzOi8vd3d3Lm15ZG9tYWluLmNvbS9wYXRoL3Rlc3R1cmwuaHRtbCNt
aWRkbGUiOwogYS5oYXNoID0gIiI7Ci1zaG91bGRCZSgiYS5ocmVmIiwgIidodHRwczovL3d3dy5t
eWRvbWFpbi5jb20vcGF0aC90ZXN0dXJsLmh0bWwjJyIpOworc2hvdWxkQmUoImEuaHJlZiIsICIn
aHR0cHM6Ly93d3cubXlkb21haW4uY29tL3BhdGgvdGVzdHVybC5odG1sJyIpOwogCiAvLyBGaXJl
Zm94IDMuNS4yIGRvZXMgbm90IGFsbG93IHNldHRpbmcgaGFzaCB0byBtYWlsdG86IHNjaGVtZSwg
YW5kIGl0IHNob3VsZC4KIGRlYnVnKCJBZGQgaGFzaCB0byBtYWlsdG86IHByb3RvY29sIik7CkBA
IC02Miw3ICs2Miw3IEBAIHNob3VsZEJlKCJhLmhyZWYiLCAiJ2ZpbGU6Ly8vc29tZSUyMHBhdGgj
aGFzaCB2YWx1ZSciKTsKIGRlYnVnKCJTZXQgaGFzaCB0byAnIyciKTsKIGEuaHJlZiA9ICJodHRw
Oi8vbXlkb21haW4uY29tI21pZGRsZSI7CiBhLmhhc2ggPSAiIyI7Ci1zaG91bGRCZSgiYS5ocmVm
IiwgIidodHRwOi8vbXlkb21haW4uY29tLyMnIik7CitzaG91bGRCZSgiYS5ocmVmIiwgIidodHRw
Oi8vbXlkb21haW4uY29tLyciKTsKIAogLy8gRmlyZWZveCAzLjUuMiBkb2VzIG5vdCBhbGxvdyBz
ZXR0aW5nIGhhc2ggdG8gZm9vOiBzY2hlbWUsIGFuZCBpdCBzaG91bGQuCiBkZWJ1ZygiQWRkIGhh
c2ggdG8gbm9uLXN0YW5kYXJkIHByb3RvY29sIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zY3JpcHQtdGVzdHMvc2V0LWhyZWYtYXR0cmlidXRl
LWhhc2guanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zY3JpcHQt
dGVzdHMvc2V0LWhyZWYtYXR0cmlidXRlLWhhc2guanMKaW5kZXggNjZkNmM5NzE5OTA2YjBmZjNj
YjA3ZDYwNmI1MDc5MzFhODVmODM3Yy4uMWRmNjMzZjY4YmQ2NDVhMjA4ZTc1MTdhMzU4NjcwNGJk
ZjBiNDJkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVsZW1l
bnQvc2NyaXB0LXRlc3RzL3NldC1ocmVmLWF0dHJpYnV0ZS1oYXNoLmpzCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3NjcmlwdC10ZXN0cy9zZXQtaHJlZi1hdHRy
aWJ1dGUtaGFzaC5qcwpAQCAtMzQsNyArMzQsNyBAQCBzaG91bGRCZSgiYS5ocmVmIiwgIidodHRw
czovL3d3dy5teWRvbWFpbi5jb20vcGF0aC90ZXN0dXJsLmh0bWwjbnVsbCciKTsKIGRlYnVnKCJT
ZXQgaGFzaCB0byBlbXB0eSBzdHJpbmciKTsKIGEuaHJlZiA9ICJodHRwczovL3d3dy5teWRvbWFp
bi5jb20vcGF0aC90ZXN0dXJsLmh0bWwjbWlkZGxlIjsKIGEuaGFzaCA9ICIiOwotc2hvdWxkQmUo
ImEuaHJlZiIsICInaHR0cHM6Ly93d3cubXlkb21haW4uY29tL3BhdGgvdGVzdHVybC5odG1sIyci
KTsKK3Nob3VsZEJlKCJhLmhyZWYiLCAiJ2h0dHBzOi8vd3d3Lm15ZG9tYWluLmNvbS9wYXRoL3Rl
c3R1cmwuaHRtbCciKTsKIAogLy8gRmlyZWZveCAzLjUuMiBkb2VzIG5vdCBhbGxvdyBzZXR0aW5n
IGhhc2ggdG8gbWFpbHRvOiBzY2hlbWUsIGFuZCBpdCBzaG91bGQuCiBkZWJ1ZygiQWRkIGhhc2gg
dG8gbWFpbHRvOiBwcm90b2NvbCIpOwpAQCAtNTIsNyArNTIsNyBAQCBzaG91bGRCZSgiYS5ocmVm
IiwgIidmaWxlOi8vL3NvbWUlMjBwYXRoI2hhc2ggdmFsdWUnIik7CiBkZWJ1ZygiU2V0IGhhc2gg
dG8gJyMnIik7CiBhLmhyZWYgPSAiaHR0cDovL215ZG9tYWluLmNvbSNtaWRkbGUiOwogYS5oYXNo
ID0gIiMiOwotc2hvdWxkQmUoImEuaHJlZiIsICInaHR0cDovL215ZG9tYWluLmNvbS8jJyIpOwor
c2hvdWxkQmUoImEuaHJlZiIsICInaHR0cDovL215ZG9tYWluLmNvbS8nIik7CiAKIC8vIEZpcmVm
b3ggMy41LjIgZG9lcyBub3QgYWxsb3cgc2V0dGluZyBoYXNoIHRvIGZvbzogc2NoZW1lLCBhbmQg
aXQgc2hvdWxkLgogZGVidWcoIkFkZCBoYXNoIHRvIG5vbi1zdGFuZGFyZCBwcm90b2NvbCIpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvc2V0LWhy
ZWYtYXR0cmlidXRlLWhhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRN
TEFuY2hvckVsZW1lbnQvc2V0LWhyZWYtYXR0cmlidXRlLWhhc2gtZXhwZWN0ZWQudHh0CmluZGV4
IDdhMTY3MzY3YzNiZmMyZWIyODczOTA0OGZkNTJlN2UyZWNlZGMzMmMuLmFiZWIyYzJmMmRjN2Jl
ZmMzNDg0NzhjMTYxZDVmYmQyZjhjY2U3ODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxBbmNob3JFbGVtZW50L3NldC1ocmVmLWF0dHJpYnV0ZS1oYXNoLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zZXQtaHJlZi1h
dHRyaWJ1dGUtaGFzaC1leHBlY3RlZC50eHQKQEAgLTE0LDEzICsxNCwxMyBAQCBQQVNTIGEuaHJl
ZiBpcyAnaHR0cHM6Ly93d3cubXkiZCgpe318fm9tP2FpbiNjb20vcGF0aC90ZXN0dXJsLmh0bWwj
bWlkZGxlJwogU2V0IGhhc2ggdG8gbnVsbAogUEFTUyBhLmhyZWYgaXMgJ2h0dHBzOi8vd3d3Lm15
ZG9tYWluLmNvbS9wYXRoL3Rlc3R1cmwuaHRtbCNudWxsJwogU2V0IGhhc2ggdG8gZW1wdHkgc3Ry
aW5nCi1QQVNTIGEuaHJlZiBpcyAnaHR0cHM6Ly93d3cubXlkb21haW4uY29tL3BhdGgvdGVzdHVy
bC5odG1sIycKK1BBU1MgYS5ocmVmIGlzICdodHRwczovL3d3dy5teWRvbWFpbi5jb20vcGF0aC90
ZXN0dXJsLmh0bWwnCiBBZGQgaGFzaCB0byBtYWlsdG86IHByb3RvY29sCiBQQVNTIGEuaHJlZiBp
cyAnbWFpbHRvOmUtbWFpbF9hZGRyZXNzQGdvZXNfaGVyZSNoYXNoLXZhbHVlJwogQWRkIGhhc2gg
dG8gZmlsZTogcHJvdG9jb2wKIFBBU1MgYS5ocmVmIGlzICdmaWxlOi8vL3NvbWUlMjBwYXRoI2hh
c2ggdmFsdWUnCiBTZXQgaGFzaCB0byAnIycKLVBBU1MgYS5ocmVmIGlzICdodHRwOi8vbXlkb21h
aW4uY29tLyMnCitQQVNTIGEuaHJlZiBpcyAnaHR0cDovL215ZG9tYWluLmNvbS8nCiBBZGQgaGFz
aCB0byBub24tc3RhbmRhcmQgcHJvdG9jb2wKIFBBU1MgYS5ocmVmIGlzICdmb286YmFyI2hhc2gn
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>