<?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>198784</bug_id>
          
          <creation_ts>2019-06-11 23:16:19 -0700</creation_ts>
          <short_desc>IntersectionObserver rootMargin detection fails when `root` is an element</short_desc>
          <delta_ts>2019-06-17 06:02:29 -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>DOM</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://github.com/web-platform-tests/wpt/pull/17323</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BrowserCompat, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="EricD">nospamthankyou</reporter>
          <assigned_to name="Ali Juma">ajuma</assigned_to>
          <cc>ajuma</cc>
    
    <cc>commit-queue</cc>
    
    <cc>nospamthankyou</cc>
    
    <cc>rohitrao</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1543987</commentid>
    <comment_count>0</comment_count>
    <who name="EricD">nospamthankyou</who>
    <bug_when>2019-06-11 23:16:19 -0700</bug_when>
    <thetext>Effected versions: Safari 12.1.1, iOS Safari 12.3.1, Safari Technology Preview (Safari 13.0, WebKit 14608.1.25.2), and iOS Chrome 75.0.3770.70. Works however in desktop chrome Version 74.0.3729.169.

rootMargin detection does not work when the root is an element. Instead isIntersecting is only true when it is absolutely in the viewport.

basic example.

    var scrollableContainer = document.querySelector(&quot;#scrollableContainer&quot;);

    var observer = new IntersectionObserver(
      entries =&gt; {
        entries.forEach(entry =&gt; {
          if (entry.isIntersecting) {
            entry.target.style.background = &quot;green&quot;;
            console.log(&quot;is inviewport&quot;);
            this.set(&quot;viewportEntered&quot;, true);
          } else {
            entry.target.style.background = &quot;red&quot;;
            this.set(&quot;viewportEntered&quot;, false);
            console.log(&quot;is outside viewport&quot;);
          }
        });
      },
      {
        root: scrollableContainer,
        threshold: [0, 0.5, 1],
        rootMargin: &quot;500px&quot;
      }
    );

    observer.observe(this.element);

If you want a fully reproducable web demo, let me know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544000</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-06-12 01:40:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/51659139&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544028</commentid>
    <comment_count>2</comment_count>
    <who name="EricD">nospamthankyou</who>
    <bug_when>2019-06-12 03:41:11 -0700</bug_when>
    <thetext>Fully reproducible demo here:
https://edeis53.github.io/inviewport/?version=28e1794

-Step#1 - Click on &quot;plain intersection-observer with element&quot; menu link.
-NOTE: This is stripped down reproducable demo that contains the minimal amount of JS to reproduce. The other tests in the demo use a web component that wraps intersectionObserver with additional logic. However, all the examples work and show that rootMargin works when detecting using window, but not when using an element.
-Step#2 - Open the console and observe which element is reporting intersection of the viewport.
-Step#3 - Repeat in iOS Chrome and MacOS Desktop Chrome.

The demo performs the following JS:
    var scrollableContainer = document.querySelector(&quot;#scrollableContainer&quot;);

    var observer = new IntersectionObserver(
      entries =&gt; {
        entries.forEach(entry =&gt; {
          if (entry.isIntersecting) {
            entry.target.style.background = &quot;green&quot;;
            console.log(&quot;is inviewport&quot;, this.number);
            this.set(&quot;viewportEntered&quot;, true);
          } else {
            entry.target.style.background = &quot;red&quot;;
            this.set(&quot;viewportEntered&quot;, false);
            console.log(&quot;is outside viewport&quot;, this.number);
          }
        });
      },
      {
        root: scrollableContainer,
        threshold: [0, 0.5, 1],
        rootMargin: &quot;500px&quot;
      }
    );

    observer.observe(this.element);

In the demo, you will see elements with their respective index number and viewport status displayed in their html element for reference, as they enter the viewport, they will log their entry/exit. 

For example, in iOS Chrome, you will see element#6 entering the viewport on your screen and at the same time element#6 logs it&apos;s intersecting to the console, rootMargin is not working in that instance. However, if you try via Chrome Desktop, when element #6 is entering the viewport on your screen, element #9 or #10 will log to console that it is intersecting because rootMargin detection is working properly and they are the next element that is 500px offscreen and entering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544537</commentid>
    <comment_count>3</comment_count>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2019-06-13 11:25:57 -0700</bug_when>
    <thetext>(In reply to EricD from comment #2)
&gt; Fully reproducible demo here:
&gt; https://edeis53.github.io/inviewport/?version=28e1794

Thanks for the detailed report and test case!

The problem is we were applying the root&apos;s overflow clip before intersecting with the expanded root, so the target was treated as clipped out.

The web platform test for rootMargin only deals with the case where the root is the viewport, so we didn&apos;t catch this earlier.

I&apos;ll upload a patch and add a web platform test for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544575</commentid>
    <comment_count>4</comment_count>
      <attachid>372075</attachid>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2019-06-13 13:01:08 -0700</bug_when>
    <thetext>Created attachment 372075
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544577</commentid>
    <comment_count>5</comment_count>
      <attachid>372076</attachid>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2019-06-13 13:06:45 -0700</bug_when>
    <thetext>Created attachment 372076
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544578</commentid>
    <comment_count>6</comment_count>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2019-06-13 13:07:24 -0700</bug_when>
    <thetext>Submitted web-platform-tests pull request: https://github.com/web-platform-tests/wpt/pull/17323</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544581</commentid>
    <comment_count>7</comment_count>
      <attachid>372076</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-06-13 13:23:59 -0700</bug_when>
    <thetext>Comment on attachment 372076
Patch

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

&gt; Source/WebCore/rendering/RenderObject.cpp:990
&gt;      VisibleRectContext context;
&gt; +    context.m_options.add(VisibleRectContextOption::ApplyContainerClip);

How about:
VisibleRectContext context(false, false, { VisibleRectContextOption::ApplyContainerClip });</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544594</commentid>
    <comment_count>8</comment_count>
      <attachid>372078</attachid>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2019-06-13 14:01:45 -0700</bug_when>
    <thetext>Created attachment 372078
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544744</commentid>
    <comment_count>9</comment_count>
      <attachid>372078</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-14 06:05:19 -0700</bug_when>
    <thetext>Comment on attachment 372078
Patch for landing

Clearing flags on attachment: 372078

Committed r246432: &lt;https://trac.webkit.org/changeset/246432&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544745</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-14 06:05:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1544872</commentid>
    <comment_count>11</comment_count>
    <who name="EricD">nospamthankyou</who>
    <bug_when>2019-06-14 15:32:37 -0700</bug_when>
    <thetext>That&apos;s super cool. Thanks for fixing. How long do patches like this take to show up in a production release of a browser?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1545241</commentid>
    <comment_count>12</comment_count>
    <who name="Ali Juma">ajuma</who>
    <bug_when>2019-06-17 06:02:29 -0700</bug_when>
    <thetext>(In reply to EricD from comment #11)
&gt; That&apos;s super cool. Thanks for fixing. How long do patches like this take to
&gt; show up in a production release of a browser?

On iOS, all browsers use the version of WebKit that ships with the OS itself, so this fix will show up as part of an OS update rather than a browser release. It typically takes a few months from a patch landing to showing up in a release.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372075</attachid>
            <date>2019-06-13 13:01:08 -0700</date>
            <delta_ts>2019-06-13 13:06:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198784-20190613160107.patch</filename>
            <type>text/plain</type>
            <size>8787</size>
            <attacher name="Ali Juma">ajuma</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2MzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDBhZjA5YzY2MTk3ZWM1
NzI0MDgzNjczMjhjZDNjYmQ2YTc4ODVhMy4uOWViOTJhOGRjOTIzMWE3OGVkZGRhY2ZhM2NmNWRl
Y2M3Mjk0NjA3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTA2LTEzICBBbGkg
SnVtYSAgPGFqdW1hQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbnRlcnNlY3Rpb25PYnNlcnZl
ciByb290TWFyZ2luIGRldGVjdGlvbiBmYWlscyB3aGVuIGByb290YCBpcyBhbiBlbGVtZW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg3ODQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIGNvbXB1
dGluZyBhIHRhcmdldCdzIGJvdW5kcyBpbiByb290IHNwYWNlLCB3ZSB3ZXJlIGFwcGx5aW5nIHRo
ZSByb290J3MKKyAgICAgICAgY2xpcCByZWN0IChpZiBhbnkpLCBhbmQgdGhlbiBpbnRlcnNlY3Rp
bmcgd2l0aCB0aGUgcm9vdCByZWN0IGV4cGFuZGVkIGJ5IHRoZQorICAgICAgICByb290IG1hcmdp
bi4gVGhpcyBtZWFudCB0aGF0IGlmIGEgdGFyZ2V0IGRpZCBub3QgaW50ZXJzZWN0IHRoZSBub24t
ZXhwYW5kZWQgcm9vdAorICAgICAgICByZWN0LCB3ZSB3b3VsZCBnZXQgYW4gZW1wdHkgaW50ZXJz
ZWN0aW9uIGV2ZW4gaWYgdGhlIHRhcmdldCBkaWQgaW50ZXJzZWN0IHRoZQorICAgICAgICBleHBh
bmRlZCByb290IHJlY3QuIEZpeCB0aGlzIGJ5IG5vdCBhcHBseWluZyB0aGUgcm9vdCdzIGNsaXAg
cmVjdCB3aGVuIGNvbXB1dGluZworICAgICAgICBhIHRhcmdldCdzIGJvdW5kcyBpbiByb290IHNw
YWNlLiBBZGQgYSBuZXcgVmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uOjpBcHBseUNvbnRhaW5lckNs
aXAKKyAgICAgICAgdGhhdCBkZXRlcm1pbmVzIHdoZXRoZXIgUmVuZGVyT2JqZWN0Ojpjb21wdXRl
VmlzaWJsZVJlY3RJbkNvbnRhaW5lciBzaG91bGQgYXBwbHkKKyAgICAgICAgdGhlIGNvbnRhaW5l
cidzIGNsaXAuCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvcm9vdC1tYXJnaW4tcm9vdC1lbGVtZW50Lmh0bWwKKwor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQm94OjphcHBseUNhY2hlZENsaXBBbmRTY3JvbGxQb3NpdGlvbiBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJP
YmplY3Q6OnZpc2libGVSZWN0Q29udGV4dEZvclJlcGFpbnQpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaDoKKwogMjAxOS0wNi0xMiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBh
cHBsZS5jb20+CiAKICAgICAgICAgKEFzeW5jIHNjcm9sbGluZykgSGFuZGxlICdwb3NpdGlvbjpm
aXhlZCcgaW5zaWRlICdwb3NpdGlvbjpzdGlja3knIGNvcnJlY3RseS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggYzcxZTczY2Y3MjM0NzVjMmUyOGM1Y2U0NWMwMDVj
ZGM3ZDAwOTEwYy4uOTE5MGQyYWUxZTM0ZTExYWY3YzY0ZDZmMWUwZTUzMjA5NDIyMDA0NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTk4Myw3ICs5ODMsOCBAQCBi
b29sIFJlbmRlckJveDo6YXBwbHlDYWNoZWRDbGlwQW5kU2Nyb2xsUG9zaXRpb24oTGF5b3V0UmVj
dCYgcmVjdCwgY29uc3QgUmVuZGVyTAogICAgICAgICByZWN0Lm1vdmVCeSgtc2Nyb2xsUG9zaXRp
b24oKSk7IC8vIEZvciBvdmVyZmxvdzphdXRvL3Njcm9sbC9oaWRkZW4uCiAKICAgICAvLyBEbyBu
b3QgY2xpcCBzY3JvbGwgbGF5ZXIgY29udGVudHMgdG8gcmVkdWNlIHRoZSBudW1iZXIgb2YgcmVw
YWludHMgd2hpbGUgc2Nyb2xsaW5nLgotICAgIGlmICghY29udGV4dC5tX29wdGlvbnMuY29udGFp
bnMoVmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uOjpBcHBseUNvbXBvc2l0ZWRDbGlwcykgJiYgdXNl
c0NvbXBvc2l0ZWRTY3JvbGxpbmcoKSkgeworICAgIGlmICgoIWNvbnRleHQubV9vcHRpb25zLmNv
bnRhaW5zKFZpc2libGVSZWN0Q29udGV4dE9wdGlvbjo6QXBwbHlDb21wb3NpdGVkQ2xpcHMpICYm
IHVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCkpCisgICAgICAgIHx8ICghY29udGV4dC5tX29wdGlv
bnMuY29udGFpbnMoVmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uOjpBcHBseUNvbnRhaW5lckNsaXAp
ICYmIHRoaXMgPT0gY29udGFpbmVyKSkgewogICAgICAgICBmbGlwRm9yV3JpdGluZ01vZGUocmVj
dCk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHAKaW5kZXggZWQ2YTUxNzljNzZiMTYyMGU5ZDY3NWU2OGI4MzY2ZmEy
YjM4MGMzNS4uNGRhMDU0YWY1ZTMxN2YzNjA3MDhmMGJjMmFjNTI2NTgwZjAwY2U3NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTk4Nyw2ICs5ODcsNyBA
QCBib29sIFJlbmRlck9iamVjdDo6c2hvdWxkQXBwbHlDb21wb3NpdGVkQ29udGFpbmVyU2Nyb2xs
c0ZvclJlcGFpbnQoKQogUmVuZGVyT2JqZWN0OjpWaXNpYmxlUmVjdENvbnRleHQgUmVuZGVyT2Jq
ZWN0Ojp2aXNpYmxlUmVjdENvbnRleHRGb3JSZXBhaW50KCkKIHsKICAgICBWaXNpYmxlUmVjdENv
bnRleHQgY29udGV4dDsKKyAgICBjb250ZXh0Lm1fb3B0aW9ucy5hZGQoVmlzaWJsZVJlY3RDb250
ZXh0T3B0aW9uOjpBcHBseUNvbnRhaW5lckNsaXApOwogICAgIGlmIChzaG91bGRBcHBseUNvbXBv
c2l0ZWRDb250YWluZXJTY3JvbGxzRm9yUmVwYWludCgpKQogICAgICAgICBjb250ZXh0Lm1fb3B0
aW9ucy5hZGQoVmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uOjpBcHBseUNvbXBvc2l0ZWRDb250YWlu
ZXJTY3JvbGxzKTsKICAgICByZXR1cm4gY29udGV4dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuaAppbmRleCAwOWFmMGUzMzM0NDllZDBiNTJjNjMxZTI0OTRmZTA0ODJlNmUx
MTUxLi4wNGRhYTk5YmFkODNlOTUxYzQ2OWEzNjVkNmZjNjlhN2Q0MTVlOGYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC02NjgsNiArNjY4LDcgQEAgcHVibGlj
OgogICAgICAgICBVc2VFZGdlSW5jbHVzaXZlSW50ZXJzZWN0aW9uID0gMSA8PCAwLAogICAgICAg
ICBBcHBseUNvbXBvc2l0ZWRDbGlwcyA9IDEgPDwgMSwKICAgICAgICAgQXBwbHlDb21wb3NpdGVk
Q29udGFpbmVyU2Nyb2xscyAgPSAxIDw8IDIsCisgICAgICAgIEFwcGx5Q29udGFpbmVyQ2xpcCA9
IDEgPDwgMywKICAgICB9OwogICAgIHN0cnVjdCBWaXNpYmxlUmVjdENvbnRleHQgewogICAgICAg
ICBWaXNpYmxlUmVjdENvbnRleHQoYm9vbCBoYXNQb3NpdGlvbkZpeGVkRGVzY2VuZGFudCA9IGZh
bHNlLCBib29sIGRpcnR5UmVjdElzRmxpcHBlZCA9IGZhbHNlLCBPcHRpb25TZXQ8VmlzaWJsZVJl
Y3RDb250ZXh0T3B0aW9uPiBvcHRpb25zID0geyB9KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKaW5kZXggOTUzNGIzZmM5YmFhZDFiNjdlNjI5NzBjNjNmZDZkN2NhYjdiOTI3MC4uM2VkYWNh
MGZhNjE3YTIyZTgyMWFlOTU1OGU1M2FmMWRiZGRmYjU0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDYtMTMgIEFsaSBKdW1hICA8YWp1bWFA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIEludGVyc2VjdGlvbk9ic2VydmVyIHJvb3RNYXJnaW4g
ZGV0ZWN0aW9uIGZhaWxzIHdoZW4gYHJvb3RgIGlzIGFuIGVsZW1lbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODc4NAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyc2VjdGlvbi1vYnNlcnZlci9yb290LW1hcmdpbi1yb290LWVsZW1lbnQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2Vy
dmVyL3Jvb3QtbWFyZ2luLXJvb3QtZWxlbWVudC5odG1sOiBBZGRlZC4KKwogMjAxOS0wNi0xMiAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIFdQVCBz
ZXJ2aWNlIHdvcmtlcnMgdGVzdCB1cCB0byAwZGY3YzY4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9y
b290LW1hcmdpbi1yb290LWVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvcm9vdC1tYXJn
aW4tcm9vdC1lbGVtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjBkN2UwOWNhYjFmMjA3
OGU3NDI0ZGU0YjI2NzIxZmEzZjJkNmE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvcm9v
dC1tYXJnaW4tcm9vdC1lbGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKKworUEFT
UyBSb290IG1hcmdpbiB3aXRoIGV4cGxpY2l0IHJvb3QuIAorUEFTUyBGaXJzdCByQUYgCitQQVNT
IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gd2luZG93LmlubmVySGVpZ2h0
LiAKK1BBU1Mgcm9vdC5zY3JvbGxUb3AgPSA1MCwgcHV0dGluZyB0YXJnZXQgaW50byByb290IG1h
cmdpbiAKK1BBU1MgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSAwLiAKK1BB
U1Mgcm9vdC5zY3JvbGxUb3AgPSAwIAorUEFTUyByb290LnNjcm9sbFRvcCA9IDUwIHdpdGggcm9v
dCBzY3JvbGxlZCBvdXQgb2Ygdmlldy4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3Jvb3QtbWFy
Z2luLXJvb3QtZWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvcm9vdC1tYXJnaW4tcm9vdC1lbGVtZW50
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjAxNmQ0NWJkZjUyYWI4NDU1ZmYyMGVkYzdkYThmZGNlZjNhMjRi
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3Jvb3QtbWFyZ2luLXJvb3QtZWxlbWVudC5o
dG1sCkBAIC0wLDAgKzEsOTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2ludGVyc2VjdGlvbi1vYnNlcnZlci10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKworPHN0eWxl
PgorcHJlLCAjbG9nIHsKKyAgcG9zaXRpb246IGFic29sdXRlOworICB0b3A6IDA7CisgIGxlZnQ6
IDIwMHB4OworfQorLnNwYWNlciB7CisgIGhlaWdodDogY2FsYygxMDB2aCArIDEwMHB4KTsKK30K
KyNyb290IHsKKyAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICBvdmVyZmxvdy15OiBzY3JvbGw7
CisgIGhlaWdodDogMjAwcHg7CisgIGJvcmRlcjogM3B4IHNvbGlkIGJsYWNrOworfQorI3Rhcmdl
dCB7CisgIHdpZHRoOiAxMDBweDsKKyAgaGVpZ2h0OiAxMDBweDsKKyAgYmFja2dyb3VuZC1jb2xv
cjogZ3JlZW47Cit9Cis8L3N0eWxlPgorCis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorPGRp
diBpZD0icm9vdCI+CisgIDxkaXYgc3R5bGU9ImhlaWdodDogMzAwcHg7Ij48L2Rpdj4KKyAgPGRp
diBpZD0idGFyZ2V0Ij48L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4K
KworPHNjcmlwdD4KK3ZhciB2dyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0
aDsKK3ZhciB2aCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7CisKK3Zh
ciBlbnRyaWVzID0gW107Cit2YXIgcm9vdCwgdGFyZ2V0OworCitydW5UZXN0Q3ljbGUoZnVuY3Rp
b24oKSB7CisgIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKyAg
YXNzZXJ0X3RydWUoISF0YXJnZXQsICJ0YXJnZXQgZXhpc3RzIik7CisgIHJvb3QgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicm9vdCIpOworICBhc3NlcnRfdHJ1ZSghIXJvb3QsICJyb290IGV4
aXN0cyIpOworICB2YXIgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rp
b24oY2hhbmdlcykgeworICAgIGVudHJpZXMgPSBlbnRyaWVzLmNvbmNhdChjaGFuZ2VzKQorICB9
LCB7IHJvb3Q6IHJvb3QsIHJvb3RNYXJnaW46ICIxMHB4IDIwJSA0MCUgMzBweCIgfSk7CisgIG9i
c2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgZW50cmllcyA9IGVudHJpZXMuY29uY2F0KG9ic2Vy
dmVyLnRha2VSZWNvcmRzKCkpOworICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAwLCAi
Tm8gaW5pdGlhbCBub3RpZmljYXRpb25zLiIpOworICBydW5UZXN0Q3ljbGUoc3RlcDAsICJGaXJz
dCByQUYiKTsKK30sICJSb290IG1hcmdpbiB3aXRoIGV4cGxpY2l0IHJvb3QuIik7CisKK2Z1bmN0
aW9uIHN0ZXAwKCkgeworICBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IHZo
OworICBydW5UZXN0Q3ljbGUoc3RlcDEsICJkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9s
bFRvcCA9IHdpbmRvdy5pbm5lckhlaWdodC4iKTsKKyAgY2hlY2tMYXN0RW50cnkoZW50cmllcywg
MCwgWyAxMSwgMTExLCB2aCArIDQxMSwgdmggKyA1MTEsIDAsIDAsIDAsIDAsIC0xOSwgMTMxLCB2
aCArIDEwMSwgdmggKyAzOTEsIGZhbHNlXSk7Cit9CisKK2Z1bmN0aW9uIHN0ZXAxKCkgeworICBy
b290LnNjcm9sbFRvcCA9IDUwOworICBydW5UZXN0Q3ljbGUoc3RlcDIsICJyb290LnNjcm9sbFRv
cCA9IDUwLCBwdXR0aW5nIHRhcmdldCBpbnRvIHJvb3QgbWFyZ2luIik7CisgIGFzc2VydF9lcXVh
bHMoZW50cmllcy5sZW5ndGgsIDEsICJObyBub3RpZmljYXRpb25zIGFmdGVyIHNjcm9sbGluZyBm
cmFtZS4iKTsKK30KKworZnVuY3Rpb24gc3RlcDIoKSB7CisgIGRvY3VtZW50LnNjcm9sbGluZ0Vs
ZW1lbnQuc2Nyb2xsVG9wID0gMDsKKyAgcnVuVGVzdEN5Y2xlKHN0ZXAzLCAiZG9jdW1lbnQuc2Ny
b2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSAwLiIpOworICBjaGVja0xhc3RFbnRyeShlbnRyaWVz
LCAxLCBbMTEsIDExMSwgMzYxLCA0NjEsIDExLCAxMTEsIDM2MSwgMzkxLCAtMTksIDEzMSwgMTAx
LCAzOTEsIHRydWVdKTsKK30KKworZnVuY3Rpb24gc3RlcDMoKSB7CisgIHJvb3Quc2Nyb2xsVG9w
ID0gMDsKKyAgcnVuVGVzdEN5Y2xlKHN0ZXA0LCAicm9vdC5zY3JvbGxUb3AgPSAwIik7CisgIGNo
ZWNrTGFzdEVudHJ5KGVudHJpZXMsIDEpOworfQorCitmdW5jdGlvbiBzdGVwNCgpIHsKKyAgcm9v
dC5zY3JvbGxUb3AgPSA1MDsKKyAgcnVuVGVzdEN5Y2xlKHN0ZXA1LCAicm9vdC5zY3JvbGxUb3Ag
PSA1MCB3aXRoIHJvb3Qgc2Nyb2xsZWQgb3V0IG9mIHZpZXcuIik7CisgIGNoZWNrTGFzdEVudHJ5
KGVudHJpZXMsIDIsIFsgMTEsIDExMSwgdmggKyA0MTEsIHZoICsgNTExLCAwLCAwLCAwLCAwLCAt
MTksIDEzMSwgdmggKyAxMDEsIHZoICsgMzkxLCBmYWxzZV0pOworfQorCisvLyBUaGlzIHRlc3Rz
IHRoYXQgbm90aWZpY2F0aW9ucyBhcmUgZ2VuZXJhdGVkIGV2ZW4gd2hlbiB0aGUgcm9vdCBlbGVt
ZW50IGlzIG9mZiBzY3JlZW4uCitmdW5jdGlvbiBzdGVwNSgpIHsKKyAgY2hlY2tMYXN0RW50cnko
ZW50cmllcywgMywgWzExLCAxMTEsIHZoICsgMzYxLCB2aCArIDQ2MSwgMTEsIDExMSwgdmggKyAz
NjEsIHZoICsgMzkxLCAtMTksIDEzMSwgdmggKyAxMDEsIHZoICsgMzkxLCB0cnVlXSk7Cit9Cis8
L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372076</attachid>
            <date>2019-06-13 13:06:45 -0700</date>
            <delta_ts>2019-06-13 14:01:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198784-20190613160644.patch</filename>
            <type>text/plain</type>
            <size>8787</size>
            <attacher name="Ali Juma">ajuma</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2MzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDBhZjA5YzY2MTk3ZWM1
NzI0MDgzNjczMjhjZDNjYmQ2YTc4ODVhMy4uOWViOTJhOGRjOTIzMWE3OGVkZGRhY2ZhM2NmNWRl
Y2M3Mjk0NjA3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTA2LTEzICBBbGkg
SnVtYSAgPGFqdW1hQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbnRlcnNlY3Rpb25PYnNlcnZl
ciByb290TWFyZ2luIGRldGVjdGlvbiBmYWlscyB3aGVuIGByb290YCBpcyBhbiBlbGVtZW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg3ODQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIGNvbXB1
dGluZyBhIHRhcmdldCdzIGJvdW5kcyBpbiByb290IHNwYWNlLCB3ZSB3ZXJlIGFwcGx5aW5nIHRo
ZSByb290J3MKKyAgICAgICAgY2xpcCByZWN0IChpZiBhbnkpLCBhbmQgdGhlbiBpbnRlcnNlY3Rp
bmcgd2l0aCB0aGUgcm9vdCByZWN0IGV4cGFuZGVkIGJ5IHRoZQorICAgICAgICByb290IG1hcmdp
bi4gVGhpcyBtZWFudCB0aGF0IGlmIGEgdGFyZ2V0IGRpZCBub3QgaW50ZXJzZWN0IHRoZSBub24t
ZXhwYW5kZWQgcm9vdAorICAgICAgICByZWN0LCB3ZSB3b3VsZCBnZXQgYW4gZW1wdHkgaW50ZXJz
ZWN0aW9uIGV2ZW4gaWYgdGhlIHRhcmdldCBkaWQgaW50ZXJzZWN0IHRoZQorICAgICAgICBleHBh
bmRlZCByb290IHJlY3QuIEZpeCB0aGlzIGJ5IG5vdCBhcHBseWluZyB0aGUgcm9vdCdzIGNsaXAg
cmVjdCB3aGVuIGNvbXB1dGluZworICAgICAgICBhIHRhcmdldCdzIGJvdW5kcyBpbiByb290IHNw
YWNlLiBBZGQgYSBuZXcgVmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uOjpBcHBseUNvbnRhaW5lckNs
aXAKKyAgICAgICAgdGhhdCBkZXRlcm1pbmVzIHdoZXRoZXIgUmVuZGVyT2JqZWN0Ojpjb21wdXRl
VmlzaWJsZVJlY3RJbkNvbnRhaW5lciBzaG91bGQgYXBwbHkKKyAgICAgICAgdGhlIGNvbnRhaW5l
cidzIGNsaXAuCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvcm9vdC1tYXJnaW4tcm9vdC1lbGVtZW50Lmh0bWwKKwor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQm94OjphcHBseUNhY2hlZENsaXBBbmRTY3JvbGxQb3NpdGlvbiBjb25zdCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJP
YmplY3Q6OnZpc2libGVSZWN0Q29udGV4dEZvclJlcGFpbnQpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaDoKKwogMjAxOS0wNi0xMiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBh
cHBsZS5jb20+CiAKICAgICAgICAgKEFzeW5jIHNjcm9sbGluZykgSGFuZGxlICdwb3NpdGlvbjpm
aXhlZCcgaW5zaWRlICdwb3NpdGlvbjpzdGlja3knIGNvcnJlY3RseS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggYzcxZTczY2Y3MjM0NzVjMmUyOGM1Y2U0NWMwMDVj
ZGM3ZDAwOTEwYy4uOTE5MGQyYWUxZTM0ZTExYWY3YzY0ZDZmMWUwZTUzMjA5NDIyMDA0NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTk4Myw3ICs5ODMsOCBAQCBi
b29sIFJlbmRlckJveDo6YXBwbHlDYWNoZWRDbGlwQW5kU2Nyb2xsUG9zaXRpb24oTGF5b3V0UmVj
dCYgcmVjdCwgY29uc3QgUmVuZGVyTAogICAgICAgICByZWN0Lm1vdmVCeSgtc2Nyb2xsUG9zaXRp
b24oKSk7IC8vIEZvciBvdmVyZmxvdzphdXRvL3Njcm9sbC9oaWRkZW4uCiAKICAgICAvLyBEbyBu
b3QgY2xpcCBzY3JvbGwgbGF5ZXIgY29udGVudHMgdG8gcmVkdWNlIHRoZSBudW1iZXIgb2YgcmVw
YWludHMgd2hpbGUgc2Nyb2xsaW5nLgotICAgIGlmICghY29udGV4dC5tX29wdGlvbnMuY29udGFp
bnMoVmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uOjpBcHBseUNvbXBvc2l0ZWRDbGlwcykgJiYgdXNl
c0NvbXBvc2l0ZWRTY3JvbGxpbmcoKSkgeworICAgIGlmICgoIWNvbnRleHQubV9vcHRpb25zLmNv
bnRhaW5zKFZpc2libGVSZWN0Q29udGV4dE9wdGlvbjo6QXBwbHlDb21wb3NpdGVkQ2xpcHMpICYm
IHVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCkpCisgICAgICAgIHx8ICghY29udGV4dC5tX29wdGlv
bnMuY29udGFpbnMoVmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uOjpBcHBseUNvbnRhaW5lckNsaXAp
ICYmIHRoaXMgPT0gY29udGFpbmVyKSkgewogICAgICAgICBmbGlwRm9yV3JpdGluZ01vZGUocmVj
dCk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHAKaW5kZXggZWQ2YTUxNzljNzZiMTYyMGU5ZDY3NWU2OGI4MzY2ZmEy
YjM4MGMzNS4uNGRhMDU0YWY1ZTMxN2YzNjA3MDhmMGJjMmFjNTI2NTgwZjAwY2U3NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTk4Nyw2ICs5ODcsNyBA
QCBib29sIFJlbmRlck9iamVjdDo6c2hvdWxkQXBwbHlDb21wb3NpdGVkQ29udGFpbmVyU2Nyb2xs
c0ZvclJlcGFpbnQoKQogUmVuZGVyT2JqZWN0OjpWaXNpYmxlUmVjdENvbnRleHQgUmVuZGVyT2Jq
ZWN0Ojp2aXNpYmxlUmVjdENvbnRleHRGb3JSZXBhaW50KCkKIHsKICAgICBWaXNpYmxlUmVjdENv
bnRleHQgY29udGV4dDsKKyAgICBjb250ZXh0Lm1fb3B0aW9ucy5hZGQoVmlzaWJsZVJlY3RDb250
ZXh0T3B0aW9uOjpBcHBseUNvbnRhaW5lckNsaXApOwogICAgIGlmIChzaG91bGRBcHBseUNvbXBv
c2l0ZWRDb250YWluZXJTY3JvbGxzRm9yUmVwYWludCgpKQogICAgICAgICBjb250ZXh0Lm1fb3B0
aW9ucy5hZGQoVmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uOjpBcHBseUNvbXBvc2l0ZWRDb250YWlu
ZXJTY3JvbGxzKTsKICAgICByZXR1cm4gY29udGV4dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuaAppbmRleCAwOWFmMGUzMzM0NDllZDBiNTJjNjMxZTI0OTRmZTA0ODJlNmUx
MTUxLi4wNGRhYTk5YmFkODNlOTUxYzQ2OWEzNjVkNmZjNjlhN2Q0MTVlOGYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC02NjgsNiArNjY4LDcgQEAgcHVibGlj
OgogICAgICAgICBVc2VFZGdlSW5jbHVzaXZlSW50ZXJzZWN0aW9uID0gMSA8PCAwLAogICAgICAg
ICBBcHBseUNvbXBvc2l0ZWRDbGlwcyA9IDEgPDwgMSwKICAgICAgICAgQXBwbHlDb21wb3NpdGVk
Q29udGFpbmVyU2Nyb2xscyAgPSAxIDw8IDIsCisgICAgICAgIEFwcGx5Q29udGFpbmVyQ2xpcCA9
IDEgPDwgMywKICAgICB9OwogICAgIHN0cnVjdCBWaXNpYmxlUmVjdENvbnRleHQgewogICAgICAg
ICBWaXNpYmxlUmVjdENvbnRleHQoYm9vbCBoYXNQb3NpdGlvbkZpeGVkRGVzY2VuZGFudCA9IGZh
bHNlLCBib29sIGRpcnR5UmVjdElzRmxpcHBlZCA9IGZhbHNlLCBPcHRpb25TZXQ8VmlzaWJsZVJl
Y3RDb250ZXh0T3B0aW9uPiBvcHRpb25zID0geyB9KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKaW5kZXggOTUzNGIzZmM5YmFhZDFiNjdlNjI5NzBjNjNmZDZkN2NhYjdiOTI3MC4uM2VkYWNh
MGZhNjE3YTIyZTgyMWFlOTU1OGU1M2FmMWRiZGRmYjU0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDYtMTMgIEFsaSBKdW1hICA8YWp1bWFA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIEludGVyc2VjdGlvbk9ic2VydmVyIHJvb3RNYXJnaW4g
ZGV0ZWN0aW9uIGZhaWxzIHdoZW4gYHJvb3RgIGlzIGFuIGVsZW1lbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5ODc4NAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2lu
dGVyc2VjdGlvbi1vYnNlcnZlci9yb290LW1hcmdpbi1yb290LWVsZW1lbnQtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2Vy
dmVyL3Jvb3QtbWFyZ2luLXJvb3QtZWxlbWVudC5odG1sOiBBZGRlZC4KKwogMjAxOS0wNi0xMiAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIFdQVCBz
ZXJ2aWNlIHdvcmtlcnMgdGVzdCB1cCB0byAwZGY3YzY4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9y
b290LW1hcmdpbi1yb290LWVsZW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvcm9vdC1tYXJn
aW4tcm9vdC1lbGVtZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjBkN2UwOWNhYjFmMjA3
OGU3NDI0ZGU0YjI2NzIxZmEzZjJkNmE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvcm9v
dC1tYXJnaW4tcm9vdC1lbGVtZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKKworUEFT
UyBSb290IG1hcmdpbiB3aXRoIGV4cGxpY2l0IHJvb3QuIAorUEFTUyBGaXJzdCByQUYgCitQQVNT
IGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gd2luZG93LmlubmVySGVpZ2h0
LiAKK1BBU1Mgcm9vdC5zY3JvbGxUb3AgPSA1MCwgcHV0dGluZyB0YXJnZXQgaW50byByb290IG1h
cmdpbiAKK1BBU1MgZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSAwLiAKK1BB
U1Mgcm9vdC5zY3JvbGxUb3AgPSAwIAorUEFTUyByb290LnNjcm9sbFRvcCA9IDUwIHdpdGggcm9v
dCBzY3JvbGxlZCBvdXQgb2Ygdmlldy4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3Jvb3QtbWFy
Z2luLXJvb3QtZWxlbWVudC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvcm9vdC1tYXJnaW4tcm9vdC1lbGVtZW50
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjAxNmQ0NWJkZjUyYWI4NDU1ZmYyMGVkYzdkYThmZGNlZjNhMjRi
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3Jvb3QtbWFyZ2luLXJvb3QtZWxlbWVudC5o
dG1sCkBAIC0wLDAgKzEsOTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2Vz
L2ludGVyc2VjdGlvbi1vYnNlcnZlci10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKworPHN0eWxl
PgorcHJlLCAjbG9nIHsKKyAgcG9zaXRpb246IGFic29sdXRlOworICB0b3A6IDA7CisgIGxlZnQ6
IDIwMHB4OworfQorLnNwYWNlciB7CisgIGhlaWdodDogY2FsYygxMDB2aCArIDEwMHB4KTsKK30K
KyNyb290IHsKKyAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICBvdmVyZmxvdy15OiBzY3JvbGw7
CisgIGhlaWdodDogMjAwcHg7CisgIGJvcmRlcjogM3B4IHNvbGlkIGJsYWNrOworfQorI3Rhcmdl
dCB7CisgIHdpZHRoOiAxMDBweDsKKyAgaGVpZ2h0OiAxMDBweDsKKyAgYmFja2dyb3VuZC1jb2xv
cjogZ3JlZW47Cit9Cis8L3N0eWxlPgorCis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorPGRp
diBpZD0icm9vdCI+CisgIDxkaXYgc3R5bGU9ImhlaWdodDogMzAwcHg7Ij48L2Rpdj4KKyAgPGRp
diBpZD0idGFyZ2V0Ij48L2Rpdj4KKzwvZGl2PgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4K
KworPHNjcmlwdD4KK3ZhciB2dyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0
aDsKK3ZhciB2aCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7CisKK3Zh
ciBlbnRyaWVzID0gW107Cit2YXIgcm9vdCwgdGFyZ2V0OworCitydW5UZXN0Q3ljbGUoZnVuY3Rp
b24oKSB7CisgIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKyAg
YXNzZXJ0X3RydWUoISF0YXJnZXQsICJ0YXJnZXQgZXhpc3RzIik7CisgIHJvb3QgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicm9vdCIpOworICBhc3NlcnRfdHJ1ZSghIXJvb3QsICJyb290IGV4
aXN0cyIpOworICB2YXIgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rp
b24oY2hhbmdlcykgeworICAgIGVudHJpZXMgPSBlbnRyaWVzLmNvbmNhdChjaGFuZ2VzKQorICB9
LCB7IHJvb3Q6IHJvb3QsIHJvb3RNYXJnaW46ICIxMHB4IDIwJSA0MCUgMzBweCIgfSk7CisgIG9i
c2VydmVyLm9ic2VydmUodGFyZ2V0KTsKKyAgZW50cmllcyA9IGVudHJpZXMuY29uY2F0KG9ic2Vy
dmVyLnRha2VSZWNvcmRzKCkpOworICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAwLCAi
Tm8gaW5pdGlhbCBub3RpZmljYXRpb25zLiIpOworICBydW5UZXN0Q3ljbGUoc3RlcDAsICJGaXJz
dCByQUYiKTsKK30sICJSb290IG1hcmdpbiB3aXRoIGV4cGxpY2l0IHJvb3QuIik7CisKK2Z1bmN0
aW9uIHN0ZXAwKCkgeworICBkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IHZo
OworICBydW5UZXN0Q3ljbGUoc3RlcDEsICJkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9s
bFRvcCA9IHdpbmRvdy5pbm5lckhlaWdodC4iKTsKKyAgY2hlY2tMYXN0RW50cnkoZW50cmllcywg
MCwgWyAxMSwgMTExLCB2aCArIDQxMSwgdmggKyA1MTEsIDAsIDAsIDAsIDAsIC0xOSwgMTMxLCB2
aCArIDEwMSwgdmggKyAzOTEsIGZhbHNlXSk7Cit9CisKK2Z1bmN0aW9uIHN0ZXAxKCkgeworICBy
b290LnNjcm9sbFRvcCA9IDUwOworICBydW5UZXN0Q3ljbGUoc3RlcDIsICJyb290LnNjcm9sbFRv
cCA9IDUwLCBwdXR0aW5nIHRhcmdldCBpbnRvIHJvb3QgbWFyZ2luIik7CisgIGFzc2VydF9lcXVh
bHMoZW50cmllcy5sZW5ndGgsIDEsICJObyBub3RpZmljYXRpb25zIGFmdGVyIHNjcm9sbGluZyBm
cmFtZS4iKTsKK30KKworZnVuY3Rpb24gc3RlcDIoKSB7CisgIGRvY3VtZW50LnNjcm9sbGluZ0Vs
ZW1lbnQuc2Nyb2xsVG9wID0gMDsKKyAgcnVuVGVzdEN5Y2xlKHN0ZXAzLCAiZG9jdW1lbnQuc2Ny
b2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSAwLiIpOworICBjaGVja0xhc3RFbnRyeShlbnRyaWVz
LCAxLCBbMTEsIDExMSwgMzYxLCA0NjEsIDExLCAxMTEsIDM2MSwgMzkxLCAtMTksIDEzMSwgMTAx
LCAzOTEsIHRydWVdKTsKK30KKworZnVuY3Rpb24gc3RlcDMoKSB7CisgIHJvb3Quc2Nyb2xsVG9w
ID0gMDsKKyAgcnVuVGVzdEN5Y2xlKHN0ZXA0LCAicm9vdC5zY3JvbGxUb3AgPSAwIik7CisgIGNo
ZWNrTGFzdEVudHJ5KGVudHJpZXMsIDEpOworfQorCitmdW5jdGlvbiBzdGVwNCgpIHsKKyAgcm9v
dC5zY3JvbGxUb3AgPSA1MDsKKyAgcnVuVGVzdEN5Y2xlKHN0ZXA1LCAicm9vdC5zY3JvbGxUb3Ag
PSA1MCB3aXRoIHJvb3Qgc2Nyb2xsZWQgb3V0IG9mIHZpZXcuIik7CisgIGNoZWNrTGFzdEVudHJ5
KGVudHJpZXMsIDIsIFsgMTEsIDExMSwgdmggKyA0MTEsIHZoICsgNTExLCAwLCAwLCAwLCAwLCAt
MTksIDEzMSwgdmggKyAxMDEsIHZoICsgMzkxLCBmYWxzZV0pOworfQorCisvLyBUaGlzIHRlc3Rz
IHRoYXQgbm90aWZpY2F0aW9ucyBhcmUgZ2VuZXJhdGVkIGV2ZW4gd2hlbiB0aGUgcm9vdCBlbGVt
ZW50IGlzIG9mZiBzY3JlZW4uCitmdW5jdGlvbiBzdGVwNSgpIHsKKyAgY2hlY2tMYXN0RW50cnko
ZW50cmllcywgMywgWzExLCAxMTEsIHZoICsgMzYxLCB2aCArIDQ2MSwgMTEsIDExMSwgdmggKyAz
NjEsIHZoICsgMzkxLCAtMTksIDEzMSwgdmggKyAxMDEsIHZoICsgMzkxLCB0cnVlXSk7Cit9Cis8
L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372078</attachid>
            <date>2019-06-13 14:01:45 -0700</date>
            <delta_ts>2019-06-14 06:05:19 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-198784-20190613170144.patch</filename>
            <type>text/plain</type>
            <size>8880</size>
            <attacher name="Ali Juma">ajuma</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2MzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDBhZjA5YzY2MTk3ZWM1
NzI0MDgzNjczMjhjZDNjYmQ2YTc4ODVhMy4uYjdkMzZjNGRiY2E3NDA3YTNjNjI1NzhiNjlkODYw
ZDY1MTBiZTNmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTA2LTEzICBBbGkg
SnVtYSAgPGFqdW1hQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbnRlcnNlY3Rpb25PYnNlcnZl
ciByb290TWFyZ2luIGRldGVjdGlvbiBmYWlscyB3aGVuIGByb290YCBpcyBhbiBlbGVtZW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg3ODQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgV2hlbiBjb21wdXRp
bmcgYSB0YXJnZXQncyBib3VuZHMgaW4gcm9vdCBzcGFjZSwgd2Ugd2VyZSBhcHBseWluZyB0aGUg
cm9vdCdzCisgICAgICAgIGNsaXAgcmVjdCAoaWYgYW55KSwgYW5kIHRoZW4gaW50ZXJzZWN0aW5n
IHdpdGggdGhlIHJvb3QgcmVjdCBleHBhbmRlZCBieSB0aGUKKyAgICAgICAgcm9vdCBtYXJnaW4u
IFRoaXMgbWVhbnQgdGhhdCBpZiBhIHRhcmdldCBkaWQgbm90IGludGVyc2VjdCB0aGUgbm9uLWV4
cGFuZGVkIHJvb3QKKyAgICAgICAgcmVjdCwgd2Ugd291bGQgZ2V0IGFuIGVtcHR5IGludGVyc2Vj
dGlvbiBldmVuIGlmIHRoZSB0YXJnZXQgZGlkIGludGVyc2VjdCB0aGUKKyAgICAgICAgZXhwYW5k
ZWQgcm9vdCByZWN0LiBGaXggdGhpcyBieSBub3QgYXBwbHlpbmcgdGhlIHJvb3QncyBjbGlwIHJl
Y3Qgd2hlbiBjb21wdXRpbmcKKyAgICAgICAgYSB0YXJnZXQncyBib3VuZHMgaW4gcm9vdCBzcGFj
ZS4gQWRkIGEgbmV3IFZpc2libGVSZWN0Q29udGV4dE9wdGlvbjo6QXBwbHlDb250YWluZXJDbGlw
CisgICAgICAgIHRoYXQgZGV0ZXJtaW5lcyB3aGV0aGVyIFJlbmRlck9iamVjdDo6Y29tcHV0ZVZp
c2libGVSZWN0SW5Db250YWluZXIgc2hvdWxkIGFwcGx5CisgICAgICAgIHRoZSBjb250YWluZXIn
cyBjbGlwLgorCisgICAgICAgIFRlc3Q6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aW50ZXJzZWN0aW9uLW9ic2VydmVyL3Jvb3QtbWFyZ2luLXJvb3QtZWxlbWVudC5odG1sCisKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveDo6YXBwbHlDYWNoZWRDbGlwQW5kU2Nyb2xsUG9zaXRpb24gY29uc3QpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2Jq
ZWN0Ojp2aXNpYmxlUmVjdENvbnRleHRGb3JSZXBhaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyT2JqZWN0Lmg6CisKIDIwMTktMDYtMTIgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBw
bGUuY29tPgogCiAgICAgICAgIChBc3luYyBzY3JvbGxpbmcpIEhhbmRsZSAncG9zaXRpb246Zml4
ZWQnIGluc2lkZSAncG9zaXRpb246c3RpY2t5JyBjb3JyZWN0bHkuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guY3BwCmluZGV4IGM3MWU3M2NmNzIzNDc1YzJlMjhjNWNlNDVjMDA1Y2Rj
N2QwMDkxMGMuLjkxOTBkMmFlMWUzNGUxMWFmN2M2NGQ2ZjFlMGU1MzIwOTQyMjAwNDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC05ODMsNyArOTgzLDggQEAgYm9v
bCBSZW5kZXJCb3g6OmFwcGx5Q2FjaGVkQ2xpcEFuZFNjcm9sbFBvc2l0aW9uKExheW91dFJlY3Qm
IHJlY3QsIGNvbnN0IFJlbmRlckwKICAgICAgICAgcmVjdC5tb3ZlQnkoLXNjcm9sbFBvc2l0aW9u
KCkpOyAvLyBGb3Igb3ZlcmZsb3c6YXV0by9zY3JvbGwvaGlkZGVuLgogCiAgICAgLy8gRG8gbm90
IGNsaXAgc2Nyb2xsIGxheWVyIGNvbnRlbnRzIHRvIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHJlcGFp
bnRzIHdoaWxlIHNjcm9sbGluZy4KLSAgICBpZiAoIWNvbnRleHQubV9vcHRpb25zLmNvbnRhaW5z
KFZpc2libGVSZWN0Q29udGV4dE9wdGlvbjo6QXBwbHlDb21wb3NpdGVkQ2xpcHMpICYmIHVzZXND
b21wb3NpdGVkU2Nyb2xsaW5nKCkpIHsKKyAgICBpZiAoKCFjb250ZXh0Lm1fb3B0aW9ucy5jb250
YWlucyhWaXNpYmxlUmVjdENvbnRleHRPcHRpb246OkFwcGx5Q29tcG9zaXRlZENsaXBzKSAmJiB1
c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpKQorICAgICAgICB8fCAoIWNvbnRleHQubV9vcHRpb25z
LmNvbnRhaW5zKFZpc2libGVSZWN0Q29udGV4dE9wdGlvbjo6QXBwbHlDb250YWluZXJDbGlwKSAm
JiB0aGlzID09IGNvbnRhaW5lcikpIHsKICAgICAgICAgZmxpcEZvcldyaXRpbmdNb2RlKHJlY3Qp
OwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwCmluZGV4IGVkNmE1MTc5Yzc2YjE2MjBlOWQ2NzVlNjhiODM2NmZhMmIz
ODBjMzUuLmI5MzEwZGYyZDUwZjZmMzkwM2NiYmZmNDVhNWRjMDk2OGQyYjg0ZGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC05ODYsNyArOTg2LDcgQEAg
Ym9vbCBSZW5kZXJPYmplY3Q6OnNob3VsZEFwcGx5Q29tcG9zaXRlZENvbnRhaW5lclNjcm9sbHNG
b3JSZXBhaW50KCkKIAogUmVuZGVyT2JqZWN0OjpWaXNpYmxlUmVjdENvbnRleHQgUmVuZGVyT2Jq
ZWN0Ojp2aXNpYmxlUmVjdENvbnRleHRGb3JSZXBhaW50KCkKIHsKLSAgICBWaXNpYmxlUmVjdENv
bnRleHQgY29udGV4dDsKKyAgICBWaXNpYmxlUmVjdENvbnRleHQgY29udGV4dChmYWxzZSwgZmFs
c2UsIHsgVmlzaWJsZVJlY3RDb250ZXh0T3B0aW9uOjpBcHBseUNvbnRhaW5lckNsaXAgfSk7CiAg
ICAgaWYgKHNob3VsZEFwcGx5Q29tcG9zaXRlZENvbnRhaW5lclNjcm9sbHNGb3JSZXBhaW50KCkp
CiAgICAgICAgIGNvbnRleHQubV9vcHRpb25zLmFkZChWaXNpYmxlUmVjdENvbnRleHRPcHRpb246
OkFwcGx5Q29tcG9zaXRlZENvbnRhaW5lclNjcm9sbHMpOwogICAgIHJldHVybiBjb250ZXh0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IDA5YWYwZTMzMzQ0OWVk
MGI1MmM2MzFlMjQ5NGZlMDQ4MmU2ZTExNTEuLjA0ZGFhOTliYWQ4M2U5NTFjNDY5YTM2NWQ2ZmM2
OWE3ZDQxNWU4ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAg
LTY2OCw2ICs2NjgsNyBAQCBwdWJsaWM6CiAgICAgICAgIFVzZUVkZ2VJbmNsdXNpdmVJbnRlcnNl
Y3Rpb24gPSAxIDw8IDAsCiAgICAgICAgIEFwcGx5Q29tcG9zaXRlZENsaXBzID0gMSA8PCAxLAog
ICAgICAgICBBcHBseUNvbXBvc2l0ZWRDb250YWluZXJTY3JvbGxzICA9IDEgPDwgMiwKKyAgICAg
ICAgQXBwbHlDb250YWluZXJDbGlwID0gMSA8PCAzLAogICAgIH07CiAgICAgc3RydWN0IFZpc2li
bGVSZWN0Q29udGV4dCB7CiAgICAgICAgIFZpc2libGVSZWN0Q29udGV4dChib29sIGhhc1Bvc2l0
aW9uRml4ZWREZXNjZW5kYW50ID0gZmFsc2UsIGJvb2wgZGlydHlSZWN0SXNGbGlwcGVkID0gZmFs
c2UsIE9wdGlvblNldDxWaXNpYmxlUmVjdENvbnRleHRPcHRpb24+IG9wdGlvbnMgPSB7IH0pCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA5NTM0YjNmYzliYWFkMWI2N2U2Mjk3MGM2
M2ZkNmQ3Y2FiN2I5MjcwLi5mMjJkYjg3ZjFiZWI0NjlmZWRkNzk2ZGFiOTk5NTVlNGFiNzUzZTM2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0w
Ni0xMyAgQWxpIEp1bWEgIDxhanVtYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW50ZXJzZWN0
aW9uT2JzZXJ2ZXIgcm9vdE1hcmdpbiBkZXRlY3Rpb24gZmFpbHMgd2hlbiBgcm9vdGAgaXMgYW4g
ZWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTk4Nzg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIElt
cG9ydCBodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdC9wdWxsLzE3MzIz
LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9y
b290LW1hcmdpbi1yb290LWVsZW1lbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3Jvb3QtbWFyZ2luLXJvb3Qt
ZWxlbWVudC5odG1sOiBBZGRlZC4KKwogMjAxOS0wNi0xMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIFdQVCBzZXJ2aWNlIHdvcmtlcnMgdGVzdCB1
cCB0byAwZGY3YzY4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ludGVyc2VjdGlvbi1vYnNlcnZlci9yb290LW1hcmdpbi1yb290LWVsZW1l
bnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvcm9vdC1tYXJnaW4tcm9vdC1lbGVtZW50LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zNjBkN2UwOWNhYjFmMjA3OGU3NDI0ZGU0YjI2NzIxZmEzZjJk
NmE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXIvcm9vdC1tYXJnaW4tcm9vdC1lbGVtZW50
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKKworUEFTUyBSb290IG1hcmdpbiB3aXRoIGV4
cGxpY2l0IHJvb3QuIAorUEFTUyBGaXJzdCByQUYgCitQQVNTIGRvY3VtZW50LnNjcm9sbGluZ0Vs
ZW1lbnQuc2Nyb2xsVG9wID0gd2luZG93LmlubmVySGVpZ2h0LiAKK1BBU1Mgcm9vdC5zY3JvbGxU
b3AgPSA1MCwgcHV0dGluZyB0YXJnZXQgaW50byByb290IG1hcmdpbiAKK1BBU1MgZG9jdW1lbnQu
c2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxUb3AgPSAwLiAKK1BBU1Mgcm9vdC5zY3JvbGxUb3AgPSAw
IAorUEFTUyByb290LnNjcm9sbFRvcCA9IDUwIHdpdGggcm9vdCBzY3JvbGxlZCBvdXQgb2Ygdmll
dy4gCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaW50ZXJzZWN0aW9uLW9ic2VydmVyL3Jvb3QtbWFyZ2luLXJvb3QtZWxlbWVudC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9pbnRlcnNlY3Rp
b24tb2JzZXJ2ZXIvcm9vdC1tYXJnaW4tcm9vdC1lbGVtZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjAx
NmQ0NWJkZjUyYWI4NDU1ZmYyMGVkYzdkYThmZGNlZjNhMjRiOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaW50ZXJzZWN0aW9u
LW9ic2VydmVyL3Jvb3QtbWFyZ2luLXJvb3QtZWxlbWVudC5odG1sCkBAIC0wLDAgKzEsOTAgQEAK
KzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4vcmVzb3VyY2VzL2ludGVyc2VjdGlvbi1vYnNlcnZl
ci10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKworPHN0eWxlPgorcHJlLCAjbG9nIHsKKyAgcG9z
aXRpb246IGFic29sdXRlOworICB0b3A6IDA7CisgIGxlZnQ6IDIwMHB4OworfQorLnNwYWNlciB7
CisgIGhlaWdodDogY2FsYygxMDB2aCArIDEwMHB4KTsKK30KKyNyb290IHsKKyAgZGlzcGxheTog
aW5saW5lLWJsb2NrOworICBvdmVyZmxvdy15OiBzY3JvbGw7CisgIGhlaWdodDogMjAwcHg7Cisg
IGJvcmRlcjogM3B4IHNvbGlkIGJsYWNrOworfQorI3RhcmdldCB7CisgIHdpZHRoOiAxMDBweDsK
KyAgaGVpZ2h0OiAxMDBweDsKKyAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47Cit9Cis8L3N0eWxl
PgorCis8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorPGRpdiBpZD0icm9vdCI+CisgIDxkaXYg
c3R5bGU9ImhlaWdodDogMzAwcHg7Ij48L2Rpdj4KKyAgPGRpdiBpZD0idGFyZ2V0Ij48L2Rpdj4K
KzwvZGl2PgorPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKworPHNjcmlwdD4KK3ZhciB2dyA9
IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDsKK3ZhciB2aCA9IGRvY3VtZW50
LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7CisKK3ZhciBlbnRyaWVzID0gW107Cit2YXIg
cm9vdCwgdGFyZ2V0OworCitydW5UZXN0Q3ljbGUoZnVuY3Rpb24oKSB7CisgIHRhcmdldCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKKyAgYXNzZXJ0X3RydWUoISF0YXJnZXQs
ICJ0YXJnZXQgZXhpc3RzIik7CisgIHJvb3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicm9v
dCIpOworICBhc3NlcnRfdHJ1ZSghIXJvb3QsICJyb290IGV4aXN0cyIpOworICB2YXIgb2JzZXJ2
ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oY2hhbmdlcykgeworICAgIGVu
dHJpZXMgPSBlbnRyaWVzLmNvbmNhdChjaGFuZ2VzKQorICB9LCB7IHJvb3Q6IHJvb3QsIHJvb3RN
YXJnaW46ICIxMHB4IDIwJSA0MCUgMzBweCIgfSk7CisgIG9ic2VydmVyLm9ic2VydmUodGFyZ2V0
KTsKKyAgZW50cmllcyA9IGVudHJpZXMuY29uY2F0KG9ic2VydmVyLnRha2VSZWNvcmRzKCkpOwor
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAwLCAiTm8gaW5pdGlhbCBub3RpZmljYXRp
b25zLiIpOworICBydW5UZXN0Q3ljbGUoc3RlcDAsICJGaXJzdCByQUYiKTsKK30sICJSb290IG1h
cmdpbiB3aXRoIGV4cGxpY2l0IHJvb3QuIik7CisKK2Z1bmN0aW9uIHN0ZXAwKCkgeworICBkb2N1
bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IHZoOworICBydW5UZXN0Q3ljbGUoc3Rl
cDEsICJkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50LnNjcm9sbFRvcCA9IHdpbmRvdy5pbm5lckhl
aWdodC4iKTsKKyAgY2hlY2tMYXN0RW50cnkoZW50cmllcywgMCwgWyAxMSwgMTExLCB2aCArIDQx
MSwgdmggKyA1MTEsIDAsIDAsIDAsIDAsIC0xOSwgMTMxLCB2aCArIDEwMSwgdmggKyAzOTEsIGZh
bHNlXSk7Cit9CisKK2Z1bmN0aW9uIHN0ZXAxKCkgeworICByb290LnNjcm9sbFRvcCA9IDUwOwor
ICBydW5UZXN0Q3ljbGUoc3RlcDIsICJyb290LnNjcm9sbFRvcCA9IDUwLCBwdXR0aW5nIHRhcmdl
dCBpbnRvIHJvb3QgbWFyZ2luIik7CisgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEs
ICJObyBub3RpZmljYXRpb25zIGFmdGVyIHNjcm9sbGluZyBmcmFtZS4iKTsKK30KKworZnVuY3Rp
b24gc3RlcDIoKSB7CisgIGRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsVG9wID0gMDsK
KyAgcnVuVGVzdEN5Y2xlKHN0ZXAzLCAiZG9jdW1lbnQuc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxU
b3AgPSAwLiIpOworICBjaGVja0xhc3RFbnRyeShlbnRyaWVzLCAxLCBbMTEsIDExMSwgMzYxLCA0
NjEsIDExLCAxMTEsIDM2MSwgMzkxLCAtMTksIDEzMSwgMTAxLCAzOTEsIHRydWVdKTsKK30KKwor
ZnVuY3Rpb24gc3RlcDMoKSB7CisgIHJvb3Quc2Nyb2xsVG9wID0gMDsKKyAgcnVuVGVzdEN5Y2xl
KHN0ZXA0LCAicm9vdC5zY3JvbGxUb3AgPSAwIik7CisgIGNoZWNrTGFzdEVudHJ5KGVudHJpZXMs
IDEpOworfQorCitmdW5jdGlvbiBzdGVwNCgpIHsKKyAgcm9vdC5zY3JvbGxUb3AgPSA1MDsKKyAg
cnVuVGVzdEN5Y2xlKHN0ZXA1LCAicm9vdC5zY3JvbGxUb3AgPSA1MCB3aXRoIHJvb3Qgc2Nyb2xs
ZWQgb3V0IG9mIHZpZXcuIik7CisgIGNoZWNrTGFzdEVudHJ5KGVudHJpZXMsIDIsIFsgMTEsIDEx
MSwgdmggKyA0MTEsIHZoICsgNTExLCAwLCAwLCAwLCAwLCAtMTksIDEzMSwgdmggKyAxMDEsIHZo
ICsgMzkxLCBmYWxzZV0pOworfQorCisvLyBUaGlzIHRlc3RzIHRoYXQgbm90aWZpY2F0aW9ucyBh
cmUgZ2VuZXJhdGVkIGV2ZW4gd2hlbiB0aGUgcm9vdCBlbGVtZW50IGlzIG9mZiBzY3JlZW4uCitm
dW5jdGlvbiBzdGVwNSgpIHsKKyAgY2hlY2tMYXN0RW50cnkoZW50cmllcywgMywgWzExLCAxMTEs
IHZoICsgMzYxLCB2aCArIDQ2MSwgMTEsIDExMSwgdmggKyAzNjEsIHZoICsgMzkxLCAtMTksIDEz
MSwgdmggKyAxMDEsIHZoICsgMzkxLCB0cnVlXSk7Cit9Cis8L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>