<?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>101200</bug_id>
          
          <creation_ts>2012-11-05 02:38:16 -0800</creation_ts>
          <short_desc>Web Inspector: make Spectrum and Popover WebInspector.Views in order to enable reuse</short_desc>
          <delta_ts>2012-11-06 04:01:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (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>1</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>apavlov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>758369</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-11-05 02:38:16 -0800</bug_when>
    <thetext>- Split Spectrum and SpectrumPopoverHelper (first is a component, second it controller)
- Made Popover a root view in order to enable lazy style loading for potential subviews (such as Spectrum)
- Extracted spectrum&apos;s css into a separate file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758370</commentid>
    <comment_count>1</comment_count>
      <attachid>172301</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-11-05 02:40:45 -0800</bug_when>
    <thetext>Created attachment 172301
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759306</commentid>
    <comment_count>2</comment_count>
      <attachid>172301</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-11-05 23:42:13 -0800</bug_when>
    <thetext>Comment on attachment 172301
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        - Split Spectrum and SpectrumPopoverHelper (first is a component, second it controller)

typo: second it controller -&gt; second is its controller

&gt; Source/WebCore/inspector/front-end/DOMExtension.js:208
&gt; +function Size(width, height)

Why not WebInspector.Size to make it clear that it is not from Web API?

&gt; Source/WebCore/inspector/front-end/View.js:372
&gt; +        this.element.positionAt(undefined, undefined);

Why not reuse Element.measurePreferredSize and simply call this.element.measurePreferredSize() here instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759502</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-11-06 03:56:46 -0800</bug_when>
    <thetext>
&gt; typo: second it controller -&gt; second is its controller


Done

&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/DOMExtension.js:208
&gt; &gt; +function Size(width, height)
&gt; 
&gt; Why not WebInspector.Size to make it clear that it is not from Web API?
&gt; 

I&apos;m adding it into DOMExtension which is compiled outside of inspector. I did not want to invent a namespace for it.

&gt; &gt; Source/WebCore/inspector/front-end/View.js:372
&gt; &gt; +        this.element.positionAt(undefined, undefined);
&gt; 
&gt; Why not reuse Element.measurePreferredSize and simply call this.element.measurePreferredSize() here instead?

Because we can&apos;t operate on View&apos;s elements using regular DOM operations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759508</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-11-06 04:01:28 -0800</bug_when>
    <thetext>Committed r133582: &lt;http://trac.webkit.org/changeset/133582&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172301</attachid>
            <date>2012-11-05 02:40:45 -0800</date>
            <delta_ts>2012-11-06 02:17:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101200-20121105143858.patch</filename>
            <type>text/plain</type>
            <size>34494</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzBhMTJkN2EzNTI3YTlh
ZWNhMGViZTNmZTZiNzk0YmJmMjI0ODVjYS4uODYxNzBkMjkwYjVkMTIyNDg3ZDA2ZDViYzA0YmRi
MWRlZmRiNjAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc1IEBACisyMDEyLTExLTA1ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IG1ha2UgU3BlY3RydW0gYW5kIFBvcG92ZXIgV2ViSW5zcGVjdG9yLlZpZXdzIGluIG9yZGVy
IHRvIGVuYWJsZSByZXVzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAxMjAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgLSBTcGxpdCBTcGVjdHJ1bSBhbmQgU3BlY3RydW1Qb3BvdmVySGVscGVyIChmaXJz
dCBpcyBhIGNvbXBvbmVudCwgc2Vjb25kIGl0IGNvbnRyb2xsZXIpCisgICAgICAgIC0gTWFkZSBQ
b3BvdmVyIGEgcm9vdCB2aWV3IGluIG9yZGVyIHRvIGVuYWJsZSBsYXp5IHN0eWxlIGxvYWRpbmcg
Zm9yIHBvdGVudGlhbCBzdWJ2aWV3cyAoc3VjaCBhcyBTcGVjdHJ1bSkKKyAgICAgICAgLSBFeHRy
YWN0ZWQgc3BlY3RydW0ncyBjc3MgaW50byBhIHNlcGFyYXRlIGZpbGUKKworICAgICAgICAqIFdl
YkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUV4dGVuc2lvbi5qczoKKyAgICAgICAgKEVs
ZW1lbnQucHJvdG90eXBlLnBvc2l0aW9uQXQpOgorICAgICAgICAoU2l6ZSk6CisgICAgICAgIChF
bGVtZW50LnByb3RvdHlwZS5tZWFzdXJlUHJlZmVycmVkU2l6ZSk6CisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkhlYXBTbmFwc2hvdFZpZXcucHJvdG90eXBlLndpbGxIaWRlKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5IZWFwU25hcHNob3RWaWV3LnByb3RvdHlwZS5faGVscENsaWNrZWQpOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvUG9wb3Zlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Q
b3BvdmVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Qb3BvdmVyLnByb3RvdHlwZS5zaG93KToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5Qb3BvdmVyLnByb3RvdHlwZS5zaG93Vmlldyk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuUG9wb3Zlci5wcm90b3R5cGUuX2lubmVyU2hvdyk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuUG9wb3Zlci5wcm90b3R5cGUuaGlkZSk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuUG9wb3Zlci5wcm90b3R5cGUuZGlzcG9zZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
UG9wb3Zlci5wcm90b3R5cGUuX3Bvc2l0aW9uRWxlbWVudCk6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9TcGVjdHJ1bS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TcGVjdHJ1bS5h
bHBoYURyYWcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNwZWN0cnVtKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5TcGVjdHJ1bS5wcm90b3R5cGUud2FzU2hvd24pOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlNwZWN0cnVtUG9wdXBIZWxwZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNwZWN0
cnVtUG9wdXBIZWxwZXIucHJvdG90eXBlLnNwZWN0cnVtKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TcGVjdHJ1bVBvcHVwSGVscGVyLnByb3RvdHlwZS50b2dnbGUpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlNwZWN0cnVtUG9wdXBIZWxwZXIucHJvdG90eXBlLnNob3cpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNwZWN0cnVtUG9wdXBIZWxwZXIucHJvdG90eXBlLnJlcG9zaXRpb24pOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlNwZWN0cnVtUG9wdXBIZWxwZXIucHJvdG90eXBlLmhpZGUpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbG9yU3dhdGNoKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5Db2xvclN3YXRjaC5wcm90b3R5cGUuc2V0Q29sb3JTdHJpbmcpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuU3R5bGVzU2lkZWJhclBhbmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGVi
YXJQYW5lLnByb3RvdHlwZS51cGRhdGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlc1Np
ZGViYXJQYW5lLnByb3RvdHlwZS53aWxsSGlkZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3R5
bGVQcm9wZXJ0eVRyZWVFbGVtZW50LnByb3RvdHlwZS51cGRhdGVUaXRsZS4pOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5WaWV3
LnByb3RvdHlwZS5tZWFzdXJlUHJlZmVycmVkU2l6ZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9XZWJLaXQucXJjOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvZWxlbWVu
dHNQYW5lbC5jc3M6CisgICAgICAgICguaW1hZ2UtcHJldmlldy1jb250YWluZXIgaW1nKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3M6CisgICAgICAgICguc3dh
dGNoKToKKyAgICAgICAgKC5zd2F0Y2gtaW5uZXIpOgorICAgICAgICAoLnN3YXRjaC1pbm5lcjpo
b3Zlcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9zcGVjdHJ1bS5jc3M6IEFkZGVk
LgorICAgICAgICAoLnNwZWN0cnVtLWNvbnRhaW5lcik6CisgICAgICAgICguc3BlY3RydW0tdG9w
KToKKyAgICAgICAgKC5zcGVjdHJ1bS1jb2xvcik6CisgICAgICAgICguc3BlY3RydW0tZGlzcGxh
eS12YWx1ZSk6CisgICAgICAgICguc3BlY3RydW0taHVlKToKKyAgICAgICAgKC5zcGVjdHJ1bS1m
aWxsKToKKyAgICAgICAgKC5zcGVjdHJ1bS1yYW5nZS1jb250YWluZXIpOgorICAgICAgICAoLnNw
ZWN0cnVtLXJhbmdlLWNvbnRhaW5lciAqKToKKyAgICAgICAgKC5zcGVjdHJ1bS1yYW5nZS1jb250
YWluZXIgbGFiZWwpOgorICAgICAgICAoLnNwZWN0cnVtLXJhbmdlLWNvbnRhaW5lciBpbnB1dCk6
CisgICAgICAgICguc3BlY3RydW0tZHJhZ2dlciwgLnNwZWN0cnVtLXNsaWRlcik6CisgICAgICAg
ICguc3BlY3RydW0tc2F0KToKKyAgICAgICAgKC5zcGVjdHJ1bS12YWwpOgorICAgICAgICAoLnNw
ZWN0cnVtLWRyYWdnZXIpOgorICAgICAgICAoLnNwZWN0cnVtLXNsaWRlcik6CisgICAgICAgICgu
c3BlY3RydW0tY29udGFpbmVyIC5zd2F0Y2gpOgorCiAyMDEyLTExLTAyICBLeXVuZ1RhZSBLaW0g
IDxrdGYua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIHNDdXJyZW50UGFpbnRUaW1lU3RhbXAg
aXMgbm90IGluaXRpYWxpemVkIHdoZW4gRnJhbWVWaWV3OjpwYWludENvbnRlbnRzIHJldHVybnMg
aW4gdGhlIG1pZGRsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDE4MjA1NDk5NmU2YWFlY2JmZmFkMWFj
ZmJhYmUzMGNhOWIxNmU1YzIuLmIwODBhZjk5OTU2Y2E0MzliNzg2YjZiMTI2ZGE4MmFiNTgxYTg1
MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTY1MDcsNiArNjUwNyw3IEBACiAgICAgICAgICAgICAn
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzJywKICAgICAgICAgICAgICdpbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3RvclN5bnRheEhpZ2hsaWdodC5jc3MnLAogICAgICAgICAgICAg
J2luc3BlY3Rvci9mcm9udC1lbmQvcG9wb3Zlci5jc3MnLAorICAgICAgICAgICAgJ2luc3BlY3Rv
ci9mcm9udC1lbmQvc3BlY3RydW0uY3NzJywKICAgICAgICAgICAgICc8QCh3ZWJpbnNwZWN0b3Jf
bW9kdWxlc19qc19maWxlcyknLAogICAgICAgICAgICAgJzxAKHdlYmluc3BlY3Rvcl9zdGFuZGFs
b25lX2Nzc19maWxlcyknLAogICAgICAgICBdLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA3NmMyNDZiODgxOTdhNGVhMzZkNTQyMzYzNTBiMWNk
YjJjNmVjN2FiLi41NGM3NzUzZDRjMjAxZTlkNWUzNWNkNjI2OGJlODg1YjAzNGZkNzUyIDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNzY2ODIs
NiArNzY2ODIsMTAgQEAKIAkJCQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcc3BlY3RydW0uY3NzIgorCQkJCQk+CisJ
CQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZy
b250LWVuZFxzcGxpdFZpZXcuY3NzIgogCQkJCQk+CiAJCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01FeHRlbnNpb24uanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUV4dGVuc2lvbi5qcwppbmRleCBjOGVl
YTM2NDIyNTAxNTcyOTFjMDkzY2NlZDVkZjVhMDYyM2Q4OGYzLi40ODM3MTRhYzNkNWNmMWFkYjJh
ODY1N2QxZmIyODAwZTczNjQ1Zjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0RPTUV4dGVuc2lvbi5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0RPTUV4dGVuc2lvbi5qcwpAQCAtMTY2LDEwICsxNjYsMjEgQEAgRWxlbWVu
dC5wcm90b3R5cGUuaGFzU3R5bGVDbGFzcyA9IGZ1bmN0aW9uKGNsYXNzTmFtZSkKICAgICByZXR1
cm4gdGhpcy5jbGFzc0xpc3QuY29udGFpbnMoY2xhc3NOYW1lKTsKIH0KIAorLyoqCisgKiBAcGFy
YW0ge251bWJlcnx1bmRlZmluZWR9IHgKKyAqIEBwYXJhbSB7bnVtYmVyfHVuZGVmaW5lZH0geQor
ICovCiBFbGVtZW50LnByb3RvdHlwZS5wb3NpdGlvbkF0ID0gZnVuY3Rpb24oeCwgeSkKIHsKLSAg
ICB0aGlzLnN0eWxlLmxlZnQgPSB4ICsgInB4IjsKLSAgICB0aGlzLnN0eWxlLnRvcCA9IHkgKyAi
cHgiOworICAgIGlmICh0eXBlb2YgeCA9PT0gIm51bWJlciIpCisgICAgICAgIHRoaXMuc3R5bGUu
c2V0UHJvcGVydHkoImxlZnQiLCB4ICsgInB4Iik7CisgICAgZWxzZQorICAgICAgICB0aGlzLnN0
eWxlLnJlbW92ZVByb3BlcnR5KCJsZWZ0Iik7CisKKyAgICBpZiAodHlwZW9mIHkgPT09ICJudW1i
ZXIiKQorICAgICAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCJ0b3AiLCB5ICsgInB4Iik7Cisg
ICAgZWxzZQorICAgICAgICB0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJ0b3AiKTsKIH0KIAog
RWxlbWVudC5wcm90b3R5cGUucHJ1bmVFbXB0eVRleHROb2RlcyA9IGZ1bmN0aW9uKCkKQEAgLTE4
OSw2ICsyMDAsMzAgQEAgRWxlbWVudC5wcm90b3R5cGUuaXNTY3JvbGxlZFRvQm90dG9tID0gZnVu
Y3Rpb24oKQogICAgIHJldHVybiB0aGlzLnNjcm9sbFRvcCArIHRoaXMuY2xpZW50SGVpZ2h0ID09
PSB0aGlzLnNjcm9sbEhlaWdodDsKIH0KIAorLyoqCisgKiBAY29uc3RydWN0b3IKKyAqIEBwYXJh
bSB7bnVtYmVyfSB3aWR0aAorICogQHBhcmFtIHtudW1iZXJ9IGhlaWdodAorICovCitmdW5jdGlv
biBTaXplKHdpZHRoLCBoZWlnaHQpCit7CisgICAgdGhpcy53aWR0aCA9IHdpZHRoOworICAgIHRo
aXMuaGVpZ2h0ID0gaGVpZ2h0OworfQorCisvKioKKyAqIEByZXR1cm4ge1NpemV9CisgKi8KK0Vs
ZW1lbnQucHJvdG90eXBlLm1lYXN1cmVQcmVmZXJyZWRTaXplID0gZnVuY3Rpb24oKQoreworICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcyk7CisgICAgdGhpcy5wb3NpdGlvbkF0KDAs
IDApOworICAgIHZhciByZXN1bHQgPSBuZXcgU2l6ZSh0aGlzLm9mZnNldFdpZHRoLCB0aGlzLm9m
ZnNldEhlaWdodCk7CisgICAgdGhpcy5wb3NpdGlvbkF0KHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsK
KyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRoaXMpOworICAgIHJldHVybiByZXN1bHQ7
Cit9CisKIE5vZGUucHJvdG90eXBlLmVuY2xvc2luZ05vZGVPclNlbGZXaXRoTm9kZU5hbWVJbkFy
cmF5ID0gZnVuY3Rpb24obmFtZUFycmF5KQogewogICAgIGZvciAodmFyIG5vZGUgPSB0aGlzOyBu
b2RlICYmIG5vZGUgIT09IHRoaXMub3duZXJEb2N1bWVudDsgbm9kZSA9IG5vZGUucGFyZW50Tm9k
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNu
YXBzaG90Vmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNu
YXBzaG90Vmlldy5qcwppbmRleCBjY2QzNjMwYTY0MTQ0MzIxMWYyYzE2ZjJjYzJkYmQ3NGE3NjZi
MWQ2Li5hOWQ3MzAwOGIxNDI4YmEyMTU4ZTQyY2RmODg1ZmNkN2M0YTkwNTQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdFZpZXcuanMK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RWaWV3
LmpzCkBAIC0yMTYsNyArMjE2LDcgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdFZpZXcucHJv
dG90eXBlID0gewogICAgIHsKICAgICAgICAgdGhpcy5fY3VycmVudFNlYXJjaFJlc3VsdEluZGV4
ID0gLTE7CiAgICAgICAgIHRoaXMuX3BvcG92ZXJIZWxwZXIuaGlkZVBvcG92ZXIoKTsKLSAgICAg
ICAgaWYgKHRoaXMuaGVscFBvcG92ZXIgJiYgdGhpcy5oZWxwUG9wb3Zlci52aXNpYmxlKQorICAg
ICAgICBpZiAodGhpcy5oZWxwUG9wb3ZlciAmJiB0aGlzLmhlbHBQb3BvdmVyLmlzU2hvd2luZygp
KQogICAgICAgICAgICAgdGhpcy5oZWxwUG9wb3Zlci5oaWRlKCk7CiAgICAgfSwKIApAQCAtNjQ2
LDcgKzY0Niw3IEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3RWaWV3LnByb3RvdHlwZSA9IHsK
ICAgICAgICAgICAgIHRoaXMuX2hlbHBQb3BvdmVyQ29udGVudEVsZW1lbnQgPSBjb250ZW50RWxl
bWVudDsKICAgICAgICAgICAgIHRoaXMuaGVscFBvcG92ZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlBv
cG92ZXIoKTsKICAgICAgICAgfQotICAgICAgICBpZiAodGhpcy5oZWxwUG9wb3Zlci52aXNpYmxl
KQorICAgICAgICBpZiAodGhpcy5oZWxwUG9wb3Zlci5pc1Nob3dpbmcoKSkKICAgICAgICAgICAg
IHRoaXMuaGVscFBvcG92ZXIuaGlkZSgpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICB0aGlz
LmhlbHBQb3BvdmVyLnNob3codGhpcy5faGVscFBvcG92ZXJDb250ZW50RWxlbWVudCwgdGhpcy5o
ZWxwQnV0dG9uLmVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Qb3BvdmVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Qb3BvdmVyLmpzCmluZGV4IGNlMWUxMGE1M2M4ZmJlODI5OGIzMzkxZmFjNzk2Mzc3ZTQ2MTVj
YjYuLjMxYWNhOWRkODlhM2I1MTY2YzI3ZmYwNjFjZmM1Zjk5NWQ2YTE3M2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUG9wb3Zlci5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BvcG92ZXIuanMKQEAgLTMwLDExICszMCwx
MyBAQAogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgorICogQGV4dGVuZHMge1dlYkluc3BlY3Rvci5W
aWV3fQogICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuUG9wb3ZlckhlbHBlcj19IHBvcG92ZXJIZWxw
ZXIKICAqLwogV2ViSW5zcGVjdG9yLlBvcG92ZXIgPSBmdW5jdGlvbihwb3BvdmVySGVscGVyKQog
ewotICAgIHRoaXMuZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAg
IFdlYkluc3BlY3Rvci5WaWV3LmNhbGwodGhpcyk7CisgICAgdGhpcy5tYXJrQXNSb290KCk7CiAg
ICAgdGhpcy5lbGVtZW50LmNsYXNzTmFtZSA9ICJwb3BvdmVyIGN1c3RvbS1wb3B1cC12ZXJ0aWNh
bC1zY3JvbGwgY3VzdG9tLXBvcHVwLWhvcml6b250YWwtc2Nyb2xsIjsKIAogICAgIHRoaXMuX3Bv
cHVwQXJyb3dFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CkBAIC00Mywz
NyArNDUsNjYgQEAgV2ViSW5zcGVjdG9yLlBvcG92ZXIgPSBmdW5jdGlvbihwb3BvdmVySGVscGVy
KQogCiAgICAgdGhpcy5fY29udGVudERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OwogICAgIHRoaXMuX2NvbnRlbnREaXYuY2xhc3NOYW1lID0gImNvbnRlbnQiOwotICAgIHRoaXMu
X3Zpc2libGUgPSBmYWxzZTsKKyAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fY29u
dGVudERpdik7CisKICAgICB0aGlzLl9wb3BvdmVySGVscGVyID0gcG9wb3ZlckhlbHBlcjsKIH0K
IAogV2ViSW5zcGVjdG9yLlBvcG92ZXIucHJvdG90eXBlID0gewogICAgIC8qKgorICAgICAqIEBw
YXJhbSB7RWxlbWVudH0gZWxlbWVudAorICAgICAqIEBwYXJhbSB7RWxlbWVudH0gYW5jaG9yCisg
ICAgICogQHBhcmFtIHtudW1iZXI9fSBwcmVmZXJyZWRXaWR0aAorICAgICAqIEBwYXJhbSB7bnVt
YmVyPX0gcHJlZmVycmVkSGVpZ2h0CisgICAgICovCisgICAgc2hvdzogZnVuY3Rpb24oZWxlbWVu
dCwgYW5jaG9yLCBwcmVmZXJyZWRXaWR0aCwgcHJlZmVycmVkSGVpZ2h0KQorICAgIHsKKyAgICAg
ICAgdGhpcy5faW5uZXJTaG93KG51bGwsIGVsZW1lbnQsIGFuY2hvciwgcHJlZmVycmVkV2lkdGgs
IHByZWZlcnJlZEhlaWdodCk7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7V2Vi
SW5zcGVjdG9yLlZpZXd9IHZpZXcKKyAgICAgKiBAcGFyYW0ge0VsZW1lbnR9IGFuY2hvcgorICAg
ICAqIEBwYXJhbSB7bnVtYmVyPX0gcHJlZmVycmVkV2lkdGgKKyAgICAgKiBAcGFyYW0ge251bWJl
cj19IHByZWZlcnJlZEhlaWdodAorICAgICAqLworICAgIHNob3dWaWV3OiBmdW5jdGlvbih2aWV3
LCBhbmNob3IsIHByZWZlcnJlZFdpZHRoLCBwcmVmZXJyZWRIZWlnaHQpCisgICAgeworICAgICAg
ICB0aGlzLl9pbm5lclNob3codmlldywgdmlldy5lbGVtZW50LCBhbmNob3IsIHByZWZlcnJlZFdp
ZHRoLCBwcmVmZXJyZWRIZWlnaHQpOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0g
e1dlYkluc3BlY3Rvci5WaWV3P30gdmlldworICAgICAqIEBwYXJhbSB7RWxlbWVudH0gY29udGVu
dEVsZW1lbnQKKyAgICAgKiBAcGFyYW0ge0VsZW1lbnR9IGFuY2hvcgogICAgICAqIEBwYXJhbSB7
bnVtYmVyPX0gcHJlZmVycmVkV2lkdGgKICAgICAgKiBAcGFyYW0ge251bWJlcj19IHByZWZlcnJl
ZEhlaWdodAogICAgICAqLwotICAgIHNob3c6IGZ1bmN0aW9uKGNvbnRlbnRFbGVtZW50LCBhbmNo
b3IsIHByZWZlcnJlZFdpZHRoLCBwcmVmZXJyZWRIZWlnaHQpCisgICAgX2lubmVyU2hvdzogZnVu
Y3Rpb24odmlldywgY29udGVudEVsZW1lbnQsIGFuY2hvciwgcHJlZmVycmVkV2lkdGgsIHByZWZl
cnJlZEhlaWdodCkKICAgICB7CiAgICAgICAgIGlmICh0aGlzLl9kaXNwb3NlZCkKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgdGhpcy5jb250ZW50RWxlbWVudCA9IGNvbnRlbnRFbGVtZW50
OwogCiAgICAgICAgIC8vIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sIGJ1dCB3ZSBoaWRlIHByZXZp
b3VzIHBvcHVwIHRvIGJlIG9uIHRoZSBzYWZlIHNpZGUuCi0gICAgICAgIGlmIChXZWJJbnNwZWN0
b3IuUG9wb3Zlci5fcG9wb3ZlckVsZW1lbnQpCi0gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJl
bW92ZUNoaWxkKFdlYkluc3BlY3Rvci5Qb3BvdmVyLl9wb3BvdmVyRWxlbWVudCk7Ci0gICAgICAg
IFdlYkluc3BlY3Rvci5Qb3BvdmVyLl9wb3BvdmVyRWxlbWVudCA9IHRoaXMuZWxlbWVudDsKKyAg
ICAgICAgaWYgKFdlYkluc3BlY3Rvci5Qb3BvdmVyLl9wb3BvdmVyKQorICAgICAgICAgICAgV2Vi
SW5zcGVjdG9yLlBvcG92ZXIuX3BvcG92ZXIuZGV0YWNoKCk7CisgICAgICAgIFdlYkluc3BlY3Rv
ci5Qb3BvdmVyLl9wb3BvdmVyID0gdGhpczsKIAogICAgICAgICAvLyBUZW1wb3JhcmlseSBhdHRh
Y2ggaW4gb3JkZXIgdG8gbWVhc3VyZSBwcmVmZXJyZWQgZGltZW5zaW9ucy4KLSAgICAgICAgdGhp
cy5jb250ZW50RWxlbWVudC5wb3NpdGlvbkF0KDAsIDApOwotICAgICAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHRoaXMuY29udGVudEVsZW1lbnQpOwotICAgICAgICBwcmVmZXJyZWRXaWR0
aCA9IHByZWZlcnJlZFdpZHRoIHx8IHRoaXMuY29udGVudEVsZW1lbnQub2Zmc2V0V2lkdGg7Ci0g
ICAgICAgIHByZWZlcnJlZEhlaWdodCA9IHByZWZlcnJlZEhlaWdodCB8fCB0aGlzLmNvbnRlbnRF
bGVtZW50Lm9mZnNldEhlaWdodDsKLQotICAgICAgICB0aGlzLl9jb250ZW50RGl2LmFwcGVuZENo
aWxkKHRoaXMuY29udGVudEVsZW1lbnQpOwotICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hp
bGQodGhpcy5fY29udGVudERpdik7Ci0gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQo
dGhpcy5lbGVtZW50KTsKKyAgICAgICAgdmFyIHByZWZlcnJlZFNpemUgPSB2aWV3ID8gdmlldy5t
ZWFzdXJlUHJlZmVycmVkU2l6ZSgpIDogdGhpcy5jb250ZW50RWxlbWVudC5tZWFzdXJlUHJlZmVy
cmVkU2l6ZSgpOworICAgICAgICBwcmVmZXJyZWRXaWR0aCA9IHByZWZlcnJlZFdpZHRoIHx8IHBy
ZWZlcnJlZFNpemUud2lkdGg7CisgICAgICAgIHByZWZlcnJlZEhlaWdodCA9IHByZWZlcnJlZEhl
aWdodCB8fCBwcmVmZXJyZWRTaXplLmhlaWdodDsKKworICAgICAgICBXZWJJbnNwZWN0b3IuVmll
dy5wcm90b3R5cGUuc2hvdy5jYWxsKHRoaXMsIGRvY3VtZW50LmJvZHkpOworCisgICAgICAgIGlm
ICh2aWV3KQorICAgICAgICAgICAgdmlldy5zaG93KHRoaXMuX2NvbnRlbnREaXYpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICB0aGlzLl9jb250ZW50RGl2LmFwcGVuZENoaWxkKHRoaXMuY29u
dGVudEVsZW1lbnQpOworCiAgICAgICAgIHRoaXMuX3Bvc2l0aW9uRWxlbWVudChhbmNob3IsIHBy
ZWZlcnJlZFdpZHRoLCBwcmVmZXJyZWRIZWlnaHQpOwotICAgICAgICB0aGlzLl92aXNpYmxlID0g
dHJ1ZTsKKwogICAgICAgICBpZiAodGhpcy5fcG9wb3ZlckhlbHBlcikgewogICAgICAgICAgICAg
Y29udGVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIiwgdGhpcy5fcG9wb3Zl
ckhlbHBlci5fa2lsbEhpZGVQb3BvdmVyVGltZXIuYmluZCh0aGlzLl9wb3BvdmVySGVscGVyKSwg
dHJ1ZSk7CiAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vv
dXQiLCB0aGlzLl9wb3BvdmVySGVscGVyLl9tb3VzZU91dC5iaW5kKHRoaXMuX3BvcG92ZXJIZWxw
ZXIpLCB0cnVlKTsKQEAgLTgyLDE2ICsxMTMsOCBAQCBXZWJJbnNwZWN0b3IuUG9wb3Zlci5wcm90
b3R5cGUgPSB7CiAKICAgICBoaWRlOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICBpZiAoV2Vi
SW5zcGVjdG9yLlBvcG92ZXIuX3BvcG92ZXJFbGVtZW50KSB7Ci0gICAgICAgICAgICBkZWxldGUg
V2ViSW5zcGVjdG9yLlBvcG92ZXIuX3BvcG92ZXJFbGVtZW50OwotICAgICAgICAgICAgZG9jdW1l
bnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnQpOwotICAgICAgICB9Ci0gICAgICAgIHRo
aXMuX3Zpc2libGUgPSBmYWxzZTsKLSAgICB9LAotCi0gICAgZ2V0IHZpc2libGUoKQotICAgIHsK
LSAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7CisgICAgICAgIHRoaXMuZGV0YWNoKCk7Cisg
ICAgICAgIGRlbGV0ZSBXZWJJbnNwZWN0b3IuUG9wb3Zlci5fcG9wb3ZlcjsKICAgICB9LAogCiAg
ICAgZ2V0IGRpc3Bvc2VkKCkKQEAgLTEwMSw3ICsxMjQsNyBAQCBXZWJJbnNwZWN0b3IuUG9wb3Zl
ci5wcm90b3R5cGUgPSB7CiAKICAgICBkaXNwb3NlOiBmdW5jdGlvbigpCiAgICAgewotICAgICAg
ICBpZiAodGhpcy52aXNpYmxlKQorICAgICAgICBpZiAodGhpcy5pc1Nob3dpbmcoKSkKICAgICAg
ICAgICAgIHRoaXMuaGlkZSgpOwogICAgICAgICB0aGlzLl9kaXNwb3NlZCA9IHRydWU7CiAgICAg
fSwKQEAgLTE4Nyw3ICsyMTAsOSBAQCBXZWJJbnNwZWN0b3IuUG9wb3Zlci5wcm90b3R5cGUgPSB7
CiAgICAgICAgIHRoaXMuZWxlbWVudC5wb3NpdGlvbkF0KG5ld0VsZW1lbnRQb3NpdGlvbi54IC0g
Ym9yZGVyV2lkdGgsIG5ld0VsZW1lbnRQb3NpdGlvbi55IC0gYm9yZGVyV2lkdGgpOwogICAgICAg
ICB0aGlzLmVsZW1lbnQuc3R5bGUud2lkdGggPSBuZXdFbGVtZW50UG9zaXRpb24ud2lkdGggKyBi
b3JkZXJXaWR0aCAqIDIgKyAicHgiOwogICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUuaGVpZ2h0
ID0gbmV3RWxlbWVudFBvc2l0aW9uLmhlaWdodCArIGJvcmRlcldpZHRoICogMiArICJweCI7Ci0g
ICAgfQorICAgIH0sCisKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlw
ZQogfQogCiAvKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvU3BlY3RydW0uanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NwZWN0
cnVtLmpzCmluZGV4IDRlN2ZkYzE1MTdjYjFiZWQ5ZGY4YTIxMWI0MWU4NjVlZWEwM2UzZmQuLmJm
ZWFkYjUxNzc1ZjFiMDY0YmM4YjJhZWVkN2JmYmVjYjBiZDIxYjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3BlY3RydW0uanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TcGVjdHJ1bS5qcwpAQCAtMjgsMjAgKzI4LDE3IEBA
CiAKIC8qKgogICogQGNvbnN0cnVjdG9yCi0gKiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLk9iamVj
dH0KKyAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuVmlld30KICAqLwogV2ViSW5zcGVjdG9yLlNw
ZWN0cnVtID0gZnVuY3Rpb24oKQogewotICAgIHRoaXMuX3BvcG92ZXIgPSBuZXcgV2ViSW5zcGVj
dG9yLlBvcG92ZXIoKTsKLSAgICB0aGlzLl9wb3BvdmVyLnNldENhblNocmluayhmYWxzZSk7Ci0g
ICAgdGhpcy5fcG9wb3Zlci5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIGNv
bnN1bWVFdmVudCwgZmFsc2UpOworICAgIFdlYkluc3BlY3Rvci5WaWV3LmNhbGwodGhpcyk7Cisg
ICAgdGhpcy5yZWdpc3RlclJlcXVpcmVkQ1NTKCJzcGVjdHJ1bS5jc3MiKTsKIAotICAgIHRoaXMu
X2NvbnRhaW5lckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICB0
aGlzLl9jb250YWluZXJFbGVtZW50LmNsYXNzTmFtZSA9ICJzcGVjdHJ1bS1jb250YWluZXIiOwot
ICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQudGFiSW5kZXggPSAwOwotICAgIHRoaXMuX2NvbnRh
aW5lckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHRoaXMuX29uS2V5RG93bi5i
aW5kKHRoaXMpLCBmYWxzZSk7CisgICAgdGhpcy5lbGVtZW50LmNsYXNzTmFtZSA9ICJzcGVjdHJ1
bS1jb250YWluZXIiOworICAgIHRoaXMuZWxlbWVudC50YWJJbmRleCA9IDA7CiAKLSAgICB2YXIg
dG9wRWxlbWVudCA9IHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuY3JlYXRlQ2hpbGQoImRpdiIsICJz
cGVjdHJ1bS10b3AiKTsKKyAgICB2YXIgdG9wRWxlbWVudCA9IHRoaXMuZWxlbWVudC5jcmVhdGVD
aGlsZCgiZGl2IiwgInNwZWN0cnVtLXRvcCIpOwogICAgIHRvcEVsZW1lbnQuY3JlYXRlQ2hpbGQo
ImRpdiIsICJzcGVjdHJ1bS1maWxsIik7CiAKICAgICB2YXIgdG9wSW5uZXJFbGVtZW50ID0gdG9w
RWxlbWVudC5jcmVhdGVDaGlsZCgiZGl2IiwgInNwZWN0cnVtLXRvcC1pbm5lciBmaWxsIik7CkBA
IC01MSw3ICs0OCw3IEBAIFdlYkluc3BlY3Rvci5TcGVjdHJ1bSA9IGZ1bmN0aW9uKCkKICAgICB0
aGlzLl9zbGlkZXJFbGVtZW50ID0gdG9wSW5uZXJFbGVtZW50LmNyZWF0ZUNoaWxkKCJkaXYiLCAi
c3BlY3RydW0taHVlIik7CiAgICAgdGhpcy5zbGlkZUhlbHBlciA9IHRoaXMuX3NsaWRlckVsZW1l
bnQuY3JlYXRlQ2hpbGQoImRpdiIsICJzcGVjdHJ1bS1zbGlkZXIiKTsKIAotICAgIHZhciByYW5n
ZUNvbnRhaW5lciA9IHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuY3JlYXRlQ2hpbGQoImRpdiIsICJz
cGVjdHJ1bS1yYW5nZS1jb250YWluZXIiKTsKKyAgICB2YXIgcmFuZ2VDb250YWluZXIgPSB0aGlz
LmVsZW1lbnQuY3JlYXRlQ2hpbGQoImRpdiIsICJzcGVjdHJ1bS1yYW5nZS1jb250YWluZXIiKTsK
ICAgICB2YXIgYWxwaGFMYWJlbCA9IHJhbmdlQ29udGFpbmVyLmNyZWF0ZUNoaWxkKCJsYWJlbCIp
OwogICAgIGFscGhhTGFiZWwudGV4dENvbnRlbnQgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlx1
MDNCMToiKTsKIApAQCAtNjUsNyArNjIsNyBAQCBXZWJJbnNwZWN0b3IuU3BlY3RydW0gPSBmdW5j
dGlvbigpCiAgICAgc3dhdGNoRWxlbWVudC5jbGFzc05hbWUgPSAic3dhdGNoIjsKICAgICB0aGlz
Ll9zd2F0Y2hJbm5lckVsZW1lbnQgPSBzd2F0Y2hFbGVtZW50LmNyZWF0ZUNoaWxkKCJzcGFuIiwg
InN3YXRjaC1pbm5lciIpOwogCi0gICAgdmFyIGRpc3BsYXlDb250YWluZXIgPSB0aGlzLl9jb250
YWluZXJFbGVtZW50LmNyZWF0ZUNoaWxkKCJkaXYiKTsKKyAgICB2YXIgZGlzcGxheUNvbnRhaW5l
ciA9IHRoaXMuZWxlbWVudC5jcmVhdGVDaGlsZCgiZGl2Iik7CiAgICAgZGlzcGxheUNvbnRhaW5l
ci5hcHBlbmRDaGlsZChzd2F0Y2hFbGVtZW50KTsKICAgICB0aGlzLl9kaXNwbGF5RWxlbWVudCA9
IGRpc3BsYXlDb250YWluZXIuY3JlYXRlQ2hpbGQoInNwYW4iLCAic291cmNlLWNvZGUgc3BlY3Ry
dW0tZGlzcGxheS12YWx1ZSIpOwogCkBAIC0xMDcsMTMgKzEwNCwxMCBAQCBXZWJJbnNwZWN0b3Iu
U3BlY3RydW0gPSBmdW5jdGlvbigpCiAKICAgICAgICAgdGhpcy5fb25jaGFuZ2UoKTsKICAgICB9
Ci0KLSAgICB0aGlzLl9oaWRlUHJveHkgPSB0aGlzLmhpZGUuYmluZCh0aGlzLCB0cnVlKTsKIH07
CiAKIFdlYkluc3BlY3Rvci5TcGVjdHJ1bS5FdmVudHMgPSB7Ci0gICAgQ29sb3JDaGFuZ2VkOiAi
Q29sb3JDaGFuZ2VkIiwKLSAgICBIaWRkZW46ICJIaWRkZW4iCisgICAgQ29sb3JDaGFuZ2VkOiAi
Q29sb3JDaGFuZ2VkIgogfTsKIAogV2ViSW5zcGVjdG9yLlNwZWN0cnVtLmhzdmFUb1JHQkEgPSBm
dW5jdGlvbihoLCBzLCB2LCBhKQpAQCAtMzIzLDExICszMTcsNiBAQCBXZWJJbnNwZWN0b3IuU3Bl
Y3RydW0ucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9kaXNwbGF5RWxlbWVudC50ZXh0Q29u
dGVudCA9IHRleHQ7CiAgICAgfSwKIAotICAgIGdldCB2aXNpYmxlKCkKLSAgICB7Ci0gICAgICAg
IHJldHVybiB0aGlzLl9wb3BvdmVyLnZpc2libGU7Ci0gICAgfSwKLQogICAgIF9vbmNoYW5nZTog
ZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdGhpcy5fdXBkYXRlVUkoKTsKQEAgLTM3OCw0MyAr
MzY3LDc2IEBAIFdlYkluc3BlY3Rvci5TcGVjdHJ1bS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRo
aXMuX2FscGhhRWxlbWVudC52YWx1ZSA9IHRoaXMuaHN2WzNdICogMTAwOwogICAgIH0sCiAKKyAg
ICB3YXNTaG93bjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5zbGlkZUhlaWdodCA9
IHRoaXMuX3NsaWRlckVsZW1lbnQub2Zmc2V0SGVpZ2h0OworICAgICAgICB0aGlzLmRyYWdXaWR0
aCA9IHRoaXMuX2RyYWdnZXJFbGVtZW50Lm9mZnNldFdpZHRoOworICAgICAgICB0aGlzLmRyYWdI
ZWlnaHQgPSB0aGlzLl9kcmFnZ2VyRWxlbWVudC5vZmZzZXRIZWlnaHQ7CisgICAgICAgIHRoaXMu
X2RyYWdIZWxwZXJFbGVtZW50SGVpZ2h0ID0gdGhpcy5fZHJhZ0hlbHBlckVsZW1lbnQub2Zmc2V0
SGVpZ2h0IC8gMjsKKyAgICAgICAgdGhpcy5zbGlkZUhlbHBlckhlaWdodCA9IHRoaXMuc2xpZGVI
ZWxwZXIub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICAgICAgdGhpcy5fdXBkYXRlVUkoKTsKKyAgICB9
LAorCisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuVmlldy5wcm90b3R5cGUKK30KKworLyoq
CisgKiBAY29uc3RydWN0b3IKKyAqIEBleHRlbmRzIHtXZWJJbnNwZWN0b3IuT2JqZWN0fQorICov
CitXZWJJbnNwZWN0b3IuU3BlY3RydW1Qb3B1cEhlbHBlciA9IGZ1bmN0aW9uKCkKK3sKKyAgICB0
aGlzLl9zcGVjdHJ1bSA9IG5ldyBXZWJJbnNwZWN0b3IuU3BlY3RydW0oKTsKKyAgICB0aGlzLl9z
cGVjdHJ1bS5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCB0aGlzLl9vbktleURv
d24uYmluZCh0aGlzKSwgZmFsc2UpOworCisgICAgdGhpcy5fcG9wb3ZlciA9IG5ldyBXZWJJbnNw
ZWN0b3IuUG9wb3ZlcigpOworICAgIHRoaXMuX3BvcG92ZXIuc2V0Q2FuU2hyaW5rKGZhbHNlKTsK
KyAgICB0aGlzLl9wb3BvdmVyLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwg
Y29uc3VtZUV2ZW50LCBmYWxzZSk7CisKKyAgICB0aGlzLl9oaWRlUHJveHkgPSB0aGlzLmhpZGUu
YmluZCh0aGlzLCB0cnVlKTsKK30KKworV2ViSW5zcGVjdG9yLlNwZWN0cnVtUG9wdXBIZWxwZXIu
RXZlbnRzID0geworICAgIEhpZGRlbjogIkhpZGRlbiIKK307CisKK1dlYkluc3BlY3Rvci5TcGVj
dHJ1bVBvcHVwSGVscGVyLnByb3RvdHlwZSA9IHsKKyAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtX
ZWJJbnNwZWN0b3IuU3BlY3RydW19CisgICAgICovCisgICAgc3BlY3RydW06IGZ1bmN0aW9uKCkK
KyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9zcGVjdHJ1bTsKKyAgICB9LAorCiAgICAgdG9n
Z2xlOiBmdW5jdGlvbihlbGVtZW50LCBjb2xvciwgZm9ybWF0KQogICAgIHsKLSAgICAgICAgaWYg
KHRoaXMudmlzaWJsZSkKKyAgICAgICAgaWYgKHRoaXMuX3BvcG92ZXIuaXNTaG93aW5nKCkpCiAg
ICAgICAgICAgICB0aGlzLmhpZGUodHJ1ZSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHRo
aXMuc2hvdyhlbGVtZW50LCBjb2xvciwgZm9ybWF0KTsKIAotICAgICAgICByZXR1cm4gdGhpcy52
aXNpYmxlOworICAgICAgICByZXR1cm4gdGhpcy5fcG9wb3Zlci5pc1Nob3dpbmcoKTsKICAgICB9
LAogCiAgICAgc2hvdzogZnVuY3Rpb24oZWxlbWVudCwgY29sb3IsIGZvcm1hdCkKICAgICB7Ci0g
ICAgICAgIGlmICh0aGlzLnZpc2libGUpIHsKLSAgICAgICAgICAgIGlmICh0aGlzLmFuY2hvckVs
ZW1lbnQgPT09IGVsZW1lbnQpCisgICAgICAgIGlmICh0aGlzLl9wb3BvdmVyLmlzU2hvd2luZygp
KSB7CisgICAgICAgICAgICBpZiAodGhpcy5fYW5jaG9yRWxlbWVudCA9PT0gZWxlbWVudCkKICAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICAgICAgICAgIC8vIFJlb3BlbiB0aGUg
cGlja2VyIGZvciBhbm90aGVyIGFuY2hvciBlbGVtZW50LgogICAgICAgICAgICAgdGhpcy5oaWRl
KHRydWUpOwogICAgICAgICB9CiAKKyAgICAgICAgdGhpcy5fYW5jaG9yRWxlbWVudCA9IGVsZW1l
bnQ7CisKKyAgICAgICAgdGhpcy5fc3BlY3RydW0uY29sb3IgPSBjb2xvcjsKKyAgICAgICAgdGhp
cy5fc3BlY3RydW0uX29yaWdpbmFsRm9ybWF0ID0gZm9ybWF0IHx8IGNvbG9yLmZvcm1hdDsKICAg
ICAgICAgdGhpcy5yZXBvc2l0aW9uKGVsZW1lbnQpOwotICAgICAgICB0aGlzLmFuY2hvckVsZW1l
bnQgPSBlbGVtZW50OwogCiAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNl
ZG93biIsIHRoaXMuX2hpZGVQcm94eSwgZmFsc2UpOwogICAgICAgICB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcigiYmx1ciIsIHRoaXMuX2hpZGVQcm94eSwgZmFsc2UpOwotCi0gICAgICAgIHRoaXMu
c2xpZGVIZWlnaHQgPSB0aGlzLl9zbGlkZXJFbGVtZW50Lm9mZnNldEhlaWdodDsKLSAgICAgICAg
dGhpcy5kcmFnV2lkdGggPSB0aGlzLl9kcmFnZ2VyRWxlbWVudC5vZmZzZXRXaWR0aDsKLSAgICAg
ICAgdGhpcy5kcmFnSGVpZ2h0ID0gdGhpcy5fZHJhZ2dlckVsZW1lbnQub2Zmc2V0SGVpZ2h0Owot
ICAgICAgICB0aGlzLl9kcmFnSGVscGVyRWxlbWVudEhlaWdodCA9IHRoaXMuX2RyYWdIZWxwZXJF
bGVtZW50Lm9mZnNldEhlaWdodCAvIDI7Ci0gICAgICAgIHRoaXMuc2xpZGVIZWxwZXJIZWlnaHQg
PSB0aGlzLnNsaWRlSGVscGVyLm9mZnNldEhlaWdodCAvIDI7Ci0KLSAgICAgICAgdGhpcy5jb2xv
ciA9IGNvbG9yOwotICAgICAgICB0aGlzLl9vcmlnaW5hbEZvcm1hdCA9IGZvcm1hdCB8fCBjb2xv
ci5mb3JtYXQ7Ci0KLSAgICAgICAgdGhpcy5fdXBkYXRlVUkoKTsKLQogICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICB9LAogCkBAIC00MjIsMjYgKzQ0NCwyOCBAQCBXZWJJbnNwZWN0b3IuU3BlY3Ry
dW0ucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLl9wcmV2aW91c0ZvY3Vz
RWxlbWVudCkKICAgICAgICAgICAgIHRoaXMuX3ByZXZpb3VzRm9jdXNFbGVtZW50ID0gV2ViSW5z
cGVjdG9yLmN1cnJlbnRGb2N1c0VsZW1lbnQoKTsKLSAgICAgICAgdGhpcy5fcG9wb3Zlci5zaG93
KHRoaXMuX2NvbnRhaW5lckVsZW1lbnQsIGVsZW1lbnQpOwotICAgICAgICBXZWJJbnNwZWN0b3Iu
c2V0Q3VycmVudEZvY3VzRWxlbWVudCh0aGlzLl9jb250YWluZXJFbGVtZW50KTsKKyAgICAgICAg
dGhpcy5fcG9wb3Zlci5zaG93Vmlldyh0aGlzLl9zcGVjdHJ1bSwgZWxlbWVudCk7CisgICAgICAg
IFdlYkluc3BlY3Rvci5zZXRDdXJyZW50Rm9jdXNFbGVtZW50KHRoaXMuX3NwZWN0cnVtLmVsZW1l
bnQpOwogICAgIH0sCiAKICAgICAvKioKLSAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGNvbW1pdEVk
aXQKKyAgICAgKiBAcGFyYW0ge2Jvb2xlYW49fSBjb21taXRFZGl0CiAgICAgICovCiAgICAgaGlk
ZTogZnVuY3Rpb24oY29tbWl0RWRpdCkKICAgICB7CisgICAgICAgIGlmICghdGhpcy5fcG9wb3Zl
ci5pc1Nob3dpbmcoKSkKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgdGhpcy5fcG9wb3Zl
ci5oaWRlKCk7CiAKICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vk
b3duIiwgdGhpcy5faGlkZVByb3h5LCBmYWxzZSk7CiAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVu
dExpc3RlbmVyKCJibHVyIiwgdGhpcy5faGlkZVByb3h5LCBmYWxzZSk7CiAKLSAgICAgICAgdGhp
cy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlNwZWN0cnVtLkV2ZW50cy5I
aWRkZW4sICEhY29tbWl0RWRpdCk7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVu
ZXJzKFdlYkluc3BlY3Rvci5TcGVjdHJ1bVBvcHVwSGVscGVyLkV2ZW50cy5IaWRkZW4sICEhY29t
bWl0RWRpdCk7CiAKICAgICAgICAgV2ViSW5zcGVjdG9yLnNldEN1cnJlbnRGb2N1c0VsZW1lbnQo
dGhpcy5fcHJldmlvdXNGb2N1c0VsZW1lbnQpOwogICAgICAgICBkZWxldGUgdGhpcy5fcHJldmlv
dXNGb2N1c0VsZW1lbnQ7CiAKLSAgICAgICAgZGVsZXRlIHRoaXMuYW5jaG9yRWxlbWVudDsKKyAg
ICAgICAgZGVsZXRlIHRoaXMuX2FuY2hvckVsZW1lbnQ7CiAgICAgfSwKIAogICAgIF9vbktleURv
d246IGZ1bmN0aW9uKGV2ZW50KQpAQCAtNDU5LDMgKzQ4MywyNiBAQCBXZWJJbnNwZWN0b3IuU3Bl
Y3RydW0ucHJvdG90eXBlID0gewogCiAgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuT2JqZWN0
LnByb3RvdHlwZQogfQorCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICovCitXZWJJbnNwZWN0b3Iu
Q29sb3JTd2F0Y2ggPSBmdW5jdGlvbigpCit7CisgICAgdGhpcy5lbGVtZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgic3BhbiIpOworICAgIHRoaXMuX3N3YXRjaElubmVyRWxlbWVudCA9IHRo
aXMuZWxlbWVudC5jcmVhdGVDaGlsZCgic3BhbiIsICJzd2F0Y2gtaW5uZXIiKTsKKyAgICB0aGlz
LmVsZW1lbnQudGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNsaWNrIHRvIG9wZW4gYSBj
b2xvcnBpY2tlci4gU2hpZnQtY2xpY2sgdG8gY2hhbmdlIGNvbG9yIGZvcm1hdCIpOworICAgIHRo
aXMuZWxlbWVudC5jbGFzc05hbWUgPSAic3dhdGNoIjsKKyAgICB0aGlzLmVsZW1lbnQuYWRkRXZl
bnRMaXN0ZW5lcigibW91c2Vkb3duIiwgY29uc3VtZUV2ZW50LCBmYWxzZSk7CisgICAgdGhpcy5l
bGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImRibGNsaWNrIiwgY29uc3VtZUV2ZW50LCBmYWxzZSk7
Cit9CisKK1dlYkluc3BlY3Rvci5Db2xvclN3YXRjaC5wcm90b3R5cGUgPSB7CisgICAgLyoqCisg
ICAgICogQHBhcmFtIHtzdHJpbmd9IGNvbG9yU3RyaW5nCisgICAgICovCisgICAgc2V0Q29sb3JT
dHJpbmc6IGZ1bmN0aW9uKGNvbG9yU3RyaW5nKQorICAgIHsKKyAgICAgICAgdGhpcy5fc3dhdGNo
SW5uZXJFbGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xvciA9IGNvbG9yU3RyaW5nOworICAgIH0K
K30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVz
U2lkZWJhclBhbmUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxl
c1NpZGViYXJQYW5lLmpzCmluZGV4IGNlNTVmNDdiODNjNDc4YjhkZjQ3MDEyYzJhNjZjMTY2NzYx
YzkxM2YuLjI5YjBlOTI0ZWE3ODU2ZjRmYWE0OTYyNmEyYWFmNzljNTRiODlkNTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFy
UGFuZS5qcwpAQCAtOTMsNyArOTMsNyBAQCBXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUg
PSBmdW5jdGlvbihjb21wdXRlZFN0eWxlUGFuZSwgc2V0UHNldWRvQ2xhc3NDYWxsYgogICAgIHRo
aXMuX3NlY3Rpb25zQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAg
ICAgdGhpcy5ib2R5RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9zZWN0aW9uc0NvbnRhaW5lcik7
CiAKLSAgICB0aGlzLl9zcGVjdHJ1bSA9IG5ldyBXZWJJbnNwZWN0b3IuU3BlY3RydW0oKTsKKyAg
ICB0aGlzLl9zcGVjdHJ1bUhlbHBlciA9IG5ldyBXZWJJbnNwZWN0b3IuU3BlY3RydW1Qb3B1cEhl
bHBlcigpOwogICAgIHRoaXMuX2xpbmtpZmllciA9IG5ldyBXZWJJbnNwZWN0b3IuTGlua2lmaWVy
KG5ldyBXZWJJbnNwZWN0b3IuTGlua2lmaWVyLkRlZmF1bHRDU1NGb3JtYXR0ZXIoKSk7CiAKICAg
ICBXZWJJbnNwZWN0b3IuY3NzTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQ1NT
U3R5bGVNb2RlbC5FdmVudHMuU3R5bGVTaGVldENoYW5nZWQsIHRoaXMuX3N0eWxlU2hlZXRPck1l
ZGlhUXVlcnlSZXN1bHRDaGFuZ2VkLCB0aGlzKTsKQEAgLTE3MCw4ICsxNzAsNyBAQCBXZWJJbnNw
ZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogCiAgICAgdXBkYXRlOiBmdW5j
dGlvbihub2RlLCBmb3JjZVVwZGF0ZSkKICAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9zcGVjdHJ1
bS52aXNpYmxlKQotICAgICAgICAgICAgdGhpcy5fc3BlY3RydW0uaGlkZShmYWxzZSk7CisgICAg
ICAgIHRoaXMuX3NwZWN0cnVtSGVscGVyLmhpZGUoKTsKIAogICAgICAgICB2YXIgcmVmcmVzaCA9
IGZhbHNlOwogCkBAIC03OTUsOCArNzk0LDcgQEAgV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQ
YW5lLnByb3RvdHlwZSA9IHsKIAogICAgIHdpbGxIaWRlOiBmdW5jdGlvbigpCiAgICAgewotICAg
ICAgICBpZiAodGhpcy5fc3BlY3RydW0udmlzaWJsZSkKLSAgICAgICAgICAgIHRoaXMuX3NwZWN0
cnVtLmhpZGUoZmFsc2UpOworICAgICAgICB0aGlzLl9zcGVjdHJ1bUhlbHBlci5oaWRlKCk7CiAg
ICAgfSwKIAogICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lLnByb3RvdHlw
ZQpAQCAtMTc2OSwzMiArMTc2NywyMSBAQCBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0eVRyZWVF
bGVtZW50LnByb3RvdHlwZSA9IHsKIAogICAgICAgICAgICAgICAgIHZhciBmb3JtYXQgPSBnZXRG
b3JtYXQoKTsKICAgICAgICAgICAgICAgICB2YXIgaGFzU3BlY3RydW0gPSBzZWxmLl9wYXJlbnRQ
YW5lOwotICAgICAgICAgICAgICAgIHZhciBzcGVjdHJ1bSA9IGhhc1NwZWN0cnVtID8gc2VsZi5f
cGFyZW50UGFuZS5fc3BlY3RydW0gOiBudWxsOworICAgICAgICAgICAgICAgIHZhciBzcGVjdHJ1
bUhlbHBlciA9IGhhc1NwZWN0cnVtID8gc2VsZi5fcGFyZW50UGFuZS5fc3BlY3RydW1IZWxwZXIg
OiBudWxsOworICAgICAgICAgICAgICAgIHZhciBzcGVjdHJ1bSA9IHNwZWN0cnVtSGVscGVyID8g
c3BlY3RydW1IZWxwZXIuc3BlY3RydW0oKSA6IG51bGw7CiAKLSAgICAgICAgICAgICAgICB2YXIg
c3dhdGNoRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKLSAgICAgICAg
ICAgICAgICB2YXIgc3dhdGNoSW5uZXJFbGVtZW50ID0gc3dhdGNoRWxlbWVudC5jcmVhdGVDaGls
ZCgic3BhbiIsICJzd2F0Y2gtaW5uZXIiKTsKLSAgICAgICAgICAgICAgICBzd2F0Y2hFbGVtZW50
LnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDbGljayB0byBvcGVuIGEgY29sb3JwaWNr
ZXIuIFNoaWZ0LWNsaWNrIHRvIGNoYW5nZSBjb2xvciBmb3JtYXQiKTsKLQotICAgICAgICAgICAg
ICAgIHN3YXRjaEVsZW1lbnQuY2xhc3NOYW1lID0gInN3YXRjaCI7Ci0KLSAgICAgICAgICAgICAg
ICBzd2F0Y2hFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIGNvbnN1bWVFdmVu
dCwgZmFsc2UpOwotICAgICAgICAgICAgICAgIHN3YXRjaEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCBzd2F0Y2hDbGljaywgZmFsc2UpOwotICAgICAgICAgICAgICAgIHN3YXRjaEVs
ZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZGJsY2xpY2siLCBjb25zdW1lRXZlbnQsIGZhbHNlKTsK
LQotICAgICAgICAgICAgICAgIHN3YXRjaElubmVyRWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kQ29s
b3IgPSB0ZXh0OworICAgICAgICAgICAgICAgIHZhciBjb2xvclN3YXRjaCA9IG5ldyBXZWJJbnNw
ZWN0b3IuQ29sb3JTd2F0Y2goKTsKKyAgICAgICAgICAgICAgICBjb2xvclN3YXRjaC5zZXRDb2xv
clN0cmluZyh0ZXh0KTsKKyAgICAgICAgICAgICAgICBjb2xvclN3YXRjaC5lbGVtZW50LmFkZEV2
ZW50TGlzdGVuZXIoImNsaWNrIiwgc3dhdGNoQ2xpY2ssIGZhbHNlKTsKIAogICAgICAgICAgICAg
ICAgIHZhciBzY3JvbGxlckVsZW1lbnQgPSBoYXNTcGVjdHJ1bSA/IHNlbGYuX3BhcmVudFBhbmUu
X2NvbXB1dGVkU3R5bGVQYW5lLmVsZW1lbnQucGFyZW50RWxlbWVudCA6IG51bGw7CiAKICAgICAg
ICAgICAgICAgICBmdW5jdGlvbiBzcGVjdHJ1bUNoYW5nZWQoZSkKICAgICAgICAgICAgICAgICB7
CiAgICAgICAgICAgICAgICAgICAgIGNvbG9yID0gZS5kYXRhOwotCiAgICAgICAgICAgICAgICAg
ICAgIHZhciBjb2xvclN0cmluZyA9IGNvbG9yLnRvU3RyaW5nKCk7Ci0KICAgICAgICAgICAgICAg
ICAgICAgY29sb3JWYWx1ZUVsZW1lbnQudGV4dENvbnRlbnQgPSBjb2xvclN0cmluZzsKLSAgICAg
ICAgICAgICAgICAgICAgc3BlY3RydW0uZGlzcGxheVRleHQgPSBjb2xvclN0cmluZzsKLSAgICAg
ICAgICAgICAgICAgICAgc3dhdGNoSW5uZXJFbGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xvciA9
IGNvbG9yU3RyaW5nOwotCisgICAgICAgICAgICAgICAgICAgIGNvbG9yU3dhdGNoLnNldENvbG9y
U3RyaW5nKGNvbG9yU3RyaW5nKTsKICAgICAgICAgICAgICAgICAgICAgc2VsZi5hcHBseVN0eWxl
VGV4dChuYW1lRWxlbWVudC50ZXh0Q29udGVudCArICI6ICIgKyB2YWx1ZUVsZW1lbnQudGV4dENv
bnRlbnQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOwogICAgICAgICAgICAgICAgIH0KIApAQCAtMTgw
NSw3ICsxNzkyLDcgQEAgV2ViSW5zcGVjdG9yLlN0eWxlUHJvcGVydHlUcmVlRWxlbWVudC5wcm90
b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgICAgIHZhciBwcm9wZXJ0eVRleHQgPSAhY29tbWl0
RWRpdCAmJiBzZWxmLm9yaWdpbmFsUHJvcGVydHlUZXh0ID8gc2VsZi5vcmlnaW5hbFByb3BlcnR5
VGV4dCA6IChuYW1lRWxlbWVudC50ZXh0Q29udGVudCArICI6ICIgKyB2YWx1ZUVsZW1lbnQudGV4
dENvbnRlbnQpOwogICAgICAgICAgICAgICAgICAgICBzZWxmLmFwcGx5U3R5bGVUZXh0KHByb3Bl
cnR5VGV4dCwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOwogICAgICAgICAgICAgICAgICAgICBzcGVjdHJ1
bS5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5TcGVjdHJ1bS5FdmVudHMuQ29sb3JD
aGFuZ2VkLCBzcGVjdHJ1bUNoYW5nZWQpOwotICAgICAgICAgICAgICAgICAgICBzcGVjdHJ1bS5y
ZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5TcGVjdHJ1bS5FdmVudHMuSGlkZGVuLCBz
cGVjdHJ1bUhpZGRlbik7CisgICAgICAgICAgICAgICAgICAgIHNwZWN0cnVtSGVscGVyLnJlbW92
ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlNwZWN0cnVtUG9wdXBIZWxwZXIuRXZlbnRzLkhp
ZGRlbiwgc3BlY3RydW1IaWRkZW4pOwogCiAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBzZWxm
Ll9wYXJlbnRQYW5lLl9pc0VkaXRpbmdTdHlsZTsKICAgICAgICAgICAgICAgICAgICAgZGVsZXRl
IHNlbGYub3JpZ2luYWxQcm9wZXJ0eVRleHQ7CkBAIC0xODEzLDI0ICsxODAwLDI0IEBAIFdlYklu
c3BlY3Rvci5TdHlsZVByb3BlcnR5VHJlZUVsZW1lbnQucHJvdG90eXBlID0gewogCiAgICAgICAg
ICAgICAgICAgZnVuY3Rpb24gcmVwb3NpdGlvblNwZWN0cnVtKCkKICAgICAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgICAgIHNwZWN0cnVtLnJlcG9zaXRpb24oc3dhdGNoRWxlbWVudCk7
CisgICAgICAgICAgICAgICAgICAgIHNwZWN0cnVtSGVscGVyLnJlcG9zaXRpb24oY29sb3JTd2F0
Y2guZWxlbWVudCk7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgZnVuY3Rp
b24gc3dhdGNoQ2xpY2soZSkKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg
IC8vIFNoaWZ0ICsgY2xpY2sgdG9nZ2xlcyBjb2xvciBmb3JtYXRzLgogICAgICAgICAgICAgICAg
ICAgICAvLyBDbGljayBvcGVucyBjb2xvcnBpY2tlciwgb25seSBpZiB0aGUgZWxlbWVudCBpcyBu
b3QgaW4gY29tcHV0ZWQgc3R5bGVzIHNlY3Rpb24uCi0gICAgICAgICAgICAgICAgICAgIGlmICgh
c3BlY3RydW0gfHwgZS5zaGlmdEtleSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFzcGVjdHJ1
bUhlbHBlciB8fCBlLnNoaWZ0S2V5KQogICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlQ29s
b3JEaXNwbGF5KGUpOwogICAgICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHZhciB2aXNpYmxlID0gc3BlY3RydW0udG9nZ2xlKHN3YXRjaEVsZW1lbnQsIGNv
bG9yLCBmb3JtYXQpOworICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZpc2libGUgPSBzcGVj
dHJ1bUhlbHBlci50b2dnbGUoY29sb3JTd2F0Y2guZWxlbWVudCwgY29sb3IsIGZvcm1hdCk7CiAK
ICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2aXNpYmxlKSB7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3BlY3RydW0uZGlzcGxheVRleHQgPSBjb2xvci50b1N0cmluZyhmb3JtYXQp
OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYub3JpZ2luYWxQcm9wZXJ0eVRleHQg
PSBzZWxmLnByb3BlcnR5LnByb3BlcnR5VGV4dDsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzZWxmLl9wYXJlbnRQYW5lLl9pc0VkaXRpbmdTdHlsZSA9IHRydWU7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3BlY3RydW0uYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuU3Bl
Y3RydW0uRXZlbnRzLkNvbG9yQ2hhbmdlZCwgc3BlY3RydW1DaGFuZ2VkKTsKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzcGVjdHJ1bS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5T
cGVjdHJ1bS5FdmVudHMuSGlkZGVuLCBzcGVjdHJ1bUhpZGRlbik7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3BlY3RydW1IZWxwZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3Iu
U3BlY3RydW1Qb3B1cEhlbHBlci5FdmVudHMuSGlkZGVuLCBzcGVjdHJ1bUhpZGRlbik7CiAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxlckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5l
cigic2Nyb2xsIiwgcmVwb3NpdGlvblNwZWN0cnVtLCBmYWxzZSk7CiAgICAgICAgICAgICAgICAg
ICAgICAgICB9CkBAIC0xOTE3LDcgKzE5MDQsNyBAQCBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0
eVRyZWVFbGVtZW50LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgICAgICB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibm9iciIpOwot
ICAgICAgICAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChzd2F0Y2hFbGVtZW50KTsKKyAg
ICAgICAgICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoY29sb3JTd2F0Y2guZWxlbWVudCk7
CiAgICAgICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGNvbG9yVmFsdWVFbGVtZW50
KTsKICAgICAgICAgICAgICAgICByZXR1cm4gY29udGFpbmVyOwogICAgICAgICAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9WaWV3LmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9WaWV3LmpzCmluZGV4IGQzYWRmZjk5Yjcz
MzAxZDU2ZjczYzFjZTg4YjM5Y2Y0OWMwMmNmMjYuLmY1ZmYzYzk1ZWEzZjE2Nzc4Zjk1ZWRiN2Q0
ODhhOTZiMzcwMDI0YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Zp
ZXcuanMKQEAgLTM2MCw2ICszNjAsMjEgQEAgV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlID0g
ewogICAgICAgICBXZWJJbnNwZWN0b3Iuc2V0Q3VycmVudEZvY3VzRWxlbWVudChlbGVtZW50KTsK
ICAgICB9LAogCisgICAgLyoqCisgICAgICogQHJldHVybiB7U2l6ZX0KKyAgICAgKi8KKyAgICBt
ZWFzdXJlUHJlZmVycmVkU2l6ZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5fbG9h
ZENTU0lmTmVlZGVkKCk7CisgICAgICAgIFdlYkluc3BlY3Rvci5WaWV3Ll9vcmlnaW5hbEFwcGVu
ZENoaWxkLmNhbGwoZG9jdW1lbnQuYm9keSwgdGhpcy5lbGVtZW50KTsKKyAgICAgICAgdGhpcy5l
bGVtZW50LnBvc2l0aW9uQXQoMCwgMCk7CisgICAgICAgIHZhciByZXN1bHQgPSBuZXcgU2l6ZSh0
aGlzLmVsZW1lbnQub2Zmc2V0V2lkdGgsIHRoaXMuZWxlbWVudC5vZmZzZXRIZWlnaHQpOworICAg
ICAgICB0aGlzLmVsZW1lbnQucG9zaXRpb25BdCh1bmRlZmluZWQsIHVuZGVmaW5lZCk7CisgICAg
ICAgIFdlYkluc3BlY3Rvci5WaWV3Ll9vcmlnaW5hbFJlbW92ZUNoaWxkLmNhbGwoZG9jdW1lbnQu
Ym9keSwgdGhpcy5lbGVtZW50KTsKKyAgICAgICAgdGhpcy5fZGlzYWJsZUNTU0lmTmVlZGVkKCk7
CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfSwKKwogICAgIF9fcHJvdG9fXzogV2ViSW5z
cGVjdG9yLk9iamVjdC5wcm90b3R5cGUKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9XZWJLaXQucXJjCmluZGV4IDMzOGZmODliZmQ0NDZhOGNmNDVhOWU1ZTg5Y2I1
NGJmMTk5MGQ0MjguLmU1N2M4OTRkYmIzNWRmZWJlZmQyMTQ2MTIxZWE5N2YzYjM3NjUwMzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMKQEAgLTI0
Miw2ICsyNDIsNyBAQAogICAgIDxmaWxlPnJlc291cmNlc1BhbmVsLmNzczwvZmlsZT4KICAgICA8
ZmlsZT5yZXZpc2lvbkhpc3RvcnkuY3NzPC9maWxlPgogICAgIDxmaWxlPnNjcmlwdHNQYW5lbC5j
c3M8L2ZpbGU+CisgICAgPGZpbGU+c3BlY3RydW0uY3NzPC9maWxlPgogICAgIDxmaWxlPnNwbGl0
Vmlldy5jc3M8L2ZpbGU+CiAgICAgPGZpbGU+dGFiYmVkUGFuZS5jc3M8L2ZpbGU+CiAgICAgPGZp
bGU+dGV4dEVkaXRvci5jc3M8L2ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL2VsZW1lbnRzUGFuZWwuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9lbGVtZW50c1BhbmVsLmNzcwppbmRleCAwYTVjZDIyMjFlZTAyZDQ4MDcz
N2RhNDc0MGYzOTMyMTQ2ZmJiMDk5Li45ZGQxZDc4MjJjYjlmMzlhMDFiNGU0Njg4NWJkYjFiYzJl
ODQ0YjBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2Vs
ZW1lbnRzUGFuZWwuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
ZWxlbWVudHNQYW5lbC5jc3MKQEAgLTUxNiwxMTggKzUxNiwzIEBACiAgICAgLXdlYmtpdC11c2Vy
LXNlbGVjdDogdGV4dDsKICAgICAtd2Via2l0LXVzZXItZHJhZzogYXV0bzsKIH0KLQotLyogaHR0
cHM6Ly9naXRodWIuY29tL2Jncmlucy9zcGVjdHJ1bSAqLwotLnNwZWN0cnVtLWNvbnRhaW5lciB7
Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIHRvcDogMDsKLSAgICBsZWZ0OiAwOwotICAg
IGRpc3BsYXk6IGlubGluZS1ibG9jazsKLSAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzMCwgMjMwLCAy
MzAsIDEpICFpbXBvcnRhbnQ7Ci0gICAgYm9yZGVyOiAxcHggc29saWQgIzY0NjQ2NDsKLSAgICBw
YWRkaW5nOiAxMHB4OwotICAgIHdpZHRoOiAyMjBweDsKLSAgICB6LWluZGV4OiAxMDsKLSAgICAt
d2Via2l0LXVzZXItc2VsZWN0OiBub25lOwotfQotCi0uc3BlY3RydW0tdG9wIHsKLSAgICBwb3Np
dGlvbjogcmVsYXRpdmU7Ci0gICAgd2lkdGg6IDEwMCU7Ci0gICAgZGlzcGxheTogaW5saW5lLWJs
b2NrOwotfQotCi0uc3BlY3RydW0tY29sb3IgewotICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKLSAg
ICB0b3A6IDA7Ci0gICAgbGVmdDogMDsKLSAgICBib3R0b206IDA7Ci0gICAgcmlnaHQ6IDQwcHg7
Ci19Ci0KLS5zcGVjdHJ1bS1kaXNwbGF5LXZhbHVlIHsKLSAgICAtd2Via2l0LXVzZXItc2VsZWN0
OiB0ZXh0OwotICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKLSAgICBsZWZ0OiAycHg7Ci0gICAgdG9w
OiAtNnB4OwotfQotCi0uc3BlY3RydW0taHVlIHsKLSAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0g
ICAgdG9wOiAwOwotICAgIHJpZ2h0OiAwOwotICAgIGJvdHRvbTogMDsKLSAgICBsZWZ0OiAxNzBw
eDsKLSAgICAtd2Via2l0LWJveC1yZWZsZWN0OiByaWdodCAtMjhweDsKLX0KLQotLnNwZWN0cnVt
LWZpbGwgewotICAgIC8qIFNhbWUgYXMgc3BlY3RydW0tY29sb3Igd2lkdGggdG8gZm9yY2UgYXNw
ZWN0IHJhdGlvLiAqLwotICAgIG1hcmdpbi10b3A6IDE1MHB4OwotfQotCi0uc3BlY3RydW0tcmFu
Z2UtY29udGFpbmVyIHsKLSAgICBwb3NpdGlvbjogcmVsYXRpdmU7Ci0gICAgcGFkZGluZy1ib3R0
b206IDVweDsKLX0KLQotLnNwZWN0cnVtLXJhbmdlLWNvbnRhaW5lciAqIHsKLSAgICBmb250LXNp
emU6IDExcHg7Ci0gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKLX0KLQotLnNwZWN0cnVtLXJh
bmdlLWNvbnRhaW5lciBsYWJlbCB7Ci0gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwotICAgIHBh
ZGRpbmctcmlnaHQ6IDRweDsKLX0KLQotLnNwZWN0cnVtLXJhbmdlLWNvbnRhaW5lciBpbnB1dCB7
Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIGxlZnQ6IDE1cHg7Ci0gICAgcmlnaHQ6IDQw
cHg7Ci0gICAgbWFyZ2luOiAzcHggMCAwIDA7Ci19Ci0KLS5zd2F0Y2gsIC5zcGVjdHJ1bS1kcmFn
Z2VyLCAuc3BlY3RydW0tc2xpZGVyIHsKLSAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwot
fQotCi0uc3BlY3RydW0tc2F0IHsKLSAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVh
ci1ncmFkaWVudChsZWZ0LCB3aGl0ZSwgcmdiYSgyMDQsIDE1NCwgMTI5LCAwKSk7Ci19Ci0KLS5z
cGVjdHJ1bS12YWwgewotICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRp
ZW50KGJvdHRvbSwgYmxhY2ssIHJnYmEoMjA0LCAxNTQsIDEyOSwgMCkpOwotfQotCi0uc3BlY3Ry
dW0taHVlIHsKLSAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNm
ZjAwMDAgMCUsICNmZmZmMDAgMTclLCAjMDBmZjAwIDMzJSwgIzAwZmZmZiA1MCUsICMwMDAwZmYg
NjclLCAjZmYwMGZmIDgzJSwgI2ZmMDAwMCAxMDAlKTsKLX0KLQotLnNwZWN0cnVtLWRyYWdnZXIg
ewotICAgIGJvcmRlci1yYWRpdXM6IDVweDsKLSAgICBoZWlnaHQ6IDVweDsKLSAgICB3aWR0aDog
NXB4OwotICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlOwotICAgIGN1cnNvcjogcG9pbnRlcjsK
LSAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgdG9wOiAwOwotICAgIGxlZnQ6IDA7Ci0gICAg
YmFja2dyb3VuZDogYmxhY2s7Ci19Ci0KLS5zcGVjdHJ1bS1zbGlkZXIgewotICAgIHBvc2l0aW9u
OiBhYnNvbHV0ZTsKLSAgICB0b3A6IDA7Ci0gICAgY3Vyc29yOiBwb2ludGVyOwotICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsYWNrOwotICAgIGhlaWdodDogNHB4OwotICAgIGxlZnQ6IC0xcHg7Ci0g
ICAgcmlnaHQ6IC0xcHg7Ci19Ci0KLS5zcGVjdHJ1bS1jb250YWluZXIgLnN3YXRjaCB7Ci0gICAg
d2lkdGg6IDIwcHg7Ci0gICAgaGVpZ2h0OjIwcHg7Ci0gICAgbWFyZ2luOiAwOwotfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCmluZGV4IDky
ZGI1MDg3YTU1M2I0ZmQzODFhZDgzOTZiZjIyZGE3NWUwMjQ4ZDkuLjZlOTMyNDNkZDQ2N2M0Njg2
NTQ2OGU1MjcwMzkwZDNhYTRhMDg3YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKQEAgLTE2OTksMTkgKzE2OTksMTggQEAgbGkuZWRp
dGluZyAuc3dhdGNoLCBsaS5lZGl0aW5nIC5lbmFibGVkLWJ1dHRvbiwgIGxpLmVkaXRpbmctc3Vi
LXBhcnQgLmRlbGV0ZS1idXQKICAgICBtYXJnaW4tYm90dG9tOiAtMXB4OwogICAgIHdpZHRoOiAx
ZW07CiAgICAgaGVpZ2h0OiAxZW07Ci0gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjgsIDEy
OCwgMTI4LCAwLjYpOwotICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChJbWFnZXMvY2hlY2tlci5w
bmcpOwogICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiB1
cmwoSW1hZ2VzL2NoZWNrZXIucG5nKTsKIH0KIAogLnN3YXRjaC1pbm5lciB7CiAgICAgd2lkdGg6
IDEwMCU7CiAgICAgaGVpZ2h0OiAxMDAlOwogICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKLSAg
ICBtYXJnaW4tYm90dG9tOiAxcHg7CisgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjgsIDEy
OCwgMTI4LCAwLjYpOwogfQogCi0uc3dhdGNoOmhvdmVyIHsKKy5zd2F0Y2gtaW5uZXI6aG92ZXIg
ewogICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNjQsIDY0LCA2NCwgMC44KTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9zcGVjdHJ1bS5jc3Mg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3NwZWN0cnVtLmNzcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YTllYTI4Yjk0OTkxMmFkZjU4MGI2OGU1MjBlYzU5YmEwZjk2MWYxCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9zcGVjdHJ1bS5jc3MK
QEAgLTAsMCArMSwxMTQgQEAKKy8qIGh0dHBzOi8vZ2l0aHViLmNvbS9iZ3JpbnMvc3BlY3RydW0g
Ki8KKy5zcGVjdHJ1bS1jb250YWluZXIgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0
b3A6IDA7CisgICAgbGVmdDogMDsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgYmFj
a2dyb3VuZDogcmdiYSgyMzAsIDIzMCwgMjMwLCAxKSAhaW1wb3J0YW50OworICAgIGJvcmRlcjog
MXB4IHNvbGlkICM2NDY0NjQ7CisgICAgcGFkZGluZzogMTBweDsKKyAgICB3aWR0aDogMjIwcHg7
CisgICAgei1pbmRleDogMTA7CisgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKK30KKwor
LnNwZWN0cnVtLXRvcCB7CisgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgIHdpZHRoOiAxMDAl
OworICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKK30KKworLnNwZWN0cnVtLWNvbG9yIHsKKyAg
ICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgdG9wOiAwOworICAgIGxlZnQ6IDA7CisgICAgYm90
dG9tOiAwOworICAgIHJpZ2h0OiA0MHB4OworfQorCisuc3BlY3RydW0tZGlzcGxheS12YWx1ZSB7
CisgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogdGV4dDsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgbGVmdDogMnB4OworICAgIHRvcDogLTZweDsKK30KKworLnNwZWN0cnVtLWh1ZSB7Cisg
ICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogMDsKKyAgICByaWdodDogMDsKKyAgICBi
b3R0b206IDA7CisgICAgbGVmdDogMTcwcHg7CisgICAgLXdlYmtpdC1ib3gtcmVmbGVjdDogcmln
aHQgLTI4cHg7Cit9CisKKy5zcGVjdHJ1bS1maWxsIHsKKyAgICAvKiBTYW1lIGFzIHNwZWN0cnVt
LWNvbG9yIHdpZHRoIHRvIGZvcmNlIGFzcGVjdCByYXRpby4gKi8KKyAgICBtYXJnaW4tdG9wOiAx
NTBweDsKK30KKworLnNwZWN0cnVtLXJhbmdlLWNvbnRhaW5lciB7CisgICAgcG9zaXRpb246IHJl
bGF0aXZlOworICAgIHBhZGRpbmctYm90dG9tOiA1cHg7Cit9CisKKy5zcGVjdHJ1bS1yYW5nZS1j
b250YWluZXIgKiB7CisgICAgZm9udC1zaXplOiAxMXB4OworICAgIHZlcnRpY2FsLWFsaWduOiBt
aWRkbGU7Cit9CisKKy5zcGVjdHJ1bS1yYW5nZS1jb250YWluZXIgbGFiZWwgeworICAgIGRpc3Bs
YXk6IGlubGluZS1ibG9jazsKKyAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7Cit9CisKKy5zcGVjdHJ1
bS1yYW5nZS1jb250YWluZXIgaW5wdXQgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICBs
ZWZ0OiAxNXB4OworICAgIHJpZ2h0OiA0MHB4OworICAgIG1hcmdpbjogM3B4IDAgMCAwOworfQor
Cisuc3BlY3RydW0tZHJhZ2dlciwgLnNwZWN0cnVtLXNsaWRlciB7CisgICAgLXdlYmtpdC11c2Vy
LXNlbGVjdDogbm9uZTsKK30KKworLnNwZWN0cnVtLXNhdCB7CisgICAgYmFja2dyb3VuZC1pbWFn
ZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgd2hpdGUsIHJnYmEoMjA0LCAxNTQsIDEy
OSwgMCkpOworfQorCisuc3BlY3RydW0tdmFsIHsKKyAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Vi
a2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sIGJsYWNrLCByZ2JhKDIwNCwgMTU0LCAxMjksIDAp
KTsKK30KKworLnNwZWN0cnVtLWh1ZSB7CisgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXIt
Z3JhZGllbnQodG9wLCAjZmYwMDAwIDAlLCAjZmZmZjAwIDE3JSwgIzAwZmYwMCAzMyUsICMwMGZm
ZmYgNTAlLCAjMDAwMGZmIDY3JSwgI2ZmMDBmZiA4MyUsICNmZjAwMDAgMTAwJSk7Cit9CisKKy5z
cGVjdHJ1bS1kcmFnZ2VyIHsKKyAgICBib3JkZXItcmFkaXVzOiA1cHg7CisgICAgaGVpZ2h0OiA1
cHg7CisgICAgd2lkdGg6IDVweDsKKyAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTsKKyAgICBj
dXJzb3I6IHBvaW50ZXI7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogMDsKKyAg
ICBsZWZ0OiAwOworICAgIGJhY2tncm91bmQ6IGJsYWNrOworfQorCisuc3BlY3RydW0tc2xpZGVy
IHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgdG9wOiAwOworICAgIGN1cnNvcjogcG9p
bnRlcjsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICBoZWlnaHQ6IDRweDsKKyAg
ICBsZWZ0OiAtMXB4OworICAgIHJpZ2h0OiAtMXB4OworfQorCisuc3BlY3RydW0tY29udGFpbmVy
IC5zd2F0Y2ggeworICAgIHdpZHRoOiAyMHB4OworICAgIGhlaWdodDoyMHB4OworICAgIG1hcmdp
bjogMDsKK30K
</data>
<flag name="review"
          id="186556"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>