<?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>219044</bug_id>
          
          <creation_ts>2020-11-17 11:37:31 -0800</creation_ts>
          <short_desc>Address additional feedback from https://bugs.webkit.org/show_bug.cgi?id=218960</short_desc>
          <delta_ts>2020-11-18 07:02:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>achristensen</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cdumez</cc>
    
    <cc>cfleizach</cc>
    
    <cc>changseok</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mifenton</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1708316</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-11-17 11:37:31 -0800</bug_when>
    <thetext>Address additional feedback from https://bugs.webkit.org/show_bug.cgi?id=218960</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708329</commentid>
    <comment_count>1</comment_count>
      <attachid>414366</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-11-17 12:12:02 -0800</bug_when>
    <thetext>Created attachment 414366
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708379</commentid>
    <comment_count>2</comment_count>
      <attachid>414384</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-11-17 14:08:13 -0800</bug_when>
    <thetext>Created attachment 414384
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708586</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-18 07:01:26 -0800</bug_when>
    <thetext>Committed r269953: &lt;https://trac.webkit.org/changeset/269953&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 414384.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708588</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-18 07:02:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/71538215&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414366</attachid>
            <date>2020-11-17 12:12:02 -0800</date>
            <delta_ts>2020-11-17 14:08:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219044-20201117121201.patch</filename>
            <type>text/plain</type>
            <size>29349</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTkxNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBACisyMDIwLTExLTE3ICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBBZGRyZXNzIGFkZGl0aW9uYWwgZmVl
