<?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>124429</bug_id>
          
          <creation_ts>2013-11-15 12:25:53 -0800</creation_ts>
          <short_desc>Web Inspector: Add TreeOutlineDataGridSynchronizer to coordinate sidebar and content views</short_desc>
          <delta_ts>2014-01-20 19:01:47 -0800</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>528+ (Nightly build)</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Timothy Hatcher">timothy</reporter>
          <assigned_to name="Timothy Hatcher">timothy</assigned_to>
          <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>951156</commentid>
    <comment_count>0</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2013-11-15 12:25:53 -0800</bug_when>
    <thetext>The TreeOutlineDataGridSynchronizer will help manage a TreeOutline in the sidebar and DataGrid in the content view.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951158</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-11-15 12:26:39 -0800</bug_when>
    <thetext>&lt;rdar://problem/15483047&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951159</commentid>
    <comment_count>2</comment_count>
      <attachid>217070</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2013-11-15 12:37:17 -0800</bug_when>
    <thetext>Created attachment 217070
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951659</commentid>
    <comment_count>3</comment_count>
      <attachid>217070</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-11-18 10:23:11 -0800</bug_when>
    <thetext>Comment on attachment 217070
Patch

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

r=me

&gt; Source/WebInspectorUI/UserInterface/TreeOutlineDataGridSynchronizer.js:60
&gt; +    treeOutline.onremove = function(element) {
&gt; +        this._treeElementRemoved(element);
&gt; +        if (existingOnRemove)
&gt; +            existingOnRemove.call(treeOutline, element);
&gt; +    }.bind(this);

Based on the naming for all of these, I would expect the &quot;this.method&quot; to be called after the existing TreeOutline method. But no strong reason to change now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970118</commentid>
    <comment_count>4</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-01-20 19:01:47 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/162405</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217070</attachid>
            <date>2013-11-15 12:37:17 -0800</date>
            <delta_ts>2013-11-18 10:23:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124429-20131115123716.patch</filename>
            <type>text/plain</type>
            <size>27641</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3ODg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBl
NThlYjE4ZGFmNWFiM2YyMjZmNzY2M2M3OTRkZGY0NTNjMTc3NDkwLi5mYjZkYWNlYTgwYzdlYWE0
NWFiNDk3NWVmMzMxOTQxNTU2ZTIyZmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4MiBAQAorMjAxMy0xMS0xNSAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5j
b20+CisKKyAgICAgICAgQWRkIGEgc3luY2hyb25pemVkIERhdGFHcmlkIHRvIHRoZSBPdmVydmll
d1RpbWVsaW5lVmlldy4KKworICAgICAgICBUaGUgRGF0YUdyaWQgaXMgc3luY2hyb25pemVkIHdp
dGggdGhlIHNpZGViYXIgVHJlZU91dGxpbmUgdG8gYXBwZWFyIGFzIG9uZSB3aGVuIHRoZSB2aWV3
CisgICAgICAgIGFuZCBzaWRlYmFyIGFyZSBib3RoIHNob3dpbmcuIFRoZSB0d28gc2Nyb2xsLCBl
eHBhbmQgYW5kIGNvbGxhcHNlIGluIHN5bmMgd2hlbiB0aGUgdmlldworICAgICAgICBpcyBzaG93
aW5nLiBXaGVuIHRoZSB2aWV3IGlzIG5vdCBzaG93aW5nIHRoZSBzaWRlYmFyIGNhbiBzY3JvbGwg
aW5kZXBlbmRlbnRseS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI0NDI5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0RhdGFHcmlkLmpzOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkRhdGFHcmlkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5jcmVhdGVTb3J0
YWJsZURhdGFHcmlkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUu
X2NvcHlUZXh0Rm9yRGF0YUdyaWROb2RlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhR3Jp
ZE5vZGUucHJvdG90eXBlLmNyZWF0ZUNlbGxDb250ZW50KToKKyAgICAgICAgSGFuZGxlIHVuZGVm
aW5lZC9udWxsIGNlbGxzIGJldHRlciBieSBzdWJzdGl0dXRpbmcgZW1wdHkgc3RyaW5ncy4KKwor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZS5wcm90b3R5cGUuY29sbGFwc2UpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZS5wcm90b3R5cGUuZXhwYW5kKToKKyAg
ICAgICAgRmlyZSBldmVudHMgb24gdGhlIERhdGFHcmlkIGZvciBleHBhbmQgYW5kIGNvbGxhcHNl
LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9NYWluLmh0bWw6IEluY2x1ZGUgVHJlZU91dGxp
bmVEYXRhR3JpZFN5bmNocm9uaXplci5qcy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTmF2
aWdhdGlvblNpZGViYXJQYW5lbC5jc3M6CisgICAgICAgICguc2lkZWJhciA+IC5wYW5lbC5uYXZp
Z2F0aW9uID4gLmNvbnRlbnQpOiBTaG9ydGVuIGJ5IDFweCB0byBtYXRjaCB0aGUgY29udGVudCB2
aWV3IGhlaWdodC4KKyAgICAgICAgTmVlZGVkIHRvIGtlZXAgc2Nyb2xsaW5nIGluIHN5bmMuIFRo
ZSBjbGlwcGluZyBsb29rcyBiZXR0ZXIgdG9vLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9P
dmVydmlld1RpbWVsaW5lVmlldy5jc3M6CisgICAgICAgICgudGltZWxpbmUtdmlldy5vdmVydmll
dyA+IC5kYXRhLWdyaWQpOgorICAgICAgICAoLnRpbWVsaW5lLXZpZXcub3ZlcnZpZXcgPiAuZGF0
YS1ncmlkIHRhYmxlLmhlYWRlcik6CisgICAgICAgICgudGltZWxpbmUtdmlldy5vdmVydmlldyA+
IC5kYXRhLWdyaWQgLmRhdGEtY29udGFpbmVyKToKKyAgICAgICAgU3R5bGUgdGhlIERhdGFHcmlk
IHRvIHRvIG5vdCBoYXZlIGEgaGVhZGVyLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9PdmVy
dmlld1RpbWVsaW5lVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5PdmVydmlld1RpbWVs
aW5lVmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuT3ZlcnZpZXdUaW1lbGluZVZpZXcucHJv
dG90eXBlLnNob3duKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5PdmVydmlld1RpbWVsaW5lVmll
dy5wcm90b3R5cGUuX2FkZFJlc291cmNlVG9UcmVlSWZOZWVkZWQpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLk92ZXJ2aWV3VGltZWxpbmVWaWV3LnByb3RvdHlwZS5fc291cmNlQ29kZVRpbWVsaW5l
QWRkZWQpOgorICAgICAgICBDcmVhdGUgdGhlIERhdGFHcmlkIGFuZCBzb21lIHBsYWNlaG9sZGVy
IG5vZGVzLiBIb29rIHVwIFRyZWVPdXRsaW5lRGF0YUdyaWRTeW5jaHJvbml6ZXIuCisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1RpbWVsaW5lQ29udGVudFZpZXcuY3NzOgorICAgICAgICAoLmNv
bnRlbnQtdmlldy50aW1lbGluZSA+IC52aWV3LWNvbnRhaW5lciA+IC50aW1lbGluZS12aWV3ID4g
LmRhdGEtZ3JpZCB0ZCk6CisgICAgICAgICguY29udGVudC12aWV3LnRpbWVsaW5lID4gLnZpZXct
Y29udGFpbmVyID4gLnRpbWVsaW5lLXZpZXcgPiAuZGF0YS1ncmlkIHRhYmxlLmRhdGEpOgorICAg
ICAgICBTdHlsZSB0aGUgRGF0YUdyaWQgdG8gbWF0Y2ggdGhlIGhlaWdodCBvZiBUcmVlRWxlbWVu
dHMgaW4gdGhlIHNpZGViYXIuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1RpbWVsaW5lU2lk
ZWJhclBhbmVsLmNzczoKKyAgICAgICAgKC5zaWRlYmFyID4gLnBhbmVsLnRpbWVsaW5lLnRpbWVs
aW5lLWNvbnRlbnQtdmlldy1zaG93aW5nID4gLmNvbnRlbnQpOgorICAgICAgICBIaWRlIHRoZSBz
Y3JvbGxiYXIgb2ZmIHRoZSByaWdodCB3aGVuIHRoZSB2aWV3IGlzIHNob3dpbmcuIFRoZSB2aWV3
IHdpbGwgc2hvdyB0aGUgc2Nyb2xsYmFyLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9UaW1l
bGluZVNpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGVi
YXJQYW5lbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwucHJv
dG90eXBlLl90aW1lbGluZXNUcmVlRWxlbWVudFNlbGVjdGVkKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5wcm90b3R5cGUuX2NvbnRlbnRCcm93c2VyQ3VycmVu
dENvbnRlbnRWaWV3RGlkQ2hhbmdlKToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVHJlZU91
dGxpbmUuanM6CisgICAgICAgIChUcmVlT3V0bGluZS5wcm90b3R5cGUucmVtb3ZlQ2hpbGRBdElu
ZGV4KToKKyAgICAgICAgKFRyZWVPdXRsaW5lLnByb3RvdHlwZS5yZW1vdmVDaGlsZHJlbik6Cisg
ICAgICAgIChUcmVlT3V0bGluZS5wcm90b3R5cGUucmVtb3ZlQ2hpbGRyZW5SZWN1cnNpdmUpOgor
ICAgICAgICAoVHJlZUVsZW1lbnQucHJvdG90eXBlLnNldCBoaWRkZW4pOgorICAgICAgICBBZGQg
ZXZlbnQgY2FsbGJhY2tzIGZvciBvbmhpZGRlbiBhbmQgb25yZW1vdmUuCisKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1RyZWVPdXRsaW5lRGF0YUdyaWRTeW5jaHJvbml6ZXIuanM6IEFkZGVkLgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRyZWVPdXRsaW5lRGF0YUdyaWRTeW5jaHJvbml6ZXIpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRyZWVPdXRsaW5lRGF0YUdyaWRTeW5jaHJvbml6ZXIucHJv
dG90eXBlLmFzc29jaWF0ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVHJlZU91dGxpbmVEYXRh
R3JpZFN5bmNocm9uaXplci5wcm90b3R5cGUuc3luY2hyb25pemUpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlRyZWVPdXRsaW5lRGF0YUdyaWRTeW5jaHJvbml6ZXIucHJvdG90eXBlLl90cmVlT3V0
bGluZVNjcm9sbGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UcmVlT3V0bGluZURhdGFHcmlk
U3luY2hyb25pemVyLnByb3RvdHlwZS5fZGF0YUdyaWRTY3JvbGxlZCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVHJlZU91dGxpbmVEYXRhR3JpZFN5bmNocm9uaXplci5wcm90b3R5cGUuX2RhdGFH
cmlkTm9kZVNlbGVjdGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UcmVlT3V0bGluZURhdGFH
cmlkU3luY2hyb25pemVyLnByb3RvdHlwZS5fZGF0YUdyaWROb2RlRXhwYW5kZWQpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRyZWVPdXRsaW5lRGF0YUdyaWRTeW5jaHJvbml6ZXIucHJvdG90eXBl
Ll9kYXRhR3JpZE5vZGVDb2xsYXBzZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRyZWVPdXRs
aW5lRGF0YUdyaWRTeW5jaHJvbml6ZXIucHJvdG90eXBlLl90cmVlRWxlbWVudFNlbGVjdGVkKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5UcmVlT3V0bGluZURhdGFHcmlkU3luY2hyb25pemVyLnBy
b3RvdHlwZS5fdHJlZUVsZW1lbnRBZGRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVHJlZU91
dGxpbmVEYXRhR3JpZFN5bmNocm9uaXplci5wcm90b3R5cGUuX3RyZWVFbGVtZW50UmVtb3ZlZCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuVHJlZU91dGxpbmVEYXRhR3JpZFN5bmNocm9uaXplci5w
cm90b3R5cGUuX3RyZWVFbGVtZW50RXhwYW5kZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRy
ZWVPdXRsaW5lRGF0YUdyaWRTeW5jaHJvbml6ZXIucHJvdG90eXBlLl90cmVlRWxlbWVudENvbGxh
cHNlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVHJlZU91dGxpbmVEYXRhR3JpZFN5bmNocm9u
aXplci5wcm90b3R5cGUuX3RyZWVFbGVtZW50SGlkZGVuQ2hhbmdlZCk6CisKIDIwMTMtMTEtMDcg
IFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIFN0YXJ0IGZs
ZXNoaW5nIG91dCB0aGUgT3ZlcnZpZXcgVGltZWxpbmUgdmlldy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RhdGFHcmlkLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRGF0YUdyaWQuanMKaW5kZXggZTQyM2NjMDg1NDZhMzI5
NjBlOGJkOTdhMjI5NzgzNDllNjRmMzljNC4uYzBkZjEyMmQ5OWM1ZTA2NmZiMjdlZDc4MjJhNjcw
YzY4ZGEwYzJhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvRGF0YUdyaWQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
RGF0YUdyaWQuanMKQEAgLTkzLDcgKzkzLDcgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkID0gZnVu
Y3Rpb24oY29sdW1ucywgZWRpdENhbGxiYWNrLCBkZWxldGVDYWxsYmFjaykKICAgICAgICAgaWYg
KGNvbHVtbi50aXRsZURPTUZyYWdtZW50KQogICAgICAgICAgICAgZGl2LmFwcGVuZENoaWxkKGNv
bHVtbi50aXRsZURPTUZyYWdtZW50KTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgZGl2LnRl
eHRDb250ZW50ID0gY29sdW1uLnRpdGxlOworICAgICAgICAgICAgZGl2LnRleHRDb250ZW50ID0g
Y29sdW1uLnRpdGxlIHx8ICIiOwogICAgICAgICBjZWxsLmFwcGVuZENoaWxkKGRpdik7CiAKICAg
ICAgICAgaWYgKGNvbHVtbi5zb3J0KSB7CkBAIC0xOTEsNyArMTkxLDkgQEAgV2ViSW5zcGVjdG9y
LkRhdGFHcmlkID0gZnVuY3Rpb24oY29sdW1ucywgZWRpdENhbGxiYWNrLCBkZWxldGVDYWxsYmFj
aykKIFdlYkluc3BlY3Rvci5EYXRhR3JpZC5FdmVudCA9IHsKICAgICBEaWRMYXlvdXQ6ICJkYXRh
Z3JpZC1kaWQtbGF5b3V0IiwKICAgICBTb3J0Q2hhbmdlZDogImRhdGFncmlkLXNvcnQtY2hhbmdl
ZCIsCi0gICAgU2VsZWN0ZWROb2RlQ2hhbmdlZDogImRhdGFncmlkLXNlbGVjdGVkLW5vZGUtY2hh
bmdlZCIKKyAgICBTZWxlY3RlZE5vZGVDaGFuZ2VkOiAiZGF0YWdyaWQtc2VsZWN0ZWQtbm9kZS1j
aGFuZ2VkIiwKKyAgICBFeHBhbmRlZE5vZGU6ICJkYXRhZ3JpZC1leHBhbmRlZC1ub2RlIiwKKyAg
ICBDb2xsYXBzZWROb2RlOiAiZGF0YWdyaWQtY29sbGFwc2VkLW5vZGUiCiB9OwogCiAvKioKQEAg
LTI0MSwxNCArMjQzLDE0IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZC5jcmVhdGVTb3J0YWJsZURh
dGFHcmlkID0gZnVuY3Rpb24oY29sdW1uTmFtZXMsIHZhbHVlcykKICAgICAgICAgdmFyIGNvbHVt
bklzTnVtZXJpYyA9IHRydWU7CiAKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2Rlcy5s
ZW5ndGg7IGkrKykgewotICAgICAgICAgICAgaWYgKGlzTmFOKE51bWJlcihub2Rlc1tpXS5kYXRh
W3NvcnRDb2x1bW5JZGVudGlmaWVyXSkpKQorICAgICAgICAgICAgaWYgKGlzTmFOKE51bWJlcihu
b2Rlc1tpXS5kYXRhW3NvcnRDb2x1bW5JZGVudGlmaWVyXSB8fCAiIikpKQogICAgICAgICAgICAg
ICAgIGNvbHVtbklzTnVtZXJpYyA9IGZhbHNlOwogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rp
b24gY29tcGFyYXRvcihkYXRhR3JpZE5vZGUxLCBkYXRhR3JpZE5vZGUyKQogICAgICAgICB7Ci0g
ICAgICAgICAgICB2YXIgaXRlbTEgPSBkYXRhR3JpZE5vZGUxLmRhdGFbc29ydENvbHVtbklkZW50
aWZpZXJdOwotICAgICAgICAgICAgdmFyIGl0ZW0yID0gZGF0YUdyaWROb2RlMi5kYXRhW3NvcnRD
b2x1bW5JZGVudGlmaWVyXTsKKyAgICAgICAgICAgIHZhciBpdGVtMSA9IGRhdGFHcmlkTm9kZTEu
ZGF0YVtzb3J0Q29sdW1uSWRlbnRpZmllcl0gfHwgIiI7CisgICAgICAgICAgICB2YXIgaXRlbTIg
PSBkYXRhR3JpZE5vZGUyLmRhdGFbc29ydENvbHVtbklkZW50aWZpZXJdIHx8ICIiOwogCiAgICAg
ICAgICAgICB2YXIgY29tcGFyaXNvbjsKICAgICAgICAgICAgIGlmIChjb2x1bW5Jc051bWVyaWMp
IHsKQEAgLTMzNiw3ICszMzgsNyBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90eXBlID0g
ewogICAgICAgICAvLyBGSVhNRTogQmV0dGVyIHdheSB0byBkbyB0aGlzIHRoYW4gcmVndWxhciBl
eHByZXNzaW9ucz8KICAgICAgICAgdmFyIGNvbHVtbklkZW50aWZpZXIgPSBwYXJzZUludChlbGVt
ZW50LmNsYXNzTmFtZS5tYXRjaCgvXGIoXGQrKS1jb2x1bW5cYi8pWzFdLCAxMCk7CiAKLSAgICAg
ICAgdmFyIHRleHRCZWZvcmVFZGl0aW5nID0gdGhpcy5fZWRpdGluZ05vZGUuZGF0YVtjb2x1bW5J
ZGVudGlmaWVyXTsKKyAgICAgICAgdmFyIHRleHRCZWZvcmVFZGl0aW5nID0gdGhpcy5fZWRpdGlu
Z05vZGUuZGF0YVtjb2x1bW5JZGVudGlmaWVyXSB8fCAiIjsKICAgICAgICAgdmFyIGN1cnJlbnRF
ZGl0aW5nTm9kZSA9IHRoaXMuX2VkaXRpbmdOb2RlOwogCiAgICAgICAgIGZ1bmN0aW9uIG1vdmVU
b05leHRJZk5lZWRlZCh3YXNDaGFuZ2UpIHsKQEAgLTExNTcsNyArMTE1OSw3IEBAIFdlYkluc3Bl
Y3Rvci5EYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB2YXIgZmllbGRzID0g
W107CiAgICAgICAgIGZvciAodmFyIGNvbHVtbklkZW50aWZpZXIgaW4gbm9kZS5kYXRhR3JpZC5j
b2x1bW5zKQotICAgICAgICAgICAgZmllbGRzLnB1c2gobm9kZS5kYXRhW2NvbHVtbklkZW50aWZp
ZXJdKTsKKyAgICAgICAgICAgIGZpZWxkcy5wdXNoKG5vZGUuZGF0YVtjb2x1bW5JZGVudGlmaWVy
XSB8fCAiIik7CiAKICAgICAgICAgdmFyIHRhYlNlcGFyYXRlZFZhbHVlcyA9IGZpZWxkcy5qb2lu
KCJcdCIpOwogICAgICAgICByZXR1cm4gdGFiU2VwYXJhdGVkVmFsdWVzOwpAQCAtMTUyMiw3ICsx
NTI0LDcgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZS5wcm90b3R5cGUgPSB7CiAKICAgICBj
cmVhdGVDZWxsQ29udGVudDogZnVuY3Rpb24oY29sdW1uSWRlbnRpZmllcikKICAgICB7Ci0gICAg
ICAgIHJldHVybiB0aGlzLmRhdGFbY29sdW1uSWRlbnRpZmllcl07CisgICAgICAgIHJldHVybiB0
aGlzLmRhdGFbY29sdW1uSWRlbnRpZmllcl0gfHwgIlx1MjAwYiI7IC8vIFplcm8gd2lkdGggc3Bh
Y2UgdG8ga2VlcCB0aGUgY2VsbCBmcm9tIGNvbGxhcHNpbmcuCiAgICAgfSwKIAogICAgIGVsZW1l
bnRXaXRoQ29sdW1uSWRlbnRpZmllcjogZnVuY3Rpb24oY29sdW1uSWRlbnRpZmllcikKQEAgLTE1
NzQsNiArMTU3Niw5IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGUucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgdGhpcy5jaGlsZHJlbltpXS5yZXZlYWxlZCA9IGZhbHNlOwogCiAgICAgICAg
IHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKCJjb2xsYXBzZWQiKTsKKworICAgICAgICBp
ZiAodGhpcy5kYXRhR3JpZCkKKyAgICAgICAgICAgIHRoaXMuZGF0YUdyaWQuZGlzcGF0Y2hFdmVu
dFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5FdmVudC5Db2xsYXBzZWROb2RlLCB7
ZGF0YUdyaWROb2RlOiB0aGlzfSk7CiAgICAgfSwKIAogICAgIGNvbGxhcHNlUmVjdXJzaXZlbHk6
IGZ1bmN0aW9uKCkKQEAgLTE2MTksNiArMTYyNCw5IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZE5v
ZGUucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9leHBhbmRlZCA9IHRydWU7CiAKICAgICAg
ICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoImV4cGFuZGVkIik7CisKKyAgICAgICAg
aWYgKHRoaXMuZGF0YUdyaWQpCisgICAgICAgICAgICB0aGlzLmRhdGFHcmlkLmRpc3BhdGNoRXZl
bnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRGF0YUdyaWQuRXZlbnQuRXhwYW5kZWROb2RlLCB7
ZGF0YUdyaWROb2RlOiB0aGlzfSk7CiAgICAgfSwKIAogICAgIGV4cGFuZFJlY3Vyc2l2ZWx5OiBm
dW5jdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9NYWluLmh0bWwgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0
bWwKaW5kZXggOGMzMjllZjRlMDE1ZGFmYjNkMmI3Y2Y2ZjZiOWQ4MGY4Zjg1ODk4Mi4uOGIwMGNh
OGQzYWY1MTNiY2UwOTA4ODdkMzkyZDY1NmU2NjU5NmU4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbApAQCAtMzQzLDYgKzM0Myw3IEBACiAgICAg
PHNjcmlwdCBzcmM9IkxheW91dFRpbWVsaW5lRGF0YUdyaWROb2RlLmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHNyYz0iU2NyaXB0VGltZWxpbmVSZWNvcmQuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgc3JjPSJTY3JpcHRUaW1lbGluZURhdGFHcmlkTm9kZS5qcyI+PC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9IlRyZWVPdXRsaW5lRGF0YUdyaWRTeW5jaHJvbml6ZXIuanMiPjwvc2NyaXB0
PgogICAgIDxzY3JpcHQgc3JjPSJUaW1lbGluZU92ZXJ2aWV3LmpzIj48L3NjcmlwdD4KICAgICA8
c2NyaXB0IHNyYz0iUHJvZmlsZU1hbmFnZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3Jj
PSJQcm9maWxlVHlwZS5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9OYXZpZ2F0aW9uU2lkZWJhclBhbmVsLmNzcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL05hdmlnYXRpb25TaWRlYmFyUGFuZWwuY3NzCmlu
ZGV4IGU0ZWZiZTlkNTdiYmI0NTExODJjOTUwNjM1YTMxMDc0MzRmNTA3YjQuLjllMmIzYzc0M2Ix
ZWY0MWM5MTZjYWQ2YjA0YTgzZGU2ZGI0ZjkyMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL05hdmlnYXRpb25TaWRlYmFyUGFuZWwuY3NzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL05hdmlnYXRpb25TaWRlYmFyUGFuZWwu
Y3NzCkBAIC0yOCw3ICsyOCw3IEBACiAgICAgdG9wOiAwOwogICAgIGxlZnQ6IDA7CiAgICAgcmln
aHQ6IDA7Ci0gICAgYm90dG9tOiAyMXB4OworICAgIGJvdHRvbTogMjJweDsKIAogICAgIG92ZXJm
bG93LXg6IGhpZGRlbjsKICAgICBvdmVyZmxvdy15OiBhdXRvOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvT3ZlcnZpZXdUaW1lbGluZVZpZXcuY3NzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvT3ZlcnZpZXdUaW1lbGluZVZpZXcu
Y3NzCmluZGV4IDg0NmJmNDZjOWU2ZTM1MjQ0MzNiMGVmOGEwZWJmMTFmOTBmOGE5OGMuLjM2NzJj
ZGI1YmY1MTY0NzEwMjZkMjU2MWEwMGZiMTYyMTk0MDE0YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL092ZXJ2aWV3VGltZWxpbmVWaWV3LmNzcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9PdmVydmlld1RpbWVsaW5lVmll
dy5jc3MKQEAgLTM5LDMgKzM5LDIwIEBACiAudGltZWxpbmUtdmlldy5vdmVydmlldyA+IC50aW1l
bGluZS1kZWNvcmF0aW9ucyA+IC5ldmVudC1tYXJrZXJzIHsKICAgICB0b3A6IDIzcHg7CiB9CisK
Ky50aW1lbGluZS12aWV3Lm92ZXJ2aWV3ID4gLmRhdGEtZ3JpZCB7CisgICAgcG9zaXRpb246IGFi
c29sdXRlOworICAgIHRvcDogMjNweDsKKyAgICBsZWZ0OiAwOworICAgIHJpZ2h0OiAwOworICAg
IGJvdHRvbTogMDsKKyAgICBib3JkZXI6IG5vbmU7Cit9CisKKy50aW1lbGluZS12aWV3Lm92ZXJ2
aWV3ID4gLmRhdGEtZ3JpZCB0YWJsZS5oZWFkZXIgeworICAgIGRpc3BsYXk6IG5vbmU7Cit9CisK
Ky50aW1lbGluZS12aWV3Lm92ZXJ2aWV3ID4gLmRhdGEtZ3JpZCAuZGF0YS1jb250YWluZXIgewor
ICAgIHRvcDogMDsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL092ZXJ2aWV3VGltZWxpbmVWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvT3ZlcnZpZXdUaW1lbGluZVZpZXcuanMKaW5kZXggNTQ4MjI3NWJmODcwZGMw
YmU1MmFhMzA3NDUzMDljNDk3OTBmOTU5OC4uYjk1ZDBkOWU1MjM2YmE3MWE0ZmE2ZGFkMmE3YmM1
Yjg2NDUwNzhhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvT3ZlcnZpZXdUaW1lbGluZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvT3ZlcnZpZXdUaW1lbGluZVZpZXcuanMKQEAgLTI5LDEwICsyOSwxNiBAQCBX
ZWJJbnNwZWN0b3IuT3ZlcnZpZXdUaW1lbGluZVZpZXcgPSBmdW5jdGlvbigpCiAKICAgICB0aGlz
Ll9jb250ZW50VHJlZU91dGxpbmUub25zZWxlY3QgPSB0aGlzLl90cmVlRWxlbWVudFNlbGVjdGVk
LmJpbmQodGhpcyk7CiAKKyAgICB2YXIgY29sdW1ucyA9IHsidGltZWxpbmUiOiB7d2lkdGg6ICIx
MDAlIn19OworICAgIHRoaXMuX2RhdGFHcmlkID0gbmV3IFdlYkluc3BlY3Rvci5EYXRhR3JpZChj
b2x1bW5zKTsKKworICAgIHRoaXMuX3RyZWVPdXRsaW5lRGF0YUdyaWRTeW5jaHJvbml6ZXIgPSBu
ZXcgV2ViSW5zcGVjdG9yLlRyZWVPdXRsaW5lRGF0YUdyaWRTeW5jaHJvbml6ZXIodGhpcy5fY29u
dGVudFRyZWVPdXRsaW5lLCB0aGlzLl9kYXRhR3JpZCk7CisKICAgICB0aGlzLl90aW1lbGluZURl
Y29yYXRpb25zID0gbmV3IFdlYkluc3BlY3Rvci5UaW1lbGluZURlY29yYXRpb25zOwogICAgIHRo
aXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl90aW1lbGluZURlY29yYXRpb25zLmVsZW1lbnQp
OwogCiAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLk92ZXJ2aWV3
VGltZWxpbmVWaWV3LlN0eWxlQ2xhc3NOYW1lKTsKKyAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hp
bGQodGhpcy5fZGF0YUdyaWQuZWxlbWVudCk7CiAKICAgICBXZWJJbnNwZWN0b3IuRnJhbWUuYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRnJhbWUuRXZlbnQuQ2hpbGRGcmFtZVdhc0FkZGVk
LCB0aGlzLl9jaGlsZEZyYW1lV2FzQWRkZWQsIHRoaXMpOwogICAgIFdlYkluc3BlY3Rvci5GcmFt
ZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5GcmFtZS5FdmVudC5NYWluUmVzb3VyY2VE
aWRDaGFuZ2UsIHRoaXMuX21haW5SZXNvdXJjZURpZENoYW5nZSwgdGhpcyk7CkBAIC01NSw2ICs2
MSwxMSBAQCBXZWJJbnNwZWN0b3IuT3ZlcnZpZXdUaW1lbGluZVZpZXcucHJvdG90eXBlID0gewog
ICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1lbGluZSBFdmVudHMiKTsK
ICAgICB9LAogCisgICAgc2hvd246IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuX3Ry
ZWVPdXRsaW5lRGF0YUdyaWRTeW5jaHJvbml6ZXIuc3luY2hyb25pemUoKTsKKyAgICB9LAorCiAg
ICAgLy8gUHJpdmF0ZQogCiAgICAgX2NoaWxkRnJhbWVXYXNBZGRlZDogZnVuY3Rpb24oZXZlbnQp
CkBAIC0xODEsNiArMTkyLDEwIEBAIFdlYkluc3BlY3Rvci5PdmVydmlld1RpbWVsaW5lVmlldy5w
cm90b3R5cGUgPSB7CiAgICAgICAgIHZhciByZXNvdXJjZVRyZWVFbGVtZW50ID0gbmV3IFdlYklu
c3BlY3Rvci5SZXNvdXJjZVRyZWVFbGVtZW50KHJlc291cmNlKTsKICAgICAgICAgcmVzb3VyY2VU
cmVlRWxlbWVudC5leHBhbmQoKTsKIAorICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyBqdXN0IGEg
cGxhY2Vob2xkZXIgRGF0YUdyaWROb2RlLgorICAgICAgICB2YXIgcmVzb3VyY2VEYXRhR3JpZE5v
ZGUgPSBuZXcgV2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZTsKKyAgICAgICAgdGhpcy5fdHJlZU91
dGxpbmVEYXRhR3JpZFN5bmNocm9uaXplci5hc3NvY2lhdGUocmVzb3VyY2VUcmVlRWxlbWVudCwg
cmVzb3VyY2VEYXRhR3JpZE5vZGUpOworCiAgICAgICAgIHZhciBwYXJlbnRUcmVlRWxlbWVudCA9
IHRoaXMuX2NvbnRlbnRUcmVlT3V0bGluZTsKICAgICAgICAgaWYgKHBhcmVudEZyYW1lKSB7CiAg
ICAgICAgICAgICAvLyBGaW5kIHRoZSBwYXJlbnQgbWFpbiByZXNvdXJjZSwgYWRkaW5nIGl0IGlm
IG5lZWRlZCwgdG8gYXBwZW5kIHRoaXMgcmVzb3VyY2UgYXMgYSBjaGlsZC4KQEAgLTIxNSw2ICsy
MzAsMTAgQEAgV2ViSW5zcGVjdG9yLk92ZXJ2aWV3VGltZWxpbmVWaWV3LnByb3RvdHlwZSA9IHsK
IAogICAgICAgICB2YXIgc291cmNlQ29kZVRpbWVsaW5lVHJlZUVsZW1lbnQgPSBuZXcgV2ViSW5z
cGVjdG9yLlNvdXJjZUNvZGVUaW1lbGluZVRyZWVFbGVtZW50KHNvdXJjZUNvZGVUaW1lbGluZSk7
CiAKKyAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMganVzdCBhIHBsYWNlaG9sZGVyIERhdGFHcmlk
Tm9kZS4KKyAgICAgICAgdmFyIHNvdXJjZUNvZGVUaW1lbGluZURhdGFHcmlkTm9kZSA9IG5ldyBX
ZWJJbnNwZWN0b3IuRGF0YUdyaWROb2RlOworICAgICAgICB0aGlzLl90cmVlT3V0bGluZURhdGFH
cmlkU3luY2hyb25pemVyLmFzc29jaWF0ZShzb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudCwg
c291cmNlQ29kZVRpbWVsaW5lRGF0YUdyaWROb2RlKTsKKwogICAgICAgICB0aGlzLl9pbnNlcnRU
cmVlRWxlbWVudChzb3VyY2VDb2RlVGltZWxpbmVUcmVlRWxlbWVudCwgcGFyZW50VHJlZUVsZW1l
bnQpOwogICAgIH0sCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1RpbWVsaW5lQ29udGVudFZpZXcuY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVGltZWxpbmVDb250ZW50Vmlldy5jc3MKaW5kZXggYzRhZjkyYTcyOTA1NzVj
NzY5MmZmZmFmN2Q3OTA4MzI3MmFhNzE5NC4uYTcxZDU0ZWE2NDg3OTgwZWE5MDhkMDU2MmM2NjAw
NzQ2ZmJjOWZlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVGltZWxpbmVDb250ZW50Vmlldy5jc3MKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVGltZWxpbmVDb250ZW50Vmlldy5jc3MKQEAgLTMxLDMgKzMxLDEzIEBACiAg
ICAgYm90dG9tOiAwOwogICAgIG92ZXJmbG93OiBoaWRkZW47CiB9CisKKy5jb250ZW50LXZpZXcu
dGltZWxpbmUgPiAudmlldy1jb250YWluZXIgPiAudGltZWxpbmUtdmlldyA+IC5kYXRhLWdyaWQg
dGQgeworICAgIGhlaWdodDogMTZweDsKKyAgICBsaW5lLWhlaWdodDogMTZweDsKK30KKworLmNv
bnRlbnQtdmlldy50aW1lbGluZSA+IC52aWV3LWNvbnRhaW5lciA+IC50aW1lbGluZS12aWV3ID4g
LmRhdGEtZ3JpZCB0YWJsZS5kYXRhIHsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxp
bmVhci1ncmFkaWVudCh0b3AsIHdoaXRlLCB3aGl0ZSA1MCUsIHJnYigyNDMsIDI0MywgMjQzKSA1
MCUsIHJnYigyNDMsIDI0MywgMjQzKSk7CisgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDQwcHg7
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UaW1l
bGluZVNpZGViYXJQYW5lbC5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9UaW1lbGluZVNpZGViYXJQYW5lbC5jc3MKaW5kZXggMDMyN2NjNmViY2ViNTFmOTM3NDBmZjk4
MzZhNTdlNTFlODhiZGQ4Yi4uMzRiMjQ5MGJkNWVmMTMyOWFiZWI4MjY4MDk5MzE4ZjczMjc3YzM4
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVGltZWxp
bmVTaWRlYmFyUGFuZWwuY3NzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1RpbWVsaW5lU2lkZWJhclBhbmVsLmNzcwpAQCAtOTgsMyArOTgsOSBAQAogLnNpZGViYXIg
PiAucGFuZWwudGltZWxpbmUgPiAuY29udGVudCB7CiAgICAgdG9wOiAxNzVweDsKIH0KKworLnNp
ZGViYXIgPiAucGFuZWwudGltZWxpbmUudGltZWxpbmUtY29udGVudC12aWV3LXNob3dpbmcgPiAu
Y29udGVudCB7CisgLyogVGhpcyBoaWRlcyB0aGUgc2Nyb2xsYmFyLiBUaGUgdmlldyBzaG93cyBh
IHNjcm9sbGJhciwgd2UgZG9uJ3QgbmVlZCB0d28uICovCisgICAgcGFkZGluZy1yaWdodDogMTZw
eDsKKyAgICByaWdodDogLTE2cHg7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9UaW1lbGluZVNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1RpbWVsaW5lU2lkZWJhclBhbmVsLmpzCmluZGV4IGNiODk3
ODhhNTNiZjRiOGNjMWRlM2U0ZDEwZmE0ZWYwMDJhNDJhMGYuLjNlNDhjYzIxMWE3OWZiNzVmNjIx
YWU1NTQ0ZGZhY2RmMmU5M2FhM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1RpbWVsaW5lU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1RpbWVsaW5lU2lkZWJhclBhbmVsLmpzCkBAIC03OCw2ICs3
OCw4IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbCA9IGZ1bmN0aW9uKCkKIAog
ICAgIHRoaXMuX3RpbWVsaW5lT3ZlcnZpZXdUcmVlRWxlbWVudCA9IG5ldyBXZWJJbnNwZWN0b3Iu
R2VuZXJhbFRyZWVFbGVtZW50KFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5TdG9w
d2F0Y2hJY29uU3R5bGVDbGFzcywgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1lbGluZXMiKSwg
bnVsbCwgV2ViSW5zcGVjdG9yLnRpbWVsaW5lTWFuYWdlci5yZWNvcmRpbmcpOwogICAgIHRoaXMu
X3RpbWVsaW5lT3ZlcnZpZXdUcmVlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rv
ci5IaWVyYXJjaGljYWxQYXRoQ29tcG9uZW50LkV2ZW50LlNpYmxpbmdXYXNTZWxlY3RlZCwgdGhp
cy5zaG93VGltZWxpbmVPdmVydmlldywgdGhpcyk7CisKKyAgICBXZWJJbnNwZWN0b3IuY29udGVu
dEJyb3dzZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQ29udGVudEJyb3dzZXIuRXZl
bnQuQ3VycmVudENvbnRlbnRWaWV3RGlkQ2hhbmdlLCB0aGlzLl9jb250ZW50QnJvd3NlckN1cnJl
bnRDb250ZW50Vmlld0RpZENoYW5nZSwgdGhpcyk7CiB9OwogCiBXZWJJbnNwZWN0b3IuVGltZWxp
bmVTaWRlYmFyUGFuZWwuVGl0bGVCYXJTdHlsZUNsYXNzID0gInRpdGxlLWJhciI7CkBAIC05MCw2
ICs5Miw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5TdG9wd2F0Y2hJY29u
U3R5bGVDbGFzcyA9ICJzdG9wd2F0Y2gtaWNvbiI7CiBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRl
YmFyUGFuZWwuTmV0d29ya0ljb25TdHlsZUNsYXNzID0gIm5ldHdvcmstaWNvbiI7CiBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwuQ29sb3JzSWNvblN0eWxlQ2xhc3MgPSAiY29sb3Jz
LWljb24iOwogV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLlNjcmlwdEljb25TdHls
ZUNsYXNzID0gInNjcmlwdC1pY29uIjsKK1dlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5l
bC5UaW1lbGluZUNvbnRlbnRWaWV3U2hvd2luZ1N0eWxlQ2xhc3MgPSAidGltZWxpbmUtY29udGVu
dC12aWV3LXNob3dpbmciOwogCiBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwucHJv
dG90eXBlID0gewogICAgIGNvbnN0cnVjdG9yOiBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFy
UGFuZWwsCkBAIC0xNTUsNSArMTU4LDEzIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQ
YW5lbC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl90
aW1lbGluZVRyZWVFbGVtZW50TWFwW3RyZWVFbGVtZW50LnJlcHJlc2VudGVkT2JqZWN0XSA9PT0g
dHJlZUVsZW1lbnQpOwogICAgICAgICB0aGlzLnNob3dUaW1lbGluZVZpZXcodHJlZUVsZW1lbnQu
cmVwcmVzZW50ZWRPYmplY3QpOworICAgIH0sCisKKyAgICBfY29udGVudEJyb3dzZXJDdXJyZW50
Q29udGVudFZpZXdEaWRDaGFuZ2U6IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgaWYg
KFdlYkluc3BlY3Rvci5jb250ZW50QnJvd3Nlci5jdXJyZW50Q29udGVudFZpZXcgaW5zdGFuY2Vv
ZiBXZWJJbnNwZWN0b3IuVGltZWxpbmVDb250ZW50VmlldykKKyAgICAgICAgICAgIHRoaXMuZWxl
bWVudC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5UaW1l
bGluZUNvbnRlbnRWaWV3U2hvd2luZ1N0eWxlQ2xhc3MpOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShXZWJJbnNwZWN0b3IuVGltZWxpbmVT
aWRlYmFyUGFuZWwuVGltZWxpbmVDb250ZW50Vmlld1Nob3dpbmdTdHlsZUNsYXNzKTsKICAgICB9
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVHJl
ZU91dGxpbmUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UcmVlT3V0
bGluZS5qcwppbmRleCAyMThjNThjYjVmNjk2MThiOWExZDgwNjg1ZDM3MWFkOTRkOTY2ZjI0Li41
ZGQwNjRlOTc2NzJjYjYyYmFlYjhlNTFiYjZmODczMGU3MTQ5MGRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UcmVlT3V0bGluZS5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UcmVlT3V0bGluZS5qcwpAQCAtMTgyLDYg
KzE4Miw5IEBAIFRyZWVPdXRsaW5lLnByb3RvdHlwZS5yZW1vdmVDaGlsZEF0SW5kZXggPSBmdW5j
dGlvbihjaGlsZEluZGV4LCBzdXBwcmVzc09uRGVzZWxlCiAgICAgY2hpbGQucGFyZW50ID0gbnVs
bDsKICAgICBjaGlsZC5uZXh0U2libGluZyA9IG51bGw7CiAgICAgY2hpbGQucHJldmlvdXNTaWJs
aW5nID0gbnVsbDsKKworICAgIGlmICh0aGlzLnRyZWVPdXRsaW5lICYmIHRoaXMudHJlZU91dGxp
bmUub25yZW1vdmUpCisgICAgICAgIHRoaXMudHJlZU91dGxpbmUub25yZW1vdmUoY2hpbGQpOwog
fQogCiBUcmVlT3V0bGluZS5wcm90b3R5cGUucmVtb3ZlQ2hpbGQgPSBmdW5jdGlvbihjaGlsZCwg
c3VwcHJlc3NPbkRlc2VsZWN0LCBzdXBwcmVzc1NlbGVjdFNpYmxpbmcpCkBAIC0xOTgsNiArMjAx
LDggQEAgVHJlZU91dGxpbmUucHJvdG90eXBlLnJlbW92ZUNoaWxkID0gZnVuY3Rpb24oY2hpbGQs
IHN1cHByZXNzT25EZXNlbGVjdCwgc3VwcHJlc3MKIAogVHJlZU91dGxpbmUucHJvdG90eXBlLnJl
bW92ZUNoaWxkcmVuID0gZnVuY3Rpb24oc3VwcHJlc3NPbkRlc2VsZWN0KQogeworICAgIHZhciB0
cmVlT3V0bGluZSA9IHRoaXMudHJlZU91dGxpbmU7CisKICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHRoaXMuY2hpbGRyZW4ubGVuZ3RoOyArK2kpIHsKICAgICAgICAgdmFyIGNoaWxkID0gdGhpcy5j
aGlsZHJlbltpXTsKICAgICAgICAgY2hpbGQuZGVzZWxlY3Qoc3VwcHJlc3NPbkRlc2VsZWN0KTsK
QEAgLTIxMiw2ICsyMTcsOSBAQCBUcmVlT3V0bGluZS5wcm90b3R5cGUucmVtb3ZlQ2hpbGRyZW4g
PSBmdW5jdGlvbihzdXBwcmVzc09uRGVzZWxlY3QpCiAgICAgICAgIGNoaWxkLnBhcmVudCA9IG51
bGw7CiAgICAgICAgIGNoaWxkLm5leHRTaWJsaW5nID0gbnVsbDsKICAgICAgICAgY2hpbGQucHJl
dmlvdXNTaWJsaW5nID0gbnVsbDsKKworICAgICAgICBpZiAodHJlZU91dGxpbmUgJiYgdHJlZU91
dGxpbmUub25yZW1vdmUpCisgICAgICAgICAgICB0cmVlT3V0bGluZS5vbnJlbW92ZShjaGlsZCk7
CiAgICAgfQogCiAgICAgdGhpcy5jaGlsZHJlbiA9IFtdOwpAQCAtMjIxLDYgKzIyOSw4IEBAIFRy
ZWVPdXRsaW5lLnByb3RvdHlwZS5yZW1vdmVDaGlsZHJlblJlY3Vyc2l2ZSA9IGZ1bmN0aW9uKHN1
cHByZXNzT25EZXNlbGVjdCkKIHsKICAgICB2YXIgY2hpbGRyZW5Ub1JlbW92ZSA9IHRoaXMuY2hp
bGRyZW47CiAKKyAgICB2YXIgdHJlZU91dGxpbmUgPSB0aGlzLnRyZWVPdXRsaW5lOworCiAgICAg
dmFyIGNoaWxkID0gdGhpcy5jaGlsZHJlblswXTsKICAgICB3aGlsZSAoY2hpbGQpIHsKICAgICAg
ICAgaWYgKGNoaWxkLmNoaWxkcmVuLmxlbmd0aCkKQEAgLTIzMSwxNCArMjQxLDE5IEBAIFRyZWVP
dXRsaW5lLnByb3RvdHlwZS5yZW1vdmVDaGlsZHJlblJlY3Vyc2l2ZSA9IGZ1bmN0aW9uKHN1cHBy
ZXNzT25EZXNlbGVjdCkKICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuVG9SZW1vdmUu
bGVuZ3RoOyArK2kpIHsKICAgICAgICAgY2hpbGQgPSBjaGlsZHJlblRvUmVtb3ZlW2ldOwogICAg
ICAgICBjaGlsZC5kZXNlbGVjdChzdXBwcmVzc09uRGVzZWxlY3QpOworCiAgICAgICAgIGlmIChj
aGlsZC50cmVlT3V0bGluZSkKICAgICAgICAgICAgIGNoaWxkLnRyZWVPdXRsaW5lLl9mb3JnZXRU
cmVlRWxlbWVudChjaGlsZCk7CisKICAgICAgICAgY2hpbGQuX2RldGFjaCgpOwogICAgICAgICBj
aGlsZC5jaGlsZHJlbiA9IFtdOwogICAgICAgICBjaGlsZC50cmVlT3V0bGluZSA9IG51bGw7CiAg
ICAgICAgIGNoaWxkLnBhcmVudCA9IG51bGw7CiAgICAgICAgIGNoaWxkLm5leHRTaWJsaW5nID0g
bnVsbDsKICAgICAgICAgY2hpbGQucHJldmlvdXNTaWJsaW5nID0gbnVsbDsKKworICAgICAgICBp
ZiAodHJlZU91dGxpbmUgJiYgdHJlZU91dGxpbmUub25yZW1vdmUpCisgICAgICAgICAgICB0cmVl
T3V0bGluZS5vbnJlbW92ZShjaGlsZCk7CiAgICAgfQogCiAgICAgdGhpcy5jaGlsZHJlbiA9IFtd
OwpAQCAtNjExLDYgKzYyNiw5IEBAIFRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAg
ICAgIGlmICh0aGlzLl9jaGlsZHJlbkxpc3ROb2RlKQogICAgICAgICAgICAgICAgIHRoaXMuX2No
aWxkcmVuTGlzdE5vZGUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik7CiAgICAgICAgIH0KKwor
ICAgICAgICBpZiAodGhpcy50cmVlT3V0bGluZSAmJiB0aGlzLnRyZWVPdXRsaW5lLm9uaGlkZGVu
KQorICAgICAgICAgICAgdGhpcy50cmVlT3V0bGluZS5vbmhpZGRlbih0aGlzLCB4KTsKICAgICB9
LAogCiAgICAgZ2V0IHNob3VsZFJlZnJlc2hDaGlsZHJlbigpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1RyZWVPdXRsaW5lRGF0YUdyaWRTeW5jaHJv
bml6ZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9UcmVlT3V0bGlu
ZURhdGFHcmlkU3luY2hyb25pemVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2MjNkYTM1YTNmYmVmZTY3MTVm
OTk5YzUyNzIxMWNlYmFjNWFhNTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9UcmVlT3V0bGluZURhdGFHcmlkU3luY2hyb25pemVyLmpzCkBA
IC0wLDAgKzEsMjA4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworV2ViSW5zcGVjdG9yLlRyZWVPdXRsaW5lRGF0
YUdyaWRTeW5jaHJvbml6ZXIgPSBmdW5jdGlvbih0cmVlT3V0bGluZSwgZGF0YUdyaWQpCit7Cisg
ICAgV2ViSW5zcGVjdG9yLk9iamVjdC5jYWxsKHRoaXMpOworCisgICAgdGhpcy5fdHJlZU91dGxp
bmUgPSB0cmVlT3V0bGluZTsKKyAgICB0aGlzLl9kYXRhR3JpZCA9IGRhdGFHcmlkOworCisgICAg
dGhpcy5fdHJlZU91dGxpbmUuZWxlbWVudC5wYXJlbnROb2RlLmFkZEV2ZW50TGlzdGVuZXIoInNj
cm9sbCIsIHRoaXMuX3RyZWVPdXRsaW5lU2Nyb2xsZWQuYmluZCh0aGlzKSk7CisgICAgdGhpcy5f
ZGF0YUdyaWQuc2Nyb2xsQ29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHRoaXMu
X2RhdGFHcmlkU2Nyb2xsZWQuYmluZCh0aGlzKSk7CisKKyAgICB0aGlzLl90cmVlT3V0bGluZS5f
X2RhdGFHcmlkTm9kZSA9IHRoaXMuX2RhdGFHcmlkOworCisgICAgdGhpcy5fZGF0YUdyaWQuYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRGF0YUdyaWQuRXZlbnQuRXhwYW5kZWROb2RlLCB0
aGlzLl9kYXRhR3JpZE5vZGVFeHBhbmRlZCwgdGhpcyk7CisgICAgdGhpcy5fZGF0YUdyaWQuYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRGF0YUdyaWQuRXZlbnQuQ29sbGFwc2VkTm9kZSwg
dGhpcy5fZGF0YUdyaWROb2RlQ29sbGFwc2VkLCB0aGlzKTsKKyAgICB0aGlzLl9kYXRhR3JpZC5h
ZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5FdmVudC5TZWxlY3RlZE5vZGVD
aGFuZ2VkLCB0aGlzLl9kYXRhR3JpZE5vZGVTZWxlY3RlZCwgdGhpcyk7CisKKyAgICAvLyBGSVhN
RTogVGhpcyBpcyBhIGhhY2suIFRyZWVPdXRsaW5lIHNob3VsZCBqdXN0IGRpc3BhdGNoIGV2ZW50
cyB2aWEgV2ViSW5zcGVjdG9yLk9iamVjdC4KKyAgICB2YXIgZXhpc3RpbmdPbkFkZCA9IHRyZWVP
dXRsaW5lLm9uYWRkOworICAgIHZhciBleGlzdGluZ09uUmVtb3ZlID0gdHJlZU91dGxpbmUub25y
ZW1vdmU7CisgICAgdmFyIGV4aXN0aW5nT25FeHBhbmQgPSB0cmVlT3V0bGluZS5vbmV4cGFuZDsK
KyAgICB2YXIgZXhpc3RpbmdPbkNvbGxhcHNlID0gdHJlZU91dGxpbmUub25jb2xsYXBzZTsKKyAg
ICB2YXIgZXhpc3RpbmdPbkhpZGRlbiA9IHRyZWVPdXRsaW5lLm9uaGlkZGVuOworICAgIHZhciBl
eGlzdGluZ09uU2VsZWN0ID0gdHJlZU91dGxpbmUub25zZWxlY3Q7CisKKyAgICB0cmVlT3V0bGlu
ZS5vbmFkZCA9IGZ1bmN0aW9uKGVsZW1lbnQpIHsKKyAgICAgICAgdGhpcy5fdHJlZUVsZW1lbnRB
ZGRlZChlbGVtZW50KTsKKyAgICAgICAgaWYgKGV4aXN0aW5nT25BZGQpCisgICAgICAgICAgICBl
eGlzdGluZ09uQWRkLmNhbGwodHJlZU91dGxpbmUsIGVsZW1lbnQpOworICAgIH0uYmluZCh0aGlz
KTsKKworICAgIHRyZWVPdXRsaW5lLm9ucmVtb3ZlID0gZnVuY3Rpb24oZWxlbWVudCkgeworICAg
ICAgICB0aGlzLl90cmVlRWxlbWVudFJlbW92ZWQoZWxlbWVudCk7CisgICAgICAgIGlmIChleGlz
dGluZ09uUmVtb3ZlKQorICAgICAgICAgICAgZXhpc3RpbmdPblJlbW92ZS5jYWxsKHRyZWVPdXRs
aW5lLCBlbGVtZW50KTsKKyAgICB9LmJpbmQodGhpcyk7CisKKyAgICB0cmVlT3V0bGluZS5vbmV4
cGFuZCA9IGZ1bmN0aW9uKGVsZW1lbnQpIHsKKyAgICAgICAgdGhpcy5fdHJlZUVsZW1lbnRFeHBh
bmRlZChlbGVtZW50KTsKKyAgICAgICAgaWYgKGV4aXN0aW5nT25FeHBhbmQpCisgICAgICAgICAg
ICBleGlzdGluZ09uRXhwYW5kLmNhbGwodHJlZU91dGxpbmUsIGVsZW1lbnQpOworICAgIH0uYmlu
ZCh0aGlzKTsKKworICAgIHRyZWVPdXRsaW5lLm9uY29sbGFwc2UgPSBmdW5jdGlvbihlbGVtZW50
KSB7CisgICAgICAgIHRoaXMuX3RyZWVFbGVtZW50Q29sbGFwc2VkKGVsZW1lbnQpOworICAgICAg
ICBpZiAoZXhpc3RpbmdPbkNvbGxhcHNlKQorICAgICAgICAgICAgZXhpc3RpbmdPbkNvbGxhcHNl
LmNhbGwodHJlZU91dGxpbmUsIGVsZW1lbnQpOworICAgIH0uYmluZCh0aGlzKTsKKworICAgIHRy
ZWVPdXRsaW5lLm9uaGlkZGVuID0gZnVuY3Rpb24oZWxlbWVudCwgaGlkZGVuKSB7CisgICAgICAg
IHRoaXMuX3RyZWVFbGVtZW50SGlkZGVuQ2hhbmdlZChlbGVtZW50LCBoaWRkZW4pOworICAgICAg
ICBpZiAoZXhpc3RpbmdPbkhpZGRlbikKKyAgICAgICAgICAgIGV4aXN0aW5nT25IaWRkZW4uY2Fs
bCh0cmVlT3V0bGluZSwgZWxlbWVudCwgaGlkZGVuKTsKKyAgICB9LmJpbmQodGhpcyk7CisKKyAg
ICB0cmVlT3V0bGluZS5vbnNlbGVjdCA9IGZ1bmN0aW9uKGVsZW1lbnQsIHNlbGVjdGVkQnlVc2Vy
KSB7CisgICAgICAgIHRoaXMuX3RyZWVFbGVtZW50U2VsZWN0ZWQoZWxlbWVudCwgc2VsZWN0ZWRC
eVVzZXIpOworICAgICAgICBpZiAoZXhpc3RpbmdPblNlbGVjdCkKKyAgICAgICAgICAgIGV4aXN0
aW5nT25TZWxlY3QuY2FsbCh0cmVlT3V0bGluZSwgZWxlbWVudCwgc2VsZWN0ZWRCeVVzZXIpOwor
ICAgIH0uYmluZCh0aGlzKTsKK30KKworV2ViSW5zcGVjdG9yLlRyZWVPdXRsaW5lRGF0YUdyaWRT
eW5jaHJvbml6ZXIucHJvdG90eXBlID0geworICAgIGNvbnN0cnVjdG9yOiBXZWJJbnNwZWN0b3Iu
VHJlZU91dGxpbmVEYXRhR3JpZFN5bmNocm9uaXplciwKKyAgICBfX3Byb3RvX186IFdlYkluc3Bl
Y3Rvci5PYmplY3QsCisKKyAgICAvLyBQdWJsaWMKKworICAgIGFzc29jaWF0ZTogZnVuY3Rpb24o
dHJlZUVsZW1lbnQsIGRhdGFHcmlkTm9kZSkKKyAgICB7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0
KHRyZWVFbGVtZW50KTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoZGF0YUdyaWROb2RlKTsKKwor
ICAgICAgICB0cmVlRWxlbWVudC5fX2RhdGFHcmlkTm9kZSA9IGRhdGFHcmlkTm9kZTsKKyAgICAg
ICAgZGF0YUdyaWROb2RlLl9fdHJlZUVsZW1lbnQgPSB0cmVlRWxlbWVudDsKKyAgICB9LAorCisg
ICAgc3luY2hyb25pemU6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuX2RhdGFHcmlk
LnNjcm9sbENvbnRhaW5lci5zY3JvbGxUb3AgPSB0aGlzLl90cmVlT3V0bGluZS5lbGVtZW50LnBh
cmVudE5vZGUuc2Nyb2xsVG9wOworICAgICAgICBpZiAodGhpcy5fdHJlZU91dGxpbmUuc2VsZWN0
ZWRUcmVlRWxlbWVudCkKKyAgICAgICAgICAgIHRoaXMuX3RyZWVPdXRsaW5lLnNlbGVjdGVkVHJl
ZUVsZW1lbnQuX19kYXRhR3JpZE5vZGUuc2VsZWN0KHRydWUpOworICAgICAgICBlbHNlIGlmICh0
aGlzLl9kYXRhR3JpZC5zZWxlY3RlZE5vZGUpCisgICAgICAgICAgICB0aGlzLl9kYXRhR3JpZC5z
ZWxlY3RlZE5vZGUuZGVzZWxlY3QodHJ1ZSk7CisgICAgfSwKKworICAgIC8vIFByaXZhdGUKKwor
ICAgIF90cmVlT3V0bGluZVNjcm9sbGVkOiBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAg
IHRoaXMuX2RhdGFHcmlkLnNjcm9sbENvbnRhaW5lci5zY3JvbGxUb3AgPSB0aGlzLl90cmVlT3V0
bGluZS5lbGVtZW50LnBhcmVudE5vZGUuc2Nyb2xsVG9wOworICAgIH0sCisKKyAgICBfZGF0YUdy
aWRTY3JvbGxlZDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICB0aGlzLl90cmVlT3V0
bGluZS5lbGVtZW50LnBhcmVudE5vZGUuc2Nyb2xsVG9wID0gdGhpcy5fZGF0YUdyaWQuc2Nyb2xs
Q29udGFpbmVyLnNjcm9sbFRvcDsKKyAgICB9LAorCisgICAgX2RhdGFHcmlkTm9kZVNlbGVjdGVk
OiBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIHZhciBkYXRhR3JpZE5vZGUgPSB0aGlz
Ll9kYXRhR3JpZC5zZWxlY3RlZE5vZGU7CisgICAgICAgIGlmIChkYXRhR3JpZE5vZGUpCisgICAg
ICAgICAgICBkYXRhR3JpZE5vZGUuX190cmVlRWxlbWVudC5zZWxlY3QodHJ1ZSwgdHJ1ZSwgdHJ1
ZSwgdHJ1ZSk7CisgICAgfSwKKworICAgIF9kYXRhR3JpZE5vZGVFeHBhbmRlZDogZnVuY3Rpb24o
ZXZlbnQpCisgICAgeworICAgICAgICB2YXIgZGF0YUdyaWROb2RlID0gZXZlbnQuZGF0YS5kYXRh
R3JpZE5vZGU7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGRhdGFHcmlkTm9kZSk7CisKKyAgICAg
ICAgaWYgKCFkYXRhR3JpZE5vZGUuX190cmVlRWxlbWVudC5leHBhbmRlZCkKKyAgICAgICAgICAg
IGRhdGFHcmlkTm9kZS5fX3RyZWVFbGVtZW50LmV4cGFuZCgpOworICAgIH0sCisKKyAgICBfZGF0
YUdyaWROb2RlQ29sbGFwc2VkOiBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIHZhciBk
YXRhR3JpZE5vZGUgPSBldmVudC5kYXRhLmRhdGFHcmlkTm9kZTsKKyAgICAgICAgY29uc29sZS5h
c3NlcnQoZGF0YUdyaWROb2RlKTsKKworICAgICAgICBpZiAoZGF0YUdyaWROb2RlLl9fdHJlZUVs
ZW1lbnQuZXhwYW5kZWQpCisgICAgICAgICAgICBkYXRhR3JpZE5vZGUuX190cmVlRWxlbWVudC5j
b2xsYXBzZSgpOworICAgIH0sCisKKyAgICBfdHJlZUVsZW1lbnRTZWxlY3RlZDogZnVuY3Rpb24o
dHJlZUVsZW1lbnQsIHNlbGVjdGVkQnlVc2VyKQorICAgIHsKKyAgICAgICAgdmFyIGRhdGFHcmlk
Tm9kZSA9IHRyZWVFbGVtZW50Ll9fZGF0YUdyaWROb2RlOworICAgICAgICBjb25zb2xlLmFzc2Vy
dChkYXRhR3JpZE5vZGUpOworCisgICAgICAgIGRhdGFHcmlkTm9kZS5zZWxlY3QodHJ1ZSk7Cisg
ICAgfSwKKworICAgIF90cmVlRWxlbWVudEFkZGVkOiBmdW5jdGlvbih0cmVlRWxlbWVudCkKKyAg
ICB7CisgICAgICAgIHZhciBkYXRhR3JpZE5vZGUgPSB0cmVlRWxlbWVudC5fX2RhdGFHcmlkTm9k
ZTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoZGF0YUdyaWROb2RlKTsKKworICAgICAgICB2YXIg
cGFyZW50RGF0YUdyaWROb2RlID0gdHJlZUVsZW1lbnQucGFyZW50Ll9fZGF0YUdyaWROb2RlOwor
ICAgICAgICBjb25zb2xlLmFzc2VydChkYXRhR3JpZE5vZGUpOworCisgICAgICAgIHZhciBjaGls
ZEluZGV4ID0gdHJlZUVsZW1lbnQucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodHJlZUVsZW1lbnQp
OworICAgICAgICBjb25zb2xlLmFzc2VydChjaGlsZEluZGV4ICE9PSAtMSk7CisKKyAgICAgICAg
cGFyZW50RGF0YUdyaWROb2RlLmluc2VydENoaWxkKGRhdGFHcmlkTm9kZSwgY2hpbGRJbmRleCk7
CisgICAgfSwKKworICAgIF90cmVlRWxlbWVudFJlbW92ZWQ6IGZ1bmN0aW9uKHRyZWVFbGVtZW50
KQorICAgIHsKKyAgICAgICAgdmFyIGRhdGFHcmlkTm9kZSA9IHRyZWVFbGVtZW50Ll9fZGF0YUdy
aWROb2RlOworICAgICAgICBjb25zb2xlLmFzc2VydChkYXRhR3JpZE5vZGUpOworCisgICAgICAg
IGRhdGFHcmlkTm9kZS5wYXJlbnQucmVtb3ZlQ2hpbGQoZGF0YUdyaWROb2RlKTsKKyAgICB9LAor
CisgICAgX3RyZWVFbGVtZW50RXhwYW5kZWQ6IGZ1bmN0aW9uKHRyZWVFbGVtZW50KQorICAgIHsK
KyAgICAgICAgdmFyIGRhdGFHcmlkTm9kZSA9IHRyZWVFbGVtZW50Ll9fZGF0YUdyaWROb2RlOwor
ICAgICAgICBjb25zb2xlLmFzc2VydChkYXRhR3JpZE5vZGUpOworCisgICAgICAgIGlmICghZGF0
YUdyaWROb2RlLmV4cGFuZGVkKQorICAgICAgICAgICAgZGF0YUdyaWROb2RlLmV4cGFuZCgpOwor
ICAgIH0sCisKKyAgICBfdHJlZUVsZW1lbnRDb2xsYXBzZWQ6IGZ1bmN0aW9uKHRyZWVFbGVtZW50
KQorICAgIHsKKyAgICAgICAgdmFyIGRhdGFHcmlkTm9kZSA9IHRyZWVFbGVtZW50Ll9fZGF0YUdy
aWROb2RlOworICAgICAgICBjb25zb2xlLmFzc2VydChkYXRhR3JpZE5vZGUpOworCisgICAgICAg
IGlmIChkYXRhR3JpZE5vZGUuZXhwYW5kZWQpCisgICAgICAgICAgICBkYXRhR3JpZE5vZGUuY29s
bGFwc2UoKTsKKyAgICB9LAorCisgICAgX3RyZWVFbGVtZW50SGlkZGVuQ2hhbmdlZDogZnVuY3Rp
b24odHJlZUVsZW1lbnQsIGhpZGRlbikKKyAgICB7CisgICAgICAgIHZhciBkYXRhR3JpZE5vZGUg
PSB0cmVlRWxlbWVudC5fX2RhdGFHcmlkTm9kZTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoZGF0
YUdyaWROb2RlKTsKKworICAgICAgICBpZiAoaGlkZGVuKQorICAgICAgICAgICAgZGF0YUdyaWRO
b2RlLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaGlkZGVuIik7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIGRhdGFHcmlkTm9kZS5lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoImhpZGRlbiIpOwor
ICAgIH0KK30KKworV2ViSW5zcGVjdG9yLlRyZWVPdXRsaW5lRGF0YUdyaWRTeW5jaHJvbml6ZXIu
cHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlOwo=
</data>
<flag name="review"
          id="240143"
          type_id="1"
          status="+"
          setter="joepeck"
    />
    <flag name="commit-queue"
          id="240144"
          type_id="3"
          status="-"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>