<?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>205527</bug_id>
          
          <creation_ts>2019-12-20 15:58:43 -0800</creation_ts>
          <short_desc>REGRESSION (r212693): getClientRects(), getBoundingClientRect() for range that spans multi-lines differs depending on whether text is selected</short_desc>
          <delta_ts>2019-12-23 16:32:12 -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>Text</component>
          <version>WebKit Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=205563</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>168613</dependson>
          <blocked>205563</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pdr</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1600996</commentid>
    <comment_count>0</comment_count>
      <attachid>386273</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-20 15:58:43 -0800</bug_when>
    <thetext>Created attachment 386273
Test

Steps to reproduce:

1. Open the attached test.

The results before selection and after selection should be identical! They are not.

Maybe this bug should be split into two: one for getClientRects() and one for getBoundingClientRect()? Filing one bug for now as I think the root cause will address both issues also since getBoundingClientRect() is spec&apos;ed to use the result of getClientRects().

I suspect the difference is due to whether we are using simple line layout (the &quot;before selection&quot; result) and line box layout (the &quot;after selection case&quot;). Simple line layout does not appears to return a rect when the selection is at the boundary. In the test case this is the box that represents the &quot; &quot; at the end of the first line, which also happens to coincide with where the text wraps. Simple line layout does not account for this and simply returns the rects from the second line! Line box layout does account for this. I made sure it did as part of the fix for bug #160786.

I suspect ^^^ is also the reason why getBoundingClientRect() returns differing results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600997</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-20 15:58:54 -0800</bug_when>
    <thetext>&lt;rdar://problem/58128278&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601256</commentid>
    <comment_count>2</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-23 09:10:52 -0800</bug_when>
    <thetext>Regressed with fix for bug #168613.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601273</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-23 11:50:22 -0800</bug_when>
    <thetext>I&apos;m going to take a stab at this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601275</commentid>
    <comment_count>4</comment_count>
      <attachid>386346</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-23 11:54:34 -0800</bug_when>
    <thetext>Created attachment 386346
For the bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601286</commentid>
    <comment_count>5</comment_count>
      <attachid>386346</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-23 12:50:20 -0800</bug_when>
    <thetext>Comment on attachment 386346
For the bots

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

&gt; Source/WebCore/rendering/SimpleLineLayoutResolver.cpp:-308
&gt; -    // Special case empty ranges that start at the edge of the run. Apparently normal line layout include those.
&gt; -    if (localEnd == startOffset &amp;&amp; (*it).start() == localEnd)
&gt; -        return { rangeBegin, ++it };

Can&apos;t delete this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601293</commentid>
    <comment_count>6</comment_count>
      <attachid>386351</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-23 13:30:22 -0800</bug_when>
    <thetext>Created attachment 386351
For the bots now with Mac-only tests

Added likely Mac-specific tests...maybe iOS will match. Let us see...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601294</commentid>
    <comment_count>7</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-23 13:31:36 -0800</bug_when>
    <thetext>Forgot to mention test has expected failure results due to bug #205563</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601299</commentid>
    <comment_count>8</comment_count>
      <attachid>386356</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-23 14:40:06 -0800</bug_when>
    <thetext>Created attachment 386356
Patch and Mac-specific test

For now add a Mac-specific test. I will look to come up with a more general purpose test. One way to do this is to use the Ahem font, but it is a bit tricky as I need to figure out the right Web API to ensure that test waits until it has loaded. The Mac-specific test is still useful because this same test can be used for bug #205563. Using Ahem actually masks bug #205563 because Ahem glyphs are too square that it does not allow testing of line layout rouding. Right now, I see a future of having both an Ahem-based version of this test and a Mac-specific one. Maybe drawing borders around the client/border rects could be a way to write a 100% platform-independent, text-metric agnostic test. I will think about it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601300</commentid>
    <comment_count>9</comment_count>
      <attachid>386357</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-23 14:43:28 -0800</bug_when>
    <thetext>Created attachment 386357
Patch and Mac-specific test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601320</commentid>
    <comment_count>10</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-23 15:40:12 -0800</bug_when>
    <thetext>Thank you Zalan!!!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601321</commentid>
    <comment_count>11</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-23 15:40:23 -0800</bug_when>
    <thetext>Alan!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601326</commentid>
    <comment_count>12</comment_count>
      <attachid>386357</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-23 15:49:17 -0800</bug_when>
    <thetext>Comment on attachment 386357
Patch and Mac-specific test

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

&gt; LayoutTests/fast/dom/Range/mac/getClientRects-and-getBoundingClientRect-before-and-after-selection.html:17
&gt; +&lt;pre id=&quot;console&quot;&gt;&lt;/pre&gt;

Oops! That&apos;s stray markup from the original test. Will remove before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601333</commentid>
    <comment_count>13</comment_count>
      <attachid>386357</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-23 16:32:10 -0800</bug_when>
    <thetext>Comment on attachment 386357
Patch and Mac-specific test

Clearing flags on attachment: 386357

Committed r253893: &lt;https://trac.webkit.org/changeset/253893&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601334</commentid>
    <comment_count>14</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-23 16:32:12 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>386273</attachid>
            <date>2019-12-20 15:58:43 -0800</date>
            <delta_ts>2019-12-20 15:58:43 -0800</delta_ts>
            <desc>Test</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>1523</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">PHN0eWxlPgp0ZXN0IHsKICAgIGZvbnQtZmFtaWx5OiAiVGltZXMiOwogICAgZm9udC1zaXplOiAx
NnB4Owp9Cjwvc3R5bGU+CjxkaXYgaWQ9InRlc3QiIHN0eWxlPSJ3aWR0aDogMTgwcHg7Ij5UaGlz
IGlzIGEgc2VudGVuY2UgdGhhdCBpcyBsb25nIGVub3VnaCB0byBzcGFuIDIgbGluZXMuPC9kaXY+
CjxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgo8c2NyaXB0PgoKICAgIGxldCB0ZXN0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKICAgIGxldCByYW5nZSA9IGRvY3VtZW50LmNyZWF0
ZVJhbmdlKCk7CiAgICByYW5nZS5zZXRTdGFydCh0ZXN0LmZpcnN0Q2hpbGQsICJUaGlzIGlzIGEg
c2VudGVuY2UgdGhhdCBpcyIubGVuZ3RoKTsKICAgIHJhbmdlLnNldEVuZCh0ZXN0LmZpcnN0Q2hp
bGQsICJUaGlzIGlzIGEgc2VudGVuY2UgdGhhdCBpcyBsb25nIi5sZW5ndGgpOwoKICAgIGxvZ01l
c3NhZ2UoImdldENsaWVudFJlY3RzOiBCZWZvcmUgc2VsZWN0aW9uOiIpOwogICAgbGV0IHJlY3Rz
ID0gcmFuZ2UuZ2V0Q2xpZW50UmVjdHMoKTsKICAgIGxvZ01lc3NhZ2UoYEdvdCAke3JlY3RzLmxl
bmd0aH0gZm9yICIke3JhbmdlLnRvU3RyaW5nKCl9ImApOwogICAgZm9yIChsZXQgaSA9IDAsIGNv
dW50ID0gcmVjdHMubGVuZ3RoOyBpIDwgY291bnQ7ICsraSkKICAgICAgICBsb2dNZXNzYWdlKGBb
JHtpfV0gPSAke0pTT04uc3RyaW5naWZ5KHJlY3RzW2ldKX1gKTsKCiAgICBsb2dNZXNzYWdlKCIi
KTsKICAgIGxvZ01lc3NhZ2UoImdldEJvdW5kaW5nQ2xpZW50UmVjdDogQmVmb3JlIHNlbGVjdGlv
bjoiKTsKICAgIGxvZ01lc3NhZ2UoSlNPTi5zdHJpbmdpZnkocmFuZ2UuZ2V0Qm91bmRpbmdDbGll
bnRSZWN0KCkpKTsKCiAgICAvLyBXaXRob3V0IAogICAgd2luZG93LmdldFNlbGVjdGlvbigpLnNl
bGVjdEFsbENoaWxkcmVuKHRlc3QpOwoKICAgIGxvZ01lc3NhZ2UoIiIpOwogICAgbG9nTWVzc2Fn
ZSgiZ2V0Q2xpZW50UmVjdHM6IEFmdGVyIHNlbGVjdGlvbjoiKTsKICAgIHJlY3RzID0gcmFuZ2Uu
Z2V0Q2xpZW50UmVjdHMoKTsKICAgIGxvZ01lc3NhZ2UoYEdvdCAke3JlY3RzLmxlbmd0aH0gZm9y
ICIke3JhbmdlLnRvU3RyaW5nKCl9ImApOwogICAgZm9yIChsZXQgaSA9IDAsIGNvdW50ID0gcmVj
dHMubGVuZ3RoOyBpIDwgY291bnQ7ICsraSkKICAgICAgICBsb2dNZXNzYWdlKGBbJHtpfV0gPSAk
e0pTT04uc3RyaW5naWZ5KHJlY3RzW2ldKX1gKTsKCiAgICBsb2dNZXNzYWdlKCIiKTsKICAgIGxv
Z01lc3NhZ2UoImdldEJvdW5kaW5nQ2xpZW50UmVjdDogQWZ0ZXIgc2VsZWN0aW9uOiIpOwogICAg
bG9nTWVzc2FnZShKU09OLnN0cmluZ2lmeShyYW5nZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSkp
OwoKCiAgICBmdW5jdGlvbiBsb2dNZXNzYWdlKG1lc3NhZ2UpCiAgICB7CiAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZShtZXNzYWdlICsgIlxuIikpOwogICAgfQo8L3NjcmlwdD4=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386346</attachid>
            <date>2019-12-23 11:54:34 -0800</date>
            <delta_ts>2019-12-23 13:30:21 -0800</delta_ts>
            <desc>For the bots</desc>
            <filename>bug-205527-20191223115433.patch</filename>
            <type>text/plain</type>
            <size>2416</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzODYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk1NDAxODliOWU0ODIz
