<?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>246398</bug_id>
          
          <creation_ts>2022-10-12 03:47:34 -0700</creation_ts>
          <short_desc>[MQ4] Add an initial version of the modern media query parser</short_desc>
          <delta_ts>2022-10-12 11:37:38 -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>CSS</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>
          
          <blocked>180234</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youssefdevelops</cc>
    
    <cc>y_soliman</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1905043</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-10-12 03:47:34 -0700</bug_when>
    <thetext>Add a stub.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1905044</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-10-12 03:49:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/101073075&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1905045</commentid>
    <comment_count>2</comment_count>
      <attachid>462936</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-10-12 03:56:06 -0700</bug_when>
    <thetext>Created attachment 462936
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1905047</commentid>
    <comment_count>3</comment_count>
      <attachid>462937</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-10-12 04:08:38 -0700</bug_when>
    <thetext>Created attachment 462937
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1905049</commentid>
    <comment_count>4</comment_count>
      <attachid>462938</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-10-12 04:27:59 -0700</bug_when>
    <thetext>Created attachment 462938
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1905052</commentid>
    <comment_count>5</comment_count>
      <attachid>462939</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-10-12 05:33:20 -0700</bug_when>
    <thetext>Created attachment 462939
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1905056</commentid>
    <comment_count>6</comment_count>
      <attachid>462940</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-10-12 05:59:45 -0700</bug_when>
    <thetext>Created attachment 462940
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1905135</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-10-12 11:37:34 -0700</bug_when>
    <thetext>Committed 255446@main (1fd457740b3b): &lt;https://commits.webkit.org/255446@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 462940.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>462936</attachid>
            <date>2022-10-12 03:56:06 -0700</date>
            <delta_ts>2022-10-12 04:12:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-246398-20221012135605.patch</filename>
            <type>text/plain</type>
            <size>17039</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSBmYzRjODI2ZWFmYzkyZDE2NTYxYjMyZjk2ZGRlYmNhMGRkZTYxNjI0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBXZWQsIDEyIE9jdCAyMDIyIDEzOjQ4OjEzICswMzAwClN1YmplY3Q6IFtQQVRDSF0gW01RNF0g
QWRkIGFuIGluaXRpYWwgdmVyc2lvbiBvZiBhIG1vZGVybiBtZWRpYSBxdWVyeSBwYXJzZXIKIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDYzOTggPHJkYXI6Ly9wcm9i
bGVtLzEwMTA3MzA3NT4KClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKTW9zdGx5IGEgc3R1
Yiwgbm8gZmVhdHVyZSBwYXJzaW5nIHlldC4KCiogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQ6
CiogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgoqIFNv
dXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeS5jcHA6CihXZWJDb3JlOjpDUTo6c2VyaWFs
aXplKToKKiBTb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnkuaDoKKiBTb3VyY2UvV2Vi
Q29yZS9jc3MvQ29udGFpbmVyUXVlcnlQYXJzZXIuY3BwOgooV2ViQ29yZTo6Q29udGFpbmVyUXVl
cnlQYXJzZXI6OmNvbnN1bWVRdWVyeUluUGFyZW5zKToKKiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVl
cnkvR2VuZXJpY01lZGlhUXVlcnlUeXBlcy5oOgoKQWxzbyByZW5hbWUgVW5rbm93blF1ZXJ5IHRv
IEdlbmVyYWxFbmNsb3NlZCAoc3BlYyB0ZXJtKSBhbmQgbW92ZSBpdCB0byBnZW5lcmljIHR5cGVz
LgoKKiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5jcHA6IEFkZGVk
LgooV2ViQ29yZTo6TVE6Ok1lZGlhUXVlcnlQYXJzZXI6OmNvbnN1bWVNZWRpYVF1ZXJ5KToKKFdl
YkNvcmU6Ok1ROjpNZWRpYVF1ZXJ5UGFyc2VyOjpjb25zdW1lUXVlcnlJblBhcmVucyk6CihXZWJD
b3JlOjpNUTo6TWVkaWFRdWVyeVBhcnNlcjo6Y29uc3VtZU1lZGlhRmVhdHVyZSk6CiogU291cmNl
L1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuaDogQ29waWVkIGZyb20gU291cmNl
L1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5VHlwZXMuaC4KKFdlYkNvcmU6Ok1R
OjpNZWRpYVF1ZXJ5UGFyc2VyOjpNZWRpYVF1ZXJ5UGFyc2VyKToKKiBTb3VyY2UvV2ViQ29yZS9z
dHlsZS9Db250YWluZXJRdWVyeUV2YWx1YXRvci5jcHA6CihXZWJDb3JlOjpTdHlsZTo6Q29udGFp
bmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlUXVlcnlJblBhcmVucyBjb25zdCk6Ci0tLQogU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQgICAgICAgICAgICAgICAgICAgIHwgICAxICsKIC4uLi9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiB8ICAgNiArCiBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnkuY3BwICAgICAgICAgfCAgIDYgKy0KIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeS5oICAgICAgICAgICB8ICAgNyArLQogU291cmNlL1dl
YkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2VyLmNwcCAgIHwgICA0ICstCiAuLi4vY3NzL3F1
ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5VHlwZXMuaCAgICAgICAgfCAgIDUgKwogU291cmNlL1dlYkNv
cmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuY3BwIHwgMTI2ICsrKysrKysrKysrKysrKysr
KwogU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuaCAgIHwgIDYxICsr
KysrKysrKwogLi4uL1dlYkNvcmUvc3R5bGUvQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IuY3BwIHwg
ICAyICstCiA5IGZpbGVzIGNoYW5nZWQsIDIwNiBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMo
LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVy
eVBhcnNlci5jcHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkv
TWVkaWFRdWVyeVBhcnNlci5oCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA5NTBjOTgxYWFlYjQuLjY2NTEy
ZDFmYzMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTg4Myw2ICs4ODMsNyBAQCBjc3MvcGFyc2VyL1Np
emVzQXR0cmlidXRlUGFyc2VyLmNwcAogY3NzL3BhcnNlci9TaXplc0NhbGNQYXJzZXIuY3BwCiBj
c3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCiBjc3MvcXVlcnkvR2VuZXJp
Y01lZGlhUXVlcnlQYXJzZXIuY3BwCitjc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5jcHAKIGNz
cy90eXBlZG9tL0NvbXB1dGVkU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmNwcAogY3NzL3R5cGVk
b20vU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmNwcAogY3NzL3R5cGVkb20vQ1NTS2V5d29yZFZh
bHVlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDlhNzM3YzIwMmE0OC4uZDBlNWUxM2JhNWEzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01NTE5LDYgKzU1
MTksNyBAQAogCQlFNDQ3RjVCMzI2NkNGNjNEMDAxMzNGMDAgLyogVGV4dEJveFNlbGVjdGFibGVS
YW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ0
N0Y1QjEyNjZDRjYzRDAwMTMzRjAwIC8qIFRleHRCb3hTZWxlY3RhYmxlUmFuZ2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFNDRBMDI1NjI3M0FF
MEMwMDA5OTNBNTYgLyogTWF0Y2hSZXN1bHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEU0NEEwMjU0MjczQUUwQkYwMDk5M0E1NiAvKiBNYXRjaFJlc3Vs
dC5oICovOyB9OwogCQlFNDRCNEJCNDE0MTY1MEQ3MDAyQjFEOEIgLyogU2VsZWN0b3JDaGVja2Vy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDRCNEJC
MjE0MTY1MEQ3MDAyQjFEOEIgLyogU2VsZWN0b3JDaGVja2VyLmggKi87IH07CisJCUU0NEY0MjJF
MjhGNkE2NDgwMDBGODdCQyAvKiBNZWRpYVF1ZXJ5UGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDRGNDIyRDI4RjZBNjQ4MDAwRjg3QkMgLyog
TWVkaWFRdWVyeVBhcnNlci5oICovOyB9OwogCQlFNDRGQTE4NTFCQ0E2QjVBMDA5MUI2RUYgLyog
Q29tcG9zZWRUcmVlSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEU0NEZBMTg0MUJDQTZCNUEwMDkxQjZFRiAvKiBDb21wb3NlZFRyZWVJdGVy
YXRvci5oICovOyB9OwogCQlFNDUxQzYzMTIzOTQwMjc5MDA5OTMxOTAgLyogTGF5b3V0VW5pdHMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGNzM5MThD
MjEwNkNFREQwMDZBRjI2MiAvKiBMYXlvdXRVbml0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0NTFDNjMyMjM5NDAzMUEwMDk5MzE5MCAvKiBN
YXJnaW5UeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNkZFN0FBMjYyMUMzN0I2MzAwMjk2RENEIC8qIE1hcmdpblR5cGVzLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE4MDQyLDYgKzE4MDQzLDgg
QEAKIAkJRTQ0QjRCQjIxNDE2NTBENzAwMkIxRDhCIC8qIFNlbGVjdG9yQ2hlY2tlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZWxlY3RvckNoZWNrZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ0RUUzQTYxNzU3NkU1NTAwRUVFOENGIC8qIEZvbnRHZW5l
cmljRmFtaWxpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9udEdlbmVyaWNGYW1pbGllcy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0NEVFM0E3MTc1NzZFNTUwMEVFRThD
RiAvKiBGb250R2VuZXJpY0ZhbWlsaWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRHZW5lcmljRmFt
aWxpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTQ0RjQyMkQyOEY2QTY0ODAw
MEY4N0JDIC8qIE1lZGlhUXVlcnlQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTWVkaWFRdWVyeVBhcnNlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlF
NDRGNDIyRjI4RjZBNjUyMDAwRjg3QkMgLyogTWVkaWFRdWVyeVBhcnNlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVF1ZXJ5UGFyc2VyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ0RkExODQxQkNBNkI1QTAwOTFCNkVGIC8qIENvbXBv
c2VkVHJlZUl0ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbXBv
c2VkVHJlZUl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0NEZBMTg2
MUJDQTkxNTYwMDkxQjZFRiAvKiBDb21wb3NlZFRyZWVJdGVyYXRvci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb21wb3NlZFRyZWVJdGVyYXRvci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0NTFDNjMzMjM5NDA1OEUwMDk5MzE5MCAvKiBMYXlv
dXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0zMjU2Miw2ICszMjU2NSw4IEBACiAJCQkJRTREQTVFNDUyOEEzQUY1NDAw
ODQ5QkNGIC8qIEdlbmVyaWNNZWRpYVF1ZXJ5UGFyc2VyLmNwcCAqLywKIAkJCQlFNERBNUUzNDI4
OUQyM0YzMDA4NDlCQ0YgLyogR2VuZXJpY01lZGlhUXVlcnlQYXJzZXIuaCAqLywKIAkJCQlFNERB
NUUzNTI4OUQyM0ZEMDA4NDlCQ0YgLyogR2VuZXJpY01lZGlhUXVlcnlUeXBlcy5oICovLAorCQkJ
CUU0NEY0MjJGMjhGNkE2NTIwMDBGODdCQyAvKiBNZWRpYVF1ZXJ5UGFyc2VyLmNwcCAqLywKKwkJ
CQlFNDRGNDIyRDI4RjZBNjQ4MDAwRjg3QkMgLyogTWVkaWFRdWVyeVBhcnNlci5oICovLAogCQkJ
KTsKIAkJCXBhdGggPSBxdWVyeTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0zNzQ2
NSw2ICszNzQ3MCw3IEBACiAJCQkJRDNBOTRBMzkxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVl
cnlMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDY1MEU3RTIzODdBRDdEMDA2MjY2RTIgLyog
TWVkaWFRdWVyeUxpc3RFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNBQTEwRjQxMjNBOThB
QTAwOTIxNTJCIC8qIE1lZGlhUXVlcnlNYXRjaGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlFNDRG
NDIyRTI4RjZBNjQ4MDAwRjg3QkMgLyogTWVkaWFRdWVyeVBhcnNlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDQ3MTcxMEUyMDVBRjk0NTAwMEExMTZFIC8qIE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0RDNCMDBBQjIxNUQ2OUE3MDA3NkI5ODMgLyogTWVkaWFS
ZWNvcmRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNERCNzEzMEQyMTZFQ0I0RDAwOTZBNEREIC8q
IE1lZGlhUmVjb3JkZXJFcnJvckV2ZW50LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q29udGFpbmVyUXVlcnkuY3BwCmluZGV4IGEzMTI1MmRkZTM1Yi4uMTk0MjgyZjg1MWFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeS5jcHAKQEAgLTk2LDEwICs5NiwxMCBAQCBzdGF0
aWMgdm9pZCBzZXJpYWxpemUoU3RyaW5nQnVpbGRlciYgYnVpbGRlciwgY29uc3QgUXVlcnlJblBh
cmVucyYgcXVlcnkpCiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcoJyk7CiAgICAgICAgIHNlcmlh
bGl6ZShidWlsZGVyLCBub2RlKTsKICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyknKTsKLSAgICB9
LCBbJl0oY29uc3QgQ1E6OlVua25vd25RdWVyeSYgdW5rbm93blF1ZXJ5KSB7Ci0gICAgICAgIGJ1
aWxkZXIuYXBwZW5kKHVua25vd25RdWVyeS5uYW1lKTsKKyAgICB9LCBbJl0oY29uc3QgTVE6Okdl
bmVyYWxFbmNsb3NlZCYgZ2VuZXJhbEVuY2xvc2VkKSB7CisgICAgICAgIGJ1aWxkZXIuYXBwZW5k
KGdlbmVyYWxFbmNsb3NlZC5uYW1lKTsKICAgICAgICAgYnVpbGRlci5hcHBlbmQoJygnKTsKLSAg
ICAgICAgYnVpbGRlci5hcHBlbmQodW5rbm93blF1ZXJ5LnRleHQpOworICAgICAgICBidWlsZGVy
LmFwcGVuZChnZW5lcmFsRW5jbG9zZWQudGV4dCk7CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcp
Jyk7CiAgICAgfSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVy
UXVlcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeS5oCmluZGV4IDY2YTJh
ZGFlNTQ4OS4uZmI5NmUzMTIxZjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29u
dGFpbmVyUXVlcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnkuaApA
QCAtNDEsMTIgKzQxLDcgQEAgdXNpbmcgU2l6ZUZlYXR1cmUgPSBNUTo6RmVhdHVyZTsKIHN0cnVj
dCBDb250YWluZXJDb25kaXRpb247CiBzdHJ1Y3QgU2l6ZUNvbmRpdGlvbjsKIAotc3RydWN0IFVu
a25vd25RdWVyeSB7Ci0gICAgU3RyaW5nIG5hbWU7Ci0gICAgU3RyaW5nIHRleHQ7Ci19OwotCi11
c2luZyBRdWVyeUluUGFyZW5zID0gc3RkOjp2YXJpYW50PENvbnRhaW5lckNvbmRpdGlvbiwgU2l6
ZUZlYXR1cmUsIFVua25vd25RdWVyeT47Cit1c2luZyBRdWVyeUluUGFyZW5zID0gc3RkOjp2YXJp
YW50PENvbnRhaW5lckNvbmRpdGlvbiwgU2l6ZUZlYXR1cmUsIE1ROjpHZW5lcmFsRW5jbG9zZWQ+
OwogCiBzdHJ1Y3QgQ29udGFpbmVyQ29uZGl0aW9uIHsKICAgICBNUTo6TG9naWNhbE9wZXJhdG9y
IGxvZ2ljYWxPcGVyYXRvciB7IE1ROjpMb2dpY2FsT3BlcmF0b3I6OkFuZCB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeVBhcnNlci5jcHAKaW5kZXggMWJmOWQ3NDViMGFlLi5i
NWE2NjkwZDJkMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVy
eVBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2Vy
LmNwcApAQCAtNjQsNyArNjQsNyBAQCBzdGQ6Om9wdGlvbmFsPENROjpRdWVyeUluUGFyZW5zPiBD
b250YWluZXJRdWVyeVBhcnNlcjo6Y29uc3VtZVF1ZXJ5SW5QYXJlbnMoQ1NTUAogICAgICAgICBh
dXRvIG5hbWUgPSByYW5nZS5wZWVrKCkudmFsdWUoKTsKICAgICAgICAgYXV0byBmdW5jdGlvblJh
bmdlID0gcmFuZ2UuY29uc3VtZUJsb2NrKCk7CiAgICAgICAgIC8vIFRoaXMgaXMgd2hlcmUgd2Ug
d291bGQgc3VwcG9ydCBzdHlsZSgpIHF1ZXJpZXMuCi0gICAgICAgIHJldHVybiBDUTo6VW5rbm93
blF1ZXJ5IHsgbmFtZS50b1N0cmluZygpLCBmdW5jdGlvblJhbmdlLnNlcmlhbGl6ZSgpIH07Cisg
ICAgICAgIHJldHVybiBNUTo6R2VuZXJhbEVuY2xvc2VkIHsgbmFtZS50b1N0cmluZygpLCBmdW5j
dGlvblJhbmdlLnNlcmlhbGl6ZSgpIH07CiAgICAgfQogCiAgICAgaWYgKHJhbmdlLnBlZWsoKS50
eXBlKCkgPT0gTGVmdFBhcmVudGhlc2lzVG9rZW4pIHsKQEAgLTgxLDcgKzgxLDcgQEAgc3RkOjpv
cHRpb25hbDxDUTo6UXVlcnlJblBhcmVucz4gQ29udGFpbmVyUXVlcnlQYXJzZXI6OmNvbnN1bWVR
dWVyeUluUGFyZW5zKENTU1AKICAgICAgICAgaWYgKGF1dG8gc2l6ZUZlYXR1cmUgPSBjb25zdW1l
U2l6ZUZlYXR1cmUoYmxvY2tSYW5nZSkpCiAgICAgICAgICAgICByZXR1cm4geyAqc2l6ZUZlYXR1
cmUgfTsKIAotICAgICAgICByZXR1cm4gQ1E6OlVua25vd25RdWVyeSB7IHsgfSwgYmxvY2tSYW5n
ZS5zZXJpYWxpemUoKSB9OworICAgICAgICByZXR1cm4gTVE6OkdlbmVyYWxFbmNsb3NlZCB7IHsg
fSwgYmxvY2tSYW5nZS5zZXJpYWxpemUoKSB9OwogICAgIH0KIAogICAgIHJldHVybiB7IH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlUeXBl
cy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5VHlwZXMuaApp
bmRleCA3MGU5ZjZhNGEyNmYuLjA3MTY1ODJjNTM4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5VHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlUeXBlcy5oCkBAIC00NSw0ICs0NSw5IEBAIHN0
cnVjdCBGZWF0dXJlIHsKICAgICBzdGQ6Om9wdGlvbmFsPENvbXBhcmlzb24+IHJpZ2h0Q29tcGFy
aXNvbjsKIH07CiAKK3N0cnVjdCBHZW5lcmFsRW5jbG9zZWQgeworICAgIFN0cmluZyBuYW1lOwor
ICAgIFN0cmluZyB0ZXh0OworfTsKKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01l
ZGlhUXVlcnlQYXJzZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MC4uNWIzZGJmNThlNmRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1
ZXJ5L01lZGlhUXVlcnlQYXJzZXIuY3BwCkBAIC0wLDAgKzEsMTI2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRpYVF1
ZXJ5UGFyc2VyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBNUSB7CisKK3N0
ZDo6b3B0aW9uYWw8TWVkaWFRdWVyeT4gTWVkaWFRdWVyeVBhcnNlcjo6Y29uc3VtZU1lZGlhUXVl
cnkoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCit7CisgICAgLy8gPG1lZGlhLWNvbmRpdGlv
bj4KKworICAgIGF1dG8gcmFuZ2VDb3B5ID0gcmFuZ2U7CisgICAgaWYgKGF1dG8gY29uZGl0aW9u
ID0gY29uc3VtZUNvbmRpdGlvbjxNZWRpYUNvbmRpdGlvbj4ocmFuZ2UpKQorICAgICAgICByZXR1
cm4gTWVkaWFRdWVyeSB7ICpjb25kaXRpb24gfTsKKworICAgIHJhbmdlID0gcmFuZ2VDb3B5Owor
CisgICAgLy8gWyBub3QgfCBvbmx5IF0/IDxtZWRpYS10eXBlPiBbIGFuZCA8bWVkaWEtY29uZGl0
aW9uLXdpdGhvdXQtb3I+IF0KKworICAgIGF1dG8gY29uc3VtZUluaXRpYWxOb3RPck9ubHkgPSBb
Jl0geworICAgICAgICBpZiAocmFuZ2UucGVlaygpLnR5cGUoKSAhPSBJZGVudFRva2VuKQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGlmIChyYW5nZS5wZWVrKCkuaWQoKSA9
PSBDU1NWYWx1ZU5vdCkgeworICAgICAgICAgICAgcmFuZ2UuY29uc3VtZUluY2x1ZGluZ1doaXRl
c3BhY2UoKTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgICAgIGlm
IChyYW5nZS5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZU9ubHkpIHsKKyAgICAgICAgICAgIC8vICdv
bmx5JyBkb2Vzbid0IGRvIGFueXRoaW5nLiBJdCBleGlzdHMgdG8gaGlkZSB0aGUgcnVsZSBmcm9t
IGxlZ2FjeSBhZ2VudHMuCisgICAgICAgICAgICByYW5nZS5jb25zdW1lSW5jbHVkaW5nV2hpdGVz
cGFjZSgpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9OworCisgICAg
YXV0byBjb25zdW1lTWVkaWFUeXBlID0gWyZdKCkgLT4gQXRvbVN0cmluZyB7CisgICAgICAgIGlm
IChyYW5nZS5wZWVrKCkudHlwZSgpICE9IElkZW50VG9rZW4pCisgICAgICAgICAgICByZXR1cm4g
eyB9OworCisgICAgICAgIGF1dG8gaWRlbnRpZmllciA9IHJhbmdlLnBlZWsoKS5pZCgpOworICAg
ICAgICBpZiAoaWRlbnRpZmllciA9PSBDU1NWYWx1ZU9ubHkgfHwgaWRlbnRpZmllciA9PSBDU1NW
YWx1ZU5vdCB8fCBpZGVudGlmaWVyID09IENTU1ZhbHVlQW5kIHx8IGlkZW50aWZpZXIgPT0gQ1NT
VmFsdWVPcikKKyAgICAgICAgICAgIHJldHVybiB7IH07CisKKyAgICAgICAgcmV0dXJuIHJhbmdl
LmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCkudmFsdWUoKS5jb252ZXJ0VG9BU0NJSUxvd2Vy
Y2FzZUF0b20oKTsKKyAgICB9OworCisgICAgYXV0byBpc05lZ2F0aW9uID0gY29uc3VtZUluaXRp
YWxOb3RPck9ubHkoKTsKKyAgICBhdXRvIG1lZGlhVHlwZSA9IGNvbnN1bWVNZWRpYVR5cGUoKTsK
KworICAgIGlmIChtZWRpYVR5cGUuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAg
ICBpZiAocmFuZ2UuYXRFbmQoKSkKKyAgICAgICAgcmV0dXJuIE1lZGlhUXVlcnkgeyB7IH0sIG1l
ZGlhVHlwZSwgaXNOZWdhdGlvbiB9OworCisgICAgaWYgKHJhbmdlLnBlZWsoKS50eXBlKCkgIT0g
SWRlbnRUb2tlbiB8fCByYW5nZS5wZWVrKCkuaWQoKSAhPSBDU1NWYWx1ZUFuZCkKKyAgICAgICAg
cmV0dXJuIHsgfTsKKworICAgIHJhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCk7CisK
KyAgICBhdXRvIGNvbmRpdGlvbiA9IGNvbnN1bWVDb25kaXRpb248TWVkaWFDb25kaXRpb24+KHJh
bmdlKTsKKyAgICBpZiAoIWNvbmRpdGlvbikKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGlm
IChjb25kaXRpb24tPmxvZ2ljYWxPcGVyYXRvciA9PSBMb2dpY2FsT3BlcmF0b3I6Ok9yKQorICAg
ICAgICByZXR1cm4geyB9OworCisgICAgcmV0dXJuIE1lZGlhUXVlcnkgeyAqY29uZGl0aW9uLCBt
ZWRpYVR5cGUsIGlzTmVnYXRpb24gfTsKK30KKworc3RkOjpvcHRpb25hbDxNZWRpYUluUGFyZW5z
PiBNZWRpYVF1ZXJ5UGFyc2VyOjpjb25zdW1lUXVlcnlJblBhcmVucyhDU1NQYXJzZXJUb2tlblJh
bmdlJiByYW5nZSkKK3sKKyAgICBpZiAocmFuZ2UucGVlaygpLnR5cGUoKSA9PSBGdW5jdGlvblRv
a2VuKSB7CisgICAgICAgIGF1dG8gbmFtZSA9IHJhbmdlLnBlZWsoKS52YWx1ZSgpOworICAgICAg
ICBhdXRvIGZ1bmN0aW9uUmFuZ2UgPSByYW5nZS5jb25zdW1lQmxvY2soKTsKKyAgICAgICAgcmV0
dXJuIEdlbmVyYWxFbmNsb3NlZCB7IG5hbWUudG9TdHJpbmcoKSwgZnVuY3Rpb25SYW5nZS5zZXJp
YWxpemUoKSB9OworICAgIH0KKworICAgIGlmIChyYW5nZS5wZWVrKCkudHlwZSgpID09IExlZnRQ
YXJlbnRoZXNpc1Rva2VuKSB7CisgICAgICAgIGF1dG8gYmxvY2tSYW5nZSA9IHJhbmdlLmNvbnN1
bWVCbG9jaygpOworICAgICAgICByYW5nZS5jb25zdW1lV2hpdGVzcGFjZSgpOworCisgICAgICAg
IGJsb2NrUmFuZ2UuY29uc3VtZVdoaXRlc3BhY2UoKTsKKworICAgICAgICBhdXRvIGNvbmRpdGlv
blJhbmdlID0gYmxvY2tSYW5nZTsKKyAgICAgICAgaWYgKGF1dG8gY29uZGl0aW9uID0gY29uc3Vt
ZUNvbmRpdGlvbjxNZWRpYUNvbmRpdGlvbj4oY29uZGl0aW9uUmFuZ2UpKQorICAgICAgICAgICAg
cmV0dXJuIHsgY29uZGl0aW9uIH07CisKKyAgICAgICAgaWYgKGF1dG8gZmVhdHVyZSA9IGNvbnN1
bWVNZWRpYUZlYXR1cmUoYmxvY2tSYW5nZSkpCisgICAgICAgICAgICByZXR1cm4geyAqZmVhdHVy
ZSB9OworCisgICAgICAgIHJldHVybiBHZW5lcmFsRW5jbG9zZWQgeyB7IH0sIGJsb2NrUmFuZ2Uu
c2VyaWFsaXplKCkgfTsKKyAgICB9CisKKyAgICByZXR1cm4geyB9OworfQorCitzdGQ6Om9wdGlv
bmFsPE1lZGlhRmVhdHVyZT4gTWVkaWFRdWVyeVBhcnNlcjo6Y29uc3VtZU1lZGlhRmVhdHVyZShD
U1NQYXJzZXJUb2tlblJhbmdlJikKK3sKKyAgICByZXR1cm4geyB9OworfQorCit9Cit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmRiMDU3NjBiYjUzNwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmgKQEAgLTAsMCArMSw2
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lu
Y2x1ZGUgIkdlbmVyaWNNZWRpYVF1ZXJ5UGFyc2VyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
K25hbWVzcGFjZSBNUSB7CisKK3N0cnVjdCBNZWRpYUNvbmRpdGlvbjsKKwordXNpbmcgTWVkaWFG
ZWF0dXJlID0gRmVhdHVyZTsKK3VzaW5nIE1lZGlhSW5QYXJlbnMgPSBzdGQ6OnZhcmlhbnQ8TWVk
aWFDb25kaXRpb24sIE1lZGlhRmVhdHVyZSwgR2VuZXJhbEVuY2xvc2VkPjsKKworc3RydWN0IE1l
ZGlhQ29uZGl0aW9uIHsKKyAgICBMb2dpY2FsT3BlcmF0b3IgbG9naWNhbE9wZXJhdG9yIHsgTG9n
aWNhbE9wZXJhdG9yOjpBbmQgfTsKKyAgICBWZWN0b3I8TWVkaWFJblBhcmVucz4gcXVlcmllczsK
K307CisKK3N0cnVjdCBNZWRpYVF1ZXJ5IHsKKyAgICBNZWRpYUNvbmRpdGlvbiBjb25kaXRpb247
CisgICAgQXRvbVN0cmluZyBtZWRpYVR5cGUgeyB9OworICAgIGJvb2wgaXNOZWdhdGlvbiB7IGZh
bHNlIH07Cit9OworCitjbGFzcyBNZWRpYVF1ZXJ5UGFyc2VyIDogcHVibGljIEdlbmVyaWNNZWRp
YVF1ZXJ5UGFyc2VyPE1lZGlhUXVlcnlQYXJzZXI+ICB7CitwdWJsaWM6CisgICAgc3RkOjpvcHRp
b25hbDxNZWRpYVF1ZXJ5PiBjb25zdW1lTWVkaWFRdWVyeShDU1NQYXJzZXJUb2tlblJhbmdlJik7
CisgICAgc3RkOjpvcHRpb25hbDxNZWRpYUluUGFyZW5zPiBjb25zdW1lUXVlcnlJblBhcmVucyhD
U1NQYXJzZXJUb2tlblJhbmdlJik7CisKK3ByaXZhdGU6CisgICAgc3RkOjpvcHRpb25hbDxNZWRp
YUZlYXR1cmU+IGNvbnN1bWVNZWRpYUZlYXR1cmUoQ1NTUGFyc2VyVG9rZW5SYW5nZSYpOworCisg
ICAgTWVkaWFRdWVyeVBhcnNlcihjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQorICAg
ICAgICA6IEdlbmVyaWNNZWRpYVF1ZXJ5UGFyc2VyKGNvbnRleHQpIHsgfQorfTsKKworfQorfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvQ29udGFpbmVyUXVlcnlFdmFsdWF0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IuY3BwCmlu
ZGV4IDVkNzBiMDRiNzI3My4uOGYxMjNiNjFkOGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9Db250YWluZXJRdWVyeUV2YWx1YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3R5bGUvQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IuY3BwCkBAIC0xNzAsNyArMTcwLDcgQEAgYXV0
byBDb250YWluZXJRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGVRdWVyeUluUGFyZW5zKGNvbnN0IENR
OjpRdWVyeUluUGFyZW5zJiBxdWUKICAgICAgICAgcmV0dXJuIGV2YWx1YXRlQ29uZGl0aW9uKGNv
bnRhaW5lckNvbmRpdGlvbiwgY29udGFpbmVyKTsKICAgICB9LCBbJl0oY29uc3QgQ1E6OlNpemVG
ZWF0dXJlJiBzaXplRmVhdHVyZSkgewogICAgICAgICByZXR1cm4gZXZhbHVhdGVTaXplRmVhdHVy
ZShzaXplRmVhdHVyZSwgY29udGFpbmVyKTsKLSAgICB9LCBbJl0oY29uc3QgQ1E6OlVua25vd25R
dWVyeSYpIHsKKyAgICB9LCBbJl0oY29uc3QgTVE6OkdlbmVyYWxFbmNsb3NlZCYpIHsKICAgICAg
ICAgcmV0dXJuIE1ROjpFdmFsdWF0aW9uUmVzdWx0OjpVbmtub3duOwogICAgIH0pOwogfQo=
</data>
<flag name="commit-queue"
          id="491506"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>462937</attachid>
            <date>2022-10-12 04:08:38 -0700</date>
            <delta_ts>2022-10-12 04:31:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-246398-20221012140836.patch</filename>
            <type>text/plain</type>
            <size>17072</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSBhZDNjZTg3NDY1ZTM5ZjYxM2RiZTM2MDg2NDhmZmJmN2NjYzI0NjY5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBXZWQsIDEyIE9jdCAyMDIyIDEzOjQ4OjEzICswMzAwClN1YmplY3Q6IFtQQVRDSF0gW01RNF0g
