<?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>183381</bug_id>
          
          <creation_ts>2018-03-06 13:15:17 -0800</creation_ts>
          <short_desc>Web Automation: provide a way to ask clients for a new tab or window</short_desc>
          <delta_ts>2018-03-26 12:32:40 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebDriver</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Blaze Burg">bburg</reporter>
          <assigned_to name="Blaze Burg">bburg</assigned_to>
          <cc>aestes</cc>
    
    <cc>bburg</cc>
    
    <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>joepeck</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>thorton</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1404123</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2018-03-06 13:15:17 -0800</bug_when>
    <thetext>This enables implementation of New Window / New Tab command. The spec discussion is here*; this is just the webkit-side changes to support this.

* https://github.com/w3c/webdriver/issues/1138</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404124</commentid>
    <comment_count>1</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2018-03-06 13:15:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/38167301&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404138</commentid>
    <comment_count>2</comment_count>
      <attachid>335135</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2018-03-06 13:36:28 -0800</bug_when>
    <thetext>Created attachment 335135
Proposed Fix

This needs to land with Safari-side changes. I haven&apos;t tested the GTK changes but they look trivial.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404141</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-03-06 13:39:02 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404152</commentid>
    <comment_count>4</comment_count>
      <attachid>335138</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2018-03-06 14:15:31 -0800</bug_when>
    <thetext>Created attachment 335138
Proposed Fix (GTK v2)

Second attempt, let&apos;s use the same naming scheme for the options at Cocoa and namespace API levels to avoid confusing things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409107</commentid>
    <comment_count>5</comment_count>
      <attachid>336478</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2018-03-24 11:27:52 -0700</bug_when>
    <thetext>Created attachment 336478
Proposed Fix v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409360</commentid>
    <comment_count>6</comment_count>
      <attachid>336530</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2018-03-26 11:52:02 -0700</bug_when>
    <thetext>Created attachment 336530
Fix GTK/WPE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1409379</commentid>
    <comment_count>7</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2018-03-26 12:26:00 -0700</bug_when>
    <thetext>Committed r229984: &lt;https://trac.webkit.org/changeset/229984&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335135</attachid>
            <date>2018-03-06 13:36:28 -0800</date>
            <delta_ts>2018-03-06 14:15:30 -0800</delta_ts>
            <desc>Proposed Fix</desc>
            <filename>bug-183381-20180306133628.patch</filename>
            <type>text/plain</type>
            <size>17418</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5MjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDIzMjViNTRmZWY3NjM4NTA4