NTA1Y2EyYTQxOWE5ZTM2NjEyZGY5ZDU3Mi4uOTVjMmRiZGU3MWU0NjViNWE1NTRmN2Q2NGUwYjkw
MTE3ZTQ0YzkxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTEyLTIzICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjEy
NjkzKTogZ2V0Q2xpZW50UmVjdHMoKSwgZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgZm9yIHJhbmdl
IHRoYXQgc3BhbnMgbXVsdGktbGluZXMgZGlmZmVycyBkZXBlbmRpbmcgb24gd2hldGhlciB0ZXh0
IGlzIHNlbGVjdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDU1MjcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU4MTI4Mjc4PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcmVuZGVyaW5nL1NpbXBs
ZUxpbmVMYXlvdXRSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5
b3V0OjpSdW5SZXNvbHZlcjo6cmFuZ2VGb3JSZW5kZXJlcldpdGhPZmZzZXRzIGNvbnN0KToKKwog
MjAxOS0xMi0yMCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBU
ZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlciBzaG91bGQgcmVzcGVjdCBuZXcgdG9rZW4gb3JkZXJz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJl
c29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVz
b2x2ZXIuY3BwCmluZGV4IDE0YzYxYzc2NDY3ZWVlODIwYmRlYjgwMjc4N2YyMzM4NmJlZjUzMjMu
LjM5YWU3ZDdmYzJiZDNjZDk3NjVmZmIyMjJhNGQxM2VlYmE4NzY5NWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwCkBA
IC0yOTcsMTUgKzI5NywxNCBAQCBXVEY6Okl0ZXJhdG9yUmFuZ2U8UnVuUmVzb2x2ZXI6Okl0ZXJh
dG9yPiBSdW5SZXNvbHZlcjo6cmFuZ2VGb3JSZW5kZXJlcldpdGhPZmZzZQogICAgICAgICByZXR1
cm4geyBlbmQoKSwgZW5kKCkgfTsKICAgICBhdXRvIGl0ID0gcmFuZ2UuYmVnaW4oKTsKICAgICBh
dXRvIGxvY2FsRW5kID0gKCppdCkuc3RhcnQoKSArIGVuZE9mZnNldDsKLSAgICAvLyBBZHZhbmNl
IHRvIHRoZSBmaXJzdCBydW4gd2l0aCB0aGUgc3RhcnQgb2Zmc2V0IGluc2lkZS4gT25seSB0aGUg
Zmlyc3Qgbm9kZSBpbiBhIHJhbmdlIGNhbiBoYXZlIGEgc3RhcnRPZmZzZXQuCi0gICAgd2hpbGUg
KGl0ICE9IHJhbmdlLmVuZCgpICYmICgqaXQpLmVuZCgpIDw9IHN0YXJ0T2Zmc2V0KQorICAgIC8v
IEFkdmFuY2UgdG8gdGhlIGZpcnN0IHJ1biBiZWZvcmUgdGhlIHN0YXJ0IG9mZnNldC4gT25seSB0
aGUgZmlyc3Qgbm9kZSBpbiBhIHJhbmdlIGNhbiBoYXZlIGEgc3RhcnRPZmZzZXQuCisgICAgLy8g
Tm90ZSB0aGF0IHRoZSBzdGFydCBvZmZzZXQgbWF5IGNvaW5jaWRlIHdpdGggdGhlIGVuZCBvZiBh
IHJ1bi4gVGhlIHJ1biBpcyBzdGlsbCBjb25zaWRlcmVkIHNvIHRoYXQgd2UKKyAgICAvLyBjYW4g
cmV0dXJuIGFuIGVtcHR5IHJlY3QsIHdoaWNoIGNvbmZvcm1zIHRvIHRoZSBiZWhhdmlvciBvZiBF
bGVtZW50LmdldENsaWVudFJlY3RzKCkuCisgICAgd2hpbGUgKGl0ICE9IHJhbmdlLmVuZCgpICYm
ICgqaXQpLmVuZCgpIDwgc3RhcnRPZmZzZXQpCiAgICAgICAgICsraXQ7CiAgICAgaWYgKGl0ID09
IHJhbmdlLmVuZCgpKQogICAgICAgICByZXR1cm4geyBlbmQoKSwgZW5kKCkgfTsKICAgICBhdXRv
IHJhbmdlQmVnaW4gPSBpdDsKLSAgICAvLyBTcGVjaWFsIGNhc2UgZW1wdHkgcmFuZ2VzIHRoYXQg
c3RhcnQgYXQgdGhlIGVkZ2Ugb2YgdGhlIHJ1bi4gQXBwYXJlbnRseSBub3JtYWwgbGluZSBsYXlv
dXQgaW5jbHVkZSB0aG9zZS4KLSAgICBpZiAobG9jYWxFbmQgPT0gc3RhcnRPZmZzZXQgJiYgKCpp
dCkuc3RhcnQoKSA9PSBsb2NhbEVuZCkKLSAgICAgICAgcmV0dXJuIHsgcmFuZ2VCZWdpbiwgKytp
dCB9OwogICAgIC8vIEFkdmFuY2UgYmV5b25kIHRoZSBsYXN0IHJ1biB3aXRoIHRoZSBlbmQgb2Zm
c2V0LgogICAgIHdoaWxlIChpdCAhPSByYW5nZS5lbmQoKSAmJiAoKml0KS5zdGFydCgpIDwgbG9j
YWxFbmQpCiAgICAgICAgICsraXQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386351</attachid>
            <date>2019-12-23 13:30:22 -0800</date>
            <delta_ts>2019-12-23 14:40:05 -0800</delta_ts>
            <desc>For the bots now with Mac-only tests</desc>
            <filename>bug-205527-20191223133022.patch</filename>
            <type>text/plain</type>
            <size>6354</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzODYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk1NDAxODliOWU0ODIz
