<?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>228051</bug_id>
          
          <creation_ts>2021-07-17 16:34:08 -0700</creation_ts>
          <short_desc>[iOS] [AX] Keyboard text candidates don&apos;t update when changing selection using Switch Control</short_desc>
          <delta_ts>2021-07-19 12:29:49 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</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="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ehutchison</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>samuel_white</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1777726</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-17 16:34:08 -0700</bug_when>
    <thetext>rdar://79944295</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777727</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-17 16:34:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/80734994&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777728</commentid>
    <comment_count>2</comment_count>
      <attachid>433735</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-17 17:09:20 -0700</bug_when>
    <thetext>Created attachment 433735
WIP for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777729</commentid>
    <comment_count>3</comment_count>
      <attachid>433736</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-17 17:17:55 -0700</bug_when>
    <thetext>Created attachment 433736
Fix macOS build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777752</commentid>
    <comment_count>4</comment_count>
      <attachid>433736</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-18 08:33:00 -0700</bug_when>
    <thetext>Comment on attachment 433736
Fix macOS build

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777753</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-18 08:41:44 -0700</bug_when>
    <thetext>Committed r280019 (239761@main): &lt;https://commits.webkit.org/239761@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433736.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777930</commentid>
    <comment_count>6</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-19 11:55:28 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777931</commentid>
    <comment_count>7</comment_count>
      <attachid>433807</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-19 11:55:29 -0700</bug_when>
    <thetext>Created attachment 433807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1777941</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-19 12:29:47 -0700</bug_when>
    <thetext>Committed r280041 (239776@main): &lt;https://commits.webkit.org/239776@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433807.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433735</attachid>
            <date>2021-07-17 17:09:20 -0700</date>
            <delta_ts>2021-07-17 17:34:46 -0700</delta_ts>
            <desc>WIP for EWS</desc>
            <filename>bug-228051-20210717170920.patch</filename>
            <type>text/plain</type>
            <size>22682</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjBlNTVhNjg3ZDVhNGM2
