<?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>167948</bug_id>
          
          <creation_ts>2017-02-07 12:03:30 -0800</creation_ts>
          <short_desc>Add support for enhanced privacy diagnostic logging</short_desc>
          <delta_ts>2017-02-08 07:41:14 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>andersca</cc>
    
    <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>krollin</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1274089</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-02-07 12:03:30 -0800</bug_when>
    <thetext>Add support for enhanced privacy diagnostic logging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274090</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-02-07 12:03:46 -0800</bug_when>
    <thetext>&lt;rdar://problem/30385112&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274125</commentid>
    <comment_count>2</comment_count>
      <attachid>300840</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-02-07 13:21:59 -0800</bug_when>
    <thetext>Created attachment 300840
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274128</commentid>
    <comment_count>3</comment_count>
      <attachid>300841</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-02-07 13:24:21 -0800</bug_when>
    <thetext>Created attachment 300841
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274146</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-02-07 13:44:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/29963991&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274149</commentid>
    <comment_count>5</comment_count>
      <attachid>300848</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-02-07 13:57:18 -0800</bug_when>
    <thetext>Created attachment 300848
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274172</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-02-07 14:39:32 -0800</bug_when>
    <thetext>Note that there a WK2 API change so a WebKit2 owner should definitely take a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274191</commentid>
    <comment_count>7</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2017-02-07 16:01:33 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Note that there a WK2 API change so a WebKit2 owner should definitely take a
&gt; look.

WK2 API changes look good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274329</commentid>
    <comment_count>8</comment_count>
      <attachid>300848</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-08 07:41:10 -0800</bug_when>
    <thetext>Comment on attachment 300848
Patch

Clearing flags on attachment: 300848

Committed r211870: &lt;http://trac.webkit.org/changeset/211870&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1274330</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-08 07:41:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300840</attachid>
            <date>2017-02-07 13:21:59 -0800</date>
            <delta_ts>2017-02-07 13:24:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167948-20170207131937.patch</filename>
            <type>text/plain</type>
            <size>23696</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExNzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTU3Zjk5M2U2N2JjM2Fj
