<?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>169392</bug_id>
          
          <creation_ts>2017-03-08 16:24:42 -0800</creation_ts>
          <short_desc>Add plumbing for WebCore to notify WebKit2 when an edit drag has concluded</short_desc>
          <delta_ts>2017-03-09 08:28:24 -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>WebKit2</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1285082</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-03-08 16:24:42 -0800</bug_when>
    <thetext>Add plumbing for WebCore to notify WebKit2 when an edit drag has concluded</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285102</commentid>
    <comment_count>1</comment_count>
      <attachid>303866</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-03-08 16:54:00 -0800</bug_when>
    <thetext>Created attachment 303866
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285106</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-08 16:56:59 -0800</bug_when>
    <thetext>Attachment 303866 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:1152:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:1153:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:1154:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:1155:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:1156:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:1157:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:1158:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 7 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285118</commentid>
    <comment_count>3</comment_count>
      <attachid>303871</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-03-08 17:16:21 -0800</bug_when>
    <thetext>Created attachment 303871
Fix Mac/GTK builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285119</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-08 17:17:50 -0800</bug_when>
    <thetext>Attachment 303871 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:1152:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:1153:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:1154:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:1155:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:1156:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:1157:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:1158:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 7 in 19 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285207</commentid>
    <comment_count>5</comment_count>
      <attachid>303893</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-03-08 20:36:47 -0800</bug_when>
    <thetext>Created attachment 303893
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285217</commentid>
    <comment_count>6</comment_count>
      <attachid>303893</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-08 21:16:24 -0800</bug_when>
    <thetext>Comment on attachment 303893
Patch for landing

Clearing flags on attachment: 303893

Committed r213627: &lt;http://trac.webkit.org/changeset/213627&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303866</attachid>
            <date>2017-03-08 16:54:00 -0800</date>
            <delta_ts>2017-03-08 17:16:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-169392-20170308165334.patch</filename>
            <type>text/plain</type>
            <size>20667</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzNTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDc1ZGE5ZDRjN2VmNjhi