Y2UwM2I5Y2I4ZTczN2FkODYyYzMwZjkuLjViZjI5ZjY3YmMxNzMwNTBjZmUxYzQxZmM4NTZlMDg5
NDQ2ZjkxNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMTgtMDMtMDYgIEJyaWFuIEJ1
cmcgIDxiYnVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1dG9tYXRpb246IHByb3ZpZGUg
YSB3YXkgdG8gYXNrIGNsaWVudHMgZm9yIGEgbmV3IHRhYiBvciB3aW5kb3cKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzM4MQorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMzgxNjczMDE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNwZWNpZnlpbmcgYnJvd3NpbmcgY29udGV4
dCBvcHRpb25zIHdoZW4gcmVxdWVzdGluZworICAgICAgICBhIG5ldyBicm93c2luZyBjb250ZXh0
IGZyb20gdGhlIGF1dG9tYXRpb24gc2Vzc2lvbiBjbGllbnQvZGVsZWdhdGUuCisgICAgICAgIFRo
aXMgaXMgY3VycmVudGx5IGp1c3QgdXNlZCBmb3Igc3BlY2lmeWluZyB0YWIgdnMgd2luZG93LCBi
dXQgY291bGQKKyAgICAgICAgYWxzbyBiZSB1c2VkIGZvciB0aGluZ3MgbGlrZSB0b2dnbGluZyBj
ZXJ0YWluIGJyb3dzZXIgY2hyb21lIG9yIGZlYXR1cmVzLgorCisgICAgICAgIFRoZXJlIGlzIG5v
IGd1YXJhbnRlZSB0aGF0IHRoZSBjbGllbnQgaGFzIGEgbm90aW9uIG9mIHRhYnMgdnMgd2luZG93
cywKKyAgICAgICAgc28gdGhpcyBvcHRpb24gaXMgcHVyZWx5IGFkdmlzb3J5IGFuZCBzaG91bGQg
bm90IGNhdXNlIHRoZSBjb21tYW5kIHRvCisgICAgICAgIGZhaWwgaWYgaXQgY2Fubm90IGJlIGhv
bm9yZWQuCisKKyAgICAgICAgVGhpcyBiZWhhdmlvciBjYXVzZWQgYnkgc3BlY2lmeWluZyB0aGlz
IG9wdGlvbiBpcyBjbGllbnQtc3BlY2lmaWMsIHNvIG5vCisgICAgICAgIG5ldyB0ZXN0cyBhcmUg
aW5jbHVkZWQgaW4gV2ViS2l0IGZvciB0aGlzIGNoYW5nZS4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDoKKyAgICAgICAgKEFQSTo6QXV0b21h
dGlvblNlc3Npb25DbGllbnQ6OmRpZFJlcXVlc3ROZXdQYWdlV2l0aE9wdGlvbnMpOgorICAgICAg
ICAoQVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6ZGlkUmVxdWVzdE5ld1dpbmRvdyk6IERl
bGV0ZWQuCisgICAgICAgIEFkZCBvcHRpb25zIHBhcmFtZXRlci4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRBdXRvbWF0aW9uU2Vzc2lvbi5jcHA6CisgICAgICAgIEFkanVz
dCB0byBuZXcgc2lnbmF0dXJlLiBNb3JlIHdvcmsgaXMgbmVlZGVkIHRvIHBsdW1iIHRoaXMgaW5m
b3JtYXRpb24KKyAgICAgICAgdG8gdGhlIHB1YmxpYyBBUEkgZm9yIEdUSy9XUEUgYW5kIHN1cHBv
cnQgaXQgaW4gV2ViS2l0R1RLIGRyaXZlci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0
aW9uL0F1dG9tYXRpb24uanNvbjogQWRkIG5ldyBvcHRpb25hbCBwYXJhbWV0ZXIuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246OmNyZWF0ZUJyb3dzaW5nQ29udGV4dCk6
CisgICAgICAgIENvbnZlcnQgdGhlIHByb3RvY29sIG9wdGlvbiB0byBhbiBBUEkgb3B0aW9uLgor
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL0F1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL0F1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lm1tOgorICAg
ICAgICAoV2ViS2l0OjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6QXV0b21hdGlvblNlc3Npb25D
bGllbnQpOgorICAgICAgICAoV2ViS2l0Ojp0b0FQSSk6CisgICAgICAgIChXZWJLaXQ6OkF1dG9t
YXRpb25TZXNzaW9uQ2xpZW50OjpkaWRSZXF1ZXN0TmV3UGFnZVdpdGhPcHRpb25zKToKKyAgICAg
ICAgKFdlYktpdDo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OmRpZFJlcXVlc3ROZXdXaW5kb3cp
OiBEZWxldGVkLgorICAgICAgICBDb252ZXJ0IHRoZSBpbnRlcm5hbCBvcHRpb24gdG8gYSBDb2Nv
YSBTUEkgb3B0aW9uIGFuZCBwYXNzIGl0IGFsb25nLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tBdXRvbWF0aW9uU2Vzc2lvbkRlbGVnYXRlLmg6CisgICAgICAgIEFkanVzdCBk
ZWxlZ2F0ZSBtZXRob2RzIHRvIGluY2x1ZGUgb3B0aW9ucy4gQ2xpZW50cyBuZWVkIHRvIGFkb3B0
IHRoZSBuZXcgc2lnbmF0dXJlKHMpLgorCiAyMDE4LTAzLTAyICBCcmlhbiBCdXJnICA8YmJ1cmdA
YXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBBdXRvbWF0aW9uOiBzY3JpcHQgZXZhbHVhdGlvbnMg
dmlhIFdlYkRyaXZlciBzaG91bGQgaGF2ZSBhIHVzZXIgZ2VzdHVyZSBpbmRpY2F0b3IKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNs
aWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9u
Q2xpZW50LmgKaW5kZXggMGZjODU0YTNiMTk2NGJkMjJiYjBiNGY3NDcxMjgyMzM4MGI4NDQxZi4u
MDliZjE5NjE0YTE5NjM5MmEwOTdhZjc2NzRmMWQ5MGNhYjFlMDUxYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50
LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwgMjAxOCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTM1LDYgKzM1LDEwIEBAIGNsYXNzIFdlYlBhZ2VQcm94eTsKIAogbmFtZXNwYWNlIEFQSSB7
CiAKK2VudW0gQXV0b21hdGlvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnMgOiB1aW50MTZfdCB7Cisg
ICAgQXV0b21hdGlvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnNQcmVmZXJOZXdUYWIgPSAxIDw8IDAs
Cit9OworCiBjbGFzcyBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudCB7CiBwdWJsaWM6CiAgICAgZW51
bSBjbGFzcyBKYXZhU2NyaXB0RGlhbG9nVHlwZSB7CkBAIC00OCw3ICs1Miw3IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgU3RyaW5nIHNlc3Npb25JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4g
U3RyaW5nKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkRGlzY29ubmVjdEZyb21SZW1vdGUoV2Vi
S2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYpIHsgfQotICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJQ
YWdlUHJveHkqIGRpZFJlcXVlc3ROZXdXaW5kb3coV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lv
biYpIHsgcmV0dXJuIG51bGxwdHI7IH0KKyAgICB2aXJ0dWFsIFdlYktpdDo6V2ViUGFnZVByb3h5
KiBkaWRSZXF1ZXN0TmV3UGFnZVdpdGhPcHRpb25zKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Np
b24mLCBBdXRvbWF0aW9uQnJvd3NpbmdDb250ZXh0T3B0aW9ucykgeyByZXR1cm4gbnVsbHB0cjsg
fQogICAgIHZpcnR1YWwgYm9vbCBpc1Nob3dpbmdKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktp
dDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgcmV0dXJu
IGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc21pc3NDdXJyZW50SmF2YVNjcmlwdERpYWxv
Z09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJv
eHkmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgYWNjZXB0Q3VycmVudEphdmFTY3JpcHREaWFsb2dP
blBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5
JikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
QXV0b21hdGlvblNlc3Npb25EZWxlZ2F0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS0F1dG9tYXRpb25TZXNzaW9uRGVsZWdhdGUuaAppbmRleCBhNTU1Y2Q2ZmY0YThj
MmQyZGJmMDY3YTVhNTI0NjdhNDU1Yzc2ZDIyLi5iZGIzYzEyNzQ0NzZlOTllYWEyMmQ2YWIyZTJh
ZjQ0MmNiZGU2NWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLQXV0b21hdGlvblNlc3Npb25EZWxlZ2F0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRvbWF0aW9uU2Vzc2lvbkRlbGVnYXRlLmgKQEAgLTQwLDEy
ICs0MCwxNiBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tBdXRvbWF0aW9uU2Vzc2lv
bkphdmFTY3JpcHREaWFsb2dUeXBlKSB7CiAgICAgX1dLQXV0b21hdGlvblNlc3Npb25KYXZhU2Ny
aXB0RGlhbG9nVHlwZVByb21wdCwKIH0gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RC
QSksIGlvcyhXS19JT1NfVEJBKSk7CiAKK3R5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBfV0tB
dXRvbWF0aW9uU2Vzc2lvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnMpIHsKKyAgICBfV0tBdXRvbWF0
aW9uU2Vzc2lvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnNQcmVmZXJOZXdUYWIgPSAxIDw8IDAsCit9
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwor
CiBAcHJvdG9jb2wgX1dLQXV0b21hdGlvblNlc3Npb25EZWxlZ2F0ZSA8TlNPYmplY3Q+CiBAb3B0
aW9uYWwKIAogLSAodm9pZClfYXV0b21hdGlvblNlc3Npb25EaWREaXNjb25uZWN0RnJvbVJlbW90
ZTooX1dLQXV0b21hdGlvblNlc3Npb24gKilhdXRvbWF0aW9uU2Vzc2lvbjsKIAotLSAoV0tXZWJW
aWV3ICopX2F1dG9tYXRpb25TZXNzaW9uRGlkUmVxdWVzdE5ld1dlYlZpZXc6KF9XS0F1dG9tYXRp
b25TZXNzaW9uICopYXV0b21hdGlvblNlc3Npb24gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAu
MTMpLCBpb3MoMTEuMCkpOworLSAoV0tXZWJWaWV3ICopX2F1dG9tYXRpb25TZXNzaW9uOihfV0tB
dXRvbWF0aW9uU2Vzc2lvbiAqKWF1dG9tYXRpb25TZXNzaW9uIGRpZFJlcXVlc3ROZXdXZWJWaWV3
V2l0aE9wdGlvbnM6KF9XS0F1dG9tYXRpb25TZXNzaW9uQnJvd3NpbmdDb250ZXh0T3B0aW9ucylv
cHRpb25zIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RC
QSkpOwogLSAoQk9PTClfYXV0b21hdGlvblNlc3Npb246KF9XS0F1dG9tYXRpb25TZXNzaW9uICop
YXV0b21hdGlvblNlc3Npb24gaXNTaG93aW5nSmF2YVNjcmlwdERpYWxvZ0ZvcldlYlZpZXc6KFdL
V2ViVmlldyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEu
MCkpOwogLSAodm9pZClfYXV0b21hdGlvblNlc3Npb246KF9XS0F1dG9tYXRpb25TZXNzaW9uICop
YXV0b21hdGlvblNlc3Npb24gZGlzbWlzc0N1cnJlbnRKYXZhU2NyaXB0RGlhbG9nRm9yV2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlv
cygxMS4wKSk7CiAtICh2b2lkKV9hdXRvbWF0aW9uU2Vzc2lvbjooX1dLQXV0b21hdGlvblNlc3Np
b24gKilhdXRvbWF0aW9uU2Vzc2lvbiBhY2NlcHRDdXJyZW50SmF2YVNjcmlwdERpYWxvZ0Zvcldl
YlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMp
LCBpb3MoMTEuMCkpOwpAQCAtNTUsNyArNTksNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2Vy
LCBfV0tBdXRvbWF0aW9uU2Vzc2lvbkphdmFTY3JpcHREaWFsb2dUeXBlKSB7CiAKIC8vIEZJWE1F
IDM3NDA4NzE4OiBPYmplY3RpdmUtQyBkZWxlZ2F0ZSBtZXRob2RzIHNob3VsZG4ndCB1c2UgQyBB
UEkgdHlwZXMgbGlrZSBXS1BhZ2VSZWYuIFdlIG5lZWQgdG8KIC8vIG1pZ3JhdGUgY2xpZW50cyB0
byB1c2UgV0tXZWJWaWV3LCBvciBleHBvc2UgdGhlIHNhbWUgYmVoYXZpb3IgdmlhIGEgQyBTUEkg
Zm9yIHRob3NlIGNsaWVudHMuCi0tIChXS1BhZ2VSZWYpX2F1dG9tYXRpb25TZXNzaW9uRGlkUmVx
dWVzdE5ld1dpbmRvdzooX1dLQXV0b21hdGlvblNlc3Npb24gKilhdXRvbWF0aW9uU2Vzc2lvbiBX
S19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlvcygxMS4wKSk7CistIChXS1BhZ2VSZWYp
X2F1dG9tYXRpb25TZXNzaW9uOihfV0tBdXRvbWF0aW9uU2Vzc2lvbiAqKWF1dG9tYXRpb25TZXNz
aW9uIGRpZFJlcXVlc3ROZXdQYWdlV2l0aE9wdGlvbnM6KF9XS0F1dG9tYXRpb25TZXNzaW9uQnJv
d3NpbmdDb250ZXh0T3B0aW9ucylvcHRpb25zIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01B
Q19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogLSAoQk9PTClfYXV0b21hdGlvblNlc3Npb246KF9X
S0F1dG9tYXRpb25TZXNzaW9uICopYXV0b21hdGlvblNlc3Npb24gaXNTaG93aW5nSmF2YVNjcmlw
dERpYWxvZ09uUGFnZTooV0tQYWdlUmVmKXBhZ2UgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAu
MTMpLCBpb3MoMTEuMCkpOwogLSAodm9pZClfYXV0b21hdGlvblNlc3Npb246KF9XS0F1dG9tYXRp
b25TZXNzaW9uICopYXV0b21hdGlvblNlc3Npb24gZGlzbWlzc0N1cnJlbnRKYXZhU2NyaXB0RGlh
bG9nT25QYWdlOihXS1BhZ2VSZWYpcGFnZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyks
IGlvcygxMS4wKSk7CiAtICh2b2lkKV9hdXRvbWF0aW9uU2Vzc2lvbjooX1dLQXV0b21hdGlvblNl
c3Npb24gKilhdXRvbWF0aW9uU2Vzc2lvbiBhY2NlcHRDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09u
UGFnZTooV0tQYWdlUmVmKXBhZ2UgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3Mo
MTEuMCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2Vi
S2l0QXV0b21hdGlvblNlc3Npb24uY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2ds
aWIvV2ViS2l0QXV0b21hdGlvblNlc3Npb24uY3BwCmluZGV4IDkzYWI4ZDUwNzg0NTIyZWMyOTVk
NThkZjBjNzM3NGMzNGVjNWM5YTkuLmYwZDVkYjIxNDIxODBiZTBhZGJkYTYxZTcwNGNmOTg1ZDQ5
ZjQwMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktp
dEF1dG9tYXRpb25TZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z2xpYi9XZWJLaXRBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKQEAgLTgyLDcgKzgyLDcgQEAgcHJpdmF0
ZToKICAgICAgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgobV9zZXNzaW9uLT5wcml2LT5pZC5k
YXRhKCkpOwogICAgIH0KIAotICAgIFdlYlBhZ2VQcm94eSogZGlkUmVxdWVzdE5ld1dpbmRvdyhX
ZWJBdXRvbWF0aW9uU2Vzc2lvbiYpIG92ZXJyaWRlCisgICAgV2ViUGFnZVByb3h5KiBkaWRSZXF1
ZXN0TmV3UGFnZVdpdGhPcHRpb25zKFdlYkF1dG9tYXRpb25TZXNzaW9uJiwgQVBJOjpBdXRvbWF0
aW9uU2Vzc2lvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnMpIG92ZXJyaWRlCiAgICAgewogICAgICAg
ICBXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3ID0gbnVsbHB0cjsKICAgICAgICAgZ19zaWduYWxfZW1p
dChtX3Nlc3Npb24sIHNpZ25hbHNbQ1JFQVRFX1dFQl9WSUVXXSwgMCwgJndlYlZpZXcpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpz
b24gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNvbgpp
bmRleCA4ODQwODI2NmExYzg0YjA0NTQwZDdiZGE4OGIyMTU5MTM3Y2UzMDUxLi4wOWMzYjk4N2Y2
MWFmMWZmYWZiYzc5ZTBlNmFjNmQzM2Q4NzE2YjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNvbgorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNvbgpAQCAtMjY5LDYgKzI2OSw5IEBA
CiAgICAgICAgIHsKICAgICAgICAgICAgICJuYW1lIjogImNyZWF0ZUJyb3dzaW5nQ29udGV4dCIs
CiAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3BlbnMgYSBuZXcgYnJvd3NpbmcgY29udGV4
dCBpbiB0aGUgYXV0b21hdGlvbiBzZXNzaW9uIGFuZCBtYWtlcyBpdCB0aGUgYWN0aXZlIGJyb3dz
aW5nIGNvbnRleHQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIFRoaXMgY29tbWFuZCBjcmVhdGVzIGEg
YnJvd3NpbmcgY29udGV4dCBpbiBhIG5ldyB3aW5kb3cgcmF0aGVyIHRoYW4gYWRkaW5nIGEgdGFi
IHRvIGFuIGV4aXN0aW5nIHdpbmRvdy4iLAorICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCisg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJwcmVmZXJOZXdUYWIiLCAidHlwZSI6ICJib29sZWFu
IiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkNyZWF0ZSB0aGUgbmV3IGJyb3dz
aW5nIGNvbnRleHQgYXMgYSB0YWIgaW4gYW4gZXhpc3RpbmcgQXV0b21hdGlvbiB3aW5kb3csIGlm
IHBvc3NpYmxlLiJ9CisgICAgICAgICAgICBdLAogICAgICAgICAgICAgInJldHVybnMiOiBbCiAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJoYW5kbGUiLCAiJHJlZiI6ICJCcm93c2luZ0NvbnRl
eHRIYW5kbGUiLCAiZGVzY3JpcHRpb24iOiAiQW4gb3BhcXVlIGhhbmRsZSBmb3IgdGhlIG5ld2x5
IGNyZWF0ZWQgYnJvd3NpbmcgY29udGV4dC4iIH0KICAgICAgICAgICAgIF0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24u
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vz
c2lvbi5jcHAKaW5kZXggMjk2ODViZmNkZDg4ZjdlYTc5NDQxN2I1NGZjZDVjZGIxZmNiN2ZjYi4u
ODk4MjhkODZjM2Q4YTZiYmIxYTM1M2U5NmE5ZWIyNzdkMjFiYjNkMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vz
c2lvbi5jcHAKQEAgLTI3MSwxMyArMjcxLDE3IEBAIHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246
OmdldEJyb3dzaW5nQ29udGV4dChJbnNwZWN0b3I6OkVycm9yU3RyaW5nJiBlcnJvclN0cmluCiAg
ICAgfSk7CiB9CiAKLXZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmNyZWF0ZUJyb3dzaW5nQ29u
dGV4dChJbnNwZWN0b3I6OkVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgU3RyaW5nKiBoYW5kbGUp
Cit2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpjcmVhdGVCcm93c2luZ0NvbnRleHQoSW5zcGVj
dG9yOjpFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGNvbnN0IGJvb2wqIHByZWZlck5ld1RhYiwg
U3RyaW5nKiBoYW5kbGUpCiB7CiAgICAgQVNTRVJUKG1fY2xpZW50KTsKICAgICBpZiAoIW1fY2xp
ZW50KQogICAgICAgICBGQUlMX1dJVEhfUFJFREVGSU5FRF9FUlJPUl9BTkRfREVUQUlMUyhJbnRl
cm5hbEVycm9yLCAiVGhlIHJlbW90ZSBzZXNzaW9uIGNvdWxkIG5vdCByZXF1ZXN0IGEgbmV3IGJy
b3dzaW5nIGNvbnRleHQuIik7CiAKLSAgICBXZWJQYWdlUHJveHkqIHBhZ2UgPSBtX2NsaWVudC0+
ZGlkUmVxdWVzdE5ld1dpbmRvdygqdGhpcyk7CisgICAgdWludDE2X3Qgb3B0aW9ucyA9IDA7Cisg
ICAgaWYgKHByZWZlck5ld1RhYiAmJiAqcHJlZmVyTmV3VGFiKQorICAgICAgICBvcHRpb25zIHw9
IEFQSTo6QXV0b21hdGlvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnNQcmVmZXJOZXdUYWI7CisKKyAg
ICBXZWJQYWdlUHJveHkqIHBhZ2UgPSBtX2NsaWVudC0+ZGlkUmVxdWVzdE5ld1BhZ2VXaXRoT3B0
aW9ucygqdGhpcywgc3RhdGljX2Nhc3Q8QVBJOjpBdXRvbWF0aW9uQnJvd3NpbmdDb250ZXh0T3B0
aW9ucz4ob3B0aW9ucykpOwogICAgIGlmICghcGFnZSkKICAgICAgICAgRkFJTF9XSVRIX1BSRURF
RklORURfRVJST1JfQU5EX0RFVEFJTFMoSW50ZXJuYWxFcnJvciwgIlRoZSByZW1vdGUgc2Vzc2lv
biBmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGJyb3dzaW5nIGNvbnRleHQuIik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Np
b24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNl
c3Npb24uaAppbmRleCA0ZjU3OWRiZDZhNmM1YmY0MzhjZDA3OGU3YjQwZDFhMDIxNjQwY2RhLi42
N2VlMmUwODY0YjBjMDdkNzk3MDVkZDM4MmY5MDk3MGEyNmIwZWQ1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lv
bi5oCkBAIC0xMTksNyArMTE5LDcgQEAgcHVibGljOgogICAgIC8vIFBsYXRmb3JtOiBHZW5lcmlj
CiAgICAgdm9pZCBnZXRCcm93c2luZ0NvbnRleHRzKEluc3BlY3Rvcjo6RXJyb3JTdHJpbmcmLCBS
ZWY8R2V0QnJvd3NpbmdDb250ZXh0c0NhbGxiYWNrPiYmKSBmaW5hbDsKICAgICB2b2lkIGdldEJy
b3dzaW5nQ29udGV4dChJbnNwZWN0b3I6OkVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgUmVm
PEdldEJyb3dzaW5nQ29udGV4dENhbGxiYWNrPiYmKSBmaW5hbDsKLSAgICB2b2lkIGNyZWF0ZUJy
b3dzaW5nQ29udGV4dChJbnNwZWN0b3I6OkVycm9yU3RyaW5nJiwgU3RyaW5nKikgb3ZlcnJpZGU7
CisgICAgdm9pZCBjcmVhdGVCcm93c2luZ0NvbnRleHQoSW5zcGVjdG9yOjpFcnJvclN0cmluZyYs
IGNvbnN0IGJvb2wqIHByZWZlck5ld1RhYiwgU3RyaW5nKikgb3ZlcnJpZGU7CiAgICAgdm9pZCBj
bG9zZUJyb3dzaW5nQ29udGV4dChJbnNwZWN0b3I6OkVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5n
Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzd2l0Y2hUb0Jyb3dzaW5nQ29udGV4dChJbnNwZWN0b3I6
OkVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBicm93c2luZ0NvbnRleHRIYW5kbGUsIGNvbnN0
IFN0cmluZyogb3B0aW9uYWxGcmFtZUhhbmRsZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRXaW5k
b3dGcmFtZU9mQnJvd3NpbmdDb250ZXh0KEluc3BlY3Rvcjo6RXJyb3JTdHJpbmcmLCBjb25zdCBT
dHJpbmcmIGhhbmRsZSwgY29uc3QgSlNPTjo6T2JqZWN0KiBvcmlnaW4sIGNvbnN0IEpTT046Ok9i
amVjdCogc2l6ZSwgUmVmPFNldFdpbmRvd0ZyYW1lT2ZCcm93c2luZ0NvbnRleHRDYWxsYmFjaz4m
JikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9BdXRv
bWF0aW9uU2Vzc2lvbkNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvQXV0
b21hdGlvblNlc3Npb25DbGllbnQuaAppbmRleCAzNWU4ZWMyYTZhYzVjMTlkMGZiYWRiNmIzZWRi
MTMzODFkZDQ2ZTRkLi43YzhmNjEyNGI5MGU2YzQwZGQwOGQ3ZDA0NjAyN2YxYjE4ZjZiNTYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9BdXRvbWF0aW9uU2Vzc2lv
bkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0F1dG9tYXRpb25T
ZXNzaW9uQ2xpZW50LmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAg
IC8vIEZyb20gQVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudAotICAgIFdlYlBhZ2VQcm94eSog
ZGlkUmVxdWVzdE5ld1dpbmRvdyhXZWJBdXRvbWF0aW9uU2Vzc2lvbiYpIG92ZXJyaWRlOworICAg
IFdlYlBhZ2VQcm94eSogZGlkUmVxdWVzdE5ld1BhZ2VXaXRoT3B0aW9ucyhXZWJBdXRvbWF0aW9u
U2Vzc2lvbiYsIEFQSTo6QXV0b21hdGlvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnMpIG92ZXJyaWRl
OwogICAgIHZvaWQgZGlkRGlzY29ubmVjdEZyb21SZW1vdGUoV2ViQXV0b21hdGlvblNlc3Npb24m
KSBvdmVycmlkZTsKIAogICAgIGJvb2wgaXNTaG93aW5nSmF2YVNjcmlwdERpYWxvZ09uUGFnZShX
ZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYlBhZ2VQcm94eSYpIG92ZXJyaWRlOwpAQCAtNTgsNyAr
NTgsNyBAQCBwcml2YXRlOgogICAgIHN0cnVjdCB7CiAgICAgICAgIGJvb2wgZGlkRGlzY29ubmVj
dEZyb21SZW1vdGUgOiAxOwogCi0gICAgICAgIGJvb2wgZGlkUmVxdWVzdE5ld1dlYlZpZXcgOiAx
OworICAgICAgICBib29sIGRpZFJlcXVlc3ROZXdXZWJWaWV3V2l0aE9wdGlvbnMgOiAxOwogICAg
ICAgICBib29sIGlzU2hvd2luZ0phdmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3IDogMTsKICAgICAg
ICAgYm9vbCBkaXNtaXNzQ3VycmVudEphdmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3IDogMTsKICAg
ICAgICAgYm9vbCBhY2NlcHRDdXJyZW50SmF2YVNjcmlwdERpYWxvZ0ZvcldlYlZpZXcgOiAxOwpA
QCAtNjcsNyArNjcsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIHR5cGVPZkN1cnJlbnRKYXZh
U2NyaXB0RGlhbG9nRm9yV2ViVmlldyA6IDE7CiAKICAgICAgICAgLy8gRklYTUUgMzc0MDg3MTg6
IHRoZXNlIGRlbGVnYXRlIG1ldGhvZHMgc2hvdWxkIGJlIHJlbW92ZWQuCi0gICAgICAgIGJvb2wg
ZGlkUmVxdWVzdE5ld1dpbmRvdyA6IDE7CisgICAgICAgIGJvb2wgZGlkUmVxdWVzdE5ld1BhZ2VX
aXRoT3B0aW9ucyA6IDE7CiAgICAgICAgIGJvb2wgaXNTaG93aW5nSmF2YVNjcmlwdERpYWxvZ09u
UGFnZSA6IDE7CiAgICAgICAgIGJvb2wgZGlzbWlzc0N1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25Q
YWdlIDogMTsKICAgICAgICAgYm9vbCBhY2NlcHRDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFn
ZSA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9BdXRvbWF0
aW9uU2Vzc2lvbkNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0F1dG9t
YXRpb25TZXNzaW9uQ2xpZW50Lm1tCmluZGV4IGE1Y2IwOWM5NTkzMmNkYTg4MzUzY2I2MDhkNzkw
NTUxZmMyNjk1ZjIuLjg3ODk4MWNjZWE4NzE0MDA1MmU1YzBiMmE1MDkxNTc1ZWUyZjM3OTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0F1dG9tYXRpb25TZXNzaW9u
Q2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0F1dG9tYXRpb25T
ZXNzaW9uQ2xpZW50Lm1tCkBAIC00Miw3ICs0Miw3IEBAIEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50
OjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudChpZCA8X1dLQXV0b21hdGlvblNlc3Npb25EZWxlZ2F0
CiB7CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMuZGlkRGlzY29ubmVjdEZyb21SZW1vdGUgPSBbZGVs
ZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfYXV0b21hdGlvblNlc3Npb25EaWRE
aXNjb25uZWN0RnJvbVJlbW90ZTopXTsKIAotICAgIG1fZGVsZWdhdGVNZXRob2RzLmRpZFJlcXVl
c3ROZXdXZWJWaWV3ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX2F1
dG9tYXRpb25TZXNzaW9uRGlkUmVxdWVzdE5ld1dlYlZpZXc6KV07CisgICAgbV9kZWxlZ2F0ZU1l
dGhvZHMuZGlkUmVxdWVzdE5ld1dlYlZpZXdXaXRoT3B0aW9ucyA9IFtkZWxlZ2F0ZSByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9hdXRvbWF0aW9uU2Vzc2lvbjpkaWRSZXF1ZXN0TmV3V2Vi
Vmlld1dpdGhPcHRpb25zOildOwogICAgIG1fZGVsZWdhdGVNZXRob2RzLmlzU2hvd2luZ0phdmFT
Y3JpcHREaWFsb2dGb3JXZWJWaWV3ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3IoX2F1dG9tYXRpb25TZXNzaW9uOmlzU2hvd2luZ0phdmFTY3JpcHREaWFsb2dGb3JXZWJW
aWV3OildOwogICAgIG1fZGVsZWdhdGVNZXRob2RzLmRpc21pc3NDdXJyZW50SmF2YVNjcmlwdERp
YWxvZ0ZvcldlYlZpZXcgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihf
YXV0b21hdGlvblNlc3Npb246ZGlzbWlzc0N1cnJlbnRKYXZhU2NyaXB0RGlhbG9nRm9yV2ViVmll
dzopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy5hY2NlcHRDdXJyZW50SmF2YVNjcmlwdERpYWxv
Z0ZvcldlYlZpZXcgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfYXV0
b21hdGlvblNlc3Npb246YWNjZXB0Q3VycmVudEphdmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3Oild
OwpAQCAtNTEsNyArNTEsNyBAQCBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6QXV0b21hdGlvblNl
c3Npb25DbGllbnQoaWQgPF9XS0F1dG9tYXRpb25TZXNzaW9uRGVsZWdhdAogICAgIG1fZGVsZWdh
dGVNZXRob2RzLnR5cGVPZkN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nRm9yV2ViVmlldyA9IFtkZWxl
Z2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9hdXRvbWF0aW9uU2Vzc2lvbjp0eXBl
T2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ0ZvcldlYlZpZXc6KV07CiAKICAgICAvLyBGSVhNRSAz
NzQwODcxODogdGhlc2UgZGVsZWdhdGUgbWV0aG9kcyBzaG91bGQgYmUgcmVtb3ZlZC4KLSAgICBt
X2RlbGVnYXRlTWV0aG9kcy5kaWRSZXF1ZXN0TmV3V2luZG93ID0gW2RlbGVnYXRlIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoX2F1dG9tYXRpb25TZXNzaW9uRGlkUmVxdWVzdE5ld1dpbmRv
dzopXTsKKyAgICBtX2RlbGVnYXRlTWV0aG9kcy5kaWRSZXF1ZXN0TmV3UGFnZVdpdGhPcHRpb25z
ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX2F1dG9tYXRpb25TZXNz
aW9uOmRpZFJlcXVlc3ROZXdQYWdlV2l0aE9wdGlvbnM6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhv
ZHMuaXNTaG93aW5nSmF2YVNjcmlwdERpYWxvZ09uUGFnZSA9IFtkZWxlZ2F0ZSByZXNwb25kc1Rv
U2VsZWN0b3I6QHNlbGVjdG9yKF9hdXRvbWF0aW9uU2Vzc2lvbjppc1Nob3dpbmdKYXZhU2NyaXB0
RGlhbG9nT25QYWdlOildOwogICAgIG1fZGVsZWdhdGVNZXRob2RzLmRpc21pc3NDdXJyZW50SmF2
YVNjcmlwdERpYWxvZ09uUGFnZSA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKF9hdXRvbWF0aW9uU2Vzc2lvbjpkaXNtaXNzQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBh
Z2U6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMuYWNjZXB0Q3VycmVudEphdmFTY3JpcHREaWFs
b2dPblBhZ2UgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfYXV0b21h
dGlvblNlc3Npb246YWNjZXB0Q3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2U6KV07CkBAIC02
NiwxNSArNjYsMjUgQEAgdm9pZCBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6ZGlkRGlzY29ubmVj
dEZyb21SZW1vdGUoV2ViQXV0b21hdGlvblNlc3Npb24mIHNlc3MKICAgICAgICAgW21fZGVsZWdh
dGUuZ2V0KCkgX2F1dG9tYXRpb25TZXNzaW9uRGlkRGlzY29ubmVjdEZyb21SZW1vdGU6d3JhcHBl
cihzZXNzaW9uKV07CiB9CiAKK3N0YXRpYyBpbmxpbmUgX1dLQXV0b21hdGlvblNlc3Npb25Ccm93
c2luZ0NvbnRleHRPcHRpb25zIHRvQVBJKEFQSTo6QXV0b21hdGlvbkJyb3dzaW5nQ29udGV4dE9w
dGlvbnMgb3B0aW9ucykKK3sKKyAgICB1aW50MTZfdCB3a09wdGlvbnMgPSAwOworCisgICAgaWYg
KG9wdGlvbnMgJiBBUEk6OkF1dG9tYXRpb25Ccm93c2luZ0NvbnRleHRPcHRpb25zUHJlZmVyTmV3
VGFiKQorICAgICAgICB3a09wdGlvbnMgfD0gX1dLQXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0Nv
bnRleHRPcHRpb25zUHJlZmVyTmV3VGFiOworCisgICAgcmV0dXJuIHN0YXRpY19jYXN0PF9XS0F1
dG9tYXRpb25TZXNzaW9uQnJvd3NpbmdDb250ZXh0T3B0aW9ucz4od2tPcHRpb25zKTsKK30KKwog
Ly8gRklYTUUgMzc0MDg3MTg6IHN1cHBvcnQgZm9yIFdLUGFnZVJlZi1iYXNlZCBkZWxlZ2F0ZSBt
ZXRob2RzIHNob3VsZCBiZSByZW1vdmVkLgogLy8gVW50aWwgdGhlc2UgYXJlIHJlbW92ZWQsIHBy
ZWZlciB0byB1c2UgdGhlIFdLV2ViVmlldyBkZWxlZ2F0ZSBtZXRob2RzIGlmIGltcGxlbWVudGVk
LgotV2ViUGFnZVByb3h5KiBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6ZGlkUmVxdWVzdE5ld1dp
bmRvdyhXZWJBdXRvbWF0aW9uU2Vzc2lvbiYgc2Vzc2lvbikKK1dlYlBhZ2VQcm94eSogQXV0b21h
dGlvblNlc3Npb25DbGllbnQ6OmRpZFJlcXVlc3ROZXdQYWdlV2l0aE9wdGlvbnMoV2ViQXV0b21h
dGlvblNlc3Npb24mIHNlc3Npb24sIEFQSTo6QXV0b21hdGlvbkJyb3dzaW5nQ29udGV4dE9wdGlv
bnMgb3B0aW9ucykKIHsKLSAgICBpZiAobV9kZWxlZ2F0ZU1ldGhvZHMuZGlkUmVxdWVzdE5ld1dl
YlZpZXcpCi0gICAgICAgIHJldHVybiBbbV9kZWxlZ2F0ZS5nZXQoKSBfYXV0b21hdGlvblNlc3Np
b25EaWRSZXF1ZXN0TmV3V2ViVmlldzp3cmFwcGVyKHNlc3Npb24pXS0+X3BhZ2UuZ2V0KCk7Cisg
ICAgaWYgKG1fZGVsZWdhdGVNZXRob2RzLmRpZFJlcXVlc3ROZXdXZWJWaWV3V2l0aE9wdGlvbnMp
CisgICAgICAgIHJldHVybiBbbV9kZWxlZ2F0ZS5nZXQoKSBfYXV0b21hdGlvblNlc3Npb246d3Jh
cHBlcihzZXNzaW9uKSBkaWRSZXF1ZXN0TmV3V2ViVmlld1dpdGhPcHRpb25zOnRvQVBJKG9wdGlv
bnMpXS0+X3BhZ2UuZ2V0KCk7CiAKLSAgICBpZiAobV9kZWxlZ2F0ZU1ldGhvZHMuZGlkUmVxdWVz
dE5ld1dpbmRvdykKLSAgICAgICAgcmV0dXJuIHRvSW1wbChbbV9kZWxlZ2F0ZS5nZXQoKSBfYXV0
b21hdGlvblNlc3Npb25EaWRSZXF1ZXN0TmV3V2luZG93OndyYXBwZXIoc2Vzc2lvbildKTsKKyAg
ICBpZiAobV9kZWxlZ2F0ZU1ldGhvZHMuZGlkUmVxdWVzdE5ld1BhZ2VXaXRoT3B0aW9ucykKKyAg
ICAgICAgcmV0dXJuIHRvSW1wbChbbV9kZWxlZ2F0ZS5nZXQoKSBfYXV0b21hdGlvblNlc3Npb246
d3JhcHBlcihzZXNzaW9uKSBkaWRSZXF1ZXN0TmV3UGFnZVdpdGhPcHRpb25zOnRvQVBJKG9wdGlv
bnMpXSk7CiAKICAgICByZXR1cm4gbnVsbHB0cjsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335138</attachid>
            <date>2018-03-06 14:15:31 -0800</date>
            <delta_ts>2018-03-24 11:27:51 -0700</delta_ts>
            <desc>Proposed Fix (GTK v2)</desc>
            <filename>bug-183381-20180306141530.patch</filename>
            <type>text/plain</type>
            <size>17539</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5MzQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhkM2UxYzY3MTY2NTk5OWEx
