<?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>75085</bug_id>
          
          <creation_ts>2011-12-22 06:54:55 -0800</creation_ts>
          <short_desc>Web Inspector: TabbedPane should support closeable tabs, hiding tabs into drop down menu.</short_desc>
          <delta_ts>2011-12-23 14:47:35 -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>
          
          <blocked>75093</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Vsevolod Vlasov">vsevik</reporter>
          <assigned_to name="Vsevolod Vlasov">vsevik</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>526231</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-12-22 06:54:55 -0800</bug_when>
    <thetext>TabbedPane should support closeable tabs, hiding tabs into drop down menu.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526247</commentid>
    <comment_count>1</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2011-12-22 07:33:40 -0800</bug_when>
    <thetext>What are the plans for this? Bugs like this should communicate the &quot;why is this needed&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526253</commentid>
    <comment_count>2</comment_count>
      <attachid>120320</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-12-22 07:41:18 -0800</bug_when>
    <thetext>Created attachment 120320
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526261</commentid>
    <comment_count>3</comment_count>
      <attachid>120320</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-12-22 08:00:47 -0800</bug_when>
    <thetext>Comment on attachment 120320
Patch

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

&gt; Source/WebCore/inspector/front-end/TabbedPane.js:37
&gt; +WebInspector.TabbedPane = function(shrinkableTabs, closeableTabs)

Since you don&apos;t use these values in the constructor, prefer setShrinkableTabs and setCloseableTabs (or use the setters notation).