NTA1Y2EyYTQxOWE5ZTM2NjEyZGY5ZDU3Mi4uOTVjMmRiZGU3MWU0NjViNWE1NTRmN2Q2NGUwYjkw
MTE3ZTQ0YzkxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTEyLTIzICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjEy
NjkzKTogZ2V0Q2xpZW50UmVjdHMoKSwgZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgZm9yIHJhbmdl
IHRoYXQgc3BhbnMgbXVsdGktbGluZXMgZGlmZmVycyBkZXBlbmRpbmcgb24gd2hldGhlciB0ZXh0
IGlzIHNlbGVjdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDU1MjcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU4MTI4Mjc4PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcmVuZGVyaW5nL1NpbXBs
ZUxpbmVMYXlvdXRSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5
b3V0OjpSdW5SZXNvbHZlcjo6cmFuZ2VGb3JSZW5kZXJlcldpdGhPZmZzZXRzIGNvbnN0KToKKwog
MjAxOS0xMi0yMCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBU
ZXh0TWFuaXB1bGF0aW9uQ29udHJvbGxlciBzaG91bGQgcmVzcGVjdCBuZXcgdG9rZW4gb3JkZXJz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJl
c29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVz
b2x2ZXIuY3BwCmluZGV4IDE0YzYxYzc2NDY3ZWVlODIwYmRlYjgwMjc4N2YyMzM4NmJlZjUzMjMu
LmQzYTZjMTg4MTI4ZWVmOWZjNjYyZmY4ZDI3N2RjOTUwOTRkNjE0MTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwCkBA
IC0yOTcsOCArMjk3LDEwIEBAIFdURjo6SXRlcmF0b3JSYW5nZTxSdW5SZXNvbHZlcjo6SXRlcmF0
b3I+IFJ1blJlc29sdmVyOjpyYW5nZUZvclJlbmRlcmVyV2l0aE9mZnNlCiAgICAgICAgIHJldHVy
biB7IGVuZCgpLCBlbmQoKSB9OwogICAgIGF1dG8gaXQgPSByYW5nZS5iZWdpbigpOwogICAgIGF1
dG8gbG9jYWxFbmQgPSAoKml0KS5zdGFydCgpICsgZW5kT2Zmc2V0OwotICAgIC8vIEFkdmFuY2Ug
dG8gdGhlIGZpcnN0IHJ1biB3aXRoIHRoZSBzdGFydCBvZmZzZXQgaW5zaWRlLiBPbmx5IHRoZSBm
aXJzdCBub2RlIGluIGEgcmFuZ2UgY2FuIGhhdmUgYSBzdGFydE9mZnNldC4KLSAgICB3aGlsZSAo
aXQgIT0gcmFuZ2UuZW5kKCkgJiYgKCppdCkuZW5kKCkgPD0gc3RhcnRPZmZzZXQpCisgICAgLy8g
QWR2YW5jZSB0byB0aGUgZmlyc3QgcnVuIGJlZm9yZSB0aGUgc3RhcnQgb2Zmc2V0LiBPbmx5IHRo
ZSBmaXJzdCBub2RlIGluIGEgcmFuZ2UgY2FuIGhhdmUgYSBzdGFydE9mZnNldC4KKyAgICAvLyBO
b3RlIHRoYXQgdGhlIHN0YXJ0IG9mZnNldCBtYXkgY29pbmNpZGUgd2l0aCB0aGUgZW5kIG9mIGEg
cnVuLiBUaGUgcnVuIGlzIHN0aWxsIGNvbnNpZGVyZWQgc28gdGhhdCB3ZQorICAgIC8vIGNhbiBy
ZXR1cm4gYW4gZW1wdHkgcmVjdCwgd2hpY2ggY29uZm9ybXMgdG8gdGhlIGJlaGF2aW9yIG9mIEVs
ZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKS4KKyAgICB3aGlsZSAoaXQgIT0gcmFuZ2UuZW5kKCkgJiYg
KCppdCkuZW5kKCkgPCBzdGFydE9mZnNldCkKICAgICAgICAgKytpdDsKICAgICBpZiAoaXQgPT0g
cmFuZ2UuZW5kKCkpCiAgICAgICAgIHJldHVybiB7IGVuZCgpLCBlbmQoKSB9OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvZ2V0Q2xpZW50UmVjdHMtYW5kLWdldEJvdW5k
aW5nQ2xpZW50UmVjdC1iZWZvcmUtYW5kLWFmdGVyLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS9nZXRDbGllbnRSZWN0cy1hbmQtZ2V0Qm91bmRpbmdD
bGllbnRSZWN0LWJlZm9yZS1hbmQtYWZ0ZXItc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iYWRiYTBlZmQyM2ZmNTZhNzZjZTI2MmMxYzFjMGM3YjI1YzdiNjA3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvZ2V0Q2xpZW50UmVjdHMtYW5kLWdl
dEJvdW5kaW5nQ2xpZW50UmVjdC1iZWZvcmUtYW5kLWFmdGVyLXNlbGVjdGlvbi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwyMiBAQAorVGVzdHMgdGhhdCBnZXRDbGllbnRSZWN0cygpLCBnZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKSByZXR1cm4gdGhlIHNhbWUgcmVzdWx0IHJlZ2FyZGxlc3Mgb2Ygd2hl
dGhlciB0ZXh0IGlzIHNlbGVjdGVkIG9yIG5vdC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKKworQmVmb3JlIHNlbGVjdGlvbjoKK1BBU1MgcmFuZ2UuZ2V0Q2xpZW50UmVjdHMoKS5s
ZW5ndGggaXMgMgorRkFJTCBKU09OLnN0cmluZ2lmeShyYW5nZS5nZXRDbGllbnRSZWN0cygpWzBd
KSBzaG91bGQgYmUgeyJ4IjoxNjMsInkiOjgsIndpZHRoIjowLCJoZWlnaHQiOjE4LCJ0b3AiOjgs
InJpZ2h0IjoxNjMsImJvdHRvbSI6MjYsImxlZnQiOjE2M30uIFdhcyB7IngiOjE2My45NTMxMjUs
InkiOjgsIndpZHRoIjowLCJoZWlnaHQiOjE4LCJ0b3AiOjgsInJpZ2h0IjoxNjMuOTUzMTI1LCJi
b3R0b20iOjI2LCJsZWZ0IjoxNjMuOTUzMTI1fS4KK0ZBSUwgSlNPTi5zdHJpbmdpZnkocmFuZ2Uu
Z2V0Q2xpZW50UmVjdHMoKVsxXSkgc2hvdWxkIGJlIHsieCI6OCwieSI6MjYsIndpZHRoIjoyOSwi
aGVpZ2h0IjoxOCwidG9wIjoyNiwicmlnaHQiOjM3LCJib3R0b20iOjQ0LCJsZWZ0Ijo4fS4gV2Fz
IHsieCI6OCwieSI6MjYsIndpZHRoIjoyOC40NTMxMjUsImhlaWdodCI6MTgsInRvcCI6MjYsInJp
Z2h0IjozNi40NTMxMjUsImJvdHRvbSI6NDQsImxlZnQiOjh9LgorRkFJTCBKU09OLnN0cmluZ2lm
eShyYW5nZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSkgc2hvdWxkIGJlIHsieCI6OCwieSI6OCwi
d2lkdGgiOjE1NSwiaGVpZ2h0IjozNiwidG9wIjo4LCJyaWdodCI6MTYzLCJib3R0b20iOjQ0LCJs
ZWZ0Ijo4fS4gV2FzIHsieCI6OCwieSI6OCwid2lkdGgiOjE1NS45NTMxMjUsImhlaWdodCI6MzYs
InRvcCI6OCwicmlnaHQiOjE2My45NTMxMjUsImJvdHRvbSI6NDQsImxlZnQiOjh9LgorCitBZnRl
ciBzZWxlY3Rpb246CitQQVNTIHJhbmdlLmdldENsaWVudFJlY3RzKCkubGVuZ3RoIGlzIDIKK1BB
U1MgSlNPTi5zdHJpbmdpZnkocmFuZ2UuZ2V0Q2xpZW50UmVjdHMoKVswXSkgaXMgIntcInhcIjox
NjMsXCJ5XCI6OCxcIndpZHRoXCI6MCxcImhlaWdodFwiOjE4LFwidG9wXCI6OCxcInJpZ2h0XCI6
MTYzLFwiYm90dG9tXCI6MjYsXCJsZWZ0XCI6MTYzfSIKK1BBU1MgSlNPTi5zdHJpbmdpZnkocmFu
Z2UuZ2V0Q2xpZW50UmVjdHMoKVsxXSkgaXMgIntcInhcIjo4LFwieVwiOjI2LFwid2lkdGhcIjoy
OSxcImhlaWdodFwiOjE4LFwidG9wXCI6MjYsXCJyaWdodFwiOjM3LFwiYm90dG9tXCI6NDQsXCJs
ZWZ0XCI6OH0iCitQQVNTIEpTT04uc3RyaW5naWZ5KHJhbmdlLmdldEJvdW5kaW5nQ2xpZW50UmVj
dCgpKSBpcyAie1wieFwiOjgsXCJ5XCI6OCxcIndpZHRoXCI6MTU1LFwiaGVpZ2h0XCI6MzYsXCJ0
b3BcIjo4LFwicmlnaHRcIjoxNjMsXCJib3R0b21cIjo0NCxcImxlZnRcIjo4fSIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKK1NvbWUgdGVzdHMgZmFpbGVkLgorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL2dldENsaWVudFJl
Y3RzLWFuZC1nZXRCb3VuZGluZ0NsaWVudFJlY3QtYmVmb3JlLWFuZC1hZnRlci1zZWxlY3Rpb24u
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL2dldENsaWVudFJlY3RzLWFuZC1nZXRC
b3VuZGluZ0NsaWVudFJlY3QtYmVmb3JlLWFuZC1hZnRlci1zZWxlY3Rpb24uaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zM2U3MDQxYTJkYTQ0MDgxNjE2NDA3OGE4OTEzZDFlYWNkYmJiMTNkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvZ2V0Q2xpZW50UmVjdHMtYW5kLWdl
dEJvdW5kaW5nQ2xpZW50UmVjdC1iZWZvcmUtYW5kLWFmdGVyLXNlbGVjdGlvbi5odG1sCkBAIC0w
LDAgKzEsNTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisjdGVz
dCB7CisgICAgLyogV2UgZG8gbm90IHVzZSBBaGVtIGJlY2F1c2UgaXRzIHBlcmZlY3RseSBzcXVh
cmUgZ2x5cGggd291bGQgbWFzayByb3VuZGluZyBidWdzIGluIGxheW91dC4gKi8KKyAgICAvKiBG
SVhNRTogRmluZCBhIHdheSB0byB3cml0ZSB0aGlzIHRlc3Qgc28gYXMgdG8gaW5zdWxhdGUgaXQg
ZnJvbSBmb250IGNoYW5nZXMsIGJ1dCBub3QgbWFzaworICAgIHJvdW5kaW5nIGJ1Z3MgaW4gbGF5
b3V0LiAqLzsKKyAgICBmb250LWZhbWlseTogVGltZXM7CisgICAgZm9udC1zaXplOiAxNnB4Owor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0idGVzdCIgc3R5bGU9IndpZHRo
OiAxODBweDsiPlRoaXMgaXMgYSBzZW50ZW5jZSB0aGF0IGlzIGxvbmcgZW5vdWdoIHRvIHNwYW4g
MiBsaW5lcy48L2Rpdj4KKzxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgorPHNjcmlwdD4KK2Rlc2Ny
aXB0aW9uKCJUZXN0cyB0aGF0IGdldENsaWVudFJlY3RzKCksIGdldEJvdW5kaW5nQ2xpZW50UmVj
dCgpIHJldHVybiB0aGUgc2FtZSByZXN1bHQgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRleHQgaXMg
c2VsZWN0ZWQgb3Igbm90LiIpOworCitsZXQgdGVzdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0ZXN0Iik7CitsZXQgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOworcmFuZ2Uuc2V0
U3RhcnQodGVzdC5maXJzdENoaWxkLCAiVGhpcyBpcyBhIHNlbnRlbmNlIHRoYXQgaXMiLmxlbmd0
aCk7CityYW5nZS5zZXRFbmQodGVzdC5maXJzdENoaWxkLCAiVGhpcyBpcyBhIHNlbnRlbmNlIHRo
YXQgaXMgbG9uZyIubGVuZ3RoKTsKKworZnVuY3Rpb24gdGVzdEJvdW5kaW5nUmVjdCgpCit7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdKU09OLnN0cmluZ2lmeShyYW5nZS5nZXRCb3VuZGlu
Z0NsaWVudFJlY3QoKSknLCAneyJ4Ijo4LCJ5Ijo4LCJ3aWR0aCI6MTU1LCJoZWlnaHQiOjM2LCJ0
b3AiOjgsInJpZ2h0IjoxNjMsImJvdHRvbSI6NDQsImxlZnQiOjh9Jyk7Cit9CisKK2Z1bmN0aW9u
IHRlc3RDbGllbnRSZWN0cygpCit7CisgICAgc2hvdWxkQmUoJ3JhbmdlLmdldENsaWVudFJlY3Rz
KCkubGVuZ3RoJywgJzInKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ0pTT04uc3RyaW5n
aWZ5KHJhbmdlLmdldENsaWVudFJlY3RzKClbMF0pJywgJ3sieCI6MTYzLCJ5Ijo4LCJ3aWR0aCI6
MCwiaGVpZ2h0IjoxOCwidG9wIjo4LCJyaWdodCI6MTYzLCJib3R0b20iOjI2LCJsZWZ0IjoxNjN9
Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdKU09OLnN0cmluZ2lmeShyYW5nZS5nZXRD
bGllbnRSZWN0cygpWzFdKScsICd7IngiOjgsInkiOjI2LCJ3aWR0aCI6MjksImhlaWdodCI6MTgs
InRvcCI6MjYsInJpZ2h0IjozNywiYm90dG9tIjo0NCwibGVmdCI6OH0nKTsKK30KKworZGVidWco
Ijxicj5CZWZvcmUgc2VsZWN0aW9uOiIpOwordGVzdENsaWVudFJlY3RzKCk7Cit0ZXN0Qm91bmRp
bmdSZWN0KCk7CisKK2RlYnVnKCI8YnI+QWZ0ZXIgc2VsZWN0aW9uOiIpOword2luZG93LmdldFNl
bGVjdGlvbigpLnNlbGVjdEFsbENoaWxkcmVuKHRlc3QpOwordGVzdENsaWVudFJlY3RzKCk7Cit0
ZXN0Qm91bmRpbmdSZWN0KCk7CisKK2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGVzdCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386356</attachid>
            <date>2019-12-23 14:40:06 -0800</date>
            <delta_ts>2019-12-23 14:43:26 -0800</delta_ts>
            <desc>Patch and Mac-specific test</desc>
            <filename>bug-205527-20191223144005.patch</filename>
            <type>text/plain</type>
            <size>9960</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzODYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk1NDAxODliOWU0ODIz
