<?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>79427</bug_id>
          
          <creation_ts>2012-02-23 18:10:18 -0800</creation_ts>
          <short_desc>Move ChromeClient::showContextMenu() to ContextMenuClient</short_desc>
          <delta_ts>2012-02-26 22:31:22 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>79054</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Hajime Morrita">morrita</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>japhet</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>563781</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-02-23 18:10:18 -0800</bug_when>
    <thetext>Looks like a historical artifact.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563791</commentid>
    <comment_count>1</comment_count>
      <attachid>128626</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-02-23 18:19:01 -0800</bug_when>
    <thetext>Created attachment 128626
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563794</commentid>
    <comment_count>2</comment_count>
      <attachid>128626</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-23 18:21:00 -0800</bug_when>
    <thetext>Comment on attachment 128626
Patch

Really?  Mac doesn&apos;t ever call this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563800</commentid>
    <comment_count>3</comment_count>
      <attachid>128626</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-02-23 18:26:39 -0800</bug_when>
    <thetext>Comment on attachment 128626
Patch

Oops. I found there was only one place in accessibility... that&apos;s why chromium can build without this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563952</commentid>
    <comment_count>4</comment_count>
      <attachid>128655</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-02-23 22:50:36 -0800</bug_when>
    <thetext>Created attachment 128655
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564106</commentid>
    <comment_count>5</comment_count>
      <attachid>128691</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-02-24 01:59:39 -0800</bug_when>
    <thetext>Created attachment 128691
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565248</commentid>
    <comment_count>6</comment_count>
      <attachid>128936</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-02-26 18:13:12 -0800</bug_when>
    <thetext>Created attachment 128936
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565278</commentid>
    <comment_count>7</comment_count>
      <attachid>128936</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-26 20:14:03 -0800</bug_when>
    <thetext>Comment on attachment 128936
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        This change localizes context menu relted code and will make it easy to

typo: relted</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565290</commentid>
    <comment_count>8</comment_count>
      <attachid>128946</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-02-26 20:50:47 -0800</bug_when>
    <thetext>Created attachment 128946
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565334</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-26 22:25:46 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 128946:

inspector/protocol/console-agent.html bug 79563 (authors: caseq@chromium.org, loislo@chromium.org, and pfeldman@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565337</commentid>
    <comment_count>10</comment_count>
      <attachid>128946</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-26 22:31:16 -0800</bug_when>
    <thetext>Comment on attachment 128946
Patch for landing

Clearing flags on attachment: 128946

Committed r108957: &lt;http://trac.webkit.org/changeset/108957&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565338</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-26 22:31:22 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128626</attachid>
            <date>2012-02-23 18:19:01 -0800</date>
            <delta_ts>2012-02-23 22:50:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79427-20120224111859.patch</filename>
            <type>text/plain</type>
            <size>18180</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4NzAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmEyMWQyMzBjNWZkNzg1
NWM3MmQzODIzNzMwNDE4ODc1MDFmNjMwMC4uMzEwOTIzNjAyNzJkMjdmN2QzOTc1ZTUyY2IxYjk0
NGFkMzE5ZTliNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTAyLTIzICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENocm9tZUNsaWVu
dDo6c2hvd0NvbnRleHRNZW51KCkgaXMgbm8gbG9uZ2VyIHVzZWQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQyNworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEl0IGxvb2tzIGxpa2UgdGhhdCBzaG93Q29u
dGV4dE1lbnUoKSBpcyBqdXN0IGEKKyAgICAgICAgaGlzdG9yaWNhbCBhcnRpZmFjdC4KKworICAg
ICAgICBObyBuZXcgdGVzdHMuIEp1c3QgcmVtb3ZpbmcgYSBkZWFkIGNvZGUuCisKKyAgICAgICAg
KiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgICogcGFnZS9DaHJvbWUuY3BwOgorICAg
ICAgICAqIHBhZ2UvQ2hyb21lLmg6CisgICAgICAgIChDaHJvbWUpOgorICAgICAgICAqIHBhZ2Uv
Q2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChDaHJvbWVDbGllbnQpOgorCiAyMDEyLTAyLTIzICBN
T1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgogCiAgICAgICAgIFRoaXMgdGVzdCBj
aGVja3Mgc2VsZWN0IGF0dHJpYnV0ZSBvZiBjb250ZW50IGVsZW1lbnQgaXMgdmFsaWQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L0NoYW5nZUxvZwppbmRleCBkYjhiNDEwYzg3MTJjYzVmYWY2YjliYWJjZmU4
Mzk3ODdmZGJlZWM5Li44ZjIzMzMwMzllNzBhYTg3YzYzMzc0NTdkNjJlMjc4NzA2MzY0NmVkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0y
MyAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGNocm9taXVtLm9yZz4KKworICAgICAgICBDaHJv
bWVDbGllbnQ6OnNob3dDb250ZXh0TWVudSgpIGlzIG5vIGxvbmdlciB1c2VkLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0MjcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudEJsYWNrQmVycnkuaDoKKyAgICAgICAgKENocm9tZUNsaWVudEJsYWNrQmVycnkp
OgorCiAyMDEyLTAyLTIxICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJlbW92ZSB0aGUgcmVtYWluaW5nIHVzZXMgb2YgQ1NTU3R5bGVEZWNsYXJhdGlvbiBpbiBF
ZGl0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYjljNWMxNDNhNjM5OTEyOWJiNjli
ZWRjMzhlNTEwMjY3NTQ4MWFmOC4uZWQzMzcxNjFlOTM1MGZlZWRhYmE2OWIzMTJjMTBjY2I4MzNh
MzFjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0w
Mi0yMyAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGNocm9taXVtLm9yZz4KKworICAgICAgICBD
aHJvbWVDbGllbnQ6OnNob3dDb250ZXh0TWVudSgpIGlzIG5vIGxvbmdlciB1c2VkLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0MjcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9DaHJvbWVDbGll
bnRJbXBsLmg6CisgICAgICAgIChDaHJvbWVDbGllbnRJbXBsKToKKwogMjAxMi0wMi0yMSAgSmFt
ZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0g
Tm90aWZ5IGNvbXBvc2l0b3Igb2Ygd2hlZWwgZXZlbnQgcmVnaXN0cmF0aW9uIHZpYSBTY3JvbGxp
bmdDb29yZGluYXRvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IDkyYzAxZmVkNTIyYTg0OGVhNzU1MjM2
MmJjOGJjZjgzZGM2ZGNjMmIuLjE5NmFhMjVhN2YxMzMwYTljNTA4YjQzYzk2ZDc2Y2JmYWM3YjEz
N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0yMyAgSGFqaW1l
IE1vcnJpdGEgIDxtb3JyaXRhQGNocm9taXVtLm9yZz4KKworICAgICAgICBDaHJvbWVDbGllbnQ6
OnNob3dDb250ZXh0TWVudSgpIGlzIG5vIGxvbmdlciB1c2VkLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0MjcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dEVmbC5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50RWZsKToKKwogMjAxMi0wMi0yMSAgUnlvc3Vr
ZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgdGhlIHJlbWFpbmlu
ZyB1c2VzIG9mIENTU1N0eWxlRGVjbGFyYXRpb24gaW4gRWRpdG9yCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5k
ZXggMDY3N2FhMmRkNzEzZTUyMjcxNTRjZDZmZGUwMDhjZDQ1MmFmMDc4ZC4uMmZmMDcyY2RiZjQz
NjIzNjg2MjA0MjI0N2Q5YTNjNWM5NWYyZDI3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDEyLTAyLTIzICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIENocm9tZUNsaWVudDo6c2hvd0NvbnRleHRNZW51KCkgaXMgbm8gbG9uZ2Vy
IHVzZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
OTQyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisgICAgICAgIChDaHJvbWVDbGllbnQp
OgorCiAyMDEyLTAyLTIzICBDaGFuZ1Nlb2sgT2ggIDxzaGl2YW1pZG93QGdtYWlsLmNvbT4KIAog
ICAgICAgICBbR1RLXSBEUlQgZG9lc24ndCBzdXBwb3J0IHNjaGVkdWxlQXN5bmNocm9ub3VzS2V5
RG93bi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAyMDg2MzhmMDJmZDljMDQ2NjIyODRhMWRjMzRhOGYz
ZGRkMGJkNjViLi4zYTViYzczNzQzN2E0MDJiZDdlOWU1OGNkZjE4Yzg0NmZkM2QyMTY2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMjMgIEhhamltZSBNb3JyaXRh
ICA8bW9ycml0YUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2hyb21lQ2xpZW50OjpzaG93Q29u
dGV4dE1lbnUoKSBpcyBubyBsb25nZXIgdXNlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW06CisKIDIwMTItMDIt
MjIgIEhhamltZSBNb3JyaXRhICA8bW9ycml0YUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTk9U
SUZJQ0FUSU9OUyBzaG91bGQgYmUgaW1wbGVtZW50ZWQgYXMgUGFnZVN1cHBsZW1lbnQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFu
Z2VMb2cKaW5kZXggZmZlOWM2NDNhMjdlYWVlYTQ0M2IxMDM2YmE0MTEzM2VmOGNhNzUwMy4uMDA1
MWQ0M2JjMDdmNGFkMjE5YzRiZTRhNjFjMzQyMmZmNGZkMzNiNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAxMi0wMi0yMyAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBDaHJvbWVDbGllbnQ6OnNob3dDb250ZXh0TWVudSgpIGlzIG5v
IGxvbmdlciB1c2VkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Nzk0MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0Lmg6CisgICAgICAgIChDaHJvbWVD
bGllbnRRdCk6CisKIDIwMTItMDItMjMgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5A
bm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gQWRkIHN1cHBvcnQgZm9yIHRvdWNoIGNhbmNlbGxh
dGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDg2MmE5YzM2YjhkZWM5MDkzN2YzZGM1ZDBhN2FiMGJl
ZTliNTJlZDUuLmRhZmY4Y2YwMzAxM2FhNDIwNTVkYzE4ODE3NDY4NDM0N2QwOThlYzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dp
bi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0yMyAgSGFqaW1lIE1vcnJpdGEg
IDxtb3JyaXRhQGNocm9taXVtLm9yZz4KKworICAgICAgICBDaHJvbWVDbGllbnQ6OnNob3dDb250
ZXh0TWVudSgpIGlzIG5vIGxvbmdlciB1c2VkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgor
ICAgICAgICAoV2ViQ2hyb21lQ2xpZW50KToKKwogMjAxMi0wMi0yMSAgUnlvc3VrZSBOaXdhICA8
cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgdGhlIHJlbWFpbmluZyB1c2VzIG9m
IENTU1N0eWxlRGVjbGFyYXRpb24gaW4gRWRpdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3dpbmNlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCmluZGV4IGRj
ZGEwNjlhYjhiYTJmOGEzYTJkOTczZGNiZjExOGQyZWQ1YWZlNjguLjgzZGU1NmE2Zjc3ZjliOWYz
NzU4YjZjYWQ1M2QyZjNkM2NiZTEzNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2Uv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTItMDItMjMgIEhhamltZSBNb3JyaXRhICA8bW9ycml0YUBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgQ2hyb21lQ2xpZW50OjpzaG93Q29udGV4dE1lbnUoKSBpcyBubyBsb25nZXIg
dXNlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5
NDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50
V2luQ0UpOgorCiAyMDEyLTAyLTIzICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgV2luQ0UgYnVpbGQgZml4IGFmdGVyIHIxMDg0NjIu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
d3gvQ2hhbmdlTG9nCmluZGV4IDExNjBlZWQzMzhjMWE3NTMwNjlkNTg2Y2NlZmQ3ZGE0MTI2YjBk
YWMuLmNlNmQ3ZDc5ODYxODk0MDlmNzViZDM2MmZjMmEwOGEwODQwZmViMWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMjMgIEhhamltZSBNb3JyaXRhICA8bW9ycml0
YUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2hyb21lQ2xpZW50OjpzaG93Q29udGV4dE1lbnUo
KSBpcyBubyBsb25nZXIgdXNlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc5NDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4Lmg6CisgICAgICAgIChD
aHJvbWVDbGllbnRXeCk6CisKIDIwMTItMDItMjEgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHRoZSByZW1haW5pbmcgdXNlcyBvZiBDU1NTdHlsZURl
Y2xhcmF0aW9uIGluIEVkaXRvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Vt
cHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4
IDIzNTJjMjg3NmQyMTgxMzRkMGJlYTY0MjU0NzgxYmU4MWU2NjAwZTguLmIyNmU4MjBiZDEwZDIx
ZDRhYzYxNmM0YjVhNTMyMWNjNTdjYzkwYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmgKQEAgLTE1MiwxMCArMTUyLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0
cjxQb3B1cE1lbnU+IGNyZWF0ZVBvcHVwTWVudShQb3B1cE1lbnVDbGllbnQqKSBjb25zdCB7IHJl
dHVybiBhZG9wdFJlZihuZXcgRW1wdHlQb3B1cE1lbnUoKSk7IH0KICAgICB2aXJ0dWFsIFBhc3NS
ZWZQdHI8U2VhcmNoUG9wdXBNZW51PiBjcmVhdGVTZWFyY2hQb3B1cE1lbnUoUG9wdXBNZW51Q2xp
ZW50KikgY29uc3QgeyByZXR1cm4gYWRvcHRSZWYobmV3IEVtcHR5U2VhcmNoUG9wdXBNZW51KCkp
OyB9CiAKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd0Nv
bnRleHRNZW51KCkgeyB9Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShSRUdJU1RFUl9QUk9UT0NPTF9I
QU5ETEVSKQogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBT
dHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSB7IH0K
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCmluZGV4IDVlMDEyMmRkZGRjOWZiYTY0YTBhOTYw
ZjNkZjlhZDkwYzcwMzNlZmMuLmFkZTI2MmQ3YzNjNDJhYmQ1NGZjYmU1MGQ1ZjhlNjNjMzQ5ZjFj
M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKQEAgLTU1NSwxMyArNTU1LDYgQEAgUGFzc1JlZlB0
cjxTZWFyY2hQb3B1cE1lbnU+IENocm9tZTo6Y3JlYXRlU2VhcmNoUG9wdXBNZW51KFBvcHVwTWVu
dUNsaWVudCogY2xpZW4KICAgICByZXR1cm4gbV9jbGllbnQtPmNyZWF0ZVNlYXJjaFBvcHVwTWVu
dShjbGllbnQpOwogfQogCi0jaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi12b2lkIENocm9tZTo6
c2hvd0NvbnRleHRNZW51KCkKLXsKLSAgICBtX2NsaWVudC0+c2hvd0NvbnRleHRNZW51KCk7Ci19
Ci0jZW5kaWYKLQogYm9vbCBDaHJvbWU6OnJlcXVpcmVzRnVsbHNjcmVlbkZvclZpZGVvUGxheWJh
Y2soKQogewogICAgIHJldHVybiBtX2NsaWVudC0+cmVxdWlyZXNGdWxsc2NyZWVuRm9yVmlkZW9Q
bGF5YmFjaygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKaW5kZXggYzY3MDRjOTdhNDRkZjYyOWI1MjhmZmFh
ZGZhYmUyMjFhMWExM2M3My4uODQxZWI1MGMwN2MwYzg5ZWZlOTIyMGJmNWE3ZWQ3Y2RjOTYwZWI0
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZS5oCkBAIC0xNzMsMTAgKzE3Myw2IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgUGFzc1JlZlB0cjxQb3B1cE1lbnU+IGNyZWF0ZVBvcHVwTWVudShQb3B1
cE1lbnVDbGllbnQqKSBjb25zdDsKICAgICAgICAgUGFzc1JlZlB0cjxTZWFyY2hQb3B1cE1lbnU+
IGNyZWF0ZVNlYXJjaFBvcHVwTWVudShQb3B1cE1lbnVDbGllbnQqKSBjb25zdDsKIAotI2lmIEVO
QUJMRShDT05URVhUX01FTlVTKQotICAgICAgICB2b2lkIHNob3dDb250ZXh0TWVudSgpOwotI2Vu
ZGlmCi0KICAgICBwcml2YXRlOgogICAgICAgICBDaHJvbWUoUGFnZSosIENocm9tZUNsaWVudCop
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCAzM2IxYzRiODcxNDkwODNiYzY4
ZWE3OWI3OWZmMTQyZWNkZDU5ZTQzLi5mMTRkM2Q5ZTUwZmZjY2EyN2QyZThhNzE2YmQ0ZWViMWYy
YTMwNTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTMwNywxMCArMzA3LDYg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8UG9wdXBN
ZW51PiBjcmVhdGVQb3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50KikgY29uc3QgPSAwOwogICAgICAg
ICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2VhcmNoUG9wdXBNZW51PiBjcmVhdGVTZWFyY2hQb3B1cE1l
bnUoUG9wdXBNZW51Q2xpZW50KikgY29uc3QgPSAwOwogCi0jaWYgRU5BQkxFKENPTlRFWFRfTUVO
VVMpCi0gICAgICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGV4dE1lbnUoKSA9IDA7Ci0jZW5kaWYK
LQogICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zdEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb24oQWNj
ZXNzaWJpbGl0eU9iamVjdCosIEFYT2JqZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uKSB7IH0KICAg
ICAgICAgCiAgICAgICAgIHZpcnR1YWwgdm9pZCBub3RpZnlTY3JvbGxlclRodW1iSXNWaXNpYmxl
SW5SZWN0KGNvbnN0IEludFJlY3QmKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmggYi9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5o
CmluZGV4IDc2YTcxNWFiZTIzOWUzZThlYzhlNDM5YTQ2NGI1NGEwNjNlNTc4YTEuLmMzZDI4MjUw
YmU2ZjQ2NmRkM2I1MGUwMmViMWQxNjY2MjJkNzVhNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmgKKysr
IGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJs
YWNrQmVycnkuaApAQCAtMTM5LDcgKzEzOSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wg
c2VsZWN0SXRlbUFsaWdubWVudEZvbGxvd3NNZW51V3JpdGluZ0RpcmVjdGlvbigpOwogICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxQb3B1cE1lbnU+IGNyZWF0ZVBvcHVwTWVudShQb3B1cE1lbnVDbGll
bnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2VhcmNoUG9wdXBNZW51PiBjcmVh
dGVTZWFyY2hQb3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50KikgY29uc3Q7Ci0gICAgdmlydHVhbCB2
b2lkIHNob3dDb250ZXh0TWVudSgpIHsgfQogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hSb290R3JhcGhpY3NMYXllcihGcmFtZSosIEdy
YXBoaWNzTGF5ZXIqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0No
cm9tZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVu
dEltcGwuaAppbmRleCAyM2UwMmZmM2Q5OTUwNGZjMjk5ODJmMzcxMTYzNTZhMTAwNTQ5NzZjLi4w
M2E3ODgwMDkxMzMxOWNiMmYxNGNhYjU5ZWE2NzU3OGIzNmRlNDg1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCkBAIC0xOTYsMTAgKzE5Niw2IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6UG9wdXBNZW51PiBjcmVh
dGVQb3B1cE1lbnUoV2ViQ29yZTo6UG9wdXBNZW51Q2xpZW50KikgY29uc3Q7CiAgICAgdmlydHVh
bCBQYXNzUmVmUHRyPFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVudT4gY3JlYXRlU2VhcmNoUG9wdXBN
ZW51KFdlYkNvcmU6OlBvcHVwTWVudUNsaWVudCopIGNvbnN0OwogCi0jaWYgRU5BQkxFKENPTlRF
WFRfTUVOVVMpCi0gICAgdmlydHVhbCB2b2lkIHNob3dDb250ZXh0TWVudSgpIHsgfQotI2VuZGlm
Ci0KICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnVuTW9kYWxEaWFsb2dEdXJpbmdQYWdlRGlzbWlz
c2FsKGNvbnN0IERpYWxvZ1R5cGUmLCBjb25zdCBTdHJpbmcmIGRpYWxvZ01lc3NhZ2UsIFdlYkNv
cmU6OkZyYW1lTG9hZGVyOjpQYWdlRGlzbWlzc2FsVHlwZSkgY29uc3Q7CiAKICAgICB2aXJ0dWFs
IGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlv
bikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEVmbC5oCmluZGV4IDgyNTEyMjUxZjZhNDQwZWE1OTMzMDEzZTExOGRmM2MwMDI0Yzc5
ZjMuLjc3ZGI5ODI4MWJmMTZlZjE0YjdkM2UzZjM2NzAzZGFkN2Q0MmQwZWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCkBAIC0x
MjEsMTAgKzEyMSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVhY2hlZE1heEFwcENh
Y2hlU2l6ZShpbnQ2NF90IHNwYWNlTmVlZGVkKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVhY2hlZEFw
cGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YShTZWN1cml0eU9yaWdpbiosIGludDY0X3QgdG90YWxT
cGFjZU5lZWRlZCk7CiAKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICB2aXJ0dWFsIHZv
aWQgc2hvd0NvbnRleHRNZW51KCkgeyB9Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShUT1VDSF9FVkVO
VFMpCiAgICAgdmlydHVhbCB2b2lkIG5lZWRUb3VjaEV2ZW50cyhib29sKTsKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3Rr
LmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaApp
bmRleCA1OTA1ZjU2Nzk1OTMxNmI5MTU2NDhlMzhkMTY1YzI5NGNlZGQ5NzA2Li5kY2VhMmYwYzQy
MzkwZDYxODM2NTFhZjI5MzZmNWU4Njk3ZDgxZDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaApAQCAtMTI1LDkgKzEyNSw2IEBA
IG5hbWVzcGFjZSBXZWJLaXQgewogI2VuZGlmCiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWFjaGVk
TWF4QXBwQ2FjaGVTaXplKGludDY0X3Qgc3BhY2VOZWVkZWQpOwogICAgICAgICB2aXJ0dWFsIHZv
aWQgcmVhY2hlZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YShTZWN1cml0eU9yaWdpbiosIGlu
dDY0X3QgdG90YWxTcGFjZU5lZWRlZCk7Ci0jaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0gICAg
ICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGV4dE1lbnUoKSB7IH0KLSNlbmRpZgogICAgICAgICB2
aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4p
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgbG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8V1RG
OjpTdHJpbmc+JiwgRmlsZUljb25Mb2FkZXIqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA2NmZhMDYwYjVhNTNkYmMy
ZjM4ZWVhNmY1NDUyZDc2ZGE2YmIxZjkyLi40NmQxMjAxZDU5NWFkZTExN2FjMDJkNzBkZWY3OTA4
ZjEwZDM0Yjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaApAQCAtMTg0LDEwICsxODQsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBQYXNzUmVmUHRyPFdlYkNvcmU6OlBvcHVwTWVudT4gY3JlYXRlUG9wdXBNZW51KFdlYkNvcmU6
OlBvcHVwTWVudUNsaWVudCopIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0
cjxXZWJDb3JlOjpTZWFyY2hQb3B1cE1lbnU+IGNyZWF0ZVNlYXJjaFBvcHVwTWVudShXZWJDb3Jl
OjpQb3B1cE1lbnVDbGllbnQqKSBjb25zdCBPVkVSUklERTsKIAotI2lmIEVOQUJMRShDT05URVhU
X01FTlVTKQotICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGV4dE1lbnUoKSBPVkVSUklERTsKLSNl
bmRpZgotICAgIAogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2Vk
KHVuc2lnbmVkKSBPVkVSUklERSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhh
bmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgT1ZFUlJJREUgeyB9CiAgICAgdmlydHVhbCBib29sIHNo
b3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0
IE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXggM2JhYzg3YjljNjhjMTFkOTlh
Yjg5MzAwMDJkNDUzNmNmZThjMDczYi4uODNmODQ1OTg5YjI3NjA5NjBjMmI3YjJmNjI5ZjRhNDYy
ZDhjZDJhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5tbQpAQCAtODU3LDM1ICs4NTcsNiBAQCBQYXNzUmVmUHRyPFdlYkNvcmU6
OlNlYXJjaFBvcHVwTWVudT4gV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVTZWFyY2hQb3B1cE1lbnUo
V2ViQwogICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2VhcmNoUG9wdXBNZW51TWFjKGNsaWVudCkp
OwogfQogCi0jaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi12b2lkIFdlYkNocm9tZUNsaWVudDo6
c2hvd0NvbnRleHRNZW51KCkKLXsKLSAgICBQYWdlKiBwYWdlID0gW21fd2ViVmlldyBwYWdlXTsK
LSAgICBpZiAoIXBhZ2UpCi0gICAgICAgIHJldHVybjsKLQotICAgIENvbnRleHRNZW51Q29udHJv
bGxlciogY29udHJvbGxlciA9IHBhZ2UtPmNvbnRleHRNZW51Q29udHJvbGxlcigpOwotICAgIE5v
ZGUqIG5vZGUgPSBjb250cm9sbGVyLT5oaXRUZXN0UmVzdWx0KCkuaW5uZXJOb25TaGFyZWROb2Rl
KCk7Ci0gICAgaWYgKCFub2RlKQotICAgICAgICByZXR1cm47Ci0gICAgRnJhbWUqIGZyYW1lID0g
bm9kZS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKTsKLSAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1
cm47Ci0gICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBmcmFtZS0+dmlldygpOwotICAgIGlmICgh
ZnJhbWVWaWV3KQotICAgICAgICByZXR1cm47Ci0gICAgTlNWaWV3KiB2aWV3ID0gZnJhbWVWaWV3
LT5kb2N1bWVudFZpZXcoKTsKLSAgICAKLSAgICBJbnRQb2ludCBwb2ludCA9IGZyYW1lVmlldy0+
Y29udGVudHNUb1dpbmRvdyhjb250cm9sbGVyLT5oaXRUZXN0UmVzdWx0KCkucG9pbnQoKSk7Ci0g
ICAgTlNQb2ludCBuc1NjcmVlblBvaW50ID0gW3ZpZXcgY29udmVydFBvaW50OnBvaW50IHRvVmll
dzpuaWxdOwotICAgIC8vIFNob3cgdGhlIGNvbnRleHR1YWwgbWVudSBmb3IgdGhpcyBldmVudC4K
LSAgICBOU0V2ZW50KiBldmVudCA9IFtOU0V2ZW50IG1vdXNlRXZlbnRXaXRoVHlwZTpOU1JpZ2h0
TW91c2VEb3duIGxvY2F0aW9uOm5zU2NyZWVuUG9pbnQgbW9kaWZpZXJGbGFnczowIHRpbWVzdGFt
cDowIHdpbmRvd051bWJlcjpbW3ZpZXcgd2luZG93XSB3aW5kb3dOdW1iZXJdIGNvbnRleHQ6MCBl
dmVudE51bWJlcjowIGNsaWNrQ291bnQ6MSBwcmVzc3VyZToxXTsKLSAgICBOU01lbnUqIG5zTWVu
dSA9IFt2aWV3IG1lbnVGb3JFdmVudDpldmVudF07Ci0gICAgaWYgKG5zTWVudSkKLSAgICAgICAg
W05TTWVudSBwb3BVcENvbnRleHRNZW51Om5zTWVudSB3aXRoRXZlbnQ6ZXZlbnQgZm9yVmlldzp2
aWV3XTsgICAgCi19Ci0jZW5kaWYKLQogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykK
IAogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmF0dGFjaFJvb3RHcmFwaGljc0xheWVyKEZyYW1lKiBm
cmFtZSwgR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAppbmRleCAzZDQ1YjdiNTFhMmUzMjAw
NDRlNjQwMWY3MDhiYjJjMDhmMzc1NWM0Li4zODZiOTg2ZDRmMThhNGY2NTdhN2YwZjkxYzk5OTBh
MGY5M2I2OTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudFF0LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRRdC5oCkBAIC0xMzgsOSArMTM4LDYgQEAgcHVibGljOgogI2VuZGlmCiAgICAgdmly
dHVhbCB2b2lkIHJlYWNoZWRNYXhBcHBDYWNoZVNpemUoaW50NjRfdCBzcGFjZU5lZWRlZCk7CiAg
ICAgdmlydHVhbCB2b2lkIHJlYWNoZWRBcHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVvdGEoU2VjdXJp
dHlPcmlnaW4qLCBpbnQ2NF90IHRvdGFsU3BhY2VOZWVkZWQpOwotI2lmIEVOQUJMRShDT05URVhU
X01FTlVTKQotICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGV4dE1lbnUoKSB7IH0KLSNlbmRpZgog
CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIC8vIFRoaXMgaXMgYSBob29r
IGZvciBXZWJDb3JlIHRvIHRlbGwgdXMgd2hhdCB3ZSBuZWVkIHRvIGRvIHdpdGggdGhlIEdyYXBo
aWNzTGF5ZXJzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaAppbmRleCAyYTlhOGZlN2YzZDRmNDUzZmU0YWIxZjBlZGNiOWRkMzlmYWFi
YzliLi41OWMyNDJkZDZlYjRhYWQ5MTY0MGI3ZWMyZTBlZTQyYmQ1NjcyMTVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAt
MTIwLDEwICsxMjAsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHJlYWNoZWRNYXhBcHBD
YWNoZVNpemUoaW50NjRfdCBzcGFjZU5lZWRlZCk7CiAgICAgdmlydHVhbCB2b2lkIHJlYWNoZWRB
cHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVvdGEoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBpbnQ2
NF90IHRvdGFsU3BhY2VOZWVkZWQpOwogCi0jaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0gICAg
dmlydHVhbCB2b2lkIHNob3dDb250ZXh0TWVudSgpIHsgfQotI2VuZGlmCi0KICAgICB2aXJ0dWFs
IHZvaWQgcG9wdWxhdGVWaXNpdGVkTGlua3MoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBydW5PcGVu
UGFuZWwoV2ViQ29yZTo6RnJhbWUqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZpbGVDaG9vc2VyPik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFdpbkNFLmggYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFdpbkNFLmgKaW5kZXggNjEzNzgzYTAzM2U1OWFjYTkxZDk4NDUzNjAwMDY0OTA1YzIwNjIx
My4uNjRlMmJkYTNlNTE5ODdhOTVjOGM1OTU3M2Y5MmUwNTQyNWY1ZDk1ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0Uu
aApAQCAtMTMxLDEwICsxMzEsNiBAQCBwdWJsaWM6CiAgICAgLy8gZm9yIHRoaXMgb3JpZ2luLgog
ICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkQXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luKiwgaW50NjRfdCB0b3RhbFNwYWNlTmVlZGVkKTsKIAotI2lmIEVO
QUJMRShDT05URVhUX01FTlVTKQotICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGV4dE1lbnUoKSB7
IH0KLSNlbmRpZgotCiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgdmlydHVhbCBXZWJD
b3JlOjpOb3RpZmljYXRpb25QcmVzZW50ZXIqIG5vdGlmaWNhdGlvblByZXNlbnRlcigpIGNvbnN0
OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hy
b21lQ2xpZW50V3guaCBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGll
bnRXeC5oCmluZGV4IDJiNmNkZWY2MTJjYWZjZDRmMjUwMTM0NTE2OGRhM2NlNzA1ODg1NjkuLmY5
NTg3MWJhNmRkODY4Yzg0MDM4Y2VhMzZlZWU0NDE3ZGZjMmFlM2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCkBAIC0xMjYsMTEgKzEyNiw2
IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkTWF4QXBwQ2FjaGVTaXplKGlu
dDY0X3Qgc3BhY2VOZWVkZWQpOwogICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkQXBwbGljYXRpb25D
YWNoZU9yaWdpblF1b3RhKFNlY3VyaXR5T3JpZ2luKiwgaW50NjRfdCB0b3RhbFNwYWNlTmVlZGVk
KTsKLQotI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQotICAgIHZpcnR1YWwgdm9pZCBzaG93Q29u
dGV4dE1lbnUoKSB7IH0KLSNlbmRpZgotCiAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChG
cmFtZSosIFBhc3NSZWZQdHI8RmlsZUNob29zZXI+KTsKICAgICB2aXJ0dWFsIHZvaWQgbG9hZElj
b25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIEZpbGVJY29uTG9hZGVyKik7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128655</attachid>
            <date>2012-02-23 22:50:36 -0800</date>
            <delta_ts>2012-02-24 01:59:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79427-20120224155034.patch</filename>
            <type>text/plain</type>
            <size>35884</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4NzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
ZDkyMGYzNjExMGFkOGIzMzE2MTIyY2QxNDYwNzJkOGI1MTcyOTEzLi42ZTdhNWM3MGM4MDA4YTVh
YzVhNzk4MGUxYTA2YzAyMjAwODgzMzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMi0wMi0yMyAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBNb3ZlIENocm9tZUNsaWVudDo6c2hvd0NvbnRleHRNZW51KCkgdG8g
Q29udGV4dE1lbnVDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc5NDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkZWQgQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTLgorCisgICAgICAgICog
d3RmL1BsYXRmb3JtLmg6CisKIDIwMTItMDItMjMgIEtlbmljaGkgSXNoaWJhc2hpICA8YmFzaGlA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZGluZyBXZWJTb2NrZXQgcGVyLWZyYW1lIERFRkxB
VEUgZXh0ZW5zaW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDg1NzlhNDc1ZjYxOGQ5OWMzN2E1OGY3NGQ1YzI2
NDMwM2YyMjUxYi4uYzAwYmM1NGY0NDllZTQ0ZDI2MTQxYjc4MWM3MWMwNjVlMWE0ZWU5ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTAyLTIzICBIYWppbWUgTW9ycml0YSAgPG1v
cnJpdGFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgQ2hyb21lQ2xpZW50OjpzaG93Q29u
dGV4dE1lbnUoKSB0byBDb250ZXh0TWVudUNsaWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0MjcKKworICAgICAgICAtIFJlbW92ZWQgQ2hyb21l
Q2xpZW50OjpzaG93Q29udGV4dE1lbnUoKSwgQ2hyb21lOjpzaG93Q29udGV4dE1lbnUoKQorICAg
ICAgICAtIEFkZGVkIENvbnRleHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRNZW51QXQoKSwg
Q29udGV4dE1lbnVDbGllbnQ6OnNob3dDb250ZXh0TWVudSgpCisgICAgICAgIC0gSGlkZWQgc2hv
d0NvbnRleHRNZW51KCkgYmVoaW5kIEFDQ0VTU0lCSUxJVFlfQ09OVEVYVF9NRU5VUworCisgICAg
ICAgIFRoaXMgY2hhbmdlIGxvY2FsaXplcyBjb250ZXh0IG1lbnUgcmVsdGVkIGNvZGUgYW5kIHdp
bGwgbWFrZSBpdCBlYXN5IHRvCisgICAgICAgIG1vZHVsYXJpemUgQ09OVEVYVF9NRU5VUyBjb2Rl
LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFj
dG9yaW5nLiBObyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbToK
KyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eVNo
b3dDb250ZXh0TWVudV0pOgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAg
ICAgKEVtcHR5Q29udGV4dE1lbnVDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlDb250
ZXh0TWVudUNsaWVudDo6c2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKiBwYWdlL0NvbnRleHRN
ZW51Q2xpZW50Lmg6CisgICAgICAgIChDb250ZXh0TWVudUNsaWVudCk6CisgICAgICAgICogcGFn
ZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dDb250ZXh0TWVudUF0KToKKyAg
ICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oOgorICAgICAgICAoQ29udGV4dE1l
bnVDb250cm9sbGVyKToKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgICogcGFn
ZS9DaHJvbWUuaDoKKyAgICAgICAgKENocm9tZSk6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGll
bnQuaDoKKyAgICAgICAgKENocm9tZUNsaWVudCk6CisKIDIwMTItMDItMjMgIEtlbmljaGkgSXNo
aWJhc2hpICA8YmFzaGlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZGluZyBXZWJTb2NrZXQg
cGVyLWZyYW1lIERFRkxBVEUgZXh0ZW5zaW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCBmYjM5MDUzMmM3N2RhMzkzZTg3ZWJiMGQ2YTI1ZTM5MWE2MjgyMWNjLi5jZTg5Yjc4OGQ2
N2JjMDQ3Njc4OWE4N2I0OWNiMWRmOTdmYTdhNjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0yMyAgSGFqaW1lIE1vcnJpdGEgIDxtb3Jy
aXRhQGNocm9taXVtLm9yZz4KKworICAgICAgICBNb3ZlIENocm9tZUNsaWVudDo6c2hvd0NvbnRl
eHRNZW51KCkgdG8gQ29udGV4dE1lbnVDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0Jl
cnJ5Lmg6CisgICAgICAgIChDaHJvbWVDbGllbnRCbGFja0JlcnJ5KToKKwogMjAxMi0wMi0yMyAg
TWlrZSBGZW50b24gIDxtaWZlbnRvbkByaW0uY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBT
ZWxlY3Rpb24gaGFuZGxlciBoYXMgY29tcGlsZSBmYWlsdXJlIHdpdGggbG9ncyBlbmFibGVkLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA2NTE2NThjZDcyZTRiNzY4MzdjZDk3MzQ3ZDg3
MmU5ODNhNGE5Y2I5Li44NjM5OTBjYTVkMjBlMzNhMGZjYWUzMjg5Y2UwMGUwNDUzMTUyMGE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAyLTIzICBI
YWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgQ2hy
b21lQ2xpZW50OjpzaG93Q29udGV4dE1lbnUoKSB0byBDb250ZXh0TWVudUNsaWVudAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0MjcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9DaHJvbWVDbGll
bnRJbXBsLmg6CisgICAgICAgIChDaHJvbWVDbGllbnRJbXBsKToKKwogMjAxMi0wMi0yMyAgU2hl
cmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZC4gIFJvbGxlZCBERVBTLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IDkyYzAxZmVkNTIyYTg0OGVh
NzU1MjM2MmJjOGJjZjgzZGM2ZGNjMmIuLmI5NDRhOGIwYmMzZjNkZTliMjJlYTVlMGJkZjMzNTg1
OTExZDYwYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0yMyAg
SGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGNocm9taXVtLm9yZz4KKworICAgICAgICBNb3ZlIENo
cm9tZUNsaWVudDo6c2hvd0NvbnRleHRNZW51KCkgdG8gQ29udGV4dE1lbnVDbGllbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDI3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRFZmwuaDoKKyAgICAgICAgKENocm9tZUNsaWVudEVmbCk6CisKIDIwMTIt
MDItMjEgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3Zl
IHRoZSByZW1haW5pbmcgdXNlcyBvZiBDU1NTdHlsZURlY2xhcmF0aW9uIGluIEVkaXRvcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsv
Q2hhbmdlTG9nCmluZGV4IDA2NzdhYTJkZDcxM2U1MjI3MTU0Y2Q2ZmRlMDA4Y2Q0NTJhZjA3OGQu
LjYyNWU2YWNjYzlkMjQ3YWE2ZTcwYTViMDFlYWEzMmNlMjUxYTk1Y2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0yMyAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRh
QGNocm9taXVtLm9yZz4KKworICAgICAgICBNb3ZlIENocm9tZUNsaWVudDo6c2hvd0NvbnRleHRN
ZW51KCkgdG8gQ29udGV4dE1lbnVDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc5NDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaDoKKyAg
ICAgICAgKENocm9tZUNsaWVudCk6CisKIDIwMTItMDItMjMgIENoYW5nU2VvayBPaCAgPHNoaXZh
bWlkb3dAZ21haWwuY29tPgogCiAgICAgICAgIFtHVEtdIERSVCBkb2Vzbid0IHN1cHBvcnQgc2No
ZWR1bGVBc3luY2hyb25vdXNLZXlEb3duLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDU0OGM4ZjFhZTFi
ZjI5OTk4ZDFlMWVmZDdlODExMTkxYzRkM2NmNDguLjlkZDI1MjQ4MTJjMWQ5NjgxYzYyNGRlMmVk
YTZmZmRmZGM2ZGZmNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0w
Mi0yMyAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGNocm9taXVtLm9yZz4KKworICAgICAgICBN
b3ZlIENocm9tZUNsaWVudDo6c2hvd0NvbnRleHRNZW51KCkgdG8gQ29udGV4dE1lbnVDbGllbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDI3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5oOgorICAgICAgICAoV2ViQ29udGV4dE1lbnVD
bGllbnQpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50Lm1t
OgorICAgICAgICAoV2ViQ29udGV4dE1lbnVDbGllbnQ6OnNob3dDb250ZXh0TWVudSk6IE1vdmVk
IGZyb20gV2ViQ2hyb21lQ2xpZW50CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tOgor
CiAyMDEyLTAyLTIzICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZW5hbWUgW3NldFN8c111cHByZXNzSW5jcmVtZW50YWxSZW5kZXJpbmcgdG8gW3NldFN8c111cHBy
ZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZyBhbmQgbWFrZSBpdCBXZWJQcmVmZXJlbmNlcyBBUEku
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
cXQvQ2hhbmdlTG9nCmluZGV4IGZmZTljNjQzYTI3ZWFlZWE0NDNiMTAzNmJhNDExMzNlZjhjYTc1
MDMuLjVhYWNmMWRkN2RkYWJmZTY2ZWIyNWQ4ODkzMDUxNzBmNTJhOTMzYTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMjMgIEhhamltZSBNb3JyaXRhICA8bW9ycml0
YUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTW92ZSBDaHJvbWVDbGllbnQ6OnNob3dDb250ZXh0
TWVudSgpIHRvIENvbnRleHRNZW51Q2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03OTQyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaDoKKyAg
ICAgICAgKENocm9tZUNsaWVudFF0KToKKwogMjAxMi0wMi0yMyAgU2ltb24gSGF1c21hbm4gIDxz
aW1vbi5oYXVzbWFubkBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBBZGQgc3VwcG9ydCBmb3Ig
dG91Y2ggY2FuY2VsbGF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggODYyYTljMzZiOGRlYzkwOTM3
ZjNkYzVkMGE3YWIwYmVlOWI1MmVkNS4uZDk4NGUxNDc5ODI2YWQ4OWYzMzMwMjU5NzkwNWE4ZDYy
ZDdjZWQ0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAyLTIzICBI
YWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgQ2hy
b21lQ2xpZW50OjpzaG93Q29udGV4dE1lbnUoKSB0byBDb250ZXh0TWVudUNsaWVudAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0MjcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50KToKKwogMjAxMi0w
Mi0yMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUg
dGhlIHJlbWFpbmluZyB1c2VzIG9mIENTU1N0eWxlRGVjbGFyYXRpb24gaW4gRWRpdG9yCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2lu
Y2UvQ2hhbmdlTG9nCmluZGV4IGRjZGEwNjlhYjhiYTJmOGEzYTJkOTczZGNiZjExOGQyZWQ1YWZl
NjguLjhkZDI1M2Q1N2YzN2JlMjhkZjgwMGE4Zjk5YWI5NGFlNjMxN2FjNjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2Uv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMjMgIEhhamltZSBNb3JyaXRhICA8
bW9ycml0YUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTW92ZSBDaHJvbWVDbGllbnQ6OnNob3dD
b250ZXh0TWVudSgpIHRvIENvbnRleHRNZW51Q2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2lu
Q0UuaDoKKyAgICAgICAgKENocm9tZUNsaWVudFdpbkNFKToKKwogMjAxMi0wMi0yMyAgUGF0cmlj
ayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIFdp
bkNFIGJ1aWxkIGZpeCBhZnRlciByMTA4NDYyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93
eC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZwppbmRleCAxMTYwZWVkMzM4
YzFhNzUzMDY5ZDU4NmNjZWZkN2RhNDEyNmIwZGFjLi44ZWJiN2Q2ZjZjNGFmNjQzNDQ5OWU0NTUx
MDVjMmNiMzM1NDZiNjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAy
LTIzICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1v
dmUgQ2hyb21lQ2xpZW50OjpzaG93Q29udGV4dE1lbnUoKSB0byBDb250ZXh0TWVudUNsaWVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0MjcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFN1
cHBvcnQvQ2hyb21lQ2xpZW50V3guaDoKKyAgICAgICAgKENocm9tZUNsaWVudFd4KToKKwogMjAx
Mi0wMi0yMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1v
dmUgdGhlIHJlbWFpbmluZyB1c2VzIG9mIENTU1N0eWxlRGVjbGFyYXRpb24gaW4gRWRpdG9yCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKaW5kZXggMjZlZmI0MDBlOWYxODViOGRjMzAyNDhjNjhiN2Q0N2M0NGZmYTk3ZS4uZDAx
NDM3ZDg1ZTI3MDQxZDZmMzI3NzYxNzA1N2E2Mjg1MmE5MjY2NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI0IEBACisyMDEyLTAyLTIzICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIE1vdmUgQ2hyb21lQ2xpZW50OjpzaG93Q29udGV4dE1lbnUoKSB0byBD
b250ZXh0TWVudUNsaWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Nzk0MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgor
ICAgICAgICAoV2ViQ2hyb21lQ2xpZW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51Q2xpZW50OjpzaG93Q29udGV4dE1lbnUpOiBNb3Zl
ZCBmcm9tIFdlYkNocm9tZUNsaWVudAorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvbnRleHRNZW51Q2xpZW50
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OmhhbmRsZUNvbnRleHRNZW51RXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpoYW5kbGVN
b3VzZUV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6bW91c2VFdmVudCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6Om1vdXNlRXZlbnRTeW5jRm9yVGVzdGluZyk6CisKIDIwMTIt
MDItMjMgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSBb
c2V0U3xzXXVwcHJlc3NJbmNyZW1lbnRhbFJlbmRlcmluZyB0byBbc2V0U3xzXXVwcHJlc3Nlc0lu
Y3JlbWVudGFsUmVuZGVyaW5nIGFuZCBtYWtlIGl0IFdlYlByZWZlcmVuY2VzIEFQSS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRleCBkYzg0NGI2ZGE2ZDU2OTZmNGFhZTc5MzQy
ZDU5ZWRjZGM5OTkyYWVmLi44Yzg2Njc1MTU0NWY5MWQzNTdmOWY5MWE2ZDBmYzNjNDNiYjgxY2Yy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC0xMDk4LDYgKzEwOTgsMTAg
QEAKICNkZWZpbmUgV1RGX1VTRV9DUk9TU19QTEFURk9STV9DT05URVhUX01FTlVTIDEKICNlbmRp
ZgogCisjaWYgUExBVEZPUk0oTUFDKSAmJiBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjZGVmaW5lIFdU
Rl9VU0VfQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTIDEKKyNlbmRpZgorCiAvKiBHZW9sb2Nh
dGlvbiByZXF1ZXN0IHBvbGljeS4gcHJlLWVtcHRpdmUgcG9saWN5IGlzIHRvIGFjcXVpcmUgdXNl
ciBwZXJtaXNzaW9uIGJlZm9yZSBhY3F1aXJpbmcgbG9jYXRpb24uCiAgICBDbGllbnQgYmFzZWQg
aW1wbGVtZW50YXRpb25zIHdpbGwgaGF2ZSBvcHRpb24gdG8gY2hvb3NlIGJldHdlZW4gcHJlLWVt
cHRpdmUgYW5kIG5vbnByZS1lbXB0aXZlIHBlcm1pc3Npb24gcG9saWN5LgogICAgcHJlLWVtcHRp
dmUgcGVybWlzc2lvbiBwb2xpY3kgaXMgZW5hYmxlZCBieSBkZWZhdWx0IGZvciBhbGwgY2xpZW50
LWJhc2VkIGltcGxlbWVudGF0aW9ucy4gKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggZTgxMmZm
ZmY2NWE5NDMxNTQ2MWIwOThjYzQxYmRkYzkxZWM4MTU2ZS4uNDFlYWRlNTFlMzEwMGE1ZGQwZWZh
NDcwMDQzYzIwNWYwODU1NmFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE2NjMsNyArMTY2
Myw2IEBAIF9fWk5LN1dlYkNvcmUyMUNvbnRleHRNZW51Q29udHJvbGxlcjIxY2hlY2tPckVuYWJs
ZUlmTmVlZGVkRVJOU18xNUNvbnRleHRNZW51SXRlCiBfX1pON1dlYkNvcmUyMUNvbnRleHRNZW51
Q29udHJvbGxlcjIzY29udGV4dE1lbnVJdGVtU2VsZWN0ZWRFUE5TXzE1Q29udGV4dE1lbnVJdGVt
RQogX19aTjdXZWJDb3JlMjFjb250ZXh0TWVudUl0ZW1WZWN0b3JFUDE0TlNNdXRhYmxlQXJyYXkK
IF9fWk43V2ViQ29yZTIzcGxhdGZvcm1NZW51RGVzY3JpcHRpb25FUk4zV1RGNlZlY3RvcklOU18x
NUNvbnRleHRNZW51SXRlbUVMbTBFRUUKLV9fWk43V2ViQ29yZTZDaHJvbWUxNXNob3dDb250ZXh0
TWVudUV2CiBfX1pOSzdXZWJDb3JlMTFDb250ZXh0TWVudTE5cGxhdGZvcm1EZXNjcmlwdGlvbkV2
CiBfX1pOSzdXZWJDb3JlMTVDb250ZXh0TWVudUl0ZW0xNXBsYXRmb3JtU3ViTWVudUV2CiBfX1pO
SzdXZWJDb3JlMTVDb250ZXh0TWVudUl0ZW00dHlwZUV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbSBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyLm1tCmluZGV4IDZiYzRjNjNlYmU5MDRmNThkMDlkYzcyNWQ5YmEyNjkxMzQ4ODAzZjQu
LmVkZDcyMjM2Yzg3ZWViNWZmMDY3MDVlZDc1MzM3YzYyM2JjMTM5NWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyLm1tCkBAIC00NCw2ICs0NCw3IEBACiAjaW1wb3J0ICJBY2Nlc3Np
YmlsaXR5VGFibGVSb3cuaCIKICNpbXBvcnQgIkNocm9tZS5oIgogI2ltcG9ydCAiQ29sb3JNYWMu
aCIKKyNpbXBvcnQgIkNvbnRleHRNZW51Q29udHJvbGxlci5oIgogI2ltcG9ydCAiRnJhbWUuaCIK
ICNpbXBvcnQgIkZyYW1lTG9hZGVyQ2xpZW50LmgiCiAjaW1wb3J0ICJGcmFtZVNlbGVjdGlvbi5o
IgpAQCAtMjYxNCwxNCArMjYxNSw3IEBAIHN0YXRpYyBOU1N0cmluZyogcm9sZVZhbHVlVG9OU1N0
cmluZyhBY2Nlc3NpYmlsaXR5Um9sZSB2YWx1ZSkKICAgICBQYWdlKiBwYWdlID0gZnJhbWUtPnBh
Z2UoKTsKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybjsKLQotICAgIC8vIFNpbXVsYXRl
IGEgY2xpY2sgaW4gdGhlIG1pZGRsZSBvZiB0aGUgb2JqZWN0LgotICAgIEludFBvaW50IGNsaWNr
UG9pbnQgPSBtX29iamVjdC0+Y2xpY2tQb2ludCgpOwotICAgIAotICAgIFBsYXRmb3JtTW91c2VF
dmVudCBtb3VzZUV2ZW50KGNsaWNrUG9pbnQsIGNsaWNrUG9pbnQsIFJpZ2h0QnV0dG9uLCBQbGF0
Zm9ybUV2ZW50OjpNb3VzZVByZXNzZWQsIDEsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBj
dXJyZW50VGltZSgpKTsKLSAgICBib29sIGhhbmRsZWQgPSBmcmFtZS0+ZXZlbnRIYW5kbGVyKCkt
PnNlbmRDb250ZXh0TWVudUV2ZW50KG1vdXNlRXZlbnQpOwotICAgIGlmIChoYW5kbGVkKQotICAg
ICAgICBwYWdlLT5jaHJvbWUoKS0+c2hvd0NvbnRleHRNZW51KCk7CisgICAgcGFnZS0+Y29udGV4
dE1lbnVDb250cm9sbGVyKCktPnNob3dDb250ZXh0TWVudUF0KGZyYW1lLCBtX29iamVjdC0+Y2xp
Y2tQb2ludCgpKTsKIH0KIAogLSAodm9pZClhY2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjooTlNT
dHJpbmcqKWFjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xp
ZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IDIzNTJj
Mjg3NmQyMTgxMzRkMGJlYTY0MjU0NzgxYmU4MWU2NjAwZTguLjdhY2FhNjk2YTY4Nzc4NDA5Zjdm
ZTdhNjRmMWVjOGFjYWM5YTEzYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgK
QEAgLTE1MiwxMCArMTUyLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxQb3B1
cE1lbnU+IGNyZWF0ZVBvcHVwTWVudShQb3B1cE1lbnVDbGllbnQqKSBjb25zdCB7IHJldHVybiBh
ZG9wdFJlZihuZXcgRW1wdHlQb3B1cE1lbnUoKSk7IH0KICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
U2VhcmNoUG9wdXBNZW51PiBjcmVhdGVTZWFyY2hQb3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50Kikg
Y29uc3QgeyByZXR1cm4gYWRvcHRSZWYobmV3IEVtcHR5U2VhcmNoUG9wdXBNZW51KCkpOyB9CiAK
LSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRN
ZW51KCkgeyB9Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVS
KQogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcm
LCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSB7IH0KICNlbmRp
ZgpAQCAtNTY2LDYgKzU2MiwxMCBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZp
cnR1YWwgdm9pZCBzZWFyY2hXaXRoU3BvdGxpZ2h0KCkgeyB9CiAjZW5kaWYKKworI2lmIFVTRShB
Q0NFU1NJQklMSVRZX0NPTlRFWFRfTUVOVVMpCisgICAgdmlydHVhbCB2b2lkIHNob3dDb250ZXh0
TWVudSgpIHsgfQorI2VuZGlmCiB9OwogI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZS5jcHAKaW5kZXggNWUwMTIyZGRkZGM5ZmJhNjRhMGE5NjBmM2RmOWFk
OTBjNzAzM2VmYy4uYWRlMjYyZDdjM2M0MmFiZDU0ZmNiZTUwZDVmOGU2M2MzNDlmMWMzZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtNTU1LDEzICs1NTUsNiBAQCBQYXNzUmVmUHRyPFNlYXJj
aFBvcHVwTWVudT4gQ2hyb21lOjpjcmVhdGVTZWFyY2hQb3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50
KiBjbGllbgogICAgIHJldHVybiBtX2NsaWVudC0+Y3JlYXRlU2VhcmNoUG9wdXBNZW51KGNsaWVu
dCk7CiB9CiAKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLXZvaWQgQ2hyb21lOjpzaG93Q29u
dGV4dE1lbnUoKQotewotICAgIG1fY2xpZW50LT5zaG93Q29udGV4dE1lbnUoKTsKLX0KLSNlbmRp
ZgotCiBib29sIENocm9tZTo6cmVxdWlyZXNGdWxsc2NyZWVuRm9yVmlkZW9QbGF5YmFjaygpCiB7
CiAgICAgcmV0dXJuIG1fY2xpZW50LT5yZXF1aXJlc0Z1bGxzY3JlZW5Gb3JWaWRlb1BsYXliYWNr
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWUuaAppbmRleCBjNjcwNGM5N2E0NGRmNjI5YjUyOGZmYWFkZmFiZTIy
MWExYTEzYzczLi44NDFlYjUwYzA3YzBjODllZmU5MjIwYmY1YTdlZDdjZGM5NjBlYjQ4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lLmgKQEAgLTE3MywxMCArMTczLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBQYXNzUmVmUHRyPFBvcHVwTWVudT4gY3JlYXRlUG9wdXBNZW51KFBvcHVwTWVudUNs
aWVudCopIGNvbnN0OwogICAgICAgICBQYXNzUmVmUHRyPFNlYXJjaFBvcHVwTWVudT4gY3JlYXRl
U2VhcmNoUG9wdXBNZW51KFBvcHVwTWVudUNsaWVudCopIGNvbnN0OwogCi0jaWYgRU5BQkxFKENP
TlRFWFRfTUVOVVMpCi0gICAgICAgIHZvaWQgc2hvd0NvbnRleHRNZW51KCk7Ci0jZW5kaWYKLQog
ICAgIHByaXZhdGU6CiAgICAgICAgIENocm9tZShQYWdlKiwgQ2hyb21lQ2xpZW50Kik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDMzYjFjNGI4NzE0OTA4M2JjNjhlYTc5Yjc5
ZmYxNDJlY2RkNTllNDMuLmYxNGQzZDllNTBmZmNjYTI3ZDJlOGE3MTZiZDRlZWIxZjJhMzA1MGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMzA3LDEwICszMDcsNiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxQb3B1cE1lbnU+IGNy
ZWF0ZVBvcHVwTWVudShQb3B1cE1lbnVDbGllbnQqKSBjb25zdCA9IDA7CiAgICAgICAgIHZpcnR1
YWwgUGFzc1JlZlB0cjxTZWFyY2hQb3B1cE1lbnU+IGNyZWF0ZVNlYXJjaFBvcHVwTWVudShQb3B1
cE1lbnVDbGllbnQqKSBjb25zdCA9IDA7CiAKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAg
ICAgICAgdmlydHVhbCB2b2lkIHNob3dDb250ZXh0TWVudSgpID0gMDsKLSNlbmRpZgotCiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihBY2Nlc3NpYmls
aXR5T2JqZWN0KiwgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb24pIHsgfQogICAgICAgICAK
ICAgICAgICAgdmlydHVhbCB2b2lkIG5vdGlmeVNjcm9sbGVyVGh1bWJJc1Zpc2libGVJblJlY3Qo
Y29uc3QgSW50UmVjdCYpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250
ZXh0TWVudUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNsaWVudC5o
CmluZGV4IGM5Mzg5YzA1ODgxYWM4MTIxMmVmZjgyM2EwMWEwZjA2NTQ1NjNkYWIuLjMxMDM0OWJi
MmNiNWRkMDQ2ZGM3MWJmOTAzZDIyMzU2ODgxODFkOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ29udGV4dE1lbnVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnRleHRNZW51Q2xpZW50LmgKQEAgLTYwLDYgKzYwLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICNpZiBQTEFURk9STShNQUMpCiAgICAgICAgIHZpcnR1YWwgdm9pZCBzZWFyY2hXaXRoU3BvdGxp
Z2h0KCkgPSAwOwogI2VuZGlmCisKKyNpZiBVU0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVT
KQorICAgICAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51KCkgPSAwOworI2VuZGlmCiAg
ICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIu
Y3BwCmluZGV4IDk4YjI5ODE3ZmM1MWMwYThjMjczY2ViYTQ2YjBmNmFmMjY1YTJmMjMuLmM1MTU2
NzUzYmFiMjg3NjJiNWE4MGE2YzVhOGI0YzQ4ZjU4NWY0YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKQEAgLTU4LDYgKzU4LDcgQEAKICNpbmNs
dWRlICJOYXZpZ2F0aW9uQWN0aW9uLmgiCiAjaW5jbHVkZSAiTm9kZS5oIgogI2luY2x1ZGUgIlBh
Z2UuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUV2ZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIu
aCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJSZXBsYWNlU2VsZWN0aW9u
Q29tbWFuZC5oIgpAQCAtMTI3MCw2ICsxMjcxLDE3IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9s
bGVyOjpjaGVja09yRW5hYmxlSWZOZWVkZWQoQ29udGV4dE1lbnVJdGVtJiBpdGVtKSBjb25zdAog
ICAgIGl0ZW0uc2V0RW5hYmxlZChzaG91bGRFbmFibGUpOwogfQogCisjaWYgVVNFKEFDQ0VTU0lC
SUxJVFlfQ09OVEVYVF9NRU5VUykKK3ZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpzaG93Q29u
dGV4dE1lbnVBdChGcmFtZSogZnJhbWUsIGNvbnN0IEludFBvaW50JiBjbGlja1BvaW50KQorewor
ICAgIC8vIFNpbXVsYXRlIGEgY2xpY2sgaW4gdGhlIG1pZGRsZSBvZiB0aGUgYWNjZXNzaWJpbGl0
eSBvYmplY3QuCisgICAgUGxhdGZvcm1Nb3VzZUV2ZW50IG1vdXNlRXZlbnQoY2xpY2tQb2ludCwg
Y2xpY2tQb2ludCwgUmlnaHRCdXR0b24sIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlUHJlc3NlZCwgMSwg
ZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGN1cnJlbnRUaW1lKCkpOworICAgIGJvb2wgaGFu
ZGxlZCA9IGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+c2VuZENvbnRleHRNZW51RXZlbnQobW91c2VF
dmVudCk7CisgICAgaWYgKGhhbmRsZWQgJiYgY2xpZW50KCkpCisgICAgICAgIGNsaWVudCgpLT5z
aG93Q29udGV4dE1lbnUoKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5oCmluZGV4IDM1ODhmMDM3MTgyOTRlMTE1YmUwZWEzNDJiY2I5
ZDY4OWEzMWY4ODguLmZkYWU5NDZkMTg4NGNjOGExZWE3MGIyZGIzNWY0MGJhOGIzMzJjYzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaApAQCAtNjUsNiAr
NjUsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldEhpdFRlc3RSZXN1
bHQoY29uc3QgSGl0VGVzdFJlc3VsdCYgcmVzdWx0KSB7IG1faGl0VGVzdFJlc3VsdCA9IHJlc3Vs
dDsgfQogICAgICAgICBjb25zdCBIaXRUZXN0UmVzdWx0JiBoaXRUZXN0UmVzdWx0KCkgeyByZXR1
cm4gbV9oaXRUZXN0UmVzdWx0OyB9CiAKKyNpZiBVU0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01F
TlVTKQorICAgICAgICB2b2lkIHNob3dDb250ZXh0TWVudUF0KEZyYW1lKiwgY29uc3QgSW50UG9p
bnQmIGNsaWNrUG9pbnQpOworI2VuZGlmCisKICAgICBwcml2YXRlOgogICAgICAgICBDb250ZXh0
TWVudUNvbnRyb2xsZXIoUGFnZSosIENvbnRleHRNZW51Q2xpZW50Kik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFj
a0JlcnJ5LmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50QmxhY2tCZXJyeS5oCmluZGV4IDk5YzhiNjA2MmE0M2UxMTQ3ZWRjNDE2OTY1ZWYzNWY4
OTI3NjE2YzIuLjNlNmRiNDdhOTMwM2NlYzlkM2ZmNmE1ZWQ3YmQ4MTZiZTg0NDNiNDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRCbGFja0JlcnJ5LmgKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuaApAQCAtMTM5LDcgKzEzOSw2IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0SXRlbUFsaWdubWVudEZvbGxvd3NNZW51V3JpdGluZ0Rp
cmVjdGlvbigpOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxQb3B1cE1lbnU+IGNyZWF0ZVBvcHVw
TWVudShQb3B1cE1lbnVDbGllbnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2Vh
cmNoUG9wdXBNZW51PiBjcmVhdGVTZWFyY2hQb3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50KikgY29u
c3Q7Ci0gICAgdmlydHVhbCB2b2lkIHNob3dDb250ZXh0TWVudSgpIHsgfQogCiAjaWYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hSb290R3JhcGhp
Y3NMYXllcihGcmFtZSosIEdyYXBoaWNzTGF5ZXIqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAppbmRleCAyM2UwMmZmM2Q5OTUwNGZjMjk5ODJmMzcx
MTYzNTZhMTAwNTQ5NzZjLi4wM2E3ODgwMDkxMzMxOWNiMmYxNGNhYjU5ZWE2NzU3OGIzNmRlNDg1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBs
LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCkBA
IC0xOTYsMTAgKzE5Niw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29y
ZTo6UG9wdXBNZW51PiBjcmVhdGVQb3B1cE1lbnUoV2ViQ29yZTo6UG9wdXBNZW51Q2xpZW50Kikg
Y29uc3Q7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVudT4g
Y3JlYXRlU2VhcmNoUG9wdXBNZW51KFdlYkNvcmU6OlBvcHVwTWVudUNsaWVudCopIGNvbnN0Owog
Ci0jaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0gICAgdmlydHVhbCB2b2lkIHNob3dDb250ZXh0
TWVudSgpIHsgfQotI2VuZGlmCi0KICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnVuTW9kYWxEaWFs
b2dEdXJpbmdQYWdlRGlzbWlzc2FsKGNvbnN0IERpYWxvZ1R5cGUmLCBjb25zdCBTdHJpbmcmIGRp
YWxvZ01lc3NhZ2UsIFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpQYWdlRGlzbWlzc2FsVHlwZSkgY29u
c3Q7CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNv
cmU6OlNjcm9sbERpcmVjdGlvbikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCmluZGV4IDgyNTEyMjUxZjZhNDQwZWE1OTMz
MDEzZTExOGRmM2MwMDI0Yzc5ZjMuLjc3ZGI5ODI4MWJmMTZlZjE0YjdkM2UzZjM2NzAzZGFkN2Q0
MmQwZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEVmbC5oCkBAIC0xMjEsMTAgKzEyMSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgcmVhY2hlZE1heEFwcENhY2hlU2l6ZShpbnQ2NF90IHNwYWNlTmVlZGVkKTsKICAgICB2aXJ0
dWFsIHZvaWQgcmVhY2hlZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YShTZWN1cml0eU9yaWdp
biosIGludDY0X3QgdG90YWxTcGFjZU5lZWRlZCk7CiAKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5V
UykKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51KCkgeyB9Ci0jZW5kaWYKLQogI2lm
IEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgdmlydHVhbCB2b2lkIG5lZWRUb3VjaEV2ZW50cyhi
b29sKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50R3RrLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRHdGsuaAppbmRleCA1OTA1ZjU2Nzk1OTMxNmI5MTU2NDhlMzhkMTY1YzI5NGNl
ZGQ5NzA2Li5kY2VhMmYwYzQyMzkwZDYxODM2NTFhZjI5MzZmNWU4Njk3ZDgxZDQ2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaApA
QCAtMTI1LDkgKzEyNSw2IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogI2VuZGlmCiAgICAgICAgIHZp
cnR1YWwgdm9pZCByZWFjaGVkTWF4QXBwQ2FjaGVTaXplKGludDY0X3Qgc3BhY2VOZWVkZWQpOwog
ICAgICAgICB2aXJ0dWFsIHZvaWQgcmVhY2hlZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YShT
ZWN1cml0eU9yaWdpbiosIGludDY0X3QgdG90YWxTcGFjZU5lZWRlZCk7Ci0jaWYgRU5BQkxFKENP
TlRFWFRfTUVOVVMpCi0gICAgICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGV4dE1lbnUoKSB7IH0K
LSNlbmRpZgogICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1Jl
ZlB0cjxGaWxlQ2hvb3Nlcj4pOwogICAgICAgICB2aXJ0dWFsIHZvaWQgbG9hZEljb25Gb3JGaWxl
cyhjb25zdCBWZWN0b3I8V1RGOjpTdHJpbmc+JiwgRmlsZUljb25Mb2FkZXIqKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRl
eCA2NmZhMDYwYjVhNTNkYmMyZjM4ZWVhNmY1NDUyZDc2ZGE2YmIxZjkyLi40NmQxMjAxZDU5NWFk
ZTExN2FjMDJkNzBkZWY3OTA4ZjEwZDM0Yjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTg0LDEwICsxODQsNiBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNvcmU6OlBvcHVwTWVudT4gY3JlYXRl
UG9wdXBNZW51KFdlYkNvcmU6OlBvcHVwTWVudUNsaWVudCopIGNvbnN0IE9WRVJSSURFOwogICAg
IHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpTZWFyY2hQb3B1cE1lbnU+IGNyZWF0ZVNlYXJj
aFBvcHVwTWVudShXZWJDb3JlOjpQb3B1cE1lbnVDbGllbnQqKSBjb25zdCBPVkVSUklERTsKIAot
I2lmIEVOQUJMRShDT05URVhUX01FTlVTKQotICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGV4dE1l
bnUoKSBPVkVSUklERTsKLSNlbmRpZgotICAgIAogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2
ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSBPVkVSUklERSB7IH0KICAgICB2aXJ0dWFsIHZv
aWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgT1ZFUlJJREUgeyB9CiAg
ICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihXZWJDb3JlOjpTY3Jv
bGxEaXJlY3Rpb24pIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0gYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXgg
M2JhYzg3YjljNjhjMTFkOTlhYjg5MzAwMDJkNDUzNmNmZThjMDczYi4uODNmODQ1OTg5YjI3NjA5
NjBjMmI3YjJmNjI5ZjRhNDYyZDhjZDJhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQpAQCAtODU3LDM1ICs4NTcsNiBAQCBQ
YXNzUmVmUHRyPFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVudT4gV2ViQ2hyb21lQ2xpZW50OjpjcmVh
dGVTZWFyY2hQb3B1cE1lbnUoV2ViQwogICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2VhcmNoUG9w
dXBNZW51TWFjKGNsaWVudCkpOwogfQogCi0jaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi12b2lk
IFdlYkNocm9tZUNsaWVudDo6c2hvd0NvbnRleHRNZW51KCkKLXsKLSAgICBQYWdlKiBwYWdlID0g
W21fd2ViVmlldyBwYWdlXTsKLSAgICBpZiAoIXBhZ2UpCi0gICAgICAgIHJldHVybjsKLQotICAg
IENvbnRleHRNZW51Q29udHJvbGxlciogY29udHJvbGxlciA9IHBhZ2UtPmNvbnRleHRNZW51Q29u
dHJvbGxlcigpOwotICAgIE5vZGUqIG5vZGUgPSBjb250cm9sbGVyLT5oaXRUZXN0UmVzdWx0KCku
aW5uZXJOb25TaGFyZWROb2RlKCk7Ci0gICAgaWYgKCFub2RlKQotICAgICAgICByZXR1cm47Ci0g
ICAgRnJhbWUqIGZyYW1lID0gbm9kZS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKTsKLSAgICBpZiAoIWZy
YW1lKQotICAgICAgICByZXR1cm47Ci0gICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBmcmFtZS0+
dmlldygpOwotICAgIGlmICghZnJhbWVWaWV3KQotICAgICAgICByZXR1cm47Ci0gICAgTlNWaWV3
KiB2aWV3ID0gZnJhbWVWaWV3LT5kb2N1bWVudFZpZXcoKTsKLSAgICAKLSAgICBJbnRQb2ludCBw
b2ludCA9IGZyYW1lVmlldy0+Y29udGVudHNUb1dpbmRvdyhjb250cm9sbGVyLT5oaXRUZXN0UmVz
dWx0KCkucG9pbnQoKSk7Ci0gICAgTlNQb2ludCBuc1NjcmVlblBvaW50ID0gW3ZpZXcgY29udmVy
dFBvaW50OnBvaW50IHRvVmlldzpuaWxdOwotICAgIC8vIFNob3cgdGhlIGNvbnRleHR1YWwgbWVu
dSBmb3IgdGhpcyBldmVudC4KLSAgICBOU0V2ZW50KiBldmVudCA9IFtOU0V2ZW50IG1vdXNlRXZl
bnRXaXRoVHlwZTpOU1JpZ2h0TW91c2VEb3duIGxvY2F0aW9uOm5zU2NyZWVuUG9pbnQgbW9kaWZp
ZXJGbGFnczowIHRpbWVzdGFtcDowIHdpbmRvd051bWJlcjpbW3ZpZXcgd2luZG93XSB3aW5kb3dO
dW1iZXJdIGNvbnRleHQ6MCBldmVudE51bWJlcjowIGNsaWNrQ291bnQ6MSBwcmVzc3VyZToxXTsK
LSAgICBOU01lbnUqIG5zTWVudSA9IFt2aWV3IG1lbnVGb3JFdmVudDpldmVudF07Ci0gICAgaWYg
KG5zTWVudSkKLSAgICAgICAgW05TTWVudSBwb3BVcENvbnRleHRNZW51Om5zTWVudSB3aXRoRXZl
bnQ6ZXZlbnQgZm9yVmlldzp2aWV3XTsgICAgCi19Ci0jZW5kaWYKLQogI2lmIFVTRShBQ0NFTEVS
QVRFRF9DT01QT1NJVElORykKIAogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmF0dGFjaFJvb3RHcmFw
aGljc0xheWVyKEZyYW1lKiBmcmFtZSwgR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51
Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVu
dUNsaWVudC5oCmluZGV4IDIxYjBkMGYyNWEwZmZlNDc0NzBlOTczYzhlZGM0ODkzNDZhZjQxZjMu
LmU1MzZmM2MyNGJlODdmNzZjMmJhOTM4Y2M3OTA2OTQ4YmQ4MWYyZGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQu
aApAQCAtNDYsNiArNDYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNwZWFrKGNvbnN0
IFdURjo6U3RyaW5nJikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHN0b3BTcGVha2luZygp
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzZWFyY2hXaXRoU3BvdGxpZ2h0KCkgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCB2b2lkIHNob3dDb250ZXh0TWVudSgpIE9WRVJSSURFOwogCiAgICAg
V2ViVmlldyAqd2ViVmlldygpIHsgcmV0dXJuIG1fd2ViVmlldzsgfQogICAgICAgICAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xp
ZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVD
bGllbnQubW0KaW5kZXggMDhjMGQ2MDg3ODc3ZTg0N2E3OTQ1YThiNDMzYjVkY2M2MDY3ODU4ZC4u
ZTIwZGE0NDBhZjEwMmI4ZDFmYzVkOWM5NTZlM2RlOTRmOTBkODVlYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQubW0KKysr
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQu
bW0KQEAgLTQyLDkgKzQyLDEyIEBACiAjaW1wb3J0ICJXZWJWaWV3SW50ZXJuYWwuaCIKICNpbXBv
cnQgPFdlYkNvcmUvQ29udGV4dE1lbnUuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29udGV4dE1lbnVD
b250cm9sbGVyLmg+CisjaW1wb3J0IDxXZWJDb3JlL0RvY3VtZW50Lmg+CiAjaW1wb3J0IDxXZWJD
b3JlL0tVUkwuaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgogI2ltcG9y
dCA8V2ViQ29yZS9QYWdlLmg+CisjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lLmg+CisjaW1wb3J0IDxX
ZWJDb3JlL0ZyYW1lVmlldy5oPgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25D
aGVja3MuaD4KICNpbXBvcnQgPFdlYktpdC9ET01Qcml2YXRlLmg+CiAKQEAgLTM0NiwzICszNDks
MjkgQEAgdm9pZCBXZWJDb250ZXh0TWVudUNsaWVudDo6c3RvcFNwZWFraW5nKCkKIHsKICAgICBb
TlNBcHAgc3RvcFNwZWFraW5nOm5pbF07CiB9CisKK3ZvaWQgV2ViQ29udGV4dE1lbnVDbGllbnQ6
OnNob3dDb250ZXh0TWVudSgpCit7CisgICAgUGFnZSogcGFnZSA9IFttX3dlYlZpZXcgcGFnZV07
CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47CisgICAgQ29udGV4dE1lbnVDb250cm9s
bGVyKiBjb250cm9sbGVyID0gcGFnZS0+Y29udGV4dE1lbnVDb250cm9sbGVyKCk7CisgICAgTm9k
ZSogbm9kZSA9IGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKS5pbm5lck5vblNoYXJlZE5vZGUo
KTsKKyAgICBpZiAoIW5vZGUpCisgICAgICAgIHJldHVybjsKKyAgICBGcmFtZSogZnJhbWUgPSBu
b2RlLT5kb2N1bWVudCgpLT5mcmFtZSgpOworICAgIGlmICghZnJhbWUpCisgICAgICAgIHJldHVy
bjsKKyAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IGZyYW1lLT52aWV3KCk7CisgICAgaWYgKCFm
cmFtZVZpZXcpCisgICAgICAgIHJldHVybjsKKworICAgIEludFBvaW50IHBvaW50ID0gZnJhbWVW
aWV3LT5jb250ZW50c1RvV2luZG93KGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKS5wb2ludCgp
KTsKKyAgICBOU1ZpZXcqIHZpZXcgPSBmcmFtZVZpZXctPmRvY3VtZW50VmlldygpOworICAgIE5T
UG9pbnQgbnNTY3JlZW5Qb2ludCA9IFt2aWV3IGNvbnZlcnRQb2ludDpwb2ludCB0b1ZpZXc6bmls
XTsKKyAgICAvLyBTaG93IHRoZSBjb250ZXh0dWFsIG1lbnUgZm9yIHRoaXMgZXZlbnQuCisgICAg
TlNFdmVudCogZXZlbnQgPSBbTlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6TlNSaWdodE1vdXNl
RG93biBsb2NhdGlvbjpuc1NjcmVlblBvaW50IG1vZGlmaWVyRmxhZ3M6MCB0aW1lc3RhbXA6MCB3
aW5kb3dOdW1iZXI6W1t2aWV3IHdpbmRvd10gd2luZG93TnVtYmVyXSBjb250ZXh0OjAgZXZlbnRO
dW1iZXI6MCBjbGlja0NvdW50OjEgcHJlc3N1cmU6MV07CisgICAgTlNNZW51KiBuc01lbnUgPSBb
dmlldyBtZW51Rm9yRXZlbnQ6ZXZlbnRdOworICAgIGlmIChuc01lbnUpCisgICAgICAgIFtOU01l
bnUgcG9wVXBDb250ZXh0TWVudTpuc01lbnUgd2l0aEV2ZW50OmV2ZW50IGZvclZpZXc6dmlld107
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0
LmgKaW5kZXggM2Q0NWI3YjUxYTJlMzIwMDQ0ZTY0MDFmNzA4YmIyYzA4ZjM3NTVjNC4uMzg2Yjk4
NmQ0ZjE4YTRmNjU3YTdmMGY5MWM5OTkwYTBmOTNiNjkyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaApAQCAtMTM4LDkgKzEzOCw2IEBA
IHB1YmxpYzoKICNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkTWF4QXBwQ2FjaGVTaXpl
KGludDY0X3Qgc3BhY2VOZWVkZWQpOwogICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkQXBwbGljYXRp
b25DYWNoZU9yaWdpblF1b3RhKFNlY3VyaXR5T3JpZ2luKiwgaW50NjRfdCB0b3RhbFNwYWNlTmVl
ZGVkKTsKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd0Nv
bnRleHRNZW51KCkgeyB9Ci0jZW5kaWYKIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKICAgICAvLyBUaGlzIGlzIGEgaG9vayBmb3IgV2ViQ29yZSB0byB0ZWxsIHVzIHdoYXQgd2Ug
bmVlZCB0byBkbyB3aXRoIHRoZSBHcmFwaGljc0xheWVycy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggMmE5YThmZTdmM2Q0
ZjQ1M2ZlNGFiMWYwZWRjYjlkZDM5ZmFhYmM5Yi4uNTljMjQyZGQ2ZWI0YWFkOTE2NDBiN2VjMmUw
ZWU0MmJkNTY3MjE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTEyMCwxMCArMTIwLDYgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCByZWFjaGVkTWF4QXBwQ2FjaGVTaXplKGludDY0X3Qgc3BhY2VOZWVkZWQpOwog
ICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkQXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luKiwgaW50NjRfdCB0b3RhbFNwYWNlTmVlZGVkKTsKIAotI2lmIEVO
QUJMRShDT05URVhUX01FTlVTKQotICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGV4dE1lbnUoKSB7
IH0KLSNlbmRpZgotCiAgICAgdmlydHVhbCB2b2lkIHBvcHVsYXRlVmlzaXRlZExpbmtzKCk7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKFdlYkNvcmU6OkZyYW1lKiwgUGFzc1JlZlB0
cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5j
ZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oIGIvU291cmNlL1dlYktpdC93aW5j
ZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCmluZGV4IDYxMzc4M2EwMzNlNTlh
Y2E5MWQ5ODQ1MzYwMDA2NDkwNWMyMDYyMTMuLjY0ZTJiZGEzZTUxOTg3YTk1YzhjNTk1NzNmOTJl
MDU0MjVmNWQ5NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50V2luQ0UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgKQEAgLTEzMSwxMCArMTMxLDYgQEAgcHVibGljOgog
ICAgIC8vIGZvciB0aGlzIG9yaWdpbi4KICAgICB2aXJ0dWFsIHZvaWQgcmVhY2hlZEFwcGxpY2F0
aW9uQ2FjaGVPcmlnaW5RdW90YShXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiosIGludDY0X3QgdG90
YWxTcGFjZU5lZWRlZCk7CiAKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICB2aXJ0dWFs
IHZvaWQgc2hvd0NvbnRleHRNZW51KCkgeyB9Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQogICAgIHZpcnR1YWwgV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVyKiBub3Rp
ZmljYXRpb25QcmVzZW50ZXIoKSBjb25zdDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmggYi9Tb3VyY2UvV2ViS2l0L3d4
L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaAppbmRleCAyYjZjZGVmNjEyY2FmY2Q0ZjI1
MDEzNDUxNjhkYTNjZTcwNTg4NTY5Li5mOTU4NzFiYTZkZDg2OGM4NDAzOGNlYTM2ZWVlNDQxN2Rm
YzJhZTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21l
Q2xpZW50V3guaAorKysgYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xp
ZW50V3guaApAQCAtMTI2LDExICsxMjYsNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQg
cmVhY2hlZE1heEFwcENhY2hlU2l6ZShpbnQ2NF90IHNwYWNlTmVlZGVkKTsKICAgICB2aXJ0dWFs
IHZvaWQgcmVhY2hlZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YShTZWN1cml0eU9yaWdpbios
IGludDY0X3QgdG90YWxTcGFjZU5lZWRlZCk7Ci0KLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykK
LSAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51KCkgeyB9Ci0jZW5kaWYKLQogICAgIHZp
cnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPik7
CiAgICAgdmlydHVhbCB2b2lkIGxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4m
LCBGaWxlSWNvbkxvYWRlciopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggNWE0OGZm
Zjg3MWY5ZWU4ZDkyOTNjOGJkZjVmOTJlODNlMGM5NTZiOC4uMGE0NmViNzViNWQyMWRkNDFkYjIz
MWJhODRkOWU2NDdkNTc4ZmIwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtMzAsNyAr
MzAsNiBAQAogI2luY2x1ZGUgIkRyYXdpbmdBcmVhLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5k
bGVOYXZpZ2F0aW9uQWN0aW9uLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2Fn
ZUNvZGVycy5oIgotI2luY2x1ZGUgIldlYkNvbnRleHRNZW51LmgiCiAjaW5jbHVkZSAiV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRlICJXZWJG
cmFtZUxvYWRlckNsaWVudC5oIgpAQCAtNjcwLDEzICs2NjksNiBAQCBQYXNzUmVmUHRyPFdlYkNv
cmU6OlNlYXJjaFBvcHVwTWVudT4gV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVTZWFyY2hQb3B1cE1l
bnUoV2ViQwogICAgIHJldHVybiBXZWJTZWFyY2hQb3B1cE1lbnU6OmNyZWF0ZShtX3BhZ2UsIGNs
aWVudCk7CiB9CiAKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLXZvaWQgV2ViQ2hyb21lQ2xp
ZW50OjpzaG93Q29udGV4dE1lbnUoKQotewotICAgIG1fcGFnZS0+Y29udGV4dE1lbnUoKS0+c2hv
dygpOwotfQotI2VuZGlmCi0KICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiB2b2lk
IFdlYkNocm9tZUNsaWVudDo6YXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUqLCBHcmFwaGlj
c0xheWVyKiBsYXllcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDk3NjFjMTU0YTFlOTQ0
MmYyMzM2MTkxNGNjYTc1OWQ0YTkzZDQyNjEuLjk4MDdjNjhjNTE2NGFjNjgzZWI2MDEzZDg3Y2U5
ZjY0MGUxOTk0MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTc0LDEwICsxNzQsNiBAQCBw
cml2YXRlOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpQb3B1cE1lbnU+IGNyZWF0
ZVBvcHVwTWVudShXZWJDb3JlOjpQb3B1cE1lbnVDbGllbnQqKSBjb25zdCBPVkVSUklERTsKICAg
ICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6U2VhcmNoUG9wdXBNZW51PiBjcmVhdGVTZWFy
Y2hQb3B1cE1lbnUoV2ViQ29yZTo6UG9wdXBNZW51Q2xpZW50KikgY29uc3QgT1ZFUlJJREU7CiAK
LSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRN
ZW51KCkgT1ZFUlJJREU7Ci0jZW5kaWYKLQogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoV2ViQ29yZTo6RnJh
bWUqLCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lk
IHNldE5lZWRzT25lU2hvdERyYXdpbmdTeW5jaHJvbml6YXRpb24oKSBPVkVSUklERTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4
dE1lbnVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDb250ZXh0TWVudUNsaWVudC5jcHAKaW5kZXggYjJjZGJjYzMxMTViODdkNDQzNWMyOTZi
NjljMTg4NTc0NjAxOTRkNC4uMzZjMjcwYWI4ZjA2MzIyMTA4MTJjYTMwYjNjNjRkODcyOWEyYzI4
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDb250ZXh0TWVudUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5jcHAKQEAgLTg3LDQgKzg3LDExIEBA
IHZvaWQgV2ViQ29udGV4dE1lbnVDbGllbnQ6OnNlYXJjaFdpdGhHb29nbGUoY29uc3QgRnJhbWUq
IGZyYW1lKQogICAgIH0KIH0KIAorI2lmIFVTRShBQ0NFU1NJQklMSVRZX0NPTlRFWFRfTUVOVVMp
Cit2b2lkIFdlYkNvbnRleHRNZW51Q2xpZW50OjpzaG93Q29udGV4dE1lbnUoKQoreworICAgIG1f
cGFnZS0+Y29udGV4dE1lbnUoKS0+c2hvdygpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5oCmluZGV4IGI0MzcyNDVjMDlmYjZj
YmQzNjViOGE4MjhhNjZjNzhjNzZkZTA2YzguLjg2YjBhNDg5ODkwZmY5NTE5ZDM5NGYyMGUwZTJh
MDkxYTM4MWFkMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmgKQEAgLTU5LDcgKzU5
LDExIEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZpcnR1YWwgdm9pZCBzZWFy
Y2hXaXRoU3BvdGxpZ2h0KCkgT1ZFUlJJREU7CiAjZW5kaWYKLSAgICAKKworI2lmIFVTRShBQ0NF
U1NJQklMSVRZX0NPTlRFWFRfTUVOVVMpCisgICAgdm9pZCBzaG93Q29udGV4dE1lbnUoKSBPVkVS
UklERTsKKyNlbmRpZgorCiAgICAgV2ViUGFnZSogbV9wYWdlOwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGRhZDgxMDQ5MWI3Mjkz
YjQ2M2JkN2MyYWUyYjc0ZmE3ZjQwYTgyYjguLmY4OGU3Y2RkMDQzZjQyODFkNzliNGI4NzRiY2Vl
YzE2MmMxMWM5ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKQEAgLTEyMjAsMjUgKzEyMjAsMjUgQEAgc3RhdGljIGJvb2wgaXNDb250ZXh0Q2xp
Y2soY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCkKICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKLXN0YXRpYyBib29sIGhhbmRsZUNvbnRleHRNZW51RXZlbnQoY29uc3QgUGxhdGZvcm1Nb3Vz
ZUV2ZW50JiBwbGF0Zm9ybU1vdXNlRXZlbnQsIFBhZ2UqIHBhZ2UpCitzdGF0aWMgYm9vbCBoYW5k
bGVDb250ZXh0TWVudUV2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgcGxhdGZvcm1Nb3Vz
ZUV2ZW50LCBXZWJQYWdlKiBwYWdlKQogewotICAgIEludFBvaW50IHBvaW50ID0gcGFnZS0+bWFp
bkZyYW1lKCktPnZpZXcoKS0+d2luZG93VG9Db250ZW50cyhwbGF0Zm9ybU1vdXNlRXZlbnQucG9z
aXRpb24oKSk7Ci0gICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBwYWdlLT5tYWluRnJhbWUoKS0+
ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KHBvaW50LCBmYWxzZSk7CisgICAg
SW50UG9pbnQgcG9pbnQgPSBwYWdlLT5jb3JlUGFnZSgpLT5tYWluRnJhbWUoKS0+dmlldygpLT53
aW5kb3dUb0NvbnRlbnRzKHBsYXRmb3JtTW91c2VFdmVudC5wb3NpdGlvbigpKTsKKyAgICBIaXRU
ZXN0UmVzdWx0IHJlc3VsdCA9IHBhZ2UtPmNvcmVQYWdlKCktPm1haW5GcmFtZSgpLT5ldmVudEhh
bmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQocG9pbnQsIGZhbHNlKTsKIAotICAgIEZyYW1l
KiBmcmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpOworICAgIEZyYW1lKiBmcmFtZSA9IHBhZ2UtPmNv
cmVQYWdlKCktPm1haW5GcmFtZSgpOwogICAgIGlmIChyZXN1bHQuaW5uZXJOb25TaGFyZWROb2Rl
KCkpCiAgICAgICAgIGZyYW1lID0gcmVzdWx0LmlubmVyTm9uU2hhcmVkTm9kZSgpLT5kb2N1bWVu
dCgpLT5mcmFtZSgpOwogICAgIAogICAgIGJvb2wgaGFuZGxlZCA9IGZyYW1lLT5ldmVudEhhbmRs
ZXIoKS0+c2VuZENvbnRleHRNZW51RXZlbnQocGxhdGZvcm1Nb3VzZUV2ZW50KTsKICAgICBpZiAo
aGFuZGxlZCkKLSAgICAgICAgcGFnZS0+Y2hyb21lKCktPnNob3dDb250ZXh0TWVudSgpOworICAg
ICAgICBwYWdlLT5jb250ZXh0TWVudSgpLT5zaG93KCk7CiAKICAgICByZXR1cm4gaGFuZGxlZDsK
IH0KIAotc3RhdGljIGJvb2wgaGFuZGxlTW91c2VFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50JiBt
b3VzZUV2ZW50LCBQYWdlKiBwYWdlLCBib29sIG9ubHlVcGRhdGVTY3JvbGxiYXJzKQorc3RhdGlj
IGJvb2wgaGFuZGxlTW91c2VFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50JiBtb3VzZUV2ZW50LCBX
ZWJQYWdlKiBwYWdlLCBib29sIG9ubHlVcGRhdGVTY3JvbGxiYXJzKQogewotICAgIEZyYW1lKiBm
cmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpOworICAgIEZyYW1lKiBmcmFtZSA9IHBhZ2UtPmNvcmVQ
YWdlKCktPm1haW5GcmFtZSgpOwogICAgIGlmICghZnJhbWUtPnZpZXcoKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCkBAIC0xMjQ3LDcgKzEyNDcsNyBAQCBzdGF0aWMgYm9vbCBoYW5kbGVNb3Vz
ZUV2ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmIG1vdXNlRXZlbnQsIFBhZ2UqIHBhZ2UsIGJvb2wg
bwogICAgIHN3aXRjaCAocGxhdGZvcm1Nb3VzZUV2ZW50LnR5cGUoKSkgewogICAgICAgICBjYXNl
IFBsYXRmb3JtRXZlbnQ6Ok1vdXNlUHJlc3NlZDogewogICAgICAgICAgICAgaWYgKGlzQ29udGV4
dENsaWNrKHBsYXRmb3JtTW91c2VFdmVudCkpCi0gICAgICAgICAgICAgICAgcGFnZS0+Y29udGV4
dE1lbnVDb250cm9sbGVyKCktPmNsZWFyQ29udGV4dE1lbnUoKTsKKyAgICAgICAgICAgICAgICBw
YWdlLT5jb3JlUGFnZSgpLT5jb250ZXh0TWVudUNvbnRyb2xsZXIoKS0+Y2xlYXJDb250ZXh0TWVu
dSgpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBib29sIGhhbmRsZWQgPSBmcmFtZS0+ZXZl
bnRIYW5kbGVyKCktPmhhbmRsZU1vdXNlUHJlc3NFdmVudChwbGF0Zm9ybU1vdXNlRXZlbnQpOwog
ICAgICAgICAgICAgaWYgKGlzQ29udGV4dENsaWNrKHBsYXRmb3JtTW91c2VFdmVudCkpCkBAIC0x
MjkxLDcgKzEyOTEsNyBAQCB2b2lkIFdlYlBhZ2U6Om1vdXNlRXZlbnQoY29uc3QgV2ViTW91c2VF
dmVudCYgbW91c2VFdmVudCkKICAgICAgICAgLy8gb2YgdGhvc2UgY2FzZXMgd2hlcmUgdGhlIHBh
Z2UgaXMgbm90IGFjdGl2ZSBhbmQgdGhlIG1vdXNlIGlzIG5vdCBwcmVzc2VkLCB0aGVuIHdlIGNh
biBmaXJlIGEgbW9yZQogICAgICAgICAvLyBlZmZpY2llbnQgc2Nyb2xsYmFycy1vbmx5IHZlcnNp
b24gb2YgdGhlIGV2ZW50LgogICAgICAgICBib29sIG9ubHlVcGRhdGVTY3JvbGxiYXJzID0gISht
X3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5pc0FjdGl2ZSgpIHx8IChtb3VzZUV2ZW50LmJ1dHRv
bigpICE9IFdlYk1vdXNlRXZlbnQ6Ok5vQnV0dG9uKSk7Ci0gICAgICAgIGhhbmRsZWQgPSBoYW5k
bGVNb3VzZUV2ZW50KG1vdXNlRXZlbnQsIG1fcGFnZS5nZXQoKSwgb25seVVwZGF0ZVNjcm9sbGJh
cnMpOworICAgICAgICBoYW5kbGVkID0gaGFuZGxlTW91c2VFdmVudChtb3VzZUV2ZW50LCB0aGlz
LCBvbmx5VXBkYXRlU2Nyb2xsYmFycyk7CiAgICAgfQogCiAgICAgc2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpEaWRSZWNlaXZlRXZlbnQoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KG1vdXNlRXZl
bnQudHlwZSgpKSwgaGFuZGxlZCkpOwpAQCAtMTMxNiw3ICsxMzE2LDcgQEAgdm9pZCBXZWJQYWdl
Ojptb3VzZUV2ZW50U3luY0ZvclRlc3RpbmcoY29uc3QgV2ViTW91c2VFdmVudCYgbW91c2VFdmVu
dCwgYm9vbCYgaGEKICAgICAgICAgLy8gb2YgdGhvc2UgY2FzZXMgd2hlcmUgdGhlIHBhZ2UgaXMg
bm90IGFjdGl2ZSBhbmQgdGhlIG1vdXNlIGlzIG5vdCBwcmVzc2VkLCB0aGVuIHdlIGNhbiBmaXJl
IGEgbW9yZQogICAgICAgICAvLyBlZmZpY2llbnQgc2Nyb2xsYmFycy1vbmx5IHZlcnNpb24gb2Yg
dGhlIGV2ZW50LgogICAgICAgICBib29sIG9ubHlVcGRhdGVTY3JvbGxiYXJzID0gIShtX3BhZ2Ut
PmZvY3VzQ29udHJvbGxlcigpLT5pc0FjdGl2ZSgpIHx8IChtb3VzZUV2ZW50LmJ1dHRvbigpICE9
IFdlYk1vdXNlRXZlbnQ6Ok5vQnV0dG9uKSk7Ci0gICAgICAgIGhhbmRsZWQgPSBoYW5kbGVNb3Vz
ZUV2ZW50KG1vdXNlRXZlbnQsIG1fcGFnZS5nZXQoKSwgb25seVVwZGF0ZVNjcm9sbGJhcnMpOwor
ICAgICAgICBoYW5kbGVkID0gaGFuZGxlTW91c2VFdmVudChtb3VzZUV2ZW50LCB0aGlzLCBvbmx5
VXBkYXRlU2Nyb2xsYmFycyk7CiAgICAgfQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128691</attachid>
            <date>2012-02-24 01:59:39 -0800</date>
            <delta_ts>2012-02-26 18:13:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79427-20120224185937.patch</filename>
            <type>text/plain</type>
            <size>35884</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4NzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
ZDkyMGYzNjExMGFkOGIzMzE2MTIyY2QxNDYwNzJkOGI1MTcyOTEzLi42ZTdhNWM3MGM4MDA4YTVh
YzVhNzk4MGUxYTA2YzAyMjAwODgzMzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMi0wMi0yMyAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBNb3ZlIENocm9tZUNsaWVudDo6c2hvd0NvbnRleHRNZW51KCkgdG8g
Q29udGV4dE1lbnVDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc5NDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkZWQgQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTLgorCisgICAgICAgICog
d3RmL1BsYXRmb3JtLmg6CisKIDIwMTItMDItMjMgIEtlbmljaGkgSXNoaWJhc2hpICA8YmFzaGlA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZGluZyBXZWJTb2NrZXQgcGVyLWZyYW1lIERFRkxB
VEUgZXh0ZW5zaW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDg1NzlhNDc1ZjYxOGQ5OWMzN2E1OGY3NGQ1YzI2
NDMwM2YyMjUxYi4uYzAwYmM1NGY0NDllZTQ0ZDI2MTQxYjc4MWM3MWMwNjVlMWE0ZWU5ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTAyLTIzICBIYWppbWUgTW9ycml0YSAgPG1v
cnJpdGFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgQ2hyb21lQ2xpZW50OjpzaG93Q29u
dGV4dE1lbnUoKSB0byBDb250ZXh0TWVudUNsaWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0MjcKKworICAgICAgICAtIFJlbW92ZWQgQ2hyb21l
Q2xpZW50OjpzaG93Q29udGV4dE1lbnUoKSwgQ2hyb21lOjpzaG93Q29udGV4dE1lbnUoKQorICAg
ICAgICAtIEFkZGVkIENvbnRleHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRNZW51QXQoKSwg
Q29udGV4dE1lbnVDbGllbnQ6OnNob3dDb250ZXh0TWVudSgpCisgICAgICAgIC0gSGlkZWQgc2hv
d0NvbnRleHRNZW51KCkgYmVoaW5kIEFDQ0VTU0lCSUxJVFlfQ09OVEVYVF9NRU5VUworCisgICAg
ICAgIFRoaXMgY2hhbmdlIGxvY2FsaXplcyBjb250ZXh0IG1lbnUgcmVsdGVkIGNvZGUgYW5kIHdp
bGwgbWFrZSBpdCBlYXN5IHRvCisgICAgICAgIG1vZHVsYXJpemUgQ09OVEVYVF9NRU5VUyBjb2Rl
LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFj
dG9yaW5nLiBObyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbToK
KyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eVNo
b3dDb250ZXh0TWVudV0pOgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAg
ICAgKEVtcHR5Q29udGV4dE1lbnVDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlDb250
ZXh0TWVudUNsaWVudDo6c2hvd0NvbnRleHRNZW51KToKKyAgICAgICAgKiBwYWdlL0NvbnRleHRN
ZW51Q2xpZW50Lmg6CisgICAgICAgIChDb250ZXh0TWVudUNsaWVudCk6CisgICAgICAgICogcGFn
ZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dDb250ZXh0TWVudUF0KToKKyAg
ICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oOgorICAgICAgICAoQ29udGV4dE1l
bnVDb250cm9sbGVyKToKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgICogcGFn
ZS9DaHJvbWUuaDoKKyAgICAgICAgKENocm9tZSk6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGll
bnQuaDoKKyAgICAgICAgKENocm9tZUNsaWVudCk6CisKIDIwMTItMDItMjMgIEtlbmljaGkgSXNo
aWJhc2hpICA8YmFzaGlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZGluZyBXZWJTb2NrZXQg
cGVyLWZyYW1lIERFRkxBVEUgZXh0ZW5zaW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCBmYjM5MDUzMmM3N2RhMzkzZTg3ZWJiMGQ2YTI1ZTM5MWE2MjgyMWNjLi5jZTg5Yjc4OGQ2
N2JjMDQ3Njc4OWE4N2I0OWNiMWRmOTdmYTdhNjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0yMyAgSGFqaW1lIE1vcnJpdGEgIDxtb3Jy
aXRhQGNocm9taXVtLm9yZz4KKworICAgICAgICBNb3ZlIENocm9tZUNsaWVudDo6c2hvd0NvbnRl
eHRNZW51KCkgdG8gQ29udGV4dE1lbnVDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0Jl
cnJ5Lmg6CisgICAgICAgIChDaHJvbWVDbGllbnRCbGFja0JlcnJ5KToKKwogMjAxMi0wMi0yMyAg
TWlrZSBGZW50b24gIDxtaWZlbnRvbkByaW0uY29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBT
ZWxlY3Rpb24gaGFuZGxlciBoYXMgY29tcGlsZSBmYWlsdXJlIHdpdGggbG9ncyBlbmFibGVkLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA2NTE2NThjZDcyZTRiNzY4MzdjZDk3MzQ3ZDg3
MmU5ODNhNGE5Y2I5Li44NjM5OTBjYTVkMjBlMzNhMGZjYWUzMjg5Y2UwMGUwNDUzMTUyMGE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAyLTIzICBI
YWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgQ2hy
b21lQ2xpZW50OjpzaG93Q29udGV4dE1lbnUoKSB0byBDb250ZXh0TWVudUNsaWVudAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0MjcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9DaHJvbWVDbGll
bnRJbXBsLmg6CisgICAgICAgIChDaHJvbWVDbGllbnRJbXBsKToKKwogMjAxMi0wMi0yMyAgU2hl
cmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZC4gIFJvbGxlZCBERVBTLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IDkyYzAxZmVkNTIyYTg0OGVh
NzU1MjM2MmJjOGJjZjgzZGM2ZGNjMmIuLmI5NDRhOGIwYmMzZjNkZTliMjJlYTVlMGJkZjMzNTg1
OTExZDYwYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0yMyAg
SGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGNocm9taXVtLm9yZz4KKworICAgICAgICBNb3ZlIENo
cm9tZUNsaWVudDo6c2hvd0NvbnRleHRNZW51KCkgdG8gQ29udGV4dE1lbnVDbGllbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDI3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRFZmwuaDoKKyAgICAgICAgKENocm9tZUNsaWVudEVmbCk6CisKIDIwMTIt
MDItMjEgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3Zl
IHRoZSByZW1haW5pbmcgdXNlcyBvZiBDU1NTdHlsZURlY2xhcmF0aW9uIGluIEVkaXRvcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ndGsv
Q2hhbmdlTG9nCmluZGV4IDA2NzdhYTJkZDcxM2U1MjI3MTU0Y2Q2ZmRlMDA4Y2Q0NTJhZjA3OGQu
LjYyNWU2YWNjYzlkMjQ3YWE2ZTcwYTViMDFlYWEzMmNlMjUxYTk1Y2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0yMyAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRh
QGNocm9taXVtLm9yZz4KKworICAgICAgICBNb3ZlIENocm9tZUNsaWVudDo6c2hvd0NvbnRleHRN
ZW51KCkgdG8gQ29udGV4dE1lbnVDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc5NDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaDoKKyAg
ICAgICAgKENocm9tZUNsaWVudCk6CisKIDIwMTItMDItMjMgIENoYW5nU2VvayBPaCAgPHNoaXZh
bWlkb3dAZ21haWwuY29tPgogCiAgICAgICAgIFtHVEtdIERSVCBkb2Vzbid0IHN1cHBvcnQgc2No
ZWR1bGVBc3luY2hyb25vdXNLZXlEb3duLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDU0OGM4ZjFhZTFi
ZjI5OTk4ZDFlMWVmZDdlODExMTkxYzRkM2NmNDguLjlkZDI1MjQ4MTJjMWQ5NjgxYzYyNGRlMmVk
YTZmZmRmZGM2ZGZmNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0w
Mi0yMyAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGNocm9taXVtLm9yZz4KKworICAgICAgICBN
b3ZlIENocm9tZUNsaWVudDo6c2hvd0NvbnRleHRNZW51KCkgdG8gQ29udGV4dE1lbnVDbGllbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDI3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5oOgorICAgICAgICAoV2ViQ29udGV4dE1lbnVD
bGllbnQpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50Lm1t
OgorICAgICAgICAoV2ViQ29udGV4dE1lbnVDbGllbnQ6OnNob3dDb250ZXh0TWVudSk6IE1vdmVk
IGZyb20gV2ViQ2hyb21lQ2xpZW50CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tOgor
CiAyMDEyLTAyLTIzICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZW5hbWUgW3NldFN8c111cHByZXNzSW5jcmVtZW50YWxSZW5kZXJpbmcgdG8gW3NldFN8c111cHBy
ZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZyBhbmQgbWFrZSBpdCBXZWJQcmVmZXJlbmNlcyBBUEku
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
cXQvQ2hhbmdlTG9nCmluZGV4IGZmZTljNjQzYTI3ZWFlZWE0NDNiMTAzNmJhNDExMzNlZjhjYTc1
MDMuLjVhYWNmMWRkN2RkYWJmZTY2ZWIyNWQ4ODkzMDUxNzBmNTJhOTMzYTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMjMgIEhhamltZSBNb3JyaXRhICA8bW9ycml0
YUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTW92ZSBDaHJvbWVDbGllbnQ6OnNob3dDb250ZXh0
TWVudSgpIHRvIENvbnRleHRNZW51Q2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03OTQyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaDoKKyAg
ICAgICAgKENocm9tZUNsaWVudFF0KToKKwogMjAxMi0wMi0yMyAgU2ltb24gSGF1c21hbm4gIDxz
aW1vbi5oYXVzbWFubkBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBBZGQgc3VwcG9ydCBmb3Ig
dG91Y2ggY2FuY2VsbGF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggODYyYTljMzZiOGRlYzkwOTM3
ZjNkYzVkMGE3YWIwYmVlOWI1MmVkNS4uZDk4NGUxNDc5ODI2YWQ4OWYzMzMwMjU5NzkwNWE4ZDYy
ZDdjZWQ0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAyLTIzICBI
YWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgQ2hy
b21lQ2xpZW50OjpzaG93Q29udGV4dE1lbnUoKSB0byBDb250ZXh0TWVudUNsaWVudAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0MjcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50KToKKwogMjAxMi0w
Mi0yMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUg
dGhlIHJlbWFpbmluZyB1c2VzIG9mIENTU1N0eWxlRGVjbGFyYXRpb24gaW4gRWRpdG9yCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2lu
Y2UvQ2hhbmdlTG9nCmluZGV4IGRjZGEwNjlhYjhiYTJmOGEzYTJkOTczZGNiZjExOGQyZWQ1YWZl
NjguLjhkZDI1M2Q1N2YzN2JlMjhkZjgwMGE4Zjk5YWI5NGFlNjMxN2FjNjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2Uv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMjMgIEhhamltZSBNb3JyaXRhICA8
bW9ycml0YUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTW92ZSBDaHJvbWVDbGllbnQ6OnNob3dD
b250ZXh0TWVudSgpIHRvIENvbnRleHRNZW51Q2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2lu
Q0UuaDoKKyAgICAgICAgKENocm9tZUNsaWVudFdpbkNFKToKKwogMjAxMi0wMi0yMyAgUGF0cmlj
ayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIFdp
bkNFIGJ1aWxkIGZpeCBhZnRlciByMTA4NDYyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93
eC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZwppbmRleCAxMTYwZWVkMzM4
YzFhNzUzMDY5ZDU4NmNjZWZkN2RhNDEyNmIwZGFjLi44ZWJiN2Q2ZjZjNGFmNjQzNDQ5OWU0NTUx
MDVjMmNiMzM1NDZiNjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAy
LTIzICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1v
dmUgQ2hyb21lQ2xpZW50OjpzaG93Q29udGV4dE1lbnUoKSB0byBDb250ZXh0TWVudUNsaWVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0MjcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFN1
cHBvcnQvQ2hyb21lQ2xpZW50V3guaDoKKyAgICAgICAgKENocm9tZUNsaWVudFd4KToKKwogMjAx
Mi0wMi0yMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1v
dmUgdGhlIHJlbWFpbmluZyB1c2VzIG9mIENTU1N0eWxlRGVjbGFyYXRpb24gaW4gRWRpdG9yCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKaW5kZXggMjZlZmI0MDBlOWYxODViOGRjMzAyNDhjNjhiN2Q0N2M0NGZmYTk3ZS4uZDAx
NDM3ZDg1ZTI3MDQxZDZmMzI3NzYxNzA1N2E2Mjg1MmE5MjY2NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI0IEBACisyMDEyLTAyLTIzICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIE1vdmUgQ2hyb21lQ2xpZW50OjpzaG93Q29udGV4dE1lbnUoKSB0byBD
b250ZXh0TWVudUNsaWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Nzk0MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgor
ICAgICAgICAoV2ViQ2hyb21lQ2xpZW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51Q2xpZW50OjpzaG93Q29udGV4dE1lbnUpOiBNb3Zl
ZCBmcm9tIFdlYkNocm9tZUNsaWVudAorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvbnRleHRNZW51Q2xpZW50
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OmhhbmRsZUNvbnRleHRNZW51RXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpoYW5kbGVN
b3VzZUV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6bW91c2VFdmVudCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6Om1vdXNlRXZlbnRTeW5jRm9yVGVzdGluZyk6CisKIDIwMTIt
MDItMjMgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSBb
c2V0U3xzXXVwcHJlc3NJbmNyZW1lbnRhbFJlbmRlcmluZyB0byBbc2V0U3xzXXVwcHJlc3Nlc0lu
Y3JlbWVudGFsUmVuZGVyaW5nIGFuZCBtYWtlIGl0IFdlYlByZWZlcmVuY2VzIEFQSS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRleCBkYzg0NGI2ZGE2ZDU2OTZmNGFhZTc5MzQy
ZDU5ZWRjZGM5OTkyYWVmLi44Yzg2Njc1MTU0NWY5MWQzNTdmOWY5MWE2ZDBmYzNjNDNiYjgxY2Yy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC0xMDk4LDYgKzEwOTgsMTAg
QEAKICNkZWZpbmUgV1RGX1VTRV9DUk9TU19QTEFURk9STV9DT05URVhUX01FTlVTIDEKICNlbmRp
ZgogCisjaWYgUExBVEZPUk0oTUFDKSAmJiBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjZGVmaW5lIFdU
Rl9VU0VfQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTIDEKKyNlbmRpZgorCiAvKiBHZW9sb2Nh
dGlvbiByZXF1ZXN0IHBvbGljeS4gcHJlLWVtcHRpdmUgcG9saWN5IGlzIHRvIGFjcXVpcmUgdXNl
ciBwZXJtaXNzaW9uIGJlZm9yZSBhY3F1aXJpbmcgbG9jYXRpb24uCiAgICBDbGllbnQgYmFzZWQg
aW1wbGVtZW50YXRpb25zIHdpbGwgaGF2ZSBvcHRpb24gdG8gY2hvb3NlIGJldHdlZW4gcHJlLWVt
cHRpdmUgYW5kIG5vbnByZS1lbXB0aXZlIHBlcm1pc3Npb24gcG9saWN5LgogICAgcHJlLWVtcHRp
dmUgcGVybWlzc2lvbiBwb2xpY3kgaXMgZW5hYmxlZCBieSBkZWZhdWx0IGZvciBhbGwgY2xpZW50
LWJhc2VkIGltcGxlbWVudGF0aW9ucy4gKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggZTgxMmZm
ZmY2NWE5NDMxNTQ2MWIwOThjYzQxYmRkYzkxZWM4MTU2ZS4uNDFlYWRlNTFlMzEwMGE1ZGQwZWZh
NDcwMDQzYzIwNWYwODU1NmFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE2NjMsNyArMTY2
Myw2IEBAIF9fWk5LN1dlYkNvcmUyMUNvbnRleHRNZW51Q29udHJvbGxlcjIxY2hlY2tPckVuYWJs
ZUlmTmVlZGVkRVJOU18xNUNvbnRleHRNZW51SXRlCiBfX1pON1dlYkNvcmUyMUNvbnRleHRNZW51
Q29udHJvbGxlcjIzY29udGV4dE1lbnVJdGVtU2VsZWN0ZWRFUE5TXzE1Q29udGV4dE1lbnVJdGVt
RQogX19aTjdXZWJDb3JlMjFjb250ZXh0TWVudUl0ZW1WZWN0b3JFUDE0TlNNdXRhYmxlQXJyYXkK
IF9fWk43V2ViQ29yZTIzcGxhdGZvcm1NZW51RGVzY3JpcHRpb25FUk4zV1RGNlZlY3RvcklOU18x
NUNvbnRleHRNZW51SXRlbUVMbTBFRUUKLV9fWk43V2ViQ29yZTZDaHJvbWUxNXNob3dDb250ZXh0
TWVudUV2CiBfX1pOSzdXZWJDb3JlMTFDb250ZXh0TWVudTE5cGxhdGZvcm1EZXNjcmlwdGlvbkV2
CiBfX1pOSzdXZWJDb3JlMTVDb250ZXh0TWVudUl0ZW0xNXBsYXRmb3JtU3ViTWVudUV2CiBfX1pO
SzdXZWJDb3JlMTVDb250ZXh0TWVudUl0ZW00dHlwZUV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbSBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyLm1tCmluZGV4IDZiYzRjNjNlYmU5MDRmNThkMDlkYzcyNWQ5YmEyNjkxMzQ4ODAzZjQu
LmVkZDcyMjM2Yzg3ZWViNWZmMDY3MDVlZDc1MzM3YzYyM2JjMTM5NWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyLm1tCkBAIC00NCw2ICs0NCw3IEBACiAjaW1wb3J0ICJBY2Nlc3Np
YmlsaXR5VGFibGVSb3cuaCIKICNpbXBvcnQgIkNocm9tZS5oIgogI2ltcG9ydCAiQ29sb3JNYWMu
aCIKKyNpbXBvcnQgIkNvbnRleHRNZW51Q29udHJvbGxlci5oIgogI2ltcG9ydCAiRnJhbWUuaCIK
ICNpbXBvcnQgIkZyYW1lTG9hZGVyQ2xpZW50LmgiCiAjaW1wb3J0ICJGcmFtZVNlbGVjdGlvbi5o
IgpAQCAtMjYxNCwxNCArMjYxNSw3IEBAIHN0YXRpYyBOU1N0cmluZyogcm9sZVZhbHVlVG9OU1N0
cmluZyhBY2Nlc3NpYmlsaXR5Um9sZSB2YWx1ZSkKICAgICBQYWdlKiBwYWdlID0gZnJhbWUtPnBh
Z2UoKTsKICAgICBpZiAoIXBhZ2UpCiAgICAgICAgIHJldHVybjsKLQotICAgIC8vIFNpbXVsYXRl
IGEgY2xpY2sgaW4gdGhlIG1pZGRsZSBvZiB0aGUgb2JqZWN0LgotICAgIEludFBvaW50IGNsaWNr
UG9pbnQgPSBtX29iamVjdC0+Y2xpY2tQb2ludCgpOwotICAgIAotICAgIFBsYXRmb3JtTW91c2VF
dmVudCBtb3VzZUV2ZW50KGNsaWNrUG9pbnQsIGNsaWNrUG9pbnQsIFJpZ2h0QnV0dG9uLCBQbGF0
Zm9ybUV2ZW50OjpNb3VzZVByZXNzZWQsIDEsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBj
dXJyZW50VGltZSgpKTsKLSAgICBib29sIGhhbmRsZWQgPSBmcmFtZS0+ZXZlbnRIYW5kbGVyKCkt
PnNlbmRDb250ZXh0TWVudUV2ZW50KG1vdXNlRXZlbnQpOwotICAgIGlmIChoYW5kbGVkKQotICAg
ICAgICBwYWdlLT5jaHJvbWUoKS0+c2hvd0NvbnRleHRNZW51KCk7CisgICAgcGFnZS0+Y29udGV4
dE1lbnVDb250cm9sbGVyKCktPnNob3dDb250ZXh0TWVudUF0KGZyYW1lLCBtX29iamVjdC0+Y2xp
Y2tQb2ludCgpKTsKIH0KIAogLSAodm9pZClhY2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjooTlNT
dHJpbmcqKWFjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xp
ZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IDIzNTJj
Mjg3NmQyMTgxMzRkMGJlYTY0MjU0NzgxYmU4MWU2NjAwZTguLjdhY2FhNjk2YTY4Nzc4NDA5Zjdm
ZTdhNjRmMWVjOGFjYWM5YTEzYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgK
QEAgLTE1MiwxMCArMTUyLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxQb3B1
cE1lbnU+IGNyZWF0ZVBvcHVwTWVudShQb3B1cE1lbnVDbGllbnQqKSBjb25zdCB7IHJldHVybiBh
ZG9wdFJlZihuZXcgRW1wdHlQb3B1cE1lbnUoKSk7IH0KICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
U2VhcmNoUG9wdXBNZW51PiBjcmVhdGVTZWFyY2hQb3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50Kikg
Y29uc3QgeyByZXR1cm4gYWRvcHRSZWYobmV3IEVtcHR5U2VhcmNoUG9wdXBNZW51KCkpOyB9CiAK
LSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRN
ZW51KCkgeyB9Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVS
KQogICAgIHZpcnR1YWwgdm9pZCByZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcm
LCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSB7IH0KICNlbmRp
ZgpAQCAtNTY2LDYgKzU2MiwxMCBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZp
cnR1YWwgdm9pZCBzZWFyY2hXaXRoU3BvdGxpZ2h0KCkgeyB9CiAjZW5kaWYKKworI2lmIFVTRShB
Q0NFU1NJQklMSVRZX0NPTlRFWFRfTUVOVVMpCisgICAgdmlydHVhbCB2b2lkIHNob3dDb250ZXh0
TWVudSgpIHsgfQorI2VuZGlmCiB9OwogI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZS5jcHAKaW5kZXggNWUwMTIyZGRkZGM5ZmJhNjRhMGE5NjBmM2RmOWFk
OTBjNzAzM2VmYy4uYWRlMjYyZDdjM2M0MmFiZDU0ZmNiZTUwZDVmOGU2M2MzNDlmMWMzZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtNTU1LDEzICs1NTUsNiBAQCBQYXNzUmVmUHRyPFNlYXJj
aFBvcHVwTWVudT4gQ2hyb21lOjpjcmVhdGVTZWFyY2hQb3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50
KiBjbGllbgogICAgIHJldHVybiBtX2NsaWVudC0+Y3JlYXRlU2VhcmNoUG9wdXBNZW51KGNsaWVu
dCk7CiB9CiAKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLXZvaWQgQ2hyb21lOjpzaG93Q29u
dGV4dE1lbnUoKQotewotICAgIG1fY2xpZW50LT5zaG93Q29udGV4dE1lbnUoKTsKLX0KLSNlbmRp
ZgotCiBib29sIENocm9tZTo6cmVxdWlyZXNGdWxsc2NyZWVuRm9yVmlkZW9QbGF5YmFjaygpCiB7
CiAgICAgcmV0dXJuIG1fY2xpZW50LT5yZXF1aXJlc0Z1bGxzY3JlZW5Gb3JWaWRlb1BsYXliYWNr
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWUuaAppbmRleCBjNjcwNGM5N2E0NGRmNjI5YjUyOGZmYWFkZmFiZTIy
MWExYTEzYzczLi44NDFlYjUwYzA3YzBjODllZmU5MjIwYmY1YTdlZDdjZGM5NjBlYjQ4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lLmgKQEAgLTE3MywxMCArMTczLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBQYXNzUmVmUHRyPFBvcHVwTWVudT4gY3JlYXRlUG9wdXBNZW51KFBvcHVwTWVudUNs
aWVudCopIGNvbnN0OwogICAgICAgICBQYXNzUmVmUHRyPFNlYXJjaFBvcHVwTWVudT4gY3JlYXRl
U2VhcmNoUG9wdXBNZW51KFBvcHVwTWVudUNsaWVudCopIGNvbnN0OwogCi0jaWYgRU5BQkxFKENP
TlRFWFRfTUVOVVMpCi0gICAgICAgIHZvaWQgc2hvd0NvbnRleHRNZW51KCk7Ci0jZW5kaWYKLQog
ICAgIHByaXZhdGU6CiAgICAgICAgIENocm9tZShQYWdlKiwgQ2hyb21lQ2xpZW50Kik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDMzYjFjNGI4NzE0OTA4M2JjNjhlYTc5Yjc5
ZmYxNDJlY2RkNTllNDMuLmYxNGQzZDllNTBmZmNjYTI3ZDJlOGE3MTZiZDRlZWIxZjJhMzA1MGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMzA3LDEwICszMDcsNiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxQb3B1cE1lbnU+IGNy
ZWF0ZVBvcHVwTWVudShQb3B1cE1lbnVDbGllbnQqKSBjb25zdCA9IDA7CiAgICAgICAgIHZpcnR1
YWwgUGFzc1JlZlB0cjxTZWFyY2hQb3B1cE1lbnU+IGNyZWF0ZVNlYXJjaFBvcHVwTWVudShQb3B1
cE1lbnVDbGllbnQqKSBjb25zdCA9IDA7CiAKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAg
ICAgICAgdmlydHVhbCB2b2lkIHNob3dDb250ZXh0TWVudSgpID0gMDsKLSNlbmRpZgotCiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBwb3N0QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbihBY2Nlc3NpYmls
aXR5T2JqZWN0KiwgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb24pIHsgfQogICAgICAgICAK
ICAgICAgICAgdmlydHVhbCB2b2lkIG5vdGlmeVNjcm9sbGVyVGh1bWJJc1Zpc2libGVJblJlY3Qo
Y29uc3QgSW50UmVjdCYpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250
ZXh0TWVudUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNsaWVudC5o
CmluZGV4IGM5Mzg5YzA1ODgxYWM4MTIxMmVmZjgyM2EwMWEwZjA2NTQ1NjNkYWIuLjMxMDM0OWJi
MmNiNWRkMDQ2ZGM3MWJmOTAzZDIyMzU2ODgxODFkOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ29udGV4dE1lbnVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnRleHRNZW51Q2xpZW50LmgKQEAgLTYwLDYgKzYwLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICNpZiBQTEFURk9STShNQUMpCiAgICAgICAgIHZpcnR1YWwgdm9pZCBzZWFyY2hXaXRoU3BvdGxp
Z2h0KCkgPSAwOwogI2VuZGlmCisKKyNpZiBVU0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVT
KQorICAgICAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51KCkgPSAwOworI2VuZGlmCiAg
ICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNv
bnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIu
Y3BwCmluZGV4IDk4YjI5ODE3ZmM1MWMwYThjMjczY2ViYTQ2YjBmNmFmMjY1YTJmMjMuLmM1MTU2
NzUzYmFiMjg3NjJiNWE4MGE2YzVhOGI0YzQ4ZjU4NWY0YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKQEAgLTU4LDYgKzU4LDcgQEAKICNpbmNs
dWRlICJOYXZpZ2F0aW9uQWN0aW9uLmgiCiAjaW5jbHVkZSAiTm9kZS5oIgogI2luY2x1ZGUgIlBh
Z2UuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUV2ZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIu
aCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJSZXBsYWNlU2VsZWN0aW9u
Q29tbWFuZC5oIgpAQCAtMTI3MCw2ICsxMjcxLDE3IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9s
bGVyOjpjaGVja09yRW5hYmxlSWZOZWVkZWQoQ29udGV4dE1lbnVJdGVtJiBpdGVtKSBjb25zdAog
ICAgIGl0ZW0uc2V0RW5hYmxlZChzaG91bGRFbmFibGUpOwogfQogCisjaWYgVVNFKEFDQ0VTU0lC
SUxJVFlfQ09OVEVYVF9NRU5VUykKK3ZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpzaG93Q29u
dGV4dE1lbnVBdChGcmFtZSogZnJhbWUsIGNvbnN0IEludFBvaW50JiBjbGlja1BvaW50KQorewor
ICAgIC8vIFNpbXVsYXRlIGEgY2xpY2sgaW4gdGhlIG1pZGRsZSBvZiB0aGUgYWNjZXNzaWJpbGl0
eSBvYmplY3QuCisgICAgUGxhdGZvcm1Nb3VzZUV2ZW50IG1vdXNlRXZlbnQoY2xpY2tQb2ludCwg
Y2xpY2tQb2ludCwgUmlnaHRCdXR0b24sIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlUHJlc3NlZCwgMSwg
ZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGN1cnJlbnRUaW1lKCkpOworICAgIGJvb2wgaGFu
ZGxlZCA9IGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+c2VuZENvbnRleHRNZW51RXZlbnQobW91c2VF
dmVudCk7CisgICAgaWYgKGhhbmRsZWQgJiYgY2xpZW50KCkpCisgICAgICAgIGNsaWVudCgpLT5z
aG93Q29udGV4dE1lbnUoKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5oCmluZGV4IDM1ODhmMDM3MTgyOTRlMTE1YmUwZWEzNDJiY2I5
ZDY4OWEzMWY4ODguLmZkYWU5NDZkMTg4NGNjOGExZWE3MGIyZGIzNWY0MGJhOGIzMzJjYzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaApAQCAtNjUsNiAr
NjUsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldEhpdFRlc3RSZXN1
bHQoY29uc3QgSGl0VGVzdFJlc3VsdCYgcmVzdWx0KSB7IG1faGl0VGVzdFJlc3VsdCA9IHJlc3Vs
dDsgfQogICAgICAgICBjb25zdCBIaXRUZXN0UmVzdWx0JiBoaXRUZXN0UmVzdWx0KCkgeyByZXR1
cm4gbV9oaXRUZXN0UmVzdWx0OyB9CiAKKyNpZiBVU0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01F
TlVTKQorICAgICAgICB2b2lkIHNob3dDb250ZXh0TWVudUF0KEZyYW1lKiwgY29uc3QgSW50UG9p
bnQmIGNsaWNrUG9pbnQpOworI2VuZGlmCisKICAgICBwcml2YXRlOgogICAgICAgICBDb250ZXh0
TWVudUNvbnRyb2xsZXIoUGFnZSosIENvbnRleHRNZW51Q2xpZW50Kik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFj
a0JlcnJ5LmggYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50QmxhY2tCZXJyeS5oCmluZGV4IDk5YzhiNjA2MmE0M2UxMTQ3ZWRjNDE2OTY1ZWYzNWY4
OTI3NjE2YzIuLjNlNmRiNDdhOTMwM2NlYzlkM2ZmNmE1ZWQ3YmQ4MTZiZTg0NDNiNDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRCbGFja0JlcnJ5LmgKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuaApAQCAtMTM5LDcgKzEzOSw2IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0SXRlbUFsaWdubWVudEZvbGxvd3NNZW51V3JpdGluZ0Rp
cmVjdGlvbigpOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxQb3B1cE1lbnU+IGNyZWF0ZVBvcHVw
TWVudShQb3B1cE1lbnVDbGllbnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2Vh
cmNoUG9wdXBNZW51PiBjcmVhdGVTZWFyY2hQb3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50KikgY29u
c3Q7Ci0gICAgdmlydHVhbCB2b2lkIHNob3dDb250ZXh0TWVudSgpIHsgfQogCiAjaWYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hSb290R3JhcGhp
Y3NMYXllcihGcmFtZSosIEdyYXBoaWNzTGF5ZXIqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaAppbmRleCAyM2UwMmZmM2Q5OTUwNGZjMjk5ODJmMzcx
MTYzNTZhMTAwNTQ5NzZjLi4wM2E3ODgwMDkxMzMxOWNiMmYxNGNhYjU5ZWE2NzU3OGIzNmRlNDg1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBs
LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCkBA
IC0xOTYsMTAgKzE5Niw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29y
ZTo6UG9wdXBNZW51PiBjcmVhdGVQb3B1cE1lbnUoV2ViQ29yZTo6UG9wdXBNZW51Q2xpZW50Kikg
Y29uc3Q7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVudT4g
Y3JlYXRlU2VhcmNoUG9wdXBNZW51KFdlYkNvcmU6OlBvcHVwTWVudUNsaWVudCopIGNvbnN0Owog
Ci0jaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0gICAgdmlydHVhbCB2b2lkIHNob3dDb250ZXh0
TWVudSgpIHsgfQotI2VuZGlmCi0KICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnVuTW9kYWxEaWFs
b2dEdXJpbmdQYWdlRGlzbWlzc2FsKGNvbnN0IERpYWxvZ1R5cGUmLCBjb25zdCBTdHJpbmcmIGRp
YWxvZ01lc3NhZ2UsIFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpQYWdlRGlzbWlzc2FsVHlwZSkgY29u
c3Q7CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNv
cmU6OlNjcm9sbERpcmVjdGlvbikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCmluZGV4IDgyNTEyMjUxZjZhNDQwZWE1OTMz
MDEzZTExOGRmM2MwMDI0Yzc5ZjMuLjc3ZGI5ODI4MWJmMTZlZjE0YjdkM2UzZjM2NzAzZGFkN2Q0
MmQwZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEVmbC5oCkBAIC0xMjEsMTAgKzEyMSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgcmVhY2hlZE1heEFwcENhY2hlU2l6ZShpbnQ2NF90IHNwYWNlTmVlZGVkKTsKICAgICB2aXJ0
dWFsIHZvaWQgcmVhY2hlZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YShTZWN1cml0eU9yaWdp
biosIGludDY0X3QgdG90YWxTcGFjZU5lZWRlZCk7CiAKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5V
UykKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51KCkgeyB9Ci0jZW5kaWYKLQogI2lm
IEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgdmlydHVhbCB2b2lkIG5lZWRUb3VjaEV2ZW50cyhi
b29sKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50R3RrLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRHdGsuaAppbmRleCA1OTA1ZjU2Nzk1OTMxNmI5MTU2NDhlMzhkMTY1YzI5NGNl
ZGQ5NzA2Li5kY2VhMmYwYzQyMzkwZDYxODM2NTFhZjI5MzZmNWU4Njk3ZDgxZDQ2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaApA
QCAtMTI1LDkgKzEyNSw2IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogI2VuZGlmCiAgICAgICAgIHZp
cnR1YWwgdm9pZCByZWFjaGVkTWF4QXBwQ2FjaGVTaXplKGludDY0X3Qgc3BhY2VOZWVkZWQpOwog
ICAgICAgICB2aXJ0dWFsIHZvaWQgcmVhY2hlZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YShT
ZWN1cml0eU9yaWdpbiosIGludDY0X3QgdG90YWxTcGFjZU5lZWRlZCk7Ci0jaWYgRU5BQkxFKENP
TlRFWFRfTUVOVVMpCi0gICAgICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGV4dE1lbnUoKSB7IH0K
LSNlbmRpZgogICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1Jl
ZlB0cjxGaWxlQ2hvb3Nlcj4pOwogICAgICAgICB2aXJ0dWFsIHZvaWQgbG9hZEljb25Gb3JGaWxl
cyhjb25zdCBWZWN0b3I8V1RGOjpTdHJpbmc+JiwgRmlsZUljb25Mb2FkZXIqKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRl
eCA2NmZhMDYwYjVhNTNkYmMyZjM4ZWVhNmY1NDUyZDc2ZGE2YmIxZjkyLi40NmQxMjAxZDU5NWFk
ZTExN2FjMDJkNzBkZWY3OTA4ZjEwZDM0Yjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTg0LDEwICsxODQsNiBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNvcmU6OlBvcHVwTWVudT4gY3JlYXRl
UG9wdXBNZW51KFdlYkNvcmU6OlBvcHVwTWVudUNsaWVudCopIGNvbnN0IE9WRVJSSURFOwogICAg
IHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpTZWFyY2hQb3B1cE1lbnU+IGNyZWF0ZVNlYXJj
aFBvcHVwTWVudShXZWJDb3JlOjpQb3B1cE1lbnVDbGllbnQqKSBjb25zdCBPVkVSUklERTsKIAot
I2lmIEVOQUJMRShDT05URVhUX01FTlVTKQotICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGV4dE1l
bnUoKSBPVkVSUklERTsKLSNlbmRpZgotICAgIAogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2
ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSBPVkVSUklERSB7IH0KICAgICB2aXJ0dWFsIHZv
aWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgT1ZFUlJJREUgeyB9CiAg
ICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJlckJhbmRJbkRpcmVjdGlvbihXZWJDb3JlOjpTY3Jv
bGxEaXJlY3Rpb24pIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0gYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXgg
M2JhYzg3YjljNjhjMTFkOTlhYjg5MzAwMDJkNDUzNmNmZThjMDczYi4uODNmODQ1OTg5YjI3NjA5
NjBjMmI3YjJmNjI5ZjRhNDYyZDhjZDJhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQpAQCAtODU3LDM1ICs4NTcsNiBAQCBQ
YXNzUmVmUHRyPFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVudT4gV2ViQ2hyb21lQ2xpZW50OjpjcmVh
dGVTZWFyY2hQb3B1cE1lbnUoV2ViQwogICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2VhcmNoUG9w
dXBNZW51TWFjKGNsaWVudCkpOwogfQogCi0jaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi12b2lk
IFdlYkNocm9tZUNsaWVudDo6c2hvd0NvbnRleHRNZW51KCkKLXsKLSAgICBQYWdlKiBwYWdlID0g
W21fd2ViVmlldyBwYWdlXTsKLSAgICBpZiAoIXBhZ2UpCi0gICAgICAgIHJldHVybjsKLQotICAg
IENvbnRleHRNZW51Q29udHJvbGxlciogY29udHJvbGxlciA9IHBhZ2UtPmNvbnRleHRNZW51Q29u
dHJvbGxlcigpOwotICAgIE5vZGUqIG5vZGUgPSBjb250cm9sbGVyLT5oaXRUZXN0UmVzdWx0KCku
aW5uZXJOb25TaGFyZWROb2RlKCk7Ci0gICAgaWYgKCFub2RlKQotICAgICAgICByZXR1cm47Ci0g
ICAgRnJhbWUqIGZyYW1lID0gbm9kZS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKTsKLSAgICBpZiAoIWZy
YW1lKQotICAgICAgICByZXR1cm47Ci0gICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBmcmFtZS0+
dmlldygpOwotICAgIGlmICghZnJhbWVWaWV3KQotICAgICAgICByZXR1cm47Ci0gICAgTlNWaWV3
KiB2aWV3ID0gZnJhbWVWaWV3LT5kb2N1bWVudFZpZXcoKTsKLSAgICAKLSAgICBJbnRQb2ludCBw
b2ludCA9IGZyYW1lVmlldy0+Y29udGVudHNUb1dpbmRvdyhjb250cm9sbGVyLT5oaXRUZXN0UmVz
dWx0KCkucG9pbnQoKSk7Ci0gICAgTlNQb2ludCBuc1NjcmVlblBvaW50ID0gW3ZpZXcgY29udmVy
dFBvaW50OnBvaW50IHRvVmlldzpuaWxdOwotICAgIC8vIFNob3cgdGhlIGNvbnRleHR1YWwgbWVu
dSBmb3IgdGhpcyBldmVudC4KLSAgICBOU0V2ZW50KiBldmVudCA9IFtOU0V2ZW50IG1vdXNlRXZl
bnRXaXRoVHlwZTpOU1JpZ2h0TW91c2VEb3duIGxvY2F0aW9uOm5zU2NyZWVuUG9pbnQgbW9kaWZp
ZXJGbGFnczowIHRpbWVzdGFtcDowIHdpbmRvd051bWJlcjpbW3ZpZXcgd2luZG93XSB3aW5kb3dO
dW1iZXJdIGNvbnRleHQ6MCBldmVudE51bWJlcjowIGNsaWNrQ291bnQ6MSBwcmVzc3VyZToxXTsK
LSAgICBOU01lbnUqIG5zTWVudSA9IFt2aWV3IG1lbnVGb3JFdmVudDpldmVudF07Ci0gICAgaWYg
KG5zTWVudSkKLSAgICAgICAgW05TTWVudSBwb3BVcENvbnRleHRNZW51Om5zTWVudSB3aXRoRXZl
bnQ6ZXZlbnQgZm9yVmlldzp2aWV3XTsgICAgCi19Ci0jZW5kaWYKLQogI2lmIFVTRShBQ0NFTEVS
QVRFRF9DT01QT1NJVElORykKIAogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmF0dGFjaFJvb3RHcmFw
aGljc0xheWVyKEZyYW1lKiBmcmFtZSwgR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51
Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVu
dUNsaWVudC5oCmluZGV4IDIxYjBkMGYyNWEwZmZlNDc0NzBlOTczYzhlZGM0ODkzNDZhZjQxZjMu
LmU1MzZmM2MyNGJlODdmNzZjMmJhOTM4Y2M3OTA2OTQ4YmQ4MWYyZGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQu
aApAQCAtNDYsNiArNDYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNwZWFrKGNvbnN0
IFdURjo6U3RyaW5nJikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHN0b3BTcGVha2luZygp
IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzZWFyY2hXaXRoU3BvdGxpZ2h0KCkgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCB2b2lkIHNob3dDb250ZXh0TWVudSgpIE9WRVJSSURFOwogCiAgICAg
V2ViVmlldyAqd2ViVmlldygpIHsgcmV0dXJuIG1fd2ViVmlldzsgfQogICAgICAgICAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xp
ZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVD
bGllbnQubW0KaW5kZXggMDhjMGQ2MDg3ODc3ZTg0N2E3OTQ1YThiNDMzYjVkY2M2MDY3ODU4ZC4u
ZTIwZGE0NDBhZjEwMmI4ZDFmYzVkOWM5NTZlM2RlOTRmOTBkODVlYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQubW0KKysr
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQu
bW0KQEAgLTQyLDkgKzQyLDEyIEBACiAjaW1wb3J0ICJXZWJWaWV3SW50ZXJuYWwuaCIKICNpbXBv
cnQgPFdlYkNvcmUvQ29udGV4dE1lbnUuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29udGV4dE1lbnVD
b250cm9sbGVyLmg+CisjaW1wb3J0IDxXZWJDb3JlL0RvY3VtZW50Lmg+CiAjaW1wb3J0IDxXZWJD
b3JlL0tVUkwuaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgogI2ltcG9y
dCA8V2ViQ29yZS9QYWdlLmg+CisjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lLmg+CisjaW1wb3J0IDxX
ZWJDb3JlL0ZyYW1lVmlldy5oPgogI2ltcG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25D
aGVja3MuaD4KICNpbXBvcnQgPFdlYktpdC9ET01Qcml2YXRlLmg+CiAKQEAgLTM0NiwzICszNDks
MjkgQEAgdm9pZCBXZWJDb250ZXh0TWVudUNsaWVudDo6c3RvcFNwZWFraW5nKCkKIHsKICAgICBb
TlNBcHAgc3RvcFNwZWFraW5nOm5pbF07CiB9CisKK3ZvaWQgV2ViQ29udGV4dE1lbnVDbGllbnQ6
OnNob3dDb250ZXh0TWVudSgpCit7CisgICAgUGFnZSogcGFnZSA9IFttX3dlYlZpZXcgcGFnZV07
CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47CisgICAgQ29udGV4dE1lbnVDb250cm9s
bGVyKiBjb250cm9sbGVyID0gcGFnZS0+Y29udGV4dE1lbnVDb250cm9sbGVyKCk7CisgICAgTm9k
ZSogbm9kZSA9IGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKS5pbm5lck5vblNoYXJlZE5vZGUo
KTsKKyAgICBpZiAoIW5vZGUpCisgICAgICAgIHJldHVybjsKKyAgICBGcmFtZSogZnJhbWUgPSBu
b2RlLT5kb2N1bWVudCgpLT5mcmFtZSgpOworICAgIGlmICghZnJhbWUpCisgICAgICAgIHJldHVy
bjsKKyAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IGZyYW1lLT52aWV3KCk7CisgICAgaWYgKCFm
cmFtZVZpZXcpCisgICAgICAgIHJldHVybjsKKworICAgIEludFBvaW50IHBvaW50ID0gZnJhbWVW
aWV3LT5jb250ZW50c1RvV2luZG93KGNvbnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKS5wb2ludCgp
KTsKKyAgICBOU1ZpZXcqIHZpZXcgPSBmcmFtZVZpZXctPmRvY3VtZW50VmlldygpOworICAgIE5T
UG9pbnQgbnNTY3JlZW5Qb2ludCA9IFt2aWV3IGNvbnZlcnRQb2ludDpwb2ludCB0b1ZpZXc6bmls
XTsKKyAgICAvLyBTaG93IHRoZSBjb250ZXh0dWFsIG1lbnUgZm9yIHRoaXMgZXZlbnQuCisgICAg
TlNFdmVudCogZXZlbnQgPSBbTlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6TlNSaWdodE1vdXNl
RG93biBsb2NhdGlvbjpuc1NjcmVlblBvaW50IG1vZGlmaWVyRmxhZ3M6MCB0aW1lc3RhbXA6MCB3
aW5kb3dOdW1iZXI6W1t2aWV3IHdpbmRvd10gd2luZG93TnVtYmVyXSBjb250ZXh0OjAgZXZlbnRO
dW1iZXI6MCBjbGlja0NvdW50OjEgcHJlc3N1cmU6MV07CisgICAgTlNNZW51KiBuc01lbnUgPSBb
dmlldyBtZW51Rm9yRXZlbnQ6ZXZlbnRdOworICAgIGlmIChuc01lbnUpCisgICAgICAgIFtOU01l
bnUgcG9wVXBDb250ZXh0TWVudTpuc01lbnUgd2l0aEV2ZW50OmV2ZW50IGZvclZpZXc6dmlld107
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0
LmgKaW5kZXggM2Q0NWI3YjUxYTJlMzIwMDQ0ZTY0MDFmNzA4YmIyYzA4ZjM3NTVjNC4uMzg2Yjk4
NmQ0ZjE4YTRmNjU3YTdmMGY5MWM5OTkwYTBmOTNiNjkyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaApAQCAtMTM4LDkgKzEzOCw2IEBA
IHB1YmxpYzoKICNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkTWF4QXBwQ2FjaGVTaXpl
KGludDY0X3Qgc3BhY2VOZWVkZWQpOwogICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkQXBwbGljYXRp
b25DYWNoZU9yaWdpblF1b3RhKFNlY3VyaXR5T3JpZ2luKiwgaW50NjRfdCB0b3RhbFNwYWNlTmVl
ZGVkKTsKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd0Nv
bnRleHRNZW51KCkgeyB9Ci0jZW5kaWYKIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKICAgICAvLyBUaGlzIGlzIGEgaG9vayBmb3IgV2ViQ29yZSB0byB0ZWxsIHVzIHdoYXQgd2Ug
bmVlZCB0byBkbyB3aXRoIHRoZSBHcmFwaGljc0xheWVycy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggMmE5YThmZTdmM2Q0
ZjQ1M2ZlNGFiMWYwZWRjYjlkZDM5ZmFhYmM5Yi4uNTljMjQyZGQ2ZWI0YWFkOTE2NDBiN2VjMmUw
ZWU0MmJkNTY3MjE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTEyMCwxMCArMTIwLDYgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCByZWFjaGVkTWF4QXBwQ2FjaGVTaXplKGludDY0X3Qgc3BhY2VOZWVkZWQpOwog
ICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkQXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luKiwgaW50NjRfdCB0b3RhbFNwYWNlTmVlZGVkKTsKIAotI2lmIEVO
QUJMRShDT05URVhUX01FTlVTKQotICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGV4dE1lbnUoKSB7
IH0KLSNlbmRpZgotCiAgICAgdmlydHVhbCB2b2lkIHBvcHVsYXRlVmlzaXRlZExpbmtzKCk7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKFdlYkNvcmU6OkZyYW1lKiwgUGFzc1JlZlB0
cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5j
ZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oIGIvU291cmNlL1dlYktpdC93aW5j
ZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCmluZGV4IDYxMzc4M2EwMzNlNTlh
Y2E5MWQ5ODQ1MzYwMDA2NDkwNWMyMDYyMTMuLjY0ZTJiZGEzZTUxOTg3YTk1YzhjNTk1NzNmOTJl
MDU0MjVmNWQ5NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50V2luQ0UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgKQEAgLTEzMSwxMCArMTMxLDYgQEAgcHVibGljOgog
ICAgIC8vIGZvciB0aGlzIG9yaWdpbi4KICAgICB2aXJ0dWFsIHZvaWQgcmVhY2hlZEFwcGxpY2F0
aW9uQ2FjaGVPcmlnaW5RdW90YShXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiosIGludDY0X3QgdG90
YWxTcGFjZU5lZWRlZCk7CiAKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICB2aXJ0dWFs
IHZvaWQgc2hvd0NvbnRleHRNZW51KCkgeyB9Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShOT1RJRklD
QVRJT05TKQogICAgIHZpcnR1YWwgV2ViQ29yZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVyKiBub3Rp
ZmljYXRpb25QcmVzZW50ZXIoKSBjb25zdDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmggYi9Tb3VyY2UvV2ViS2l0L3d4
L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaAppbmRleCAyYjZjZGVmNjEyY2FmY2Q0ZjI1
MDEzNDUxNjhkYTNjZTcwNTg4NTY5Li5mOTU4NzFiYTZkZDg2OGM4NDAzOGNlYTM2ZWVlNDQxN2Rm
YzJhZTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21l
Q2xpZW50V3guaAorKysgYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xp
ZW50V3guaApAQCAtMTI2LDExICsxMjYsNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQg
cmVhY2hlZE1heEFwcENhY2hlU2l6ZShpbnQ2NF90IHNwYWNlTmVlZGVkKTsKICAgICB2aXJ0dWFs
IHZvaWQgcmVhY2hlZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YShTZWN1cml0eU9yaWdpbios
IGludDY0X3QgdG90YWxTcGFjZU5lZWRlZCk7Ci0KLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykK
LSAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51KCkgeyB9Ci0jZW5kaWYKLQogICAgIHZp
cnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPik7
CiAgICAgdmlydHVhbCB2b2lkIGxvYWRJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4m
LCBGaWxlSWNvbkxvYWRlciopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggNWE0OGZm
Zjg3MWY5ZWU4ZDkyOTNjOGJkZjVmOTJlODNlMGM5NTZiOC4uMGE0NmViNzViNWQyMWRkNDFkYjIz
MWJhODRkOWU2NDdkNTc4ZmIwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtMzAsNyAr
MzAsNiBAQAogI2luY2x1ZGUgIkRyYXdpbmdBcmVhLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5k
bGVOYXZpZ2F0aW9uQWN0aW9uLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2Fn
ZUNvZGVycy5oIgotI2luY2x1ZGUgIldlYkNvbnRleHRNZW51LmgiCiAjaW5jbHVkZSAiV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRlICJXZWJG
cmFtZUxvYWRlckNsaWVudC5oIgpAQCAtNjcwLDEzICs2NjksNiBAQCBQYXNzUmVmUHRyPFdlYkNv
cmU6OlNlYXJjaFBvcHVwTWVudT4gV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVTZWFyY2hQb3B1cE1l
bnUoV2ViQwogICAgIHJldHVybiBXZWJTZWFyY2hQb3B1cE1lbnU6OmNyZWF0ZShtX3BhZ2UsIGNs
aWVudCk7CiB9CiAKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLXZvaWQgV2ViQ2hyb21lQ2xp
ZW50OjpzaG93Q29udGV4dE1lbnUoKQotewotICAgIG1fcGFnZS0+Y29udGV4dE1lbnUoKS0+c2hv
dygpOwotfQotI2VuZGlmCi0KICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiB2b2lk
IFdlYkNocm9tZUNsaWVudDo6YXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUqLCBHcmFwaGlj
c0xheWVyKiBsYXllcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IDk3NjFjMTU0YTFlOTQ0
MmYyMzM2MTkxNGNjYTc1OWQ0YTkzZDQyNjEuLjk4MDdjNjhjNTE2NGFjNjgzZWI2MDEzZDg3Y2U5
ZjY0MGUxOTk0MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTc0LDEwICsxNzQsNiBAQCBw
cml2YXRlOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpQb3B1cE1lbnU+IGNyZWF0
ZVBvcHVwTWVudShXZWJDb3JlOjpQb3B1cE1lbnVDbGllbnQqKSBjb25zdCBPVkVSUklERTsKICAg
ICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6U2VhcmNoUG9wdXBNZW51PiBjcmVhdGVTZWFy
Y2hQb3B1cE1lbnUoV2ViQ29yZTo6UG9wdXBNZW51Q2xpZW50KikgY29uc3QgT1ZFUlJJREU7CiAK
LSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRN
ZW51KCkgT1ZFUlJJREU7Ci0jZW5kaWYKLQogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElO
RykKICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoV2ViQ29yZTo6RnJh
bWUqLCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lk
IHNldE5lZWRzT25lU2hvdERyYXdpbmdTeW5jaHJvbml6YXRpb24oKSBPVkVSUklERTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4
dE1lbnVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDb250ZXh0TWVudUNsaWVudC5jcHAKaW5kZXggYjJjZGJjYzMxMTViODdkNDQzNWMyOTZi
NjljMTg4NTc0NjAxOTRkNC4uMzZjMjcwYWI4ZjA2MzIyMTA4MTJjYTMwYjNjNjRkODcyOWEyYzI4
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDb250ZXh0TWVudUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5jcHAKQEAgLTg3LDQgKzg3LDExIEBA
IHZvaWQgV2ViQ29udGV4dE1lbnVDbGllbnQ6OnNlYXJjaFdpdGhHb29nbGUoY29uc3QgRnJhbWUq
IGZyYW1lKQogICAgIH0KIH0KIAorI2lmIFVTRShBQ0NFU1NJQklMSVRZX0NPTlRFWFRfTUVOVVMp
Cit2b2lkIFdlYkNvbnRleHRNZW51Q2xpZW50OjpzaG93Q29udGV4dE1lbnUoKQoreworICAgIG1f
cGFnZS0+Y29udGV4dE1lbnUoKS0+c2hvdygpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5oCmluZGV4IGI0MzcyNDVjMDlmYjZj
YmQzNjViOGE4MjhhNjZjNzhjNzZkZTA2YzguLjg2YjBhNDg5ODkwZmY5NTE5ZDM5NGYyMGUwZTJh
MDkxYTM4MWFkMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmgKQEAgLTU5LDcgKzU5
LDExIEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZpcnR1YWwgdm9pZCBzZWFy
Y2hXaXRoU3BvdGxpZ2h0KCkgT1ZFUlJJREU7CiAjZW5kaWYKLSAgICAKKworI2lmIFVTRShBQ0NF
U1NJQklMSVRZX0NPTlRFWFRfTUVOVVMpCisgICAgdm9pZCBzaG93Q29udGV4dE1lbnUoKSBPVkVS
UklERTsKKyNlbmRpZgorCiAgICAgV2ViUGFnZSogbV9wYWdlOwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGRhZDgxMDQ5MWI3Mjkz
YjQ2M2JkN2MyYWUyYjc0ZmE3ZjQwYTgyYjguLmY4OGU3Y2RkMDQzZjQyODFkNzliNGI4NzRiY2Vl
YzE2MmMxMWM5ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKQEAgLTEyMjAsMjUgKzEyMjAsMjUgQEAgc3RhdGljIGJvb2wgaXNDb250ZXh0Q2xp
Y2soY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCkKICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKLXN0YXRpYyBib29sIGhhbmRsZUNvbnRleHRNZW51RXZlbnQoY29uc3QgUGxhdGZvcm1Nb3Vz
ZUV2ZW50JiBwbGF0Zm9ybU1vdXNlRXZlbnQsIFBhZ2UqIHBhZ2UpCitzdGF0aWMgYm9vbCBoYW5k
bGVDb250ZXh0TWVudUV2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgcGxhdGZvcm1Nb3Vz
ZUV2ZW50LCBXZWJQYWdlKiBwYWdlKQogewotICAgIEludFBvaW50IHBvaW50ID0gcGFnZS0+bWFp
bkZyYW1lKCktPnZpZXcoKS0+d2luZG93VG9Db250ZW50cyhwbGF0Zm9ybU1vdXNlRXZlbnQucG9z
aXRpb24oKSk7Ci0gICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBwYWdlLT5tYWluRnJhbWUoKS0+
ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KHBvaW50LCBmYWxzZSk7CisgICAg
SW50UG9pbnQgcG9pbnQgPSBwYWdlLT5jb3JlUGFnZSgpLT5tYWluRnJhbWUoKS0+dmlldygpLT53
aW5kb3dUb0NvbnRlbnRzKHBsYXRmb3JtTW91c2VFdmVudC5wb3NpdGlvbigpKTsKKyAgICBIaXRU
ZXN0UmVzdWx0IHJlc3VsdCA9IHBhZ2UtPmNvcmVQYWdlKCktPm1haW5GcmFtZSgpLT5ldmVudEhh
bmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQocG9pbnQsIGZhbHNlKTsKIAotICAgIEZyYW1l
KiBmcmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpOworICAgIEZyYW1lKiBmcmFtZSA9IHBhZ2UtPmNv
cmVQYWdlKCktPm1haW5GcmFtZSgpOwogICAgIGlmIChyZXN1bHQuaW5uZXJOb25TaGFyZWROb2Rl
KCkpCiAgICAgICAgIGZyYW1lID0gcmVzdWx0LmlubmVyTm9uU2hhcmVkTm9kZSgpLT5kb2N1bWVu
dCgpLT5mcmFtZSgpOwogICAgIAogICAgIGJvb2wgaGFuZGxlZCA9IGZyYW1lLT5ldmVudEhhbmRs
ZXIoKS0+c2VuZENvbnRleHRNZW51RXZlbnQocGxhdGZvcm1Nb3VzZUV2ZW50KTsKICAgICBpZiAo
aGFuZGxlZCkKLSAgICAgICAgcGFnZS0+Y2hyb21lKCktPnNob3dDb250ZXh0TWVudSgpOworICAg
ICAgICBwYWdlLT5jb250ZXh0TWVudSgpLT5zaG93KCk7CiAKICAgICByZXR1cm4gaGFuZGxlZDsK
IH0KIAotc3RhdGljIGJvb2wgaGFuZGxlTW91c2VFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50JiBt
b3VzZUV2ZW50LCBQYWdlKiBwYWdlLCBib29sIG9ubHlVcGRhdGVTY3JvbGxiYXJzKQorc3RhdGlj
IGJvb2wgaGFuZGxlTW91c2VFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50JiBtb3VzZUV2ZW50LCBX
ZWJQYWdlKiBwYWdlLCBib29sIG9ubHlVcGRhdGVTY3JvbGxiYXJzKQogewotICAgIEZyYW1lKiBm
cmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpOworICAgIEZyYW1lKiBmcmFtZSA9IHBhZ2UtPmNvcmVQ
YWdlKCktPm1haW5GcmFtZSgpOwogICAgIGlmICghZnJhbWUtPnZpZXcoKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCkBAIC0xMjQ3LDcgKzEyNDcsNyBAQCBzdGF0aWMgYm9vbCBoYW5kbGVNb3Vz
ZUV2ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmIG1vdXNlRXZlbnQsIFBhZ2UqIHBhZ2UsIGJvb2wg
bwogICAgIHN3aXRjaCAocGxhdGZvcm1Nb3VzZUV2ZW50LnR5cGUoKSkgewogICAgICAgICBjYXNl
IFBsYXRmb3JtRXZlbnQ6Ok1vdXNlUHJlc3NlZDogewogICAgICAgICAgICAgaWYgKGlzQ29udGV4
dENsaWNrKHBsYXRmb3JtTW91c2VFdmVudCkpCi0gICAgICAgICAgICAgICAgcGFnZS0+Y29udGV4
dE1lbnVDb250cm9sbGVyKCktPmNsZWFyQ29udGV4dE1lbnUoKTsKKyAgICAgICAgICAgICAgICBw
YWdlLT5jb3JlUGFnZSgpLT5jb250ZXh0TWVudUNvbnRyb2xsZXIoKS0+Y2xlYXJDb250ZXh0TWVu
dSgpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBib29sIGhhbmRsZWQgPSBmcmFtZS0+ZXZl
bnRIYW5kbGVyKCktPmhhbmRsZU1vdXNlUHJlc3NFdmVudChwbGF0Zm9ybU1vdXNlRXZlbnQpOwog
ICAgICAgICAgICAgaWYgKGlzQ29udGV4dENsaWNrKHBsYXRmb3JtTW91c2VFdmVudCkpCkBAIC0x
MjkxLDcgKzEyOTEsNyBAQCB2b2lkIFdlYlBhZ2U6Om1vdXNlRXZlbnQoY29uc3QgV2ViTW91c2VF
dmVudCYgbW91c2VFdmVudCkKICAgICAgICAgLy8gb2YgdGhvc2UgY2FzZXMgd2hlcmUgdGhlIHBh
Z2UgaXMgbm90IGFjdGl2ZSBhbmQgdGhlIG1vdXNlIGlzIG5vdCBwcmVzc2VkLCB0aGVuIHdlIGNh
biBmaXJlIGEgbW9yZQogICAgICAgICAvLyBlZmZpY2llbnQgc2Nyb2xsYmFycy1vbmx5IHZlcnNp
b24gb2YgdGhlIGV2ZW50LgogICAgICAgICBib29sIG9ubHlVcGRhdGVTY3JvbGxiYXJzID0gISht
X3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5pc0FjdGl2ZSgpIHx8IChtb3VzZUV2ZW50LmJ1dHRv
bigpICE9IFdlYk1vdXNlRXZlbnQ6Ok5vQnV0dG9uKSk7Ci0gICAgICAgIGhhbmRsZWQgPSBoYW5k
bGVNb3VzZUV2ZW50KG1vdXNlRXZlbnQsIG1fcGFnZS5nZXQoKSwgb25seVVwZGF0ZVNjcm9sbGJh
cnMpOworICAgICAgICBoYW5kbGVkID0gaGFuZGxlTW91c2VFdmVudChtb3VzZUV2ZW50LCB0aGlz
LCBvbmx5VXBkYXRlU2Nyb2xsYmFycyk7CiAgICAgfQogCiAgICAgc2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpEaWRSZWNlaXZlRXZlbnQoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KG1vdXNlRXZl
bnQudHlwZSgpKSwgaGFuZGxlZCkpOwpAQCAtMTMxNiw3ICsxMzE2LDcgQEAgdm9pZCBXZWJQYWdl
Ojptb3VzZUV2ZW50U3luY0ZvclRlc3RpbmcoY29uc3QgV2ViTW91c2VFdmVudCYgbW91c2VFdmVu
dCwgYm9vbCYgaGEKICAgICAgICAgLy8gb2YgdGhvc2UgY2FzZXMgd2hlcmUgdGhlIHBhZ2UgaXMg
bm90IGFjdGl2ZSBhbmQgdGhlIG1vdXNlIGlzIG5vdCBwcmVzc2VkLCB0aGVuIHdlIGNhbiBmaXJl
IGEgbW9yZQogICAgICAgICAvLyBlZmZpY2llbnQgc2Nyb2xsYmFycy1vbmx5IHZlcnNpb24gb2Yg
dGhlIGV2ZW50LgogICAgICAgICBib29sIG9ubHlVcGRhdGVTY3JvbGxiYXJzID0gIShtX3BhZ2Ut
PmZvY3VzQ29udHJvbGxlcigpLT5pc0FjdGl2ZSgpIHx8IChtb3VzZUV2ZW50LmJ1dHRvbigpICE9
IFdlYk1vdXNlRXZlbnQ6Ok5vQnV0dG9uKSk7Ci0gICAgICAgIGhhbmRsZWQgPSBoYW5kbGVNb3Vz
ZUV2ZW50KG1vdXNlRXZlbnQsIG1fcGFnZS5nZXQoKSwgb25seVVwZGF0ZVNjcm9sbGJhcnMpOwor
ICAgICAgICBoYW5kbGVkID0gaGFuZGxlTW91c2VFdmVudChtb3VzZUV2ZW50LCB0aGlzLCBvbmx5
VXBkYXRlU2Nyb2xsYmFycyk7CiAgICAgfQogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128936</attachid>
            <date>2012-02-26 18:13:12 -0800</date>
            <delta_ts>2012-02-26 20:50:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79427-20120227111310.patch</filename>
            <type>text/plain</type>
            <size>36102</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4OTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
MzA5OTQ5ZWE1NTNkNThjYWM4MDdhOTZjZjBmMmRlNzViN2U2MGQ0Li5hN2UwNTdiM2I2Nzc2OWM2
MGZmMmM4ZTdiODdkMTFlMGNjYWVmYzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMi0wMi0yMyAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBNb3ZlIENocm9tZUNsaWVudDo6c2hvd0NvbnRleHRNZW51KCkgdG8g
Q29udGV4dE1lbnVDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc5NDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkZWQgQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTLgorCisgICAgICAgICog
d3RmL1BsYXRmb3JtLmg6CisKIDIwMTItMDItMjYgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxl
LmNvbT4KIAogICAgICAgICBHZXR0aW5nIHRoZSBpbnN0cnVjdGlvbiBzdHJlYW0gZm9yIGEgY29k
ZSBibG9jayBzaG91bGQgbm90IHJlcXVpcmUgdHdvIGxvYWRzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWI4ZTgx
MGYyNjIxY2M5M2ZlYWU0ODM5ZjY4YjRiNGNiNTVjYzY2OC4uODEwZDY3NWUyNTIzOTVhMzcwYjNj
NjI4N2I1MDFjZDYxZWE0ZjNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTAy
LTIzICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1v
dmUgQ2hyb21lQ2xpZW50OjpzaG93Q29udGV4dE1lbnUoKSB0byBDb250ZXh0TWVudUNsaWVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0MjcKKwor
ICAgICAgICAtIFJlbW92ZWQgQ2hyb21lQ2xpZW50OjpzaG93Q29udGV4dE1lbnUoKSwgQ2hyb21l
OjpzaG93Q29udGV4dE1lbnUoKQorICAgICAgICAtIEFkZGVkIENvbnRleHRNZW51Q29udHJvbGxl
cjo6c2hvd0NvbnRleHRNZW51QXQoKSwgQ29udGV4dE1lbnVDbGllbnQ6OnNob3dDb250ZXh0TWVu
dSgpCisgICAgICAgIC0gSGlkZWQgc2hvd0NvbnRleHRNZW51KCkgYmVoaW5kIEFDQ0VTU0lCSUxJ
VFlfQ09OVEVYVF9NRU5VUworCisgICAgICAgIFRoaXMgY2hhbmdlIGxvY2FsaXplcyBjb250ZXh0
IG1lbnUgcmVsdGVkIGNvZGUgYW5kIHdpbGwgbWFrZSBpdCBlYXN5IHRvCisgICAgICAgIG1vZHVs
YXJpemUgQ09OVEVYVF9NRU5VUyBjb2RlLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yaW5nLiBObyBuZXcgdGVzdHMuCisKKyAgICAgICAg
KiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlci5tbToKKyAgICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXIgYWNjZXNzaWJpbGl0eVNob3dDb250ZXh0TWVudV0pOgorICAgICAgICAqIGxvYWRl
ci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAgKEVtcHR5Q29udGV4dE1lbnVDbGllbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6RW1wdHlDb250ZXh0TWVudUNsaWVudDo6c2hvd0NvbnRleHRNZW51KToK
KyAgICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q2xpZW50Lmg6CisgICAgICAgIChDb250ZXh0TWVu
dUNsaWVudCk6CisgICAgICAgICogcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNvbnRyb2xsZXI6
OnNob3dDb250ZXh0TWVudUF0KToKKyAgICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q29udHJvbGxl
ci5oOgorICAgICAgICAoQ29udGV4dE1lbnVDb250cm9sbGVyKToKKyAgICAgICAgKiBwYWdlL0No
cm9tZS5jcHA6CisgICAgICAgICogcGFnZS9DaHJvbWUuaDoKKyAgICAgICAgKENocm9tZSk6Cisg
ICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKENocm9tZUNsaWVudCk6CisK
IDIwMTItMDItMjYgIEh5b3dvbiBLaW0gIDxodzEwMDgua2ltQHNhbXN1bmcuY29tPgogCiAgICAg
ICAgIFtFRkxdIEltcGxlbWVudGF0aW9uIG9mIEdyYXBoaWNzQ29udGV4dDNEIGZvciBFRkwgcG9y
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKaW5kZXggNWYxODZiNzk4NTAyZDdhMjdlZGZl
YmU2ZGFkY2E0MWY0ZDc0OTM5Zi4uNDhhNjcyOTYzMzk4NDQyMzJlYmU4Y2I4NGNlZWQ4YzhjYjU2
ODk0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTItMDItMjMgIEhhamltZSBNb3JyaXRhICA8bW9ycml0YUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgTW92ZSBDaHJvbWVDbGllbnQ6OnNob3dDb250ZXh0TWVudSgpIHRvIENvbnRleHRNZW51Q2xp
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQy
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5oOgorICAgICAgICAoQ2hyb21lQ2xp
ZW50QmxhY2tCZXJyeSk6CisKIDIwMTItMDItMjQgIE1pa2UgRmVudG9uICA8bWlmZW50b25Acmlt
LmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gRWxpbWluYXRlIGV4Y2Vzc2l2ZSBCbGFja0Jl
cnJ5OjpQbGF0Zm9ybSB1c2UgaW4gSW5wdXRIYW5kbGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CmluZGV4IGIzNjE0MjNmZDFjMDQwMDQ2YTAxMWY2NjhiNjFhMjIyZTViYmU4OTEuLjU5MGQ2YmZl
YWFjNzgxOWE3MmIyM2M3NmIyMzRiOTc0OWJlOTkxZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMjMgIEhhamltZSBNb3JyaXRhICA8bW9ycml0
YUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTW92ZSBDaHJvbWVDbGllbnQ6OnNob3dDb250ZXh0
TWVudSgpIHRvIENvbnRleHRNZW51Q2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03OTQyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuaDoKKyAgICAgICAgKENo
cm9tZUNsaWVudEltcGwpOgorCiAyMDEyLTAyLTI2ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgVGFrZSAyIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpp
bmRleCA1NzYyMjRmZjhlNmE3MzNlMjU0YjQ3N2M4NDhkYmFhMjFkM2I5MjUwLi5lNjEzOTlhY2Iy
ZTk4OGE0NGIxZmVkMzFhYmNjMjY0ZmI0MWUxOGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTItMDItMjMgIEhhamltZSBNb3JyaXRhICA8bW9ycml0YUBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgTW92ZSBDaHJvbWVDbGllbnQ6OnNob3dDb250ZXh0TWVudSgpIHRvIENv
bnRleHRNZW51Q2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03OTQyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmg6CisgICAgICAgIChDaHJv
bWVDbGllbnRFZmwpOgorCiAyMDEyLTAyLTI0ICBHcnplZ29yeiBDemFqa293c2tpICA8Zy5jemFq
a293c2tpQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdW0RSVF0gSW1wbGVtZW50IHNldFZh
bHVlRm9yVXNlciBhbmQgc2V0QXV0b2ZpbGxlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCA1OWJiOTBh
Y2IwNmZlMzcyNzAxMTI1ZmYyYjAyODU3Njk3MDhlODAzLi4wNTU4ZmFkNDU0NjZjNGY4NWFhNDM4
ZmFkNGNiNWE4NTFkM2M4YzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTItMDItMjMgIEhhamltZSBNb3JyaXRhICA8bW9ycml0YUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgTW92ZSBDaHJvbWVDbGllbnQ6OnNob3dDb250ZXh0TWVudSgpIHRvIENvbnRleHRNZW51Q2xp
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQy
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisgICAgICAgIChDaHJvbWVDbGllbnQpOgor
CiAyMDEyLTAyLTI0ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBTcGVsbENoZWNrUmVxdWVzdCBuZWVkcyB0byBrbm93IHRoZSBjb250ZXh0IHdoZXJl
IHRoZSBzcGVsbGNoZWNrIGhhcHBlbmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDIzM2YyM2M3OTEz
MzQxOGY0ZjNjMGNjN2IwOWRhZTFlYjI4NDRlZGMuLmZiY2QyMzFhNjA4YTBkMDE0ZWYwOTYxMmY0
MDk2YzM4NTBjNTcwMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0w
Mi0yMyAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGNocm9taXVtLm9yZz4KKworICAgICAgICBN
b3ZlIENocm9tZUNsaWVudDo6c2hvd0NvbnRleHRNZW51KCkgdG8gQ29udGV4dE1lbnVDbGllbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDI3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5oOgorICAgICAgICAoV2ViQ29udGV4dE1lbnVD
bGllbnQpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50Lm1t
OgorICAgICAgICAoV2ViQ29udGV4dE1lbnVDbGllbnQ6OnNob3dDb250ZXh0TWVudSk6IE1vdmVk
IGZyb20gV2ViQ2hyb21lQ2xpZW50CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tOgor
CiAyMDEyLTAyLTI1ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUXVp
Y2tMb29rIGV2ZW50cyBkb24ndCBtYWtlIGl0IHRvIFdlYktpdCBwbHVnaW5zLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxv
ZwppbmRleCBkMGJjZDY3NGJlNmVhMWY1ZGU2ZDA4MDdiZmMzOGY2OWJhMTIxZjc2Li4wMmFjMDEw
ODAwMzg5NDI4ZDQ1Y2I1YWM1YWY4OGY1NjVkNGQ2MDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDEyLTAyLTIzICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIE1vdmUgQ2hyb21lQ2xpZW50OjpzaG93Q29udGV4dE1lbnUoKSB0byBD
b250ZXh0TWVudUNsaWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Nzk0MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0Lmg6CisgICAgICAgIChDaHJv
bWVDbGllbnRRdCk6CisKIDIwMTItMDItMjQgIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1
cmNvdHRlQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIEFQSTogVW5pZnkgdGhlIGxvYWRpbmcg
cHJvcGVydGllcyBhbmQgc2lnbmFscy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCAxYzdmMzIwYTI0NDhh
MDQ2OWViODJlOWFiNjQ1ZWVmOTI3Y2I1MmU5Li4zNjI4ODRjNTkyMjA3NmM4NDYyZGY3NDA0ZDc5
NGFlNTM5NmM4NjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDIt
MjMgIEhhamltZSBNb3JyaXRhICA8bW9ycml0YUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTW92
ZSBDaHJvbWVDbGllbnQ6OnNob3dDb250ZXh0TWVudSgpIHRvIENvbnRleHRNZW51Q2xpZW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQyNworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDaHJvbWVDbGllbnQpOgorCiAy
MDEyLTAyLTI0ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBTcGVsbENoZWNrUmVxdWVzdCBuZWVkcyB0byBrbm93IHRoZSBjb250ZXh0IHdoZXJlIHRo
ZSBzcGVsbGNoZWNrIGhhcHBlbmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwppbmRleCA5OThmNWQxNjVj
NmM1ZDFlMGQyNTUxMzUwODI4ZWQyZGE1NzRiMzAyLi5kZDcwMDA3ZjUwNmIzMjk4NzdmN2MyYjEy
MzlmNzNjYTI0NDI5NzlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDEyLTAyLTIzICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIE1vdmUgQ2hyb21lQ2xpZW50OjpzaG93Q29udGV4dE1lbnUoKSB0byBDb250ZXh0TWVudUNs
aWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0
MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmg6CisgICAgICAgIChDaHJvbWVDbGllbnRX
aW5DRSk6CisKIDIwMTItMDItMjQgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFNwZWxsQ2hlY2tSZXF1ZXN0IG5lZWRzIHRvIGtub3cgdGhlIGNvbnRl
eHQgd2hlcmUgdGhlIHNwZWxsY2hlY2sgaGFwcGVuZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3d4L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCmluZGV4IDBjNjAy
MWVhYmE3MWZlZmY2N2FlYWEzMzliOGE3MmI2NzI1ZjY5ODEuLmVlMzJkM2Q2MjlhYmVlZGQ2YTdi
YTdmY2RmMmJkY2VkYTQ3ZGUzOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTItMDItMjMgIEhhamltZSBNb3JyaXRhICA8bW9ycml0YUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgTW92ZSBDaHJvbWVDbGllbnQ6OnNob3dDb250ZXh0TWVudSgpIHRvIENvbnRleHRNZW51Q2xp
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQy
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
S2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50V3gpOgor
CiAyMDEyLTAyLTI0ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBTcGVsbENoZWNrUmVxdWVzdCBuZWVkcyB0byBrbm93IHRoZSBjb250ZXh0IHdoZXJl
IHRoZSBzcGVsbGNoZWNrIGhhcHBlbmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGFjZmMyZDAyMGNiOGRiMDQ4
MDZmM2JiNTFlMDhiNzkwYWY2MGRkOTAuLjlhNWYwMGM0Mjg2ZDVlZDQ3ZGMwZGMxODU3MWY2ZmU3
N2Q5ZTc0NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMi0wMi0yMyAgSGFqaW1l
IE1vcnJpdGEgIDxtb3JyaXRhQGNocm9taXVtLm9yZz4KKworICAgICAgICBNb3ZlIENocm9tZUNs
aWVudDo6c2hvd0NvbnRleHRNZW51KCkgdG8gQ29udGV4dE1lbnVDbGllbnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDI3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudCk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5j
cHA6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0TWVudUNs
aWVudDo6c2hvd0NvbnRleHRNZW51KTogTW92ZWQgZnJvbSBXZWJDaHJvbWVDbGllbnQKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50Lmg6Cisg
ICAgICAgIChXZWJDb250ZXh0TWVudUNsaWVudCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpoYW5kbGVDb250ZXh0TWVudUV2ZW50
KToKKyAgICAgICAgKFdlYktpdDo6aGFuZGxlTW91c2VFdmVudCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6Om1vdXNlRXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjptb3VzZUV2
ZW50U3luY0ZvclRlc3RpbmcpOgorCiAyMDEyLTAyLTI1ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRl
cnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkcmVzcyByZXZpZXcgZmVlZGJhY2sgZnJvbSBB
bmRyZWFzIEtsaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0
Zm9ybS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDc5NGRi
MDlkYmMxMzI1MjczZDhkODg5NzYwODkzMmYwYzliYzM3YjYuLjRhMjU5ODEzYTkwMzBjNzE3MjQ1
OGY1YjMwY2M3NWQyYWFjM2NkOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgK
QEAgLTEwOTgsNiArMTA5OCwxMCBAQAogI2RlZmluZSBXVEZfVVNFX0NST1NTX1BMQVRGT1JNX0NP
TlRFWFRfTUVOVVMgMQogI2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpICYmIEhBVkUoQUNDRVNT
SUJJTElUWSkKKyNkZWZpbmUgV1RGX1VTRV9BQ0NFU1NJQklMSVRZX0NPTlRFWFRfTUVOVVMgMQor
I2VuZGlmCisKIC8qIEdlb2xvY2F0aW9uIHJlcXVlc3QgcG9saWN5LiBwcmUtZW1wdGl2ZSBwb2xp
Y3kgaXMgdG8gYWNxdWlyZSB1c2VyIHBlcm1pc3Npb24gYmVmb3JlIGFjcXVpcmluZyBsb2NhdGlv
bi4KICAgIENsaWVudCBiYXNlZCBpbXBsZW1lbnRhdGlvbnMgd2lsbCBoYXZlIG9wdGlvbiB0byBj
aG9vc2UgYmV0d2VlbiBwcmUtZW1wdGl2ZSBhbmQgbm9ucHJlLWVtcHRpdmUgcGVybWlzc2lvbiBw
b2xpY3kuCiAgICBwcmUtZW1wdGl2ZSBwZXJtaXNzaW9uIHBvbGljeSBpcyBlbmFibGVkIGJ5IGRl
ZmF1bHQgZm9yIGFsbCBjbGllbnQtYmFzZWQgaW1wbGVtZW50YXRpb25zLiAqLwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgppbmRleCAzMDU0YWEyNzM2YzhkYWRjOWZhZTJiNzQ3MDFlNDY0Y2QyM2VhODEwLi44
NGU5NjYxZmNkYTdjODlmN2VlZjMyODI1ZjFmYmQ4NzhkY2IzOWFjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgpAQCAtMTY2OSw3ICsxNjY5LDYgQEAgX19aTks3V2ViQ29yZTIxQ29udGV4dE1lbnVDb250
cm9sbGVyMjFjaGVja09yRW5hYmxlSWZOZWVkZWRFUk5TXzE1Q29udGV4dE1lbnVJdGUKIF9fWk43
V2ViQ29yZTIxQ29udGV4dE1lbnVDb250cm9sbGVyMjNjb250ZXh0TWVudUl0ZW1TZWxlY3RlZEVQ
TlNfMTVDb250ZXh0TWVudUl0ZW1FCiBfX1pON1dlYkNvcmUyMWNvbnRleHRNZW51SXRlbVZlY3Rv
ckVQMTROU011dGFibGVBcnJheQogX19aTjdXZWJDb3JlMjNwbGF0Zm9ybU1lbnVEZXNjcmlwdGlv
bkVSTjNXVEY2VmVjdG9ySU5TXzE1Q29udGV4dE1lbnVJdGVtRUxtMEVFRQotX19aTjdXZWJDb3Jl
NkNocm9tZTE1c2hvd0NvbnRleHRNZW51RXYKIF9fWk5LN1dlYkNvcmUxMUNvbnRleHRNZW51MTlw
bGF0Zm9ybURlc2NyaXB0aW9uRXYKIF9fWk5LN1dlYkNvcmUxNUNvbnRleHRNZW51SXRlbTE1cGxh
dGZvcm1TdWJNZW51RXYKIF9fWk5LN1dlYkNvcmUxNUNvbnRleHRNZW51SXRlbTR0eXBlRXYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyLm1tIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0KaW5kZXggNmJjNGM2M2ViZTkwNGY1OGQwOWRj
NzI1ZDliYTI2OTEzNDg4MDNmNC4uZWRkNzIyMzZjODdlZWI1ZmYwNjcwNWVkNzUzMzdjNjIzYmMx
Mzk1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0KQEAgLTQ0LDYgKzQ0LDcg
QEAKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlUYWJsZVJvdy5oIgogI2ltcG9ydCAiQ2hyb21lLmgi
CiAjaW1wb3J0ICJDb2xvck1hYy5oIgorI2ltcG9ydCAiQ29udGV4dE1lbnVDb250cm9sbGVyLmgi
CiAjaW1wb3J0ICJGcmFtZS5oIgogI2ltcG9ydCAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbXBv
cnQgIkZyYW1lU2VsZWN0aW9uLmgiCkBAIC0yNjE0LDE0ICsyNjE1LDcgQEAgc3RhdGljIE5TU3Ry
aW5nKiByb2xlVmFsdWVUb05TU3RyaW5nKEFjY2Vzc2liaWxpdHlSb2xlIHZhbHVlKQogICAgIFBh
Z2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgpOwogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJu
OwotCi0gICAgLy8gU2ltdWxhdGUgYSBjbGljayBpbiB0aGUgbWlkZGxlIG9mIHRoZSBvYmplY3Qu
Ci0gICAgSW50UG9pbnQgY2xpY2tQb2ludCA9IG1fb2JqZWN0LT5jbGlja1BvaW50KCk7Ci0gICAg
Ci0gICAgUGxhdGZvcm1Nb3VzZUV2ZW50IG1vdXNlRXZlbnQoY2xpY2tQb2ludCwgY2xpY2tQb2lu
dCwgUmlnaHRCdXR0b24sIFBsYXRmb3JtRXZlbnQ6Ok1vdXNlUHJlc3NlZCwgMSwgZmFsc2UsIGZh
bHNlLCBmYWxzZSwgZmFsc2UsIGN1cnJlbnRUaW1lKCkpOwotICAgIGJvb2wgaGFuZGxlZCA9IGZy
YW1lLT5ldmVudEhhbmRsZXIoKS0+c2VuZENvbnRleHRNZW51RXZlbnQobW91c2VFdmVudCk7Ci0g
ICAgaWYgKGhhbmRsZWQpCi0gICAgICAgIHBhZ2UtPmNocm9tZSgpLT5zaG93Q29udGV4dE1lbnUo
KTsKKyAgICBwYWdlLT5jb250ZXh0TWVudUNvbnRyb2xsZXIoKS0+c2hvd0NvbnRleHRNZW51QXQo
ZnJhbWUsIG1fb2JqZWN0LT5jbGlja1BvaW50KCkpOwogfQogCiAtICh2b2lkKWFjY2Vzc2liaWxp
dHlQZXJmb3JtQWN0aW9uOihOU1N0cmluZyopYWN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmgKaW5kZXggOGM0ZjAwYTUyMDUyMGE2NjdmOGU1NzU2NWVhZTYyYmIwY2EzZmEwZi4u
NzFhZWFmZGZjNjllYjk0YTI4YWM4YmEzMWUxZmI4MDA0NDEwNDk4YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuaApAQCAtMTUyLDEwICsxNTIsNiBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBQYXNzUmVmUHRyPFBvcHVwTWVudT4gY3JlYXRlUG9wdXBNZW51KFBvcHVwTWVudUNsaWVu
dCopIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBFbXB0eVBvcHVwTWVudSgpKTsgfQogICAg
IHZpcnR1YWwgUGFzc1JlZlB0cjxTZWFyY2hQb3B1cE1lbnU+IGNyZWF0ZVNlYXJjaFBvcHVwTWVu
dShQb3B1cE1lbnVDbGllbnQqKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZihuZXcgRW1wdHlTZWFy
Y2hQb3B1cE1lbnUoKSk7IH0KIAotI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQotICAgIHZpcnR1
YWwgdm9pZCBzaG93Q29udGV4dE1lbnUoKSB7IH0KLSNlbmRpZgotCiAjaWYgRU5BQkxFKFJFR0lT
VEVSX1BST1RPQ09MX0hBTkRMRVIpCiAgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xI
YW5kbGVyKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGNvbnN0
IFN0cmluZyYpIHsgfQogI2VuZGlmCkBAIC01NjYsNiArNTYyLDEwIEBAIHB1YmxpYzoKICNpZiBQ
TEFURk9STShNQUMpCiAgICAgdmlydHVhbCB2b2lkIHNlYXJjaFdpdGhTcG90bGlnaHQoKSB7IH0K
ICNlbmRpZgorCisjaWYgVVNFKEFDQ0VTU0lCSUxJVFlfQ09OVEVYVF9NRU5VUykKKyAgICB2aXJ0
dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51KCkgeyB9CisjZW5kaWYKIH07CiAjZW5kaWYgLy8gRU5B
QkxFKENPTlRFWFRfTUVOVVMpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAppbmRleCA1ZTAxMjJkZGRk
YzlmYmE2NGEwYTk2MGYzZGY5YWQ5MGM3MDMzZWZjLi5hZGUyNjJkN2MzYzQyYWJkNTRmY2JlNTBk
NWY4ZTYzYzM0OWYxYzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuY3BwCkBAIC01NTUsMTMgKzU1NSw2
IEBAIFBhc3NSZWZQdHI8U2VhcmNoUG9wdXBNZW51PiBDaHJvbWU6OmNyZWF0ZVNlYXJjaFBvcHVw
TWVudShQb3B1cE1lbnVDbGllbnQqIGNsaWVuCiAgICAgcmV0dXJuIG1fY2xpZW50LT5jcmVhdGVT
ZWFyY2hQb3B1cE1lbnUoY2xpZW50KTsKIH0KIAotI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQot
dm9pZCBDaHJvbWU6OnNob3dDb250ZXh0TWVudSgpCi17Ci0gICAgbV9jbGllbnQtPnNob3dDb250
ZXh0TWVudSgpOwotfQotI2VuZGlmCi0KIGJvb2wgQ2hyb21lOjpyZXF1aXJlc0Z1bGxzY3JlZW5G
b3JWaWRlb1BsYXliYWNrKCkKIHsKICAgICByZXR1cm4gbV9jbGllbnQtPnJlcXVpcmVzRnVsbHNj
cmVlbkZvclZpZGVvUGxheWJhY2soKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5oCmluZGV4IGM2NzA0Yzk3YTQ0
ZGY2MjliNTI4ZmZhYWRmYWJlMjIxYTFhMTNjNzMuLjg0MWViNTBjMDdjMGM4OWVmZTkyMjBiZjVh
N2VkN2NkYzk2MGViNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaApAQCAtMTczLDEwICsxNzMsNiBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBhc3NSZWZQdHI8UG9wdXBNZW51PiBjcmVhdGVQ
b3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50KikgY29uc3Q7CiAgICAgICAgIFBhc3NSZWZQdHI8U2Vh
cmNoUG9wdXBNZW51PiBjcmVhdGVTZWFyY2hQb3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50KikgY29u
c3Q7CiAKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICAgICAgdm9pZCBzaG93Q29udGV4
dE1lbnUoKTsKLSNlbmRpZgotCiAgICAgcHJpdmF0ZToKICAgICAgICAgQ2hyb21lKFBhZ2UqLCBD
aHJvbWVDbGllbnQqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVD
bGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggMzNiMWM0
Yjg3MTQ5MDgzYmM2OGVhNzliNzlmZjE0MmVjZGQ1OWU0My4uZjE0ZDNkOWU1MGZmY2NhMjdkMmU4
YTcxNmJkNGVlYjFmMmEzMDUwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJv
bWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC0z
MDcsMTAgKzMwNyw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBQYXNz
UmVmUHRyPFBvcHVwTWVudT4gY3JlYXRlUG9wdXBNZW51KFBvcHVwTWVudUNsaWVudCopIGNvbnN0
ID0gMDsKICAgICAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFNlYXJjaFBvcHVwTWVudT4gY3JlYXRl
U2VhcmNoUG9wdXBNZW51KFBvcHVwTWVudUNsaWVudCopIGNvbnN0ID0gMDsKIAotI2lmIEVOQUJM
RShDT05URVhUX01FTlVTKQotICAgICAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51KCkg
PSAwOwotI2VuZGlmCi0KICAgICAgICAgdmlydHVhbCB2b2lkIHBvc3RBY2Nlc3NpYmlsaXR5Tm90
aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqLCBBWE9iamVjdENhY2hlOjpBWE5vdGlmaWNh
dGlvbikgeyB9CiAgICAgICAgIAogICAgICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5U2Nyb2xsZXJU
aHVtYklzVmlzaWJsZUluUmVjdChjb25zdCBJbnRSZWN0JikgeyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnRleHRNZW51Q2xpZW50LmgKaW5kZXggYzkzODljMDU4ODFhYzgxMjEyZWZmODIzYTAxYTBm
MDY1NDU2M2RhYi4uMzEwMzQ5YmIyY2I1ZGQwNDZkYzcxYmY5MDNkMjIzNTY4ODE4MWQ4YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDbGllbnQuaApAQCAtNjAsNiArNjAsMTAgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogI2lmIFBMQVRGT1JNKE1BQykKICAgICAgICAgdmlydHVhbCB2
b2lkIHNlYXJjaFdpdGhTcG90bGlnaHQoKSA9IDA7CiAjZW5kaWYKKworI2lmIFVTRShBQ0NFU1NJ
QklMSVRZX0NPTlRFWFRfTUVOVVMpCisgICAgICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGV4dE1l
bnUoKSA9IDA7CisjZW5kaWYKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHAKaW5kZXggOThiMjk4MTdmYzUxYzBhOGMyNzNjZWJhNDZi
MGY2YWYyNjVhMmYyMy4uYzUxNTY3NTNiYWIyODc2MmI1YTgwYTZjNWE4YjRjNDhmNTg1ZjRjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcApAQCAt
NTgsNiArNTgsNyBAQAogI2luY2x1ZGUgIk5hdmlnYXRpb25BY3Rpb24uaCIKICNpbmNsdWRlICJO
b2RlLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlBsYXRmb3JtRXZlbnQuaCIKICNp
bmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1
ZGUgIlJlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmgiCkBAIC0xMjcwLDYgKzEyNzEsMTcgQEAgdm9p
ZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OmNoZWNrT3JFbmFibGVJZk5lZWRlZChDb250ZXh0TWVu
dUl0ZW0mIGl0ZW0pIGNvbnN0CiAgICAgaXRlbS5zZXRFbmFibGVkKHNob3VsZEVuYWJsZSk7CiB9
CiAKKyNpZiBVU0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTKQordm9pZCBDb250ZXh0TWVu
dUNvbnRyb2xsZXI6OnNob3dDb250ZXh0TWVudUF0KEZyYW1lKiBmcmFtZSwgY29uc3QgSW50UG9p
bnQmIGNsaWNrUG9pbnQpCit7CisgICAgLy8gU2ltdWxhdGUgYSBjbGljayBpbiB0aGUgbWlkZGxl
IG9mIHRoZSBhY2Nlc3NpYmlsaXR5IG9iamVjdC4KKyAgICBQbGF0Zm9ybU1vdXNlRXZlbnQgbW91
c2VFdmVudChjbGlja1BvaW50LCBjbGlja1BvaW50LCBSaWdodEJ1dHRvbiwgUGxhdGZvcm1FdmVu
dDo6TW91c2VQcmVzc2VkLCAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgY3VycmVudFRp
bWUoKSk7CisgICAgYm9vbCBoYW5kbGVkID0gZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5zZW5kQ29u
dGV4dE1lbnVFdmVudChtb3VzZUV2ZW50KTsKKyAgICBpZiAoaGFuZGxlZCAmJiBjbGllbnQoKSkK
KyAgICAgICAgY2xpZW50KCktPnNob3dDb250ZXh0TWVudSgpOworfQorI2VuZGlmCisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKaW5kZXggMzU4OGYwMzcx
ODI5NGUxMTViZTBlYTM0MmJjYjlkNjg5YTMxZjg4OC4uZmRhZTk0NmQxODg0Y2M4YTFlYTcwYjJk
YjM1ZjQwYmE4YjMzMmNjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29u
dHJvbGxlci5oCkBAIC02NSw2ICs2NSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IHZvaWQgc2V0SGl0VGVzdFJlc3VsdChjb25zdCBIaXRUZXN0UmVzdWx0JiByZXN1bHQpIHsgbV9o
aXRUZXN0UmVzdWx0ID0gcmVzdWx0OyB9CiAgICAgICAgIGNvbnN0IEhpdFRlc3RSZXN1bHQmIGhp
dFRlc3RSZXN1bHQoKSB7IHJldHVybiBtX2hpdFRlc3RSZXN1bHQ7IH0KIAorI2lmIFVTRShBQ0NF
U1NJQklMSVRZX0NPTlRFWFRfTUVOVVMpCisgICAgICAgIHZvaWQgc2hvd0NvbnRleHRNZW51QXQo
RnJhbWUqLCBjb25zdCBJbnRQb2ludCYgY2xpY2tQb2ludCk7CisjZW5kaWYKKwogICAgIHByaXZh
dGU6CiAgICAgICAgIENvbnRleHRNZW51Q29udHJvbGxlcihQYWdlKiwgQ29udGV4dE1lbnVDbGll
bnQqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmgKaW5kZXggOTljOGI2MDYyYTQz
ZTExNDdlZGM0MTY5NjVlZjM1Zjg5Mjc2MTZjMi4uM2U2ZGI0N2E5MzAzY2VjOWQzZmY2YTVlZDdi
ZDgxNmJlODQ0M2I0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5oCkBAIC0xMzks
NyArMTM5LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBzZWxlY3RJdGVtQWxpZ25tZW50
Rm9sbG93c01lbnVXcml0aW5nRGlyZWN0aW9uKCk7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFBv
cHVwTWVudT4gY3JlYXRlUG9wdXBNZW51KFBvcHVwTWVudUNsaWVudCopIGNvbnN0OwogICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxTZWFyY2hQb3B1cE1lbnU+IGNyZWF0ZVNlYXJjaFBvcHVwTWVudShQ
b3B1cE1lbnVDbGllbnQqKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51
KCkgeyB9CiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgdmlydHVhbCB2
b2lkIGF0dGFjaFJvb3RHcmFwaGljc0xheWVyKEZyYW1lKiwgR3JhcGhpY3NMYXllciopOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCmluZGV4IDIzZTAy
ZmYzZDk5NTA0ZmMyOTk4MmYzNzExNjM1NmExMDA1NDk3NmMuLjAzYTc4ODAwOTEzMzE5Y2IyZjE0
Y2FiNTllYTY3NTc4YjM2ZGU0ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0Nocm9tZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9D
aHJvbWVDbGllbnRJbXBsLmgKQEAgLTE5NiwxMCArMTk2LDYgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpQb3B1cE1lbnU+IGNyZWF0ZVBvcHVwTWVudShXZWJDb3Jl
OjpQb3B1cE1lbnVDbGllbnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29y
ZTo6U2VhcmNoUG9wdXBNZW51PiBjcmVhdGVTZWFyY2hQb3B1cE1lbnUoV2ViQ29yZTo6UG9wdXBN
ZW51Q2xpZW50KikgY29uc3Q7CiAKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICB2aXJ0
dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51KCkgeyB9Ci0jZW5kaWYKLQogICAgIHZpcnR1YWwgYm9v
bCBzaG91bGRSdW5Nb2RhbERpYWxvZ0R1cmluZ1BhZ2VEaXNtaXNzYWwoY29uc3QgRGlhbG9nVHlw
ZSYsIGNvbnN0IFN0cmluZyYgZGlhbG9nTWVzc2FnZSwgV2ViQ29yZTo6RnJhbWVMb2FkZXI6OlBh
Z2VEaXNtaXNzYWxUeXBlKSBjb25zdDsKIAogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJC
YW5kSW5EaXJlY3Rpb24oV2ViQ29yZTo6U2Nyb2xsRGlyZWN0aW9uKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oIGIv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5kZXgg
ODI1MTIyNTFmNmE0NDBlYTU5MzMwMTNlMTE4ZGYzYzAwMjRjNzlmMy4uNzdkYjk4MjgxYmYxNmVm
MTRiN2QzZTNmMzY3MDNkYWQ3ZDQyZDBlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKQEAgLTEyMSwxMCArMTIxLDYgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkTWF4QXBwQ2FjaGVTaXplKGludDY0X3Qgc3Bh
Y2VOZWVkZWQpOwogICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkQXBwbGljYXRpb25DYWNoZU9yaWdp
blF1b3RhKFNlY3VyaXR5T3JpZ2luKiwgaW50NjRfdCB0b3RhbFNwYWNlTmVlZGVkKTsKIAotI2lm
IEVOQUJMRShDT05URVhUX01FTlVTKQotICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGV4dE1lbnUo
KSB7IH0KLSNlbmRpZgotCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICAgICB2aXJ0dWFsIHZv
aWQgbmVlZFRvdWNoRXZlbnRzKGJvb2wpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaCBiL1NvdXJjZS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCmluZGV4IDU5MDVmNTY3OTU5MzE2
YjkxNTY0OGUzOGQxNjVjMjk0Y2VkZDk3MDYuLmRjZWEyZjBjNDIzOTBkNjE4MzY1MWFmMjkzNmY1
ZTg2OTdkODFkNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEd0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEd0ay5oCkBAIC0xMjUsOSArMTI1LDYgQEAgbmFtZXNwYWNlIFdlYktpdCB7
CiAjZW5kaWYKICAgICAgICAgdmlydHVhbCB2b2lkIHJlYWNoZWRNYXhBcHBDYWNoZVNpemUoaW50
NjRfdCBzcGFjZU5lZWRlZCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkQXBwbGljYXRp
b25DYWNoZU9yaWdpblF1b3RhKFNlY3VyaXR5T3JpZ2luKiwgaW50NjRfdCB0b3RhbFNwYWNlTmVl
ZGVkKTsKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICAgICAgdmlydHVhbCB2b2lkIHNo
b3dDb250ZXh0TWVudSgpIHsgfQotI2VuZGlmCiAgICAgICAgIHZpcnR1YWwgdm9pZCBydW5PcGVu
UGFuZWwoRnJhbWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPik7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBsb2FkSWNvbkZvckZpbGVzKGNvbnN0IFZlY3RvcjxXVEY6OlN0cmluZz4mLCBGaWxlSWNv
bkxvYWRlciopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oCmluZGV4IDY2ZmEwNjBiNWE1M2RiYzJmMzhlZWE2ZjU0NTJkNzZkYTZi
YjFmOTIuLjQ2ZDEyMDFkNTk1YWRlMTE3YWMwMmQ3MGRlZjc5MDhmMTBkMzRiNzggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBA
IC0xODQsMTAgKzE4NCw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29y
ZTo6UG9wdXBNZW51PiBjcmVhdGVQb3B1cE1lbnUoV2ViQ29yZTo6UG9wdXBNZW51Q2xpZW50Kikg
Y29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNvcmU6OlNlYXJjaFBv
cHVwTWVudT4gY3JlYXRlU2VhcmNoUG9wdXBNZW51KFdlYkNvcmU6OlBvcHVwTWVudUNsaWVudCop
IGNvbnN0IE9WRVJSSURFOwogCi0jaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0gICAgdmlydHVh
bCB2b2lkIHNob3dDb250ZXh0TWVudSgpIE9WRVJSSURFOwotI2VuZGlmCi0gICAgCiAgICAgdmly
dHVhbCB2b2lkIG51bVdoZWVsRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5zaWduZWQpIE9WRVJSSURF
IHsgfQogICAgIHZpcnR1YWwgdm9pZCBudW1Ub3VjaEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2ln
bmVkKSBPVkVSUklERSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGly
ZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlvbikgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4g
ZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5tbQppbmRleCAzYmFjODdiOWM2OGMxMWQ5OWFiODkzMDAwMmQ0NTM2Y2ZlOGMw
NzNiLi44M2Y4NDU5ODliMjc2MDk2MGMyYjdiMmY2MjlmNGE0NjJkOGNkMmEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KKysr
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCkBA
IC04NTcsMzUgKzg1Nyw2IEBAIFBhc3NSZWZQdHI8V2ViQ29yZTo6U2VhcmNoUG9wdXBNZW51PiBX
ZWJDaHJvbWVDbGllbnQ6OmNyZWF0ZVNlYXJjaFBvcHVwTWVudShXZWJDCiAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBTZWFyY2hQb3B1cE1lbnVNYWMoY2xpZW50KSk7CiB9CiAKLSNpZiBFTkFCTEUo
Q09OVEVYVF9NRU5VUykKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzaG93Q29udGV4dE1lbnUoKQot
ewotICAgIFBhZ2UqIHBhZ2UgPSBbbV93ZWJWaWV3IHBhZ2VdOwotICAgIGlmICghcGFnZSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgQ29udGV4dE1lbnVDb250cm9sbGVyKiBjb250cm9sbGVyID0g
cGFnZS0+Y29udGV4dE1lbnVDb250cm9sbGVyKCk7Ci0gICAgTm9kZSogbm9kZSA9IGNvbnRyb2xs
ZXItPmhpdFRlc3RSZXN1bHQoKS5pbm5lck5vblNoYXJlZE5vZGUoKTsKLSAgICBpZiAoIW5vZGUp
Ci0gICAgICAgIHJldHVybjsKLSAgICBGcmFtZSogZnJhbWUgPSBub2RlLT5kb2N1bWVudCgpLT5m
cmFtZSgpOwotICAgIGlmICghZnJhbWUpCi0gICAgICAgIHJldHVybjsKLSAgICBGcmFtZVZpZXcq
IGZyYW1lVmlldyA9IGZyYW1lLT52aWV3KCk7Ci0gICAgaWYgKCFmcmFtZVZpZXcpCi0gICAgICAg
IHJldHVybjsKLSAgICBOU1ZpZXcqIHZpZXcgPSBmcmFtZVZpZXctPmRvY3VtZW50VmlldygpOwot
ICAgIAotICAgIEludFBvaW50IHBvaW50ID0gZnJhbWVWaWV3LT5jb250ZW50c1RvV2luZG93KGNv
bnRyb2xsZXItPmhpdFRlc3RSZXN1bHQoKS5wb2ludCgpKTsKLSAgICBOU1BvaW50IG5zU2NyZWVu
UG9pbnQgPSBbdmlldyBjb252ZXJ0UG9pbnQ6cG9pbnQgdG9WaWV3Om5pbF07Ci0gICAgLy8gU2hv
dyB0aGUgY29udGV4dHVhbCBtZW51IGZvciB0aGlzIGV2ZW50LgotICAgIE5TRXZlbnQqIGV2ZW50
ID0gW05TRXZlbnQgbW91c2VFdmVudFdpdGhUeXBlOk5TUmlnaHRNb3VzZURvd24gbG9jYXRpb246
bnNTY3JlZW5Qb2ludCBtb2RpZmllckZsYWdzOjAgdGltZXN0YW1wOjAgd2luZG93TnVtYmVyOltb
dmlldyB3aW5kb3ddIHdpbmRvd051bWJlcl0gY29udGV4dDowIGV2ZW50TnVtYmVyOjAgY2xpY2tD
b3VudDoxIHByZXNzdXJlOjFdOwotICAgIE5TTWVudSogbnNNZW51ID0gW3ZpZXcgbWVudUZvckV2
ZW50OmV2ZW50XTsKLSAgICBpZiAobnNNZW51KQotICAgICAgICBbTlNNZW51IHBvcFVwQ29udGV4
dE1lbnU6bnNNZW51IHdpdGhFdmVudDpldmVudCBmb3JWaWV3OnZpZXddOyAgICAKLX0KLSNlbmRp
ZgotCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogCiB2b2lkIFdlYkNocm9tZUNs
aWVudDo6YXR0YWNoUm9vdEdyYXBoaWNzTGF5ZXIoRnJhbWUqIGZyYW1lLCBHcmFwaGljc0xheWVy
KiBncmFwaGljc0xheWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmgKaW5kZXggMjFiMGQwZjI1YTBmZmU0NzQ3MGU5
NzNjOGVkYzQ4OTM0NmFmNDFmMy4uZTUzNmYzYzI0YmU4N2Y3NmMyYmE5MzhjYzc5MDY5NDhiZDgx
ZjJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29u
dGV4dE1lbnVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJDb250ZXh0TWVudUNsaWVudC5oCkBAIC00Niw2ICs0Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgc3BlYWsoY29uc3QgV1RGOjpTdHJpbmcmKSBPVkVSUklERTsKICAgICB2aXJ0dWFs
IHZvaWQgc3RvcFNwZWFraW5nKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNlYXJjaFdp
dGhTcG90bGlnaHQoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51
KCkgT1ZFUlJJREU7CiAKICAgICBXZWJWaWV3ICp3ZWJWaWV3KCkgeyByZXR1cm4gbV93ZWJWaWV3
OyB9CiAgICAgICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViQ29udGV4dE1lbnVDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5tbQppbmRleCAwOGMwZDYwODc4NzdlODQ3YTc5NDVh
OGI0MzNiNWRjYzYwNjc4NThkLi5lMjBkYTQ0MGFmMTAyYjhkMWZjNWQ5Yzk1NmUzZGU5NGY5MGQ4
NWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDb250
ZXh0TWVudUNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJDb250ZXh0TWVudUNsaWVudC5tbQpAQCAtNDIsOSArNDIsMTIgQEAKICNpbXBvcnQgIldlYlZp
ZXdJbnRlcm5hbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9Db250ZXh0TWVudS5oPgogI2ltcG9ydCA8
V2ViQ29yZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRG9jdW1l
bnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvS1VSTC5oPgogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6
ZWRTdHJpbmdzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KKyNpbXBvcnQgPFdlYkNvcmUv
RnJhbWUuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgogI2ltcG9ydCA8V2ViS2l0L0RPTVByaXZhdGUu
aD4KIApAQCAtMzQ2LDMgKzM0OSwyOSBAQCB2b2lkIFdlYkNvbnRleHRNZW51Q2xpZW50OjpzdG9w
U3BlYWtpbmcoKQogewogICAgIFtOU0FwcCBzdG9wU3BlYWtpbmc6bmlsXTsKIH0KKwordm9pZCBX
ZWJDb250ZXh0TWVudUNsaWVudDo6c2hvd0NvbnRleHRNZW51KCkKK3sKKyAgICBQYWdlKiBwYWdl
ID0gW21fd2ViVmlldyBwYWdlXTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKyAg
ICBDb250ZXh0TWVudUNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBwYWdlLT5jb250ZXh0TWVudUNv
bnRyb2xsZXIoKTsKKyAgICBOb2RlKiBub2RlID0gY29udHJvbGxlci0+aGl0VGVzdFJlc3VsdCgp
LmlubmVyTm9uU2hhcmVkTm9kZSgpOworICAgIGlmICghbm9kZSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIEZyYW1lKiBmcmFtZSA9IG5vZGUtPmRvY3VtZW50KCktPmZyYW1lKCk7CisgICAgaWYgKCFm
cmFtZSkKKyAgICAgICAgcmV0dXJuOworICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gZnJhbWUt
PnZpZXcoKTsKKyAgICBpZiAoIWZyYW1lVmlldykKKyAgICAgICAgcmV0dXJuOworCisgICAgSW50
UG9pbnQgcG9pbnQgPSBmcmFtZVZpZXctPmNvbnRlbnRzVG9XaW5kb3coY29udHJvbGxlci0+aGl0
VGVzdFJlc3VsdCgpLnBvaW50KCkpOworICAgIE5TVmlldyogdmlldyA9IGZyYW1lVmlldy0+ZG9j
dW1lbnRWaWV3KCk7CisgICAgTlNQb2ludCBuc1NjcmVlblBvaW50ID0gW3ZpZXcgY29udmVydFBv
aW50OnBvaW50IHRvVmlldzpuaWxdOworICAgIC8vIFNob3cgdGhlIGNvbnRleHR1YWwgbWVudSBm
b3IgdGhpcyBldmVudC4KKyAgICBOU0V2ZW50KiBldmVudCA9IFtOU0V2ZW50IG1vdXNlRXZlbnRX
aXRoVHlwZTpOU1JpZ2h0TW91c2VEb3duIGxvY2F0aW9uOm5zU2NyZWVuUG9pbnQgbW9kaWZpZXJG
bGFnczowIHRpbWVzdGFtcDowIHdpbmRvd051bWJlcjpbW3ZpZXcgd2luZG93XSB3aW5kb3dOdW1i
ZXJdIGNvbnRleHQ6MCBldmVudE51bWJlcjowIGNsaWNrQ291bnQ6MSBwcmVzc3VyZToxXTsKKyAg
ICBOU01lbnUqIG5zTWVudSA9IFt2aWV3IG1lbnVGb3JFdmVudDpldmVudF07CisgICAgaWYgKG5z
TWVudSkKKyAgICAgICAgW05TTWVudSBwb3BVcENvbnRleHRNZW51Om5zTWVudSB3aXRoRXZlbnQ6
ZXZlbnQgZm9yVmlldzp2aWV3XTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAppbmRleCAzZDQ1YjdiNTFhMmUzMjAwNDRlNjQwMWY3MDhi
YjJjMDhmMzc1NWM0Li4zODZiOTg2ZDRmMThhNGY2NTdhN2YwZjkxYzk5OTBhMGY5M2I2OTJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0
LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5o
CkBAIC0xMzgsOSArMTM4LDYgQEAgcHVibGljOgogI2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIHJl
YWNoZWRNYXhBcHBDYWNoZVNpemUoaW50NjRfdCBzcGFjZU5lZWRlZCk7CiAgICAgdmlydHVhbCB2
b2lkIHJlYWNoZWRBcHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVvdGEoU2VjdXJpdHlPcmlnaW4qLCBp
bnQ2NF90IHRvdGFsU3BhY2VOZWVkZWQpOwotI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQotICAg
IHZpcnR1YWwgdm9pZCBzaG93Q29udGV4dE1lbnUoKSB7IH0KLSNlbmRpZgogCiAjaWYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIC8vIFRoaXMgaXMgYSBob29rIGZvciBXZWJDb3Jl
IHRvIHRlbGwgdXMgd2hhdCB3ZSBuZWVkIHRvIGRvIHdpdGggdGhlIEdyYXBoaWNzTGF5ZXJzLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aAppbmRleCAyYTlhOGZlN2YzZDRmNDUzZmU0YWIxZjBlZGNiOWRkMzlmYWFiYzliLi41OWMyNDJk
ZDZlYjRhYWQ5MTY0MGI3ZWMyZTBlZTQyYmQ1NjcyMTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTIwLDEwICsxMjAs
NiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHJlYWNoZWRNYXhBcHBDYWNoZVNpemUoaW50
NjRfdCBzcGFjZU5lZWRlZCk7CiAgICAgdmlydHVhbCB2b2lkIHJlYWNoZWRBcHBsaWNhdGlvbkNh
Y2hlT3JpZ2luUXVvdGEoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qLCBpbnQ2NF90IHRvdGFsU3Bh
Y2VOZWVkZWQpOwogCi0jaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0gICAgdmlydHVhbCB2b2lk
IHNob3dDb250ZXh0TWVudSgpIHsgfQotI2VuZGlmCi0KICAgICB2aXJ0dWFsIHZvaWQgcG9wdWxh
dGVWaXNpdGVkTGlua3MoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoV2ViQ29y
ZTo6RnJhbWUqLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZpbGVDaG9vc2VyPik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgg
Yi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgK
aW5kZXggNjEzNzgzYTAzM2U1OWFjYTkxZDk4NDUzNjAwMDY0OTA1YzIwNjIxMy4uNjRlMmJkYTNl
NTE5ODdhOTVjOGM1OTU3M2Y5MmUwNTQyNWY1ZDk1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaApAQCAtMTMxLDEw
ICsxMzEsNiBAQCBwdWJsaWM6CiAgICAgLy8gZm9yIHRoaXMgb3JpZ2luLgogICAgIHZpcnR1YWwg
dm9pZCByZWFjaGVkQXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luKiwgaW50NjRfdCB0b3RhbFNwYWNlTmVlZGVkKTsKIAotI2lmIEVOQUJMRShDT05URVhU
X01FTlVTKQotICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGV4dE1lbnUoKSB7IH0KLSNlbmRpZgot
CiAjaWYgRU5BQkxFKE5PVElGSUNBVElPTlMpCiAgICAgdmlydHVhbCBXZWJDb3JlOjpOb3RpZmlj
YXRpb25QcmVzZW50ZXIqIG5vdGlmaWNhdGlvblByZXNlbnRlcigpIGNvbnN0OwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3gu
aCBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCmluZGV4
IDJiNmNkZWY2MTJjYWZjZDRmMjUwMTM0NTE2OGRhM2NlNzA1ODg1NjkuLmY5NTg3MWJhNmRkODY4
Yzg0MDM4Y2VhMzZlZWU0NDE3ZGZjMmFlM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gv
V2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvV2Vi
S2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCkBAIC0xMjYsMTEgKzEyNiw2IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkTWF4QXBwQ2FjaGVTaXplKGludDY0X3Qgc3BhY2VO
ZWVkZWQpOwogICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkQXBwbGljYXRpb25DYWNoZU9yaWdpblF1
b3RhKFNlY3VyaXR5T3JpZ2luKiwgaW50NjRfdCB0b3RhbFNwYWNlTmVlZGVkKTsKLQotI2lmIEVO
QUJMRShDT05URVhUX01FTlVTKQotICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGV4dE1lbnUoKSB7
IH0KLSNlbmRpZgotCiAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NS
ZWZQdHI8RmlsZUNob29zZXI+KTsKICAgICB2aXJ0dWFsIHZvaWQgbG9hZEljb25Gb3JGaWxlcyhj
b25zdCBWZWN0b3I8U3RyaW5nPiYsIEZpbGVJY29uTG9hZGVyKik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcAppbmRleCA1YTQ4ZmZmODcxZjllZThkOTI5M2M4YmRmNWY5MmU4M2UwYzk1NmI4Li4w
YTQ2ZWI3NWI1ZDIxZGQ0MWRiMjMxYmE4NGQ5ZTY0N2Q1NzhmYjA3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwCkBAIC0zMCw3ICszMCw2IEBACiAjaW5jbHVkZSAiRHJhd2luZ0FyZWEuaCIKICNp
bmNsdWRlICJJbmplY3RlZEJ1bmRsZU5hdmlnYXRpb25BY3Rpb24uaCIKICNpbmNsdWRlICJJbmpl
Y3RlZEJ1bmRsZVVzZXJNZXNzYWdlQ29kZXJzLmgiCi0jaW5jbHVkZSAiV2ViQ29udGV4dE1lbnUu
aCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJGcmFt
ZS5oIgogI2luY2x1ZGUgIldlYkZyYW1lTG9hZGVyQ2xpZW50LmgiCkBAIC02NzAsMTMgKzY2OSw2
IEBAIFBhc3NSZWZQdHI8V2ViQ29yZTo6U2VhcmNoUG9wdXBNZW51PiBXZWJDaHJvbWVDbGllbnQ6
OmNyZWF0ZVNlYXJjaFBvcHVwTWVudShXZWJDCiAgICAgcmV0dXJuIFdlYlNlYXJjaFBvcHVwTWVu
dTo6Y3JlYXRlKG1fcGFnZSwgY2xpZW50KTsKIH0KIAotI2lmIEVOQUJMRShDT05URVhUX01FTlVT
KQotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnNob3dDb250ZXh0TWVudSgpCi17Ci0gICAgbV9wYWdl
LT5jb250ZXh0TWVudSgpLT5zaG93KCk7Ci19Ci0jZW5kaWYKLQogI2lmIFVTRShBQ0NFTEVSQVRF
RF9DT01QT1NJVElORykKIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjphdHRhY2hSb290R3JhcGhpY3NM
YXllcihGcmFtZSosIEdyYXBoaWNzTGF5ZXIqIGxheWVyKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgK
aW5kZXggOTc2MWMxNTRhMWU5NDQyZjIzMzYxOTE0Y2NhNzU5ZDRhOTNkNDI2MS4uOTgwN2M2OGM1
MTY0YWM2ODNlYjYwMTNkODdjZTlmNjQwZTE5OTQxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBA
IC0xNzQsMTAgKzE3NCw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNv
cmU6OlBvcHVwTWVudT4gY3JlYXRlUG9wdXBNZW51KFdlYkNvcmU6OlBvcHVwTWVudUNsaWVudCop
IGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpTZWFyY2hQ
b3B1cE1lbnU+IGNyZWF0ZVNlYXJjaFBvcHVwTWVudShXZWJDb3JlOjpQb3B1cE1lbnVDbGllbnQq
KSBjb25zdCBPVkVSUklERTsKIAotI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQotICAgIHZpcnR1
YWwgdm9pZCBzaG93Q29udGV4dE1lbnUoKSBPVkVSUklERTsKLSNlbmRpZgotCiAjaWYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hSb290R3JhcGhp
Y3NMYXllcihXZWJDb3JlOjpGcmFtZSosIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqKSBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNPbmVTaG90RHJhd2luZ1N5bmNocm9uaXphdGlv
bigpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmNwcAppbmRleCBiMmNk
YmNjMzExNWI4N2Q0NDM1YzI5NmI2OWMxODg1NzQ2MDE5NGQ0Li5iYWI5ZmYxYjljZWNjNjU1NTQ4
NjhmMTk2NGQ1MThhMzYwYzdkMTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmNw
cApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkNv
bnRleHRNZW51Q2xpZW50LmgiCiAKKyNpbmNsdWRlICJXZWJDb250ZXh0TWVudS5oIgogI2luY2x1
ZGUgIldlYkNvbnRleHRNZW51SXRlbURhdGEuaCIKICNpbmNsdWRlICJXZWJQYWdlLmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9Db250ZXh0TWVudS5oPgpAQCAtODcsNCArODgsMTEgQEAgdm9pZCBXZWJD
b250ZXh0TWVudUNsaWVudDo6c2VhcmNoV2l0aEdvb2dsZShjb25zdCBGcmFtZSogZnJhbWUpCiAg
ICAgfQogfQogCisjaWYgVVNFKEFDQ0VTU0lCSUxJVFlfQ09OVEVYVF9NRU5VUykKK3ZvaWQgV2Vi
Q29udGV4dE1lbnVDbGllbnQ6OnNob3dDb250ZXh0TWVudSgpCit7CisgICAgbV9wYWdlLT5jb250
ZXh0TWVudSgpLT5zaG93KCk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNv
bnRleHRNZW51Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmgKaW5kZXggYjQzNzI0NWMwOWZiNmNiZDM2NWI4YTgy
OGE2NmM3OGM3NmRlMDZjOC4uODZiMGE0ODk4OTBmZjk1MTlkMzk0ZjIwZTBlMmEwOTFhMzgxYWQw
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDb250ZXh0TWVudUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaApAQCAtNTksNyArNTksMTEgQEAgcHJp
dmF0ZToKICNpZiBQTEFURk9STShNQUMpCiAgICAgdmlydHVhbCB2b2lkIHNlYXJjaFdpdGhTcG90
bGlnaHQoKSBPVkVSUklERTsKICNlbmRpZgotICAgIAorCisjaWYgVVNFKEFDQ0VTU0lCSUxJVFlf
Q09OVEVYVF9NRU5VUykKKyAgICB2b2lkIHNob3dDb250ZXh0TWVudSgpIE9WRVJSSURFOworI2Vu
ZGlmCisKICAgICBXZWJQYWdlKiBtX3BhZ2U7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZGFkODEwNDkxYjcyOTNiNDYzYmQ3YzJh
ZTJiNzRmYTdmNDBhODJiOC4uZjg4ZTdjZGQwNDNmNDI4MWQ3OWI0Yjg3NGJjZWVjMTYyYzExYzll
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApA
QCAtMTIyMCwyNSArMTIyMCwyNSBAQCBzdGF0aWMgYm9vbCBpc0NvbnRleHRDbGljayhjb25zdCBQ
bGF0Zm9ybU1vdXNlRXZlbnQmIGV2ZW50KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotc3RhdGlj
IGJvb2wgaGFuZGxlQ29udGV4dE1lbnVFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBs
YXRmb3JtTW91c2VFdmVudCwgUGFnZSogcGFnZSkKK3N0YXRpYyBib29sIGhhbmRsZUNvbnRleHRN
ZW51RXZlbnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBwbGF0Zm9ybU1vdXNlRXZlbnQsIFdl
YlBhZ2UqIHBhZ2UpCiB7Ci0gICAgSW50UG9pbnQgcG9pbnQgPSBwYWdlLT5tYWluRnJhbWUoKS0+
dmlldygpLT53aW5kb3dUb0NvbnRlbnRzKHBsYXRmb3JtTW91c2VFdmVudC5wb3NpdGlvbigpKTsK
LSAgICBIaXRUZXN0UmVzdWx0IHJlc3VsdCA9IHBhZ2UtPm1haW5GcmFtZSgpLT5ldmVudEhhbmRs
ZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQocG9pbnQsIGZhbHNlKTsKKyAgICBJbnRQb2ludCBw
b2ludCA9IHBhZ2UtPmNvcmVQYWdlKCktPm1haW5GcmFtZSgpLT52aWV3KCktPndpbmRvd1RvQ29u
dGVudHMocGxhdGZvcm1Nb3VzZUV2ZW50LnBvc2l0aW9uKCkpOworICAgIEhpdFRlc3RSZXN1bHQg
cmVzdWx0ID0gcGFnZS0+Y29yZVBhZ2UoKS0+bWFpbkZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5o
aXRUZXN0UmVzdWx0QXRQb2ludChwb2ludCwgZmFsc2UpOwogCi0gICAgRnJhbWUqIGZyYW1lID0g
cGFnZS0+bWFpbkZyYW1lKCk7CisgICAgRnJhbWUqIGZyYW1lID0gcGFnZS0+Y29yZVBhZ2UoKS0+
bWFpbkZyYW1lKCk7CiAgICAgaWYgKHJlc3VsdC5pbm5lck5vblNoYXJlZE5vZGUoKSkKICAgICAg
ICAgZnJhbWUgPSByZXN1bHQuaW5uZXJOb25TaGFyZWROb2RlKCktPmRvY3VtZW50KCktPmZyYW1l
KCk7CiAgICAgCiAgICAgYm9vbCBoYW5kbGVkID0gZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5zZW5k
Q29udGV4dE1lbnVFdmVudChwbGF0Zm9ybU1vdXNlRXZlbnQpOwogICAgIGlmIChoYW5kbGVkKQot
ICAgICAgICBwYWdlLT5jaHJvbWUoKS0+c2hvd0NvbnRleHRNZW51KCk7CisgICAgICAgIHBhZ2Ut
PmNvbnRleHRNZW51KCktPnNob3coKTsKIAogICAgIHJldHVybiBoYW5kbGVkOwogfQogCi1zdGF0
aWMgYm9vbCBoYW5kbGVNb3VzZUV2ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmIG1vdXNlRXZlbnQs
IFBhZ2UqIHBhZ2UsIGJvb2wgb25seVVwZGF0ZVNjcm9sbGJhcnMpCitzdGF0aWMgYm9vbCBoYW5k
bGVNb3VzZUV2ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmIG1vdXNlRXZlbnQsIFdlYlBhZ2UqIHBh
Z2UsIGJvb2wgb25seVVwZGF0ZVNjcm9sbGJhcnMpCiB7Ci0gICAgRnJhbWUqIGZyYW1lID0gcGFn
ZS0+bWFpbkZyYW1lKCk7CisgICAgRnJhbWUqIGZyYW1lID0gcGFnZS0+Y29yZVBhZ2UoKS0+bWFp
bkZyYW1lKCk7CiAgICAgaWYgKCFmcmFtZS0+dmlldygpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKQEAgLTEyNDcsNyArMTI0Nyw3IEBAIHN0YXRpYyBib29sIGhhbmRsZU1vdXNlRXZlbnQoY29u
c3QgV2ViTW91c2VFdmVudCYgbW91c2VFdmVudCwgUGFnZSogcGFnZSwgYm9vbCBvCiAgICAgc3dp
dGNoIChwbGF0Zm9ybU1vdXNlRXZlbnQudHlwZSgpKSB7CiAgICAgICAgIGNhc2UgUGxhdGZvcm1F
dmVudDo6TW91c2VQcmVzc2VkOiB7CiAgICAgICAgICAgICBpZiAoaXNDb250ZXh0Q2xpY2socGxh
dGZvcm1Nb3VzZUV2ZW50KSkKLSAgICAgICAgICAgICAgICBwYWdlLT5jb250ZXh0TWVudUNvbnRy
b2xsZXIoKS0+Y2xlYXJDb250ZXh0TWVudSgpOworICAgICAgICAgICAgICAgIHBhZ2UtPmNvcmVQ
YWdlKCktPmNvbnRleHRNZW51Q29udHJvbGxlcigpLT5jbGVhckNvbnRleHRNZW51KCk7CiAgICAg
ICAgICAgICAKICAgICAgICAgICAgIGJvb2wgaGFuZGxlZCA9IGZyYW1lLT5ldmVudEhhbmRsZXIo
KS0+aGFuZGxlTW91c2VQcmVzc0V2ZW50KHBsYXRmb3JtTW91c2VFdmVudCk7CiAgICAgICAgICAg
ICBpZiAoaXNDb250ZXh0Q2xpY2socGxhdGZvcm1Nb3VzZUV2ZW50KSkKQEAgLTEyOTEsNyArMTI5
MSw3IEBAIHZvaWQgV2ViUGFnZTo6bW91c2VFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50JiBtb3Vz
ZUV2ZW50KQogICAgICAgICAvLyBvZiB0aG9zZSBjYXNlcyB3aGVyZSB0aGUgcGFnZSBpcyBub3Qg
YWN0aXZlIGFuZCB0aGUgbW91c2UgaXMgbm90IHByZXNzZWQsIHRoZW4gd2UgY2FuIGZpcmUgYSBt
b3JlCiAgICAgICAgIC8vIGVmZmljaWVudCBzY3JvbGxiYXJzLW9ubHkgdmVyc2lvbiBvZiB0aGUg
ZXZlbnQuCiAgICAgICAgIGJvb2wgb25seVVwZGF0ZVNjcm9sbGJhcnMgPSAhKG1fcGFnZS0+Zm9j
dXNDb250cm9sbGVyKCktPmlzQWN0aXZlKCkgfHwgKG1vdXNlRXZlbnQuYnV0dG9uKCkgIT0gV2Vi
TW91c2VFdmVudDo6Tm9CdXR0b24pKTsKLSAgICAgICAgaGFuZGxlZCA9IGhhbmRsZU1vdXNlRXZl
bnQobW91c2VFdmVudCwgbV9wYWdlLmdldCgpLCBvbmx5VXBkYXRlU2Nyb2xsYmFycyk7CisgICAg
ICAgIGhhbmRsZWQgPSBoYW5kbGVNb3VzZUV2ZW50KG1vdXNlRXZlbnQsIHRoaXMsIG9ubHlVcGRh
dGVTY3JvbGxiYXJzKTsKICAgICB9CiAKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6
OkRpZFJlY2VpdmVFdmVudChzdGF0aWNfY2FzdDx1aW50MzJfdD4obW91c2VFdmVudC50eXBlKCkp
LCBoYW5kbGVkKSk7CkBAIC0xMzE2LDcgKzEzMTYsNyBAQCB2b2lkIFdlYlBhZ2U6Om1vdXNlRXZl
bnRTeW5jRm9yVGVzdGluZyhjb25zdCBXZWJNb3VzZUV2ZW50JiBtb3VzZUV2ZW50LCBib29sJiBo
YQogICAgICAgICAvLyBvZiB0aG9zZSBjYXNlcyB3aGVyZSB0aGUgcGFnZSBpcyBub3QgYWN0aXZl
IGFuZCB0aGUgbW91c2UgaXMgbm90IHByZXNzZWQsIHRoZW4gd2UgY2FuIGZpcmUgYSBtb3JlCiAg
ICAgICAgIC8vIGVmZmljaWVudCBzY3JvbGxiYXJzLW9ubHkgdmVyc2lvbiBvZiB0aGUgZXZlbnQu
CiAgICAgICAgIGJvb2wgb25seVVwZGF0ZVNjcm9sbGJhcnMgPSAhKG1fcGFnZS0+Zm9jdXNDb250
cm9sbGVyKCktPmlzQWN0aXZlKCkgfHwgKG1vdXNlRXZlbnQuYnV0dG9uKCkgIT0gV2ViTW91c2VF
dmVudDo6Tm9CdXR0b24pKTsKLSAgICAgICAgaGFuZGxlZCA9IGhhbmRsZU1vdXNlRXZlbnQobW91
c2VFdmVudCwgbV9wYWdlLmdldCgpLCBvbmx5VXBkYXRlU2Nyb2xsYmFycyk7CisgICAgICAgIGhh
bmRsZWQgPSBoYW5kbGVNb3VzZUV2ZW50KG1vdXNlRXZlbnQsIHRoaXMsIG9ubHlVcGRhdGVTY3Jv
bGxiYXJzKTsKICAgICB9CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128946</attachid>
            <date>2012-02-26 20:50:47 -0800</date>
            <delta_ts>2012-02-26 22:31:16 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-79427-20120227135045.patch</filename>
            <type>text/plain</type>
            <size>36055</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4OTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
MzA5OTQ5ZWE1NTNkNThjYWM4MDdhOTZjZjBmMmRlNzViN2U2MGQ0Li43MzMwNDA5NTgzMzhlMmZj
ZWI1N2UwZTZhMTg5MWYzZTU3NjM5OWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMi0wMi0yMyAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBNb3ZlIENocm9tZUNsaWVudDo6c2hvd0NvbnRleHRNZW51KCkgdG8g
Q29udGV4dE1lbnVDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTc5NDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAg
ICAgICBBZGRlZCBBQ0NFU1NJQklMSVRZX0NPTlRFWFRfTUVOVVMuCisKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm0uaDoKKwogMjAxMi0wMi0yNiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29t
PgogCiAgICAgICAgIEdldHRpbmcgdGhlIGluc3RydWN0aW9uIHN0cmVhbSBmb3IgYSBjb2RlIGJs
b2NrIHNob3VsZCBub3QgcmVxdWlyZSB0d28gbG9hZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhYjhlODEwZjI2
MjFjYzkzZmVhZTQ4MzlmNjhiNGI0Y2I1NWNjNjY4Li4zOTBkMzQ1OGI3YzNhYjhiMGVjMjc0NjI5
MGI4YjA4MmUzMDQ1MjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTItMDItMjMg
IEhhamltZSBNb3JyaXRhICA8bW9ycml0YUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTW92ZSBD
aHJvbWVDbGllbnQ6OnNob3dDb250ZXh0TWVudSgpIHRvIENvbnRleHRNZW51Q2xpZW50CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQyNworCisgICAg
ICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgLSBSZW1vdmVkIENocm9tZUNs
aWVudDo6c2hvd0NvbnRleHRNZW51KCksIENocm9tZTo6c2hvd0NvbnRleHRNZW51KCkKKyAgICAg
ICAgLSBBZGRlZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dDb250ZXh0TWVudUF0KCksIENv
bnRleHRNZW51Q2xpZW50OjpzaG93Q29udGV4dE1lbnUoKQorICAgICAgICAtIEhpZGVkIHNob3dD
b250ZXh0TWVudSgpIGJlaGluZCBBQ0NFU1NJQklMSVRZX0NPTlRFWFRfTUVOVVMKKworICAgICAg
ICBUaGlzIGNoYW5nZSBsb2NhbGl6ZXMgY29udGV4dCBtZW51IHJlbGF0ZWQgY29kZSBhbmQgd2ls
bCBtYWtlIGl0IGVhc3kgdG8KKyAgICAgICAgbW9kdWxhcml6ZSBDT05URVhUX01FTlVTIGNvZGUu
CisKKyAgICAgICAgUmVmYWN0b3JpbmcuIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIFdlYkNv
cmUuZXhwLmluOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyLm1tOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ciBhY2Nlc3NpYmlsaXR5U2hvd0NvbnRleHRNZW51XSk6CisgICAgICAgICogbG9hZGVyL0VtcHR5
Q2xpZW50cy5oOgorICAgICAgICAoRW1wdHlDb250ZXh0TWVudUNsaWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpFbXB0eUNvbnRleHRNZW51Q2xpZW50OjpzaG93Q29udGV4dE1lbnUpOgorICAgICAg
ICAqIHBhZ2UvQ29udGV4dE1lbnVDbGllbnQuaDoKKyAgICAgICAgKENvbnRleHRNZW51Q2xpZW50
KToKKyAgICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6c2hvd0Nv
bnRleHRNZW51QXQpOgorICAgICAgICAqIHBhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmg6Cisg
ICAgICAgIChDb250ZXh0TWVudUNvbnRyb2xsZXIpOgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmNw
cDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZS5oOgorICAgICAgICAoQ2hyb21lKToKKyAgICAgICAg
KiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50KToKKwogMjAxMi0w
Mi0yNiAgSHlvd29uIEtpbSAgPGh3MTAwOC5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VG
TF0gSW1wbGVtZW50YXRpb24gb2YgR3JhcGhpY3NDb250ZXh0M0QgZm9yIEVGTCBwb3J0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9ibGFja2JlcnJ5L0NoYW5nZUxvZwppbmRleCA1ZjE4NmI3OTg1MDJkN2EyN2VkZmViZTZkYWRj
YTQxZjRkNzQ5MzlmLi43NTNmYTNiNTkyZmRkODA2ZGE5Yjk1ZjBkZmJlNGQxMDQ2ZDI2ODg5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0y
MyAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGNocm9taXVtLm9yZz4KKworICAgICAgICBNb3Zl
IENocm9tZUNsaWVudDo6c2hvd0NvbnRleHRNZW51KCkgdG8gQ29udGV4dE1lbnVDbGllbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDI3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEJsYWNrQmVycnkuaDoKKyAgICAgICAgKENocm9tZUNsaWVudEJsYWNrQmVy
cnkpOgorCiAyMDEyLTAyLTI0ICBNaWtlIEZlbnRvbiAgPG1pZmVudG9uQHJpbS5jb20+CiAKICAg
ICAgICAgW0JsYWNrQmVycnldIEVsaW1pbmF0ZSBleGNlc3NpdmUgQmxhY2tCZXJyeTo6UGxhdGZv
cm0gdXNlIGluIElucHV0SGFuZGxlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBiMzYx
NDIzZmQxYzA0MDA0NmEwMTFmNjY4YjYxYTIyMmU1YmJlODkxLi5iYmU1YjM1YmJjZDZmZDM2ODYz
ZDdjMDBlYjI0MDc2MGQ1ZTQ4OTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDEyLTAyLTIzICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIE1vdmUgQ2hyb21lQ2xpZW50OjpzaG93Q29udGV4dE1lbnUoKSB0byBD
b250ZXh0TWVudUNsaWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Nzk0MjcKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAg
ICAgICogc3JjL0Nocm9tZUNsaWVudEltcGwuaDoKKyAgICAgICAgKENocm9tZUNsaWVudEltcGwp
OgorCiAyMDEyLTAyLTI2ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgVGFrZSAyIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZs
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCA1NzYyMjRmZjhl
NmE3MzNlMjU0YjQ3N2M4NDhkYmFhMjFkM2I5MjUwLi5hNGYwNjY3N2JjM2NjMjYyNDY3YjhiMzQ1
MTJiMWJlMjE2MjdkMmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTIt
MDItMjMgIEhhamltZSBNb3JyaXRhICA8bW9ycml0YUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
TW92ZSBDaHJvbWVDbGllbnQ6OnNob3dDb250ZXh0TWVudSgpIHRvIENvbnRleHRNZW51Q2xpZW50
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQyNwor
CisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRFZmwuaDoKKyAgICAgICAgKENocm9tZUNsaWVudEVmbCk6CisKIDIw
MTItMDItMjQgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWprb3dza2lAc2Ftc3VuZy5jb20+
CiAKICAgICAgICAgW0VGTF1bRFJUXSBJbXBsZW1lbnQgc2V0VmFsdWVGb3JVc2VyIGFuZCBzZXRB
dXRvZmlsbGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDU5YmI5MGFjYjA2ZmUzNzI3MDExMjVmZjJi
MDI4NTc2OTcwOGU4MDMuLjZhZDAxOGE3OGNlMDllODE5MWYzMTZhY2JmNjM1ZDY3YmVjNDUyNzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0yMyAgSGFqaW1lIE1v
cnJpdGEgIDxtb3JyaXRhQGNocm9taXVtLm9yZz4KKworICAgICAgICBNb3ZlIENocm9tZUNsaWVu
dDo6c2hvd0NvbnRleHRNZW51KCkgdG8gQ29udGV4dE1lbnVDbGllbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5NDI3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dEd0ay5oOgorICAgICAgICAoQ2hyb21lQ2xpZW50KToKKwogMjAxMi0wMi0yNCAgU2hpbnlhIEth
d2FuYWthICA8c2hpbnlha0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgU3BlbGxDaGVja1JlcXVl
c3QgbmVlZHMgdG8ga25vdyB0aGUgY29udGV4dCB3aGVyZSB0aGUgc3BlbGxjaGVjayBoYXBwZW5l
ZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwppbmRleCAyMzNmMjNjNzkxMzM0MThmNGYzYzBjYzdiMDlkYWUxZWIy
ODQ0ZWRjLi5lZDRhZTY5MzZjOTYwMzQwNjIyYWFjMzU0NGVlMzRjNjQxNjdiZGUzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDItMjMgIEhhamltZSBNb3JyaXRhICA8
bW9ycml0YUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTW92ZSBDaHJvbWVDbGllbnQ6OnNob3dD
b250ZXh0TWVudSgpIHRvIENvbnRleHRNZW51Q2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTQyNworCisgICAgICAgIFJldmlld2VkIGJ5IEFk
YW0gQmFydGguCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVu
dC5oOgorICAgICAgICAoV2ViQ29udGV4dE1lbnVDbGllbnQpOgorICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50Lm1tOgorICAgICAgICAoV2ViQ29udGV4dE1lbnVD
bGllbnQ6OnNob3dDb250ZXh0TWVudSk6IE1vdmVkIGZyb20gV2ViQ2hyb21lQ2xpZW50CisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tOgorCiAyMDEyLTAyLTI1ICBTYW0gV2VpbmlnICA8
c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUXVpY2tMb29rIGV2ZW50cyBkb24ndCBtYWtlIGl0
IHRvIFdlYktpdCBwbHVnaW5zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBkMGJjZDY3NGJlNmVhMWY1ZGU2
ZDA4MDdiZmMzOGY2OWJhMTIxZjc2Li45NmJiMWUwZTZjOGY4ODYyZjEyYzdlYzM0ZDc0ZTg4Mzhm
YWRlYTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAyLTIzICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgQ2hyb21l
Q2xpZW50OjpzaG93Q29udGV4dE1lbnUoKSB0byBDb250ZXh0TWVudUNsaWVudAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0MjcKKworICAgICAgICBS
ZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50UXQuaDoKKyAgICAgICAgKENocm9tZUNsaWVudFF0KToKKwogMjAxMi0wMi0yNCAgSm9j
ZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9raWEuY29tPgogCiAgICAgICAgIFtR
dF0gQVBJOiBVbmlmeSB0aGUgbG9hZGluZyBwcm9wZXJ0aWVzIGFuZCBzaWduYWxzLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCmluZGV4IDFjN2YzMjBhMjQ0OGEwNDY5ZWI4MmU5YWI2NDVlZWY5MjdjYjUyZTkuLjM0
ZWQ2ZmFiYzJmZWJhNmE0YzhlOWFmYjRiMDY3YzFiZTA5NGMwMWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0yMyAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBNb3ZlIENocm9tZUNsaWVudDo6c2hvd0NvbnRleHRNZW51
KCkgdG8gQ29udGV4dE1lbnVDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTc5NDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4K
KworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAo
V2ViQ2hyb21lQ2xpZW50KToKKwogMjAxMi0wMi0yNCAgU2hpbnlhIEthd2FuYWthICA8c2hpbnlh
a0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgU3BlbGxDaGVja1JlcXVlc3QgbmVlZHMgdG8ga25v
dyB0aGUgY29udGV4dCB3aGVyZSB0aGUgc3BlbGxjaGVjayBoYXBwZW5lZC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW5jZS9DaGFu
Z2VMb2cKaW5kZXggOTk4ZjVkMTY1YzZjNWQxZTBkMjU1MTM1MDgyOGVkMmRhNTc0YjMwMi4uNzhl
Y2I3NWIwOGUwMTlhMzVhMjMzNTY3NmIzNDc2Nzg1OWRlNmYzYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC93aW5jZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0yMyAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRh
QGNocm9taXVtLm9yZz4KKworICAgICAgICBNb3ZlIENocm9tZUNsaWVudDo6c2hvd0NvbnRleHRN
ZW51KCkgdG8gQ29udGV4dE1lbnVDbGllbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc5NDI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0
aC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmg6CisgICAg
ICAgIChDaHJvbWVDbGllbnRXaW5DRSk6CisKIDIwMTItMDItMjQgIFNoaW55YSBLYXdhbmFrYSAg
PHNoaW55YWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFNwZWxsQ2hlY2tSZXF1ZXN0IG5lZWRz
IHRvIGtub3cgdGhlIGNvbnRleHQgd2hlcmUgdGhlIHNwZWxsY2hlY2sgaGFwcGVuZWQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hh
bmdlTG9nCmluZGV4IDBjNjAyMWVhYmE3MWZlZmY2N2FlYWEzMzliOGE3MmI2NzI1ZjY5ODEuLjIx
MmFiMjcxMzMzNjA2NTUwYzJkOWFmN2NjZjQwN2U3OWRiZThjNzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMjMgIEhhamltZSBNb3JyaXRhICA8bW9ycml0YUBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgTW92ZSBDaHJvbWVDbGllbnQ6OnNob3dDb250ZXh0TWVudSgp
IHRvIENvbnRleHRNZW51Q2xpZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03OTQyNworCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisK
KyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4Lmg6CisgICAgICAgIChDaHJv
bWVDbGllbnRXeCk6CisKIDIwMTItMDItMjQgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFNwZWxsQ2hlY2tSZXF1ZXN0IG5lZWRzIHRvIGtub3cgdGhl
IGNvbnRleHQgd2hlcmUgdGhlIHNwZWxsY2hlY2sgaGFwcGVuZWQuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYWNm
YzJkMDIwY2I4ZGIwNDgwNmYzYmI1MWUwOGI3OTBhZjYwZGQ5MC4uZjEyMThkN2ZkNmE0YjcxMTdk
ZWU3NmNhNGVlZDcyOWFlOWE0ZWY0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEy
LTAyLTIzICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IE1vdmUgQ2hyb21lQ2xpZW50OjpzaG93Q29udGV4dE1lbnUoKSB0byBDb250ZXh0TWVudUNsaWVu
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk0MjcK
KworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDaHJvbWVD
bGllbnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1l
bnVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29u
dGV4dE1lbnVDbGllbnQ6OnNob3dDb250ZXh0TWVudSk6IE1vdmVkIGZyb20gV2ViQ2hyb21lQ2xp
ZW50CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNs
aWVudC5oOgorICAgICAgICAoV2ViQ29udGV4dE1lbnVDbGllbnQpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6aGFuZGxlQ29udGV4
dE1lbnVFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OmhhbmRsZU1vdXNlRXZlbnQpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlOjptb3VzZUV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6bW91c2VFdmVudFN5bmNGb3JUZXN0aW5nKToKKwogMjAxMi0wMi0yNSAgQW5kZXJzIENhcmxz
c29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZHJlc3MgcmV2aWV3IGZlZWRi
YWNrIGZyb20gQW5kcmVhcyBLbGluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaApp
bmRleCA3OTRkYjA5ZGJjMTMyNTI3M2Q4ZDg4OTc2MDg5MzJmMGM5YmMzN2I2Li40YTI1OTgxM2E5
MDMwYzcxNzI0NThmNWIzMGNjNzVkMmFhYzNjZDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Q
bGF0Zm9ybS5oCkBAIC0xMDk4LDYgKzEwOTgsMTAgQEAKICNkZWZpbmUgV1RGX1VTRV9DUk9TU19Q
TEFURk9STV9DT05URVhUX01FTlVTIDEKICNlbmRpZgogCisjaWYgUExBVEZPUk0oTUFDKSAmJiBI
QVZFKEFDQ0VTU0lCSUxJVFkpCisjZGVmaW5lIFdURl9VU0VfQUNDRVNTSUJJTElUWV9DT05URVhU
X01FTlVTIDEKKyNlbmRpZgorCiAvKiBHZW9sb2NhdGlvbiByZXF1ZXN0IHBvbGljeS4gcHJlLWVt
cHRpdmUgcG9saWN5IGlzIHRvIGFjcXVpcmUgdXNlciBwZXJtaXNzaW9uIGJlZm9yZSBhY3F1aXJp
bmcgbG9jYXRpb24uCiAgICBDbGllbnQgYmFzZWQgaW1wbGVtZW50YXRpb25zIHdpbGwgaGF2ZSBv
cHRpb24gdG8gY2hvb3NlIGJldHdlZW4gcHJlLWVtcHRpdmUgYW5kIG5vbnByZS1lbXB0aXZlIHBl
cm1pc3Npb24gcG9saWN5LgogICAgcHJlLWVtcHRpdmUgcGVybWlzc2lvbiBwb2xpY3kgaXMgZW5h
YmxlZCBieSBkZWZhdWx0IGZvciBhbGwgY2xpZW50LWJhc2VkIGltcGxlbWVudGF0aW9ucy4gKi8K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KaW5kZXggMzA1NGFhMjczNmM4ZGFkYzlmYWUyYjc0NzAxZTQ2NGNk
MjNlYTgxMC4uODRlOTY2MWZjZGE3Yzg5ZjdlZWYzMjgyNWYxZmJkODc4ZGNiMzlhYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4KQEAgLTE2NjksNyArMTY2OSw2IEBAIF9fWk5LN1dlYkNvcmUyMUNvbnRl
eHRNZW51Q29udHJvbGxlcjIxY2hlY2tPckVuYWJsZUlmTmVlZGVkRVJOU18xNUNvbnRleHRNZW51
SXRlCiBfX1pON1dlYkNvcmUyMUNvbnRleHRNZW51Q29udHJvbGxlcjIzY29udGV4dE1lbnVJdGVt
U2VsZWN0ZWRFUE5TXzE1Q29udGV4dE1lbnVJdGVtRQogX19aTjdXZWJDb3JlMjFjb250ZXh0TWVu
dUl0ZW1WZWN0b3JFUDE0TlNNdXRhYmxlQXJyYXkKIF9fWk43V2ViQ29yZTIzcGxhdGZvcm1NZW51
RGVzY3JpcHRpb25FUk4zV1RGNlZlY3RvcklOU18xNUNvbnRleHRNZW51SXRlbUVMbTBFRUUKLV9f
Wk43V2ViQ29yZTZDaHJvbWUxNXNob3dDb250ZXh0TWVudUV2CiBfX1pOSzdXZWJDb3JlMTFDb250
ZXh0TWVudTE5cGxhdGZvcm1EZXNjcmlwdGlvbkV2CiBfX1pOSzdXZWJDb3JlMTVDb250ZXh0TWVu
dUl0ZW0xNXBsYXRmb3JtU3ViTWVudUV2CiBfX1pOSzdXZWJDb3JlMTVDb250ZXh0TWVudUl0ZW00
dHlwZUV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tCmluZGV4IDZiYzRjNjNlYmU5
MDRmNThkMDlkYzcyNWQ5YmEyNjkxMzQ4ODAzZjQuLmVkZDcyMjM2Yzg3ZWViNWZmMDY3MDVlZDc1
MzM3YzYyM2JjMTM5NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
bWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tCkBAIC00
NCw2ICs0NCw3IEBACiAjaW1wb3J0ICJBY2Nlc3NpYmlsaXR5VGFibGVSb3cuaCIKICNpbXBvcnQg
IkNocm9tZS5oIgogI2ltcG9ydCAiQ29sb3JNYWMuaCIKKyNpbXBvcnQgIkNvbnRleHRNZW51Q29u
dHJvbGxlci5oIgogI2ltcG9ydCAiRnJhbWUuaCIKICNpbXBvcnQgIkZyYW1lTG9hZGVyQ2xpZW50
LmgiCiAjaW1wb3J0ICJGcmFtZVNlbGVjdGlvbi5oIgpAQCAtMjYxNCwxNCArMjYxNSw3IEBAIHN0
YXRpYyBOU1N0cmluZyogcm9sZVZhbHVlVG9OU1N0cmluZyhBY2Nlc3NpYmlsaXR5Um9sZSB2YWx1
ZSkKICAgICBQYWdlKiBwYWdlID0gZnJhbWUtPnBhZ2UoKTsKICAgICBpZiAoIXBhZ2UpCiAgICAg
ICAgIHJldHVybjsKLQotICAgIC8vIFNpbXVsYXRlIGEgY2xpY2sgaW4gdGhlIG1pZGRsZSBvZiB0
aGUgb2JqZWN0LgotICAgIEludFBvaW50IGNsaWNrUG9pbnQgPSBtX29iamVjdC0+Y2xpY2tQb2lu
dCgpOwotICAgIAotICAgIFBsYXRmb3JtTW91c2VFdmVudCBtb3VzZUV2ZW50KGNsaWNrUG9pbnQs
IGNsaWNrUG9pbnQsIFJpZ2h0QnV0dG9uLCBQbGF0Zm9ybUV2ZW50OjpNb3VzZVByZXNzZWQsIDEs
IGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBjdXJyZW50VGltZSgpKTsKLSAgICBib29sIGhh
bmRsZWQgPSBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPnNlbmRDb250ZXh0TWVudUV2ZW50KG1vdXNl
RXZlbnQpOwotICAgIGlmIChoYW5kbGVkKQotICAgICAgICBwYWdlLT5jaHJvbWUoKS0+c2hvd0Nv
bnRleHRNZW51KCk7CisgICAgcGFnZS0+Y29udGV4dE1lbnVDb250cm9sbGVyKCktPnNob3dDb250
ZXh0TWVudUF0KGZyYW1lLCBtX29iamVjdC0+Y2xpY2tQb2ludCgpKTsKIH0KIAogLSAodm9pZClh
Y2Nlc3NpYmlsaXR5UGVyZm9ybUFjdGlvbjooTlNTdHJpbmcqKWFjdGlvbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IDhjNGYwMGE1MjA1MjBhNjY3ZjhlNTc1NjVlYWU2MmJi
MGNhM2ZhMGYuLjcxYWVhZmRmYzY5ZWI5NGEyOGFjOGJhMzFlMWZiODAwNDQxMDQ5OGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTE1MiwxMCArMTUyLDYgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxQb3B1cE1lbnU+IGNyZWF0ZVBvcHVwTWVudShQb3B1
cE1lbnVDbGllbnQqKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZihuZXcgRW1wdHlQb3B1cE1lbnUo
KSk7IH0KICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2VhcmNoUG9wdXBNZW51PiBjcmVhdGVTZWFy
Y2hQb3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50KikgY29uc3QgeyByZXR1cm4gYWRvcHRSZWYobmV3
IEVtcHR5U2VhcmNoUG9wdXBNZW51KCkpOyB9CiAKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykK
LSAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51KCkgeyB9Ci0jZW5kaWYKLQogI2lmIEVO
QUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQogICAgIHZpcnR1YWwgdm9pZCByZWdpc3Rl
clByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJp
bmcmLCBjb25zdCBTdHJpbmcmKSB7IH0KICNlbmRpZgpAQCAtNTY2LDYgKzU2MiwxMCBAQCBwdWJs
aWM6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZpcnR1YWwgdm9pZCBzZWFyY2hXaXRoU3BvdGxp
Z2h0KCkgeyB9CiAjZW5kaWYKKworI2lmIFVTRShBQ0NFU1NJQklMSVRZX0NPTlRFWFRfTUVOVVMp
CisgICAgdmlydHVhbCB2b2lkIHNob3dDb250ZXh0TWVudSgpIHsgfQorI2VuZGlmCiB9OwogI2Vu
ZGlmIC8vIEVOQUJMRShDT05URVhUX01FTlVTKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0Nocm9tZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAKaW5kZXgg
NWUwMTIyZGRkZGM5ZmJhNjRhMGE5NjBmM2RmOWFkOTBjNzAzM2VmYy4uYWRlMjYyZDdjM2M0MmFi
ZDU0ZmNiZTUwZDVmOGU2M2MzNDlmMWMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtNTU1
LDEzICs1NTUsNiBAQCBQYXNzUmVmUHRyPFNlYXJjaFBvcHVwTWVudT4gQ2hyb21lOjpjcmVhdGVT
ZWFyY2hQb3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50KiBjbGllbgogICAgIHJldHVybiBtX2NsaWVu
dC0+Y3JlYXRlU2VhcmNoUG9wdXBNZW51KGNsaWVudCk7CiB9CiAKLSNpZiBFTkFCTEUoQ09OVEVY
VF9NRU5VUykKLXZvaWQgQ2hyb21lOjpzaG93Q29udGV4dE1lbnUoKQotewotICAgIG1fY2xpZW50
LT5zaG93Q29udGV4dE1lbnUoKTsKLX0KLSNlbmRpZgotCiBib29sIENocm9tZTo6cmVxdWlyZXNG
dWxsc2NyZWVuRm9yVmlkZW9QbGF5YmFjaygpCiB7CiAgICAgcmV0dXJuIG1fY2xpZW50LT5yZXF1
aXJlc0Z1bGxzY3JlZW5Gb3JWaWRlb1BsYXliYWNrKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWUuaAppbmRleCBj
NjcwNGM5N2E0NGRmNjI5YjUyOGZmYWFkZmFiZTIyMWExYTEzYzczLi44NDFlYjUwYzA3YzBjODll
ZmU5MjIwYmY1YTdlZDdjZGM5NjBlYjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0Nocm9tZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmgKQEAgLTE3MywxMCAr
MTczLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBQYXNzUmVmUHRyPFBvcHVwTWVu
dT4gY3JlYXRlUG9wdXBNZW51KFBvcHVwTWVudUNsaWVudCopIGNvbnN0OwogICAgICAgICBQYXNz
UmVmUHRyPFNlYXJjaFBvcHVwTWVudT4gY3JlYXRlU2VhcmNoUG9wdXBNZW51KFBvcHVwTWVudUNs
aWVudCopIGNvbnN0OwogCi0jaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0gICAgICAgIHZvaWQg
c2hvd0NvbnRleHRNZW51KCk7Ci0jZW5kaWYKLQogICAgIHByaXZhdGU6CiAgICAgICAgIENocm9t
ZShQYWdlKiwgQ2hyb21lQ2xpZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmlu
ZGV4IDMzYjFjNGI4NzE0OTA4M2JjNjhlYTc5Yjc5ZmYxNDJlY2RkNTllNDMuLmYxNGQzZDllNTBm
ZmNjYTI3ZDJlOGE3MTZiZDRlZWIxZjJhMzA1MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGll
bnQuaApAQCAtMzA3LDEwICszMDcsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxQb3B1cE1lbnU+IGNyZWF0ZVBvcHVwTWVudShQb3B1cE1lbnVDbGll
bnQqKSBjb25zdCA9IDA7CiAgICAgICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTZWFyY2hQb3B1cE1l
bnU+IGNyZWF0ZVNlYXJjaFBvcHVwTWVudShQb3B1cE1lbnVDbGllbnQqKSBjb25zdCA9IDA7CiAK
LSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICAgICAgdmlydHVhbCB2b2lkIHNob3dDb250
ZXh0TWVudSgpID0gMDsKLSNlbmRpZgotCiAgICAgICAgIHZpcnR1YWwgdm9pZCBwb3N0QWNjZXNz
aWJpbGl0eU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiwgQVhPYmplY3RDYWNoZTo6
QVhOb3RpZmljYXRpb24pIHsgfQogICAgICAgICAKICAgICAgICAgdmlydHVhbCB2b2lkIG5vdGlm
eVNjcm9sbGVyVGh1bWJJc1Zpc2libGVJblJlY3QoY29uc3QgSW50UmVjdCYpIHsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNsaWVudC5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9Db250ZXh0TWVudUNsaWVudC5oCmluZGV4IGM5Mzg5YzA1ODgxYWM4MTIxMmVm
ZjgyM2EwMWEwZjA2NTQ1NjNkYWIuLjMxMDM0OWJiMmNiNWRkMDQ2ZGM3MWJmOTAzZDIyMzU2ODgx
ODFkOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q2xpZW50LmgKQEAgLTYwLDYg
KzYwLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiBQTEFURk9STShNQUMpCiAgICAgICAg
IHZpcnR1YWwgdm9pZCBzZWFyY2hXaXRoU3BvdGxpZ2h0KCkgPSAwOwogI2VuZGlmCisKKyNpZiBV
U0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTKQorICAgICAgICB2aXJ0dWFsIHZvaWQgc2hv
d0NvbnRleHRNZW51KCkgPSAwOworI2VuZGlmCiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCmluZGV4IDk4YjI5ODE3ZmM1MWMwYThj
MjczY2ViYTQ2YjBmNmFmMjY1YTJmMjMuLmM1MTU2NzUzYmFiMjg3NjJiNWE4MGE2YzVhOGI0YzQ4
ZjU4NWY0YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250
cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxl
ci5jcHAKQEAgLTU4LDYgKzU4LDcgQEAKICNpbmNsdWRlICJOYXZpZ2F0aW9uQWN0aW9uLmgiCiAj
aW5jbHVkZSAiTm9kZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUV2
ZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3Qu
aCIKICNpbmNsdWRlICJSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5oIgpAQCAtMTI3MCw2ICsxMjcx
LDE3IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpjaGVja09yRW5hYmxlSWZOZWVkZWQo
Q29udGV4dE1lbnVJdGVtJiBpdGVtKSBjb25zdAogICAgIGl0ZW0uc2V0RW5hYmxlZChzaG91bGRF
bmFibGUpOwogfQogCisjaWYgVVNFKEFDQ0VTU0lCSUxJVFlfQ09OVEVYVF9NRU5VUykKK3ZvaWQg
Q29udGV4dE1lbnVDb250cm9sbGVyOjpzaG93Q29udGV4dE1lbnVBdChGcmFtZSogZnJhbWUsIGNv
bnN0IEludFBvaW50JiBjbGlja1BvaW50KQoreworICAgIC8vIFNpbXVsYXRlIGEgY2xpY2sgaW4g
dGhlIG1pZGRsZSBvZiB0aGUgYWNjZXNzaWJpbGl0eSBvYmplY3QuCisgICAgUGxhdGZvcm1Nb3Vz
ZUV2ZW50IG1vdXNlRXZlbnQoY2xpY2tQb2ludCwgY2xpY2tQb2ludCwgUmlnaHRCdXR0b24sIFBs
YXRmb3JtRXZlbnQ6Ok1vdXNlUHJlc3NlZCwgMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2Us
IGN1cnJlbnRUaW1lKCkpOworICAgIGJvb2wgaGFuZGxlZCA9IGZyYW1lLT5ldmVudEhhbmRsZXIo
KS0+c2VuZENvbnRleHRNZW51RXZlbnQobW91c2VFdmVudCk7CisgICAgaWYgKGhhbmRsZWQgJiYg
Y2xpZW50KCkpCisgICAgICAgIGNsaWVudCgpLT5zaG93Q29udGV4dE1lbnUoKTsKK30KKyNlbmRp
ZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVYVF9N
RU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9s
bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCmluZGV4
IDM1ODhmMDM3MTgyOTRlMTE1YmUwZWEzNDJiY2I5ZDY4OWEzMWY4ODguLmZkYWU5NDZkMTg4NGNj
OGExZWE3MGIyZGIzNWY0MGJhOGIzMzJjYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250
ZXh0TWVudUNvbnRyb2xsZXIuaApAQCAtNjUsNiArNjUsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICB2b2lkIHNldEhpdFRlc3RSZXN1bHQoY29uc3QgSGl0VGVzdFJlc3VsdCYgcmVz
dWx0KSB7IG1faGl0VGVzdFJlc3VsdCA9IHJlc3VsdDsgfQogICAgICAgICBjb25zdCBIaXRUZXN0
UmVzdWx0JiBoaXRUZXN0UmVzdWx0KCkgeyByZXR1cm4gbV9oaXRUZXN0UmVzdWx0OyB9CiAKKyNp
ZiBVU0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTKQorICAgICAgICB2b2lkIHNob3dDb250
ZXh0TWVudUF0KEZyYW1lKiwgY29uc3QgSW50UG9pbnQmIGNsaWNrUG9pbnQpOworI2VuZGlmCisK
ICAgICBwcml2YXRlOgogICAgICAgICBDb250ZXh0TWVudUNvbnRyb2xsZXIoUGFnZSosIENvbnRl
eHRNZW51Q2xpZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmggYi9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5oCmluZGV4IDk5
YzhiNjA2MmE0M2UxMTQ3ZWRjNDE2OTY1ZWYzNWY4OTI3NjE2YzIuLjNlNmRiNDdhOTMwM2NlYzlk
M2ZmNmE1ZWQ3YmQ4MTZiZTg0NDNiNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2ti
ZXJyeS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmgKKysrIGIvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNrQmVycnku
aApAQCAtMTM5LDcgKzEzOSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0SXRl
bUFsaWdubWVudEZvbGxvd3NNZW51V3JpdGluZ0RpcmVjdGlvbigpOwogICAgIHZpcnR1YWwgUGFz
c1JlZlB0cjxQb3B1cE1lbnU+IGNyZWF0ZVBvcHVwTWVudShQb3B1cE1lbnVDbGllbnQqKSBjb25z
dDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2VhcmNoUG9wdXBNZW51PiBjcmVhdGVTZWFyY2hQ
b3B1cE1lbnUoUG9wdXBNZW51Q2xpZW50KikgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHNob3dD
b250ZXh0TWVudSgpIHsgfQogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAg
IHZpcnR1YWwgdm9pZCBhdHRhY2hSb290R3JhcGhpY3NMYXllcihGcmFtZSosIEdyYXBoaWNzTGF5
ZXIqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVu
dEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9tZUNsaWVudEltcGwuaApp
bmRleCAyM2UwMmZmM2Q5OTUwNGZjMjk5ODJmMzcxMTYzNTZhMTAwNTQ5NzZjLi4wM2E3ODgwMDkx
MzMxOWNiMmYxNGNhYjU5ZWE2NzU3OGIzNmRlNDg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9DaHJvbWVDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvQ2hyb21lQ2xpZW50SW1wbC5oCkBAIC0xOTYsMTAgKzE5Niw2IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6UG9wdXBNZW51PiBjcmVhdGVQb3B1cE1l
bnUoV2ViQ29yZTo6UG9wdXBNZW51Q2xpZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBQYXNzUmVm
UHRyPFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVudT4gY3JlYXRlU2VhcmNoUG9wdXBNZW51KFdlYkNv
cmU6OlBvcHVwTWVudUNsaWVudCopIGNvbnN0OwogCi0jaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMp
Ci0gICAgdmlydHVhbCB2b2lkIHNob3dDb250ZXh0TWVudSgpIHsgfQotI2VuZGlmCi0KICAgICB2
aXJ0dWFsIGJvb2wgc2hvdWxkUnVuTW9kYWxEaWFsb2dEdXJpbmdQYWdlRGlzbWlzc2FsKGNvbnN0
IERpYWxvZ1R5cGUmLCBjb25zdCBTdHJpbmcmIGRpYWxvZ01lc3NhZ2UsIFdlYkNvcmU6OkZyYW1l
TG9hZGVyOjpQYWdlRGlzbWlzc2FsVHlwZSkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hv
dWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFdlYkNvcmU6OlNjcm9sbERpcmVjdGlvbikgY29uc3Q7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5oCmluZGV4IDgyNTEyMjUxZjZhNDQwZWE1OTMzMDEzZTExOGRmM2MwMDI0Yzc5ZjMuLjc3ZGI5
ODI4MWJmMTZlZjE0YjdkM2UzZjM2NzAzZGFkN2Q0MmQwZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCkBAIC0xMjEsMTAgKzEy
MSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVhY2hlZE1heEFwcENhY2hlU2l6ZShp
bnQ2NF90IHNwYWNlTmVlZGVkKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVhY2hlZEFwcGxpY2F0aW9u
Q2FjaGVPcmlnaW5RdW90YShTZWN1cml0eU9yaWdpbiosIGludDY0X3QgdG90YWxTcGFjZU5lZWRl
ZCk7CiAKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd0Nv
bnRleHRNZW51KCkgeyB9Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAg
dmlydHVhbCB2b2lkIG5lZWRUb3VjaEV2ZW50cyhib29sKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmggYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAppbmRleCA1OTA1
ZjU2Nzk1OTMxNmI5MTU2NDhlMzhkMTY1YzI5NGNlZGQ5NzA2Li5kY2VhMmYwYzQyMzkwZDYxODM2
NTFhZjI5MzZmNWU4Njk3ZDgxZDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaApAQCAtMTI1LDkgKzEyNSw2IEBAIG5hbWVzcGFj
ZSBXZWJLaXQgewogI2VuZGlmCiAgICAgICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkTWF4QXBwQ2Fj
aGVTaXplKGludDY0X3Qgc3BhY2VOZWVkZWQpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVhY2hl
ZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YShTZWN1cml0eU9yaWdpbiosIGludDY0X3QgdG90
YWxTcGFjZU5lZWRlZCk7Ci0jaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0gICAgICAgIHZpcnR1
YWwgdm9pZCBzaG93Q29udGV4dE1lbnUoKSB7IH0KLSNlbmRpZgogICAgICAgICB2aXJ0dWFsIHZv
aWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pOwogICAgICAg
ICB2aXJ0dWFsIHZvaWQgbG9hZEljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8V1RGOjpTdHJpbmc+
JiwgRmlsZUljb25Mb2FkZXIqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA2NmZhMDYwYjVhNTNkYmMyZjM4ZWVhNmY1
NDUyZDc2ZGE2YmIxZjkyLi40NmQxMjAxZDU5NWFkZTExN2FjMDJkNzBkZWY3OTA4ZjEwZDM0Yjc4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaApAQCAtMTg0LDEwICsxODQsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVm
UHRyPFdlYkNvcmU6OlBvcHVwTWVudT4gY3JlYXRlUG9wdXBNZW51KFdlYkNvcmU6OlBvcHVwTWVu
dUNsaWVudCopIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb3Jl
OjpTZWFyY2hQb3B1cE1lbnU+IGNyZWF0ZVNlYXJjaFBvcHVwTWVudShXZWJDb3JlOjpQb3B1cE1l
bnVDbGllbnQqKSBjb25zdCBPVkVSUklERTsKIAotI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQot
ICAgIHZpcnR1YWwgdm9pZCBzaG93Q29udGV4dE1lbnUoKSBPVkVSUklERTsKLSNlbmRpZgotICAg
IAogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVk
KSBPVkVSUklERSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hh
bmdlZCh1bnNpZ25lZCkgT1ZFUlJJREUgeyB9CiAgICAgdmlydHVhbCBib29sIHNob3VsZFJ1YmJl
ckJhbmRJbkRpcmVjdGlvbihXZWJDb3JlOjpTY3JvbGxEaXJlY3Rpb24pIGNvbnN0IE9WRVJSSURF
IHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQubW0KaW5kZXggM2JhYzg3YjljNjhjMTFkOTlhYjg5MzAwMDJk
NDUzNmNmZThjMDczYi4uODNmODQ1OTg5YjI3NjA5NjBjMmI3YjJmNjI5ZjRhNDYyZDhjZDJhMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5tbQpAQCAtODU3LDM1ICs4NTcsNiBAQCBQYXNzUmVmUHRyPFdlYkNvcmU6OlNlYXJjaFBv
cHVwTWVudT4gV2ViQ2hyb21lQ2xpZW50OjpjcmVhdGVTZWFyY2hQb3B1cE1lbnUoV2ViQwogICAg
IHJldHVybiBhZG9wdFJlZihuZXcgU2VhcmNoUG9wdXBNZW51TWFjKGNsaWVudCkpOwogfQogCi0j
aWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi12b2lkIFdlYkNocm9tZUNsaWVudDo6c2hvd0NvbnRl
eHRNZW51KCkKLXsKLSAgICBQYWdlKiBwYWdlID0gW21fd2ViVmlldyBwYWdlXTsKLSAgICBpZiAo
IXBhZ2UpCi0gICAgICAgIHJldHVybjsKLQotICAgIENvbnRleHRNZW51Q29udHJvbGxlciogY29u
dHJvbGxlciA9IHBhZ2UtPmNvbnRleHRNZW51Q29udHJvbGxlcigpOwotICAgIE5vZGUqIG5vZGUg
PSBjb250cm9sbGVyLT5oaXRUZXN0UmVzdWx0KCkuaW5uZXJOb25TaGFyZWROb2RlKCk7Ci0gICAg
aWYgKCFub2RlKQotICAgICAgICByZXR1cm47Ci0gICAgRnJhbWUqIGZyYW1lID0gbm9kZS0+ZG9j
dW1lbnQoKS0+ZnJhbWUoKTsKLSAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm47Ci0gICAg
RnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBmcmFtZS0+dmlldygpOwotICAgIGlmICghZnJhbWVWaWV3
KQotICAgICAgICByZXR1cm47Ci0gICAgTlNWaWV3KiB2aWV3ID0gZnJhbWVWaWV3LT5kb2N1bWVu
dFZpZXcoKTsKLSAgICAKLSAgICBJbnRQb2ludCBwb2ludCA9IGZyYW1lVmlldy0+Y29udGVudHNU
b1dpbmRvdyhjb250cm9sbGVyLT5oaXRUZXN0UmVzdWx0KCkucG9pbnQoKSk7Ci0gICAgTlNQb2lu
dCBuc1NjcmVlblBvaW50ID0gW3ZpZXcgY29udmVydFBvaW50OnBvaW50IHRvVmlldzpuaWxdOwot
ICAgIC8vIFNob3cgdGhlIGNvbnRleHR1YWwgbWVudSBmb3IgdGhpcyBldmVudC4KLSAgICBOU0V2
ZW50KiBldmVudCA9IFtOU0V2ZW50IG1vdXNlRXZlbnRXaXRoVHlwZTpOU1JpZ2h0TW91c2VEb3du
IGxvY2F0aW9uOm5zU2NyZWVuUG9pbnQgbW9kaWZpZXJGbGFnczowIHRpbWVzdGFtcDowIHdpbmRv
d051bWJlcjpbW3ZpZXcgd2luZG93XSB3aW5kb3dOdW1iZXJdIGNvbnRleHQ6MCBldmVudE51bWJl
cjowIGNsaWNrQ291bnQ6MSBwcmVzc3VyZToxXTsKLSAgICBOU01lbnUqIG5zTWVudSA9IFt2aWV3
IG1lbnVGb3JFdmVudDpldmVudF07Ci0gICAgaWYgKG5zTWVudSkKLSAgICAgICAgW05TTWVudSBw
b3BVcENvbnRleHRNZW51Om5zTWVudSB3aXRoRXZlbnQ6ZXZlbnQgZm9yVmlldzp2aWV3XTsgICAg
Ci19Ci0jZW5kaWYKLQogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIAogdm9pZCBX
ZWJDaHJvbWVDbGllbnQ6OmF0dGFjaFJvb3RHcmFwaGljc0xheWVyKEZyYW1lKiBmcmFtZSwgR3Jh
cGhpY3NMYXllciogZ3JhcGhpY3NMYXllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5oCmluZGV4IDIxYjBkMGYyNWEw
ZmZlNDc0NzBlOTczYzhlZGM0ODkzNDZhZjQxZjMuLmU1MzZmM2MyNGJlODdmNzZjMmJhOTM4Y2M3
OTA2OTQ4YmQ4MWYyZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaApAQCAtNDYsNiArNDYsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHNwZWFrKGNvbnN0IFdURjo6U3RyaW5nJikgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCB2b2lkIHN0b3BTcGVha2luZygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9p
ZCBzZWFyY2hXaXRoU3BvdGxpZ2h0KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHNob3dD
b250ZXh0TWVudSgpIE9WRVJSSURFOwogCiAgICAgV2ViVmlldyAqd2ViVmlldygpIHsgcmV0dXJu
IG1fd2ViVmlldzsgfQogICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQubW0KaW5kZXggMDhjMGQ2MDg3ODc3
ZTg0N2E3OTQ1YThiNDMzYjVkY2M2MDY3ODU4ZC4uZTIwZGE0NDBhZjEwMmI4ZDFmYzVkOWM5NTZl
M2RlOTRmOTBkODVlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViQ29udGV4dE1lbnVDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQubW0KQEAgLTQyLDkgKzQyLDEyIEBACiAjaW1w
b3J0ICJXZWJWaWV3SW50ZXJuYWwuaCIKICNpbXBvcnQgPFdlYkNvcmUvQ29udGV4dE1lbnUuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvQ29udGV4dE1lbnVDb250cm9sbGVyLmg+CisjaW1wb3J0IDxXZWJD
b3JlL0RvY3VtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0tVUkwuaD4KICNpbXBvcnQgPFdlYkNv
cmUvTG9jYWxpemVkU3RyaW5ncy5oPgogI2ltcG9ydCA8V2ViQ29yZS9QYWdlLmg+CisjaW1wb3J0
IDxXZWJDb3JlL0ZyYW1lLmg+CisjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lVmlldy5oPgogI2ltcG9y
dCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KICNpbXBvcnQgPFdlYktpdC9E
T01Qcml2YXRlLmg+CiAKQEAgLTM0NiwzICszNDksMjkgQEAgdm9pZCBXZWJDb250ZXh0TWVudUNs
aWVudDo6c3RvcFNwZWFraW5nKCkKIHsKICAgICBbTlNBcHAgc3RvcFNwZWFraW5nOm5pbF07CiB9
CisKK3ZvaWQgV2ViQ29udGV4dE1lbnVDbGllbnQ6OnNob3dDb250ZXh0TWVudSgpCit7CisgICAg
UGFnZSogcGFnZSA9IFttX3dlYlZpZXcgcGFnZV07CisgICAgaWYgKCFwYWdlKQorICAgICAgICBy
ZXR1cm47CisgICAgQ29udGV4dE1lbnVDb250cm9sbGVyKiBjb250cm9sbGVyID0gcGFnZS0+Y29u
dGV4dE1lbnVDb250cm9sbGVyKCk7CisgICAgTm9kZSogbm9kZSA9IGNvbnRyb2xsZXItPmhpdFRl
c3RSZXN1bHQoKS5pbm5lck5vblNoYXJlZE5vZGUoKTsKKyAgICBpZiAoIW5vZGUpCisgICAgICAg
IHJldHVybjsKKyAgICBGcmFtZSogZnJhbWUgPSBub2RlLT5kb2N1bWVudCgpLT5mcmFtZSgpOwor
ICAgIGlmICghZnJhbWUpCisgICAgICAgIHJldHVybjsKKyAgICBGcmFtZVZpZXcqIGZyYW1lVmll
dyA9IGZyYW1lLT52aWV3KCk7CisgICAgaWYgKCFmcmFtZVZpZXcpCisgICAgICAgIHJldHVybjsK
KworICAgIEludFBvaW50IHBvaW50ID0gZnJhbWVWaWV3LT5jb250ZW50c1RvV2luZG93KGNvbnRy
b2xsZXItPmhpdFRlc3RSZXN1bHQoKS5wb2ludCgpKTsKKyAgICBOU1ZpZXcqIHZpZXcgPSBmcmFt
ZVZpZXctPmRvY3VtZW50VmlldygpOworICAgIE5TUG9pbnQgbnNTY3JlZW5Qb2ludCA9IFt2aWV3
IGNvbnZlcnRQb2ludDpwb2ludCB0b1ZpZXc6bmlsXTsKKyAgICAvLyBTaG93IHRoZSBjb250ZXh0
dWFsIG1lbnUgZm9yIHRoaXMgZXZlbnQuCisgICAgTlNFdmVudCogZXZlbnQgPSBbTlNFdmVudCBt
b3VzZUV2ZW50V2l0aFR5cGU6TlNSaWdodE1vdXNlRG93biBsb2NhdGlvbjpuc1NjcmVlblBvaW50
IG1vZGlmaWVyRmxhZ3M6MCB0aW1lc3RhbXA6MCB3aW5kb3dOdW1iZXI6W1t2aWV3IHdpbmRvd10g
d2luZG93TnVtYmVyXSBjb250ZXh0OjAgZXZlbnROdW1iZXI6MCBjbGlja0NvdW50OjEgcHJlc3N1
cmU6MV07CisgICAgTlNNZW51KiBuc01lbnUgPSBbdmlldyBtZW51Rm9yRXZlbnQ6ZXZlbnRdOwor
ICAgIGlmIChuc01lbnUpCisgICAgICAgIFtOU01lbnUgcG9wVXBDb250ZXh0TWVudTpuc01lbnUg
d2l0aEV2ZW50OmV2ZW50IGZvclZpZXc6dmlld107Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgKaW5kZXggM2Q0NWI3YjUxYTJlMzIwMDQ0
ZTY0MDFmNzA4YmIyYzA4ZjM3NTVjNC4uMzg2Yjk4NmQ0ZjE4YTRmNjU3YTdmMGY5MWM5OTkwYTBm
OTNiNjkyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50UXQuaApAQCAtMTM4LDkgKzEzOCw2IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIHZpcnR1
YWwgdm9pZCByZWFjaGVkTWF4QXBwQ2FjaGVTaXplKGludDY0X3Qgc3BhY2VOZWVkZWQpOwogICAg
IHZpcnR1YWwgdm9pZCByZWFjaGVkQXBwbGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFNlY3VyaXR5
T3JpZ2luKiwgaW50NjRfdCB0b3RhbFNwYWNlTmVlZGVkKTsKLSNpZiBFTkFCTEUoQ09OVEVYVF9N
RU5VUykKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51KCkgeyB9Ci0jZW5kaWYKIAog
I2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICAvLyBUaGlzIGlzIGEgaG9vayBm
b3IgV2ViQ29yZSB0byB0ZWxsIHVzIHdoYXQgd2UgbmVlZCB0byBkbyB3aXRoIHRoZSBHcmFwaGlj
c0xheWVycy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmgKaW5kZXggMmE5YThmZTdmM2Q0ZjQ1M2ZlNGFiMWYwZWRjYjlkZDM5ZmFhYmM5
Yi4uNTljMjQyZGQ2ZWI0YWFkOTE2NDBiN2VjMmUwZWU0MmJkNTY3MjE1YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTEy
MCwxMCArMTIwLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkTWF4QXBwQ2Fj
aGVTaXplKGludDY0X3Qgc3BhY2VOZWVkZWQpOwogICAgIHZpcnR1YWwgdm9pZCByZWFjaGVkQXBw
bGljYXRpb25DYWNoZU9yaWdpblF1b3RhKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiwgaW50NjRf
dCB0b3RhbFNwYWNlTmVlZGVkKTsKIAotI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQotICAgIHZp
cnR1YWwgdm9pZCBzaG93Q29udGV4dE1lbnUoKSB7IH0KLSNlbmRpZgotCiAgICAgdmlydHVhbCB2
b2lkIHBvcHVsYXRlVmlzaXRlZExpbmtzKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBh
bmVsKFdlYkNvcmU6OkZyYW1lKiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRXaW5DRS5oIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRXaW5DRS5oCmluZGV4IDYxMzc4M2EwMzNlNTlhY2E5MWQ5ODQ1MzYwMDA2NDkwNWMyMDYyMTMu
LjY0ZTJiZGEzZTUxOTg3YTk1YzhjNTk1NzNmOTJlMDU0MjVmNWQ5NWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgK
QEAgLTEzMSwxMCArMTMxLDYgQEAgcHVibGljOgogICAgIC8vIGZvciB0aGlzIG9yaWdpbi4KICAg
ICB2aXJ0dWFsIHZvaWQgcmVhY2hlZEFwcGxpY2F0aW9uQ2FjaGVPcmlnaW5RdW90YShXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbiosIGludDY0X3QgdG90YWxTcGFjZU5lZWRlZCk7CiAKLSNpZiBFTkFC
TEUoQ09OVEVYVF9NRU5VUykKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51KCkgeyB9
Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShOT1RJRklDQVRJT05TKQogICAgIHZpcnR1YWwgV2ViQ29y
ZTo6Tm90aWZpY2F0aW9uUHJlc2VudGVyKiBub3RpZmljYXRpb25QcmVzZW50ZXIoKSBjb25zdDsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9t
ZUNsaWVudFd4LmggYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50
V3guaAppbmRleCAyYjZjZGVmNjEyY2FmY2Q0ZjI1MDEzNDUxNjhkYTNjZTcwNTg4NTY5Li5mOTU4
NzFiYTZkZDg2OGM4NDAzOGNlYTM2ZWVlNDQxN2RmYzJhZTNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaApAQCAtMTI2LDExICsxMjYsNiBA
QCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVhY2hlZE1heEFwcENhY2hlU2l6ZShpbnQ2
NF90IHNwYWNlTmVlZGVkKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVhY2hlZEFwcGxpY2F0aW9uQ2Fj
aGVPcmlnaW5RdW90YShTZWN1cml0eU9yaWdpbiosIGludDY0X3QgdG90YWxTcGFjZU5lZWRlZCk7
Ci0KLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRl
eHRNZW51KCkgeyB9Ci0jZW5kaWYKLQogICAgIHZpcnR1YWwgdm9pZCBydW5PcGVuUGFuZWwoRnJh
bWUqLCBQYXNzUmVmUHRyPEZpbGVDaG9vc2VyPik7CiAgICAgdmlydHVhbCB2b2lkIGxvYWRJY29u
Rm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBGaWxlSWNvbkxvYWRlciopOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5jcHAKaW5kZXggNWE0OGZmZjg3MWY5ZWU4ZDkyOTNjOGJkZjVmOTJlODNl
MGM5NTZiOC4uMGE0NmViNzViNWQyMWRkNDFkYjIzMWJhODRkOWU2NDdkNTc4ZmIwNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkRyYXdpbmdB
cmVhLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVOYXZpZ2F0aW9uQWN0aW9uLmgiCiAjaW5j
bHVkZSAiSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUNvZGVycy5oIgotI2luY2x1ZGUgIldlYkNv
bnRleHRNZW51LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVk
ZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRlICJXZWJGcmFtZUxvYWRlckNsaWVudC5oIgpAQCAtNjcw
LDEzICs2NjksNiBAQCBQYXNzUmVmUHRyPFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVudT4gV2ViQ2hy
b21lQ2xpZW50OjpjcmVhdGVTZWFyY2hQb3B1cE1lbnUoV2ViQwogICAgIHJldHVybiBXZWJTZWFy
Y2hQb3B1cE1lbnU6OmNyZWF0ZShtX3BhZ2UsIGNsaWVudCk7CiB9CiAKLSNpZiBFTkFCTEUoQ09O
VEVYVF9NRU5VUykKLXZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzaG93Q29udGV4dE1lbnUoKQotewot
ICAgIG1fcGFnZS0+Y29udGV4dE1lbnUoKS0+c2hvdygpOwotfQotI2VuZGlmCi0KICNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6YXR0YWNoUm9v
dEdyYXBoaWNzTGF5ZXIoRnJhbWUqLCBHcmFwaGljc0xheWVyKiBsYXllcikKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCmluZGV4IDk3NjFjMTU0YTFlOTQ0MmYyMzM2MTkxNGNjYTc1OWQ0YTkzZDQyNjEu
Ljk4MDdjNjhjNTE2NGFjNjgzZWI2MDEzZDg3Y2U5ZjY0MGUxOTk0MWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaApAQCAtMTc0LDEwICsxNzQsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgUGFzc1Jl
ZlB0cjxXZWJDb3JlOjpQb3B1cE1lbnU+IGNyZWF0ZVBvcHVwTWVudShXZWJDb3JlOjpQb3B1cE1l
bnVDbGllbnQqKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29y
ZTo6U2VhcmNoUG9wdXBNZW51PiBjcmVhdGVTZWFyY2hQb3B1cE1lbnUoV2ViQ29yZTo6UG9wdXBN
ZW51Q2xpZW50KikgY29uc3QgT1ZFUlJJREU7CiAKLSNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykK
LSAgICB2aXJ0dWFsIHZvaWQgc2hvd0NvbnRleHRNZW51KCkgT1ZFUlJJREU7Ci0jZW5kaWYKLQog
I2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNo
Um9vdEdyYXBoaWNzTGF5ZXIoV2ViQ29yZTo6RnJhbWUqLCBXZWJDb3JlOjpHcmFwaGljc0xheWVy
KikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNldE5lZWRzT25lU2hvdERyYXdpbmdTeW5j
aHJvbml6YXRpb24oKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5jcHAK
aW5kZXggYjJjZGJjYzMxMTViODdkNDQzNWMyOTZiNjljMTg4NTc0NjAxOTRkNC4uYmFiOWZmMWI5
Y2VjYzY1NTU0ODY4ZjE5NjRkNTE4YTM2MGM3ZDEyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVu
dUNsaWVudC5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJXZWJDb250ZXh0TWVudUNsaWVudC5oIgogCisjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnUu
aCIKICNpbmNsdWRlICJXZWJDb250ZXh0TWVudUl0ZW1EYXRhLmgiCiAjaW5jbHVkZSAiV2ViUGFn
ZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ29udGV4dE1lbnUuaD4KQEAgLTg3LDQgKzg4LDExIEBA
IHZvaWQgV2ViQ29udGV4dE1lbnVDbGllbnQ6OnNlYXJjaFdpdGhHb29nbGUoY29uc3QgRnJhbWUq
IGZyYW1lKQogICAgIH0KIH0KIAorI2lmIFVTRShBQ0NFU1NJQklMSVRZX0NPTlRFWFRfTUVOVVMp
Cit2b2lkIFdlYkNvbnRleHRNZW51Q2xpZW50OjpzaG93Q29udGV4dE1lbnUoKQoreworICAgIG1f
cGFnZS0+Y29udGV4dE1lbnUoKS0+c2hvdygpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5oCmluZGV4IGI0MzcyNDVjMDlmYjZj
YmQzNjViOGE4MjhhNjZjNzhjNzZkZTA2YzguLjg2YjBhNDg5ODkwZmY5NTE5ZDM5NGYyMGUwZTJh
MDkxYTM4MWFkMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmgKQEAgLTU5LDcgKzU5
LDExIEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHZpcnR1YWwgdm9pZCBzZWFy
Y2hXaXRoU3BvdGxpZ2h0KCkgT1ZFUlJJREU7CiAjZW5kaWYKLSAgICAKKworI2lmIFVTRShBQ0NF
U1NJQklMSVRZX0NPTlRFWFRfTUVOVVMpCisgICAgdm9pZCBzaG93Q29udGV4dE1lbnUoKSBPVkVS
UklERTsKKyNlbmRpZgorCiAgICAgV2ViUGFnZSogbV9wYWdlOwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGRhZDgxMDQ5MWI3Mjkz
YjQ2M2JkN2MyYWUyYjc0ZmE3ZjQwYTgyYjguLmY4OGU3Y2RkMDQzZjQyODFkNzliNGI4NzRiY2Vl
YzE2MmMxMWM5ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKQEAgLTEyMjAsMjUgKzEyMjAsMjUgQEAgc3RhdGljIGJvb2wgaXNDb250ZXh0Q2xp
Y2soY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCkKICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKLXN0YXRpYyBib29sIGhhbmRsZUNvbnRleHRNZW51RXZlbnQoY29uc3QgUGxhdGZvcm1Nb3Vz
ZUV2ZW50JiBwbGF0Zm9ybU1vdXNlRXZlbnQsIFBhZ2UqIHBhZ2UpCitzdGF0aWMgYm9vbCBoYW5k
bGVDb250ZXh0TWVudUV2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgcGxhdGZvcm1Nb3Vz
ZUV2ZW50LCBXZWJQYWdlKiBwYWdlKQogewotICAgIEludFBvaW50IHBvaW50ID0gcGFnZS0+bWFp
bkZyYW1lKCktPnZpZXcoKS0+d2luZG93VG9Db250ZW50cyhwbGF0Zm9ybU1vdXNlRXZlbnQucG9z
aXRpb24oKSk7Ci0gICAgSGl0VGVzdFJlc3VsdCByZXN1bHQgPSBwYWdlLT5tYWluRnJhbWUoKS0+
ZXZlbnRIYW5kbGVyKCktPmhpdFRlc3RSZXN1bHRBdFBvaW50KHBvaW50LCBmYWxzZSk7CisgICAg
SW50UG9pbnQgcG9pbnQgPSBwYWdlLT5jb3JlUGFnZSgpLT5tYWluRnJhbWUoKS0+dmlldygpLT53
aW5kb3dUb0NvbnRlbnRzKHBsYXRmb3JtTW91c2VFdmVudC5wb3NpdGlvbigpKTsKKyAgICBIaXRU
ZXN0UmVzdWx0IHJlc3VsdCA9IHBhZ2UtPmNvcmVQYWdlKCktPm1haW5GcmFtZSgpLT5ldmVudEhh
bmRsZXIoKS0+aGl0VGVzdFJlc3VsdEF0UG9pbnQocG9pbnQsIGZhbHNlKTsKIAotICAgIEZyYW1l
KiBmcmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpOworICAgIEZyYW1lKiBmcmFtZSA9IHBhZ2UtPmNv
cmVQYWdlKCktPm1haW5GcmFtZSgpOwogICAgIGlmIChyZXN1bHQuaW5uZXJOb25TaGFyZWROb2Rl
KCkpCiAgICAgICAgIGZyYW1lID0gcmVzdWx0LmlubmVyTm9uU2hhcmVkTm9kZSgpLT5kb2N1bWVu
dCgpLT5mcmFtZSgpOwogICAgIAogICAgIGJvb2wgaGFuZGxlZCA9IGZyYW1lLT5ldmVudEhhbmRs
ZXIoKS0+c2VuZENvbnRleHRNZW51RXZlbnQocGxhdGZvcm1Nb3VzZUV2ZW50KTsKICAgICBpZiAo
aGFuZGxlZCkKLSAgICAgICAgcGFnZS0+Y2hyb21lKCktPnNob3dDb250ZXh0TWVudSgpOworICAg
ICAgICBwYWdlLT5jb250ZXh0TWVudSgpLT5zaG93KCk7CiAKICAgICByZXR1cm4gaGFuZGxlZDsK
IH0KIAotc3RhdGljIGJvb2wgaGFuZGxlTW91c2VFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50JiBt
b3VzZUV2ZW50LCBQYWdlKiBwYWdlLCBib29sIG9ubHlVcGRhdGVTY3JvbGxiYXJzKQorc3RhdGlj
IGJvb2wgaGFuZGxlTW91c2VFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50JiBtb3VzZUV2ZW50LCBX
ZWJQYWdlKiBwYWdlLCBib29sIG9ubHlVcGRhdGVTY3JvbGxiYXJzKQogewotICAgIEZyYW1lKiBm
cmFtZSA9IHBhZ2UtPm1haW5GcmFtZSgpOworICAgIEZyYW1lKiBmcmFtZSA9IHBhZ2UtPmNvcmVQ
YWdlKCktPm1haW5GcmFtZSgpOwogICAgIGlmICghZnJhbWUtPnZpZXcoKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCkBAIC0xMjQ3LDcgKzEyNDcsNyBAQCBzdGF0aWMgYm9vbCBoYW5kbGVNb3Vz
ZUV2ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmIG1vdXNlRXZlbnQsIFBhZ2UqIHBhZ2UsIGJvb2wg
bwogICAgIHN3aXRjaCAocGxhdGZvcm1Nb3VzZUV2ZW50LnR5cGUoKSkgewogICAgICAgICBjYXNl
IFBsYXRmb3JtRXZlbnQ6Ok1vdXNlUHJlc3NlZDogewogICAgICAgICAgICAgaWYgKGlzQ29udGV4
dENsaWNrKHBsYXRmb3JtTW91c2VFdmVudCkpCi0gICAgICAgICAgICAgICAgcGFnZS0+Y29udGV4
dE1lbnVDb250cm9sbGVyKCktPmNsZWFyQ29udGV4dE1lbnUoKTsKKyAgICAgICAgICAgICAgICBw
YWdlLT5jb3JlUGFnZSgpLT5jb250ZXh0TWVudUNvbnRyb2xsZXIoKS0+Y2xlYXJDb250ZXh0TWVu
dSgpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBib29sIGhhbmRsZWQgPSBmcmFtZS0+ZXZl
bnRIYW5kbGVyKCktPmhhbmRsZU1vdXNlUHJlc3NFdmVudChwbGF0Zm9ybU1vdXNlRXZlbnQpOwog
ICAgICAgICAgICAgaWYgKGlzQ29udGV4dENsaWNrKHBsYXRmb3JtTW91c2VFdmVudCkpCkBAIC0x
MjkxLDcgKzEyOTEsNyBAQCB2b2lkIFdlYlBhZ2U6Om1vdXNlRXZlbnQoY29uc3QgV2ViTW91c2VF
dmVudCYgbW91c2VFdmVudCkKICAgICAgICAgLy8gb2YgdGhvc2UgY2FzZXMgd2hlcmUgdGhlIHBh
Z2UgaXMgbm90IGFjdGl2ZSBhbmQgdGhlIG1vdXNlIGlzIG5vdCBwcmVzc2VkLCB0aGVuIHdlIGNh
biBmaXJlIGEgbW9yZQogICAgICAgICAvLyBlZmZpY2llbnQgc2Nyb2xsYmFycy1vbmx5IHZlcnNp
b24gb2YgdGhlIGV2ZW50LgogICAgICAgICBib29sIG9ubHlVcGRhdGVTY3JvbGxiYXJzID0gISht
X3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5pc0FjdGl2ZSgpIHx8IChtb3VzZUV2ZW50LmJ1dHRv
bigpICE9IFdlYk1vdXNlRXZlbnQ6Ok5vQnV0dG9uKSk7Ci0gICAgICAgIGhhbmRsZWQgPSBoYW5k
bGVNb3VzZUV2ZW50KG1vdXNlRXZlbnQsIG1fcGFnZS5nZXQoKSwgb25seVVwZGF0ZVNjcm9sbGJh
cnMpOworICAgICAgICBoYW5kbGVkID0gaGFuZGxlTW91c2VFdmVudChtb3VzZUV2ZW50LCB0aGlz
LCBvbmx5VXBkYXRlU2Nyb2xsYmFycyk7CiAgICAgfQogCiAgICAgc2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpEaWRSZWNlaXZlRXZlbnQoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KG1vdXNlRXZl
bnQudHlwZSgpKSwgaGFuZGxlZCkpOwpAQCAtMTMxNiw3ICsxMzE2LDcgQEAgdm9pZCBXZWJQYWdl
Ojptb3VzZUV2ZW50U3luY0ZvclRlc3RpbmcoY29uc3QgV2ViTW91c2VFdmVudCYgbW91c2VFdmVu
dCwgYm9vbCYgaGEKICAgICAgICAgLy8gb2YgdGhvc2UgY2FzZXMgd2hlcmUgdGhlIHBhZ2UgaXMg
bm90IGFjdGl2ZSBhbmQgdGhlIG1vdXNlIGlzIG5vdCBwcmVzc2VkLCB0aGVuIHdlIGNhbiBmaXJl
IGEgbW9yZQogICAgICAgICAvLyBlZmZpY2llbnQgc2Nyb2xsYmFycy1vbmx5IHZlcnNpb24gb2Yg
dGhlIGV2ZW50LgogICAgICAgICBib29sIG9ubHlVcGRhdGVTY3JvbGxiYXJzID0gIShtX3BhZ2Ut
PmZvY3VzQ29udHJvbGxlcigpLT5pc0FjdGl2ZSgpIHx8IChtb3VzZUV2ZW50LmJ1dHRvbigpICE9
IFdlYk1vdXNlRXZlbnQ6Ok5vQnV0dG9uKSk7Ci0gICAgICAgIGhhbmRsZWQgPSBoYW5kbGVNb3Vz
ZUV2ZW50KG1vdXNlRXZlbnQsIG1fcGFnZS5nZXQoKSwgb25seVVwZGF0ZVNjcm9sbGJhcnMpOwor
ICAgICAgICBoYW5kbGVkID0gaGFuZGxlTW91c2VFdmVudChtb3VzZUV2ZW50LCB0aGlzLCBvbmx5
VXBkYXRlU2Nyb2xsYmFycyk7CiAgICAgfQogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>