&gt; Source/WebCore/inspector/front-end/inspector.css:1732
&gt; +.tabbed-pane-header .tabbed-pane-header-tab-title {

Unless tabbed pane stops being a View, please place these into a lazily loaded tabbedPane.css.

&gt; LayoutTests/inspector/tabbed-pane-tabs-to-show.html:38
&gt; +    testWidthsAndHistory([50, 50, 60, 60, 70, 70], [0, 1, 2, 3, 4, 5], 370);

Too much copy-paste?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526263</commentid>
    <comment_count>4</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2011-12-22 08:13:42 -0800</bug_when>
    <thetext>Please include the &quot;why&quot;. It helps others working on the project that might not know your/Google&apos;s plans for things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526324</commentid>
    <comment_count>5</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-12-22 09:39:35 -0800</bug_when>
    <thetext>I created a meta bug for some scripts panel improvements that we plan to implement. See https://bugs.webkit.org/show_bug.cgi?id=75093.

We already have (disabled) navigator in scripts panel. Currently its behavior is somewhat inconsistent: 
 - single click on a script opens it, while single click on a folder does nothing. 
 - keyboard navigating results in all the scripts opened.

It would be better to change this behavior to open scripts on double click in tabs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526349</commentid>
    <comment_count>6</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2011-12-22 10:31:53 -0800</bug_when>
    <thetext>Committed r103555: &lt;http://trac.webkit.org/changeset/103555&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120320</attachid>
            <date>2011-12-22 07:41:18 -0800</date>
            <delta_ts>2011-12-22 08:00:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75085-20111222194116.patch</filename>
            <type>text/plain</type>
            <size>37908</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzNTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjVjNDAyMTI2YTU4ODNh
ZGI5MzliNDliMGZmZWZkMTYwNmViNDljMC4uOTRlZDc5YjBlZDAyOTA3MmMzOTE5MjA5ZjUzYWUw
NDU0NmI1ZDczYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDExLTEyLTIyICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFRhYmJlZFBhbmUgc2hvdWxkIHN1cHBvcnQgY2xvc2VhYmxlIHRhYnMsIGhpZGluZyB0YWJz
IGludG8gZHJvcCBkb3duIG1lbnUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03NTA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IGluc3BlY3Rvci90YWJiZWQtcGFuZS10YWJzLXRvLXNob3cuaHRt
bAorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRzTmF2aWdhdG9yLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlNjcmlwdHNOYXZpZ2F0b3IpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvVGFiYmVkUGFuZS5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UYWJi
ZWRQYW5lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UYWJiZWRQYW5lLnByb3RvdHlwZS5hcHBl
bmRUYWIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRhYmJlZFBhbmUucHJvdG90eXBlLmNsb3Nl
VGFiKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UYWJiZWRQYW5lLnByb3RvdHlwZS5zZWxlY3RU
YWIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRhYmJlZFBhbmUucHJvdG90eXBlLm9uUmVzaXpl
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UYWJiZWRQYW5lLnByb3RvdHlwZS5fdXBkYXRlVGFi
RWxlbWVudHMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRhYmJlZFBhbmUucHJvdG90eXBlLl9z
aG93VGFiRWxlbWVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGFiYmVkUGFuZS5wcm90b3R5
cGUuX2hpZGVUYWJFbGVtZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UYWJiZWRQYW5lLnBy
b3RvdHlwZS5fY3JlYXRlRHJvcERvd25CdXR0b24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRh
YmJlZFBhbmUucHJvdG90eXBlLl91cGRhdGVUYWJzRHJvcERvd24pOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlRhYmJlZFBhbmUucHJvdG90eXBlLl9wb3B1bGF0ZURyb3BEb3duRnJvbUluZGV4KToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5UYWJiZWRQYW5lLnByb3RvdHlwZS5fdGFic1NlbGVjdENo
YW5nZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRhYmJlZFBhbmUucHJvdG90eXBlLl9tZWFz
dXJlRHJvcERvd25CdXR0b24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRhYmJlZFBhbmUucHJv
dG90eXBlLl91cGRhdGVXaWR0aHMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRhYmJlZFBhbmUu
cHJvdG90eXBlLl9jYWxjdWxhdGVNYXhXaWR0aC52YXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlRhYmJlZFBhbmUucHJvdG90eXBlLl9jYWxjdWxhdGVNYXhXaWR0aCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVGFiYmVkUGFuZS5wcm90b3R5cGUuX2hpZGVDdXJyZW50VGFiKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5UYWJiZWRQYW5lVGFiKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UYWJi
ZWRQYW5lVGFiLnByb3RvdHlwZS5nZXQgaWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRhYmJl
ZFBhbmVUYWIucHJvdG90eXBlLmdldCB0YWJFbGVtZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5UYWJiZWRQYW5lVGFiLnByb3RvdHlwZS5nZXQgbWVhc3VyZWRXaWR0aCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGFiYmVkUGFuZVRhYi5wcm90b3R5cGUuZ2V0IHdpZHRoKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5UYWJiZWRQYW5lVGFiLnByb3RvdHlwZS5zZXQgd2lkdGgpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRhYmJlZFBhbmVUYWIucHJvdG90eXBlLl9jcmVhdGVUYWJFbGVtZW50
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UYWJiZWRQYW5lVGFiLnByb3RvdHlwZS5fbWVhc3Vy
ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGFiYmVkUGFuZVRhYi5wcm90b3R5cGUuX3RhYlNl
bGVjdGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UYWJiZWRQYW5lVGFiLnByb3RvdHlwZS5f
dGFiQ2xvc2VkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3M6
CisgICAgICAgICgudGFiYmVkLXBhbmUtaGVhZGVyLWNvbnRlbnRzKToKKyAgICAgICAgKC50YWJi
ZWQtcGFuZS1oZWFkZXItdGFicyk6CisgICAgICAgICgudGFiYmVkLXBhbmUtaGVhZGVyLXRhYik6
CisgICAgICAgICgudGFiYmVkLXBhbmUtaGVhZGVyIC50YWJiZWQtcGFuZS1oZWFkZXItdGFiLXRp
dGxlKToKKyAgICAgICAgKC50YWJiZWQtcGFuZS1oZWFkZXItdGFiLWNsb3NlLWJ1dHRvbik6Cisg
ICAgICAgICgudGFiYmVkLXBhbmUtaGVhZGVyLXRhYjpob3ZlciAudGFiYmVkLXBhbmUtaGVhZGVy
LXRhYi1jbG9zZS1idXR0b24pOgorICAgICAgICAoLnRhYmJlZC1wYW5lLWhlYWRlci10YWI6aG92
ZXIgLnRhYmJlZC1wYW5lLWhlYWRlci10YWItY2xvc2UtYnV0dG9uOmhvdmVyKToKKyAgICAgICAg
KC50YWJiZWQtcGFuZS1oZWFkZXItdGFiOmhvdmVyIC50YWJiZWQtcGFuZS1oZWFkZXItdGFiLWNs
b3NlLWJ1dHRvbjphY3RpdmUpOgorICAgICAgICAoLnRhYmJlZC1wYW5lLWhlYWRlci10YWIuc2Vs
ZWN0ZWQgLnRhYmJlZC1wYW5lLWhlYWRlci10YWItY2xvc2UtYnV0dG9uKToKKyAgICAgICAgKC50
YWJiZWQtcGFuZS1oZWFkZXItdGFiLnNlbGVjdGVkIC50YWJiZWQtcGFuZS1oZWFkZXItdGFiLWNs
b3NlLWJ1dHRvbjpob3Zlcik6CisgICAgICAgICgudGFiYmVkLXBhbmUtaGVhZGVyLXRhYi5zZWxl
Y3RlZCAudGFiYmVkLXBhbmUtaGVhZGVyLXRhYi1jbG9zZS1idXR0b246YWN0aXZlKToKKyAgICAg
ICAgKC50YWJiZWQtcGFuZS1oZWFkZXItdGFicy1kcm9wLWRvd24tY29udGFpbmVyKToKKyAgICAg
ICAgKC50YWJiZWQtcGFuZS1oZWFkZXItdGFicy1kcm9wLWRvd24tY29udGFpbmVyLm1lYXN1cmlu
Zyk6CisgICAgICAgICgudGFiYmVkLXBhbmUtaGVhZGVyLXRhYnMtZHJvcC1kb3duKToKKyAgICAg
ICAgKC50YWJiZWQtcGFuZS1oZWFkZXItdGFicy1kcm9wLWRvd246aG92ZXIpOgorICAgICAgICAo
LnRhYmJlZC1wYW5lLWhlYWRlci10YWJzLWRyb3AtZG93bjphY3RpdmUpOgorICAgICAgICAoc2Vs
ZWN0LnRhYmJlZC1wYW5lLWhlYWRlci10YWJzLWRyb3AtZG93bi1zZWxlY3QpOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvc2NyaXB0c1BhbmVsLmNzczoKKyAgICAgICAgKCNzY3JpcHRz
LW5hdmlnYXRvci10YWJiZWQtcGFuZSAudGFiYmVkLXBhbmUtaGVhZGVyLWNvbnRlbnRzKToKKwog
MjAxMS0xMi0yMiAgUGV0ZXIgUnliaW4gIDxwZXRlci5yeWJpbkBnbWFpbC5jb20+CiAKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weTogZ2VuZXJhdGUgYW5v
bnltb3VzIHR5cGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9TY3JpcHRzTmF2aWdhdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9TY3JpcHRzTmF2aWdhdG9yLmpzCmluZGV4IDQxYjBhZmJhYWI5NGNhN2E3MjVhMGZkZDg5
ZjgzYWM2MmY2ODU1NzMuLjE1OGRjOTYzYjQ5MjBmOWFmYmY1N2VkMDk0MWYyZTM3OTNlYTU5ODUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0c05h
dmlnYXRvci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Njcmlw
dHNOYXZpZ2F0b3IuanMKQEAgLTMyLDcgKzMyLDcgQEAKICAqLwogV2ViSW5zcGVjdG9yLlNjcmlw
dHNOYXZpZ2F0b3IgPSBmdW5jdGlvbihwcmVzZW50YXRpb25Nb2RlbCkKIHsKLSAgICBXZWJJbnNw
ZWN0b3IuVGFiYmVkUGFuZS5jYWxsKHRoaXMpOworICAgIFdlYkluc3BlY3Rvci5UYWJiZWRQYW5l
LmNhbGwodGhpcywgdHJ1ZSwgZmFsc2UpOwogCiAgICAgdGhpcy5fcHJlc2VudGF0aW9uTW9kZWwg
PSBwcmVzZW50YXRpb25Nb2RlbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9UYWJiZWRQYW5lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9UYWJiZWRQYW5lLmpzCmluZGV4IDFhNjZiOWI0ODNiYTNjMTdmZmQxYjQ5MmZiMzU2
OTQxMWRjNzkwNDMuLjQwZDNkNmFiNjM0MDc3MGU1OWYwYTY3MWYzMjFiMTMyZDdlZjZkYjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGFiYmVkUGFuZS5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RhYmJlZFBhbmUuanMK
QEAgLTMxLDE3ICszMSwyNSBAQAogLyoqCiAgKiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLlZpZXd9
CiAgKiBAY29uc3RydWN0b3IKKyAqIEBwYXJhbSB7Ym9vbGVhbj19IHNocmlua2FibGVUYWJzCisg
KiBAcGFyYW0ge2Jvb2xlYW49fSBjbG9zZWFibGVUYWJzCiAgKi8KLVdlYkluc3BlY3Rvci5UYWJi
ZWRQYW5lID0gZnVuY3Rpb24oKQorV2ViSW5zcGVjdG9yLlRhYmJlZFBhbmUgPSBmdW5jdGlvbihz
aHJpbmthYmxlVGFicywgY2xvc2VhYmxlVGFicykKIHsKICAgICBXZWJJbnNwZWN0b3IuVmlldy5j
YWxsKHRoaXMpOwogICAgIHRoaXMuZWxlbWVudC5hZGRTdHlsZUNsYXNzKCJ0YWJiZWQtcGFuZSIp
OwogICAgIHRoaXMuX2hlYWRlckVsZW1lbnQgPSB0aGlzLmVsZW1lbnQuY3JlYXRlQ2hpbGQoImRp
diIsICJ0YWJiZWQtcGFuZS1oZWFkZXIiKTsKLSAgICB0aGlzLl90YWJzRWxlbWVudCA9IHRoaXMu
X2hlYWRlckVsZW1lbnQuY3JlYXRlQ2hpbGQoImRpdiIsICJ0YWJiZWQtcGFuZS1oZWFkZXItdGFi
cyIpOworICAgIHRoaXMuX2hlYWRlckNvbnRlbnRzRWxlbWVudCA9IHRoaXMuX2hlYWRlckVsZW1l
bnQuY3JlYXRlQ2hpbGQoImRpdiIsICJ0YWJiZWQtcGFuZS1oZWFkZXItY29udGVudHMiKTsKKyAg
ICB0aGlzLl90YWJzRWxlbWVudCA9IHRoaXMuX2hlYWRlckNvbnRlbnRzRWxlbWVudC5jcmVhdGVD
aGlsZCgiZGl2IiwgInRhYmJlZC1wYW5lLWhlYWRlci10YWJzIik7CiAgICAgdGhpcy5fY29udGVu
dEVsZW1lbnQgPSB0aGlzLmVsZW1lbnQuY3JlYXRlQ2hpbGQoImRpdiIsICJ0YWJiZWQtcGFuZS1j
b250ZW50Iik7Ci0gICAgdGhpcy5fdGFicyA9IHt9OwotICAgIAotICAgIHRoaXMuX3RhYnNUaGF0
TmVlZE1lYXN1cmluZyA9IFtdOworICAgIHRoaXMuX3RhYnMgPSBbXTsKKyAgICB0aGlzLl90YWJz
SGlzdG9yeSA9IFtdOworICAgIHRoaXMuX3RhYnNCeUlkID0ge307CisKKyAgICB0aGlzLl9zaHJp
bmthYmxlVGFicyA9ICEhc2hyaW5rYWJsZVRhYnM7CisgICAgdGhpcy5fY2xvc2VhYmxlVGFicyA9
ICEhY2xvc2VhYmxlVGFiczsKKworICAgIHRoaXMuX2Ryb3BEb3duQnV0dG9uID0gdGhpcy5fY3Jl
YXRlRHJvcERvd25CdXR0b24oKTsKIH0KIAogV2ViSW5zcGVjdG9yLlRhYmJlZFBhbmUucHJvdG90
eXBlID0gewpAQCAtNTIsNzcgKzYwLDE4NCBAQCBXZWJJbnNwZWN0b3IuVGFiYmVkUGFuZS5wcm90
b3R5cGUgPSB7CiAgICAgICovCiAgICAgYXBwZW5kVGFiOiBmdW5jdGlvbihpZCwgdGFiVGl0bGUs
IHZpZXcpCiAgICAgewotICAgICAgICB2YXIgdGFiRWxlbWVudCA9IHRoaXMuX2NyZWF0ZVRhYkVs
ZW1lbnQoaWQsIHRhYlRpdGxlLCBmYWxzZSk7Ci0gICAgICAgIHRhYkVsZW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCB0aGlzLnNlbGVjdFRhYi5iaW5kKHRoaXMsIGlkLCB0cnVlKSwgZmFs
c2UpOwotICAgICAgICB0aGlzLl90YWJzRWxlbWVudC5hcHBlbmRDaGlsZCh0YWJFbGVtZW50KTsK
KyAgICAgICAgdmFyIHRhYiA9IG5ldyBXZWJJbnNwZWN0b3IuVGFiYmVkUGFuZVRhYih0aGlzLCB0
aGlzLl90YWJzRWxlbWVudCwgaWQsIHRhYlRpdGxlLCB0aGlzLl9jbG9zZWFibGVUYWJzLCB2aWV3
KTsKIAotICAgICAgICB2YXIgdGFiID0gbmV3IFdlYkluc3BlY3Rvci5UYWJiZWRQYW5lVGFiKGlk
LCB0YWJUaXRsZSwgdGFiRWxlbWVudCwgdmlldyk7Ci0gICAgICAgIHRoaXMuX3RhYnNbaWRdID0g
dGFiOwotICAgICAgICAKLSAgICAgICAgdGhpcy5fdGFic1RoYXROZWVkTWVhc3VyaW5nLnB1c2go
dGFiKTsKLSAgICAgICAgdGhpcy5fbWF5YmVNZWFzdXJlQW5kVXBkYXRlKCk7CisgICAgICAgIHRo
aXMuX3RhYnMucHVzaCh0YWIpOworICAgICAgICB0aGlzLl90YWJzQnlJZFtpZF0gPSB0YWI7Cisg
ICAgICAgIHRoaXMuX3RhYnNIaXN0b3J5LnB1c2godGFiKTsKKyAgICAgICAgdGhpcy5fdXBkYXRl
VGFiRWxlbWVudHMoKTsKICAgICB9LAogCiAgICAgLyoqCiAgICAgICogQHBhcmFtIHtzdHJpbmd9
IGlkCi0gICAgICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlCi0gICAgICogQHBhcmFtIHtib29sZWFu
fSBtZWFzdXJpbmcKKyAgICAgKiBAcGFyYW0ge2Jvb2xlYW49fSB1c2VyR2VzdHVyZQogICAgICAq
LwotICAgIF9jcmVhdGVUYWJFbGVtZW50OiBmdW5jdGlvbihpZCwgdGl0bGUsIG1lYXN1cmluZykK
KyAgICBjbG9zZVRhYjogZnVuY3Rpb24oaWQsIHVzZXJHZXN0dXJlKQogICAgIHsKLSAgICAgICAg
dmFyIHRhYkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAg
dGFiRWxlbWVudC5hZGRTdHlsZUNsYXNzKCJ0YWJiZWQtcGFuZS1oZWFkZXItdGFiIik7Ci0gICAg
ICAgIGlmIChtZWFzdXJpbmcpCi0gICAgICAgICAgICB0YWJFbGVtZW50LmFkZFN0eWxlQ2xhc3Mo
Im1lYXN1cmluZyIpOworICAgICAgICBpZiAodGhpcy5fY3VycmVudFRhYiAmJiB0aGlzLl9jdXJy
ZW50VGFiLmlkID09PSBpZCkKKyAgICAgICAgICAgIHRoaXMuX2hpZGVDdXJyZW50VGFiKCk7CiAK
LSAgICAgICAgdGFiRWxlbWVudC50ZXh0Q29udGVudCA9IHRpdGxlOworICAgICAgICB2YXIgdGFi
ID0gdGhpcy5fdGFic0J5SWRbaWRdOworICAgICAgICBkZWxldGUgdGhpcy5fdGFic0J5SWRbaWRd
OwogCi0gICAgICAgIHJldHVybiB0YWJFbGVtZW50OworICAgICAgICB0aGlzLl90YWJzSGlzdG9y
eS5zcGxpY2UodGhpcy5fdGFic0hpc3RvcnkuaW5kZXhPZih0YWIpLCAxKTsKKyAgICAgICAgdGhp
cy5fdGFicy5zcGxpY2UodGhpcy5fdGFicy5pbmRleE9mKHRhYiksIDEpOworICAgICAgICBpZiAo
dGFiLnNob3duKQorICAgICAgICAgICAgdGhpcy5faGlkZVRhYkVsZW1lbnQodGFiKTsKKworICAg
ICAgICBpZiAodGhpcy5fdGFic0hpc3RvcnkubGVuZ3RoKQorICAgICAgICAgICAgdGhpcy5zZWxl
Y3RUYWIodGhpcy5fdGFic0hpc3RvcnlbMF0uaWQpOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICB0aGlzLl91cGRhdGVUYWJFbGVtZW50cygpOworCisgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gaWQKKyAgICAgKiBAcGFyYW0g
e2Jvb2xlYW49fSB1c2VyR2VzdHVyZQorICAgICAqLworICAgIHNlbGVjdFRhYjogZnVuY3Rpb24o
aWQsIHVzZXJHZXN0dXJlKQorICAgIHsKKyAgICAgICAgdmFyIHRhYiA9IHRoaXMuX3RhYnNCeUlk
W2lkXTsKKyAgICAgICAgaWYgKCF0YWIpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGlm
ICh0aGlzLl9jdXJyZW50VGFiICYmIHRoaXMuX2N1cnJlbnRUYWIuaWQgPT09IGlkKQorICAgICAg
ICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuX2hpZGVDdXJyZW50VGFiKCk7CisgICAgICAg
IHRoaXMuX3Nob3dUYWIodGFiKTsKKyAgICAgICAgdGhpcy5fY3VycmVudFRhYiA9IHRhYjsKKyAg
ICAgICAgCisgICAgICAgIHRoaXMuX3RhYnNIaXN0b3J5LnNwbGljZSh0aGlzLl90YWJzSGlzdG9y
eS5pbmRleE9mKHRhYiksIDEpOworICAgICAgICB0aGlzLl90YWJzSGlzdG9yeS5zcGxpY2UoMCwg
MCwgdGFiKTsKKyAgICAgICAgCisgICAgICAgIHRoaXMuX3VwZGF0ZVRhYkVsZW1lbnRzKCk7Cisg
ICAgICAgIAorICAgICAgICB2YXIgZXZlbnQgPSB7dGFiSWQ6IGlkLCB2aWV3OiB0YWIudmlldywg
aXNVc2VyR2VzdHVyZTogdXNlckdlc3R1cmV9OworICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRU
b0xpc3RlbmVycygidGFiLXNlbGVjdGVkIiwgZXZlbnQpOworICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICB9LAogCiAgICAgb25SZXNpemU6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIHRoaXMu
X21heWJlTWVhc3VyZUFuZFVwZGF0ZSgpOworICAgICAgICB0aGlzLl91cGRhdGVUYWJFbGVtZW50
cygpOwogICAgIH0sCiAKLSAgICBfbWF5YmVNZWFzdXJlQW5kVXBkYXRlOiBmdW5jdGlvbigpCisg
ICAgX3VwZGF0ZVRhYkVsZW1lbnRzOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBpZiAoIXRo
aXMuaXNTaG93aW5nKCkpCiAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgaWYgKCF0aGlz
Ll9tZWFzdXJlZERyb3BEb3duQnV0dG9uV2lkdGgpCisgICAgICAgICAgICB0aGlzLl9tZWFzdXJl
RHJvcERvd25CdXR0b24oKTsKKworICAgICAgICBpZiAodGhpcy5fc2hyaW5rYWJsZVRhYnMpCisg
ICAgICAgICAgICB0aGlzLl91cGRhdGVXaWR0aHMoKTsKICAgICAgICAgCi0gICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgdGhpcy5fdGFic1RoYXROZWVkTWVhc3VyaW5nLmxlbmd0aDsgKytpKQot
ICAgICAgICAgICAgdGhpcy5fbWVhc3VyZVRhYih0aGlzLl90YWJzVGhhdE5lZWRNZWFzdXJpbmdb
aV0pOwotICAgICAgICB0aGlzLl90YWJzVGhhdE5lZWRNZWFzdXJpbmcgPSBbXTsKLSAgICAgICAg
Ci0gICAgICAgIHRoaXMuX3VwZGF0ZVdpZHRocygpOworICAgICAgICB0aGlzLl91cGRhdGVUYWJz
RHJvcERvd24oKTsKICAgICB9LAogCiAgICAgLyoqCisgICAgICogQHBhcmFtIHtudW1iZXJ9IGlu
ZGV4CiAgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVGFiYmVkUGFuZVRhYn0gdGFiCiAgICAg
ICovCi0gICAgX21lYXN1cmVUYWI6IGZ1bmN0aW9uKHRhYikKKyAgICBfc2hvd1RhYkVsZW1lbnQ6
IGZ1bmN0aW9uKGluZGV4LCB0YWIpCiAgICAgewotICAgICAgICB2YXIgbWVhc3VyZWRUYWJFbGVt
ZW50ID0gdGhpcy5fY3JlYXRlVGFiRWxlbWVudCh0YWIuaWQsIHRhYi50aXRsZSwgdHJ1ZSk7Cisg
ICAgICAgIGlmIChpbmRleCA+PSB0aGlzLl90YWJzRWxlbWVudC5jaGlsZHJlbi5sZW5ndGgpCisg
ICAgICAgICAgICB0aGlzLl90YWJzRWxlbWVudC5hcHBlbmRDaGlsZCh0YWIudGFiRWxlbWVudCk7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRoaXMuX3RhYnNFbGVtZW50Lmluc2VydEJlZm9y
ZSh0YWIudGFiRWxlbWVudCwgdGhpcy5fdGFic0VsZW1lbnQuY2hpbGRyZW5baW5kZXhdKTsKKyAg
ICAgICAgdGFiLnNob3duID0gdHJ1ZTsKKyAgICB9LAogCi0gICAgICAgIHRoaXMuX3RhYnNFbGVt
ZW50LmFwcGVuZENoaWxkKG1lYXN1cmVkVGFiRWxlbWVudCk7Ci0gICAgICAgIHRhYi5tZWFzdXJl
ZFdpZHRoID0gbWVhc3VyZWRUYWJFbGVtZW50Lm9mZnNldFdpZHRoOwotICAgICAgICB0aGlzLl90
YWJzRWxlbWVudC5yZW1vdmVDaGlsZChtZWFzdXJlZFRhYkVsZW1lbnQpOworICAgIC8qKgorICAg
ICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlRhYmJlZFBhbmVUYWJ9IHRhYgorICAgICAqLworICAg
IF9oaWRlVGFiRWxlbWVudDogZnVuY3Rpb24odGFiKQorICAgIHsKKyAgICAgICAgdGhpcy5fdGFi
c0VsZW1lbnQucmVtb3ZlQ2hpbGQodGFiLnRhYkVsZW1lbnQpOworICAgICAgICB0YWIuc2hvd24g
PSBmYWxzZTsKICAgICB9LAotICAgIAorCisgICAgX2NyZWF0ZURyb3BEb3duQnV0dG9uOiBmdW5j
dGlvbigpCisgICAgeworICAgICAgICB2YXIgZHJvcERvd25Db250YWluZXIgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAgZHJvcERvd25Db250YWluZXIuYWRkU3R5bGVD
bGFzcygidGFiYmVkLXBhbmUtaGVhZGVyLXRhYnMtZHJvcC1kb3duLWNvbnRhaW5lciIpOworICAg
ICAgICB2YXIgZHJvcERvd25CdXR0b24gPSBkcm9wRG93bkNvbnRhaW5lci5jcmVhdGVDaGlsZCgi
ZGl2IiwgInRhYmJlZC1wYW5lLWhlYWRlci10YWJzLWRyb3AtZG93biIpOworICAgICAgICBkcm9w
RG93bkJ1dHRvbi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiXHUwMGJiIikp
OworICAgICAgICB0aGlzLl90YWJzU2VsZWN0ID0gZHJvcERvd25CdXR0b24uY3JlYXRlQ2hpbGQo
InNlbGVjdCIsICJ0YWJiZWQtcGFuZS1oZWFkZXItdGFicy1kcm9wLWRvd24tc2VsZWN0Iik7Cisg
ICAgICAgIHRoaXMuX3RhYnNTZWxlY3QuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwgdGhpcy5f
dGFic1NlbGVjdENoYW5nZWQuYmluZCh0aGlzKSwgZmFsc2UpOworICAgICAgICByZXR1cm4gZHJv
cERvd25Db250YWluZXI7CisgICAgfSwKKworICAgIF91cGRhdGVUYWJzRHJvcERvd246IGZ1bmN0
aW9uKCkKKyAgICB7CisgICAgICAgIHZhciB0YWJzVG9TaG93SW5kZXhlcyA9IHRoaXMuX3RhYnNU
b1Nob3dJbmRleGVzKHRoaXMuX3RhYnMsIHRoaXMuX3RhYnNIaXN0b3J5LCB0aGlzLl9oZWFkZXJD
b250ZW50c0VsZW1lbnQub2Zmc2V0V2lkdGgsIHRoaXMuX21lYXN1cmVkRHJvcERvd25CdXR0b25X
aWR0aCk7CisKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl90YWJzLmxlbmd0aDsg
KytpKSB7CisgICAgICAgICAgICBpZiAodGhpcy5fdGFic1tpXS5zaG93biAmJiB0YWJzVG9TaG93
SW5kZXhlcy5pbmRleE9mKGkpID09PSAtMSkKKyAgICAgICAgICAgICAgICB0aGlzLl9oaWRlVGFi
RWxlbWVudCh0aGlzLl90YWJzW2ldKTsKKyAgICAgICAgfQorICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IHRhYnNUb1Nob3dJbmRleGVzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICB2YXIg
dGFiID0gdGhpcy5fdGFic1t0YWJzVG9TaG93SW5kZXhlc1tpXV07CisgICAgICAgICAgICBpZiAo
IXRhYi5zaG93bikKKyAgICAgICAgICAgICAgICB0aGlzLl9zaG93VGFiRWxlbWVudChpLCB0YWIp
OworICAgICAgICB9CisgICAgICAgIAorICAgICAgICB0aGlzLl9wb3B1bGF0ZURyb3BEb3duRnJv
bUluZGV4KCk7CisgICAgfSwKKworICAgIF9wb3B1bGF0ZURyb3BEb3duRnJvbUluZGV4OiBmdW5j
dGlvbigpCisgICAgeworICAgICAgICBpZiAodGhpcy5fZHJvcERvd25CdXR0b24ucGFyZW50RWxl
bWVudCkKKyAgICAgICAgICAgIHRoaXMuX2hlYWRlckNvbnRlbnRzRWxlbWVudC5yZW1vdmVDaGls
ZCh0aGlzLl9kcm9wRG93bkJ1dHRvbik7CisKKyAgICAgICAgdGhpcy5fdGFic1NlbGVjdC5yZW1v
dmVDaGlsZHJlbigpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX3RhYnMubGVu
Z3RoOyArK2kpIHsKKyAgICAgICAgICAgIGlmICh0aGlzLl90YWJzW2ldLnNob3duKQorICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgCisgICAgICAgICAgICB2YXIgb3B0aW9u
ID0gbmV3IE9wdGlvbih0aGlzLl90YWJzW2ldLnRpdGxlKTsKKyAgICAgICAgICAgIG9wdGlvbi50
YWIgPSB0aGlzLl90YWJzW2ldOworICAgICAgICAgICAgdGhpcy5fdGFic1NlbGVjdC5hcHBlbmRD
aGlsZChvcHRpb24pOworICAgICAgICB9CisgICAgICAgIGlmICh0aGlzLl90YWJzU2VsZWN0Lm9w
dGlvbnMubGVuZ3RoKSB7CisgICAgICAgICAgICB0aGlzLl9oZWFkZXJDb250ZW50c0VsZW1lbnQu
YXBwZW5kQ2hpbGQodGhpcy5fZHJvcERvd25CdXR0b24pOworICAgICAgICAgICAgdGhpcy5fdGFi
c1NlbGVjdC5zZWxlY3RlZEluZGV4ID0gLTE7CisgICAgICAgIH0KKyAgICB9LAorCisgICAgX3Rh
YnNTZWxlY3RDaGFuZ2VkOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB2YXIgb3B0aW9ucyA9
IHRoaXMuX3RhYnNTZWxlY3Qub3B0aW9uczsKKyAgICAgICAgdmFyIHNlbGVjdGVkT3B0aW9uID0g
b3B0aW9uc1t0aGlzLl90YWJzU2VsZWN0LnNlbGVjdGVkSW5kZXhdOworICAgICAgICB0aGlzLnNl
bGVjdFRhYihzZWxlY3RlZE9wdGlvbi50YWIuaWQpOworICAgIH0sCisKKyAgICBfbWVhc3VyZURy
b3BEb3duQnV0dG9uOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB0aGlzLl9kcm9wRG93bkJ1
dHRvbi5hZGRTdHlsZUNsYXNzKCJtZWFzdXJpbmciKTsKKyAgICAgICAgdGhpcy5faGVhZGVyQ29u
dGVudHNFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2Ryb3BEb3duQnV0dG9uKTsKKyAgICAgICAg
dGhpcy5fbWVhc3VyZWREcm9wRG93bkJ1dHRvbldpZHRoID0gdGhpcy5fZHJvcERvd25CdXR0b24u
b2Zmc2V0V2lkdGg7CisgICAgICAgIHRoaXMuX2hlYWRlckNvbnRlbnRzRWxlbWVudC5yZW1vdmVD
aGlsZCh0aGlzLl9kcm9wRG93bkJ1dHRvbik7CisgICAgICAgIHRoaXMuX2Ryb3BEb3duQnV0dG9u
LnJlbW92ZVN0eWxlQ2xhc3MoIm1lYXN1cmluZyIpOworICAgIH0sCisKICAgICBfdXBkYXRlV2lk
dGhzOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB2YXIgbWVhc3VyZWRXaWR0aHMgPSBbXTsK
ICAgICAgICAgZm9yICh2YXIgdGFiSWQgaW4gdGhpcy5fdGFicykKICAgICAgICAgICAgIG1lYXN1
cmVkV2lkdGhzLnB1c2godGhpcy5fdGFic1t0YWJJZF0ubWVhc3VyZWRXaWR0aCk7CiAgICAgICAg
IAotICAgICAgICB2YXIgbWF4V2lkdGggPSB0aGlzLl9jYWxjdWxhdGVNYXhXaWR0aChtZWFzdXJl
ZFdpZHRocywgdGhpcy5fdGFic0VsZW1lbnQub2Zmc2V0V2lkdGgpOworICAgICAgICB2YXIgbWF4
V2lkdGggPSB0aGlzLl9jYWxjdWxhdGVNYXhXaWR0aChtZWFzdXJlZFdpZHRocywgdGhpcy5faGVh
ZGVyQ29udGVudHNFbGVtZW50Lm9mZnNldFdpZHRoKTsKKyAgICAgICAgCiAgICAgICAgIGZvciAo
dmFyIHRhYklkIGluIHRoaXMuX3RhYnMpIHsKICAgICAgICAgICAgIHZhciB0YWIgPSB0aGlzLl90
YWJzW3RhYklkXTsKLSAgICAgICAgICAgIHZhciB3aWR0aCA9IE1hdGgubWluKHRhYi5tZWFzdXJl
ZFdpZHRoLCBtYXhXaWR0aCk7Ci0gICAgICAgICAgICB0YWIudGFiRWxlbWVudC5zdHlsZS53aWR0
aCA9IHdpZHRoICsgInB4IjsKKyAgICAgICAgICAgIHRhYi53aWR0aCA9IE1hdGgubWluKHRhYi5t
ZWFzdXJlZFdpZHRoLCBtYXhXaWR0aCk7CiAgICAgICAgIH0KICAgICB9LAotICAgIAorCiAgICAg
LyoqCiAgICAgICogQHBhcmFtIHtBcnJheS48bnVtYmVyPn0gbWVhc3VyZWRXaWR0aHMKICAgICAg
KiBAcGFyYW0ge251bWJlcn0gdG90YWxXaWR0aApAQCAtMTMxLDE2ICsyNDYsMTYgQEAgV2ViSW5z
cGVjdG9yLlRhYmJlZFBhbmUucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgaWYgKCFtZWFz
dXJlZFdpZHRocy5sZW5ndGgpCiAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgCi0gICAg
ICAgIG1lYXN1cmVkV2lkdGhzLnNvcnQoKTsKLSAgICAgICAgCisKKyAgICAgICAgbWVhc3VyZWRX
aWR0aHMuc29ydChmdW5jdGlvbih4LCB5KSB7IHJldHVybiB4IC0geSB9KTsKKwogICAgICAgICB2
YXIgdG90YWxNZWFzdXJlZFdpZHRoID0gMDsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBt
ZWFzdXJlZFdpZHRocy5sZW5ndGg7ICsraSkKICAgICAgICAgICAgIHRvdGFsTWVhc3VyZWRXaWR0
aCArPSBtZWFzdXJlZFdpZHRoc1tpXTsKLSAgICAgICAgCisKICAgICAgICAgaWYgKHRvdGFsV2lk
dGggPj0gdG90YWxNZWFzdXJlZFdpZHRoKQogICAgICAgICAgICAgcmV0dXJuIG1lYXN1cmVkV2lk
dGhzW21lYXN1cmVkV2lkdGhzLmxlbmd0aCAtIDFdOwotICAgICAgICAKKwogICAgICAgICB2YXIg
dG90YWxFeHRyYVdpZHRoID0gMDsKICAgICAgICAgZm9yICh2YXIgaSA9IG1lYXN1cmVkV2lkdGhz
Lmxlbmd0aCAtIDE7IGkgPiAwOyAtLWkpIHsKICAgICAgICAgICAgIHZhciBleHRyYVdpZHRoID0g
bWVhc3VyZWRXaWR0aHNbaV0gLSBtZWFzdXJlZFdpZHRoc1tpIC0gMV07CkBAIC0xNDksMzIgKzI2
NCw0NCBAQCBXZWJJbnNwZWN0b3IuVGFiYmVkUGFuZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAg
ICBpZiAodG90YWxXaWR0aCArIHRvdGFsRXh0cmFXaWR0aCA+PSB0b3RhbE1lYXN1cmVkV2lkdGgp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1lYXN1cmVkV2lkdGhzW2kgLSAxXSArICh0b3RhbFdp
ZHRoICsgdG90YWxFeHRyYVdpZHRoIC0gdG90YWxNZWFzdXJlZFdpZHRoKSAvIChtZWFzdXJlZFdp
ZHRocy5sZW5ndGggLSBpKTsgCiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgcmV0dXJu
IHRvdGFsV2lkdGggLyBtZWFzdXJlZFdpZHRocy5sZW5ndGg7Ci0gICAgfSwgICAgCisgICAgfSwK
IAogICAgIC8qKgotICAgICAqIEBwYXJhbSB7c3RyaW5nfSBpZAotICAgICAqIEBwYXJhbSB7Ym9v
bGVhbj19IHVzZXJHZXN0dXJlCisgICAgICogQHBhcmFtIHtBcnJheS48V2ViSW5zcGVjdG9yLlRh
YmJlZFBhbmVUYWI+fSB0YWJzT3JkZXJlZAorICAgICAqIEBwYXJhbSB7QXJyYXkuPFdlYkluc3Bl
Y3Rvci5UYWJiZWRQYW5lVGFiPn0gdGFic0hpc3RvcnkKKyAgICAgKiBAcGFyYW0ge251bWJlcn0g
dG90YWxXaWR0aAorICAgICAqIEBwYXJhbSB7bnVtYmVyfSBtZWFzdXJlZERyb3BEb3duQnV0dG9u
V2lkdGgKKyAgICAgKiBAcmV0dXJuIHtBcnJheS48bnVtYmVyPn0KICAgICAgKi8KLSAgICBzZWxl
Y3RUYWI6IGZ1bmN0aW9uKGlkLCB1c2VyR2VzdHVyZSkKKyAgICBfdGFic1RvU2hvd0luZGV4ZXM6
IGZ1bmN0aW9uKHRhYnNPcmRlcmVkLCB0YWJzSGlzdG9yeSwgdG90YWxXaWR0aCwgbWVhc3VyZWRE
cm9wRG93bkJ1dHRvbldpZHRoKQogICAgIHsKLSAgICAgICAgaWYgKCEoaWQgaW4gdGhpcy5fdGFi
cykpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHZhciB0YWJzVG9TaG93SW5k
ZXhlcyA9IFtdOwogCi0gICAgICAgIGlmICh0aGlzLl9jdXJyZW50VGFiKSB7Ci0gICAgICAgICAg
ICBpZiAodGhpcy5fY3VycmVudFRhYi5pZCA9PT0gaWQpCi0gICAgICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICAgICAgdGhpcy5faGlkZVRhYih0aGlzLl9jdXJyZW50VGFiKQotICAgICAgICAg
ICAgZGVsZXRlIHRoaXMuX2N1cnJlbnRUYWI7CisgICAgICAgIHZhciB0b3RhbFRhYnNXaWR0aCA9
IDA7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGFic0hpc3RvcnkubGVuZ3RoOyArK2kp
IHsKKyAgICAgICAgICAgIHRvdGFsVGFic1dpZHRoICs9IHRhYnNIaXN0b3J5W2ldLndpZHRoOwor
ICAgICAgICAgICAgdmFyIG1pbmltYWxSZXF1aXJlZFdpZHRoID0gdG90YWxUYWJzV2lkdGg7Cisg
ICAgICAgICAgICBpZiAoaSAhPT0gdGFic0hpc3RvcnkubGVuZ3RoIC0gMSkKKyAgICAgICAgICAg
ICAgICBtaW5pbWFsUmVxdWlyZWRXaWR0aCArPSBtZWFzdXJlZERyb3BEb3duQnV0dG9uV2lkdGg7
CisgICAgICAgICAgICBpZiAobWluaW1hbFJlcXVpcmVkV2lkdGggPiB0b3RhbFdpZHRoKQorICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgdGFic1RvU2hvd0luZGV4ZXMucHVzaCh0
YWJzT3JkZXJlZC5pbmRleE9mKHRhYnNIaXN0b3J5W2ldKSk7CiAgICAgICAgIH0KKyAgICAgICAg
CisgICAgICAgIHRhYnNUb1Nob3dJbmRleGVzLnNvcnQoZnVuY3Rpb24oeCwgeSkgeyByZXR1cm4g
eCAtIHkgfSk7CisgICAgICAgIAorICAgICAgICByZXR1cm4gdGFic1RvU2hvd0luZGV4ZXM7Cisg
ICAgfSwKKyAgICAKKyAgICBfaGlkZUN1cnJlbnRUYWI6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAg
ICAgIGlmICghdGhpcy5fY3VycmVudFRhYikKKyAgICAgICAgICAgIHJldHVybjsKIAotICAgICAg
ICB2YXIgdGFiID0gdGhpcy5fdGFic1tpZF07Ci0gICAgICAgIHRoaXMuX3Nob3dUYWIodGFiKTsK
LSAgICAgICAgdGhpcy5fY3VycmVudFRhYiA9IHRhYjsKLSAgICAgICAgdmFyIGV2ZW50ID0ge3Rh
YklkOiBpZCwgdmlldzogdGFiLnZpZXcsIGlzVXNlckdlc3R1cmU6IHVzZXJHZXN0dXJlfTsKLSAg
ICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoInRhYi1zZWxlY3RlZCIsIGV2ZW50
KTsKLSAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHRoaXMuX2hpZGVUYWIodGhpcy5fY3Vy
cmVudFRhYik7CisgICAgICAgIGRlbGV0ZSB0aGlzLl9jdXJyZW50VGFiOwogICAgIH0sCiAKICAg
ICAvKioKQEAgLTIyMCwxNSArMzQ3LDExNCBAQCBXZWJJbnNwZWN0b3IuVGFiYmVkUGFuZS5wcm90
b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlOwogCiAvKioKICAq
IEBjb25zdHJ1Y3RvcgorICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVGFiYmVkUGFuZX0gdGFiYmVk
UGFuZQorICogQHBhcmFtIHtFbGVtZW50fSBtZWFzdXJlRWxlbWVudAogICogQHBhcmFtIHtzdHJp
bmd9IGlkCiAgKiBAcGFyYW0ge3N0cmluZ30gdGl0bGUKLSAqIEBwYXJhbSB7RWxlbWVudH0gdGFi
RWxlbWVudAorICogQHBhcmFtIHtib29sZWFufSBjbG9zZWFibGUKICAqIEBwYXJhbSB7V2ViSW5z
cGVjdG9yLlZpZXd9IHZpZXcKICAqLwotV2ViSW5zcGVjdG9yLlRhYmJlZFBhbmVUYWIgPSBmdW5j
dGlvbihpZCwgdGl0bGUsIHRhYkVsZW1lbnQsIHZpZXcpCitXZWJJbnNwZWN0b3IuVGFiYmVkUGFu
ZVRhYiA9IGZ1bmN0aW9uKHRhYmJlZFBhbmUsIG1lYXN1cmVFbGVtZW50LCBpZCwgdGl0bGUsIGNs
b3NlYWJsZSwgdmlldykKIHsKKyAgICB0aGlzLl9jbG9zZWFibGUgPSBjbG9zZWFibGU7CisgICAg
dGhpcy5fdGFiYmVkUGFuZSA9IHRhYmJlZFBhbmU7CisgICAgdGhpcy5fbWVhc3VyZUVsZW1lbnQg
PSBtZWFzdXJlRWxlbWVudDsKKyAgICB0aGlzLl9pZCA9IGlkOwogICAgIHRoaXMudGl0bGUgPSB0
aXRsZTsKLSAgICB0aGlzLmlkID0gaWQ7Ci0gICAgdGhpcy50YWJFbGVtZW50ID0gdGFiRWxlbWVu
dDsKICAgICB0aGlzLnZpZXcgPSB2aWV3OworICAgIHRoaXMuc2hvd24gPSBmYWxzZTsKIH0KKwor
V2ViSW5zcGVjdG9yLlRhYmJlZFBhbmVUYWIucHJvdG90eXBlID0geworICAgIC8qKgorICAgICAq
IEB0eXBlIHtzdHJpbmd9CisgICAgICovCisgICAgZ2V0IGlkKCkKKyAgICB7CisgICAgICAgIHJl
dHVybiB0aGlzLl9pZDsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHR5cGUge0VsZW1lbnR9
CisgICAgICovCisgICAgZ2V0IHRhYkVsZW1lbnQoKQorICAgIHsKKyAgICAgICAgaWYgKHR5cGVv
Zih0aGlzLl90YWJFbGVtZW50KSAhPT0gInVuZGVmaW5lZCIpCisgICAgICAgICAgICByZXR1cm4g
dGhpcy5fdGFiRWxlbWVudDsKKyAgICAgICAgCisgICAgICAgIHRoaXMuX2NyZWF0ZVRhYkVsZW1l
bnQoZmFsc2UpOworICAgICAgICByZXR1cm4gdGhpcy5fdGFiRWxlbWVudDsKKyAgICB9LAorCisg
ICAgLyoqCisgICAgICogQHR5cGUge251bWJlcn0KKyAgICAgKi8KKyAgICBnZXQgbWVhc3VyZWRX
aWR0aCgpCisgICAgeworICAgICAgICBpZiAodHlwZW9mKHRoaXMuX21lYXN1cmVkV2lkdGgpICE9
PSAidW5kZWZpbmVkIikKKyAgICAgICAgICAgIHJldHVybiB0aGlzLl9tZWFzdXJlZFdpZHRoOwor
ICAgICAgICAKKyAgICAgICAgdGhpcy5fbWVhc3VyZSgpOworICAgICAgICByZXR1cm4gdGhpcy5f
bWVhc3VyZWRXaWR0aDsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHR5cGUge251bWJlcn0K
KyAgICAgKi8KKyAgICBnZXQgd2lkdGgoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3dp
ZHRoIHx8IHRoaXMubWVhc3VyZWRXaWR0aDsKKyAgICB9LAorCisgICAgc2V0IHdpZHRoKHdpZHRo
KQorICAgIHsKKyAgICAgICAgdGhpcy50YWJFbGVtZW50LnN0eWxlLndpZHRoID0gd2lkdGggKyAi
cHgiOworICAgICAgICB0aGlzLl93aWR0aCA9IHdpZHRoOworICAgIH0sCisgICAgCisgICAgLyoq
CisgICAgICogQHBhcmFtIHtib29sZWFufSBtZWFzdXJpbmcKKyAgICAgKi8KKyAgICBfY3JlYXRl
VGFiRWxlbWVudDogZnVuY3Rpb24obWVhc3VyaW5nKQorICAgIHsKKyAgICAgICAgdmFyIHRhYkVs
ZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAgdGFiRWxlbWVu
dC5hZGRTdHlsZUNsYXNzKCJ0YWJiZWQtcGFuZS1oZWFkZXItdGFiIik7CisgICAgICAgIAorICAg
ICAgICB2YXIgdGFiVGl0bGVFbGVtZW50ID0gdGFiRWxlbWVudC5jcmVhdGVDaGlsZCgic3BhbiIs
ICJ0YWJiZWQtcGFuZS1oZWFkZXItdGFiLXRpdGxlIik7CisgICAgICAgIHRhYlRpdGxlRWxlbWVu
dC50ZXh0Q29udGVudCA9IHRoaXMudGl0bGU7CisKKyAgICAgICAgaWYgKHRoaXMuX2Nsb3NlYWJs
ZSkgeworICAgICAgICAgICAgdmFyIGNsb3NlQnV0dG9uU3BhbiA9IHRhYkVsZW1lbnQuY3JlYXRl
Q2hpbGQoInNwYW4iLCAidGFiYmVkLXBhbmUtaGVhZGVyLXRhYi1jbG9zZS1idXR0b24iKTsKKyAg
ICAgICAgICAgIGNsb3NlQnV0dG9uU3Bhbi50ZXh0Q29udGVudCA9ICJcdTAwRDciOyAvLyAnTVVM
VElQTElDQVRJT04gU0lHTicgCisgICAgICAgIH0KKworICAgICAgICBpZiAobWVhc3VyaW5nKQor
ICAgICAgICAgICAgdGFiRWxlbWVudC5hZGRTdHlsZUNsYXNzKCJtZWFzdXJpbmciKTsKKyAgICAg
ICAgZWxzZSB7CisgICAgICAgICAgICB0aGlzLl90YWJFbGVtZW50ID0gdGFiRWxlbWVudDsKKyAg
ICAgICAgICAgIHRhYkVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl90YWJT
ZWxlY3RlZC5iaW5kKHRoaXMpLCBmYWxzZSk7CisgICAgICAgICAgICBpZiAodGhpcy5fY2xvc2Vh
YmxlKQorICAgICAgICAgICAgICAgIGNsb3NlQnV0dG9uU3Bhbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIHRoaXMuX3RhYkNsb3NlZC5iaW5kKHRoaXMpLCBmYWxzZSk7CisgICAgICAgIH0KKyAg
ICAgICAgCisgICAgICAgIHJldHVybiB0YWJFbGVtZW50OworICAgIH0sCisKKyAgICBfbWVhc3Vy
ZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdmFyIG1lYXN1cmluZ1RhYkVsZW1lbnQgPSB0
aGlzLl9jcmVhdGVUYWJFbGVtZW50KHRydWUpOworICAgICAgICB0aGlzLl9tZWFzdXJlRWxlbWVu
dC5hcHBlbmRDaGlsZChtZWFzdXJpbmdUYWJFbGVtZW50KTsKKyAgICAgICAgdGhpcy5fbWVhc3Vy
ZWRXaWR0aCA9IG1lYXN1cmluZ1RhYkVsZW1lbnQub2Zmc2V0V2lkdGg7CisgICAgICAgIHRoaXMu
X21lYXN1cmVFbGVtZW50LnJlbW92ZUNoaWxkKG1lYXN1cmluZ1RhYkVsZW1lbnQpOworICAgIH0s
CisKKyAgICBfdGFiU2VsZWN0ZWQ6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuX3Rh
YmJlZFBhbmUuc2VsZWN0VGFiKHRoaXMuaWQsIHRydWUpOyAgICAgICAgCisgICAgfSwKKworICAg
IF90YWJDbG9zZWQ6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuX3RhYmJlZFBhbmUu
Y2xvc2VUYWIodGhpcy5pZCwgdHJ1ZSk7ICAgICAgICAKKyAgICB9Cit9ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9pbnNwZWN0b3IuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuY3NzCmluZGV4IGU2MzdhOWUzMjYwMDg1NDlkZmZmNWY4ODVhMDdmZDVmNTllYjcx
OWQuLjlmZTdlYTA1OTRhNjllYWZkZDc2MGFkMGQxMTYyZTViMTQ0ZTQ2YWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKQEAgLTE2OTIs
MTIgKzE2OTIsMTYgQEAgYnV0dG9uLmVkaXQtc291cmNlLXN0YXR1cy1iYXItaXRlbS50b2dnbGVk
LW9uIC5nbHlwaCB7CiAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYigxNjMsIDE2Mywg
MTYzKTsKIH0KIAotLnRhYmJlZC1wYW5lLWhlYWRlci10YWJzIHsKKy50YWJiZWQtcGFuZS1oZWFk
ZXItY29udGVudHMgewogICAgIG1hcmdpbjogMCAxMHB4OwogfQogCisudGFiYmVkLXBhbmUtaGVh
ZGVyLXRhYnMgeworICAgIGZsb2F0OiBsZWZ0OworfQorCiAudGFiYmVkLXBhbmUtaGVhZGVyLXRh
YiB7Ci0gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIGZsb2F0OiBsZWZ0OwogICAgIG1h
cmdpbi10b3A6IDJweDsKICAgICBmb250LXNpemU6IDExcHg7CiAgICAgZm9udC13ZWlnaHQ6IGJv
bGQ7CkBAIC0xNzA1LDEwICsxNzA5LDExIEBAIGJ1dHRvbi5lZGl0LXNvdXJjZS1zdGF0dXMtYmFy
LWl0ZW0udG9nZ2xlZC1vbiAuZ2x5cGggewogICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Owog
ICAgIHRleHQtc2hhZG93OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgMCAxcHggMDsKICAgICB2
ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwotICAgIHBhZGRpbmc6IDNweCA3cHggMnB4OworICAgIHBh
ZGRpbmc6IDNweCA0cHggMnB4IDRweDsKICAgICBoZWlnaHQ6IDIxcHg7CiAgICAgYm9yZGVyOiAx
cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKKyAgICAKICAg
ICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAg
IG92ZXJmbG93OiBoaWRkZW47CkBAIC0xNzI0LDYgKzE3MjksODIgQEAgYnV0dG9uLmVkaXQtc291
cmNlLXN0YXR1cy1iYXItaXRlbS50b2dnbGVkLW9uIC5nbHlwaCB7CiAgICAgYm9yZGVyLWJvdHRv
bTogbm9uZTsKIH0KIAorLnRhYmJlZC1wYW5lLWhlYWRlciAudGFiYmVkLXBhbmUtaGVhZGVyLXRh
Yi10aXRsZSB7CisgICAgdmVydGljYWwtYWxpZ246IHRvcDsKK30KKworLnRhYmJlZC1wYW5lLWhl
YWRlci10YWItY2xvc2UtYnV0dG9uIHsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgYm90
dG9tOiAxcHg7CisgICAgb3BhY2l0eTogMDsKKyAgICBwYWRkaW5nLWxlZnQ6IDNweDsKKyAgICBm
b250LXNpemU6IDE0cHg7CisgICAgY29sb3I6IHJnYig4MCwgODAsIDgwKTsKK30KKworLnRhYmJl
ZC1wYW5lLWhlYWRlci10YWI6aG92ZXIgLnRhYmJlZC1wYW5lLWhlYWRlci10YWItY2xvc2UtYnV0
dG9uIHsKKyAgICBvcGFjaXR5OiAwLjU7Cit9CisKKy50YWJiZWQtcGFuZS1oZWFkZXItdGFiOmhv
dmVyIC50YWJiZWQtcGFuZS1oZWFkZXItdGFiLWNsb3NlLWJ1dHRvbjpob3ZlciB7CisgICAgb3Bh
Y2l0eTogMS4wOworfQorCisudGFiYmVkLXBhbmUtaGVhZGVyLXRhYjpob3ZlciAudGFiYmVkLXBh
bmUtaGVhZGVyLXRhYi1jbG9zZS1idXR0b246YWN0aXZlIHsKKyAgICBvcGFjaXR5OiAwLjc7Cit9
CisKKy50YWJiZWQtcGFuZS1oZWFkZXItdGFiLnNlbGVjdGVkIC50YWJiZWQtcGFuZS1oZWFkZXIt
dGFiLWNsb3NlLWJ1dHRvbiB7CisgICAgb3BhY2l0eTogMC41OworfQorCisudGFiYmVkLXBhbmUt
aGVhZGVyLXRhYi5zZWxlY3RlZCAudGFiYmVkLXBhbmUtaGVhZGVyLXRhYi1jbG9zZS1idXR0b246
aG92ZXIgeworICAgIG9wYWNpdHk6IDEuMDsKK30KKworLnRhYmJlZC1wYW5lLWhlYWRlci10YWIu
c2VsZWN0ZWQgLnRhYmJlZC1wYW5lLWhlYWRlci10YWItY2xvc2UtYnV0dG9uOmFjdGl2ZSB7Cisg
ICAgb3BhY2l0eTogMC43OworfQorCisudGFiYmVkLXBhbmUtaGVhZGVyLXRhYnMtZHJvcC1kb3du
LWNvbnRhaW5lciB7CisgICAgZmxvYXQ6IGxlZnQ7CisgICAgcG9zaXRpb246IHJlbGF0aXZlOwor
ICAgIGZvbnQtc2l6ZTogMTZweDsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOworICAgIHRv
cDogM3B4OworICAgIHBhZGRpbmctbGVmdDogM3B4OworfQorCisudGFiYmVkLXBhbmUtaGVhZGVy
LXRhYnMtZHJvcC1kb3duLWNvbnRhaW5lci5tZWFzdXJpbmcgeworICAgIHZpc2liaWxpdHk6IGhp
ZGRlbjsKK30KKworLnRhYmJlZC1wYW5lLWhlYWRlci10YWJzLWRyb3AtZG93biB7CisgICAgcG9z
aXRpb246IHJlbGF0aXZlOworICAgIG9wYWNpdHk6IDAuNzsKKyAgICBjb2xvcjogcmdiKDMwLCAz
MCwgMzApOworfQorCisudGFiYmVkLXBhbmUtaGVhZGVyLXRhYnMtZHJvcC1kb3duOmhvdmVyIHsK
KyAgICBvcGFjaXR5OiAxLjA7Cit9CisKKy50YWJiZWQtcGFuZS1oZWFkZXItdGFicy1kcm9wLWRv
d246YWN0aXZlIHsKKyAgICBvcGFjaXR5OiAwLjg7Cit9CisKK3NlbGVjdC50YWJiZWQtcGFuZS1o
ZWFkZXItdGFicy1kcm9wLWRvd24tc2VsZWN0IHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7Cisg
ICAgdG9wOiAwcHg7CisgICAgcmlnaHQ6IDBweDsKKyAgICBib3R0b206IDBweDsKKyAgICBsZWZ0
OiAwcHg7CisgICAgb3BhY2l0eTogMDsKKyAgICBib3JkZXI6IG5vbmU7CisgICAgbWFyZ2luOiAw
OworICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKK30KKwogLnNjb3BlLWJhciB7CiAgICAg
aGVpZ2h0OiAyM3B4OwogICAgIHBhZGRpbmc6IDJweCAxMHB4IDA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3NjcmlwdHNQYW5lbC5jc3MgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL3NjcmlwdHNQYW5lbC5jc3MKaW5kZXggZGYzZjli
ZWM4OTcyMzhmZTY1YzMxNzc4YjQwN2Q4NjAwMDQwYmE5ZS4uNGIyZDk2ZjE5YjhjMDhiNjM0ZDQ2
OGNhYjdjYzA4YTllZmMyOTA1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9zY3JpcHRzUGFuZWwuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvc2NyaXB0c1BhbmVsLmNzcwpAQCAtMjAyLDcgKzIwMiw3IEBACiAgICAgYmFj
a2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAlIDAlLCAwJSAxMDAlLCBm
cm9tKCNGNUY1RjUpLCB0bygjRTVFNUU1KSk7CiB9CiAKLSNzY3JpcHRzLW5hdmlnYXRvci10YWJi
ZWQtcGFuZSAudGFiYmVkLXBhbmUtaGVhZGVyLXRhYnMgeworI3NjcmlwdHMtbmF2aWdhdG9yLXRh
YmJlZC1wYW5lIC50YWJiZWQtcGFuZS1oZWFkZXItY29udGVudHMgewogICAgIG1hcmdpbi1sZWZ0
OiAxcHg7CiAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4OwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDFjMDA1NDlkYThmYTdh
OThkN2I4NWE0ODNhNTg5OWE4ZmJhN2Y1YzAuLjJiMTliNmM2NDE5ODJmN2NkMzc4ZTdkNjk1YTQ0
MjIyNDc2ZDEzOTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0xMi0yMiAgVnNldm9sb2Qg
Vmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBU
YWJiZWRQYW5lIHNob3VsZCBzdXBwb3J0IGNsb3NlYWJsZSB0YWJzLCBoaWRpbmcgdGFicyBpbnRv
IGRyb3AgZG93biBtZW51LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzUwODUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGluc3BlY3Rvci90YWJiZWQtcGFuZS10YWJzLXRvLXNob3ctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvdGFiYmVkLXBhbmUtdGFicy10by1zaG93Lmh0
bWw6IEFkZGVkLgorCiAyMDExLTEyLTIyICBUYWlqdSBUU1VJS0kgIDx0emlrQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2ZpbGVzeXN0ZW0t
aWZyYW1lLWZyb20tcmVtb3RlIGZhaWxlZCBzaWxlbnRseS4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2luc3BlY3Rvci90YWJiZWQtcGFuZS10YWJzLXRvLXNob3ctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3RhYmJlZC1wYW5lLXRhYnMtdG8tc2hvdy1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNWFmNjM4ZmQ0ZDgzZTVlZjYwNzVhYTUzZjE2YmFhYWY1ZmZlODVjZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90YWJiZWQtcGFuZS10YWJzLXRv
LXNob3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjA3IEBACitUZXN0cyB0YWJiZWQgcGFuZSB0
YWJzIHRvIHNob3cgY2FsY3VsYXRpb24uCisKK0J1ZyA3NTA4NQorUnVubmluZyB0YWJzIHRvIHNo
b3cgdGVzdDoKKyAgICB3aWR0aHMgPSBbNTAsNTAsNjAsNjAsNzAsNzBdCisgICAgdGFic0hpc3Rv
cnkgPSBbdGFiIDAsdGFiIDEsdGFiIDIsdGFiIDMsdGFiIDQsdGFiIDVdCisgICAgdG90YWxXaWR0
aCA9IDM3MCwgZHJvcERvd25CdXR0b25NZWFzdXJlZFdpZHRoID0gMTAKKyAgICB0YWJzVG9TaG93
SW5kZXhlcyA9IFswLDEsMiwzLDQsNV0KK1J1bm5pbmcgdGFicyB0byBzaG93IHRlc3Q6CisgICAg
d2lkdGhzID0gWzUwLDUwLDYwLDYwLDcwLDcwXQorICAgIHRhYnNIaXN0b3J5ID0gW3RhYiAwLHRh
YiAxLHRhYiAyLHRhYiAzLHRhYiA0LHRhYiA1XQorICAgIHRvdGFsV2lkdGggPSAzNjAsIGRyb3BE
b3duQnV0dG9uTWVhc3VyZWRXaWR0aCA9IDEwCisgICAgdGFic1RvU2hvd0luZGV4ZXMgPSBbMCwx
LDIsMyw0LDVdCitSdW5uaW5nIHRhYnMgdG8gc2hvdyB0ZXN0OgorICAgIHdpZHRocyA9IFs1MCw1
MCw2MCw2MCw3MCw3MF0KKyAgICB0YWJzSGlzdG9yeSA9IFt0YWIgMCx0YWIgMSx0YWIgMix0YWIg
Myx0YWIgNCx0YWIgNV0KKyAgICB0b3RhbFdpZHRoID0gMzUwLCBkcm9wRG93bkJ1dHRvbk1lYXN1
cmVkV2lkdGggPSAxMAorICAgIHRhYnNUb1Nob3dJbmRleGVzID0gWzAsMSwyLDMsNF0KK1J1bm5p
bmcgdGFicyB0byBzaG93IHRlc3Q6CisgICAgd2lkdGhzID0gWzUwLDUwLDYwLDYwLDcwLDcwXQor
ICAgIHRhYnNIaXN0b3J5ID0gW3RhYiAwLHRhYiAxLHRhYiAyLHRhYiAzLHRhYiA0LHRhYiA1XQor
ICAgIHRvdGFsV2lkdGggPSAzMDAsIGRyb3BEb3duQnV0dG9uTWVhc3VyZWRXaWR0aCA9IDEwCisg
ICAgdGFic1RvU2hvd0luZGV4ZXMgPSBbMCwxLDIsMyw0XQorUnVubmluZyB0YWJzIHRvIHNob3cg
dGVzdDoKKyAgICB3aWR0aHMgPSBbNTAsNTAsNjAsNjAsNzAsNzBdCisgICAgdGFic0hpc3Rvcnkg
PSBbdGFiIDAsdGFiIDEsdGFiIDIsdGFiIDMsdGFiIDQsdGFiIDVdCisgICAgdG90YWxXaWR0aCA9
IDI1MCwgZHJvcERvd25CdXR0b25NZWFzdXJlZFdpZHRoID0gMTAKKyAgICB0YWJzVG9TaG93SW5k
ZXhlcyA9IFswLDEsMiwzXQorUnVubmluZyB0YWJzIHRvIHNob3cgdGVzdDoKKyAgICB3aWR0aHMg
PSBbNTAsNTAsNjAsNjAsNzAsNzBdCisgICAgdGFic0hpc3RvcnkgPSBbdGFiIDAsdGFiIDEsdGFi
IDIsdGFiIDMsdGFiIDQsdGFiIDVdCisgICAgdG90YWxXaWR0aCA9IDIwMCwgZHJvcERvd25CdXR0
b25NZWFzdXJlZFdpZHRoID0gMTAKKyAgICB0YWJzVG9TaG93SW5kZXhlcyA9IFswLDEsMl0KK1J1
bm5pbmcgdGFicyB0byBzaG93IHRlc3Q6CisgICAgd2lkdGhzID0gWzUwLDUwLDYwLDYwLDcwLDcw
XQorICAgIHRhYnNIaXN0b3J5ID0gW3RhYiAwLHRhYiAxLHRhYiAyLHRhYiAzLHRhYiA0LHRhYiA1
XQorICAgIHRvdGFsV2lkdGggPSAxNTAsIGRyb3BEb3duQnV0dG9uTWVhc3VyZWRXaWR0aCA9IDEw
CisgICAgdGFic1RvU2hvd0luZGV4ZXMgPSBbMCwxXQorUnVubmluZyB0YWJzIHRvIHNob3cgdGVz
dDoKKyAgICB3aWR0aHMgPSBbNTAsNTAsNjAsNjAsNzAsNzBdCisgICAgdGFic0hpc3RvcnkgPSBb
dGFiIDAsdGFiIDEsdGFiIDIsdGFiIDMsdGFiIDQsdGFiIDVdCisgICAgdG90YWxXaWR0aCA9IDEw
MCwgZHJvcERvd25CdXR0b25NZWFzdXJlZFdpZHRoID0gMTAKKyAgICB0YWJzVG9TaG93SW5kZXhl
cyA9IFswXQorUnVubmluZyB0YWJzIHRvIHNob3cgdGVzdDoKKyAgICB3aWR0aHMgPSBbNTAsNTAs
NjAsNjAsNzAsNzBdCisgICAgdGFic0hpc3RvcnkgPSBbdGFiIDAsdGFiIDEsdGFiIDIsdGFiIDMs
dGFiIDQsdGFiIDVdCisgICAgdG90YWxXaWR0aCA9IDYwLCBkcm9wRG93bkJ1dHRvbk1lYXN1cmVk
V2lkdGggPSAxMAorICAgIHRhYnNUb1Nob3dJbmRleGVzID0gWzBdCitSdW5uaW5nIHRhYnMgdG8g
c2hvdyB0ZXN0OgorICAgIHdpZHRocyA9IFs1MCw1MCw2MCw2MCw3MCw3MF0KKyAgICB0YWJzSGlz
dG9yeSA9IFt0YWIgMCx0YWIgMSx0YWIgMix0YWIgMyx0YWIgNCx0YWIgNV0KKyAgICB0b3RhbFdp
ZHRoID0gNTAsIGRyb3BEb3duQnV0dG9uTWVhc3VyZWRXaWR0aCA9IDEwCisgICAgdGFic1RvU2hv
d0luZGV4ZXMgPSBbXQorCitSdW5uaW5nIHRhYnMgdG8gc2hvdyB0ZXN0OgorICAgIHdpZHRocyA9
IFs1MCw1MCw2MCw2MCw3MCw3MF0KKyAgICB0YWJzSGlzdG9yeSA9IFt0YWIgNSx0YWIgNCx0YWIg
Myx0YWIgMix0YWIgMSx0YWIgMF0KKyAgICB0b3RhbFdpZHRoID0gMzcwLCBkcm9wRG93bkJ1dHRv
bk1lYXN1cmVkV2lkdGggPSAxMAorICAgIHRhYnNUb1Nob3dJbmRleGVzID0gWzAsMSwyLDMsNCw1
XQorUnVubmluZyB0YWJzIHRvIHNob3cgdGVzdDoKKyAgICB3aWR0aHMgPSBbNTAsNTAsNjAsNjAs
NzAsNzBdCisgICAgdGFic0hpc3RvcnkgPSBbdGFiIDUsdGFiIDQsdGFiIDMsdGFiIDIsdGFiIDEs
dGFiIDBdCisgICAgdG90YWxXaWR0aCA9IDM2MCwgZHJvcERvd25CdXR0b25NZWFzdXJlZFdpZHRo
ID0gMTAKKyAgICB0YWJzVG9TaG93SW5kZXhlcyA9IFswLDEsMiwzLDQsNV0KK1J1bm5pbmcgdGFi
cyB0byBzaG93IHRlc3Q6CisgICAgd2lkdGhzID0gWzUwLDUwLDYwLDYwLDcwLDcwXQorICAgIHRh
YnNIaXN0b3J5ID0gW3RhYiA1LHRhYiA0LHRhYiAzLHRhYiAyLHRhYiAxLHRhYiAwXQorICAgIHRv
dGFsV2lkdGggPSAzNTAsIGRyb3BEb3duQnV0dG9uTWVhc3VyZWRXaWR0aCA9IDEwCisgICAgdGFi
c1RvU2hvd0luZGV4ZXMgPSBbMSwyLDMsNCw1XQorUnVubmluZyB0YWJzIHRvIHNob3cgdGVzdDoK
KyAgICB3aWR0aHMgPSBbNTAsNTAsNjAsNjAsNzAsNzBdCisgICAgdGFic0hpc3RvcnkgPSBbdGFi
IDUsdGFiIDQsdGFiIDMsdGFiIDIsdGFiIDEsdGFiIDBdCisgICAgdG90YWxXaWR0aCA9IDMwMCwg
ZHJvcERvd25CdXR0b25NZWFzdXJlZFdpZHRoID0gMTAKKyAgICB0YWJzVG9TaG93SW5kZXhlcyA9
IFsyLDMsNCw1XQorUnVubmluZyB0YWJzIHRvIHNob3cgdGVzdDoKKyAgICB3aWR0aHMgPSBbNTAs
NTAsNjAsNjAsNzAsNzBdCisgICAgdGFic0hpc3RvcnkgPSBbdGFiIDUsdGFiIDQsdGFiIDMsdGFi
IDIsdGFiIDEsdGFiIDBdCisgICAgdG90YWxXaWR0aCA9IDI1MCwgZHJvcERvd25CdXR0b25NZWFz
dXJlZFdpZHRoID0gMTAKKyAgICB0YWJzVG9TaG93SW5kZXhlcyA9IFszLDQsNV0KK1J1bm5pbmcg
dGFicyB0byBzaG93IHRlc3Q6CisgICAgd2lkdGhzID0gWzUwLDUwLDYwLDYwLDcwLDcwXQorICAg
IHRhYnNIaXN0b3J5ID0gW3RhYiA1LHRhYiA0LHRhYiAzLHRhYiAyLHRhYiAxLHRhYiAwXQorICAg
IHRvdGFsV2lkdGggPSAyMDAsIGRyb3BEb3duQnV0dG9uTWVhc3VyZWRXaWR0aCA9IDEwCisgICAg
dGFic1RvU2hvd0luZGV4ZXMgPSBbNCw1XQorUnVubmluZyB0YWJzIHRvIHNob3cgdGVzdDoKKyAg
ICB3aWR0aHMgPSBbNTAsNTAsNjAsNjAsNzAsNzBdCisgICAgdGFic0hpc3RvcnkgPSBbdGFiIDUs
dGFiIDQsdGFiIDMsdGFiIDIsdGFiIDEsdGFiIDBdCisgICAgdG90YWxXaWR0aCA9IDE1MCwgZHJv
cERvd25CdXR0b25NZWFzdXJlZFdpZHRoID0gMTAKKyAgICB0YWJzVG9TaG93SW5kZXhlcyA9IFs0
LDVdCitSdW5uaW5nIHRhYnMgdG8gc2hvdyB0ZXN0OgorICAgIHdpZHRocyA9IFs1MCw1MCw2MCw2
MCw3MCw3MF0KKyAgICB0YWJzSGlzdG9yeSA9IFt0YWIgNSx0YWIgNCx0YWIgMyx0YWIgMix0YWIg
MSx0YWIgMF0KKyAgICB0b3RhbFdpZHRoID0gMTAwLCBkcm9wRG93bkJ1dHRvbk1lYXN1cmVkV2lk
dGggPSAxMAorICAgIHRhYnNUb1Nob3dJbmRleGVzID0gWzVdCitSdW5uaW5nIHRhYnMgdG8gc2hv
dyB0ZXN0OgorICAgIHdpZHRocyA9IFs1MCw1MCw2MCw2MCw3MCw3MF0KKyAgICB0YWJzSGlzdG9y
eSA9IFt0YWIgNSx0YWIgNCx0YWIgMyx0YWIgMix0YWIgMSx0YWIgMF0KKyAgICB0b3RhbFdpZHRo
ID0gNjAsIGRyb3BEb3duQnV0dG9uTWVhc3VyZWRXaWR0aCA9IDEwCisgICAgdGFic1RvU2hvd0lu
ZGV4ZXMgPSBbXQorUnVubmluZyB0YWJzIHRvIHNob3cgdGVzdDoKKyAgICB3aWR0aHMgPSBbNTAs
NTAsNjAsNjAsNzAsNzBdCisgICAgdGFic0hpc3RvcnkgPSBbdGFiIDUsdGFiIDQsdGFiIDMsdGFi
IDIsdGFiIDEsdGFiIDBdCisgICAgdG90YWxXaWR0aCA9IDUwLCBkcm9wRG93bkJ1dHRvbk1lYXN1
cmVkV2lkdGggPSAxMAorICAgIHRhYnNUb1Nob3dJbmRleGVzID0gW10KKworUnVubmluZyB0YWJz
IHRvIHNob3cgdGVzdDoKKyAgICB3aWR0aHMgPSBbNTAsNTAsNjAsNjAsNzAsNzBdCisgICAgdGFi
c0hpc3RvcnkgPSBbdGFiIDAsdGFiIDIsdGFiIDQsdGFiIDEsdGFiIDMsdGFiIDVdCisgICAgdG90
YWxXaWR0aCA9IDM3MCwgZHJvcERvd25CdXR0b25NZWFzdXJlZFdpZHRoID0gMTAKKyAgICB0YWJz
VG9TaG93SW5kZXhlcyA9IFswLDEsMiwzLDQsNV0KK1J1bm5pbmcgdGFicyB0byBzaG93IHRlc3Q6
CisgICAgd2lkdGhzID0gWzUwLDUwLDYwLDYwLDcwLDcwXQorICAgIHRhYnNIaXN0b3J5ID0gW3Rh
YiAwLHRhYiAyLHRhYiA0LHRhYiAxLHRhYiAzLHRhYiA1XQorICAgIHRvdGFsV2lkdGggPSAzNjAs
IGRyb3BEb3duQnV0dG9uTWVhc3VyZWRXaWR0aCA9IDEwCisgICAgdGFic1RvU2hvd0luZGV4ZXMg
PSBbMCwxLDIsMyw0LDVdCitSdW5uaW5nIHRhYnMgdG8gc2hvdyB0ZXN0OgorICAgIHdpZHRocyA9
IFs1MCw1MCw2MCw2MCw3MCw3MF0KKyAgICB0YWJzSGlzdG9yeSA9IFt0YWIgMCx0YWIgMix0YWIg
NCx0YWIgMSx0YWIgMyx0YWIgNV0KKyAgICB0b3RhbFdpZHRoID0gMzUwLCBkcm9wRG93bkJ1dHRv
bk1lYXN1cmVkV2lkdGggPSAxMAorICAgIHRhYnNUb1Nob3dJbmRleGVzID0gWzAsMSwyLDMsNF0K
K1J1bm5pbmcgdGFicyB0byBzaG93IHRlc3Q6CisgICAgd2lkdGhzID0gWzUwLDUwLDYwLDYwLDcw
LDcwXQorICAgIHRhYnNIaXN0b3J5ID0gW3RhYiAwLHRhYiAyLHRhYiA0LHRhYiAxLHRhYiAzLHRh
YiA1XQorICAgIHRvdGFsV2lkdGggPSAzMDAsIGRyb3BEb3duQnV0dG9uTWVhc3VyZWRXaWR0aCA9
IDEwCisgICAgdGFic1RvU2hvd0luZGV4ZXMgPSBbMCwxLDIsMyw0XQorUnVubmluZyB0YWJzIHRv
IHNob3cgdGVzdDoKKyAgICB3aWR0aHMgPSBbNTAsNTAsNjAsNjAsNzAsNzBdCisgICAgdGFic0hp
c3RvcnkgPSBbdGFiIDAsdGFiIDIsdGFiIDQsdGFiIDEsdGFiIDMsdGFiIDVdCisgICAgdG90YWxX
aWR0aCA9IDI1MCwgZHJvcERvd25CdXR0b25NZWFzdXJlZFdpZHRoID0gMTAKKyAgICB0YWJzVG9T
aG93SW5kZXhlcyA9IFswLDEsMiw0XQorUnVubmluZyB0YWJzIHRvIHNob3cgdGVzdDoKKyAgICB3
aWR0aHMgPSBbNTAsNTAsNjAsNjAsNzAsNzBdCisgICAgdGFic0hpc3RvcnkgPSBbdGFiIDAsdGFi
IDIsdGFiIDQsdGFiIDEsdGFiIDMsdGFiIDVdCisgICAgdG90YWxXaWR0aCA9IDIwMCwgZHJvcERv
d25CdXR0b25NZWFzdXJlZFdpZHRoID0gMTAKKyAgICB0YWJzVG9TaG93SW5kZXhlcyA9IFswLDIs
NF0KK1J1bm5pbmcgdGFicyB0byBzaG93IHRlc3Q6CisgICAgd2lkdGhzID0gWzUwLDUwLDYwLDYw
LDcwLDcwXQorICAgIHRhYnNIaXN0b3J5ID0gW3RhYiAwLHRhYiAyLHRhYiA0LHRhYiAxLHRhYiAz
LHRhYiA1XQorICAgIHRvdGFsV2lkdGggPSAxNTAsIGRyb3BEb3duQnV0dG9uTWVhc3VyZWRXaWR0
aCA9IDEwCisgICAgdGFic1RvU2hvd0luZGV4ZXMgPSBbMCwyXQorUnVubmluZyB0YWJzIHRvIHNo
b3cgdGVzdDoKKyAgICB3aWR0aHMgPSBbNTAsNTAsNjAsNjAsNzAsNzBdCisgICAgdGFic0hpc3Rv
cnkgPSBbdGFiIDAsdGFiIDIsdGFiIDQsdGFiIDEsdGFiIDMsdGFiIDVdCisgICAgdG90YWxXaWR0
aCA9IDEwMCwgZHJvcERvd25CdXR0b25NZWFzdXJlZFdpZHRoID0gMTAKKyAgICB0YWJzVG9TaG93
SW5kZXhlcyA9IFswXQorUnVubmluZyB0YWJzIHRvIHNob3cgdGVzdDoKKyAgICB3aWR0aHMgPSBb
NTAsNTAsNjAsNjAsNzAsNzBdCisgICAgdGFic0hpc3RvcnkgPSBbdGFiIDAsdGFiIDIsdGFiIDQs
dGFiIDEsdGFiIDMsdGFiIDVdCisgICAgdG90YWxXaWR0aCA9IDYwLCBkcm9wRG93bkJ1dHRvbk1l
YXN1cmVkV2lkdGggPSAxMAorICAgIHRhYnNUb1Nob3dJbmRleGVzID0gWzBdCitSdW5uaW5nIHRh
YnMgdG8gc2hvdyB0ZXN0OgorICAgIHdpZHRocyA9IFs1MCw1MCw2MCw2MCw3MCw3MF0KKyAgICB0
YWJzSGlzdG9yeSA9IFt0YWIgMCx0YWIgMix0YWIgNCx0YWIgMSx0YWIgMyx0YWIgNV0KKyAgICB0
b3RhbFdpZHRoID0gNTAsIGRyb3BEb3duQnV0dG9uTWVhc3VyZWRXaWR0aCA9IDEwCisgICAgdGFi
c1RvU2hvd0luZGV4ZXMgPSBbXQorCitSdW5uaW5nIHRhYnMgdG8gc2hvdyB0ZXN0OgorICAgIHdp
ZHRocyA9IFs1MCw1MCw2MCw2MCw3MCw3MF0KKyAgICB0YWJzSGlzdG9yeSA9IFt0YWIgNSx0YWIg
Myx0YWIgMSx0YWIgNCx0YWIgMix0YWIgMF0KKyAgICB0b3RhbFdpZHRoID0gMzcwLCBkcm9wRG93
bkJ1dHRvbk1lYXN1cmVkV2lkdGggPSAxMAorICAgIHRhYnNUb1Nob3dJbmRleGVzID0gWzAsMSwy
LDMsNCw1XQorUnVubmluZyB0YWJzIHRvIHNob3cgdGVzdDoKKyAgICB3aWR0aHMgPSBbNTAsNTAs
NjAsNjAsNzAsNzBdCisgICAgdGFic0hpc3RvcnkgPSBbdGFiIDUsdGFiIDMsdGFiIDEsdGFiIDQs
dGFiIDIsdGFiIDBdCisgICAgdG90YWxXaWR0aCA9IDM2MCwgZHJvcERvd25CdXR0b25NZWFzdXJl
ZFdpZHRoID0gMTAKKyAgICB0YWJzVG9TaG93SW5kZXhlcyA9IFswLDEsMiwzLDQsNV0KK1J1bm5p
bmcgdGFicyB0byBzaG93IHRlc3Q6CisgICAgd2lkdGhzID0gWzUwLDUwLDYwLDYwLDcwLDcwXQor
ICAgIHRhYnNIaXN0b3J5ID0gW3RhYiA1LHRhYiAzLHRhYiAxLHRhYiA0LHRhYiAyLHRhYiAwXQor
ICAgIHRvdGFsV2lkdGggPSAzNTAsIGRyb3BEb3duQnV0dG9uTWVhc3VyZWRXaWR0aCA9IDEwCisg
ICAgdGFic1RvU2hvd0luZGV4ZXMgPSBbMSwyLDMsNCw1XQorUnVubmluZyB0YWJzIHRvIHNob3cg
dGVzdDoKKyAgICB3aWR0aHMgPSBbNTAsNTAsNjAsNjAsNzAsNzBdCisgICAgdGFic0hpc3Rvcnkg
PSBbdGFiIDUsdGFiIDMsdGFiIDEsdGFiIDQsdGFiIDIsdGFiIDBdCisgICAgdG90YWxXaWR0aCA9
IDMwMCwgZHJvcERvd25CdXR0b25NZWFzdXJlZFdpZHRoID0gMTAKKyAgICB0YWJzVG9TaG93SW5k
ZXhlcyA9IFsxLDMsNCw1XQorUnVubmluZyB0YWJzIHRvIHNob3cgdGVzdDoKKyAgICB3aWR0aHMg
PSBbNTAsNTAsNjAsNjAsNzAsNzBdCisgICAgdGFic0hpc3RvcnkgPSBbdGFiIDUsdGFiIDMsdGFi
IDEsdGFiIDQsdGFiIDIsdGFiIDBdCisgICAgdG90YWxXaWR0aCA9IDI1MCwgZHJvcERvd25CdXR0
b25NZWFzdXJlZFdpZHRoID0gMTAKKyAgICB0YWJzVG9TaG93SW5kZXhlcyA9IFsxLDMsNV0KK1J1
bm5pbmcgdGFicyB0byBzaG93IHRlc3Q6CisgICAgd2lkdGhzID0gWzUwLDUwLDYwLDYwLDcwLDcw
XQorICAgIHRhYnNIaXN0b3J5ID0gW3RhYiA1LHRhYiAzLHRhYiAxLHRhYiA0LHRhYiAyLHRhYiAw
XQorICAgIHRvdGFsV2lkdGggPSAyMDAsIGRyb3BEb3duQnV0dG9uTWVhc3VyZWRXaWR0aCA9IDEw
CisgICAgdGFic1RvU2hvd0luZGV4ZXMgPSBbMSwzLDVdCitSdW5uaW5nIHRhYnMgdG8gc2hvdyB0
ZXN0OgorICAgIHdpZHRocyA9IFs1MCw1MCw2MCw2MCw3MCw3MF0KKyAgICB0YWJzSGlzdG9yeSA9
IFt0YWIgNSx0YWIgMyx0YWIgMSx0YWIgNCx0YWIgMix0YWIgMF0KKyAgICB0b3RhbFdpZHRoID0g
MTUwLCBkcm9wRG93bkJ1dHRvbk1lYXN1cmVkV2lkdGggPSAxMAorICAgIHRhYnNUb1Nob3dJbmRl
eGVzID0gWzMsNV0KK1J1bm5pbmcgdGFicyB0byBzaG93IHRlc3Q6CisgICAgd2lkdGhzID0gWzUw
LDUwLDYwLDYwLDcwLDcwXQorICAgIHRhYnNIaXN0b3J5ID0gW3RhYiA1LHRhYiAzLHRhYiAxLHRh
YiA0LHRhYiAyLHRhYiAwXQorICAgIHRvdGFsV2lkdGggPSAxMDAsIGRyb3BEb3duQnV0dG9uTWVh
c3VyZWRXaWR0aCA9IDEwCisgICAgdGFic1RvU2hvd0luZGV4ZXMgPSBbNV0KK1J1bm5pbmcgdGFi
cyB0byBzaG93IHRlc3Q6CisgICAgd2lkdGhzID0gWzUwLDUwLDYwLDYwLDcwLDcwXQorICAgIHRh
YnNIaXN0b3J5ID0gW3RhYiA1LHRhYiAzLHRhYiAxLHRhYiA0LHRhYiAyLHRhYiAwXQorICAgIHRv
dGFsV2lkdGggPSA2MCwgZHJvcERvd25CdXR0b25NZWFzdXJlZFdpZHRoID0gMTAKKyAgICB0YWJz
VG9TaG93SW5kZXhlcyA9IFtdCitSdW5uaW5nIHRhYnMgdG8gc2hvdyB0ZXN0OgorICAgIHdpZHRo
cyA9IFs1MCw1MCw2MCw2MCw3MCw3MF0KKyAgICB0YWJzSGlzdG9yeSA9IFt0YWIgNSx0YWIgMyx0
YWIgMSx0YWIgNCx0YWIgMix0YWIgMF0KKyAgICB0b3RhbFdpZHRoID0gNTAsIGRyb3BEb3duQnV0
dG9uTWVhc3VyZWRXaWR0aCA9IDEwCisgICAgdGFic1RvU2hvd0luZGV4ZXMgPSBbXQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGFiYmVkLXBhbmUtdGFicy10by1zaG93Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGFiYmVkLXBhbmUtdGFicy10by1zaG93Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODAwN2U3ZWY4ZTcwZWRlZDZkMGRiMjQxMTczM2JhNjk0MGI2MTg0NAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90YWJiZWQtcGFuZS10YWJzLXRv
LXNob3cuaHRtbApAQCAtMCwwICsxLDk2IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK3ZhciB0ZXN0ID0gZnVuY3Rpb24oKQorewor
ICAgIGZ1bmN0aW9uIGNyZWF0ZUZha2VUYWIodGl0bGUsIHdpZHRoKQorICAgIHsKKyAgICAgICAg
ZnVuY3Rpb24gdG9TdHJpbmcoKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdGl0bGU7
CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHsgd2lkdGg6IHdpZHRoLCB0aXRsZTogdGl0bGUs
IHRvU3RyaW5nOiB0b1N0cmluZyB9OworICAgIH0KKworICAgIHZhciBkcm9wRG93bkJ1dHRvbk1l
YXN1cmVkV2lkdGggPSAxMDsKKyAgICBmdW5jdGlvbiBnZXRUYWJzVG9TaG93QW5kRHVtcFJlc3Vs
dHModGFic09yZGVyZWQsIHRhYnNIaXN0b3J5LCB0b3RhbFdpZHRoKQorICAgIHsKKyAgICAgICAg
dmFyIHRhYnNUb1Nob3dJbmRleGVzID0gV2ViSW5zcGVjdG9yLlRhYmJlZFBhbmUucHJvdG90eXBl
Ll90YWJzVG9TaG93SW5kZXhlcyh0YWJzT3JkZXJlZCwgdGFic0hpc3RvcnksIHRvdGFsV2lkdGgs
IGRyb3BEb3duQnV0dG9uTWVhc3VyZWRXaWR0aCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCIgICAgdGFic1RvU2hvd0luZGV4ZXMgPSBbIiArIFN0cmluZyh0YWJzVG9TaG93SW5k
ZXhlcykgKyAiXSIpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHRlc3RXaWR0aHNBbmRIaXN0b3J5
KHdpZHRocywgaGlzdG9yeSwgdG90YWxXaWR0aCkKKyAgICB7CisgICAgICAgIHZhciB0YWJzT3Jk
ZXJlZCA9IFtdOworICAgICAgICB2YXIgdGFic0hpc3RvcnkgPSBbXTsKKyAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCB3aWR0aHMubGVuZ3RoOyBpKyspCisgICAgICAgICAgICB0YWJzT3JkZXJl
ZC5wdXNoKGNyZWF0ZUZha2VUYWIoInRhYiAiICsgaSwgd2lkdGhzW2ldKSk7CisgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgaGlzdG9yeS5sZW5ndGg7IGkrKykKKyAgICAgICAgICAgIHRhYnNI
aXN0b3J5LnB1c2godGFic09yZGVyZWRbaGlzdG9yeVtpXV0pOworICAgICAgICBJbnNwZWN0b3JU
ZXN0LmFkZFJlc3VsdCgiUnVubmluZyB0YWJzIHRvIHNob3cgdGVzdDoiKTsKKyAgICAgICAgSW5z
cGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICB3aWR0aHMgPSBbIiArIFN0cmluZyh3aWR0aHMpICsg
Il0iKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIiAgICB0YWJzSGlzdG9yeSA9
IFsiICsgU3RyaW5nKHRhYnNIaXN0b3J5KSArICJdIik7CisgICAgICAgIEluc3BlY3RvclRlc3Qu
YWRkUmVzdWx0KCIgICAgdG90YWxXaWR0aCA9ICIgKyB0b3RhbFdpZHRoICsgIiwgZHJvcERvd25C
dXR0b25NZWFzdXJlZFdpZHRoID0gIiArIGRyb3BEb3duQnV0dG9uTWVhc3VyZWRXaWR0aCk7Cisg
ICAgICAgIGdldFRhYnNUb1Nob3dBbmREdW1wUmVzdWx0cyh0YWJzT3JkZXJlZCwgdGFic0hpc3Rv
cnksIHRvdGFsV2lkdGgpOworICAgIH0KKworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwg
NTAsIDYwLCA2MCwgNzAsIDcwXSwgWzAsIDEsIDIsIDMsIDQsIDVdLCAzNzApOworICAgIHRlc3RX
aWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzAsIDEsIDIsIDMsIDQs
IDVdLCAzNjApOworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAs
IDcwXSwgWzAsIDEsIDIsIDMsIDQsIDVdLCAzNTApOworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5
KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzAsIDEsIDIsIDMsIDQsIDVdLCAzMDApOworICAg
IHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzAsIDEsIDIs
IDMsIDQsIDVdLCAyNTApOworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2
MCwgNzAsIDcwXSwgWzAsIDEsIDIsIDMsIDQsIDVdLCAyMDApOworICAgIHRlc3RXaWR0aHNBbmRI
aXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzAsIDEsIDIsIDMsIDQsIDVdLCAxNTAp
OworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzAs
IDEsIDIsIDMsIDQsIDVdLCAxMDApOworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAs
IDYwLCA2MCwgNzAsIDcwXSwgWzAsIDEsIDIsIDMsIDQsIDVdLCA2MCk7CisgICAgdGVzdFdpZHRo
c0FuZEhpc3RvcnkoWzUwLCA1MCwgNjAsIDYwLCA3MCwgNzBdLCBbMCwgMSwgMiwgMywgNCwgNV0s
IDUwKTsKKworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIiKTsKKworICAgIHRlc3RXaWR0
aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzUsIDQsIDMsIDIsIDEsIDBd
LCAzNzApOworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcw
XSwgWzUsIDQsIDMsIDIsIDEsIDBdLCAzNjApOworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1
MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzUsIDQsIDMsIDIsIDEsIDBdLCAzNTApOworICAgIHRl
c3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzUsIDQsIDMsIDIs
IDEsIDBdLCAzMDApOworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwg
NzAsIDcwXSwgWzUsIDQsIDMsIDIsIDEsIDBdLCAyNTApOworICAgIHRlc3RXaWR0aHNBbmRIaXN0
b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzUsIDQsIDMsIDIsIDEsIDBdLCAyMDApOwor
ICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzUsIDQs
IDMsIDIsIDEsIDBdLCAxNTApOworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYw
LCA2MCwgNzAsIDcwXSwgWzUsIDQsIDMsIDIsIDEsIDBdLCAxMDApOworICAgIHRlc3RXaWR0aHNB
bmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzUsIDQsIDMsIDIsIDEsIDBdLCA2
MCk7CisgICAgdGVzdFdpZHRoc0FuZEhpc3RvcnkoWzUwLCA1MCwgNjAsIDYwLCA3MCwgNzBdLCBb
NSwgNCwgMywgMiwgMSwgMF0sIDUwKTsKKworICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCIi
KTsKKworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwg
WzAsIDIsIDQsIDEsIDMsIDVdLCAzNzApOworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwg
NTAsIDYwLCA2MCwgNzAsIDcwXSwgWzAsIDIsIDQsIDEsIDMsIDVdLCAzNjApOworICAgIHRlc3RX
aWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzAsIDIsIDQsIDEsIDMs
IDVdLCAzNTApOworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAs
IDcwXSwgWzAsIDIsIDQsIDEsIDMsIDVdLCAzMDApOworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5
KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzAsIDIsIDQsIDEsIDMsIDVdLCAyNTApOworICAg
IHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzAsIDIsIDQs
IDEsIDMsIDVdLCAyMDApOworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2
MCwgNzAsIDcwXSwgWzAsIDIsIDQsIDEsIDMsIDVdLCAxNTApOworICAgIHRlc3RXaWR0aHNBbmRI
aXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzAsIDIsIDQsIDEsIDMsIDVdLCAxMDAp
OworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzAs
IDIsIDQsIDEsIDMsIDVdLCA2MCk7CisgICAgdGVzdFdpZHRoc0FuZEhpc3RvcnkoWzUwLCA1MCwg
NjAsIDYwLCA3MCwgNzBdLCBbMCwgMiwgNCwgMSwgMywgNV0sIDUwKTsKKworICAgIEluc3BlY3Rv
clRlc3QuYWRkUmVzdWx0KCIiKTsKKworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAs
IDYwLCA2MCwgNzAsIDcwXSwgWzUsIDMsIDEsIDQsIDIsIDBdLCAzNzApOworICAgIHRlc3RXaWR0
aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzUsIDMsIDEsIDQsIDIsIDBd
LCAzNjApOworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcw
XSwgWzUsIDMsIDEsIDQsIDIsIDBdLCAzNTApOworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1
MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzUsIDMsIDEsIDQsIDIsIDBdLCAzMDApOworICAgIHRl
c3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzUsIDMsIDEsIDQs
IDIsIDBdLCAyNTApOworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwg
NzAsIDcwXSwgWzUsIDMsIDEsIDQsIDIsIDBdLCAyMDApOworICAgIHRlc3RXaWR0aHNBbmRIaXN0
b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzUsIDMsIDEsIDQsIDIsIDBdLCAxNTApOwor
ICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYwLCA2MCwgNzAsIDcwXSwgWzUsIDMs
IDEsIDQsIDIsIDBdLCAxMDApOworICAgIHRlc3RXaWR0aHNBbmRIaXN0b3J5KFs1MCwgNTAsIDYw
LCA2MCwgNzAsIDcwXSwgWzUsIDMsIDEsIDQsIDIsIDBdLCA2MCk7CisgICAgdGVzdFdpZHRoc0Fu
ZEhpc3RvcnkoWzUwLCA1MCwgNjAsIDYwLCA3MCwgNzBdLCBbNSwgMywgMSwgNCwgMiwgMF0sIDUw
KTsKKworICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Cit9Cis8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxwPlRlc3RzIHRhYmJlZCBwYW5lIHRh
YnMgdG8gc2hvdyBjYWxjdWxhdGlvbi48L3A+Cis8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwODUiPkJ1ZyA3NTA4NTwvYT4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>
<flag name="review"
          id="120573"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>