MTRkOTcwMTMwMGYzM2U0ZDJiMDFlNDQ2ZC4uZDdjZTMyYjE5YTdlOGFmZWQ2NzI1Y2JlYTEzYTNl
M2YzODJjNDc4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE3LTAzLTA4ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBwbHVtYmlu
ZyBmb3IgV2ViQ29yZSB0byBub3RpZnkgV2ViS2l0MiB3aGVuIGFuIGVkaXQgZHJhZyBoYXMgY29u
Y2x1ZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjkzOTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwODgyOTc0PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBEcmFnQ2xpZW50OjpkaWRDb25j
bHVkZUVkaXREcmFnIGFuZCBpbnZva2UgaXQgYWZ0ZXIgcGVyZm9ybWluZyBhbiBlZGl0IGRyYWcg
aW4KKyAgICAgICAgRHJhZ0NvbnRyb2xsZXI6OnBlcmZvcm1EcmFnT3BlcmF0aW9uLgorCisgICAg
ICAgICogcGFnZS9EcmFnQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEcmFnQ2xpZW50Ojpk
aWRDb25jbHVkZUVkaXREcmFnKToKKyAgICAgICAgKiBwYWdlL0RyYWdDb250cm9sbGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjpwZXJmb3JtRHJhZ09wZXJhdGlvbik6
CisKIDIwMTctMDMtMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIFRleHRJbmRpY2F0b3Igc3VwcG9ydCBmb3IgcHJvdmlkaW5nIGEgc25hcHNo
b3QgZXhjbHVkaW5nIHNlbGVjdGVkIGNvbnRlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAxYTRkNjIw
MGY3MTExMDAzZTAwZDZkYzEwODRkNzQxMzFmY2JjYzRkLi44ZjZiOWQwMWE2OTljNGQ5OGRlZTIz
ZWM5N2UyM2I3ODEzNGMxY2RjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTctMDMtMDggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAg
ICAgQWRkIHBsdW1iaW5nIGZvciBXZWJDb3JlIHRvIG5vdGlmeSBXZWJLaXQyIHdoZW4gYW4gZWRp
dCBkcmFnIGhhcyBjb25jbHVkZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2OTM5MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzA4ODI5NzQ+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgc3R1
YiBpbXBsZW1lbnRhdGlvbiBvZiBXZWJEcmFnQ2xpZW50OjpkaWRDb25jbHVkZUVkaXREcmFnLgor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5oOgorCiAyMDE3LTAzLTA3
ICBNYXVyZWVuIERhdW0gIDxtZGF1bUBhcHBsZS5jb20+CiAKICAgICAgICAgQ29ycmVjdGx5IGNo
ZWNrIGZvciBhbiBlbXB0eSBkYXRhYmFzZSBmaWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGVmMTcyMDA1YzZm
M2I4MzNlNjBhZmI3ODczZjIwMGI1Y2Q1OWMzZTQuLmUwZmM1NWRhMzZmNTczMWY2ZjFmNzE3ODBm
Mjc1MmFiZDEzN2E4MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NSBAQAorMjAxNy0wMy0wOCAg
V2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgcGx1
bWJpbmcgZm9yIFdlYkNvcmUgdG8gbm90aWZ5IFdlYktpdDIgd2hlbiBhbiBlZGl0IGRyYWcgaGFz
IGNvbmNsdWRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY5MzkyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDg4Mjk3ND4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYm9pbGVycGxhdGUgcGx1
bWJpbmcgZm9yIGRpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbiBmcm9tIHRoZSB3ZWIgcHJv
Y2VzcyB0byB0aGUgVUkgcHJvY2Vzcy4gQWxzbyBtYWtlcworICAgICAgICBzb21lIG1pbm9yIHR3
ZWFrcyB0byBXS0NvbnRlbnRWaWV3IGFsb25nIHRoZSB3YXkuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9z
L1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6
ZGlkQ29uY2x1ZGVFZGl0RGF0YUludGVyYWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorCisgICAgICAgIEJhaWwgb3V0IG9mIHpvb21pbmcg
dG8gdGhlIGZvY3VzIHJlY3Qgd2hlbiBwZXJmb3JtaW5nIGEgZGF0YSBpbnRlcmFjdGlvbiBvcGVy
YXRpb24uIFRoaXMgbmVlZHMgdG8gZXZlbnR1YWxseQorICAgICAgICB3b3JrLCBidXQgaXMgbm90
IGhpZ2ggcHJpb3JpdHkgYXQgdGhlIG1vbWVudC4KKworICAgICAgICAoLVtXS0NvbnRlbnRWaWV3
IGJlY29tZUZpcnN0UmVzcG9uZGVyRm9yV2ViVmlld10pOgorICAgICAgICAoLVtXS0NvbnRlbnRW
aWV3IF9kaXNwbGF5Rm9ybU5vZGVJbnB1dFZpZXddKToKKyAgICAgICAgKC1bV0tDb250ZW50Vmll
dyB1c2VTZWxlY3Rpb25Bc3Npc3RhbnRXaXRoTW9kZTpdKToKKyAgICAgICAgKC1bV0tDb250ZW50
VmlldyBfdXBkYXRlQ2hhbmdlZFNlbGVjdGlvbjpdKToKKyAgICAgICAgKC1bV0tDb250ZW50Vmll
dyBzdXBwcmVzc0Fzc2lzdGFudFNlbGVjdGlvblZpZXddKToKKyAgICAgICAgKC1bV0tDb250ZW50
VmlldyBzZXRTdXBwcmVzc0Fzc2lzdGFudFNlbGVjdGlvblZpZXc6XSk6CisKKyAgICAgICAgQWRk
IGEgbWVjaGFuaXNtIGZvciBzdXBwcmVzc2luZyB0aGUgdGV4dCBpbnRlcmFjdGlvbiBhc3Npc3Rh
bnQncyBzZWxlY3Rpb24gdmlldy4gSWYgdGhlIHRleHQgaW50ZXJhY3Rpb24KKyAgICAgICAgYXNz
aXN0YW50IGV4aXN0cyB3aGlsZSBiZWdpbm5pbmcgb3IgZW5kaW5nIHN1cHByZXNzaW9uLCB0aGUg
c2VsZWN0aW9uIHdpbGwgYmUgZGVhY3RpdmF0ZWQgb3IgYWN0aXZhdGVkLiBJZiB0aGVyZQorICAg
ICAgICBpcyBub3QgdGV4dCBpbnRlcmFjdGlvbiBhc3Npc3RhbnQsIHRoZW4gd2UgaW5zdGVhZCBy
ZW1lbWJlciB3aGV0aGVyIG9yIG5vdCB3ZSBzaG91bGQgYmUgc3VwcHJlc3NpbmcgdGhlCisgICAg
ICAgIHNlbGVjdGlvbiwgYW5kIGJhaWwgb3V0IG9mIGFjdGl2YXRpbmcgdGhlIHNlbGVjdGlvbiBp
ZiBzby4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlv
bik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50Lmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OmRpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbik6CisKIDIwMTctMDMtMDcgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIFRleHRJbmRp
Y2F0b3Igc3VwcG9ydCBmb3IgcHJvdmlkaW5nIGEgc25hcHNob3QgZXhjbHVkaW5nIHNlbGVjdGVk
IGNvbnRlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NsaWVudC5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ2xpZW50LmgKaW5kZXggYjAyMjA3ZDhjMzRmYzNhMTE2
ODA0YzVhMDQ2ZGQ1Nzk0ZWZmNmRhMC4uZGI3ZWU3MTA4NzJmMjE4NzM1MWI2MGMyODk2YWU2MmY3
NzI3YzY0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ2xpZW50LmgKQEAgLTQ2LDYgKzQ2LDcgQEAgcHVi
bGljOgogCiAgICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3JtRHJhZ0Rlc3RpbmF0aW9uQWN0aW9u
KERyYWdEZXN0aW5hdGlvbkFjdGlvbiwgY29uc3QgRHJhZ0RhdGEmKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIHdpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihEcmFnU291cmNlQWN0aW9uLCBjb25z
dCBJbnRQb2ludCYsIERhdGFUcmFuc2ZlciYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ29u
Y2x1ZGVFZGl0RHJhZygpIHsgfQogICAgIHZpcnR1YWwgRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uIGFj
dGlvbk1hc2tGb3JEcmFnKGNvbnN0IERyYWdEYXRhJikgPSAwOwogICAgIHZpcnR1YWwgRHJhZ1Nv
dXJjZUFjdGlvbiBkcmFnU291cmNlQWN0aW9uTWFza0ZvclBvaW50KGNvbnN0IEludFBvaW50JiBy
b290Vmlld1BvaW50KSA9IDA7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RyYWdDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIu
Y3BwCmluZGV4IGQ2MDE2OTE0OWJlNDcwOGU4NGQ5YWU3NWRiYWY4NDgxNzQwYjgxMjMuLjZiZWMx
NWU0NWRjMGMzNjFmNzdjODk0MDdhZDMzNzhlMDljNTFiZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RHJhZ0NvbnRyb2xsZXIuY3BwCkBAIC0yNDYsNiArMjQ2LDcgQEAgYm9vbCBEcmFnQ29udHJvbGxl
cjo6cGVyZm9ybURyYWdPcGVyYXRpb24oY29uc3QgRHJhZ0RhdGEmIGRyYWdEYXRhKQogICAgIH0K
IAogICAgIGlmICgobV9kcmFnRGVzdGluYXRpb25BY3Rpb24gJiBEcmFnRGVzdGluYXRpb25BY3Rp
b25FZGl0KSAmJiBjb25jbHVkZUVkaXREcmFnKGRyYWdEYXRhKSkgeworICAgICAgICBtX2NsaWVu
dC5kaWRDb25jbHVkZUVkaXREcmFnKCk7CiAgICAgICAgIG1fZG9jdW1lbnRVbmRlck1vdXNlID0g
bnVsbHB0cjsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5oIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5oCmluZGV4IGZhNDRhN2Y2NWU4Mzk3
NDEwODJiMjVmMjhjMTZiNGMyOGE5ZWU4YTIuLmU2OTZkMGVjMzA0NjgzOGMwNDRjYWQwN2RhNDJk
ODBhODI4NjIxZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkRyYWdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJEcmFnQ2xpZW50LmgKQEAgLTQ4LDYgKzQ4LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShBVFRB
Q0hNRU5UX0VMRU1FTlQpCiAgICAgdm9pZCBkZWNsYXJlQW5kV3JpdGVBdHRhY2htZW50KGNvbnN0
IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIFdlYkNvcmU6OkVsZW1lbnQmLCBjb25zdCBXZWJDb3Jl
OjpVUkwmLCBjb25zdCBTdHJpbmcmIHBhdGgsIFdlYkNvcmU6OkZyYW1lKikgb3ZlcnJpZGU7CiAj
ZW5kaWYKKyAgICB2b2lkIGRpZENvbmNsdWRlRWRpdERyYWcoKSBvdmVycmlkZSB7IH0KIHByaXZh
dGU6CiAgICAgV2ViVmlldyogbV93ZWJWaWV3OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFn
ZUNsaWVudC5oCmluZGV4IDViMmIzM2Y2MDFjZjI4YzQ0MzhmMGMxYTBjYWU0MDJhMjkxZmZkNDIu
LjRhMzU1MGYyOTFjZmEyMTU2NGM4ZTgzMjY4NDBiYTM2MTc3YWY5MGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtMzgxLDYgKzM4MSw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgZGlkUGVyZm9ybURhdGFJbnRlcmFjdGlvbkNvbnRyb2xsZXJPcGVyYXRpb24o
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZEhhbmRsZVN0YXJ0RGF0YUludGVyYWN0aW9uUmVx
dWVzdChib29sIHN0YXJ0ZWQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnREYXRhSW50ZXJh
Y3Rpb25XaXRoSW1hZ2UoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBj
b25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2UsIHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6VGV4dEluZGljYXRvckRhdGE+LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBhbmNob3JQ
b2ludCwgdWludDY0X3QgYWN0aW9uKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZENvbmNsdWRl
RWRpdERhdGFJbnRlcmFjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlRleHRJbmRpY2F0b3JE
YXRhPikgPSAwOwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKaW5kZXggOTVhYjJhNTRmN2IyNjYwZWE1ZmUxMTIxYzljZjE2OWVlMjRlZDg3MC4uYWUx
YzE0NDlhYmViYzQ4YjUwMzYwMDFjNWEzZTYzY2EyZDUyNGUxZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNTYwLDYgKzU2MCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIGRpZFBlcmZvcm1EYXRhSW50ZXJhY3Rpb25Db250cm9sbGVyT3BlcmF0aW9uKCk7CiAgICAg
dm9pZCBkaWRIYW5kbGVTdGFydERhdGFJbnRlcmFjdGlvblJlcXVlc3QoYm9vbCBzdGFydGVkKTsK
ICAgICB2b2lkIHJlcXVlc3RTdGFydERhdGFJbnRlcmFjdGlvbihjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBnbG9iYWxQb3Np
dGlvbik7CisgICAgdm9pZCBkaWRDb25jbHVkZUVkaXREYXRhSW50ZXJhY3Rpb24oc3RkOjpvcHRp
b25hbDxXZWJDb3JlOjpUZXh0SW5kaWNhdG9yRGF0YT4pOwogI2VuZGlmCiAjZW5kaWYKICNpZiBF
TkFCTEUoREFUQV9ERVRFQ1RJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBhODA3MGRkZDQ0NzUwZWQ0OWM5MTlhMmQ0YTEx
MTYyM2QxMzAxOWFiLi5iOTdlMmY3NGJiMmViYmJhZjNkYWZlODkzMDcxMmU3ZGZkYWFmOGE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KQEAgLTMxMSw2ICszMTEsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2lmIEVO
QUJMRShEQVRBX0lOVEVSQUNUSU9OKQogICAgIERpZFBlcmZvcm1EYXRhSW50ZXJhY3Rpb25Db250
cm9sbGVyT3BlcmF0aW9uKCkKICAgICBEaWRIYW5kbGVTdGFydERhdGFJbnRlcmFjdGlvblJlcXVl
c3QoYm9vbCBzdGFydGVkKQorICAgIERpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbihzdGQ6
Om9wdGlvbmFsPFdlYkNvcmU6OlRleHRJbmRpY2F0b3JEYXRhPiB0ZXh0SW5kaWNhdG9yKQogI2Vu
ZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAppbmRleCA0N2E5Zjk0NmJjOGMwYWFmZTc3ZTIwMmI0
NmY2NDBkNzE2ZDNkN2UxLi41NWQxMTczOGI3ZmU4NWVkODc1NGE2YTU4YjlkMmNkNGJkNjM0NTNk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5oCkBAIC0yMDUsNiArMjA1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFBlcmZvcm1EYXRh
SW50ZXJhY3Rpb25Db250cm9sbGVyT3BlcmF0aW9uKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRI
YW5kbGVTdGFydERhdGFJbnRlcmFjdGlvblJlcXVlc3QoYm9vbCBzdGFydGVkKSBvdmVycmlkZTsK
ICAgICB2b2lkIHN0YXJ0RGF0YUludGVyYWN0aW9uV2l0aEltYWdlKGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGlt
YWdlLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlRleHRJbmRpY2F0b3JEYXRhPiwgY29uc3QgV2Vi
Q29yZTo6RmxvYXRQb2ludCYgYW5jaG9yUG9pbnQsIHVpbnQ2NF90IGFjdGlvbikgb3ZlcnJpZGU7
CisgICAgdm9pZCBkaWRDb25jbHVkZUVkaXREYXRhSW50ZXJhY3Rpb24oc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpUZXh0SW5kaWNhdG9yRGF0YT4pIG92ZXJyaWRlOwogI2VuZGlmCiAKICAgICBXS0Nv
bnRlbnRWaWV3ICptX2NvbnRlbnRWaWV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggODA0OWYxNWYxYzJmN2I4YmQ3MTczMzUy
ZjNjYzVmMzkyNzhjYzljZC4uOTRmYTYyYWQyMmM2OGFhYzE3YjA0OWE0ZTI1NTI1YTNiZTA1MjAw
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLm1tCkBAIC03NzcsNiArNzc3LDExIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OnN0YXJ0RGF0
YUludGVyYWN0aW9uV2l0aEltYWdlKGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvCiB7CiAg
ICAgW21fY29udGVudFZpZXcgX3N0YXJ0RGF0YUludGVyYWN0aW9uV2l0aEltYWdlOlNoYXJlYWJs
ZUJpdG1hcDo6Y3JlYXRlKGltYWdlKS0+bWFrZUNHSW1hZ2VDb3B5KCkgd2l0aEluZGljYXRvckRh
dGE6aW5kaWNhdG9yRGF0YSBhdENsaWVudFBvc2l0aW9uOkNHUG9pbnRNYWtlKGNsaWVudFBvc2l0
aW9uLngoKSwgY2xpZW50UG9zaXRpb24ueSgpKSBhbmNob3JQb2ludDphbmNob3JQb2ludCBhY3Rp
b246YWN0aW9uXTsKIH0KKwordm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkQ29uY2x1ZGVFZGl0RGF0
YUludGVyYWN0aW9uKHN0ZDo6b3B0aW9uYWw8VGV4dEluZGljYXRvckRhdGE+IGRhdGEpCit7Cisg
ICAgW21fY29udGVudFZpZXcgX2RpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbjpkYXRhXTsK
K30KICNlbmRpZgogCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpoYW5kbGVBY3RpdmVOb3dQbGF5aW5n
U2Vzc2lvbkluZm9SZXNwb25zZShib29sIGhhc0FjdGl2ZVNlc3Npb24sIGNvbnN0IFN0cmluZyYg
dGl0bGUsIGRvdWJsZSBkdXJhdGlvbiwgZG91YmxlIGVsYXBzZWRUaW1lKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgK
aW5kZXggN2FiNDhmNmRjNDVhMjFmY2FkNDc2M2ZiMjYzZmI1MjRhNTMwMDlhOC4uNzMwYzVjYjAy
NTE0NDdmZTRhYjhlNDZkNmU4MTUyODYxMDZlMTY3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC0xMjEs
NiArMTIxLDcgQEAgc3RydWN0IFdLQXV0b0NvcnJlY3Rpb25EYXRhIHsKIAogICAgIFJldGFpblB0
cjxVSVdLVGV4dEludGVyYWN0aW9uQXNzaXN0YW50PiBfdGV4dFNlbGVjdGlvbkFzc2lzdGFudDsK
ICAgICBSZXRhaW5QdHI8VUlXS1NlbGVjdGlvbkFzc2lzdGFudD4gX3dlYlNlbGVjdGlvbkFzc2lz
dGFudDsKKyAgICBCT09MIF9zdXBwcmVzc0Fzc2lzdGFudFNlbGVjdGlvblZpZXc7CiAKICAgICBS
ZXRhaW5QdHI8VUlUZXh0SW5wdXRUcmFpdHM+IF90cmFpdHM7CiAgICAgUmV0YWluUHRyPFVJV2Vi
Rm9ybUFjY2Vzc29yeT4gX2Zvcm1BY2Nlc3NvcnlWaWV3OwpAQCAtMTkzLDYgKzE5NCw5IEBAIHN0
cnVjdCBXS0F1dG9Db3JyZWN0aW9uRGF0YSB7CiAgICAgUmV0YWluUHRyPFdLRGF0YUludGVyYWN0
aW9uPiBfZGF0YUludGVyYWN0aW9uOwogI2VuZGlmCiAgICAgQ0dQb2ludCBfZGVmZXJyZWRBY3Rp
b25TaGVldFJlcXVlc3RMb2NhdGlvbjsKKyAgICBSZXRhaW5QdHI8VUlJbWFnZVZpZXc+IF92aXNp
YmxlQ29udGVudFZpZXdTbmFwc2hvdDsKKyAgICBSZXRhaW5QdHI8VUlJbWFnZVZpZXc+IF9kYXRh
SW50ZXJhY3Rpb25VbnNlbGVjdGVkQ29udGVudFNuYXBzaG90OworICAgIEJPT0wgX2lzUnVubmlu
Z0NvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbkFuaW1hdGlvbjsKICNlbmRpZgogfQogCkBAIC0y
MTQsNiArMjE4LDcgQEAgc3RydWN0IFdLQXV0b0NvcnJlY3Rpb25EYXRhIHsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCByZWFkb25seSkgY29uc3QgV2ViS2l0OjpXS0F1dG9Db3JyZWN0aW9uRGF0YSYg
YXV0b2NvcnJlY3Rpb25EYXRhOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBjb25z
dCBXZWJLaXQ6OkFzc2lzdGVkTm9kZUluZm9ybWF0aW9uJiBhc3Npc3RlZE5vZGVJbmZvcm1hdGlv
bjsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgVUlXZWJGb3JtQWNjZXNzb3J5ICpm
b3JtQWNjZXNzb3J5VmlldzsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHN1cHByZXNzQXNz
aXN0YW50U2VsZWN0aW9uVmlldzsKIAogLSAodm9pZClzZXR1cEludGVyYWN0aW9uOwogLSAodm9p
ZCljbGVhbnVwSW50ZXJhY3Rpb247CkBAIC0yNzcsNiArMjgyLDcgQEAgc3RydWN0IFdLQXV0b0Nv
cnJlY3Rpb25EYXRhIHsKIC0gKHZvaWQpX2RpZFBlcmZvcm1EYXRhSW50ZXJhY3Rpb25Db250cm9s
bGVyT3BlcmF0aW9uOwogLSAodm9pZClfZGlkSGFuZGxlU3RhcnREYXRhSW50ZXJhY3Rpb25SZXF1
ZXN0OihCT09MKXN0YXJ0ZWQ7CiAtICh2b2lkKV9zdGFydERhdGFJbnRlcmFjdGlvbldpdGhJbWFn
ZTooUmV0YWluUHRyPENHSW1hZ2VSZWY+KWltYWdlIHdpdGhJbmRpY2F0b3JEYXRhOihzdGQ6Om9w
dGlvbmFsPFdlYkNvcmU6OlRleHRJbmRpY2F0b3JEYXRhPilpbmRpY2F0b3JEYXRhIGF0Q2xpZW50
UG9zaXRpb246KENHUG9pbnQpY2xpZW50UG9zaXRpb24gYW5jaG9yUG9pbnQ6KENHUG9pbnQpYW5j
aG9yUG9pbnQgYWN0aW9uOih1aW50NjRfdClhY3Rpb247CistICh2b2lkKV9kaWRDb25jbHVkZUVk
aXREYXRhSW50ZXJhY3Rpb246KHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6VGV4dEluZGljYXRvckRh
dGE+KWRhdGE7CiAtICh2b2lkKV9zaW11bGF0ZURhdGFJbnRlcmFjdGlvbkVudGVyZWQ6KGlkKWlu
Zm87CiAtICh2b2lkKV9zaW11bGF0ZURhdGFJbnRlcmFjdGlvblVwZGF0ZWQ6KGlkKWluZm87CiAt
ICh2b2lkKV9zaW11bGF0ZURhdGFJbnRlcmFjdGlvblBlcmZvcm1PcGVyYXRpb246KGlkKWluZm87
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tCmluZGV4IDIyNjE5NzJiZmFkZGNlMjRmNTAxMDNlMzQ2YTcyMmUzMzZl
OWZjN2YuLmQ2OTQ2MzgwMTJlODAwZWEyMzE5NTE3MGNjNzQxOTFlYmVlZjhmYmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLm1tCkBAIC04MjQsNyArODI0LDcgQEAgc3RhdGljIFVJV2ViU2VsZWN0aW9uTW9kZSB0
b1VJV2ViU2VsZWN0aW9uTW9kZShXS1NlbGVjdGlvbkdyYW51bGFyaXR5IGdyYW51bGFyaXQKICAg
ICAgICAgU2V0Rm9yU2NvcGU8Qk9PTD4gYmVjb21pbmdGaXJzdFJlc3BvbmRlciB7IF9iZWNvbWlu
Z0ZpcnN0UmVzcG9uZGVyLCBZRVMgfTsKICAgICAgICAgZGlkQmVjb21lRmlyc3RSZXNwb25kZXIg
PSBbc3VwZXIgYmVjb21lRmlyc3RSZXNwb25kZXJdOwogICAgIH0KLSAgICBpZiAoZGlkQmVjb21l
Rmlyc3RSZXNwb25kZXIpCisgICAgaWYgKGRpZEJlY29tZUZpcnN0UmVzcG9uZGVyICYmICFzZWxm
LnN1cHByZXNzQXNzaXN0YW50U2VsZWN0aW9uVmlldykKICAgICAgICAgW190ZXh0U2VsZWN0aW9u
QXNzaXN0YW50IGFjdGl2YXRlU2VsZWN0aW9uXTsKIAogICAgIHJldHVybiBkaWRCZWNvbWVGaXJz
dFJlc3BvbmRlcjsKQEAgLTExMzUsMTYgKzExMzUsMjMgQEAgc3RhdGljIE5TVmFsdWUgKm5zU2l6
ZUZvclRhcEhpZ2hsaWdodEJvcmRlclJhZGl1cyhXZWJDb3JlOjpJbnRTaXplIGJvcmRlclJhZGl1
cywKIAogLSAodm9pZClfZGlzcGxheUZvcm1Ob2RlSW5wdXRWaWV3CiB7Ci0gICAgLy8gSW4gY2Fz
ZSB1c2VyIHNjYWxpbmcgaXMgZm9yY2UgZW5hYmxlZCwgZG8gbm90IHVzZSB0aGF0IHNjYWxpbmcg
d2hlbiB6b29taW5nIGluIHdpdGggYW4gaW5wdXQgZmllbGQuCi0gICAgLy8gWm9vbWluZyBhYm92
ZSB0aGUgcGFnZSdzIGRlZmF1bHQgc2NhbGUgZmFjdG9yIHNob3VsZCBvbmx5IGhhcHBlbiB3aGVu
IHRoZSB1c2VyIHBlcmZvcm1zIGl0LgotICAgIFtzZWxmIF96b29tVG9Gb2N1c1JlY3Q6X2Fzc2lz
dGVkTm9kZUluZm9ybWF0aW9uLmVsZW1lbnRSZWN0Ci0gICAgICAgICAgICAgc2VsZWN0aW9uUmVj
dDogX2RpZEFjY2Vzc29yeVRhYkluaXRpYXRlRm9jdXMgPyBJbnRSZWN0KCkgOiBfYXNzaXN0ZWRO
b2RlSW5mb3JtYXRpb24uc2VsZWN0aW9uUmVjdAotICAgICAgICAgICAgICAgaW5zaWRlRml4ZWQ6
X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmluc2lkZUZpeGVkUG9zaXRpb24KLSAgICAgICAgICAg
ICAgICAgIGZvbnRTaXplOl9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5ub2RlRm9udFNpemUKLSAg
ICAgICAgICAgICAgbWluaW11bVNjYWxlOl9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5taW5pbXVt
U2NhbGVGYWN0b3IKLSAgICAgICAgICAgICAgbWF4aW11bVNjYWxlOl9hc3Npc3RlZE5vZGVJbmZv
cm1hdGlvbi5tYXhpbXVtU2NhbGVGYWN0b3JJZ25vcmluZ0Fsd2F5c1NjYWxhYmxlCi0gICAgICAg
ICAgICAgIGFsbG93U2NhbGluZzooX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmFsbG93c1VzZXJT
Y2FsaW5nSWdub3JpbmdBbHdheXNTY2FsYWJsZSAmJiAhVUlDdXJyZW50VXNlckludGVyZmFjZUlk
aW9tSXNQYWQoKSkKLSAgICAgICAgICAgICAgIGZvcmNlU2Nyb2xsOltzZWxmIHJlcXVpcmVzQWNj
ZXNzb3J5Vmlld11dOworICAgIEJPT0wgc2hvdWxkWm9vbVRvRm9jdXNSZWN0ID0gWUVTOworI2lm
IEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQorICAgIC8vIEZJWE1FOiBXZSBuZWVkIHRvIHRlYWNo
IFdLV2ViVmlldyB0byBwcm9wZXJseSB6b29tIGFuZCBzY3JvbGwgZHVyaW5nIGEgZGF0YSBpbnRl
cmFjdGlvbiBvcGVyYXRpb24uCisgICAgc2hvdWxkWm9vbVRvRm9jdXNSZWN0ID0gIVtXZWJJdGVt
UHJvdmlkZXJQYXN0ZWJvYXJkIHNoYXJlZEluc3RhbmNlXS5oYXNQZW5kaW5nT3BlcmF0aW9uOwor
I2VuZGlmCisgICAgaWYgKHNob3VsZFpvb21Ub0ZvY3VzUmVjdCkgeworICAgICAgICAvLyBJbiBj
YXNlIHVzZXIgc2NhbGluZyBpcyBmb3JjZSBlbmFibGVkLCBkbyBub3QgdXNlIHRoYXQgc2NhbGlu
ZyB3aGVuIHpvb21pbmcgaW4gd2l0aCBhbiBpbnB1dCBmaWVsZC4KKyAgICAgICAgLy8gWm9vbWlu
ZyBhYm92ZSB0aGUgcGFnZSdzIGRlZmF1bHQgc2NhbGUgZmFjdG9yIHNob3VsZCBvbmx5IGhhcHBl
biB3aGVuIHRoZSB1c2VyIHBlcmZvcm1zIGl0LgorICAgICAgICBbc2VsZiBfem9vbVRvRm9jdXNS
ZWN0Ol9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50UmVjdAorICAgICAgICAgICAgICAg
ICBzZWxlY3Rpb25SZWN0OiBfZGlkQWNjZXNzb3J5VGFiSW5pdGlhdGVGb2N1cyA/IEludFJlY3Qo
KSA6IF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5zZWxlY3Rpb25SZWN0CisgICAgICAgICAgICAg
ICAgICAgaW5zaWRlRml4ZWQ6X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmluc2lkZUZpeGVkUG9z
aXRpb24KKyAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTpfYXNzaXN0ZWROb2RlSW5mb3Jt
YXRpb24ubm9kZUZvbnRTaXplCisgICAgICAgICAgICAgICAgICBtaW5pbXVtU2NhbGU6X2Fzc2lz
dGVkTm9kZUluZm9ybWF0aW9uLm1pbmltdW1TY2FsZUZhY3RvcgorICAgICAgICAgICAgICAgICAg
bWF4aW11bVNjYWxlOl9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5tYXhpbXVtU2NhbGVGYWN0b3JJ
Z25vcmluZ0Fsd2F5c1NjYWxhYmxlCisgICAgICAgICAgICAgICAgICBhbGxvd1NjYWxpbmc6KF9h
c3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5hbGxvd3NVc2VyU2NhbGluZ0lnbm9yaW5nQWx3YXlzU2Nh
bGFibGUgJiYgIVVJQ3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkKCkpCisgICAgICAgICAg
ICAgICAgICAgZm9yY2VTY3JvbGw6W3NlbGYgcmVxdWlyZXNBY2Nlc3NvcnlWaWV3XV07CisgICAg
fQogCiAgICAgX2RpZEFjY2Vzc29yeVRhYkluaXRpYXRlRm9jdXMgPSBOTzsKICAgICBbc2VsZiBf
ZW5zdXJlRm9ybUFjY2Vzc29yeVZpZXddOwpAQCAtMTcwMyw3ICsxNzEwLDcgQEAgc3RhdGljIHZv
aWQgY2FuY2VsUG90ZW50aWFsVGFwSWZOZWNlc3NhcnkoV0tDb250ZW50VmlldyogY29udGVudFZp
ZXcpCiAgICAgICAgICAgICBbX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgc2V0R2VzdHVyZVJlY29n
bml6ZXJzXTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChzZWxmLmlzRmlyc3RSZXNwb25kZXIp
CisgICAgICAgIGlmIChzZWxmLmlzRmlyc3RSZXNwb25kZXIgJiYgIXNlbGYuc3VwcHJlc3NBc3Np
c3RhbnRTZWxlY3Rpb25WaWV3KQogICAgICAgICAgICAgW190ZXh0U2VsZWN0aW9uQXNzaXN0YW50
IGFjdGl2YXRlU2VsZWN0aW9uXTsKICAgICB9CiB9CkBAIC0zODc1LDEzICszODgyLDM1IEBAIHN0
YXRpYyBib29sIGlzQXNzaXN0YWJsZUlucHV0VHlwZShJbnB1dFR5cGUgdHlwZSkKICAgICAgICAg
W193ZWJTZWxlY3Rpb25Bc3Npc3RhbnQgZGlkRW5kU2Nyb2xsaW5nT3Jab29taW5nUGFnZV07CiAg
ICAgICAgIFtbX3dlYlNlbGVjdGlvbkFzc2lzdGFudCBzZWxlY3Rpb25WaWV3XSBzZXRIaWRkZW46
Tk9dOwogCi0gICAgICAgIFtfdGV4dFNlbGVjdGlvbkFzc2lzdGFudCBhY3RpdmF0ZVNlbGVjdGlv
bl07CisgICAgICAgIGlmICghc2VsZi5zdXBwcmVzc0Fzc2lzdGFudFNlbGVjdGlvblZpZXcpCisg
ICAgICAgICAgICBbX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgYWN0aXZhdGVTZWxlY3Rpb25dOwor
CiAgICAgICAgIFtfdGV4dFNlbGVjdGlvbkFzc2lzdGFudCBkaWRFbmRTY3JvbGxpbmdPdmVyZmxv
d107CiAKICAgICAgICAgX25lZWRzRGVmZXJyZWRFbmRTY3JvbGxpbmdTZWxlY3Rpb25VcGRhdGUg
PSBOTzsKICAgICB9CiB9CiAKKy0gKEJPT0wpc3VwcHJlc3NBc3Npc3RhbnRTZWxlY3Rpb25WaWV3
Cit7CisgICAgcmV0dXJuIF9zdXBwcmVzc0Fzc2lzdGFudFNlbGVjdGlvblZpZXc7Cit9CisKKy0g
KHZvaWQpc2V0U3VwcHJlc3NBc3Npc3RhbnRTZWxlY3Rpb25WaWV3OihCT09MKXN1cHByZXNzQXNz
aXN0YW50U2VsZWN0aW9uVmlldworeworICAgIGlmIChfc3VwcHJlc3NBc3Npc3RhbnRTZWxlY3Rp
b25WaWV3ID09IHN1cHByZXNzQXNzaXN0YW50U2VsZWN0aW9uVmlldykKKyAgICAgICAgcmV0dXJu
OworCisgICAgX3N1cHByZXNzQXNzaXN0YW50U2VsZWN0aW9uVmlldyA9IHN1cHByZXNzQXNzaXN0
YW50U2VsZWN0aW9uVmlldzsKKyAgICBpZiAoIV90ZXh0U2VsZWN0aW9uQXNzaXN0YW50KQorICAg
ICAgICByZXR1cm47CisKKyAgICBpZiAoc3VwcHJlc3NBc3Npc3RhbnRTZWxlY3Rpb25WaWV3KQor
ICAgICAgICBbX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgZGVhY3RpdmF0ZVNlbGVjdGlvbl07Cisg
ICAgZWxzZQorICAgICAgICBbX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgYWN0aXZhdGVTZWxlY3Rp
b25dOworfQorCiAtICh2b2lkKV9zaG93UGxheWJhY2tUYXJnZXRQaWNrZXI6KEJPT0wpaGFzVmlk
ZW8gZnJvbVJlY3Q6KGNvbnN0IEludFJlY3QmKWVsZW1lbnRSZWN0CiB7CiAgICAgaWYgKCFfYWly
UGxheVJvdXRlUGlja2VyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBh
Z2VQcm94eUlPUy5tbQppbmRleCBhNjIwYmQ5NWY1NmJlMjgyN2M2YmY3ZDI1MGYyNGQ3ZTE0YmU1
NTk1Li45NmIzZDhmYmE5ZGQ3MGUwMTljOTcxNTc3ODI2MTU1OWVhZDdjNDc1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpAQCAtMTEzMiw2
ICsxMTMyLDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0U3RhcnREYXRhSW50ZXJhY3Rp
b24oY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGNsaWVudFBvCiAgICAgICAgIG1fcHJvY2Vzcy0+
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6UmVxdWVzdFN0YXJ0RGF0YUludGVyYWN0aW9uKGNsaWVu
dFBvc2l0aW9uLCBnbG9iYWxQb3NpdGlvbiksIG1fcGFnZUlEKTsKIH0KIAordm9pZCBXZWJQYWdl
UHJveHk6OmRpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbihzdGQ6Om9wdGlvbmFsPFRleHRJ
bmRpY2F0b3JEYXRhPiBkYXRhKQoreworICAgIG1fcGFnZUNsaWVudC5kaWRDb25jbHVkZUVkaXRE
YXRhSW50ZXJhY3Rpb24oZGF0YSk7Cit9CisKICNlbmRpZgogCiAjaWYgVVNFKFFVSUNLX0xPT0sp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkRyYWdDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRHJhZ0NsaWVudC5oCmluZGV4IGE5NmVlODE2MjAzNjJlM2VhOTIzNTU3Mjg3MDJkYjZkMmUz
NzBlZWEuLjU0NzhkZDVmMDYzYzlmYzNmNmNhNDI5YTZjMTYxYTg2NGIzYWFlMTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRHJh
Z0NsaWVudC5oCkBAIC00OCw2ICs0OCw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6RHJhZ1Nv
dXJjZUFjdGlvbiBkcmFnU291cmNlQWN0aW9uTWFza0ZvclBvaW50KGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiB3aW5kb3dQb2ludCkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHN0YXJ0RHJhZyhXZWJD
b3JlOjpEcmFnSW1hZ2UsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBkcmFnSW1hZ2VPcmlnaW4s
IGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBldmVudFBvcywgY29uc3QgV2ViQ29yZTo6RmxvYXRQ
b2ludCYgZHJhZ0ltYWdlQW5jaG9yLCBXZWJDb3JlOjpEYXRhVHJhbnNmZXImLCBXZWJDb3JlOjpG
cmFtZSYsIFdlYkNvcmU6OkRyYWdTb3VyY2VBY3Rpb24pIG92ZXJyaWRlOworICAgIHZvaWQgZGlk
Q29uY2x1ZGVFZGl0RHJhZygpIG92ZXJyaWRlOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAg
dm9pZCBkZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFt
ZSwgV2ViQ29yZTo6RWxlbWVudCYsIGNvbnN0IFdlYkNvcmU6OlVSTCYsIGNvbnN0IFN0cmluZyYs
IFdlYkNvcmU6OkZyYW1lKikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaAppbmRleCAwNmQyNzg3NWQ4MDlmMGVmNDc3MDk0OTVlOTgwMTY4MjI5
MWIyMzQ2Li4zYWI5OWJjMmU2Nzk2NTY1MjMxMTUyZjc5YmNkZjdkM2U5YjU1MWUyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTk2Niw2ICs5NjYs
MTAgQEAgcHVibGljOgogICAgIHZvaWQgZGlkR2V0TG9hZERlY2lzaW9uRm9ySWNvbihib29sIGRl
Y2lzaW9uLCB1aW50NjRfdCBsb2FkSWRlbnRpZmllciwgdWludDY0X3QgbmV3Q2FsbGJhY2tJRCk7
CiAgICAgdm9pZCBzZXRVc2VJY29uTG9hZGluZ0NsaWVudChib29sKTsKIAorI2lmIEVOQUJMRShE
QVRBX0lOVEVSQUNUSU9OKQorICAgIHZvaWQgZGlkQ29uY2x1ZGVFZGl0RGF0YUludGVyYWN0aW9u
KCk7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgV2Vi
UGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDg1ZWY4ZGYzM2FhYjg5NmEx
MmM4MmI1MDAzZDNkZDQ4ZjYwZTg2YzguLjJjZTI2ZjYzZDVhMWIzMDZmNDhhOTA0OThlODUxNmZh
Njc3Y2JmNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9p
b3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
aW9zL1dlYlBhZ2VJT1MubW0KQEAgLTY0Niw2ICs2NDYsMTkgQEAgdm9pZCBXZWJQYWdlOjpyZXF1
ZXN0U3RhcnREYXRhSW50ZXJhY3Rpb24oY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBj
b25zdAogICAgIGJvb2wgZGlkU3RhcnQgPSBtX3BhZ2UtPm1haW5GcmFtZSgpLmV2ZW50SGFuZGxl
cigpLnRyeVRvQmVnaW5EYXRhSW50ZXJhY3Rpb25BdFBvaW50KGNsaWVudFBvc2l0aW9uLCBnbG9i
YWxQb3NpdGlvbik7CiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRIYW5kbGVT
dGFydERhdGFJbnRlcmFjdGlvblJlcXVlc3QoZGlkU3RhcnQpKTsKIH0KKwordm9pZCBXZWJQYWdl
OjpkaWRDb25jbHVkZUVkaXREYXRhSW50ZXJhY3Rpb24oKQoreworICAgIHN0ZDo6b3B0aW9uYWw8
VGV4dEluZGljYXRvckRhdGE+IHRleHRJbmRpY2F0b3JEYXRhOworCisgICAgYXV0byYgZnJhbWUg
PSBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZvY3VzZWRPck1haW5GcmFtZSgpOworICAgIGlm
IChhdXRvIHJhbmdlID0gZnJhbWUuc2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkudG9Ob3JtYWxpemVk
UmFuZ2UoKSkgeworICAgICAgICBpZiAoYXV0byB0ZXh0SW5kaWNhdG9yID0gVGV4dEluZGljYXRv
cjo6Y3JlYXRlV2l0aFJhbmdlKCpyYW5nZSwgVGV4dEluZGljYXRvck9wdGlvbkRvTm90Q2xpcFRv
VmlzaWJsZVJlY3QgfCBUZXh0SW5kaWNhdG9yT3B0aW9uUGFpbnRBbGxDb250ZW50IHwgVGV4dElu
ZGljYXRvck9wdGlvbkluY2x1ZGVNYXJnaW5JZlJhbmdlTWF0Y2hlc1NlbGVjdGlvbiB8IFRleHRJ
bmRpY2F0b3JPcHRpb25QYWludEJhY2tncm91bmRzIHwgVGV4dEluZGljYXRvck9wdGlvbkluY2x1
ZGVTbmFwc2hvdFdpdGhvdXRTZWxlY3Rpb24sIFRleHRJbmRpY2F0b3JQcmVzZW50YXRpb25UcmFu
c2l0aW9uOjpOb25lKSkKKyAgICAgICAgICAgIHRleHRJbmRpY2F0b3JEYXRhID0gdGV4dEluZGlj
YXRvci0+ZGF0YSgpOworICAgIH0KKworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
RGlkQ29uY2x1ZGVFZGl0RGF0YUludGVyYWN0aW9uKHRleHRJbmRpY2F0b3JEYXRhKSk7Cit9CiAj
ZW5kaWYKIAogdm9pZCBXZWJQYWdlOjpzZW5kVGFwSGlnaGxpZ2h0Rm9yTm9kZUlmTmVjZXNzYXJ5
KHVpbnQ2NF90IHJlcXVlc3RJRCwgTm9kZSogbm9kZSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303871</attachid>
            <date>2017-03-08 17:16:21 -0800</date>
            <delta_ts>2017-03-08 17:44:13 -0800</delta_ts>
            <desc>Fix Mac/GTK builds</desc>
            <filename>bug-169392-20170308171554.patch</filename>
            <type>text/plain</type>
            <size>22488</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzNTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDc1ZGE5ZDRjN2VmNjhi