ZGJhY2sgZnJvbSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4OTYw
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTkwNDQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRyZXNz
IHBvc3QtcmV2aWV3IGZlZWRiYWNrIGZyb20gRGFyaW4uCisKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZWRpdGluZy9jb2NvYS9EYXRhRGV0
ZWN0b3JUeXBlLmg6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvRGF0YURldGVjdG9y
VHlwZXMuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBlZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24u
aDoKKyAgICAgICAgKiBlZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24ubW06CisgICAgICAgICog
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzQmFzZS5oOgor
ICAgICAgICAqIHBhZ2UvU2V0dGluZ3MueWFtbDoKKyAgICAgICAgUmVuYW1lIERhdGFEZXRlY3Rv
clR5cGVzIHRvIERhdGFEZXRlY3RvclR5cGUuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0Zv
cmNlZEFjY2Vzc2liaWxpdHlWYWx1ZS5oOgorICAgICAgICBQdXQgdGhlIGRlZmluaXRpb24gYWxs
IG9uIG9uZSBsaW5lIGZvciBlYXNpZXIgcmVhZGluZy4KKworICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvci5wbToKKyAgICAgICAgKFdLX3VjZmlyc3QpOgorICAgICAgICAg
KiBlZGl0aW5nL0VkaXRpbmdCZWhhdmlvclR5cGUuaDoKKyAgICAgICAgU3BlY2lhbCBjYXNlICJp
b3MiIHNvIHRoYXQgaXQgZG9lc24ndCBiZWNvbWUgIklvcyIgYnV0IHJhdGhlciAiSU9TIi4uCisg
ICAgICAgIAorICAgICAgICAqIGh0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTEFuY2hvckVsZW1lbnQ6OnNldEFjdGl2ZSk6CisgICAgICAgIEZpeHVwIGNv
bW1lbnQgYWRkaW5nIHBlcmlvZCBhbmQgbWFraW5nIGl0IGFsbCBvbmUgbGluZS4KKworICAgICAg
ICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAg
ICAgICBVc2UgZm9yd2FyZCBkZWNsYXJhdGlvbiBmb3IgRnJhbWVGbGF0dGVuaW5nIGVudW0uCisK
KyAgICAgICAgKiBwYWdlL1BERkltYWdlQ2FjaGluZ1BvbGljeS5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2NnL1BERkRvY3VtZW50SW1hZ2UuaDoKKyAgICAgICAgUmVtb3ZlIGRlZmF1
bHQgdmFsdWUgZW51bWVyYXRpb24gdmFsdWUgYW5kIHJlcGxhY2UgaXQgd2l0aCBhIHN0YW5kYWxv
bmUgY29uc3RleHByLgorCiAyMDIwLTExLTE3ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5l
ckBhcHBsZS5jb20+CiAKICAgICAgICAgU3BlY3VsYXRpdmUgZml4IGZvciBsb2NhbGl6YWJsZVN0
cmluZ3Muc3RyaW5nIGluIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI2OTkxNCkKKysrIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5
KQpAQCAtMzkyNCw3ICszOTI0LDcgQEAKIAkJQkM0QTUzMkYyNTYwNTdDRDAwMjhDNTkyIC8qIEZv
bnRMb2FkVGltaW5nT3ZlcnJpZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDNEE1MzJFMjU2MDU3Q0QwMDI4QzU5MiAvKiBGb250TG9hZFRpbWluZ092
ZXJyaWRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQkM0QTUzMzEyNTYwNTkwMzAwMjhDNTkyIC8qIEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM0QTUzMzAy
NTYwNTkwMzAwMjhDNTkyIC8qIEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDNEE1MzMzMjU2MDU5ODMw
MDI4QzU5MiAvKiBIVE1MUGFyc2VyU2NyaXB0aW5nRmxhZ1BvbGljeS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM0QTUzMzIyNTYwNTk4MzAwMjhDNTky
IC8qIEhUTUxQYXJzZXJTY3JpcHRpbmdGbGFnUG9saWN5LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQkM0QTUzMzUyNTYwNUE1NjAwMjhDNTkyIC8q
IERhdGFEZXRlY3RvclR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQzRBNTMzNDI1NjA1QTU2MDAyOEM1OTIgLyogRGF0YURldGVjdG9yVHlwZXMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlCQzRB
NTMzNTI1NjA1QTU2MDAyOEM1OTIgLyogRGF0YURldGVjdG9yVHlwZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM0QTUzMzQyNTYwNUE1NjAwMjhDNTky
IC8qIERhdGFEZXRlY3RvclR5cGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlCQzRBNTMzNzI1NjA1QUUxMDAyOEM1OTIgLyogU3RvcmFnZUJsb2Nr
aW5nUG9saWN5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQzRBNTMzNjI1NjA1QUUxMDAyOEM1OTIgLyogU3RvcmFnZUJsb2NraW5nUG9saWN5LmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkM0QTUzMzky
NTYwNjM5ODAwMjhDNTkyIC8qIEZvbnRSZW5kZXJpbmdNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzRBNTMzODI1NjA2Mzk4MDAyOEM1OTIgLyog
Rm9udFJlbmRlcmluZ01vZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlCQzRBNTMzQjI1NjA2NEUxMDAyOEM1OTIgLyogVGV4dERpcmVjdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM0QTUzM0Ey
NTYwNjRFMTAwMjhDNTkyIC8qIFRleHREaXJlY3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTM4NDgsNyArMTM4NDgsNyBAQAogCQlCQzRB
NTMyRTI1NjA1N0NEMDAyOEM1OTIgLyogRm9udExvYWRUaW1pbmdPdmVycmlkZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBGb250TG9hZFRpbWluZ092ZXJyaWRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUJDNEE1MzMwMjU2MDU5MDMwMDI4QzU5MiAvKiBGb3JjZWRBY2Nlc3NpYmlsaXR5VmFs
dWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNEE1MzMyMjU2MDU5ODMwMDI4QzU5MiAvKiBIVE1MUGFy
c2VyU2NyaXB0aW5nRmxhZ1BvbGljeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MUGFyc2VyU2NyaXB0
aW5nRmxhZ1BvbGljeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQzRBNTMzNDI1
NjA1QTU2MDAyOEM1OTIgLyogRGF0YURldGVjdG9yVHlwZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0
YURldGVjdG9yVHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkM0QTUzMzQy
NTYwNUE1NjAwMjhDNTkyIC8qIERhdGFEZXRlY3RvclR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGF0
YURldGVjdG9yVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzRBNTMzNjI1
NjA1QUUxMDAyOEM1OTIgLyogU3RvcmFnZUJsb2NraW5nUG9saWN5LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFN0b3JhZ2VCbG9ja2luZ1BvbGljeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlC
QzRBNTMzODI1NjA2Mzk4MDAyOEM1OTIgLyogRm9udFJlbmRlcmluZ01vZGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRm9udFJlbmRlcmluZ01vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QkM0QTUzM0EyNTYwNjRFMTAwMjhDNTkyIC8qIFRleHREaXJlY3Rpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVGV4dERpcmVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjI1ODIs
NyArMjI1ODIsNyBAQAogCQkJCTVDQ0MyNzA2MjJENTNCNjgwMDk2NEZBMCAvKiBBdXRvZmlsbEVs
ZW1lbnRzLmggKi8sCiAJCQkJQzUyMjdERUYxQzNDNkRENzAwRjVFRDU0IC8qIERhdGFEZXRlY3Rp
b24uaCAqLywKIAkJCQlDNTIyN0RGMDFDM0M2REQ3MDBGNUVENTQgLyogRGF0YURldGVjdGlvbi5t
bSAqLywKLQkJCQlCQzRBNTMzNDI1NjA1QTU2MDAyOEM1OTIgLyogRGF0YURldGVjdG9yVHlwZXMu
aCAqLywKKwkJCQlCQzRBNTMzNDI1NjA1QTU2MDAyOEM1OTIgLyogRGF0YURldGVjdG9yVHlwZS5o
ICovLAogCQkJCTkzN0ZGM0Q2MUExMDEzMUIwMDhFQkEzMSAvKiBEaWN0aW9uYXJ5TG9va3VwLm1t
ICovLAogCQkJCTlCNTVFRUU4MUIzRTg4OTgwMDUzNDJCQyAvKiBFZGl0b3JDb2NvYS5tbSAqLywK
IAkJCQlGNDJDRUI1NDIxNDAzMUVFMDAyRENBNzIgLyogRm9udEF0dHJpYnV0ZUNoYW5nZXNDb2Nv
YS5tbSAqLywKQEAgLTMxNTIyLDcgKzMxNTIyLDcgQEAKIAkJCQlCRTIzNDgwRDE4QTk4NzE0MDBF
NEI2RTggLyogRGF0YUN1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzUyMjdERjExQzNDNkRGMTAw
RjVFRDU0IC8qIERhdGFEZXRlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNzk0MUU1MUM1
NkMyOTMwMEE0QzU4RSAvKiBEYXRhRGV0ZWN0b3JzQ29yZVNvZnRMaW5rLmggaW4gSGVhZGVycyAq
LywKLQkJCQlCQzRBNTMzNTI1NjA1QTU2MDAyOEM1OTIgLyogRGF0YURldGVjdG9yVHlwZXMuaCBp
biBIZWFkZXJzICovLAorCQkJCUJDNEE1MzM1MjU2MDVBNTYwMDI4QzU5MiAvKiBEYXRhRGV0ZWN0
b3JUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNThCNDVCQTIwQUQwN0REMDA5OTEwMjUgLyog
RGF0YUxpc3RCdXR0b25FbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFNTE3NjcwMzIwQjg4
QzE0MDBENDExNjcgLyogRGF0YUxpc3RTdWdnZXN0aW9uSW5mb3JtYXRpb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCUU1MkNGNTRGMjBBMzVBMjgwMERBREEyNyAvKiBEYXRhTGlzdFN1Z2dlc3Rpb25Q
aWNrZXIuaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9Gb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0ZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZS5oCShyZXZpc2lvbiAyNjk5
MTQpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0ZvcmNlZEFjY2Vzc2liaWxpdHlW
YWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxMCArMjcsNiBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWVudW0gY2xhc3MgRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIDogdWludDhfdCB7
Ci0gICAgU3lzdGVtLAotICAgIE9uLAotICAgIE9mZgotfTsKK2VudW0gY2xhc3MgRm9yY2VkQWNj
ZXNzaWJpbGl0eVZhbHVlIDogdWludDhfdCB7IFN5c3RlbSwgT24sIE9mZiB9OwogCiB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBt
CShyZXZpc2lvbiAyNjk5MTQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3IucG0JKHdvcmtpbmcgY29weSkKQEAgLTk3MCw2ICs5NzAsNyBAQCBzdWIgV0tf
dWNmaXJzdAogICAgICRyZXQgPX4gcy9DYmNzL2NiY3MvIGlmICRyZXQgPX4gL15DYmNzLzsKICAg
ICAkcmV0ID1+IHMvUHEvUFEvIGlmICRyZXQgPX4gL15QcSQvOwogICAgICRyZXQgPX4gcy9IbGcv
SExHLyBpZiAkcmV0ID1+IC9eSGxnLzsKKyAgICAkcmV0ID1+IHMvSW9zL0lPUy8gaWYgJHJldCA9
fiAvXklvcy87CiAKICAgICByZXR1cm4gJHJldDsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdGluZ0JlaGF2aW9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRp
dGluZy9FZGl0aW5nQmVoYXZpb3IuaAkocmV2aXNpb24gMjY5OTE0KQorKysgU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0aW5nQmVoYXZpb3IuaAkod29ya2luZyBjb3B5KQpAQCAtNDQsMTkgKzQ0
LDE5IEBAIHB1YmxpYzoKIAogICAgIC8vIE9uIFdpbmRvd3MsIHNlbGVjdGlvbnMgc2hvdWxkIGFs
d2F5cyBiZSBjb25zaWRlcmVkIGFzIGRpcmVjdGlvbmFsLCByZWdhcmRsZXNzIGlmIGl0IGlzCiAg
ICAgLy8gbW91c2UtYmFzZWQgb3Iga2V5Ym9hcmQtYmFzZWQuCi0gICAgYm9vbCBzaG91bGRDb25z
aWRlclNlbGVjdGlvbkFzRGlyZWN0aW9uYWwoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgIT0gRWRp
dGluZ0JlaGF2aW9yVHlwZTo6TWFjICYmIG1fdHlwZSAhPSBFZGl0aW5nQmVoYXZpb3JUeXBlOjpJ
b3M7IH0KKyAgICBib29sIHNob3VsZENvbnNpZGVyU2VsZWN0aW9uQXNEaXJlY3Rpb25hbCgpIGNv
bnN0IHsgcmV0dXJuIG1fdHlwZSAhPSBFZGl0aW5nQmVoYXZpb3JUeXBlOjpNYWMgJiYgbV90eXBl
ICE9IEVkaXRpbmdCZWhhdmlvclR5cGU6OklPUzsgfQogCiAgICAgLy8gT24gTWFjLCB3aGVuIHJl
dmVhbGluZyBhIHNlbGVjdGlvbiAoZm9yIGV4YW1wbGUgYXMgYSByZXN1bHQgb2YgYSBGaW5kIG9w
ZXJhdGlvbiBvbiB0aGUgQnJvd3NlciksCiAgICAgLy8gY29udGVudCBzaG91bGQgYmUgc2Nyb2xs
ZWQgc3VjaCB0aGF0IHRoZSBzZWxlY3Rpb24gZ2V0cyBjZXJ0ZXIgYWxpZ25lZC4KLSAgICBib29s
IHNob3VsZENlbnRlckFsaWduV2hlblNlbGVjdGlvbklzUmV2ZWFsZWQoKSBjb25zdCB7IHJldHVy
biBtX3R5cGUgPT0gRWRpdGluZ0JlaGF2aW9yVHlwZTo6TWFjIHx8IG1fdHlwZSA9PSBFZGl0aW5n
QmVoYXZpb3JUeXBlOjpJb3M7IH0KKyAgICBib29sIHNob3VsZENlbnRlckFsaWduV2hlblNlbGVj
dGlvbklzUmV2ZWFsZWQoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gRWRpdGluZ0JlaGF2aW9y
VHlwZTo6TWFjIHx8IG1fdHlwZSA9PSBFZGl0aW5nQmVoYXZpb3JUeXBlOjpJT1M7IH0KIAogICAg
IC8vIE9uIE1hYywgc3R5bGUgaXMgY29uc2lkZXJlZCBwcmVzZW50IHdoZW4gcHJlc2VudCBhdCB0
aGUgYmVnaW5uaW5nIG9mIHNlbGVjdGlvbi4gT24gb3RoZXIgcGxhdGZvcm1zLAogICAgIC8vIHN0
eWxlIGhhcyB0byBiZSBwcmVzZW50IHRocm91Z2hvdXQgdGhlIHNlbGVjdGlvbi4KLSAgICBib29s
IHNob3VsZFRvZ2dsZVN0eWxlQmFzZWRPblN0YXJ0T2ZTZWxlY3Rpb24oKSBjb25zdCB7IHJldHVy
biBtX3R5cGUgPT0gRWRpdGluZ0JlaGF2aW9yVHlwZTo6TWFjIHx8IG1fdHlwZSA9PSBFZGl0aW5n
QmVoYXZpb3JUeXBlOjpJb3M7IH0KKyAgICBib29sIHNob3VsZFRvZ2dsZVN0eWxlQmFzZWRPblN0
YXJ0T2ZTZWxlY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gRWRpdGluZ0JlaGF2aW9y
VHlwZTo6TWFjIHx8IG1fdHlwZSA9PSBFZGl0aW5nQmVoYXZpb3JUeXBlOjpJT1M7IH0KIAogICAg
IC8vIFN0YW5kYXJkIE1hYyBiZWhhdmlvciB3aGVuIGV4dGVuZGluZyB0byBhIGJvdW5kYXJ5IGlz
IGdyb3cgdGhlIHNlbGVjdGlvbiByYXRoZXIgdGhhbiBsZWF2aW5nIHRoZSBiYXNlCiAgICAgLy8g
aW4gcGxhY2UgYW5kIG1vdmluZyB0aGUgZXh0ZW50LiBNYXRjaGVzIE5TVGV4dFZpZXcuCi0gICAg
Ym9vbCBzaG91bGRBbHdheXNHcm93U2VsZWN0aW9uV2hlbkV4dGVuZGluZ1RvQm91bmRhcnkoKSBj
b25zdCB7IHJldHVybiBtX3R5cGUgPT0gRWRpdGluZ0JlaGF2aW9yVHlwZTo6TWFjIHx8IG1fdHlw
ZSA9PSBFZGl0aW5nQmVoYXZpb3JUeXBlOjpJb3M7IH0KKyAgICBib29sIHNob3VsZEFsd2F5c0dy
b3dTZWxlY3Rpb25XaGVuRXh0ZW5kaW5nVG9Cb3VuZGFyeSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlw
ZSA9PSBFZGl0aW5nQmVoYXZpb3JUeXBlOjpNYWMgfHwgbV90eXBlID09IEVkaXRpbmdCZWhhdmlv
clR5cGU6OklPUzsgfQogCiAgICAgLy8gT24gTWFjLCB3aGVuIHByb2Nlc3NpbmcgYSBjb250ZXh0
dWFsIGNsaWNrLCB0aGUgb2JqZWN0IGJlaW5nIGNsaWNrZWQgdXBvbiBzaG91bGQgYmUgc2VsZWN0
ZWQuCiAgICAgYm9vbCBzaG91bGRTZWxlY3RPbkNvbnRleHR1YWxNZW51Q2xpY2soKSBjb25zdCB7
IHJldHVybiBtX3R5cGUgPT0gRWRpdGluZ0JlaGF2aW9yVHlwZTo6TWFjOyB9CkBAIC03Niw3ICs3
Niw3IEBAIHB1YmxpYzoKICAgICAvLyBPbiBNYWMsIHNlbGVjdGluZyBiYWNrd2FyZHMgYnkgd29y
ZC9saW5lIGZyb20gdGhlIG1pZGRsZSBvZiBhIHdvcmQvbGluZSwgYW5kIHRoZW4gZ29pbmcKICAg
ICAvLyBmb3J3YXJkIGxlYXZlcyB0aGUgY2FyZXQgYmFjayBpbiB0aGUgbWlkZGxlIHdpdGggbm8g
c2VsZWN0aW9uLCBpbnN0ZWFkIG9mIGRpcmVjdGx5IHNlbGVjdGluZwogICAgIC8vIHRvIHRoZSBv
dGhlciBlbmQgb2YgdGhlIGxpbmUvd29yZCAoVW5peC9XaW5kb3dzIGJlaGF2aW9yKS4KLSAgICBi
b29sIHNob3VsZEV4dGVuZFNlbGVjdGlvbkJ5V29yZE9yTGluZUFjcm9zc0NhcmV0KCkgY29uc3Qg
eyByZXR1cm4gbV90eXBlICE9IEVkaXRpbmdCZWhhdmlvclR5cGU6Ok1hYyAmJiBtX3R5cGUgIT0g
RWRpdGluZ0JlaGF2aW9yVHlwZTo6SW9zOyB9CisgICAgYm9vbCBzaG91bGRFeHRlbmRTZWxlY3Rp
b25CeVdvcmRPckxpbmVBY3Jvc3NDYXJldCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSAhPSBFZGl0
aW5nQmVoYXZpb3JUeXBlOjpNYWMgJiYgbV90eXBlICE9IEVkaXRpbmdCZWhhdmlvclR5cGU6OklP
UzsgfQogCiAgICAgLy8gQmFzZWQgb24gbmF0aXZlIGJlaGF2aW9yLCB3aGVuIHVzaW5nIGN0cmwo
YWx0KSthcnJvdyB0byBtb3ZlIGNhcmV0IGJ5IHdvcmQsIGN0cmwoYWx0KStsZWZ0IGFycm93IG1v
dmVzIGNhcmV0IHRvCiAgICAgLy8gaW1tZWRpYXRlbHkgYmVmb3JlIHRoZSB3b3JkIGluIGFsbCBw
bGF0Zm9ybXMsIGZvciBleGFtcGxlLCB0aGUgd29yZCBicmVhayBwb3NpdGlvbnMgYXJlOiAifGFi
YyB8ZGVmIHxoaWogfG9wcSIuCkBAIC04NSwyMSArODUsMjEgQEAgcHVibGljOgogCiAgICAgLy8g
T24gaU9TIHRoZSBsYXN0IGVudGVyZWQgY2hhcmFjdGVyIGluIGEgc2VjdXJlIGZpbGVkIGlzIHNo
b3duIG1vbWVudGFyaWx5LCByZW1vdmluZyBhbmQgYWRkaW5nIGJhY2sgdGhlCiAgICAgLy8gc3Bh
Y2Ugd2hlbiBkZWxldGluZyBwYXNzd29yZCBjYXVzZSBzcGFjZSBiZWVuIHNob3dlZCBpbnNlY3Vy
ZWx5LgotICAgIGJvb2wgc2hvdWxkUmViYWxhbmNlV2hpdGVTcGFjZXNJblNlY3VyZUZpZWxkKCkg
Y29uc3QgeyByZXR1cm4gbV90eXBlICE9IEVkaXRpbmdCZWhhdmlvclR5cGU6OklvczsgfQorICAg
IGJvb2wgc2hvdWxkUmViYWxhbmNlV2hpdGVTcGFjZXNJblNlY3VyZUZpZWxkKCkgY29uc3QgeyBy
ZXR1cm4gbV90eXBlICE9IEVkaXRpbmdCZWhhdmlvclR5cGU6OklPUzsgfQogCiAgICAgYm9vbCBz
aG91bGRTZWxlY3RCYXNlZE9uRGljdGlvbmFyeUxvb2t1cCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlw
ZSA9PSBFZGl0aW5nQmVoYXZpb3JUeXBlOjpNYWM7IH0KIAogICAgIC8vIExpbnV4IGFuZCBXaW5k
b3dzIGFsd2F5cyBleHRlbmQgc2VsZWN0aW9ucyBmcm9tIHRoZSBleHRlbnQgZW5kcG9pbnQuCi0g
ICAgYm9vbCBzaG91bGRBbHdheXNFeHRlbmRTZWxlY3Rpb25Gcm9tRXh0ZW50RW5kcG9pbnQoKSBj
b25zdCB7IHJldHVybiBtX3R5cGUgIT0gRWRpdGluZ0JlaGF2aW9yVHlwZTo6TWFjICYmIG1fdHlw
ZSAhPSBFZGl0aW5nQmVoYXZpb3JUeXBlOjpJb3M7IH0KKyAgICBib29sIHNob3VsZEFsd2F5c0V4
dGVuZFNlbGVjdGlvbkZyb21FeHRlbnRFbmRwb2ludCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSAh
PSBFZGl0aW5nQmVoYXZpb3JUeXBlOjpNYWMgJiYgbV90eXBlICE9IEVkaXRpbmdCZWhhdmlvclR5
cGU6OklPUzsgfQogCiAgICAgLy8gT24gaU9TLCB3ZSBkb24ndCB3YW50IHRvIHNlbGVjdCBhbGwg
dGhlIHRleHQgd2hlbiBmb2N1c2luZyBhIGZpZWxkLiBJbnN0ZWFkLCBtYXRjaCBwbGF0Zm9ybSBi
ZWhhdmlvciBieSBnb2luZyB0byB0aGUgZW5kIG9mIHRoZSBsaW5lLgotICAgIGJvb2wgc2hvdWxk
TW92ZVNlbGVjdGlvblRvRW5kV2hlbkZvY3VzaW5nVGV4dElucHV0KCkgY29uc3QgeyByZXR1cm4g
bV90eXBlID09IEVkaXRpbmdCZWhhdmlvclR5cGU6OklvczsgfQorICAgIGJvb2wgc2hvdWxkTW92
ZVNlbGVjdGlvblRvRW5kV2hlbkZvY3VzaW5nVGV4dElucHV0KCkgY29uc3QgeyByZXR1cm4gbV90
eXBlID09IEVkaXRpbmdCZWhhdmlvclR5cGU6OklPUzsgfQogICAgIAogICAgIC8vIE9uIGlPUywg
d2hlbiBzbWFydCBkZWxldGUgaXMgb24sIGl0IGlzIGFsd2F5cyBvbiwgYW5kIHNob3VsZCBkbyBu
b3QgYWRkaXRpb25hbCBjaGVja3MgKGkuZS4gVGV4dEdyYW51bGFyaXR5OjpXb3JkR3JhbnVsYXJp
dHkpLgotICAgIGJvb2wgc2hvdWxkQWx3YXlzU21hcnREZWxldGUoKSBjb25zdCB7IHJldHVybiBt
X3R5cGUgPT0gRWRpdGluZ0JlaGF2aW9yVHlwZTo6SW9zOyB9CisgICAgYm9vbCBzaG91bGRBbHdh
eXNTbWFydERlbGV0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBFZGl0aW5nQmVoYXZpb3JU
eXBlOjpJT1M7IH0KICAgICAKICAgICAvLyBPbiBpT1MsIHdlIHNob3VsZCB0dXJuIG9uIHNtYXJ0
IGluc2VydCBhbmQgZGVsZXRlIGFuZCBuZXdsaW5lcyBhcm91bmQgcGFyYWdyYXBocyB0byBtYXRj
aCBVSUtpdCBiZWhhdmlvdXIuCi0gICAgYm9vbCBzaG91bGRTbWFydEluc2VydERlbGV0ZVBhcmFn
cmFwaHMoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gRWRpdGluZ0JlaGF2aW9yVHlwZTo6SW9z
OyB9CisgICAgYm9vbCBzaG91bGRTbWFydEluc2VydERlbGV0ZVBhcmFncmFwaHMoKSBjb25zdCB7
IHJldHVybiBtX3R5cGUgPT0gRWRpdGluZ0JlaGF2aW9yVHlwZTo6SU9TOyB9CiAKIHByaXZhdGU6
CiAgICAgRWRpdGluZ0JlaGF2aW9yVHlwZSBtX3R5cGU7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL0VkaXRpbmdCZWhhdmlvclR5cGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRpbmdCZWhhdmlvclR5cGUuaAkocmV2aXNpb24gMjY5OTE0KQorKysgU291
cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQmVoYXZpb3JUeXBlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTM5LDcgKzM5LDcgQEAgZW51bSBjbGFzcyBFZGl0aW5nQmVoYXZpb3JUeXBlIDogdWludDhf
dAogICAgIE1hYywKICAgICBXaW5kb3dzLAogICAgIFVuaXgsCi0gICAgSW9zCisgICAgSU9TLAog
fTsKIAogfSAvLyBXZWJDb3JlIG5hbWVzcGFjZQpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9jb2NvYS9EYXRhRGV0ZWN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRp
dGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLmgJKHJldmlzaW9uIDI2OTkxNCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvY29jb2EvRGF0YURldGVjdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
Nyw3ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCiAKLSNpbXBvcnQgIkRh
dGFEZXRlY3RvclR5cGVzLmgiCisjaW1wb3J0ICJEYXRhRGV0ZWN0b3JUeXBlLmgiCiAjaW1wb3J0
ICJGbG9hdFJlY3QuaCIKICNpbXBvcnQgIlNpbXBsZVJhbmdlLmgiCiAjaW1wb3J0IDx3dGYvT3B0
aW9uU2V0Lmg+CkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShNQUMpCiAg
ICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIE9wdGlvbmFsPERldGVjdGVkSXRlbT4gZGV0ZWN0SXRl
bUFyb3VuZEhpdFRlc3RSZXN1bHQoY29uc3QgSGl0VGVzdFJlc3VsdCYpOwogI2VuZGlmCi0gICAg
V0VCQ09SRV9FWFBPUlQgc3RhdGljIE5TQXJyYXkgKmRldGVjdENvbnRlbnRJblJhbmdlKGNvbnN0
IFNpbXBsZVJhbmdlJiwgT3B0aW9uU2V0PERhdGFEZXRlY3RvclR5cGVzPiwgTlNEaWN0aW9uYXJ5
ICpjb250ZXh0KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgTlNBcnJheSAqZGV0ZWN0Q29u
dGVudEluUmFuZ2UoY29uc3QgU2ltcGxlUmFuZ2UmLCBPcHRpb25TZXQ8RGF0YURldGVjdG9yVHlw
ZT4sIE5TRGljdGlvbmFyeSAqY29udGV4dCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZv
aWQgcmVtb3ZlRGF0YURldGVjdGVkTGlua3NJbkRvY3VtZW50KERvY3VtZW50Jik7CiAjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBjYW5CZVBy
ZXNlbnRlZEJ5RGF0YURldGVjdG9ycyhjb25zdCBVUkwmKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvY29jb2EvRGF0YURldGVjdGlvbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24ubW0JKHJldmlzaW9uIDI2OTkxNCkKKysr
IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRGF0YURldGVjdGlvbi5tbQkod29ya2luZyBj
b3B5KQpAQCAtMjE4LDI0ICsyMTgsMjQgQEAgc3RhdGljIEJPT0wgcmVzdWx0SXNVUkwoRERSZXN1
bHRSZWYgcmVzdQogICAgIHJldHVybiBbdXJsVHlwZXMgY29udGFpbnNPYmplY3Q6KE5TU3RyaW5n
ICopc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRHZXRUeXBlKHJlc3VsdCldOwog
fQogCi1zdGF0aWMgTlNTdHJpbmcgKmNvbnN0cnVjdFVSTFN0cmluZ0ZvclJlc3VsdChERFJlc3Vs
dFJlZiBjdXJyZW50UmVzdWx0LCBOU1N0cmluZyAqcmVzdWx0SWRlbnRpZmllciwgTlNEYXRlICpy
ZWZlcmVuY2VEYXRlLCBOU1RpbWVab25lICpyZWZlcmVuY2VUaW1lWm9uZSwgT3B0aW9uU2V0PERh
dGFEZXRlY3RvclR5cGVzPiBkZXRlY3Rpb25UeXBlcykKK3N0YXRpYyBOU1N0cmluZyAqY29uc3Ry
dWN0VVJMU3RyaW5nRm9yUmVzdWx0KEREUmVzdWx0UmVmIGN1cnJlbnRSZXN1bHQsIE5TU3RyaW5n
ICpyZXN1bHRJZGVudGlmaWVyLCBOU0RhdGUgKnJlZmVyZW5jZURhdGUsIE5TVGltZVpvbmUgKnJl
ZmVyZW5jZVRpbWVab25lLCBPcHRpb25TZXQ8RGF0YURldGVjdG9yVHlwZT4gZGV0ZWN0aW9uVHlw
ZXMpCiB7CiAgICAgaWYgKCFzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFJlc3VsdEhhc1By
b3BlcnRpZXMoY3VycmVudFJlc3VsdCwgRERSZXN1bHRQcm9wZXJ0eVBhc3NpdmVEaXNwbGF5KSkK
ICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIGF1dG8gcGhvbmVUeXBlcyA9IGRldGVjdGlvblR5
cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5cGVzOjpQaG9uZU51bWJlcikgPyBERFVSTGlmaWVy
UGhvbmVOdW1iZXJEZXRlY3Rpb25SZWd1bGFyIDogRERVUkxpZmllclBob25lTnVtYmVyRGV0ZWN0
aW9uTm9uZTsKKyAgICBhdXRvIHBob25lVHlwZXMgPSBkZXRlY3Rpb25UeXBlcy5jb250YWlucyhE
YXRhRGV0ZWN0b3JUeXBlOjpQaG9uZU51bWJlcikgPyBERFVSTGlmaWVyUGhvbmVOdW1iZXJEZXRl
Y3Rpb25SZWd1bGFyIDogRERVUkxpZmllclBob25lTnVtYmVyRGV0ZWN0aW9uTm9uZTsKICAgICBh
dXRvIGNhdGVnb3J5ID0gc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRHZXRDYXRl
Z29yeShjdXJyZW50UmVzdWx0KTsKICAgICBhdXRvIHR5cGUgPSBzb2Z0TGlua19EYXRhRGV0ZWN0
b3JzQ29yZV9ERFJlc3VsdEdldFR5cGUoY3VycmVudFJlc3VsdCk7CiAKLSAgICBpZiAoKGRldGVj
dGlvblR5cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5cGVzOjpBZGRyZXNzKSAmJiBERFJlc3Vs
dENhdGVnb3J5QWRkcmVzcyA9PSBjYXRlZ29yeSkKLSAgICAgICAgfHwgKGRldGVjdGlvblR5cGVz
LmNvbnRhaW5zKERhdGFEZXRlY3RvclR5cGVzOjpUcmFja2luZ051bWJlcikgJiYgQ0ZFcXVhbChn
ZXRfRGF0YURldGVjdG9yc0NvcmVfRERCaW5kZXJUcmFja2luZ051bWJlcktleSgpLCB0eXBlKSkK
LSAgICAgICAgfHwgKGRldGVjdGlvblR5cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5cGVzOjpG
bGlnaHROdW1iZXIpICYmIENGRXF1YWwoZ2V0X0RhdGFEZXRlY3RvcnNDb3JlX0REQmluZGVyRmxp
Z2h0SW5mb3JtYXRpb25LZXkoKSwgdHlwZSkpCi0gICAgICAgIHx8IChkZXRlY3Rpb25UeXBlcy5j
b250YWlucyhEYXRhRGV0ZWN0b3JUeXBlczo6TG9va3VwU3VnZ2VzdGlvbikgJiYgQ0ZFcXVhbChn
ZXRfRGF0YURldGVjdG9yc0NvcmVfRERCaW5kZXJQYXJzZWNTb3VyY2VLZXkoKSwgdHlwZSkpCi0g
ICAgICAgIHx8IChkZXRlY3Rpb25UeXBlcy5jb250YWlucyhEYXRhRGV0ZWN0b3JUeXBlczo6UGhv
bmVOdW1iZXIpICYmIEREUmVzdWx0Q2F0ZWdvcnlQaG9uZU51bWJlciA9PSBjYXRlZ29yeSkKLSAg
ICAgICAgfHwgKGRldGVjdGlvblR5cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5cGVzOjpMaW5r
KSAmJiByZXN1bHRJc1VSTChjdXJyZW50UmVzdWx0KSkpIHsKKyAgICBpZiAoKGRldGVjdGlvblR5
cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5cGU6OkFkZHJlc3MpICYmIEREUmVzdWx0Q2F0ZWdv
cnlBZGRyZXNzID09IGNhdGVnb3J5KQorICAgICAgICB8fCAoZGV0ZWN0aW9uVHlwZXMuY29udGFp
bnMoRGF0YURldGVjdG9yVHlwZTo6VHJhY2tpbmdOdW1iZXIpICYmIENGRXF1YWwoZ2V0X0RhdGFE
ZXRlY3RvcnNDb3JlX0REQmluZGVyVHJhY2tpbmdOdW1iZXJLZXkoKSwgdHlwZSkpCisgICAgICAg
IHx8IChkZXRlY3Rpb25UeXBlcy5jb250YWlucyhEYXRhRGV0ZWN0b3JUeXBlOjpGbGlnaHROdW1i
ZXIpICYmIENGRXF1YWwoZ2V0X0RhdGFEZXRlY3RvcnNDb3JlX0REQmluZGVyRmxpZ2h0SW5mb3Jt
YXRpb25LZXkoKSwgdHlwZSkpCisgICAgICAgIHx8IChkZXRlY3Rpb25UeXBlcy5jb250YWlucyhE
YXRhRGV0ZWN0b3JUeXBlOjpMb29rdXBTdWdnZXN0aW9uKSAmJiBDRkVxdWFsKGdldF9EYXRhRGV0
ZWN0b3JzQ29yZV9EREJpbmRlclBhcnNlY1NvdXJjZUtleSgpLCB0eXBlKSkKKyAgICAgICAgfHwg
KGRldGVjdGlvblR5cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5cGU6OlBob25lTnVtYmVyKSAm
JiBERFJlc3VsdENhdGVnb3J5UGhvbmVOdW1iZXIgPT0gY2F0ZWdvcnkpCisgICAgICAgIHx8IChk
ZXRlY3Rpb25UeXBlcy5jb250YWlucyhEYXRhRGV0ZWN0b3JUeXBlOjpMaW5rKSAmJiByZXN1bHRJ
c1VSTChjdXJyZW50UmVzdWx0KSkpIHsKICAgICAgICAgcmV0dXJuIHNvZnRMaW5rX0RhdGFEZXRl
Y3RvcnNDb3JlX0REVVJMU3RyaW5nRm9yUmVzdWx0KGN1cnJlbnRSZXN1bHQsIHJlc3VsdElkZW50
aWZpZXIsIHBob25lVHlwZXMsIHJlZmVyZW5jZURhdGUsIHJlZmVyZW5jZVRpbWVab25lKTsKICAg
ICB9Ci0gICAgaWYgKGRldGVjdGlvblR5cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5cGVzOjpD
YWxlbmRhckV2ZW50KSAmJiBERFJlc3VsdENhdGVnb3J5Q2FsZW5kYXJFdmVudCA9PSBjYXRlZ29y
eSkgeworICAgIGlmIChkZXRlY3Rpb25UeXBlcy5jb250YWlucyhEYXRhRGV0ZWN0b3JUeXBlOjpD
YWxlbmRhckV2ZW50KSAmJiBERFJlc3VsdENhdGVnb3J5Q2FsZW5kYXJFdmVudCA9PSBjYXRlZ29y
eSkgewogICAgICAgICBpZiAoIXNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REUmVzdWx0SXNQ
YXN0RGF0ZShjdXJyZW50UmVzdWx0LCAoQ0ZEYXRlUmVmKXJlZmVyZW5jZURhdGUsIChDRlRpbWVa
b25lUmVmKXJlZmVyZW5jZVRpbWVab25lKSkKICAgICAgICAgICAgIHJldHVybiBzb2Z0TGlua19E
YXRhRGV0ZWN0b3JzQ29yZV9ERFVSTFN0cmluZ0ZvclJlc3VsdChjdXJyZW50UmVzdWx0LCByZXN1
bHRJZGVudGlmaWVyLCBwaG9uZVR5cGVzLCByZWZlcmVuY2VEYXRlLCByZWZlcmVuY2VUaW1lWm9u
ZSk7CiAgICAgfQpAQCAtNDMzLDEzICs0MzMsMTMgQEAgdm9pZCBEYXRhRGV0ZWN0aW9uOjpyZW1v
dmVEYXRhRGV0ZWN0ZWRMaQogICAgICAgICByZW1vdmVSZXN1bHRMaW5rc0Zyb21BbmNob3IoYW5j
aG9yLmdldCgpKTsKIH0KIAotTlNBcnJheSAqRGF0YURldGVjdGlvbjo6ZGV0ZWN0Q29udGVudElu
UmFuZ2UoY29uc3QgU2ltcGxlUmFuZ2UmIGNvbnRleHRSYW5nZSwgT3B0aW9uU2V0PERhdGFEZXRl
Y3RvclR5cGVzPiB0eXBlcywgTlNEaWN0aW9uYXJ5ICpjb250ZXh0KQorTlNBcnJheSAqRGF0YURl
dGVjdGlvbjo6ZGV0ZWN0Q29udGVudEluUmFuZ2UoY29uc3QgU2ltcGxlUmFuZ2UmIGNvbnRleHRS
YW5nZSwgT3B0aW9uU2V0PERhdGFEZXRlY3RvclR5cGU+IHR5cGVzLCBOU0RpY3Rpb25hcnkgKmNv
bnRleHQpCiB7CiAgICAgYXV0byBzY2FubmVyID0gYWRvcHRDRihzb2Z0TGlua19EYXRhRGV0ZWN0
b3JzQ29yZV9ERFNjYW5uZXJDcmVhdGUoRERTY2FubmVyVHlwZVN0YW5kYXJkLCAwLCBudWxscHRy
KSk7CiAgICAgYXV0byBzY2FuUXVlcnkgPSBhZG9wdENGKHNvZnRMaW5rX0RhdGFEZXRlY3RvcnND
b3JlX0REU2NhblF1ZXJ5Q3JlYXRlKE5VTEwpKTsKICAgICBidWlsZFF1ZXJ5KHNjYW5RdWVyeS5n
ZXQoKSwgY29udGV4dFJhbmdlKTsKICAgICAKLSAgICBpZiAodHlwZXMuY29udGFpbnMoRGF0YURl
dGVjdG9yVHlwZXM6Okxvb2t1cFN1Z2dlc3Rpb24pKQorICAgIGlmICh0eXBlcy5jb250YWlucyhE
YXRhRGV0ZWN0b3JUeXBlOjpMb29rdXBTdWdnZXN0aW9uKSkKICAgICAgICAgc29mdExpbmtfRGF0
YURldGVjdG9yc0NvcmVfRERTY2FubmVyRW5hYmxlT3B0aW9uYWxTb3VyY2Uoc2Nhbm5lci5nZXQo
KSwgRERTY2FubmVyU291cmNlU3BvdGxpZ2h0LCB0cnVlKTsKIAogICAgIC8vIEZJWE1FOiB3ZSBz
aG91bGQgYWRkIGEgdGltZW91dCB0byB0aGlzIGNhbGwgdG8gbWFrZSBzdXJlIGl0IGRvZXNuJ3Qg
dGFrZSB0b28gbXVjaCB0aW1lLgpAQCAtNjMyLDcgKzYzMiw3IEBAIE5TQXJyYXkgKkRhdGFEZXRl
Y3Rpb246OmRldGVjdENvbnRlbnRJblIKIAogI2Vsc2UKIAotTlNBcnJheSAqRGF0YURldGVjdGlv
bjo6ZGV0ZWN0Q29udGVudEluUmFuZ2UoY29uc3QgU2ltcGxlUmFuZ2UmLCBPcHRpb25TZXQ8RGF0
YURldGVjdG9yVHlwZXM+LCBOU0RpY3Rpb25hcnkgKikKK05TQXJyYXkgKkRhdGFEZXRlY3Rpb246
OmRldGVjdENvbnRlbnRJblJhbmdlKGNvbnN0IFNpbXBsZVJhbmdlJiwgT3B0aW9uU2V0PERhdGFE
ZXRlY3RvclR5cGU+LCBOU0RpY3Rpb25hcnkgKikKIHsKICAgICByZXR1cm4gbmlsOwogfQpJbmRl
eDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0b3JUeXBlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0b3JUeXBlLmgJ
KG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0
b3JUeXBlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKQorCisjaW5jbHVkZSA8d3Rm
L0VudW1UcmFpdHMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIERhdGFE
ZXRlY3RvclR5cGUgOiB1aW50OF90IHsKKyAgICBOb25lID0gMCwKKyAgICBQaG9uZU51bWJlciA9
IDEgPDwgMCwKKyAgICBMaW5rID0gMSA8PCAxLAorICAgIEFkZHJlc3MgPSAxIDw8IDIsCisgICAg
Q2FsZW5kYXJFdmVudCA9IDEgPDwgMywKKyAgICBUcmFja2luZ051bWJlciA9IDEgPDwgNCwKKyAg
ICBGbGlnaHROdW1iZXIgPSAxIDw8IDUsCisgICAgTG9va3VwU3VnZ2VzdGlvbiA9IDEgPDwgNiwK
K307CisKK30KKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFp
dHM8V2ViQ29yZTo6RGF0YURldGVjdG9yVHlwZT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1W
YWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OkRhdGFEZXRlY3RvclR5cGUsCisgICAgICAgIFdlYkNv
cmU6OkRhdGFEZXRlY3RvclR5cGU6Ok5vbmUsCisgICAgICAgIFdlYkNvcmU6OkRhdGFEZXRlY3Rv
clR5cGU6OlBob25lTnVtYmVyLAorICAgICAgICBXZWJDb3JlOjpEYXRhRGV0ZWN0b3JUeXBlOjpM
aW5rLAorICAgICAgICBXZWJDb3JlOjpEYXRhRGV0ZWN0b3JUeXBlOjpBZGRyZXNzLAorICAgICAg
ICBXZWJDb3JlOjpEYXRhRGV0ZWN0b3JUeXBlOjpDYWxlbmRhckV2ZW50LAorICAgICAgICBXZWJD
b3JlOjpEYXRhRGV0ZWN0b3JUeXBlOjpUcmFja2luZ051bWJlciwKKyAgICAgICAgV2ViQ29yZTo6
RGF0YURldGVjdG9yVHlwZTo6RmxpZ2h0TnVtYmVyLAorICAgICAgICBXZWJDb3JlOjpEYXRhRGV0
ZWN0b3JUeXBlOjpMb29rdXBTdWdnZXN0aW9uCisgICAgPjsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdURgorCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvRGF0YURl
dGVjdG9yVHlwZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29h
L0RhdGFEZXRlY3RvclR5cGVzLmgJKHJldmlzaW9uIDI2OTkxNCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvY29jb2EvRGF0YURldGVjdG9yVHlwZXMuaAkobm9uZXhpc3RlbnQpCkBAIC0xLDY1
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
Ci0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgot
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShEQVRBX0RF
VEVDVElPTikKLQotI2luY2x1ZGUgPHd0Zi9FbnVtVHJhaXRzLmg+Ci0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotZW51bSBjbGFzcyBEYXRhRGV0ZWN0b3JUeXBlcyA6IHVpbnQ4X3QgewotICAgIE5v
bmUgPSAwLAotICAgIFBob25lTnVtYmVyID0gMSA8PCAwLAotICAgIExpbmsgPSAxIDw8IDEsCi0g
ICAgQWRkcmVzcyA9IDEgPDwgMiwKLSAgICBDYWxlbmRhckV2ZW50ID0gMSA8PCAzLAotICAgIFRy
YWNraW5nTnVtYmVyID0gMSA8PCA0LAotICAgIEZsaWdodE51bWJlciA9IDEgPDwgNSwKLSAgICBM
b29rdXBTdWdnZXN0aW9uID0gMSA8PCA2LAotfTsKLQotfQotCi1uYW1lc3BhY2UgV1RGIHsKLQot
dGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpEYXRhRGV0ZWN0b3JUeXBlcz4g
ewotICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8Ci0gICAgICAgIFdlYkNvcmU6OkRhdGFE
ZXRlY3RvclR5cGVzLAotICAgICAgICBXZWJDb3JlOjpEYXRhRGV0ZWN0b3JUeXBlczo6Tm9uZSwK
LSAgICAgICAgV2ViQ29yZTo6RGF0YURldGVjdG9yVHlwZXM6OlBob25lTnVtYmVyLAotICAgICAg
ICBXZWJDb3JlOjpEYXRhRGV0ZWN0b3JUeXBlczo6TGluaywKLSAgICAgICAgV2ViQ29yZTo6RGF0
YURldGVjdG9yVHlwZXM6OkFkZHJlc3MsCi0gICAgICAgIFdlYkNvcmU6OkRhdGFEZXRlY3RvclR5
cGVzOjpDYWxlbmRhckV2ZW50LAotICAgICAgICBXZWJDb3JlOjpEYXRhRGV0ZWN0b3JUeXBlczo6
VHJhY2tpbmdOdW1iZXIsCi0gICAgICAgIFdlYkNvcmU6OkRhdGFEZXRlY3RvclR5cGVzOjpGbGln
aHROdW1iZXIsCi0gICAgICAgIFdlYkNvcmU6OkRhdGFEZXRlY3RvclR5cGVzOjpMb29rdXBTdWdn
ZXN0aW9uCi0gICAgPjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdURgotCi0jZW5kaWYKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCShyZXZpc2lvbiAyNjk5
MTQpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjE5LDggKzIxOSw3IEBAIHZvaWQgSFRNTEFuY2hvckVsZW1lbnQ6OnNldEFj
dGl2ZShib29sIGQKICAgICAgICAgY2FzZSBFZGl0YWJsZUxpbmtCZWhhdmlvcjo6QWx3YXlzTGl2
ZToKICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIC8vIERvbid0IHNldCB0aGUgbGluayB0
byBiZSBhY3RpdmUgaWYgdGhlIGN1cnJlbnQgc2VsZWN0aW9uIGlzIGluIHRoZSBzYW1lIGVkaXRh
YmxlIGJsb2NrIGFzCi0gICAgICAgIC8vIHRoaXMgbGluaworICAgICAgICAvLyBEb24ndCBzZXQg
dGhlIGxpbmsgdG8gYmUgYWN0aXZlIGlmIHRoZSBjdXJyZW50IHNlbGVjdGlvbiBpcyBpbiB0aGUg
c2FtZSBlZGl0YWJsZSBibG9jayBhcyB0aGlzIGxpbmsuCiAgICAgICAgIGNhc2UgRWRpdGFibGVM
aW5rQmVoYXZpb3I6OkxpdmVXaGVuTm90Rm9jdXNlZDoKICAgICAgICAgICAgIGlmIChkb3duICYm
IGRvY3VtZW50KCkuZnJhbWUoKSAmJiBkb2N1bWVudCgpLmZyYW1lKCktPnNlbGVjdGlvbigpLnNl
bGVjdGlvbigpLnJvb3RFZGl0YWJsZUVsZW1lbnQoKSA9PSByb290RWRpdGFibGVFbGVtZW50KCkp
CiAgICAgICAgICAgICAgICAgcmV0dXJuOwpJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuY3BwCShyZXZpc2lvbiAyNjk5MTQpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTgwLDcgKzI1ODAsNyBAQCB2b2lkIEZy
YW1lTG9hZGVyOjpjaGVja0xvYWRDb21wbGV0ZUZvclRoCiAgICAgICAgICAgICAgICAgRlJBTUVM
T0FERVJfUkVMRUFTRV9MT0dfSUZfQUxMT1dFRChSZXNvdXJjZUxvYWRpbmcsICJjaGVja0xvYWRD
b21wbGV0ZUZvclRoaXNGcmFtZTogRmluaXNoZWQgZnJhbWUgbG9hZCIpOwogI2lmIEVOQUJMRShE
QVRBX0RFVEVDVElPTikKICAgICAgICAgICAgICAgICBhdXRvIGRvY3VtZW50ID0gbV9mcmFtZS5k
b2N1bWVudCgpOwotICAgICAgICAgICAgICAgIGF1dG8gdHlwZXMgPSBPcHRpb25TZXQ8RGF0YURl
dGVjdG9yVHlwZXM+IHsgbV9mcmFtZS5zZXR0aW5ncygpLmRhdGFEZXRlY3RvclR5cGVzKCkgfTsK
KyAgICAgICAgICAgICAgICBhdXRvIHR5cGVzID0gT3B0aW9uU2V0PERhdGFEZXRlY3RvclR5cGU+
IHsgbV9mcmFtZS5zZXR0aW5ncygpLmRhdGFEZXRlY3RvclR5cGVzKCkgfTsKICAgICAgICAgICAg
ICAgICBpZiAoZG9jdW1lbnQgJiYgdHlwZXMpIHsKICAgICAgICAgICAgICAgICAgICAgbV9mcmFt
ZS5zZXREYXRhRGV0ZWN0aW9uUmVzdWx0cyhEYXRhRGV0ZWN0aW9uOjpkZXRlY3RDb250ZW50SW5S
YW5nZShtYWtlUmFuZ2VTZWxlY3RpbmdOb2RlQ29udGVudHMoKmRvY3VtZW50KSwgdHlwZXMsIG1f
Y2xpZW50LT5kYXRhRGV0ZWN0aW9uQ29udGV4dCgpKSk7CiAgICAgICAgICAgICAgICAgICAgIGlm
IChtX2ZyYW1lLmlzTWFpbkZyYW1lKCkpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
CShyZXZpc2lvbiAyNjk5MTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIK
ICNpbmNsdWRlICJGb2N1c0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1
ZGUgIkZyYW1lRmxhdHRlbmluZy5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVk
ZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJGcmFtZVNlbGVjdGlvbi5oIgpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCShyZXZpc2lvbiAyNjk5MTQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAj
aW5jbHVkZSAiQWRqdXN0Vmlld1NpemVPck5vdC5oIgogI2luY2x1ZGUgIkNvbG9yLmgiCiAjaW5j
bHVkZSAiQ29udGFpbmVyTm9kZS5oIgotI2luY2x1ZGUgIkZyYW1lRmxhdHRlbmluZy5oIgogI2lu
Y2x1ZGUgIkZyYW1lVmlld0xheW91dENvbnRleHQuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRl
eHQuaCIKICNpbmNsdWRlICJMYXlvdXRNaWxlc3RvbmUuaCIKQEAgLTgxLDYgKzgwLDggQEAgY2xh
c3MgVmlldzsKIH0KICNlbmRpZgogCitlbnVtIGNsYXNzIEZyYW1lRmxhdHRlbmluZyA6IHVpbnQ4
X3Q7CisKIFBhZ2luYXRpb246Ok1vZGUgcGFnaW5hdGlvbk1vZGVGb3JSZW5kZXJTdHlsZShjb25z
dCBSZW5kZXJTdHlsZSYpOwogCiBjbGFzcyBGcmFtZVZpZXcgZmluYWwgOiBwdWJsaWMgU2Nyb2xs
VmlldyB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BERkltYWdlQ2FjaGluZ1BvbGljeS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUERGSW1hZ2VDYWNoaW5nUG9saWN5
LmgJKHJldmlzaW9uIDI2OTkxNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUERGSW1hZ2VDYWNo
aW5nUG9saWN5LmgJKHdvcmtpbmcgY29weSkKQEAgLTMyLDExICszMiwxMiBAQCBlbnVtIGNsYXNz
IFBERkltYWdlQ2FjaGluZ1BvbGljeSA6IHVpbnQ4CiAgICAgQmVsb3dNZW1vcnlMaW1pdCwKICAg
ICBEaXNhYmxlZCwKICAgICBDbGlwQm91bmRzT25seSwKK307CisKICNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQotICAgIERlZmF1bHQgPSBCZWxvd01lbW9yeUxpbWl0Citjb25zdGV4cHIgUERGSW1h
Z2VDYWNoaW5nUG9saWN5IGRlZmF1bHRQREZJbWFnZUNhY2hpbmdQb2xpY3kgPSBQREZJbWFnZUNh
Y2hpbmdQb2xpY3k6OkJlbG93TWVtb3J5TGltaXQ7CiAjZWxzZQotICAgIERlZmF1bHQgPSBFbmFi
bGVkCitjb25zdGV4cHIgUERGSW1hZ2VDYWNoaW5nUG9saWN5IGRlZmF1bHRQREZJbWFnZUNhY2hp
bmdQb2xpY3kgPSBQREZJbWFnZUNhY2hpbmdQb2xpY3k6OkVuYWJsZWQ7CiAjZW5kaWYKLX07CiAK
IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwJKHJldmlzaW9uIDI2OTkxNCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAkod29ya2luZyBjb3B5KQpAQCAtOTAs
MTEgKzkwLDExIEBAIENyb3NzT3JpZ2luQ2hlY2tJbkdldE1hdGNoZWRDU1NSdWxlc0Rpc2EKIAog
RGF0YURldGVjdG9yVHlwZXM6CiAgIHR5cGU6IHVpbnQzMl90Ci0gIHJlZmluZWRUeXBlOiBEYXRh
RGV0ZWN0b3JUeXBlcworICByZWZpbmVkVHlwZTogRGF0YURldGVjdG9yVHlwZQogICBjb25kaXRp
b246IEVOQUJMRShEQVRBX0RFVEVDVElPTikKICAgZGVmYXVsdFZhbHVlOgogICAgIFdlYkNvcmU6
Ci0gICAgICBkZWZhdWx0OiBEYXRhRGV0ZWN0b3JUeXBlczo6Tm9uZQorICAgICAgZGVmYXVsdDog
RGF0YURldGVjdG9yVHlwZTo6Tm9uZQogCiBEZWZhdWx0VmlkZW9Qb3N0ZXJVUkw6CiAgIGNvbW1l
bnQ6ID4tCkBAIC0xMzIsNyArMTMyLDcgQEAgRWRpdGluZ0JlaGF2aW9yVHlwZToKICAgcmVmaW5l
ZFR5cGU6IEVkaXRpbmdCZWhhdmlvclR5cGUKICAgZGVmYXVsdFZhbHVlOgogICAgIFdlYkNvcmU6
Ci0gICAgICBQTEFURk9STShJT1NfRkFNSUxZKTogRWRpdGluZ0JlaGF2aW9yVHlwZTo6SW9zCisg
ICAgICBQTEFURk9STShJT1NfRkFNSUxZKTogRWRpdGluZ0JlaGF2aW9yVHlwZTo6SU9TCiAgICAg
ICBPUyhEQVJXSU4pOiBFZGl0aW5nQmVoYXZpb3JUeXBlOjpNYWMKICAgICAgIE9TKFdJTkRPV1Mp
OiBFZGl0aW5nQmVoYXZpb3JUeXBlOjpXaW5kb3dzCiAgICAgICBPUyhVTklYKTogRWRpdGluZ0Jl
aGF2aW9yVHlwZTo6VW5peApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5nc0Jhc2Uu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzQmFzZS5oCShyZXZp
c2lvbiAyNjk5MTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzQmFzZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MSw3ICs1MSw3IEBACiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbVN0cmlu
Zy5oPgogCiAjaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKQotI2luY2x1ZGUgIkRhdGFEZXRlY3Rv
clR5cGVzLmgiCisjaW5jbHVkZSAiRGF0YURldGVjdG9yVHlwZS5oIgogI2VuZGlmCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nn
L1BERkRvY3VtZW50SW1hZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jZy9QREZEb2N1bWVudEltYWdlLmgJKHJldmlzaW9uIDI2OTkxNCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3VtZW50SW1hZ2UuaAkod29y
a2luZyBjb3B5KQpAQCAtOTQsNyArOTQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlQ2Fj
aGVkSW1hZ2VJZk5lZWRlZChHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmIGRzdFJl
Y3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCk7CiAgICAgYm9vbCBjYWNoZVBhcmFtZXRlcnNN
YXRjaChHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3QsIGNvbnN0IEZs
b2F0UmVjdCYgc3JjUmVjdCkgY29uc3Q7CiAKLSAgICBQREZJbWFnZUNhY2hpbmdQb2xpY3kgbV9w
ZGZJbWFnZUNhY2hpbmdQb2xpY3kgeyBQREZJbWFnZUNhY2hpbmdQb2xpY3k6OkRlZmF1bHQgfTsK
KyAgICBQREZJbWFnZUNhY2hpbmdQb2xpY3kgbV9wZGZJbWFnZUNhY2hpbmdQb2xpY3kgeyBkZWZh
dWx0UERGSW1hZ2VDYWNoaW5nUG9saWN5IH07CiAKICNpZiBVU0UoUERGS0lUX0ZPUl9QREZET0NV
TUVOVElNQUdFKQogICAgIFJldGFpblB0cjxQREZEb2N1bWVudD4gbV9kb2N1bWVudDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414384</attachid>
            <date>2020-11-17 14:08:13 -0800</date>
            <delta_ts>2020-11-18 07:01:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219044-20201117140812.patch</filename>
            <type>text/plain</type>
            <size>35614</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTkxNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBACisyMDIwLTExLTE3ICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBBZGRyZXNzIGFkZGl0aW9uYWwgZmVl