OGQwZDk0NDQ5ZmRiMDUyNjhhMGIzY2FhMi4uYTM0NTgyYmRkZThmYTU0ODNlMDcwOWE0OThkZTIz
MWJlY2Q4ZGI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE3LTAyLTA3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGVu
aGFuY2VkIHByaXZhY3kgZGlhZ25vc3RpYyBsb2dnaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc5NDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzMwMzg1MTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBuZXcgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KCkgbWV0
aG9kIHRvIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50CisgICAgICAgIHRoYXQgaXMgdXNlZCBmb3Ig
ZW5oYW5jZWQgcHJpdmFjeSBsb2dnaW5nLiBTdGFydCB1c2luZyB0aGlzIG5ldyBBUEkgdG8gbG9n
IGRvbWFpbnMKKyAgICAgICAgdGhhdCBhcmUgdmlzaXRlZC4KKworICAgICAgICAqIGxvYWRlci9F
bXB0eUNsaWVudHMuY3BwOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpsb2dOYXZpZ2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyOjpsb2FkV2l0aERvY3VtZW50TG9hZGVyKToKKyAgICAgICAgKiBwYWdlL0RpYWdub3N0aWNM
b2dnaW5nQ2xpZW50Lmg6CisgICAgICAgICogcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpkb21haW5WaXNpdGVk
S2V5KToKKyAgICAgICAgKiBwYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5oOgorCiAyMDE3LTAy
LTA2ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CiAKICAgICAg
ICAgQ2hhbmdlIHRoZSBDU1MgYW5pbWF0aW9uIHRpbWVyIGEgdG8gYmUgbGl0dGxlIG1vcmUgdGhh
biA2MGZwcyB0byBlbnN1cmUgd2UgaGl0IHRoYXQgZnJhbWUgcmF0ZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDU1
MDkwMWZiY2VkMTI0YTA1NGU0NTM2YzFlOWJmZjEwZGQyOGNkNzEuLjRlNzRkNjNiZWE4MjFkOWEx
OGYzYTdhMDI3ZWRjNjllMzdmNTFlMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAx
Ny0wMi0wNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBz
dXBwb3J0IGZvciBlbmhhbmNlZCBwcml2YWN5IGRpYWdub3N0aWMgbG9nZ2luZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3OTQ4CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8zMDM4NTExMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgbmV3IERpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojps
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koKQorICAgICAgICB2aXJ0dWFs
IG1ldGhvZCBvbiBXZWJLaXQyIGFuZCBleHBvc2UgaXQgdG8gdGhlIGNsaWVudCB2aWEgdGhlIFdL
UGFnZURpYWdub3N0aWNMb2dnaW5nCisgICAgICAgIGRlbGVnYXRlLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9BUElEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oOgorICAgICAgICAoQVBJOjpE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQ
cml2YWN5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0RpYWdub3N0aWNM
b2dnaW5nRGVsZWdhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQubW06CisgICAgICAgIChXZWJLaXQ6OkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpz
ZXREZWxlZ2F0ZSk6CisgICAgICAgIChXZWJLaXQ6OkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojps
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3kpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aEVuaGFuY2VkUHJpdmFjeSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVu
aGFuY2VkUHJpdmFjeSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3kpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaDoKKwogMjAxNy0wMi0wNiAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIGNoaWxk
IHByb2Nlc3NlcyBpZiB0aGV5IHJlY2VpdmUgYW4gaW52YWxpZCBtZXNzYWdlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IGYwMGZkMDA0MjllNTcwYTIyYWFhY2VhMzU5
Yjc3MTk5MTc2YWRkYjMuLjJmNGVkMjNjYWE3MjI3YWQ0MGMyNGJiNTg5NTQ0ZjRmYWU5YWJmNDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC0xMjEsNiArMTIxLDcg
QEAgY2xhc3MgRW1wdHlEaWFnbm9zdGljTG9nZ2luZ0NsaWVudCBmaW5hbCA6IHB1YmxpYyBEaWFn
bm9zdGljTG9nZ2luZ0NsaWVudCB7CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZShjb25z
dCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBTaG91bGRTYW1wbGUpIGZpbmFsIHsgfQogICAgIHZv
aWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0
cmluZyYsIERpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZSwgU2hvdWxkU2FtcGxlKSBmaW5hbCB7
IH0KICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYs
IGNvbnN0IFN0cmluZyYsIGRvdWJsZSwgdW5zaWduZWQsIFNob3VsZFNhbXBsZSkgZmluYWwgeyB9
CisgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koY29uc3Qg
U3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgU2hvdWxkU2FtcGxlKSBmaW5hbCB7IH0KIH07CiAKICNp
ZiBFTkFCTEUoRFJBR19TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAK
aW5kZXggNGEwODI3OWM4MjkwMmEzMDQyZTNmNWIwNDQwOGZhMDdlZjM4OTY3NS4uZTY2NTgyZTRm
Y2YyZGY0ZWY4NmE2Y2JlMTM3MzhlMjVmOThlNGUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwCkBAIC05NSw2ICs5NSw3IEBACiAjaW5jbHVkZSAiUGx1Z2luRG9jdW1lbnQu
aCIKICNpbmNsdWRlICJQb2xpY3lDaGVja2VyLmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2Vy
LmgiCisjaW5jbHVkZSAiUHVibGljU3VmZml4LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUu
aCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRJbmZvLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2Fk
T2JzZXJ2ZXIuaCIKQEAgLTEzNjgsNyArMTM2OSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWQo
RG9jdW1lbnRMb2FkZXIqIG5ld0RvY3VtZW50TG9hZGVyKQogICAgIGxvYWRXaXRoRG9jdW1lbnRM
b2FkZXIobmV3RG9jdW1lbnRMb2FkZXIsIHR5cGUsIDAsIEFsbG93TmF2aWdhdGlvblRvSW52YWxp
ZFVSTDo6WWVzKTsKIH0KIAotc3RhdGljIHZvaWQgbG9nTmF2aWdhdGlvbihNYWluRnJhbWUmIGZy
YW1lLCBGcmFtZUxvYWRUeXBlIHR5cGUpCitzdGF0aWMgdm9pZCBsb2dOYXZpZ2F0aW9uKE1haW5G
cmFtZSYgZnJhbWUsIGNvbnN0IFVSTCYgZGVzdGluYXRpb25VUkwsIEZyYW1lTG9hZFR5cGUgdHlw
ZSkKIHsKICAgICBpZiAoIWZyYW1lLnBhZ2UoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTQwMiw2
ICsxNDAzLDExIEBAIHN0YXRpYyB2b2lkIGxvZ05hdmlnYXRpb24oTWFpbkZyYW1lJiBmcmFtZSwg
RnJhbWVMb2FkVHlwZSB0eXBlKQogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGZyYW1lLnBh
Z2UoKS0+ZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoKS5sb2dEaWFnbm9zdGljTWVzc2FnZShEaWFn
bm9zdGljTG9nZ2luZ0tleXM6Om5hdmlnYXRpb25LZXkoKSwgbmF2aWdhdGlvbkRlc2NyaXB0aW9u
LCBTaG91bGRTYW1wbGU6Ok5vKTsKKyNpZiBFTkFCTEUoUFVCTElDX1NVRkZJWF9MSVNUKQorICAg
IFN0cmluZyBkb21haW4gPSB0b3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWluKGRlc3RpbmF0aW9u
VVJMLmhvc3QoKSk7CisgICAgaWYgKCFkb21haW4uaXNFbXB0eSgpKQorICAgICAgICBmcmFtZS5w
YWdlKCktPmRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCkubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
RW5oYW5jZWRQcml2YWN5KERpYWdub3N0aWNMb2dnaW5nS2V5czo6ZG9tYWluVmlzaXRlZEtleSgp
LCBkb21haW4sIFNob3VsZFNhbXBsZTo6Tm8pOworI2VuZGlmCiB9CiAKIHZvaWQgRnJhbWVMb2Fk
ZXI6OmxvYWRXaXRoRG9jdW1lbnRMb2FkZXIoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgRnJhbWVM
b2FkVHlwZSB0eXBlLCBGb3JtU3RhdGUqIGZvcm1TdGF0ZSwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZh
bGlkVVJMIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCkKQEAgLTE0MjIsMTYgKzE0MjgsMTcg
QEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZFdpdGhEb2N1bWVudExvYWRlcihEb2N1bWVudExvYWRl
ciogbG9hZGVyLCBGcmFtZUxvYWRUeXBlIHQKICAgICBpZiAobV9mcmFtZS5kb2N1bWVudCgpKQog
ICAgICAgICBtX3ByZXZpb3VzVVJMID0gbV9mcmFtZS5kb2N1bWVudCgpLT51cmwoKTsKIAorICAg
IGNvbnN0IFVSTCYgbmV3VVJMID0gbG9hZGVyLT5yZXF1ZXN0KCkudXJsKCk7CisKICAgICAvLyBM
b2cgbWFpbiBmcmFtZSBuYXZpZ2F0aW9uIHR5cGVzLgogICAgIGlmIChtX2ZyYW1lLmlzTWFpbkZy
YW1lKCkpIHsKLSAgICAgICAgbG9nTmF2aWdhdGlvbihzdGF0aWNfY2FzdDxNYWluRnJhbWUmPiht
X2ZyYW1lKSwgdHlwZSk7CisgICAgICAgIGxvZ05hdmlnYXRpb24oc3RhdGljX2Nhc3Q8TWFpbkZy
YW1lJj4obV9mcmFtZSksIG5ld1VSTCwgdHlwZSk7CiAgICAgICAgIHN0YXRpY19jYXN0PE1haW5G
cmFtZSY+KG1fZnJhbWUpLnBlcmZvcm1hbmNlTG9nZ2luZygpLmRpZFJlYWNoUG9pbnRPZkludGVy
ZXN0KFBlcmZvcm1hbmNlTG9nZ2luZzo6TWFpbkZyYW1lTG9hZFN0YXJ0ZWQpOwogICAgIH0KIAog
ICAgIHBvbGljeUNoZWNrZXIoKS5zZXRMb2FkVHlwZSh0eXBlKTsKICAgICBib29sIGlzRm9ybVN1
Ym1pc3Npb24gPSBmb3JtU3RhdGU7CiAKLSAgICBjb25zdCBVUkwmIG5ld1VSTCA9IGxvYWRlci0+
cmVxdWVzdCgpLnVybCgpOwogICAgIGNvbnN0IFN0cmluZyYgaHR0cE1ldGhvZCA9IGxvYWRlci0+
cmVxdWVzdCgpLmh0dHBNZXRob2QoKTsKIAogICAgIGlmIChzaG91bGRQZXJmb3JtRnJhZ21lbnRO
YXZpZ2F0aW9uKGlzRm9ybVN1Ym1pc3Npb24sIGh0dHBNZXRob2QsIHBvbGljeUNoZWNrZXIoKS5s
b2FkVHlwZSgpLCBuZXdVUkwpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Rp
YWdub3N0aWNMb2dnaW5nQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNM
b2dnaW5nQ2xpZW50LmgKaW5kZXggMGI1YmE5M2Q1MzhlN2Q5ZWRkOGU2Nzk4MTNjMzE5OThiZGVm
MDVkZS4uMDA1OTZjNzhiYmVjMzBkMGMxZWI3NDNkZDJiNzNkMTc4MjQxN2RhNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaApAQCAtNDAsNiArNDAs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlKGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgU2hvdWxkU2FtcGxl
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIERpYWdub3N0
aWNMb2dnaW5nUmVzdWx0VHlwZSwgU2hvdWxkU2FtcGxlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29u
c3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgZG91YmxlIHZhbHVlLCB1bnNpZ25lZCBzaWduaWZpY2Fu
dEZpZ3VyZXMsIFNob3VsZFNhbXBsZSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBsb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25z
dCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBTaG91bGRTYW1wbGUpID0gMDsKIAogICAgIHN0YXRpYyBi
b29sIHNob3VsZExvZ0FmdGVyU2FtcGxpbmcoU2hvdWxkU2FtcGxlKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuY3BwCmluZGV4IDEwNGZkMDU4ZjVhOTE4
ZDU3ZWM5NTc2Nzk0NmUzYjY5ODlhODg0NjEuLjQxNzIzOTI0MDc1MjQ5NTU0N2M4ZTFkZDZkNTk4
ZWZhOWEzMGM3ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xv
Z2dpbmdLZXlzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5n
S2V5cy5jcHAKQEAgLTM0Myw2ICszNDMsMTEgQEAgU3RyaW5nIERpYWdub3N0aWNMb2dnaW5nS2V5
czo6ZG9jdW1lbnRMb2FkZXJTdG9wcGluZ0tleSgpCiAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgi
ZG9jdW1lbnRMb2FkZXJTdG9wcGluZyIpOwogfQogCitTdHJpbmcgRGlhZ25vc3RpY0xvZ2dpbmdL
ZXlzOjpkb21haW5WaXNpdGVkS2V5KCkKK3sKKyAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJEb21h
aW5WaXNpdGVkIik7Cit9CisKIFN0cmluZyBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OmNhbm5vdFN1
c3BlbmRBY3RpdmVET01PYmplY3RzS2V5KCkKIHsKICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJj
YW5ub3RTdXNwZW5kQWN0aXZlRE9NT2JqZWN0cyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlh
Z25vc3RpY0xvZ2dpbmdLZXlzLmgKaW5kZXggMzE5ZjZkOWU4N2M0ZjJlMGQ4NjdiZDRiYjk0MDcz
ZjM0NDQzNmU1NS4uYjhjMmEwYmU0MTFlZTdlYjY2MmI2ZTUxNDQ0OTI4OWZmZmExOWE3ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5oCkBAIC01MCw2ICs1
MCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3RyaW5nIGRpc2tDYWNoZUtleSgpOwogICAgIHN0
YXRpYyBTdHJpbmcgZGlza0NhY2hlQWZ0ZXJWYWxpZGF0aW9uS2V5KCk7CiAgICAgc3RhdGljIFN0
cmluZyBkb2N1bWVudExvYWRlclN0b3BwaW5nS2V5KCk7CisgICAgc3RhdGljIFN0cmluZyBkb21h
aW5WaXNpdGVkS2V5KCk7CiAgICAgc3RhdGljIFN0cmluZyBlbmdpbmVGYWlsZWRUb0xvYWRLZXko
KTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgU3RyaW5nIGVudHJ5UmlnaHRseU5vdFdhcm1l
ZFVwS2V5KCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFN0cmluZyBlbnRyeVdyb25nbHlO
b3RXYXJtZWRVcEtleSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9BUElEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9BUElEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCmluZGV4IGY1NGEwYjFhZDY1ZWJmMTEw
NGM0NjQ3N2Y0NTNhYWU3NjkyNDczNjQuLmU5OWU3NDdmZjY5ZWM1NTljYWY0NGUyMGE1MmUwZWQw
Mzg3MzQwYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0FQSURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKQEAgLTQyLDYgKzQyLDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZShXZWJLaXQ6OldlYlBhZ2VQcm94
eSosIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBjb25zdCBXVEY6OlN0cmluZyYgZGVzY3Jp
cHRpb24pIHsgVU5VU0VEX1BBUkFNKG1lc3NhZ2UpOyBVTlVTRURfUEFSQU0oZGVzY3JpcHRpb24p
OyB9CiAgICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChXZWJL
aXQ6OldlYlBhZ2VQcm94eSosIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBjb25zdCBXVEY6
OlN0cmluZyYgZGVzY3JpcHRpb24sIFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlw
ZSkgeyBVTlVTRURfUEFSQU0obWVzc2FnZSk7IFVOVVNFRF9QQVJBTShkZXNjcmlwdGlvbik7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoV2ViS2l0OjpX
ZWJQYWdlUHJveHkqLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgY29uc3QgV1RGOjpTdHJp
bmcmIGRlc2NyaXB0aW9uLCBjb25zdCBXVEY6OlN0cmluZyYgdmFsdWUpIHsgVU5VU0VEX1BBUkFN
KG1lc3NhZ2UpOyBVTlVTRURfUEFSQU0oZGVzY3JpcHRpb24pOyBVTlVTRURfUEFSQU0odmFsdWUp
OyB9CisgICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJp
dmFjeShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBj
b25zdCBXVEY6OlN0cmluZyYgZGVzY3JpcHRpb24pIHsgVU5VU0VEX1BBUkFNKG1lc3NhZ2UpOyBV
TlVTRURfUEFSQU0oZGVzY3JpcHRpb24pOyB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBBUEkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZURp
YWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKaW5kZXggOWJiMGIzNmU5NDIxZjlkMGNiNWU3OWVmM2E0
OTJhNmMzMjA3YTIzZi4uMDZiNjc0NzZiZjQwNmIxMjdlYzBiZDMwM2E3Yjk3NjkwZDEwZWI3MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZURpYWdub3N0
aWNMb2dnaW5nQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKQEAgLTM2LDYgKzM2LDcgQEAgZXh0ZXJuICJD
IiB7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VMb2dEaWFnbm9zdGljTWVzc2FnZUNhbGxiYWNrKShX
S1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tTdHJpbmdSZWYgZGVzY3JpcHRp
b24sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlTG9nRGlh
Z25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmlu
Z1JlZiBtZXNzYWdlLCBXS1N0cmluZ1JlZiBkZXNjcmlwdGlvbiwgV0tEaWFnbm9zdGljTG9nZ2lu
Z1Jlc3VsdFR5cGUgcmVzdWx0LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9p
ZCAoKldLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlQ2FsbGJhY2spKFdLUGFnZVJl
ZiBwYWdlLCBXS1N0cmluZ1JlZiBtZXNzYWdlLCBXS1N0cmluZ1JlZiBkZXNjcmlwdGlvbiwgV0tT
dHJpbmdSZWYgdmFsdWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgq
V0tQYWdlTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5Q2FsbGJhY2spKFdL
UGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBtZXNzYWdlLCBXS1N0cmluZ1JlZiBkZXNjcmlwdGlv
biwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKIHR5cGVkZWYgc3RydWN0IFdLUGFnZURpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50QmFzZSB7CiAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CkBAIC01MSw2
ICs1MiwxOCBAQCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudFYw
IHsKICAgICBXS1BhZ2VMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZUNhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICAgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWU7CiB9IFdLUGFn
ZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50VjA7CiAKK3R5cGVkZWYgc3RydWN0IFdLUGFnZURpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50VjEgeworICAgIFdLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50
QmFzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlOworCisgICAgLy8gVmVy
c2lvbiAwLgorICAgIFdLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdlQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsb2dEaWFnbm9zdGljTWVzc2FnZTsKKyAgICBXS1BhZ2VM
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0OworICAgIFdLUGFnZUxvZ0RpYWdub3N0
aWNNZXNzYWdlV2l0aFZhbHVlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICBsb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhWYWx1ZTsKKworICAgIC8vIFZlcnNpb24xLgorICAgIFdLUGFnZUxv
Z0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeUNhbGxiYWNrICAgICAgICAgIGxv
Z0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeTsKK30gV0tQYWdlRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnRWMTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRGlhZ25vc3RpY0xv
Z2dpbmdEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tE
aWFnbm9zdGljTG9nZ2luZ0RlbGVnYXRlLmgKaW5kZXggMGUyYTFiOWIzOWRkZmE2MDkxZTBmZDRi
OTM3NzY4ZDUwZWFhNDUxNi4uOWM1NzlkOWFjMjFjMTI0NTI5YmRkOTg4NTM3NDkzZDdjNmNhNzU2
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tEaWFn
bm9zdGljTG9nZ2luZ0RlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tEaWFnbm9zdGljTG9nZ2luZ0RlbGVnYXRlLmgKQEAgLTQxLDYgKzQxLDcgQEAg
dHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBl
KSB7CiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGxvZ0RpYWdub3N0aWNN
ZXNzYWdlOihOU1N0cmluZyAqKW1lc3NhZ2UgZGVzY3JpcHRpb246KE5TU3RyaW5nICopZGVzY3Jp
cHRpb247CiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGxvZ0RpYWdub3N0
aWNNZXNzYWdlV2l0aFJlc3VsdDooTlNTdHJpbmcgKiltZXNzYWdlIGRlc2NyaXB0aW9uOihOU1N0
cmluZyAqKWRlc2NyaXB0aW9uIHJlc3VsdDooX1dLRGlhZ25vc3RpY0xvZ2dpbmdSZXN1bHRUeXBl
KXJlc3VsdDsKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgbG9nRGlhZ25v
c3RpY01lc3NhZ2VXaXRoVmFsdWU6KE5TU3RyaW5nICopbWVzc2FnZSBkZXNjcmlwdGlvbjooTlNT
dHJpbmcgKilkZXNjcmlwdGlvbiB2YWx1ZTooTlNTdHJpbmcgKikgdmFsdWU7CistICh2b2lkKV93
ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFu
Y2VkUHJpdmFjeTooTlNTdHJpbmcgKiltZXNzYWdlIGRlc2NyaXB0aW9uOihOU1N0cmluZyAqKWRl
c2NyaXB0aW9uOwogCiBAZW5kCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0NvY29hL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKaW5kZXggZTIyYjhlMTJkNjg1ZGI4
NTQwOWUzNzBkMWJiM2E4OTg2M2YyZTM0MS4uOGIwOTM3Y2Y2ZDE5MjdhZjMwZWE4MzNkNjBmZGNk
NjcyYTgwOGY5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL0Rp
YWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nv
Y29hL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKQEAgLTUxLDYgKzUxLDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlKFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbikgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQoV2ViUGFnZVByb3h5KiwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpEaWFnbm9z
dGljTG9nZ2luZ1Jlc3VsdFR5cGUpIG92ZXJyaWRlOwogICAgIHZvaWQgbG9nRGlhZ25vc3RpY01l
c3NhZ2VXaXRoVmFsdWUoV2ViUGFnZVByb3h5KiwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25z
dCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBjb25zdCBTdHJpbmcmIHZhbHVlKSBvdmVycmlkZTsKKyAg
ICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeShXZWJQYWdlUHJv
eHkqLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24pIG92
ZXJyaWRlOwogCiAgICAgV0tXZWJWaWV3ICptX3dlYlZpZXc7CiAgICAgV2Vha09iakNQdHI8aWQg
PF9XS0RpYWdub3N0aWNMb2dnaW5nRGVsZWdhdGU+PiBtX2RlbGVnYXRlOwpAQCAtNTksNiArNjAs
NyBAQCBwcml2YXRlOgogICAgICAgICB1bnNpZ25lZCB3ZWJ2aWV3TG9nRGlhZ25vc3RpY01lc3Nh
Z2UgOiAxOwogICAgICAgICB1bnNpZ25lZCB3ZWJ2aWV3TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
UmVzdWx0IDogMTsKICAgICAgICAgdW5zaWduZWQgd2Vidmlld0xvZ0RpYWdub3N0aWNNZXNzYWdl
V2l0aFZhbHVlIDogMTsKKyAgICAgICAgdW5zaWduZWQgd2Vidmlld0xvZ0RpYWdub3N0aWNNZXNz
YWdlV2l0aEVuaGFuY2VkUHJpdmFjeSA6IDE7CiAgICAgfSBtX2RlbGVnYXRlTWV0aG9kczsKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9EaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9EaWFnbm9z
dGljTG9nZ2luZ0NsaWVudC5tbQppbmRleCAyMzA4ZGJhNmI3OTczZWJjZmI4NDNhYTk5NWI2MzE2
M2Q2NWRmODI1Li5jMTdlZDYzZWI0OTJlOWY4ZWJkNDk5ZjUxYjlmNjc5ZWFmYmM2OTkyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvRGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL0RpYWdub3N0aWNM
b2dnaW5nQ2xpZW50Lm1tCkBAIC01MCw2ICs1MCw3IEBAIHZvaWQgRGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnQ6OnNldERlbGVnYXRlKGlkIDxfV0tEaWFnbm9zdGljTG9nZ2luZ0RlbGVnYXRlPiBkZWxl
CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2Vidmlld0xvZ0RpYWdub3N0aWNNZXNzYWdlID0gW2Rl
bGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6bG9nRGlhZ25vc3Rp
Y01lc3NhZ2U6ZGVzY3JpcHRpb246KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2Vidmlld0xv
Z0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdCA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdDpkZXNj
cmlwdGlvbjpyZXN1bHQ6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2Vidmlld0xvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aFZhbHVlID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3IoX3dlYlZpZXc6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWU6ZGVzY3JpcHRpb246
dmFsdWU6KV07CisgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2Vidmlld0xvZ0RpYWdub3N0aWNNZXNz
YWdlV2l0aEVuaGFuY2VkUHJpdmFjeSA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKF93ZWJWaWV3OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeTpk
ZXNjcmlwdGlvbjopXTsKIH0KIAogdm9pZCBEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlh
Z25vc3RpY01lc3NhZ2UoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBjb25zdCBXVEY6OlN0cmluZyYg
bWVzc2FnZSwgY29uc3QgV1RGOjpTdHJpbmcmIGRlc2NyaXB0aW9uKQpAQCAtODIsNiArODMsMTIg
QEAgdm9pZCBEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
VmFsdWUoV2ViS2l0OjpXZWJQYWdlUHJveHkKICAgICAgICAgW21fZGVsZWdhdGUuZ2V0KCkgX3dl
YlZpZXc6bV93ZWJWaWV3IGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlOm1lc3NhZ2UgZGVz
Y3JpcHRpb246ZGVzY3JpcHRpb24gdmFsdWU6dmFsdWVdOwogfQogCit2b2lkIERpYWdub3N0aWNM
b2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koV2Vi
S2l0OjpXZWJQYWdlUHJveHkqLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgY29uc3QgV1RG
OjpTdHJpbmcmIGRlc2NyaXB0aW9uKQoreworICAgIGlmIChtX2RlbGVnYXRlTWV0aG9kcy53ZWJ2
aWV3TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KQorICAgICAgICBbbV9k
ZWxlZ2F0ZS5nZXQoKSBfd2ViVmlldzptX3dlYlZpZXcgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
RW5oYW5jZWRQcml2YWN5Om1lc3NhZ2UgZGVzY3JpcHRpb246ZGVzY3JpcHRpb25dOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVECmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQuY3BwCmluZGV4IGQ4ZTQyNjNjZDY0YTk2OTA0NjY0Y2U3ZDE1MThjMDY2NzRmODQz
OWUuLmE1NDdlYWQ1MjUxYWYwMDI3YjI4OGIxNzk0NTFlN2EyMjc4OTZkYmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQuY3BwCkBAIC02MSw0ICs2MSwxMiBAQCB2b2lkIFdlYlBhZ2VEaWFnbm9zdGljTG9n
Z2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoV2ViUGFnZVByb3h5Kgog
ICAgIG1fY2xpZW50LmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKHRvQVBJKHBhZ2UpLCB0
b0FQSShtZXNzYWdlLmltcGwoKSksIHRvQVBJKGRlc2NyaXB0aW9uLmltcGwoKSksIHRvQVBJKHZh
bHVlLmltcGwoKSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiB9CiAKK3ZvaWQgV2ViUGFn
ZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNl
ZFByaXZhY3koV2ViUGFnZVByb3h5KiBwYWdlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0
IFN0cmluZyYgZGVzY3JpcHRpb24pCit7CisgICAgaWYgKCFtX2NsaWVudC5sb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3kpCisgICAgICAgIHJldHVybjsKKworICAgIG1fY2xp
ZW50LmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeSh0b0FQSShwYWdlKSwg
dG9BUEkobWVzc2FnZS5pbXBsKCkpLCB0b0FQSShkZXNjcmlwdGlvbi5pbXBsKCkpLCBtX2NsaWVu
dC5iYXNlLmNsaWVudEluZm8pOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnQuaAppbmRleCA5NTU1N2VkM2Y0YmRjMzQyNDgzMzQ2MDEwMDAyMGE2MTBiMzc0YWQ5Li5i
YWFkYzE1MjdjZmRlYmQyZTZjYTU5NGNjOTljODNkZjkzNGU3ZjhiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVu
dC5oCkBAIC0zNSw3ICszNSw3IEBACiBuYW1lc3BhY2UgQVBJIHsKIAogdGVtcGxhdGU8PiBzdHJ1
Y3QgQ2xpZW50VHJhaXRzPFdLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50QmFzZT4gewotICAg
IHR5cGVkZWYgc3RkOjp0dXBsZTxXS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudFYwPiBWZXJz
aW9uczsKKyAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8V0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnRWMCwgV0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRWMT4gVmVyc2lvbnM7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBBUEkKQEAgLTUxLDYgKzUxLDcgQEAgcHVibGljOgogICAgIHZvaWQgbG9n
RGlhZ25vc3RpY01lc3NhZ2UoV2ViUGFnZVByb3h5KiwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBj
b25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uKSBvdmVycmlkZTsKICAgICB2b2lkIGxvZ0RpYWdub3N0
aWNNZXNzYWdlV2l0aFJlc3VsdChXZWJQYWdlUHJveHkqLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nUmVz
dWx0VHlwZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1
ZShXZWJQYWdlUHJveHkqLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVz
Y3JpcHRpb24sIGNvbnN0IFN0cmluZyYgdmFsdWUpIG92ZXJyaWRlOworICAgIHZvaWQgbG9nRGlh
Z25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbikgb3ZlcnJpZGU7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKaW5kZXggZDA0ZjNiMjc4MTZhNWVhOGQ3OTJmNjllMWYxNjIyNzYxYjYyYTA0MC4u
ZWJjYzUyMzllNzZkODc3NTkzMzFjZjNmMTZiYTJmZWM3NzgyMzY0NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTUxOTUsNiArNTE5NSwxNCBAQCB2b2lk
IFdlYlBhZ2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBjb25zdCBTdAogICAgIG1fZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQtPmxvZ0Rp
YWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKHRoaXMsIG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCBTdHJp
bmc6Om51bWJlcih2YWx1ZSwgc2lnbmlmaWNhbnRGaWd1cmVzKSk7CiB9CiAKK3ZvaWQgV2ViUGFn
ZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBTaG91bGRTYW1wbGUgc2hv
dWxkU2FtcGxlKQoreworICAgIGlmICghRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OnNob3VsZExv
Z0FmdGVyU2FtcGxpbmcoc2hvdWxkU2FtcGxlKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9k
aWFnbm9zdGljTG9nZ2luZ0NsaWVudC0+bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQ
cml2YWN5KHRoaXMsIG1lc3NhZ2UsIGRlc2NyaXB0aW9uKTsKK30KKwogdm9pZCBXZWJQYWdlUHJv
eHk6OnJlY3RGb3JDaGFyYWN0ZXJSYW5nZUNhbGxiYWNrKGNvbnN0IEludFJlY3QmIHJlY3QsIGNv
bnN0IEVkaXRpbmdSYW5nZSYgYWN0dWFsUmFuZ2UsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCiB7CiAg
ICAgTUVTU0FHRV9DSEVDSyhhY3R1YWxSYW5nZS5pc1ZhbGlkKCkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDFhZDEzNGRjYTY2YzM4OWIxZGRlZjUzODU5MjY3
MGZlOGFmNmQzMzcuLmNhMzYwNjg3ZWEwMzU1NTdiNDMxN2UzMDg3OWI4M2I4MTY2MWMyZDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTExMzAsNiArMTEzMCw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlKGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6U2hvdWxkU2FtcGxl
KTsKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIHVpbnQzMl90IHJlc3VsdCwgV2Vi
Q29yZTo6U2hvdWxkU2FtcGxlKTsKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZh
bHVlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgZG91
YmxlIHZhbHVlLCB1bnNpZ25lZCBzaWduaWZpY2FudEZpZ3VyZXMsIFdlYkNvcmU6OlNob3VsZFNh
bXBsZSk7CisgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3ko
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3Jl
OjpTaG91bGRTYW1wbGUpOwogCiAgICAgLy8gRm9ybSB2YWxpZGF0aW9uIG1lc3NhZ2VzLgogICAg
IHZvaWQgc2hvd1ZhbGlkYXRpb25NZXNzYWdlKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGFuY2hv
ckNsaWVudFJlY3QsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCA3OGMzOTc1ZDQ4MzNm
MmQ0ZGFmNTU1MWQxOGFiNmQ3YjhjMDQyYTkxLi5hM2YwZTQ3ZjdkYWYwMzMyNGRjNDg4ZmIwYzFm
NTE4NjRmODUyNzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkubWVzc2FnZXMuaW4KQEAgLTIzOCw2ICsyMzgsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdl
UHJveHkgewogICAgIExvZ0RpYWdub3N0aWNNZXNzYWdlKFN0cmluZyBtZXNzYWdlLCBTdHJpbmcg
ZGVzY3JpcHRpb24sIGVudW0gV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKICAg
ICBMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQoU3RyaW5nIG1lc3NhZ2UsIFN0cmluZyBk
ZXNjcmlwdGlvbiwgdWludDMyX3QgcmVzdWx0LCBlbnVtIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBz
aG91bGRTYW1wbGUpCiAgICAgTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoU3RyaW5nIG1l
c3NhZ2UsIFN0cmluZyBkZXNjcmlwdGlvbiwgZG91YmxlIHZhbHVlLCB1bnNpZ25lZCBzaWduaWZp
Y2FudEZpZ3VyZXMsIGVudW0gV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBsZSkKKyAg
ICBMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koU3RyaW5nIG1lc3NhZ2Us
IFN0cmluZyBkZXNjcmlwdGlvbiwgZW51bSBXZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxkU2Ft
cGxlKQogCiAgICAgIyBFZGl0b3Igbm90aWZpY2F0aW9ucwogICAgIEVkaXRvclN0YXRlQ2hhbmdl
ZChzdHJ1Y3QgV2ViS2l0OjpFZGl0b3JTdGF0ZSBlZGl0b3JTdGF0ZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAKaW5kZXggNzBkMGYwZDVkYjU0MjMyMTI5MDY4
YWYzMjJjMTAxOWM2MDAzNDE3MS4uYTVmMzQ0MGJkMjllYmUzOTgwMTFhYWFjMDdkODcxZjhkM2M1
ODIwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAKQEAg
LTczLDQgKzczLDE0IEBAIHZvaWQgV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYgbWVzCiAgICAgbV9wYWdlLnNlbmQo
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUobWVz
c2FnZSwgZGVzY3JpcHRpb24sIHZhbHVlLCBzaWduaWZpY2FudEZpZ3VyZXMsIFNob3VsZFNhbXBs
ZTo6Tm8pKTsKIH0KIAordm9pZCBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25v
c3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29u
c3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNhbXBs
ZSkKK3sKKyAgICBBU1NFUlQoIW1fcGFnZS5jb3JlUGFnZSgpIHx8IG1fcGFnZS5jb3JlUGFnZSgp
LT5zZXR0aW5ncygpLmRpYWdub3N0aWNMb2dnaW5nRW5hYmxlZCgpKTsKKworICAgIGlmICghc2hv
dWxkTG9nQWZ0ZXJTYW1wbGluZyhzaG91bGRTYW1wbGUpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpMb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhFbmhhbmNlZFByaXZhY3kobWVzc2FnZSwgZGVzY3JpcHRpb24sIFNob3VsZFNhbXBsZTo6
Tm8pKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0
aWNMb2dnaW5nQ2xpZW50LmgKaW5kZXggNmZlZDRmZGFhNDE2ODM4OWI4NzcwMDU5ZTU1N2IzYWVk
ZmE5YzBjZC4uMGI3ZTU0NWZkYTY2MDNjNmJlMjg4ZDZhNzBiMTE2ZTM2NWVjOTJlMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9z
dGljTG9nZ2luZ0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaApAQCAtNDIsNiArNDIsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpTaG91bGRTYW1wbGUpIG92
ZXJyaWRlOwogICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6RGlhZ25v
c3RpY0xvZ2dpbmdSZXN1bHRUeXBlLCBXZWJDb3JlOjpTaG91bGRTYW1wbGUpIG92ZXJyaWRlOwog
ICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoY29uc3QgU3RyaW5nJiBtZXNz
YWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBkb3VibGUgdmFsdWUsIHVuc2lnbmVkIHNp
Z25pZmljYW50RmlndXJlcywgV2ViQ29yZTo6U2hvdWxkU2FtcGxlKSBvdmVycmlkZTsKKyAgICB2
b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeShjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFdlYkNvcmU6OlNob3VsZFNhbXBs
ZSkgb3ZlcnJpZGU7CiAKICAgICBXZWJQYWdlJiBtX3BhZ2U7CiB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300841</attachid>
            <date>2017-02-07 13:24:21 -0800</date>
            <delta_ts>2017-02-07 13:57:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167948-20170207132159.patch</filename>
            <type>text/plain</type>
            <size>23697</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExNzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTU3Zjk5M2U2N2JjM2Fj