NTA1Y2EyYTQxOWE5ZTM2NjEyZGY5ZDU3Mi4uZmUwNjVhNmViYTQyZTVjYTRiMzU3NDEwNDk1MDJl
MzhmYzRkYjllMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE5LTEyLTIzICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjEy
NjkzKTogZ2V0Q2xpZW50UmVjdHMoKSwgZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgZm9yIHJhbmdl
IHRoYXQgc3BhbnMgbXVsdGktbGluZXMgZGlmZmVycyBkZXBlbmRpbmcgb24gd2hldGhlciB0ZXh0
IGlzIHNlbGVjdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDU1MjcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU4MTI4Mjc4PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluY2x1ZGUgZW1wdHkgcmVj
dCB3aGVuIHJhbmdlIHN0YXJ0IHBvc2l0aW9uIGNvaW5jaWRlcyB3aXRoIHRoZSBlbmQgb2YgYSBz
aW1wbGUgbGluZSBsYXlvdXQgcnVuLgorICAgICAgICBUaGlzIG1ha2VzIGl0IG1hdGNoIHRoZSBi
ZWhhdmlvciBvZiBsaW5lIGJveCBsYXlvdXQsIEZpcmVmb3gncyBiZWhhdmlvciwgYXMgd2VsbCBh
cyBteSB1bmRlcnN0YW5kaW5nCisgICAgICAgIG9mIEV4dGVuc2lvbnMgdG8gdGhlIFJhbmdlIElu
dGVyZmFjZTogPGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3NvbS12aWV3LyNleHRlbnNpb25z
LXRvLXRoZS1yYW5nZS1pbnRlcmZhY2U+CisgICAgICAgIChFZGl0b3IncyBEcmFmdCwgMTAgT2N0
b2JlciAyMDE5KS4KKworICAgICAgICBBdCB0aGUgdGltZSBvZiB3cml0aW5nLCB0aGVyZSBhcmUg
dHdvIGNvZGUgcGF0aHMgZm9yIGxheWluZyBvdXQgbGluZXM6IHNpbXBsZSBsaW5lIGxheW91dCBh
bmQKKyAgICAgICAgbGluZSBib3ggbGF5b3V0LiBTaW1wbGUgbGluZSBsYXlvdXQgaXMgbm90IGVu
YWJsZWQgd2hlbiB0aGVyZSBpcyBhIHNlbGVjdGlvbiBhdCB0aGUgdGltZSBvZgorICAgICAgICB3
cml0aW5nLiBBcyBhIHJlc3VsdCwgd2UgdXNlIGxpbmUgYm94IGxheW91dCB0byBhbnN3ZXIgZ2V0
Q2xpZW50UmVjdHMoKSwgZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkKKyAgICAgICAgcXVlcmllcy4K
KworICAgICAgICBUZXN0OiBmYXN0L2RvbS9SYW5nZS9tYWMvZ2V0Q2xpZW50UmVjdHMtYW5kLWdl
dEJvdW5kaW5nQ2xpZW50UmVjdC1iZWZvcmUtYW5kLWFmdGVyLXNlbGVjdGlvbi5odG1sCisKKyAg
ICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OlJ1blJlc29sdmVyOjpyYW5nZUZvclJlbmRlcmVy
V2l0aE9mZnNldHMgY29uc3QpOiBEbyBub3Qgc2tpcCBvdmVyIGEgcnVuCisgICAgICAgIGlmIGl0
cyBlbmQgcG9zaXRpb24gY29pbmNpZGVzIHdpdGggdGhlIHJhbmdlJ3Mgc3RhcnQgb2Zmc2V0LiBU
aGlzIGVuc3VyZXMgdGhhdCB3ZSBlbWl0IGFuIGVtcHR5IHJlY3QKKyAgICAgICAgZm9yIHRoaXMg
cGFydCBvZiB0aGUgYm94IHNlbGVjdGlvbiwgd2hpY2ggbWF0Y2hlcyB3aGF0IHdlIGRvIHVzaW5n
IHRoZSBhbmFsYWdvdXMgbGluZSBib3ggbGF5b3V0CisgICAgICAgIGNvZGUgcGF0aC4KKwogMjAx
OS0xMi0yMCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBUZXh0
TWFuaXB1bGF0aW9uQ29udHJvbGxlciBzaG91bGQgcmVzcGVjdCBuZXcgdG9rZW4gb3JkZXJzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29s
dmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2
ZXIuY3BwCmluZGV4IDE0YzYxYzc2NDY3ZWVlODIwYmRlYjgwMjc4N2YyMzM4NmJlZjUzMjMuLmQz
YTZjMTg4MTI4ZWVmOWZjNjYyZmY4ZDI3N2RjOTUwOTRkNjE0MTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwCkBAIC0y
OTcsOCArMjk3LDEwIEBAIFdURjo6SXRlcmF0b3JSYW5nZTxSdW5SZXNvbHZlcjo6SXRlcmF0b3I+
IFJ1blJlc29sdmVyOjpyYW5nZUZvclJlbmRlcmVyV2l0aE9mZnNlCiAgICAgICAgIHJldHVybiB7
IGVuZCgpLCBlbmQoKSB9OwogICAgIGF1dG8gaXQgPSByYW5nZS5iZWdpbigpOwogICAgIGF1dG8g
bG9jYWxFbmQgPSAoKml0KS5zdGFydCgpICsgZW5kT2Zmc2V0OwotICAgIC8vIEFkdmFuY2UgdG8g
dGhlIGZpcnN0IHJ1biB3aXRoIHRoZSBzdGFydCBvZmZzZXQgaW5zaWRlLiBPbmx5IHRoZSBmaXJz
dCBub2RlIGluIGEgcmFuZ2UgY2FuIGhhdmUgYSBzdGFydE9mZnNldC4KLSAgICB3aGlsZSAoaXQg
IT0gcmFuZ2UuZW5kKCkgJiYgKCppdCkuZW5kKCkgPD0gc3RhcnRPZmZzZXQpCisgICAgLy8gQWR2
YW5jZSB0byB0aGUgZmlyc3QgcnVuIGJlZm9yZSB0aGUgc3RhcnQgb2Zmc2V0LiBPbmx5IHRoZSBm
aXJzdCBub2RlIGluIGEgcmFuZ2UgY2FuIGhhdmUgYSBzdGFydE9mZnNldC4KKyAgICAvLyBOb3Rl
IHRoYXQgdGhlIHN0YXJ0IG9mZnNldCBtYXkgY29pbmNpZGUgd2l0aCB0aGUgZW5kIG9mIGEgcnVu
LiBUaGUgcnVuIGlzIHN0aWxsIGNvbnNpZGVyZWQgc28gdGhhdCB3ZQorICAgIC8vIGNhbiByZXR1
cm4gYW4gZW1wdHkgcmVjdCwgd2hpY2ggY29uZm9ybXMgdG8gdGhlIGJlaGF2aW9yIG9mIEVsZW1l
bnQuZ2V0Q2xpZW50UmVjdHMoKS4KKyAgICB3aGlsZSAoaXQgIT0gcmFuZ2UuZW5kKCkgJiYgKCpp
dCkuZW5kKCkgPCBzdGFydE9mZnNldCkKICAgICAgICAgKytpdDsKICAgICBpZiAoaXQgPT0gcmFu
Z2UuZW5kKCkpCiAgICAgICAgIHJldHVybiB7IGVuZCgpLCBlbmQoKSB9OwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNlZjc2
NDM1ZDAyNThhMmUyNjYyYmY5YjVmMTFhOGJhZDJjZTFhMzguLmQ4NGMyNzRiNDYyOWYzOGFlZjg0
ODVlZmYyYzNlMDM0YzI0YjhjZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxOS0xMi0yMyAg
RGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAo
cjIxMjY5Myk6IGdldENsaWVudFJlY3RzKCksIGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIGZvciBy
YW5nZSB0aGF0IHNwYW5zIG11bHRpLWxpbmVzIGRpZmZlcnMgZGVwZW5kaW5nIG9uIHdoZXRoZXIg
dGV4dCBpcyBzZWxlY3RlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjA1NTI3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81ODEyODI3OD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb3Igbm93LCBhZGQg
YSBNYWMtc3BlY2lmaWMgdGVzdC4gVGhpcyB0ZXN0IGlzIHNwZWNpZmljIHRvIE1hYyBiZWNhdXNl
IGl0IGRlcGVuZHMgb24gdGV4dCBtZXRyaWNzIGZvciB0aGUKKyAgICAgICAgVGltZXMgZm9udC4g
SSBzcGVjaWZpY2FsbHkgZGlkIG5vdCB1c2UgQWhlbSBzbyB0aGF0IHRoaXMgdGVzdCBjb3VsZCBh
bHNvIGJlIHVzZWQgYXMgdGhlIHRlc3QgZm9yCisgICAgICAgIDxodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NTYzPi4gQ3VycmVudGx5IHRoZSB0ZXN0IGluY2x1ZGVz
IGV4cGVjdGVkIGZhaWx1cmUgcmVzdWx0cworICAgICAgICBzaW5jZSB0aGF0IGJ1ZyBpcyBub3Qg
Zml4ZWQuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBTa2lwIAorICAgICAgICAqIGZh
c3QvZG9tL1JhbmdlL21hYy9nZXRDbGllbnRSZWN0cy1hbmQtZ2V0Qm91bmRpbmdDbGllbnRSZWN0
LWJlZm9yZS1hbmQtYWZ0ZXItc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9kb20vUmFuZ2UvbWFjL2dldENsaWVudFJlY3RzLWFuZC1nZXRCb3VuZGluZ0NsaWVu
dFJlY3QtYmVmb3JlLWFuZC1hZnRlci1zZWxlY3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6IFVuc2tpcCB0aGUgdGVzdCBvbiBNYWMuCisK
IDIwMTktMTItMjAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBb
aU9TIERlYnVnXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL3VzdnN0
cmluZy1yZWZsZWN0aW9uLmh0dHBzLmh0bWwgaXMgY3Jhc2hpbmcKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDYzMjAzMzE3NjIwNmI5NGVhYzg5NDQ4YjBjMDlhNWIxOTFhZmMyYWMuLmE2MzA2NGQyZmQw
NmMzZTJmZTY5NWUyOWM3MWMxOGI5OGI3ZTFiNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjMs
NiArNjMsNyBAQCBwb2ludGVyZXZlbnRzL2lvcyBbIFNraXAgXQogZWRpdGluZy9wYXN0ZWJvYXJk
L2RvbS1wYXN0ZSBbIFNraXAgXQogZWRpdGluZy9wYXN0ZWJvYXJkL21hYyBbIFNraXAgXQogZmFz
dC9tZWRpYS9pb3MgWyBTa2lwIF0KK2Zhc3QvZG9tL1JhbmdlL21hYyBbIFNraXAgXQogCiAjIFJl
cXVpcmVzIGFzeW5jIG92ZXJmbG93IHNjcm9sbGluZwogY29tcG9zaXRpbmcvc2hhcmVkLWJhY2tp
bmcvb3ZlcmZsb3ctc2Nyb2xsIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9SYW5nZS9tYWMvZ2V0Q2xpZW50UmVjdHMtYW5kLWdldEJvdW5kaW5nQ2xpZW50UmVjdC1i
ZWZvcmUtYW5kLWFmdGVyLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9SYW5nZS9tYWMvZ2V0Q2xpZW50UmVjdHMtYW5kLWdldEJvdW5kaW5nQ2xpZW50UmVjdC1i
ZWZvcmUtYW5kLWFmdGVyLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmFkYmEw
ZWZkMjNmZjU2YTc2Y2UyNjJjMWMxYzBjN2IyNWM3YjYwNwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL21hYy9nZXRDbGllbnRSZWN0cy1hbmQtZ2V0Qm91bmRp
bmdDbGllbnRSZWN0LWJlZm9yZS1hbmQtYWZ0ZXItc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDIyIEBACitUZXN0cyB0aGF0IGdldENsaWVudFJlY3RzKCksIGdldEJvdW5kaW5nQ2xp
ZW50UmVjdCgpIHJldHVybiB0aGUgc2FtZSByZXN1bHQgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRl
eHQgaXMgc2VsZWN0ZWQgb3Igbm90LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
CitCZWZvcmUgc2VsZWN0aW9uOgorUEFTUyByYW5nZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCBp
cyAyCitGQUlMIEpTT04uc3RyaW5naWZ5KHJhbmdlLmdldENsaWVudFJlY3RzKClbMF0pIHNob3Vs
ZCBiZSB7IngiOjE2MywieSI6OCwid2lkdGgiOjAsImhlaWdodCI6MTgsInRvcCI6OCwicmlnaHQi
OjE2MywiYm90dG9tIjoyNiwibGVmdCI6MTYzfS4gV2FzIHsieCI6MTYzLjk1MzEyNSwieSI6OCwi
d2lkdGgiOjAsImhlaWdodCI6MTgsInRvcCI6OCwicmlnaHQiOjE2My45NTMxMjUsImJvdHRvbSI6
MjYsImxlZnQiOjE2My45NTMxMjV9LgorRkFJTCBKU09OLnN0cmluZ2lmeShyYW5nZS5nZXRDbGll
bnRSZWN0cygpWzFdKSBzaG91bGQgYmUgeyJ4Ijo4LCJ5IjoyNiwid2lkdGgiOjI5LCJoZWlnaHQi
OjE4LCJ0b3AiOjI2LCJyaWdodCI6MzcsImJvdHRvbSI6NDQsImxlZnQiOjh9LiBXYXMgeyJ4Ijo4
LCJ5IjoyNiwid2lkdGgiOjI4LjQ1MzEyNSwiaGVpZ2h0IjoxOCwidG9wIjoyNiwicmlnaHQiOjM2
LjQ1MzEyNSwiYm90dG9tIjo0NCwibGVmdCI6OH0uCitGQUlMIEpTT04uc3RyaW5naWZ5KHJhbmdl
LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSBzaG91bGQgYmUgeyJ4Ijo4LCJ5Ijo4LCJ3aWR0aCI6
MTU1LCJoZWlnaHQiOjM2LCJ0b3AiOjgsInJpZ2h0IjoxNjMsImJvdHRvbSI6NDQsImxlZnQiOjh9
LiBXYXMgeyJ4Ijo4LCJ5Ijo4LCJ3aWR0aCI6MTU1Ljk1MzEyNSwiaGVpZ2h0IjozNiwidG9wIjo4
LCJyaWdodCI6MTYzLjk1MzEyNSwiYm90dG9tIjo0NCwibGVmdCI6OH0uCisKK0FmdGVyIHNlbGVj
dGlvbjoKK1BBU1MgcmFuZ2UuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGggaXMgMgorUEFTUyBKU09O
LnN0cmluZ2lmeShyYW5nZS5nZXRDbGllbnRSZWN0cygpWzBdKSBpcyAie1wieFwiOjE2MyxcInlc
Ijo4LFwid2lkdGhcIjowLFwiaGVpZ2h0XCI6MTgsXCJ0b3BcIjo4LFwicmlnaHRcIjoxNjMsXCJi
b3R0b21cIjoyNixcImxlZnRcIjoxNjN9IgorUEFTUyBKU09OLnN0cmluZ2lmeShyYW5nZS5nZXRD
bGllbnRSZWN0cygpWzFdKSBpcyAie1wieFwiOjgsXCJ5XCI6MjYsXCJ3aWR0aFwiOjI5LFwiaGVp
Z2h0XCI6MTgsXCJ0b3BcIjoyNixcInJpZ2h0XCI6MzcsXCJib3R0b21cIjo0NCxcImxlZnRcIjo4
fSIKK1BBU1MgSlNPTi5zdHJpbmdpZnkocmFuZ2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpIGlz
ICJ7XCJ4XCI6OCxcInlcIjo4LFwid2lkdGhcIjoxNTUsXCJoZWlnaHRcIjozNixcInRvcFwiOjgs
XCJyaWdodFwiOjE2MyxcImJvdHRvbVwiOjQ0LFwibGVmdFwiOjh9IgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorU29tZSB0ZXN0cyBmYWlsZWQuCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvbWFjL2dldENsaWVudFJlY3Rz
LWFuZC1nZXRCb3VuZGluZ0NsaWVudFJlY3QtYmVmb3JlLWFuZC1hZnRlci1zZWxlY3Rpb24uaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL21hYy9nZXRDbGllbnRSZWN0cy1hbmQtZ2V0
Qm91bmRpbmdDbGllbnRSZWN0LWJlZm9yZS1hbmQtYWZ0ZXItc2VsZWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzNlNzA0MWEyZGE0NDA4MTYxNjQwNzhhODkxM2QxZWFjZGJiYjEzZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL21hYy9nZXRDbGllbnRSZWN0cy1h
bmQtZ2V0Qm91bmRpbmdDbGllbnRSZWN0LWJlZm9yZS1hbmQtYWZ0ZXItc2VsZWN0aW9uLmh0bWwK
QEAgLTAsMCArMSw1MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4K
KyN0ZXN0IHsKKyAgICAvKiBXZSBkbyBub3QgdXNlIEFoZW0gYmVjYXVzZSBpdHMgcGVyZmVjdGx5
IHNxdWFyZSBnbHlwaCB3b3VsZCBtYXNrIHJvdW5kaW5nIGJ1Z3MgaW4gbGF5b3V0LiAqLworICAg
IC8qIEZJWE1FOiBGaW5kIGEgd2F5IHRvIHdyaXRlIHRoaXMgdGVzdCBzbyBhcyB0byBpbnN1bGF0
ZSBpdCBmcm9tIGZvbnQgY2hhbmdlcywgYnV0IG5vdCBtYXNrCisgICAgcm91bmRpbmcgYnVncyBp
biBsYXlvdXQuICovOworICAgIGZvbnQtZmFtaWx5OiBUaW1lczsKKyAgICBmb250LXNpemU6IDE2
cHg7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJ0ZXN0IiBzdHlsZT0i
d2lkdGg6IDE4MHB4OyI+VGhpcyBpcyBhIHNlbnRlbmNlIHRoYXQgaXMgbG9uZyBlbm91Z2ggdG8g
c3BhbiAyIGxpbmVzLjwvZGl2PgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8c2NyaXB0Pgor
ZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgZ2V0Q2xpZW50UmVjdHMoKSwgZ2V0Qm91bmRpbmdDbGll
bnRSZWN0KCkgcmV0dXJuIHRoZSBzYW1lIHJlc3VsdCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGV4
dCBpcyBzZWxlY3RlZCBvciBub3QuIik7CisKK2xldCB0ZXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRlc3QiKTsKK2xldCByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CityYW5n
ZS5zZXRTdGFydCh0ZXN0LmZpcnN0Q2hpbGQsICJUaGlzIGlzIGEgc2VudGVuY2UgdGhhdCBpcyIu
bGVuZ3RoKTsKK3JhbmdlLnNldEVuZCh0ZXN0LmZpcnN0Q2hpbGQsICJUaGlzIGlzIGEgc2VudGVu
Y2UgdGhhdCBpcyBsb25nIi5sZW5ndGgpOworCitmdW5jdGlvbiB0ZXN0Qm91bmRpbmdSZWN0KCkK
K3sKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ0pTT04uc3RyaW5naWZ5KHJhbmdlLmdldEJv
dW5kaW5nQ2xpZW50UmVjdCgpKScsICd7IngiOjgsInkiOjgsIndpZHRoIjoxNTUsImhlaWdodCI6
MzYsInRvcCI6OCwicmlnaHQiOjE2MywiYm90dG9tIjo0NCwibGVmdCI6OH0nKTsKK30KKworZnVu
Y3Rpb24gdGVzdENsaWVudFJlY3RzKCkKK3sKKyAgICBzaG91bGRCZSgncmFuZ2UuZ2V0Q2xpZW50
UmVjdHMoKS5sZW5ndGgnLCAnMicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnSlNPTi5z
dHJpbmdpZnkocmFuZ2UuZ2V0Q2xpZW50UmVjdHMoKVswXSknLCAneyJ4IjoxNjMsInkiOjgsIndp
ZHRoIjowLCJoZWlnaHQiOjE4LCJ0b3AiOjgsInJpZ2h0IjoxNjMsImJvdHRvbSI6MjYsImxlZnQi
OjE2M30nKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ0pTT04uc3RyaW5naWZ5KHJhbmdl
LmdldENsaWVudFJlY3RzKClbMV0pJywgJ3sieCI6OCwieSI6MjYsIndpZHRoIjoyOSwiaGVpZ2h0
IjoxOCwidG9wIjoyNiwicmlnaHQiOjM3LCJib3R0b20iOjQ0LCJsZWZ0Ijo4fScpOworfQorCitk
ZWJ1ZygiPGJyPkJlZm9yZSBzZWxlY3Rpb246Iik7Cit0ZXN0Q2xpZW50UmVjdHMoKTsKK3Rlc3RC
b3VuZGluZ1JlY3QoKTsKKworZGVidWcoIjxicj5BZnRlciBzZWxlY3Rpb246Iik7Cit3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4odGVzdCk7Cit0ZXN0Q2xpZW50UmVjdHMo
KTsKK3Rlc3RCb3VuZGluZ1JlY3QoKTsKKworZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXN0
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCA3NTk3NWRmMDM0M2NmNTAyYWMyNTczYzU5MzUxMGJiNzJm
NjdlYmI3Li5hMWI1MmFiYjQxNWZlY2U4NDk4ZDY2ODA1MDhmYjAzZGFhZDhjNjM0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTIsNiArMTIsNyBAQCBl
ZGl0aW5nL21hYyBbIFBhc3MgXQogZmFzdC9zY3JvbGxpbmcvbGF0Y2hpbmcgWyBQYXNzIF0KIG1l
ZGlhL21hYyBbIFBhc3MgXQogZWRpdGluZy9wYXN0ZWJvYXJkL21hYyBbIFBhc3MgXQorZmFzdC9k
b20vUmFuZ2UvbWFjIFsgUGFzcyBdCiAKIGZhc3QvZm9ybXMvc2VhcmNoL3NlYXJjaC1wYWRkaW5n
LWNhbmNlbC1yZXN1bHRzLWJ1dHRvbnMuaHRtbCBbIFBhc3MgXQogZmFzdC9mb3Jtcy9zZWFyY2gv
c2VhcmNoLXJlc3VsdHMtaGlkZGVuLWNyYXNoLmh0bWwgWyBQYXNzIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386357</attachid>
            <date>2019-12-23 14:43:28 -0800</date>
            <delta_ts>2019-12-23 16:32:10 -0800</delta_ts>
            <desc>Patch and Mac-specific test</desc>
            <filename>bug-205527-20191223144327.patch</filename>
            <type>text/plain</type>
            <size>9963</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzODYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk1NDAxODliOWU0ODIz