QWRkIGFuIGluaXRpYWwgdmVyc2lvbiBvZiBhIG1vZGVybiBtZWRpYSBxdWVyeSBwYXJzZXIKIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDYzOTggPHJkYXI6Ly9wcm9i
bGVtLzEwMTA3MzA3NT4KClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKTW9zdGx5IGEgc3R1
Yiwgbm8gZmVhdHVyZSBwYXJzaW5nIHlldC4KCiogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQ6
CiogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgoqIFNv
dXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeS5jcHA6CihXZWJDb3JlOjpDUTo6c2VyaWFs
aXplKToKKiBTb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnkuaDoKKiBTb3VyY2UvV2Vi
Q29yZS9jc3MvQ29udGFpbmVyUXVlcnlQYXJzZXIuY3BwOgooV2ViQ29yZTo6Q29udGFpbmVyUXVl
cnlQYXJzZXI6OmNvbnN1bWVRdWVyeUluUGFyZW5zKToKKiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVl
cnkvR2VuZXJpY01lZGlhUXVlcnlUeXBlcy5oOgoKQWxzbyByZW5hbWUgVW5rbm93blF1ZXJ5IHRv
IEdlbmVyYWxFbmNsb3NlZCAoc3BlYyB0ZXJtKSBhbmQgbW92ZSBpdCB0byBnZW5lcmljIHR5cGVz
LgoKKiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5jcHA6IEFkZGVk
LgooV2ViQ29yZTo6TVE6Ok1lZGlhUXVlcnlQYXJzZXI6OmNvbnN1bWVNZWRpYVF1ZXJ5KToKKFdl
YkNvcmU6Ok1ROjpNZWRpYVF1ZXJ5UGFyc2VyOjpjb25zdW1lUXVlcnlJblBhcmVucyk6CihXZWJD
b3JlOjpNUTo6TWVkaWFRdWVyeVBhcnNlcjo6Y29uc3VtZU1lZGlhRmVhdHVyZSk6CiogU291cmNl
L1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuaDogQ29waWVkIGZyb20gU291cmNl
L1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5VHlwZXMuaC4KKFdlYkNvcmU6Ok1R
OjpNZWRpYVF1ZXJ5UGFyc2VyOjpNZWRpYVF1ZXJ5UGFyc2VyKToKKiBTb3VyY2UvV2ViQ29yZS9z
dHlsZS9Db250YWluZXJRdWVyeUV2YWx1YXRvci5jcHA6CihXZWJDb3JlOjpTdHlsZTo6Q29udGFp
bmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlUXVlcnlJblBhcmVucyBjb25zdCk6Ci0tLQogU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQgICAgICAgICAgICAgICAgICAgIHwgICAxICsKIC4uLi9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiB8ICAgNiArCiBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnkuY3BwICAgICAgICAgfCAgIDYgKy0KIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeS5oICAgICAgICAgICB8ICAgNyArLQogU291cmNlL1dl
YkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2VyLmNwcCAgIHwgICA0ICstCiAuLi4vY3NzL3F1
ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5VHlwZXMuaCAgICAgICAgfCAgIDUgKwogU291cmNlL1dlYkNv
cmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuY3BwIHwgMTI4ICsrKysrKysrKysrKysrKysr
KwogU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuaCAgIHwgIDYxICsr
KysrKysrKwogLi4uL1dlYkNvcmUvc3R5bGUvQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IuY3BwIHwg
ICAyICstCiA5IGZpbGVzIGNoYW5nZWQsIDIwOCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMo
LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVy
eVBhcnNlci5jcHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkv
TWVkaWFRdWVyeVBhcnNlci5oCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA5NTBjOTgxYWFlYjQuLjY2NTEy
ZDFmYzMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTg4Myw2ICs4ODMsNyBAQCBjc3MvcGFyc2VyL1Np
emVzQXR0cmlidXRlUGFyc2VyLmNwcAogY3NzL3BhcnNlci9TaXplc0NhbGNQYXJzZXIuY3BwCiBj
c3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCiBjc3MvcXVlcnkvR2VuZXJp
Y01lZGlhUXVlcnlQYXJzZXIuY3BwCitjc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5jcHAKIGNz
cy90eXBlZG9tL0NvbXB1dGVkU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmNwcAogY3NzL3R5cGVk
b20vU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmNwcAogY3NzL3R5cGVkb20vQ1NTS2V5d29yZFZh
bHVlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDlhNzM3YzIwMmE0OC4uZDBlNWUxM2JhNWEzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01NTE5LDYgKzU1
MTksNyBAQAogCQlFNDQ3RjVCMzI2NkNGNjNEMDAxMzNGMDAgLyogVGV4dEJveFNlbGVjdGFibGVS
YW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ0
N0Y1QjEyNjZDRjYzRDAwMTMzRjAwIC8qIFRleHRCb3hTZWxlY3RhYmxlUmFuZ2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFNDRBMDI1NjI3M0FF
MEMwMDA5OTNBNTYgLyogTWF0Y2hSZXN1bHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEU0NEEwMjU0MjczQUUwQkYwMDk5M0E1NiAvKiBNYXRjaFJlc3Vs
dC5oICovOyB9OwogCQlFNDRCNEJCNDE0MTY1MEQ3MDAyQjFEOEIgLyogU2VsZWN0b3JDaGVja2Vy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDRCNEJC
MjE0MTY1MEQ3MDAyQjFEOEIgLyogU2VsZWN0b3JDaGVja2VyLmggKi87IH07CisJCUU0NEY0MjJF
MjhGNkE2NDgwMDBGODdCQyAvKiBNZWRpYVF1ZXJ5UGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDRGNDIyRDI4RjZBNjQ4MDAwRjg3QkMgLyog
TWVkaWFRdWVyeVBhcnNlci5oICovOyB9OwogCQlFNDRGQTE4NTFCQ0E2QjVBMDA5MUI2RUYgLyog
Q29tcG9zZWRUcmVlSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEU0NEZBMTg0MUJDQTZCNUEwMDkxQjZFRiAvKiBDb21wb3NlZFRyZWVJdGVy
YXRvci5oICovOyB9OwogCQlFNDUxQzYzMTIzOTQwMjc5MDA5OTMxOTAgLyogTGF5b3V0VW5pdHMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGNzM5MThD
MjEwNkNFREQwMDZBRjI2MiAvKiBMYXlvdXRVbml0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0NTFDNjMyMjM5NDAzMUEwMDk5MzE5MCAvKiBN
YXJnaW5UeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNkZFN0FBMjYyMUMzN0I2MzAwMjk2RENEIC8qIE1hcmdpblR5cGVzLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE4MDQyLDYgKzE4MDQzLDgg
QEAKIAkJRTQ0QjRCQjIxNDE2NTBENzAwMkIxRDhCIC8qIFNlbGVjdG9yQ2hlY2tlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZWxlY3RvckNoZWNrZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ0RUUzQTYxNzU3NkU1NTAwRUVFOENGIC8qIEZvbnRHZW5l
cmljRmFtaWxpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9udEdlbmVyaWNGYW1pbGllcy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0NEVFM0E3MTc1NzZFNTUwMEVFRThD
RiAvKiBGb250R2VuZXJpY0ZhbWlsaWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRHZW5lcmljRmFt
aWxpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTQ0RjQyMkQyOEY2QTY0ODAw
MEY4N0JDIC8qIE1lZGlhUXVlcnlQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTWVkaWFRdWVyeVBhcnNlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlF
NDRGNDIyRjI4RjZBNjUyMDAwRjg3QkMgLyogTWVkaWFRdWVyeVBhcnNlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVF1ZXJ5UGFyc2VyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ0RkExODQxQkNBNkI1QTAwOTFCNkVGIC8qIENvbXBv
c2VkVHJlZUl0ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbXBv
c2VkVHJlZUl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0NEZBMTg2
MUJDQTkxNTYwMDkxQjZFRiAvKiBDb21wb3NlZFRyZWVJdGVyYXRvci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb21wb3NlZFRyZWVJdGVyYXRvci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0NTFDNjMzMjM5NDA1OEUwMDk5MzE5MCAvKiBMYXlv
dXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0zMjU2Miw2ICszMjU2NSw4IEBACiAJCQkJRTREQTVFNDUyOEEzQUY1NDAw
ODQ5QkNGIC8qIEdlbmVyaWNNZWRpYVF1ZXJ5UGFyc2VyLmNwcCAqLywKIAkJCQlFNERBNUUzNDI4
OUQyM0YzMDA4NDlCQ0YgLyogR2VuZXJpY01lZGlhUXVlcnlQYXJzZXIuaCAqLywKIAkJCQlFNERB
NUUzNTI4OUQyM0ZEMDA4NDlCQ0YgLyogR2VuZXJpY01lZGlhUXVlcnlUeXBlcy5oICovLAorCQkJ
CUU0NEY0MjJGMjhGNkE2NTIwMDBGODdCQyAvKiBNZWRpYVF1ZXJ5UGFyc2VyLmNwcCAqLywKKwkJ
CQlFNDRGNDIyRDI4RjZBNjQ4MDAwRjg3QkMgLyogTWVkaWFRdWVyeVBhcnNlci5oICovLAogCQkJ
KTsKIAkJCXBhdGggPSBxdWVyeTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0zNzQ2
NSw2ICszNzQ3MCw3IEBACiAJCQkJRDNBOTRBMzkxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVl
cnlMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDY1MEU3RTIzODdBRDdEMDA2MjY2RTIgLyog
TWVkaWFRdWVyeUxpc3RFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNBQTEwRjQxMjNBOThB
QTAwOTIxNTJCIC8qIE1lZGlhUXVlcnlNYXRjaGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlFNDRG
NDIyRTI4RjZBNjQ4MDAwRjg3QkMgLyogTWVkaWFRdWVyeVBhcnNlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDQ3MTcxMEUyMDVBRjk0NTAwMEExMTZFIC8qIE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0RDNCMDBBQjIxNUQ2OUE3MDA3NkI5ODMgLyogTWVkaWFS
ZWNvcmRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNERCNzEzMEQyMTZFQ0I0RDAwOTZBNEREIC8q
IE1lZGlhUmVjb3JkZXJFcnJvckV2ZW50LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q29udGFpbmVyUXVlcnkuY3BwCmluZGV4IGEzMTI1MmRkZTM1Yi4uMTk0MjgyZjg1MWFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeS5jcHAKQEAgLTk2LDEwICs5NiwxMCBAQCBzdGF0
aWMgdm9pZCBzZXJpYWxpemUoU3RyaW5nQnVpbGRlciYgYnVpbGRlciwgY29uc3QgUXVlcnlJblBh
cmVucyYgcXVlcnkpCiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcoJyk7CiAgICAgICAgIHNlcmlh
bGl6ZShidWlsZGVyLCBub2RlKTsKICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyknKTsKLSAgICB9
LCBbJl0oY29uc3QgQ1E6OlVua25vd25RdWVyeSYgdW5rbm93blF1ZXJ5KSB7Ci0gICAgICAgIGJ1
aWxkZXIuYXBwZW5kKHVua25vd25RdWVyeS5uYW1lKTsKKyAgICB9LCBbJl0oY29uc3QgTVE6Okdl
bmVyYWxFbmNsb3NlZCYgZ2VuZXJhbEVuY2xvc2VkKSB7CisgICAgICAgIGJ1aWxkZXIuYXBwZW5k
KGdlbmVyYWxFbmNsb3NlZC5uYW1lKTsKICAgICAgICAgYnVpbGRlci5hcHBlbmQoJygnKTsKLSAg
ICAgICAgYnVpbGRlci5hcHBlbmQodW5rbm93blF1ZXJ5LnRleHQpOworICAgICAgICBidWlsZGVy
LmFwcGVuZChnZW5lcmFsRW5jbG9zZWQudGV4dCk7CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcp
Jyk7CiAgICAgfSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVy
UXVlcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeS5oCmluZGV4IDY2YTJh
ZGFlNTQ4OS4uZmI5NmUzMTIxZjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29u
dGFpbmVyUXVlcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnkuaApA
QCAtNDEsMTIgKzQxLDcgQEAgdXNpbmcgU2l6ZUZlYXR1cmUgPSBNUTo6RmVhdHVyZTsKIHN0cnVj
dCBDb250YWluZXJDb25kaXRpb247CiBzdHJ1Y3QgU2l6ZUNvbmRpdGlvbjsKIAotc3RydWN0IFVu
a25vd25RdWVyeSB7Ci0gICAgU3RyaW5nIG5hbWU7Ci0gICAgU3RyaW5nIHRleHQ7Ci19OwotCi11
c2luZyBRdWVyeUluUGFyZW5zID0gc3RkOjp2YXJpYW50PENvbnRhaW5lckNvbmRpdGlvbiwgU2l6
ZUZlYXR1cmUsIFVua25vd25RdWVyeT47Cit1c2luZyBRdWVyeUluUGFyZW5zID0gc3RkOjp2YXJp
YW50PENvbnRhaW5lckNvbmRpdGlvbiwgU2l6ZUZlYXR1cmUsIE1ROjpHZW5lcmFsRW5jbG9zZWQ+
OwogCiBzdHJ1Y3QgQ29udGFpbmVyQ29uZGl0aW9uIHsKICAgICBNUTo6TG9naWNhbE9wZXJhdG9y
IGxvZ2ljYWxPcGVyYXRvciB7IE1ROjpMb2dpY2FsT3BlcmF0b3I6OkFuZCB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeVBhcnNlci5jcHAKaW5kZXggMWJmOWQ3NDViMGFlLi5i
NWE2NjkwZDJkMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVy
eVBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2Vy
LmNwcApAQCAtNjQsNyArNjQsNyBAQCBzdGQ6Om9wdGlvbmFsPENROjpRdWVyeUluUGFyZW5zPiBD
b250YWluZXJRdWVyeVBhcnNlcjo6Y29uc3VtZVF1ZXJ5SW5QYXJlbnMoQ1NTUAogICAgICAgICBh
dXRvIG5hbWUgPSByYW5nZS5wZWVrKCkudmFsdWUoKTsKICAgICAgICAgYXV0byBmdW5jdGlvblJh
bmdlID0gcmFuZ2UuY29uc3VtZUJsb2NrKCk7CiAgICAgICAgIC8vIFRoaXMgaXMgd2hlcmUgd2Ug
d291bGQgc3VwcG9ydCBzdHlsZSgpIHF1ZXJpZXMuCi0gICAgICAgIHJldHVybiBDUTo6VW5rbm93
blF1ZXJ5IHsgbmFtZS50b1N0cmluZygpLCBmdW5jdGlvblJhbmdlLnNlcmlhbGl6ZSgpIH07Cisg
ICAgICAgIHJldHVybiBNUTo6R2VuZXJhbEVuY2xvc2VkIHsgbmFtZS50b1N0cmluZygpLCBmdW5j
dGlvblJhbmdlLnNlcmlhbGl6ZSgpIH07CiAgICAgfQogCiAgICAgaWYgKHJhbmdlLnBlZWsoKS50
eXBlKCkgPT0gTGVmdFBhcmVudGhlc2lzVG9rZW4pIHsKQEAgLTgxLDcgKzgxLDcgQEAgc3RkOjpv
cHRpb25hbDxDUTo6UXVlcnlJblBhcmVucz4gQ29udGFpbmVyUXVlcnlQYXJzZXI6OmNvbnN1bWVR
dWVyeUluUGFyZW5zKENTU1AKICAgICAgICAgaWYgKGF1dG8gc2l6ZUZlYXR1cmUgPSBjb25zdW1l
U2l6ZUZlYXR1cmUoYmxvY2tSYW5nZSkpCiAgICAgICAgICAgICByZXR1cm4geyAqc2l6ZUZlYXR1
cmUgfTsKIAotICAgICAgICByZXR1cm4gQ1E6OlVua25vd25RdWVyeSB7IHsgfSwgYmxvY2tSYW5n
ZS5zZXJpYWxpemUoKSB9OworICAgICAgICByZXR1cm4gTVE6OkdlbmVyYWxFbmNsb3NlZCB7IHsg
fSwgYmxvY2tSYW5nZS5zZXJpYWxpemUoKSB9OwogICAgIH0KIAogICAgIHJldHVybiB7IH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlUeXBl
cy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5VHlwZXMuaApp
bmRleCA3MGU5ZjZhNGEyNmYuLjA3MTY1ODJjNTM4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5VHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlUeXBlcy5oCkBAIC00NSw0ICs0NSw5IEBAIHN0
cnVjdCBGZWF0dXJlIHsKICAgICBzdGQ6Om9wdGlvbmFsPENvbXBhcmlzb24+IHJpZ2h0Q29tcGFy
aXNvbjsKIH07CiAKK3N0cnVjdCBHZW5lcmFsRW5jbG9zZWQgeworICAgIFN0cmluZyBuYW1lOwor
ICAgIFN0cmluZyB0ZXh0OworfTsKKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01l
ZGlhUXVlcnlQYXJzZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MC4uOTgyNWZjZmUwMDMyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1
ZXJ5L01lZGlhUXVlcnlQYXJzZXIuY3BwCkBAIC0wLDAgKzEsMTI4IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRpYVF1
ZXJ5UGFyc2VyLmgiCisKKyNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBNUSB7CisKK3N0ZDo6b3B0aW9uYWw8TWVkaWFRdWVyeT4g
TWVkaWFRdWVyeVBhcnNlcjo6Y29uc3VtZU1lZGlhUXVlcnkoQ1NTUGFyc2VyVG9rZW5SYW5nZSYg
cmFuZ2UpCit7CisgICAgLy8gPG1lZGlhLWNvbmRpdGlvbj4KKworICAgIGF1dG8gcmFuZ2VDb3B5
ID0gcmFuZ2U7CisgICAgaWYgKGF1dG8gY29uZGl0aW9uID0gY29uc3VtZUNvbmRpdGlvbjxNZWRp
YUNvbmRpdGlvbj4ocmFuZ2UpKQorICAgICAgICByZXR1cm4gTWVkaWFRdWVyeSB7ICpjb25kaXRp
b24gfTsKKworICAgIHJhbmdlID0gcmFuZ2VDb3B5OworCisgICAgLy8gWyBub3QgfCBvbmx5IF0/
IDxtZWRpYS10eXBlPiBbIGFuZCA8bWVkaWEtY29uZGl0aW9uLXdpdGhvdXQtb3I+IF0KKworICAg
IGF1dG8gY29uc3VtZUluaXRpYWxOb3RPck9ubHkgPSBbJl0geworICAgICAgICBpZiAocmFuZ2Uu
cGVlaygpLnR5cGUoKSAhPSBJZGVudFRva2VuKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgICAgIGlmIChyYW5nZS5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZU5vdCkgeworICAgICAg
ICAgICAgcmFuZ2UuY29uc3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKTsKKyAgICAgICAgICAgIHJl
dHVybiB0cnVlOworICAgICAgICB9CisgICAgICAgIGlmIChyYW5nZS5wZWVrKCkuaWQoKSA9PSBD
U1NWYWx1ZU9ubHkpIHsKKyAgICAgICAgICAgIC8vICdvbmx5JyBkb2Vzbid0IGRvIGFueXRoaW5n
LiBJdCBleGlzdHMgdG8gaGlkZSB0aGUgcnVsZSBmcm9tIGxlZ2FjeSBhZ2VudHMuCisgICAgICAg
ICAgICByYW5nZS5jb25zdW1lSW5jbHVkaW5nV2hpdGVzcGFjZSgpOworICAgICAgICB9CisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICB9OworCisgICAgYXV0byBjb25zdW1lTWVkaWFUeXBlID0g
WyZdKCkgLT4gQXRvbVN0cmluZyB7CisgICAgICAgIGlmIChyYW5nZS5wZWVrKCkudHlwZSgpICE9
IElkZW50VG9rZW4pCisgICAgICAgICAgICByZXR1cm4geyB9OworCisgICAgICAgIGF1dG8gaWRl
bnRpZmllciA9IHJhbmdlLnBlZWsoKS5pZCgpOworICAgICAgICBpZiAoaWRlbnRpZmllciA9PSBD
U1NWYWx1ZU9ubHkgfHwgaWRlbnRpZmllciA9PSBDU1NWYWx1ZU5vdCB8fCBpZGVudGlmaWVyID09
IENTU1ZhbHVlQW5kIHx8IGlkZW50aWZpZXIgPT0gQ1NTVmFsdWVPcikKKyAgICAgICAgICAgIHJl
dHVybiB7IH07CisKKyAgICAgICAgcmV0dXJuIHJhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNw
YWNlKCkudmFsdWUoKS5jb252ZXJ0VG9BU0NJSUxvd2VyY2FzZUF0b20oKTsKKyAgICB9OworCisg
ICAgYXV0byBpc05lZ2F0aW9uID0gY29uc3VtZUluaXRpYWxOb3RPck9ubHkoKTsKKyAgICBhdXRv
IG1lZGlhVHlwZSA9IGNvbnN1bWVNZWRpYVR5cGUoKTsKKworICAgIGlmIChtZWRpYVR5cGUuaXNO
dWxsKCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBpZiAocmFuZ2UuYXRFbmQoKSkKKyAg
ICAgICAgcmV0dXJuIE1lZGlhUXVlcnkgeyB7IH0sIG1lZGlhVHlwZSwgaXNOZWdhdGlvbiB9Owor
CisgICAgaWYgKHJhbmdlLnBlZWsoKS50eXBlKCkgIT0gSWRlbnRUb2tlbiB8fCByYW5nZS5wZWVr
KCkuaWQoKSAhPSBDU1NWYWx1ZUFuZCkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIHJhbmdl
LmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCk7CisKKyAgICBhdXRvIGNvbmRpdGlvbiA9IGNv
bnN1bWVDb25kaXRpb248TWVkaWFDb25kaXRpb24+KHJhbmdlKTsKKyAgICBpZiAoIWNvbmRpdGlv
bikKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGlmIChjb25kaXRpb24tPmxvZ2ljYWxPcGVy
YXRvciA9PSBMb2dpY2FsT3BlcmF0b3I6Ok9yKQorICAgICAgICByZXR1cm4geyB9OworCisgICAg
cmV0dXJuIE1lZGlhUXVlcnkgeyAqY29uZGl0aW9uLCBtZWRpYVR5cGUsIGlzTmVnYXRpb24gfTsK
K30KKworc3RkOjpvcHRpb25hbDxNZWRpYUluUGFyZW5zPiBNZWRpYVF1ZXJ5UGFyc2VyOjpjb25z
dW1lUXVlcnlJblBhcmVucyhDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAo
cmFuZ2UucGVlaygpLnR5cGUoKSA9PSBGdW5jdGlvblRva2VuKSB7CisgICAgICAgIGF1dG8gbmFt
ZSA9IHJhbmdlLnBlZWsoKS52YWx1ZSgpOworICAgICAgICBhdXRvIGZ1bmN0aW9uUmFuZ2UgPSBy
YW5nZS5jb25zdW1lQmxvY2soKTsKKyAgICAgICAgcmV0dXJuIEdlbmVyYWxFbmNsb3NlZCB7IG5h
bWUudG9TdHJpbmcoKSwgZnVuY3Rpb25SYW5nZS5zZXJpYWxpemUoKSB9OworICAgIH0KKworICAg
IGlmIChyYW5nZS5wZWVrKCkudHlwZSgpID09IExlZnRQYXJlbnRoZXNpc1Rva2VuKSB7CisgICAg
ICAgIGF1dG8gYmxvY2tSYW5nZSA9IHJhbmdlLmNvbnN1bWVCbG9jaygpOworICAgICAgICByYW5n
ZS5jb25zdW1lV2hpdGVzcGFjZSgpOworCisgICAgICAgIGJsb2NrUmFuZ2UuY29uc3VtZVdoaXRl
c3BhY2UoKTsKKworICAgICAgICBhdXRvIGNvbmRpdGlvblJhbmdlID0gYmxvY2tSYW5nZTsKKyAg
ICAgICAgaWYgKGF1dG8gY29uZGl0aW9uID0gY29uc3VtZUNvbmRpdGlvbjxNZWRpYUNvbmRpdGlv
bj4oY29uZGl0aW9uUmFuZ2UpKQorICAgICAgICAgICAgcmV0dXJuIHsgY29uZGl0aW9uIH07CisK
KyAgICAgICAgaWYgKGF1dG8gZmVhdHVyZSA9IGNvbnN1bWVNZWRpYUZlYXR1cmUoYmxvY2tSYW5n
ZSkpCisgICAgICAgICAgICByZXR1cm4geyAqZmVhdHVyZSB9OworCisgICAgICAgIHJldHVybiBH
ZW5lcmFsRW5jbG9zZWQgeyB7IH0sIGJsb2NrUmFuZ2Uuc2VyaWFsaXplKCkgfTsKKyAgICB9CisK
KyAgICByZXR1cm4geyB9OworfQorCitzdGQ6Om9wdGlvbmFsPE1lZGlhRmVhdHVyZT4gTWVkaWFR
dWVyeVBhcnNlcjo6Y29uc3VtZU1lZGlhRmVhdHVyZShDU1NQYXJzZXJUb2tlblJhbmdlJikKK3sK
KyAgICByZXR1cm4geyB9OworfQorCit9Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01l
ZGlhUXVlcnlQYXJzZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu
LmRiMDU3NjBiYjUzNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVy
eS9NZWRpYVF1ZXJ5UGFyc2VyLmgKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkdlbmVyaWNNZWRpYVF1ZXJ5
UGFyc2VyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBNUSB7CisKK3N0cnVj
dCBNZWRpYUNvbmRpdGlvbjsKKwordXNpbmcgTWVkaWFGZWF0dXJlID0gRmVhdHVyZTsKK3VzaW5n
IE1lZGlhSW5QYXJlbnMgPSBzdGQ6OnZhcmlhbnQ8TWVkaWFDb25kaXRpb24sIE1lZGlhRmVhdHVy
ZSwgR2VuZXJhbEVuY2xvc2VkPjsKKworc3RydWN0IE1lZGlhQ29uZGl0aW9uIHsKKyAgICBMb2dp
Y2FsT3BlcmF0b3IgbG9naWNhbE9wZXJhdG9yIHsgTG9naWNhbE9wZXJhdG9yOjpBbmQgfTsKKyAg
ICBWZWN0b3I8TWVkaWFJblBhcmVucz4gcXVlcmllczsKK307CisKK3N0cnVjdCBNZWRpYVF1ZXJ5
IHsKKyAgICBNZWRpYUNvbmRpdGlvbiBjb25kaXRpb247CisgICAgQXRvbVN0cmluZyBtZWRpYVR5
cGUgeyB9OworICAgIGJvb2wgaXNOZWdhdGlvbiB7IGZhbHNlIH07Cit9OworCitjbGFzcyBNZWRp
YVF1ZXJ5UGFyc2VyIDogcHVibGljIEdlbmVyaWNNZWRpYVF1ZXJ5UGFyc2VyPE1lZGlhUXVlcnlQ
YXJzZXI+ICB7CitwdWJsaWM6CisgICAgc3RkOjpvcHRpb25hbDxNZWRpYVF1ZXJ5PiBjb25zdW1l
TWVkaWFRdWVyeShDU1NQYXJzZXJUb2tlblJhbmdlJik7CisgICAgc3RkOjpvcHRpb25hbDxNZWRp
YUluUGFyZW5zPiBjb25zdW1lUXVlcnlJblBhcmVucyhDU1NQYXJzZXJUb2tlblJhbmdlJik7CisK
K3ByaXZhdGU6CisgICAgc3RkOjpvcHRpb25hbDxNZWRpYUZlYXR1cmU+IGNvbnN1bWVNZWRpYUZl
YXR1cmUoQ1NTUGFyc2VyVG9rZW5SYW5nZSYpOworCisgICAgTWVkaWFRdWVyeVBhcnNlcihjb25z
dCBDU1NQYXJzZXJDb250ZXh0JiBjb250ZXh0KQorICAgICAgICA6IEdlbmVyaWNNZWRpYVF1ZXJ5
UGFyc2VyKGNvbnRleHQpIHsgfQorfTsKKworfQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IuY3BwCmluZGV4IDVkNzBiMDRiNzI3My4uOGYxMjNi
NjFkOGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Db250YWluZXJRdWVyeUV2
YWx1YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvQ29udGFpbmVyUXVlcnlFdmFs
dWF0b3IuY3BwCkBAIC0xNzAsNyArMTcwLDcgQEAgYXV0byBDb250YWluZXJRdWVyeUV2YWx1YXRv
cjo6ZXZhbHVhdGVRdWVyeUluUGFyZW5zKGNvbnN0IENROjpRdWVyeUluUGFyZW5zJiBxdWUKICAg
ICAgICAgcmV0dXJuIGV2YWx1YXRlQ29uZGl0aW9uKGNvbnRhaW5lckNvbmRpdGlvbiwgY29udGFp
bmVyKTsKICAgICB9LCBbJl0oY29uc3QgQ1E6OlNpemVGZWF0dXJlJiBzaXplRmVhdHVyZSkgewog
ICAgICAgICByZXR1cm4gZXZhbHVhdGVTaXplRmVhdHVyZShzaXplRmVhdHVyZSwgY29udGFpbmVy
KTsKLSAgICB9LCBbJl0oY29uc3QgQ1E6OlVua25vd25RdWVyeSYpIHsKKyAgICB9LCBbJl0oY29u
c3QgTVE6OkdlbmVyYWxFbmNsb3NlZCYpIHsKICAgICAgICAgcmV0dXJuIE1ROjpFdmFsdWF0aW9u
UmVzdWx0OjpVbmtub3duOwogICAgIH0pOwogfQo=
</data>
<flag name="commit-queue"
          id="491508"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>462938</attachid>
            <date>2022-10-12 04:27:59 -0700</date>
            <delta_ts>2022-10-12 05:33:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-246398-20221012142757.patch</filename>
            <type>text/plain</type>
            <size>17587</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSAwMzMwMDQ0Zjk4MjlmN2QwYzQzYTMyYWZkZjg2NTkwNTA5NDQ0NjAwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBXZWQsIDEyIE9jdCAyMDIyIDEzOjQ4OjEzICswMzAwClN1YmplY3Q6IFtQQVRDSF0gW01RNF0g