OGQwZDk0NDQ5ZmRiMDUyNjhhMGIzY2FhMi4uYTM0NTgyYmRkZThmYTU0ODNlMDcwOWE0OThkZTIz
MWJlY2Q4ZGI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE3LTAyLTA3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGVu
aGFuY2VkIHByaXZhY3kgZGlhZ25vc3RpYyBsb2dnaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc5NDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzMwMzg1MTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBuZXcgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KCkgbWV0
aG9kIHRvIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50CisgICAgICAgIHRoYXQgaXMgdXNlZCBmb3Ig
ZW5oYW5jZWQgcHJpdmFjeSBsb2dnaW5nLiBTdGFydCB1c2luZyB0aGlzIG5ldyBBUEkgdG8gbG9n
IGRvbWFpbnMKKyAgICAgICAgdGhhdCBhcmUgdmlzaXRlZC4KKworICAgICAgICAqIGxvYWRlci9F
bXB0eUNsaWVudHMuY3BwOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpsb2dOYXZpZ2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyOjpsb2FkV2l0aERvY3VtZW50TG9hZGVyKToKKyAgICAgICAgKiBwYWdlL0RpYWdub3N0aWNM
b2dnaW5nQ2xpZW50Lmg6CisgICAgICAgICogcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpkb21haW5WaXNpdGVk
S2V5KToKKyAgICAgICAgKiBwYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5oOgorCiAyMDE3LTAy
LTA2ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CiAKICAgICAg
ICAgQ2hhbmdlIHRoZSBDU1MgYW5pbWF0aW9uIHRpbWVyIGEgdG8gYmUgbGl0dGxlIG1vcmUgdGhh
biA2MGZwcyB0byBlbnN1cmUgd2UgaGl0IHRoYXQgZnJhbWUgcmF0ZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDU1
MDkwMWZiY2VkMTI0YTA1NGU0NTM2YzFlOWJmZjEwZGQyOGNkNzEuLjRlNzRkNjNiZWE4MjFkOWEx
OGYzYTdhMDI3ZWRjNjllMzdmNTFlMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAx
Ny0wMi0wNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBz
dXBwb3J0IGZvciBlbmhhbmNlZCBwcml2YWN5IGRpYWdub3N0aWMgbG9nZ2luZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3OTQ4CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8zMDM4NTExMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgbmV3IERpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojps
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koKQorICAgICAgICB2aXJ0dWFs
IG1ldGhvZCBvbiBXZWJLaXQyIGFuZCBleHBvc2UgaXQgdG8gdGhlIGNsaWVudCB2aWEgdGhlIFdL
UGFnZURpYWdub3N0aWNMb2dnaW5nCisgICAgICAgIGRlbGVnYXRlLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9BUElEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oOgorICAgICAgICAoQVBJOjpE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQ
cml2YWN5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0RpYWdub3N0aWNM
b2dnaW5nRGVsZWdhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQubW06CisgICAgICAgIChXZWJLaXQ6OkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpz
ZXREZWxlZ2F0ZSk6CisgICAgICAgIChXZWJLaXQ6OkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojps
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3kpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aEVuaGFuY2VkUHJpdmFjeSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVu
aGFuY2VkUHJpdmFjeSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3kpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaDoKKwogMjAxNy0wMi0wNiAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIGNoaWxk
IHByb2Nlc3NlcyBpZiB0aGV5IHJlY2VpdmUgYW4gaW52YWxpZCBtZXNzYWdlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IGYwMGZkMDA0MjllNTcwYTIyYWFhY2VhMzU5
Yjc3MTk5MTc2YWRkYjMuLjJmNGVkMjNjYWE3MjI3YWQ0MGMyNGJiNTg5NTQ0ZjRmYWU5YWJmNDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC0xMjEsNiArMTIxLDcg
QEAgY2xhc3MgRW1wdHlEaWFnbm9zdGljTG9nZ2luZ0NsaWVudCBmaW5hbCA6IHB1YmxpYyBEaWFn
bm9zdGljTG9nZ2luZ0NsaWVudCB7CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZShjb25z
dCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBTaG91bGRTYW1wbGUpIGZpbmFsIHsgfQogICAgIHZv
aWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0
cmluZyYsIERpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZSwgU2hvdWxkU2FtcGxlKSBmaW5hbCB7
IH0KICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYs
IGNvbnN0IFN0cmluZyYsIGRvdWJsZSwgdW5zaWduZWQsIFNob3VsZFNhbXBsZSkgZmluYWwgeyB9
CisgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koY29uc3Qg
U3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgU2hvdWxkU2FtcGxlKSBmaW5hbCB7IH0KIH07CiAKICNp
ZiBFTkFCTEUoRFJBR19TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAK
aW5kZXggNGEwODI3OWM4MjkwMmEzMDQyZTNmNWIwNDQwOGZhMDdlZjM4OTY3NS4uZTY2NTgyZTRm
Y2YyZGY0ZWY4NmE2Y2JlMTM3MzhlMjVmOThlNGUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwCkBAIC05NSw2ICs5NSw3IEBACiAjaW5jbHVkZSAiUGx1Z2luRG9jdW1lbnQu
aCIKICNpbmNsdWRlICJQb2xpY3lDaGVja2VyLmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2Vy
LmgiCisjaW5jbHVkZSAiUHVibGljU3VmZml4LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUu
aCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRJbmZvLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2Fk
T2JzZXJ2ZXIuaCIKQEAgLTEzNjgsNyArMTM2OSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWQo
RG9jdW1lbnRMb2FkZXIqIG5ld0RvY3VtZW50TG9hZGVyKQogICAgIGxvYWRXaXRoRG9jdW1lbnRM
b2FkZXIobmV3RG9jdW1lbnRMb2FkZXIsIHR5cGUsIDAsIEFsbG93TmF2aWdhdGlvblRvSW52YWxp
ZFVSTDo6WWVzKTsKIH0KIAotc3RhdGljIHZvaWQgbG9nTmF2aWdhdGlvbihNYWluRnJhbWUmIGZy
YW1lLCBGcmFtZUxvYWRUeXBlIHR5cGUpCitzdGF0aWMgdm9pZCBsb2dOYXZpZ2F0aW9uKE1haW5G
cmFtZSYgZnJhbWUsIGNvbnN0IFVSTCYgZGVzdGluYXRpb25VUkwsIEZyYW1lTG9hZFR5cGUgdHlw
ZSkKIHsKICAgICBpZiAoIWZyYW1lLnBhZ2UoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTQwMiw2
ICsxNDAzLDExIEBAIHN0YXRpYyB2b2lkIGxvZ05hdmlnYXRpb24oTWFpbkZyYW1lJiBmcmFtZSwg
RnJhbWVMb2FkVHlwZSB0eXBlKQogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGZyYW1lLnBh
Z2UoKS0+ZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoKS5sb2dEaWFnbm9zdGljTWVzc2FnZShEaWFn
bm9zdGljTG9nZ2luZ0tleXM6Om5hdmlnYXRpb25LZXkoKSwgbmF2aWdhdGlvbkRlc2NyaXB0aW9u
LCBTaG91bGRTYW1wbGU6Ok5vKTsKKyNpZiBFTkFCTEUoUFVCTElDX1NVRkZJWF9MSVNUKQorICAg
IFN0cmluZyBkb21haW4gPSB0b3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWluKGRlc3RpbmF0aW9u
VVJMLmhvc3QoKSk7CisgICAgaWYgKCFkb21haW4uaXNFbXB0eSgpKQorICAgICAgICBmcmFtZS5w
YWdlKCktPmRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCkubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
RW5oYW5jZWRQcml2YWN5KERpYWdub3N0aWNMb2dnaW5nS2V5czo6ZG9tYWluVmlzaXRlZEtleSgp
LCBkb21haW4sIFNob3VsZFNhbXBsZTo6Tm8pOworI2VuZGlmCiB9CiAKIHZvaWQgRnJhbWVMb2Fk
ZXI6OmxvYWRXaXRoRG9jdW1lbnRMb2FkZXIoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgRnJhbWVM
b2FkVHlwZSB0eXBlLCBGb3JtU3RhdGUqIGZvcm1TdGF0ZSwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZh
bGlkVVJMIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCkKQEAgLTE0MjIsMTYgKzE0MjgsMTcg
QEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZFdpdGhEb2N1bWVudExvYWRlcihEb2N1bWVudExvYWRl
ciogbG9hZGVyLCBGcmFtZUxvYWRUeXBlIHQKICAgICBpZiAobV9mcmFtZS5kb2N1bWVudCgpKQog
ICAgICAgICBtX3ByZXZpb3VzVVJMID0gbV9mcmFtZS5kb2N1bWVudCgpLT51cmwoKTsKIAorICAg
IGNvbnN0IFVSTCYgbmV3VVJMID0gbG9hZGVyLT5yZXF1ZXN0KCkudXJsKCk7CisKICAgICAvLyBM
b2cgbWFpbiBmcmFtZSBuYXZpZ2F0aW9uIHR5cGVzLgogICAgIGlmIChtX2ZyYW1lLmlzTWFpbkZy
YW1lKCkpIHsKLSAgICAgICAgbG9nTmF2aWdhdGlvbihzdGF0aWNfY2FzdDxNYWluRnJhbWUmPiht
X2ZyYW1lKSwgdHlwZSk7CisgICAgICAgIGxvZ05hdmlnYXRpb24oc3RhdGljX2Nhc3Q8TWFpbkZy
YW1lJj4obV9mcmFtZSksIG5ld1VSTCwgdHlwZSk7CiAgICAgICAgIHN0YXRpY19jYXN0PE1haW5G
cmFtZSY+KG1fZnJhbWUpLnBlcmZvcm1hbmNlTG9nZ2luZygpLmRpZFJlYWNoUG9pbnRPZkludGVy
ZXN0KFBlcmZvcm1hbmNlTG9nZ2luZzo6TWFpbkZyYW1lTG9hZFN0YXJ0ZWQpOwogICAgIH0KIAog
ICAgIHBvbGljeUNoZWNrZXIoKS5zZXRMb2FkVHlwZSh0eXBlKTsKICAgICBib29sIGlzRm9ybVN1
Ym1pc3Npb24gPSBmb3JtU3RhdGU7CiAKLSAgICBjb25zdCBVUkwmIG5ld1VSTCA9IGxvYWRlci0+
cmVxdWVzdCgpLnVybCgpOwogICAgIGNvbnN0IFN0cmluZyYgaHR0cE1ldGhvZCA9IGxvYWRlci0+
cmVxdWVzdCgpLmh0dHBNZXRob2QoKTsKIAogICAgIGlmIChzaG91bGRQZXJmb3JtRnJhZ21lbnRO
YXZpZ2F0aW9uKGlzRm9ybVN1Ym1pc3Npb24sIGh0dHBNZXRob2QsIHBvbGljeUNoZWNrZXIoKS5s
b2FkVHlwZSgpLCBuZXdVUkwpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Rp
YWdub3N0aWNMb2dnaW5nQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNM
b2dnaW5nQ2xpZW50LmgKaW5kZXggMGI1YmE5M2Q1MzhlN2Q5ZWRkOGU2Nzk4MTNjMzE5OThiZGVm
MDVkZS4uMDA1OTZjNzhiYmVjMzBkMGMxZWI3NDNkZDJiNzNkMTc4MjQxN2RhNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaApAQCAtNDAsNiArNDAs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlKGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgU2hvdWxkU2FtcGxl
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIERpYWdub3N0
aWNMb2dnaW5nUmVzdWx0VHlwZSwgU2hvdWxkU2FtcGxlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29u
c3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgZG91YmxlIHZhbHVlLCB1bnNpZ25lZCBzaWduaWZpY2Fu
dEZpZ3VyZXMsIFNob3VsZFNhbXBsZSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBsb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25z
dCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBTaG91bGRTYW1wbGUpID0gMDsKIAogICAgIHN0YXRpYyBi
b29sIHNob3VsZExvZ0FmdGVyU2FtcGxpbmcoU2hvdWxkU2FtcGxlKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuY3BwCmluZGV4IDEwNGZkMDU4ZjVhOTE4
ZDU3ZWM5NTc2Nzk0NmUzYjY5ODlhODg0NjEuLjQxNzIzOTI0MDc1MjQ5NTU0N2M4ZTFkZDZkNTk4
ZWZhOWEzMGM3ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xv
Z2dpbmdLZXlzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5n
S2V5cy5jcHAKQEAgLTM0Myw2ICszNDMsMTEgQEAgU3RyaW5nIERpYWdub3N0aWNMb2dnaW5nS2V5
czo6ZG9jdW1lbnRMb2FkZXJTdG9wcGluZ0tleSgpCiAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgi
ZG9jdW1lbnRMb2FkZXJTdG9wcGluZyIpOwogfQogCitTdHJpbmcgRGlhZ25vc3RpY0xvZ2dpbmdL
ZXlzOjpkb21haW5WaXNpdGVkS2V5KCkKK3sKKyAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJEb21h
aW5WaXNpdGVkIik7Cit9CisKIFN0cmluZyBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OmNhbm5vdFN1
c3BlbmRBY3RpdmVET01PYmplY3RzS2V5KCkKIHsKICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJj
YW5ub3RTdXNwZW5kQWN0aXZlRE9NT2JqZWN0cyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlh
Z25vc3RpY0xvZ2dpbmdLZXlzLmgKaW5kZXggMzE5ZjZkOWU4N2M0ZjJlMGQ4NjdiZDRiYjk0MDcz
ZjM0NDQzNmU1NS4uYjhjMmEwYmU0MTFlZTdlYjY2MmI2ZTUxNDQ0OTI4OWZmZmExOWE3ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5oCkBAIC01MCw2ICs1
MCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3RyaW5nIGRpc2tDYWNoZUtleSgpOwogICAgIHN0
YXRpYyBTdHJpbmcgZGlza0NhY2hlQWZ0ZXJWYWxpZGF0aW9uS2V5KCk7CiAgICAgc3RhdGljIFN0
cmluZyBkb2N1bWVudExvYWRlclN0b3BwaW5nS2V5KCk7CisgICAgc3RhdGljIFN0cmluZyBkb21h
aW5WaXNpdGVkS2V5KCk7CiAgICAgc3RhdGljIFN0cmluZyBlbmdpbmVGYWlsZWRUb0xvYWRLZXko
KTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgU3RyaW5nIGVudHJ5UmlnaHRseU5vdFdhcm1l
ZFVwS2V5KCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFN0cmluZyBlbnRyeVdyb25nbHlO
b3RXYXJtZWRVcEtleSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9BUElEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9BUElEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCmluZGV4IGY1NGEwYjFhZDY1ZWJmMTEw
NGM0NjQ3N2Y0NTNhYWU3NjkyNDczNjQuLmU5OWU3NDdmZjY5ZWM1NTljYWY0NGUyMGE1MmUwZWQw
Mzg3MzQwYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0FQSURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKQEAgLTQyLDYgKzQyLDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZShXZWJLaXQ6OldlYlBhZ2VQcm94
eSosIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBjb25zdCBXVEY6OlN0cmluZyYgZGVzY3Jp
cHRpb24pIHsgVU5VU0VEX1BBUkFNKG1lc3NhZ2UpOyBVTlVTRURfUEFSQU0oZGVzY3JpcHRpb24p
OyB9CiAgICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChXZWJL
aXQ6OldlYlBhZ2VQcm94eSosIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBjb25zdCBXVEY6
OlN0cmluZyYgZGVzY3JpcHRpb24sIFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlw
ZSkgeyBVTlVTRURfUEFSQU0obWVzc2FnZSk7IFVOVVNFRF9QQVJBTShkZXNjcmlwdGlvbik7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoV2ViS2l0OjpX
ZWJQYWdlUHJveHkqLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgY29uc3QgV1RGOjpTdHJp
bmcmIGRlc2NyaXB0aW9uLCBjb25zdCBXVEY6OlN0cmluZyYgdmFsdWUpIHsgVU5VU0VEX1BBUkFN
KG1lc3NhZ2UpOyBVTlVTRURfUEFSQU0oZGVzY3JpcHRpb24pOyBVTlVTRURfUEFSQU0odmFsdWUp
OyB9CisgICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJp
dmFjeShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBj
b25zdCBXVEY6OlN0cmluZyYgZGVzY3JpcHRpb24pIHsgVU5VU0VEX1BBUkFNKG1lc3NhZ2UpOyBV
TlVTRURfUEFSQU0oZGVzY3JpcHRpb24pOyB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBBUEkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZURp
YWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKaW5kZXggOWJiMGIzNmU5NDIxZjlkMGNiNWU3OWVmM2E0
OTJhNmMzMjA3YTIzZi4uNmQ0ZjRiNzE3ZWU5YzEzNTE1MWRkODEwMjIzODNmZjc2ZTY0NzY5NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZURpYWdub3N0
aWNMb2dnaW5nQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKQEAgLTM2LDYgKzM2LDcgQEAgZXh0ZXJuICJD
IiB7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VMb2dEaWFnbm9zdGljTWVzc2FnZUNhbGxiYWNrKShX
S1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tTdHJpbmdSZWYgZGVzY3JpcHRp
b24sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlTG9nRGlh
Z25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmlu
Z1JlZiBtZXNzYWdlLCBXS1N0cmluZ1JlZiBkZXNjcmlwdGlvbiwgV0tEaWFnbm9zdGljTG9nZ2lu
Z1Jlc3VsdFR5cGUgcmVzdWx0LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9p
ZCAoKldLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlQ2FsbGJhY2spKFdLUGFnZVJl
ZiBwYWdlLCBXS1N0cmluZ1JlZiBtZXNzYWdlLCBXS1N0cmluZ1JlZiBkZXNjcmlwdGlvbiwgV0tT
dHJpbmdSZWYgdmFsdWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgq
V0tQYWdlTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5Q2FsbGJhY2spKFdL
UGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBtZXNzYWdlLCBXS1N0cmluZ1JlZiBkZXNjcmlwdGlv
biwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKIHR5cGVkZWYgc3RydWN0IFdLUGFnZURpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50QmFzZSB7CiAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CkBAIC01MSw2
ICs1MiwxOCBAQCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudFYw
IHsKICAgICBXS1BhZ2VMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZUNhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICAgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWU7CiB9IFdLUGFn
ZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50VjA7CiAKK3R5cGVkZWYgc3RydWN0IFdLUGFnZURpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50VjEgeworICAgIFdLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50
QmFzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlOworCisgICAgLy8gVmVy
c2lvbiAwLgorICAgIFdLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdlQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsb2dEaWFnbm9zdGljTWVzc2FnZTsKKyAgICBXS1BhZ2VM
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0OworICAgIFdLUGFnZUxvZ0RpYWdub3N0
aWNNZXNzYWdlV2l0aFZhbHVlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICBsb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhWYWx1ZTsKKworICAgIC8vIFZlcnNpb24gMS4KKyAgICBXS1BhZ2VM
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3lDYWxsYmFjayAgICAgICAgICBs
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3k7Cit9IFdLUGFnZURpYWdub3N0
aWNMb2dnaW5nQ2xpZW50VjE7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0RpYWdub3N0aWNM
b2dnaW5nRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
RGlhZ25vc3RpY0xvZ2dpbmdEZWxlZ2F0ZS5oCmluZGV4IDBlMmExYjliMzlkZGZhNjA5MWUwZmQ0
YjkzNzc2OGQ1MGVhYTQ1MTYuLjljNTc5ZDlhYzIxYzEyNDUyOWJkZDk4ODUzNzQ5M2Q3YzZjYTc1
NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRGlh
Z25vc3RpY0xvZ2dpbmdEZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLRGlhZ25vc3RpY0xvZ2dpbmdEZWxlZ2F0ZS5oCkBAIC00MSw2ICs0MSw3IEBA
IHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0RpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlw
ZSkgewogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBsb2dEaWFnbm9zdGlj
TWVzc2FnZTooTlNTdHJpbmcgKiltZXNzYWdlIGRlc2NyaXB0aW9uOihOU1N0cmluZyAqKWRlc2Ny
aXB0aW9uOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBsb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhSZXN1bHQ6KE5TU3RyaW5nICopbWVzc2FnZSBkZXNjcmlwdGlvbjooTlNT
dHJpbmcgKilkZXNjcmlwdGlvbiByZXN1bHQ6KF9XS0RpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlw
ZSlyZXN1bHQ7CiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aFZhbHVlOihOU1N0cmluZyAqKW1lc3NhZ2UgZGVzY3JpcHRpb246KE5T
U3RyaW5nICopZGVzY3JpcHRpb24gdmFsdWU6KE5TU3RyaW5nICopIHZhbHVlOworLSAodm9pZClf
d2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhh
bmNlZFByaXZhY3k6KE5TU3RyaW5nICopbWVzc2FnZSBkZXNjcmlwdGlvbjooTlNTdHJpbmcgKilk
ZXNjcmlwdGlvbjsKIAogQGVuZAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29jb2EvRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCmluZGV4IGUyMmI4ZTEyZDY4NWRi
ODU0MDllMzcwZDFiYjNhODk4NjNmMmUzNDEuLjhiMDkzN2NmNmQxOTI3YWYzMGVhODMzZDYwZmRj
ZDY3MmE4MDhmOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9E
aWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCkBAIC01MSw2ICs1MSw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZShXZWJQYWdlUHJveHkqLCBjb25zdCBTdHJp
bmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24pIG92ZXJyaWRlOwogICAgIHZv
aWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6RGlhZ25v
c3RpY0xvZ2dpbmdSZXN1bHRUeXBlKSBvdmVycmlkZTsKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNN
ZXNzYWdlV2l0aFZhbHVlKFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29u
c3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgY29uc3QgU3RyaW5nJiB2YWx1ZSkgb3ZlcnJpZGU7Cisg
ICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koV2ViUGFnZVBy
b3h5KiwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uKSBv
dmVycmlkZTsKIAogICAgIFdLV2ViVmlldyAqbV93ZWJWaWV3OwogICAgIFdlYWtPYmpDUHRyPGlk
IDxfV0tEaWFnbm9zdGljTG9nZ2luZ0RlbGVnYXRlPj4gbV9kZWxlZ2F0ZTsKQEAgLTU5LDYgKzYw
LDcgQEAgcHJpdmF0ZToKICAgICAgICAgdW5zaWduZWQgd2Vidmlld0xvZ0RpYWdub3N0aWNNZXNz
YWdlIDogMTsKICAgICAgICAgdW5zaWduZWQgd2Vidmlld0xvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aFJlc3VsdCA6IDE7CiAgICAgICAgIHVuc2lnbmVkIHdlYnZpZXdMb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhWYWx1ZSA6IDE7CisgICAgICAgIHVuc2lnbmVkIHdlYnZpZXdMb2dEaWFnbm9zdGljTWVz
c2FnZVdpdGhFbmhhbmNlZFByaXZhY3kgOiAxOwogICAgIH0gbV9kZWxlZ2F0ZU1ldGhvZHM7CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvRGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQubW0KaW5kZXggMjMwOGRiYTZiNzk3M2ViY2ZiODQzYWE5OTViNjMx
NjNkNjVkZjgyNS4uYzE3ZWQ2M2ViNDkyZTlmOGViZDQ5OWY1MWI5ZjY3OWVhZmJjNjk5MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL0RpYWdub3N0aWNMb2dnaW5n
Q2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9EaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudC5tbQpAQCAtNTAsNiArNTAsNyBAQCB2b2lkIERpYWdub3N0aWNMb2dnaW5n
Q2xpZW50OjpzZXREZWxlZ2F0ZShpZCA8X1dLRGlhZ25vc3RpY0xvZ2dpbmdEZWxlZ2F0ZT4gZGVs
ZQogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYnZpZXdMb2dEaWFnbm9zdGljTWVzc2FnZSA9IFtk
ZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmxvZ0RpYWdub3N0
aWNNZXNzYWdlOmRlc2NyaXB0aW9uOildOwogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYnZpZXdM
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVj
dG9yOkBzZWxlY3Rvcihfd2ViVmlldzpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQ6ZGVz
Y3JpcHRpb246cmVzdWx0OildOwogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYnZpZXdMb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhWYWx1ZSA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKF93ZWJWaWV3OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlOmRlc2NyaXB0aW9u
OnZhbHVlOildOworICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYnZpZXdMb2dEaWFnbm9zdGljTWVz
c2FnZVdpdGhFbmhhbmNlZFByaXZhY3kgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3Rvcihfd2ViVmlldzpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3k6
ZGVzY3JpcHRpb246KV07CiB9CiAKIHZvaWQgRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0Rp
YWdub3N0aWNNZXNzYWdlKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgY29uc3QgV1RGOjpTdHJpbmcm
IG1lc3NhZ2UsIGNvbnN0IFdURjo6U3RyaW5nJiBkZXNjcmlwdGlvbikKQEAgLTgyLDYgKzgzLDEy
IEBAIHZvaWQgRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aFZhbHVlKFdlYktpdDo6V2ViUGFnZVByb3h5CiAgICAgICAgIFttX2RlbGVnYXRlLmdldCgpIF93
ZWJWaWV3Om1fd2ViVmlldyBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZTptZXNzYWdlIGRl
c2NyaXB0aW9uOmRlc2NyaXB0aW9uIHZhbHVlOnZhbHVlXTsKIH0KIAordm9pZCBEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KFdl
YktpdDo6V2ViUGFnZVByb3h5KiwgY29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFdU
Rjo6U3RyaW5nJiBkZXNjcmlwdGlvbikKK3sKKyAgICBpZiAobV9kZWxlZ2F0ZU1ldGhvZHMud2Vi
dmlld0xvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeSkKKyAgICAgICAgW21f
ZGVsZWdhdGUuZ2V0KCkgX3dlYlZpZXc6bV93ZWJWaWV3IGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aEVuaGFuY2VkUHJpdmFjeTptZXNzYWdlIGRlc2NyaXB0aW9uOmRlc2NyaXB0aW9uXTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBXS19BUElfRU5BQkxFRApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0Ns
aWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZURpYWdub3N0aWNMb2dn
aW5nQ2xpZW50LmNwcAppbmRleCBkOGU0MjYzY2Q2NGE5NjkwNDY2NGNlN2QxNTE4YzA2Njc0Zjg0
MzllLi5hNTQ3ZWFkNTI1MWFmMDAyN2IyODhiMTc5NDUxZTdhMjI3ODk2ZGJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZURpYWdub3N0aWNMb2dn
aW5nQ2xpZW50LmNwcApAQCAtNjEsNCArNjEsMTIgQEAgdm9pZCBXZWJQYWdlRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKFdlYlBhZ2VQcm94eSoK
ICAgICBtX2NsaWVudC5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZSh0b0FQSShwYWdlKSwg
dG9BUEkobWVzc2FnZS5pbXBsKCkpLCB0b0FQSShkZXNjcmlwdGlvbi5pbXBsKCkpLCB0b0FQSSh2
YWx1ZS5pbXBsKCkpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogfQogCit2b2lkIFdlYlBh
Z2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5j
ZWRQcml2YWN5KFdlYlBhZ2VQcm94eSogcGFnZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25z
dCBTdHJpbmcmIGRlc2NyaXB0aW9uKQoreworICAgIGlmICghbV9jbGllbnQubG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KQorICAgICAgICByZXR1cm47CisKKyAgICBtX2Ns
aWVudC5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3kodG9BUEkocGFnZSks
IHRvQVBJKG1lc3NhZ2UuaW1wbCgpKSwgdG9BUEkoZGVzY3JpcHRpb24uaW1wbCgpKSwgbV9jbGll
bnQuYmFzZS5jbGllbnRJbmZvKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZURpYWdub3N0aWNMb2dnaW5n
Q2xpZW50LmgKaW5kZXggOTU1NTdlZDNmNGJkYzM0MjQ4MzM0NjAxMDAwMjBhNjEwYjM3NGFkOS4u
YmFhZGMxNTI3Y2ZkZWJkMmU2Y2E1OTRjYzk5YzgzZGY5MzRlN2Y4YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQuaApAQCAtMzUsNyArMzUsNyBAQAogbmFtZXNwYWNlIEFQSSB7CiAKIHRlbXBsYXRlPD4gc3Ry
dWN0IENsaWVudFRyYWl0czxXS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudEJhc2U+IHsKLSAg
ICB0eXBlZGVmIHN0ZDo6dHVwbGU8V0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRWMD4gVmVy
c2lvbnM7CisgICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xp
ZW50VjAsIFdLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50VjE+IFZlcnNpb25zOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgQVBJCkBAIC01MSw2ICs1MSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGxv
Z0RpYWdub3N0aWNNZXNzYWdlKFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
Y29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbikgb3ZlcnJpZGU7CiAgICAgdm9pZCBsb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhSZXN1bHQoV2ViUGFnZVByb3h5KiwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpEaWFnbm9zdGljTG9nZ2luZ1Jl
c3VsdFR5cGUpIG92ZXJyaWRlOwogICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFs
dWUoV2ViUGFnZVByb3h5KiwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRl
c2NyaXB0aW9uLCBjb25zdCBTdHJpbmcmIHZhbHVlKSBvdmVycmlkZTsKKyAgICB2b2lkIGxvZ0Rp
YWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeShXZWJQYWdlUHJveHkqLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24pIG92ZXJyaWRlOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCmluZGV4IGQwNGYzYjI3ODE2YTVlYThkNzkyZjY5ZTFmMTYyMjc2MWI2MmEwNDAu
LmViY2M1MjM5ZTc2ZDg3NzU5MzMxY2YzZjE2YmEyZmVjNzc4MjM2NDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC01MTk1LDYgKzUxOTUsMTQgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgY29uc3QgU3QKICAgICBtX2RpYWdub3N0aWNMb2dnaW5nQ2xpZW50LT5sb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZSh0aGlzLCBtZXNzYWdlLCBkZXNjcmlwdGlvbiwgU3Ry
aW5nOjpudW1iZXIodmFsdWUsIHNpZ25pZmljYW50RmlndXJlcykpOwogfQogCit2b2lkIFdlYlBh
Z2VQcm94eTo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgU2hvdWxkU2FtcGxlIHNo
b3VsZFNhbXBsZSkKK3sKKyAgICBpZiAoIURpYWdub3N0aWNMb2dnaW5nQ2xpZW50OjpzaG91bGRM
b2dBZnRlclNhbXBsaW5nKHNob3VsZFNhbXBsZSkpCisgICAgICAgIHJldHVybjsKKworICAgIG1f
ZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQtPmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2Vk
UHJpdmFjeSh0aGlzLCBtZXNzYWdlLCBkZXNjcmlwdGlvbik7Cit9CisKIHZvaWQgV2ViUGFnZVBy
b3h5OjpyZWN0Rm9yQ2hhcmFjdGVyUmFuZ2VDYWxsYmFjayhjb25zdCBJbnRSZWN0JiByZWN0LCBj
b25zdCBFZGl0aW5nUmFuZ2UmIGFjdHVhbFJhbmdlLCB1aW50NjRfdCBjYWxsYmFja0lEKQogewog
ICAgIE1FU1NBR0VfQ0hFQ0soYWN0dWFsUmFuZ2UuaXNWYWxpZCgpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAxYWQxMzRkY2E2NmMzODliMWRkZWY1Mzg1OTI2
NzBmZThhZjZkMzM3Li5jYTM2MDY4N2VhMDM1NTU3YjQzMTdlMzA4NzliODNiODE2NjFjMmQ0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xMTMwLDYgKzExMzAs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZShjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFdlYkNvcmU6OlNob3VsZFNhbXBs
ZSk7CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQoY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCB1aW50MzJfdCByZXN1bHQsIFdl
YkNvcmU6OlNob3VsZFNhbXBsZSk7CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhW
YWx1ZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGRv
dWJsZSB2YWx1ZSwgdW5zaWduZWQgc2lnbmlmaWNhbnRGaWd1cmVzLCBXZWJDb3JlOjpTaG91bGRT
YW1wbGUpOworICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5
KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgV2ViQ29y
ZTo6U2hvdWxkU2FtcGxlKTsKIAogICAgIC8vIEZvcm0gdmFsaWRhdGlvbiBtZXNzYWdlcy4KICAg
ICB2b2lkIHNob3dWYWxpZGF0aW9uTWVzc2FnZShjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBhbmNo
b3JDbGllbnRSZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNzhjMzk3NWQ0ODMz
ZjJkNGRhZjU1NTFkMThhYjZkN2I4YzA0MmE5MS4uYTNmMGU0N2Y3ZGFmMDMzMjRkYzQ4OGZiMGMx
ZjUxODY0Zjg1Mjc1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yMzgsNiArMjM4LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFn
ZVByb3h5IHsKICAgICBMb2dEaWFnbm9zdGljTWVzc2FnZShTdHJpbmcgbWVzc2FnZSwgU3RyaW5n
IGRlc2NyaXB0aW9uLCBlbnVtIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCiAg
ICAgTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KFN0cmluZyBtZXNzYWdlLCBTdHJpbmcg
ZGVzY3JpcHRpb24sIHVpbnQzMl90IHJlc3VsdCwgZW51bSBXZWJDb3JlOjpTaG91bGRTYW1wbGUg
c2hvdWxkU2FtcGxlKQogICAgIExvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKFN0cmluZyBt
ZXNzYWdlLCBTdHJpbmcgZGVzY3JpcHRpb24sIGRvdWJsZSB2YWx1ZSwgdW5zaWduZWQgc2lnbmlm
aWNhbnRGaWd1cmVzLCBlbnVtIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1wbGUpCisg
ICAgTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KFN0cmluZyBtZXNzYWdl
LCBTdHJpbmcgZGVzY3JpcHRpb24sIGVudW0gV2ViQ29yZTo6U2hvdWxkU2FtcGxlIHNob3VsZFNh
bXBsZSkKIAogICAgICMgRWRpdG9yIG5vdGlmaWNhdGlvbnMKICAgICBFZGl0b3JTdGF0ZUNoYW5n
ZWQoc3RydWN0IFdlYktpdDo6RWRpdG9yU3RhdGUgZWRpdG9yU3RhdGUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dn
aW5nQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwCmluZGV4IDcwZDBmMGQ1ZGI1NDIzMjEyOTA2
OGFmMzIyYzEwMTljNjAwMzQxNzEuLmE1ZjM0NDBiZDI5ZWJlMzk4MDExYWFhYzA3ZDg3MWY4ZDNj
NTgyMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwCkBA
IC03Myw0ICs3MywxNCBAQCB2b2lkIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhWYWx1ZShjb25zdCBTdHJpbmcmIG1lcwogICAgIG1fcGFnZS5zZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKG1l
c3NhZ2UsIGRlc2NyaXB0aW9uLCB2YWx1ZSwgc2lnbmlmaWNhbnRGaWd1cmVzLCBTaG91bGRTYW1w
bGU6Ok5vKSk7CiB9CiAKK3ZvaWQgV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNv
bnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91bGRTYW1w
bGUpCit7CisgICAgQVNTRVJUKCFtX3BhZ2UuY29yZVBhZ2UoKSB8fCBtX3BhZ2UuY29yZVBhZ2Uo
KS0+c2V0dGluZ3MoKS5kaWFnbm9zdGljTG9nZ2luZ0VuYWJsZWQoKSk7CisKKyAgICBpZiAoIXNo
b3VsZExvZ0FmdGVyU2FtcGxpbmcoc2hvdWxkU2FtcGxlKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TG9nRGlhZ25vc3RpY01lc3Nh
Z2VXaXRoRW5oYW5jZWRQcml2YWN5KG1lc3NhZ2UsIGRlc2NyaXB0aW9uLCBTaG91bGRTYW1wbGU6
Ok5vKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVu
dC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9z
dGljTG9nZ2luZ0NsaWVudC5oCmluZGV4IDZmZWQ0ZmRhYTQxNjgzODliODc3MDA1OWU1NTdiM2Fl
ZGZhOWMwY2QuLjBiN2U1NDVmZGE2NjAzYzZiZTI4OGQ2YTcwYjExNmUzNjVlYzkyZTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKQEAgLTQyLDYgKzQyLDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlKSBv
dmVycmlkZTsKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFdlYkNvcmU6OkRpYWdu
b3N0aWNMb2dnaW5nUmVzdWx0VHlwZSwgV2ViQ29yZTo6U2hvdWxkU2FtcGxlKSBvdmVycmlkZTsK
ICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgZG91YmxlIHZhbHVlLCB1bnNpZ25lZCBz
aWduaWZpY2FudEZpZ3VyZXMsIFdlYkNvcmU6OlNob3VsZFNhbXBsZSkgb3ZlcnJpZGU7CisgICAg
dm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpTaG91bGRTYW1w
bGUpIG92ZXJyaWRlOwogCiAgICAgV2ViUGFnZSYgbV9wYWdlOwogfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300848</attachid>
            <date>2017-02-07 13:57:18 -0800</date>
            <delta_ts>2017-02-08 07:41:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167948-20170207135456.patch</filename>
            <type>text/plain</type>
            <size>23701</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExNzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTU3Zjk5M2U2N2JjM2Fj
