<?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>234408</bug_id>
          
          <creation_ts>2021-12-16 15:27:02 -0800</creation_ts>
          <short_desc>[JSC] OpPow should have a &quot;small int exponent&quot; fast path at lower tiers</short_desc>
          <delta_ts>2021-12-19 00:35:19 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ross Kirsling">ross.kirsling</reporter>
          <assigned_to name="Ross Kirsling">ross.kirsling</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1824892</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-12-16 15:27:02 -0800</bug_when>
    <thetext>[JSC] OpPow should have a &quot;small int exponent&quot; fast path at lower tiers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824895</commentid>
    <comment_count>1</comment_count>
      <attachid>447395</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-12-16 15:31:53 -0800</bug_when>
    <thetext>Created attachment 447395
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824897</commentid>
    <comment_count>2</comment_count>
      <attachid>447395</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-12-16 15:34:00 -0800</bug_when>
    <thetext>Comment on attachment 447395
Patch

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

&gt; Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm:1120
&gt; +    bigt t1, 1000, .slow

Let&apos;s define 1000 as a constant in C++. And use `constexpr XXX` here. And in power implementation, we should use that constant too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824932</commentid>
    <comment_count>3</comment_count>
      <attachid>447406</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-12-16 18:16:17 -0800</bug_when>
    <thetext>Created attachment 447406
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824970</commentid>
    <comment_count>4</comment_count>
      <attachid>447418</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-12-16 20:50:07 -0800</bug_when>
    <thetext>Created attachment 447418
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824981</commentid>
    <comment_count>5</comment_count>
      <attachid>447425</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-12-16 21:35:26 -0800</bug_when>
    <thetext>Created attachment 447425
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824994</commentid>
    <comment_count>6</comment_count>
      <attachid>447425</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-12-16 22:07:18 -0800</bug_when>
    <thetext>Comment on attachment 447425
Patch

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

A couple of notes.

&gt; Source/JavaScriptCore/jit/JITArithmetic.cpp:496
&gt; +    addSlowCase(branch32(GreaterThan, rightRegs.payloadGPR(), TrustedImm32(maxExponentForIntegerMathPow)));

I do wonder if maxExponentForIntegerMathPow should be 1024 instead of 1000. It hardly matters but it seems weird to use a base-10 threshold for bitshifting.

&gt; Source/JavaScriptCore/jit/JITArithmetic.cpp:-964
&gt; -/* ------------------------------ END: OP_ADD, OP_SUB, OP_MUL, OP_POW ------------------------------ */