NTA1Y2EyYTQxOWE5ZTM2NjEyZGY5ZDU3Mi4uZmUwNjVhNmViYTQyZTVjYTRiMzU3NDEwNDk1MDJl
MzhmYzRkYjllMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE5LTEyLTIzICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjEy
NjkzKTogZ2V0Q2xpZW50UmVjdHMoKSwgZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkgZm9yIHJhbmdl
IHRoYXQgc3BhbnMgbXVsdGktbGluZXMgZGlmZmVycyBkZXBlbmRpbmcgb24gd2hldGhlciB0ZXh0
IGlzIHNlbGVjdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDU1MjcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU4MTI4Mjc4PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluY2x1ZGUgZW1wdHkgcmVj
dCB3aGVuIHJhbmdlIHN0YXJ0IHBvc2l0aW9uIGNvaW5jaWRlcyB3aXRoIHRoZSBlbmQgb2YgYSBz
aW1wbGUgbGluZSBsYXlvdXQgcnVuLgorICAgICAgICBUaGlzIG1ha2VzIGl0IG1hdGNoIHRoZSBi
ZWhhdmlvciBvZiBsaW5lIGJveCBsYXlvdXQsIEZpcmVmb3gncyBiZWhhdmlvciwgYXMgd2VsbCBh
cyBteSB1bmRlcnN0YW5kaW5nCisgICAgICAgIG9mIEV4dGVuc2lvbnMgdG8gdGhlIFJhbmdlIElu
dGVyZmFjZTogPGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3NvbS12aWV3LyNleHRlbnNpb25z
LXRvLXRoZS1yYW5nZS1pbnRlcmZhY2U+CisgICAgICAgIChFZGl0b3IncyBEcmFmdCwgMTAgT2N0
b2JlciAyMDE5KS4KKworICAgICAgICBBdCB0aGUgdGltZSBvZiB3cml0aW5nLCB0aGVyZSBhcmUg
dHdvIGNvZGUgcGF0aHMgZm9yIGxheWluZyBvdXQgbGluZXM6IHNpbXBsZSBsaW5lIGxheW91dCBh
bmQKKyAgICAgICAgbGluZSBib3ggbGF5b3V0LiBTaW1wbGUgbGluZSBsYXlvdXQgaXMgbm90IGVu
YWJsZWQgd2hlbiB0aGVyZSBpcyBhIHNlbGVjdGlvbiBhdCB0aGUgdGltZSBvZgorICAgICAgICB3
cml0aW5nLiBBcyBhIHJlc3VsdCwgd2UgdXNlIGxpbmUgYm94IGxheW91dCB0byBhbnN3ZXIgZ2V0
Q2xpZW50UmVjdHMoKSwgZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkKKyAgICAgICAgcXVlcmllcy4K
KworICAgICAgICBUZXN0OiBmYXN0L2RvbS9SYW5nZS9tYWMvZ2V0Q2xpZW50UmVjdHMtYW5kLWdl
dEJvdW5kaW5nQ2xpZW50UmVjdC1iZWZvcmUtYW5kLWFmdGVyLXNlbGVjdGlvbi5odG1sCisKKyAg
ICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OlJ1blJlc29sdmVyOjpyYW5nZUZvclJlbmRlcmVy
V2l0aE9mZnNldHMgY29uc3QpOiBEbyBub3Qgc2tpcCBvdmVyIGEgcnVuCisgICAgICAgIGlmIGl0
cyBlbmQgcG9zaXRpb24gY29pbmNpZGVzIHdpdGggdGhlIHJhbmdlJ3Mgc3RhcnQgb2Zmc2V0LiBU
aGlzIGVuc3VyZXMgdGhhdCB3ZSBlbWl0IGFuIGVtcHR5IHJlY3QKKyAgICAgICAgZm9yIHRoaXMg
cGFydCBvZiB0aGUgYm94IHNlbGVjdGlvbiwgd2hpY2ggbWF0Y2hlcyB3aGF0IHdlIGRvIHVzaW5n
IHRoZSBhbmFsYWdvdXMgbGluZSBib3ggbGF5b3V0CisgICAgICAgIGNvZGUgcGF0aC4KKwogMjAx
OS0xMi0yMCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBUZXh0
TWFuaXB1bGF0aW9uQ29udHJvbGxlciBzaG91bGQgcmVzcGVjdCBuZXcgdG9rZW4gb3JkZXJzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29s
dmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2
ZXIuY3BwCmluZGV4IDE0YzYxYzc2NDY3ZWVlODIwYmRlYjgwMjc4N2YyMzM4NmJlZjUzMjMuLmQz
YTZjMTg4MTI4ZWVmOWZjNjYyZmY4ZDI3N2RjOTUwOTRkNjE0MTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwCkBAIC0y
OTcsOCArMjk3LDEwIEBAIFdURjo6SXRlcmF0b3JSYW5nZTxSdW5SZXNvbHZlcjo6SXRlcmF0b3I+
IFJ1blJlc29sdmVyOjpyYW5nZUZvclJlbmRlcmVyV2l0aE9mZnNlCiAgICAgICAgIHJldHVybiB7
IGVuZCgpLCBlbmQoKSB9OwogICAgIGF1dG8gaXQgPSByYW5nZS5iZWdpbigpOwogICAgIGF1dG8g
bG9jYWxFbmQgPSAoKml0KS5zdGFydCgpICsgZW5kT2Zmc2V0OwotICAgIC8vIEFkdmFuY2UgdG8g
dGhlIGZpcnN0IHJ1biB3aXRoIHRoZSBzdGFydCBvZmZzZXQgaW5zaWRlLiBPbmx5IHRoZSBmaXJz
dCBub2RlIGluIGEgcmFuZ2UgY2FuIGhhdmUgYSBzdGFydE9mZnNldC4KLSAgICB3aGlsZSAoaXQg
IT0gcmFuZ2UuZW5kKCkgJiYgKCppdCkuZW5kKCkgPD0gc3RhcnRPZmZzZXQpCisgICAgLy8gQWR2
YW5jZSB0byB0aGUgZmlyc3QgcnVuIGJlZm9yZSB0aGUgc3RhcnQgb2Zmc2V0LiBPbmx5IHRoZSBm
aXJzdCBub2RlIGluIGEgcmFuZ2UgY2FuIGhhdmUgYSBzdGFydE9mZnNldC4KKyAgICAvLyBOb3Rl
IHRoYXQgdGhlIHN0YXJ0IG9mZnNldCBtYXkgY29pbmNpZGUgd2l0aCB0aGUgZW5kIG9mIGEgcnVu
LiBUaGUgcnVuIGlzIHN0aWxsIGNvbnNpZGVyZWQgc28gdGhhdCB3ZQorICAgIC8vIGNhbiByZXR1
cm4gYW4gZW1wdHkgcmVjdCwgd2hpY2ggY29uZm9ybXMgdG8gdGhlIGJlaGF2aW9yIG9mIEVsZW1l
bnQuZ2V0Q2xpZW50UmVjdHMoKS4KKyAgICB3aGlsZSAoaXQgIT0gcmFuZ2UuZW5kKCkgJiYgKCpp
dCkuZW5kKCkgPCBzdGFydE9mZnNldCkKICAgICAgICAgKytpdDsKICAgICBpZiAoaXQgPT0gcmFu
Z2UuZW5kKCkpCiAgICAgICAgIHJldHVybiB7IGVuZCgpLCBlbmQoKSB9OwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNlZjc2
NDM1ZDAyNThhMmUyNjYyYmY5YjVmMTFhOGJhZDJjZTFhMzguLmQ4NGMyNzRiNDYyOWYzOGFlZjg0
ODVlZmYyYzNlMDM0YzI0YjhjZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxOS0xMi0yMyAg
RGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAo
cjIxMjY5Myk6IGdldENsaWVudFJlY3RzKCksIGdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIGZvciBy
YW5nZSB0aGF0IHNwYW5zIG11bHRpLWxpbmVzIGRpZmZlcnMgZGVwZW5kaW5nIG9uIHdoZXRoZXIg
dGV4dCBpcyBzZWxlY3RlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjA1NTI3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81ODEyODI3OD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb3Igbm93LCBhZGQg
YSBNYWMtc3BlY2lmaWMgdGVzdC4gVGhpcyB0ZXN0IGlzIHNwZWNpZmljIHRvIE1hYyBiZWNhdXNl
IGl0IGRlcGVuZHMgb24gdGV4dCBtZXRyaWNzIGZvciB0aGUKKyAgICAgICAgVGltZXMgZm9udC4g
SSBzcGVjaWZpY2FsbHkgZGlkIG5vdCB1c2UgQWhlbSBzbyB0aGF0IHRoaXMgdGVzdCBjb3VsZCBh
bHNvIGJlIHVzZWQgYXMgdGhlIHRlc3QgZm9yCisgICAgICAgIDxodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NTYzPi4gQ3VycmVudGx5IHRoZSB0ZXN0IGluY2x1ZGVz
IGV4cGVjdGVkIGZhaWx1cmUgcmVzdWx0cworICAgICAgICBzaW5jZSB0aGF0IGJ1ZyBpcyBub3Qg
Zml4ZWQuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOiBTa2lwIAorICAgICAgICAqIGZh
c3QvZG9tL1JhbmdlL21hYy9nZXRDbGllbnRSZWN0cy1hbmQtZ2V0Qm91bmRpbmdDbGllbnRSZWN0
LWJlZm9yZS1hbmQtYWZ0ZXItc2VsZWN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9kb20vUmFuZ2UvbWFjL2dldENsaWVudFJlY3RzLWFuZC1nZXRCb3VuZGluZ0NsaWVu
dFJlY3QtYmVmb3JlLWFuZC1hZnRlci1zZWxlY3Rpb24uaHRtbDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6IFVuc2tpcCB0aGUgdGVzdCBvbiBNYWMuCisK
IDIwMTktMTItMjAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBb
aU9TIERlYnVnXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvZG9tL3VzdnN0
cmluZy1yZWZsZWN0aW9uLmh0dHBzLmh0bWwgaXMgY3Jhc2hpbmcKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDYzMjAzMzE3NjIwNmI5NGVhYzg5NDQ4YjBjMDlhNWIxOTFhZmMyYWMuLmE2MzA2NGQyZmQw
NmMzZTJmZTY5NWUyOWM3MWMxOGI5OGI3ZTFiNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNjMs
NiArNjMsNyBAQCBwb2ludGVyZXZlbnRzL2lvcyBbIFNraXAgXQogZWRpdGluZy9wYXN0ZWJvYXJk
L2RvbS1wYXN0ZSBbIFNraXAgXQogZWRpdGluZy9wYXN0ZWJvYXJkL21hYyBbIFNraXAgXQogZmFz
dC9tZWRpYS9pb3MgWyBTa2lwIF0KK2Zhc3QvZG9tL1JhbmdlL21hYyBbIFNraXAgXQogCiAjIFJl
cXVpcmVzIGFzeW5jIG92ZXJmbG93IHNjcm9sbGluZwogY29tcG9zaXRpbmcvc2hhcmVkLWJhY2tp
bmcvb3ZlcmZsb3ctc2Nyb2xsIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9SYW5nZS9tYWMvZ2V0Q2xpZW50UmVjdHMtYW5kLWdldEJvdW5kaW5nQ2xpZW50UmVjdC1i
ZWZvcmUtYW5kLWFmdGVyLXNlbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9SYW5nZS9tYWMvZ2V0Q2xpZW50UmVjdHMtYW5kLWdldEJvdW5kaW5nQ2xpZW50UmVjdC1i
ZWZvcmUtYW5kLWFmdGVyLXNlbGVjdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmFkYmEw
ZWZkMjNmZjU2YTc2Y2UyNjJjMWMxYzBjN2IyNWM3YjYwNwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL21hYy9nZXRDbGllbnRSZWN0cy1hbmQtZ2V0Qm91bmRp
bmdDbGllbnRSZWN0LWJlZm9yZS1hbmQtYWZ0ZXItc2VsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDIyIEBACitUZXN0cyB0aGF0IGdldENsaWVudFJlY3RzKCksIGdldEJvdW5kaW5nQ2xp
ZW50UmVjdCgpIHJldHVybiB0aGUgc2FtZSByZXN1bHQgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRl
eHQgaXMgc2VsZWN0ZWQgb3Igbm90LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
CitCZWZvcmUgc2VsZWN0aW9uOgorUEFTUyByYW5nZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCBp
cyAyCitGQUlMIEpTT04uc3RyaW5naWZ5KHJhbmdlLmdldENsaWVudFJlY3RzKClbMF0pIHNob3Vs
ZCBiZSB7IngiOjE2MywieSI6OCwid2lkdGgiOjAsImhlaWdodCI6MTgsInRvcCI6OCwicmlnaHQi
OjE2MywiYm90dG9tIjoyNiwibGVmdCI6MTYzfS4gV2FzIHsieCI6MTYzLjk1MzEyNSwieSI6OCwi
d2lkdGgiOjAsImhlaWdodCI6MTgsInRvcCI6OCwicmlnaHQiOjE2My45NTMxMjUsImJvdHRvbSI6
MjYsImxlZnQiOjE2My45NTMxMjV9LgorRkFJTCBKU09OLnN0cmluZ2lmeShyYW5nZS5nZXRDbGll
bnRSZWN0cygpWzFdKSBzaG91bGQgYmUgeyJ4Ijo4LCJ5IjoyNiwid2lkdGgiOjI5LCJoZWlnaHQi
OjE4LCJ0b3AiOjI2LCJyaWdodCI6MzcsImJvdHRvbSI6NDQsImxlZnQiOjh9LiBXYXMgeyJ4Ijo4
LCJ5IjoyNiwid2lkdGgiOjI4LjQ1MzEyNSwiaGVpZ2h0IjoxOCwidG9wIjoyNiwicmlnaHQiOjM2
LjQ1MzEyNSwiYm90dG9tIjo0NCwibGVmdCI6OH0uCitGQUlMIEpTT04uc3RyaW5naWZ5KHJhbmdl
LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSBzaG91bGQgYmUgeyJ4Ijo4LCJ5Ijo4LCJ3aWR0aCI6
MTU1LCJoZWlnaHQiOjM2LCJ0b3AiOjgsInJpZ2h0IjoxNjMsImJvdHRvbSI6NDQsImxlZnQiOjh9
LiBXYXMgeyJ4Ijo4LCJ5Ijo4LCJ3aWR0aCI6MTU1Ljk1MzEyNSwiaGVpZ2h0IjozNiwidG9wIjo4
LCJyaWdodCI6MTYzLjk1MzEyNSwiYm90dG9tIjo0NCwibGVmdCI6OH0uCisKK0FmdGVyIHNlbGVj
dGlvbjoKK1BBU1MgcmFuZ2UuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGggaXMgMgorUEFTUyBKU09O
LnN0cmluZ2lmeShyYW5nZS5nZXRDbGllbnRSZWN0cygpWzBdKSBpcyAie1wieFwiOjE2MyxcInlc
Ijo4LFwid2lkdGhcIjowLFwiaGVpZ2h0XCI6MTgsXCJ0b3BcIjo4LFwicmlnaHRcIjoxNjMsXCJi
b3R0b21cIjoyNixcImxlZnRcIjoxNjN9IgorUEFTUyBKU09OLnN0cmluZ2lmeShyYW5nZS5nZXRD
bGllbnRSZWN0cygpWzFdKSBpcyAie1wieFwiOjgsXCJ5XCI6MjYsXCJ3aWR0aFwiOjI5LFwiaGVp
Z2h0XCI6MTgsXCJ0b3BcIjoyNixcInJpZ2h0XCI6MzcsXCJib3R0b21cIjo0NCxcImxlZnRcIjo4
fSIKK1BBU1MgSlNPTi5zdHJpbmdpZnkocmFuZ2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpIGlz
ICJ7XCJ4XCI6OCxcInlcIjo4LFwid2lkdGhcIjoxNTUsXCJoZWlnaHRcIjozNixcInRvcFwiOjgs
XCJyaWdodFwiOjE2MyxcImJvdHRvbVwiOjQ0LFwibGVmdFwiOjh9IgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorU29tZSB0ZXN0cyBmYWlsZWQuCisKK1RFU1QgQ09NUExFVEUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvbWFjL2dldENsaWVudFJlY3Rz
LWFuZC1nZXRCb3VuZGluZ0NsaWVudFJlY3QtYmVmb3JlLWFuZC1hZnRlci1zZWxlY3Rpb24uaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL21hYy9nZXRDbGllbnRSZWN0cy1hbmQtZ2V0
Qm91bmRpbmdDbGllbnRSZWN0LWJlZm9yZS1hbmQtYWZ0ZXItc2VsZWN0aW9uLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDAxMmYwNGZiMWU0ZDcwNjA3OGJmZDU5MzI3MmI2NjRmYmY4MWVjMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL21hYy9nZXRDbGllbnRSZWN0cy1h
bmQtZ2V0Qm91bmRpbmdDbGllbnRSZWN0LWJlZm9yZS1hbmQtYWZ0ZXItc2VsZWN0aW9uLmh0bWwK
QEAgLTAsMCArMSw1MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KKyN0ZXN0IHsKKyAgICAvKiBXZSBkbyBub3QgdXNlIEFoZW0gYmVjYXVzZSBpdHMgcGVyZmVj
dGx5IHNxdWFyZSBnbHlwaCB3b3VsZCBtYXNrIHJvdW5kaW5nIGJ1Z3MgaW4gbGF5b3V0LiAqLwor
ICAgIC8qIEZJWE1FOiBGaW5kIGEgd2F5IHRvIHdyaXRlIHRoaXMgdGVzdCBzbyBhcyB0byBpbnN1
bGF0ZSBpdCBmcm9tIGZvbnQgY2hhbmdlcywgYnV0IG5vdCBtYXNrCisgICAgcm91bmRpbmcgYnVn
cyBpbiBsYXlvdXQuICovOworICAgIGZvbnQtZmFtaWx5OiBUaW1lczsKKyAgICBmb250LXNpemU6
IDE2cHg7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJ0ZXN0IiBzdHls
ZT0id2lkdGg6IDE4MHB4OyI+VGhpcyBpcyBhIHNlbnRlbmNlIHRoYXQgaXMgbG9uZyBlbm91Z2gg
dG8gc3BhbiAyIGxpbmVzLjwvZGl2PgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+Cis8c2NyaXB0
PgorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgZ2V0Q2xpZW50UmVjdHMoKSwgZ2V0Qm91bmRpbmdD
bGllbnRSZWN0KCkgcmV0dXJuIHRoZSBzYW1lIHJlc3VsdCByZWdhcmRsZXNzIG9mIHdoZXRoZXIg
dGV4dCBpcyBzZWxlY3RlZCBvciBub3QuIik7CisKK2xldCB0ZXN0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInRlc3QiKTsKK2xldCByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7City
YW5nZS5zZXRTdGFydCh0ZXN0LmZpcnN0Q2hpbGQsICJUaGlzIGlzIGEgc2VudGVuY2UgdGhhdCBp
cyIubGVuZ3RoKTsKK3JhbmdlLnNldEVuZCh0ZXN0LmZpcnN0Q2hpbGQsICJUaGlzIGlzIGEgc2Vu
dGVuY2UgdGhhdCBpcyBsb25nIi5sZW5ndGgpOworCitmdW5jdGlvbiB0ZXN0Qm91bmRpbmdSZWN0
KCkKK3sKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ0pTT04uc3RyaW5naWZ5KHJhbmdlLmdl
dEJvdW5kaW5nQ2xpZW50UmVjdCgpKScsICd7IngiOjgsInkiOjgsIndpZHRoIjoxNTUsImhlaWdo
dCI6MzYsInRvcCI6OCwicmlnaHQiOjE2MywiYm90dG9tIjo0NCwibGVmdCI6OH0nKTsKK30KKwor
ZnVuY3Rpb24gdGVzdENsaWVudFJlY3RzKCkKK3sKKyAgICBzaG91bGRCZSgncmFuZ2UuZ2V0Q2xp
ZW50UmVjdHMoKS5sZW5ndGgnLCAnMicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnSlNP
Ti5zdHJpbmdpZnkocmFuZ2UuZ2V0Q2xpZW50UmVjdHMoKVswXSknLCAneyJ4IjoxNjMsInkiOjgs
IndpZHRoIjowLCJoZWlnaHQiOjE4LCJ0b3AiOjgsInJpZ2h0IjoxNjMsImJvdHRvbSI6MjYsImxl
ZnQiOjE2M30nKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ0pTT04uc3RyaW5naWZ5KHJh
bmdlLmdldENsaWVudFJlY3RzKClbMV0pJywgJ3sieCI6OCwieSI6MjYsIndpZHRoIjoyOSwiaGVp
Z2h0IjoxOCwidG9wIjoyNiwicmlnaHQiOjM3LCJib3R0b20iOjQ0LCJsZWZ0Ijo4fScpOworfQor
CitkZWJ1ZygiPGJyPkJlZm9yZSBzZWxlY3Rpb246Iik7Cit0ZXN0Q2xpZW50UmVjdHMoKTsKK3Rl
c3RCb3VuZGluZ1JlY3QoKTsKKworZGVidWcoIjxicj5BZnRlciBzZWxlY3Rpb246Iik7Cit3aW5k
b3cuZ2V0U2VsZWN0aW9uKCkuc2VsZWN0QWxsQ2hpbGRyZW4odGVzdCk7Cit0ZXN0Q2xpZW50UmVj
dHMoKTsKK3Rlc3RCb3VuZGluZ1JlY3QoKTsKKworZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0
ZXN0KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3NTk3NWRmMDM0M2NmNTAyYWMyNTczYzU5MzUxMGJi
NzJmNjdlYmI3Li5hMWI1MmFiYjQxNWZlY2U4NDk4ZDY2ODA1MDhmYjAzZGFhZDhjNjM0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTIsNiArMTIsNyBA
QCBlZGl0aW5nL21hYyBbIFBhc3MgXQogZmFzdC9zY3JvbGxpbmcvbGF0Y2hpbmcgWyBQYXNzIF0K
IG1lZGlhL21hYyBbIFBhc3MgXQogZWRpdGluZy9wYXN0ZWJvYXJkL21hYyBbIFBhc3MgXQorZmFz
dC9kb20vUmFuZ2UvbWFjIFsgUGFzcyBdCiAKIGZhc3QvZm9ybXMvc2VhcmNoL3NlYXJjaC1wYWRk
aW5nLWNhbmNlbC1yZXN1bHRzLWJ1dHRvbnMuaHRtbCBbIFBhc3MgXQogZmFzdC9mb3Jtcy9zZWFy
Y2gvc2VhcmNoLXJlc3VsdHMtaGlkZGVuLWNyYXNoLmh0bWwgWyBQYXNzIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>