OGQwZDk0NDQ5ZmRiMDUyNjhhMGIzY2FhMi4uYTM0NTgyYmRkZThmYTU0ODNlMDcwOWE0OThkZTIz
MWJlY2Q4ZGI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE3LTAyLTA3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGVu
aGFuY2VkIHByaXZhY3kgZGlhZ25vc3RpYyBsb2dnaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc5NDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzMwMzg1MTEyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBuZXcgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KCkgbWV0
aG9kIHRvIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50CisgICAgICAgIHRoYXQgaXMgdXNlZCBmb3Ig
ZW5oYW5jZWQgcHJpdmFjeSBsb2dnaW5nLiBTdGFydCB1c2luZyB0aGlzIG5ldyBBUEkgdG8gbG9n
IGRvbWFpbnMKKyAgICAgICAgdGhhdCBhcmUgdmlzaXRlZC4KKworICAgICAgICAqIGxvYWRlci9F
bXB0eUNsaWVudHMuY3BwOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpsb2dOYXZpZ2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9h
ZGVyOjpsb2FkV2l0aERvY3VtZW50TG9hZGVyKToKKyAgICAgICAgKiBwYWdlL0RpYWdub3N0aWNM
b2dnaW5nQ2xpZW50Lmg6CisgICAgICAgICogcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dpbmdLZXlzOjpkb21haW5WaXNpdGVk
S2V5KToKKyAgICAgICAgKiBwYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5oOgorCiAyMDE3LTAy
LTA2ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CiAKICAgICAg
ICAgQ2hhbmdlIHRoZSBDU1MgYW5pbWF0aW9uIHRpbWVyIGEgdG8gYmUgbGl0dGxlIG1vcmUgdGhh
biA2MGZwcyB0byBlbnN1cmUgd2UgaGl0IHRoYXQgZnJhbWUgcmF0ZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDU1
MDkwMWZiY2VkMTI0YTA1NGU0NTM2YzFlOWJmZjEwZGQyOGNkNzEuLjRlNzRkNjNiZWE4MjFkOWEx
OGYzYTdhMDI3ZWRjNjllMzdmNTFlMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAx
Ny0wMi0wNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBz
dXBwb3J0IGZvciBlbmhhbmNlZCBwcml2YWN5IGRpYWdub3N0aWMgbG9nZ2luZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3OTQ4CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8zMDM4NTExMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgbmV3IERpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojps
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koKQorICAgICAgICB2aXJ0dWFs
IG1ldGhvZCBvbiBXZWJLaXQyIGFuZCBleHBvc2UgaXQgdG8gdGhlIGNsaWVudCB2aWEgdGhlIFdL
UGFnZURpYWdub3N0aWNMb2dnaW5nCisgICAgICAgIGRlbGVnYXRlLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9BUElEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oOgorICAgICAgICAoQVBJOjpE
aWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQ
cml2YWN5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0RpYWdub3N0aWNM
b2dnaW5nRGVsZWdhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQubW06CisgICAgICAgIChXZWJLaXQ6OkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpz
ZXREZWxlZ2F0ZSk6CisgICAgICAgIChXZWJLaXQ6OkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojps
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3kpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aEVuaGFuY2VkUHJpdmFjeSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVu
aGFuY2VkUHJpdmFjeSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGlj
TWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3kpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaDoKKwogMjAxNy0wMi0wNiAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIGNoaWxk
IHByb2Nlc3NlcyBpZiB0aGV5IHJlY2VpdmUgYW4gaW52YWxpZCBtZXNzYWdlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IGYwMGZkMDA0MjllNTcwYTIyYWFhY2VhMzU5
Yjc3MTk5MTc2YWRkYjMuLjJmNGVkMjNjYWE3MjI3YWQ0MGMyNGJiNTg5NTQ0ZjRmYWU5YWJmNDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC0xMjEsNiArMTIxLDcg
QEAgY2xhc3MgRW1wdHlEaWFnbm9zdGljTG9nZ2luZ0NsaWVudCBmaW5hbCA6IHB1YmxpYyBEaWFn
bm9zdGljTG9nZ2luZ0NsaWVudCB7CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZShjb25z
dCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBTaG91bGRTYW1wbGUpIGZpbmFsIHsgfQogICAgIHZv
aWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0
cmluZyYsIERpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZSwgU2hvdWxkU2FtcGxlKSBmaW5hbCB7
IH0KICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYs
IGNvbnN0IFN0cmluZyYsIGRvdWJsZSwgdW5zaWduZWQsIFNob3VsZFNhbXBsZSkgZmluYWwgeyB9
CisgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koY29uc3Qg
U3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgU2hvdWxkU2FtcGxlKSBmaW5hbCB7IH0KIH07CiAKICNp
ZiBFTkFCTEUoRFJBR19TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAK
aW5kZXggNGEwODI3OWM4MjkwMmEzMDQyZTNmNWIwNDQwOGZhMDdlZjM4OTY3NS4uZTY2NTgyZTRm
Y2YyZGY0ZWY4NmE2Y2JlMTM3MzhlMjVmOThlNGUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwCkBAIC05NSw2ICs5NSw3IEBACiAjaW5jbHVkZSAiUGx1Z2luRG9jdW1lbnQu
aCIKICNpbmNsdWRlICJQb2xpY3lDaGVja2VyLmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2Vy
LmgiCisjaW5jbHVkZSAiUHVibGljU3VmZml4LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUu
aCIKICNpbmNsdWRlICJSZXNvdXJjZUxvYWRJbmZvLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2Fk
T2JzZXJ2ZXIuaCIKQEAgLTEzNjgsNyArMTM2OSw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWQo
RG9jdW1lbnRMb2FkZXIqIG5ld0RvY3VtZW50TG9hZGVyKQogICAgIGxvYWRXaXRoRG9jdW1lbnRM
b2FkZXIobmV3RG9jdW1lbnRMb2FkZXIsIHR5cGUsIDAsIEFsbG93TmF2aWdhdGlvblRvSW52YWxp
ZFVSTDo6WWVzKTsKIH0KIAotc3RhdGljIHZvaWQgbG9nTmF2aWdhdGlvbihNYWluRnJhbWUmIGZy
YW1lLCBGcmFtZUxvYWRUeXBlIHR5cGUpCitzdGF0aWMgdm9pZCBsb2dOYXZpZ2F0aW9uKE1haW5G
cmFtZSYgZnJhbWUsIGNvbnN0IFVSTCYgZGVzdGluYXRpb25VUkwsIEZyYW1lTG9hZFR5cGUgdHlw
ZSkKIHsKICAgICBpZiAoIWZyYW1lLnBhZ2UoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTQwMiw2
ICsxNDAzLDExIEBAIHN0YXRpYyB2b2lkIGxvZ05hdmlnYXRpb24oTWFpbkZyYW1lJiBmcmFtZSwg
RnJhbWVMb2FkVHlwZSB0eXBlKQogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIGZyYW1lLnBh
Z2UoKS0+ZGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQoKS5sb2dEaWFnbm9zdGljTWVzc2FnZShEaWFn
bm9zdGljTG9nZ2luZ0tleXM6Om5hdmlnYXRpb25LZXkoKSwgbmF2aWdhdGlvbkRlc2NyaXB0aW9u
LCBTaG91bGRTYW1wbGU6Ok5vKTsKKyNpZiBFTkFCTEUoUFVCTElDX1NVRkZJWF9MSVNUKQorICAg
IFN0cmluZyBkb21haW4gPSB0b3BQcml2YXRlbHlDb250cm9sbGVkRG9tYWluKGRlc3RpbmF0aW9u
VVJMLmhvc3QoKSk7CisgICAgaWYgKCFkb21haW4uaXNFbXB0eSgpKQorICAgICAgICBmcmFtZS5w
YWdlKCktPmRpYWdub3N0aWNMb2dnaW5nQ2xpZW50KCkubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
RW5oYW5jZWRQcml2YWN5KERpYWdub3N0aWNMb2dnaW5nS2V5czo6ZG9tYWluVmlzaXRlZEtleSgp
LCBkb21haW4sIFNob3VsZFNhbXBsZTo6Tm8pOworI2VuZGlmCiB9CiAKIHZvaWQgRnJhbWVMb2Fk
ZXI6OmxvYWRXaXRoRG9jdW1lbnRMb2FkZXIoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgRnJhbWVM
b2FkVHlwZSB0eXBlLCBGb3JtU3RhdGUqIGZvcm1TdGF0ZSwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZh
bGlkVVJMIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCkKQEAgLTE0MjIsMTYgKzE0MjgsMTcg
QEAgdm9pZCBGcmFtZUxvYWRlcjo6bG9hZFdpdGhEb2N1bWVudExvYWRlcihEb2N1bWVudExvYWRl
ciogbG9hZGVyLCBGcmFtZUxvYWRUeXBlIHQKICAgICBpZiAobV9mcmFtZS5kb2N1bWVudCgpKQog
ICAgICAgICBtX3ByZXZpb3VzVVJMID0gbV9mcmFtZS5kb2N1bWVudCgpLT51cmwoKTsKIAorICAg
IGNvbnN0IFVSTCYgbmV3VVJMID0gbG9hZGVyLT5yZXF1ZXN0KCkudXJsKCk7CisKICAgICAvLyBM
b2cgbWFpbiBmcmFtZSBuYXZpZ2F0aW9uIHR5cGVzLgogICAgIGlmIChtX2ZyYW1lLmlzTWFpbkZy
YW1lKCkpIHsKLSAgICAgICAgbG9nTmF2aWdhdGlvbihzdGF0aWNfY2FzdDxNYWluRnJhbWUmPiht
X2ZyYW1lKSwgdHlwZSk7CisgICAgICAgIGxvZ05hdmlnYXRpb24oc3RhdGljX2Nhc3Q8TWFpbkZy
YW1lJj4obV9mcmFtZSksIG5ld1VSTCwgdHlwZSk7CiAgICAgICAgIHN0YXRpY19jYXN0PE1haW5G
cmFtZSY+KG1fZnJhbWUpLnBlcmZvcm1hbmNlTG9nZ2luZygpLmRpZFJlYWNoUG9pbnRPZkludGVy
ZXN0KFBlcmZvcm1hbmNlTG9nZ2luZzo6TWFpbkZyYW1lTG9hZFN0YXJ0ZWQpOwogICAgIH0KIAog
ICAgIHBvbGljeUNoZWNrZXIoKS5zZXRMb2FkVHlwZSh0eXBlKTsKICAgICBib29sIGlzRm9ybVN1
Ym1pc3Npb24gPSBmb3JtU3RhdGU7CiAKLSAgICBjb25zdCBVUkwmIG5ld1VSTCA9IGxvYWRlci0+
cmVxdWVzdCgpLnVybCgpOwogICAgIGNvbnN0IFN0cmluZyYgaHR0cE1ldGhvZCA9IGxvYWRlci0+
cmVxdWVzdCgpLmh0dHBNZXRob2QoKTsKIAogICAgIGlmIChzaG91bGRQZXJmb3JtRnJhZ21lbnRO
YXZpZ2F0aW9uKGlzRm9ybVN1Ym1pc3Npb24sIGh0dHBNZXRob2QsIHBvbGljeUNoZWNrZXIoKS5s
b2FkVHlwZSgpLCBuZXdVUkwpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Rp
YWdub3N0aWNMb2dnaW5nQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNM
b2dnaW5nQ2xpZW50LmgKaW5kZXggMGI1YmE5M2Q1MzhlN2Q5ZWRkOGU2Nzk4MTNjMzE5OThiZGVm
MDVkZS4uMDA1OTZjNzhiYmVjMzBkMGMxZWI3NDNkZDJiNzNkMTc4MjQxN2RhNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaApAQCAtNDAsNiArNDAs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlKGNvbnN0
IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgU2hvdWxkU2FtcGxl
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChj
b25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIERpYWdub3N0
aWNMb2dnaW5nUmVzdWx0VHlwZSwgU2hvdWxkU2FtcGxlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29u
c3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgZG91YmxlIHZhbHVlLCB1bnNpZ25lZCBzaWduaWZpY2Fu
dEZpZ3VyZXMsIFNob3VsZFNhbXBsZSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBsb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25z
dCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBTaG91bGRTYW1wbGUpID0gMDsKIAogICAgIHN0YXRpYyBi
b29sIHNob3VsZExvZ0FmdGVyU2FtcGxpbmcoU2hvdWxkU2FtcGxlKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuY3BwCmluZGV4IDEwNGZkMDU4ZjVhOTE4
ZDU3ZWM5NTc2Nzk0NmUzYjY5ODlhODg0NjEuLjQxNzIzOTI0MDc1MjQ5NTU0N2M4ZTFkZDZkNTk4
ZWZhOWEzMGM3ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlhZ25vc3RpY0xv
Z2dpbmdLZXlzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5n
S2V5cy5jcHAKQEAgLTM0Myw2ICszNDMsMTEgQEAgU3RyaW5nIERpYWdub3N0aWNMb2dnaW5nS2V5
czo6ZG9jdW1lbnRMb2FkZXJTdG9wcGluZ0tleSgpCiAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgi
ZG9jdW1lbnRMb2FkZXJTdG9wcGluZyIpOwogfQogCitTdHJpbmcgRGlhZ25vc3RpY0xvZ2dpbmdL
ZXlzOjpkb21haW5WaXNpdGVkS2V5KCkKK3sKKyAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJEb21h
aW5WaXNpdGVkIik7Cit9CisKIFN0cmluZyBEaWFnbm9zdGljTG9nZ2luZ0tleXM6OmNhbm5vdFN1
c3BlbmRBY3RpdmVET01PYmplY3RzS2V5KCkKIHsKICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJj
YW5ub3RTdXNwZW5kQWN0aXZlRE9NT2JqZWN0cyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGlh
Z25vc3RpY0xvZ2dpbmdLZXlzLmgKaW5kZXggMzE5ZjZkOWU4N2M0ZjJlMGQ4NjdiZDRiYjk0MDcz
ZjM0NDQzNmU1NS4uYjhjMmEwYmU0MTFlZTdlYjY2MmI2ZTUxNDQ0OTI4OWZmZmExOWE3ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EaWFnbm9zdGljTG9nZ2luZ0tleXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RpYWdub3N0aWNMb2dnaW5nS2V5cy5oCkBAIC01MCw2ICs1
MCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3RyaW5nIGRpc2tDYWNoZUtleSgpOwogICAgIHN0
YXRpYyBTdHJpbmcgZGlza0NhY2hlQWZ0ZXJWYWxpZGF0aW9uS2V5KCk7CiAgICAgc3RhdGljIFN0
cmluZyBkb2N1bWVudExvYWRlclN0b3BwaW5nS2V5KCk7CisgICAgc3RhdGljIFN0cmluZyBkb21h
aW5WaXNpdGVkS2V5KCk7CiAgICAgc3RhdGljIFN0cmluZyBlbmdpbmVGYWlsZWRUb0xvYWRLZXko
KTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgU3RyaW5nIGVudHJ5UmlnaHRseU5vdFdhcm1l
ZFVwS2V5KCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFN0cmluZyBlbnRyeVdyb25nbHlO
b3RXYXJtZWRVcEtleSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9BUElEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9BUElEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCmluZGV4IGY1NGEwYjFhZDY1ZWJmMTEw
NGM0NjQ3N2Y0NTNhYWU3NjkyNDczNjQuLmU5OWU3NDdmZjY5ZWM1NTljYWY0NGUyMGE1MmUwZWQw
Mzg3MzQwYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0FQSURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKQEAgLTQyLDYgKzQyLDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZShXZWJLaXQ6OldlYlBhZ2VQcm94
eSosIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBjb25zdCBXVEY6OlN0cmluZyYgZGVzY3Jp
cHRpb24pIHsgVU5VU0VEX1BBUkFNKG1lc3NhZ2UpOyBVTlVTRURfUEFSQU0oZGVzY3JpcHRpb24p
OyB9CiAgICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChXZWJL
aXQ6OldlYlBhZ2VQcm94eSosIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBjb25zdCBXVEY6
OlN0cmluZyYgZGVzY3JpcHRpb24sIFdlYkNvcmU6OkRpYWdub3N0aWNMb2dnaW5nUmVzdWx0VHlw
ZSkgeyBVTlVTRURfUEFSQU0obWVzc2FnZSk7IFVOVVNFRF9QQVJBTShkZXNjcmlwdGlvbik7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoV2ViS2l0OjpX
ZWJQYWdlUHJveHkqLCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgY29uc3QgV1RGOjpTdHJp
bmcmIGRlc2NyaXB0aW9uLCBjb25zdCBXVEY6OlN0cmluZyYgdmFsdWUpIHsgVU5VU0VEX1BBUkFN
KG1lc3NhZ2UpOyBVTlVTRURfUEFSQU0oZGVzY3JpcHRpb24pOyBVTlVTRURfUEFSQU0odmFsdWUp
OyB9CisgICAgdmlydHVhbCB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJp
dmFjeShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBj
b25zdCBXVEY6OlN0cmluZyYgZGVzY3JpcHRpb24pIHsgVU5VU0VEX1BBUkFNKG1lc3NhZ2UpOyBV
TlVTRURfUEFSQU0oZGVzY3JpcHRpb24pOyB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBBUEkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZURp
YWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKaW5kZXggOWJiMGIzNmU5NDIxZjlkMGNiNWU3OWVmM2E0
OTJhNmMzMjA3YTIzZi4uOGFlNTEzYTNiZGRjY2E3YzRlMDk0OGExNzYxMGQ5MjQ2MTUxMWJkOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZURpYWdub3N0
aWNMb2dnaW5nQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKQEAgLTM2LDYgKzM2LDcgQEAgZXh0ZXJuICJD
IiB7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VMb2dEaWFnbm9zdGljTWVzc2FnZUNhbGxiYWNrKShX
S1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tTdHJpbmdSZWYgZGVzY3JpcHRp
b24sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlTG9nRGlh
Z25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmlu
Z1JlZiBtZXNzYWdlLCBXS1N0cmluZ1JlZiBkZXNjcmlwdGlvbiwgV0tEaWFnbm9zdGljTG9nZ2lu
Z1Jlc3VsdFR5cGUgcmVzdWx0LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9p
ZCAoKldLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFZhbHVlQ2FsbGJhY2spKFdLUGFnZVJl
ZiBwYWdlLCBXS1N0cmluZ1JlZiBtZXNzYWdlLCBXS1N0cmluZ1JlZiBkZXNjcmlwdGlvbiwgV0tT
dHJpbmdSZWYgdmFsdWUsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwordHlwZWRlZiB2b2lkICgq
V0tQYWdlTG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5Q2FsbGJhY2spKFdL
UGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBtZXNzYWdlLCBXS1N0cmluZ1JlZiBkZXNjcmlwdGlv
biwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKIHR5cGVkZWYgc3RydWN0IFdLUGFnZURpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50QmFzZSB7CiAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CkBAIC01MSw2
ICs1MiwxOCBAQCB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudFYw
IHsKICAgICBXS1BhZ2VMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZUNhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICAgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWU7CiB9IFdLUGFn
ZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50VjA7CiAKK3R5cGVkZWYgc3RydWN0IFdLUGFnZURpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50VjEgeworICAgIFdLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50
QmFzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlOworCisgICAgLy8gVmVy
c2lvbiAwLgorICAgIFdLUGFnZUxvZ0RpYWdub3N0aWNNZXNzYWdlQ2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsb2dEaWFnbm9zdGljTWVzc2FnZTsKKyAgICBXS1BhZ2VM
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0OworICAgIFdLUGFnZUxvZ0RpYWdub3N0
aWNNZXNzYWdlV2l0aFZhbHVlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICBsb2dEaWFn
bm9zdGljTWVzc2FnZVdpdGhWYWx1ZTsKKworICAgIC8vIFZlcnNpb24gMS4KKyAgICBXS1BhZ2VM
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3lDYWxsYmFjayAgICAgICAgICAg
ICAgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5OworfSBXS1BhZ2VEaWFn
bm9zdGljTG9nZ2luZ0NsaWVudFYxOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tEaWFnbm9z
dGljTG9nZ2luZ0RlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS0RpYWdub3N0aWNMb2dnaW5nRGVsZWdhdGUuaAppbmRleCAwZTJhMWI5YjM5ZGRmYTYwOTFl
MGZkNGI5Mzc3NjhkNTBlYWE0NTE2Li45YzU3OWQ5YWMyMWMxMjQ1MjliZGQ5ODg1Mzc0OTNkN2M2
Y2E3NTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S0RpYWdub3N0aWNMb2dnaW5nRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS0RpYWdub3N0aWNMb2dnaW5nRGVsZWdhdGUuaApAQCAtNDEsNiArNDEs
NyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3Vs
dFR5cGUpIHsKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgbG9nRGlhZ25v
c3RpY01lc3NhZ2U6KE5TU3RyaW5nICopbWVzc2FnZSBkZXNjcmlwdGlvbjooTlNTdHJpbmcgKilk
ZXNjcmlwdGlvbjsKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgbG9nRGlh
Z25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0OihOU1N0cmluZyAqKW1lc3NhZ2UgZGVzY3JpcHRpb246
KE5TU3RyaW5nICopZGVzY3JpcHRpb24gcmVzdWx0OihfV0tEaWFnbm9zdGljTG9nZ2luZ1Jlc3Vs
dFR5cGUpcmVzdWx0OwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBsb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZTooTlNTdHJpbmcgKiltZXNzYWdlIGRlc2NyaXB0aW9u
OihOU1N0cmluZyAqKWRlc2NyaXB0aW9uIHZhbHVlOihOU1N0cmluZyAqKSB2YWx1ZTsKKy0gKHZv
aWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRo
RW5oYW5jZWRQcml2YWN5OihOU1N0cmluZyAqKW1lc3NhZ2UgZGVzY3JpcHRpb246KE5TU3RyaW5n
ICopZGVzY3JpcHRpb247CiAKIEBlbmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0NvY29hL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29jb2EvRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaAppbmRleCBlMjJiOGUxMmQ2
ODVkYjg1NDA5ZTM3MGQxYmIzYTg5ODYzZjJlMzQxLi44YjA5MzdjZjZkMTkyN2FmMzBlYTgzM2Q2
MGZkY2Q2NzJhODA4Zjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29j
b2EvRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29jb2EvRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaApAQCAtNTEsNiArNTEsNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2UoV2ViUGFnZVByb3h5KiwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uKSBvdmVycmlkZTsKICAg
ICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChXZWJQYWdlUHJveHkqLCBjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFdlYkNvcmU6OkRp
YWdub3N0aWNMb2dnaW5nUmVzdWx0VHlwZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBsb2dEaWFnbm9z
dGljTWVzc2FnZVdpdGhWYWx1ZShXZWJQYWdlUHJveHkqLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGNvbnN0IFN0cmluZyYgdmFsdWUpIG92ZXJyaWRl
OworICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KFdlYlBh
Z2VQcm94eSosIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlv
bikgb3ZlcnJpZGU7CiAKICAgICBXS1dlYlZpZXcgKm1fd2ViVmlldzsKICAgICBXZWFrT2JqQ1B0
cjxpZCA8X1dLRGlhZ25vc3RpY0xvZ2dpbmdEZWxlZ2F0ZT4+IG1fZGVsZWdhdGU7CkBAIC01OSw2
ICs2MCw3IEBAIHByaXZhdGU6CiAgICAgICAgIHVuc2lnbmVkIHdlYnZpZXdMb2dEaWFnbm9zdGlj
TWVzc2FnZSA6IDE7CiAgICAgICAgIHVuc2lnbmVkIHdlYnZpZXdMb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhSZXN1bHQgOiAxOwogICAgICAgICB1bnNpZ25lZCB3ZWJ2aWV3TG9nRGlhZ25vc3RpY01l
c3NhZ2VXaXRoVmFsdWUgOiAxOworICAgICAgICB1bnNpZ25lZCB3ZWJ2aWV3TG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5IDogMTsKICAgICB9IG1fZGVsZWdhdGVNZXRob2Rz
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL0RpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL0Rp
YWdub3N0aWNMb2dnaW5nQ2xpZW50Lm1tCmluZGV4IDIzMDhkYmE2Yjc5NzNlYmNmYjg0M2FhOTk1
YjYzMTYzZDY1ZGY4MjUuLmMxN2VkNjNlYjQ5MmU5ZjhlYmQ0OTlmNTFiOWY2NzllYWZiYzY5OTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9EaWFnbm9zdGljTG9n
Z2luZ0NsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvRGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQubW0KQEAgLTUwLDYgKzUwLDcgQEAgdm9pZCBEaWFnbm9zdGljTG9n
Z2luZ0NsaWVudDo6c2V0RGVsZWdhdGUoaWQgPF9XS0RpYWdub3N0aWNMb2dnaW5nRGVsZWdhdGU+
IGRlbGUKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJ2aWV3TG9nRGlhZ25vc3RpY01lc3NhZ2Ug
PSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpsb2dEaWFn
bm9zdGljTWVzc2FnZTpkZXNjcmlwdGlvbjopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJ2
aWV3TG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9T
ZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0
OmRlc2NyaXB0aW9uOnJlc3VsdDopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJ2aWV3TG9n
RGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9y
OkBzZWxlY3Rvcihfd2ViVmlldzpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZTpkZXNjcmlw
dGlvbjp2YWx1ZTopXTsKKyAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJ2aWV3TG9nRGlhZ25vc3Rp
Y01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3Rv
cjpAc2VsZWN0b3IoX3dlYlZpZXc6bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2
YWN5OmRlc2NyaXB0aW9uOildOwogfQogCiB2b2lkIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojps
b2dEaWFnbm9zdGljTWVzc2FnZShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIGNvbnN0IFdURjo6U3Ry
aW5nJiBtZXNzYWdlLCBjb25zdCBXVEY6OlN0cmluZyYgZGVzY3JpcHRpb24pCkBAIC04Miw2ICs4
MywxMiBAQCB2b2lkIERpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhWYWx1ZShXZWJLaXQ6OldlYlBhZ2VQcm94eQogICAgICAgICBbbV9kZWxlZ2F0ZS5nZXQo
KSBfd2ViVmlldzptX3dlYlZpZXcgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWU6bWVzc2Fn
ZSBkZXNjcmlwdGlvbjpkZXNjcmlwdGlvbiB2YWx1ZTp2YWx1ZV07CiB9CiAKK3ZvaWQgRGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFj
eShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlLCBjb25z
dCBXVEY6OlN0cmluZyYgZGVzY3JpcHRpb24pCit7CisgICAgaWYgKG1fZGVsZWdhdGVNZXRob2Rz
LndlYnZpZXdMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3kpCisgICAgICAg
IFttX2RlbGVnYXRlLmdldCgpIF93ZWJWaWV3Om1fd2ViVmlldyBsb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhFbmhhbmNlZFByaXZhY3k6bWVzc2FnZSBkZXNjcmlwdGlvbjpkZXNjcmlwdGlvbl07Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dp
bmdDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudC5jcHAKaW5kZXggZDhlNDI2M2NkNjRhOTY5MDQ2NjRjZTdkMTUxOGMwNjY3
NGY4NDM5ZS4uYTU0N2VhZDUyNTFhZjAwMjdiMjg4YjE3OTQ1MWU3YTIyNzg5NmRiYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0Ns
aWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudC5jcHAKQEAgLTYxLDQgKzYxLDEyIEBAIHZvaWQgV2ViUGFnZURpYWdub3N0
aWNMb2dnaW5nQ2xpZW50Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShXZWJQYWdlUHJv
eHkqCiAgICAgbV9jbGllbnQubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUodG9BUEkocGFn
ZSksIHRvQVBJKG1lc3NhZ2UuaW1wbCgpKSwgdG9BUEkoZGVzY3JpcHRpb24uaW1wbCgpKSwgdG9B
UEkodmFsdWUuaW1wbCgpKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKIH0KIAordm9pZCBX
ZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQ6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVu
aGFuY2VkUHJpdmFjeShXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwg
Y29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbikKK3sKKyAgICBpZiAoIW1fY2xpZW50LmxvZ0RpYWdu
b3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
bV9jbGllbnQubG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KHRvQVBJKHBh
Z2UpLCB0b0FQSShtZXNzYWdlLmltcGwoKSksIHRvQVBJKGRlc2NyaXB0aW9uLmltcGwoKSksIG1f
Y2xpZW50LmJhc2UuY2xpZW50SW5mbyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VEaWFnbm9zdGljTG9nZ2lu
Z0NsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VEaWFnbm9zdGljTG9n
Z2luZ0NsaWVudC5oCmluZGV4IDk1NTU3ZWQzZjRiZGMzNDI0ODMzNDYwMTAwMDIwYTYxMGIzNzRh
ZDkuLmJhYWRjMTUyN2NmZGViZDJlNmNhNTk0Y2M5OWM4M2RmOTM0ZTdmOGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZURpYWdub3N0aWNMb2dnaW5n
Q2xpZW50LmgKQEAgLTM1LDcgKzM1LDcgQEAKIG5hbWVzcGFjZSBBUEkgewogCiB0ZW1wbGF0ZTw+
IHN0cnVjdCBDbGllbnRUcmFpdHM8V0tQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnRCYXNlPiB7
Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdLUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50VjA+
IFZlcnNpb25zOworICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxXS1BhZ2VEaWFnbm9zdGljTG9nZ2lu
Z0NsaWVudFYwLCBXS1BhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudFYxPiBWZXJzaW9uczsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIEFQSQpAQCAtNTEsNiArNTEsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBsb2dEaWFnbm9zdGljTWVzc2FnZShXZWJQYWdlUHJveHkqLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24pIG92ZXJyaWRlOwogICAgIHZvaWQgbG9nRGlh
Z25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6RGlhZ25vc3RpY0xvZ2dp
bmdSZXN1bHRUeXBlKSBvdmVycmlkZTsKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0
aFZhbHVlKFdlYlBhZ2VQcm94eSosIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5n
JiBkZXNjcmlwdGlvbiwgY29uc3QgU3RyaW5nJiB2YWx1ZSkgb3ZlcnJpZGU7CisgICAgdm9pZCBs
b2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koV2ViUGFnZVByb3h5KiwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uKSBvdmVycmlkZTsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAppbmRleCBkMDRmM2IyNzgxNmE1ZWE4ZDc5MmY2OWUxZjE2MjI3NjFiNjJh
MDQwLi5lYmNjNTIzOWU3NmQ4Nzc1OTMzMWNmM2YxNmJhMmZlYzc3ODIzNjQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNTE5NSw2ICs1MTk1LDE0IEBA
IHZvaWQgV2ViUGFnZVByb3h5Ojpsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0CiAgICAgbV9kaWFnbm9zdGljTG9nZ2luZ0NsaWVudC0+
bG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUodGhpcywgbWVzc2FnZSwgZGVzY3JpcHRpb24s
IFN0cmluZzo6bnVtYmVyKHZhbHVlLCBzaWduaWZpY2FudEZpZ3VyZXMpKTsKIH0KIAordm9pZCBX
ZWJQYWdlUHJveHk6OmxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeShjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFNob3VsZFNhbXBs
ZSBzaG91bGRTYW1wbGUpCit7CisgICAgaWYgKCFEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6c2hv
dWxkTG9nQWZ0ZXJTYW1wbGluZyhzaG91bGRTYW1wbGUpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBtX2RpYWdub3N0aWNMb2dnaW5nQ2xpZW50LT5sb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhFbmhh
bmNlZFByaXZhY3kodGhpcywgbWVzc2FnZSwgZGVzY3JpcHRpb24pOworfQorCiB2b2lkIFdlYlBh
Z2VQcm94eTo6cmVjdEZvckNoYXJhY3RlclJhbmdlQ2FsbGJhY2soY29uc3QgSW50UmVjdCYgcmVj
dCwgY29uc3QgRWRpdGluZ1JhbmdlJiBhY3R1YWxSYW5nZSwgdWludDY0X3QgY2FsbGJhY2tJRCkK
IHsKICAgICBNRVNTQUdFX0NIRUNLKGFjdHVhbFJhbmdlLmlzVmFsaWQoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMWFkMTM0ZGNhNjZjMzg5YjFkZGVmNTM4
NTkyNjcwZmU4YWY2ZDMzNy4uY2EzNjA2ODdlYTAzNTU1N2I0MzE3ZTMwODc5YjgzYjgxNjYxYzJk
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTEzMCw2ICsx
MTMwLDcgQEAgcHVibGljOgogICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2UoY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpTaG91bGRT
YW1wbGUpOwogICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgdWludDMyX3QgcmVzdWx0
LCBXZWJDb3JlOjpTaG91bGRTYW1wbGUpOwogICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VX
aXRoVmFsdWUoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9u
LCBkb3VibGUgdmFsdWUsIHVuc2lnbmVkIHNpZ25pZmljYW50RmlndXJlcywgV2ViQ29yZTo6U2hv
dWxkU2FtcGxlKTsKKyAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJp
dmFjeShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFdl
YkNvcmU6OlNob3VsZFNhbXBsZSk7CiAKICAgICAvLyBGb3JtIHZhbGlkYXRpb24gbWVzc2FnZXMu
CiAgICAgdm9pZCBzaG93VmFsaWRhdGlvbk1lc3NhZ2UoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYg
YW5jaG9yQ2xpZW50UmVjdCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDc4YzM5NzVk
NDgzM2YyZDRkYWY1NTUxZDE4YWI2ZDdiOGMwNDJhOTEuLmEzZjBlNDdmN2RhZjAzMzI0ZGM0ODhm
YjBjMWY1MTg2NGY4NTI3NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjM4LDYgKzIzOCw3IEBAIG1lc3NhZ2VzIC0+IFdl
YlBhZ2VQcm94eSB7CiAgICAgTG9nRGlhZ25vc3RpY01lc3NhZ2UoU3RyaW5nIG1lc3NhZ2UsIFN0
cmluZyBkZXNjcmlwdGlvbiwgZW51bSBXZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxl
KQogICAgIExvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3VsdChTdHJpbmcgbWVzc2FnZSwgU3Ry
aW5nIGRlc2NyaXB0aW9uLCB1aW50MzJfdCByZXN1bHQsIGVudW0gV2ViQ29yZTo6U2hvdWxkU2Ft
cGxlIHNob3VsZFNhbXBsZSkKICAgICBMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShTdHJp
bmcgbWVzc2FnZSwgU3RyaW5nIGRlc2NyaXB0aW9uLCBkb3VibGUgdmFsdWUsIHVuc2lnbmVkIHNp
Z25pZmljYW50RmlndXJlcywgZW51bSBXZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxkU2FtcGxl
KQorICAgIExvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeShTdHJpbmcgbWVz
c2FnZSwgU3RyaW5nIGRlc2NyaXB0aW9uLCBlbnVtIFdlYkNvcmU6OlNob3VsZFNhbXBsZSBzaG91
bGRTYW1wbGUpCiAKICAgICAjIEVkaXRvciBub3RpZmljYXRpb25zCiAgICAgRWRpdG9yU3RhdGVD
aGFuZ2VkKHN0cnVjdCBXZWJLaXQ6OkVkaXRvclN0YXRlIGVkaXRvclN0YXRlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmNwcAppbmRleCA3MGQwZjBkNWRiNTQyMzIx
MjkwNjhhZjMyMmMxMDE5YzYwMDM0MTcxLi5hNWYzNDQwYmQyOWViZTM5ODAxMWFhYWMwN2Q4NzFm
OGQzYzU4MjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmNw
cApAQCAtNzMsNCArNzMsMTQgQEAgdm9pZCBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudDo6bG9n
RGlhZ25vc3RpY01lc3NhZ2VXaXRoVmFsdWUoY29uc3QgU3RyaW5nJiBtZXMKICAgICBtX3BhZ2Uu
c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpMb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1
ZShtZXNzYWdlLCBkZXNjcmlwdGlvbiwgdmFsdWUsIHNpZ25pZmljYW50RmlndXJlcywgU2hvdWxk
U2FtcGxlOjpObykpOwogfQogCit2b2lkIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50Ojpsb2dE
aWFnbm9zdGljTWVzc2FnZVdpdGhFbmhhbmNlZFByaXZhY3koY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpTaG91bGRTYW1wbGUgc2hvdWxk
U2FtcGxlKQoreworICAgIEFTU0VSVCghbV9wYWdlLmNvcmVQYWdlKCkgfHwgbV9wYWdlLmNvcmVQ
YWdlKCktPnNldHRpbmdzKCkuZGlhZ25vc3RpY0xvZ2dpbmdFbmFibGVkKCkpOworCisgICAgaWYg
KCFzaG91bGRMb2dBZnRlclNhbXBsaW5nKHNob3VsZFNhbXBsZSkpCisgICAgICAgIHJldHVybjsK
KworICAgIG1fcGFnZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkxvZ0RpYWdub3N0aWNN
ZXNzYWdlV2l0aEVuaGFuY2VkUHJpdmFjeShtZXNzYWdlLCBkZXNjcmlwdGlvbiwgU2hvdWxkU2Ft
cGxlOjpObykpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQuaAppbmRleCA2ZmVkNGZkYWE0MTY4Mzg5Yjg3NzAwNTllNTU3
YjNhZWRmYTljMGNkLi4wYjdlNTQ1ZmRhNjYwM2M2YmUyODhkNmE3MGIxMTZlMzY1ZWM5MmUyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRp
YWdub3N0aWNMb2dnaW5nQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oCkBAIC00Miw2ICs0Miw3
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZShjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFdlYkNvcmU6OlNob3VsZFNhbXBs
ZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhSZXN1bHQoY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpE
aWFnbm9zdGljTG9nZ2luZ1Jlc3VsdFR5cGUsIFdlYkNvcmU6OlNob3VsZFNhbXBsZSkgb3ZlcnJp
ZGU7CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZShjb25zdCBTdHJpbmcm
IG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIGRvdWJsZSB2YWx1ZSwgdW5zaWdu
ZWQgc2lnbmlmaWNhbnRGaWd1cmVzLCBXZWJDb3JlOjpTaG91bGRTYW1wbGUpIG92ZXJyaWRlOwor
ICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoRW5oYW5jZWRQcml2YWN5KGNvbnN0IFN0
cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgV2ViQ29yZTo6U2hvdWxk
U2FtcGxlKSBvdmVycmlkZTsKIAogICAgIFdlYlBhZ2UmIG1fcGFnZTsKIH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>