NWM5MGMwZjNlODIwYmI5NGE0YTk0MDkuLmE1N2VjNDQyY2U3ZDQ3NzMyNmVlYzM3ZTA1MTAwZmFj
N2ZjMzNmMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMTgtMDMtMDYgIEJyaWFuIEJ1
cmcgIDxiYnVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1dG9tYXRpb246IHByb3ZpZGUg
YSB3YXkgdG8gYXNrIGNsaWVudHMgZm9yIGEgbmV3IHRhYiBvciB3aW5kb3cKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzM4MQorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMzgxNjczMDE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNwZWNpZnlpbmcgYnJvd3NpbmcgY29udGV4
dCBvcHRpb25zIHdoZW4gcmVxdWVzdGluZworICAgICAgICBhIG5ldyBicm93c2luZyBjb250ZXh0
IGZyb20gdGhlIGF1dG9tYXRpb24gc2Vzc2lvbiBjbGllbnQvZGVsZWdhdGUuCisgICAgICAgIFRo
aXMgaXMgY3VycmVudGx5IGp1c3QgdXNlZCBmb3Igc3BlY2lmeWluZyB0YWIgdnMgd2luZG93LCBi
dXQgY291bGQKKyAgICAgICAgYWxzbyBiZSB1c2VkIGZvciB0aGluZ3MgbGlrZSB0b2dnbGluZyBj
ZXJ0YWluIGJyb3dzZXIgY2hyb21lIG9yIGZlYXR1cmVzLgorCisgICAgICAgIFRoZXJlIGlzIG5v
IGd1YXJhbnRlZSB0aGF0IHRoZSBjbGllbnQgaGFzIGEgbm90aW9uIG9mIHRhYnMgdnMgd2luZG93
cywKKyAgICAgICAgc28gdGhpcyBvcHRpb24gaXMgcHVyZWx5IGFkdmlzb3J5IGFuZCBzaG91bGQg
bm90IGNhdXNlIHRoZSBjb21tYW5kIHRvCisgICAgICAgIGZhaWwgaWYgaXQgY2Fubm90IGJlIGhv
bm9yZWQuCisKKyAgICAgICAgVGhpcyBiZWhhdmlvciBjYXVzZWQgYnkgc3BlY2lmeWluZyB0aGlz
IG9wdGlvbiBpcyBjbGllbnQtc3BlY2lmaWMsIHNvIG5vCisgICAgICAgIG5ldyB0ZXN0cyBhcmUg
aW5jbHVkZWQgaW4gV2ViS2l0IGZvciB0aGlzIGNoYW5nZS4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDoKKyAgICAgICAgKEFQSTo6QXV0b21h
dGlvblNlc3Npb25DbGllbnQ6OmRpZFJlcXVlc3ROZXdQYWdlV2l0aE9wdGlvbnMpOgorICAgICAg
ICAoQVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6ZGlkUmVxdWVzdE5ld1dpbmRvdyk6IERl
bGV0ZWQuCisgICAgICAgIEFkZCBvcHRpb25zIHBhcmFtZXRlci4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRBdXRvbWF0aW9uU2Vzc2lvbi5jcHA6CisgICAgICAgIEFkanVz
dCB0byBuZXcgc2lnbmF0dXJlLiBNb3JlIHdvcmsgaXMgbmVlZGVkIHRvIHBsdW1iIHRoaXMgaW5m
b3JtYXRpb24KKyAgICAgICAgdG8gdGhlIHB1YmxpYyBBUEkgZm9yIEdUSy9XUEUgYW5kIHN1cHBv
cnQgaXQgaW4gV2ViS2l0R1RLIGRyaXZlci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0
aW9uL0F1dG9tYXRpb24uanNvbjogQWRkIG5ldyBvcHRpb25hbCBwYXJhbWV0ZXIuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246OmNyZWF0ZUJyb3dzaW5nQ29udGV4dCk6
CisgICAgICAgIENvbnZlcnQgdGhlIHByb3RvY29sIG9wdGlvbiB0byBhbiBBUEkgb3B0aW9uLgor
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL0F1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL0F1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lm1tOgorICAg
ICAgICAoV2ViS2l0OjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6QXV0b21hdGlvblNlc3Npb25D
bGllbnQpOgorICAgICAgICAoV2ViS2l0Ojp0b0FQSSk6CisgICAgICAgIChXZWJLaXQ6OkF1dG9t
YXRpb25TZXNzaW9uQ2xpZW50OjpkaWRSZXF1ZXN0TmV3UGFnZVdpdGhPcHRpb25zKToKKyAgICAg
ICAgKFdlYktpdDo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OmRpZFJlcXVlc3ROZXdXaW5kb3cp
OiBEZWxldGVkLgorICAgICAgICBDb252ZXJ0IHRoZSBpbnRlcm5hbCBvcHRpb24gdG8gYSBDb2Nv
YSBTUEkgb3B0aW9uIGFuZCBwYXNzIGl0IGFsb25nLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tBdXRvbWF0aW9uU2Vzc2lvbkRlbGVnYXRlLmg6CisgICAgICAgIEFkanVzdCBk
ZWxlZ2F0ZSBtZXRob2RzIHRvIGluY2x1ZGUgb3B0aW9ucy4gQ2xpZW50cyBuZWVkIHRvIGFkb3B0
IHRoZSBuZXcgc2lnbmF0dXJlKHMpLgorCiAyMDE4LTAzLTA2ICBBbnRvaW5lIFF1aW50ICA8Z3Jh
b3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYiBBbmltYXRpb25zXSBBZGQgYSBuZXcgcnVu
dGltZSBmbGFnIHRvIGNvbnRyb2wgd2hldGhlciBDU1MgQW5pbWF0aW9ucyBhbmQgQ1NTIFRyYW5z
aXRpb25zIHNob3VsZCBydW4gdXNpbmcgdGhlIFdlYiBBbmltYXRpb25zIHRpbWVsaW5lCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25D
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lv
bkNsaWVudC5oCmluZGV4IDBmYzg1NGEzYjE5NjRiZDIyYmIwYjRmNzQ3MTI4MjMzODBiODQ0MWYu
LjJlMDYwODVmMjg0MTBlZjRjMDNlZmUyYmEwNTY5MDkxY2Q3YjY5YzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVu
dC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYsIDIwMTggQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0zNSw2ICszNSwxMCBAQCBjbGFzcyBXZWJQYWdlUHJveHk7CiAKIG5hbWVzcGFjZSBBUEkg
ewogCitlbnVtIEF1dG9tYXRpb25TZXNzaW9uQnJvd3NpbmdDb250ZXh0T3B0aW9ucyA6IHVpbnQx
Nl90IHsKKyAgICBBdXRvbWF0aW9uU2Vzc2lvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnNQcmVmZXJO
ZXdUYWIgPSAxIDw8IDAsCit9OworCiBjbGFzcyBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudCB7CiBw
dWJsaWM6CiAgICAgZW51bSBjbGFzcyBKYXZhU2NyaXB0RGlhbG9nVHlwZSB7CkBAIC00OCw3ICs1
Miw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgU3RyaW5nIHNlc3Npb25JZGVudGlmaWVyKCkg
Y29uc3QgeyByZXR1cm4gU3RyaW5nKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkRGlzY29ubmVj
dEZyb21SZW1vdGUoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYpIHsgfQotICAgIHZpcnR1
YWwgV2ViS2l0OjpXZWJQYWdlUHJveHkqIGRpZFJlcXVlc3ROZXdXaW5kb3coV2ViS2l0OjpXZWJB
dXRvbWF0aW9uU2Vzc2lvbiYpIHsgcmV0dXJuIG51bGxwdHI7IH0KKyAgICB2aXJ0dWFsIFdlYktp
dDo6V2ViUGFnZVByb3h5KiBkaWRSZXF1ZXN0TmV3UGFnZVdpdGhPcHRpb25zKFdlYktpdDo6V2Vi
QXV0b21hdGlvblNlc3Npb24mLCBBdXRvbWF0aW9uU2Vzc2lvbkJyb3dzaW5nQ29udGV4dE9wdGlv
bnMpIHsgcmV0dXJuIG51bGxwdHI7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNTaG93aW5nSmF2YVNj
cmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpX
ZWJQYWdlUHJveHkmKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaXNtaXNz
Q3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lv
biYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGFjY2VwdEN1
cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24m
LCBXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dG9tYXRpb25TZXNzaW9uRGVsZWdhdGUuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRvbWF0aW9uU2Vzc2lvbkRlbGVnYXRl
LmgKaW5kZXggYTU1NWNkNmZmNGE4YzJkMmRiZjA2N2E1YTUyNDY3YTQ1NWM3NmQyMi4uYmRiM2Mx
Mjc0NDc2ZTk5ZWFhMjJkNmFiMmUyYWY0NDJjYmRlNjViNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dG9tYXRpb25TZXNzaW9uRGVsZWdhdGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXV0b21hdGlvblNlc3Np
b25EZWxlZ2F0ZS5oCkBAIC00MCwxMiArNDAsMTYgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdl
ciwgX1dLQXV0b21hdGlvblNlc3Npb25KYXZhU2NyaXB0RGlhbG9nVHlwZSkgewogICAgIF9XS0F1
dG9tYXRpb25TZXNzaW9uSmF2YVNjcmlwdERpYWxvZ1R5cGVQcm9tcHQsCiB9IFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCit0eXBlZGVmIE5T
X0VOVU0oTlNVSW50ZWdlciwgX1dLQXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRp
b25zKSB7CisgICAgX1dLQXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRpb25zUHJl
ZmVyTmV3VGFiID0gMSA8PCAwLAorfSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJB
KSwgaW9zKFdLX0lPU19UQkEpKTsKKwogQHByb3RvY29sIF9XS0F1dG9tYXRpb25TZXNzaW9uRGVs
ZWdhdGUgPE5TT2JqZWN0PgogQG9wdGlvbmFsCiAKIC0gKHZvaWQpX2F1dG9tYXRpb25TZXNzaW9u
RGlkRGlzY29ubmVjdEZyb21SZW1vdGU6KF9XS0F1dG9tYXRpb25TZXNzaW9uICopYXV0b21hdGlv
blNlc3Npb247CiAKLS0gKFdLV2ViVmlldyAqKV9hdXRvbWF0aW9uU2Vzc2lvbkRpZFJlcXVlc3RO
ZXdXZWJWaWV3OihfV0tBdXRvbWF0aW9uU2Vzc2lvbiAqKWF1dG9tYXRpb25TZXNzaW9uIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKKy0gKFdLV2ViVmlldyAqKV9h
dXRvbWF0aW9uU2Vzc2lvbjooX1dLQXV0b21hdGlvblNlc3Npb24gKilhdXRvbWF0aW9uU2Vzc2lv
biBkaWRSZXF1ZXN0TmV3V2ViVmlld1dpdGhPcHRpb25zOihfV0tBdXRvbWF0aW9uU2Vzc2lvbkJy
b3dzaW5nQ29udGV4dE9wdGlvbnMpb3B0aW9ucyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIC0gKEJPT0wpX2F1dG9tYXRpb25TZXNzaW9uOihf
V0tBdXRvbWF0aW9uU2Vzc2lvbiAqKWF1dG9tYXRpb25TZXNzaW9uIGlzU2hvd2luZ0phdmFTY3Jp
cHREaWFsb2dGb3JXZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKIC0gKHZvaWQpX2F1dG9tYXRpb25TZXNzaW9uOihf
V0tBdXRvbWF0aW9uU2Vzc2lvbiAqKWF1dG9tYXRpb25TZXNzaW9uIGRpc21pc3NDdXJyZW50SmF2
YVNjcmlwdERpYWxvZ0ZvcldlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlM
QUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwogLSAodm9pZClfYXV0b21hdGlvblNlc3Np
b246KF9XS0F1dG9tYXRpb25TZXNzaW9uICopYXV0b21hdGlvblNlc3Npb24gYWNjZXB0Q3VycmVu
dEphdmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKQEAgLTU1LDcgKzU5LDcgQEAgdHlw
ZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLQXV0b21hdGlvblNlc3Npb25KYXZhU2NyaXB0RGlh
bG9nVHlwZSkgewogCiAvLyBGSVhNRSAzNzQwODcxODogT2JqZWN0aXZlLUMgZGVsZWdhdGUgbWV0
aG9kcyBzaG91bGRuJ3QgdXNlIEMgQVBJIHR5cGVzIGxpa2UgV0tQYWdlUmVmLiBXZSBuZWVkIHRv
CiAvLyBtaWdyYXRlIGNsaWVudHMgdG8gdXNlIFdLV2ViVmlldywgb3IgZXhwb3NlIHRoZSBzYW1l
IGJlaGF2aW9yIHZpYSBhIEMgU1BJIGZvciB0aG9zZSBjbGllbnRzLgotLSAoV0tQYWdlUmVmKV9h
dXRvbWF0aW9uU2Vzc2lvbkRpZFJlcXVlc3ROZXdXaW5kb3c6KF9XS0F1dG9tYXRpb25TZXNzaW9u
ICopYXV0b21hdGlvblNlc3Npb24gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3Mo
MTEuMCkpOworLSAoV0tQYWdlUmVmKV9hdXRvbWF0aW9uU2Vzc2lvbjooX1dLQXV0b21hdGlvblNl
c3Npb24gKilhdXRvbWF0aW9uU2Vzc2lvbiBkaWRSZXF1ZXN0TmV3UGFnZVdpdGhPcHRpb25zOihf
V0tBdXRvbWF0aW9uU2Vzc2lvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnMpb3B0aW9ucyBXS19BUElf
QVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIC0gKEJPT0wp
X2F1dG9tYXRpb25TZXNzaW9uOihfV0tBdXRvbWF0aW9uU2Vzc2lvbiAqKWF1dG9tYXRpb25TZXNz
aW9uIGlzU2hvd2luZ0phdmFTY3JpcHREaWFsb2dPblBhZ2U6KFdLUGFnZVJlZilwYWdlIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKIC0gKHZvaWQpX2F1dG9tYXRp
b25TZXNzaW9uOihfV0tBdXRvbWF0aW9uU2Vzc2lvbiAqKWF1dG9tYXRpb25TZXNzaW9uIGRpc21p
c3NDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZTooV0tQYWdlUmVmKXBhZ2UgV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwogLSAodm9pZClfYXV0b21hdGlvblNl
c3Npb246KF9XS0F1dG9tYXRpb25TZXNzaW9uICopYXV0b21hdGlvblNlc3Npb24gYWNjZXB0Q3Vy
cmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2U6KFdLUGFnZVJlZilwYWdlIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdEF1dG9tYXRpb25TZXNzaW9uLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdEF1dG9tYXRpb25TZXNzaW9uLmNwcAppbmRl
eCA5M2FiOGQ1MDc4NDUyMmVjMjk1ZDU4ZGYwYzczNzRjMzRlYzVjOWE5Li5mMGQ1ZGIyMTQyMTgw
YmUwYWRiZGE2MWU3MDRjZjk4NWQ0OWY0MDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0QXV0b21hdGlvblNlc3Npb24uY3BwCkBA
IC04Miw3ICs4Miw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4
KG1fc2Vzc2lvbi0+cHJpdi0+aWQuZGF0YSgpKTsKICAgICB9CiAKLSAgICBXZWJQYWdlUHJveHkq
IGRpZFJlcXVlc3ROZXdXaW5kb3coV2ViQXV0b21hdGlvblNlc3Npb24mKSBvdmVycmlkZQorICAg
IFdlYlBhZ2VQcm94eSogZGlkUmVxdWVzdE5ld1BhZ2VXaXRoT3B0aW9ucyhXZWJBdXRvbWF0aW9u
U2Vzc2lvbiYsIEFQSTo6QXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRpb25zKSBv
dmVycmlkZQogICAgIHsKICAgICAgICAgV2ViS2l0V2ViVmlldyogd2ViVmlldyA9IG51bGxwdHI7
CiAgICAgICAgIGdfc2lnbmFsX2VtaXQobV9zZXNzaW9uLCBzaWduYWxzW0NSRUFURV9XRUJfVklF
V10sIDAsICZ3ZWJWaWV3KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1
dG9tYXRpb24vQXV0b21hdGlvbi5qc29uIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21h
dGlvbi9BdXRvbWF0aW9uLmpzb24KaW5kZXggODg0MDgyNjZhMWM4NGIwNDU0MGQ3YmRhODhiMjE1
OTEzN2NlMzA1MS4uMDljM2I5ODdmNjFhZjFmZmFmYmM3OWUwZTZhYzZkMzNkODcxNmIyYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpz
b24KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpz
b24KQEAgLTI2OSw2ICsyNjksOSBAQAogICAgICAgICB7CiAgICAgICAgICAgICAibmFtZSI6ICJj
cmVhdGVCcm93c2luZ0NvbnRleHQiLAogICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wZW5z
IGEgbmV3IGJyb3dzaW5nIGNvbnRleHQgaW4gdGhlIGF1dG9tYXRpb24gc2Vzc2lvbiBhbmQgbWFr
ZXMgaXQgdGhlIGFjdGl2ZSBicm93c2luZyBjb250ZXh0IGZvciB1c2VyIGludGVyYWN0aW9uLiBU
aGlzIGNvbW1hbmQgY3JlYXRlcyBhIGJyb3dzaW5nIGNvbnRleHQgaW4gYSBuZXcgd2luZG93IHJh
dGhlciB0aGFuIGFkZGluZyBhIHRhYiB0byBhbiBleGlzdGluZyB3aW5kb3cuIiwKKyAgICAgICAg
ICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicHJlZmVyTmV3
VGFiIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6
ICJDcmVhdGUgdGhlIG5ldyBicm93c2luZyBjb250ZXh0IGFzIGEgdGFiIGluIGFuIGV4aXN0aW5n
IEF1dG9tYXRpb24gd2luZG93LCBpZiBwb3NzaWJsZS4ifQorICAgICAgICAgICAgXSwKICAgICAg
ICAgICAgICJyZXR1cm5zIjogWwogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaGFuZGxlIiwg
IiRyZWYiOiAiQnJvd3NpbmdDb250ZXh0SGFuZGxlIiwgImRlc2NyaXB0aW9uIjogIkFuIG9wYXF1
ZSBoYW5kbGUgZm9yIHRoZSBuZXdseSBjcmVhdGVkIGJyb3dzaW5nIGNvbnRleHQuIiB9CiAgICAg
ICAgICAgICBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9u
L1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9t
YXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCmluZGV4IDI5Njg1YmZjZGQ4OGY3ZWE3OTQ0
MTdiNTRmY2Q1Y2RiMWZjYjdmY2IuLmRjZWUxNDYxMWY2OTRkMjMxYjJiMTYzNjY1NmEyMDIxZWVk
MWFkMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2Vi
QXV0b21hdGlvblNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9t
YXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCkBAIC0yNzEsMTMgKzI3MSwxNyBAQCB2b2lk
IFdlYkF1dG9tYXRpb25TZXNzaW9uOjpnZXRCcm93c2luZ0NvbnRleHQoSW5zcGVjdG9yOjpFcnJv
clN0cmluZyYgZXJyb3JTdHJpbgogICAgIH0pOwogfQogCi12b2lkIFdlYkF1dG9tYXRpb25TZXNz
aW9uOjpjcmVhdGVCcm93c2luZ0NvbnRleHQoSW5zcGVjdG9yOjpFcnJvclN0cmluZyYgZXJyb3JT
dHJpbmcsIFN0cmluZyogaGFuZGxlKQordm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Y3JlYXRl
QnJvd3NpbmdDb250ZXh0KEluc3BlY3Rvcjo6RXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBjb25z
dCBib29sKiBwcmVmZXJOZXdUYWIsIFN0cmluZyogaGFuZGxlKQogewogICAgIEFTU0VSVChtX2Ns
aWVudCk7CiAgICAgaWYgKCFtX2NsaWVudCkKICAgICAgICAgRkFJTF9XSVRIX1BSRURFRklORURf
RVJST1JfQU5EX0RFVEFJTFMoSW50ZXJuYWxFcnJvciwgIlRoZSByZW1vdGUgc2Vzc2lvbiBjb3Vs
ZCBub3QgcmVxdWVzdCBhIG5ldyBicm93c2luZyBjb250ZXh0LiIpOwogCi0gICAgV2ViUGFnZVBy
b3h5KiBwYWdlID0gbV9jbGllbnQtPmRpZFJlcXVlc3ROZXdXaW5kb3coKnRoaXMpOworICAgIHVp
bnQxNl90IG9wdGlvbnMgPSAwOworICAgIGlmIChwcmVmZXJOZXdUYWIgJiYgKnByZWZlck5ld1Rh
YikKKyAgICAgICAgb3B0aW9ucyB8PSBBUEk6OkF1dG9tYXRpb25TZXNzaW9uQnJvd3NpbmdDb250
ZXh0T3B0aW9uc1ByZWZlck5ld1RhYjsKKworICAgIFdlYlBhZ2VQcm94eSogcGFnZSA9IG1fY2xp
ZW50LT5kaWRSZXF1ZXN0TmV3UGFnZVdpdGhPcHRpb25zKCp0aGlzLCBzdGF0aWNfY2FzdDxBUEk6
OkF1dG9tYXRpb25TZXNzaW9uQnJvd3NpbmdDb250ZXh0T3B0aW9ucz4ob3B0aW9ucykpOwogICAg
IGlmICghcGFnZSkKICAgICAgICAgRkFJTF9XSVRIX1BSRURFRklORURfRVJST1JfQU5EX0RFVEFJ
TFMoSW50ZXJuYWxFcnJvciwgIlRoZSByZW1vdGUgc2Vzc2lvbiBmYWlsZWQgdG8gY3JlYXRlIGEg
bmV3IGJyb3dzaW5nIGNvbnRleHQuIik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaAppbmRleCA0ZjU3OWRi
ZDZhNmM1YmY0MzhjZDA3OGU3YjQwZDFhMDIxNjQwY2RhLi42N2VlMmUwODY0YjBjMDdkNzk3MDVk
ZDM4MmY5MDk3MGEyNmIwZWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
dXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oCkBAIC0xMTksNyArMTE5LDcg
QEAgcHVibGljOgogICAgIC8vIFBsYXRmb3JtOiBHZW5lcmljCiAgICAgdm9pZCBnZXRCcm93c2lu
Z0NvbnRleHRzKEluc3BlY3Rvcjo6RXJyb3JTdHJpbmcmLCBSZWY8R2V0QnJvd3NpbmdDb250ZXh0
c0NhbGxiYWNrPiYmKSBmaW5hbDsKICAgICB2b2lkIGdldEJyb3dzaW5nQ29udGV4dChJbnNwZWN0
b3I6OkVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgUmVmPEdldEJyb3dzaW5nQ29udGV4dENh
bGxiYWNrPiYmKSBmaW5hbDsKLSAgICB2b2lkIGNyZWF0ZUJyb3dzaW5nQ29udGV4dChJbnNwZWN0
b3I6OkVycm9yU3RyaW5nJiwgU3RyaW5nKikgb3ZlcnJpZGU7CisgICAgdm9pZCBjcmVhdGVCcm93
c2luZ0NvbnRleHQoSW5zcGVjdG9yOjpFcnJvclN0cmluZyYsIGNvbnN0IGJvb2wqIHByZWZlck5l
d1RhYiwgU3RyaW5nKikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjbG9zZUJyb3dzaW5nQ29udGV4dChJ
bnNwZWN0b3I6OkVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBzd2l0Y2hUb0Jyb3dzaW5nQ29udGV4dChJbnNwZWN0b3I6OkVycm9yU3RyaW5nJiwgY29uc3Qg
U3RyaW5nJiBicm93c2luZ0NvbnRleHRIYW5kbGUsIGNvbnN0IFN0cmluZyogb3B0aW9uYWxGcmFt
ZUhhbmRsZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRXaW5kb3dGcmFtZU9mQnJvd3NpbmdDb250
ZXh0KEluc3BlY3Rvcjo6RXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIGhhbmRsZSwgY29uc3Qg
SlNPTjo6T2JqZWN0KiBvcmlnaW4sIGNvbnN0IEpTT046Ok9iamVjdCogc2l6ZSwgUmVmPFNldFdp
bmRvd0ZyYW1lT2ZCcm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJikgZmluYWw7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvQXV0b21hdGlvblNlc3Npb25DbGllbnQu
aAppbmRleCAzNWU4ZWMyYTZhYzVjMTlkMGZiYWRiNmIzZWRiMTMzODFkZDQ2ZTRkLi5iOGVjODQ5
NTA2ZTFmNzdjMzc3MjVkMzFkZmE1NDU5MzNiNmZmMmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0F1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmgKQEAgLTQz
LDcgKzQzLDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIC8vIEZyb20gQVBJOjpBdXRvbWF0
aW9uU2Vzc2lvbkNsaWVudAotICAgIFdlYlBhZ2VQcm94eSogZGlkUmVxdWVzdE5ld1dpbmRvdyhX
ZWJBdXRvbWF0aW9uU2Vzc2lvbiYpIG92ZXJyaWRlOworICAgIFdlYlBhZ2VQcm94eSogZGlkUmVx
dWVzdE5ld1BhZ2VXaXRoT3B0aW9ucyhXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIEFQSTo6QXV0b21h
dGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRpb25zKSBvdmVycmlkZTsKICAgICB2b2lkIGRp
ZERpc2Nvbm5lY3RGcm9tUmVtb3RlKFdlYkF1dG9tYXRpb25TZXNzaW9uJikgb3ZlcnJpZGU7CiAK
ICAgICBib29sIGlzU2hvd2luZ0phdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViQXV0b21hdGlvblNl
c3Npb24mLCBXZWJQYWdlUHJveHkmKSBvdmVycmlkZTsKQEAgLTU4LDcgKzU4LDcgQEAgcHJpdmF0
ZToKICAgICBzdHJ1Y3QgewogICAgICAgICBib29sIGRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlIDog
MTsKIAotICAgICAgICBib29sIGRpZFJlcXVlc3ROZXdXZWJWaWV3IDogMTsKKyAgICAgICAgYm9v
bCBkaWRSZXF1ZXN0TmV3V2ViVmlld1dpdGhPcHRpb25zIDogMTsKICAgICAgICAgYm9vbCBpc1No
b3dpbmdKYXZhU2NyaXB0RGlhbG9nRm9yV2ViVmlldyA6IDE7CiAgICAgICAgIGJvb2wgZGlzbWlz
c0N1cnJlbnRKYXZhU2NyaXB0RGlhbG9nRm9yV2ViVmlldyA6IDE7CiAgICAgICAgIGJvb2wgYWNj
ZXB0Q3VycmVudEphdmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3IDogMTsKQEAgLTY3LDcgKzY3LDcg
QEAgcHJpdmF0ZToKICAgICAgICAgYm9vbCB0eXBlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ0Zv
cldlYlZpZXcgOiAxOwogCiAgICAgICAgIC8vIEZJWE1FIDM3NDA4NzE4OiB0aGVzZSBkZWxlZ2F0
ZSBtZXRob2RzIHNob3VsZCBiZSByZW1vdmVkLgotICAgICAgICBib29sIGRpZFJlcXVlc3ROZXdX
aW5kb3cgOiAxOworICAgICAgICBib29sIGRpZFJlcXVlc3ROZXdQYWdlV2l0aE9wdGlvbnMgOiAx
OwogICAgICAgICBib29sIGlzU2hvd2luZ0phdmFTY3JpcHREaWFsb2dPblBhZ2UgOiAxOwogICAg
ICAgICBib29sIGRpc21pc3NDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZSA6IDE7CiAgICAg
ICAgIGJvb2wgYWNjZXB0Q3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UgOiAxOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvQXV0b21hdGlvblNlc3Npb25DbGll
bnQubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9BdXRvbWF0aW9uU2Vzc2lvbkNs
aWVudC5tbQppbmRleCBhNWNiMDljOTU5MzJjZGE4ODM1M2NiNjA4ZDc5MDU1MWZjMjY5NWYyLi41
YTgxZDE0N2RmOTU2Njc3N2QzYThkZDM1ZmFhOTk3YTEwZjZhMGJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5t
bQpAQCAtNDIsNyArNDIsNyBAQCBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6QXV0b21hdGlvblNl
c3Npb25DbGllbnQoaWQgPF9XS0F1dG9tYXRpb25TZXNzaW9uRGVsZWdhdAogewogICAgIG1fZGVs
ZWdhdGVNZXRob2RzLmRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlID0gW2RlbGVnYXRlIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoX2F1dG9tYXRpb25TZXNzaW9uRGlkRGlzY29ubmVjdEZyb21S
ZW1vdGU6KV07CiAKLSAgICBtX2RlbGVnYXRlTWV0aG9kcy5kaWRSZXF1ZXN0TmV3V2ViVmlldyA9
IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9hdXRvbWF0aW9uU2Vzc2lv
bkRpZFJlcXVlc3ROZXdXZWJWaWV3OildOworICAgIG1fZGVsZWdhdGVNZXRob2RzLmRpZFJlcXVl
c3ROZXdXZWJWaWV3V2l0aE9wdGlvbnMgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBz
ZWxlY3RvcihfYXV0b21hdGlvblNlc3Npb246ZGlkUmVxdWVzdE5ld1dlYlZpZXdXaXRoT3B0aW9u
czopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy5pc1Nob3dpbmdKYXZhU2NyaXB0RGlhbG9nRm9y
V2ViVmlldyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9hdXRvbWF0
aW9uU2Vzc2lvbjppc1Nob3dpbmdKYXZhU2NyaXB0RGlhbG9nRm9yV2ViVmlldzopXTsKICAgICBt
X2RlbGVnYXRlTWV0aG9kcy5kaXNtaXNzQ3VycmVudEphdmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3
ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX2F1dG9tYXRpb25TZXNz
aW9uOmRpc21pc3NDdXJyZW50SmF2YVNjcmlwdERpYWxvZ0ZvcldlYlZpZXc6KV07CiAgICAgbV9k
ZWxlZ2F0ZU1ldGhvZHMuYWNjZXB0Q3VycmVudEphdmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3ID0g
W2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX2F1dG9tYXRpb25TZXNzaW9u
OmFjY2VwdEN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nRm9yV2ViVmlldzopXTsKQEAgLTUxLDcgKzUx
LDcgQEAgQXV0b21hdGlvblNlc3Npb25DbGllbnQ6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50KGlk
IDxfV0tBdXRvbWF0aW9uU2Vzc2lvbkRlbGVnYXQKICAgICBtX2RlbGVnYXRlTWV0aG9kcy50eXBl
T2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ0ZvcldlYlZpZXcgPSBbZGVsZWdhdGUgcmVzcG9uZHNU
b1NlbGVjdG9yOkBzZWxlY3RvcihfYXV0b21hdGlvblNlc3Npb246dHlwZU9mQ3VycmVudEphdmFT
Y3JpcHREaWFsb2dGb3JXZWJWaWV3OildOwogCiAgICAgLy8gRklYTUUgMzc0MDg3MTg6IHRoZXNl
IGRlbGVnYXRlIG1ldGhvZHMgc2hvdWxkIGJlIHJlbW92ZWQuCi0gICAgbV9kZWxlZ2F0ZU1ldGhv
ZHMuZGlkUmVxdWVzdE5ld1dpbmRvdyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNl
bGVjdG9yKF9hdXRvbWF0aW9uU2Vzc2lvbkRpZFJlcXVlc3ROZXdXaW5kb3c6KV07CisgICAgbV9k
ZWxlZ2F0ZU1ldGhvZHMuZGlkUmVxdWVzdE5ld1BhZ2VXaXRoT3B0aW9ucyA9IFtkZWxlZ2F0ZSBy
ZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9hdXRvbWF0aW9uU2Vzc2lvbjpkaWRSZXF1ZXN0
TmV3UGFnZVdpdGhPcHRpb25zOildOwogICAgIG1fZGVsZWdhdGVNZXRob2RzLmlzU2hvd2luZ0ph
dmFTY3JpcHREaWFsb2dPblBhZ2UgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3RvcihfYXV0b21hdGlvblNlc3Npb246aXNTaG93aW5nSmF2YVNjcmlwdERpYWxvZ09uUGFnZTop
XTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy5kaXNtaXNzQ3VycmVudEphdmFTY3JpcHREaWFsb2dP
blBhZ2UgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfYXV0b21hdGlv
blNlc3Npb246ZGlzbWlzc0N1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlOildOwogICAgIG1f
ZGVsZWdhdGVNZXRob2RzLmFjY2VwdEN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlID0gW2Rl
bGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX2F1dG9tYXRpb25TZXNzaW9uOmFj
Y2VwdEN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlOildOwpAQCAtNjYsMTUgKzY2LDI1IEBA
IHZvaWQgQXV0b21hdGlvblNlc3Npb25DbGllbnQ6OmRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlKFdl
YkF1dG9tYXRpb25TZXNzaW9uJiBzZXNzCiAgICAgICAgIFttX2RlbGVnYXRlLmdldCgpIF9hdXRv
bWF0aW9uU2Vzc2lvbkRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlOndyYXBwZXIoc2Vzc2lvbildOwog
fQogCitzdGF0aWMgaW5saW5lIF9XS0F1dG9tYXRpb25TZXNzaW9uQnJvd3NpbmdDb250ZXh0T3B0
aW9ucyB0b0FQSShBUEk6OkF1dG9tYXRpb25TZXNzaW9uQnJvd3NpbmdDb250ZXh0T3B0aW9ucyBv
cHRpb25zKQoreworICAgIHVpbnQxNl90IHdrT3B0aW9ucyA9IDA7CisKKyAgICBpZiAob3B0aW9u
cyAmIEFQSTo6QXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRpb25zUHJlZmVyTmV3
VGFiKQorICAgICAgICB3a09wdGlvbnMgfD0gX1dLQXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0Nv
bnRleHRPcHRpb25zUHJlZmVyTmV3VGFiOworCisgICAgcmV0dXJuIHN0YXRpY19jYXN0PF9XS0F1
dG9tYXRpb25TZXNzaW9uQnJvd3NpbmdDb250ZXh0T3B0aW9ucz4od2tPcHRpb25zKTsKK30KKwog
Ly8gRklYTUUgMzc0MDg3MTg6IHN1cHBvcnQgZm9yIFdLUGFnZVJlZi1iYXNlZCBkZWxlZ2F0ZSBt
ZXRob2RzIHNob3VsZCBiZSByZW1vdmVkLgogLy8gVW50aWwgdGhlc2UgYXJlIHJlbW92ZWQsIHBy
ZWZlciB0byB1c2UgdGhlIFdLV2ViVmlldyBkZWxlZ2F0ZSBtZXRob2RzIGlmIGltcGxlbWVudGVk
LgotV2ViUGFnZVByb3h5KiBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6ZGlkUmVxdWVzdE5ld1dp
bmRvdyhXZWJBdXRvbWF0aW9uU2Vzc2lvbiYgc2Vzc2lvbikKK1dlYlBhZ2VQcm94eSogQXV0b21h
dGlvblNlc3Npb25DbGllbnQ6OmRpZFJlcXVlc3ROZXdQYWdlV2l0aE9wdGlvbnMoV2ViQXV0b21h
dGlvblNlc3Npb24mIHNlc3Npb24sIEFQSTo6QXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRl
eHRPcHRpb25zIG9wdGlvbnMpCiB7Ci0gICAgaWYgKG1fZGVsZWdhdGVNZXRob2RzLmRpZFJlcXVl
c3ROZXdXZWJWaWV3KQotICAgICAgICByZXR1cm4gW21fZGVsZWdhdGUuZ2V0KCkgX2F1dG9tYXRp
b25TZXNzaW9uRGlkUmVxdWVzdE5ld1dlYlZpZXc6d3JhcHBlcihzZXNzaW9uKV0tPl9wYWdlLmdl
dCgpOworICAgIGlmIChtX2RlbGVnYXRlTWV0aG9kcy5kaWRSZXF1ZXN0TmV3V2ViVmlld1dpdGhP
cHRpb25zKQorICAgICAgICByZXR1cm4gW21fZGVsZWdhdGUuZ2V0KCkgX2F1dG9tYXRpb25TZXNz
aW9uOndyYXBwZXIoc2Vzc2lvbikgZGlkUmVxdWVzdE5ld1dlYlZpZXdXaXRoT3B0aW9uczp0b0FQ
SShvcHRpb25zKV0tPl9wYWdlLmdldCgpOwogCi0gICAgaWYgKG1fZGVsZWdhdGVNZXRob2RzLmRp
ZFJlcXVlc3ROZXdXaW5kb3cpCi0gICAgICAgIHJldHVybiB0b0ltcGwoW21fZGVsZWdhdGUuZ2V0
KCkgX2F1dG9tYXRpb25TZXNzaW9uRGlkUmVxdWVzdE5ld1dpbmRvdzp3cmFwcGVyKHNlc3Npb24p
XSk7CisgICAgaWYgKG1fZGVsZWdhdGVNZXRob2RzLmRpZFJlcXVlc3ROZXdQYWdlV2l0aE9wdGlv
bnMpCisgICAgICAgIHJldHVybiB0b0ltcGwoW21fZGVsZWdhdGUuZ2V0KCkgX2F1dG9tYXRpb25T
ZXNzaW9uOndyYXBwZXIoc2Vzc2lvbikgZGlkUmVxdWVzdE5ld1BhZ2VXaXRoT3B0aW9uczp0b0FQ
SShvcHRpb25zKV0pOwogCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336478</attachid>
            <date>2018-03-24 11:27:52 -0700</date>
            <delta_ts>2018-03-26 11:52:01 -0700</delta_ts>
            <desc>Proposed Fix v2</desc>
            <filename>bug-183381-20180324112751.patch</filename>
            <type>text/plain</type>
            <size>20617</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5OTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE0ZTczMTJmYTM5Y2EzNDQ0