MDQwNjNiYjUyNDk0MjVhNTYxMDM1ZTJlNi4uMjJiYjBlNjg1MjQ2ZTRlYjY2MWNhMzQ4NzRhZDZj
YjYxYzI0YjQzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA3LTE3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFtBWF0g
S2V5Ym9hcmQgdGV4dCBjYW5kaWRhdGVzIGRvbid0IHVwZGF0ZSB3aGVuIGNoYW5naW5nIHNlbGVj
dGlvbiB1c2luZyBTd2l0Y2ggQ29udHJvbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI4MDUxCisgICAgICAgIHJkYXI6Ly83OTk0NDI5NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBXZWJLaXQgQ2hh
bmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdDo6c2V0U2VsZWN0ZWRUZXh0UmFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6c2V0U2VsZWN0ZWRWaXNpYmxlUG9zaXRpb25SYW5n
ZSBjb25zdCk6CisKKyAgICAgICAgQ2FsbCB0aGUgbmV3IEVkaXRvckNsaWVudCBtZXRob2RzIGFk
ZGVkIGJlbG93LiBBZGRpdGlvbmFsbHksIGRyaXZlLWJ5IGZpeCBgc2V0U2VsZWN0ZWRWaXNpYmxl
UG9zaXRpb25SYW5nZWAgc28KKyAgICAgICAgdGhhdCBpdCBhbHNvIHBlcmZvcm1zIGEgdXNlci10
cmlnZ2VyZWQgc2VsZWN0aW9uIGNoYW5nZSBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgcmFuZ2UgaXMg
bm90IGNvbGxhcHNlZDsgdGhpcworICAgICAgICBtYXRjaGVzIHRoZSBiZWhhdmlvciBvZiBgc2V0
U2VsZWN0ZWRUZXh0UmFuZ2VgIGFzIHdlbGwuCisKKyAgICAgICAgKiBwYWdlL0VkaXRvckNsaWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50Ojp3aWxsQ2hhbmdlU2VsZWN0aW9u
Rm9yQWNjZXNzaWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnQ6OmRpZENo
YW5nZVNlbGVjdGlvbkZvckFjY2Vzc2liaWxpdHkpOgorCisgICAgICAgIEFkZCBuZXcgRWRpdG9y
Q2xpZW50IGhvb2tzLCBgKHdpbGx8ZGlkKUNoYW5nZVNlbGVjdGlvbkZvckFjY2Vzc2liaWxpdHlg
LCB0aGF0IGFjY2Vzc2liaWxpdHkgY29kZSBjYW4gY2FsbCBiZWZvcmUKKyAgICAgICAgYW5kIGFm
dGVyIGl0IHRyaWdnZXJzIGEgc2VsZWN0aW9uIGNoYW5nZTsgd2UgdXNlIHRoZXNlIHR3byBjb2Rl
cGF0aHMgYWJvdmUgd2hlbiB1c2luZyB0aGUgIlByZXZpb3VzL05leHQKKyAgICAgICAgQ2hhcmFj
dGVyIiwgIlByZXZpb3VzL05leHQgV29yZCIsIGFuZCAiUHJldmlvdXMvTmV4dCBMaW5lIiBTd2l0
Y2ggQ29udHJvbCBtZW51IGFjdGlvbnMuCisKIDIwMjEtMDctMTcgIEFsYW4gQnVqdGFzICA8emFs
YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gTW92ZSBJbmxpbmVMZXZlbEJveCBj
bGFzcyB0byBpdHMgb3duIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjY1ZWZkZjE1OTEzODkxMDQ3MWMzMmU5
NjM5ZjAxMzhkYzFiMjUyZS4uODZjYmFkZGZiYzI4ZDVlZjMxYzc0NmFiOWM4NGY5NzAxNGI4ZDEy
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4OSBAQAorMjAyMS0wNy0xNyAgV2Vuc29uIEhzaWVoICA8
d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBbQVhdIEtleWJvYXJkIHRl
eHQgY2FuZGlkYXRlcyBkb24ndCB1cGRhdGUgd2hlbiBjaGFuZ2luZyBzZWxlY3Rpb24gdXNpbmcg
U3dpdGNoIENvbnRyb2wKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyODA1MQorICAgICAgICByZGFyOi8vNzk5NDQyOTUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgdXBkYXRpbmcg
dGV4dCBjYW5kaWRhdGVzIGJ5IGNhbGxpbmcgaW50byBVSUtleWJvYXJkSW1wbCB3aGVuIGNoYW5n
aW5nIHRoZSBzZWxlY3Rpb24gdmlhCisgICAgICAgIGFjY2Vzc2liaWxpdHkgVUkgKGUuZy4gd2hl
biB1c2luZyBTd2l0Y2ggQ29udHJvbCkuIFRvIGFjaGlldmUgdGhpcywgd2UgYWRkIGEgbmV3IEVk
aXRvclN0YXRlIGZsYWcgdGhhdCBpbmRpY2F0ZXMKKyAgICAgICAgd2hldGhlciBvciBub3QgdGhl
IEVkaXRvclN0YXRlIGNoYW5nZSB3YXMgdHJpZ2dlcmVkIGJ5IGFjY2Vzc2liaWxpdHk7IGluIFdL
Q29udGVudFZpZXcsIHdlIHRoZW4gY29uc3VsdCB0aGlzCisgICAgICAgIGZsYWcgYW5kIGNhbGwg
YC1iZWdpblNlbGVjdGlvbkNoYW5nZS8tZW5kU2VsZWN0aW9uQ2hhbmdlYCBpbiB0aGUgY2FzZSB3
aGVyZSB0aGUgdXBkYXRlZCBlZGl0b3Igc3RhdGUgY2hhbmdlIHdhcworICAgICAgICB0cmlnZ2Vy
ZWQgYnkgYWNjZXNzaWJpbGl0eSBhbmQgd2UncmUgYWxzbyBub3QgYWxyZWFkeSBpbiB0aGUgc2Nv
cGUgb2YgYW5vdGhlciBzZWxlY3Rpb24gY2hhbmdlIG9yIGdlc3R1cmUtYmFzZWQKKyAgICAgICAg
c2VsZWN0aW9uIGNoYW5nZS4KKworICAgICAgICBOb3RlIHRoYXQgdGhlIGxhdHRlciBwYXJ0IG9m
IHRoZSBjaGVjayBpcyBjcml0aWNhbCBpbiBvcmRlciB0byBhdm9pZCBkZWFkbG9ja3MgaW4gVUlL
ZXlib2FyZFRhc2tRdWV1ZTsgc2VlCisgICAgICAgIHIyNDYwMTMsIHIyNDY0MjUgYW5kIHIyNDY2
NjUsIHdoaWNoIGludHJvZHVjZWQgYW5kIGxhdGVyIHJldmVydGVkIGEgc2ltaWxhciBtZWNoYW5p
c20gZm9yIHVwZGF0aW5nCisgICAgICAgIFVJS2V5Ym9hcmRJbXBsLCBidXQgYWZ0ZXIgZXZlcnkg
c2VsZWN0aW9uIGNoYW5nZS4KKworICAgICAgICAqIFNoYXJlZC9FZGl0b3JTdGF0ZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkVkaXRvclN0YXRlOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2Vi
S2l0OjpFZGl0b3JTdGF0ZTo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6b3BlcmF0b3I8PCk6
CisgICAgICAgICogU2hhcmVkL0VkaXRvclN0YXRlLmg6CisKKyAgICAgICAgQWRkIHRoZSBuZXcg
Ym9vbGVhbiBmbGFnLCBgdHJpZ2dlcmVkQnlBY2Nlc3NpYmlsaXR5U2VsZWN0aW9uQ2hhbmdlYC4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZp
ZXcgYmVnaW5TZWxlY3Rpb25DaGFuZ2VdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBlbmRT
ZWxlY3Rpb25DaGFuZ2VdKToKKworICAgICAgICBBZGQgYSBuZXcgYHVuc2lnbmVkYCBmbGFnLCBg
X3NlbGVjdGlvbkNoYW5nZU5lc3RpbmdMZXZlbGAsIHRoYXQgbGV0cyB1cyBrbm93IGlmIHdlJ3Jl
IGV4cGVjdGluZyBhbiBldmVudHVhbCBjYWxsCisgICAgICAgIHRvIGAtZW5kU2VsZWN0aW9uQ2hh
bmdlYC4gU2VlIGAtX3NlbGVjdGlvbkNoYW5nZWRgIGJlbG93IGZvciBtb3JlIGRldGFpbHMuIE5v
dGUgdGhhdCB3ZSBkb24ndCBuZWVkIHRvIHJlc2V0CisgICAgICAgIGBfc2VsZWN0aW9uQ2hhbmdl
TmVzdGluZ0xldmVsYCB0byAwIHdoZW4gY2xlYW5pbmcgdXAgdGhlIGludGVyYWN0aW9uIGFmdGVy
IHdlYiBwcm9jZXNzIHRlcm1pbmF0aW9uLCBiZWNhdXNlCisgICAgICAgIHRoZSBjb21wbGV0aW9u
IGhhbmRsZXJzIHRoYXQgY29udGFpbiBhbGwgdGhlIGJhbGFuY2VkIGNhbGxzIHRvIGAtZW5kU2Vs
ZWN0aW9uQ2hhbmdlYCBzaG91bGQgYmUgaW52b2tlZCBhZnRlcgorICAgICAgICBzdWNoIGFuIGV2
ZW50IGFueXdheXMuCisKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfc2VsZWN0aW9uQ2hhbmdl
ZF0pOgorCisgICAgICAgIElmIHRoZSBgdHJpZ2dlcmVkQnlBY2Nlc3NpYmlsaXR5U2VsZWN0aW9u
Q2hhbmdlYCBiaXQgaXMgc2V0IG9uIHRoZSBpbmNvbWluZyAocG9zdCBsYXlvdXQgZGF0YSkgRWRp
dG9yU3RhdGUgYW5kOgorICAgICAgICAoMSkgVUlLaXQgaXNuJ3QgaW4gdGhlIG1pZGRsZSBvZiBo
YW5kbGluZyBhIGdlc3R1cmUgdGhhdCBtb2RpZmllcyB0aGUgc2VsZWN0aW9uLCBhbmQuLi4KKyAg
ICAgICAgKDIpIFdlIGFyZW4ndCBleHBlY3RpbmcgYSBjYWxsIHRvIGAtZW5kU2VsZWN0aW9uQ2hh
bmdlYC4KKworICAgICAgICAuLi50aGVuIHdlIGZvcmNlIFVJS2V5Ym9hcmRJbXBsIHRvIHJlbG9h
ZCBpdHMgVUkgKHRleHQgc3VnZ2VzdGlvbnMsIEIvSS9VIHN0YXRlLCBldGMuKSB1c2luZyB0aGUg
aW5jb21pbmcKKyAgICAgICAgRWRpdG9yU3RhdGUuIFRoaXMgYWxsb3dzIGFjY2Vzc2liaWxpdHkt
ZHJpdmVuIHNlbGVjdGlvbiBjaGFuZ2VzIHVzaW5nIFN3aXRjaCBDb250cm9sIHRvIGJlaGF2ZSBs
aWtlIGdlc3R1cmUtCisgICAgICAgIGJhc2VkIHNlbGVjdGlvbiBjaGFuZ2VzLgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJFZGl0b3JDbGllbnQ6OndpbGxDaGFuZ2VTZWxlY3Rpb25Gb3JBY2Nlc3Np
YmlsaXR5KToKKyAgICAgICAgKFdlYktpdDo6V2ViRWRpdG9yQ2xpZW50OjpkaWRDaGFuZ2VTZWxl
Y3Rpb25Gb3JBY2Nlc3NpYmlsaXR5KToKKworICAgICAgICBJbXBsZW1lbnQgYSBjb3VwbGUgb2Yg
Y2xpZW50IGhvb2tzIGluIFdlYktpdDIgc28gdGhhdCB3ZSBzZXQgYSBib29sZWFuIGZsYWcgb24g
V2ViUGFnZSwKKyAgICAgICAgYG1faXNDaGFuZ2luZ1NlbGVjdGlvbkZvckFjY2Vzc2liaWxpdHlg
LCB0byBgdHJ1ZWAgb3ZlciB0aGUgc2NvcGUgb2YgYW4gQVgtZHJpdmVuIHNlbGVjdGlvbiBjaGFu
Z2UuIFNlZSByZWxhdGVkCisgICAgICAgIEFYIGNoYW5nZXMgaW4gV2ViQ29yZSBmb3IgbW9yZSBk
ZXRhaWxzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JD
bGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6Omhhc1BlbmRpbmdFZGl0b3JTdGF0ZVVwZGF0ZSBjb25zdCk6
CisKKyAgICAgICAgQWRkIGEgaGVscGVyIG1ldGhvZCBzbyB0aGF0IHdlIGNhbiBjb252ZW5pZW50
bHkgY2hlY2sgd2hldGhlciB3ZSBoYXZlIGEgcGVuZGluZyBlZGl0b3Igc3RhdGUgdXBkYXRlIHRv
IGZsdXNoLAorICAgICAgICBzaW5jZSB0aGUgcHJldmlvdXMgYm9vbGVhbiBmbGFnIGlzIG5vdyBh
IHRyaS1zdGF0ZSBlbnVtIChgbV9wZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGVTdGF0dXNgKS4KKwor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjplZGl0b3JTdGF0ZSBjb25zdCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OndpbGxDb21taXRMYXllclRyZWUpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpzZW5kRWRpdG9yU3RhdGVVcGRhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
OjpzY2hlZHVsZUZ1bGxFZGl0b3JTdGF0ZVVwZGF0ZSk6CisKKyAgICAgICAgSWYgd2UncmUgaW4g
dGhlIHNjb3BlIG9mIGFuIGFjY2Vzc2liaWxpdHkgc2VsZWN0aW9uIGNoYW5nZSwgdHJhbnNpdGlv
biBgbV9wZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGVTdGF0dXNgIHRvCisgICAgICAgIGBTY2hlZHVs
ZWREdXJpbmdBY2Nlc3NpYmlsaXR5U2VsZWN0aW9uQ2hhbmdlYDsgb3RoZXJ3aXNlLCBqdXN0IHVz
ZSBgU2NoZWR1bGVkYC4KKworICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpmbHVzaFBlbmRpbmdF
ZGl0b3JTdGF0ZVVwZGF0ZSk6CisKKyAgICAgICAgUmVmYWN0b3IgYG1faGFzUGVuZGluZ0VkaXRv
clN0YXRlVXBkYXRlYCBzbyB0aGF0IGl0IG5vdyBjYXB0dXJlcyB0aHJlZSBzdGF0ZXM6CisgICAg
ICAgICgxKSBXZSBoYXZlbid0IHNjaGVkdWxlZCBhbiBlZGl0b3Igc3RhdGUgdXBkYXRlIHlldC4K
KyAgICAgICAgKDIpIFdlJ3ZlIHNjaGVkdWxlZCBhbiBlZGl0b3Igc3RhdGUgdXBkYXRlIHRoYXQg
d2FzIG5vdCB0cmlnZ2VyZWQgYnkgYWNjZXNzaWJpbGl0eS4KKyAgICAgICAgKDMpIFdlJ3ZlIHNj
aGVkdWxlZCBhbiBlZGl0b3Igc3RhdGUgdXBkYXRlIHRoYXQgd2FzIHRyaWdnZXJlZCBieSBhY2Nl
c3NpYmlsaXR5LgorCisgICAgICAgIFRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuICgyKSBhbmQgKDMp
IGFsbG93cyB1cyB0byBwb3B1bGF0ZSBFZGl0b3JTdGF0ZSdzIG5ldworICAgICAgICBgdHJpZ2dl
cmVkQnlBY2Nlc3NpYmlsaXR5U2VsZWN0aW9uQ2hhbmdlYCBmbGFnLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6d2ls
bENoYW5nZVNlbGVjdGlvbkZvckFjY2Vzc2liaWxpdHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjpkaWRDaGFuZ2VTZWxlY3Rpb25Gb3JBY2Nlc3NpYmlsaXR5KToKKwogMjAyMS0wNy0xNiAg
S2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBXS1dl
YlZpZXcgamF2YXNjcmlwdCBpbmplY3Rpb24gZG9lc24ndCB3b3JrIGlmIGFwcCBpbmNsdWRlcyBX
S0FwcEJvdW5kRG9tYWlucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXggOTgyMDlhYmNmNTQxYWU1
ZTFhMzY2MDJiNjk1YmY5Y2VmMmEyOWE2NC4uOTIxMzk3NWVlNzhkNGY5NzVmOWJmZDNiMWVlYmE1
MjY0MDBhMTJiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC00MSw2ICs0MSw3IEBACiAjaW5j
bHVkZSAiRG9jdW1lbnRTVkcuaCIKICNpbmNsdWRlICJFZGl0aW5nLmgiCiAjaW5jbHVkZSAiRWRp
dG9yLmgiCisjaW5jbHVkZSAiRWRpdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudEl0ZXJh
dG9yLmgiCiAjaW5jbHVkZSAiRXZlbnRIYW5kbGVyLmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0Lmgi
CkBAIC0xNzE2LDYgKzE3MTcsOSBAQCB2b2lkIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnNl
dFNlbGVjdGVkVGV4dFJhbmdlKGNvbnN0IFBsYWluVGV4dFJhbmdlJiByYW5nZQogewogICAgIHNl
dFRleHRTZWxlY3Rpb25JbnRlbnQoYXhPYmplY3RDYWNoZSgpLCByYW5nZS5sZW5ndGggPyBBWFRl
eHRTdGF0ZUNoYW5nZVR5cGVTZWxlY3Rpb25FeHRlbmQgOiBBWFRleHRTdGF0ZUNoYW5nZVR5cGVT
ZWxlY3Rpb25Nb3ZlKTsKIAorICAgIGlmIChhdXRvIGNsaWVudCA9IG1fcmVuZGVyZXItPmRvY3Vt
ZW50KCkuZWRpdG9yKCkuY2xpZW50KCkpCisgICAgICAgIGNsaWVudC0+d2lsbENoYW5nZVNlbGVj
dGlvbkZvckFjY2Vzc2liaWxpdHkoKTsKKwogICAgIGlmIChpc05hdGl2ZVRleHRDb250cm9sKCkp
IHsKICAgICAgICAgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQmIHRleHRDb250cm9sID0gZG93
bmNhc3Q8UmVuZGVyVGV4dENvbnRyb2w+KCptX3JlbmRlcmVyKS50ZXh0Rm9ybUNvbnRyb2xFbGVt
ZW50KCk7CiAgICAgICAgIHRleHRDb250cm9sLnNldFNlbGVjdGlvblJhbmdlKHJhbmdlLnN0YXJ0
LCByYW5nZS5zdGFydCArIHJhbmdlLmxlbmd0aCk7CkBAIC0xNzMzLDYgKzE3MzcsOSBAQCB2b2lk
IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnNldFNlbGVjdGVkVGV4dFJhbmdlKGNvbnN0IFBs
YWluVGV4dFJhbmdlJiByYW5nZQogICAgIH0KICAgICAKICAgICBjbGVhclRleHRTZWxlY3Rpb25J
bnRlbnQoYXhPYmplY3RDYWNoZSgpKTsKKworICAgIGlmIChhdXRvIGNsaWVudCA9IG1fcmVuZGVy
ZXItPmRvY3VtZW50KCkuZWRpdG9yKCkuY2xpZW50KCkpCisgICAgICAgIGNsaWVudC0+ZGlkQ2hh
bmdlU2VsZWN0aW9uRm9yQWNjZXNzaWJpbGl0eSgpOwogfQogCiBVUkwgQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdDo6dXJsKCkgY29uc3QKQEAgLTIyNzUsNiArMjI4Miw5IEBAIHZvaWQgQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdDo6c2V0U2VsZWN0ZWRWaXNpYmxlUG9zaXRpb25SYW5nZShjb25z
dCBWaXNpYmxlUG9zCiAgICAgICAgICYmIGlzVmlzaWJsZVBvc2l0aW9uUmFuZ2VJbkRpZmZlcmVu
dERvY3VtZW50KHJhbmdlKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKGF1dG8gY2xpZW50
ID0gbV9yZW5kZXJlci0+ZG9jdW1lbnQoKS5lZGl0b3IoKS5jbGllbnQoKSkKKyAgICAgICAgY2xp
ZW50LT53aWxsQ2hhbmdlU2VsZWN0aW9uRm9yQWNjZXNzaWJpbGl0eSgpOworCiAgICAgLy8gbWFr
ZSBzZWxlY3Rpb24gYW5kIHRlbGwgdGhlIGRvY3VtZW50IHRvIHVzZSBpdC4gaWYgaXQncyB6ZXJv
IGxlbmd0aCwgdGhlbiBtb3ZlIHRvIHRoYXQgcG9zaXRpb24KICAgICBpZiAocmFuZ2Uuc3RhcnQg
PT0gcmFuZ2UuZW5kKSB7CiAgICAgICAgIHNldFRleHRTZWxlY3Rpb25JbnRlbnQoYXhPYmplY3RD
YWNoZSgpLCBBWFRleHRTdGF0ZUNoYW5nZVR5cGVTZWxlY3Rpb25Nb3ZlKTsKQEAgLTIyOTAsMTAg
KzIzMDAsMTMgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpzZXRTZWxlY3RlZFZp
c2libGVQb3NpdGlvblJhbmdlKGNvbnN0IFZpc2libGVQb3MKICAgICAgICAgc2V0VGV4dFNlbGVj
dGlvbkludGVudChheE9iamVjdENhY2hlKCksIEFYVGV4dFN0YXRlQ2hhbmdlVHlwZVNlbGVjdGlv
bkV4dGVuZCk7CiAKICAgICAgICAgVmlzaWJsZVNlbGVjdGlvbiBuZXdTZWxlY3Rpb24gPSBWaXNp
YmxlU2VsZWN0aW9uKHJhbmdlLnN0YXJ0LCByYW5nZS5lbmQpOwotICAgICAgICBtX3JlbmRlcmVy
LT5mcmFtZSgpLnNlbGVjdGlvbigpLnNldFNlbGVjdGlvbihuZXdTZWxlY3Rpb24sIEZyYW1lU2Vs
ZWN0aW9uOjpkZWZhdWx0U2V0U2VsZWN0aW9uT3B0aW9ucygpKTsKKyAgICAgICAgbV9yZW5kZXJl
ci0+ZnJhbWUoKS5zZWxlY3Rpb24oKS5zZXRTZWxlY3Rpb24obmV3U2VsZWN0aW9uLCBGcmFtZVNl
bGVjdGlvbjo6ZGVmYXVsdFNldFNlbGVjdGlvbk9wdGlvbnMoVXNlclRyaWdnZXJlZCkpOwogICAg
IH0KIAogICAgIGNsZWFyVGV4dFNlbGVjdGlvbkludGVudChheE9iamVjdENhY2hlKCkpOworCisg
ICAgaWYgKGF1dG8gY2xpZW50ID0gbV9yZW5kZXJlci0+ZG9jdW1lbnQoKS5lZGl0b3IoKS5jbGll
bnQoKSkKKyAgICAgICAgY2xpZW50LT5kaWRDaGFuZ2VTZWxlY3Rpb25Gb3JBY2Nlc3NpYmlsaXR5
KCk7CiB9CiAKIFZpc2libGVQb3NpdGlvbiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojp2aXNp
YmxlUG9zaXRpb25Gb3JQb2ludChjb25zdCBJbnRQb2ludCYgcG9pbnQpIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0VkaXRvckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9FZGl0b3JDbGllbnQuaAppbmRleCBmNjE4NWExMjM1Y2ZjZTdiNzQ5MjhhZGU3MzI4YTEw
YzNlMjAwNjA5Li44MjM3NGU3MjYyYzcwZWE5ZGZlNGQ2NGYyNWFiMTM1YWE2MDMzM2NmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0VkaXRvckNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50LmgKQEAgLTE5Miw2ICsxOTIsOSBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBib29sIGNhblNob3dGb250UGFuZWwoKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0
dWFsIGJvb2wgc2hvdWxkQWxsb3dTaW5nbGVDbGlja1RvQ2hhbmdlU2VsZWN0aW9uKE5vZGUmLCBj
b25zdCBWaXNpYmxlU2VsZWN0aW9uJikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorCisgICAgdmly
dHVhbCB2b2lkIHdpbGxDaGFuZ2VTZWxlY3Rpb25Gb3JBY2Nlc3NpYmlsaXR5KCkgeyB9CisgICAg
dmlydHVhbCB2b2lkIGRpZENoYW5nZVNlbGVjdGlvbkZvckFjY2Vzc2liaWxpdHkoKSB7IH0KIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0VkaXRvclN0YXRlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0VkaXRvclN0YXRlLmNwcAppbmRleCBmZGQ4N2VmOGYyYjMw
MjcyMzc0NzMxMjVmNDEyYWZmMzRmYzM1NzY4Li4zODA4MGJlNzIyNDFjZjdhYjcwYjAxM2NkYThm
ZjcwOWJkZDBjYTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRWRpdG9yU3RhdGUuY3BwCkBAIC00NSw2
ICs0NSw3IEBAIHZvaWQgRWRpdG9yU3RhdGU6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIp
IGNvbnN0CiAgICAgZW5jb2RlciA8PCBpc0luUGFzc3dvcmRGaWVsZDsKICAgICBlbmNvZGVyIDw8
IGlzSW5QbHVnaW47CiAgICAgZW5jb2RlciA8PCBoYXNDb21wb3NpdGlvbjsKKyAgICBlbmNvZGVy
IDw8IHRyaWdnZXJlZEJ5QWNjZXNzaWJpbGl0eVNlbGVjdGlvbkNoYW5nZTsKICAgICBlbmNvZGVy
IDw8IGlzTWlzc2luZ1Bvc3RMYXlvdXREYXRhOwogICAgIGlmICghaXNNaXNzaW5nUG9zdExheW91
dERhdGEpCiAgICAgICAgIG1fcG9zdExheW91dERhdGEuZW5jb2RlKGVuY29kZXIpOwpAQCAtODUs
NiArODYsOSBAQCBib29sIEVkaXRvclN0YXRlOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVy
LCBFZGl0b3JTdGF0ZSYgcmVzdWx0KQogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lmhh
c0NvbXBvc2l0aW9uKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShyZXN1bHQudHJpZ2dlcmVkQnlBY2Nlc3NpYmlsaXR5U2VsZWN0aW9uQ2hhbmdlKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQu
aXNNaXNzaW5nUG9zdExheW91dERhdGEpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTI4
MSw2ICsyODUsOCBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25z
dCBFZGl0b3JTdGF0ZSYgZWRpdG9yU3RhdGUpCiAgICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgiaXNJ
blBsdWdpbiIsIGVkaXRvclN0YXRlLmlzSW5QbHVnaW4pOwogICAgIGlmIChlZGl0b3JTdGF0ZS5o
YXNDb21wb3NpdGlvbikKICAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJoYXNDb21wb3NpdGlvbiIs
IGVkaXRvclN0YXRlLmhhc0NvbXBvc2l0aW9uKTsKKyAgICBpZiAoZWRpdG9yU3RhdGUudHJpZ2dl
cmVkQnlBY2Nlc3NpYmlsaXR5U2VsZWN0aW9uQ2hhbmdlKQorICAgICAgICB0cy5kdW1wUHJvcGVy
dHkoInRyaWdnZXJlZEJ5QWNjZXNzaWJpbGl0eVNlbGVjdGlvbkNoYW5nZSIsIGVkaXRvclN0YXRl
LnRyaWdnZXJlZEJ5QWNjZXNzaWJpbGl0eVNlbGVjdGlvbkNoYW5nZSk7CiAgICAgaWYgKGVkaXRv
clN0YXRlLmlzTWlzc2luZ1Bvc3RMYXlvdXREYXRhKQogICAgICAgICB0cy5kdW1wUHJvcGVydHko
ImlzTWlzc2luZ1Bvc3RMYXlvdXREYXRhIiwgZWRpdG9yU3RhdGUuaXNNaXNzaW5nUG9zdExheW91
dERhdGEpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0ZS5o
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvRWRpdG9yU3RhdGUuaAppbmRleCA0ODgwNTM4ZDU2NGQz
MWVmMTZmOTNjOTA2N2RjODZjY2VhNzM4NjI1Li45OTc1M2Y1MDc5YzdjMGM5NThjZTNhMjE1MmRh
NjFmOGJjZjA4MmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0VkaXRvclN0YXRlLmgKQEAgLTgxLDYgKzgx
LDcgQEAgc3RydWN0IEVkaXRvclN0YXRlIHsKICAgICBib29sIGlzSW5QYXNzd29yZEZpZWxkIHsg
ZmFsc2UgfTsKICAgICBib29sIGlzSW5QbHVnaW4geyBmYWxzZSB9OwogICAgIGJvb2wgaGFzQ29t
cG9zaXRpb24geyBmYWxzZSB9OworICAgIGJvb2wgdHJpZ2dlcmVkQnlBY2Nlc3NpYmlsaXR5U2Vs
ZWN0aW9uQ2hhbmdlIHsgZmFsc2UgfTsKICAgICBib29sIGlzTWlzc2luZ1Bvc3RMYXlvdXREYXRh
IHsgdHJ1ZSB9OwogCiAgICAgc3RydWN0IFBvc3RMYXlvdXREYXRhIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRl
eCAyNmExZTJkZWZhMTE1MTQzNTUxNDhkZWU1ZGFkY2Q5YzE3YTQyMDhkLi4xZjE3YTJkZWU4NTA0
MzYwZWU0ODA4ZDkxZWQ3YmNiNmQyNTI4OGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC00NjMsNiArNDYz
LDcgQEAgdXNpbmcgSW1hZ2VBbmFseXNpc1JlcXVlc3RJZGVudGlmaWVyID0gT2JqZWN0SWRlbnRp
ZmllcjxJbWFnZUFuYWx5c2lzUmVxdWVzdElkZW4KICAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5
PiBfYWRkaXRpb25hbENvbnRleHRGb3JTdHJvbmdQYXNzd29yZEFzc2lzdGFuY2U7CiAKICAgICBz
dGQ6Om9wdGlvbmFsPFVDaGFyMzI+IF9sYXN0SW5zZXJ0ZWRDaGFyYWN0ZXJUb092ZXJyaWRlQ2hh
cmFjdGVyQmVmb3JlU2VsZWN0aW9uOworICAgIHVuc2lnbmVkIF9zZWxlY3Rpb25DaGFuZ2VOZXN0
aW5nTGV2ZWw7CiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIFdlYktpdDo6RHJhZ0Ry
b3BJbnRlcmFjdGlvblN0YXRlIF9kcmFnRHJvcEludGVyYWN0aW9uU3RhdGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bQppbmRleCBhM2IzZThiM2NkZmM5ZTA4YmI4ZDc5ZjBjNDg4ZjJmZGM5NjJiYTFiLi5lMjgyMDVk
ZWZhODZkOTVjZjExNTM0ZTU1YjQ5MzJjZGZjZDQ1ODZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTQ5
MzEsMTIgKzQ5MzEsMTkgQEAgLSAoQk9PTClfYWxsb3dBbmltYXRlZFVwZGF0ZVNlbGVjdGlvblJl
Y3RWaWV3cwogCiAtICh2b2lkKWJlZ2luU2VsZWN0aW9uQ2hhbmdlCiB7CisgICAgX3NlbGVjdGlv
bkNoYW5nZU5lc3RpbmdMZXZlbCsrOworCiAgICAgW3NlbGYuaW5wdXREZWxlZ2F0ZSBzZWxlY3Rp
b25XaWxsQ2hhbmdlOnNlbGZdOwogfQogCiAtICh2b2lkKWVuZFNlbGVjdGlvbkNoYW5nZQogewog
ICAgIFtzZWxmLmlucHV0RGVsZWdhdGUgc2VsZWN0aW9uRGlkQ2hhbmdlOnNlbGZdOworCisgICAg
aWYgKF9zZWxlY3Rpb25DaGFuZ2VOZXN0aW5nTGV2ZWwpCisgICAgICAgIF9zZWxlY3Rpb25DaGFu
Z2VOZXN0aW5nTGV2ZWwtLTsKKyAgICBlbHNlCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogfQogCiAtICh2b2lkKXdpbGxGaW5pc2hJZ25vcmluZ0NhbGxvdXRCYXJGYWRlQWZ0ZXJQZXJm
b3JtaW5nQWN0aW9uCkBAIC03MTk2LDYgKzcyMDMsMTIgQEAgLSAodm9pZClfc2VsZWN0aW9uQ2hh
bmdlZAogICAgICAgICBfbGFzdEluc2VydGVkQ2hhcmFjdGVyVG9PdmVycmlkZUNoYXJhY3RlckJl
Zm9yZVNlbGVjdGlvbiA9IHN0ZDo6bnVsbG9wdDsKICAgICAgICAgaWYgKCFfdXNpbmdHZXN0dXJl
Rm9yU2VsZWN0aW9uICYmIF9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmF1dG9jYXBpdGFsaXpl
VHlwZSA9PSBXZWJDb3JlOjpBdXRvY2FwaXRhbGl6ZVR5cGU6OldvcmRzKQogICAgICAgICAgICAg
W1VJS2V5Ym9hcmRJbXBsLnNoYXJlZEluc3RhbmNlIGNsZWFyU2hpZnRTdGF0ZV07CisKKyAgICAg
ICAgaWYgKCFfdXNpbmdHZXN0dXJlRm9yU2VsZWN0aW9uICYmICFfc2VsZWN0aW9uQ2hhbmdlTmVz
dGluZ0xldmVsICYmIF9wYWdlLT5lZGl0b3JTdGF0ZSgpLnRyaWdnZXJlZEJ5QWNjZXNzaWJpbGl0
eVNlbGVjdGlvbkNoYW5nZSkgeworICAgICAgICAgICAgLy8gRm9yY2UgVUlLaXQgdG8gcmVsb2Fk
IGFsbCBFZGl0b3JTdGF0ZS1iYXNlZCBVSTsgaW4gcGFydGljdWxhciwgdGhpcyBpbmNsdWRlcyB0
ZXh0IGNhbmRpZGF0ZXMuCisgICAgICAgICAgICBbc2VsZiBiZWdpblNlbGVjdGlvbkNoYW5nZV07
CisgICAgICAgICAgICBbc2VsZiBlbmRTZWxlY3Rpb25DaGFuZ2VdOworICAgICAgICB9CiAgICAg
fQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRWRpdG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCmluZGV4IDkzMGNiMzMzNjFkZDM4ZDdjYTYzMGY0
NTEyZWRmMTExNWEyYzdmMDEuLjk1NzE2M2EyODcxZThlY2NmYWQ1Y2ZjMDExZWYxNjZmZDI3YzNh
MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJFZGl0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCkBAIC01ODcsNiArNTg3LDE2IEBAIHZvaWQgV2Vi
RWRpdG9yQ2xpZW50OjpyZXF1ZXN0Q2hlY2tpbmdPZlN0cmluZyhUZXh0Q2hlY2tpbmdSZXF1ZXN0
JiByZXF1ZXN0LCBjb25zCiAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6
OlJlcXVlc3RDaGVja2luZ09mU3RyaW5nKHJlcXVlc3RJRCwgcmVxdWVzdC5kYXRhKCksIGluc2Vy
dGlvblBvaW50RnJvbUN1cnJlbnRTZWxlY3Rpb24oY3VycmVudFNlbGVjdGlvbikpKTsKIH0KIAor
dm9pZCBXZWJFZGl0b3JDbGllbnQ6OndpbGxDaGFuZ2VTZWxlY3Rpb25Gb3JBY2Nlc3NpYmlsaXR5
KCkKK3sKKyAgICBtX3BhZ2UtPndpbGxDaGFuZ2VTZWxlY3Rpb25Gb3JBY2Nlc3NpYmlsaXR5KCk7
Cit9CisKK3ZvaWQgV2ViRWRpdG9yQ2xpZW50OjpkaWRDaGFuZ2VTZWxlY3Rpb25Gb3JBY2Nlc3Np
YmlsaXR5KCkKK3sKKyAgICBtX3BhZ2UtPmRpZENoYW5nZVNlbGVjdGlvbkZvckFjY2Vzc2liaWxp
dHkoKTsKK30KKwogdm9pZCBXZWJFZGl0b3JDbGllbnQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRl
KCkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJFZGl0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaAppbmRleCAzMGU1NmY3MzhkZDhlNWMxMDUwOGZjYWMw
N2U2NTU5NjVmN2I0OWQ4Li41MDZkOWY1NDEzOGQzN2NiNGM2NGVkNDYwZjU5YTVjMjhmZTUyMmE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RWRpdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkVkaXRvckNsaWVudC5oCkBAIC0xOTEsNiArMTkxLDkgQEAgcHJpdmF0ZToKICAgICBi
b29sIHNob3VsZFN1cHByZXNzUGFzc3dvcmRFY2hvKCkgY29uc3QgZmluYWw7CiAjZW5kaWYKIAor
ICAgIHZvaWQgd2lsbENoYW5nZVNlbGVjdGlvbkZvckFjY2Vzc2liaWxpdHkoKSBmaW5hbDsKKyAg
ICB2b2lkIGRpZENoYW5nZVNlbGVjdGlvbkZvckFjY2Vzc2liaWxpdHkoKSBmaW5hbDsKKwogICAg
IGJvb2wgcGVyZm9ybVR3b1N0ZXBEcm9wKFdlYkNvcmU6OkRvY3VtZW50RnJhZ21lbnQmLCBjb25z
dCBXZWJDb3JlOjpTaW1wbGVSYW5nZSYsIGJvb2wgaXNNb3ZlKSBmaW5hbDsKICAgICBib29sIHN1
cHBvcnRzR2xvYmFsU2VsZWN0aW9uKCkgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZTMzMzNmZjE1MmJlYzQ5ZDIzMDFlMWI0Y2Fk
N2QyOGRkNWY4ODI3Ny4uMzlhMDQyYWVmZDk4OTExOTRjNGIxZjY1ODg0NDVjOTMyODhlMTc1NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTEx
OTYsNiArMTE5NiwxMSBAQCBXZWJDb3JlOjpXZWJHTExvYWRQb2xpY3kgV2ViUGFnZTo6cmVzb2x2
ZVdlYkdMUG9saWN5Rm9yVVJMKFdlYkZyYW1lKiwgY29uc3QgVVJMJgogfQogI2VuZGlmCiAKK2Jv
b2wgV2ViUGFnZTo6aGFzUGVuZGluZ0VkaXRvclN0YXRlVXBkYXRlKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9wZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGVTdGF0dXMgIT0gUGVuZGluZ0VkaXRvclN0
YXRlVXBkYXRlU3RhdHVzOjpOb3RTY2hlZHVsZWQ7Cit9CisKIEVkaXRvclN0YXRlIFdlYlBhZ2U6
OmVkaXRvclN0YXRlKFNob3VsZFBlcmZvcm1MYXlvdXQgc2hvdWxkUGVyZm9ybUxheW91dCkgY29u
c3QKIHsKICAgICAvLyBSZWYgdGhlIGZyYW1lIGJlY2F1c2UgdGhpcyBmdW5jdGlvbiBtYXkgcGVy
Zm9ybSBsYXlvdXQsIHdoaWNoIG1heSBjYXVzZSBmcmFtZSBkZXN0cnVjdGlvbi4KQEAgLTEyMjMs
NiArMTIyOCw3IEBAIEVkaXRvclN0YXRlIFdlYlBhZ2U6OmVkaXRvclN0YXRlKFNob3VsZFBlcmZv
cm1MYXlvdXQgc2hvdWxkUGVyZm9ybUxheW91dCkgY29uc3QKICAgICByZXN1bHQuaXNJblBhc3N3
b3JkRmllbGQgPSBzZWxlY3Rpb24uaXNJblBhc3N3b3JkRmllbGQoKTsKICAgICByZXN1bHQuaGFz
Q29tcG9zaXRpb24gPSBlZGl0b3IuaGFzQ29tcG9zaXRpb24oKTsKICAgICByZXN1bHQuc2hvdWxk
SWdub3JlU2VsZWN0aW9uQ2hhbmdlcyA9IGVkaXRvci5pZ25vcmVTZWxlY3Rpb25DaGFuZ2VzKCkg
fHwgKGVkaXRvci5jbGllbnQoKSAmJiAhZWRpdG9yLmNsaWVudCgpLT5zaG91bGRSZXZlYWxDdXJy
ZW50U2VsZWN0aW9uQWZ0ZXJJbnNlcnRpb24oKSk7CisgICAgcmVzdWx0LnRyaWdnZXJlZEJ5QWNj
ZXNzaWJpbGl0eVNlbGVjdGlvbkNoYW5nZSA9IG1fcGVuZGluZ0VkaXRvclN0YXRlVXBkYXRlU3Rh
dHVzID09IFBlbmRpbmdFZGl0b3JTdGF0ZVVwZGF0ZVN0YXR1czo6U2NoZWR1bGVkRHVyaW5nQWNj
ZXNzaWJpbGl0eVNlbGVjdGlvbkNoYW5nZSB8fCBtX2lzQ2hhbmdpbmdTZWxlY3Rpb25Gb3JBY2Nl
c3NpYmlsaXR5OwogCiAgICAgUmVmPERvY3VtZW50PiBkb2N1bWVudCA9ICpmcmFtZS0+ZG9jdW1l
bnQoKTsKICAgICByZXN1bHQub3JpZ2luSWRlbnRpZmllckZvclBhc3RlYm9hcmQgPSBkb2N1bWVu
dC0+b3JpZ2luSWRlbnRpZmllckZvclBhc3RlYm9hcmQoKTsKQEAgLTQxMjEsOSArNDEyNyw5IEBA
IHZvaWQgV2ViUGFnZTo6d2lsbENvbW1pdExheWVyVHJlZShSZW1vdGVMYXllclRyZWVUcmFuc2Fj
dGlvbiYgbGF5ZXJUcmFuc2FjdGlvbikKICAgICBtX3BlbmRpbmdQYWdlRXh0ZW5kZWRCYWNrZ3Jv
dW5kQ29sb3JDaGFuZ2UgPSBmYWxzZTsKICAgICBtX3BlbmRpbmdTYW1wbGVkUGFnZVRvcENvbG9y
Q2hhbmdlID0gZmFsc2U7CiAKLSAgICBpZiAobV9oYXNQZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGUp
IHsKKyAgICBpZiAoaGFzUGVuZGluZ0VkaXRvclN0YXRlVXBkYXRlKCkpIHsKICAgICAgICAgbGF5
ZXJUcmFuc2FjdGlvbi5zZXRFZGl0b3JTdGF0ZShlZGl0b3JTdGF0ZSgpKTsKLSAgICAgICAgbV9o
YXNQZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGUgPSBmYWxzZTsKKyAgICAgICAgbV9wZW5kaW5nRWRp
dG9yU3RhdGVVcGRhdGVTdGF0dXMgPSBQZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGVTdGF0dXM6Ok5v
dFNjaGVkdWxlZDsKICAgICB9CiB9CiAKQEAgLTY0NDUsNyArNjQ1MSw3IEBAIHZvaWQgV2ViUGFn
ZTo6c2VuZEVkaXRvclN0YXRlVXBkYXRlKCkKICAgICBpZiAoZnJhbWUuZWRpdG9yKCkuaWdub3Jl
U2VsZWN0aW9uQ2hhbmdlcygpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2hhc1BlbmRpbmdF
ZGl0b3JTdGF0ZVVwZGF0ZSA9IGZhbHNlOworICAgIG1fcGVuZGluZ0VkaXRvclN0YXRlVXBkYXRl
U3RhdHVzID0gUGVuZGluZ0VkaXRvclN0YXRlVXBkYXRlU3RhdHVzOjpOb3RTY2hlZHVsZWQ7CiAK
ICAgICAvLyBJZiB3ZSBpbW1lZGlhdGVseSBkaXNwYXRjaCBhbiBFZGl0b3JTdGF0ZSB1cGRhdGUg
dG8gdGhlIFVJIHByb2Nlc3MsIGxheW91dCBtYXkgbm90IGJlIHVwIHRvIGRhdGUgeWV0LgogICAg
IC8vIElmIHRoYXQgaXMgdGhlIGNhc2UsIGp1c3Qgc2VuZCB3aGF0IHdlIGhhdmUgKGkuZS4gZG9u
J3QgaW5jbHVkZSBwb3N0LWxheW91dCBkYXRhKSBhbmQgd2FpdCB1bnRpbCB0aGUKQEAgLTY0NTks
MTAgKzY0NjUsMTcgQEAgdm9pZCBXZWJQYWdlOjpzZW5kRWRpdG9yU3RhdGVVcGRhdGUoKQogCiB2
b2lkIFdlYlBhZ2U6OnNjaGVkdWxlRnVsbEVkaXRvclN0YXRlVXBkYXRlKCkKIHsKLSAgICBpZiAo
bV9oYXNQZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGUpCisgICAgaWYgKGhhc1BlbmRpbmdFZGl0b3JT
dGF0ZVVwZGF0ZSgpKSB7CisgICAgICAgIGlmIChtX2lzQ2hhbmdpbmdTZWxlY3Rpb25Gb3JBY2Nl
c3NpYmlsaXR5KQorICAgICAgICAgICAgbV9wZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGVTdGF0dXMg
PSBQZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGVTdGF0dXM6OlNjaGVkdWxlZER1cmluZ0FjY2Vzc2li
aWxpdHlTZWxlY3Rpb25DaGFuZ2U7CiAgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAo
bV9pc0NoYW5naW5nU2VsZWN0aW9uRm9yQWNjZXNzaWJpbGl0eSkKKyAgICAgICAgbV9wZW5kaW5n
RWRpdG9yU3RhdGVVcGRhdGVTdGF0dXMgPSBQZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGVTdGF0dXM6
OlNjaGVkdWxlZER1cmluZ0FjY2Vzc2liaWxpdHlTZWxlY3Rpb25DaGFuZ2U7CisgICAgZWxzZQor
ICAgICAgICBtX3BlbmRpbmdFZGl0b3JTdGF0ZVVwZGF0ZVN0YXR1cyA9IFBlbmRpbmdFZGl0b3JT
dGF0ZVVwZGF0ZVN0YXR1czo6U2NoZWR1bGVkOwogCi0gICAgbV9oYXNQZW5kaW5nRWRpdG9yU3Rh
dGVVcGRhdGUgPSB0cnVlOwogICAgIC8vIEZJWE1FOiBTY2hlZHVsaW5nIGEgY29tcG9zaXRpbmcg
bGF5ZXIgZmx1c2ggaGVyZSBjYW4gYmUgbW9yZSBleHBlbnNpdmUgdGhhbiBuZWNlc3NhcnkuCiAg
ICAgLy8gSW5zdGVhZCwgd2Ugc2hvdWxkIGp1c3QgY29tcHV0ZSBhbmQgc2VuZCBwb3N0LWxheW91
dCBlZGl0b3Igc3RhdGUgZHVyaW5nIHRoZSBuZXh0IGZyYW1lLgogICAgIG1fZHJhd2luZ0FyZWEt
PnRyaWdnZXJSZW5kZXJpbmdVcGRhdGUoKTsKQEAgLTY1MjIsNyArNjUzNSw3IEBAIHZvaWQgV2Vi
UGFnZTo6Zmx1c2hQZW5kaW5nU2FtcGxlZFBhZ2VUb3BDb2xvckNoYW5nZSgpCiAKIHZvaWQgV2Vi
UGFnZTo6Zmx1c2hQZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGUoKQogewotICAgIGlmICghbV9oYXNQ
ZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGUpCisgICAgaWYgKCFoYXNQZW5kaW5nRWRpdG9yU3RhdGVV
cGRhdGUoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgRnJhbWUmIGZyYW1lID0gbV9wYWdlLT5m
b2N1c0NvbnRyb2xsZXIoKS5mb2N1c2VkT3JNYWluRnJhbWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA5NDk3YjdjMjBmYmFhZmZkMDk1YTU1M2Uz
Y2YxNTdiMDZjMTljZjA1Li5kOTk4Yjk4MGQ5NzA1OTJlNzUzZDAwYzY5MjExNTRiYWU3NDA1YWRk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC01NTEs
NyArNTUxLDcgQEAgcHVibGljOgogICAgIFdlYkNvcmU6OldlYkdMTG9hZFBvbGljeSByZXNvbHZl
V2ViR0xQb2xpY3lGb3JVUkwoV2ViRnJhbWUqLCBjb25zdCBVUkwmKTsKICNlbmRpZgogICAgIAot
ICAgIGVudW0gY2xhc3MgU2hvdWxkUGVyZm9ybUxheW91dCB7IERlZmF1bHQsIFllcyB9OworICAg
IGVudW0gY2xhc3MgU2hvdWxkUGVyZm9ybUxheW91dCA6IGJvb2wgeyBEZWZhdWx0LCBZZXMgfTsK
ICAgICBFZGl0b3JTdGF0ZSBlZGl0b3JTdGF0ZShTaG91bGRQZXJmb3JtTGF5b3V0ID0gU2hvdWxk
UGVyZm9ybUxheW91dDo6RGVmYXVsdCkgY29uc3Q7CiAgICAgdm9pZCB1cGRhdGVFZGl0b3JTdGF0
ZUFmdGVyTGF5b3V0SWZFZGl0YWJpbGl0eUNoYW5nZWQoKTsKIApAQCAtNzk5LDYgKzc5OSw4IEBA
IHB1YmxpYzoKICAgICB2b2lkIGdldFJlY3RzRm9yR3JhbnVsYXJpdHlXaXRoU2VsZWN0aW9uT2Zm
c2V0KFdlYkNvcmU6OlRleHRHcmFudWxhcml0eSwgaW50MzJfdCwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChjb25zdCBWZWN0b3I8V2ViQ29yZTo6U2VsZWN0aW9uR2VvbWV0cnk+Jik+JiYpOwogICAg
IHZvaWQgZ2V0UmVjdHNBdFNlbGVjdGlvbk9mZnNldFdpdGhUZXh0KGludDMyX3QsIGNvbnN0IFN0
cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgVmVjdG9yPFdlYkNvcmU6OlNlbGVj
dGlvbkdlb21ldHJ5PiYpPiYmKTsKICAgICB2b2lkIHN0b3JlU2VsZWN0aW9uRm9yQWNjZXNzaWJp
bGl0eShib29sKTsKKyAgICB2b2lkIHdpbGxDaGFuZ2VTZWxlY3Rpb25Gb3JBY2Nlc3NpYmlsaXR5
KCkgeyBtX2lzQ2hhbmdpbmdTZWxlY3Rpb25Gb3JBY2Nlc3NpYmlsaXR5ID0gdHJ1ZTsgfQorICAg
IHZvaWQgZGlkQ2hhbmdlU2VsZWN0aW9uRm9yQWNjZXNzaWJpbGl0eSgpIHsgbV9pc0NoYW5naW5n
U2VsZWN0aW9uRm9yQWNjZXNzaWJpbGl0eSA9IGZhbHNlOyB9CiAgICAgdm9pZCBzdGFydEF1dG9z
Y3JvbGxBdFBvc2l0aW9uKGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmKTsKICAgICB2b2lkIGNh
bmNlbEF1dG9zY3JvbGwoKTsKICAgICB2b2lkIHJlcXVlc3RFdmFzaW9uUmVjdHNBYm92ZVNlbGVj
dGlvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpGbG9hdFJl
Y3Q+Jik+JiYpOwpAQCAtMTkxNSw2ICsxOTE3LDggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcGxh
dGZvcm1Jc1BsYXlpbmdNZWRpYURpZENoYW5nZSgpOwogCisgICAgYm9vbCBoYXNQZW5kaW5nRWRp
dG9yU3RhdGVVcGRhdGUoKSBjb25zdDsKKwogICAgIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIG1f
aWRlbnRpZmllcjsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpQYWdlPiBtX3BhZ2U7
CkBAIC0yMTc3LDcgKzIxODEsMTMgQEAgcHJpdmF0ZToKICAgICBib29sIG1fcGVuZGluZ1RoZW1l
Q29sb3JDaGFuZ2UgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9wZW5kaW5nUGFnZUV4dGVuZGVkQmFj
a2dyb3VuZENvbG9yQ2hhbmdlIHsgZmFsc2UgfTsKICAgICBib29sIG1fcGVuZGluZ1NhbXBsZWRQ
YWdlVG9wQ29sb3JDaGFuZ2UgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9oYXNQZW5kaW5nRWRpdG9y
U3RhdGVVcGRhdGUgeyBmYWxzZSB9OworCisgICAgZW51bSBjbGFzcyBQZW5kaW5nRWRpdG9yU3Rh
dGVVcGRhdGVTdGF0dXMgOiB1aW50OF90IHsKKyAgICAgICAgTm90U2NoZWR1bGVkLAorICAgICAg
ICBTY2hlZHVsZWQsCisgICAgICAgIFNjaGVkdWxlZER1cmluZ0FjY2Vzc2liaWxpdHlTZWxlY3Rp
b25DaGFuZ2UsCisgICAgfTsKKyAgICBQZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGVTdGF0dXMgbV9w
ZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGVTdGF0dXMgeyBQZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGVT
dGF0dXM6Ok5vdFNjaGVkdWxlZCB9OwogCiAjaWYgRU5BQkxFKElPU19UT1VDSF9FVkVOVFMpCiAg
ICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4gbV9wZW5kaW5nU3luY2hyb25vdXNUb3Vj
aEV2ZW50UmVwbHk7CkBAIC0yMjIxLDYgKzIyMzEsNyBAQCBwcml2YXRlOgogCiAgICAgc3RkOjpv
cHRpb25hbDxXZWJDb3JlOjpTaW1wbGVSYW5nZT4gbV9pbml0aWFsU2VsZWN0aW9uOwogICAgIFdl
YkNvcmU6OlZpc2libGVTZWxlY3Rpb24gbV9zdG9yZWRTZWxlY3Rpb25Gb3JBY2Nlc3NpYmlsaXR5
IHsgV2ViQ29yZTo6VmlzaWJsZVNlbGVjdGlvbigpIH07CisgICAgYm9vbCBtX2lzQ2hhbmdpbmdT
ZWxlY3Rpb25Gb3JBY2Nlc3NpYmlsaXR5IHsgZmFsc2UgfTsKICAgICBXZWJDb3JlOjpGbG9hdFNp
emUgbV9tYXhpbXVtVW5vYnNjdXJlZFNpemU7CiAgICAgaW50MzJfdCBtX2RldmljZU9yaWVudGF0
aW9uIHsgMCB9OwogICAgIGJvb2wgbV9rZXlib2FyZElzQXR0YWNoZWQgeyBmYWxzZSB9Owo=
</data>
<flag name="commit-queue"
          id="456074"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433736</attachid>
            <date>2021-07-17 17:17:55 -0700</date>
            <delta_ts>2021-07-18 08:41:45 -0700</delta_ts>
            <desc>Fix macOS build</desc>
            <filename>bug-228051-20210717171755.patch</filename>
            <type>text/plain</type>
            <size>22631</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjBlNTVhNjg3ZDVhNGM2
