<?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>187283</bug_id>
          
          <creation_ts>2018-07-02 18:34:33 -0700</creation_ts>
          <short_desc>[WinCairo] httpd service install needs to precede server start</short_desc>
          <delta_ts>2018-07-09 12:23:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ross Kirsling">ross.kirsling</reporter>
          <assigned_to name="Ross Kirsling">ross.kirsling</assigned_to>
          <cc>basuke</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>lforschler</cc>
    
    <cc>pvollan</cc>
    
    <cc>rniwa</cc>
    
    <cc>stephan.szabo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1438747</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-07-02 18:34:33 -0700</bug_when>
    <thetext>https://trac.webkit.org/r229469 introduced an `httpd -k install` step, which is needed before running HTTP tests from Windows command prompt.

Unfortunately, this step was added as an override to to Port.check_httpd, which is called (via Port.check_sys_deps) *after* Port.start_http_server.

As such, a test bot that has not manually run `httpd -k install` in advance will never reach it:
https://build.webkit.org/builders/WinCairo%2064-bit%20WKL%20Release%20%28Tests%29/builds/451/steps/layout-test/logs/stdio

We should override Port.start_http_server instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1438749</commentid>
    <comment_count>1</comment_count>
      <attachid>344159</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-07-02 18:45:13 -0700</bug_when>
    <thetext>Created attachment 344159
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1438753</commentid>
    <comment_count>2</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-07-02 19:28:31 -0700</bug_when>
    <thetext>(In reply to Ross Kirsling from comment #0)
&gt; https://trac.webkit.org/r229469 introduced an `httpd -k install` step, which
&gt; is needed before running HTTP tests from Windows command prompt.
&gt; 
&gt; Unfortunately, this step was added as an override to to Port.check_httpd,
&gt; which is called (via Port.check_sys_deps) *after* Port.start_http_server.
&gt; 


Has this always been the case? This sounds like the bug we should fix. Moving the logic to Port.start_http_server seems() like a workaround for a regression? In the architecture.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1438754</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-07-02 19:32:38 -0700</bug_when>
    <thetext>is there reason your’re inclined to override Port.start_http_server() as opposed to fixing the architecture such that Port.check_sys_deps() is called before Port.starthttp_server()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1438766</commentid>
    <comment_count>4</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-07-02 20:58:28 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #2)
&gt; Has this always been the case? This sounds like the bug we should fix.
&gt; Moving the logic to Port.start_http_server seems() like a workaround for a
&gt; regression? In the architecture.

Since this issue is WinCairo-specific, I was just aiming for the smallest-impact solution.

The architectural concern seems to come from this patch:
https://bugs.webkit.org/show_bug.cgi?id=172176

Namely, the start_http_server call now originates from the LayoutTestRunner constructor...
https://github.com/WebKit/webkit/blob/master/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py#L87

...while the call to check_sys_deps is still made later (via Manager._set_up_run) in preparation for each test subset.
The comments around that callsite suggest that we wouldn&apos;t want to duplicate it hastily:
https://github.com/WebKit/webkit/blob/master/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py#L170-L184

It seems like decoupling check_httpd from check_sys_deps could be a possible architectural fix though?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1438774</commentid>
    <comment_count>5</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-07-03 00:11:44 -0700</bug_when>
    <thetext>(In reply to Ross Kirsling from comment #4)
&gt; Since this issue is WinCairo-specific, I was just aiming for the
&gt; smallest-impact solution.

AppleWin port is also using XAMPP Apache.
The smallest-impact solution is invoking &quot;httpd -k install&quot; after install XAMPP, and remove WinCairo specific code.

https://github.com/WebKitForWindows/docker-webkit-dev/blob/master/tools/windowsservercore/Dockerfile#L71</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1438878</commentid>
    <comment_count>6</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2018-07-03 10:09:52 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #5)
&gt; (In reply to Ross Kirsling from comment #4)
&gt; &gt; Since this issue is WinCairo-specific, I was just aiming for the
&gt; &gt; smallest-impact solution.
&gt; 
&gt; AppleWin port is also using XAMPP Apache.
&gt; The smallest-impact solution is invoking &quot;httpd -k install&quot; after install
&gt; XAMPP, and remove WinCairo specific code.
&gt; 
&gt; https://github.com/WebKitForWindows/docker-webkit-dev/blob/master/tools/
&gt; windowsservercore/Dockerfile#L71

If this is bot-only purpose, that&apos;s acceptable, but for everyday development, it is still required patch. It used to be working feature and the bug is introduced by https://bugs.webkit.org/show_bug.cgi?id=172176 . It should be fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1438940</commentid>
    <comment_count>7</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-07-03 13:22:01 -0700</bug_when>
    <thetext>To reframe:
-</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1438947</commentid>
    <comment_count>8</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-07-03 13:38:04 -0700</bug_when>
    <thetext>To reframe:

- The code currently in WinCairoPort.check_httpd doesn&apos;t execute at a useful time, so we do need a patch.

- From Don: This doesn&apos;t go in the Dockerfile because not all bots are used for layout testing.

- Based on the current usage of check_sys_deps and check_httpd, I believe it would suffice to move the check_httpd call from Port.check_sys_deps to Port.start_http_server, instead of the current patch.

- If this step is useful for AppleWin as well (i.e. even in a Cygwin context), we could move the override from WinCairoPort to WinPort.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1439094</commentid>
    <comment_count>9</comment_count>
      <attachid>344251</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-07-03 18:22:58 -0700</bug_when>
    <thetext>Created attachment 344251
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440472</commentid>
    <comment_count>10</comment_count>
      <attachid>344251</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-07-09 11:36:58 -0700</bug_when>
    <thetext>Comment on attachment 344251
Patch

r=me

An Apple engineer will need to make an Internal change following the removal of needs_http from check_sys_deps(). It would be great if you could land this change during Cupertino working hours :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440490</commentid>
    <comment_count>11</comment_count>
      <attachid>344251</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-09 12:20:20 -0700</bug_when>
    <thetext>Comment on attachment 344251
Patch

Clearing flags on attachment: 344251

Committed r233651: &lt;https://trac.webkit.org/changeset/233651&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440491</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-09 12:20:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440493</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-07-09 12:23:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/41984355&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>344159</attachid>
            <date>2018-07-02 18:45:13 -0700</date>
            <delta_ts>2018-07-03 18:22:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187283-20180702184513.patch</filename>
            <type>text/plain</type>
            <size>2237</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMzNDI1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNGJlNzEzM2Y4YTkwNTU5OWZmYTdlZjI3N2JkN2U0Mjhm
ZmQyNDU1OS4uMGZiOWVkYTFlMGZhYTM4OWMyN2FkOTg4NThmNGNjOWRkMWIxOWNmNiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDE4LTA3LTAyICBSb3NzIEtpcnNsaW5nICA8cmtpcnNsaW5nQGdtYWlsLmNvbT4KKwor
ICAgICAgICBbV2luQ2Fpcm9dIGh0dHBkIHNlcnZpY2UgaW5zdGFsbCBuZWVkcyB0byBwcmVjZWRl
IHNlcnZlciBzdGFydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTg3MjgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luLnB5OgorICAgICAgICAoV2luQ2Fpcm9Q
b3J0LnN0YXJ0X2h0dHBfc2VydmVyKTogQWRkZWQuCisgICAgICAgIChXaW5DYWlyb1BvcnQuY2hl
Y2tfaHR0cGQpOiBEZWxldGVkLgorCiAyMDE4LTA3LTAyICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJz
ZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV1BFXSBBZGQgdG91Y2ggc3VwcG9ydCB0byBXaW5k
b3dWaWV3QmFja2VuZApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dp
bi5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93aW4ucHkKaW5kZXggZjBlOGY4YjIw
YTczOTFmYjQ0MGUyNGU3ZTAyMDc2NjA0YzhiZDNjZS4uZWFkZGU2YjJjNGUyNTZhODNiNzBlZDU0
OTgyOWJjZTBmYzEzNjA1NyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L3dpbi5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luLnB5CkBAIC00NzEs
MTggKzQ3MSwxMSBAQCBjbGFzcyBXaW5DYWlyb1BvcnQoV2luUG9ydCk6CiAgICAgICAgIGZhbGxi
YWNrX25hbWVzLmFwcGVuZCgnd2luY2Fpcm8nKQogICAgICAgICByZXR1cm4gbWFwKHNlbGYuX3dl
YmtpdF9iYXNlbGluZV9wYXRoLCBmYWxsYmFja19uYW1lcykKIAotICAgIGRlZiBjaGVja19odHRw
ZChzZWxmKToKLSAgICAgICAgaWYgbm90IHN1cGVyKFdpbkNhaXJvUG9ydCwgc2VsZikuY2hlY2tf
aHR0cGQoKToKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQotCi0gICAgICAgIHBhdGggPSBzZWxm
Ll9wYXRoX3RvX2FwYWNoZSgpCi0gICAgICAgIGlmIG5vdCBwYXRoOgotICAgICAgICAgICAgcmV0
dXJuIEZhbHNlCi0KKyAgICBkZWYgc3RhcnRfaHR0cF9zZXJ2ZXIoc2VsZiwgYWRkaXRpb25hbF9k
aXJzPU5vbmUpOgogICAgICAgICAjIFRvIGxhdW5jaCBBcGFjaGUgYXMgYSBkYWVtb24sIHNlcnZp
Y2UgaW5zdGFsbGF0aW9uIGlzIHJlcXVpcmVkLgotICAgICAgICBleGl0X2NvZGUgPSBzZWxmLl9l
eGVjdXRpdmUucnVuX2NvbW1hbmQoW3BhdGgsICctaycsICdpbnN0YWxsJywgJy1UJ10sIHJldHVy
bl9leGl0X2NvZGU9VHJ1ZSkKKyAgICAgICAgZXhpdF9jb2RlID0gc2VsZi5fZXhlY3V0aXZlLnJ1
bl9jb21tYW5kKFtzZWxmLl9wYXRoX3RvX2FwYWNoZSgpLCAnLWsnLCAnaW5zdGFsbCcsICctVCdd
LCByZXR1cm5fZXhpdF9jb2RlPVRydWUpCiAgICAgICAgICMgMD1zdWNjZXNzLCAyPWFscmVhZHkg
aW5zdGFsbGVkLCA3MjAwMDU9cGVybWlzc2lvbiBlcnJvciwgZXRjLgotICAgICAgICBpZiBleGl0
X2NvZGUgPT0gMCBvciBleGl0X2NvZGUgPT0gMjoKLSAgICAgICAgICAgIHJldHVybiBUcnVlCi0g
ICAgICAgIF9sb2cuZXJyb3IoJ0h0dHBkIGNhbm5vdCBydW4gYXMgYSBzZXJ2aWNlLiBQZXJoYXBz
IHlvdSBmb3Jnb3QgdG8gbG9nIGluIGFzIGFuIGFkbWluc3RyYXRvciB1c2VyPyAoZXhpdCBjb2Rl
PSVzKScgJSBleGl0X2NvZGUpCi0gICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICBpZiBleGl0
X2NvZGUgbm90IGluICgwLCAyKToKKyAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignQ291
bGQgbm90IGluc3RhbGwgaHR0cGQgYXMgYSBzZXJ2aWNlLiBQZXJoYXBzIHlvdSBmb3Jnb3QgdG8g
cnVuIGFzIGFkbWluc3RyYXRvcj8gKGV4aXQgY29kZT17fSknLmZvcm1hdChleGl0X2NvZGUpKQor
CisgICAgICAgIHN1cGVyKFdpbkNhaXJvUG9ydCwgc2VsZikuc3RhcnRfaHR0cF9zZXJ2ZXIoYWRk
aXRpb25hbF9kaXJzKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>344251</attachid>
            <date>2018-07-03 18:22:58 -0700</date>
            <delta_ts>2018-07-09 12:20:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187283-20180703182258.patch</filename>
            <type>text/plain</type>
            <size>14456</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMzNDkwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZmRmNDk4NDIzYTEyNDE1MzJiZmVjNzdkOTc4MDBmMjhk
NjM3MTcyMy4uMjE5M2Q0Zjk5ZTQ1OGQ0ZWI5MGMzNWE5NWYzZmY1YjdmOTg3MGIzNCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQz
IEBACisyMDE4LTA3LTAzICBSb3NzIEtpcnNsaW5nICA8cmtpcnNsaW5nQGdtYWlsLmNvbT4KKwor
ICAgICAgICBbV2luQ2Fpcm9dIGh0dHBkIHNlcnZpY2UgaW5zdGFsbCBuZWVkcyB0byBwcmVjZWRl
IHNlcnZlciBzdGFydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTg3MjgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weToKKyAgICAgICAgKFBvcnQuY2hl
Y2tfYnVpbGQpOgorICAgICAgICBSZW1vdmUgdW51c2VkIHBhcmFtZXRlciBgbmVlZHNfaHR0cGAu
CisgICAgICAgIAorICAgICAgICAoUG9ydC5jaGVja19zeXNfZGVwcyk6CisgICAgICAgIChQb3J0
LnN0YXJ0X2h0dHBfc2VydmVyKToKKyAgICAgICAgTW92ZSBgY2hlY2tfaHR0cGRgIGNhbGwuCisK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luLnB5OgorICAgICAgICAoV2luUG9y
dC5jaGVja19odHRwZCk6IEFkZGVkLgorICAgICAgICAoV2luQ2Fpcm9Qb3J0LmNoZWNrX2h0dHBk
KTogRGVsZXRlZC4KKyAgICAgICAgTW92ZSBgaHR0cGQgLWsgaW5zdGFsbGAgbG9naWMgdG8gY29t
bW9uIFdpbmRvd3MgbG9jYXRpb24uCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5OgorICAgICAgICAoTWFuYWdlci5fc2V0X3Vw
X3J1bik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJm
dGVzdHNydW5uZXIucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2d0ay5weToK
KyAgICAgICAgKEd0a1BvcnQuY2hlY2tfc3lzX2RlcHMpOgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvcG9ydC9pb3Nfc2ltdWxhdG9yLnB5OgorICAgICAgICAoSU9TU2ltdWxhdG9yUG9ydC5j
aGVja19zeXNfZGVwcyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L21vY2tfZHJ0
LnB5OgorICAgICAgICAoTW9ja0RSVFBvcnQuY2hlY2tfYnVpbGQpOgorICAgICAgICAoTW9ja0RS
VFBvcnQuY2hlY2tfc3lzX2RlcHMpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9w
b3J0X3Rlc3RjYXNlLnB5OgorICAgICAgICAoUG9ydFRlc3RDYXNlLmludGVncmF0aW9uX3Rlc3Rf
Y2hlY2tfc3lzX2RlcHMpOgorICAgICAgICAodGVzdF9jaGVja19idWlsZCk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9wb3J0L3Rlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9wb3J0L3dwZS5weToKKyAgICAgICAgKFdQRVBvcnQuY2hlY2tfc3lzX2RlcHMpOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9wZXJmYWxpemVyLnB5OgorICAgICAg
ICAoUGVyZmFsaXplclRhc2sucnVuKToKKyAgICAgICAgUmVtb3ZlIGBuZWVkc19odHRwYCBhcmd1
bWVudHMuCisKIDIwMTgtMDctMDMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBNYWtlIENhbGxiYWNrTWFwOjppbnZhbGlkYXRlKCkgc2FmZSB0byByZS1lbnRlcgpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxl
cnMvbWFuYWdlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRy
b2xsZXJzL21hbmFnZXIucHkKaW5kZXggY2IxMGRiYTRjMjU5ZTdkM2YyOWI4YzQwZDRjMzI0NmIw
ODZiYWMxNy4uMTRmOTU1OTYwMTcyODkyMjc1OTE0NDBhYjBjYzlkM2VlNGNlMmQ1MyAxMDA2NDQK
LS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFu
YWdlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9s
bGVycy9tYW5hZ2VyLnB5CkBAIC0xNjEsNyArMTYxLDcgQEAgY2xhc3MgTWFuYWdlcihvYmplY3Qp
OgogCiAgICAgZGVmIF9zZXRfdXBfcnVuKHNlbGYsIHRlc3RfbmFtZXMsIGRldmljZV9jbGFzcz1O
b25lKToKICAgICAgICAgc2VsZi5fcHJpbnRlci53cml0ZV91cGRhdGUoIkNoZWNraW5nIGJ1aWxk
IC4uLiIpCi0gICAgICAgIGlmIG5vdCBzZWxmLl9wb3J0LmNoZWNrX2J1aWxkKHNlbGYubmVlZHNf
c2VydmVycyh0ZXN0X25hbWVzKSk6CisgICAgICAgIGlmIG5vdCBzZWxmLl9wb3J0LmNoZWNrX2J1
aWxkKCk6CiAgICAgICAgICAgICBfbG9nLmVycm9yKCJCdWlsZCBjaGVjayBmYWlsZWQiKQogICAg
ICAgICAgICAgcmV0dXJuIEZhbHNlCiAKQEAgLTE3OSw3ICsxNzksNyBAQCBjbGFzcyBNYW5hZ2Vy
KG9iamVjdCk6CiAgICAgICAgICMgQ2hlY2sgdGhhdCB0aGUgc3lzdGVtIGRlcGVuZGVuY2llcyAo
dGhlbWVzLCBmb250cywgLi4uKSBhcmUgY29ycmVjdC4KICAgICAgICAgaWYgbm90IHNlbGYuX29w
dGlvbnMubm9jaGVja19zeXNfZGVwczoKICAgICAgICAgICAgIHNlbGYuX3ByaW50ZXIud3JpdGVf
dXBkYXRlKCJDaGVja2luZyBzeXN0ZW0gZGVwZW5kZW5jaWVzIC4uLiIpCi0gICAgICAgICAgICBp
ZiBub3Qgc2VsZi5fcG9ydC5jaGVja19zeXNfZGVwcyhzZWxmLm5lZWRzX3NlcnZlcnModGVzdF9u
YW1lcykpOgorICAgICAgICAgICAgaWYgbm90IHNlbGYuX3BvcnQuY2hlY2tfc3lzX2RlcHMoKToK
ICAgICAgICAgICAgICAgICBzZWxmLl9wb3J0LnN0b3BfaGVscGVyKCkKICAgICAgICAgICAgICAg
ICByZXR1cm4gRmFsc2UKIApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJm
b3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNydW5uZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0c3J1bm5lci5weQppbmRleCBiNzlmZTNlYjFiNWIx
MTBiMDM2ZmQ2YmJiYTgwYWYzMzQ4NmY5ODczLi5jNzg5NWRiNzc0OGExNmVjN2M5YWYyZWJkN2Jk
MDllZmRmNzU3MDAyIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1h
bmNlX3Rlc3RzL3BlcmZ0ZXN0c3J1bm5lci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0c3J1bm5lci5weQpAQCAtMTkyLDEyICsxOTIsMTIg
QEAgY2xhc3MgUGVyZlRlc3RzUnVubmVyKG9iamVjdCk6CiAqIFdBUk5JTkc6IHJ1bi1wZXJmLXRl
c3RzIGlzIHJ1bm5pbmcgaW4gREVCVUcgbW9kZSAqCiAqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqIiIiKQogCi0gICAgICAgIGlmIG5vdCBzZWxmLl9w
b3J0LmNoZWNrX2J1aWxkKG5lZWRzX2h0dHA9RmFsc2UpOgorICAgICAgICBpZiBub3Qgc2VsZi5f
cG9ydC5jaGVja19idWlsZCgpOgogICAgICAgICAgICAgX2xvZy5lcnJvcigiQnVpbGQgbm90IHVw
IHRvIGRhdGUgZm9yICVzIiAlIHNlbGYuX3BvcnQuX3BhdGhfdG9fZHJpdmVyKCkpCiAgICAgICAg
ICAgICByZXR1cm4gc2VsZi5FWElUX0NPREVfQkFEX0JVSUxECiAKICAgICAgICAgIyBDaGVjayB0
aGF0IHRoZSBzeXN0ZW0gZGVwZW5kZW5jaWVzICh0aGVtZXMsIGZvbnRzLCAuLi4pIGFyZSBjb3Jy
ZWN0LgotICAgICAgICBpZiBub3Qgc2VsZi5fcG9ydC5jaGVja19zeXNfZGVwcyhuZWVkc19odHRw
PUZhbHNlKToKKyAgICAgICAgaWYgbm90IHNlbGYuX3BvcnQuY2hlY2tfc3lzX2RlcHMoKToKICAg
ICAgICAgICAgIF9sb2cuZXJyb3IoIkZhaWxlZCB0byBjaGVjayBzeXN0ZW0gZGVwZW5kZW5jaWVz
LiIpCiAgICAgICAgICAgICBzZWxmLl9wb3J0LnN0b3BfaGVscGVyKCkKICAgICAgICAgICAgIHJl
dHVybiBzZWxmLkVYSVRfQ09ERV9CQURfUFJFUEFSQVRJT04KZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L2Jhc2UucHkKaW5kZXggMWQyYjVjNmUxZDEyZmEzNGJkNDExMDQ5MmIxMGIyYzBhMjBjNWQwMy4u
ZDYwN2NiZWIxMDQ5ZWU4NTcwMGVjMTc5YWE0MmZkOWFkM2U1ZmQwMyAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9wb3J0L2Jhc2UucHkKQEAgLTIyMyw3ICsyMjMsNyBAQCBjbGFzcyBQb3J0KG9iamVjdCk6
CiAgICAgICAgICAgICByZXR1cm4gZmFjdG9yeS5nZXQodGFyZ2V0X3BvcnQpLmRlZmF1bHRfYmFz
ZWxpbmVfc2VhcmNoX3BhdGgoKQogICAgICAgICByZXR1cm4gW10KIAotICAgIGRlZiBjaGVja19i
dWlsZChzZWxmLCBuZWVkc19odHRwKToKKyAgICBkZWYgY2hlY2tfYnVpbGQoc2VsZik6CiAgICAg
ICAgICIiIlRoaXMgcm91dGluZSBpcyB1c2VkIHRvIGVuc3VyZSB0aGF0IHRoZSBidWlsZCBpcyB1
cCB0byBkYXRlCiAgICAgICAgIGFuZCBhbGwgdGhlIG5lZWRlZCBiaW5hcmllcyBhcmUgcHJlc2Vu
dC4iIiIKICAgICAgICAgIyBJZiB3ZSdyZSB1c2luZyBhIHByZS1idWlsdCBjb3B5IG9mIFdlYktp
dCAoLS1yb290KSwgd2UgYXNzdW1lIGl0IGFsc28gaW5jbHVkZXMgYSBidWlsZCBvZiBEUlQuCkBA
IC0yNzIsMTQgKzI3MiwxMiBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAgICAgICAgICMgUG9ydHMg
Y2FuIG92ZXJyaWRlIHRoaXMgbWV0aG9kIHRvIGRvIGFkZGl0aW9uYWwgY2hlY2tzLgogICAgICAg
ICByZXR1cm4gVHJ1ZQogCi0gICAgZGVmIGNoZWNrX3N5c19kZXBzKHNlbGYsIG5lZWRzX2h0dHAp
OgorICAgIGRlZiBjaGVja19zeXNfZGVwcyhzZWxmKToKICAgICAgICAgIiIiSWYgdGhlIHBvcnQg
bmVlZHMgdG8gZG8gc29tZSBydW50aW1lIGNoZWNrcyB0byBlbnN1cmUgdGhhdCB0aGUKICAgICAg
ICAgdGVzdHMgY2FuIGJlIHJ1biBzdWNjZXNzZnVsbHksIGl0IHNob3VsZCBvdmVycmlkZSB0aGlz
IHJvdXRpbmUuCiAgICAgICAgIFRoaXMgc3RlcCBjYW4gYmUgc2tpcHBlZCB3aXRoIC0tbm9jaGVj
ay1zeXMtZGVwcy4KIAogICAgICAgICBSZXR1cm5zIHdoZXRoZXIgdGhlIHN5c3RlbSBpcyBwcm9w
ZXJseSBjb25maWd1cmVkLiIiIgotICAgICAgICBpZiBuZWVkc19odHRwOgotICAgICAgICAgICAg
cmV0dXJuIHNlbGYuY2hlY2tfaHR0cGQoKQogICAgICAgICByZXR1cm4gVHJ1ZQogCiAgICAgZGVm
IGNoZWNrX2ltYWdlX2RpZmYoc2VsZiwgb3ZlcnJpZGVfc3RlcD1Ob25lLCBsb2dnaW5nPVRydWUp
OgpAQCAtOTk0LDYgKzk5Miw5IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKIAogICAgICAgICBQb3J0
cyBjYW4gc3R1YiB0aGlzIG91dCBpZiB0aGV5IGRvbid0IG5lZWQgYSB3ZWIgc2VydmVyIHRvIGJl
IHJ1bm5pbmcuIiIiCiAgICAgICAgIGFzc2VydCBub3Qgc2VsZi5faHR0cF9zZXJ2ZXIsICdBbHJl
YWR5IHJ1bm5pbmcgYW4gaHR0cCBzZXJ2ZXIuJworICAgICAgICBpZiBub3Qgc2VsZi5jaGVja19o
dHRwZCgpOgorICAgICAgICAgICAgcmV0dXJuCisKICAgICAgICAgaHR0cF9wb3J0ID0gc2VsZi5n
ZXRfb3B0aW9uKCdodHRwX3BvcnQnKQogICAgICAgICBpZiBzZWxmLl91c2VzX2FwYWNoZSgpOgog
ICAgICAgICAgICAgc2VydmVyID0gYXBhY2hlX2h0dHBfc2VydmVyLkxheW91dFRlc3RBcGFjaGVI
dHRwZChzZWxmLCBzZWxmLnJlc3VsdHNfZGlyZWN0b3J5KCksIGFkZGl0aW9uYWxfZGlycz1hZGRp
dGlvbmFsX2RpcnMsIHBvcnQ9aHR0cF9wb3J0KQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L2d0ay5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkK
aW5kZXggNDk2NDI5OTkxYzg0MjcyZTk5Nzk4YzM2NzA1MjkzZjcyMjE3ZjViMS4uM2E0M2JlZmVk
OWM4MWU1MjIxYzhiOThhNGI2NWNkNDhkZjExN2FkOCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wb3J0L2d0ay5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQv
Z3RrLnB5CkBAIC0yMjgsOCArMjI4LDggQEAgY2xhc3MgR3RrUG9ydChQb3J0KToKICAgICBkZWYg
c2hvd19yZXN1bHRzX2h0bWxfZmlsZShzZWxmLCByZXN1bHRzX2ZpbGVuYW1lKToKICAgICAgICAg
c2VsZi5fcnVuX3NjcmlwdCgicnVuLW1pbmlicm93c2VyIiwgW3BhdGguYWJzcGF0aF90b191cmko
c2VsZi5ob3N0LnBsYXRmb3JtLCByZXN1bHRzX2ZpbGVuYW1lKV0pCiAKLSAgICBkZWYgY2hlY2tf
c3lzX2RlcHMoc2VsZiwgbmVlZHNfaHR0cCk6Ci0gICAgICAgIHJldHVybiBzdXBlcihHdGtQb3J0
LCBzZWxmKS5jaGVja19zeXNfZGVwcyhuZWVkc19odHRwKSBhbmQgc2VsZi5fZHJpdmVyX2NsYXNz
KCkuY2hlY2tfZHJpdmVyKHNlbGYpCisgICAgZGVmIGNoZWNrX3N5c19kZXBzKHNlbGYpOgorICAg
ICAgICByZXR1cm4gc3VwZXIoR3RrUG9ydCwgc2VsZikuY2hlY2tfc3lzX2RlcHMoKSBhbmQgc2Vs
Zi5fZHJpdmVyX2NsYXNzKCkuY2hlY2tfZHJpdmVyKHNlbGYpCiAKICAgICBkZWYgX2dldF9jcmFz
aF9sb2coc2VsZiwgbmFtZSwgcGlkLCBzdGRvdXQsIHN0ZGVyciwgbmV3ZXJfdGhhbiwgdGFyZ2V0
X2hvc3Q9Tm9uZSk6CiAgICAgICAgIHJldHVybiBHREJDcmFzaExvZ0dlbmVyYXRvcihzZWxmLl9l
eGVjdXRpdmUsIG5hbWUsIHBpZCwgbmV3ZXJfdGhhbiwKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9pb3Nfc2ltdWxhdG9yLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L2lvc19zaW11bGF0b3IucHkKaW5kZXggNTQ3ZTA5NmNiOTBlMDA3OGNhNTA0MWQ4MDhk
MTU3OWVkNTc1MTUxNC4uNmRkNzQxNjhlZjYzMTM4OGRiZmVlZDRmMjI2ZjFlNjA3Y2MzNWUxNiAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2lvc19zaW11bGF0b3IucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2lvc19zaW11bGF0b3IucHkKQEAgLTEz
NywxMSArMTM3LDExIEBAIGNsYXNzIElPU1NpbXVsYXRvclBvcnQoSU9TUG9ydCk6CiAgICAgZGVm
IG9wZXJhdGluZ19zeXN0ZW0oc2VsZik6CiAgICAgICAgIHJldHVybiAnaW9zLXNpbXVsYXRvcicK
IAotICAgIGRlZiBjaGVja19zeXNfZGVwcyhzZWxmLCBuZWVkc19odHRwKToKKyAgICBkZWYgY2hl
Y2tfc3lzX2RlcHMoc2VsZik6CiAgICAgICAgIHRhcmdldF9kZXZpY2VfdHlwZSA9IERldmljZVR5
cGUoc29mdHdhcmVfdmFyaWFudD0naU9TJywgc29mdHdhcmVfdmVyc2lvbj1zZWxmLmlvc192ZXJz
aW9uKCkpCiAgICAgICAgIGZvciBkZXZpY2UgaW4gU2ltdWxhdGVkRGV2aWNlTWFuYWdlci5hdmFp
bGFibGVfZGV2aWNlcyhzZWxmLmhvc3QpOgogICAgICAgICAgICAgaWYgZGV2aWNlLnBsYXRmb3Jt
X2RldmljZS5kZXZpY2VfdHlwZSBpbiB0YXJnZXRfZGV2aWNlX3R5cGU6Ci0gICAgICAgICAgICAg
ICAgcmV0dXJuIHN1cGVyKElPU1NpbXVsYXRvclBvcnQsIHNlbGYpLmNoZWNrX3N5c19kZXBzKG5l
ZWRzX2h0dHApCisgICAgICAgICAgICAgICAgcmV0dXJuIHN1cGVyKElPU1NpbXVsYXRvclBvcnQs
IHNlbGYpLmNoZWNrX3N5c19kZXBzKCkKICAgICAgICAgX2xvZy5lcnJvcignTm8gU2ltdWxhdGVk
IGRldmljZSBtYXRjaGluZyAie30iIGRlZmluZWQgaW4gWGNvZGUgaU9TIFNESycuZm9ybWF0KHN0
cih0YXJnZXRfZGV2aWNlX3R5cGUpKSkKICAgICAgICAgcmV0dXJuIEZhbHNlCiAKZGlmZiAtLWdp
dCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9tb2NrX2RydC5weSBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9tb2NrX2RydC5weQppbmRleCAyZjMxNGNkMzdhZjZjYjU3MDg1NzQ0
MTJjNTAwM2RjZWZmYjg2MWYzLi5jM2UyNWI0MGQ2YzA5ZDNjMTMxYTMxZDUyODFmZDY0YWRjODIz
MzBhIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvbW9ja19kcnQucHkK
KysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L21vY2tfZHJ0LnB5CkBAIC02OCwxMCAr
NjgsMTAgQEAgY2xhc3MgTW9ja0RSVFBvcnQob2JqZWN0KToKICAgICBkZWYgX19nZXRhdHRyX18o
c2VsZiwgbmFtZSk6CiAgICAgICAgIHJldHVybiBnZXRhdHRyKHNlbGYuX19kZWxlZ2F0ZSwgbmFt
ZSkKIAotICAgIGRlZiBjaGVja19idWlsZChzZWxmLCBuZWVkc19odHRwKToKKyAgICBkZWYgY2hl
Y2tfYnVpbGQoc2VsZik6CiAgICAgICAgIHJldHVybiBUcnVlCiAKLSAgICBkZWYgY2hlY2tfc3lz
X2RlcHMoc2VsZiwgbmVlZHNfaHR0cCk6CisgICAgZGVmIGNoZWNrX3N5c19kZXBzKHNlbGYpOgog
ICAgICAgICByZXR1cm4gVHJ1ZQogCiAgICAgZGVmIGNyZWF0ZV9kcml2ZXIoc2VsZiwgd29ya2Vy
X251bWJlciwgbm9fdGltZW91dD1GYWxzZSk6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvcG9ydF90ZXN0Y2FzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9y
dC9wb3J0X3Rlc3RjYXNlLnB5CmluZGV4IDAzYzcwM2FlM2I4ZTY1YTNjYWQ1ZGQ2NzMwOWY2NzVj
OTUzNmI5NDQuLjJkNjhlNWIwMWUxNGQ3NDllNTI3NjhiNjkxODI3YWQxODJiMDZkODEgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9wb3J0X3Rlc3RjYXNlLnB5CkBAIC0xNjgsNyAr
MTY4LDcgQEAgY2xhc3MgUG9ydFRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYg
aW50ZWdyYXRpb25fdGVzdF9jaGVja19zeXNfZGVwcyhzZWxmKToKICAgICAgICAgcG9ydCA9IHNl
bGYubWFrZV9wb3J0KCkKICAgICAgICAgIyBPbmx5IGNoZWNraW5nIHRoYXQgbm8gZXhjZXB0aW9u
IGlzIHJhaXNlZC4KLSAgICAgICAgcG9ydC5jaGVja19zeXNfZGVwcyhUcnVlKQorICAgICAgICBw
b3J0LmNoZWNrX3N5c19kZXBzKCkKIAogICAgIGRlZiBpbnRlZ3JhdGlvbl90ZXN0X2hlbHBlcihz
ZWxmKToKICAgICAgICAgcG9ydCA9IHNlbGYubWFrZV9wb3J0KCkKQEAgLTY2NiwxOSArNjY2LDE5
IEBAIE1PQ0sgb3V0cHV0IG9mIGNoaWxkIHByb2Nlc3MKICAgICAgICAgICAgIHJldHVybiBUcnVl
CiAKICAgICAgICAgcG9ydC5fYnVpbGRfZHJpdmVyID0gYnVpbGRfZHJpdmVyX2NhbGxlZAotICAg
ICAgICBwb3J0LmNoZWNrX2J1aWxkKEZhbHNlKQorICAgICAgICBwb3J0LmNoZWNrX2J1aWxkKCkK
ICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYuYnVpbGRfY2FsbGVkKQogCiAgICAgICAgIHBv
cnQgPSBzZWxmLm1ha2VfcG9ydChvcHRpb25zPU1vY2tPcHRpb25zKHJvb3Q9Jy90bXAnLCBidWls
ZD1UcnVlKSkKICAgICAgICAgc2VsZi5idWlsZF9jYWxsZWQgPSBGYWxzZQogICAgICAgICBwb3J0
Ll9idWlsZF9kcml2ZXIgPSBidWlsZF9kcml2ZXJfY2FsbGVkCi0gICAgICAgIHBvcnQuY2hlY2tf
YnVpbGQoRmFsc2UpCisgICAgICAgIHBvcnQuY2hlY2tfYnVpbGQoKQogICAgICAgICBzZWxmLmFz
c2VydEZhbHNlKHNlbGYuYnVpbGRfY2FsbGVkLCBOb25lKQogCiAgICAgICAgIHBvcnQgPSBzZWxm
Lm1ha2VfcG9ydChvcHRpb25zPU1vY2tPcHRpb25zKGJ1aWxkPUZhbHNlKSkKICAgICAgICAgc2Vs
Zi5idWlsZF9jYWxsZWQgPSBGYWxzZQogICAgICAgICBwb3J0Ll9idWlsZF9kcml2ZXIgPSBidWls
ZF9kcml2ZXJfY2FsbGVkCi0gICAgICAgIHBvcnQuY2hlY2tfYnVpbGQoRmFsc2UpCisgICAgICAg
IHBvcnQuY2hlY2tfYnVpbGQoKQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNlbGYuYnVpbGRf
Y2FsbGVkLCBOb25lKQogCiAgICAgZGVmIHRlc3RfYWRkaXRpb25hbF9wbGF0Zm9ybV9kaXJlY3Rv
cnkoc2VsZik6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC90ZXN0LnB5CmluZGV4IDMzNGUyNGIxZTVh
ZTExZmNlZjBiZjZiY2FiYTBjOWMzNDgwMWVjM2MuLmRmNWU2N2QwNjg4ODRiOGFhODRkMzUzMDU1
MDljMDZiMzczZjJmYjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC90
ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC90ZXN0LnB5CkBAIC00MDgs
MTAgKzQwOCwxMCBAQCBjbGFzcyBUZXN0UG9ydChQb3J0KToKICAgICBkZWYgd29ya2VyX3N0YXJ0
dXBfZGVsYXlfc2VjcyhzZWxmKToKICAgICAgICAgcmV0dXJuIDAKIAotICAgIGRlZiBjaGVja19i
dWlsZChzZWxmLCBuZWVkc19odHRwKToKKyAgICBkZWYgY2hlY2tfYnVpbGQoc2VsZik6CiAgICAg
ICAgIHJldHVybiBUcnVlCiAKLSAgICBkZWYgY2hlY2tfc3lzX2RlcHMoc2VsZiwgbmVlZHNfaHR0
cCk6CisgICAgZGVmIGNoZWNrX3N5c19kZXBzKHNlbGYpOgogICAgICAgICByZXR1cm4gVHJ1ZQog
CiAgICAgZGVmIGRlZmF1bHRfY29uZmlndXJhdGlvbihzZWxmKToKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC93aW4ucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvd2luLnB5CmluZGV4IGYwZThmOGIyMGE3MzkxZmI0NDBlMjRlN2UwMjA3NjYwNGM4YmQzY2Uu
LjUxMGI2ZTcyOWM1MjVhZjIzZmMxOGU5MDcyNTdjZDdjNjM3ZjkyZDQgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93aW4ucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9wb3J0L3dpbi5weQpAQCAtNDUyLDYgKzQ1MiwyMyBAQCBjbGFzcyBXaW5Qb3J0KEFwcGxl
UG9ydCk6CiAgICAgICAgICAgICAgICAgY3Jhc2hfbG9nc1t0ZXN0X25hbWVdID0gY3Jhc2hfbG9n
CiAgICAgICAgIHJldHVybiBjcmFzaF9sb2dzCiAKKyAgICBkZWYgY2hlY2tfaHR0cGQoc2VsZik6
CisgICAgICAgIGlmIG5vdCBzdXBlcihXaW5Qb3J0LCBzZWxmKS5jaGVja19odHRwZCgpOgorICAg
ICAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICAgICAgcGF0aCA9IHNlbGYuX3BhdGhfdG9fYXBh
Y2hlKCkKKyAgICAgICAgaWYgbm90IHBhdGg6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKwor
ICAgICAgICAjIFRvIGxhdW5jaCBBcGFjaGUgYXMgYSBkYWVtb24sIHNlcnZpY2UgaW5zdGFsbGF0
aW9uIGlzIHJlcXVpcmVkLgorICAgICAgICBleGl0X2NvZGUgPSBzZWxmLl9leGVjdXRpdmUucnVu
X2NvbW1hbmQoW3BhdGgsICctaycsICdpbnN0YWxsJywgJy1UJ10sIHJldHVybl9leGl0X2NvZGU9
VHJ1ZSkKKyAgICAgICAgIyAwPXN1Y2Nlc3MsIDI9YWxyZWFkeSBpbnN0YWxsZWQsIDcyMDAwNT1w
ZXJtaXNzaW9uIGVycm9yLCBldGMuCisgICAgICAgIGlmIGV4aXRfY29kZSBub3QgaW4gKDAsIDIp
OgorICAgICAgICAgICAgX2xvZy5lcnJvcignQ291bGQgbm90IGluc3RhbGwgaHR0cGQgYXMgYSBz
ZXJ2aWNlLiBQZXJoYXBzIHlvdSBmb3Jnb3QgdG8gcnVuIGFzIGFkbWluc3RyYXRvcj8gKGV4aXQg
Y29kZT17fSknLmZvcm1hdChleGl0X2NvZGUpKQorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisK
KyAgICAgICAgcmV0dXJuIFRydWUKKwogCiBjbGFzcyBXaW5DYWlyb1BvcnQoV2luUG9ydCk6CiAg
ICAgcG9ydF9uYW1lID0gIndpbmNhaXJvIgpAQCAtNDcwLDE5ICs0ODcsMyBAQCBjbGFzcyBXaW5D
YWlyb1BvcnQoV2luUG9ydCk6CiAgICAgICAgIGZhbGxiYWNrX25hbWVzID0gWyd3aW5jYWlyby0n
ICsgdmVyc2lvbl9uYW1lX21hcC50b19uYW1lKHZlcnNpb24sIHBsYXRmb3JtPXNlbGYucG9ydF9u
YW1lKS5sb3dlcigpLnJlcGxhY2UoJyAnLCAnJykgZm9yIHZlcnNpb24gaW4gZmFsbGJhY2tfdmVy
c2lvbnNdCiAgICAgICAgIGZhbGxiYWNrX25hbWVzLmFwcGVuZCgnd2luY2Fpcm8nKQogICAgICAg
ICByZXR1cm4gbWFwKHNlbGYuX3dlYmtpdF9iYXNlbGluZV9wYXRoLCBmYWxsYmFja19uYW1lcykK
LQotICAgIGRlZiBjaGVja19odHRwZChzZWxmKToKLSAgICAgICAgaWYgbm90IHN1cGVyKFdpbkNh
aXJvUG9ydCwgc2VsZikuY2hlY2tfaHR0cGQoKToKLSAgICAgICAgICAgIHJldHVybiBGYWxzZQot
Ci0gICAgICAgIHBhdGggPSBzZWxmLl9wYXRoX3RvX2FwYWNoZSgpCi0gICAgICAgIGlmIG5vdCBw
YXRoOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAgICAgICAgIyBUbyBsYXVuY2ggQXBh
Y2hlIGFzIGEgZGFlbW9uLCBzZXJ2aWNlIGluc3RhbGxhdGlvbiBpcyByZXF1aXJlZC4KLSAgICAg
ICAgZXhpdF9jb2RlID0gc2VsZi5fZXhlY3V0aXZlLnJ1bl9jb21tYW5kKFtwYXRoLCAnLWsnLCAn
aW5zdGFsbCcsICctVCddLCByZXR1cm5fZXhpdF9jb2RlPVRydWUpCi0gICAgICAgICMgMD1zdWNj
ZXNzLCAyPWFscmVhZHkgaW5zdGFsbGVkLCA3MjAwMDU9cGVybWlzc2lvbiBlcnJvciwgZXRjLgot
ICAgICAgICBpZiBleGl0X2NvZGUgPT0gMCBvciBleGl0X2NvZGUgPT0gMjoKLSAgICAgICAgICAg
IHJldHVybiBUcnVlCi0gICAgICAgIF9sb2cuZXJyb3IoJ0h0dHBkIGNhbm5vdCBydW4gYXMgYSBz
ZXJ2aWNlLiBQZXJoYXBzIHlvdSBmb3Jnb3QgdG8gbG9nIGluIGFzIGFuIGFkbWluc3RyYXRvciB1
c2VyPyAoZXhpdCBjb2RlPSVzKScgJSBleGl0X2NvZGUpCi0gICAgICAgIHJldHVybiBGYWxzZQpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dwZS5weSBiL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC93cGUucHkKaW5kZXggNGM0ZTIzZDc1NDIwYzA0ZTQ1NzliNDIy
MzlkZTlkNGFjZTAxOGRiMy4uYmFjYmE1ZjBkYWY3MzU5ZTRhZWUwOWU5NzViZTMzNTYxOTBjNDY0
MCAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dwZS5weQorKysgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd3BlLnB5CkBAIC04NCw4ICs4NCw4IEBAIGNsYXNz
IFdQRVBvcnQoUG9ydCk6CiAgICAgICAgIHNlbGYuX2NvcHlfdmFsdWVfZnJvbV9lbnZpcm9uX2lm
X3NldChlbnZpcm9ubWVudCwgJ0dTVF9ERUJVR19GSUxFJykKICAgICAgICAgcmV0dXJuIGVudmly
b25tZW50CiAKLSAgICBkZWYgY2hlY2tfc3lzX2RlcHMoc2VsZiwgbmVlZHNfaHR0cCk6Ci0gICAg
ICAgIHJldHVybiBzdXBlcihXUEVQb3J0LCBzZWxmKS5jaGVja19zeXNfZGVwcyhuZWVkc19odHRw
KSBhbmQgc2VsZi5fZHJpdmVyX2NsYXNzKCkuY2hlY2tfZHJpdmVyKHNlbGYpCisgICAgZGVmIGNo
ZWNrX3N5c19kZXBzKHNlbGYpOgorICAgICAgICByZXR1cm4gc3VwZXIoV1BFUG9ydCwgc2VsZiku
Y2hlY2tfc3lzX2RlcHMoKSBhbmQgc2VsZi5fZHJpdmVyX2NsYXNzKCkuY2hlY2tfZHJpdmVyKHNl
bGYpCiAKICAgICBkZWYgX2dlbmVyYXRlX2FsbF90ZXN0X2NvbmZpZ3VyYXRpb25zKHNlbGYpOgog
ICAgICAgICBjb25maWd1cmF0aW9ucyA9IFtdCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvY29tbWFuZHMvcGVyZmFsaXplci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvdG9vbC9jb21tYW5kcy9wZXJmYWxpemVyLnB5CmluZGV4IGNmZjk4ZDVmNWEyZDc5YzhlNGNh
MGZmM2MzZGUxMTVmYTUxMmZkMDIuLjY5YTkwNmRiMGE0NWFkZDNiMjRjNTU5NWU2NzQyODA4OGQ4
M2ExZWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9w
ZXJmYWxpemVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9w
ZXJmYWxpemVyLnB5CkBAIC04MCw3ICs4MCw3IEBAIGNsYXNzIFBlcmZhbGl6ZXJUYXNrKFBhdGNo
QW5hbHlzaXNUYXNrKToKICAgICAgICAgaWYgbm90IHNlbGYuX2J1aWxkX3dpdGhvdXRfcGF0Y2go
KToKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCi0gICAgICAgIGlmIG5vdCBzZWxmLl9wb3J0
LmNoZWNrX2J1aWxkKG5lZWRzX2h0dHA9RmFsc2UpOgorICAgICAgICBpZiBub3Qgc2VsZi5fcG9y
dC5jaGVja19idWlsZCgpOgogICAgICAgICAgICAgc2VsZi5fbG9nZ2VyKCdGYWlsZWQgdG8gYnVp
bGQgRHVtcFJlbmRlclRyZWUuJykKICAgICAgICAgICAgIHJldHVybiBGYWxzZQogCkBAIC05Miw3
ICs5Miw3IEBAIGNsYXNzIFBlcmZhbGl6ZXJUYXNrKFBhdGNoQW5hbHlzaXNUYXNrKToKICAgICAg
ICAgaWYgbm90IHNlbGYuX2FwcGx5KCkgb3Igbm90IHNlbGYuX2J1aWxkKCk6CiAgICAgICAgICAg
ICByZXR1cm4gRmFsc2UKIAotICAgICAgICBpZiBub3Qgc2VsZi5fcG9ydC5jaGVja19idWlsZChu
ZWVkc19odHRwPUZhbHNlKToKKyAgICAgICAgaWYgbm90IHNlbGYuX3BvcnQuY2hlY2tfYnVpbGQo
KToKICAgICAgICAgICAgIHNlbGYuX2xvZ2dlcignRmFpbGVkIHRvIGJ1aWxkIER1bXBSZW5kZXJU
cmVlLicpCiAgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>