<?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>229688</bug_id>
          
          <creation_ts>2021-08-30 15:11:01 -0700</creation_ts>
          <short_desc>REGRESSION (iOS 15): HTMLAudioElement fails to load new audio when device is locked or safari is in background</short_desc>
          <delta_ts>2022-04-27 09:02:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Audio</component>
          <version>Safari Technology Preview</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>Other</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=239812</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Rick Li">racke1983cn</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1788680</commentid>
    <comment_count>0</comment_count>
    <who name="Rick Li">racke1983cn</who>
    <bug_when>2021-08-30 15:11:01 -0700</bug_when>
    <thetext>Hi, we are currently attempting to get Safari to auto move on to the next audio track when a track ends. By executing JavaScript that replaces the src attribute with a new mp3, it worked fine with IOS 14.
However in IOS 15 Beta - 15.0 (19A5325f) if the screen is locked or safari is in the background, playback terminates at the end of the first track and does not progress to the second.  No error is raised.

To test, please use https://521dimensions.com/open-source/amplitudejs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788736</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-30 16:55:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/82554226&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832839</commentid>
    <comment_count>2</comment_count>
      <attachid>449683</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-01-21 12:23:45 -0800</bug_when>
    <thetext>Created attachment 449683
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832904</commentid>
    <comment_count>3</comment_count>
      <attachid>449698</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-01-21 15:09:44 -0800</bug_when>
    <thetext>Created attachment 449698
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832950</commentid>
    <comment_count>4</comment_count>
      <attachid>449698</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2022-01-21 17:47:47 -0800</bug_when>
    <thetext>Comment on attachment 449698
Patch

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

&gt; Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm:146
&gt; +    if (!hasAudibleAudioOrVideoMediaType &amp;&amp; m_previousHadAudibleAudioOrVideoMediaType) {
&gt; +        if (!m_delayCategoryChangeTimer.isActive()) {
&gt; +            m_delayCategoryChangeTimer.startOneShot(delayBeforeSettingCategoryNone);
&gt; +            ALWAYS_LOG(LOGIDENTIFIER, &quot;setting timer&quot;);
&gt; +        }
&gt; +        hasAudibleAudioOrVideoMediaType = true;
&gt; +    }
&gt; +    m_previousHadAudibleAudioOrVideoMediaType = hasAudibleAudioOrVideoMediaType;
&gt; +

I wonder what will happen when a page is using WebAudio; we may go from Playback -&gt; Ambient without hitting this timer.

&gt; Source/WebKit/WebProcess/GPU/media/RemoteAudioSession.cpp:-148
&gt; -#if PLATFORM(COCOA)
&gt;      return m_category;
&gt; -#else
&gt; -    return AudioSession::CategoryType::None;
&gt; -#endif

Is this necessary?

&gt; LayoutTests/ChangeLog:12
&gt; +        * media/audio-session-category-expected.txt: Added.
&gt; +        * media/audio-session-category.html: Added.

Should these go into platform/ios/media or platform/mac/media?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832951</commentid>
    <comment_count>5</comment_count>
      <attachid>449698</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2022-01-21 17:55:36 -0800</bug_when>
    <thetext>Comment on attachment 449698
Patch

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

&gt; Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm:133
&gt; +                m_delayCategoryChangeTimer.stop();

I think this may be in the wrong place. It&apos;ll only get hit if there are no audible &lt;video&gt; or &lt;audio&gt; elements, but the session is &quot;potentially audible&quot;.

&gt; Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm:145
&gt; +    if (!hasAudibleAudioOrVideoMediaType &amp;&amp; m_previousHadAudibleAudioOrVideoMediaType) {
&gt; +        if (!m_delayCategoryChangeTimer.isActive()) {
&gt; +            m_delayCategoryChangeTimer.startOneShot(delayBeforeSettingCategoryNone);
&gt; +            ALWAYS_LOG(LOGIDENTIFIER, &quot;setting timer&quot;);
&gt; +        }
&gt; +        hasAudibleAudioOrVideoMediaType = true;
&gt; +    }
&gt; +    m_previousHadAudibleAudioOrVideoMediaType = hasAudibleAudioOrVideoMediaType;

I think it should move down here, in an &quot;else&quot; statement after the &quot;if&quot; (which may need to be restructured).  Maybe something like:

if (hasAudibleAudioOrVideoMediaType)
    m_delayCategoryChangeTimer.stop();