MTRkOTcwMTMwMGYzM2U0ZDJiMDFlNDQ2ZC4uZDdjZTMyYjE5YTdlOGFmZWQ2NzI1Y2JlYTEzYTNl
M2YzODJjNDc4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE3LTAzLTA4ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBwbHVtYmlu
ZyBmb3IgV2ViQ29yZSB0byBub3RpZnkgV2ViS2l0MiB3aGVuIGFuIGVkaXQgZHJhZyBoYXMgY29u
Y2x1ZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjkzOTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwODgyOTc0PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBEcmFnQ2xpZW50OjpkaWRDb25j
bHVkZUVkaXREcmFnIGFuZCBpbnZva2UgaXQgYWZ0ZXIgcGVyZm9ybWluZyBhbiBlZGl0IGRyYWcg
aW4KKyAgICAgICAgRHJhZ0NvbnRyb2xsZXI6OnBlcmZvcm1EcmFnT3BlcmF0aW9uLgorCisgICAg
ICAgICogcGFnZS9EcmFnQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpEcmFnQ2xpZW50Ojpk
aWRDb25jbHVkZUVkaXREcmFnKToKKyAgICAgICAgKiBwYWdlL0RyYWdDb250cm9sbGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjpwZXJmb3JtRHJhZ09wZXJhdGlvbik6
CisKIDIwMTctMDMtMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgQWRkIFRleHRJbmRpY2F0b3Igc3VwcG9ydCBmb3IgcHJvdmlkaW5nIGEgc25hcHNo
b3QgZXhjbHVkaW5nIHNlbGVjdGVkIGNvbnRlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAxYTRkNjIw
MGY3MTExMDAzZTAwZDZkYzEwODRkNzQxMzFmY2JjYzRkLi44ZjZiOWQwMWE2OTljNGQ5OGRlZTIz
ZWM5N2UyM2I3ODEzNGMxY2RjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTctMDMtMDggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAg
ICAgQWRkIHBsdW1iaW5nIGZvciBXZWJDb3JlIHRvIG5vdGlmeSBXZWJLaXQyIHdoZW4gYW4gZWRp
dCBkcmFnIGhhcyBjb25jbHVkZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2OTM5MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzA4ODI5NzQ+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgc3R1
YiBpbXBsZW1lbnRhdGlvbiBvZiBXZWJEcmFnQ2xpZW50OjpkaWRDb25jbHVkZUVkaXREcmFnLgor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5oOgorCiAyMDE3LTAzLTA3
ICBNYXVyZWVuIERhdW0gIDxtZGF1bUBhcHBsZS5jb20+CiAKICAgICAgICAgQ29ycmVjdGx5IGNo
ZWNrIGZvciBhbiBlbXB0eSBkYXRhYmFzZSBmaWxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGVmMTcyMDA1YzZm
M2I4MzNlNjBhZmI3ODczZjIwMGI1Y2Q1OWMzZTQuLjgzNDYyYTUxZDEwMDk2YWUxYmJjNTFhYjQ5
YjBiYjA0OGUyMGZkMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OCBAQAorMjAxNy0wMy0wOCAg
V2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgcGx1
bWJpbmcgZm9yIFdlYkNvcmUgdG8gbm90aWZ5IFdlYktpdDIgd2hlbiBhbiBlZGl0IGRyYWcgaGFz
IGNvbmNsdWRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY5MzkyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDg4Mjk3ND4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYm9pbGVycGxhdGUgcGx1
bWJpbmcgZm9yIGRpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbiBmcm9tIHRoZSB3ZWIgcHJv
Y2VzcyB0byB0aGUgVUkgcHJvY2Vzcy4gQWxzbyBtYWtlcworICAgICAgICBzb21lIG1pbm9yIHR3
ZWFrcyB0byBXS0NvbnRlbnRWaWV3IGFsb25nIHRoZSB3YXkuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9z
L1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6
ZGlkQ29uY2x1ZGVFZGl0RGF0YUludGVyYWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorCisgICAgICAgIEJhaWwgb3V0IG9mIHpvb21pbmcg
dG8gdGhlIGZvY3VzIHJlY3Qgd2hlbiBwZXJmb3JtaW5nIGEgZGF0YSBpbnRlcmFjdGlvbiBvcGVy
YXRpb24uIFRoaXMgbmVlZHMgdG8gZXZlbnR1YWxseQorICAgICAgICB3b3JrLCBidXQgaXMgbm90
IGhpZ2ggcHJpb3JpdHkgYXQgdGhlIG1vbWVudC4KKworICAgICAgICAoLVtXS0NvbnRlbnRWaWV3
IGJlY29tZUZpcnN0UmVzcG9uZGVyRm9yV2ViVmlld10pOgorICAgICAgICAoLVtXS0NvbnRlbnRW
aWV3IF9kaXNwbGF5Rm9ybU5vZGVJbnB1dFZpZXddKToKKyAgICAgICAgKC1bV0tDb250ZW50Vmll
dyB1c2VTZWxlY3Rpb25Bc3Npc3RhbnRXaXRoTW9kZTpdKToKKyAgICAgICAgKC1bV0tDb250ZW50
VmlldyBfdXBkYXRlQ2hhbmdlZFNlbGVjdGlvbjpdKToKKyAgICAgICAgKC1bV0tDb250ZW50Vmll
dyBzdXBwcmVzc0Fzc2lzdGFudFNlbGVjdGlvblZpZXddKToKKyAgICAgICAgKC1bV0tDb250ZW50
VmlldyBzZXRTdXBwcmVzc0Fzc2lzdGFudFNlbGVjdGlvblZpZXc6XSk6CisKKyAgICAgICAgQWRk
IGEgbWVjaGFuaXNtIGZvciBzdXBwcmVzc2luZyB0aGUgdGV4dCBpbnRlcmFjdGlvbiBhc3Npc3Rh
bnQncyBzZWxlY3Rpb24gdmlldy4gSWYgdGhlIHRleHQgaW50ZXJhY3Rpb24KKyAgICAgICAgYXNz
aXN0YW50IGV4aXN0cyB3aGlsZSBiZWdpbm5pbmcgb3IgZW5kaW5nIHN1cHByZXNzaW9uLCB0aGUg
c2VsZWN0aW9uIHdpbGwgYmUgZGVhY3RpdmF0ZWQgb3IgYWN0aXZhdGVkLiBJZiB0aGVyZQorICAg
ICAgICBpcyBub3QgdGV4dCBpbnRlcmFjdGlvbiBhc3Npc3RhbnQsIHRoZW4gd2UgaW5zdGVhZCBy
ZW1lbWJlciB3aGV0aGVyIG9yIG5vdCB3ZSBzaG91bGQgYmUgc3VwcHJlc3NpbmcgdGhlCisgICAg
ICAgIHNlbGVjdGlvbiwgYW5kIGJhaWwgb3V0IG9mIGFjdGl2YXRpbmcgdGhlIHNlbGVjdGlvbiBp
ZiBzby4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlv
bik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50Lmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRHJhZ0NsaWVudEd0
ay5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViRHJhZ0Ns
aWVudE1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViRHJhZ0NsaWVudDo6ZGlkQ29uY2x1ZGVF
ZGl0RHJhZyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2U6OmRpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbik6CisKIDIwMTctMDMt
MDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgQWRk
IFRleHRJbmRpY2F0b3Igc3VwcG9ydCBmb3IgcHJvdmlkaW5nIGEgc25hcHNob3QgZXhjbHVkaW5n
IHNlbGVjdGVkIGNvbnRlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0Ns
aWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ2xpZW50LmgKaW5kZXggYjAyMjA3ZDhj
MzRmYzNhMTE2ODA0YzVhMDQ2ZGQ1Nzk0ZWZmNmRhMC4uZGI3ZWU3MTA4NzJmMjE4NzM1MWI2MGMy
ODk2YWU2MmY3NzI3YzY0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ2xpZW50LmgKQEAgLTQ2LDYgKzQ2
LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3JtRHJhZ0Rlc3RpbmF0
aW9uQWN0aW9uKERyYWdEZXN0aW5hdGlvbkFjdGlvbiwgY29uc3QgRHJhZ0RhdGEmKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihEcmFnU291cmNlQWN0
aW9uLCBjb25zdCBJbnRQb2ludCYsIERhdGFUcmFuc2ZlciYpID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgZGlkQ29uY2x1ZGVFZGl0RHJhZygpIHsgfQogICAgIHZpcnR1YWwgRHJhZ0Rlc3RpbmF0aW9u
QWN0aW9uIGFjdGlvbk1hc2tGb3JEcmFnKGNvbnN0IERyYWdEYXRhJikgPSAwOwogICAgIHZpcnR1
YWwgRHJhZ1NvdXJjZUFjdGlvbiBkcmFnU291cmNlQWN0aW9uTWFza0ZvclBvaW50KGNvbnN0IElu
dFBvaW50JiByb290Vmlld1BvaW50KSA9IDA7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0Nv
bnRyb2xsZXIuY3BwCmluZGV4IGQ2MDE2OTE0OWJlNDcwOGU4NGQ5YWU3NWRiYWY4NDgxNzQwYjgx
MjMuLjZiZWMxNWU0NWRjMGMzNjFmNzdjODk0MDdhZDMzNzhlMDljNTFiZjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCkBAIC0yNDYsNiArMjQ2LDcgQEAgYm9vbCBEcmFn
Q29udHJvbGxlcjo6cGVyZm9ybURyYWdPcGVyYXRpb24oY29uc3QgRHJhZ0RhdGEmIGRyYWdEYXRh
KQogICAgIH0KIAogICAgIGlmICgobV9kcmFnRGVzdGluYXRpb25BY3Rpb24gJiBEcmFnRGVzdGlu
YXRpb25BY3Rpb25FZGl0KSAmJiBjb25jbHVkZUVkaXREcmFnKGRyYWdEYXRhKSkgeworICAgICAg
ICBtX2NsaWVudC5kaWRDb25jbHVkZUVkaXREcmFnKCk7CiAgICAgICAgIG1fZG9jdW1lbnRVbmRl
ck1vdXNlID0gbnVsbHB0cjsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5oIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5oCmluZGV4IGZhNDRh
N2Y2NWU4Mzk3NDEwODJiMjVmMjhjMTZiNGMyOGE5ZWU4YTIuLmU2OTZkMGVjMzA0NjgzOGMwNDRj
YWQwN2RhNDJkODBhODI4NjIxZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkRyYWdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJEcmFnQ2xpZW50LmgKQEAgLTQ4LDYgKzQ4LDcgQEAgcHVibGljOgogI2lmIEVO
QUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAgICAgdm9pZCBkZWNsYXJlQW5kV3JpdGVBdHRhY2ht
ZW50KGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIFdlYkNvcmU6OkVsZW1lbnQmLCBjb25z
dCBXZWJDb3JlOjpVUkwmLCBjb25zdCBTdHJpbmcmIHBhdGgsIFdlYkNvcmU6OkZyYW1lKikgb3Zl
cnJpZGU7CiAjZW5kaWYKKyAgICB2b2lkIGRpZENvbmNsdWRlRWRpdERyYWcoKSBvdmVycmlkZSB7
IH0KIHByaXZhdGU6CiAgICAgV2ViVmlldyogbV93ZWJWaWV3OwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4IDViMmIzM2Y2MDFjZjI4YzQ0MzhmMGMxYTBjYWU0MDJh
MjkxZmZkNDIuLjRhMzU1MGYyOTFjZmEyMTU2NGM4ZTgzMjY4NDBiYTM2MTc3YWY5MGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtMzgxLDYgKzM4MSw3IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgZGlkUGVyZm9ybURhdGFJbnRlcmFjdGlvbkNvbnRyb2xsZXJP
cGVyYXRpb24oKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZEhhbmRsZVN0YXJ0RGF0YUludGVy
YWN0aW9uUmVxdWVzdChib29sIHN0YXJ0ZWQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRE
YXRhSW50ZXJhY3Rpb25XaXRoSW1hZ2UoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGNsaWVudFBv
c2l0aW9uLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2UsIHN0ZDo6b3B0aW9u
YWw8V2ViQ29yZTo6VGV4dEluZGljYXRvckRhdGE+LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50
JiBhbmNob3JQb2ludCwgdWludDY0X3QgYWN0aW9uKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRp
ZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlRleHRJ
bmRpY2F0b3JEYXRhPikgPSAwOwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKaW5kZXggOTVhYjJhNTRmN2IyNjYwZWE1ZmUxMTIxYzljZjE2OWVlMjRl
ZDg3MC4uYWUxYzE0NDlhYmViYzQ4YjUwMzYwMDFjNWEzZTYzY2EyZDUyNGUxZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNTYwLDYgKzU2MCw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIGRpZFBlcmZvcm1EYXRhSW50ZXJhY3Rpb25Db250cm9sbGVyT3BlcmF0aW9u
KCk7CiAgICAgdm9pZCBkaWRIYW5kbGVTdGFydERhdGFJbnRlcmFjdGlvblJlcXVlc3QoYm9vbCBz
dGFydGVkKTsKICAgICB2b2lkIHJlcXVlc3RTdGFydERhdGFJbnRlcmFjdGlvbihjb25zdCBXZWJD
b3JlOjpJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBn
bG9iYWxQb3NpdGlvbik7CisgICAgdm9pZCBkaWRDb25jbHVkZUVkaXREYXRhSW50ZXJhY3Rpb24o
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpUZXh0SW5kaWNhdG9yRGF0YT4pOwogI2VuZGlmCiAjZW5k
aWYKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBhODA3MGRkZDQ0NzUwZWQ0OWM5
MTlhMmQ0YTExMTYyM2QxMzAxOWFiLi5iOTdlMmY3NGJiMmViYmJhZjNkYWZlODkzMDcxMmU3ZGZk
YWFmOGE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW4KQEAgLTMxMSw2ICszMTEsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkg
ewogI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQogICAgIERpZFBlcmZvcm1EYXRhSW50ZXJh
Y3Rpb25Db250cm9sbGVyT3BlcmF0aW9uKCkKICAgICBEaWRIYW5kbGVTdGFydERhdGFJbnRlcmFj
dGlvblJlcXVlc3QoYm9vbCBzdGFydGVkKQorICAgIERpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFj
dGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlRleHRJbmRpY2F0b3JEYXRhPiB0ZXh0SW5kaWNh
dG9yKQogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAppbmRleCA0N2E5Zjk0NmJjOGMwYWFm
ZTc3ZTIwMmI0NmY2NDBkNzE2ZDNkN2UxLi41NWQxMTczOGI3ZmU4NWVkODc1NGE2YTU4YjlkMmNk
NGJkNjM0NTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VD
bGllbnRJbXBsSU9TLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xp
ZW50SW1wbElPUy5oCkBAIC0yMDUsNiArMjA1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFBl
cmZvcm1EYXRhSW50ZXJhY3Rpb25Db250cm9sbGVyT3BlcmF0aW9uKCkgb3ZlcnJpZGU7CiAgICAg
dm9pZCBkaWRIYW5kbGVTdGFydERhdGFJbnRlcmFjdGlvblJlcXVlc3QoYm9vbCBzdGFydGVkKSBv
dmVycmlkZTsKICAgICB2b2lkIHN0YXJ0RGF0YUludGVyYWN0aW9uV2l0aEltYWdlKGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpI
YW5kbGUmIGltYWdlLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlRleHRJbmRpY2F0b3JEYXRhPiwg
Y29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgYW5jaG9yUG9pbnQsIHVpbnQ2NF90IGFjdGlvbikg
b3ZlcnJpZGU7CisgICAgdm9pZCBkaWRDb25jbHVkZUVkaXREYXRhSW50ZXJhY3Rpb24oc3RkOjpv
cHRpb25hbDxXZWJDb3JlOjpUZXh0SW5kaWNhdG9yRGF0YT4pIG92ZXJyaWRlOwogI2VuZGlmCiAK
ICAgICBXS0NvbnRlbnRWaWV3ICptX2NvbnRlbnRWaWV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggODA0OWYxNWYxYzJmN2I4
YmQ3MTczMzUyZjNjYzVmMzkyNzhjYzljZC4uOTRmYTYyYWQyMmM2OGFhYzE3YjA0OWE0ZTI1NTI1
YTNiZTA1MjAwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdl
Q2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VD
bGllbnRJbXBsSU9TLm1tCkBAIC03NzcsNiArNzc3LDExIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6
OnN0YXJ0RGF0YUludGVyYWN0aW9uV2l0aEltYWdlKGNvbnN0IEludFBvaW50JiBjbGllbnRQb3Np
dGlvCiB7CiAgICAgW21fY29udGVudFZpZXcgX3N0YXJ0RGF0YUludGVyYWN0aW9uV2l0aEltYWdl
OlNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlKGltYWdlKS0+bWFrZUNHSW1hZ2VDb3B5KCkgd2l0aElu
ZGljYXRvckRhdGE6aW5kaWNhdG9yRGF0YSBhdENsaWVudFBvc2l0aW9uOkNHUG9pbnRNYWtlKGNs
aWVudFBvc2l0aW9uLngoKSwgY2xpZW50UG9zaXRpb24ueSgpKSBhbmNob3JQb2ludDphbmNob3JQ
b2ludCBhY3Rpb246YWN0aW9uXTsKIH0KKwordm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkQ29uY2x1
ZGVFZGl0RGF0YUludGVyYWN0aW9uKHN0ZDo6b3B0aW9uYWw8VGV4dEluZGljYXRvckRhdGE+IGRh
dGEpCit7CisgICAgW21fY29udGVudFZpZXcgX2RpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlv
bjpkYXRhXTsKK30KICNlbmRpZgogCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpoYW5kbGVBY3RpdmVO
b3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZShib29sIGhhc0FjdGl2ZVNlc3Npb24sIGNvbnN0
IFN0cmluZyYgdGl0bGUsIGRvdWJsZSBkdXJhdGlvbiwgZG91YmxlIGVsYXBzZWRUaW1lKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLmgKaW5kZXggN2FiNDhmNmRjNDVhMjFmY2FkNDc2M2ZiMjYzZmI1MjRhNTMwMDlhOC4u
NzMwYzVjYjAyNTE0NDdmZTRhYjhlNDZkNmU4MTUyODYxMDZlMTY3NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5o
CkBAIC0xMjEsNiArMTIxLDcgQEAgc3RydWN0IFdLQXV0b0NvcnJlY3Rpb25EYXRhIHsKIAogICAg
IFJldGFpblB0cjxVSVdLVGV4dEludGVyYWN0aW9uQXNzaXN0YW50PiBfdGV4dFNlbGVjdGlvbkFz
c2lzdGFudDsKICAgICBSZXRhaW5QdHI8VUlXS1NlbGVjdGlvbkFzc2lzdGFudD4gX3dlYlNlbGVj
dGlvbkFzc2lzdGFudDsKKyAgICBCT09MIF9zdXBwcmVzc0Fzc2lzdGFudFNlbGVjdGlvblZpZXc7
CiAKICAgICBSZXRhaW5QdHI8VUlUZXh0SW5wdXRUcmFpdHM+IF90cmFpdHM7CiAgICAgUmV0YWlu
UHRyPFVJV2ViRm9ybUFjY2Vzc29yeT4gX2Zvcm1BY2Nlc3NvcnlWaWV3OwpAQCAtMTkzLDYgKzE5
NCw5IEBAIHN0cnVjdCBXS0F1dG9Db3JyZWN0aW9uRGF0YSB7CiAgICAgUmV0YWluUHRyPFdLRGF0
YUludGVyYWN0aW9uPiBfZGF0YUludGVyYWN0aW9uOwogI2VuZGlmCiAgICAgQ0dQb2ludCBfZGVm
ZXJyZWRBY3Rpb25TaGVldFJlcXVlc3RMb2NhdGlvbjsKKyAgICBSZXRhaW5QdHI8VUlJbWFnZVZp
ZXc+IF92aXNpYmxlQ29udGVudFZpZXdTbmFwc2hvdDsKKyAgICBSZXRhaW5QdHI8VUlJbWFnZVZp
ZXc+IF9kYXRhSW50ZXJhY3Rpb25VbnNlbGVjdGVkQ29udGVudFNuYXBzaG90OworICAgIEJPT0wg
X2lzUnVubmluZ0NvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbkFuaW1hdGlvbjsKICNlbmRpZgog
fQogCkBAIC0yMTQsNiArMjE4LDcgQEAgc3RydWN0IFdLQXV0b0NvcnJlY3Rpb25EYXRhIHsKIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgY29uc3QgV2ViS2l0OjpXS0F1dG9Db3JyZWN0
aW9uRGF0YSYgYXV0b2NvcnJlY3Rpb25EYXRhOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRv
bmx5KSBjb25zdCBXZWJLaXQ6OkFzc2lzdGVkTm9kZUluZm9ybWF0aW9uJiBhc3Npc3RlZE5vZGVJ
bmZvcm1hdGlvbjsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgVUlXZWJGb3JtQWNj
ZXNzb3J5ICpmb3JtQWNjZXNzb3J5VmlldzsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIHN1
cHByZXNzQXNzaXN0YW50U2VsZWN0aW9uVmlldzsKIAogLSAodm9pZClzZXR1cEludGVyYWN0aW9u
OwogLSAodm9pZCljbGVhbnVwSW50ZXJhY3Rpb247CkBAIC0yNzcsNiArMjgyLDcgQEAgc3RydWN0
IFdLQXV0b0NvcnJlY3Rpb25EYXRhIHsKIC0gKHZvaWQpX2RpZFBlcmZvcm1EYXRhSW50ZXJhY3Rp
b25Db250cm9sbGVyT3BlcmF0aW9uOwogLSAodm9pZClfZGlkSGFuZGxlU3RhcnREYXRhSW50ZXJh
Y3Rpb25SZXF1ZXN0OihCT09MKXN0YXJ0ZWQ7CiAtICh2b2lkKV9zdGFydERhdGFJbnRlcmFjdGlv
bldpdGhJbWFnZTooUmV0YWluUHRyPENHSW1hZ2VSZWY+KWltYWdlIHdpdGhJbmRpY2F0b3JEYXRh
OihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlRleHRJbmRpY2F0b3JEYXRhPilpbmRpY2F0b3JEYXRh
IGF0Q2xpZW50UG9zaXRpb246KENHUG9pbnQpY2xpZW50UG9zaXRpb24gYW5jaG9yUG9pbnQ6KENH
UG9pbnQpYW5jaG9yUG9pbnQgYWN0aW9uOih1aW50NjRfdClhY3Rpb247CistICh2b2lkKV9kaWRD
b25jbHVkZUVkaXREYXRhSW50ZXJhY3Rpb246KHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6VGV4dElu
ZGljYXRvckRhdGE+KWRhdGE7CiAtICh2b2lkKV9zaW11bGF0ZURhdGFJbnRlcmFjdGlvbkVudGVy
ZWQ6KGlkKWluZm87CiAtICh2b2lkKV9zaW11bGF0ZURhdGFJbnRlcmFjdGlvblVwZGF0ZWQ6KGlk
KWluZm87CiAtICh2b2lkKV9zaW11bGF0ZURhdGFJbnRlcmFjdGlvblBlcmZvcm1PcGVyYXRpb246
KGlkKWluZm87CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDIyNjE5NzJiZmFkZGNlMjRmNTAxMDNlMzQ2
YTcyMmUzMzZlOWZjN2YuLmQ2OTQ2MzgwMTJlODAwZWEyMzE5NTE3MGNjNzQxOTFlYmVlZjhmYmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tCkBAIC04MjQsNyArODI0LDcgQEAgc3RhdGljIFVJV2ViU2VsZWN0
aW9uTW9kZSB0b1VJV2ViU2VsZWN0aW9uTW9kZShXS1NlbGVjdGlvbkdyYW51bGFyaXR5IGdyYW51
bGFyaXQKICAgICAgICAgU2V0Rm9yU2NvcGU8Qk9PTD4gYmVjb21pbmdGaXJzdFJlc3BvbmRlciB7
IF9iZWNvbWluZ0ZpcnN0UmVzcG9uZGVyLCBZRVMgfTsKICAgICAgICAgZGlkQmVjb21lRmlyc3RS
ZXNwb25kZXIgPSBbc3VwZXIgYmVjb21lRmlyc3RSZXNwb25kZXJdOwogICAgIH0KLSAgICBpZiAo
ZGlkQmVjb21lRmlyc3RSZXNwb25kZXIpCisgICAgaWYgKGRpZEJlY29tZUZpcnN0UmVzcG9uZGVy
ICYmICFzZWxmLnN1cHByZXNzQXNzaXN0YW50U2VsZWN0aW9uVmlldykKICAgICAgICAgW190ZXh0
U2VsZWN0aW9uQXNzaXN0YW50IGFjdGl2YXRlU2VsZWN0aW9uXTsKIAogICAgIHJldHVybiBkaWRC
ZWNvbWVGaXJzdFJlc3BvbmRlcjsKQEAgLTExMzUsMTYgKzExMzUsMjMgQEAgc3RhdGljIE5TVmFs
dWUgKm5zU2l6ZUZvclRhcEhpZ2hsaWdodEJvcmRlclJhZGl1cyhXZWJDb3JlOjpJbnRTaXplIGJv
cmRlclJhZGl1cywKIAogLSAodm9pZClfZGlzcGxheUZvcm1Ob2RlSW5wdXRWaWV3CiB7Ci0gICAg
Ly8gSW4gY2FzZSB1c2VyIHNjYWxpbmcgaXMgZm9yY2UgZW5hYmxlZCwgZG8gbm90IHVzZSB0aGF0
IHNjYWxpbmcgd2hlbiB6b29taW5nIGluIHdpdGggYW4gaW5wdXQgZmllbGQuCi0gICAgLy8gWm9v
bWluZyBhYm92ZSB0aGUgcGFnZSdzIGRlZmF1bHQgc2NhbGUgZmFjdG9yIHNob3VsZCBvbmx5IGhh
cHBlbiB3aGVuIHRoZSB1c2VyIHBlcmZvcm1zIGl0LgotICAgIFtzZWxmIF96b29tVG9Gb2N1c1Jl
Y3Q6X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVsZW1lbnRSZWN0Ci0gICAgICAgICAgICAgc2Vs
ZWN0aW9uUmVjdDogX2RpZEFjY2Vzc29yeVRhYkluaXRpYXRlRm9jdXMgPyBJbnRSZWN0KCkgOiBf
YXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uc2VsZWN0aW9uUmVjdAotICAgICAgICAgICAgICAgaW5z
aWRlRml4ZWQ6X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmluc2lkZUZpeGVkUG9zaXRpb24KLSAg
ICAgICAgICAgICAgICAgIGZvbnRTaXplOl9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5ub2RlRm9u
dFNpemUKLSAgICAgICAgICAgICAgbWluaW11bVNjYWxlOl9hc3Npc3RlZE5vZGVJbmZvcm1hdGlv
bi5taW5pbXVtU2NhbGVGYWN0b3IKLSAgICAgICAgICAgICAgbWF4aW11bVNjYWxlOl9hc3Npc3Rl
ZE5vZGVJbmZvcm1hdGlvbi5tYXhpbXVtU2NhbGVGYWN0b3JJZ25vcmluZ0Fsd2F5c1NjYWxhYmxl
Ci0gICAgICAgICAgICAgIGFsbG93U2NhbGluZzooX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmFs
bG93c1VzZXJTY2FsaW5nSWdub3JpbmdBbHdheXNTY2FsYWJsZSAmJiAhVUlDdXJyZW50VXNlcklu
dGVyZmFjZUlkaW9tSXNQYWQoKSkKLSAgICAgICAgICAgICAgIGZvcmNlU2Nyb2xsOltzZWxmIHJl
cXVpcmVzQWNjZXNzb3J5Vmlld11dOworICAgIEJPT0wgc2hvdWxkWm9vbVRvRm9jdXNSZWN0ID0g
WUVTOworI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQorICAgIC8vIEZJWE1FOiBXZSBuZWVk
IHRvIHRlYWNoIFdLV2ViVmlldyB0byBwcm9wZXJseSB6b29tIGFuZCBzY3JvbGwgZHVyaW5nIGEg
ZGF0YSBpbnRlcmFjdGlvbiBvcGVyYXRpb24uCisgICAgc2hvdWxkWm9vbVRvRm9jdXNSZWN0ID0g
IVtXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkIHNoYXJlZEluc3RhbmNlXS5oYXNQZW5kaW5nT3Bl
cmF0aW9uOworI2VuZGlmCisgICAgaWYgKHNob3VsZFpvb21Ub0ZvY3VzUmVjdCkgeworICAgICAg
ICAvLyBJbiBjYXNlIHVzZXIgc2NhbGluZyBpcyBmb3JjZSBlbmFibGVkLCBkbyBub3QgdXNlIHRo
YXQgc2NhbGluZyB3aGVuIHpvb21pbmcgaW4gd2l0aCBhbiBpbnB1dCBmaWVsZC4KKyAgICAgICAg
Ly8gWm9vbWluZyBhYm92ZSB0aGUgcGFnZSdzIGRlZmF1bHQgc2NhbGUgZmFjdG9yIHNob3VsZCBv
bmx5IGhhcHBlbiB3aGVuIHRoZSB1c2VyIHBlcmZvcm1zIGl0LgorICAgICAgICBbc2VsZiBfem9v
bVRvRm9jdXNSZWN0Ol9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50UmVjdAorICAgICAg
ICAgICAgICAgICBzZWxlY3Rpb25SZWN0OiBfZGlkQWNjZXNzb3J5VGFiSW5pdGlhdGVGb2N1cyA/
IEludFJlY3QoKSA6IF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5zZWxlY3Rpb25SZWN0CisgICAg
ICAgICAgICAgICAgICAgaW5zaWRlRml4ZWQ6X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmluc2lk
ZUZpeGVkUG9zaXRpb24KKyAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTpfYXNzaXN0ZWRO
b2RlSW5mb3JtYXRpb24ubm9kZUZvbnRTaXplCisgICAgICAgICAgICAgICAgICBtaW5pbXVtU2Nh
bGU6X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLm1pbmltdW1TY2FsZUZhY3RvcgorICAgICAgICAg
ICAgICAgICAgbWF4aW11bVNjYWxlOl9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5tYXhpbXVtU2Nh
bGVGYWN0b3JJZ25vcmluZ0Fsd2F5c1NjYWxhYmxlCisgICAgICAgICAgICAgICAgICBhbGxvd1Nj
YWxpbmc6KF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5hbGxvd3NVc2VyU2NhbGluZ0lnbm9yaW5n
QWx3YXlzU2NhbGFibGUgJiYgIVVJQ3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlzUGFkKCkpCisg
ICAgICAgICAgICAgICAgICAgZm9yY2VTY3JvbGw6W3NlbGYgcmVxdWlyZXNBY2Nlc3NvcnlWaWV3
XV07CisgICAgfQogCiAgICAgX2RpZEFjY2Vzc29yeVRhYkluaXRpYXRlRm9jdXMgPSBOTzsKICAg
ICBbc2VsZiBfZW5zdXJlRm9ybUFjY2Vzc29yeVZpZXddOwpAQCAtMTcwMyw3ICsxNzEwLDcgQEAg
c3RhdGljIHZvaWQgY2FuY2VsUG90ZW50aWFsVGFwSWZOZWNlc3NhcnkoV0tDb250ZW50Vmlldyog
Y29udGVudFZpZXcpCiAgICAgICAgICAgICBbX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgc2V0R2Vz
dHVyZVJlY29nbml6ZXJzXTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChzZWxmLmlzRmlyc3RS
ZXNwb25kZXIpCisgICAgICAgIGlmIChzZWxmLmlzRmlyc3RSZXNwb25kZXIgJiYgIXNlbGYuc3Vw
cHJlc3NBc3Npc3RhbnRTZWxlY3Rpb25WaWV3KQogICAgICAgICAgICAgW190ZXh0U2VsZWN0aW9u
QXNzaXN0YW50IGFjdGl2YXRlU2VsZWN0aW9uXTsKICAgICB9CiB9CkBAIC0zODc1LDEzICszODgy
LDM1IEBAIHN0YXRpYyBib29sIGlzQXNzaXN0YWJsZUlucHV0VHlwZShJbnB1dFR5cGUgdHlwZSkK
ICAgICAgICAgW193ZWJTZWxlY3Rpb25Bc3Npc3RhbnQgZGlkRW5kU2Nyb2xsaW5nT3Jab29taW5n
UGFnZV07CiAgICAgICAgIFtbX3dlYlNlbGVjdGlvbkFzc2lzdGFudCBzZWxlY3Rpb25WaWV3XSBz
ZXRIaWRkZW46Tk9dOwogCi0gICAgICAgIFtfdGV4dFNlbGVjdGlvbkFzc2lzdGFudCBhY3RpdmF0
ZVNlbGVjdGlvbl07CisgICAgICAgIGlmICghc2VsZi5zdXBwcmVzc0Fzc2lzdGFudFNlbGVjdGlv
blZpZXcpCisgICAgICAgICAgICBbX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgYWN0aXZhdGVTZWxl
Y3Rpb25dOworCiAgICAgICAgIFtfdGV4dFNlbGVjdGlvbkFzc2lzdGFudCBkaWRFbmRTY3JvbGxp
bmdPdmVyZmxvd107CiAKICAgICAgICAgX25lZWRzRGVmZXJyZWRFbmRTY3JvbGxpbmdTZWxlY3Rp
b25VcGRhdGUgPSBOTzsKICAgICB9CiB9CiAKKy0gKEJPT0wpc3VwcHJlc3NBc3Npc3RhbnRTZWxl
Y3Rpb25WaWV3Cit7CisgICAgcmV0dXJuIF9zdXBwcmVzc0Fzc2lzdGFudFNlbGVjdGlvblZpZXc7
Cit9CisKKy0gKHZvaWQpc2V0U3VwcHJlc3NBc3Npc3RhbnRTZWxlY3Rpb25WaWV3OihCT09MKXN1
cHByZXNzQXNzaXN0YW50U2VsZWN0aW9uVmlldworeworICAgIGlmIChfc3VwcHJlc3NBc3Npc3Rh
bnRTZWxlY3Rpb25WaWV3ID09IHN1cHByZXNzQXNzaXN0YW50U2VsZWN0aW9uVmlldykKKyAgICAg
ICAgcmV0dXJuOworCisgICAgX3N1cHByZXNzQXNzaXN0YW50U2VsZWN0aW9uVmlldyA9IHN1cHBy
ZXNzQXNzaXN0YW50U2VsZWN0aW9uVmlldzsKKyAgICBpZiAoIV90ZXh0U2VsZWN0aW9uQXNzaXN0
YW50KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoc3VwcHJlc3NBc3Npc3RhbnRTZWxlY3Rp
b25WaWV3KQorICAgICAgICBbX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgZGVhY3RpdmF0ZVNlbGVj
dGlvbl07CisgICAgZWxzZQorICAgICAgICBbX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgYWN0aXZh
dGVTZWxlY3Rpb25dOworfQorCiAtICh2b2lkKV9zaG93UGxheWJhY2tUYXJnZXRQaWNrZXI6KEJP
T0wpaGFzVmlkZW8gZnJvbVJlY3Q6KGNvbnN0IEludFJlY3QmKWVsZW1lbnRSZWN0CiB7CiAgICAg
aWYgKCFfYWlyUGxheVJvdXRlUGlja2VyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1dlYlBhZ2VQcm94eUlPUy5tbQppbmRleCBhNjIwYmQ5NWY1NmJlMjgyN2M2YmY3ZDI1MGYy
NGQ3ZTE0YmU1NTk1Li45NmIzZDhmYmE5ZGQ3MGUwMTljOTcxNTc3ODI2MTU1OWVhZDdjNDc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpA
QCAtMTEzMiw2ICsxMTMyLDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0U3RhcnREYXRh
SW50ZXJhY3Rpb24oY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGNsaWVudFBvCiAgICAgICAgIG1f
cHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6UmVxdWVzdFN0YXJ0RGF0YUludGVyYWN0
aW9uKGNsaWVudFBvc2l0aW9uLCBnbG9iYWxQb3NpdGlvbiksIG1fcGFnZUlEKTsKIH0KIAordm9p
ZCBXZWJQYWdlUHJveHk6OmRpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbihzdGQ6Om9wdGlv
bmFsPFRleHRJbmRpY2F0b3JEYXRhPiBkYXRhKQoreworICAgIG1fcGFnZUNsaWVudC5kaWRDb25j
bHVkZUVkaXREYXRhSW50ZXJhY3Rpb24oZGF0YSk7Cit9CisKICNlbmRpZgogCiAjaWYgVVNFKFFV
SUNLX0xPT0spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkRyYWdDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5oCmluZGV4IGE5NmVlODE2MjAzNjJlM2VhOTIzNTU3Mjg3
MDJkYjZkMmUzNzBlZWEuLjU0NzhkZDVmMDYzYzlmYzNmNmNhNDI5YTZjMTYxYTg2NGIzYWFlMTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RHJhZ0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRHJhZ0NsaWVudC5oCkBAIC00OCw2ICs0OCw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29y
ZTo6RHJhZ1NvdXJjZUFjdGlvbiBkcmFnU291cmNlQWN0aW9uTWFza0ZvclBvaW50KGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiB3aW5kb3dQb2ludCkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHN0YXJ0
RHJhZyhXZWJDb3JlOjpEcmFnSW1hZ2UsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBkcmFnSW1h
Z2VPcmlnaW4sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBldmVudFBvcywgY29uc3QgV2ViQ29y
ZTo6RmxvYXRQb2ludCYgZHJhZ0ltYWdlQW5jaG9yLCBXZWJDb3JlOjpEYXRhVHJhbnNmZXImLCBX
ZWJDb3JlOjpGcmFtZSYsIFdlYkNvcmU6OkRyYWdTb3VyY2VBY3Rpb24pIG92ZXJyaWRlOworICAg
IHZvaWQgZGlkQ29uY2x1ZGVFZGl0RHJhZygpIG92ZXJyaWRlOwogCiAjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgdm9pZCBkZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UoY29uc3QgU3RyaW5nJiBwYXN0
ZWJvYXJkTmFtZSwgV2ViQ29yZTo6RWxlbWVudCYsIGNvbnN0IFdlYkNvcmU6OlVSTCYsIGNvbnN0
IFN0cmluZyYsIFdlYkNvcmU6OkZyYW1lKikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJEcmFnQ2xpZW50R3RrLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkRyYWdD
bGllbnRHdGsuY3BwCmluZGV4IDAzOThkY2EyZTA4YmM5ZDAxMjczMTk4OWMzOWJhMGQ0NTc2NDMy
MzQuLjgyNDRmMDFhYjlmMDYwNzc2Y2YwYzk0OTMxZmIzYzFmNjA1NGViZWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkRyYWdDbGll
bnRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
Z3RrL1dlYkRyYWdDbGllbnRHdGsuY3BwCkBAIC01Niw2ICs1NiwxMCBAQCBzdGF0aWMgUmVmUHRy
PFNoYXJlYWJsZUJpdG1hcD4gY29udmVydENhaXJvU3VyZmFjZVRvU2hhcmVhYmxlQml0bWFwKGNh
aXJvX3N1cmZhYwogICAgIHJldHVybiBiaXRtYXA7CiB9CiAKK3ZvaWQgV2ViRHJhZ0NsaWVudDo6
ZGlkQ29uY2x1ZGVFZGl0RHJhZygpCit7Cit9CisKIHZvaWQgV2ViRHJhZ0NsaWVudDo6c3RhcnRE
cmFnKERyYWdJbWFnZSBkcmFnSW1hZ2UsIGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwg
Y29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBjb25zdCBGbG9hdFBvaW50JiwgRGF0YVRy
YW5zZmVyJiBkYXRhVHJhbnNmZXIsIEZyYW1lJiwgRHJhZ1NvdXJjZUFjdGlvbikKIHsKICAgICBS
ZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBiaXRtYXAgPSBjb252ZXJ0Q2Fpcm9TdXJmYWNlVG9TaGFy
ZWFibGVCaXRtYXAoZHJhZ0ltYWdlLmdldCgpLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkRyYWdDbGllbnRNYWMubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJEcmFnQ2xp
ZW50TWFjLm1tCmluZGV4IDYwNzljNWQyM2Q4ODIzMjEzNDA5MDMwYjY5YmQ3MTI0OTcwMDIyODcu
LjU3MTQ0YWZjM2M1ZmYzZjZlMjQzNzVmYTNjYmMwMzBjMDJlYTk3Y2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkRyYWdDbGllbnRN
YWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMv
V2ViRHJhZ0NsaWVudE1hYy5tbQpAQCAtODIsNiArODIsMTAgQEAgc3RhdGljIFBhc3NSZWZQdHI8
U2hhcmVhYmxlQml0bWFwPiBjb252ZXJ0SW1hZ2VUb0JpdG1hcChOU0ltYWdlICppbWFnZSwgY29u
c3QgSW4KICAgICByZXR1cm4gV1RGTW92ZShiaXRtYXApOwogfQogCit2b2lkIFdlYkRyYWdDbGll
bnQ6OmRpZENvbmNsdWRlRWRpdERyYWcoKQoreworfQorCiB2b2lkIFdlYkRyYWdDbGllbnQ6OnN0
YXJ0RHJhZyhEcmFnSW1hZ2UgaW1hZ2UsIGNvbnN0IEludFBvaW50JiBwb2ludCwgY29uc3QgSW50
UG9pbnQmLCBjb25zdCBGbG9hdFBvaW50JiwgRGF0YVRyYW5zZmVyJiwgRnJhbWUmIGZyYW1lLCBE
cmFnU291cmNlQWN0aW9uIGRyYWdTb3VyY2VBY3Rpb24pCiB7CiAgICAgSW50U2l6ZSBiaXRtYXBT
aXplKFtpbWFnZS5nZXQoKSBzaXplXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaAppbmRleCAwNmQyNzg3NWQ4MDlmMGVmNDc3MDk0OTVlOTgwMTY4MjI5MWIy
MzQ2Li4zYWI5OWJjMmU2Nzk2NTY1MjMxMTUyZjc5YmNkZjdkM2U5YjU1MWUyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTk2Niw2ICs5NjYsMTAg
QEAgcHVibGljOgogICAgIHZvaWQgZGlkR2V0TG9hZERlY2lzaW9uRm9ySWNvbihib29sIGRlY2lz
aW9uLCB1aW50NjRfdCBsb2FkSWRlbnRpZmllciwgdWludDY0X3QgbmV3Q2FsbGJhY2tJRCk7CiAg
ICAgdm9pZCBzZXRVc2VJY29uTG9hZGluZ0NsaWVudChib29sKTsKIAorI2lmIEVOQUJMRShEQVRB
X0lOVEVSQUNUSU9OKQorICAgIHZvaWQgZGlkQ29uY2x1ZGVFZGl0RGF0YUludGVyYWN0aW9uKCk7
CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVycyYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDg1ZWY4ZGYzM2FhYjg5NmExMmM4
MmI1MDAzZDNkZDQ4ZjYwZTg2YzguLjJjZTI2ZjYzZDVhMWIzMDZmNDhhOTA0OThlODUxNmZhNjc3
Y2JmNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9pb3Mv
V2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9z
L1dlYlBhZ2VJT1MubW0KQEAgLTY0Niw2ICs2NDYsMTkgQEAgdm9pZCBXZWJQYWdlOjpyZXF1ZXN0
U3RhcnREYXRhSW50ZXJhY3Rpb24oY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25z
dAogICAgIGJvb2wgZGlkU3RhcnQgPSBtX3BhZ2UtPm1haW5GcmFtZSgpLmV2ZW50SGFuZGxlcigp
LnRyeVRvQmVnaW5EYXRhSW50ZXJhY3Rpb25BdFBvaW50KGNsaWVudFBvc2l0aW9uLCBnbG9iYWxQ
b3NpdGlvbik7CiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRIYW5kbGVTdGFy
dERhdGFJbnRlcmFjdGlvblJlcXVlc3QoZGlkU3RhcnQpKTsKIH0KKwordm9pZCBXZWJQYWdlOjpk
aWRDb25jbHVkZUVkaXREYXRhSW50ZXJhY3Rpb24oKQoreworICAgIHN0ZDo6b3B0aW9uYWw8VGV4
dEluZGljYXRvckRhdGE+IHRleHRJbmRpY2F0b3JEYXRhOworCisgICAgYXV0byYgZnJhbWUgPSBt
X3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZvY3VzZWRPck1haW5GcmFtZSgpOworICAgIGlmIChh
dXRvIHJhbmdlID0gZnJhbWUuc2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkudG9Ob3JtYWxpemVkUmFu
Z2UoKSkgeworICAgICAgICBpZiAoYXV0byB0ZXh0SW5kaWNhdG9yID0gVGV4dEluZGljYXRvcjo6
Y3JlYXRlV2l0aFJhbmdlKCpyYW5nZSwgVGV4dEluZGljYXRvck9wdGlvbkRvTm90Q2xpcFRvVmlz
aWJsZVJlY3QgfCBUZXh0SW5kaWNhdG9yT3B0aW9uUGFpbnRBbGxDb250ZW50IHwgVGV4dEluZGlj
YXRvck9wdGlvbkluY2x1ZGVNYXJnaW5JZlJhbmdlTWF0Y2hlc1NlbGVjdGlvbiB8IFRleHRJbmRp
Y2F0b3JPcHRpb25QYWludEJhY2tncm91bmRzIHwgVGV4dEluZGljYXRvck9wdGlvbkluY2x1ZGVT
bmFwc2hvdFdpdGhvdXRTZWxlY3Rpb24sIFRleHRJbmRpY2F0b3JQcmVzZW50YXRpb25UcmFuc2l0
aW9uOjpOb25lKSkKKyAgICAgICAgICAgIHRleHRJbmRpY2F0b3JEYXRhID0gdGV4dEluZGljYXRv
ci0+ZGF0YSgpOworICAgIH0KKworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlk
Q29uY2x1ZGVFZGl0RGF0YUludGVyYWN0aW9uKHRleHRJbmRpY2F0b3JEYXRhKSk7Cit9CiAjZW5k
aWYKIAogdm9pZCBXZWJQYWdlOjpzZW5kVGFwSGlnaGxpZ2h0Rm9yTm9kZUlmTmVjZXNzYXJ5KHVp
bnQ2NF90IHJlcXVlc3RJRCwgTm9kZSogbm9kZSkK
</data>
<flag name="review"
          id="325471"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303893</attachid>
            <date>2017-03-08 20:36:47 -0800</date>
            <delta_ts>2017-03-08 21:16:24 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-169392-20170308203620.patch</filename>
            <type>text/plain</type>
            <size>22701</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEzNjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjI5MjAxYzU1OTNiNjU5
