<?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>210890</bug_id>
          
          <creation_ts>2020-04-22 18:24:06 -0700</creation_ts>
          <short_desc>Web Inspector: Uncaught Exception: SyntaxError: Invalid regular expression: missing )</short_desc>
          <delta_ts>2020-04-23 12:50:33 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>https://webkit.org/</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="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>bburg</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1644614</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-04-22 18:24:06 -0700</bug_when>
    <thetext>Uncaught Exception in Web Inspector.

# STEPS TO REPRODUCE
1. inspect any page
2. enable Search: Regular Expression in the General pane of the Settings Tab
3. go to the Sources Tab
4. enter &quot;asd(&quot; in the filter bar at the bottom of the navigation sidebar

Uncaught Exceptions:
-----------------------
 - SyntaxError: Invalid regular expression: missing ) (at SearchUtilities.js:113:26)
    RegExp @ [native code]
    _regExpForString @ SearchUtilities.js:113:26
    updateFilter @ NavigationSidebarPanel.js:320:88
    _filterDidChange @ NavigationSidebarPanel.js:579:26
    dispatch @ Object.js:165:30
    dispatchEventToListeners @ Object.js:172:17
    _handleFilterChanged @ FilterBar.js:183:42
    _handleFilterChanged @ [native code]
-----------------------

Notes:
Inspected URL:        https://webkit.org/
Loading completed:    true
Frontend User Agent:  Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644639</commentid>
    <comment_count>1</comment_count>
      <attachid>397307</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-04-22 20:02:20 -0700</bug_when>
    <thetext>Created attachment 397307
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644913</commentid>
    <comment_count>2</comment_count>
      <attachid>397307</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2020-04-23 12:33:51 -0700</bug_when>
    <thetext>Comment on attachment 397307
Patch

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

r=me

&gt; Source/WebInspectorUI/ChangeLog:52
&gt; +        * UserInterface/Views/SearchBar.css: Removed.

o_O

&gt; Source/WebInspectorUI/UserInterface/Views/CookieStorageContentView.js:463
&gt; +        let filterBar = this._filterBarNavigationItem.filterBar;

Thank you for de-indenting this function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644924</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-23 12:49:05 -0700</bug_when>
    <thetext>Committed r260589: &lt;https://trac.webkit.org/changeset/260589&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 397307.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644927</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-23 12:50:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/62258087&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397307</attachid>
            <date>2020-04-22 20:02:20 -0700</date>
            <delta_ts>2020-04-23 12:49:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210890-20200422210219.patch</filename>
            <type>text/plain</type>
            <size>33032</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDc3MzExN2Y1NDYyYzdmMmE1MDc0ZWVhNjRmYTE2