QWRkIGFuIGluaXRpYWwgdmVyc2lvbiBvZiBhIG1vZGVybiBtZWRpYSBxdWVyeSBwYXJzZXIKIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDYzOTggPHJkYXI6Ly9wcm9i
bGVtLzEwMTA3MzA3NT4KClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKTW9zdGx5IGEgc3R1
Yiwgbm8gZmVhdHVyZSBwYXJzaW5nIHlldC4KCiogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQ6
CiogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgoqIFNv
dXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeS5jcHA6CihXZWJDb3JlOjpDUTo6c2VyaWFs
aXplKToKKiBTb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnkuaDoKKiBTb3VyY2UvV2Vi
Q29yZS9jc3MvQ29udGFpbmVyUXVlcnlQYXJzZXIuY3BwOgooV2ViQ29yZTo6Q29udGFpbmVyUXVl
cnlQYXJzZXI6OmNvbnN1bWVRdWVyeUluUGFyZW5zKToKKiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVl
cnkvR2VuZXJpY01lZGlhUXVlcnlUeXBlcy5oOgoKQWxzbyByZW5hbWUgVW5rbm93blF1ZXJ5IHRv
IEdlbmVyYWxFbmNsb3NlZCAoc3BlYyB0ZXJtKSBhbmQgbW92ZSBpdCB0byBnZW5lcmljIHR5cGVz
LgoKKiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5jcHA6IEFkZGVk
LgooV2ViQ29yZTo6TVE6Ok1lZGlhUXVlcnlQYXJzZXI6OmNvbnN1bWVNZWRpYVF1ZXJ5KToKKFdl
YkNvcmU6Ok1ROjpNZWRpYVF1ZXJ5UGFyc2VyOjpjb25zdW1lUXVlcnlJblBhcmVucyk6CihXZWJD
b3JlOjpNUTo6TWVkaWFRdWVyeVBhcnNlcjo6Y29uc3VtZU1lZGlhRmVhdHVyZSk6CiogU291cmNl
L1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuaDogQ29waWVkIGZyb20gU291cmNl
L1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5VHlwZXMuaC4KKFdlYkNvcmU6Ok1R
OjpNZWRpYVF1ZXJ5UGFyc2VyOjpNZWRpYVF1ZXJ5UGFyc2VyKToKKiBTb3VyY2UvV2ViQ29yZS9z
dHlsZS9Db250YWluZXJRdWVyeUV2YWx1YXRvci5jcHA6CihXZWJDb3JlOjpTdHlsZTo6Q29udGFp
bmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlUXVlcnlJblBhcmVucyBjb25zdCk6Ci0tLQogU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQgICAgICAgICAgICAgICAgICAgIHwgICAxICsKIC4uLi9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiB8ICAgNiArCiBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiAgICAgICAgfCAgIDMgKy0KIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeS5jcHAgICAgICAgICB8ICAgNiArLQogU291cmNlL1dl
YkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmggICAgICAgICAgIHwgICA3ICstCiBTb3VyY2UvV2Vi
Q29yZS9jc3MvQ29udGFpbmVyUXVlcnlQYXJzZXIuY3BwICAgfCAgIDQgKy0KIC4uLi9jc3MvcXVl
cnkvR2VuZXJpY01lZGlhUXVlcnlUeXBlcy5oICAgICAgICB8ICAgNSArCiBTb3VyY2UvV2ViQ29y
ZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5jcHAgfCAxMjggKysrKysrKysrKysrKysrKysr
CiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5oICAgfCAgNjEgKysr
KysrKysrCiAuLi4vV2ViQ29yZS9zdHlsZS9Db250YWluZXJRdWVyeUV2YWx1YXRvci5jcHAgfCAg
IDIgKy0KIDEwIGZpbGVzIGNoYW5nZWQsIDIxMCBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMo
LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVy
eVBhcnNlci5jcHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkv
TWVkaWFRdWVyeVBhcnNlci5oCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA5NTBjOTgxYWFlYjQuLjY2NTEy
ZDFmYzMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTg4Myw2ICs4ODMsNyBAQCBjc3MvcGFyc2VyL1Np
emVzQXR0cmlidXRlUGFyc2VyLmNwcAogY3NzL3BhcnNlci9TaXplc0NhbGNQYXJzZXIuY3BwCiBj
c3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCiBjc3MvcXVlcnkvR2VuZXJp
Y01lZGlhUXVlcnlQYXJzZXIuY3BwCitjc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5jcHAKIGNz
cy90eXBlZG9tL0NvbXB1dGVkU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmNwcAogY3NzL3R5cGVk
b20vU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5LmNwcAogY3NzL3R5cGVkb20vQ1NTS2V5d29yZFZh
bHVlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDlhNzM3YzIwMmE0OC4uZDBlNWUxM2JhNWEzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01NTE5LDYgKzU1
MTksNyBAQAogCQlFNDQ3RjVCMzI2NkNGNjNEMDAxMzNGMDAgLyogVGV4dEJveFNlbGVjdGFibGVS
YW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ0
N0Y1QjEyNjZDRjYzRDAwMTMzRjAwIC8qIFRleHRCb3hTZWxlY3RhYmxlUmFuZ2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFNDRBMDI1NjI3M0FF
MEMwMDA5OTNBNTYgLyogTWF0Y2hSZXN1bHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEU0NEEwMjU0MjczQUUwQkYwMDk5M0E1NiAvKiBNYXRjaFJlc3Vs
dC5oICovOyB9OwogCQlFNDRCNEJCNDE0MTY1MEQ3MDAyQjFEOEIgLyogU2VsZWN0b3JDaGVja2Vy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDRCNEJC
MjE0MTY1MEQ3MDAyQjFEOEIgLyogU2VsZWN0b3JDaGVja2VyLmggKi87IH07CisJCUU0NEY0MjJF
MjhGNkE2NDgwMDBGODdCQyAvKiBNZWRpYVF1ZXJ5UGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDRGNDIyRDI4RjZBNjQ4MDAwRjg3QkMgLyog
TWVkaWFRdWVyeVBhcnNlci5oICovOyB9OwogCQlFNDRGQTE4NTFCQ0E2QjVBMDA5MUI2RUYgLyog
Q29tcG9zZWRUcmVlSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEU0NEZBMTg0MUJDQTZCNUEwMDkxQjZFRiAvKiBDb21wb3NlZFRyZWVJdGVy
YXRvci5oICovOyB9OwogCQlFNDUxQzYzMTIzOTQwMjc5MDA5OTMxOTAgLyogTGF5b3V0VW5pdHMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZGNzM5MThD
MjEwNkNFREQwMDZBRjI2MiAvKiBMYXlvdXRVbml0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUU0NTFDNjMyMjM5NDAzMUEwMDk5MzE5MCAvKiBN
YXJnaW5UeXBlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNkZFN0FBMjYyMUMzN0I2MzAwMjk2RENEIC8qIE1hcmdpblR5cGVzLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE4MDQyLDYgKzE4MDQzLDgg
QEAKIAkJRTQ0QjRCQjIxNDE2NTBENzAwMkIxRDhCIC8qIFNlbGVjdG9yQ2hlY2tlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZWxlY3RvckNoZWNrZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ0RUUzQTYxNzU3NkU1NTAwRUVFOENGIC8qIEZvbnRHZW5l
cmljRmFtaWxpZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9udEdlbmVyaWNGYW1pbGllcy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0NEVFM0E3MTc1NzZFNTUwMEVFRThD
RiAvKiBGb250R2VuZXJpY0ZhbWlsaWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRHZW5lcmljRmFt
aWxpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTQ0RjQyMkQyOEY2QTY0ODAw
MEY4N0JDIC8qIE1lZGlhUXVlcnlQYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTWVkaWFRdWVyeVBhcnNlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlF
NDRGNDIyRjI4RjZBNjUyMDAwRjg3QkMgLyogTWVkaWFRdWVyeVBhcnNlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVF1ZXJ5UGFyc2VyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ0RkExODQxQkNBNkI1QTAwOTFCNkVGIC8qIENvbXBv
c2VkVHJlZUl0ZXJhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbXBv
c2VkVHJlZUl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0NEZBMTg2
MUJDQTkxNTYwMDkxQjZFRiAvKiBDb21wb3NlZFRyZWVJdGVyYXRvci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb21wb3NlZFRyZWVJdGVyYXRvci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0NTFDNjMzMjM5NDA1OEUwMDk5MzE5MCAvKiBMYXlv
dXRJbnRlZ3JhdGlvbklubGluZUNvbnRlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTGF5b3V0SW50ZWdyYXRpb25JbmxpbmVDb250ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0zMjU2Miw2ICszMjU2NSw4IEBACiAJCQkJRTREQTVFNDUyOEEzQUY1NDAw
ODQ5QkNGIC8qIEdlbmVyaWNNZWRpYVF1ZXJ5UGFyc2VyLmNwcCAqLywKIAkJCQlFNERBNUUzNDI4
OUQyM0YzMDA4NDlCQ0YgLyogR2VuZXJpY01lZGlhUXVlcnlQYXJzZXIuaCAqLywKIAkJCQlFNERB
NUUzNTI4OUQyM0ZEMDA4NDlCQ0YgLyogR2VuZXJpY01lZGlhUXVlcnlUeXBlcy5oICovLAorCQkJ
CUU0NEY0MjJGMjhGNkE2NTIwMDBGODdCQyAvKiBNZWRpYVF1ZXJ5UGFyc2VyLmNwcCAqLywKKwkJ
CQlFNDRGNDIyRDI4RjZBNjQ4MDAwRjg3QkMgLyogTWVkaWFRdWVyeVBhcnNlci5oICovLAogCQkJ
KTsKIAkJCXBhdGggPSBxdWVyeTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0zNzQ2
NSw2ICszNzQ3MCw3IEBACiAJCQkJRDNBOTRBMzkxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVl
cnlMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NDY1MEU3RTIzODdBRDdEMDA2MjY2RTIgLyog
TWVkaWFRdWVyeUxpc3RFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNBQTEwRjQxMjNBOThB
QTAwOTIxNTJCIC8qIE1lZGlhUXVlcnlNYXRjaGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlFNDRG
NDIyRTI4RjZBNjQ4MDAwRjg3QkMgLyogTWVkaWFRdWVyeVBhcnNlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDQ3MTcxMEUyMDVBRjk0NTAwMEExMTZFIC8qIE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0RDNCMDBBQjIxNUQ2OUE3MDA3NkI5ODMgLyogTWVkaWFS
ZWNvcmRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNERCNzEzMEQyMTZFQ0I0RDAwOTZBNEREIC8q
IE1lZGlhUmVjb3JkZXJFcnJvckV2ZW50LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggYzhiODJlNzYyZjM2Li4yN2RhZmI4MGY5NTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBAIC0xNTQzLDcgKzE1NDMsNyBA
QCBkYXJrCiAjaWYgZGVmaW5lZChFTkFCTEVfREFSS19NT0RFX0NTUykgJiYgRU5BQkxFX0RBUktf
TU9ERV9DU1MKIC8vIGNvbG9yLXNjaGVtZQogLy8gbm9ybWFsCi1vbmx5CisvLyBvbmx5CiAvLyBs
aWdodAogLy8gZGFyawogI2VuZGlmCkBAIC0xNjM4LDYgKzE2MzgsNyBAQCBzaWRlcwogYW5kCiBv
cgogbm90Citvbmx5CiAKIC8vIG92ZXJmbG93LWFuY2hvcgogLy8gbm9uZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9Db250YWluZXJRdWVyeS5jcHAKaW5kZXggYTMxMjUyZGRlMzViLi4xOTQyODJmODUxYWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmNwcApAQCAtOTYsMTAgKzk2LDEwIEBAIHN0
YXRpYyB2b2lkIHNlcmlhbGl6ZShTdHJpbmdCdWlsZGVyJiBidWlsZGVyLCBjb25zdCBRdWVyeUlu
UGFyZW5zJiBxdWVyeSkKICAgICAgICAgYnVpbGRlci5hcHBlbmQoJygnKTsKICAgICAgICAgc2Vy
aWFsaXplKGJ1aWxkZXIsIG5vZGUpOwogICAgICAgICBidWlsZGVyLmFwcGVuZCgnKScpOwotICAg
IH0sIFsmXShjb25zdCBDUTo6VW5rbm93blF1ZXJ5JiB1bmtub3duUXVlcnkpIHsKLSAgICAgICAg
YnVpbGRlci5hcHBlbmQodW5rbm93blF1ZXJ5Lm5hbWUpOworICAgIH0sIFsmXShjb25zdCBNUTo6
R2VuZXJhbEVuY2xvc2VkJiBnZW5lcmFsRW5jbG9zZWQpIHsKKyAgICAgICAgYnVpbGRlci5hcHBl
bmQoZ2VuZXJhbEVuY2xvc2VkLm5hbWUpOwogICAgICAgICBidWlsZGVyLmFwcGVuZCgnKCcpOwot
ICAgICAgICBidWlsZGVyLmFwcGVuZCh1bmtub3duUXVlcnkudGV4dCk7CisgICAgICAgIGJ1aWxk
ZXIuYXBwZW5kKGdlbmVyYWxFbmNsb3NlZC50ZXh0KTsKICAgICAgICAgYnVpbGRlci5hcHBlbmQo
JyknKTsKICAgICB9KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWlu
ZXJRdWVyeS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmgKaW5kZXggNjZh
MmFkYWU1NDg5Li5mYjk2ZTMxMjFmOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
b250YWluZXJRdWVyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeS5o
CkBAIC00MSwxMiArNDEsNyBAQCB1c2luZyBTaXplRmVhdHVyZSA9IE1ROjpGZWF0dXJlOwogc3Ry
dWN0IENvbnRhaW5lckNvbmRpdGlvbjsKIHN0cnVjdCBTaXplQ29uZGl0aW9uOwogCi1zdHJ1Y3Qg
VW5rbm93blF1ZXJ5IHsKLSAgICBTdHJpbmcgbmFtZTsKLSAgICBTdHJpbmcgdGV4dDsKLX07Ci0K
LXVzaW5nIFF1ZXJ5SW5QYXJlbnMgPSBzdGQ6OnZhcmlhbnQ8Q29udGFpbmVyQ29uZGl0aW9uLCBT
aXplRmVhdHVyZSwgVW5rbm93blF1ZXJ5PjsKK3VzaW5nIFF1ZXJ5SW5QYXJlbnMgPSBzdGQ6OnZh
cmlhbnQ8Q29udGFpbmVyQ29uZGl0aW9uLCBTaXplRmVhdHVyZSwgTVE6OkdlbmVyYWxFbmNsb3Nl
ZD47CiAKIHN0cnVjdCBDb250YWluZXJDb25kaXRpb24gewogICAgIE1ROjpMb2dpY2FsT3BlcmF0
b3IgbG9naWNhbE9wZXJhdG9yIHsgTVE6OkxvZ2ljYWxPcGVyYXRvcjo6QW5kIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnlQYXJzZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5UGFyc2VyLmNwcAppbmRleCAxYmY5ZDc0NWIwYWUu
LmI1YTY2OTBkMmQwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1
ZXJ5UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnlQYXJz
ZXIuY3BwCkBAIC02NCw3ICs2NCw3IEBAIHN0ZDo6b3B0aW9uYWw8Q1E6OlF1ZXJ5SW5QYXJlbnM+
IENvbnRhaW5lclF1ZXJ5UGFyc2VyOjpjb25zdW1lUXVlcnlJblBhcmVucyhDU1NQCiAgICAgICAg
IGF1dG8gbmFtZSA9IHJhbmdlLnBlZWsoKS52YWx1ZSgpOwogICAgICAgICBhdXRvIGZ1bmN0aW9u
UmFuZ2UgPSByYW5nZS5jb25zdW1lQmxvY2soKTsKICAgICAgICAgLy8gVGhpcyBpcyB3aGVyZSB3
ZSB3b3VsZCBzdXBwb3J0IHN0eWxlKCkgcXVlcmllcy4KLSAgICAgICAgcmV0dXJuIENROjpVbmtu
b3duUXVlcnkgeyBuYW1lLnRvU3RyaW5nKCksIGZ1bmN0aW9uUmFuZ2Uuc2VyaWFsaXplKCkgfTsK
KyAgICAgICAgcmV0dXJuIE1ROjpHZW5lcmFsRW5jbG9zZWQgeyBuYW1lLnRvU3RyaW5nKCksIGZ1
bmN0aW9uUmFuZ2Uuc2VyaWFsaXplKCkgfTsKICAgICB9CiAKICAgICBpZiAocmFuZ2UucGVlaygp
LnR5cGUoKSA9PSBMZWZ0UGFyZW50aGVzaXNUb2tlbikgewpAQCAtODEsNyArODEsNyBAQCBzdGQ6
Om9wdGlvbmFsPENROjpRdWVyeUluUGFyZW5zPiBDb250YWluZXJRdWVyeVBhcnNlcjo6Y29uc3Vt
ZVF1ZXJ5SW5QYXJlbnMoQ1NTUAogICAgICAgICBpZiAoYXV0byBzaXplRmVhdHVyZSA9IGNvbnN1
bWVTaXplRmVhdHVyZShibG9ja1JhbmdlKSkKICAgICAgICAgICAgIHJldHVybiB7ICpzaXplRmVh
dHVyZSB9OwogCi0gICAgICAgIHJldHVybiBDUTo6VW5rbm93blF1ZXJ5IHsgeyB9LCBibG9ja1Jh
bmdlLnNlcmlhbGl6ZSgpIH07CisgICAgICAgIHJldHVybiBNUTo6R2VuZXJhbEVuY2xvc2VkIHsg
eyB9LCBibG9ja1JhbmdlLnNlcmlhbGl6ZSgpIH07CiAgICAgfQogCiAgICAgcmV0dXJuIHsgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVR5
cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlUeXBlcy5o
CmluZGV4IDcwZTlmNmE0YTI2Zi4uMDcxNjU4MmM1MzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVR5cGVzLmgKQEAgLTQ1LDQgKzQ1LDkgQEAg
c3RydWN0IEZlYXR1cmUgewogICAgIHN0ZDo6b3B0aW9uYWw8Q29tcGFyaXNvbj4gcmlnaHRDb21w
YXJpc29uOwogfTsKIAorc3RydWN0IEdlbmVyYWxFbmNsb3NlZCB7CisgICAgU3RyaW5nIG5hbWU7
CisgICAgU3RyaW5nIHRleHQ7Cit9OworCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkv
TWVkaWFRdWVyeVBhcnNlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwLi45ODI1ZmNmZTAwMzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cXVlcnkvTWVkaWFRdWVyeVBhcnNlci5jcHAKQEAgLTAsMCArMSwxMjggQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlh
UXVlcnlQYXJzZXIuaCIKKworI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIE1RIHsKKworc3RkOjpvcHRpb25hbDxNZWRpYVF1ZXJ5
PiBNZWRpYVF1ZXJ5UGFyc2VyOjpjb25zdW1lTWVkaWFRdWVyeShDU1NQYXJzZXJUb2tlblJhbmdl
JiByYW5nZSkKK3sKKyAgICAvLyA8bWVkaWEtY29uZGl0aW9uPgorCisgICAgYXV0byByYW5nZUNv
cHkgPSByYW5nZTsKKyAgICBpZiAoYXV0byBjb25kaXRpb24gPSBjb25zdW1lQ29uZGl0aW9uPE1l
ZGlhQ29uZGl0aW9uPihyYW5nZSkpCisgICAgICAgIHJldHVybiBNZWRpYVF1ZXJ5IHsgKmNvbmRp
dGlvbiB9OworCisgICAgcmFuZ2UgPSByYW5nZUNvcHk7CisKKyAgICAvLyBbIG5vdCB8IG9ubHkg
XT8gPG1lZGlhLXR5cGU+IFsgYW5kIDxtZWRpYS1jb25kaXRpb24td2l0aG91dC1vcj4gXQorCisg
ICAgYXV0byBjb25zdW1lSW5pdGlhbE5vdE9yT25seSA9IFsmXSB7CisgICAgICAgIGlmIChyYW5n
ZS5wZWVrKCkudHlwZSgpICE9IElkZW50VG9rZW4pCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICAgICAgaWYgKHJhbmdlLnBlZWsoKS5pZCgpID09IENTU1ZhbHVlTm90KSB7CisgICAg
ICAgICAgICByYW5nZS5jb25zdW1lSW5jbHVkaW5nV2hpdGVzcGFjZSgpOworICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHJhbmdlLnBlZWsoKS5pZCgpID09
IENTU1ZhbHVlT25seSkgeworICAgICAgICAgICAgLy8gJ29ubHknIGRvZXNuJ3QgZG8gYW55dGhp
bmcuIEl0IGV4aXN0cyB0byBoaWRlIHRoZSBydWxlIGZyb20gbGVnYWN5IGFnZW50cy4KKyAgICAg
ICAgICAgIHJhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCk7CisgICAgICAgIH0KKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH07CisKKyAgICBhdXRvIGNvbnN1bWVNZWRpYVR5cGUg
PSBbJl0oKSAtPiBBdG9tU3RyaW5nIHsKKyAgICAgICAgaWYgKHJhbmdlLnBlZWsoKS50eXBlKCkg
IT0gSWRlbnRUb2tlbikKKyAgICAgICAgICAgIHJldHVybiB7IH07CisKKyAgICAgICAgYXV0byBp
ZGVudGlmaWVyID0gcmFuZ2UucGVlaygpLmlkKCk7CisgICAgICAgIGlmIChpZGVudGlmaWVyID09
IENTU1ZhbHVlT25seSB8fCBpZGVudGlmaWVyID09IENTU1ZhbHVlTm90IHx8IGlkZW50aWZpZXIg
PT0gQ1NTVmFsdWVBbmQgfHwgaWRlbnRpZmllciA9PSBDU1NWYWx1ZU9yKQorICAgICAgICAgICAg
cmV0dXJuIHsgfTsKKworICAgICAgICByZXR1cm4gcmFuZ2UuY29uc3VtZUluY2x1ZGluZ1doaXRl
c3BhY2UoKS52YWx1ZSgpLmNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNlQXRvbSgpOworICAgIH07CisK
KyAgICBhdXRvIGlzTmVnYXRpb24gPSBjb25zdW1lSW5pdGlhbE5vdE9yT25seSgpOworICAgIGF1
dG8gbWVkaWFUeXBlID0gY29uc3VtZU1lZGlhVHlwZSgpOworCisgICAgaWYgKG1lZGlhVHlwZS5p
c051bGwoKSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGlmIChyYW5nZS5hdEVuZCgpKQor
ICAgICAgICByZXR1cm4gTWVkaWFRdWVyeSB7IHsgfSwgbWVkaWFUeXBlLCBpc05lZ2F0aW9uIH07
CisKKyAgICBpZiAocmFuZ2UucGVlaygpLnR5cGUoKSAhPSBJZGVudFRva2VuIHx8IHJhbmdlLnBl
ZWsoKS5pZCgpICE9IENTU1ZhbHVlQW5kKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgcmFu
Z2UuY29uc3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKTsKKworICAgIGF1dG8gY29uZGl0aW9uID0g
Y29uc3VtZUNvbmRpdGlvbjxNZWRpYUNvbmRpdGlvbj4ocmFuZ2UpOworICAgIGlmICghY29uZGl0
aW9uKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgaWYgKGNvbmRpdGlvbi0+bG9naWNhbE9w
ZXJhdG9yID09IExvZ2ljYWxPcGVyYXRvcjo6T3IpCisgICAgICAgIHJldHVybiB7IH07CisKKyAg
ICByZXR1cm4gTWVkaWFRdWVyeSB7ICpjb25kaXRpb24sIG1lZGlhVHlwZSwgaXNOZWdhdGlvbiB9
OworfQorCitzdGQ6Om9wdGlvbmFsPE1lZGlhSW5QYXJlbnM+IE1lZGlhUXVlcnlQYXJzZXI6OmNv
bnN1bWVRdWVyeUluUGFyZW5zKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQoreworICAgIGlm
IChyYW5nZS5wZWVrKCkudHlwZSgpID09IEZ1bmN0aW9uVG9rZW4pIHsKKyAgICAgICAgYXV0byBu
YW1lID0gcmFuZ2UucGVlaygpLnZhbHVlKCk7CisgICAgICAgIGF1dG8gZnVuY3Rpb25SYW5nZSA9
IHJhbmdlLmNvbnN1bWVCbG9jaygpOworICAgICAgICByZXR1cm4gR2VuZXJhbEVuY2xvc2VkIHsg
bmFtZS50b1N0cmluZygpLCBmdW5jdGlvblJhbmdlLnNlcmlhbGl6ZSgpIH07CisgICAgfQorCisg
ICAgaWYgKHJhbmdlLnBlZWsoKS50eXBlKCkgPT0gTGVmdFBhcmVudGhlc2lzVG9rZW4pIHsKKyAg
ICAgICAgYXV0byBibG9ja1JhbmdlID0gcmFuZ2UuY29uc3VtZUJsb2NrKCk7CisgICAgICAgIHJh
bmdlLmNvbnN1bWVXaGl0ZXNwYWNlKCk7CisKKyAgICAgICAgYmxvY2tSYW5nZS5jb25zdW1lV2hp
dGVzcGFjZSgpOworCisgICAgICAgIGF1dG8gY29uZGl0aW9uUmFuZ2UgPSBibG9ja1JhbmdlOwor
ICAgICAgICBpZiAoYXV0byBjb25kaXRpb24gPSBjb25zdW1lQ29uZGl0aW9uPE1lZGlhQ29uZGl0
aW9uPihjb25kaXRpb25SYW5nZSkpCisgICAgICAgICAgICByZXR1cm4geyBjb25kaXRpb24gfTsK
KworICAgICAgICBpZiAoYXV0byBmZWF0dXJlID0gY29uc3VtZU1lZGlhRmVhdHVyZShibG9ja1Jh
bmdlKSkKKyAgICAgICAgICAgIHJldHVybiB7ICpmZWF0dXJlIH07CisKKyAgICAgICAgcmV0dXJu
IEdlbmVyYWxFbmNsb3NlZCB7IHsgfSwgYmxvY2tSYW5nZS5zZXJpYWxpemUoKSB9OworICAgIH0K
KworICAgIHJldHVybiB7IH07Cit9CisKK3N0ZDo6b3B0aW9uYWw8TWVkaWFGZWF0dXJlPiBNZWRp
YVF1ZXJ5UGFyc2VyOjpjb25zdW1lTWVkaWFGZWF0dXJlKENTU1BhcnNlclRva2VuUmFuZ2UmKQor
eworICAgIHJldHVybiB7IH07Cit9CisKK30KK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkv
TWVkaWFRdWVyeVBhcnNlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MC4uZGIwNTc2MGJiNTM3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1
ZXJ5L01lZGlhUXVlcnlQYXJzZXIuaApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiR2VuZXJpY01lZGlhUXVl
cnlQYXJzZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIE1RIHsKKworc3Ry
dWN0IE1lZGlhQ29uZGl0aW9uOworCit1c2luZyBNZWRpYUZlYXR1cmUgPSBGZWF0dXJlOwordXNp
bmcgTWVkaWFJblBhcmVucyA9IHN0ZDo6dmFyaWFudDxNZWRpYUNvbmRpdGlvbiwgTWVkaWFGZWF0
dXJlLCBHZW5lcmFsRW5jbG9zZWQ+OworCitzdHJ1Y3QgTWVkaWFDb25kaXRpb24geworICAgIExv
Z2ljYWxPcGVyYXRvciBsb2dpY2FsT3BlcmF0b3IgeyBMb2dpY2FsT3BlcmF0b3I6OkFuZCB9Owor
ICAgIFZlY3RvcjxNZWRpYUluUGFyZW5zPiBxdWVyaWVzOworfTsKKworc3RydWN0IE1lZGlhUXVl
cnkgeworICAgIE1lZGlhQ29uZGl0aW9uIGNvbmRpdGlvbjsKKyAgICBBdG9tU3RyaW5nIG1lZGlh
VHlwZSB7IH07CisgICAgYm9vbCBpc05lZ2F0aW9uIHsgZmFsc2UgfTsKK307CisKK2NsYXNzIE1l
ZGlhUXVlcnlQYXJzZXIgOiBwdWJsaWMgR2VuZXJpY01lZGlhUXVlcnlQYXJzZXI8TWVkaWFRdWVy
eVBhcnNlcj4gIHsKK3B1YmxpYzoKKyAgICBzdGQ6Om9wdGlvbmFsPE1lZGlhUXVlcnk+IGNvbnN1
bWVNZWRpYVF1ZXJ5KENTU1BhcnNlclRva2VuUmFuZ2UmKTsKKyAgICBzdGQ6Om9wdGlvbmFsPE1l
ZGlhSW5QYXJlbnM+IGNvbnN1bWVRdWVyeUluUGFyZW5zKENTU1BhcnNlclRva2VuUmFuZ2UmKTsK
KworcHJpdmF0ZToKKyAgICBzdGQ6Om9wdGlvbmFsPE1lZGlhRmVhdHVyZT4gY29uc3VtZU1lZGlh
RmVhdHVyZShDU1NQYXJzZXJUb2tlblJhbmdlJik7CisKKyAgICBNZWRpYVF1ZXJ5UGFyc2VyKGNv
bnN0IENTU1BhcnNlckNvbnRleHQmIGNvbnRleHQpCisgICAgICAgIDogR2VuZXJpY01lZGlhUXVl
cnlQYXJzZXIoY29udGV4dCkgeyB9Cit9OworCit9Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9Db250YWluZXJRdWVyeUV2YWx1YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9Db250YWluZXJRdWVyeUV2YWx1YXRvci5jcHAKaW5kZXggNWQ3MGIwNGI3MjczLi44ZjEy
M2I2MWQ4Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5
RXZhbHVhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Db250YWluZXJRdWVyeUV2
YWx1YXRvci5jcHAKQEAgLTE3MCw3ICsxNzAsNyBAQCBhdXRvIENvbnRhaW5lclF1ZXJ5RXZhbHVh
dG9yOjpldmFsdWF0ZVF1ZXJ5SW5QYXJlbnMoY29uc3QgQ1E6OlF1ZXJ5SW5QYXJlbnMmIHF1ZQog
ICAgICAgICByZXR1cm4gZXZhbHVhdGVDb25kaXRpb24oY29udGFpbmVyQ29uZGl0aW9uLCBjb250
YWluZXIpOwogICAgIH0sIFsmXShjb25zdCBDUTo6U2l6ZUZlYXR1cmUmIHNpemVGZWF0dXJlKSB7
CiAgICAgICAgIHJldHVybiBldmFsdWF0ZVNpemVGZWF0dXJlKHNpemVGZWF0dXJlLCBjb250YWlu
ZXIpOwotICAgIH0sIFsmXShjb25zdCBDUTo6VW5rbm93blF1ZXJ5JikgeworICAgIH0sIFsmXShj
b25zdCBNUTo6R2VuZXJhbEVuY2xvc2VkJikgewogICAgICAgICByZXR1cm4gTVE6OkV2YWx1YXRp
b25SZXN1bHQ6OlVua25vd247CiAgICAgfSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>462939</attachid>
            <date>2022-10-12 05:33:20 -0700</date>
            <delta_ts>2022-10-12 05:59:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-246398-20221012153319.patch</filename>
            <type>text/plain</type>
            <size>18756</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSA1MTRkZmJjMjJjYzE0Y2M2ODY3MjBiNGYwYzc2Y2YxM2Y4NmEyNmUyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBXZWQsIDEyIE9jdCAyMDIyIDEzOjQ4OjEzICswMzAwClN1YmplY3Q6IFtQQVRDSF0gW01RNF0g
