<?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>226269</bug_id>
          
          <creation_ts>2021-05-26 07:58:01 -0700</creation_ts>
          <short_desc>[LFC] Introduce containingBlockChain iterator</short_desc>
          <delta_ts>2021-05-26 09:31: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>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>
          
          
          <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="alan">zalan</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>1763903</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-05-26 07:58:01 -0700</bug_when>
    <thetext>Iterator for the containing block chain</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763910</commentid>
    <comment_count>1</comment_count>
      <attachid>429758</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-05-26 08:04:48 -0700</bug_when>
    <thetext>Created attachment 429758
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763912</commentid>
    <comment_count>2</comment_count>
      <attachid>429758</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-05-26 08:10:04 -0700</bug_when>
    <thetext>Comment on attachment 429758
Patch

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

&gt; Source/WebCore/layout/formattingContexts/table/TableFormattingQuirks.cpp:70
&gt; +    for (auto&amp; ancestor : containingBlockChainOf(layoutBox)) {

Not sure if the &quot;Of&quot; adds anything.

&gt; Source/WebCore/layout/layouttree/LayoutContainingBlockChainIterator.h:54
&gt; +    LayoutContainingBlockChainIterator begin() { return LayoutContainingBlockChainIterator(m_containingBlock); }
&gt; +    LayoutContainingBlockChainIterator end() { return LayoutContainingBlockChainIterator(); }

could be 

auto begin()
auto end()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763917</commentid>
    <comment_count>3</comment_count>
      <attachid>429760</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-05-26 08:18:42 -0700</bug_when>
    <thetext>Created attachment 429760
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763919</commentid>
    <comment_count>4</comment_count>
      <attachid>429761</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-05-26 08:19:37 -0700</bug_when>
    <thetext>Created attachment 429761
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763938</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-26 09:30:30 -0700</bug_when>
    <thetext>Committed r278086 (238163@main): &lt;https://commits.webkit.org/238163@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 429761.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763939</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-26 09:31:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/78516872&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429758</attachid>
            <date>2021-05-26 08:04:48 -0700</date>
            <delta_ts>2021-05-26 08:18:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226269-20210526080447.patch</filename>
            <type>text/plain</type>
            <size>11167</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2ExMWI2YWZjN2EwZjg3
YzNjZmNjODJjOTgyNGRiMTI4MzM3MGQzNC4uYmM5ZDhkZGQyNjllZTY3ZDA4MzcyNDY1ODBmNGU4
MzAwODM3NzEwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA1LTI2ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXSBJbnRyb2R1Y2UgY29u
dGFpbmluZ0Jsb2NrQ2hhaW5PZgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI2MjY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTGV0J3MgdXNlIHRoZSByYW5nZSBsb29wIHN5bnRheCB0byBjbGltYiB0aGUg
Y29udGFpbmluZyBibG9jayBjaGFpbi4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxl
L1RhYmxlRm9ybWF0dGluZ1F1aXJrcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRh
YmxlRm9ybWF0dGluZ1F1aXJrczo6aGVpZ2h0VmFsdWVPZk5lYXJlc3RDb250YWluaW5nQmxvY2tX
aXRoRml4ZWRIZWlnaHQgY29uc3QpOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91
dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3IuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkxheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3I6Om9wZXJhdG9yKiBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxheW91dENvbnRhaW5pbmdCbG9ja0No
YWluSXRlcmF0b3I6Om9wZXJhdG9yLT4gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpMYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yOjpvcGVyYXRvcj09IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVy
YXRvcjo6b3BlcmF0b3IhPSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxheW91
dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3I6OkxheW91dENvbnRhaW5pbmdCbG9ja0NoYWlu
SXRlcmF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMYXlvdXRDb250YWluaW5nQmxv
Y2tDaGFpbkl0ZXJhdG9yOjpvcGVyYXRvcisrKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
TGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvckFkYXB0ZXI6OkxheW91dENvbnRhaW5p
bmdCbG9ja0NoYWluSXRlcmF0b3JBZGFwdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
TGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvckFkYXB0ZXI6OmJlZ2luKToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6TGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvckFk
YXB0ZXI6OmVuZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OmNvbnRhaW5pbmdCbG9ja0No
YWluT2YpOgorCiAyMDIxLTA1LTI1ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAog
ICAgICAgICBTdXBwb3J0IGJ5dGUgY29tcG9uZW50cyBmb3IgYWxsIGJvdW5kZWQgUkdCIGNvbG9y
IHR5cGVzLCBub3QganVzdCBTUkdCQQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUxYmViMDczZTEyNWZlNWY4MDQwNzQ1NmU5ZDc0
ZDFlMzVmN2MxYjUuLmUwMGIxMzM5Y2I1OWFmNjQzM2RmMjFhZTYxZWM1MmVkZWYzMGU3YTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTIxNjYsNiArMjE2Niw3IEBACiAJCTZGQjdEMkREMjUwRkQ4MjgwMDAyMDdBQSAvKiBGbGV4
Rm9ybWF0dGluZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDZGQjdEMkQ5MjUwRkQ3RkMwMDAyMDdBQSAvKiBGbGV4Rm9ybWF0dGluZ0NvbnRl
eHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2
RkI3RDJERTI1MEZEODJFMDAwMjA3QUEgLyogRmxleEZvcm1hdHRpbmdTdGF0ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkZCN0QyREEyNTBGRDdGQzAw
MDIwN0FBIC8qIEZsZXhGb3JtYXR0aW5nU3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2RkMzRjk0NzI1MTY3NTY3MDBBNDlCRUEgLyogSW5s
aW5lTGluZVJ1bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNkZDM0Y5NDUyNTE2NzU2NjAwQTQ5QkVBIC8qIElubGluZUxpbmVSdW4uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk2RkNCREI5NzI2NURGMkM4
MDAyMUVBN0IgLyogTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkZDQkRCOTUyNjVERjJDNzAw
MjFFQTdCIC8qIExheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3IuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2RkNFMUExQTIyNjE4QUJE
MDA0RjAzNDMgLyogTGF5b3V0SW50ZWdyYXRpb25SdW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGQ0UxQTE4MjI2MThBQjMwMDRGMDM0MyAvKiBMYXlv
dXRJbnRlZ3JhdGlvblJ1bi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTZGRDA5NTQzMjUxMTE1MjIwMDk4ODc3RCAvKiBMYXlvdXRHZW9tZXRyeVJl
Y3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGRDA5
NTQxMjUxMTE1MjIwMDk4ODc3RCAvKiBMYXlvdXRHZW9tZXRyeVJlY3QuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2RkUxOTgxNzIxNzgzOTdDMDA0
NDZGMDggLyogSW5saW5lQ29udGVudEJyZWFrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGRTE5ODE1MjE3ODM5N0MwMDQ0NkYwOCAvKiBJbmxpbmVD
b250ZW50QnJlYWtlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CkBAIC0xMDA0OSw2ICsxMDA1MCw3IEBACiAJCTZGQzVDQTk0MjJFMzU5OTQwMEIxM0Ux
MSAvKiBUYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRhYmxl
Rm9ybWF0dGluZ0NvbnRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkM1
Q0E5NTIyRTM1OTk0MDBCMTNFMTEgLyogVGFibGVGb3JtYXR0aW5nQ29udGV4dC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBUYWJsZUZvcm1hdHRpbmdDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTZGQzVDQTk2MjJFMzU5OTUwMEIxM0UxMSAvKiBUYWJsZUZvcm1hdHRpbmdTdGF0ZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBUYWJsZUZvcm1hdHRpbmdTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk2RkNCREI5NTI2NURGMkM3MDAyMUVBN0IgLyogTGF5b3V0Q29udGFpbmlu
Z0Jsb2NrQ2hhaW5JdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBM
YXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTZGQ0UxQTE4MjI2MThBQjMwMDRGMDM0MyAvKiBMYXlvdXRJbnRlZ3JhdGlvblJ1
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRJbnRlZ3JhdGlvblJ1bi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk2RkQwOTU0MTI1MTExNTIyMDA5ODg3N0QgLyogTGF5b3V0R2VvbWV0
cnlSZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEdlb21ldHJ5
UmVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkUxOTgxMzIxNzgzOTdCMDA0
NDZGMDggLyogSW5saW5lQ29udGVudEJyZWFrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSW5saW5lQ29udGVudEJyZWFrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMTgyNTAsNiArMTgyNTIsNyBAQAogCQkJCTExMTAwRkM5MjA5MjdDQkMw
MDgxQUE2QyAvKiBMYXlvdXRDaGlsZEl0ZXJhdG9yLmggKi8sCiAJCQkJMTE5OUZBNDUyMDhFMzVB
MzAwMjM1OENDIC8qIExheW91dENvbnRhaW5lckJveC5jcHAgKi8sCiAJCQkJMTE5OUZBNDQyMDhF
MzVBMzAwMjM1OENDIC8qIExheW91dENvbnRhaW5lckJveC5oICovLAorCQkJCTZGQ0JEQjk1MjY1
REYyQzcwMDIxRUE3QiAvKiBMYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yLmggKi8s
CiAJCQkJMTFCMDQyRkIyMEIwRTIxNDAwODI4QTZCIC8qIExheW91dERlc2NlbmRhbnRJdGVyYXRv
ci5oICovLAogCQkJCTZGRDA5NTQxMjUxMTE1MjIwMDk4ODc3RCAvKiBMYXlvdXRHZW9tZXRyeVJl
Y3QuaCAqLywKIAkJCQk2RkIwRUQxMTI0MjdCNkM2MDAyNzM3RTYgLyogTGF5b3V0SW5pdGlhbENv
bnRhaW5pbmdCbG9jay5jcHAgKi8sCkBAIC0zMzk5MSw2ICszMzk5NCw3IEBACiAJCQkJMTE1Q0ZB
OTcyMDhCOTUyQjAwMUU2OTkxIC8qIExheW91dEJveC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTEz
MTBDRjYyMEJBNEE1NjAwNjVBOEQwIC8qIExheW91dENoaWxkSXRlcmF0b3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTExOTlGQTQ2MjA4RTM1QTMwMDIzNThDQyAvKiBMYXlvdXRDb250YWluZXJCb3gu
aCBpbiBIZWFkZXJzICovLAorCQkJCTZGQ0JEQjk3MjY1REYyQzgwMDIxRUE3QiAvKiBMYXlvdXRD
b250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RjI2QkI2
QzIzMzQzRTZGMDAyRjJCRUEgLyogTGF5b3V0Q29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MTEzMTBDRjUyMEJBNEE0QzAwNjVBOEQwIC8qIExheW91dERlc2NlbmRhbnRJdGVyYXRvci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNkZEMDk1NDMyNTExMTUyMjAwOTg4NzdEIC8qIExheW91dEdlb21l
dHJ5UmVjdC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ1F1aXJrcy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0
dGluZ1F1aXJrcy5jcHAKaW5kZXggOGE5MTQzYmYxMzkxZGVkNDk2MTAwYTUxNWY3OWEyNjg5NjMz
NjUzZC4uODgwYThlN2U4MmRmZTBkYTJmNjcxYzE1YWYxZTgxNWZmYWM1MWE2ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZv
cm1hdHRpbmdRdWlya3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nUXVpcmtzLmNwcApAQCAtMzAsNiArMzAsNyBA
QAogCiAjaW5jbHVkZSAiTGF5b3V0Qm94LmgiCiAjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmVyQm94
LmgiCisjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvci5oIgogI2lu
Y2x1ZGUgIkxheW91dFN0YXRlLmgiCiAjaW5jbHVkZSAiVGFibGVGb3JtYXR0aW5nQ29udGV4dC5o
IgogCkBAIC02NSwxMyArNjYsMTUgQEAgTGF5b3V0VW5pdCBUYWJsZUZvcm1hdHRpbmdRdWlya3M6
OmhlaWdodFZhbHVlT2ZOZWFyZXN0Q29udGFpbmluZ0Jsb2NrV2l0aEZpeGVkSGUKICAgICAgICAg
cmV0dXJuIGhlaWdodC5pc0ZpeGVkKCkgPyBtYWtlT3B0aW9uYWwoTGF5b3V0VW5pdCB7IGhlaWdo
dC52YWx1ZSgpIH0pIDogV1RGOjpudWxsb3B0OwogICAgIH07CiAKLSAgICBhdXRvJiBmb3JtYXR0
aW5nQ29udGV4dCA9IHRoaXMtPmZvcm1hdHRpbmdDb250ZXh0KCk7Ci0gICAgYXV0byYgdGFibGVC
b3ggPSBmb3JtYXR0aW5nQ29udGV4dC5yb290KCk7Ci0gICAgZm9yIChhdXRvKiBhbmNlc3RvciA9
ICZsYXlvdXRCb3guY29udGFpbmluZ0Jsb2NrKCk7IGFuY2VzdG9yICYmIGFuY2VzdG9yICE9ICZ0
YWJsZUJveDsgYW5jZXN0b3IgPSAmYW5jZXN0b3ItPmNvbnRhaW5pbmdCbG9jaygpKSB7Ci0gICAg
ICAgIGlmIChhdXRvIGZpeGVkSGVpZ2h0ID0gZml4ZWRMb2dpY2FsSGVpZ2h0KCphbmNlc3Rvcikp
CisgICAgYXV0byYgdGFibGVCb3ggPSBmb3JtYXR0aW5nQ29udGV4dCgpLnJvb3QoKTsKKyAgICBm
b3IgKGF1dG8mIGFuY2VzdG9yIDogY29udGFpbmluZ0Jsb2NrQ2hhaW5PZihsYXlvdXRCb3gpKSB7
CisgICAgICAgIGlmIChhdXRvIGZpeGVkSGVpZ2h0ID0gZml4ZWRMb2dpY2FsSGVpZ2h0KGFuY2Vz
dG9yKSkKICAgICAgICAgICAgIHJldHVybiAqZml4ZWRIZWlnaHQ7CisgICAgICAgIGlmICgmYW5j
ZXN0b3IgPT0gJnRhYmxlQm94KQorICAgICAgICAgICAgcmV0dXJuIHsgfTsKICAgICB9Ci0gICAg
cmV0dXJuIGZpeGVkTG9naWNhbEhlaWdodCh0YWJsZUJveCkudmFsdWVPcihMYXlvdXRVbml0IHsg
fSk7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIHsgfTsKIH0KIAogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Q29udGFp
bmluZ0Jsb2NrQ2hhaW5JdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRy
ZWUvTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvci5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlNGUw
MzNkNzlmYTJlOTFmOTRlZmM5MTI4ZjNmNjdjZDFiNTAwZDgKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRDb250YWluaW5nQmxvY2tDaGFp
bkl0ZXJhdG9yLmgKQEAgLTAsMCArMSw4NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiTGF5b3V0Q29udGFp
bmVyQm94LmgiCisKKyNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIExheW91dCB7CisKK2NsYXNzIExheW91dENvbnRh
aW5pbmdCbG9ja0NoYWluSXRlcmF0b3IgeworcHVibGljOgorICAgIExheW91dENvbnRhaW5pbmdC
bG9ja0NoYWluSXRlcmF0b3IoKSA9IGRlZmF1bHQ7CisgICAgTGF5b3V0Q29udGFpbmluZ0Jsb2Nr
Q2hhaW5JdGVyYXRvcihjb25zdCBDb250YWluZXJCb3gmKTsKKyAgICBjb25zdCBDb250YWluZXJC
b3gmIG9wZXJhdG9yKigpIGNvbnN0IHsgcmV0dXJuICptX2N1cnJlbnQ7IH0KKyAgICBjb25zdCBD
b250YWluZXJCb3gqIG9wZXJhdG9yLT4oKSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnQ7IH0KKwor
ICAgIExheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3ImIG9wZXJhdG9yKysoKTsKKyAg
ICBib29sIG9wZXJhdG9yPT0oY29uc3QgTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRv
ciYgb3RoZXIpIGNvbnN0IHsgcmV0dXJuIG1fY3VycmVudCA9PSBvdGhlci5tX2N1cnJlbnQ7IH0K
KyAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVy
YXRvciYgb3RoZXIpIGNvbnN0IHsgIHJldHVybiAhKCp0aGlzID09IG90aGVyKTsgfQorCitwcml2
YXRlOgorICAgIGNvbnN0IENvbnRhaW5lckJveCogbV9jdXJyZW50IHsgbnVsbHB0ciB9OworfTsK
KworY2xhc3MgTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvckFkYXB0ZXIgeworcHVi
bGljOgorICAgIExheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3JBZGFwdGVyKGNvbnN0
IENvbnRhaW5lckJveCYpOworICAgIExheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3Ig
YmVnaW4oKSB7IHJldHVybiBMYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yKG1fY29u
dGFpbmluZ0Jsb2NrKTsgfQorICAgIExheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3Ig
ZW5kKCkgeyByZXR1cm4gTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvcigpOyB9CisK
K3ByaXZhdGU6CisgICAgY29uc3QgQ29udGFpbmVyQm94JiBtX2NvbnRhaW5pbmdCbG9jazsKK307
CisKK0xheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3JBZGFwdGVyIGNvbnRhaW5pbmdC
bG9ja0NoYWluT2YoY29uc3QgQm94Jik7CisKK2lubGluZSBMYXlvdXRDb250YWluaW5nQmxvY2tD
aGFpbkl0ZXJhdG9yOjpMYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yKGNvbnN0IENv
bnRhaW5lckJveCYgY3VycmVudCkKKyAgICA6IG1fY3VycmVudCgmY3VycmVudCkKK3sKK30KKwor
aW5saW5lIExheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3ImIExheW91dENvbnRhaW5p
bmdCbG9ja0NoYWluSXRlcmF0b3I6Om9wZXJhdG9yKysoKQoreworICAgIEFTU0VSVChtX2N1cnJl
bnQpOworICAgIG1fY3VycmVudCA9IG1fY3VycmVudC0+aXNJbml0aWFsQ29udGFpbmluZ0Jsb2Nr
KCkgPyBudWxscHRyIDogJm1fY3VycmVudC0+Y29udGFpbmluZ0Jsb2NrKCk7CisgICAgcmV0dXJu
ICp0aGlzOworfQorCitpbmxpbmUgTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvckFk
YXB0ZXI6OkxheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3JBZGFwdGVyKGNvbnN0IENv
bnRhaW5lckJveCYgY29udGFpbmluZ0Jsb2NrKQorICAgIDogbV9jb250YWluaW5nQmxvY2soY29u
dGFpbmluZ0Jsb2NrKQoreworfQorCitpbmxpbmUgTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5J
dGVyYXRvckFkYXB0ZXIgY29udGFpbmluZ0Jsb2NrQ2hhaW5PZihjb25zdCBCb3gmIGxheW91dEJv
eCkKK3sKKyAgICByZXR1cm4gTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvckFkYXB0
ZXIobGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygpKTsKK30KKworfQorfQorI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429760</attachid>
            <date>2021-05-26 08:18:42 -0700</date>
            <delta_ts>2021-05-26 08:19:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226269-20210526081842.patch</filename>
            <type>text/plain</type>
            <size>11101</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2ExMWI2YWZjN2EwZjg3
YzNjZmNjODJjOTgyNGRiMTI4MzM3MGQzNC4uYjk0ZTc1MmJkZDc5OTgxNjk0YzAzYzM0NWVhYzky
MjNhYzEzNmVjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA1LTI2ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXSBJbnRyb2R1Y2UgY29u
dGFpbmluZ0Jsb2NrQ2hhaW5PZgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI2MjY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8u
CisKKyAgICAgICAgTGV0J3MgdXNlIHRoZSByYW5nZSBsb29wIHN5bnRheCB0byBjbGltYiB0aGUg
Y29udGFpbmluZyBibG9jayBjaGFpbi4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBsYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxl
L1RhYmxlRm9ybWF0dGluZ1F1aXJrcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlRh
YmxlRm9ybWF0dGluZ1F1aXJrczo6aGVpZ2h0VmFsdWVPZk5lYXJlc3RDb250YWluaW5nQmxvY2tX
aXRoRml4ZWRIZWlnaHQgY29uc3QpOgorICAgICAgICAqIGxheW91dC9sYXlvdXR0cmVlL0xheW91
dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3IuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpMYXlvdXQ6OkxheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3I6Om9wZXJhdG9yKiBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxheW91dENvbnRhaW5pbmdCbG9ja0No
YWluSXRlcmF0b3I6Om9wZXJhdG9yLT4gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpMYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yOjpvcGVyYXRvcj09IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVy
YXRvcjo6b3BlcmF0b3IhPSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxheW91
dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3I6OkxheW91dENvbnRhaW5pbmdCbG9ja0NoYWlu
SXRlcmF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMYXlvdXRDb250YWluaW5nQmxv
Y2tDaGFpbkl0ZXJhdG9yOjpvcGVyYXRvcisrKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
TGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvckFkYXB0ZXI6OkxheW91dENvbnRhaW5p
bmdCbG9ja0NoYWluSXRlcmF0b3JBZGFwdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6
TGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvckFkYXB0ZXI6OmJlZ2luKToKKyAgICAg
ICAgKFdlYkNvcmU6OkxheW91dDo6TGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvckFk
YXB0ZXI6OmVuZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OmNvbnRhaW5pbmdCbG9ja0No
YWluT2YpOgorCiAyMDIxLTA1LTI1ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAog
ICAgICAgICBTdXBwb3J0IGJ5dGUgY29tcG9uZW50cyBmb3IgYWxsIGJvdW5kZWQgUkdCIGNvbG9y
IHR5cGVzLCBub3QganVzdCBTUkdCQQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDUxYmViMDczZTEyNWZlNWY4MDQwNzQ1NmU5ZDc0
ZDFlMzVmN2MxYjUuLmUwMGIxMzM5Y2I1OWFmNjQzM2RmMjFhZTYxZWM1MmVkZWYzMGU3YTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTIxNjYsNiArMjE2Niw3IEBACiAJCTZGQjdEMkREMjUwRkQ4MjgwMDAyMDdBQSAvKiBGbGV4
Rm9ybWF0dGluZ0NvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDZGQjdEMkQ5MjUwRkQ3RkMwMDAyMDdBQSAvKiBGbGV4Rm9ybWF0dGluZ0NvbnRl
eHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2
RkI3RDJERTI1MEZEODJFMDAwMjA3QUEgLyogRmxleEZvcm1hdHRpbmdTdGF0ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkZCN0QyREEyNTBGRDdGQzAw
MDIwN0FBIC8qIEZsZXhGb3JtYXR0aW5nU3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2RkMzRjk0NzI1MTY3NTY3MDBBNDlCRUEgLyogSW5s
aW5lTGluZVJ1bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNkZDM0Y5NDUyNTE2NzU2NjAwQTQ5QkVBIC8qIElubGluZUxpbmVSdW4uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk2RkNCREI5NzI2NURGMkM4
MDAyMUVBN0IgLyogTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkZDQkRCOTUyNjVERjJDNzAw
MjFFQTdCIC8qIExheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3IuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2RkNFMUExQTIyNjE4QUJE
MDA0RjAzNDMgLyogTGF5b3V0SW50ZWdyYXRpb25SdW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGQ0UxQTE4MjI2MThBQjMwMDRGMDM0MyAvKiBMYXlv
dXRJbnRlZ3JhdGlvblJ1bi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTZGRDA5NTQzMjUxMTE1MjIwMDk4ODc3RCAvKiBMYXlvdXRHZW9tZXRyeVJl
Y3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGRDA5
NTQxMjUxMTE1MjIwMDk4ODc3RCAvKiBMYXlvdXRHZW9tZXRyeVJlY3QuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2RkUxOTgxNzIxNzgzOTdDMDA0
NDZGMDggLyogSW5saW5lQ29udGVudEJyZWFrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGRTE5ODE1MjE3ODM5N0MwMDQ0NkYwOCAvKiBJbmxpbmVD
b250ZW50QnJlYWtlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CkBAIC0xMDA0OSw2ICsxMDA1MCw3IEBACiAJCTZGQzVDQTk0MjJFMzU5OTQwMEIxM0Ux
MSAvKiBUYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRhYmxl
Rm9ybWF0dGluZ0NvbnRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkM1
Q0E5NTIyRTM1OTk0MDBCMTNFMTEgLyogVGFibGVGb3JtYXR0aW5nQ29udGV4dC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBUYWJsZUZvcm1hdHRpbmdDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTZGQzVDQTk2MjJFMzU5OTUwMEIxM0UxMSAvKiBUYWJsZUZvcm1hdHRpbmdTdGF0ZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBUYWJsZUZvcm1hdHRpbmdTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk2RkNCREI5NTI2NURGMkM3MDAyMUVBN0IgLyogTGF5b3V0Q29udGFpbmlu
Z0Jsb2NrQ2hhaW5JdGVyYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBM
YXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTZGQ0UxQTE4MjI2MThBQjMwMDRGMDM0MyAvKiBMYXlvdXRJbnRlZ3JhdGlvblJ1
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRJbnRlZ3JhdGlvblJ1bi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk2RkQwOTU0MTI1MTExNTIyMDA5ODg3N0QgLyogTGF5b3V0R2VvbWV0
cnlSZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91dEdlb21ldHJ5
UmVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkUxOTgxMzIxNzgzOTdCMDA0
NDZGMDggLyogSW5saW5lQ29udGVudEJyZWFrZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSW5saW5lQ29udGVudEJyZWFrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMTgyNTAsNiArMTgyNTIsNyBAQAogCQkJCTExMTAwRkM5MjA5MjdDQkMw
MDgxQUE2QyAvKiBMYXlvdXRDaGlsZEl0ZXJhdG9yLmggKi8sCiAJCQkJMTE5OUZBNDUyMDhFMzVB
MzAwMjM1OENDIC8qIExheW91dENvbnRhaW5lckJveC5jcHAgKi8sCiAJCQkJMTE5OUZBNDQyMDhF
MzVBMzAwMjM1OENDIC8qIExheW91dENvbnRhaW5lckJveC5oICovLAorCQkJCTZGQ0JEQjk1MjY1
REYyQzcwMDIxRUE3QiAvKiBMYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yLmggKi8s
CiAJCQkJMTFCMDQyRkIyMEIwRTIxNDAwODI4QTZCIC8qIExheW91dERlc2NlbmRhbnRJdGVyYXRv
ci5oICovLAogCQkJCTZGRDA5NTQxMjUxMTE1MjIwMDk4ODc3RCAvKiBMYXlvdXRHZW9tZXRyeVJl
Y3QuaCAqLywKIAkJCQk2RkIwRUQxMTI0MjdCNkM2MDAyNzM3RTYgLyogTGF5b3V0SW5pdGlhbENv
bnRhaW5pbmdCbG9jay5jcHAgKi8sCkBAIC0zMzk5MSw2ICszMzk5NCw3IEBACiAJCQkJMTE1Q0ZB
OTcyMDhCOTUyQjAwMUU2OTkxIC8qIExheW91dEJveC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTEz
MTBDRjYyMEJBNEE1NjAwNjVBOEQwIC8qIExheW91dENoaWxkSXRlcmF0b3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTExOTlGQTQ2MjA4RTM1QTMwMDIzNThDQyAvKiBMYXlvdXRDb250YWluZXJCb3gu
aCBpbiBIZWFkZXJzICovLAorCQkJCTZGQ0JEQjk3MjY1REYyQzgwMDIxRUE3QiAvKiBMYXlvdXRD
b250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RjI2QkI2
QzIzMzQzRTZGMDAyRjJCRUEgLyogTGF5b3V0Q29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MTEzMTBDRjUyMEJBNEE0QzAwNjVBOEQwIC8qIExheW91dERlc2NlbmRhbnRJdGVyYXRvci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNkZEMDk1NDMyNTExMTUyMjAwOTg4NzdEIC8qIExheW91dEdlb21l
dHJ5UmVjdC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ1F1aXJrcy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0
dGluZ1F1aXJrcy5jcHAKaW5kZXggOGE5MTQzYmYxMzkxZGVkNDk2MTAwYTUxNWY3OWEyNjg5NjMz
NjUzZC4uNTZiMjcyYjJkYjAwMzVhNWNmYmQ3ZjY1MDY2NjNmYWEwMDNhYmZlMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZv
cm1hdHRpbmdRdWlya3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5n
Q29udGV4dHMvdGFibGUvVGFibGVGb3JtYXR0aW5nUXVpcmtzLmNwcApAQCAtMzAsNiArMzAsNyBA
QAogCiAjaW5jbHVkZSAiTGF5b3V0Qm94LmgiCiAjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmVyQm94
LmgiCisjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvci5oIgogI2lu
Y2x1ZGUgIkxheW91dFN0YXRlLmgiCiAjaW5jbHVkZSAiVGFibGVGb3JtYXR0aW5nQ29udGV4dC5o
IgogCkBAIC02NSwxMyArNjYsMTUgQEAgTGF5b3V0VW5pdCBUYWJsZUZvcm1hdHRpbmdRdWlya3M6
OmhlaWdodFZhbHVlT2ZOZWFyZXN0Q29udGFpbmluZ0Jsb2NrV2l0aEZpeGVkSGUKICAgICAgICAg
cmV0dXJuIGhlaWdodC5pc0ZpeGVkKCkgPyBtYWtlT3B0aW9uYWwoTGF5b3V0VW5pdCB7IGhlaWdo
dC52YWx1ZSgpIH0pIDogV1RGOjpudWxsb3B0OwogICAgIH07CiAKLSAgICBhdXRvJiBmb3JtYXR0
aW5nQ29udGV4dCA9IHRoaXMtPmZvcm1hdHRpbmdDb250ZXh0KCk7Ci0gICAgYXV0byYgdGFibGVC
b3ggPSBmb3JtYXR0aW5nQ29udGV4dC5yb290KCk7Ci0gICAgZm9yIChhdXRvKiBhbmNlc3RvciA9
ICZsYXlvdXRCb3guY29udGFpbmluZ0Jsb2NrKCk7IGFuY2VzdG9yICYmIGFuY2VzdG9yICE9ICZ0
YWJsZUJveDsgYW5jZXN0b3IgPSAmYW5jZXN0b3ItPmNvbnRhaW5pbmdCbG9jaygpKSB7Ci0gICAg
ICAgIGlmIChhdXRvIGZpeGVkSGVpZ2h0ID0gZml4ZWRMb2dpY2FsSGVpZ2h0KCphbmNlc3Rvcikp
CisgICAgYXV0byYgdGFibGVCb3ggPSBmb3JtYXR0aW5nQ29udGV4dCgpLnJvb3QoKTsKKyAgICBm
b3IgKGF1dG8mIGFuY2VzdG9yIDogY29udGFpbmluZ0Jsb2NrQ2hhaW4obGF5b3V0Qm94KSkgewor
ICAgICAgICBpZiAoYXV0byBmaXhlZEhlaWdodCA9IGZpeGVkTG9naWNhbEhlaWdodChhbmNlc3Rv
cikpCiAgICAgICAgICAgICByZXR1cm4gKmZpeGVkSGVpZ2h0OworICAgICAgICBpZiAoJmFuY2Vz
dG9yID09ICZ0YWJsZUJveCkKKyAgICAgICAgICAgIHJldHVybiB7IH07CiAgICAgfQotICAgIHJl
dHVybiBmaXhlZExvZ2ljYWxIZWlnaHQodGFibGVCb3gpLnZhbHVlT3IoTGF5b3V0VW5pdCB7IH0p
OworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiB7IH07CiB9CiAKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dENvbnRhaW5p
bmdCbG9ja0NoYWluSXRlcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVl
L0xheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZWFhNzE0
ZTJhYzMzMDBmODk3NzQzZTNmMDgxMjIyZmQyNjc0MjhjCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5J
dGVyYXRvci5oCkBAIC0wLDAgKzEsODYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkxheW91dENvbnRhaW5l
ckJveC5oIgorCisjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBMYXlvdXQgeworCitjbGFzcyBMYXlvdXRDb250YWlu
aW5nQmxvY2tDaGFpbkl0ZXJhdG9yIHsKK3B1YmxpYzoKKyAgICBMYXlvdXRDb250YWluaW5nQmxv
Y2tDaGFpbkl0ZXJhdG9yKCkgPSBkZWZhdWx0OworICAgIExheW91dENvbnRhaW5pbmdCbG9ja0No
YWluSXRlcmF0b3IoY29uc3QgQ29udGFpbmVyQm94Jik7CisgICAgY29uc3QgQ29udGFpbmVyQm94
JiBvcGVyYXRvciooKSBjb25zdCB7IHJldHVybiAqbV9jdXJyZW50OyB9CisgICAgY29uc3QgQ29u
dGFpbmVyQm94KiBvcGVyYXRvci0+KCkgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50OyB9CisKKyAg
ICBMYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yJiBvcGVyYXRvcisrKCk7CisgICAg
Ym9vbCBvcGVyYXRvcj09KGNvbnN0IExheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3Im
IG90aGVyKSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnQgPT0gb3RoZXIubV9jdXJyZW50OyB9Cisg
ICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IExheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0
b3ImIG90aGVyKSBjb25zdCB7ICByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7IH0KKworcHJpdmF0
ZToKKyAgICBjb25zdCBDb250YWluZXJCb3gqIG1fY3VycmVudCB7IG51bGxwdHIgfTsKK307CisK
K2NsYXNzIExheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3JBZGFwdGVyIHsKK3B1Ymxp
YzoKKyAgICBMYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yQWRhcHRlcihjb25zdCBD
b250YWluZXJCb3gmKTsKKyAgICBhdXRvIGJlZ2luKCkgeyByZXR1cm4gTGF5b3V0Q29udGFpbmlu
Z0Jsb2NrQ2hhaW5JdGVyYXRvcihtX2NvbnRhaW5pbmdCbG9jayk7IH0KKyAgICBhdXRvIGVuZCgp
IHsgcmV0dXJuIExheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3IoKTsgfQorCitwcml2
YXRlOgorICAgIGNvbnN0IENvbnRhaW5lckJveCYgbV9jb250YWluaW5nQmxvY2s7Cit9OworCitM
YXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yQWRhcHRlciBjb250YWluaW5nQmxvY2tD
aGFpbihjb25zdCBCb3gmKTsKKworaW5saW5lIExheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRl
cmF0b3I6OkxheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3IoY29uc3QgQ29udGFpbmVy
Qm94JiBjdXJyZW50KQorICAgIDogbV9jdXJyZW50KCZjdXJyZW50KQoreworfQorCitpbmxpbmUg
TGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvciYgTGF5b3V0Q29udGFpbmluZ0Jsb2Nr
Q2hhaW5JdGVyYXRvcjo6b3BlcmF0b3IrKygpCit7CisgICAgQVNTRVJUKG1fY3VycmVudCk7Cisg
ICAgbV9jdXJyZW50ID0gbV9jdXJyZW50LT5pc0luaXRpYWxDb250YWluaW5nQmxvY2soKSA/IG51
bGxwdHIgOiAmbV9jdXJyZW50LT5jb250YWluaW5nQmxvY2soKTsKKyAgICByZXR1cm4gKnRoaXM7
Cit9CisKK2lubGluZSBMYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yQWRhcHRlcjo6
TGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvckFkYXB0ZXIoY29uc3QgQ29udGFpbmVy
Qm94JiBjb250YWluaW5nQmxvY2spCisgICAgOiBtX2NvbnRhaW5pbmdCbG9jayhjb250YWluaW5n
QmxvY2spCit7Cit9CisKK2lubGluZSBMYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9y
QWRhcHRlciBjb250YWluaW5nQmxvY2tDaGFpbihjb25zdCBCb3gmIGxheW91dEJveCkKK3sKKyAg
ICByZXR1cm4gTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvckFkYXB0ZXIobGF5b3V0
Qm94LmNvbnRhaW5pbmdCbG9jaygpKTsKK30KKworfQorfQorI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429761</attachid>
            <date>2021-05-26 08:19:37 -0700</date>
            <delta_ts>2021-05-26 09:30:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226269-20210526081937.patch</filename>
            <type>text/plain</type>
            <size>11108</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2ExMWI2YWZjN2EwZjg3
YzNjZmNjODJjOTgyNGRiMTI4MzM3MGQzNC4uMWFmYjcxYTk0YjgzMDM0MDE2MmY1ZmJjMjhjM2Y2
MTcyOWNjZDA3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA1LTI2ICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXSBJbnRyb2R1Y2UgY29u
dGFpbmluZ0Jsb2NrQ2hhaW4gaXRlcmF0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyNjI2OQorCisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtv
aXZpc3RvLgorCisgICAgICAgIExldCdzIHVzZSB0aGUgcmFuZ2UgbG9vcCBzeW50YXggdG8gY2xp
bWIgdGhlIGNvbnRhaW5pbmcgYmxvY2sgY2hhaW4uCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0
cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdRdWlya3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5
b3V0OjpUYWJsZUZvcm1hdHRpbmdRdWlya3M6OmhlaWdodFZhbHVlT2ZOZWFyZXN0Q29udGFpbmlu
Z0Jsb2NrV2l0aEZpeGVkSGVpZ2h0IGNvbnN0KToKKyAgICAgICAgKiBsYXlvdXQvbGF5b3V0dHJl
ZS9MYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yLmg6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6TGF5b3V0OjpMYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yOjpvcGVy
YXRvciogY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpMYXlvdXRDb250YWluaW5n
QmxvY2tDaGFpbkl0ZXJhdG9yOjpvcGVyYXRvci0+IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvcjo6b3BlcmF0b3I9PSBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxheW91dENvbnRhaW5pbmdCbG9ja0No
YWluSXRlcmF0b3I6Om9wZXJhdG9yIT0gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
OjpMYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yOjpMYXlvdXRDb250YWluaW5nQmxv
Y2tDaGFpbkl0ZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6TGF5b3V0Q29udGFp
bmluZ0Jsb2NrQ2hhaW5JdGVyYXRvcjo6b3BlcmF0b3IrKyk6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkxheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3JBZGFwdGVyOjpMYXlvdXRD
b250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yQWRhcHRlcik6CisgICAgICAgIChXZWJDb3JlOjpM
YXlvdXQ6OkxheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3JBZGFwdGVyOjpiZWdpbik6
CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OkxheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRl
cmF0b3JBZGFwdGVyOjplbmQpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0Ojpjb250YWluaW5n
QmxvY2tDaGFpbk9mKToKKwogMjAyMS0wNS0yNSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5j
b20+CiAKICAgICAgICAgU3VwcG9ydCBieXRlIGNvbXBvbmVudHMgZm9yIGFsbCBib3VuZGVkIFJH
QiBjb2xvciB0eXBlcywgbm90IGp1c3QgU1JHQkEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1MWJlYjA3M2UxMjVmZTVmODA0MDc0
NTZlOWQ3NGQxZTM1ZjdjMWI1Li5lMDBiMTMzOWNiNTlhZjY0MzNkZjIxYWU2MWVjNTJlZGVmMzBl
N2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0yMTY2LDYgKzIxNjYsNyBAQAogCQk2RkI3RDJERDI1MEZEODI4MDAwMjA3QUEg
LyogRmxleEZvcm1hdHRpbmdDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA2RkI3RDJEOTI1MEZEN0ZDMDAwMjA3QUEgLyogRmxleEZvcm1hdHRp
bmdDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNkZCN0QyREUyNTBGRDgyRTAwMDIwN0FBIC8qIEZsZXhGb3JtYXR0aW5nU3RhdGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGQjdEMkRBMjUw
RkQ3RkMwMDAyMDdBQSAvKiBGbGV4Rm9ybWF0dGluZ1N0YXRlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkZDM0Y5NDcyNTE2NzU2NzAwQTQ5QkVB
IC8qIElubGluZUxpbmVSdW4uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDZGQzNGOTQ1MjUxNjc1NjYwMEE0OUJFQSAvKiBJbmxpbmVMaW5lUnVuLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNkZDQkRCOTcy
NjVERjJDODAwMjFFQTdCIC8qIExheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3IuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGQ0JEQjk1MjY1
REYyQzcwMDIxRUE3QiAvKiBMYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkZDRTFBMUEy
MjYxOEFCRDAwNEYwMzQzIC8qIExheW91dEludGVncmF0aW9uUnVuLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RkNFMUExODIyNjE4QUIzMDA0RjAzNDMg
LyogTGF5b3V0SW50ZWdyYXRpb25SdW4uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk2RkQwOTU0MzI1MTExNTIyMDA5ODg3N0QgLyogTGF5b3V0R2Vv
bWV0cnlSZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2RkQwOTU0MTI1MTExNTIyMDA5ODg3N0QgLyogTGF5b3V0R2VvbWV0cnlSZWN0LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNkZFMTk4MTcyMTc4
Mzk3QzAwNDQ2RjA4IC8qIElubGluZUNvbnRlbnRCcmVha2VyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RkUxOTgxNTIxNzgzOTdDMDA0NDZGMDggLyog
SW5saW5lQ29udGVudEJyZWFrZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwpAQCAtMTAwNDksNiArMTAwNTAsNyBAQAogCQk2RkM1Q0E5NDIyRTM1OTk0
MDBCMTNFMTEgLyogVGFibGVGb3JtYXR0aW5nQ29udGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBUYWJsZUZvcm1hdHRpbmdDb250ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNkZDNUNBOTUyMkUzNTk5NDAwQjEzRTExIC8qIFRhYmxlRm9ybWF0dGluZ0NvbnRleHQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gVGFibGVGb3JtYXR0aW5nQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk2RkM1Q0E5NjIyRTM1OTk1MDBCMTNFMTEgLyogVGFibGVGb3JtYXR0aW5n
U3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGFibGVGb3JtYXR0aW5nU3RhdGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNkZDQkRCOTUyNjVERjJDNzAwMjFFQTdCIC8qIExheW91dENv
bnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk2RkNFMUExODIyNjE4QUIzMDA0RjAzNDMgLyogTGF5b3V0SW50ZWdy
YXRpb25SdW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0SW50ZWdyYXRpb25SdW4uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkZEMDk1NDEyNTExMTUyMjAwOTg4NzdEIC8qIExheW91
dEdlb21ldHJ5UmVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRH
ZW9tZXRyeVJlY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkZFMTk4MTMyMTc4
Mzk3QjAwNDQ2RjA4IC8qIElubGluZUNvbnRlbnRCcmVha2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElubGluZUNvbnRlbnRCcmVha2VyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MjUwLDYgKzE4MjUyLDcgQEAKIAkJCQkxMTEwMEZDOTIw
OTI3Q0JDMDA4MUFBNkMgLyogTGF5b3V0Q2hpbGRJdGVyYXRvci5oICovLAogCQkJCTExOTlGQTQ1
MjA4RTM1QTMwMDIzNThDQyAvKiBMYXlvdXRDb250YWluZXJCb3guY3BwICovLAogCQkJCTExOTlG
QTQ0MjA4RTM1QTMwMDIzNThDQyAvKiBMYXlvdXRDb250YWluZXJCb3guaCAqLywKKwkJCQk2RkNC
REI5NTI2NURGMkM3MDAyMUVBN0IgLyogTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRv
ci5oICovLAogCQkJCTExQjA0MkZCMjBCMEUyMTQwMDgyOEE2QiAvKiBMYXlvdXREZXNjZW5kYW50
SXRlcmF0b3IuaCAqLywKIAkJCQk2RkQwOTU0MTI1MTExNTIyMDA5ODg3N0QgLyogTGF5b3V0R2Vv
bWV0cnlSZWN0LmggKi8sCiAJCQkJNkZCMEVEMTEyNDI3QjZDNjAwMjczN0U2IC8qIExheW91dElu
aXRpYWxDb250YWluaW5nQmxvY2suY3BwICovLApAQCAtMzM5OTEsNiArMzM5OTQsNyBAQAogCQkJ
CTExNUNGQTk3MjA4Qjk1MkIwMDFFNjk5MSAvKiBMYXlvdXRCb3guaCBpbiBIZWFkZXJzICovLAog
CQkJCTExMzEwQ0Y2MjBCQTRBNTYwMDY1QThEMCAvKiBMYXlvdXRDaGlsZEl0ZXJhdG9yLmggaW4g
SGVhZGVycyAqLywKIAkJCQkxMTk5RkE0NjIwOEUzNUEzMDAyMzU4Q0MgLyogTGF5b3V0Q29udGFp
bmVyQm94LmggaW4gSGVhZGVycyAqLywKKwkJCQk2RkNCREI5NzI2NURGMkM4MDAyMUVBN0IgLyog
TGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NkYyNkJCNkMyMzM0M0U2RjAwMkYyQkVBIC8qIExheW91dENvbnRleHQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTExMzEwQ0Y1MjBCQTRBNEMwMDY1QThEMCAvKiBMYXlvdXREZXNjZW5kYW50SXRlcmF0
b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTZGRDA5NTQzMjUxMTE1MjIwMDk4ODc3RCAvKiBMYXlv
dXRHZW9tZXRyeVJlY3QuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJsZUZvcm1hdHRpbmdRdWlya3Mu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy90YWJsZS9UYWJs
ZUZvcm1hdHRpbmdRdWlya3MuY3BwCmluZGV4IDhhOTE0M2JmMTM5MWRlZDQ5NjEwMGE1MTVmNzlh
MjY4OTYzMzY1M2QuLjU2YjI3MmIyZGIwMDM1YTVjZmJkN2Y2NTA2NjYzZmFhMDAzYWJmZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvdGFibGUv
VGFibGVGb3JtYXR0aW5nUXVpcmtzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9y
bWF0dGluZ0NvbnRleHRzL3RhYmxlL1RhYmxlRm9ybWF0dGluZ1F1aXJrcy5jcHAKQEAgLTMwLDYg
KzMwLDcgQEAKIAogI2luY2x1ZGUgIkxheW91dEJveC5oIgogI2luY2x1ZGUgIkxheW91dENvbnRh
aW5lckJveC5oIgorI2luY2x1ZGUgIkxheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3Iu
aCIKICNpbmNsdWRlICJMYXlvdXRTdGF0ZS5oIgogI2luY2x1ZGUgIlRhYmxlRm9ybWF0dGluZ0Nv
bnRleHQuaCIKIApAQCAtNjUsMTMgKzY2LDE1IEBAIExheW91dFVuaXQgVGFibGVGb3JtYXR0aW5n
UXVpcmtzOjpoZWlnaHRWYWx1ZU9mTmVhcmVzdENvbnRhaW5pbmdCbG9ja1dpdGhGaXhlZEhlCiAg
ICAgICAgIHJldHVybiBoZWlnaHQuaXNGaXhlZCgpID8gbWFrZU9wdGlvbmFsKExheW91dFVuaXQg
eyBoZWlnaHQudmFsdWUoKSB9KSA6IFdURjo6bnVsbG9wdDsKICAgICB9OwogCi0gICAgYXV0byYg
Zm9ybWF0dGluZ0NvbnRleHQgPSB0aGlzLT5mb3JtYXR0aW5nQ29udGV4dCgpOwotICAgIGF1dG8m
IHRhYmxlQm94ID0gZm9ybWF0dGluZ0NvbnRleHQucm9vdCgpOwotICAgIGZvciAoYXV0byogYW5j
ZXN0b3IgPSAmbGF5b3V0Qm94LmNvbnRhaW5pbmdCbG9jaygpOyBhbmNlc3RvciAmJiBhbmNlc3Rv
ciAhPSAmdGFibGVCb3g7IGFuY2VzdG9yID0gJmFuY2VzdG9yLT5jb250YWluaW5nQmxvY2soKSkg
ewotICAgICAgICBpZiAoYXV0byBmaXhlZEhlaWdodCA9IGZpeGVkTG9naWNhbEhlaWdodCgqYW5j
ZXN0b3IpKQorICAgIGF1dG8mIHRhYmxlQm94ID0gZm9ybWF0dGluZ0NvbnRleHQoKS5yb290KCk7
CisgICAgZm9yIChhdXRvJiBhbmNlc3RvciA6IGNvbnRhaW5pbmdCbG9ja0NoYWluKGxheW91dEJv
eCkpIHsKKyAgICAgICAgaWYgKGF1dG8gZml4ZWRIZWlnaHQgPSBmaXhlZExvZ2ljYWxIZWlnaHQo
YW5jZXN0b3IpKQogICAgICAgICAgICAgcmV0dXJuICpmaXhlZEhlaWdodDsKKyAgICAgICAgaWYg
KCZhbmNlc3RvciA9PSAmdGFibGVCb3gpCisgICAgICAgICAgICByZXR1cm4geyB9OwogICAgIH0K
LSAgICByZXR1cm4gZml4ZWRMb2dpY2FsSGVpZ2h0KHRhYmxlQm94KS52YWx1ZU9yKExheW91dFVu
aXQgeyB9KTsKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4geyB9OwogfQog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRD
b250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5
b3V0dHJlZS9MYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MGVhYTcxNGUyYWMzMzAwZjg5Nzc0M2UzZjA4MTIyMmZkMjY3NDI4YwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dENvbnRhaW5pbmdCbG9j
a0NoYWluSXRlcmF0b3IuaApAQCAtMCwwICsxLDg2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJMYXlvdXRD
b250YWluZXJCb3guaCIKKworI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQor
CituYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgTGF5b3V0IHsKKworY2xhc3MgTGF5b3V0
Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvciB7CitwdWJsaWM6CisgICAgTGF5b3V0Q29udGFp
bmluZ0Jsb2NrQ2hhaW5JdGVyYXRvcigpID0gZGVmYXVsdDsKKyAgICBMYXlvdXRDb250YWluaW5n
QmxvY2tDaGFpbkl0ZXJhdG9yKGNvbnN0IENvbnRhaW5lckJveCYpOworICAgIGNvbnN0IENvbnRh
aW5lckJveCYgb3BlcmF0b3IqKCkgY29uc3QgeyByZXR1cm4gKm1fY3VycmVudDsgfQorICAgIGNv
bnN0IENvbnRhaW5lckJveCogb3BlcmF0b3ItPigpIGNvbnN0IHsgcmV0dXJuIG1fY3VycmVudDsg
fQorCisgICAgTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvciYgb3BlcmF0b3IrKygp
OworICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBMYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0
ZXJhdG9yJiBvdGhlcikgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50ID09IG90aGVyLm1fY3VycmVu
dDsgfQorICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBMYXlvdXRDb250YWluaW5nQmxvY2tDaGFp
bkl0ZXJhdG9yJiBvdGhlcikgY29uc3QgeyAgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOyB9CisK
K3ByaXZhdGU6CisgICAgY29uc3QgQ29udGFpbmVyQm94KiBtX2N1cnJlbnQgeyBudWxscHRyIH07
Cit9OworCitjbGFzcyBMYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yQWRhcHRlciB7
CitwdWJsaWM6CisgICAgTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvckFkYXB0ZXIo
Y29uc3QgQ29udGFpbmVyQm94Jik7CisgICAgYXV0byBiZWdpbigpIHsgcmV0dXJuIExheW91dENv
bnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3IobV9jb250YWluaW5nQmxvY2spOyB9CisgICAgYXV0
byBlbmQoKSB7IHJldHVybiBMYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yKCk7IH0K
KworcHJpdmF0ZToKKyAgICBjb25zdCBDb250YWluZXJCb3gmIG1fY29udGFpbmluZ0Jsb2NrOwor
fTsKKworTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvckFkYXB0ZXIgY29udGFpbmlu
Z0Jsb2NrQ2hhaW4oY29uc3QgQm94Jik7CisKK2lubGluZSBMYXlvdXRDb250YWluaW5nQmxvY2tD
aGFpbkl0ZXJhdG9yOjpMYXlvdXRDb250YWluaW5nQmxvY2tDaGFpbkl0ZXJhdG9yKGNvbnN0IENv
bnRhaW5lckJveCYgY3VycmVudCkKKyAgICA6IG1fY3VycmVudCgmY3VycmVudCkKK3sKK30KKwor
aW5saW5lIExheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3ImIExheW91dENvbnRhaW5p
bmdCbG9ja0NoYWluSXRlcmF0b3I6Om9wZXJhdG9yKysoKQoreworICAgIEFTU0VSVChtX2N1cnJl
bnQpOworICAgIG1fY3VycmVudCA9IG1fY3VycmVudC0+aXNJbml0aWFsQ29udGFpbmluZ0Jsb2Nr
KCkgPyBudWxscHRyIDogJm1fY3VycmVudC0+Y29udGFpbmluZ0Jsb2NrKCk7CisgICAgcmV0dXJu
ICp0aGlzOworfQorCitpbmxpbmUgTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5JdGVyYXRvckFk
YXB0ZXI6OkxheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3JBZGFwdGVyKGNvbnN0IENv
bnRhaW5lckJveCYgY29udGFpbmluZ0Jsb2NrKQorICAgIDogbV9jb250YWluaW5nQmxvY2soY29u
dGFpbmluZ0Jsb2NrKQoreworfQorCitpbmxpbmUgTGF5b3V0Q29udGFpbmluZ0Jsb2NrQ2hhaW5J
dGVyYXRvckFkYXB0ZXIgY29udGFpbmluZ0Jsb2NrQ2hhaW4oY29uc3QgQm94JiBsYXlvdXRCb3gp
Cit7CisgICAgcmV0dXJuIExheW91dENvbnRhaW5pbmdCbG9ja0NoYWluSXRlcmF0b3JBZGFwdGVy
KGxheW91dEJveC5jb250YWluaW5nQmxvY2soKSk7Cit9CisKK30KK30KKyNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>