<?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>175797</bug_id>
          
          <creation_ts>2017-08-21 17:10:25 -0700</creation_ts>
          <short_desc>Add UIDelegatePrivate SPI corresponding to WKPageUIClient.showPage</short_desc>
          <delta_ts>2017-08-23 10:28:08 -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>New Bugs</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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>jlewis3</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1340847</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-08-21 17:10:25 -0700</bug_when>
    <thetext>Add UIDelegatePrivate SPI corresponding to WKPageUIClient.showPage</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1340854</commentid>
    <comment_count>1</comment_count>
      <attachid>318703</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-08-21 17:19:16 -0700</bug_when>
    <thetext>Created attachment 318703
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341084</commentid>
    <comment_count>2</comment_count>
      <attachid>318703</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2017-08-22 10:16:20 -0700</bug_when>
    <thetext>Comment on attachment 318703
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341138</commentid>
    <comment_count>3</comment_count>
      <attachid>318703</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-22 11:12:13 -0700</bug_when>
    <thetext>Comment on attachment 318703
Patch

Clearing flags on attachment: 318703

Committed r221026: &lt;http://trac.webkit.org/changeset/221026&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341139</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-22 11:12:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341143</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-08-22 11:13:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/34016741&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341263</commentid>
    <comment_count>6</comment_count>
    <who name="Matt Lewis">jlewis3</who>
    <bug_when>2017-08-22 14:09:46 -0700</bug_when>
    <thetext>This caused an api timeout with the test WebKit2.ShowPage on iOS Simulators

https://build.webkit.org/builders/Apple%20iOS%2010%20Simulator%20Release%20WK2%20%28Tests%29/builds/3781/steps/run-api-tests/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341264</commentid>
    <comment_count>7</comment_count>
    <who name="Matt Lewis">jlewis3</who>
    <bug_when>2017-08-22 14:10:17 -0700</bug_when>
    <thetext>Reverted r221026 for reason:

This caused a consistent API failure on iOS Simulator.

Committed r221047: &lt;http://trac.webkit.org/changeset/221047&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341278</commentid>
    <comment_count>8</comment_count>
      <attachid>318802</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-08-22 14:45:13 -0700</bug_when>
    <thetext>Created attachment 318802
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341289</commentid>
    <comment_count>9</comment_count>
      <attachid>318804</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-08-22 15:05:33 -0700</bug_when>
    <thetext>Created attachment 318804
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341330</commentid>
    <comment_count>10</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-08-22 16:15:19 -0700</bug_when>
    <thetext>http://trac.webkit.org/r221055</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341335</commentid>
    <comment_count>11</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-08-22 16:20:50 -0700</bug_when>
    <thetext>What&apos;s up with the icky name?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341582</commentid>
    <comment_count>12</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-08-23 10:10:15 -0700</bug_when>
    <thetext>_webViewClose corresponds with WKPageUIClient.close.  I figured _webViewShow was a good name for a function that corresponds with WKPageUIClient.showPage.  All the other methods in UIDelegatePrivate start with _webView...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1341594</commentid>
    <comment_count>13</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-08-23 10:28:08 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #12)
&gt; _webViewClose corresponds with WKPageUIClient.close.  I figured _webViewShow
&gt; was a good name for a function that corresponds with
&gt; WKPageUIClient.showPage. 

You figured incorrectly :)

It should at a /minimum/ be -(void)_showWebView:(WKWebView *)webView. Please fix!

&gt; All the other methods in UIDelegatePrivate start
&gt; with _webView...

Not true.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318703</attachid>
            <date>2017-08-21 17:19:16 -0700</date>
            <delta_ts>2017-08-22 14:45:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175797-20170821171916.patch</filename>
            <type>text/plain</type>
            <size>16335</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjA5MDEpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE3LTA4LTIxICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFVJRGVsZWdh
dGVQcml2YXRlIFNQSSBjb3JyZXNwb25kaW5nIHRvIFdLUGFnZVVJQ2xpZW50LnNob3dQYWdlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU3OTcKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5MjcwMDM1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdh
dGVQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbToKKyAgICAgICAgKFdlYktpdDo6
VUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUpOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpV
SUNsaWVudDo6c2hvd1BhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVnaXN0ZXJVUkxTY2hlbWVIYW5kbGVy
KToKKyAgICAgICAgd2luZG93Lm9wZW4sIGNyZWF0ZVdlYlZpZXdXaXRoQ29uZmlndXJhdGlvbiwg
YW5kIFdLVVJMU2NoZW1lSGFuZGxlcnMgYWxsIHVzZWQgdG9nZXRoZXIKKyAgICAgICAgbWFrZSBp
dCBzbyB0aGF0IFVSTFNjaGVtZUhhbmRsZXJzIGFyZSBhZGRlZCB0byBXZWJQYWdlcyB0aGF0IGFs
cmVhZHkgaGF2ZSB0aGVtLiAgVGhlCisgICAgICAgIGFzc2VydGlvbnMgYXJlIG5vIGxvbmdlciB2
YWxpZC4KKwogMjAxNy0wOC0xNSAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVwZGF0ZSB0byBjaGFuZ2VTZWxlY3Rpb25XaXRoVG91Y2hBdDpiYXNl
SXNTdGFydDp3aXRoRmxhZ3M6CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgJKHJldmlzaW9uIDIyMDkwMSkK
KysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDcgQEAgc3RydWN0IFVJRWRnZUluc2V0czsK
IAogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBwcmludEZyYW1lOihfV0tG
cmFtZUhhbmRsZSAqKWZyYW1lOwogCistICh2b2lkKV9zaG93UGFnZTooV0tXZWJWaWV3ICopd2Vi
VmlldyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKIC0gKHZvaWQpX3dlYlZpZXdDbG9zZTooV0tXZWJWaWV3ICopd2ViVmlldzsKIC0gKHZvaWQp
X3dlYlZpZXdGdWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmU6KFdLV2ViVmlldyAqKXdlYlZpZXc7
CiAtICh2b2lkKV93ZWJWaWV3RGlkRW50ZXJGdWxsc2NyZWVuOihXS1dlYlZpZXcgKil3ZWJWaWV3
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjExKSwgaW9zKDguMykpOwpJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAkocmV2aXNpb24gMjIwOTAxKQor
KysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC03OSwxMCArNzksMTEgQEAgcHJpdmF0ZToKIAogICAgIHByaXZhdGU6CiAgICAgICAg
IC8vIEFQSTo6VUlDbGllbnQKLSAgICAgICAgUmVmUHRyPFdlYktpdDo6V2ViUGFnZVByb3h5PiBj
cmVhdGVOZXdQYWdlKFdlYktpdDo6V2ViUGFnZVByb3h5KiwgQVBJOjpGcmFtZUluZm8mLCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgY29uc3QgV2ViQ29yZTo6V2luZG93RmVhdHVyZXMmLCBX
ZWJLaXQ6Ok5hdmlnYXRpb25BY3Rpb25EYXRhJiYpIG92ZXJyaWRlOwotICAgICAgICB2b2lkIGNy
ZWF0ZU5ld1BhZ2VBc3luYyhXZWJLaXQ6OldlYlBhZ2VQcm94eSosIEFQSTo6RnJhbWVJbmZvJiwg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIGNvbnN0IFdlYkNvcmU6OldpbmRvd0ZlYXR1cmVz
JiwgV2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uRGF0YSYmLCBXVEY6OkZ1bmN0aW9uPHZvaWQoUmVm
UHRyPFdlYktpdDo6V2ViUGFnZVByb3h5PiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgZmluYWw7
CisgICAgICAgIFJlZlB0cjxXZWJQYWdlUHJveHk+IGNyZWF0ZU5ld1BhZ2UoV2ViUGFnZVByb3h5
KiwgQVBJOjpGcmFtZUluZm8mLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgY29uc3QgV2Vi
Q29yZTo6V2luZG93RmVhdHVyZXMmLCBOYXZpZ2F0aW9uQWN0aW9uRGF0YSYmKSBmaW5hbDsKKyAg
ICAgICAgdm9pZCBjcmVhdGVOZXdQYWdlQXN5bmMoV2ViUGFnZVByb3h5KiwgQVBJOjpGcmFtZUlu
Zm8mLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgY29uc3QgV2ViQ29yZTo6V2luZG93RmVh
dHVyZXMmLCBOYXZpZ2F0aW9uQWN0aW9uRGF0YSYmLCBXVEY6OkZ1bmN0aW9uPHZvaWQoUmVmUHRy
PFdlYlBhZ2VQcm94eT4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpIGZpbmFsOwogICAgICAgICBi
b29sIGNhbkNyZWF0ZU5ld1BhZ2VBc3luYygpIGZpbmFsOwotICAgICAgICBSZWZQdHI8V2ViS2l0
OjpXZWJQYWdlUHJveHk+IGNyZWF0ZU5ld1BhZ2VDb21tb24oV2ViS2l0OjpXZWJQYWdlUHJveHkq
LCBBUEk6OkZyYW1lSW5mbyYsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBjb25zdCBXZWJD
b3JlOjpXaW5kb3dGZWF0dXJlcyYsIFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGEmJiwgV1RG
OjpGdW5jdGlvbjx2b2lkKFJlZlB0cjxXZWJLaXQ6OldlYlBhZ2VQcm94eT4mJik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpOworICAgICAgICB2b2lkIHNob3dQYWdlKFdlYlBhZ2VQcm94eSopIGZpbmFs
OworICAgICAgICBSZWZQdHI8V2ViUGFnZVByb3h5PiBjcmVhdGVOZXdQYWdlQ29tbW9uKFdlYlBh
Z2VQcm94eSosIEFQSTo6RnJhbWVJbmZvJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIGNv
bnN0IFdlYkNvcmU6OldpbmRvd0ZlYXR1cmVzJiwgTmF2aWdhdGlvbkFjdGlvbkRhdGEmJiwgV1RG
OjpGdW5jdGlvbjx2b2lkKFJlZlB0cjxXZWJQYWdlUHJveHk+JiYpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKTsKIAogICAgICAgICB2b2lkIGNsb3NlKFdlYktpdDo6V2ViUGFnZVByb3h5Kikgb3ZlcnJp
ZGU7CiAgICAgICAgIHZvaWQgZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lKFdlYktpdDo6V2Vi
UGFnZVByb3h5Kikgb3ZlcnJpZGU7CkBAIC0xMzEsNiArMTMyLDcgQEAgcHJpdmF0ZToKICAgICBz
dHJ1Y3QgewogICAgICAgICBib29sIHdlYlZpZXdDcmVhdGVXZWJWaWV3V2l0aENvbmZpZ3VyYXRp
b25Gb3JOYXZpZ2F0aW9uQWN0aW9uV2luZG93RmVhdHVyZXMgOiAxOwogICAgICAgICBib29sIHdl
YlZpZXdDcmVhdGVXZWJWaWV3V2l0aENvbmZpZ3VyYXRpb25Gb3JOYXZpZ2F0aW9uQWN0aW9uV2lu
ZG93RmVhdHVyZXNBc3luYyA6IDE7CisgICAgICAgIGJvb2wgc2hvd1BhZ2UgOiAxOwogICAgICAg
ICBib29sIHdlYlZpZXdSdW5KYXZhU2NyaXB0QWxlcnRQYW5lbFdpdGhNZXNzYWdlSW5pdGlhdGVk
QnlGcmFtZUNvbXBsZXRpb25IYW5kbGVyIDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3UnVuSmF2
YVNjcmlwdENvbmZpcm1QYW5lbFdpdGhNZXNzYWdlSW5pdGlhdGVkQnlGcmFtZUNvbXBsZXRpb25I
YW5kbGVyIDogMTsKICAgICAgICAgYm9vbCB3ZWJWaWV3UnVuSmF2YVNjcmlwdFRleHRJbnB1dFBh
bmVsV2l0aFByb21wdERlZmF1bHRUZXh0SW5pdGlhdGVkQnlGcmFtZUNvbXBsZXRpb25IYW5kbGVy
IDogMTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5t
bQkocmV2aXNpb24gMjIwOTAxKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlE
ZWxlZ2F0ZS5tbQkod29ya2luZyBjb3B5KQpAQCAtOTQsNiArOTQsNyBAQCB2b2lkIFVJRGVsZWdh
dGU6OnNldERlbGVnYXRlKGlkIDxXS1VJRGVsCiAKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJW
aWV3Q3JlYXRlV2ViVmlld1dpdGhDb25maWd1cmF0aW9uRm9yTmF2aWdhdGlvbkFjdGlvbldpbmRv
d0ZlYXR1cmVzID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViVmll
dzpjcmVhdGVXZWJWaWV3V2l0aENvbmZpZ3VyYXRpb246Zm9yTmF2aWdhdGlvbkFjdGlvbjp3aW5k
b3dGZWF0dXJlczopXTsKICAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3Q3JlYXRlV2ViVmll
d1dpdGhDb25maWd1cmF0aW9uRm9yTmF2aWdhdGlvbkFjdGlvbldpbmRvd0ZlYXR1cmVzQXN5bmMg
PSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpjcmVhdGVX
ZWJWaWV3V2l0aENvbmZpZ3VyYXRpb246Zm9yTmF2aWdhdGlvbkFjdGlvbjp3aW5kb3dGZWF0dXJl
czpjb21wbGV0aW9uSGFuZGxlcjopXTsKKyAgICBtX2RlbGVnYXRlTWV0aG9kcy5zaG93UGFnZSA9
IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF9zaG93UGFnZTopXTsKICAg
ICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3UnVuSmF2YVNjcmlwdEFsZXJ0UGFuZWxXaXRoTWVz
c2FnZUluaXRpYXRlZEJ5RnJhbWVDb21wbGV0aW9uSGFuZGxlciA9IFtkZWxlZ2F0ZSByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKHdlYlZpZXc6cnVuSmF2YVNjcmlwdEFsZXJ0UGFuZWxXaXRo
TWVzc2FnZTppbml0aWF0ZWRCeUZyYW1lOmNvbXBsZXRpb25IYW5kbGVyOildOwogICAgIG1fZGVs
ZWdhdGVNZXRob2RzLndlYlZpZXdSdW5KYXZhU2NyaXB0Q29uZmlybVBhbmVsV2l0aE1lc3NhZ2VJ
bml0aWF0ZWRCeUZyYW1lQ29tcGxldGlvbkhhbmRsZXIgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1Nl
bGVjdG9yOkBzZWxlY3Rvcih3ZWJWaWV3OnJ1bkphdmFTY3JpcHRDb25maXJtUGFuZWxXaXRoTWVz
c2FnZTppbml0aWF0ZWRCeUZyYW1lOmNvbXBsZXRpb25IYW5kbGVyOildOwogICAgIG1fZGVsZWdh
dGVNZXRob2RzLndlYlZpZXdSdW5KYXZhU2NyaXB0VGV4dElucHV0UGFuZWxXaXRoUHJvbXB0RGVm
YXVsdFRleHRJbml0aWF0ZWRCeUZyYW1lQ29tcGxldGlvbkhhbmRsZXIgPSBbZGVsZWdhdGUgcmVz
cG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJWaWV3OnJ1bkphdmFTY3JpcHRUZXh0SW5wdXRQ
YW5lbFdpdGhQcm9tcHQ6ZGVmYXVsdFRleHQ6aW5pdGlhdGVkQnlGcmFtZTpjb21wbGV0aW9uSGFu
ZGxlcjopXTsKQEAgLTI1MCw2ICsyNTEsMTUgQEAgdm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6
Y3JlYXRlTmV3UGFnZQogICAgIGNyZWF0ZU5ld1BhZ2VDb21tb24ocGFnZSwgb3JpZ2luYXRpbmdG
cmFtZUluZm8sIFdURk1vdmUocmVxdWVzdCksIHdpbmRvd0ZlYXR1cmVzLCBXVEZNb3ZlKG5hdmln
YXRpb25BY3Rpb25EYXRhKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCit2b2lk
IFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpzaG93UGFnZShXZWJQYWdlUHJveHkqKQoreworICAgIGlm
ICghbV91aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2RzLnNob3dQYWdlKQorICAgICAgICByZXR1
cm47CisgICAgYXV0byBkZWxlZ2F0ZSA9IG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlLmdldCgpOwor
ICAgIEFTU0VSVChkZWxlZ2F0ZSk7CisgICAgWyhpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4pZGVs
ZWdhdGUgX3Nob3dQYWdlOm1fdWlEZWxlZ2F0ZS5tX3dlYlZpZXddOworfQorCiB2b2lkIFVJRGVs
ZWdhdGU6OlVJQ2xpZW50OjpydW5KYXZhU2NyaXB0QWxlcnQoV2ViS2l0OjpXZWJQYWdlUHJveHkq
LCBjb25zdCBXVEY6OlN0cmluZyYgbWVzc2FnZSwgV2ViS2l0OjpXZWJGcmFtZVByb3h5KiB3ZWJG
cmFtZVByb3h5LCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIHNlY3VyaXR5T3Jp
Z2luRGF0YSwgRnVuY3Rpb248dm9pZCAoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBp
ZiAoIW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3UnVuSmF2YVNjcmlwdEFs
ZXJ0UGFuZWxXaXRoTWVzc2FnZUluaXRpYXRlZEJ5RnJhbWVDb21wbGV0aW9uSGFuZGxlcikgewpJ
bmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJl
dmlzaW9uIDIyMDkwMSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTMyLDEwICs1OTMyLDcgQEAgdm9pZCBXZWJQYWdl
OjpzdG9wQWxsVVJMU2NoZW1lVGFza3MoKQogdm9pZCBXZWJQYWdlOjpyZWdpc3RlclVSTFNjaGVt
ZUhhbmRsZXIodWludDY0X3QgaGFuZGxlcklkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgc2NoZW1l
KQogewogICAgIGF1dG8gc2NoZW1lUmVzdWx0ID0gbV9zY2hlbWVUb1VSTFNjaGVtZUhhbmRsZXJQ
cm94eU1hcC5hZGQoc2NoZW1lLCBXZWJVUkxTY2hlbWVIYW5kbGVyUHJveHk6OmNyZWF0ZSgqdGhp
cywgaGFuZGxlcklkZW50aWZpZXIpKTsKLSAgICBBU1NFUlQoc2NoZW1lUmVzdWx0LmlzTmV3RW50
cnkpOwotCi0gICAgYXV0byBpZGVudGlmaWVyUmVzdWx0ID0gbV9pZGVudGlmaWVyVG9VUkxTY2hl
bWVIYW5kbGVyUHJveHlNYXAuYWRkKGhhbmRsZXJJZGVudGlmaWVyLCBzY2hlbWVSZXN1bHQuaXRl
cmF0b3ItPnZhbHVlLmdldCgpKTsKLSAgICBBU1NFUlRfVU5VU0VEKGlkZW50aWZpZXJSZXN1bHQs
IGlkZW50aWZpZXJSZXN1bHQuaXNOZXdFbnRyeSk7CisgICAgbV9pZGVudGlmaWVyVG9VUkxTY2hl
bWVIYW5kbGVyUHJveHlNYXAuYWRkKGhhbmRsZXJJZGVudGlmaWVyLCBzY2hlbWVSZXN1bHQuaXRl
cmF0b3ItPnZhbHVlLmdldCgpKTsKIH0KIAogdm9pZCBXZWJQYWdlOjp1cmxTY2hlbWVUYXNrRGlk
UGVyZm9ybVJlZGlyZWN0aW9uKHVpbnQ2NF90IGhhbmRsZXJJZGVudGlmaWVyLCB1aW50NjRfdCB0
YXNrSWRlbnRpZmllciwgUmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlLCBSZXNvdXJjZVJlcXVl
c3QmJiByZXF1ZXN0KQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L0NoYW5nZUxvZwkocmV2aXNpb24gMjIwOTkxKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTctMDgtMjEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBBZGQgVUlEZWxlZ2F0ZVByaXZhdGUg
U1BJIGNvcnJlc3BvbmRpbmcgdG8gV0tQYWdlVUlDbGllbnQuc2hvd1BhZ2UKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTc5NworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMjkyNzAwMzU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2Nv
YS9VSURlbGVnYXRlLm1tOiBBZGRlZC4KKyAgICAgICAgKC1bVUlUZXN0RGVsZWdhdGUgd2ViVmll
dzpjcmVhdGVXZWJWaWV3V2l0aENvbmZpZ3VyYXRpb246Zm9yTmF2aWdhdGlvbkFjdGlvbjp3aW5k
b3dGZWF0dXJlczpdKToKKyAgICAgICAgKC1bVUlUZXN0RGVsZWdhdGUgX3Nob3dQYWdlOl0pOgor
ICAgICAgICAoLVtVSVRlc3REZWxlZ2F0ZSB3ZWJWaWV3OnN0YXJ0VVJMU2NoZW1lVGFzazpdKToK
KyAgICAgICAgKC1bVUlUZXN0RGVsZWdhdGUgd2ViVmlldzpzdG9wVVJMU2NoZW1lVGFzazpdKToK
KyAgICAgICAgKFRFU1QpOgorCiAyMDE3LTA4LTIxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhm
aWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgVHlwbyBpbiAid2Via2l0LXBhdGNoIGxhbmQiCklu
ZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEku
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjIwOTAxKQorKysgVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtp
bmcgY29weSkKQEAgLTIzMSw2ICsyMzEsNyBAQAogCQk1QzlFNTk0MTFEM0VCNUFDMDBFM0M2MkUg
LyogQXBwbGljYXRpb25DYWNoZS5kYiBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1QzlFNTkzRTFEM0VCMURFMDBFM0M2MkUgLyogQXBwbGljYXRp
b25DYWNoZS5kYiAqLzsgfTsKIAkJNUM5RTU5NDIxRDNFQjVBQzAwRTNDNjJFIC8qIEFwcGxpY2F0
aW9uQ2FjaGUuZGItc2htIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVDOUU1OTNGMUQzRUIxREUwMEUzQzYyRSAvKiBBcHBsaWNhdGlvbkNhY2hl
LmRiLXNobSAqLzsgfTsKIAkJNUM5RTU5NDMxRDNFQjVBQzAwRTNDNjJFIC8qIEFwcGxpY2F0aW9u
Q2FjaGUuZGItd2FsIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDVDOUU1OTQwMUQzRUIxREUwMEUzQzYyRSAvKiBBcHBsaWNhdGlvbkNhY2hlLmRi
LXdhbCAqLzsgfTsKKwkJNUNCNDBCNEUxRjRCOThEMzAwN0RDN0I5IC8qIFVJRGVsZWdhdGUubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0I0MEI0RDFG
NEI5OEJFMDA3REM3QjkgLyogVUlEZWxlZ2F0ZS5tbSAqLzsgfTsKIAkJNUNFMzU0RDkxRTcwREE1
QzAwQkVGRTNCIC8qIFdLQ29udGVudEV4dGVuc2lvblN0b3JlLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNFMzU0RDgxRTcwRDlDMzAwQkVGRTNCIC8q
IFdLQ29udGVudEV4dGVuc2lvblN0b3JlLm1tICovOyB9OwogCQk1RTRCMUQyRTFENDA0QzYxMDAw
NTM2MjEgLyogV0tTY3JvbGxWaWV3RGVsZWdhdGVDcmFzaC5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVFNEIxRDJDMUQ0MDRDNjEwMDA1MzYyMSAvKiBX
S1Njcm9sbFZpZXdEZWxlZ2F0ZUNyYXNoLm1tICovOyB9OwogCQk2MzFFRkZGNjFFN0I1RThEMDBE
MkVCQjggLyogR2VvbG9jYXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA2MzFFRkZGNTFFN0I1RThEMDBEMkVCQjggLyogR2VvbG9jYXRpb24ubW0g
Ki87IH07CkBAIC0xMzAxLDYgKzEzMDIsNyBAQAogCQk1QzlFNTkzRTFEM0VCMURFMDBFM0M2MkUg
LyogQXBwbGljYXRpb25DYWNoZS5kYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IGZpbGU7IHBhdGggPSBBcHBsaWNhdGlvbkNhY2hlLmRiOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1QzlFNTkzRjFEM0VCMURFMDBFM0M2MkUgLyogQXBwbGlj
YXRpb25DYWNoZS5kYi1zaG0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBmaWxlOyBwYXRoID0gIkFwcGxpY2F0aW9uQ2FjaGUuZGItc2htIjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUM5RTU5NDAxRDNFQjFERTAwRTNDNjJFIC8qIEFwcGxp
Y2F0aW9uQ2FjaGUuZGItd2FsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9ICJBcHBsaWNhdGlvbkNhY2hlLmRiLXdhbCI7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVDQjQwQjREMUY0Qjk4QkUwMDdEQzdCOSAvKiBVSURl
bGVnYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVUlEZWxl
Z2F0ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNFMzU0RDgxRTcwRDlDMzAw
QkVGRTNCIC8qIFdLQ29udGVudEV4dGVuc2lvblN0b3JlLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gV0tDb250ZW50RXh0ZW5zaW9uU3RvcmUubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVFNEIxRDJDMUQ0MDRDNjEwMDA1MzYyMSAvKiBXS1Njcm9s
bFZpZXdEZWxlZ2F0ZUNyYXNoLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBu
YW1lID0gV0tTY3JvbGxWaWV3RGVsZWdhdGVDcmFzaC5tbTsgcGF0aCA9IC4uL2lvcy9XS1Njcm9s
bFZpZXdEZWxlZ2F0ZUNyYXNoLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MzFF
RkZGNTFFN0I1RThEMDBEMkVCQjggLyogR2VvbG9jYXRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBHZW9sb2NhdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTE5MzksNiArMTk0MSw3IEBACiAJCQkJMkQ5QTUzQUUxQjMxRkE4RDAwNzRE
NUFBIC8qIFNocmlua1RvRml0Lm1tICovLAogCQkJCTJERkY3QjZDMURBNDg3QUYwMDgxNDYxNCAv
KiBTbmFwc2hvdFN0b3JlLm1tICovLAogCQkJCTUxNUJFMTcwMUQ0MjhCRDEwMEREN0M2OCAvKiBT
dG9yZUJsb2JUaGVuRGVsZXRlLm1tICovLAorCQkJCTVDQjQwQjREMUY0Qjk4QkUwMDdEQzdCOSAv
KiBVSURlbGVnYXRlLm1tICovLAogCQkJCTdDQzNFMUZBMTk3RTIzNDEwMEJFNjI1MiAvKiBVc2Vy
Q29udGVudENvbnRyb2xsZXIubW0gKi8sCiAJCQkJN0M4ODJFMDMxQzgwQzYyNDAwNkJGNzMxIC8q
IFVzZXJDb250ZW50V29ybGQubW0gKi8sCiAJCQkJN0M4ODJFMDQxQzgwQzYyNDAwNkJGNzMxIC8q
IFVzZXJDb250ZW50V29ybGRQbHVnSW4ubW0gKi8sCkBAIC0zMzA4LDYgKzMzMTEsNyBAQAogCQkJ
CUNFMzUyNEY5MUIxNDQxQzQwMDI4QTdDNSAvKiBUZXh0RmllbGREaWRCZWdpbkFuZEVuZEVkaXRp
bmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFREQxQTQxMUE5MjAwNDQ3QzRDIC8qIFRp
bWVSYW5nZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFRDMxQTQxMUE3RTAwNDQ3QzRD
IC8qIFR5cGluZ1N0eWxlQ3Jhc2gubW0gaW4gU291cmNlcyAqLywKKwkJCQk1Q0I0MEI0RTFGNEI5
OEQzMDA3REM3QjkgLyogVUlEZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUY0Njg0OUJF
MUVFRjU4RTQwMEI5MzdGRSAvKiBVSVBhc3RlYm9hcmRUZXN0cy5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTdDQ0U3RURFMUE0MTFBOTIwMDQ0N0M0QyAvKiBVUkwuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJN0NDRTdFQjAxQTQxMUE0NDAwNDQ3QzRDIC8qIFVSTEV4dHJhcy5tbSBpbiBTb3VyY2VzICov
LApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvVUlEZWxlZ2F0
ZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2Nv
YS9VSURlbGVnYXRlLm1tCShub25leGlzdGVudCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0MkNvY29hL1VJRGVsZWdhdGUubW0JKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4
OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisjaWYgV0tfQVBJX0VOQUJM
RUQKKworI2ltcG9ydCAiVGVzdFdLV2ViVmlldy5oIgorI2ltcG9ydCAiVXRpbGl0aWVzLmgiCisj
aW1wb3J0IDxXZWJLaXQvV0tVSURlbGVnYXRlUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dL
V2ViVmlldy5oPgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorCitAY2xhc3MgVUlUZXN0RGVs
ZWdhdGU7CisKK3N0YXRpYyBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3RnJvbURlbGVnYXRl
Q2FsbGJhY2s7CitzdGF0aWMgUmV0YWluUHRyPFdLV2ViVmlldz4gY3JlYXRlZFdlYlZpZXc7Citz
dGF0aWMgUmV0YWluUHRyPFVJVGVzdERlbGVnYXRlPiBkZWxlZ2F0ZTsKK3N0YXRpYyBib29sIGRv
bmU7CisKK0BpbnRlcmZhY2UgVUlUZXN0RGVsZWdhdGUgOiBOU09iamVjdCA8V0tVSURlbGVnYXRl
UHJpdmF0ZSwgV0tVUkxTY2hlbWVIYW5kbGVyPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24gVUlU
ZXN0RGVsZWdhdGUKKworLSAobnVsbGFibGUgV0tXZWJWaWV3ICopd2ViVmlldzooV0tXZWJWaWV3
ICopd2ViVmlldyBjcmVhdGVXZWJWaWV3V2l0aENvbmZpZ3VyYXRpb246KFdLV2ViVmlld0NvbmZp
Z3VyYXRpb24gKiljb25maWd1cmF0aW9uIGZvck5hdmlnYXRpb25BY3Rpb246KFdLTmF2aWdhdGlv
bkFjdGlvbiAqKW5hdmlnYXRpb25BY3Rpb24gd2luZG93RmVhdHVyZXM6KFdLV2luZG93RmVhdHVy
ZXMgKil3aW5kb3dGZWF0dXJlcworeworICAgIGNyZWF0ZWRXZWJWaWV3ID0gYWRvcHROUyhbW1dL
V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDgwMCwgNjAwKSBj
b25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dKTsKKyAgICBbY3JlYXRlZFdlYlZpZXcgc2V0VUlE
ZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisgICAgcmV0dXJuIGNyZWF0ZWRXZWJWaWV3LmdldCgp
OworfQorCistICh2b2lkKV9zaG93UGFnZTooV0tXZWJWaWV3ICopd2ViVmlldworeworICAgIHdl
YlZpZXdGcm9tRGVsZWdhdGVDYWxsYmFjayA9IHdlYlZpZXc7CisgICAgZG9uZSA9IHRydWU7Cit9
CisKKy0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBzdGFydFVSTFNjaGVtZVRh
c2s6KGlkIDxXS1VSTFNjaGVtZVRhc2s+KXVybFNjaGVtZVRhc2sKK3sKKyAgICBOU1N0cmluZyAq
ZGF0YSA9IEAiPHNjcmlwdD53aW5kb3cub3Blbignb3RoZXIuaHRtbCcpOzwvc2NyaXB0PiI7Cisg
ICAgW3VybFNjaGVtZVRhc2sgZGlkUmVjZWl2ZVJlc3BvbnNlOltbW05TVVJMUmVzcG9uc2UgYWxs
b2NdIGluaXRXaXRoVVJMOnVybFNjaGVtZVRhc2sucmVxdWVzdC5VUkwgTUlNRVR5cGU6QCJ0ZXh0
L2h0bWwiIGV4cGVjdGVkQ29udGVudExlbmd0aDpkYXRhLmxlbmd0aCB0ZXh0RW5jb2RpbmdOYW1l
Om5pbF0gYXV0b3JlbGVhc2VdXTsKKyAgICBbdXJsU2NoZW1lVGFzayBkaWRSZWNlaXZlRGF0YTpb
ZGF0YSBkYXRhVXNpbmdFbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ11dOworICAgIFt1cmxT
Y2hlbWVUYXNrIGRpZEZpbmlzaF07Cit9CisKKy0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICop
d2ViVmlldyBzdG9wVVJMU2NoZW1lVGFzazooaWQgPFdLVVJMU2NoZW1lVGFzaz4pdXJsU2NoZW1l
VGFzaworeworfQorCitAZW5kCisKK1RFU1QoV2ViS2l0MiwgU2hvd1BhZ2UpCit7CisgICAgZGVs
ZWdhdGUgPSBhZG9wdE5TKFtbVUlUZXN0RGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBhdXRv
IGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10g
aW5pdF0pOworICAgIFtjb25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6ZGVsZWdhdGUu
Z2V0KCkgZm9yVVJMU2NoZW1lOkAidGVzdCJdOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMo
W1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCA4MDAsIDYw
MCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CisgICAgW3dlYlZpZXcgc2V0
VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05T
VVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInRlc3Q6Ly8v
Zmlyc3QiXV1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgCisg
ICAgQVNTRVJUX0VRKHdlYlZpZXdGcm9tRGVsZWdhdGVDYWxsYmFjaywgY3JlYXRlZFdlYlZpZXcp
OworfQorCisjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318802</attachid>
            <date>2017-08-22 14:45:13 -0700</date>
            <delta_ts>2017-08-22 15:05:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175797-20170822144512.patch</filename>
            <type>text/plain</type>
            <size>18506</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjEwNDgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE3LTA4LTIyICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFVJRGVsZWdh
dGVQcml2YXRlIFNQSSBjb3JyZXNwb25kaW5nIHRvIFdLUGFnZVVJQ2xpZW50LnNob3dQYWdlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU3OTcKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5MjcwMDM1PgorCisgICAgICAgIFJldmlld2VkIGJ5IEdl
b2ZmcmV5IEdhcmVuLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdh
dGVQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbToKKyAgICAgICAgKFdlYktpdDo6
VUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUpOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpV
SUNsaWVudDo6c2hvd1BhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVnaXN0ZXJVUkxTY2hlbWVIYW5kbGVy
KToKKyAgICAgICAgd2luZG93Lm9wZW4sIGNyZWF0ZVdlYlZpZXdXaXRoQ29uZmlndXJhdGlvbiwg
YW5kIFdLVVJMU2NoZW1lSGFuZGxlcnMgYWxsIHVzZWQgdG9nZXRoZXIKKyAgICAgICAgbWFrZSBp
dCBzbyB0aGF0IFVSTFNjaGVtZUhhbmRsZXJzIGFyZSBhZGRlZCB0byBXZWJQYWdlcyB0aGF0IGFs
cmVhZHkgaGF2ZSB0aGVtLiAgVGhlCisgICAgICAgIGFzc2VydGlvbnMgYXJlIG5vIGxvbmdlciB2
YWxpZC4KKwogMjAxNy0wOC0yMiAgTWF0dCBMZXdpcyAgPGpsZXdpczNAYXBwbGUuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMjEwMjYuCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRl
LmgJKHJldmlzaW9uIDIyMTA0OCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1VJRGVsZWdhdGVQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTExOSw2ICsxMTksNyBA
QCBzdHJ1Y3QgVUlFZGdlSW5zZXRzOwogI2VuZGlmCiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZp
ZXcgKil3ZWJWaWV3IGRpZENoYW5nZVNhZmVBcmVhU2hvdWxkQWZmZWN0T2JzY3VyZWRJbnNldHM6
KEJPT0wpc2FmZUFyZWFTaG91bGRBZmZlY3RPYnNjdXJlZEluc2V0cyBXS19BUElfQVZBSUxBQkxF
KGlvcyhXS19JT1NfVEJBKSk7CiAjZWxzZQorLSAodm9pZClfd2ViVmlld1Nob3c6KFdLV2ViVmll
dyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwogLSAoTlNN
ZW51ICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgY29udGV4dE1lbnU6KE5TTWVudSAq
KW1lbnUgZm9yRWxlbWVudDooX1dLQ29udGV4dE1lbnVFbGVtZW50SW5mbyAqKWVsZW1lbnQgV0tf
QVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIpKTsKIC0gKE5TTWVudSAqKV93ZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3IGNvbnRleHRNZW51OihOU01lbnUgKiltZW51IGZvckVsZW1lbnQ6KF9X
S0NvbnRleHRNZW51RWxlbWVudEluZm8gKillbGVtZW50IHVzZXJJbmZvOihpZCA8TlNTZWN1cmVD
b2Rpbmc+KXVzZXJJbmZvIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSk7CiAjZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgJKHJldmlz
aW9uIDIyMTA0OCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUu
aAkod29ya2luZyBjb3B5KQpAQCAtNzksMTAgKzc5LDEwIEBAIHByaXZhdGU6CiAKICAgICBwcml2
YXRlOgogICAgICAgICAvLyBBUEk6OlVJQ2xpZW50Ci0gICAgICAgIFJlZlB0cjxXZWJLaXQ6Oldl
YlBhZ2VQcm94eT4gY3JlYXRlTmV3UGFnZShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIEFQSTo6RnJh
bWVJbmZvJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIGNvbnN0IFdlYkNvcmU6OldpbmRv
d0ZlYXR1cmVzJiwgV2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uRGF0YSYmKSBvdmVycmlkZTsKLSAg
ICAgICAgdm9pZCBjcmVhdGVOZXdQYWdlQXN5bmMoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBBUEk6
OkZyYW1lSW5mbyYsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBjb25zdCBXZWJDb3JlOjpX
aW5kb3dGZWF0dXJlcyYsIFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGEmJiwgV1RGOjpGdW5j
dGlvbjx2b2lkKFJlZlB0cjxXZWJLaXQ6OldlYlBhZ2VQcm94eT4mJik+JiYgY29tcGxldGlvbkhh
bmRsZXIpIGZpbmFsOworICAgICAgICBSZWZQdHI8V2ViUGFnZVByb3h5PiBjcmVhdGVOZXdQYWdl
KFdlYlBhZ2VQcm94eSosIEFQSTo6RnJhbWVJbmZvJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiYsIGNvbnN0IFdlYkNvcmU6OldpbmRvd0ZlYXR1cmVzJiwgTmF2aWdhdGlvbkFjdGlvbkRhdGEm
JikgZmluYWw7CisgICAgICAgIHZvaWQgY3JlYXRlTmV3UGFnZUFzeW5jKFdlYlBhZ2VQcm94eSos
IEFQSTo6RnJhbWVJbmZvJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIGNvbnN0IFdlYkNv
cmU6OldpbmRvd0ZlYXR1cmVzJiwgTmF2aWdhdGlvbkFjdGlvbkRhdGEmJiwgV1RGOjpGdW5jdGlv
bjx2b2lkKFJlZlB0cjxXZWJQYWdlUHJveHk+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBmaW5h
bDsKICAgICAgICAgYm9vbCBjYW5DcmVhdGVOZXdQYWdlQXN5bmMoKSBmaW5hbDsKLSAgICAgICAg
UmVmUHRyPFdlYktpdDo6V2ViUGFnZVByb3h5PiBjcmVhdGVOZXdQYWdlQ29tbW9uKFdlYktpdDo6
V2ViUGFnZVByb3h5KiwgQVBJOjpGcmFtZUluZm8mLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
JiwgY29uc3QgV2ViQ29yZTo6V2luZG93RmVhdHVyZXMmLCBXZWJLaXQ6Ok5hdmlnYXRpb25BY3Rp
b25EYXRhJiYsIFdURjo6RnVuY3Rpb248dm9pZChSZWZQdHI8V2ViS2l0OjpXZWJQYWdlUHJveHk+
JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICAgICAgUmVmUHRyPFdlYlBhZ2VQcm94eT4g
Y3JlYXRlTmV3UGFnZUNvbW1vbihXZWJQYWdlUHJveHkqLCBBUEk6OkZyYW1lSW5mbyYsIFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYmLCBjb25zdCBXZWJDb3JlOjpXaW5kb3dGZWF0dXJlcyYsIE5h
dmlnYXRpb25BY3Rpb25EYXRhJiYsIFdURjo6RnVuY3Rpb248dm9pZChSZWZQdHI8V2ViUGFnZVBy
b3h5PiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcik7CiAKICAgICAgICAgdm9pZCBjbG9zZShXZWJL
aXQ6OldlYlBhZ2VQcm94eSopIG92ZXJyaWRlOwogICAgICAgICB2b2lkIGZ1bGxzY3JlZW5NYXlS
ZXR1cm5Ub0lubGluZShXZWJLaXQ6OldlYlBhZ2VQcm94eSopIG92ZXJyaWRlOwpAQCAtOTYsNiAr
OTYsNyBAQCBwcml2YXRlOgogICAgICAgICB2b2lkIGV4Y2VlZGVkRGF0YWJhc2VRdW90YShXZWJQ
YWdlUHJveHkqLCBXZWJGcmFtZVByb3h5KiwgQVBJOjpTZWN1cml0eU9yaWdpbiosIGNvbnN0IFdU
Rjo6U3RyaW5nJiBkYXRhYmFzZU5hbWUsIGNvbnN0IFdURjo6U3RyaW5nJiBkaXNwbGF5TmFtZSwg
dW5zaWduZWQgbG9uZyBsb25nIGN1cnJlbnRRdW90YSwgdW5zaWduZWQgbG9uZyBsb25nIGN1cnJl
bnRPcmlnaW5Vc2FnZSwgdW5zaWduZWQgbG9uZyBsb25nIGN1cnJlbnRVc2FnZSwgdW5zaWduZWQg
bG9uZyBsb25nIGV4cGVjdGVkVXNhZ2UsIEZ1bmN0aW9uPHZvaWQgKHVuc2lnbmVkIGxvbmcgbG9u
Zyk+JiYgY29tcGxldGlvbkhhbmRsZXIpIG92ZXJyaWRlOwogICAgICAgICB2b2lkIHJlYWNoZWRB
cHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVvdGEoV2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW4mLCB1aW50NjRfdCBjdXJyZW50UXVvdGEsIHVpbnQ2NF90IHRvdGFsQnl0
ZXNOZWVkZWQsIEZ1bmN0aW9uPHZvaWQgKHVuc2lnbmVkIGxvbmcgbG9uZyk+JiYgY29tcGxldGlv
bkhhbmRsZXIpIG92ZXJyaWRlOwogI2lmIFBMQVRGT1JNKE1BQykKKyAgICAgICAgdm9pZCBzaG93
UGFnZShXZWJQYWdlUHJveHkqKSBmaW5hbDsKICAgICAgICAgYm9vbCBydW5PcGVuUGFuZWwoV2Vi
UGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSosIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
RGF0YSYsIEFQSTo6T3BlblBhbmVsUGFyYW1ldGVycyosIFdlYk9wZW5QYW5lbFJlc3VsdExpc3Rl
bmVyUHJveHkqKSBvdmVycmlkZTsKICNlbmRpZgogICAgICAgICBib29sIGRlY2lkZVBvbGljeUZv
clVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0KFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0
OjpXZWJGcmFtZVByb3h5JiwgQVBJOjpTZWN1cml0eU9yaWdpbiYsIEFQSTo6U2VjdXJpdHlPcmln
aW4mLCBXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkmKSBvdmVycmlkZTsK
QEAgLTEzMSw2ICsxMzIsNyBAQCBwcml2YXRlOgogICAgIHN0cnVjdCB7CiAgICAgICAgIGJvb2wg
d2ViVmlld0NyZWF0ZVdlYlZpZXdXaXRoQ29uZmlndXJhdGlvbkZvck5hdmlnYXRpb25BY3Rpb25X
aW5kb3dGZWF0dXJlcyA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmlld0NyZWF0ZVdlYlZpZXdXaXRo
Q29uZmlndXJhdGlvbkZvck5hdmlnYXRpb25BY3Rpb25XaW5kb3dGZWF0dXJlc0FzeW5jIDogMTsK
KyAgICAgICAgYm9vbCB3ZWJWaWV3U2hvdyA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmlld1J1bkph
dmFTY3JpcHRBbGVydFBhbmVsV2l0aE1lc3NhZ2VJbml0aWF0ZWRCeUZyYW1lQ29tcGxldGlvbkhh
bmRsZXIgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdSdW5KYXZhU2NyaXB0Q29uZmlybVBhbmVs
V2l0aE1lc3NhZ2VJbml0aWF0ZWRCeUZyYW1lQ29tcGxldGlvbkhhbmRsZXIgOiAxOwogICAgICAg
ICBib29sIHdlYlZpZXdSdW5KYXZhU2NyaXB0VGV4dElucHV0UGFuZWxXaXRoUHJvbXB0RGVmYXVs
dFRleHRJbml0aWF0ZWRCeUZyYW1lQ29tcGxldGlvbkhhbmRsZXIgOiAxOwpJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCShyZXZpc2lvbiAyMjEwNDgp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC05NCw2ICs5NCw3IEBAIHZvaWQgVUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUoaWQg
PFdLVUlEZWwKIAogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdDcmVhdGVXZWJWaWV3V2l0
aENvbmZpZ3VyYXRpb25Gb3JOYXZpZ2F0aW9uQWN0aW9uV2luZG93RmVhdHVyZXMgPSBbZGVsZWdh
dGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJWaWV3OmNyZWF0ZVdlYlZpZXdXaXRo
Q29uZmlndXJhdGlvbjpmb3JOYXZpZ2F0aW9uQWN0aW9uOndpbmRvd0ZlYXR1cmVzOildOwogICAg
IG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdDcmVhdGVXZWJWaWV3V2l0aENvbmZpZ3VyYXRpb25G
b3JOYXZpZ2F0aW9uQWN0aW9uV2luZG93RmVhdHVyZXNBc3luYyA9IFtkZWxlZ2F0ZSByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmNyZWF0ZVdlYlZpZXdXaXRoQ29uZmlndXJh
dGlvbjpmb3JOYXZpZ2F0aW9uQWN0aW9uOndpbmRvd0ZlYXR1cmVzOmNvbXBsZXRpb25IYW5kbGVy
OildOworICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdTaG93ID0gW2RlbGVnYXRlIHJlc3Bv
bmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXdTaG93OildOwogICAgIG1fZGVsZWdhdGVN
ZXRob2RzLndlYlZpZXdSdW5KYXZhU2NyaXB0QWxlcnRQYW5lbFdpdGhNZXNzYWdlSW5pdGlhdGVk
QnlGcmFtZUNvbXBsZXRpb25IYW5kbGVyID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3Iod2ViVmlldzpydW5KYXZhU2NyaXB0QWxlcnRQYW5lbFdpdGhNZXNzYWdlOmluaXRp
YXRlZEJ5RnJhbWU6Y29tcGxldGlvbkhhbmRsZXI6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMu
d2ViVmlld1J1bkphdmFTY3JpcHRDb25maXJtUGFuZWxXaXRoTWVzc2FnZUluaXRpYXRlZEJ5RnJh
bWVDb21wbGV0aW9uSGFuZGxlciA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKHdlYlZpZXc6cnVuSmF2YVNjcmlwdENvbmZpcm1QYW5lbFdpdGhNZXNzYWdlOmluaXRpYXRl
ZEJ5RnJhbWU6Y29tcGxldGlvbkhhbmRsZXI6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2Vi
Vmlld1J1bkphdmFTY3JpcHRUZXh0SW5wdXRQYW5lbFdpdGhQcm9tcHREZWZhdWx0VGV4dEluaXRp
YXRlZEJ5RnJhbWVDb21wbGV0aW9uSGFuZGxlciA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKHdlYlZpZXc6cnVuSmF2YVNjcmlwdFRleHRJbnB1dFBhbmVsV2l0aFByb21w
dDpkZWZhdWx0VGV4dDppbml0aWF0ZWRCeUZyYW1lOmNvbXBsZXRpb25IYW5kbGVyOildOwpAQCAt
MzcxLDYgKzM3MiwxOCBAQCB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpleGNlZWRlZERhdGFi
CiB9CiAKICNpZiBQTEFURk9STShNQUMpCit2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpzaG93
UGFnZShXZWJQYWdlUHJveHkqKQoreworICAgIGlmICghbV91aURlbGVnYXRlLm1fZGVsZWdhdGVN
ZXRob2RzLndlYlZpZXdTaG93KQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIGRlbGVnYXRl
ID0gbV91aURlbGVnYXRlLm1fZGVsZWdhdGUuZ2V0KCk7CisgICAgaWYgKCFkZWxlZ2F0ZSkKKyAg
ICAgICAgcmV0dXJuOworICAgIAorICAgIFsoaWQgPFdLVUlEZWxlZ2F0ZVByaXZhdGU+KWRlbGVn
YXRlIF93ZWJWaWV3U2hvdzptX3VpRGVsZWdhdGUubV93ZWJWaWV3XTsKK30KKwogYm9vbCBVSURl
bGVnYXRlOjpVSUNsaWVudDo6cnVuT3BlblBhbmVsKFdlYlBhZ2VQcm94eSosIFdlYkZyYW1lUHJv
eHkqIHdlYkZyYW1lUHJveHksIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgc2Vj
dXJpdHlPcmlnaW5EYXRhLCBBUEk6Ok9wZW5QYW5lbFBhcmFtZXRlcnMqIG9wZW5QYW5lbFBhcmFt
ZXRlcnMsIFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkqIGxpc3RlbmVyKQogewogICAg
IGlmICghbV91aURlbGVnYXRlLm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdSdW5PcGVuUGFuZWxX
aXRoUGFyYW1ldGVyc0luaXRpYXRlZEJ5RnJhbWVDb21wbGV0aW9uSGFuZGxlcikKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAy
MjEwNDgpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTkzMiwxMCArNTkzMiw3IEBAIHZvaWQgV2ViUGFnZTo6c3RvcEFs
bFVSTFNjaGVtZVRhc2tzKCkKIHZvaWQgV2ViUGFnZTo6cmVnaXN0ZXJVUkxTY2hlbWVIYW5kbGVy
KHVpbnQ2NF90IGhhbmRsZXJJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHNjaGVtZSkKIHsKICAg
ICBhdXRvIHNjaGVtZVJlc3VsdCA9IG1fc2NoZW1lVG9VUkxTY2hlbWVIYW5kbGVyUHJveHlNYXAu
YWRkKHNjaGVtZSwgV2ViVVJMU2NoZW1lSGFuZGxlclByb3h5OjpjcmVhdGUoKnRoaXMsIGhhbmRs
ZXJJZGVudGlmaWVyKSk7Ci0gICAgQVNTRVJUKHNjaGVtZVJlc3VsdC5pc05ld0VudHJ5KTsKLQot
ICAgIGF1dG8gaWRlbnRpZmllclJlc3VsdCA9IG1faWRlbnRpZmllclRvVVJMU2NoZW1lSGFuZGxl
clByb3h5TWFwLmFkZChoYW5kbGVySWRlbnRpZmllciwgc2NoZW1lUmVzdWx0Lml0ZXJhdG9yLT52
YWx1ZS5nZXQoKSk7Ci0gICAgQVNTRVJUX1VOVVNFRChpZGVudGlmaWVyUmVzdWx0LCBpZGVudGlm
aWVyUmVzdWx0LmlzTmV3RW50cnkpOworICAgIG1faWRlbnRpZmllclRvVVJMU2NoZW1lSGFuZGxl
clByb3h5TWFwLmFkZChoYW5kbGVySWRlbnRpZmllciwgc2NoZW1lUmVzdWx0Lml0ZXJhdG9yLT52
YWx1ZS5nZXQoKSk7CiB9CiAKIHZvaWQgV2ViUGFnZTo6dXJsU2NoZW1lVGFza0RpZFBlcmZvcm1S
ZWRpcmVjdGlvbih1aW50NjRfdCBoYW5kbGVySWRlbnRpZmllciwgdWludDY0X3QgdGFza0lkZW50
aWZpZXIsIFJlc291cmNlUmVzcG9uc2UmJiByZXNwb25zZSwgUmVzb3VyY2VSZXF1ZXN0JiYgcmVx
dWVzdCkKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDIyMTA0OCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE5IEBACisyMDE3LTA4LTIyICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVu
c2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFVJRGVsZWdhdGVQcml2YXRlIFNQSSBjb3Jy
ZXNwb25kaW5nIHRvIFdLUGFnZVVJQ2xpZW50LnNob3dQYWdlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU3OTcKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzI5MjcwMDM1PgorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgorCisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvVUlEZWxl
Z2F0ZS5tbTogQWRkZWQuCisgICAgICAgICgtW1VJVGVzdERlbGVnYXRlIHdlYlZpZXc6Y3JlYXRl
V2ViVmlld1dpdGhDb25maWd1cmF0aW9uOmZvck5hdmlnYXRpb25BY3Rpb246d2luZG93RmVhdHVy
ZXM6XSk6CisgICAgICAgICgtW1VJVGVzdERlbGVnYXRlIF9zaG93UGFnZTpdKToKKyAgICAgICAg
KC1bVUlUZXN0RGVsZWdhdGUgd2ViVmlldzpzdGFydFVSTFNjaGVtZVRhc2s6XSk6CisgICAgICAg
ICgtW1VJVGVzdERlbGVnYXRlIHdlYlZpZXc6c3RvcFVSTFNjaGVtZVRhc2s6XSk6CisgICAgICAg
IChURVNUKToKKwogMjAxNy0wOC0yMiAgTWF0dCBMZXdpcyAgPGpsZXdpczNAYXBwbGUuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMjEwMjYuCkluZGV4OiBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gMjIxMDQ4KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAg
LTIzMiw2ICsyMzIsNyBAQAogCQk1QzlFNTk0MTFEM0VCNUFDMDBFM0M2MkUgLyogQXBwbGljYXRp
b25DYWNoZS5kYiBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1QzlFNTkzRTFEM0VCMURFMDBFM0M2MkUgLyogQXBwbGljYXRpb25DYWNoZS5kYiAq
LzsgfTsKIAkJNUM5RTU5NDIxRDNFQjVBQzAwRTNDNjJFIC8qIEFwcGxpY2F0aW9uQ2FjaGUuZGIt
c2htIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDVDOUU1OTNGMUQzRUIxREUwMEUzQzYyRSAvKiBBcHBsaWNhdGlvbkNhY2hlLmRiLXNobSAqLzsg
fTsKIAkJNUM5RTU5NDMxRDNFQjVBQzAwRTNDNjJFIC8qIEFwcGxpY2F0aW9uQ2FjaGUuZGItd2Fs
IGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVD
OUU1OTQwMUQzRUIxREUwMEUzQzYyRSAvKiBBcHBsaWNhdGlvbkNhY2hlLmRiLXdhbCAqLzsgfTsK
KwkJNUNCNDBCNEUxRjRCOThEMzAwN0RDN0I5IC8qIFVJRGVsZWdhdGUubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0I0MEI0RDFGNEI5OEJFMDA3REM3
QjkgLyogVUlEZWxlZ2F0ZS5tbSAqLzsgfTsKIAkJNUNFMzU0RDkxRTcwREE1QzAwQkVGRTNCIC8q
IFdLQ29udGVudEV4dGVuc2lvblN0b3JlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNUNFMzU0RDgxRTcwRDlDMzAwQkVGRTNCIC8qIFdLQ29udGVudEV4
dGVuc2lvblN0b3JlLm1tICovOyB9OwogCQk1RTRCMUQyRTFENDA0QzYxMDAwNTM2MjEgLyogV0tT
Y3JvbGxWaWV3RGVsZWdhdGVDcmFzaC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDVFNEIxRDJDMUQ0MDRDNjEwMDA1MzYyMSAvKiBXS1Njcm9sbFZpZXdE
ZWxlZ2F0ZUNyYXNoLm1tICovOyB9OwogCQk2MzFFRkZGNjFFN0I1RThEMDBEMkVCQjggLyogR2Vv
bG9jYXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2MzFFRkZGNTFFN0I1RThEMDBEMkVCQjggLyogR2VvbG9jYXRpb24ubW0gKi87IH07CkBAIC0x
MzAzLDYgKzEzMDQsNyBAQAogCQk1QzlFNTkzRTFEM0VCMURFMDBFM0M2MkUgLyogQXBwbGljYXRp
b25DYWNoZS5kYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IGZpbGU7IHBhdGggPSBBcHBsaWNhdGlvbkNhY2hlLmRiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1QzlFNTkzRjFEM0VCMURFMDBFM0M2MkUgLyogQXBwbGljYXRpb25DYWNoZS5k
Yi1zaG0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBm
aWxlOyBwYXRoID0gIkFwcGxpY2F0aW9uQ2FjaGUuZGItc2htIjsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNUM5RTU5NDAxRDNFQjFERTAwRTNDNjJFIC8qIEFwcGxpY2F0aW9uQ2FjaGUu
ZGItd2FsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
ZmlsZTsgcGF0aCA9ICJBcHBsaWNhdGlvbkNhY2hlLmRiLXdhbCI7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTVDQjQwQjREMUY0Qjk4QkUwMDdEQzdCOSAvKiBVSURlbGVnYXRlLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVUlEZWxlZ2F0ZS5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNFMzU0RDgxRTcwRDlDMzAwQkVGRTNCIC8qIFdL
Q29udGVudEV4dGVuc2lvblN0b3JlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gV0tDb250ZW50RXh0ZW5zaW9uU3RvcmUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTVFNEIxRDJDMUQ0MDRDNjEwMDA1MzYyMSAvKiBXS1Njcm9sbFZpZXdEZWxlZ2F0
ZUNyYXNoLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tTY3Jv
bGxWaWV3RGVsZWdhdGVDcmFzaC5tbTsgcGF0aCA9IC4uL2lvcy9XS1Njcm9sbFZpZXdEZWxlZ2F0
ZUNyYXNoLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MzFFRkZGNTFFN0I1RThE
MDBEMkVCQjggLyogR2VvbG9jYXRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBHZW9sb2NhdGlvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE5NDEsNiArMTk0Myw3IEBACiAJCQkJMkQ5QTUzQUUxQjMxRkE4RDAwNzRENUFBIC8qIFNocmlu
a1RvRml0Lm1tICovLAogCQkJCTJERkY3QjZDMURBNDg3QUYwMDgxNDYxNCAvKiBTbmFwc2hvdFN0
b3JlLm1tICovLAogCQkJCTUxNUJFMTcwMUQ0MjhCRDEwMEREN0M2OCAvKiBTdG9yZUJsb2JUaGVu
RGVsZXRlLm1tICovLAorCQkJCTVDQjQwQjREMUY0Qjk4QkUwMDdEQzdCOSAvKiBVSURlbGVnYXRl
Lm1tICovLAogCQkJCTdDQzNFMUZBMTk3RTIzNDEwMEJFNjI1MiAvKiBVc2VyQ29udGVudENvbnRy
b2xsZXIubW0gKi8sCiAJCQkJN0M4ODJFMDMxQzgwQzYyNDAwNkJGNzMxIC8qIFVzZXJDb250ZW50
V29ybGQubW0gKi8sCiAJCQkJN0M4ODJFMDQxQzgwQzYyNDAwNkJGNzMxIC8qIFVzZXJDb250ZW50
V29ybGRQbHVnSW4ubW0gKi8sCkBAIC0zMjEzLDYgKzMyMTYsNyBAQAogCQkJCTUxRTZBODk0MUQy
RjFDMEEwMEMwMDRCNiAvKiBMb2NhbFN0b3JhZ2VDbGVhci5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTQ2QzUxOURBMUQzNTVBQjIwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5tbSBp
biBTb3VyY2VzICovLAogCQkJCTdBNkEyQzcwMURDQ0ZBOEMwMEMwRDA4NSAvKiBMb2NhbFN0b3Jh
Z2VRdWlya1Rlc3QubW0gaW4gU291cmNlcyAqLywKKwkJCQkwNzZFNTA3RjFGNDUxM0Q2MDA2RTlG
NUEgLyogTG9nZ2luZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDREEzMTU5ODFFRDUzNjUxMDA5
RjYwRDMgLyogTWVkaWFQbGF5YmFja1NsZWVwQXNzZXJ0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQ0RDOTQ0MkUxRUYxRkMwODAwNTlDM0M0IC8qIE1lZGlhU3RyZWFtVHJhY2tEZXRhY2hlZC5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUIyMUE0MTFBNTEwMDQ0N0M0QyAvKiBNZW1vcnlD
YWNoZUFkZEltYWdlVG9DYWNoZUlPUy5tbSBpbiBTb3VyY2VzICovLApAQCAtMzI1Nyw3ICszMjYx
LDYgQEAKIAkJCQlBMUVDMTE4ODFGNDI1NDEyMDBEMDE0NkUgLyogUHJldmlld0xvYWRlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0YwQzFBNDExQUU2MDA0NDdDNEMgLyogUHJpdmF0ZUJy
b3dzaW5nUHVzaFN0YXRlTm9IaXN0b3J5Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NDY0N0IxMjYxRUJBM0I4NTAwNDFEN0VGIC8qIFByb2Nlc3NEaWRUZXJtaW5hdGUuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJMDc2RTUwN0YxRjQ1MTNENjAwNkU5RjVBIC8qIExvZ2dpbmcuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJN0M4M0UwQzExRDBBNjUyRjAwRkVCQ0YzIC8qIFByb3Zpc2lvbmFs
VVJMTm90Q2hhbmdlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQzgxQTQxMUE3RTAwNDQ3
QzRDIC8qIFB1YmxpY1N1ZmZpeC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDODNFMEMyMUQwQTY1
MzUwMEZFQkNGMyAvKiBRdWlja0xvb2subW0gaW4gU291cmNlcyAqLywKQEAgLTMzMTIsNiArMzMx
NSw3IEBACiAJCQkJQ0UzNTI0RjkxQjE0NDFDNDAwMjhBN0M1IC8qIFRleHRGaWVsZERpZEJlZ2lu
QW5kRW5kRWRpdGluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VERDFBNDExQTkyMDA0
NDdDNEMgLyogVGltZVJhbmdlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VEMzFBNDEx
QTdFMDA0NDdDNEMgLyogVHlwaW5nU3R5bGVDcmFzaC5tbSBpbiBTb3VyY2VzICovLAorCQkJCTVD
QjQwQjRFMUY0Qjk4RDMwMDdEQzdCOSAvKiBVSURlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRjQ2ODQ5QkUxRUVGNThFNDAwQjkzN0ZFIC8qIFVJUGFzdGVib2FyZFRlc3RzLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJN0NDRTdFREUxQTQxMUE5MjAwNDQ3QzRDIC8qIFVSTC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk3Q0NFN0VCMDFBNDExQTQ0MDA0NDdDNEMgLyogVVJMRXh0cmFzLm1tIGlu
IFNvdXJjZXMgKi8sCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2Nv
YS9VSURlbGVnYXRlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0MkNvY29hL1VJRGVsZWdhdGUubW0JKG5vbmV4aXN0ZW50KQorKysgVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvVUlEZWxlZ2F0ZS5tbQkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDkyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpZiBX
S19BUElfRU5BQkxFRAorCisjaWYgUExBVEZPUk0oTUFDKQorCisjaW1wb3J0ICJUZXN0V0tXZWJW
aWV3LmgiCisjaW1wb3J0ICJVdGlsaXRpZXMuaCIKKyNpbXBvcnQgPFdlYktpdC9XS1VJRGVsZWdh
dGVQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Lmg+CisjaW1wb3J0IDx3dGYv
UmV0YWluUHRyLmg+CisKK0BjbGFzcyBVSVRlc3REZWxlZ2F0ZTsKKworc3RhdGljIFJldGFpblB0
cjxXS1dlYlZpZXc+IHdlYlZpZXdGcm9tRGVsZWdhdGVDYWxsYmFjazsKK3N0YXRpYyBSZXRhaW5Q
dHI8V0tXZWJWaWV3PiBjcmVhdGVkV2ViVmlldzsKK3N0YXRpYyBSZXRhaW5QdHI8VUlUZXN0RGVs
ZWdhdGU+IGRlbGVnYXRlOworc3RhdGljIGJvb2wgZG9uZTsKKworQGludGVyZmFjZSBVSVRlc3RE
ZWxlZ2F0ZSA6IE5TT2JqZWN0IDxXS1VJRGVsZWdhdGVQcml2YXRlLCBXS1VSTFNjaGVtZUhhbmRs
ZXI+CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBVSVRlc3REZWxlZ2F0ZQorCistIChudWxsYWJs
ZSBXS1dlYlZpZXcgKil3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGNyZWF0ZVdlYlZpZXdX
aXRoQ29uZmlndXJhdGlvbjooV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24g
Zm9yTmF2aWdhdGlvbkFjdGlvbjooV0tOYXZpZ2F0aW9uQWN0aW9uICopbmF2aWdhdGlvbkFjdGlv
biB3aW5kb3dGZWF0dXJlczooV0tXaW5kb3dGZWF0dXJlcyAqKXdpbmRvd0ZlYXR1cmVzCit7Cisg
ICAgY3JlYXRlZFdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZy
YW1lOkNHUmVjdE1ha2UoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlv
bl0pOworICAgIFtjcmVhdGVkV2ViVmlldyBzZXRVSURlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsK
KyAgICByZXR1cm4gY3JlYXRlZFdlYlZpZXcuZ2V0KCk7Cit9CisKKy0gKHZvaWQpX3dlYlZpZXdT
aG93OihXS1dlYlZpZXcgKil3ZWJWaWV3Cit7CisgICAgd2ViVmlld0Zyb21EZWxlZ2F0ZUNhbGxi
YWNrID0gd2ViVmlldzsKKyAgICBkb25lID0gdHJ1ZTsKK30KKworLSAodm9pZCl3ZWJWaWV3OihX
S1dlYlZpZXcgKil3ZWJWaWV3IHN0YXJ0VVJMU2NoZW1lVGFzazooaWQgPFdLVVJMU2NoZW1lVGFz
az4pdXJsU2NoZW1lVGFzaworeworICAgIE5TU3RyaW5nICpkYXRhID0gQCI8c2NyaXB0PndpbmRv
dy5vcGVuKCdvdGhlci5odG1sJyk7PC9zY3JpcHQ+IjsKKyAgICBbdXJsU2NoZW1lVGFzayBkaWRS
ZWNlaXZlUmVzcG9uc2U6W1tbTlNVUkxSZXNwb25zZSBhbGxvY10gaW5pdFdpdGhVUkw6dXJsU2No
ZW1lVGFzay5yZXF1ZXN0LlVSTCBNSU1FVHlwZTpAInRleHQvaHRtbCIgZXhwZWN0ZWRDb250ZW50
TGVuZ3RoOmRhdGEubGVuZ3RoIHRleHRFbmNvZGluZ05hbWU6bmlsXSBhdXRvcmVsZWFzZV1dOwor
ICAgIFt1cmxTY2hlbWVUYXNrIGRpZFJlY2VpdmVEYXRhOltkYXRhIGRhdGFVc2luZ0VuY29kaW5n
Ok5TVVRGOFN0cmluZ0VuY29kaW5nXV07CisgICAgW3VybFNjaGVtZVRhc2sgZGlkRmluaXNoXTsK
K30KKworLSAodm9pZCl3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHN0b3BVUkxTY2hlbWVU
YXNrOihpZCA8V0tVUkxTY2hlbWVUYXNrPil1cmxTY2hlbWVUYXNrCit7Cit9CisKK0BlbmQKKwor
VEVTVChXZWJLaXQyLCBTaG93UGFnZSkKK3sKKyAgICBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tVSVRl
c3REZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0
TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisgICAgW2NvbmZpZ3Vy
YXRpb24gc2V0VVJMU2NoZW1lSGFuZGxlcjpkZWxlZ2F0ZS5nZXQoKSBmb3JVUkxTY2hlbWU6QCJ0
ZXN0Il07CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5p
dFdpdGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZp
Z3VyYXRpb24uZ2V0KCldKTsKKyAgICBbd2ViVmlldyBzZXRVSURlbGVnYXRlOmRlbGVnYXRlLmdl
dCgpXTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRo
VVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAidGVzdDovLy9maXJzdCJdXV07CisgICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICAKKyAgICBBU1NFUlRfRVEod2ViVmlld0Zy
b21EZWxlZ2F0ZUNhbGxiYWNrLCBjcmVhdGVkV2ViVmlldyk7Cit9CisKKyNlbmRpZiAvLyBQTEFU
Rk9STShNQUMpCisKKyNlbmRpZiAvLyBXS19BUElfRU5BQkxFRAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>318804</attachid>
            <date>2017-08-22 15:05:33 -0700</date>
            <delta_ts>2017-08-22 15:06:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175797-20170822150532.patch</filename>
            <type>text/plain</type>
            <size>17826</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjEwNDgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDE3LTA4LTIyICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQWRkIFVJRGVsZWdh
dGVQcml2YXRlIFNQSSBjb3JyZXNwb25kaW5nIHRvIFdLUGFnZVVJQ2xpZW50LnNob3dQYWdlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU3OTcKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5MjcwMDM1PgorCisgICAgICAgIFJldmlld2VkIGJ5IEdl
b2ZmcmV5IEdhcmVuLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdh
dGVQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbToKKyAgICAgICAgKFdlYktpdDo6
VUlEZWxlZ2F0ZTo6c2V0RGVsZWdhdGUpOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpV
SUNsaWVudDo6c2hvd1BhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cmVnaXN0ZXJVUkxTY2hlbWVIYW5kbGVy
KToKKyAgICAgICAgd2luZG93Lm9wZW4sIGNyZWF0ZVdlYlZpZXdXaXRoQ29uZmlndXJhdGlvbiwg
YW5kIFdLVVJMU2NoZW1lSGFuZGxlcnMgYWxsIHVzZWQgdG9nZXRoZXIKKyAgICAgICAgbWFrZSBp
dCBzbyB0aGF0IFVSTFNjaGVtZUhhbmRsZXJzIGFyZSBhZGRlZCB0byBXZWJQYWdlcyB0aGF0IGFs
cmVhZHkgaGF2ZSB0aGVtLiAgVGhlCisgICAgICAgIGFzc2VydGlvbnMgYXJlIG5vIGxvbmdlciB2
YWxpZC4KKwogMjAxNy0wOC0yMiAgTWF0dCBMZXdpcyAgPGpsZXdpczNAYXBwbGUuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMjEwMjYuCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRl
LmgJKHJldmlzaW9uIDIyMTA0OCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1VJRGVsZWdhdGVQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTExOSw2ICsxMTksNyBA
QCBzdHJ1Y3QgVUlFZGdlSW5zZXRzOwogI2VuZGlmCiAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZp
ZXcgKil3ZWJWaWV3IGRpZENoYW5nZVNhZmVBcmVhU2hvdWxkQWZmZWN0T2JzY3VyZWRJbnNldHM6
KEJPT0wpc2FmZUFyZWFTaG91bGRBZmZlY3RPYnNjdXJlZEluc2V0cyBXS19BUElfQVZBSUxBQkxF
KGlvcyhXS19JT1NfVEJBKSk7CiAjZWxzZQorLSAodm9pZClfd2ViVmlld1Nob3c6KFdLV2ViVmll
dyAqKXdlYlZpZXcgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwogLSAoTlNN
ZW51ICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgY29udGV4dE1lbnU6KE5TTWVudSAq
KW1lbnUgZm9yRWxlbWVudDooX1dLQ29udGV4dE1lbnVFbGVtZW50SW5mbyAqKWVsZW1lbnQgV0tf
QVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTIpKTsKIC0gKE5TTWVudSAqKV93ZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3IGNvbnRleHRNZW51OihOU01lbnUgKiltZW51IGZvckVsZW1lbnQ6KF9X
S0NvbnRleHRNZW51RWxlbWVudEluZm8gKillbGVtZW50IHVzZXJJbmZvOihpZCA8TlNTZWN1cmVD
b2Rpbmc+KXVzZXJJbmZvIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSk7CiAjZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgJKHJldmlz
aW9uIDIyMTA0OCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUu
aAkod29ya2luZyBjb3B5KQpAQCAtNzksMTAgKzc5LDEwIEBAIHByaXZhdGU6CiAKICAgICBwcml2
YXRlOgogICAgICAgICAvLyBBUEk6OlVJQ2xpZW50Ci0gICAgICAgIFJlZlB0cjxXZWJLaXQ6Oldl
YlBhZ2VQcm94eT4gY3JlYXRlTmV3UGFnZShXZWJLaXQ6OldlYlBhZ2VQcm94eSosIEFQSTo6RnJh
bWVJbmZvJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIGNvbnN0IFdlYkNvcmU6OldpbmRv
d0ZlYXR1cmVzJiwgV2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uRGF0YSYmKSBvdmVycmlkZTsKLSAg
ICAgICAgdm9pZCBjcmVhdGVOZXdQYWdlQXN5bmMoV2ViS2l0OjpXZWJQYWdlUHJveHkqLCBBUEk6
OkZyYW1lSW5mbyYsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBjb25zdCBXZWJDb3JlOjpX
aW5kb3dGZWF0dXJlcyYsIFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGEmJiwgV1RGOjpGdW5j
dGlvbjx2b2lkKFJlZlB0cjxXZWJLaXQ6OldlYlBhZ2VQcm94eT4mJik+JiYgY29tcGxldGlvbkhh
bmRsZXIpIGZpbmFsOworICAgICAgICBSZWZQdHI8V2ViUGFnZVByb3h5PiBjcmVhdGVOZXdQYWdl
KFdlYlBhZ2VQcm94eSosIEFQSTo6RnJhbWVJbmZvJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiYsIGNvbnN0IFdlYkNvcmU6OldpbmRvd0ZlYXR1cmVzJiwgTmF2aWdhdGlvbkFjdGlvbkRhdGEm
JikgZmluYWw7CisgICAgICAgIHZvaWQgY3JlYXRlTmV3UGFnZUFzeW5jKFdlYlBhZ2VQcm94eSos
IEFQSTo6RnJhbWVJbmZvJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIGNvbnN0IFdlYkNv
cmU6OldpbmRvd0ZlYXR1cmVzJiwgTmF2aWdhdGlvbkFjdGlvbkRhdGEmJiwgV1RGOjpGdW5jdGlv
bjx2b2lkKFJlZlB0cjxXZWJQYWdlUHJveHk+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSBmaW5h
bDsKICAgICAgICAgYm9vbCBjYW5DcmVhdGVOZXdQYWdlQXN5bmMoKSBmaW5hbDsKLSAgICAgICAg
UmVmUHRyPFdlYktpdDo6V2ViUGFnZVByb3h5PiBjcmVhdGVOZXdQYWdlQ29tbW9uKFdlYktpdDo6
V2ViUGFnZVByb3h5KiwgQVBJOjpGcmFtZUluZm8mLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
JiwgY29uc3QgV2ViQ29yZTo6V2luZG93RmVhdHVyZXMmLCBXZWJLaXQ6Ok5hdmlnYXRpb25BY3Rp
b25EYXRhJiYsIFdURjo6RnVuY3Rpb248dm9pZChSZWZQdHI8V2ViS2l0OjpXZWJQYWdlUHJveHk+
JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKTsKKyAgICAgICAgUmVmUHRyPFdlYlBhZ2VQcm94eT4g
Y3JlYXRlTmV3UGFnZUNvbW1vbihXZWJQYWdlUHJveHkqLCBBUEk6OkZyYW1lSW5mbyYsIFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYmLCBjb25zdCBXZWJDb3JlOjpXaW5kb3dGZWF0dXJlcyYsIE5h
dmlnYXRpb25BY3Rpb25EYXRhJiYsIFdURjo6RnVuY3Rpb248dm9pZChSZWZQdHI8V2ViUGFnZVBy
b3h5PiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcik7CiAKICAgICAgICAgdm9pZCBjbG9zZShXZWJL
aXQ6OldlYlBhZ2VQcm94eSopIG92ZXJyaWRlOwogICAgICAgICB2b2lkIGZ1bGxzY3JlZW5NYXlS
ZXR1cm5Ub0lubGluZShXZWJLaXQ6OldlYlBhZ2VQcm94eSopIG92ZXJyaWRlOwpAQCAtOTYsNiAr
OTYsNyBAQCBwcml2YXRlOgogICAgICAgICB2b2lkIGV4Y2VlZGVkRGF0YWJhc2VRdW90YShXZWJQ
YWdlUHJveHkqLCBXZWJGcmFtZVByb3h5KiwgQVBJOjpTZWN1cml0eU9yaWdpbiosIGNvbnN0IFdU
Rjo6U3RyaW5nJiBkYXRhYmFzZU5hbWUsIGNvbnN0IFdURjo6U3RyaW5nJiBkaXNwbGF5TmFtZSwg
dW5zaWduZWQgbG9uZyBsb25nIGN1cnJlbnRRdW90YSwgdW5zaWduZWQgbG9uZyBsb25nIGN1cnJl
bnRPcmlnaW5Vc2FnZSwgdW5zaWduZWQgbG9uZyBsb25nIGN1cnJlbnRVc2FnZSwgdW5zaWduZWQg
bG9uZyBsb25nIGV4cGVjdGVkVXNhZ2UsIEZ1bmN0aW9uPHZvaWQgKHVuc2lnbmVkIGxvbmcgbG9u
Zyk+JiYgY29tcGxldGlvbkhhbmRsZXIpIG92ZXJyaWRlOwogICAgICAgICB2b2lkIHJlYWNoZWRB
cHBsaWNhdGlvbkNhY2hlT3JpZ2luUXVvdGEoV2ViUGFnZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW4mLCB1aW50NjRfdCBjdXJyZW50UXVvdGEsIHVpbnQ2NF90IHRvdGFsQnl0
ZXNOZWVkZWQsIEZ1bmN0aW9uPHZvaWQgKHVuc2lnbmVkIGxvbmcgbG9uZyk+JiYgY29tcGxldGlv
bkhhbmRsZXIpIG92ZXJyaWRlOwogI2lmIFBMQVRGT1JNKE1BQykKKyAgICAgICAgdm9pZCBzaG93
UGFnZShXZWJQYWdlUHJveHkqKSBmaW5hbDsKICAgICAgICAgYm9vbCBydW5PcGVuUGFuZWwoV2Vi
UGFnZVByb3h5KiwgV2ViRnJhbWVQcm94eSosIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
RGF0YSYsIEFQSTo6T3BlblBhbmVsUGFyYW1ldGVycyosIFdlYk9wZW5QYW5lbFJlc3VsdExpc3Rl
bmVyUHJveHkqKSBvdmVycmlkZTsKICNlbmRpZgogICAgICAgICBib29sIGRlY2lkZVBvbGljeUZv
clVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0KFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0
OjpXZWJGcmFtZVByb3h5JiwgQVBJOjpTZWN1cml0eU9yaWdpbiYsIEFQSTo6U2VjdXJpdHlPcmln
aW4mLCBXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkmKSBvdmVycmlkZTsK
QEAgLTEzMSw2ICsxMzIsNyBAQCBwcml2YXRlOgogICAgIHN0cnVjdCB7CiAgICAgICAgIGJvb2wg
d2ViVmlld0NyZWF0ZVdlYlZpZXdXaXRoQ29uZmlndXJhdGlvbkZvck5hdmlnYXRpb25BY3Rpb25X
aW5kb3dGZWF0dXJlcyA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmlld0NyZWF0ZVdlYlZpZXdXaXRo
Q29uZmlndXJhdGlvbkZvck5hdmlnYXRpb25BY3Rpb25XaW5kb3dGZWF0dXJlc0FzeW5jIDogMTsK
KyAgICAgICAgYm9vbCB3ZWJWaWV3U2hvdyA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmlld1J1bkph
dmFTY3JpcHRBbGVydFBhbmVsV2l0aE1lc3NhZ2VJbml0aWF0ZWRCeUZyYW1lQ29tcGxldGlvbkhh
bmRsZXIgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdSdW5KYXZhU2NyaXB0Q29uZmlybVBhbmVs
V2l0aE1lc3NhZ2VJbml0aWF0ZWRCeUZyYW1lQ29tcGxldGlvbkhhbmRsZXIgOiAxOwogICAgICAg
ICBib29sIHdlYlZpZXdSdW5KYXZhU2NyaXB0VGV4dElucHV0UGFuZWxXaXRoUHJvbXB0RGVmYXVs
dFRleHRJbml0aWF0ZWRCeUZyYW1lQ29tcGxldGlvbkhhbmRsZXIgOiAxOwpJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCShyZXZpc2lvbiAyMjEwNDgp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDAsNiArMTAwLDcgQEAgdm9pZCBVSURlbGVnYXRlOjpzZXREZWxlZ2F0ZShp
ZCA8V0tVSURlbAogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdSdW5CZWZvcmVVbmxvYWRD
b25maXJtUGFuZWxXaXRoTWVzc2FnZUluaXRpYXRlZEJ5RnJhbWVDb21wbGV0aW9uSGFuZGxlciA9
IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnJ1bkJlZm9y
ZVVubG9hZENvbmZpcm1QYW5lbFdpdGhNZXNzYWdlOmluaXRpYXRlZEJ5RnJhbWU6Y29tcGxldGlv
bkhhbmRsZXI6KV07CiAKICNpZiBQTEFURk9STShNQUMpCisgICAgbV9kZWxlZ2F0ZU1ldGhvZHMu
d2ViVmlld1Nob3cgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2Vi
Vmlld1Nob3c6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld1J1bk9wZW5QYW5lbFdp
dGhQYXJhbWV0ZXJzSW5pdGlhdGVkQnlGcmFtZUNvbXBsZXRpb25IYW5kbGVyID0gW2RlbGVnYXRl
IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Iod2ViVmlldzpydW5PcGVuUGFuZWxXaXRoUGFy
YW1ldGVyczppbml0aWF0ZWRCeUZyYW1lOmNvbXBsZXRpb25IYW5kbGVyOildOwogI2VuZGlmCiAK
QEAgLTM3MSw2ICszNzIsMTggQEAgdm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6ZXhjZWVkZWRE
YXRhYgogfQogCiAjaWYgUExBVEZPUk0oTUFDKQordm9pZCBVSURlbGVnYXRlOjpVSUNsaWVudDo6
c2hvd1BhZ2UoV2ViUGFnZVByb3h5KikKK3sKKyAgICBpZiAoIW1fdWlEZWxlZ2F0ZS5tX2RlbGVn
YXRlTWV0aG9kcy53ZWJWaWV3U2hvdykKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBkZWxl
Z2F0ZSA9IG1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlLmdldCgpOworICAgIGlmICghZGVsZWdhdGUp
CisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBbKGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPilk
ZWxlZ2F0ZSBfd2ViVmlld1Nob3c6bV91aURlbGVnYXRlLm1fd2ViVmlld107Cit9CisKIGJvb2wg
VUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OnJ1bk9wZW5QYW5lbChXZWJQYWdlUHJveHkqLCBXZWJGcmFt
ZVByb3h5KiB3ZWJGcmFtZVByb3h5LCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEm
IHNlY3VyaXR5T3JpZ2luRGF0YSwgQVBJOjpPcGVuUGFuZWxQYXJhbWV0ZXJzKiBvcGVuUGFuZWxQ
YXJhbWV0ZXJzLCBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5KiBsaXN0ZW5lcikKIHsK
ICAgICBpZiAoIW1fdWlEZWxlZ2F0ZS5tX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3UnVuT3BlblBh
bmVsV2l0aFBhcmFtZXRlcnNJbml0aWF0ZWRCeUZyYW1lQ29tcGxldGlvbkhhbmRsZXIpCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkocmV2aXNp
b24gMjIxMDQ4KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTU5MzIsMTAgKzU5MzIsNyBAQCB2b2lkIFdlYlBhZ2U6OnN0
b3BBbGxVUkxTY2hlbWVUYXNrcygpCiB2b2lkIFdlYlBhZ2U6OnJlZ2lzdGVyVVJMU2NoZW1lSGFu
ZGxlcih1aW50NjRfdCBoYW5kbGVySWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBzY2hlbWUpCiB7
CiAgICAgYXV0byBzY2hlbWVSZXN1bHQgPSBtX3NjaGVtZVRvVVJMU2NoZW1lSGFuZGxlclByb3h5
TWFwLmFkZChzY2hlbWUsIFdlYlVSTFNjaGVtZUhhbmRsZXJQcm94eTo6Y3JlYXRlKCp0aGlzLCBo
YW5kbGVySWRlbnRpZmllcikpOwotICAgIEFTU0VSVChzY2hlbWVSZXN1bHQuaXNOZXdFbnRyeSk7
Ci0KLSAgICBhdXRvIGlkZW50aWZpZXJSZXN1bHQgPSBtX2lkZW50aWZpZXJUb1VSTFNjaGVtZUhh
bmRsZXJQcm94eU1hcC5hZGQoaGFuZGxlcklkZW50aWZpZXIsIHNjaGVtZVJlc3VsdC5pdGVyYXRv
ci0+dmFsdWUuZ2V0KCkpOwotICAgIEFTU0VSVF9VTlVTRUQoaWRlbnRpZmllclJlc3VsdCwgaWRl
bnRpZmllclJlc3VsdC5pc05ld0VudHJ5KTsKKyAgICBtX2lkZW50aWZpZXJUb1VSTFNjaGVtZUhh
bmRsZXJQcm94eU1hcC5hZGQoaGFuZGxlcklkZW50aWZpZXIsIHNjaGVtZVJlc3VsdC5pdGVyYXRv
ci0+dmFsdWUuZ2V0KCkpOwogfQogCiB2b2lkIFdlYlBhZ2U6OnVybFNjaGVtZVRhc2tEaWRQZXJm
b3JtUmVkaXJlY3Rpb24odWludDY0X3QgaGFuZGxlcklkZW50aWZpZXIsIHVpbnQ2NF90IHRhc2tJ
ZGVudGlmaWVyLCBSZXNvdXJjZVJlc3BvbnNlJiYgcmVzcG9uc2UsIFJlc291cmNlUmVxdWVzdCYm
IHJlcXVlc3QpCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMjEwNDgpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxOSBAQAorMjAxNy0wOC0yMiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCBVSURlbGVnYXRlUHJpdmF0ZSBTUEkg
Y29ycmVzcG9uZGluZyB0byBXS1BhZ2VVSUNsaWVudC5zaG93UGFnZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1Nzk3CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8yOTI3MDAzNT4KKworICAgICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBHYXJlbi4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1VJ
RGVsZWdhdGUubW06IEFkZGVkLgorICAgICAgICAoLVtVSVRlc3REZWxlZ2F0ZSB3ZWJWaWV3OmNy
ZWF0ZVdlYlZpZXdXaXRoQ29uZmlndXJhdGlvbjpmb3JOYXZpZ2F0aW9uQWN0aW9uOndpbmRvd0Zl
YXR1cmVzOl0pOgorICAgICAgICAoLVtVSVRlc3REZWxlZ2F0ZSBfc2hvd1BhZ2U6XSk6CisgICAg
ICAgICgtW1VJVGVzdERlbGVnYXRlIHdlYlZpZXc6c3RhcnRVUkxTY2hlbWVUYXNrOl0pOgorICAg
ICAgICAoLVtVSVRlc3REZWxlZ2F0ZSB3ZWJWaWV3OnN0b3BVUkxTY2hlbWVUYXNrOl0pOgorICAg
ICAgICAoVEVTVCk6CisKIDIwMTctMDgtMjIgIE1hdHQgTGV3aXMgIDxqbGV3aXMzQGFwcGxlLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjIxMDI2LgpJbmRleDogVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIyMTA0OCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC0yMzIsNiArMjMyLDcgQEAKIAkJNUM5RTU5NDExRDNFQjVBQzAwRTNDNjJFIC8qIEFwcGxp
Y2F0aW9uQ2FjaGUuZGIgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNUM5RTU5M0UxRDNFQjFERTAwRTNDNjJFIC8qIEFwcGxpY2F0aW9uQ2FjaGUu
ZGIgKi87IH07CiAJCTVDOUU1OTQyMUQzRUI1QUMwMEUzQzYyRSAvKiBBcHBsaWNhdGlvbkNhY2hl
LmRiLXNobSBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1QzlFNTkzRjFEM0VCMURFMDBFM0M2MkUgLyogQXBwbGljYXRpb25DYWNoZS5kYi1zaG0g
Ki87IH07CiAJCTVDOUU1OTQzMUQzRUI1QUMwMEUzQzYyRSAvKiBBcHBsaWNhdGlvbkNhY2hlLmRi
LXdhbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1QzlFNTk0MDFEM0VCMURFMDBFM0M2MkUgLyogQXBwbGljYXRpb25DYWNoZS5kYi13YWwgKi87
IH07CisJCTVDQjQwQjRFMUY0Qjk4RDMwMDdEQzdCOSAvKiBVSURlbGVnYXRlLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNCNDBCNEQxRjRCOThCRTAw
N0RDN0I5IC8qIFVJRGVsZWdhdGUubW0gKi87IH07CiAJCTVDRTM1NEQ5MUU3MERBNUMwMEJFRkUz
QiAvKiBXS0NvbnRlbnRFeHRlbnNpb25TdG9yZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDRTM1NEQ4MUU3MEQ5QzMwMEJFRkUzQiAvKiBXS0NvbnRl
bnRFeHRlbnNpb25TdG9yZS5tbSAqLzsgfTsKIAkJNUU0QjFEMkUxRDQwNEM2MTAwMDUzNjIxIC8q
IFdLU2Nyb2xsVmlld0RlbGVnYXRlQ3Jhc2gubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1RTRCMUQyQzFENDA0QzYxMDAwNTM2MjEgLyogV0tTY3JvbGxW
aWV3RGVsZWdhdGVDcmFzaC5tbSAqLzsgfTsKIAkJNjMxRUZGRjYxRTdCNUU4RDAwRDJFQkI4IC8q
IEdlb2xvY2F0aW9uLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNjMxRUZGRjUxRTdCNUU4RDAwRDJFQkI4IC8qIEdlb2xvY2F0aW9uLm1tICovOyB9OwpA
QCAtMTMwMyw2ICsxMzA0LDcgQEAKIAkJNUM5RTU5M0UxRDNFQjFERTAwRTNDNjJFIC8qIEFwcGxp
Y2F0aW9uQ2FjaGUuZGIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBmaWxlOyBwYXRoID0gQXBwbGljYXRpb25DYWNoZS5kYjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNUM5RTU5M0YxRDNFQjFERTAwRTNDNjJFIC8qIEFwcGxpY2F0aW9uQ2Fj
aGUuZGItc2htICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gZmlsZTsgcGF0aCA9ICJBcHBsaWNhdGlvbkNhY2hlLmRiLXNobSI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTVDOUU1OTQwMUQzRUIxREUwMEUzQzYyRSAvKiBBcHBsaWNhdGlvbkNh
Y2hlLmRiLXdhbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IGZpbGU7IHBhdGggPSAiQXBwbGljYXRpb25DYWNoZS5kYi13YWwiOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1Q0I0MEI0RDFGNEI5OEJFMDA3REM3QjkgLyogVUlEZWxlZ2F0ZS5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVJRGVsZWdhdGUubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVDRTM1NEQ4MUU3MEQ5QzMwMEJFRkUzQiAv
KiBXS0NvbnRlbnRFeHRlbnNpb25TdG9yZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdLQ29udGVudEV4dGVuc2lvblN0b3JlLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1RTRCMUQyQzFENDA0QzYxMDAwNTM2MjEgLyogV0tTY3JvbGxWaWV3RGVs
ZWdhdGVDcmFzaC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdL
U2Nyb2xsVmlld0RlbGVnYXRlQ3Jhc2gubW07IHBhdGggPSAuLi9pb3MvV0tTY3JvbGxWaWV3RGVs
ZWdhdGVDcmFzaC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjMxRUZGRjUxRTdC
NUU4RDAwRDJFQkI4IC8qIEdlb2xvY2F0aW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gR2VvbG9jYXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xOTQxLDYgKzE5NDMsNyBAQAogCQkJCTJEOUE1M0FFMUIzMUZBOEQwMDc0RDVBQSAvKiBT
aHJpbmtUb0ZpdC5tbSAqLywKIAkJCQkyREZGN0I2QzFEQTQ4N0FGMDA4MTQ2MTQgLyogU25hcHNo
b3RTdG9yZS5tbSAqLywKIAkJCQk1MTVCRTE3MDFENDI4QkQxMDBERDdDNjggLyogU3RvcmVCbG9i
VGhlbkRlbGV0ZS5tbSAqLywKKwkJCQk1Q0I0MEI0RDFGNEI5OEJFMDA3REM3QjkgLyogVUlEZWxl
Z2F0ZS5tbSAqLywKIAkJCQk3Q0MzRTFGQTE5N0UyMzQxMDBCRTYyNTIgLyogVXNlckNvbnRlbnRD
b250cm9sbGVyLm1tICovLAogCQkJCTdDODgyRTAzMUM4MEM2MjQwMDZCRjczMSAvKiBVc2VyQ29u
dGVudFdvcmxkLm1tICovLAogCQkJCTdDODgyRTA0MUM4MEM2MjQwMDZCRjczMSAvKiBVc2VyQ29u
dGVudFdvcmxkUGx1Z0luLm1tICovLApAQCAtMzIxMyw2ICszMjE2LDcgQEAKIAkJCQk1MUU2QTg5
NDFEMkYxQzBBMDBDMDA0QjYgLyogTG9jYWxTdG9yYWdlQ2xlYXIubW0gaW4gU291cmNlcyAqLywK
IAkJCQk0NkM1MTlEQTFEMzU1QUIyMDBEQUE1MUEgLyogTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMu
bW0gaW4gU291cmNlcyAqLywKIAkJCQk3QTZBMkM3MDFEQ0NGQThDMDBDMEQwODUgLyogTG9jYWxT
dG9yYWdlUXVpcmtUZXN0Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMDc2RTUwN0YxRjQ1MTNENjAw
NkU5RjVBIC8qIExvZ2dpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RBMzE1OTgxRUQ1MzY1
MTAwOUY2MEQzIC8qIE1lZGlhUGxheWJhY2tTbGVlcEFzc2VydGlvbi5tbSBpbiBTb3VyY2VzICov
LAogCQkJCUNEQzk0NDJFMUVGMUZDMDgwMDU5QzNDNCAvKiBNZWRpYVN0cmVhbVRyYWNrRGV0YWNo
ZWQubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VCMjFBNDExQTUxMDA0NDdDNEMgLyogTWVt
b3J5Q2FjaGVBZGRJbWFnZVRvQ2FjaGVJT1MubW0gaW4gU291cmNlcyAqLywKQEAgLTMyNTcsNyAr
MzI2MSw2IEBACiAJCQkJQTFFQzExODgxRjQyNTQxMjAwRDAxNDZFIC8qIFByZXZpZXdMb2FkZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdGMEMxQTQxMUFFNjAwNDQ3QzRDIC8qIFByaXZh
dGVCcm93c2luZ1B1c2hTdGF0ZU5vSGlzdG9yeUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTQ2NDdCMTI2MUVCQTNCODUwMDQxRDdFRiAvKiBQcm9jZXNzRGlkVGVybWluYXRlLmNwcCBp
biBTb3VyY2VzICovLAotCQkJCTA3NkU1MDdGMUY0NTEzRDYwMDZFOUY1QSAvKiBMb2dnaW5nLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTdDODNFMEMxMUQwQTY1MkYwMEZFQkNGMyAvKiBQcm92aXNp
b25hbFVSTE5vdENoYW5nZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUM4MUE0MTFBN0Uw
MDQ0N0M0QyAvKiBQdWJsaWNTdWZmaXgubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTBDMjFE
MEE2NTM1MDBGRUJDRjMgLyogUXVpY2tMb29rLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0zMzEyLDYg
KzMzMTUsNyBAQAogCQkJCUNFMzUyNEY5MUIxNDQxQzQwMDI4QTdDNSAvKiBUZXh0RmllbGREaWRC
ZWdpbkFuZEVuZEVkaXRpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFREQxQTQxMUE5
MjAwNDQ3QzRDIC8qIFRpbWVSYW5nZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFRDMx
QTQxMUE3RTAwNDQ3QzRDIC8qIFR5cGluZ1N0eWxlQ3Jhc2gubW0gaW4gU291cmNlcyAqLywKKwkJ
CQk1Q0I0MEI0RTFGNEI5OEQzMDA3REM3QjkgLyogVUlEZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICov
LAogCQkJCUY0Njg0OUJFMUVFRjU4RTQwMEI5MzdGRSAvKiBVSVBhc3RlYm9hcmRUZXN0cy5tbSBp
biBTb3VyY2VzICovLAogCQkJCTdDQ0U3RURFMUE0MTFBOTIwMDQ0N0M0QyAvKiBVUkwuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQjAxQTQxMUE0NDAwNDQ3QzRDIC8qIFVSTEV4dHJhcy5t
bSBpbiBTb3VyY2VzICovLApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQy
Q29jb2EvVUlEZWxlZ2F0ZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdDJDb2NvYS9VSURlbGVnYXRlLm1tCShub25leGlzdGVudCkKKysrIFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1VJRGVsZWdhdGUubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw5MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorCisj
aWYgV0tfQVBJX0VOQUJMRUQKKworI2lmIFBMQVRGT1JNKE1BQykKKworI2ltcG9ydCAiVGVzdFdL
V2ViVmlldy5oIgorI2ltcG9ydCAiVXRpbGl0aWVzLmgiCisjaW1wb3J0IDxXZWJLaXQvV0tVSURl
bGVnYXRlUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlldy5oPgorI2ltcG9ydCA8
d3RmL1JldGFpblB0ci5oPgorCitAY2xhc3MgVUlUZXN0RGVsZWdhdGU7CisKK3N0YXRpYyBSZXRh
aW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3RnJvbURlbGVnYXRlQ2FsbGJhY2s7CitzdGF0aWMgUmV0
YWluUHRyPFdLV2ViVmlldz4gY3JlYXRlZFdlYlZpZXc7CitzdGF0aWMgUmV0YWluUHRyPFVJVGVz
dERlbGVnYXRlPiBkZWxlZ2F0ZTsKK3N0YXRpYyBib29sIGRvbmU7CisKK0BpbnRlcmZhY2UgVUlU
ZXN0RGVsZWdhdGUgOiBOU09iamVjdCA8V0tVSURlbGVnYXRlUHJpdmF0ZSwgV0tVUkxTY2hlbWVI
YW5kbGVyPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24gVUlUZXN0RGVsZWdhdGUKKworLSAobnVs
bGFibGUgV0tXZWJWaWV3ICopd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBjcmVhdGVXZWJW
aWV3V2l0aENvbmZpZ3VyYXRpb246KFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0
aW9uIGZvck5hdmlnYXRpb25BY3Rpb246KFdLTmF2aWdhdGlvbkFjdGlvbiAqKW5hdmlnYXRpb25B
Y3Rpb24gd2luZG93RmVhdHVyZXM6KFdLV2luZG93RmVhdHVyZXMgKil3aW5kb3dGZWF0dXJlcwor
eworICAgIGNyZWF0ZWRXZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdp
dGhGcmFtZTpDR1JlY3RNYWtlKDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3Vy
YXRpb25dKTsKKyAgICBbY3JlYXRlZFdlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQo
KV07CisgICAgcmV0dXJuIGNyZWF0ZWRXZWJWaWV3LmdldCgpOworfQorCistICh2b2lkKV93ZWJW
aWV3U2hvdzooV0tXZWJWaWV3ICopd2ViVmlldworeworICAgIHdlYlZpZXdGcm9tRGVsZWdhdGVD
YWxsYmFjayA9IHdlYlZpZXc7CisgICAgZG9uZSA9IHRydWU7Cit9CisKKy0gKHZvaWQpd2ViVmll
dzooV0tXZWJWaWV3ICopd2ViVmlldyBzdGFydFVSTFNjaGVtZVRhc2s6KGlkIDxXS1VSTFNjaGVt
ZVRhc2s+KXVybFNjaGVtZVRhc2sKK3sKKyAgICBOU1N0cmluZyAqZGF0YSA9IEAiPHNjcmlwdD53
aW5kb3cub3Blbignb3RoZXIuaHRtbCcpOzwvc2NyaXB0PiI7CisgICAgW3VybFNjaGVtZVRhc2sg
ZGlkUmVjZWl2ZVJlc3BvbnNlOltbW05TVVJMUmVzcG9uc2UgYWxsb2NdIGluaXRXaXRoVVJMOnVy
bFNjaGVtZVRhc2sucmVxdWVzdC5VUkwgTUlNRVR5cGU6QCJ0ZXh0L2h0bWwiIGV4cGVjdGVkQ29u
dGVudExlbmd0aDpkYXRhLmxlbmd0aCB0ZXh0RW5jb2RpbmdOYW1lOm5pbF0gYXV0b3JlbGVhc2Vd
XTsKKyAgICBbdXJsU2NoZW1lVGFzayBkaWRSZWNlaXZlRGF0YTpbZGF0YSBkYXRhVXNpbmdFbmNv
ZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ11dOworICAgIFt1cmxTY2hlbWVUYXNrIGRpZEZpbmlz
aF07Cit9CisKKy0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBzdG9wVVJMU2No
ZW1lVGFzazooaWQgPFdLVVJMU2NoZW1lVGFzaz4pdXJsU2NoZW1lVGFzaworeworfQorCitAZW5k
CisKK1RFU1QoV2ViS2l0MiwgU2hvd1BhZ2UpCit7CisgICAgZGVsZWdhdGUgPSBhZG9wdE5TKFtb
VUlUZXN0RGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBh
ZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIFtjb25m
aWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6ZGVsZWdhdGUuZ2V0KCkgZm9yVVJMU2NoZW1l
OkAidGVzdCJdOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2Nd
IGluaXRXaXRoRnJhbWU6Q0dSZWN0TWFrZSgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpj
b25maWd1cmF0aW9uLmdldCgpXSk7CisgICAgW3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpkZWxlZ2F0
ZS5nZXQoKV07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0
V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInRlc3Q6Ly8vZmlyc3QiXV1dOworICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgCisgICAgQVNTRVJUX0VRKHdlYlZp
ZXdGcm9tRGVsZWdhdGVDYWxsYmFjaywgY3JlYXRlZFdlYlZpZXcpOworfQorCisjZW5kaWYgLy8g
UExBVEZPUk0oTUFDKQorCisjZW5kaWYgLy8gV0tfQVBJX0VOQUJMRUQK
</data>

          </attachment>
      

    </bug>

</bugzilla>