else if (m_previousHadAudibleAudioOrVideoMediaType) {
    ....
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833029</commentid>
    <comment_count>6</comment_count>
      <attachid>449735</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-01-22 13:49:07 -0800</bug_when>
    <thetext>Created attachment 449735
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833345</commentid>
    <comment_count>7</comment_count>
      <attachid>449821</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-01-24 08:41:23 -0800</bug_when>
    <thetext>Created attachment 449821
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833451</commentid>
    <comment_count>8</comment_count>
      <attachid>449821</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-01-24 13:24:19 -0800</bug_when>
    <thetext>Comment on attachment 449821
Patch for landing

Test failures are unrelated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833479</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-24 14:06:36 -0800</bug_when>
    <thetext>Committed r288466 (246352@main): &lt;https://commits.webkit.org/246352@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449821.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833482</commentid>
    <comment_count>10</comment_count>
      <attachid>449821</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-01-24 14:10:18 -0800</bug_when>
    <thetext>Comment on attachment 449821
Patch for landing

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

&gt; Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm:97
&gt; +    static const Seconds delayBeforeSettingCategoryNone = { 2_s };

constexpr auto delayBeforeSettingCategoryNone = 2_s;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833514</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-01-24 15:08:04 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833515</commentid>
    <comment_count>12</comment_count>
      <attachid>449867</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-01-24 15:08:05 -0800</bug_when>
    <thetext>Created attachment 449867
Address post-review feedback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1833568</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-24 17:25:05 -0800</bug_when>
    <thetext>Committed r288493 (246365@main): &lt;https://commits.webkit.org/246365@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449867.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864793</commentid>
    <comment_count>14</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-04-27 07:35:27 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864794</commentid>
    <comment_count>15</comment_count>
      <attachid>458443</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-04-27 07:35:29 -0700</bug_when>
    <thetext>Created attachment 458443
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864818</commentid>
    <comment_count>16</comment_count>
      <attachid>458443</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-04-27 08:53:55 -0700</bug_when>
    <thetext>Comment on attachment 458443
Patch

Nothing to see here, I attached the patch to the wrong bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449683</attachid>
            <date>2022-01-21 12:23:45 -0800</date>
            <delta_ts>2022-01-21 15:09:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229688-20220121122344.patch</filename>
            <type>text/plain</type>
            <size>11729</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTI1ZDIwZDMxMjc2ZGEz
NGY3ZWJhZTQxYzg0ZmE0NjI1MmFhNjQ2NC4uOWNjMzMxNDg5Y2UwMDZkODJmMjgzMzgzNTQzYzUx
Y2VjY2ZjYTE4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIyLTAxLTIxICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04g
KGlPUyAxNSk6IEhUTUxBdWRpb0VsZW1lbnQgZmFpbHMgdG8gbG9hZCBuZXcgYXVkaW8gd2hlbiBk
ZXZpY2UgaXMgbG9ja2VkIG9yIHNhZmFyaSBpcyBpbiBiYWNrZ3JvdW5kCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk2ODgKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzgyNTU0MjI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorICAgICAgICAKKyAgICAgICAgQW4gaU9TIGFwcGxpY2F0aW9uIGxvc2VzIGl0cyBOb3dQbGF5
aW5nIHN0YXR1cyBhcyBzb29uIGFzIHRoZSBBdWRpb1Nlc3Npb24gY2F0ZWdvcnkKKyAgICAgICAg
aXMgc2V0IHRvIEFtYmllbnQsIGFuZCBpdCBjYW4gb25seSBnZXQgaXQgYmFjayBhZ2FpbiBieSBj
aGFuZ2luZyB0aGUgY2F0ZWdvcnkKKyAgICAgICAgdG8gUGxheWJhY2sgKmFuZCogc3RhcnRpbmcg
cGxheWJhY2suIFdoZW4gYW4gYXBwbGljYXRpb24gaXMgaW4gdGhlIGJhY2tncm91bmQsIGhvd2V2
ZXIsCisgICAgICAgIGl0IGNhbid0IHN0YXJ0IHBsYXliYWNrIHVubGVzcyBpdCAqYWxyZWFkeSog
aGFzIE5vd1BsYXlpbmcgc3RhdHVzLiBTbywgaXBzbyBmYWN0bywKKyAgICAgICAgYmFja2dyb3Vu
ZCBwbGF5YmFjayB3aWxsIGFsd2F5cyBmYWlsIG9uY2UgdGhlIGNhdGVnb3J5IGlzIHNldCB0byBB
bWJpZW50LgorCisgICAgICAgIElmIGFuIEF1ZGlvU2Vzc2lvbidzIGNhdGVnb3J5IGlzIHNldCB0
byBQbGF5YmFjayB3aGVuIGl0IGlzIGFjdGl2YXRlZCwgaXQgd2lsbCAKKyAgICAgICAgaW50ZXJy
dXB0IGFub3RoZXIgYXBwbGljYXRpb24gcGxheWluZyBhdWRpbywgYWN0aXZhdGUgQmx1ZXRvb3Ro
IHJvdXRlcywgZXRjLgorICAgICAgICBUaGlzIG1lYW5zIFdlYktpdCBoYXMgdG8gcmVsaW5xdWlz
aCBQbGF5YmFjayB3aGVuIGEgcGFnZSBpcyB1bmFibGUgdG8gcHJvZHVjZSBhdWRpbworICAgICAg
ICBiZWNhdXNlIEFWRm91bmRhdGlvbiBhdXRvbWF0aWNhbGx5IGFjdGl2YXRlcyB0aGUgYXVkaW8g
c2Vzc2lvbiB3aGVuIHBsYXliYWNrIHN0YXJ0cworICAgICAgICAtIGV2ZW4gaWYgdGhlIEFWUGxh
eWVyIGlzIG11dGVkIG9yIGhhcyBubyBhdWRpby4KKworICAgICAgICBUbyBhbGxvdyBwYWdlcyB0
aGF0IHdlcmUgcGxheWluZyBhdWRpbyB3aGVuIFdlYktpdCB3ZW50IGludG8gdGhlIGJhY2tncm91
bmQgdG8gCisgICAgICAgIGNvbnRpbnVlIHRvIHBsYXkgYWZ0ZXIgc3dpdGNoaW5nIHVybHMgb3Ig
YWN0aXZhdGluZyBhbm90aGVyIG1lZGlhIGVsZW1lbnQsIGFkZCBhCisgICAgICAgIGdyYWNlIHBl
cmlvZCB3aGVuIHN3aXRjaCBmcm9tIFBsYXliYWNrIHRvIEFtYmllbnQuCisKKyAgICAgICAgVGVz
dDogbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29yeS5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW06CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6OnVwZGF0ZVNlc3Npb25TdGF0ZSk6IAorCiAy
MDIyLTAxLTEzICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAg
IFJlbW92ZSB1c2Ugb2YgUHNldWRvRWxlbWVudCBpbiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCmluZGV4IDcyODJiZTE0MmZkZjcxOGQxYTRjMWZkZDg4YTZkNjRkMmVkNmIzZWMuLjdhODgz
MjA5YjdmNzAxZjQwZmQ3NzhmNzBmY2FmYjBlMDE4MzUyYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMjItMDEtMjEgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+
CisKKyAgICAgICAgUkVHUkVTU0lPTiAoaU9TIDE1KTogSFRNTEF1ZGlvRWxlbWVudCBmYWlscyB0
byBsb2FkIG5ldyBhdWRpbyB3aGVuIGRldmljZSBpcyBsb2NrZWQgb3Igc2FmYXJpIGlzIGluIGJh
Y2tncm91bmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyOTY4OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODI1NTQyMjY+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVBdWRpb1Nlc3Npb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVBdWRpb1Nl
c3Npb246OmNhdGVnb3J5IGNvbnN0KTogUmV0dXJuIHRoZSBtb3N0IHJlY2VudGx5IHNldCBjYXRl
Z29yeQorICAgICAgICBvbiBhbGwgcGxhdGZvcm1zIHNvIGl0IGlzIHBvc3NpYmxlIHRvIHRlc3Qu
CisKIDIwMjItMDEtMTMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgRml4IGEgZmV3IE9iamVjdGl2ZS1DIG9iamVjdCBsZWFrcyBkdWUgdG8gZWFybHkg
cmV0dXJucyBpbiBgaW5pdGAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgKaW5kZXggMGYzNDI4
YWNkNTA2MjQxNzAxMmRmMDRjNzNlNjY4MThhNGY5NzgzOC4uNjRkOWRmZjQyYTQxMTM2OTdkMDZm
YzY1MGJhMWI4ODI4MjM0ZWZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgKQEAgLTMx
LDYgKzMxLDcgQEAKICNpbmNsdWRlICJOb3dQbGF5aW5nTWFuYWdlci5oIgogI2luY2x1ZGUgIlBs
YXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgogI2luY2x1ZGUgIlJlbW90ZUNvbW1hbmRMaXN0
ZW5lci5oIgorI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtMTA2LDYgKzEwNyw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhdWRpb0hhcmR3YXJlRGlk
QmVjb21lSW5hY3RpdmUoKSBmaW5hbCB7IH0KICAgICB2b2lkIGF1ZGlvT3V0cHV0RGV2aWNlQ2hh
bmdlZCgpIGZpbmFsOwogCisgICAgdm9pZCBwb3NzaWJseUNoYW5nZUF1ZGlvQ2F0ZWdvcnkoKTsK
KwogICAgIGJvb2wgbV9ub3dQbGF5aW5nQWN0aXZlIHsgZmFsc2UgfTsKICAgICBib29sIG1fcmVn
aXN0ZXJlZEFzTm93UGxheWluZ0FwcGxpY2F0aW9uIHsgZmFsc2UgfTsKICAgICBib29sIG1faGF2
ZUV2ZXJSZWdpc3RlcmVkQXNOb3dQbGF5aW5nQXBwbGljYXRpb24geyBmYWxzZSB9OwpAQCAtMTIx
LDYgKzEyNCw5IEBAIHByaXZhdGU6CiAKICAgICBBdWRpb0hhcmR3YXJlTGlzdGVuZXI6OkJ1ZmZl
clNpemVSYW5nZSBtX3N1cHBvcnRlZEF1ZGlvSGFyZHdhcmVCdWZmZXJTaXplczsKICAgICBzaXpl
X3QgbV9kZWZhdWx0QnVmZmVyU2l6ZTsKKworICAgIFJ1bkxvb3A6OlRpbWVyPE1lZGlhU2Vzc2lv
bk1hbmFnZXJDb2NvYT4gbV9kZWxheUNhdGVnb3J5Q2hhbmdlVGltZXI7CisgICAgYm9vbCBtX3By
ZXZpb3VzSGFkQXVkaWJsZUF1ZGlvT3JWaWRlb01lZGlhVHlwZSB7IGZhbHNlIH07CiB9OwogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNl
c3Npb25NYW5hZ2VyQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2Nv
YS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW0KaW5kZXggN2YwNDk2MGM1OTY1YjYyNTFiOTFi
OWE1NjdlNTEwODliNTcxOWYwNy4uNGEzZWM0MThjNjIwNDQzNDU0Y2FiNjRlMTBkZGU2ZGVhYmU3
NzM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVk
aWFTZXNzaW9uTWFuYWdlckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5tbQpAQCAtNjAsNiArNjAsNyBAQCBz
dGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyPiBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXI6OmNyZWF0ZQogTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hOjpNZWRpYVNl
c3Npb25NYW5hZ2VyQ29jb2EoKQogICAgIDogbV9ub3dQbGF5aW5nTWFuYWdlcihwbGF0Zm9ybVN0
cmF0ZWdpZXMoKS0+bWVkaWFTdHJhdGVneSgpLmNyZWF0ZU5vd1BsYXlpbmdNYW5hZ2VyKCkpCiAg
ICAgLCBtX2RlZmF1bHRCdWZmZXJTaXplKEF1ZGlvU2Vzc2lvbjo6c2hhcmVkU2Vzc2lvbigpLnBy
ZWZlcnJlZEJ1ZmZlclNpemUoKSkKKyAgICAsIG1fZGVsYXlDYXRlZ29yeUNoYW5nZVRpbWVyKFJ1
bkxvb3A6Om1haW4oKSwgdGhpcywgJk1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYTo6cG9zc2libHlD
aGFuZ2VBdWRpb0NhdGVnb3J5KQogewogICAgIGVuc3VyZUNvZGVjc1JlZ2lzdGVyZWQoKTsKIH0K
QEAgLTk0LDYgKzk1LDcgQEAgYm9vbCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6Om1lZGlhU291
cmNlSW5saW5lUGFpbnRpbmdFbmFibGVkKCkKIAogdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29j
b2E6OnVwZGF0ZVNlc3Npb25TdGF0ZSgpCiB7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgZGVs
YXlCZWZvcmVTZXR0aW5nQ2F0ZWdvcnlOb25lID0geyAyX3MgfTsKICAgICBpbnQgdmlkZW9Db3Vu
dCA9IDA7CiAgICAgaW50IHZpZGVvQXVkaW9Db3VudCA9IDA7CiAgICAgaW50IGF1ZGlvQ291bnQg
PSAwOwpAQCAtMTI4LDEwICsxMzAsMjAgQEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6
OnVwZGF0ZVNlc3Npb25TdGF0ZSgpCiAgICAgICAgICAgICBpZiAoaXNQb3RlbnRpYWxseUF1ZGli
bGUpIHsKICAgICAgICAgICAgICAgICBoYXNBdWRpYmxlQXVkaW9PclZpZGVvTWVkaWFUeXBlID0g
dHJ1ZTsKICAgICAgICAgICAgICAgICBpc1BsYXlpbmdBdWRpbyB8PSBzZXNzaW9uLmlzUGxheWlu
ZygpOworICAgICAgICAgICAgICAgIG1fZGVsYXlDYXRlZ29yeUNoYW5nZVRpbWVyLnN0b3AoKTsK
ICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0pOwogCisgICAgaWYgKCFoYXNBdWRpYmxl
QXVkaW9PclZpZGVvTWVkaWFUeXBlICYmIG1fcHJldmlvdXNIYWRBdWRpYmxlQXVkaW9PclZpZGVv
TWVkaWFUeXBlKSB7CisgICAgICAgIGlmICghbV9kZWxheUNhdGVnb3J5Q2hhbmdlVGltZXIuaXNB
Y3RpdmUoKSkgeworICAgICAgICAgICAgbV9kZWxheUNhdGVnb3J5Q2hhbmdlVGltZXIuc3RhcnRP
bmVTaG90KGRlbGF5QmVmb3JlU2V0dGluZ0NhdGVnb3J5Tm9uZSk7CisgICAgICAgICAgICBBTFdB
WVNfTE9HKExPR0lERU5USUZJRVIsICJzZXR0aW5nIHRpbWVyIik7CisgICAgICAgIH0KKyAgICAg
ICAgaGFzQXVkaWJsZUF1ZGlvT3JWaWRlb01lZGlhVHlwZSA9IHRydWU7CisgICAgfQorICAgIG1f
cHJldmlvdXNIYWRBdWRpYmxlQXVkaW9PclZpZGVvTWVkaWFUeXBlID0gaGFzQXVkaWJsZUF1ZGlv
T3JWaWRlb01lZGlhVHlwZTsKKwogICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgInR5cGVz
OiAiCiAgICAgICAgICJBdWRpb0NhcHR1cmUoIiwgY2FwdHVyZUNvdW50LCAiKSwgIgogICAgICAg
ICAiVmlkZW8oIiwgdmlkZW9Db3VudCwgIiksICIKQEAgLTE2OCw2ICsxODAsMTMgQEAgdm9pZCBN
ZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6OnVwZGF0ZVNlc3Npb25TdGF0ZSgpCiAgICAgQXVkaW9T
ZXNzaW9uOjpzaGFyZWRTZXNzaW9uKCkuc2V0Q2F0ZWdvcnkoY2F0ZWdvcnksIHBvbGljeSk7CiB9
CiAKK3ZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hOjpwb3NzaWJseUNoYW5nZUF1ZGlvQ2F0
ZWdvcnkoKQoreworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CisgICAgbV9wcmV2aW91
c0hhZEF1ZGlibGVBdWRpb09yVmlkZW9NZWRpYVR5cGUgPSBmYWxzZTsKKyAgICB1cGRhdGVTZXNz
aW9uU3RhdGUoKTsKK30KKwogdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6OmJlZ2luSW50
ZXJydXB0aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpJbnRlcnJ1cHRpb25UeXBlIHR5cGUpCiB7
CiAgICAgaWYgKHR5cGUgPT0gUGxhdGZvcm1NZWRpYVNlc3Npb246OkludGVycnVwdGlvblR5cGU6
OlN5c3RlbUludGVycnVwdGlvbikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb24uY3BwCmluZGV4IDA4ZWZmOThhYTdi
MzRlNjgzNDdlNmQ0NzY3MzAxZTEyNWNlYzlhM2QuLjNlMGM2MzY0NjM1YWQ2M2Q3YWNkYTNiNjQw
ZjNjZWU5ZDMxMTFlMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvbi5jcHAKQEAgLTE0MSwxMSArMTQxLDcgQEAg
dm9pZCBSZW1vdGVBdWRpb1Nlc3Npb246OnNldElzUGxheWluZ1RvQmx1ZXRvb3RoT3ZlcnJpZGUo
c3RkOjpvcHRpb25hbDxib29sPiB2YWwKIAogQXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUgUmVt
b3RlQXVkaW9TZXNzaW9uOjpjYXRlZ29yeSgpIGNvbnN0CiB7Ci0jaWYgUExBVEZPUk0oQ09DT0Ep
CiAgICAgcmV0dXJuIG1fY2F0ZWdvcnk7Ci0jZWxzZQotICAgIHJldHVybiBBdWRpb1Nlc3Npb246
OkNhdGVnb3J5VHlwZTo6Tm9uZTsKLSNlbmRpZgogfQogCiB2b2lkIFJlbW90ZUF1ZGlvU2Vzc2lv
bjo6Y29uZmlndXJhdGlvbkNoYW5nZWQoUmVtb3RlQXVkaW9TZXNzaW9uQ29uZmlndXJhdGlvbiYm
IGNvbmZpZ3VyYXRpb24pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzVlNTQ3YjIxNGRkYjE5ZTc4ZDI2MWU5MmY5NmU1NGY0
MDgyYzI1Zi4uNDVkMjE0NDk1OGY0NjM5MTBlMDE1OTAxN2NiNzE2OGVlZTIzYjI4NCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDIyLTAxLTIxICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25A
YXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKGlPUyAxNSk6IEhUTUxBdWRpb0VsZW1l
bnQgZmFpbHMgdG8gbG9hZCBuZXcgYXVkaW8gd2hlbiBkZXZpY2UgaXMgbG9ja2VkIG9yIHNhZmFy
aSBpcyBpbiBiYWNrZ3JvdW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjk2ODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgyNTU0MjI2PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogbWVkaWEvYXVk
aW8tc2Vzc2lvbi1jYXRlZ29yeS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlh
L2F1ZGlvLXNlc3Npb24tY2F0ZWdvcnkuaHRtbDogQWRkZWQuCisKIDIwMjItMDEtMTMgIFNhaWQg
QWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVmZXJlbmNlZCBTVkcg
ZmlsdGVyIHVzZXMgYWx3YXlzIHNSR0IgY29sb3Igc3BhY2UgZm9yIGl0cyByZXN1bHQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL21lZGlhL2F1ZGlvLXNlc3Npb24tY2F0ZWdvcnktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29yeS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjYyYjU5NWQ2YzFjOTE4YjY3NjJiNTkxNjY0YmQ0NjBiZmM0NmUyZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL2F1ZGlvLXNlc3Npb24tY2F0ZWdv
cnktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjggQEAKKworCisqKiBDaGVjayBjYXRlZ29yeSBi
ZWZvcmUgYW55dGhpbmcgaGFzIGxvYWRlZC4KK0VYUEVDVEVEIChpbnRlcm5hbHMuYXVkaW9TZXNz
aW9uQ2F0ZWdvcnkoKSA9PSAnTm9uZScpIE9LCisKKyoqIENoZWNrIGNhdGVnb3J5IHdoZW4gYSBt
dXRlZCwgcGF1c2VkLCBlbGVtZW50IGhhcyBsb2FkZWQuCitFVkVOVChjYW5wbGF5dGhyb3VnaCkK
K0VYUEVDVEVEIChpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSA9PSAnTm9uZScpIE9L
CisKKyoqIENoZWNrIGNhdGVnb3J5IHdoZW4gYSBtdXRlZCBlbGVtZW50IGlzIHBsYXlpbmcuCitS
VU4odmlkZW8ucGxheSgpKQorRVZFTlQocGxheWluZykKK0VYUEVDVEVEIChpbnRlcm5hbHMuYXVk
aW9TZXNzaW9uQ2F0ZWdvcnkoKSA9PSAnTm9uZScpIE9LCisKKyoqIENoZWNrIGNhdGVnb3J5IHdo
ZW4gYW4gdW5tdXRlZCBlbGVtZW50IGlzIHBsYXlpbmcuCitSVU4odmlkZW8ubXV0ZWQgPSBmYWxz
ZSkKK0VWRU5UKHZvbHVtZWNoYW5nZSkKK0VYUEVDVEVEIChpbnRlcm5hbHMuYXVkaW9TZXNzaW9u
Q2F0ZWdvcnkoKSA9PSAnTWVkaWFQbGF5YmFjaycpIE9LCisKKyoqIE11dGUgdGhlIGVsZW1lbnQs
IGNoZWNrIGFnYWluIGFmdGVyIDUwMG1zLgorUlVOKHZpZGVvLnBhdXNlKCkpCitSVU4odmlkZW8u
bXV0ZWQgPSB0cnVlKQorRVhQRUNURUQgKGludGVybmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgp
ID09ICdNZWRpYVBsYXliYWNrJykgT0sKKworKiogQW5kIGNoZWNrIGFnYWluIGFmdGVyIDMgc2Vj
b25kcy4KK0VYUEVDVEVEIChpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSA9PSAnTm9u
ZScpIE9LCitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9hdWRp
by1zZXNzaW9uLWNhdGVnb3J5Lmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1zZXNzaW9u
LWNhdGVnb3J5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjA0YTQwM2Y4NTYyMjJjMTRiZDZhNDY2NTNhYWE3
MDUwOGZlZDM4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21lZGlhL2F1ZGlvLXNl
c3Npb24tY2F0ZWdvcnkuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+CisgICAgPHRpdGxlPmF1ZGlvLXNlc3Npb24tY2F0ZWdvcnk8L3RpdGxlPgor
ICAgIDxzY3JpcHQgc3JjPSJ2aWRlby10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNy
Yz0ibWVkaWEtZmlsZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKworICAgICAgICB3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGFzeW5jIGV2ZW50ID0+IHsKKyAgICAgICAgICAg
IGlmICghd2luZG93LmludGVybmFscykgeworICAgICAgICAgICAgICAgIGZhaWxUZXN0KGA8YnI+
VGhpcyB0ZXN0IHJlcXVpcmVzIGludGVybmFscyFgKTsKKyAgICAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTaG91
bGRNYW5hZ2VBdWRpb1Nlc3Npb25DYXRlZ29yeSh0cnVlKTsKKworICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCI8YnI+KiogQ2hlY2sgY2F0ZWdvcnkgYmVmb3JlIGFueXRoaW5nIGhhcyBsb2FkZWQu
Iik7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2ludGVybmFscy5hdWRpb1Nlc3Npb25DYXRl
Z29yeSgpJywgIk5vbmUiKTsKKworICAgICAgICAgICAgZmFpbFRlc3RJbigxNTAwMCk7CisKKyAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPioqIENoZWNrIGNhdGVnb3J5IHdoZW4gYSBtdXRl
ZCwgcGF1c2VkLCBlbGVtZW50IGhhcyBsb2FkZWQuIik7CisgICAgICAgICAgICB2aWRlbyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdhdWRpbycpWzBdOworICAgICAgICAgICAgdmlk
ZW8uc3JjID0gZmluZE1lZGlhRmlsZSgidmlkZW8iLCAiY29udGVudC90ZXN0Iik7CisKKyAgICAg
ICAgICAgIGF3YWl0IHdhaXRGb3IodmlkZW8sICdjYW5wbGF5dGhyb3VnaCcpOworICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCdpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKScsICJOb25l
Iik7CisKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPioqIENoZWNrIGNhdGVnb3J5IHdo
ZW4gYSBtdXRlZCBlbGVtZW50IGlzIHBsYXlpbmcuIik7CisgICAgICAgICAgICBydW5XaXRoS2V5
RG93bigoKSA9PiB7IHJ1bigndmlkZW8ucGxheSgpJykgfSk7CisgICAgICAgICAgICBhd2FpdCB3
YWl0Rm9yKHZpZGVvLCAncGxheWluZycpOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdpbnRl
cm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKScsICJOb25lIik7CisKKyAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgiPGJyPioqIENoZWNrIGNhdGVnb3J5IHdoZW4gYW4gdW5tdXRlZCBlbGVtZW50
IGlzIHBsYXlpbmcuIik7CisgICAgICAgICAgICBydW5XaXRoS2V5RG93bigoKSA9PiB7IHJ1bign
dmlkZW8ubXV0ZWQgPSBmYWxzZScpIH0pOworICAgICAgICAgICAgYXdhaXQgd2FpdEZvcih2aWRl
bywgJ3ZvbHVtZWNoYW5nZScpOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdpbnRlcm5hbHMu
YXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKScsICJNZWRpYVBsYXliYWNrIik7CisKKyAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgiPGJyPioqIE11dGUgdGhlIGVsZW1lbnQsIGNoZWNrIGFnYWluIGFmdGVy
IDUwMG1zLiIpOworICAgICAgICAgICAgcnVuKCd2aWRlby5wYXVzZSgpJyk7CisgICAgICAgICAg
ICBydW5XaXRoS2V5RG93bigoKSA9PiB7IHJ1bigndmlkZW8ubXV0ZWQgPSB0cnVlJykgfSk7Cisg
ICAgICAgICAgICBhd2FpdCBzbGVlcEZvcig1MDApOworICAgICAgICAgICAgdGVzdEV4cGVjdGVk
KCdpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKScsICJNZWRpYVBsYXliYWNrIik7CisK
KyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJyPioqIEFuZCBjaGVjayBhZ2FpbiBhZnRlciAz
IHNlY29uZHMuIik7CisgICAgICAgICAgICBhd2FpdCBzbGVlcEZvcigzMDAwKTsKKyAgICAgICAg
ICAgIHRlc3RFeHBlY3RlZCgnaW50ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCknLCAiTm9u
ZSIpOworCisgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgIH0pOworICAgIDwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+CisgICAgPGF1ZGlvIG11dGVkIGNvbnRyb2xzPjwvYXVkaW8+Cis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449698</attachid>
            <date>2022-01-21 15:09:44 -0800</date>
            <delta_ts>2022-01-22 13:49:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229688-20220121150943.patch</filename>
            <type>text/plain</type>
            <size>13053</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTI1ZDIwZDMxMjc2ZGEz
NGY3ZWJhZTQxYzg0ZmE0NjI1MmFhNjQ2NC4uOWNjMzMxNDg5Y2UwMDZkODJmMjgzMzgzNTQzYzUx
Y2VjY2ZjYTE4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIyLTAxLTIxICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04g
KGlPUyAxNSk6IEhUTUxBdWRpb0VsZW1lbnQgZmFpbHMgdG8gbG9hZCBuZXcgYXVkaW8gd2hlbiBk
ZXZpY2UgaXMgbG9ja2VkIG9yIHNhZmFyaSBpcyBpbiBiYWNrZ3JvdW5kCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk2ODgKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzgyNTU0MjI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorICAgICAgICAKKyAgICAgICAgQW4gaU9TIGFwcGxpY2F0aW9uIGxvc2VzIGl0cyBOb3dQbGF5
aW5nIHN0YXR1cyBhcyBzb29uIGFzIHRoZSBBdWRpb1Nlc3Npb24gY2F0ZWdvcnkKKyAgICAgICAg
aXMgc2V0IHRvIEFtYmllbnQsIGFuZCBpdCBjYW4gb25seSBnZXQgaXQgYmFjayBhZ2FpbiBieSBj
aGFuZ2luZyB0aGUgY2F0ZWdvcnkKKyAgICAgICAgdG8gUGxheWJhY2sgKmFuZCogc3RhcnRpbmcg
cGxheWJhY2suIFdoZW4gYW4gYXBwbGljYXRpb24gaXMgaW4gdGhlIGJhY2tncm91bmQsIGhvd2V2
ZXIsCisgICAgICAgIGl0IGNhbid0IHN0YXJ0IHBsYXliYWNrIHVubGVzcyBpdCAqYWxyZWFkeSog
aGFzIE5vd1BsYXlpbmcgc3RhdHVzLiBTbywgaXBzbyBmYWN0bywKKyAgICAgICAgYmFja2dyb3Vu
ZCBwbGF5YmFjayB3aWxsIGFsd2F5cyBmYWlsIG9uY2UgdGhlIGNhdGVnb3J5IGlzIHNldCB0byBB
bWJpZW50LgorCisgICAgICAgIElmIGFuIEF1ZGlvU2Vzc2lvbidzIGNhdGVnb3J5IGlzIHNldCB0
byBQbGF5YmFjayB3aGVuIGl0IGlzIGFjdGl2YXRlZCwgaXQgd2lsbCAKKyAgICAgICAgaW50ZXJy
dXB0IGFub3RoZXIgYXBwbGljYXRpb24gcGxheWluZyBhdWRpbywgYWN0aXZhdGUgQmx1ZXRvb3Ro
IHJvdXRlcywgZXRjLgorICAgICAgICBUaGlzIG1lYW5zIFdlYktpdCBoYXMgdG8gcmVsaW5xdWlz
aCBQbGF5YmFjayB3aGVuIGEgcGFnZSBpcyB1bmFibGUgdG8gcHJvZHVjZSBhdWRpbworICAgICAg
ICBiZWNhdXNlIEFWRm91bmRhdGlvbiBhdXRvbWF0aWNhbGx5IGFjdGl2YXRlcyB0aGUgYXVkaW8g
c2Vzc2lvbiB3aGVuIHBsYXliYWNrIHN0YXJ0cworICAgICAgICAtIGV2ZW4gaWYgdGhlIEFWUGxh
eWVyIGlzIG11dGVkIG9yIGhhcyBubyBhdWRpby4KKworICAgICAgICBUbyBhbGxvdyBwYWdlcyB0
aGF0IHdlcmUgcGxheWluZyBhdWRpbyB3aGVuIFdlYktpdCB3ZW50IGludG8gdGhlIGJhY2tncm91
bmQgdG8gCisgICAgICAgIGNvbnRpbnVlIHRvIHBsYXkgYWZ0ZXIgc3dpdGNoaW5nIHVybHMgb3Ig
YWN0aXZhdGluZyBhbm90aGVyIG1lZGlhIGVsZW1lbnQsIGFkZCBhCisgICAgICAgIGdyYWNlIHBl
cmlvZCB3aGVuIHN3aXRjaCBmcm9tIFBsYXliYWNrIHRvIEFtYmllbnQuCisKKyAgICAgICAgVGVz
dDogbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29yeS5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW06CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6OnVwZGF0ZVNlc3Npb25TdGF0ZSk6IAorCiAy
MDIyLTAxLTEzICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAg
IFJlbW92ZSB1c2Ugb2YgUHNldWRvRWxlbWVudCBpbiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCmluZGV4IDcyODJiZTE0MmZkZjcxOGQxYTRjMWZkZDg4YTZkNjRkMmVkNmIzZWMuLjdhODgz
MjA5YjdmNzAxZjQwZmQ3NzhmNzBmY2FmYjBlMDE4MzUyYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMjItMDEtMjEgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+
CisKKyAgICAgICAgUkVHUkVTU0lPTiAoaU9TIDE1KTogSFRNTEF1ZGlvRWxlbWVudCBmYWlscyB0
byBsb2FkIG5ldyBhdWRpbyB3aGVuIGRldmljZSBpcyBsb2NrZWQgb3Igc2FmYXJpIGlzIGluIGJh
Y2tncm91bmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyOTY4OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODI1NTQyMjY+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVBdWRpb1Nlc3Npb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVBdWRpb1Nl
c3Npb246OmNhdGVnb3J5IGNvbnN0KTogUmV0dXJuIHRoZSBtb3N0IHJlY2VudGx5IHNldCBjYXRl
Z29yeQorICAgICAgICBvbiBhbGwgcGxhdGZvcm1zIHNvIGl0IGlzIHBvc3NpYmxlIHRvIHRlc3Qu
CisKIDIwMjItMDEtMTMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgRml4IGEgZmV3IE9iamVjdGl2ZS1DIG9iamVjdCBsZWFrcyBkdWUgdG8gZWFybHkg
cmV0dXJucyBpbiBgaW5pdGAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgKaW5kZXggMGYzNDI4
YWNkNTA2MjQxNzAxMmRmMDRjNzNlNjY4MThhNGY5NzgzOC4uNjRkOWRmZjQyYTQxMTM2OTdkMDZm
YzY1MGJhMWI4ODI4MjM0ZWZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgKQEAgLTMx
LDYgKzMxLDcgQEAKICNpbmNsdWRlICJOb3dQbGF5aW5nTWFuYWdlci5oIgogI2luY2x1ZGUgIlBs
YXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgogI2luY2x1ZGUgIlJlbW90ZUNvbW1hbmRMaXN0
ZW5lci5oIgorI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtMTA2LDYgKzEwNyw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhdWRpb0hhcmR3YXJlRGlk
QmVjb21lSW5hY3RpdmUoKSBmaW5hbCB7IH0KICAgICB2b2lkIGF1ZGlvT3V0cHV0RGV2aWNlQ2hh
bmdlZCgpIGZpbmFsOwogCisgICAgdm9pZCBwb3NzaWJseUNoYW5nZUF1ZGlvQ2F0ZWdvcnkoKTsK
KwogICAgIGJvb2wgbV9ub3dQbGF5aW5nQWN0aXZlIHsgZmFsc2UgfTsKICAgICBib29sIG1fcmVn
aXN0ZXJlZEFzTm93UGxheWluZ0FwcGxpY2F0aW9uIHsgZmFsc2UgfTsKICAgICBib29sIG1faGF2
ZUV2ZXJSZWdpc3RlcmVkQXNOb3dQbGF5aW5nQXBwbGljYXRpb24geyBmYWxzZSB9OwpAQCAtMTIx
LDYgKzEyNCw5IEBAIHByaXZhdGU6CiAKICAgICBBdWRpb0hhcmR3YXJlTGlzdGVuZXI6OkJ1ZmZl
clNpemVSYW5nZSBtX3N1cHBvcnRlZEF1ZGlvSGFyZHdhcmVCdWZmZXJTaXplczsKICAgICBzaXpl
X3QgbV9kZWZhdWx0QnVmZmVyU2l6ZTsKKworICAgIFJ1bkxvb3A6OlRpbWVyPE1lZGlhU2Vzc2lv
bk1hbmFnZXJDb2NvYT4gbV9kZWxheUNhdGVnb3J5Q2hhbmdlVGltZXI7CisgICAgYm9vbCBtX3By
ZXZpb3VzSGFkQXVkaWJsZUF1ZGlvT3JWaWRlb01lZGlhVHlwZSB7IGZhbHNlIH07CiB9OwogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNl
c3Npb25NYW5hZ2VyQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2Nv
YS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW0KaW5kZXggN2YwNDk2MGM1OTY1YjYyNTFiOTFi
OWE1NjdlNTEwODliNTcxOWYwNy4uNGEzZWM0MThjNjIwNDQzNDU0Y2FiNjRlMTBkZGU2ZGVhYmU3
NzM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVk
aWFTZXNzaW9uTWFuYWdlckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5tbQpAQCAtNjAsNiArNjAsNyBAQCBz
dGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyPiBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXI6OmNyZWF0ZQogTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hOjpNZWRpYVNl
c3Npb25NYW5hZ2VyQ29jb2EoKQogICAgIDogbV9ub3dQbGF5aW5nTWFuYWdlcihwbGF0Zm9ybVN0
cmF0ZWdpZXMoKS0+bWVkaWFTdHJhdGVneSgpLmNyZWF0ZU5vd1BsYXlpbmdNYW5hZ2VyKCkpCiAg
ICAgLCBtX2RlZmF1bHRCdWZmZXJTaXplKEF1ZGlvU2Vzc2lvbjo6c2hhcmVkU2Vzc2lvbigpLnBy
ZWZlcnJlZEJ1ZmZlclNpemUoKSkKKyAgICAsIG1fZGVsYXlDYXRlZ29yeUNoYW5nZVRpbWVyKFJ1
bkxvb3A6Om1haW4oKSwgdGhpcywgJk1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYTo6cG9zc2libHlD
aGFuZ2VBdWRpb0NhdGVnb3J5KQogewogICAgIGVuc3VyZUNvZGVjc1JlZ2lzdGVyZWQoKTsKIH0K
QEAgLTk0LDYgKzk1LDcgQEAgYm9vbCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6Om1lZGlhU291
cmNlSW5saW5lUGFpbnRpbmdFbmFibGVkKCkKIAogdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29j
b2E6OnVwZGF0ZVNlc3Npb25TdGF0ZSgpCiB7CisgICAgc3RhdGljIGNvbnN0IFNlY29uZHMgZGVs
YXlCZWZvcmVTZXR0aW5nQ2F0ZWdvcnlOb25lID0geyAyX3MgfTsKICAgICBpbnQgdmlkZW9Db3Vu
dCA9IDA7CiAgICAgaW50IHZpZGVvQXVkaW9Db3VudCA9IDA7CiAgICAgaW50IGF1ZGlvQ291bnQg
PSAwOwpAQCAtMTI4LDEwICsxMzAsMjAgQEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6
OnVwZGF0ZVNlc3Npb25TdGF0ZSgpCiAgICAgICAgICAgICBpZiAoaXNQb3RlbnRpYWxseUF1ZGli
bGUpIHsKICAgICAgICAgICAgICAgICBoYXNBdWRpYmxlQXVkaW9PclZpZGVvTWVkaWFUeXBlID0g
dHJ1ZTsKICAgICAgICAgICAgICAgICBpc1BsYXlpbmdBdWRpbyB8PSBzZXNzaW9uLmlzUGxheWlu
ZygpOworICAgICAgICAgICAgICAgIG1fZGVsYXlDYXRlZ29yeUNoYW5nZVRpbWVyLnN0b3AoKTsK
ICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0pOwogCisgICAgaWYgKCFoYXNBdWRpYmxl
QXVkaW9PclZpZGVvTWVkaWFUeXBlICYmIG1fcHJldmlvdXNIYWRBdWRpYmxlQXVkaW9PclZpZGVv
TWVkaWFUeXBlKSB7CisgICAgICAgIGlmICghbV9kZWxheUNhdGVnb3J5Q2hhbmdlVGltZXIuaXNB
Y3RpdmUoKSkgeworICAgICAgICAgICAgbV9kZWxheUNhdGVnb3J5Q2hhbmdlVGltZXIuc3RhcnRP
bmVTaG90KGRlbGF5QmVmb3JlU2V0dGluZ0NhdGVnb3J5Tm9uZSk7CisgICAgICAgICAgICBBTFdB
WVNfTE9HKExPR0lERU5USUZJRVIsICJzZXR0aW5nIHRpbWVyIik7CisgICAgICAgIH0KKyAgICAg
ICAgaGFzQXVkaWJsZUF1ZGlvT3JWaWRlb01lZGlhVHlwZSA9IHRydWU7CisgICAgfQorICAgIG1f
cHJldmlvdXNIYWRBdWRpYmxlQXVkaW9PclZpZGVvTWVkaWFUeXBlID0gaGFzQXVkaWJsZUF1ZGlv
T3JWaWRlb01lZGlhVHlwZTsKKwogICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUiwgInR5cGVz
OiAiCiAgICAgICAgICJBdWRpb0NhcHR1cmUoIiwgY2FwdHVyZUNvdW50LCAiKSwgIgogICAgICAg
ICAiVmlkZW8oIiwgdmlkZW9Db3VudCwgIiksICIKQEAgLTE2OCw2ICsxODAsMTMgQEAgdm9pZCBN
ZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6OnVwZGF0ZVNlc3Npb25TdGF0ZSgpCiAgICAgQXVkaW9T
ZXNzaW9uOjpzaGFyZWRTZXNzaW9uKCkuc2V0Q2F0ZWdvcnkoY2F0ZWdvcnksIHBvbGljeSk7CiB9
CiAKK3ZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hOjpwb3NzaWJseUNoYW5nZUF1ZGlvQ2F0
ZWdvcnkoKQoreworICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CisgICAgbV9wcmV2aW91
c0hhZEF1ZGlibGVBdWRpb09yVmlkZW9NZWRpYVR5cGUgPSBmYWxzZTsKKyAgICB1cGRhdGVTZXNz
aW9uU3RhdGUoKTsKK30KKwogdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6OmJlZ2luSW50
ZXJydXB0aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpJbnRlcnJ1cHRpb25UeXBlIHR5cGUpCiB7
CiAgICAgaWYgKHR5cGUgPT0gUGxhdGZvcm1NZWRpYVNlc3Npb246OkludGVycnVwdGlvblR5cGU6
OlN5c3RlbUludGVycnVwdGlvbikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb24uY3BwCmluZGV4IDA4ZWZmOThhYTdi
MzRlNjgzNDdlNmQ0NzY3MzAxZTEyNWNlYzlhM2QuLjNlMGM2MzY0NjM1YWQ2M2Q3YWNkYTNiNjQw
ZjNjZWU5ZDMxMTFlMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
bWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvbi5jcHAKQEAgLTE0MSwxMSArMTQxLDcgQEAg
dm9pZCBSZW1vdGVBdWRpb1Nlc3Npb246OnNldElzUGxheWluZ1RvQmx1ZXRvb3RoT3ZlcnJpZGUo
c3RkOjpvcHRpb25hbDxib29sPiB2YWwKIAogQXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUgUmVt
b3RlQXVkaW9TZXNzaW9uOjpjYXRlZ29yeSgpIGNvbnN0CiB7Ci0jaWYgUExBVEZPUk0oQ09DT0Ep
CiAgICAgcmV0dXJuIG1fY2F0ZWdvcnk7Ci0jZWxzZQotICAgIHJldHVybiBBdWRpb1Nlc3Npb246
OkNhdGVnb3J5VHlwZTo6Tm9uZTsKLSNlbmRpZgogfQogCiB2b2lkIFJlbW90ZUF1ZGlvU2Vzc2lv
bjo6Y29uZmlndXJhdGlvbkNoYW5nZWQoUmVtb3RlQXVkaW9TZXNzaW9uQ29uZmlndXJhdGlvbiYm
IGNvbmZpZ3VyYXRpb24pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzVlNTQ3YjIxNGRkYjE5ZTc4ZDI2MWU5MmY5NmU1NGY0
MDgyYzI1Zi4uZThmYzJmZTM1OTMwODkwNzJhM2M4YzY1YTU4MWU2MDhmY2NmOGE3NSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDIyLTAxLTIxICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25A
YXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKGlPUyAxNSk6IEhUTUxBdWRpb0VsZW1l
bnQgZmFpbHMgdG8gbG9hZCBuZXcgYXVkaW8gd2hlbiBkZXZpY2UgaXMgbG9ja2VkIG9yIHNhZmFy
aSBpcyBpbiBiYWNrZ3JvdW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjk2ODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgyNTU0MjI2PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9tZWRp
YXNlc3Npb24vbWV0YWRhdGEvYXVkaW8tdHJhY2stZW5hYmxlZC5odG1sOiBXYWl0IGxvbmdlciBm
b3IgdGhlIGF1ZGlvIHNlc3Npb24KKyAgICAgICAgY2F0ZWdvcnkgdG8gYmUgcmVzZXQuCisgICAg
ICAgICogbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29yeS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIG1lZGlhL2F1ZGlvLXNlc3Npb24tY2F0ZWdvcnkuaHRtbDogQWRkZWQuCisKIDIw
MjItMDEtMTMgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CiAKICAgICAgICAg
UmVmZXJlbmNlZCBTVkcgZmlsdGVyIHVzZXMgYWx3YXlzIHNSR0IgY29sb3Igc3BhY2UgZm9yIGl0
cyByZXN1bHQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vYXVkaW8t
dHJhY2stZW5hYmxlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9hdWRpby10
cmFjay1lbmFibGVkLmh0bWwKaW5kZXggNDFmODMwMDg5ZDA5ZDAwZTZmNGQxNmUzOTlkMmM3ZmQw
NDIwNzZiNS4uMTQxZTZkMzU3MzU1YTVkMjE2NjUwYmRiNzgzNjg0ZDZkMGE2ZjRiMyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9hdWRpby10cmFjay1lbmFibGVkLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9hdWRpby10cmFjay1lbmFibGVk
Lmh0bWwKQEAgLTMyLDEwICszMiwxMCBAQCBwcm9taXNlX3Rlc3QoYXN5bmMoKSA9PiB7CiAgICAg
YXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSwgIlBsYXlBbmRS
ZWNvcmQiKTsKIAogICAgIGF1ZGlvVHJhY2suc3RvcCgpOwotICAgIGNvbnN0IG1heFRyaWVzID0g
MTAwOworICAgIGNvbnN0IG1heFRyaWVzID0gMzAwOwogICAgIGxldCBjb3VudGVyID0gMDsKICAg
ICB3aGlsZSAoKytjb3VudGVyIDwgbWF4VHJpZXMpIHsKLSAgICAgICAgaWYgKGludGVybmFscy5h
dWRpb1Nlc3Npb25DYXRlZ29yeSgpICE9ICJQbGF5QW5kUmVjb3JkIikKKyAgICAgICAgaWYgKGlu
dGVybmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpID09IGRlZmF1bHRDYXRlZ29yeSkKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRp
bWVvdXQocmVzb2x2ZSwgMTApKTsKICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRp
YS9hdWRpby1zZXNzaW9uLWNhdGVnb3J5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL21lZGlh
L2F1ZGlvLXNlc3Npb24tY2F0ZWdvcnktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI2MmI1OTVk
NmMxYzkxOGI2NzYyYjU5MTY2NGJkNDYwYmZjNDZlMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9tZWRpYS9hdWRpby1zZXNzaW9uLWNhdGVnb3J5LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDI4IEBACisKKworKiogQ2hlY2sgY2F0ZWdvcnkgYmVmb3JlIGFueXRoaW5nIGhhcyBsb2Fk
ZWQuCitFWFBFQ1RFRCAoaW50ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCkgPT0gJ05vbmUn
KSBPSworCisqKiBDaGVjayBjYXRlZ29yeSB3aGVuIGEgbXV0ZWQsIHBhdXNlZCwgZWxlbWVudCBo
YXMgbG9hZGVkLgorRVZFTlQoY2FucGxheXRocm91Z2gpCitFWFBFQ1RFRCAoaW50ZXJuYWxzLmF1
ZGlvU2Vzc2lvbkNhdGVnb3J5KCkgPT0gJ05vbmUnKSBPSworCisqKiBDaGVjayBjYXRlZ29yeSB3
aGVuIGEgbXV0ZWQgZWxlbWVudCBpcyBwbGF5aW5nLgorUlVOKHZpZGVvLnBsYXkoKSkKK0VWRU5U
KHBsYXlpbmcpCitFWFBFQ1RFRCAoaW50ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCkgPT0g
J05vbmUnKSBPSworCisqKiBDaGVjayBjYXRlZ29yeSB3aGVuIGFuIHVubXV0ZWQgZWxlbWVudCBp
cyBwbGF5aW5nLgorUlVOKHZpZGVvLm11dGVkID0gZmFsc2UpCitFVkVOVCh2b2x1bWVjaGFuZ2Up
CitFWFBFQ1RFRCAoaW50ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCkgPT0gJ01lZGlhUGxh
eWJhY2snKSBPSworCisqKiBNdXRlIHRoZSBlbGVtZW50LCBjaGVjayBhZ2FpbiBhZnRlciA1MDBt
cy4KK1JVTih2aWRlby5wYXVzZSgpKQorUlVOKHZpZGVvLm11dGVkID0gdHJ1ZSkKK0VYUEVDVEVE
IChpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSA9PSAnTWVkaWFQbGF5YmFjaycpIE9L
CisKKyoqIEFuZCBjaGVjayBhZ2FpbiBhZnRlciAzIHNlY29uZHMuCitFWFBFQ1RFRCAoaW50ZXJu
YWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCkgPT0gJ05vbmUnKSBPSworRU5EIE9GIFRFU1QKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29yeS5odG1s
IGIvTGF5b3V0VGVzdHMvbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29yeS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjAxMzU4ZGRmNTdhNjU0ZDc5MmFhZjBiNTY3ZjVlM2M2OWQ3N2NiMmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1zZXNzaW9uLWNhdGVnb3J5Lmh0bWwKQEAg
LTAsMCArMSw2OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRs
ZT5hdWRpby1zZXNzaW9uLWNhdGVnb3J5PC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0idmlkZW8t
dGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Im1lZGlhLWZpbGUuanMiPjwvc2Ny
aXB0PgorICAgIDxzY3JpcHQ+CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gd2FpdEZvckNhdGVn
b3J5KGNhdGVnb3J5LCBkdXJhdGlvbiwgbWVzc2FnZSkKKyAgICAgICAgeworICAgICAgICAgICAg
Y29uc29sZVdyaXRlKG1lc3NhZ2UpOworCisgICAgICAgICAgICBjb25zdCBtYXhUcmllcyA9IGR1
cmF0aW9uICogMTAwMCAvIDEwOworICAgICAgICAgICAgbGV0IGNvdW50ZXIgPSAwOworICAgICAg
ICAgICAgd2hpbGUgKCsrY291bnRlciA8IG1heFRyaWVzKSB7CisgICAgICAgICAgICAgICAgaWYg
KGludGVybmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpID09IGNhdGVnb3J5KQorICAgICAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMTApKTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCdpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKScsIGNh
dGVnb3J5KTsKKyAgICAgICAgfQorCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCds
b2FkJywgYXN5bmMgZXZlbnQgPT4geworICAgICAgICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxz
KSB7CisgICAgICAgICAgICAgICAgZmFpbFRlc3QoYDxicj5UaGlzIHRlc3QgcmVxdWlyZXMgaW50
ZXJuYWxzIWApOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZE1hbmFnZUF1ZGlvU2Vzc2lvbkNh
dGVnb3J5KHRydWUpOworCisgICAgICAgICAgICBhd2FpdCB3YWl0Rm9yQ2F0ZWdvcnkoIk5vbmUi
LCAxMCwgIjxicj4qKiBDaGVjayBjYXRlZ29yeSBiZWZvcmUgYW55dGhpbmcgaGFzIGxvYWRlZC4i
KTsKKworICAgICAgICAgICAgZmFpbFRlc3RJbigxNTAwMCk7CisKKyAgICAgICAgICAgIGNvbnNv
bGVXcml0ZSgiPGJyPioqIENoZWNrIGNhdGVnb3J5IHdoZW4gYSBtdXRlZCwgcGF1c2VkLCBlbGVt
ZW50IGhhcyBsb2FkZWQuIik7CisgICAgICAgICAgICB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1l
bnRzQnlUYWdOYW1lKCdhdWRpbycpWzBdOworICAgICAgICAgICAgdmlkZW8uc3JjID0gZmluZE1l
ZGlhRmlsZSgidmlkZW8iLCAiY29udGVudC90ZXN0Iik7CisKKyAgICAgICAgICAgIGF3YWl0IHdh
aXRGb3IodmlkZW8sICdjYW5wbGF5dGhyb3VnaCcpOworICAgICAgICAgICAgdGVzdEV4cGVjdGVk
KCdpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKScsICJOb25lIik7CisKKyAgICAgICAg
ICAgIGNvbnNvbGVXcml0ZSgiPGJyPioqIENoZWNrIGNhdGVnb3J5IHdoZW4gYSBtdXRlZCBlbGVt
ZW50IGlzIHBsYXlpbmcuIik7CisgICAgICAgICAgICBydW5XaXRoS2V5RG93bigoKSA9PiB7IHJ1
bigndmlkZW8ucGxheSgpJykgfSk7CisgICAgICAgICAgICBhd2FpdCB3YWl0Rm9yKHZpZGVvLCAn
cGxheWluZycpOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdpbnRlcm5hbHMuYXVkaW9TZXNz
aW9uQ2F0ZWdvcnkoKScsICJOb25lIik7CisKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgiPGJy
PioqIENoZWNrIGNhdGVnb3J5IHdoZW4gYW4gdW5tdXRlZCBlbGVtZW50IGlzIHBsYXlpbmcuIik7
CisgICAgICAgICAgICBydW5XaXRoS2V5RG93bigoKSA9PiB7IHJ1bigndmlkZW8ubXV0ZWQgPSBm
YWxzZScpIH0pOworICAgICAgICAgICAgYXdhaXQgd2FpdEZvcih2aWRlbywgJ3ZvbHVtZWNoYW5n
ZScpOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0
ZWdvcnkoKScsICJNZWRpYVBsYXliYWNrIik7CisKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgi
PGJyPioqIE11dGUgdGhlIGVsZW1lbnQsIGNoZWNrIGFnYWluIGFmdGVyIDUwMG1zLiIpOworICAg
ICAgICAgICAgcnVuKCd2aWRlby5wYXVzZSgpJyk7CisgICAgICAgICAgICBydW5XaXRoS2V5RG93
bigoKSA9PiB7IHJ1bigndmlkZW8ubXV0ZWQgPSB0cnVlJykgfSk7CisgICAgICAgICAgICBhd2Fp
dCBzbGVlcEZvcig1MDApOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdpbnRlcm5hbHMuYXVk
aW9TZXNzaW9uQ2F0ZWdvcnkoKScsICJNZWRpYVBsYXliYWNrIik7CisKKyAgICAgICAgICAgIGF3
YWl0IHdhaXRGb3JDYXRlZ29yeSgiTm9uZSIsIDMsICI8YnI+KiogQW5kIGNoZWNrIGFnYWluIGFm
dGVyIDMgc2Vjb25kcy4iKTsKKworICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICB9KTsK
KyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxhdWRpbyBtdXRlZCBjb250cm9s
cz48L2F1ZGlvPgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449735</attachid>
            <date>2022-01-22 13:49:07 -0800</date>
            <delta_ts>2022-04-27 07:35:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229688-20220122134906.patch</filename>
            <type>text/plain</type>
            <size>18759</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTI1ZDIwZDMxMjc2ZGEz
NGY3ZWJhZTQxYzg0ZmE0NjI1MmFhNjQ2NC4uOWNjMzMxNDg5Y2UwMDZkODJmMjgzMzgzNTQzYzUx
Y2VjY2ZjYTE4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIyLTAxLTIxICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04g
KGlPUyAxNSk6IEhUTUxBdWRpb0VsZW1lbnQgZmFpbHMgdG8gbG9hZCBuZXcgYXVkaW8gd2hlbiBk
ZXZpY2UgaXMgbG9ja2VkIG9yIHNhZmFyaSBpcyBpbiBiYWNrZ3JvdW5kCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk2ODgKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzgyNTU0MjI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorICAgICAgICAKKyAgICAgICAgQW4gaU9TIGFwcGxpY2F0aW9uIGxvc2VzIGl0cyBOb3dQbGF5
aW5nIHN0YXR1cyBhcyBzb29uIGFzIHRoZSBBdWRpb1Nlc3Npb24gY2F0ZWdvcnkKKyAgICAgICAg
aXMgc2V0IHRvIEFtYmllbnQsIGFuZCBpdCBjYW4gb25seSBnZXQgaXQgYmFjayBhZ2FpbiBieSBj
aGFuZ2luZyB0aGUgY2F0ZWdvcnkKKyAgICAgICAgdG8gUGxheWJhY2sgKmFuZCogc3RhcnRpbmcg
cGxheWJhY2suIFdoZW4gYW4gYXBwbGljYXRpb24gaXMgaW4gdGhlIGJhY2tncm91bmQsIGhvd2V2
ZXIsCisgICAgICAgIGl0IGNhbid0IHN0YXJ0IHBsYXliYWNrIHVubGVzcyBpdCAqYWxyZWFkeSog
aGFzIE5vd1BsYXlpbmcgc3RhdHVzLiBTbywgaXBzbyBmYWN0bywKKyAgICAgICAgYmFja2dyb3Vu
ZCBwbGF5YmFjayB3aWxsIGFsd2F5cyBmYWlsIG9uY2UgdGhlIGNhdGVnb3J5IGlzIHNldCB0byBB
bWJpZW50LgorCisgICAgICAgIElmIGFuIEF1ZGlvU2Vzc2lvbidzIGNhdGVnb3J5IGlzIHNldCB0
byBQbGF5YmFjayB3aGVuIGl0IGlzIGFjdGl2YXRlZCwgaXQgd2lsbCAKKyAgICAgICAgaW50ZXJy
dXB0IGFub3RoZXIgYXBwbGljYXRpb24gcGxheWluZyBhdWRpbywgYWN0aXZhdGUgQmx1ZXRvb3Ro
IHJvdXRlcywgZXRjLgorICAgICAgICBUaGlzIG1lYW5zIFdlYktpdCBoYXMgdG8gcmVsaW5xdWlz
aCBQbGF5YmFjayB3aGVuIGEgcGFnZSBpcyB1bmFibGUgdG8gcHJvZHVjZSBhdWRpbworICAgICAg
ICBiZWNhdXNlIEFWRm91bmRhdGlvbiBhdXRvbWF0aWNhbGx5IGFjdGl2YXRlcyB0aGUgYXVkaW8g
c2Vzc2lvbiB3aGVuIHBsYXliYWNrIHN0YXJ0cworICAgICAgICAtIGV2ZW4gaWYgdGhlIEFWUGxh
eWVyIGlzIG11dGVkIG9yIGhhcyBubyBhdWRpby4KKworICAgICAgICBUbyBhbGxvdyBwYWdlcyB0
aGF0IHdlcmUgcGxheWluZyBhdWRpbyB3aGVuIFdlYktpdCB3ZW50IGludG8gdGhlIGJhY2tncm91
bmQgdG8gCisgICAgICAgIGNvbnRpbnVlIHRvIHBsYXkgYWZ0ZXIgc3dpdGNoaW5nIHVybHMgb3Ig
YWN0aXZhdGluZyBhbm90aGVyIG1lZGlhIGVsZW1lbnQsIGFkZCBhCisgICAgICAgIGdyYWNlIHBl
cmlvZCB3aGVuIHN3aXRjaCBmcm9tIFBsYXliYWNrIHRvIEFtYmllbnQuCisKKyAgICAgICAgVGVz
dDogbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29yeS5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW06CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6OnVwZGF0ZVNlc3Npb25TdGF0ZSk6IAorCiAy
MDIyLTAxLTEzICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAg
IFJlbW92ZSB1c2Ugb2YgUHNldWRvRWxlbWVudCBpbiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCmluZGV4IDcyODJiZTE0MmZkZjcxOGQxYTRjMWZkZDg4YTZkNjRkMmVkNmIzZWMuLjdhODgz
MjA5YjdmNzAxZjQwZmQ3NzhmNzBmY2FmYjBlMDE4MzUyYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMjItMDEtMjEgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+
CisKKyAgICAgICAgUkVHUkVTU0lPTiAoaU9TIDE1KTogSFRNTEF1ZGlvRWxlbWVudCBmYWlscyB0
byBsb2FkIG5ldyBhdWRpbyB3aGVuIGRldmljZSBpcyBsb2NrZWQgb3Igc2FmYXJpIGlzIGluIGJh
Y2tncm91bmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyOTY4OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODI1NTQyMjY+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9tZWRp
YS9SZW1vdGVBdWRpb1Nlc3Npb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVBdWRpb1Nl
c3Npb246OmNhdGVnb3J5IGNvbnN0KTogUmV0dXJuIHRoZSBtb3N0IHJlY2VudGx5IHNldCBjYXRl
Z29yeQorICAgICAgICBvbiBhbGwgcGxhdGZvcm1zIHNvIGl0IGlzIHBvc3NpYmxlIHRvIHRlc3Qu
CisKIDIwMjItMDEtMTMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgRml4IGEgZmV3IE9iamVjdGl2ZS1DIG9iamVjdCBsZWFrcyBkdWUgdG8gZWFybHkg
cmV0dXJucyBpbiBgaW5pdGAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1
ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgKaW5kZXggMGYzNDI4
YWNkNTA2MjQxNzAxMmRmMDRjNzNlNjY4MThhNGY5NzgzOC4uYzFhODQwZmRhNWQ1ODg5ZGQ2NWEw
ZTRmNjRjM2U4YTUzMmRhMjE2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgKQEAgLTI4
LDkgKzI4LDExIEBACiAjaWYgUExBVEZPUk0oQ09DT0EpCiAKICNpbmNsdWRlICJBdWRpb0hhcmR3
YXJlTGlzdGVuZXIuaCIKKyNpbmNsdWRlICJBdWRpb1Nlc3Npb24uaCIKICNpbmNsdWRlICJOb3dQ
bGF5aW5nTWFuYWdlci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5o
IgogI2luY2x1ZGUgIlJlbW90ZUNvbW1hbmRMaXN0ZW5lci5oIgorI2luY2x1ZGUgPHd0Zi9SdW5M
b29wLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTA2LDYgKzEwOCw4IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBhdWRpb0hhcmR3YXJlRGlkQmVjb21lSW5hY3RpdmUoKSBmaW5hbCB7IH0K
ICAgICB2b2lkIGF1ZGlvT3V0cHV0RGV2aWNlQ2hhbmdlZCgpIGZpbmFsOwogCisgICAgdm9pZCBw
b3NzaWJseUNoYW5nZUF1ZGlvQ2F0ZWdvcnkoKTsKKwogICAgIGJvb2wgbV9ub3dQbGF5aW5nQWN0
aXZlIHsgZmFsc2UgfTsKICAgICBib29sIG1fcmVnaXN0ZXJlZEFzTm93UGxheWluZ0FwcGxpY2F0
aW9uIHsgZmFsc2UgfTsKICAgICBib29sIG1faGF2ZUV2ZXJSZWdpc3RlcmVkQXNOb3dQbGF5aW5n
QXBwbGljYXRpb24geyBmYWxzZSB9OwpAQCAtMTIxLDYgKzEyNSwxMCBAQCBwcml2YXRlOgogCiAg
ICAgQXVkaW9IYXJkd2FyZUxpc3RlbmVyOjpCdWZmZXJTaXplUmFuZ2UgbV9zdXBwb3J0ZWRBdWRp
b0hhcmR3YXJlQnVmZmVyU2l6ZXM7CiAgICAgc2l6ZV90IG1fZGVmYXVsdEJ1ZmZlclNpemU7CisK
KyAgICBSdW5Mb29wOjpUaW1lcjxNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E+IG1fZGVsYXlDYXRl
Z29yeUNoYW5nZVRpbWVyOworICAgIEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlIG1fcHJldmlv
dXNDYXRlZ29yeSB7IEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlOjpOb25lIH07CisgICAgYm9v
bCBtX3ByZXZpb3VzSGFkQXVkaWJsZUF1ZGlvT3JWaWRlb01lZGlhVHlwZSB7IGZhbHNlIH07CiB9
OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9N
ZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW0KaW5kZXggN2YwNDk2MGM1OTY1YjYy
NTFiOTFiOWE1NjdlNTEwODliNTcxOWYwNy4uZjQ1NzI0ZmE0ZjRjZmJhYmI3ZjFjYzU3NzRkYzBm
N2Y0MmQ4NjM3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29j
b2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5tbQpAQCAtMjgsNyArMjgs
NiBAQAogCiAjaWYgVVNFKEFVRElPX1NFU1NJT04pICYmIFBMQVRGT1JNKENPQ09BKQogCi0jaW1w
b3J0ICJBdWRpb1Nlc3Npb24uaCIKICNpbXBvcnQgIkF1ZGlvVXRpbGl0aWVzLmgiCiAjaW1wb3J0
ICJEZXByZWNhdGVkR2xvYmFsU2V0dGluZ3MuaCIKICNpbXBvcnQgIkhUTUxNZWRpYUVsZW1lbnQu
aCIKQEAgLTYwLDYgKzU5LDcgQEAgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtTWVkaWFTZXNzaW9u
TWFuYWdlcj4gUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpjcmVhdGUKIE1lZGlhU2Vzc2lv
bk1hbmFnZXJDb2NvYTo6TWVkaWFTZXNzaW9uTWFuYWdlckNvY29hKCkKICAgICA6IG1fbm93UGxh
eWluZ01hbmFnZXIocGxhdGZvcm1TdHJhdGVnaWVzKCktPm1lZGlhU3RyYXRlZ3koKS5jcmVhdGVO
b3dQbGF5aW5nTWFuYWdlcigpKQogICAgICwgbV9kZWZhdWx0QnVmZmVyU2l6ZShBdWRpb1Nlc3Np
b246OnNoYXJlZFNlc3Npb24oKS5wcmVmZXJyZWRCdWZmZXJTaXplKCkpCisgICAgLCBtX2RlbGF5
Q2F0ZWdvcnlDaGFuZ2VUaW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMsICZNZWRpYVNlc3Npb25N
YW5hZ2VyQ29jb2E6OnBvc3NpYmx5Q2hhbmdlQXVkaW9DYXRlZ29yeSkKIHsKICAgICBlbnN1cmVD
b2RlY3NSZWdpc3RlcmVkKCk7CiB9CkBAIC05NCw2ICs5NCw3IEBAIGJvb2wgTWVkaWFTZXNzaW9u
TWFuYWdlckNvY29hOjptZWRpYVNvdXJjZUlubGluZVBhaW50aW5nRW5hYmxlZCgpCiAKIHZvaWQg
TWVkaWFTZXNzaW9uTWFuYWdlckNvY29hOjp1cGRhdGVTZXNzaW9uU3RhdGUoKQogeworICAgIHN0
YXRpYyBjb25zdCBTZWNvbmRzIGRlbGF5QmVmb3JlU2V0dGluZ0NhdGVnb3J5Tm9uZSA9IHsgMl9z
IH07CiAgICAgaW50IHZpZGVvQ291bnQgPSAwOwogICAgIGludCB2aWRlb0F1ZGlvQ291bnQgPSAw
OwogICAgIGludCBhdWRpb0NvdW50ID0gMDsKQEAgLTE2NCwxMCArMTY1LDI4IEBAIHZvaWQgTWVk
aWFTZXNzaW9uTWFuYWdlckNvY29hOjp1cGRhdGVTZXNzaW9uU3RhdGUoKQogICAgIH0gZWxzZSBp
ZiAod2ViQXVkaW9Db3VudCkKICAgICAgICAgY2F0ZWdvcnkgPSBBdWRpb1Nlc3Npb246OkNhdGVn
b3J5VHlwZTo6QW1iaWVudFNvdW5kOwogCisgICAgaWYgKGNhdGVnb3J5ID09IEF1ZGlvU2Vzc2lv
bjo6Q2F0ZWdvcnlUeXBlOjpOb25lICYmIG1fcHJldmlvdXNDYXRlZ29yeSAhPSBBdWRpb1Nlc3Np
b246OkNhdGVnb3J5VHlwZTo6Tm9uZSkgeworICAgICAgICBpZiAoIW1fZGVsYXlDYXRlZ29yeUNo
YW5nZVRpbWVyLmlzQWN0aXZlKCkpIHsKKyAgICAgICAgICAgIG1fZGVsYXlDYXRlZ29yeUNoYW5n
ZVRpbWVyLnN0YXJ0T25lU2hvdChkZWxheUJlZm9yZVNldHRpbmdDYXRlZ29yeU5vbmUpOworICAg
ICAgICAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAic2V0dGluZyB0aW1lciIpOworICAg
ICAgICB9CisgICAgICAgIGNhdGVnb3J5ID0gbV9wcmV2aW91c0NhdGVnb3J5OworICAgIH0gZWxz
ZQorICAgICAgICBtX2RlbGF5Q2F0ZWdvcnlDaGFuZ2VUaW1lci5zdG9wKCk7CisKKyAgICBtX3By
ZXZpb3VzQ2F0ZWdvcnkgPSBjYXRlZ29yeTsKKwogICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklF
UiwgInNldHRpbmcgY2F0ZWdvcnkgPSAiLCBjYXRlZ29yeSwgIiwgcG9saWN5ID0gIiwgcG9saWN5
KTsKICAgICBBdWRpb1Nlc3Npb246OnNoYXJlZFNlc3Npb24oKS5zZXRDYXRlZ29yeShjYXRlZ29y
eSwgcG9saWN5KTsKIH0KIAordm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6OnBvc3NpYmx5
Q2hhbmdlQXVkaW9DYXRlZ29yeSgpCit7CisgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsK
KyAgICBtX3ByZXZpb3VzQ2F0ZWdvcnkgPSBBdWRpb1Nlc3Npb246OkNhdGVnb3J5VHlwZTo6Tm9u
ZTsKKyAgICB1cGRhdGVTZXNzaW9uU3RhdGUoKTsKK30KKwogdm9pZCBNZWRpYVNlc3Npb25NYW5h
Z2VyQ29jb2E6OmJlZ2luSW50ZXJydXB0aW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpJbnRlcnJ1
cHRpb25UeXBlIHR5cGUpCiB7CiAgICAgaWYgKHR5cGUgPT0gUGxhdGZvcm1NZWRpYVNlc3Npb246
OkludGVycnVwdGlvblR5cGU6OlN5c3RlbUludGVycnVwdGlvbikgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb24uY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb24uY3Bw
CmluZGV4IDA4ZWZmOThhYTdiMzRlNjgzNDdlNmQ0NzY3MzAxZTEyNWNlYzlhM2QuLjNlMGM2MzY0
NjM1YWQ2M2Q3YWNkYTNiNjQwZjNjZWU5ZDMxMTFlMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvbi5jcHAKQEAg
LTE0MSwxMSArMTQxLDcgQEAgdm9pZCBSZW1vdGVBdWRpb1Nlc3Npb246OnNldElzUGxheWluZ1Rv
Qmx1ZXRvb3RoT3ZlcnJpZGUoc3RkOjpvcHRpb25hbDxib29sPiB2YWwKIAogQXVkaW9TZXNzaW9u
OjpDYXRlZ29yeVR5cGUgUmVtb3RlQXVkaW9TZXNzaW9uOjpjYXRlZ29yeSgpIGNvbnN0CiB7Ci0j
aWYgUExBVEZPUk0oQ09DT0EpCiAgICAgcmV0dXJuIG1fY2F0ZWdvcnk7Ci0jZWxzZQotICAgIHJl
dHVybiBBdWRpb1Nlc3Npb246OkNhdGVnb3J5VHlwZTo6Tm9uZTsKLSNlbmRpZgogfQogCiB2b2lk
IFJlbW90ZUF1ZGlvU2Vzc2lvbjo6Y29uZmlndXJhdGlvbkNoYW5nZWQoUmVtb3RlQXVkaW9TZXNz
aW9uQ29uZmlndXJhdGlvbiYmIGNvbmZpZ3VyYXRpb24pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzVlNTQ3YjIxNGRkYjE5
ZTc4ZDI2MWU5MmY5NmU1NGY0MDgyYzI1Zi4uOGU1NzM4OWFhYjdkMDQyYzcyNDQ4NDdhZGMwYWM3
Yzk4MjgwOTQ0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIyLTAxLTIxICBFcmljIENhcmxz
b24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04gKGlPUyAx
NSk6IEhUTUxBdWRpb0VsZW1lbnQgZmFpbHMgdG8gbG9hZCBuZXcgYXVkaW8gd2hlbiBkZXZpY2Ug
aXMgbG9ja2VkIG9yIHNhZmFyaSBpcyBpbiBiYWNrZ3JvdW5kCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk2ODgKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzgyNTU0MjI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogZmFzdC9tZWRpYXNlc3Npb24vbWV0YWRhdGEvYXVkaW8tdHJhY2stZW5hYmxlZC5o
dG1sOiBXYWl0IGxvbmdlciBmb3IgdGhlIGF1ZGlvIHNlc3Npb24KKyAgICAgICAgY2F0ZWdvcnkg
dG8gYmUgcmVzZXQuCisgICAgICAgICogbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29yeS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIG1lZGlhL2F1ZGlvLXNlc3Npb24tY2F0ZWdvcnku
aHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6IFNr
aXAgbmV3IHRlc3QuCisKIDIwMjItMDEtMTMgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVmZXJlbmNlZCBTVkcgZmlsdGVyIHVzZXMgYWx3YXlzIHNSR0Ig
Y29sb3Igc3BhY2UgZm9yIGl0cyByZXN1bHQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
bWVkaWFzdHJlYW0vYXVkaW8tdHJhY2stZW5hYmxlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9t
ZWRpYXN0cmVhbS9hdWRpby10cmFjay1lbmFibGVkLmh0bWwKaW5kZXggNDFmODMwMDg5ZDA5ZDAw
ZTZmNGQxNmUzOTlkMmM3ZmQwNDIwNzZiNS4uMTQxZTZkMzU3MzU1YTVkMjE2NjUwYmRiNzgzNjg0
ZDZkMGE2ZjRiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9hdWRp
by10cmFjay1lbmFibGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9h
dWRpby10cmFjay1lbmFibGVkLmh0bWwKQEAgLTMyLDEwICszMiwxMCBAQCBwcm9taXNlX3Rlc3Qo
YXN5bmMoKSA9PiB7CiAgICAgYXNzZXJ0X2VxdWFscyhpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0
ZWdvcnkoKSwgIlBsYXlBbmRSZWNvcmQiKTsKIAogICAgIGF1ZGlvVHJhY2suc3RvcCgpOwotICAg
IGNvbnN0IG1heFRyaWVzID0gMTAwOworICAgIGNvbnN0IG1heFRyaWVzID0gMzAwOwogICAgIGxl
dCBjb3VudGVyID0gMDsKICAgICB3aGlsZSAoKytjb3VudGVyIDwgbWF4VHJpZXMpIHsKLSAgICAg
ICAgaWYgKGludGVybmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpICE9ICJQbGF5QW5kUmVjb3Jk
IikKKyAgICAgICAgaWYgKGludGVybmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpID09IGRlZmF1
bHRDYXRlZ29yeSkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBhd2FpdCBuZXcgUHJvbWlz
ZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMTApKTsKICAgICB9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1zZXNzaW9uLWNhdGVnb3J5LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL21lZGlhL2F1ZGlvLXNlc3Npb24tY2F0ZWdvcnktZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU5MzllMGMyMTAyYzZkYjgzN2RmNzViMGI0NmY5ZjljNzdjNzc5NjkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1zZXNzaW9uLWNhdGVnb3J5LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDcyIEBACisKKworCisqKiA8YXVkaW8+IGVsZW1lbnQgdGVz
dCAqKgorCisqKiBDaGVjayBjYXRlZ29yeSBiZWZvcmUgYW55dGhpbmcgaGFzIGxvYWRlZC4KK0VY
UEVDVEVEIChpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSA9PSAnTm9uZScpIE9LCisK
KyoqIENoZWNrIGNhdGVnb3J5IHdoZW4gYSBtdXRlZCwgcGF1c2VkLCBlbGVtZW50IGhhcyBsb2Fk
ZWQuCitFVkVOVChjYW5wbGF5dGhyb3VnaCkKK0VYUEVDVEVEIChpbnRlcm5hbHMuYXVkaW9TZXNz
aW9uQ2F0ZWdvcnkoKSA9PSAnTm9uZScpIE9LCisKKyoqIENoZWNrIGNhdGVnb3J5IHdoZW4gYSBt
dXRlZCBlbGVtZW50IGlzIHBsYXlpbmcuCitSVU4odmlkZW8ucGxheSgpKQorRVZFTlQocGxheWlu
ZykKK0VYUEVDVEVEIChpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSA9PSAnTm9uZScp
IE9LCisKKyoqIENoZWNrIGNhdGVnb3J5IHdoZW4gYW4gdW5tdXRlZCBlbGVtZW50IGlzIHBsYXlp
bmcuCitSVU4odmlkZW8ubXV0ZWQgPSBmYWxzZSkKK0VWRU5UKHZvbHVtZWNoYW5nZSkKK0VYUEVD
VEVEIChpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSA9PSAnTWVkaWFQbGF5YmFjaycp
IE9LCisKKyoqIE11dGUgdGhlIGVsZW1lbnQsIGNoZWNrIGFnYWluIGFmdGVyIDUwMG1zLgorUlVO
KHZpZGVvLnBhdXNlKCkpCitSVU4odmlkZW8ubXV0ZWQgPSB0cnVlKQorRVhQRUNURUQgKGludGVy
bmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpID09ICdNZWRpYVBsYXliYWNrJykgT0sKKworKiog
QW5kIGNoZWNrIGFnYWluIGFmdGVyIDMgc2Vjb25kcy4KK0VYUEVDVEVEIChpbnRlcm5hbHMuYXVk
aW9TZXNzaW9uQ2F0ZWdvcnkoKSA9PSAnTm9uZScpIE9LCisKKworKiogQXVkaW9Db250ZXh0IHRl
c3QgKioKKworKiogQ2hlY2sgY2F0ZWdvcnkgYmVmb3JlIGNyZWF0aW5nIEF1ZGlvQ29udGV4dC4K
K0VYUEVDVEVEIChpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSA9PSAnTm9uZScpIE9L
CisKKyoqIENoZWNrIGNhdGVnb3J5IGFmdGVyIG9zY2lsbGF0b3IgZ3JhcGggaGFzIGJlZW4gY29u
bmVjdGVkIGJ1dCBub3Qgc3RhcnRlZC4KK0VYUEVDVEVEIChpbnRlcm5hbHMuYXVkaW9TZXNzaW9u
Q2F0ZWdvcnkoKSA9PSAnTm9uZScpIE9LCisKKyoqIENoZWNrIGNhdGVnb3J5IGFmdGVyIHN0YXJ0
aW5nIG9zY2lsbGF0b3IuCitFWFBFQ1RFRCAoaW50ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5
KCkgPT0gJ0FtYmllbnRTb3VuZCcpIE9LCisKKyoqIENsb3NlIHRoZSBjb250ZXh0LCBjaGVjayBh
Z2FpbiBhZnRlciA1MDBtcy4KK0VYUEVDVEVEIChpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdv
cnkoKSA9PSAnQW1iaWVudFNvdW5kJykgT0sKKworKiogQW5kIGNoZWNrIGFnYWluIGFmdGVyIDMg
c2Vjb25kcy4KK0VYUEVDVEVEIChpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSA9PSAn
Tm9uZScpIE9LCisKKworKiogTWVkaWFTdHJlYW0gdGVzdCAqKgorCisqKiBDaGVjayBjYXRlZ29y
eSBiZWZvcmUgY2FwdHVyZSBiZWdpbnMuCitFWFBFQ1RFRCAoaW50ZXJuYWxzLmF1ZGlvU2Vzc2lv
bkNhdGVnb3J5KCkgPT0gJ05vbmUnKSBPSworCisqKiBDaGVjayBjYXRlZ29yeSB3aGVuIGNhcHR1
cmluZy4KK0VYUEVDVEVEIChpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSA9PSAnUGxh
eUFuZFJlY29yZCcpIE9LCisKKyoqIENoZWNrIGFmdGVyIE1lZGlhU3RyZWFtIGlzIGF0dGFjaGVk
IHRvIGF1ZGlvIGVsZW1lbnQuCitSVU4odmlkZW8ucGxheSgpKQorRVZFTlQocGxheWluZykKK0VY
UEVDVEVEIChpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSA9PSAnUGxheUFuZFJlY29y
ZCcpIE9LCisKKyoqIENoZWNrIGFmdGVyIE1lZGlhU3RyZWFtIG11dGluZyBhdWRpbyB0cmFjay4K
K0VYUEVDVEVEIChpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSA9PSAnUGxheUFuZFJl
Y29yZCcpIE9LCisKKyoqIENoZWNrIDUwMG1zIGFmdGVyIE1lZGlhU3RyZWFtIHN0b3BwaW5nIGNh
cHR1cmUuCitFWFBFQ1RFRCAoaW50ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCkgPT0gJ1Bs
YXlBbmRSZWNvcmQnKSBPSworCisqKiBBbmQgY2hlY2sgYWdhaW4gYWZ0ZXIgMyBzZWNvbmRzLgor
RVhQRUNURUQgKGludGVybmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpID09ICdOb25lJykgT0sK
K0VORCBPRiBURVNUCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL2F1ZGlvLXNlc3Np
b24tY2F0ZWdvcnkuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL2F1ZGlvLXNlc3Npb24tY2F0ZWdv
cnkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yMDgzYzdmZTExOTNmMjZmY2FlYjRmZmM1M2I2YjAyZTE5NmY2
ZmFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvYXVkaW8tc2Vzc2lvbi1j
YXRlZ29yeS5odG1sCkBAIC0wLDAgKzEsMTQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+CisgICAgPHRpdGxlPmF1ZGlvLXNlc3Npb24tY2F0ZWdvcnk8L3RpdGxlPgorICAgIDxz
Y3JpcHQgc3JjPSd2aWRlby10ZXN0LmpzJz48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0nbWVk
aWEtZmlsZS5qcyc+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKworICAgICAgICBhc3luYyBmdW5j
dGlvbiB3YWl0Rm9yQ2F0ZWdvcnkoY2F0ZWdvcnksIGR1cmF0aW9uLCBtZXNzYWdlKQorICAgICAg
ICB7CisgICAgICAgICAgICBjb25zb2xlV3JpdGUobWVzc2FnZSk7CisKKyAgICAgICAgICAgIGNv
bnN0IG1heFRyaWVzID0gZHVyYXRpb24gKiAxMDAwIC8gMTA7CisgICAgICAgICAgICBsZXQgY291
bnRlciA9IDA7CisgICAgICAgICAgICB3aGlsZSAoKytjb3VudGVyIDwgbWF4VHJpZXMpIHsKKyAg
ICAgICAgICAgICAgICBpZiAoaW50ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCkgPT0gY2F0
ZWdvcnkpCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGF3YWl0
IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCAxMCkpOworICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2ludGVybmFscy5hdWRpb1Nlc3Np
b25DYXRlZ29yeSgpJywgY2F0ZWdvcnkpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBh
c3luYyBmdW5jdGlvbiB0ZXN0QXVkaW9FbGVtZW50KCkKKyAgICAgICAgeworICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCc8YnI+PGJyPioqICZsdDthdWRpbz4gZWxlbWVudCB0ZXN0ICoqJyk7Cisg
ICAgICAgICAgICBhd2FpdCB3YWl0Rm9yQ2F0ZWdvcnkoJ05vbmUnLCAxMCwgJzxicj4qKiBDaGVj
ayBjYXRlZ29yeSBiZWZvcmUgYW55dGhpbmcgaGFzIGxvYWRlZC4nKTsKKworICAgICAgICAgICAg
Y29uc29sZVdyaXRlKCc8YnI+KiogQ2hlY2sgY2F0ZWdvcnkgd2hlbiBhIG11dGVkLCBwYXVzZWQs
IGVsZW1lbnQgaGFzIGxvYWRlZC4nKTsKKyAgICAgICAgICAgIHZpZGVvLnNyYyA9IGZpbmRNZWRp
YUZpbGUoJ3ZpZGVvJywgJ2NvbnRlbnQvdGVzdCcpOworCisgICAgICAgICAgICBhd2FpdCB3YWl0
Rm9yKHZpZGVvLCAnY2FucGxheXRocm91Z2gnKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgn
aW50ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCknLCAnTm9uZScpOworCisgICAgICAgICAg
ICBjb25zb2xlV3JpdGUoJzxicj4qKiBDaGVjayBjYXRlZ29yeSB3aGVuIGEgbXV0ZWQgZWxlbWVu
dCBpcyBwbGF5aW5nLicpOworICAgICAgICAgICAgcnVuV2l0aEtleURvd24oKCkgPT4geyBydW4o
J3ZpZGVvLnBsYXkoKScpIH0pOworICAgICAgICAgICAgYXdhaXQgd2FpdEZvcih2aWRlbywgJ3Bs
YXlpbmcnKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgnaW50ZXJuYWxzLmF1ZGlvU2Vzc2lv
bkNhdGVnb3J5KCknLCAnTm9uZScpOworCisgICAgICAgICAgICBjb25zb2xlV3JpdGUoJzxicj4q
KiBDaGVjayBjYXRlZ29yeSB3aGVuIGFuIHVubXV0ZWQgZWxlbWVudCBpcyBwbGF5aW5nLicpOwor
ICAgICAgICAgICAgcnVuV2l0aEtleURvd24oKCkgPT4geyBydW4oJ3ZpZGVvLm11dGVkID0gZmFs
c2UnKSB9KTsKKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IodmlkZW8sICd2b2x1bWVjaGFuZ2Un
KTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgnaW50ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNhdGVn
b3J5KCknLCAnTWVkaWFQbGF5YmFjaycpOworCisgICAgICAgICAgICBjb25zb2xlV3JpdGUoJzxi
cj4qKiBNdXRlIHRoZSBlbGVtZW50LCBjaGVjayBhZ2FpbiBhZnRlciA1MDBtcy4nKTsKKyAgICAg
ICAgICAgIHJ1bigndmlkZW8ucGF1c2UoKScpOworICAgICAgICAgICAgcnVuV2l0aEtleURvd24o
KCkgPT4geyBydW4oJ3ZpZGVvLm11dGVkID0gdHJ1ZScpIH0pOworICAgICAgICAgICAgYXdhaXQg
c2xlZXBGb3IoNTAwKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgnaW50ZXJuYWxzLmF1ZGlv
U2Vzc2lvbkNhdGVnb3J5KCknLCAnTWVkaWFQbGF5YmFjaycpOworCisgICAgICAgICAgICBhd2Fp
dCB3YWl0Rm9yQ2F0ZWdvcnkoJ05vbmUnLCAzLCAnPGJyPioqIEFuZCBjaGVjayBhZ2FpbiBhZnRl
ciAzIHNlY29uZHMuJyk7CisgICAgICAgICAgICB2aWRlby5zcmMgPSAnJzsKKyAgICAgICAgICAg
IHZpZGVvLmxvYWQoKTsKKyAgICAgICAgfQorCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHRlc3RX
ZWJBdWRpbygpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgnPGJyPjxicj4q
KiBBdWRpb0NvbnRleHQgdGVzdCAqKicpOworICAgICAgICAgICAgYXdhaXQgd2FpdEZvckNhdGVn
b3J5KCdOb25lJywgMTAsICc8YnI+KiogQ2hlY2sgY2F0ZWdvcnkgYmVmb3JlIGNyZWF0aW5nIEF1
ZGlvQ29udGV4dC4nKTsKKworICAgICAgICAgICAgY29uc29sZVdyaXRlKCc8YnI+KiogQ2hlY2sg
Y2F0ZWdvcnkgYWZ0ZXIgb3NjaWxsYXRvciBncmFwaCBoYXMgYmVlbiBjb25uZWN0ZWQgYnV0IG5v
dCBzdGFydGVkLicpOworICAgICAgICAgICAgbGV0IGNvbnRleHQgPSBuZXcgQXVkaW9Db250ZXh0
KCk7CisgICAgICAgICAgICBsZXQgb3NjaWxsYXRvciA9IG51bGw7CisgICAgICAgICAgICBsZXQg
Z2Fpbk5vZGUgPSBjb250ZXh0LmNyZWF0ZUdhaW4oKTsKKworICAgICAgICAgICAgb3NjaWxsYXRv
ciA9IGNvbnRleHQuY3JlYXRlT3NjaWxsYXRvcigpOworICAgICAgICAgICAgb3NjaWxsYXRvci50
eXBlID0gJ3NxdWFyZSc7CisgICAgICAgICAgICBvc2NpbGxhdG9yLmZyZXF1ZW5jeS5zZXRWYWx1
ZUF0VGltZSg0NDAsIGNvbnRleHQuY3VycmVudFRpbWUpOworCisgICAgICAgICAgICBvc2NpbGxh
dG9yLmNvbm5lY3QoZ2Fpbk5vZGUpOworICAgICAgICAgICAgZ2Fpbk5vZGUuY29ubmVjdChjb250
ZXh0LmRlc3RpbmF0aW9uKTsKKyAgICAgICAgICAgIGdhaW5Ob2RlLmdhaW4udmFsdWUgPSAwLjEK
KyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgnaW50ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5
KCknLCAnTm9uZScpOworCisgICAgICAgICAgICBjb25zb2xlV3JpdGUoJzxicj4qKiBDaGVjayBj
YXRlZ29yeSBhZnRlciBzdGFydGluZyBvc2NpbGxhdG9yLicpOworICAgICAgICAgICAgb3NjaWxs
YXRvci5zdGFydCgwKTsKKyAgICAgICAgICAgIGF3YWl0IHNsZWVwRm9yKDUwMCk7CisgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoJ2ludGVybmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpJywgJ0Ft
YmllbnRTb3VuZCcpOworCisgICAgICAgICAgICBjb25zb2xlV3JpdGUoJzxicj4qKiBDbG9zZSB0
aGUgY29udGV4dCwgY2hlY2sgYWdhaW4gYWZ0ZXIgNTAwbXMuJyk7CisgICAgICAgICAgICBhd2Fp
dCBjb250ZXh0LmNsb3NlKCk7CisgICAgICAgICAgICBhd2FpdCBzbGVlcEZvcig1MDApOworICAg
ICAgICAgICAgdGVzdEV4cGVjdGVkKCdpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKScs
ICdBbWJpZW50U291bmQnKTsKKworICAgICAgICAgICAgYXdhaXQgd2FpdEZvckNhdGVnb3J5KCdO
b25lJywgMywgJzxicj4qKiBBbmQgY2hlY2sgYWdhaW4gYWZ0ZXIgMyBzZWNvbmRzLicpOworICAg
ICAgICB9CisgICAgICAgIAorICAgICAgICBhc3luYyBmdW5jdGlvbiB0ZXN0TWVkaWFTdHJlYW0o
KQorICAgICAgICB7CisgICAgICAgICAgICBjb25zb2xlV3JpdGUoJzxicj48YnI+KiogTWVkaWFT
dHJlYW0gdGVzdCAqKicpOworICAgICAgICAgICAgYXdhaXQgd2FpdEZvckNhdGVnb3J5KCdOb25l
JywgMTAsICc8YnI+KiogQ2hlY2sgY2F0ZWdvcnkgYmVmb3JlIGNhcHR1cmUgYmVnaW5zLicpOwor
CisgICAgICAgICAgICBjb25zb2xlV3JpdGUoJzxicj4qKiBDaGVjayBjYXRlZ29yeSB3aGVuIGNh
cHR1cmluZy4nKTsKKyAgICAgICAgICAgIGxldCBzdHJlYW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVk
aWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVkaW8gOiB0cnVlfSk7CisgICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoJ2ludGVybmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpJywgJ1BsYXlBbmRSZWNv
cmQnKTsKKworICAgICAgICAgICAgY29uc29sZVdyaXRlKCc8YnI+KiogQ2hlY2sgYWZ0ZXIgTWVk
aWFTdHJlYW0gaXMgYXR0YWNoZWQgdG8gYXVkaW8gZWxlbWVudC4nKTsKKyAgICAgICAgICAgIHZp
ZGVvLnNyY09iamVjdCA9IHN0cmVhbTsKKyAgICAgICAgICAgIHJ1bldpdGhLZXlEb3duKCgpID0+
IHsgcnVuKCd2aWRlby5wbGF5KCknKSB9KTsKKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3Iodmlk
ZW8sICdwbGF5aW5nJyk7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2ludGVybmFscy5hdWRp
b1Nlc3Npb25DYXRlZ29yeSgpJywgJ1BsYXlBbmRSZWNvcmQnKTsKKworICAgICAgICAgICAgY29u
c29sZVdyaXRlKCc8YnI+KiogQ2hlY2sgYWZ0ZXIgTWVkaWFTdHJlYW0gbXV0aW5nIGF1ZGlvIHRy
YWNrLicpOworICAgICAgICAgICAgY29uc3QgYXVkaW9UcmFjayA9IHN0cmVhbS5nZXRBdWRpb1Ry
YWNrcygpWzBdOworICAgICAgICAgICAgYXVkaW9UcmFjay5lbmFibGVkID0gZmFsc2U7CisgICAg
ICAgICAgICBhd2FpdCBzbGVlcEZvcig1MDApOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdp
bnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKScsICdQbGF5QW5kUmVjb3JkJyk7CisKKyAg
ICAgICAgICAgIGNvbnNvbGVXcml0ZSgnPGJyPioqIENoZWNrIDUwMG1zIGFmdGVyIE1lZGlhU3Ry
ZWFtIHN0b3BwaW5nIGNhcHR1cmUuJyk7CisgICAgICAgICAgICBhdWRpb1RyYWNrLnN0b3AoKTsK
KyAgICAgICAgICAgIGF3YWl0IHNsZWVwRm9yKDUwMCk7CisgICAgICAgICAgICB0ZXN0RXhwZWN0
ZWQoJ2ludGVybmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpJywgJ1BsYXlBbmRSZWNvcmQnKTsK
KworICAgICAgICAgICAgYXdhaXQgd2FpdEZvckNhdGVnb3J5KCdOb25lJywgMywgJzxicj4qKiBB
bmQgY2hlY2sgYWdhaW4gYWZ0ZXIgMyBzZWNvbmRzLicpOworICAgICAgICAgICAgdmlkZW8uc3Jj
ID0gJyc7CisgICAgICAgICAgICB2aWRlby5sb2FkKCk7CisgICAgICAgIH0KKworCisgICAgICAg
IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgYXN5bmMgZXZlbnQgPT4geworICAgICAg
ICAgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAgICAgICAgZmFpbFRlc3Qo
YDxicj5UaGlzIHRlc3QgcmVxdWlyZXMgaW50ZXJuYWxzIWApOworICAgICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFNob3VsZE1hbmFnZUF1ZGlvU2Vzc2lvbkNhdGVnb3J5KHRydWUpOworCisgICAgICAgICAgICB2
aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdhdWRpbycpWzBdOworCisgICAg
ICAgICAgICBmYWlsVGVzdEluKDIwMDAwKTsKKyAgICAgICAgICAgIGF3YWl0IHRlc3RBdWRpb0Vs
ZW1lbnQoKTsKKyAgICAgICAgICAgIGF3YWl0IHRlc3RXZWJBdWRpbygpOworICAgICAgICAgICAg
YXdhaXQgdGVzdE1lZGlhU3RyZWFtKCk7CisKKyAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAg
ICAgfSk7CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8YXVkaW8gbXV0ZWQg
Y29udHJvbHM+PC9hdWRpbz4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDYx
YTdkZTJjMTVkZDczYzFkY2VlYzAxNjkzNzA3NTQ2MmEwYmVkN2MuLmE4OGVhYWMzMWRmM2EzNDIx
ODY4Zjk2YWQyZjgxYThlMjA0ZDQ5ZjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zCkBAIC05NzUsNiArOTc1LDkgQEAgd2Via2l0Lm9yZy9iLzIzMjkxMCBmYXN0
L3RleHQvYXBwbHktc3RhcnQtd2lkdGgtYWZ0ZXItc2tpcHBlZC10ZXh0Lmh0bWwgWyBGYWlsdXIK
IHdlYmtpdC5vcmcvYi8yMzI5MTAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXRleHQvbGluZS1icmVha2luZy9saW5lLWJyZWFraW5nLWljLTAwMy5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjMyOTEwIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy10ZXh0L3doaXRlLXNwYWNlL3doaXRlLXNwYWNlLWludHJpbnNpYy1z
aXplLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKKyMgVGVzdHMgYmVoYXZpb3Igc3Bl
Y2lmaWMgdG8gTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hCittZWRpYS9hdWRpby1zZXNzaW9uLWNh
dGVnb3J5Lmh0bWwgWyBTa2lwIF0KKwogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K
ICMgRW5kIG9mIEV4cGVjdGVkIGZhaWx1cmVzLgogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449821</attachid>
            <date>2022-01-24 08:41:23 -0800</date>
            <delta_ts>2022-04-27 07:35:23 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-229688-20220124084122.patch</filename>
            <type>text/plain</type>
            <size>19553</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3OTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTI1ZDIwZDMxMjc2ZGEz
NGY3ZWJhZTQxYzg0ZmE0NjI1MmFhNjQ2NC4uZWEyZDE0MTBkZWE2ZmIwMzAwMDQ5NTgzYzJjZmNh
ZWZhNjg5NjE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIyLTAxLTIxICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04g
KGlPUyAxNSk6IEhUTUxBdWRpb0VsZW1lbnQgZmFpbHMgdG8gbG9hZCBuZXcgYXVkaW8gd2hlbiBk
ZXZpY2UgaXMgbG9ja2VkIG9yIHNhZmFyaSBpcyBpbiBiYWNrZ3JvdW5kCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk2ODgKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzgyNTU0MjI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IEplciBOb2JsZS4KKyAg
ICAgICAgCisgICAgICAgIEFuIGlPUyBhcHBsaWNhdGlvbiBsb3NlcyBpdHMgTm93UGxheWluZyBz
dGF0dXMgYXMgc29vbiBhcyB0aGUgQXVkaW9TZXNzaW9uIGNhdGVnb3J5CisgICAgICAgIGlzIHNl
dCB0byBBbWJpZW50LCBhbmQgaXQgY2FuIG9ubHkgZ2V0IGl0IGJhY2sgYWdhaW4gYnkgY2hhbmdp
bmcgdGhlIGNhdGVnb3J5CisgICAgICAgIHRvIFBsYXliYWNrICphbmQqIHN0YXJ0aW5nIHBsYXli
YWNrLiBXaGVuIGFuIGFwcGxpY2F0aW9uIGlzIGluIHRoZSBiYWNrZ3JvdW5kLCBob3dldmVyLAor
ICAgICAgICBpdCBjYW4ndCBzdGFydCBwbGF5YmFjayB1bmxlc3MgaXQgKmFscmVhZHkqIGhhcyBO
b3dQbGF5aW5nIHN0YXR1cy4gU28sIGlwc28gZmFjdG8sCisgICAgICAgIGJhY2tncm91bmQgcGxh
eWJhY2sgd2lsbCBhbHdheXMgZmFpbCBvbmNlIHRoZSBjYXRlZ29yeSBpcyBzZXQgdG8gQW1iaWVu
dC4KKworICAgICAgICBJZiBhbiBBdWRpb1Nlc3Npb24ncyBjYXRlZ29yeSBpcyBzZXQgdG8gUGxh
eWJhY2sgd2hlbiBpdCBpcyBhY3RpdmF0ZWQsIGl0IHdpbGwgCisgICAgICAgIGludGVycnVwdCBh
bm90aGVyIGFwcGxpY2F0aW9uIHBsYXlpbmcgYXVkaW8sIGFjdGl2YXRlIEJsdWV0b290aCByb3V0
ZXMsIGV0Yy4KKyAgICAgICAgVGhpcyBtZWFucyBXZWJLaXQgaGFzIHRvIHJlbGlucXVpc2ggUGxh
eWJhY2sgd2hlbiBhIHBhZ2UgaXMgdW5hYmxlIHRvIHByb2R1Y2UgYXVkaW8KKyAgICAgICAgYmVj
YXVzZSBBVkZvdW5kYXRpb24gYXV0b21hdGljYWxseSBhY3RpdmF0ZXMgdGhlIGF1ZGlvIHNlc3Np
b24gd2hlbiBwbGF5YmFjayBzdGFydHMKKyAgICAgICAgLSBldmVuIGlmIHRoZSBBVlBsYXllciBp
cyBtdXRlZCBvciBoYXMgbm8gYXVkaW8uCisKKyAgICAgICAgVG8gYWxsb3cgcGFnZXMgdGhhdCB3
ZXJlIHBsYXlpbmcgYXVkaW8gd2hlbiBXZWJLaXQgd2VudCBpbnRvIHRoZSBiYWNrZ3JvdW5kIHRv
IAorICAgICAgICBjb250aW51ZSB0byBwbGF5IGFmdGVyIHN3aXRjaGluZyB1cmxzIG9yIGFjdGl2
YXRpbmcgYW5vdGhlciBtZWRpYSBlbGVtZW50LCBhZGQgYQorICAgICAgICBncmFjZSBwZXJpb2Qg
d2hlbiBzd2l0Y2ggZnJvbSBQbGF5YmFjayB0byBBbWJpZW50LgorCisgICAgICAgIFRlc3Q6IG1l
ZGlhL2F1ZGlvLXNlc3Npb24tY2F0ZWdvcnkuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vYXVk
aW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFTZXNzaW9uTWFuYWdlckNvY29hOjp1cGRhdGVTZXNzaW9uU3RhdGUpOiAKKwogMjAyMi0w
MS0xMyAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1v
dmUgdXNlIG9mIFBzZXVkb0VsZW1lbnQgaW4gQ29tcHV0ZWRTdHlsZUV4dHJhY3RvcgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCA3MjgyYmUxNDJmZGY3MThkMWE0YzFmZGQ4OGE2ZDY0ZDJlZDZiM2VjLi5iMGUxZTJmYjkw
NmNlMzU4NmI4MWIxZWFiNDZjZjQ0MTEzMGExNzI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDIyLTAxLTIxICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisg
ICAgICAgIFJFR1JFU1NJT04gKGlPUyAxNSk6IEhUTUxBdWRpb0VsZW1lbnQgZmFpbHMgdG8gbG9h
ZCBuZXcgYXVkaW8gd2hlbiBkZXZpY2UgaXMgbG9ja2VkIG9yIHNhZmFyaSBpcyBpbiBiYWNrZ3Jv
dW5kCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk2
ODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgyNTU0MjI2PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IEplciBOb2JsZS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1
ZGlvU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUF1ZGlvU2Vzc2lvbjo6Y2F0
ZWdvcnkgY29uc3QpOiBSZXR1cm4gdGhlIG1vc3QgcmVjZW50bHkgc2V0IGNhdGVnb3J5CisgICAg
ICAgIG9uIGFsbCBwbGF0Zm9ybXMgc28gaXQgaXMgcG9zc2libGUgdG8gdGVzdC4KKwogMjAyMi0w
MS0xMyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBG
aXggYSBmZXcgT2JqZWN0aXZlLUMgb2JqZWN0IGxlYWtzIGR1ZSB0byBlYXJseSByZXR1cm5zIGlu
IGBpbml0YApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2Ev
TWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaAppbmRleCAwZjM0MjhhY2Q1MDYyNDE3
MDEyZGYwNGM3M2U2NjgxOGE0Zjk3ODM4Li5jMWE4NDBmZGE1ZDU4ODlkZDY1YTBlNGY2NGMzZThh
NTMyZGEyMTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2Nv
YS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaApAQCAtMjgsOSArMjgsMTEg
QEAKICNpZiBQTEFURk9STShDT0NPQSkKIAogI2luY2x1ZGUgIkF1ZGlvSGFyZHdhcmVMaXN0ZW5l
ci5oIgorI2luY2x1ZGUgIkF1ZGlvU2Vzc2lvbi5oIgogI2luY2x1ZGUgIk5vd1BsYXlpbmdNYW5h
Z2VyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgiCiAjaW5jbHVk
ZSAiUmVtb3RlQ29tbWFuZExpc3RlbmVyLmgiCisjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xMDYsNiArMTA4LDggQEAgcHJpdmF0ZToKICAgICB2
b2lkIGF1ZGlvSGFyZHdhcmVEaWRCZWNvbWVJbmFjdGl2ZSgpIGZpbmFsIHsgfQogICAgIHZvaWQg
YXVkaW9PdXRwdXREZXZpY2VDaGFuZ2VkKCkgZmluYWw7CiAKKyAgICB2b2lkIHBvc3NpYmx5Q2hh
bmdlQXVkaW9DYXRlZ29yeSgpOworCiAgICAgYm9vbCBtX25vd1BsYXlpbmdBY3RpdmUgeyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9yZWdpc3RlcmVkQXNOb3dQbGF5aW5nQXBwbGljYXRpb24geyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9oYXZlRXZlclJlZ2lzdGVyZWRBc05vd1BsYXlpbmdBcHBsaWNhdGlv
biB7IGZhbHNlIH07CkBAIC0xMjEsNiArMTI1LDEwIEBAIHByaXZhdGU6CiAKICAgICBBdWRpb0hh
cmR3YXJlTGlzdGVuZXI6OkJ1ZmZlclNpemVSYW5nZSBtX3N1cHBvcnRlZEF1ZGlvSGFyZHdhcmVC
dWZmZXJTaXplczsKICAgICBzaXplX3QgbV9kZWZhdWx0QnVmZmVyU2l6ZTsKKworICAgIFJ1bkxv
b3A6OlRpbWVyPE1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYT4gbV9kZWxheUNhdGVnb3J5Q2hhbmdl
VGltZXI7CisgICAgQXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUgbV9wcmV2aW91c0NhdGVnb3J5
IHsgQXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGU6Ok5vbmUgfTsKKyAgICBib29sIG1fcHJldmlv
dXNIYWRBdWRpYmxlQXVkaW9PclZpZGVvTWVkaWFUeXBlIHsgZmFsc2UgfTsKIH07CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lv
bk1hbmFnZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01l
ZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5tbQppbmRleCA3ZjA0OTYwYzU5NjViNjI1MWI5MWI5YTU2
N2U1MTA4OWI1NzE5ZjA3Li5mNDU3MjRmYTRmNGNmYmFiYjdmMWNjNTc3NGRjMGY3ZjQyZDg2Mzdl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNl
c3Npb25NYW5hZ2VyQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8v
Y29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLm1tCkBAIC0yOCw3ICsyOCw2IEBACiAKICNp
ZiBVU0UoQVVESU9fU0VTU0lPTikgJiYgUExBVEZPUk0oQ09DT0EpCiAKLSNpbXBvcnQgIkF1ZGlv
U2Vzc2lvbi5oIgogI2ltcG9ydCAiQXVkaW9VdGlsaXRpZXMuaCIKICNpbXBvcnQgIkRlcHJlY2F0
ZWRHbG9iYWxTZXR0aW5ncy5oIgogI2ltcG9ydCAiSFRNTE1lZGlhRWxlbWVudC5oIgpAQCAtNjAs
NiArNTksNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyPiBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNyZWF0ZQogTWVkaWFTZXNzaW9uTWFuYWdlckNv
Y29hOjpNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EoKQogICAgIDogbV9ub3dQbGF5aW5nTWFuYWdl
cihwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bWVkaWFTdHJhdGVneSgpLmNyZWF0ZU5vd1BsYXlpbmdN
YW5hZ2VyKCkpCiAgICAgLCBtX2RlZmF1bHRCdWZmZXJTaXplKEF1ZGlvU2Vzc2lvbjo6c2hhcmVk
U2Vzc2lvbigpLnByZWZlcnJlZEJ1ZmZlclNpemUoKSkKKyAgICAsIG1fZGVsYXlDYXRlZ29yeUNo
YW5nZVRpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJk1lZGlhU2Vzc2lvbk1hbmFnZXJDb2Nv
YTo6cG9zc2libHlDaGFuZ2VBdWRpb0NhdGVnb3J5KQogewogICAgIGVuc3VyZUNvZGVjc1JlZ2lz
dGVyZWQoKTsKIH0KQEAgLTk0LDYgKzk0LDcgQEAgYm9vbCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29j
b2E6Om1lZGlhU291cmNlSW5saW5lUGFpbnRpbmdFbmFibGVkKCkKIAogdm9pZCBNZWRpYVNlc3Np
b25NYW5hZ2VyQ29jb2E6OnVwZGF0ZVNlc3Npb25TdGF0ZSgpCiB7CisgICAgc3RhdGljIGNvbnN0
IFNlY29uZHMgZGVsYXlCZWZvcmVTZXR0aW5nQ2F0ZWdvcnlOb25lID0geyAyX3MgfTsKICAgICBp
bnQgdmlkZW9Db3VudCA9IDA7CiAgICAgaW50IHZpZGVvQXVkaW9Db3VudCA9IDA7CiAgICAgaW50
IGF1ZGlvQ291bnQgPSAwOwpAQCAtMTY0LDEwICsxNjUsMjggQEAgdm9pZCBNZWRpYVNlc3Npb25N
YW5hZ2VyQ29jb2E6OnVwZGF0ZVNlc3Npb25TdGF0ZSgpCiAgICAgfSBlbHNlIGlmICh3ZWJBdWRp
b0NvdW50KQogICAgICAgICBjYXRlZ29yeSA9IEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlOjpB
bWJpZW50U291bmQ7CiAKKyAgICBpZiAoY2F0ZWdvcnkgPT0gQXVkaW9TZXNzaW9uOjpDYXRlZ29y
eVR5cGU6Ok5vbmUgJiYgbV9wcmV2aW91c0NhdGVnb3J5ICE9IEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdv
cnlUeXBlOjpOb25lKSB7CisgICAgICAgIGlmICghbV9kZWxheUNhdGVnb3J5Q2hhbmdlVGltZXIu
aXNBY3RpdmUoKSkgeworICAgICAgICAgICAgbV9kZWxheUNhdGVnb3J5Q2hhbmdlVGltZXIuc3Rh
cnRPbmVTaG90KGRlbGF5QmVmb3JlU2V0dGluZ0NhdGVnb3J5Tm9uZSk7CisgICAgICAgICAgICBB
TFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJzZXR0aW5nIHRpbWVyIik7CisgICAgICAgIH0KKyAg
ICAgICAgY2F0ZWdvcnkgPSBtX3ByZXZpb3VzQ2F0ZWdvcnk7CisgICAgfSBlbHNlCisgICAgICAg
IG1fZGVsYXlDYXRlZ29yeUNoYW5nZVRpbWVyLnN0b3AoKTsKKworICAgIG1fcHJldmlvdXNDYXRl
Z29yeSA9IGNhdGVnb3J5OworCiAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCAic2V0dGlu
ZyBjYXRlZ29yeSA9ICIsIGNhdGVnb3J5LCAiLCBwb2xpY3kgPSAiLCBwb2xpY3kpOwogICAgIEF1
ZGlvU2Vzc2lvbjo6c2hhcmVkU2Vzc2lvbigpLnNldENhdGVnb3J5KGNhdGVnb3J5LCBwb2xpY3kp
OwogfQogCit2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYTo6cG9zc2libHlDaGFuZ2VBdWRp
b0NhdGVnb3J5KCkKK3sKKyAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOworICAgIG1fcHJl
dmlvdXNDYXRlZ29yeSA9IEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlOjpOb25lOworICAgIHVw
ZGF0ZVNlc3Npb25TdGF0ZSgpOworfQorCiB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYTo6
YmVnaW5JbnRlcnJ1cHRpb24oUGxhdGZvcm1NZWRpYVNlc3Npb246OkludGVycnVwdGlvblR5cGUg
dHlwZSkKIHsKICAgICBpZiAodHlwZSA9PSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6SW50ZXJydXB0
aW9uVHlwZTo6U3lzdGVtSW50ZXJydXB0aW9uKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvbi5jcHAKaW5kZXggMDhl
ZmY5OGFhN2IzNGU2ODM0N2U2ZDQ3NjczMDFlMTI1Y2VjOWEzZC4uM2UwYzYzNjQ2MzVhZDYzZDdh
Y2RhM2I2NDBmM2NlZTlkMzExMWUwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9HUFUvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9uLmNwcApAQCAtMTQxLDExICsx
NDEsNyBAQCB2b2lkIFJlbW90ZUF1ZGlvU2Vzc2lvbjo6c2V0SXNQbGF5aW5nVG9CbHVldG9vdGhP
dmVycmlkZShzdGQ6Om9wdGlvbmFsPGJvb2w+IHZhbAogCiBBdWRpb1Nlc3Npb246OkNhdGVnb3J5
VHlwZSBSZW1vdGVBdWRpb1Nlc3Npb246OmNhdGVnb3J5KCkgY29uc3QKIHsKLSNpZiBQTEFURk9S
TShDT0NPQSkKICAgICByZXR1cm4gbV9jYXRlZ29yeTsKLSNlbHNlCi0gICAgcmV0dXJuIEF1ZGlv
U2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlOjpOb25lOwotI2VuZGlmCiB9CiAKIHZvaWQgUmVtb3RlQXVk
aW9TZXNzaW9uOjpjb25maWd1cmF0aW9uQ2hhbmdlZChSZW1vdGVBdWRpb1Nlc3Npb25Db25maWd1
cmF0aW9uJiYgY29uZmlndXJhdGlvbikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNWU1NDdiMjE0ZGRiMTllNzhkMjYxZTky
Zjk2ZTU0ZjQwODJjMjVmLi5jZThkYzI1OGI3ODZmOGFjNmVmNTIyYjRhMTc5NDkyMDg3NzgxYzYy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjItMDEtMjEgIEVyaWMgQ2FybHNvbiAgPGVyaWMu
Y2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTiAoaU9TIDE1KTogSFRNTEF1
ZGlvRWxlbWVudCBmYWlscyB0byBsb2FkIG5ldyBhdWRpbyB3aGVuIGRldmljZSBpcyBsb2NrZWQg
b3Igc2FmYXJpIGlzIGluIGJhY2tncm91bmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyOTY4OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODI1NTQy
MjY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmVyIE5vYmxlLgorCisgICAgICAgICogZmFzdC9t
ZWRpYXNlc3Npb24vbWV0YWRhdGEvYXVkaW8tdHJhY2stZW5hYmxlZC5odG1sOiBXYWl0IGxvbmdl
ciBmb3IgdGhlIGF1ZGlvIHNlc3Npb24KKyAgICAgICAgY2F0ZWdvcnkgdG8gYmUgcmVzZXQuCisg
ICAgICAgICogbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29yeS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIG1lZGlhL2F1ZGlvLXNlc3Npb24tY2F0ZWdvcnkuaHRtbDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgbmV3IHRlc3QuCisg
ICAgICAgICogcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zOiBTa2lwIG5ldyB0ZXN0
LCBNZWRpYVN0cmVhbSBpc24ndCBzdXBwb3J0ZWQKKyAgICAgICAgb24gV0sxLgorCiAyMDIyLTAx
LTEzICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZmVy
ZW5jZWQgU1ZHIGZpbHRlciB1c2VzIGFsd2F5cyBzUkdCIGNvbG9yIHNwYWNlIGZvciBpdHMgcmVz
dWx0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL2F1ZGlvLXRyYWNr
LWVuYWJsZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vYXVkaW8tdHJhY2st
ZW5hYmxlZC5odG1sCmluZGV4IDQxZjgzMDA4OWQwOWQwMGU2ZjRkMTZlMzk5ZDJjN2ZkMDQyMDc2
YjUuLjE0MWU2ZDM1NzM1NWE1ZDIxNjY1MGJkYjc4MzY4NGQ2ZDBhNmY0YjMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vYXVkaW8tdHJhY2stZW5hYmxlZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vYXVkaW8tdHJhY2stZW5hYmxlZC5odG1s
CkBAIC0zMiwxMCArMzIsMTAgQEAgcHJvbWlzZV90ZXN0KGFzeW5jKCkgPT4gewogICAgIGFzc2Vy
dF9lcXVhbHMoaW50ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCksICJQbGF5QW5kUmVjb3Jk
Iik7CiAKICAgICBhdWRpb1RyYWNrLnN0b3AoKTsKLSAgICBjb25zdCBtYXhUcmllcyA9IDEwMDsK
KyAgICBjb25zdCBtYXhUcmllcyA9IDMwMDsKICAgICBsZXQgY291bnRlciA9IDA7CiAgICAgd2hp
bGUgKCsrY291bnRlciA8IG1heFRyaWVzKSB7Ci0gICAgICAgIGlmIChpbnRlcm5hbHMuYXVkaW9T
ZXNzaW9uQ2F0ZWdvcnkoKSAhPSAiUGxheUFuZFJlY29yZCIpCisgICAgICAgIGlmIChpbnRlcm5h
bHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSA9PSBkZWZhdWx0Q2F0ZWdvcnkpCiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0
KHJlc29sdmUsIDEwKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvYXVk
aW8tc2Vzc2lvbi1jYXRlZ29yeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9hdWRp
by1zZXNzaW9uLWNhdGVnb3J5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OTM5ZTBjMjEwMmM2
ZGI4MzdkZjc1YjBiNDZmOWY5Yzc3Yzc3OTY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29yeS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3
MiBAQAorCisKKworKiogPGF1ZGlvPiBlbGVtZW50IHRlc3QgKioKKworKiogQ2hlY2sgY2F0ZWdv
cnkgYmVmb3JlIGFueXRoaW5nIGhhcyBsb2FkZWQuCitFWFBFQ1RFRCAoaW50ZXJuYWxzLmF1ZGlv
U2Vzc2lvbkNhdGVnb3J5KCkgPT0gJ05vbmUnKSBPSworCisqKiBDaGVjayBjYXRlZ29yeSB3aGVu
IGEgbXV0ZWQsIHBhdXNlZCwgZWxlbWVudCBoYXMgbG9hZGVkLgorRVZFTlQoY2FucGxheXRocm91
Z2gpCitFWFBFQ1RFRCAoaW50ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCkgPT0gJ05vbmUn
KSBPSworCisqKiBDaGVjayBjYXRlZ29yeSB3aGVuIGEgbXV0ZWQgZWxlbWVudCBpcyBwbGF5aW5n
LgorUlVOKHZpZGVvLnBsYXkoKSkKK0VWRU5UKHBsYXlpbmcpCitFWFBFQ1RFRCAoaW50ZXJuYWxz
LmF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCkgPT0gJ05vbmUnKSBPSworCisqKiBDaGVjayBjYXRlZ29y
eSB3aGVuIGFuIHVubXV0ZWQgZWxlbWVudCBpcyBwbGF5aW5nLgorUlVOKHZpZGVvLm11dGVkID0g
ZmFsc2UpCitFVkVOVCh2b2x1bWVjaGFuZ2UpCitFWFBFQ1RFRCAoaW50ZXJuYWxzLmF1ZGlvU2Vz
c2lvbkNhdGVnb3J5KCkgPT0gJ01lZGlhUGxheWJhY2snKSBPSworCisqKiBNdXRlIHRoZSBlbGVt
ZW50LCBjaGVjayBhZ2FpbiBhZnRlciA1MDBtcy4KK1JVTih2aWRlby5wYXVzZSgpKQorUlVOKHZp
ZGVvLm11dGVkID0gdHJ1ZSkKK0VYUEVDVEVEIChpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdv
cnkoKSA9PSAnTWVkaWFQbGF5YmFjaycpIE9LCisKKyoqIEFuZCBjaGVjayBhZ2FpbiBhZnRlciAz
IHNlY29uZHMuCitFWFBFQ1RFRCAoaW50ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCkgPT0g
J05vbmUnKSBPSworCisKKyoqIEF1ZGlvQ29udGV4dCB0ZXN0ICoqCisKKyoqIENoZWNrIGNhdGVn
b3J5IGJlZm9yZSBjcmVhdGluZyBBdWRpb0NvbnRleHQuCitFWFBFQ1RFRCAoaW50ZXJuYWxzLmF1
ZGlvU2Vzc2lvbkNhdGVnb3J5KCkgPT0gJ05vbmUnKSBPSworCisqKiBDaGVjayBjYXRlZ29yeSBh
ZnRlciBvc2NpbGxhdG9yIGdyYXBoIGhhcyBiZWVuIGNvbm5lY3RlZCBidXQgbm90IHN0YXJ0ZWQu
CitFWFBFQ1RFRCAoaW50ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCkgPT0gJ05vbmUnKSBP
SworCisqKiBDaGVjayBjYXRlZ29yeSBhZnRlciBzdGFydGluZyBvc2NpbGxhdG9yLgorRVhQRUNU
RUQgKGludGVybmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpID09ICdBbWJpZW50U291bmQnKSBP
SworCisqKiBDbG9zZSB0aGUgY29udGV4dCwgY2hlY2sgYWdhaW4gYWZ0ZXIgNTAwbXMuCitFWFBF
Q1RFRCAoaW50ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCkgPT0gJ0FtYmllbnRTb3VuZCcp
IE9LCisKKyoqIEFuZCBjaGVjayBhZ2FpbiBhZnRlciAzIHNlY29uZHMuCitFWFBFQ1RFRCAoaW50
ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCkgPT0gJ05vbmUnKSBPSworCisKKyoqIE1lZGlh
U3RyZWFtIHRlc3QgKioKKworKiogQ2hlY2sgY2F0ZWdvcnkgYmVmb3JlIGNhcHR1cmUgYmVnaW5z
LgorRVhQRUNURUQgKGludGVybmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpID09ICdOb25lJykg
T0sKKworKiogQ2hlY2sgY2F0ZWdvcnkgd2hlbiBjYXB0dXJpbmcuCitFWFBFQ1RFRCAoaW50ZXJu
YWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCkgPT0gJ1BsYXlBbmRSZWNvcmQnKSBPSworCisqKiBD
aGVjayBhZnRlciBNZWRpYVN0cmVhbSBpcyBhdHRhY2hlZCB0byBhdWRpbyBlbGVtZW50LgorUlVO
KHZpZGVvLnBsYXkoKSkKK0VWRU5UKHBsYXlpbmcpCitFWFBFQ1RFRCAoaW50ZXJuYWxzLmF1ZGlv
U2Vzc2lvbkNhdGVnb3J5KCkgPT0gJ1BsYXlBbmRSZWNvcmQnKSBPSworCisqKiBDaGVjayBhZnRl
ciBNZWRpYVN0cmVhbSBtdXRpbmcgYXVkaW8gdHJhY2suCitFWFBFQ1RFRCAoaW50ZXJuYWxzLmF1
ZGlvU2Vzc2lvbkNhdGVnb3J5KCkgPT0gJ1BsYXlBbmRSZWNvcmQnKSBPSworCisqKiBDaGVjayA1
MDBtcyBhZnRlciBNZWRpYVN0cmVhbSBzdG9wcGluZyBjYXB0dXJlLgorRVhQRUNURUQgKGludGVy
bmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpID09ICdQbGF5QW5kUmVjb3JkJykgT0sKKworKiog
QW5kIGNoZWNrIGFnYWluIGFmdGVyIDMgc2Vjb25kcy4KK0VYUEVDVEVEIChpbnRlcm5hbHMuYXVk
aW9TZXNzaW9uQ2F0ZWdvcnkoKSA9PSAnTm9uZScpIE9LCitFTkQgT0YgVEVTVAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1zZXNzaW9uLWNhdGVnb3J5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9tZWRpYS9hdWRpby1zZXNzaW9uLWNhdGVnb3J5Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjA4
M2M3ZmUxMTkzZjI2ZmNhZWI0ZmZjNTNiNmIwMmUxOTZmNmZhZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL21lZGlhL2F1ZGlvLXNlc3Npb24tY2F0ZWdvcnkuaHRtbApAQCAtMCwwICsx
LDE0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5hdWRp
by1zZXNzaW9uLWNhdGVnb3J5PC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0ndmlkZW8tdGVzdC5q
cyc+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9J21lZGlhLWZpbGUuanMnPjwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQ+CisKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gd2FpdEZvckNhdGVnb3J5KGNh
dGVnb3J5LCBkdXJhdGlvbiwgbWVzc2FnZSkKKyAgICAgICAgeworICAgICAgICAgICAgY29uc29s
ZVdyaXRlKG1lc3NhZ2UpOworCisgICAgICAgICAgICBjb25zdCBtYXhUcmllcyA9IGR1cmF0aW9u
ICogMTAwMCAvIDEwOworICAgICAgICAgICAgbGV0IGNvdW50ZXIgPSAwOworICAgICAgICAgICAg
d2hpbGUgKCsrY291bnRlciA8IG1heFRyaWVzKSB7CisgICAgICAgICAgICAgICAgaWYgKGludGVy
bmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpID09IGNhdGVnb3J5KQorICAgICAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+
IHNldFRpbWVvdXQocmVzb2x2ZSwgMTApKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
dGVzdEV4cGVjdGVkKCdpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKScsIGNhdGVnb3J5
KTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgYXN5bmMgZnVuY3Rpb24gdGVzdEF1ZGlv
RWxlbWVudCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgnPGJyPjxicj4q
KiAmbHQ7YXVkaW8+IGVsZW1lbnQgdGVzdCAqKicpOworICAgICAgICAgICAgYXdhaXQgd2FpdEZv
ckNhdGVnb3J5KCdOb25lJywgMTAsICc8YnI+KiogQ2hlY2sgY2F0ZWdvcnkgYmVmb3JlIGFueXRo
aW5nIGhhcyBsb2FkZWQuJyk7CisKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgnPGJyPioqIENo
ZWNrIGNhdGVnb3J5IHdoZW4gYSBtdXRlZCwgcGF1c2VkLCBlbGVtZW50IGhhcyBsb2FkZWQuJyk7
CisgICAgICAgICAgICB2aWRlby5zcmMgPSBmaW5kTWVkaWFGaWxlKCd2aWRlbycsICdjb250ZW50
L3Rlc3QnKTsKKworICAgICAgICAgICAgYXdhaXQgd2FpdEZvcih2aWRlbywgJ2NhbnBsYXl0aHJv
dWdoJyk7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2ludGVybmFscy5hdWRpb1Nlc3Npb25D
YXRlZ29yeSgpJywgJ05vbmUnKTsKKworICAgICAgICAgICAgY29uc29sZVdyaXRlKCc8YnI+Kiog
Q2hlY2sgY2F0ZWdvcnkgd2hlbiBhIG11dGVkIGVsZW1lbnQgaXMgcGxheWluZy4nKTsKKyAgICAg
ICAgICAgIHJ1bldpdGhLZXlEb3duKCgpID0+IHsgcnVuKCd2aWRlby5wbGF5KCknKSB9KTsKKyAg
ICAgICAgICAgIGF3YWl0IHdhaXRGb3IodmlkZW8sICdwbGF5aW5nJyk7CisgICAgICAgICAgICB0
ZXN0RXhwZWN0ZWQoJ2ludGVybmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpJywgJ05vbmUnKTsK
KworICAgICAgICAgICAgY29uc29sZVdyaXRlKCc8YnI+KiogQ2hlY2sgY2F0ZWdvcnkgd2hlbiBh
biB1bm11dGVkIGVsZW1lbnQgaXMgcGxheWluZy4nKTsKKyAgICAgICAgICAgIHJ1bldpdGhLZXlE
b3duKCgpID0+IHsgcnVuKCd2aWRlby5tdXRlZCA9IGZhbHNlJykgfSk7CisgICAgICAgICAgICBh
d2FpdCB3YWl0Rm9yKHZpZGVvLCAndm9sdW1lY2hhbmdlJyk7CisgICAgICAgICAgICB0ZXN0RXhw
ZWN0ZWQoJ2ludGVybmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpJywgJ01lZGlhUGxheWJhY2sn
KTsKKworICAgICAgICAgICAgY29uc29sZVdyaXRlKCc8YnI+KiogTXV0ZSB0aGUgZWxlbWVudCwg
Y2hlY2sgYWdhaW4gYWZ0ZXIgNTAwbXMuJyk7CisgICAgICAgICAgICBydW4oJ3ZpZGVvLnBhdXNl
KCknKTsKKyAgICAgICAgICAgIHJ1bldpdGhLZXlEb3duKCgpID0+IHsgcnVuKCd2aWRlby5tdXRl
ZCA9IHRydWUnKSB9KTsKKyAgICAgICAgICAgIGF3YWl0IHNsZWVwRm9yKDUwMCk7CisgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoJ2ludGVybmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpJywgJ01l
ZGlhUGxheWJhY2snKTsKKworICAgICAgICAgICAgYXdhaXQgd2FpdEZvckNhdGVnb3J5KCdOb25l
JywgMywgJzxicj4qKiBBbmQgY2hlY2sgYWdhaW4gYWZ0ZXIgMyBzZWNvbmRzLicpOworICAgICAg
ICAgICAgdmlkZW8uc3JjID0gJyc7CisgICAgICAgICAgICB2aWRlby5sb2FkKCk7CisgICAgICAg
IH0KKworICAgICAgICBhc3luYyBmdW5jdGlvbiB0ZXN0V2ViQXVkaW8oKQorICAgICAgICB7Cisg
ICAgICAgICAgICBjb25zb2xlV3JpdGUoJzxicj48YnI+KiogQXVkaW9Db250ZXh0IHRlc3QgKion
KTsKKyAgICAgICAgICAgIGF3YWl0IHdhaXRGb3JDYXRlZ29yeSgnTm9uZScsIDEwLCAnPGJyPioq
IENoZWNrIGNhdGVnb3J5IGJlZm9yZSBjcmVhdGluZyBBdWRpb0NvbnRleHQuJyk7CisKKyAgICAg
ICAgICAgIGNvbnNvbGVXcml0ZSgnPGJyPioqIENoZWNrIGNhdGVnb3J5IGFmdGVyIG9zY2lsbGF0
b3IgZ3JhcGggaGFzIGJlZW4gY29ubmVjdGVkIGJ1dCBub3Qgc3RhcnRlZC4nKTsKKyAgICAgICAg
ICAgIGxldCBjb250ZXh0ID0gbmV3IEF1ZGlvQ29udGV4dCgpOworICAgICAgICAgICAgbGV0IG9z
Y2lsbGF0b3IgPSBudWxsOworICAgICAgICAgICAgbGV0IGdhaW5Ob2RlID0gY29udGV4dC5jcmVh
dGVHYWluKCk7CisKKyAgICAgICAgICAgIG9zY2lsbGF0b3IgPSBjb250ZXh0LmNyZWF0ZU9zY2ls
bGF0b3IoKTsKKyAgICAgICAgICAgIG9zY2lsbGF0b3IudHlwZSA9ICdzcXVhcmUnOworICAgICAg
ICAgICAgb3NjaWxsYXRvci5mcmVxdWVuY3kuc2V0VmFsdWVBdFRpbWUoNDQwLCBjb250ZXh0LmN1
cnJlbnRUaW1lKTsKKworICAgICAgICAgICAgb3NjaWxsYXRvci5jb25uZWN0KGdhaW5Ob2RlKTsK
KyAgICAgICAgICAgIGdhaW5Ob2RlLmNvbm5lY3QoY29udGV4dC5kZXN0aW5hdGlvbik7CisgICAg
ICAgICAgICBnYWluTm9kZS5nYWluLnZhbHVlID0gMC4xCisgICAgICAgICAgICB0ZXN0RXhwZWN0
ZWQoJ2ludGVybmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpJywgJ05vbmUnKTsKKworICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCc8YnI+KiogQ2hlY2sgY2F0ZWdvcnkgYWZ0ZXIgc3RhcnRpbmcg
b3NjaWxsYXRvci4nKTsKKyAgICAgICAgICAgIG9zY2lsbGF0b3Iuc3RhcnQoMCk7CisgICAgICAg
ICAgICBhd2FpdCBzbGVlcEZvcig1MDApOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdpbnRl
cm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKScsICdBbWJpZW50U291bmQnKTsKKworICAgICAg
ICAgICAgY29uc29sZVdyaXRlKCc8YnI+KiogQ2xvc2UgdGhlIGNvbnRleHQsIGNoZWNrIGFnYWlu
IGFmdGVyIDUwMG1zLicpOworICAgICAgICAgICAgYXdhaXQgY29udGV4dC5jbG9zZSgpOworICAg
ICAgICAgICAgYXdhaXQgc2xlZXBGb3IoNTAwKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgn
aW50ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCknLCAnQW1iaWVudFNvdW5kJyk7CisKKyAg
ICAgICAgICAgIGF3YWl0IHdhaXRGb3JDYXRlZ29yeSgnTm9uZScsIDMsICc8YnI+KiogQW5kIGNo
ZWNrIGFnYWluIGFmdGVyIDMgc2Vjb25kcy4nKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAg
ICAgYXN5bmMgZnVuY3Rpb24gdGVzdE1lZGlhU3RyZWFtKCkKKyAgICAgICAgeworICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCc8YnI+PGJyPioqIE1lZGlhU3RyZWFtIHRlc3QgKionKTsKKyAgICAg
ICAgICAgIGF3YWl0IHdhaXRGb3JDYXRlZ29yeSgnTm9uZScsIDEwLCAnPGJyPioqIENoZWNrIGNh
dGVnb3J5IGJlZm9yZSBjYXB0dXJlIGJlZ2lucy4nKTsKKworICAgICAgICAgICAgY29uc29sZVdy
aXRlKCc8YnI+KiogQ2hlY2sgY2F0ZWdvcnkgd2hlbiBjYXB0dXJpbmcuJyk7CisgICAgICAgICAg
ICBsZXQgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEo
e2F1ZGlvIDogdHJ1ZX0pOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdpbnRlcm5hbHMuYXVk
aW9TZXNzaW9uQ2F0ZWdvcnkoKScsICdQbGF5QW5kUmVjb3JkJyk7CisKKyAgICAgICAgICAgIGNv
bnNvbGVXcml0ZSgnPGJyPioqIENoZWNrIGFmdGVyIE1lZGlhU3RyZWFtIGlzIGF0dGFjaGVkIHRv
IGF1ZGlvIGVsZW1lbnQuJyk7CisgICAgICAgICAgICB2aWRlby5zcmNPYmplY3QgPSBzdHJlYW07
CisgICAgICAgICAgICBydW5XaXRoS2V5RG93bigoKSA9PiB7IHJ1bigndmlkZW8ucGxheSgpJykg
fSk7CisgICAgICAgICAgICBhd2FpdCB3YWl0Rm9yKHZpZGVvLCAncGxheWluZycpOworICAgICAg
ICAgICAgdGVzdEV4cGVjdGVkKCdpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKScsICdQ
bGF5QW5kUmVjb3JkJyk7CisKKyAgICAgICAgICAgIGNvbnNvbGVXcml0ZSgnPGJyPioqIENoZWNr
IGFmdGVyIE1lZGlhU3RyZWFtIG11dGluZyBhdWRpbyB0cmFjay4nKTsKKyAgICAgICAgICAgIGNv
bnN0IGF1ZGlvVHJhY2sgPSBzdHJlYW0uZ2V0QXVkaW9UcmFja3MoKVswXTsKKyAgICAgICAgICAg
IGF1ZGlvVHJhY2suZW5hYmxlZCA9IGZhbHNlOworICAgICAgICAgICAgYXdhaXQgc2xlZXBGb3Io
NTAwKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgnaW50ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNh
dGVnb3J5KCknLCAnUGxheUFuZFJlY29yZCcpOworCisgICAgICAgICAgICBjb25zb2xlV3JpdGUo
Jzxicj4qKiBDaGVjayA1MDBtcyBhZnRlciBNZWRpYVN0cmVhbSBzdG9wcGluZyBjYXB0dXJlLicp
OworICAgICAgICAgICAgYXVkaW9UcmFjay5zdG9wKCk7CisgICAgICAgICAgICBhd2FpdCBzbGVl
cEZvcig1MDApOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdpbnRlcm5hbHMuYXVkaW9TZXNz
aW9uQ2F0ZWdvcnkoKScsICdQbGF5QW5kUmVjb3JkJyk7CisKKyAgICAgICAgICAgIGF3YWl0IHdh
aXRGb3JDYXRlZ29yeSgnTm9uZScsIDMsICc8YnI+KiogQW5kIGNoZWNrIGFnYWluIGFmdGVyIDMg
c2Vjb25kcy4nKTsKKyAgICAgICAgICAgIHZpZGVvLnNyYyA9ICcnOworICAgICAgICAgICAgdmlk
ZW8ubG9hZCgpOworICAgICAgICB9CisKKworICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cignbG9hZCcsIGFzeW5jIGV2ZW50ID0+IHsKKyAgICAgICAgICAgIGlmICghd2luZG93LmludGVy
bmFscykgeworICAgICAgICAgICAgICAgIGZhaWxUZXN0KGA8YnI+VGhpcyB0ZXN0IHJlcXVpcmVz
IGludGVybmFscyFgKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTaG91bGRNYW5hZ2VBdWRpb1Nlc3Np
b25DYXRlZ29yeSh0cnVlKTsKKworICAgICAgICAgICAgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgnYXVkaW8nKVswXTsKKworICAgICAgICAgICAgZmFpbFRlc3RJbigyMDAw
MCk7CisgICAgICAgICAgICBhd2FpdCB0ZXN0QXVkaW9FbGVtZW50KCk7CisgICAgICAgICAgICBh
d2FpdCB0ZXN0V2ViQXVkaW8oKTsKKyAgICAgICAgICAgIGF3YWl0IHRlc3RNZWRpYVN0cmVhbSgp
OworCisgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgIH0pOworICAgIDwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+CisgICAgPGF1ZGlvIG11dGVkIGNvbnRyb2xzPjwvYXVkaW8+Cis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2MWE3ZGUyYzE1ZGQ3M2MxZGNlZWMwMTY5
MzcwNzU0NjJhMGJlZDdjLi5hODhlYWFjMzFkZjNhMzQyMTg2OGY5NmFkMmY4MWE4ZTIwNGQ0OWY4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtOTc1LDYg
Kzk3NSw5IEBAIHdlYmtpdC5vcmcvYi8yMzI5MTAgZmFzdC90ZXh0L2FwcGx5LXN0YXJ0LXdpZHRo
LWFmdGVyLXNraXBwZWQtdGV4dC5odG1sIFsgRmFpbHVyCiB3ZWJraXQub3JnL2IvMjMyOTEwIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy10ZXh0L2xpbmUtYnJlYWtpbmcv
bGluZS1icmVha2luZy1pYy0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9y
Zy9iLzIzMjkxMCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdGV4dC93
aGl0ZS1zcGFjZS93aGl0ZS1zcGFjZS1pbnRyaW5zaWMtc2l6ZS0wMDEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogCisjIFRlc3RzIGJlaGF2aW9yIHNwZWNpZmljIHRvIE1lZGlhU2Vzc2lvbk1h
bmFnZXJDb2NvYQorbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29yeS5odG1sIFsgU2tpcCBdCisK
ICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAjIEVuZCBvZiBFeHBlY3RlZCBmYWls
dXJlcy4KICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYmJiNjVhNDA4ODU1YWQ5M2M2
YzQxZGY0ZGRkNDFjOGEwMmVlNGY0OS4uZTRlNGU4ZGJjYjA2YTc5MWRmYTNiNTM3MDkyYWIwNWE0
MjEzMjM5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtNjIsNiArNjIsNyBAQCBodHRwL3Rlc3RzL3NzbC9tZWRpYS1zdHJlYW0KIGluc3Bl
Y3Rvci9wYWdlL292ZXJyaWRlU2V0dGluZy1Nb2NrQ2FwdHVyZURldmljZXNFbmFibGVkLmh0bWwg
WyBTa2lwIF0KIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wYWdlLWNhY2hlLWdldFVzZXJNZWRpYS1w
ZW5kaW5nLXByb21pc2UuaHRtbCBbIFNraXAgXQogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3BhZ2Ut
Y2FjaGUtbWVkaWFzdHJlYW0uaHRtbCBbIFNraXAgXQorbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRl
Z29yeS5odG1sIFsgU2tpcCBdCiAKIGh0dHAvd3B0L21lZGlhcmVjb3JkZXIgWyBTa2lwIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLXJlY29yZCBbIFNraXAg
XQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449867</attachid>
            <date>2022-01-24 15:08:05 -0800</date>
            <delta_ts>2022-04-27 07:35:24 -0700</delta_ts>
            <desc>Address post-review feedback</desc>
            <filename>bug-229688-20220124150805.patch</filename>
            <type>text/plain</type>
            <size>1617</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4NDc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDQyOGUwMTdlYzYyOGUw
Y2Y2YmQzYmIzY2NjYzY2YmFjYWIyMmNiMS4uZmRhZTVlM2M2NzFjMDRlMjQzNGYyNzI3OTFmMTJj
YTUwYjUxNDI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIyLTAxLTI0ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04g
KGlPUyAxNSk6IEhUTUxBdWRpb0VsZW1lbnQgZmFpbHMgdG8gbG9hZCBuZXcgYXVkaW8gd2hlbiBk
ZXZpY2UgaXMgbG9ja2VkIG9yIHNhZmFyaSBpcyBpbiBiYWNrZ3JvdW5kCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk2ODgKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzgyNTU0MjI2PgorCisgICAgICAgIFVucmV2aWV3ZWQsIGFkcmVzcyBwb3N0LXJl
dmlldyBmZWVkYmFjay4KKworICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vz
c2lvbk1hbmFnZXJDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbk1hbmFn
ZXJDb2NvYTo6dXBkYXRlU2Vzc2lvblN0YXRlKToKKwogMjAyMi0wMS0yNCAgRXJpYyBDYXJsc29u
ICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChpT1MgMTUp
OiBIVE1MQXVkaW9FbGVtZW50IGZhaWxzIHRvIGxvYWQgbmV3IGF1ZGlvIHdoZW4gZGV2aWNlIGlz
IGxvY2tlZCBvciBzYWZhcmkgaXMgaW4gYmFja2dyb3VuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNv
Y29hLm1tCmluZGV4IGY0NTcyNGZhNGY0Y2ZiYWJiN2YxY2M1Nzc0ZGMwZjdmNDJkODYzN2UuLjg2
MTc4NzRmNjkzMTc4MGY2YmVlMDBhYjZkNTlmZGU1YWUxYTdiYmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25N
YW5hZ2VyQ29jb2EubW0KQEAgLTk0LDcgKzk0LDcgQEAgYm9vbCBNZWRpYVNlc3Npb25NYW5hZ2Vy
Q29jb2E6Om1lZGlhU291cmNlSW5saW5lUGFpbnRpbmdFbmFibGVkKCkKIAogdm9pZCBNZWRpYVNl
c3Npb25NYW5hZ2VyQ29jb2E6OnVwZGF0ZVNlc3Npb25TdGF0ZSgpCiB7Ci0gICAgc3RhdGljIGNv
bnN0IFNlY29uZHMgZGVsYXlCZWZvcmVTZXR0aW5nQ2F0ZWdvcnlOb25lID0geyAyX3MgfTsKKyAg
ICBjb25zdGV4cHIgYXV0byBkZWxheUJlZm9yZVNldHRpbmdDYXRlZ29yeU5vbmUgPSAyX3M7CiAg
ICAgaW50IHZpZGVvQ291bnQgPSAwOwogICAgIGludCB2aWRlb0F1ZGlvQ291bnQgPSAwOwogICAg
IGludCBhdWRpb0NvdW50ID0gMDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458443</attachid>
            <date>2022-04-27 07:35:29 -0700</date>
            <delta_ts>2022-04-27 08:53:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229688-20220427073528.patch</filename>
            <type>text/plain</type>
            <size>15455</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzMDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE3ZmRiMTEwODlkNjhh
MTJhNjJjMjQ2YTUxYzQ0NzA5Yzk0YjNjYS4uY2Y3NTE5ZTdjZDRhNmRkNjQ0Zjg5NDFjNGI5Mzkz
MzYwYjRmOGJlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDIyLTA0LTI2ICBFcmlj
IENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04g
KGlPUyAxNSk6IEhUTUxBdWRpb0VsZW1lbnQgZmFpbHMgdG8gbG9hZCBuZXcgYXVkaW8gd2hlbiBk
ZXZpY2UgaXMgbG9ja2VkIG9yIHNhZmFyaSBpcyBpbiBiYWNrZ3JvdW5kCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk2ODgKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzgyNTU0MjI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFVwZGF0ZWQgbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29yeS5odG1sLgor
CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29h
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlckNvY29hOjp1cGRhdGVT
ZXNzaW9uU3RhdGUpOiBDaG9vc2UgdGhlIGFwcHJvcHJpYXRlCisgICAgICAgIHJvdXRlIHNoYXJp
bmcgcG9saWN5IGFmdGVyIGNob29zaW5nIHRoZSBhdWRpbyBzZXNzaW9uIGNhdGVnb3J5IGJlY2F1
c2UgCisgICAgICAgIHNldHRpbmcgTWVkaWFQbGF5YmFjaytEZWZhdWx0IG1ha2VzIGEgcHJvY2Vz
cyBpbmVsaWdpYmxlIGZvciBOb3dQbGF5aW5nLCBhbmQgc3RhcnRpbmcKKyAgICAgICAgcGxheWJh
Y2sgaW4gdGhlIGJhY2tncm91bmQgd2lsbCBiZSBibG9ja2VkLgorCisgICAgICAgICogcGxhdGZv
cm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlv
L21hYy9BdWRpb1Nlc3Npb25NYWMubW06CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Nlc3Npb25N
YWM6OnNldENhdGVnb3J5KTogVXBkYXRlZCBmb3IgdGVzdGluZy4KKworICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6cm91dGVTaGFy
aW5nUG9saWN5IGNvbnN0KTogQWRkZWQgYWNjZXNzb3IgZm9yIHRlc3RpbmcuCisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisK
IDIwMjItMDQtMTYgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtHU3RyZWFtZXJdW1dlYlJUQ10gTWlub3IgY2xlYW51cCBpbiBJbmNvbWluZ1NvdXJj
ZUdTdHJlYW1lcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29j
b2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLm1tCmluZGV4IDFmMjIwOTBkMjQ3
MmMxNGZmMjMyZDU0MTZkOTFjY2UzYjllZGIzNjEuLmI5MDY0ZWMwZGIyNTgzZjhmZDdlMGViYjAy
NTk5OTRlODViYjQ0NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW0KQEAgLTE3OCwx
NCArMTc4LDEyIEBAIHZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hOjp1cGRhdGVTZXNzaW9u
U3RhdGUoKQogICAgIGlmICghRGVwcmVjYXRlZEdsb2JhbFNldHRpbmdzOjpzaG91bGRNYW5hZ2VB
dWRpb1Nlc3Npb25DYXRlZ29yeSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBSb3V0ZVNoYXJp
bmdQb2xpY3kgcG9saWN5ID0gUm91dGVTaGFyaW5nUG9saWN5OjpEZWZhdWx0OwogICAgIGF1dG8g
Y2F0ZWdvcnkgPSBBdWRpb1Nlc3Npb246OkNhdGVnb3J5VHlwZTo6Tm9uZTsKICAgICBpZiAoY2Fw
dHVyZUNvdW50IHx8IChpc1BsYXlpbmdBdWRpbyAmJiBBdWRpb1Nlc3Npb246OnNoYXJlZFNlc3Np
b24oKS5jYXRlZ29yeSgpID09IEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlOjpQbGF5QW5kUmVj
b3JkKSkKICAgICAgICAgY2F0ZWdvcnkgPSBBdWRpb1Nlc3Npb246OkNhdGVnb3J5VHlwZTo6UGxh
eUFuZFJlY29yZDsKLSAgICBlbHNlIGlmIChoYXNBdWRpYmxlQXVkaW9PclZpZGVvTWVkaWFUeXBl
KSB7CisgICAgZWxzZSBpZiAoaGFzQXVkaWJsZUF1ZGlvT3JWaWRlb01lZGlhVHlwZSkKICAgICAg
ICAgY2F0ZWdvcnkgPSBBdWRpb1Nlc3Npb246OkNhdGVnb3J5VHlwZTo6TWVkaWFQbGF5YmFjazsK
LSAgICAgICAgcG9saWN5ID0gUm91dGVTaGFyaW5nUG9saWN5OjpMb25nRm9ybUF1ZGlvOwotICAg
IH0gZWxzZSBpZiAod2ViQXVkaW9Db3VudCkKKyAgICBlbHNlIGlmICh3ZWJBdWRpb0NvdW50KQog
ICAgICAgICBjYXRlZ29yeSA9IEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlOjpBbWJpZW50U291
bmQ7CiAKICAgICBpZiAoY2F0ZWdvcnkgPT0gQXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGU6Ok5v
bmUgJiYgbV9wcmV2aW91c0NhdGVnb3J5ICE9IEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlOjpO
b25lKSB7CkBAIC0xOTcsOSArMTk1LDExIEBAIHZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlckNvY29h
Ojp1cGRhdGVTZXNzaW9uU3RhdGUoKQogICAgIH0gZWxzZQogICAgICAgICBtX2RlbGF5Q2F0ZWdv
cnlDaGFuZ2VUaW1lci5zdG9wKCk7CiAKLSAgICBtX3ByZXZpb3VzQ2F0ZWdvcnkgPSBjYXRlZ29y
eTsKKyAgICBSb3V0ZVNoYXJpbmdQb2xpY3kgcG9saWN5ID0gKGNhdGVnb3J5ID09IEF1ZGlvU2Vz
c2lvbjo6Q2F0ZWdvcnlUeXBlOjpNZWRpYVBsYXliYWNrKSA/IFJvdXRlU2hhcmluZ1BvbGljeTo6
TG9uZ0Zvcm1BdWRpbyA6IFJvdXRlU2hhcmluZ1BvbGljeTo6RGVmYXVsdDsKKworICAgIEFMV0FZ
U19MT0coTE9HSURFTlRJRklFUiwgInNldHRpbmcgY2F0ZWdvcnkgPSAiLCBjYXRlZ29yeSwgIiwg
cG9saWN5ID0gIiwgcG9saWN5LCAiLCBwcmV2aW91cyBjYXRlZ29yeSA9ICIsIG1fcHJldmlvdXND
YXRlZ29yeSk7CiAKLSAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsICJzZXR0aW5nIGNhdGVn
b3J5ID0gIiwgY2F0ZWdvcnksICIsIHBvbGljeSA9ICIsIHBvbGljeSk7CisgICAgbV9wcmV2aW91
c0NhdGVnb3J5ID0gY2F0ZWdvcnk7CiAgICAgQXVkaW9TZXNzaW9uOjpzaGFyZWRTZXNzaW9uKCku
c2V0Q2F0ZWdvcnkoY2F0ZWdvcnksIHBvbGljeSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nlc3Npb25NYWMuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nlc3Npb25NYWMuaAppbmRleCA0ZDVlZmViNDE4
MzA4OTI1MDE3ODliMGY5MDQwM2IwZmRiNDY4ZjY5Li5mMTZjZTk4OTVlYjdlZjU1NzMxNzZjNmFj
Y2E2NDc0ZjE1ZGMwYmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9tYWMvQXVkaW9TZXNzaW9uTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5oCkBAIC01MCw2ICs1MCw3IEBAIHByaXZhdGU6CiAKICAg
ICAvLyBBdWRpb1Nlc3Npb24KICAgICBDYXRlZ29yeVR5cGUgY2F0ZWdvcnkoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBtX2NhdGVnb3J5OyB9CisgICAgUm91dGVTaGFyaW5nUG9saWN5IHJvdXRlU2hh
cmluZ1BvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fcG9saWN5OyB9CiAgICAgdm9pZCBhdWRpb091
dHB1dERldmljZUNoYW5nZWQoKSBmaW5hbDsKICAgICB2b2lkIHNldElzUGxheWluZ1RvQmx1ZXRv
b3RoT3ZlcnJpZGUoc3RkOjpvcHRpb25hbDxib29sPikgZmluYWw7CiAgICAgdm9pZCBzZXRDYXRl
Z29yeShDYXRlZ29yeVR5cGUsIFJvdXRlU2hhcmluZ1BvbGljeSkgZmluYWw7CkBAIC01OCw3ICs1
OSw2IEBAIHByaXZhdGU6CiAgICAgc2l6ZV90IG51bWJlck9mT3V0cHV0Q2hhbm5lbHMoKSBjb25z
dCBmaW5hbDsKICAgICBzaXplX3QgbWF4aW11bU51bWJlck9mT3V0cHV0Q2hhbm5lbHMoKSBjb25z
dCBmaW5hbDsKICAgICBib29sIHRyeVRvU2V0QWN0aXZlSW50ZXJuYWwoYm9vbCkgZmluYWw7Ci0g
ICAgUm91dGVTaGFyaW5nUG9saWN5IHJvdXRlU2hhcmluZ1BvbGljeSgpIGNvbnN0IGZpbmFsOwog
ICAgIFN0cmluZyByb3V0aW5nQ29udGV4dFVJRCgpIGNvbnN0IGZpbmFsOwogICAgIHNpemVfdCBw
cmVmZXJyZWRCdWZmZXJTaXplKCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCBzZXRQcmVmZXJyZWRC
dWZmZXJTaXplKHNpemVfdCkgZmluYWw7CkBAIC03MCw2ICs3MCw3IEBAIHByaXZhdGU6CiAgICAg
c3RkOjpvcHRpb25hbDxib29sPiBtX2xhc3RNdXRlZFN0YXRlOwogICAgIG11dGFibGUgV2Vha0hh
c2hTZXQ8Q29uZmlndXJhdGlvbkNoYW5nZU9ic2VydmVyPiBtX2NvbmZpZ3VyYXRpb25DaGFuZ2VP
YnNlcnZlcnM7CiAgICAgQXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUgbV9jYXRlZ29yeSB7IEF1
ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlOjpOb25lIH07CisgICAgUm91dGVTaGFyaW5nUG9saWN5
IG1fcG9saWN5IHsgUm91dGVTaGFyaW5nUG9saWN5OjpEZWZhdWx0IH07CiAjaWYgRU5BQkxFKFJP
VVRJTkdfQVJCSVRSQVRJT04pCiAgICAgYm9vbCBtX3NldHVwQXJiaXRyYXRpb25PbmdvaW5nIHsg
ZmFsc2UgfTsKICAgICBib29sIG1faW5Sb3V0aW5nQXJiaXRyYXRpb24geyBmYWxzZSB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nlc3Npb25NYWMu
bW0KaW5kZXggZDA0YzgzZDNhMGE2YjlmNjkwYTI0ZDQ3YTk0ODg3YzRiMTg3YmVkZC4uNjQ1ZTA3
NjJjNTc5MWJjNmQ4MTcxMTNiZGRmMTRiNTAwNWVlNDQxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9TZXNzaW9uTWFjLm1tCkBAIC0yMDksNyAr
MjA5LDcgQEAgdm9pZCBBdWRpb1Nlc3Npb25NYWM6OnNldElzUGxheWluZ1RvQmx1ZXRvb3RoT3Zl
cnJpZGUoc3RkOjpvcHRpb25hbDxib29sPiB2YWx1ZSkKICNlbmRpZgogfQogCi12b2lkIEF1ZGlv
U2Vzc2lvbk1hYzo6c2V0Q2F0ZWdvcnkoQ2F0ZWdvcnlUeXBlIGNhdGVnb3J5LCBSb3V0ZVNoYXJp
bmdQb2xpY3kpCit2b2lkIEF1ZGlvU2Vzc2lvbk1hYzo6c2V0Q2F0ZWdvcnkoQ2F0ZWdvcnlUeXBl
IGNhdGVnb3J5LCBSb3V0ZVNoYXJpbmdQb2xpY3kgcG9saWN5KQogewogI2lmIEVOQUJMRShST1VU
SU5HX0FSQklUUkFUSU9OKQogICAgIGJvb2wgcGxheWluZ1RvQmx1ZXRvb3RoID0gZGVmYXVsdERl
dmljZVRyYW5zcG9ydElzQmx1ZXRvb3RoKCk7CkBAIC0yMTcsNiArMjE3LDcgQEAgdm9pZCBBdWRp
b1Nlc3Npb25NYWM6OnNldENhdGVnb3J5KENhdGVnb3J5VHlwZSBjYXRlZ29yeSwgUm91dGVTaGFy
aW5nUG9saWN5KQogICAgICAgICByZXR1cm47CiAKICAgICBtX2NhdGVnb3J5ID0gY2F0ZWdvcnk7
CisgICAgbV9wb2xpY3kgPSBwb2xpY3k7CiAKICAgICBpZiAobV9zZXR1cEFyYml0cmF0aW9uT25n
b2luZykgewogICAgICAgICBSRUxFQVNFX0xPR19FUlJPUihNZWRpYSwgIkF1ZGlvU2Vzc2lvbk1h
Yzo6c2V0Q2F0ZWdvcnkoKSAtIGEgYmVnaW5BcmJpdHJhdGlvbldpdGhDYXRlZ29yeSBpcyBzdGls
bCBvbmdvaW5nIik7CkBAIC0yNTQsNiArMjU1LDcgQEAgdm9pZCBBdWRpb1Nlc3Npb25NYWM6OnNl
dENhdGVnb3J5KENhdGVnb3J5VHlwZSBjYXRlZ29yeSwgUm91dGVTaGFyaW5nUG9saWN5KQogICAg
IH0pOwogI2Vsc2UKICAgICBtX2NhdGVnb3J5ID0gY2F0ZWdvcnk7CisgICAgbV9wb2xpY3kgPSBw
b2xpY3k7CiAjZW5kaWYKIH0KIApAQCAtMzY4LDExICszNzAsNiBAQCBib29sIEF1ZGlvU2Vzc2lv
bk1hYzo6dHJ5VG9TZXRBY3RpdmVJbnRlcm5hbChib29sKQogICAgIHJldHVybiB0cnVlOwogfQog
Ci1Sb3V0ZVNoYXJpbmdQb2xpY3kgQXVkaW9TZXNzaW9uTWFjOjpyb3V0ZVNoYXJpbmdQb2xpY3ko
KSBjb25zdAotewotICAgIHJldHVybiBSb3V0ZVNoYXJpbmdQb2xpY3k6OkRlZmF1bHQ7Ci19Ci0K
IFN0cmluZyBBdWRpb1Nlc3Npb25NYWM6OnJvdXRpbmdDb250ZXh0VUlEKCkgY29uc3QKIHsKICAg
ICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApp
bmRleCA1ODZiNDkyYzA0MzA5OTkwM2M4YWJhOGNkYjA3ZGUzNWEzMzE5MTNlLi45NThjMGYyOWQy
NGQ4ZTY1M2Y5MTRhMTBmYzkyZDk1OWY3MzFkNmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCkBAIC01Njc5LDYgKzU2NzksMTUgQEAgYXV0byBJbnRlcm5hbHM6OmF1ZGlvU2Vz
c2lvbkNhdGVnb3J5KCkgY29uc3QgLT4gQXVkaW9TZXNzaW9uQ2F0ZWdvcnkKICNlbmRpZgogfQog
CithdXRvIEludGVybmFsczo6cm91dGVTaGFyaW5nUG9saWN5KCkgY29uc3QgLT4gUm91dGVTaGFy
aW5nUG9saWN5Cit7CisjaWYgVVNFKEFVRElPX1NFU1NJT04pCisgICAgcmV0dXJuIEF1ZGlvU2Vz
c2lvbjo6c2hhcmVkU2Vzc2lvbigpLnJvdXRlU2hhcmluZ1BvbGljeSgpOworI2Vsc2UKKyAgICBy
ZXR1cm4gUm91dGVTaGFyaW5nUG9saWN5OjpEZWZhdWx0OworI2VuZGlmCit9CisKICNpZiBFTkFC
TEUoVklERU8pCiBhdXRvIEludGVybmFsczo6Y2F0ZWdvcnlBdE1vc3RSZWNlbnRQbGF5YmFjayhI
VE1MTWVkaWFFbGVtZW50JiBlbGVtZW50KSBjb25zdCAtPiBBdWRpb1Nlc3Npb25DYXRlZ29yeQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggMmFhYWI1NGMxODAxMmYzMDAwM2Vk
MzM1MDYzMjljMjE4MjhlMGI0Zi4uZGMzYmQ2MmFlYzQwYTEzZDBhYzM4ZWNmMDg2NmMzMjI1NmQ2
OGJkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC05MDIsNiArOTAyLDcgQEAg
cHVibGljOgogCiAjaWYgVVNFKEFVRElPX1NFU1NJT04pCiAgICAgdXNpbmcgQXVkaW9TZXNzaW9u
Q2F0ZWdvcnkgPSBXZWJDb3JlOjpBdWRpb1Nlc3Npb25DYXRlZ29yeTsKKyAgICB1c2luZyBSb3V0
ZVNoYXJpbmdQb2xpY3kgPSBXZWJDb3JlOjpSb3V0ZVNoYXJpbmdQb2xpY3k7CiAjZWxzZQogICAg
IGVudW0gY2xhc3MgQXVkaW9TZXNzaW9uQ2F0ZWdvcnkgOiB1aW50OF90IHsKICAgICAgICAgTm9u
ZSwKQEAgLTkxMiwxMCArOTEzLDE4IEBAIHB1YmxpYzoKICAgICAgICAgUGxheUFuZFJlY29yZCwK
ICAgICAgICAgQXVkaW9Qcm9jZXNzaW5nLAogICAgIH07CisKKyAgICBlbnVtIGNsYXNzIFJvdXRl
U2hhcmluZ1BvbGljeSA6IHVpbnQ4X3QgeworICAgICAgICBEZWZhdWx0LAorICAgICAgICBMb25n
Rm9ybUF1ZGlvLAorICAgICAgICBJbmRlcGVuZGVudCwKKyAgICAgICAgTG9uZ0Zvcm1WaWRlbwor
ICAgIH07CiAjZW5kaWYKIAogICAgIGJvb2wgc3VwcG9ydHNBdWRpb1Nlc3Npb24oKSBjb25zdDsK
ICAgICBBdWRpb1Nlc3Npb25DYXRlZ29yeSBhdWRpb1Nlc3Npb25DYXRlZ29yeSgpIGNvbnN0Owor
ICAgIFJvdXRlU2hhcmluZ1BvbGljeSByb3V0ZVNoYXJpbmdQb2xpY3koKSBjb25zdDsKICNpZiBF
TkFCTEUoVklERU8pCiAgICAgQXVkaW9TZXNzaW9uQ2F0ZWdvcnkgY2F0ZWdvcnlBdE1vc3RSZWNl
bnRQbGF5YmFjayhIVE1MTWVkaWFFbGVtZW50JikgY29uc3Q7CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCBiNmFiZjQ2MWExNDRlMjIzYTFkN2Q5ZjM2ZGZiNzUx
NzBhY2M0MTQyLi45YjAwYWRlZGZiMmE1YzUyMWZhNzYyZGU4MTY5OTdmZTg5MmY2ZjE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC0xMTUsNiArMTE1LDEzIEBAIGVudW0g
QXVkaW9TZXNzaW9uQ2F0ZWdvcnkgewogICAgICJBdWRpb1Byb2Nlc3NpbmciCiB9OwogCitlbnVt
IFJvdXRlU2hhcmluZ1BvbGljeSB7CisgICAgIkRlZmF1bHQiLAorICAgICJMb25nRm9ybUF1ZGlv
IiwKKyAgICAiSW5kZXBlbmRlbnQiLAorICAgICJMb25nRm9ybVZpZGVvIgorfTsKKwogZW51bSBB
dXRvcGxheVBvbGljeSB7CiAgICAgIkRlZmF1bHQiLAogICAgICJBbGxvdyIsCkBAIC05ODAsNiAr
OTg3LDcgQEAgdHlwZWRlZiAoRmV0Y2hSZXF1ZXN0IG9yIEZldGNoUmVzcG9uc2UpIEZldGNoT2Jq
ZWN0OwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHN1cHBvcnRzQXVkaW9TZXNzaW9u
OwogICAgIEF1ZGlvU2Vzc2lvbkNhdGVnb3J5IGF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCk7CiAgICAg
W0NvbmRpdGlvbmFsPVZJREVPXSBBdWRpb1Nlc3Npb25DYXRlZ29yeSBjYXRlZ29yeUF0TW9zdFJl
Y2VudFBsYXliYWNrKEhUTUxNZWRpYUVsZW1lbnQgZWxlbWVudCk7CisgICAgUm91dGVTaGFyaW5n
UG9saWN5IHJvdXRlU2hhcmluZ1BvbGljeSgpOwogCiAgICAgZG91YmxlIHByZWZlcnJlZEF1ZGlv
QnVmZmVyU2l6ZSgpOwogICAgIGRvdWJsZSBjdXJyZW50QXVkaW9CdWZmZXJTaXplKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggNDI5Y2NiMTBmOGRmOTg3YjMyOWRkM2VlN2RiNjkyMjBkNmYwYWIzOS4uMWQ5ZjFkMzFmZjlm
MmU5YTgwZWNmY2JlZTAxZjUxMGE2NTdmNTE4MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIy
LTA0LTI2ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAg
IFJFR1JFU1NJT04gKGlPUyAxNSk6IEhUTUxBdWRpb0VsZW1lbnQgZmFpbHMgdG8gbG9hZCBuZXcg
YXVkaW8gd2hlbiBkZXZpY2UgaXMgbG9ja2VkIG9yIHNhZmFyaSBpcyBpbiBiYWNrZ3JvdW5kCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjk2ODgKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgyNTU0MjI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29yeS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29yeS5odG1s
OgorCiAyMDIyLTA0LTE5ICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAg
W2lPU10gQWxzbyBza2lwIHJlc2l6ZS1vcnRob2dvbmFsLWNvbnRhaW5pbmctYmxvY2suaHRtbApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29yeS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1zZXNzaW9uLWNhdGVnb3J5LWV4cGVj
dGVkLnR4dAppbmRleCBhYTRlYmJmZmI3N2Y3OGI0ZmYwYWZkNjE0NDMxYWM5OTY4MzNhZjM2Li44
MGViZWI3OGFkNTlhN2MzMjgyMDc0ZWUzMzc3ZDZhNDlhNjdmNDIwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9tZWRpYS9hdWRpby1zZXNzaW9uLWNhdGVnb3J5LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9tZWRpYS9hdWRpby1zZXNzaW9uLWNhdGVnb3J5LWV4cGVjdGVkLnR4dApAQCAt
MTQsMTkgKzE0LDIzIEBAIEVYUEVDVEVEIChpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnko
KSA9PSAnTm9uZScpIE9LCiBSVU4odmlkZW8ucGxheSgpKQogRVZFTlQocGxheWluZykKIEVYUEVD
VEVEIChpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSA9PSAnTm9uZScpIE9LCitFWFBF
Q1RFRCAoaW50ZXJuYWxzLnJvdXRlU2hhcmluZ1BvbGljeSgpID09ICdEZWZhdWx0JykgT0sKIAog
KiogQ2hlY2sgY2F0ZWdvcnkgd2hlbiBhbiB1bm11dGVkIGVsZW1lbnQgaXMgcGxheWluZy4KIFJV
Tih2aWRlby5tdXRlZCA9IGZhbHNlKQogRVZFTlQodm9sdW1lY2hhbmdlKQogRVhQRUNURUQgKGlu
dGVybmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpID09ICdNZWRpYVBsYXliYWNrJykgT0sKK0VY
UEVDVEVEIChpbnRlcm5hbHMucm91dGVTaGFyaW5nUG9saWN5KCkgPT0gJ0xvbmdGb3JtQXVkaW8n
KSBPSwogCiAqKiBNdXRlIHRoZSBlbGVtZW50LCBjaGVjayBhZ2FpbiBhZnRlciA1MDBtcy4KIFJV
Tih2aWRlby5wYXVzZSgpKQogUlVOKHZpZGVvLm11dGVkID0gdHJ1ZSkKIEVYUEVDVEVEIChpbnRl
cm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSA9PSAnTWVkaWFQbGF5YmFjaycpIE9LCitFWFBF
Q1RFRCAoaW50ZXJuYWxzLnJvdXRlU2hhcmluZ1BvbGljeSgpID09ICdMb25nRm9ybUF1ZGlvJykg
T0sKIAogKiogQW5kIGNoZWNrIGFnYWluIGFmdGVyIDMgc2Vjb25kcy4KIEVYUEVDVEVEIChpbnRl
cm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSA9PSAnTm9uZScpIE9LCitFWFBFQ1RFRCAoaW50
ZXJuYWxzLnJvdXRlU2hhcmluZ1BvbGljeSgpID09ICdEZWZhdWx0JykgT0sKIAogCiAqKiBBdWRp
b0NvbnRleHQgdGVzdCAqKgpAQCAtMzksMTIgKzQzLDE1IEBAIEVYUEVDVEVEIChpbnRlcm5hbHMu
YXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSA9PSAnTm9uZScpIE9LCiAKICoqIENoZWNrIGNhdGVnb3J5
IGFmdGVyIHN0YXJ0aW5nIG9zY2lsbGF0b3IuCiBFWFBFQ1RFRCAoaW50ZXJuYWxzLmF1ZGlvU2Vz
c2lvbkNhdGVnb3J5KCkgPT0gJ0FtYmllbnRTb3VuZCcpIE9LCitFWFBFQ1RFRCAoaW50ZXJuYWxz
LnJvdXRlU2hhcmluZ1BvbGljeSgpID09ICdEZWZhdWx0JykgT0sKIAogKiogQ2xvc2UgdGhlIGNv
bnRleHQsIGNoZWNrIGFnYWluIGFmdGVyIDUwMG1zLgogRVhQRUNURUQgKGludGVybmFscy5hdWRp
b1Nlc3Npb25DYXRlZ29yeSgpID09ICdBbWJpZW50U291bmQnKSBPSworRVhQRUNURUQgKGludGVy
bmFscy5yb3V0ZVNoYXJpbmdQb2xpY3koKSA9PSAnRGVmYXVsdCcpIE9LCiAKICoqIEFuZCBjaGVj
ayBhZ2FpbiBhZnRlciAzIHNlY29uZHMuCiBFWFBFQ1RFRCAoaW50ZXJuYWxzLmF1ZGlvU2Vzc2lv
bkNhdGVnb3J5KCkgPT0gJ05vbmUnKSBPSworRVhQRUNURUQgKGludGVybmFscy5yb3V0ZVNoYXJp
bmdQb2xpY3koKSA9PSAnRGVmYXVsdCcpIE9LCiAKIAogKiogTWVkaWFTdHJlYW0gdGVzdCAqKgpA
QCAtNTQsMTEgKzYxLDEzIEBAIEVYUEVDVEVEIChpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdv
cnkoKSA9PSAnTm9uZScpIE9LCiAKICoqIENoZWNrIGNhdGVnb3J5IHdoZW4gY2FwdHVyaW5nLgog
RVhQRUNURUQgKGludGVybmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpID09ICdQbGF5QW5kUmVj
b3JkJykgT0sKK0VYUEVDVEVEIChpbnRlcm5hbHMucm91dGVTaGFyaW5nUG9saWN5KCkgPT0gJ0Rl
ZmF1bHQnKSBPSwogCiAqKiBDaGVjayBhZnRlciBNZWRpYVN0cmVhbSBpcyBhdHRhY2hlZCB0byBh
dWRpbyBlbGVtZW50LgogUlVOKHZpZGVvLnBsYXkoKSkKIEVWRU5UKHBsYXlpbmcpCiBFWFBFQ1RF
RCAoaW50ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCkgPT0gJ1BsYXlBbmRSZWNvcmQnKSBP
SworRVhQRUNURUQgKGludGVybmFscy5yb3V0ZVNoYXJpbmdQb2xpY3koKSA9PSAnRGVmYXVsdCcp
IE9LCiAKICoqIENoZWNrIGFmdGVyIE1lZGlhU3RyZWFtIG11dGluZyBhdWRpbyB0cmFjay4KIEVY
UEVDVEVEIChpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKSA9PSAnUGxheUFuZFJlY29y
ZCcpIE9LCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1zZXNzaW9uLWNhdGVn
b3J5Lmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9hdWRpby1zZXNzaW9uLWNhdGVnb3J5Lmh0bWwK
aW5kZXggZGZlY2JjZGNmMGEzNjc5ODFlZGU3NzY4ZTYyZGFmMjlhNTA5NmFmYS4uZDA2OGU5ZTMz
Y2QyMjJjNWYzYzUyZDhlODZmZGFkYjg2ZGY3YWJjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
bWVkaWEvYXVkaW8tc2Vzc2lvbi1jYXRlZ29yeS5odG1sCisrKyBiL0xheW91dFRlc3RzL21lZGlh
L2F1ZGlvLXNlc3Npb24tY2F0ZWdvcnkuaHRtbApAQCAtMzYsMTkgKzM2LDI0IEBACiAgICAgICAg
ICAgICBydW5XaXRoS2V5RG93bigoKSA9PiB7IHJ1bigndmlkZW8ucGxheSgpJykgfSk7CiAgICAg
ICAgICAgICBhd2FpdCB3YWl0Rm9yKHZpZGVvLCAncGxheWluZycpOwogICAgICAgICAgICAgdGVz
dEV4cGVjdGVkKCdpbnRlcm5hbHMuYXVkaW9TZXNzaW9uQ2F0ZWdvcnkoKScsICdOb25lJyk7Ci0K
KyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgnaW50ZXJuYWxzLnJvdXRlU2hhcmluZ1BvbGljeSgp
JywgJ0RlZmF1bHQnKTsKKyAgICAgICAgICAgIAogICAgICAgICAgICAgY29uc29sZVdyaXRlKCc8
YnI+KiogQ2hlY2sgY2F0ZWdvcnkgd2hlbiBhbiB1bm11dGVkIGVsZW1lbnQgaXMgcGxheWluZy4n
KTsKICAgICAgICAgICAgIHJ1bldpdGhLZXlEb3duKCgpID0+IHsgcnVuKCd2aWRlby5tdXRlZCA9
IGZhbHNlJykgfSk7CiAgICAgICAgICAgICBhd2FpdCB3YWl0Rm9yKHZpZGVvLCAndm9sdW1lY2hh
bmdlJyk7CiAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2ludGVybmFscy5hdWRpb1Nlc3Npb25D
YXRlZ29yeSgpJywgJ01lZGlhUGxheWJhY2snKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgn
aW50ZXJuYWxzLnJvdXRlU2hhcmluZ1BvbGljeSgpJywgJ0xvbmdGb3JtQXVkaW8nKTsKIAogICAg
ICAgICAgICAgY29uc29sZVdyaXRlKCc8YnI+KiogTXV0ZSB0aGUgZWxlbWVudCwgY2hlY2sgYWdh
aW4gYWZ0ZXIgNTAwbXMuJyk7CiAgICAgICAgICAgICBydW4oJ3ZpZGVvLnBhdXNlKCknKTsKICAg
ICAgICAgICAgIHJ1bldpdGhLZXlEb3duKCgpID0+IHsgcnVuKCd2aWRlby5tdXRlZCA9IHRydWUn
KSB9KTsKICAgICAgICAgICAgIGF3YWl0IHNsZWVwRm9yKDUwMCk7CiAgICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoJ2ludGVybmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpJywgJ01lZGlhUGxheWJh
Y2snKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgnaW50ZXJuYWxzLnJvdXRlU2hhcmluZ1Bv
bGljeSgpJywgJ0xvbmdGb3JtQXVkaW8nKTsKIAogICAgICAgICAgICAgYXdhaXQgd2FpdEZvckNh
dGVnb3J5KCdOb25lJywgMywgJzxicj4qKiBBbmQgY2hlY2sgYWdhaW4gYWZ0ZXIgMyBzZWNvbmRz
LicpOworICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCdpbnRlcm5hbHMucm91dGVTaGFyaW5nUG9s
aWN5KCknLCAnRGVmYXVsdCcpOworCiAgICAgICAgICAgICB2aWRlby5zcmMgPSAnJzsKICAgICAg
ICAgICAgIHZpZGVvLmxvYWQoKTsKICAgICAgICAgfQpAQCAtNzcsMTMgKzgyLDE2IEBACiAgICAg
ICAgICAgICBvc2NpbGxhdG9yLnN0YXJ0KDApOwogICAgICAgICAgICAgYXdhaXQgc2xlZXBGb3Io
NTAwKTsKICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgnaW50ZXJuYWxzLmF1ZGlvU2Vzc2lvbkNh
dGVnb3J5KCknLCAnQW1iaWVudFNvdW5kJyk7CisgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2lu
dGVybmFscy5yb3V0ZVNoYXJpbmdQb2xpY3koKScsICdEZWZhdWx0Jyk7CiAKICAgICAgICAgICAg
IGNvbnNvbGVXcml0ZSgnPGJyPioqIENsb3NlIHRoZSBjb250ZXh0LCBjaGVjayBhZ2FpbiBhZnRl
ciA1MDBtcy4nKTsKICAgICAgICAgICAgIGF3YWl0IGNvbnRleHQuY2xvc2UoKTsKICAgICAgICAg
ICAgIGF3YWl0IHNsZWVwRm9yKDUwMCk7CiAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2ludGVy
bmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgpJywgJ0FtYmllbnRTb3VuZCcpOworICAgICAgICAg
ICAgdGVzdEV4cGVjdGVkKCdpbnRlcm5hbHMucm91dGVTaGFyaW5nUG9saWN5KCknLCAnRGVmYXVs
dCcpOwogCiAgICAgICAgICAgICBhd2FpdCB3YWl0Rm9yQ2F0ZWdvcnkoJ05vbmUnLCAzLCAnPGJy
PioqIEFuZCBjaGVjayBhZ2FpbiBhZnRlciAzIHNlY29uZHMuJyk7CisgICAgICAgICAgICB0ZXN0
RXhwZWN0ZWQoJ2ludGVybmFscy5yb3V0ZVNoYXJpbmdQb2xpY3koKScsICdEZWZhdWx0Jyk7CiAg
ICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHRlc3RNZWRpYVN0cmVh
bSgpCkBAIC05NCwxMiArMTAyLDE0IEBACiAgICAgICAgICAgICBjb25zb2xlV3JpdGUoJzxicj4q
KiBDaGVjayBjYXRlZ29yeSB3aGVuIGNhcHR1cmluZy4nKTsKICAgICAgICAgICAgIGxldCBzdHJl
YW0gPSBhd2FpdCBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7YXVkaW8gOiB0
cnVlfSk7CiAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2ludGVybmFscy5hdWRpb1Nlc3Npb25D
YXRlZ29yeSgpJywgJ1BsYXlBbmRSZWNvcmQnKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgn
aW50ZXJuYWxzLnJvdXRlU2hhcmluZ1BvbGljeSgpJywgJ0RlZmF1bHQnKTsKIAogICAgICAgICAg
ICAgY29uc29sZVdyaXRlKCc8YnI+KiogQ2hlY2sgYWZ0ZXIgTWVkaWFTdHJlYW0gaXMgYXR0YWNo
ZWQgdG8gYXVkaW8gZWxlbWVudC4nKTsKICAgICAgICAgICAgIHZpZGVvLnNyY09iamVjdCA9IHN0
cmVhbTsKICAgICAgICAgICAgIHJ1bldpdGhLZXlEb3duKCgpID0+IHsgcnVuKCd2aWRlby5wbGF5
KCknKSB9KTsKICAgICAgICAgICAgIGF3YWl0IHdhaXRGb3IodmlkZW8sICdwbGF5aW5nJyk7CiAg
ICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoJ2ludGVybmFscy5hdWRpb1Nlc3Npb25DYXRlZ29yeSgp
JywgJ1BsYXlBbmRSZWNvcmQnKTsKKyAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgnaW50ZXJuYWxz
LnJvdXRlU2hhcmluZ1BvbGljeSgpJywgJ0RlZmF1bHQnKTsKIAogICAgICAgICAgICAgY29uc29s
ZVdyaXRlKCc8YnI+KiogQ2hlY2sgYWZ0ZXIgTWVkaWFTdHJlYW0gbXV0aW5nIGF1ZGlvIHRyYWNr
LicpOwogICAgICAgICAgICAgY29uc3QgYXVkaW9UcmFjayA9IHN0cmVhbS5nZXRBdWRpb1RyYWNr
cygpWzBdOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>