MDQwNjNiYjUyNDk0MjVhNTYxMDM1ZTJlNi4uMjJiYjBlNjg1MjQ2ZTRlYjY2MWNhMzQ4NzRhZDZj
YjYxYzI0YjQzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA3LTE3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFtBWF0g
S2V5Ym9hcmQgdGV4dCBjYW5kaWRhdGVzIGRvbid0IHVwZGF0ZSB3aGVuIGNoYW5naW5nIHNlbGVj
dGlvbiB1c2luZyBTd2l0Y2ggQ29udHJvbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI4MDUxCisgICAgICAgIHJkYXI6Ly83OTk0NDI5NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBXZWJLaXQgQ2hh
bmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdDo6c2V0U2VsZWN0ZWRUZXh0UmFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6c2V0U2VsZWN0ZWRWaXNpYmxlUG9zaXRpb25SYW5n
ZSBjb25zdCk6CisKKyAgICAgICAgQ2FsbCB0aGUgbmV3IEVkaXRvckNsaWVudCBtZXRob2RzIGFk
ZGVkIGJlbG93LiBBZGRpdGlvbmFsbHksIGRyaXZlLWJ5IGZpeCBgc2V0U2VsZWN0ZWRWaXNpYmxl
UG9zaXRpb25SYW5nZWAgc28KKyAgICAgICAgdGhhdCBpdCBhbHNvIHBlcmZvcm1zIGEgdXNlci10
cmlnZ2VyZWQgc2VsZWN0aW9uIGNoYW5nZSBpbiB0aGUgY2FzZSB3aGVyZSB0aGUgcmFuZ2UgaXMg
bm90IGNvbGxhcHNlZDsgdGhpcworICAgICAgICBtYXRjaGVzIHRoZSBiZWhhdmlvciBvZiBgc2V0
U2VsZWN0ZWRUZXh0UmFuZ2VgIGFzIHdlbGwuCisKKyAgICAgICAgKiBwYWdlL0VkaXRvckNsaWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50Ojp3aWxsQ2hhbmdlU2VsZWN0aW9u
Rm9yQWNjZXNzaWJpbGl0eSk6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3JDbGllbnQ6OmRpZENo
YW5nZVNlbGVjdGlvbkZvckFjY2Vzc2liaWxpdHkpOgorCisgICAgICAgIEFkZCBuZXcgRWRpdG9y
Q2xpZW50IGhvb2tzLCBgKHdpbGx8ZGlkKUNoYW5nZVNlbGVjdGlvbkZvckFjY2Vzc2liaWxpdHlg
LCB0aGF0IGFjY2Vzc2liaWxpdHkgY29kZSBjYW4gY2FsbCBiZWZvcmUKKyAgICAgICAgYW5kIGFm
dGVyIGl0IHRyaWdnZXJzIGEgc2VsZWN0aW9uIGNoYW5nZTsgd2UgdXNlIHRoZXNlIHR3byBjb2Rl
cGF0aHMgYWJvdmUgd2hlbiB1c2luZyB0aGUgIlByZXZpb3VzL05leHQKKyAgICAgICAgQ2hhcmFj
dGVyIiwgIlByZXZpb3VzL05leHQgV29yZCIsIGFuZCAiUHJldmlvdXMvTmV4dCBMaW5lIiBTd2l0
Y2ggQ29udHJvbCBtZW51IGFjdGlvbnMuCisKIDIwMjEtMDctMTcgIEFsYW4gQnVqdGFzICA8emFs
YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gTW92ZSBJbmxpbmVMZXZlbEJveCBj
bGFzcyB0byBpdHMgb3duIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjY1ZWZkZjE1OTEzODkxMDQ3MWMzMmU5
NjM5ZjAxMzhkYzFiMjUyZS4uODZjYmFkZGZiYzI4ZDVlZjMxYzc0NmFiOWM4NGY5NzAxNGI4ZDEy
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4OSBAQAorMjAyMS0wNy0xNyAgV2Vuc29uIEhzaWVoICA8
d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBbQVhdIEtleWJvYXJkIHRl
eHQgY2FuZGlkYXRlcyBkb24ndCB1cGRhdGUgd2hlbiBjaGFuZ2luZyBzZWxlY3Rpb24gdXNpbmcg
U3dpdGNoIENvbnRyb2wKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyODA1MQorICAgICAgICByZGFyOi8vNzk5NDQyOTUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgdXBkYXRpbmcg
dGV4dCBjYW5kaWRhdGVzIGJ5IGNhbGxpbmcgaW50byBVSUtleWJvYXJkSW1wbCB3aGVuIGNoYW5n
aW5nIHRoZSBzZWxlY3Rpb24gdmlhCisgICAgICAgIGFjY2Vzc2liaWxpdHkgVUkgKGUuZy4gd2hl
biB1c2luZyBTd2l0Y2ggQ29udHJvbCkuIFRvIGFjaGlldmUgdGhpcywgd2UgYWRkIGEgbmV3IEVk
aXRvclN0YXRlIGZsYWcgdGhhdCBpbmRpY2F0ZXMKKyAgICAgICAgd2hldGhlciBvciBub3QgdGhl
IEVkaXRvclN0YXRlIGNoYW5nZSB3YXMgdHJpZ2dlcmVkIGJ5IGFjY2Vzc2liaWxpdHk7IGluIFdL
Q29udGVudFZpZXcsIHdlIHRoZW4gY29uc3VsdCB0aGlzCisgICAgICAgIGZsYWcgYW5kIGNhbGwg
YC1iZWdpblNlbGVjdGlvbkNoYW5nZS8tZW5kU2VsZWN0aW9uQ2hhbmdlYCBpbiB0aGUgY2FzZSB3
aGVyZSB0aGUgdXBkYXRlZCBlZGl0b3Igc3RhdGUgY2hhbmdlIHdhcworICAgICAgICB0cmlnZ2Vy
ZWQgYnkgYWNjZXNzaWJpbGl0eSBhbmQgd2UncmUgYWxzbyBub3QgYWxyZWFkeSBpbiB0aGUgc2Nv
cGUgb2YgYW5vdGhlciBzZWxlY3Rpb24gY2hhbmdlIG9yIGdlc3R1cmUtYmFzZWQKKyAgICAgICAg
c2VsZWN0aW9uIGNoYW5nZS4KKworICAgICAgICBOb3RlIHRoYXQgdGhlIGxhdHRlciBwYXJ0IG9m
IHRoZSBjaGVjayBpcyBjcml0aWNhbCBpbiBvcmRlciB0byBhdm9pZCBkZWFkbG9ja3MgaW4gVUlL
ZXlib2FyZFRhc2tRdWV1ZTsgc2VlCisgICAgICAgIHIyNDYwMTMsIHIyNDY0MjUgYW5kIHIyNDY2
NjUsIHdoaWNoIGludHJvZHVjZWQgYW5kIGxhdGVyIHJldmVydGVkIGEgc2ltaWxhciBtZWNoYW5p
c20gZm9yIHVwZGF0aW5nCisgICAgICAgIFVJS2V5Ym9hcmRJbXBsLCBidXQgYWZ0ZXIgZXZlcnkg
c2VsZWN0aW9uIGNoYW5nZS4KKworICAgICAgICAqIFNoYXJlZC9FZGl0b3JTdGF0ZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OkVkaXRvclN0YXRlOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2Vi
S2l0OjpFZGl0b3JTdGF0ZTo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6b3BlcmF0b3I8PCk6
CisgICAgICAgICogU2hhcmVkL0VkaXRvclN0YXRlLmg6CisKKyAgICAgICAgQWRkIHRoZSBuZXcg
Ym9vbGVhbiBmbGFnLCBgdHJpZ2dlcmVkQnlBY2Nlc3NpYmlsaXR5U2VsZWN0aW9uQ2hhbmdlYC4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZp
ZXcgYmVnaW5TZWxlY3Rpb25DaGFuZ2VdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBlbmRT
ZWxlY3Rpb25DaGFuZ2VdKToKKworICAgICAgICBBZGQgYSBuZXcgYHVuc2lnbmVkYCBmbGFnLCBg
X3NlbGVjdGlvbkNoYW5nZU5lc3RpbmdMZXZlbGAsIHRoYXQgbGV0cyB1cyBrbm93IGlmIHdlJ3Jl
IGV4cGVjdGluZyBhbiBldmVudHVhbCBjYWxsCisgICAgICAgIHRvIGAtZW5kU2VsZWN0aW9uQ2hh
bmdlYC4gU2VlIGAtX3NlbGVjdGlvbkNoYW5nZWRgIGJlbG93IGZvciBtb3JlIGRldGFpbHMuIE5v
dGUgdGhhdCB3ZSBkb24ndCBuZWVkIHRvIHJlc2V0CisgICAgICAgIGBfc2VsZWN0aW9uQ2hhbmdl
TmVzdGluZ0xldmVsYCB0byAwIHdoZW4gY2xlYW5pbmcgdXAgdGhlIGludGVyYWN0aW9uIGFmdGVy
IHdlYiBwcm9jZXNzIHRlcm1pbmF0aW9uLCBiZWNhdXNlCisgICAgICAgIHRoZSBjb21wbGV0aW9u
IGhhbmRsZXJzIHRoYXQgY29udGFpbiBhbGwgdGhlIGJhbGFuY2VkIGNhbGxzIHRvIGAtZW5kU2Vs
ZWN0aW9uQ2hhbmdlYCBzaG91bGQgYmUgaW52b2tlZCBhZnRlcgorICAgICAgICBzdWNoIGFuIGV2
ZW50IGFueXdheXMuCisKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfc2VsZWN0aW9uQ2hhbmdl
ZF0pOgorCisgICAgICAgIElmIHRoZSBgdHJpZ2dlcmVkQnlBY2Nlc3NpYmlsaXR5U2VsZWN0aW9u
Q2hhbmdlYCBiaXQgaXMgc2V0IG9uIHRoZSBpbmNvbWluZyAocG9zdCBsYXlvdXQgZGF0YSkgRWRp
dG9yU3RhdGUgYW5kOgorICAgICAgICAoMSkgVUlLaXQgaXNuJ3QgaW4gdGhlIG1pZGRsZSBvZiBo
YW5kbGluZyBhIGdlc3R1cmUgdGhhdCBtb2RpZmllcyB0aGUgc2VsZWN0aW9uLCBhbmQuLi4KKyAg
ICAgICAgKDIpIFdlIGFyZW4ndCBleHBlY3RpbmcgYSBjYWxsIHRvIGAtZW5kU2VsZWN0aW9uQ2hh
bmdlYC4KKworICAgICAgICAuLi50aGVuIHdlIGZvcmNlIFVJS2V5Ym9hcmRJbXBsIHRvIHJlbG9h
ZCBpdHMgVUkgKHRleHQgc3VnZ2VzdGlvbnMsIEIvSS9VIHN0YXRlLCBldGMuKSB1c2luZyB0aGUg
aW5jb21pbmcKKyAgICAgICAgRWRpdG9yU3RhdGUuIFRoaXMgYWxsb3dzIGFjY2Vzc2liaWxpdHkt
ZHJpdmVuIHNlbGVjdGlvbiBjaGFuZ2VzIHVzaW5nIFN3aXRjaCBDb250cm9sIHRvIGJlaGF2ZSBs
aWtlIGdlc3R1cmUtCisgICAgICAgIGJhc2VkIHNlbGVjdGlvbiBjaGFuZ2VzLgorCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJFZGl0b3JDbGllbnQ6OndpbGxDaGFuZ2VTZWxlY3Rpb25Gb3JBY2Nlc3Np
YmlsaXR5KToKKyAgICAgICAgKFdlYktpdDo6V2ViRWRpdG9yQ2xpZW50OjpkaWRDaGFuZ2VTZWxl
Y3Rpb25Gb3JBY2Nlc3NpYmlsaXR5KToKKworICAgICAgICBJbXBsZW1lbnQgYSBjb3VwbGUgb2Yg
Y2xpZW50IGhvb2tzIGluIFdlYktpdDIgc28gdGhhdCB3ZSBzZXQgYSBib29sZWFuIGZsYWcgb24g
V2ViUGFnZSwKKyAgICAgICAgYG1faXNDaGFuZ2luZ1NlbGVjdGlvbkZvckFjY2Vzc2liaWxpdHlg
LCB0byBgdHJ1ZWAgb3ZlciB0aGUgc2NvcGUgb2YgYW4gQVgtZHJpdmVuIHNlbGVjdGlvbiBjaGFu
Z2UuIFNlZSByZWxhdGVkCisgICAgICAgIEFYIGNoYW5nZXMgaW4gV2ViQ29yZSBmb3IgbW9yZSBk
ZXRhaWxzLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JD
bGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6Omhhc1BlbmRpbmdFZGl0b3JTdGF0ZVVwZGF0ZSBjb25zdCk6
CisKKyAgICAgICAgQWRkIGEgaGVscGVyIG1ldGhvZCBzbyB0aGF0IHdlIGNhbiBjb252ZW5pZW50
bHkgY2hlY2sgd2hldGhlciB3ZSBoYXZlIGEgcGVuZGluZyBlZGl0b3Igc3RhdGUgdXBkYXRlIHRv
IGZsdXNoLAorICAgICAgICBzaW5jZSB0aGUgcHJldmlvdXMgYm9vbGVhbiBmbGFnIGlzIG5vdyBh
IHRyaS1zdGF0ZSBlbnVtIChgbV9wZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGVTdGF0dXNgKS4KKwor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjplZGl0b3JTdGF0ZSBjb25zdCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OndpbGxDb21taXRMYXllclRyZWUpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpzZW5kRWRpdG9yU3RhdGVVcGRhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
OjpzY2hlZHVsZUZ1bGxFZGl0b3JTdGF0ZVVwZGF0ZSk6CisKKyAgICAgICAgSWYgd2UncmUgaW4g
dGhlIHNjb3BlIG9mIGFuIGFjY2Vzc2liaWxpdHkgc2VsZWN0aW9uIGNoYW5nZSwgdHJhbnNpdGlv
biBgbV9wZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGVTdGF0dXNgIHRvCisgICAgICAgIGBTY2hlZHVs
ZWREdXJpbmdBY2Nlc3NpYmlsaXR5U2VsZWN0aW9uQ2hhbmdlYDsgb3RoZXJ3aXNlLCBqdXN0IHVz
ZSBgU2NoZWR1bGVkYC4KKworICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpmbHVzaFBlbmRpbmdF
ZGl0b3JTdGF0ZVVwZGF0ZSk6CisKKyAgICAgICAgUmVmYWN0b3IgYG1faGFzUGVuZGluZ0VkaXRv
clN0YXRlVXBkYXRlYCBzbyB0aGF0IGl0IG5vdyBjYXB0dXJlcyB0aHJlZSBzdGF0ZXM6CisgICAg
ICAgICgxKSBXZSBoYXZlbid0IHNjaGVkdWxlZCBhbiBlZGl0b3Igc3RhdGUgdXBkYXRlIHlldC4K
KyAgICAgICAgKDIpIFdlJ3ZlIHNjaGVkdWxlZCBhbiBlZGl0b3Igc3RhdGUgdXBkYXRlIHRoYXQg
d2FzIG5vdCB0cmlnZ2VyZWQgYnkgYWNjZXNzaWJpbGl0eS4KKyAgICAgICAgKDMpIFdlJ3ZlIHNj
aGVkdWxlZCBhbiBlZGl0b3Igc3RhdGUgdXBkYXRlIHRoYXQgd2FzIHRyaWdnZXJlZCBieSBhY2Nl
c3NpYmlsaXR5LgorCisgICAgICAgIFRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuICgyKSBhbmQgKDMp
IGFsbG93cyB1cyB0byBwb3B1bGF0ZSBFZGl0b3JTdGF0ZSdzIG5ldworICAgICAgICBgdHJpZ2dl
cmVkQnlBY2Nlc3NpYmlsaXR5U2VsZWN0aW9uQ2hhbmdlYCBmbGFnLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6d2ls
bENoYW5nZVNlbGVjdGlvbkZvckFjY2Vzc2liaWxpdHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjpkaWRDaGFuZ2VTZWxlY3Rpb25Gb3JBY2Nlc3NpYmlsaXR5KToKKwogMjAyMS0wNy0xNiAg
S2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBXS1dl
YlZpZXcgamF2YXNjcmlwdCBpbmplY3Rpb24gZG9lc24ndCB3b3JrIGlmIGFwcCBpbmNsdWRlcyBX
S0FwcEJvdW5kRG9tYWlucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXggOTgyMDlhYmNmNTQxYWU1
ZTFhMzY2MDJiNjk1YmY5Y2VmMmEyOWE2NC4uOTIxMzk3NWVlNzhkNGY5NzVmOWJmZDNiMWVlYmE1
MjY0MDBhMTJiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC00MSw2ICs0MSw3IEBACiAjaW5j
bHVkZSAiRG9jdW1lbnRTVkcuaCIKICNpbmNsdWRlICJFZGl0aW5nLmgiCiAjaW5jbHVkZSAiRWRp
dG9yLmgiCisjaW5jbHVkZSAiRWRpdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudEl0ZXJh
dG9yLmgiCiAjaW5jbHVkZSAiRXZlbnRIYW5kbGVyLmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0Lmgi
CkBAIC0xNzE2LDYgKzE3MTcsOSBAQCB2b2lkIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnNl
dFNlbGVjdGVkVGV4dFJhbmdlKGNvbnN0IFBsYWluVGV4dFJhbmdlJiByYW5nZQogewogICAgIHNl
dFRleHRTZWxlY3Rpb25JbnRlbnQoYXhPYmplY3RDYWNoZSgpLCByYW5nZS5sZW5ndGggPyBBWFRl
eHRTdGF0ZUNoYW5nZVR5cGVTZWxlY3Rpb25FeHRlbmQgOiBBWFRleHRTdGF0ZUNoYW5nZVR5cGVT
ZWxlY3Rpb25Nb3ZlKTsKIAorICAgIGlmIChhdXRvIGNsaWVudCA9IG1fcmVuZGVyZXItPmRvY3Vt
ZW50KCkuZWRpdG9yKCkuY2xpZW50KCkpCisgICAgICAgIGNsaWVudC0+d2lsbENoYW5nZVNlbGVj
dGlvbkZvckFjY2Vzc2liaWxpdHkoKTsKKwogICAgIGlmIChpc05hdGl2ZVRleHRDb250cm9sKCkp
IHsKICAgICAgICAgSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQmIHRleHRDb250cm9sID0gZG93
bmNhc3Q8UmVuZGVyVGV4dENvbnRyb2w+KCptX3JlbmRlcmVyKS50ZXh0Rm9ybUNvbnRyb2xFbGVt
ZW50KCk7CiAgICAgICAgIHRleHRDb250cm9sLnNldFNlbGVjdGlvblJhbmdlKHJhbmdlLnN0YXJ0
LCByYW5nZS5zdGFydCArIHJhbmdlLmxlbmd0aCk7CkBAIC0xNzMzLDYgKzE3MzcsOSBAQCB2b2lk
IEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnNldFNlbGVjdGVkVGV4dFJhbmdlKGNvbnN0IFBs
YWluVGV4dFJhbmdlJiByYW5nZQogICAgIH0KICAgICAKICAgICBjbGVhclRleHRTZWxlY3Rpb25J
bnRlbnQoYXhPYmplY3RDYWNoZSgpKTsKKworICAgIGlmIChhdXRvIGNsaWVudCA9IG1fcmVuZGVy
ZXItPmRvY3VtZW50KCkuZWRpdG9yKCkuY2xpZW50KCkpCisgICAgICAgIGNsaWVudC0+ZGlkQ2hh
bmdlU2VsZWN0aW9uRm9yQWNjZXNzaWJpbGl0eSgpOwogfQogCiBVUkwgQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdDo6dXJsKCkgY29uc3QKQEAgLTIyNzUsNiArMjI4Miw5IEBAIHZvaWQgQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdDo6c2V0U2VsZWN0ZWRWaXNpYmxlUG9zaXRpb25SYW5nZShjb25z
dCBWaXNpYmxlUG9zCiAgICAgICAgICYmIGlzVmlzaWJsZVBvc2l0aW9uUmFuZ2VJbkRpZmZlcmVu
dERvY3VtZW50KHJhbmdlKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKGF1dG8gY2xpZW50
ID0gbV9yZW5kZXJlci0+ZG9jdW1lbnQoKS5lZGl0b3IoKS5jbGllbnQoKSkKKyAgICAgICAgY2xp
ZW50LT53aWxsQ2hhbmdlU2VsZWN0aW9uRm9yQWNjZXNzaWJpbGl0eSgpOworCiAgICAgLy8gbWFr
ZSBzZWxlY3Rpb24gYW5kIHRlbGwgdGhlIGRvY3VtZW50IHRvIHVzZSBpdC4gaWYgaXQncyB6ZXJv
IGxlbmd0aCwgdGhlbiBtb3ZlIHRvIHRoYXQgcG9zaXRpb24KICAgICBpZiAocmFuZ2Uuc3RhcnQg
PT0gcmFuZ2UuZW5kKSB7CiAgICAgICAgIHNldFRleHRTZWxlY3Rpb25JbnRlbnQoYXhPYmplY3RD
YWNoZSgpLCBBWFRleHRTdGF0ZUNoYW5nZVR5cGVTZWxlY3Rpb25Nb3ZlKTsKQEAgLTIyOTAsMTAg
KzIzMDAsMTMgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpzZXRTZWxlY3RlZFZp
c2libGVQb3NpdGlvblJhbmdlKGNvbnN0IFZpc2libGVQb3MKICAgICAgICAgc2V0VGV4dFNlbGVj
dGlvbkludGVudChheE9iamVjdENhY2hlKCksIEFYVGV4dFN0YXRlQ2hhbmdlVHlwZVNlbGVjdGlv
bkV4dGVuZCk7CiAKICAgICAgICAgVmlzaWJsZVNlbGVjdGlvbiBuZXdTZWxlY3Rpb24gPSBWaXNp
YmxlU2VsZWN0aW9uKHJhbmdlLnN0YXJ0LCByYW5nZS5lbmQpOwotICAgICAgICBtX3JlbmRlcmVy
LT5mcmFtZSgpLnNlbGVjdGlvbigpLnNldFNlbGVjdGlvbihuZXdTZWxlY3Rpb24sIEZyYW1lU2Vs
ZWN0aW9uOjpkZWZhdWx0U2V0U2VsZWN0aW9uT3B0aW9ucygpKTsKKyAgICAgICAgbV9yZW5kZXJl
ci0+ZnJhbWUoKS5zZWxlY3Rpb24oKS5zZXRTZWxlY3Rpb24obmV3U2VsZWN0aW9uLCBGcmFtZVNl
bGVjdGlvbjo6ZGVmYXVsdFNldFNlbGVjdGlvbk9wdGlvbnMoVXNlclRyaWdnZXJlZCkpOwogICAg
IH0KIAogICAgIGNsZWFyVGV4dFNlbGVjdGlvbkludGVudChheE9iamVjdENhY2hlKCkpOworCisg
ICAgaWYgKGF1dG8gY2xpZW50ID0gbV9yZW5kZXJlci0+ZG9jdW1lbnQoKS5lZGl0b3IoKS5jbGll
bnQoKSkKKyAgICAgICAgY2xpZW50LT5kaWRDaGFuZ2VTZWxlY3Rpb25Gb3JBY2Nlc3NpYmlsaXR5
KCk7CiB9CiAKIFZpc2libGVQb3NpdGlvbiBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojp2aXNp
YmxlUG9zaXRpb25Gb3JQb2ludChjb25zdCBJbnRQb2ludCYgcG9pbnQpIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0VkaXRvckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9FZGl0b3JDbGllbnQuaAppbmRleCBmNjE4NWExMjM1Y2ZjZTdiNzQ5MjhhZGU3MzI4YTEw
YzNlMjAwNjA5Li44MjM3NGU3MjYyYzcwZWE5ZGZlNGQ2NGYyNWFiMTM1YWE2MDMzM2NmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0VkaXRvckNsaWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRWRpdG9yQ2xpZW50LmgKQEAgLTE5Miw2ICsxOTIsOSBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBib29sIGNhblNob3dGb250UGFuZWwoKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0
dWFsIGJvb2wgc2hvdWxkQWxsb3dTaW5nbGVDbGlja1RvQ2hhbmdlU2VsZWN0aW9uKE5vZGUmLCBj
b25zdCBWaXNpYmxlU2VsZWN0aW9uJikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorCisgICAgdmly
dHVhbCB2b2lkIHdpbGxDaGFuZ2VTZWxlY3Rpb25Gb3JBY2Nlc3NpYmlsaXR5KCkgeyB9CisgICAg
dmlydHVhbCB2b2lkIGRpZENoYW5nZVNlbGVjdGlvbkZvckFjY2Vzc2liaWxpdHkoKSB7IH0KIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0VkaXRvclN0YXRlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0VkaXRvclN0YXRlLmNwcAppbmRleCBmZGQ4N2VmOGYyYjMw
MjcyMzc0NzMxMjVmNDEyYWZmMzRmYzM1NzY4Li4zODA4MGJlNzIyNDFjZjdhYjcwYjAxM2NkYThm
ZjcwOWJkZDBjYTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvRWRpdG9yU3RhdGUuY3BwCkBAIC00NSw2
ICs0NSw3IEBAIHZvaWQgRWRpdG9yU3RhdGU6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIp
IGNvbnN0CiAgICAgZW5jb2RlciA8PCBpc0luUGFzc3dvcmRGaWVsZDsKICAgICBlbmNvZGVyIDw8
IGlzSW5QbHVnaW47CiAgICAgZW5jb2RlciA8PCBoYXNDb21wb3NpdGlvbjsKKyAgICBlbmNvZGVy
IDw8IHRyaWdnZXJlZEJ5QWNjZXNzaWJpbGl0eVNlbGVjdGlvbkNoYW5nZTsKICAgICBlbmNvZGVy
IDw8IGlzTWlzc2luZ1Bvc3RMYXlvdXREYXRhOwogICAgIGlmICghaXNNaXNzaW5nUG9zdExheW91
dERhdGEpCiAgICAgICAgIG1fcG9zdExheW91dERhdGEuZW5jb2RlKGVuY29kZXIpOwpAQCAtODUs
NiArODYsOSBAQCBib29sIEVkaXRvclN0YXRlOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVy
LCBFZGl0b3JTdGF0ZSYgcmVzdWx0KQogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lmhh
c0NvbXBvc2l0aW9uKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShyZXN1bHQudHJpZ2dlcmVkQnlBY2Nlc3NpYmlsaXR5U2VsZWN0aW9uQ2hhbmdlKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQu
aXNNaXNzaW5nUG9zdExheW91dERhdGEpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTI4
MSw2ICsyODUsOCBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25z
dCBFZGl0b3JTdGF0ZSYgZWRpdG9yU3RhdGUpCiAgICAgICAgIHRzLmR1bXBQcm9wZXJ0eSgiaXNJ
blBsdWdpbiIsIGVkaXRvclN0YXRlLmlzSW5QbHVnaW4pOwogICAgIGlmIChlZGl0b3JTdGF0ZS5o
YXNDb21wb3NpdGlvbikKICAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJoYXNDb21wb3NpdGlvbiIs
IGVkaXRvclN0YXRlLmhhc0NvbXBvc2l0aW9uKTsKKyAgICBpZiAoZWRpdG9yU3RhdGUudHJpZ2dl
cmVkQnlBY2Nlc3NpYmlsaXR5U2VsZWN0aW9uQ2hhbmdlKQorICAgICAgICB0cy5kdW1wUHJvcGVy
dHkoInRyaWdnZXJlZEJ5QWNjZXNzaWJpbGl0eVNlbGVjdGlvbkNoYW5nZSIsIGVkaXRvclN0YXRl
LnRyaWdnZXJlZEJ5QWNjZXNzaWJpbGl0eVNlbGVjdGlvbkNoYW5nZSk7CiAgICAgaWYgKGVkaXRv
clN0YXRlLmlzTWlzc2luZ1Bvc3RMYXlvdXREYXRhKQogICAgICAgICB0cy5kdW1wUHJvcGVydHko
ImlzTWlzc2luZ1Bvc3RMYXlvdXREYXRhIiwgZWRpdG9yU3RhdGUuaXNNaXNzaW5nUG9zdExheW91
dERhdGEpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0ZS5o
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvRWRpdG9yU3RhdGUuaAppbmRleCA0ODgwNTM4ZDU2NGQz
MWVmMTZmOTNjOTA2N2RjODZjY2VhNzM4NjI1Li45OTc1M2Y1MDc5YzdjMGM5NThjZTNhMjE1MmRh
NjFmOGJjZjA4MmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9FZGl0b3JTdGF0
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0VkaXRvclN0YXRlLmgKQEAgLTgxLDYgKzgx
LDcgQEAgc3RydWN0IEVkaXRvclN0YXRlIHsKICAgICBib29sIGlzSW5QYXNzd29yZEZpZWxkIHsg
ZmFsc2UgfTsKICAgICBib29sIGlzSW5QbHVnaW4geyBmYWxzZSB9OwogICAgIGJvb2wgaGFzQ29t
cG9zaXRpb24geyBmYWxzZSB9OworICAgIGJvb2wgdHJpZ2dlcmVkQnlBY2Nlc3NpYmlsaXR5U2Vs
ZWN0aW9uQ2hhbmdlIHsgZmFsc2UgfTsKICAgICBib29sIGlzTWlzc2luZ1Bvc3RMYXlvdXREYXRh
IHsgdHJ1ZSB9OwogCiAgICAgc3RydWN0IFBvc3RMYXlvdXREYXRhIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRl
eCAyNmExZTJkZWZhMTE1MTQzNTUxNDhkZWU1ZGFkY2Q5YzE3YTQyMDhkLi4xZjE3YTJkZWU4NTA0
MzYwZWU0ODA4ZDkxZWQ3YmNiNmQyNTI4OGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC00NjMsNiArNDYz
LDcgQEAgdXNpbmcgSW1hZ2VBbmFseXNpc1JlcXVlc3RJZGVudGlmaWVyID0gT2JqZWN0SWRlbnRp
ZmllcjxJbWFnZUFuYWx5c2lzUmVxdWVzdElkZW4KICAgICBSZXRhaW5QdHI8TlNEaWN0aW9uYXJ5
PiBfYWRkaXRpb25hbENvbnRleHRGb3JTdHJvbmdQYXNzd29yZEFzc2lzdGFuY2U7CiAKICAgICBz
dGQ6Om9wdGlvbmFsPFVDaGFyMzI+IF9sYXN0SW5zZXJ0ZWRDaGFyYWN0ZXJUb092ZXJyaWRlQ2hh
cmFjdGVyQmVmb3JlU2VsZWN0aW9uOworICAgIHVuc2lnbmVkIF9zZWxlY3Rpb25DaGFuZ2VOZXN0
aW5nTGV2ZWw7CiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIFdlYktpdDo6RHJhZ0Ry
b3BJbnRlcmFjdGlvblN0YXRlIF9kcmFnRHJvcEludGVyYWN0aW9uU3RhdGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bQppbmRleCBhM2IzZThiM2NkZmM5ZTA4YmI4ZDc5ZjBjNDg4ZjJmZGM5NjJiYTFiLi5lMjgyMDVk
ZWZhODZkOTVjZjExNTM0ZTU1YjQ5MzJjZGZjZDQ1ODZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTQ5
MzEsMTIgKzQ5MzEsMTkgQEAgLSAoQk9PTClfYWxsb3dBbmltYXRlZFVwZGF0ZVNlbGVjdGlvblJl
Y3RWaWV3cwogCiAtICh2b2lkKWJlZ2luU2VsZWN0aW9uQ2hhbmdlCiB7CisgICAgX3NlbGVjdGlv
bkNoYW5nZU5lc3RpbmdMZXZlbCsrOworCiAgICAgW3NlbGYuaW5wdXREZWxlZ2F0ZSBzZWxlY3Rp
b25XaWxsQ2hhbmdlOnNlbGZdOwogfQogCiAtICh2b2lkKWVuZFNlbGVjdGlvbkNoYW5nZQogewog
ICAgIFtzZWxmLmlucHV0RGVsZWdhdGUgc2VsZWN0aW9uRGlkQ2hhbmdlOnNlbGZdOworCisgICAg
aWYgKF9zZWxlY3Rpb25DaGFuZ2VOZXN0aW5nTGV2ZWwpCisgICAgICAgIF9zZWxlY3Rpb25DaGFu
Z2VOZXN0aW5nTGV2ZWwtLTsKKyAgICBlbHNlCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogfQogCiAtICh2b2lkKXdpbGxGaW5pc2hJZ25vcmluZ0NhbGxvdXRCYXJGYWRlQWZ0ZXJQZXJm
b3JtaW5nQWN0aW9uCkBAIC03MTk2LDYgKzcyMDMsMTIgQEAgLSAodm9pZClfc2VsZWN0aW9uQ2hh
bmdlZAogICAgICAgICBfbGFzdEluc2VydGVkQ2hhcmFjdGVyVG9PdmVycmlkZUNoYXJhY3RlckJl
Zm9yZVNlbGVjdGlvbiA9IHN0ZDo6bnVsbG9wdDsKICAgICAgICAgaWYgKCFfdXNpbmdHZXN0dXJl
Rm9yU2VsZWN0aW9uICYmIF9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmF1dG9jYXBpdGFsaXpl
VHlwZSA9PSBXZWJDb3JlOjpBdXRvY2FwaXRhbGl6ZVR5cGU6OldvcmRzKQogICAgICAgICAgICAg
W1VJS2V5Ym9hcmRJbXBsLnNoYXJlZEluc3RhbmNlIGNsZWFyU2hpZnRTdGF0ZV07CisKKyAgICAg
ICAgaWYgKCFfdXNpbmdHZXN0dXJlRm9yU2VsZWN0aW9uICYmICFfc2VsZWN0aW9uQ2hhbmdlTmVz
dGluZ0xldmVsICYmIF9wYWdlLT5lZGl0b3JTdGF0ZSgpLnRyaWdnZXJlZEJ5QWNjZXNzaWJpbGl0
eVNlbGVjdGlvbkNoYW5nZSkgeworICAgICAgICAgICAgLy8gRm9yY2UgVUlLaXQgdG8gcmVsb2Fk
IGFsbCBFZGl0b3JTdGF0ZS1iYXNlZCBVSTsgaW4gcGFydGljdWxhciwgdGhpcyBpbmNsdWRlcyB0
ZXh0IGNhbmRpZGF0ZXMuCisgICAgICAgICAgICBbc2VsZiBiZWdpblNlbGVjdGlvbkNoYW5nZV07
CisgICAgICAgICAgICBbc2VsZiBlbmRTZWxlY3Rpb25DaGFuZ2VdOworICAgICAgICB9CiAgICAg
fQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRWRpdG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCmluZGV4IDkzMGNiMzMzNjFkZDM4ZDdjYTYzMGY0
NTEyZWRmMTExNWEyYzdmMDEuLjk1NzE2M2EyODcxZThlY2NmYWQ1Y2ZjMDExZWYxNjZmZDI3YzNh
MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJFZGl0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwCkBAIC01ODcsNiArNTg3LDE2IEBAIHZvaWQgV2Vi
RWRpdG9yQ2xpZW50OjpyZXF1ZXN0Q2hlY2tpbmdPZlN0cmluZyhUZXh0Q2hlY2tpbmdSZXF1ZXN0
JiByZXF1ZXN0LCBjb25zCiAgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6
OlJlcXVlc3RDaGVja2luZ09mU3RyaW5nKHJlcXVlc3RJRCwgcmVxdWVzdC5kYXRhKCksIGluc2Vy
dGlvblBvaW50RnJvbUN1cnJlbnRTZWxlY3Rpb24oY3VycmVudFNlbGVjdGlvbikpKTsKIH0KIAor
dm9pZCBXZWJFZGl0b3JDbGllbnQ6OndpbGxDaGFuZ2VTZWxlY3Rpb25Gb3JBY2Nlc3NpYmlsaXR5
KCkKK3sKKyAgICBtX3BhZ2UtPndpbGxDaGFuZ2VTZWxlY3Rpb25Gb3JBY2Nlc3NpYmlsaXR5KCk7
Cit9CisKK3ZvaWQgV2ViRWRpdG9yQ2xpZW50OjpkaWRDaGFuZ2VTZWxlY3Rpb25Gb3JBY2Nlc3Np
YmlsaXR5KCkKK3sKKyAgICBtX3BhZ2UtPmRpZENoYW5nZVNlbGVjdGlvbkZvckFjY2Vzc2liaWxp
dHkoKTsKK30KKwogdm9pZCBXZWJFZGl0b3JDbGllbnQ6OndpbGxTZXRJbnB1dE1ldGhvZFN0YXRl
KCkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJFZGl0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaAppbmRleCAzMGU1NmY3MzhkZDhlNWMxMDUwOGZjYWMw
N2U2NTU5NjVmN2I0OWQ4Li41MDZkOWY1NDEzOGQzN2NiNGM2NGVkNDYwZjU5YTVjMjhmZTUyMmE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RWRpdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkVkaXRvckNsaWVudC5oCkBAIC0xOTEsNiArMTkxLDkgQEAgcHJpdmF0ZToKICAgICBi
b29sIHNob3VsZFN1cHByZXNzUGFzc3dvcmRFY2hvKCkgY29uc3QgZmluYWw7CiAjZW5kaWYKIAor
ICAgIHZvaWQgd2lsbENoYW5nZVNlbGVjdGlvbkZvckFjY2Vzc2liaWxpdHkoKSBmaW5hbDsKKyAg
ICB2b2lkIGRpZENoYW5nZVNlbGVjdGlvbkZvckFjY2Vzc2liaWxpdHkoKSBmaW5hbDsKKwogICAg
IGJvb2wgcGVyZm9ybVR3b1N0ZXBEcm9wKFdlYkNvcmU6OkRvY3VtZW50RnJhZ21lbnQmLCBjb25z
dCBXZWJDb3JlOjpTaW1wbGVSYW5nZSYsIGJvb2wgaXNNb3ZlKSBmaW5hbDsKICAgICBib29sIHN1
cHBvcnRzR2xvYmFsU2VsZWN0aW9uKCkgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZTMzMzNmZjE1MmJlYzQ5ZDIzMDFlMWI0Y2Fk
N2QyOGRkNWY4ODI3Ny4uMzlhMDQyYWVmZDk4OTExOTRjNGIxZjY1ODg0NDVjOTMyODhlMTc1NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTEx
OTYsNiArMTE5NiwxMSBAQCBXZWJDb3JlOjpXZWJHTExvYWRQb2xpY3kgV2ViUGFnZTo6cmVzb2x2
ZVdlYkdMUG9saWN5Rm9yVVJMKFdlYkZyYW1lKiwgY29uc3QgVVJMJgogfQogI2VuZGlmCiAKK2Jv
b2wgV2ViUGFnZTo6aGFzUGVuZGluZ0VkaXRvclN0YXRlVXBkYXRlKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9wZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGVTdGF0dXMgIT0gUGVuZGluZ0VkaXRvclN0
YXRlVXBkYXRlU3RhdHVzOjpOb3RTY2hlZHVsZWQ7Cit9CisKIEVkaXRvclN0YXRlIFdlYlBhZ2U6
OmVkaXRvclN0YXRlKFNob3VsZFBlcmZvcm1MYXlvdXQgc2hvdWxkUGVyZm9ybUxheW91dCkgY29u
c3QKIHsKICAgICAvLyBSZWYgdGhlIGZyYW1lIGJlY2F1c2UgdGhpcyBmdW5jdGlvbiBtYXkgcGVy
Zm9ybSBsYXlvdXQsIHdoaWNoIG1heSBjYXVzZSBmcmFtZSBkZXN0cnVjdGlvbi4KQEAgLTEyMjMs
NiArMTIyOCw3IEBAIEVkaXRvclN0YXRlIFdlYlBhZ2U6OmVkaXRvclN0YXRlKFNob3VsZFBlcmZv
cm1MYXlvdXQgc2hvdWxkUGVyZm9ybUxheW91dCkgY29uc3QKICAgICByZXN1bHQuaXNJblBhc3N3
b3JkRmllbGQgPSBzZWxlY3Rpb24uaXNJblBhc3N3b3JkRmllbGQoKTsKICAgICByZXN1bHQuaGFz
Q29tcG9zaXRpb24gPSBlZGl0b3IuaGFzQ29tcG9zaXRpb24oKTsKICAgICByZXN1bHQuc2hvdWxk
SWdub3JlU2VsZWN0aW9uQ2hhbmdlcyA9IGVkaXRvci5pZ25vcmVTZWxlY3Rpb25DaGFuZ2VzKCkg
fHwgKGVkaXRvci5jbGllbnQoKSAmJiAhZWRpdG9yLmNsaWVudCgpLT5zaG91bGRSZXZlYWxDdXJy
ZW50U2VsZWN0aW9uQWZ0ZXJJbnNlcnRpb24oKSk7CisgICAgcmVzdWx0LnRyaWdnZXJlZEJ5QWNj
ZXNzaWJpbGl0eVNlbGVjdGlvbkNoYW5nZSA9IG1fcGVuZGluZ0VkaXRvclN0YXRlVXBkYXRlU3Rh
dHVzID09IFBlbmRpbmdFZGl0b3JTdGF0ZVVwZGF0ZVN0YXR1czo6U2NoZWR1bGVkRHVyaW5nQWNj
ZXNzaWJpbGl0eVNlbGVjdGlvbkNoYW5nZSB8fCBtX2lzQ2hhbmdpbmdTZWxlY3Rpb25Gb3JBY2Nl
c3NpYmlsaXR5OwogCiAgICAgUmVmPERvY3VtZW50PiBkb2N1bWVudCA9ICpmcmFtZS0+ZG9jdW1l
bnQoKTsKICAgICByZXN1bHQub3JpZ2luSWRlbnRpZmllckZvclBhc3RlYm9hcmQgPSBkb2N1bWVu
dC0+b3JpZ2luSWRlbnRpZmllckZvclBhc3RlYm9hcmQoKTsKQEAgLTQxMjEsOSArNDEyNyw5IEBA
IHZvaWQgV2ViUGFnZTo6d2lsbENvbW1pdExheWVyVHJlZShSZW1vdGVMYXllclRyZWVUcmFuc2Fj
dGlvbiYgbGF5ZXJUcmFuc2FjdGlvbikKICAgICBtX3BlbmRpbmdQYWdlRXh0ZW5kZWRCYWNrZ3Jv
dW5kQ29sb3JDaGFuZ2UgPSBmYWxzZTsKICAgICBtX3BlbmRpbmdTYW1wbGVkUGFnZVRvcENvbG9y
Q2hhbmdlID0gZmFsc2U7CiAKLSAgICBpZiAobV9oYXNQZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGUp
IHsKKyAgICBpZiAoaGFzUGVuZGluZ0VkaXRvclN0YXRlVXBkYXRlKCkpIHsKICAgICAgICAgbGF5
ZXJUcmFuc2FjdGlvbi5zZXRFZGl0b3JTdGF0ZShlZGl0b3JTdGF0ZSgpKTsKLSAgICAgICAgbV9o
YXNQZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGUgPSBmYWxzZTsKKyAgICAgICAgbV9wZW5kaW5nRWRp
dG9yU3RhdGVVcGRhdGVTdGF0dXMgPSBQZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGVTdGF0dXM6Ok5v
dFNjaGVkdWxlZDsKICAgICB9CiB9CiAKQEAgLTY0NDUsNyArNjQ1MSw3IEBAIHZvaWQgV2ViUGFn
ZTo6c2VuZEVkaXRvclN0YXRlVXBkYXRlKCkKICAgICBpZiAoZnJhbWUuZWRpdG9yKCkuaWdub3Jl
U2VsZWN0aW9uQ2hhbmdlcygpKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2hhc1BlbmRpbmdF
ZGl0b3JTdGF0ZVVwZGF0ZSA9IGZhbHNlOworICAgIG1fcGVuZGluZ0VkaXRvclN0YXRlVXBkYXRl
U3RhdHVzID0gUGVuZGluZ0VkaXRvclN0YXRlVXBkYXRlU3RhdHVzOjpOb3RTY2hlZHVsZWQ7CiAK
ICAgICAvLyBJZiB3ZSBpbW1lZGlhdGVseSBkaXNwYXRjaCBhbiBFZGl0b3JTdGF0ZSB1cGRhdGUg
dG8gdGhlIFVJIHByb2Nlc3MsIGxheW91dCBtYXkgbm90IGJlIHVwIHRvIGRhdGUgeWV0LgogICAg
IC8vIElmIHRoYXQgaXMgdGhlIGNhc2UsIGp1c3Qgc2VuZCB3aGF0IHdlIGhhdmUgKGkuZS4gZG9u
J3QgaW5jbHVkZSBwb3N0LWxheW91dCBkYXRhKSBhbmQgd2FpdCB1bnRpbCB0aGUKQEAgLTY0NTks
MTAgKzY0NjUsMTcgQEAgdm9pZCBXZWJQYWdlOjpzZW5kRWRpdG9yU3RhdGVVcGRhdGUoKQogCiB2
b2lkIFdlYlBhZ2U6OnNjaGVkdWxlRnVsbEVkaXRvclN0YXRlVXBkYXRlKCkKIHsKLSAgICBpZiAo
bV9oYXNQZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGUpCisgICAgaWYgKGhhc1BlbmRpbmdFZGl0b3JT
dGF0ZVVwZGF0ZSgpKSB7CisgICAgICAgIGlmIChtX2lzQ2hhbmdpbmdTZWxlY3Rpb25Gb3JBY2Nl
c3NpYmlsaXR5KQorICAgICAgICAgICAgbV9wZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGVTdGF0dXMg
PSBQZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGVTdGF0dXM6OlNjaGVkdWxlZER1cmluZ0FjY2Vzc2li
aWxpdHlTZWxlY3Rpb25DaGFuZ2U7CiAgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAo
bV9pc0NoYW5naW5nU2VsZWN0aW9uRm9yQWNjZXNzaWJpbGl0eSkKKyAgICAgICAgbV9wZW5kaW5n
RWRpdG9yU3RhdGVVcGRhdGVTdGF0dXMgPSBQZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGVTdGF0dXM6
OlNjaGVkdWxlZER1cmluZ0FjY2Vzc2liaWxpdHlTZWxlY3Rpb25DaGFuZ2U7CisgICAgZWxzZQor
ICAgICAgICBtX3BlbmRpbmdFZGl0b3JTdGF0ZVVwZGF0ZVN0YXR1cyA9IFBlbmRpbmdFZGl0b3JT
dGF0ZVVwZGF0ZVN0YXR1czo6U2NoZWR1bGVkOwogCi0gICAgbV9oYXNQZW5kaW5nRWRpdG9yU3Rh
dGVVcGRhdGUgPSB0cnVlOwogICAgIC8vIEZJWE1FOiBTY2hlZHVsaW5nIGEgY29tcG9zaXRpbmcg
bGF5ZXIgZmx1c2ggaGVyZSBjYW4gYmUgbW9yZSBleHBlbnNpdmUgdGhhbiBuZWNlc3NhcnkuCiAg
ICAgLy8gSW5zdGVhZCwgd2Ugc2hvdWxkIGp1c3QgY29tcHV0ZSBhbmQgc2VuZCBwb3N0LWxheW91
dCBlZGl0b3Igc3RhdGUgZHVyaW5nIHRoZSBuZXh0IGZyYW1lLgogICAgIG1fZHJhd2luZ0FyZWEt
PnRyaWdnZXJSZW5kZXJpbmdVcGRhdGUoKTsKQEAgLTY1MjIsNyArNjUzNSw3IEBAIHZvaWQgV2Vi
UGFnZTo6Zmx1c2hQZW5kaW5nU2FtcGxlZFBhZ2VUb3BDb2xvckNoYW5nZSgpCiAKIHZvaWQgV2Vi
UGFnZTo6Zmx1c2hQZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGUoKQogewotICAgIGlmICghbV9oYXNQ
ZW5kaW5nRWRpdG9yU3RhdGVVcGRhdGUpCisgICAgaWYgKCFoYXNQZW5kaW5nRWRpdG9yU3RhdGVV
cGRhdGUoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgRnJhbWUmIGZyYW1lID0gbV9wYWdlLT5m
b2N1c0NvbnRyb2xsZXIoKS5mb2N1c2VkT3JNYWluRnJhbWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA5NDk3YjdjMjBmYmFhZmZkMDk1YTU1M2Uz
Y2YxNTdiMDZjMTljZjA1Li5kNjViNjg3Njc4ZmI0MDI2ZWVhMWQ1ZjkwYzY4MWRmMGFlNzNlYThk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC01NTEs
NyArNTUxLDcgQEAgcHVibGljOgogICAgIFdlYkNvcmU6OldlYkdMTG9hZFBvbGljeSByZXNvbHZl
V2ViR0xQb2xpY3lGb3JVUkwoV2ViRnJhbWUqLCBjb25zdCBVUkwmKTsKICNlbmRpZgogICAgIAot
ICAgIGVudW0gY2xhc3MgU2hvdWxkUGVyZm9ybUxheW91dCB7IERlZmF1bHQsIFllcyB9OworICAg
IGVudW0gY2xhc3MgU2hvdWxkUGVyZm9ybUxheW91dCA6IGJvb2wgeyBEZWZhdWx0LCBZZXMgfTsK
ICAgICBFZGl0b3JTdGF0ZSBlZGl0b3JTdGF0ZShTaG91bGRQZXJmb3JtTGF5b3V0ID0gU2hvdWxk
UGVyZm9ybUxheW91dDo6RGVmYXVsdCkgY29uc3Q7CiAgICAgdm9pZCB1cGRhdGVFZGl0b3JTdGF0
ZUFmdGVyTGF5b3V0SWZFZGl0YWJpbGl0eUNoYW5nZWQoKTsKIApAQCAtODIzLDYgKzgyMyw5IEBA
IHB1YmxpYzoKICAgICB2b2lkIHJlcXVlc3REb2N1bWVudEVkaXRpbmdDb250ZXh0KFdlYktpdDo6
RG9jdW1lbnRFZGl0aW5nQ29udGV4dFJlcXVlc3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2Vi
S2l0OjpEb2N1bWVudEVkaXRpbmdDb250ZXh0KT4mJik7CiAjZW5kaWYKIAorICAgIHZvaWQgd2ls
bENoYW5nZVNlbGVjdGlvbkZvckFjY2Vzc2liaWxpdHkoKSB7IG1faXNDaGFuZ2luZ1NlbGVjdGlv
bkZvckFjY2Vzc2liaWxpdHkgPSB0cnVlOyB9CisgICAgdm9pZCBkaWRDaGFuZ2VTZWxlY3Rpb25G
b3JBY2Nlc3NpYmlsaXR5KCkgeyBtX2lzQ2hhbmdpbmdTZWxlY3Rpb25Gb3JBY2Nlc3NpYmlsaXR5
ID0gZmFsc2U7IH0KKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEVOQUJMRShJT1NfVE9V
Q0hfRVZFTlRTKQogICAgIHZvaWQgZGlzcGF0Y2hBc3luY2hyb25vdXNUb3VjaEV2ZW50cyhWZWN0
b3I8c3RkOjpwYWlyPFdlYlRvdWNoRXZlbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
PiwgMT4mJik7CiAgICAgdm9pZCBjYW5jZWxBc3luY2hyb25vdXNUb3VjaEV2ZW50cyhWZWN0b3I8
c3RkOjpwYWlyPFdlYlRvdWNoRXZlbnQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+Piwg
MT4mJik7CkBAIC0xOTE1LDYgKzE5MTgsOCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBwbGF0Zm9y
bUlzUGxheWluZ01lZGlhRGlkQ2hhbmdlKCk7CiAKKyAgICBib29sIGhhc1BlbmRpbmdFZGl0b3JT
dGF0ZVVwZGF0ZSgpIGNvbnN0OworCiAgICAgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgbV9pZGVu
dGlmaWVyOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OlBhZ2U+IG1fcGFnZTsKQEAg
LTIxNzcsNyArMjE4MiwxMyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9wZW5kaW5nVGhlbWVDb2xv
ckNoYW5nZSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3BlbmRpbmdQYWdlRXh0ZW5kZWRCYWNrZ3Jv
dW5kQ29sb3JDaGFuZ2UgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9wZW5kaW5nU2FtcGxlZFBhZ2VU
b3BDb2xvckNoYW5nZSB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2hhc1BlbmRpbmdFZGl0b3JTdGF0
ZVVwZGF0ZSB7IGZhbHNlIH07CisKKyAgICBlbnVtIGNsYXNzIFBlbmRpbmdFZGl0b3JTdGF0ZVVw
ZGF0ZVN0YXR1cyA6IHVpbnQ4X3QgeworICAgICAgICBOb3RTY2hlZHVsZWQsCisgICAgICAgIFNj
aGVkdWxlZCwKKyAgICAgICAgU2NoZWR1bGVkRHVyaW5nQWNjZXNzaWJpbGl0eVNlbGVjdGlvbkNo
YW5nZSwKKyAgICB9OworICAgIFBlbmRpbmdFZGl0b3JTdGF0ZVVwZGF0ZVN0YXR1cyBtX3BlbmRp
bmdFZGl0b3JTdGF0ZVVwZGF0ZVN0YXR1cyB7IFBlbmRpbmdFZGl0b3JTdGF0ZVVwZGF0ZVN0YXR1
czo6Tm90U2NoZWR1bGVkIH07CiAKICNpZiBFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykKICAgICBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiBtX3BlbmRpbmdTeW5jaHJvbm91c1RvdWNoRXZl
bnRSZXBseTsKQEAgLTIyNjcsNiArMjI3OCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX21haW5G
cmFtZVByb2dyZXNzQ29tcGxldGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fc2hvdWxkRGlzcGF0
Y2hGYWtlTW91c2VNb3ZlRXZlbnRzIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9pc1NlbGVjdGluZ1Rl
eHRXaGlsZUluc2VydGluZ0FzeW5jaHJvbm91c2x5IHsgZmFsc2UgfTsKKyAgICBib29sIG1faXND
aGFuZ2luZ1NlbGVjdGlvbkZvckFjY2Vzc2liaWxpdHkgeyBmYWxzZSB9OwogCiAgICAgZW51bSBj
bGFzcyBFZGl0b3JTdGF0ZUlzQ29udGVudEVkaXRhYmxlIHsgTm8sIFllcywgVW5zZXQgfTsKICAg
ICBtdXRhYmxlIEVkaXRvclN0YXRlSXNDb250ZW50RWRpdGFibGUgbV9sYXN0RWRpdG9yU3RhdGVX
YXNDb250ZW50RWRpdGFibGUgeyBFZGl0b3JTdGF0ZUlzQ29udGVudEVkaXRhYmxlOjpVbnNldCB9
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433807</attachid>
            <date>2021-07-19 11:55:29 -0700</date>
            <delta_ts>2021-07-19 12:29:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228051-20210719115528.patch</filename>
            <type>text/plain</type>
            <size>2449</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDczMDQ1ZmViMWMxYjZlMDE2