ZGJhY2sgZnJvbSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4OTYw
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTkwNDQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRyZXNz
IHBvc3QtcmV2aWV3IGZlZWRiYWNrIGZyb20gRGFyaW4uCisKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZWRpdGluZy9jb2NvYS9EYXRhRGV0
ZWN0b3JUeXBlLmg6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvY29jb2EvRGF0YURldGVjdG9y
VHlwZXMuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBlZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24u
aDoKKyAgICAgICAgKiBlZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24ubW06CisgICAgICAgICog
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzQmFzZS5oOgor
ICAgICAgICAqIHBhZ2UvU2V0dGluZ3MueWFtbDoKKyAgICAgICAgUmVuYW1lIERhdGFEZXRlY3Rv
clR5cGVzIHRvIERhdGFEZXRlY3RvclR5cGUuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0Zv
cmNlZEFjY2Vzc2liaWxpdHlWYWx1ZS5oOgorICAgICAgICBQdXQgdGhlIGRlZmluaXRpb24gYWxs
IG9uIG9uZSBsaW5lIGZvciBlYXNpZXIgcmVhZGluZy4KKworICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvci5wbToKKyAgICAgICAgKFdLX3VjZmlyc3QpOgorICAgICAgICAg
KiBlZGl0aW5nL0VkaXRpbmdCZWhhdmlvclR5cGUuaDoKKyAgICAgICAgU3BlY2lhbCBjYXNlICJp
b3MiIHNvIHRoYXQgaXQgZG9lc24ndCBiZWNvbWUgIklvcyIgYnV0IHJhdGhlciAiaU9TIi4KKyAg
ICAgICAgCisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6c2V0QWN0aXZlKToKKyAgICAgICAgRml4dXAgY29t
bWVudCBhZGRpbmcgcGVyaW9kIGFuZCBtYWtpbmcgaXQgYWxsIG9uZSBsaW5lLgorCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAg
ICAgIFVzZSBmb3J3YXJkIGRlY2xhcmF0aW9uIGZvciBGcmFtZUZsYXR0ZW5pbmcgZW51bS4KKwor
ICAgICAgICAqIHBhZ2UvUERGSW1hZ2VDYWNoaW5nUG9saWN5Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvUERGRG9jdW1lbnRJbWFnZS5oOgorICAgICAgICBSZW1vdmUgZGVmYXVs
dCB2YWx1ZSBlbnVtZXJhdGlvbiB2YWx1ZSBhbmQgcmVwbGFjZSBpdCB3aXRoIGEgc3RhbmRhbG9u
ZSBjb25zdGV4cHIuCisKIDIwMjAtMTEtMTcgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVy
QGFwcGxlLmNvbT4KIAogICAgICAgICBTcGVjdWxhdGl2ZSBmaXggZm9yIGxvY2FsaXphYmxlU3Ry
aW5ncy5zdHJpbmcgaW4gV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjY5OTE0KQorKysgU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC0zOTI0LDcgKzM5MjQsNyBAQAogCQlCQzRBNTMyRjI1NjA1N0NEMDAyOEM1OTIgLyogRm9u
dExvYWRUaW1pbmdPdmVycmlkZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkM0QTUzMkUyNTYwNTdDRDAwMjhDNTkyIC8qIEZvbnRMb2FkVGltaW5nT3Zl
cnJpZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlCQzRBNTMzMTI1NjA1OTAzMDAyOEM1OTIgLyogRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzRBNTMzMDI1
NjA1OTAzMDAyOEM1OTIgLyogRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkM0QTUzMzMyNTYwNTk4MzAw
MjhDNTkyIC8qIEhUTUxQYXJzZXJTY3JpcHRpbmdGbGFnUG9saWN5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzRBNTMzMjI1NjA1OTgzMDAyOEM1OTIg
LyogSFRNTFBhcnNlclNjcmlwdGluZ0ZsYWdQb2xpY3kuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlCQzRBNTMzNTI1NjA1QTU2MDAyOEM1OTIgLyog
RGF0YURldGVjdG9yVHlwZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDNEE1MzM0MjU2MDVBNTYwMDI4QzU5MiAvKiBEYXRhRGV0ZWN0b3JUeXBlcy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDNEE1
MzM1MjU2MDVBNTYwMDI4QzU5MiAvKiBEYXRhRGV0ZWN0b3JUeXBlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzRBNTMzNDI1NjA1QTU2MDAyOEM1OTIg
LyogRGF0YURldGVjdG9yVHlwZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUJDNEE1MzM3MjU2MDVBRTEwMDI4QzU5MiAvKiBTdG9yYWdlQmxvY2tp
bmdQb2xpY3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDNEE1MzM2MjU2MDVBRTEwMDI4QzU5MiAvKiBTdG9yYWdlQmxvY2tpbmdQb2xpY3kuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzRBNTMzOTI1
NjA2Mzk4MDAyOEM1OTIgLyogRm9udFJlbmRlcmluZ01vZGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNEE1MzM4MjU2MDYzOTgwMDI4QzU5MiAvKiBG
b250UmVuZGVyaW5nTW9kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCUJDNEE1MzNCMjU2MDY0RTEwMDI4QzU5MiAvKiBUZXh0RGlyZWN0aW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzRBNTMzQTI1
NjA2NEUxMDAyOEM1OTIgLyogVGV4dERpcmVjdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMzg0OCw3ICsxMzg0OCw3IEBACiAJCUJDNEE1
MzJFMjU2MDU3Q0QwMDI4QzU5MiAvKiBGb250TG9hZFRpbWluZ092ZXJyaWRlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQkM0QTUzMzAyNTYwNTkwMzAwMjhDNTkyIC8qIEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM0QTUzMzIyNTYwNTk4MzAwMjhDNTkyIC8qIEhUTUxQYXJz
ZXJTY3JpcHRpbmdGbGFnUG9saWN5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxQYXJzZXJTY3JpcHRp
bmdGbGFnUG9saWN5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDNEE1MzM0MjU2
MDVBNTYwMDI4QzU5MiAvKiBEYXRhRGV0ZWN0b3JUeXBlcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRh
RGV0ZWN0b3JUeXBlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzRBNTMzNDI1
NjA1QTU2MDAyOEM1OTIgLyogRGF0YURldGVjdG9yVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRh
RGV0ZWN0b3JUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNEE1MzM2MjU2
MDVBRTEwMDI4QzU5MiAvKiBTdG9yYWdlQmxvY2tpbmdQb2xpY3kuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U3RvcmFnZUJsb2NraW5nUG9saWN5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJD
NEE1MzM4MjU2MDYzOTgwMDI4QzU5MiAvKiBGb250UmVuZGVyaW5nTW9kZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBGb250UmVuZGVyaW5nTW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlC
QzRBNTMzQTI1NjA2NEUxMDAyOEM1OTIgLyogVGV4dERpcmVjdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBUZXh0RGlyZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjU4Miw3
ICsyMjU4Miw3IEBACiAJCQkJNUNDQzI3MDYyMkQ1M0I2ODAwOTY0RkEwIC8qIEF1dG9maWxsRWxl
bWVudHMuaCAqLywKIAkJCQlDNTIyN0RFRjFDM0M2REQ3MDBGNUVENTQgLyogRGF0YURldGVjdGlv
bi5oICovLAogCQkJCUM1MjI3REYwMUMzQzZERDcwMEY1RUQ1NCAvKiBEYXRhRGV0ZWN0aW9uLm1t
ICovLAotCQkJCUJDNEE1MzM0MjU2MDVBNTYwMDI4QzU5MiAvKiBEYXRhRGV0ZWN0b3JUeXBlcy5o
ICovLAorCQkJCUJDNEE1MzM0MjU2MDVBNTYwMDI4QzU5MiAvKiBEYXRhRGV0ZWN0b3JUeXBlLmgg
Ki8sCiAJCQkJOTM3RkYzRDYxQTEwMTMxQjAwOEVCQTMxIC8qIERpY3Rpb25hcnlMb29rdXAubW0g
Ki8sCiAJCQkJOUI1NUVFRTgxQjNFODg5ODAwNTM0MkJDIC8qIEVkaXRvckNvY29hLm1tICovLAog
CQkJCUY0MkNFQjU0MjE0MDMxRUUwMDJEQ0E3MiAvKiBGb250QXR0cmlidXRlQ2hhbmdlc0NvY29h
Lm1tICovLApAQCAtMzE1MjIsNyArMzE1MjIsNyBAQAogCQkJCUJFMjM0ODBEMThBOTg3MTQwMEU0
QjZFOCAvKiBEYXRhQ3VlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDNTIyN0RGMTFDM0M2REYxMDBG
NUVENTQgLyogRGF0YURldGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M3OTQxRTUxQzU2
QzI5MzAwQTRDNThFIC8qIERhdGFEZXRlY3RvcnNDb3JlU29mdExpbmsuaCBpbiBIZWFkZXJzICov
LAotCQkJCUJDNEE1MzM1MjU2MDVBNTYwMDI4QzU5MiAvKiBEYXRhRGV0ZWN0b3JUeXBlcy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQkM0QTUzMzUyNTYwNUE1NjAwMjhDNTkyIC8qIERhdGFEZXRlY3Rv
clR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUU1OEI0NUJBMjBBRDA3REQwMDk5MTAyNSAvKiBE
YXRhTGlzdEJ1dHRvbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUU1MTc2NzAzMjBCODhD
MTQwMEQ0MTE2NyAvKiBEYXRhTGlzdFN1Z2dlc3Rpb25JbmZvcm1hdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRTUyQ0Y1NEYyMEEzNUEyODAwREFEQTI3IC8qIERhdGFMaXN0U3VnZ2VzdGlvblBp
Y2tlci5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0ZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlLmgJKHJldmlzaW9uIDI2OTkx
NCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvRm9yY2VkQWNjZXNzaWJpbGl0eVZh
bHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDEwICsyNyw2IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotZW51bSBjbGFzcyBGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgOiB1aW50OF90IHsK
LSAgICBTeXN0ZW0sCi0gICAgT24sCi0gICAgT2ZmCi19OworZW51bSBjbGFzcyBGb3JjZWRBY2Nl
c3NpYmlsaXR5VmFsdWUgOiB1aW50OF90IHsgU3lzdGVtLCBPbiwgT2ZmIH07CiAKIH0KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0J
KHJldmlzaW9uIDI2OTkxNCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvci5wbQkod29ya2luZyBjb3B5KQpAQCAtOTcwLDYgKzk3MCw3IEBAIHN1YiBXS191
Y2ZpcnN0CiAgICAgJHJldCA9fiBzL0NiY3MvY2Jjcy8gaWYgJHJldCA9fiAvXkNiY3MvOwogICAg
ICRyZXQgPX4gcy9QcS9QUS8gaWYgJHJldCA9fiAvXlBxJC87CiAgICAgJHJldCA9fiBzL0hsZy9I
TEcvIGlmICRyZXQgPX4gL15IbGcvOworICAgICRyZXQgPX4gcy9Jb3MvaU9TLyBpZiAkcmV0ID1+
IC9eSW9zLzsKIAogICAgIHJldHVybiAkcmV0OwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvZWRp
dGluZy9FZGl0aW5nQmVoYXZpb3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0VkaXRpbmdCZWhhdmlvci5oCShyZXZpc2lvbiAyNjk5MTQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRpbmdCZWhhdmlvci5oCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxOSArNDQs
MTkgQEAgcHVibGljOgogCiAgICAgLy8gT24gV2luZG93cywgc2VsZWN0aW9ucyBzaG91bGQgYWx3
YXlzIGJlIGNvbnNpZGVyZWQgYXMgZGlyZWN0aW9uYWwsIHJlZ2FyZGxlc3MgaWYgaXQgaXMKICAg
ICAvLyBtb3VzZS1iYXNlZCBvciBrZXlib2FyZC1iYXNlZC4KLSAgICBib29sIHNob3VsZENvbnNp
ZGVyU2VsZWN0aW9uQXNEaXJlY3Rpb25hbCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSAhPSBFZGl0
aW5nQmVoYXZpb3JUeXBlOjpNYWMgJiYgbV90eXBlICE9IEVkaXRpbmdCZWhhdmlvclR5cGU6Oklv
czsgfQorICAgIGJvb2wgc2hvdWxkQ29uc2lkZXJTZWxlY3Rpb25Bc0RpcmVjdGlvbmFsKCkgY29u
c3QgeyByZXR1cm4gbV90eXBlICE9IEVkaXRpbmdCZWhhdmlvclR5cGU6Ok1hYyAmJiBtX3R5cGUg
IT0gRWRpdGluZ0JlaGF2aW9yVHlwZTo6aU9TOyB9CiAKICAgICAvLyBPbiBNYWMsIHdoZW4gcmV2
ZWFsaW5nIGEgc2VsZWN0aW9uIChmb3IgZXhhbXBsZSBhcyBhIHJlc3VsdCBvZiBhIEZpbmQgb3Bl
cmF0aW9uIG9uIHRoZSBCcm93c2VyKSwKICAgICAvLyBjb250ZW50IHNob3VsZCBiZSBzY3JvbGxl
ZCBzdWNoIHRoYXQgdGhlIHNlbGVjdGlvbiBnZXRzIGNlcnRlciBhbGlnbmVkLgotICAgIGJvb2wg
c2hvdWxkQ2VudGVyQWxpZ25XaGVuU2VsZWN0aW9uSXNSZXZlYWxlZCgpIGNvbnN0IHsgcmV0dXJu
IG1fdHlwZSA9PSBFZGl0aW5nQmVoYXZpb3JUeXBlOjpNYWMgfHwgbV90eXBlID09IEVkaXRpbmdC
ZWhhdmlvclR5cGU6OklvczsgfQorICAgIGJvb2wgc2hvdWxkQ2VudGVyQWxpZ25XaGVuU2VsZWN0
aW9uSXNSZXZlYWxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBFZGl0aW5nQmVoYXZpb3JU
eXBlOjpNYWMgfHwgbV90eXBlID09IEVkaXRpbmdCZWhhdmlvclR5cGU6OmlPUzsgfQogCiAgICAg
Ly8gT24gTWFjLCBzdHlsZSBpcyBjb25zaWRlcmVkIHByZXNlbnQgd2hlbiBwcmVzZW50IGF0IHRo
ZSBiZWdpbm5pbmcgb2Ygc2VsZWN0aW9uLiBPbiBvdGhlciBwbGF0Zm9ybXMsCiAgICAgLy8gc3R5
bGUgaGFzIHRvIGJlIHByZXNlbnQgdGhyb3VnaG91dCB0aGUgc2VsZWN0aW9uLgotICAgIGJvb2wg
c2hvdWxkVG9nZ2xlU3R5bGVCYXNlZE9uU3RhcnRPZlNlbGVjdGlvbigpIGNvbnN0IHsgcmV0dXJu
IG1fdHlwZSA9PSBFZGl0aW5nQmVoYXZpb3JUeXBlOjpNYWMgfHwgbV90eXBlID09IEVkaXRpbmdC
ZWhhdmlvclR5cGU6OklvczsgfQorICAgIGJvb2wgc2hvdWxkVG9nZ2xlU3R5bGVCYXNlZE9uU3Rh
cnRPZlNlbGVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBFZGl0aW5nQmVoYXZpb3JU
eXBlOjpNYWMgfHwgbV90eXBlID09IEVkaXRpbmdCZWhhdmlvclR5cGU6OmlPUzsgfQogCiAgICAg
Ly8gU3RhbmRhcmQgTWFjIGJlaGF2aW9yIHdoZW4gZXh0ZW5kaW5nIHRvIGEgYm91bmRhcnkgaXMg
Z3JvdyB0aGUgc2VsZWN0aW9uIHJhdGhlciB0aGFuIGxlYXZpbmcgdGhlIGJhc2UKICAgICAvLyBp
biBwbGFjZSBhbmQgbW92aW5nIHRoZSBleHRlbnQuIE1hdGNoZXMgTlNUZXh0Vmlldy4KLSAgICBi
b29sIHNob3VsZEFsd2F5c0dyb3dTZWxlY3Rpb25XaGVuRXh0ZW5kaW5nVG9Cb3VuZGFyeSgpIGNv
bnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBFZGl0aW5nQmVoYXZpb3JUeXBlOjpNYWMgfHwgbV90eXBl
ID09IEVkaXRpbmdCZWhhdmlvclR5cGU6OklvczsgfQorICAgIGJvb2wgc2hvdWxkQWx3YXlzR3Jv
d1NlbGVjdGlvbldoZW5FeHRlbmRpbmdUb0JvdW5kYXJ5KCkgY29uc3QgeyByZXR1cm4gbV90eXBl
ID09IEVkaXRpbmdCZWhhdmlvclR5cGU6Ok1hYyB8fCBtX3R5cGUgPT0gRWRpdGluZ0JlaGF2aW9y
VHlwZTo6aU9TOyB9CiAKICAgICAvLyBPbiBNYWMsIHdoZW4gcHJvY2Vzc2luZyBhIGNvbnRleHR1
YWwgY2xpY2ssIHRoZSBvYmplY3QgYmVpbmcgY2xpY2tlZCB1cG9uIHNob3VsZCBiZSBzZWxlY3Rl
ZC4KICAgICBib29sIHNob3VsZFNlbGVjdE9uQ29udGV4dHVhbE1lbnVDbGljaygpIGNvbnN0IHsg
cmV0dXJuIG1fdHlwZSA9PSBFZGl0aW5nQmVoYXZpb3JUeXBlOjpNYWM7IH0KQEAgLTc2LDcgKzc2
LDcgQEAgcHVibGljOgogICAgIC8vIE9uIE1hYywgc2VsZWN0aW5nIGJhY2t3YXJkcyBieSB3b3Jk
L2xpbmUgZnJvbSB0aGUgbWlkZGxlIG9mIGEgd29yZC9saW5lLCBhbmQgdGhlbiBnb2luZwogICAg
IC8vIGZvcndhcmQgbGVhdmVzIHRoZSBjYXJldCBiYWNrIGluIHRoZSBtaWRkbGUgd2l0aCBubyBz
ZWxlY3Rpb24sIGluc3RlYWQgb2YgZGlyZWN0bHkgc2VsZWN0aW5nCiAgICAgLy8gdG8gdGhlIG90
aGVyIGVuZCBvZiB0aGUgbGluZS93b3JkIChVbml4L1dpbmRvd3MgYmVoYXZpb3IpLgotICAgIGJv
b2wgc2hvdWxkRXh0ZW5kU2VsZWN0aW9uQnlXb3JkT3JMaW5lQWNyb3NzQ2FyZXQoKSBjb25zdCB7
IHJldHVybiBtX3R5cGUgIT0gRWRpdGluZ0JlaGF2aW9yVHlwZTo6TWFjICYmIG1fdHlwZSAhPSBF
ZGl0aW5nQmVoYXZpb3JUeXBlOjpJb3M7IH0KKyAgICBib29sIHNob3VsZEV4dGVuZFNlbGVjdGlv
bkJ5V29yZE9yTGluZUFjcm9zc0NhcmV0KCkgY29uc3QgeyByZXR1cm4gbV90eXBlICE9IEVkaXRp
bmdCZWhhdmlvclR5cGU6Ok1hYyAmJiBtX3R5cGUgIT0gRWRpdGluZ0JlaGF2aW9yVHlwZTo6aU9T
OyB9CiAKICAgICAvLyBCYXNlZCBvbiBuYXRpdmUgYmVoYXZpb3IsIHdoZW4gdXNpbmcgY3RybChh
bHQpK2Fycm93IHRvIG1vdmUgY2FyZXQgYnkgd29yZCwgY3RybChhbHQpK2xlZnQgYXJyb3cgbW92
ZXMgY2FyZXQgdG8KICAgICAvLyBpbW1lZGlhdGVseSBiZWZvcmUgdGhlIHdvcmQgaW4gYWxsIHBs
YXRmb3JtcywgZm9yIGV4YW1wbGUsIHRoZSB3b3JkIGJyZWFrIHBvc2l0aW9ucyBhcmU6ICJ8YWJj
IHxkZWYgfGhpaiB8b3BxIi4KQEAgLTg1LDIxICs4NSwyMSBAQCBwdWJsaWM6CiAKICAgICAvLyBP
biBpT1MgdGhlIGxhc3QgZW50ZXJlZCBjaGFyYWN0ZXIgaW4gYSBzZWN1cmUgZmlsZWQgaXMgc2hv
d24gbW9tZW50YXJpbHksIHJlbW92aW5nIGFuZCBhZGRpbmcgYmFjayB0aGUKICAgICAvLyBzcGFj
ZSB3aGVuIGRlbGV0aW5nIHBhc3N3b3JkIGNhdXNlIHNwYWNlIGJlZW4gc2hvd2VkIGluc2VjdXJl
bHkuCi0gICAgYm9vbCBzaG91bGRSZWJhbGFuY2VXaGl0ZVNwYWNlc0luU2VjdXJlRmllbGQoKSBj
b25zdCB7IHJldHVybiBtX3R5cGUgIT0gRWRpdGluZ0JlaGF2aW9yVHlwZTo6SW9zOyB9CisgICAg
Ym9vbCBzaG91bGRSZWJhbGFuY2VXaGl0ZVNwYWNlc0luU2VjdXJlRmllbGQoKSBjb25zdCB7IHJl
dHVybiBtX3R5cGUgIT0gRWRpdGluZ0JlaGF2aW9yVHlwZTo6aU9TOyB9CiAKICAgICBib29sIHNo
b3VsZFNlbGVjdEJhc2VkT25EaWN0aW9uYXJ5TG9va3VwKCkgY29uc3QgeyByZXR1cm4gbV90eXBl
ID09IEVkaXRpbmdCZWhhdmlvclR5cGU6Ok1hYzsgfQogCiAgICAgLy8gTGludXggYW5kIFdpbmRv
d3MgYWx3YXlzIGV4dGVuZCBzZWxlY3Rpb25zIGZyb20gdGhlIGV4dGVudCBlbmRwb2ludC4KLSAg
ICBib29sIHNob3VsZEFsd2F5c0V4dGVuZFNlbGVjdGlvbkZyb21FeHRlbnRFbmRwb2ludCgpIGNv
bnN0IHsgcmV0dXJuIG1fdHlwZSAhPSBFZGl0aW5nQmVoYXZpb3JUeXBlOjpNYWMgJiYgbV90eXBl
ICE9IEVkaXRpbmdCZWhhdmlvclR5cGU6OklvczsgfQorICAgIGJvb2wgc2hvdWxkQWx3YXlzRXh0
ZW5kU2VsZWN0aW9uRnJvbUV4dGVudEVuZHBvaW50KCkgY29uc3QgeyByZXR1cm4gbV90eXBlICE9
IEVkaXRpbmdCZWhhdmlvclR5cGU6Ok1hYyAmJiBtX3R5cGUgIT0gRWRpdGluZ0JlaGF2aW9yVHlw
ZTo6aU9TOyB9CiAKICAgICAvLyBPbiBpT1MsIHdlIGRvbid0IHdhbnQgdG8gc2VsZWN0IGFsbCB0
aGUgdGV4dCB3aGVuIGZvY3VzaW5nIGEgZmllbGQuIEluc3RlYWQsIG1hdGNoIHBsYXRmb3JtIGJl
aGF2aW9yIGJ5IGdvaW5nIHRvIHRoZSBlbmQgb2YgdGhlIGxpbmUuCi0gICAgYm9vbCBzaG91bGRN
b3ZlU2VsZWN0aW9uVG9FbmRXaGVuRm9jdXNpbmdUZXh0SW5wdXQoKSBjb25zdCB7IHJldHVybiBt
X3R5cGUgPT0gRWRpdGluZ0JlaGF2aW9yVHlwZTo6SW9zOyB9CisgICAgYm9vbCBzaG91bGRNb3Zl
U2VsZWN0aW9uVG9FbmRXaGVuRm9jdXNpbmdUZXh0SW5wdXQoKSBjb25zdCB7IHJldHVybiBtX3R5
cGUgPT0gRWRpdGluZ0JlaGF2aW9yVHlwZTo6aU9TOyB9CiAgICAgCiAgICAgLy8gT24gaU9TLCB3
aGVuIHNtYXJ0IGRlbGV0ZSBpcyBvbiwgaXQgaXMgYWx3YXlzIG9uLCBhbmQgc2hvdWxkIGRvIG5v
dCBhZGRpdGlvbmFsIGNoZWNrcyAoaS5lLiBUZXh0R3JhbnVsYXJpdHk6OldvcmRHcmFudWxhcml0
eSkuCi0gICAgYm9vbCBzaG91bGRBbHdheXNTbWFydERlbGV0ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
dHlwZSA9PSBFZGl0aW5nQmVoYXZpb3JUeXBlOjpJb3M7IH0KKyAgICBib29sIHNob3VsZEFsd2F5
c1NtYXJ0RGVsZXRlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IEVkaXRpbmdCZWhhdmlvclR5
cGU6OmlPUzsgfQogICAgIAogICAgIC8vIE9uIGlPUywgd2Ugc2hvdWxkIHR1cm4gb24gc21hcnQg
aW5zZXJ0IGFuZCBkZWxldGUgYW5kIG5ld2xpbmVzIGFyb3VuZCBwYXJhZ3JhcGhzIHRvIG1hdGNo
IFVJS2l0IGJlaGF2aW91ci4KLSAgICBib29sIHNob3VsZFNtYXJ0SW5zZXJ0RGVsZXRlUGFyYWdy
YXBocygpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBFZGl0aW5nQmVoYXZpb3JUeXBlOjpJb3M7
IH0KKyAgICBib29sIHNob3VsZFNtYXJ0SW5zZXJ0RGVsZXRlUGFyYWdyYXBocygpIGNvbnN0IHsg
cmV0dXJuIG1fdHlwZSA9PSBFZGl0aW5nQmVoYXZpb3JUeXBlOjppT1M7IH0KIAogcHJpdmF0ZToK
ICAgICBFZGl0aW5nQmVoYXZpb3JUeXBlIG1fdHlwZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdGluZ0JlaGF2aW9yVHlwZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdGluZ0JlaGF2aW9yVHlwZS5oCShyZXZpc2lvbiAyNjk5MTQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdCZWhhdmlvclR5cGUuaAkod29ya2luZyBjb3B5KQpA
QCAtMzksNyArMzksNyBAQCBlbnVtIGNsYXNzIEVkaXRpbmdCZWhhdmlvclR5cGUgOiB1aW50OF90
CiAgICAgTWFjLAogICAgIFdpbmRvd3MsCiAgICAgVW5peCwKLSAgICBJb3MKKyAgICBpT1MsCiB9
OwogCiB9IC8vIFdlYkNvcmUgbmFtZXNwYWNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L2NvY29hL0RhdGFEZXRlY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL2NvY29hL0RhdGFEZXRlY3Rpb24uaAkocmV2aXNpb24gMjY5OTE0KQorKysgU291cmNlL1dl
YkNvcmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3
LDcgKzI3LDcgQEAKIAogI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKIAotI2ltcG9ydCAiRGF0
YURldGVjdG9yVHlwZXMuaCIKKyNpbXBvcnQgIkRhdGFEZXRlY3RvclR5cGUuaCIKICNpbXBvcnQg
IkZsb2F0UmVjdC5oIgogI2ltcG9ydCAiU2ltcGxlUmFuZ2UuaCIKICNpbXBvcnQgPHd0Zi9PcHRp
b25TZXQuaD4KQEAgLTUyLDcgKzUyLDcgQEAgcHVibGljOgogI2lmIFBMQVRGT1JNKE1BQykKICAg
ICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgT3B0aW9uYWw8RGV0ZWN0ZWRJdGVtPiBkZXRlY3RJdGVt
QXJvdW5kSGl0VGVzdFJlc3VsdChjb25zdCBIaXRUZXN0UmVzdWx0Jik7CiAjZW5kaWYKLSAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgTlNBcnJheSAqZGV0ZWN0Q29udGVudEluUmFuZ2UoY29uc3Qg
U2ltcGxlUmFuZ2UmLCBPcHRpb25TZXQ8RGF0YURldGVjdG9yVHlwZXM+LCBOU0RpY3Rpb25hcnkg
KmNvbnRleHQpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBOU0FycmF5ICpkZXRlY3RDb250
ZW50SW5SYW5nZShjb25zdCBTaW1wbGVSYW5nZSYsIE9wdGlvblNldDxEYXRhRGV0ZWN0b3JUeXBl
PiwgTlNEaWN0aW9uYXJ5ICpjb250ZXh0KTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9p
ZCByZW1vdmVEYXRhRGV0ZWN0ZWRMaW5rc0luRG9jdW1lbnQoRG9jdW1lbnQmKTsKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIGNhbkJlUHJl
c2VudGVkQnlEYXRhRGV0ZWN0b3JzKGNvbnN0IFVSTCYpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvY29jb2EvRGF0YURldGVjdGlvbi5tbQkocmV2aXNpb24gMjY5OTE0KQorKysg
U291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0aW9uLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0yMTgsMjQgKzIxOCwyNCBAQCBzdGF0aWMgQk9PTCByZXN1bHRJc1VSTChERFJlc3Vs
dFJlZiByZXN1CiAgICAgcmV0dXJuIFt1cmxUeXBlcyBjb250YWluc09iamVjdDooTlNTdHJpbmcg
Kilzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFJlc3VsdEdldFR5cGUocmVzdWx0KV07CiB9
CiAKLXN0YXRpYyBOU1N0cmluZyAqY29uc3RydWN0VVJMU3RyaW5nRm9yUmVzdWx0KEREUmVzdWx0
UmVmIGN1cnJlbnRSZXN1bHQsIE5TU3RyaW5nICpyZXN1bHRJZGVudGlmaWVyLCBOU0RhdGUgKnJl
ZmVyZW5jZURhdGUsIE5TVGltZVpvbmUgKnJlZmVyZW5jZVRpbWVab25lLCBPcHRpb25TZXQ8RGF0
YURldGVjdG9yVHlwZXM+IGRldGVjdGlvblR5cGVzKQorc3RhdGljIE5TU3RyaW5nICpjb25zdHJ1
Y3RVUkxTdHJpbmdGb3JSZXN1bHQoRERSZXN1bHRSZWYgY3VycmVudFJlc3VsdCwgTlNTdHJpbmcg
KnJlc3VsdElkZW50aWZpZXIsIE5TRGF0ZSAqcmVmZXJlbmNlRGF0ZSwgTlNUaW1lWm9uZSAqcmVm
ZXJlbmNlVGltZVpvbmUsIE9wdGlvblNldDxEYXRhRGV0ZWN0b3JUeXBlPiBkZXRlY3Rpb25UeXBl
cykKIHsKICAgICBpZiAoIXNvZnRMaW5rX0RhdGFEZXRlY3RvcnNDb3JlX0REUmVzdWx0SGFzUHJv
cGVydGllcyhjdXJyZW50UmVzdWx0LCBERFJlc3VsdFByb3BlcnR5UGFzc2l2ZURpc3BsYXkpKQog
ICAgICAgICByZXR1cm4gbmlsOwogCi0gICAgYXV0byBwaG9uZVR5cGVzID0gZGV0ZWN0aW9uVHlw
ZXMuY29udGFpbnMoRGF0YURldGVjdG9yVHlwZXM6OlBob25lTnVtYmVyKSA/IEREVVJMaWZpZXJQ
aG9uZU51bWJlckRldGVjdGlvblJlZ3VsYXIgOiBERFVSTGlmaWVyUGhvbmVOdW1iZXJEZXRlY3Rp
b25Ob25lOworICAgIGF1dG8gcGhvbmVUeXBlcyA9IGRldGVjdGlvblR5cGVzLmNvbnRhaW5zKERh
dGFEZXRlY3RvclR5cGU6OlBob25lTnVtYmVyKSA/IEREVVJMaWZpZXJQaG9uZU51bWJlckRldGVj
dGlvblJlZ3VsYXIgOiBERFVSTGlmaWVyUGhvbmVOdW1iZXJEZXRlY3Rpb25Ob25lOwogICAgIGF1
dG8gY2F0ZWdvcnkgPSBzb2Z0TGlua19EYXRhRGV0ZWN0b3JzQ29yZV9ERFJlc3VsdEdldENhdGVn
b3J5KGN1cnJlbnRSZXN1bHQpOwogICAgIGF1dG8gdHlwZSA9IHNvZnRMaW5rX0RhdGFEZXRlY3Rv
cnNDb3JlX0REUmVzdWx0R2V0VHlwZShjdXJyZW50UmVzdWx0KTsKIAotICAgIGlmICgoZGV0ZWN0
aW9uVHlwZXMuY29udGFpbnMoRGF0YURldGVjdG9yVHlwZXM6OkFkZHJlc3MpICYmIEREUmVzdWx0
Q2F0ZWdvcnlBZGRyZXNzID09IGNhdGVnb3J5KQotICAgICAgICB8fCAoZGV0ZWN0aW9uVHlwZXMu
Y29udGFpbnMoRGF0YURldGVjdG9yVHlwZXM6OlRyYWNraW5nTnVtYmVyKSAmJiBDRkVxdWFsKGdl
dF9EYXRhRGV0ZWN0b3JzQ29yZV9EREJpbmRlclRyYWNraW5nTnVtYmVyS2V5KCksIHR5cGUpKQot
ICAgICAgICB8fCAoZGV0ZWN0aW9uVHlwZXMuY29udGFpbnMoRGF0YURldGVjdG9yVHlwZXM6OkZs
aWdodE51bWJlcikgJiYgQ0ZFcXVhbChnZXRfRGF0YURldGVjdG9yc0NvcmVfRERCaW5kZXJGbGln
aHRJbmZvcm1hdGlvbktleSgpLCB0eXBlKSkKLSAgICAgICAgfHwgKGRldGVjdGlvblR5cGVzLmNv
bnRhaW5zKERhdGFEZXRlY3RvclR5cGVzOjpMb29rdXBTdWdnZXN0aW9uKSAmJiBDRkVxdWFsKGdl
dF9EYXRhRGV0ZWN0b3JzQ29yZV9EREJpbmRlclBhcnNlY1NvdXJjZUtleSgpLCB0eXBlKSkKLSAg
ICAgICAgfHwgKGRldGVjdGlvblR5cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5cGVzOjpQaG9u
ZU51bWJlcikgJiYgRERSZXN1bHRDYXRlZ29yeVBob25lTnVtYmVyID09IGNhdGVnb3J5KQotICAg
ICAgICB8fCAoZGV0ZWN0aW9uVHlwZXMuY29udGFpbnMoRGF0YURldGVjdG9yVHlwZXM6Okxpbmsp
ICYmIHJlc3VsdElzVVJMKGN1cnJlbnRSZXN1bHQpKSkgeworICAgIGlmICgoZGV0ZWN0aW9uVHlw
ZXMuY29udGFpbnMoRGF0YURldGVjdG9yVHlwZTo6QWRkcmVzcykgJiYgRERSZXN1bHRDYXRlZ29y
eUFkZHJlc3MgPT0gY2F0ZWdvcnkpCisgICAgICAgIHx8IChkZXRlY3Rpb25UeXBlcy5jb250YWlu
cyhEYXRhRGV0ZWN0b3JUeXBlOjpUcmFja2luZ051bWJlcikgJiYgQ0ZFcXVhbChnZXRfRGF0YURl
dGVjdG9yc0NvcmVfRERCaW5kZXJUcmFja2luZ051bWJlcktleSgpLCB0eXBlKSkKKyAgICAgICAg
fHwgKGRldGVjdGlvblR5cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5cGU6OkZsaWdodE51bWJl
cikgJiYgQ0ZFcXVhbChnZXRfRGF0YURldGVjdG9yc0NvcmVfRERCaW5kZXJGbGlnaHRJbmZvcm1h
dGlvbktleSgpLCB0eXBlKSkKKyAgICAgICAgfHwgKGRldGVjdGlvblR5cGVzLmNvbnRhaW5zKERh
dGFEZXRlY3RvclR5cGU6Okxvb2t1cFN1Z2dlc3Rpb24pICYmIENGRXF1YWwoZ2V0X0RhdGFEZXRl
Y3RvcnNDb3JlX0REQmluZGVyUGFyc2VjU291cmNlS2V5KCksIHR5cGUpKQorICAgICAgICB8fCAo
ZGV0ZWN0aW9uVHlwZXMuY29udGFpbnMoRGF0YURldGVjdG9yVHlwZTo6UGhvbmVOdW1iZXIpICYm
IEREUmVzdWx0Q2F0ZWdvcnlQaG9uZU51bWJlciA9PSBjYXRlZ29yeSkKKyAgICAgICAgfHwgKGRl
dGVjdGlvblR5cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5cGU6OkxpbmspICYmIHJlc3VsdElz
VVJMKGN1cnJlbnRSZXN1bHQpKSkgewogICAgICAgICByZXR1cm4gc29mdExpbmtfRGF0YURldGVj
dG9yc0NvcmVfRERVUkxTdHJpbmdGb3JSZXN1bHQoY3VycmVudFJlc3VsdCwgcmVzdWx0SWRlbnRp
ZmllciwgcGhvbmVUeXBlcywgcmVmZXJlbmNlRGF0ZSwgcmVmZXJlbmNlVGltZVpvbmUpOwogICAg
IH0KLSAgICBpZiAoZGV0ZWN0aW9uVHlwZXMuY29udGFpbnMoRGF0YURldGVjdG9yVHlwZXM6OkNh
bGVuZGFyRXZlbnQpICYmIEREUmVzdWx0Q2F0ZWdvcnlDYWxlbmRhckV2ZW50ID09IGNhdGVnb3J5
KSB7CisgICAgaWYgKGRldGVjdGlvblR5cGVzLmNvbnRhaW5zKERhdGFEZXRlY3RvclR5cGU6OkNh
bGVuZGFyRXZlbnQpICYmIEREUmVzdWx0Q2F0ZWdvcnlDYWxlbmRhckV2ZW50ID09IGNhdGVnb3J5
KSB7CiAgICAgICAgIGlmICghc29mdExpbmtfRGF0YURldGVjdG9yc0NvcmVfRERSZXN1bHRJc1Bh
c3REYXRlKGN1cnJlbnRSZXN1bHQsIChDRkRhdGVSZWYpcmVmZXJlbmNlRGF0ZSwgKENGVGltZVpv
bmVSZWYpcmVmZXJlbmNlVGltZVpvbmUpKQogICAgICAgICAgICAgcmV0dXJuIHNvZnRMaW5rX0Rh
dGFEZXRlY3RvcnNDb3JlX0REVVJMU3RyaW5nRm9yUmVzdWx0KGN1cnJlbnRSZXN1bHQsIHJlc3Vs
dElkZW50aWZpZXIsIHBob25lVHlwZXMsIHJlZmVyZW5jZURhdGUsIHJlZmVyZW5jZVRpbWVab25l
KTsKICAgICB9CkBAIC00MzMsMTMgKzQzMywxMyBAQCB2b2lkIERhdGFEZXRlY3Rpb246OnJlbW92
ZURhdGFEZXRlY3RlZExpCiAgICAgICAgIHJlbW92ZVJlc3VsdExpbmtzRnJvbUFuY2hvcihhbmNo
b3IuZ2V0KCkpOwogfQogCi1OU0FycmF5ICpEYXRhRGV0ZWN0aW9uOjpkZXRlY3RDb250ZW50SW5S
YW5nZShjb25zdCBTaW1wbGVSYW5nZSYgY29udGV4dFJhbmdlLCBPcHRpb25TZXQ8RGF0YURldGVj
dG9yVHlwZXM+IHR5cGVzLCBOU0RpY3Rpb25hcnkgKmNvbnRleHQpCitOU0FycmF5ICpEYXRhRGV0
ZWN0aW9uOjpkZXRlY3RDb250ZW50SW5SYW5nZShjb25zdCBTaW1wbGVSYW5nZSYgY29udGV4dFJh
bmdlLCBPcHRpb25TZXQ8RGF0YURldGVjdG9yVHlwZT4gdHlwZXMsIE5TRGljdGlvbmFyeSAqY29u
dGV4dCkKIHsKICAgICBhdXRvIHNjYW5uZXIgPSBhZG9wdENGKHNvZnRMaW5rX0RhdGFEZXRlY3Rv
cnNDb3JlX0REU2Nhbm5lckNyZWF0ZShERFNjYW5uZXJUeXBlU3RhbmRhcmQsIDAsIG51bGxwdHIp
KTsKICAgICBhdXRvIHNjYW5RdWVyeSA9IGFkb3B0Q0Yoc29mdExpbmtfRGF0YURldGVjdG9yc0Nv
cmVfRERTY2FuUXVlcnlDcmVhdGUoTlVMTCkpOwogICAgIGJ1aWxkUXVlcnkoc2NhblF1ZXJ5Lmdl
dCgpLCBjb250ZXh0UmFuZ2UpOwogICAgIAotICAgIGlmICh0eXBlcy5jb250YWlucyhEYXRhRGV0
ZWN0b3JUeXBlczo6TG9va3VwU3VnZ2VzdGlvbikpCisgICAgaWYgKHR5cGVzLmNvbnRhaW5zKERh
dGFEZXRlY3RvclR5cGU6Okxvb2t1cFN1Z2dlc3Rpb24pKQogICAgICAgICBzb2Z0TGlua19EYXRh
RGV0ZWN0b3JzQ29yZV9ERFNjYW5uZXJFbmFibGVPcHRpb25hbFNvdXJjZShzY2FubmVyLmdldCgp
LCBERFNjYW5uZXJTb3VyY2VTcG90bGlnaHQsIHRydWUpOwogCiAgICAgLy8gRklYTUU6IHdlIHNo
b3VsZCBhZGQgYSB0aW1lb3V0IHRvIHRoaXMgY2FsbCB0byBtYWtlIHN1cmUgaXQgZG9lc24ndCB0
YWtlIHRvbyBtdWNoIHRpbWUuCkBAIC02MzIsNyArNjMyLDcgQEAgTlNBcnJheSAqRGF0YURldGVj
dGlvbjo6ZGV0ZWN0Q29udGVudEluUgogCiAjZWxzZQogCi1OU0FycmF5ICpEYXRhRGV0ZWN0aW9u
OjpkZXRlY3RDb250ZW50SW5SYW5nZShjb25zdCBTaW1wbGVSYW5nZSYsIE9wdGlvblNldDxEYXRh
RGV0ZWN0b3JUeXBlcz4sIE5TRGljdGlvbmFyeSAqKQorTlNBcnJheSAqRGF0YURldGVjdGlvbjo6
ZGV0ZWN0Q29udGVudEluUmFuZ2UoY29uc3QgU2ltcGxlUmFuZ2UmLCBPcHRpb25TZXQ8RGF0YURl
dGVjdG9yVHlwZT4sIE5TRGljdGlvbmFyeSAqKQogewogICAgIHJldHVybiBuaWw7CiB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0RhdGFEZXRlY3RvclR5cGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0RhdGFEZXRlY3RvclR5cGUuaAko
bm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0RhdGFEZXRlY3Rv
clR5cGUuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCisKKyNpbmNsdWRlIDx3dGYv
RW51bVRyYWl0cy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgRGF0YURl
dGVjdG9yVHlwZSA6IHVpbnQ4X3QgeworICAgIE5vbmUgPSAwLAorICAgIFBob25lTnVtYmVyID0g
MSA8PCAwLAorICAgIExpbmsgPSAxIDw8IDEsCisgICAgQWRkcmVzcyA9IDEgPDwgMiwKKyAgICBD
YWxlbmRhckV2ZW50ID0gMSA8PCAzLAorICAgIFRyYWNraW5nTnVtYmVyID0gMSA8PCA0LAorICAg
IEZsaWdodE51bWJlciA9IDEgPDwgNSwKKyAgICBMb29rdXBTdWdnZXN0aW9uID0gMSA8PCA2LAor
fTsKKworfQorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0
czxXZWJDb3JlOjpEYXRhRGV0ZWN0b3JUeXBlPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZh
bHVlczwKKyAgICAgICAgV2ViQ29yZTo6RGF0YURldGVjdG9yVHlwZSwKKyAgICAgICAgV2ViQ29y
ZTo6RGF0YURldGVjdG9yVHlwZTo6Tm9uZSwKKyAgICAgICAgV2ViQ29yZTo6RGF0YURldGVjdG9y
VHlwZTo6UGhvbmVOdW1iZXIsCisgICAgICAgIFdlYkNvcmU6OkRhdGFEZXRlY3RvclR5cGU6Okxp
bmssCisgICAgICAgIFdlYkNvcmU6OkRhdGFEZXRlY3RvclR5cGU6OkFkZHJlc3MsCisgICAgICAg
IFdlYkNvcmU6OkRhdGFEZXRlY3RvclR5cGU6OkNhbGVuZGFyRXZlbnQsCisgICAgICAgIFdlYkNv
cmU6OkRhdGFEZXRlY3RvclR5cGU6OlRyYWNraW5nTnVtYmVyLAorICAgICAgICBXZWJDb3JlOjpE
YXRhRGV0ZWN0b3JUeXBlOjpGbGlnaHROdW1iZXIsCisgICAgICAgIFdlYkNvcmU6OkRhdGFEZXRl
Y3RvclR5cGU6Okxvb2t1cFN1Z2dlc3Rpb24KKyAgICA+OworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V1RGCisKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9EYXRhRGV0
ZWN0b3JUeXBlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2Ev
RGF0YURldGVjdG9yVHlwZXMuaAkocmV2aXNpb24gMjY5OTE0KQorKysgU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9jb2NvYS9EYXRhRGV0ZWN0b3JUeXBlcy5oCShub25leGlzdGVudCkKQEAgLTEsNjUg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
LSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0g
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKERBVEFfREVU
RUNUSU9OKQotCi0jaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi1lbnVtIGNsYXNzIERhdGFEZXRlY3RvclR5cGVzIDogdWludDhfdCB7Ci0gICAgTm9u
ZSA9IDAsCi0gICAgUGhvbmVOdW1iZXIgPSAxIDw8IDAsCi0gICAgTGluayA9IDEgPDwgMSwKLSAg
ICBBZGRyZXNzID0gMSA8PCAyLAotICAgIENhbGVuZGFyRXZlbnQgPSAxIDw8IDMsCi0gICAgVHJh
Y2tpbmdOdW1iZXIgPSAxIDw8IDQsCi0gICAgRmxpZ2h0TnVtYmVyID0gMSA8PCA1LAotICAgIExv
b2t1cFN1Z2dlc3Rpb24gPSAxIDw8IDYsCi19OwotCi19Ci0KLW5hbWVzcGFjZSBXVEYgewotCi10
ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OkRhdGFEZXRlY3RvclR5cGVzPiB7
Ci0gICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKLSAgICAgICAgV2ViQ29yZTo6RGF0YURl
dGVjdG9yVHlwZXMsCi0gICAgICAgIFdlYkNvcmU6OkRhdGFEZXRlY3RvclR5cGVzOjpOb25lLAot
ICAgICAgICBXZWJDb3JlOjpEYXRhRGV0ZWN0b3JUeXBlczo6UGhvbmVOdW1iZXIsCi0gICAgICAg
IFdlYkNvcmU6OkRhdGFEZXRlY3RvclR5cGVzOjpMaW5rLAotICAgICAgICBXZWJDb3JlOjpEYXRh
RGV0ZWN0b3JUeXBlczo6QWRkcmVzcywKLSAgICAgICAgV2ViQ29yZTo6RGF0YURldGVjdG9yVHlw
ZXM6OkNhbGVuZGFyRXZlbnQsCi0gICAgICAgIFdlYkNvcmU6OkRhdGFEZXRlY3RvclR5cGVzOjpU
cmFja2luZ051bWJlciwKLSAgICAgICAgV2ViQ29yZTo6RGF0YURldGVjdG9yVHlwZXM6OkZsaWdo
dE51bWJlciwKLSAgICAgICAgV2ViQ29yZTo6RGF0YURldGVjdG9yVHlwZXM6Okxvb2t1cFN1Z2dl
c3Rpb24KLSAgICA+OwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV1RGCi0KLSNlbmRpZgpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAJKHJldmlzaW9uIDI2OTkx
NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yMTksOCArMjE5LDcgQEAgdm9pZCBIVE1MQW5jaG9yRWxlbWVudDo6c2V0QWN0
aXZlKGJvb2wgZAogICAgICAgICBjYXNlIEVkaXRhYmxlTGlua0JlaGF2aW9yOjpBbHdheXNMaXZl
OgogICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgLy8gRG9uJ3Qgc2V0IHRoZSBsaW5rIHRv
IGJlIGFjdGl2ZSBpZiB0aGUgY3VycmVudCBzZWxlY3Rpb24gaXMgaW4gdGhlIHNhbWUgZWRpdGFi
bGUgYmxvY2sgYXMKLSAgICAgICAgLy8gdGhpcyBsaW5rCisgICAgICAgIC8vIERvbid0IHNldCB0
aGUgbGluayB0byBiZSBhY3RpdmUgaWYgdGhlIGN1cnJlbnQgc2VsZWN0aW9uIGlzIGluIHRoZSBz
YW1lIGVkaXRhYmxlIGJsb2NrIGFzIHRoaXMgbGluay4KICAgICAgICAgY2FzZSBFZGl0YWJsZUxp
bmtCZWhhdmlvcjo6TGl2ZVdoZW5Ob3RGb2N1c2VkOgogICAgICAgICAgICAgaWYgKGRvd24gJiYg
ZG9jdW1lbnQoKS5mcmFtZSgpICYmIGRvY3VtZW50KCkuZnJhbWUoKS0+c2VsZWN0aW9uKCkuc2Vs
ZWN0aW9uKCkucm9vdEVkaXRhYmxlRWxlbWVudCgpID09IHJvb3RFZGl0YWJsZUVsZW1lbnQoKSkK
ICAgICAgICAgICAgICAgICByZXR1cm47CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAJKHJldmlzaW9uIDI2OTkxNCkKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1ODAsNyArMjU4MCw3IEBAIHZvaWQgRnJh
bWVMb2FkZXI6OmNoZWNrTG9hZENvbXBsZXRlRm9yVGgKICAgICAgICAgICAgICAgICBGUkFNRUxP
QURFUl9SRUxFQVNFX0xPR19JRl9BTExPV0VEKFJlc291cmNlTG9hZGluZywgImNoZWNrTG9hZENv
bXBsZXRlRm9yVGhpc0ZyYW1lOiBGaW5pc2hlZCBmcmFtZSBsb2FkIik7CiAjaWYgRU5BQkxFKERB
VEFfREVURUNUSU9OKQogICAgICAgICAgICAgICAgIGF1dG8gZG9jdW1lbnQgPSBtX2ZyYW1lLmRv
Y3VtZW50KCk7Ci0gICAgICAgICAgICAgICAgYXV0byB0eXBlcyA9IE9wdGlvblNldDxEYXRhRGV0
ZWN0b3JUeXBlcz4geyBtX2ZyYW1lLnNldHRpbmdzKCkuZGF0YURldGVjdG9yVHlwZXMoKSB9Owor
ICAgICAgICAgICAgICAgIGF1dG8gdHlwZXMgPSBPcHRpb25TZXQ8RGF0YURldGVjdG9yVHlwZT4g
eyBtX2ZyYW1lLnNldHRpbmdzKCkuZGF0YURldGVjdG9yVHlwZXMoKSB9OwogICAgICAgICAgICAg
ICAgIGlmIChkb2N1bWVudCAmJiB0eXBlcykgewogICAgICAgICAgICAgICAgICAgICBtX2ZyYW1l
LnNldERhdGFEZXRlY3Rpb25SZXN1bHRzKERhdGFEZXRlY3Rpb246OmRldGVjdENvbnRlbnRJblJh
bmdlKG1ha2VSYW5nZVNlbGVjdGluZ05vZGVDb250ZW50cygqZG9jdW1lbnQpLCB0eXBlcywgbV9j
bGllbnQtPmRhdGFEZXRlY3Rpb25Db250ZXh0KCkpKTsKICAgICAgICAgICAgICAgICAgICAgaWYg
KG1fZnJhbWUuaXNNYWluRnJhbWUoKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJ
KHJldmlzaW9uIDI2OTkxNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDcsNiArNDcsNyBAQAogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgog
I2luY2x1ZGUgIkZvY3VzQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVk
ZSAiRnJhbWVGbGF0dGVuaW5nLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKICNpbmNsdWRl
ICJGcmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgJKHJldmlzaW9uIDI2OTkxNCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDYgQEAKICNp
bmNsdWRlICJBZGp1c3RWaWV3U2l6ZU9yTm90LmgiCiAjaW5jbHVkZSAiQ29sb3IuaCIKICNpbmNs
dWRlICJDb250YWluZXJOb2RlLmgiCi0jaW5jbHVkZSAiRnJhbWVGbGF0dGVuaW5nLmgiCiAjaW5j
bHVkZSAiRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4
dC5oIgogI2luY2x1ZGUgIkxheW91dE1pbGVzdG9uZS5oIgpAQCAtODEsNiArODAsOCBAQCBjbGFz
cyBWaWV3OwogfQogI2VuZGlmCiAKK2VudW0gY2xhc3MgRnJhbWVGbGF0dGVuaW5nIDogdWludDhf
dDsKKwogUGFnaW5hdGlvbjo6TW9kZSBwYWdpbmF0aW9uTW9kZUZvclJlbmRlclN0eWxlKGNvbnN0
IFJlbmRlclN0eWxlJik7CiAKIGNsYXNzIEZyYW1lVmlldyBmaW5hbCA6IHB1YmxpYyBTY3JvbGxW
aWV3IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUERGSW1hZ2VDYWNoaW5nUG9saWN5LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QREZJbWFnZUNhY2hpbmdQb2xpY3ku
aAkocmV2aXNpb24gMjY5OTE0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QREZJbWFnZUNhY2hp
bmdQb2xpY3kuaAkod29ya2luZyBjb3B5KQpAQCAtMzIsMTEgKzMyLDEyIEBAIGVudW0gY2xhc3Mg
UERGSW1hZ2VDYWNoaW5nUG9saWN5IDogdWludDgKICAgICBCZWxvd01lbW9yeUxpbWl0LAogICAg
IERpc2FibGVkLAogICAgIENsaXBCb3VuZHNPbmx5LAorfTsKKwogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCi0gICAgRGVmYXVsdCA9IEJlbG93TWVtb3J5TGltaXQKK2NvbnN0ZXhwciBQREZJbWFn
ZUNhY2hpbmdQb2xpY3kgZGVmYXVsdFBERkltYWdlQ2FjaGluZ1BvbGljeSA9IFBERkltYWdlQ2Fj
aGluZ1BvbGljeTo6QmVsb3dNZW1vcnlMaW1pdDsKICNlbHNlCi0gICAgRGVmYXVsdCA9IEVuYWJs
ZWQKK2NvbnN0ZXhwciBQREZJbWFnZUNhY2hpbmdQb2xpY3kgZGVmYXVsdFBERkltYWdlQ2FjaGlu
Z1BvbGljeSA9IFBERkltYWdlQ2FjaGluZ1BvbGljeTo6RW5hYmxlZDsKICNlbmRpZgotfTsKIAog
fQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAkocmV2aXNpb24gMjY5OTE0KQorKysg
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCSh3b3JraW5nIGNvcHkpCkBAIC05MCwx
MSArOTAsMTEgQEAgQ3Jvc3NPcmlnaW5DaGVja0luR2V0TWF0Y2hlZENTU1J1bGVzRGlzYQogCiBE
YXRhRGV0ZWN0b3JUeXBlczoKICAgdHlwZTogdWludDMyX3QKLSAgcmVmaW5lZFR5cGU6IERhdGFE
ZXRlY3RvclR5cGVzCisgIHJlZmluZWRUeXBlOiBEYXRhRGV0ZWN0b3JUeXBlCiAgIGNvbmRpdGlv
bjogRU5BQkxFKERBVEFfREVURUNUSU9OKQogICBkZWZhdWx0VmFsdWU6CiAgICAgV2ViQ29yZToK
LSAgICAgIGRlZmF1bHQ6IERhdGFEZXRlY3RvclR5cGVzOjpOb25lCisgICAgICBkZWZhdWx0OiBE
YXRhRGV0ZWN0b3JUeXBlOjpOb25lCiAKIERlZmF1bHRWaWRlb1Bvc3RlclVSTDoKICAgY29tbWVu
dDogPi0KQEAgLTEzMiw3ICsxMzIsNyBAQCBFZGl0aW5nQmVoYXZpb3JUeXBlOgogICByZWZpbmVk
VHlwZTogRWRpdGluZ0JlaGF2aW9yVHlwZQogICBkZWZhdWx0VmFsdWU6CiAgICAgV2ViQ29yZToK
LSAgICAgIFBMQVRGT1JNKElPU19GQU1JTFkpOiBFZGl0aW5nQmVoYXZpb3JUeXBlOjpJb3MKKyAg
ICAgIFBMQVRGT1JNKElPU19GQU1JTFkpOiBFZGl0aW5nQmVoYXZpb3JUeXBlOjppT1MKICAgICAg
IE9TKERBUldJTik6IEVkaXRpbmdCZWhhdmlvclR5cGU6Ok1hYwogICAgICAgT1MoV0lORE9XUyk6
IEVkaXRpbmdCZWhhdmlvclR5cGU6OldpbmRvd3MKICAgICAgIE9TKFVOSVgpOiBFZGl0aW5nQmVo
YXZpb3JUeXBlOjpVbml4CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzQmFzZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3NCYXNlLmgJKHJldmlz
aW9uIDI2OTkxNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3NCYXNlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTUxLDcgKzUxLDcgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5n
Lmg+CiAKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCi0jaW5jbHVkZSAiRGF0YURldGVjdG9y
VHlwZXMuaCIKKyNpbmNsdWRlICJEYXRhRGV0ZWN0b3JUeXBlLmgiCiAjZW5kaWYKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
UERGRG9jdW1lbnRJbWFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NnL1BERkRvY3VtZW50SW1hZ2UuaAkocmV2aXNpb24gMjY5OTE0KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUERGRG9jdW1lbnRJbWFnZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC05NCw3ICs5NCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVDYWNo
ZWRJbWFnZUlmTmVlZGVkKEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYgZHN0UmVj
dCwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0KTsKICAgICBib29sIGNhY2hlUGFyYW1ldGVyc01h
dGNoKEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYgZHN0UmVjdCwgY29uc3QgRmxv
YXRSZWN0JiBzcmNSZWN0KSBjb25zdDsKIAotICAgIFBERkltYWdlQ2FjaGluZ1BvbGljeSBtX3Bk
ZkltYWdlQ2FjaGluZ1BvbGljeSB7IFBERkltYWdlQ2FjaGluZ1BvbGljeTo6RGVmYXVsdCB9Owor
ICAgIFBERkltYWdlQ2FjaGluZ1BvbGljeSBtX3BkZkltYWdlQ2FjaGluZ1BvbGljeSB7IGRlZmF1
bHRQREZJbWFnZUNhY2hpbmdQb2xpY3kgfTsKIAogI2lmIFVTRShQREZLSVRfRk9SX1BERkRPQ1VN
RU5USU1BR0UpCiAgICAgUmV0YWluUHRyPFBERkRvY3VtZW50PiBtX2RvY3VtZW50OwpJbmRleDog
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cJKHJldmlzaW9uIDI2OTkyMikKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMTEtMTcgIFNhbSBXZWluaWcgIDx3ZWlu
aWdAYXBwbGUuY29tPgorCisgICAgICAgIEFkZHJlc3MgYWRkaXRpb25hbCBmZWVkYmFjayBmcm9t
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTg5NjAKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxOTA0NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL0FQSS9Db2Nv
YS9XS0RhdGFEZXRlY3RvclR5cGVzSW50ZXJuYWwuaDoKKyAgICAgICAgKGZyb21XS0RhdGFEZXRl
Y3RvclR5cGVzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkZXRlY3REYXRhSW5BbGxGcmFtZXMpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVByZWZlcmVu
Y2VzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGV0ZWN0RGF0YUluQWxsRnJhbWVzKToK
KyAgICAgICAgVXBkYXRlIGZvciByZW5hbWUgb2YgV2ViQ29yZTo6RGF0YURldGVjdGlvblR5cGVz
IHRvIFdlYkNvcmU6OkRhdGFEZXRlY3Rpb25UeXBlLgorCiAyMDIwLTExLTE3ICBTaWh1aSBMaXUg
IDxzaWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIGRlZmF1bHQgYWN0aW9uIGZv
ciBTcGVlY2hSZWNvZ25pdGlvbiBwZXJtaXNzaW9uIHJlcXVlc3QKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvU2hhcmVkL0FQSS9Db2NvYS9XS0RhdGFEZXRlY3RvclR5cGVzSW50ZXJuYWwuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvV0tEYXRhRGV0ZWN0b3JUeXBl
c0ludGVybmFsLmgJKHJldmlzaW9uIDI2OTkxNCkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0FQ
SS9Db2NvYS9XS0RhdGFEZXRlY3RvclR5cGVzSW50ZXJuYWwuaAkod29ya2luZyBjb3B5KQpAQCAt
MjcsMjYgKzI3LDI2IEBACiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogCi0jaW1wb3J0IDxX
ZWJDb3JlL0RhdGFEZXRlY3Rpb24uaD4KKyNpbXBvcnQgPFdlYkNvcmUvRGF0YURldGVjdG9yVHlw
ZS5oPgogCi1zdGF0aWMgaW5saW5lIFdlYkNvcmU6OkRhdGFEZXRlY3RvclR5cGVzIGZyb21XS0Rh
dGFEZXRlY3RvclR5cGVzKHVpbnQ2NF90IHR5cGVzKQorc3RhdGljIGlubGluZSBXZWJDb3JlOjpE
YXRhRGV0ZWN0b3JUeXBlIGZyb21XS0RhdGFEZXRlY3RvclR5cGVzKHVpbnQ2NF90IHR5cGVzKQog
ewogICAgIHVpbnQzMl90IHZhbHVlID0gMDsKICAgICBpZiAodHlwZXMgJiBXS0RhdGFEZXRlY3Rv
clR5cGVQaG9uZU51bWJlcikKLSAgICAgICAgdmFsdWUgfD0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+
KFdlYkNvcmU6OkRhdGFEZXRlY3RvclR5cGVzOjpQaG9uZU51bWJlcik7CisgICAgICAgIHZhbHVl
IHw9IHN0YXRpY19jYXN0PHVpbnQzMl90PihXZWJDb3JlOjpEYXRhRGV0ZWN0b3JUeXBlOjpQaG9u
ZU51bWJlcik7CiAgICAgaWYgKHR5cGVzICYgV0tEYXRhRGV0ZWN0b3JUeXBlTGluaykKLSAgICAg
ICAgdmFsdWUgfD0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KFdlYkNvcmU6OkRhdGFEZXRlY3RvclR5
cGVzOjpMaW5rKTsKKyAgICAgICAgdmFsdWUgfD0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KFdlYkNv
cmU6OkRhdGFEZXRlY3RvclR5cGU6OkxpbmspOwogICAgIGlmICh0eXBlcyAmIFdLRGF0YURldGVj
dG9yVHlwZUFkZHJlc3MpCi0gICAgICAgIHZhbHVlIHw9IHN0YXRpY19jYXN0PHVpbnQzMl90PihX
ZWJDb3JlOjpEYXRhRGV0ZWN0b3JUeXBlczo6QWRkcmVzcyk7CisgICAgICAgIHZhbHVlIHw9IHN0
YXRpY19jYXN0PHVpbnQzMl90PihXZWJDb3JlOjpEYXRhRGV0ZWN0b3JUeXBlOjpBZGRyZXNzKTsK
ICAgICBpZiAodHlwZXMgJiBXS0RhdGFEZXRlY3RvclR5cGVDYWxlbmRhckV2ZW50KQotICAgICAg
ICB2YWx1ZSB8PSBzdGF0aWNfY2FzdDx1aW50MzJfdD4oV2ViQ29yZTo6RGF0YURldGVjdG9yVHlw
ZXM6OkNhbGVuZGFyRXZlbnQpOworICAgICAgICB2YWx1ZSB8PSBzdGF0aWNfY2FzdDx1aW50MzJf
dD4oV2ViQ29yZTo6RGF0YURldGVjdG9yVHlwZTo6Q2FsZW5kYXJFdmVudCk7CiAgICAgaWYgKHR5
cGVzICYgV0tEYXRhRGV0ZWN0b3JUeXBlVHJhY2tpbmdOdW1iZXIpCi0gICAgICAgIHZhbHVlIHw9
IHN0YXRpY19jYXN0PHVpbnQzMl90PihXZWJDb3JlOjpEYXRhRGV0ZWN0b3JUeXBlczo6VHJhY2tp
bmdOdW1iZXIpOworICAgICAgICB2YWx1ZSB8PSBzdGF0aWNfY2FzdDx1aW50MzJfdD4oV2ViQ29y
ZTo6RGF0YURldGVjdG9yVHlwZTo6VHJhY2tpbmdOdW1iZXIpOwogICAgIGlmICh0eXBlcyAmIFdL
RGF0YURldGVjdG9yVHlwZUZsaWdodE51bWJlcikKLSAgICAgICAgdmFsdWUgfD0gc3RhdGljX2Nh
c3Q8dWludDMyX3Q+KFdlYkNvcmU6OkRhdGFEZXRlY3RvclR5cGVzOjpGbGlnaHROdW1iZXIpOwor
ICAgICAgICB2YWx1ZSB8PSBzdGF0aWNfY2FzdDx1aW50MzJfdD4oV2ViQ29yZTo6RGF0YURldGVj
dG9yVHlwZTo6RmxpZ2h0TnVtYmVyKTsKICAgICBpZiAodHlwZXMgJiBXS0RhdGFEZXRlY3RvclR5
cGVMb29rdXBTdWdnZXN0aW9uKQotICAgICAgICB2YWx1ZSB8PSBzdGF0aWNfY2FzdDx1aW50MzJf
dD4oV2ViQ29yZTo6RGF0YURldGVjdG9yVHlwZXM6Okxvb2t1cFN1Z2dlc3Rpb24pOwotICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxXZWJDb3JlOjpEYXRhRGV0ZWN0b3JUeXBlcz4odmFsdWUpOworICAg
ICAgICB2YWx1ZSB8PSBzdGF0aWNfY2FzdDx1aW50MzJfdD4oV2ViQ29yZTo6RGF0YURldGVjdG9y
VHlwZTo6TG9va3VwU3VnZ2VzdGlvbik7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYkNvcmU6
OkRhdGFEZXRlY3RvclR5cGU+KHZhbHVlKTsKIH0KIAogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDI2OTkxNCkKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk5
MjMsNyArOTkyMyw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzaW11bGF0ZURldmljZU9yaWVudGEK
IAogI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikKIAotdm9pZCBXZWJQYWdlUHJveHk6OmRldGVj
dERhdGFJbkFsbEZyYW1lcyhXZWJDb3JlOjpEYXRhRGV0ZWN0b3JUeXBlcyB0eXBlcywgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChjb25zdCBEYXRhRGV0ZWN0aW9uUmVzdWx0Jik+JiYgY29tcGxldGlv
bkhhbmRsZXIpCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGV0ZWN0RGF0YUluQWxsRnJhbWVzKFdlYkNv
cmU6OkRhdGFEZXRlY3RvclR5cGUgdHlwZXMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3Qg
RGF0YURldGVjdGlvblJlc3VsdCYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmICgh
aGFzUnVubmluZ1Byb2Nlc3MoKSkgewogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcih7IH0pOwpJ
bmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHJldmlzaW9uIDI2OTkx
NCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNv
cHkpCkBAIC00NzcsNyArNDc3LDcgQEAgcHVibGljOgogCiAjaWYgRU5BQkxFKERBVEFfREVURUNU
SU9OKQogICAgIE5TQXJyYXkgKmRhdGFEZXRlY3Rpb25SZXN1bHRzKCkgeyByZXR1cm4gbV9kYXRh
RGV0ZWN0aW9uUmVzdWx0cy5nZXQoKTsgfQotICAgIHZvaWQgZGV0ZWN0RGF0YUluQWxsRnJhbWVz
KFdlYkNvcmU6OkRhdGFEZXRlY3RvclR5cGVzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0
IERhdGFEZXRlY3Rpb25SZXN1bHQmKT4mJik7CisgICAgdm9pZCBkZXRlY3REYXRhSW5BbGxGcmFt
ZXMoV2ViQ29yZTo6RGF0YURldGVjdG9yVHlwZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25z
dCBEYXRhRGV0ZWN0aW9uUmVzdWx0Jik+JiYpOwogICAgIHZvaWQgcmVtb3ZlRGF0YURldGVjdGVk
TGlua3MoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBEYXRhRGV0ZWN0aW9uUmVzdWx0Jik+
JiYpOwogI2VuZGlmCiAgICAgICAgIApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDI2OTkxNCkKKysrIFNvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNzM5LDcg
KzM3MzksNyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlCiAgICAg
c2V0dGluZ3Muc2V0RnJhbWVGbGF0dGVuaW5nKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQ
cmVmZXJlbmNlc0tleTo6ZnJhbWVGbGF0dGVuaW5nRW5hYmxlZEtleSgpKSA/IFdlYkNvcmU6OkZy
YW1lRmxhdHRlbmluZzo6RnVsbHlFbmFibGVkIDogV2ViQ29yZTo6RnJhbWVGbGF0dGVuaW5nOjpE
aXNhYmxlZCk7CiAgICAgc2V0dGluZ3Muc2V0RWRpdGFibGVMaW5rQmVoYXZpb3Ioc3RhdGljX2Nh
c3Q8V2ViQ29yZTo6RWRpdGFibGVMaW5rQmVoYXZpb3I+KHN0b3JlLmdldFVJbnQzMlZhbHVlRm9y
S2V5KFdlYlByZWZlcmVuY2VzS2V5OjplZGl0YWJsZUxpbmtCZWhhdmlvcktleSgpKSkpOwogI2lm
IEVOQUJMRShEQVRBX0RFVEVDVElPTikKLSAgICBzZXR0aW5ncy5zZXREYXRhRGV0ZWN0b3JUeXBl
cyhzdGF0aWNfY2FzdDxEYXRhRGV0ZWN0b3JUeXBlcz4oc3RvcmUuZ2V0VUludDMyVmFsdWVGb3JL
ZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmRhdGFEZXRlY3RvclR5cGVzS2V5KCkpKSk7CisgICAgc2V0
dGluZ3Muc2V0RGF0YURldGVjdG9yVHlwZXMoc3RhdGljX2Nhc3Q8RGF0YURldGVjdG9yVHlwZT4o
c3RvcmUuZ2V0VUludDMyVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmRhdGFEZXRlY3Rv
clR5cGVzS2V5KCkpKSk7CiAjZW5kaWYKIAogICAgIERhdGFiYXNlTWFuYWdlcjo6c2luZ2xldG9u
KCkuc2V0SXNBdmFpbGFibGUoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2Vz
S2V5OjpkYXRhYmFzZXNFbmFibGVkS2V5KCkpKTsKQEAgLTM4MzYsNyArMzgzNiw3IEBAIHZvaWQg
V2ViUGFnZTo6cmVtb3ZlRGF0YURldGVjdGVkTGlua3MoQ28KIAogdm9pZCBXZWJQYWdlOjpkZXRl
Y3REYXRhSW5BbGxGcmFtZXModWludDY0X3QgdHlwZXMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Y29uc3QgRGF0YURldGVjdGlvblJlc3VsdCYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAg
IGF1dG8gZGF0YURldGVjdG9yVHlwZXMgPSBPcHRpb25TZXQ8RGF0YURldGVjdG9yVHlwZXM+Ojpm
cm9tUmF3KHR5cGVzKTsKKyAgICBhdXRvIGRhdGFEZXRlY3RvclR5cGVzID0gT3B0aW9uU2V0PERh
dGFEZXRlY3RvclR5cGU+Ojpmcm9tUmF3KHR5cGVzKTsKICAgICBmb3IgKGF1dG8gZnJhbWUgPSBt
YWtlUmVmUHRyKCZtX3BhZ2UtPm1haW5GcmFtZSgpKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRy
ZWUoKS50cmF2ZXJzZU5leHQoKSkgewogICAgICAgICBhdXRvIGRvY3VtZW50ID0gbWFrZVJlZlB0
cihmcmFtZS0+ZG9jdW1lbnQoKSk7CiAgICAgICAgIGlmICghZG9jdW1lbnQpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>