<?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>263892</bug_id>
          
          <creation_ts>2023-10-30 09:30:15 -0700</creation_ts>
          <short_desc>REGRESSION(267944@main): wpt /css/CSS2/positioning/abspos-block-level-001.html</short_desc>
          <delta_ts>2023-11-01 11:56:53 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=260832</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=209735</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Sneddon [:gsnedders]">gsnedders</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1988517</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2023-10-30 09:30:15 -0700</bug_when>
    <thetext>See https://wpt.fyi/results/css/CSS2/positioning/abspos-block-level-001.html?run_id=5133309367025664&amp;run_id=5150860515999744</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1988518</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-10-30 09:30:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/117690490&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1988641</commentid>
    <comment_count>2</comment_count>
      <attachid>468416</attachid>
    <who name="alan">zalan</who>
    <bug_when>2023-10-30 13:42:24 -0700</bug_when>
    <thetext>Created attachment 468416
test reduction

it looks like trimmed trailing whitespace confuses out-of-flow static position logic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1988751</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2023-10-30 20:49:27 -0700</bug_when>
    <thetext>2 issues:
- out-of-flow boxes has to be passed in as objectReplacementCharacter (and not as truly opaque items) to icu (InlineItemsBuilder::buildBidiParagraph)
- right to left inline direction (has nothing to do with bidi) needs &quot;visually backwards&quot; search when looking for &quot;before&quot; in-flow content to decide where (display: block) out-of-flow box should go (InlineDisplayContentBuilder::setGeometryForBlockLevelOutOfFlowBoxes)
(have a local fix, will upload a patch tomorrow)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1988952</commentid>
    <comment_count>4</comment_count>
      <attachid>468432</attachid>
    <who name="alan">zalan</who>
    <bug_when>2023-10-31 13:16:32 -0700</bug_when>
    <thetext>Created attachment 468432
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1988954</commentid>
    <comment_count>5</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2023-10-31 13:17:34 -0700</bug_when>
    <thetext>(In reply to zalan from comment #2)
&gt; Created attachment 468416 [details]
&gt; test reduction
&gt; 
&gt; it looks like trimmed trailing whitespace confuses out-of-flow static
&gt; position logic.
270022@main has addressed it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1988977</commentid>
    <comment_count>6</comment_count>
      <attachid>468434</attachid>
    <who name="alan">zalan</who>
    <bug_when>2023-10-31 14:22:52 -0700</bug_when>
    <thetext>Created attachment 468434
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1989026</commentid>
    <comment_count>7</comment_count>
      <attachid>468436</attachid>
    <who name="alan">zalan</who>
    <bug_when>2023-10-31 16:26:58 -0700</bug_when>
    <thetext>Created attachment 468436
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1989064</commentid>
    <comment_count>8</comment_count>
      <attachid>468438</attachid>
    <who name="alan">zalan</who>
    <bug_when>2023-10-31 20:51:55 -0700</bug_when>
    <thetext>Created attachment 468438
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1989132</commentid>
    <comment_count>9</comment_count>
      <attachid>468442</attachid>
    <who name="alan">zalan</who>
    <bug_when>2023-11-01 06:55:11 -0700</bug_when>
    <thetext>Created attachment 468442
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1989217</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-11-01 11:56:51 -0700</bug_when>
    <thetext>Committed 270069@main (f1664d74b5e3): &lt;https://commits.webkit.org/270069@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 468442.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>468416</attachid>
            <date>2023-10-30 13:42:24 -0700</date>
            <delta_ts>2023-10-30 13:42:24 -0700</delta_ts>
            <desc>test reduction</desc>
            <filename>263892.html</filename>
            <type>text/html</type>
            <size>100</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">PGRpdiBzdHlsZT0iZGlyZWN0aW9uOiBydGwiPlBBU1MgaWYgbm8gb3ZlcmxhcCA8ZGl2IHN0eWxl
PSJwb3NpdGlvbjogYWJzb2x1dGUiPm5leHQgbGluZTwvZGl2PjwvZGl2Pg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468432</attachid>
            <date>2023-10-31 13:16:32 -0700</date>
            <delta_ts>2023-10-31 14:22:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-263892-20231031131631.patch</filename>
            <type>text/plain</type>
            <size>10281</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAyNzczODEwOWExNTllNmZmYzI1YWQyMjc1MmQ1NGZmMWVhZjg5ZGYxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFR1ZSwgMzEgT2N0IDIwMjMgMTM6MTU6MjAgLTA3MDAKU3ViamVjdDogW1BBVENIXSBSRUdSRVNT
SU9OKDI2Nzk0NEBtYWluKTogd3B0CiAvY3NzL0NTUzIvcG9zaXRpb25pbmcvYWJzcG9zLWJsb2Nr
LWxldmVsLTAwMS5odG1sCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjYzODkyCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCk5lZWRzIHRlc3QgcmVkdWN0aW9u
LgoKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNw
bGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHA6CihXZWJDb3JlOjpMYXlvdXQ6Oklu
bGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6cHJvY2Vzc0JpZGlDb250ZW50KToKKFdlYkNvcmU6
OkxheW91dDo6c2V0R2VvbWV0cnlGb3JPdXRPZkZsb3dCb3hlcyk6CihXZWJDb3JlOjpMYXlvdXQ6
OklubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6c2V0R2VvbWV0cnlGb3JCbG9ja0xldmVsT3V0
T2ZGbG93Qm94ZXMpOgoqIFNvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmg6CihXZWJDb3JlOjpM
YXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6c2V0R2VvbWV0cnlGb3JCbG9ja0xl
dmVsT3V0T2ZGbG93Qm94ZXMpOgotLS0KIC4uLi9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50
QnVpbGRlci5jcHAgICB8IDg4ICsrKysrKysrKysrKysrLS0tLS0KIC4uLi9kaXNwbGF5L0lubGlu
ZURpc3BsYXlDb250ZW50QnVpbGRlci5oICAgICB8ICAyICstCiAyIGZpbGVzIGNoYW5nZWQsIDY1
IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxh
eUNvbnRlbnRCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcAppbmRl
eCAyMjhiYWJkOTQ3NGMuLjU2YzE5M2E4Y2ZhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcApAQCAt
NzYzLDEwICs3NjMsMTAgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nl
c3NCaWRpQ29udGVudChjb25zdCBMaW5lTGF5b3V0UmVzdWx0JiBsaW4KICAgICAgICAgYXV0byBj
b250ZW50UmlnaHRJbklubGluZURpcmVjdGlvblZpc3VhbE9yZGVyID0gY29udGVudFN0YXJ0SW5J
bmxpbmVEaXJlY3Rpb25WaXN1YWxPcmRlcjsKICAgICAgICAgYXV0byYgaW5saW5lQ29udGVudCA9
IGxpbmVMYXlvdXRSZXN1bHQuaW5saW5lQ29udGVudDsKICAgICAgICAgZm9yIChzaXplX3QgaW5k
ZXggPSAwOyBpbmRleCA8IGxpbmVMYXlvdXRSZXN1bHQuZGlyZWN0aW9uYWxpdHkudmlzdWFsT3Jk
ZXJMaXN0LnNpemUoKTsgKytpbmRleCkgewotICAgICAgICAgICAgYXV0byB2aXN1YWxPcmRlciA9
IGxpbmVMYXlvdXRSZXN1bHQuZGlyZWN0aW9uYWxpdHkudmlzdWFsT3JkZXJMaXN0W2luZGV4XTsK
LSAgICAgICAgICAgIEFTU0VSVChpbmxpbmVDb250ZW50W3Zpc3VhbE9yZGVyXS5iaWRpTGV2ZWwo
KSAhPSBJbmxpbmVJdGVtOjpvcGFxdWVCaWRpTGV2ZWwpOworICAgICAgICAgICAgYXV0byBsb2dp
Y2FsSW5kZXggPSBsaW5lTGF5b3V0UmVzdWx0LmRpcmVjdGlvbmFsaXR5LnZpc3VhbE9yZGVyTGlz
dFtpbmRleF07CisgICAgICAgICAgICBBU1NFUlQoaW5saW5lQ29udGVudFtsb2dpY2FsSW5kZXhd
LmJpZGlMZXZlbCgpICE9IElubGluZUl0ZW06Om9wYXF1ZUJpZGlMZXZlbCk7CiAKLSAgICAgICAg
ICAgIGF1dG8mIGxpbmVSdW4gPSBpbmxpbmVDb250ZW50W3Zpc3VhbE9yZGVyXTsKKyAgICAgICAg
ICAgIGF1dG8mIGxpbmVSdW4gPSBpbmxpbmVDb250ZW50W2xvZ2ljYWxJbmRleF07CiAgICAgICAg
ICAgICBhdXRvJiBsYXlvdXRCb3ggPSBsaW5lUnVuLmxheW91dEJveCgpOwogCiAgICAgICAgICAg
ICBhdXRvIG5lZWRzRGlzcGxheUJveE9yR2VvbWV0cnlTZXR0aW5nID0gIWxpbmVSdW4uaXNXb3Jk
QnJlYWtPcHBvcnR1bml0eSgpICYmICFsaW5lUnVuLmlzSW5saW5lQm94RW5kKCk7CkBAIC05NTEs
MzIgKzk1MSw3MiBAQCB2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6Y29sbGVjdElu
a092ZXJmbG93Rm9ySW5saW5lQm94ZXMoSW5saW5lRGlzcGxheQogICAgIH0KIH0KIAotdm9pZCBJ
bmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnNldEdlb21ldHJ5Rm9yQmxvY2tMZXZlbE91dE9m
Rmxvd0JveGVzKGNvbnN0IFZlY3RvcjxzaXplX3Q+IGluZGV4TGlzdE9mT3V0T2ZGbG93Qm94ZXMs
IGNvbnN0IExpbmVCb3gmIGxpbmVCb3gsIGNvbnN0IExpbmU6OlJ1bkxpc3QmIGxpbmVSdW5zLCBj
b25zdCBWZWN0b3I8aW50MzJfdD4mIHZpc3VhbE9yZGVyTGlzdCkKK3N0YXRpYyBpbmxpbmUgdm9p
ZCBzZXRHZW9tZXRyeUZvck91dE9mRmxvd0JveGVzKGNvbnN0IFZlY3RvcjxzaXplX3Q+JiBpbmRl
eExpc3RPZk91dE9mRmxvd0JveGVzLCBzdGQ6Om9wdGlvbmFsPHNpemVfdD4gZmlyc3RPdXRPZkZs
b3dJbmRleFdpdGhQcmV2aW91c0luZmxvd1NpYmxpbmcsIGNvbnN0IExpbmU6OlJ1bkxpc3QmIGxp
bmVSdW5zLCBjb25zdCBWZWN0b3I8aW50MzJfdD4mIHZpc3VhbE9yZGVyTGlzdCwgSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQmIGZvcm1hdHRpbmdDb250ZXh0LCBjb25zdCBMaW5lQm94JiBsaW5lQm94
LCBjb25zdCBDb25zdHJhaW50c0ZvcklubGluZUNvbnRlbnQmIGNvbnN0cmFpbnRzKQogeworICAg
IGF1dG8gaXNMZWZ0VG9SaWdodERpcmVjdGlvbiA9IGZvcm1hdHRpbmdDb250ZXh0LnJvb3QoKS5z
dHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKTsKKyAgICBhdXRvIG91dE9mRmxvd0JveCA9
IFsmXShzaXplX3QgaSkgLT4gY29uc3QgQm94JiB7CisgICAgICAgIGF1dG8gaW5kZXggPSBpbmRl
eExpc3RPZk91dE9mRmxvd0JveGVzW2ldOworICAgICAgICBpZiAoIWlzTGVmdFRvUmlnaHREaXJl
Y3Rpb24pIHsKKyAgICAgICAgICAgIGF1dG8gbGFzdEluZGV4ID0gaW5kZXhMaXN0T2ZPdXRPZkZs
b3dCb3hlcy5zaXplKCkgLSAxOworICAgICAgICAgICAgaW5kZXggPSBpbmRleExpc3RPZk91dE9m
Rmxvd0JveGVzW2xhc3RJbmRleCAtIGldOworICAgICAgICB9CisgICAgICAgIHJldHVybiAodmlz
dWFsT3JkZXJMaXN0LmlzRW1wdHkoKSA/IGxpbmVSdW5zW2luZGV4XSA6IGxpbmVSdW5zW3Zpc3Vh
bE9yZGVyTGlzdFtpbmRleF1dKS5sYXlvdXRCb3goKTsKKyAgICB9OworICAgIC8vIFNldCBnZW9t
ZXRyeSBvbiAiYmVmb3JlIGluZmxvdyBjb250ZW50IiBib3hlcyBmaXJzdCwgZm9sbG93ZWQgYnkg
dGhlICJhZnRlciBpbmZsb3cgY29udGVudCIgbGlzdC4KKyAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSAhPSBmaXJzdE91dE9mRmxvd0luZGV4V2l0aFByZXZpb3VzSW5mbG93U2libGluZy52YWx1ZV9v
cihpbmRleExpc3RPZk91dE9mRmxvd0JveGVzLnNpemUoKSk7ICsraSkKKyAgICAgICAgZm9ybWF0
dGluZ0NvbnRleHQuZ2VvbWV0cnlGb3JCb3gob3V0T2ZGbG93Qm94KGkpKS5zZXRUb3BMZWZ0KHsg
Y29uc3RyYWludHMuaG9yaXpvbnRhbCgpLmxvZ2ljYWxMZWZ0LCBsaW5lQm94LmxvZ2ljYWxSZWN0
KCkudG9wKCkgfSk7CisgICAgZm9yIChzaXplX3QgaSA9IGZpcnN0T3V0T2ZGbG93SW5kZXhXaXRo
UHJldmlvdXNJbmZsb3dTaWJsaW5nLnZhbHVlX29yKGluZGV4TGlzdE9mT3V0T2ZGbG93Qm94ZXMu
c2l6ZSgpKTsgaSA8IGluZGV4TGlzdE9mT3V0T2ZGbG93Qm94ZXMuc2l6ZSgpOyArK2kpCisgICAg
ICAgIGZvcm1hdHRpbmdDb250ZXh0Lmdlb21ldHJ5Rm9yQm94KG91dE9mRmxvd0JveChpKSkuc2V0
VG9wTGVmdCh7IGNvbnN0cmFpbnRzLmhvcml6b250YWwoKS5sb2dpY2FsTGVmdCwgbGluZUJveC5s
b2dpY2FsUmVjdCgpLmJvdHRvbSgpIH0pOworfQorCit2b2lkIElubGluZURpc3BsYXlDb250ZW50
QnVpbGRlcjo6c2V0R2VvbWV0cnlGb3JCbG9ja0xldmVsT3V0T2ZGbG93Qm94ZXMoY29uc3QgVmVj
dG9yPHNpemVfdD4mIGluZGV4TGlzdE9mT3V0T2ZGbG93Qm94ZXMsIGNvbnN0IExpbmVCb3gmIGxp
bmVCb3gsIGNvbnN0IExpbmU6OlJ1bkxpc3QmIGxpbmVSdW5zLCBjb25zdCBWZWN0b3I8aW50MzJf
dD4mIHZpc3VhbE9yZGVyTGlzdCkKK3sKKyAgICBpZiAoaW5kZXhMaXN0T2ZPdXRPZkZsb3dCb3hl
cy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIEJsb2NrIGxldmVsIGJveGVz
IGFyZSBwbGFjZWQgZWl0aGVyIGF0IHRoZSBzdGFydCBvZiB0aGUgbGluZSBvciAidW5kZXIiIGRl
cGVuZGluZyB3aGV0aGVyIHRoZXkgaGF2ZSBwcmV2aW91cyBpbmZsb3cgc2libGluZy4KKyAgICAv
LyBIZXJlIHdlIGZpZ3VyZSBvdXQgaWYgYSBwYXJ0aWN1bGFyIG91dCBvZiBmbG93IGJveCBoYXMg
YW4gaW5mbG93IHNpYmxpbmcgb3Igbm90LgorICAgIC8vIDEuIEZpbmQgdGhlIGZpcnN0IGluZmxv
dyBjb250ZW50LiBBbnkgb3V0IG9mIGZsb3cgYm94IGFmdGVyIHRoaXMgZ2V0cyBtb3ZlZCBfdW5k
ZXJfIHRoZSBsaW5lIGJveC4KKyAgICAvLyAyLiBMb29wIHRocm91Z2ggdGhlIG91dCBvZiBmbG93
IGJveGVzIChpbmRleExpc3RPZk91dE9mRmxvd0JveGVzKSBhbmQgc2V0IHRoZWlyIHZlcnRpY2Fs
IGdlb21ldHJ5IGRlcGVuZGluZyB3aGV0aGVyIHRoZXkgYXJlIGJlZm9yZSBvciBhZnRlciB0aGUg
Zmlyc3QgaW5mbG93IGNvbnRlbnQuCisgICAgLy8gTm90ZSB0aGF0IHRoZXJlJ3MgYW4gZXh0cmEg
bGF5ZXIgb2YgZGlyZWN0aW9uYWxpdHkgaGVyZTogaW4gY2FzZSBvZiByaWdodCB0byBsZWZ0IGlu
bGluZSBkaXJlY3Rpb24sIHRoZSBiZWZvcmUgaW5mbG93IGNvbnRlbnQgY2hlY2sgc3RhcnRzIGZy
b20gdGhlIHJpZ2h0IGVkZ2UgYW5kIHByb2dyZXNzZXMgaW4gYSBsZWZ0d2FyZCBtYW5uZXIKKyAg
ICAvLyBhbmQgbm90IGluIHZpc3VhbCBvcmRlci4gSG93ZXZlciB0aGlzIGlzIG5vdCBsb2dpY2Fs
IG9yZGVyIGVpdGhlciAod2hpY2ggaXMgbW9yZSBhYm91dCBiaWRpIHRoYW4gaW5saW5lIGRpcmVj
dGlvbikuIFNvIExUUiBzdGFydHMgYXQgdGhlIGxlZnQgd2hpbGUgUlRMIHN0YXJ0cyBhdCB0aGUg
cmlnaHQgYW5kIGluCisgICAgLy8gYm90aCBjYXNlcyBqdW1waW5nIGZyb20gcnVuIHRvIHJ1biBp
biBiaWRpIG9yZGVyLgogICAgIGF1dG8mIGZvcm1hdHRpbmdDb250ZXh0ID0gdGhpcy0+Zm9ybWF0
dGluZ0NvbnRleHQoKTsKLSAgICBhdXRvIG91dE9mRmxvd0NvbnRlbnRIYXNQcmV2aW91c0luRmxv
d1NpYmxpbmdXaXRoQ29udGVudE9yRGVjb3JhdGlvbiA9IGZhbHNlOworICAgIGF1dG8gaXNMZWZ0
VG9SaWdodERpcmVjdGlvbiA9IHJvb3QoKS5zdHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24o
KTsKKyAgICBhdXRvIHJ1bkluZGV4ID0gWyZdKGF1dG8gaSwgYXV0byBsaXN0U2l6ZSkgeworICAg
ICAgICAvLyBOb3RlIHRoYXQgd2UgYXJlIHJ1bm5pbmcgYSBiYWNrd2FyZCBsb29wIGhlcmUgaW4g
Y2FzZSBvZiByaWdodC10by1sZWZ0LgorICAgICAgICBpZiAoaXNMZWZ0VG9SaWdodERpcmVjdGlv
bikKKyAgICAgICAgICAgIHJldHVybiBpOworICAgICAgICBhdXRvIGxhc3RJbmRleCA9IGxpc3RT
aXplIC0gMTsKKyAgICAgICAgcmV0dXJuIGxhc3RJbmRleCAtIGk7CisgICAgfTsKKworICAgIGF1
dG8gZmlyc3RJbkZsb3dDb250ZW50SW5kZXggPSBzdGQ6Om9wdGlvbmFsPHNpemVfdD4geyB9Owor
ICAgIGF1dG8gY29udGVudExpc3RTaXplID0gdmlzdWFsT3JkZXJMaXN0LmlzRW1wdHkoKSA/IGxp
bmVSdW5zLnNpemUoKSA6IHZpc3VhbE9yZGVyTGlzdC5zaXplKCk7CisgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBjb250ZW50TGlzdFNpemU7ICsraSkgeworICAgICAgICBhdXRvIGluZGV4ID0g
cnVuSW5kZXgoaSwgY29udGVudExpc3RTaXplKTsKKyAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0g
KHZpc3VhbE9yZGVyTGlzdC5pc0VtcHR5KCkgPyBsaW5lUnVuc1tpbmRleF0gOiBsaW5lUnVuc1t2
aXN1YWxPcmRlckxpc3RbaW5kZXhdXSkubGF5b3V0Qm94KCk7CisgICAgICAgIGlmICghbGF5b3V0
Qm94LmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpKSB7CisgICAgICAgICAgICBmaXJzdEluRmxvd0Nv
bnRlbnRJbmRleCA9IGluZGV4OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9
CisKKyAgICBpZiAoIWZpcnN0SW5GbG93Q29udGVudEluZGV4KSB7CisgICAgICAgIHNldEdlb21l
dHJ5Rm9yT3V0T2ZGbG93Qm94ZXMoaW5kZXhMaXN0T2ZPdXRPZkZsb3dCb3hlcywgeyB9LCBsaW5l
UnVucywgdmlzdWFsT3JkZXJMaXN0LCBmb3JtYXR0aW5nQ29udGV4dCwgbGluZUJveCwgY29uc3Ry
YWludHMoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAKKyAgICBhdXRvIGZpcnN0T3V0T2ZG
bG93SW5kZXhXaXRoUHJldmlvdXNJbmZsb3dTaWJsaW5nID0gc3RkOjpvcHRpb25hbDxzaXplX3Q+
IHsgfTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGluZGV4TGlzdE9mT3V0T2ZGbG93Qm94
ZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgYXV0byBvdXRPZkZsb3dCb3hJbmRleCA9IGluZGV4
TGlzdE9mT3V0T2ZGbG93Qm94ZXNbaV07Ci0gICAgICAgIEFTU0VSVChvdXRPZkZsb3dCb3hJbmRl
eCA8IGxpbmVSdW5zLnNpemUoKSk7Ci0KLSAgICAgICAgYXV0byBoYXNQcmV2aW91c0luRmxvd0Nv
bnRlbnQgPSBbJl0gewotICAgICAgICAgICAgaWYgKG91dE9mRmxvd0NvbnRlbnRIYXNQcmV2aW91
c0luRmxvd1NpYmxpbmdXaXRoQ29udGVudE9yRGVjb3JhdGlvbikKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIGZvciAoc2l6ZV90IHByZXZpb3VzUnVuSW5kZXggPSAh
aSA/IDAgOiBpbmRleExpc3RPZk91dE9mRmxvd0JveGVzW2kgLSAxXSArIDE7IHByZXZpb3VzUnVu
SW5kZXggPCBvdXRPZkZsb3dCb3hJbmRleDsgKytwcmV2aW91c1J1bkluZGV4KSB7Ci0gICAgICAg
ICAgICAgICAgYXV0byYgcHJldmlvdXNSdW4gPSB2aXN1YWxPcmRlckxpc3QuaXNFbXB0eSgpID8g
bGluZVJ1bnNbcHJldmlvdXNSdW5JbmRleF0gOiBsaW5lUnVuc1t2aXN1YWxPcmRlckxpc3RbcHJl
dmlvdXNSdW5JbmRleF1dOwotICAgICAgICAgICAgICAgIGlmIChMaW5lOjpSdW46OmlzQ29udGVu
dGZ1bE9ySGFzRGVjb3JhdGlvbihwcmV2aW91c1J1biwgZm9ybWF0dGluZ0NvbnRleHQpKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIG91dE9mRmxvd0NvbnRlbnRIYXNQcmV2aW91c0luRmxvd1NpYmxp
bmdXaXRoQ29udGVudE9yRGVjb3JhdGlvbiA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgIHJl
dHVybiB0cnVlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgfTsKLSAgICAgICAgLy8gQmxvY2sgbGV2ZWwgYm94ZXMg
YXJlIHBsYWNlZCBlaXRoZXIgYXQgdGhlIHN0YXJ0IG9mIHRoZSBsaW5lIG9yICJ1bmRlciIgZGVw
ZW5kaW5nIHdoZXRoZXIgdGhleSBoYXZlIHByZXZpb3VzIGluZmxvdyBzaWJsaW5nLgotICAgICAg
ICBhdXRvIGxvZ2ljYWxUb3AgPSBoYXNQcmV2aW91c0luRmxvd0NvbnRlbnQoKSA/IGxpbmVCb3gu
bG9naWNhbFJlY3QoKS5ib3R0b20oKSA6IGxpbmVCb3gubG9naWNhbFJlY3QoKS50b3AoKTsKLSAg
ICAgICAgYXV0byYgbGluZVJ1biA9IHZpc3VhbE9yZGVyTGlzdC5pc0VtcHR5KCkgPyBsaW5lUnVu
c1tvdXRPZkZsb3dCb3hJbmRleF0gOiBsaW5lUnVuc1t2aXN1YWxPcmRlckxpc3Rbb3V0T2ZGbG93
Qm94SW5kZXhdXTsKLSAgICAgICAgZm9ybWF0dGluZ0NvbnRleHQuZ2VvbWV0cnlGb3JCb3gobGlu
ZVJ1bi5sYXlvdXRCb3goKSkuc2V0VG9wTGVmdCh7IGNvbnN0cmFpbnRzKCkuaG9yaXpvbnRhbCgp
LmxvZ2ljYWxMZWZ0LCBsb2dpY2FsVG9wIH0pOworICAgICAgICBhdXRvIG91dE9mRmxvd0luZGV4
ID0gcnVuSW5kZXgoaSwgaW5kZXhMaXN0T2ZPdXRPZkZsb3dCb3hlcy5zaXplKCkpOworICAgICAg
ICBhdXRvIGhhc1ByZXZpb3VzSW5mbG93U2libGluZyA9IChpc0xlZnRUb1JpZ2h0RGlyZWN0aW9u
ICYmIGluZGV4TGlzdE9mT3V0T2ZGbG93Qm94ZXNbb3V0T2ZGbG93SW5kZXhdID4gKmZpcnN0SW5G
bG93Q29udGVudEluZGV4KSB8fCAoIWlzTGVmdFRvUmlnaHREaXJlY3Rpb24gJiYgaW5kZXhMaXN0
T2ZPdXRPZkZsb3dCb3hlc1tvdXRPZkZsb3dJbmRleF0gPCAqZmlyc3RJbkZsb3dDb250ZW50SW5k
ZXgpOworICAgICAgICBpZiAoaGFzUHJldmlvdXNJbmZsb3dTaWJsaW5nKSB7CisgICAgICAgICAg
ICBmaXJzdE91dE9mRmxvd0luZGV4V2l0aFByZXZpb3VzSW5mbG93U2libGluZyA9IG91dE9mRmxv
d0luZGV4OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICB9CisgICAgc2V0R2Vv
bWV0cnlGb3JPdXRPZkZsb3dCb3hlcyhpbmRleExpc3RPZk91dE9mRmxvd0JveGVzLCBmaXJzdE91
dE9mRmxvd0luZGV4V2l0aFByZXZpb3VzSW5mbG93U2libGluZywgbGluZVJ1bnMsIHZpc3VhbE9y
ZGVyTGlzdCwgZm9ybWF0dGluZ0NvbnRleHQsIGxpbmVCb3gsIGNvbnN0cmFpbnRzKCkpOwogfQog
CiBzdGF0aWMgZmxvYXQgbG9naWNhbEJvdHRvbUZvclRleHREZWNvcmF0aW9uQ29udGVudChjb25z
dCBJbmxpbmVEaXNwbGF5OjpCb3hlcyYgYm94ZXMsIGJvb2wgaXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5oIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNw
bGF5Q29udGVudEJ1aWxkZXIuaAppbmRleCBmNTVkOTk0YmNjODEuLjBmMDc2ODJhN2RhOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUv
ZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlD
b250ZW50QnVpbGRlci5oCkBAIC03NSw3ICs3NSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRS
aWdodEZvcldyaXRpbmdNb2RlKElubGluZURpc3BsYXk6OkJveCYsIElubGluZUxheW91dFVuaXQg
bG9naWNhbFJpZ2h0LCBXcml0aW5nTW9kZSkgY29uc3Q7CiAgICAgSW5saW5lTGF5b3V0UG9pbnQg
bW92ZVBvaW50SG9yaXpvbnRhbGx5Rm9yV3JpdGluZ01vZGUoY29uc3QgSW5saW5lTGF5b3V0UG9p
bnQmIHRvcExlZnQsIElubGluZUxheW91dFVuaXQgaG9yaXpvbnRhbE9mZnNldCwgV3JpdGluZ01v
ZGUpIGNvbnN0OwogICAgIElubGluZUxheW91dFVuaXQgb3V0c2lkZUxpc3RNYXJrZXJWaXN1YWxQ
b3NpdGlvbihjb25zdCBFbGVtZW50Qm94JikgY29uc3Q7Ci0gICAgdm9pZCBzZXRHZW9tZXRyeUZv
ckJsb2NrTGV2ZWxPdXRPZkZsb3dCb3hlcyhjb25zdCBWZWN0b3I8c2l6ZV90PiBpbmRleExpc3Qs
IGNvbnN0IExpbmVCb3gmLCBjb25zdCBMaW5lOjpSdW5MaXN0JiwgY29uc3QgVmVjdG9yPGludDMy
X3Q+JiB2aXN1YWxPcmRlckxpc3QgPSB7IH0pOworICAgIHZvaWQgc2V0R2VvbWV0cnlGb3JCbG9j
a0xldmVsT3V0T2ZGbG93Qm94ZXMoY29uc3QgVmVjdG9yPHNpemVfdD4mIGluZGV4TGlzdCwgY29u
c3QgTGluZUJveCYsIGNvbnN0IExpbmU6OlJ1bkxpc3QmLCBjb25zdCBWZWN0b3I8aW50MzJfdD4m
IHZpc3VhbE9yZGVyTGlzdCA9IHsgfSk7CiAKICAgICBib29sIGlzTGluZUZ1bGx5VHJ1bmNhdGVk
SW5CbG9ja0RpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUlzRnVsbHlUcnVuY2F0ZWRJ
bkJsb2NrRGlyZWN0aW9uOyB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468434</attachid>
            <date>2023-10-31 14:22:52 -0700</date>
            <delta_ts>2023-10-31 16:26:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-263892-20231031142252.patch</filename>
            <type>text/plain</type>
            <size>12326</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAxNmVlMTU5MDQwMDUxOTk3Y2QyNWMwN2MzNzQ5Mzk5Yjg5YjdhMzYwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFR1ZSwgMzEgT2N0IDIwMjMgMTM6MTU6MjAgLTA3MDAKU3ViamVjdDogW1BBVENIXSBSRUdSRVNT
SU9OKDI2Nzk0NEBtYWluKTogd3B0CiAvY3NzL0NTUzIvcG9zaXRpb25pbmcvYWJzcG9zLWJsb2Nr
LWxldmVsLTAwMS5odG1sCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjYzODkyCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClRoaXMgcGF0Y2ggZXh0ZW5kcyB0
aGUgbG9naWMgb2YgImlzIHRoZXJlIGFuIGluZmxvdyBjb250ZW50IGJlZm9yZSB0aGlzIG91dCBv
ZiBmbG93IGJveCIgYnkKdGFraW5nIGlubGluZSBkaXJlY3Rpb24gaW50byBhY2NvdW50LgoKV2Ug
YWxyZWFkeSBoYW5kbGUgYmlkaSAobG9naWNhbCBwb3NpdGlvbiB2cy4gdmlzdWFsIHBvc2l0aW9u
KSBqdXN0IGZpbmUgYnV0IHRoZXJlJ3MgYW5vdGhlciBsYXllciBvZiB2aXN1YWwgb3JkZXIgaGVy
ZS4KV2hlbiB0aGUgY29udGVudCBpcyBSVEwgKGFnYWluIG5vdCB0byBiZSBjb25mdXNlZCB3aXRo
IGJpZGkpIHRoZSBsb2dpYyBvZiBmaW5kaW5nIG91dCBpZiBhbiBvdXQgb2YgZmxvdyBib3gKaGFz
IHByZWNlZGluZyBpbiBmbG93IGNvbnRlbnQgbmVlZHMgdG8gc3RhcnQgZnJvbSB0aGUgKHZpc3Vh
bCkgcmlnaHQgZWRnZSBhbmQgZm9sbG93IHRoZSBpbmxpbmUgZGlyZWN0aW9uLgooaS5lLiBpbiBh
ZGRpdGlvbiB0byByZXNvbHZpbmcgdGhlIGxvZ2ljYWwgLT4gdmlzdWFsIG9yZGVyLCB3ZSBhbHNv
IG5lZWQgdG8gdHJhdmVycyB0aGVzZSBydW4gbGlzdHMgaW4gaW5saW5lIGRpcmVjdGlvbiBvcmRl
cikKCiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlz
cGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwOgooV2ViQ29yZTo6TGF5b3V0OjpJ
bmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nlc3NCaWRpQ29udGVudCk6CihXZWJDb3Jl
OjpMYXlvdXQ6OnNldEdlb21ldHJ5Rm9yT3V0T2ZGbG93Qm94ZXMpOgooV2ViQ29yZTo6TGF5b3V0
OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnNldEdlb21ldHJ5Rm9yQmxvY2tMZXZlbE91
dE9mRmxvd0JveGVzKToKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5oOgooV2ViQ29yZTo6
TGF5b3V0OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnNldEdlb21ldHJ5Rm9yQmxvY2tM
ZXZlbE91dE9mRmxvd0JveGVzKToKLS0tCiAuLi4vZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVu
dEJ1aWxkZXIuY3BwICAgfCA4OCArKysrKysrKysrKysrKy0tLS0tCiAuLi4vZGlzcGxheS9Jbmxp
bmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuaCAgICAgfCAgMiArLQogLi4uLW9mLWZsb3ctd2l0aC1p
bmZsb3ctY29udGVudC1leHBlY3RlZC5odG1sIHwgMTIgKysrCiAuLi4tbGVmdC1vdXQtb2YtZmxv
dy13aXRoLWluZmxvdy1jb250ZW50Lmh0bWwgfCAxMiArKysKIDQgZmlsZXMgY2hhbmdlZCwgODkg
aW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0
VGVzdHMvZmFzdC9ibG9jay9yaWdodC10by1sZWZ0LW91dC1vZi1mbG93LXdpdGgtaW5mbG93LWNv
bnRlbnQtZXhwZWN0ZWQuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qv
YmxvY2svcmlnaHQtdG8tbGVmdC1vdXQtb2YtZmxvdy13aXRoLWluZmxvdy1jb250ZW50Lmh0bWwK
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3Bs
YXlDb250ZW50QnVpbGRlci5jcHAKaW5kZXggMjI4YmFiZDk0NzRjLi41NmMxOTNhOGNmYTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3Bs
YXlDb250ZW50QnVpbGRlci5jcHAKQEAgLTc2MywxMCArNzYzLDEwIEBAIHZvaWQgSW5saW5lRGlz
cGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRlbnQoY29uc3QgTGluZUxheW91dFJl
c3VsdCYgbGluCiAgICAgICAgIGF1dG8gY29udGVudFJpZ2h0SW5JbmxpbmVEaXJlY3Rpb25WaXN1
YWxPcmRlciA9IGNvbnRlbnRTdGFydEluSW5saW5lRGlyZWN0aW9uVmlzdWFsT3JkZXI7CiAgICAg
ICAgIGF1dG8mIGlubGluZUNvbnRlbnQgPSBsaW5lTGF5b3V0UmVzdWx0LmlubGluZUNvbnRlbnQ7
CiAgICAgICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBsaW5lTGF5b3V0UmVzdWx0
LmRpcmVjdGlvbmFsaXR5LnZpc3VhbE9yZGVyTGlzdC5zaXplKCk7ICsraW5kZXgpIHsKLSAgICAg
ICAgICAgIGF1dG8gdmlzdWFsT3JkZXIgPSBsaW5lTGF5b3V0UmVzdWx0LmRpcmVjdGlvbmFsaXR5
LnZpc3VhbE9yZGVyTGlzdFtpbmRleF07Ci0gICAgICAgICAgICBBU1NFUlQoaW5saW5lQ29udGVu
dFt2aXN1YWxPcmRlcl0uYmlkaUxldmVsKCkgIT0gSW5saW5lSXRlbTo6b3BhcXVlQmlkaUxldmVs
KTsKKyAgICAgICAgICAgIGF1dG8gbG9naWNhbEluZGV4ID0gbGluZUxheW91dFJlc3VsdC5kaXJl
Y3Rpb25hbGl0eS52aXN1YWxPcmRlckxpc3RbaW5kZXhdOworICAgICAgICAgICAgQVNTRVJUKGlu
bGluZUNvbnRlbnRbbG9naWNhbEluZGV4XS5iaWRpTGV2ZWwoKSAhPSBJbmxpbmVJdGVtOjpvcGFx
dWVCaWRpTGV2ZWwpOwogCi0gICAgICAgICAgICBhdXRvJiBsaW5lUnVuID0gaW5saW5lQ29udGVu
dFt2aXN1YWxPcmRlcl07CisgICAgICAgICAgICBhdXRvJiBsaW5lUnVuID0gaW5saW5lQ29udGVu
dFtsb2dpY2FsSW5kZXhdOwogICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gbGluZVJ1bi5s
YXlvdXRCb3goKTsKIAogICAgICAgICAgICAgYXV0byBuZWVkc0Rpc3BsYXlCb3hPckdlb21ldHJ5
U2V0dGluZyA9ICFsaW5lUnVuLmlzV29yZEJyZWFrT3Bwb3J0dW5pdHkoKSAmJiAhbGluZVJ1bi5p
c0lubGluZUJveEVuZCgpOwpAQCAtOTUxLDMyICs5NTEsNzIgQEAgdm9pZCBJbmxpbmVEaXNwbGF5
Q29udGVudEJ1aWxkZXI6OmNvbGxlY3RJbmtPdmVyZmxvd0ZvcklubGluZUJveGVzKElubGluZURp
c3BsYXkKICAgICB9CiB9CiAKLXZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpzZXRH
ZW9tZXRyeUZvckJsb2NrTGV2ZWxPdXRPZkZsb3dCb3hlcyhjb25zdCBWZWN0b3I8c2l6ZV90PiBp
bmRleExpc3RPZk91dE9mRmxvd0JveGVzLCBjb25zdCBMaW5lQm94JiBsaW5lQm94LCBjb25zdCBM
aW5lOjpSdW5MaXN0JiBsaW5lUnVucywgY29uc3QgVmVjdG9yPGludDMyX3Q+JiB2aXN1YWxPcmRl
ckxpc3QpCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0R2VvbWV0cnlGb3JPdXRPZkZsb3dCb3hlcyhj
b25zdCBWZWN0b3I8c2l6ZV90PiYgaW5kZXhMaXN0T2ZPdXRPZkZsb3dCb3hlcywgc3RkOjpvcHRp
b25hbDxzaXplX3Q+IGZpcnN0T3V0T2ZGbG93SW5kZXhXaXRoUHJldmlvdXNJbmZsb3dTaWJsaW5n
LCBjb25zdCBMaW5lOjpSdW5MaXN0JiBsaW5lUnVucywgY29uc3QgVmVjdG9yPGludDMyX3Q+JiB2
aXN1YWxPcmRlckxpc3QsIElubGluZUZvcm1hdHRpbmdDb250ZXh0JiBmb3JtYXR0aW5nQ29udGV4
dCwgY29uc3QgTGluZUJveCYgbGluZUJveCwgY29uc3QgQ29uc3RyYWludHNGb3JJbmxpbmVDb250
ZW50JiBjb25zdHJhaW50cykKIHsKKyAgICBhdXRvIGlzTGVmdFRvUmlnaHREaXJlY3Rpb24gPSBm
b3JtYXR0aW5nQ29udGV4dC5yb290KCkuc3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCk7
CisgICAgYXV0byBvdXRPZkZsb3dCb3ggPSBbJl0oc2l6ZV90IGkpIC0+IGNvbnN0IEJveCYgewor
ICAgICAgICBhdXRvIGluZGV4ID0gaW5kZXhMaXN0T2ZPdXRPZkZsb3dCb3hlc1tpXTsKKyAgICAg
ICAgaWYgKCFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKSB7CisgICAgICAgICAgICBhdXRvIGxhc3RJ
bmRleCA9IGluZGV4TGlzdE9mT3V0T2ZGbG93Qm94ZXMuc2l6ZSgpIC0gMTsKKyAgICAgICAgICAg
IGluZGV4ID0gaW5kZXhMaXN0T2ZPdXRPZkZsb3dCb3hlc1tsYXN0SW5kZXggLSBpXTsKKyAgICAg
ICAgfQorICAgICAgICByZXR1cm4gKHZpc3VhbE9yZGVyTGlzdC5pc0VtcHR5KCkgPyBsaW5lUnVu
c1tpbmRleF0gOiBsaW5lUnVuc1t2aXN1YWxPcmRlckxpc3RbaW5kZXhdXSkubGF5b3V0Qm94KCk7
CisgICAgfTsKKyAgICAvLyBTZXQgZ2VvbWV0cnkgb24gImJlZm9yZSBpbmZsb3cgY29udGVudCIg
Ym94ZXMgZmlyc3QsIGZvbGxvd2VkIGJ5IHRoZSAiYWZ0ZXIgaW5mbG93IGNvbnRlbnQiIGxpc3Qu
CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgIT0gZmlyc3RPdXRPZkZsb3dJbmRleFdpdGhQcmV2
aW91c0luZmxvd1NpYmxpbmcudmFsdWVfb3IoaW5kZXhMaXN0T2ZPdXRPZkZsb3dCb3hlcy5zaXpl
KCkpOyArK2kpCisgICAgICAgIGZvcm1hdHRpbmdDb250ZXh0Lmdlb21ldHJ5Rm9yQm94KG91dE9m
Rmxvd0JveChpKSkuc2V0VG9wTGVmdCh7IGNvbnN0cmFpbnRzLmhvcml6b250YWwoKS5sb2dpY2Fs
TGVmdCwgbGluZUJveC5sb2dpY2FsUmVjdCgpLnRvcCgpIH0pOworICAgIGZvciAoc2l6ZV90IGkg
PSBmaXJzdE91dE9mRmxvd0luZGV4V2l0aFByZXZpb3VzSW5mbG93U2libGluZy52YWx1ZV9vcihp
bmRleExpc3RPZk91dE9mRmxvd0JveGVzLnNpemUoKSk7IGkgPCBpbmRleExpc3RPZk91dE9mRmxv
d0JveGVzLnNpemUoKTsgKytpKQorICAgICAgICBmb3JtYXR0aW5nQ29udGV4dC5nZW9tZXRyeUZv
ckJveChvdXRPZkZsb3dCb3goaSkpLnNldFRvcExlZnQoeyBjb25zdHJhaW50cy5ob3Jpem9udGFs
KCkubG9naWNhbExlZnQsIGxpbmVCb3gubG9naWNhbFJlY3QoKS5ib3R0b20oKSB9KTsKK30KKwor
dm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnNldEdlb21ldHJ5Rm9yQmxvY2tMZXZl
bE91dE9mRmxvd0JveGVzKGNvbnN0IFZlY3RvcjxzaXplX3Q+JiBpbmRleExpc3RPZk91dE9mRmxv
d0JveGVzLCBjb25zdCBMaW5lQm94JiBsaW5lQm94LCBjb25zdCBMaW5lOjpSdW5MaXN0JiBsaW5l
UnVucywgY29uc3QgVmVjdG9yPGludDMyX3Q+JiB2aXN1YWxPcmRlckxpc3QpCit7CisgICAgaWYg
KGluZGV4TGlzdE9mT3V0T2ZGbG93Qm94ZXMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisK
KyAgICAvLyBCbG9jayBsZXZlbCBib3hlcyBhcmUgcGxhY2VkIGVpdGhlciBhdCB0aGUgc3RhcnQg
b2YgdGhlIGxpbmUgb3IgInVuZGVyIiBkZXBlbmRpbmcgd2hldGhlciB0aGV5IGhhdmUgcHJldmlv
dXMgaW5mbG93IHNpYmxpbmcuCisgICAgLy8gSGVyZSB3ZSBmaWd1cmUgb3V0IGlmIGEgcGFydGlj
dWxhciBvdXQgb2YgZmxvdyBib3ggaGFzIGFuIGluZmxvdyBzaWJsaW5nIG9yIG5vdC4KKyAgICAv
LyAxLiBGaW5kIHRoZSBmaXJzdCBpbmZsb3cgY29udGVudC4gQW55IG91dCBvZiBmbG93IGJveCBh
ZnRlciB0aGlzIGdldHMgbW92ZWQgX3VuZGVyXyB0aGUgbGluZSBib3guCisgICAgLy8gMi4gTG9v
cCB0aHJvdWdoIHRoZSBvdXQgb2YgZmxvdyBib3hlcyAoaW5kZXhMaXN0T2ZPdXRPZkZsb3dCb3hl
cykgYW5kIHNldCB0aGVpciB2ZXJ0aWNhbCBnZW9tZXRyeSBkZXBlbmRpbmcgd2hldGhlciB0aGV5
IGFyZSBiZWZvcmUgb3IgYWZ0ZXIgdGhlIGZpcnN0IGluZmxvdyBjb250ZW50LgorICAgIC8vIE5v
dGUgdGhhdCB0aGVyZSdzIGFuIGV4dHJhIGxheWVyIG9mIGRpcmVjdGlvbmFsaXR5IGhlcmU6IGlu
IGNhc2Ugb2YgcmlnaHQgdG8gbGVmdCBpbmxpbmUgZGlyZWN0aW9uLCB0aGUgYmVmb3JlIGluZmxv
dyBjb250ZW50IGNoZWNrIHN0YXJ0cyBmcm9tIHRoZSByaWdodCBlZGdlIGFuZCBwcm9ncmVzc2Vz
IGluIGEgbGVmdHdhcmQgbWFubmVyCisgICAgLy8gYW5kIG5vdCBpbiB2aXN1YWwgb3JkZXIuIEhv
d2V2ZXIgdGhpcyBpcyBub3QgbG9naWNhbCBvcmRlciBlaXRoZXIgKHdoaWNoIGlzIG1vcmUgYWJv
dXQgYmlkaSB0aGFuIGlubGluZSBkaXJlY3Rpb24pLiBTbyBMVFIgc3RhcnRzIGF0IHRoZSBsZWZ0
IHdoaWxlIFJUTCBzdGFydHMgYXQgdGhlIHJpZ2h0IGFuZCBpbgorICAgIC8vIGJvdGggY2FzZXMg
anVtcGluZyBmcm9tIHJ1biB0byBydW4gaW4gYmlkaSBvcmRlci4KICAgICBhdXRvJiBmb3JtYXR0
aW5nQ29udGV4dCA9IHRoaXMtPmZvcm1hdHRpbmdDb250ZXh0KCk7Ci0gICAgYXV0byBvdXRPZkZs
b3dDb250ZW50SGFzUHJldmlvdXNJbkZsb3dTaWJsaW5nV2l0aENvbnRlbnRPckRlY29yYXRpb24g
PSBmYWxzZTsKKyAgICBhdXRvIGlzTGVmdFRvUmlnaHREaXJlY3Rpb24gPSByb290KCkuc3R5bGUo
KS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCk7CisgICAgYXV0byBydW5JbmRleCA9IFsmXShhdXRv
IGksIGF1dG8gbGlzdFNpemUpIHsKKyAgICAgICAgLy8gTm90ZSB0aGF0IHdlIGFyZSBydW5uaW5n
IGEgYmFja3dhcmQgbG9vcCBoZXJlIGluIGNhc2Ugb2YgcmlnaHQtdG8tbGVmdC4KKyAgICAgICAg
aWYgKGlzTGVmdFRvUmlnaHREaXJlY3Rpb24pCisgICAgICAgICAgICByZXR1cm4gaTsKKyAgICAg
ICAgYXV0byBsYXN0SW5kZXggPSBsaXN0U2l6ZSAtIDE7CisgICAgICAgIHJldHVybiBsYXN0SW5k
ZXggLSBpOworICAgIH07CisKKyAgICBhdXRvIGZpcnN0SW5GbG93Q29udGVudEluZGV4ID0gc3Rk
OjpvcHRpb25hbDxzaXplX3Q+IHsgfTsKKyAgICBhdXRvIGNvbnRlbnRMaXN0U2l6ZSA9IHZpc3Vh
bE9yZGVyTGlzdC5pc0VtcHR5KCkgPyBsaW5lUnVucy5zaXplKCkgOiB2aXN1YWxPcmRlckxpc3Qu
c2l6ZSgpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgY29udGVudExpc3RTaXplOyArK2kp
IHsKKyAgICAgICAgYXV0byBpbmRleCA9IHJ1bkluZGV4KGksIGNvbnRlbnRMaXN0U2l6ZSk7Cisg
ICAgICAgIGF1dG8mIGxheW91dEJveCA9ICh2aXN1YWxPcmRlckxpc3QuaXNFbXB0eSgpID8gbGlu
ZVJ1bnNbaW5kZXhdIDogbGluZVJ1bnNbdmlzdWFsT3JkZXJMaXN0W2luZGV4XV0pLmxheW91dEJv
eCgpOworICAgICAgICBpZiAoIWxheW91dEJveC5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSkgewor
ICAgICAgICAgICAgZmlyc3RJbkZsb3dDb250ZW50SW5kZXggPSBpbmRleDsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKCFmaXJzdEluRmxvd0NvbnRlbnRJ
bmRleCkgeworICAgICAgICBzZXRHZW9tZXRyeUZvck91dE9mRmxvd0JveGVzKGluZGV4TGlzdE9m
T3V0T2ZGbG93Qm94ZXMsIHsgfSwgbGluZVJ1bnMsIHZpc3VhbE9yZGVyTGlzdCwgZm9ybWF0dGlu
Z0NvbnRleHQsIGxpbmVCb3gsIGNvbnN0cmFpbnRzKCkpOworICAgICAgICByZXR1cm47CisgICAg
fQogCisgICAgYXV0byBmaXJzdE91dE9mRmxvd0luZGV4V2l0aFByZXZpb3VzSW5mbG93U2libGlu
ZyA9IHN0ZDo6b3B0aW9uYWw8c2l6ZV90PiB7IH07CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBpbmRleExpc3RPZk91dE9mRmxvd0JveGVzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGF1dG8g
b3V0T2ZGbG93Qm94SW5kZXggPSBpbmRleExpc3RPZk91dE9mRmxvd0JveGVzW2ldOwotICAgICAg
ICBBU1NFUlQob3V0T2ZGbG93Qm94SW5kZXggPCBsaW5lUnVucy5zaXplKCkpOwotCi0gICAgICAg
IGF1dG8gaGFzUHJldmlvdXNJbkZsb3dDb250ZW50ID0gWyZdIHsKLSAgICAgICAgICAgIGlmIChv
dXRPZkZsb3dDb250ZW50SGFzUHJldmlvdXNJbkZsb3dTaWJsaW5nV2l0aENvbnRlbnRPckRlY29y
YXRpb24pCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICBmb3IgKHNp
emVfdCBwcmV2aW91c1J1bkluZGV4ID0gIWkgPyAwIDogaW5kZXhMaXN0T2ZPdXRPZkZsb3dCb3hl
c1tpIC0gMV0gKyAxOyBwcmV2aW91c1J1bkluZGV4IDwgb3V0T2ZGbG93Qm94SW5kZXg7ICsrcHJl
dmlvdXNSdW5JbmRleCkgewotICAgICAgICAgICAgICAgIGF1dG8mIHByZXZpb3VzUnVuID0gdmlz
dWFsT3JkZXJMaXN0LmlzRW1wdHkoKSA/IGxpbmVSdW5zW3ByZXZpb3VzUnVuSW5kZXhdIDogbGlu
ZVJ1bnNbdmlzdWFsT3JkZXJMaXN0W3ByZXZpb3VzUnVuSW5kZXhdXTsKLSAgICAgICAgICAgICAg
ICBpZiAoTGluZTo6UnVuOjppc0NvbnRlbnRmdWxPckhhc0RlY29yYXRpb24ocHJldmlvdXNSdW4s
IGZvcm1hdHRpbmdDb250ZXh0KSkgewotICAgICAgICAgICAgICAgICAgICBvdXRPZkZsb3dDb250
ZW50SGFzUHJldmlvdXNJbkZsb3dTaWJsaW5nV2l0aENvbnRlbnRPckRlY29yYXRpb24gPSB0cnVl
OwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIH07Ci0gICAg
ICAgIC8vIEJsb2NrIGxldmVsIGJveGVzIGFyZSBwbGFjZWQgZWl0aGVyIGF0IHRoZSBzdGFydCBv
ZiB0aGUgbGluZSBvciAidW5kZXIiIGRlcGVuZGluZyB3aGV0aGVyIHRoZXkgaGF2ZSBwcmV2aW91
cyBpbmZsb3cgc2libGluZy4KLSAgICAgICAgYXV0byBsb2dpY2FsVG9wID0gaGFzUHJldmlvdXNJ
bkZsb3dDb250ZW50KCkgPyBsaW5lQm94LmxvZ2ljYWxSZWN0KCkuYm90dG9tKCkgOiBsaW5lQm94
LmxvZ2ljYWxSZWN0KCkudG9wKCk7Ci0gICAgICAgIGF1dG8mIGxpbmVSdW4gPSB2aXN1YWxPcmRl
ckxpc3QuaXNFbXB0eSgpID8gbGluZVJ1bnNbb3V0T2ZGbG93Qm94SW5kZXhdIDogbGluZVJ1bnNb
dmlzdWFsT3JkZXJMaXN0W291dE9mRmxvd0JveEluZGV4XV07Ci0gICAgICAgIGZvcm1hdHRpbmdD
b250ZXh0Lmdlb21ldHJ5Rm9yQm94KGxpbmVSdW4ubGF5b3V0Qm94KCkpLnNldFRvcExlZnQoeyBj
b25zdHJhaW50cygpLmhvcml6b250YWwoKS5sb2dpY2FsTGVmdCwgbG9naWNhbFRvcCB9KTsKKyAg
ICAgICAgYXV0byBvdXRPZkZsb3dJbmRleCA9IHJ1bkluZGV4KGksIGluZGV4TGlzdE9mT3V0T2ZG
bG93Qm94ZXMuc2l6ZSgpKTsKKyAgICAgICAgYXV0byBoYXNQcmV2aW91c0luZmxvd1NpYmxpbmcg
PSAoaXNMZWZ0VG9SaWdodERpcmVjdGlvbiAmJiBpbmRleExpc3RPZk91dE9mRmxvd0JveGVzW291
dE9mRmxvd0luZGV4XSA+ICpmaXJzdEluRmxvd0NvbnRlbnRJbmRleCkgfHwgKCFpc0xlZnRUb1Jp
Z2h0RGlyZWN0aW9uICYmIGluZGV4TGlzdE9mT3V0T2ZGbG93Qm94ZXNbb3V0T2ZGbG93SW5kZXhd
IDwgKmZpcnN0SW5GbG93Q29udGVudEluZGV4KTsKKyAgICAgICAgaWYgKGhhc1ByZXZpb3VzSW5m
bG93U2libGluZykgeworICAgICAgICAgICAgZmlyc3RPdXRPZkZsb3dJbmRleFdpdGhQcmV2aW91
c0luZmxvd1NpYmxpbmcgPSBvdXRPZkZsb3dJbmRleDsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICB9CiAgICAgfQorICAgIHNldEdlb21ldHJ5Rm9yT3V0T2ZGbG93Qm94ZXMoaW5kZXhMaXN0
T2ZPdXRPZkZsb3dCb3hlcywgZmlyc3RPdXRPZkZsb3dJbmRleFdpdGhQcmV2aW91c0luZmxvd1Np
YmxpbmcsIGxpbmVSdW5zLCB2aXN1YWxPcmRlckxpc3QsIGZvcm1hdHRpbmdDb250ZXh0LCBsaW5l
Qm94LCBjb25zdHJhaW50cygpKTsKIH0KIAogc3RhdGljIGZsb2F0IGxvZ2ljYWxCb3R0b21Gb3JU
ZXh0RGVjb3JhdGlvbkNvbnRlbnQoY29uc3QgSW5saW5lRGlzcGxheTo6Qm94ZXMmIGJveGVzLCBi
b29sIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMv
aW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmgKaW5kZXggZjU1ZDk5
NGJjYzgxLi4wZjA3NjgyYTdkYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
b3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWls
ZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxp
bmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuaApAQCAtNzUsNyArNzUsNyBA
QCBwcml2YXRlOgogICAgIHZvaWQgc2V0UmlnaHRGb3JXcml0aW5nTW9kZShJbmxpbmVEaXNwbGF5
OjpCb3gmLCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxSaWdodCwgV3JpdGluZ01vZGUpIGNvbnN0
OwogICAgIElubGluZUxheW91dFBvaW50IG1vdmVQb2ludEhvcml6b250YWxseUZvcldyaXRpbmdN
b2RlKGNvbnN0IElubGluZUxheW91dFBvaW50JiB0b3BMZWZ0LCBJbmxpbmVMYXlvdXRVbml0IGhv
cml6b250YWxPZmZzZXQsIFdyaXRpbmdNb2RlKSBjb25zdDsKICAgICBJbmxpbmVMYXlvdXRVbml0
IG91dHNpZGVMaXN0TWFya2VyVmlzdWFsUG9zaXRpb24oY29uc3QgRWxlbWVudEJveCYpIGNvbnN0
OwotICAgIHZvaWQgc2V0R2VvbWV0cnlGb3JCbG9ja0xldmVsT3V0T2ZGbG93Qm94ZXMoY29uc3Qg
VmVjdG9yPHNpemVfdD4gaW5kZXhMaXN0LCBjb25zdCBMaW5lQm94JiwgY29uc3QgTGluZTo6UnVu
TGlzdCYsIGNvbnN0IFZlY3RvcjxpbnQzMl90PiYgdmlzdWFsT3JkZXJMaXN0ID0geyB9KTsKKyAg
ICB2b2lkIHNldEdlb21ldHJ5Rm9yQmxvY2tMZXZlbE91dE9mRmxvd0JveGVzKGNvbnN0IFZlY3Rv
cjxzaXplX3Q+JiBpbmRleExpc3QsIGNvbnN0IExpbmVCb3gmLCBjb25zdCBMaW5lOjpSdW5MaXN0
JiwgY29uc3QgVmVjdG9yPGludDMyX3Q+JiB2aXN1YWxPcmRlckxpc3QgPSB7IH0pOwogCiAgICAg
Ym9vbCBpc0xpbmVGdWxseVRydW5jYXRlZEluQmxvY2tEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVy
biBtX2xpbmVJc0Z1bGx5VHJ1bmNhdGVkSW5CbG9ja0RpcmVjdGlvbjsgfQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL3JpZ2h0LXRvLWxlZnQtb3V0LW9mLWZsb3ctd2l0aC1p
bmZsb3ctY29udGVudC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9yaWdo
dC10by1sZWZ0LW91dC1vZi1mbG93LXdpdGgtaW5mbG93LWNvbnRlbnQtZXhwZWN0ZWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjg1YzgzYzYzZWZhNgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svcmlnaHQtdG8tbGVmdC1vdXQt
b2YtZmxvdy13aXRoLWluZmxvdy1jb250ZW50LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMiBA
QAorPHN0eWxlPgorLmNvbnRhaW5lciB7CisgIGRpcmVjdGlvbjogcnRsOworfQorLmFic19wb3Mg
eworICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgIHdpZHRoOiA1MDBweDsKKyAgaGVpZ2h0OiAx
MDBweDsKKyAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKK30KKzwvc3R5bGU+Cis8ZGl2IGNsYXNz
PWNvbnRhaW5lcj5QQVNTIGlmIHRoaXMgdGV4dCBpcyB2aXNpYmxlPGJyPjxkaXYgY2xhc3M9YWJz
X3Bvcz48L2Rpdj48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svcmln
aHQtdG8tbGVmdC1vdXQtb2YtZmxvdy13aXRoLWluZmxvdy1jb250ZW50Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Jsb2NrL3JpZ2h0LXRvLWxlZnQtb3V0LW9mLWZsb3ctd2l0aC1pbmZsb3ctY29u
dGVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDJmMDFm
NGI0OWM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ibG9jay9yaWdodC10
by1sZWZ0LW91dC1vZi1mbG93LXdpdGgtaW5mbG93LWNvbnRlbnQuaHRtbApAQCAtMCwwICsxLDEy
IEBACis8c3R5bGU+CisuY29udGFpbmVyIHsKKyAgZGlyZWN0aW9uOiBydGw7Cit9CisuYWJzX3Bv
cyB7CisgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgd2lkdGg6IDUwMHB4OworICBoZWlnaHQ6IDEw
MHB4OworICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworfQorPC9zdHlsZT4KKzxkaXYgY2xhc3M9
Y29udGFpbmVyPlBBU1MgaWYgdGhpcyB0ZXh0IGlzIHZpc2libGUgPGRpdiBjbGFzcz1hYnNfcG9z
PjwvZGl2PjwvZGl2Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468436</attachid>
            <date>2023-10-31 16:26:58 -0700</date>
            <delta_ts>2023-10-31 20:51:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-263892-20231031162658.patch</filename>
            <type>text/plain</type>
            <size>12609</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBjZDgyYTdlZjJkYzE3M2YzMmQ5YTU3ZmNiNmQ4YzEwOThhNTcwM2YxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFR1ZSwgMzEgT2N0IDIwMjMgMTM6MTU6MjAgLTA3MDAKU3ViamVjdDogW1BBVENIXSBSRUdSRVNT
SU9OKDI2Nzk0NEBtYWluKTogd3B0CiAvY3NzL0NTUzIvcG9zaXRpb25pbmcvYWJzcG9zLWJsb2Nr
LWxldmVsLTAwMS5odG1sCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjYzODkyCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClRoaXMgcGF0Y2ggZXh0ZW5kcyB0
aGUgbG9naWMgb2YgImlzIHRoZXJlIGFuIGluZmxvdyBjb250ZW50IGJlZm9yZSB0aGlzIG91dCBv
ZiBmbG93IGJveCIgYnkKdGFraW5nIGlubGluZSBkaXJlY3Rpb24gaW50byBhY2NvdW50LgoKV2Ug
YWxyZWFkeSBoYW5kbGUgYmlkaSAobG9naWNhbCBwb3NpdGlvbiB2cy4gdmlzdWFsIHBvc2l0aW9u
KSBqdXN0IGZpbmUgYnV0IHRoZXJlJ3MgYW5vdGhlciBsYXllciBvZiB2aXN1YWwgb3JkZXIgaGVy
ZS4KV2hlbiB0aGUgY29udGVudCBpcyBSVEwgKGFnYWluIG5vdCB0byBiZSBjb25mdXNlZCB3aXRo
IGJpZGkpIHRoZSBsb2dpYyBvZiBmaW5kaW5nIG91dCBpZiBhbiBvdXQgb2YgZmxvdyBib3gKaGFz
IHByZWNlZGluZyBpbiBmbG93IGNvbnRlbnQgbmVlZHMgdG8gc3RhcnQgZnJvbSB0aGUgKHZpc3Vh
bCkgcmlnaHQgZWRnZSBhbmQgZm9sbG93IHRoZSBpbmxpbmUgZGlyZWN0aW9uLgooaS5lLiBpbiBh
ZGRpdGlvbiB0byByZXNvbHZpbmcgdGhlIGxvZ2ljYWwgLT4gdmlzdWFsIG9yZGVyLCB3ZSBhbHNv
IG5lZWQgdG8gdHJhdmVycyB0aGVzZSBydW4gbGlzdHMgaW4gaW5saW5lIGRpcmVjdGlvbiBvcmRl
cikKCiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlz
cGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwOgooV2ViQ29yZTo6TGF5b3V0OjpJ
bmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nlc3NCaWRpQ29udGVudCk6CihXZWJDb3Jl
OjpMYXlvdXQ6OnNldEdlb21ldHJ5Rm9yT3V0T2ZGbG93Qm94ZXMpOgooV2ViQ29yZTo6TGF5b3V0
OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnNldEdlb21ldHJ5Rm9yQmxvY2tMZXZlbE91
dE9mRmxvd0JveGVzKToKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5oOgooV2ViQ29yZTo6
TGF5b3V0OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnNldEdlb21ldHJ5Rm9yQmxvY2tM
ZXZlbE91dE9mRmxvd0JveGVzKToKLS0tCiAuLi4vZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVu
dEJ1aWxkZXIuY3BwICAgfCA5NSArKysrKysrKysrKysrKy0tLS0tCiAuLi4vZGlzcGxheS9Jbmxp
bmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuaCAgICAgfCAgMiArLQogLi4uLW9mLWZsb3ctd2l0aC1p
bmZsb3ctY29udGVudC1leHBlY3RlZC5odG1sIHwgMTIgKysrCiAuLi4tbGVmdC1vdXQtb2YtZmxv
dy13aXRoLWluZmxvdy1jb250ZW50Lmh0bWwgfCAxMiArKysKIDQgZmlsZXMgY2hhbmdlZCwgOTQg
aW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0
VGVzdHMvZmFzdC9ibG9jay9yaWdodC10by1sZWZ0LW91dC1vZi1mbG93LXdpdGgtaW5mbG93LWNv
bnRlbnQtZXhwZWN0ZWQuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qv
YmxvY2svcmlnaHQtdG8tbGVmdC1vdXQtb2YtZmxvdy13aXRoLWluZmxvdy1jb250ZW50Lmh0bWwK
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3Bs
YXlDb250ZW50QnVpbGRlci5jcHAKaW5kZXggMjI4YmFiZDk0NzRjLi45MTA3OTE2YmFjMmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3Bs
YXlDb250ZW50QnVpbGRlci5jcHAKQEAgLTc2MywxMCArNzYzLDEwIEBAIHZvaWQgSW5saW5lRGlz
cGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRlbnQoY29uc3QgTGluZUxheW91dFJl
c3VsdCYgbGluCiAgICAgICAgIGF1dG8gY29udGVudFJpZ2h0SW5JbmxpbmVEaXJlY3Rpb25WaXN1
YWxPcmRlciA9IGNvbnRlbnRTdGFydEluSW5saW5lRGlyZWN0aW9uVmlzdWFsT3JkZXI7CiAgICAg
ICAgIGF1dG8mIGlubGluZUNvbnRlbnQgPSBsaW5lTGF5b3V0UmVzdWx0LmlubGluZUNvbnRlbnQ7
CiAgICAgICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBsaW5lTGF5b3V0UmVzdWx0
LmRpcmVjdGlvbmFsaXR5LnZpc3VhbE9yZGVyTGlzdC5zaXplKCk7ICsraW5kZXgpIHsKLSAgICAg
ICAgICAgIGF1dG8gdmlzdWFsT3JkZXIgPSBsaW5lTGF5b3V0UmVzdWx0LmRpcmVjdGlvbmFsaXR5
LnZpc3VhbE9yZGVyTGlzdFtpbmRleF07Ci0gICAgICAgICAgICBBU1NFUlQoaW5saW5lQ29udGVu
dFt2aXN1YWxPcmRlcl0uYmlkaUxldmVsKCkgIT0gSW5saW5lSXRlbTo6b3BhcXVlQmlkaUxldmVs
KTsKKyAgICAgICAgICAgIGF1dG8gbG9naWNhbEluZGV4ID0gbGluZUxheW91dFJlc3VsdC5kaXJl
Y3Rpb25hbGl0eS52aXN1YWxPcmRlckxpc3RbaW5kZXhdOworICAgICAgICAgICAgQVNTRVJUKGlu
bGluZUNvbnRlbnRbbG9naWNhbEluZGV4XS5iaWRpTGV2ZWwoKSAhPSBJbmxpbmVJdGVtOjpvcGFx
dWVCaWRpTGV2ZWwpOwogCi0gICAgICAgICAgICBhdXRvJiBsaW5lUnVuID0gaW5saW5lQ29udGVu
dFt2aXN1YWxPcmRlcl07CisgICAgICAgICAgICBhdXRvJiBsaW5lUnVuID0gaW5saW5lQ29udGVu
dFtsb2dpY2FsSW5kZXhdOwogICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gbGluZVJ1bi5s
YXlvdXRCb3goKTsKIAogICAgICAgICAgICAgYXV0byBuZWVkc0Rpc3BsYXlCb3hPckdlb21ldHJ5
U2V0dGluZyA9ICFsaW5lUnVuLmlzV29yZEJyZWFrT3Bwb3J0dW5pdHkoKSAmJiAhbGluZVJ1bi5p
c0lubGluZUJveEVuZCgpOwpAQCAtOTUxLDMyICs5NTEsNzUgQEAgdm9pZCBJbmxpbmVEaXNwbGF5
Q29udGVudEJ1aWxkZXI6OmNvbGxlY3RJbmtPdmVyZmxvd0ZvcklubGluZUJveGVzKElubGluZURp
c3BsYXkKICAgICB9CiB9CiAKLXZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpzZXRH
ZW9tZXRyeUZvckJsb2NrTGV2ZWxPdXRPZkZsb3dCb3hlcyhjb25zdCBWZWN0b3I8c2l6ZV90PiBp
bmRleExpc3RPZk91dE9mRmxvd0JveGVzLCBjb25zdCBMaW5lQm94JiBsaW5lQm94LCBjb25zdCBM
aW5lOjpSdW5MaXN0JiBsaW5lUnVucywgY29uc3QgVmVjdG9yPGludDMyX3Q+JiB2aXN1YWxPcmRl
ckxpc3QpCitzdGF0aWMgaW5saW5lIHNpemVfdCBydW5JbmRleChhdXRvIGksIGF1dG8gbGlzdFNp
emUsIGF1dG8gaXNMZWZ0VG9SaWdodERpcmVjdGlvbikKIHsKKyAgICBpZiAoaXNMZWZ0VG9SaWdo
dERpcmVjdGlvbikKKyAgICAgICAgcmV0dXJuIGk7CisgICAgYXV0byBsYXN0SW5kZXggPSBsaXN0
U2l6ZSAtIDE7CisgICAgcmV0dXJuIGxhc3RJbmRleCAtIGk7Cit9CisKK3N0YXRpYyBpbmxpbmUg
dm9pZCBzZXRHZW9tZXRyeUZvck91dE9mRmxvd0JveGVzKGNvbnN0IFZlY3RvcjxzaXplX3Q+JiBp
bmRleExpc3RPZk91dE9mRmxvd0JveGVzLCBzdGQ6Om9wdGlvbmFsPHNpemVfdD4gZmlyc3RPdXRP
ZkZsb3dJbmRleFdpdGhQcmV2aW91c0luZmxvd1NpYmxpbmcsIGNvbnN0IExpbmU6OlJ1bkxpc3Qm
IGxpbmVSdW5zLCBjb25zdCBWZWN0b3I8aW50MzJfdD4mIHZpc3VhbE9yZGVyTGlzdCwgSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQmIGZvcm1hdHRpbmdDb250ZXh0LCBjb25zdCBMaW5lQm94JiBsaW5l
Qm94LCBjb25zdCBDb25zdHJhaW50c0ZvcklubGluZUNvbnRlbnQmIGNvbnN0cmFpbnRzKQorewor
ICAgIGF1dG8gaXNMZWZ0VG9SaWdodERpcmVjdGlvbiA9IGZvcm1hdHRpbmdDb250ZXh0LnJvb3Qo
KS5zdHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKTsKKyAgICBhdXRvIG91dE9mRmxvd0Jv
eExpc3RTaXplID0gaW5kZXhMaXN0T2ZPdXRPZkZsb3dCb3hlcy5zaXplKCk7CisKKyAgICBhdXRv
IG91dE9mRmxvd0JveCA9IFsmXShzaXplX3QgaSkgLT4gY29uc3QgQm94JiB7CisgICAgICAgIGF1
dG8gb3V0T2ZGbG93UnVuSW5kZXggPSBpbmRleExpc3RPZk91dE9mRmxvd0JveGVzW3J1bkluZGV4
KGksIG91dE9mRmxvd0JveExpc3RTaXplLCBpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKV07CisgICAg
ICAgIHJldHVybiAodmlzdWFsT3JkZXJMaXN0LmlzRW1wdHkoKSA/IGxpbmVSdW5zW291dE9mRmxv
d1J1bkluZGV4XSA6IGxpbmVSdW5zW3Zpc3VhbE9yZGVyTGlzdFtvdXRPZkZsb3dSdW5JbmRleF1d
KS5sYXlvdXRCb3goKTsKKyAgICB9OworICAgIC8vIFNldCBnZW9tZXRyeSBvbiAiYmVmb3JlIGlu
ZmxvdyBjb250ZW50IiBib3hlcyBmaXJzdCwgZm9sbG93ZWQgYnkgdGhlICJhZnRlciBpbmZsb3cg
Y29udGVudCIgbGlzdC4KKyAgICBhdXRvIGJlZm9yZUFmdGVyQm91bmRhcnkgPSBmaXJzdE91dE9m
Rmxvd0luZGV4V2l0aFByZXZpb3VzSW5mbG93U2libGluZy52YWx1ZV9vcihvdXRPZkZsb3dCb3hM
aXN0U2l6ZSk7CisgICAgLy8gVGhlc2Ugb3V0IG9mIGZsb3cgYm94ZXMgInNpdCIgb24gdGhlIGxp
bmUgc3RhcnQgKHRoZXkgYXJlIGJlZm9yZSBhbnkgaW5mbG93IGNvbnRlbnQgZS5nLiA8ZGl2Pjxk
aXYgY2xhc3M9b3V0LW9mLWZsb3c+PC9kaXY+c29tZSB0ZXh0PGRpdj4pCisgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBiZWZvcmVBZnRlckJvdW5kYXJ5OyArK2kpCisgICAgICAgIGZvcm1hdHRp
bmdDb250ZXh0Lmdlb21ldHJ5Rm9yQm94KG91dE9mRmxvd0JveChpKSkuc2V0VG9wTGVmdCh7IGNv
bnN0cmFpbnRzLmhvcml6b250YWwoKS5sb2dpY2FsTGVmdCwgbGluZUJveC5sb2dpY2FsUmVjdCgp
LnRvcCgpIH0pOworICAgIC8vIFRoZXNlIG91dCBvZiBmbG93IGJveGVzIGFyZSBhbGwgX2FmdGVy
XyBhbiBpbmZsb3cgY29udGVudCBhbmQgZ2V0ICJ3cmFwcGVkIiB0byB0aGUgbmV4dCBsaW5lLgor
ICAgIGZvciAoc2l6ZV90IGkgPSBiZWZvcmVBZnRlckJvdW5kYXJ5OyBpIDwgb3V0T2ZGbG93Qm94
TGlzdFNpemU7ICsraSkKKyAgICAgICAgZm9ybWF0dGluZ0NvbnRleHQuZ2VvbWV0cnlGb3JCb3go
b3V0T2ZGbG93Qm94KGkpKS5zZXRUb3BMZWZ0KHsgY29uc3RyYWludHMuaG9yaXpvbnRhbCgpLmxv
Z2ljYWxMZWZ0LCBsaW5lQm94LmxvZ2ljYWxSZWN0KCkuYm90dG9tKCkgfSk7Cit9CisKK3ZvaWQg
SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpzZXRHZW9tZXRyeUZvckJsb2NrTGV2ZWxPdXRP
ZkZsb3dCb3hlcyhjb25zdCBWZWN0b3I8c2l6ZV90PiYgaW5kZXhMaXN0T2ZPdXRPZkZsb3dCb3hl
cywgY29uc3QgTGluZUJveCYgbGluZUJveCwgY29uc3QgTGluZTo6UnVuTGlzdCYgbGluZVJ1bnMs
IGNvbnN0IFZlY3RvcjxpbnQzMl90PiYgdmlzdWFsT3JkZXJMaXN0KQoreworICAgIGlmIChpbmRl
eExpc3RPZk91dE9mRmxvd0JveGVzLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
Ly8gQmxvY2sgbGV2ZWwgYm94ZXMgYXJlIHBsYWNlZCBlaXRoZXIgYXQgdGhlIHN0YXJ0IG9mIHRo
ZSBsaW5lIG9yICJ1bmRlciIgZGVwZW5kaW5nIHdoZXRoZXIgdGhleSBoYXZlIHByZXZpb3VzIGlu
ZmxvdyBzaWJsaW5nLgorICAgIC8vIEhlcmUgd2UgZmlndXJlIG91dCBpZiBhIHBhcnRpY3VsYXIg
b3V0IG9mIGZsb3cgYm94IGhhcyBhbiBpbmZsb3cgc2libGluZyBvciBub3QuCisgICAgLy8gMS4g
RmluZCB0aGUgZmlyc3QgaW5mbG93IGNvbnRlbnQuIEFueSBvdXQgb2YgZmxvdyBib3ggYWZ0ZXIg
dGhpcyBnZXRzIG1vdmVkIF91bmRlcl8gdGhlIGxpbmUgYm94LgorICAgIC8vIDIuIExvb3AgdGhy
b3VnaCB0aGUgb3V0IG9mIGZsb3cgYm94ZXMgKGluZGV4TGlzdE9mT3V0T2ZGbG93Qm94ZXMpIGFu
ZCBzZXQgdGhlaXIgdmVydGljYWwgZ2VvbWV0cnkgZGVwZW5kaW5nIHdoZXRoZXIgdGhleSBhcmUg
YmVmb3JlIG9yIGFmdGVyIHRoZSBmaXJzdCBpbmZsb3cgY29udGVudC4KKyAgICAvLyBOb3RlIHRo
YXQgdGhlcmUncyBhbiBleHRyYSBsYXllciBvZiBkaXJlY3Rpb25hbGl0eSBoZXJlOiBpbiBjYXNl
IG9mIHJpZ2h0IHRvIGxlZnQgaW5saW5lIGRpcmVjdGlvbiwgdGhlIGJlZm9yZSBpbmZsb3cgY29u
dGVudCBjaGVjayBzdGFydHMgZnJvbSB0aGUgcmlnaHQgZWRnZSBhbmQgcHJvZ3Jlc3NlcyBpbiBh
IGxlZnR3YXJkIG1hbm5lcgorICAgIC8vIGFuZCBub3QgaW4gdmlzdWFsIG9yZGVyLiBIb3dldmVy
IHRoaXMgaXMgbm90IGxvZ2ljYWwgb3JkZXIgZWl0aGVyICh3aGljaCBpcyBtb3JlIGFib3V0IGJp
ZGkgdGhhbiBpbmxpbmUgZGlyZWN0aW9uKS4gU28gTFRSIHN0YXJ0cyBhdCB0aGUgbGVmdCB3aGls
ZSBSVEwgc3RhcnRzIGF0IHRoZSByaWdodCBhbmQgaW4KKyAgICAvLyBib3RoIGNhc2VzIGp1bXBp
bmcgZnJvbSBydW4gdG8gcnVuIGluIGJpZGkgb3JkZXIuCiAgICAgYXV0byYgZm9ybWF0dGluZ0Nv
bnRleHQgPSB0aGlzLT5mb3JtYXR0aW5nQ29udGV4dCgpOwotICAgIGF1dG8gb3V0T2ZGbG93Q29u
dGVudEhhc1ByZXZpb3VzSW5GbG93U2libGluZ1dpdGhDb250ZW50T3JEZWNvcmF0aW9uID0gZmFs
c2U7Ci0KLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGluZGV4TGlzdE9mT3V0T2ZGbG93Qm94
ZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgYXV0byBvdXRPZkZsb3dCb3hJbmRleCA9IGluZGV4
TGlzdE9mT3V0T2ZGbG93Qm94ZXNbaV07Ci0gICAgICAgIEFTU0VSVChvdXRPZkZsb3dCb3hJbmRl
eCA8IGxpbmVSdW5zLnNpemUoKSk7Ci0KLSAgICAgICAgYXV0byBoYXNQcmV2aW91c0luRmxvd0Nv
bnRlbnQgPSBbJl0gewotICAgICAgICAgICAgaWYgKG91dE9mRmxvd0NvbnRlbnRIYXNQcmV2aW91
c0luRmxvd1NpYmxpbmdXaXRoQ29udGVudE9yRGVjb3JhdGlvbikKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIGZvciAoc2l6ZV90IHByZXZpb3VzUnVuSW5kZXggPSAh
aSA/IDAgOiBpbmRleExpc3RPZk91dE9mRmxvd0JveGVzW2kgLSAxXSArIDE7IHByZXZpb3VzUnVu
SW5kZXggPCBvdXRPZkZsb3dCb3hJbmRleDsgKytwcmV2aW91c1J1bkluZGV4KSB7Ci0gICAgICAg
ICAgICAgICAgYXV0byYgcHJldmlvdXNSdW4gPSB2aXN1YWxPcmRlckxpc3QuaXNFbXB0eSgpID8g
bGluZVJ1bnNbcHJldmlvdXNSdW5JbmRleF0gOiBsaW5lUnVuc1t2aXN1YWxPcmRlckxpc3RbcHJl
dmlvdXNSdW5JbmRleF1dOwotICAgICAgICAgICAgICAgIGlmIChMaW5lOjpSdW46OmlzQ29udGVu
dGZ1bE9ySGFzRGVjb3JhdGlvbihwcmV2aW91c1J1biwgZm9ybWF0dGluZ0NvbnRleHQpKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIG91dE9mRmxvd0NvbnRlbnRIYXNQcmV2aW91c0luRmxvd1NpYmxp
bmdXaXRoQ29udGVudE9yRGVjb3JhdGlvbiA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgIHJl
dHVybiB0cnVlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgfTsKLSAgICAgICAgLy8gQmxvY2sgbGV2ZWwgYm94ZXMg
YXJlIHBsYWNlZCBlaXRoZXIgYXQgdGhlIHN0YXJ0IG9mIHRoZSBsaW5lIG9yICJ1bmRlciIgZGVw
ZW5kaW5nIHdoZXRoZXIgdGhleSBoYXZlIHByZXZpb3VzIGluZmxvdyBzaWJsaW5nLgotICAgICAg
ICBhdXRvIGxvZ2ljYWxUb3AgPSBoYXNQcmV2aW91c0luRmxvd0NvbnRlbnQoKSA/IGxpbmVCb3gu
bG9naWNhbFJlY3QoKS5ib3R0b20oKSA6IGxpbmVCb3gubG9naWNhbFJlY3QoKS50b3AoKTsKLSAg
ICAgICAgYXV0byYgbGluZVJ1biA9IHZpc3VhbE9yZGVyTGlzdC5pc0VtcHR5KCkgPyBsaW5lUnVu
c1tvdXRPZkZsb3dCb3hJbmRleF0gOiBsaW5lUnVuc1t2aXN1YWxPcmRlckxpc3Rbb3V0T2ZGbG93
Qm94SW5kZXhdXTsKLSAgICAgICAgZm9ybWF0dGluZ0NvbnRleHQuZ2VvbWV0cnlGb3JCb3gobGlu
ZVJ1bi5sYXlvdXRCb3goKSkuc2V0VG9wTGVmdCh7IGNvbnN0cmFpbnRzKCkuaG9yaXpvbnRhbCgp
LmxvZ2ljYWxMZWZ0LCBsb2dpY2FsVG9wIH0pOworICAgIGF1dG8gaXNMZWZ0VG9SaWdodERpcmVj
dGlvbiA9IHJvb3QoKS5zdHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKTsKKworICAgIGF1
dG8gZmlyc3RJbkZsb3dDb250ZW50SW5kZXggPSBzdGQ6Om9wdGlvbmFsPHNpemVfdD4geyB9Owor
ICAgIGF1dG8gY29udGVudExpc3RTaXplID0gdmlzdWFsT3JkZXJMaXN0LmlzRW1wdHkoKSA/IGxp
bmVSdW5zLnNpemUoKSA6IHZpc3VhbE9yZGVyTGlzdC5zaXplKCk7CisgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBjb250ZW50TGlzdFNpemU7ICsraSkgeworICAgICAgICBhdXRvIGluZGV4ID0g
cnVuSW5kZXgoaSwgY29udGVudExpc3RTaXplLCBpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKTsKKyAg
ICAgICAgYXV0byYgbGF5b3V0Qm94ID0gKHZpc3VhbE9yZGVyTGlzdC5pc0VtcHR5KCkgPyBsaW5l
UnVuc1tpbmRleF0gOiBsaW5lUnVuc1t2aXN1YWxPcmRlckxpc3RbaW5kZXhdXSkubGF5b3V0Qm94
KCk7CisgICAgICAgIGlmICghbGF5b3V0Qm94LmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpKSB7Cisg
ICAgICAgICAgICBmaXJzdEluRmxvd0NvbnRlbnRJbmRleCA9IGluZGV4OworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoIWZpcnN0SW5GbG93Q29udGVudElu
ZGV4KSB7CisgICAgICAgIHNldEdlb21ldHJ5Rm9yT3V0T2ZGbG93Qm94ZXMoaW5kZXhMaXN0T2ZP
dXRPZkZsb3dCb3hlcywgeyB9LCBsaW5lUnVucywgdmlzdWFsT3JkZXJMaXN0LCBmb3JtYXR0aW5n
Q29udGV4dCwgbGluZUJveCwgY29uc3RyYWludHMoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBhdXRvIGZpcnN0T3V0T2ZGbG93SW5kZXhXaXRoUHJldmlvdXNJbmZsb3dTaWJsaW5n
ID0gc3RkOjpvcHRpb25hbDxzaXplX3Q+IHsgfTsKKyAgICBhdXRvIG91dE9mRmxvd0JveExpc3RT
aXplID0gaW5kZXhMaXN0T2ZPdXRPZkZsb3dCb3hlcy5zaXplKCk7CisgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBvdXRPZkZsb3dCb3hMaXN0U2l6ZTsgKytpKSB7CisgICAgICAgIGF1dG8gb3V0
T2ZGbG93SW5kZXggPSBydW5JbmRleChpLCBvdXRPZkZsb3dCb3hMaXN0U2l6ZSwgaXNMZWZ0VG9S
aWdodERpcmVjdGlvbik7CisgICAgICAgIGF1dG8gaGFzUHJldmlvdXNJbmZsb3dTaWJsaW5nID0g
KGlzTGVmdFRvUmlnaHREaXJlY3Rpb24gJiYgaW5kZXhMaXN0T2ZPdXRPZkZsb3dCb3hlc1tvdXRP
ZkZsb3dJbmRleF0gPiAqZmlyc3RJbkZsb3dDb250ZW50SW5kZXgpIHx8ICghaXNMZWZ0VG9SaWdo
dERpcmVjdGlvbiAmJiBpbmRleExpc3RPZk91dE9mRmxvd0JveGVzW291dE9mRmxvd0luZGV4XSA8
ICpmaXJzdEluRmxvd0NvbnRlbnRJbmRleCk7CisgICAgICAgIGlmIChoYXNQcmV2aW91c0luZmxv
d1NpYmxpbmcpIHsKKyAgICAgICAgICAgIGZpcnN0T3V0T2ZGbG93SW5kZXhXaXRoUHJldmlvdXNJ
bmZsb3dTaWJsaW5nID0gb3V0T2ZGbG93SW5kZXg7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgfQogICAgIH0KKyAgICBzZXRHZW9tZXRyeUZvck91dE9mRmxvd0JveGVzKGluZGV4TGlzdE9m
T3V0T2ZGbG93Qm94ZXMsIGZpcnN0T3V0T2ZGbG93SW5kZXhXaXRoUHJldmlvdXNJbmZsb3dTaWJs
aW5nLCBsaW5lUnVucywgdmlzdWFsT3JkZXJMaXN0LCBmb3JtYXR0aW5nQ29udGV4dCwgbGluZUJv
eCwgY29uc3RyYWludHMoKSk7CiB9CiAKIHN0YXRpYyBmbG9hdCBsb2dpY2FsQm90dG9tRm9yVGV4
dERlY29yYXRpb25Db250ZW50KGNvbnN0IElubGluZURpc3BsYXk6OkJveGVzJiBib3hlcywgYm9v
bCBpc0hvcml6b250YWxXcml0aW5nTW9kZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRl
bnRCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5oCmluZGV4IGY1NWQ5OTRi
Y2M4MS4uMGYwNzY4MmE3ZGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmgKQEAgLTc1LDcgKzc1LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHNldFJpZ2h0Rm9yV3JpdGluZ01vZGUoSW5saW5lRGlzcGxheTo6
Qm94JiwgSW5saW5lTGF5b3V0VW5pdCBsb2dpY2FsUmlnaHQsIFdyaXRpbmdNb2RlKSBjb25zdDsK
ICAgICBJbmxpbmVMYXlvdXRQb2ludCBtb3ZlUG9pbnRIb3Jpem9udGFsbHlGb3JXcml0aW5nTW9k
ZShjb25zdCBJbmxpbmVMYXlvdXRQb2ludCYgdG9wTGVmdCwgSW5saW5lTGF5b3V0VW5pdCBob3Jp
em9udGFsT2Zmc2V0LCBXcml0aW5nTW9kZSkgY29uc3Q7CiAgICAgSW5saW5lTGF5b3V0VW5pdCBv
dXRzaWRlTGlzdE1hcmtlclZpc3VhbFBvc2l0aW9uKGNvbnN0IEVsZW1lbnRCb3gmKSBjb25zdDsK
LSAgICB2b2lkIHNldEdlb21ldHJ5Rm9yQmxvY2tMZXZlbE91dE9mRmxvd0JveGVzKGNvbnN0IFZl
Y3RvcjxzaXplX3Q+IGluZGV4TGlzdCwgY29uc3QgTGluZUJveCYsIGNvbnN0IExpbmU6OlJ1bkxp
c3QmLCBjb25zdCBWZWN0b3I8aW50MzJfdD4mIHZpc3VhbE9yZGVyTGlzdCA9IHsgfSk7CisgICAg
dm9pZCBzZXRHZW9tZXRyeUZvckJsb2NrTGV2ZWxPdXRPZkZsb3dCb3hlcyhjb25zdCBWZWN0b3I8
c2l6ZV90PiYgaW5kZXhMaXN0LCBjb25zdCBMaW5lQm94JiwgY29uc3QgTGluZTo6UnVuTGlzdCYs
IGNvbnN0IFZlY3RvcjxpbnQzMl90PiYgdmlzdWFsT3JkZXJMaXN0ID0geyB9KTsKIAogICAgIGJv
b2wgaXNMaW5lRnVsbHlUcnVuY2F0ZWRJbkJsb2NrRGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4g
bV9saW5lSXNGdWxseVRydW5jYXRlZEluQmxvY2tEaXJlY3Rpb247IH0KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9ibG9jay9yaWdodC10by1sZWZ0LW91dC1vZi1mbG93LXdpdGgtaW5m
bG93LWNvbnRlbnQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svcmlnaHQt
dG8tbGVmdC1vdXQtb2YtZmxvdy13aXRoLWluZmxvdy1jb250ZW50LWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44NWM4M2M2M2VmYTYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL3JpZ2h0LXRvLWxlZnQtb3V0LW9m
LWZsb3ctd2l0aC1pbmZsb3ctY29udGVudC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTIgQEAK
KzxzdHlsZT4KKy5jb250YWluZXIgeworICBkaXJlY3Rpb246IHJ0bDsKK30KKy5hYnNfcG9zIHsK
KyAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICB3aWR0aDogNTAwcHg7CisgIGhlaWdodDogMTAw
cHg7CisgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7Cit9Cis8L3N0eWxlPgorPGRpdiBjbGFzcz1j
b250YWluZXI+UEFTUyBpZiB0aGlzIHRleHQgaXMgdmlzaWJsZTxicj48ZGl2IGNsYXNzPWFic19w
b3M+PC9kaXY+PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL3JpZ2h0
LXRvLWxlZnQtb3V0LW9mLWZsb3ctd2l0aC1pbmZsb3ctY29udGVudC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9ibG9jay9yaWdodC10by1sZWZ0LW91dC1vZi1mbG93LXdpdGgtaW5mbG93LWNvbnRl
bnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQyZjAxZjRi
NDljNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvYmxvY2svcmlnaHQtdG8t
bGVmdC1vdXQtb2YtZmxvdy13aXRoLWluZmxvdy1jb250ZW50Lmh0bWwKQEAgLTAsMCArMSwxMiBA
QAorPHN0eWxlPgorLmNvbnRhaW5lciB7CisgIGRpcmVjdGlvbjogcnRsOworfQorLmFic19wb3Mg
eworICBwb3NpdGlvbjogYWJzb2x1dGU7CisgIHdpZHRoOiA1MDBweDsKKyAgaGVpZ2h0OiAxMDBw
eDsKKyAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKK30KKzwvc3R5bGU+Cis8ZGl2IGNsYXNzPWNv
bnRhaW5lcj5QQVNTIGlmIHRoaXMgdGV4dCBpcyB2aXNpYmxlIDxkaXYgY2xhc3M9YWJzX3Bvcz48
L2Rpdj48L2Rpdj4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468438</attachid>
            <date>2023-10-31 20:51:55 -0700</date>
            <delta_ts>2023-11-01 06:55:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-263892-20231031205154.patch</filename>
            <type>text/plain</type>
            <size>12689</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAzOGJhYjE3MGI3NzY2ZWFkMWMxNDI1NDhlNzBhYWFjYTc5YjViZjc0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFR1ZSwgMzEgT2N0IDIwMjMgMTM6MTU6MjAgLTA3MDAKU3ViamVjdDogW1BBVENIXSBSRUdSRVNT
SU9OKDI2Nzk0NEBtYWluKTogd3B0CiAvY3NzL0NTUzIvcG9zaXRpb25pbmcvYWJzcG9zLWJsb2Nr
LWxldmVsLTAwMS5odG1sCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjYzODkyCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClRoaXMgcGF0Y2ggZXh0ZW5kcyB0
aGUgbG9naWMgb2YgImlzIHRoZXJlIGFuIGluZmxvdyBjb250ZW50IGJlZm9yZSB0aGlzIG91dCBv
ZiBmbG93IGJveCIgYnkKdGFraW5nIGlubGluZSBkaXJlY3Rpb24gaW50byBhY2NvdW50LgoKV2Ug
YWxyZWFkeSBoYW5kbGUgYmlkaSAobG9naWNhbCBwb3NpdGlvbiB2cy4gdmlzdWFsIHBvc2l0aW9u
KSBqdXN0IGZpbmUgYnV0IHRoZXJlJ3MgYW5vdGhlciBsYXllciBvZiB2aXN1YWwgb3JkZXIgaGVy
ZS4KV2hlbiB0aGUgY29udGVudCBpcyBSVEwgKGFnYWluIG5vdCB0byBiZSBjb25mdXNlZCB3aXRo
IGJpZGkpIHRoZSBsb2dpYyBvZiBmaW5kaW5nIG91dCBpZiBhbiBvdXQgb2YgZmxvdyBib3gKaGFz
IHByZWNlZGluZyBpbiBmbG93IGNvbnRlbnQgbmVlZHMgdG8gc3RhcnQgZnJvbSB0aGUgKHZpc3Vh
bCkgcmlnaHQgZWRnZSBhbmQgZm9sbG93IHRoZSBpbmxpbmUgZGlyZWN0aW9uLgooaS5lLiBpbiBh
ZGRpdGlvbiB0byByZXNvbHZpbmcgdGhlIGxvZ2ljYWwgLT4gdmlzdWFsIG9yZGVyLCB3ZSBhbHNv
IG5lZWQgdG8gdHJhdmVycyB0aGVzZSBydW4gbGlzdHMgaW4gaW5saW5lIGRpcmVjdGlvbiBvcmRl
cikKCiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlz
cGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwOgooV2ViQ29yZTo6TGF5b3V0OjpJ
bmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nlc3NCaWRpQ29udGVudCk6CihXZWJDb3Jl
OjpMYXlvdXQ6OnNldEdlb21ldHJ5Rm9yT3V0T2ZGbG93Qm94ZXMpOgooV2ViQ29yZTo6TGF5b3V0
OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnNldEdlb21ldHJ5Rm9yQmxvY2tMZXZlbE91
dE9mRmxvd0JveGVzKToKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5oOgooV2ViQ29yZTo6
TGF5b3V0OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnNldEdlb21ldHJ5Rm9yQmxvY2tM
ZXZlbE91dE9mRmxvd0JveGVzKToKLS0tCiAuLi4vZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVu
dEJ1aWxkZXIuY3BwICAgfCA5NSArKysrKysrKysrKysrKy0tLS0tCiAuLi4vZGlzcGxheS9Jbmxp
bmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuaCAgICAgfCAgMiArLQogLi4uLW9mLWZsb3ctd2l0aC1p
bmZsb3ctY29udGVudC1leHBlY3RlZC5odG1sIHwgMTIgKysrCiAuLi4tbGVmdC1vdXQtb2YtZmxv
dy13aXRoLWluZmxvdy1jb250ZW50Lmh0bWwgfCAxMiArKysKIDQgZmlsZXMgY2hhbmdlZCwgOTQg
aW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0
VGVzdHMvZmFzdC9ibG9jay9yaWdodC10by1sZWZ0LW91dC1vZi1mbG93LXdpdGgtaW5mbG93LWNv
bnRlbnQtZXhwZWN0ZWQuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qv
YmxvY2svcmlnaHQtdG8tbGVmdC1vdXQtb2YtZmxvdy13aXRoLWluZmxvdy1jb250ZW50Lmh0bWwK
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3Bs
YXlDb250ZW50QnVpbGRlci5jcHAKaW5kZXggMjI4YmFiZDk0NzRjLi42ZTcxODJlMTlmZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3Bs
YXlDb250ZW50QnVpbGRlci5jcHAKQEAgLTc2MywxMCArNzYzLDEwIEBAIHZvaWQgSW5saW5lRGlz
cGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRlbnQoY29uc3QgTGluZUxheW91dFJl
c3VsdCYgbGluCiAgICAgICAgIGF1dG8gY29udGVudFJpZ2h0SW5JbmxpbmVEaXJlY3Rpb25WaXN1
YWxPcmRlciA9IGNvbnRlbnRTdGFydEluSW5saW5lRGlyZWN0aW9uVmlzdWFsT3JkZXI7CiAgICAg
ICAgIGF1dG8mIGlubGluZUNvbnRlbnQgPSBsaW5lTGF5b3V0UmVzdWx0LmlubGluZUNvbnRlbnQ7
CiAgICAgICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBsaW5lTGF5b3V0UmVzdWx0
LmRpcmVjdGlvbmFsaXR5LnZpc3VhbE9yZGVyTGlzdC5zaXplKCk7ICsraW5kZXgpIHsKLSAgICAg
ICAgICAgIGF1dG8gdmlzdWFsT3JkZXIgPSBsaW5lTGF5b3V0UmVzdWx0LmRpcmVjdGlvbmFsaXR5
LnZpc3VhbE9yZGVyTGlzdFtpbmRleF07Ci0gICAgICAgICAgICBBU1NFUlQoaW5saW5lQ29udGVu
dFt2aXN1YWxPcmRlcl0uYmlkaUxldmVsKCkgIT0gSW5saW5lSXRlbTo6b3BhcXVlQmlkaUxldmVs
KTsKKyAgICAgICAgICAgIGF1dG8gbG9naWNhbEluZGV4ID0gbGluZUxheW91dFJlc3VsdC5kaXJl
Y3Rpb25hbGl0eS52aXN1YWxPcmRlckxpc3RbaW5kZXhdOworICAgICAgICAgICAgQVNTRVJUKGlu
bGluZUNvbnRlbnRbbG9naWNhbEluZGV4XS5iaWRpTGV2ZWwoKSAhPSBJbmxpbmVJdGVtOjpvcGFx
dWVCaWRpTGV2ZWwpOwogCi0gICAgICAgICAgICBhdXRvJiBsaW5lUnVuID0gaW5saW5lQ29udGVu
dFt2aXN1YWxPcmRlcl07CisgICAgICAgICAgICBhdXRvJiBsaW5lUnVuID0gaW5saW5lQ29udGVu
dFtsb2dpY2FsSW5kZXhdOwogICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gbGluZVJ1bi5s
YXlvdXRCb3goKTsKIAogICAgICAgICAgICAgYXV0byBuZWVkc0Rpc3BsYXlCb3hPckdlb21ldHJ5
U2V0dGluZyA9ICFsaW5lUnVuLmlzV29yZEJyZWFrT3Bwb3J0dW5pdHkoKSAmJiAhbGluZVJ1bi5p
c0lubGluZUJveEVuZCgpOwpAQCAtOTUxLDMyICs5NTEsNzUgQEAgdm9pZCBJbmxpbmVEaXNwbGF5
Q29udGVudEJ1aWxkZXI6OmNvbGxlY3RJbmtPdmVyZmxvd0ZvcklubGluZUJveGVzKElubGluZURp
c3BsYXkKICAgICB9CiB9CiAKLXZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpzZXRH
ZW9tZXRyeUZvckJsb2NrTGV2ZWxPdXRPZkZsb3dCb3hlcyhjb25zdCBWZWN0b3I8c2l6ZV90PiBp
bmRleExpc3RPZk91dE9mRmxvd0JveGVzLCBjb25zdCBMaW5lQm94JiBsaW5lQm94LCBjb25zdCBM
aW5lOjpSdW5MaXN0JiBsaW5lUnVucywgY29uc3QgVmVjdG9yPGludDMyX3Q+JiB2aXN1YWxPcmRl
ckxpc3QpCitzdGF0aWMgaW5saW5lIHNpemVfdCBydW5JbmRleChhdXRvIGksIGF1dG8gbGlzdFNp
emUsIGF1dG8gaXNMZWZ0VG9SaWdodERpcmVjdGlvbikKIHsKKyAgICBpZiAoaXNMZWZ0VG9SaWdo
dERpcmVjdGlvbikKKyAgICAgICAgcmV0dXJuIGk7CisgICAgYXV0byBsYXN0SW5kZXggPSBsaXN0
U2l6ZSAtIDE7CisgICAgcmV0dXJuIGxhc3RJbmRleCAtIGk7Cit9CisKK3N0YXRpYyBpbmxpbmUg
dm9pZCBzZXRHZW9tZXRyeUZvck91dE9mRmxvd0JveGVzKGNvbnN0IFZlY3RvcjxzaXplX3Q+JiBp
bmRleExpc3RPZk91dE9mRmxvd0JveGVzLCBzdGQ6Om9wdGlvbmFsPHNpemVfdD4gZmlyc3RPdXRP
ZkZsb3dJbmRleFdpdGhQcmV2aW91c0luZmxvd1NpYmxpbmcsIGNvbnN0IExpbmU6OlJ1bkxpc3Qm
IGxpbmVSdW5zLCBjb25zdCBWZWN0b3I8aW50MzJfdD4mIHZpc3VhbE9yZGVyTGlzdCwgSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQmIGZvcm1hdHRpbmdDb250ZXh0LCBjb25zdCBMaW5lQm94JiBsaW5l
Qm94LCBjb25zdCBDb25zdHJhaW50c0ZvcklubGluZUNvbnRlbnQmIGNvbnN0cmFpbnRzKQorewor
ICAgIGF1dG8gaXNMZWZ0VG9SaWdodERpcmVjdGlvbiA9IGZvcm1hdHRpbmdDb250ZXh0LnJvb3Qo
KS5zdHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKTsKKyAgICBhdXRvIG91dE9mRmxvd0Jv
eExpc3RTaXplID0gaW5kZXhMaXN0T2ZPdXRPZkZsb3dCb3hlcy5zaXplKCk7CisKKyAgICBhdXRv
IG91dE9mRmxvd0JveCA9IFsmXShzaXplX3QgaSkgLT4gY29uc3QgQm94JiB7CisgICAgICAgIGF1
dG8gb3V0T2ZGbG93UnVuSW5kZXggPSBpbmRleExpc3RPZk91dE9mRmxvd0JveGVzW3J1bkluZGV4
KGksIG91dE9mRmxvd0JveExpc3RTaXplLCBpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKV07CisgICAg
ICAgIHJldHVybiAodmlzdWFsT3JkZXJMaXN0LmlzRW1wdHkoKSA/IGxpbmVSdW5zW291dE9mRmxv
d1J1bkluZGV4XSA6IGxpbmVSdW5zW3Zpc3VhbE9yZGVyTGlzdFtvdXRPZkZsb3dSdW5JbmRleF1d
KS5sYXlvdXRCb3goKTsKKyAgICB9OworICAgIC8vIFNldCBnZW9tZXRyeSBvbiAiYmVmb3JlIGlu
ZmxvdyBjb250ZW50IiBib3hlcyBmaXJzdCwgZm9sbG93ZWQgYnkgdGhlICJhZnRlciBpbmZsb3cg
Y29udGVudCIgbGlzdC4KKyAgICBhdXRvIGJlZm9yZUFmdGVyQm91bmRhcnkgPSBmaXJzdE91dE9m
Rmxvd0luZGV4V2l0aFByZXZpb3VzSW5mbG93U2libGluZy52YWx1ZV9vcihvdXRPZkZsb3dCb3hM
aXN0U2l6ZSk7CisgICAgLy8gVGhlc2Ugb3V0IG9mIGZsb3cgYm94ZXMgInNpdCIgb24gdGhlIGxp
bmUgc3RhcnQgKHRoZXkgYXJlIGJlZm9yZSBhbnkgaW5mbG93IGNvbnRlbnQgZS5nLiA8ZGl2Pjxk
aXYgY2xhc3M9b3V0LW9mLWZsb3c+PC9kaXY+c29tZSB0ZXh0PGRpdj4pCisgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBiZWZvcmVBZnRlckJvdW5kYXJ5OyArK2kpCisgICAgICAgIGZvcm1hdHRp
bmdDb250ZXh0Lmdlb21ldHJ5Rm9yQm94KG91dE9mRmxvd0JveChpKSkuc2V0VG9wTGVmdCh7IGNv
bnN0cmFpbnRzLmhvcml6b250YWwoKS5sb2dpY2FsTGVmdCwgbGluZUJveC5sb2dpY2FsUmVjdCgp
LnRvcCgpIH0pOworICAgIC8vIFRoZXNlIG91dCBvZiBmbG93IGJveGVzIGFyZSBhbGwgX2FmdGVy
XyBhbiBpbmZsb3cgY29udGVudCBhbmQgZ2V0ICJ3cmFwcGVkIiB0byB0aGUgbmV4dCBsaW5lLgor
ICAgIGZvciAoc2l6ZV90IGkgPSBiZWZvcmVBZnRlckJvdW5kYXJ5OyBpIDwgb3V0T2ZGbG93Qm94
TGlzdFNpemU7ICsraSkKKyAgICAgICAgZm9ybWF0dGluZ0NvbnRleHQuZ2VvbWV0cnlGb3JCb3go
b3V0T2ZGbG93Qm94KGkpKS5zZXRUb3BMZWZ0KHsgY29uc3RyYWludHMuaG9yaXpvbnRhbCgpLmxv
Z2ljYWxMZWZ0LCBsaW5lQm94LmxvZ2ljYWxSZWN0KCkuYm90dG9tKCkgfSk7Cit9CisKK3ZvaWQg
SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpzZXRHZW9tZXRyeUZvckJsb2NrTGV2ZWxPdXRP
ZkZsb3dCb3hlcyhjb25zdCBWZWN0b3I8c2l6ZV90PiYgaW5kZXhMaXN0T2ZPdXRPZkZsb3dCb3hl
cywgY29uc3QgTGluZUJveCYgbGluZUJveCwgY29uc3QgTGluZTo6UnVuTGlzdCYgbGluZVJ1bnMs
IGNvbnN0IFZlY3RvcjxpbnQzMl90PiYgdmlzdWFsT3JkZXJMaXN0KQoreworICAgIGlmIChpbmRl
eExpc3RPZk91dE9mRmxvd0JveGVzLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
Ly8gQmxvY2sgbGV2ZWwgYm94ZXMgYXJlIHBsYWNlZCBlaXRoZXIgYXQgdGhlIHN0YXJ0IG9mIHRo
ZSBsaW5lIG9yICJ1bmRlciIgZGVwZW5kaW5nIHdoZXRoZXIgdGhleSBoYXZlIHByZXZpb3VzIGlu
ZmxvdyBzaWJsaW5nLgorICAgIC8vIEhlcmUgd2UgZmlndXJlIG91dCBpZiBhIHBhcnRpY3VsYXIg
b3V0IG9mIGZsb3cgYm94IGhhcyBhbiBpbmZsb3cgc2libGluZyBvciBub3QuCisgICAgLy8gMS4g
RmluZCB0aGUgZmlyc3QgaW5mbG93IGNvbnRlbnQuIEFueSBvdXQgb2YgZmxvdyBib3ggYWZ0ZXIg
dGhpcyBnZXRzIG1vdmVkIF91bmRlcl8gdGhlIGxpbmUgYm94LgorICAgIC8vIDIuIExvb3AgdGhy
b3VnaCB0aGUgb3V0IG9mIGZsb3cgYm94ZXMgKGluZGV4TGlzdE9mT3V0T2ZGbG93Qm94ZXMpIGFu
ZCBzZXQgdGhlaXIgdmVydGljYWwgZ2VvbWV0cnkgZGVwZW5kaW5nIHdoZXRoZXIgdGhleSBhcmUg
YmVmb3JlIG9yIGFmdGVyIHRoZSBmaXJzdCBpbmZsb3cgY29udGVudC4KKyAgICAvLyBOb3RlIHRo
YXQgdGhlcmUncyBhbiBleHRyYSBsYXllciBvZiBkaXJlY3Rpb25hbGl0eSBoZXJlOiBpbiBjYXNl
IG9mIHJpZ2h0IHRvIGxlZnQgaW5saW5lIGRpcmVjdGlvbiwgdGhlIGJlZm9yZSBpbmZsb3cgY29u
dGVudCBjaGVjayBzdGFydHMgZnJvbSB0aGUgcmlnaHQgZWRnZSBhbmQgcHJvZ3Jlc3NlcyBpbiBh
IGxlZnR3YXJkIG1hbm5lcgorICAgIC8vIGFuZCBub3QgaW4gdmlzdWFsIG9yZGVyLiBIb3dldmVy
IHRoaXMgaXMgbm90IGxvZ2ljYWwgb3JkZXIgZWl0aGVyICh3aGljaCBpcyBtb3JlIGFib3V0IGJp
ZGkgdGhhbiBpbmxpbmUgZGlyZWN0aW9uKS4gU28gTFRSIHN0YXJ0cyBhdCB0aGUgbGVmdCB3aGls
ZSBSVEwgc3RhcnRzIGF0IHRoZSByaWdodCBhbmQgaW4KKyAgICAvLyBib3RoIGNhc2VzIGp1bXBp
bmcgZnJvbSBydW4gdG8gcnVuIGluIGJpZGkgb3JkZXIuCiAgICAgYXV0byYgZm9ybWF0dGluZ0Nv
bnRleHQgPSB0aGlzLT5mb3JtYXR0aW5nQ29udGV4dCgpOwotICAgIGF1dG8gb3V0T2ZGbG93Q29u
dGVudEhhc1ByZXZpb3VzSW5GbG93U2libGluZ1dpdGhDb250ZW50T3JEZWNvcmF0aW9uID0gZmFs
c2U7Ci0KLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGluZGV4TGlzdE9mT3V0T2ZGbG93Qm94
ZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgYXV0byBvdXRPZkZsb3dCb3hJbmRleCA9IGluZGV4
TGlzdE9mT3V0T2ZGbG93Qm94ZXNbaV07Ci0gICAgICAgIEFTU0VSVChvdXRPZkZsb3dCb3hJbmRl
eCA8IGxpbmVSdW5zLnNpemUoKSk7Ci0KLSAgICAgICAgYXV0byBoYXNQcmV2aW91c0luRmxvd0Nv
bnRlbnQgPSBbJl0gewotICAgICAgICAgICAgaWYgKG91dE9mRmxvd0NvbnRlbnRIYXNQcmV2aW91
c0luRmxvd1NpYmxpbmdXaXRoQ29udGVudE9yRGVjb3JhdGlvbikKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIGZvciAoc2l6ZV90IHByZXZpb3VzUnVuSW5kZXggPSAh
aSA/IDAgOiBpbmRleExpc3RPZk91dE9mRmxvd0JveGVzW2kgLSAxXSArIDE7IHByZXZpb3VzUnVu
SW5kZXggPCBvdXRPZkZsb3dCb3hJbmRleDsgKytwcmV2aW91c1J1bkluZGV4KSB7Ci0gICAgICAg
ICAgICAgICAgYXV0byYgcHJldmlvdXNSdW4gPSB2aXN1YWxPcmRlckxpc3QuaXNFbXB0eSgpID8g
bGluZVJ1bnNbcHJldmlvdXNSdW5JbmRleF0gOiBsaW5lUnVuc1t2aXN1YWxPcmRlckxpc3RbcHJl
dmlvdXNSdW5JbmRleF1dOwotICAgICAgICAgICAgICAgIGlmIChMaW5lOjpSdW46OmlzQ29udGVu
dGZ1bE9ySGFzRGVjb3JhdGlvbihwcmV2aW91c1J1biwgZm9ybWF0dGluZ0NvbnRleHQpKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIG91dE9mRmxvd0NvbnRlbnRIYXNQcmV2aW91c0luRmxvd1NpYmxp
bmdXaXRoQ29udGVudE9yRGVjb3JhdGlvbiA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgIHJl
dHVybiB0cnVlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgfTsKLSAgICAgICAgLy8gQmxvY2sgbGV2ZWwgYm94ZXMg
YXJlIHBsYWNlZCBlaXRoZXIgYXQgdGhlIHN0YXJ0IG9mIHRoZSBsaW5lIG9yICJ1bmRlciIgZGVw
ZW5kaW5nIHdoZXRoZXIgdGhleSBoYXZlIHByZXZpb3VzIGluZmxvdyBzaWJsaW5nLgotICAgICAg
ICBhdXRvIGxvZ2ljYWxUb3AgPSBoYXNQcmV2aW91c0luRmxvd0NvbnRlbnQoKSA/IGxpbmVCb3gu
bG9naWNhbFJlY3QoKS5ib3R0b20oKSA6IGxpbmVCb3gubG9naWNhbFJlY3QoKS50b3AoKTsKLSAg
ICAgICAgYXV0byYgbGluZVJ1biA9IHZpc3VhbE9yZGVyTGlzdC5pc0VtcHR5KCkgPyBsaW5lUnVu
c1tvdXRPZkZsb3dCb3hJbmRleF0gOiBsaW5lUnVuc1t2aXN1YWxPcmRlckxpc3Rbb3V0T2ZGbG93
Qm94SW5kZXhdXTsKLSAgICAgICAgZm9ybWF0dGluZ0NvbnRleHQuZ2VvbWV0cnlGb3JCb3gobGlu
ZVJ1bi5sYXlvdXRCb3goKSkuc2V0VG9wTGVmdCh7IGNvbnN0cmFpbnRzKCkuaG9yaXpvbnRhbCgp
LmxvZ2ljYWxMZWZ0LCBsb2dpY2FsVG9wIH0pOworICAgIGF1dG8gaXNMZWZ0VG9SaWdodERpcmVj
dGlvbiA9IHJvb3QoKS5zdHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKTsKKworICAgIGF1
dG8gZmlyc3RDb250ZW50ZnVsSW5GbG93UnVuSW5kZXggPSBzdGQ6Om9wdGlvbmFsPHNpemVfdD4g
eyB9OworICAgIGF1dG8gY29udGVudExpc3RTaXplID0gdmlzdWFsT3JkZXJMaXN0LmlzRW1wdHko
KSA/IGxpbmVSdW5zLnNpemUoKSA6IHZpc3VhbE9yZGVyTGlzdC5zaXplKCk7CisgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBjb250ZW50TGlzdFNpemU7ICsraSkgeworICAgICAgICBhdXRvIGlu
ZGV4ID0gcnVuSW5kZXgoaSwgY29udGVudExpc3RTaXplLCBpc0xlZnRUb1JpZ2h0RGlyZWN0aW9u
KTsKKyAgICAgICAgYXV0byYgbGluZVJ1biA9IHZpc3VhbE9yZGVyTGlzdC5pc0VtcHR5KCkgPyBs
aW5lUnVuc1tpbmRleF0gOiBsaW5lUnVuc1t2aXN1YWxPcmRlckxpc3RbaW5kZXhdXTsKKyAgICAg
ICAgaWYgKGxpbmVSdW4ubGF5b3V0Qm94KCkuaXNJbkZsb3coKSAmJiBMaW5lOjpSdW46OmlzQ29u
dGVudGZ1bE9ySGFzRGVjb3JhdGlvbihsaW5lUnVuLCBmb3JtYXR0aW5nQ29udGV4dCkpIHsKKyAg
ICAgICAgICAgIGZpcnN0Q29udGVudGZ1bEluRmxvd1J1bkluZGV4ID0gaW5kZXg7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmICghZmlyc3RDb250ZW50ZnVs
SW5GbG93UnVuSW5kZXgpIHsKKyAgICAgICAgc2V0R2VvbWV0cnlGb3JPdXRPZkZsb3dCb3hlcyhp
bmRleExpc3RPZk91dE9mRmxvd0JveGVzLCB7IH0sIGxpbmVSdW5zLCB2aXN1YWxPcmRlckxpc3Qs
IGZvcm1hdHRpbmdDb250ZXh0LCBsaW5lQm94LCBjb25zdHJhaW50cygpKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIGF1dG8gZmlyc3RPdXRPZkZsb3dJbmRleFdpdGhQcmV2aW91c0lu
Zmxvd1NpYmxpbmcgPSBzdGQ6Om9wdGlvbmFsPHNpemVfdD4geyB9OworICAgIGF1dG8gb3V0T2ZG
bG93Qm94TGlzdFNpemUgPSBpbmRleExpc3RPZk91dE9mRmxvd0JveGVzLnNpemUoKTsKKyAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IG91dE9mRmxvd0JveExpc3RTaXplOyArK2kpIHsKKyAgICAg
ICAgYXV0byBvdXRPZkZsb3dJbmRleCA9IHJ1bkluZGV4KGksIG91dE9mRmxvd0JveExpc3RTaXpl
LCBpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKTsKKyAgICAgICAgYXV0byBoYXNQcmV2aW91c0luZmxv
d1NpYmxpbmcgPSAoaXNMZWZ0VG9SaWdodERpcmVjdGlvbiAmJiBpbmRleExpc3RPZk91dE9mRmxv
d0JveGVzW291dE9mRmxvd0luZGV4XSA+ICpmaXJzdENvbnRlbnRmdWxJbkZsb3dSdW5JbmRleCkg
fHwgKCFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uICYmIGluZGV4TGlzdE9mT3V0T2ZGbG93Qm94ZXNb
b3V0T2ZGbG93SW5kZXhdIDwgKmZpcnN0Q29udGVudGZ1bEluRmxvd1J1bkluZGV4KTsKKyAgICAg
ICAgaWYgKGhhc1ByZXZpb3VzSW5mbG93U2libGluZykgeworICAgICAgICAgICAgZmlyc3RPdXRP
ZkZsb3dJbmRleFdpdGhQcmV2aW91c0luZmxvd1NpYmxpbmcgPSBvdXRPZkZsb3dJbmRleDsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgfQorICAgIHNldEdlb21ldHJ5Rm9yT3V0
T2ZGbG93Qm94ZXMoaW5kZXhMaXN0T2ZPdXRPZkZsb3dCb3hlcywgZmlyc3RPdXRPZkZsb3dJbmRl
eFdpdGhQcmV2aW91c0luZmxvd1NpYmxpbmcsIGxpbmVSdW5zLCB2aXN1YWxPcmRlckxpc3QsIGZv
cm1hdHRpbmdDb250ZXh0LCBsaW5lQm94LCBjb25zdHJhaW50cygpKTsKIH0KIAogc3RhdGljIGZs
b2F0IGxvZ2ljYWxCb3R0b21Gb3JUZXh0RGVjb3JhdGlvbkNvbnRlbnQoY29uc3QgSW5saW5lRGlz
cGxheTo6Qm94ZXMmIGJveGVzLCBib29sIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlz
cGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRC
dWlsZGVyLmgKaW5kZXggZjU1ZDk5NGJjYzgxLi4wZjA3NjgyYTdkYTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5s
aW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxk
ZXIuaApAQCAtNzUsNyArNzUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0UmlnaHRGb3JXcml0
aW5nTW9kZShJbmxpbmVEaXNwbGF5OjpCb3gmLCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxSaWdo
dCwgV3JpdGluZ01vZGUpIGNvbnN0OwogICAgIElubGluZUxheW91dFBvaW50IG1vdmVQb2ludEhv
cml6b250YWxseUZvcldyaXRpbmdNb2RlKGNvbnN0IElubGluZUxheW91dFBvaW50JiB0b3BMZWZ0
LCBJbmxpbmVMYXlvdXRVbml0IGhvcml6b250YWxPZmZzZXQsIFdyaXRpbmdNb2RlKSBjb25zdDsK
ICAgICBJbmxpbmVMYXlvdXRVbml0IG91dHNpZGVMaXN0TWFya2VyVmlzdWFsUG9zaXRpb24oY29u
c3QgRWxlbWVudEJveCYpIGNvbnN0OwotICAgIHZvaWQgc2V0R2VvbWV0cnlGb3JCbG9ja0xldmVs
T3V0T2ZGbG93Qm94ZXMoY29uc3QgVmVjdG9yPHNpemVfdD4gaW5kZXhMaXN0LCBjb25zdCBMaW5l
Qm94JiwgY29uc3QgTGluZTo6UnVuTGlzdCYsIGNvbnN0IFZlY3RvcjxpbnQzMl90PiYgdmlzdWFs
T3JkZXJMaXN0ID0geyB9KTsKKyAgICB2b2lkIHNldEdlb21ldHJ5Rm9yQmxvY2tMZXZlbE91dE9m
Rmxvd0JveGVzKGNvbnN0IFZlY3RvcjxzaXplX3Q+JiBpbmRleExpc3QsIGNvbnN0IExpbmVCb3gm
LCBjb25zdCBMaW5lOjpSdW5MaXN0JiwgY29uc3QgVmVjdG9yPGludDMyX3Q+JiB2aXN1YWxPcmRl
ckxpc3QgPSB7IH0pOwogCiAgICAgYm9vbCBpc0xpbmVGdWxseVRydW5jYXRlZEluQmxvY2tEaXJl
Y3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2xpbmVJc0Z1bGx5VHJ1bmNhdGVkSW5CbG9ja0RpcmVj
dGlvbjsgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL3JpZ2h0LXRvLWxl
ZnQtb3V0LW9mLWZsb3ctd2l0aC1pbmZsb3ctY29udGVudC1leHBlY3RlZC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9ibG9jay9yaWdodC10by1sZWZ0LW91dC1vZi1mbG93LXdpdGgtaW5mbG93LWNv
bnRlbnQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAuLjg1YzgzYzYzZWZhNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvYmxv
Y2svcmlnaHQtdG8tbGVmdC1vdXQtb2YtZmxvdy13aXRoLWluZmxvdy1jb250ZW50LWV4cGVjdGVk
Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPHN0eWxlPgorLmNvbnRhaW5lciB7CisgIGRpcmVjdGlv
bjogcnRsOworfQorLmFic19wb3MgeworICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgIHdpZHRo
OiA1MDBweDsKKyAgaGVpZ2h0OiAxMDBweDsKKyAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKK30K
Kzwvc3R5bGU+Cis8ZGl2IGNsYXNzPWNvbnRhaW5lcj5QQVNTIGlmIHRoaXMgdGV4dCBpcyB2aXNp
YmxlPGJyPjxkaXYgY2xhc3M9YWJzX3Bvcz48L2Rpdj48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvYmxvY2svcmlnaHQtdG8tbGVmdC1vdXQtb2YtZmxvdy13aXRoLWluZmxvdy1j
b250ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL3JpZ2h0LXRvLWxlZnQtb3V0LW9m
LWZsb3ctd2l0aC1pbmZsb3ctY29udGVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMC4uZDJmMDFmNGI0OWM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9ibG9jay9yaWdodC10by1sZWZ0LW91dC1vZi1mbG93LXdpdGgtaW5mbG93LWNvbnRl
bnQuaHRtbApAQCAtMCwwICsxLDEyIEBACis8c3R5bGU+CisuY29udGFpbmVyIHsKKyAgZGlyZWN0
aW9uOiBydGw7Cit9CisuYWJzX3BvcyB7CisgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgd2lkdGg6
IDUwMHB4OworICBoZWlnaHQ6IDEwMHB4OworICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworfQor
PC9zdHlsZT4KKzxkaXYgY2xhc3M9Y29udGFpbmVyPlBBU1MgaWYgdGhpcyB0ZXh0IGlzIHZpc2li
bGUgPGRpdiBjbGFzcz1hYnNfcG9zPjwvZGl2PjwvZGl2Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>468442</attachid>
            <date>2023-11-01 06:55:11 -0700</date>
            <delta_ts>2023-11-01 11:56:52 -0700</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-263892-20231101065510.patch</filename>
            <type>text/plain</type>
            <size>12689</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAzOGJhYjE3MGI3NzY2ZWFkMWMxNDI1NDhlNzBhYWFjYTc5YjViZjc0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFR1ZSwgMzEgT2N0IDIwMjMgMTM6MTU6MjAgLTA3MDAKU3ViamVjdDogW1BBVENIXSBSRUdSRVNT
SU9OKDI2Nzk0NEBtYWluKTogd3B0CiAvY3NzL0NTUzIvcG9zaXRpb25pbmcvYWJzcG9zLWJsb2Nr
LWxldmVsLTAwMS5odG1sCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjYzODkyCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClRoaXMgcGF0Y2ggZXh0ZW5kcyB0
aGUgbG9naWMgb2YgImlzIHRoZXJlIGFuIGluZmxvdyBjb250ZW50IGJlZm9yZSB0aGlzIG91dCBv
ZiBmbG93IGJveCIgYnkKdGFraW5nIGlubGluZSBkaXJlY3Rpb24gaW50byBhY2NvdW50LgoKV2Ug
YWxyZWFkeSBoYW5kbGUgYmlkaSAobG9naWNhbCBwb3NpdGlvbiB2cy4gdmlzdWFsIHBvc2l0aW9u
KSBqdXN0IGZpbmUgYnV0IHRoZXJlJ3MgYW5vdGhlciBsYXllciBvZiB2aXN1YWwgb3JkZXIgaGVy
ZS4KV2hlbiB0aGUgY29udGVudCBpcyBSVEwgKGFnYWluIG5vdCB0byBiZSBjb25mdXNlZCB3aXRo
IGJpZGkpIHRoZSBsb2dpYyBvZiBmaW5kaW5nIG91dCBpZiBhbiBvdXQgb2YgZmxvdyBib3gKaGFz
IHByZWNlZGluZyBpbiBmbG93IGNvbnRlbnQgbmVlZHMgdG8gc3RhcnQgZnJvbSB0aGUgKHZpc3Vh
bCkgcmlnaHQgZWRnZSBhbmQgZm9sbG93IHRoZSBpbmxpbmUgZGlyZWN0aW9uLgooaS5lLiBpbiBh
ZGRpdGlvbiB0byByZXNvbHZpbmcgdGhlIGxvZ2ljYWwgLT4gdmlzdWFsIG9yZGVyLCB3ZSBhbHNv
IG5lZWQgdG8gdHJhdmVycyB0aGVzZSBydW4gbGlzdHMgaW4gaW5saW5lIGRpcmVjdGlvbiBvcmRl
cikKCiogU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlz
cGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuY3BwOgooV2ViQ29yZTo6TGF5b3V0OjpJ
bmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnByb2Nlc3NCaWRpQ29udGVudCk6CihXZWJDb3Jl
OjpMYXlvdXQ6OnNldEdlb21ldHJ5Rm9yT3V0T2ZGbG93Qm94ZXMpOgooV2ViQ29yZTo6TGF5b3V0
OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnNldEdlb21ldHJ5Rm9yQmxvY2tMZXZlbE91
dE9mRmxvd0JveGVzKToKKiBTb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5oOgooV2ViQ29yZTo6
TGF5b3V0OjpJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXI6OnNldEdlb21ldHJ5Rm9yQmxvY2tM
ZXZlbE91dE9mRmxvd0JveGVzKToKLS0tCiAuLi4vZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVu
dEJ1aWxkZXIuY3BwICAgfCA5NSArKysrKysrKysrKysrKy0tLS0tCiAuLi4vZGlzcGxheS9Jbmxp
bmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuaCAgICAgfCAgMiArLQogLi4uLW9mLWZsb3ctd2l0aC1p
bmZsb3ctY29udGVudC1leHBlY3RlZC5odG1sIHwgMTIgKysrCiAuLi4tbGVmdC1vdXQtb2YtZmxv
dy13aXRoLWluZmxvdy1jb250ZW50Lmh0bWwgfCAxMiArKysKIDQgZmlsZXMgY2hhbmdlZCwgOTQg
aW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0
VGVzdHMvZmFzdC9ibG9jay9yaWdodC10by1sZWZ0LW91dC1vZi1mbG93LXdpdGgtaW5mbG93LWNv
bnRlbnQtZXhwZWN0ZWQuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qv
YmxvY2svcmlnaHQtdG8tbGVmdC1vdXQtb2YtZmxvdy13aXRoLWluZmxvdy1jb250ZW50Lmh0bWwK
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3Bs
YXlDb250ZW50QnVpbGRlci5jcHAKaW5kZXggMjI4YmFiZDk0NzRjLi42ZTcxODJlMTlmZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3Bs
YXlDb250ZW50QnVpbGRlci5jcHAKQEAgLTc2MywxMCArNzYzLDEwIEBAIHZvaWQgSW5saW5lRGlz
cGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRlbnQoY29uc3QgTGluZUxheW91dFJl
c3VsdCYgbGluCiAgICAgICAgIGF1dG8gY29udGVudFJpZ2h0SW5JbmxpbmVEaXJlY3Rpb25WaXN1
YWxPcmRlciA9IGNvbnRlbnRTdGFydEluSW5saW5lRGlyZWN0aW9uVmlzdWFsT3JkZXI7CiAgICAg
ICAgIGF1dG8mIGlubGluZUNvbnRlbnQgPSBsaW5lTGF5b3V0UmVzdWx0LmlubGluZUNvbnRlbnQ7
CiAgICAgICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBsaW5lTGF5b3V0UmVzdWx0
LmRpcmVjdGlvbmFsaXR5LnZpc3VhbE9yZGVyTGlzdC5zaXplKCk7ICsraW5kZXgpIHsKLSAgICAg
ICAgICAgIGF1dG8gdmlzdWFsT3JkZXIgPSBsaW5lTGF5b3V0UmVzdWx0LmRpcmVjdGlvbmFsaXR5
LnZpc3VhbE9yZGVyTGlzdFtpbmRleF07Ci0gICAgICAgICAgICBBU1NFUlQoaW5saW5lQ29udGVu
dFt2aXN1YWxPcmRlcl0uYmlkaUxldmVsKCkgIT0gSW5saW5lSXRlbTo6b3BhcXVlQmlkaUxldmVs
KTsKKyAgICAgICAgICAgIGF1dG8gbG9naWNhbEluZGV4ID0gbGluZUxheW91dFJlc3VsdC5kaXJl
Y3Rpb25hbGl0eS52aXN1YWxPcmRlckxpc3RbaW5kZXhdOworICAgICAgICAgICAgQVNTRVJUKGlu
bGluZUNvbnRlbnRbbG9naWNhbEluZGV4XS5iaWRpTGV2ZWwoKSAhPSBJbmxpbmVJdGVtOjpvcGFx
dWVCaWRpTGV2ZWwpOwogCi0gICAgICAgICAgICBhdXRvJiBsaW5lUnVuID0gaW5saW5lQ29udGVu
dFt2aXN1YWxPcmRlcl07CisgICAgICAgICAgICBhdXRvJiBsaW5lUnVuID0gaW5saW5lQ29udGVu
dFtsb2dpY2FsSW5kZXhdOwogICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gbGluZVJ1bi5s
YXlvdXRCb3goKTsKIAogICAgICAgICAgICAgYXV0byBuZWVkc0Rpc3BsYXlCb3hPckdlb21ldHJ5
U2V0dGluZyA9ICFsaW5lUnVuLmlzV29yZEJyZWFrT3Bwb3J0dW5pdHkoKSAmJiAhbGluZVJ1bi5p
c0lubGluZUJveEVuZCgpOwpAQCAtOTUxLDMyICs5NTEsNzUgQEAgdm9pZCBJbmxpbmVEaXNwbGF5
Q29udGVudEJ1aWxkZXI6OmNvbGxlY3RJbmtPdmVyZmxvd0ZvcklubGluZUJveGVzKElubGluZURp
c3BsYXkKICAgICB9CiB9CiAKLXZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpzZXRH
ZW9tZXRyeUZvckJsb2NrTGV2ZWxPdXRPZkZsb3dCb3hlcyhjb25zdCBWZWN0b3I8c2l6ZV90PiBp
bmRleExpc3RPZk91dE9mRmxvd0JveGVzLCBjb25zdCBMaW5lQm94JiBsaW5lQm94LCBjb25zdCBM
aW5lOjpSdW5MaXN0JiBsaW5lUnVucywgY29uc3QgVmVjdG9yPGludDMyX3Q+JiB2aXN1YWxPcmRl
ckxpc3QpCitzdGF0aWMgaW5saW5lIHNpemVfdCBydW5JbmRleChhdXRvIGksIGF1dG8gbGlzdFNp
emUsIGF1dG8gaXNMZWZ0VG9SaWdodERpcmVjdGlvbikKIHsKKyAgICBpZiAoaXNMZWZ0VG9SaWdo
dERpcmVjdGlvbikKKyAgICAgICAgcmV0dXJuIGk7CisgICAgYXV0byBsYXN0SW5kZXggPSBsaXN0
U2l6ZSAtIDE7CisgICAgcmV0dXJuIGxhc3RJbmRleCAtIGk7Cit9CisKK3N0YXRpYyBpbmxpbmUg
dm9pZCBzZXRHZW9tZXRyeUZvck91dE9mRmxvd0JveGVzKGNvbnN0IFZlY3RvcjxzaXplX3Q+JiBp
bmRleExpc3RPZk91dE9mRmxvd0JveGVzLCBzdGQ6Om9wdGlvbmFsPHNpemVfdD4gZmlyc3RPdXRP
ZkZsb3dJbmRleFdpdGhQcmV2aW91c0luZmxvd1NpYmxpbmcsIGNvbnN0IExpbmU6OlJ1bkxpc3Qm
IGxpbmVSdW5zLCBjb25zdCBWZWN0b3I8aW50MzJfdD4mIHZpc3VhbE9yZGVyTGlzdCwgSW5saW5l
Rm9ybWF0dGluZ0NvbnRleHQmIGZvcm1hdHRpbmdDb250ZXh0LCBjb25zdCBMaW5lQm94JiBsaW5l
Qm94LCBjb25zdCBDb25zdHJhaW50c0ZvcklubGluZUNvbnRlbnQmIGNvbnN0cmFpbnRzKQorewor
ICAgIGF1dG8gaXNMZWZ0VG9SaWdodERpcmVjdGlvbiA9IGZvcm1hdHRpbmdDb250ZXh0LnJvb3Qo
KS5zdHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKTsKKyAgICBhdXRvIG91dE9mRmxvd0Jv
eExpc3RTaXplID0gaW5kZXhMaXN0T2ZPdXRPZkZsb3dCb3hlcy5zaXplKCk7CisKKyAgICBhdXRv
IG91dE9mRmxvd0JveCA9IFsmXShzaXplX3QgaSkgLT4gY29uc3QgQm94JiB7CisgICAgICAgIGF1
dG8gb3V0T2ZGbG93UnVuSW5kZXggPSBpbmRleExpc3RPZk91dE9mRmxvd0JveGVzW3J1bkluZGV4
KGksIG91dE9mRmxvd0JveExpc3RTaXplLCBpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKV07CisgICAg
ICAgIHJldHVybiAodmlzdWFsT3JkZXJMaXN0LmlzRW1wdHkoKSA/IGxpbmVSdW5zW291dE9mRmxv
d1J1bkluZGV4XSA6IGxpbmVSdW5zW3Zpc3VhbE9yZGVyTGlzdFtvdXRPZkZsb3dSdW5JbmRleF1d
KS5sYXlvdXRCb3goKTsKKyAgICB9OworICAgIC8vIFNldCBnZW9tZXRyeSBvbiAiYmVmb3JlIGlu
ZmxvdyBjb250ZW50IiBib3hlcyBmaXJzdCwgZm9sbG93ZWQgYnkgdGhlICJhZnRlciBpbmZsb3cg
Y29udGVudCIgbGlzdC4KKyAgICBhdXRvIGJlZm9yZUFmdGVyQm91bmRhcnkgPSBmaXJzdE91dE9m
Rmxvd0luZGV4V2l0aFByZXZpb3VzSW5mbG93U2libGluZy52YWx1ZV9vcihvdXRPZkZsb3dCb3hM
aXN0U2l6ZSk7CisgICAgLy8gVGhlc2Ugb3V0IG9mIGZsb3cgYm94ZXMgInNpdCIgb24gdGhlIGxp
bmUgc3RhcnQgKHRoZXkgYXJlIGJlZm9yZSBhbnkgaW5mbG93IGNvbnRlbnQgZS5nLiA8ZGl2Pjxk
aXYgY2xhc3M9b3V0LW9mLWZsb3c+PC9kaXY+c29tZSB0ZXh0PGRpdj4pCisgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBiZWZvcmVBZnRlckJvdW5kYXJ5OyArK2kpCisgICAgICAgIGZvcm1hdHRp
bmdDb250ZXh0Lmdlb21ldHJ5Rm9yQm94KG91dE9mRmxvd0JveChpKSkuc2V0VG9wTGVmdCh7IGNv
bnN0cmFpbnRzLmhvcml6b250YWwoKS5sb2dpY2FsTGVmdCwgbGluZUJveC5sb2dpY2FsUmVjdCgp
LnRvcCgpIH0pOworICAgIC8vIFRoZXNlIG91dCBvZiBmbG93IGJveGVzIGFyZSBhbGwgX2FmdGVy
XyBhbiBpbmZsb3cgY29udGVudCBhbmQgZ2V0ICJ3cmFwcGVkIiB0byB0aGUgbmV4dCBsaW5lLgor
ICAgIGZvciAoc2l6ZV90IGkgPSBiZWZvcmVBZnRlckJvdW5kYXJ5OyBpIDwgb3V0T2ZGbG93Qm94
TGlzdFNpemU7ICsraSkKKyAgICAgICAgZm9ybWF0dGluZ0NvbnRleHQuZ2VvbWV0cnlGb3JCb3go
b3V0T2ZGbG93Qm94KGkpKS5zZXRUb3BMZWZ0KHsgY29uc3RyYWludHMuaG9yaXpvbnRhbCgpLmxv
Z2ljYWxMZWZ0LCBsaW5lQm94LmxvZ2ljYWxSZWN0KCkuYm90dG9tKCkgfSk7Cit9CisKK3ZvaWQg
SW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpzZXRHZW9tZXRyeUZvckJsb2NrTGV2ZWxPdXRP
ZkZsb3dCb3hlcyhjb25zdCBWZWN0b3I8c2l6ZV90PiYgaW5kZXhMaXN0T2ZPdXRPZkZsb3dCb3hl
cywgY29uc3QgTGluZUJveCYgbGluZUJveCwgY29uc3QgTGluZTo6UnVuTGlzdCYgbGluZVJ1bnMs
IGNvbnN0IFZlY3RvcjxpbnQzMl90PiYgdmlzdWFsT3JkZXJMaXN0KQoreworICAgIGlmIChpbmRl
eExpc3RPZk91dE9mRmxvd0JveGVzLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
Ly8gQmxvY2sgbGV2ZWwgYm94ZXMgYXJlIHBsYWNlZCBlaXRoZXIgYXQgdGhlIHN0YXJ0IG9mIHRo
ZSBsaW5lIG9yICJ1bmRlciIgZGVwZW5kaW5nIHdoZXRoZXIgdGhleSBoYXZlIHByZXZpb3VzIGlu
ZmxvdyBzaWJsaW5nLgorICAgIC8vIEhlcmUgd2UgZmlndXJlIG91dCBpZiBhIHBhcnRpY3VsYXIg
b3V0IG9mIGZsb3cgYm94IGhhcyBhbiBpbmZsb3cgc2libGluZyBvciBub3QuCisgICAgLy8gMS4g
RmluZCB0aGUgZmlyc3QgaW5mbG93IGNvbnRlbnQuIEFueSBvdXQgb2YgZmxvdyBib3ggYWZ0ZXIg
dGhpcyBnZXRzIG1vdmVkIF91bmRlcl8gdGhlIGxpbmUgYm94LgorICAgIC8vIDIuIExvb3AgdGhy
b3VnaCB0aGUgb3V0IG9mIGZsb3cgYm94ZXMgKGluZGV4TGlzdE9mT3V0T2ZGbG93Qm94ZXMpIGFu
ZCBzZXQgdGhlaXIgdmVydGljYWwgZ2VvbWV0cnkgZGVwZW5kaW5nIHdoZXRoZXIgdGhleSBhcmUg
YmVmb3JlIG9yIGFmdGVyIHRoZSBmaXJzdCBpbmZsb3cgY29udGVudC4KKyAgICAvLyBOb3RlIHRo
YXQgdGhlcmUncyBhbiBleHRyYSBsYXllciBvZiBkaXJlY3Rpb25hbGl0eSBoZXJlOiBpbiBjYXNl
IG9mIHJpZ2h0IHRvIGxlZnQgaW5saW5lIGRpcmVjdGlvbiwgdGhlIGJlZm9yZSBpbmZsb3cgY29u
dGVudCBjaGVjayBzdGFydHMgZnJvbSB0aGUgcmlnaHQgZWRnZSBhbmQgcHJvZ3Jlc3NlcyBpbiBh
IGxlZnR3YXJkIG1hbm5lcgorICAgIC8vIGFuZCBub3QgaW4gdmlzdWFsIG9yZGVyLiBIb3dldmVy
IHRoaXMgaXMgbm90IGxvZ2ljYWwgb3JkZXIgZWl0aGVyICh3aGljaCBpcyBtb3JlIGFib3V0IGJp
ZGkgdGhhbiBpbmxpbmUgZGlyZWN0aW9uKS4gU28gTFRSIHN0YXJ0cyBhdCB0aGUgbGVmdCB3aGls
ZSBSVEwgc3RhcnRzIGF0IHRoZSByaWdodCBhbmQgaW4KKyAgICAvLyBib3RoIGNhc2VzIGp1bXBp
bmcgZnJvbSBydW4gdG8gcnVuIGluIGJpZGkgb3JkZXIuCiAgICAgYXV0byYgZm9ybWF0dGluZ0Nv
bnRleHQgPSB0aGlzLT5mb3JtYXR0aW5nQ29udGV4dCgpOwotICAgIGF1dG8gb3V0T2ZGbG93Q29u
dGVudEhhc1ByZXZpb3VzSW5GbG93U2libGluZ1dpdGhDb250ZW50T3JEZWNvcmF0aW9uID0gZmFs
c2U7Ci0KLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGluZGV4TGlzdE9mT3V0T2ZGbG93Qm94
ZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgYXV0byBvdXRPZkZsb3dCb3hJbmRleCA9IGluZGV4
TGlzdE9mT3V0T2ZGbG93Qm94ZXNbaV07Ci0gICAgICAgIEFTU0VSVChvdXRPZkZsb3dCb3hJbmRl
eCA8IGxpbmVSdW5zLnNpemUoKSk7Ci0KLSAgICAgICAgYXV0byBoYXNQcmV2aW91c0luRmxvd0Nv
bnRlbnQgPSBbJl0gewotICAgICAgICAgICAgaWYgKG91dE9mRmxvd0NvbnRlbnRIYXNQcmV2aW91
c0luRmxvd1NpYmxpbmdXaXRoQ29udGVudE9yRGVjb3JhdGlvbikKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIGZvciAoc2l6ZV90IHByZXZpb3VzUnVuSW5kZXggPSAh
aSA/IDAgOiBpbmRleExpc3RPZk91dE9mRmxvd0JveGVzW2kgLSAxXSArIDE7IHByZXZpb3VzUnVu
SW5kZXggPCBvdXRPZkZsb3dCb3hJbmRleDsgKytwcmV2aW91c1J1bkluZGV4KSB7Ci0gICAgICAg
ICAgICAgICAgYXV0byYgcHJldmlvdXNSdW4gPSB2aXN1YWxPcmRlckxpc3QuaXNFbXB0eSgpID8g
bGluZVJ1bnNbcHJldmlvdXNSdW5JbmRleF0gOiBsaW5lUnVuc1t2aXN1YWxPcmRlckxpc3RbcHJl
dmlvdXNSdW5JbmRleF1dOwotICAgICAgICAgICAgICAgIGlmIChMaW5lOjpSdW46OmlzQ29udGVu
dGZ1bE9ySGFzRGVjb3JhdGlvbihwcmV2aW91c1J1biwgZm9ybWF0dGluZ0NvbnRleHQpKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIG91dE9mRmxvd0NvbnRlbnRIYXNQcmV2aW91c0luRmxvd1NpYmxp
bmdXaXRoQ29udGVudE9yRGVjb3JhdGlvbiA9IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgIHJl
dHVybiB0cnVlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgfTsKLSAgICAgICAgLy8gQmxvY2sgbGV2ZWwgYm94ZXMg
YXJlIHBsYWNlZCBlaXRoZXIgYXQgdGhlIHN0YXJ0IG9mIHRoZSBsaW5lIG9yICJ1bmRlciIgZGVw
ZW5kaW5nIHdoZXRoZXIgdGhleSBoYXZlIHByZXZpb3VzIGluZmxvdyBzaWJsaW5nLgotICAgICAg
ICBhdXRvIGxvZ2ljYWxUb3AgPSBoYXNQcmV2aW91c0luRmxvd0NvbnRlbnQoKSA/IGxpbmVCb3gu
bG9naWNhbFJlY3QoKS5ib3R0b20oKSA6IGxpbmVCb3gubG9naWNhbFJlY3QoKS50b3AoKTsKLSAg
ICAgICAgYXV0byYgbGluZVJ1biA9IHZpc3VhbE9yZGVyTGlzdC5pc0VtcHR5KCkgPyBsaW5lUnVu
c1tvdXRPZkZsb3dCb3hJbmRleF0gOiBsaW5lUnVuc1t2aXN1YWxPcmRlckxpc3Rbb3V0T2ZGbG93
Qm94SW5kZXhdXTsKLSAgICAgICAgZm9ybWF0dGluZ0NvbnRleHQuZ2VvbWV0cnlGb3JCb3gobGlu
ZVJ1bi5sYXlvdXRCb3goKSkuc2V0VG9wTGVmdCh7IGNvbnN0cmFpbnRzKCkuaG9yaXpvbnRhbCgp
LmxvZ2ljYWxMZWZ0LCBsb2dpY2FsVG9wIH0pOworICAgIGF1dG8gaXNMZWZ0VG9SaWdodERpcmVj
dGlvbiA9IHJvb3QoKS5zdHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKTsKKworICAgIGF1
dG8gZmlyc3RDb250ZW50ZnVsSW5GbG93UnVuSW5kZXggPSBzdGQ6Om9wdGlvbmFsPHNpemVfdD4g
eyB9OworICAgIGF1dG8gY29udGVudExpc3RTaXplID0gdmlzdWFsT3JkZXJMaXN0LmlzRW1wdHko
KSA/IGxpbmVSdW5zLnNpemUoKSA6IHZpc3VhbE9yZGVyTGlzdC5zaXplKCk7CisgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBjb250ZW50TGlzdFNpemU7ICsraSkgeworICAgICAgICBhdXRvIGlu
ZGV4ID0gcnVuSW5kZXgoaSwgY29udGVudExpc3RTaXplLCBpc0xlZnRUb1JpZ2h0RGlyZWN0aW9u
KTsKKyAgICAgICAgYXV0byYgbGluZVJ1biA9IHZpc3VhbE9yZGVyTGlzdC5pc0VtcHR5KCkgPyBs
aW5lUnVuc1tpbmRleF0gOiBsaW5lUnVuc1t2aXN1YWxPcmRlckxpc3RbaW5kZXhdXTsKKyAgICAg
ICAgaWYgKGxpbmVSdW4ubGF5b3V0Qm94KCkuaXNJbkZsb3coKSAmJiBMaW5lOjpSdW46OmlzQ29u
dGVudGZ1bE9ySGFzRGVjb3JhdGlvbihsaW5lUnVuLCBmb3JtYXR0aW5nQ29udGV4dCkpIHsKKyAg
ICAgICAgICAgIGZpcnN0Q29udGVudGZ1bEluRmxvd1J1bkluZGV4ID0gaW5kZXg7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmICghZmlyc3RDb250ZW50ZnVs
SW5GbG93UnVuSW5kZXgpIHsKKyAgICAgICAgc2V0R2VvbWV0cnlGb3JPdXRPZkZsb3dCb3hlcyhp
bmRleExpc3RPZk91dE9mRmxvd0JveGVzLCB7IH0sIGxpbmVSdW5zLCB2aXN1YWxPcmRlckxpc3Qs
IGZvcm1hdHRpbmdDb250ZXh0LCBsaW5lQm94LCBjb25zdHJhaW50cygpKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIGF1dG8gZmlyc3RPdXRPZkZsb3dJbmRleFdpdGhQcmV2aW91c0lu
Zmxvd1NpYmxpbmcgPSBzdGQ6Om9wdGlvbmFsPHNpemVfdD4geyB9OworICAgIGF1dG8gb3V0T2ZG
bG93Qm94TGlzdFNpemUgPSBpbmRleExpc3RPZk91dE9mRmxvd0JveGVzLnNpemUoKTsKKyAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IG91dE9mRmxvd0JveExpc3RTaXplOyArK2kpIHsKKyAgICAg
ICAgYXV0byBvdXRPZkZsb3dJbmRleCA9IHJ1bkluZGV4KGksIG91dE9mRmxvd0JveExpc3RTaXpl
LCBpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKTsKKyAgICAgICAgYXV0byBoYXNQcmV2aW91c0luZmxv
d1NpYmxpbmcgPSAoaXNMZWZ0VG9SaWdodERpcmVjdGlvbiAmJiBpbmRleExpc3RPZk91dE9mRmxv
d0JveGVzW291dE9mRmxvd0luZGV4XSA+ICpmaXJzdENvbnRlbnRmdWxJbkZsb3dSdW5JbmRleCkg
fHwgKCFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uICYmIGluZGV4TGlzdE9mT3V0T2ZGbG93Qm94ZXNb
b3V0T2ZGbG93SW5kZXhdIDwgKmZpcnN0Q29udGVudGZ1bEluRmxvd1J1bkluZGV4KTsKKyAgICAg
ICAgaWYgKGhhc1ByZXZpb3VzSW5mbG93U2libGluZykgeworICAgICAgICAgICAgZmlyc3RPdXRP
ZkZsb3dJbmRleFdpdGhQcmV2aW91c0luZmxvd1NpYmxpbmcgPSBvdXRPZkZsb3dJbmRleDsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgfQorICAgIHNldEdlb21ldHJ5Rm9yT3V0
T2ZGbG93Qm94ZXMoaW5kZXhMaXN0T2ZPdXRPZkZsb3dCb3hlcywgZmlyc3RPdXRPZkZsb3dJbmRl
eFdpdGhQcmV2aW91c0luZmxvd1NpYmxpbmcsIGxpbmVSdW5zLCB2aXN1YWxPcmRlckxpc3QsIGZv
cm1hdHRpbmdDb250ZXh0LCBsaW5lQm94LCBjb25zdHJhaW50cygpKTsKIH0KIAogc3RhdGljIGZs
b2F0IGxvZ2ljYWxCb3R0b21Gb3JUZXh0RGVjb3JhdGlvbkNvbnRlbnQoY29uc3QgSW5saW5lRGlz
cGxheTo6Qm94ZXMmIGJveGVzLCBib29sIGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlz
cGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUNvbnRlbnRC
dWlsZGVyLmgKaW5kZXggZjU1ZDk5NGJjYzgxLi4wZjA3NjgyYTdkYTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5s
aW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zv
cm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxk
ZXIuaApAQCAtNzUsNyArNzUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0UmlnaHRGb3JXcml0
aW5nTW9kZShJbmxpbmVEaXNwbGF5OjpCb3gmLCBJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxSaWdo
dCwgV3JpdGluZ01vZGUpIGNvbnN0OwogICAgIElubGluZUxheW91dFBvaW50IG1vdmVQb2ludEhv
cml6b250YWxseUZvcldyaXRpbmdNb2RlKGNvbnN0IElubGluZUxheW91dFBvaW50JiB0b3BMZWZ0
LCBJbmxpbmVMYXlvdXRVbml0IGhvcml6b250YWxPZmZzZXQsIFdyaXRpbmdNb2RlKSBjb25zdDsK
ICAgICBJbmxpbmVMYXlvdXRVbml0IG91dHNpZGVMaXN0TWFya2VyVmlzdWFsUG9zaXRpb24oY29u
c3QgRWxlbWVudEJveCYpIGNvbnN0OwotICAgIHZvaWQgc2V0R2VvbWV0cnlGb3JCbG9ja0xldmVs
T3V0T2ZGbG93Qm94ZXMoY29uc3QgVmVjdG9yPHNpemVfdD4gaW5kZXhMaXN0LCBjb25zdCBMaW5l
Qm94JiwgY29uc3QgTGluZTo6UnVuTGlzdCYsIGNvbnN0IFZlY3RvcjxpbnQzMl90PiYgdmlzdWFs
T3JkZXJMaXN0ID0geyB9KTsKKyAgICB2b2lkIHNldEdlb21ldHJ5Rm9yQmxvY2tMZXZlbE91dE9m
Rmxvd0JveGVzKGNvbnN0IFZlY3RvcjxzaXplX3Q+JiBpbmRleExpc3QsIGNvbnN0IExpbmVCb3gm
LCBjb25zdCBMaW5lOjpSdW5MaXN0JiwgY29uc3QgVmVjdG9yPGludDMyX3Q+JiB2aXN1YWxPcmRl
ckxpc3QgPSB7IH0pOwogCiAgICAgYm9vbCBpc0xpbmVGdWxseVRydW5jYXRlZEluQmxvY2tEaXJl
Y3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2xpbmVJc0Z1bGx5VHJ1bmNhdGVkSW5CbG9ja0RpcmVj
dGlvbjsgfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL3JpZ2h0LXRvLWxl
ZnQtb3V0LW9mLWZsb3ctd2l0aC1pbmZsb3ctY29udGVudC1leHBlY3RlZC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9ibG9jay9yaWdodC10by1sZWZ0LW91dC1vZi1mbG93LXdpdGgtaW5mbG93LWNv
bnRlbnQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAuLjg1YzgzYzYzZWZhNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvYmxv
Y2svcmlnaHQtdG8tbGVmdC1vdXQtb2YtZmxvdy13aXRoLWluZmxvdy1jb250ZW50LWV4cGVjdGVk
Lmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPHN0eWxlPgorLmNvbnRhaW5lciB7CisgIGRpcmVjdGlv
bjogcnRsOworfQorLmFic19wb3MgeworICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgIHdpZHRo
OiA1MDBweDsKKyAgaGVpZ2h0OiAxMDBweDsKKyAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKK30K
Kzwvc3R5bGU+Cis8ZGl2IGNsYXNzPWNvbnRhaW5lcj5QQVNTIGlmIHRoaXMgdGV4dCBpcyB2aXNp
YmxlPGJyPjxkaXYgY2xhc3M9YWJzX3Bvcz48L2Rpdj48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvYmxvY2svcmlnaHQtdG8tbGVmdC1vdXQtb2YtZmxvdy13aXRoLWluZmxvdy1j
b250ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Jsb2NrL3JpZ2h0LXRvLWxlZnQtb3V0LW9m
LWZsb3ctd2l0aC1pbmZsb3ctY29udGVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMC4uZDJmMDFmNGI0OWM3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9ibG9jay9yaWdodC10by1sZWZ0LW91dC1vZi1mbG93LXdpdGgtaW5mbG93LWNvbnRl
bnQuaHRtbApAQCAtMCwwICsxLDEyIEBACis8c3R5bGU+CisuY29udGFpbmVyIHsKKyAgZGlyZWN0
aW9uOiBydGw7Cit9CisuYWJzX3BvcyB7CisgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgd2lkdGg6
IDUwMHB4OworICBoZWlnaHQ6IDEwMHB4OworICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworfQor
PC9zdHlsZT4KKzxkaXYgY2xhc3M9Y29udGFpbmVyPlBBU1MgaWYgdGhpcyB0ZXh0IGlzIHZpc2li
bGUgPGRpdiBjbGFzcz1hYnNfcG9zPjwvZGl2PjwvZGl2Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>