ODdiMGMwYTE0M2UuLjA2NTcxNWM0ZjgyZTU2ZDgzZGNlNmZhNjU5ZGNiZDhiN2RjOGVjYTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDIwLTA0LTIyICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBV
bmNhdWdodCBFeGNlcHRpb246IFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lv
bjogbWlzc2luZyApCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTA4OTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvQmFzZS9TZWFyY2hVdGlsaXRpZXMuanM6CisgICAgICAgIChX
SS5TZWFyY2hVdGlsaXRpZXMucHJvdG90eXBlLl9yZWdFeHBGb3JTdHJpbmcpOgorICAgICAgICBD
YXRjaCBhbnkgZXhjZXB0aW9ucyBmcm9tIGBuZXcgUmVnRXhwYCBhbmQgcmV0dXJuIGBudWxsYCBp
biB0aGF0IGNhc2UuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0ZpbHRlckJhci5q
czoKKyAgICAgICAgKFdJLkZpbHRlckJhcik6CisgICAgICAgIChXSS5GaWx0ZXJCYXIucHJvdG90
eXBlLmdldCBpbnZhbGlkKTogQWRkZWQuCisgICAgICAgIChXSS5GaWx0ZXJCYXIucHJvdG90eXBl
LnNldCBpbnZhbGlkKTogQWRkZWQuCisgICAgICAgIChXSS5GaWx0ZXJCYXIucHJvdG90eXBlLmNs
ZWFyKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0ZpbHRlckJhci5jc3M6CisgICAg
ICAgICg6bWF0Y2hlcyguZmlsdGVyLWJhciwgLnNlYXJjaC1iYXIpLmludmFsaWQgPiBpbnB1dFt0
eXBlPSJzZWFyY2giXSk6IEFkZGVkLgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ29v
a2llU3RvcmFnZUNvbnRlbnRWaWV3LmpzOgorICAgICAgICAoV0kuQ29va2llU3RvcmFnZUNvbnRl
bnRWaWV3LnByb3RvdHlwZS5fdXBkYXRlRmlsdGVyZWRDb29raWVzKToKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL0luZGV4ZWREYXRhYmFzZU9iamVjdFN0b3JlQ29udGVudFZpZXcuanM6
CisgICAgICAgIChXSS5JbmRleGVkRGF0YWJhc2VPYmplY3RTdG9yZUNvbnRlbnRWaWV3LnByb3Rv
dHlwZS5kYXRhR3JpZE1hdGNoTm9kZUFnYWluc3RDdXN0b21GaWx0ZXJzKToKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChX
SS5OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLnByb3RvdHlwZS51cGRhdGVGaWx0ZXIpOgorICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTmV0d29ya1RhYmxlQ29udGVudFZpZXcuanM6CisgICAg
ICAgIChXSS5OZXR3b3JrVGFibGVDb250ZW50Vmlldy5wcm90b3R5cGUuX3VybEZpbHRlckRpZENo
YW5nZSk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hTaWRlYmFyUGFuZWwu
anM6CisgICAgICAgIChXSS5TZWFyY2hTaWRlYmFyUGFuZWwpOgorICAgICAgICAoV0kuU2VhcmNo
U2lkZWJhclBhbmVsLnByb3RvdHlwZS5wZXJmb3JtU2VhcmNoKToKKyAgICAgICAgKFdJLlNlYXJj
aFNpZGViYXJQYW5lbC5wcm90b3R5cGUucGVyZm9ybVNlYXJjaC5mb3JFYWNoTWF0Y2gpOgorICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU2VhcmNoU2lkZWJhclBhbmVsLmNzczoKKyAgICAg
ICAgKC5zaWRlYmFyID4gLnBhbmVsLm5hdmlnYXRpb24uc2VhcmNoID4gLnNlYXJjaC1iYXIgPiBp
bnB1dFt0eXBlPSJzZWFyY2giXSk6IEFkZGVkLgorICAgICAgICBNYXJrIHRoZSBgV0kuRmlsdGVy
QmFyYCBhcyBpbnZhbGlkIGlmIHRoZSBgZmlsdGVyUmVnRXhwRm9yU3RyaW5nYCBpcyBpbnZhbGlk
LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlRWxlbWVudC5qczoKKyAg
ICAgICAgKFdJLkRPTVRyZWVFbGVtZW50LnByb3RvdHlwZS5faGlnaGxpZ2h0U2VhcmNoUmVzdWx0
cyk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9Mb2dDb250ZW50Vmlldy5qczoKKyAg
ICAgICAgKFdJLkxvZ0NvbnRlbnRWaWV3LnByb3RvdHlwZS5wZXJmb3JtU2VhcmNoKToKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlSGVhZGVyc0NvbnRlbnRWaWV3LmpzOgor
ICAgICAgICAoV0kuUmVzb3VyY2VIZWFkZXJzQ29udGVudFZpZXcucHJvdG90eXBlLl9wZXJmb21T
ZWFyY2hPbktleVZhbHVlUGFpcnMpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvUmVz
b3VyY2VTZWN1cml0eUNvbnRlbnRWaWV3LmpzOgorICAgICAgICAoV0kuUmVzb3VyY2VTZWN1cml0
eUNvbnRlbnRWaWV3LnByb3RvdHlwZS5fcGVyZm9tU2VhcmNoT25LZXlWYWx1ZVBhaXJzKToKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzOgorICAg
ICAgICAoV0kuU291cmNlQ29kZVRleHRFZGl0b3IucHJvdG90eXBlLmN1c3RvbVBlcmZvcm1TZWFy
Y2gpOgorICAgICAgICAoV0kuU291cmNlQ29kZVRleHRFZGl0b3IucHJvdG90eXBlLmN1c3RvbVBl
cmZvcm1TZWFyY2guc2VhcmNoUmVzdWx0Q2FsbGJhY2spOgorICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvVmlld3MvVGV4dEVkaXRvci5qczoKKyAgICAgICAgKFdJLlRleHRFZGl0b3IucHJvdG90eXBl
LnBlcmZvcm1TZWFyY2gpOgorICAgICAgICBFbnN1cmUgdGhhdCB0aGUgYFdJLkZpbmRCYW5uZXJg
IHNob3dzIDAgcmVzdWx0cyBpZiB0aGUgYHNlYXJjaFJlZ0V4cEZvclN0cmluZ2AgaXMgaW52YWxp
ZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTWFpbi5odG1sOgorICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvVmlld3MvU2VhcmNoQmFyLmpzOiBSZW1vdmVkLgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvU2VhcmNoQmFyLmNzczogUmVtb3ZlZC4KKyAgICAgICAgUmVtb3ZlZCB1bnVz
ZWQgYFdJLlNlYXJjaEJhcmAuCisKIDIwMjAtMDQtMjIgIERldmluIFJvdXNzbyAgPGRyb3Vzc29A
YXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFN0b3JhZ2U6IHVuYWJsZSB0byBm
aWx0ZXIgY29va2llcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvQmFzZS9TZWFyY2hVdGlsaXRpZXMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9CYXNlL1NlYXJjaFV0aWxpdGllcy5qcwppbmRleCA5MjhjYTNmM2IwNDYwMWNj
ODgzMmMxMWNiYzNlMzFkMjAwODJmMTNhLi5kMWUzNGFlMTI1NmIxYTUxYTA5MjAzYjNhNjA4ODdj
YWFiYjZhYTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9CYXNlL1NlYXJjaFV0aWxpdGllcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9CYXNlL1NlYXJjaFV0aWxpdGllcy5qcwpAQCAtOTksOCArOTksMTMgQEAgV0ku
U2VhcmNoVXRpbGl0aWVzID0gY2xhc3MgU2VhcmNoVXRpbGl0aWVzIHsKIAogICAgICAgICBjb25z
b2xlLmFzc2VydCgodHlwZW9mIHF1ZXJ5ID09PSAic3RyaW5nIiAmJiBxdWVyeSkgfHwgcXVlcnkg
aW5zdGFuY2VvZiBSZWdFeHApOwogCi0gICAgICAgIGlmICghY2hlY2tTZXR0aW5nKHNldHRpbmdz
LnJlZ3VsYXJFeHByZXNzaW9uKSkKLSAgICAgICAgICAgIHF1ZXJ5ID0gc2ltcGxlR2xvYlN0cmlu
Z1RvUmVnRXhwKFN0cmluZyhxdWVyeSkpOworICAgICAgICBpZiAoIWNoZWNrU2V0dGluZyhzZXR0
aW5ncy5yZWd1bGFyRXhwcmVzc2lvbikpIHsKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgcXVlcnkgPSBzaW1wbGVHbG9iU3RyaW5nVG9SZWdFeHAoU3RyaW5nKHF1ZXJ5KSk7Cisg
ICAgICAgICAgICB9IGNhdGNoIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQogCiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCh0eXBlb2YgcXVl
cnkgPT09ICJzdHJpbmciICYmIHF1ZXJ5KSB8fCBxdWVyeSBpbnN0YW5jZW9mIFJlZ0V4cCk7CiAK
QEAgLTExMCw2ICsxMTUsMTAgQEAgV0kuU2VhcmNoVXRpbGl0aWVzID0gY2xhc3MgU2VhcmNoVXRp
bGl0aWVzIHsKICAgICAgICAgaWYgKCFjaGVja1NldHRpbmcoc2V0dGluZ3MuY2FzZVNlbnNpdGl2
ZSkpCiAgICAgICAgICAgICBmbGFncyArPSAiaSI7CiAKLSAgICAgICAgcmV0dXJuIG5ldyBSZWdF
eHAocXVlcnksIGZsYWdzKTsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHJldHVybiBuZXcg
UmVnRXhwKHF1ZXJ5LCBmbGFncyk7CisgICAgICAgIH0gY2F0Y2ggeworICAgICAgICAgICAgcmV0
dXJuIG51bGw7CisgICAgICAgIH0KICAgICB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCmluZGV4IDBkNjc5NmVlYmJiNDQ3ZmRkOTU1NDFjZmM1
NzkzYWZlNmYzMTZmM2IuLjdiMTdmZjhkNDQ2NjkwMmZmYzM4ZTdhMDcyOTc3ZTc4ZTc5NGFkNDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRt
bAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKQEAg
LTE5Miw3ICsxOTIsNiBAQAogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3Mv
U2NyaXB0RGV0YWlsc1RpbWVsaW5lVmlldy5jc3MiPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iVmlld3MvU2NyaXB0VGltZWxpbmVPdmVydmlld0dyYXBoLmNzcyI+CiAgICAgPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9TY3J1YmJlck5hdmlnYXRpb25JdGVtLmNz
cyI+Ci0gICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9TZWFyY2hCYXIuY3Nz
Ij4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL1NlYXJjaEljb25zLmNz
cyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9TZWFyY2hTaWRlYmFy
UGFuZWwuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL1NldHRp
bmdzVGFiQ29udGVudFZpZXcuY3NzIj4KQEAgLTc5OCw3ICs3OTcsNiBAQAogICAgIDxzY3JpcHQg
c3JjPSJWaWV3cy9TY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qcyI+PC9zY3JpcHQ+CiAgICAg
PHNjcmlwdCBzcmM9IlZpZXdzL1NjcmlwdFRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1NjcnViYmVyTmF2aWdhdGlvbkl0ZW0uanMiPjwv
c2NyaXB0PgotICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9TZWFyY2hCYXIuanMiPjwvc2NyaXB0Pgog
ICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9TZWFyY2hSZXN1bHRUcmVlRWxlbWVudC5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1NlYXJjaFNpZGViYXJQYW5lbC5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL1NoYWRlclByb2dyYW1Db250ZW50Vmlldy5qcyI+
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9Db29raWVTdG9yYWdlQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9Db29raWVTdG9yYWdlQ29udGVudFZpZXcuanMKaW5kZXgg
YWZkM2Q3YTE5OTk1OThiZGE2Y2ZmM2FlNzJmY2ZiMzVlMzJjOTVmZi4uNDY1YWI2NmExZjAxMTIz
ZTMyYWY2MmY3OWI5MGFlYTU4MDg0MDdmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29va2llU3RvcmFnZUNvbnRlbnRWaWV3LmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Nvb2tpZVN0b3JhZ2VD
b250ZW50Vmlldy5qcwpAQCAtNDU4LDE5ICs0NTgsMjkgQEAgV0kuQ29va2llU3RvcmFnZUNvbnRl
bnRWaWV3ID0gY2xhc3MgQ29va2llU3RvcmFnZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVu
dFYKIAogICAgIF91cGRhdGVGaWx0ZXJlZENvb2tpZXMoKQogICAgIHsKLSAgICAgICAgbGV0IGZp
bHRlclRleHQgPSB0aGlzLl9maWx0ZXJCYXJOYXZpZ2F0aW9uSXRlbS5maWx0ZXJCYXIuZmlsdGVy
cy50ZXh0OwotICAgICAgICBpZiAoZmlsdGVyVGV4dCkgewotICAgICAgICAgICAgbGV0IHJlZ2V4
ID0gV0kuU2VhcmNoVXRpbGl0aWVzLmZpbHRlclJlZ0V4cEZvclN0cmluZyhmaWx0ZXJUZXh0LCBX
SS5TZWFyY2hVdGlsaXRpZXMuZGVmYXVsdFNldHRpbmdzKTsKLSAgICAgICAgICAgIHRoaXMuX2Zp
bHRlcmVkQ29va2llcyA9IHRoaXMuX2Nvb2tpZXMuZmlsdGVyKChjb29raWUpID0+IHsKLSAgICAg
ICAgICAgICAgICBmb3IgKGxldCBjb2x1bW4gb2YgdGhpcy5fdGFibGUuY29sdW1ucykgewotICAg
ICAgICAgICAgICAgICAgICBsZXQgdGV4dCA9IHRoaXMuX2Zvcm1hdENvb2tpZVByb3BlcnR5Rm9y
Q29sdW1uKGNvb2tpZSwgY29sdW1uKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHRleHQgJiYg
cmVnZXgudGVzdCh0ZXh0KSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAg
ICAgICB9KTsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICB0aGlzLl9maWx0ZXJlZENvb2tp
ZXMgPSB0aGlzLl9jb29raWVzOworICAgICAgICB0aGlzLl9maWx0ZXJlZENvb2tpZXMgPSB0aGlz
Ll9jb29raWVzOworCisgICAgICAgIGxldCBmaWx0ZXJCYXIgPSB0aGlzLl9maWx0ZXJCYXJOYXZp
Z2F0aW9uSXRlbS5maWx0ZXJCYXI7CisgICAgICAgIGZpbHRlckJhci5pbnZhbGlkID0gZmFsc2U7
CisKKyAgICAgICAgbGV0IGZpbHRlclRleHQgPSBmaWx0ZXJCYXIuZmlsdGVycy50ZXh0OworICAg
ICAgICBpZiAoIWZpbHRlclRleHQpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgbGV0
IHJlZ2V4ID0gV0kuU2VhcmNoVXRpbGl0aWVzLmZpbHRlclJlZ0V4cEZvclN0cmluZyhmaWx0ZXJU
ZXh0LCBXSS5TZWFyY2hVdGlsaXRpZXMuZGVmYXVsdFNldHRpbmdzKTsKKyAgICAgICAgaWYgKCFy
ZWdleCkgeworICAgICAgICAgICAgZmlsdGVyQmFyLmludmFsaWQgPSB0cnVlOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgdGhpcy5fZmlsdGVyZWRDb29raWVzID0g
dGhpcy5fZmlsdGVyZWRDb29raWVzLmZpbHRlcigoY29va2llKSA9PiB7CisgICAgICAgICAgICBm
b3IgKGxldCBjb2x1bW4gb2YgdGhpcy5fdGFibGUuY29sdW1ucykgeworICAgICAgICAgICAgICAg
IGxldCB0ZXh0ID0gdGhpcy5fZm9ybWF0Q29va2llUHJvcGVydHlGb3JDb2x1bW4oY29va2llLCBj
b2x1bW4pOworICAgICAgICAgICAgICAgIGlmICh0ZXh0ICYmIHJlZ2V4LnRlc3QodGV4dCkpCisg
ICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9KTsKICAgICB9CiAKICAgICBfdXBkYXRlRW1wdHlG
aWx0ZXJSZXN1bHRzTWVzc2FnZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzCmluZGV4IDgyZWI5OWM3
MDdiZjUxYzY2YjIxZjM5ZDY0ODEyYWQ4Y2Q2Yzg1ZTUuLjU3MTFlNjFjNWU5M2E0MWQ3M2M4ZGQ3
M2Y3NWEyODE3ZDgyYTRiNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzCkBAIC0xODA5LDkgKzE4
MDksMTQgQEAgV0kuRE9NVHJlZUVsZW1lbnQgPSBjbGFzcyBET01UcmVlRWxlbWVudCBleHRlbmRz
IFdJLlRyZWVFbGVtZW50CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAg
ICB2YXIgdGV4dCA9IHRoaXMudGl0bGUudGV4dENvbnRlbnQ7CiAgICAgICAgIGxldCBzZWFyY2hS
ZWdleCA9IFdJLlNlYXJjaFV0aWxpdGllcy5zZWFyY2hSZWdFeHBGb3JTdHJpbmcodGhpcy5fc2Vh
cmNoUXVlcnksIFdJLlNlYXJjaFV0aWxpdGllcy5kZWZhdWx0U2V0dGluZ3MpOworICAgICAgICBp
ZiAoIXNlYXJjaFJlZ2V4KSB7CisgICAgICAgICAgICB0aGlzLmhpZGVTZWFyY2hIaWdobGlnaHRz
KCk7CisgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXSS5UZXh0RWRp
dG9yLkV2ZW50Lk51bWJlck9mU2VhcmNoUmVzdWx0c0RpZENoYW5nZSk7CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KIAorICAgICAgICB2YXIgdGV4dCA9IHRoaXMudGl0bGUudGV4dENv
bnRlbnQ7CiAgICAgICAgIHZhciBtYXRjaCA9IHNlYXJjaFJlZ2V4LmV4ZWModGV4dCk7CiAgICAg
ICAgIHZhciBtYXRjaFJhbmdlcyA9IFtdOwogICAgICAgICB3aGlsZSAobWF0Y2gpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0ZpbHRlckJh
ci5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9GaWx0ZXJC
YXIuY3NzCmluZGV4IGZlNTRhNDA0ZTE2NzdiYjYwMTM5ZDdjNDhkMDViN2JiZjUxNjFhMDYuLjZh
NWY5NTNlZDYyYmEwNjlkOThiNzA3NTAzN2FjYTEzMjg1ZDE5N2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0ZpbHRlckJhci5jc3MKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRmlsdGVyQmFyLmNzcwpA
QCAtMTEyLDMgKzExMiw3IEBACiA6bWF0Y2hlcyguZmlsdGVyLWJhciwgLnNlYXJjaC1iYXIpID4g
aW5wdXRbdHlwZT0ic2VhcmNoIl0gKyAubmF2aWdhdGlvbi1iYXIgPiAuaXRlbS5zY29wZS1iYXI6
bGFzdC1jaGlsZCB7CiAgICAgLXdlYmtpdC1tYXJnaW4tZW5kOiA0cHg7CiB9CisKKzptYXRjaGVz
KC5maWx0ZXItYmFyLCAuc2VhcmNoLWJhcikuaW52YWxpZCA+IGlucHV0W3R5cGU9InNlYXJjaCJd
IHsKKyAgICBib3JkZXItY29sb3I6IHZhcigtLWVycm9yLXRleHQtY29sb3IpOworfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRmlsdGVyQmFy
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRmlsdGVyQmFy
LmpzCmluZGV4IDc5ODNkYTM1YjcxZTE1Y2FhZWQ1YWYyOWIyZTI5ZDNiYmQ0MzY2ZTIuLmVjOWQ0
MzJiNmZjM2MwMGE4OTVlNzE2MjE4YWZlZTQ2N2JjYWIwNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0ZpbHRlckJhci5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9GaWx0ZXJCYXIuanMKQEAgLTQ3
LDYgKzQ3LDggQEAgV0kuRmlsdGVyQmFyID0gY2xhc3MgRmlsdGVyQmFyIGV4dGVuZHMgV0kuT2Jq
ZWN0CiAgICAgICAgIHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fZmlsdGVyc05hdmln
YXRpb25CYXIuZWxlbWVudCk7CiAKICAgICAgICAgdGhpcy5fbGFzdEZpbHRlclZhbHVlID0gdGhp
cy5maWx0ZXJzOworCisgICAgICAgIHRoaXMuX2ludmFsaWQgPSBmYWxzZTsKICAgICB9CiAKICAg
ICAvLyBQdWJsaWMKQEAgLTgxLDYgKzgzLDE3IEBAIFdJLkZpbHRlckJhciA9IGNsYXNzIEZpbHRl
ckJhciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICB0aGlzLl9pbnB1dEZpZWxkLmluY3JlbWVu
dGFsID0gaW5jcmVtZW50YWw7CiAgICAgfQogCisgICAgZ2V0IGludmFsaWQoKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIHRoaXMuX2ludmFsaWQ7CisgICAgfQorCisgICAgc2V0IGludmFsaWQoaW52
YWxpZCkKKyAgICB7CisgICAgICAgIHRoaXMuX2ludmFsaWQgPSAhIWludmFsaWQ7CisgICAgICAg
IHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgiaW52YWxpZCIsIHRoaXMuX2ludmFsaWQp
OworICAgIH0KKwogICAgIGdldCBmaWx0ZXJzKCkKICAgICB7CiAgICAgICAgIHJldHVybiB7dGV4
dDogdGhpcy5faW5wdXRGaWVsZC52YWx1ZSwgZnVuY3Rpb25zOiBbLi4udGhpcy5fZmlsdGVyRnVu
Y3Rpb25zTWFwLnZhbHVlcygpXX07CkBAIC0xMTgsNiArMTMxLDggQEAgV0kuRmlsdGVyQmFyID0g
Y2xhc3MgRmlsdGVyQmFyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIH0KIAogICAgICAgICB0
aGlzLl9pbnB1dEZpZWxkLnZhbHVlID0gbnVsbDsgLy8gR2V0IHRoZSBwbGFjZWhvbGRlciB0byBz
aG93IGFnYWluLgorCisgICAgICAgIHRoaXMuaW52YWxpZCA9IGZhbHNlOwogICAgIH0KIAogICAg
IGFkZEZpbHRlck5hdmlnYXRpb25JdGVtKG5hdmlnYXRpb25JdGVtKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSW5kZXhlZERhdGFiYXNlT2Jq
ZWN0U3RvcmVDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0luZGV4ZWREYXRhYmFzZU9iamVjdFN0b3JlQ29udGVudFZpZXcuanMKaW5kZXgg
OWVkNDI1NjMzZWJmYzFjMTRkZTE0Y2U4ZDJjZDE2OTY4NzkyNThhNi4uNGZiYzA1NTczZWNlZDg3
NDQ3NWQ4ZDhlZGY3ZDU5ZGQyN2Y4NmQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvSW5kZXhlZERhdGFiYXNlT2JqZWN0U3RvcmVDb250ZW50
Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9J
bmRleGVkRGF0YWJhc2VPYmplY3RTdG9yZUNvbnRlbnRWaWV3LmpzCkBAIC0xMzYsMTEgKzEzNiwx
OCBAQCBXSS5JbmRleGVkRGF0YWJhc2VPYmplY3RTdG9yZUNvbnRlbnRWaWV3ID0gY2xhc3MgSW5k
ZXhlZERhdGFiYXNlT2JqZWN0U3RvcmVDb250ZQogCiAgICAgZGF0YUdyaWRNYXRjaE5vZGVBZ2Fp
bnN0Q3VzdG9tRmlsdGVycyhub2RlKQogICAgIHsKLSAgICAgICAgbGV0IGZpbHRlclRleHQgPSB0
aGlzLl9maWx0ZXJCYXJOYXZpZ2F0aW9uSXRlbS5maWx0ZXJCYXIuZmlsdGVycy50ZXh0OworICAg
ICAgICBsZXQgZmlsdGVyQmFyID0gdGhpcy5fZmlsdGVyQmFyTmF2aWdhdGlvbkl0ZW0uZmlsdGVy
QmFyOworICAgICAgICBmaWx0ZXJCYXIuaW52YWxpZCA9IGZhbHNlOworCisgICAgICAgIGxldCBm
aWx0ZXJUZXh0ID0gZmlsdGVyQmFyLmZpbHRlcnMudGV4dDsKICAgICAgICAgaWYgKCFmaWx0ZXJU
ZXh0KQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICAgICAgbGV0IHJlZ2V4ID0gV0ku
U2VhcmNoVXRpbGl0aWVzLmZpbHRlclJlZ0V4cEZvclN0cmluZyhmaWx0ZXJUZXh0LCBXSS5TZWFy
Y2hVdGlsaXRpZXMuZGVmYXVsdFNldHRpbmdzKTsKKyAgICAgICAgaWYgKCFyZWdleCkgeworICAg
ICAgICAgICAgZmlsdGVyQmFyLmludmFsaWQgPSB0cnVlOworICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgICAgIH0KIAogICAgICAgICAvLyBJdGVyYXRlIG92ZXIgZWFjaCBjZWxsLgogICAg
ICAgICBmb3IgKGxldCBjaGlsZCBvZiBub2RlLmVsZW1lbnQuY2hpbGRyZW4pIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xvZ0NvbnRlbnRW
aWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTG9nQ29u
dGVudFZpZXcuanMKaW5kZXggMTUyMWFlZTYzMjk5ZTI1OWM1MDc5Nzk3MjBmMTU0NjdhMGRjYTlh
Zi4uNjIyZWQ4MDRkYWQ0M2RjZGVkMzgwZjNkNzRkNjE1NDg0Mjc1OTU4OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTG9nQ29udGVudFZpZXcu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTG9nQ29u
dGVudFZpZXcuanMKQEAgLTEwOTcsOSArMTA5NywxNiBAQCBXSS5Mb2dDb250ZW50VmlldyA9IGNs
YXNzIExvZ0NvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgfQogCisgICAgICAgIGxldCBzZWFyY2hSZWdleCA9IFdJLlNlYXJjaFV0
aWxpdGllcy5zZWFyY2hSZWdFeHBGb3JTdHJpbmcodGhpcy5fY3VycmVudFNlYXJjaFF1ZXJ5LCBX
SS5TZWFyY2hVdGlsaXRpZXMuZGVmYXVsdFNldHRpbmdzKTsKKyAgICAgICAgaWYgKCFzZWFyY2hS
ZWdleCkgeworICAgICAgICAgICAgdGhpcy5fZmluZEJhbm5lci5udW1iZXJPZlJlc3VsdHMgPSAw
OworICAgICAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoV0kuTG9nQ29udGVu
dFZpZXcuU2VhcmNoSW5Qcm9ncmVzc1N0eWxlQ2xhc3NOYW1lKTsKKyAgICAgICAgICAgIHRoaXMu
ZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLkNvbnRlbnRWaWV3LkV2ZW50Lk51bWJlck9mU2Vh
cmNoUmVzdWx0c0RpZENoYW5nZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKwog
ICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZChXSS5Mb2dDb250ZW50Vmlldy5TZWFy
Y2hJblByb2dyZXNzU3R5bGVDbGFzc05hbWUpOwogCi0gICAgICAgIGxldCBzZWFyY2hSZWdleCA9
IFdJLlNlYXJjaFV0aWxpdGllcy5zZWFyY2hSZWdFeHBGb3JTdHJpbmcodGhpcy5fY3VycmVudFNl
YXJjaFF1ZXJ5LCBXSS5TZWFyY2hVdGlsaXRpZXMuZGVmYXVsdFNldHRpbmdzKTsKICAgICAgICAg
dGhpcy5fdW5maWx0ZXJlZE1lc3NhZ2VFbGVtZW50cygpLmZvckVhY2goZnVuY3Rpb24obWVzc2Fn
ZSkgewogICAgICAgICAgICAgbGV0IG1hdGNoUmFuZ2VzID0gW107CiAgICAgICAgICAgICBsZXQg
dGV4dCA9IG1lc3NhZ2UudGV4dENvbnRlbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmF2aWdhdGlvblNpZGViYXJQ
YW5lbC5qcwppbmRleCA2YjM3YjA3MWM1YzJkMWQ2YzczOTE4NjViZTFhZGQ4NDBiNDRhMWM4Li5k
ZThmM2VjMjdjYTcxYTY1YjM2OWJlZjYxZDU2N2Q0ZmYzMmNiM2NmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OYXZpZ2F0aW9uU2lkZWJhclBh
bmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05h
dmlnYXRpb25TaWRlYmFyUGFuZWwuanMKQEAgLTMyMSw2ICszMjEsOCBAQCBXSS5OYXZpZ2F0aW9u
U2lkZWJhclBhbmVsID0gY2xhc3MgTmF2aWdhdGlvblNpZGViYXJQYW5lbCBleHRlbmRzIFdJLlNp
ZGViYXJQYW5lbAogICAgICAgICB0aGlzLl9maWx0ZXJzU2V0dGluZy52YWx1ZSA9IGZpbHRlcnM7
CiAgICAgICAgIHRoaXMuX2ZpbHRlckZ1bmN0aW9ucyA9IGZpbHRlcnMuZnVuY3Rpb25zOwogCisg
ICAgICAgIHRoaXMuX2ZpbHRlckJhci5pbnZhbGlkID0gZmlsdGVycy50ZXh0ICYmICF0aGlzLl90
ZXh0RmlsdGVyUmVnZXg7CisKICAgICAgICAgLy8gRG9uJ3QgcG9wdWxhdGUgaWYgd2UgZG9uJ3Qg
aGF2ZSBhbnkgYWN0aXZlIGZpbHRlcnMuCiAgICAgICAgIC8vIFdlIG9ubHkgbmVlZCB0byBwb3B1
bGF0ZSB3aGVuIGEgZmlsdGVyIG5lZWRzIHRvIHJldmVhbC4KICAgICAgICAgbGV0IGRvbnRQb3B1
bGF0ZSA9ICF0aGlzLl9maWx0ZXJCYXIuaGFzQWN0aXZlRmlsdGVycygpICYmICF0aGlzLnNob3Vs
ZEZpbHRlclBvcHVsYXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9OZXR3b3JrVGFibGVDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUYWJsZUNvbnRlbnRWaWV3Lmpz
CmluZGV4IGExMDIzZWY5MGJjNzc2OGZiYmQzODg4ODBiZTE1ZDJlMmVmZDY0OGQuLjMwMjUxNGFm
NmE2OGY1ZmMzYTA0MTFkZWZiNmNlMTZjMDIxY2ZjN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtUYWJsZUNvbnRlbnRWaWV3Lmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05ldHdvcmtU
YWJsZUNvbnRlbnRWaWV3LmpzCkBAIC0yMjc4LDE1ICsyMjc4LDE5IEBAIFdJLk5ldHdvcmtUYWJs
ZUNvbnRlbnRWaWV3ID0gY2xhc3MgTmV0d29ya1RhYmxlQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5D
b250ZW50VmllCiAKICAgICBfdXJsRmlsdGVyRGlkQ2hhbmdlKGV2ZW50KQogICAgIHsKLSAgICAg
ICAgbGV0IHNlYXJjaFF1ZXJ5ID0gdGhpcy5fdXJsRmlsdGVyTmF2aWdhdGlvbkl0ZW0uZmlsdGVy
QmFyLmZpbHRlcnMudGV4dDsKKyAgICAgICAgbGV0IGZpbHRlckJhciA9IHRoaXMuX3VybEZpbHRl
ck5hdmlnYXRpb25JdGVtLmZpbHRlckJhcjsKKyAgICAgICAgbGV0IHNlYXJjaFF1ZXJ5ID0gZmls
dGVyQmFyLmZpbHRlcnMudGV4dDsKICAgICAgICAgaWYgKHNlYXJjaFF1ZXJ5ID09PSB0aGlzLl91
cmxGaWx0ZXJTZWFyY2hUZXh0KQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIC8vIEV2
ZW4gaWYgdGhlIHNlbGVjdGVkIHJlc291cmNlIHdvdWxkIHN0aWxsIGJlIHZpc2libGUsIGxldHMg
Y2xvc2UgdGhlIGRldGFpbCB2aWV3IGlmIGEgZmlsdGVyIGNoYW5nZXMuCiAgICAgICAgIHRoaXMu
X2hpZGVEZXRhaWxWaWV3KCk7CiAKKyAgICAgICAgdGhpcy5fdXJsRmlsdGVyU2VhcmNoUmVnZXgg
PSBzZWFyY2hRdWVyeSA/IFdJLlNlYXJjaFV0aWxpdGllcy5maWx0ZXJSZWdFeHBGb3JTdHJpbmco
c2VhcmNoUXVlcnksIFdJLlNlYXJjaFV0aWxpdGllcy5kZWZhdWx0U2V0dGluZ3MpIDogbnVsbDsK
KyAgICAgICAgZmlsdGVyQmFyLmludmFsaWQgPSBzZWFyY2hRdWVyeSAmJiAhdGhpcy5fdXJsRmls
dGVyU2VhcmNoUmVnZXgKKwogICAgICAgICAvLyBTZWFyY2ggY2xlYXJlZC4KLSAgICAgICAgaWYg
KCFzZWFyY2hRdWVyeSkgeworICAgICAgICBpZiAoIXRoaXMuX3VybEZpbHRlclNlYXJjaFJlZ2V4
KSB7CiAgICAgICAgICAgICB0aGlzLl91cmxGaWx0ZXJTZWFyY2hUZXh0ID0gbnVsbDsKICAgICAg
ICAgICAgIHRoaXMuX3VybEZpbHRlclNlYXJjaFJlZ2V4ID0gbnVsbDsKICAgICAgICAgICAgIHRo
aXMuX3VybEZpbHRlcklzQWN0aXZlID0gZmFsc2U7CkBAIC0yMjk5LDcgKzIzMDMsNiBAQCBXSS5O
ZXR3b3JrVGFibGVDb250ZW50VmlldyA9IGNsYXNzIE5ldHdvcmtUYWJsZUNvbnRlbnRWaWV3IGV4
dGVuZHMgV0kuQ29udGVudFZpZQogCiAgICAgICAgIHRoaXMuX3VybEZpbHRlcklzQWN0aXZlID0g
dHJ1ZTsKICAgICAgICAgdGhpcy5fdXJsRmlsdGVyU2VhcmNoVGV4dCA9IHNlYXJjaFF1ZXJ5Owot
ICAgICAgICB0aGlzLl91cmxGaWx0ZXJTZWFyY2hSZWdleCA9IFdJLlNlYXJjaFV0aWxpdGllcy5m
aWx0ZXJSZWdFeHBGb3JTdHJpbmcoc2VhcmNoUXVlcnksIFdJLlNlYXJjaFV0aWxpdGllcy5kZWZh
dWx0U2V0dGluZ3MpOwogCiAgICAgICAgIHRoaXMuX3VwZGF0ZUFjdGl2ZUZpbHRlclJlc291cmNl
cygpOwogICAgICAgICB0aGlzLl91cGRhdGVGaWx0ZXJlZEVudHJpZXMoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlSGVhZGVy
c0NvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvUmVzb3VyY2VIZWFkZXJzQ29udGVudFZpZXcuanMKaW5kZXggNmIxZjdjMWE3YjIzOTY5Yjg3
MjVkNGVkYTk3OTUwY2ZmYTZiZTU0Zi4uM2E1NmUwZmQyMmYxNmM0YmFlZjE5YWY5ZjM5NGM5NzU1
NzU1NWYzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvUmVzb3VyY2VIZWFkZXJzQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VIZWFkZXJzQ29udGVudFZpZXcuanMK
QEAgLTQ3OCw2ICs0NzgsMTEgQEAgV0kuUmVzb3VyY2VIZWFkZXJzQ29udGVudFZpZXcgPSBjbGFz
cyBSZXNvdXJjZUhlYWRlcnNDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnQKICAgICBfcGVyZm9t
U2VhcmNoT25LZXlWYWx1ZVBhaXJzKCkKICAgICB7CiAgICAgICAgIGxldCBzZWFyY2hSZWdleCA9
IFdJLlNlYXJjaFV0aWxpdGllcy5zZWFyY2hSZWdFeHBGb3JTdHJpbmcodGhpcy5fc2VhcmNoUXVl
cnksIFdJLlNlYXJjaFV0aWxpdGllcy5kZWZhdWx0U2V0dGluZ3MpOworICAgICAgICBpZiAoIXNl
YXJjaFJlZ2V4KSB7CisgICAgICAgICAgICB0aGlzLnNlYXJjaENsZWFyZWQoKTsKKyAgICAgICAg
ICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLlRleHRFZGl0b3IuRXZlbnQuTnVt
YmVyT2ZTZWFyY2hSZXN1bHRzRGlkQ2hhbmdlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQogCiAgICAgICAgIGxldCBlbGVtZW50cyA9IHRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9y
QWxsKCIua2V5LCAudmFsdWUiKTsKICAgICAgICAgZm9yIChsZXQgZWxlbWVudCBvZiBlbGVtZW50
cykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvUmVzb3VyY2VTZWN1cml0eUNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VTZWN1cml0eUNvbnRlbnRWaWV3LmpzCmluZGV4
IDg2NjA3MWZjMmQzYTJhM2JjYTNmNTBlNDMxZjBiMjliZGUwNDVlZmEuLmUwY2M4MTU2YjYwMzg3
ODMwYmJhZWJkYjY2ZmE4MDRhNGYwZGJhZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlU2VjdXJpdHlDb250ZW50Vmlldy5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVNl
Y3VyaXR5Q29udGVudFZpZXcuanMKQEAgLTI4Nyw2ICsyODcsMTEgQEAgV0kuUmVzb3VyY2VTZWN1
cml0eUNvbnRlbnRWaWV3ID0gY2xhc3MgUmVzb3VyY2VTZWN1cml0eUNvbnRlbnRWaWV3IGV4dGVu
ZHMgV0kuQ28KICAgICBfcGVyZm9tU2VhcmNoT25LZXlWYWx1ZVBhaXJzKCkKICAgICB7CiAgICAg
ICAgIGxldCBzZWFyY2hSZWdleCA9IFdJLlNlYXJjaFV0aWxpdGllcy5zZWFyY2hSZWdFeHBGb3JT
dHJpbmcodGhpcy5fc2VhcmNoUXVlcnksIFdJLlNlYXJjaFV0aWxpdGllcy5kZWZhdWx0U2V0dGlu
Z3MpOworICAgICAgICBpZiAoIXNlYXJjaFJlZ2V4KSB7CisgICAgICAgICAgICB0aGlzLnNlYXJj
aENsZWFyZWQoKTsKKyAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJ
LlRleHRFZGl0b3IuRXZlbnQuTnVtYmVyT2ZTZWFyY2hSZXN1bHRzRGlkQ2hhbmdlKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQogCiAgICAgICAgIGxldCBlbGVtZW50cyA9IHRoaXMu
ZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCIua2V5LCAudmFsdWUiKTsKICAgICAgICAgZm9yIChs
ZXQgZWxlbWVudCBvZiBlbGVtZW50cykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2VhcmNoQmFyLmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NlYXJjaEJhci5jc3MKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDkwMmY1Y2I0YTQyOTMyNzE1M2FiNDYyOWIxNzQ4NmYwNzAxNjg0NGYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2VhcmNoQmFyLmNzcworKysgL2Rldi9udWxs
CkBAIC0xLDMwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0uc2VhcmNoLWJhciA+IGlucHV0W3R5cGU9
InNlYXJjaCJdIHsKLSAgICBtYXJnaW46IDFweCA2cHg7Ci19Ci0KLS8qIE1hbnkgc3R5bGVzIHNo
YXJlZCB3aXRoIGBXSS5GaWx0ZXJCYXJgICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hCYXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hCYXIuanMKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDFiMThjZDNmZDVhMDdlMWYyZTliNzIxMDIyYmI3YjE5NDQwNzg5NzYuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2VhcmNoQmFyLmpzCisrKyAvZGV2L251bGwK
QEAgLTEsNzUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVdJLlNlYXJjaEJhciA9IGNsYXNz
IFNlYXJjaEJhciBleHRlbmRzIFdJLk5hdmlnYXRpb25JdGVtCi17Ci0gICAgY29uc3RydWN0b3Io
aWRlbnRpZmllciwgcGxhY2Vob2xkZXIsIGluY3JlbWVudGFsKQotICAgIHsKLSAgICAgICAgc3Vw
ZXIoaWRlbnRpZmllcik7Ci0KLSAgICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJz
ZWFyY2gtYmFyIik7Ci0KLSAgICAgICAgdGhpcy5fc2VhcmNoSW5wdXQgPSB0aGlzLl9lbGVtZW50
LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0IikpOwotICAgICAgICB0
aGlzLl9zZWFyY2hJbnB1dC50eXBlID0gInNlYXJjaCI7Ci0gICAgICAgIHRoaXMuX3NlYXJjaElu
cHV0LnNwZWxsY2hlY2sgPSBmYWxzZTsKLSAgICAgICAgdGhpcy5fc2VhcmNoSW5wdXQuaW5jcmVt
ZW50YWwgPSBpbmNyZW1lbnRhbDsKLSAgICAgICAgdGhpcy5fc2VhcmNoSW5wdXQuc2V0QXR0cmli
dXRlKCJyZXN1bHRzIiwgNSk7Ci0gICAgICAgIHRoaXMuX3NlYXJjaElucHV0LnNldEF0dHJpYnV0
ZSgiYXV0b3NhdmUiLCBpZGVudGlmaWVyICsgIi1hdXRvc2F2ZSIpOwotICAgICAgICB0aGlzLl9z
ZWFyY2hJbnB1dC5zZXRBdHRyaWJ1dGUoInBsYWNlaG9sZGVyIiwgcGxhY2Vob2xkZXIpOwotICAg
ICAgICB0aGlzLl9zZWFyY2hJbnB1dC5hZGRFdmVudExpc3RlbmVyKCJzZWFyY2giLCB0aGlzLl9o
YW5kbGVTZWFyY2hFdmVudC5iaW5kKHRoaXMpKTsKLSAgICB9Ci0KLSAgICAvLyBQdWJsaWMKLQot
ICAgIGdldCB0ZXh0KCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9zZWFyY2hJbnB1dC52
YWx1ZTsKLSAgICB9Ci0KLSAgICBzZXQgdGV4dChuZXdUZXh0KQotICAgIHsKLSAgICAgICAgdGhp
cy5fc2VhcmNoSW5wdXQudmFsdWUgPSBuZXdUZXh0OwotICAgIH0KLQotICAgIGZvY3VzKCkKLSAg
ICB7Ci0gICAgICAgIC8vIEZJWE1FOiBXb3JrYXJvdW5kIGZvcjogPGh0dHBzOi8vd2Via2l0Lm9y
Zy9iLzE0OTUwND4gQ2FyZXQgbWlzc2luZyBmcm9tIDxpbnB1dD4gYWZ0ZXIgY2xlYXJpbmcgdGV4
dCBhbmQgY2FsbGluZyBzZWxlY3QoKQotICAgICAgICBpZiAoIXRoaXMuX3NlYXJjaElucHV0LnZh
bHVlLmxlbmd0aCkKLSAgICAgICAgICAgIHRoaXMuX3NlYXJjaElucHV0LmZvY3VzKCk7Ci0gICAg
ICAgIGVsc2UKLSAgICAgICAgICAgIHRoaXMuX3NlYXJjaElucHV0LnNlbGVjdCgpOwotICAgIH0K
LQotICAgIC8vIFByaXZhdGUKLQotICAgIF9oYW5kbGVTZWFyY2hFdmVudChldmVudCkKLSAgICB7
Ci0gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdJLlNlYXJjaEJhci5FdmVu
dC5UZXh0Q2hhbmdlZCk7Ci0gICAgfQotfTsKLQotV0kuU2VhcmNoQmFyLkV2ZW50ID0gewotICAg
IFRleHRDaGFuZ2VkOiAic2VhcmNoYmFyLXRleHQtZGlkLWNoYW5nZSIKLX07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hTaWRlYmFy
UGFuZWwuY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2Vh
cmNoU2lkZWJhclBhbmVsLmNzcwppbmRleCAwMGJkOGIyOWJkOWRiZWU2Zjc3NGRkNGViYTc5NzY5
OTc3OTNlZjVhLi5iN2MzYzRiYjYzNTc3OWIyMTQwYmY3NmM2NjE5ZTI4YzNmMzNmODUzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hT
aWRlYmFyUGFuZWwuY3NzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1NlYXJjaFNpZGViYXJQYW5lbC5jc3MKQEAgLTQxLDYgKzQxLDggQEAKIAogLnNpZGVi
YXIgPiAucGFuZWwubmF2aWdhdGlvbi5zZWFyY2ggPiAuc2VhcmNoLWJhciA+IGlucHV0W3R5cGU9
InNlYXJjaCJdIHsKICAgICB3aWR0aDogMTAwJTsKKyAgICBtYXJnaW46IDFweCA2cHg7CisgICAg
LyogTWFueSBzdHlsZXMgc2hhcmVkIHdpdGggYFdJLkZpbHRlckJhcmAgKi8KIH0KIAogLnNpZGVi
YXIgPiAucGFuZWwubmF2aWdhdGlvbi5zZWFyY2ggPiAuc2VhcmNoLWJhciA+IC5zZWFyY2gtc2V0
dGluZ3MgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvU2VhcmNoU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvU2VhcmNoU2lkZWJhclBhbmVsLmpzCmluZGV4IGU2OTA0NjRmOGVmMGI1
MmUzY2VkMjMzNjhhM2QyNDJiMzdkNGY5MzMuLjc1OThlY2NiNTczNzc5YTkxZjM4YjY3ZDFlNzE4
OTExNTM4YzhhYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1NlYXJjaFNpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hTaWRlYmFyUGFuZWwuanMKQEAgLTM1LDExICsz
NSwxMCBAQCBXSS5TZWFyY2hTaWRlYmFyUGFuZWwgPSBjbGFzcyBTZWFyY2hTaWRlYmFyUGFuZWwg
ZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhclBhbgogICAgICAgICAgICAgfSwKICAgICAgICAg
fSk7CiAKLSAgICAgICAgdmFyIHNlYXJjaEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKLSAgICAgICAgc2VhcmNoRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJzZWFyY2gtYmFy
Iik7Ci0gICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZChzZWFyY2hFbGVtZW50KTsKKyAg
ICAgICAgdGhpcy5faW5wdXRDb250YWluZXIgPSB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOworICAgICAgICB0aGlzLl9pbnB1dENvbnRhaW5l
ci5jbGFzc0xpc3QuYWRkKCJzZWFyY2gtYmFyIik7CiAKLSAgICAgICAgdGhpcy5faW5wdXRFbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTsKKyAgICAgICAgdGhpcy5faW5w
dXRFbGVtZW50ID0gdGhpcy5faW5wdXRDb250YWluZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiaW5wdXQiKSk7CiAgICAgICAgIHRoaXMuX2lucHV0RWxlbWVudC50eXBlID0g
InNlYXJjaCI7CiAgICAgICAgIHRoaXMuX2lucHV0RWxlbWVudC5zcGVsbGNoZWNrID0gZmFsc2U7
CiAgICAgICAgIHRoaXMuX2lucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJzZWFyY2giLCB0
aGlzLl9zZWFyY2hGaWVsZENoYW5nZWQuYmluZCh0aGlzKSk7CkBAIC00Nyw5ICs0Niw4IEBAIFdJ
LlNlYXJjaFNpZGViYXJQYW5lbCA9IGNsYXNzIFNlYXJjaFNpZGViYXJQYW5lbCBleHRlbmRzIFdJ
Lk5hdmlnYXRpb25TaWRlYmFyUGFuCiAgICAgICAgIHRoaXMuX2lucHV0RWxlbWVudC5zZXRBdHRy
aWJ1dGUoInJlc3VsdHMiLCA1KTsKICAgICAgICAgdGhpcy5faW5wdXRFbGVtZW50LnNldEF0dHJp
YnV0ZSgiYXV0b3NhdmUiLCAiaW5zcGVjdG9yLXNlYXJjaC1hdXRvc2F2ZSIpOwogICAgICAgICB0
aGlzLl9pbnB1dEVsZW1lbnQuc2V0QXR0cmlidXRlKCJwbGFjZWhvbGRlciIsIFdJLlVJU3RyaW5n
KCJTZWFyY2ggUmVzb3VyY2UgQ29udGVudCIpKTsKLSAgICAgICAgc2VhcmNoRWxlbWVudC5hcHBl
bmRDaGlsZCh0aGlzLl9pbnB1dEVsZW1lbnQpOwogCi0gICAgICAgIHNlYXJjaEVsZW1lbnQuYXBw
ZW5kQ2hpbGQoV0kuU2VhcmNoVXRpbGl0aWVzLmNyZWF0ZVNldHRpbmdzQnV0dG9uKHRoaXMuX3Nl
YXJjaElucHV0U2V0dGluZ3MpKTsKKyAgICAgICAgdGhpcy5faW5wdXRDb250YWluZXIuYXBwZW5k
Q2hpbGQoV0kuU2VhcmNoVXRpbGl0aWVzLmNyZWF0ZVNldHRpbmdzQnV0dG9uKHRoaXMuX3NlYXJj
aElucHV0U2V0dGluZ3MpKTsKIAogICAgICAgICB0aGlzLl9zZWFyY2hRdWVyeVNldHRpbmcgPSBu
ZXcgV0kuU2V0dGluZygic2VhcmNoLXNpZGViYXItcXVlcnkiLCAiIik7CiAgICAgICAgIHRoaXMu
X2lucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMuX3NlYXJjaFF1ZXJ5U2V0dGluZy52YWx1ZTsKQEAg
LTEwMCwyNCArOTgsMzYgQEAgV0kuU2VhcmNoU2lkZWJhclBhbmVsID0gY2xhc3MgU2VhcmNoU2lk
ZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYXJQYW4KIAogICAgIHBlcmZvcm1T
ZWFyY2goc2VhcmNoUXVlcnkpCiAgICAgewotICAgICAgICAvLyBCZWZvcmUgcGVyZm9ybWluZyBh
IG5ldyBzZWFyY2gsIGNsZWFyIHRoZSBvbGQgc2VhcmNoLgotICAgICAgICB0aGlzLmNvbnRlbnRU
cmVlT3V0bGluZS5yZW1vdmVDaGlsZHJlbigpOwotICAgICAgICB0aGlzLmNvbnRlbnRCcm93c2Vy
LmNvbnRlbnRWaWV3Q29udGFpbmVyLmNsb3NlQWxsQ29udGVudFZpZXdzKCk7Ci0KICAgICAgICAg
dGhpcy5faW5wdXRFbGVtZW50LnZhbHVlID0gc2VhcmNoUXVlcnk7CiAgICAgICAgIHRoaXMuX3Nl
YXJjaFF1ZXJ5U2V0dGluZy52YWx1ZSA9IHNlYXJjaFF1ZXJ5OwogCi0gICAgICAgIHRoaXMuaGlk
ZUVtcHR5Q29udGVudFBsYWNlaG9sZGVyKCk7Ci0KICAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNz
TGlzdC5yZW1vdmUoImNoYW5nZWQiKTsKICAgICAgICAgaWYgKHRoaXMuX2NoYW5nZWRCYW5uZXIp
CiAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VkQmFubmVyLnJlbW92ZSgpOwogCiAgICAgICAgIGlm
ICghc2VhcmNoUXVlcnkubGVuZ3RoKSB7CisgICAgICAgICAgICB0aGlzLl9pbnB1dENvbnRhaW5l
ci5jbGFzc0xpc3QucmVtb3ZlKCJpbnZhbGlkIik7CisgICAgICAgICAgICB0aGlzLmhpZGVFbXB0
eUNvbnRlbnRQbGFjZWhvbGRlcigpOwogICAgICAgICAgICAgdGhpcy5zaG93RGVmYXVsdENvbnRl
bnRWaWV3KCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAorICAgICAgICBsZXQg
aXNDYXNlU2Vuc2l0aXZlID0gISF0aGlzLl9zZWFyY2hJbnB1dFNldHRpbmdzLmNhc2VTZW5zaXRp
dmUudmFsdWU7CisgICAgICAgIGxldCBpc1JlZ2V4ID0gISF0aGlzLl9zZWFyY2hJbnB1dFNldHRp
bmdzLnJlZ3VsYXJFeHByZXNzaW9uLnZhbHVlOworICAgICAgICBsZXQgc2VhcmNoUmVnZXggPSBX
SS5TZWFyY2hVdGlsaXRpZXMuc2VhcmNoUmVnRXhwRm9yU3RyaW5nKHNlYXJjaFF1ZXJ5LCB7Cisg
ICAgICAgICAgICBjYXNlU2Vuc2l0aXZlOiBpc0Nhc2VTZW5zaXRpdmUsCisgICAgICAgICAgICBy
ZWd1bGFyRXhwcmVzc2lvbjogaXNSZWdleCwKKyAgICAgICAgfSk7CisgICAgICAgIHRoaXMuX2lu
cHV0Q29udGFpbmVyLmNsYXNzTGlzdC50b2dnbGUoImludmFsaWQiLCAhc2VhcmNoUmVnZXgpOwor
ICAgICAgICBpZiAoIXNlYXJjaFJlZ2V4KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAg
IHRoaXMuaGlkZUVtcHR5Q29udGVudFBsYWNlaG9sZGVyKCk7CisKKyAgICAgICAgLy8gQmVmb3Jl
IHBlcmZvcm1pbmcgYSBuZXcgc2VhcmNoLCBjbGVhciB0aGUgb2xkIHNlYXJjaC4KKyAgICAgICAg
dGhpcy5jb250ZW50VHJlZU91dGxpbmUucmVtb3ZlQ2hpbGRyZW4oKTsKKyAgICAgICAgdGhpcy5j
b250ZW50QnJvd3Nlci5jb250ZW50Vmlld0NvbnRhaW5lci5jbG9zZUFsbENvbnRlbnRWaWV3cygp
OworCiAgICAgICAgIGxldCBjcmVhdGVTZWFyY2hpbmdQbGFjZWhvbGRlciA9ICgpID0+IHsKICAg
ICAgICAgICAgIGxldCBzZWFyY2hpbmdQbGFjZWhvbGRlciA9IFdJLmNyZWF0ZU1lc3NhZ2VUZXh0
VmlldygiIik7CiAgICAgICAgICAgICBTdHJpbmcuZm9ybWF0KFdJLlVJU3RyaW5nKCJTZWFyY2hp
bmcgJXMiKSwgWyhuZXcgV0kuSW5kZXRlcm1pbmF0ZVByb2dyZXNzU3Bpbm5lcikuZWxlbWVudF0s
IFN0cmluZy5zdGFuZGFyZEZvcm1hdHRlcnMsIHNlYXJjaGluZ1BsYWNlaG9sZGVyLCAoYSwgYikg
PT4gewpAQCAtMTU5LDkgKzE2OSw2IEBAIFdJLlNlYXJjaFNpZGViYXJQYW5lbCA9IGNsYXNzIFNl
YXJjaFNpZGViYXJQYW5lbCBleHRlbmRzIFdJLk5hdmlnYXRpb25TaWRlYmFyUGFuCiAgICAgICAg
ICAgICB9CiAgICAgICAgIH07CiAKLSAgICAgICAgbGV0IGlzQ2FzZVNlbnNpdGl2ZSA9ICEhdGhp
cy5fc2VhcmNoSW5wdXRTZXR0aW5ncy5jYXNlU2Vuc2l0aXZlLnZhbHVlOwotICAgICAgICBsZXQg
aXNSZWdleCA9ICEhdGhpcy5fc2VhcmNoSW5wdXRTZXR0aW5ncy5yZWd1bGFyRXhwcmVzc2lvbi52
YWx1ZTsKLQogICAgICAgICBmdW5jdGlvbiBjcmVhdGVUcmVlRWxlbWVudEZvck1hdGNoT2JqZWN0
KG1hdGNoT2JqZWN0LCBwYXJlbnRUcmVlRWxlbWVudCkKICAgICAgICAgewogICAgICAgICAgICAg
bGV0IG1hdGNoVHJlZUVsZW1lbnQgPSBuZXcgV0kuU2VhcmNoUmVzdWx0VHJlZUVsZW1lbnQobWF0
Y2hPYmplY3QpOwpAQCAtMTczLDEzICsxODAsOSBAQCBXSS5TZWFyY2hTaWRlYmFyUGFuZWwgPSBj
bGFzcyBTZWFyY2hTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXSS5OYXZpZ2F0aW9uU2lkZWJhclBhbgog
ICAgICAgICAgICAgICAgIG1hdGNoVHJlZUVsZW1lbnQucmV2ZWFsQW5kU2VsZWN0KGZhbHNlLCB0
cnVlKTsKICAgICAgICAgfQogCi0gICAgICAgIGZ1bmN0aW9uIGZvckVhY2hNYXRjaChzZWFyY2hR
dWVyeSwgbGluZUNvbnRlbnQsIGNhbGxiYWNrKQorICAgICAgICBmdW5jdGlvbiBmb3JFYWNoTWF0
Y2gobGluZUNvbnRlbnQsIGNhbGxiYWNrKQogICAgICAgICB7CiAgICAgICAgICAgICB2YXIgbGlu
ZU1hdGNoOwotICAgICAgICAgICAgbGV0IHNlYXJjaFJlZ2V4ID0gV0kuU2VhcmNoVXRpbGl0aWVz
LnNlYXJjaFJlZ0V4cEZvclN0cmluZyhzZWFyY2hRdWVyeSwgewotICAgICAgICAgICAgICAgIGNh
c2VTZW5zaXRpdmU6IGlzQ2FzZVNlbnNpdGl2ZSwKLSAgICAgICAgICAgICAgICByZWd1bGFyRXhw
cmVzc2lvbjogaXNSZWdleCwKLSAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgd2hpbGUgKChz
ZWFyY2hSZWdleC5sYXN0SW5kZXggPCBsaW5lQ29udGVudC5sZW5ndGgpICYmIChsaW5lTWF0Y2gg
PSBzZWFyY2hSZWdleC5leGVjKGxpbmVDb250ZW50KSkpCiAgICAgICAgICAgICAgICAgY2FsbGJh
Y2sobGluZU1hdGNoLCBzZWFyY2hSZWdleC5sYXN0SW5kZXgpOwogICAgICAgICB9CkBAIC0yMDAs
NyArMjAzLDcgQEAgV0kuU2VhcmNoU2lkZWJhclBhbmVsID0gY2xhc3MgU2VhcmNoU2lkZWJhclBh
bmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYXJQYW4KIAogICAgICAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCByZXN1bHQubGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgICAgICB2YXIg
bWF0Y2ggPSByZXN1bHRbaV07Ci0gICAgICAgICAgICAgICAgZm9yRWFjaE1hdGNoKHNlYXJjaFF1
ZXJ5LCBtYXRjaC5saW5lQ29udGVudCwgKGxpbmVNYXRjaCwgbGFzdEluZGV4KSA9PiB7CisgICAg
ICAgICAgICAgICAgZm9yRWFjaE1hdGNoKG1hdGNoLmxpbmVDb250ZW50LCAobGluZU1hdGNoLCBs
YXN0SW5kZXgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgdmFyIG1hdGNoT2JqZWN0ID0gbmV3
IFdJLlNvdXJjZUNvZGVTZWFyY2hNYXRjaE9iamVjdChyZXNvdXJjZSwgbWF0Y2gubGluZUNvbnRl
bnQsIHNlYXJjaFF1ZXJ5LCBuZXcgV0kuVGV4dFJhbmdlKG1hdGNoLmxpbmVOdW1iZXIsIGxpbmVN
YXRjaC5pbmRleCwgbWF0Y2gubGluZU51bWJlciwgbGFzdEluZGV4KSk7CiAgICAgICAgICAgICAg
ICAgICAgIGNyZWF0ZVRyZWVFbGVtZW50Rm9yTWF0Y2hPYmplY3QuY2FsbCh0aGlzLCBtYXRjaE9i
amVjdCwgcmVzb3VyY2VUcmVlRWxlbWVudCk7CiAgICAgICAgICAgICAgICAgfSk7CkBAIC0yNDMs
NyArMjQ2LDcgQEAgV0kuU2VhcmNoU2lkZWJhclBhbmVsID0gY2xhc3MgU2VhcmNoU2lkZWJhclBh
bmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYXJQYW4KICAgICAgICAgICAgIHZhciBzY3Jp
cHRUcmVlRWxlbWVudCA9IHRoaXMuX3NlYXJjaFRyZWVFbGVtZW50Rm9yU2NyaXB0KHNjcmlwdCk7
CiAKICAgICAgICAgICAgIGZvciAobGV0IG1hdGNoIG9mIHJlc3VsdCkgewotICAgICAgICAgICAg
ICAgIGZvckVhY2hNYXRjaChzZWFyY2hRdWVyeSwgbWF0Y2gubGluZUNvbnRlbnQsIChsaW5lTWF0
Y2gsIGxhc3RJbmRleCkgPT4geworICAgICAgICAgICAgICAgIGZvckVhY2hNYXRjaChtYXRjaC5s
aW5lQ29udGVudCwgKGxpbmVNYXRjaCwgbGFzdEluZGV4KSA9PiB7CiAgICAgICAgICAgICAgICAg
ICAgIHZhciBtYXRjaE9iamVjdCA9IG5ldyBXSS5Tb3VyY2VDb2RlU2VhcmNoTWF0Y2hPYmplY3Qo
c2NyaXB0LCBtYXRjaC5saW5lQ29udGVudCwgc2VhcmNoUXVlcnksIG5ldyBXSS5UZXh0UmFuZ2Uo
bWF0Y2gubGluZU51bWJlciwgbGluZU1hdGNoLmluZGV4LCBtYXRjaC5saW5lTnVtYmVyLCBsYXN0
SW5kZXgpKTsKICAgICAgICAgICAgICAgICAgICAgY3JlYXRlVHJlZUVsZW1lbnRGb3JNYXRjaE9i
amVjdC5jYWxsKHRoaXMsIG1hdGNoT2JqZWN0LCBzY3JpcHRUcmVlRWxlbWVudCk7CiAgICAgICAg
ICAgICAgICAgfSk7CkBAIC0yOTMsNyArMjk2LDcgQEAgV0kuU2VhcmNoU2lkZWJhclBhbmVsID0g
Y2xhc3MgU2VhcmNoU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuTmF2aWdhdGlvblNpZGViYXJQYW4K
IAogICAgICAgICAgICAgICAgICAgICAvLyBUZXh0dWFsIG1hdGNoZXMuCiAgICAgICAgICAgICAg
ICAgICAgIHZhciBkaWRGaW5kVGV4dHVhbE1hdGNoID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAg
ICAgIGZvckVhY2hNYXRjaChzZWFyY2hRdWVyeSwgZG9tTm9kZVRpdGxlLCAobGluZU1hdGNoLCBs
YXN0SW5kZXgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgZm9yRWFjaE1hdGNoKGRvbU5vZGVU
aXRsZSwgKGxpbmVNYXRjaCwgbGFzdEluZGV4KSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAg
ICB2YXIgbWF0Y2hPYmplY3QgPSBuZXcgV0kuRE9NU2VhcmNoTWF0Y2hPYmplY3QocmVzb3VyY2Us
IGRvbU5vZGUsIGRvbU5vZGVUaXRsZSwgc2VhcmNoUXVlcnksIG5ldyBXSS5UZXh0UmFuZ2UoMCwg
bGluZU1hdGNoLmluZGV4LCAwLCBsYXN0SW5kZXgpKTsKICAgICAgICAgICAgICAgICAgICAgICAg
IGNyZWF0ZVRyZWVFbGVtZW50Rm9yTWF0Y2hPYmplY3QuY2FsbCh0aGlzLCBtYXRjaE9iamVjdCwg
cmVzb3VyY2VUcmVlRWxlbWVudCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBkaWRGaW5kVGV4
dHVhbE1hdGNoID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRFZGl0b3IuanMKaW5kZXgg
ZGUzMDI2MWI1NmFkZTA2NzM2ZTVlNWQ2YzE0NzVkMGViNTUwOGRlNi4uYjg2Zjk2YmMyNzlmZTRi
ZDQwODk1M2EwMzgwZGI0ZTA5YjEzMWU1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRFZGl0b3IuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRFZGl0
b3IuanMKQEAgLTIwOCw2ICsyMDgsMTMgQEAgV0kuU291cmNlQ29kZVRleHRFZGl0b3IgPSBjbGFz
cyBTb3VyY2VDb2RlVGV4dEVkaXRvciBleHRlbmRzIFdJLlRleHRFZGl0b3IKIAogICAgIGN1c3Rv
bVBlcmZvcm1TZWFyY2gocXVlcnkpCiAgICAgeworICAgICAgICBsZXQgcXVlcnlSZWdleCA9IFdJ
LlNlYXJjaFV0aWxpdGllcy5zZWFyY2hSZWdFeHBGb3JTdHJpbmcocXVlcnksIFdJLlNlYXJjaFV0
aWxpdGllcy5kZWZhdWx0U2V0dGluZ3MpOworICAgICAgICBpZiAoIXF1ZXJ5UmVnZXgpIHsKKyAg
ICAgICAgICAgIHRoaXMuc2VhcmNoQ2xlYXJlZCgpOworICAgICAgICAgICAgdGhpcy5kaXNwYXRj
aEV2ZW50VG9MaXN0ZW5lcnMoV0kuVGV4dEVkaXRvci5FdmVudC5OdW1iZXJPZlNlYXJjaFJlc3Vs
dHNEaWRDaGFuZ2UpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKwogICAg
ICAgICBmdW5jdGlvbiBzZWFyY2hSZXN1bHRDYWxsYmFjayhlcnJvciwgbWF0Y2hlcykKICAgICAg
ICAgewogICAgICAgICAgICAgLy8gQmFpbCBpZiB0aGUgcXVlcnkgY2hhbmdlZCBzaW5jZSB3ZSBz
dGFydGVkLgpAQCAtMjIwLDcgKzIyNyw2IEBAIFdJLlNvdXJjZUNvZGVUZXh0RWRpdG9yID0gY2xh
c3MgU291cmNlQ29kZVRleHRFZGl0b3IgZXh0ZW5kcyBXSS5UZXh0RWRpdG9yCiAgICAgICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBsZXQgcXVlcnlSZWdl
eCA9IFdJLlNlYXJjaFV0aWxpdGllcy5zZWFyY2hSZWdFeHBGb3JTdHJpbmcocXVlcnksIFdJLlNl
YXJjaFV0aWxpdGllcy5kZWZhdWx0U2V0dGluZ3MpOwogICAgICAgICAgICAgdmFyIHNlYXJjaFJl
c3VsdHMgPSBbXTsKIAogICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtYXRjaGVzLmxl
bmd0aDsgKytpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9UZXh0RWRpdG9yLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVGV4dEVkaXRvci5qcwppbmRleCAxMDA5MmNiODkzZTBkMmM0ZTVlYjZiZTcy
YjhkM2EyNTU4YWE2MTJhLi4zN2IxMDcyMzQ2MDdmNjk5N2E4ZTNkNzBlNzZlMWE0Y2U5ZGNjZGIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9U
ZXh0RWRpdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RleHRFZGl0b3IuanMKQEAgLTMxMyw4ICszMTMsMTQgQEAgV0kuVGV4dEVkaXRvciA9IGNs
YXNzIFRleHRFZGl0b3IgZXh0ZW5kcyBXSS5WaWV3CiAgICAgICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAKLSAgICAgICAgLy8gR28gZG93biB0aGUgc2xvdyBwYXRjaCBmb3IgYWxsIG90
aGVyIHRleHQgY29udGVudC4KICAgICAgICAgbGV0IHF1ZXJ5UmVnZXggPSBXSS5TZWFyY2hVdGls
aXRpZXMuc2VhcmNoUmVnRXhwRm9yU3RyaW5nKHF1ZXJ5LCBXSS5TZWFyY2hVdGlsaXRpZXMuZGVm
YXVsdFNldHRpbmdzKTsKKyAgICAgICAgaWYgKCFxdWVyeVJlZ2V4KSB7CisgICAgICAgICAgICB0
aGlzLnNlYXJjaENsZWFyZWQoKTsKKyAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlz
dGVuZXJzKFdJLlRleHRFZGl0b3IuRXZlbnQuTnVtYmVyT2ZTZWFyY2hSZXN1bHRzRGlkQ2hhbmdl
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEdvIGRvd24g
dGhlIHNsb3cgcGF0Y2ggZm9yIGFsbCBvdGhlciB0ZXh0IGNvbnRlbnQuCiAgICAgICAgIHZhciBz
ZWFyY2hDdXJzb3IgPSB0aGlzLl9jb2RlTWlycm9yLmdldFNlYXJjaEN1cnNvcihxdWVyeVJlZ2V4
LCB7bGluZTogMCwgY2g6IDB9LCBmYWxzZSk7CiAgICAgICAgIHZhciBib3VuZEJhdGNoU2VhcmNo
ID0gYmF0Y2hTZWFyY2guYmluZCh0aGlzKTsKICAgICAgICAgdmFyIG51bWJlck9mU2VhcmNoUmVz
dWx0c0RpZENoYW5nZVRpbWVvdXQgPSBudWxsOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>