MjJlNzA3NjcwOWJkOGU2ZjYzOWNhMmQuLmEzM2ZkMTA3ZTQwOTAxNTcyZWYzMDk4NjM4MDc0Njhk
MGM3MWIzMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMTgtMDMtMDYgIEJyaWFuIEJ1
cmcgIDxiYnVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1dG9tYXRpb246IHByb3ZpZGUg
YSB3YXkgdG8gYXNrIGNsaWVudHMgZm9yIGEgbmV3IHRhYiBvciB3aW5kb3cKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzM4MQorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMzgxNjczMDE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNwZWNpZnlpbmcgYnJvd3NpbmcgY29udGV4
dCBvcHRpb25zIHdoZW4gcmVxdWVzdGluZworICAgICAgICBhIG5ldyBicm93c2luZyBjb250ZXh0
IGZyb20gdGhlIGF1dG9tYXRpb24gc2Vzc2lvbiBjbGllbnQvZGVsZWdhdGUuCisgICAgICAgIFRo
aXMgaXMgY3VycmVudGx5IGp1c3QgdXNlZCBmb3Igc3BlY2lmeWluZyB0YWIgdnMgd2luZG93LCBi
dXQgY291bGQKKyAgICAgICAgYWxzbyBiZSB1c2VkIGZvciB0aGluZ3MgbGlrZSB0b2dnbGluZyBj
ZXJ0YWluIGJyb3dzZXIgY2hyb21lIG9yIGZlYXR1cmVzLgorCisgICAgICAgIFRoZXJlIGlzIG5v
IGd1YXJhbnRlZSB0aGF0IHRoZSBjbGllbnQgaGFzIGEgbm90aW9uIG9mIHRhYnMgdnMgd2luZG93
cywKKyAgICAgICAgc28gdGhpcyBvcHRpb24gaXMgcHVyZWx5IGFkdmlzb3J5IGFuZCBzaG91bGQg
bm90IGNhdXNlIHRoZSBjb21tYW5kIHRvCisgICAgICAgIGZhaWwgaWYgaXQgY2Fubm90IGJlIGhv
bm9yZWQuCisKKyAgICAgICAgVGhpcyBiZWhhdmlvciBjYXVzZWQgYnkgc3BlY2lmeWluZyB0aGlz
IG9wdGlvbiBpcyBjbGllbnQtc3BlY2lmaWMsIHNvIG5vCisgICAgICAgIG5ldyB0ZXN0cyBhcmUg
aW5jbHVkZWQgaW4gV2ViS2l0IGZvciB0aGlzIGNoYW5nZS4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDoKKyAgICAgICAgKEFQSTo6QXV0b21h
dGlvblNlc3Npb25DbGllbnQ6OmRpZFJlcXVlc3ROZXdQYWdlV2l0aE9wdGlvbnMpOgorICAgICAg
ICAoQVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6ZGlkUmVxdWVzdE5ld1dpbmRvdyk6IERl
bGV0ZWQuCisgICAgICAgIEFkZCBvcHRpb25zIHBhcmFtZXRlci4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRBdXRvbWF0aW9uU2Vzc2lvbi5jcHA6CisgICAgICAgIEFkanVz
dCB0byBuZXcgc2lnbmF0dXJlLiBNb3JlIHdvcmsgaXMgbmVlZGVkIHRvIHBsdW1iIHRoaXMgaW5m
b3JtYXRpb24KKyAgICAgICAgdG8gdGhlIHB1YmxpYyBBUEkgZm9yIEdUSy9XUEUgYW5kIHN1cHBv
cnQgaXQgaW4gV2ViS2l0R1RLIGRyaXZlci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0
aW9uL0F1dG9tYXRpb24uanNvbjogQWRkIG5ldyBvcHRpb25hbCBwYXJhbWV0ZXIuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246OmNyZWF0ZUJyb3dzaW5nQ29udGV4dCk6
CisgICAgICAgIENvbnZlcnQgdGhlIHByb3RvY29sIG9wdGlvbiB0byBhbiBBUEkgb3B0aW9uLgor
CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL0F1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0NvY29hL0F1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lm1tOgorICAg
ICAgICAoV2ViS2l0OjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6QXV0b21hdGlvblNlc3Npb25D
bGllbnQpOgorICAgICAgICAoV2ViS2l0Ojp0b0FQSSk6CisgICAgICAgIChXZWJLaXQ6OkF1dG9t
YXRpb25TZXNzaW9uQ2xpZW50OjpkaWRSZXF1ZXN0TmV3UGFnZVdpdGhPcHRpb25zKToKKyAgICAg
ICAgKFdlYktpdDo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OmRpZFJlcXVlc3ROZXdXaW5kb3cp
OiBEZWxldGVkLgorICAgICAgICBDb252ZXJ0IHRoZSBpbnRlcm5hbCBvcHRpb24gdG8gYSBDb2Nv
YSBTUEkgb3B0aW9uIGFuZCBwYXNzIGl0IGFsb25nLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tBdXRvbWF0aW9uU2Vzc2lvbkRlbGVnYXRlLmg6CisgICAgICAgIEFkanVzdCBk
ZWxlZ2F0ZSBtZXRob2RzIHRvIGluY2x1ZGUgb3B0aW9ucy4gQ2xpZW50cyBuZWVkIHRvIGFkb3B0
IHRoZSBuZXcgc2lnbmF0dXJlKHMpLgorCiAyMDE4LTAzLTI0ICBUaW0gSG9ydG9uICA8dGltb3Ro
eV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCB0aGUgIUVOQUJMRShNRURJQV9TVFJF
QU0pIGJ1aWxkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0
b21hdGlvblNlc3Npb25DbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElB
dXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oCmluZGV4IDBmYzg1NGEzYjE5NjRiZDIyYmIwYjRmNzQ3
MTI4MjMzODBiODQ0MWYuLjY4MzUzYmI1NjQyYzE5ZTVmNTBhZGY1ZmZkMTFlYzk5NDBhNGYwYWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0aW9uU2Vz
c2lvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElBdXRvbWF0
aW9uU2Vzc2lvbkNsaWVudC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTYsIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yNiw2ICsyNiw3IEBACiAjaWZuZGVmIEFQSUF1dG9tYXRpb25T
ZXNzaW9uQ2xpZW50X2gKICNkZWZpbmUgQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnRfaAogCisj
aW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtMzUsNiArMzYsMTAgQEAgY2xhc3Mg
V2ViUGFnZVByb3h5OwogCiBuYW1lc3BhY2UgQVBJIHsKIAorZW51bSBBdXRvbWF0aW9uU2Vzc2lv
bkJyb3dzaW5nQ29udGV4dE9wdGlvbnMgOiB1aW50MTZfdCB7CisgICAgQXV0b21hdGlvblNlc3Np
b25Ccm93c2luZ0NvbnRleHRPcHRpb25zUHJlZmVyTmV3VGFiID0gMSA8PCAwLAorfTsKKwogY2xh
c3MgQXV0b21hdGlvblNlc3Npb25DbGllbnQgewogcHVibGljOgogICAgIGVudW0gY2xhc3MgSmF2
YVNjcmlwdERpYWxvZ1R5cGUgewpAQCAtNDgsNyArNTMsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0
dWFsIFN0cmluZyBzZXNzaW9uSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIFN0cmluZygpOyB9
CiAgICAgdmlydHVhbCB2b2lkIGRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlKFdlYktpdDo6V2ViQXV0
b21hdGlvblNlc3Npb24mKSB7IH0KLSAgICB2aXJ0dWFsIFdlYktpdDo6V2ViUGFnZVByb3h5KiBk
aWRSZXF1ZXN0TmV3V2luZG93KFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mKSB7IHJldHVy
biBudWxscHRyOyB9CisgICAgdmlydHVhbCB2b2lkIHJlcXVlc3ROZXdQYWdlV2l0aE9wdGlvbnMo
V2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIEF1dG9tYXRpb25TZXNzaW9uQnJvd3NpbmdD
b250ZXh0T3B0aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJLaXQ6OldlYlBhZ2VQcm94
eSopPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKG51bGxwdHIpOyB9
CiAgICAgdmlydHVhbCBib29sIGlzU2hvd2luZ0phdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0
OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyByZXR1cm4g
ZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlzbWlzc0N1cnJlbnRKYXZhU2NyaXB0RGlhbG9n
T25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6OldlYlBhZ2VQcm94
eSYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBhY2NlcHRDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09u
UGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViS2l0OjpXZWJQYWdlUHJveHkm
KSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tB
dXRvbWF0aW9uU2Vzc2lvbkRlbGVnYXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLQXV0b21hdGlvblNlc3Npb25EZWxlZ2F0ZS5oCmluZGV4IGE1NTVjZDZmZjRhOGMy
ZDJkYmYwNjdhNWE1MjQ2N2E0NTVjNzZkMjIuLjQ4ZmE3ZWJlMzZkMWMwZmRjZmI0NzY2MGVjZDA4
ZGIyMjE3ZjdkOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tBdXRvbWF0aW9uU2Vzc2lvbkRlbGVnYXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS0F1dG9tYXRpb25TZXNzaW9uRGVsZWdhdGUuaApAQCAtMzAsNiAr
MzAsOCBAQAogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CiAjaW1wb3J0IDxXZWJL
aXQvV0tCYXNlLmg+CiAKK05TX0FTU1VNRV9OT05OVUxMX0JFR0lOCisKIEBjbGFzcyBXS1dlYlZp
ZXc7CiBAY2xhc3MgX1dLQXV0b21hdGlvblNlc3Npb247CiAKQEAgLTQwLDEyICs0MiwxNiBAQCB0
eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tBdXRvbWF0aW9uU2Vzc2lvbkphdmFTY3JpcHRE
aWFsb2dUeXBlKSB7CiAgICAgX1dLQXV0b21hdGlvblNlc3Npb25KYXZhU2NyaXB0RGlhbG9nVHlw
ZVByb21wdCwKIH0gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19J
T1NfVEJBKSk7CiAKK3R5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBfV0tBdXRvbWF0aW9uU2Vz
c2lvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnMpIHsKKyAgICBfV0tBdXRvbWF0aW9uU2Vzc2lvbkJy
b3dzaW5nQ29udGV4dE9wdGlvbnNQcmVmZXJOZXdUYWIgPSAxIDw8IDAsCit9IFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCiBAcHJvdG9jb2wg
X1dLQXV0b21hdGlvblNlc3Npb25EZWxlZ2F0ZSA8TlNPYmplY3Q+CiBAb3B0aW9uYWwKIAogLSAo
dm9pZClfYXV0b21hdGlvblNlc3Npb25EaWREaXNjb25uZWN0RnJvbVJlbW90ZTooX1dLQXV0b21h
dGlvblNlc3Npb24gKilhdXRvbWF0aW9uU2Vzc2lvbjsKIAotLSAoV0tXZWJWaWV3ICopX2F1dG9t
YXRpb25TZXNzaW9uRGlkUmVxdWVzdE5ld1dlYlZpZXc6KF9XS0F1dG9tYXRpb25TZXNzaW9uICop
YXV0b21hdGlvblNlc3Npb24gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEu
MCkpOworLSAodm9pZClfYXV0b21hdGlvblNlc3Npb246KF9XS0F1dG9tYXRpb25TZXNzaW9uICop
YXV0b21hdGlvblNlc3Npb24gcmVxdWVzdE5ld1dlYlZpZXdXaXRoT3B0aW9uczooX1dLQXV0b21h
dGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRpb25zKW9wdGlvbnMgY29tcGxldGlvbkhhbmRs
ZXI6KHZvaWQoXikoV0tXZWJWaWV3ICogX051bGxhYmxlKSljb21wbGV0aW9uSGFuZGxlciBXS19B
UElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIC0gKEJP
T0wpX2F1dG9tYXRpb25TZXNzaW9uOihfV0tBdXRvbWF0aW9uU2Vzc2lvbiAqKWF1dG9tYXRpb25T
ZXNzaW9uIGlzU2hvd2luZ0phdmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3OihXS1dlYlZpZXcgKil3
ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKIC0gKHZv
aWQpX2F1dG9tYXRpb25TZXNzaW9uOihfV0tBdXRvbWF0aW9uU2Vzc2lvbiAqKWF1dG9tYXRpb25T
ZXNzaW9uIGRpc21pc3NDdXJyZW50SmF2YVNjcmlwdERpYWxvZ0ZvcldlYlZpZXc6KFdLV2ViVmll
dyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwog
LSAodm9pZClfYXV0b21hdGlvblNlc3Npb246KF9XS0F1dG9tYXRpb25TZXNzaW9uICopYXV0b21h
dGlvblNlc3Npb24gYWNjZXB0Q3VycmVudEphdmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjAp
KTsKQEAgLTU1LDcgKzYxLDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLQXV0b21h
dGlvblNlc3Npb25KYXZhU2NyaXB0RGlhbG9nVHlwZSkgewogCiAvLyBGSVhNRSAzNzQwODcxODog
T2JqZWN0aXZlLUMgZGVsZWdhdGUgbWV0aG9kcyBzaG91bGRuJ3QgdXNlIEMgQVBJIHR5cGVzIGxp
a2UgV0tQYWdlUmVmLiBXZSBuZWVkIHRvCiAvLyBtaWdyYXRlIGNsaWVudHMgdG8gdXNlIFdLV2Vi
Vmlldywgb3IgZXhwb3NlIHRoZSBzYW1lIGJlaGF2aW9yIHZpYSBhIEMgU1BJIGZvciB0aG9zZSBj
bGllbnRzLgotLSAoV0tQYWdlUmVmKV9hdXRvbWF0aW9uU2Vzc2lvbkRpZFJlcXVlc3ROZXdXaW5k
b3c6KF9XS0F1dG9tYXRpb25TZXNzaW9uICopYXV0b21hdGlvblNlc3Npb24gV0tfQVBJX0FWQUlM
QUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOworLSAodm9pZClfYXV0b21hdGlvblNlc3Np
b246KF9XS0F1dG9tYXRpb25TZXNzaW9uICopYXV0b21hdGlvblNlc3Npb24gcmVxdWVzdE5ld1Bh
Z2VXaXRoT3B0aW9uczooX1dLQXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRpb25z
KW9wdGlvbnMgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQoXikoV0tQYWdlUmVmKSljb21wbGV0aW9u
SGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKTsKIC0gKEJPT0wpX2F1dG9tYXRpb25TZXNzaW9uOihfV0tBdXRvbWF0aW9uU2Vzc2lvbiAq
KWF1dG9tYXRpb25TZXNzaW9uIGlzU2hvd2luZ0phdmFTY3JpcHREaWFsb2dPblBhZ2U6KFdLUGFn
ZVJlZilwYWdlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKIC0g
KHZvaWQpX2F1dG9tYXRpb25TZXNzaW9uOihfV0tBdXRvbWF0aW9uU2Vzc2lvbiAqKWF1dG9tYXRp
b25TZXNzaW9uIGRpc21pc3NDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZTooV0tQYWdlUmVm
KXBhZ2UgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwogLSAodm9p
ZClfYXV0b21hdGlvblNlc3Npb246KF9XS0F1dG9tYXRpb25TZXNzaW9uICopYXV0b21hdGlvblNl
c3Npb24gYWNjZXB0Q3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2U6KFdLUGFnZVJlZilwYWdl
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKQEAgLTY0LDQgKzcw
LDYgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLQXV0b21hdGlvblNlc3Npb25KYXZh
U2NyaXB0RGlhbG9nVHlwZSkgewogLSAoX1dLQXV0b21hdGlvblNlc3Npb25KYXZhU2NyaXB0RGlh
bG9nVHlwZSlfYXV0b21hdGlvblNlc3Npb246KF9XS0F1dG9tYXRpb25TZXNzaW9uICopYXV0b21h
dGlvblNlc3Npb24gdHlwZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2U6KFdLUGFnZVJl
ZilwYWdlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RC
QSkpOwogQGVuZAogCitOU19BU1NVTUVfTk9OTlVMTF9FTkQKKwogI2VuZGlmIC8vIFdLX0FQSV9F
TkFCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJL
aXRBdXRvbWF0aW9uU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xp
Yi9XZWJLaXRBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKaW5kZXggOTNhYjhkNTA3ODQ1MjJlYzI5NWQ1
OGRmMGM3Mzc0YzM0ZWM1YzlhOS4uZjBkNWRiMjE0MjE4MGJlMGFkYmRhNjFlNzA0Y2Y5ODVkNDlm
NDAzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0
QXV0b21hdGlvblNlc3Npb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdEF1dG9tYXRpb25TZXNzaW9uLmNwcApAQCAtODIsNyArODIsNyBAQCBwcml2YXRl
OgogICAgICAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChtX3Nlc3Npb24tPnByaXYtPmlkLmRh
dGEoKSk7CiAgICAgfQogCi0gICAgV2ViUGFnZVByb3h5KiBkaWRSZXF1ZXN0TmV3V2luZG93KFdl
YkF1dG9tYXRpb25TZXNzaW9uJikgb3ZlcnJpZGUKKyAgICBXZWJQYWdlUHJveHkqIGRpZFJlcXVl
c3ROZXdQYWdlV2l0aE9wdGlvbnMoV2ViQXV0b21hdGlvblNlc3Npb24mLCBBUEk6OkF1dG9tYXRp
b25TZXNzaW9uQnJvd3NpbmdDb250ZXh0T3B0aW9ucykgb3ZlcnJpZGUKICAgICB7CiAgICAgICAg
IFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSBudWxscHRyOwogICAgICAgICBnX3NpZ25hbF9lbWl0
KG1fc2Vzc2lvbiwgc2lnbmFsc1tDUkVBVEVfV0VCX1ZJRVddLCAwLCAmd2ViVmlldyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNv
biBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlvbi5qc29uCmlu
ZGV4IDg4NDA4MjY2YTFjODRiMDQ1NDBkN2JkYTg4YjIxNTkxMzdjZTMwNTEuLjdhZTY4Y2JkNWRk
MzcyY2I1Y2M5MDdmYTNiYWI2NTBkOTQwZWU2NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlvbi5qc29uCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlvbi5qc29uCkBAIC0yNjksOSArMjY5LDEzIEBA
CiAgICAgICAgIHsKICAgICAgICAgICAgICJuYW1lIjogImNyZWF0ZUJyb3dzaW5nQ29udGV4dCIs
CiAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3BlbnMgYSBuZXcgYnJvd3NpbmcgY29udGV4
dCBpbiB0aGUgYXV0b21hdGlvbiBzZXNzaW9uIGFuZCBtYWtlcyBpdCB0aGUgYWN0aXZlIGJyb3dz
aW5nIGNvbnRleHQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIFRoaXMgY29tbWFuZCBjcmVhdGVzIGEg
YnJvd3NpbmcgY29udGV4dCBpbiBhIG5ldyB3aW5kb3cgcmF0aGVyIHRoYW4gYWRkaW5nIGEgdGFi
IHRvIGFuIGV4aXN0aW5nIHdpbmRvdy4iLAorICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCisg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJwcmVmZXJOZXdUYWIiLCAidHlwZSI6ICJib29sZWFu
IiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkNyZWF0ZSB0aGUgbmV3IGJyb3dz
aW5nIGNvbnRleHQgYXMgYSB0YWIgaW4gYW4gZXhpc3RpbmcgQXV0b21hdGlvbiB3aW5kb3csIGlm
IHBvc3NpYmxlLiJ9CisgICAgICAgICAgICBdLAogICAgICAgICAgICAgInJldHVybnMiOiBbCiAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJoYW5kbGUiLCAiJHJlZiI6ICJCcm93c2luZ0NvbnRl
eHRIYW5kbGUiLCAiZGVzY3JpcHRpb24iOiAiQW4gb3BhcXVlIGhhbmRsZSBmb3IgdGhlIG5ld2x5
IGNyZWF0ZWQgYnJvd3NpbmcgY29udGV4dC4iIH0KLSAgICAgICAgICAgIF0KKyAgICAgICAgICAg
IF0sCisgICAgICAgICAgICAiYXN5bmMiOiB0cnVlCiAgICAgICAgIH0sCiAgICAgICAgIHsKICAg
ICAgICAgICAgICJuYW1lIjogImNsb3NlQnJvd3NpbmdDb250ZXh0IiwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lv
bi5jcHAKaW5kZXggZDJhOTM5ZTE1M2I2ZDQ4ZjI0MmFhODg2MDFjOTY0NjY1ZGMyOTU3Yi4uMTg0
YjA4NjRlMDY4NDIxMjIyNzYxODFiM2VkMDM4Y2MxZGI1MjI2OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lv
bi5jcHAKQEAgLTI3MSwxNyArMjcxLDI0IEBAIHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246Omdl
dEJyb3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmIGhhbmRsZSwgUmVmPEdldEJyb3dzCiAgICAg
fSk7CiB9CiAKLXZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmNyZWF0ZUJyb3dzaW5nQ29udGV4
dChJbnNwZWN0b3I6OkVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgU3RyaW5nKiBoYW5kbGUpCit2
b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpjcmVhdGVCcm93c2luZ0NvbnRleHQoY29uc3QgYm9v
bCogcHJlZmVyTmV3VGFiLCBSZWY8Q3JlYXRlQnJvd3NpbmdDb250ZXh0Q2FsbGJhY2s+JiYgY2Fs
bGJhY2spCiB7CiAgICAgQVNTRVJUKG1fY2xpZW50KTsKICAgICBpZiAoIW1fY2xpZW50KQotICAg
ICAgICBTWU5DX0ZBSUxfV0lUSF9QUkVERUZJTkVEX0VSUk9SX0FORF9ERVRBSUxTKEludGVybmFs
RXJyb3IsICJUaGUgcmVtb3RlIHNlc3Npb24gY291bGQgbm90IHJlcXVlc3QgYSBuZXcgYnJvd3Np
bmcgY29udGV4dC4iKTsKLQotICAgIFdlYlBhZ2VQcm94eSogcGFnZSA9IG1fY2xpZW50LT5kaWRS
ZXF1ZXN0TmV3V2luZG93KCp0aGlzKTsKLSAgICBpZiAoIXBhZ2UpCi0gICAgICAgIFNZTkNfRkFJ
TF9XSVRIX1BSRURFRklORURfRVJST1JfQU5EX0RFVEFJTFMoSW50ZXJuYWxFcnJvciwgIlRoZSBy
ZW1vdGUgc2Vzc2lvbiBmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGJyb3dzaW5nIGNvbnRleHQuIik7
Ci0KLSAgICBtX2FjdGl2ZUJyb3dzaW5nQ29udGV4dEhhbmRsZSA9ICpoYW5kbGUgPSBoYW5kbGVG
b3JXZWJQYWdlUHJveHkoKnBhZ2UpOworICAgICAgICBBU1lOQ19GQUlMX1dJVEhfUFJFREVGSU5F
RF9FUlJPUl9BTkRfREVUQUlMUyhJbnRlcm5hbEVycm9yLCAiVGhlIHJlbW90ZSBzZXNzaW9uIGNv
dWxkIG5vdCByZXF1ZXN0IGEgbmV3IGJyb3dzaW5nIGNvbnRleHQuIik7CisKKyAgICB1aW50MTZf
dCBvcHRpb25zID0gMDsKKyAgICBpZiAocHJlZmVyTmV3VGFiICYmICpwcmVmZXJOZXdUYWIpCisg
ICAgICAgIG9wdGlvbnMgfD0gQVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkJyb3dzaW5nQ29udGV4dE9w
dGlvbnNQcmVmZXJOZXdUYWI7CisKKyAgICBtX2NsaWVudC0+cmVxdWVzdE5ld1BhZ2VXaXRoT3B0
aW9ucygqdGhpcywgc3RhdGljX2Nhc3Q8QVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkJyb3dzaW5nQ29u
dGV4dE9wdGlvbnM+KG9wdGlvbnMpLCBbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBj
YWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShXZWJQYWdlUHJveHkqIHBhZ2UpIHsKKyAgICAg
ICAgaWYgKHBhZ2UpIHsKKyAgICAgICAgICAgIGF1dG8gaGFuZGxlID0gcHJvdGVjdGVkVGhpcy0+
aGFuZGxlRm9yV2ViUGFnZVByb3h5KCpwYWdlKTsKKyAgICAgICAgICAgIHByb3RlY3RlZFRoaXMt
Pm1fYWN0aXZlQnJvd3NpbmdDb250ZXh0SGFuZGxlID0gaGFuZGxlOworICAgICAgICAgICAgY2Fs
bGJhY2stPnNlbmRTdWNjZXNzKGhhbmRsZSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAg
QVNZTkNfRkFJTF9XSVRIX1BSRURFRklORURfRVJST1JfQU5EX0RFVEFJTFMoSW50ZXJuYWxFcnJv
ciwgIlRoZSByZW1vdGUgc2Vzc2lvbiBmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGJyb3dzaW5nIGNv
bnRleHQuIik7CisgICAgfSk7CiB9CiAKIHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmNsb3Nl
QnJvd3NpbmdDb250ZXh0KEluc3BlY3Rvcjo6RXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBjb25z
dCBTdHJpbmcmIGhhbmRsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1
dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaAppbmRleCA1NzQ4NDU5MzU0YWNiMDk3
Y2YyOTZiZmJjZThiMGM2MGU4YjEzYTQ0Li4zOGM0ZTFkYmU5MGZiYjllZTQ2ODdkYzFkMGRkMTc2
Y2ZmNjkwMDJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9u
L1dlYkF1dG9tYXRpb25TZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0
b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oCkBAIC0xMTksOSArMTE5LDkgQEAgcHVibGlj
OgogICAgIC8vIFBsYXRmb3JtOiBHZW5lcmljCiAgICAgdm9pZCBnZXRCcm93c2luZ0NvbnRleHRz
KFJlZjxHZXRCcm93c2luZ0NvbnRleHRzQ2FsbGJhY2s+JiYpIGZpbmFsOwogICAgIHZvaWQgZ2V0
QnJvd3NpbmdDb250ZXh0KGNvbnN0IFN0cmluZyYsIFJlZjxHZXRCcm93c2luZ0NvbnRleHRDYWxs
YmFjaz4mJikgZmluYWw7Ci0gICAgdm9pZCBjcmVhdGVCcm93c2luZ0NvbnRleHQoSW5zcGVjdG9y
OjpFcnJvclN0cmluZyYsIFN0cmluZyopIG92ZXJyaWRlOwogICAgIHZvaWQgY2xvc2VCcm93c2lu
Z0NvbnRleHQoSW5zcGVjdG9yOjpFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYpIG92ZXJyaWRl
OwogICAgIHZvaWQgc3dpdGNoVG9Ccm93c2luZ0NvbnRleHQoSW5zcGVjdG9yOjpFcnJvclN0cmlu
ZyYsIGNvbnN0IFN0cmluZyYgYnJvd3NpbmdDb250ZXh0SGFuZGxlLCBjb25zdCBTdHJpbmcqIG9w
dGlvbmFsRnJhbWVIYW5kbGUpIG92ZXJyaWRlOworICAgIHZvaWQgY3JlYXRlQnJvd3NpbmdDb250
ZXh0KGNvbnN0IGJvb2wqIHByZWZlck5ld1RhYiwgUmVmPENyZWF0ZUJyb3dzaW5nQ29udGV4dENh
bGxiYWNrPiYmKSBmaW5hbDsKICAgICB2b2lkIHNldFdpbmRvd0ZyYW1lT2ZCcm93c2luZ0NvbnRl
eHQoY29uc3QgU3RyaW5nJiBoYW5kbGUsIGNvbnN0IEpTT046Ok9iamVjdCogb3JpZ2luLCBjb25z
dCBKU09OOjpPYmplY3QqIHNpemUsIFJlZjxTZXRXaW5kb3dGcmFtZU9mQnJvd3NpbmdDb250ZXh0
Q2FsbGJhY2s+JiYpIGZpbmFsOwogICAgIHZvaWQgbmF2aWdhdGVCcm93c2luZ0NvbnRleHQoY29u
c3QgU3RyaW5nJiBoYW5kbGUsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcqIG9wdGlv
bmFsUGFnZUxvYWRTdHJhdGVneVN0cmluZywgY29uc3QgaW50KiBvcHRpb25hbFBhZ2VMb2FkVGlt
ZW91dCwgUmVmPE5hdmlnYXRlQnJvd3NpbmdDb250ZXh0Q2FsbGJhY2s+JiYpIG92ZXJyaWRlOwog
ICAgIHZvaWQgZ29CYWNrSW5Ccm93c2luZ0NvbnRleHQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3Ry
aW5nKiBvcHRpb25hbFBhZ2VMb2FkU3RyYXRlZ3lTdHJpbmcsIGNvbnN0IGludCogb3B0aW9uYWxQ
YWdlTG9hZFRpbWVvdXQsIFJlZjxHb0JhY2tJbkJyb3dzaW5nQ29udGV4dENhbGxiYWNrPiYmKSBv
dmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0F1dG9t
YXRpb25TZXNzaW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9BdXRv
bWF0aW9uU2Vzc2lvbkNsaWVudC5oCmluZGV4IDM1ZThlYzJhNmFjNWMxOWQwZmJhZGI2YjNlZGIx
MzM4MWRkNDZlNGQuLjdmNjE0NGEyMWU5NzI3YTQ4NzZiMTU4NDJkODI5NWJlOWY3NzJjMWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0F1dG9tYXRpb25TZXNzaW9u
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvQXV0b21hdGlvblNl
c3Npb25DbGllbnQuaApAQCAtNDMsOSArNDMsOSBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAg
Ly8gRnJvbSBBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Ci0gICAgV2ViUGFnZVByb3h5KiBk
aWRSZXF1ZXN0TmV3V2luZG93KFdlYkF1dG9tYXRpb25TZXNzaW9uJikgb3ZlcnJpZGU7CiAgICAg
dm9pZCBkaWREaXNjb25uZWN0RnJvbVJlbW90ZShXZWJBdXRvbWF0aW9uU2Vzc2lvbiYpIG92ZXJy
aWRlOwogCisgICAgdm9pZCByZXF1ZXN0TmV3UGFnZVdpdGhPcHRpb25zKFdlYkF1dG9tYXRpb25T
ZXNzaW9uJiwgQVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnMsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViUGFnZVByb3h5Kik+JiYpIG92ZXJyaWRlOwogICAgIGJv
b2wgaXNTaG93aW5nSmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJBdXRvbWF0aW9uU2Vzc2lvbiYs
IFdlYlBhZ2VQcm94eSYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlzbWlzc0N1cnJlbnRKYXZhU2Ny
aXB0RGlhbG9nT25QYWdlKFdlYkF1dG9tYXRpb25TZXNzaW9uJiwgV2ViUGFnZVByb3h5Jikgb3Zl
cnJpZGU7CiAgICAgdm9pZCBhY2NlcHRDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJB
dXRvbWF0aW9uU2Vzc2lvbiYsIFdlYlBhZ2VQcm94eSYpIG92ZXJyaWRlOwpAQCAtNTgsNyArNTgs
NyBAQCBwcml2YXRlOgogICAgIHN0cnVjdCB7CiAgICAgICAgIGJvb2wgZGlkRGlzY29ubmVjdEZy
b21SZW1vdGUgOiAxOwogCi0gICAgICAgIGJvb2wgZGlkUmVxdWVzdE5ld1dlYlZpZXcgOiAxOwor
ICAgICAgICBib29sIHJlcXVlc3ROZXdXZWJWaWV3V2l0aE9wdGlvbnMgOiAxOwogICAgICAgICBi
b29sIGlzU2hvd2luZ0phdmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3IDogMTsKICAgICAgICAgYm9v
bCBkaXNtaXNzQ3VycmVudEphdmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3IDogMTsKICAgICAgICAg
Ym9vbCBhY2NlcHRDdXJyZW50SmF2YVNjcmlwdERpYWxvZ0ZvcldlYlZpZXcgOiAxOwpAQCAtNjcs
NyArNjcsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIHR5cGVPZkN1cnJlbnRKYXZhU2NyaXB0
RGlhbG9nRm9yV2ViVmlldyA6IDE7CiAKICAgICAgICAgLy8gRklYTUUgMzc0MDg3MTg6IHRoZXNl
IGRlbGVnYXRlIG1ldGhvZHMgc2hvdWxkIGJlIHJlbW92ZWQuCi0gICAgICAgIGJvb2wgZGlkUmVx
dWVzdE5ld1dpbmRvdyA6IDE7CisgICAgICAgIGJvb2wgcmVxdWVzdE5ld1BhZ2VXaXRoT3B0aW9u
cyA6IDE7CiAgICAgICAgIGJvb2wgaXNTaG93aW5nSmF2YVNjcmlwdERpYWxvZ09uUGFnZSA6IDE7
CiAgICAgICAgIGJvb2wgZGlzbWlzc0N1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlIDogMTsK
ICAgICAgICAgYm9vbCBhY2NlcHRDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZSA6IDE7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9BdXRvbWF0aW9uU2Vzc2lv
bkNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0F1dG9tYXRpb25TZXNz
aW9uQ2xpZW50Lm1tCmluZGV4IGE1Y2IwOWM5NTkzMmNkYTg4MzUzY2I2MDhkNzkwNTUxZmMyNjk1
ZjIuLmNjZDg5MGNlMTVmYzhmOWNiNjYzNWY2MTYxOTJmMDY0ZTY1ZWJkZjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0F1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0F1dG9tYXRpb25TZXNzaW9uQ2xp
ZW50Lm1tCkBAIC0zNCw2ICszNCw3IEBACiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBv
cnQgIl9XS0F1dG9tYXRpb25TZXNzaW9uRGVsZWdhdGUuaCIKICNpbXBvcnQgIl9XS0F1dG9tYXRp
b25TZXNzaW9uSW50ZXJuYWwuaCIKKyNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIApAQCAtNDIsNyArNDMsNyBAQCBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6
QXV0b21hdGlvblNlc3Npb25DbGllbnQoaWQgPF9XS0F1dG9tYXRpb25TZXNzaW9uRGVsZWdhdAog
ewogICAgIG1fZGVsZWdhdGVNZXRob2RzLmRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlID0gW2RlbGVn
YXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX2F1dG9tYXRpb25TZXNzaW9uRGlkRGlz
Y29ubmVjdEZyb21SZW1vdGU6KV07CiAKLSAgICBtX2RlbGVnYXRlTWV0aG9kcy5kaWRSZXF1ZXN0
TmV3V2ViVmlldyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9hdXRv
bWF0aW9uU2Vzc2lvbkRpZFJlcXVlc3ROZXdXZWJWaWV3OildOworICAgIG1fZGVsZWdhdGVNZXRo
b2RzLnJlcXVlc3ROZXdXZWJWaWV3V2l0aE9wdGlvbnMgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1Nl
bGVjdG9yOkBzZWxlY3RvcihfYXV0b21hdGlvblNlc3Npb246cmVxdWVzdE5ld1dlYlZpZXdXaXRo
T3B0aW9uczpjb21wbGV0aW9uSGFuZGxlcjopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy5pc1No
b3dpbmdKYXZhU2NyaXB0RGlhbG9nRm9yV2ViVmlldyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKF9hdXRvbWF0aW9uU2Vzc2lvbjppc1Nob3dpbmdKYXZhU2NyaXB0RGlh
bG9nRm9yV2ViVmlldzopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy5kaXNtaXNzQ3VycmVudEph
dmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3IoX2F1dG9tYXRpb25TZXNzaW9uOmRpc21pc3NDdXJyZW50SmF2YVNjcmlwdERpYWxv
Z0ZvcldlYlZpZXc6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMuYWNjZXB0Q3VycmVudEphdmFT
Y3JpcHREaWFsb2dGb3JXZWJWaWV3ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3IoX2F1dG9tYXRpb25TZXNzaW9uOmFjY2VwdEN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nRm9y
V2ViVmlldzopXTsKQEAgLTUxLDcgKzUyLDcgQEAgQXV0b21hdGlvblNlc3Npb25DbGllbnQ6OkF1
dG9tYXRpb25TZXNzaW9uQ2xpZW50KGlkIDxfV0tBdXRvbWF0aW9uU2Vzc2lvbkRlbGVnYXQKICAg
ICBtX2RlbGVnYXRlTWV0aG9kcy50eXBlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ0ZvcldlYlZp
ZXcgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfYXV0b21hdGlvblNl
c3Npb246dHlwZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3OildOwogCiAgICAg
Ly8gRklYTUUgMzc0MDg3MTg6IHRoZXNlIGRlbGVnYXRlIG1ldGhvZHMgc2hvdWxkIGJlIHJlbW92
ZWQuCi0gICAgbV9kZWxlZ2F0ZU1ldGhvZHMuZGlkUmVxdWVzdE5ld1dpbmRvdyA9IFtkZWxlZ2F0
ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9hdXRvbWF0aW9uU2Vzc2lvbkRpZFJlcXVl
c3ROZXdXaW5kb3c6KV07CisgICAgbV9kZWxlZ2F0ZU1ldGhvZHMucmVxdWVzdE5ld1BhZ2VXaXRo
T3B0aW9ucyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9hdXRvbWF0
aW9uU2Vzc2lvbjpyZXF1ZXN0TmV3UGFnZVdpdGhPcHRpb25zOmNvbXBsZXRpb25IYW5kbGVyOild
OwogICAgIG1fZGVsZWdhdGVNZXRob2RzLmlzU2hvd2luZ0phdmFTY3JpcHREaWFsb2dPblBhZ2Ug
PSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfYXV0b21hdGlvblNlc3Np
b246aXNTaG93aW5nSmF2YVNjcmlwdERpYWxvZ09uUGFnZTopXTsKICAgICBtX2RlbGVnYXRlTWV0
aG9kcy5kaXNtaXNzQ3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UgPSBbZGVsZWdhdGUgcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfYXV0b21hdGlvblNlc3Npb246ZGlzbWlzc0N1cnJl
bnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlOildOwogICAgIG1fZGVsZWdhdGVNZXRob2RzLmFjY2Vw
dEN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nT25QYWdlID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxl
Y3RvcjpAc2VsZWN0b3IoX2F1dG9tYXRpb25TZXNzaW9uOmFjY2VwdEN1cnJlbnRKYXZhU2NyaXB0
RGlhbG9nT25QYWdlOildOwpAQCAtNjYsMTcgKzY3LDI5IEBAIHZvaWQgQXV0b21hdGlvblNlc3Np
b25DbGllbnQ6OmRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlKFdlYkF1dG9tYXRpb25TZXNzaW9uJiBz
ZXNzCiAgICAgICAgIFttX2RlbGVnYXRlLmdldCgpIF9hdXRvbWF0aW9uU2Vzc2lvbkRpZERpc2Nv
bm5lY3RGcm9tUmVtb3RlOndyYXBwZXIoc2Vzc2lvbildOwogfQogCi0vLyBGSVhNRSAzNzQwODcx
ODogc3VwcG9ydCBmb3IgV0tQYWdlUmVmLWJhc2VkIGRlbGVnYXRlIG1ldGhvZHMgc2hvdWxkIGJl
IHJlbW92ZWQuCi0vLyBVbnRpbCB0aGVzZSBhcmUgcmVtb3ZlZCwgcHJlZmVyIHRvIHVzZSB0aGUg
V0tXZWJWaWV3IGRlbGVnYXRlIG1ldGhvZHMgaWYgaW1wbGVtZW50ZWQuCi1XZWJQYWdlUHJveHkq
IEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50OjpkaWRSZXF1ZXN0TmV3V2luZG93KFdlYkF1dG9tYXRp
b25TZXNzaW9uJiBzZXNzaW9uKQorc3RhdGljIGlubGluZSBfV0tBdXRvbWF0aW9uU2Vzc2lvbkJy
b3dzaW5nQ29udGV4dE9wdGlvbnMgdG9BUEkoQVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkJyb3dzaW5n
Q29udGV4dE9wdGlvbnMgb3B0aW9ucykKIHsKLSAgICBpZiAobV9kZWxlZ2F0ZU1ldGhvZHMuZGlk
UmVxdWVzdE5ld1dlYlZpZXcpCi0gICAgICAgIHJldHVybiBbbV9kZWxlZ2F0ZS5nZXQoKSBfYXV0
b21hdGlvblNlc3Npb25EaWRSZXF1ZXN0TmV3V2ViVmlldzp3cmFwcGVyKHNlc3Npb24pXS0+X3Bh
Z2UuZ2V0KCk7CisgICAgdWludDE2X3Qgd2tPcHRpb25zID0gMDsKIAotICAgIGlmIChtX2RlbGVn
YXRlTWV0aG9kcy5kaWRSZXF1ZXN0TmV3V2luZG93KQotICAgICAgICByZXR1cm4gdG9JbXBsKFtt
X2RlbGVnYXRlLmdldCgpIF9hdXRvbWF0aW9uU2Vzc2lvbkRpZFJlcXVlc3ROZXdXaW5kb3c6d3Jh
cHBlcihzZXNzaW9uKV0pOworICAgIGlmIChvcHRpb25zICYgQVBJOjpBdXRvbWF0aW9uU2Vzc2lv
bkJyb3dzaW5nQ29udGV4dE9wdGlvbnNQcmVmZXJOZXdUYWIpCisgICAgICAgIHdrT3B0aW9ucyB8
PSBfV0tBdXRvbWF0aW9uU2Vzc2lvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnNQcmVmZXJOZXdUYWI7
CisKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8X1dLQXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0Nv
bnRleHRPcHRpb25zPih3a09wdGlvbnMpOworfQogCi0gICAgcmV0dXJuIG51bGxwdHI7CisvLyBG
SVhNRSAzNzQwODcxODogc3VwcG9ydCBmb3IgV0tQYWdlUmVmLWJhc2VkIGRlbGVnYXRlIG1ldGhv
ZHMgc2hvdWxkIGJlIHJlbW92ZWQuCisvLyBVbnRpbCB0aGVzZSBhcmUgcmVtb3ZlZCwgcHJlZmVy
IHRvIHVzZSB0aGUgV0tXZWJWaWV3IGRlbGVnYXRlIG1ldGhvZHMgaWYgaW1wbGVtZW50ZWQuCit2
b2lkIEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50OjpyZXF1ZXN0TmV3UGFnZVdpdGhPcHRpb25zKFdl
YkF1dG9tYXRpb25TZXNzaW9uJiBzZXNzaW9uLCBBUEk6OkF1dG9tYXRpb25TZXNzaW9uQnJvd3Np
bmdDb250ZXh0T3B0aW9ucyBvcHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYktpdDo6
V2ViUGFnZVByb3h5Kik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgaWYgKG1fZGVsZWdh
dGVNZXRob2RzLnJlcXVlc3ROZXdXZWJWaWV3V2l0aE9wdGlvbnMpIHsKKyAgICAgICAgW21fZGVs
ZWdhdGUuZ2V0KCkgX2F1dG9tYXRpb25TZXNzaW9uOndyYXBwZXIoc2Vzc2lvbikgcmVxdWVzdE5l
d1dlYlZpZXdXaXRoT3B0aW9uczp0b0FQSShvcHRpb25zKSBjb21wbGV0aW9uSGFuZGxlcjpCbG9j
a1B0cjx2b2lkKFdLV2ViVmlldyAqKT46OmZyb21DYWxsYWJsZShbY29tcGxldGlvbkhhbmRsZXIg
PSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oV0tXZWJWaWV3ICp3ZWJWaWV3KSB7CisgICAg
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcih3ZWJWaWV3LT5fcGFnZS5nZXQoKSk7CisgICAgICAg
IH0pLmdldCgpXTsKKyAgICB9IGVsc2UgaWYgKG1fZGVsZWdhdGVNZXRob2RzLnJlcXVlc3ROZXdQ
YWdlV2l0aE9wdGlvbnMpIHsKKyAgICAgICAgW21fZGVsZWdhdGUuZ2V0KCkgX2F1dG9tYXRpb25T
ZXNzaW9uOndyYXBwZXIoc2Vzc2lvbikgcmVxdWVzdE5ld1BhZ2VXaXRoT3B0aW9uczp0b0FQSShv
cHRpb25zKSBjb21wbGV0aW9uSGFuZGxlcjpCbG9ja1B0cjx2b2lkKFdLUGFnZVJlZik+Ojpmcm9t
Q2FsbGFibGUoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcild
KFdLUGFnZVJlZiBwYWdlKSB7CisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcih0b0ltcGwo
cGFnZSkpOworICAgICAgICB9KS5nZXQoKV07CisgICAgfQogfQogCiBib29sIEF1dG9tYXRpb25T
ZXNzaW9uQ2xpZW50Ojppc1Nob3dpbmdKYXZhU2NyaXB0RGlhbG9nT25QYWdlKFdlYkF1dG9tYXRp
b25TZXNzaW9uJiBzZXNzaW9uLCBXZWJQYWdlUHJveHkmIHBhZ2UpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336530</attachid>
            <date>2018-03-26 11:52:02 -0700</date>
            <delta_ts>2018-03-26 12:32:40 -0700</delta_ts>
            <desc>Fix GTK/WPE</desc>
            <filename>bug-183381-20180326115202.patch</filename>
            <type>text/plain</type>
            <size>20882</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5OTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE2M2Y3MGNkZTY5YmI5ZDZj