(Removing this since it&apos;s an END with no BEGIN and this file has not had an OP_POW.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824995</commentid>
    <comment_count>7</comment_count>
      <attachid>447425</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-12-16 22:07:20 -0800</bug_when>
    <thetext>Comment on attachment 447425
Patch

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

A couple of notes.

&gt; Source/JavaScriptCore/jit/JITArithmetic.cpp:496
&gt; +    addSlowCase(branch32(GreaterThan, rightRegs.payloadGPR(), TrustedImm32(maxExponentForIntegerMathPow)));

I do wonder if maxExponentForIntegerMathPow should be 1024 instead of 1000. It hardly matters but it seems weird to use a base-10 threshold for bitshifting.

&gt; Source/JavaScriptCore/jit/JITArithmetic.cpp:-964
&gt; -/* ------------------------------ END: OP_ADD, OP_SUB, OP_MUL, OP_POW ------------------------------ */

(Removing this since it&apos;s an END with no BEGIN and this file has not had an OP_POW.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825410</commentid>
    <comment_count>8</comment_count>
      <attachid>447425</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-12-18 22:14:26 -0800</bug_when>
    <thetext>Comment on attachment 447425
Patch

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

r=me

&gt; Source/JavaScriptCore/llint/LowLevelInterpreter64.asm:1341
&gt; +    addq numberTag, t0

What is the purpose of this addition? t0 is already 1, so just ci2ds is fine (it is not boxed double etc.).

&gt; JSTests/microbenchmarks/pow-double-int.js:7
&gt; +for (let i = -50; i &lt;= 50; i += 0.1)
&gt; +    for (let j = 0; j &lt;= 1000; j++) 
&gt; +        exponentiate(i, j);

Can you add a test case getting Infinity, -Infinity, and NaN for double input?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825415</commentid>
    <comment_count>9</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-12-18 23:16:29 -0800</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #8)
&gt; &gt; Source/JavaScriptCore/llint/LowLevelInterpreter64.asm:1341
&gt; &gt; +    addq numberTag, t0
&gt; 
&gt; What is the purpose of this addition? t0 is already 1, so just ci2ds is fine
&gt; (it is not boxed double etc.).

Thanks for pointing this out -- I assumed that I needed it in order to do a double calculation with an immediate, but apparently I was wrong.

&gt; &gt; JSTests/microbenchmarks/pow-double-int.js:7
&gt; &gt; +for (let i = -50; i &lt;= 50; i += 0.1)
&gt; &gt; +    for (let j = 0; j &lt;= 1000; j++) 
&gt; &gt; +        exponentiate(i, j);
&gt; 
&gt; Can you add a test case getting Infinity, -Infinity, and NaN for double
&gt; input?

I think this is covered by the following:
stress/pow-nan-behaviors.js
stress/pow-with-constants.js

But let me know if we need more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825416</commentid>
    <comment_count>10</comment_count>
      <attachid>447541</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-12-18 23:17:00 -0800</bug_when>
    <thetext>Created attachment 447541
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825420</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-19 00:34:19 -0800</bug_when>
    <thetext>Committed r287236 (245396@main): &lt;https://commits.webkit.org/245396@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 447541.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1825421</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-19 00:35:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/86680069&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447395</attachid>
            <date>2021-12-16 15:31:53 -0800</date>
            <delta_ts>2021-12-16 18:16:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234408-20211216153152.patch</filename>
            <type>text/plain</type>
            <size>6609</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MWZjOTc1NjAzYmY3MjZhNTYwOWNlMzM4MzIyYmJhOTA3MWYwOTliLi4wM2RhYjJlY2IyM2YyNDFl
OTFhZDI1MmY1ZWZiMTk2ZDUwZWMwYWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOCBAQAorMjAyMS0xMi0xNiAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0pTQ10gT3BQb3cgc2hvdWxkIGhhdmUgYSAic21hbGwgaW50IGV4
cG9uZW50IiBmYXN0IHBhdGggYXQgbG93ZXIgdGllcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDQwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIERGRyBoYXMgYW4gQXJpdGhQb3cgZmFzdCBwYXRoIHdo
aWNoIGp1c3QgbXVsdGlwbGllcyBpbiBhIGxvb3Agd2hlbiB0aGUgZXhwb25lbnQgaXMgYW4gaW50
IGJldHdlZW4gMCBhbmQgMTAwMDsKKyAgICAgICAgdGhpcyBjYW4gYmUgZG9uZSBhdCBsb3dlciB0
aWVycyB0b28uCisKKyAgICAgICAgSW1wbGVtZW50aW5nIHRoaXMgYXQgTExJbnQgZ2l2ZXMgdGhl
IGZvbGxvd2luZyBzcGVlZHVwIHdpdGggSklUIGRpc2FibGVkIChuZXV0cmFsIG90aGVyd2lzZSk6
CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWZvcmUgICAgICAgICAgICAg
ICAgICAgIEFmdGVyCisKKyAgICAgICAgcG93LWludC1pbnQgICAgICAgICAxOTMuNzE4MCstMC40
ODk3ICAgICBeICAgIDEwMC4zNTY5Ky0xLjk4MDQgICAgICAgIF4gZGVmaW5pdGVseSAxLjkzMDN4
IGZhc3RlcgorICAgICAgICBwb3ctZG91YmxlLWludCAgICAgIDE5NC4wNzQ0Ky0wLjc5OTggICAg
IF4gICAgMTAwLjAzNDYrLTAuODY1NSAgICAgICAgXiBkZWZpbml0ZWx5IDEuOTQwMXggZmFzdGVy
CisKKyAgICAgICAgPGdlb21ldHJpYz4gICAgICAgICAxOTMuODgyNCstMC40NjY3ICAgICBeICAg
IDEwMC4wOTY0Ky0wLjk5MjIgICAgICAgIF4gZGVmaW5pdGVseSAxLjkzNzB4IGZhc3RlcgorCisg
ICAgICAgIChUT0RPOiBuZWVkIGJhc2VsaW5lIGltcGwgYmVmb3JlIGxhbmRpbmcpCisKKyAgICAg
ICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKyAgICAgICAgKiBsbGludC9Mb3dM
ZXZlbEludGVycHJldGVyMzJfNjQuYXNtOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206CisKIDIwMjEtMTItMTYgIENhaXRsaW4gUG90dGVyICA8Y2FpdHBAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbSlNDXSBvbmx5IGVtaXQgcG9pbnRlciB2YWxpZGF0aW9uIGZvciBB
Uk02NEUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbQppbmRleCBkODQ5MzAyNTFlOGFmOGMxNGUxNGI0NWU2OTJjM2YxYTdhZjMzMTQ4
Li4wNzZiMDc2YWU5OTUwYzI5OGZhYzNhZGQ0OWEyZTk4MzY1YWJmODM0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCkBAIC0y
MTM1LDcgKzIxMzUsNiBAQCBzbG93UGF0aE9wKGlzX2NhbGxhYmxlKQogc2xvd1BhdGhPcChpc19j
b25zdHJ1Y3RvcikKIHNsb3dQYXRoT3AobmV3X2FycmF5X2J1ZmZlcikKIHNsb3dQYXRoT3AobmV3
X2FycmF5X3dpdGhfc3ByZWFkKQotc2xvd1BhdGhPcChwb3cpCiBzbG93UGF0aE9wKHB1c2hfd2l0
aF9zY29wZSkKIHNsb3dQYXRoT3AocHV0X2J5X2lkX3dpdGhfdGhpcykKIHNsb3dQYXRoT3AocHV0
X2J5X3ZhbF93aXRoX3RoaXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCmluZGV4IGNmMWVhMjE0MjQyYjRiZjRl
YTUxNWI4ZmFjNDU1MTZkZTA3YmZmODcuLjM5Y2YzYTUxZjkzZmI4NWE2N2ViZTI3YTgzMDNlNzc3
NWQ2MzkzMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyMzJfNjQuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCkBAIC0xMTA5LDYgKzExMDksNDIgQEAgbGxpbnRP
cFdpdGhNZXRhZGF0YShvcF9uZWdhdGUsIE9wTmVnYXRlLCBtYWNybyAoc2l6ZSwgZ2V0LCBkaXNw
YXRjaCwgbWV0YWRhdGEsIHIKICAgICBkaXNwYXRjaCgpCiBlbmQpCiAKK2xsaW50T3BXaXRoUmV0
dXJuKG9wX3BvdywgT3BQb3csIG1hY3JvIChzaXplLCBnZXQsIGRpc3BhdGNoLCByZXR1cm4pCisg
ICAgZ2V0KG1fcmhzLCB0MikKKyAgICBnZXQobV9saHMsIHQwKQorICAgIGxvYWRDb25zdGFudE9y
VmFyaWFibGUoc2l6ZSwgdDIsIHQzLCB0MSkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlMlJl
ZyhzaXplLCB0MCwgdDIsIHQwKQorICAgIGJpbmVxIHQzLCBJbnQzMlRhZywgLnNsb3cKKworICAg
IGJpbHQgdDEsIDAsIC5zbG93CisgICAgYmlndCB0MSwgMTAwMCwgLnNsb3cKKworICAgIGJpbmVx
IHQyLCBJbnQzMlRhZywgLmxoc05vdEludAorICAgIGNpMmRzIHQwLCBmdDAKKyAgICBqbXAgLmxo
c1JlYWR5CisubGhzTm90SW50OgorICAgIGJpYSB0MiwgTG93ZXN0VGFnLCAuc2xvdworICAgIGZp
aTJkIHQwLCB0MiwgZnQwCisubGhzUmVhZHk6CisgICAgZ2V0KG1fZHN0LCB0MikKKyAgICBtb3Zl
IDEsIHQwCisgICAgY2kyZHMgdDAsIGZ0MQorCisubG9vcDoKKyAgICBidGl6IHQxLCAweDEsIC5l
eHBvbmVudElzRXZlbgorICAgIG11bGQgZnQwLCBmdDEKKy5leHBvbmVudElzRXZlbjoKKyAgICBt
dWxkIGZ0MCwgZnQwCisgICAgcnNoaWZ0aSAxLCB0MQorICAgIGJ0aW56IHQxLCAubG9vcAorCisg
ICAgc3RvcmVkIGZ0MCwgW2NmciwgdDIsIDhdCisgICAgZGlzcGF0Y2goKQorCisuc2xvdzoKKyAg
ICBjYWxsU2xvd1BhdGgoX3Nsb3dfcGF0aF9wb3cpCisgICAgZGlzcGF0Y2goKQorZW5kKQogCiBt
YWNybyBiaW5hcnlPcEN1c3RvbVN0b3JlKG9wY29kZU5hbWUsIG9wY29kZVN0cnVjdCwgaW50ZWdl
ck9wZXJhdGlvbkFuZFN0b3JlLCBkb3VibGVPcGVyYXRpb24pCiAgICAgbGxpbnRPcFdpdGhNZXRh
ZGF0YShvcF8lb3Bjb2RlTmFtZSUsIG9wY29kZVN0cnVjdCwgbWFjcm8gKHNpemUsIGdldCwgZGlz
cGF0Y2gsIG1ldGFkYXRhLCByZXR1cm4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCmluZGV4IDExODY2NzQ3YWRhODEyNDQ3
YjczOWIwOWE1ZjhjMTI0YTgzMGRhMzIuLjhjZTg3MzNhYTg0Y2FhNzY1NDAzMTg5Zjk4NGE2MGMy
ZjdmMjIxNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtCkBAIC0xMzE5LDYgKzEzMTksNDYgQEAgZWxzZQogICAgIHNs
b3dQYXRoT3AobW9kKQogZW5kCiAKK2xsaW50T3BXaXRoUmV0dXJuKG9wX3BvdywgT3BQb3csIG1h
Y3JvIChzaXplLCBnZXQsIGRpc3BhdGNoLCByZXR1cm4pCisgICAgZ2V0KG1fcmhzLCB0MCkKKyAg
ICBnZXQobV9saHMsIHQyKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMihzaXplLCB0
MCwgdDEsIC5zbG93KQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUoc2l6ZSwgdDIsIHQwKQor
CisgICAgYmlsdCB0MSwgMCwgLnNsb3cKKyAgICBiaWd0IHQxLCAxMDAwLCAuc2xvdworCisgICAg
YnFiIHQwLCBudW1iZXJUYWcsIC5saHNOb3RJbnQKKyAgICBjaTJkcyB0MCwgZnQwCisgICAgam1w
IC5saHNSZWFkeQorLmxoc05vdEludDoKKyAgICBidHF6IHQwLCBudW1iZXJUYWcsIC5zbG93Cisg
ICAgYWRkcSBudW1iZXJUYWcsIHQwCisgICAgZnEyZCB0MCwgZnQwCisubGhzUmVhZHk6CisgICAg
Z2V0KG1fZHN0LCB0MikKKyAgICBtb3ZlIDEsIHQwCisgICAgYWRkcSBudW1iZXJUYWcsIHQwCisg
ICAgY2kyZHMgdDAsIGZ0MQorCisubG9vcDoKKyAgICBidGl6IHQxLCAweDEsIC5leHBvbmVudElz
RXZlbgorICAgIG11bGQgZnQwLCBmdDEKKy5leHBvbmVudElzRXZlbjoKKyAgICBtdWxkIGZ0MCwg
ZnQwCisgICAgcnNoaWZ0aSAxLCB0MQorICAgIGJ0aW56IHQxLCAubG9vcAorCisgICAgZmQycSBm
dDEsIHQwCisgICAgc3VicSBudW1iZXJUYWcsIHQwCisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0Miwg
OF0KKyAgICBkaXNwYXRjaCgpCisKKy5zbG93OgorICAgIGNhbGxTbG93UGF0aChfc2xvd19wYXRo
X3BvdykKKyAgICBkaXNwYXRjaCgpCitlbmQpCisKIGxsaW50T3BXaXRoUmV0dXJuKG9wX3Vuc2ln
bmVkLCBPcFVuc2lnbmVkLCBtYWNybyAoc2l6ZSwgZ2V0LCBkaXNwYXRjaCwgcmV0dXJuKQogICAg
IGdldChtX29wZXJhbmQsIHQxKQogICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUoc2l6ZSwgdDEs
IHQyKQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwpp
bmRleCAzMDAxZTEwYjZjNmNiNzMxMDliYTlmMWYwYmM1MDkxMTExMDAwYTc0Li42NDYwODgzZTNl
NWQ1MWFmNjZiZWMzOTFmOWRjODdjYTcyN2RkN2YyIDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5n
ZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTEyLTE2
ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBbSlND
XSBPcFBvdyBzaG91bGQgaGF2ZSBhICJzbWFsbCBpbnQgZXhwb25lbnQiIGZhc3QgcGF0aCBhdCBs
b3dlciB0aWVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM0NDA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBtaWNyb2JlbmNobWFya3MvcG93LWRvdWJsZS1pbnQuanM6IEFkZGVkLgorICAgICAgICAq
IG1pY3JvYmVuY2htYXJrcy9wb3ctaW50LWludC5qczogQWRkZWQuCisKIDIwMjEtMTItMTYgIERl
dmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBBcnJh
eS5wcm90b3R5cGUuZ3JvdXBCeSBhbmQgQXJyYXkucHJvdG90eXBlLmdyb3VwQnlUb01hcApkaWZm
IC0tZ2l0IGEvSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG93LWRvdWJsZS1pbnQuanMgYi9KU1Rl
c3RzL21pY3JvYmVuY2htYXJrcy9wb3ctZG91YmxlLWludC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMmQ1NGMz
YWU5ZmU2OGQyZmQ5OWZlMzIzYjEyNTEzZDA0MzU0OTdiCi0tLSAvZGV2L251bGwKKysrIGIvSlNU
ZXN0cy9taWNyb2JlbmNobWFya3MvcG93LWRvdWJsZS1pbnQuanMKQEAgLTAsMCArMSw3IEBACisv
L0Agc2tpcCBpZiAkbW9kZWwgPT0gIkFwcGxlIFdhdGNoIFNlcmllcyAzIiAjIGFkZGVkIGJ5IG1h
cmstanNjLXN0cmVzcy10ZXN0LnB5CitmdW5jdGlvbiBleHBvbmVudGlhdGUoeCwgeSkgeyByZXR1
cm4geCAqKiB5OyB9Citub0lubGluZShleHBvbmVudGlhdGUpOworCitmb3IgKGxldCBpID0gLTUw
OyBpIDw9IDUwOyBpICs9IDAuMSkKKyAgICBmb3IgKGxldCBqID0gMDsgaiA8PSAxMDAwOyBqKysp
IAorICAgICAgICBleHBvbmVudGlhdGUoaSwgaik7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL21pY3Jv
YmVuY2htYXJrcy9wb3ctaW50LWludC5qcyBiL0pTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3Bvdy1p
bnQtaW50LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhYTA1OTM4ZmJjYzQ0NmY1NzJiOGQyZGIwZDYxNTBhMGZk
YjRmODEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb3ctaW50
LWludC5qcwpAQCAtMCwwICsxLDcgQEAKKy8vQCBza2lwIGlmICRtb2RlbCA9PSAiQXBwbGUgV2F0
Y2ggU2VyaWVzIDMiICMgYWRkZWQgYnkgbWFyay1qc2Mtc3RyZXNzLXRlc3QucHkKK2Z1bmN0aW9u
IGV4cG9uZW50aWF0ZSh4LCB5KSB7IHJldHVybiB4ICoqIHk7IH0KK25vSW5saW5lKGV4cG9uZW50
aWF0ZSk7CisKK2ZvciAobGV0IGkgPSAtNTAwOyBpIDw9IDUwMDsgaSsrKQorICAgIGZvciAobGV0
IGogPSAwOyBqIDw9IDEwMDA7IGorKykgCisgICAgICAgIGV4cG9uZW50aWF0ZShpLCBqKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447406</attachid>
            <date>2021-12-16 18:16:17 -0800</date>
            <delta_ts>2021-12-16 20:50:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234408-20211216181616.patch</filename>
            <type>text/plain</type>
            <size>12731</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MWZjOTc1NjAzYmY3MjZhNTYwOWNlMzM4MzIyYmJhOTA3MWYwOTliLi5lMWUyZjdiODRiOGM2NGE1
ZWQ2MGYxNTQ4N2NhY2FmYjE1ZDRiODI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NCBAQAorMjAyMS0xMi0xNiAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0pTQ10gT3BQb3cgc2hvdWxkIGhhdmUgYSAic21hbGwgaW50IGV4
cG9uZW50IiBmYXN0IHBhdGggYXQgbG93ZXIgdGllcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDQwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIERGRyBoYXMgYW4gQXJpdGhQb3cgZmFzdCBwYXRoIHdo
aWNoIGp1c3QgbXVsdGlwbGllcyBpbiBhIGxvb3Agd2hlbiB0aGUgZXhwb25lbnQgaXMgYW4gaW50
IGJldHdlZW4gMCBhbmQgMTAwMDsKKyAgICAgICAgdGhpcyBjYW4gYmUgZG9uZSBhdCBsb3dlciB0
aWVycyB0b28uCisKKyAgICAgICAgSW1wbGVtZW50aW5nIHRoaXMgYXQgTExJbnQgZ2l2ZXMgdGhl
IGZvbGxvd2luZyBzcGVlZHVwIHdpdGggSklUIGRpc2FibGVkOgorCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgQmVmb3JlICAgICAgICAgICAgICAgICAgICBBZnRlcgorCisgICAg
ICAgIHBvdy1pbnQtaW50ICAgICAgICAgMTkzLjcxODArLTAuNDg5NyAgICAgXiAgICAxMDAuMzU2
OSstMS45ODA0ICAgICAgICBeIGRlZmluaXRlbHkgMS45MzAzeCBmYXN0ZXIKKyAgICAgICAgcG93
LWRvdWJsZS1pbnQgICAgICAxOTQuMDc0NCstMC43OTk4ICAgICBeICAgIDEwMC4wMzQ2Ky0wLjg2
NTUgICAgICAgIF4gZGVmaW5pdGVseSAxLjk0MDF4IGZhc3RlcgorCisgICAgICAgIDxnZW9tZXRy
aWM+ICAgICAgICAgMTkzLjg4MjQrLTAuNDY2NyAgICAgXiAgICAxMDAuMDk2NCstMC45OTIyICAg
ICAgICBeIGRlZmluaXRlbHkgMS45MzcweCBmYXN0ZXIKKworICAgICAgICBJbXBsZW1lbnRpbmcg
dGhpcyBhdCBCYXNlbGluZSBnaXZlcyBzaW1pbGFyIHJlc3VsdHMgd2l0aCBERkcgZGlzYWJsZWQ6
CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlZm9yZSAgICAg
ICAgICAgICAgICAgICAgQWZ0ZXIKKworICAgICAgICBwb3ctaW50LWludCAgICAgICAgIDE5NS42
MjUxKy0wLjk1NzcgICAgIF4gICAgIDk5Ljk2MjcrLTAuMzMwNyAgICAgICAgXiBkZWZpbml0ZWx5
IDEuOTU3MHggZmFzdGVyCisgICAgICAgIHBvdy1kb3VibGUtaW50ICAgICAgMTk2LjE5NzUrLTAu
OTMwNyAgICAgXiAgICAxMDEuMDA1NistMC4zMTI0ICAgICAgICBeIGRlZmluaXRlbHkgMS45NDI0
eCBmYXN0ZXIKKworICAgICAgICA8Z2VvbWV0cmljPiAgICAgICAgIDE5NS44Nzg2Ky0wLjU4ODMg
ICAgIF4gICAgMTAwLjQ3NjcrLTAuMjMzMyAgICAgICAgXiBkZWZpbml0ZWx5IDEuOTQ5NXggZmFz
dGVyCisKKyAgICAgICAgUmVzdWx0cyBhcmUgbmV1dHJhbCBvdGhlcndpc2UuCisKKyAgICAgICAg
KiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNz
KToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZVNsb3dDYXNlcyk6CisgICAgICAg
ICogaml0L0pJVC5oOgorICAgICAgICAqIGppdC9KSVRBcml0aG1ldGljLmNwcDoKKyAgICAgICAg
KEpTQzo6SklUOjplbWl0X29wX3Bvdyk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3Bf
cG93KToKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKyAgICAgICAg
KiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtOgorICAgICAgICAqIGxsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206CisKIDIwMjEtMTItMTYgIENhaXRsaW4gUG90dGVyICA8
Y2FpdHBAaWdhbGlhLmNvbT4KIAogICAgICAgICBbSlNDXSBvbmx5IGVtaXQgcG9pbnRlciB2YWxp
ZGF0aW9uIGZvciBBUk02NEUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklULmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAppbmRleCBlOTEzYjNi
NmJiZDJkNzYxZjIyNjFlMTdhM2MyMzczMmM4YWZmY2NjLi4xZmQ2NGQyMWI0ZDNiZjE4NWZkM2Y3
NGViMWFiNzg4YjhkZjQ1ZTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCkBAIC0zNDMs
NyArMzQzLDYgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICBE
RUZJTkVfU0xPV19PUChjcmVhdGVfZ2VuZXJhdG9yKQogICAgICAgICBERUZJTkVfU0xPV19PUChj
cmVhdGVfYXN5bmNfZ2VuZXJhdG9yKQogICAgICAgICBERUZJTkVfU0xPV19PUChuZXdfZ2VuZXJh
dG9yKQotICAgICAgICBERUZJTkVfU0xPV19PUChwb3cpCiAKICAgICAgICAgREVGSU5FX09QKG9w
X2FkZCkKICAgICAgICAgREVGSU5FX09QKG9wX2JpdG5vdCkKQEAgLTQzNSw2ICs0MzQsNyBAQCB2
b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcygpCiAgICAgICAgIERFRklORV9PUChvcF9z
dXBlcl9zYW1wbGVyX2VuZCkKICAgICAgICAgREVGSU5FX09QKG9wX2xzaGlmdCkKICAgICAgICAg
REVGSU5FX09QKG9wX21vZCkKKyAgICAgICAgREVGSU5FX09QKG9wX3BvdykKICAgICAgICAgREVG
SU5FX09QKG9wX21vdikKICAgICAgICAgREVGSU5FX09QKG9wX211bCkKICAgICAgICAgREVGSU5F
X09QKG9wX25lZ2F0ZSkKQEAgLTYxNiw2ICs2MTYsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBp
bGVTbG93Q2FzZXMoKQogICAgICAgICBERUZJTkVfU0xPV0NBU0VfT1Aob3BfbG9vcF9oaW50KQog
ICAgICAgICBERUZJTkVfU0xPV0NBU0VfT1Aob3BfY2hlY2tfdHJhcHMpCiAgICAgICAgIERFRklO
RV9TTE9XQ0FTRV9PUChvcF9tb2QpCisgICAgICAgIERFRklORV9TTE9XQ0FTRV9PUChvcF9wb3cp
CiAgICAgICAgIERFRklORV9TTE9XQ0FTRV9PUChvcF9tdWwpCiAgICAgICAgIERFRklORV9TTE9X
Q0FTRV9PUChvcF9uZWdhdGUpCiAgICAgICAgIERFRklORV9TTE9XQ0FTRV9PUChvcF9uZXEpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuaAppbmRleCBmM2RlMTI3YWQzNDNiZGY1ODllOTVhMjI5ODQyMWU3
NjQxZWQ3YjZmLi5mZjM4ODc0MzNjM2Q1ZDFjY2YzNjhjNmYzZWU5ZTFhOGE4ODQ3Njk4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklULmgKQEAgLTQ4NSw2ICs0ODUsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgdm9pZCBlbWl0X29wX3N1cGVyX3NhbXBsZXJfZW5kKGNvbnN0IEluc3RydWN0aW9u
Kik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9sc2hpZnQoY29uc3QgSW5zdHJ1Y3Rpb24qKTsKICAg
ICAgICAgdm9pZCBlbWl0X29wX21vZChjb25zdCBJbnN0cnVjdGlvbiopOworICAgICAgICB2b2lk
IGVtaXRfb3BfcG93KGNvbnN0IEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9t
b3YoY29uc3QgSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX211bChjb25zdCBJ
bnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmVnYXRlKGNvbnN0IEluc3RydWN0
aW9uKik7CkBAIC01OTYsNiArNTk3LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQg
ZW1pdFNsb3dfb3BfbG9vcF9oaW50KGNvbnN0IEluc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNl
RW50cnk+OjppdGVyYXRvciYpOwogICAgICAgICB2b2lkIGVtaXRTbG93X29wX2NoZWNrX3RyYXBz
KGNvbnN0IEluc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRvciYpOwog
ICAgICAgICB2b2lkIGVtaXRTbG93X29wX21vZChjb25zdCBJbnN0cnVjdGlvbiosIFZlY3RvcjxT
bG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImKTsKKyAgICAgICAgdm9pZCBlbWl0U2xvd19vcF9wb3co
Y29uc3QgSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJik7CiAg
ICAgICAgIHZvaWQgZW1pdFNsb3dfb3BfbXVsKGNvbnN0IEluc3RydWN0aW9uKiwgVmVjdG9yPFNs
b3dDYXNlRW50cnk+OjppdGVyYXRvciYpOwogICAgICAgICB2b2lkIGVtaXRTbG93X29wX25lZ2F0
ZShjb25zdCBJbnN0cnVjdGlvbiosIFZlY3RvcjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImKTsK
ICAgICAgICAgdm9pZCBlbWl0U2xvd19vcF9uZXEoY29uc3QgSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8
U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVEFyaXRobWV0aWMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRBcml0aG1ldGljLmNwcAppbmRleCBmODY3NTgzMmE4N2NiZWRhYWYxNmJjYTg3MTVmOGIzNWNk
NWFmOTMzLi4xMjJkZDQ5M2RiYTZlNzc4YTNkYjNkNmE3NjJmZDc4ZDUzOTY1MWQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0aWMuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQXJpdGhtZXRpYy5jcHAKQEAgLTQ3Niw2ICs0NzYs
NTYgQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX21vZChjb25zdCBJbnN0cnVjdGlvbiosIFZlY3Rv
cjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImKQogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0gRU5EOiBPUF9NT0QgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAK
K3ZvaWQgSklUOjplbWl0X29wX3Bvdyhjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0
aW9uKQoreworICAgIGF1dG8gYnl0ZWNvZGUgPSBjdXJyZW50SW5zdHJ1Y3Rpb24tPmFzPE9wUG93
PigpOworICAgIFZpcnR1YWxSZWdpc3RlciByZXN1bHQgPSBieXRlY29kZS5tX2RzdDsKKyAgICBW
aXJ0dWFsUmVnaXN0ZXIgb3AxID0gYnl0ZWNvZGUubV9saHM7CisgICAgVmlydHVhbFJlZ2lzdGVy
IG9wMiA9IGJ5dGVjb2RlLm1fcmhzOworCisgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIGxlZnRS
ZWdzID0ganNSZWdUMTA7CisgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHJpZ2h0UmVncyA9IGpz
UmVnVDMyOworICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyByZXN1bHRSZWdzID0gbGVmdFJlZ3M7
CisgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BSID0gcmVnVDQ7CisKKyAgICBlbWl0R2V0
VmlydHVhbFJlZ2lzdGVyKG9wMSwgbGVmdFJlZ3MpOworICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0
ZXIob3AyLCByaWdodFJlZ3MpOworICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5vdEludChyaWdodFJl
Z3MpOworCisgICAgYWRkU2xvd0Nhc2UoYnJhbmNoMzIoTGVzc1RoYW4sIHJpZ2h0UmVncy5wYXls
b2FkR1BSKCksIFRydXN0ZWRJbW0zMigwKSkpOworICAgIGFkZFNsb3dDYXNlKGJyYW5jaDMyKEdy
ZWF0ZXJUaGFuLCByaWdodFJlZ3MucGF5bG9hZEdQUigpLCBUcnVzdGVkSW1tMzIobWF4RXhwb25l
bnRGb3JJbnRlZ2VyTWF0aFBvdykpKTsKKworICAgIEp1bXAgbGhzTm90SW50ID0gYnJhbmNoSWZO
b3RJbnQzMihsZWZ0UmVncyk7CisgICAgY29udmVydEludDMyVG9Eb3VibGUobGVmdFJlZ3MucGF5
bG9hZEdQUigpLCBmcFJlZ1QwKTsKKyAgICBKdW1wIGxoc1JlYWR5ID0ganVtcCgpOworICAgIGxo
c05vdEludC5saW5rKHRoaXMpOworICAgIGFkZFNsb3dDYXNlKGJyYW5jaElmTm90TnVtYmVyKGxl
ZnRSZWdzLCBzY3JhdGNoR1BSKSk7CisgICAgdW5ib3hEb3VibGUobGVmdFJlZ3MucGF5bG9hZEdQ
UigpLCBsZWZ0UmVncy5wYXlsb2FkR1BSKCksIGZwUmVnVDApOworICAgIGxoc1JlYWR5Lmxpbmso
dGhpcyk7CisKKyAgICBtb3ZlKFRydXN0ZWRJbW0zMigxKSwgc2NyYXRjaEdQUik7CisgICAgY29u
dmVydEludDMyVG9Eb3VibGUoc2NyYXRjaEdQUiwgZnBSZWdUMSk7CisKKyAgICBMYWJlbCBsb29w
ID0gbGFiZWwoKTsKKyAgICBKdW1wIGV4cG9uZW50SXNFdmVuID0gYnJhbmNoVGVzdDMyKFplcm8s
IHJpZ2h0UmVncy5wYXlsb2FkR1BSKCksIFRydXN0ZWRJbW0zMigxKSk7CisgICAgbXVsRG91Ymxl
KGZwUmVnVDAsIGZwUmVnVDEpOworICAgIGV4cG9uZW50SXNFdmVuLmxpbmsodGhpcyk7CisgICAg
bXVsRG91YmxlKGZwUmVnVDAsIGZwUmVnVDApOworICAgIHJzaGlmdDMyKFRydXN0ZWRJbW0zMigx
KSwgcmlnaHRSZWdzLnBheWxvYWRHUFIoKSk7CisgICAgYnJhbmNoVGVzdDMyKE5vblplcm8sIHJp
Z2h0UmVncy5wYXlsb2FkR1BSKCkpLmxpbmtUbyhsb29wLCB0aGlzKTsKKworICAgIGJveERvdWJs
ZShmcFJlZ1QxLCByZXN1bHRSZWdzKTsKKyAgICBlbWl0UHV0VmlydHVhbFJlZ2lzdGVyKHJlc3Vs
dCwgcmVzdWx0UmVncyk7Cit9CisKK3ZvaWQgSklUOjplbWl0U2xvd19vcF9wb3coY29uc3QgSW5z
dHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVy
YXRvciYgaXRlcikKK3sKKyAgICBsaW5rQWxsU2xvd0Nhc2VzKGl0ZXIpOworCisgICAgSklUU2xv
d1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBjdXJyZW50SW5zdHJ1Y3Rpb24sIHNsb3dfcGF0
aF9wb3cpOworICAgIHNsb3dQYXRoQ2FsbC5jYWxsKCk7Cit9CisKIHZvaWQgSklUOjplbWl0X29w
X25lZ2F0ZShjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogewogICAgIFVu
YXJ5QXJpdGhQcm9maWxlKiBhcml0aFByb2ZpbGUgPSAmbV91bmxpbmtlZENvZGVCbG9jay0+dW5h
cnlBcml0aFByb2ZpbGUoY3VycmVudEluc3RydWN0aW9uLT5hczxPcE5lZ2F0ZT4oKS5tX3Byb2Zp
bGVJbmRleCk7CkBAIC05NjEsOCArMTAxMSw2IEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF9zdWIo
Y29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXNlCiAg
ICAgZW1pdE1hdGhJQ1Nsb3c8T3BTdWI+KHN1YklDLCBjdXJyZW50SW5zdHJ1Y3Rpb24sIG9wZXJh
dGlvblZhbHVlU3ViUHJvZmlsZWRPcHRpbWl6ZSwgb3BlcmF0aW9uVmFsdWVTdWJQcm9maWxlZCwg
b3BlcmF0aW9uVmFsdWVTdWJPcHRpbWl6ZSk7CiB9CiAKLS8qIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSBFTkQ6IE9QX0FERCwgT1BfU1VCLCBPUF9NVUwsIE9QX1BPVyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLQogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAv
LyBFTkFCTEUoSklUKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtCmluZGV4IGQ4NDkzMDI1MWU4YWY4YzE0ZTE0YjQ1ZTY5MmMzZjFh
N2FmMzMxNDguLjA3NmIwNzZhZTk5NTBjMjk4ZmFjM2FkZDQ5YTJlOTgzNjVhYmY4MzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c20KQEAgLTIxMzUsNyArMjEzNSw2IEBAIHNsb3dQYXRoT3AoaXNfY2FsbGFibGUpCiBzbG93UGF0
aE9wKGlzX2NvbnN0cnVjdG9yKQogc2xvd1BhdGhPcChuZXdfYXJyYXlfYnVmZmVyKQogc2xvd1Bh
dGhPcChuZXdfYXJyYXlfd2l0aF9zcHJlYWQpCi1zbG93UGF0aE9wKHBvdykKIHNsb3dQYXRoT3Ao
cHVzaF93aXRoX3Njb3BlKQogc2xvd1BhdGhPcChwdXRfYnlfaWRfd2l0aF90aGlzKQogc2xvd1Bh
dGhPcChwdXRfYnlfdmFsX3dpdGhfdGhpcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KaW5kZXggY2YxZWEyMTQy
NDJiNGJmNGVhNTE1YjhmYWM0NTUxNmRlMDdiZmY4Ny4uN2RiMzk3OGQ3MjI3Yjc1ZmM5YWNmZTYx
MDFiN2YxNDFiOTA0ZTEyNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KQEAgLTExMDksNiArMTEwOSw0MiBA
QCBsbGludE9wV2l0aE1ldGFkYXRhKG9wX25lZ2F0ZSwgT3BOZWdhdGUsIG1hY3JvIChzaXplLCBn
ZXQsIGRpc3BhdGNoLCBtZXRhZGF0YSwgcgogICAgIGRpc3BhdGNoKCkKIGVuZCkKIAorbGxpbnRP
cFdpdGhSZXR1cm4ob3BfcG93LCBPcFBvdywgbWFjcm8gKHNpemUsIGdldCwgZGlzcGF0Y2gsIHJl
dHVybikKKyAgICBnZXQobV9yaHMsIHQyKQorICAgIGdldChtX2xocywgdDApCisgICAgbG9hZENv
bnN0YW50T3JWYXJpYWJsZShzaXplLCB0MiwgdDMsIHQxKQorICAgIGxvYWRDb25zdGFudE9yVmFy
aWFibGUyUmVnKHNpemUsIHQwLCB0MiwgdDApCisgICAgYmluZXEgdDMsIEludDMyVGFnLCAuc2xv
dworCisgICAgYmlsdCB0MSwgMCwgLnNsb3cKKyAgICBiaWd0IHQxLCAoY29uc3RleHByIG1heEV4
cG9uZW50Rm9ySW50ZWdlck1hdGhQb3cpLCAuc2xvdworCisgICAgYmluZXEgdDIsIEludDMyVGFn
LCAubGhzTm90SW50CisgICAgY2kyZHMgdDAsIGZ0MAorICAgIGptcCAubGhzUmVhZHkKKy5saHNO
b3RJbnQ6CisgICAgYmlhIHQyLCBMb3dlc3RUYWcsIC5zbG93CisgICAgZmlpMmQgdDAsIHQyLCBm
dDAKKy5saHNSZWFkeToKKyAgICBnZXQobV9kc3QsIHQyKQorICAgIG1vdmUgMSwgdDAKKyAgICBj
aTJkcyB0MCwgZnQxCisKKy5sb29wOgorICAgIGJ0aXogdDEsIDB4MSwgLmV4cG9uZW50SXNFdmVu
CisgICAgbXVsZCBmdDAsIGZ0MQorLmV4cG9uZW50SXNFdmVuOgorICAgIG11bGQgZnQwLCBmdDAK
KyAgICByc2hpZnRpIDEsIHQxCisgICAgYnRpbnogdDEsIC5sb29wCisKKyAgICBzdG9yZWQgZnQw
LCBbY2ZyLCB0MiwgOF0KKyAgICBkaXNwYXRjaCgpCisKKy5zbG93OgorICAgIGNhbGxTbG93UGF0
aChfc2xvd19wYXRoX3BvdykKKyAgICBkaXNwYXRjaCgpCitlbmQpCiAKIG1hY3JvIGJpbmFyeU9w
Q3VzdG9tU3RvcmUob3Bjb2RlTmFtZSwgb3Bjb2RlU3RydWN0LCBpbnRlZ2VyT3BlcmF0aW9uQW5k
U3RvcmUsIGRvdWJsZU9wZXJhdGlvbikKICAgICBsbGludE9wV2l0aE1ldGFkYXRhKG9wXyVvcGNv
ZGVOYW1lJSwgb3Bjb2RlU3RydWN0LCBtYWNybyAoc2l6ZSwgZ2V0LCBkaXNwYXRjaCwgbWV0YWRh
dGEsIHJldHVybikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc20KaW5kZXggMTE4NjY3NDdhZGE4MTI0NDdiNzM5YjA5YTVmOGMx
MjRhODMwZGEzMi4uYzUzMjhmNTVlMjYzN2I3ZGRhNWRlYWMyMTY0YTEwMjUzYjE1NDlkYSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc20KQEAgLTEzMTksNiArMTMxOSw0NiBAQCBlbHNlCiAgICAgc2xvd1BhdGhPcChtb2Qp
CiBlbmQKIAorbGxpbnRPcFdpdGhSZXR1cm4ob3BfcG93LCBPcFBvdywgbWFjcm8gKHNpemUsIGdl
dCwgZGlzcGF0Y2gsIHJldHVybikKKyAgICBnZXQobV9yaHMsIHQwKQorICAgIGdldChtX2xocywg
dDIpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyKHNpemUsIHQwLCB0MSwgLnNsb3cp
CisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZShzaXplLCB0MiwgdDApCisKKyAgICBiaWx0IHQx
LCAwLCAuc2xvdworICAgIGJpZ3QgdDEsIChjb25zdGV4cHIgbWF4RXhwb25lbnRGb3JJbnRlZ2Vy
TWF0aFBvdyksIC5zbG93CisKKyAgICBicWIgdDAsIG51bWJlclRhZywgLmxoc05vdEludAorICAg
IGNpMmRzIHQwLCBmdDAKKyAgICBqbXAgLmxoc1JlYWR5CisubGhzTm90SW50OgorICAgIGJ0cXog
dDAsIG51bWJlclRhZywgLnNsb3cKKyAgICBhZGRxIG51bWJlclRhZywgdDAKKyAgICBmcTJkIHQw
LCBmdDAKKy5saHNSZWFkeToKKyAgICBnZXQobV9kc3QsIHQyKQorICAgIG1vdmUgMSwgdDAKKyAg
ICBhZGRxIG51bWJlclRhZywgdDAKKyAgICBjaTJkcyB0MCwgZnQxCisKKy5sb29wOgorICAgIGJ0
aXogdDEsIDB4MSwgLmV4cG9uZW50SXNFdmVuCisgICAgbXVsZCBmdDAsIGZ0MQorLmV4cG9uZW50
SXNFdmVuOgorICAgIG11bGQgZnQwLCBmdDAKKyAgICByc2hpZnRpIDEsIHQxCisgICAgYnRpbnog
dDEsIC5sb29wCisKKyAgICBmZDJxIGZ0MSwgdDAKKyAgICBzdWJxIG51bWJlclRhZywgdDAKKyAg
ICBzdG9yZXEgdDAsIFtjZnIsIHQyLCA4XQorICAgIGRpc3BhdGNoKCkKKworLnNsb3c6CisgICAg
Y2FsbFNsb3dQYXRoKF9zbG93X3BhdGhfcG93KQorICAgIGRpc3BhdGNoKCkKK2VuZCkKKwogbGxp
bnRPcFdpdGhSZXR1cm4ob3BfdW5zaWduZWQsIE9wVW5zaWduZWQsIG1hY3JvIChzaXplLCBnZXQs
IGRpc3BhdGNoLCByZXR1cm4pCiAgICAgZ2V0KG1fb3BlcmFuZCwgdDEpCiAgICAgbG9hZENvbnN0
YW50T3JWYXJpYWJsZShzaXplLCB0MSwgdDIpCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxv
ZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDMwMDFlMTBiNmM2Y2I3MzEwOWJhOWYxZjBiYzUw
OTExMTEwMDBhNzQuLjY0NjA4ODNlM2U1ZDUxYWY2NmJlYzM5MWY5ZGM4N2NhNzI3ZGQ3ZjIgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMjEtMTItMTYgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNv
bnkuY29tPgorCisgICAgICAgIFtKU0NdIE9wUG93IHNob3VsZCBoYXZlIGEgInNtYWxsIGludCBl
eHBvbmVudCIgZmFzdCBwYXRoIGF0IGxvd2VyIHRpZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0MDgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIG1pY3JvYmVuY2htYXJrcy9wb3ctZG91YmxlLWlu
dC5qczogQWRkZWQuCisgICAgICAgICogbWljcm9iZW5jaG1hcmtzL3Bvdy1pbnQtaW50LmpzOiBB
ZGRlZC4KKwogMjAyMS0xMi0xNiAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAK
ICAgICAgICAgSW1wbGVtZW50IEFycmF5LnByb3RvdHlwZS5ncm91cEJ5IGFuZCBBcnJheS5wcm90
b3R5cGUuZ3JvdXBCeVRvTWFwCmRpZmYgLS1naXQgYS9KU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9w
b3ctZG91YmxlLWludC5qcyBiL0pTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3Bvdy1kb3VibGUtaW50
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQyZDU0YzNhZTlmZTY4ZDJmZDk5ZmUzMjNiMTI1MTNkMDQzNTQ5N2IK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb3ctZG91YmxlLWlu
dC5qcwpAQCAtMCwwICsxLDcgQEAKKy8vQCBza2lwIGlmICRtb2RlbCA9PSAiQXBwbGUgV2F0Y2gg
U2VyaWVzIDMiICMgYWRkZWQgYnkgbWFyay1qc2Mtc3RyZXNzLXRlc3QucHkKK2Z1bmN0aW9uIGV4
cG9uZW50aWF0ZSh4LCB5KSB7IHJldHVybiB4ICoqIHk7IH0KK25vSW5saW5lKGV4cG9uZW50aWF0
ZSk7CisKK2ZvciAobGV0IGkgPSAtNTA7IGkgPD0gNTA7IGkgKz0gMC4xKQorICAgIGZvciAobGV0
IGogPSAwOyBqIDw9IDEwMDA7IGorKykgCisgICAgICAgIGV4cG9uZW50aWF0ZShpLCBqKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3Bvdy1pbnQtaW50LmpzIGIvSlNUZXN0
cy9taWNyb2JlbmNobWFya3MvcG93LWludC1pbnQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWFhMDU5MzhmYmNj
NDQ2ZjU3MmI4ZDJkYjBkNjE1MGEwZmRiNGY4MQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
bWljcm9iZW5jaG1hcmtzL3Bvdy1pbnQtaW50LmpzCkBAIC0wLDAgKzEsNyBAQAorLy9AIHNraXAg
aWYgJG1vZGVsID09ICJBcHBsZSBXYXRjaCBTZXJpZXMgMyIgIyBhZGRlZCBieSBtYXJrLWpzYy1z
dHJlc3MtdGVzdC5weQorZnVuY3Rpb24gZXhwb25lbnRpYXRlKHgsIHkpIHsgcmV0dXJuIHggKiog
eTsgfQorbm9JbmxpbmUoZXhwb25lbnRpYXRlKTsKKworZm9yIChsZXQgaSA9IC01MDA7IGkgPD0g
NTAwOyBpKyspCisgICAgZm9yIChsZXQgaiA9IDA7IGogPD0gMTAwMDsgaisrKSAKKyAgICAgICAg
ZXhwb25lbnRpYXRlKGksIGopOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447418</attachid>
            <date>2021-12-16 20:50:07 -0800</date>
            <delta_ts>2021-12-16 21:35:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234408-20211216205006.patch</filename>
            <type>text/plain</type>
            <size>12731</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MWZjOTc1NjAzYmY3MjZhNTYwOWNlMzM4MzIyYmJhOTA3MWYwOTliLi5lMWUyZjdiODRiOGM2NGE1
ZWQ2MGYxNTQ4N2NhY2FmYjE1ZDRiODI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NCBAQAorMjAyMS0xMi0xNiAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0pTQ10gT3BQb3cgc2hvdWxkIGhhdmUgYSAic21hbGwgaW50IGV4
cG9uZW50IiBmYXN0IHBhdGggYXQgbG93ZXIgdGllcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDQwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIERGRyBoYXMgYW4gQXJpdGhQb3cgZmFzdCBwYXRoIHdo
aWNoIGp1c3QgbXVsdGlwbGllcyBpbiBhIGxvb3Agd2hlbiB0aGUgZXhwb25lbnQgaXMgYW4gaW50
IGJldHdlZW4gMCBhbmQgMTAwMDsKKyAgICAgICAgdGhpcyBjYW4gYmUgZG9uZSBhdCBsb3dlciB0
aWVycyB0b28uCisKKyAgICAgICAgSW1wbGVtZW50aW5nIHRoaXMgYXQgTExJbnQgZ2l2ZXMgdGhl
IGZvbGxvd2luZyBzcGVlZHVwIHdpdGggSklUIGRpc2FibGVkOgorCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgQmVmb3JlICAgICAgICAgICAgICAgICAgICBBZnRlcgorCisgICAg
ICAgIHBvdy1pbnQtaW50ICAgICAgICAgMTkzLjcxODArLTAuNDg5NyAgICAgXiAgICAxMDAuMzU2
OSstMS45ODA0ICAgICAgICBeIGRlZmluaXRlbHkgMS45MzAzeCBmYXN0ZXIKKyAgICAgICAgcG93
LWRvdWJsZS1pbnQgICAgICAxOTQuMDc0NCstMC43OTk4ICAgICBeICAgIDEwMC4wMzQ2Ky0wLjg2
NTUgICAgICAgIF4gZGVmaW5pdGVseSAxLjk0MDF4IGZhc3RlcgorCisgICAgICAgIDxnZW9tZXRy
aWM+ICAgICAgICAgMTkzLjg4MjQrLTAuNDY2NyAgICAgXiAgICAxMDAuMDk2NCstMC45OTIyICAg
ICAgICBeIGRlZmluaXRlbHkgMS45MzcweCBmYXN0ZXIKKworICAgICAgICBJbXBsZW1lbnRpbmcg
dGhpcyBhdCBCYXNlbGluZSBnaXZlcyBzaW1pbGFyIHJlc3VsdHMgd2l0aCBERkcgZGlzYWJsZWQ6
CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlZm9yZSAgICAg
ICAgICAgICAgICAgICAgQWZ0ZXIKKworICAgICAgICBwb3ctaW50LWludCAgICAgICAgIDE5NS42
MjUxKy0wLjk1NzcgICAgIF4gICAgIDk5Ljk2MjcrLTAuMzMwNyAgICAgICAgXiBkZWZpbml0ZWx5
IDEuOTU3MHggZmFzdGVyCisgICAgICAgIHBvdy1kb3VibGUtaW50ICAgICAgMTk2LjE5NzUrLTAu
OTMwNyAgICAgXiAgICAxMDEuMDA1NistMC4zMTI0ICAgICAgICBeIGRlZmluaXRlbHkgMS45NDI0
eCBmYXN0ZXIKKworICAgICAgICA8Z2VvbWV0cmljPiAgICAgICAgIDE5NS44Nzg2Ky0wLjU4ODMg
ICAgIF4gICAgMTAwLjQ3NjcrLTAuMjMzMyAgICAgICAgXiBkZWZpbml0ZWx5IDEuOTQ5NXggZmFz
dGVyCisKKyAgICAgICAgUmVzdWx0cyBhcmUgbmV1dHJhbCBvdGhlcndpc2UuCisKKyAgICAgICAg
KiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNz
KToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZVNsb3dDYXNlcyk6CisgICAgICAg
ICogaml0L0pJVC5oOgorICAgICAgICAqIGppdC9KSVRBcml0aG1ldGljLmNwcDoKKyAgICAgICAg
KEpTQzo6SklUOjplbWl0X29wX3Bvdyk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3Bf
cG93KToKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKyAgICAgICAg
KiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtOgorICAgICAgICAqIGxsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206CisKIDIwMjEtMTItMTYgIENhaXRsaW4gUG90dGVyICA8
Y2FpdHBAaWdhbGlhLmNvbT4KIAogICAgICAgICBbSlNDXSBvbmx5IGVtaXQgcG9pbnRlciB2YWxp
ZGF0aW9uIGZvciBBUk02NEUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklULmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAppbmRleCBlOTEzYjNi
NmJiZDJkNzYxZjIyNjFlMTdhM2MyMzczMmM4YWZmY2NjLi4xZmQ2NGQyMWI0ZDNiZjE4NWZkM2Y3
NGViMWFiNzg4YjhkZjQ1ZTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCkBAIC0zNDMs
NyArMzQzLDYgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICBE
RUZJTkVfU0xPV19PUChjcmVhdGVfZ2VuZXJhdG9yKQogICAgICAgICBERUZJTkVfU0xPV19PUChj
cmVhdGVfYXN5bmNfZ2VuZXJhdG9yKQogICAgICAgICBERUZJTkVfU0xPV19PUChuZXdfZ2VuZXJh
dG9yKQotICAgICAgICBERUZJTkVfU0xPV19PUChwb3cpCiAKICAgICAgICAgREVGSU5FX09QKG9w
X2FkZCkKICAgICAgICAgREVGSU5FX09QKG9wX2JpdG5vdCkKQEAgLTQzNSw2ICs0MzQsNyBAQCB2
b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcygpCiAgICAgICAgIERFRklORV9PUChvcF9z
dXBlcl9zYW1wbGVyX2VuZCkKICAgICAgICAgREVGSU5FX09QKG9wX2xzaGlmdCkKICAgICAgICAg
REVGSU5FX09QKG9wX21vZCkKKyAgICAgICAgREVGSU5FX09QKG9wX3BvdykKICAgICAgICAgREVG
SU5FX09QKG9wX21vdikKICAgICAgICAgREVGSU5FX09QKG9wX211bCkKICAgICAgICAgREVGSU5F
X09QKG9wX25lZ2F0ZSkKQEAgLTYxNiw2ICs2MTYsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBp
bGVTbG93Q2FzZXMoKQogICAgICAgICBERUZJTkVfU0xPV0NBU0VfT1Aob3BfbG9vcF9oaW50KQog
ICAgICAgICBERUZJTkVfU0xPV0NBU0VfT1Aob3BfY2hlY2tfdHJhcHMpCiAgICAgICAgIERFRklO
RV9TTE9XQ0FTRV9PUChvcF9tb2QpCisgICAgICAgIERFRklORV9TTE9XQ0FTRV9PUChvcF9wb3cp
CiAgICAgICAgIERFRklORV9TTE9XQ0FTRV9PUChvcF9tdWwpCiAgICAgICAgIERFRklORV9TTE9X
Q0FTRV9PUChvcF9uZWdhdGUpCiAgICAgICAgIERFRklORV9TTE9XQ0FTRV9PUChvcF9uZXEpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuaAppbmRleCBmM2RlMTI3YWQzNDNiZGY1ODllOTVhMjI5ODQyMWU3
NjQxZWQ3YjZmLi5mZjM4ODc0MzNjM2Q1ZDFjY2YzNjhjNmYzZWU5ZTFhOGE4ODQ3Njk4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklULmgKQEAgLTQ4NSw2ICs0ODUsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgdm9pZCBlbWl0X29wX3N1cGVyX3NhbXBsZXJfZW5kKGNvbnN0IEluc3RydWN0aW9u
Kik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9sc2hpZnQoY29uc3QgSW5zdHJ1Y3Rpb24qKTsKICAg
ICAgICAgdm9pZCBlbWl0X29wX21vZChjb25zdCBJbnN0cnVjdGlvbiopOworICAgICAgICB2b2lk
IGVtaXRfb3BfcG93KGNvbnN0IEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9t
b3YoY29uc3QgSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX211bChjb25zdCBJ
bnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmVnYXRlKGNvbnN0IEluc3RydWN0
aW9uKik7CkBAIC01OTYsNiArNTk3LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQg
ZW1pdFNsb3dfb3BfbG9vcF9oaW50KGNvbnN0IEluc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNl
RW50cnk+OjppdGVyYXRvciYpOwogICAgICAgICB2b2lkIGVtaXRTbG93X29wX2NoZWNrX3RyYXBz
KGNvbnN0IEluc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRvciYpOwog
ICAgICAgICB2b2lkIGVtaXRTbG93X29wX21vZChjb25zdCBJbnN0cnVjdGlvbiosIFZlY3RvcjxT
bG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImKTsKKyAgICAgICAgdm9pZCBlbWl0U2xvd19vcF9wb3co
Y29uc3QgSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJik7CiAg
ICAgICAgIHZvaWQgZW1pdFNsb3dfb3BfbXVsKGNvbnN0IEluc3RydWN0aW9uKiwgVmVjdG9yPFNs
b3dDYXNlRW50cnk+OjppdGVyYXRvciYpOwogICAgICAgICB2b2lkIGVtaXRTbG93X29wX25lZ2F0
ZShjb25zdCBJbnN0cnVjdGlvbiosIFZlY3RvcjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImKTsK
ICAgICAgICAgdm9pZCBlbWl0U2xvd19vcF9uZXEoY29uc3QgSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8
U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVEFyaXRobWV0aWMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRBcml0aG1ldGljLmNwcAppbmRleCBmODY3NTgzMmE4N2NiZWRhYWYxNmJjYTg3MTVmOGIzNWNk
NWFmOTMzLi4xMjJkZDQ5M2RiYTZlNzc4YTNkYjNkNmE3NjJmZDc4ZDUzOTY1MWQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0aWMuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQXJpdGhtZXRpYy5jcHAKQEAgLTQ3Niw2ICs0NzYs
NTYgQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX21vZChjb25zdCBJbnN0cnVjdGlvbiosIFZlY3Rv
cjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImKQogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0gRU5EOiBPUF9NT0QgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAK
K3ZvaWQgSklUOjplbWl0X29wX3Bvdyhjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0
aW9uKQoreworICAgIGF1dG8gYnl0ZWNvZGUgPSBjdXJyZW50SW5zdHJ1Y3Rpb24tPmFzPE9wUG93
PigpOworICAgIFZpcnR1YWxSZWdpc3RlciByZXN1bHQgPSBieXRlY29kZS5tX2RzdDsKKyAgICBW
aXJ0dWFsUmVnaXN0ZXIgb3AxID0gYnl0ZWNvZGUubV9saHM7CisgICAgVmlydHVhbFJlZ2lzdGVy
IG9wMiA9IGJ5dGVjb2RlLm1fcmhzOworCisgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIGxlZnRS
ZWdzID0ganNSZWdUMTA7CisgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHJpZ2h0UmVncyA9IGpz
UmVnVDMyOworICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyByZXN1bHRSZWdzID0gbGVmdFJlZ3M7
CisgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BSID0gcmVnVDQ7CisKKyAgICBlbWl0R2V0
VmlydHVhbFJlZ2lzdGVyKG9wMSwgbGVmdFJlZ3MpOworICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0
ZXIob3AyLCByaWdodFJlZ3MpOworICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5vdEludChyaWdodFJl
Z3MpOworCisgICAgYWRkU2xvd0Nhc2UoYnJhbmNoMzIoTGVzc1RoYW4sIHJpZ2h0UmVncy5wYXls
b2FkR1BSKCksIFRydXN0ZWRJbW0zMigwKSkpOworICAgIGFkZFNsb3dDYXNlKGJyYW5jaDMyKEdy
ZWF0ZXJUaGFuLCByaWdodFJlZ3MucGF5bG9hZEdQUigpLCBUcnVzdGVkSW1tMzIobWF4RXhwb25l
bnRGb3JJbnRlZ2VyTWF0aFBvdykpKTsKKworICAgIEp1bXAgbGhzTm90SW50ID0gYnJhbmNoSWZO
b3RJbnQzMihsZWZ0UmVncyk7CisgICAgY29udmVydEludDMyVG9Eb3VibGUobGVmdFJlZ3MucGF5
bG9hZEdQUigpLCBmcFJlZ1QwKTsKKyAgICBKdW1wIGxoc1JlYWR5ID0ganVtcCgpOworICAgIGxo
c05vdEludC5saW5rKHRoaXMpOworICAgIGFkZFNsb3dDYXNlKGJyYW5jaElmTm90TnVtYmVyKGxl
ZnRSZWdzLCBzY3JhdGNoR1BSKSk7CisgICAgdW5ib3hEb3VibGUobGVmdFJlZ3MucGF5bG9hZEdQ
UigpLCBsZWZ0UmVncy5wYXlsb2FkR1BSKCksIGZwUmVnVDApOworICAgIGxoc1JlYWR5Lmxpbmso
dGhpcyk7CisKKyAgICBtb3ZlKFRydXN0ZWRJbW0zMigxKSwgc2NyYXRjaEdQUik7CisgICAgY29u
dmVydEludDMyVG9Eb3VibGUoc2NyYXRjaEdQUiwgZnBSZWdUMSk7CisKKyAgICBMYWJlbCBsb29w
ID0gbGFiZWwoKTsKKyAgICBKdW1wIGV4cG9uZW50SXNFdmVuID0gYnJhbmNoVGVzdDMyKFplcm8s
IHJpZ2h0UmVncy5wYXlsb2FkR1BSKCksIFRydXN0ZWRJbW0zMigxKSk7CisgICAgbXVsRG91Ymxl
KGZwUmVnVDAsIGZwUmVnVDEpOworICAgIGV4cG9uZW50SXNFdmVuLmxpbmsodGhpcyk7CisgICAg
bXVsRG91YmxlKGZwUmVnVDAsIGZwUmVnVDApOworICAgIHJzaGlmdDMyKFRydXN0ZWRJbW0zMigx
KSwgcmlnaHRSZWdzLnBheWxvYWRHUFIoKSk7CisgICAgYnJhbmNoVGVzdDMyKE5vblplcm8sIHJp
Z2h0UmVncy5wYXlsb2FkR1BSKCkpLmxpbmtUbyhsb29wLCB0aGlzKTsKKworICAgIGJveERvdWJs
ZShmcFJlZ1QxLCByZXN1bHRSZWdzKTsKKyAgICBlbWl0UHV0VmlydHVhbFJlZ2lzdGVyKHJlc3Vs
dCwgcmVzdWx0UmVncyk7Cit9CisKK3ZvaWQgSklUOjplbWl0U2xvd19vcF9wb3coY29uc3QgSW5z
dHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVy
YXRvciYgaXRlcikKK3sKKyAgICBsaW5rQWxsU2xvd0Nhc2VzKGl0ZXIpOworCisgICAgSklUU2xv
d1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBjdXJyZW50SW5zdHJ1Y3Rpb24sIHNsb3dfcGF0
aF9wb3cpOworICAgIHNsb3dQYXRoQ2FsbC5jYWxsKCk7Cit9CisKIHZvaWQgSklUOjplbWl0X29w
X25lZ2F0ZShjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogewogICAgIFVu
YXJ5QXJpdGhQcm9maWxlKiBhcml0aFByb2ZpbGUgPSAmbV91bmxpbmtlZENvZGVCbG9jay0+dW5h
cnlBcml0aFByb2ZpbGUoY3VycmVudEluc3RydWN0aW9uLT5hczxPcE5lZ2F0ZT4oKS5tX3Byb2Zp
bGVJbmRleCk7CkBAIC05NjEsOCArMTAxMSw2IEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF9zdWIo
Y29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXNlCiAg
ICAgZW1pdE1hdGhJQ1Nsb3c8T3BTdWI+KHN1YklDLCBjdXJyZW50SW5zdHJ1Y3Rpb24sIG9wZXJh
dGlvblZhbHVlU3ViUHJvZmlsZWRPcHRpbWl6ZSwgb3BlcmF0aW9uVmFsdWVTdWJQcm9maWxlZCwg
b3BlcmF0aW9uVmFsdWVTdWJPcHRpbWl6ZSk7CiB9CiAKLS8qIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLSBFTkQ6IE9QX0FERCwgT1BfU1VCLCBPUF9NVUwsIE9QX1BPVyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLQogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAv
LyBFTkFCTEUoSklUKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtCmluZGV4IGQ4NDkzMDI1MWU4YWY4YzE0ZTE0YjQ1ZTY5MmMzZjFh
N2FmMzMxNDguLjA3NmIwNzZhZTk5NTBjMjk4ZmFjM2FkZDQ5YTJlOTgzNjVhYmY4MzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c20KQEAgLTIxMzUsNyArMjEzNSw2IEBAIHNsb3dQYXRoT3AoaXNfY2FsbGFibGUpCiBzbG93UGF0
aE9wKGlzX2NvbnN0cnVjdG9yKQogc2xvd1BhdGhPcChuZXdfYXJyYXlfYnVmZmVyKQogc2xvd1Bh
dGhPcChuZXdfYXJyYXlfd2l0aF9zcHJlYWQpCi1zbG93UGF0aE9wKHBvdykKIHNsb3dQYXRoT3Ao
cHVzaF93aXRoX3Njb3BlKQogc2xvd1BhdGhPcChwdXRfYnlfaWRfd2l0aF90aGlzKQogc2xvd1Bh
dGhPcChwdXRfYnlfdmFsX3dpdGhfdGhpcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KaW5kZXggY2YxZWEyMTQy
NDJiNGJmNGVhNTE1YjhmYWM0NTUxNmRlMDdiZmY4Ny4uN2U1NTcyYmEyNTU0NDJjMmM5MmVlOWE3
NGY1Y2JjZWVkNjBjN2ViMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KQEAgLTExMDksNiArMTEwOSw0MiBA
QCBsbGludE9wV2l0aE1ldGFkYXRhKG9wX25lZ2F0ZSwgT3BOZWdhdGUsIG1hY3JvIChzaXplLCBn
ZXQsIGRpc3BhdGNoLCBtZXRhZGF0YSwgcgogICAgIGRpc3BhdGNoKCkKIGVuZCkKIAorbGxpbnRP
cFdpdGhSZXR1cm4ob3BfcG93LCBPcFBvdywgbWFjcm8gKHNpemUsIGdldCwgZGlzcGF0Y2gsIHJl
dHVybikKKyAgICBnZXQobV9yaHMsIHQyKQorICAgIGdldChtX2xocywgdDApCisgICAgbG9hZENv
bnN0YW50T3JWYXJpYWJsZShzaXplLCB0MiwgdDMsIHQxKQorICAgIGxvYWRDb25zdGFudE9yVmFy
aWFibGUyUmVnKHNpemUsIHQwLCB0MiwgdDApCisgICAgYmluZXEgdDMsIEludDMyVGFnLCAuc2xv
dworCisgICAgYmlsdCB0MSwgMCwgLnNsb3cKKyAgICBiaWd0IHQxLCAoY29uc3RleHByIG1heEV4
cG9uZW50Rm9ySW50ZWdlck1hdGhQb3cpLCAuc2xvdworCisgICAgYmluZXEgdDIsIEludDMyVGFn
LCAubGhzTm90SW50CisgICAgY2kyZHMgdDAsIGZ0MAorICAgIGptcCAubGhzUmVhZHkKKy5saHNO
b3RJbnQ6CisgICAgYmlhIHQyLCBMb3dlc3RUYWcsIC5zbG93CisgICAgZmlpMmQgdDAsIHQyLCBm
dDAKKy5saHNSZWFkeToKKyAgICBnZXQobV9kc3QsIHQyKQorICAgIG1vdmUgMSwgdDAKKyAgICBj
aTJkcyB0MCwgZnQxCisKKy5sb29wOgorICAgIGJ0aXogdDEsIDB4MSwgLmV4cG9uZW50SXNFdmVu
CisgICAgbXVsZCBmdDAsIGZ0MQorLmV4cG9uZW50SXNFdmVuOgorICAgIG11bGQgZnQwLCBmdDAK
KyAgICByc2hpZnRpIDEsIHQxCisgICAgYnRpbnogdDEsIC5sb29wCisKKyAgICBzdG9yZWQgZnQx
LCBbY2ZyLCB0MiwgOF0KKyAgICBkaXNwYXRjaCgpCisKKy5zbG93OgorICAgIGNhbGxTbG93UGF0
aChfc2xvd19wYXRoX3BvdykKKyAgICBkaXNwYXRjaCgpCitlbmQpCiAKIG1hY3JvIGJpbmFyeU9w
Q3VzdG9tU3RvcmUob3Bjb2RlTmFtZSwgb3Bjb2RlU3RydWN0LCBpbnRlZ2VyT3BlcmF0aW9uQW5k
U3RvcmUsIGRvdWJsZU9wZXJhdGlvbikKICAgICBsbGludE9wV2l0aE1ldGFkYXRhKG9wXyVvcGNv
ZGVOYW1lJSwgb3Bjb2RlU3RydWN0LCBtYWNybyAoc2l6ZSwgZ2V0LCBkaXNwYXRjaCwgbWV0YWRh
dGEsIHJldHVybikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc20KaW5kZXggMTE4NjY3NDdhZGE4MTI0NDdiNzM5YjA5YTVmOGMx
MjRhODMwZGEzMi4uYzUzMjhmNTVlMjYzN2I3ZGRhNWRlYWMyMTY0YTEwMjUzYjE1NDlkYSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc20KQEAgLTEzMTksNiArMTMxOSw0NiBAQCBlbHNlCiAgICAgc2xvd1BhdGhPcChtb2Qp
CiBlbmQKIAorbGxpbnRPcFdpdGhSZXR1cm4ob3BfcG93LCBPcFBvdywgbWFjcm8gKHNpemUsIGdl
dCwgZGlzcGF0Y2gsIHJldHVybikKKyAgICBnZXQobV9yaHMsIHQwKQorICAgIGdldChtX2xocywg
dDIpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyKHNpemUsIHQwLCB0MSwgLnNsb3cp
CisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZShzaXplLCB0MiwgdDApCisKKyAgICBiaWx0IHQx
LCAwLCAuc2xvdworICAgIGJpZ3QgdDEsIChjb25zdGV4cHIgbWF4RXhwb25lbnRGb3JJbnRlZ2Vy
TWF0aFBvdyksIC5zbG93CisKKyAgICBicWIgdDAsIG51bWJlclRhZywgLmxoc05vdEludAorICAg
IGNpMmRzIHQwLCBmdDAKKyAgICBqbXAgLmxoc1JlYWR5CisubGhzTm90SW50OgorICAgIGJ0cXog
dDAsIG51bWJlclRhZywgLnNsb3cKKyAgICBhZGRxIG51bWJlclRhZywgdDAKKyAgICBmcTJkIHQw
LCBmdDAKKy5saHNSZWFkeToKKyAgICBnZXQobV9kc3QsIHQyKQorICAgIG1vdmUgMSwgdDAKKyAg
ICBhZGRxIG51bWJlclRhZywgdDAKKyAgICBjaTJkcyB0MCwgZnQxCisKKy5sb29wOgorICAgIGJ0
aXogdDEsIDB4MSwgLmV4cG9uZW50SXNFdmVuCisgICAgbXVsZCBmdDAsIGZ0MQorLmV4cG9uZW50
SXNFdmVuOgorICAgIG11bGQgZnQwLCBmdDAKKyAgICByc2hpZnRpIDEsIHQxCisgICAgYnRpbnog
dDEsIC5sb29wCisKKyAgICBmZDJxIGZ0MSwgdDAKKyAgICBzdWJxIG51bWJlclRhZywgdDAKKyAg
ICBzdG9yZXEgdDAsIFtjZnIsIHQyLCA4XQorICAgIGRpc3BhdGNoKCkKKworLnNsb3c6CisgICAg
Y2FsbFNsb3dQYXRoKF9zbG93X3BhdGhfcG93KQorICAgIGRpc3BhdGNoKCkKK2VuZCkKKwogbGxp
bnRPcFdpdGhSZXR1cm4ob3BfdW5zaWduZWQsIE9wVW5zaWduZWQsIG1hY3JvIChzaXplLCBnZXQs
IGRpc3BhdGNoLCByZXR1cm4pCiAgICAgZ2V0KG1fb3BlcmFuZCwgdDEpCiAgICAgbG9hZENvbnN0
YW50T3JWYXJpYWJsZShzaXplLCB0MSwgdDIpCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxv
ZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDMwMDFlMTBiNmM2Y2I3MzEwOWJhOWYxZjBiYzUw
OTExMTEwMDBhNzQuLjY0NjA4ODNlM2U1ZDUxYWY2NmJlYzM5MWY5ZGM4N2NhNzI3ZGQ3ZjIgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMjEtMTItMTYgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNv
bnkuY29tPgorCisgICAgICAgIFtKU0NdIE9wUG93IHNob3VsZCBoYXZlIGEgInNtYWxsIGludCBl
eHBvbmVudCIgZmFzdCBwYXRoIGF0IGxvd2VyIHRpZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ0MDgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIG1pY3JvYmVuY2htYXJrcy9wb3ctZG91YmxlLWlu
dC5qczogQWRkZWQuCisgICAgICAgICogbWljcm9iZW5jaG1hcmtzL3Bvdy1pbnQtaW50LmpzOiBB
ZGRlZC4KKwogMjAyMS0xMi0xNiAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAK
ICAgICAgICAgSW1wbGVtZW50IEFycmF5LnByb3RvdHlwZS5ncm91cEJ5IGFuZCBBcnJheS5wcm90
b3R5cGUuZ3JvdXBCeVRvTWFwCmRpZmYgLS1naXQgYS9KU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9w
b3ctZG91YmxlLWludC5qcyBiL0pTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3Bvdy1kb3VibGUtaW50
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQyZDU0YzNhZTlmZTY4ZDJmZDk5ZmUzMjNiMTI1MTNkMDQzNTQ5N2IK
LS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb3ctZG91YmxlLWlu
dC5qcwpAQCAtMCwwICsxLDcgQEAKKy8vQCBza2lwIGlmICRtb2RlbCA9PSAiQXBwbGUgV2F0Y2gg
U2VyaWVzIDMiICMgYWRkZWQgYnkgbWFyay1qc2Mtc3RyZXNzLXRlc3QucHkKK2Z1bmN0aW9uIGV4
cG9uZW50aWF0ZSh4LCB5KSB7IHJldHVybiB4ICoqIHk7IH0KK25vSW5saW5lKGV4cG9uZW50aWF0
ZSk7CisKK2ZvciAobGV0IGkgPSAtNTA7IGkgPD0gNTA7IGkgKz0gMC4xKQorICAgIGZvciAobGV0
IGogPSAwOyBqIDw9IDEwMDA7IGorKykgCisgICAgICAgIGV4cG9uZW50aWF0ZShpLCBqKTsKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3Bvdy1pbnQtaW50LmpzIGIvSlNUZXN0
cy9taWNyb2JlbmNobWFya3MvcG93LWludC1pbnQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWFhMDU5MzhmYmNj
NDQ2ZjU3MmI4ZDJkYjBkNjE1MGEwZmRiNGY4MQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMv
bWljcm9iZW5jaG1hcmtzL3Bvdy1pbnQtaW50LmpzCkBAIC0wLDAgKzEsNyBAQAorLy9AIHNraXAg
aWYgJG1vZGVsID09ICJBcHBsZSBXYXRjaCBTZXJpZXMgMyIgIyBhZGRlZCBieSBtYXJrLWpzYy1z
dHJlc3MtdGVzdC5weQorZnVuY3Rpb24gZXhwb25lbnRpYXRlKHgsIHkpIHsgcmV0dXJuIHggKiog
eTsgfQorbm9JbmxpbmUoZXhwb25lbnRpYXRlKTsKKworZm9yIChsZXQgaSA9IC01MDA7IGkgPD0g
NTAwOyBpKyspCisgICAgZm9yIChsZXQgaiA9IDA7IGogPD0gMTAwMDsgaisrKSAKKyAgICAgICAg
ZXhwb25lbnRpYXRlKGksIGopOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447425</attachid>
            <date>2021-12-16 21:35:26 -0800</date>
            <delta_ts>2021-12-18 23:16:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234408-20211216213524.patch</filename>
            <type>text/plain</type>
            <size>12792</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MWZjOTc1NjAzYmY3MjZhNTYwOWNlMzM4MzIyYmJhOTA3MWYwOTliLi5lMWUyZjdiODRiOGM2NGE1
ZWQ2MGYxNTQ4N2NhY2FmYjE1ZDRiODI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NCBAQAorMjAyMS0xMi0xNiAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0pTQ10gT3BQb3cgc2hvdWxkIGhhdmUgYSAic21hbGwgaW50IGV4
cG9uZW50IiBmYXN0IHBhdGggYXQgbG93ZXIgdGllcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDQwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIERGRyBoYXMgYW4gQXJpdGhQb3cgZmFzdCBwYXRoIHdo
aWNoIGp1c3QgbXVsdGlwbGllcyBpbiBhIGxvb3Agd2hlbiB0aGUgZXhwb25lbnQgaXMgYW4gaW50
IGJldHdlZW4gMCBhbmQgMTAwMDsKKyAgICAgICAgdGhpcyBjYW4gYmUgZG9uZSBhdCBsb3dlciB0
aWVycyB0b28uCisKKyAgICAgICAgSW1wbGVtZW50aW5nIHRoaXMgYXQgTExJbnQgZ2l2ZXMgdGhl
IGZvbGxvd2luZyBzcGVlZHVwIHdpdGggSklUIGRpc2FibGVkOgorCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgQmVmb3JlICAgICAgICAgICAgICAgICAgICBBZnRlcgorCisgICAg
ICAgIHBvdy1pbnQtaW50ICAgICAgICAgMTkzLjcxODArLTAuNDg5NyAgICAgXiAgICAxMDAuMzU2
OSstMS45ODA0ICAgICAgICBeIGRlZmluaXRlbHkgMS45MzAzeCBmYXN0ZXIKKyAgICAgICAgcG93
LWRvdWJsZS1pbnQgICAgICAxOTQuMDc0NCstMC43OTk4ICAgICBeICAgIDEwMC4wMzQ2Ky0wLjg2
NTUgICAgICAgIF4gZGVmaW5pdGVseSAxLjk0MDF4IGZhc3RlcgorCisgICAgICAgIDxnZW9tZXRy
aWM+ICAgICAgICAgMTkzLjg4MjQrLTAuNDY2NyAgICAgXiAgICAxMDAuMDk2NCstMC45OTIyICAg
ICAgICBeIGRlZmluaXRlbHkgMS45MzcweCBmYXN0ZXIKKworICAgICAgICBJbXBsZW1lbnRpbmcg
dGhpcyBhdCBCYXNlbGluZSBnaXZlcyBzaW1pbGFyIHJlc3VsdHMgd2l0aCBERkcgZGlzYWJsZWQ6
CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlZm9yZSAgICAg
ICAgICAgICAgICAgICAgQWZ0ZXIKKworICAgICAgICBwb3ctaW50LWludCAgICAgICAgIDE5NS42
MjUxKy0wLjk1NzcgICAgIF4gICAgIDk5Ljk2MjcrLTAuMzMwNyAgICAgICAgXiBkZWZpbml0ZWx5
IDEuOTU3MHggZmFzdGVyCisgICAgICAgIHBvdy1kb3VibGUtaW50ICAgICAgMTk2LjE5NzUrLTAu
OTMwNyAgICAgXiAgICAxMDEuMDA1NistMC4zMTI0ICAgICAgICBeIGRlZmluaXRlbHkgMS45NDI0
eCBmYXN0ZXIKKworICAgICAgICA8Z2VvbWV0cmljPiAgICAgICAgIDE5NS44Nzg2Ky0wLjU4ODMg
ICAgIF4gICAgMTAwLjQ3NjcrLTAuMjMzMyAgICAgICAgXiBkZWZpbml0ZWx5IDEuOTQ5NXggZmFz
dGVyCisKKyAgICAgICAgUmVzdWx0cyBhcmUgbmV1dHJhbCBvdGhlcndpc2UuCisKKyAgICAgICAg
KiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNz
KToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZVNsb3dDYXNlcyk6CisgICAgICAg
ICogaml0L0pJVC5oOgorICAgICAgICAqIGppdC9KSVRBcml0aG1ldGljLmNwcDoKKyAgICAgICAg
KEpTQzo6SklUOjplbWl0X29wX3Bvdyk6CisgICAgICAgIChKU0M6OkpJVDo6ZW1pdFNsb3dfb3Bf
cG93KToKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKyAgICAgICAg
KiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtOgorICAgICAgICAqIGxsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206CisKIDIwMjEtMTItMTYgIENhaXRsaW4gUG90dGVyICA8
Y2FpdHBAaWdhbGlhLmNvbT4KIAogICAgICAgICBbSlNDXSBvbmx5IGVtaXQgcG9pbnRlciB2YWxp
ZGF0aW9uIGZvciBBUk02NEUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklULmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAppbmRleCBlOTEzYjNi
NmJiZDJkNzYxZjIyNjFlMTdhM2MyMzczMmM4YWZmY2NjLi4xZmQ2NGQyMWI0ZDNiZjE4NWZkM2Y3
NGViMWFiNzg4YjhkZjQ1ZTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCkBAIC0zNDMs
NyArMzQzLDYgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3MoKQogICAgICAgICBE
RUZJTkVfU0xPV19PUChjcmVhdGVfZ2VuZXJhdG9yKQogICAgICAgICBERUZJTkVfU0xPV19PUChj
cmVhdGVfYXN5bmNfZ2VuZXJhdG9yKQogICAgICAgICBERUZJTkVfU0xPV19PUChuZXdfZ2VuZXJh
dG9yKQotICAgICAgICBERUZJTkVfU0xPV19PUChwb3cpCiAKICAgICAgICAgREVGSU5FX09QKG9w
X2FkZCkKICAgICAgICAgREVGSU5FX09QKG9wX2JpdG5vdCkKQEAgLTQzNSw2ICs0MzQsNyBAQCB2
b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcygpCiAgICAgICAgIERFRklORV9PUChvcF9z
dXBlcl9zYW1wbGVyX2VuZCkKICAgICAgICAgREVGSU5FX09QKG9wX2xzaGlmdCkKICAgICAgICAg
REVGSU5FX09QKG9wX21vZCkKKyAgICAgICAgREVGSU5FX09QKG9wX3BvdykKICAgICAgICAgREVG
SU5FX09QKG9wX21vdikKICAgICAgICAgREVGSU5FX09QKG9wX211bCkKICAgICAgICAgREVGSU5F
X09QKG9wX25lZ2F0ZSkKQEAgLTYxNiw2ICs2MTYsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBp
bGVTbG93Q2FzZXMoKQogICAgICAgICBERUZJTkVfU0xPV0NBU0VfT1Aob3BfbG9vcF9oaW50KQog
ICAgICAgICBERUZJTkVfU0xPV0NBU0VfT1Aob3BfY2hlY2tfdHJhcHMpCiAgICAgICAgIERFRklO
RV9TTE9XQ0FTRV9PUChvcF9tb2QpCisgICAgICAgIERFRklORV9TTE9XQ0FTRV9PUChvcF9wb3cp
CiAgICAgICAgIERFRklORV9TTE9XQ0FTRV9PUChvcF9tdWwpCiAgICAgICAgIERFRklORV9TTE9X
Q0FTRV9PUChvcF9uZWdhdGUpCiAgICAgICAgIERFRklORV9TTE9XQ0FTRV9PUChvcF9uZXEpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuaAppbmRleCBmM2RlMTI3YWQzNDNiZGY1ODllOTVhMjI5ODQyMWU3
NjQxZWQ3YjZmLi5mZjM4ODc0MzNjM2Q1ZDFjY2YzNjhjNmYzZWU5ZTFhOGE4ODQ3Njk4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklULmgKQEAgLTQ4NSw2ICs0ODUsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgdm9pZCBlbWl0X29wX3N1cGVyX3NhbXBsZXJfZW5kKGNvbnN0IEluc3RydWN0aW9u
Kik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9sc2hpZnQoY29uc3QgSW5zdHJ1Y3Rpb24qKTsKICAg
ICAgICAgdm9pZCBlbWl0X29wX21vZChjb25zdCBJbnN0cnVjdGlvbiopOworICAgICAgICB2b2lk
IGVtaXRfb3BfcG93KGNvbnN0IEluc3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9t
b3YoY29uc3QgSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX211bChjb25zdCBJ
bnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbmVnYXRlKGNvbnN0IEluc3RydWN0
aW9uKik7CkBAIC01OTYsNiArNTk3LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQg
ZW1pdFNsb3dfb3BfbG9vcF9oaW50KGNvbnN0IEluc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNl
RW50cnk+OjppdGVyYXRvciYpOwogICAgICAgICB2b2lkIGVtaXRTbG93X29wX2NoZWNrX3RyYXBz
KGNvbnN0IEluc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRvciYpOwog
ICAgICAgICB2b2lkIGVtaXRTbG93X29wX21vZChjb25zdCBJbnN0cnVjdGlvbiosIFZlY3RvcjxT
bG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImKTsKKyAgICAgICAgdm9pZCBlbWl0U2xvd19vcF9wb3co
Y29uc3QgSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJik7CiAg
ICAgICAgIHZvaWQgZW1pdFNsb3dfb3BfbXVsKGNvbnN0IEluc3RydWN0aW9uKiwgVmVjdG9yPFNs
b3dDYXNlRW50cnk+OjppdGVyYXRvciYpOwogICAgICAgICB2b2lkIGVtaXRTbG93X29wX25lZ2F0
ZShjb25zdCBJbnN0cnVjdGlvbiosIFZlY3RvcjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImKTsK
ICAgICAgICAgdm9pZCBlbWl0U2xvd19vcF9uZXEoY29uc3QgSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8
U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVEFyaXRobWV0aWMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRBcml0aG1ldGljLmNwcAppbmRleCBmODY3NTgzMmE4N2NiZWRhYWYxNmJjYTg3MTVmOGIzNWNk
NWFmOTMzLi42OTllYWZjYjcyOWVjYTQxNDA3NWVjMTBjY2M5MjYyMjBiZDQ1NDc1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVEFyaXRobWV0aWMuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQXJpdGhtZXRpYy5jcHAKQEAgLTQ3Niw2ICs0NzYs
NjAgQEAgdm9pZCBKSVQ6OmVtaXRTbG93X29wX21vZChjb25zdCBJbnN0cnVjdGlvbiosIFZlY3Rv
cjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImKQogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0gRU5EOiBPUF9NT0QgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAK
K3ZvaWQgSklUOjplbWl0X29wX3Bvdyhjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0
aW9uKQoreworICAgIGF1dG8gYnl0ZWNvZGUgPSBjdXJyZW50SW5zdHJ1Y3Rpb24tPmFzPE9wUG93
PigpOworICAgIFZpcnR1YWxSZWdpc3RlciByZXN1bHQgPSBieXRlY29kZS5tX2RzdDsKKyAgICBW
aXJ0dWFsUmVnaXN0ZXIgb3AxID0gYnl0ZWNvZGUubV9saHM7CisgICAgVmlydHVhbFJlZ2lzdGVy
IG9wMiA9IGJ5dGVjb2RlLm1fcmhzOworCisgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIGxlZnRS
ZWdzID0ganNSZWdUMTA7CisgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHJpZ2h0UmVncyA9IGpz
UmVnVDMyOworICAgIGNvbnN0ZXhwciBKU1ZhbHVlUmVncyByZXN1bHRSZWdzID0gbGVmdFJlZ3M7
CisgICAgY29uc3RleHByIEdQUlJlZyBzY3JhdGNoR1BSID0gcmVnVDQ7CisKKyAgICBlbWl0R2V0
VmlydHVhbFJlZ2lzdGVyKG9wMSwgbGVmdFJlZ3MpOworICAgIGVtaXRHZXRWaXJ0dWFsUmVnaXN0
ZXIob3AyLCByaWdodFJlZ3MpOworICAgIGVtaXRKdW1wU2xvd0Nhc2VJZk5vdEludChyaWdodFJl
Z3MpOworCisgICAgYWRkU2xvd0Nhc2UoYnJhbmNoMzIoTGVzc1RoYW4sIHJpZ2h0UmVncy5wYXls
b2FkR1BSKCksIFRydXN0ZWRJbW0zMigwKSkpOworICAgIGFkZFNsb3dDYXNlKGJyYW5jaDMyKEdy
ZWF0ZXJUaGFuLCByaWdodFJlZ3MucGF5bG9hZEdQUigpLCBUcnVzdGVkSW1tMzIobWF4RXhwb25l
bnRGb3JJbnRlZ2VyTWF0aFBvdykpKTsKKworICAgIEp1bXAgbGhzTm90SW50ID0gYnJhbmNoSWZO
b3RJbnQzMihsZWZ0UmVncyk7CisgICAgY29udmVydEludDMyVG9Eb3VibGUobGVmdFJlZ3MucGF5
bG9hZEdQUigpLCBmcFJlZ1QwKTsKKyAgICBKdW1wIGxoc1JlYWR5ID0ganVtcCgpOworICAgIGxo
c05vdEludC5saW5rKHRoaXMpOworICAgIGFkZFNsb3dDYXNlKGJyYW5jaElmTm90TnVtYmVyKGxl
ZnRSZWdzLCBzY3JhdGNoR1BSKSk7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICB1bmJveERvdWJs
ZShsZWZ0UmVncy5wYXlsb2FkR1BSKCksIHNjcmF0Y2hHUFIsIGZwUmVnVDApOworI2Vsc2UKKyAg
ICB1bmJveERvdWJsZShsZWZ0UmVncywgZnBSZWdUMCk7CisjZW5kaWYKKyAgICBsaHNSZWFkeS5s
aW5rKHRoaXMpOworCisgICAgbW92ZShUcnVzdGVkSW1tMzIoMSksIHNjcmF0Y2hHUFIpOworICAg
IGNvbnZlcnRJbnQzMlRvRG91YmxlKHNjcmF0Y2hHUFIsIGZwUmVnVDEpOworCisgICAgTGFiZWwg
bG9vcCA9IGxhYmVsKCk7CisgICAgSnVtcCBleHBvbmVudElzRXZlbiA9IGJyYW5jaFRlc3QzMiha
ZXJvLCByaWdodFJlZ3MucGF5bG9hZEdQUigpLCBUcnVzdGVkSW1tMzIoMSkpOworICAgIG11bERv
dWJsZShmcFJlZ1QwLCBmcFJlZ1QxKTsKKyAgICBleHBvbmVudElzRXZlbi5saW5rKHRoaXMpOwor
ICAgIG11bERvdWJsZShmcFJlZ1QwLCBmcFJlZ1QwKTsKKyAgICByc2hpZnQzMihUcnVzdGVkSW1t
MzIoMSksIHJpZ2h0UmVncy5wYXlsb2FkR1BSKCkpOworICAgIGJyYW5jaFRlc3QzMihOb25aZXJv
LCByaWdodFJlZ3MucGF5bG9hZEdQUigpKS5saW5rVG8obG9vcCwgdGhpcyk7CisKKyAgICBib3hE
b3VibGUoZnBSZWdUMSwgcmVzdWx0UmVncyk7CisgICAgZW1pdFB1dFZpcnR1YWxSZWdpc3Rlcihy
ZXN1bHQsIHJlc3VsdFJlZ3MpOworfQorCit2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfcG93KGNvbnN0
IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24sIFZlY3RvcjxTbG93Q2FzZUVudHJ5Pjo6
aXRlcmF0b3ImIGl0ZXIpCit7CisgICAgbGlua0FsbFNsb3dDYXNlcyhpdGVyKTsKKworICAgIEpJ
VFNsb3dQYXRoQ2FsbCBzbG93UGF0aENhbGwodGhpcywgY3VycmVudEluc3RydWN0aW9uLCBzbG93
X3BhdGhfcG93KTsKKyAgICBzbG93UGF0aENhbGwuY2FsbCgpOworfQorCiB2b2lkIEpJVDo6ZW1p
dF9vcF9uZWdhdGUoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbikKIHsKICAg
ICBVbmFyeUFyaXRoUHJvZmlsZSogYXJpdGhQcm9maWxlID0gJm1fdW5saW5rZWRDb2RlQmxvY2st
PnVuYXJ5QXJpdGhQcm9maWxlKGN1cnJlbnRJbnN0cnVjdGlvbi0+YXM8T3BOZWdhdGU+KCkubV9w
cm9maWxlSW5kZXgpOwpAQCAtOTYxLDggKzEwMTUsNiBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3Bf
c3ViKGNvbnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rpb24sIFZlY3RvcjxTbG93Q2Fz
ZQogICAgIGVtaXRNYXRoSUNTbG93PE9wU3ViPihzdWJJQywgY3VycmVudEluc3RydWN0aW9uLCBv
cGVyYXRpb25WYWx1ZVN1YlByb2ZpbGVkT3B0aW1pemUsIG9wZXJhdGlvblZhbHVlU3ViUHJvZmls
ZWQsIG9wZXJhdGlvblZhbHVlU3ViT3B0aW1pemUpOwogfQogCi0vKiAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0gRU5EOiBPUF9BREQsIE9QX1NVQiwgT1BfTVVMLCBPUF9QT1cgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi0KIH0gLy8gbmFtZXNwYWNlIEpTQwogCiAjZW5k
aWYgLy8gRU5BQkxFKEpJVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbQppbmRleCBkODQ5MzAyNTFlOGFmOGMxNGUxNGI0NWU2OTJj
M2YxYTdhZjMzMTQ4Li4wNzZiMDc2YWU5OTUwYzI5OGZhYzNhZGQ0OWEyZTk4MzY1YWJmODM0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtCkBAIC0yMTM1LDcgKzIxMzUsNiBAQCBzbG93UGF0aE9wKGlzX2NhbGxhYmxlKQogc2xv
d1BhdGhPcChpc19jb25zdHJ1Y3RvcikKIHNsb3dQYXRoT3AobmV3X2FycmF5X2J1ZmZlcikKIHNs
b3dQYXRoT3AobmV3X2FycmF5X3dpdGhfc3ByZWFkKQotc2xvd1BhdGhPcChwb3cpCiBzbG93UGF0
aE9wKHB1c2hfd2l0aF9zY29wZSkKIHNsb3dQYXRoT3AocHV0X2J5X2lkX3dpdGhfdGhpcykKIHNs
b3dQYXRoT3AocHV0X2J5X3ZhbF93aXRoX3RoaXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbSBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCmluZGV4IGNmMWVh
MjE0MjQyYjRiZjRlYTUxNWI4ZmFjNDU1MTZkZTA3YmZmODcuLjdlNTU3MmJhMjU1NDQyYzJjOTJl
ZTlhNzRmNWNiY2VlZDYwYzdlYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCkBAIC0xMTA5LDYgKzExMDks
NDIgQEAgbGxpbnRPcFdpdGhNZXRhZGF0YShvcF9uZWdhdGUsIE9wTmVnYXRlLCBtYWNybyAoc2l6
ZSwgZ2V0LCBkaXNwYXRjaCwgbWV0YWRhdGEsIHIKICAgICBkaXNwYXRjaCgpCiBlbmQpCiAKK2xs
aW50T3BXaXRoUmV0dXJuKG9wX3BvdywgT3BQb3csIG1hY3JvIChzaXplLCBnZXQsIGRpc3BhdGNo
LCByZXR1cm4pCisgICAgZ2V0KG1fcmhzLCB0MikKKyAgICBnZXQobV9saHMsIHQwKQorICAgIGxv
YWRDb25zdGFudE9yVmFyaWFibGUoc2l6ZSwgdDIsIHQzLCB0MSkKKyAgICBsb2FkQ29uc3RhbnRP
clZhcmlhYmxlMlJlZyhzaXplLCB0MCwgdDIsIHQwKQorICAgIGJpbmVxIHQzLCBJbnQzMlRhZywg
LnNsb3cKKworICAgIGJpbHQgdDEsIDAsIC5zbG93CisgICAgYmlndCB0MSwgKGNvbnN0ZXhwciBt
YXhFeHBvbmVudEZvckludGVnZXJNYXRoUG93KSwgLnNsb3cKKworICAgIGJpbmVxIHQyLCBJbnQz
MlRhZywgLmxoc05vdEludAorICAgIGNpMmRzIHQwLCBmdDAKKyAgICBqbXAgLmxoc1JlYWR5Cisu
bGhzTm90SW50OgorICAgIGJpYSB0MiwgTG93ZXN0VGFnLCAuc2xvdworICAgIGZpaTJkIHQwLCB0
MiwgZnQwCisubGhzUmVhZHk6CisgICAgZ2V0KG1fZHN0LCB0MikKKyAgICBtb3ZlIDEsIHQwCisg
ICAgY2kyZHMgdDAsIGZ0MQorCisubG9vcDoKKyAgICBidGl6IHQxLCAweDEsIC5leHBvbmVudElz
RXZlbgorICAgIG11bGQgZnQwLCBmdDEKKy5leHBvbmVudElzRXZlbjoKKyAgICBtdWxkIGZ0MCwg
ZnQwCisgICAgcnNoaWZ0aSAxLCB0MQorICAgIGJ0aW56IHQxLCAubG9vcAorCisgICAgc3RvcmVk
IGZ0MSwgW2NmciwgdDIsIDhdCisgICAgZGlzcGF0Y2goKQorCisuc2xvdzoKKyAgICBjYWxsU2xv
d1BhdGgoX3Nsb3dfcGF0aF9wb3cpCisgICAgZGlzcGF0Y2goKQorZW5kKQogCiBtYWNybyBiaW5h
cnlPcEN1c3RvbVN0b3JlKG9wY29kZU5hbWUsIG9wY29kZVN0cnVjdCwgaW50ZWdlck9wZXJhdGlv
bkFuZFN0b3JlLCBkb3VibGVPcGVyYXRpb24pCiAgICAgbGxpbnRPcFdpdGhNZXRhZGF0YShvcF8l
b3Bjb2RlTmFtZSUsIG9wY29kZVN0cnVjdCwgbWFjcm8gKHNpemUsIGdldCwgZGlzcGF0Y2gsIG1l
dGFkYXRhLCByZXR1cm4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtCmluZGV4IDExODY2NzQ3YWRhODEyNDQ3YjczOWIwOWE1
ZjhjMTI0YTgzMGRhMzIuLmM1MzI4ZjU1ZTI2MzdiN2RkYTVkZWFjMjE2NGExMDI1M2IxNTQ5ZGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtCkBAIC0xMzE5LDYgKzEzMTksNDYgQEAgZWxzZQogICAgIHNsb3dQYXRoT3Ao
bW9kKQogZW5kCiAKK2xsaW50T3BXaXRoUmV0dXJuKG9wX3BvdywgT3BQb3csIG1hY3JvIChzaXpl
LCBnZXQsIGRpc3BhdGNoLCByZXR1cm4pCisgICAgZ2V0KG1fcmhzLCB0MCkKKyAgICBnZXQobV9s
aHMsIHQyKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMihzaXplLCB0MCwgdDEsIC5z
bG93KQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUoc2l6ZSwgdDIsIHQwKQorCisgICAgYmls
dCB0MSwgMCwgLnNsb3cKKyAgICBiaWd0IHQxLCAoY29uc3RleHByIG1heEV4cG9uZW50Rm9ySW50
ZWdlck1hdGhQb3cpLCAuc2xvdworCisgICAgYnFiIHQwLCBudW1iZXJUYWcsIC5saHNOb3RJbnQK
KyAgICBjaTJkcyB0MCwgZnQwCisgICAgam1wIC5saHNSZWFkeQorLmxoc05vdEludDoKKyAgICBi
dHF6IHQwLCBudW1iZXJUYWcsIC5zbG93CisgICAgYWRkcSBudW1iZXJUYWcsIHQwCisgICAgZnEy
ZCB0MCwgZnQwCisubGhzUmVhZHk6CisgICAgZ2V0KG1fZHN0LCB0MikKKyAgICBtb3ZlIDEsIHQw
CisgICAgYWRkcSBudW1iZXJUYWcsIHQwCisgICAgY2kyZHMgdDAsIGZ0MQorCisubG9vcDoKKyAg
ICBidGl6IHQxLCAweDEsIC5leHBvbmVudElzRXZlbgorICAgIG11bGQgZnQwLCBmdDEKKy5leHBv
bmVudElzRXZlbjoKKyAgICBtdWxkIGZ0MCwgZnQwCisgICAgcnNoaWZ0aSAxLCB0MQorICAgIGJ0
aW56IHQxLCAubG9vcAorCisgICAgZmQycSBmdDEsIHQwCisgICAgc3VicSBudW1iZXJUYWcsIHQw
CisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0MiwgOF0KKyAgICBkaXNwYXRjaCgpCisKKy5zbG93Ogor
ICAgIGNhbGxTbG93UGF0aChfc2xvd19wYXRoX3BvdykKKyAgICBkaXNwYXRjaCgpCitlbmQpCisK
IGxsaW50T3BXaXRoUmV0dXJuKG9wX3Vuc2lnbmVkLCBPcFVuc2lnbmVkLCBtYWNybyAoc2l6ZSwg
Z2V0LCBkaXNwYXRjaCwgcmV0dXJuKQogICAgIGdldChtX29wZXJhbmQsIHQxKQogICAgIGxvYWRD
b25zdGFudE9yVmFyaWFibGUoc2l6ZSwgdDEsIHQyKQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFu
Z2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCAzMDAxZTEwYjZjNmNiNzMxMDliYTlmMWYw
YmM1MDkxMTExMDAwYTc0Li42NDYwODgzZTNlNWQ1MWFmNjZiZWMzOTFmOWRjODdjYTcyN2RkN2Yy
IDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEzIEBACisyMDIxLTEyLTE2ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGlu
Z0Bzb255LmNvbT4KKworICAgICAgICBbSlNDXSBPcFBvdyBzaG91bGQgaGF2ZSBhICJzbWFsbCBp
bnQgZXhwb25lbnQiIGZhc3QgcGF0aCBhdCBsb3dlciB0aWVycworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM0NDA4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBtaWNyb2JlbmNobWFya3MvcG93LWRvdWJs
ZS1pbnQuanM6IEFkZGVkLgorICAgICAgICAqIG1pY3JvYmVuY2htYXJrcy9wb3ctaW50LWludC5q
czogQWRkZWQuCisKIDIwMjEtMTItMTYgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgogCiAgICAgICAgIEltcGxlbWVudCBBcnJheS5wcm90b3R5cGUuZ3JvdXBCeSBhbmQgQXJyYXku
cHJvdG90eXBlLmdyb3VwQnlUb01hcApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9taWNyb2JlbmNobWFy
a3MvcG93LWRvdWJsZS1pbnQuanMgYi9KU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb3ctZG91Ymxl
LWludC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kMmQ1NGMzYWU5ZmU2OGQyZmQ5OWZlMzIzYjEyNTEzZDA0MzU0
OTdiCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG93LWRvdWJs
ZS1pbnQuanMKQEAgLTAsMCArMSw3IEBACisvL0Agc2tpcCBpZiAkbW9kZWwgPT0gIkFwcGxlIFdh
dGNoIFNlcmllcyAzIiAjIGFkZGVkIGJ5IG1hcmstanNjLXN0cmVzcy10ZXN0LnB5CitmdW5jdGlv
biBleHBvbmVudGlhdGUoeCwgeSkgeyByZXR1cm4geCAqKiB5OyB9Citub0lubGluZShleHBvbmVu
dGlhdGUpOworCitmb3IgKGxldCBpID0gLTUwOyBpIDw9IDUwOyBpICs9IDAuMSkKKyAgICBmb3Ig
KGxldCBqID0gMDsgaiA8PSAxMDAwOyBqKyspIAorICAgICAgICBleHBvbmVudGlhdGUoaSwgaik7
CmRpZmYgLS1naXQgYS9KU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb3ctaW50LWludC5qcyBiL0pT
VGVzdHMvbWljcm9iZW5jaG1hcmtzL3Bvdy1pbnQtaW50LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhYTA1OTM4
ZmJjYzQ0NmY1NzJiOGQyZGIwZDYxNTBhMGZkYjRmODEKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rl
c3RzL21pY3JvYmVuY2htYXJrcy9wb3ctaW50LWludC5qcwpAQCAtMCwwICsxLDcgQEAKKy8vQCBz
a2lwIGlmICRtb2RlbCA9PSAiQXBwbGUgV2F0Y2ggU2VyaWVzIDMiICMgYWRkZWQgYnkgbWFyay1q
c2Mtc3RyZXNzLXRlc3QucHkKK2Z1bmN0aW9uIGV4cG9uZW50aWF0ZSh4LCB5KSB7IHJldHVybiB4
ICoqIHk7IH0KK25vSW5saW5lKGV4cG9uZW50aWF0ZSk7CisKK2ZvciAobGV0IGkgPSAtNTAwOyBp
IDw9IDUwMDsgaSsrKQorICAgIGZvciAobGV0IGogPSAwOyBqIDw9IDEwMDA7IGorKykgCisgICAg
ICAgIGV4cG9uZW50aWF0ZShpLCBqKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447541</attachid>
            <date>2021-12-18 23:17:00 -0800</date>
            <delta_ts>2021-12-19 00:34:21 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-234408-20211218231658.patch</filename>
            <type>text/plain</type>
            <size>12652</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3MTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MWZjOTc1NjAzYmY3MjZhNTYwOWNlMzM4MzIyYmJhOTA3MWYwOTliLi4xMzU0NjA4NmEzOWIxNjVi
NmQ5ZDhmZDc1YWUwZjVmOTk1NTU1ZGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NCBAQAorMjAyMS0xMi0xNiAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0pTQ10gT3BQb3cgc2hvdWxkIGhhdmUgYSAic21hbGwgaW50IGV4
cG9uZW50IiBmYXN0IHBhdGggYXQgbG93ZXIgdGllcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDQwOAorCisgICAgICAgIFJldmlld2VkIGJ5IFl1
c3VrZSBTdXp1a2kuCisKKyAgICAgICAgREZHIGhhcyBhbiBBcml0aFBvdyBmYXN0IHBhdGggd2hp
Y2gganVzdCBtdWx0aXBsaWVzIGluIGEgbG9vcCB3aGVuIHRoZSBleHBvbmVudCBpcyBhbiBpbnQg
YmV0d2VlbiAwIGFuZCAxMDAwOworICAgICAgICB0aGlzIGNhbiBiZSBkb25lIGF0IGxvd2VyIHRp
ZXJzIHRvby4KKworICAgICAgICBJbXBsZW1lbnRpbmcgdGhpcyBhdCBMTEludCBnaXZlcyB0aGUg
Zm9sbG93aW5nIHNwZWVkdXAgd2l0aCBKSVQgZGlzYWJsZWQ6CisKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBCZWZvcmUgICAgICAgICAgICAgICAgICAgIEFmdGVyCisKKyAgICAg
ICAgcG93LWludC1pbnQgICAgICAgICAxOTMuNzE4MCstMC40ODk3ICAgICBeICAgIDEwMC4zNTY5
Ky0xLjk4MDQgICAgICAgIF4gZGVmaW5pdGVseSAxLjkzMDN4IGZhc3RlcgorICAgICAgICBwb3ct
ZG91YmxlLWludCAgICAgIDE5NC4wNzQ0Ky0wLjc5OTggICAgIF4gICAgMTAwLjAzNDYrLTAuODY1
NSAgICAgICAgXiBkZWZpbml0ZWx5IDEuOTQwMXggZmFzdGVyCisKKyAgICAgICAgPGdlb21ldHJp
Yz4gICAgICAgICAxOTMuODgyNCstMC40NjY3ICAgICBeICAgIDEwMC4wOTY0Ky0wLjk5MjIgICAg
ICAgIF4gZGVmaW5pdGVseSAxLjkzNzB4IGZhc3RlcgorCisgICAgICAgIEltcGxlbWVudGluZyB0
aGlzIGF0IEJhc2VsaW5lIGdpdmVzIHNpbWlsYXIgcmVzdWx0cyB3aXRoIERGRyBkaXNhYmxlZDoK
KworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmVmb3JlICAgICAg
ICAgICAgICAgICAgICBBZnRlcgorCisgICAgICAgIHBvdy1pbnQtaW50ICAgICAgICAgMTk1LjYy
NTErLTAuOTU3NyAgICAgXiAgICAgOTkuOTYyNystMC4zMzA3ICAgICAgICBeIGRlZmluaXRlbHkg
MS45NTcweCBmYXN0ZXIKKyAgICAgICAgcG93LWRvdWJsZS1pbnQgICAgICAxOTYuMTk3NSstMC45
MzA3ICAgICBeICAgIDEwMS4wMDU2Ky0wLjMxMjQgICAgICAgIF4gZGVmaW5pdGVseSAxLjk0MjR4
IGZhc3RlcgorCisgICAgICAgIDxnZW9tZXRyaWM+ICAgICAgICAgMTk1Ljg3ODYrLTAuNTg4MyAg
ICAgXiAgICAxMDAuNDc2NystMC4yMzMzICAgICAgICBeIGRlZmluaXRlbHkgMS45NDk1eCBmYXN0
ZXIKKworICAgICAgICBSZXN1bHRzIGFyZSBuZXV0cmFsIG90aGVyd2lzZS4KKworICAgICAgICAq
IGppdC9KSVQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlTWFpblBhc3Mp
OgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlU2xvd0Nhc2VzKToKKyAgICAgICAg
KiBqaXQvSklULmg6CisgICAgICAgICogaml0L0pJVEFyaXRobWV0aWMuY3BwOgorICAgICAgICAo
SlNDOjpKSVQ6OmVtaXRfb3BfcG93KToKKyAgICAgICAgKEpTQzo6SklUOjplbWl0U2xvd19vcF9w
b3cpOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOgorICAgICAgICAq
IGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc206CisgICAgICAgICogbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToKKwogMjAyMS0xMi0xNiAgQ2FpdGxpbiBQb3R0ZXIgIDxj
YWl0cEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtKU0NdIG9ubHkgZW1pdCBwb2ludGVyIHZhbGlk
YXRpb24gZm9yIEFSTTY0RQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCmluZGV4IGU5MTNiM2I2
YmJkMmQ3NjFmMjI2MWUxN2EzYzIzNzMyYzhhZmZjY2MuLjFmZDY0ZDIxYjRkM2JmMTg1ZmQzZjc0
ZWIxYWI3ODhiOGRmNDVlMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKQEAgLTM0Myw3
ICszNDMsNiBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVNYWluUGFzcygpCiAgICAgICAgIERF
RklORV9TTE9XX09QKGNyZWF0ZV9nZW5lcmF0b3IpCiAgICAgICAgIERFRklORV9TTE9XX09QKGNy
ZWF0ZV9hc3luY19nZW5lcmF0b3IpCiAgICAgICAgIERFRklORV9TTE9XX09QKG5ld19nZW5lcmF0
b3IpCi0gICAgICAgIERFRklORV9TTE9XX09QKHBvdykKIAogICAgICAgICBERUZJTkVfT1Aob3Bf
YWRkKQogICAgICAgICBERUZJTkVfT1Aob3BfYml0bm90KQpAQCAtNDM1LDYgKzQzNCw3IEBAIHZv
aWQgSklUOjpwcml2YXRlQ29tcGlsZU1haW5QYXNzKCkKICAgICAgICAgREVGSU5FX09QKG9wX3N1
cGVyX3NhbXBsZXJfZW5kKQogICAgICAgICBERUZJTkVfT1Aob3BfbHNoaWZ0KQogICAgICAgICBE
RUZJTkVfT1Aob3BfbW9kKQorICAgICAgICBERUZJTkVfT1Aob3BfcG93KQogICAgICAgICBERUZJ
TkVfT1Aob3BfbW92KQogICAgICAgICBERUZJTkVfT1Aob3BfbXVsKQogICAgICAgICBERUZJTkVf
T1Aob3BfbmVnYXRlKQpAQCAtNjE2LDYgKzYxNiw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGls
ZVNsb3dDYXNlcygpCiAgICAgICAgIERFRklORV9TTE9XQ0FTRV9PUChvcF9sb29wX2hpbnQpCiAg
ICAgICAgIERFRklORV9TTE9XQ0FTRV9PUChvcF9jaGVja190cmFwcykKICAgICAgICAgREVGSU5F
X1NMT1dDQVNFX09QKG9wX21vZCkKKyAgICAgICAgREVGSU5FX1NMT1dDQVNFX09QKG9wX3BvdykK
ICAgICAgICAgREVGSU5FX1NMT1dDQVNFX09QKG9wX211bCkKICAgICAgICAgREVGSU5FX1NMT1dD
QVNFX09QKG9wX25lZ2F0ZSkKICAgICAgICAgREVGSU5FX1NMT1dDQVNFX09QKG9wX25lcSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5oCmluZGV4IGYzZGUxMjdhZDM0M2JkZjU4OWU5NWEyMjk4NDIxZTc2
NDFlZDdiNmYuLmZmMzg4NzQzM2MzZDVkMWNjZjM2OGM2ZjNlZTllMWE4YTg4NDc2OTggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuaApAQCAtNDg1LDYgKzQ4NSw3IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICB2b2lkIGVtaXRfb3Bfc3VwZXJfc2FtcGxlcl9lbmQoY29uc3QgSW5zdHJ1Y3Rpb24q
KTsKICAgICAgICAgdm9pZCBlbWl0X29wX2xzaGlmdChjb25zdCBJbnN0cnVjdGlvbiopOwogICAg
ICAgICB2b2lkIGVtaXRfb3BfbW9kKGNvbnN0IEluc3RydWN0aW9uKik7CisgICAgICAgIHZvaWQg
ZW1pdF9vcF9wb3coY29uc3QgSW5zdHJ1Y3Rpb24qKTsKICAgICAgICAgdm9pZCBlbWl0X29wX21v
dihjb25zdCBJbnN0cnVjdGlvbiopOwogICAgICAgICB2b2lkIGVtaXRfb3BfbXVsKGNvbnN0IElu
c3RydWN0aW9uKik7CiAgICAgICAgIHZvaWQgZW1pdF9vcF9uZWdhdGUoY29uc3QgSW5zdHJ1Y3Rp
b24qKTsKQEAgLTU5Niw2ICs1OTcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBl
bWl0U2xvd19vcF9sb29wX2hpbnQoY29uc3QgSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8U2xvd0Nhc2VF
bnRyeT46Oml0ZXJhdG9yJik7CiAgICAgICAgIHZvaWQgZW1pdFNsb3dfb3BfY2hlY2tfdHJhcHMo
Y29uc3QgSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8U2xvd0Nhc2VFbnRyeT46Oml0ZXJhdG9yJik7CiAg
ICAgICAgIHZvaWQgZW1pdFNsb3dfb3BfbW9kKGNvbnN0IEluc3RydWN0aW9uKiwgVmVjdG9yPFNs
b3dDYXNlRW50cnk+OjppdGVyYXRvciYpOworICAgICAgICB2b2lkIGVtaXRTbG93X29wX3Bvdyhj
b25zdCBJbnN0cnVjdGlvbiosIFZlY3RvcjxTbG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImKTsKICAg
ICAgICAgdm9pZCBlbWl0U2xvd19vcF9tdWwoY29uc3QgSW5zdHJ1Y3Rpb24qLCBWZWN0b3I8U2xv
d0Nhc2VFbnRyeT46Oml0ZXJhdG9yJik7CiAgICAgICAgIHZvaWQgZW1pdFNsb3dfb3BfbmVnYXRl
KGNvbnN0IEluc3RydWN0aW9uKiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+OjppdGVyYXRvciYpOwog
ICAgICAgICB2b2lkIGVtaXRTbG93X29wX25lcShjb25zdCBJbnN0cnVjdGlvbiosIFZlY3RvcjxT
bG93Q2FzZUVudHJ5Pjo6aXRlcmF0b3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUQXJpdGhtZXRpYy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VEFyaXRobWV0aWMuY3BwCmluZGV4IGY4Njc1ODMyYTg3Y2JlZGFhZjE2YmNhODcxNWY4YjM1Y2Q1
YWY5MzMuLjY5OWVhZmNiNzI5ZWNhNDE0MDc1ZWMxMGNjYzkyNjIyMGJkNDU0NzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQXJpdGhtZXRpYy5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRBcml0aG1ldGljLmNwcApAQCAtNDc2LDYgKzQ3Niw2
MCBAQCB2b2lkIEpJVDo6ZW1pdFNsb3dfb3BfbW9kKGNvbnN0IEluc3RydWN0aW9uKiwgVmVjdG9y
PFNsb3dDYXNlRW50cnk+OjppdGVyYXRvciYpCiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSBFTkQ6IE9QX01PRCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIAor
dm9pZCBKSVQ6OmVtaXRfb3BfcG93KGNvbnN0IEluc3RydWN0aW9uKiBjdXJyZW50SW5zdHJ1Y3Rp
b24pCit7CisgICAgYXV0byBieXRlY29kZSA9IGN1cnJlbnRJbnN0cnVjdGlvbi0+YXM8T3BQb3c+
KCk7CisgICAgVmlydHVhbFJlZ2lzdGVyIHJlc3VsdCA9IGJ5dGVjb2RlLm1fZHN0OworICAgIFZp
cnR1YWxSZWdpc3RlciBvcDEgPSBieXRlY29kZS5tX2xoczsKKyAgICBWaXJ0dWFsUmVnaXN0ZXIg
b3AyID0gYnl0ZWNvZGUubV9yaHM7CisKKyAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgbGVmdFJl
Z3MgPSBqc1JlZ1QxMDsKKyAgICBjb25zdGV4cHIgSlNWYWx1ZVJlZ3MgcmlnaHRSZWdzID0ganNS
ZWdUMzI7CisgICAgY29uc3RleHByIEpTVmFsdWVSZWdzIHJlc3VsdFJlZ3MgPSBsZWZ0UmVnczsK
KyAgICBjb25zdGV4cHIgR1BSUmVnIHNjcmF0Y2hHUFIgPSByZWdUNDsKKworICAgIGVtaXRHZXRW
aXJ0dWFsUmVnaXN0ZXIob3AxLCBsZWZ0UmVncyk7CisgICAgZW1pdEdldFZpcnR1YWxSZWdpc3Rl
cihvcDIsIHJpZ2h0UmVncyk7CisgICAgZW1pdEp1bXBTbG93Q2FzZUlmTm90SW50KHJpZ2h0UmVn
cyk7CisKKyAgICBhZGRTbG93Q2FzZShicmFuY2gzMihMZXNzVGhhbiwgcmlnaHRSZWdzLnBheWxv
YWRHUFIoKSwgVHJ1c3RlZEltbTMyKDApKSk7CisgICAgYWRkU2xvd0Nhc2UoYnJhbmNoMzIoR3Jl
YXRlclRoYW4sIHJpZ2h0UmVncy5wYXlsb2FkR1BSKCksIFRydXN0ZWRJbW0zMihtYXhFeHBvbmVu
dEZvckludGVnZXJNYXRoUG93KSkpOworCisgICAgSnVtcCBsaHNOb3RJbnQgPSBicmFuY2hJZk5v
dEludDMyKGxlZnRSZWdzKTsKKyAgICBjb252ZXJ0SW50MzJUb0RvdWJsZShsZWZ0UmVncy5wYXls
b2FkR1BSKCksIGZwUmVnVDApOworICAgIEp1bXAgbGhzUmVhZHkgPSBqdW1wKCk7CisgICAgbGhz
Tm90SW50LmxpbmsodGhpcyk7CisgICAgYWRkU2xvd0Nhc2UoYnJhbmNoSWZOb3ROdW1iZXIobGVm
dFJlZ3MsIHNjcmF0Y2hHUFIpKTsKKyNpZiBVU0UoSlNWQUxVRTY0KQorICAgIHVuYm94RG91Ymxl
KGxlZnRSZWdzLnBheWxvYWRHUFIoKSwgc2NyYXRjaEdQUiwgZnBSZWdUMCk7CisjZWxzZQorICAg
IHVuYm94RG91YmxlKGxlZnRSZWdzLCBmcFJlZ1QwKTsKKyNlbmRpZgorICAgIGxoc1JlYWR5Lmxp
bmsodGhpcyk7CisKKyAgICBtb3ZlKFRydXN0ZWRJbW0zMigxKSwgc2NyYXRjaEdQUik7CisgICAg
Y29udmVydEludDMyVG9Eb3VibGUoc2NyYXRjaEdQUiwgZnBSZWdUMSk7CisKKyAgICBMYWJlbCBs
b29wID0gbGFiZWwoKTsKKyAgICBKdW1wIGV4cG9uZW50SXNFdmVuID0gYnJhbmNoVGVzdDMyKFpl
cm8sIHJpZ2h0UmVncy5wYXlsb2FkR1BSKCksIFRydXN0ZWRJbW0zMigxKSk7CisgICAgbXVsRG91
YmxlKGZwUmVnVDAsIGZwUmVnVDEpOworICAgIGV4cG9uZW50SXNFdmVuLmxpbmsodGhpcyk7Cisg
ICAgbXVsRG91YmxlKGZwUmVnVDAsIGZwUmVnVDApOworICAgIHJzaGlmdDMyKFRydXN0ZWRJbW0z
MigxKSwgcmlnaHRSZWdzLnBheWxvYWRHUFIoKSk7CisgICAgYnJhbmNoVGVzdDMyKE5vblplcm8s
IHJpZ2h0UmVncy5wYXlsb2FkR1BSKCkpLmxpbmtUbyhsb29wLCB0aGlzKTsKKworICAgIGJveERv
dWJsZShmcFJlZ1QxLCByZXN1bHRSZWdzKTsKKyAgICBlbWl0UHV0VmlydHVhbFJlZ2lzdGVyKHJl
c3VsdCwgcmVzdWx0UmVncyk7Cit9CisKK3ZvaWQgSklUOjplbWl0U2xvd19vcF9wb3coY29uc3Qg
SW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXNlRW50cnk+Ojpp
dGVyYXRvciYgaXRlcikKK3sKKyAgICBsaW5rQWxsU2xvd0Nhc2VzKGl0ZXIpOworCisgICAgSklU
U2xvd1BhdGhDYWxsIHNsb3dQYXRoQ2FsbCh0aGlzLCBjdXJyZW50SW5zdHJ1Y3Rpb24sIHNsb3df
cGF0aF9wb3cpOworICAgIHNsb3dQYXRoQ2FsbC5jYWxsKCk7Cit9CisKIHZvaWQgSklUOjplbWl0
X29wX25lZ2F0ZShjb25zdCBJbnN0cnVjdGlvbiogY3VycmVudEluc3RydWN0aW9uKQogewogICAg
IFVuYXJ5QXJpdGhQcm9maWxlKiBhcml0aFByb2ZpbGUgPSAmbV91bmxpbmtlZENvZGVCbG9jay0+
dW5hcnlBcml0aFByb2ZpbGUoY3VycmVudEluc3RydWN0aW9uLT5hczxPcE5lZ2F0ZT4oKS5tX3By
b2ZpbGVJbmRleCk7CkBAIC05NjEsOCArMTAxNSw2IEBAIHZvaWQgSklUOjplbWl0U2xvd19vcF9z
dWIoY29uc3QgSW5zdHJ1Y3Rpb24qIGN1cnJlbnRJbnN0cnVjdGlvbiwgVmVjdG9yPFNsb3dDYXNl
CiAgICAgZW1pdE1hdGhJQ1Nsb3c8T3BTdWI+KHN1YklDLCBjdXJyZW50SW5zdHJ1Y3Rpb24sIG9w
ZXJhdGlvblZhbHVlU3ViUHJvZmlsZWRPcHRpbWl6ZSwgb3BlcmF0aW9uVmFsdWVTdWJQcm9maWxl
ZCwgb3BlcmF0aW9uVmFsdWVTdWJPcHRpbWl6ZSk7CiB9CiAKLS8qIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLSBFTkQ6IE9QX0FERCwgT1BfU1VCLCBPUF9NVUwsIE9QX1BPVyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLQogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRp
ZiAvLyBFTkFCTEUoSklUKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtCmluZGV4IGQ4NDkzMDI1MWU4YWY4YzE0ZTE0YjQ1ZTY5MmMz
ZjFhN2FmMzMxNDguLjA3NmIwNzZhZTk5NTBjMjk4ZmFjM2FkZDQ5YTJlOTgzNjVhYmY4MzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc20KQEAgLTIxMzUsNyArMjEzNSw2IEBAIHNsb3dQYXRoT3AoaXNfY2FsbGFibGUpCiBzbG93
UGF0aE9wKGlzX2NvbnN0cnVjdG9yKQogc2xvd1BhdGhPcChuZXdfYXJyYXlfYnVmZmVyKQogc2xv
d1BhdGhPcChuZXdfYXJyYXlfd2l0aF9zcHJlYWQpCi1zbG93UGF0aE9wKHBvdykKIHNsb3dQYXRo
T3AocHVzaF93aXRoX3Njb3BlKQogc2xvd1BhdGhPcChwdXRfYnlfaWRfd2l0aF90aGlzKQogc2xv
d1BhdGhPcChwdXRfYnlfdmFsX3dpdGhfdGhpcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KaW5kZXggY2YxZWEy
MTQyNDJiNGJmNGVhNTE1YjhmYWM0NTUxNmRlMDdiZmY4Ny4uN2NkMWM2MDc4YmJiYjI3ODQ0NzIy
ZjE1MGE3N2M4NDEyMGEyOWNmMyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KQEAgLTEyMDgsNiArMTIwOCw0
MiBAQCBiaW5hcnlPcEN1c3RvbVN0b3JlKGRpdiwgT3BEaXYsCiAgICAgZW5kLAogICAgIG1hY3Jv
IChsaHMsIHJocykgZGl2ZCByaHMsIGxocyBlbmQpCiAKK2xsaW50T3BXaXRoUmV0dXJuKG9wX3Bv
dywgT3BQb3csIG1hY3JvIChzaXplLCBnZXQsIGRpc3BhdGNoLCByZXR1cm4pCisgICAgZ2V0KG1f
cmhzLCB0MikKKyAgICBnZXQobV9saHMsIHQwKQorICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUo
c2l6ZSwgdDIsIHQzLCB0MSkKKyAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlMlJlZyhzaXplLCB0
MCwgdDIsIHQwKQorICAgIGJpbmVxIHQzLCBJbnQzMlRhZywgLnNsb3cKKworICAgIGJpbHQgdDEs
IDAsIC5zbG93CisgICAgYmlndCB0MSwgKGNvbnN0ZXhwciBtYXhFeHBvbmVudEZvckludGVnZXJN
YXRoUG93KSwgLnNsb3cKKworICAgIGJpbmVxIHQyLCBJbnQzMlRhZywgLmxoc05vdEludAorICAg
IGNpMmRzIHQwLCBmdDAKKyAgICBqbXAgLmxoc1JlYWR5CisubGhzTm90SW50OgorICAgIGJpYSB0
MiwgTG93ZXN0VGFnLCAuc2xvdworICAgIGZpaTJkIHQwLCB0MiwgZnQwCisubGhzUmVhZHk6Cisg
ICAgZ2V0KG1fZHN0LCB0MikKKyAgICBtb3ZlIDEsIHQwCisgICAgY2kyZHMgdDAsIGZ0MQorCisu
bG9vcDoKKyAgICBidGl6IHQxLCAweDEsIC5leHBvbmVudElzRXZlbgorICAgIG11bGQgZnQwLCBm
dDEKKy5leHBvbmVudElzRXZlbjoKKyAgICBtdWxkIGZ0MCwgZnQwCisgICAgcnNoaWZ0aSAxLCB0
MQorICAgIGJ0aW56IHQxLCAubG9vcAorCisgICAgc3RvcmVkIGZ0MSwgW2NmciwgdDIsIDhdCisg
ICAgZGlzcGF0Y2goKQorCisuc2xvdzoKKyAgICBjYWxsU2xvd1BhdGgoX3Nsb3dfcGF0aF9wb3cp
CisgICAgZGlzcGF0Y2goKQorZW5kKQogCiBsbGludE9wV2l0aFJldHVybihvcF91bnNpZ25lZCwg
T3BVbnNpZ25lZCwgbWFjcm8gKHNpemUsIGdldCwgZGlzcGF0Y2gsIHJldHVybikKICAgICBnZXQo
bV9vcGVyYW5kLCB0MSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KaW5kZXggMTE4NjY3NDdhZGE4MTI0NDdiNzM5YjA5YTVm
OGMxMjRhODMwZGEzMi4uM2RiMWVhMGJjNDFkM2Q3MmMxN2M0MjFjNjBhYmUwOTY5NjQ5NWM3MCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc20KQEAgLTEzMTksNiArMTMxOSw0NSBAQCBlbHNlCiAgICAgc2xvd1BhdGhPcCht
b2QpCiBlbmQKIAorbGxpbnRPcFdpdGhSZXR1cm4ob3BfcG93LCBPcFBvdywgbWFjcm8gKHNpemUs
IGdldCwgZGlzcGF0Y2gsIHJldHVybikKKyAgICBnZXQobV9yaHMsIHQwKQorICAgIGdldChtX2xo
cywgdDIpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyKHNpemUsIHQwLCB0MSwgLnNs
b3cpCisgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZShzaXplLCB0MiwgdDApCisKKyAgICBiaWx0
IHQxLCAwLCAuc2xvdworICAgIGJpZ3QgdDEsIChjb25zdGV4cHIgbWF4RXhwb25lbnRGb3JJbnRl
Z2VyTWF0aFBvdyksIC5zbG93CisKKyAgICBicWIgdDAsIG51bWJlclRhZywgLmxoc05vdEludAor
ICAgIGNpMmRzIHQwLCBmdDAKKyAgICBqbXAgLmxoc1JlYWR5CisubGhzTm90SW50OgorICAgIGJ0
cXogdDAsIG51bWJlclRhZywgLnNsb3cKKyAgICBhZGRxIG51bWJlclRhZywgdDAKKyAgICBmcTJk
IHQwLCBmdDAKKy5saHNSZWFkeToKKyAgICBnZXQobV9kc3QsIHQyKQorICAgIG1vdmUgMSwgdDAK
KyAgICBjaTJkcyB0MCwgZnQxCisKKy5sb29wOgorICAgIGJ0aXogdDEsIDB4MSwgLmV4cG9uZW50
SXNFdmVuCisgICAgbXVsZCBmdDAsIGZ0MQorLmV4cG9uZW50SXNFdmVuOgorICAgIG11bGQgZnQw
LCBmdDAKKyAgICByc2hpZnRpIDEsIHQxCisgICAgYnRpbnogdDEsIC5sb29wCisKKyAgICBmZDJx
IGZ0MSwgdDAKKyAgICBzdWJxIG51bWJlclRhZywgdDAKKyAgICBzdG9yZXEgdDAsIFtjZnIsIHQy
LCA4XQorICAgIGRpc3BhdGNoKCkKKworLnNsb3c6CisgICAgY2FsbFNsb3dQYXRoKF9zbG93X3Bh
dGhfcG93KQorICAgIGRpc3BhdGNoKCkKK2VuZCkKKwogbGxpbnRPcFdpdGhSZXR1cm4ob3BfdW5z
aWduZWQsIE9wVW5zaWduZWQsIG1hY3JvIChzaXplLCBnZXQsIGRpc3BhdGNoLCByZXR1cm4pCiAg
ICAgZ2V0KG1fb3BlcmFuZCwgdDEpCiAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZShzaXplLCB0
MSwgdDIpCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDMwMDFlMTBiNmM2Y2I3MzEwOWJhOWYxZjBiYzUwOTExMTEwMDBhNzQuLjQ1Y2M1Njdm
YWU5ODk1ZjM4ZGNmOWM0NzFkMWVhNWVlNWIwNjQzODIgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMTIt
MTYgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgorCisgICAgICAgIFtK
U0NdIE9wUG93IHNob3VsZCBoYXZlIGEgInNtYWxsIGludCBleHBvbmVudCIgZmFzdCBwYXRoIGF0
IGxvd2VyIHRpZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzQ0MDgKKworICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAg
ICAgICogbWljcm9iZW5jaG1hcmtzL3Bvdy1kb3VibGUtaW50LmpzOiBBZGRlZC4KKyAgICAgICAg
KiBtaWNyb2JlbmNobWFya3MvcG93LWludC1pbnQuanM6IEFkZGVkLgorCiAyMDIxLTEyLTE2ICBE
ZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgQXJy
YXkucHJvdG90eXBlLmdyb3VwQnkgYW5kIEFycmF5LnByb3RvdHlwZS5ncm91cEJ5VG9NYXAKZGlm
ZiAtLWdpdCBhL0pTVGVzdHMvbWljcm9iZW5jaG1hcmtzL3Bvdy1kb3VibGUtaW50LmpzIGIvSlNU
ZXN0cy9taWNyb2JlbmNobWFya3MvcG93LWRvdWJsZS1pbnQuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDJkNTRj
M2FlOWZlNjhkMmZkOTlmZTMyM2IxMjUxM2QwNDM1NDk3YgotLS0gL2Rldi9udWxsCisrKyBiL0pT
VGVzdHMvbWljcm9iZW5jaG1hcmtzL3Bvdy1kb3VibGUtaW50LmpzCkBAIC0wLDAgKzEsNyBAQAor
Ly9AIHNraXAgaWYgJG1vZGVsID09ICJBcHBsZSBXYXRjaCBTZXJpZXMgMyIgIyBhZGRlZCBieSBt
YXJrLWpzYy1zdHJlc3MtdGVzdC5weQorZnVuY3Rpb24gZXhwb25lbnRpYXRlKHgsIHkpIHsgcmV0
dXJuIHggKiogeTsgfQorbm9JbmxpbmUoZXhwb25lbnRpYXRlKTsKKworZm9yIChsZXQgaSA9IC01
MDsgaSA8PSA1MDsgaSArPSAwLjEpCisgICAgZm9yIChsZXQgaiA9IDA7IGogPD0gMTAwMDsgaisr
KSAKKyAgICAgICAgZXhwb25lbnRpYXRlKGksIGopOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9taWNy
b2JlbmNobWFya3MvcG93LWludC1pbnQuanMgYi9KU1Rlc3RzL21pY3JvYmVuY2htYXJrcy9wb3ct
aW50LWludC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYWEwNTkzOGZiY2M0NDZmNTcyYjhkMmRiMGQ2MTUwYTBm
ZGI0ZjgxCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG93LWlu
dC1pbnQuanMKQEAgLTAsMCArMSw3IEBACisvL0Agc2tpcCBpZiAkbW9kZWwgPT0gIkFwcGxlIFdh
dGNoIFNlcmllcyAzIiAjIGFkZGVkIGJ5IG1hcmstanNjLXN0cmVzcy10ZXN0LnB5CitmdW5jdGlv
biBleHBvbmVudGlhdGUoeCwgeSkgeyByZXR1cm4geCAqKiB5OyB9Citub0lubGluZShleHBvbmVu
dGlhdGUpOworCitmb3IgKGxldCBpID0gLTUwMDsgaSA8PSA1MDA7IGkrKykKKyAgICBmb3IgKGxl
dCBqID0gMDsgaiA8PSAxMDAwOyBqKyspIAorICAgICAgICBleHBvbmVudGlhdGUoaSwgaik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>