<?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>92143</bug_id>
          
          <creation_ts>2012-07-24 11:01:37 -0700</creation_ts>
          <short_desc>Web Inspector: simplify handling of status bar items</short_desc>
          <delta_ts>2012-07-26 10:56:06 -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 (Deprecated)</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>677029</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-07-24 11:01:37 -0700</bug_when>
    <thetext>This attempts to resolve a number of problems with current status bar items management, in particular:
- explicit handling of some panel/view items by generic code in Drawer and inspector.js (in particular, search counters and timeline panel counters)
- a lot of absolute positioned items in status bars, occasionally conflicting with each other and preventing usage of static flow to position other items
- &quot;anchored&quot; status bar items that used to include some icons on the left and counters on the right</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677040</commentid>
    <comment_count>1</comment_count>
      <attachid>154109</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-07-24 11:06:52 -0700</bug_when>
    <thetext>Created attachment 154109
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678157</commentid>
    <comment_count>2</comment_count>
      <attachid>154376</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-07-25 09:41:50 -0700</bug_when>
    <thetext>Created attachment 154376
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678171</commentid>
    <comment_count>3</comment_count>
      <attachid>154376</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-07-25 10:03:36 -0700</bug_when>
    <thetext>Comment on attachment 154376
Patch

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

&gt; Source/WebCore/inspector/front-end/inspector.html:235
&gt; +        &lt;div id=&quot;panel-status-bar-placeholder&quot; class=&quot;status-bar&quot;&gt;&lt;div id=&quot;panel-status-bar-resizer&quot;&gt;&lt;/div&gt;&lt;/div&gt;

panel-status-bar

&gt; Source/WebCore/inspector/front-end/inspector.html:239
&gt; +        &lt;div id=&quot;inner-status-bar&quot;&gt;

main-status-bar-inner

&gt; Source/WebCore/inspector/front-end/inspector.html:240
&gt; +            &lt;div id=&quot;panel-status-bar&quot;&gt;&lt;/div&gt;

panel-status-bar-items</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678212</commentid>
    <comment_count>4</comment_count>
      <attachid>154389</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-07-25 10:40:13 -0700</bug_when>
    <thetext>Created attachment 154389
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679226</commentid>
    <comment_count>5</comment_count>
      <attachid>154627</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-07-26 06:00:22 -0700</bug_when>
    <thetext>Created attachment 154627
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679265</commentid>
    <comment_count>6</comment_count>
      <attachid>154639</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-07-26 06:31:44 -0700</bug_when>
    <thetext>Created attachment 154639
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679267</commentid>
    <comment_count>7</comment_count>
      <attachid>154640</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-07-26 06:39:24 -0700</bug_when>
    <thetext>Created attachment 154640
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679362</commentid>
    <comment_count>8</comment_count>
      <attachid>154640</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-07-26 08:32:00 -0700</bug_when>
    <thetext>Comment on attachment 154640
Patch

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

&gt; Source/WebCore/inspector/front-end/inspector.html:238
&gt; +    &lt;div id=&quot;main-status-bar&quot; class=&quot;status-bar&quot;&gt;

Please move this into the JavaScript.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679516</commentid>
    <comment_count>9</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-07-26 10:56:06 -0700</bug_when>
    <thetext>Committed r123770: &lt;http://trac.webkit.org/changeset/123770&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154109</attachid>
            <date>2012-07-24 11:06:52 -0700</date>
            <delta_ts>2012-07-25 09:41:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92143-20120724220643.patch</filename>
            <type>text/plain</type>
            <size>26707</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNDYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmU3N2VkNGQxNWE4ZmM1
MzBhNDA2ZGFmZTU5NjVmNGZkODFkMDZjZC4uOTRiZWJhMTdlYWVhZTFjMDAwMTdmYmE4ZTE4Y2Q0
NDU5NGU3ODc4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDEyLTA3LTI0ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogc2ltcGxpZnkgaGFuZGxpbmcgb2Ygc3RhdHVzIGJhciBpdGVtcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIxNDMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIHNwbGl0IHN0YXR1cyBiYXJzIGludG8g
Imdsb2JhbCIgKGFsd2F5cyBpbiB0aGUgYm90dG9tKSBhbmQgInBhbmVsIiAKKyAgICAgICAgICAg
ICAgKG9uIHRvcCBvZiB0aGUgZHJhd2VyIHdoZW4gZHJhd2VyIGlzIHNob3duKQorICAgICAgICAt
IHVzZSAiaW5uZXIiIHN0YXR1cyBiYXIgc2VjdGlvbiBpbiBnbG9iYWwgc3RhdHVzIGJhciB0byBk
aXNwbGF5IGVpdGhlcgorICAgICAgICAgICAgICBwYW5lbCBzdGF0dXMgYmFyIGl0ZW1zIG9yIGRy
YXdlciB2aWV3IGl0ZW1zIChkZXBlbmRpbmcgb24gZHJhd2VyCisgICAgICAgICAgICAgIHZpc2li
aWxpdHkpCisgICAgICAgIC0gbGV0IHBhbmVscy92aWV3cyBtYW5hZ2UgdGhlaXIgY291bnRlcnMg
YXMgcGFydCBvZiB0aGVpciBzdGF0dXMgYmFyCisgICAgICAgICAgICAgIGl0ZW1zLCBub3QgdGhy
b3VnaCBzcGVjaWFsIGludGVyZmFjZSBtZW1iZXJzOworICAgICAgICAtIGdldCByaWQgb2YgYWJz
b2x1dGUgcG9zaXRpb25pbmcgaW4gdGhlIHN0YXR1cyBiYXJzIHdoZXJlIHBvc3NpYmxlOworCisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoVmlldy5wcm90b3R5cGUuZ2V0IHN0YXR1c0Jh
ckl0ZW1zKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5EcmF3ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRyYXdlci5w
cm90b3R5cGUuc2hvdy5hbmltYXRpb25GaW5pc2hlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RHJhd2VyLnByb3RvdHlwZS5zaG93KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EcmF3ZXIucHJv
dG90eXBlLmhpZGUuYW5pbWF0aW9uRmluaXNoZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRy
YXdlci5wcm90b3R5cGUuaGlkZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3Rv
dHlwZS5fc3RhcnRTdGF0dXNCYXJEcmFnZ2luZyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9QYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUud2Fz
U2hvd24pOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZS5nZXQgc3RhdHVz
QmFySXRlbXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBl
LndpbGxIaWRlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2VsZW1lbnRzUGFuZWwu
Y3NzOgorICAgICAgICAoLmNydW1icyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuY3NzOgorICAgICAgICAoYm9keS5kcmF3ZXItdmlzaWJsZSAjbWFpbi1wYW5lbHMp
OgorICAgICAgICAoLnN0YXR1cy1iYXIpOgorICAgICAgICAoLnN0YXR1cy1iYXItaXRlbSk6Cisg
ICAgICAgICgjcGFuZWwtc3RhdHVzLWJhci1wbGFjZWhvbGRlcik6CisgICAgICAgICgjcGFuZWwt
c3RhdHVzLWJhci1yZXNpemVyKToKKyAgICAgICAgKCNwYW5lbC1zdGF0dXMtYmFyKToKKyAgICAg
ICAgKCNwYW5lbC1zdGF0dXMtYmFyID4gZGl2KToKKyAgICAgICAgKCNlcnJvci13YXJuaW5nLWNv
dW50KToKKyAgICAgICAgKCNkcmF3ZXIpOgorICAgICAgICAoI2RyYXdlci1jb250ZW50cyk6Cisg
ICAgICAgICguc3RhdHVzLWJhci1pdGVtcyk6CisgICAgICAgICguZHJhd2VyLWhlYWRlcik6Cisg
ICAgICAgICgjaW5uZXItc3RhdHVzLWJhcik6CisgICAgICAgICguc2VhcmNoLXN0YXR1cy1iYXIt
aXRlbSk6CisgICAgICAgICguc2VhcmNoLXN0YXR1cy1iYXItbWVzc2FnZSk6CisgICAgICAgICgu
c2VhcmNoLXN0YXR1cy1iYXItcHJvZ3Jlc3MpOgorICAgICAgICAoYm9keTpub3QoLnBsYXRmb3Jt
LW1hYykgLnNlYXJjaC1zdGF0dXMtYmFyLXByb2dyZXNzKToKKyAgICAgICAgKGJvZHkucGxhdGZv
cm0tbWFjIC5zZWFyY2gtc3RhdHVzLWJhci1wcm9ncmVzcyk6CisgICAgICAgICguc2VhcmNoLXN0
YXR1cy1iYXItc3RvcC1idXR0b24taXRlbSk6CisgICAgICAgICguc2VhcmNoLXN0YXR1cy1iYXIt
c3RvcC1idXR0b24gLmdseXBoKToKKyAgICAgICAgKC5zZWFyY2gtcmVzdWx0cy1zdGF0dXMtYmFy
LW1lc3NhZ2UpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWw6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuX2NyZWF0ZUdsb2JhbFN0YXR1c0Jhckl0ZW1zKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5zaG93Vmlld0luRHJhd2VyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5fY2xvc2VQ
cmV2aW91c0RyYXdlclZpZXcpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvdGltZWxp
bmVQYW5lbC5jc3M6CisgICAgICAgICgudGltZWxpbmUtcmVjb3Jkcy1jb3VudGVyKToKKwogMjAx
Mi0wNy0yMyAgSGFucyBXZW5uYm9yZyAgPGhhbnNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFNw
ZWVjaCBKYXZhU2NyaXB0IEFQSTogQWRkIHRoZSBTcGVlY2hSZWNvZ25pdGlvblJlc3VsdC5lbW1h
IGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5qcwppbmRleCBiODJmNzc0ODViZjUw
NDM0ODU4OGY0NzJiMGJiMzk5NWI3ZDcwZTFhLi42OTYxNjI4MGY1ZWJiZWQxNmU4OWRjNjZmMTc1
OTVmOGJkMTk4ZmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0FkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5qcwpAQCAtMjM1LDE1ICsy
MzUsNyBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICovCiAg
ICAgZ2V0IHN0YXR1c0Jhckl0ZW1zKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBbdGhpcy5fc2Vh
cmNoU3RhdHVzQmFyRWxlbWVudF07Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIEByZXR1cm4g
e0VsZW1lbnR9Ci0gICAgICovCi0gICAgZ2V0IGNvdW50ZXJFbGVtZW50KCkKLSAgICB7Ci0gICAg
ICAgIHJldHVybiB0aGlzLl9zZWFyY2hSZXN1bHRzTWVzc2FnZUVsZW1lbnQ7CisgICAgICAgIHJl
dHVybiBbdGhpcy5fc2VhcmNoU3RhdHVzQmFyRWxlbWVudCwgdGhpcy5fc2VhcmNoUmVzdWx0c01l
c3NhZ2VFbGVtZW50XTsKICAgICB9LAogCiAgICAgLyoqCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvRHJhd2VyLmpzCmluZGV4IDJhNTZmY2EzODdkZTViYjVkZDQ2MDc3OTQ3
MDEwM2I3YWU0ZjkzNmMuLjU1OGZlYWRmZGFlNzc0YWI4NjhkMWQzNGQ5NzFiYjljMzY5ZjdhMmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRHJhd2VyLmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRHJhd2VyLmpzCkBAIC0z
NiwyMyArMzYsMjMgQEAgV2ViSW5zcGVjdG9yLkRyYXdlciA9IGZ1bmN0aW9uKCkKICAgICB0aGlz
Ll9zYXZlZEhlaWdodCA9IDIwMDsgLy8gRGVmYXVsdC4KICAgICB0aGlzLl9tYWluRWxlbWVudCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWluIik7CiAgICAgdGhpcy5fdG9vbGJhckVsZW1l
bnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidG9vbGJhciIpOwotICAgIHRoaXMuX21haW5T
dGF0dXNCYXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFpbi1zdGF0dXMtYmFyIik7Ci0g
ICAgV2ViSW5zcGVjdG9yLmluc3RhbGxEcmFnSGFuZGxlKHRoaXMuX21haW5TdGF0dXNCYXIsIHRo
aXMuX3N0YXJ0U3RhdHVzQmFyRHJhZ2dpbmcuYmluZCh0aGlzKSwgdGhpcy5fc3RhdHVzQmFyRHJh
Z2dpbmcuYmluZCh0aGlzKSwgdGhpcy5fZW5kU3RhdHVzQmFyRHJhZ2dpbmcuYmluZCh0aGlzKSwg
InJvdy1yZXNpemUiKTsKIAotICAgIHRoaXMuX2NvdW50ZXJzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvdW50ZXJzIik7CisgICAgdGhpcy5fcGFuZWxTdGF0dXNCYXIgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICB0aGlzLl9wYW5lbFN0YXR1c0Jhci5jbGFzc05hbWUg
PSAic3RhdHVzLWJhciI7CisgICAgdGhpcy5fcGFuZWxTdGF0dXNCYXIuaWQgPSAicGFuZWwtc3Rh
dHVzLWJhci1wbGFjZWhvbGRlciI7CisgICAgdGhpcy5fcGFuZWxTdGF0dXNCYXIuYWRkRXZlbnRM
aXN0ZW5lcigibW91c2Vkb3duIiwgdGhpcy5fc3RhcnRTdGF0dXNCYXJEcmFnZ2luZy5iaW5kKHRo
aXMpLCB0cnVlKTsKKyAgICB0aGlzLl9wYW5lbFN0YXR1c0Jhci5jcmVhdGVDaGlsZCgiZGl2Iiku
aWQgPSAicGFuZWwtc3RhdHVzLWJhci1yZXNpemVyIjsKKworICAgIHRoaXMuZWxlbWVudC5hcHBl
bmRDaGlsZCh0aGlzLl9wYW5lbFN0YXR1c0Jhcik7CisKKyAgICBXZWJJbnNwZWN0b3IuaW5zdGFs
bERyYWdIYW5kbGUodGhpcy5fcGFuZWxTdGF0dXNCYXIsIHRoaXMuX3N0YXJ0U3RhdHVzQmFyRHJh
Z2dpbmcuYmluZCh0aGlzKSwgdGhpcy5fc3RhdHVzQmFyRHJhZ2dpbmcuYmluZCh0aGlzKSwgdGhp
cy5fZW5kU3RhdHVzQmFyRHJhZ2dpbmcuYmluZCh0aGlzKSwgInJvdy1yZXNpemUiKTsKIAogICAg
IHRoaXMuX2RyYXdlckNvbnRlbnRzRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpOwogICAgIHRoaXMuX2RyYXdlckNvbnRlbnRzRWxlbWVudC5pZCA9ICJkcmF3ZXItY29udGVu
dHMiOwogICAgIHRoaXMuX2RyYXdlckNvbnRlbnRzRWxlbWVudC5jbGFzc05hbWUgPSAiZHJhd2Vy
LWNvbnRlbnRzIjsKICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fZHJhd2VyQ29u
dGVudHNFbGVtZW50KTsKLQotICAgIHRoaXMuX2RyYXdlclN0YXR1c0JhciA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgIHRoaXMuX2RyYXdlclN0YXR1c0Jhci5pZCA9ICJkcmF3
ZXItc3RhdHVzLWJhciI7Ci0gICAgdGhpcy5fZHJhd2VyU3RhdHVzQmFyLmNsYXNzTmFtZSA9ICJz
dGF0dXMtYmFyIjsKLSAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fZHJhd2VyU3Rh
dHVzQmFyKTsKLQogICAgIHRoaXMuX3ZpZXdTdGF0dXNCYXIgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKTsKLSAgICB0aGlzLl9kcmF3ZXJTdGF0dXNCYXIuYXBwZW5kQ2hpbGQodGhpcy5f
dmlld1N0YXR1c0Jhcik7CisgICAgdGhpcy5faW5uZXJTdGF0dXNCYXIgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiaW5uZXItc3RhdHVzLWJhciIpOwogfQogCiBXZWJJbnNwZWN0b3IuRHJhd2Vy
LkFuaW1hdGlvblR5cGUgPSB7CkBAIC03NSw4ICs3NSw2IEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIu
cHJvdG90eXBlID0gewogICAgIHNob3c6IGZ1bmN0aW9uKHZpZXcsIGFuaW1hdGlvblR5cGUpCiAg
ICAgewogICAgICAgICB0aGlzLmltbWVkaWF0ZWx5RmluaXNoQW5pbWF0aW9uKCk7Ci0gICAgICAg
IGlmICh0aGlzLl92aWV3ICYmIHRoaXMuX3ZpZXcuY291bnRlckVsZW1lbnQpCi0gICAgICAgICAg
ICB0aGlzLl92aWV3LmNvdW50ZXJFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5f
dmlldy5jb3VudGVyRWxlbWVudCk7CiAKICAgICAgICAgdmFyIGRyYXdlcldhc1Zpc2libGUgPSB0
aGlzLnZpc2libGU7CiAKQEAgLTkyLDQ0ICs5MCwyOSBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdGF0dXNCYXJJdGVtcy5s
ZW5ndGg7ICsraSkKICAgICAgICAgICAgIHRoaXMuX3ZpZXdTdGF0dXNCYXIuYXBwZW5kQ2hpbGQo
c3RhdHVzQmFySXRlbXNbaV0pOwogCi0gICAgICAgIGlmICh0aGlzLl92aWV3LmNvdW50ZXJFbGVt
ZW50KQotICAgICAgICAgICAgdGhpcy5fY291bnRlcnMuaW5zZXJ0QmVmb3JlKHRoaXMuX3ZpZXcu
Y291bnRlckVsZW1lbnQsIHRoaXMuX2NvdW50ZXJzLmZpcnN0Q2hpbGQpOwotCiAgICAgICAgIGRv
Y3VtZW50LmJvZHkuYWRkU3R5bGVDbGFzcygiZHJhd2VyLXZpc2libGUiKTsKKyAgICAgICAgdGhp
cy5fcGFuZWxTdGF0dXNCYXIuaW5zZXJ0QmVmb3JlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
YW5lbC1zdGF0dXMtYmFyIiksIHRoaXMuX3BhbmVsU3RhdHVzQmFyLmZpcnN0RWxlbWVudENoaWxk
KTsKKyAgICAgICAgdGhpcy5faW5uZXJTdGF0dXNCYXIuYXBwZW5kQ2hpbGQodGhpcy5fdmlld1N0
YXR1c0Jhcik7CiAgICAgICAgIHRoaXMuX3ZpZXcubWFya0FzUm9vdCgpOwogICAgICAgICB0aGlz
Ll92aWV3LnNob3codGhpcy5fZHJhd2VyQ29udGVudHNFbGVtZW50KTsKIAogICAgICAgICBpZiAo
ZHJhd2VyV2FzVmlzaWJsZSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgCi0gICAgICAg
IHZhciBhbmNob3JlZEl0ZW1zID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuY2hvcmVkLXN0
YXR1cy1iYXItaXRlbXMiKTsKICAgICAgICAgdmFyIGhlaWdodCA9IHRoaXMuX2NvbnN0cmFpbkhl
aWdodCh0aGlzLl9zYXZlZEhlaWdodCB8fCB0aGlzLmVsZW1lbnQub2Zmc2V0SGVpZ2h0KTsKICAg
ICAgICAgdmFyIGFuaW1hdGlvbnMgPSBbCiAgICAgICAgICAgICB7ZWxlbWVudDogdGhpcy5lbGVt
ZW50LCBlbmQ6IHtoZWlnaHQ6IGhlaWdodH19LAogICAgICAgICAgICAge2VsZW1lbnQ6IHRoaXMu
X21haW5FbGVtZW50LCBlbmQ6IHtib3R0b206IGhlaWdodH19LAotICAgICAgICAgICAge2VsZW1l
bnQ6IHRoaXMuX21haW5TdGF0dXNCYXIsIHN0YXJ0OiB7InBhZGRpbmctbGVmdCI6IGFuY2hvcmVk
SXRlbXMub2Zmc2V0V2lkdGggLSAxfSwgZW5kOiB7InBhZGRpbmctbGVmdCI6IDB9fSwKKyAgICAg
ICAgICAgIHtlbGVtZW50OiB0aGlzLl9wYW5lbFN0YXR1c0Jhciwgc3RhcnQ6IHsicGFkZGluZy1s
ZWZ0IjogdGhpcy5faW5uZXJTdGF0dXNCYXIub2Zmc2V0TGVmdH0sIGVuZDogeyJwYWRkaW5nLWxl
ZnQiOiAwfX0sCiAgICAgICAgICAgICB7ZWxlbWVudDogdGhpcy5fdmlld1N0YXR1c0Jhciwgc3Rh
cnQ6IHtvcGFjaXR5OiAwfSwgZW5kOiB7b3BhY2l0eTogMX19CiAgICAgICAgIF07CiAKLSAgICAg
ICAgdGhpcy5fZHJhd2VyU3RhdHVzQmFyLmluc2VydEJlZm9yZShhbmNob3JlZEl0ZW1zLCB0aGlz
Ll9kcmF3ZXJTdGF0dXNCYXIuZmlyc3RDaGlsZCk7Ci0KLSAgICAgICAgaWYgKHRoaXMuX2N1cnJl
bnRQYW5lbENvdW50ZXJzKSB7Ci0gICAgICAgICAgICB2YXIgb2xkUmlnaHQgPSB0aGlzLl9kcmF3
ZXJTdGF0dXNCYXIuY2xpZW50V2lkdGggLSAodGhpcy5fY291bnRlcnMub2Zmc2V0TGVmdCArIHRo
aXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzLm9mZnNldFdpZHRoKTsKLSAgICAgICAgICAgIHZhciBu
ZXdSaWdodCA9IFdlYkluc3BlY3Rvci5QYW5lbC5jb3VudGVyUmlnaHRNYXJnaW47Ci0gICAgICAg
ICAgICB2YXIgcmlnaHRQYWRkaW5nID0gKG9sZFJpZ2h0IC0gbmV3UmlnaHQpOwotICAgICAgICAg
ICAgYW5pbWF0aW9ucy5wdXNoKHtlbGVtZW50OiB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycywg
c3RhcnQ6IHsicGFkZGluZy1yaWdodCI6IHJpZ2h0UGFkZGluZ30sIGVuZDogeyJwYWRkaW5nLXJp
Z2h0IjogMH19KTsKLSAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzLnBhcmVu
dE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnMpOwotICAgICAgICAg
ICAgdGhpcy5fbWFpblN0YXR1c0Jhci5hcHBlbmRDaGlsZCh0aGlzLl9jdXJyZW50UGFuZWxDb3Vu
dGVycyk7Ci0gICAgICAgIH0KLSAgICAgICAgCiAgICAgICAgIGZ1bmN0aW9uIGFuaW1hdGlvbkZp
bmlzaGVkKCkKICAgICAgICAgewogICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZp
ZXcuY3VycmVudFBhbmVsKCkuZG9SZXNpemUoKTsKICAgICAgICAgICAgIGlmICh0aGlzLl92aWV3
ICYmIHRoaXMuX3ZpZXcuYWZ0ZXJTaG93KQogICAgICAgICAgICAgICAgIHRoaXMuX3ZpZXcuYWZ0
ZXJTaG93KCk7CiAgICAgICAgICAgICBkZWxldGUgdGhpcy5fY3VycmVudEFuaW1hdGlvbjsKLSAg
ICAgICAgICAgIGlmICh0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycykKLSAgICAgICAgICAgICAg
ICB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycy5yZW1vdmVBdHRyaWJ1dGUoInN0eWxlIik7CiAg
ICAgICAgIH0KIAogICAgICAgICB0aGlzLl9jdXJyZW50QW5pbWF0aW9uID0gV2ViSW5zcGVjdG9y
LmFuaW1hdGVTdHlsZShhbmltYXRpb25zLCB0aGlzLl9hbmltYXRpb25EdXJhdGlvbihhbmltYXRp
b25UeXBlKSwgYW5pbWF0aW9uRmluaXNoZWQuYmluZCh0aGlzKSk7CkBAIC0xNDcsNDUgKzEzMCwy
NyBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9IHsKIAogICAgICAgICBXZWJJbnNw
ZWN0b3IucmVzdG9yZUZvY3VzRnJvbUVsZW1lbnQodGhpcy5lbGVtZW50KTsKIAotICAgICAgICB2
YXIgYW5jaG9yZWRJdGVtcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmNob3JlZC1zdGF0
dXMtYmFyLWl0ZW1zIik7Ci0KICAgICAgICAgLy8gVGVtcG9yYXJpbHkgc2V0IHByb3BlcnRpZXMg
YW5kIGNsYXNzZXMgdG8gbWltaWMgdGhlIHBvc3QtYW5pbWF0aW9uIHZhbHVlcyBzbyBwYW5lbHMK
ICAgICAgICAgLy8gbGlrZSBFbGVtZW50cyBpbiB0aGVpciB1cGRhdGVTdGF0dXNCYXJJdGVtcyBj
YWxsIHdpbGwgc2l6ZSB0aGluZ3MgdG8gZml0IHRoZSBmaW5hbCBsb2NhdGlvbi4KLSAgICAgICAg
dGhpcy5fbWFpblN0YXR1c0Jhci5zdHlsZS5zZXRQcm9wZXJ0eSgicGFkZGluZy1sZWZ0IiwgKGFu
Y2hvcmVkSXRlbXMub2Zmc2V0V2lkdGggLSAxKSArICJweCIpOwogICAgICAgICBkb2N1bWVudC5i
b2R5LnJlbW92ZVN0eWxlQ2xhc3MoImRyYXdlci12aXNpYmxlIik7CiAgICAgICAgIFdlYkluc3Bl
Y3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpLnN0YXR1c0JhclJlc2l6ZWQoKTsKICAg
ICAgICAgZG9jdW1lbnQuYm9keS5hZGRTdHlsZUNsYXNzKCJkcmF3ZXItdmlzaWJsZSIpOwogCiAg
ICAgICAgIHZhciBhbmltYXRpb25zID0gWwogICAgICAgICAgICAge2VsZW1lbnQ6IHRoaXMuX21h
aW5FbGVtZW50LCBlbmQ6IHtib3R0b206IDB9fSwKLSAgICAgICAgICAgIHtlbGVtZW50OiB0aGlz
Ll9tYWluU3RhdHVzQmFyLCBzdGFydDogeyJwYWRkaW5nLWxlZnQiOiAwfSwgZW5kOiB7InBhZGRp
bmctbGVmdCI6IGFuY2hvcmVkSXRlbXMub2Zmc2V0V2lkdGggLSAxfX0sCisgICAgICAgICAgICB7
ZWxlbWVudDogdGhpcy5lbGVtZW50LCBlbmQ6IHtoZWlnaHQ6IDB9fSwKKyAgICAgICAgICAgIHtl
bGVtZW50OiB0aGlzLl9wYW5lbFN0YXR1c0Jhciwgc3RhcnQ6IHsicGFkZGluZy1sZWZ0IjogMH0s
IGVuZDogeyJwYWRkaW5nLWxlZnQiOiB0aGlzLl9pbm5lclN0YXR1c0Jhci5vZmZzZXRMZWZ0fSB9
LAogICAgICAgICAgICAge2VsZW1lbnQ6IHRoaXMuX3ZpZXdTdGF0dXNCYXIsIHN0YXJ0OiB7b3Bh
Y2l0eTogMX0sIGVuZDoge29wYWNpdHk6IDB9fQogICAgICAgICBdOwogCi0gICAgICAgIGlmICh0
aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycykgewotICAgICAgICAgICAgdmFyIG5ld1JpZ2h0ID0g
dGhpcy5fZHJhd2VyU3RhdHVzQmFyLmNsaWVudFdpZHRoIC0gdGhpcy5fY291bnRlcnMub2Zmc2V0
TGVmdDsKLSAgICAgICAgICAgIHZhciBvbGRSaWdodCA9IHRoaXMuX21haW5TdGF0dXNCYXIuY2xp
ZW50V2lkdGggLSAodGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnMub2Zmc2V0TGVmdCArIHRoaXMu
X2N1cnJlbnRQYW5lbENvdW50ZXJzLm9mZnNldFdpZHRoKTsKLSAgICAgICAgICAgIHZhciByaWdo
dFBhZGRpbmcgPSAobmV3UmlnaHQgLSBvbGRSaWdodCk7Ci0gICAgICAgICAgICBhbmltYXRpb25z
LnB1c2goe2VsZW1lbnQ6IHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzLCBzdGFydDogeyJwYWRk
aW5nLXJpZ2h0IjogMH0sIGVuZDogeyJwYWRkaW5nLXJpZ2h0IjogcmlnaHRQYWRkaW5nfX0pOwot
ICAgICAgICB9Ci0KICAgICAgICAgZnVuY3Rpb24gYW5pbWF0aW9uRmluaXNoZWQoKQogICAgICAg
ICB7CiAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJyZW50UGFuZWwo
KS5kb1Jlc2l6ZSgpOwotICAgICAgICAgICAgdGhpcy5fbWFpblN0YXR1c0Jhci5pbnNlcnRCZWZv
cmUoYW5jaG9yZWRJdGVtcywgdGhpcy5fbWFpblN0YXR1c0Jhci5maXJzdENoaWxkKTsKLSAgICAg
ICAgICAgIHRoaXMuX21haW5TdGF0dXNCYXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoInBhZGRpbmct
bGVmdCIpOwotCi0gICAgICAgICAgICBpZiAodGhpcy5fdmlldy5jb3VudGVyRWxlbWVudCkKLSAg
ICAgICAgICAgICAgICB0aGlzLl92aWV3LmNvdW50ZXJFbGVtZW50LnBhcmVudE5vZGUucmVtb3Zl
Q2hpbGQodGhpcy5fdmlldy5jb3VudGVyRWxlbWVudCk7Ci0KLSAgICAgICAgICAgIGlmICh0aGlz
Ll9jdXJyZW50UGFuZWxDb3VudGVycykgewotICAgICAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRQ
YW5lbENvdW50ZXJzLnNldEF0dHJpYnV0ZSgic3R5bGUiLCBudWxsKTsKLSAgICAgICAgICAgICAg
ICB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMu
X2N1cnJlbnRQYW5lbENvdW50ZXJzKTsKLSAgICAgICAgICAgICAgICB0aGlzLl9jb3VudGVycy5p
bnNlcnRCZWZvcmUodGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnMsIHRoaXMuX2NvdW50ZXJzLmZp
cnN0Q2hpbGQpOwotICAgICAgICAgICAgfQotCisgICAgICAgICAgICAKICAgICAgICAgICAgIHRo
aXMuX3ZpZXcuZGV0YWNoKCk7CiAgICAgICAgICAgICBkZWxldGUgdGhpcy5fdmlldzsKKyAgICAg
ICAgICAgIHRoaXMuX2lubmVyU3RhdHVzQmFyLnJlbW92ZUNoaWxkcmVuKCk7CisgICAgICAgICAg
ICB0aGlzLl9pbm5lclN0YXR1c0Jhci5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgicGFuZWwtc3RhdHVzLWJhciIpKTsKICAgICAgICAgICAgIHRoaXMuX2RyYXdlckNvbnRlbnRz
RWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOwogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1v
dmVTdHlsZUNsYXNzKCJkcmF3ZXItdmlzaWJsZSIpOwogICAgICAgICAgICAgZGVsZXRlIHRoaXMu
X2N1cnJlbnRBbmltYXRpb247CkBAIC0yMTQsMjIgKzE3OSw2IEBAIFdlYkluc3BlY3Rvci5EcmF3
ZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5fY3VycmVudEFuaW1hdGlvbi5mb3Jj
ZUNvbXBsZXRlKCk7CiAgICAgfSwKIAotICAgIHNldCBjdXJyZW50UGFuZWxDb3VudGVycyh4KQot
ICAgIHsKLSAgICAgICAgaWYgKCF4KSB7Ci0gICAgICAgICAgICBpZiAodGhpcy5fY3VycmVudFBh
bmVsQ291bnRlcnMpCi0gICAgICAgICAgICAgICAgdGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnMu
cGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycyk7Ci0g
ICAgICAgICAgICBkZWxldGUgdGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnM7Ci0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVy
cyA9IHg7Ci0gICAgICAgIGlmICh0aGlzLnZpc2libGUpCi0gICAgICAgICAgICB0aGlzLl9tYWlu
U3RhdHVzQmFyLmFwcGVuZENoaWxkKHgpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0aGlz
Ll9jb3VudGVycy5pbnNlcnRCZWZvcmUoeCwgdGhpcy5fY291bnRlcnMuZmlyc3RDaGlsZCk7Ci0g
ICAgfSwKLQogICAgIF9hbmltYXRpb25EdXJhdGlvbjogZnVuY3Rpb24oYW5pbWF0aW9uVHlwZSkK
ICAgICB7CiAgICAgICAgIHN3aXRjaCAoYW5pbWF0aW9uVHlwZSkgewpAQCAtMjQ3LDcgKzE5Niw3
IEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlID0gewogICAgICAqLwogICAgIF9zdGFy
dFN0YXR1c0JhckRyYWdnaW5nOiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIGlmICgh
dGhpcy52aXNpYmxlIHx8IGV2ZW50LnRhcmdldCAhPT0gdGhpcy5fbWFpblN0YXR1c0JhcikKKyAg
ICAgICAgaWYgKCF0aGlzLnZpc2libGUgfHwgZXZlbnQudGFyZ2V0ICE9PSB0aGlzLl9wYW5lbFN0
YXR1c0JhcikKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICB0aGlzLl92aWV3
LnN0b3JlU2Nyb2xsUG9zaXRpb25zKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9QYW5lbC5qcwppbmRleCA3ODkxYTBiNWY1ZWUxOTdiZjUzZDYwN2QzMTQ4Y2Y4MDRhOGVi
YjFmLi5mNjVmNWVhMzBmNzY5YzcxMWJhYzkyNDQxZmEwZjgxODY5OTVjNjE1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanMKQEAgLTczLDcgKzczLDcgQEAg
V2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMuX3N0YXR1
c0Jhckl0ZW1Db250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAg
ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RhdHVzQmFySXRlbXMubGVuZ3RoOyArK2kpCiAg
ICAgICAgICAgICAgICAgdGhpcy5fc3RhdHVzQmFySXRlbUNvbnRhaW5lci5hcHBlbmRDaGlsZChz
dGF0dXNCYXJJdGVtc1tpXSk7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
bWFpbi1zdGF0dXMtYmFyIikuYXBwZW5kQ2hpbGQodGhpcy5fc3RhdHVzQmFySXRlbUNvbnRhaW5l
cik7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFuZWwtc3RhdHVzLWJh
ciIpLmFwcGVuZENoaWxkKHRoaXMuX3N0YXR1c0Jhckl0ZW1Db250YWluZXIpOwogICAgICAgICB9
CiAKICAgICAgICAgaWYgKCJfdG9vbGJhckl0ZW0iIGluIHRoaXMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMKaW5kZXggZDdjYzlj
YjNlMDJjM2NmNzI0ODJmZWUwMGY3ZDg4ZmJmOWQ1Mzc0ZC4uZjlhN2Y4MWEwMmJkMDY0M2VkZmM5
ZjEzOGZmMjQ5MTc5MGU4MmU5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcwpAQCAtMjAyLDcgKzIwMiwxNCBAQCBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICBnZXQgc3RhdHVzQmFySXRl
bXMoKQogICAgIHsKLSAgICAgICAgdmFyIHN0YXR1c0Jhckl0ZW1zID0gWyB0aGlzLnRvZ2dsZUZp
bHRlckJ1dHRvbi5lbGVtZW50LCB0aGlzLnRvZ2dsZVRpbWVsaW5lQnV0dG9uLmVsZW1lbnQsIHRo
aXMuY2xlYXJCdXR0b24uZWxlbWVudCwgdGhpcy5nYXJiYWdlQ29sbGVjdEJ1dHRvbi5lbGVtZW50
LCB0aGlzLl9nbHVlUGFyZW50QnV0dG9uLmVsZW1lbnQsIHRoaXMuc3RhdHVzQmFyRmlsdGVycyBd
OworICAgICAgICB2YXIgc3RhdHVzQmFySXRlbXMgPSBbCisgICAgICAgICAgICB0aGlzLnRvZ2ds
ZUZpbHRlckJ1dHRvbi5lbGVtZW50LAorICAgICAgICAgICAgdGhpcy50b2dnbGVUaW1lbGluZUJ1
dHRvbi5lbGVtZW50LAorICAgICAgICAgICAgdGhpcy5jbGVhckJ1dHRvbi5lbGVtZW50LCB0aGlz
LmdhcmJhZ2VDb2xsZWN0QnV0dG9uLmVsZW1lbnQsCisgICAgICAgICAgICB0aGlzLl9nbHVlUGFy
ZW50QnV0dG9uLmVsZW1lbnQsCisgICAgICAgICAgICB0aGlzLnN0YXR1c0JhckZpbHRlcnMsCisg
ICAgICAgICAgICB0aGlzLnJlY29yZHNDb3VudGVyCisgICAgICAgIF07CiAKICAgICAgICAgcmV0
dXJuIHN0YXR1c0Jhckl0ZW1zOwogICAgIH0sCkBAIC01OTIsMTMgKzU5OSwxMSBAQCBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KICAgICAgICAgdGhp
cy5fb3ZlcnZpZXdQYW5lLnNldE1vZGUodGhpcy5fb3ZlcnZpZXdNb2RlU2V0dGluZy5nZXQoKSk7
CiAgICAgICAgIHRoaXMuX3JlZnJlc2goKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmRyYXdlci5j
dXJyZW50UGFuZWxDb3VudGVycyA9IHRoaXMucmVjb3Jkc0NvdW50ZXI7CiAgICAgfSwKIAogICAg
IHdpbGxIaWRlOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0aGlzLl9jbG9zZVJlY29yZERl
dGFpbHMoKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmRyYXdlci5jdXJyZW50UGFuZWxDb3VudGVy
cyA9IG51bGw7CiAgICAgICAgIFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUud2lsbEhpZGUu
Y2FsbCh0aGlzKTsKICAgICB9LAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2VsZW1lbnRzUGFuZWwuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9lbGVtZW50c1BhbmVsLmNzcwppbmRleCA2ODdhMWI4YjFlZDQ2Nzk2NGZiMDli
ZjdiMWVlOTU2NmVmMmMzMzU3Li4yN2JkM2Q4MTRmYjIxYzc1YmYzMzM4M2NiOGM5MjM1MzgwY2Y2
YzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2VsZW1l
bnRzUGFuZWwuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvZWxl
bWVudHNQYW5lbC5jc3MKQEAgLTYxLDYgKzYxLDggQEAKIAogLmNydW1icyB7CiAgICAgZGlzcGxh
eTogaW5saW5lLWJsb2NrOworICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOworICAgIGN1cnNvcjog
ZGVmYXVsdDsKICAgICBmb250LXNpemU6IDExcHg7CiAgICAgbGluZS1oZWlnaHQ6IDE5cHg7CiAg
ICAgdGV4dC1zaGFkb3c6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkgMCAxcHggMDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwppbmRleCBm
ZGViYmI5OTgxZWNiYWY2MGE5MWJlMWM4ODAxODVlZjg5ZjNjOWM5Li4xMTY5NTQ0YTNiNjU0OGY2
NmM0ZjYxZTU5OGQ2ZTAwNzk4NzNjNWE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCkBAIC01MDAsNiArNTAwLDEwIEBAIGJvZHkuY29t
cGFjdCAjbWFpbiB7CiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKIH0KIAorYm9keS5kcmF3ZXItdmlz
aWJsZSAjbWFpbi1wYW5lbHMgeworICAgIGJvdHRvbTogMHB4OworfQorCiAjbWFpbi1zdGF0dXMt
YmFyIHsKICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgYm90dG9tOiAwOwpAQCAtNTA3LDI3
ICs1MTEsNiBAQCBib2R5LmNvbXBhY3QgI21haW4gewogICAgIHJpZ2h0OiAwOwogfQogCi1ib2R5
LmRyYXdlci12aXNpYmxlICNtYWluLXN0YXR1cy1iYXIgewotICAgIGhlaWdodDogMjRweDsKLSAg
ICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiKDIwMiwgMjAyLCAyMDIpOwotICAgIGN1cnNv
cjogbnMtcmVzaXplOwotfQotCi1ib2R5LmRyYXdlci12aXNpYmxlICNtYWluLXN0YXR1cy1iYXI6
OmFmdGVyIHsKLSAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgcmlnaHQ6IDA7Ci0gICAgdG9w
OiA1cHg7Ci0gICAgY29udGVudDogdXJsKEltYWdlcy9zdGF0dXNiYXJSZXNpemVyVmVydGljYWwu
cG5nKTsKLX0KLQotYm9keS5kcmF3ZXItdmlzaWJsZSAjbWFpbi1zdGF0dXMtYmFyICogewotICAg
IGN1cnNvcjogZGVmYXVsdDsKLX0KLQotYm9keS5kcmF3ZXItdmlzaWJsZSAjbWFpbi1wYW5lbHMg
ewotICAgIGJvdHRvbTogMjRweDsKLX0KLQogLnN0YXR1cy1iYXIgewogICAgIHdoaXRlLXNwYWNl
OiBub3dyYXA7CiAgICAgaGVpZ2h0OiAyM3B4OwpAQCAtNTM1LDYgKzUxOCw3IEBAIGJvZHkuZHJh
d2VyLXZpc2libGUgI21haW4tcGFuZWxzIHsKICAgICB6LWluZGV4OiAxMjsKICAgICBiYWNrZ3Jv
dW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2IoMjUzLDI1MywyNTMpLCByZ2Io
MjMwLDIzMCwyMzApIDc1JSwgcmdiKDIzMCwyMzAsMjMwKSk7CiAgICAgYm9yZGVyLXRvcDogMXB4
IHNvbGlkIHJnYigyMDIsIDIwMiwgMjAyKTsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7CiB9
CiAKIC5zdGF0dXMtYmFyID4gZGl2IHsKQEAgLTU0NSw2ICs1MjksOCBAQCBib2R5LmRyYXdlci12
aXNpYmxlICNtYWluLXBhbmVscyB7CiAKIC5zdGF0dXMtYmFyLWl0ZW0gewogICAgIGRpc3BsYXk6
IGlubGluZS1ibG9jazsKKyAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKKyAgICBjdXJzb3I6IGRl
ZmF1bHQ7CiAgICAgaGVpZ2h0OiAyNHB4OwogICAgIHBhZGRpbmc6IDA7CiAgICAgbWFyZ2luLWxl
ZnQ6IC0xcHg7CkBAIC01NTQsNiArNTQwLDI5IEBAIGJvZHkuZHJhd2VyLXZpc2libGUgI21haW4t
cGFuZWxzIHsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKIH0KIAorI3BhbmVs
LXN0YXR1cy1iYXItcGxhY2Vob2xkZXIgeworICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBy
Z2IoMjAyLCAyMDIsIDIwMik7CisgICAgY3Vyc29yOiBucy1yZXNpemU7CisgICAgZGlzcGxheTog
LXdlYmtpdC1mbGV4OworICAgIGhlaWdodDogMjRweDsKK30KKworI3BhbmVsLXN0YXR1cy1iYXIt
cmVzaXplciB7CisgICAgY29udGVudDogdXJsKEltYWdlcy9zdGF0dXNiYXJSZXNpemVyVmVydGlj
YWwucG5nKTsKKyAgICBtYXJnaW4tdG9wOiA2cHg7CisgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7
Cit9CisKKyNwYW5lbC1zdGF0dXMtYmFyIHsKKyAgICAtd2Via2l0LWZsZXg6IDEgMDsKKyAgICBk
aXNwbGF5OiAtd2Via2l0LWZsZXg7CisgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cit9CisKKyNw
YW5lbC1zdGF0dXMtYmFyID4gZGl2IHsKKyAgICB3aWR0aDogMTAwJTsKK30KKwogLnN0YXR1cy1i
YXItaXRlbTphY3RpdmUgewogICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICB6LWluZGV4OiAy
MDA7CkBAIC02NzMsMTEgKzY4Miw2IEBAIGJ1dHRvbi5kb2NrLXN0YXR1cy1iYXItaXRlbS5zdGF0
dXMtYmFyLWl0ZW0udG9nZ2xlZC1yaWdodCAuZ2x5cGggewogICAgIGJhY2tncm91bmQtY29sb3I6
IHJnYmEoMCwgMCwgMCwgMC43NSk7CiB9CiAKLWJ1dHRvbi5zZXR0aW5ncy1zdGF0dXMtYmFyLWl0
ZW0gewotICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKLSAgICByaWdodDogMDsKLX0KLQogYm9keS5k
ZXRhY2hlZCAuYWx0ZXJuYXRlLXN0YXR1cy1iYXItYnV0dG9ucy1iYXIgewogICAgIG1hcmdpbi1s
ZWZ0OiAxcHg7CiB9CkBAIC03MTgsMTggKzcyMiwxMSBAQCBib2R5LnBvcnQtcXQgI2RvY2stc3Rh
dHVzLWJhci1pdGVtIHsKICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IC02NHB4IDA7CiB9CiAK
LSNjb3VudGVycyB7Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIHJpZ2h0OiAzMnB4Owot
ICAgIHRvcDogMDsKLSAgICBjdXJzb3I6IHBvaW50ZXI7CisjZXJyb3Itd2FybmluZy1jb3VudCB7
CiAgICAgcGFkZGluZzogNnB4IDJweCA2cHggMHB4OwogICAgIGZvbnQtc2l6ZTogMTBweDsKICAg
ICBoZWlnaHQ6IDE5cHg7Ci19Ci0KLSNlcnJvci13YXJuaW5nLWNvdW50IHsKLSAgICBkaXNwbGF5
OiBpbmxpbmU7CisgICAgY3Vyc29yOiBwb2ludGVyOwogfQogCiAjZXJyb3Itd2FybmluZy1jb3Vu
dDpob3ZlciB7CkBAIC03NjQsMTMgKzc2MSwxMSBAQCBib2R5LnBvcnQtcXQgI2RvY2stc3RhdHVz
LWJhci1pdGVtIHsKICAgICByaWdodDogMDsKICAgICBoZWlnaHQ6IDIwMHB4OwogICAgIGJhY2tn
cm91bmQtY29sb3I6IHdoaXRlOwotICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDsKLSAg
ICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207CiB9CiAKLWJvZHkuZHJhd2VyLXZpc2libGUg
I2RyYXdlci1jb250ZW50cyB7CisjZHJhd2VyLWNvbnRlbnRzIHsKICAgICBwb3NpdGlvbjogYWJz
b2x1dGU7Ci0gICAgdG9wOiAwOworICAgIHRvcDogMjRweDsKICAgICBib3R0b206IDI0cHg7CiAg
ICAgbGVmdDogMDsKICAgICByaWdodDogMDsKQEAgLTc4MCwxMyArNzc1LDYgQEAgYm9keS5kcmF3
ZXItdmlzaWJsZSAjZHJhd2VyIHsKICAgICBkaXNwbGF5OiBibG9jazsKIH0KIAotI2RyYXdlci1z
dGF0dXMtYmFyIHsKLSAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgYm90dG9tOiAwOwotICAg
IGxlZnQ6IDA7Ci0gICAgcmlnaHQ6IDA7Ci19Ci0KIGJvZHkucGxhdGZvcm0tbWFjIC5tb25vc3Bh
Y2UsIGJvZHkucGxhdGZvcm0tbWFjIC5zb3VyY2UtY29kZSB7CiAgICAgZm9udC1mYW1pbHk6IE1v
bmFjbywgbW9ub3NwYWNlOwogfQpAQCAtMjIzNSw3ICsyMjIzLDcgQEAgYm9keS5pbmFjdGl2ZSBs
aS5zZWxlY3RlZCAuYnViYmxlLnNlYXJjaC1tYXRjaGVzIHsKIC5zdGF0dXMtYmFyLWl0ZW1zIHsK
ICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgdG9wOiAwOwotICAgIGJvdHRvbTogMDsKKyAg
ICBoZWlnaHQ6IDI0cHg7CiAgICAgbGVmdDogMjAwcHg7CiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsK
ICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYigxODQsIDE4NCwgMTg0KTsKQEAgLTI1NDYs
NiArMjUzNCw3IEBAIGJvZHkucGxhdGZvcm0tbWFjIC5zZWFyY2gtZHJhd2VyLWhlYWRlciBpbnB1
dFt0eXBlPSJjaGVja2JveCJdLnNlYXJjaC1jb25maWctY2hlCiAgICAgYm9yZGVyLXJpZ2h0OiAx
cHggc29saWQgcmdiKDE5NywgMTk3LCAxOTcpOwogICAgIGxpbmUtaGVpZ2h0OiAyM3B4OwogICAg
IHBhZGRpbmctbGVmdDogNnB4OworICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKIH0KIAogLmRy
YXdlci1oZWFkZXItY2xvc2UtYnV0dG9uIHsKQEAgLTI1NjYsNDggKzI1NTUsNTUgQEAgYm9keS5w
bGF0Zm9ybS1tYWMgLnNlYXJjaC1kcmF3ZXItaGVhZGVyIGlucHV0W3R5cGU9ImNoZWNrYm94Il0u
c2VhcmNoLWNvbmZpZy1jaGUKICAgICBvcGFjaXR5OiAwLjc7CiB9CiAKLSNkcmF3ZXItc3RhdHVz
LWJhciAuc2VhcmNoLXN0YXR1cy1iYXItaXRlbSB7CisjaW5uZXItc3RhdHVzLWJhciB7CisgICAg
LXdlYmtpdC1mbGV4OiAxIDA7Cit9CisKKy5zZWFyY2gtc3RhdHVzLWJhci1pdGVtIHsKKyAgICBk
aXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgIGZvbnQtc2l6
ZTogMTFweDsKICAgICBoZWlnaHQ6IDIzcHg7CiB9CiAKLSNkcmF3ZXItc3RhdHVzLWJhciAuc2Vh
cmNoLXN0YXR1cy1iYXItbWVzc2FnZSB7Cisuc2VhcmNoLXN0YXR1cy1iYXItbWVzc2FnZSB7CiAg
ICAgbWFyZ2luLWxlZnQ6NXB4OwogICAgIG1hcmdpbi1yaWdodDo1cHg7Ci0gICAgbWFyZ2luLXRv
cDo2cHg7CisgICAgbWFyZ2luLXRvcDo1cHg7CiAgICAgZmxvYXQ6bGVmdDsKIH0KIAotI2RyYXdl
ci1zdGF0dXMtYmFyIC5zZWFyY2gtc3RhdHVzLWJhci1wcm9ncmVzcyB7Cisuc2VhcmNoLXN0YXR1
cy1iYXItcHJvZ3Jlc3MgewogICAgIGhlaWdodDogMTFweDsKICAgICB3aWR0aDogMTAwcHg7CiAg
ICAgZmxvYXQ6IGxlZnQ7CiB9CiAKLWJvZHk6bm90KC5wbGF0Zm9ybS1tYWMpICNkcmF3ZXItc3Rh
dHVzLWJhciAuc2VhcmNoLXN0YXR1cy1iYXItcHJvZ3Jlc3MgewotICAgIG1hcmdpbi10b3A6IDhw
eDsKK2JvZHk6bm90KC5wbGF0Zm9ybS1tYWMpIC5zZWFyY2gtc3RhdHVzLWJhci1wcm9ncmVzcyB7
CisgICAgbWFyZ2luLXRvcDogN3B4OwogfQogCi1ib2R5LnBsYXRmb3JtLW1hYyAjZHJhd2VyLXN0
YXR1cy1iYXIgLnNlYXJjaC1zdGF0dXMtYmFyLXByb2dyZXNzIHsKLSAgICBtYXJnaW4tdG9wOiA3
cHg7Citib2R5LnBsYXRmb3JtLW1hYyAuc2VhcmNoLXN0YXR1cy1iYXItcHJvZ3Jlc3MgeworICAg
IG1hcmdpbi10b3A6IDZweDsKIH0KIAotI2RyYXdlci1zdGF0dXMtYmFyIC5zZWFyY2gtc3RhdHVz
LWJhci1zdG9wLWJ1dHRvbi1pdGVtIHsKKy5zZWFyY2gtc3RhdHVzLWJhci1zdG9wLWJ1dHRvbi1p
dGVtIHsKICAgICB3aWR0aDogMTlweDsKICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgb3ZlcmZsb3c6
IGhpZGRlbjsKIH0KIAotI2RyYXdlci1zdGF0dXMtYmFyIC5zZWFyY2gtc3RhdHVzLWJhci1zdG9w
LWJ1dHRvbiAuZ2x5cGggeworLnNlYXJjaC1zdGF0dXMtYmFyLXN0b3AtYnV0dG9uIC5nbHlwaCB7
CiAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiAtOTZweCAtNDhweDsKICAgICBiYWNrZ3JvdW5k
LWNvbG9yOiByZ2IoMjE2LCAwLCAwKSAhaW1wb3J0YW50OwogfQogCi0jZHJhd2VyLXN0YXR1cy1i
YXIgLnNlYXJjaC1yZXN1bHRzLXN0YXR1cy1iYXItbWVzc2FnZSB7Cisuc2VhcmNoLXJlc3VsdHMt
c3RhdHVzLWJhci1tZXNzYWdlIHsKICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICAgY3Vyc29y
OiBkZWZhdWx0OwogICAgIGZvbnQtc2l6ZTogMTFweDsKKyAgICBmbG9hdDogcmlnaHQ7CisgICAg
bWFyZ2luLXRvcDogNXB4OwogfQogCiAuc2VhcmNoLXZpZXcgLnNlYXJjaC1yZXN1bHRzIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0
bWwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCmlu
ZGV4IDE1OTc5OGJhYWNhNjU2MmZjYjFiYWM1ZjY4YTAzNmE4ZWUzZDZjZWMuLjEyMzczZmM4YTkw
OGM2YjUzNzg5ZjIzY2UxM2IxYzFjYjU5OTc1ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbApAQCAtMjMxLDggKzIzMSwxMyBAQCBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgogICAgICAgICA8L2Rpdj4KICAgICA8L2Rpdj4KICAgICA8ZGl2IGlkPSJtYWluIj4K
LSAgICAgICAgPGRpdiBpZD0ibWFpbi1zdGF0dXMtYmFyIiBjbGFzcz0ic3RhdHVzLWJhciI+PGRp
diBpZD0iYW5jaG9yZWQtc3RhdHVzLWJhci1pdGVtcyI+PGRpdiBpZD0iY291bnRlcnMiPjxkaXYg
aWQ9ImVycm9yLXdhcm5pbmctY291bnQiIGNsYXNzPSJoaWRkZW4iPjwvZGl2PjwvZGl2PjwvZGl2
PjwvZGl2PgogICAgIDwvZGl2PgogICAgIDxkaXYgaWQ9ImRyYXdlciI+PC9kaXY+CisgICAgPGRp
diBpZD0ibWFpbi1zdGF0dXMtYmFyIiBjbGFzcz0ic3RhdHVzLWJhciI+CisgICAgICAgIDxkaXYg
aWQ9ImlubmVyLXN0YXR1cy1iYXIiPgorICAgICAgICAgICAgPGRpdiBpZD0icGFuZWwtc3RhdHVz
LWJhciI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJlcnJvci13YXJu
aW5nLWNvdW50IiBjbGFzcz0iaGlkZGVuIj48L2Rpdj4KKyAgICA8L2Rpdj4KIDwvYm9keT4KIDwv
aHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5z
cGVjdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
anMKaW5kZXggNmRiOTI4NjZhNTRiOWVmYTljMmIyNzhkYWZkYTI5NjZiYzYwZDFmYS4uMTM1ODI2
OTA3Y2IxZjMyMjdjODY5M2JmOWNlYTdiYWEzZjY0Mzc4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTcwLDIxICs3MCwyMiBAQCB2
YXIgV2ViSW5zcGVjdG9yID0gewogCiAgICAgX2NyZWF0ZUdsb2JhbFN0YXR1c0Jhckl0ZW1zOiBm
dW5jdGlvbigpCiAgICAgeworICAgICAgICB2YXIgaW5uZXJTdGF0dXNCYXIgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiaW5uZXItc3RhdHVzLWJhciIpOwogICAgICAgICB0aGlzLl9kb2NrVG9n
Z2xlQnV0dG9uID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0dXNCYXJCdXR0b24oIiIsICJkb2NrLXN0
YXR1cy1iYXItaXRlbSIsIDMpOwogICAgICAgICB0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLm1ha2VM
b25nQ2xpY2tFbmFibGVkKHRoaXMuX2NyZWF0ZURvY2tPcHRpb25zLmJpbmQodGhpcykpOwogICAg
ICAgICB0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhp
cy5fdG9nZ2xlQXR0YWNoLmJpbmQodGhpcyksIGZhbHNlKTsKICAgICAgICAgdGhpcy5fdXBkYXRl
RG9ja0J1dHRvblN0YXRlKCk7CiAKLSAgICAgICAgdmFyIGFuY2hvcmVkU3RhdHVzQmFyID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuY2hvcmVkLXN0YXR1cy1iYXItaXRlbXMiKTsKLSAgICAg
ICAgYW5jaG9yZWRTdGF0dXNCYXIuYXBwZW5kQ2hpbGQodGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbi5l
bGVtZW50KTsKKyAgICAgICAgdmFyIG1haW5TdGF0dXNCYXIgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgibWFpbi1zdGF0dXMtYmFyIik7CisgICAgICAgIG1haW5TdGF0dXNCYXIuaW5zZXJ0QmVm
b3JlKHRoaXMuX2RvY2tUb2dnbGVCdXR0b24uZWxlbWVudCwgaW5uZXJTdGF0dXNCYXIpOwogCiAg
ICAgICAgIHRoaXMuX3RvZ2dsZUNvbnNvbGVCdXR0b24gPSBuZXcgV2ViSW5zcGVjdG9yLlN0YXR1
c0JhckJ1dHRvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNob3cgY29uc29sZS4iKSwgImNvbnNv
bGUtc3RhdHVzLWJhci1pdGVtIik7CiAgICAgICAgIHRoaXMuX3RvZ2dsZUNvbnNvbGVCdXR0b24u
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl90b2dnbGVDb25zb2xlQnV0dG9uQ2xpY2tl
ZC5iaW5kKHRoaXMpLCBmYWxzZSk7Ci0gICAgICAgIGFuY2hvcmVkU3RhdHVzQmFyLmFwcGVuZENo
aWxkKHRoaXMuX3RvZ2dsZUNvbnNvbGVCdXR0b24uZWxlbWVudCk7CisgICAgICAgIG1haW5TdGF0
dXNCYXIuaW5zZXJ0QmVmb3JlKHRoaXMuX3RvZ2dsZUNvbnNvbGVCdXR0b24uZWxlbWVudCwgaW5u
ZXJTdGF0dXNCYXIpOwogCiAgICAgICAgIGlmICh0aGlzLnBhbmVscy5lbGVtZW50cykKLSAgICAg
ICAgICAgIGFuY2hvcmVkU3RhdHVzQmFyLmFwcGVuZENoaWxkKHRoaXMucGFuZWxzLmVsZW1lbnRz
Lm5vZGVTZWFyY2hCdXR0b24uZWxlbWVudCk7Ci0gICAgICAgIGFuY2hvcmVkU3RhdHVzQmFyLmFw
cGVuZENoaWxkKHRoaXMuc2V0dGluZ3NDb250cm9sbGVyLnN0YXR1c0Jhckl0ZW0pOworICAgICAg
ICAgICAgbWFpblN0YXR1c0Jhci5pbnNlcnRCZWZvcmUodGhpcy5wYW5lbHMuZWxlbWVudHMubm9k
ZVNlYXJjaEJ1dHRvbi5lbGVtZW50LCBpbm5lclN0YXR1c0Jhcik7CisgICAgICAgIG1haW5TdGF0
dXNCYXIuYXBwZW5kQ2hpbGQodGhpcy5zZXR0aW5nc0NvbnRyb2xsZXIuc3RhdHVzQmFySXRlbSk7
CiAgICAgfSwKIAogICAgIF9jcmVhdGVEb2NrT3B0aW9uczogZnVuY3Rpb24oKQpAQCAtMTgwLDIx
ICsxODEsMTYgQEAgdmFyIFdlYkluc3BlY3RvciA9IHsKICAgICAgICAgdGhpcy5fY2xvc2VQcmV2
aW91c0RyYXdlclZpZXcoKTsKIAogICAgICAgICB2YXIgZHJhd2VyU3RhdHVzQmFySGVhZGVyID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgICAgIGRyYXdlclN0YXR1c0Jhckhl
YWRlci5jbGFzc05hbWUgPSAiZHJhd2VyLWhlYWRlciI7CisgICAgICAgIGRyYXdlclN0YXR1c0Jh
ckhlYWRlci5jbGFzc05hbWUgPSAiZHJhd2VyLWhlYWRlciBzdGF0dXMtYmFyLWl0ZW0iOwogICAg
ICAgICBkcmF3ZXJTdGF0dXNCYXJIZWFkZXIuYXBwZW5kQ2hpbGQoc3RhdHVzQmFyRWxlbWVudCk7
CiAgICAgICAgIGRyYXdlclN0YXR1c0JhckhlYWRlci5vbmNsb3NlID0gb25jbG9zZTsKIAogICAg
ICAgICB2YXIgY2xvc2VCdXR0b24gPSBkcmF3ZXJTdGF0dXNCYXJIZWFkZXIuY3JlYXRlQ2hpbGQo
InNwYW4iKTsKICAgICAgICAgY2xvc2VCdXR0b24udGV4dENvbnRlbnQgPSBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIlx1MDBENyIpOwogICAgICAgICBjbG9zZUJ1dHRvbi5hZGRTdHlsZUNsYXNzKCJk
cmF3ZXItaGVhZGVyLWNsb3NlLWJ1dHRvbiIpOwotICAgICAgICBjbG9zZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIGNsb3NlQnV0dG9uUHJlc3NlZC5iaW5kKHRoaXMpLCBmYWxzZSk7
CisgICAgICAgIGNsb3NlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5jbG9z
ZVZpZXdJbkRyYXdlci5iaW5kKHRoaXMpLCBmYWxzZSk7CiAKLSAgICAgICAgZnVuY3Rpb24gY2xv
c2VCdXR0b25QcmVzc2VkKGV2ZW50KQotICAgICAgICB7Ci0gICAgICAgICAgICB0aGlzLmNsb3Nl
Vmlld0luRHJhd2VyKCk7Ci0gICAgICAgIH0KLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgibWFpbi1zdGF0dXMtYmFyIikuYXBwZW5kQ2hpbGQoZHJhd2VyU3RhdHVzQmFySGVhZGVy
KTsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhbmVsLXN0YXR1cy1iYXIiKS5m
aXJzdEVsZW1lbnRDaGlsZC5hcHBlbmRDaGlsZChkcmF3ZXJTdGF0dXNCYXJIZWFkZXIpOwogICAg
ICAgICB0aGlzLl9kcmF3ZXJTdGF0dXNCYXJIZWFkZXIgPSBkcmF3ZXJTdGF0dXNCYXJIZWFkZXI7
CiAgICAgICAgIHRoaXMuZHJhd2VyLnNob3codmlldywgV2ViSW5zcGVjdG9yLkRyYXdlci5Bbmlt
YXRpb25UeXBlLkltbWVkaWF0ZWx5KTsKICAgICB9LApAQCAtMjE1LDcgKzIxMSw3IEBAIHZhciBX
ZWJJbnNwZWN0b3IgPSB7CiAgICAgX2Nsb3NlUHJldmlvdXNEcmF3ZXJWaWV3OiBmdW5jdGlvbigp
CiAgICAgewogICAgICAgICBpZiAodGhpcy5fZHJhd2VyU3RhdHVzQmFySGVhZGVyKSB7Ci0gICAg
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFpbi1zdGF0dXMtYmFyIikucmVtb3Zl
Q2hpbGQodGhpcy5fZHJhd2VyU3RhdHVzQmFySGVhZGVyKTsKKyAgICAgICAgICAgIHRoaXMuX2Ry
YXdlclN0YXR1c0JhckhlYWRlci5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuX2RyYXdl
clN0YXR1c0JhckhlYWRlcik7CiAgICAgICAgICAgICBpZiAodGhpcy5fZHJhd2VyU3RhdHVzQmFy
SGVhZGVyLm9uY2xvc2UpCiAgICAgICAgICAgICAgICAgdGhpcy5fZHJhd2VyU3RhdHVzQmFySGVh
ZGVyLm9uY2xvc2UoKTsKICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9kcmF3ZXJTdGF0dXNCYXJI
ZWFkZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3Rp
bWVsaW5lUGFuZWwuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC90aW1l
bGluZVBhbmVsLmNzcwppbmRleCA2ZmY1NDJlYWUxMGQ5MzMyZTIzNjRlN2IyODE0YmZhZDY0MGFl
ZGQ5Li41NmM2M2VhNmNjNGZjOWQ4NTQzMTZjMTBlZjMxZDJlMDE3NWJjMDk0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RpbWVsaW5lUGFuZWwuY3NzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGltZWxpbmVQYW5lbC5jc3MK
QEAgLTQyMywxNSArNDIzLDEwIEBACiAgICAgdGV4dC1zaGFkb3c6IHdoaXRlIDAgMXB4IDA7CiB9
CiAKLSNtYWluLXN0YXR1cy1iYXIgPiAudGltZWxpbmUtcmVjb3Jkcy1jb3VudGVyIHsKKy50aW1l
bGluZS1yZWNvcmRzLWNvdW50ZXIgewogICAgIGZsb2F0OiByaWdodDsKLSAgICBtYXJnaW4tdG9w
OiA0cHg7Ci0gICAgbWFyZ2luLXJpZ2h0OiAyNXB4OwotfQotCi0jY291bnRlcnMgPiAudGltZWxp
bmUtcmVjb3Jkcy1jb3VudGVyIHsKLSAgICBmbG9hdDogbGVmdDsKLSAgICBtYXJnaW4tdG9wOiAt
MXB4OworICAgIG1hcmdpbi10b3A6IDVweDsKKyAgICBtYXJnaW4tcmlnaHQ6IDZweDsKIH0KIAog
I3Jlc291cmNlcy1jb250YWluZXItY29udGVudCB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154376</attachid>
            <date>2012-07-25 09:41:50 -0700</date>
            <delta_ts>2012-07-25 10:40:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92143-20120725204139.patch</filename>
            <type>text/plain</type>
            <size>26849</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzRhMTAzNjMzNzdhMzU3
ZTkzNTRlOGY3ZDNjNTZiZjAwZjVkMTI4Zi4uYTFkZGUzZGFmNjlmNzVjMTc4OWM1NjNkNTBkNDlj
NmNjMGQzOTExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDEyLTA3LTI1ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogc2ltcGxpZnkgaGFuZGxpbmcgb2Ygc3RhdHVzIGJhciBpdGVtcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIxNDMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIHNwbGl0IHN0YXR1cyBiYXJzIGludG8g
Imdsb2JhbCIgKGFsd2F5cyBpbiB0aGUgYm90dG9tKSBhbmQgInBhbmVsIiAKKyAgICAgICAgICAg
IChvbiB0b3Agb2YgdGhlIGRyYXdlciB3aGVuIGRyYXdlciBpcyBzaG93bikKKyAgICAgICAgLSB1
c2UgImlubmVyIiBzdGF0dXMgYmFyIHNlY3Rpb24gaW4gZ2xvYmFsIHN0YXR1cyBiYXIgdG8gZGlz
cGxheSBlaXRoZXIKKyAgICAgICAgICAgIHBhbmVsIHN0YXR1cyBiYXIgaXRlbXMgb3IgZHJhd2Vy
IHZpZXcgaXRlbXMgKGRlcGVuZGluZyBvbiBkcmF3ZXIgdmlzaWJpbGl0eSkKKyAgICAgICAgLSBs
ZXQgcGFuZWxzL3ZpZXdzIG1hbmFnZSB0aGVpciBjb3VudGVycyBhcyBwYXJ0IG9mIHRoZWlyIHN0
YXR1cyBiYXIKKyAgICAgICAgICAgIGl0ZW1zLCBub3QgdGhyb3VnaCBzcGVjaWFsIGludGVyZmFj
ZSBtZW1iZXJzOworICAgICAgICAtIGdldCByaWQgb2YgYWJzb2x1dGUgcG9zaXRpb25pbmcgaW4g
dGhlIHN0YXR1cyBiYXJzIHdoZXJlIHBvc3NpYmxlOyAgIAorCisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuU2VhcmNoVmlldy5wcm90b3R5cGUuZ2V0IHN0YXR1c0Jhckl0ZW1zKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5E
cmF3ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUuc2hvdy5hbmlt
YXRpb25GaW5pc2hlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5z
aG93KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlLmhpZGUuYW5pbWF0
aW9uRmluaXNoZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUuaGlk
ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5fc3RhcnRTdGF0dXNC
YXJEcmFnZ2luZyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbC5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUud2FzU2hvd24pOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZS5nZXQgc3RhdHVzQmFySXRlbXMpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlLndpbGxIaWRlKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2VsZW1lbnRzUGFuZWwuY3NzOgorICAgICAgICAoLmNy
dW1icyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzOgorICAg
ICAgICAoI21haW4pOgorICAgICAgICAoYm9keS5kcmF3ZXItdmlzaWJsZSAjbWFpbi1wYW5lbHMp
OgorICAgICAgICAoLnN0YXR1cy1iYXIpOgorICAgICAgICAoLnN0YXR1cy1iYXItaXRlbSk6Cisg
ICAgICAgICgjcGFuZWwtc3RhdHVzLWJhci1wbGFjZWhvbGRlcik6CisgICAgICAgIChib2R5LmRy
YXdlci12aXNpYmxlICNwYW5lbC1zdGF0dXMtYmFyLXBsYWNlaG9sZGVyKToKKyAgICAgICAgKCNw
YW5lbC1zdGF0dXMtYmFyLXJlc2l6ZXIpOgorICAgICAgICAoI3BhbmVsLXN0YXR1cy1iYXIpOgor
ICAgICAgICAoI3BhbmVsLXN0YXR1cy1iYXIgPiBkaXYpOgorICAgICAgICAoI2Vycm9yLXdhcm5p
bmctY291bnQpOgorICAgICAgICAoI2RyYXdlcik6CisgICAgICAgICgjZHJhd2VyLWNvbnRlbnRz
KToKKyAgICAgICAgKC5zdGF0dXMtYmFyLWl0ZW1zKToKKyAgICAgICAgKC5kcmF3ZXItaGVhZGVy
KToKKyAgICAgICAgKCNpbm5lci1zdGF0dXMtYmFyKToKKyAgICAgICAgKC5zZWFyY2gtc3RhdHVz
LWJhci1pdGVtKToKKyAgICAgICAgKC5zZWFyY2gtc3RhdHVzLWJhci1tZXNzYWdlKToKKyAgICAg
ICAgKC5zZWFyY2gtc3RhdHVzLWJhci1wcm9ncmVzcyk6CisgICAgICAgIChib2R5Om5vdCgucGxh
dGZvcm0tbWFjKSAuc2VhcmNoLXN0YXR1cy1iYXItcHJvZ3Jlc3MpOgorICAgICAgICAoYm9keS5w
bGF0Zm9ybS1tYWMgLnNlYXJjaC1zdGF0dXMtYmFyLXByb2dyZXNzKToKKyAgICAgICAgKC5zZWFy
Y2gtc3RhdHVzLWJhci1zdG9wLWJ1dHRvbi1pdGVtKToKKyAgICAgICAgKC5zZWFyY2gtc3RhdHVz
LWJhci1zdG9wLWJ1dHRvbiAuZ2x5cGgpOgorICAgICAgICAoLnNlYXJjaC1yZXN1bHRzLXN0YXR1
cy1iYXItbWVzc2FnZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
aHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5fY3JlYXRlR2xvYmFsU3RhdHVzQmFySXRlbXMpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLnNob3dWaWV3SW5EcmF3ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLl9j
bG9zZVByZXZpb3VzRHJhd2VyVmlldyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC90
aW1lbGluZVBhbmVsLmNzczoKKyAgICAgICAgKC50aW1lbGluZS1yZWNvcmRzLWNvdW50ZXIpOgor
CiAyMDEyLTA3LTI0ICBLd2FuZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CiAKICAg
ICAgICAgUmVtb3ZlIGFub255bW91cyBuYW1lc3BhY2UgYW5kIG1ha2UgZnVuY3Rpb25zIHN0YXRp
Yy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQWR2YW5j
ZWRTZWFyY2hDb250cm9sbGVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMKaW5kZXggYjgyZjc3NDg1YmY1MDQzNDg1ODhm
NDcyYjBiYjM5OTViN2Q3MGUxYS4uNjk2MTYyODBmNWViYmVkMTZlODlkYzY2ZjE3NTk1ZjhiZDE5
OGZmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BZHZh
bmNlZFNlYXJjaENvbnRyb2xsZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMKQEAgLTIzNSwxNSArMjM1LDcgQEAg
V2ViSW5zcGVjdG9yLlNlYXJjaFZpZXcucHJvdG90eXBlID0gewogICAgICAqLwogICAgIGdldCBz
dGF0dXNCYXJJdGVtcygpCiAgICAgewotICAgICAgICByZXR1cm4gW3RoaXMuX3NlYXJjaFN0YXR1
c0JhckVsZW1lbnRdOwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBAcmV0dXJuIHtFbGVtZW50
fQotICAgICAqLwotICAgIGdldCBjb3VudGVyRWxlbWVudCgpCi0gICAgewotICAgICAgICByZXR1
cm4gdGhpcy5fc2VhcmNoUmVzdWx0c01lc3NhZ2VFbGVtZW50OworICAgICAgICByZXR1cm4gW3Ro
aXMuX3NlYXJjaFN0YXR1c0JhckVsZW1lbnQsIHRoaXMuX3NlYXJjaFJlc3VsdHNNZXNzYWdlRWxl
bWVudF07CiAgICAgfSwKIAogICAgIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9EcmF3ZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RyYXdlci5qcwppbmRleCAyYTU2ZmNhMzg3ZGU1YmI1ZGQ0NjA3Nzk0NzAxMDNiN2Fl
NGY5MzZjLi4wYjVkZTE5ZGNkN2JiY2MyZGZhMTYzMzk5N2Y2OTBjM2I0MGE2N2JhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qcwpAQCAtMzYsMjMgKzM2
LDE2IEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fc2F2ZWRI
ZWlnaHQgPSAyMDA7IC8vIERlZmF1bHQuCiAgICAgdGhpcy5fbWFpbkVsZW1lbnQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgibWFpbiIpOwogICAgIHRoaXMuX3Rvb2xiYXJFbGVtZW50ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvb2xiYXIiKTsKLSAgICB0aGlzLl9tYWluU3RhdHVzQmFy
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1haW4tc3RhdHVzLWJhciIpOwotICAgIFdlYklu
c3BlY3Rvci5pbnN0YWxsRHJhZ0hhbmRsZSh0aGlzLl9tYWluU3RhdHVzQmFyLCB0aGlzLl9zdGFy
dFN0YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX3N0YXR1c0JhckRyYWdnaW5nLmJp
bmQodGhpcyksIHRoaXMuX2VuZFN0YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksICJyb3ctcmVz
aXplIik7CiAKLSAgICB0aGlzLl9jb3VudGVycyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3VudGVycyIpOworICAgIHRoaXMuX3BhbmVsU3RhdHVzQmFyID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInBhbmVsLXN0YXR1cy1iYXItcGxhY2Vob2xkZXIiKTsKKyAgICBXZWJJbnNwZWN0b3Iu
aW5zdGFsbERyYWdIYW5kbGUodGhpcy5fcGFuZWxTdGF0dXNCYXIsIHRoaXMuX3N0YXJ0U3RhdHVz
QmFyRHJhZ2dpbmcuYmluZCh0aGlzKSwgdGhpcy5fc3RhdHVzQmFyRHJhZ2dpbmcuYmluZCh0aGlz
KSwgdGhpcy5fZW5kU3RhdHVzQmFyRHJhZ2dpbmcuYmluZCh0aGlzKSwgInJvdy1yZXNpemUiKTsK
IAogICAgIHRoaXMuX2RyYXdlckNvbnRlbnRzRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpOwogICAgIHRoaXMuX2RyYXdlckNvbnRlbnRzRWxlbWVudC5pZCA9ICJkcmF3ZXIt
Y29udGVudHMiOwogICAgIHRoaXMuX2RyYXdlckNvbnRlbnRzRWxlbWVudC5jbGFzc05hbWUgPSAi
ZHJhd2VyLWNvbnRlbnRzIjsKICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fZHJh
d2VyQ29udGVudHNFbGVtZW50KTsKLQotICAgIHRoaXMuX2RyYXdlclN0YXR1c0JhciA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgIHRoaXMuX2RyYXdlclN0YXR1c0Jhci5pZCA9
ICJkcmF3ZXItc3RhdHVzLWJhciI7Ci0gICAgdGhpcy5fZHJhd2VyU3RhdHVzQmFyLmNsYXNzTmFt
ZSA9ICJzdGF0dXMtYmFyIjsKLSAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fZHJh
d2VyU3RhdHVzQmFyKTsKLQogICAgIHRoaXMuX3ZpZXdTdGF0dXNCYXIgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJkaXYiKTsKLSAgICB0aGlzLl9kcmF3ZXJTdGF0dXNCYXIuYXBwZW5kQ2hpbGQo
dGhpcy5fdmlld1N0YXR1c0Jhcik7CisgICAgdGhpcy5faW5uZXJTdGF0dXNCYXIgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiaW5uZXItc3RhdHVzLWJhciIpOwogfQogCiBXZWJJbnNwZWN0b3Iu
RHJhd2VyLkFuaW1hdGlvblR5cGUgPSB7CkBAIC03NSw4ICs2OCw2IEBAIFdlYkluc3BlY3Rvci5E
cmF3ZXIucHJvdG90eXBlID0gewogICAgIHNob3c6IGZ1bmN0aW9uKHZpZXcsIGFuaW1hdGlvblR5
cGUpCiAgICAgewogICAgICAgICB0aGlzLmltbWVkaWF0ZWx5RmluaXNoQW5pbWF0aW9uKCk7Ci0g
ICAgICAgIGlmICh0aGlzLl92aWV3ICYmIHRoaXMuX3ZpZXcuY291bnRlckVsZW1lbnQpCi0gICAg
ICAgICAgICB0aGlzLl92aWV3LmNvdW50ZXJFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQo
dGhpcy5fdmlldy5jb3VudGVyRWxlbWVudCk7CiAKICAgICAgICAgdmFyIGRyYXdlcldhc1Zpc2li
bGUgPSB0aGlzLnZpc2libGU7CiAKQEAgLTkyLDQ0ICs4MywyOSBAQCBXZWJJbnNwZWN0b3IuRHJh
d2VyLnByb3RvdHlwZSA9IHsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdGF0dXNCYXJJ
dGVtcy5sZW5ndGg7ICsraSkKICAgICAgICAgICAgIHRoaXMuX3ZpZXdTdGF0dXNCYXIuYXBwZW5k
Q2hpbGQoc3RhdHVzQmFySXRlbXNbaV0pOwogCi0gICAgICAgIGlmICh0aGlzLl92aWV3LmNvdW50
ZXJFbGVtZW50KQotICAgICAgICAgICAgdGhpcy5fY291bnRlcnMuaW5zZXJ0QmVmb3JlKHRoaXMu
X3ZpZXcuY291bnRlckVsZW1lbnQsIHRoaXMuX2NvdW50ZXJzLmZpcnN0Q2hpbGQpOwotCiAgICAg
ICAgIGRvY3VtZW50LmJvZHkuYWRkU3R5bGVDbGFzcygiZHJhd2VyLXZpc2libGUiKTsKKyAgICAg
ICAgdGhpcy5fcGFuZWxTdGF0dXNCYXIuaW5zZXJ0QmVmb3JlKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJwYW5lbC1zdGF0dXMtYmFyIiksIHRoaXMuX3BhbmVsU3RhdHVzQmFyLmZpcnN0RWxlbWVu
dENoaWxkKTsKKyAgICAgICAgdGhpcy5faW5uZXJTdGF0dXNCYXIuYXBwZW5kQ2hpbGQodGhpcy5f
dmlld1N0YXR1c0Jhcik7CiAgICAgICAgIHRoaXMuX3ZpZXcubWFya0FzUm9vdCgpOwogICAgICAg
ICB0aGlzLl92aWV3LnNob3codGhpcy5fZHJhd2VyQ29udGVudHNFbGVtZW50KTsKIAogICAgICAg
ICBpZiAoZHJhd2VyV2FzVmlzaWJsZSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgCi0g
ICAgICAgIHZhciBhbmNob3JlZEl0ZW1zID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuY2hv
cmVkLXN0YXR1cy1iYXItaXRlbXMiKTsKICAgICAgICAgdmFyIGhlaWdodCA9IHRoaXMuX2NvbnN0
cmFpbkhlaWdodCh0aGlzLl9zYXZlZEhlaWdodCB8fCB0aGlzLmVsZW1lbnQub2Zmc2V0SGVpZ2h0
KTsKICAgICAgICAgdmFyIGFuaW1hdGlvbnMgPSBbCiAgICAgICAgICAgICB7ZWxlbWVudDogdGhp
cy5lbGVtZW50LCBlbmQ6IHtoZWlnaHQ6IGhlaWdodH19LAogICAgICAgICAgICAge2VsZW1lbnQ6
IHRoaXMuX21haW5FbGVtZW50LCBlbmQ6IHtib3R0b206IGhlaWdodH19LAotICAgICAgICAgICAg
e2VsZW1lbnQ6IHRoaXMuX21haW5TdGF0dXNCYXIsIHN0YXJ0OiB7InBhZGRpbmctbGVmdCI6IGFu
Y2hvcmVkSXRlbXMub2Zmc2V0V2lkdGggLSAxfSwgZW5kOiB7InBhZGRpbmctbGVmdCI6IDB9fSwK
KyAgICAgICAgICAgIHtlbGVtZW50OiB0aGlzLl9wYW5lbFN0YXR1c0Jhciwgc3RhcnQ6IHsicGFk
ZGluZy1sZWZ0IjogdGhpcy5faW5uZXJTdGF0dXNCYXIub2Zmc2V0TGVmdH0sIGVuZDogeyJwYWRk
aW5nLWxlZnQiOiAwfX0sCiAgICAgICAgICAgICB7ZWxlbWVudDogdGhpcy5fdmlld1N0YXR1c0Jh
ciwgc3RhcnQ6IHtvcGFjaXR5OiAwfSwgZW5kOiB7b3BhY2l0eTogMX19CiAgICAgICAgIF07CiAK
LSAgICAgICAgdGhpcy5fZHJhd2VyU3RhdHVzQmFyLmluc2VydEJlZm9yZShhbmNob3JlZEl0ZW1z
LCB0aGlzLl9kcmF3ZXJTdGF0dXNCYXIuZmlyc3RDaGlsZCk7Ci0KLSAgICAgICAgaWYgKHRoaXMu
X2N1cnJlbnRQYW5lbENvdW50ZXJzKSB7Ci0gICAgICAgICAgICB2YXIgb2xkUmlnaHQgPSB0aGlz
Ll9kcmF3ZXJTdGF0dXNCYXIuY2xpZW50V2lkdGggLSAodGhpcy5fY291bnRlcnMub2Zmc2V0TGVm
dCArIHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzLm9mZnNldFdpZHRoKTsKLSAgICAgICAgICAg
IHZhciBuZXdSaWdodCA9IFdlYkluc3BlY3Rvci5QYW5lbC5jb3VudGVyUmlnaHRNYXJnaW47Ci0g
ICAgICAgICAgICB2YXIgcmlnaHRQYWRkaW5nID0gKG9sZFJpZ2h0IC0gbmV3UmlnaHQpOwotICAg
ICAgICAgICAgYW5pbWF0aW9ucy5wdXNoKHtlbGVtZW50OiB0aGlzLl9jdXJyZW50UGFuZWxDb3Vu
dGVycywgc3RhcnQ6IHsicGFkZGluZy1yaWdodCI6IHJpZ2h0UGFkZGluZ30sIGVuZDogeyJwYWRk
aW5nLXJpZ2h0IjogMH19KTsKLSAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJz
LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnMpOwotICAg
ICAgICAgICAgdGhpcy5fbWFpblN0YXR1c0Jhci5hcHBlbmRDaGlsZCh0aGlzLl9jdXJyZW50UGFu
ZWxDb3VudGVycyk7Ci0gICAgICAgIH0KLSAgICAgICAgCiAgICAgICAgIGZ1bmN0aW9uIGFuaW1h
dGlvbkZpbmlzaGVkKCkKICAgICAgICAgewogICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmluc3Bl
Y3RvclZpZXcuY3VycmVudFBhbmVsKCkuZG9SZXNpemUoKTsKICAgICAgICAgICAgIGlmICh0aGlz
Ll92aWV3ICYmIHRoaXMuX3ZpZXcuYWZ0ZXJTaG93KQogICAgICAgICAgICAgICAgIHRoaXMuX3Zp
ZXcuYWZ0ZXJTaG93KCk7CiAgICAgICAgICAgICBkZWxldGUgdGhpcy5fY3VycmVudEFuaW1hdGlv
bjsKLSAgICAgICAgICAgIGlmICh0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycykKLSAgICAgICAg
ICAgICAgICB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycy5yZW1vdmVBdHRyaWJ1dGUoInN0eWxl
Iik7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9jdXJyZW50QW5pbWF0aW9uID0gV2ViSW5z
cGVjdG9yLmFuaW1hdGVTdHlsZShhbmltYXRpb25zLCB0aGlzLl9hbmltYXRpb25EdXJhdGlvbihh
bmltYXRpb25UeXBlKSwgYW5pbWF0aW9uRmluaXNoZWQuYmluZCh0aGlzKSk7CkBAIC0xNDcsNDUg
KzEyMywyNyBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9IHsKIAogICAgICAgICBX
ZWJJbnNwZWN0b3IucmVzdG9yZUZvY3VzRnJvbUVsZW1lbnQodGhpcy5lbGVtZW50KTsKIAotICAg
ICAgICB2YXIgYW5jaG9yZWRJdGVtcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmNob3Jl
ZC1zdGF0dXMtYmFyLWl0ZW1zIik7Ci0KICAgICAgICAgLy8gVGVtcG9yYXJpbHkgc2V0IHByb3Bl
cnRpZXMgYW5kIGNsYXNzZXMgdG8gbWltaWMgdGhlIHBvc3QtYW5pbWF0aW9uIHZhbHVlcyBzbyBw
YW5lbHMKICAgICAgICAgLy8gbGlrZSBFbGVtZW50cyBpbiB0aGVpciB1cGRhdGVTdGF0dXNCYXJJ
dGVtcyBjYWxsIHdpbGwgc2l6ZSB0aGluZ3MgdG8gZml0IHRoZSBmaW5hbCBsb2NhdGlvbi4KLSAg
ICAgICAgdGhpcy5fbWFpblN0YXR1c0Jhci5zdHlsZS5zZXRQcm9wZXJ0eSgicGFkZGluZy1sZWZ0
IiwgKGFuY2hvcmVkSXRlbXMub2Zmc2V0V2lkdGggLSAxKSArICJweCIpOwogICAgICAgICBkb2N1
bWVudC5ib2R5LnJlbW92ZVN0eWxlQ2xhc3MoImRyYXdlci12aXNpYmxlIik7CiAgICAgICAgIFdl
Ykluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpLnN0YXR1c0JhclJlc2l6ZWQo
KTsKICAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRTdHlsZUNsYXNzKCJkcmF3ZXItdmlzaWJsZSIp
OwogCiAgICAgICAgIHZhciBhbmltYXRpb25zID0gWwogICAgICAgICAgICAge2VsZW1lbnQ6IHRo
aXMuX21haW5FbGVtZW50LCBlbmQ6IHtib3R0b206IDB9fSwKLSAgICAgICAgICAgIHtlbGVtZW50
OiB0aGlzLl9tYWluU3RhdHVzQmFyLCBzdGFydDogeyJwYWRkaW5nLWxlZnQiOiAwfSwgZW5kOiB7
InBhZGRpbmctbGVmdCI6IGFuY2hvcmVkSXRlbXMub2Zmc2V0V2lkdGggLSAxfX0sCisgICAgICAg
ICAgICB7ZWxlbWVudDogdGhpcy5lbGVtZW50LCBlbmQ6IHtoZWlnaHQ6IDB9fSwKKyAgICAgICAg
ICAgIHtlbGVtZW50OiB0aGlzLl9wYW5lbFN0YXR1c0Jhciwgc3RhcnQ6IHsicGFkZGluZy1sZWZ0
IjogMH0sIGVuZDogeyJwYWRkaW5nLWxlZnQiOiB0aGlzLl9pbm5lclN0YXR1c0Jhci5vZmZzZXRM
ZWZ0fSB9LAogICAgICAgICAgICAge2VsZW1lbnQ6IHRoaXMuX3ZpZXdTdGF0dXNCYXIsIHN0YXJ0
OiB7b3BhY2l0eTogMX0sIGVuZDoge29wYWNpdHk6IDB9fQogICAgICAgICBdOwogCi0gICAgICAg
IGlmICh0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycykgewotICAgICAgICAgICAgdmFyIG5ld1Jp
Z2h0ID0gdGhpcy5fZHJhd2VyU3RhdHVzQmFyLmNsaWVudFdpZHRoIC0gdGhpcy5fY291bnRlcnMu
b2Zmc2V0TGVmdDsKLSAgICAgICAgICAgIHZhciBvbGRSaWdodCA9IHRoaXMuX21haW5TdGF0dXNC
YXIuY2xpZW50V2lkdGggLSAodGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnMub2Zmc2V0TGVmdCAr
IHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzLm9mZnNldFdpZHRoKTsKLSAgICAgICAgICAgIHZh
ciByaWdodFBhZGRpbmcgPSAobmV3UmlnaHQgLSBvbGRSaWdodCk7Ci0gICAgICAgICAgICBhbmlt
YXRpb25zLnB1c2goe2VsZW1lbnQ6IHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzLCBzdGFydDog
eyJwYWRkaW5nLXJpZ2h0IjogMH0sIGVuZDogeyJwYWRkaW5nLXJpZ2h0IjogcmlnaHRQYWRkaW5n
fX0pOwotICAgICAgICB9Ci0KICAgICAgICAgZnVuY3Rpb24gYW5pbWF0aW9uRmluaXNoZWQoKQog
ICAgICAgICB7CiAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJyZW50
UGFuZWwoKS5kb1Jlc2l6ZSgpOwotICAgICAgICAgICAgdGhpcy5fbWFpblN0YXR1c0Jhci5pbnNl
cnRCZWZvcmUoYW5jaG9yZWRJdGVtcywgdGhpcy5fbWFpblN0YXR1c0Jhci5maXJzdENoaWxkKTsK
LSAgICAgICAgICAgIHRoaXMuX21haW5TdGF0dXNCYXIuc3R5bGUucmVtb3ZlUHJvcGVydHkoInBh
ZGRpbmctbGVmdCIpOwotCi0gICAgICAgICAgICBpZiAodGhpcy5fdmlldy5jb3VudGVyRWxlbWVu
dCkKLSAgICAgICAgICAgICAgICB0aGlzLl92aWV3LmNvdW50ZXJFbGVtZW50LnBhcmVudE5vZGUu
cmVtb3ZlQ2hpbGQodGhpcy5fdmlldy5jb3VudGVyRWxlbWVudCk7Ci0KLSAgICAgICAgICAgIGlm
ICh0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycykgewotICAgICAgICAgICAgICAgIHRoaXMuX2N1
cnJlbnRQYW5lbENvdW50ZXJzLnNldEF0dHJpYnV0ZSgic3R5bGUiLCBudWxsKTsKLSAgICAgICAg
ICAgICAgICB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycy5wYXJlbnROb2RlLnJlbW92ZUNoaWxk
KHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzKTsKLSAgICAgICAgICAgICAgICB0aGlzLl9jb3Vu
dGVycy5pbnNlcnRCZWZvcmUodGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnMsIHRoaXMuX2NvdW50
ZXJzLmZpcnN0Q2hpbGQpOwotICAgICAgICAgICAgfQotCisgICAgICAgICAgICAKICAgICAgICAg
ICAgIHRoaXMuX3ZpZXcuZGV0YWNoKCk7CiAgICAgICAgICAgICBkZWxldGUgdGhpcy5fdmlldzsK
KyAgICAgICAgICAgIHRoaXMuX2lubmVyU3RhdHVzQmFyLnJlbW92ZUNoaWxkcmVuKCk7CisgICAg
ICAgICAgICB0aGlzLl9pbm5lclN0YXR1c0Jhci5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicGFuZWwtc3RhdHVzLWJhciIpKTsKICAgICAgICAgICAgIHRoaXMuX2RyYXdlckNv
bnRlbnRzRWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOwogICAgICAgICAgICAgZG9jdW1lbnQuYm9k
eS5yZW1vdmVTdHlsZUNsYXNzKCJkcmF3ZXItdmlzaWJsZSIpOwogICAgICAgICAgICAgZGVsZXRl
IHRoaXMuX2N1cnJlbnRBbmltYXRpb247CkBAIC0yMTQsMjIgKzE3Miw2IEBAIFdlYkluc3BlY3Rv
ci5EcmF3ZXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5fY3VycmVudEFuaW1hdGlv
bi5mb3JjZUNvbXBsZXRlKCk7CiAgICAgfSwKIAotICAgIHNldCBjdXJyZW50UGFuZWxDb3VudGVy
cyh4KQotICAgIHsKLSAgICAgICAgaWYgKCF4KSB7Ci0gICAgICAgICAgICBpZiAodGhpcy5fY3Vy
cmVudFBhbmVsQ291bnRlcnMpCi0gICAgICAgICAgICAgICAgdGhpcy5fY3VycmVudFBhbmVsQ291
bnRlcnMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVy
cyk7Ci0gICAgICAgICAgICBkZWxldGUgdGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnM7Ci0gICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICB0aGlzLl9jdXJyZW50UGFuZWxD
b3VudGVycyA9IHg7Ci0gICAgICAgIGlmICh0aGlzLnZpc2libGUpCi0gICAgICAgICAgICB0aGlz
Ll9tYWluU3RhdHVzQmFyLmFwcGVuZENoaWxkKHgpOwotICAgICAgICBlbHNlCi0gICAgICAgICAg
ICB0aGlzLl9jb3VudGVycy5pbnNlcnRCZWZvcmUoeCwgdGhpcy5fY291bnRlcnMuZmlyc3RDaGls
ZCk7Ci0gICAgfSwKLQogICAgIF9hbmltYXRpb25EdXJhdGlvbjogZnVuY3Rpb24oYW5pbWF0aW9u
VHlwZSkKICAgICB7CiAgICAgICAgIHN3aXRjaCAoYW5pbWF0aW9uVHlwZSkgewpAQCAtMjQ3LDcg
KzE4OSw3IEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlID0gewogICAgICAqLwogICAg
IF9zdGFydFN0YXR1c0JhckRyYWdnaW5nOiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAg
IGlmICghdGhpcy52aXNpYmxlIHx8IGV2ZW50LnRhcmdldCAhPT0gdGhpcy5fbWFpblN0YXR1c0Jh
cikKKyAgICAgICAgaWYgKCF0aGlzLnZpc2libGUgfHwgZXZlbnQudGFyZ2V0ICE9PSB0aGlzLl9w
YW5lbFN0YXR1c0JhcikKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICB0aGlz
Ll92aWV3LnN0b3JlU2Nyb2xsUG9zaXRpb25zKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9QYW5lbC5qcwppbmRleCA3ODkxYTBiNWY1ZWUxOTdiZjUzZDYwN2QzMTQ4Y2Y4
MDRhOGViYjFmLi5mNjVmNWVhMzBmNzY5YzcxMWJhYzkyNDQxZmEwZjgxODY5OTVjNjE1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanMKQEAgLTczLDcgKzcz
LDcgQEAgV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMu
X3N0YXR1c0Jhckl0ZW1Db250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsK
ICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RhdHVzQmFySXRlbXMubGVuZ3RoOyAr
K2kpCiAgICAgICAgICAgICAgICAgdGhpcy5fc3RhdHVzQmFySXRlbUNvbnRhaW5lci5hcHBlbmRD
aGlsZChzdGF0dXNCYXJJdGVtc1tpXSk7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgibWFpbi1zdGF0dXMtYmFyIikuYXBwZW5kQ2hpbGQodGhpcy5fc3RhdHVzQmFySXRlbUNv
bnRhaW5lcik7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFuZWwtc3Rh
dHVzLWJhciIpLmFwcGVuZENoaWxkKHRoaXMuX3N0YXR1c0Jhckl0ZW1Db250YWluZXIpOwogICAg
ICAgICB9CiAKICAgICAgICAgaWYgKCJfdG9vbGJhckl0ZW0iIGluIHRoaXMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMKaW5kZXgg
ZDdjYzljYjNlMDJjM2NmNzI0ODJmZWUwMGY3ZDg4ZmJmOWQ1Mzc0ZC4uZjlhN2Y4MWEwMmJkMDY0
M2VkZmM5ZjEzOGZmMjQ5MTc5MGU4MmU5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qcwpAQCAtMjAyLDcgKzIwMiwxNCBAQCBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICBnZXQgc3RhdHVz
QmFySXRlbXMoKQogICAgIHsKLSAgICAgICAgdmFyIHN0YXR1c0Jhckl0ZW1zID0gWyB0aGlzLnRv
Z2dsZUZpbHRlckJ1dHRvbi5lbGVtZW50LCB0aGlzLnRvZ2dsZVRpbWVsaW5lQnV0dG9uLmVsZW1l
bnQsIHRoaXMuY2xlYXJCdXR0b24uZWxlbWVudCwgdGhpcy5nYXJiYWdlQ29sbGVjdEJ1dHRvbi5l
bGVtZW50LCB0aGlzLl9nbHVlUGFyZW50QnV0dG9uLmVsZW1lbnQsIHRoaXMuc3RhdHVzQmFyRmls
dGVycyBdOworICAgICAgICB2YXIgc3RhdHVzQmFySXRlbXMgPSBbCisgICAgICAgICAgICB0aGlz
LnRvZ2dsZUZpbHRlckJ1dHRvbi5lbGVtZW50LAorICAgICAgICAgICAgdGhpcy50b2dnbGVUaW1l
bGluZUJ1dHRvbi5lbGVtZW50LAorICAgICAgICAgICAgdGhpcy5jbGVhckJ1dHRvbi5lbGVtZW50
LCB0aGlzLmdhcmJhZ2VDb2xsZWN0QnV0dG9uLmVsZW1lbnQsCisgICAgICAgICAgICB0aGlzLl9n
bHVlUGFyZW50QnV0dG9uLmVsZW1lbnQsCisgICAgICAgICAgICB0aGlzLnN0YXR1c0JhckZpbHRl
cnMsCisgICAgICAgICAgICB0aGlzLnJlY29yZHNDb3VudGVyCisgICAgICAgIF07CiAKICAgICAg
ICAgcmV0dXJuIHN0YXR1c0Jhckl0ZW1zOwogICAgIH0sCkBAIC01OTIsMTMgKzU5OSwxMSBAQCBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KICAgICAg
ICAgdGhpcy5fb3ZlcnZpZXdQYW5lLnNldE1vZGUodGhpcy5fb3ZlcnZpZXdNb2RlU2V0dGluZy5n
ZXQoKSk7CiAgICAgICAgIHRoaXMuX3JlZnJlc2goKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmRy
YXdlci5jdXJyZW50UGFuZWxDb3VudGVycyA9IHRoaXMucmVjb3Jkc0NvdW50ZXI7CiAgICAgfSwK
IAogICAgIHdpbGxIaWRlOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0aGlzLl9jbG9zZVJl
Y29yZERldGFpbHMoKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmRyYXdlci5jdXJyZW50UGFuZWxD
b3VudGVycyA9IG51bGw7CiAgICAgICAgIFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUud2ls
bEhpZGUuY2FsbCh0aGlzKTsKICAgICB9LAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL2VsZW1lbnRzUGFuZWwuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9lbGVtZW50c1BhbmVsLmNzcwppbmRleCA2ODdhMWI4YjFlZDQ2Nzk2
NGZiMDliZjdiMWVlOTU2NmVmMmMzMzU3Li4yN2JkM2Q4MTRmYjIxYzc1YmYzMzM4M2NiOGM5MjM1
MzgwY2Y2YzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L2VsZW1lbnRzUGFuZWwuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvZWxlbWVudHNQYW5lbC5jc3MKQEAgLTYxLDYgKzYxLDggQEAKIAogLmNydW1icyB7CiAgICAg
ZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOworICAgIGN1
cnNvcjogZGVmYXVsdDsKICAgICBmb250LXNpemU6IDExcHg7CiAgICAgbGluZS1oZWlnaHQ6IDE5
cHg7CiAgICAgdGV4dC1zaGFkb3c6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkgMCAxcHggMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9y
LmNzcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwpp
bmRleCAzOGExZmQwMGE5NDA1ZGVhNTQ0YTFkNGFiOWQwZjgyYjUxNDllMzJkLi40N2I3OGQxN2Q3
OTQyZGU5NzI1YWZkZDE5MTgxMWY4NDI4NjE1YzFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCkBAIC00ODQsNyArNDg0LDYgQEAgYm9k
eTpub3QoLnBsYXRmb3JtLW1hYykgLnRvb2xiYXItaXRlbS5jbG9zZS1sZWZ0IHsKICAgICByaWdo
dDogMDsKICAgICBib3R0b206IDA7CiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKLSAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiB3aGl0ZTsKIH0KIAogYm9keS5jb21wYWN0ICNtYWluIHsKQEAgLTUwMCw2ICs0
OTksMTAgQEAgYm9keS5jb21wYWN0ICNtYWluIHsKICAgICBvdmVyZmxvdzogaGlkZGVuOwogfQog
Citib2R5LmRyYXdlci12aXNpYmxlICNtYWluLXBhbmVscyB7CisgICAgYm90dG9tOiAyNHB4Owor
fQorCiAjbWFpbi1zdGF0dXMtYmFyIHsKICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgYm90
dG9tOiAwOwpAQCAtNTA3LDI3ICs1MTAsNiBAQCBib2R5LmNvbXBhY3QgI21haW4gewogICAgIHJp
Z2h0OiAwOwogfQogCi1ib2R5LmRyYXdlci12aXNpYmxlICNtYWluLXN0YXR1cy1iYXIgewotICAg
IGhlaWdodDogMjRweDsKLSAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiKDIwMiwgMjAy
LCAyMDIpOwotICAgIGN1cnNvcjogbnMtcmVzaXplOwotfQotCi1ib2R5LmRyYXdlci12aXNpYmxl
ICNtYWluLXN0YXR1cy1iYXI6OmFmdGVyIHsKLSAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gICAg
cmlnaHQ6IDA7Ci0gICAgdG9wOiA1cHg7Ci0gICAgY29udGVudDogdXJsKEltYWdlcy9zdGF0dXNi
YXJSZXNpemVyVmVydGljYWwucG5nKTsKLX0KLQotYm9keS5kcmF3ZXItdmlzaWJsZSAjbWFpbi1z
dGF0dXMtYmFyICogewotICAgIGN1cnNvcjogZGVmYXVsdDsKLX0KLQotYm9keS5kcmF3ZXItdmlz
aWJsZSAjbWFpbi1wYW5lbHMgewotICAgIGJvdHRvbTogMjRweDsKLX0KLQogLnN0YXR1cy1iYXIg
ewogICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgaGVpZ2h0OiAyM3B4OwpAQCAtNTM1LDYg
KzUxNyw3IEBAIGJvZHkuZHJhd2VyLXZpc2libGUgI21haW4tcGFuZWxzIHsKICAgICB6LWluZGV4
OiAxMjsKICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2Io
MjUzLDI1MywyNTMpLCByZ2IoMjMwLDIzMCwyMzApIDc1JSwgcmdiKDIzMCwyMzAsMjMwKSk7CiAg
ICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYigyMDIsIDIwMiwgMjAyKTsKKyAgICBkaXNwbGF5
OiAtd2Via2l0LWZsZXg7CiB9CiAKIC5zdGF0dXMtYmFyID4gZGl2IHsKQEAgLTU0NSw2ICs1Mjgs
OSBAQCBib2R5LmRyYXdlci12aXNpYmxlICNtYWluLXBhbmVscyB7CiAKIC5zdGF0dXMtYmFyLWl0
ZW0gewogICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICBwb2ludGVyLWV2ZW50czogYXV0
bzsKKyAgICBjdXJzb3I6IGRlZmF1bHQ7CisgICAgLXdlYmtpdC1mbGV4OiAwOwogICAgIGhlaWdo
dDogMjRweDsKICAgICBwYWRkaW5nOiAwOwogICAgIG1hcmdpbi1sZWZ0OiAtMXB4OwpAQCAtNTU0
LDYgKzU0MCwzNyBAQCBib2R5LmRyYXdlci12aXNpYmxlICNtYWluLXBhbmVscyB7CiAgICAgYmFj
a2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiB9CiAKKyNwYW5lbC1zdGF0dXMtYmFyLXBsYWNl
aG9sZGVyIHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgbGVmdDogMDsKKyAgICByaWdo
dDogMDsKKyAgICBib3R0b206IDA7CisgICAgZGlzcGxheTogbm9uZTsKKyAgICBib3JkZXItYm90
dG9tOiAxcHggc29saWQgcmdiKDIwMiwgMjAyLCAyMDIpOworICAgIGN1cnNvcjogbnMtcmVzaXpl
OworICAgIGhlaWdodDogMjRweDsKK30KKworYm9keS5kcmF3ZXItdmlzaWJsZSAjcGFuZWwtc3Rh
dHVzLWJhci1wbGFjZWhvbGRlciB7CisgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OworfQorCisj
cGFuZWwtc3RhdHVzLWJhci1yZXNpemVyIHsKKyAgICBjb250ZW50OiB1cmwoSW1hZ2VzL3N0YXR1
c2JhclJlc2l6ZXJWZXJ0aWNhbC5wbmcpOworICAgIG1hcmdpbi10b3A6IDdweDsKKyAgICBwb2lu
dGVyLWV2ZW50czogbm9uZTsKK30KKworI3BhbmVsLXN0YXR1cy1iYXIgeworICAgIC13ZWJraXQt
ZmxleDogMSAwOworICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKKyAgICBwb2ludGVyLWV2ZW50
czogbm9uZTsKK30KKworI3BhbmVsLXN0YXR1cy1iYXIgPiBkaXYgeworICAgIHdpZHRoOiAxMDAl
OworfQorCiAuc3RhdHVzLWJhci1pdGVtOmFjdGl2ZSB7CiAgICAgcG9zaXRpb246IHJlbGF0aXZl
OwogICAgIHotaW5kZXg6IDIwMDsKQEAgLTY3MywxMSArNjkwLDYgQEAgYnV0dG9uLmRvY2stc3Rh
dHVzLWJhci1pdGVtLnN0YXR1cy1iYXItaXRlbS50b2dnbGVkLXJpZ2h0IC5nbHlwaCB7CiAgICAg
YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTsKIH0KIAotYnV0dG9uLnNldHRp
bmdzLXN0YXR1cy1iYXItaXRlbSB7Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIHJpZ2h0
OiAwOwotfQotCiBib2R5LmRldGFjaGVkIC5hbHRlcm5hdGUtc3RhdHVzLWJhci1idXR0b25zLWJh
ciB7CiAgICAgbWFyZ2luLWxlZnQ6IDFweDsKIH0KQEAgLTcxOCwxOCArNzMwLDExIEBAIGJvZHku
cG9ydC1xdCAjZG9jay1zdGF0dXMtYmFyLWl0ZW0gewogICAgIC13ZWJraXQtbWFzay1wb3NpdGlv
bjogLTY0cHggMDsKIH0KIAotI2NvdW50ZXJzIHsKLSAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0g
ICAgcmlnaHQ6IDMycHg7Ci0gICAgdG9wOiAwOwotICAgIGN1cnNvcjogcG9pbnRlcjsKKyNlcnJv
ci13YXJuaW5nLWNvdW50IHsKICAgICBwYWRkaW5nOiA2cHggMnB4IDZweCAwcHg7CiAgICAgZm9u
dC1zaXplOiAxMHB4OwogICAgIGhlaWdodDogMTlweDsKLX0KLQotI2Vycm9yLXdhcm5pbmctY291
bnQgewotICAgIGRpc3BsYXk6IGlubGluZTsKKyAgICBjdXJzb3I6IHBvaW50ZXI7CiB9CiAKICNl
cnJvci13YXJuaW5nLWNvdW50OmhvdmVyIHsKQEAgLTc2NCwxMSArNzY5LDkgQEAgYm9keS5wb3J0
LXF0ICNkb2NrLXN0YXR1cy1iYXItaXRlbSB7CiAgICAgcmlnaHQ6IDA7CiAgICAgaGVpZ2h0OiAy
MDBweDsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKLSAgICBiYWNrZ3JvdW5kLXJlcGVh
dDogcmVwZWF0LXg7Ci0gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tOwogfQogCi1ib2R5
LmRyYXdlci12aXNpYmxlICNkcmF3ZXItY29udGVudHMgeworI2RyYXdlci1jb250ZW50cyB7CiAg
ICAgcG9zaXRpb246IGFic29sdXRlOwogICAgIHRvcDogMDsKICAgICBib3R0b206IDI0cHg7CkBA
IC03ODAsMTMgKzc4Myw2IEBAIGJvZHkuZHJhd2VyLXZpc2libGUgI2RyYXdlciB7CiAgICAgZGlz
cGxheTogYmxvY2s7CiB9CiAKLSNkcmF3ZXItc3RhdHVzLWJhciB7Ci0gICAgcG9zaXRpb246IGFi
c29sdXRlOwotICAgIGJvdHRvbTogMDsKLSAgICBsZWZ0OiAwOwotICAgIHJpZ2h0OiAwOwotfQot
CiBib2R5LnBsYXRmb3JtLW1hYyAubW9ub3NwYWNlLCBib2R5LnBsYXRmb3JtLW1hYyAuc291cmNl
LWNvZGUgewogICAgIGZvbnQtZmFtaWx5OiBNb25hY28sIG1vbm9zcGFjZTsKIH0KQEAgLTIyMjcs
NyArMjIyMyw3IEBAIGJvZHkuaW5hY3RpdmUgbGkuc2VsZWN0ZWQgLmJ1YmJsZS5zZWFyY2gtbWF0
Y2hlcyB7CiAuc3RhdHVzLWJhci1pdGVtcyB7CiAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAg
IHRvcDogMDsKLSAgICBib3R0b206IDA7CisgICAgYm90dG9tOiAwcHg7CiAgICAgbGVmdDogMjAw
cHg7CiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJn
YigxODQsIDE4NCwgMTg0KTsKQEAgLTI1MzgsNiArMjUzNCw3IEBAIGJvZHkucGxhdGZvcm0tbWFj
IC5zZWFyY2gtZHJhd2VyLWhlYWRlciBpbnB1dFt0eXBlPSJjaGVja2JveCJdLnNlYXJjaC1jb25m
aWctY2hlCiAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiKDE5NywgMTk3LCAxOTcpOwog
ICAgIGxpbmUtaGVpZ2h0OiAyM3B4OwogICAgIHBhZGRpbmctbGVmdDogNnB4OworICAgIGRpc3Bs
YXk6IGlubGluZS1ibG9jazsKIH0KIAogLmRyYXdlci1oZWFkZXItY2xvc2UtYnV0dG9uIHsKQEAg
LTI1NTgsNDggKzI1NTUsNTUgQEAgYm9keS5wbGF0Zm9ybS1tYWMgLnNlYXJjaC1kcmF3ZXItaGVh
ZGVyIGlucHV0W3R5cGU9ImNoZWNrYm94Il0uc2VhcmNoLWNvbmZpZy1jaGUKICAgICBvcGFjaXR5
OiAwLjc7CiB9CiAKLSNkcmF3ZXItc3RhdHVzLWJhciAuc2VhcmNoLXN0YXR1cy1iYXItaXRlbSB7
CisjaW5uZXItc3RhdHVzLWJhciB7CisgICAgLXdlYmtpdC1mbGV4OiAxIDA7Cit9CisKKy5zZWFy
Y2gtc3RhdHVzLWJhci1pdGVtIHsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgY3Vy
c29yOiBwb2ludGVyOwogICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICBoZWlnaHQ6IDIzcHg7CiB9
CiAKLSNkcmF3ZXItc3RhdHVzLWJhciAuc2VhcmNoLXN0YXR1cy1iYXItbWVzc2FnZSB7Cisuc2Vh
cmNoLXN0YXR1cy1iYXItbWVzc2FnZSB7CiAgICAgbWFyZ2luLWxlZnQ6NXB4OwogICAgIG1hcmdp
bi1yaWdodDo1cHg7Ci0gICAgbWFyZ2luLXRvcDo2cHg7CisgICAgbWFyZ2luLXRvcDo1cHg7CiAg
ICAgZmxvYXQ6bGVmdDsKIH0KIAotI2RyYXdlci1zdGF0dXMtYmFyIC5zZWFyY2gtc3RhdHVzLWJh
ci1wcm9ncmVzcyB7Cisuc2VhcmNoLXN0YXR1cy1iYXItcHJvZ3Jlc3MgewogICAgIGhlaWdodDog
MTFweDsKICAgICB3aWR0aDogMTAwcHg7CiAgICAgZmxvYXQ6IGxlZnQ7CiB9CiAKLWJvZHk6bm90
KC5wbGF0Zm9ybS1tYWMpICNkcmF3ZXItc3RhdHVzLWJhciAuc2VhcmNoLXN0YXR1cy1iYXItcHJv
Z3Jlc3MgewotICAgIG1hcmdpbi10b3A6IDhweDsKK2JvZHk6bm90KC5wbGF0Zm9ybS1tYWMpIC5z
ZWFyY2gtc3RhdHVzLWJhci1wcm9ncmVzcyB7CisgICAgbWFyZ2luLXRvcDogN3B4OwogfQogCi1i
b2R5LnBsYXRmb3JtLW1hYyAjZHJhd2VyLXN0YXR1cy1iYXIgLnNlYXJjaC1zdGF0dXMtYmFyLXBy
b2dyZXNzIHsKLSAgICBtYXJnaW4tdG9wOiA3cHg7Citib2R5LnBsYXRmb3JtLW1hYyAuc2VhcmNo
LXN0YXR1cy1iYXItcHJvZ3Jlc3MgeworICAgIG1hcmdpbi10b3A6IDZweDsKIH0KIAotI2RyYXdl
ci1zdGF0dXMtYmFyIC5zZWFyY2gtc3RhdHVzLWJhci1zdG9wLWJ1dHRvbi1pdGVtIHsKKy5zZWFy
Y2gtc3RhdHVzLWJhci1zdG9wLWJ1dHRvbi1pdGVtIHsKICAgICB3aWR0aDogMTlweDsKICAgICBo
ZWlnaHQ6IDI0cHg7CiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKIH0KIAotI2RyYXdlci1zdGF0dXMt
YmFyIC5zZWFyY2gtc3RhdHVzLWJhci1zdG9wLWJ1dHRvbiAuZ2x5cGggeworLnNlYXJjaC1zdGF0
dXMtYmFyLXN0b3AtYnV0dG9uIC5nbHlwaCB7CiAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiAt
OTZweCAtNDhweDsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjE2LCAwLCAwKSAhaW1wb3J0
YW50OwogfQogCi0jZHJhd2VyLXN0YXR1cy1iYXIgLnNlYXJjaC1yZXN1bHRzLXN0YXR1cy1iYXIt
bWVzc2FnZSB7Cisuc2VhcmNoLXJlc3VsdHMtc3RhdHVzLWJhci1tZXNzYWdlIHsKICAgICBtYXJn
aW4tcmlnaHQ6IDEwcHg7CiAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgIGZvbnQtc2l6ZTogMTFw
eDsKKyAgICBmbG9hdDogcmlnaHQ7CisgICAgbWFyZ2luLXRvcDogNXB4OwogfQogCiAuc2VhcmNo
LXZpZXcgLnNlYXJjaC1yZXN1bHRzIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCmluZGV4IDYxOTA2NDBlMzMyYmM4OTYwYWVjMzM4OGQ2
OTQ4ZTZiOTY2YTk1MzUuLjE4NTBiNTE4OTViNDVkZWJjMzA5ZTRmYjhkMjFlMzhjM2JiOTdiMTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9y
Lmh0bWwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
aHRtbApAQCAtMjMyLDggKzIzMiwxNCBAQCBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICAgICAgICA8L2Rpdj4KICAgICA8
L2Rpdj4KICAgICA8ZGl2IGlkPSJtYWluIj4KLSAgICAgICAgPGRpdiBpZD0ibWFpbi1zdGF0dXMt
YmFyIiBjbGFzcz0ic3RhdHVzLWJhciI+PGRpdiBpZD0iYW5jaG9yZWQtc3RhdHVzLWJhci1pdGVt
cyI+PGRpdiBpZD0iY291bnRlcnMiPjxkaXYgaWQ9ImVycm9yLXdhcm5pbmctY291bnQiIGNsYXNz
PSJoaWRkZW4iPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJwYW5l
bC1zdGF0dXMtYmFyLXBsYWNlaG9sZGVyIiBjbGFzcz0ic3RhdHVzLWJhciI+PGRpdiBpZD0icGFu
ZWwtc3RhdHVzLWJhci1yZXNpemVyIj48L2Rpdj48L2Rpdj4KICAgICA8L2Rpdj4KICAgICA8ZGl2
IGlkPSJkcmF3ZXIiPjwvZGl2PgorICAgIDxkaXYgaWQ9Im1haW4tc3RhdHVzLWJhciIgY2xhc3M9
InN0YXR1cy1iYXIiPgorICAgICAgICA8ZGl2IGlkPSJpbm5lci1zdGF0dXMtYmFyIj4KKyAgICAg
ICAgICAgIDxkaXYgaWQ9InBhbmVsLXN0YXR1cy1iYXIiPjwvZGl2PgorICAgICAgICA8L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iZXJyb3Itd2FybmluZy1jb3VudCIgY2xhc3M9ImhpZGRlbiI+PC9k
aXY+CisgICAgPC9kaXY+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IDZkYjkyODY2YTU0YjllZmE5YzJi
Mjc4ZGFmZGEyOTY2YmM2MGQxZmEuLjEzNTgyNjkwN2NiMWYzMjI3Yzg2OTNiZjljZWE3YmFhM2Y2
NDM3ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5z
cGVjdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmpzCkBAIC03MCwyMSArNzAsMjIgQEAgdmFyIFdlYkluc3BlY3RvciA9IHsKIAogICAgIF9j
cmVhdGVHbG9iYWxTdGF0dXNCYXJJdGVtczogZnVuY3Rpb24oKQogICAgIHsKKyAgICAgICAgdmFy
IGlubmVyU3RhdHVzQmFyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlubmVyLXN0YXR1cy1i
YXIiKTsKICAgICAgICAgdGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbiA9IG5ldyBXZWJJbnNwZWN0b3Iu
U3RhdHVzQmFyQnV0dG9uKCIiLCAiZG9jay1zdGF0dXMtYmFyLWl0ZW0iLCAzKTsKICAgICAgICAg
dGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbi5tYWtlTG9uZ0NsaWNrRW5hYmxlZCh0aGlzLl9jcmVhdGVE
b2NrT3B0aW9ucy5iaW5kKHRoaXMpKTsKICAgICAgICAgdGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbi5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuX3RvZ2dsZUF0dGFjaC5iaW5kKHRoaXMpLCBm
YWxzZSk7CiAgICAgICAgIHRoaXMuX3VwZGF0ZURvY2tCdXR0b25TdGF0ZSgpOwogCi0gICAgICAg
IHZhciBhbmNob3JlZFN0YXR1c0JhciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmNob3Jl
ZC1zdGF0dXMtYmFyLWl0ZW1zIik7Ci0gICAgICAgIGFuY2hvcmVkU3RhdHVzQmFyLmFwcGVuZENo
aWxkKHRoaXMuX2RvY2tUb2dnbGVCdXR0b24uZWxlbWVudCk7CisgICAgICAgIHZhciBtYWluU3Rh
dHVzQmFyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1haW4tc3RhdHVzLWJhciIpOworICAg
ICAgICBtYWluU3RhdHVzQmFyLmluc2VydEJlZm9yZSh0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLmVs
ZW1lbnQsIGlubmVyU3RhdHVzQmFyKTsKIAogICAgICAgICB0aGlzLl90b2dnbGVDb25zb2xlQnV0
dG9uID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0dXNCYXJCdXR0b24oV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJTaG93IGNvbnNvbGUuIiksICJjb25zb2xlLXN0YXR1cy1iYXItaXRlbSIpOwogICAgICAg
ICB0aGlzLl90b2dnbGVDb25zb2xlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhp
cy5fdG9nZ2xlQ29uc29sZUJ1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSwgZmFsc2UpOwotICAgICAg
ICBhbmNob3JlZFN0YXR1c0Jhci5hcHBlbmRDaGlsZCh0aGlzLl90b2dnbGVDb25zb2xlQnV0dG9u
LmVsZW1lbnQpOworICAgICAgICBtYWluU3RhdHVzQmFyLmluc2VydEJlZm9yZSh0aGlzLl90b2dn
bGVDb25zb2xlQnV0dG9uLmVsZW1lbnQsIGlubmVyU3RhdHVzQmFyKTsKIAogICAgICAgICBpZiAo
dGhpcy5wYW5lbHMuZWxlbWVudHMpCi0gICAgICAgICAgICBhbmNob3JlZFN0YXR1c0Jhci5hcHBl
bmRDaGlsZCh0aGlzLnBhbmVscy5lbGVtZW50cy5ub2RlU2VhcmNoQnV0dG9uLmVsZW1lbnQpOwot
ICAgICAgICBhbmNob3JlZFN0YXR1c0Jhci5hcHBlbmRDaGlsZCh0aGlzLnNldHRpbmdzQ29udHJv
bGxlci5zdGF0dXNCYXJJdGVtKTsKKyAgICAgICAgICAgIG1haW5TdGF0dXNCYXIuaW5zZXJ0QmVm
b3JlKHRoaXMucGFuZWxzLmVsZW1lbnRzLm5vZGVTZWFyY2hCdXR0b24uZWxlbWVudCwgaW5uZXJT
dGF0dXNCYXIpOworICAgICAgICBtYWluU3RhdHVzQmFyLmFwcGVuZENoaWxkKHRoaXMuc2V0dGlu
Z3NDb250cm9sbGVyLnN0YXR1c0Jhckl0ZW0pOwogICAgIH0sCiAKICAgICBfY3JlYXRlRG9ja09w
dGlvbnM6IGZ1bmN0aW9uKCkKQEAgLTE4MCwyMSArMTgxLDE2IEBAIHZhciBXZWJJbnNwZWN0b3Ig
PSB7CiAgICAgICAgIHRoaXMuX2Nsb3NlUHJldmlvdXNEcmF3ZXJWaWV3KCk7CiAKICAgICAgICAg
dmFyIGRyYXdlclN0YXR1c0JhckhlYWRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OwotICAgICAgICBkcmF3ZXJTdGF0dXNCYXJIZWFkZXIuY2xhc3NOYW1lID0gImRyYXdlci1oZWFk
ZXIiOworICAgICAgICBkcmF3ZXJTdGF0dXNCYXJIZWFkZXIuY2xhc3NOYW1lID0gImRyYXdlci1o
ZWFkZXIgc3RhdHVzLWJhci1pdGVtIjsKICAgICAgICAgZHJhd2VyU3RhdHVzQmFySGVhZGVyLmFw
cGVuZENoaWxkKHN0YXR1c0JhckVsZW1lbnQpOwogICAgICAgICBkcmF3ZXJTdGF0dXNCYXJIZWFk
ZXIub25jbG9zZSA9IG9uY2xvc2U7CiAKICAgICAgICAgdmFyIGNsb3NlQnV0dG9uID0gZHJhd2Vy
U3RhdHVzQmFySGVhZGVyLmNyZWF0ZUNoaWxkKCJzcGFuIik7CiAgICAgICAgIGNsb3NlQnV0dG9u
LnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJcdTAwRDciKTsKICAgICAgICAg
Y2xvc2VCdXR0b24uYWRkU3R5bGVDbGFzcygiZHJhd2VyLWhlYWRlci1jbG9zZS1idXR0b24iKTsK
LSAgICAgICAgY2xvc2VCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBjbG9zZUJ1dHRv
blByZXNzZWQuYmluZCh0aGlzKSwgZmFsc2UpOworICAgICAgICBjbG9zZUJ1dHRvbi5hZGRFdmVu
dExpc3RlbmVyKCJjbGljayIsIHRoaXMuY2xvc2VWaWV3SW5EcmF3ZXIuYmluZCh0aGlzKSwgZmFs
c2UpOwogCi0gICAgICAgIGZ1bmN0aW9uIGNsb3NlQnV0dG9uUHJlc3NlZChldmVudCkKLSAgICAg
ICAgewotICAgICAgICAgICAgdGhpcy5jbG9zZVZpZXdJbkRyYXdlcigpOwotICAgICAgICB9Ci0K
LSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1haW4tc3RhdHVzLWJhciIpLmFwcGVu
ZENoaWxkKGRyYXdlclN0YXR1c0JhckhlYWRlcik7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJwYW5lbC1zdGF0dXMtYmFyIikuZmlyc3RFbGVtZW50Q2hpbGQuYXBwZW5kQ2hpbGQo
ZHJhd2VyU3RhdHVzQmFySGVhZGVyKTsKICAgICAgICAgdGhpcy5fZHJhd2VyU3RhdHVzQmFySGVh
ZGVyID0gZHJhd2VyU3RhdHVzQmFySGVhZGVyOwogICAgICAgICB0aGlzLmRyYXdlci5zaG93KHZp
ZXcsIFdlYkluc3BlY3Rvci5EcmF3ZXIuQW5pbWF0aW9uVHlwZS5JbW1lZGlhdGVseSk7CiAgICAg
fSwKQEAgLTIxNSw3ICsyMTEsNyBAQCB2YXIgV2ViSW5zcGVjdG9yID0gewogICAgIF9jbG9zZVBy
ZXZpb3VzRHJhd2VyVmlldzogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgaWYgKHRoaXMuX2Ry
YXdlclN0YXR1c0JhckhlYWRlcikgewotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoIm1haW4tc3RhdHVzLWJhciIpLnJlbW92ZUNoaWxkKHRoaXMuX2RyYXdlclN0YXR1c0Jhckhl
YWRlcik7CisgICAgICAgICAgICB0aGlzLl9kcmF3ZXJTdGF0dXNCYXJIZWFkZXIucGFyZW50RWxl
bWVudC5yZW1vdmVDaGlsZCh0aGlzLl9kcmF3ZXJTdGF0dXNCYXJIZWFkZXIpOwogICAgICAgICAg
ICAgaWYgKHRoaXMuX2RyYXdlclN0YXR1c0JhckhlYWRlci5vbmNsb3NlKQogICAgICAgICAgICAg
ICAgIHRoaXMuX2RyYXdlclN0YXR1c0JhckhlYWRlci5vbmNsb3NlKCk7CiAgICAgICAgICAgICBk
ZWxldGUgdGhpcy5fZHJhd2VyU3RhdHVzQmFySGVhZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC90aW1lbGluZVBhbmVsLmNzcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGltZWxpbmVQYW5lbC5jc3MKaW5kZXggNmZmNTQyZWFl
MTBkOTMzMmUyMzY0ZTdiMjgxNGJmYWQ2NDBhZWRkOS4uNTZjNjNlYTZjYzRmYzlkODU0MzE2YzEw
ZWYzMWQyZTAxNzViYzA5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC90aW1lbGluZVBhbmVsLmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL3RpbWVsaW5lUGFuZWwuY3NzCkBAIC00MjMsMTUgKzQyMywxMCBAQAogICAgIHRl
eHQtc2hhZG93OiB3aGl0ZSAwIDFweCAwOwogfQogCi0jbWFpbi1zdGF0dXMtYmFyID4gLnRpbWVs
aW5lLXJlY29yZHMtY291bnRlciB7CisudGltZWxpbmUtcmVjb3Jkcy1jb3VudGVyIHsKICAgICBm
bG9hdDogcmlnaHQ7Ci0gICAgbWFyZ2luLXRvcDogNHB4OwotICAgIG1hcmdpbi1yaWdodDogMjVw
eDsKLX0KLQotI2NvdW50ZXJzID4gLnRpbWVsaW5lLXJlY29yZHMtY291bnRlciB7Ci0gICAgZmxv
YXQ6IGxlZnQ7Ci0gICAgbWFyZ2luLXRvcDogLTFweDsKKyAgICBtYXJnaW4tdG9wOiA1cHg7Cisg
ICAgbWFyZ2luLXJpZ2h0OiA2cHg7CiB9CiAKICNyZXNvdXJjZXMtY29udGFpbmVyLWNvbnRlbnQg
ewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154389</attachid>
            <date>2012-07-25 10:40:13 -0700</date>
            <delta_ts>2012-07-26 06:00:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92143-20120725214002.patch</filename>
            <type>text/plain</type>
            <size>27033</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzRhMTAzNjMzNzdhMzU3
ZTkzNTRlOGY3ZDNjNTZiZjAwZjVkMTI4Zi4uYTFkZGUzZGFmNjlmNzVjMTc4OWM1NjNkNTBkNDlj
NmNjMGQzOTExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDEyLTA3LTI1ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogc2ltcGxpZnkgaGFuZGxpbmcgb2Ygc3RhdHVzIGJhciBpdGVtcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIxNDMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIHNwbGl0IHN0YXR1cyBiYXJzIGludG8g
Imdsb2JhbCIgKGFsd2F5cyBpbiB0aGUgYm90dG9tKSBhbmQgInBhbmVsIiAKKyAgICAgICAgICAg
IChvbiB0b3Agb2YgdGhlIGRyYXdlciB3aGVuIGRyYXdlciBpcyBzaG93bikKKyAgICAgICAgLSB1
c2UgImlubmVyIiBzdGF0dXMgYmFyIHNlY3Rpb24gaW4gZ2xvYmFsIHN0YXR1cyBiYXIgdG8gZGlz
cGxheSBlaXRoZXIKKyAgICAgICAgICAgIHBhbmVsIHN0YXR1cyBiYXIgaXRlbXMgb3IgZHJhd2Vy
IHZpZXcgaXRlbXMgKGRlcGVuZGluZyBvbiBkcmF3ZXIgdmlzaWJpbGl0eSkKKyAgICAgICAgLSBs
ZXQgcGFuZWxzL3ZpZXdzIG1hbmFnZSB0aGVpciBjb3VudGVycyBhcyBwYXJ0IG9mIHRoZWlyIHN0
YXR1cyBiYXIKKyAgICAgICAgICAgIGl0ZW1zLCBub3QgdGhyb3VnaCBzcGVjaWFsIGludGVyZmFj
ZSBtZW1iZXJzOworICAgICAgICAtIGdldCByaWQgb2YgYWJzb2x1dGUgcG9zaXRpb25pbmcgaW4g
dGhlIHN0YXR1cyBiYXJzIHdoZXJlIHBvc3NpYmxlOyAgIAorCisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuU2VhcmNoVmlldy5wcm90b3R5cGUuZ2V0IHN0YXR1c0Jhckl0ZW1zKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5E
cmF3ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUuc2hvdy5hbmlt
YXRpb25GaW5pc2hlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5z
aG93KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlLmhpZGUuYW5pbWF0
aW9uRmluaXNoZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUuaGlk
ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5fc3RhcnRTdGF0dXNC
YXJEcmFnZ2luZyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbC5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUud2FzU2hvd24pOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZS5nZXQgc3RhdHVzQmFySXRlbXMpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlLndpbGxIaWRlKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2VsZW1lbnRzUGFuZWwuY3NzOgorICAgICAgICAoLmNy
dW1icyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzOgorICAg
ICAgICAoI21haW4pOgorICAgICAgICAoYm9keS5kcmF3ZXItdmlzaWJsZSAjbWFpbi1wYW5lbHMp
OgorICAgICAgICAoLnN0YXR1cy1iYXIpOgorICAgICAgICAoLnN0YXR1cy1iYXItaXRlbSk6Cisg
ICAgICAgICgjcGFuZWwtc3RhdHVzLWJhci1wbGFjZWhvbGRlcik6CisgICAgICAgIChib2R5LmRy
YXdlci12aXNpYmxlICNwYW5lbC1zdGF0dXMtYmFyLXBsYWNlaG9sZGVyKToKKyAgICAgICAgKCNw
YW5lbC1zdGF0dXMtYmFyLXJlc2l6ZXIpOgorICAgICAgICAoI3BhbmVsLXN0YXR1cy1iYXIpOgor
ICAgICAgICAoI3BhbmVsLXN0YXR1cy1iYXIgPiBkaXYpOgorICAgICAgICAoI2Vycm9yLXdhcm5p
bmctY291bnQpOgorICAgICAgICAoI2RyYXdlcik6CisgICAgICAgICgjZHJhd2VyLWNvbnRlbnRz
KToKKyAgICAgICAgKC5zdGF0dXMtYmFyLWl0ZW1zKToKKyAgICAgICAgKC5kcmF3ZXItaGVhZGVy
KToKKyAgICAgICAgKCNpbm5lci1zdGF0dXMtYmFyKToKKyAgICAgICAgKC5zZWFyY2gtc3RhdHVz
LWJhci1pdGVtKToKKyAgICAgICAgKC5zZWFyY2gtc3RhdHVzLWJhci1tZXNzYWdlKToKKyAgICAg
ICAgKC5zZWFyY2gtc3RhdHVzLWJhci1wcm9ncmVzcyk6CisgICAgICAgIChib2R5Om5vdCgucGxh
dGZvcm0tbWFjKSAuc2VhcmNoLXN0YXR1cy1iYXItcHJvZ3Jlc3MpOgorICAgICAgICAoYm9keS5w
bGF0Zm9ybS1tYWMgLnNlYXJjaC1zdGF0dXMtYmFyLXByb2dyZXNzKToKKyAgICAgICAgKC5zZWFy
Y2gtc3RhdHVzLWJhci1zdG9wLWJ1dHRvbi1pdGVtKToKKyAgICAgICAgKC5zZWFyY2gtc3RhdHVz
LWJhci1zdG9wLWJ1dHRvbiAuZ2x5cGgpOgorICAgICAgICAoLnNlYXJjaC1yZXN1bHRzLXN0YXR1
cy1iYXItbWVzc2FnZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
aHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5fY3JlYXRlR2xvYmFsU3RhdHVzQmFySXRlbXMpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLnNob3dWaWV3SW5EcmF3ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLl9j
bG9zZVByZXZpb3VzRHJhd2VyVmlldyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC90
aW1lbGluZVBhbmVsLmNzczoKKyAgICAgICAgKC50aW1lbGluZS1yZWNvcmRzLWNvdW50ZXIpOgor
CiAyMDEyLTA3LTI0ICBLd2FuZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CiAKICAg
ICAgICAgUmVtb3ZlIGFub255bW91cyBuYW1lc3BhY2UgYW5kIG1ha2UgZnVuY3Rpb25zIHN0YXRp
Yy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQWR2YW5j
ZWRTZWFyY2hDb250cm9sbGVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMKaW5kZXggYjgyZjc3NDg1YmY1MDQzNDg1ODhm
NDcyYjBiYjM5OTViN2Q3MGUxYS4uNjk2MTYyODBmNWViYmVkMTZlODlkYzY2ZjE3NTk1ZjhiZDE5
OGZmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BZHZh
bmNlZFNlYXJjaENvbnRyb2xsZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMKQEAgLTIzNSwxNSArMjM1LDcgQEAg
V2ViSW5zcGVjdG9yLlNlYXJjaFZpZXcucHJvdG90eXBlID0gewogICAgICAqLwogICAgIGdldCBz
dGF0dXNCYXJJdGVtcygpCiAgICAgewotICAgICAgICByZXR1cm4gW3RoaXMuX3NlYXJjaFN0YXR1
c0JhckVsZW1lbnRdOwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBAcmV0dXJuIHtFbGVtZW50
fQotICAgICAqLwotICAgIGdldCBjb3VudGVyRWxlbWVudCgpCi0gICAgewotICAgICAgICByZXR1
cm4gdGhpcy5fc2VhcmNoUmVzdWx0c01lc3NhZ2VFbGVtZW50OworICAgICAgICByZXR1cm4gW3Ro
aXMuX3NlYXJjaFN0YXR1c0JhckVsZW1lbnQsIHRoaXMuX3NlYXJjaFJlc3VsdHNNZXNzYWdlRWxl
bWVudF07CiAgICAgfSwKIAogICAgIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9EcmF3ZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RyYXdlci5qcwppbmRleCAyYTU2ZmNhMzg3ZGU1YmI1ZGQ0NjA3Nzk0NzAxMDNiN2Fl
NGY5MzZjLi5jNTU4ZGNmMWQ1ZTc5NTEyYjBiMDcyYjk2ODRkYjUzZTg4ZWFiNTRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qcwpAQCAtMzYsMjMgKzM2
LDE2IEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fc2F2ZWRI
ZWlnaHQgPSAyMDA7IC8vIERlZmF1bHQuCiAgICAgdGhpcy5fbWFpbkVsZW1lbnQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgibWFpbiIpOwogICAgIHRoaXMuX3Rvb2xiYXJFbGVtZW50ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvb2xiYXIiKTsKLSAgICB0aGlzLl9tYWluU3RhdHVzQmFy
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1haW4tc3RhdHVzLWJhciIpOwotICAgIFdlYklu
c3BlY3Rvci5pbnN0YWxsRHJhZ0hhbmRsZSh0aGlzLl9tYWluU3RhdHVzQmFyLCB0aGlzLl9zdGFy
dFN0YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX3N0YXR1c0JhckRyYWdnaW5nLmJp
bmQodGhpcyksIHRoaXMuX2VuZFN0YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksICJyb3ctcmVz
aXplIik7CiAKLSAgICB0aGlzLl9jb3VudGVycyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3VudGVycyIpOworICAgIHRoaXMuX2Zsb2F0aW5nU3RhdHVzQmFyQ29udGFpbmVyID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImZsb2F0aW5nLXN0YXR1cy1iYXItY29udGFpbmVyIik7CisgICAg
V2ViSW5zcGVjdG9yLmluc3RhbGxEcmFnSGFuZGxlKHRoaXMuX2Zsb2F0aW5nU3RhdHVzQmFyQ29u
dGFpbmVyLCB0aGlzLl9zdGFydFN0YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX3N0
YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX2VuZFN0YXR1c0JhckRyYWdnaW5nLmJp
bmQodGhpcyksICJyb3ctcmVzaXplIik7CiAKICAgICB0aGlzLl9kcmF3ZXJDb250ZW50c0VsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICB0aGlzLl9kcmF3ZXJDb250
ZW50c0VsZW1lbnQuaWQgPSAiZHJhd2VyLWNvbnRlbnRzIjsKICAgICB0aGlzLl9kcmF3ZXJDb250
ZW50c0VsZW1lbnQuY2xhc3NOYW1lID0gImRyYXdlci1jb250ZW50cyI7CiAgICAgdGhpcy5lbGVt
ZW50LmFwcGVuZENoaWxkKHRoaXMuX2RyYXdlckNvbnRlbnRzRWxlbWVudCk7Ci0KLSAgICB0aGlz
Ll9kcmF3ZXJTdGF0dXNCYXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICB0
aGlzLl9kcmF3ZXJTdGF0dXNCYXIuaWQgPSAiZHJhd2VyLXN0YXR1cy1iYXIiOwotICAgIHRoaXMu
X2RyYXdlclN0YXR1c0Jhci5jbGFzc05hbWUgPSAic3RhdHVzLWJhciI7Ci0gICAgdGhpcy5lbGVt
ZW50LmFwcGVuZENoaWxkKHRoaXMuX2RyYXdlclN0YXR1c0Jhcik7Ci0KICAgICB0aGlzLl92aWV3
U3RhdHVzQmFyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgdGhpcy5fZHJh
d2VyU3RhdHVzQmFyLmFwcGVuZENoaWxkKHRoaXMuX3ZpZXdTdGF0dXNCYXIpOworICAgIHRoaXMu
X2JvdHRvbVN0YXR1c0JhciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib3R0b20tc3RhdHVz
LWJhci1jb250YWluZXIiKTsKIH0KIAogV2ViSW5zcGVjdG9yLkRyYXdlci5BbmltYXRpb25UeXBl
ID0gewpAQCAtNzUsOCArNjgsNiBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9IHsK
ICAgICBzaG93OiBmdW5jdGlvbih2aWV3LCBhbmltYXRpb25UeXBlKQogICAgIHsKICAgICAgICAg
dGhpcy5pbW1lZGlhdGVseUZpbmlzaEFuaW1hdGlvbigpOwotICAgICAgICBpZiAodGhpcy5fdmll
dyAmJiB0aGlzLl92aWV3LmNvdW50ZXJFbGVtZW50KQotICAgICAgICAgICAgdGhpcy5fdmlldy5j
b3VudGVyRWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuX3ZpZXcuY291bnRlckVs
ZW1lbnQpOwogCiAgICAgICAgIHZhciBkcmF3ZXJXYXNWaXNpYmxlID0gdGhpcy52aXNpYmxlOwog
CkBAIC05Miw0NCArODMsMjkgQEAgV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RhdHVzQmFySXRlbXMubGVuZ3RoOyArK2kpCiAg
ICAgICAgICAgICB0aGlzLl92aWV3U3RhdHVzQmFyLmFwcGVuZENoaWxkKHN0YXR1c0Jhckl0ZW1z
W2ldKTsKIAotICAgICAgICBpZiAodGhpcy5fdmlldy5jb3VudGVyRWxlbWVudCkKLSAgICAgICAg
ICAgIHRoaXMuX2NvdW50ZXJzLmluc2VydEJlZm9yZSh0aGlzLl92aWV3LmNvdW50ZXJFbGVtZW50
LCB0aGlzLl9jb3VudGVycy5maXJzdENoaWxkKTsKLQogICAgICAgICBkb2N1bWVudC5ib2R5LmFk
ZFN0eWxlQ2xhc3MoImRyYXdlci12aXNpYmxlIik7CisgICAgICAgIHRoaXMuX2Zsb2F0aW5nU3Rh
dHVzQmFyQ29udGFpbmVyLmluc2VydEJlZm9yZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFu
ZWwtc3RhdHVzLWJhciIpLCB0aGlzLl9mbG9hdGluZ1N0YXR1c0JhckNvbnRhaW5lci5maXJzdEVs
ZW1lbnRDaGlsZCk7CisgICAgICAgIHRoaXMuX2JvdHRvbVN0YXR1c0Jhci5hcHBlbmRDaGlsZCh0
aGlzLl92aWV3U3RhdHVzQmFyKTsKICAgICAgICAgdGhpcy5fdmlldy5tYXJrQXNSb290KCk7CiAg
ICAgICAgIHRoaXMuX3ZpZXcuc2hvdyh0aGlzLl9kcmF3ZXJDb250ZW50c0VsZW1lbnQpOwogCiAg
ICAgICAgIGlmIChkcmF3ZXJXYXNWaXNpYmxlKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICAKLSAgICAgICAgdmFyIGFuY2hvcmVkSXRlbXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
YW5jaG9yZWQtc3RhdHVzLWJhci1pdGVtcyIpOwogICAgICAgICB2YXIgaGVpZ2h0ID0gdGhpcy5f
Y29uc3RyYWluSGVpZ2h0KHRoaXMuX3NhdmVkSGVpZ2h0IHx8IHRoaXMuZWxlbWVudC5vZmZzZXRI
ZWlnaHQpOwogICAgICAgICB2YXIgYW5pbWF0aW9ucyA9IFsKICAgICAgICAgICAgIHtlbGVtZW50
OiB0aGlzLmVsZW1lbnQsIGVuZDoge2hlaWdodDogaGVpZ2h0fX0sCiAgICAgICAgICAgICB7ZWxl
bWVudDogdGhpcy5fbWFpbkVsZW1lbnQsIGVuZDoge2JvdHRvbTogaGVpZ2h0fX0sCi0gICAgICAg
ICAgICB7ZWxlbWVudDogdGhpcy5fbWFpblN0YXR1c0Jhciwgc3RhcnQ6IHsicGFkZGluZy1sZWZ0
IjogYW5jaG9yZWRJdGVtcy5vZmZzZXRXaWR0aCAtIDF9LCBlbmQ6IHsicGFkZGluZy1sZWZ0Ijog
MH19LAorICAgICAgICAgICAge2VsZW1lbnQ6IHRoaXMuX2Zsb2F0aW5nU3RhdHVzQmFyQ29udGFp
bmVyLCBzdGFydDogeyJwYWRkaW5nLWxlZnQiOiB0aGlzLl9ib3R0b21TdGF0dXNCYXIub2Zmc2V0
TGVmdH0sIGVuZDogeyJwYWRkaW5nLWxlZnQiOiAwfX0sCiAgICAgICAgICAgICB7ZWxlbWVudDog
dGhpcy5fdmlld1N0YXR1c0Jhciwgc3RhcnQ6IHtvcGFjaXR5OiAwfSwgZW5kOiB7b3BhY2l0eTog
MX19CiAgICAgICAgIF07CiAKLSAgICAgICAgdGhpcy5fZHJhd2VyU3RhdHVzQmFyLmluc2VydEJl
Zm9yZShhbmNob3JlZEl0ZW1zLCB0aGlzLl9kcmF3ZXJTdGF0dXNCYXIuZmlyc3RDaGlsZCk7Ci0K
LSAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzKSB7Ci0gICAgICAgICAgICB2
YXIgb2xkUmlnaHQgPSB0aGlzLl9kcmF3ZXJTdGF0dXNCYXIuY2xpZW50V2lkdGggLSAodGhpcy5f
Y291bnRlcnMub2Zmc2V0TGVmdCArIHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzLm9mZnNldFdp
ZHRoKTsKLSAgICAgICAgICAgIHZhciBuZXdSaWdodCA9IFdlYkluc3BlY3Rvci5QYW5lbC5jb3Vu
dGVyUmlnaHRNYXJnaW47Ci0gICAgICAgICAgICB2YXIgcmlnaHRQYWRkaW5nID0gKG9sZFJpZ2h0
IC0gbmV3UmlnaHQpOwotICAgICAgICAgICAgYW5pbWF0aW9ucy5wdXNoKHtlbGVtZW50OiB0aGlz
Ll9jdXJyZW50UGFuZWxDb3VudGVycywgc3RhcnQ6IHsicGFkZGluZy1yaWdodCI6IHJpZ2h0UGFk
ZGluZ30sIGVuZDogeyJwYWRkaW5nLXJpZ2h0IjogMH19KTsKLSAgICAgICAgICAgIHRoaXMuX2N1
cnJlbnRQYW5lbENvdW50ZXJzLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5fY3VycmVudFBh
bmVsQ291bnRlcnMpOwotICAgICAgICAgICAgdGhpcy5fbWFpblN0YXR1c0Jhci5hcHBlbmRDaGls
ZCh0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycyk7Ci0gICAgICAgIH0KLSAgICAgICAgCiAgICAg
ICAgIGZ1bmN0aW9uIGFuaW1hdGlvbkZpbmlzaGVkKCkKICAgICAgICAgewogICAgICAgICAgICAg
V2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCkuZG9SZXNpemUoKTsKICAg
ICAgICAgICAgIGlmICh0aGlzLl92aWV3ICYmIHRoaXMuX3ZpZXcuYWZ0ZXJTaG93KQogICAgICAg
ICAgICAgICAgIHRoaXMuX3ZpZXcuYWZ0ZXJTaG93KCk7CiAgICAgICAgICAgICBkZWxldGUgdGhp
cy5fY3VycmVudEFuaW1hdGlvbjsKLSAgICAgICAgICAgIGlmICh0aGlzLl9jdXJyZW50UGFuZWxD
b3VudGVycykKLSAgICAgICAgICAgICAgICB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycy5yZW1v
dmVBdHRyaWJ1dGUoInN0eWxlIik7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9jdXJyZW50
QW5pbWF0aW9uID0gV2ViSW5zcGVjdG9yLmFuaW1hdGVTdHlsZShhbmltYXRpb25zLCB0aGlzLl9h
bmltYXRpb25EdXJhdGlvbihhbmltYXRpb25UeXBlKSwgYW5pbWF0aW9uRmluaXNoZWQuYmluZCh0
aGlzKSk7CkBAIC0xNDcsNDUgKzEyMywyNyBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlw
ZSA9IHsKIAogICAgICAgICBXZWJJbnNwZWN0b3IucmVzdG9yZUZvY3VzRnJvbUVsZW1lbnQodGhp
cy5lbGVtZW50KTsKIAotICAgICAgICB2YXIgYW5jaG9yZWRJdGVtcyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJhbmNob3JlZC1zdGF0dXMtYmFyLWl0ZW1zIik7Ci0KICAgICAgICAgLy8gVGVt
cG9yYXJpbHkgc2V0IHByb3BlcnRpZXMgYW5kIGNsYXNzZXMgdG8gbWltaWMgdGhlIHBvc3QtYW5p
bWF0aW9uIHZhbHVlcyBzbyBwYW5lbHMKICAgICAgICAgLy8gbGlrZSBFbGVtZW50cyBpbiB0aGVp
ciB1cGRhdGVTdGF0dXNCYXJJdGVtcyBjYWxsIHdpbGwgc2l6ZSB0aGluZ3MgdG8gZml0IHRoZSBm
aW5hbCBsb2NhdGlvbi4KLSAgICAgICAgdGhpcy5fbWFpblN0YXR1c0Jhci5zdHlsZS5zZXRQcm9w
ZXJ0eSgicGFkZGluZy1sZWZ0IiwgKGFuY2hvcmVkSXRlbXMub2Zmc2V0V2lkdGggLSAxKSArICJw
eCIpOwogICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZVN0eWxlQ2xhc3MoImRyYXdlci12aXNp
YmxlIik7CiAgICAgICAgIFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgp
LnN0YXR1c0JhclJlc2l6ZWQoKTsKICAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRTdHlsZUNsYXNz
KCJkcmF3ZXItdmlzaWJsZSIpOwogCiAgICAgICAgIHZhciBhbmltYXRpb25zID0gWwogICAgICAg
ICAgICAge2VsZW1lbnQ6IHRoaXMuX21haW5FbGVtZW50LCBlbmQ6IHtib3R0b206IDB9fSwKLSAg
ICAgICAgICAgIHtlbGVtZW50OiB0aGlzLl9tYWluU3RhdHVzQmFyLCBzdGFydDogeyJwYWRkaW5n
LWxlZnQiOiAwfSwgZW5kOiB7InBhZGRpbmctbGVmdCI6IGFuY2hvcmVkSXRlbXMub2Zmc2V0V2lk
dGggLSAxfX0sCisgICAgICAgICAgICB7ZWxlbWVudDogdGhpcy5lbGVtZW50LCBlbmQ6IHtoZWln
aHQ6IDB9fSwKKyAgICAgICAgICAgIHtlbGVtZW50OiB0aGlzLl9mbG9hdGluZ1N0YXR1c0JhckNv
bnRhaW5lciwgc3RhcnQ6IHsicGFkZGluZy1sZWZ0IjogMH0sIGVuZDogeyJwYWRkaW5nLWxlZnQi
OiB0aGlzLl9ib3R0b21TdGF0dXNCYXIub2Zmc2V0TGVmdH0gfSwKICAgICAgICAgICAgIHtlbGVt
ZW50OiB0aGlzLl92aWV3U3RhdHVzQmFyLCBzdGFydDoge29wYWNpdHk6IDF9LCBlbmQ6IHtvcGFj
aXR5OiAwfX0KICAgICAgICAgXTsKIAotICAgICAgICBpZiAodGhpcy5fY3VycmVudFBhbmVsQ291
bnRlcnMpIHsKLSAgICAgICAgICAgIHZhciBuZXdSaWdodCA9IHRoaXMuX2RyYXdlclN0YXR1c0Jh
ci5jbGllbnRXaWR0aCAtIHRoaXMuX2NvdW50ZXJzLm9mZnNldExlZnQ7Ci0gICAgICAgICAgICB2
YXIgb2xkUmlnaHQgPSB0aGlzLl9tYWluU3RhdHVzQmFyLmNsaWVudFdpZHRoIC0gKHRoaXMuX2N1
cnJlbnRQYW5lbENvdW50ZXJzLm9mZnNldExlZnQgKyB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVy
cy5vZmZzZXRXaWR0aCk7Ci0gICAgICAgICAgICB2YXIgcmlnaHRQYWRkaW5nID0gKG5ld1JpZ2h0
IC0gb2xkUmlnaHQpOwotICAgICAgICAgICAgYW5pbWF0aW9ucy5wdXNoKHtlbGVtZW50OiB0aGlz
Ll9jdXJyZW50UGFuZWxDb3VudGVycywgc3RhcnQ6IHsicGFkZGluZy1yaWdodCI6IDB9LCBlbmQ6
IHsicGFkZGluZy1yaWdodCI6IHJpZ2h0UGFkZGluZ319KTsKLSAgICAgICAgfQotCiAgICAgICAg
IGZ1bmN0aW9uIGFuaW1hdGlvbkZpbmlzaGVkKCkKICAgICAgICAgewogICAgICAgICAgICAgV2Vi
SW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCkuZG9SZXNpemUoKTsKLSAgICAg
ICAgICAgIHRoaXMuX21haW5TdGF0dXNCYXIuaW5zZXJ0QmVmb3JlKGFuY2hvcmVkSXRlbXMsIHRo
aXMuX21haW5TdGF0dXNCYXIuZmlyc3RDaGlsZCk7Ci0gICAgICAgICAgICB0aGlzLl9tYWluU3Rh
dHVzQmFyLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJwYWRkaW5nLWxlZnQiKTsKLQotICAgICAgICAg
ICAgaWYgKHRoaXMuX3ZpZXcuY291bnRlckVsZW1lbnQpCi0gICAgICAgICAgICAgICAgdGhpcy5f
dmlldy5jb3VudGVyRWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuX3ZpZXcuY291
bnRlckVsZW1lbnQpOwotCi0gICAgICAgICAgICBpZiAodGhpcy5fY3VycmVudFBhbmVsQ291bnRl
cnMpIHsKLSAgICAgICAgICAgICAgICB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycy5zZXRBdHRy
aWJ1dGUoInN0eWxlIiwgbnVsbCk7Ci0gICAgICAgICAgICAgICAgdGhpcy5fY3VycmVudFBhbmVs
Q291bnRlcnMucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVy
cyk7Ci0gICAgICAgICAgICAgICAgdGhpcy5fY291bnRlcnMuaW5zZXJ0QmVmb3JlKHRoaXMuX2N1
cnJlbnRQYW5lbENvdW50ZXJzLCB0aGlzLl9jb3VudGVycy5maXJzdENoaWxkKTsKLSAgICAgICAg
ICAgIH0KLQorICAgICAgICAgICAgCiAgICAgICAgICAgICB0aGlzLl92aWV3LmRldGFjaCgpOwog
ICAgICAgICAgICAgZGVsZXRlIHRoaXMuX3ZpZXc7CisgICAgICAgICAgICB0aGlzLl9ib3R0b21T
dGF0dXNCYXIucmVtb3ZlQ2hpbGRyZW4oKTsKKyAgICAgICAgICAgIHRoaXMuX2JvdHRvbVN0YXR1
c0Jhci5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFuZWwtc3RhdHVzLWJh
ciIpKTsKICAgICAgICAgICAgIHRoaXMuX2RyYXdlckNvbnRlbnRzRWxlbWVudC5yZW1vdmVDaGls
ZHJlbigpOwogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVTdHlsZUNsYXNzKCJkcmF3
ZXItdmlzaWJsZSIpOwogICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2N1cnJlbnRBbmltYXRpb247
CkBAIC0yMTQsMjIgKzE3Miw2IEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgdGhpcy5fY3VycmVudEFuaW1hdGlvbi5mb3JjZUNvbXBsZXRlKCk7CiAgICAg
fSwKIAotICAgIHNldCBjdXJyZW50UGFuZWxDb3VudGVycyh4KQotICAgIHsKLSAgICAgICAgaWYg
KCF4KSB7Ci0gICAgICAgICAgICBpZiAodGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnMpCi0gICAg
ICAgICAgICAgICAgdGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnMucGFyZW50RWxlbWVudC5yZW1v
dmVDaGlsZCh0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycyk7Ci0gICAgICAgICAgICBkZWxldGUg
dGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnM7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IH0KLQotICAgICAgICB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycyA9IHg7Ci0gICAgICAgIGlm
ICh0aGlzLnZpc2libGUpCi0gICAgICAgICAgICB0aGlzLl9tYWluU3RhdHVzQmFyLmFwcGVuZENo
aWxkKHgpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0aGlzLl9jb3VudGVycy5pbnNlcnRC
ZWZvcmUoeCwgdGhpcy5fY291bnRlcnMuZmlyc3RDaGlsZCk7Ci0gICAgfSwKLQogICAgIF9hbmlt
YXRpb25EdXJhdGlvbjogZnVuY3Rpb24oYW5pbWF0aW9uVHlwZSkKICAgICB7CiAgICAgICAgIHN3
aXRjaCAoYW5pbWF0aW9uVHlwZSkgewpAQCAtMjQ3LDcgKzE4OSw3IEBAIFdlYkluc3BlY3Rvci5E
cmF3ZXIucHJvdG90eXBlID0gewogICAgICAqLwogICAgIF9zdGFydFN0YXR1c0JhckRyYWdnaW5n
OiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlIHx8IGV2
ZW50LnRhcmdldCAhPT0gdGhpcy5fbWFpblN0YXR1c0JhcikKKyAgICAgICAgaWYgKCF0aGlzLnZp
c2libGUgfHwgZXZlbnQudGFyZ2V0ICE9PSB0aGlzLl9mbG9hdGluZ1N0YXR1c0JhckNvbnRhaW5l
cikKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICB0aGlzLl92aWV3LnN0b3Jl
U2Nyb2xsUG9zaXRpb25zKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Q
YW5lbC5qcwppbmRleCA3ODkxYTBiNWY1ZWUxOTdiZjUzZDYwN2QzMTQ4Y2Y4MDRhOGViYjFmLi5m
NjVmNWVhMzBmNzY5YzcxMWJhYzkyNDQxZmEwZjgxODY5OTVjNjE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanMKQEAgLTczLDcgKzczLDcgQEAgV2ViSW5z
cGVjdG9yLlBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMuX3N0YXR1c0Jhckl0
ZW1Db250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgc3RhdHVzQmFySXRlbXMubGVuZ3RoOyArK2kpCiAgICAgICAg
ICAgICAgICAgdGhpcy5fc3RhdHVzQmFySXRlbUNvbnRhaW5lci5hcHBlbmRDaGlsZChzdGF0dXNC
YXJJdGVtc1tpXSk7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFpbi1z
dGF0dXMtYmFyIikuYXBwZW5kQ2hpbGQodGhpcy5fc3RhdHVzQmFySXRlbUNvbnRhaW5lcik7Cisg
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFuZWwtc3RhdHVzLWJhciIpLmFw
cGVuZENoaWxkKHRoaXMuX3N0YXR1c0Jhckl0ZW1Db250YWluZXIpOwogICAgICAgICB9CiAKICAg
ICAgICAgaWYgKCJfdG9vbGJhckl0ZW0iIGluIHRoaXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMKaW5kZXggZDdjYzljYjNlMDJj
M2NmNzI0ODJmZWUwMGY3ZDg4ZmJmOWQ1Mzc0ZC4uZjlhN2Y4MWEwMmJkMDY0M2VkZmM5ZjEzOGZm
MjQ5MTc5MGU4MmU5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9UaW1lbGluZVBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVGltZWxpbmVQYW5lbC5qcwpAQCAtMjAyLDcgKzIwMiwxNCBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICBnZXQgc3RhdHVzQmFySXRlbXMoKQog
ICAgIHsKLSAgICAgICAgdmFyIHN0YXR1c0Jhckl0ZW1zID0gWyB0aGlzLnRvZ2dsZUZpbHRlckJ1
dHRvbi5lbGVtZW50LCB0aGlzLnRvZ2dsZVRpbWVsaW5lQnV0dG9uLmVsZW1lbnQsIHRoaXMuY2xl
YXJCdXR0b24uZWxlbWVudCwgdGhpcy5nYXJiYWdlQ29sbGVjdEJ1dHRvbi5lbGVtZW50LCB0aGlz
Ll9nbHVlUGFyZW50QnV0dG9uLmVsZW1lbnQsIHRoaXMuc3RhdHVzQmFyRmlsdGVycyBdOworICAg
ICAgICB2YXIgc3RhdHVzQmFySXRlbXMgPSBbCisgICAgICAgICAgICB0aGlzLnRvZ2dsZUZpbHRl
ckJ1dHRvbi5lbGVtZW50LAorICAgICAgICAgICAgdGhpcy50b2dnbGVUaW1lbGluZUJ1dHRvbi5l
bGVtZW50LAorICAgICAgICAgICAgdGhpcy5jbGVhckJ1dHRvbi5lbGVtZW50LCB0aGlzLmdhcmJh
Z2VDb2xsZWN0QnV0dG9uLmVsZW1lbnQsCisgICAgICAgICAgICB0aGlzLl9nbHVlUGFyZW50QnV0
dG9uLmVsZW1lbnQsCisgICAgICAgICAgICB0aGlzLnN0YXR1c0JhckZpbHRlcnMsCisgICAgICAg
ICAgICB0aGlzLnJlY29yZHNDb3VudGVyCisgICAgICAgIF07CiAKICAgICAgICAgcmV0dXJuIHN0
YXR1c0Jhckl0ZW1zOwogICAgIH0sCkBAIC01OTIsMTMgKzU5OSwxMSBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KICAgICAgICAgdGhpcy5fb3Zl
cnZpZXdQYW5lLnNldE1vZGUodGhpcy5fb3ZlcnZpZXdNb2RlU2V0dGluZy5nZXQoKSk7CiAgICAg
ICAgIHRoaXMuX3JlZnJlc2goKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmRyYXdlci5jdXJyZW50
UGFuZWxDb3VudGVycyA9IHRoaXMucmVjb3Jkc0NvdW50ZXI7CiAgICAgfSwKIAogICAgIHdpbGxI
aWRlOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0aGlzLl9jbG9zZVJlY29yZERldGFpbHMo
KTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmRyYXdlci5jdXJyZW50UGFuZWxDb3VudGVycyA9IG51
bGw7CiAgICAgICAgIFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUud2lsbEhpZGUuY2FsbCh0
aGlzKTsKICAgICB9LAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL2VsZW1lbnRzUGFuZWwuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9lbGVtZW50c1BhbmVsLmNzcwppbmRleCA2ODdhMWI4YjFlZDQ2Nzk2NGZiMDliZjdiMWVl
OTU2NmVmMmMzMzU3Li4yN2JkM2Q4MTRmYjIxYzc1YmYzMzM4M2NiOGM5MjM1MzgwY2Y2YzkwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2VsZW1lbnRzUGFu
ZWwuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvZWxlbWVudHNQ
YW5lbC5jc3MKQEAgLTYxLDYgKzYxLDggQEAKIAogLmNydW1icyB7CiAgICAgZGlzcGxheTogaW5s
aW5lLWJsb2NrOworICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOworICAgIGN1cnNvcjogZGVmYXVs
dDsKICAgICBmb250LXNpemU6IDExcHg7CiAgICAgbGluZS1oZWlnaHQ6IDE5cHg7CiAgICAgdGV4
dC1zaGFkb3c6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkgMCAxcHggMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwppbmRleCAzOGExZmQw
MGE5NDA1ZGVhNTQ0YTFkNGFiOWQwZjgyYjUxNDllMzJkLi40YWJkZmEzNmY3MDc2MDc5MWQ2MTA0
ZDViMjAxZjBjODJjOWU5NjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9pbnNwZWN0b3IuY3NzCkBAIC00ODQsNyArNDg0LDYgQEAgYm9keTpub3QoLnBsYXRm
b3JtLW1hYykgLnRvb2xiYXItaXRlbS5jbG9zZS1sZWZ0IHsKICAgICByaWdodDogMDsKICAgICBi
b3R0b206IDA7CiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3
aGl0ZTsKIH0KIAogYm9keS5jb21wYWN0ICNtYWluIHsKQEAgLTUwMCw2ICs0OTksMTAgQEAgYm9k
eS5jb21wYWN0ICNtYWluIHsKICAgICBvdmVyZmxvdzogaGlkZGVuOwogfQogCitib2R5LmRyYXdl
ci12aXNpYmxlICNtYWluLXBhbmVscyB7CisgICAgYm90dG9tOiAyNHB4OworfQorCiAjbWFpbi1z
dGF0dXMtYmFyIHsKICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgYm90dG9tOiAwOwpAQCAt
NTA3LDI3ICs1MTAsNiBAQCBib2R5LmNvbXBhY3QgI21haW4gewogICAgIHJpZ2h0OiAwOwogfQog
Ci1ib2R5LmRyYXdlci12aXNpYmxlICNtYWluLXN0YXR1cy1iYXIgewotICAgIGhlaWdodDogMjRw
eDsKLSAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiKDIwMiwgMjAyLCAyMDIpOwotICAg
IGN1cnNvcjogbnMtcmVzaXplOwotfQotCi1ib2R5LmRyYXdlci12aXNpYmxlICNtYWluLXN0YXR1
cy1iYXI6OmFmdGVyIHsKLSAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgcmlnaHQ6IDA7Ci0g
ICAgdG9wOiA1cHg7Ci0gICAgY29udGVudDogdXJsKEltYWdlcy9zdGF0dXNiYXJSZXNpemVyVmVy
dGljYWwucG5nKTsKLX0KLQotYm9keS5kcmF3ZXItdmlzaWJsZSAjbWFpbi1zdGF0dXMtYmFyICog
ewotICAgIGN1cnNvcjogZGVmYXVsdDsKLX0KLQotYm9keS5kcmF3ZXItdmlzaWJsZSAjbWFpbi1w
YW5lbHMgewotICAgIGJvdHRvbTogMjRweDsKLX0KLQogLnN0YXR1cy1iYXIgewogICAgIHdoaXRl
LXNwYWNlOiBub3dyYXA7CiAgICAgaGVpZ2h0OiAyM3B4OwpAQCAtNTM1LDYgKzUxNyw3IEBAIGJv
ZHkuZHJhd2VyLXZpc2libGUgI21haW4tcGFuZWxzIHsKICAgICB6LWluZGV4OiAxMjsKICAgICBi
YWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2IoMjUzLDI1MywyNTMp
LCByZ2IoMjMwLDIzMCwyMzApIDc1JSwgcmdiKDIzMCwyMzAsMjMwKSk7CiAgICAgYm9yZGVyLXRv
cDogMXB4IHNvbGlkIHJnYigyMDIsIDIwMiwgMjAyKTsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWZs
ZXg7CiB9CiAKIC5zdGF0dXMtYmFyID4gZGl2IHsKQEAgLTU0NSw2ICs1MjgsOSBAQCBib2R5LmRy
YXdlci12aXNpYmxlICNtYWluLXBhbmVscyB7CiAKIC5zdGF0dXMtYmFyLWl0ZW0gewogICAgIGRp
c3BsYXk6IGlubGluZS1ibG9jazsKKyAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKKyAgICBjdXJz
b3I6IGRlZmF1bHQ7CisgICAgLXdlYmtpdC1mbGV4OiAwOwogICAgIGhlaWdodDogMjRweDsKICAg
ICBwYWRkaW5nOiAwOwogICAgIG1hcmdpbi1sZWZ0OiAtMXB4OwpAQCAtNTU0LDYgKzU0MCwzNyBA
QCBib2R5LmRyYXdlci12aXNpYmxlICNtYWluLXBhbmVscyB7CiAgICAgYmFja2dyb3VuZC1jb2xv
cjogdHJhbnNwYXJlbnQ7CiB9CiAKKyNmbG9hdGluZy1zdGF0dXMtYmFyLWNvbnRhaW5lciB7Cisg
ICAgcG9zaXRpb246IGFic29sdXRlOworICAgIGxlZnQ6IDA7CisgICAgcmlnaHQ6IDA7CisgICAg
Ym90dG9tOiAwOworICAgIGRpc3BsYXk6IG5vbmU7CisgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNv
bGlkIHJnYigyMDIsIDIwMiwgMjAyKTsKKyAgICBjdXJzb3I6IG5zLXJlc2l6ZTsKKyAgICBoZWln
aHQ6IDI0cHg7Cit9CisKK2JvZHkuZHJhd2VyLXZpc2libGUgI2Zsb2F0aW5nLXN0YXR1cy1iYXIt
Y29udGFpbmVyIHsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7Cit9CisKKyNmbG9hdGluZy1z
dGF0dXMtYmFyLXJlc2l6ZXIgeworICAgIGNvbnRlbnQ6IHVybChJbWFnZXMvc3RhdHVzYmFyUmVz
aXplclZlcnRpY2FsLnBuZyk7CisgICAgbWFyZ2luLXRvcDogN3B4OworICAgIHBvaW50ZXItZXZl
bnRzOiBub25lOworfQorCisjcGFuZWwtc3RhdHVzLWJhciB7CisgICAgLXdlYmtpdC1mbGV4OiAx
IDA7CisgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OworICAgIHBvaW50ZXItZXZlbnRzOiBub25l
OworfQorCisjcGFuZWwtc3RhdHVzLWJhciA+IGRpdiB7CisgICAgd2lkdGg6IDEwMCU7Cit9CisK
IC5zdGF0dXMtYmFyLWl0ZW06YWN0aXZlIHsKICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAg
ei1pbmRleDogMjAwOwpAQCAtNjczLDExICs2OTAsNiBAQCBidXR0b24uZG9jay1zdGF0dXMtYmFy
LWl0ZW0uc3RhdHVzLWJhci1pdGVtLnRvZ2dsZWQtcmlnaHQgLmdseXBoIHsKICAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpOwogfQogCi1idXR0b24uc2V0dGluZ3Mtc3Rh
dHVzLWJhci1pdGVtIHsKLSAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgcmlnaHQ6IDA7Ci19
Ci0KIGJvZHkuZGV0YWNoZWQgLmFsdGVybmF0ZS1zdGF0dXMtYmFyLWJ1dHRvbnMtYmFyIHsKICAg
ICBtYXJnaW4tbGVmdDogMXB4OwogfQpAQCAtNzE4LDE4ICs3MzAsMTEgQEAgYm9keS5wb3J0LXF0
ICNkb2NrLXN0YXR1cy1iYXItaXRlbSB7CiAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiAtNjRw
eCAwOwogfQogCi0jY291bnRlcnMgewotICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKLSAgICByaWdo
dDogMzJweDsKLSAgICB0b3A6IDA7Ci0gICAgY3Vyc29yOiBwb2ludGVyOworI2Vycm9yLXdhcm5p
bmctY291bnQgewogICAgIHBhZGRpbmc6IDZweCAycHggNnB4IDBweDsKICAgICBmb250LXNpemU6
IDEwcHg7CiAgICAgaGVpZ2h0OiAxOXB4OwotfQotCi0jZXJyb3Itd2FybmluZy1jb3VudCB7Ci0g
ICAgZGlzcGxheTogaW5saW5lOworICAgIGN1cnNvcjogcG9pbnRlcjsKIH0KIAogI2Vycm9yLXdh
cm5pbmctY291bnQ6aG92ZXIgewpAQCAtNzY0LDExICs3NjksOSBAQCBib2R5LnBvcnQtcXQgI2Rv
Y2stc3RhdHVzLWJhci1pdGVtIHsKICAgICByaWdodDogMDsKICAgICBoZWlnaHQ6IDIwMHB4Owog
ICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOwotICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBl
YXQteDsKLSAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207CiB9CiAKLWJvZHkuZHJhd2Vy
LXZpc2libGUgI2RyYXdlci1jb250ZW50cyB7CisjZHJhd2VyLWNvbnRlbnRzIHsKICAgICBwb3Np
dGlvbjogYWJzb2x1dGU7CiAgICAgdG9wOiAwOwogICAgIGJvdHRvbTogMjRweDsKQEAgLTc4MCwx
MyArNzgzLDYgQEAgYm9keS5kcmF3ZXItdmlzaWJsZSAjZHJhd2VyIHsKICAgICBkaXNwbGF5OiBi
bG9jazsKIH0KIAotI2RyYXdlci1zdGF0dXMtYmFyIHsKLSAgICBwb3NpdGlvbjogYWJzb2x1dGU7
Ci0gICAgYm90dG9tOiAwOwotICAgIGxlZnQ6IDA7Ci0gICAgcmlnaHQ6IDA7Ci19Ci0KIGJvZHku
cGxhdGZvcm0tbWFjIC5tb25vc3BhY2UsIGJvZHkucGxhdGZvcm0tbWFjIC5zb3VyY2UtY29kZSB7
CiAgICAgZm9udC1mYW1pbHk6IE1vbmFjbywgbW9ub3NwYWNlOwogfQpAQCAtMjIyNyw3ICsyMjIz
LDcgQEAgYm9keS5pbmFjdGl2ZSBsaS5zZWxlY3RlZCAuYnViYmxlLnNlYXJjaC1tYXRjaGVzIHsK
IC5zdGF0dXMtYmFyLWl0ZW1zIHsKICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgdG9wOiAw
OwotICAgIGJvdHRvbTogMDsKKyAgICBib3R0b206IDBweDsKICAgICBsZWZ0OiAyMDBweDsKICAg
ICBvdmVyZmxvdzogaGlkZGVuOwogICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiKDE4NCwg
MTg0LCAxODQpOwpAQCAtMjUzOCw2ICsyNTM0LDcgQEAgYm9keS5wbGF0Zm9ybS1tYWMgLnNlYXJj
aC1kcmF3ZXItaGVhZGVyIGlucHV0W3R5cGU9ImNoZWNrYm94Il0uc2VhcmNoLWNvbmZpZy1jaGUK
ICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2IoMTk3LCAxOTcsIDE5Nyk7CiAgICAgbGlu
ZS1oZWlnaHQ6IDIzcHg7CiAgICAgcGFkZGluZy1sZWZ0OiA2cHg7CisgICAgZGlzcGxheTogaW5s
aW5lLWJsb2NrOwogfQogCiAuZHJhd2VyLWhlYWRlci1jbG9zZS1idXR0b24gewpAQCAtMjU1OCw0
OCArMjU1NSw1NSBAQCBib2R5LnBsYXRmb3JtLW1hYyAuc2VhcmNoLWRyYXdlci1oZWFkZXIgaW5w
dXRbdHlwZT0iY2hlY2tib3giXS5zZWFyY2gtY29uZmlnLWNoZQogICAgIG9wYWNpdHk6IDAuNzsK
IH0KIAotI2RyYXdlci1zdGF0dXMtYmFyIC5zZWFyY2gtc3RhdHVzLWJhci1pdGVtIHsKKyNib3R0
b20tc3RhdHVzLWJhci1jb250YWluZXIgeworICAgIC13ZWJraXQtZmxleDogMSAwOworfQorCisu
c2VhcmNoLXN0YXR1cy1iYXItaXRlbSB7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAg
IGN1cnNvcjogcG9pbnRlcjsKICAgICBmb250LXNpemU6IDExcHg7CiAgICAgaGVpZ2h0OiAyM3B4
OwogfQogCi0jZHJhd2VyLXN0YXR1cy1iYXIgLnNlYXJjaC1zdGF0dXMtYmFyLW1lc3NhZ2Ugewor
LnNlYXJjaC1zdGF0dXMtYmFyLW1lc3NhZ2UgewogICAgIG1hcmdpbi1sZWZ0OjVweDsKICAgICBt
YXJnaW4tcmlnaHQ6NXB4OwotICAgIG1hcmdpbi10b3A6NnB4OworICAgIG1hcmdpbi10b3A6NXB4
OwogICAgIGZsb2F0OmxlZnQ7CiB9CiAKLSNkcmF3ZXItc3RhdHVzLWJhciAuc2VhcmNoLXN0YXR1
cy1iYXItcHJvZ3Jlc3MgeworLnNlYXJjaC1zdGF0dXMtYmFyLXByb2dyZXNzIHsKICAgICBoZWln
aHQ6IDExcHg7CiAgICAgd2lkdGg6IDEwMHB4OwogICAgIGZsb2F0OiBsZWZ0OwogfQogCi1ib2R5
Om5vdCgucGxhdGZvcm0tbWFjKSAjZHJhd2VyLXN0YXR1cy1iYXIgLnNlYXJjaC1zdGF0dXMtYmFy
LXByb2dyZXNzIHsKLSAgICBtYXJnaW4tdG9wOiA4cHg7Citib2R5Om5vdCgucGxhdGZvcm0tbWFj
KSAuc2VhcmNoLXN0YXR1cy1iYXItcHJvZ3Jlc3MgeworICAgIG1hcmdpbi10b3A6IDdweDsKIH0K
IAotYm9keS5wbGF0Zm9ybS1tYWMgI2RyYXdlci1zdGF0dXMtYmFyIC5zZWFyY2gtc3RhdHVzLWJh
ci1wcm9ncmVzcyB7Ci0gICAgbWFyZ2luLXRvcDogN3B4OworYm9keS5wbGF0Zm9ybS1tYWMgLnNl
YXJjaC1zdGF0dXMtYmFyLXByb2dyZXNzIHsKKyAgICBtYXJnaW4tdG9wOiA2cHg7CiB9CiAKLSNk
cmF3ZXItc3RhdHVzLWJhciAuc2VhcmNoLXN0YXR1cy1iYXItc3RvcC1idXR0b24taXRlbSB7Cisu
c2VhcmNoLXN0YXR1cy1iYXItc3RvcC1idXR0b24taXRlbSB7CiAgICAgd2lkdGg6IDE5cHg7CiAg
ICAgaGVpZ2h0OiAyNHB4OwogICAgIG92ZXJmbG93OiBoaWRkZW47CiB9CiAKLSNkcmF3ZXItc3Rh
dHVzLWJhciAuc2VhcmNoLXN0YXR1cy1iYXItc3RvcC1idXR0b24gLmdseXBoIHsKKy5zZWFyY2gt
c3RhdHVzLWJhci1zdG9wLWJ1dHRvbiAuZ2x5cGggewogICAgIC13ZWJraXQtbWFzay1wb3NpdGlv
bjogLTk2cHggLTQ4cHg7CiAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIxNiwgMCwgMCkgIWlt
cG9ydGFudDsKIH0KIAotI2RyYXdlci1zdGF0dXMtYmFyIC5zZWFyY2gtcmVzdWx0cy1zdGF0dXMt
YmFyLW1lc3NhZ2UgeworLnNlYXJjaC1yZXN1bHRzLXN0YXR1cy1iYXItbWVzc2FnZSB7CiAgICAg
bWFyZ2luLXJpZ2h0OiAxMHB4OwogICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICBmb250LXNpemU6
IDExcHg7CisgICAgZmxvYXQ6IHJpZ2h0OworICAgIG1hcmdpbi10b3A6IDVweDsKIH0KIAogLnNl
YXJjaC12aWV3IC5zZWFyY2gtcmVzdWx0cyB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAppbmRleCA2MTkwNjQwZTMzMmJjODk2MGFlYzMz
ODhkNjk0OGU2Yjk2NmE5NTM1Li44NWM2Mjg1NTNiNjcyYWFmMDQ3YTk0N2Y1YWEzZGM3NTY0NTJi
ZDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3Bl
Y3Rvci5odG1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmh0bWwKQEAgLTIzMiw4ICsyMzIsMTQgQEAgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAgICAgICAgPC9kaXY+CiAg
ICAgPC9kaXY+CiAgICAgPGRpdiBpZD0ibWFpbiI+Ci0gICAgICAgIDxkaXYgaWQ9Im1haW4tc3Rh
dHVzLWJhciIgY2xhc3M9InN0YXR1cy1iYXIiPjxkaXYgaWQ9ImFuY2hvcmVkLXN0YXR1cy1iYXIt
aXRlbXMiPjxkaXYgaWQ9ImNvdW50ZXJzIj48ZGl2IGlkPSJlcnJvci13YXJuaW5nLWNvdW50IiBj
bGFzcz0iaGlkZGVuIj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
ZmxvYXRpbmctc3RhdHVzLWJhci1jb250YWluZXIiIGNsYXNzPSJzdGF0dXMtYmFyIj48ZGl2IGlk
PSJmbG9hdGluZy1zdGF0dXMtYmFyLXJlc2l6ZXIiPjwvZGl2PjwvZGl2PgogICAgIDwvZGl2Pgog
ICAgIDxkaXYgaWQ9ImRyYXdlciI+PC9kaXY+CisgICAgPGRpdiBpZD0ibWFpbi1zdGF0dXMtYmFy
IiBjbGFzcz0ic3RhdHVzLWJhciI+CisgICAgICAgIDxkaXYgaWQ9ImJvdHRvbS1zdGF0dXMtYmFy
LWNvbnRhaW5lciI+CisgICAgICAgICAgICA8ZGl2IGlkPSJwYW5lbC1zdGF0dXMtYmFyIj48L2Rp
dj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImVycm9yLXdhcm5pbmctY291bnQi
IGNsYXNzPSJoaWRkZW4iPjwvZGl2PgorICAgIDwvZGl2PgogPC9ib2R5PgogPC9odG1sPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwppbmRleCA2
ZGI5Mjg2NmE1NGI5ZWZhOWMyYjI3OGRhZmRhMjk2NmJjNjBkMWZhLi42YjRlMDdkZmQzNTZlMjUy
OGQ1ZDI1NzRjYWJkODMwYjllY2EzNWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwpAQCAtNzAsMjEgKzcwLDIyIEBAIHZhciBXZWJJbnNw
ZWN0b3IgPSB7CiAKICAgICBfY3JlYXRlR2xvYmFsU3RhdHVzQmFySXRlbXM6IGZ1bmN0aW9uKCkK
ICAgICB7CisgICAgICAgIHZhciBib3R0b21TdGF0dXNCYXJDb250YWluZXIgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiYm90dG9tLXN0YXR1cy1iYXItY29udGFpbmVyIik7CiAgICAgICAgIHRo
aXMuX2RvY2tUb2dnbGVCdXR0b24gPSBuZXcgV2ViSW5zcGVjdG9yLlN0YXR1c0JhckJ1dHRvbigi
IiwgImRvY2stc3RhdHVzLWJhci1pdGVtIiwgMyk7CiAgICAgICAgIHRoaXMuX2RvY2tUb2dnbGVC
dXR0b24ubWFrZUxvbmdDbGlja0VuYWJsZWQodGhpcy5fY3JlYXRlRG9ja09wdGlvbnMuYmluZCh0
aGlzKSk7CiAgICAgICAgIHRoaXMuX2RvY2tUb2dnbGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCB0aGlzLl90b2dnbGVBdHRhY2guYmluZCh0aGlzKSwgZmFsc2UpOwogICAgICAgICB0
aGlzLl91cGRhdGVEb2NrQnV0dG9uU3RhdGUoKTsKIAotICAgICAgICB2YXIgYW5jaG9yZWRTdGF0
dXNCYXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYW5jaG9yZWQtc3RhdHVzLWJhci1pdGVt
cyIpOwotICAgICAgICBhbmNob3JlZFN0YXR1c0Jhci5hcHBlbmRDaGlsZCh0aGlzLl9kb2NrVG9n
Z2xlQnV0dG9uLmVsZW1lbnQpOworICAgICAgICB2YXIgbWFpblN0YXR1c0JhciA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJtYWluLXN0YXR1cy1iYXIiKTsKKyAgICAgICAgbWFpblN0YXR1c0Jh
ci5pbnNlcnRCZWZvcmUodGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbi5lbGVtZW50LCBib3R0b21TdGF0
dXNCYXJDb250YWluZXIpOwogCiAgICAgICAgIHRoaXMuX3RvZ2dsZUNvbnNvbGVCdXR0b24gPSBu
ZXcgV2ViSW5zcGVjdG9yLlN0YXR1c0JhckJ1dHRvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNo
b3cgY29uc29sZS4iKSwgImNvbnNvbGUtc3RhdHVzLWJhci1pdGVtIik7CiAgICAgICAgIHRoaXMu
X3RvZ2dsZUNvbnNvbGVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl90b2dn
bGVDb25zb2xlQnV0dG9uQ2xpY2tlZC5iaW5kKHRoaXMpLCBmYWxzZSk7Ci0gICAgICAgIGFuY2hv
cmVkU3RhdHVzQmFyLmFwcGVuZENoaWxkKHRoaXMuX3RvZ2dsZUNvbnNvbGVCdXR0b24uZWxlbWVu
dCk7CisgICAgICAgIG1haW5TdGF0dXNCYXIuaW5zZXJ0QmVmb3JlKHRoaXMuX3RvZ2dsZUNvbnNv
bGVCdXR0b24uZWxlbWVudCwgYm90dG9tU3RhdHVzQmFyQ29udGFpbmVyKTsKIAogICAgICAgICBp
ZiAodGhpcy5wYW5lbHMuZWxlbWVudHMpCi0gICAgICAgICAgICBhbmNob3JlZFN0YXR1c0Jhci5h
cHBlbmRDaGlsZCh0aGlzLnBhbmVscy5lbGVtZW50cy5ub2RlU2VhcmNoQnV0dG9uLmVsZW1lbnQp
OwotICAgICAgICBhbmNob3JlZFN0YXR1c0Jhci5hcHBlbmRDaGlsZCh0aGlzLnNldHRpbmdzQ29u
dHJvbGxlci5zdGF0dXNCYXJJdGVtKTsKKyAgICAgICAgICAgIG1haW5TdGF0dXNCYXIuaW5zZXJ0
QmVmb3JlKHRoaXMucGFuZWxzLmVsZW1lbnRzLm5vZGVTZWFyY2hCdXR0b24uZWxlbWVudCwgYm90
dG9tU3RhdHVzQmFyQ29udGFpbmVyKTsKKyAgICAgICAgbWFpblN0YXR1c0Jhci5hcHBlbmRDaGls
ZCh0aGlzLnNldHRpbmdzQ29udHJvbGxlci5zdGF0dXNCYXJJdGVtKTsKICAgICB9LAogCiAgICAg
X2NyZWF0ZURvY2tPcHRpb25zOiBmdW5jdGlvbigpCkBAIC0xODAsMjEgKzE4MSwxNiBAQCB2YXIg
V2ViSW5zcGVjdG9yID0gewogICAgICAgICB0aGlzLl9jbG9zZVByZXZpb3VzRHJhd2VyVmlldygp
OwogCiAgICAgICAgIHZhciBkcmF3ZXJTdGF0dXNCYXJIZWFkZXIgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKLSAgICAgICAgZHJhd2VyU3RhdHVzQmFySGVhZGVyLmNsYXNzTmFtZSA9
ICJkcmF3ZXItaGVhZGVyIjsKKyAgICAgICAgZHJhd2VyU3RhdHVzQmFySGVhZGVyLmNsYXNzTmFt
ZSA9ICJkcmF3ZXItaGVhZGVyIHN0YXR1cy1iYXItaXRlbSI7CiAgICAgICAgIGRyYXdlclN0YXR1
c0JhckhlYWRlci5hcHBlbmRDaGlsZChzdGF0dXNCYXJFbGVtZW50KTsKICAgICAgICAgZHJhd2Vy
U3RhdHVzQmFySGVhZGVyLm9uY2xvc2UgPSBvbmNsb3NlOwogCiAgICAgICAgIHZhciBjbG9zZUJ1
dHRvbiA9IGRyYXdlclN0YXR1c0JhckhlYWRlci5jcmVhdGVDaGlsZCgic3BhbiIpOwogICAgICAg
ICBjbG9zZUJ1dHRvbi50ZXh0Q29udGVudCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiXHUwMEQ3
Iik7CiAgICAgICAgIGNsb3NlQnV0dG9uLmFkZFN0eWxlQ2xhc3MoImRyYXdlci1oZWFkZXItY2xv
c2UtYnV0dG9uIik7Ci0gICAgICAgIGNsb3NlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNr
IiwgY2xvc2VCdXR0b25QcmVzc2VkLmJpbmQodGhpcyksIGZhbHNlKTsKKyAgICAgICAgY2xvc2VC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLmNsb3NlVmlld0luRHJhd2VyLmJp
bmQodGhpcyksIGZhbHNlKTsKIAotICAgICAgICBmdW5jdGlvbiBjbG9zZUJ1dHRvblByZXNzZWQo
ZXZlbnQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHRoaXMuY2xvc2VWaWV3SW5EcmF3ZXIoKTsK
LSAgICAgICAgfQotCi0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYWluLXN0YXR1
cy1iYXIiKS5hcHBlbmRDaGlsZChkcmF3ZXJTdGF0dXNCYXJIZWFkZXIpOworICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFuZWwtc3RhdHVzLWJhciIpLmZpcnN0RWxlbWVudENoaWxk
LmFwcGVuZENoaWxkKGRyYXdlclN0YXR1c0JhckhlYWRlcik7CiAgICAgICAgIHRoaXMuX2RyYXdl
clN0YXR1c0JhckhlYWRlciA9IGRyYXdlclN0YXR1c0JhckhlYWRlcjsKICAgICAgICAgdGhpcy5k
cmF3ZXIuc2hvdyh2aWV3LCBXZWJJbnNwZWN0b3IuRHJhd2VyLkFuaW1hdGlvblR5cGUuSW1tZWRp
YXRlbHkpOwogICAgIH0sCkBAIC0yMTUsNyArMjExLDcgQEAgdmFyIFdlYkluc3BlY3RvciA9IHsK
ICAgICBfY2xvc2VQcmV2aW91c0RyYXdlclZpZXc6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAg
IGlmICh0aGlzLl9kcmF3ZXJTdGF0dXNCYXJIZWFkZXIpIHsKLSAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJtYWluLXN0YXR1cy1iYXIiKS5yZW1vdmVDaGlsZCh0aGlzLl9kcmF3
ZXJTdGF0dXNCYXJIZWFkZXIpOworICAgICAgICAgICAgdGhpcy5fZHJhd2VyU3RhdHVzQmFySGVh
ZGVyLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5fZHJhd2VyU3RhdHVzQmFySGVhZGVy
KTsKICAgICAgICAgICAgIGlmICh0aGlzLl9kcmF3ZXJTdGF0dXNCYXJIZWFkZXIub25jbG9zZSkK
ICAgICAgICAgICAgICAgICB0aGlzLl9kcmF3ZXJTdGF0dXNCYXJIZWFkZXIub25jbG9zZSgpOwog
ICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2RyYXdlclN0YXR1c0JhckhlYWRlcjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGltZWxpbmVQYW5lbC5jc3Mg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RpbWVsaW5lUGFuZWwuY3NzCmlu
ZGV4IDZmZjU0MmVhZTEwZDkzMzJlMjM2NGU3YjI4MTRiZmFkNjQwYWVkZDkuLjU2YzYzZWE2Y2M0
ZmM5ZDg1NDMxNmMxMGVmMzFkMmUwMTc1YmMwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvdGltZWxpbmVQYW5lbC5jc3MKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC90aW1lbGluZVBhbmVsLmNzcwpAQCAtNDIzLDE1ICs0MjMs
MTAgQEAKICAgICB0ZXh0LXNoYWRvdzogd2hpdGUgMCAxcHggMDsKIH0KIAotI21haW4tc3RhdHVz
LWJhciA+IC50aW1lbGluZS1yZWNvcmRzLWNvdW50ZXIgeworLnRpbWVsaW5lLXJlY29yZHMtY291
bnRlciB7CiAgICAgZmxvYXQ6IHJpZ2h0OwotICAgIG1hcmdpbi10b3A6IDRweDsKLSAgICBtYXJn
aW4tcmlnaHQ6IDI1cHg7Ci19Ci0KLSNjb3VudGVycyA+IC50aW1lbGluZS1yZWNvcmRzLWNvdW50
ZXIgewotICAgIGZsb2F0OiBsZWZ0OwotICAgIG1hcmdpbi10b3A6IC0xcHg7CisgICAgbWFyZ2lu
LXRvcDogNXB4OworICAgIG1hcmdpbi1yaWdodDogNnB4OwogfQogCiAjcmVzb3VyY2VzLWNvbnRh
aW5lci1jb250ZW50IHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154627</attachid>
            <date>2012-07-26 06:00:22 -0700</date>
            <delta_ts>2012-07-26 06:31:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92143-20120726170011.patch</filename>
            <type>text/plain</type>
            <size>27385</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzRhMTAzNjMzNzdhMzU3
ZTkzNTRlOGY3ZDNjNTZiZjAwZjVkMTI4Zi4uYTFkZGUzZGFmNjlmNzVjMTc4OWM1NjNkNTBkNDlj
NmNjMGQzOTExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDEyLTA3LTI1ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogc2ltcGxpZnkgaGFuZGxpbmcgb2Ygc3RhdHVzIGJhciBpdGVtcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIxNDMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIHNwbGl0IHN0YXR1cyBiYXJzIGludG8g
Imdsb2JhbCIgKGFsd2F5cyBpbiB0aGUgYm90dG9tKSBhbmQgInBhbmVsIiAKKyAgICAgICAgICAg
IChvbiB0b3Agb2YgdGhlIGRyYXdlciB3aGVuIGRyYXdlciBpcyBzaG93bikKKyAgICAgICAgLSB1
c2UgImlubmVyIiBzdGF0dXMgYmFyIHNlY3Rpb24gaW4gZ2xvYmFsIHN0YXR1cyBiYXIgdG8gZGlz
cGxheSBlaXRoZXIKKyAgICAgICAgICAgIHBhbmVsIHN0YXR1cyBiYXIgaXRlbXMgb3IgZHJhd2Vy
IHZpZXcgaXRlbXMgKGRlcGVuZGluZyBvbiBkcmF3ZXIgdmlzaWJpbGl0eSkKKyAgICAgICAgLSBs
ZXQgcGFuZWxzL3ZpZXdzIG1hbmFnZSB0aGVpciBjb3VudGVycyBhcyBwYXJ0IG9mIHRoZWlyIHN0
YXR1cyBiYXIKKyAgICAgICAgICAgIGl0ZW1zLCBub3QgdGhyb3VnaCBzcGVjaWFsIGludGVyZmFj
ZSBtZW1iZXJzOworICAgICAgICAtIGdldCByaWQgb2YgYWJzb2x1dGUgcG9zaXRpb25pbmcgaW4g
dGhlIHN0YXR1cyBiYXJzIHdoZXJlIHBvc3NpYmxlOyAgIAorCisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuU2VhcmNoVmlldy5wcm90b3R5cGUuZ2V0IHN0YXR1c0Jhckl0ZW1zKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5E
cmF3ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUuc2hvdy5hbmlt
YXRpb25GaW5pc2hlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5z
aG93KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlLmhpZGUuYW5pbWF0
aW9uRmluaXNoZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUuaGlk
ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5fc3RhcnRTdGF0dXNC
YXJEcmFnZ2luZyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbC5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUud2FzU2hvd24pOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZS5nZXQgc3RhdHVzQmFySXRlbXMpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlLndpbGxIaWRlKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2VsZW1lbnRzUGFuZWwuY3NzOgorICAgICAgICAoLmNy
dW1icyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzOgorICAg
ICAgICAoI21haW4pOgorICAgICAgICAoYm9keS5kcmF3ZXItdmlzaWJsZSAjbWFpbi1wYW5lbHMp
OgorICAgICAgICAoLnN0YXR1cy1iYXIpOgorICAgICAgICAoLnN0YXR1cy1iYXItaXRlbSk6Cisg
ICAgICAgICgjcGFuZWwtc3RhdHVzLWJhci1wbGFjZWhvbGRlcik6CisgICAgICAgIChib2R5LmRy
YXdlci12aXNpYmxlICNwYW5lbC1zdGF0dXMtYmFyLXBsYWNlaG9sZGVyKToKKyAgICAgICAgKCNw
YW5lbC1zdGF0dXMtYmFyLXJlc2l6ZXIpOgorICAgICAgICAoI3BhbmVsLXN0YXR1cy1iYXIpOgor
ICAgICAgICAoI3BhbmVsLXN0YXR1cy1iYXIgPiBkaXYpOgorICAgICAgICAoI2Vycm9yLXdhcm5p
bmctY291bnQpOgorICAgICAgICAoI2RyYXdlcik6CisgICAgICAgICgjZHJhd2VyLWNvbnRlbnRz
KToKKyAgICAgICAgKC5zdGF0dXMtYmFyLWl0ZW1zKToKKyAgICAgICAgKC5kcmF3ZXItaGVhZGVy
KToKKyAgICAgICAgKCNpbm5lci1zdGF0dXMtYmFyKToKKyAgICAgICAgKC5zZWFyY2gtc3RhdHVz
LWJhci1pdGVtKToKKyAgICAgICAgKC5zZWFyY2gtc3RhdHVzLWJhci1tZXNzYWdlKToKKyAgICAg
ICAgKC5zZWFyY2gtc3RhdHVzLWJhci1wcm9ncmVzcyk6CisgICAgICAgIChib2R5Om5vdCgucGxh
dGZvcm0tbWFjKSAuc2VhcmNoLXN0YXR1cy1iYXItcHJvZ3Jlc3MpOgorICAgICAgICAoYm9keS5w
bGF0Zm9ybS1tYWMgLnNlYXJjaC1zdGF0dXMtYmFyLXByb2dyZXNzKToKKyAgICAgICAgKC5zZWFy
Y2gtc3RhdHVzLWJhci1zdG9wLWJ1dHRvbi1pdGVtKToKKyAgICAgICAgKC5zZWFyY2gtc3RhdHVz
LWJhci1zdG9wLWJ1dHRvbiAuZ2x5cGgpOgorICAgICAgICAoLnNlYXJjaC1yZXN1bHRzLXN0YXR1
cy1iYXItbWVzc2FnZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
aHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5fY3JlYXRlR2xvYmFsU3RhdHVzQmFySXRlbXMpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLnNob3dWaWV3SW5EcmF3ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLl9j
bG9zZVByZXZpb3VzRHJhd2VyVmlldyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC90
aW1lbGluZVBhbmVsLmNzczoKKyAgICAgICAgKC50aW1lbGluZS1yZWNvcmRzLWNvdW50ZXIpOgor
CiAyMDEyLTA3LTI0ICBLd2FuZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CiAKICAg
ICAgICAgUmVtb3ZlIGFub255bW91cyBuYW1lc3BhY2UgYW5kIG1ha2UgZnVuY3Rpb25zIHN0YXRp
Yy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQWR2YW5j
ZWRTZWFyY2hDb250cm9sbGVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMKaW5kZXggYjgyZjc3NDg1YmY1MDQzNDg1ODhm
NDcyYjBiYjM5OTViN2Q3MGUxYS4uNjk2MTYyODBmNWViYmVkMTZlODlkYzY2ZjE3NTk1ZjhiZDE5
OGZmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BZHZh
bmNlZFNlYXJjaENvbnRyb2xsZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMKQEAgLTIzNSwxNSArMjM1LDcgQEAg
V2ViSW5zcGVjdG9yLlNlYXJjaFZpZXcucHJvdG90eXBlID0gewogICAgICAqLwogICAgIGdldCBz
dGF0dXNCYXJJdGVtcygpCiAgICAgewotICAgICAgICByZXR1cm4gW3RoaXMuX3NlYXJjaFN0YXR1
c0JhckVsZW1lbnRdOwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBAcmV0dXJuIHtFbGVtZW50
fQotICAgICAqLwotICAgIGdldCBjb3VudGVyRWxlbWVudCgpCi0gICAgewotICAgICAgICByZXR1
cm4gdGhpcy5fc2VhcmNoUmVzdWx0c01lc3NhZ2VFbGVtZW50OworICAgICAgICByZXR1cm4gW3Ro
aXMuX3NlYXJjaFN0YXR1c0JhckVsZW1lbnQsIHRoaXMuX3NlYXJjaFJlc3VsdHNNZXNzYWdlRWxl
bWVudF07CiAgICAgfSwKIAogICAgIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9EcmF3ZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RyYXdlci5qcwppbmRleCAyYTU2ZmNhMzg3ZGU1YmI1ZGQ0NjA3Nzk0NzAxMDNiN2Fl
NGY5MzZjLi5jNTU4ZGNmMWQ1ZTc5NTEyYjBiMDcyYjk2ODRkYjUzZTg4ZWFiNTRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qcwpAQCAtMzYsMjMgKzM2
LDE2IEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fc2F2ZWRI
ZWlnaHQgPSAyMDA7IC8vIERlZmF1bHQuCiAgICAgdGhpcy5fbWFpbkVsZW1lbnQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgibWFpbiIpOwogICAgIHRoaXMuX3Rvb2xiYXJFbGVtZW50ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvb2xiYXIiKTsKLSAgICB0aGlzLl9tYWluU3RhdHVzQmFy
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1haW4tc3RhdHVzLWJhciIpOwotICAgIFdlYklu
c3BlY3Rvci5pbnN0YWxsRHJhZ0hhbmRsZSh0aGlzLl9tYWluU3RhdHVzQmFyLCB0aGlzLl9zdGFy
dFN0YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX3N0YXR1c0JhckRyYWdnaW5nLmJp
bmQodGhpcyksIHRoaXMuX2VuZFN0YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksICJyb3ctcmVz
aXplIik7CiAKLSAgICB0aGlzLl9jb3VudGVycyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3VudGVycyIpOworICAgIHRoaXMuX2Zsb2F0aW5nU3RhdHVzQmFyQ29udGFpbmVyID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImZsb2F0aW5nLXN0YXR1cy1iYXItY29udGFpbmVyIik7CisgICAg
V2ViSW5zcGVjdG9yLmluc3RhbGxEcmFnSGFuZGxlKHRoaXMuX2Zsb2F0aW5nU3RhdHVzQmFyQ29u
dGFpbmVyLCB0aGlzLl9zdGFydFN0YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX3N0
YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX2VuZFN0YXR1c0JhckRyYWdnaW5nLmJp
bmQodGhpcyksICJyb3ctcmVzaXplIik7CiAKICAgICB0aGlzLl9kcmF3ZXJDb250ZW50c0VsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICB0aGlzLl9kcmF3ZXJDb250
ZW50c0VsZW1lbnQuaWQgPSAiZHJhd2VyLWNvbnRlbnRzIjsKICAgICB0aGlzLl9kcmF3ZXJDb250
ZW50c0VsZW1lbnQuY2xhc3NOYW1lID0gImRyYXdlci1jb250ZW50cyI7CiAgICAgdGhpcy5lbGVt
ZW50LmFwcGVuZENoaWxkKHRoaXMuX2RyYXdlckNvbnRlbnRzRWxlbWVudCk7Ci0KLSAgICB0aGlz
Ll9kcmF3ZXJTdGF0dXNCYXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICB0
aGlzLl9kcmF3ZXJTdGF0dXNCYXIuaWQgPSAiZHJhd2VyLXN0YXR1cy1iYXIiOwotICAgIHRoaXMu
X2RyYXdlclN0YXR1c0Jhci5jbGFzc05hbWUgPSAic3RhdHVzLWJhciI7Ci0gICAgdGhpcy5lbGVt
ZW50LmFwcGVuZENoaWxkKHRoaXMuX2RyYXdlclN0YXR1c0Jhcik7Ci0KICAgICB0aGlzLl92aWV3
U3RhdHVzQmFyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgdGhpcy5fZHJh
d2VyU3RhdHVzQmFyLmFwcGVuZENoaWxkKHRoaXMuX3ZpZXdTdGF0dXNCYXIpOworICAgIHRoaXMu
X2JvdHRvbVN0YXR1c0JhciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib3R0b20tc3RhdHVz
LWJhci1jb250YWluZXIiKTsKIH0KIAogV2ViSW5zcGVjdG9yLkRyYXdlci5BbmltYXRpb25UeXBl
ID0gewpAQCAtNzUsOCArNjgsNiBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9IHsK
ICAgICBzaG93OiBmdW5jdGlvbih2aWV3LCBhbmltYXRpb25UeXBlKQogICAgIHsKICAgICAgICAg
dGhpcy5pbW1lZGlhdGVseUZpbmlzaEFuaW1hdGlvbigpOwotICAgICAgICBpZiAodGhpcy5fdmll
dyAmJiB0aGlzLl92aWV3LmNvdW50ZXJFbGVtZW50KQotICAgICAgICAgICAgdGhpcy5fdmlldy5j
b3VudGVyRWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuX3ZpZXcuY291bnRlckVs
ZW1lbnQpOwogCiAgICAgICAgIHZhciBkcmF3ZXJXYXNWaXNpYmxlID0gdGhpcy52aXNpYmxlOwog
CkBAIC05Miw0NCArODMsMjkgQEAgV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RhdHVzQmFySXRlbXMubGVuZ3RoOyArK2kpCiAg
ICAgICAgICAgICB0aGlzLl92aWV3U3RhdHVzQmFyLmFwcGVuZENoaWxkKHN0YXR1c0Jhckl0ZW1z
W2ldKTsKIAotICAgICAgICBpZiAodGhpcy5fdmlldy5jb3VudGVyRWxlbWVudCkKLSAgICAgICAg
ICAgIHRoaXMuX2NvdW50ZXJzLmluc2VydEJlZm9yZSh0aGlzLl92aWV3LmNvdW50ZXJFbGVtZW50
LCB0aGlzLl9jb3VudGVycy5maXJzdENoaWxkKTsKLQogICAgICAgICBkb2N1bWVudC5ib2R5LmFk
ZFN0eWxlQ2xhc3MoImRyYXdlci12aXNpYmxlIik7CisgICAgICAgIHRoaXMuX2Zsb2F0aW5nU3Rh
dHVzQmFyQ29udGFpbmVyLmluc2VydEJlZm9yZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFu
ZWwtc3RhdHVzLWJhciIpLCB0aGlzLl9mbG9hdGluZ1N0YXR1c0JhckNvbnRhaW5lci5maXJzdEVs
ZW1lbnRDaGlsZCk7CisgICAgICAgIHRoaXMuX2JvdHRvbVN0YXR1c0Jhci5hcHBlbmRDaGlsZCh0
aGlzLl92aWV3U3RhdHVzQmFyKTsKICAgICAgICAgdGhpcy5fdmlldy5tYXJrQXNSb290KCk7CiAg
ICAgICAgIHRoaXMuX3ZpZXcuc2hvdyh0aGlzLl9kcmF3ZXJDb250ZW50c0VsZW1lbnQpOwogCiAg
ICAgICAgIGlmIChkcmF3ZXJXYXNWaXNpYmxlKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICAKLSAgICAgICAgdmFyIGFuY2hvcmVkSXRlbXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
YW5jaG9yZWQtc3RhdHVzLWJhci1pdGVtcyIpOwogICAgICAgICB2YXIgaGVpZ2h0ID0gdGhpcy5f
Y29uc3RyYWluSGVpZ2h0KHRoaXMuX3NhdmVkSGVpZ2h0IHx8IHRoaXMuZWxlbWVudC5vZmZzZXRI
ZWlnaHQpOwogICAgICAgICB2YXIgYW5pbWF0aW9ucyA9IFsKICAgICAgICAgICAgIHtlbGVtZW50
OiB0aGlzLmVsZW1lbnQsIGVuZDoge2hlaWdodDogaGVpZ2h0fX0sCiAgICAgICAgICAgICB7ZWxl
bWVudDogdGhpcy5fbWFpbkVsZW1lbnQsIGVuZDoge2JvdHRvbTogaGVpZ2h0fX0sCi0gICAgICAg
ICAgICB7ZWxlbWVudDogdGhpcy5fbWFpblN0YXR1c0Jhciwgc3RhcnQ6IHsicGFkZGluZy1sZWZ0
IjogYW5jaG9yZWRJdGVtcy5vZmZzZXRXaWR0aCAtIDF9LCBlbmQ6IHsicGFkZGluZy1sZWZ0Ijog
MH19LAorICAgICAgICAgICAge2VsZW1lbnQ6IHRoaXMuX2Zsb2F0aW5nU3RhdHVzQmFyQ29udGFp
bmVyLCBzdGFydDogeyJwYWRkaW5nLWxlZnQiOiB0aGlzLl9ib3R0b21TdGF0dXNCYXIub2Zmc2V0
TGVmdH0sIGVuZDogeyJwYWRkaW5nLWxlZnQiOiAwfX0sCiAgICAgICAgICAgICB7ZWxlbWVudDog
dGhpcy5fdmlld1N0YXR1c0Jhciwgc3RhcnQ6IHtvcGFjaXR5OiAwfSwgZW5kOiB7b3BhY2l0eTog
MX19CiAgICAgICAgIF07CiAKLSAgICAgICAgdGhpcy5fZHJhd2VyU3RhdHVzQmFyLmluc2VydEJl
Zm9yZShhbmNob3JlZEl0ZW1zLCB0aGlzLl9kcmF3ZXJTdGF0dXNCYXIuZmlyc3RDaGlsZCk7Ci0K
LSAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzKSB7Ci0gICAgICAgICAgICB2
YXIgb2xkUmlnaHQgPSB0aGlzLl9kcmF3ZXJTdGF0dXNCYXIuY2xpZW50V2lkdGggLSAodGhpcy5f
Y291bnRlcnMub2Zmc2V0TGVmdCArIHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzLm9mZnNldFdp
ZHRoKTsKLSAgICAgICAgICAgIHZhciBuZXdSaWdodCA9IFdlYkluc3BlY3Rvci5QYW5lbC5jb3Vu
dGVyUmlnaHRNYXJnaW47Ci0gICAgICAgICAgICB2YXIgcmlnaHRQYWRkaW5nID0gKG9sZFJpZ2h0
IC0gbmV3UmlnaHQpOwotICAgICAgICAgICAgYW5pbWF0aW9ucy5wdXNoKHtlbGVtZW50OiB0aGlz
Ll9jdXJyZW50UGFuZWxDb3VudGVycywgc3RhcnQ6IHsicGFkZGluZy1yaWdodCI6IHJpZ2h0UGFk
ZGluZ30sIGVuZDogeyJwYWRkaW5nLXJpZ2h0IjogMH19KTsKLSAgICAgICAgICAgIHRoaXMuX2N1
cnJlbnRQYW5lbENvdW50ZXJzLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5fY3VycmVudFBh
bmVsQ291bnRlcnMpOwotICAgICAgICAgICAgdGhpcy5fbWFpblN0YXR1c0Jhci5hcHBlbmRDaGls
ZCh0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycyk7Ci0gICAgICAgIH0KLSAgICAgICAgCiAgICAg
ICAgIGZ1bmN0aW9uIGFuaW1hdGlvbkZpbmlzaGVkKCkKICAgICAgICAgewogICAgICAgICAgICAg
V2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCkuZG9SZXNpemUoKTsKICAg
ICAgICAgICAgIGlmICh0aGlzLl92aWV3ICYmIHRoaXMuX3ZpZXcuYWZ0ZXJTaG93KQogICAgICAg
ICAgICAgICAgIHRoaXMuX3ZpZXcuYWZ0ZXJTaG93KCk7CiAgICAgICAgICAgICBkZWxldGUgdGhp
cy5fY3VycmVudEFuaW1hdGlvbjsKLSAgICAgICAgICAgIGlmICh0aGlzLl9jdXJyZW50UGFuZWxD
b3VudGVycykKLSAgICAgICAgICAgICAgICB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycy5yZW1v
dmVBdHRyaWJ1dGUoInN0eWxlIik7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9jdXJyZW50
QW5pbWF0aW9uID0gV2ViSW5zcGVjdG9yLmFuaW1hdGVTdHlsZShhbmltYXRpb25zLCB0aGlzLl9h
bmltYXRpb25EdXJhdGlvbihhbmltYXRpb25UeXBlKSwgYW5pbWF0aW9uRmluaXNoZWQuYmluZCh0
aGlzKSk7CkBAIC0xNDcsNDUgKzEyMywyNyBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlw
ZSA9IHsKIAogICAgICAgICBXZWJJbnNwZWN0b3IucmVzdG9yZUZvY3VzRnJvbUVsZW1lbnQodGhp
cy5lbGVtZW50KTsKIAotICAgICAgICB2YXIgYW5jaG9yZWRJdGVtcyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJhbmNob3JlZC1zdGF0dXMtYmFyLWl0ZW1zIik7Ci0KICAgICAgICAgLy8gVGVt
cG9yYXJpbHkgc2V0IHByb3BlcnRpZXMgYW5kIGNsYXNzZXMgdG8gbWltaWMgdGhlIHBvc3QtYW5p
bWF0aW9uIHZhbHVlcyBzbyBwYW5lbHMKICAgICAgICAgLy8gbGlrZSBFbGVtZW50cyBpbiB0aGVp
ciB1cGRhdGVTdGF0dXNCYXJJdGVtcyBjYWxsIHdpbGwgc2l6ZSB0aGluZ3MgdG8gZml0IHRoZSBm
aW5hbCBsb2NhdGlvbi4KLSAgICAgICAgdGhpcy5fbWFpblN0YXR1c0Jhci5zdHlsZS5zZXRQcm9w
ZXJ0eSgicGFkZGluZy1sZWZ0IiwgKGFuY2hvcmVkSXRlbXMub2Zmc2V0V2lkdGggLSAxKSArICJw
eCIpOwogICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZVN0eWxlQ2xhc3MoImRyYXdlci12aXNp
YmxlIik7CiAgICAgICAgIFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgp
LnN0YXR1c0JhclJlc2l6ZWQoKTsKICAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRTdHlsZUNsYXNz
KCJkcmF3ZXItdmlzaWJsZSIpOwogCiAgICAgICAgIHZhciBhbmltYXRpb25zID0gWwogICAgICAg
ICAgICAge2VsZW1lbnQ6IHRoaXMuX21haW5FbGVtZW50LCBlbmQ6IHtib3R0b206IDB9fSwKLSAg
ICAgICAgICAgIHtlbGVtZW50OiB0aGlzLl9tYWluU3RhdHVzQmFyLCBzdGFydDogeyJwYWRkaW5n
LWxlZnQiOiAwfSwgZW5kOiB7InBhZGRpbmctbGVmdCI6IGFuY2hvcmVkSXRlbXMub2Zmc2V0V2lk
dGggLSAxfX0sCisgICAgICAgICAgICB7ZWxlbWVudDogdGhpcy5lbGVtZW50LCBlbmQ6IHtoZWln
aHQ6IDB9fSwKKyAgICAgICAgICAgIHtlbGVtZW50OiB0aGlzLl9mbG9hdGluZ1N0YXR1c0JhckNv
bnRhaW5lciwgc3RhcnQ6IHsicGFkZGluZy1sZWZ0IjogMH0sIGVuZDogeyJwYWRkaW5nLWxlZnQi
OiB0aGlzLl9ib3R0b21TdGF0dXNCYXIub2Zmc2V0TGVmdH0gfSwKICAgICAgICAgICAgIHtlbGVt
ZW50OiB0aGlzLl92aWV3U3RhdHVzQmFyLCBzdGFydDoge29wYWNpdHk6IDF9LCBlbmQ6IHtvcGFj
aXR5OiAwfX0KICAgICAgICAgXTsKIAotICAgICAgICBpZiAodGhpcy5fY3VycmVudFBhbmVsQ291
bnRlcnMpIHsKLSAgICAgICAgICAgIHZhciBuZXdSaWdodCA9IHRoaXMuX2RyYXdlclN0YXR1c0Jh
ci5jbGllbnRXaWR0aCAtIHRoaXMuX2NvdW50ZXJzLm9mZnNldExlZnQ7Ci0gICAgICAgICAgICB2
YXIgb2xkUmlnaHQgPSB0aGlzLl9tYWluU3RhdHVzQmFyLmNsaWVudFdpZHRoIC0gKHRoaXMuX2N1
cnJlbnRQYW5lbENvdW50ZXJzLm9mZnNldExlZnQgKyB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVy
cy5vZmZzZXRXaWR0aCk7Ci0gICAgICAgICAgICB2YXIgcmlnaHRQYWRkaW5nID0gKG5ld1JpZ2h0
IC0gb2xkUmlnaHQpOwotICAgICAgICAgICAgYW5pbWF0aW9ucy5wdXNoKHtlbGVtZW50OiB0aGlz
Ll9jdXJyZW50UGFuZWxDb3VudGVycywgc3RhcnQ6IHsicGFkZGluZy1yaWdodCI6IDB9LCBlbmQ6
IHsicGFkZGluZy1yaWdodCI6IHJpZ2h0UGFkZGluZ319KTsKLSAgICAgICAgfQotCiAgICAgICAg
IGZ1bmN0aW9uIGFuaW1hdGlvbkZpbmlzaGVkKCkKICAgICAgICAgewogICAgICAgICAgICAgV2Vi
SW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCkuZG9SZXNpemUoKTsKLSAgICAg
ICAgICAgIHRoaXMuX21haW5TdGF0dXNCYXIuaW5zZXJ0QmVmb3JlKGFuY2hvcmVkSXRlbXMsIHRo
aXMuX21haW5TdGF0dXNCYXIuZmlyc3RDaGlsZCk7Ci0gICAgICAgICAgICB0aGlzLl9tYWluU3Rh
dHVzQmFyLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJwYWRkaW5nLWxlZnQiKTsKLQotICAgICAgICAg
ICAgaWYgKHRoaXMuX3ZpZXcuY291bnRlckVsZW1lbnQpCi0gICAgICAgICAgICAgICAgdGhpcy5f
dmlldy5jb3VudGVyRWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuX3ZpZXcuY291
bnRlckVsZW1lbnQpOwotCi0gICAgICAgICAgICBpZiAodGhpcy5fY3VycmVudFBhbmVsQ291bnRl
cnMpIHsKLSAgICAgICAgICAgICAgICB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycy5zZXRBdHRy
aWJ1dGUoInN0eWxlIiwgbnVsbCk7Ci0gICAgICAgICAgICAgICAgdGhpcy5fY3VycmVudFBhbmVs
Q291bnRlcnMucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVy
cyk7Ci0gICAgICAgICAgICAgICAgdGhpcy5fY291bnRlcnMuaW5zZXJ0QmVmb3JlKHRoaXMuX2N1
cnJlbnRQYW5lbENvdW50ZXJzLCB0aGlzLl9jb3VudGVycy5maXJzdENoaWxkKTsKLSAgICAgICAg
ICAgIH0KLQorICAgICAgICAgICAgCiAgICAgICAgICAgICB0aGlzLl92aWV3LmRldGFjaCgpOwog
ICAgICAgICAgICAgZGVsZXRlIHRoaXMuX3ZpZXc7CisgICAgICAgICAgICB0aGlzLl9ib3R0b21T
dGF0dXNCYXIucmVtb3ZlQ2hpbGRyZW4oKTsKKyAgICAgICAgICAgIHRoaXMuX2JvdHRvbVN0YXR1
c0Jhci5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFuZWwtc3RhdHVzLWJh
ciIpKTsKICAgICAgICAgICAgIHRoaXMuX2RyYXdlckNvbnRlbnRzRWxlbWVudC5yZW1vdmVDaGls
ZHJlbigpOwogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVTdHlsZUNsYXNzKCJkcmF3
ZXItdmlzaWJsZSIpOwogICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2N1cnJlbnRBbmltYXRpb247
CkBAIC0yMTQsMjIgKzE3Miw2IEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgdGhpcy5fY3VycmVudEFuaW1hdGlvbi5mb3JjZUNvbXBsZXRlKCk7CiAgICAg
fSwKIAotICAgIHNldCBjdXJyZW50UGFuZWxDb3VudGVycyh4KQotICAgIHsKLSAgICAgICAgaWYg
KCF4KSB7Ci0gICAgICAgICAgICBpZiAodGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnMpCi0gICAg
ICAgICAgICAgICAgdGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnMucGFyZW50RWxlbWVudC5yZW1v
dmVDaGlsZCh0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycyk7Ci0gICAgICAgICAgICBkZWxldGUg
dGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnM7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IH0KLQotICAgICAgICB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycyA9IHg7Ci0gICAgICAgIGlm
ICh0aGlzLnZpc2libGUpCi0gICAgICAgICAgICB0aGlzLl9tYWluU3RhdHVzQmFyLmFwcGVuZENo
aWxkKHgpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0aGlzLl9jb3VudGVycy5pbnNlcnRC
ZWZvcmUoeCwgdGhpcy5fY291bnRlcnMuZmlyc3RDaGlsZCk7Ci0gICAgfSwKLQogICAgIF9hbmlt
YXRpb25EdXJhdGlvbjogZnVuY3Rpb24oYW5pbWF0aW9uVHlwZSkKICAgICB7CiAgICAgICAgIHN3
aXRjaCAoYW5pbWF0aW9uVHlwZSkgewpAQCAtMjQ3LDcgKzE4OSw3IEBAIFdlYkluc3BlY3Rvci5E
cmF3ZXIucHJvdG90eXBlID0gewogICAgICAqLwogICAgIF9zdGFydFN0YXR1c0JhckRyYWdnaW5n
OiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlIHx8IGV2
ZW50LnRhcmdldCAhPT0gdGhpcy5fbWFpblN0YXR1c0JhcikKKyAgICAgICAgaWYgKCF0aGlzLnZp
c2libGUgfHwgZXZlbnQudGFyZ2V0ICE9PSB0aGlzLl9mbG9hdGluZ1N0YXR1c0JhckNvbnRhaW5l
cikKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICB0aGlzLl92aWV3LnN0b3Jl
U2Nyb2xsUG9zaXRpb25zKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Q
YW5lbC5qcwppbmRleCA3ODkxYTBiNWY1ZWUxOTdiZjUzZDYwN2QzMTQ4Y2Y4MDRhOGViYjFmLi5m
NjVmNWVhMzBmNzY5YzcxMWJhYzkyNDQxZmEwZjgxODY5OTVjNjE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanMKQEAgLTczLDcgKzczLDcgQEAgV2ViSW5z
cGVjdG9yLlBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMuX3N0YXR1c0Jhckl0
ZW1Db250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgc3RhdHVzQmFySXRlbXMubGVuZ3RoOyArK2kpCiAgICAgICAg
ICAgICAgICAgdGhpcy5fc3RhdHVzQmFySXRlbUNvbnRhaW5lci5hcHBlbmRDaGlsZChzdGF0dXNC
YXJJdGVtc1tpXSk7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFpbi1z
dGF0dXMtYmFyIikuYXBwZW5kQ2hpbGQodGhpcy5fc3RhdHVzQmFySXRlbUNvbnRhaW5lcik7Cisg
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFuZWwtc3RhdHVzLWJhciIpLmFw
cGVuZENoaWxkKHRoaXMuX3N0YXR1c0Jhckl0ZW1Db250YWluZXIpOwogICAgICAgICB9CiAKICAg
ICAgICAgaWYgKCJfdG9vbGJhckl0ZW0iIGluIHRoaXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMKaW5kZXggZDdjYzljYjNlMDJj
M2NmNzI0ODJmZWUwMGY3ZDg4ZmJmOWQ1Mzc0ZC4uZjlhN2Y4MWEwMmJkMDY0M2VkZmM5ZjEzOGZm
MjQ5MTc5MGU4MmU5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9UaW1lbGluZVBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVGltZWxpbmVQYW5lbC5qcwpAQCAtMjAyLDcgKzIwMiwxNCBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICBnZXQgc3RhdHVzQmFySXRlbXMoKQog
ICAgIHsKLSAgICAgICAgdmFyIHN0YXR1c0Jhckl0ZW1zID0gWyB0aGlzLnRvZ2dsZUZpbHRlckJ1
dHRvbi5lbGVtZW50LCB0aGlzLnRvZ2dsZVRpbWVsaW5lQnV0dG9uLmVsZW1lbnQsIHRoaXMuY2xl
YXJCdXR0b24uZWxlbWVudCwgdGhpcy5nYXJiYWdlQ29sbGVjdEJ1dHRvbi5lbGVtZW50LCB0aGlz
Ll9nbHVlUGFyZW50QnV0dG9uLmVsZW1lbnQsIHRoaXMuc3RhdHVzQmFyRmlsdGVycyBdOworICAg
ICAgICB2YXIgc3RhdHVzQmFySXRlbXMgPSBbCisgICAgICAgICAgICB0aGlzLnRvZ2dsZUZpbHRl
ckJ1dHRvbi5lbGVtZW50LAorICAgICAgICAgICAgdGhpcy50b2dnbGVUaW1lbGluZUJ1dHRvbi5l
bGVtZW50LAorICAgICAgICAgICAgdGhpcy5jbGVhckJ1dHRvbi5lbGVtZW50LCB0aGlzLmdhcmJh
Z2VDb2xsZWN0QnV0dG9uLmVsZW1lbnQsCisgICAgICAgICAgICB0aGlzLl9nbHVlUGFyZW50QnV0
dG9uLmVsZW1lbnQsCisgICAgICAgICAgICB0aGlzLnN0YXR1c0JhckZpbHRlcnMsCisgICAgICAg
ICAgICB0aGlzLnJlY29yZHNDb3VudGVyCisgICAgICAgIF07CiAKICAgICAgICAgcmV0dXJuIHN0
YXR1c0Jhckl0ZW1zOwogICAgIH0sCkBAIC01OTIsMTMgKzU5OSwxMSBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KICAgICAgICAgdGhpcy5fb3Zl
cnZpZXdQYW5lLnNldE1vZGUodGhpcy5fb3ZlcnZpZXdNb2RlU2V0dGluZy5nZXQoKSk7CiAgICAg
ICAgIHRoaXMuX3JlZnJlc2goKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmRyYXdlci5jdXJyZW50
UGFuZWxDb3VudGVycyA9IHRoaXMucmVjb3Jkc0NvdW50ZXI7CiAgICAgfSwKIAogICAgIHdpbGxI
aWRlOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0aGlzLl9jbG9zZVJlY29yZERldGFpbHMo
KTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmRyYXdlci5jdXJyZW50UGFuZWxDb3VudGVycyA9IG51
bGw7CiAgICAgICAgIFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUud2lsbEhpZGUuY2FsbCh0
aGlzKTsKICAgICB9LAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL2VsZW1lbnRzUGFuZWwuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9lbGVtZW50c1BhbmVsLmNzcwppbmRleCA2ODdhMWI4YjFlZDQ2Nzk2NGZiMDliZjdiMWVl
OTU2NmVmMmMzMzU3Li4yN2JkM2Q4MTRmYjIxYzc1YmYzMzM4M2NiOGM5MjM1MzgwY2Y2YzkwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2VsZW1lbnRzUGFu
ZWwuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvZWxlbWVudHNQ
YW5lbC5jc3MKQEAgLTYxLDYgKzYxLDggQEAKIAogLmNydW1icyB7CiAgICAgZGlzcGxheTogaW5s
aW5lLWJsb2NrOworICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOworICAgIGN1cnNvcjogZGVmYXVs
dDsKICAgICBmb250LXNpemU6IDExcHg7CiAgICAgbGluZS1oZWlnaHQ6IDE5cHg7CiAgICAgdGV4
dC1zaGFkb3c6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkgMCAxcHggMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwppbmRleCAzOGExZmQw
MGE5NDA1ZGVhNTQ0YTFkNGFiOWQwZjgyYjUxNDllMzJkLi4yYjNlYWNiNmIzM2E1Y2MzMjgyOTdi
YjJkOWIyZmNhYmVjNDU4MWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9pbnNwZWN0b3IuY3NzCkBAIC00ODQsNyArNDg0LDYgQEAgYm9keTpub3QoLnBsYXRm
b3JtLW1hYykgLnRvb2xiYXItaXRlbS5jbG9zZS1sZWZ0IHsKICAgICByaWdodDogMDsKICAgICBi
b3R0b206IDA7CiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3
aGl0ZTsKIH0KIAogYm9keS5jb21wYWN0ICNtYWluIHsKQEAgLTUwMCw2ICs0OTksMTAgQEAgYm9k
eS5jb21wYWN0ICNtYWluIHsKICAgICBvdmVyZmxvdzogaGlkZGVuOwogfQogCitib2R5LmRyYXdl
ci12aXNpYmxlICNtYWluLXBhbmVscyB7CisgICAgYm90dG9tOiAyNHB4OworfQorCiAjbWFpbi1z
dGF0dXMtYmFyIHsKICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgYm90dG9tOiAwOwpAQCAt
NTA3LDI3ICs1MTAsNiBAQCBib2R5LmNvbXBhY3QgI21haW4gewogICAgIHJpZ2h0OiAwOwogfQog
Ci1ib2R5LmRyYXdlci12aXNpYmxlICNtYWluLXN0YXR1cy1iYXIgewotICAgIGhlaWdodDogMjRw
eDsKLSAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiKDIwMiwgMjAyLCAyMDIpOwotICAg
IGN1cnNvcjogbnMtcmVzaXplOwotfQotCi1ib2R5LmRyYXdlci12aXNpYmxlICNtYWluLXN0YXR1
cy1iYXI6OmFmdGVyIHsKLSAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgcmlnaHQ6IDA7Ci0g
ICAgdG9wOiA1cHg7Ci0gICAgY29udGVudDogdXJsKEltYWdlcy9zdGF0dXNiYXJSZXNpemVyVmVy
dGljYWwucG5nKTsKLX0KLQotYm9keS5kcmF3ZXItdmlzaWJsZSAjbWFpbi1zdGF0dXMtYmFyICog
ewotICAgIGN1cnNvcjogZGVmYXVsdDsKLX0KLQotYm9keS5kcmF3ZXItdmlzaWJsZSAjbWFpbi1w
YW5lbHMgewotICAgIGJvdHRvbTogMjRweDsKLX0KLQogLnN0YXR1cy1iYXIgewogICAgIHdoaXRl
LXNwYWNlOiBub3dyYXA7CiAgICAgaGVpZ2h0OiAyM3B4OwpAQCAtNTM1LDYgKzUxNyw3IEBAIGJv
ZHkuZHJhd2VyLXZpc2libGUgI21haW4tcGFuZWxzIHsKICAgICB6LWluZGV4OiAxMjsKICAgICBi
YWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2IoMjUzLDI1MywyNTMp
LCByZ2IoMjMwLDIzMCwyMzApIDc1JSwgcmdiKDIzMCwyMzAsMjMwKSk7CiAgICAgYm9yZGVyLXRv
cDogMXB4IHNvbGlkIHJnYigyMDIsIDIwMiwgMjAyKTsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWZs
ZXg7CiB9CiAKIC5zdGF0dXMtYmFyID4gZGl2IHsKQEAgLTU0NSw2ICs1MjgsOSBAQCBib2R5LmRy
YXdlci12aXNpYmxlICNtYWluLXBhbmVscyB7CiAKIC5zdGF0dXMtYmFyLWl0ZW0gewogICAgIGRp
c3BsYXk6IGlubGluZS1ibG9jazsKKyAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKKyAgICBjdXJz
b3I6IGRlZmF1bHQ7CisgICAgLXdlYmtpdC1mbGV4OiAwOwogICAgIGhlaWdodDogMjRweDsKICAg
ICBwYWRkaW5nOiAwOwogICAgIG1hcmdpbi1sZWZ0OiAtMXB4OwpAQCAtNTU0LDYgKzU0MCwzNyBA
QCBib2R5LmRyYXdlci12aXNpYmxlICNtYWluLXBhbmVscyB7CiAgICAgYmFja2dyb3VuZC1jb2xv
cjogdHJhbnNwYXJlbnQ7CiB9CiAKKyNmbG9hdGluZy1zdGF0dXMtYmFyLWNvbnRhaW5lciB7Cisg
ICAgcG9zaXRpb246IGFic29sdXRlOworICAgIGxlZnQ6IDA7CisgICAgcmlnaHQ6IDA7CisgICAg
Ym90dG9tOiAwOworICAgIGRpc3BsYXk6IG5vbmU7CisgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNv
bGlkIHJnYigyMDIsIDIwMiwgMjAyKTsKKyAgICBjdXJzb3I6IG5zLXJlc2l6ZTsKKyAgICBoZWln
aHQ6IDI0cHg7Cit9CisKK2JvZHkuZHJhd2VyLXZpc2libGUgI2Zsb2F0aW5nLXN0YXR1cy1iYXIt
Y29udGFpbmVyIHsKKyAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7Cit9CisKKyNmbG9hdGluZy1z
dGF0dXMtYmFyLXJlc2l6ZXIgeworICAgIGNvbnRlbnQ6IHVybChJbWFnZXMvc3RhdHVzYmFyUmVz
aXplclZlcnRpY2FsLnBuZyk7CisgICAgbWFyZ2luLXRvcDogN3B4OworICAgIHBvaW50ZXItZXZl
bnRzOiBub25lOworfQorCisjcGFuZWwtc3RhdHVzLWJhciB7CisgICAgLXdlYmtpdC1mbGV4OiAx
IDA7CisgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OworICAgIHBvaW50ZXItZXZlbnRzOiBub25l
OworfQorCisjcGFuZWwtc3RhdHVzLWJhciA+IGRpdiB7CisgICAgd2lkdGg6IDEwMCU7Cit9CisK
IC5zdGF0dXMtYmFyLWl0ZW06YWN0aXZlIHsKICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAg
ei1pbmRleDogMjAwOwpAQCAtNjczLDExICs2OTAsNiBAQCBidXR0b24uZG9jay1zdGF0dXMtYmFy
LWl0ZW0uc3RhdHVzLWJhci1pdGVtLnRvZ2dsZWQtcmlnaHQgLmdseXBoIHsKICAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpOwogfQogCi1idXR0b24uc2V0dGluZ3Mtc3Rh
dHVzLWJhci1pdGVtIHsKLSAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgcmlnaHQ6IDA7Ci19
Ci0KIGJvZHkuZGV0YWNoZWQgLmFsdGVybmF0ZS1zdGF0dXMtYmFyLWJ1dHRvbnMtYmFyIHsKICAg
ICBtYXJnaW4tbGVmdDogMXB4OwogfQpAQCAtNzAyLDYgKzcxNCwxMSBAQCBib2R5LmRldGFjaGVk
IC5hbHRlcm5hdGUtc3RhdHVzLWJhci1idXR0b25zLWJhciB7CiAgICAgYm9yZGVyLWJvdHRvbTog
MXB4IHNvbGlkIHRyYW5zcGFyZW50OwogfQogCitidXR0b24uc3RhdHVzLWJhci1pdGVtLnNldHRp
bmdzLXN0YXR1cy1iYXItaXRlbSwKK2J1dHRvbi5zdGF0dXMtYmFyLWl0ZW0uc2V0dGluZ3Mtc3Rh
dHVzLWJhci1pdGVtOmFjdGl2ZSB7CisgICAgYm9yZGVyLXJpZ2h0OiAwIHRyYW5zcGFyZW50IG5v
bmU7Cit9CisKIC5zZXR0aW5ncy1zdGF0dXMtYmFyLWl0ZW0gLmdseXBoIHsKICAgICAtd2Via2l0
LW1hc2stcG9zaXRpb246IC0xNjBweCAtMjRweDsKIH0KQEAgLTcxOCwxOCArNzM1LDExIEBAIGJv
ZHkucG9ydC1xdCAjZG9jay1zdGF0dXMtYmFyLWl0ZW0gewogICAgIC13ZWJraXQtbWFzay1wb3Np
dGlvbjogLTY0cHggMDsKIH0KIAotI2NvdW50ZXJzIHsKLSAgICBwb3NpdGlvbjogYWJzb2x1dGU7
Ci0gICAgcmlnaHQ6IDMycHg7Ci0gICAgdG9wOiAwOwotICAgIGN1cnNvcjogcG9pbnRlcjsKKyNl
cnJvci13YXJuaW5nLWNvdW50IHsKICAgICBwYWRkaW5nOiA2cHggMnB4IDZweCAwcHg7CiAgICAg
Zm9udC1zaXplOiAxMHB4OwogICAgIGhlaWdodDogMTlweDsKLX0KLQotI2Vycm9yLXdhcm5pbmct
Y291bnQgewotICAgIGRpc3BsYXk6IGlubGluZTsKKyAgICBjdXJzb3I6IHBvaW50ZXI7CiB9CiAK
ICNlcnJvci13YXJuaW5nLWNvdW50OmhvdmVyIHsKQEAgLTc2NCwxMSArNzc0LDkgQEAgYm9keS5w
b3J0LXF0ICNkb2NrLXN0YXR1cy1iYXItaXRlbSB7CiAgICAgcmlnaHQ6IDA7CiAgICAgaGVpZ2h0
OiAyMDBweDsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKLSAgICBiYWNrZ3JvdW5kLXJl
cGVhdDogcmVwZWF0LXg7Ci0gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tOwogfQogCi1i
b2R5LmRyYXdlci12aXNpYmxlICNkcmF3ZXItY29udGVudHMgeworI2RyYXdlci1jb250ZW50cyB7
CiAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgIHRvcDogMDsKICAgICBib3R0b206IDI0cHg7
CkBAIC03ODAsMTMgKzc4OCw2IEBAIGJvZHkuZHJhd2VyLXZpc2libGUgI2RyYXdlciB7CiAgICAg
ZGlzcGxheTogYmxvY2s7CiB9CiAKLSNkcmF3ZXItc3RhdHVzLWJhciB7Ci0gICAgcG9zaXRpb246
IGFic29sdXRlOwotICAgIGJvdHRvbTogMDsKLSAgICBsZWZ0OiAwOwotICAgIHJpZ2h0OiAwOwot
fQotCiBib2R5LnBsYXRmb3JtLW1hYyAubW9ub3NwYWNlLCBib2R5LnBsYXRmb3JtLW1hYyAuc291
cmNlLWNvZGUgewogICAgIGZvbnQtZmFtaWx5OiBNb25hY28sIG1vbm9zcGFjZTsKIH0KQEAgLTIy
MjcsNyArMjIyOCw3IEBAIGJvZHkuaW5hY3RpdmUgbGkuc2VsZWN0ZWQgLmJ1YmJsZS5zZWFyY2gt
bWF0Y2hlcyB7CiAuc3RhdHVzLWJhci1pdGVtcyB7CiAgICAgcG9zaXRpb246IGFic29sdXRlOwog
ICAgIHRvcDogMDsKLSAgICBib3R0b206IDA7CisgICAgYm90dG9tOiAwcHg7CiAgICAgbGVmdDog
MjAwcHg7CiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlk
IHJnYigxODQsIDE4NCwgMTg0KTsKQEAgLTI1MzgsNiArMjUzOSw3IEBAIGJvZHkucGxhdGZvcm0t
bWFjIC5zZWFyY2gtZHJhd2VyLWhlYWRlciBpbnB1dFt0eXBlPSJjaGVja2JveCJdLnNlYXJjaC1j
b25maWctY2hlCiAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiKDE5NywgMTk3LCAxOTcp
OwogICAgIGxpbmUtaGVpZ2h0OiAyM3B4OwogICAgIHBhZGRpbmctbGVmdDogNnB4OworICAgIGRp
c3BsYXk6IGlubGluZS1ibG9jazsKIH0KIAogLmRyYXdlci1oZWFkZXItY2xvc2UtYnV0dG9uIHsK
QEAgLTI1NTgsNDggKzI1NjAsNTUgQEAgYm9keS5wbGF0Zm9ybS1tYWMgLnNlYXJjaC1kcmF3ZXIt
aGVhZGVyIGlucHV0W3R5cGU9ImNoZWNrYm94Il0uc2VhcmNoLWNvbmZpZy1jaGUKICAgICBvcGFj
aXR5OiAwLjc7CiB9CiAKLSNkcmF3ZXItc3RhdHVzLWJhciAuc2VhcmNoLXN0YXR1cy1iYXItaXRl
bSB7CisjYm90dG9tLXN0YXR1cy1iYXItY29udGFpbmVyIHsKKyAgICAtd2Via2l0LWZsZXg6IDEg
MDsKK30KKworLnNlYXJjaC1zdGF0dXMtYmFyLWl0ZW0geworICAgIGRpc3BsYXk6IGlubGluZS1i
bG9jazsKICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgZm9udC1zaXplOiAxMXB4OwogICAgIGhl
aWdodDogMjNweDsKIH0KIAotI2RyYXdlci1zdGF0dXMtYmFyIC5zZWFyY2gtc3RhdHVzLWJhci1t
ZXNzYWdlIHsKKy5zZWFyY2gtc3RhdHVzLWJhci1tZXNzYWdlIHsKICAgICBtYXJnaW4tbGVmdDo1
cHg7CiAgICAgbWFyZ2luLXJpZ2h0OjVweDsKLSAgICBtYXJnaW4tdG9wOjZweDsKKyAgICBtYXJn
aW4tdG9wOjVweDsKICAgICBmbG9hdDpsZWZ0OwogfQogCi0jZHJhd2VyLXN0YXR1cy1iYXIgLnNl
YXJjaC1zdGF0dXMtYmFyLXByb2dyZXNzIHsKKy5zZWFyY2gtc3RhdHVzLWJhci1wcm9ncmVzcyB7
CiAgICAgaGVpZ2h0OiAxMXB4OwogICAgIHdpZHRoOiAxMDBweDsKICAgICBmbG9hdDogbGVmdDsK
IH0KIAotYm9keTpub3QoLnBsYXRmb3JtLW1hYykgI2RyYXdlci1zdGF0dXMtYmFyIC5zZWFyY2gt
c3RhdHVzLWJhci1wcm9ncmVzcyB7Ci0gICAgbWFyZ2luLXRvcDogOHB4OworYm9keTpub3QoLnBs
YXRmb3JtLW1hYykgLnNlYXJjaC1zdGF0dXMtYmFyLXByb2dyZXNzIHsKKyAgICBtYXJnaW4tdG9w
OiA3cHg7CiB9CiAKLWJvZHkucGxhdGZvcm0tbWFjICNkcmF3ZXItc3RhdHVzLWJhciAuc2VhcmNo
LXN0YXR1cy1iYXItcHJvZ3Jlc3MgewotICAgIG1hcmdpbi10b3A6IDdweDsKK2JvZHkucGxhdGZv
cm0tbWFjIC5zZWFyY2gtc3RhdHVzLWJhci1wcm9ncmVzcyB7CisgICAgbWFyZ2luLXRvcDogNnB4
OwogfQogCi0jZHJhd2VyLXN0YXR1cy1iYXIgLnNlYXJjaC1zdGF0dXMtYmFyLXN0b3AtYnV0dG9u
LWl0ZW0geworLnNlYXJjaC1zdGF0dXMtYmFyLXN0b3AtYnV0dG9uLWl0ZW0gewogICAgIHdpZHRo
OiAxOXB4OwogICAgIGhlaWdodDogMjRweDsKICAgICBvdmVyZmxvdzogaGlkZGVuOwogfQogCi0j
ZHJhd2VyLXN0YXR1cy1iYXIgLnNlYXJjaC1zdGF0dXMtYmFyLXN0b3AtYnV0dG9uIC5nbHlwaCB7
Cisuc2VhcmNoLXN0YXR1cy1iYXItc3RvcC1idXR0b24gLmdseXBoIHsKICAgICAtd2Via2l0LW1h
c2stcG9zaXRpb246IC05NnB4IC00OHB4OwogICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyMTYs
IDAsIDApICFpbXBvcnRhbnQ7CiB9CiAKLSNkcmF3ZXItc3RhdHVzLWJhciAuc2VhcmNoLXJlc3Vs
dHMtc3RhdHVzLWJhci1tZXNzYWdlIHsKKy5zZWFyY2gtcmVzdWx0cy1zdGF0dXMtYmFyLW1lc3Nh
Z2UgewogICAgIG1hcmdpbi1yaWdodDogMTBweDsKICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAg
Zm9udC1zaXplOiAxMXB4OworICAgIGZsb2F0OiByaWdodDsKKyAgICBtYXJnaW4tdG9wOiA1cHg7
CiB9CiAKIC5zZWFyY2gtdmlldyAuc2VhcmNoLXJlc3VsdHMgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKaW5kZXggNjE5MDY0MGUzMzJi
Yzg5NjBhZWMzMzg4ZDY5NDhlNmI5NjZhOTUzNS4uODVjNjI4NTUzYjY3MmFhZjA0N2E5NDdmNWFh
M2RjNzU2NDUyYmQyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9pbnNwZWN0b3IuaHRtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL2luc3BlY3Rvci5odG1sCkBAIC0yMzIsOCArMjMyLDE0IEBAIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgICAgICAg
IDwvZGl2PgogICAgIDwvZGl2PgogICAgIDxkaXYgaWQ9Im1haW4iPgotICAgICAgICA8ZGl2IGlk
PSJtYWluLXN0YXR1cy1iYXIiIGNsYXNzPSJzdGF0dXMtYmFyIj48ZGl2IGlkPSJhbmNob3JlZC1z
dGF0dXMtYmFyLWl0ZW1zIj48ZGl2IGlkPSJjb3VudGVycyI+PGRpdiBpZD0iZXJyb3Itd2Fybmlu
Zy1jb3VudCIgY2xhc3M9ImhpZGRlbiI+PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+CisgICAgICAg
IDxkaXYgaWQ9ImZsb2F0aW5nLXN0YXR1cy1iYXItY29udGFpbmVyIiBjbGFzcz0ic3RhdHVzLWJh
ciI+PGRpdiBpZD0iZmxvYXRpbmctc3RhdHVzLWJhci1yZXNpemVyIj48L2Rpdj48L2Rpdj4KICAg
ICA8L2Rpdj4KICAgICA8ZGl2IGlkPSJkcmF3ZXIiPjwvZGl2PgorICAgIDxkaXYgaWQ9Im1haW4t
c3RhdHVzLWJhciIgY2xhc3M9InN0YXR1cy1iYXIiPgorICAgICAgICA8ZGl2IGlkPSJib3R0b20t
c3RhdHVzLWJhci1jb250YWluZXIiPgorICAgICAgICAgICAgPGRpdiBpZD0icGFuZWwtc3RhdHVz
LWJhciI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJlcnJvci13YXJu
aW5nLWNvdW50IiBjbGFzcz0iaGlkZGVuIj48L2Rpdj4KKyAgICA8L2Rpdj4KIDwvYm9keT4KIDwv
aHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5z
cGVjdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
anMKaW5kZXggNmRiOTI4NjZhNTRiOWVmYTljMmIyNzhkYWZkYTI5NjZiYzYwZDFmYS4uNmI0ZTA3
ZGZkMzU2ZTI1MjhkNWQyNTc0Y2FiZDgzMGI5ZWNhMzVmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTcwLDIxICs3MCwyMiBAQCB2
YXIgV2ViSW5zcGVjdG9yID0gewogCiAgICAgX2NyZWF0ZUdsb2JhbFN0YXR1c0Jhckl0ZW1zOiBm
dW5jdGlvbigpCiAgICAgeworICAgICAgICB2YXIgYm90dG9tU3RhdHVzQmFyQ29udGFpbmVyID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvdHRvbS1zdGF0dXMtYmFyLWNvbnRhaW5lciIpOwog
ICAgICAgICB0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0dXNC
YXJCdXR0b24oIiIsICJkb2NrLXN0YXR1cy1iYXItaXRlbSIsIDMpOwogICAgICAgICB0aGlzLl9k
b2NrVG9nZ2xlQnV0dG9uLm1ha2VMb25nQ2xpY2tFbmFibGVkKHRoaXMuX2NyZWF0ZURvY2tPcHRp
b25zLmJpbmQodGhpcykpOwogICAgICAgICB0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fdG9nZ2xlQXR0YWNoLmJpbmQodGhpcyksIGZhbHNlKTsK
ICAgICAgICAgdGhpcy5fdXBkYXRlRG9ja0J1dHRvblN0YXRlKCk7CiAKLSAgICAgICAgdmFyIGFu
Y2hvcmVkU3RhdHVzQmFyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFuY2hvcmVkLXN0YXR1
cy1iYXItaXRlbXMiKTsKLSAgICAgICAgYW5jaG9yZWRTdGF0dXNCYXIuYXBwZW5kQ2hpbGQodGhp
cy5fZG9ja1RvZ2dsZUJ1dHRvbi5lbGVtZW50KTsKKyAgICAgICAgdmFyIG1haW5TdGF0dXNCYXIg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFpbi1zdGF0dXMtYmFyIik7CisgICAgICAgIG1h
aW5TdGF0dXNCYXIuaW5zZXJ0QmVmb3JlKHRoaXMuX2RvY2tUb2dnbGVCdXR0b24uZWxlbWVudCwg
Ym90dG9tU3RhdHVzQmFyQ29udGFpbmVyKTsKIAogICAgICAgICB0aGlzLl90b2dnbGVDb25zb2xl
QnV0dG9uID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0dXNCYXJCdXR0b24oV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJTaG93IGNvbnNvbGUuIiksICJjb25zb2xlLXN0YXR1cy1iYXItaXRlbSIpOwogICAg
ICAgICB0aGlzLl90b2dnbGVDb25zb2xlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
dGhpcy5fdG9nZ2xlQ29uc29sZUJ1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSwgZmFsc2UpOwotICAg
ICAgICBhbmNob3JlZFN0YXR1c0Jhci5hcHBlbmRDaGlsZCh0aGlzLl90b2dnbGVDb25zb2xlQnV0
dG9uLmVsZW1lbnQpOworICAgICAgICBtYWluU3RhdHVzQmFyLmluc2VydEJlZm9yZSh0aGlzLl90
b2dnbGVDb25zb2xlQnV0dG9uLmVsZW1lbnQsIGJvdHRvbVN0YXR1c0JhckNvbnRhaW5lcik7CiAK
ICAgICAgICAgaWYgKHRoaXMucGFuZWxzLmVsZW1lbnRzKQotICAgICAgICAgICAgYW5jaG9yZWRT
dGF0dXNCYXIuYXBwZW5kQ2hpbGQodGhpcy5wYW5lbHMuZWxlbWVudHMubm9kZVNlYXJjaEJ1dHRv
bi5lbGVtZW50KTsKLSAgICAgICAgYW5jaG9yZWRTdGF0dXNCYXIuYXBwZW5kQ2hpbGQodGhpcy5z
ZXR0aW5nc0NvbnRyb2xsZXIuc3RhdHVzQmFySXRlbSk7CisgICAgICAgICAgICBtYWluU3RhdHVz
QmFyLmluc2VydEJlZm9yZSh0aGlzLnBhbmVscy5lbGVtZW50cy5ub2RlU2VhcmNoQnV0dG9uLmVs
ZW1lbnQsIGJvdHRvbVN0YXR1c0JhckNvbnRhaW5lcik7CisgICAgICAgIG1haW5TdGF0dXNCYXIu
YXBwZW5kQ2hpbGQodGhpcy5zZXR0aW5nc0NvbnRyb2xsZXIuc3RhdHVzQmFySXRlbSk7CiAgICAg
fSwKIAogICAgIF9jcmVhdGVEb2NrT3B0aW9uczogZnVuY3Rpb24oKQpAQCAtMTgwLDIxICsxODEs
MTYgQEAgdmFyIFdlYkluc3BlY3RvciA9IHsKICAgICAgICAgdGhpcy5fY2xvc2VQcmV2aW91c0Ry
YXdlclZpZXcoKTsKIAogICAgICAgICB2YXIgZHJhd2VyU3RhdHVzQmFySGVhZGVyID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgICAgIGRyYXdlclN0YXR1c0JhckhlYWRlci5j
bGFzc05hbWUgPSAiZHJhd2VyLWhlYWRlciI7CisgICAgICAgIGRyYXdlclN0YXR1c0JhckhlYWRl
ci5jbGFzc05hbWUgPSAiZHJhd2VyLWhlYWRlciBzdGF0dXMtYmFyLWl0ZW0iOwogICAgICAgICBk
cmF3ZXJTdGF0dXNCYXJIZWFkZXIuYXBwZW5kQ2hpbGQoc3RhdHVzQmFyRWxlbWVudCk7CiAgICAg
ICAgIGRyYXdlclN0YXR1c0JhckhlYWRlci5vbmNsb3NlID0gb25jbG9zZTsKIAogICAgICAgICB2
YXIgY2xvc2VCdXR0b24gPSBkcmF3ZXJTdGF0dXNCYXJIZWFkZXIuY3JlYXRlQ2hpbGQoInNwYW4i
KTsKICAgICAgICAgY2xvc2VCdXR0b24udGV4dENvbnRlbnQgPSBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIlx1MDBENyIpOwogICAgICAgICBjbG9zZUJ1dHRvbi5hZGRTdHlsZUNsYXNzKCJkcmF3ZXIt
aGVhZGVyLWNsb3NlLWJ1dHRvbiIpOwotICAgICAgICBjbG9zZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIGNsb3NlQnV0dG9uUHJlc3NlZC5iaW5kKHRoaXMpLCBmYWxzZSk7CisgICAg
ICAgIGNsb3NlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5jbG9zZVZpZXdJ
bkRyYXdlci5iaW5kKHRoaXMpLCBmYWxzZSk7CiAKLSAgICAgICAgZnVuY3Rpb24gY2xvc2VCdXR0
b25QcmVzc2VkKGV2ZW50KQotICAgICAgICB7Ci0gICAgICAgICAgICB0aGlzLmNsb3NlVmlld0lu
RHJhd2VyKCk7Ci0gICAgICAgIH0KLQotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
bWFpbi1zdGF0dXMtYmFyIikuYXBwZW5kQ2hpbGQoZHJhd2VyU3RhdHVzQmFySGVhZGVyKTsKKyAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhbmVsLXN0YXR1cy1iYXIiKS5maXJzdEVs
ZW1lbnRDaGlsZC5hcHBlbmRDaGlsZChkcmF3ZXJTdGF0dXNCYXJIZWFkZXIpOwogICAgICAgICB0
aGlzLl9kcmF3ZXJTdGF0dXNCYXJIZWFkZXIgPSBkcmF3ZXJTdGF0dXNCYXJIZWFkZXI7CiAgICAg
ICAgIHRoaXMuZHJhd2VyLnNob3codmlldywgV2ViSW5zcGVjdG9yLkRyYXdlci5BbmltYXRpb25U
eXBlLkltbWVkaWF0ZWx5KTsKICAgICB9LApAQCAtMjE1LDcgKzIxMSw3IEBAIHZhciBXZWJJbnNw
ZWN0b3IgPSB7CiAgICAgX2Nsb3NlUHJldmlvdXNEcmF3ZXJWaWV3OiBmdW5jdGlvbigpCiAgICAg
ewogICAgICAgICBpZiAodGhpcy5fZHJhd2VyU3RhdHVzQmFySGVhZGVyKSB7Ci0gICAgICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFpbi1zdGF0dXMtYmFyIikucmVtb3ZlQ2hpbGQo
dGhpcy5fZHJhd2VyU3RhdHVzQmFySGVhZGVyKTsKKyAgICAgICAgICAgIHRoaXMuX2RyYXdlclN0
YXR1c0JhckhlYWRlci5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMuX2RyYXdlclN0YXR1
c0JhckhlYWRlcik7CiAgICAgICAgICAgICBpZiAodGhpcy5fZHJhd2VyU3RhdHVzQmFySGVhZGVy
Lm9uY2xvc2UpCiAgICAgICAgICAgICAgICAgdGhpcy5fZHJhd2VyU3RhdHVzQmFySGVhZGVyLm9u
Y2xvc2UoKTsKICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9kcmF3ZXJTdGF0dXNCYXJIZWFkZXI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RpbWVsaW5l
UGFuZWwuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC90aW1lbGluZVBh
bmVsLmNzcwppbmRleCA2ZmY1NDJlYWUxMGQ5MzMyZTIzNjRlN2IyODE0YmZhZDY0MGFlZGQ5Li41
NmM2M2VhNmNjNGZjOWQ4NTQzMTZjMTBlZjMxZDJlMDE3NWJjMDk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RpbWVsaW5lUGFuZWwuY3NzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGltZWxpbmVQYW5lbC5jc3MKQEAgLTQy
MywxNSArNDIzLDEwIEBACiAgICAgdGV4dC1zaGFkb3c6IHdoaXRlIDAgMXB4IDA7CiB9CiAKLSNt
YWluLXN0YXR1cy1iYXIgPiAudGltZWxpbmUtcmVjb3Jkcy1jb3VudGVyIHsKKy50aW1lbGluZS1y
ZWNvcmRzLWNvdW50ZXIgewogICAgIGZsb2F0OiByaWdodDsKLSAgICBtYXJnaW4tdG9wOiA0cHg7
Ci0gICAgbWFyZ2luLXJpZ2h0OiAyNXB4OwotfQotCi0jY291bnRlcnMgPiAudGltZWxpbmUtcmVj
b3Jkcy1jb3VudGVyIHsKLSAgICBmbG9hdDogbGVmdDsKLSAgICBtYXJnaW4tdG9wOiAtMXB4Owor
ICAgIG1hcmdpbi10b3A6IDVweDsKKyAgICBtYXJnaW4tcmlnaHQ6IDZweDsKIH0KIAogI3Jlc291
cmNlcy1jb250YWluZXItY29udGVudCB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154639</attachid>
            <date>2012-07-26 06:31:44 -0700</date>
            <delta_ts>2012-07-26 06:39:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92143-20120726173132.patch</filename>
            <type>text/plain</type>
            <size>27494</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzRhMTAzNjMzNzdhMzU3
ZTkzNTRlOGY3ZDNjNTZiZjAwZjVkMTI4Zi4uYTFkZGUzZGFmNjlmNzVjMTc4OWM1NjNkNTBkNDlj
NmNjMGQzOTExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDEyLTA3LTI1ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogc2ltcGxpZnkgaGFuZGxpbmcgb2Ygc3RhdHVzIGJhciBpdGVtcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIxNDMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIHNwbGl0IHN0YXR1cyBiYXJzIGludG8g
Imdsb2JhbCIgKGFsd2F5cyBpbiB0aGUgYm90dG9tKSBhbmQgInBhbmVsIiAKKyAgICAgICAgICAg
IChvbiB0b3Agb2YgdGhlIGRyYXdlciB3aGVuIGRyYXdlciBpcyBzaG93bikKKyAgICAgICAgLSB1
c2UgImlubmVyIiBzdGF0dXMgYmFyIHNlY3Rpb24gaW4gZ2xvYmFsIHN0YXR1cyBiYXIgdG8gZGlz
cGxheSBlaXRoZXIKKyAgICAgICAgICAgIHBhbmVsIHN0YXR1cyBiYXIgaXRlbXMgb3IgZHJhd2Vy
IHZpZXcgaXRlbXMgKGRlcGVuZGluZyBvbiBkcmF3ZXIgdmlzaWJpbGl0eSkKKyAgICAgICAgLSBs
ZXQgcGFuZWxzL3ZpZXdzIG1hbmFnZSB0aGVpciBjb3VudGVycyBhcyBwYXJ0IG9mIHRoZWlyIHN0
YXR1cyBiYXIKKyAgICAgICAgICAgIGl0ZW1zLCBub3QgdGhyb3VnaCBzcGVjaWFsIGludGVyZmFj
ZSBtZW1iZXJzOworICAgICAgICAtIGdldCByaWQgb2YgYWJzb2x1dGUgcG9zaXRpb25pbmcgaW4g
dGhlIHN0YXR1cyBiYXJzIHdoZXJlIHBvc3NpYmxlOyAgIAorCisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuU2VhcmNoVmlldy5wcm90b3R5cGUuZ2V0IHN0YXR1c0Jhckl0ZW1zKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5E
cmF3ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUuc2hvdy5hbmlt
YXRpb25GaW5pc2hlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5z
aG93KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlLmhpZGUuYW5pbWF0
aW9uRmluaXNoZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUuaGlk
ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5fc3RhcnRTdGF0dXNC
YXJEcmFnZ2luZyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbC5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUud2FzU2hvd24pOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZS5nZXQgc3RhdHVzQmFySXRlbXMpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlLndpbGxIaWRlKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2VsZW1lbnRzUGFuZWwuY3NzOgorICAgICAgICAoLmNy
dW1icyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzOgorICAg
ICAgICAoI21haW4pOgorICAgICAgICAoYm9keS5kcmF3ZXItdmlzaWJsZSAjbWFpbi1wYW5lbHMp
OgorICAgICAgICAoLnN0YXR1cy1iYXIpOgorICAgICAgICAoLnN0YXR1cy1iYXItaXRlbSk6Cisg
ICAgICAgICgjcGFuZWwtc3RhdHVzLWJhci1wbGFjZWhvbGRlcik6CisgICAgICAgIChib2R5LmRy
YXdlci12aXNpYmxlICNwYW5lbC1zdGF0dXMtYmFyLXBsYWNlaG9sZGVyKToKKyAgICAgICAgKCNw
YW5lbC1zdGF0dXMtYmFyLXJlc2l6ZXIpOgorICAgICAgICAoI3BhbmVsLXN0YXR1cy1iYXIpOgor
ICAgICAgICAoI3BhbmVsLXN0YXR1cy1iYXIgPiBkaXYpOgorICAgICAgICAoI2Vycm9yLXdhcm5p
bmctY291bnQpOgorICAgICAgICAoI2RyYXdlcik6CisgICAgICAgICgjZHJhd2VyLWNvbnRlbnRz
KToKKyAgICAgICAgKC5zdGF0dXMtYmFyLWl0ZW1zKToKKyAgICAgICAgKC5kcmF3ZXItaGVhZGVy
KToKKyAgICAgICAgKCNpbm5lci1zdGF0dXMtYmFyKToKKyAgICAgICAgKC5zZWFyY2gtc3RhdHVz
LWJhci1pdGVtKToKKyAgICAgICAgKC5zZWFyY2gtc3RhdHVzLWJhci1tZXNzYWdlKToKKyAgICAg
ICAgKC5zZWFyY2gtc3RhdHVzLWJhci1wcm9ncmVzcyk6CisgICAgICAgIChib2R5Om5vdCgucGxh
dGZvcm0tbWFjKSAuc2VhcmNoLXN0YXR1cy1iYXItcHJvZ3Jlc3MpOgorICAgICAgICAoYm9keS5w
bGF0Zm9ybS1tYWMgLnNlYXJjaC1zdGF0dXMtYmFyLXByb2dyZXNzKToKKyAgICAgICAgKC5zZWFy
Y2gtc3RhdHVzLWJhci1zdG9wLWJ1dHRvbi1pdGVtKToKKyAgICAgICAgKC5zZWFyY2gtc3RhdHVz
LWJhci1zdG9wLWJ1dHRvbiAuZ2x5cGgpOgorICAgICAgICAoLnNlYXJjaC1yZXN1bHRzLXN0YXR1
cy1iYXItbWVzc2FnZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
aHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5fY3JlYXRlR2xvYmFsU3RhdHVzQmFySXRlbXMpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLnNob3dWaWV3SW5EcmF3ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLl9j
bG9zZVByZXZpb3VzRHJhd2VyVmlldyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC90
aW1lbGluZVBhbmVsLmNzczoKKyAgICAgICAgKC50aW1lbGluZS1yZWNvcmRzLWNvdW50ZXIpOgor
CiAyMDEyLTA3LTI0ICBLd2FuZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CiAKICAg
ICAgICAgUmVtb3ZlIGFub255bW91cyBuYW1lc3BhY2UgYW5kIG1ha2UgZnVuY3Rpb25zIHN0YXRp
Yy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQWR2YW5j
ZWRTZWFyY2hDb250cm9sbGVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMKaW5kZXggYjgyZjc3NDg1YmY1MDQzNDg1ODhm
NDcyYjBiYjM5OTViN2Q3MGUxYS4uNjk2MTYyODBmNWViYmVkMTZlODlkYzY2ZjE3NTk1ZjhiZDE5
OGZmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BZHZh
bmNlZFNlYXJjaENvbnRyb2xsZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMKQEAgLTIzNSwxNSArMjM1LDcgQEAg
V2ViSW5zcGVjdG9yLlNlYXJjaFZpZXcucHJvdG90eXBlID0gewogICAgICAqLwogICAgIGdldCBz
dGF0dXNCYXJJdGVtcygpCiAgICAgewotICAgICAgICByZXR1cm4gW3RoaXMuX3NlYXJjaFN0YXR1
c0JhckVsZW1lbnRdOwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBAcmV0dXJuIHtFbGVtZW50
fQotICAgICAqLwotICAgIGdldCBjb3VudGVyRWxlbWVudCgpCi0gICAgewotICAgICAgICByZXR1
cm4gdGhpcy5fc2VhcmNoUmVzdWx0c01lc3NhZ2VFbGVtZW50OworICAgICAgICByZXR1cm4gW3Ro
aXMuX3NlYXJjaFN0YXR1c0JhckVsZW1lbnQsIHRoaXMuX3NlYXJjaFJlc3VsdHNNZXNzYWdlRWxl
bWVudF07CiAgICAgfSwKIAogICAgIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9EcmF3ZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RyYXdlci5qcwppbmRleCAyYTU2ZmNhMzg3ZGU1YmI1ZGQ0NjA3Nzk0NzAxMDNiN2Fl
NGY5MzZjLi5jNTU4ZGNmMWQ1ZTc5NTEyYjBiMDcyYjk2ODRkYjUzZTg4ZWFiNTRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qcwpAQCAtMzYsMjMgKzM2
LDE2IEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fc2F2ZWRI
ZWlnaHQgPSAyMDA7IC8vIERlZmF1bHQuCiAgICAgdGhpcy5fbWFpbkVsZW1lbnQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgibWFpbiIpOwogICAgIHRoaXMuX3Rvb2xiYXJFbGVtZW50ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvb2xiYXIiKTsKLSAgICB0aGlzLl9tYWluU3RhdHVzQmFy
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1haW4tc3RhdHVzLWJhciIpOwotICAgIFdlYklu
c3BlY3Rvci5pbnN0YWxsRHJhZ0hhbmRsZSh0aGlzLl9tYWluU3RhdHVzQmFyLCB0aGlzLl9zdGFy
dFN0YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX3N0YXR1c0JhckRyYWdnaW5nLmJp
bmQodGhpcyksIHRoaXMuX2VuZFN0YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksICJyb3ctcmVz
aXplIik7CiAKLSAgICB0aGlzLl9jb3VudGVycyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3VudGVycyIpOworICAgIHRoaXMuX2Zsb2F0aW5nU3RhdHVzQmFyQ29udGFpbmVyID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImZsb2F0aW5nLXN0YXR1cy1iYXItY29udGFpbmVyIik7CisgICAg
V2ViSW5zcGVjdG9yLmluc3RhbGxEcmFnSGFuZGxlKHRoaXMuX2Zsb2F0aW5nU3RhdHVzQmFyQ29u
dGFpbmVyLCB0aGlzLl9zdGFydFN0YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX3N0
YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX2VuZFN0YXR1c0JhckRyYWdnaW5nLmJp
bmQodGhpcyksICJyb3ctcmVzaXplIik7CiAKICAgICB0aGlzLl9kcmF3ZXJDb250ZW50c0VsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICB0aGlzLl9kcmF3ZXJDb250
ZW50c0VsZW1lbnQuaWQgPSAiZHJhd2VyLWNvbnRlbnRzIjsKICAgICB0aGlzLl9kcmF3ZXJDb250
ZW50c0VsZW1lbnQuY2xhc3NOYW1lID0gImRyYXdlci1jb250ZW50cyI7CiAgICAgdGhpcy5lbGVt
ZW50LmFwcGVuZENoaWxkKHRoaXMuX2RyYXdlckNvbnRlbnRzRWxlbWVudCk7Ci0KLSAgICB0aGlz
Ll9kcmF3ZXJTdGF0dXNCYXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICB0
aGlzLl9kcmF3ZXJTdGF0dXNCYXIuaWQgPSAiZHJhd2VyLXN0YXR1cy1iYXIiOwotICAgIHRoaXMu
X2RyYXdlclN0YXR1c0Jhci5jbGFzc05hbWUgPSAic3RhdHVzLWJhciI7Ci0gICAgdGhpcy5lbGVt
ZW50LmFwcGVuZENoaWxkKHRoaXMuX2RyYXdlclN0YXR1c0Jhcik7Ci0KICAgICB0aGlzLl92aWV3
U3RhdHVzQmFyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgdGhpcy5fZHJh
d2VyU3RhdHVzQmFyLmFwcGVuZENoaWxkKHRoaXMuX3ZpZXdTdGF0dXNCYXIpOworICAgIHRoaXMu
X2JvdHRvbVN0YXR1c0JhciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib3R0b20tc3RhdHVz
LWJhci1jb250YWluZXIiKTsKIH0KIAogV2ViSW5zcGVjdG9yLkRyYXdlci5BbmltYXRpb25UeXBl
ID0gewpAQCAtNzUsOCArNjgsNiBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9IHsK
ICAgICBzaG93OiBmdW5jdGlvbih2aWV3LCBhbmltYXRpb25UeXBlKQogICAgIHsKICAgICAgICAg
dGhpcy5pbW1lZGlhdGVseUZpbmlzaEFuaW1hdGlvbigpOwotICAgICAgICBpZiAodGhpcy5fdmll
dyAmJiB0aGlzLl92aWV3LmNvdW50ZXJFbGVtZW50KQotICAgICAgICAgICAgdGhpcy5fdmlldy5j
b3VudGVyRWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuX3ZpZXcuY291bnRlckVs
ZW1lbnQpOwogCiAgICAgICAgIHZhciBkcmF3ZXJXYXNWaXNpYmxlID0gdGhpcy52aXNpYmxlOwog
CkBAIC05Miw0NCArODMsMjkgQEAgV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RhdHVzQmFySXRlbXMubGVuZ3RoOyArK2kpCiAg
ICAgICAgICAgICB0aGlzLl92aWV3U3RhdHVzQmFyLmFwcGVuZENoaWxkKHN0YXR1c0Jhckl0ZW1z
W2ldKTsKIAotICAgICAgICBpZiAodGhpcy5fdmlldy5jb3VudGVyRWxlbWVudCkKLSAgICAgICAg
ICAgIHRoaXMuX2NvdW50ZXJzLmluc2VydEJlZm9yZSh0aGlzLl92aWV3LmNvdW50ZXJFbGVtZW50
LCB0aGlzLl9jb3VudGVycy5maXJzdENoaWxkKTsKLQogICAgICAgICBkb2N1bWVudC5ib2R5LmFk
ZFN0eWxlQ2xhc3MoImRyYXdlci12aXNpYmxlIik7CisgICAgICAgIHRoaXMuX2Zsb2F0aW5nU3Rh
dHVzQmFyQ29udGFpbmVyLmluc2VydEJlZm9yZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFu
ZWwtc3RhdHVzLWJhciIpLCB0aGlzLl9mbG9hdGluZ1N0YXR1c0JhckNvbnRhaW5lci5maXJzdEVs
ZW1lbnRDaGlsZCk7CisgICAgICAgIHRoaXMuX2JvdHRvbVN0YXR1c0Jhci5hcHBlbmRDaGlsZCh0
aGlzLl92aWV3U3RhdHVzQmFyKTsKICAgICAgICAgdGhpcy5fdmlldy5tYXJrQXNSb290KCk7CiAg
ICAgICAgIHRoaXMuX3ZpZXcuc2hvdyh0aGlzLl9kcmF3ZXJDb250ZW50c0VsZW1lbnQpOwogCiAg
ICAgICAgIGlmIChkcmF3ZXJXYXNWaXNpYmxlKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICAKLSAgICAgICAgdmFyIGFuY2hvcmVkSXRlbXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
YW5jaG9yZWQtc3RhdHVzLWJhci1pdGVtcyIpOwogICAgICAgICB2YXIgaGVpZ2h0ID0gdGhpcy5f
Y29uc3RyYWluSGVpZ2h0KHRoaXMuX3NhdmVkSGVpZ2h0IHx8IHRoaXMuZWxlbWVudC5vZmZzZXRI
ZWlnaHQpOwogICAgICAgICB2YXIgYW5pbWF0aW9ucyA9IFsKICAgICAgICAgICAgIHtlbGVtZW50
OiB0aGlzLmVsZW1lbnQsIGVuZDoge2hlaWdodDogaGVpZ2h0fX0sCiAgICAgICAgICAgICB7ZWxl
bWVudDogdGhpcy5fbWFpbkVsZW1lbnQsIGVuZDoge2JvdHRvbTogaGVpZ2h0fX0sCi0gICAgICAg
ICAgICB7ZWxlbWVudDogdGhpcy5fbWFpblN0YXR1c0Jhciwgc3RhcnQ6IHsicGFkZGluZy1sZWZ0
IjogYW5jaG9yZWRJdGVtcy5vZmZzZXRXaWR0aCAtIDF9LCBlbmQ6IHsicGFkZGluZy1sZWZ0Ijog
MH19LAorICAgICAgICAgICAge2VsZW1lbnQ6IHRoaXMuX2Zsb2F0aW5nU3RhdHVzQmFyQ29udGFp
bmVyLCBzdGFydDogeyJwYWRkaW5nLWxlZnQiOiB0aGlzLl9ib3R0b21TdGF0dXNCYXIub2Zmc2V0
TGVmdH0sIGVuZDogeyJwYWRkaW5nLWxlZnQiOiAwfX0sCiAgICAgICAgICAgICB7ZWxlbWVudDog
dGhpcy5fdmlld1N0YXR1c0Jhciwgc3RhcnQ6IHtvcGFjaXR5OiAwfSwgZW5kOiB7b3BhY2l0eTog
MX19CiAgICAgICAgIF07CiAKLSAgICAgICAgdGhpcy5fZHJhd2VyU3RhdHVzQmFyLmluc2VydEJl
Zm9yZShhbmNob3JlZEl0ZW1zLCB0aGlzLl9kcmF3ZXJTdGF0dXNCYXIuZmlyc3RDaGlsZCk7Ci0K
LSAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzKSB7Ci0gICAgICAgICAgICB2
YXIgb2xkUmlnaHQgPSB0aGlzLl9kcmF3ZXJTdGF0dXNCYXIuY2xpZW50V2lkdGggLSAodGhpcy5f
Y291bnRlcnMub2Zmc2V0TGVmdCArIHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzLm9mZnNldFdp
ZHRoKTsKLSAgICAgICAgICAgIHZhciBuZXdSaWdodCA9IFdlYkluc3BlY3Rvci5QYW5lbC5jb3Vu
dGVyUmlnaHRNYXJnaW47Ci0gICAgICAgICAgICB2YXIgcmlnaHRQYWRkaW5nID0gKG9sZFJpZ2h0
IC0gbmV3UmlnaHQpOwotICAgICAgICAgICAgYW5pbWF0aW9ucy5wdXNoKHtlbGVtZW50OiB0aGlz
Ll9jdXJyZW50UGFuZWxDb3VudGVycywgc3RhcnQ6IHsicGFkZGluZy1yaWdodCI6IHJpZ2h0UGFk
ZGluZ30sIGVuZDogeyJwYWRkaW5nLXJpZ2h0IjogMH19KTsKLSAgICAgICAgICAgIHRoaXMuX2N1
cnJlbnRQYW5lbENvdW50ZXJzLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5fY3VycmVudFBh
bmVsQ291bnRlcnMpOwotICAgICAgICAgICAgdGhpcy5fbWFpblN0YXR1c0Jhci5hcHBlbmRDaGls
ZCh0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycyk7Ci0gICAgICAgIH0KLSAgICAgICAgCiAgICAg
ICAgIGZ1bmN0aW9uIGFuaW1hdGlvbkZpbmlzaGVkKCkKICAgICAgICAgewogICAgICAgICAgICAg
V2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCkuZG9SZXNpemUoKTsKICAg
ICAgICAgICAgIGlmICh0aGlzLl92aWV3ICYmIHRoaXMuX3ZpZXcuYWZ0ZXJTaG93KQogICAgICAg
ICAgICAgICAgIHRoaXMuX3ZpZXcuYWZ0ZXJTaG93KCk7CiAgICAgICAgICAgICBkZWxldGUgdGhp
cy5fY3VycmVudEFuaW1hdGlvbjsKLSAgICAgICAgICAgIGlmICh0aGlzLl9jdXJyZW50UGFuZWxD
b3VudGVycykKLSAgICAgICAgICAgICAgICB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycy5yZW1v
dmVBdHRyaWJ1dGUoInN0eWxlIik7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9jdXJyZW50
QW5pbWF0aW9uID0gV2ViSW5zcGVjdG9yLmFuaW1hdGVTdHlsZShhbmltYXRpb25zLCB0aGlzLl9h
bmltYXRpb25EdXJhdGlvbihhbmltYXRpb25UeXBlKSwgYW5pbWF0aW9uRmluaXNoZWQuYmluZCh0
aGlzKSk7CkBAIC0xNDcsNDUgKzEyMywyNyBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlw
ZSA9IHsKIAogICAgICAgICBXZWJJbnNwZWN0b3IucmVzdG9yZUZvY3VzRnJvbUVsZW1lbnQodGhp
cy5lbGVtZW50KTsKIAotICAgICAgICB2YXIgYW5jaG9yZWRJdGVtcyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJhbmNob3JlZC1zdGF0dXMtYmFyLWl0ZW1zIik7Ci0KICAgICAgICAgLy8gVGVt
cG9yYXJpbHkgc2V0IHByb3BlcnRpZXMgYW5kIGNsYXNzZXMgdG8gbWltaWMgdGhlIHBvc3QtYW5p
bWF0aW9uIHZhbHVlcyBzbyBwYW5lbHMKICAgICAgICAgLy8gbGlrZSBFbGVtZW50cyBpbiB0aGVp
ciB1cGRhdGVTdGF0dXNCYXJJdGVtcyBjYWxsIHdpbGwgc2l6ZSB0aGluZ3MgdG8gZml0IHRoZSBm
aW5hbCBsb2NhdGlvbi4KLSAgICAgICAgdGhpcy5fbWFpblN0YXR1c0Jhci5zdHlsZS5zZXRQcm9w
ZXJ0eSgicGFkZGluZy1sZWZ0IiwgKGFuY2hvcmVkSXRlbXMub2Zmc2V0V2lkdGggLSAxKSArICJw
eCIpOwogICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZVN0eWxlQ2xhc3MoImRyYXdlci12aXNp
YmxlIik7CiAgICAgICAgIFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgp
LnN0YXR1c0JhclJlc2l6ZWQoKTsKICAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRTdHlsZUNsYXNz
KCJkcmF3ZXItdmlzaWJsZSIpOwogCiAgICAgICAgIHZhciBhbmltYXRpb25zID0gWwogICAgICAg
ICAgICAge2VsZW1lbnQ6IHRoaXMuX21haW5FbGVtZW50LCBlbmQ6IHtib3R0b206IDB9fSwKLSAg
ICAgICAgICAgIHtlbGVtZW50OiB0aGlzLl9tYWluU3RhdHVzQmFyLCBzdGFydDogeyJwYWRkaW5n
LWxlZnQiOiAwfSwgZW5kOiB7InBhZGRpbmctbGVmdCI6IGFuY2hvcmVkSXRlbXMub2Zmc2V0V2lk
dGggLSAxfX0sCisgICAgICAgICAgICB7ZWxlbWVudDogdGhpcy5lbGVtZW50LCBlbmQ6IHtoZWln
aHQ6IDB9fSwKKyAgICAgICAgICAgIHtlbGVtZW50OiB0aGlzLl9mbG9hdGluZ1N0YXR1c0JhckNv
bnRhaW5lciwgc3RhcnQ6IHsicGFkZGluZy1sZWZ0IjogMH0sIGVuZDogeyJwYWRkaW5nLWxlZnQi
OiB0aGlzLl9ib3R0b21TdGF0dXNCYXIub2Zmc2V0TGVmdH0gfSwKICAgICAgICAgICAgIHtlbGVt
ZW50OiB0aGlzLl92aWV3U3RhdHVzQmFyLCBzdGFydDoge29wYWNpdHk6IDF9LCBlbmQ6IHtvcGFj
aXR5OiAwfX0KICAgICAgICAgXTsKIAotICAgICAgICBpZiAodGhpcy5fY3VycmVudFBhbmVsQ291
bnRlcnMpIHsKLSAgICAgICAgICAgIHZhciBuZXdSaWdodCA9IHRoaXMuX2RyYXdlclN0YXR1c0Jh
ci5jbGllbnRXaWR0aCAtIHRoaXMuX2NvdW50ZXJzLm9mZnNldExlZnQ7Ci0gICAgICAgICAgICB2
YXIgb2xkUmlnaHQgPSB0aGlzLl9tYWluU3RhdHVzQmFyLmNsaWVudFdpZHRoIC0gKHRoaXMuX2N1
cnJlbnRQYW5lbENvdW50ZXJzLm9mZnNldExlZnQgKyB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVy
cy5vZmZzZXRXaWR0aCk7Ci0gICAgICAgICAgICB2YXIgcmlnaHRQYWRkaW5nID0gKG5ld1JpZ2h0
IC0gb2xkUmlnaHQpOwotICAgICAgICAgICAgYW5pbWF0aW9ucy5wdXNoKHtlbGVtZW50OiB0aGlz
Ll9jdXJyZW50UGFuZWxDb3VudGVycywgc3RhcnQ6IHsicGFkZGluZy1yaWdodCI6IDB9LCBlbmQ6
IHsicGFkZGluZy1yaWdodCI6IHJpZ2h0UGFkZGluZ319KTsKLSAgICAgICAgfQotCiAgICAgICAg
IGZ1bmN0aW9uIGFuaW1hdGlvbkZpbmlzaGVkKCkKICAgICAgICAgewogICAgICAgICAgICAgV2Vi
SW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCkuZG9SZXNpemUoKTsKLSAgICAg
ICAgICAgIHRoaXMuX21haW5TdGF0dXNCYXIuaW5zZXJ0QmVmb3JlKGFuY2hvcmVkSXRlbXMsIHRo
aXMuX21haW5TdGF0dXNCYXIuZmlyc3RDaGlsZCk7Ci0gICAgICAgICAgICB0aGlzLl9tYWluU3Rh
dHVzQmFyLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJwYWRkaW5nLWxlZnQiKTsKLQotICAgICAgICAg
ICAgaWYgKHRoaXMuX3ZpZXcuY291bnRlckVsZW1lbnQpCi0gICAgICAgICAgICAgICAgdGhpcy5f
dmlldy5jb3VudGVyRWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuX3ZpZXcuY291
bnRlckVsZW1lbnQpOwotCi0gICAgICAgICAgICBpZiAodGhpcy5fY3VycmVudFBhbmVsQ291bnRl
cnMpIHsKLSAgICAgICAgICAgICAgICB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycy5zZXRBdHRy
aWJ1dGUoInN0eWxlIiwgbnVsbCk7Ci0gICAgICAgICAgICAgICAgdGhpcy5fY3VycmVudFBhbmVs
Q291bnRlcnMucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVy
cyk7Ci0gICAgICAgICAgICAgICAgdGhpcy5fY291bnRlcnMuaW5zZXJ0QmVmb3JlKHRoaXMuX2N1
cnJlbnRQYW5lbENvdW50ZXJzLCB0aGlzLl9jb3VudGVycy5maXJzdENoaWxkKTsKLSAgICAgICAg
ICAgIH0KLQorICAgICAgICAgICAgCiAgICAgICAgICAgICB0aGlzLl92aWV3LmRldGFjaCgpOwog
ICAgICAgICAgICAgZGVsZXRlIHRoaXMuX3ZpZXc7CisgICAgICAgICAgICB0aGlzLl9ib3R0b21T
dGF0dXNCYXIucmVtb3ZlQ2hpbGRyZW4oKTsKKyAgICAgICAgICAgIHRoaXMuX2JvdHRvbVN0YXR1
c0Jhci5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFuZWwtc3RhdHVzLWJh
ciIpKTsKICAgICAgICAgICAgIHRoaXMuX2RyYXdlckNvbnRlbnRzRWxlbWVudC5yZW1vdmVDaGls
ZHJlbigpOwogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVTdHlsZUNsYXNzKCJkcmF3
ZXItdmlzaWJsZSIpOwogICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2N1cnJlbnRBbmltYXRpb247
CkBAIC0yMTQsMjIgKzE3Miw2IEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgdGhpcy5fY3VycmVudEFuaW1hdGlvbi5mb3JjZUNvbXBsZXRlKCk7CiAgICAg
fSwKIAotICAgIHNldCBjdXJyZW50UGFuZWxDb3VudGVycyh4KQotICAgIHsKLSAgICAgICAgaWYg
KCF4KSB7Ci0gICAgICAgICAgICBpZiAodGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnMpCi0gICAg
ICAgICAgICAgICAgdGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnMucGFyZW50RWxlbWVudC5yZW1v
dmVDaGlsZCh0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycyk7Ci0gICAgICAgICAgICBkZWxldGUg
dGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnM7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IH0KLQotICAgICAgICB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycyA9IHg7Ci0gICAgICAgIGlm
ICh0aGlzLnZpc2libGUpCi0gICAgICAgICAgICB0aGlzLl9tYWluU3RhdHVzQmFyLmFwcGVuZENo
aWxkKHgpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0aGlzLl9jb3VudGVycy5pbnNlcnRC
ZWZvcmUoeCwgdGhpcy5fY291bnRlcnMuZmlyc3RDaGlsZCk7Ci0gICAgfSwKLQogICAgIF9hbmlt
YXRpb25EdXJhdGlvbjogZnVuY3Rpb24oYW5pbWF0aW9uVHlwZSkKICAgICB7CiAgICAgICAgIHN3
aXRjaCAoYW5pbWF0aW9uVHlwZSkgewpAQCAtMjQ3LDcgKzE4OSw3IEBAIFdlYkluc3BlY3Rvci5E
cmF3ZXIucHJvdG90eXBlID0gewogICAgICAqLwogICAgIF9zdGFydFN0YXR1c0JhckRyYWdnaW5n
OiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlIHx8IGV2
ZW50LnRhcmdldCAhPT0gdGhpcy5fbWFpblN0YXR1c0JhcikKKyAgICAgICAgaWYgKCF0aGlzLnZp
c2libGUgfHwgZXZlbnQudGFyZ2V0ICE9PSB0aGlzLl9mbG9hdGluZ1N0YXR1c0JhckNvbnRhaW5l
cikKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICB0aGlzLl92aWV3LnN0b3Jl
U2Nyb2xsUG9zaXRpb25zKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Q
YW5lbC5qcwppbmRleCA3ODkxYTBiNWY1ZWUxOTdiZjUzZDYwN2QzMTQ4Y2Y4MDRhOGViYjFmLi5m
NjVmNWVhMzBmNzY5YzcxMWJhYzkyNDQxZmEwZjgxODY5OTVjNjE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanMKQEAgLTczLDcgKzczLDcgQEAgV2ViSW5z
cGVjdG9yLlBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMuX3N0YXR1c0Jhckl0
ZW1Db250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgc3RhdHVzQmFySXRlbXMubGVuZ3RoOyArK2kpCiAgICAgICAg
ICAgICAgICAgdGhpcy5fc3RhdHVzQmFySXRlbUNvbnRhaW5lci5hcHBlbmRDaGlsZChzdGF0dXNC
YXJJdGVtc1tpXSk7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFpbi1z
dGF0dXMtYmFyIikuYXBwZW5kQ2hpbGQodGhpcy5fc3RhdHVzQmFySXRlbUNvbnRhaW5lcik7Cisg
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFuZWwtc3RhdHVzLWJhciIpLmFw
cGVuZENoaWxkKHRoaXMuX3N0YXR1c0Jhckl0ZW1Db250YWluZXIpOwogICAgICAgICB9CiAKICAg
ICAgICAgaWYgKCJfdG9vbGJhckl0ZW0iIGluIHRoaXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMKaW5kZXggZDdjYzljYjNlMDJj
M2NmNzI0ODJmZWUwMGY3ZDg4ZmJmOWQ1Mzc0ZC4uZjlhN2Y4MWEwMmJkMDY0M2VkZmM5ZjEzOGZm
MjQ5MTc5MGU4MmU5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9UaW1lbGluZVBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVGltZWxpbmVQYW5lbC5qcwpAQCAtMjAyLDcgKzIwMiwxNCBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICBnZXQgc3RhdHVzQmFySXRlbXMoKQog
ICAgIHsKLSAgICAgICAgdmFyIHN0YXR1c0Jhckl0ZW1zID0gWyB0aGlzLnRvZ2dsZUZpbHRlckJ1
dHRvbi5lbGVtZW50LCB0aGlzLnRvZ2dsZVRpbWVsaW5lQnV0dG9uLmVsZW1lbnQsIHRoaXMuY2xl
YXJCdXR0b24uZWxlbWVudCwgdGhpcy5nYXJiYWdlQ29sbGVjdEJ1dHRvbi5lbGVtZW50LCB0aGlz
Ll9nbHVlUGFyZW50QnV0dG9uLmVsZW1lbnQsIHRoaXMuc3RhdHVzQmFyRmlsdGVycyBdOworICAg
ICAgICB2YXIgc3RhdHVzQmFySXRlbXMgPSBbCisgICAgICAgICAgICB0aGlzLnRvZ2dsZUZpbHRl
ckJ1dHRvbi5lbGVtZW50LAorICAgICAgICAgICAgdGhpcy50b2dnbGVUaW1lbGluZUJ1dHRvbi5l
bGVtZW50LAorICAgICAgICAgICAgdGhpcy5jbGVhckJ1dHRvbi5lbGVtZW50LCB0aGlzLmdhcmJh
Z2VDb2xsZWN0QnV0dG9uLmVsZW1lbnQsCisgICAgICAgICAgICB0aGlzLl9nbHVlUGFyZW50QnV0
dG9uLmVsZW1lbnQsCisgICAgICAgICAgICB0aGlzLnN0YXR1c0JhckZpbHRlcnMsCisgICAgICAg
ICAgICB0aGlzLnJlY29yZHNDb3VudGVyCisgICAgICAgIF07CiAKICAgICAgICAgcmV0dXJuIHN0
YXR1c0Jhckl0ZW1zOwogICAgIH0sCkBAIC01OTIsMTMgKzU5OSwxMSBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KICAgICAgICAgdGhpcy5fb3Zl
cnZpZXdQYW5lLnNldE1vZGUodGhpcy5fb3ZlcnZpZXdNb2RlU2V0dGluZy5nZXQoKSk7CiAgICAg
ICAgIHRoaXMuX3JlZnJlc2goKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmRyYXdlci5jdXJyZW50
UGFuZWxDb3VudGVycyA9IHRoaXMucmVjb3Jkc0NvdW50ZXI7CiAgICAgfSwKIAogICAgIHdpbGxI
aWRlOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0aGlzLl9jbG9zZVJlY29yZERldGFpbHMo
KTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmRyYXdlci5jdXJyZW50UGFuZWxDb3VudGVycyA9IG51
bGw7CiAgICAgICAgIFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUud2lsbEhpZGUuY2FsbCh0
aGlzKTsKICAgICB9LAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL2VsZW1lbnRzUGFuZWwuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9lbGVtZW50c1BhbmVsLmNzcwppbmRleCA2ODdhMWI4YjFlZDQ2Nzk2NGZiMDliZjdiMWVl
OTU2NmVmMmMzMzU3Li4yN2JkM2Q4MTRmYjIxYzc1YmYzMzM4M2NiOGM5MjM1MzgwY2Y2YzkwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2VsZW1lbnRzUGFu
ZWwuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvZWxlbWVudHNQ
YW5lbC5jc3MKQEAgLTYxLDYgKzYxLDggQEAKIAogLmNydW1icyB7CiAgICAgZGlzcGxheTogaW5s
aW5lLWJsb2NrOworICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOworICAgIGN1cnNvcjogZGVmYXVs
dDsKICAgICBmb250LXNpemU6IDExcHg7CiAgICAgbGluZS1oZWlnaHQ6IDE5cHg7CiAgICAgdGV4
dC1zaGFkb3c6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkgMCAxcHggMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwppbmRleCAzOGExZmQw
MGE5NDA1ZGVhNTQ0YTFkNGFiOWQwZjgyYjUxNDllMzJkLi4zZDRjNmRjMjVmNGIxOTNlODc4YTg4
NDM3ZGNjY2Y1NDNmNDIwZTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9pbnNwZWN0b3IuY3NzCkBAIC00NzgsMTMgKzQ3OCwxMyBAQCBib2R5Om5vdCgucGxh
dGZvcm0tbWFjKSAudG9vbGJhci1pdGVtLmNsb3NlLWxlZnQgewogCiAjbWFpbiB7CiAgICAgcG9z
aXRpb246IGFic29sdXRlOworICAgIGJhY2tncm91bmQ6IHdoaXRlOwogICAgIHotaW5kZXg6IDE7
CiAgICAgdG9wOiA1NnB4OwogICAgIGxlZnQ6IDA7CiAgICAgcmlnaHQ6IDA7CiAgICAgYm90dG9t
OiAwOwogICAgIG92ZXJmbG93OiBoaWRkZW47Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7
CiB9CiAKIGJvZHkuY29tcGFjdCAjbWFpbiB7CkBAIC01MDAsNiArNTAwLDEwIEBAIGJvZHkuY29t
cGFjdCAjbWFpbiB7CiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKIH0KIAorYm9keS5kcmF3ZXItdmlz
aWJsZSAjbWFpbi1wYW5lbHMgeworICAgIGJvdHRvbTogMjRweDsKK30KKwogI21haW4tc3RhdHVz
LWJhciB7CiAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgIGJvdHRvbTogMDsKQEAgLTUwNywy
NyArNTExLDYgQEAgYm9keS5jb21wYWN0ICNtYWluIHsKICAgICByaWdodDogMDsKIH0KIAotYm9k
eS5kcmF3ZXItdmlzaWJsZSAjbWFpbi1zdGF0dXMtYmFyIHsKLSAgICBoZWlnaHQ6IDI0cHg7Ci0g
ICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYigyMDIsIDIwMiwgMjAyKTsKLSAgICBjdXJz
b3I6IG5zLXJlc2l6ZTsKLX0KLQotYm9keS5kcmF3ZXItdmlzaWJsZSAjbWFpbi1zdGF0dXMtYmFy
OjphZnRlciB7Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIHJpZ2h0OiAwOwotICAgIHRv
cDogNXB4OwotICAgIGNvbnRlbnQ6IHVybChJbWFnZXMvc3RhdHVzYmFyUmVzaXplclZlcnRpY2Fs
LnBuZyk7Ci19Ci0KLWJvZHkuZHJhd2VyLXZpc2libGUgI21haW4tc3RhdHVzLWJhciAqIHsKLSAg
ICBjdXJzb3I6IGRlZmF1bHQ7Ci19Ci0KLWJvZHkuZHJhd2VyLXZpc2libGUgI21haW4tcGFuZWxz
IHsKLSAgICBib3R0b206IDI0cHg7Ci19Ci0KIC5zdGF0dXMtYmFyIHsKICAgICB3aGl0ZS1zcGFj
ZTogbm93cmFwOwogICAgIGhlaWdodDogMjNweDsKQEAgLTUzNSw2ICs1MTgsNyBAQCBib2R5LmRy
YXdlci12aXNpYmxlICNtYWluLXBhbmVscyB7CiAgICAgei1pbmRleDogMTI7CiAgICAgYmFja2dy
b3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmdiKDI1MywyNTMsMjUzKSwgcmdi
KDIzMCwyMzAsMjMwKSA3NSUsIHJnYigyMzAsMjMwLDIzMCkpOwogICAgIGJvcmRlci10b3A6IDFw
eCBzb2xpZCByZ2IoMjAyLCAyMDIsIDIwMik7CisgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4Owog
fQogCiAuc3RhdHVzLWJhciA+IGRpdiB7CkBAIC01NDUsNiArNTI5LDkgQEAgYm9keS5kcmF3ZXIt
dmlzaWJsZSAjbWFpbi1wYW5lbHMgewogCiAuc3RhdHVzLWJhci1pdGVtIHsKICAgICBkaXNwbGF5
OiBpbmxpbmUtYmxvY2s7CisgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CisgICAgY3Vyc29yOiBk
ZWZhdWx0OworICAgIC13ZWJraXQtZmxleDogMDsKICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgcGFk
ZGluZzogMDsKICAgICBtYXJnaW4tbGVmdDogLTFweDsKQEAgLTU1NCw2ICs1NDEsMzcgQEAgYm9k
eS5kcmF3ZXItdmlzaWJsZSAjbWFpbi1wYW5lbHMgewogICAgIGJhY2tncm91bmQtY29sb3I6IHRy
YW5zcGFyZW50OwogfQogCisjZmxvYXRpbmctc3RhdHVzLWJhci1jb250YWluZXIgeworICAgIHBv
c2l0aW9uOiBhYnNvbHV0ZTsKKyAgICBsZWZ0OiAwOworICAgIHJpZ2h0OiAwOworICAgIGJvdHRv
bTogMDsKKyAgICBkaXNwbGF5OiBub25lOworICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBy
Z2IoMjAyLCAyMDIsIDIwMik7CisgICAgY3Vyc29yOiBucy1yZXNpemU7CisgICAgaGVpZ2h0OiAy
NHB4OworfQorCitib2R5LmRyYXdlci12aXNpYmxlICNmbG9hdGluZy1zdGF0dXMtYmFyLWNvbnRh
aW5lciB7CisgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OworfQorCisjZmxvYXRpbmctc3RhdHVz
LWJhci1yZXNpemVyIHsKKyAgICBjb250ZW50OiB1cmwoSW1hZ2VzL3N0YXR1c2JhclJlc2l6ZXJW
ZXJ0aWNhbC5wbmcpOworICAgIG1hcmdpbi10b3A6IDdweDsKKyAgICBwb2ludGVyLWV2ZW50czog
bm9uZTsKK30KKworI3BhbmVsLXN0YXR1cy1iYXIgeworICAgIC13ZWJraXQtZmxleDogMSAwOwor
ICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDsKKyAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKK30K
KworI3BhbmVsLXN0YXR1cy1iYXIgPiBkaXYgeworICAgIHdpZHRoOiAxMDAlOworfQorCiAuc3Rh
dHVzLWJhci1pdGVtOmFjdGl2ZSB7CiAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgIHotaW5k
ZXg6IDIwMDsKQEAgLTY3MywxMSArNjkxLDYgQEAgYnV0dG9uLmRvY2stc3RhdHVzLWJhci1pdGVt
LnN0YXR1cy1iYXItaXRlbS50b2dnbGVkLXJpZ2h0IC5nbHlwaCB7CiAgICAgYmFja2dyb3VuZC1j
b2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTsKIH0KIAotYnV0dG9uLnNldHRpbmdzLXN0YXR1cy1i
YXItaXRlbSB7Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIHJpZ2h0OiAwOwotfQotCiBi
b2R5LmRldGFjaGVkIC5hbHRlcm5hdGUtc3RhdHVzLWJhci1idXR0b25zLWJhciB7CiAgICAgbWFy
Z2luLWxlZnQ6IDFweDsKIH0KQEAgLTcwMiw2ICs3MTUsMTEgQEAgYm9keS5kZXRhY2hlZCAuYWx0
ZXJuYXRlLXN0YXR1cy1iYXItYnV0dG9ucy1iYXIgewogICAgIGJvcmRlci1ib3R0b206IDFweCBz
b2xpZCB0cmFuc3BhcmVudDsKIH0KIAorYnV0dG9uLnN0YXR1cy1iYXItaXRlbS5zZXR0aW5ncy1z
dGF0dXMtYmFyLWl0ZW0sCitidXR0b24uc3RhdHVzLWJhci1pdGVtLnNldHRpbmdzLXN0YXR1cy1i
YXItaXRlbTphY3RpdmUgeworICAgIGJvcmRlci1yaWdodDogMCB0cmFuc3BhcmVudCBub25lOwor
fQorCiAuc2V0dGluZ3Mtc3RhdHVzLWJhci1pdGVtIC5nbHlwaCB7CiAgICAgLXdlYmtpdC1tYXNr
LXBvc2l0aW9uOiAtMTYwcHggLTI0cHg7CiB9CkBAIC03MTgsMTggKzczNiwxMSBAQCBib2R5LnBv
cnQtcXQgI2RvY2stc3RhdHVzLWJhci1pdGVtIHsKICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246
IC02NHB4IDA7CiB9CiAKLSNjb3VudGVycyB7Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAg
IHJpZ2h0OiAzMnB4OwotICAgIHRvcDogMDsKLSAgICBjdXJzb3I6IHBvaW50ZXI7CisjZXJyb3It
d2FybmluZy1jb3VudCB7CiAgICAgcGFkZGluZzogNnB4IDJweCA2cHggMHB4OwogICAgIGZvbnQt
c2l6ZTogMTBweDsKICAgICBoZWlnaHQ6IDE5cHg7Ci19Ci0KLSNlcnJvci13YXJuaW5nLWNvdW50
IHsKLSAgICBkaXNwbGF5OiBpbmxpbmU7CisgICAgY3Vyc29yOiBwb2ludGVyOwogfQogCiAjZXJy
b3Itd2FybmluZy1jb3VudDpob3ZlciB7CkBAIC03NjQsMTEgKzc3NSw5IEBAIGJvZHkucG9ydC1x
dCAjZG9jay1zdGF0dXMtYmFyLWl0ZW0gewogICAgIHJpZ2h0OiAwOwogICAgIGhlaWdodDogMjAw
cHg7CiAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7Ci0gICAgYmFja2dyb3VuZC1yZXBlYXQ6
IHJlcGVhdC14OwotICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTsKIH0KIAotYm9keS5k
cmF3ZXItdmlzaWJsZSAjZHJhd2VyLWNvbnRlbnRzIHsKKyNkcmF3ZXItY29udGVudHMgewogICAg
IHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICB0b3A6IDA7CiAgICAgYm90dG9tOiAyNHB4OwpAQCAt
NzgwLDEzICs3ODksNiBAQCBib2R5LmRyYXdlci12aXNpYmxlICNkcmF3ZXIgewogICAgIGRpc3Bs
YXk6IGJsb2NrOwogfQogCi0jZHJhd2VyLXN0YXR1cy1iYXIgewotICAgIHBvc2l0aW9uOiBhYnNv
bHV0ZTsKLSAgICBib3R0b206IDA7Ci0gICAgbGVmdDogMDsKLSAgICByaWdodDogMDsKLX0KLQog
Ym9keS5wbGF0Zm9ybS1tYWMgLm1vbm9zcGFjZSwgYm9keS5wbGF0Zm9ybS1tYWMgLnNvdXJjZS1j
b2RlIHsKICAgICBmb250LWZhbWlseTogTW9uYWNvLCBtb25vc3BhY2U7CiB9CkBAIC0yMjI3LDcg
KzIyMjksNyBAQCBib2R5LmluYWN0aXZlIGxpLnNlbGVjdGVkIC5idWJibGUuc2VhcmNoLW1hdGNo
ZXMgewogLnN0YXR1cy1iYXItaXRlbXMgewogICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICB0
b3A6IDA7Ci0gICAgYm90dG9tOiAwOworICAgIGJvdHRvbTogMHB4OwogICAgIGxlZnQ6IDIwMHB4
OwogICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2Io
MTg0LCAxODQsIDE4NCk7CkBAIC0yNTM4LDYgKzI1NDAsNyBAQCBib2R5LnBsYXRmb3JtLW1hYyAu
c2VhcmNoLWRyYXdlci1oZWFkZXIgaW5wdXRbdHlwZT0iY2hlY2tib3giXS5zZWFyY2gtY29uZmln
LWNoZQogICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYigxOTcsIDE5NywgMTk3KTsKICAg
ICBsaW5lLWhlaWdodDogMjNweDsKICAgICBwYWRkaW5nLWxlZnQ6IDZweDsKKyAgICBkaXNwbGF5
OiBpbmxpbmUtYmxvY2s7CiB9CiAKIC5kcmF3ZXItaGVhZGVyLWNsb3NlLWJ1dHRvbiB7CkBAIC0y
NTU4LDQ4ICsyNTYxLDU1IEBAIGJvZHkucGxhdGZvcm0tbWFjIC5zZWFyY2gtZHJhd2VyLWhlYWRl
ciBpbnB1dFt0eXBlPSJjaGVja2JveCJdLnNlYXJjaC1jb25maWctY2hlCiAgICAgb3BhY2l0eTog
MC43OwogfQogCi0jZHJhd2VyLXN0YXR1cy1iYXIgLnNlYXJjaC1zdGF0dXMtYmFyLWl0ZW0gewor
I2JvdHRvbS1zdGF0dXMtYmFyLWNvbnRhaW5lciB7CisgICAgLXdlYmtpdC1mbGV4OiAxIDA7Cit9
CisKKy5zZWFyY2gtc3RhdHVzLWJhci1pdGVtIHsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7
CiAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICBoZWlnaHQ6
IDIzcHg7CiB9CiAKLSNkcmF3ZXItc3RhdHVzLWJhciAuc2VhcmNoLXN0YXR1cy1iYXItbWVzc2Fn
ZSB7Cisuc2VhcmNoLXN0YXR1cy1iYXItbWVzc2FnZSB7CiAgICAgbWFyZ2luLWxlZnQ6NXB4Owog
ICAgIG1hcmdpbi1yaWdodDo1cHg7Ci0gICAgbWFyZ2luLXRvcDo2cHg7CisgICAgbWFyZ2luLXRv
cDo1cHg7CiAgICAgZmxvYXQ6bGVmdDsKIH0KIAotI2RyYXdlci1zdGF0dXMtYmFyIC5zZWFyY2gt
c3RhdHVzLWJhci1wcm9ncmVzcyB7Cisuc2VhcmNoLXN0YXR1cy1iYXItcHJvZ3Jlc3MgewogICAg
IGhlaWdodDogMTFweDsKICAgICB3aWR0aDogMTAwcHg7CiAgICAgZmxvYXQ6IGxlZnQ7CiB9CiAK
LWJvZHk6bm90KC5wbGF0Zm9ybS1tYWMpICNkcmF3ZXItc3RhdHVzLWJhciAuc2VhcmNoLXN0YXR1
cy1iYXItcHJvZ3Jlc3MgewotICAgIG1hcmdpbi10b3A6IDhweDsKK2JvZHk6bm90KC5wbGF0Zm9y
bS1tYWMpIC5zZWFyY2gtc3RhdHVzLWJhci1wcm9ncmVzcyB7CisgICAgbWFyZ2luLXRvcDogN3B4
OwogfQogCi1ib2R5LnBsYXRmb3JtLW1hYyAjZHJhd2VyLXN0YXR1cy1iYXIgLnNlYXJjaC1zdGF0
dXMtYmFyLXByb2dyZXNzIHsKLSAgICBtYXJnaW4tdG9wOiA3cHg7Citib2R5LnBsYXRmb3JtLW1h
YyAuc2VhcmNoLXN0YXR1cy1iYXItcHJvZ3Jlc3MgeworICAgIG1hcmdpbi10b3A6IDZweDsKIH0K
IAotI2RyYXdlci1zdGF0dXMtYmFyIC5zZWFyY2gtc3RhdHVzLWJhci1zdG9wLWJ1dHRvbi1pdGVt
IHsKKy5zZWFyY2gtc3RhdHVzLWJhci1zdG9wLWJ1dHRvbi1pdGVtIHsKICAgICB3aWR0aDogMTlw
eDsKICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKIH0KIAotI2RyYXdl
ci1zdGF0dXMtYmFyIC5zZWFyY2gtc3RhdHVzLWJhci1zdG9wLWJ1dHRvbiAuZ2x5cGggeworLnNl
YXJjaC1zdGF0dXMtYmFyLXN0b3AtYnV0dG9uIC5nbHlwaCB7CiAgICAgLXdlYmtpdC1tYXNrLXBv
c2l0aW9uOiAtOTZweCAtNDhweDsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjE2LCAwLCAw
KSAhaW1wb3J0YW50OwogfQogCi0jZHJhd2VyLXN0YXR1cy1iYXIgLnNlYXJjaC1yZXN1bHRzLXN0
YXR1cy1iYXItbWVzc2FnZSB7Cisuc2VhcmNoLXJlc3VsdHMtc3RhdHVzLWJhci1tZXNzYWdlIHsK
ICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgIGZvbnQt
c2l6ZTogMTFweDsKKyAgICBmbG9hdDogcmlnaHQ7CisgICAgbWFyZ2luLXRvcDogNXB4OwogfQog
CiAuc2VhcmNoLXZpZXcgLnNlYXJjaC1yZXN1bHRzIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCmluZGV4IDYxOTA2NDBlMzMyYmM4OTYw
YWVjMzM4OGQ2OTQ4ZTZiOTY2YTk1MzUuLjg1YzYyODU1M2I2NzJhYWYwNDdhOTQ3ZjVhYTNkYzc1
NjQ1MmJkMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmh0bWwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuaHRtbApAQCAtMjMyLDggKzIzMiwxNCBAQCBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICAgICAgICA8L2Rp
dj4KICAgICA8L2Rpdj4KICAgICA8ZGl2IGlkPSJtYWluIj4KLSAgICAgICAgPGRpdiBpZD0ibWFp
bi1zdGF0dXMtYmFyIiBjbGFzcz0ic3RhdHVzLWJhciI+PGRpdiBpZD0iYW5jaG9yZWQtc3RhdHVz
LWJhci1pdGVtcyI+PGRpdiBpZD0iY291bnRlcnMiPjxkaXYgaWQ9ImVycm9yLXdhcm5pbmctY291
bnQiIGNsYXNzPSJoaWRkZW4iPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJmbG9hdGluZy1zdGF0dXMtYmFyLWNvbnRhaW5lciIgY2xhc3M9InN0YXR1cy1iYXIiPjxk
aXYgaWQ9ImZsb2F0aW5nLXN0YXR1cy1iYXItcmVzaXplciI+PC9kaXY+PC9kaXY+CiAgICAgPC9k
aXY+CiAgICAgPGRpdiBpZD0iZHJhd2VyIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJtYWluLXN0YXR1
cy1iYXIiIGNsYXNzPSJzdGF0dXMtYmFyIj4KKyAgICAgICAgPGRpdiBpZD0iYm90dG9tLXN0YXR1
cy1iYXItY29udGFpbmVyIj4KKyAgICAgICAgICAgIDxkaXYgaWQ9InBhbmVsLXN0YXR1cy1iYXIi
PjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZXJyb3Itd2FybmluZy1j
b3VudCIgY2xhc3M9ImhpZGRlbiI+PC9kaXY+CisgICAgPC9kaXY+CiA8L2JvZHk+CiA8L2h0bWw+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmlu
ZGV4IDZkYjkyODY2YTU0YjllZmE5YzJiMjc4ZGFmZGEyOTY2YmM2MGQxZmEuLjZiNGUwN2RmZDM1
NmUyNTI4ZDVkMjU3NGNhYmQ4MzBiOWVjYTM1ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCkBAIC03MCwyMSArNzAsMjIgQEAgdmFyIFdl
Ykluc3BlY3RvciA9IHsKIAogICAgIF9jcmVhdGVHbG9iYWxTdGF0dXNCYXJJdGVtczogZnVuY3Rp
b24oKQogICAgIHsKKyAgICAgICAgdmFyIGJvdHRvbVN0YXR1c0JhckNvbnRhaW5lciA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJib3R0b20tc3RhdHVzLWJhci1jb250YWluZXIiKTsKICAgICAg
ICAgdGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbiA9IG5ldyBXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0
dG9uKCIiLCAiZG9jay1zdGF0dXMtYmFyLWl0ZW0iLCAzKTsKICAgICAgICAgdGhpcy5fZG9ja1Rv
Z2dsZUJ1dHRvbi5tYWtlTG9uZ0NsaWNrRW5hYmxlZCh0aGlzLl9jcmVhdGVEb2NrT3B0aW9ucy5i
aW5kKHRoaXMpKTsKICAgICAgICAgdGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbi5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIHRoaXMuX3RvZ2dsZUF0dGFjaC5iaW5kKHRoaXMpLCBmYWxzZSk7CiAgICAg
ICAgIHRoaXMuX3VwZGF0ZURvY2tCdXR0b25TdGF0ZSgpOwogCi0gICAgICAgIHZhciBhbmNob3Jl
ZFN0YXR1c0JhciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmNob3JlZC1zdGF0dXMtYmFy
LWl0ZW1zIik7Ci0gICAgICAgIGFuY2hvcmVkU3RhdHVzQmFyLmFwcGVuZENoaWxkKHRoaXMuX2Rv
Y2tUb2dnbGVCdXR0b24uZWxlbWVudCk7CisgICAgICAgIHZhciBtYWluU3RhdHVzQmFyID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1haW4tc3RhdHVzLWJhciIpOworICAgICAgICBtYWluU3Rh
dHVzQmFyLmluc2VydEJlZm9yZSh0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLmVsZW1lbnQsIGJvdHRv
bVN0YXR1c0JhckNvbnRhaW5lcik7CiAKICAgICAgICAgdGhpcy5fdG9nZ2xlQ29uc29sZUJ1dHRv
biA9IG5ldyBXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0dG9uKFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiU2hvdyBjb25zb2xlLiIpLCAiY29uc29sZS1zdGF0dXMtYmFyLWl0ZW0iKTsKICAgICAgICAg
dGhpcy5fdG9nZ2xlQ29uc29sZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMu
X3RvZ2dsZUNvbnNvbGVCdXR0b25DbGlja2VkLmJpbmQodGhpcyksIGZhbHNlKTsKLSAgICAgICAg
YW5jaG9yZWRTdGF0dXNCYXIuYXBwZW5kQ2hpbGQodGhpcy5fdG9nZ2xlQ29uc29sZUJ1dHRvbi5l
bGVtZW50KTsKKyAgICAgICAgbWFpblN0YXR1c0Jhci5pbnNlcnRCZWZvcmUodGhpcy5fdG9nZ2xl
Q29uc29sZUJ1dHRvbi5lbGVtZW50LCBib3R0b21TdGF0dXNCYXJDb250YWluZXIpOwogCiAgICAg
ICAgIGlmICh0aGlzLnBhbmVscy5lbGVtZW50cykKLSAgICAgICAgICAgIGFuY2hvcmVkU3RhdHVz
QmFyLmFwcGVuZENoaWxkKHRoaXMucGFuZWxzLmVsZW1lbnRzLm5vZGVTZWFyY2hCdXR0b24uZWxl
bWVudCk7Ci0gICAgICAgIGFuY2hvcmVkU3RhdHVzQmFyLmFwcGVuZENoaWxkKHRoaXMuc2V0dGlu
Z3NDb250cm9sbGVyLnN0YXR1c0Jhckl0ZW0pOworICAgICAgICAgICAgbWFpblN0YXR1c0Jhci5p
bnNlcnRCZWZvcmUodGhpcy5wYW5lbHMuZWxlbWVudHMubm9kZVNlYXJjaEJ1dHRvbi5lbGVtZW50
LCBib3R0b21TdGF0dXNCYXJDb250YWluZXIpOworICAgICAgICBtYWluU3RhdHVzQmFyLmFwcGVu
ZENoaWxkKHRoaXMuc2V0dGluZ3NDb250cm9sbGVyLnN0YXR1c0Jhckl0ZW0pOwogICAgIH0sCiAK
ICAgICBfY3JlYXRlRG9ja09wdGlvbnM6IGZ1bmN0aW9uKCkKQEAgLTE4MCwyMSArMTgxLDE2IEBA
IHZhciBXZWJJbnNwZWN0b3IgPSB7CiAgICAgICAgIHRoaXMuX2Nsb3NlUHJldmlvdXNEcmF3ZXJW
aWV3KCk7CiAKICAgICAgICAgdmFyIGRyYXdlclN0YXR1c0JhckhlYWRlciA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgICAgICBkcmF3ZXJTdGF0dXNCYXJIZWFkZXIuY2xhc3NO
YW1lID0gImRyYXdlci1oZWFkZXIiOworICAgICAgICBkcmF3ZXJTdGF0dXNCYXJIZWFkZXIuY2xh
c3NOYW1lID0gImRyYXdlci1oZWFkZXIgc3RhdHVzLWJhci1pdGVtIjsKICAgICAgICAgZHJhd2Vy
U3RhdHVzQmFySGVhZGVyLmFwcGVuZENoaWxkKHN0YXR1c0JhckVsZW1lbnQpOwogICAgICAgICBk
cmF3ZXJTdGF0dXNCYXJIZWFkZXIub25jbG9zZSA9IG9uY2xvc2U7CiAKICAgICAgICAgdmFyIGNs
b3NlQnV0dG9uID0gZHJhd2VyU3RhdHVzQmFySGVhZGVyLmNyZWF0ZUNoaWxkKCJzcGFuIik7CiAg
ICAgICAgIGNsb3NlQnV0dG9uLnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJc
dTAwRDciKTsKICAgICAgICAgY2xvc2VCdXR0b24uYWRkU3R5bGVDbGFzcygiZHJhd2VyLWhlYWRl
ci1jbG9zZS1idXR0b24iKTsKLSAgICAgICAgY2xvc2VCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigi
Y2xpY2siLCBjbG9zZUJ1dHRvblByZXNzZWQuYmluZCh0aGlzKSwgZmFsc2UpOworICAgICAgICBj
bG9zZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuY2xvc2VWaWV3SW5EcmF3
ZXIuYmluZCh0aGlzKSwgZmFsc2UpOwogCi0gICAgICAgIGZ1bmN0aW9uIGNsb3NlQnV0dG9uUHJl
c3NlZChldmVudCkKLSAgICAgICAgewotICAgICAgICAgICAgdGhpcy5jbG9zZVZpZXdJbkRyYXdl
cigpOwotICAgICAgICB9Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1haW4t
c3RhdHVzLWJhciIpLmFwcGVuZENoaWxkKGRyYXdlclN0YXR1c0JhckhlYWRlcik7CisgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYW5lbC1zdGF0dXMtYmFyIikuZmlyc3RFbGVtZW50
Q2hpbGQuYXBwZW5kQ2hpbGQoZHJhd2VyU3RhdHVzQmFySGVhZGVyKTsKICAgICAgICAgdGhpcy5f
ZHJhd2VyU3RhdHVzQmFySGVhZGVyID0gZHJhd2VyU3RhdHVzQmFySGVhZGVyOwogICAgICAgICB0
aGlzLmRyYXdlci5zaG93KHZpZXcsIFdlYkluc3BlY3Rvci5EcmF3ZXIuQW5pbWF0aW9uVHlwZS5J
bW1lZGlhdGVseSk7CiAgICAgfSwKQEAgLTIxNSw3ICsyMTEsNyBAQCB2YXIgV2ViSW5zcGVjdG9y
ID0gewogICAgIF9jbG9zZVByZXZpb3VzRHJhd2VyVmlldzogZnVuY3Rpb24oKQogICAgIHsKICAg
ICAgICAgaWYgKHRoaXMuX2RyYXdlclN0YXR1c0JhckhlYWRlcikgewotICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1haW4tc3RhdHVzLWJhciIpLnJlbW92ZUNoaWxkKHRoaXMu
X2RyYXdlclN0YXR1c0JhckhlYWRlcik7CisgICAgICAgICAgICB0aGlzLl9kcmF3ZXJTdGF0dXNC
YXJIZWFkZXIucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLl9kcmF3ZXJTdGF0dXNCYXJI
ZWFkZXIpOwogICAgICAgICAgICAgaWYgKHRoaXMuX2RyYXdlclN0YXR1c0JhckhlYWRlci5vbmNs
b3NlKQogICAgICAgICAgICAgICAgIHRoaXMuX2RyYXdlclN0YXR1c0JhckhlYWRlci5vbmNsb3Nl
KCk7CiAgICAgICAgICAgICBkZWxldGUgdGhpcy5fZHJhd2VyU3RhdHVzQmFySGVhZGVyOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC90aW1lbGluZVBhbmVs
LmNzcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGltZWxpbmVQYW5lbC5j
c3MKaW5kZXggNmZmNTQyZWFlMTBkOTMzMmUyMzY0ZTdiMjgxNGJmYWQ2NDBhZWRkOS4uNTZjNjNl
YTZjYzRmYzlkODU0MzE2YzEwZWYzMWQyZTAxNzViYzA5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC90aW1lbGluZVBhbmVsLmNzcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RpbWVsaW5lUGFuZWwuY3NzCkBAIC00MjMsMTUg
KzQyMywxMCBAQAogICAgIHRleHQtc2hhZG93OiB3aGl0ZSAwIDFweCAwOwogfQogCi0jbWFpbi1z
dGF0dXMtYmFyID4gLnRpbWVsaW5lLXJlY29yZHMtY291bnRlciB7CisudGltZWxpbmUtcmVjb3Jk
cy1jb3VudGVyIHsKICAgICBmbG9hdDogcmlnaHQ7Ci0gICAgbWFyZ2luLXRvcDogNHB4OwotICAg
IG1hcmdpbi1yaWdodDogMjVweDsKLX0KLQotI2NvdW50ZXJzID4gLnRpbWVsaW5lLXJlY29yZHMt
Y291bnRlciB7Ci0gICAgZmxvYXQ6IGxlZnQ7Ci0gICAgbWFyZ2luLXRvcDogLTFweDsKKyAgICBt
YXJnaW4tdG9wOiA1cHg7CisgICAgbWFyZ2luLXJpZ2h0OiA2cHg7CiB9CiAKICNyZXNvdXJjZXMt
Y29udGFpbmVyLWNvbnRlbnQgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154640</attachid>
            <date>2012-07-26 06:39:24 -0700</date>
            <delta_ts>2012-07-26 08:31:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92143-20120726173912.patch</filename>
            <type>text/plain</type>
            <size>27203</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNTgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzRhMTAzNjMzNzdhMzU3
ZTkzNTRlOGY3ZDNjNTZiZjAwZjVkMTI4Zi4uYTFkZGUzZGFmNjlmNzVjMTc4OWM1NjNkNTBkNDlj
NmNjMGQzOTExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDEyLTA3LTI1ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogc2ltcGxpZnkgaGFuZGxpbmcgb2Ygc3RhdHVzIGJhciBpdGVtcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIxNDMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIHNwbGl0IHN0YXR1cyBiYXJzIGludG8g
Imdsb2JhbCIgKGFsd2F5cyBpbiB0aGUgYm90dG9tKSBhbmQgInBhbmVsIiAKKyAgICAgICAgICAg
IChvbiB0b3Agb2YgdGhlIGRyYXdlciB3aGVuIGRyYXdlciBpcyBzaG93bikKKyAgICAgICAgLSB1
c2UgImlubmVyIiBzdGF0dXMgYmFyIHNlY3Rpb24gaW4gZ2xvYmFsIHN0YXR1cyBiYXIgdG8gZGlz
cGxheSBlaXRoZXIKKyAgICAgICAgICAgIHBhbmVsIHN0YXR1cyBiYXIgaXRlbXMgb3IgZHJhd2Vy
IHZpZXcgaXRlbXMgKGRlcGVuZGluZyBvbiBkcmF3ZXIgdmlzaWJpbGl0eSkKKyAgICAgICAgLSBs
ZXQgcGFuZWxzL3ZpZXdzIG1hbmFnZSB0aGVpciBjb3VudGVycyBhcyBwYXJ0IG9mIHRoZWlyIHN0
YXR1cyBiYXIKKyAgICAgICAgICAgIGl0ZW1zLCBub3QgdGhyb3VnaCBzcGVjaWFsIGludGVyZmFj
ZSBtZW1iZXJzOworICAgICAgICAtIGdldCByaWQgb2YgYWJzb2x1dGUgcG9zaXRpb25pbmcgaW4g
dGhlIHN0YXR1cyBiYXJzIHdoZXJlIHBvc3NpYmxlOyAgIAorCisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuU2VhcmNoVmlldy5wcm90b3R5cGUuZ2V0IHN0YXR1c0Jhckl0ZW1zKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5E
cmF3ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUuc2hvdy5hbmlt
YXRpb25GaW5pc2hlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5z
aG93KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlLmhpZGUuYW5pbWF0
aW9uRmluaXNoZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUuaGlk
ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZS5fc3RhcnRTdGF0dXNC
YXJEcmFnZ2luZyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9QYW5lbC5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUud2FzU2hvd24pOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZS5nZXQgc3RhdHVzQmFySXRlbXMpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlLndpbGxIaWRlKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2VsZW1lbnRzUGFuZWwuY3NzOgorICAgICAgICAoLmNy
dW1icyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzOgorICAg
ICAgICAoI21haW4pOgorICAgICAgICAoYm9keS5kcmF3ZXItdmlzaWJsZSAjbWFpbi1wYW5lbHMp
OgorICAgICAgICAoLnN0YXR1cy1iYXIpOgorICAgICAgICAoLnN0YXR1cy1iYXItaXRlbSk6Cisg
ICAgICAgICgjcGFuZWwtc3RhdHVzLWJhci1wbGFjZWhvbGRlcik6CisgICAgICAgIChib2R5LmRy
YXdlci12aXNpYmxlICNwYW5lbC1zdGF0dXMtYmFyLXBsYWNlaG9sZGVyKToKKyAgICAgICAgKCNw
YW5lbC1zdGF0dXMtYmFyLXJlc2l6ZXIpOgorICAgICAgICAoI3BhbmVsLXN0YXR1cy1iYXIpOgor
ICAgICAgICAoI3BhbmVsLXN0YXR1cy1iYXIgPiBkaXYpOgorICAgICAgICAoI2Vycm9yLXdhcm5p
bmctY291bnQpOgorICAgICAgICAoI2RyYXdlcik6CisgICAgICAgICgjZHJhd2VyLWNvbnRlbnRz
KToKKyAgICAgICAgKC5zdGF0dXMtYmFyLWl0ZW1zKToKKyAgICAgICAgKC5kcmF3ZXItaGVhZGVy
KToKKyAgICAgICAgKCNpbm5lci1zdGF0dXMtYmFyKToKKyAgICAgICAgKC5zZWFyY2gtc3RhdHVz
LWJhci1pdGVtKToKKyAgICAgICAgKC5zZWFyY2gtc3RhdHVzLWJhci1tZXNzYWdlKToKKyAgICAg
ICAgKC5zZWFyY2gtc3RhdHVzLWJhci1wcm9ncmVzcyk6CisgICAgICAgIChib2R5Om5vdCgucGxh
dGZvcm0tbWFjKSAuc2VhcmNoLXN0YXR1cy1iYXItcHJvZ3Jlc3MpOgorICAgICAgICAoYm9keS5w
bGF0Zm9ybS1tYWMgLnNlYXJjaC1zdGF0dXMtYmFyLXByb2dyZXNzKToKKyAgICAgICAgKC5zZWFy
Y2gtc3RhdHVzLWJhci1zdG9wLWJ1dHRvbi1pdGVtKToKKyAgICAgICAgKC5zZWFyY2gtc3RhdHVz
LWJhci1zdG9wLWJ1dHRvbiAuZ2x5cGgpOgorICAgICAgICAoLnNlYXJjaC1yZXN1bHRzLXN0YXR1
cy1iYXItbWVzc2FnZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
aHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5fY3JlYXRlR2xvYmFsU3RhdHVzQmFySXRlbXMpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLnNob3dWaWV3SW5EcmF3ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLl9j
bG9zZVByZXZpb3VzRHJhd2VyVmlldyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC90
aW1lbGluZVBhbmVsLmNzczoKKyAgICAgICAgKC50aW1lbGluZS1yZWNvcmRzLWNvdW50ZXIpOgor
CiAyMDEyLTA3LTI0ICBLd2FuZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CiAKICAg
ICAgICAgUmVtb3ZlIGFub255bW91cyBuYW1lc3BhY2UgYW5kIG1ha2UgZnVuY3Rpb25zIHN0YXRp
Yy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQWR2YW5j
ZWRTZWFyY2hDb250cm9sbGVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMKaW5kZXggYjgyZjc3NDg1YmY1MDQzNDg1ODhm
NDcyYjBiYjM5OTViN2Q3MGUxYS4uNjk2MTYyODBmNWViYmVkMTZlODlkYzY2ZjE3NTk1ZjhiZDE5
OGZmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BZHZh
bmNlZFNlYXJjaENvbnRyb2xsZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMKQEAgLTIzNSwxNSArMjM1LDcgQEAg
V2ViSW5zcGVjdG9yLlNlYXJjaFZpZXcucHJvdG90eXBlID0gewogICAgICAqLwogICAgIGdldCBz
dGF0dXNCYXJJdGVtcygpCiAgICAgewotICAgICAgICByZXR1cm4gW3RoaXMuX3NlYXJjaFN0YXR1
c0JhckVsZW1lbnRdOwotICAgIH0sCi0KLSAgICAvKioKLSAgICAgKiBAcmV0dXJuIHtFbGVtZW50
fQotICAgICAqLwotICAgIGdldCBjb3VudGVyRWxlbWVudCgpCi0gICAgewotICAgICAgICByZXR1
cm4gdGhpcy5fc2VhcmNoUmVzdWx0c01lc3NhZ2VFbGVtZW50OworICAgICAgICByZXR1cm4gW3Ro
aXMuX3NlYXJjaFN0YXR1c0JhckVsZW1lbnQsIHRoaXMuX3NlYXJjaFJlc3VsdHNNZXNzYWdlRWxl
bWVudF07CiAgICAgfSwKIAogICAgIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9EcmF3ZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RyYXdlci5qcwppbmRleCAyYTU2ZmNhMzg3ZGU1YmI1ZGQ0NjA3Nzk0NzAxMDNiN2Fl
NGY5MzZjLi5jNTU4ZGNmMWQ1ZTc5NTEyYjBiMDcyYjk2ODRkYjUzZTg4ZWFiNTRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RyYXdlci5qcwpAQCAtMzYsMjMgKzM2
LDE2IEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fc2F2ZWRI
ZWlnaHQgPSAyMDA7IC8vIERlZmF1bHQuCiAgICAgdGhpcy5fbWFpbkVsZW1lbnQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgibWFpbiIpOwogICAgIHRoaXMuX3Rvb2xiYXJFbGVtZW50ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvb2xiYXIiKTsKLSAgICB0aGlzLl9tYWluU3RhdHVzQmFy
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1haW4tc3RhdHVzLWJhciIpOwotICAgIFdlYklu
c3BlY3Rvci5pbnN0YWxsRHJhZ0hhbmRsZSh0aGlzLl9tYWluU3RhdHVzQmFyLCB0aGlzLl9zdGFy
dFN0YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX3N0YXR1c0JhckRyYWdnaW5nLmJp
bmQodGhpcyksIHRoaXMuX2VuZFN0YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksICJyb3ctcmVz
aXplIik7CiAKLSAgICB0aGlzLl9jb3VudGVycyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
b3VudGVycyIpOworICAgIHRoaXMuX2Zsb2F0aW5nU3RhdHVzQmFyQ29udGFpbmVyID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImZsb2F0aW5nLXN0YXR1cy1iYXItY29udGFpbmVyIik7CisgICAg
V2ViSW5zcGVjdG9yLmluc3RhbGxEcmFnSGFuZGxlKHRoaXMuX2Zsb2F0aW5nU3RhdHVzQmFyQ29u
dGFpbmVyLCB0aGlzLl9zdGFydFN0YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX3N0
YXR1c0JhckRyYWdnaW5nLmJpbmQodGhpcyksIHRoaXMuX2VuZFN0YXR1c0JhckRyYWdnaW5nLmJp
bmQodGhpcyksICJyb3ctcmVzaXplIik7CiAKICAgICB0aGlzLl9kcmF3ZXJDb250ZW50c0VsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICB0aGlzLl9kcmF3ZXJDb250
ZW50c0VsZW1lbnQuaWQgPSAiZHJhd2VyLWNvbnRlbnRzIjsKICAgICB0aGlzLl9kcmF3ZXJDb250
ZW50c0VsZW1lbnQuY2xhc3NOYW1lID0gImRyYXdlci1jb250ZW50cyI7CiAgICAgdGhpcy5lbGVt
ZW50LmFwcGVuZENoaWxkKHRoaXMuX2RyYXdlckNvbnRlbnRzRWxlbWVudCk7Ci0KLSAgICB0aGlz
Ll9kcmF3ZXJTdGF0dXNCYXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICB0
aGlzLl9kcmF3ZXJTdGF0dXNCYXIuaWQgPSAiZHJhd2VyLXN0YXR1cy1iYXIiOwotICAgIHRoaXMu
X2RyYXdlclN0YXR1c0Jhci5jbGFzc05hbWUgPSAic3RhdHVzLWJhciI7Ci0gICAgdGhpcy5lbGVt
ZW50LmFwcGVuZENoaWxkKHRoaXMuX2RyYXdlclN0YXR1c0Jhcik7Ci0KICAgICB0aGlzLl92aWV3
U3RhdHVzQmFyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgdGhpcy5fZHJh
d2VyU3RhdHVzQmFyLmFwcGVuZENoaWxkKHRoaXMuX3ZpZXdTdGF0dXNCYXIpOworICAgIHRoaXMu
X2JvdHRvbVN0YXR1c0JhciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib3R0b20tc3RhdHVz
LWJhci1jb250YWluZXIiKTsKIH0KIAogV2ViSW5zcGVjdG9yLkRyYXdlci5BbmltYXRpb25UeXBl
ID0gewpAQCAtNzUsOCArNjgsNiBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlwZSA9IHsK
ICAgICBzaG93OiBmdW5jdGlvbih2aWV3LCBhbmltYXRpb25UeXBlKQogICAgIHsKICAgICAgICAg
dGhpcy5pbW1lZGlhdGVseUZpbmlzaEFuaW1hdGlvbigpOwotICAgICAgICBpZiAodGhpcy5fdmll
dyAmJiB0aGlzLl92aWV3LmNvdW50ZXJFbGVtZW50KQotICAgICAgICAgICAgdGhpcy5fdmlldy5j
b3VudGVyRWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuX3ZpZXcuY291bnRlckVs
ZW1lbnQpOwogCiAgICAgICAgIHZhciBkcmF3ZXJXYXNWaXNpYmxlID0gdGhpcy52aXNpYmxlOwog
CkBAIC05Miw0NCArODMsMjkgQEAgV2ViSW5zcGVjdG9yLkRyYXdlci5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RhdHVzQmFySXRlbXMubGVuZ3RoOyArK2kpCiAg
ICAgICAgICAgICB0aGlzLl92aWV3U3RhdHVzQmFyLmFwcGVuZENoaWxkKHN0YXR1c0Jhckl0ZW1z
W2ldKTsKIAotICAgICAgICBpZiAodGhpcy5fdmlldy5jb3VudGVyRWxlbWVudCkKLSAgICAgICAg
ICAgIHRoaXMuX2NvdW50ZXJzLmluc2VydEJlZm9yZSh0aGlzLl92aWV3LmNvdW50ZXJFbGVtZW50
LCB0aGlzLl9jb3VudGVycy5maXJzdENoaWxkKTsKLQogICAgICAgICBkb2N1bWVudC5ib2R5LmFk
ZFN0eWxlQ2xhc3MoImRyYXdlci12aXNpYmxlIik7CisgICAgICAgIHRoaXMuX2Zsb2F0aW5nU3Rh
dHVzQmFyQ29udGFpbmVyLmluc2VydEJlZm9yZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFu
ZWwtc3RhdHVzLWJhciIpLCB0aGlzLl9mbG9hdGluZ1N0YXR1c0JhckNvbnRhaW5lci5maXJzdEVs
ZW1lbnRDaGlsZCk7CisgICAgICAgIHRoaXMuX2JvdHRvbVN0YXR1c0Jhci5hcHBlbmRDaGlsZCh0
aGlzLl92aWV3U3RhdHVzQmFyKTsKICAgICAgICAgdGhpcy5fdmlldy5tYXJrQXNSb290KCk7CiAg
ICAgICAgIHRoaXMuX3ZpZXcuc2hvdyh0aGlzLl9kcmF3ZXJDb250ZW50c0VsZW1lbnQpOwogCiAg
ICAgICAgIGlmIChkcmF3ZXJXYXNWaXNpYmxlKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICAKLSAgICAgICAgdmFyIGFuY2hvcmVkSXRlbXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
YW5jaG9yZWQtc3RhdHVzLWJhci1pdGVtcyIpOwogICAgICAgICB2YXIgaGVpZ2h0ID0gdGhpcy5f
Y29uc3RyYWluSGVpZ2h0KHRoaXMuX3NhdmVkSGVpZ2h0IHx8IHRoaXMuZWxlbWVudC5vZmZzZXRI
ZWlnaHQpOwogICAgICAgICB2YXIgYW5pbWF0aW9ucyA9IFsKICAgICAgICAgICAgIHtlbGVtZW50
OiB0aGlzLmVsZW1lbnQsIGVuZDoge2hlaWdodDogaGVpZ2h0fX0sCiAgICAgICAgICAgICB7ZWxl
bWVudDogdGhpcy5fbWFpbkVsZW1lbnQsIGVuZDoge2JvdHRvbTogaGVpZ2h0fX0sCi0gICAgICAg
ICAgICB7ZWxlbWVudDogdGhpcy5fbWFpblN0YXR1c0Jhciwgc3RhcnQ6IHsicGFkZGluZy1sZWZ0
IjogYW5jaG9yZWRJdGVtcy5vZmZzZXRXaWR0aCAtIDF9LCBlbmQ6IHsicGFkZGluZy1sZWZ0Ijog
MH19LAorICAgICAgICAgICAge2VsZW1lbnQ6IHRoaXMuX2Zsb2F0aW5nU3RhdHVzQmFyQ29udGFp
bmVyLCBzdGFydDogeyJwYWRkaW5nLWxlZnQiOiB0aGlzLl9ib3R0b21TdGF0dXNCYXIub2Zmc2V0
TGVmdH0sIGVuZDogeyJwYWRkaW5nLWxlZnQiOiAwfX0sCiAgICAgICAgICAgICB7ZWxlbWVudDog
dGhpcy5fdmlld1N0YXR1c0Jhciwgc3RhcnQ6IHtvcGFjaXR5OiAwfSwgZW5kOiB7b3BhY2l0eTog
MX19CiAgICAgICAgIF07CiAKLSAgICAgICAgdGhpcy5fZHJhd2VyU3RhdHVzQmFyLmluc2VydEJl
Zm9yZShhbmNob3JlZEl0ZW1zLCB0aGlzLl9kcmF3ZXJTdGF0dXNCYXIuZmlyc3RDaGlsZCk7Ci0K
LSAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzKSB7Ci0gICAgICAgICAgICB2
YXIgb2xkUmlnaHQgPSB0aGlzLl9kcmF3ZXJTdGF0dXNCYXIuY2xpZW50V2lkdGggLSAodGhpcy5f
Y291bnRlcnMub2Zmc2V0TGVmdCArIHRoaXMuX2N1cnJlbnRQYW5lbENvdW50ZXJzLm9mZnNldFdp
ZHRoKTsKLSAgICAgICAgICAgIHZhciBuZXdSaWdodCA9IFdlYkluc3BlY3Rvci5QYW5lbC5jb3Vu
dGVyUmlnaHRNYXJnaW47Ci0gICAgICAgICAgICB2YXIgcmlnaHRQYWRkaW5nID0gKG9sZFJpZ2h0
IC0gbmV3UmlnaHQpOwotICAgICAgICAgICAgYW5pbWF0aW9ucy5wdXNoKHtlbGVtZW50OiB0aGlz
Ll9jdXJyZW50UGFuZWxDb3VudGVycywgc3RhcnQ6IHsicGFkZGluZy1yaWdodCI6IHJpZ2h0UGFk
ZGluZ30sIGVuZDogeyJwYWRkaW5nLXJpZ2h0IjogMH19KTsKLSAgICAgICAgICAgIHRoaXMuX2N1
cnJlbnRQYW5lbENvdW50ZXJzLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5fY3VycmVudFBh
bmVsQ291bnRlcnMpOwotICAgICAgICAgICAgdGhpcy5fbWFpblN0YXR1c0Jhci5hcHBlbmRDaGls
ZCh0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycyk7Ci0gICAgICAgIH0KLSAgICAgICAgCiAgICAg
ICAgIGZ1bmN0aW9uIGFuaW1hdGlvbkZpbmlzaGVkKCkKICAgICAgICAgewogICAgICAgICAgICAg
V2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCkuZG9SZXNpemUoKTsKICAg
ICAgICAgICAgIGlmICh0aGlzLl92aWV3ICYmIHRoaXMuX3ZpZXcuYWZ0ZXJTaG93KQogICAgICAg
ICAgICAgICAgIHRoaXMuX3ZpZXcuYWZ0ZXJTaG93KCk7CiAgICAgICAgICAgICBkZWxldGUgdGhp
cy5fY3VycmVudEFuaW1hdGlvbjsKLSAgICAgICAgICAgIGlmICh0aGlzLl9jdXJyZW50UGFuZWxD
b3VudGVycykKLSAgICAgICAgICAgICAgICB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycy5yZW1v
dmVBdHRyaWJ1dGUoInN0eWxlIik7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9jdXJyZW50
QW5pbWF0aW9uID0gV2ViSW5zcGVjdG9yLmFuaW1hdGVTdHlsZShhbmltYXRpb25zLCB0aGlzLl9h
bmltYXRpb25EdXJhdGlvbihhbmltYXRpb25UeXBlKSwgYW5pbWF0aW9uRmluaXNoZWQuYmluZCh0
aGlzKSk7CkBAIC0xNDcsNDUgKzEyMywyNyBAQCBXZWJJbnNwZWN0b3IuRHJhd2VyLnByb3RvdHlw
ZSA9IHsKIAogICAgICAgICBXZWJJbnNwZWN0b3IucmVzdG9yZUZvY3VzRnJvbUVsZW1lbnQodGhp
cy5lbGVtZW50KTsKIAotICAgICAgICB2YXIgYW5jaG9yZWRJdGVtcyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJhbmNob3JlZC1zdGF0dXMtYmFyLWl0ZW1zIik7Ci0KICAgICAgICAgLy8gVGVt
cG9yYXJpbHkgc2V0IHByb3BlcnRpZXMgYW5kIGNsYXNzZXMgdG8gbWltaWMgdGhlIHBvc3QtYW5p
bWF0aW9uIHZhbHVlcyBzbyBwYW5lbHMKICAgICAgICAgLy8gbGlrZSBFbGVtZW50cyBpbiB0aGVp
ciB1cGRhdGVTdGF0dXNCYXJJdGVtcyBjYWxsIHdpbGwgc2l6ZSB0aGluZ3MgdG8gZml0IHRoZSBm
aW5hbCBsb2NhdGlvbi4KLSAgICAgICAgdGhpcy5fbWFpblN0YXR1c0Jhci5zdHlsZS5zZXRQcm9w
ZXJ0eSgicGFkZGluZy1sZWZ0IiwgKGFuY2hvcmVkSXRlbXMub2Zmc2V0V2lkdGggLSAxKSArICJw
eCIpOwogICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZVN0eWxlQ2xhc3MoImRyYXdlci12aXNp
YmxlIik7CiAgICAgICAgIFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgp
LnN0YXR1c0JhclJlc2l6ZWQoKTsKICAgICAgICAgZG9jdW1lbnQuYm9keS5hZGRTdHlsZUNsYXNz
KCJkcmF3ZXItdmlzaWJsZSIpOwogCiAgICAgICAgIHZhciBhbmltYXRpb25zID0gWwogICAgICAg
ICAgICAge2VsZW1lbnQ6IHRoaXMuX21haW5FbGVtZW50LCBlbmQ6IHtib3R0b206IDB9fSwKLSAg
ICAgICAgICAgIHtlbGVtZW50OiB0aGlzLl9tYWluU3RhdHVzQmFyLCBzdGFydDogeyJwYWRkaW5n
LWxlZnQiOiAwfSwgZW5kOiB7InBhZGRpbmctbGVmdCI6IGFuY2hvcmVkSXRlbXMub2Zmc2V0V2lk
dGggLSAxfX0sCisgICAgICAgICAgICB7ZWxlbWVudDogdGhpcy5lbGVtZW50LCBlbmQ6IHtoZWln
aHQ6IDB9fSwKKyAgICAgICAgICAgIHtlbGVtZW50OiB0aGlzLl9mbG9hdGluZ1N0YXR1c0JhckNv
bnRhaW5lciwgc3RhcnQ6IHsicGFkZGluZy1sZWZ0IjogMH0sIGVuZDogeyJwYWRkaW5nLWxlZnQi
OiB0aGlzLl9ib3R0b21TdGF0dXNCYXIub2Zmc2V0TGVmdH0gfSwKICAgICAgICAgICAgIHtlbGVt
ZW50OiB0aGlzLl92aWV3U3RhdHVzQmFyLCBzdGFydDoge29wYWNpdHk6IDF9LCBlbmQ6IHtvcGFj
aXR5OiAwfX0KICAgICAgICAgXTsKIAotICAgICAgICBpZiAodGhpcy5fY3VycmVudFBhbmVsQ291
bnRlcnMpIHsKLSAgICAgICAgICAgIHZhciBuZXdSaWdodCA9IHRoaXMuX2RyYXdlclN0YXR1c0Jh
ci5jbGllbnRXaWR0aCAtIHRoaXMuX2NvdW50ZXJzLm9mZnNldExlZnQ7Ci0gICAgICAgICAgICB2
YXIgb2xkUmlnaHQgPSB0aGlzLl9tYWluU3RhdHVzQmFyLmNsaWVudFdpZHRoIC0gKHRoaXMuX2N1
cnJlbnRQYW5lbENvdW50ZXJzLm9mZnNldExlZnQgKyB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVy
cy5vZmZzZXRXaWR0aCk7Ci0gICAgICAgICAgICB2YXIgcmlnaHRQYWRkaW5nID0gKG5ld1JpZ2h0
IC0gb2xkUmlnaHQpOwotICAgICAgICAgICAgYW5pbWF0aW9ucy5wdXNoKHtlbGVtZW50OiB0aGlz
Ll9jdXJyZW50UGFuZWxDb3VudGVycywgc3RhcnQ6IHsicGFkZGluZy1yaWdodCI6IDB9LCBlbmQ6
IHsicGFkZGluZy1yaWdodCI6IHJpZ2h0UGFkZGluZ319KTsKLSAgICAgICAgfQotCiAgICAgICAg
IGZ1bmN0aW9uIGFuaW1hdGlvbkZpbmlzaGVkKCkKICAgICAgICAgewogICAgICAgICAgICAgV2Vi
SW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCkuZG9SZXNpemUoKTsKLSAgICAg
ICAgICAgIHRoaXMuX21haW5TdGF0dXNCYXIuaW5zZXJ0QmVmb3JlKGFuY2hvcmVkSXRlbXMsIHRo
aXMuX21haW5TdGF0dXNCYXIuZmlyc3RDaGlsZCk7Ci0gICAgICAgICAgICB0aGlzLl9tYWluU3Rh
dHVzQmFyLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJwYWRkaW5nLWxlZnQiKTsKLQotICAgICAgICAg
ICAgaWYgKHRoaXMuX3ZpZXcuY291bnRlckVsZW1lbnQpCi0gICAgICAgICAgICAgICAgdGhpcy5f
dmlldy5jb3VudGVyRWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuX3ZpZXcuY291
bnRlckVsZW1lbnQpOwotCi0gICAgICAgICAgICBpZiAodGhpcy5fY3VycmVudFBhbmVsQ291bnRl
cnMpIHsKLSAgICAgICAgICAgICAgICB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycy5zZXRBdHRy
aWJ1dGUoInN0eWxlIiwgbnVsbCk7Ci0gICAgICAgICAgICAgICAgdGhpcy5fY3VycmVudFBhbmVs
Q291bnRlcnMucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVy
cyk7Ci0gICAgICAgICAgICAgICAgdGhpcy5fY291bnRlcnMuaW5zZXJ0QmVmb3JlKHRoaXMuX2N1
cnJlbnRQYW5lbENvdW50ZXJzLCB0aGlzLl9jb3VudGVycy5maXJzdENoaWxkKTsKLSAgICAgICAg
ICAgIH0KLQorICAgICAgICAgICAgCiAgICAgICAgICAgICB0aGlzLl92aWV3LmRldGFjaCgpOwog
ICAgICAgICAgICAgZGVsZXRlIHRoaXMuX3ZpZXc7CisgICAgICAgICAgICB0aGlzLl9ib3R0b21T
dGF0dXNCYXIucmVtb3ZlQ2hpbGRyZW4oKTsKKyAgICAgICAgICAgIHRoaXMuX2JvdHRvbVN0YXR1
c0Jhci5hcHBlbmRDaGlsZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFuZWwtc3RhdHVzLWJh
ciIpKTsKICAgICAgICAgICAgIHRoaXMuX2RyYXdlckNvbnRlbnRzRWxlbWVudC5yZW1vdmVDaGls
ZHJlbigpOwogICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVTdHlsZUNsYXNzKCJkcmF3
ZXItdmlzaWJsZSIpOwogICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2N1cnJlbnRBbmltYXRpb247
CkBAIC0yMTQsMjIgKzE3Miw2IEBAIFdlYkluc3BlY3Rvci5EcmF3ZXIucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgdGhpcy5fY3VycmVudEFuaW1hdGlvbi5mb3JjZUNvbXBsZXRlKCk7CiAgICAg
fSwKIAotICAgIHNldCBjdXJyZW50UGFuZWxDb3VudGVycyh4KQotICAgIHsKLSAgICAgICAgaWYg
KCF4KSB7Ci0gICAgICAgICAgICBpZiAodGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnMpCi0gICAg
ICAgICAgICAgICAgdGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnMucGFyZW50RWxlbWVudC5yZW1v
dmVDaGlsZCh0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycyk7Ci0gICAgICAgICAgICBkZWxldGUg
dGhpcy5fY3VycmVudFBhbmVsQ291bnRlcnM7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IH0KLQotICAgICAgICB0aGlzLl9jdXJyZW50UGFuZWxDb3VudGVycyA9IHg7Ci0gICAgICAgIGlm
ICh0aGlzLnZpc2libGUpCi0gICAgICAgICAgICB0aGlzLl9tYWluU3RhdHVzQmFyLmFwcGVuZENo
aWxkKHgpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0aGlzLl9jb3VudGVycy5pbnNlcnRC
ZWZvcmUoeCwgdGhpcy5fY291bnRlcnMuZmlyc3RDaGlsZCk7Ci0gICAgfSwKLQogICAgIF9hbmlt
YXRpb25EdXJhdGlvbjogZnVuY3Rpb24oYW5pbWF0aW9uVHlwZSkKICAgICB7CiAgICAgICAgIHN3
aXRjaCAoYW5pbWF0aW9uVHlwZSkgewpAQCAtMjQ3LDcgKzE4OSw3IEBAIFdlYkluc3BlY3Rvci5E
cmF3ZXIucHJvdG90eXBlID0gewogICAgICAqLwogICAgIF9zdGFydFN0YXR1c0JhckRyYWdnaW5n
OiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy52aXNpYmxlIHx8IGV2
ZW50LnRhcmdldCAhPT0gdGhpcy5fbWFpblN0YXR1c0JhcikKKyAgICAgICAgaWYgKCF0aGlzLnZp
c2libGUgfHwgZXZlbnQudGFyZ2V0ICE9PSB0aGlzLl9mbG9hdGluZ1N0YXR1c0JhckNvbnRhaW5l
cikKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICB0aGlzLl92aWV3LnN0b3Jl
U2Nyb2xsUG9zaXRpb25zKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Q
YW5lbC5qcwppbmRleCA3ODkxYTBiNWY1ZWUxOTdiZjUzZDYwN2QzMTQ4Y2Y4MDRhOGViYjFmLi5m
NjVmNWVhMzBmNzY5YzcxMWJhYzkyNDQxZmEwZjgxODY5OTVjNjE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanMKQEAgLTczLDcgKzczLDcgQEAgV2ViSW5z
cGVjdG9yLlBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMuX3N0YXR1c0Jhckl0
ZW1Db250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgc3RhdHVzQmFySXRlbXMubGVuZ3RoOyArK2kpCiAgICAgICAg
ICAgICAgICAgdGhpcy5fc3RhdHVzQmFySXRlbUNvbnRhaW5lci5hcHBlbmRDaGlsZChzdGF0dXNC
YXJJdGVtc1tpXSk7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWFpbi1z
dGF0dXMtYmFyIikuYXBwZW5kQ2hpbGQodGhpcy5fc3RhdHVzQmFySXRlbUNvbnRhaW5lcik7Cisg
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFuZWwtc3RhdHVzLWJhciIpLmFw
cGVuZENoaWxkKHRoaXMuX3N0YXR1c0Jhckl0ZW1Db250YWluZXIpOwogICAgICAgICB9CiAKICAg
ICAgICAgaWYgKCJfdG9vbGJhckl0ZW0iIGluIHRoaXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFuZWwuanMKaW5kZXggZDdjYzljYjNlMDJj
M2NmNzI0ODJmZWUwMGY3ZDg4ZmJmOWQ1Mzc0ZC4uZjlhN2Y4MWEwMmJkMDY0M2VkZmM5ZjEzOGZm
MjQ5MTc5MGU4MmU5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9UaW1lbGluZVBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVGltZWxpbmVQYW5lbC5qcwpAQCAtMjAyLDcgKzIwMiwxNCBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAKICAgICBnZXQgc3RhdHVzQmFySXRlbXMoKQog
ICAgIHsKLSAgICAgICAgdmFyIHN0YXR1c0Jhckl0ZW1zID0gWyB0aGlzLnRvZ2dsZUZpbHRlckJ1
dHRvbi5lbGVtZW50LCB0aGlzLnRvZ2dsZVRpbWVsaW5lQnV0dG9uLmVsZW1lbnQsIHRoaXMuY2xl
YXJCdXR0b24uZWxlbWVudCwgdGhpcy5nYXJiYWdlQ29sbGVjdEJ1dHRvbi5lbGVtZW50LCB0aGlz
Ll9nbHVlUGFyZW50QnV0dG9uLmVsZW1lbnQsIHRoaXMuc3RhdHVzQmFyRmlsdGVycyBdOworICAg
ICAgICB2YXIgc3RhdHVzQmFySXRlbXMgPSBbCisgICAgICAgICAgICB0aGlzLnRvZ2dsZUZpbHRl
ckJ1dHRvbi5lbGVtZW50LAorICAgICAgICAgICAgdGhpcy50b2dnbGVUaW1lbGluZUJ1dHRvbi5l
bGVtZW50LAorICAgICAgICAgICAgdGhpcy5jbGVhckJ1dHRvbi5lbGVtZW50LCB0aGlzLmdhcmJh
Z2VDb2xsZWN0QnV0dG9uLmVsZW1lbnQsCisgICAgICAgICAgICB0aGlzLl9nbHVlUGFyZW50QnV0
dG9uLmVsZW1lbnQsCisgICAgICAgICAgICB0aGlzLnN0YXR1c0JhckZpbHRlcnMsCisgICAgICAg
ICAgICB0aGlzLnJlY29yZHNDb3VudGVyCisgICAgICAgIF07CiAKICAgICAgICAgcmV0dXJuIHN0
YXR1c0Jhckl0ZW1zOwogICAgIH0sCkBAIC01OTIsMTMgKzU5OSwxMSBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KICAgICAgICAgdGhpcy5fb3Zl
cnZpZXdQYW5lLnNldE1vZGUodGhpcy5fb3ZlcnZpZXdNb2RlU2V0dGluZy5nZXQoKSk7CiAgICAg
ICAgIHRoaXMuX3JlZnJlc2goKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmRyYXdlci5jdXJyZW50
UGFuZWxDb3VudGVycyA9IHRoaXMucmVjb3Jkc0NvdW50ZXI7CiAgICAgfSwKIAogICAgIHdpbGxI
aWRlOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB0aGlzLl9jbG9zZVJlY29yZERldGFpbHMo
KTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmRyYXdlci5jdXJyZW50UGFuZWxDb3VudGVycyA9IG51
bGw7CiAgICAgICAgIFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUud2lsbEhpZGUuY2FsbCh0
aGlzKTsKICAgICB9LAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL2VsZW1lbnRzUGFuZWwuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9lbGVtZW50c1BhbmVsLmNzcwppbmRleCA2ODdhMWI4YjFlZDQ2Nzk2NGZiMDliZjdiMWVl
OTU2NmVmMmMzMzU3Li4yN2JkM2Q4MTRmYjIxYzc1YmYzMzM4M2NiOGM5MjM1MzgwY2Y2YzkwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2VsZW1lbnRzUGFu
ZWwuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvZWxlbWVudHNQ
YW5lbC5jc3MKQEAgLTYxLDYgKzYxLDggQEAKIAogLmNydW1icyB7CiAgICAgZGlzcGxheTogaW5s
aW5lLWJsb2NrOworICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOworICAgIGN1cnNvcjogZGVmYXVs
dDsKICAgICBmb250LXNpemU6IDExcHg7CiAgICAgbGluZS1oZWlnaHQ6IDE5cHg7CiAgICAgdGV4
dC1zaGFkb3c6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkgMCAxcHggMDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwppbmRleCAzOGExZmQw
MGE5NDA1ZGVhNTQ0YTFkNGFiOWQwZjgyYjUxNDllMzJkLi5kZDYxOThiNTk3MTYxY2JhMmM2NDYy
Y2JjNzc5OWY1NDczYmI2NmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9pbnNwZWN0b3IuY3NzCkBAIC01MDAsNiArNTAwLDEwIEBAIGJvZHkuY29tcGFjdCAj
bWFpbiB7CiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKIH0KIAorYm9keS5kcmF3ZXItdmlzaWJsZSAj
bWFpbi1wYW5lbHMgeworICAgIGJvdHRvbTogMjRweDsKK30KKwogI21haW4tc3RhdHVzLWJhciB7
CiAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgIGJvdHRvbTogMDsKQEAgLTUwNywyNyArNTEx
LDYgQEAgYm9keS5jb21wYWN0ICNtYWluIHsKICAgICByaWdodDogMDsKIH0KIAotYm9keS5kcmF3
ZXItdmlzaWJsZSAjbWFpbi1zdGF0dXMtYmFyIHsKLSAgICBoZWlnaHQ6IDI0cHg7Ci0gICAgYm9y
ZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYigyMDIsIDIwMiwgMjAyKTsKLSAgICBjdXJzb3I6IG5z
LXJlc2l6ZTsKLX0KLQotYm9keS5kcmF3ZXItdmlzaWJsZSAjbWFpbi1zdGF0dXMtYmFyOjphZnRl
ciB7Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIHJpZ2h0OiAwOwotICAgIHRvcDogNXB4
OwotICAgIGNvbnRlbnQ6IHVybChJbWFnZXMvc3RhdHVzYmFyUmVzaXplclZlcnRpY2FsLnBuZyk7
Ci19Ci0KLWJvZHkuZHJhd2VyLXZpc2libGUgI21haW4tc3RhdHVzLWJhciAqIHsKLSAgICBjdXJz
b3I6IGRlZmF1bHQ7Ci19Ci0KLWJvZHkuZHJhd2VyLXZpc2libGUgI21haW4tcGFuZWxzIHsKLSAg
ICBib3R0b206IDI0cHg7Ci19Ci0KIC5zdGF0dXMtYmFyIHsKICAgICB3aGl0ZS1zcGFjZTogbm93
cmFwOwogICAgIGhlaWdodDogMjNweDsKQEAgLTUzNSw2ICs1MTgsNyBAQCBib2R5LmRyYXdlci12
aXNpYmxlICNtYWluLXBhbmVscyB7CiAgICAgei1pbmRleDogMTI7CiAgICAgYmFja2dyb3VuZC1p
bWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmdiKDI1MywyNTMsMjUzKSwgcmdiKDIzMCwy
MzAsMjMwKSA3NSUsIHJnYigyMzAsMjMwLDIzMCkpOwogICAgIGJvcmRlci10b3A6IDFweCBzb2xp
ZCByZ2IoMjAyLCAyMDIsIDIwMik7CisgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OwogfQogCiAu
c3RhdHVzLWJhciA+IGRpdiB7CkBAIC01NDUsNiArNTI5LDkgQEAgYm9keS5kcmF3ZXItdmlzaWJs
ZSAjbWFpbi1wYW5lbHMgewogCiAuc3RhdHVzLWJhci1pdGVtIHsKICAgICBkaXNwbGF5OiBpbmxp
bmUtYmxvY2s7CisgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CisgICAgY3Vyc29yOiBkZWZhdWx0
OworICAgIC13ZWJraXQtZmxleDogMDsKICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgcGFkZGluZzog
MDsKICAgICBtYXJnaW4tbGVmdDogLTFweDsKQEAgLTU1NCw2ICs1NDEsMzcgQEAgYm9keS5kcmF3
ZXItdmlzaWJsZSAjbWFpbi1wYW5lbHMgewogICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFy
ZW50OwogfQogCisjZmxvYXRpbmctc3RhdHVzLWJhci1jb250YWluZXIgeworICAgIHBvc2l0aW9u
OiBhYnNvbHV0ZTsKKyAgICBsZWZ0OiAwOworICAgIHJpZ2h0OiAwOworICAgIGJvdHRvbTogMDsK
KyAgICBkaXNwbGF5OiBub25lOworICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2IoMjAy
LCAyMDIsIDIwMik7CisgICAgY3Vyc29yOiBucy1yZXNpemU7CisgICAgaGVpZ2h0OiAyNHB4Owor
fQorCitib2R5LmRyYXdlci12aXNpYmxlICNmbG9hdGluZy1zdGF0dXMtYmFyLWNvbnRhaW5lciB7
CisgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4OworfQorCisjZmxvYXRpbmctc3RhdHVzLWJhci1y
ZXNpemVyIHsKKyAgICBjb250ZW50OiB1cmwoSW1hZ2VzL3N0YXR1c2JhclJlc2l6ZXJWZXJ0aWNh
bC5wbmcpOworICAgIG1hcmdpbi10b3A6IDdweDsKKyAgICBwb2ludGVyLWV2ZW50czogbm9uZTsK
K30KKworI3BhbmVsLXN0YXR1cy1iYXIgeworICAgIC13ZWJraXQtZmxleDogMSAwOworICAgIGRp
c3BsYXk6IC13ZWJraXQtZmxleDsKKyAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKK30KKworI3Bh
bmVsLXN0YXR1cy1iYXIgPiBkaXYgeworICAgIHdpZHRoOiAxMDAlOworfQorCiAuc3RhdHVzLWJh
ci1pdGVtOmFjdGl2ZSB7CiAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgIHotaW5kZXg6IDIw
MDsKQEAgLTY3MywxMSArNjkxLDYgQEAgYnV0dG9uLmRvY2stc3RhdHVzLWJhci1pdGVtLnN0YXR1
cy1iYXItaXRlbS50b2dnbGVkLXJpZ2h0IC5nbHlwaCB7CiAgICAgYmFja2dyb3VuZC1jb2xvcjog
cmdiYSgwLCAwLCAwLCAwLjc1KTsKIH0KIAotYnV0dG9uLnNldHRpbmdzLXN0YXR1cy1iYXItaXRl
bSB7Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIHJpZ2h0OiAwOwotfQotCiBib2R5LmRl
dGFjaGVkIC5hbHRlcm5hdGUtc3RhdHVzLWJhci1idXR0b25zLWJhciB7CiAgICAgbWFyZ2luLWxl
ZnQ6IDFweDsKIH0KQEAgLTcwMiw2ICs3MTUsMTEgQEAgYm9keS5kZXRhY2hlZCAuYWx0ZXJuYXRl
LXN0YXR1cy1iYXItYnV0dG9ucy1iYXIgewogICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0
cmFuc3BhcmVudDsKIH0KIAorYnV0dG9uLnN0YXR1cy1iYXItaXRlbS5zZXR0aW5ncy1zdGF0dXMt
YmFyLWl0ZW0sCitidXR0b24uc3RhdHVzLWJhci1pdGVtLnNldHRpbmdzLXN0YXR1cy1iYXItaXRl
bTphY3RpdmUgeworICAgIGJvcmRlci1yaWdodDogMCB0cmFuc3BhcmVudCBub25lOworfQorCiAu
c2V0dGluZ3Mtc3RhdHVzLWJhci1pdGVtIC5nbHlwaCB7CiAgICAgLXdlYmtpdC1tYXNrLXBvc2l0
aW9uOiAtMTYwcHggLTI0cHg7CiB9CkBAIC03MTgsMTggKzczNiwxMSBAQCBib2R5LnBvcnQtcXQg
I2RvY2stc3RhdHVzLWJhci1pdGVtIHsKICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IC02NHB4
IDA7CiB9CiAKLSNjb3VudGVycyB7Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIHJpZ2h0
OiAzMnB4OwotICAgIHRvcDogMDsKLSAgICBjdXJzb3I6IHBvaW50ZXI7CisjZXJyb3Itd2Fybmlu
Zy1jb3VudCB7CiAgICAgcGFkZGluZzogNnB4IDJweCA2cHggMHB4OwogICAgIGZvbnQtc2l6ZTog
MTBweDsKICAgICBoZWlnaHQ6IDE5cHg7Ci19Ci0KLSNlcnJvci13YXJuaW5nLWNvdW50IHsKLSAg
ICBkaXNwbGF5OiBpbmxpbmU7CisgICAgY3Vyc29yOiBwb2ludGVyOwogfQogCiAjZXJyb3Itd2Fy
bmluZy1jb3VudDpob3ZlciB7CkBAIC03NjQsMTEgKzc3NSw5IEBAIGJvZHkucG9ydC1xdCAjZG9j
ay1zdGF0dXMtYmFyLWl0ZW0gewogICAgIHJpZ2h0OiAwOwogICAgIGhlaWdodDogMjAwcHg7CiAg
ICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7Ci0gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVh
dC14OwotICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTsKIH0KIAotYm9keS5kcmF3ZXIt
dmlzaWJsZSAjZHJhd2VyLWNvbnRlbnRzIHsKKyNkcmF3ZXItY29udGVudHMgewogICAgIHBvc2l0
aW9uOiBhYnNvbHV0ZTsKICAgICB0b3A6IDA7CiAgICAgYm90dG9tOiAyNHB4OwpAQCAtNzgwLDEz
ICs3ODksNiBAQCBib2R5LmRyYXdlci12aXNpYmxlICNkcmF3ZXIgewogICAgIGRpc3BsYXk6IGJs
b2NrOwogfQogCi0jZHJhd2VyLXN0YXR1cy1iYXIgewotICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsK
LSAgICBib3R0b206IDA7Ci0gICAgbGVmdDogMDsKLSAgICByaWdodDogMDsKLX0KLQogYm9keS5w
bGF0Zm9ybS1tYWMgLm1vbm9zcGFjZSwgYm9keS5wbGF0Zm9ybS1tYWMgLnNvdXJjZS1jb2RlIHsK
ICAgICBmb250LWZhbWlseTogTW9uYWNvLCBtb25vc3BhY2U7CiB9CkBAIC0yMjI3LDcgKzIyMjks
NyBAQCBib2R5LmluYWN0aXZlIGxpLnNlbGVjdGVkIC5idWJibGUuc2VhcmNoLW1hdGNoZXMgewog
LnN0YXR1cy1iYXItaXRlbXMgewogICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICB0b3A6IDA7
Ci0gICAgYm90dG9tOiAwOworICAgIGJvdHRvbTogMHB4OwogICAgIGxlZnQ6IDIwMHB4OwogICAg
IG92ZXJmbG93OiBoaWRkZW47CiAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2IoMTg0LCAx
ODQsIDE4NCk7CkBAIC0yNTM4LDYgKzI1NDAsNyBAQCBib2R5LnBsYXRmb3JtLW1hYyAuc2VhcmNo
LWRyYXdlci1oZWFkZXIgaW5wdXRbdHlwZT0iY2hlY2tib3giXS5zZWFyY2gtY29uZmlnLWNoZQog
ICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYigxOTcsIDE5NywgMTk3KTsKICAgICBsaW5l
LWhlaWdodDogMjNweDsKICAgICBwYWRkaW5nLWxlZnQ6IDZweDsKKyAgICBkaXNwbGF5OiBpbmxp
bmUtYmxvY2s7CiB9CiAKIC5kcmF3ZXItaGVhZGVyLWNsb3NlLWJ1dHRvbiB7CkBAIC0yNTU4LDQ4
ICsyNTYxLDU1IEBAIGJvZHkucGxhdGZvcm0tbWFjIC5zZWFyY2gtZHJhd2VyLWhlYWRlciBpbnB1
dFt0eXBlPSJjaGVja2JveCJdLnNlYXJjaC1jb25maWctY2hlCiAgICAgb3BhY2l0eTogMC43Owog
fQogCi0jZHJhd2VyLXN0YXR1cy1iYXIgLnNlYXJjaC1zdGF0dXMtYmFyLWl0ZW0geworI2JvdHRv
bS1zdGF0dXMtYmFyLWNvbnRhaW5lciB7CisgICAgLXdlYmtpdC1mbGV4OiAxIDA7Cit9CisKKy5z
ZWFyY2gtc3RhdHVzLWJhci1pdGVtIHsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAg
Y3Vyc29yOiBwb2ludGVyOwogICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICBoZWlnaHQ6IDIzcHg7
CiB9CiAKLSNkcmF3ZXItc3RhdHVzLWJhciAuc2VhcmNoLXN0YXR1cy1iYXItbWVzc2FnZSB7Cisu
c2VhcmNoLXN0YXR1cy1iYXItbWVzc2FnZSB7CiAgICAgbWFyZ2luLWxlZnQ6NXB4OwogICAgIG1h
cmdpbi1yaWdodDo1cHg7Ci0gICAgbWFyZ2luLXRvcDo2cHg7CisgICAgbWFyZ2luLXRvcDo1cHg7
CiAgICAgZmxvYXQ6bGVmdDsKIH0KIAotI2RyYXdlci1zdGF0dXMtYmFyIC5zZWFyY2gtc3RhdHVz
LWJhci1wcm9ncmVzcyB7Cisuc2VhcmNoLXN0YXR1cy1iYXItcHJvZ3Jlc3MgewogICAgIGhlaWdo
dDogMTFweDsKICAgICB3aWR0aDogMTAwcHg7CiAgICAgZmxvYXQ6IGxlZnQ7CiB9CiAKLWJvZHk6
bm90KC5wbGF0Zm9ybS1tYWMpICNkcmF3ZXItc3RhdHVzLWJhciAuc2VhcmNoLXN0YXR1cy1iYXIt
cHJvZ3Jlc3MgewotICAgIG1hcmdpbi10b3A6IDhweDsKK2JvZHk6bm90KC5wbGF0Zm9ybS1tYWMp
IC5zZWFyY2gtc3RhdHVzLWJhci1wcm9ncmVzcyB7CisgICAgbWFyZ2luLXRvcDogN3B4OwogfQog
Ci1ib2R5LnBsYXRmb3JtLW1hYyAjZHJhd2VyLXN0YXR1cy1iYXIgLnNlYXJjaC1zdGF0dXMtYmFy
LXByb2dyZXNzIHsKLSAgICBtYXJnaW4tdG9wOiA3cHg7Citib2R5LnBsYXRmb3JtLW1hYyAuc2Vh
cmNoLXN0YXR1cy1iYXItcHJvZ3Jlc3MgeworICAgIG1hcmdpbi10b3A6IDZweDsKIH0KIAotI2Ry
YXdlci1zdGF0dXMtYmFyIC5zZWFyY2gtc3RhdHVzLWJhci1zdG9wLWJ1dHRvbi1pdGVtIHsKKy5z
ZWFyY2gtc3RhdHVzLWJhci1zdG9wLWJ1dHRvbi1pdGVtIHsKICAgICB3aWR0aDogMTlweDsKICAg
ICBoZWlnaHQ6IDI0cHg7CiAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKIH0KIAotI2RyYXdlci1zdGF0
dXMtYmFyIC5zZWFyY2gtc3RhdHVzLWJhci1zdG9wLWJ1dHRvbiAuZ2x5cGggeworLnNlYXJjaC1z
dGF0dXMtYmFyLXN0b3AtYnV0dG9uIC5nbHlwaCB7CiAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9u
OiAtOTZweCAtNDhweDsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjE2LCAwLCAwKSAhaW1w
b3J0YW50OwogfQogCi0jZHJhd2VyLXN0YXR1cy1iYXIgLnNlYXJjaC1yZXN1bHRzLXN0YXR1cy1i
YXItbWVzc2FnZSB7Cisuc2VhcmNoLXJlc3VsdHMtc3RhdHVzLWJhci1tZXNzYWdlIHsKICAgICBt
YXJnaW4tcmlnaHQ6IDEwcHg7CiAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgIGZvbnQtc2l6ZTog
MTFweDsKKyAgICBmbG9hdDogcmlnaHQ7CisgICAgbWFyZ2luLXRvcDogNXB4OwogfQogCiAuc2Vh
cmNoLXZpZXcgLnNlYXJjaC1yZXN1bHRzIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCmluZGV4IDYxOTA2NDBlMzMyYmM4OTYwYWVjMzM4
OGQ2OTQ4ZTZiOTY2YTk1MzUuLjg1YzYyODU1M2I2NzJhYWYwNDdhOTQ3ZjVhYTNkYzc1NjQ1MmJk
MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmh0bWwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0
b3IuaHRtbApAQCAtMjMyLDggKzIzMiwxNCBAQCBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICAgICAgICA8L2Rpdj4KICAg
ICA8L2Rpdj4KICAgICA8ZGl2IGlkPSJtYWluIj4KLSAgICAgICAgPGRpdiBpZD0ibWFpbi1zdGF0
dXMtYmFyIiBjbGFzcz0ic3RhdHVzLWJhciI+PGRpdiBpZD0iYW5jaG9yZWQtc3RhdHVzLWJhci1p
dGVtcyI+PGRpdiBpZD0iY291bnRlcnMiPjxkaXYgaWQ9ImVycm9yLXdhcm5pbmctY291bnQiIGNs
YXNzPSJoaWRkZW4iPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJm
bG9hdGluZy1zdGF0dXMtYmFyLWNvbnRhaW5lciIgY2xhc3M9InN0YXR1cy1iYXIiPjxkaXYgaWQ9
ImZsb2F0aW5nLXN0YXR1cy1iYXItcmVzaXplciI+PC9kaXY+PC9kaXY+CiAgICAgPC9kaXY+CiAg
ICAgPGRpdiBpZD0iZHJhd2VyIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJtYWluLXN0YXR1cy1iYXIi
IGNsYXNzPSJzdGF0dXMtYmFyIj4KKyAgICAgICAgPGRpdiBpZD0iYm90dG9tLXN0YXR1cy1iYXIt
Y29udGFpbmVyIj4KKyAgICAgICAgICAgIDxkaXYgaWQ9InBhbmVsLXN0YXR1cy1iYXIiPjwvZGl2
PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZXJyb3Itd2FybmluZy1jb3VudCIg
Y2xhc3M9ImhpZGRlbiI+PC9kaXY+CisgICAgPC9kaXY+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IDZk
YjkyODY2YTU0YjllZmE5YzJiMjc4ZGFmZGEyOTY2YmM2MGQxZmEuLjZiNGUwN2RmZDM1NmUyNTI4
ZDVkMjU3NGNhYmQ4MzBiOWVjYTM1ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCkBAIC03MCwyMSArNzAsMjIgQEAgdmFyIFdlYkluc3Bl
Y3RvciA9IHsKIAogICAgIF9jcmVhdGVHbG9iYWxTdGF0dXNCYXJJdGVtczogZnVuY3Rpb24oKQog
ICAgIHsKKyAgICAgICAgdmFyIGJvdHRvbVN0YXR1c0JhckNvbnRhaW5lciA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJib3R0b20tc3RhdHVzLWJhci1jb250YWluZXIiKTsKICAgICAgICAgdGhp
cy5fZG9ja1RvZ2dsZUJ1dHRvbiA9IG5ldyBXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0dG9uKCIi
LCAiZG9jay1zdGF0dXMtYmFyLWl0ZW0iLCAzKTsKICAgICAgICAgdGhpcy5fZG9ja1RvZ2dsZUJ1
dHRvbi5tYWtlTG9uZ0NsaWNrRW5hYmxlZCh0aGlzLl9jcmVhdGVEb2NrT3B0aW9ucy5iaW5kKHRo
aXMpKTsKICAgICAgICAgdGhpcy5fZG9ja1RvZ2dsZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIHRoaXMuX3RvZ2dsZUF0dGFjaC5iaW5kKHRoaXMpLCBmYWxzZSk7CiAgICAgICAgIHRo
aXMuX3VwZGF0ZURvY2tCdXR0b25TdGF0ZSgpOwogCi0gICAgICAgIHZhciBhbmNob3JlZFN0YXR1
c0JhciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhbmNob3JlZC1zdGF0dXMtYmFyLWl0ZW1z
Iik7Ci0gICAgICAgIGFuY2hvcmVkU3RhdHVzQmFyLmFwcGVuZENoaWxkKHRoaXMuX2RvY2tUb2dn
bGVCdXR0b24uZWxlbWVudCk7CisgICAgICAgIHZhciBtYWluU3RhdHVzQmFyID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoIm1haW4tc3RhdHVzLWJhciIpOworICAgICAgICBtYWluU3RhdHVzQmFy
Lmluc2VydEJlZm9yZSh0aGlzLl9kb2NrVG9nZ2xlQnV0dG9uLmVsZW1lbnQsIGJvdHRvbVN0YXR1
c0JhckNvbnRhaW5lcik7CiAKICAgICAgICAgdGhpcy5fdG9nZ2xlQ29uc29sZUJ1dHRvbiA9IG5l
dyBXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0dG9uKFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2hv
dyBjb25zb2xlLiIpLCAiY29uc29sZS1zdGF0dXMtYmFyLWl0ZW0iKTsKICAgICAgICAgdGhpcy5f
dG9nZ2xlQ29uc29sZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuX3RvZ2ds
ZUNvbnNvbGVCdXR0b25DbGlja2VkLmJpbmQodGhpcyksIGZhbHNlKTsKLSAgICAgICAgYW5jaG9y
ZWRTdGF0dXNCYXIuYXBwZW5kQ2hpbGQodGhpcy5fdG9nZ2xlQ29uc29sZUJ1dHRvbi5lbGVtZW50
KTsKKyAgICAgICAgbWFpblN0YXR1c0Jhci5pbnNlcnRCZWZvcmUodGhpcy5fdG9nZ2xlQ29uc29s
ZUJ1dHRvbi5lbGVtZW50LCBib3R0b21TdGF0dXNCYXJDb250YWluZXIpOwogCiAgICAgICAgIGlm
ICh0aGlzLnBhbmVscy5lbGVtZW50cykKLSAgICAgICAgICAgIGFuY2hvcmVkU3RhdHVzQmFyLmFw
cGVuZENoaWxkKHRoaXMucGFuZWxzLmVsZW1lbnRzLm5vZGVTZWFyY2hCdXR0b24uZWxlbWVudCk7
Ci0gICAgICAgIGFuY2hvcmVkU3RhdHVzQmFyLmFwcGVuZENoaWxkKHRoaXMuc2V0dGluZ3NDb250
cm9sbGVyLnN0YXR1c0Jhckl0ZW0pOworICAgICAgICAgICAgbWFpblN0YXR1c0Jhci5pbnNlcnRC
ZWZvcmUodGhpcy5wYW5lbHMuZWxlbWVudHMubm9kZVNlYXJjaEJ1dHRvbi5lbGVtZW50LCBib3R0
b21TdGF0dXNCYXJDb250YWluZXIpOworICAgICAgICBtYWluU3RhdHVzQmFyLmFwcGVuZENoaWxk
KHRoaXMuc2V0dGluZ3NDb250cm9sbGVyLnN0YXR1c0Jhckl0ZW0pOwogICAgIH0sCiAKICAgICBf
Y3JlYXRlRG9ja09wdGlvbnM6IGZ1bmN0aW9uKCkKQEAgLTE4MCwyMSArMTgxLDE2IEBAIHZhciBX
ZWJJbnNwZWN0b3IgPSB7CiAgICAgICAgIHRoaXMuX2Nsb3NlUHJldmlvdXNEcmF3ZXJWaWV3KCk7
CiAKICAgICAgICAgdmFyIGRyYXdlclN0YXR1c0JhckhlYWRlciA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwotICAgICAgICBkcmF3ZXJTdGF0dXNCYXJIZWFkZXIuY2xhc3NOYW1lID0g
ImRyYXdlci1oZWFkZXIiOworICAgICAgICBkcmF3ZXJTdGF0dXNCYXJIZWFkZXIuY2xhc3NOYW1l
ID0gImRyYXdlci1oZWFkZXIgc3RhdHVzLWJhci1pdGVtIjsKICAgICAgICAgZHJhd2VyU3RhdHVz
QmFySGVhZGVyLmFwcGVuZENoaWxkKHN0YXR1c0JhckVsZW1lbnQpOwogICAgICAgICBkcmF3ZXJT
dGF0dXNCYXJIZWFkZXIub25jbG9zZSA9IG9uY2xvc2U7CiAKICAgICAgICAgdmFyIGNsb3NlQnV0
dG9uID0gZHJhd2VyU3RhdHVzQmFySGVhZGVyLmNyZWF0ZUNoaWxkKCJzcGFuIik7CiAgICAgICAg
IGNsb3NlQnV0dG9uLnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJcdTAwRDci
KTsKICAgICAgICAgY2xvc2VCdXR0b24uYWRkU3R5bGVDbGFzcygiZHJhd2VyLWhlYWRlci1jbG9z
ZS1idXR0b24iKTsKLSAgICAgICAgY2xvc2VCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCBjbG9zZUJ1dHRvblByZXNzZWQuYmluZCh0aGlzKSwgZmFsc2UpOworICAgICAgICBjbG9zZUJ1
dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuY2xvc2VWaWV3SW5EcmF3ZXIuYmlu
ZCh0aGlzKSwgZmFsc2UpOwogCi0gICAgICAgIGZ1bmN0aW9uIGNsb3NlQnV0dG9uUHJlc3NlZChl
dmVudCkKLSAgICAgICAgewotICAgICAgICAgICAgdGhpcy5jbG9zZVZpZXdJbkRyYXdlcigpOwot
ICAgICAgICB9Ci0KLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1haW4tc3RhdHVz
LWJhciIpLmFwcGVuZENoaWxkKGRyYXdlclN0YXR1c0JhckhlYWRlcik7CisgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYW5lbC1zdGF0dXMtYmFyIikuZmlyc3RFbGVtZW50Q2hpbGQu
YXBwZW5kQ2hpbGQoZHJhd2VyU3RhdHVzQmFySGVhZGVyKTsKICAgICAgICAgdGhpcy5fZHJhd2Vy
U3RhdHVzQmFySGVhZGVyID0gZHJhd2VyU3RhdHVzQmFySGVhZGVyOwogICAgICAgICB0aGlzLmRy
YXdlci5zaG93KHZpZXcsIFdlYkluc3BlY3Rvci5EcmF3ZXIuQW5pbWF0aW9uVHlwZS5JbW1lZGlh
dGVseSk7CiAgICAgfSwKQEAgLTIxNSw3ICsyMTEsNyBAQCB2YXIgV2ViSW5zcGVjdG9yID0gewog
ICAgIF9jbG9zZVByZXZpb3VzRHJhd2VyVmlldzogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAg
aWYgKHRoaXMuX2RyYXdlclN0YXR1c0JhckhlYWRlcikgewotICAgICAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoIm1haW4tc3RhdHVzLWJhciIpLnJlbW92ZUNoaWxkKHRoaXMuX2RyYXdl
clN0YXR1c0JhckhlYWRlcik7CisgICAgICAgICAgICB0aGlzLl9kcmF3ZXJTdGF0dXNCYXJIZWFk
ZXIucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLl9kcmF3ZXJTdGF0dXNCYXJIZWFkZXIp
OwogICAgICAgICAgICAgaWYgKHRoaXMuX2RyYXdlclN0YXR1c0JhckhlYWRlci5vbmNsb3NlKQog
ICAgICAgICAgICAgICAgIHRoaXMuX2RyYXdlclN0YXR1c0JhckhlYWRlci5vbmNsb3NlKCk7CiAg
ICAgICAgICAgICBkZWxldGUgdGhpcy5fZHJhd2VyU3RhdHVzQmFySGVhZGVyOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC90aW1lbGluZVBhbmVsLmNzcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvdGltZWxpbmVQYW5lbC5jc3MKaW5k
ZXggNmZmNTQyZWFlMTBkOTMzMmUyMzY0ZTdiMjgxNGJmYWQ2NDBhZWRkOS4uNTZjNjNlYTZjYzRm
YzlkODU0MzE2YzEwZWYzMWQyZTAxNzViYzA5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC90aW1lbGluZVBhbmVsLmNzcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3RpbWVsaW5lUGFuZWwuY3NzCkBAIC00MjMsMTUgKzQyMywx
MCBAQAogICAgIHRleHQtc2hhZG93OiB3aGl0ZSAwIDFweCAwOwogfQogCi0jbWFpbi1zdGF0dXMt
YmFyID4gLnRpbWVsaW5lLXJlY29yZHMtY291bnRlciB7CisudGltZWxpbmUtcmVjb3Jkcy1jb3Vu
dGVyIHsKICAgICBmbG9hdDogcmlnaHQ7Ci0gICAgbWFyZ2luLXRvcDogNHB4OwotICAgIG1hcmdp
bi1yaWdodDogMjVweDsKLX0KLQotI2NvdW50ZXJzID4gLnRpbWVsaW5lLXJlY29yZHMtY291bnRl
ciB7Ci0gICAgZmxvYXQ6IGxlZnQ7Ci0gICAgbWFyZ2luLXRvcDogLTFweDsKKyAgICBtYXJnaW4t
dG9wOiA1cHg7CisgICAgbWFyZ2luLXJpZ2h0OiA2cHg7CiB9CiAKICNyZXNvdXJjZXMtY29udGFp
bmVyLWNvbnRlbnQgewo=
</data>
<flag name="review"
          id="163915"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>