NDgyYzIyYzBmODAxYjY1NmY3ZTJhNDYuLjkyOTI0NjJmODAzZDQ0NDNmYTQ4N2U5M2ZlM2VjMmY2
Y2EzZjgxZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAgQEAKKzIwMTgtMDMtMDYgIEJyaWFuIEJ1
cmcgIDxiYnVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEF1dG9tYXRpb246IHByb3ZpZGUg
YSB3YXkgdG8gYXNrIGNsaWVudHMgZm9yIGEgbmV3IHRhYiBvciB3aW5kb3cKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MzM4MQorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMzgxNjczMDE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRj
aGVyLgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBzcGVjaWZ5aW5nIGJyb3dzaW5nIGNvbnRl
eHQgb3B0aW9ucyB3aGVuIHJlcXVlc3RpbmcKKyAgICAgICAgYSBuZXcgYnJvd3NpbmcgY29udGV4
dCBmcm9tIHRoZSBhdXRvbWF0aW9uIHNlc3Npb24gY2xpZW50L2RlbGVnYXRlLgorICAgICAgICBU
aGlzIGlzIGN1cnJlbnRseSBqdXN0IHVzZWQgZm9yIHNwZWNpZnlpbmcgdGFiIHZzIHdpbmRvdywg
YnV0IGNvdWxkCisgICAgICAgIGFsc28gYmUgdXNlZCBmb3IgdGhpbmdzIGxpa2UgdG9nZ2xpbmcg
Y2VydGFpbiBicm93c2VyIGNocm9tZSBvciBmZWF0dXJlcy4KKworICAgICAgICBUaGVyZSBpcyBu
byBndWFyYW50ZWUgdGhhdCB0aGUgY2xpZW50IGhhcyBhIG5vdGlvbiBvZiB0YWJzIHZzIHdpbmRv
d3MsCisgICAgICAgIHNvIHRoaXMgb3B0aW9uIGlzIHB1cmVseSBhZHZpc29yeSBhbmQgc2hvdWxk
IG5vdCBjYXVzZSB0aGUgY29tbWFuZCB0bworICAgICAgICBmYWlsIGlmIGl0IGNhbm5vdCBiZSBo
b25vcmVkLgorCisgICAgICAgIFRoaXMgYmVoYXZpb3IgY2F1c2VkIGJ5IHNwZWNpZnlpbmcgdGhp
cyBvcHRpb24gaXMgY2xpZW50LXNwZWNpZmljLCBzbyBubworICAgICAgICBuZXcgdGVzdHMgYXJl
IGluY2x1ZGVkIGluIFdlYktpdCBmb3IgdGhpcyBjaGFuZ2UuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lmg6CisgICAgICAgIChBUEk6OkF1dG9t
YXRpb25TZXNzaW9uQ2xpZW50OjpkaWRSZXF1ZXN0TmV3UGFnZVdpdGhPcHRpb25zKToKKyAgICAg
ICAgKEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OmRpZFJlcXVlc3ROZXdXaW5kb3cpOiBE
ZWxldGVkLgorICAgICAgICBBZGQgb3B0aW9ucyBwYXJhbWV0ZXIuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2dsaWIvV2ViS2l0QXV0b21hdGlvblNlc3Npb24uY3BwOgorICAgICAgICBBZGp1
c3QgdG8gbmV3IHNpZ25hdHVyZS4gTW9yZSB3b3JrIGlzIG5lZWRlZCB0byBwbHVtYiB0aGlzIGlu
Zm9ybWF0aW9uCisgICAgICAgIHRvIHRoZSBwdWJsaWMgQVBJIGZvciBHVEsvV1BFIGFuZCBzdXBw
b3J0IGl0IGluIFdlYktpdEdUSyBkcml2ZXIuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21h
dGlvbi9BdXRvbWF0aW9uLmpzb246IEFkZCBuZXcgb3B0aW9uYWwgcGFyYW1ldGVyLgorCisgICAg
ICAgICogVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpjcmVhdGVCcm93c2luZ0NvbnRleHQp
OgorICAgICAgICBDb252ZXJ0IHRoZSBwcm90b2NvbCBvcHRpb24gdG8gYW4gQVBJIG9wdGlvbi4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5tbToKKyAg
ICAgICAgKFdlYktpdDo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ6OkF1dG9tYXRpb25TZXNzaW9u
Q2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6dG9BUEkpOgorICAgICAgICAoV2ViS2l0OjpBdXRv
bWF0aW9uU2Vzc2lvbkNsaWVudDo6ZGlkUmVxdWVzdE5ld1BhZ2VXaXRoT3B0aW9ucyk6CisgICAg
ICAgIChXZWJLaXQ6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50OjpkaWRSZXF1ZXN0TmV3V2luZG93
KTogRGVsZXRlZC4KKyAgICAgICAgQ29udmVydCB0aGUgaW50ZXJuYWwgb3B0aW9uIHRvIGEgQ29j
b2EgU1BJIG9wdGlvbiBhbmQgcGFzcyBpdCBhbG9uZy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLQXV0b21hdGlvblNlc3Npb25EZWxlZ2F0ZS5oOgorICAgICAgICBBZGp1c3Qg
ZGVsZWdhdGUgbWV0aG9kcyB0byBpbmNsdWRlIG9wdGlvbnMuIENsaWVudHMgbmVlZCB0byBhZG9w
dCB0aGUgbmV3IHNpZ25hdHVyZShzKS4KKwogMjAxOC0wMy0yNiAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBTZWN1cml0eU9yaWdpbkRhdGEgbW9yZSBjb25z
aXN0ZW50bHkgaW4gU2VydmljZSBXb3JrZXIgY29kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0FQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaAppbmRleCAwZmM4
NTRhM2IxOTY0YmQyMmJiMGI0Zjc0NzEyODIzMzgwYjg0NDFmLi42ODM1M2JiNTY0MmMxOWU1ZjUw
YWRmNWZmZDExZWM5OTQwYTRmMGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaApAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDE2LCAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjYsNiArMjYsNyBAQAog
I2lmbmRlZiBBUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudF9oCiAjZGVmaW5lIEFQSUF1dG9tYXRp
b25TZXNzaW9uQ2xpZW50X2gKIAorI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAg
LTM1LDYgKzM2LDEwIEBAIGNsYXNzIFdlYlBhZ2VQcm94eTsKIAogbmFtZXNwYWNlIEFQSSB7CiAK
K2VudW0gQXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRpb25zIDogdWludDE2X3Qg
eworICAgIEF1dG9tYXRpb25TZXNzaW9uQnJvd3NpbmdDb250ZXh0T3B0aW9uc1ByZWZlck5ld1Rh
YiA9IDEgPDwgMCwKK307CisKIGNsYXNzIEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50IHsKIHB1Ymxp
YzoKICAgICBlbnVtIGNsYXNzIEphdmFTY3JpcHREaWFsb2dUeXBlIHsKQEAgLTQ4LDcgKzUzLDcg
QEAgcHVibGljOgogCiAgICAgdmlydHVhbCBTdHJpbmcgc2Vzc2lvbklkZW50aWZpZXIoKSBjb25z
dCB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWREaXNjb25uZWN0RnJv
bVJlbW90ZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uJikgeyB9Ci0gICAgdmlydHVhbCBX
ZWJLaXQ6OldlYlBhZ2VQcm94eSogZGlkUmVxdWVzdE5ld1dpbmRvdyhXZWJLaXQ6OldlYkF1dG9t
YXRpb25TZXNzaW9uJikgeyByZXR1cm4gbnVsbHB0cjsgfQorICAgIHZpcnR1YWwgdm9pZCByZXF1
ZXN0TmV3UGFnZVdpdGhPcHRpb25zKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBBdXRv
bWF0aW9uU2Vzc2lvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnMsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoV2ViS2l0OjpXZWJQYWdlUHJveHkqKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0
aW9uSGFuZGxlcihudWxscHRyKTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1Nob3dpbmdKYXZhU2Ny
aXB0RGlhbG9nT25QYWdlKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJLaXQ6Oldl
YlBhZ2VQcm94eSYpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIGRpc21pc3ND
dXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9u
JiwgV2ViS2l0OjpXZWJQYWdlUHJveHkmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgYWNjZXB0Q3Vy
cmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbiYs
IFdlYktpdDo6V2ViUGFnZVByb3h5JikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXV0b21hdGlvblNlc3Npb25EZWxlZ2F0ZS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0F1dG9tYXRpb25TZXNzaW9uRGVsZWdhdGUu
aAppbmRleCBhNTU1Y2Q2ZmY0YThjMmQyZGJmMDY3YTVhNTI0NjdhNDU1Yzc2ZDIyLi40OGZhN2Vi
ZTM2ZDFjMGZkY2ZiNDc2NjBlY2QwOGRiMjIxN2Y3ZDlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLQXV0b21hdGlvblNlc3Npb25EZWxlZ2F0ZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tBdXRvbWF0aW9uU2Vzc2lv
bkRlbGVnYXRlLmgKQEAgLTMwLDYgKzMwLDggQEAKICNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRh
dGlvbi5oPgogI2ltcG9ydCA8V2ViS2l0L1dLQmFzZS5oPgogCitOU19BU1NVTUVfTk9OTlVMTF9C
RUdJTgorCiBAY2xhc3MgV0tXZWJWaWV3OwogQGNsYXNzIF9XS0F1dG9tYXRpb25TZXNzaW9uOwog
CkBAIC00MCwxMiArNDIsMTYgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLQXV0b21h
dGlvblNlc3Npb25KYXZhU2NyaXB0RGlhbG9nVHlwZSkgewogICAgIF9XS0F1dG9tYXRpb25TZXNz
aW9uSmF2YVNjcmlwdERpYWxvZ1R5cGVQcm9tcHQsCiB9IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCit0eXBlZGVmIE5TX0VOVU0oTlNVSW50
ZWdlciwgX1dLQXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRpb25zKSB7CisgICAg
X1dLQXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRpb25zUHJlZmVyTmV3VGFiID0g
MSA8PCAwLAorfSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lP
U19UQkEpKTsKKwogQHByb3RvY29sIF9XS0F1dG9tYXRpb25TZXNzaW9uRGVsZWdhdGUgPE5TT2Jq
ZWN0PgogQG9wdGlvbmFsCiAKIC0gKHZvaWQpX2F1dG9tYXRpb25TZXNzaW9uRGlkRGlzY29ubmVj
dEZyb21SZW1vdGU6KF9XS0F1dG9tYXRpb25TZXNzaW9uICopYXV0b21hdGlvblNlc3Npb247CiAK
LS0gKFdLV2ViVmlldyAqKV9hdXRvbWF0aW9uU2Vzc2lvbkRpZFJlcXVlc3ROZXdXZWJWaWV3Oihf
V0tBdXRvbWF0aW9uU2Vzc2lvbiAqKWF1dG9tYXRpb25TZXNzaW9uIFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKKy0gKHZvaWQpX2F1dG9tYXRpb25TZXNzaW9uOihf
V0tBdXRvbWF0aW9uU2Vzc2lvbiAqKWF1dG9tYXRpb25TZXNzaW9uIHJlcXVlc3ROZXdXZWJWaWV3
V2l0aE9wdGlvbnM6KF9XS0F1dG9tYXRpb25TZXNzaW9uQnJvd3NpbmdDb250ZXh0T3B0aW9ucylv
cHRpb25zIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkKF4pKFdLV2ViVmlldyAqIF9OdWxsYWJsZSkp
Y29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlv
cyhXS19JT1NfVEJBKSk7CiAtIChCT09MKV9hdXRvbWF0aW9uU2Vzc2lvbjooX1dLQXV0b21hdGlv
blNlc3Npb24gKilhdXRvbWF0aW9uU2Vzc2lvbiBpc1Nob3dpbmdKYXZhU2NyaXB0RGlhbG9nRm9y
V2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4x
MyksIGlvcygxMS4wKSk7CiAtICh2b2lkKV9hdXRvbWF0aW9uU2Vzc2lvbjooX1dLQXV0b21hdGlv
blNlc3Npb24gKilhdXRvbWF0aW9uU2Vzc2lvbiBkaXNtaXNzQ3VycmVudEphdmFTY3JpcHREaWFs
b2dGb3JXZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KDEwLjEzKSwgaW9zKDExLjApKTsKIC0gKHZvaWQpX2F1dG9tYXRpb25TZXNzaW9uOihfV0tBdXRv
bWF0aW9uU2Vzc2lvbiAqKWF1dG9tYXRpb25TZXNzaW9uIGFjY2VwdEN1cnJlbnRKYXZhU2NyaXB0
RGlhbG9nRm9yV2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeCgxMC4xMyksIGlvcygxMS4wKSk7CkBAIC01NSw3ICs2MSw3IEBAIHR5cGVkZWYgTlNfRU5V
TShOU0ludGVnZXIsIF9XS0F1dG9tYXRpb25TZXNzaW9uSmF2YVNjcmlwdERpYWxvZ1R5cGUpIHsK
IAogLy8gRklYTUUgMzc0MDg3MTg6IE9iamVjdGl2ZS1DIGRlbGVnYXRlIG1ldGhvZHMgc2hvdWxk
bid0IHVzZSBDIEFQSSB0eXBlcyBsaWtlIFdLUGFnZVJlZi4gV2UgbmVlZCB0bwogLy8gbWlncmF0
ZSBjbGllbnRzIHRvIHVzZSBXS1dlYlZpZXcsIG9yIGV4cG9zZSB0aGUgc2FtZSBiZWhhdmlvciB2
aWEgYSBDIFNQSSBmb3IgdGhvc2UgY2xpZW50cy4KLS0gKFdLUGFnZVJlZilfYXV0b21hdGlvblNl
c3Npb25EaWRSZXF1ZXN0TmV3V2luZG93OihfV0tBdXRvbWF0aW9uU2Vzc2lvbiAqKWF1dG9tYXRp
b25TZXNzaW9uIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKKy0g
KHZvaWQpX2F1dG9tYXRpb25TZXNzaW9uOihfV0tBdXRvbWF0aW9uU2Vzc2lvbiAqKWF1dG9tYXRp
b25TZXNzaW9uIHJlcXVlc3ROZXdQYWdlV2l0aE9wdGlvbnM6KF9XS0F1dG9tYXRpb25TZXNzaW9u
QnJvd3NpbmdDb250ZXh0T3B0aW9ucylvcHRpb25zIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkKF4p
KFdLUGFnZVJlZikpY29tcGxldGlvbkhhbmRsZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tf
TUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAtIChCT09MKV9hdXRvbWF0aW9uU2Vzc2lvbjoo
X1dLQXV0b21hdGlvblNlc3Npb24gKilhdXRvbWF0aW9uU2Vzc2lvbiBpc1Nob3dpbmdKYXZhU2Ny
aXB0RGlhbG9nT25QYWdlOihXS1BhZ2VSZWYpcGFnZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgx
MC4xMyksIGlvcygxMS4wKSk7CiAtICh2b2lkKV9hdXRvbWF0aW9uU2Vzc2lvbjooX1dLQXV0b21h
dGlvblNlc3Npb24gKilhdXRvbWF0aW9uU2Vzc2lvbiBkaXNtaXNzQ3VycmVudEphdmFTY3JpcHRE
aWFsb2dPblBhZ2U6KFdLUGFnZVJlZilwYWdlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEz
KSwgaW9zKDExLjApKTsKIC0gKHZvaWQpX2F1dG9tYXRpb25TZXNzaW9uOihfV0tBdXRvbWF0aW9u
U2Vzc2lvbiAqKWF1dG9tYXRpb25TZXNzaW9uIGFjY2VwdEN1cnJlbnRKYXZhU2NyaXB0RGlhbG9n
T25QYWdlOihXS1BhZ2VSZWYpcGFnZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMyksIGlv
cygxMS4wKSk7CkBAIC02NCw0ICs3MCw2IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9X
S0F1dG9tYXRpb25TZXNzaW9uSmF2YVNjcmlwdERpYWxvZ1R5cGUpIHsKIC0gKF9XS0F1dG9tYXRp
b25TZXNzaW9uSmF2YVNjcmlwdERpYWxvZ1R5cGUpX2F1dG9tYXRpb25TZXNzaW9uOihfV0tBdXRv
bWF0aW9uU2Vzc2lvbiAqKWF1dG9tYXRpb25TZXNzaW9uIHR5cGVPZkN1cnJlbnRKYXZhU2NyaXB0
RGlhbG9nT25QYWdlOihXS1BhZ2VSZWYpcGFnZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19N
QUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIEBlbmQKIAorTlNfQVNTVU1FX05PTk5VTExfRU5E
CisKICNlbmRpZiAvLyBXS19BUElfRU5BQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0QXV0b21hdGlvblNlc3Npb24uY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0QXV0b21hdGlvblNlc3Npb24uY3BwCmluZGV4
IDkzYWI4ZDUwNzg0NTIyZWMyOTVkNThkZjBjNzM3NGMzNGVjNWM5YTkuLmRhZTI5ZTE0ZTA5NzYz
OGI5ODEzMGQxMDllMGM0NjAxMmI2Y2YxMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9nbGliL1dlYktpdEF1dG9tYXRpb25TZXNzaW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKQEAg
LTgyLDE0ICs4MiwxNCBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRG
OChtX3Nlc3Npb24tPnByaXYtPmlkLmRhdGEoKSk7CiAgICAgfQogCi0gICAgV2ViUGFnZVByb3h5
KiBkaWRSZXF1ZXN0TmV3V2luZG93KFdlYkF1dG9tYXRpb25TZXNzaW9uJikgb3ZlcnJpZGUKKyAg
ICB2b2lkIHJlcXVlc3ROZXdQYWdlV2l0aE9wdGlvbnMoV2ViQXV0b21hdGlvblNlc3Npb24mLCBB
UEk6OkF1dG9tYXRpb25TZXNzaW9uQnJvd3NpbmdDb250ZXh0T3B0aW9ucywgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChXZWJQYWdlUHJveHkqKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgb3ZlcnJpZGUK
ICAgICB7CiAgICAgICAgIFdlYktpdFdlYlZpZXcqIHdlYlZpZXcgPSBudWxscHRyOwogICAgICAg
ICBnX3NpZ25hbF9lbWl0KG1fc2Vzc2lvbiwgc2lnbmFsc1tDUkVBVEVfV0VCX1ZJRVddLCAwLCAm
d2ViVmlldyk7CiAgICAgICAgIGlmICghd2ViVmlldyB8fCAhd2Via2l0X3dlYl92aWV3X2lzX2Nv
bnRyb2xsZWRfYnlfYXV0b21hdGlvbih3ZWJWaWV3KSkKLSAgICAgICAgICAgIHJldHVybiBudWxs
cHRyOwotCi0gICAgICAgIHJldHVybiAmd2Via2l0V2ViVmlld0dldFBhZ2Uod2ViVmlldyk7Cisg
ICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihudWxscHRyKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoJndlYmtpdFdlYlZpZXdHZXRQYWdlKHdlYlZpZXcp
KTsKICAgICB9CiAKICAgICBib29sIGlzU2hvd2luZ0phdmFTY3JpcHREaWFsb2dPblBhZ2UoV2Vi
QXV0b21hdGlvblNlc3Npb24mLCBXZWJQYWdlUHJveHkmIHBhZ2UpIG92ZXJyaWRlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNvbiBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlvbi5qc29uCmluZGV4
IDg4NDA4MjY2YTFjODRiMDQ1NDBkN2JkYTg4YjIxNTkxMzdjZTMwNTEuLjdhZTY4Y2JkNWRkMzcy
Y2I1Y2M5MDdmYTNiYWI2NTBkOTQwZWU2NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlvbi5qc29uCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlvbi5qc29uCkBAIC0yNjksOSArMjY5LDEzIEBACiAg
ICAgICAgIHsKICAgICAgICAgICAgICJuYW1lIjogImNyZWF0ZUJyb3dzaW5nQ29udGV4dCIsCiAg
ICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3BlbnMgYSBuZXcgYnJvd3NpbmcgY29udGV4dCBp
biB0aGUgYXV0b21hdGlvbiBzZXNzaW9uIGFuZCBtYWtlcyBpdCB0aGUgYWN0aXZlIGJyb3dzaW5n
IGNvbnRleHQgZm9yIHVzZXIgaW50ZXJhY3Rpb24uIFRoaXMgY29tbWFuZCBjcmVhdGVzIGEgYnJv
d3NpbmcgY29udGV4dCBpbiBhIG5ldyB3aW5kb3cgcmF0aGVyIHRoYW4gYWRkaW5nIGEgdGFiIHRv
IGFuIGV4aXN0aW5nIHdpbmRvdy4iLAorICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCisgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJwcmVmZXJOZXdUYWIiLCAidHlwZSI6ICJib29sZWFuIiwg
Im9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkNyZWF0ZSB0aGUgbmV3IGJyb3dzaW5n
IGNvbnRleHQgYXMgYSB0YWIgaW4gYW4gZXhpc3RpbmcgQXV0b21hdGlvbiB3aW5kb3csIGlmIHBv
c3NpYmxlLiJ9CisgICAgICAgICAgICBdLAogICAgICAgICAgICAgInJldHVybnMiOiBbCiAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJoYW5kbGUiLCAiJHJlZiI6ICJCcm93c2luZ0NvbnRleHRI
YW5kbGUiLCAiZGVzY3JpcHRpb24iOiAiQW4gb3BhcXVlIGhhbmRsZSBmb3IgdGhlIG5ld2x5IGNy
ZWF0ZWQgYnJvd3NpbmcgY29udGV4dC4iIH0KLSAgICAgICAgICAgIF0KKyAgICAgICAgICAgIF0s
CisgICAgICAgICAgICAiYXN5bmMiOiB0cnVlCiAgICAgICAgIH0sCiAgICAgICAgIHsKICAgICAg
ICAgICAgICJuYW1lIjogImNsb3NlQnJvd3NpbmdDb250ZXh0IiwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5j
cHAKaW5kZXggOWUyZTRkOWQ5NTY2NDgzMjAxNTc4MTQ1YjVkOWMwNGEwZDIyNGZhYy4uZTZkOGE5
NzgwNDcxNTcyYWUyZGMwYjhjMzgwY2E0MDgyNDIwMGNmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5j
cHAKQEAgLTI3MiwxNSArMjcyLDIyIEBAIHZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmdldEJy
b3dzaW5nQ29udGV4dChjb25zdCBTdHJpbmcmIGhhbmRsZSwgUmVmPEdldEJyb3dzCiAgICAgfSk7
CiB9CiAKLXZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmNyZWF0ZUJyb3dzaW5nQ29udGV4dChJ
bnNwZWN0b3I6OkVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgU3RyaW5nKiBoYW5kbGUpCit2b2lk
IFdlYkF1dG9tYXRpb25TZXNzaW9uOjpjcmVhdGVCcm93c2luZ0NvbnRleHQoY29uc3QgYm9vbCog
cHJlZmVyTmV3VGFiLCBSZWY8Q3JlYXRlQnJvd3NpbmdDb250ZXh0Q2FsbGJhY2s+JiYgY2FsbGJh
Y2spCiB7CiAgICAgQVNTRVJUKG1fY2xpZW50KTsKICAgICBpZiAoIW1fY2xpZW50KQotICAgICAg
ICBTWU5DX0ZBSUxfV0lUSF9QUkVERUZJTkVEX0VSUk9SX0FORF9ERVRBSUxTKEludGVybmFsRXJy
b3IsICJUaGUgcmVtb3RlIHNlc3Npb24gY291bGQgbm90IHJlcXVlc3QgYSBuZXcgYnJvd3Npbmcg
Y29udGV4dC4iKTsKKyAgICAgICAgQVNZTkNfRkFJTF9XSVRIX1BSRURFRklORURfRVJST1JfQU5E
X0RFVEFJTFMoSW50ZXJuYWxFcnJvciwgIlRoZSByZW1vdGUgc2Vzc2lvbiBjb3VsZCBub3QgcmVx
dWVzdCBhIG5ldyBicm93c2luZyBjb250ZXh0LiIpOwogCi0gICAgV2ViUGFnZVByb3h5KiBwYWdl
ID0gbV9jbGllbnQtPmRpZFJlcXVlc3ROZXdXaW5kb3coKnRoaXMpOwotICAgIGlmICghcGFnZSkK
LSAgICAgICAgU1lOQ19GQUlMX1dJVEhfUFJFREVGSU5FRF9FUlJPUl9BTkRfREVUQUlMUyhJbnRl
cm5hbEVycm9yLCAiVGhlIHJlbW90ZSBzZXNzaW9uIGZhaWxlZCB0byBjcmVhdGUgYSBuZXcgYnJv
d3NpbmcgY29udGV4dC4iKTsKKyAgICB1aW50MTZfdCBvcHRpb25zID0gMDsKKyAgICBpZiAocHJl
ZmVyTmV3VGFiICYmICpwcmVmZXJOZXdUYWIpCisgICAgICAgIG9wdGlvbnMgfD0gQVBJOjpBdXRv
bWF0aW9uU2Vzc2lvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnNQcmVmZXJOZXdUYWI7CisKKyAgICBt
X2NsaWVudC0+cmVxdWVzdE5ld1BhZ2VXaXRoT3B0aW9ucygqdGhpcywgc3RhdGljX2Nhc3Q8QVBJ
OjpBdXRvbWF0aW9uU2Vzc2lvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnM+KG9wdGlvbnMpLCBbcHJv
dGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2sp
XShXZWJQYWdlUHJveHkqIHBhZ2UpIHsKKyAgICAgICAgaWYgKHBhZ2UpCisgICAgICAgICAgICBj
YWxsYmFjay0+c2VuZFN1Y2Nlc3MocHJvdGVjdGVkVGhpcy0+aGFuZGxlRm9yV2ViUGFnZVByb3h5
KCpwYWdlKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIEFTWU5DX0ZBSUxfV0lUSF9QUkVE
RUZJTkVEX0VSUk9SX0FORF9ERVRBSUxTKEludGVybmFsRXJyb3IsICJUaGUgcmVtb3RlIHNlc3Np
b24gZmFpbGVkIHRvIGNyZWF0ZSBhIG5ldyBicm93c2luZyBjb250ZXh0LiIpOworICAgIH0pOwog
fQogCiB2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpjbG9zZUJyb3dzaW5nQ29udGV4dChJbnNw
ZWN0b3I6OkVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBoYW5kbGUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRp
b25TZXNzaW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9t
YXRpb25TZXNzaW9uLmgKaW5kZXggMzZjNGM3Yjg4ZjAwMjg3OTk1ZGZmM2M2Y2RjODM0YmEzNjZj
M2VmYi4uODg0NjI0MWE2OTU0YTVkYzQwZGI1MTM3MjgyOGY5OTJhZWRmMzAyYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lv
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlv
blNlc3Npb24uaApAQCAtMTE5LDkgKzExOSw5IEBAIHB1YmxpYzoKICAgICAvLyBQbGF0Zm9ybTog
R2VuZXJpYwogICAgIHZvaWQgZ2V0QnJvd3NpbmdDb250ZXh0cyhSZWY8R2V0QnJvd3NpbmdDb250
ZXh0c0NhbGxiYWNrPiYmKSBmaW5hbDsKICAgICB2b2lkIGdldEJyb3dzaW5nQ29udGV4dChjb25z
dCBTdHJpbmcmLCBSZWY8R2V0QnJvd3NpbmdDb250ZXh0Q2FsbGJhY2s+JiYpIGZpbmFsOwotICAg
IHZvaWQgY3JlYXRlQnJvd3NpbmdDb250ZXh0KEluc3BlY3Rvcjo6RXJyb3JTdHJpbmcmLCBTdHJp
bmcqKSBvdmVycmlkZTsKICAgICB2b2lkIGNsb3NlQnJvd3NpbmdDb250ZXh0KEluc3BlY3Rvcjo6
RXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKICAgICB2b2lkIHN3aXRjaFRv
QnJvd3NpbmdDb250ZXh0KEluc3BlY3Rvcjo6RXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmIGJy
b3dzaW5nQ29udGV4dEhhbmRsZSwgY29uc3QgU3RyaW5nKiBvcHRpb25hbEZyYW1lSGFuZGxlKSBv
dmVycmlkZTsKKyAgICB2b2lkIGNyZWF0ZUJyb3dzaW5nQ29udGV4dChjb25zdCBib29sKiBwcmVm
ZXJOZXdUYWIsIFJlZjxDcmVhdGVCcm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJikgZmluYWw7CiAg
ICAgdm9pZCBzZXRXaW5kb3dGcmFtZU9mQnJvd3NpbmdDb250ZXh0KGNvbnN0IFN0cmluZyYgaGFu
ZGxlLCBjb25zdCBKU09OOjpPYmplY3QqIG9yaWdpbiwgY29uc3QgSlNPTjo6T2JqZWN0KiBzaXpl
LCBSZWY8U2V0V2luZG93RnJhbWVPZkJyb3dzaW5nQ29udGV4dENhbGxiYWNrPiYmKSBmaW5hbDsK
ICAgICB2b2lkIG5hdmlnYXRlQnJvd3NpbmdDb250ZXh0KGNvbnN0IFN0cmluZyYgaGFuZGxlLCBj
b25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nKiBvcHRpb25hbFBhZ2VMb2FkU3RyYXRlZ3lT
dHJpbmcsIGNvbnN0IGludCogb3B0aW9uYWxQYWdlTG9hZFRpbWVvdXQsIFJlZjxOYXZpZ2F0ZUJy
b3dzaW5nQ29udGV4dENhbGxiYWNrPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIGdvQmFja0luQnJv
d3NpbmdDb250ZXh0KGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyogb3B0aW9uYWxQYWdlTG9h
ZFN0cmF0ZWd5U3RyaW5nLCBjb25zdCBpbnQqIG9wdGlvbmFsUGFnZUxvYWRUaW1lb3V0LCBSZWY8
R29CYWNrSW5Ccm93c2luZ0NvbnRleHRDYWxsYmFjaz4mJikgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvQXV0b21hdGlvblNlc3Npb25DbGllbnQu
aAppbmRleCAzNWU4ZWMyYTZhYzVjMTlkMGZiYWRiNmIzZWRiMTMzODFkZDQ2ZTRkLi43ZjYxNDRh
MjFlOTcyN2E0ODc2YjE1ODQyZDgyOTViZTlmNzcyYzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL0F1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmgKQEAgLTQz
LDkgKzQzLDkgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIC8vIEZyb20gQVBJOjpBdXRvbWF0
aW9uU2Vzc2lvbkNsaWVudAotICAgIFdlYlBhZ2VQcm94eSogZGlkUmVxdWVzdE5ld1dpbmRvdyhX
ZWJBdXRvbWF0aW9uU2Vzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkRGlzY29ubmVjdEZy
b21SZW1vdGUoV2ViQXV0b21hdGlvblNlc3Npb24mKSBvdmVycmlkZTsKIAorICAgIHZvaWQgcmVx
dWVzdE5ld1BhZ2VXaXRoT3B0aW9ucyhXZWJBdXRvbWF0aW9uU2Vzc2lvbiYsIEFQSTo6QXV0b21h
dGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFdlYlBhZ2VQcm94eSopPiYmKSBvdmVycmlkZTsKICAgICBib29sIGlzU2hvd2luZ0phdmFTY3Jp
cHREaWFsb2dPblBhZ2UoV2ViQXV0b21hdGlvblNlc3Npb24mLCBXZWJQYWdlUHJveHkmKSBvdmVy
cmlkZTsKICAgICB2b2lkIGRpc21pc3NDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJB
dXRvbWF0aW9uU2Vzc2lvbiYsIFdlYlBhZ2VQcm94eSYpIG92ZXJyaWRlOwogICAgIHZvaWQgYWNj
ZXB0Q3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UoV2ViQXV0b21hdGlvblNlc3Npb24mLCBX
ZWJQYWdlUHJveHkmKSBvdmVycmlkZTsKQEAgLTU4LDcgKzU4LDcgQEAgcHJpdmF0ZToKICAgICBz
dHJ1Y3QgewogICAgICAgICBib29sIGRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlIDogMTsKIAotICAg
ICAgICBib29sIGRpZFJlcXVlc3ROZXdXZWJWaWV3IDogMTsKKyAgICAgICAgYm9vbCByZXF1ZXN0
TmV3V2ViVmlld1dpdGhPcHRpb25zIDogMTsKICAgICAgICAgYm9vbCBpc1Nob3dpbmdKYXZhU2Ny
aXB0RGlhbG9nRm9yV2ViVmlldyA6IDE7CiAgICAgICAgIGJvb2wgZGlzbWlzc0N1cnJlbnRKYXZh
U2NyaXB0RGlhbG9nRm9yV2ViVmlldyA6IDE7CiAgICAgICAgIGJvb2wgYWNjZXB0Q3VycmVudEph
dmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3IDogMTsKQEAgLTY3LDcgKzY3LDcgQEAgcHJpdmF0ZToK
ICAgICAgICAgYm9vbCB0eXBlT2ZDdXJyZW50SmF2YVNjcmlwdERpYWxvZ0ZvcldlYlZpZXcgOiAx
OwogCiAgICAgICAgIC8vIEZJWE1FIDM3NDA4NzE4OiB0aGVzZSBkZWxlZ2F0ZSBtZXRob2RzIHNo
b3VsZCBiZSByZW1vdmVkLgotICAgICAgICBib29sIGRpZFJlcXVlc3ROZXdXaW5kb3cgOiAxOwor
ICAgICAgICBib29sIHJlcXVlc3ROZXdQYWdlV2l0aE9wdGlvbnMgOiAxOwogICAgICAgICBib29s
IGlzU2hvd2luZ0phdmFTY3JpcHREaWFsb2dPblBhZ2UgOiAxOwogICAgICAgICBib29sIGRpc21p
c3NDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZSA6IDE7CiAgICAgICAgIGJvb2wgYWNjZXB0
Q3VycmVudEphdmFTY3JpcHREaWFsb2dPblBhZ2UgOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvQXV0b21hdGlvblNlc3Npb25DbGllbnQubW0gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5tbQppbmRleCBh
NWNiMDljOTU5MzJjZGE4ODM1M2NiNjA4ZDc5MDU1MWZjMjY5NWYyLi5jY2Q4OTBjZTE1ZmM4Zjlj
YjY2MzVmNjE2MTkyZjA2NGU2NWViZGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9BdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5tbQpAQCAtMzQsNiArMzQs
NyBAQAogI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCiAjaW1wb3J0ICJfV0tBdXRvbWF0aW9uU2Vz
c2lvbkRlbGVnYXRlLmgiCiAjaW1wb3J0ICJfV0tBdXRvbWF0aW9uU2Vzc2lvbkludGVybmFsLmgi
CisjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTQy
LDcgKzQzLDcgQEAgQXV0b21hdGlvblNlc3Npb25DbGllbnQ6OkF1dG9tYXRpb25TZXNzaW9uQ2xp
ZW50KGlkIDxfV0tBdXRvbWF0aW9uU2Vzc2lvbkRlbGVnYXQKIHsKICAgICBtX2RlbGVnYXRlTWV0
aG9kcy5kaWREaXNjb25uZWN0RnJvbVJlbW90ZSA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKF9hdXRvbWF0aW9uU2Vzc2lvbkRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlOild
OwogCi0gICAgbV9kZWxlZ2F0ZU1ldGhvZHMuZGlkUmVxdWVzdE5ld1dlYlZpZXcgPSBbZGVsZWdh
dGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfYXV0b21hdGlvblNlc3Npb25EaWRSZXF1
ZXN0TmV3V2ViVmlldzopXTsKKyAgICBtX2RlbGVnYXRlTWV0aG9kcy5yZXF1ZXN0TmV3V2ViVmll
d1dpdGhPcHRpb25zID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX2F1
dG9tYXRpb25TZXNzaW9uOnJlcXVlc3ROZXdXZWJWaWV3V2l0aE9wdGlvbnM6Y29tcGxldGlvbkhh
bmRsZXI6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMuaXNTaG93aW5nSmF2YVNjcmlwdERpYWxv
Z0ZvcldlYlZpZXcgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfYXV0
b21hdGlvblNlc3Npb246aXNTaG93aW5nSmF2YVNjcmlwdERpYWxvZ0ZvcldlYlZpZXc6KV07CiAg
ICAgbV9kZWxlZ2F0ZU1ldGhvZHMuZGlzbWlzc0N1cnJlbnRKYXZhU2NyaXB0RGlhbG9nRm9yV2Vi
VmlldyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9hdXRvbWF0aW9u
U2Vzc2lvbjpkaXNtaXNzQ3VycmVudEphdmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3OildOwogICAg
IG1fZGVsZWdhdGVNZXRob2RzLmFjY2VwdEN1cnJlbnRKYXZhU2NyaXB0RGlhbG9nRm9yV2ViVmll
dyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9hdXRvbWF0aW9uU2Vz
c2lvbjphY2NlcHRDdXJyZW50SmF2YVNjcmlwdERpYWxvZ0ZvcldlYlZpZXc6KV07CkBAIC01MSw3
ICs1Miw3IEBAIEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50OjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVu
dChpZCA8X1dLQXV0b21hdGlvblNlc3Npb25EZWxlZ2F0CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMu
dHlwZU9mQ3VycmVudEphdmFTY3JpcHREaWFsb2dGb3JXZWJWaWV3ID0gW2RlbGVnYXRlIHJlc3Bv
bmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX2F1dG9tYXRpb25TZXNzaW9uOnR5cGVPZkN1cnJlbnRK
YXZhU2NyaXB0RGlhbG9nRm9yV2ViVmlldzopXTsKIAogICAgIC8vIEZJWE1FIDM3NDA4NzE4OiB0
aGVzZSBkZWxlZ2F0ZSBtZXRob2RzIHNob3VsZCBiZSByZW1vdmVkLgotICAgIG1fZGVsZWdhdGVN
ZXRob2RzLmRpZFJlcXVlc3ROZXdXaW5kb3cgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9y
OkBzZWxlY3RvcihfYXV0b21hdGlvblNlc3Npb25EaWRSZXF1ZXN0TmV3V2luZG93OildOworICAg
IG1fZGVsZWdhdGVNZXRob2RzLnJlcXVlc3ROZXdQYWdlV2l0aE9wdGlvbnMgPSBbZGVsZWdhdGUg
cmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfYXV0b21hdGlvblNlc3Npb246cmVxdWVzdE5l
d1BhZ2VXaXRoT3B0aW9uczpjb21wbGV0aW9uSGFuZGxlcjopXTsKICAgICBtX2RlbGVnYXRlTWV0
aG9kcy5pc1Nob3dpbmdKYXZhU2NyaXB0RGlhbG9nT25QYWdlID0gW2RlbGVnYXRlIHJlc3BvbmRz
VG9TZWxlY3RvcjpAc2VsZWN0b3IoX2F1dG9tYXRpb25TZXNzaW9uOmlzU2hvd2luZ0phdmFTY3Jp
cHREaWFsb2dPblBhZ2U6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMuZGlzbWlzc0N1cnJlbnRK
YXZhU2NyaXB0RGlhbG9nT25QYWdlID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3IoX2F1dG9tYXRpb25TZXNzaW9uOmRpc21pc3NDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09u
UGFnZTopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy5hY2NlcHRDdXJyZW50SmF2YVNjcmlwdERp
YWxvZ09uUGFnZSA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9hdXRv
bWF0aW9uU2Vzc2lvbjphY2NlcHRDdXJyZW50SmF2YVNjcmlwdERpYWxvZ09uUGFnZTopXTsKQEAg
LTY2LDE3ICs2NywyOSBAQCB2b2lkIEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50OjpkaWREaXNjb25u
ZWN0RnJvbVJlbW90ZShXZWJBdXRvbWF0aW9uU2Vzc2lvbiYgc2VzcwogICAgICAgICBbbV9kZWxl
Z2F0ZS5nZXQoKSBfYXV0b21hdGlvblNlc3Npb25EaWREaXNjb25uZWN0RnJvbVJlbW90ZTp3cmFw
cGVyKHNlc3Npb24pXTsKIH0KIAotLy8gRklYTUUgMzc0MDg3MTg6IHN1cHBvcnQgZm9yIFdLUGFn
ZVJlZi1iYXNlZCBkZWxlZ2F0ZSBtZXRob2RzIHNob3VsZCBiZSByZW1vdmVkLgotLy8gVW50aWwg
dGhlc2UgYXJlIHJlbW92ZWQsIHByZWZlciB0byB1c2UgdGhlIFdLV2ViVmlldyBkZWxlZ2F0ZSBt
ZXRob2RzIGlmIGltcGxlbWVudGVkLgotV2ViUGFnZVByb3h5KiBBdXRvbWF0aW9uU2Vzc2lvbkNs
aWVudDo6ZGlkUmVxdWVzdE5ld1dpbmRvdyhXZWJBdXRvbWF0aW9uU2Vzc2lvbiYgc2Vzc2lvbikK
K3N0YXRpYyBpbmxpbmUgX1dLQXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRpb25z
IHRvQVBJKEFQSTo6QXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRpb25zIG9wdGlv
bnMpCiB7Ci0gICAgaWYgKG1fZGVsZWdhdGVNZXRob2RzLmRpZFJlcXVlc3ROZXdXZWJWaWV3KQot
ICAgICAgICByZXR1cm4gW21fZGVsZWdhdGUuZ2V0KCkgX2F1dG9tYXRpb25TZXNzaW9uRGlkUmVx
dWVzdE5ld1dlYlZpZXc6d3JhcHBlcihzZXNzaW9uKV0tPl9wYWdlLmdldCgpOworICAgIHVpbnQx
Nl90IHdrT3B0aW9ucyA9IDA7CiAKLSAgICBpZiAobV9kZWxlZ2F0ZU1ldGhvZHMuZGlkUmVxdWVz
dE5ld1dpbmRvdykKLSAgICAgICAgcmV0dXJuIHRvSW1wbChbbV9kZWxlZ2F0ZS5nZXQoKSBfYXV0
b21hdGlvblNlc3Npb25EaWRSZXF1ZXN0TmV3V2luZG93OndyYXBwZXIoc2Vzc2lvbildKTsKKyAg
ICBpZiAob3B0aW9ucyAmIEFQSTo6QXV0b21hdGlvblNlc3Npb25Ccm93c2luZ0NvbnRleHRPcHRp
b25zUHJlZmVyTmV3VGFiKQorICAgICAgICB3a09wdGlvbnMgfD0gX1dLQXV0b21hdGlvblNlc3Np
b25Ccm93c2luZ0NvbnRleHRPcHRpb25zUHJlZmVyTmV3VGFiOworCisgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PF9XS0F1dG9tYXRpb25TZXNzaW9uQnJvd3NpbmdDb250ZXh0T3B0aW9ucz4od2tPcHRp
b25zKTsKK30KIAotICAgIHJldHVybiBudWxscHRyOworLy8gRklYTUUgMzc0MDg3MTg6IHN1cHBv
cnQgZm9yIFdLUGFnZVJlZi1iYXNlZCBkZWxlZ2F0ZSBtZXRob2RzIHNob3VsZCBiZSByZW1vdmVk
LgorLy8gVW50aWwgdGhlc2UgYXJlIHJlbW92ZWQsIHByZWZlciB0byB1c2UgdGhlIFdLV2ViVmll
dyBkZWxlZ2F0ZSBtZXRob2RzIGlmIGltcGxlbWVudGVkLgordm9pZCBBdXRvbWF0aW9uU2Vzc2lv
bkNsaWVudDo6cmVxdWVzdE5ld1BhZ2VXaXRoT3B0aW9ucyhXZWJBdXRvbWF0aW9uU2Vzc2lvbiYg
c2Vzc2lvbiwgQVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkJyb3dzaW5nQ29udGV4dE9wdGlvbnMgb3B0
aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJLaXQ6OldlYlBhZ2VQcm94eSopPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQoreworICAgIGlmIChtX2RlbGVnYXRlTWV0aG9kcy5yZXF1ZXN0TmV3
V2ViVmlld1dpdGhPcHRpb25zKSB7CisgICAgICAgIFttX2RlbGVnYXRlLmdldCgpIF9hdXRvbWF0
aW9uU2Vzc2lvbjp3cmFwcGVyKHNlc3Npb24pIHJlcXVlc3ROZXdXZWJWaWV3V2l0aE9wdGlvbnM6
dG9BUEkob3B0aW9ucykgY29tcGxldGlvbkhhbmRsZXI6QmxvY2tQdHI8dm9pZChXS1dlYlZpZXcg
Kik+Ojpmcm9tQ2FsbGFibGUoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlcildKFdLV2ViVmlldyAqd2ViVmlldykgeworICAgICAgICAgICAgY29tcGxldGlvbkhh
bmRsZXIod2ViVmlldy0+X3BhZ2UuZ2V0KCkpOworICAgICAgICB9KS5nZXQoKV07CisgICAgfSBl
bHNlIGlmIChtX2RlbGVnYXRlTWV0aG9kcy5yZXF1ZXN0TmV3UGFnZVdpdGhPcHRpb25zKSB7Cisg
ICAgICAgIFttX2RlbGVnYXRlLmdldCgpIF9hdXRvbWF0aW9uU2Vzc2lvbjp3cmFwcGVyKHNlc3Np
b24pIHJlcXVlc3ROZXdQYWdlV2l0aE9wdGlvbnM6dG9BUEkob3B0aW9ucykgY29tcGxldGlvbkhh
bmRsZXI6QmxvY2tQdHI8dm9pZChXS1BhZ2VSZWYpPjo6ZnJvbUNhbGxhYmxlKFtjb21wbGV0aW9u
SGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShXS1BhZ2VSZWYgcGFnZSkgewor
ICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIodG9JbXBsKHBhZ2UpKTsKKyAgICAgICAgfSku
Z2V0KCldOworICAgIH0KIH0KIAogYm9vbCBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDo6aXNTaG93
aW5nSmF2YVNjcmlwdERpYWxvZ09uUGFnZShXZWJBdXRvbWF0aW9uU2Vzc2lvbiYgc2Vzc2lvbiwg
V2ViUGFnZVByb3h5JiBwYWdlKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>