<?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>224680</bug_id>
          
          <creation_ts>2021-04-16 10:49:57 -0700</creation_ts>
          <short_desc>[macOS] Refactor some webpage translation code</short_desc>
          <delta_ts>2021-04-16 16:53:30 -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>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>224683</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>aestes</cc>
    
    <cc>bdakin</cc>
    
    <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>japhet</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1751150</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-16 10:49:57 -0700</bug_when>
    <thetext>Work towards rdar://75641882.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751197</commentid>
    <comment_count>1</comment_count>
      <attachid>426258</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-16 12:39:53 -0700</bug_when>
    <thetext>Created attachment 426258
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751200</commentid>
    <comment_count>2</comment_count>
      <attachid>426259</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-16 12:53:44 -0700</bug_when>
    <thetext>Created attachment 426259
Fix Big Sur build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751322</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-16 16:53:28 -0700</bug_when>
    <thetext>Committed r276181 (236664@main): &lt;https://commits.webkit.org/236664@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 426259.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426258</attachid>
            <date>2021-04-16 12:39:53 -0700</date>
            <delta_ts>2021-04-16 13:04:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224680-20210416123952.patch</filename>
            <type>text/plain</type>
            <size>22814</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjYzYmY1MGVhNDhiNDNj
NDk5ZjE0OWFmNDk0YjkyOTViOWFmOGM3ZC4uMGNlMDIwZTA5MjBhOGZhNWM5MTJhNmRiNmE2NWU0
YzM2M2FiMmRjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTA0LTE2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gUmVm
YWN0b3Igc29tZSB3ZWJwYWdlIHRyYW5zbGF0aW9uIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDY4MAorICAgICAgICBXb3JrIHRvd2FyZHMg
PHJkYXI6Ly83NTY0MTg4Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbiBwcmVwYXJhdGlvbiBmb3IgZml4aW5nIGh0dHBzOi8vd2Via2l0Lm9yZy9i
LzIyNDY4MywgcmVmYWN0b3Igc29tZSBjb2RlcGF0aHMgZm9yIGhhbmRsaW5nIHdlYnBhZ2UgdHJh
bnNsYXRpb24KKyAgICAgICAgdmlhIHRoZSBjb250ZXh0IG1lbnUgb24gbWFjT1MsIGluIFdlYktp
dDIuCisKKyAgICAgICAgQ3VycmVudGx5LCB0aGUgY29udGV4dCBtZW51IGFjdGlvbiBmb3IgYENv
bnRleHRNZW51SXRlbVRhZ1RyYW5zbGF0ZWAgaXMgZnVsbHkgaGFuZGxlZCBpbiB0aGUgY2xpZW50
IGxheWVyIGluCisgICAgICAgIFdlYktpdDIsIHVzaW5nIHN0YXRlIGluIGBtX2FjdGl2ZUNvbnRl
eHRNZW51Q29udGV4dERhdGFgLiBIb3dldmVyLCB0byBtYWtlIHRoaXMgYWN0aW9uIHdvcmsgaW4g
V2ViS2l0TGVnYWN5IGFzCisgICAgICAgIHdlbGwsIHdlIG5lZWQgdGhlIGFiaWxpdHkgdG8gY2Fs
bCBiYWNrIGludG8gdGhlIGBDb250ZXh0TWVudUNvbnRyb2xsZXJgIHRvIGhhbmRsZSB0aGUgYWN0
aW9uLCBzaW5jZSBjb250ZXh0IG1lbnUKKyAgICAgICAgYWN0aW9ucyBpbiBXZWJLaXRMZWdhY3kg
b25seSB0YXJnZXQgdGhlIHNoYXJlZCBgV2ViTWVudVRhcmdldGAgaW5zdGFuY2UsIHdoaWNoIG9u
bHkga25vd3MgYWJvdXQgdGhlIGNvbnRleHQgbWVudQorICAgICAgICBjb250cm9sbGVyIHJhdGhl
ciB0aGFuIHRoZSBgV2ViSFRNTFZpZXdgIHRoYXQgdmVuZGVkIHRoZSBtZW51IGl0ZW0uCisKKyAg
ICAgICAgSW5zdGVhZCBvZiBhZGRpbmcgbG9naWMgaW4gYFdlYk1lbnVUYXJnZXRgIHRvIGRpZyB0
aGUgYFdlYkhUTUxWaWV3YCBjb3JyZXNwb25kaW5nIHRvIHRoZSBmb2N1c2VkIGZyYW1lIG91dCBv
ZgorICAgICAgICB0aGUgY29udGV4dCBtZW51IGNvbnRyb2xsZXIsIGl0IG1ha2VzIG1vcmUgc2Vu
c2UgdG8gcGx1bWIgdGhpcyBjYWxsIHRocm91Z2ggdGhlIChhbHJlYWR5LWVzdGFibGlzaGVkKQor
ICAgICAgICBgQ29udGV4dE1lbnVDbGllbnRgLiBXaGlsZSB0aGlzIGhhcyB0aGUgZGlzYWR2YW50
YWdlIG9mIHJlcXVpcmluZyBhbiBleHRyYSBJUEMgaG9wIG9uIHRoZSBXZWJLaXQyIGNhc2UsIGl0
IGFsc28KKyAgICAgICAgaGFzIHRoZSBhZHZhbnRhZ2UgdGhhdCB3ZSBjYW4gbGF6aWx5IGNvbXB1
dGUgdGhlIHNlbGVjdGlvbiBib3VuZHMgYW5kIG1lbnUgbG9jYXRpb24gaW4gcm9vdCB2aWV3IGNv
b3JkaW5hdGVzCisgICAgICAgIG9ubHkgaWYgdGhlIHVzZXIgaGFzIHNlbGVjdGVkIHRoaXMgbWVu
dSBhY3Rpb24sIHdoaWNoIG1ha2VzIGNvbnRleHQgbWVudSBkYXRhIChzbGlnaHRseSkgY2hlYXBl
ciB0byBjb21wdXRlLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAg
ICAqIGxvYWRlci9FbXB0eUNsaWVudHMuY3BwOgorICAgICAgICAqIHBhZ2UvQ29udGV4dE1lbnVD
bGllbnQuaDoKKyAgICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q29udGV4dC5oOgorICAgICAgICAo
V2ViQ29yZTo6Q29udGV4dE1lbnVDb250ZXh0OjpzZXRTZWxlY3Rpb25Cb3VuZHMpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250ZXh0OjpzZWxlY3Rpb25Cb3VuZHMg
Y29uc3QpOiBEZWxldGVkLgorCisgICAgICAgIFJlbW92ZSBjb2RlIGZvciBjb21wdXRpbmcgYW5k
IHNldHRpbmcgc2VsZWN0aW9uIGJvdW5kcy4gVGhpcyB3YXMgb25seSBhZGRlZCBpbiBzdXBwb3J0
IG9mIHdlYnBhZ2UgdHJhbnNsYXRpb247CisgICAgICAgIGluc3RlYWQgb2YgY29tcHV0aW5nIHRo
aXMgdXAgZnJvbnQsIHdlIGNhbiBpbnN0ZWFkIHNlbmQgdGhpcyBpbmZvcm1hdGlvbiBvbmx5IHdo
ZW4gdGhlIGFjdGlvbiBpcyBpbnZva2VkLgorCisgICAgICAgICogcGFnZS9Db250ZXh0TWVudUNv
bnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250cm9sbGVyOjpj
b250ZXh0TWVudUl0ZW1TZWxlY3RlZCk6CisKKyAgICAgICAgTW92ZSBsb2dpYyBmb3IgY29tcHV0
aW5nIHRoZSBzZWxlY3Rpb24gYm91bmRzIGFuZCBtZW51IGxvY2F0aW9uIGluIHJvb3QgdmlldyBj
b29yZGluYXRlcyBvdXQgb2YgYHBvcHVsYXRlYCBhbmQKKyAgICAgICAgaW50byBgY29udGV4dE1l
bnVJdGVtU2VsZWN0ZWRgLCBvbmx5IGluIHRoZSBjYXNlIHdoZXJlIHRoZSBhY3Rpb24gaXMgYENv
bnRleHRNZW51SXRlbVRhZ1RyYW5zbGF0ZWAuCisKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRN
ZW51Q29udHJvbGxlcjo6cG9wdWxhdGUpOgorCiAyMDIxLTA0LTE1ICBUaW0gSG9ydG9uICA8dGlt
b3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIG1lY2hhbmlzbSB0byBkdW1w
IHRoZSBQbGF0Zm9ybUNBTGF5ZXIgc3VidHJlZSBvZiBhIEdyYXBoaWNzTGF5ZXIsIGZvciB0ZXN0
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IDljZDQ1MTMzNTQwN2Y1YzU0NjA5ZWNiZGMzYmY5Y2E5NmFkYTUxY2Yu
LmRiODQ3YjcxMTg4YjEwZTNlYzUwNWE4N2RhNmM1MWNhOTk0ZWM5NTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzggQEAKKzIwMjEtMDQtMTYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgW21hY09TXSBSZWZhY3RvciBzb21lIHdlYnBhZ2UgdHJhbnNsYXRp
b24gY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI0NjgwCisgICAgICAgIFdvcmsgdG93YXJkcyA8cmRhcjovLzc1NjQxODgyPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBXZWJDb3JlIENoYW5n
ZUxvZyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgICogU2hhcmVkL0NvbnRleHRNZW51Q29u
dGV4dERhdGEuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb250ZXh0TWVudUNvbnRleHREYXRhOjpD
b250ZXh0TWVudUNvbnRleHREYXRhKToKKyAgICAgICAgKFdlYktpdDo6Q29udGV4dE1lbnVDb250
ZXh0RGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6Q29udGV4dE1lbnVDb250
ZXh0RGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvQ29udGV4dE1lbnVDb250ZXh0RGF0
YS5oOgorCisgICAgICAgIFJlbW92ZSBgc2VsZWN0aW9uQm91bmRzYC4gV2UgZG9uJ3QgbmVlZCB0
aGlzIGFueW1vcmUsIGJlY2F1c2Ugd2UnbGwgaW5zdGVhZCBjb21wdXRlIHRoZSBzZWxlY3Rpb24g
Ym91bmRzIG9ubHkKKyAgICAgICAgd2hlbiB0aGUgVHJhbnNsYXRlIG1lbnUgaXRlbSBpcyBzZWxl
Y3RlZCwgaW5zdGVhZCBvZiByZWx5aW5nIG9uIGBtX2FjdGl2ZUNvbnRleHRNZW51Q29udGV4dERh
dGFgIGJlaW5nIHVwIHRvCisgICAgICAgIGRhdGUuCisKKyAgICAgICAgKFdlYktpdDo6Q29udGV4
dE1lbnVDb250ZXh0RGF0YTo6c2VsZWN0ZWRUZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6
Q29udGV4dE1lbnVDb250ZXh0RGF0YTo6c2VsZWN0aW9uQm91bmRzIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbik6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1l
bnVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJD
b250ZXh0TWVudUNsaWVudE1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dE1lbnVD
bGllbnQ6OmhhbmRsZVRyYW5zbGF0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmhhbmRsZUNvbnRleHRNZW51
VHJhbnNsYXRpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisK
IDIwMjEtMDQtMTUgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAg
ICAgICAgTW92ZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgLVtXS1dlYlZpZXcgdGhlbWVDb2xvcl0g
aW50byB0aGUgbWFpbiBXS1dlYlZpZXcgY2F0ZWdvcnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZwppbmRleCA5MmZlNjBhODFjMzI0NTVhMjFiNjRkZjNkOWIzMTVmOWQzOWJhYTU4Li4zZTc4OWFj
MDYwYjhjMjQyNTdmZDFjY2QzODIxODRiYTZhYmI2NzE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjEtMDQtMTYgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBSZWZhY3RvciBzb21lIHdlYnBh
Z2UgdHJhbnNsYXRpb24gY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI0NjgwCisgICAgICAgIFdvcmsgdG93YXJkcyA8cmRhcjovLzc1NjQxODgy
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBX
ZWJDb3JlIENoYW5nZUxvZyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9X
ZWJDb250ZXh0TWVudUNsaWVudC5tbToKKyAgICAgICAgKFdlYkNvbnRleHRNZW51Q2xpZW50Ojpo
YW5kbGVUcmFuc2xhdGlvbik6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAg
ICAoLVtXZWJWaWV3IF9oYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uOnNlbGVjdGlvbkJvdW5k
czptZW51TG9jYXRpb246XSk6CisKKyAgICAgICAgQWRkIGFuIGVtcHR5IHN0dWIgd2l0aCBhIGBG
SVhNRWAgZm9yIHRoZSB0aW1lIGJlaW5nLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3SW50
ZXJuYWwuaDoKKwogMjAyMS0wNC0xNSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxl
LmNvbT4KIAogICAgICAgICBBZGQgYSBtZWNoYW5pc20gdG8gZHVtcCB0aGUgUGxhdGZvcm1DQUxh
eWVyIHN1YnRyZWUgb2YgYSBHcmFwaGljc0xheWVyLCBmb3IgdGVzdGluZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCA5YjA3YmU2OWYzNjcxOWRmNGFlM2FlZTg3OTE1
MTU5YWY3YzZiMGE0Li5iZTkyNzBkNGU1Y2JkMzkyOGU2NTZlODQ0NDJkNzQ1NjM0ZGNkYjYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcApAQCAtMTE1LDYgKzExNSwxMCBA
QCBjbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50IGZpbmFsIDogcHVibGljIENvbnRleHRNZW51
Q2xpZW50IHsKICAgICB2b2lkIHNlYXJjaFdpdGhTcG90bGlnaHQoKSBmaW5hbCB7IH0KICNlbmRp
ZgogCisjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykKKyAgICB2b2lkIGhhbmRsZVRy
YW5zbGF0aW9uKGNvbnN0IFN0cmluZyYsIGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRQb2ludCYp
IGZpbmFsIHsgfQorI2VuZGlmCisKICNpZiBQTEFURk9STShHVEspCiAgICAgdm9pZCBpbnNlcnRF
bW9qaShGcmFtZSYpIGZpbmFsIHsgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NvbnRleHRNZW51Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRN
ZW51Q2xpZW50LmgKaW5kZXggNWM1ZDUwYTYyNjMwYmEzNzUxNTk0NDAyZjE2ZGU2ZWRlNzA0M2Vi
Zi4uYmUxYzA2ZTczMjU2ZjI2N2NlNWRhZmU4ZGUzMjUzMzExNzdjZGRiNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ29udGV4dE1lbnVDbGllbnQuaApAQCAtNDUsNiArNDUsMTAgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBzcGVhayhjb25zdCBTdHJpbmcmKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIHN0b3BTcGVha2luZygpID0gMDsKIAorI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklD
RVMpCisgICAgdmlydHVhbCB2b2lkIGhhbmRsZVRyYW5zbGF0aW9uKGNvbnN0IFN0cmluZyYsIGNv
bnN0IEludFJlY3QmLCBjb25zdCBJbnRQb2ludCYpID0gMDsKKyNlbmRpZgorCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCiAgICAgdmlydHVhbCB2b2lkIHNlYXJjaFdpdGhTcG90bGlnaHQoKSA9IDA7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250ZXh0
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udGV4dC5oCmluZGV4IDYxMjZj
NTFhZDUzNWM3MGE2MTMxOGZiOTVjOWRmZTM3MGM5MTQ4ODQuLmMyZTc1ZmYyM2MyMmVjNGU3YjE2
OWE1ZjEyZjE3MWVmNzlhMWJkMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29u
dGV4dE1lbnVDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNv
bnRleHQuaApAQCAtNTUsOSArNTUsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTZWxlY3RlZFRl
eHQoY29uc3QgU3RyaW5nJiBzZWxlY3RlZFRleHQpIHsgbV9zZWxlY3RlZFRleHQgPSBzZWxlY3Rl
ZFRleHQ7IH0KICAgICBjb25zdCBTdHJpbmcmIHNlbGVjdGVkVGV4dCgpIGNvbnN0IHsgcmV0dXJu
IG1fc2VsZWN0ZWRUZXh0OyB9CiAKLSAgICB2b2lkIHNldFNlbGVjdGlvbkJvdW5kcyhjb25zdCBJ
bnRSZWN0JiBib3VuZHMpIHsgbV9zZWxlY3Rpb25Cb3VuZHMgPSBib3VuZHM7IH0KLSAgICBjb25z
dCBJbnRSZWN0JiBzZWxlY3Rpb25Cb3VuZHMoKSBjb25zdCB7IHJldHVybiBtX3NlbGVjdGlvbkJv
dW5kczsgfQotCiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAgICAgdm9pZCBzZXRDb250
cm9sbGVkSW1hZ2UoSW1hZ2UqIGNvbnRyb2xsZWRJbWFnZSkgeyBtX2NvbnRyb2xsZWRJbWFnZSA9
IGNvbnRyb2xsZWRJbWFnZTsgfQogICAgIEltYWdlKiBjb250cm9sbGVkSW1hZ2UoKSBjb25zdCB7
IHJldHVybiBtX2NvbnRyb2xsZWRJbWFnZS5nZXQoKTsgfQpAQCAtNjcsNyArNjQsNiBAQCBwcml2
YXRlOgogICAgIFR5cGUgbV90eXBlIHsgVHlwZTo6Q29udGV4dE1lbnUgfTsKICAgICBIaXRUZXN0
UmVzdWx0IG1faGl0VGVzdFJlc3VsdDsKICAgICBTdHJpbmcgbV9zZWxlY3RlZFRleHQ7Ci0gICAg
SW50UmVjdCBtX3NlbGVjdGlvbkJvdW5kczsKIAogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xT
KQogICAgIFJlZlB0cjxJbWFnZT4gbV9jb250cm9sbGVkSW1hZ2U7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKaW5kZXggMjVjMDU2NGQ1ZjlhYzQ1ZTJk
MGRkZTljZjYxNjRhZTEyY2E4YTA1OC4uMzYwODJmOGZjNTY1YWMwMGQwNjlkNzUwOGU5YjUzYzA3
ZjZmOWUxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVy
LmNwcApAQCAtNTIzLDEwICs1MjMsMTYgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OmNv
bnRleHRNZW51SXRlbVNlbGVjdGVkKENvbnRleHRNZW51QWN0aW9uIGFjdGlvbiwgY28KICAgICAg
ICAgZnJhbWUtPmVkaXRvcigpLmFwcGx5RGljdGF0aW9uQWx0ZXJuYXRpdmUodGl0bGUpOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1JldmVhbEltYWdlOgotICAg
IGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVHJhbnNsYXRlOgogICAgICAgICAvLyBUaGlzIHNob3Vs
ZCBiZSBoYW5kbGVkIGF0IHRoZSBjbGllbnQgbGF5ZXIuCiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RyYW5z
bGF0ZToKKyAgICAgICAgaWYgKGF1dG8gdmlldyA9IG1ha2VSZWZQdHIoZnJhbWUtPnZpZXcoKSkp
IHsKKyAgICAgICAgICAgIGF1dG8gc2VsZWN0aW9uQm91bmRzID0gdmlldy0+Y29udGVudHNUb1Jv
b3RWaWV3KGVuY2xvc2luZ0ludFJlY3QoZnJhbWUtPnNlbGVjdGlvbigpLnNlbGVjdGlvbkJvdW5k
cygpKSk7CisgICAgICAgICAgICBhdXRvIGxvY2F0aW9uID0gdmlldy0+Y29udGVudHNUb1Jvb3RW
aWV3KG1fY29udGV4dC5oaXRUZXN0UmVzdWx0KCkucm91bmRlZFBvaW50SW5Jbm5lck5vZGVGcmFt
ZSgpKTsKKyAgICAgICAgICAgIG1fY2xpZW50LmhhbmRsZVRyYW5zbGF0aW9uKG1fY29udGV4dC5o
aXRUZXN0UmVzdWx0KCkuc2VsZWN0ZWRUZXh0KCksIHNlbGVjdGlvbkJvdW5kcywgbG9jYXRpb24p
OworICAgICAgICB9CisgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIGJyZWFr
OwogICAgIH0KQEAgLTg2OCwxNCArODc0LDcgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6
OnBvcHVsYXRlKCkKICAgICB9OwogCiAgICAgYXV0byBzZWxlY3RlZFRleHQgPSBtX2NvbnRleHQu
aGl0VGVzdFJlc3VsdCgpLnNlbGVjdGVkVGV4dCgpOwotICAgIGlmICghc2VsZWN0ZWRUZXh0Lmlz
RW1wdHkoKSkgewotICAgICAgICBtX2NvbnRleHQuc2V0U2VsZWN0ZWRUZXh0KHNlbGVjdGVkVGV4
dCk7Ci0gICAgICAgIGlmIChhdXRvIHZpZXcgPSBtYWtlUmVmUHRyKGZyYW1lLT52aWV3KCkpKSB7
Ci0gICAgICAgICAgICBhdXRvIHNlbGVjdGlvbkJvdW5kc0luQ29udGVudENvb3JkaW5hdGVzID0g
ZW5jbG9zaW5nSW50UmVjdChmcmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uQm91bmRzKCkpOwot
ICAgICAgICAgICAgaWYgKCFzZWxlY3Rpb25Cb3VuZHNJbkNvbnRlbnRDb29yZGluYXRlcy5pc0Vt
cHR5KCkpCi0gICAgICAgICAgICAgICAgbV9jb250ZXh0LnNldFNlbGVjdGlvbkJvdW5kcyh2aWV3
LT5jb250ZW50c1RvUm9vdFZpZXcoc2VsZWN0aW9uQm91bmRzSW5Db250ZW50Q29vcmRpbmF0ZXMp
KTsKLSAgICAgICAgfQotICAgIH0KKyAgICBtX2NvbnRleHQuc2V0U2VsZWN0ZWRUZXh0KHNlbGVj
dGVkVGV4dCk7CiAKICAgICBpZiAoIW1fY29udGV4dC5oaXRUZXN0UmVzdWx0KCkuaXNDb250ZW50
RWRpdGFibGUoKSkgewogICAgICAgICBGcmFtZUxvYWRlciYgbG9hZGVyID0gZnJhbWUtPmxvYWRl
cigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29udGV4dE1lbnVDb250ZXh0
RGF0YS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db250ZXh0TWVudUNvbnRleHREYXRhLmNw
cAppbmRleCA4YjAzYThmYTQ3NTAzN2U0NjYxMThjN2Y1OWYwMmExYWMwMjZhMGVjLi5iNTdkMzYx
ZjM5NDRiMDVlYzc0N2RjZjYzNjVhODQwNjA1MGQxMGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Db250ZXh0TWVudUNvbnRleHREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Db250ZXh0TWVudUNvbnRleHREYXRhLmNwcApAQCAtNTMsNyArNTMsNiBAQCBDb250
ZXh0TWVudUNvbnRleHREYXRhOjpDb250ZXh0TWVudUNvbnRleHREYXRhKGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiBtZW51TG9jYQogICAgICwgbV9tZW51SXRlbXMobWVudUl0ZW1zKQogICAgICwg
bV93ZWJIaXRUZXN0UmVzdWx0RGF0YShjb250ZXh0LmhpdFRlc3RSZXN1bHQoKSwgdHJ1ZSkKICAg
ICAsIG1fc2VsZWN0ZWRUZXh0KGNvbnRleHQuc2VsZWN0ZWRUZXh0KCkpCi0gICAgLCBtX3NlbGVj
dGlvbkJvdW5kcyhjb250ZXh0LnNlbGVjdGlvbkJvdW5kcygpKQogI2lmIEVOQUJMRShTRVJWSUNF
X0NPTlRST0xTKQogICAgICwgbV9zZWxlY3Rpb25Jc0VkaXRhYmxlKGZhbHNlKQogI2VuZGlmCkBA
IC03OSw3ICs3OCw2IEBAIHZvaWQgQ29udGV4dE1lbnVDb250ZXh0RGF0YTo6ZW5jb2RlKElQQzo6
RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IG1fbWVudUl0ZW1zOwogICAg
IGVuY29kZXIgPDwgbV93ZWJIaXRUZXN0UmVzdWx0RGF0YTsKICAgICBlbmNvZGVyIDw8IG1fc2Vs
ZWN0ZWRUZXh0OwotICAgIGVuY29kZXIgPDwgbV9zZWxlY3Rpb25Cb3VuZHM7CiAKICNpZiBFTkFC
TEUoU0VSVklDRV9DT05UUk9MUykKICAgICBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBoYW5kbGU7
CkBAIC0xMDksOSArMTA3LDYgQEAgYm9vbCBDb250ZXh0TWVudUNvbnRleHREYXRhOjpkZWNvZGUo
SVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBDb250ZXh0TWVudUNvbnRleHREYXQKICAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKHJlc3VsdC5tX3NlbGVjdGVkVGV4dCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1fc2VsZWN0aW9uQm91bmRzKSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotCiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAg
ICAgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUgaGFuZGxlOwogICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoaGFuZGxlKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvbnRleHRNZW51
Q29udGV4dERhdGEuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvbnRleHRNZW51Q29udGV4dERh
dGEuaAppbmRleCA0ZjdiN2E2MzFmYzU3MjQ5ZGNhNzNkMmNhOTljZGEwYzM4M2FkY2I4Li43ZTMw
ODNmZDc4ZjU4NGQ5Y2FhYTBjZDgzMjZmZjJhMzI5OTllMjljIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Db250ZXh0TWVudUNvbnRleHREYXRhLmgKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQ29udGV4dE1lbnVDb250ZXh0RGF0YS5oCkBAIC01NCw3ICs1NCw2IEBAIHB1Ymxp
YzoKICAgICBXZWJIaXRUZXN0UmVzdWx0RGF0YSYgd2ViSGl0VGVzdFJlc3VsdERhdGEoKSB7IHJl
dHVybiBtX3dlYkhpdFRlc3RSZXN1bHREYXRhOyB9CiAgICAgY29uc3QgV2ViSGl0VGVzdFJlc3Vs
dERhdGEmIHdlYkhpdFRlc3RSZXN1bHREYXRhKCkgY29uc3QgeyByZXR1cm4gbV93ZWJIaXRUZXN0
UmVzdWx0RGF0YTsgfQogICAgIGNvbnN0IFN0cmluZyYgc2VsZWN0ZWRUZXh0KCkgY29uc3QgeyBy
ZXR1cm4gbV9zZWxlY3RlZFRleHQ7IH0KLSAgICBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzZWxl
Y3Rpb25Cb3VuZHMoKSBjb25zdCB7IHJldHVybiBtX3NlbGVjdGlvbkJvdW5kczsgfQogCiAjaWYg
RU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAgICAgQ29udGV4dE1lbnVDb250ZXh0RGF0YShjb25z
dCBXZWJDb3JlOjpJbnRQb2ludCYgbWVudUxvY2F0aW9uLCBjb25zdCBWZWN0b3I8dWludDhfdD4m
IHNlbGVjdGlvbkRhdGEsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzZWxlY3RlZFRlbGVwaG9uZU51
bWJlcnMsIGJvb2wgaXNFZGl0YWJsZSkKQEAgLTg1LDcgKzg0LDYgQEAgcHJpdmF0ZToKIAogICAg
IFdlYkhpdFRlc3RSZXN1bHREYXRhIG1fd2ViSGl0VGVzdFJlc3VsdERhdGE7CiAgICAgU3RyaW5n
IG1fc2VsZWN0ZWRUZXh0OwotICAgIFdlYkNvcmU6OkludFJlY3QgbV9zZWxlY3Rpb25Cb3VuZHM7
CiAKICNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKICAgICBSZWZQdHI8U2hhcmVhYmxlQml0
bWFwPiBtX2NvbnRyb2xsZWRJbWFnZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KaW5kZXggODNmOWQ2NWM5ZTA2YTZlZjU1YTNmNTQz
YjEzOThiNjQwMWM0ZjdmYy4uMTAwOWI4ZjQyZmQ3Y2EzMzE5OTU3YTJmNGQzYzJkMjI1NzU4YmQ5
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5
Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5
Q29jb2EubW0KQEAgLTYxNSw2ICs2MTUsMTEgQEAgYm9vbCBXZWJQYWdlUHJveHk6OmNhbkhhbmRs
ZUNvbnRleHRNZW51VHJhbnNsYXRpb24oKSBjb25zdAogICAgIHJldHVybiBwYWdlQ2xpZW50KCku
Y2FuSGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbigpOwogfQogCit2b2lkIFdlYlBhZ2VQcm94
eTo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0
IFdlYkNvcmU6OkludFJlY3QmIGJvdW5kc0luVmlldywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQm
IGxvY2F0aW9uSW5WaWV3KQoreworICAgIHJldHVybiBwYWdlQ2xpZW50KCkuaGFuZGxlQ29udGV4
dE1lbnVUcmFuc2xhdGlvbih0ZXh0LCBib3VuZHNJblZpZXcsIGxvY2F0aW9uSW5WaWV3KTsKK30K
KwogI2VuZGlmIC8vIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpCiAjZW5kaWYgLy8gRU5B
QkxFKENPTlRFWFRfTUVOVVMpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCmluZGV4IDcwZmVhYTA5MzIyZDY1NDAyYTc5M2M4MmFmYjkzYWZiNWQwYjViYjcuLjYzNThk
ZjA5YTFhYzVhNzRjYTU4M2VkYjJjOWM2ZGE4NzM0YjMzZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNjc0NiwxMiArNjc0Niw2IEBAIHZvaWQgV2ViUGFn
ZVByb3h5Ojpjb250ZXh0TWVudUl0ZW1TZWxlY3RlZChjb25zdCBXZWJDb250ZXh0TWVudUl0ZW1E
YXRhJiBpdGVtKQogI2VuZGlmCiAgICAgICAgIHJldHVybjsKIAotICAgIGNhc2UgQ29udGV4dE1l
bnVJdGVtVGFnVHJhbnNsYXRlOgotI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpCi0g
ICAgICAgIHBhZ2VDbGllbnQoKS5oYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKG1fYWN0aXZl
Q29udGV4dE1lbnVDb250ZXh0RGF0YS5zZWxlY3RlZFRleHQoKSwgbV9hY3RpdmVDb250ZXh0TWVu
dUNvbnRleHREYXRhLnNlbGVjdGlvbkJvdW5kcygpLCBtX2FjdGl2ZUNvbnRleHRNZW51Q29udGV4
dERhdGEubWVudUxvY2F0aW9uKCkpOwotI2VuZGlmCi0gICAgICAgIHJldHVybjsKLQogICAgIGRl
ZmF1bHQ6CiAgICAgICAgIGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKaW5kZXggYjg1MzNjYmM3NDNhZjlhZjU0MjA1NTNlODM3YWU3MWIwNjg3MWNiMS4u
MDYyMmJiZjViNDViZTQ5YmJhYjFhYzgyZDhhZTMwNzcxZDljYjRjZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE5MDEsOCArMTkwMSw5IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHJlc2V0SW1hZ2VFeHRyYWN0aW9uUHJldmlldygpOwogI2VuZGlmCiAKLSNpZiBIQVZF
KFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKQorI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklD
RVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQogICAgIGJvb2wgY2FuSGFuZGxlQ29udGV4dE1l
bnVUcmFuc2xhdGlvbigpIGNvbnN0OworICAgIHZvaWQgaGFuZGxlQ29udGV4dE1lbnVUcmFuc2xh
dGlvbihjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGJvdW5kc0lu
VmlldywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGxvY2F0aW9uSW5WaWV3KTsKICNlbmRpZgog
CiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT05fQ09PUkRJTkFUT1IpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggMmNhYzNmMWNiMDVk
MWNkN2I1Zjc3MWVlMTJjMGU3MjllMWYxZDhjZi4uNWEyN2U4N2JmODNmZWYzNTMxMjJmZTUwZjg3
YTVhNjQwN2Q4NmNmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbgpAQCAtMjI1LDYgKzIyNSwxMCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdl
UHJveHkgewogICAgIFJlcXVlc3RJbWFnZUV4dHJhY3Rpb24oVVJMIGltYWdlVVJMLCBXZWJLaXQ6
OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlIGltYWdlRGF0YSkgLT4gKHN0cnVjdCBXZWJDb3JlOjpJ
bWFnZUV4dHJhY3Rpb25SZXN1bHQgcmVzdWx0KSBBc3luYwogI2VuZGlmCiAKKyNpZiBIQVZFKFRS
QU5TTEFUSU9OX1VJX1NFUlZJQ0VTKSAmJiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKKyAgICBIYW5k
bGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKFN0cmluZyB0ZXh0LCBXZWJDb3JlOjpJbnRSZWN0IGJv
dW5kc0luVmlldywgV2ViQ29yZTo6SW50UG9pbnQgbG9jYXRpb25JblZpZXcpCisjZW5kaWYKKwog
I2lmIEVOQUJMRShNRURJQV9DT05UUk9MU19DT05URVhUX01FTlVTKSAmJiBVU0UoVUlDT05URVhU
TUVOVSkKICAgICBTaG93TWVkaWFDb250cm9sc0NvbnRleHRNZW51KFdlYkNvcmU6OkZsb2F0UmVj
dCB0YXJnZXRGcmFtZSwgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNDb250ZXh0TWVudUl0
ZW0+IGl0ZW1zKSAtPiAoV2ViQ29yZTo6TWVkaWFDb250cm9sc0NvbnRleHRNZW51SXRlbTo6SUQg
c2VsZWN0ZWRJdGVtSUQpIEFzeW5jCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX0NPTlRST0xTX0NP
TlRFWFRfTUVOVVMpICYmIFVTRShVSUNPTlRFWFRNRU5VKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGll
bnQuaAppbmRleCBjMWM4OWNkOTllODdhZWU4NGVkNTc0NmMyZTgxZjY0N2U4MmYxZmM5Li4wMzFj
NTU0NmQ3ZWQ2YjRiOTFlMjU1MjY0OWM5NTVjZDUxYzc0ZTgxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1l
bnVDbGllbnQuaApAQCAtNTYsNiArNTYsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNlYXJjaFdp
dGhTcG90bGlnaHQoKSBvdmVycmlkZTsKICNlbmRpZgogCisjaWYgSEFWRShUUkFOU0xBVElPTl9V
SV9TRVJWSUNFUykKKyAgICB2b2lkIGhhbmRsZVRyYW5zbGF0aW9uKGNvbnN0IFN0cmluZyYsIGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmIHNlbGVjdGlvbkJvdW5kc0luUm9vdFZpZXcsIGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiBsb2NhdGlvbkluUm9vdFZpZXcpIGZpbmFsOworI2VuZGlmCisKICNp
ZiBQTEFURk9STShHVEspCiAgICAgdm9pZCBpbnNlcnRFbW9qaShXZWJDb3JlOjpGcmFtZSYpIG92
ZXJyaWRlOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvbWFjL1dlYkNvbnRleHRNZW51Q2xpZW50TWFjLm1tIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJDb250ZXh0TWVudUNsaWVudE1hYy5t
bQppbmRleCBhZWRhZTVhZjVlMzQwNDI4MThkOWMyYThjNDI0YjA0ZWQ3ZTZhMjRjLi42MjU1OWM3
NTBjZjJkYjIzZGE3YmNkNGU2MGJkZGMwODA0NzgxYmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkNvbnRleHRNZW51Q2xpZW50TWFj
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2Vi
Q29udGV4dE1lbnVDbGllbnRNYWMubW0KQEAgLTk0LDYgKzk0LDExIEBAIHZvaWQgV2ViQ29udGV4
dE1lbnVDbGllbnQ6OnNlYXJjaFdpdGhTcG90bGlnaHQoKQogICAgIG1fcGFnZS0+c2VuZChNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpTZWFyY2hXaXRoU3BvdGxpZ2h0KHNlbGVjdGVkU3RyaW5nKSk7
CiB9CiAKK3ZvaWQgV2ViQ29udGV4dE1lbnVDbGllbnQ6OmhhbmRsZVRyYW5zbGF0aW9uKGNvbnN0
IFN0cmluZyYgdGV4dCwgY29uc3QgSW50UmVjdCYgYm91bmRzLCBjb25zdCBJbnRQb2ludCYgbG9j
YXRpb24pCit7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkhhbmRs
ZUNvbnRleHRNZW51VHJhbnNsYXRpb24odGV4dCwgYm91bmRzLCBsb2NhdGlvbikpOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAxNGIx
MDljOWQwNTg0M2Q2ODY0YmYzZTBjNTQ5ZGFkNmUyODRiMzkzLi42NmU4ZjcwODVlYzY5ZDA5YzBi
ZDk2OTZlMjFlOWMwYWIxZjZkZjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcApAQCAtNzUyOCw2ICs3NTI4LDE1IEBAIHZvaWQgV2ViUGFnZTo6bGFz
dE5hdmlnYXRpb25XYXNBcHBCb3VuZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNv
bXBsZXRpCiAgICAgY29tcGxldGlvbkhhbmRsZXIobWFpbkZyYW1lKCktPmRvY3VtZW50KCktPmxv
YWRlcigpLT5sYXN0TmF2aWdhdGlvbldhc0FwcEJvdW5kKCkpOwogfQogCisjaWYgSEFWRShUUkFO
U0xBVElPTl9VSV9TRVJWSUNFUykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCisKK3ZvaWQgV2Vi
UGFnZTo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25zdCBTdHJpbmcmIHRleHQsIGNv
bnN0IEludFJlY3QmIGJvdW5kc0luVmlldywgY29uc3QgSW50UG9pbnQmIGxvY2F0aW9uSW5WaWV3
KQoreworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6SGFuZGxlQ29udGV4dE1lbnVU
cmFuc2xhdGlvbih0ZXh0LCBib3VuZHNJblZpZXcsIGxvY2F0aW9uSW5WaWV3KSk7Cit9CisKKyNl
bmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FM
TE9XRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBh
ZWIyNWRhYjg0MjA2ODRhOTUwMjM4NmFiZjgzYWU2YmUzOGNlOTg2Li42OTQ2MmQ1MWRhNWE1ZjQ0
NzEyZDE4ZWMzNjUwYWVhMGExYjNkMWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oCkBAIC0xMzkxLDYgKzEzOTEsMTAgQEAgcHVibGljOgogICAgIHZvaWQg
dXBkYXRlV2l0aEltYWdlRXh0cmFjdGlvblJlc3VsdChXZWJDb3JlOjpJbWFnZUV4dHJhY3Rpb25S
ZXN1bHQmJiwgY29uc3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQmLCBjb25zdCBXZWJDb3JlOjpG
bG9hdFBvaW50JiBsb2NhdGlvbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAj
ZW5kaWYKIAorI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05U
RVhUX01FTlVTKQorICAgIHZvaWQgaGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25zdCBT
dHJpbmcmIHRleHQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNlbGVjdGlvbkJvdW5kc0luVmll
dywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIG1lbnVMb2NhdGlvbkluVmlldyk7CisjZW5kaWYK
KwogI2lmIEVOQUJMRShNRURJQV9DT05UUk9MU19DT05URVhUX01FTlVTKSAmJiBVU0UoVUlDT05U
RVhUTUVOVSkKICAgICB2b2lkIHNob3dNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnUoV2ViQ29yZTo6
RmxvYXRSZWN0JiYsIFZlY3RvcjxXZWJDb3JlOjpNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnVJdGVt
PiYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNDb250ZXh0
TWVudUl0ZW06OklEKT4mJik7CiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX0NPTlRST0xTX0NPTlRF
WFRfTUVOVVMpICYmIFVTRShVSUNPTlRFWFRNRU5VKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmgK
aW5kZXggYTdmNjZlZWVmMzA2YTY4NjA1NDIwZTc5ODc2MjAyNTdiZTA2YjZiZC4uYWZiYzAwNzI5
MzU2Zjc3YTM5NDFlNzc2NDJmZjk4YjViOGE1ODcxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVu
dC5oCkBAIC02Nyw2ICs2NywxMCBAQCBwdWJsaWM6CiAgICAgUmV0YWluUHRyPE5TSW1hZ2U+IGlt
YWdlRm9yQ3VycmVudFNoYXJpbmdTZXJ2aWNlUGlja2VySXRlbShXZWJTaGFyaW5nU2VydmljZVBp
Y2tlckNvbnRyb2xsZXIgJikgb3ZlcnJpZGU7CiAjZW5kaWYKIAorI2lmIEhBVkUoVFJBTlNMQVRJ
T05fVUlfU0VSVklDRVMpCisgICAgdm9pZCBoYW5kbGVUcmFuc2xhdGlvbihjb25zdCBTdHJpbmcm
LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzZWxlY3Rpb25Cb3VuZHNJblJvb3RWaWV3LCBjb25z
dCBXZWJDb3JlOjpJbnRQb2ludCYgbG9jYXRpb25JblJvb3RWaWV3KSBmaW5hbDsKKyNlbmRpZgor
CiBwcml2YXRlOgogICAgIE5TTWVudSAqY29udGV4dE1lbnVGb3JFdmVudChOU0V2ZW50ICosIE5T
VmlldyAqLCBib29sJiBpc1NlcnZpY2VzTWVudSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50Lm1tIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQu
bW0KaW5kZXggMjU2ZTY4OTExYjc1OGYxMzU5OTU4MDIwOTFiZTAyZjczOGY3MzMxZC4uNjRmYTUz
NWVhODQ2OTJiNmYxZDNiMjMyMzFlMmRmYWQ2ZTdkMWU4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQubW0KKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVD
bGllbnQubW0KQEAgLTE0Nyw2ICsxNDcsMTUgQEAgYm9vbCBXZWJDb250ZXh0TWVudUNsaWVudDo6
Y2xpZW50RmxvYXRSZWN0Rm9yTm9kZShOb2RlJiBub2RlLCBGbG9hdFJlY3QmIHJlY3QpIGMKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAorI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpCisK
K3ZvaWQgV2ViQ29udGV4dE1lbnVDbGllbnQ6OmhhbmRsZVRyYW5zbGF0aW9uKGNvbnN0IFN0cmlu
ZyYgdGV4dCwgY29uc3QgSW50UmVjdCYgc2VsZWN0aW9uQm91bmRzSW5Sb290VmlldywgY29uc3Qg
SW50UG9pbnQmIGxvY2F0aW9uSW5Sb290VmlldykKK3sKKyAgICBbbV93ZWJWaWV3IF9oYW5kbGVD
b250ZXh0TWVudVRyYW5zbGF0aW9uOnRleHQgc2VsZWN0aW9uQm91bmRzOnNlbGVjdGlvbkJvdW5k
c0luUm9vdFZpZXcgbWVudUxvY2F0aW9uOmxvY2F0aW9uSW5Sb290Vmlld107Cit9CisKKyNlbmRp
ZgorCiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAKIHZvaWQgV2ViQ29udGV4dE1lbnVD
bGllbnQ6OnNoYXJpbmdTZXJ2aWNlUGlja2VyV2lsbEJlRGVzdHJveWVkKFdlYlNoYXJpbmdTZXJ2
aWNlUGlja2VyQ29udHJvbGxlciAmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCmluZGV4IDViMGVlOGEzYWM4YzMzM2I2ZWUzNDRjZGQ5YzNiNTU3NjVjMjZmZjAu
LmI0YjU1NGE5YjAzYTUyZWU2ODAwNWMyZjM2NGIyYmM3ZTg2MjkzNDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTk2MjcsNiArOTYyNywxOCBAQCAt
ICh2b2lkKV9jbG9zZVdpbmRvdwogICAgIFtbc2VsZiBfVUlEZWxlZ2F0ZUZvcndhcmRlcl0gd2Vi
Vmlld0Nsb3NlOnNlbGZdOwogfQogCisjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykg
JiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCisKKy0gKHZvaWQpX2hhbmRsZUNvbnRleHRNZW51VHJh
bnNsYXRpb246KGNvbnN0IFN0cmluZyYpdGV4dCBzZWxlY3Rpb25Cb3VuZHM6KGNvbnN0IFdlYkNv
cmU6OkludFJlY3QmKXNlbGVjdGlvbkJvdW5kc0luUm9vdFZpZXcgbWVudUxvY2F0aW9uOihjb25z
dCBXZWJDb3JlOjpJbnRQb2ludCYpbG9jYXRpb25JblJvb3RWaWV3Cit7CisgICAgLy8gRklYTUUg
KDIyNDY4Myk6IE5vdCBpbXBsZW1lbnRlZCB5ZXQuCisgICAgVU5VU0VEX1BBUkFNKHRleHQpOwor
ICAgIFVOVVNFRF9QQVJBTShzZWxlY3Rpb25Cb3VuZHNJblJvb3RWaWV3KTsKKyAgICBVTlVTRURf
UEFSQU0obG9jYXRpb25JblJvb3RWaWV3KTsKK30KKworI2VuZGlmIC8vIEhBVkUoVFJBTlNMQVRJ
T05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQorCiBAZW5kCiAKIEBpbXBs
ZW1lbnRhdGlvbiBXZWJWaWV3IChXZWJWaWV3RGV2aWNlT3JpZW50YXRpb24pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaAppbmRleCAzYWUw
ZDNhYTI2MmQ5NTIzMzBjMWM4MmMzMjU1MGQ5YTIxYTUwMTRmLi5iMTEwODFhNGYwYmJhY2E1NzFm
OTFhNTJjYmI4NDFhM2M5MWIwYmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViVmlld0ludGVybmFsLmgKQEAgLTE1Nyw2ICsxNTcsMTAgQEAgV2ViTGF5b3V0
TWlsZXN0b25lcyBraXRMYXlvdXRNaWxlc3RvbmVzKE9wdGlvblNldDxXZWJDb3JlOjpMYXlvdXRN
aWxlc3RvbmU+KTsKIC0gKFdlYlNlbGVjdGlvblNlcnZpY2VDb250cm9sbGVyJilfc2VsZWN0aW9u
U2VydmljZUNvbnRyb2xsZXI7CiAjZW5kaWYKIAorI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VS
VklDRVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQorLSAodm9pZClfaGFuZGxlQ29udGV4dE1l
bnVUcmFuc2xhdGlvbjooY29uc3QgU3RyaW5nJil0ZXh0IHNlbGVjdGlvbkJvdW5kczooY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYpYm91bmRzSW5WaWV3IG1lbnVMb2NhdGlvbjooY29uc3QgV2ViQ29y
ZTo6SW50UG9pbnQmKW1lbnVMb2NhdGlvbjsKKyNlbmRpZgorCiAtICh2b2lkKV93aW5kb3dWaXNp
YmlsaXR5Q2hhbmdlZDooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb247CiAKIC0gKHZvaWQp
X2Nsb3NlV2luZG93Owo=
</data>
<flag name="commit-queue"
          id="446502"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426259</attachid>
            <date>2021-04-16 12:53:44 -0700</date>
            <delta_ts>2021-04-16 16:53:29 -0700</delta_ts>
            <desc>Fix Big Sur build</desc>
            <filename>bug-224680-20210416125344.patch</filename>
            <type>text/plain</type>
            <size>22937</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjYzYmY1MGVhNDhiNDNj