ZTAwZjhlMWI5M2VlZDliYTk1YTAyYjguLjlkNTg1MWEzMzgwNGY0MDA1MmNmMGFiYTM2YWM0N2Vi
MzAwMzhjOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjEtMDctMTkgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2ZXJ0IGEgZGVidWcg
YXNzZXJ0aW9uIHRoYXQgd2FzIGFkZGVkIGluIHIyODAwMTkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODA1MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNldmVyYWwgZXhpc3RpbmcgKG5vbi1hY2Nlc3Np
YmlsaXR5LXJlbGF0ZWQpIGVkaXRpbmcgdGVzdHMgYXBwZWFyIHRvIGhpdCB0aGlzIGRlYnVnIGFz
c2VydGlvbiB0aGF0IHdhcyBhZGRlZCBpbgorICAgICAgICByMjgwMDE5LCB3aGljaCBpbmRpY2F0
ZXMgdGhhdCBpdCdzIGN1cnJlbnRseSBwb3NzaWJsZSB0byBjYWxsIGAtc2VsZWN0aW9uRGlkQ2hh
bmdlOmAgd2l0aG91dCBhIGJhbGFuY2VkIGNhbGwgdG8KKyAgICAgICAgYC1zZWxlY3Rpb25XaWxs
Q2hhbmdlOmAsIGV2ZW4gYmVmb3JlIHRoZSBjaGFuZ2VzIGluIHIyODAwMTkuCisKKyAgICAgICAg
Rm9yIHRoZSB0aW1lIGJlaW5nLCByZXBsYWNlIHRoaXMgYXNzZXJ0aW9uIHdpdGggYSBGSVhNRSBy
ZWZlcmVuY2luZyBhIGZvbGxvd3VwIGJ1ZyB0byBpbnZlc3RpZ2F0ZSB3aHkgdGhpcyBpcworICAg
ICAgICB0aGUgY2FzZTogaHR0cHM6Ly93ZWJraXQub3JnL2IvMjI4MDgzLiBUaGFua2Z1bGx5LCBz
aW5jZSB0aGUgZGVjcmVtZW50aW5nIG9mIGBfc2VsZWN0aW9uQ2hhbmdlTmVzdGluZ0xldmVsYCBp
cworICAgICAgICBpZGVtcG90ZW50IG9uY2UgdGhlIGxldmVsIHJlYWNoZXMgMCwgbm8gb3RoZXIg
Y2hhbmdlcyBhcmUgbmVlZGVkIHRvIGVuc3VyZSB0aGF0IHdlIGRvbid0IGVuZCB1cCB3aXRoIHVu
ZGVyZmxvdworICAgICAgICBpbiBgX3NlbGVjdGlvbkNoYW5nZU5lc3RpbmdMZXZlbGAuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAg
ICAgKC1bV0tDb250ZW50VmlldyBlbmRTZWxlY3Rpb25DaGFuZ2VdKToKKwogMjAyMS0wNy0xOCAg
V2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBb
QVhdIEtleWJvYXJkIHRleHQgY2FuZGlkYXRlcyBkb24ndCB1cGRhdGUgd2hlbiBjaGFuZ2luZyBz
ZWxlY3Rpb24gdXNpbmcgU3dpdGNoIENvbnRyb2wKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IGUyODIwNWRl
ZmE4NmQ5NWNmMTE1MzRlNTViNDkzMmNkZmNkNDU4NmUuLmY1MmQ1Y2YwZTUwYjAwZmY0ODZjYTgx
NTlhMmM5MWQ2MDJkN2UzNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtNDk0MCwxMCArNDk0MCwxMiBA
QCAtICh2b2lkKWVuZFNlbGVjdGlvbkNoYW5nZQogewogICAgIFtzZWxmLmlucHV0RGVsZWdhdGUg
c2VsZWN0aW9uRGlkQ2hhbmdlOnNlbGZdOwogCi0gICAgaWYgKF9zZWxlY3Rpb25DaGFuZ2VOZXN0
aW5nTGV2ZWwpCisgICAgaWYgKF9zZWxlY3Rpb25DaGFuZ2VOZXN0aW5nTGV2ZWwpIHsKKyAgICAg
ICAgLy8gRklYTUUgKDIyODA4Myk6IFNvbWUgbGF5b3V0IHRlc3RzIGVuZCB1cCB0cmlnZ2VyaW5n
IHVuYmFsYW5jZWQgY2FsbHMgdG8gLWVuZFNlbGVjdGlvbkNoYW5nZS4KKyAgICAgICAgLy8gV2Ug
c2hvdWxkIGludmVzdGlnYXRlIHdoeSB0aGlzIGhhcHBlbnMsIChpZGVhbGx5KSBwcmV2ZW50IGl0
IGZyb20gaGFwcGVuaW5nLCBhbmQgdGhlbiBhc3NlcnQKKyAgICAgICAgLy8gdGhhdCBgX3NlbGVj
dGlvbkNoYW5nZU5lc3RpbmdMZXZlbGAgaXMgbm9uemVybyB3aGVuIGNhbGxpbmcgLWVuZFNlbGVj
dGlvbkNoYW5nZS4KICAgICAgICAgX3NlbGVjdGlvbkNoYW5nZU5lc3RpbmdMZXZlbC0tOwotICAg
IGVsc2UKLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQogfQogCiAtICh2b2lk
KXdpbGxGaW5pc2hJZ25vcmluZ0NhbGxvdXRCYXJGYWRlQWZ0ZXJQZXJmb3JtaW5nQWN0aW9uCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>