QWRkIGFuIGluaXRpYWwgdmVyc2lvbiBvZiB0aGUgbW9kZXJuIG1lZGlhIHF1ZXJ5IHBhcnNlcgog
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0NjM5OCA8cmRhcjovL3By
b2JsZW0vMTAxMDczMDc1PgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpOb3QgdXNlZCB5
ZXQuCgoqIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0OgoqIFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKiBTb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFp
bmVyUXVlcnkuY3BwOgooV2ViQ29yZTo6Q1E6OnNlcmlhbGl6ZSk6CiogU291cmNlL1dlYkNvcmUv
Y3NzL0NvbnRhaW5lclF1ZXJ5Lmg6CiogU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5
UGFyc2VyLmNwcDoKKFdlYkNvcmU6OkNvbnRhaW5lclF1ZXJ5UGFyc2VyOjpjb25zdW1lUXVlcnlJ
blBhcmVucyk6CiogU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5VHlw
ZXMuaDoKCkFsc28gcmVuYW1lIFVua25vd25RdWVyeSB0byBHZW5lcmFsRW5jbG9zZWQgKHNwZWMg
dGVybSkgYW5kIG1vdmUgaXQgdG8gZ2VuZXJpYyB0eXBlcy4KCiogU291cmNlL1dlYkNvcmUvY3Nz
L3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuY3BwOiBBZGRlZC4KKFdlYkNvcmU6Ok1ROjpNZWRpYVF1
ZXJ5UGFyc2VyOjpjb25zdW1lTWVkaWFRdWVyeUxpc3QpOgooV2ViQ29yZTo6TVE6Ok1lZGlhUXVl
cnlQYXJzZXI6OmNvbnN1bWVNZWRpYVF1ZXJ5KToKKFdlYkNvcmU6Ok1ROjpNZWRpYVF1ZXJ5UGFy
c2VyOjpjb25zdW1lUXVlcnlJblBhcmVucyk6CihXZWJDb3JlOjpNUTo6TWVkaWFRdWVyeVBhcnNl
cjo6Y29uc3VtZU1lZGlhRmVhdHVyZSk6CiogU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlh
UXVlcnlQYXJzZXIuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVy
aWNNZWRpYVF1ZXJ5VHlwZXMuaC4KKFdlYkNvcmU6Ok1ROjpNZWRpYVF1ZXJ5UGFyc2VyOjpNZWRp
YVF1ZXJ5UGFyc2VyKToKKiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9Db250YWluZXJRdWVyeUV2YWx1
YXRvci5jcHA6CihXZWJDb3JlOjpTdHlsZTo6Q29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1
YXRlUXVlcnlJblBhcmVucyBjb25zdCk6Ci0tLQogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQg
ICAgICAgICAgICAgICAgICAgIHwgICAxICsKIC4uLi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiB8ICAgNiArCiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3
b3Jkcy5pbiAgICAgICAgfCAgIDMgKy0KIFNvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVy
eS5jcHAgICAgICAgICB8ICAgNiArLQogU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5
LmggICAgICAgICAgIHwgICA3ICstCiBTb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnlQ
YXJzZXIuY3BwICAgfCAgIDQgKy0KIC4uLi9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlUeXBl
cy5oICAgICAgICB8ICAgNSArCiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBh
cnNlci5jcHAgfCAxNTYgKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVl
cnkvTWVkaWFRdWVyeVBhcnNlci5oICAgfCAgNjYgKysrKysrKysKIC4uLi9XZWJDb3JlL3N0eWxl
L0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmNwcCB8ICAgMiArLQogMTAgZmlsZXMgY2hhbmdlZCwg
MjQzIGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFNv
dXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmNwcAogY3JlYXRlIG1vZGUg
MTAwNjQ0IFNvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmgKCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CmluZGV4IDk1MGM5ODFhYWViNC4uNjY1MTJkMWZjMzMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApA
QCAtODgzLDYgKzg4Myw3IEBAIGNzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIuY3BwCiBj
c3MvcGFyc2VyL1NpemVzQ2FsY1BhcnNlci5jcHAKIGNzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVy
eUV2YWx1YXRvci5jcHAKIGNzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVBhcnNlci5jcHAKK2Nz
cy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmNwcAogY3NzL3R5cGVkb20vQ29tcHV0ZWRTdHlsZVBy
b3BlcnR5TWFwUmVhZE9ubHkuY3BwCiBjc3MvdHlwZWRvbS9TdHlsZVByb3BlcnR5TWFwUmVhZE9u
bHkuY3BwCiBjc3MvdHlwZWRvbS9DU1NLZXl3b3JkVmFsdWUuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOWE3MzdjMjAyYTQ4
Li5kMGU1ZTEzYmE1YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTU1MTksNiArNTUxOSw3IEBACiAJCUU0NDdGNUIzMjY2Q0Y2
M0QwMDEzM0YwMCAvKiBUZXh0Qm94U2VsZWN0YWJsZVJhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDQ3RjVCMTI2NkNGNjNEMDAxMzNGMDAgLyog
VGV4dEJveFNlbGVjdGFibGVSYW5nZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUU0NEEwMjU2MjczQUUwQzAwMDk5M0E1NiAvKiBNYXRjaFJlc3Vs
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ0QTAy
NTQyNzNBRTBCRjAwOTkzQTU2IC8qIE1hdGNoUmVzdWx0LmggKi87IH07CiAJCUU0NEI0QkI0MTQx
NjUwRDcwMDJCMUQ4QiAvKiBTZWxlY3RvckNoZWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0NEI0QkIyMTQxNjUwRDcwMDJCMUQ4QiAvKiBTZWxl
Y3RvckNoZWNrZXIuaCAqLzsgfTsKKwkJRTQ0RjQyMkUyOEY2QTY0ODAwMEY4N0JDIC8qIE1lZGlh
UXVlcnlQYXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEU0NEY0MjJEMjhGNkE2NDgwMDBGODdCQyAvKiBNZWRpYVF1ZXJ5UGFyc2VyLmggKi87IH07
CiAJCUU0NEZBMTg1MUJDQTZCNUEwMDkxQjZFRiAvKiBDb21wb3NlZFRyZWVJdGVyYXRvci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ0RkExODQxQkNB
NkI1QTAwOTFCNkVGIC8qIENvbXBvc2VkVHJlZUl0ZXJhdG9yLmggKi87IH07CiAJCUU0NTFDNjMx
MjM5NDAyNzkwMDk5MzE5MCAvKiBMYXlvdXRVbml0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY3MzkxOEMyMTA2Q0VERDAwNkFGMjYyIC8qIExheW91
dFVuaXRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJRTQ1MUM2MzIyMzk0MDMxQTAwOTkzMTkwIC8qIE1hcmdpblR5cGVzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RkU3QUEyNjIxQzM3QjYzMDAyOTZE
Q0QgLyogTWFyZ2luVHlwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtMTgwNDIsNiArMTgwNDMsOCBAQAogCQlFNDRCNEJCMjE0MTY1MEQ3MDAy
QjFEOEIgLyogU2VsZWN0b3JDaGVja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNlbGVjdG9yQ2hlY2tlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDRF
RTNBNjE3NTc2RTU1MDBFRUU4Q0YgLyogRm9udEdlbmVyaWNGYW1pbGllcy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBGb250R2VuZXJpY0ZhbWlsaWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTQ0RUUzQTcxNzU3NkU1NTAwRUVFOENGIC8qIEZvbnRHZW5lcmljRmFtaWxpZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRm9udEdlbmVyaWNGYW1pbGllcy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlFNDRGNDIyRDI4RjZBNjQ4MDAwRjg3QkMgLyogTWVkaWFRdWVyeVBhcnNl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVF1ZXJ5UGFyc2VyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0NEY0MjJGMjhGNkE2NTIwMDBGODdCQyAv
KiBNZWRpYVF1ZXJ5UGFyc2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE1lZGlhUXVlcnlQYXJzZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
NDRGQTE4NDFCQ0E2QjVBMDA5MUI2RUYgLyogQ29tcG9zZWRUcmVlSXRlcmF0b3IuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29tcG9zZWRUcmVlSXRlcmF0b3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ0RkExODYxQkNBOTE1NjAwOTFCNkVGIC8qIENvbXBv
c2VkVHJlZUl0ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENvbXBvc2VkVHJlZUl0ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RTQ1MUM2MzMyMzk0MDU4RTAwOTkzMTkwIC8qIExheW91dEludGVncmF0aW9uSW5saW5lQ29udGVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRJbnRlZ3JhdGlvbklu
bGluZUNvbnRlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMyNTYyLDYgKzMy
NTY1LDggQEAKIAkJCQlFNERBNUU0NTI4QTNBRjU0MDA4NDlCQ0YgLyogR2VuZXJpY01lZGlhUXVl
cnlQYXJzZXIuY3BwICovLAogCQkJCUU0REE1RTM0Mjg5RDIzRjMwMDg0OUJDRiAvKiBHZW5lcmlj
TWVkaWFRdWVyeVBhcnNlci5oICovLAogCQkJCUU0REE1RTM1Mjg5RDIzRkQwMDg0OUJDRiAvKiBH
ZW5lcmljTWVkaWFRdWVyeVR5cGVzLmggKi8sCisJCQkJRTQ0RjQyMkYyOEY2QTY1MjAwMEY4N0JD
IC8qIE1lZGlhUXVlcnlQYXJzZXIuY3BwICovLAorCQkJCUU0NEY0MjJEMjhGNkE2NDgwMDBGODdC
QyAvKiBNZWRpYVF1ZXJ5UGFyc2VyLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IHF1ZXJ5OwogCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTM3NDY1LDYgKzM3NDcwLDcgQEAKIAkJCQlEM0E5
NEEzOTEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3QuaCBpbiBIZWFkZXJzICovLAog
CQkJCTg0NjUwRTdFMjM4N0FEN0QwMDYyNjZFMiAvKiBNZWRpYVF1ZXJ5TGlzdEV2ZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQlEM0FBMTBGNDEyM0E5OEFBMDA5MjE1MkIgLyogTWVkaWFRdWVyeU1h
dGNoZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0NEY0MjJFMjhGNkE2NDgwMDBGODdCQyAvKiBN
ZWRpYVF1ZXJ5UGFyc2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NDcxNzEwRTIwNUFGOTQ1MDAw
QTExNkUgLyogTWVkaWFRdWVyeVBhcnNlckNvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTRE
M0IwMEFCMjE1RDY5QTcwMDc2Qjk4MyAvKiBNZWRpYVJlY29yZGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQk0REI3MTMwRDIxNkVDQjREMDA5NkE0REQgLyogTWVkaWFSZWNvcmRlckVycm9yRXZlbnQu
aCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
S2V5d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRl
eCBjOGI4MmU3NjJmMzYuLjI3ZGFmYjgwZjk1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
S2V5d29yZHMuaW4KQEAgLTE1NDMsNyArMTU0Myw3IEBAIGRhcmsKICNpZiBkZWZpbmVkKEVOQUJM
RV9EQVJLX01PREVfQ1NTKSAmJiBFTkFCTEVfREFSS19NT0RFX0NTUwogLy8gY29sb3Itc2NoZW1l
CiAvLyBub3JtYWwKLW9ubHkKKy8vIG9ubHkKIC8vIGxpZ2h0CiAvLyBkYXJrCiAjZW5kaWYKQEAg
LTE2MzgsNiArMTYzOCw3IEBAIHNpZGVzCiBhbmQKIG9yCiBub3QKK29ubHkKIAogLy8gb3ZlcmZs
b3ctYW5jaG9yCiAvLyBub25lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFp
bmVyUXVlcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmNwcAppbmRl
eCBhMzEyNTJkZGUzNWIuLjE5NDI4MmY4NTFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NvbnRhaW5lclF1ZXJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVy
UXVlcnkuY3BwCkBAIC05NiwxMCArOTYsMTAgQEAgc3RhdGljIHZvaWQgc2VyaWFsaXplKFN0cmlu
Z0J1aWxkZXImIGJ1aWxkZXIsIGNvbnN0IFF1ZXJ5SW5QYXJlbnMmIHF1ZXJ5KQogICAgICAgICBi
dWlsZGVyLmFwcGVuZCgnKCcpOwogICAgICAgICBzZXJpYWxpemUoYnVpbGRlciwgbm9kZSk7CiAg
ICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcpJyk7Ci0gICAgfSwgWyZdKGNvbnN0IENROjpVbmtub3du
UXVlcnkmIHVua25vd25RdWVyeSkgewotICAgICAgICBidWlsZGVyLmFwcGVuZCh1bmtub3duUXVl
cnkubmFtZSk7CisgICAgfSwgWyZdKGNvbnN0IE1ROjpHZW5lcmFsRW5jbG9zZWQmIGdlbmVyYWxF
bmNsb3NlZCkgeworICAgICAgICBidWlsZGVyLmFwcGVuZChnZW5lcmFsRW5jbG9zZWQubmFtZSk7
CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcoJyk7Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kKHVu
a25vd25RdWVyeS50ZXh0KTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmQoZ2VuZXJhbEVuY2xvc2Vk
LnRleHQpOwogICAgICAgICBidWlsZGVyLmFwcGVuZCgnKScpOwogICAgIH0pOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ29udGFpbmVyUXVlcnkuaAppbmRleCA2NmEyYWRhZTU0ODkuLmZiOTZlMzEyMWY5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmgKQEAgLTQxLDEyICs0MSw3IEBAIHVzaW5n
IFNpemVGZWF0dXJlID0gTVE6OkZlYXR1cmU7CiBzdHJ1Y3QgQ29udGFpbmVyQ29uZGl0aW9uOwog
c3RydWN0IFNpemVDb25kaXRpb247CiAKLXN0cnVjdCBVbmtub3duUXVlcnkgewotICAgIFN0cmlu
ZyBuYW1lOwotICAgIFN0cmluZyB0ZXh0OwotfTsKLQotdXNpbmcgUXVlcnlJblBhcmVucyA9IHN0
ZDo6dmFyaWFudDxDb250YWluZXJDb25kaXRpb24sIFNpemVGZWF0dXJlLCBVbmtub3duUXVlcnk+
OwordXNpbmcgUXVlcnlJblBhcmVucyA9IHN0ZDo6dmFyaWFudDxDb250YWluZXJDb25kaXRpb24s
IFNpemVGZWF0dXJlLCBNUTo6R2VuZXJhbEVuY2xvc2VkPjsKIAogc3RydWN0IENvbnRhaW5lckNv
bmRpdGlvbiB7CiAgICAgTVE6OkxvZ2ljYWxPcGVyYXRvciBsb2dpY2FsT3BlcmF0b3IgeyBNUTo6
TG9naWNhbE9wZXJhdG9yOjpBbmQgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
b250YWluZXJRdWVyeVBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVl
cnlQYXJzZXIuY3BwCmluZGV4IDFiZjlkNzQ1YjBhZS4uYjVhNjY5MGQyZDBmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnlQYXJzZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeVBhcnNlci5jcHAKQEAgLTY0LDcgKzY0LDcgQEAg
c3RkOjpvcHRpb25hbDxDUTo6UXVlcnlJblBhcmVucz4gQ29udGFpbmVyUXVlcnlQYXJzZXI6OmNv
bnN1bWVRdWVyeUluUGFyZW5zKENTU1AKICAgICAgICAgYXV0byBuYW1lID0gcmFuZ2UucGVlaygp
LnZhbHVlKCk7CiAgICAgICAgIGF1dG8gZnVuY3Rpb25SYW5nZSA9IHJhbmdlLmNvbnN1bWVCbG9j
aygpOwogICAgICAgICAvLyBUaGlzIGlzIHdoZXJlIHdlIHdvdWxkIHN1cHBvcnQgc3R5bGUoKSBx
dWVyaWVzLgotICAgICAgICByZXR1cm4gQ1E6OlVua25vd25RdWVyeSB7IG5hbWUudG9TdHJpbmco
KSwgZnVuY3Rpb25SYW5nZS5zZXJpYWxpemUoKSB9OworICAgICAgICByZXR1cm4gTVE6OkdlbmVy
YWxFbmNsb3NlZCB7IG5hbWUudG9TdHJpbmcoKSwgZnVuY3Rpb25SYW5nZS5zZXJpYWxpemUoKSB9
OwogICAgIH0KIAogICAgIGlmIChyYW5nZS5wZWVrKCkudHlwZSgpID09IExlZnRQYXJlbnRoZXNp
c1Rva2VuKSB7CkBAIC04MSw3ICs4MSw3IEBAIHN0ZDo6b3B0aW9uYWw8Q1E6OlF1ZXJ5SW5QYXJl
bnM+IENvbnRhaW5lclF1ZXJ5UGFyc2VyOjpjb25zdW1lUXVlcnlJblBhcmVucyhDU1NQCiAgICAg
ICAgIGlmIChhdXRvIHNpemVGZWF0dXJlID0gY29uc3VtZVNpemVGZWF0dXJlKGJsb2NrUmFuZ2Up
KQogICAgICAgICAgICAgcmV0dXJuIHsgKnNpemVGZWF0dXJlIH07CiAKLSAgICAgICAgcmV0dXJu
IENROjpVbmtub3duUXVlcnkgeyB7IH0sIGJsb2NrUmFuZ2Uuc2VyaWFsaXplKCkgfTsKKyAgICAg
ICAgcmV0dXJuIE1ROjpHZW5lcmFsRW5jbG9zZWQgeyB7IH0sIGJsb2NrUmFuZ2Uuc2VyaWFsaXpl
KCkgfTsKICAgICB9CiAKICAgICByZXR1cm4geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5VHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVR5cGVzLmgKaW5kZXggNzBlOWY2YTRhMjZmLi4wNzE2
NTgyYzUzOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVk
aWFRdWVyeVR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRp
YVF1ZXJ5VHlwZXMuaApAQCAtNDUsNCArNDUsOSBAQCBzdHJ1Y3QgRmVhdHVyZSB7CiAgICAgc3Rk
OjpvcHRpb25hbDxDb21wYXJpc29uPiByaWdodENvbXBhcmlzb247CiB9OwogCitzdHJ1Y3QgR2Vu
ZXJhbEVuY2xvc2VkIHsKKyAgICBTdHJpbmcgbmFtZTsKKyAgICBTdHJpbmcgdGV4dDsKK307CisK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjBmNGFmNzkzZDU0ZgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmNw
cApAQCAtMCwwICsxLDE1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTWVkaWFRdWVyeVBhcnNlci5oIgorCisjaW5jbHVk
ZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2Ug
TVEgeworCitzdGQ6Om9wdGlvbmFsPE1lZGlhUXVlcnlMaXN0PiBNZWRpYVF1ZXJ5UGFyc2VyOjpj
b25zdW1lTWVkaWFRdWVyeUxpc3QoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCit7CisgICAg
TWVkaWFRdWVyeUxpc3QgbGlzdDsKKworICAgIHdoaWxlICghcmFuZ2UuYXRFbmQoKSkgeworICAg
ICAgICBhdXRvIGJlZ2luID0gcmFuZ2UuYmVnaW4oKTsKKyAgICAgICAgd2hpbGUgKCFyYW5nZS5h
dEVuZCgpICYmIHJhbmdlLnBlZWsoKS50eXBlKCkgIT0gQ29tbWFUb2tlbikKKyAgICAgICAgICAg
IHJhbmdlLmNvbnN1bWVDb21wb25lbnRWYWx1ZSgpOworCisgICAgICAgIGF1dG8gc3VicmFuZ2Ug
PSByYW5nZS5tYWtlU3ViUmFuZ2UoYmVnaW4sICZyYW5nZS5wZWVrKCkpOworCisgICAgICAgIGlm
ICghcmFuZ2UuYXRFbmQoKSkKKyAgICAgICAgICAgIHJhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0
ZXNwYWNlKCk7CisKKyAgICAgICAgYXV0byBjb25zdW1lTWVkaWFRdWVyeU9yTm90QWxsID0gWyZd
IHsKKyAgICAgICAgICAgIGlmIChhdXRvIHF1ZXJ5ID0gY29uc3VtZU1lZGlhUXVlcnkoc3VicmFu
Z2UpKQorICAgICAgICAgICAgICAgIHJldHVybiAqcXVlcnk7CisgICAgICAgICAgICAvLyAiQSBt
ZWRpYSBxdWVyeSB0aGF0IGRvZXMgbm90IG1hdGNoIHRoZSBncmFtbWFyIGluIHRoZSBwcmV2aW91
cyBzZWN0aW9uIG11c3QgYmUgcmVwbGFjZWQgYnkgbm90IGFsbCBkdXJpbmcgcGFyc2luZy4iCisg
ICAgICAgICAgICByZXR1cm4gTWVkaWFRdWVyeSB7IFByZWZpeDo6Tm90LCAiYWxsIl9zIH07Cisg
ICAgICAgIH07CisKKyAgICAgICAgbGlzdC5hcHBlbmQoY29uc3VtZU1lZGlhUXVlcnlPck5vdEFs
bCgpKTsKKyAgICB9CisKKyAgICByZXR1cm4gbGlzdDsKK30KKworc3RkOjpvcHRpb25hbDxNZWRp
YVF1ZXJ5PiBNZWRpYVF1ZXJ5UGFyc2VyOjpjb25zdW1lTWVkaWFRdWVyeShDU1NQYXJzZXJUb2tl
blJhbmdlJiByYW5nZSkKK3sKKyAgICAvLyA8bWVkaWEtY29uZGl0aW9uPgorCisgICAgYXV0byBy
YW5nZUNvcHkgPSByYW5nZTsKKyAgICBpZiAoYXV0byBjb25kaXRpb24gPSBjb25zdW1lQ29uZGl0
aW9uPE1lZGlhQ29uZGl0aW9uPihyYW5nZSkpCisgICAgICAgIHJldHVybiBNZWRpYVF1ZXJ5IHsg
eyB9LCB7IH0sIGNvbmRpdGlvbiB9OworCisgICAgcmFuZ2UgPSByYW5nZUNvcHk7CisKKyAgICAv
LyBbIG5vdCB8IG9ubHkgXT8gPG1lZGlhLXR5cGU+IFsgYW5kIDxtZWRpYS1jb25kaXRpb24td2l0
aG91dC1vcj4gXQorCisgICAgYXV0byBjb25zdW1lUHJlZml4ID0gWyZdKCkgLT4gc3RkOjpvcHRp
b25hbDxQcmVmaXg+IHsKKyAgICAgICAgaWYgKHJhbmdlLnBlZWsoKS50eXBlKCkgIT0gSWRlbnRU
b2tlbikKKyAgICAgICAgICAgIHJldHVybiB7IH07CisKKyAgICAgICAgaWYgKHJhbmdlLnBlZWso
KS5pZCgpID09IENTU1ZhbHVlTm90KSB7CisgICAgICAgICAgICByYW5nZS5jb25zdW1lSW5jbHVk
aW5nV2hpdGVzcGFjZSgpOworICAgICAgICAgICAgcmV0dXJuIFByZWZpeDo6Tm90OworICAgICAg
ICB9CisgICAgICAgIGlmIChyYW5nZS5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZU9ubHkpIHsKKyAg
ICAgICAgICAgIC8vICdvbmx5JyBkb2Vzbid0IGRvIGFueXRoaW5nLiBJdCBleGlzdHMgdG8gaGlk
ZSB0aGUgcnVsZSBmcm9tIGxlZ2FjeSBhZ2VudHMuCisgICAgICAgICAgICByYW5nZS5jb25zdW1l
SW5jbHVkaW5nV2hpdGVzcGFjZSgpOworICAgICAgICAgICAgcmV0dXJuIFByZWZpeDo6T25seTsK
KyAgICAgICAgfQorICAgICAgICByZXR1cm4geyB9OworICAgIH07CisKKyAgICBhdXRvIGNvbnN1
bWVNZWRpYVR5cGUgPSBbJl0oKSAtPiBBdG9tU3RyaW5nIHsKKyAgICAgICAgaWYgKHJhbmdlLnBl
ZWsoKS50eXBlKCkgIT0gSWRlbnRUb2tlbikKKyAgICAgICAgICAgIHJldHVybiB7IH07CisKKyAg
ICAgICAgYXV0byBpZGVudGlmaWVyID0gcmFuZ2UucGVlaygpLmlkKCk7CisgICAgICAgIGlmIChp
ZGVudGlmaWVyID09IENTU1ZhbHVlT25seSB8fCBpZGVudGlmaWVyID09IENTU1ZhbHVlTm90IHx8
IGlkZW50aWZpZXIgPT0gQ1NTVmFsdWVBbmQgfHwgaWRlbnRpZmllciA9PSBDU1NWYWx1ZU9yKQor
ICAgICAgICAgICAgcmV0dXJuIHsgfTsKKworICAgICAgICByZXR1cm4gcmFuZ2UuY29uc3VtZUlu
Y2x1ZGluZ1doaXRlc3BhY2UoKS52YWx1ZSgpLmNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNlQXRvbSgp
OworICAgIH07CisKKyAgICBhdXRvIHByZWZpeCA9IGNvbnN1bWVQcmVmaXgoKTsKKyAgICBhdXRv
IG1lZGlhVHlwZSA9IGNvbnN1bWVNZWRpYVR5cGUoKTsKKworICAgIGlmIChtZWRpYVR5cGUuaXNO
dWxsKCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBpZiAocmFuZ2UuYXRFbmQoKSkKKyAg
ICAgICAgcmV0dXJuIE1lZGlhUXVlcnkgeyBwcmVmaXgsIG1lZGlhVHlwZSwgeyB9IH07CisKKyAg
ICBpZiAocmFuZ2UucGVlaygpLnR5cGUoKSAhPSBJZGVudFRva2VuIHx8IHJhbmdlLnBlZWsoKS5p
ZCgpICE9IENTU1ZhbHVlQW5kKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgcmFuZ2UuY29u
c3VtZUluY2x1ZGluZ1doaXRlc3BhY2UoKTsKKworICAgIGF1dG8gY29uZGl0aW9uID0gY29uc3Vt
ZUNvbmRpdGlvbjxNZWRpYUNvbmRpdGlvbj4ocmFuZ2UpOworICAgIGlmICghY29uZGl0aW9uKQor
ICAgICAgICByZXR1cm4geyB9OworCisgICAgaWYgKGNvbmRpdGlvbi0+bG9naWNhbE9wZXJhdG9y
ID09IExvZ2ljYWxPcGVyYXRvcjo6T3IpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1
cm4gTWVkaWFRdWVyeSB7IHByZWZpeCwgbWVkaWFUeXBlLCBjb25kaXRpb24gfTsKK30KKworc3Rk
OjpvcHRpb25hbDxNZWRpYUluUGFyZW5zPiBNZWRpYVF1ZXJ5UGFyc2VyOjpjb25zdW1lUXVlcnlJ
blBhcmVucyhDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAocmFuZ2UucGVl
aygpLnR5cGUoKSA9PSBGdW5jdGlvblRva2VuKSB7CisgICAgICAgIGF1dG8gbmFtZSA9IHJhbmdl
LnBlZWsoKS52YWx1ZSgpOworICAgICAgICBhdXRvIGZ1bmN0aW9uUmFuZ2UgPSByYW5nZS5jb25z
dW1lQmxvY2soKTsKKyAgICAgICAgcmV0dXJuIEdlbmVyYWxFbmNsb3NlZCB7IG5hbWUudG9TdHJp
bmcoKSwgZnVuY3Rpb25SYW5nZS5zZXJpYWxpemUoKSB9OworICAgIH0KKworICAgIGlmIChyYW5n
ZS5wZWVrKCkudHlwZSgpID09IExlZnRQYXJlbnRoZXNpc1Rva2VuKSB7CisgICAgICAgIGF1dG8g
YmxvY2tSYW5nZSA9IHJhbmdlLmNvbnN1bWVCbG9jaygpOworICAgICAgICByYW5nZS5jb25zdW1l
V2hpdGVzcGFjZSgpOworCisgICAgICAgIGJsb2NrUmFuZ2UuY29uc3VtZVdoaXRlc3BhY2UoKTsK
KworICAgICAgICBhdXRvIGNvbmRpdGlvblJhbmdlID0gYmxvY2tSYW5nZTsKKyAgICAgICAgaWYg
KGF1dG8gY29uZGl0aW9uID0gY29uc3VtZUNvbmRpdGlvbjxNZWRpYUNvbmRpdGlvbj4oY29uZGl0
aW9uUmFuZ2UpKQorICAgICAgICAgICAgcmV0dXJuIHsgY29uZGl0aW9uIH07CisKKyAgICAgICAg
aWYgKGF1dG8gZmVhdHVyZSA9IGNvbnN1bWVNZWRpYUZlYXR1cmUoYmxvY2tSYW5nZSkpCisgICAg
ICAgICAgICByZXR1cm4geyAqZmVhdHVyZSB9OworCisgICAgICAgIHJldHVybiBHZW5lcmFsRW5j
bG9zZWQgeyB7IH0sIGJsb2NrUmFuZ2Uuc2VyaWFsaXplKCkgfTsKKyAgICB9CisKKyAgICByZXR1
cm4geyB9OworfQorCitzdGQ6Om9wdGlvbmFsPE1lZGlhRmVhdHVyZT4gTWVkaWFRdWVyeVBhcnNl
cjo6Y29uc3VtZU1lZGlhRmVhdHVyZShDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAg
ICByZXR1cm4gY29uc3VtZUZlYXR1cmUocmFuZ2UpOworfQorCit9Cit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAuLjIxMTllZjVlMThmNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmgKQEAgLTAsMCArMSw2NiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkdl
bmVyaWNNZWRpYVF1ZXJ5UGFyc2VyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFj
ZSBNUSB7CisKK3N0cnVjdCBNZWRpYUNvbmRpdGlvbjsKKwordXNpbmcgTWVkaWFGZWF0dXJlID0g
RmVhdHVyZTsKK3VzaW5nIE1lZGlhSW5QYXJlbnMgPSBzdGQ6OnZhcmlhbnQ8TWVkaWFDb25kaXRp
b24sIE1lZGlhRmVhdHVyZSwgR2VuZXJhbEVuY2xvc2VkPjsKKworZW51bSBjbGFzcyBQcmVmaXgg
OiBib29sIHsgTm90LCBPbmx5IH07CisKK3N0cnVjdCBNZWRpYUNvbmRpdGlvbiB7CisgICAgTG9n
aWNhbE9wZXJhdG9yIGxvZ2ljYWxPcGVyYXRvciB7IExvZ2ljYWxPcGVyYXRvcjo6QW5kIH07Cisg
ICAgVmVjdG9yPE1lZGlhSW5QYXJlbnM+IHF1ZXJpZXM7Cit9OworCitzdHJ1Y3QgTWVkaWFRdWVy
eSB7CisgICAgc3RkOjpvcHRpb25hbDxQcmVmaXg+IHByZWZpeDsKKyAgICBBdG9tU3RyaW5nIG1l
ZGlhVHlwZTsKKyAgICBzdGQ6Om9wdGlvbmFsPE1lZGlhQ29uZGl0aW9uPiBjb25kaXRpb24geyB9
OworfTsKKwordXNpbmcgTWVkaWFRdWVyeUxpc3QgPSBWZWN0b3I8TWVkaWFRdWVyeT47CisKK2Ns
YXNzIE1lZGlhUXVlcnlQYXJzZXIgOiBwdWJsaWMgR2VuZXJpY01lZGlhUXVlcnlQYXJzZXI8TWVk
aWFRdWVyeVBhcnNlcj4gIHsKK3B1YmxpYzoKKyAgICBzdGQ6Om9wdGlvbmFsPE1lZGlhUXVlcnlM
aXN0PiBjb25zdW1lTWVkaWFRdWVyeUxpc3QoQ1NTUGFyc2VyVG9rZW5SYW5nZSYpOworICAgIHN0
ZDo6b3B0aW9uYWw8TWVkaWFRdWVyeT4gY29uc3VtZU1lZGlhUXVlcnkoQ1NTUGFyc2VyVG9rZW5S
YW5nZSYpOworICAgIHN0ZDo6b3B0aW9uYWw8TWVkaWFJblBhcmVucz4gY29uc3VtZVF1ZXJ5SW5Q
YXJlbnMoQ1NTUGFyc2VyVG9rZW5SYW5nZSYpOworCitwcml2YXRlOgorICAgIHN0ZDo6b3B0aW9u
YWw8TWVkaWFGZWF0dXJlPiBjb25zdW1lTWVkaWFGZWF0dXJlKENTU1BhcnNlclRva2VuUmFuZ2Um
KTsKKworICAgIE1lZGlhUXVlcnlQYXJzZXIoY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4
dCkKKyAgICAgICAgOiBHZW5lcmljTWVkaWFRdWVyeVBhcnNlcihjb250ZXh0KSB7IH0KK307CisK
K30KK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZh
bHVhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9y
LmNwcAppbmRleCA1ZDcwYjA0YjcyNzMuLjhmMTIzYjYxZDhjZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3R5bGUvQ29udGFpbmVyUXVlcnlFdmFsdWF0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmNwcApAQCAtMTcwLDcgKzE3MCw3
IEBAIGF1dG8gQ29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlUXVlcnlJblBhcmVucyhj
b25zdCBDUTo6UXVlcnlJblBhcmVucyYgcXVlCiAgICAgICAgIHJldHVybiBldmFsdWF0ZUNvbmRp
dGlvbihjb250YWluZXJDb25kaXRpb24sIGNvbnRhaW5lcik7CiAgICAgfSwgWyZdKGNvbnN0IENR
OjpTaXplRmVhdHVyZSYgc2l6ZUZlYXR1cmUpIHsKICAgICAgICAgcmV0dXJuIGV2YWx1YXRlU2l6
ZUZlYXR1cmUoc2l6ZUZlYXR1cmUsIGNvbnRhaW5lcik7Ci0gICAgfSwgWyZdKGNvbnN0IENROjpV
bmtub3duUXVlcnkmKSB7CisgICAgfSwgWyZdKGNvbnN0IE1ROjpHZW5lcmFsRW5jbG9zZWQmKSB7
CiAgICAgICAgIHJldHVybiBNUTo6RXZhbHVhdGlvblJlc3VsdDo6VW5rbm93bjsKICAgICB9KTsK
IH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>462940</attachid>
            <date>2022-10-12 05:59:45 -0700</date>
            <delta_ts>2022-10-12 11:37:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-246398-20221012155944.patch</filename>
            <type>text/plain</type>
            <size>18732</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSA5YmExNmUxZTk3NmRhODdhMThiNTIzNjJlMDlhNTk2NzczNzcwNTU5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBXZWQsIDEyIE9jdCAyMDIyIDEzOjQ4OjEzICswMzAwClN1YmplY3Q6IFtQQVRDSF0gW01RNF0g