NzQ5ZmUzZDc1YTBlYWYzZGJkOTg3MjYxNS4uMWMxY2MwNDVhODE4YWNkNDQxNzIyYWYwNmUzMDI0
M2I2MWM0OGJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE3LTAzLTA4ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBwbHVtYmlu
ZyBmb3IgV2ViQ29yZSB0byBub3RpZnkgV2ViS2l0MiB3aGVuIGFuIGVkaXQgZHJhZyBoYXMgY29u
Y2x1ZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjkzOTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMwODgyOTc0PgorCisgICAgICAgIFJldmll
d2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgQWRkIERyYWdDbGllbnQ6OmRpZENvbmNsdWRl
RWRpdERyYWcgYW5kIGludm9rZSBpdCBhZnRlciBwZXJmb3JtaW5nIGFuIGVkaXQgZHJhZyBpbgor
ICAgICAgICBEcmFnQ29udHJvbGxlcjo6cGVyZm9ybURyYWdPcGVyYXRpb24uCisKKyAgICAgICAg
KiBwYWdlL0RyYWdDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdDbGllbnQ6OmRpZENv
bmNsdWRlRWRpdERyYWcpOgorICAgICAgICAqIHBhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OnBlcmZvcm1EcmFnT3BlcmF0aW9uKToKKwog
MjAxNy0wMy0wOCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgRml4IG1pc3NpbmcgcmV0dXJuIHZhbHVlIGFmdGVyIHIyMTM0OTkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwppbmRleCBhYTg0NDJjOWY1NmI2YzFkMTZmM2NhYjM0MDA4YTUxZDI4MDhmZTJhLi44MzZh
ODk3YTk1YjU2N2VjNjY2ZTczNzdlYjYwY2EwZjc4OTUxOWFhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTctMDMtMDggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIHBsdW1iaW5nIGZvciBXZWJDb3JlIHRvIG5vdGlmeSBX
ZWJLaXQyIHdoZW4gYW4gZWRpdCBkcmFnIGhhcyBjb25jbHVkZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2OTM5MgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMzA4ODI5NzQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAg
ICAgICBBZGQgYSBzdHViIGltcGxlbWVudGF0aW9uIG9mIFdlYkRyYWdDbGllbnQ6OmRpZENvbmNs
dWRlRWRpdERyYWcuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50Lmg6
CisKIDIwMTctMDMtMDggIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAog
ICAgICAgICBTaW1wbGlmeSB0aGUgUGF5bWVudENvb3JkaW5hdG9yIGludGVyZmFjZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CmluZGV4IDdkY2E1ZDg2NzQxNTgxN2VlYzg1ZTI4ZjIyNTI2ZTU3OGVmMzEyMzguLjIxZThjODcx
NDk1ZGE3ODQ0MTdkN2Q3ZThhMjQwNWJmYWI4OWRlNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSw1
MCBAQAogMjAxNy0wMy0wOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4K
IAorICAgICAgICBBZGQgcGx1bWJpbmcgZm9yIFdlYkNvcmUgdG8gbm90aWZ5IFdlYktpdDIgd2hl
biBhbiBlZGl0IGRyYWcgaGFzIGNvbmNsdWRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5MzkyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMDg4
Mjk3ND4KKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIEFkZCBi
b2lsZXJwbGF0ZSBwbHVtYmluZyBmb3IgZGlkQ29uY2x1ZGVFZGl0RGF0YUludGVyYWN0aW9uIGZy
b20gdGhlIHdlYiBwcm9jZXNzIHRvIHRoZSBVSSBwcm9jZXNzLiBBbHNvIG1ha2VzCisgICAgICAg
IHNvbWUgbWlub3IgdHdlYWtzIHRvIFdLQ29udGVudFZpZXcgYWxvbmcgdGhlIHdheS4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46
CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlBh
Z2VDbGllbnRJbXBsOjpkaWRDb25jbHVkZUVkaXREYXRhSW50ZXJhY3Rpb24pOgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisKKyAgICAgICAgQmFpbCBv
dXQgb2Ygem9vbWluZyB0byB0aGUgZm9jdXMgcmVjdCB3aGVuIHBlcmZvcm1pbmcgYSBkYXRhIGlu
dGVyYWN0aW9uIG9wZXJhdGlvbi4gVGhpcyBuZWVkcyB0byBldmVudHVhbGx5CisgICAgICAgIHdv
cmssIGJ1dCBpcyBub3QgaGlnaCBwcmlvcml0eSBhdCB0aGUgbW9tZW50LgorCisgICAgICAgICgt
W1dLQ29udGVudFZpZXcgYmVjb21lRmlyc3RSZXNwb25kZXJGb3JXZWJWaWV3XSk6CisgICAgICAg
ICgtW1dLQ29udGVudFZpZXcgX2Rpc3BsYXlGb3JtTm9kZUlucHV0Vmlld10pOgorICAgICAgICAo
LVtXS0NvbnRlbnRWaWV3IHVzZVNlbGVjdGlvbkFzc2lzdGFudFdpdGhNb2RlOl0pOgorICAgICAg
ICAoLVtXS0NvbnRlbnRWaWV3IF91cGRhdGVDaGFuZ2VkU2VsZWN0aW9uOl0pOgorICAgICAgICAo
LVtXS0NvbnRlbnRWaWV3IHN1cHByZXNzQXNzaXN0YW50U2VsZWN0aW9uVmlld10pOgorICAgICAg
ICAoLVtXS0NvbnRlbnRWaWV3IHNldFN1cHByZXNzQXNzaXN0YW50U2VsZWN0aW9uVmlldzpdKToK
KworICAgICAgICBBZGQgYSBtZWNoYW5pc20gZm9yIHN1cHByZXNzaW5nIHRoZSB0ZXh0IGludGVy
YWN0aW9uIGFzc2lzdGFudCdzIHNlbGVjdGlvbiB2aWV3LiBJZiB0aGUgdGV4dCBpbnRlcmFjdGlv
bgorICAgICAgICBhc3Npc3RhbnQgZXhpc3RzIHdoaWxlIGJlZ2lubmluZyBvciBlbmRpbmcgc3Vw
cHJlc3Npb24sIHRoZSBzZWxlY3Rpb24gd2lsbCBiZSBkZWFjdGl2YXRlZCBvciBhY3RpdmF0ZWQu
IElmIHRoZXJlCisgICAgICAgIGlzIG5vdCB0ZXh0IGludGVyYWN0aW9uIGFzc2lzdGFudCwgdGhl
biB3ZSBpbnN0ZWFkIHJlbWVtYmVyIHdoZXRoZXIgb3Igbm90IHdlIHNob3VsZCBiZSBzdXBwcmVz
c2luZyB0aGUKKyAgICAgICAgc2VsZWN0aW9uLCBhbmQgYmFpbCBvdXQgb2YgYWN0aXZhdGluZyB0
aGUgc2VsZWN0aW9uIGlmIHNvLgorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJv
eHlJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGlkQ29uY2x1ZGVFZGl0
RGF0YUludGVyYWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkRyYWdDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9X
ZWJEcmFnQ2xpZW50R3RrLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L21hYy9XZWJEcmFnQ2xpZW50TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJEcmFnQ2xpZW50
OjpkaWRDb25jbHVkZUVkaXREcmFnKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGlkQ29uY2x1ZGVFZGl0RGF0YUludGVyYWN0aW9u
KToKKworMjAxNy0wMy0wOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4K
KwogICAgICAgICBBZGQgVGV4dEluZGljYXRvciBzdXBwb3J0IGZvciBwcm92aWRpbmcgYSBzbmFw
c2hvdCBleGNsdWRpbmcgc2VsZWN0ZWQgY29udGVudAogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5MzA5CiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8z
MDg4MzUyNT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NsaWVudC5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ2xpZW50LmgKaW5kZXggYjAyMjA3ZDhjMzRmYzNhMTE2
ODA0YzVhMDQ2ZGQ1Nzk0ZWZmNmRhMC4uZGI3ZWU3MTA4NzJmMjE4NzM1MWI2MGMyODk2YWU2MmY3
NzI3YzY0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ2xpZW50LmgKQEAgLTQ2LDYgKzQ2LDcgQEAgcHVi
bGljOgogCiAgICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3JtRHJhZ0Rlc3RpbmF0aW9uQWN0aW9u
KERyYWdEZXN0aW5hdGlvbkFjdGlvbiwgY29uc3QgRHJhZ0RhdGEmKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIHdpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihEcmFnU291cmNlQWN0aW9uLCBjb25z
dCBJbnRQb2ludCYsIERhdGFUcmFuc2ZlciYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ29u
Y2x1ZGVFZGl0RHJhZygpIHsgfQogICAgIHZpcnR1YWwgRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uIGFj
dGlvbk1hc2tGb3JEcmFnKGNvbnN0IERyYWdEYXRhJikgPSAwOwogICAgIHZpcnR1YWwgRHJhZ1Nv
dXJjZUFjdGlvbiBkcmFnU291cmNlQWN0aW9uTWFza0ZvclBvaW50KGNvbnN0IEludFBvaW50JiBy
b290Vmlld1BvaW50KSA9IDA7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RyYWdDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIu
Y3BwCmluZGV4IGIyZDgxMjA5MWNlN2YyYzExMzZmMTViN2M2MjAzYjM0ZDI5MDZjNmEuLmE4ZDEw
MmQ3ZmE5NTdiNjk5MWZiMDVjYmJkN2VhMzdjNTczYTg5ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RHJhZ0NvbnRyb2xsZXIuY3BwCkBAIC0yNDYsNiArMjQ2LDcgQEAgYm9vbCBEcmFnQ29udHJvbGxl
cjo6cGVyZm9ybURyYWdPcGVyYXRpb24oY29uc3QgRHJhZ0RhdGEmIGRyYWdEYXRhKQogICAgIH0K
IAogICAgIGlmICgobV9kcmFnRGVzdGluYXRpb25BY3Rpb24gJiBEcmFnRGVzdGluYXRpb25BY3Rp
b25FZGl0KSAmJiBjb25jbHVkZUVkaXREcmFnKGRyYWdEYXRhKSkgeworICAgICAgICBtX2NsaWVu
dC5kaWRDb25jbHVkZUVkaXREcmFnKCk7CiAgICAgICAgIG1fZG9jdW1lbnRVbmRlck1vdXNlID0g
bnVsbHB0cjsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5oIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5oCmluZGV4IGZhNDRhN2Y2NWU4Mzk3
NDEwODJiMjVmMjhjMTZiNGMyOGE5ZWU4YTIuLmU2OTZkMGVjMzA0NjgzOGMwNDRjYWQwN2RhNDJk
ODBhODI4NjIxZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkRyYWdDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJEcmFnQ2xpZW50LmgKQEAgLTQ4LDYgKzQ4LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShBVFRB
Q0hNRU5UX0VMRU1FTlQpCiAgICAgdm9pZCBkZWNsYXJlQW5kV3JpdGVBdHRhY2htZW50KGNvbnN0
IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIFdlYkNvcmU6OkVsZW1lbnQmLCBjb25zdCBXZWJDb3Jl
OjpVUkwmLCBjb25zdCBTdHJpbmcmIHBhdGgsIFdlYkNvcmU6OkZyYW1lKikgb3ZlcnJpZGU7CiAj
ZW5kaWYKKyAgICB2b2lkIGRpZENvbmNsdWRlRWRpdERyYWcoKSBvdmVycmlkZSB7IH0KIHByaXZh
dGU6CiAgICAgV2ViVmlldyogbV93ZWJWaWV3OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFn
ZUNsaWVudC5oCmluZGV4IDU4YjJjYTk3ZTk4MmUxYThmNmNkMGVlZmIyZWY4MDk5NzdlMjU1YzAu
LmUyYzUxZDVhN2Q5MTFhY2U3NGE4NWY4OWFkMWJmMTc0MWRhZDM1ZWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtMzg0LDYgKzM4NCw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgZGlkUGVyZm9ybURhdGFJbnRlcmFjdGlvbkNvbnRyb2xsZXJPcGVyYXRpb24o
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZEhhbmRsZVN0YXJ0RGF0YUludGVyYWN0aW9uUmVx
dWVzdChib29sIHN0YXJ0ZWQpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnREYXRhSW50ZXJh
Y3Rpb25XaXRoSW1hZ2UoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBj
b25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2UsIHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6VGV4dEluZGljYXRvckRhdGE+LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBhbmNob3JQ
b2ludCwgdWludDY0X3QgYWN0aW9uKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZENvbmNsdWRl
RWRpdERhdGFJbnRlcmFjdGlvbihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlRleHRJbmRpY2F0b3JE
YXRhPikgPSAwOwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKaW5kZXggNjRkN2M2MTZhYThkM2EyZjFlNDY4Njg0YjViNDdhOWY4MDJiZWIzZC4uYzFh
ODJkYzlkNWFmZGJiMTMwMTc0YmRmYmMxYTAwOWE4NWJmMTRjZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNTYyLDYgKzU2Miw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIGRpZFBlcmZvcm1EYXRhSW50ZXJhY3Rpb25Db250cm9sbGVyT3BlcmF0aW9uKCk7CiAgICAg
dm9pZCBkaWRIYW5kbGVTdGFydERhdGFJbnRlcmFjdGlvblJlcXVlc3QoYm9vbCBzdGFydGVkKTsK
ICAgICB2b2lkIHJlcXVlc3RTdGFydERhdGFJbnRlcmFjdGlvbihjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBnbG9iYWxQb3Np
dGlvbik7CisgICAgdm9pZCBkaWRDb25jbHVkZUVkaXREYXRhSW50ZXJhY3Rpb24oc3RkOjpvcHRp
b25hbDxXZWJDb3JlOjpUZXh0SW5kaWNhdG9yRGF0YT4pOwogI2VuZGlmCiAjZW5kaWYKICNpZiBF
TkFCTEUoREFUQV9ERVRFQ1RJT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCAyM2RiMTA3YWY5ZmUzNjY0MjA5YmEyYTJhODFl
N2E1ZTA4YjM2ZjcxLi5kYzkzYzQ4MDdkYTE5OWJmOTQ2N2MwMjZkZjM0OTVkODcyMDk5MzI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KQEAgLTMxMSw2ICszMTEsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2lmIEVO
QUJMRShEQVRBX0lOVEVSQUNUSU9OKQogICAgIERpZFBlcmZvcm1EYXRhSW50ZXJhY3Rpb25Db250
cm9sbGVyT3BlcmF0aW9uKCkKICAgICBEaWRIYW5kbGVTdGFydERhdGFJbnRlcmFjdGlvblJlcXVl
c3QoYm9vbCBzdGFydGVkKQorICAgIERpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbihzdGQ6
Om9wdGlvbmFsPFdlYkNvcmU6OlRleHRJbmRpY2F0b3JEYXRhPiB0ZXh0SW5kaWNhdG9yKQogI2Vu
ZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAppbmRleCBkZWU3YjY1ZmUwMWIzYzlkMTY5NTA5OWRj
NGEwYmQ4YjkwOTFiNTM3Li5lOWY4YTMzMWJmM2Q5ZDVkMDllZDgyNzM5ZmFlNDdlMWI4OWM5MmVk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5oCkBAIC0yMDYsNiArMjA2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFBlcmZvcm1EYXRh
SW50ZXJhY3Rpb25Db250cm9sbGVyT3BlcmF0aW9uKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRI
YW5kbGVTdGFydERhdGFJbnRlcmFjdGlvblJlcXVlc3QoYm9vbCBzdGFydGVkKSBvdmVycmlkZTsK
ICAgICB2b2lkIHN0YXJ0RGF0YUludGVyYWN0aW9uV2l0aEltYWdlKGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGlt
YWdlLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlRleHRJbmRpY2F0b3JEYXRhPiwgY29uc3QgV2Vi
Q29yZTo6RmxvYXRQb2ludCYgYW5jaG9yUG9pbnQsIHVpbnQ2NF90IGFjdGlvbikgb3ZlcnJpZGU7
CisgICAgdm9pZCBkaWRDb25jbHVkZUVkaXREYXRhSW50ZXJhY3Rpb24oc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpUZXh0SW5kaWNhdG9yRGF0YT4pIG92ZXJyaWRlOwogI2VuZGlmCiAKICAgICBXS0Nv
bnRlbnRWaWV3ICptX2NvbnRlbnRWaWV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggMzY3ZWExMmMyYjhkMjAzNGY2ODhlZTRm
OWEyNmZiMGRmNGRkY2RjNS4uMzA4ODg2M2ZjYWFhMDM4OWE2NmFkNGUzMGM4NGJkNWM5OTkyM2Jj
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLm1tCkBAIC03ODUsNiArNzg1LDExIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OnN0YXJ0RGF0
YUludGVyYWN0aW9uV2l0aEltYWdlKGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvCiB7CiAg
ICAgW21fY29udGVudFZpZXcgX3N0YXJ0RGF0YUludGVyYWN0aW9uV2l0aEltYWdlOlNoYXJlYWJs
ZUJpdG1hcDo6Y3JlYXRlKGltYWdlKS0+bWFrZUNHSW1hZ2VDb3B5KCkgd2l0aEluZGljYXRvckRh
dGE6aW5kaWNhdG9yRGF0YSBhdENsaWVudFBvc2l0aW9uOkNHUG9pbnRNYWtlKGNsaWVudFBvc2l0
aW9uLngoKSwgY2xpZW50UG9zaXRpb24ueSgpKSBhbmNob3JQb2ludDphbmNob3JQb2ludCBhY3Rp
b246YWN0aW9uXTsKIH0KKwordm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkQ29uY2x1ZGVFZGl0RGF0
YUludGVyYWN0aW9uKHN0ZDo6b3B0aW9uYWw8VGV4dEluZGljYXRvckRhdGE+IGRhdGEpCit7Cisg
ICAgW21fY29udGVudFZpZXcgX2RpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbjpkYXRhXTsK
K30KICNlbmRpZgogCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpoYW5kbGVBY3RpdmVOb3dQbGF5aW5n
U2Vzc2lvbkluZm9SZXNwb25zZShib29sIGhhc0FjdGl2ZVNlc3Npb24sIGNvbnN0IFN0cmluZyYg
dGl0bGUsIGRvdWJsZSBkdXJhdGlvbiwgZG91YmxlIGVsYXBzZWRUaW1lKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgK
aW5kZXggMWQxYTIyNGM0MTM2NjZjMDJlMDUzZjFjMzY4NDRiNzJkMzQzOTk1Ny4uNDMzOTgwODEy
OWVmOGMyMzk2YWQwOTE2NTM3ZTYwY2ZlZjcwNTcyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC0xMjIs
NiArMTIyLDcgQEAgc3RydWN0IFdLQXV0b0NvcnJlY3Rpb25EYXRhIHsKIAogICAgIFJldGFpblB0
cjxVSVdLVGV4dEludGVyYWN0aW9uQXNzaXN0YW50PiBfdGV4dFNlbGVjdGlvbkFzc2lzdGFudDsK
ICAgICBSZXRhaW5QdHI8VUlXS1NlbGVjdGlvbkFzc2lzdGFudD4gX3dlYlNlbGVjdGlvbkFzc2lz
dGFudDsKKyAgICBCT09MIF9zdXBwcmVzc0Fzc2lzdGFudFNlbGVjdGlvblZpZXc7CiAKICAgICBS
ZXRhaW5QdHI8VUlUZXh0SW5wdXRUcmFpdHM+IF90cmFpdHM7CiAgICAgUmV0YWluUHRyPFVJV2Vi
Rm9ybUFjY2Vzc29yeT4gX2Zvcm1BY2Nlc3NvcnlWaWV3OwpAQCAtMTk2LDYgKzE5Nyw5IEBAIHN0
cnVjdCBXS0F1dG9Db3JyZWN0aW9uRGF0YSB7CiAgICAgUmV0YWluUHRyPFdLRGF0YUludGVyYWN0
aW9uPiBfZGF0YUludGVyYWN0aW9uOwogI2VuZGlmCiAgICAgQ0dQb2ludCBfZGVmZXJyZWRBY3Rp
b25TaGVldFJlcXVlc3RMb2NhdGlvbjsKKyAgICBSZXRhaW5QdHI8VUlWaWV3PiBfdmlzaWJsZUNv
bnRlbnRWaWV3U25hcHNob3Q7CisgICAgUmV0YWluUHRyPFVJSW1hZ2VWaWV3PiBfZGF0YUludGVy
YWN0aW9uVW5zZWxlY3RlZENvbnRlbnRTbmFwc2hvdDsKKyAgICBCT09MIF9pc1J1bm5pbmdDb25j
bHVkZUVkaXREYXRhSW50ZXJhY3Rpb25BbmltYXRpb247CiAjZW5kaWYKIH0KIApAQCAtMjE3LDYg
KzIyMSw3IEBAIHN0cnVjdCBXS0F1dG9Db3JyZWN0aW9uRGF0YSB7CiBAcHJvcGVydHkgKG5vbmF0
b21pYywgcmVhZG9ubHkpIGNvbnN0IFdlYktpdDo6V0tBdXRvQ29ycmVjdGlvbkRhdGEmIGF1dG9j
b3JyZWN0aW9uRGF0YTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgY29uc3QgV2Vi
S2l0OjpBc3Npc3RlZE5vZGVJbmZvcm1hdGlvbiYgYXNzaXN0ZWROb2RlSW5mb3JtYXRpb247CiBA
cHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFVJV2ViRm9ybUFjY2Vzc29yeSAqZm9ybUFj
Y2Vzc29yeVZpZXc7CitAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBzdXBwcmVzc0Fzc2lzdGFu
dFNlbGVjdGlvblZpZXc7CiAKIC0gKHZvaWQpc2V0dXBJbnRlcmFjdGlvbjsKIC0gKHZvaWQpY2xl
YW51cEludGVyYWN0aW9uOwpAQCAtMjgxLDYgKzI4Niw3IEBAIHN0cnVjdCBXS0F1dG9Db3JyZWN0
aW9uRGF0YSB7CiAtICh2b2lkKV9kaWRQZXJmb3JtRGF0YUludGVyYWN0aW9uQ29udHJvbGxlck9w
ZXJhdGlvbjsKIC0gKHZvaWQpX2RpZEhhbmRsZVN0YXJ0RGF0YUludGVyYWN0aW9uUmVxdWVzdDoo
Qk9PTClzdGFydGVkOwogLSAodm9pZClfc3RhcnREYXRhSW50ZXJhY3Rpb25XaXRoSW1hZ2U6KFJl
dGFpblB0cjxDR0ltYWdlUmVmPilpbWFnZSB3aXRoSW5kaWNhdG9yRGF0YTooc3RkOjpvcHRpb25h
bDxXZWJDb3JlOjpUZXh0SW5kaWNhdG9yRGF0YT4paW5kaWNhdG9yRGF0YSBhdENsaWVudFBvc2l0
aW9uOihDR1BvaW50KWNsaWVudFBvc2l0aW9uIGFuY2hvclBvaW50OihDR1BvaW50KWFuY2hvclBv
aW50IGFjdGlvbjoodWludDY0X3QpYWN0aW9uOworLSAodm9pZClfZGlkQ29uY2x1ZGVFZGl0RGF0
YUludGVyYWN0aW9uOihzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlRleHRJbmRpY2F0b3JEYXRhPilk
YXRhOwogLSAodm9pZClfc2ltdWxhdGVEYXRhSW50ZXJhY3Rpb25FbnRlcmVkOihpZClpbmZvOwog
LSAodm9pZClfc2ltdWxhdGVEYXRhSW50ZXJhY3Rpb25VcGRhdGVkOihpZClpbmZvOwogLSAodm9p
ZClfc2ltdWxhdGVEYXRhSW50ZXJhY3Rpb25QZXJmb3JtT3BlcmF0aW9uOihpZClpbmZvOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5tbQppbmRleCBmYjk4OWViNjM4NGFmOWU2ODI3YjcxYjkyYjY5OTNjZDhhNDNlZTY0
Li5iYjE3M2MxMDBiYzllMWJlZWVmM2M0NTJjODY4OWU5YjQ0NGY5YTZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5tbQpAQCAtODI3LDcgKzgyNyw3IEBAIHN0YXRpYyBVSVdlYlNlbGVjdGlvbk1vZGUgdG9VSVdl
YlNlbGVjdGlvbk1vZGUoV0tTZWxlY3Rpb25HcmFudWxhcml0eSBncmFudWxhcml0CiAgICAgICAg
IFNldEZvclNjb3BlPEJPT0w+IGJlY29taW5nRmlyc3RSZXNwb25kZXIgeyBfYmVjb21pbmdGaXJz
dFJlc3BvbmRlciwgWUVTIH07CiAgICAgICAgIGRpZEJlY29tZUZpcnN0UmVzcG9uZGVyID0gW3N1
cGVyIGJlY29tZUZpcnN0UmVzcG9uZGVyXTsKICAgICB9Ci0gICAgaWYgKGRpZEJlY29tZUZpcnN0
UmVzcG9uZGVyKQorICAgIGlmIChkaWRCZWNvbWVGaXJzdFJlc3BvbmRlciAmJiAhc2VsZi5zdXBw
cmVzc0Fzc2lzdGFudFNlbGVjdGlvblZpZXcpCiAgICAgICAgIFtfdGV4dFNlbGVjdGlvbkFzc2lz
dGFudCBhY3RpdmF0ZVNlbGVjdGlvbl07CiAKICAgICByZXR1cm4gZGlkQmVjb21lRmlyc3RSZXNw
b25kZXI7CkBAIC0xMTQwLDE2ICsxMTQwLDIzIEBAIHN0YXRpYyBOU1ZhbHVlICpuc1NpemVGb3JU
YXBIaWdobGlnaHRCb3JkZXJSYWRpdXMoV2ViQ29yZTo6SW50U2l6ZSBib3JkZXJSYWRpdXMsCiAK
IC0gKHZvaWQpX2Rpc3BsYXlGb3JtTm9kZUlucHV0VmlldwogewotICAgIC8vIEluIGNhc2UgdXNl
ciBzY2FsaW5nIGlzIGZvcmNlIGVuYWJsZWQsIGRvIG5vdCB1c2UgdGhhdCBzY2FsaW5nIHdoZW4g
em9vbWluZyBpbiB3aXRoIGFuIGlucHV0IGZpZWxkLgotICAgIC8vIFpvb21pbmcgYWJvdmUgdGhl
IHBhZ2UncyBkZWZhdWx0IHNjYWxlIGZhY3RvciBzaG91bGQgb25seSBoYXBwZW4gd2hlbiB0aGUg
dXNlciBwZXJmb3JtcyBpdC4KLSAgICBbc2VsZiBfem9vbVRvRm9jdXNSZWN0Ol9hc3Npc3RlZE5v
ZGVJbmZvcm1hdGlvbi5lbGVtZW50UmVjdAotICAgICAgICAgICAgIHNlbGVjdGlvblJlY3Q6IF9k
aWRBY2Nlc3NvcnlUYWJJbml0aWF0ZUZvY3VzID8gSW50UmVjdCgpIDogX2Fzc2lzdGVkTm9kZUlu
Zm9ybWF0aW9uLnNlbGVjdGlvblJlY3QKLSAgICAgICAgICAgICAgIGluc2lkZUZpeGVkOl9hc3Np
c3RlZE5vZGVJbmZvcm1hdGlvbi5pbnNpZGVGaXhlZFBvc2l0aW9uCi0gICAgICAgICAgICAgICAg
ICBmb250U2l6ZTpfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24ubm9kZUZvbnRTaXplCi0gICAgICAg
ICAgICAgIG1pbmltdW1TY2FsZTpfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24ubWluaW11bVNjYWxl
RmFjdG9yCi0gICAgICAgICAgICAgIG1heGltdW1TY2FsZTpfYXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24ubWF4aW11bVNjYWxlRmFjdG9ySWdub3JpbmdBbHdheXNTY2FsYWJsZQotICAgICAgICAgICAg
ICBhbGxvd1NjYWxpbmc6KF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5hbGxvd3NVc2VyU2NhbGlu
Z0lnbm9yaW5nQWx3YXlzU2NhbGFibGUgJiYgIVVJQ3VycmVudFVzZXJJbnRlcmZhY2VJZGlvbUlz
UGFkKCkpCi0gICAgICAgICAgICAgICBmb3JjZVNjcm9sbDpbc2VsZiByZXF1aXJlc0FjY2Vzc29y
eVZpZXddXTsKKyAgICBCT09MIHNob3VsZFpvb21Ub0ZvY3VzUmVjdCA9IFlFUzsKKyNpZiBFTkFC
TEUoREFUQV9JTlRFUkFDVElPTikKKyAgICAvLyBGSVhNRTogV2UgbmVlZCB0byB0ZWFjaCBXS1dl
YlZpZXcgdG8gcHJvcGVybHkgem9vbSBhbmQgc2Nyb2xsIGR1cmluZyBhIGRhdGEgaW50ZXJhY3Rp
b24gb3BlcmF0aW9uLgorICAgIHNob3VsZFpvb21Ub0ZvY3VzUmVjdCA9ICFbV2ViSXRlbVByb3Zp
ZGVyUGFzdGVib2FyZCBzaGFyZWRJbnN0YW5jZV0uaGFzUGVuZGluZ09wZXJhdGlvbjsKKyNlbmRp
ZgorICAgIGlmIChzaG91bGRab29tVG9Gb2N1c1JlY3QpIHsKKyAgICAgICAgLy8gSW4gY2FzZSB1
c2VyIHNjYWxpbmcgaXMgZm9yY2UgZW5hYmxlZCwgZG8gbm90IHVzZSB0aGF0IHNjYWxpbmcgd2hl
biB6b29taW5nIGluIHdpdGggYW4gaW5wdXQgZmllbGQuCisgICAgICAgIC8vIFpvb21pbmcgYWJv
dmUgdGhlIHBhZ2UncyBkZWZhdWx0IHNjYWxlIGZhY3RvciBzaG91bGQgb25seSBoYXBwZW4gd2hl
biB0aGUgdXNlciBwZXJmb3JtcyBpdC4KKyAgICAgICAgW3NlbGYgX3pvb21Ub0ZvY3VzUmVjdDpf
YXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFJlY3QKKyAgICAgICAgICAgICAgICAgc2Vs
ZWN0aW9uUmVjdDogX2RpZEFjY2Vzc29yeVRhYkluaXRpYXRlRm9jdXMgPyBJbnRSZWN0KCkgOiBf
YXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uc2VsZWN0aW9uUmVjdAorICAgICAgICAgICAgICAgICAg
IGluc2lkZUZpeGVkOl9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5pbnNpZGVGaXhlZFBvc2l0aW9u
CisgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9u
Lm5vZGVGb250U2l6ZQorICAgICAgICAgICAgICAgICAgbWluaW11bVNjYWxlOl9hc3Npc3RlZE5v
ZGVJbmZvcm1hdGlvbi5taW5pbXVtU2NhbGVGYWN0b3IKKyAgICAgICAgICAgICAgICAgIG1heGlt
dW1TY2FsZTpfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24ubWF4aW11bVNjYWxlRmFjdG9ySWdub3Jp
bmdBbHdheXNTY2FsYWJsZQorICAgICAgICAgICAgICAgICAgYWxsb3dTY2FsaW5nOihfYXNzaXN0
ZWROb2RlSW5mb3JtYXRpb24uYWxsb3dzVXNlclNjYWxpbmdJZ25vcmluZ0Fsd2F5c1NjYWxhYmxl
ICYmICFVSUN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1BhZCgpKQorICAgICAgICAgICAgICAg
ICAgIGZvcmNlU2Nyb2xsOltzZWxmIHJlcXVpcmVzQWNjZXNzb3J5Vmlld11dOworICAgIH0KIAog
ICAgIF9kaWRBY2Nlc3NvcnlUYWJJbml0aWF0ZUZvY3VzID0gTk87CiAgICAgW3NlbGYgX2Vuc3Vy
ZUZvcm1BY2Nlc3NvcnlWaWV3XTsKQEAgLTE3MjMsNyArMTczMCw3IEBAIHN0YXRpYyB2b2lkIGNh
bmNlbFBvdGVudGlhbFRhcElmTmVjZXNzYXJ5KFdLQ29udGVudFZpZXcqIGNvbnRlbnRWaWV3KQog
ICAgICAgICAgICAgW190ZXh0U2VsZWN0aW9uQXNzaXN0YW50IHNldEdlc3R1cmVSZWNvZ25pemVy
c107CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoc2VsZi5pc0ZpcnN0UmVzcG9uZGVyKQorICAg
ICAgICBpZiAoc2VsZi5pc0ZpcnN0UmVzcG9uZGVyICYmICFzZWxmLnN1cHByZXNzQXNzaXN0YW50
U2VsZWN0aW9uVmlldykKICAgICAgICAgICAgIFtfdGV4dFNlbGVjdGlvbkFzc2lzdGFudCBhY3Rp
dmF0ZVNlbGVjdGlvbl07CiAgICAgfQogfQpAQCAtMzg5NywxMyArMzkwNCwzNSBAQCBzdGF0aWMg
Ym9vbCBpc0Fzc2lzdGFibGVJbnB1dFR5cGUoSW5wdXRUeXBlIHR5cGUpCiAgICAgICAgIFtfd2Vi
U2VsZWN0aW9uQXNzaXN0YW50IGRpZEVuZFNjcm9sbGluZ09yWm9vbWluZ1BhZ2VdOwogICAgICAg
ICBbW193ZWJTZWxlY3Rpb25Bc3Npc3RhbnQgc2VsZWN0aW9uVmlld10gc2V0SGlkZGVuOk5PXTsK
IAotICAgICAgICBbX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgYWN0aXZhdGVTZWxlY3Rpb25dOwor
ICAgICAgICBpZiAoIXNlbGYuc3VwcHJlc3NBc3Npc3RhbnRTZWxlY3Rpb25WaWV3KQorICAgICAg
ICAgICAgW190ZXh0U2VsZWN0aW9uQXNzaXN0YW50IGFjdGl2YXRlU2VsZWN0aW9uXTsKKwogICAg
ICAgICBbX3RleHRTZWxlY3Rpb25Bc3Npc3RhbnQgZGlkRW5kU2Nyb2xsaW5nT3ZlcmZsb3ddOwog
CiAgICAgICAgIF9uZWVkc0RlZmVycmVkRW5kU2Nyb2xsaW5nU2VsZWN0aW9uVXBkYXRlID0gTk87
CiAgICAgfQogfQogCistIChCT09MKXN1cHByZXNzQXNzaXN0YW50U2VsZWN0aW9uVmlldworewor
ICAgIHJldHVybiBfc3VwcHJlc3NBc3Npc3RhbnRTZWxlY3Rpb25WaWV3OworfQorCistICh2b2lk
KXNldFN1cHByZXNzQXNzaXN0YW50U2VsZWN0aW9uVmlldzooQk9PTClzdXBwcmVzc0Fzc2lzdGFu
dFNlbGVjdGlvblZpZXcKK3sKKyAgICBpZiAoX3N1cHByZXNzQXNzaXN0YW50U2VsZWN0aW9uVmll
dyA9PSBzdXBwcmVzc0Fzc2lzdGFudFNlbGVjdGlvblZpZXcpCisgICAgICAgIHJldHVybjsKKwor
ICAgIF9zdXBwcmVzc0Fzc2lzdGFudFNlbGVjdGlvblZpZXcgPSBzdXBwcmVzc0Fzc2lzdGFudFNl
bGVjdGlvblZpZXc7CisgICAgaWYgKCFfdGV4dFNlbGVjdGlvbkFzc2lzdGFudCkKKyAgICAgICAg
cmV0dXJuOworCisgICAgaWYgKHN1cHByZXNzQXNzaXN0YW50U2VsZWN0aW9uVmlldykKKyAgICAg
ICAgW190ZXh0U2VsZWN0aW9uQXNzaXN0YW50IGRlYWN0aXZhdGVTZWxlY3Rpb25dOworICAgIGVs
c2UKKyAgICAgICAgW190ZXh0U2VsZWN0aW9uQXNzaXN0YW50IGFjdGl2YXRlU2VsZWN0aW9uXTsK
K30KKwogLSAodm9pZClfc2hvd1BsYXliYWNrVGFyZ2V0UGlja2VyOihCT09MKWhhc1ZpZGVvIGZy
b21SZWN0Oihjb25zdCBJbnRSZWN0JillbGVtZW50UmVjdAogewogICAgIGlmICghX2FpclBsYXlS
b3V0ZVBpY2tlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2Vi
UGFnZVByb3h5SU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJv
eHlJT1MubW0KaW5kZXggM2E3YTZkNzdmNmFmMTAxNmZiMDNiNmNhMzNhMGNkZDA5NzRmMTlkMC4u
YWU0YTdiNGMzYTk3MTNiNTc0MDI3NjdlNzdiNmEwZTI0NGM0YWMzMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KQEAgLTExMzIsNiArMTEz
MiwxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVxdWVzdFN0YXJ0RGF0YUludGVyYWN0aW9uKGNv
bnN0IFdlYkNvcmU6OkludFBvaW50JiBjbGllbnRQbwogICAgICAgICBtX3Byb2Nlc3MtPnNlbmQo
TWVzc2FnZXM6OldlYlBhZ2U6OlJlcXVlc3RTdGFydERhdGFJbnRlcmFjdGlvbihjbGllbnRQb3Np
dGlvbiwgZ2xvYmFsUG9zaXRpb24pLCBtX3BhZ2VJRCk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5
OjpkaWRDb25jbHVkZUVkaXREYXRhSW50ZXJhY3Rpb24oc3RkOjpvcHRpb25hbDxUZXh0SW5kaWNh
dG9yRGF0YT4gZGF0YSkKK3sKKyAgICBtX3BhZ2VDbGllbnQuZGlkQ29uY2x1ZGVFZGl0RGF0YUlu
dGVyYWN0aW9uKGRhdGEpOworfQorCiAjZW5kaWYKIAogI2lmIFVTRShRVUlDS19MT09LKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFn
Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRy
YWdDbGllbnQuaAppbmRleCBhOTZlZTgxNjIwMzYyZTNlYTkyMzU1NzI4NzAyZGI2ZDJlMzcwZWVh
Li41NDc4ZGQ1ZjA2M2M5ZmMzZjZjYTQyOWE2YzE2MWE4NjRiM2FhZTEzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGll
bnQuaApAQCAtNDgsNiArNDgsNyBAQCBwcml2YXRlOgogICAgIFdlYkNvcmU6OkRyYWdTb3VyY2VB
Y3Rpb24gZHJhZ1NvdXJjZUFjdGlvbk1hc2tGb3JQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2lu
dCYgd2luZG93UG9pbnQpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBzdGFydERyYWcoV2ViQ29yZTo6
RHJhZ0ltYWdlLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZHJhZ0ltYWdlT3JpZ2luLCBjb25z
dCBXZWJDb3JlOjpJbnRQb2ludCYgZXZlbnRQb3MsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQm
IGRyYWdJbWFnZUFuY2hvciwgV2ViQ29yZTo6RGF0YVRyYW5zZmVyJiwgV2ViQ29yZTo6RnJhbWUm
LCBXZWJDb3JlOjpEcmFnU291cmNlQWN0aW9uKSBvdmVycmlkZTsKKyAgICB2b2lkIGRpZENvbmNs
dWRlRWRpdERyYWcoKSBvdmVycmlkZTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIHZvaWQg
ZGVjbGFyZUFuZFdyaXRlRHJhZ0ltYWdlKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIFdl
YkNvcmU6OkVsZW1lbnQmLCBjb25zdCBXZWJDb3JlOjpVUkwmLCBjb25zdCBTdHJpbmcmLCBXZWJD
b3JlOjpGcmFtZSopIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRHJhZ0NsaWVudEd0ay5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJEcmFnQ2xpZW50R3RrLmNwcApp
bmRleCAwMzk4ZGNhMmUwOGJjOWQwMTI3MzE5ODljMzliYTBkNDU3NjQzMjM0Li44MjQ0ZjAxYWI5
ZjA2MDc3NmNmMGM5NDkzMWZiM2MxZjYwNTRlYmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJEcmFnQ2xpZW50R3RrLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJEcmFnQ2xp
ZW50R3RrLmNwcApAQCAtNTYsNiArNTYsMTAgQEAgc3RhdGljIFJlZlB0cjxTaGFyZWFibGVCaXRt
YXA+IGNvbnZlcnRDYWlyb1N1cmZhY2VUb1NoYXJlYWJsZUJpdG1hcChjYWlyb19zdXJmYWMKICAg
ICByZXR1cm4gYml0bWFwOwogfQogCit2b2lkIFdlYkRyYWdDbGllbnQ6OmRpZENvbmNsdWRlRWRp
dERyYWcoKQoreworfQorCiB2b2lkIFdlYkRyYWdDbGllbnQ6OnN0YXJ0RHJhZyhEcmFnSW1hZ2Ug
ZHJhZ0ltYWdlLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBvaW50
JiBnbG9iYWxQb3NpdGlvbiwgY29uc3QgRmxvYXRQb2ludCYsIERhdGFUcmFuc2ZlciYgZGF0YVRy
YW5zZmVyLCBGcmFtZSYsIERyYWdTb3VyY2VBY3Rpb24pCiB7CiAgICAgUmVmUHRyPFNoYXJlYWJs
ZUJpdG1hcD4gYml0bWFwID0gY29udmVydENhaXJvU3VyZmFjZVRvU2hhcmVhYmxlQml0bWFwKGRy
YWdJbWFnZS5nZXQoKS5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJEcmFnQ2xpZW50TWFjLm1tIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViRHJhZ0NsaWVudE1hYy5tbQppbmRl
eCA2MDc5YzVkMjNkODgyMzIxMzQwOTAzMGI2OWJkNzEyNDk3MDAyMjg3Li41NzE0NGFmYzNjNWZm
M2Y2ZTI0Mzc1ZmEzY2JjMDMwYzAyZWE5N2NkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJEcmFnQ2xpZW50TWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkRyYWdDbGllbnRN
YWMubW0KQEAgLTgyLDYgKzgyLDEwIEBAIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXJlYWJsZUJpdG1h
cD4gY29udmVydEltYWdlVG9CaXRtYXAoTlNJbWFnZSAqaW1hZ2UsIGNvbnN0IEluCiAgICAgcmV0
dXJuIFdURk1vdmUoYml0bWFwKTsKIH0KIAordm9pZCBXZWJEcmFnQ2xpZW50OjpkaWRDb25jbHVk
ZUVkaXREcmFnKCkKK3sKK30KKwogdm9pZCBXZWJEcmFnQ2xpZW50OjpzdGFydERyYWcoRHJhZ0lt
YWdlIGltYWdlLCBjb25zdCBJbnRQb2ludCYgcG9pbnQsIGNvbnN0IEludFBvaW50JiwgY29uc3Qg
RmxvYXRQb2ludCYsIERhdGFUcmFuc2ZlciYsIEZyYW1lJiBmcmFtZSwgRHJhZ1NvdXJjZUFjdGlv
biBkcmFnU291cmNlQWN0aW9uKQogewogICAgIEludFNpemUgYml0bWFwU2l6ZShbaW1hZ2UuZ2V0
KCkgc2l6ZV0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
aW5kZXggZTQ2NmQ3OGVmYTI0NmIzMzRmZGRjZDkwNjZlNThlOTVlNGNjZWRhMi4uYzgzMmUyY2Nl
Yzg5Zjc5Njc4M2MyODA0YTRmNDJiNTc2MWNkMjlhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC05NjUsNiArOTY1LDEwIEBAIHB1YmxpYzoKICAg
ICB2b2lkIGRpZEdldExvYWREZWNpc2lvbkZvckljb24oYm9vbCBkZWNpc2lvbiwgdWludDY0X3Qg
bG9hZElkZW50aWZpZXIsIHVpbnQ2NF90IG5ld0NhbGxiYWNrSUQpOwogICAgIHZvaWQgc2V0VXNl
SWNvbkxvYWRpbmdDbGllbnQoYm9vbCk7CiAKKyNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikK
KyAgICB2b2lkIGRpZENvbmNsdWRlRWRpdERhdGFJbnRlcmFjdGlvbigpOworI2VuZGlmCisKIHBy
aXZhdGU6CiAgICAgV2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFt
ZXRlcnMmJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9p
b3MvV2ViUGFnZUlPUy5tbQppbmRleCBmMmY0MTU1MmUyMWQ3ZjVjYjJlOTU0NTVmOWFmMDA1NDI0
YmFjMjVjLi4wOTRiMWUwNDRkOWVlMGJmZDk4YTM0MjliNWYxOWVhNTkxNmY3ZjJiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0K
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1t
CkBAIC02NDMsNiArNjQzLDIwIEBAIHZvaWQgV2ViUGFnZTo6cmVxdWVzdFN0YXJ0RGF0YUludGVy
YWN0aW9uKGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QKICAgICBib29sIGRp
ZFN0YXJ0ID0gbV9wYWdlLT5tYWluRnJhbWUoKS5ldmVudEhhbmRsZXIoKS50cnlUb0JlZ2luRGF0
YUludGVyYWN0aW9uQXRQb2ludChjbGllbnRQb3NpdGlvbiwgZ2xvYmFsUG9zaXRpb24pOwogICAg
IHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkSGFuZGxlU3RhcnREYXRhSW50ZXJhY3Rp
b25SZXF1ZXN0KGRpZFN0YXJ0KSk7CiB9CisKK3ZvaWQgV2ViUGFnZTo6ZGlkQ29uY2x1ZGVFZGl0
RGF0YUludGVyYWN0aW9uKCkKK3sKKyAgICBzdGQ6Om9wdGlvbmFsPFRleHRJbmRpY2F0b3JEYXRh
PiB0ZXh0SW5kaWNhdG9yRGF0YTsKKworICAgIHN0YXRpYyBhdXRvIGRlZmF1bHRFZGl0RHJhZ1Rl
eHRJbmRpY2F0b3JPcHRpb25zID0gVGV4dEluZGljYXRvck9wdGlvbkluY2x1ZGVTbmFwc2hvdE9m
QWxsVmlzaWJsZUNvbnRlbnRXaXRob3V0U2VsZWN0aW9uIHwgVGV4dEluZGljYXRvck9wdGlvbkRv
Tm90Q2xpcFRvVmlzaWJsZVJlY3QgfCBUZXh0SW5kaWNhdG9yT3B0aW9uUGFpbnRBbGxDb250ZW50
IHwgVGV4dEluZGljYXRvck9wdGlvbkluY2x1ZGVNYXJnaW5JZlJhbmdlTWF0Y2hlc1NlbGVjdGlv
biB8IFRleHRJbmRpY2F0b3JPcHRpb25QYWludEJhY2tncm91bmRzIHwgVGV4dEluZGljYXRvck9w
dGlvbkluY2x1ZGVTbmFwc2hvdFdpdGhTZWxlY3Rpb25IaWdobGlnaHQ7CisgICAgYXV0byYgZnJh
bWUgPSBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZvY3VzZWRPck1haW5GcmFtZSgpOworICAg
IGlmIChhdXRvIHJhbmdlID0gZnJhbWUuc2VsZWN0aW9uKCkuc2VsZWN0aW9uKCkudG9Ob3JtYWxp
emVkUmFuZ2UoKSkgeworICAgICAgICBpZiAoYXV0byB0ZXh0SW5kaWNhdG9yID0gVGV4dEluZGlj
YXRvcjo6Y3JlYXRlV2l0aFJhbmdlKCpyYW5nZSwgZGVmYXVsdEVkaXREcmFnVGV4dEluZGljYXRv
ck9wdGlvbnMsIFRleHRJbmRpY2F0b3JQcmVzZW50YXRpb25UcmFuc2l0aW9uOjpOb25lKSkKKyAg
ICAgICAgICAgIHRleHRJbmRpY2F0b3JEYXRhID0gdGV4dEluZGljYXRvci0+ZGF0YSgpOworICAg
IH0KKworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkQ29uY2x1ZGVFZGl0RGF0
YUludGVyYWN0aW9uKHRleHRJbmRpY2F0b3JEYXRhKSk7Cit9CiAjZW5kaWYKIAogdm9pZCBXZWJQ
YWdlOjpzZW5kVGFwSGlnaGxpZ2h0Rm9yTm9kZUlmTmVjZXNzYXJ5KHVpbnQ2NF90IHJlcXVlc3RJ
RCwgTm9kZSogbm9kZSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>