NDk5ZjE0OWFmNDk0YjkyOTViOWFmOGM3ZC4uMGNlMDIwZTA5MjBhOGZhNWM5MTJhNmRiNmE2NWU0
YzM2M2FiMmRjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTA0LTE2ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gUmVm
YWN0b3Igc29tZSB3ZWJwYWdlIHRyYW5zbGF0aW9uIGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDY4MAorICAgICAgICBXb3JrIHRvd2FyZHMg
PHJkYXI6Ly83NTY0MTg4Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbiBwcmVwYXJhdGlvbiBmb3IgZml4aW5nIGh0dHBzOi8vd2Via2l0Lm9yZy9i
LzIyNDY4MywgcmVmYWN0b3Igc29tZSBjb2RlcGF0aHMgZm9yIGhhbmRsaW5nIHdlYnBhZ2UgdHJh
bnNsYXRpb24KKyAgICAgICAgdmlhIHRoZSBjb250ZXh0IG1lbnUgb24gbWFjT1MsIGluIFdlYktp
dDIuCisKKyAgICAgICAgQ3VycmVudGx5LCB0aGUgY29udGV4dCBtZW51IGFjdGlvbiBmb3IgYENv
bnRleHRNZW51SXRlbVRhZ1RyYW5zbGF0ZWAgaXMgZnVsbHkgaGFuZGxlZCBpbiB0aGUgY2xpZW50
IGxheWVyIGluCisgICAgICAgIFdlYktpdDIsIHVzaW5nIHN0YXRlIGluIGBtX2FjdGl2ZUNvbnRl
eHRNZW51Q29udGV4dERhdGFgLiBIb3dldmVyLCB0byBtYWtlIHRoaXMgYWN0aW9uIHdvcmsgaW4g
V2ViS2l0TGVnYWN5IGFzCisgICAgICAgIHdlbGwsIHdlIG5lZWQgdGhlIGFiaWxpdHkgdG8gY2Fs
bCBiYWNrIGludG8gdGhlIGBDb250ZXh0TWVudUNvbnRyb2xsZXJgIHRvIGhhbmRsZSB0aGUgYWN0
aW9uLCBzaW5jZSBjb250ZXh0IG1lbnUKKyAgICAgICAgYWN0aW9ucyBpbiBXZWJLaXRMZWdhY3kg
b25seSB0YXJnZXQgdGhlIHNoYXJlZCBgV2ViTWVudVRhcmdldGAgaW5zdGFuY2UsIHdoaWNoIG9u
bHkga25vd3MgYWJvdXQgdGhlIGNvbnRleHQgbWVudQorICAgICAgICBjb250cm9sbGVyIHJhdGhl
ciB0aGFuIHRoZSBgV2ViSFRNTFZpZXdgIHRoYXQgdmVuZGVkIHRoZSBtZW51IGl0ZW0uCisKKyAg
ICAgICAgSW5zdGVhZCBvZiBhZGRpbmcgbG9naWMgaW4gYFdlYk1lbnVUYXJnZXRgIHRvIGRpZyB0
aGUgYFdlYkhUTUxWaWV3YCBjb3JyZXNwb25kaW5nIHRvIHRoZSBmb2N1c2VkIGZyYW1lIG91dCBv
ZgorICAgICAgICB0aGUgY29udGV4dCBtZW51IGNvbnRyb2xsZXIsIGl0IG1ha2VzIG1vcmUgc2Vu
c2UgdG8gcGx1bWIgdGhpcyBjYWxsIHRocm91Z2ggdGhlIChhbHJlYWR5LWVzdGFibGlzaGVkKQor
ICAgICAgICBgQ29udGV4dE1lbnVDbGllbnRgLiBXaGlsZSB0aGlzIGhhcyB0aGUgZGlzYWR2YW50
YWdlIG9mIHJlcXVpcmluZyBhbiBleHRyYSBJUEMgaG9wIG9uIHRoZSBXZWJLaXQyIGNhc2UsIGl0
IGFsc28KKyAgICAgICAgaGFzIHRoZSBhZHZhbnRhZ2UgdGhhdCB3ZSBjYW4gbGF6aWx5IGNvbXB1
dGUgdGhlIHNlbGVjdGlvbiBib3VuZHMgYW5kIG1lbnUgbG9jYXRpb24gaW4gcm9vdCB2aWV3IGNv
b3JkaW5hdGVzCisgICAgICAgIG9ubHkgaWYgdGhlIHVzZXIgaGFzIHNlbGVjdGVkIHRoaXMgbWVu
dSBhY3Rpb24sIHdoaWNoIG1ha2VzIGNvbnRleHQgbWVudSBkYXRhIChzbGlnaHRseSkgY2hlYXBl
ciB0byBjb21wdXRlLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAg
ICAqIGxvYWRlci9FbXB0eUNsaWVudHMuY3BwOgorICAgICAgICAqIHBhZ2UvQ29udGV4dE1lbnVD
bGllbnQuaDoKKyAgICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q29udGV4dC5oOgorICAgICAgICAo
V2ViQ29yZTo6Q29udGV4dE1lbnVDb250ZXh0OjpzZXRTZWxlY3Rpb25Cb3VuZHMpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250ZXh0OjpzZWxlY3Rpb25Cb3VuZHMg
Y29uc3QpOiBEZWxldGVkLgorCisgICAgICAgIFJlbW92ZSBjb2RlIGZvciBjb21wdXRpbmcgYW5k
IHNldHRpbmcgc2VsZWN0aW9uIGJvdW5kcy4gVGhpcyB3YXMgb25seSBhZGRlZCBpbiBzdXBwb3J0
IG9mIHdlYnBhZ2UgdHJhbnNsYXRpb247CisgICAgICAgIGluc3RlYWQgb2YgY29tcHV0aW5nIHRo
aXMgdXAgZnJvbnQsIHdlIGNhbiBpbnN0ZWFkIHNlbmQgdGhpcyBpbmZvcm1hdGlvbiBvbmx5IHdo
ZW4gdGhlIGFjdGlvbiBpcyBpbnZva2VkLgorCisgICAgICAgICogcGFnZS9Db250ZXh0TWVudUNv
bnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250cm9sbGVyOjpj
b250ZXh0TWVudUl0ZW1TZWxlY3RlZCk6CisKKyAgICAgICAgTW92ZSBsb2dpYyBmb3IgY29tcHV0
aW5nIHRoZSBzZWxlY3Rpb24gYm91bmRzIGFuZCBtZW51IGxvY2F0aW9uIGluIHJvb3QgdmlldyBj
b29yZGluYXRlcyBvdXQgb2YgYHBvcHVsYXRlYCBhbmQKKyAgICAgICAgaW50byBgY29udGV4dE1l
bnVJdGVtU2VsZWN0ZWRgLCBvbmx5IGluIHRoZSBjYXNlIHdoZXJlIHRoZSBhY3Rpb24gaXMgYENv
bnRleHRNZW51SXRlbVRhZ1RyYW5zbGF0ZWAuCisKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRN
ZW51Q29udHJvbGxlcjo6cG9wdWxhdGUpOgorCiAyMDIxLTA0LTE1ICBUaW0gSG9ydG9uICA8dGlt
b3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIG1lY2hhbmlzbSB0byBkdW1w
IHRoZSBQbGF0Zm9ybUNBTGF5ZXIgc3VidHJlZSBvZiBhIEdyYXBoaWNzTGF5ZXIsIGZvciB0ZXN0
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IDljZDQ1MTMzNTQwN2Y1YzU0NjA5ZWNiZGMzYmY5Y2E5NmFkYTUxY2Yu
LmRiODQ3YjcxMTg4YjEwZTNlYzUwNWE4N2RhNmM1MWNhOTk0ZWM5NTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzggQEAKKzIwMjEtMDQtMTYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CisKKyAgICAgICAgW21hY09TXSBSZWZhY3RvciBzb21lIHdlYnBhZ2UgdHJhbnNsYXRp
b24gY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI0NjgwCisgICAgICAgIFdvcmsgdG93YXJkcyA8cmRhcjovLzc1NjQxODgyPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBXZWJDb3JlIENoYW5n
ZUxvZyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgICogU2hhcmVkL0NvbnRleHRNZW51Q29u
dGV4dERhdGEuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb250ZXh0TWVudUNvbnRleHREYXRhOjpD
b250ZXh0TWVudUNvbnRleHREYXRhKToKKyAgICAgICAgKFdlYktpdDo6Q29udGV4dE1lbnVDb250
ZXh0RGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6Q29udGV4dE1lbnVDb250
ZXh0RGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvQ29udGV4dE1lbnVDb250ZXh0RGF0
YS5oOgorCisgICAgICAgIFJlbW92ZSBgc2VsZWN0aW9uQm91bmRzYC4gV2UgZG9uJ3QgbmVlZCB0
aGlzIGFueW1vcmUsIGJlY2F1c2Ugd2UnbGwgaW5zdGVhZCBjb21wdXRlIHRoZSBzZWxlY3Rpb24g
Ym91bmRzIG9ubHkKKyAgICAgICAgd2hlbiB0aGUgVHJhbnNsYXRlIG1lbnUgaXRlbSBpcyBzZWxl
Y3RlZCwgaW5zdGVhZCBvZiByZWx5aW5nIG9uIGBtX2FjdGl2ZUNvbnRleHRNZW51Q29udGV4dERh
dGFgIGJlaW5nIHVwIHRvCisgICAgICAgIGRhdGUuCisKKyAgICAgICAgKFdlYktpdDo6Q29udGV4
dE1lbnVDb250ZXh0RGF0YTo6c2VsZWN0ZWRUZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6
Q29udGV4dE1lbnVDb250ZXh0RGF0YTo6c2VsZWN0aW9uQm91bmRzIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbik6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1l
bnVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJD
b250ZXh0TWVudUNsaWVudE1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dE1lbnVD
bGllbnQ6OmhhbmRsZVRyYW5zbGF0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmhhbmRsZUNvbnRleHRNZW51
VHJhbnNsYXRpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisK
IDIwMjEtMDQtMTUgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAg
ICAgICAgTW92ZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgLVtXS1dlYlZpZXcgdGhlbWVDb2xvcl0g
aW50byB0aGUgbWFpbiBXS1dlYlZpZXcgY2F0ZWdvcnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZwppbmRleCA5MmZlNjBhODFjMzI0NTVhMjFiNjRkZjNkOWIzMTVmOWQzOWJhYTU4Li4zZTc4OWFj
MDYwYjhjMjQyNTdmZDFjY2QzODIxODRiYTZhYmI2NzE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjEtMDQtMTYgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBSZWZhY3RvciBzb21lIHdlYnBh
Z2UgdHJhbnNsYXRpb24gY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI0NjgwCisgICAgICAgIFdvcmsgdG93YXJkcyA8cmRhcjovLzc1NjQxODgy
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBX
ZWJDb3JlIENoYW5nZUxvZyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9X
ZWJDb250ZXh0TWVudUNsaWVudC5tbToKKyAgICAgICAgKFdlYkNvbnRleHRNZW51Q2xpZW50Ojpo
YW5kbGVUcmFuc2xhdGlvbik6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAg
ICAoLVtXZWJWaWV3IF9oYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uOnNlbGVjdGlvbkJvdW5k
czptZW51TG9jYXRpb246XSk6CisKKyAgICAgICAgQWRkIGFuIGVtcHR5IHN0dWIgd2l0aCBhIGBG
SVhNRWAgZm9yIHRoZSB0aW1lIGJlaW5nLgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3SW50
ZXJuYWwuaDoKKwogMjAyMS0wNC0xNSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxl
LmNvbT4KIAogICAgICAgICBBZGQgYSBtZWNoYW5pc20gdG8gZHVtcCB0aGUgUGxhdGZvcm1DQUxh
eWVyIHN1YnRyZWUgb2YgYSBHcmFwaGljc0xheWVyLCBmb3IgdGVzdGluZwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCA5YjA3YmU2OWYzNjcxOWRmNGFlM2FlZTg3OTE1
MTU5YWY3YzZiMGE0Li5iZTkyNzBkNGU1Y2JkMzkyOGU2NTZlODQ0NDJkNzQ1NjM0ZGNkYjYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcApAQCAtMTE1LDYgKzExNSwxMCBA
QCBjbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50IGZpbmFsIDogcHVibGljIENvbnRleHRNZW51
Q2xpZW50IHsKICAgICB2b2lkIHNlYXJjaFdpdGhTcG90bGlnaHQoKSBmaW5hbCB7IH0KICNlbmRp
ZgogCisjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykKKyAgICB2b2lkIGhhbmRsZVRy
YW5zbGF0aW9uKGNvbnN0IFN0cmluZyYsIGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRQb2ludCYp
IGZpbmFsIHsgfQorI2VuZGlmCisKICNpZiBQTEFURk9STShHVEspCiAgICAgdm9pZCBpbnNlcnRF
bW9qaShGcmFtZSYpIGZpbmFsIHsgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NvbnRleHRNZW51Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRN
ZW51Q2xpZW50LmgKaW5kZXggNWM1ZDUwYTYyNjMwYmEzNzUxNTk0NDAyZjE2ZGU2ZWRlNzA0M2Vi
Zi4uYmUxYzA2ZTczMjU2ZjI2N2NlNWRhZmU4ZGUzMjUzMzExNzdjZGRiNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ29udGV4dE1lbnVDbGllbnQuaApAQCAtNDUsNiArNDUsMTAgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBzcGVhayhjb25zdCBTdHJpbmcmKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIHN0b3BTcGVha2luZygpID0gMDsKIAorI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklD
RVMpCisgICAgdmlydHVhbCB2b2lkIGhhbmRsZVRyYW5zbGF0aW9uKGNvbnN0IFN0cmluZyYsIGNv
bnN0IEludFJlY3QmLCBjb25zdCBJbnRQb2ludCYpID0gMDsKKyNlbmRpZgorCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCiAgICAgdmlydHVhbCB2b2lkIHNlYXJjaFdpdGhTcG90bGlnaHQoKSA9IDA7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250ZXh0
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udGV4dC5oCmluZGV4IDYxMjZj
NTFhZDUzNWM3MGE2MTMxOGZiOTVjOWRmZTM3MGM5MTQ4ODQuLmMyZTc1ZmYyM2MyMmVjNGU3YjE2
OWE1ZjEyZjE3MWVmNzlhMWJkMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29u
dGV4dE1lbnVDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNv
bnRleHQuaApAQCAtNTUsOSArNTUsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTZWxlY3RlZFRl
eHQoY29uc3QgU3RyaW5nJiBzZWxlY3RlZFRleHQpIHsgbV9zZWxlY3RlZFRleHQgPSBzZWxlY3Rl
ZFRleHQ7IH0KICAgICBjb25zdCBTdHJpbmcmIHNlbGVjdGVkVGV4dCgpIGNvbnN0IHsgcmV0dXJu
IG1fc2VsZWN0ZWRUZXh0OyB9CiAKLSAgICB2b2lkIHNldFNlbGVjdGlvbkJvdW5kcyhjb25zdCBJ
bnRSZWN0JiBib3VuZHMpIHsgbV9zZWxlY3Rpb25Cb3VuZHMgPSBib3VuZHM7IH0KLSAgICBjb25z
dCBJbnRSZWN0JiBzZWxlY3Rpb25Cb3VuZHMoKSBjb25zdCB7IHJldHVybiBtX3NlbGVjdGlvbkJv
dW5kczsgfQotCiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAgICAgdm9pZCBzZXRDb250
cm9sbGVkSW1hZ2UoSW1hZ2UqIGNvbnRyb2xsZWRJbWFnZSkgeyBtX2NvbnRyb2xsZWRJbWFnZSA9
IGNvbnRyb2xsZWRJbWFnZTsgfQogICAgIEltYWdlKiBjb250cm9sbGVkSW1hZ2UoKSBjb25zdCB7
IHJldHVybiBtX2NvbnRyb2xsZWRJbWFnZS5nZXQoKTsgfQpAQCAtNjcsNyArNjQsNiBAQCBwcml2
YXRlOgogICAgIFR5cGUgbV90eXBlIHsgVHlwZTo6Q29udGV4dE1lbnUgfTsKICAgICBIaXRUZXN0
UmVzdWx0IG1faGl0VGVzdFJlc3VsdDsKICAgICBTdHJpbmcgbV9zZWxlY3RlZFRleHQ7Ci0gICAg
SW50UmVjdCBtX3NlbGVjdGlvbkJvdW5kczsKIAogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xT
KQogICAgIFJlZlB0cjxJbWFnZT4gbV9jb250cm9sbGVkSW1hZ2U7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKaW5kZXggMjVjMDU2NGQ1ZjlhYzQ1ZTJk
MGRkZTljZjYxNjRhZTEyY2E4YTA1OC4uOGQ3ZDk5NDQ3YzUzMmMxZjM1MmE5NTY2MGJmZTgwMGFi
MmFhNGE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVy
LmNwcApAQCAtNTIzLDEwICs1MjMsMTggQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OmNv
bnRleHRNZW51SXRlbVNlbGVjdGVkKENvbnRleHRNZW51QWN0aW9uIGFjdGlvbiwgY28KICAgICAg
ICAgZnJhbWUtPmVkaXRvcigpLmFwcGx5RGljdGF0aW9uQWx0ZXJuYXRpdmUodGl0bGUpOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1JldmVhbEltYWdlOgotICAg
IGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVHJhbnNsYXRlOgogICAgICAgICAvLyBUaGlzIHNob3Vs
ZCBiZSBoYW5kbGVkIGF0IHRoZSBjbGllbnQgbGF5ZXIuCiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RyYW5z
bGF0ZToKKyNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKQorICAgICAgICBpZiAoYXV0
byB2aWV3ID0gbWFrZVJlZlB0cihmcmFtZS0+dmlldygpKSkgeworICAgICAgICAgICAgYXV0byBz
ZWxlY3Rpb25Cb3VuZHMgPSB2aWV3LT5jb250ZW50c1RvUm9vdFZpZXcoZW5jbG9zaW5nSW50UmVj
dChmcmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uQm91bmRzKCkpKTsKKyAgICAgICAgICAgIGF1
dG8gbG9jYXRpb24gPSB2aWV3LT5jb250ZW50c1RvUm9vdFZpZXcobV9jb250ZXh0LmhpdFRlc3RS
ZXN1bHQoKS5yb3VuZGVkUG9pbnRJbklubmVyTm9kZUZyYW1lKCkpOworICAgICAgICAgICAgbV9j
bGllbnQuaGFuZGxlVHJhbnNsYXRpb24obV9jb250ZXh0LmhpdFRlc3RSZXN1bHQoKS5zZWxlY3Rl
ZFRleHQoKSwgc2VsZWN0aW9uQm91bmRzLCBsb2NhdGlvbik7CisgICAgICAgIH0KKyNlbmRpZgor
ICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CkBAIC04
NjgsMTQgKzg3Niw3IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpwb3B1bGF0ZSgpCiAg
ICAgfTsKIAogICAgIGF1dG8gc2VsZWN0ZWRUZXh0ID0gbV9jb250ZXh0LmhpdFRlc3RSZXN1bHQo
KS5zZWxlY3RlZFRleHQoKTsKLSAgICBpZiAoIXNlbGVjdGVkVGV4dC5pc0VtcHR5KCkpIHsKLSAg
ICAgICAgbV9jb250ZXh0LnNldFNlbGVjdGVkVGV4dChzZWxlY3RlZFRleHQpOwotICAgICAgICBp
ZiAoYXV0byB2aWV3ID0gbWFrZVJlZlB0cihmcmFtZS0+dmlldygpKSkgewotICAgICAgICAgICAg
YXV0byBzZWxlY3Rpb25Cb3VuZHNJbkNvbnRlbnRDb29yZGluYXRlcyA9IGVuY2xvc2luZ0ludFJl
Y3QoZnJhbWUtPnNlbGVjdGlvbigpLnNlbGVjdGlvbkJvdW5kcygpKTsKLSAgICAgICAgICAgIGlm
ICghc2VsZWN0aW9uQm91bmRzSW5Db250ZW50Q29vcmRpbmF0ZXMuaXNFbXB0eSgpKQotICAgICAg
ICAgICAgICAgIG1fY29udGV4dC5zZXRTZWxlY3Rpb25Cb3VuZHModmlldy0+Y29udGVudHNUb1Jv
b3RWaWV3KHNlbGVjdGlvbkJvdW5kc0luQ29udGVudENvb3JkaW5hdGVzKSk7Ci0gICAgICAgIH0K
LSAgICB9CisgICAgbV9jb250ZXh0LnNldFNlbGVjdGVkVGV4dChzZWxlY3RlZFRleHQpOwogCiAg
ICAgaWYgKCFtX2NvbnRleHQuaGl0VGVzdFJlc3VsdCgpLmlzQ29udGVudEVkaXRhYmxlKCkpIHsK
ICAgICAgICAgRnJhbWVMb2FkZXImIGxvYWRlciA9IGZyYW1lLT5sb2FkZXIoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvbnRleHRNZW51Q29udGV4dERhdGEuY3BwIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvQ29udGV4dE1lbnVDb250ZXh0RGF0YS5jcHAKaW5kZXggOGIwM2E4
ZmE0NzUwMzdlNDY2MTE4YzdmNTlmMDJhMWFjMDI2YTBlYy4uYjU3ZDM2MWYzOTQ0YjA1ZWM3NDdk
Y2Y2MzY1YTg0MDYwNTBkMTBlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29u
dGV4dE1lbnVDb250ZXh0RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29udGV4
dE1lbnVDb250ZXh0RGF0YS5jcHAKQEAgLTUzLDcgKzUzLDYgQEAgQ29udGV4dE1lbnVDb250ZXh0
RGF0YTo6Q29udGV4dE1lbnVDb250ZXh0RGF0YShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbWVu
dUxvY2EKICAgICAsIG1fbWVudUl0ZW1zKG1lbnVJdGVtcykKICAgICAsIG1fd2ViSGl0VGVzdFJl
c3VsdERhdGEoY29udGV4dC5oaXRUZXN0UmVzdWx0KCksIHRydWUpCiAgICAgLCBtX3NlbGVjdGVk
VGV4dChjb250ZXh0LnNlbGVjdGVkVGV4dCgpKQotICAgICwgbV9zZWxlY3Rpb25Cb3VuZHMoY29u
dGV4dC5zZWxlY3Rpb25Cb3VuZHMoKSkKICNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKICAg
ICAsIG1fc2VsZWN0aW9uSXNFZGl0YWJsZShmYWxzZSkKICNlbmRpZgpAQCAtNzksNyArNzgsNiBA
QCB2b2lkIENvbnRleHRNZW51Q29udGV4dERhdGE6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29k
ZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBtX21lbnVJdGVtczsKICAgICBlbmNvZGVyIDw8IG1f
d2ViSGl0VGVzdFJlc3VsdERhdGE7CiAgICAgZW5jb2RlciA8PCBtX3NlbGVjdGVkVGV4dDsKLSAg
ICBlbmNvZGVyIDw8IG1fc2VsZWN0aW9uQm91bmRzOwogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09O
VFJPTFMpCiAgICAgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUgaGFuZGxlOwpAQCAtMTA5LDkgKzEw
Nyw2IEBAIGJvb2wgQ29udGV4dE1lbnVDb250ZXh0RGF0YTo6ZGVjb2RlKElQQzo6RGVjb2RlciYg
ZGVjb2RlciwgQ29udGV4dE1lbnVDb250ZXh0RGF0CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShy
ZXN1bHQubV9zZWxlY3RlZFRleHQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKHJlc3VsdC5tX3NlbGVjdGlvbkJvdW5kcykpCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLQogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogICAgIFNoYXJlYWJsZUJp
dG1hcDo6SGFuZGxlIGhhbmRsZTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhbmRsZSkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db250ZXh0TWVudUNvbnRleHREYXRhLmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db250ZXh0TWVudUNvbnRleHREYXRhLmgKaW5kZXggNGY3
YjdhNjMxZmM1NzI0OWRjYTczZDJjYTk5Y2RhMGMzODNhZGNiOC4uN2UzMDgzZmQ3OGY1ODRkOWNh
YWEwY2Q4MzI2ZmYyYTMyOTk5ZTI5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
Q29udGV4dE1lbnVDb250ZXh0RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvbnRl
eHRNZW51Q29udGV4dERhdGEuaApAQCAtNTQsNyArNTQsNiBAQCBwdWJsaWM6CiAgICAgV2ViSGl0
VGVzdFJlc3VsdERhdGEmIHdlYkhpdFRlc3RSZXN1bHREYXRhKCkgeyByZXR1cm4gbV93ZWJIaXRU
ZXN0UmVzdWx0RGF0YTsgfQogICAgIGNvbnN0IFdlYkhpdFRlc3RSZXN1bHREYXRhJiB3ZWJIaXRU
ZXN0UmVzdWx0RGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fd2ViSGl0VGVzdFJlc3VsdERhdGE7IH0K
ICAgICBjb25zdCBTdHJpbmcmIHNlbGVjdGVkVGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fc2VsZWN0
ZWRUZXh0OyB9Ci0gICAgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2VsZWN0aW9uQm91bmRzKCkg
Y29uc3QgeyByZXR1cm4gbV9zZWxlY3Rpb25Cb3VuZHM7IH0KIAogI2lmIEVOQUJMRShTRVJWSUNF
X0NPTlRST0xTKQogICAgIENvbnRleHRNZW51Q29udGV4dERhdGEoY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmIG1lbnVMb2NhdGlvbiwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBzZWxlY3Rpb25EYXRh
LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2VsZWN0ZWRUZWxlcGhvbmVOdW1iZXJzLCBib29sIGlz
RWRpdGFibGUpCkBAIC04NSw3ICs4NCw2IEBAIHByaXZhdGU6CiAKICAgICBXZWJIaXRUZXN0UmVz
dWx0RGF0YSBtX3dlYkhpdFRlc3RSZXN1bHREYXRhOwogICAgIFN0cmluZyBtX3NlbGVjdGVkVGV4
dDsKLSAgICBXZWJDb3JlOjpJbnRSZWN0IG1fc2VsZWN0aW9uQm91bmRzOwogCiAjaWYgRU5BQkxF
KFNFUlZJQ0VfQ09OVFJPTFMpCiAgICAgUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gbV9jb250cm9s
bGVkSW1hZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
YWdlUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQ
cm94eUNvY29hLm1tCmluZGV4IDgzZjlkNjVjOWUwNmE2ZWY1NWEzZjU0M2IxMzk4YjY0MDFjNGY3
ZmMuLjEwMDliOGY0MmZkN2NhMzMxOTk1N2EyZjRkM2MyZDIyNTc1OGJkOTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCkBAIC02
MTUsNiArNjE1LDExIEBAIGJvb2wgV2ViUGFnZVByb3h5OjpjYW5IYW5kbGVDb250ZXh0TWVudVRy
YW5zbGF0aW9uKCkgY29uc3QKICAgICByZXR1cm4gcGFnZUNsaWVudCgpLmNhbkhhbmRsZUNvbnRl
eHRNZW51VHJhbnNsYXRpb24oKTsKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZUNvbnRl
eHRNZW51VHJhbnNsYXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiBib3VuZHNJblZpZXcsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBsb2NhdGlvbkluVmll
dykKK3sKKyAgICByZXR1cm4gcGFnZUNsaWVudCgpLmhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRp
b24odGV4dCwgYm91bmRzSW5WaWV3LCBsb2NhdGlvbkluVmlldyk7Cit9CisKICNlbmRpZiAvLyBI
QVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKQogI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01F
TlVTKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA3MGZl
YWEwOTMyMmQ2NTQwMmE3OTNjODJhZmI5M2FmYjVkMGI1YmI3Li42MzU4ZGYwOWExYWM1YTc0Y2E1
ODNlZGIyYzljNmRhODczNGIzM2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKQEAgLTY3NDYsMTIgKzY3NDYsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y29udGV4
dE1lbnVJdGVtU2VsZWN0ZWQoY29uc3QgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSYgaXRlbSkKICNl
bmRpZgogICAgICAgICByZXR1cm47CiAKLSAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RyYW5z
bGF0ZToKLSNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKQotICAgICAgICBwYWdlQ2xp
ZW50KCkuaGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihtX2FjdGl2ZUNvbnRleHRNZW51Q29u
dGV4dERhdGEuc2VsZWN0ZWRUZXh0KCksIG1fYWN0aXZlQ29udGV4dE1lbnVDb250ZXh0RGF0YS5z
ZWxlY3Rpb25Cb3VuZHMoKSwgbV9hY3RpdmVDb250ZXh0TWVudUNvbnRleHREYXRhLm1lbnVMb2Nh
dGlvbigpKTsKLSNlbmRpZgotICAgICAgICByZXR1cm47Ci0KICAgICBkZWZhdWx0OgogICAgICAg
ICBicmVhazsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4
IGI4NTMzY2JjNzQzYWY5YWY1NDIwNTUzZTgzN2FlNzFiMDY4NzFjYjEuLjA2MjJiYmY1YjQ1YmU0
OWJiYWIxYWM4MmQ4YWUzMDc3MWQ5Y2I0Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCkBAIC0xOTAxLDggKzE5MDEsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXNldElt
YWdlRXh0cmFjdGlvblByZXZpZXcoKTsKICNlbmRpZgogCi0jaWYgSEFWRShUUkFOU0xBVElPTl9V
SV9TRVJWSUNFUykKKyNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKSAmJiBFTkFCTEUo
Q09OVEVYVF9NRU5VUykKICAgICBib29sIGNhbkhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24o
KSBjb25zdDsKKyAgICB2b2lkIGhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oY29uc3QgU3Ry
aW5nJiB0ZXh0LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBib3VuZHNJblZpZXcsIGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiBsb2NhdGlvbkluVmlldyk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShN
RURJQV9TRVNTSU9OX0NPT1JESU5BVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDJjYWMzZjFjYjA1ZDFjZDdiNWY3NzFlZTEy
YzBlNzI5ZTFmMWQ4Y2YuLjVhMjdlODdiZjgzZmVmMzUzMTIyZmU1MGY4N2E1YTY0MDdkODZjZjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KQEAgLTIyNSw2ICsyMjUsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBS
ZXF1ZXN0SW1hZ2VFeHRyYWN0aW9uKFVSTCBpbWFnZVVSTCwgV2ViS2l0OjpTaGFyZWFibGVCaXRt
YXA6OkhhbmRsZSBpbWFnZURhdGEpIC0+IChzdHJ1Y3QgV2ViQ29yZTo6SW1hZ2VFeHRyYWN0aW9u
UmVzdWx0IHJlc3VsdCkgQXN5bmMKICNlbmRpZgogCisjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9T
RVJWSUNFUykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCisgICAgSGFuZGxlQ29udGV4dE1lbnVU
cmFuc2xhdGlvbihTdHJpbmcgdGV4dCwgV2ViQ29yZTo6SW50UmVjdCBib3VuZHNJblZpZXcsIFdl
YkNvcmU6OkludFBvaW50IGxvY2F0aW9uSW5WaWV3KQorI2VuZGlmCisKICNpZiBFTkFCTEUoTUVE
SUFfQ09OVFJPTFNfQ09OVEVYVF9NRU5VUykgJiYgVVNFKFVJQ09OVEVYVE1FTlUpCiAgICAgU2hv
d01lZGlhQ29udHJvbHNDb250ZXh0TWVudShXZWJDb3JlOjpGbG9hdFJlY3QgdGFyZ2V0RnJhbWUs
IFZlY3RvcjxXZWJDb3JlOjpNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnVJdGVtPiBpdGVtcykgLT4g
KFdlYkNvcmU6Ok1lZGlhQ29udHJvbHNDb250ZXh0TWVudUl0ZW06OklEIHNlbGVjdGVkSXRlbUlE
KSBBc3luYwogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9DT05UUk9MU19DT05URVhUX01FTlVTKSAm
JiBVU0UoVUlDT05URVhUTUVOVSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmgKaW5kZXggYzFj
ODljZDk5ZTg3YWVlODRlZDU3NDZjMmU4MWY2NDdlODJmMWZjOS4uMDMxYzU1NDZkN2VkNmI0Yjkx
ZTI1NTI2NDljOTU1Y2Q1MWM3NGU4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmgKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmgKQEAg
LTU2LDYgKzU2LDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZWFyY2hXaXRoU3BvdGxpZ2h0KCkg
b3ZlcnJpZGU7CiAjZW5kaWYKIAorI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpCisg
ICAgdm9pZCBoYW5kbGVUcmFuc2xhdGlvbihjb25zdCBTdHJpbmcmLCBjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiBzZWxlY3Rpb25Cb3VuZHNJblJvb3RWaWV3LCBjb25zdCBXZWJDb3JlOjpJbnRQb2lu
dCYgbG9jYXRpb25JblJvb3RWaWV3KSBmaW5hbDsKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oR1RL
KQogICAgIHZvaWQgaW5zZXJ0RW1vamkoV2ViQ29yZTo6RnJhbWUmKSBvdmVycmlkZTsKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21h
Yy9XZWJDb250ZXh0TWVudUNsaWVudE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9tYWMvV2ViQ29udGV4dE1lbnVDbGllbnRNYWMubW0KaW5kZXggYWVkYWU1
YWY1ZTM0MDQyODE4ZDljMmE4YzQyNGIwNGVkN2U2YTI0Yy4uMGMzNDk5ZDMzOTRiMTFjYjM5ZDlh
MzkyY2M2OTQ1NGU0OGE4MzE5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L21hYy9XZWJDb250ZXh0TWVudUNsaWVudE1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkNvbnRleHRNZW51Q2xp
ZW50TWFjLm1tCkBAIC05NCw2ICs5NCwxNSBAQCB2b2lkIFdlYkNvbnRleHRNZW51Q2xpZW50Ojpz
ZWFyY2hXaXRoU3BvdGxpZ2h0KCkKICAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6U2VhcmNoV2l0aFNwb3RsaWdodChzZWxlY3RlZFN0cmluZykpOwogfQogCisjaWYgSEFW
RShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykKKwordm9pZCBXZWJDb250ZXh0TWVudUNsaWVudDo6
aGFuZGxlVHJhbnNsYXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBJbnRSZWN0JiBib3Vu
ZHMsIGNvbnN0IEludFBvaW50JiBsb2NhdGlvbikKK3sKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6SGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbih0ZXh0LCBib3Vu
ZHMsIGxvY2F0aW9uKSk7Cit9CisKKyNlbmRpZiAvLyBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJ
Q0VTKQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShDT05URVhU
X01FTlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApp
bmRleCAxNGIxMDljOWQwNTg0M2Q2ODY0YmYzZTBjNTQ5ZGFkNmUyODRiMzkzLi42NmU4ZjcwODVl
YzY5ZDA5YzBiZDk2OTZlMjFlOWMwYWIxZjZkZjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNzUyOCw2ICs3NTI4LDE1IEBAIHZvaWQgV2Vi
UGFnZTo6bGFzdE5hdmlnYXRpb25XYXNBcHBCb3VuZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJv
b2wpPiYmIGNvbXBsZXRpCiAgICAgY29tcGxldGlvbkhhbmRsZXIobWFpbkZyYW1lKCktPmRvY3Vt
ZW50KCktPmxvYWRlcigpLT5sYXN0TmF2aWdhdGlvbldhc0FwcEJvdW5kKCkpOwogfQogCisjaWYg
SEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCisK
K3ZvaWQgV2ViUGFnZTo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25zdCBTdHJpbmcm
IHRleHQsIGNvbnN0IEludFJlY3QmIGJvdW5kc0luVmlldywgY29uc3QgSW50UG9pbnQmIGxvY2F0
aW9uSW5WaWV3KQoreworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6SGFuZGxlQ29u
dGV4dE1lbnVUcmFuc2xhdGlvbih0ZXh0LCBib3VuZHNJblZpZXcsIGxvY2F0aW9uSW5WaWV3KSk7
Cit9CisKKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIFJFTEVBU0Vf
TE9HX0lGX0FMTE9XRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aAppbmRleCBhZWIyNWRhYjg0MjA2ODRhOTUwMjM4NmFiZjgzYWU2YmUzOGNlOTg2Li42OTQ2MmQ1
MWRhNWE1ZjQ0NzEyZDE4ZWMzNjUwYWVhMGExYjNkMWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0xMzkxLDYgKzEzOTEsMTAgQEAgcHVibGljOgog
ICAgIHZvaWQgdXBkYXRlV2l0aEltYWdlRXh0cmFjdGlvblJlc3VsdChXZWJDb3JlOjpJbWFnZUV4
dHJhY3Rpb25SZXN1bHQmJiwgY29uc3QgV2ViQ29yZTo6RWxlbWVudENvbnRleHQmLCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFBvaW50JiBsb2NhdGlvbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29s
KT4mJik7CiAjZW5kaWYKIAorI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVO
QUJMRShDT05URVhUX01FTlVTKQorICAgIHZvaWQgaGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlv
bihjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNlbGVjdGlvbkJv
dW5kc0luVmlldywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIG1lbnVMb2NhdGlvbkluVmlldyk7
CisjZW5kaWYKKwogI2lmIEVOQUJMRShNRURJQV9DT05UUk9MU19DT05URVhUX01FTlVTKSAmJiBV
U0UoVUlDT05URVhUTUVOVSkKICAgICB2b2lkIHNob3dNZWRpYUNvbnRyb2xzQ29udGV4dE1lbnUo
V2ViQ29yZTo6RmxvYXRSZWN0JiYsIFZlY3RvcjxXZWJDb3JlOjpNZWRpYUNvbnRyb2xzQ29udGV4
dE1lbnVJdGVtPiYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6Ok1lZGlhQ29udHJv
bHNDb250ZXh0TWVudUl0ZW06OklEKT4mJik7CiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX0NPTlRS
T0xTX0NPTlRFWFRfTUVOVVMpICYmIFVTRShVSUNPTlRFWFRNRU5VKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51
Q2xpZW50LmgKaW5kZXggYTdmNjZlZWVmMzA2YTY4NjA1NDIwZTc5ODc2MjAyNTdiZTA2YjZiZC4u
YWZiYzAwNzI5MzU2Zjc3YTM5NDFlNzc2NDJmZjk4YjViOGE1ODcxZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0
TWVudUNsaWVudC5oCkBAIC02Nyw2ICs2NywxMCBAQCBwdWJsaWM6CiAgICAgUmV0YWluUHRyPE5T
SW1hZ2U+IGltYWdlRm9yQ3VycmVudFNoYXJpbmdTZXJ2aWNlUGlja2VySXRlbShXZWJTaGFyaW5n
U2VydmljZVBpY2tlckNvbnRyb2xsZXIgJikgb3ZlcnJpZGU7CiAjZW5kaWYKIAorI2lmIEhBVkUo
VFJBTlNMQVRJT05fVUlfU0VSVklDRVMpCisgICAgdm9pZCBoYW5kbGVUcmFuc2xhdGlvbihjb25z
dCBTdHJpbmcmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzZWxlY3Rpb25Cb3VuZHNJblJvb3RW
aWV3LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbG9jYXRpb25JblJvb3RWaWV3KSBmaW5hbDsK
KyNlbmRpZgorCiBwcml2YXRlOgogICAgIE5TTWVudSAqY29udGV4dE1lbnVGb3JFdmVudChOU0V2
ZW50ICosIE5TVmlldyAqLCBib29sJiBpc1NlcnZpY2VzTWVudSk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50
Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1l
bnVDbGllbnQubW0KaW5kZXggMjU2ZTY4OTExYjc1OGYxMzU5OTU4MDIwOTFiZTAyZjczOGY3MzMx
ZC4uNjRmYTUzNWVhODQ2OTJiNmYxZDNiMjMyMzFlMmRmYWQ2ZTdkMWU4MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGll
bnQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29u
dGV4dE1lbnVDbGllbnQubW0KQEAgLTE0Nyw2ICsxNDcsMTUgQEAgYm9vbCBXZWJDb250ZXh0TWVu
dUNsaWVudDo6Y2xpZW50RmxvYXRSZWN0Rm9yTm9kZShOb2RlJiBub2RlLCBGbG9hdFJlY3QmIHJl
Y3QpIGMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VS
VklDRVMpCisKK3ZvaWQgV2ViQ29udGV4dE1lbnVDbGllbnQ6OmhhbmRsZVRyYW5zbGF0aW9uKGNv
bnN0IFN0cmluZyYgdGV4dCwgY29uc3QgSW50UmVjdCYgc2VsZWN0aW9uQm91bmRzSW5Sb290Vmll
dywgY29uc3QgSW50UG9pbnQmIGxvY2F0aW9uSW5Sb290VmlldykKK3sKKyAgICBbbV93ZWJWaWV3
IF9oYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uOnRleHQgc2VsZWN0aW9uQm91bmRzOnNlbGVj
dGlvbkJvdW5kc0luUm9vdFZpZXcgbWVudUxvY2F0aW9uOmxvY2F0aW9uSW5Sb290Vmlld107Cit9
CisKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAKIHZvaWQgV2ViQ29u
dGV4dE1lbnVDbGllbnQ6OnNoYXJpbmdTZXJ2aWNlUGlja2VyV2lsbEJlRGVzdHJveWVkKFdlYlNo
YXJpbmdTZXJ2aWNlUGlja2VyQ29udHJvbGxlciAmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDViMGVlOGEzYWM4YzMzM2I2ZWUzNDRjZGQ5YzNiNTU3
NjVjMjZmZjAuLmI0YjU1NGE5YjAzYTUyZWU2ODAwNWMyZjM2NGIyYmM3ZTg2MjkzNDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTk2MjcsNiArOTYy
NywxOCBAQCAtICh2b2lkKV9jbG9zZVdpbmRvdwogICAgIFtbc2VsZiBfVUlEZWxlZ2F0ZUZvcndh
cmRlcl0gd2ViVmlld0Nsb3NlOnNlbGZdOwogfQogCisjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9T
RVJWSUNFUykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCisKKy0gKHZvaWQpX2hhbmRsZUNvbnRl
eHRNZW51VHJhbnNsYXRpb246KGNvbnN0IFN0cmluZyYpdGV4dCBzZWxlY3Rpb25Cb3VuZHM6KGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmKXNlbGVjdGlvbkJvdW5kc0luUm9vdFZpZXcgbWVudUxvY2F0
aW9uOihjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpbG9jYXRpb25JblJvb3RWaWV3Cit7CisgICAg
Ly8gRklYTUUgKDIyNDY4Myk6IE5vdCBpbXBsZW1lbnRlZCB5ZXQuCisgICAgVU5VU0VEX1BBUkFN
KHRleHQpOworICAgIFVOVVNFRF9QQVJBTShzZWxlY3Rpb25Cb3VuZHNJblJvb3RWaWV3KTsKKyAg
ICBVTlVTRURfUEFSQU0obG9jYXRpb25JblJvb3RWaWV3KTsKK30KKworI2VuZGlmIC8vIEhBVkUo
VFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQorCiBAZW5k
CiAKIEBpbXBsZW1lbnRhdGlvbiBXZWJWaWV3IChXZWJWaWV3RGV2aWNlT3JpZW50YXRpb24pCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5h
bC5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaApp
bmRleCAzYWUwZDNhYTI2MmQ5NTIzMzBjMWM4MmMzMjU1MGQ5YTIxYTUwMTRmLi5iMTEwODFhNGYw
YmJhY2E1NzFmOTFhNTJjYmI4NDFhM2M5MWIwYmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0ludGVybmFsLmgKQEAgLTE1Nyw2ICsxNTcsMTAgQEAg
V2ViTGF5b3V0TWlsZXN0b25lcyBraXRMYXlvdXRNaWxlc3RvbmVzKE9wdGlvblNldDxXZWJDb3Jl
OjpMYXlvdXRNaWxlc3RvbmU+KTsKIC0gKFdlYlNlbGVjdGlvblNlcnZpY2VDb250cm9sbGVyJilf
c2VsZWN0aW9uU2VydmljZUNvbnRyb2xsZXI7CiAjZW5kaWYKIAorI2lmIEhBVkUoVFJBTlNMQVRJ
T05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQorLSAodm9pZClfaGFuZGxl
Q29udGV4dE1lbnVUcmFuc2xhdGlvbjooY29uc3QgU3RyaW5nJil0ZXh0IHNlbGVjdGlvbkJvdW5k
czooY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpYm91bmRzSW5WaWV3IG1lbnVMb2NhdGlvbjooY29u
c3QgV2ViQ29yZTo6SW50UG9pbnQmKW1lbnVMb2NhdGlvbjsKKyNlbmRpZgorCiAtICh2b2lkKV93
aW5kb3dWaXNpYmlsaXR5Q2hhbmdlZDooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb247CiAK
IC0gKHZvaWQpX2Nsb3NlV2luZG93Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>