QWRkIGFuIGluaXRpYWwgdmVyc2lvbiBvZiB0aGUgbW9kZXJuIG1lZGlhIHF1ZXJ5IHBhcnNlcgog
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0NjM5OCA8cmRhcjovL3By
b2JsZW0vMTAxMDczMDc1PgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpOb3QgdXNlZCB5
ZXQuCgoqIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0OgoqIFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKiBTb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFp
bmVyUXVlcnkuY3BwOgooV2ViQ29yZTo6Q1E6OnNlcmlhbGl6ZSk6CiogU291cmNlL1dlYkNvcmUv
Y3NzL0NvbnRhaW5lclF1ZXJ5Lmg6CiogU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5
UGFyc2VyLmNwcDoKKFdlYkNvcmU6OkNvbnRhaW5lclF1ZXJ5UGFyc2VyOjpjb25zdW1lUXVlcnlJ
blBhcmVucyk6CiogU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5VHlw
ZXMuaDoKCkFsc28gcmVuYW1lIFVua25vd25RdWVyeSB0byBHZW5lcmFsRW5jbG9zZWQgKHNwZWMg
dGVybSkgYW5kIG1vdmUgaXQgdG8gZ2VuZXJpYyB0eXBlcy4KCiogU291cmNlL1dlYkNvcmUvY3Nz
L3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuY3BwOiBBZGRlZC4KKFdlYkNvcmU6Ok1ROjpNZWRpYVF1
ZXJ5UGFyc2VyOjpjb25zdW1lTWVkaWFRdWVyeUxpc3QpOgooV2ViQ29yZTo6TVE6Ok1lZGlhUXVl
cnlQYXJzZXI6OmNvbnN1bWVNZWRpYVF1ZXJ5KToKKFdlYkNvcmU6Ok1ROjpNZWRpYVF1ZXJ5UGFy
c2VyOjpjb25zdW1lUXVlcnlJblBhcmVucyk6CihXZWJDb3JlOjpNUTo6TWVkaWFRdWVyeVBhcnNl
cjo6Y29uc3VtZU1lZGlhRmVhdHVyZSk6CiogU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlh
UXVlcnlQYXJzZXIuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVy
aWNNZWRpYVF1ZXJ5VHlwZXMuaC4KKFdlYkNvcmU6Ok1ROjpNZWRpYVF1ZXJ5UGFyc2VyOjpNZWRp
YVF1ZXJ5UGFyc2VyKToKKiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9Db250YWluZXJRdWVyeUV2YWx1
YXRvci5jcHA6CihXZWJDb3JlOjpTdHlsZTo6Q29udGFpbmVyUXVlcnlFdmFsdWF0b3I6OmV2YWx1
YXRlUXVlcnlJblBhcmVucyBjb25zdCk6Ci0tLQogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQg
ICAgICAgICAgICAgICAgICAgIHwgICAxICsKIC4uLi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiB8ICAgNiArCiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3
b3Jkcy5pbiAgICAgICAgfCAgIDMgKy0KIFNvdXJjZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVy
eS5jcHAgICAgICAgICB8ICAgNiArLQogU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5
LmggICAgICAgICAgIHwgICA3ICstCiBTb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnlQ
YXJzZXIuY3BwICAgfCAgIDQgKy0KIC4uLi9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlUeXBl
cy5oICAgICAgICB8ICAgNSArCiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBh
cnNlci5jcHAgfCAxNTYgKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVl
cnkvTWVkaWFRdWVyeVBhcnNlci5oICAgfCAgNjcgKysrKysrKysKIC4uLi9XZWJDb3JlL3N0eWxl
L0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmNwcCB8ICAgMiArLQogMTAgZmlsZXMgY2hhbmdlZCwg
MjQ0IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFNv
dXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmNwcAogY3JlYXRlIG1vZGUg
MTAwNjQ0IFNvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmgKCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CmluZGV4IDk1MGM5ODFhYWViNC4uNjY1MTJkMWZjMzMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApA
QCAtODgzLDYgKzg4Myw3IEBAIGNzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIuY3BwCiBj
c3MvcGFyc2VyL1NpemVzQ2FsY1BhcnNlci5jcHAKIGNzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVy
eUV2YWx1YXRvci5jcHAKIGNzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVBhcnNlci5jcHAKK2Nz
cy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmNwcAogY3NzL3R5cGVkb20vQ29tcHV0ZWRTdHlsZVBy
b3BlcnR5TWFwUmVhZE9ubHkuY3BwCiBjc3MvdHlwZWRvbS9TdHlsZVByb3BlcnR5TWFwUmVhZE9u
bHkuY3BwCiBjc3MvdHlwZWRvbS9DU1NLZXl3b3JkVmFsdWUuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOWE3MzdjMjAyYTQ4
Li5kMGU1ZTEzYmE1YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTU1MTksNiArNTUxOSw3IEBACiAJCUU0NDdGNUIzMjY2Q0Y2
M0QwMDEzM0YwMCAvKiBUZXh0Qm94U2VsZWN0YWJsZVJhbmdlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDQ3RjVCMTI2NkNGNjNEMDAxMzNGMDAgLyog
VGV4dEJveFNlbGVjdGFibGVSYW5nZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUU0NEEwMjU2MjczQUUwQzAwMDk5M0E1NiAvKiBNYXRjaFJlc3Vs
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ0QTAy
NTQyNzNBRTBCRjAwOTkzQTU2IC8qIE1hdGNoUmVzdWx0LmggKi87IH07CiAJCUU0NEI0QkI0MTQx
NjUwRDcwMDJCMUQ4QiAvKiBTZWxlY3RvckNoZWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0NEI0QkIyMTQxNjUwRDcwMDJCMUQ4QiAvKiBTZWxl
Y3RvckNoZWNrZXIuaCAqLzsgfTsKKwkJRTQ0RjQyMkUyOEY2QTY0ODAwMEY4N0JDIC8qIE1lZGlh
UXVlcnlQYXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEU0NEY0MjJEMjhGNkE2NDgwMDBGODdCQyAvKiBNZWRpYVF1ZXJ5UGFyc2VyLmggKi87IH07
CiAJCUU0NEZBMTg1MUJDQTZCNUEwMDkxQjZFRiAvKiBDb21wb3NlZFRyZWVJdGVyYXRvci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ0RkExODQxQkNB
NkI1QTAwOTFCNkVGIC8qIENvbXBvc2VkVHJlZUl0ZXJhdG9yLmggKi87IH07CiAJCUU0NTFDNjMx
MjM5NDAyNzkwMDk5MzE5MCAvKiBMYXlvdXRVbml0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkY3MzkxOEMyMTA2Q0VERDAwNkFGMjYyIC8qIExheW91
dFVuaXRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJRTQ1MUM2MzIyMzk0MDMxQTAwOTkzMTkwIC8qIE1hcmdpblR5cGVzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RkU3QUEyNjIxQzM3QjYzMDAyOTZE
Q0QgLyogTWFyZ2luVHlwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtMTgwNDIsNiArMTgwNDMsOCBAQAogCQlFNDRCNEJCMjE0MTY1MEQ3MDAy
QjFEOEIgLyogU2VsZWN0b3JDaGVja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNlbGVjdG9yQ2hlY2tlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDRF
RTNBNjE3NTc2RTU1MDBFRUU4Q0YgLyogRm9udEdlbmVyaWNGYW1pbGllcy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBGb250R2VuZXJpY0ZhbWlsaWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTQ0RUUzQTcxNzU3NkU1NTAwRUVFOENGIC8qIEZvbnRHZW5lcmljRmFtaWxpZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRm9udEdlbmVyaWNGYW1pbGllcy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlFNDRGNDIyRDI4RjZBNjQ4MDAwRjg3QkMgLyogTWVkaWFRdWVyeVBhcnNl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVF1ZXJ5UGFyc2VyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUU0NEY0MjJGMjhGNkE2NTIwMDBGODdCQyAv
KiBNZWRpYVF1ZXJ5UGFyc2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE1lZGlhUXVlcnlQYXJzZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
NDRGQTE4NDFCQ0E2QjVBMDA5MUI2RUYgLyogQ29tcG9zZWRUcmVlSXRlcmF0b3IuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29tcG9zZWRUcmVlSXRlcmF0b3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ0RkExODYxQkNBOTE1NjAwOTFCNkVGIC8qIENvbXBv
c2VkVHJlZUl0ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENvbXBvc2VkVHJlZUl0ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RTQ1MUM2MzMyMzk0MDU4RTAwOTkzMTkwIC8qIExheW91dEludGVncmF0aW9uSW5saW5lQ29udGVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRJbnRlZ3JhdGlvbklu
bGluZUNvbnRlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMyNTYyLDYgKzMy
NTY1LDggQEAKIAkJCQlFNERBNUU0NTI4QTNBRjU0MDA4NDlCQ0YgLyogR2VuZXJpY01lZGlhUXVl
cnlQYXJzZXIuY3BwICovLAogCQkJCUU0REE1RTM0Mjg5RDIzRjMwMDg0OUJDRiAvKiBHZW5lcmlj
TWVkaWFRdWVyeVBhcnNlci5oICovLAogCQkJCUU0REE1RTM1Mjg5RDIzRkQwMDg0OUJDRiAvKiBH
ZW5lcmljTWVkaWFRdWVyeVR5cGVzLmggKi8sCisJCQkJRTQ0RjQyMkYyOEY2QTY1MjAwMEY4N0JD
IC8qIE1lZGlhUXVlcnlQYXJzZXIuY3BwICovLAorCQkJCUU0NEY0MjJEMjhGNkE2NDgwMDBGODdC
QyAvKiBNZWRpYVF1ZXJ5UGFyc2VyLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IHF1ZXJ5OwogCQkJ
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTM3NDY1LDYgKzM3NDcwLDcgQEAKIAkJCQlEM0E5
NEEzOTEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3QuaCBpbiBIZWFkZXJzICovLAog
CQkJCTg0NjUwRTdFMjM4N0FEN0QwMDYyNjZFMiAvKiBNZWRpYVF1ZXJ5TGlzdEV2ZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQlEM0FBMTBGNDEyM0E5OEFBMDA5MjE1MkIgLyogTWVkaWFRdWVyeU1h
dGNoZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0NEY0MjJFMjhGNkE2NDgwMDBGODdCQyAvKiBN
ZWRpYVF1ZXJ5UGFyc2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NDcxNzEwRTIwNUFGOTQ1MDAw
QTExNkUgLyogTWVkaWFRdWVyeVBhcnNlckNvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTRE
M0IwMEFCMjE1RDY5QTcwMDc2Qjk4MyAvKiBNZWRpYVJlY29yZGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQk0REI3MTMwRDIxNkVDQjREMDA5NkE0REQgLyogTWVkaWFSZWNvcmRlckVycm9yRXZlbnQu
aCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
S2V5d29yZHMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRl
eCBjOGI4MmU3NjJmMzYuLjI3ZGFmYjgwZjk1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
S2V5d29yZHMuaW4KQEAgLTE1NDMsNyArMTU0Myw3IEBAIGRhcmsKICNpZiBkZWZpbmVkKEVOQUJM
RV9EQVJLX01PREVfQ1NTKSAmJiBFTkFCTEVfREFSS19NT0RFX0NTUwogLy8gY29sb3Itc2NoZW1l
CiAvLyBub3JtYWwKLW9ubHkKKy8vIG9ubHkKIC8vIGxpZ2h0CiAvLyBkYXJrCiAjZW5kaWYKQEAg
LTE2MzgsNiArMTYzOCw3IEBAIHNpZGVzCiBhbmQKIG9yCiBub3QKK29ubHkKIAogLy8gb3ZlcmZs
b3ctYW5jaG9yCiAvLyBub25lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFp
bmVyUXVlcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmNwcAppbmRl
eCBhMzEyNTJkZGUzNWIuLjE5NDI4MmY4NTFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NvbnRhaW5lclF1ZXJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVy
UXVlcnkuY3BwCkBAIC05NiwxMCArOTYsMTAgQEAgc3RhdGljIHZvaWQgc2VyaWFsaXplKFN0cmlu
Z0J1aWxkZXImIGJ1aWxkZXIsIGNvbnN0IFF1ZXJ5SW5QYXJlbnMmIHF1ZXJ5KQogICAgICAgICBi
dWlsZGVyLmFwcGVuZCgnKCcpOwogICAgICAgICBzZXJpYWxpemUoYnVpbGRlciwgbm9kZSk7CiAg
ICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcpJyk7Ci0gICAgfSwgWyZdKGNvbnN0IENROjpVbmtub3du
UXVlcnkmIHVua25vd25RdWVyeSkgewotICAgICAgICBidWlsZGVyLmFwcGVuZCh1bmtub3duUXVl
cnkubmFtZSk7CisgICAgfSwgWyZdKGNvbnN0IE1ROjpHZW5lcmFsRW5jbG9zZWQmIGdlbmVyYWxF
bmNsb3NlZCkgeworICAgICAgICBidWlsZGVyLmFwcGVuZChnZW5lcmFsRW5jbG9zZWQubmFtZSk7
CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcoJyk7Ci0gICAgICAgIGJ1aWxkZXIuYXBwZW5kKHVu
a25vd25RdWVyeS50ZXh0KTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmQoZ2VuZXJhbEVuY2xvc2Vk
LnRleHQpOwogICAgICAgICBidWlsZGVyLmFwcGVuZCgnKScpOwogICAgIH0pOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ29udGFpbmVyUXVlcnkuaAppbmRleCA2NmEyYWRhZTU0ODkuLmZiOTZlMzEyMWY5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NvbnRhaW5lclF1ZXJ5LmgKQEAgLTQxLDEyICs0MSw3IEBAIHVzaW5n
IFNpemVGZWF0dXJlID0gTVE6OkZlYXR1cmU7CiBzdHJ1Y3QgQ29udGFpbmVyQ29uZGl0aW9uOwog
c3RydWN0IFNpemVDb25kaXRpb247CiAKLXN0cnVjdCBVbmtub3duUXVlcnkgewotICAgIFN0cmlu
ZyBuYW1lOwotICAgIFN0cmluZyB0ZXh0OwotfTsKLQotdXNpbmcgUXVlcnlJblBhcmVucyA9IHN0
ZDo6dmFyaWFudDxDb250YWluZXJDb25kaXRpb24sIFNpemVGZWF0dXJlLCBVbmtub3duUXVlcnk+
OwordXNpbmcgUXVlcnlJblBhcmVucyA9IHN0ZDo6dmFyaWFudDxDb250YWluZXJDb25kaXRpb24s
IFNpemVGZWF0dXJlLCBNUTo6R2VuZXJhbEVuY2xvc2VkPjsKIAogc3RydWN0IENvbnRhaW5lckNv
bmRpdGlvbiB7CiAgICAgTVE6OkxvZ2ljYWxPcGVyYXRvciBsb2dpY2FsT3BlcmF0b3IgeyBNUTo6
TG9naWNhbE9wZXJhdG9yOjpBbmQgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
b250YWluZXJRdWVyeVBhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVl
cnlQYXJzZXIuY3BwCmluZGV4IDFiZjlkNzQ1YjBhZS4uYjVhNjY5MGQyZDBmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ29udGFpbmVyUXVlcnlQYXJzZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9Db250YWluZXJRdWVyeVBhcnNlci5jcHAKQEAgLTY0LDcgKzY0LDcgQEAg
c3RkOjpvcHRpb25hbDxDUTo6UXVlcnlJblBhcmVucz4gQ29udGFpbmVyUXVlcnlQYXJzZXI6OmNv
bnN1bWVRdWVyeUluUGFyZW5zKENTU1AKICAgICAgICAgYXV0byBuYW1lID0gcmFuZ2UucGVlaygp
LnZhbHVlKCk7CiAgICAgICAgIGF1dG8gZnVuY3Rpb25SYW5nZSA9IHJhbmdlLmNvbnN1bWVCbG9j
aygpOwogICAgICAgICAvLyBUaGlzIGlzIHdoZXJlIHdlIHdvdWxkIHN1cHBvcnQgc3R5bGUoKSBx
dWVyaWVzLgotICAgICAgICByZXR1cm4gQ1E6OlVua25vd25RdWVyeSB7IG5hbWUudG9TdHJpbmco
KSwgZnVuY3Rpb25SYW5nZS5zZXJpYWxpemUoKSB9OworICAgICAgICByZXR1cm4gTVE6OkdlbmVy
YWxFbmNsb3NlZCB7IG5hbWUudG9TdHJpbmcoKSwgZnVuY3Rpb25SYW5nZS5zZXJpYWxpemUoKSB9
OwogICAgIH0KIAogICAgIGlmIChyYW5nZS5wZWVrKCkudHlwZSgpID09IExlZnRQYXJlbnRoZXNp
c1Rva2VuKSB7CkBAIC04MSw3ICs4MSw3IEBAIHN0ZDo6b3B0aW9uYWw8Q1E6OlF1ZXJ5SW5QYXJl
bnM+IENvbnRhaW5lclF1ZXJ5UGFyc2VyOjpjb25zdW1lUXVlcnlJblBhcmVucyhDU1NQCiAgICAg
ICAgIGlmIChhdXRvIHNpemVGZWF0dXJlID0gY29uc3VtZVNpemVGZWF0dXJlKGJsb2NrUmFuZ2Up
KQogICAgICAgICAgICAgcmV0dXJuIHsgKnNpemVGZWF0dXJlIH07CiAKLSAgICAgICAgcmV0dXJu
IENROjpVbmtub3duUXVlcnkgeyB7IH0sIGJsb2NrUmFuZ2Uuc2VyaWFsaXplKCkgfTsKKyAgICAg
ICAgcmV0dXJuIE1ROjpHZW5lcmFsRW5jbG9zZWQgeyB7IH0sIGJsb2NrUmFuZ2Uuc2VyaWFsaXpl
KCkgfTsKICAgICB9CiAKICAgICByZXR1cm4geyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5VHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVR5cGVzLmgKaW5kZXggNzBlOWY2YTRhMjZmLi4wNzE2
NTgyYzUzOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVk
aWFRdWVyeVR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRp
YVF1ZXJ5VHlwZXMuaApAQCAtNDUsNCArNDUsOSBAQCBzdHJ1Y3QgRmVhdHVyZSB7CiAgICAgc3Rk
OjpvcHRpb25hbDxDb21wYXJpc29uPiByaWdodENvbXBhcmlzb247CiB9OwogCitzdHJ1Y3QgR2Vu
ZXJhbEVuY2xvc2VkIHsKKyAgICBTdHJpbmcgbmFtZTsKKyAgICBTdHJpbmcgdGV4dDsKK307CisK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjc1ODRjNmM3MmVmMgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmNw
cApAQCAtMCwwICsxLDE1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTWVkaWFRdWVyeVBhcnNlci5oIgorCisjaW5jbHVk
ZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2Ug
TVEgeworCitNZWRpYVF1ZXJ5TGlzdCBNZWRpYVF1ZXJ5UGFyc2VyOjpjb25zdW1lTWVkaWFRdWVy
eUxpc3QoQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCit7CisgICAgTWVkaWFRdWVyeUxpc3Qg
bGlzdDsKKworICAgIHdoaWxlICghcmFuZ2UuYXRFbmQoKSkgeworICAgICAgICBhdXRvIGJlZ2lu
ID0gcmFuZ2UuYmVnaW4oKTsKKyAgICAgICAgd2hpbGUgKCFyYW5nZS5hdEVuZCgpICYmIHJhbmdl
LnBlZWsoKS50eXBlKCkgIT0gQ29tbWFUb2tlbikKKyAgICAgICAgICAgIHJhbmdlLmNvbnN1bWVD
b21wb25lbnRWYWx1ZSgpOworCisgICAgICAgIGF1dG8gc3VicmFuZ2UgPSByYW5nZS5tYWtlU3Vi
UmFuZ2UoYmVnaW4sICZyYW5nZS5wZWVrKCkpOworCisgICAgICAgIGlmICghcmFuZ2UuYXRFbmQo
KSkKKyAgICAgICAgICAgIHJhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCk7CisKKyAg
ICAgICAgYXV0byBjb25zdW1lTWVkaWFRdWVyeU9yTm90QWxsID0gWyZdIHsKKyAgICAgICAgICAg
IGlmIChhdXRvIHF1ZXJ5ID0gY29uc3VtZU1lZGlhUXVlcnkoc3VicmFuZ2UpKQorICAgICAgICAg
ICAgICAgIHJldHVybiAqcXVlcnk7CisgICAgICAgICAgICAvLyAiQSBtZWRpYSBxdWVyeSB0aGF0
IGRvZXMgbm90IG1hdGNoIHRoZSBncmFtbWFyIGluIHRoZSBwcmV2aW91cyBzZWN0aW9uIG11c3Qg
YmUgcmVwbGFjZWQgYnkgbm90IGFsbCBkdXJpbmcgcGFyc2luZy4iCisgICAgICAgICAgICByZXR1
cm4gTWVkaWFRdWVyeSB7IFByZWZpeDo6Tm90LCAiYWxsIl9zIH07CisgICAgICAgIH07CisKKyAg
ICAgICAgbGlzdC5hcHBlbmQoY29uc3VtZU1lZGlhUXVlcnlPck5vdEFsbCgpKTsKKyAgICB9CisK
KyAgICByZXR1cm4gbGlzdDsKK30KKworc3RkOjpvcHRpb25hbDxNZWRpYVF1ZXJ5PiBNZWRpYVF1
ZXJ5UGFyc2VyOjpjb25zdW1lTWVkaWFRdWVyeShDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkK
K3sKKyAgICAvLyA8bWVkaWEtY29uZGl0aW9uPgorCisgICAgYXV0byByYW5nZUNvcHkgPSByYW5n
ZTsKKyAgICBpZiAoYXV0byBjb25kaXRpb24gPSBjb25zdW1lQ29uZGl0aW9uPE1lZGlhQ29uZGl0
aW9uPihyYW5nZSkpCisgICAgICAgIHJldHVybiBNZWRpYVF1ZXJ5IHsgeyB9LCB7IH0sIGNvbmRp
dGlvbiB9OworCisgICAgcmFuZ2UgPSByYW5nZUNvcHk7CisKKyAgICAvLyBbIG5vdCB8IG9ubHkg
XT8gPG1lZGlhLXR5cGU+IFsgYW5kIDxtZWRpYS1jb25kaXRpb24td2l0aG91dC1vcj4gXQorCisg
ICAgYXV0byBjb25zdW1lUHJlZml4ID0gWyZdKCkgLT4gc3RkOjpvcHRpb25hbDxQcmVmaXg+IHsK
KyAgICAgICAgaWYgKHJhbmdlLnBlZWsoKS50eXBlKCkgIT0gSWRlbnRUb2tlbikKKyAgICAgICAg
ICAgIHJldHVybiB7IH07CisKKyAgICAgICAgaWYgKHJhbmdlLnBlZWsoKS5pZCgpID09IENTU1Zh
bHVlTm90KSB7CisgICAgICAgICAgICByYW5nZS5jb25zdW1lSW5jbHVkaW5nV2hpdGVzcGFjZSgp
OworICAgICAgICAgICAgcmV0dXJuIFByZWZpeDo6Tm90OworICAgICAgICB9CisgICAgICAgIGlm
IChyYW5nZS5wZWVrKCkuaWQoKSA9PSBDU1NWYWx1ZU9ubHkpIHsKKyAgICAgICAgICAgIC8vICdv
bmx5JyBkb2Vzbid0IGRvIGFueXRoaW5nLiBJdCBleGlzdHMgdG8gaGlkZSB0aGUgcnVsZSBmcm9t
IGxlZ2FjeSBhZ2VudHMuCisgICAgICAgICAgICByYW5nZS5jb25zdW1lSW5jbHVkaW5nV2hpdGVz
cGFjZSgpOworICAgICAgICAgICAgcmV0dXJuIFByZWZpeDo6T25seTsKKyAgICAgICAgfQorICAg
ICAgICByZXR1cm4geyB9OworICAgIH07CisKKyAgICBhdXRvIGNvbnN1bWVNZWRpYVR5cGUgPSBb
Jl0oKSAtPiBBdG9tU3RyaW5nIHsKKyAgICAgICAgaWYgKHJhbmdlLnBlZWsoKS50eXBlKCkgIT0g
SWRlbnRUb2tlbikKKyAgICAgICAgICAgIHJldHVybiB7IH07CisKKyAgICAgICAgYXV0byBpZGVu
dGlmaWVyID0gcmFuZ2UucGVlaygpLmlkKCk7CisgICAgICAgIGlmIChpZGVudGlmaWVyID09IENT
U1ZhbHVlT25seSB8fCBpZGVudGlmaWVyID09IENTU1ZhbHVlTm90IHx8IGlkZW50aWZpZXIgPT0g
Q1NTVmFsdWVBbmQgfHwgaWRlbnRpZmllciA9PSBDU1NWYWx1ZU9yKQorICAgICAgICAgICAgcmV0
dXJuIHsgfTsKKworICAgICAgICByZXR1cm4gcmFuZ2UuY29uc3VtZUluY2x1ZGluZ1doaXRlc3Bh
Y2UoKS52YWx1ZSgpLmNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNlQXRvbSgpOworICAgIH07CisKKyAg
ICBhdXRvIHByZWZpeCA9IGNvbnN1bWVQcmVmaXgoKTsKKyAgICBhdXRvIG1lZGlhVHlwZSA9IGNv
bnN1bWVNZWRpYVR5cGUoKTsKKworICAgIGlmIChtZWRpYVR5cGUuaXNOdWxsKCkpCisgICAgICAg
IHJldHVybiB7IH07CisKKyAgICBpZiAocmFuZ2UuYXRFbmQoKSkKKyAgICAgICAgcmV0dXJuIE1l
ZGlhUXVlcnkgeyBwcmVmaXgsIG1lZGlhVHlwZSwgeyB9IH07CisKKyAgICBpZiAocmFuZ2UucGVl
aygpLnR5cGUoKSAhPSBJZGVudFRva2VuIHx8IHJhbmdlLnBlZWsoKS5pZCgpICE9IENTU1ZhbHVl
QW5kKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgcmFuZ2UuY29uc3VtZUluY2x1ZGluZ1do
aXRlc3BhY2UoKTsKKworICAgIGF1dG8gY29uZGl0aW9uID0gY29uc3VtZUNvbmRpdGlvbjxNZWRp
YUNvbmRpdGlvbj4ocmFuZ2UpOworICAgIGlmICghY29uZGl0aW9uKQorICAgICAgICByZXR1cm4g
eyB9OworCisgICAgaWYgKGNvbmRpdGlvbi0+bG9naWNhbE9wZXJhdG9yID09IExvZ2ljYWxPcGVy
YXRvcjo6T3IpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1cm4gTWVkaWFRdWVyeSB7
IHByZWZpeCwgbWVkaWFUeXBlLCBjb25kaXRpb24gfTsKK30KKworc3RkOjpvcHRpb25hbDxNZWRp
YUluUGFyZW5zPiBNZWRpYVF1ZXJ5UGFyc2VyOjpjb25zdW1lUXVlcnlJblBhcmVucyhDU1NQYXJz
ZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICBpZiAocmFuZ2UucGVlaygpLnR5cGUoKSA9PSBG
dW5jdGlvblRva2VuKSB7CisgICAgICAgIGF1dG8gbmFtZSA9IHJhbmdlLnBlZWsoKS52YWx1ZSgp
OworICAgICAgICBhdXRvIGZ1bmN0aW9uUmFuZ2UgPSByYW5nZS5jb25zdW1lQmxvY2soKTsKKyAg
ICAgICAgcmV0dXJuIEdlbmVyYWxFbmNsb3NlZCB7IG5hbWUudG9TdHJpbmcoKSwgZnVuY3Rpb25S
YW5nZS5zZXJpYWxpemUoKSB9OworICAgIH0KKworICAgIGlmIChyYW5nZS5wZWVrKCkudHlwZSgp
ID09IExlZnRQYXJlbnRoZXNpc1Rva2VuKSB7CisgICAgICAgIGF1dG8gYmxvY2tSYW5nZSA9IHJh
bmdlLmNvbnN1bWVCbG9jaygpOworICAgICAgICByYW5nZS5jb25zdW1lV2hpdGVzcGFjZSgpOwor
CisgICAgICAgIGJsb2NrUmFuZ2UuY29uc3VtZVdoaXRlc3BhY2UoKTsKKworICAgICAgICBhdXRv
IGNvbmRpdGlvblJhbmdlID0gYmxvY2tSYW5nZTsKKyAgICAgICAgaWYgKGF1dG8gY29uZGl0aW9u
ID0gY29uc3VtZUNvbmRpdGlvbjxNZWRpYUNvbmRpdGlvbj4oY29uZGl0aW9uUmFuZ2UpKQorICAg
ICAgICAgICAgcmV0dXJuIHsgY29uZGl0aW9uIH07CisKKyAgICAgICAgaWYgKGF1dG8gZmVhdHVy
ZSA9IGNvbnN1bWVNZWRpYUZlYXR1cmUoYmxvY2tSYW5nZSkpCisgICAgICAgICAgICByZXR1cm4g
eyAqZmVhdHVyZSB9OworCisgICAgICAgIHJldHVybiBHZW5lcmFsRW5jbG9zZWQgeyB7IH0sIGJs
b2NrUmFuZ2Uuc2VyaWFsaXplKCkgfTsKKyAgICB9CisKKyAgICByZXR1cm4geyB9OworfQorCitz
dGQ6Om9wdGlvbmFsPE1lZGlhRmVhdHVyZT4gTWVkaWFRdWVyeVBhcnNlcjo6Y29uc3VtZU1lZGlh
RmVhdHVyZShDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKK3sKKyAgICByZXR1cm4gY29uc3Vt
ZUZlYXR1cmUocmFuZ2UpOworfQorCit9Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01l
ZGlhUXVlcnlQYXJzZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu
LjU5ZDk1ZTc1YTYxNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVy
eS9NZWRpYVF1ZXJ5UGFyc2VyLmgKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkdlbmVyaWNNZWRpYVF1ZXJ5
UGFyc2VyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBNUSB7CisKK3N0cnVj
dCBNZWRpYUNvbmRpdGlvbjsKKwordXNpbmcgTWVkaWFGZWF0dXJlID0gRmVhdHVyZTsKK3VzaW5n
IE1lZGlhSW5QYXJlbnMgPSBzdGQ6OnZhcmlhbnQ8TWVkaWFDb25kaXRpb24sIE1lZGlhRmVhdHVy
ZSwgR2VuZXJhbEVuY2xvc2VkPjsKKworZW51bSBjbGFzcyBQcmVmaXggOiBib29sIHsgTm90LCBP
bmx5IH07CisKK3N0cnVjdCBNZWRpYUNvbmRpdGlvbiB7CisgICAgTG9naWNhbE9wZXJhdG9yIGxv
Z2ljYWxPcGVyYXRvciB7IExvZ2ljYWxPcGVyYXRvcjo6QW5kIH07CisgICAgVmVjdG9yPE1lZGlh
SW5QYXJlbnM+IHF1ZXJpZXM7Cit9OworCitzdHJ1Y3QgTWVkaWFRdWVyeSB7CisgICAgc3RkOjpv
cHRpb25hbDxQcmVmaXg+IHByZWZpeDsKKyAgICBBdG9tU3RyaW5nIG1lZGlhVHlwZTsKKyAgICBz
dGQ6Om9wdGlvbmFsPE1lZGlhQ29uZGl0aW9uPiBjb25kaXRpb24geyB9OworfTsKKwordXNpbmcg
TWVkaWFRdWVyeUxpc3QgPSBWZWN0b3I8TWVkaWFRdWVyeT47CisKK2NsYXNzIE1lZGlhUXVlcnlQ
YXJzZXIgOiBwdWJsaWMgR2VuZXJpY01lZGlhUXVlcnlQYXJzZXI8TWVkaWFRdWVyeVBhcnNlcj4g
IHsKK3B1YmxpYzoKKyAgICBNZWRpYVF1ZXJ5TGlzdCBjb25zdW1lTWVkaWFRdWVyeUxpc3QoQ1NT
UGFyc2VyVG9rZW5SYW5nZSYpOworICAgIAorICAgIHN0ZDo6b3B0aW9uYWw8TWVkaWFRdWVyeT4g
Y29uc3VtZU1lZGlhUXVlcnkoQ1NTUGFyc2VyVG9rZW5SYW5nZSYpOworICAgIHN0ZDo6b3B0aW9u
YWw8TWVkaWFJblBhcmVucz4gY29uc3VtZVF1ZXJ5SW5QYXJlbnMoQ1NTUGFyc2VyVG9rZW5SYW5n
ZSYpOworCitwcml2YXRlOgorICAgIHN0ZDo6b3B0aW9uYWw8TWVkaWFGZWF0dXJlPiBjb25zdW1l
TWVkaWFGZWF0dXJlKENTU1BhcnNlclRva2VuUmFuZ2UmKTsKKworICAgIE1lZGlhUXVlcnlQYXJz
ZXIoY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCkKKyAgICAgICAgOiBHZW5lcmljTWVk
aWFRdWVyeVBhcnNlcihjb250ZXh0KSB7IH0KK307CisKK30KK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL0NvbnRhaW5lclF1ZXJ5RXZhbHVhdG9yLmNwcAppbmRleCA1ZDcwYjA0YjcyNzMu
LjhmMTIzYjYxZDhjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvQ29udGFpbmVy
UXVlcnlFdmFsdWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL0NvbnRhaW5lclF1
ZXJ5RXZhbHVhdG9yLmNwcApAQCAtMTcwLDcgKzE3MCw3IEBAIGF1dG8gQ29udGFpbmVyUXVlcnlF
dmFsdWF0b3I6OmV2YWx1YXRlUXVlcnlJblBhcmVucyhjb25zdCBDUTo6UXVlcnlJblBhcmVucyYg
cXVlCiAgICAgICAgIHJldHVybiBldmFsdWF0ZUNvbmRpdGlvbihjb250YWluZXJDb25kaXRpb24s
IGNvbnRhaW5lcik7CiAgICAgfSwgWyZdKGNvbnN0IENROjpTaXplRmVhdHVyZSYgc2l6ZUZlYXR1
cmUpIHsKICAgICAgICAgcmV0dXJuIGV2YWx1YXRlU2l6ZUZlYXR1cmUoc2l6ZUZlYXR1cmUsIGNv
bnRhaW5lcik7Ci0gICAgfSwgWyZdKGNvbnN0IENROjpVbmtub3duUXVlcnkmKSB7CisgICAgfSwg
WyZdKGNvbnN0IE1ROjpHZW5lcmFsRW5jbG9zZWQmKSB7CiAgICAgICAgIHJldHVybiBNUTo6RXZh
bHVhdGlvblJlc3VsdDo6VW5rbm93bjsKICAgICB9KTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>