<?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>208503</bug_id>
          
          <creation_ts>2020-03-03 00:07:34 -0800</creation_ts>
          <short_desc>Web Inspector: setting the frontend appearance doesn&apos;t update the window when undocked</short_desc>
          <delta_ts>2020-03-03 20:52:02 -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>Web Inspector</component>
          <version>WebKit Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>186308</dependson>
          <blocked>208557</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1624970</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-03-03 00:07:34 -0800</bug_when>
    <thetext># STEPS TO REPRODUCE:
1. inspect any page
2. detach/undock Web Inspector
3. go to the Settings Tab
4. change the Appearance to the opposite of the system appearance
 =&gt; content changes, but the title of the window doesn&apos;t</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1624977</commentid>
    <comment_count>1</comment_count>
      <attachid>392253</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-03-03 01:04:34 -0800</bug_when>
    <thetext>Created attachment 392253
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625101</commentid>
    <comment_count>2</comment_count>
      <attachid>392253</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2020-03-03 09:54:20 -0800</bug_when>
    <thetext>Comment on attachment 392253
Patch

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

&gt; Source/WebCore/inspector/InspectorFrontendHost.cpp:239
&gt; +            m_frontendPage-&gt;setUseDarkAppearanceOverride(false);

You should not need to do this if you force the appearance on the window.

&gt; Source/WebCore/inspector/InspectorFrontendHost.cpp:247
&gt; +            m_frontendPage-&gt;setUseDarkAppearanceOverride(true);

Ditto.

&gt; Source/WebCore/inspector/InspectorFrontendHost.cpp:254
&gt;          m_frontendPage-&gt;setUseDarkAppearanceOverride(WTF::nullopt);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625154</commentid>
    <comment_count>3</comment_count>
      <attachid>392303</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2020-03-03 11:33:27 -0800</bug_when>
    <thetext>Created attachment 392303
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625239</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-03 14:10:52 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 392303:

editing/spelling/spellcheck-async-remove-frame.html bug 158401 (authors: morrita@google.com, rniwa@webkit.org, and tony@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625240</commentid>
    <comment_count>5</comment_count>
      <attachid>392303</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-03 14:11:35 -0800</bug_when>
    <thetext>Comment on attachment 392303
Patch

Clearing flags on attachment: 392303

Committed r257801: &lt;https://trac.webkit.org/changeset/257801&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625241</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-03 14:11:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625242</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-03 14:12:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/60012509&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392253</attachid>
            <date>2020-03-03 01:04:34 -0800</date>
            <delta_ts>2020-03-03 11:33:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208503-20200303010433.patch</filename>
            <type>text/plain</type>
            <size>31482</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxMzBmNGQzYmQ4ZDQ1ZDc0MmEwYmMxNGJlNGVkMDg0YzAyMjFhMDA2Li5k
OTYwY2MzNTM5MTM2ZDcxMjI2MGYwODlkYTc5NzhhMjA1N2FlYzc4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjUgQEAKKzIwMjAtMDMtMDMgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHNldHRpbmcgdGhlIGZyb250ZW5kIGFwcGVhcmFu
Y2UgZG9lc24ndCB1cGRhdGUgdGhlIHdpbmRvdyB3aGVuIHVuZG9ja2VkCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg1MDMKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOb3RpZnkgdGhlIFVJUHJvY2VzcyB3
aGVuIHNldHRpbmcgdGhlIGZvcmNlZCBhcHBlYXJhbmNlIHNvIHBsYXRmb3JtcyB0aGF0IHN1cHBv
cnQgZGFyayBtb2RlCisgICAgICAgIGFyZSBhYmxlIHRvIHJ1biBuYXRpdmUgY29kZSB0byBhZGp1
c3QgdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIHVuZG9ja2VkIHdpbmRvdy4KKworICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yRnJvbnRlbmRIb3N0OjpzZXRGb3JjZWRBcHBlYXJhbmNlKToKKyAgICAgICAgQ2FsbCB0
aHJvdWdoIHRvIHRoZSBgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRgIHRvIGNoYW5nZSB0aGUgZm9y
Y2VkIGFwcGVhcmFuY2UuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kSG9zdDo6QXBwZWFy
YW5jZSk6IEFkZGVkLgorICAgICAgICBBZGQgYW4gYGVudW0gY2xhc3MgQXBwZWFyYW5jZWAgc28g
dGhhdCBtdWx0aXBsZSBjb3BpZXMgb2YgdGhlIHNhbWUgc3RyaW5nIGNvbXBhcmlzb24gbG9naWMK
KyAgICAgICAgaXNuJ3QgbmVlZGVkLgorCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yU3R1YkZyb250ZW5kOjpzZXRGb3JjZWRBcHBl
YXJhbmNlKTogQWRkZWQuCisKIDIwMjAtMDMtMDIgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBw
bGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEl0ZW1zIGluIHRoZSB0b29sYmFyIHRh
a2UgdXAgdG8gbXVjaCB2ZXJ0aWNhbCBzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBjM2Y0N2ZhM2I2NjljYzE4
OTkwNGQyN2Y4ZTUzZmViODY3NTY1MzNiLi43NWQ1OGRiOWY5ZTEzN2NjZWRkOGEzYmFhMzZlMjg4
YzNiMWYwNTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIwLTAzLTAzICBEZXZpbiBS
b3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBzZXR0
aW5nIHRoZSBmcm9udGVuZCBhcHBlYXJhbmNlIGRvZXNuJ3QgdXBkYXRlIHRoZSB3aW5kb3cgd2hl
biB1bmRvY2tlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA4NTAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgTm90aWZ5IHRoZSBVSVByb2Nlc3Mgd2hlbiBzZXR0aW5nIHRoZSBmb3JjZWQgYXBwZWFyYW5j
ZSBzbyBwbGF0Zm9ybXMgdGhhdCBzdXBwb3J0IGRhcmsgbW9kZQorICAgICAgICBhcmUgYWJsZSB0
byBydW4gbmF0aXZlIGNvZGUgdG8gYWRqdXN0IHRoZSBhcHBlYXJhbmNlIG9mIHRoZSB1bmRvY2tl
ZCB3aW5kb3cuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JV
SS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yVUk6OnNldEZvcmNlZEFwcGVhcmFuY2UpOiBB
ZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yUHJv
eHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclByb3h5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnNldEZvcmNlZEFwcGVhcmFu
Y2UpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3Jt
U2V0Rm9yY2VkQXBwZWFyYW5jZSk6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9JbnNwZWN0
b3IvZ3RrL1dlYkluc3BlY3RvclByb3h5R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5z
cGVjdG9yUHJveHk6OnBsYXRmb3JtU2V0Rm9yY2VkQXBwZWFyYW5jZSk6IEFkZGVkLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9JbnNwZWN0b3IvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVhdGVGcm9udGVuZFdp
bmRvdyk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZv
cm1TZXRGb3JjZWRBcHBlYXJhbmNlKTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkluc3Bl
Y3RvclByb3h5OjphcHBseUZvcmNlZEFwcGVhcmFuY2UpOiBBZGRlZC4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvSW5zcGVjdG9yL3dpbi9XZWJJbnNwZWN0b3JQcm94eVdpbi5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVNldEZvcmNlZEFwcGVhcmFuY2UpOiBB
ZGRlZC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvSW5zcGVjdG9yL1JlbW90ZVdlYkluc3BlY3Rv
clVJLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbnNwZWN0b3IvUmVtb3RlV2ViSW5zcGVjdG9y
VUkuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVXZWJJbnNwZWN0b3JVSTo6c2V0Rm9yY2Vk
QXBwZWFyYW5jZSk6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9JbnNwZWN0b3IvUmVtb3Rl
V2ViSW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL0luc3Bl
Y3Rvci9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9JbnNw
ZWN0b3IvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVXZWJJbnNwZWN0b3JQcm94eTo6c2V0Rm9yY2VkQXBwZWFyYW5jZSk6IEFkZGVkLgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1TZXRGb3JjZWRBcHBl
YXJhbmNlKTogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0luc3BlY3Rvci9ndGsvUmVtb3Rl
V2ViSW5zcGVjdG9yUHJveHlHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVXZWJJbnNw
ZWN0b3JQcm94eTo6cGxhdGZvcm1TZXRGb3JjZWRBcHBlYXJhbmNlKTogQWRkZWQuCisgICAgICAg
ICogVUlQcm9jZXNzL0luc3BlY3Rvci9tYWMvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNYWMubW06
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVNldEZv
cmNlZEFwcGVhcmFuY2UpOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvSW5zcGVjdG9yL3dp
bi9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eVdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVNldEZvcmNlZEFwcGVhcmFuY2UpOiBBZGRlZC4K
KwogMjAyMC0wMy0wMiAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogSXRlbXMgaW4gdGhlIHRvb2xiYXIgdGFrZSB1cCB0byBtdWNoIHZl
cnRpY2FsIHNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L2lvcy9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L2lvcy9DaGFuZ2VMb2cKaW5kZXggNWNkMzA1NjhiYTVm
MGY1ZTQwNmMxMjQwNDU3MDNlYmYwMmU2Mzk0MC4uODk1NDk0Yjc4MDM4OGY4MjIxMmRjZmM3NmNj
Y2MzY2Y1NmZlZGY3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvaW9zL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDIwLTAzLTAzICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBzZXR0aW5nIHRoZSBmcm9udGVuZCBhcHBlYXJhbmNlIGRvZXNu
J3QgdXBkYXRlIHRoZSB3aW5kb3cgd2hlbiB1bmRvY2tlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NTAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm90aWZ5IHRoZSBVSVByb2Nlc3Mgd2hlbiBzZXR0
aW5nIHRoZSBmb3JjZWQgYXBwZWFyYW5jZSBzbyBwbGF0Zm9ybXMgdGhhdCBzdXBwb3J0IGRhcmsg
bW9kZQorICAgICAgICBhcmUgYWJsZSB0byBydW4gbmF0aXZlIGNvZGUgdG8gYWRqdXN0IHRoZSBh
cHBlYXJhbmNlIG9mIHRoZSB1bmRvY2tlZCB3aW5kb3cuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJJbnNwZWN0b3JDbGllbnRJT1MubW06CisgICAgICAgIChXZWJJbnNwZWN0b3JGcm9u
dGVuZENsaWVudDo6c2V0Rm9yY2VkQXBwZWFyYW5jZSk6IEFkZGVkLgorCiAyMDIwLTAzLTAyICBE
ZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBJdGVtcyBpbiB0aGUgdG9vbGJhciB0YWtlIHVwIHRvIG11Y2ggdmVydGljYWwgc3BhY2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA4ODZkZGVhNWY2ZjAzMmU5YTg4MjZlZjFkYjYw
MDc0YmI2OTc3MGQyLi42ZjhlOWM2MWIxODQ3ZDQ2ZWNlNjI1MWFhMWVhOGU0NjRiZGY1NDMxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDMtMDMg
IERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IHNldHRpbmcgdGhlIGZyb250ZW5kIGFwcGVhcmFuY2UgZG9lc24ndCB1cGRhdGUgdGhlIHdp
bmRvdyB3aGVuIHVuZG9ja2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDg1MDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBOb3RpZnkgdGhlIFVJUHJvY2VzcyB3aGVuIHNldHRpbmcgdGhlIGZvcmNlZCBh
cHBlYXJhbmNlIHNvIHBsYXRmb3JtcyB0aGF0IHN1cHBvcnQgZGFyayBtb2RlCisgICAgICAgIGFy
ZSBhYmxlIHRvIHJ1biBuYXRpdmUgY29kZSB0byBhZGp1c3QgdGhlIGFwcGVhcmFuY2Ugb2YgdGhl
IHVuZG9ja2VkIHdpbmRvdy4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5t
bToKKyAgICAgICAgKFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpzZXRGb3JjZWRBcHBlYXJh
bmNlKTogQWRkZWQuCisKIDIwMjAtMDMtMDIgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUu
Y29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEl0ZW1zIGluIHRoZSB0b29sYmFyIHRha2Ug
dXAgdG8gbXVjaCB2ZXJ0aWNhbCBzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCmluZGV4
IGE5ZDFjY2VmNDQ5NDBmYzc5MDA4YjNmODg5N2RmOGY2MThhMGM0MjcuLjI4Y2U3YmU3YTg0Mjk0
M2QwNmVmNmJmMWFlNWQ4ZWEyNjRiNmUwYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAyMC0wMy0wMyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBs
ZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3Rvcjogc2V0dGluZyB0aGUgZnJvbnRlbmQgYXBw
ZWFyYW5jZSBkb2Vzbid0IHVwZGF0ZSB0aGUgd2luZG93IHdoZW4gdW5kb2NrZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODUwMworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdGlmeSB0aGUgVUlQcm9j
ZXNzIHdoZW4gc2V0dGluZyB0aGUgZm9yY2VkIGFwcGVhcmFuY2Ugc28gcGxhdGZvcm1zIHRoYXQg
c3VwcG9ydCBkYXJrIG1vZGUKKyAgICAgICAgYXJlIGFibGUgdG8gcnVuIG5hdGl2ZSBjb2RlIHRv
IGFkanVzdCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgdW5kb2NrZWQgd2luZG93LgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkluc3BlY3RvckZy
b250ZW5kQ2xpZW50OjpzZXRGb3JjZWRBcHBlYXJhbmNlKTogQWRkZWQuCisKIDIwMjAtMDMtMDIg
IFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBBZGQgcmVmZXJyZXJwb2xp
Y3kgYXR0cmlidXRlIHN1cHBvcnQgZm9yIGFuY2hvcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudC5oIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50LmgKaW5kZXggNmU0NzdlOWU1MGY5NzE4
MjY3NTAwMmE1YjRkM2Y0ZmJiMDVkNjg5Yy4uMThhYzQ0Mzc4ZGUzYmFmN2U2N2U0MWI2MDk3MWY5
MjUxODFlODEwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kQ2xpZW50LmgKQEAgLTcxLDYgKzcxLDEzIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgcmVvcGVuKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCByZXNldFN0YXRlKCkgPSAwOwog
CisgICAgZW51bSBjbGFzcyBBcHBlYXJhbmNlIHsKKyAgICAgICAgU3lzdGVtLAorICAgICAgICBM
aWdodCwKKyAgICAgICAgRGFyaywKKyAgICB9OworICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwg
dm9pZCBzZXRGb3JjZWRBcHBlYXJhbmNlKEFwcGVhcmFuY2UpID0gMDsKKwogICAgIHZpcnR1YWwg
VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbiB1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9u
KCkgY29uc3QgPSAwOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIHJlcXVlc3RT
ZXREb2NrU2lkZShEb2NrU2lkZSkgPSAwOwpAQCAtMTAzLDMgKzExMCwxNiBAQCBwdWJsaWM6CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0
ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpB
cHBlYXJhbmNlPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2Vi
Q29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OkFwcGVhcmFuY2UsCisgICAgICAgIFdlYkNv
cmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpBcHBlYXJhbmNlOjpTeXN0ZW0sCisgICAgICAg
IFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpBcHBlYXJhbmNlOjpMaWdodCwKKyAg
ICAgICAgV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OkFwcGVhcmFuY2U6OkRhcmsK
KyAgICA+OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCmluZGV4IDFkNmQ5Y2MyNWI1ZDQx
NzlhOGJlYzIwYTNiNWM5ZWZkN2QzZTk3NjQuLjdiYzMwZDAzNDNjOTQ4NWE2NzEzZTRhYjNkM2I3
NmQ2ZjkwYWY5YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZEhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZEhvc3QuY3BwCkBAIC0yMzQsMTUgKzIzNCwyNiBAQCBmbG9hdCBJbnNwZWN0b3JG
cm9udGVuZEhvc3Q6Onpvb21GYWN0b3IoKQogCiB2b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6
c2V0Rm9yY2VkQXBwZWFyYW5jZShTdHJpbmcgYXBwZWFyYW5jZSkKIHsKLSAgICBpZiAoIW1fZnJv
bnRlbmRQYWdlKQorICAgIGlmIChhcHBlYXJhbmNlID09ICJsaWdodCJfcykgeworICAgICAgICBp
ZiAobV9mcm9udGVuZFBhZ2UpCisgICAgICAgICAgICBtX2Zyb250ZW5kUGFnZS0+c2V0VXNlRGFy
a0FwcGVhcmFuY2VPdmVycmlkZShmYWxzZSk7CisgICAgICAgIGlmIChtX2NsaWVudCkKKyAgICAg
ICAgICAgIG1fY2xpZW50LT5zZXRGb3JjZWRBcHBlYXJhbmNlKEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50OjpBcHBlYXJhbmNlOjpMaWdodCk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKLSAgICBp
ZiAoYXBwZWFyYW5jZSA9PSAibGlnaHQiX3MpCi0gICAgICAgIG1fZnJvbnRlbmRQYWdlLT5zZXRV
c2VEYXJrQXBwZWFyYW5jZU92ZXJyaWRlKGZhbHNlKTsKLSAgICBlbHNlIGlmIChhcHBlYXJhbmNl
ID09ICJkYXJrIl9zKQotICAgICAgICBtX2Zyb250ZW5kUGFnZS0+c2V0VXNlRGFya0FwcGVhcmFu
Y2VPdmVycmlkZSh0cnVlKTsKLSAgICBlbHNlCisgICAgaWYgKGFwcGVhcmFuY2UgPT0gImRhcmsi
X3MpIHsKKyAgICAgICAgaWYgKG1fZnJvbnRlbmRQYWdlKQorICAgICAgICAgICAgbV9mcm9udGVu
ZFBhZ2UtPnNldFVzZURhcmtBcHBlYXJhbmNlT3ZlcnJpZGUodHJ1ZSk7CisgICAgICAgIGlmICht
X2NsaWVudCkKKyAgICAgICAgICAgIG1fY2xpZW50LT5zZXRGb3JjZWRBcHBlYXJhbmNlKEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50OjpBcHBlYXJhbmNlOjpEYXJrKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIGlmIChtX2Zyb250ZW5kUGFnZSkKICAgICAgICAgbV9mcm9udGVuZFBhZ2Ut
PnNldFVzZURhcmtBcHBlYXJhbmNlT3ZlcnJpZGUoV1RGOjpudWxsb3B0KTsKKyAgICBpZiAobV9j
bGllbnQpCisgICAgICAgIG1fY2xpZW50LT5zZXRGb3JjZWRBcHBlYXJhbmNlKEluc3BlY3RvckZy
b250ZW5kQ2xpZW50OjpBcHBlYXJhbmNlOjpTeXN0ZW0pOwogfQogCiBTdHJpbmcgSW5zcGVjdG9y
RnJvbnRlbmRIb3N0Ojp1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA4OGY3YTdjN2QyOTg1MjY0YzcyNDc2YzkxZTcxMGNm
ZTI5NTdlODdhLi40YjRjYmU0MjZhOTVlZTc3ZDg1N2E2MmRkNmQ4YmQzODY2ODE1YzU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0zNDksNiArMzQ5LDcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIGNsb3NlV2luZG93KCkgZmluYWw7CiAgICAgdm9pZCByZW9wZW4oKSBmaW5h
bCB7IH0KICAgICB2b2lkIGJyaW5nVG9Gcm9udCgpIGZpbmFsIHsgfQorICAgIHZvaWQgc2V0Rm9y
Y2VkQXBwZWFyYW5jZShJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6QXBwZWFyYW5jZSkgZmluYWwg
eyB9CiAgICAgU3RyaW5nIGxvY2FsaXplZFN0cmluZ3NVUkwoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBTdHJpbmcoKTsgfQogICAgIERlYnVnZ2FibGVUeXBlIGRlYnVnZ2FibGVUeXBlKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gRGVidWdnYWJsZVR5cGU6OlBhZ2U7IH0KICAgICBTdHJpbmcgdGFyZ2V0
UGxhdGZvcm1OYW1lKCkgY29uc3QgeyByZXR1cm4gIlVua25vd24iX3M7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9SZW1vdGVXZWJJbnNwZWN0b3JQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvUmVtb3RlV2ViSW5zcGVj
dG9yUHJveHkuY3BwCmluZGV4IGMyZGY0MTZmNTE4ZTdmOTMwZjE4M2Q2YTA3ODBiZjE5MmJmYTU3
YzUuLjRhY2U0MTNlNDA3OWQzNTdiMmRmMmI3ZTMyNmIzOWM3MzZmYmYzNmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9SZW1vdGVXZWJJbnNwZWN0b3JQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL1JlbW90ZVdlYklu
c3BlY3RvclByb3h5LmNwcApAQCAtMTM4LDYgKzEzOCwxMSBAQCB2b2lkIFJlbW90ZVdlYkluc3Bl
Y3RvclByb3h5OjpzZXRTaGVldFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIHBsYXRm
b3JtU2V0U2hlZXRSZWN0KHJlY3QpOwogfQogCit2b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5
OjpzZXRGb3JjZWRBcHBlYXJhbmNlKEluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpBcHBlYXJhbmNl
IGFwcGVhcmFuY2UpCit7CisgICAgcGxhdGZvcm1TZXRGb3JjZWRBcHBlYXJhbmNlKGFwcGVhcmFu
Y2UpOworfQorCiB2b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpvcGVuSW5OZXdUYWIoY29u
c3QgU3RyaW5nJiB1cmwpCiB7CiAgICAgcGxhdGZvcm1PcGVuSW5OZXdUYWIodXJsKTsKQEAgLTE5
Myw2ICsxOTgsNyBAQCB2b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUJyaW5n
VG9Gcm9udCgpIHsgfQogdm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1TYXZl
KGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGJvb2wsIGJvb2wpIHsgfQogdm9pZCBSZW1v
dGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1BcHBlbmQoY29uc3QgU3RyaW5nJiwgY29uc3Qg
U3RyaW5nJikgeyB9CiB2b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVNldFNo
ZWV0UmVjdChjb25zdCBGbG9hdFJlY3QmKSB7IH0KK3ZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJv
eHk6OnBsYXRmb3JtU2V0Rm9yY2VkQXBwZWFyYW5jZShJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6
QXBwZWFyYW5jZSkgeyB9CiB2b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybU9w
ZW5Jbk5ld1RhYihjb25zdCBTdHJpbmcmKSB7IH0KIHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJv
eHk6OnBsYXRmb3JtU2hvd0NlcnRpZmljYXRlKGNvbnN0IENlcnRpZmljYXRlSW5mbyYpIHsgfQog
dm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DbG9zZUZyb250ZW5kUGFnZUFu
ZFdpbmRvdygpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVj
dG9yL1JlbW90ZVdlYkluc3BlY3RvclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9J
bnNwZWN0b3IvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkuaAppbmRleCA0ZDg3Yjk4YjY5OTQ4NGJh
MDcwNDc5MWE1MzQyMTJkYTg4MjZiZTVhLi43NjNlNjkxMzY0ODYxZjRmMTNlNWRiZjFhNmZiODY1
NzhiNmE2Yzg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3Iv
UmVtb3RlV2ViSW5zcGVjdG9yUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9J
bnNwZWN0b3IvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkuaApAQCAtMjgsNiArMjgsNyBAQAogI2lu
Y2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9JbnNwZWN0b3JGcm9u
dGVuZENsaWVudC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CkBAIC0xMTgsNiArMTE5LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHNhdmUoY29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgU3Ry
aW5nJiBjb250ZW50LCBib29sIGJhc2U2NEVuY29kZWQsIGJvb2wgZm9yY2VTYXZlQXMpOwogICAg
IHZvaWQgYXBwZW5kKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIGNvbnN0IFN0cmluZyYgY29udGVu
dCk7CiAgICAgdm9pZCBzZXRTaGVldFJlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0Jik7Cisg
ICAgdm9pZCBzZXRGb3JjZWRBcHBlYXJhbmNlKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xp
ZW50OjpBcHBlYXJhbmNlKTsKICAgICB2b2lkIG9wZW5Jbk5ld1RhYihjb25zdCBTdHJpbmcmIHVy
bCk7CiAgICAgdm9pZCBzaG93Q2VydGlmaWNhdGUoY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJ
bmZvJik7CiAgICAgdm9pZCBzZW5kTWVzc2FnZVRvQmFja2VuZChjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UpOwpAQCAtMTMzLDYgKzEzNSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwbGF0Zm9ybVNhdmUo
Y29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgU3RyaW5nJiBjb250ZW50LCBib29sIGJhc2U2
NEVuY29kZWQsIGJvb2wgZm9yY2VTYXZlQXMpOwogICAgIHZvaWQgcGxhdGZvcm1BcHBlbmQoY29u
c3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgU3RyaW5nJiBjb250ZW50KTsKICAgICB2b2lkIHBs
YXRmb3JtU2V0U2hlZXRSZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYpOworICAgIHZvaWQg
cGxhdGZvcm1TZXRGb3JjZWRBcHBlYXJhbmNlKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xp
ZW50OjpBcHBlYXJhbmNlKTsKICAgICB2b2lkIHBsYXRmb3JtT3BlbkluTmV3VGFiKGNvbnN0IFN0
cmluZyYgdXJsKTsKICAgICB2b2lkIHBsYXRmb3JtU2hvd0NlcnRpZmljYXRlKGNvbnN0IFdlYkNv
cmU6OkNlcnRpZmljYXRlSW5mbyYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9JbnNwZWN0b3IvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkubWVz
c2FnZXMuaW4KaW5kZXggMjg1OWM2MGNmNDZkZDE3ODU3YzM2NjFkODBhNjQwNDBkYTVhZDExOS4u
MzMyMDNlYTg0NDBhYjcwMzIyYzZmYjBmMmFlNGE1ZTQ0OWM2ZWUwNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL1JlbW90ZVdlYkluc3BlY3RvclByb3h5Lm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9SZW1vdGVX
ZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjksNiArMjksOCBAQCBtZXNzYWdlcyAt
PiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eSB7CiAgICAgU2F2ZShTdHJpbmcgZmlsZW5hbWUsIFN0
cmluZyBjb250ZW50LCBib29sIGJhc2U2NEVuY29kZWQsIGJvb2wgZm9yY2VTYXZlQXMpCiAgICAg
QXBwZW5kKFN0cmluZyBmaWxlbmFtZSwgU3RyaW5nIGNvbnRlbnQpCiAKKyAgICBTZXRGb3JjZWRB
cHBlYXJhbmNlKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpBcHBlYXJhbmNlIGFw
cGVhcmFuY2UpCisKICAgICBTZXRTaGVldFJlY3QoV2ViQ29yZTo6RmxvYXRSZWN0IHJlY3QpCiAK
ICAgICBPcGVuSW5OZXdUYWIoU3RyaW5nIHVybCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yUHJveHkuY3BwCmluZGV4IDcwNGY3ZTg0
MjE4YzM5MWU5OGNkNzI1NmRiZTY1YjUwNWZhN2YyOTUuLmQ2MTA4MDEyMWY4OTViNGUzMTUyYzVk
OTViZjE3NTQ3Njg5ZDhlNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0lu
c3BlY3Rvci9XZWJJbnNwZWN0b3JQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclByb3h5LmNwcApAQCAtNTgwLDYgKzU4MCwxMSBAQCB2
b2lkIFdlYkluc3BlY3RvclByb3h5OjphdHRhY2hBdmFpbGFiaWxpdHlDaGFuZ2VkKGJvb2wgYXZh
aWxhYmxlKQogICAgIHBsYXRmb3JtQXR0YWNoQXZhaWxhYmlsaXR5Q2hhbmdlZChtX2NhbkF0dGFj
aCk7CiB9CiAKK3ZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnNldEZvcmNlZEFwcGVhcmFuY2UoSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQ6OkFwcGVhcmFuY2UgYXBwZWFyYW5jZSkKK3sKKyAgICBwbGF0
Zm9ybVNldEZvcmNlZEFwcGVhcmFuY2UoYXBwZWFyYW5jZSk7Cit9CisKIHZvaWQgV2ViSW5zcGVj
dG9yUHJveHk6Omluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpCiB7
CiAgICAgcGxhdGZvcm1JbnNwZWN0ZWRVUkxDaGFuZ2VkKHVybFN0cmluZyk7CkBAIC03MjQsNiAr
NzI5LDExIEBAIGJvb2wgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtSXNGcm9udCgpCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCit2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVNldEZv
cmNlZEFwcGVhcmFuY2UoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OkFwcGVhcmFuY2UpCit7Cisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZv
cm1JbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0cmluZyYpCiB7CiAgICAgbm90SW1wbGVtZW50
ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJ
bnNwZWN0b3JQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYklu
c3BlY3RvclByb3h5LmgKaW5kZXggMGJkMGVlYzFkYmE4NGQxMzVhZjkwZDA3NDg5NmU5NmVmMTU0
ZjgwYy4uMmQxMTNjYmMzZTliYjA1NjFhYjRlMWNiYjc4OTRmYzYwMWQ4NGY3MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclByb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclByb3h5
LmgKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JVdGlsaXRpZXMuaCIK
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTIwMiw2ICsy
MDMsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcGxhdGZvcm1IaWRlKCk7CiAgICAgYm9vbCBwbGF0
Zm9ybUlzRnJvbnQoKTsKICAgICB2b2lkIHBsYXRmb3JtQXR0YWNoQXZhaWxhYmlsaXR5Q2hhbmdl
ZChib29sKTsKKyAgICB2b2lkIHBsYXRmb3JtU2V0Rm9yY2VkQXBwZWFyYW5jZShXZWJDb3JlOjpJ
bnNwZWN0b3JGcm9udGVuZENsaWVudDo6QXBwZWFyYW5jZSk7CiAgICAgdm9pZCBwbGF0Zm9ybUlu
c3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBwbGF0Zm9ybVNob3dD
ZXJ0aWZpY2F0ZShjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKICAgICB1bnNpZ25l
ZCBwbGF0Zm9ybUluc3BlY3RlZFdpbmRvd0hlaWdodCgpOwpAQCAtMjMwLDYgKzIzMiw3IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBicmluZ1RvRnJvbnQoKTsKICAgICB2b2lkIGJyaW5nSW5zcGVjdGVk
UGFnZVRvRnJvbnQoKTsKICAgICB2b2lkIGF0dGFjaEF2YWlsYWJpbGl0eUNoYW5nZWQoYm9vbCk7
CisgICAgdm9pZCBzZXRGb3JjZWRBcHBlYXJhbmNlKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5k
Q2xpZW50OjpBcHBlYXJhbmNlKTsKICAgICB2b2lkIGluc3BlY3RlZFVSTENoYW5nZWQoY29uc3Qg
U3RyaW5nJik7CiAgICAgdm9pZCBzaG93Q2VydGlmaWNhdGUoY29uc3QgV2ViQ29yZTo6Q2VydGlm
aWNhdGVJbmZvJik7CiAgICAgdm9pZCBlbGVtZW50U2VsZWN0aW9uQ2hhbmdlZChib29sKTsKQEAg
LTI0OCw2ICsyNTEsMTAgQEAgcHJpdmF0ZToKIAogICAgIFdlYlByZWZlcmVuY2VzJiBpbnNwZWN0
b3JQYWdlUHJlZmVyZW5jZXMoKSBjb25zdDsKIAorI2lmIFBMQVRGT1JNKE1BQykKKyAgICB2b2lk
IGFwcGx5Rm9yY2VkQXBwZWFyYW5jZSgpOworI2VuZGlmCisKICNpZiBQTEFURk9STShHVEspIHx8
IFBMQVRGT1JNKFdQRSkKICAgICB2b2lkIHVwZGF0ZUluc3BlY3RvcldpbmRvd1RpdGxlKCkgY29u
c3Q7CiAjZW5kaWYKQEAgLTI4Myw2ICsyOTAsNyBAQCBwcml2YXRlOgogICAgIFJ1bkxvb3A6OlRp
bWVyPFdlYkluc3BlY3RvclByb3h5PiBtX2Nsb3NlRnJvbnRlbmRBZnRlckluYWN0aXZpdHlUaW1l
cjsKICAgICBTdHJpbmcgbV91cmxTdHJpbmc7CiAgICAgV2ViQ29yZTo6RmxvYXRSZWN0IG1fc2hl
ZXRSZWN0OworICAgIFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpBcHBlYXJhbmNl
IG1fZnJvbnRlbmRBcHBlYXJhbmNlIHsgV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6
OkFwcGVhcmFuY2U6OlN5c3RlbSB9OwogICAgIGJvb2wgbV9pc09ic2VydmluZ0NvbnRlbnRMYXlv
dXRSZWN0IHsgZmFsc2UgfTsKICNlbGlmIFBMQVRGT1JNKEdUSykKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8V2ViSW5zcGVjdG9yUHJveHlDbGllbnQ+IG1fY2xpZW50OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclByb3h5Lm1l
c3NhZ2VzLmluCmluZGV4IDVhZWY3YTdkZmZiZDcxMTU1NWJmZTI2NTMzZmU0NmIwYmU3MTUzZTku
LmIzMzZiMWM2MWE4MGFlNTZkOTgxYzc0Y2JmY2I1ZTRkZjE0YTM3YzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9y
UHJveHkubWVzc2FnZXMuaW4KQEAgLTMzLDYgKzMzLDggQEAgbWVzc2FnZXMgLT4gV2ViSW5zcGVj
dG9yUHJveHkgewogICAgIFJlb3BlbigpCiAgICAgUmVzZXRTdGF0ZSgpCiAKKyAgICBTZXRGb3Jj
ZWRBcHBlYXJhbmNlKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpBcHBlYXJhbmNl
IGFwcGVhcmFuY2UpCisKICAgICBJbnNwZWN0ZWRVUkxDaGFuZ2VkKFN0cmluZyB1cmxTdHJpbmcp
CiAgICAgU2hvd0NlcnRpZmljYXRlKFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0
ZUluZm8pCiAgICAgRWxlbWVudFNlbGVjdGlvbkNoYW5nZWQoYm9vbCBhY3RpdmUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvZ3RrL1JlbW90ZVdlYkluc3Bl
Y3RvclByb3h5R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9ndGsv
UmVtb3RlV2ViSW5zcGVjdG9yUHJveHlHdGsuY3BwCmluZGV4IDY0Y2EyNmMzNjBiOTE2MzY2N2Y5
N2FkYTUzOWIzY2RjN2I4YTVlYjQuLjM0NDI5NTEzMzI3MzhjZTBlYjM3MGE3NTQxYThiZjRjYmY1
YmM1YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9ndGsv
UmVtb3RlV2ViSW5zcGVjdG9yUHJveHlHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0luc3BlY3Rvci9ndGsvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlHdGsuY3BwCkBAIC0xNTcs
NiArMTU3LDEwIEBAIHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtU2V0U2hl
ZXRSZWN0KGNvbnN0IEZsb2F0UmVjdCYpCiB7CiB9CiAKK3ZvaWQgUmVtb3RlV2ViSW5zcGVjdG9y
UHJveHk6OnBsYXRmb3JtU2V0Rm9yY2VkQXBwZWFyYW5jZShJbnNwZWN0b3JGcm9udGVuZENsaWVu
dDo6QXBwZWFyYW5jZSkKK3sKK30KKwogdm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxh
dGZvcm1PcGVuSW5OZXdUYWIoY29uc3QgU3RyaW5nJikKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9ndGsvV2ViSW5zcGVjdG9yUHJveHlHdGsuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL2d0ay9XZWJJbnNwZWN0b3JQcm94
eUd0ay5jcHAKaW5kZXggNjViZDQ0YWI1NTdmMTU3OTIwMzM1OGQ4YjJlYTUxYTYzOTI2NWI0OS4u
ODFlMjZhYjVkZGI5MGNkYmZmNjUyZjNiMDFhM2IyMDYxNDVhY2VmYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL2d0ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL2d0ay9XZWJJbnNwZWN0
b3JQcm94eUd0ay5jcHAKQEAgLTMzMiw2ICszMzIsMTEgQEAgYm9vbCBXZWJJbnNwZWN0b3JQcm94
eTo6cGxhdGZvcm1Jc0Zyb250KCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK3ZvaWQgV2ViSW5z
cGVjdG9yUHJveHk6OnBsYXRmb3JtU2V0Rm9yY2VkQXBwZWFyYW5jZShJbnNwZWN0b3JGcm9udGVu
ZENsaWVudDo6QXBwZWFyYW5jZSkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiB2b2lk
IFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3Ry
aW5nJiB1cmwpCiB7CiAgICAgbV9pbnNwZWN0ZWRVUkxTdHJpbmcgPSB1cmw7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvbWFjL1JlbW90ZVdlYkluc3BlY3Rv
clByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL21hYy9SZW1v
dGVXZWJJbnNwZWN0b3JQcm94eU1hYy5tbQppbmRleCA4NTRkYTg4NjVmY2VmNjBjOWViMjIyYWYx
YTUyYjIzMzQ0ZDk2OTI0Li5lMWQyNDhhZmEzODFmYzc3NTc2Y2ViM2E3MGNkMGFhNDMxZGQzMmI0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvbWFjL1JlbW90
ZVdlYkluc3BlY3RvclByb3h5TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0lu
c3BlY3Rvci9tYWMvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KQEAgLTIyNSw2ICsyMjUs
MjYgQEAgdm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1TZXRTaGVldFJlY3Qo
Y29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIG1fc2hlZXRSZWN0ID0gcmVjdDsKIH0KIAordm9p
ZCBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1TZXRGb3JjZWRBcHBlYXJhbmNlKElu
c3BlY3RvckZyb250ZW5kQ2xpZW50OjpBcHBlYXJhbmNlIGFwcGVhcmFuY2UpCit7CisgICAgTlNX
aW5kb3cgKndpbmRvdyA9IG1fd2luZG93LmdldCgpOworICAgIEFTU0VSVCh3aW5kb3cpOworCisg
ICAgc3dpdGNoIChhcHBlYXJhbmNlKSB7CisgICAgY2FzZSBJbnNwZWN0b3JGcm9udGVuZENsaWVu
dDo6QXBwZWFyYW5jZTo6U3lzdGVtOgorICAgICAgICB3aW5kb3cuYXBwZWFyYW5jZSA9IG5pbDsK
KyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpBcHBl
YXJhbmNlOjpMaWdodDoKKyAgICAgICAgd2luZG93LmFwcGVhcmFuY2UgPSBbTlNBcHBlYXJhbmNl
IGFwcGVhcmFuY2VOYW1lZDpOU0FwcGVhcmFuY2VOYW1lQXF1YV07CisgICAgICAgIGJyZWFrOwor
CisgICAgY2FzZSBJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6QXBwZWFyYW5jZTo6RGFyazoKKyAg
ICAgICAgd2luZG93LmFwcGVhcmFuY2UgPSBbTlNBcHBlYXJhbmNlIGFwcGVhcmFuY2VOYW1lZDpO
U0FwcGVhcmFuY2VOYW1lRGFya0FxdWFdOworICAgICAgICBicmVhazsKKyAgICB9Cit9CisKIHZv
aWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtT3BlbkluTmV3VGFiKGNvbnN0IFN0
cmluZyYgdXJsKQogewogICAgIFtbTlNXb3Jrc3BhY2Ugc2hhcmVkV29ya3NwYWNlXSBvcGVuVVJM
OltOU1VSTCBVUkxXaXRoU3RyaW5nOnVybF1dOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvSW5zcGVjdG9yL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9tYWMvV2ViSW5zcGVjdG9yUHJveHlNYWMubW0KaW5k
ZXggMTdiYTY3Njc4M2E5ZTczOWE4NjM2OWE1ZGIyZDU4OTAxODJmM2U1NC4uZjZkNTViMmU4NjI2
MDYyMjYxNjljM2I5NmRjZDIwZjYwODU2NjI3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvSW5zcGVjdG9yL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvbWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1t
CkBAIC0yOTgsNiArMjk4LDcgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVh
dGVGcm9udGVuZFdpbmRvdygpCiAgICAgW2NvbnRlbnRWaWV3IGFkZFN1YnZpZXc6aW5zcGVjdG9y
Vmlld107CiAKICAgICB1cGRhdGVJbnNwZWN0b3JXaW5kb3dUaXRsZSgpOworICAgIGFwcGx5Rm9y
Y2VkQXBwZWFyYW5jZSgpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpjbG9zZUZyb250
ZW5kUGFnZSgpCkBAIC00MTMsNiArNDE0LDEzIEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBs
YXRmb3JtQXR0YWNoQXZhaWxhYmlsaXR5Q2hhbmdlZChib29sIGF2YWlsYWJsZSkKICAgICAvLyBE
byBub3RoaW5nLgogfQogCit2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVNldEZvcmNl
ZEFwcGVhcmFuY2UoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OkFwcGVhcmFuY2UgYXBwZWFyYW5j
ZSkKK3sKKyAgICBtX2Zyb250ZW5kQXBwZWFyYW5jZSA9IGFwcGVhcmFuY2U7CisKKyAgICBhcHBs
eUZvcmNlZEFwcGVhcmFuY2UoKTsKK30KKwogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZv
cm1JbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nKQogewogICAgIG1f
dXJsU3RyaW5nID0gdXJsU3RyaW5nOwpAQCAtNzk2LDYgKzgwNCwyNyBAQCBEZWJ1Z2dhYmxlSW5m
b0RhdGEgV2ViSW5zcGVjdG9yUHJveHk6OmluZm9Gb3JMb2NhbERlYnVnZ2FibGUoKQogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiAKK3ZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OmFwcGx5Rm9yY2VkQXBw
ZWFyYW5jZSgpCit7CisgICAgTlNXaW5kb3cgKndpbmRvdyA9IG1faW5zcGVjdG9yV2luZG93Lmdl
dCgpOworICAgIGlmICghd2luZG93KQorICAgICAgICByZXR1cm47CisKKyAgICBzd2l0Y2ggKG1f
ZnJvbnRlbmRBcHBlYXJhbmNlKSB7CisgICAgY2FzZSBJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6
QXBwZWFyYW5jZTo6U3lzdGVtOgorICAgICAgICB3aW5kb3cuYXBwZWFyYW5jZSA9IG5pbDsKKyAg
ICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpBcHBlYXJh
bmNlOjpMaWdodDoKKyAgICAgICAgd2luZG93LmFwcGVhcmFuY2UgPSBbTlNBcHBlYXJhbmNlIGFw
cGVhcmFuY2VOYW1lZDpOU0FwcGVhcmFuY2VOYW1lQXF1YV07CisgICAgICAgIGJyZWFrOworCisg
ICAgY2FzZSBJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6QXBwZWFyYW5jZTo6RGFyazoKKyAgICAg
ICAgd2luZG93LmFwcGVhcmFuY2UgPSBbTlNBcHBlYXJhbmNlIGFwcGVhcmFuY2VOYW1lZDpOU0Fw
cGVhcmFuY2VOYW1lRGFya0FxdWFdOworICAgICAgICBicmVhazsKKyAgICB9Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL3dpbi9SZW1vdGVXZWJJbnNwZWN0b3JQ
cm94eVdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3Ivd2luL1JlbW90
ZVdlYkluc3BlY3RvclByb3h5V2luLmNwcAppbmRleCBhZDg0MjQ0YTMyMjdlNmFmMTFlMTMwMzk4
OWVmMmMzNmQwYWE0ODU2Li5kZjQxNWE1NWQ5OTA0MDgwNjFjN2E2YjlmM2QwZjI4YjVlNjY5NmE3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3Ivd2luL1JlbW90
ZVdlYkluc3BlY3RvclByb3h5V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9J
bnNwZWN0b3Ivd2luL1JlbW90ZVdlYkluc3BlY3RvclByb3h5V2luLmNwcApAQCAtMTM0LDYgKzEz
NCw3IEBAIHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQnJpbmdUb0Zyb250
KCkgeyB9CiB2b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVNhdmUoY29uc3Qg
U3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgYm9vbCwgYm9vbCkgeyB9CiB2b2lkIFJlbW90ZVdlYklu
c3BlY3RvclByb3h5OjpwbGF0Zm9ybUFwcGVuZChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcm
KSB7IH0KIHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtU2V0U2hlZXRSZWN0
KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYpIHsgfQordm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQ
cm94eTo6cGxhdGZvcm1TZXRGb3JjZWRBcHBlYXJhbmNlKEluc3BlY3RvckZyb250ZW5kQ2xpZW50
OjpBcHBlYXJhbmNlKSB7IH0KIHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3Jt
T3BlbkluTmV3VGFiKGNvbnN0IFN0cmluZyYpIHsgfQogdm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQ
cm94eTo6cGxhdGZvcm1TaG93Q2VydGlmaWNhdGUoY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJ
bmZvJikgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rv
ci93aW4vV2ViSW5zcGVjdG9yUHJveHlXaW4uY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
SW5zcGVjdG9yL3dpbi9XZWJJbnNwZWN0b3JQcm94eVdpbi5jcHAKaW5kZXggOTI5Y2I4YmRhM2Mz
ZDMyZjM4Y2NhYmZkODM0YzhiNWNlYTI0ZDQxMC4uZDY4MDBjMWM0MjRkYjFmNWNiMTE5MmFiOTJm
ZjMwMWE4N2E4YzQ0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVj
dG9yL3dpbi9XZWJJbnNwZWN0b3JQcm94eVdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvSW5zcGVjdG9yL3dpbi9XZWJJbnNwZWN0b3JQcm94eVdpbi5jcHAKQEAgLTQxMCw2ICs0
MTAsMTEgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1CcmluZ0luc3BlY3RlZFBh
Z2VUb0Zyb250KCkKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2b2lkIFdlYkluc3BlY3Rv
clByb3h5OjpwbGF0Zm9ybVNldEZvcmNlZEFwcGVhcmFuY2UoSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnQ6OkFwcGVhcmFuY2UpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogdm9pZCBXZWJJ
bnNwZWN0b3JQcm94eTo6cGxhdGZvcm1JbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0cmluZyYg
LyogdXJsICovKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvSW5zcGVjdG9yL1JlbW90ZVdlYkluc3BlY3RvclVJLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvUmVtb3RlV2ViSW5zcGVjdG9yVUkuY3Bw
CmluZGV4IDY1NThhMjVhMWVhOWQxNWRjYmY4MmFmMWIxMzBjZmFjZTBiZmFjNGMuLjE0NmExNjJk
MDIwYjM3MmU3MzQ2MTdiZGU2NWUzM2VkMDE0NWQ2NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvUmVtb3RlV2ViSW5zcGVjdG9yVUkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvUmVtb3RlV2ViSW5zcGVjdG9yVUkuY3Bw
CkBAIC0xMTAsNiArMTEwLDExIEBAIHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yVUk6OmNoYW5nZVNo
ZWV0UmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6UmVtb3RlV2ViSW5z
cGVjdG9yUHJveHk6OlNldFNoZWV0UmVjdChyZWN0KSwgbV9wYWdlLmlkZW50aWZpZXIoKSk7CiB9
CiAKK3ZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yVUk6OnNldEZvcmNlZEFwcGVhcmFuY2UoV2ViQ29y
ZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OkFwcGVhcmFuY2UgYXBwZWFyYW5jZSkKK3sKKyAg
ICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5k
KE1lc3NhZ2VzOjpSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6U2V0Rm9yY2VkQXBwZWFyYW5jZShh
cHBlYXJhbmNlKSwgbV9wYWdlLmlkZW50aWZpZXIoKSk7Cit9CisKIFdlYkNvcmU6OlVzZXJJbnRl
cmZhY2VMYXlvdXREaXJlY3Rpb24gUmVtb3RlV2ViSW5zcGVjdG9yVUk6OnVzZXJJbnRlcmZhY2VM
YXlvdXREaXJlY3Rpb24oKSBjb25zdAogewogICAgIHJldHVybiBtX3BhZ2UuY29yZVBhZ2UoKS0+
dXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0luc3BlY3Rvci9SZW1vdGVXZWJJbnNwZWN0b3JVSS5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0luc3BlY3Rvci9SZW1vdGVXZWJJbnNwZWN0b3JVSS5oCmluZGV4IDYz
ZjQzMmRmOGIzNDBjMTc2OTM2NDA2Y2NmZmU1YTc3NWQwYjc5YTkuLmNjYTk4N2JkNTIzZTJhZjk0
NjE5MmUyMDU2YjYyYTI1NzM2NDg0ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9JbnNwZWN0b3IvUmVtb3RlV2ViSW5zcGVjdG9yVUkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvSW5zcGVjdG9yL1JlbW90ZVdlYkluc3BlY3RvclVJLmgKQEAgLTcyLDYgKzcy
LDggQEAgcHVibGljOgogICAgIFN0cmluZyB0YXJnZXRQcm9kdWN0VmVyc2lvbigpIGNvbnN0IG92
ZXJyaWRlOwogICAgIGJvb2wgdGFyZ2V0SXNTaW11bGF0b3IoKSBjb25zdCBvdmVycmlkZTsKIAor
ICAgIHZvaWQgc2V0Rm9yY2VkQXBwZWFyYW5jZShXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENs
aWVudDo6QXBwZWFyYW5jZSkgb3ZlcnJpZGU7CisKICAgICBXZWJDb3JlOjpVc2VySW50ZXJmYWNl
TGF5b3V0RGlyZWN0aW9uIHVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24oKSBjb25zdCBvdmVy
cmlkZTsKIAogICAgIHZvaWQgYnJpbmdUb0Zyb250KCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUkuY3BwCmluZGV4
IDkxMGNiMzU5ZGM0MzQ2MDgzNjM3MGIxYzY1ZmJhNTUyYjIwMGQ2MDEuLmMxZjMzNjA0ZjgwYTk0
MDE3ZDA0NjI0M2FlYzVjYTQ3MDhhMTkxYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUkuY3BwCkBAIC0xNzMsNiArMTczLDEx
IEBAIHZvaWQgV2ViSW5zcGVjdG9yVUk6OnJlc2V0U3RhdGUoKQogICAgIFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYklu
c3BlY3RvclByb3h5OjpSZXNldFN0YXRlKCksIG1faW5zcGVjdGVkUGFnZUlkZW50aWZpZXIpOwog
fQogCit2b2lkIFdlYkluc3BlY3RvclVJOjpzZXRGb3JjZWRBcHBlYXJhbmNlKFdlYkNvcmU6Oklu
c3BlY3RvckZyb250ZW5kQ2xpZW50OjpBcHBlYXJhbmNlIGFwcGVhcmFuY2UpCit7CisgICAgV2Vi
UHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNz
YWdlczo6V2ViSW5zcGVjdG9yUHJveHk6OlNldEZvcmNlZEFwcGVhcmFuY2UoYXBwZWFyYW5jZSks
IG1faW5zcGVjdGVkUGFnZUlkZW50aWZpZXIpOworfQorCiBXZWJDb3JlOjpVc2VySW50ZXJmYWNl
TGF5b3V0RGlyZWN0aW9uIFdlYkluc3BlY3RvclVJOjp1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0
aW9uKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9wYWdlLmNvcmVQYWdlKCktPnVzZXJJbnRlcmZh
Y2VMYXlvdXREaXJlY3Rpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUkuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9J
bnNwZWN0b3IvV2ViSW5zcGVjdG9yVUkuaAppbmRleCA4YmJhN2E0ODkzYzViMTQ3ZTMwMDkxNjA3
YTU5MzIxZDY1ZTYyYjc0Li4yZmQ4NTFiNDA2ODZkMTg5MWUwOWYxMGI4YTU4ZTNlNmZlOGU2Mzk2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3Bl
Y3RvclVJLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNw
ZWN0b3JVSS5oCkBAIC0xMDcsNiArMTA3LDggQEAgcHVibGljOgogICAgIHZvaWQgcmVvcGVuKCkg
b3ZlcnJpZGU7CiAgICAgdm9pZCByZXNldFN0YXRlKCkgb3ZlcnJpZGU7CiAKKyAgICB2b2lkIHNl
dEZvcmNlZEFwcGVhcmFuY2UoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OkFwcGVh
cmFuY2UpIG92ZXJyaWRlOworCiAgICAgV2ViQ29yZTo6VXNlckludGVyZmFjZUxheW91dERpcmVj
dGlvbiB1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAg
ICB2b2lkIHJlcXVlc3RTZXREb2NrU2lkZShEb2NrU2lkZSkgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L2lvcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGll
bnRJT1MubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L2lvcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNw
ZWN0b3JDbGllbnRJT1MubW0KaW5kZXggZTM1ZjdhMDQ3ZWQ2NzlkYjBkZDIwZDc4YTg5NzA0Mjg0
MmExYzUzMC4uMDdmZWY4YWNjYzc4MDNiMzI2N2QzNjY3ZDVhZGIyNzBmMTRhOWRjOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9y
Q2xpZW50SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvaW9zL1dlYkNvcmVTdXBwb3J0
L1dlYkluc3BlY3RvckNsaWVudElPUy5tbQpAQCAtMTI4LDYgKzEyOCw3IEBAIHZvaWQgV2ViSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQ6OmJyaW5nVG9Gcm9udCgpIHsgfQogdm9pZCBXZWJJbnNwZWN0
b3JGcm9udGVuZENsaWVudDo6Y2xvc2VXaW5kb3coKSB7IH0KIHZvaWQgV2ViSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnQ6OnJlb3BlbigpIHsgfQogdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVu
dDo6cmVzZXRTdGF0ZSgpIHsgfQordm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6c2V0
Rm9yY2VkQXBwZWFyYW5jZShJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6QXBwZWFyYW5jZSkgeyB9
CiB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjphdHRhY2hXaW5kb3coRG9ja1NpZGUp
IHsgfQogdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6ZGV0YWNoV2luZG93KCkgeyB9
CiB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpzZXRBdHRhY2hlZFdpbmRvd0hlaWdo
dCh1bnNpZ25lZCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCmluZGV4IDdjNGM3ZjJlYWUwMmNh
OTRhOTdlMTAxMWExZGZiZGI5MmY0ZmZkNTYuLmVjOGUyMjA0NjMxNjQ2NzU1ODBiOGMyMTRjOTdm
ZDY3YWJmMjBlNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCkBAIC0xMjksNiArMTI5LDggQEAg
cHVibGljOgogICAgIHZvaWQgcmVvcGVuKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXNldFN0YXRl
KCkgb3ZlcnJpZGU7CiAKKyAgICB2b2lkIHNldEZvcmNlZEFwcGVhcmFuY2UoSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnQ6OkFwcGVhcmFuY2UpIG92ZXJyaWRlOworCiAgICAgdm9pZCBhdHRhY2hXaW5k
b3coRG9ja1NpZGUpIG92ZXJyaWRlOwogICAgIHZvaWQgZGV0YWNoV2luZG93KCkgb3ZlcnJpZGU7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
Ykluc3BlY3RvckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQppbmRleCA0NGY2Nzc4ZWY5ZTc2ZWVhM2RhMDQyN2E1
NmM2ZDAxOTU4M2U2NDg4Li41ZTYyNmY5MTU3ZjUyNTYzMDI4ZDA1ZGQwZjI5MjhjYzk2OTg2Mzc5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJ
bnNwZWN0b3JDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCkBAIC0yNjQsNiArMjY0LDI2IEBAIHZvaWQgV2Vi
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OnJlc2V0U3RhdGUoKQogICAgIFtOU1dpbmRvdyByZW1v
dmVGcmFtZVVzaW5nTmFtZTpbW21fZnJvbnRlbmRXaW5kb3dDb250cm9sbGVyIHdpbmRvd10gZnJh
bWVBdXRvc2F2ZU5hbWVdXTsKIH0KIAordm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6
c2V0Rm9yY2VkQXBwZWFyYW5jZShJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6QXBwZWFyYW5jZSBh
cHBlYXJhbmNlKQoreworICAgIE5TV2luZG93ICp3aW5kb3cgPSBbbV9mcm9udGVuZFdpbmRvd0Nv
bnRyb2xsZXIgd2luZG93XTsKKyAgICBBU1NFUlQod2luZG93KTsKKworICAgIHN3aXRjaCAoYXBw
ZWFyYW5jZSkgeworICAgIGNhc2UgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OkFwcGVhcmFuY2U6
OlN5c3RlbToKKyAgICAgICAgd2luZG93LmFwcGVhcmFuY2UgPSBuaWw7CisgICAgICAgIGJyZWFr
OworCisgICAgY2FzZSBJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6QXBwZWFyYW5jZTo6TGlnaHQ6
CisgICAgICAgIHdpbmRvdy5hcHBlYXJhbmNlID0gW05TQXBwZWFyYW5jZSBhcHBlYXJhbmNlTmFt
ZWQ6TlNBcHBlYXJhbmNlTmFtZUFxdWFdOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgSW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQ6OkFwcGVhcmFuY2U6OkRhcms6CisgICAgICAgIHdpbmRvdy5h
cHBlYXJhbmNlID0gW05TQXBwZWFyYW5jZSBhcHBlYXJhbmNlTmFtZWQ6TlNBcHBlYXJhbmNlTmFt
ZURhcmtBcXVhXTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorfQorCiB2b2lkIFdlYkluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50OjphdHRhY2hXaW5kb3coRG9ja1NpZGUpCiB7CiAgICAgaWYgKFttX2Zy
b250ZW5kV2luZG93Q29udHJvbGxlci5nZXQoKSBhdHRhY2hlZF0pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3Bw
IGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xp
ZW50LmNwcAppbmRleCA3MWNmZjcwZGMxMDVjMGQ0YTdjY2QzYTdmZGIxNTkyMTNlNjQyOGEzLi5i
NjQ3MGFmZTgxOGQwZDg0MGVlNzE4OTE3MjdjYjI4OWQ1ZmQ5ODMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckNsaWVudC5jcHAKQEAgLTI4Niw2ICsyODYsMTEgQEAgdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVu
ZENsaWVudDo6cmVzZXRTdGF0ZSgpCiAgICAgbV9pbnNwZWN0b3JDbGllbnQtPmRlbGV0ZUluc3Bl
Y3RvckF0dGFjaERpc2FibGVkKCk7CiB9CiAKK3ZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnQ6OnNldEZvcmNlZEFwcGVhcmFuY2UoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OkFwcGVhcmFu
Y2UpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogdm9pZCBXZWJJbnNwZWN0b3JGcm9u
dGVuZENsaWVudDo6YXR0YWNoV2luZG93KERvY2tTaWRlKQogewogICAgIGlmIChtX2F0dGFjaGVk
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2Vi
SW5zcGVjdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJJbnNwZWN0b3JDbGllbnQuaAppbmRleCAyNzc0MGVkYTVjZmNjZjdjZTdjY2IwNTZkNjgz
YjBjYWIyNmQwNjUxLi45MzFhY2VmZDg4YTU0NzQ2ZTRiNzMxOWUzM2NhMWQ5MzZhZmEyNzY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNw
ZWN0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJJbnNwZWN0b3JDbGllbnQuaApAQCAtMTE2LDYgKzExNiw4IEBAIHB1YmxpYzoKICAgICB2
b2lkIHJlb3BlbigpIG92ZXJyaWRlOwogICAgIHZvaWQgcmVzZXRTdGF0ZSgpIG92ZXJyaWRlOwog
CisgICAgdm9pZCBzZXRGb3JjZWRBcHBlYXJhbmNlKEluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpB
cHBlYXJhbmNlKSBvdmVycmlkZTsKKwogICAgIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQo
dW5zaWduZWQpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3dXaWR0aCh1bnNp
Z25lZCkgb3ZlcnJpZGU7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392303</attachid>
            <date>2020-03-03 11:33:27 -0800</date>
            <delta_ts>2020-03-03 14:11:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208503-20200303113327.patch</filename>
            <type>text/plain</type>
            <size>31395</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4NTE4NGY4NWUzOGQ2MTFkZTEwNDVkYzM1OGYzNjcxZjAwZjBiYjhjLi5k
ZTFiYzJiZWQ1N2VlNDlmNTRkM2Q0NDUwNmZlODEzODdlM2Y4OWE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjUgQEAKKzIwMjAtMDMtMDMgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHNldHRpbmcgdGhlIGZyb250ZW5kIGFwcGVhcmFu
Y2UgZG9lc24ndCB1cGRhdGUgdGhlIHdpbmRvdyB3aGVuIHVuZG9ja2VkCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg1MDMKKworICAgICAgICBSZXZp
ZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIuCisKKyAgICAgICAgTm90aWZ5IHRoZSBVSVByb2Nlc3Mg
d2hlbiBzZXR0aW5nIHRoZSBmb3JjZWQgYXBwZWFyYW5jZSBzbyBwbGF0Zm9ybXMgdGhhdCBzdXBw
b3J0IGRhcmsgbW9kZQorICAgICAgICBhcmUgYWJsZSB0byBydW4gbmF0aXZlIGNvZGUgdG8gYWRq
dXN0IHRoZSBhcHBlYXJhbmNlIG9mIHRoZSB1bmRvY2tlZCB3aW5kb3cuCisKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckZyb250ZW5kSG9zdDo6c2V0Rm9yY2VkQXBwZWFyYW5jZSk6CisgICAgICAgIENhbGwg
dGhyb3VnaCB0byB0aGUgYEluc3BlY3RvckZyb250ZW5kQ2xpZW50YCB0byBjaGFuZ2UgdGhlIGZv
cmNlZCBhcHBlYXJhbmNlLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OkFwcGVh
cmFuY2UpOiBBZGRlZC4KKyAgICAgICAgQWRkIGFuIGBlbnVtIGNsYXNzIEFwcGVhcmFuY2VgIHNv
IHRoYXQgbXVsdGlwbGUgY29waWVzIG9mIHRoZSBzYW1lIHN0cmluZyBjb21wYXJpc29uIGxvZ2lj
CisgICAgICAgIGlzbid0IG5lZWRlZC4KKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclN0dWJGcm9udGVuZDo6c2V0Rm9yY2VkQXBw
ZWFyYW5jZSk6IEFkZGVkLgorCiAyMDIwLTAzLTAzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVncmVzc2lvbiAoQ29va2llQ2FjaGUpIFVuYWJsZSB0byBsb2cg
aW50byBIdWx1LmNvbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBmYTc2Y2I0ODY4ZjhlYTBkNWM0ZjY2Nzc0YjBmNDk1
ZjY1ZWFkYzc2Li5iNzMwNWYzZDk0MzgwMzk4YWY4MDFmNTUyOTgwNmUwNGVmYjY2NTRjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIwLTAzLTAzICBEZXZpbiBSb3Vzc28gIDxkcm91c3Nv
QGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBzZXR0aW5nIHRoZSBmcm9udGVu
ZCBhcHBlYXJhbmNlIGRvZXNuJ3QgdXBkYXRlIHRoZSB3aW5kb3cgd2hlbiB1bmRvY2tlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4NTAzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgorCisgICAgICAgIE5vdGlmeSB0aGUg
VUlQcm9jZXNzIHdoZW4gc2V0dGluZyB0aGUgZm9yY2VkIGFwcGVhcmFuY2Ugc28gcGxhdGZvcm1z
IHRoYXQgc3VwcG9ydCBkYXJrIG1vZGUKKyAgICAgICAgYXJlIGFibGUgdG8gcnVuIG5hdGl2ZSBj
b2RlIHRvIGFkanVzdCB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgdW5kb2NrZWQgd2luZG93LgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUkuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JVSS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYkluc3BlY3RvclVJOjpzZXRGb3JjZWRBcHBlYXJhbmNlKTogQWRkZWQuCisgICAgICAg
ICogVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdlcy5pbjoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclByb3h5Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpzZXRGb3JjZWRBcHBlYXJhbmNlKTogQWRkZWQuCisg
ICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVNldEZvcmNlZEFwcGVh
cmFuY2UpOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvSW5zcGVjdG9yL2d0ay9XZWJJbnNw
ZWN0b3JQcm94eUd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5Ojpw
bGF0Zm9ybVNldEZvcmNlZEFwcGVhcmFuY2UpOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
SW5zcGVjdG9yL21hYy9XZWJJbnNwZWN0b3JQcm94eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6
V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRlRnJvbnRlbmRXaW5kb3cpOiBBZGRlZC4K
KyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtU2V0Rm9yY2VkQXBw
ZWFyYW5jZSk6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6YXBw
bHlGb3JjZWRBcHBlYXJhbmNlKTogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0luc3BlY3Rv
ci93aW4vV2ViSW5zcGVjdG9yUHJveHlXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNw
ZWN0b3JQcm94eTo6cGxhdGZvcm1TZXRGb3JjZWRBcHBlYXJhbmNlKTogQWRkZWQuCisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0luc3BlY3Rvci9SZW1vdGVXZWJJbnNwZWN0b3JVSS5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvSW5zcGVjdG9yL1JlbW90ZVdlYkluc3BlY3RvclVJLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlV2ViSW5zcGVjdG9yVUk6OnNldEZvcmNlZEFwcGVhcmFuY2UpOiBB
ZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvSW5zcGVjdG9yL1JlbW90ZVdlYkluc3BlY3RvclBy
b3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9JbnNwZWN0b3IvUmVtb3RlV2Vi
SW5zcGVjdG9yUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvSW5zcGVjdG9yL1JlbW90ZVdl
Ykluc3BlY3RvclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlV2ViSW5zcGVjdG9y
UHJveHk6OnNldEZvcmNlZEFwcGVhcmFuY2UpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtU2V0Rm9yY2VkQXBwZWFyYW5jZSk6IEFkZGVk
LgorICAgICAgICAqIFVJUHJvY2Vzcy9JbnNwZWN0b3IvZ3RrL1JlbW90ZVdlYkluc3BlY3RvclBy
b3h5R3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBs
YXRmb3JtU2V0Rm9yY2VkQXBwZWFyYW5jZSk6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9J
bnNwZWN0b3IvbWFjL1JlbW90ZVdlYkluc3BlY3RvclByb3h5TWFjLm1tOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1TZXRGb3JjZWRBcHBlYXJhbmNl
KTogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0luc3BlY3Rvci93aW4vUmVtb3RlV2ViSW5z
cGVjdG9yUHJveHlXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVXZWJJbnNwZWN0b3JQ
cm94eTo6cGxhdGZvcm1TZXRGb3JjZWRBcHBlYXJhbmNlKTogQWRkZWQuCisKIDIwMjAtMDMtMDMg
IEppdGVuIE1laHRhICA8am1laHRhQGFwcGxlLmNvbT4KIAogICAgICAgICBBZG9wdCBIVFRQIEFs
dGVybmF0aXZlIFNlcnZpY2VzIFN0b3JhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvaW9zL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvaW9zL0NoYW5nZUxvZwppbmRl
eCA1Y2QzMDU2OGJhNWYwZjVlNDA2YzEyNDA0NTcwM2ViZjAyZTYzOTQwLi5hNGYxYzU5NzFiZmYx
ZTljM2UwMWIwNjMzMDYzNDBjYjgyN2Q4NzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L2lvcy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9pb3MvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMDMtMDMgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBw
bGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHNldHRpbmcgdGhlIGZyb250ZW5kIGFw
cGVhcmFuY2UgZG9lc24ndCB1cGRhdGUgdGhlIHdpbmRvdyB3aGVuIHVuZG9ja2VkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg1MDMKKworICAgICAg
ICBSZXZpZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIuCisKKyAgICAgICAgTm90aWZ5IHRoZSBVSVBy
b2Nlc3Mgd2hlbiBzZXR0aW5nIHRoZSBmb3JjZWQgYXBwZWFyYW5jZSBzbyBwbGF0Zm9ybXMgdGhh
dCBzdXBwb3J0IGRhcmsgbW9kZQorICAgICAgICBhcmUgYWJsZSB0byBydW4gbmF0aXZlIGNvZGUg
dG8gYWRqdXN0IHRoZSBhcHBlYXJhbmNlIG9mIHRoZSB1bmRvY2tlZCB3aW5kb3cuCisKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRJT1MubW06CisgICAgICAgIChX
ZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6c2V0Rm9yY2VkQXBwZWFyYW5jZSk6IEFkZGVkLgor
CiAyMDIwLTAzLTAyICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBJdGVtcyBpbiB0aGUgdG9vbGJhciB0YWtlIHVwIHRvIG11Y2ggdmVy
dGljYWwgc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCA4ODZkZGVhNWY2ZjAz
MmU5YTg4MjZlZjFkYjYwMDc0YmI2OTc3MGQyLi40ZjYwOTg3YjZjZWMyYzg2Y2NiN2Q5ZWYyNTg2
ZGYyODA5M2ZlMDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMjAtMDMtMDMgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IHNldHRpbmcgdGhlIGZyb250ZW5kIGFwcGVhcmFuY2UgZG9lc24n
dCB1cGRhdGUgdGhlIHdpbmRvdyB3aGVuIHVuZG9ja2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg1MDMKKworICAgICAgICBSZXZpZXdlZCBieSBU
aW1vdGh5IEhhdGNoZXIuCisKKyAgICAgICAgTm90aWZ5IHRoZSBVSVByb2Nlc3Mgd2hlbiBzZXR0
aW5nIHRoZSBmb3JjZWQgYXBwZWFyYW5jZSBzbyBwbGF0Zm9ybXMgdGhhdCBzdXBwb3J0IGRhcmsg
bW9kZQorICAgICAgICBhcmUgYWJsZSB0byBydW4gbmF0aXZlIGNvZGUgdG8gYWRqdXN0IHRoZSBh
cHBlYXJhbmNlIG9mIHRoZSB1bmRvY2tlZCB3aW5kb3cuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJ
bnNwZWN0b3JDbGllbnQubW06CisgICAgICAgIChXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6
c2V0Rm9yY2VkQXBwZWFyYW5jZSk6IEFkZGVkLgorCiAyMDIwLTAzLTAyICBEZXZpbiBSb3Vzc28g
IDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBJdGVtcyBpbiB0
aGUgdG9vbGJhciB0YWtlIHVwIHRvIG11Y2ggdmVydGljYWwgc3BhY2UKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L0NoYW5nZUxvZwppbmRleCBhOWQxY2NlZjQ0OTQwZmM3OTAwOGIzZjg4OTdkZjhmNjE4YTBjNDI3
Li44NmJhYmViYzUxYzAwZTIxNzUzNDdjNThlZTUyNDRiZGQ0NzkzODIxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2Fj
eS93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDMtMDMgIERldmluIFJvdXNz
byAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHNldHRpbmcg
dGhlIGZyb250ZW5kIGFwcGVhcmFuY2UgZG9lc24ndCB1cGRhdGUgdGhlIHdpbmRvdyB3aGVuIHVu
ZG9ja2VkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDg1MDMKKworICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIuCisKKyAgICAgICAg
Tm90aWZ5IHRoZSBVSVByb2Nlc3Mgd2hlbiBzZXR0aW5nIHRoZSBmb3JjZWQgYXBwZWFyYW5jZSBz
byBwbGF0Zm9ybXMgdGhhdCBzdXBwb3J0IGRhcmsgbW9kZQorICAgICAgICBhcmUgYWJsZSB0byBy
dW4gbmF0aXZlIGNvZGUgdG8gYWRqdXN0IHRoZSBhcHBlYXJhbmNlIG9mIHRoZSB1bmRvY2tlZCB3
aW5kb3cuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaDoK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OnNldEZvcmNlZEFwcGVhcmFuY2UpOiBBZGRl
ZC4KKwogMjAyMC0wMy0wMiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAg
IEFkZCByZWZlcnJlcnBvbGljeSBhdHRyaWJ1dGUgc3VwcG9ydCBmb3IgYW5jaG9ycwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaAppbmRl
eCA2ZTQ3N2U5ZTUwZjk3MTgyNjc1MDAyYTViNGQzZjRmYmIwNWQ2ODljLi4xOGFjNDQzNzhkZTNi
YWY3ZTY3ZTQxYjYwOTcxZjkyNTE4MWU4MTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaApAQCAtNzEsNiArNzEsMTMgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCByZW9wZW4oKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHJl
c2V0U3RhdGUoKSA9IDA7CiAKKyAgICBlbnVtIGNsYXNzIEFwcGVhcmFuY2UgeworICAgICAgICBT
eXN0ZW0sCisgICAgICAgIExpZ2h0LAorICAgICAgICBEYXJrLAorICAgIH07CisgICAgV0VCQ09S
RV9FWFBPUlQgdmlydHVhbCB2b2lkIHNldEZvcmNlZEFwcGVhcmFuY2UoQXBwZWFyYW5jZSkgPSAw
OworCiAgICAgdmlydHVhbCBVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uIHVzZXJJbnRlcmZh
Y2VMYXlvdXREaXJlY3Rpb24oKSBjb25zdCA9IDA7CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0
dWFsIHZvaWQgcmVxdWVzdFNldERvY2tTaWRlKERvY2tTaWRlKSA9IDA7CkBAIC0xMDMsMyArMTEw
LDE2IEBAIHB1YmxpYzoKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNl
IFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6SW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQ6OkFwcGVhcmFuY2U+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFs
dWVzPAorICAgICAgICBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6QXBwZWFyYW5j
ZSwKKyAgICAgICAgV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OkFwcGVhcmFuY2U6
OlN5c3RlbSwKKyAgICAgICAgV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OkFwcGVh
cmFuY2U6OkxpZ2h0LAorICAgICAgICBXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6
QXBwZWFyYW5jZTo6RGFyaworICAgID47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKaW5k
ZXggMWQ2ZDljYzI1YjVkNDE3OWE4YmVjMjBhM2I1YzllZmQ3ZDNlOTc2NC4uZDc1NTE0Yzk3Zjlm
MGU4NTM5NWM0ZjcwODU2OTliZjRmNzhlNWJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKQEAgLTIzNCwxNCArMjM0LDI1IEBA
IGZsb2F0IEluc3BlY3RvckZyb250ZW5kSG9zdDo6em9vbUZhY3RvcigpCiAKIHZvaWQgSW5zcGVj
dG9yRnJvbnRlbmRIb3N0OjpzZXRGb3JjZWRBcHBlYXJhbmNlKFN0cmluZyBhcHBlYXJhbmNlKQog
ewotICAgIGlmICghbV9mcm9udGVuZFBhZ2UpCisgICAgaWYgKGFwcGVhcmFuY2UgPT0gImxpZ2h0
Il9zKSB7CisgICAgICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgICAgIG1fY2xpZW50LT5zZXRG
b3JjZWRBcHBlYXJhbmNlKEluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpBcHBlYXJhbmNlOjpMaWdo
dCk7CisgICAgICAgIGVsc2UgaWYgKG1fZnJvbnRlbmRQYWdlKQorICAgICAgICAgICAgbV9mcm9u
dGVuZFBhZ2UtPnNldFVzZURhcmtBcHBlYXJhbmNlT3ZlcnJpZGUoZmFsc2UpOwogICAgICAgICBy
ZXR1cm47CisgICAgfQogCi0gICAgaWYgKGFwcGVhcmFuY2UgPT0gImxpZ2h0Il9zKQotICAgICAg
ICBtX2Zyb250ZW5kUGFnZS0+c2V0VXNlRGFya0FwcGVhcmFuY2VPdmVycmlkZShmYWxzZSk7Ci0g
ICAgZWxzZSBpZiAoYXBwZWFyYW5jZSA9PSAiZGFyayJfcykKLSAgICAgICAgbV9mcm9udGVuZFBh
Z2UtPnNldFVzZURhcmtBcHBlYXJhbmNlT3ZlcnJpZGUodHJ1ZSk7Ci0gICAgZWxzZQorICAgIGlm
IChhcHBlYXJhbmNlID09ICJkYXJrIl9zKSB7CisgICAgICAgIGlmIChtX2NsaWVudCkKKyAgICAg
ICAgICAgIG1fY2xpZW50LT5zZXRGb3JjZWRBcHBlYXJhbmNlKEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50OjpBcHBlYXJhbmNlOjpEYXJrKTsKKyAgICAgICAgZWxzZSBpZiAobV9mcm9udGVuZFBhZ2Up
CisgICAgICAgICAgICBtX2Zyb250ZW5kUGFnZS0+c2V0VXNlRGFya0FwcGVhcmFuY2VPdmVycmlk
ZSh0cnVlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChtX2NsaWVudCkKKyAg
ICAgICAgbV9jbGllbnQtPnNldEZvcmNlZEFwcGVhcmFuY2UoSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnQ6OkFwcGVhcmFuY2U6OlN5c3RlbSk7CisgICAgZWxzZSBpZiAobV9mcm9udGVuZFBhZ2UpCiAg
ICAgICAgIG1fZnJvbnRlbmRQYWdlLT5zZXRVc2VEYXJrQXBwZWFyYW5jZU92ZXJyaWRlKFdURjo6
bnVsbG9wdCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA5YjQ3
OTNkMTY0MmJjZTQyNmVlYWRmNzNhNjI3ZGI5ODFjYTlhMzBkLi5iNmMwMjQwZmRiY2E3ZTFkYTMw
ZThkNTAxZGMxMjkzZmRmODdiNTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CkBAIC0zNDksNiArMzQ5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNsb3NlV2luZG93KCkgZmlu
YWw7CiAgICAgdm9pZCByZW9wZW4oKSBmaW5hbCB7IH0KICAgICB2b2lkIGJyaW5nVG9Gcm9udCgp
IGZpbmFsIHsgfQorICAgIHZvaWQgc2V0Rm9yY2VkQXBwZWFyYW5jZShJbnNwZWN0b3JGcm9udGVu
ZENsaWVudDo6QXBwZWFyYW5jZSkgZmluYWwgeyB9CiAgICAgU3RyaW5nIGxvY2FsaXplZFN0cmlu
Z3NVUkwoKSBjb25zdCBmaW5hbCB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIERlYnVnZ2FibGVU
eXBlIGRlYnVnZ2FibGVUeXBlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gRGVidWdnYWJsZVR5cGU6
OlBhZ2U7IH0KICAgICBTdHJpbmcgdGFyZ2V0UGxhdGZvcm1OYW1lKCkgY29uc3QgeyByZXR1cm4g
IlVua25vd24iX3M7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3Bl
Y3Rvci9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9JbnNwZWN0b3IvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkuY3BwCmluZGV4IGMyZGY0MTZmNTE4
ZTdmOTMwZjE4M2Q2YTA3ODBiZjE5MmJmYTU3YzUuLjRhY2U0MTNlNDA3OWQzNTdiMmRmMmI3ZTMy
NmIzOWM3MzZmYmYzNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3Bl
Y3Rvci9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvSW5zcGVjdG9yL1JlbW90ZVdlYkluc3BlY3RvclByb3h5LmNwcApAQCAtMTM4LDYgKzEz
OCwxMSBAQCB2b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpzZXRTaGVldFJlY3QoY29uc3Qg
RmxvYXRSZWN0JiByZWN0KQogICAgIHBsYXRmb3JtU2V0U2hlZXRSZWN0KHJlY3QpOwogfQogCit2
b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpzZXRGb3JjZWRBcHBlYXJhbmNlKEluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50OjpBcHBlYXJhbmNlIGFwcGVhcmFuY2UpCit7CisgICAgcGxhdGZvcm1T
ZXRGb3JjZWRBcHBlYXJhbmNlKGFwcGVhcmFuY2UpOworfQorCiB2b2lkIFJlbW90ZVdlYkluc3Bl
Y3RvclByb3h5OjpvcGVuSW5OZXdUYWIoY29uc3QgU3RyaW5nJiB1cmwpCiB7CiAgICAgcGxhdGZv
cm1PcGVuSW5OZXdUYWIodXJsKTsKQEAgLTE5Myw2ICsxOTgsNyBAQCB2b2lkIFJlbW90ZVdlYklu
c3BlY3RvclByb3h5OjpwbGF0Zm9ybUJyaW5nVG9Gcm9udCgpIHsgfQogdm9pZCBSZW1vdGVXZWJJ
bnNwZWN0b3JQcm94eTo6cGxhdGZvcm1TYXZlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYs
IGJvb2wsIGJvb2wpIHsgfQogdm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1B
cHBlbmQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikgeyB9CiB2b2lkIFJlbW90ZVdlYklu
c3BlY3RvclByb3h5OjpwbGF0Zm9ybVNldFNoZWV0UmVjdChjb25zdCBGbG9hdFJlY3QmKSB7IH0K
K3ZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtU2V0Rm9yY2VkQXBwZWFyYW5j
ZShJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6QXBwZWFyYW5jZSkgeyB9CiB2b2lkIFJlbW90ZVdl
Ykluc3BlY3RvclByb3h5OjpwbGF0Zm9ybU9wZW5Jbk5ld1RhYihjb25zdCBTdHJpbmcmKSB7IH0K
IHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtU2hvd0NlcnRpZmljYXRlKGNv
bnN0IENlcnRpZmljYXRlSW5mbyYpIHsgfQogdm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6
cGxhdGZvcm1DbG9zZUZyb250ZW5kUGFnZUFuZFdpbmRvdygpIHsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL1JlbW90ZVdlYkluc3BlY3RvclByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvUmVtb3RlV2ViSW5zcGVjdG9yUHJv
eHkuaAppbmRleCA0ZDg3Yjk4YjY5OTQ4NGJhMDcwNDc5MWE1MzQyMTJkYTg4MjZiZTVhLi43NjNl
NjkxMzY0ODYxZjRmMTNlNWRiZjFhNmZiODY1NzhiNmE2Yzg1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvUmVtb3RlV2ViSW5zcGVjdG9yUHJv
eHkuaApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUg
Ik1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CisjaW5j
bHVkZSA8V2ViQ29yZS9JbnNwZWN0b3JGcm9udGVuZENsaWVudC5oPgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWlu
UHRyLmg+CkBAIC0xMTgsNiArMTE5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNhdmUoY29uc3Qg
U3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgU3RyaW5nJiBjb250ZW50LCBib29sIGJhc2U2NEVuY29k
ZWQsIGJvb2wgZm9yY2VTYXZlQXMpOwogICAgIHZvaWQgYXBwZW5kKGNvbnN0IFN0cmluZyYgZmls
ZW5hbWUsIGNvbnN0IFN0cmluZyYgY29udGVudCk7CiAgICAgdm9pZCBzZXRTaGVldFJlY3QoY29u
c3QgV2ViQ29yZTo6RmxvYXRSZWN0Jik7CisgICAgdm9pZCBzZXRGb3JjZWRBcHBlYXJhbmNlKFdl
YkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpBcHBlYXJhbmNlKTsKICAgICB2b2lkIG9w
ZW5Jbk5ld1RhYihjb25zdCBTdHJpbmcmIHVybCk7CiAgICAgdm9pZCBzaG93Q2VydGlmaWNhdGUo
Y29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CiAgICAgdm9pZCBzZW5kTWVzc2FnZVRv
QmFja2VuZChjb25zdCBTdHJpbmcmIG1lc3NhZ2UpOwpAQCAtMTMzLDYgKzEzNSw3IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBwbGF0Zm9ybVNhdmUoY29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3Qg
U3RyaW5nJiBjb250ZW50LCBib29sIGJhc2U2NEVuY29kZWQsIGJvb2wgZm9yY2VTYXZlQXMpOwog
ICAgIHZvaWQgcGxhdGZvcm1BcHBlbmQoY29uc3QgU3RyaW5nJiBmaWxlbmFtZSwgY29uc3QgU3Ry
aW5nJiBjb250ZW50KTsKICAgICB2b2lkIHBsYXRmb3JtU2V0U2hlZXRSZWN0KGNvbnN0IFdlYkNv
cmU6OkZsb2F0UmVjdCYpOworICAgIHZvaWQgcGxhdGZvcm1TZXRGb3JjZWRBcHBlYXJhbmNlKFdl
YkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpBcHBlYXJhbmNlKTsKICAgICB2b2lkIHBs
YXRmb3JtT3BlbkluTmV3VGFiKGNvbnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIHBsYXRmb3Jt
U2hvd0NlcnRpZmljYXRlKGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvUmVtb3RlV2ViSW5zcGVj
dG9yUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3Iv
UmVtb3RlV2ViSW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW4KaW5kZXggMjg1OWM2MGNmNDZkZDE3
ODU3YzM2NjFkODBhNjQwNDBkYTVhZDExOS4uMzMyMDNlYTg0NDBhYjcwMzIyYzZmYjBmMmFlNGE1
ZTQ0OWM2ZWUwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9y
L1JlbW90ZVdlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0luc3BlY3Rvci9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdlcy5pbgpA
QCAtMjksNiArMjksOCBAQCBtZXNzYWdlcyAtPiBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eSB7CiAg
ICAgU2F2ZShTdHJpbmcgZmlsZW5hbWUsIFN0cmluZyBjb250ZW50LCBib29sIGJhc2U2NEVuY29k
ZWQsIGJvb2wgZm9yY2VTYXZlQXMpCiAgICAgQXBwZW5kKFN0cmluZyBmaWxlbmFtZSwgU3RyaW5n
IGNvbnRlbnQpCiAKKyAgICBTZXRGb3JjZWRBcHBlYXJhbmNlKFdlYkNvcmU6Okluc3BlY3RvckZy
b250ZW5kQ2xpZW50OjpBcHBlYXJhbmNlIGFwcGVhcmFuY2UpCisKICAgICBTZXRTaGVldFJlY3Qo
V2ViQ29yZTo6RmxvYXRSZWN0IHJlY3QpCiAKICAgICBPcGVuSW5OZXdUYWIoU3RyaW5nIHVybCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0
b3JQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVj
dG9yUHJveHkuY3BwCmluZGV4IDcwNGY3ZTg0MjE4YzM5MWU5OGNkNzI1NmRiZTY1YjUwNWZhN2Yy
OTUuLmQ2MTA4MDEyMWY4OTViNGUzMTUyYzVkOTViZjE3NTQ3Njg5ZDhlNGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JQcm94eS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclByb3h5
LmNwcApAQCAtNTgwLDYgKzU4MCwxMSBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjphdHRhY2hB
dmFpbGFiaWxpdHlDaGFuZ2VkKGJvb2wgYXZhaWxhYmxlKQogICAgIHBsYXRmb3JtQXR0YWNoQXZh
aWxhYmlsaXR5Q2hhbmdlZChtX2NhbkF0dGFjaCk7CiB9CiAKK3ZvaWQgV2ViSW5zcGVjdG9yUHJv
eHk6OnNldEZvcmNlZEFwcGVhcmFuY2UoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OkFwcGVhcmFu
Y2UgYXBwZWFyYW5jZSkKK3sKKyAgICBwbGF0Zm9ybVNldEZvcmNlZEFwcGVhcmFuY2UoYXBwZWFy
YW5jZSk7Cit9CisKIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6Omluc3BlY3RlZFVSTENoYW5nZWQo
Y29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpCiB7CiAgICAgcGxhdGZvcm1JbnNwZWN0ZWRVUkxDaGFu
Z2VkKHVybFN0cmluZyk7CkBAIC03MjQsNiArNzI5LDExIEBAIGJvb2wgV2ViSW5zcGVjdG9yUHJv
eHk6OnBsYXRmb3JtSXNGcm9udCgpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCit2b2lkIFdlYklu
c3BlY3RvclByb3h5OjpwbGF0Zm9ybVNldEZvcmNlZEFwcGVhcmFuY2UoSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnQ6OkFwcGVhcmFuY2UpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwogdm9p
ZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1JbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0
cmluZyYpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JQcm94eS5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclByb3h5LmgKaW5kZXggMGJkMGVlYzFk
YmE4NGQxMzVhZjkwZDA3NDg5NmU5NmVmMTU0ZjgwYy4uMmQxMTNjYmMzZTliYjA1NjFhYjRlMWNi
Yjc4OTRmYzYwMWQ4NGY3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5z
cGVjdG9yL1dlYkluc3BlY3RvclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
SW5zcGVjdG9yL1dlYkluc3BlY3RvclByb3h5LmgKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRl
ICJXZWJJbnNwZWN0b3JVdGlsaXRpZXMuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNw
ZWN0b3JGcm9udGVuZENoYW5uZWwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaD4KICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KQEAgLTIwMiw2ICsyMDMsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcGxh
dGZvcm1IaWRlKCk7CiAgICAgYm9vbCBwbGF0Zm9ybUlzRnJvbnQoKTsKICAgICB2b2lkIHBsYXRm
b3JtQXR0YWNoQXZhaWxhYmlsaXR5Q2hhbmdlZChib29sKTsKKyAgICB2b2lkIHBsYXRmb3JtU2V0
Rm9yY2VkQXBwZWFyYW5jZShXZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6QXBwZWFy
YW5jZSk7CiAgICAgdm9pZCBwbGF0Zm9ybUluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5n
Jik7CiAgICAgdm9pZCBwbGF0Zm9ybVNob3dDZXJ0aWZpY2F0ZShjb25zdCBXZWJDb3JlOjpDZXJ0
aWZpY2F0ZUluZm8mKTsKICAgICB1bnNpZ25lZCBwbGF0Zm9ybUluc3BlY3RlZFdpbmRvd0hlaWdo
dCgpOwpAQCAtMjMwLDYgKzIzMiw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBicmluZ1RvRnJvbnQo
KTsKICAgICB2b2lkIGJyaW5nSW5zcGVjdGVkUGFnZVRvRnJvbnQoKTsKICAgICB2b2lkIGF0dGFj
aEF2YWlsYWJpbGl0eUNoYW5nZWQoYm9vbCk7CisgICAgdm9pZCBzZXRGb3JjZWRBcHBlYXJhbmNl
KFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpBcHBlYXJhbmNlKTsKICAgICB2b2lk
IGluc3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBzaG93Q2VydGlm
aWNhdGUoY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CiAgICAgdm9pZCBlbGVtZW50
U2VsZWN0aW9uQ2hhbmdlZChib29sKTsKQEAgLTI0OCw2ICsyNTEsMTAgQEAgcHJpdmF0ZToKIAog
ICAgIFdlYlByZWZlcmVuY2VzJiBpbnNwZWN0b3JQYWdlUHJlZmVyZW5jZXMoKSBjb25zdDsKIAor
I2lmIFBMQVRGT1JNKE1BQykKKyAgICB2b2lkIGFwcGx5Rm9yY2VkQXBwZWFyYW5jZSgpOworI2Vu
ZGlmCisKICNpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFdQRSkKICAgICB2b2lkIHVwZGF0
ZUluc3BlY3RvcldpbmRvd1RpdGxlKCkgY29uc3Q7CiAjZW5kaWYKQEAgLTI4Myw2ICsyOTAsNyBA
QCBwcml2YXRlOgogICAgIFJ1bkxvb3A6OlRpbWVyPFdlYkluc3BlY3RvclByb3h5PiBtX2Nsb3Nl
RnJvbnRlbmRBZnRlckluYWN0aXZpdHlUaW1lcjsKICAgICBTdHJpbmcgbV91cmxTdHJpbmc7CiAg
ICAgV2ViQ29yZTo6RmxvYXRSZWN0IG1fc2hlZXRSZWN0OworICAgIFdlYkNvcmU6Okluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50OjpBcHBlYXJhbmNlIG1fZnJvbnRlbmRBcHBlYXJhbmNlIHsgV2ViQ29y
ZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OkFwcGVhcmFuY2U6OlN5c3RlbSB9OwogICAgIGJv
b2wgbV9pc09ic2VydmluZ0NvbnRlbnRMYXlvdXRSZWN0IHsgZmFsc2UgfTsKICNlbGlmIFBMQVRG
T1JNKEdUSykKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViSW5zcGVjdG9yUHJveHlDbGllbnQ+IG1f
Y2xpZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL1dl
Ykluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5z
cGVjdG9yL1dlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDVhZWY3YTdkZmZiZDcx
MTU1NWJmZTI2NTMzZmU0NmIwYmU3MTUzZTkuLmIzMzZiMWM2MWE4MGFlNTZkOTgxYzc0Y2JmY2I1
ZTRkZjE0YTM3YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rv
ci9XZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW4KQEAgLTMzLDYgKzMz
LDggQEAgbWVzc2FnZXMgLT4gV2ViSW5zcGVjdG9yUHJveHkgewogICAgIFJlb3BlbigpCiAgICAg
UmVzZXRTdGF0ZSgpCiAKKyAgICBTZXRGb3JjZWRBcHBlYXJhbmNlKFdlYkNvcmU6Okluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50OjpBcHBlYXJhbmNlIGFwcGVhcmFuY2UpCisKICAgICBJbnNwZWN0ZWRV
UkxDaGFuZ2VkKFN0cmluZyB1cmxTdHJpbmcpCiAgICAgU2hvd0NlcnRpZmljYXRlKFdlYkNvcmU6
OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8pCiAgICAgRWxlbWVudFNlbGVjdGlvbkNo
YW5nZWQoYm9vbCBhY3RpdmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9J
bnNwZWN0b3IvZ3RrL1JlbW90ZVdlYkluc3BlY3RvclByb3h5R3RrLmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0luc3BlY3Rvci9ndGsvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlHdGsuY3Bw
CmluZGV4IDY0Y2EyNmMzNjBiOTE2MzY2N2Y5N2FkYTUzOWIzY2RjN2I4YTVlYjQuLjM0NDI5NTEz
MzI3MzhjZTBlYjM3MGE3NTQxYThiZjRjYmY1YmM1YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0luc3BlY3Rvci9ndGsvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHlHdGsuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9ndGsvUmVtb3RlV2ViSW5z
cGVjdG9yUHJveHlHdGsuY3BwCkBAIC0xNTcsNiArMTU3LDEwIEBAIHZvaWQgUmVtb3RlV2ViSW5z
cGVjdG9yUHJveHk6OnBsYXRmb3JtU2V0U2hlZXRSZWN0KGNvbnN0IEZsb2F0UmVjdCYpCiB7CiB9
CiAKK3ZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtU2V0Rm9yY2VkQXBwZWFy
YW5jZShJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6QXBwZWFyYW5jZSkKK3sKK30KKwogdm9pZCBS
ZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1PcGVuSW5OZXdUYWIoY29uc3QgU3RyaW5n
JikKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9n
dGsvV2ViSW5zcGVjdG9yUHJveHlHdGsuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5z
cGVjdG9yL2d0ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5jcHAKaW5kZXggNjViZDQ0YWI1NTdmMTU3
OTIwMzM1OGQ4YjJlYTUxYTYzOTI2NWI0OS4uODFlMjZhYjVkZGI5MGNkYmZmNjUyZjNiMDFhM2Iy
MDYxNDVhY2VmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9y
L2d0ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvSW5zcGVjdG9yL2d0ay9XZWJJbnNwZWN0b3JQcm94eUd0ay5jcHAKQEAgLTMzMiw2ICszMzIs
MTEgQEAgYm9vbCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1Jc0Zyb250KCkKICAgICByZXR1
cm4gZmFsc2U7CiB9CiAKK3ZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtU2V0Rm9yY2Vk
QXBwZWFyYW5jZShJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6QXBwZWFyYW5jZSkKK3sKKyAgICBu
b3RJbXBsZW1lbnRlZCgpOworfQorCiB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUlu
c3BlY3RlZFVSTENoYW5nZWQoY29uc3QgU3RyaW5nJiB1cmwpCiB7CiAgICAgbV9pbnNwZWN0ZWRV
UkxTdHJpbmcgPSB1cmw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNw
ZWN0b3IvbWFjL1JlbW90ZVdlYkluc3BlY3RvclByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvSW5zcGVjdG9yL21hYy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eU1hYy5tbQppbmRl
eCA4NTRkYTg4NjVmY2VmNjBjOWViMjIyYWYxYTUyYjIzMzQ0ZDk2OTI0Li5lMWQyNDhhZmEzODFm
Yzc3NTc2Y2ViM2E3MGNkMGFhNDMxZGQzMmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9JbnNwZWN0b3IvbWFjL1JlbW90ZVdlYkluc3BlY3RvclByb3h5TWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9tYWMvUmVtb3RlV2ViSW5zcGVjdG9y
UHJveHlNYWMubW0KQEAgLTIyNSw2ICsyMjUsMjYgQEAgdm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQ
cm94eTo6cGxhdGZvcm1TZXRTaGVldFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgIG1f
c2hlZXRSZWN0ID0gcmVjdDsKIH0KIAordm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxh
dGZvcm1TZXRGb3JjZWRBcHBlYXJhbmNlKEluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpBcHBlYXJh
bmNlIGFwcGVhcmFuY2UpCit7CisgICAgTlNXaW5kb3cgKndpbmRvdyA9IG1fd2luZG93LmdldCgp
OworICAgIEFTU0VSVCh3aW5kb3cpOworCisgICAgc3dpdGNoIChhcHBlYXJhbmNlKSB7CisgICAg
Y2FzZSBJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6QXBwZWFyYW5jZTo6U3lzdGVtOgorICAgICAg
ICB3aW5kb3cuYXBwZWFyYW5jZSA9IG5pbDsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIElu
c3BlY3RvckZyb250ZW5kQ2xpZW50OjpBcHBlYXJhbmNlOjpMaWdodDoKKyAgICAgICAgd2luZG93
LmFwcGVhcmFuY2UgPSBbTlNBcHBlYXJhbmNlIGFwcGVhcmFuY2VOYW1lZDpOU0FwcGVhcmFuY2VO
YW1lQXF1YV07CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBJbnNwZWN0b3JGcm9udGVuZENs
aWVudDo6QXBwZWFyYW5jZTo6RGFyazoKKyAgICAgICAgd2luZG93LmFwcGVhcmFuY2UgPSBbTlNB
cHBlYXJhbmNlIGFwcGVhcmFuY2VOYW1lZDpOU0FwcGVhcmFuY2VOYW1lRGFya0FxdWFdOworICAg
ICAgICBicmVhazsKKyAgICB9Cit9CisKIHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OnBs
YXRmb3JtT3BlbkluTmV3VGFiKGNvbnN0IFN0cmluZyYgdXJsKQogewogICAgIFtbTlNXb3Jrc3Bh
Y2Ugc2hhcmVkV29ya3NwYWNlXSBvcGVuVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOnVybF1dOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL21hYy9XZWJJbnNw
ZWN0b3JQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci9tYWMv
V2ViSW5zcGVjdG9yUHJveHlNYWMubW0KaW5kZXggMTdiYTY3Njc4M2E5ZTczOWE4NjM2OWE1ZGIy
ZDU4OTAxODJmM2U1NC4uZjZkNTViMmU4NjI2MDYyMjYxNjljM2I5NmRjZDIwZjYwODU2NjI3OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL21hYy9XZWJJbnNw
ZWN0b3JQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3Iv
bWFjL1dlYkluc3BlY3RvclByb3h5TWFjLm1tCkBAIC0yOTgsNiArMjk4LDcgQEAgdm9pZCBXZWJJ
bnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVhdGVGcm9udGVuZFdpbmRvdygpCiAgICAgW2NvbnRl
bnRWaWV3IGFkZFN1YnZpZXc6aW5zcGVjdG9yVmlld107CiAKICAgICB1cGRhdGVJbnNwZWN0b3JX
aW5kb3dUaXRsZSgpOworICAgIGFwcGx5Rm9yY2VkQXBwZWFyYW5jZSgpOwogfQogCiB2b2lkIFdl
Ykluc3BlY3RvclByb3h5OjpjbG9zZUZyb250ZW5kUGFnZSgpCkBAIC00MTMsNiArNDE0LDEzIEBA
IHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQXR0YWNoQXZhaWxhYmlsaXR5Q2hhbmdl
ZChib29sIGF2YWlsYWJsZSkKICAgICAvLyBEbyBub3RoaW5nLgogfQogCit2b2lkIFdlYkluc3Bl
Y3RvclByb3h5OjpwbGF0Zm9ybVNldEZvcmNlZEFwcGVhcmFuY2UoSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnQ6OkFwcGVhcmFuY2UgYXBwZWFyYW5jZSkKK3sKKyAgICBtX2Zyb250ZW5kQXBwZWFyYW5j
ZSA9IGFwcGVhcmFuY2U7CisKKyAgICBhcHBseUZvcmNlZEFwcGVhcmFuY2UoKTsKK30KKwogdm9p
ZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1JbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0
cmluZyYgdXJsU3RyaW5nKQogewogICAgIG1fdXJsU3RyaW5nID0gdXJsU3RyaW5nOwpAQCAtNzk2
LDYgKzgwNCwyNyBAQCBEZWJ1Z2dhYmxlSW5mb0RhdGEgV2ViSW5zcGVjdG9yUHJveHk6OmluZm9G
b3JMb2NhbERlYnVnZ2FibGUoKQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKK3ZvaWQgV2ViSW5z
cGVjdG9yUHJveHk6OmFwcGx5Rm9yY2VkQXBwZWFyYW5jZSgpCit7CisgICAgTlNXaW5kb3cgKndp
bmRvdyA9IG1faW5zcGVjdG9yV2luZG93LmdldCgpOworICAgIGlmICghd2luZG93KQorICAgICAg
ICByZXR1cm47CisKKyAgICBzd2l0Y2ggKG1fZnJvbnRlbmRBcHBlYXJhbmNlKSB7CisgICAgY2Fz
ZSBJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6QXBwZWFyYW5jZTo6U3lzdGVtOgorICAgICAgICB3
aW5kb3cuYXBwZWFyYW5jZSA9IG5pbDsKKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIEluc3Bl
Y3RvckZyb250ZW5kQ2xpZW50OjpBcHBlYXJhbmNlOjpMaWdodDoKKyAgICAgICAgd2luZG93LmFw
cGVhcmFuY2UgPSBbTlNBcHBlYXJhbmNlIGFwcGVhcmFuY2VOYW1lZDpOU0FwcGVhcmFuY2VOYW1l
QXF1YV07CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBJbnNwZWN0b3JGcm9udGVuZENsaWVu
dDo6QXBwZWFyYW5jZTo6RGFyazoKKyAgICAgICAgd2luZG93LmFwcGVhcmFuY2UgPSBbTlNBcHBl
YXJhbmNlIGFwcGVhcmFuY2VOYW1lZDpOU0FwcGVhcmFuY2VOYW1lRGFya0FxdWFdOworICAgICAg
ICBicmVhazsKKyAgICB9Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8g
UExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVj
dG9yL3dpbi9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eVdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9JbnNwZWN0b3Ivd2luL1JlbW90ZVdlYkluc3BlY3RvclByb3h5V2luLmNwcAppbmRl
eCBhZDg0MjQ0YTMyMjdlNmFmMTFlMTMwMzk4OWVmMmMzNmQwYWE0ODU2Li5kZjQxNWE1NWQ5OTA0
MDgwNjFjN2E2YjlmM2QwZjI4YjVlNjY5NmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9JbnNwZWN0b3Ivd2luL1JlbW90ZVdlYkluc3BlY3RvclByb3h5V2luLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3Ivd2luL1JlbW90ZVdlYkluc3BlY3Rv
clByb3h5V2luLmNwcApAQCAtMTM0LDYgKzEzNCw3IEBAIHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9y
UHJveHk6OnBsYXRmb3JtQnJpbmdUb0Zyb250KCkgeyB9CiB2b2lkIFJlbW90ZVdlYkluc3BlY3Rv
clByb3h5OjpwbGF0Zm9ybVNhdmUoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgYm9vbCwg
Ym9vbCkgeyB9CiB2b2lkIFJlbW90ZVdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUFwcGVuZChj
b25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSB7IH0KIHZvaWQgUmVtb3RlV2ViSW5zcGVjdG9y
UHJveHk6OnBsYXRmb3JtU2V0U2hlZXRSZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYpIHsg
fQordm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1TZXRGb3JjZWRBcHBlYXJh
bmNlKEluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpBcHBlYXJhbmNlKSB7IH0KIHZvaWQgUmVtb3Rl
V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtT3BlbkluTmV3VGFiKGNvbnN0IFN0cmluZyYpIHsg
fQogdm9pZCBSZW1vdGVXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1TaG93Q2VydGlmaWNhdGUo
Y29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJikgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0luc3BlY3Rvci93aW4vV2ViSW5zcGVjdG9yUHJveHlXaW4uY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL3dpbi9XZWJJbnNwZWN0b3JQcm94
eVdpbi5jcHAKaW5kZXggOTI5Y2I4YmRhM2MzZDMyZjM4Y2NhYmZkODM0YzhiNWNlYTI0ZDQxMC4u
ZDY4MDBjMWM0MjRkYjFmNWNiMTE5MmFiOTJmZjMwMWE4N2E4YzQ0YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL3dpbi9XZWJJbnNwZWN0b3JQcm94eVdpbi5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL3dpbi9XZWJJbnNwZWN0
b3JQcm94eVdpbi5jcHAKQEAgLTQxMCw2ICs0MTAsMTEgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94
eTo6cGxhdGZvcm1CcmluZ0luc3BlY3RlZFBhZ2VUb0Zyb250KCkKICAgICBub3RJbXBsZW1lbnRl
ZCgpOwogfQogCit2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9ybVNldEZvcmNlZEFwcGVh
cmFuY2UoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OkFwcGVhcmFuY2UpCit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKK30KKwogdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1JbnNwZWN0
ZWRVUkxDaGFuZ2VkKGNvbnN0IFN0cmluZyYgLyogdXJsICovKQogewogICAgIG5vdEltcGxlbWVu
dGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5zcGVjdG9yL1Jl
bW90ZVdlYkluc3BlY3RvclVJLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbnNwZWN0
b3IvUmVtb3RlV2ViSW5zcGVjdG9yVUkuY3BwCmluZGV4IDY1NThhMjVhMWVhOWQxNWRjYmY4MmFm
MWIxMzBjZmFjZTBiZmFjNGMuLjE0NmExNjJkMDIwYjM3MmU3MzQ2MTdiZGU2NWUzM2VkMDE0NWQ2
NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvUmVtb3Rl
V2ViSW5zcGVjdG9yVUkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbnNwZWN0
b3IvUmVtb3RlV2ViSW5zcGVjdG9yVUkuY3BwCkBAIC0xMTAsNiArMTEwLDExIEBAIHZvaWQgUmVt
b3RlV2ViSW5zcGVjdG9yVUk6OmNoYW5nZVNoZWV0UmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3Qp
CiAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+
c2VuZChNZXNzYWdlczo6UmVtb3RlV2ViSW5zcGVjdG9yUHJveHk6OlNldFNoZWV0UmVjdChyZWN0
KSwgbV9wYWdlLmlkZW50aWZpZXIoKSk7CiB9CiAKK3ZvaWQgUmVtb3RlV2ViSW5zcGVjdG9yVUk6
OnNldEZvcmNlZEFwcGVhcmFuY2UoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OkFw
cGVhcmFuY2UgYXBwZWFyYW5jZSkKK3sKKyAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5wYXJl
bnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVXZWJJbnNwZWN0b3JQ
cm94eTo6U2V0Rm9yY2VkQXBwZWFyYW5jZShhcHBlYXJhbmNlKSwgbV9wYWdlLmlkZW50aWZpZXIo
KSk7Cit9CisKIFdlYkNvcmU6OlVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gUmVtb3RlV2Vi
SW5zcGVjdG9yVUk6OnVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24oKSBjb25zdAogewogICAg
IHJldHVybiBtX3BhZ2UuY29yZVBhZ2UoKS0+dXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbigp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luc3BlY3Rvci9SZW1vdGVX
ZWJJbnNwZWN0b3JVSS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luc3BlY3Rvci9SZW1v
dGVXZWJJbnNwZWN0b3JVSS5oCmluZGV4IDYzZjQzMmRmOGIzNDBjMTc2OTM2NDA2Y2NmZmU1YTc3
NWQwYjc5YTkuLmNjYTk4N2JkNTIzZTJhZjk0NjE5MmUyMDU2YjYyYTI1NzM2NDg0ZTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvUmVtb3RlV2ViSW5zcGVj
dG9yVUkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5zcGVjdG9yL1JlbW90ZVdl
Ykluc3BlY3RvclVJLmgKQEAgLTcyLDYgKzcyLDggQEAgcHVibGljOgogICAgIFN0cmluZyB0YXJn
ZXRQcm9kdWN0VmVyc2lvbigpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgdGFyZ2V0SXNTaW11
bGF0b3IoKSBjb25zdCBvdmVycmlkZTsKIAorICAgIHZvaWQgc2V0Rm9yY2VkQXBwZWFyYW5jZShX
ZWJDb3JlOjpJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6QXBwZWFyYW5jZSkgb3ZlcnJpZGU7CisK
ICAgICBXZWJDb3JlOjpVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uIHVzZXJJbnRlcmZhY2VM
YXlvdXREaXJlY3Rpb24oKSBjb25zdCBvdmVycmlkZTsKIAogICAgIHZvaWQgYnJpbmdUb0Zyb250
KCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5zcGVj
dG9yL1dlYkluc3BlY3RvclVJLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbnNwZWN0
b3IvV2ViSW5zcGVjdG9yVUkuY3BwCmluZGV4IDkxMGNiMzU5ZGM0MzQ2MDgzNjM3MGIxYzY1ZmJh
NTUyYjIwMGQ2MDEuLmMxZjMzNjA0ZjgwYTk0MDE3ZDA0NjI0M2FlYzVjYTQ3MDhhMTkxYjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9y
VUkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVj
dG9yVUkuY3BwCkBAIC0xNzMsNiArMTczLDExIEBAIHZvaWQgV2ViSW5zcGVjdG9yVUk6OnJlc2V0
U3RhdGUoKQogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0
aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYkluc3BlY3RvclByb3h5OjpSZXNldFN0YXRlKCksIG1f
aW5zcGVjdGVkUGFnZUlkZW50aWZpZXIpOwogfQogCit2b2lkIFdlYkluc3BlY3RvclVJOjpzZXRG
b3JjZWRBcHBlYXJhbmNlKFdlYkNvcmU6Okluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpBcHBlYXJh
bmNlIGFwcGVhcmFuY2UpCit7CisgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJv
Y2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViSW5zcGVjdG9yUHJveHk6OlNldEZv
cmNlZEFwcGVhcmFuY2UoYXBwZWFyYW5jZSksIG1faW5zcGVjdGVkUGFnZUlkZW50aWZpZXIpOwor
fQorCiBXZWJDb3JlOjpVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uIFdlYkluc3BlY3RvclVJ
Ojp1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9w
YWdlLmNvcmVQYWdlKCktPnVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24oKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUkuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbnNwZWN0b3IvV2ViSW5zcGVjdG9yVUkuaAppbmRl
eCA4YmJhN2E0ODkzYzViMTQ3ZTMwMDkxNjA3YTU5MzIxZDY1ZTYyYjc0Li4yZmQ4NTFiNDA2ODZk
MTg5MWUwOWYxMGI4YTU4ZTNlNmZlOGU2Mzk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JVSS5oCkBAIC0xMDcsNiArMTA3LDggQEAg
cHVibGljOgogICAgIHZvaWQgcmVvcGVuKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCByZXNldFN0YXRl
KCkgb3ZlcnJpZGU7CiAKKyAgICB2b2lkIHNldEZvcmNlZEFwcGVhcmFuY2UoV2ViQ29yZTo6SW5z
cGVjdG9yRnJvbnRlbmRDbGllbnQ6OkFwcGVhcmFuY2UpIG92ZXJyaWRlOworCiAgICAgV2ViQ29y
ZTo6VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbiB1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0
aW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHJlcXVlc3RTZXREb2NrU2lkZShEb2Nr
U2lkZSkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L2lvcy9XZWJD
b3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRJT1MubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L2lvcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnRJT1MubW0KaW5kZXggZTM1Zjdh
MDQ3ZWQ2NzlkYjBkZDIwZDc4YTg5NzA0Mjg0MmExYzUzMC4uMDdmZWY4YWNjYzc4MDNiMzI2N2Qz
NjY3ZDVhZGIyNzBmMTRhOWRjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9pb3Mv
V2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvaW9zL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudElPUy5tbQpAQCAt
MTI4LDYgKzEyOCw3IEBAIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmJyaW5nVG9G
cm9udCgpIHsgfQogdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6Y2xvc2VXaW5kb3co
KSB7IH0KIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OnJlb3BlbigpIHsgfQogdm9p
ZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6cmVzZXRTdGF0ZSgpIHsgfQordm9pZCBXZWJJ
bnNwZWN0b3JGcm9udGVuZENsaWVudDo6c2V0Rm9yY2VkQXBwZWFyYW5jZShJbnNwZWN0b3JGcm9u
dGVuZENsaWVudDo6QXBwZWFyYW5jZSkgeyB9CiB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xp
ZW50OjphdHRhY2hXaW5kb3coRG9ja1NpZGUpIHsgfQogdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVu
ZENsaWVudDo6ZGV0YWNoV2luZG93KCkgeyB9CiB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xp
ZW50OjpzZXRBdHRhY2hlZFdpbmRvd0hlaWdodCh1bnNpZ25lZCkgeyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQu
aCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNs
aWVudC5oCmluZGV4IDdjNGM3ZjJlYWUwMmNhOTRhOTdlMTAxMWExZGZiZGI5MmY0ZmZkNTYuLmVj
OGUyMjA0NjMxNjQ2NzU1ODBiOGMyMTRjOTdmZDY3YWJmMjBlNjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNs
aWVudC5oCkBAIC0xMjksNiArMTI5LDggQEAgcHVibGljOgogICAgIHZvaWQgcmVvcGVuKCkgb3Zl
cnJpZGU7CiAgICAgdm9pZCByZXNldFN0YXRlKCkgb3ZlcnJpZGU7CiAKKyAgICB2b2lkIHNldEZv
cmNlZEFwcGVhcmFuY2UoSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OkFwcGVhcmFuY2UpIG92ZXJy
aWRlOworCiAgICAgdm9pZCBhdHRhY2hXaW5kb3coRG9ja1NpZGUpIG92ZXJyaWRlOwogICAgIHZv
aWQgZGV0YWNoV2luZG93KCkgb3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbSBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQppbmRl
eCA0NGY2Nzc4ZWY5ZTc2ZWVhM2RhMDQyN2E1NmM2ZDAxOTU4M2U2NDg4Li41ZTYyNmY5MTU3ZjUy
NTYzMDI4ZDA1ZGQwZjI5MjhjYzk2OTg2Mzc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0KKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCkBA
IC0yNjQsNiArMjY0LDI2IEBAIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OnJlc2V0
U3RhdGUoKQogICAgIFtOU1dpbmRvdyByZW1vdmVGcmFtZVVzaW5nTmFtZTpbW21fZnJvbnRlbmRX
aW5kb3dDb250cm9sbGVyIHdpbmRvd10gZnJhbWVBdXRvc2F2ZU5hbWVdXTsKIH0KIAordm9pZCBX
ZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6c2V0Rm9yY2VkQXBwZWFyYW5jZShJbnNwZWN0b3JG
cm9udGVuZENsaWVudDo6QXBwZWFyYW5jZSBhcHBlYXJhbmNlKQoreworICAgIE5TV2luZG93ICp3
aW5kb3cgPSBbbV9mcm9udGVuZFdpbmRvd0NvbnRyb2xsZXIgd2luZG93XTsKKyAgICBBU1NFUlQo
d2luZG93KTsKKworICAgIHN3aXRjaCAoYXBwZWFyYW5jZSkgeworICAgIGNhc2UgSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQ6OkFwcGVhcmFuY2U6OlN5c3RlbToKKyAgICAgICAgd2luZG93LmFwcGVh
cmFuY2UgPSBuaWw7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBJbnNwZWN0b3JGcm9udGVu
ZENsaWVudDo6QXBwZWFyYW5jZTo6TGlnaHQ6CisgICAgICAgIHdpbmRvdy5hcHBlYXJhbmNlID0g
W05TQXBwZWFyYW5jZSBhcHBlYXJhbmNlTmFtZWQ6TlNBcHBlYXJhbmNlTmFtZUFxdWFdOworICAg
ICAgICBicmVhazsKKworICAgIGNhc2UgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OkFwcGVhcmFu
Y2U6OkRhcms6CisgICAgICAgIHdpbmRvdy5hcHBlYXJhbmNlID0gW05TQXBwZWFyYW5jZSBhcHBl
YXJhbmNlTmFtZWQ6TlNBcHBlYXJhbmNlTmFtZURhcmtBcXVhXTsKKyAgICAgICAgYnJlYWs7Cisg
ICAgfQorfQorCiB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjphdHRhY2hXaW5kb3co
RG9ja1NpZGUpCiB7CiAgICAgaWYgKFttX2Zyb250ZW5kV2luZG93Q29udHJvbGxlci5nZXQoKSBh
dHRhY2hlZF0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
Q29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcAppbmRleCA3MWNmZjcwZGMxMDVjMGQ0
YTdjY2QzYTdmZGIxNTkyMTNlNjQyOGEzLi5iNjQ3MGFmZTgxOGQwZDg0MGVlNzE4OTE3MjdjYjI4
OWQ1ZmQ5ODMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2lu
L1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAKQEAgLTI4Niw2ICsyODYsMTEg
QEAgdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6cmVzZXRTdGF0ZSgpCiAgICAgbV9p
bnNwZWN0b3JDbGllbnQtPmRlbGV0ZUluc3BlY3RvckF0dGFjaERpc2FibGVkKCk7CiB9CiAKK3Zv
aWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OnNldEZvcmNlZEFwcGVhcmFuY2UoSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnQ6OkFwcGVhcmFuY2UpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
K30KKwogdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6YXR0YWNoV2luZG93KERvY2tT
aWRlKQogewogICAgIGlmIChtX2F0dGFjaGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAppbmRleCAy
Nzc0MGVkYTVjZmNjZjdjZTdjY2IwNTZkNjgzYjBjYWIyNmQwNjUxLi45MzFhY2VmZDg4YTU0NzQ2
ZTRiNzMxOWUzM2NhMWQ5MzZhZmEyNzY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaApAQCAtMTE2
LDYgKzExNiw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlb3BlbigpIG92ZXJyaWRlOwogICAgIHZv
aWQgcmVzZXRTdGF0ZSgpIG92ZXJyaWRlOwogCisgICAgdm9pZCBzZXRGb3JjZWRBcHBlYXJhbmNl
KEluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpBcHBlYXJhbmNlKSBvdmVycmlkZTsKKwogICAgIHZv
aWQgc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQpIG92ZXJyaWRlOwogICAgIHZvaWQg
c2V0QXR0YWNoZWRXaW5kb3dXaWR0aCh1bnNpZ25lZCkgb3ZlcnJpZGU7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>