<?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>126270</bug_id>
          
          <creation_ts>2013-12-27 20:19:15 -0800</creation_ts>
          <short_desc>Remove WindowIsVisible</short_desc>
          <delta_ts>2014-01-02 14:32:22 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>luiz</cc>
    
    <cc>mrobinson</cc>
    
    <cc>noam</cc>
    
    <cc>philn</cc>
    
    <cc>rego+ews</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>963152</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2013-12-27 20:19:15 -0800</bug_when>
    <thetext>We currently track visibility in two ways - ViewState::IsVisible and ViewState::WindowIsVisible. The latter detects that the content is hidden in fewer cases that the former, and as such, the former is always preferable.

This affects the hidden state provided to FocusController::contentAreaDidShowOrHide and to Plugin::windowVisibilityChanged.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963153</commentid>
    <comment_count>1</comment_count>
      <attachid>220068</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2013-12-27 20:39:44 -0800</bug_when>
    <thetext>Created attachment 220068
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963154</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-27 20:41:53 -0800</bug_when>
    <thetext>Attachment 220068 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/WebCore.exp.in&apos;, u&apos;Source/WebCore/page/FocusController.cpp&apos;, u&apos;Source/WebCore/page/FocusController.h&apos;, u&apos;Source/WebKit/mac/ChangeLog&apos;, u&apos;Source/WebKit/mac/WebView/WebView.mm&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit2/Shared/ViewState.h&apos;, u&apos;Source/WebKit2/UIProcess/API/mac/PageClientImpl.h&apos;, u&apos;Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm&apos;, u&apos;Source/WebKit2/UIProcess/API/mac/WKView.mm&apos;, u&apos;Source/WebKit2/UIProcess/PageClient.h&apos;, u&apos;Source/WebKit2/UIProcess/WebPageProxy.cpp&apos;, u&apos;Source/WebKit2/WebProcess/Plugins/PluginView.cpp&apos;, u&apos;Source/WebKit2/WebProcess/Plugins/PluginView.h&apos;, u&apos;Source/WebKit2/WebProcess/WebPage/WebPage.cpp&apos;, u&apos;Source/WebKit2/WebProcess/WebPage/WebPage.h&apos;, &apos;--commit-queue&apos;]&quot; exit_code: 1
ERROR: Source/WebCore/page/FocusController.h:83:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 1 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963155</commentid>
    <comment_count>3</comment_count>
      <attachid>220068</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-12-27 20:49:11 -0800</bug_when>
    <thetext>Comment on attachment 220068
Fix

Attachment 220068 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/6597286662504448</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963157</commentid>
    <comment_count>4</comment_count>
      <attachid>220070</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2013-12-27 22:31:15 -0800</bug_when>
    <thetext>Created attachment 220070
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963158</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-27 22:32:18 -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>963184</commentid>
    <comment_count>6</comment_count>
      <attachid>220078</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2013-12-28 12:56:23 -0800</bug_when>
    <thetext>Created attachment 220078
gtk fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963816</commentid>
    <comment_count>7</comment_count>
      <attachid>220078</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-01-02 11:53:32 -0800</bug_when>
    <thetext>Comment on attachment 220078
gtk fix

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        The latter detects that the content is hidden in fewer cases that the former, and as such, the

s/that/than/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>963890</commentid>
    <comment_count>8</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2014-01-02 14:32:22 -0800</bug_when>
    <thetext>fixed in r161228</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220068</attachid>
            <date>2013-12-27 20:39:44 -0800</date>
            <delta_ts>2013-12-27 22:31:15 -0800</delta_ts>
            <desc>Fix</desc>
            <filename>126270.1.patch</filename>
            <type>text/plain</type>
            <size>20440</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MTEwOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEzLTEyLTI3ICBHYXZpbiBC
YXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgV2lu
ZG93SXNWaXNpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjYyNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXZSBjdXJyZW50bHkgdHJhY2sgdmlzaWJpbGl0eSBpbiB0d28gd2F5cyAtIFZpZXdTdGF0
ZTo6SXNWaXNpYmxlIGFuZCBWaWV3U3RhdGU6OldpbmRvd0lzVmlzaWJsZS4KKyAgICAgICAgVGhl
IGxhdHRlciBkZXRlY3RzIHRoYXQgdGhlIGNvbnRlbnQgaXMgaGlkZGVuIGluIGZld2VyIGNhc2Vz
IHRoYXQgdGhlIGZvcm1lciwgYW5kIGFzIHN1Y2gsIHRoZQorICAgICAgICBmb3JtZXIgaXMgYWx3
YXlzIHByZWZlcmFibGUuCisKKyAgICAgICAgVGhpcyBhZmZlY3RzIHRoZSBoaWRkZW4gc3RhdGUg
cHJvdmlkZWQgdG8gRm9jdXNDb250cm9sbGVyOjpjb250ZW50QXJlYURpZFNob3dPckhpZGUgYW5k
IHRvCisgICAgICAgIFBsdWdpbjo6d2luZG93VmlzaWJpbGl0eUNoYW5nZWQuCisKKyAgICAgICAg
KiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGb2N1c0NvbnRyb2xsZXI6OkZvY3VzQ29udHJvbGxlcik6CisgICAg
ICAgIChXZWJDb3JlOjpGb2N1c0NvbnRyb2xsZXI6OnNldENvbnRlbnRJc1Zpc2libGUpOgorICAg
ICAgICAqIHBhZ2UvRm9jdXNDb250cm9sbGVyLmg6CisgICAgICAgICAgICAtIHJlbmFtZSBDb250
YWluaW5nV2luZG93SXNWaXNpYmxlIC0+IENvbnRlbnRJc1Zpc2libGUuCisKIDIwMTMtMTItMjcg
IERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIEFub3RoZXIgYXR0
ZW1wdCB0byBmaXggdGhlIFdpbmRvd3MgYnVpbGQgYWZ0ZXIgPGh0dHA6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzE2MTEwNj4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiAx
NjExMDcpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2luZyBjb3B5KQpA
QCAtNDgyLDcgKzQ4Miw3IEBAIF9fWk43V2ViQ29yZTE1Rm9jdXNDb250cm9sbGVyMTBzZXRGb2N1
c2UKIF9fWk43V2ViQ29yZTE1Rm9jdXNDb250cm9sbGVyMTVzZXRGb2N1c2VkRnJhbWVFTjNXVEYx
MFBhc3NSZWZQdHJJTlNfNUZyYW1lRUVFCiBfX1pON1dlYkNvcmUxNUZvY3VzQ29udHJvbGxlcjE1
c2V0SW5pdGlhbEZvY3VzRU5TXzE0Rm9jdXNEaXJlY3Rpb25FUE5TXzEzS2V5Ym9hcmRFdmVudEUK
IF9fWk43V2ViQ29yZTE1Rm9jdXNDb250cm9sbGVyMTdzZXRGb2N1c2VkRWxlbWVudEVQTlNfN0Vs
ZW1lbnRFTjNXVEYxMFBhc3NSZWZQdHJJTlNfNUZyYW1lRUVFTlNfMTRGb2N1c0RpcmVjdGlvbkUK
LV9fWk43V2ViQ29yZTE1Rm9jdXNDb250cm9sbGVyMjhzZXRDb250YWluaW5nV2luZG93SXNWaXNp
YmxlRWIKK19fWk43V2ViQ29yZTE1Rm9jdXNDb250cm9sbGVyMTlzZXRDb250ZW50SXNWaXNpYmxl
RWIKIF9fWk43V2ViQ29yZTE1Rm9jdXNDb250cm9sbGVyOXNldEFjdGl2ZUViCiBfX1pON1dlYkNv
cmUxNUdyYXBoaWNzQ29udGV4dDEwc3Ryb2tlUmVjdEVSS05TXzlGbG9hdFJlY3RFZgogX19aTjdX
ZWJDb3JlMTVHcmFwaGljc0NvbnRleHQxMWNsZWFyU2hhZG93RXYKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDE2MTEwNykKKysrIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYzLDcg
KzE2Myw3IEBAIEZvY3VzQ29udHJvbGxlcjo6Rm9jdXNDb250cm9sbGVyKFBhZ2UmIHAKICAgICAs
IG1faXNBY3RpdmUoZmFsc2UpCiAgICAgLCBtX2lzRm9jdXNlZChmYWxzZSkKICAgICAsIG1faXND
aGFuZ2luZ0ZvY3VzZWRGcmFtZShmYWxzZSkKLSAgICAsIG1fY29udGFpbmluZ1dpbmRvd0lzVmlz
aWJsZShmYWxzZSkKKyAgICAsIG1fY29udGVudElzVmlzaWJsZShmYWxzZSkKIHsKIH0KIApAQCAt
NjYzLDE4ICs2NjMsMTggQEAgc3RhdGljIHZvaWQgY29udGVudEFyZWFEaWRTaG93T3JIaWRlKFNj
cgogICAgICAgICBzY3JvbGxhYmxlQXJlYS0+Y29udGVudEFyZWFEaWRIaWRlKCk7CiB9CiAKLXZv
aWQgRm9jdXNDb250cm9sbGVyOjpzZXRDb250YWluaW5nV2luZG93SXNWaXNpYmxlKGJvb2wgY29u
dGFpbmluZ1dpbmRvd0lzVmlzaWJsZSkKK3ZvaWQgRm9jdXNDb250cm9sbGVyOjpzZXRDb250ZW50
SXNWaXNpYmxlKGJvb2wgY29udGVudElzVmlzaWJsZSkKIHsKLSAgICBpZiAobV9jb250YWluaW5n
V2luZG93SXNWaXNpYmxlID09IGNvbnRhaW5pbmdXaW5kb3dJc1Zpc2libGUpCisgICAgaWYgKG1f
Y29udGVudElzVmlzaWJsZSA9PSBjb250ZW50SXNWaXNpYmxlKQogICAgICAgICByZXR1cm47CiAK
LSAgICBtX2NvbnRhaW5pbmdXaW5kb3dJc1Zpc2libGUgPSBjb250YWluaW5nV2luZG93SXNWaXNp
YmxlOworICAgIG1fY29udGVudElzVmlzaWJsZSA9IGNvbnRlbnRJc1Zpc2libGU7CiAKICAgICBG
cmFtZVZpZXcqIHZpZXcgPSBtX3BhZ2UubWFpbkZyYW1lKCkudmlldygpOwogICAgIGlmICghdmll
dykKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29udGVudEFyZWFEaWRTaG93T3JIaWRlKHZpZXcs
IGNvbnRhaW5pbmdXaW5kb3dJc1Zpc2libGUpOworICAgIGNvbnRlbnRBcmVhRGlkU2hvd09ySGlk
ZSh2aWV3LCBjb250ZW50SXNWaXNpYmxlKTsKIAogICAgIGZvciAoRnJhbWUqIGZyYW1lID0gJm1f
cGFnZS5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50cmF2ZXJzZU5l
eHQoKSkgewogICAgICAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IGZyYW1lLT52aWV3KCk7CkBA
IC02ODksNyArNjg5LDcgQEAgdm9pZCBGb2N1c0NvbnRyb2xsZXI6OnNldENvbnRhaW5pbmdXaW5k
bwogICAgICAgICAgICAgU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVhID0gKml0OwogICAg
ICAgICAgICAgQVNTRVJUKHNjcm9sbGFibGVBcmVhLT5zY3JvbGxiYXJzQ2FuQmVBY3RpdmUoKSB8
fCBtX3BhZ2Uuc2hvdWxkU3VwcHJlc3NTY3JvbGxiYXJBbmltYXRpb25zKCkpOwogCi0gICAgICAg
ICAgICBjb250ZW50QXJlYURpZFNob3dPckhpZGUoc2Nyb2xsYWJsZUFyZWEsIGNvbnRhaW5pbmdX
aW5kb3dJc1Zpc2libGUpOworICAgICAgICAgICAgY29udGVudEFyZWFEaWRTaG93T3JIaWRlKHNj
cm9sbGFibGVBcmVhLCBjb250ZW50SXNWaXNpYmxlKTsKICAgICAgICAgfQogICAgIH0KIH0KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAkocmV2aXNpb24gMTYxMTA3KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtNzksOSArNzksOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRGb2N1c2VkKGJvb2wpOwogICAg
IGJvb2wgaXNGb2N1c2VkKCkgY29uc3QgeyByZXR1cm4gbV9pc0ZvY3VzZWQ7IH0KIAotICAgIHZv
aWQgc2V0Q29udGFpbmluZ1dpbmRvd0lzVmlzaWJsZShib29sKTsKLSAgICBib29sIGNvbnRhaW5p
bmdXaW5kb3dJc1Zpc2libGUoKSBjb25zdCB7IHJldHVybiBtX2NvbnRhaW5pbmdXaW5kb3dJc1Zp
c2libGU7IH0KLQorICAgIHZvaWQgc2V0Q29udGVudElzVmlzaWJsZShib29sKTsKKyAKICAgICAv
LyBUaGVzZSBtZXRob2RzIGFyZSB1c2VkIGluIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET00ubW0u
CiAgICAgRWxlbWVudCogbmV4dEZvY3VzYWJsZUVsZW1lbnQoRm9jdXNOYXZpZ2F0aW9uU2NvcGUs
IE5vZGUqIHN0YXJ0LCBLZXlib2FyZEV2ZW50Kik7CiAgICAgRWxlbWVudCogcHJldmlvdXNGb2N1
c2FibGVFbGVtZW50KEZvY3VzTmF2aWdhdGlvblNjb3BlLCBOb2RlKiBzdGFydCwgS2V5Ym9hcmRF
dmVudCopOwpAQCAtMTE1LDcgKzExNCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzQWN0aXZl
OwogICAgIGJvb2wgbV9pc0ZvY3VzZWQ7CiAgICAgYm9vbCBtX2lzQ2hhbmdpbmdGb2N1c2VkRnJh
bWU7Ci0gICAgYm9vbCBtX2NvbnRhaW5pbmdXaW5kb3dJc1Zpc2libGU7CisgICAgYm9vbCBtX2Nv
bnRlbnRJc1Zpc2libGU7CiAKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MTEwOCkK
KysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4
IEBACisyMDEzLTEyLTI3ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNv
bT4KKworICAgICAgICBSZW1vdmUgV2luZG93SXNWaXNpYmxlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjYyNzAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBjdXJyZW50bHkgdHJhY2sgdmlzaWJpbGl0
eSBpbiB0d28gd2F5cyAtIFZpZXdTdGF0ZTo6SXNWaXNpYmxlIGFuZCBWaWV3U3RhdGU6OldpbmRv
d0lzVmlzaWJsZS4KKyAgICAgICAgVGhlIGxhdHRlciBkZXRlY3RzIHRoYXQgdGhlIGNvbnRlbnQg
aXMgaGlkZGVuIGluIGZld2VyIGNhc2VzIHRoYXQgdGhlIGZvcm1lciwgYW5kIGFzIHN1Y2gsIHRo
ZQorICAgICAgICBmb3JtZXIgaXMgYWx3YXlzIHByZWZlcmFibGUuCisKKyAgICAgICAgVGhpcyBh
ZmZlY3RzIHRoZSBoaWRkZW4gc3RhdGUgcHJvdmlkZWQgdG8gRm9jdXNDb250cm9sbGVyOjpjb250
ZW50QXJlYURpZFNob3dPckhpZGUgYW5kIHRvCisgICAgICAgIFBsdWdpbjo6d2luZG93VmlzaWJp
bGl0eUNoYW5nZWQuCisKKyAgICAgICAgKiBTaGFyZWQvVmlld1N0YXRlLmg6CisgICAgICAgICAg
ICAtIHJlbW92ZSBXaW5kb3dJc1Zpc2libGUuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMv
UGFnZUNsaWVudEltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50
SW1wbC5tbToKKyAgICAgICAgICAgIC0gcmVtb3ZlIGlzV2luZG93VmlzaWJsZS4KKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW06CisgICAgICAgICgtW1dLVmlldyB2aWV3RGlk
TW92ZVRvV2luZG93XSk6CisgICAgICAgICgtW1dLVmlldyBfd2luZG93RGlkTWluaWF0dXJpemU6
XSk6CisgICAgICAgICgtW1dLVmlldyBfd2luZG93RGlkRGVtaW5pYXR1cml6ZTpdKToKKyAgICAg
ICAgKC1bV0tWaWV3IF93aW5kb3dEaWRPcmRlck9mZlNjcmVlbjpdKToKKyAgICAgICAgKC1bV0tW
aWV3IF93aW5kb3dEaWRPcmRlck9uU2NyZWVuOl0pOgorICAgICAgICAgICAgLSByZW1vdmUgVmll
d1N0YXRlOjpXaW5kb3dJc1Zpc2libGUuCisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQu
aDoKKyAgICAgICAgICAgIC0gcmVtb3ZlIGlzV2luZG93VmlzaWJsZS4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp1
cGRhdGVWaWV3U3RhdGUpOgorICAgICAgICAgICAgLSByZW1vdmUgaGFuZGxpbmcgb2YgVmlld1N0
YXRlOjpXaW5kb3dJc1Zpc2libGUuCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blZpZXcuY3BwOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5WaWV3OjpzZXRJc1Zpc2libGUpOgor
ICAgICAgICAoV2ViS2l0OjpQbHVnaW5WaWV3OjpkaWRJbml0aWFsaXplUGx1Z2luKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5oOgorICAgICAgICAgICAgLSBzZXRX
aW5kb3dJc1Zpc2libGUgLT4gc2V0SXNWaXNpYmxlLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6V2ViUGFnZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldFZpZXdJc1Zpc2libGUpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpzZXRWaWV3U3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp3
aW5kb3dBbmRXZWJQYWdlQXJlRm9jdXNlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6aXNWaXNpYmxlKToKKyAgICAg
ICAgICAgIC0gcmVtb3ZlIG1fd2luZG93SXNWaXNpYmxlLCBzZXRXaW5kb3dJc1Zpc2libGUgKGlt
cGxlbWVudGF0aW9uIG1vdmVkIHRvIHNldFZpZXdJc1Zpc2libGUpLgorCiAyMDEzLTEyLTI3ICBE
YW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBVcHN0cmVh
bSBXZWJDb3JlL3BhZ2UgY2hhbmdlcwpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL1ZpZXdT
dGF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9WaWV3U3RhdGUuaAko
cmV2aXNpb24gMTYxMTA3KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1ZpZXdTdGF0ZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zNCwxNCArMzQsMTMgQEAgc3RydWN0IFZpZXdTdGF0ZSB7CiAgICAg
ICAgIElzRm9jdXNlZCA9IDEgPDwgMSwKICAgICAgICAgSXNWaXNpYmxlID0gMSA8PCAyLAogICAg
ICAgICBJc0luV2luZG93ID0gMSA8PCAzLAotICAgICAgICBXaW5kb3dJc1Zpc2libGUgPSAxIDw8
IDQsCi0gICAgICAgIElzTGF5ZXJXaW5kb3dTZXJ2ZXJIb3N0ZWQgPSAxIDw8IDUKKyAgICAgICAg
SXNMYXllcldpbmRvd1NlcnZlckhvc3RlZCA9IDEgPDwgNAogICAgIH07CiAKICAgICB0eXBlZGVm
IHVuc2lnbmVkIEZsYWdzOwogCiAgICAgc3RhdGljIGNvbnN0IEZsYWdzIE5vRmxhZ3MgPSAwOwot
ICAgIHN0YXRpYyBjb25zdCBGbGFncyBBbGxGbGFncyA9IFdpbmRvd0lzQWN0aXZlIHwgSXNGb2N1
c2VkIHwgSXNWaXNpYmxlIHwgSXNJbldpbmRvdyB8IFdpbmRvd0lzVmlzaWJsZSB8IElzTGF5ZXJX
aW5kb3dTZXJ2ZXJIb3N0ZWQ7CisgICAgc3RhdGljIGNvbnN0IEZsYWdzIEFsbEZsYWdzID0gV2lu
ZG93SXNBY3RpdmUgfCBJc0ZvY3VzZWQgfCBJc1Zpc2libGUgfCBJc0luV2luZG93IHwgSXNMYXll
cldpbmRvd1NlcnZlckhvc3RlZDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCShyZXZpc2lvbiAxNjExMDcpCisrKyBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MDUsOSArMTA1LDYgQEAgcHVibGljOgogICAgIC8vIFJldHVybiB3aGV0aGVyIHRoZSB2aWV3IGlz
IHZpc2libGUuCiAgICAgdmlydHVhbCBib29sIGlzVmlld1Zpc2libGUoKSA9IDA7CiAKLSAgICAv
LyBSZXR1cm4gd2hldGhlciB0aGUgd2luZG93IGlzIHZpc2libGUuCi0gICAgdmlydHVhbCBib29s
IGlzV2luZG93VmlzaWJsZSgpID0gMDsKLQogICAgIC8vIFJldHVybiB3aGV0aGVyIHRoZSB2aWV3
IGlzIGluIGEgd2luZG93LgogICAgIHZpcnR1YWwgYm9vbCBpc1ZpZXdJbldpbmRvdygpID0gMDsK
IApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlz
aW9uIDE2MTEwNykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC05MjEsOCArOTIxLDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnNj
cm9sbFZpZXcoY29uc3QgSW50Ugogdm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZVZpZXdTdGF0ZShW
aWV3U3RhdGU6OkZsYWdzIGZsYWdzVG9VcGRhdGUpCiB7CiAgICAgbV92aWV3U3RhdGUgJj0gfmZs
YWdzVG9VcGRhdGU7Ci0gICAgaWYgKGZsYWdzVG9VcGRhdGUgJiBWaWV3U3RhdGU6OldpbmRvd0lz
VmlzaWJsZSAmJiBtX3BhZ2VDbGllbnQuaXNXaW5kb3dWaXNpYmxlKCkpCi0gICAgICAgIG1fdmll
d1N0YXRlIHw9IFZpZXdTdGF0ZTo6V2luZG93SXNWaXNpYmxlOwogICAgIGlmIChmbGFnc1RvVXBk
YXRlICYgVmlld1N0YXRlOjpJc0ZvY3VzZWQgJiYgbV9wYWdlQ2xpZW50LmlzVmlld0ZvY3VzZWQo
KSkKICAgICAgICAgbV92aWV3U3RhdGUgfD0gVmlld1N0YXRlOjpJc0ZvY3VzZWQ7CiAgICAgaWYg
KGZsYWdzVG9VcGRhdGUgJiBWaWV3U3RhdGU6OldpbmRvd0lzQWN0aXZlICYmIG1fcGFnZUNsaWVu
dC5pc1ZpZXdXaW5kb3dBY3RpdmUoKSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvbWFjL1BhZ2VDbGllbnRJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwuaAkocmV2aXNpb24gMTYxMTA3KQorKysgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwuaAkod29ya2luZyBj
b3B5KQpAQCAtNjQsNyArNjQsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBpc1ZpZXdX
aW5kb3dBY3RpdmUoKTsKICAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3Rm9jdXNlZCgpOwogICAgIHZp
cnR1YWwgYm9vbCBpc1ZpZXdWaXNpYmxlKCk7Ci0gICAgdmlydHVhbCBib29sIGlzV2luZG93Vmlz
aWJsZSgpOwogICAgIHZpcnR1YWwgYm9vbCBpc1ZpZXdJbldpbmRvdygpOwogI2lmIEhBVkUoTEFZ
RVJfSE9TVElOR19JTl9XSU5ET1dfU0VSVkVSKQogICAgIHZpcnR1YWwgYm9vbCBpc0xheWVyV2lu
ZG93U2VydmVySG9zdGVkKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21h
Yy9QYWdlQ2xpZW50SW1wbC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5tbQkocmV2aXNpb24gMTYxMTA3KQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTIwOSwxMSArMjA5LDYgQEAgYm9vbCBQYWdlQ2xpZW50SW1wbDo6aXNWaWV3VmlzaWJs
ZSgpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgUGFnZUNsaWVudEltcGw6OmlzV2luZG93
VmlzaWJsZSgpCi17Ci0gICAgcmV0dXJuIFtbbV93a1ZpZXcgd2luZG93XSBpc1Zpc2libGVdOwot
fQotCiBib29sIFBhZ2VDbGllbnRJbXBsOjppc1ZpZXdJbldpbmRvdygpCiB7CiAgICAgcmV0dXJu
IFttX3drVmlldyB3aW5kb3ddOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9t
YWMvV0tWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
bWFjL1dLVmlldy5tbQkocmV2aXNpb24gMTYxMTA3KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xODgyLDcgKzE4ODIsNyBA
QCAtICh2b2lkKXZpZXdEaWRNb3ZlVG9XaW5kb3cKICAgICAgICAgX2RhdGEtPl93aW5kb3dIYXNW
YWxpZEJhY2tpbmdTdG9yZSA9IE5POwogICAgICAgICBbc2VsZiBkb1dpbmRvd0RpZENoYW5nZVNj
cmVlbl07CiAKLSAgICAgICAgVmlld1N0YXRlOjpGbGFncyB2aWV3U3RhdGVDaGFuZ2VzID0gVmll
d1N0YXRlOjpXaW5kb3dJc1Zpc2libGUgfCBWaWV3U3RhdGU6OldpbmRvd0lzQWN0aXZlIHwgVmll
d1N0YXRlOjpJc1Zpc2libGU7CisgICAgICAgIFZpZXdTdGF0ZTo6RmxhZ3Mgdmlld1N0YXRlQ2hh
bmdlcyA9IFZpZXdTdGF0ZTo6V2luZG93SXNBY3RpdmUgfCBWaWV3U3RhdGU6OklzVmlzaWJsZTsK
ICAgICAgICAgaWYgKFtzZWxmIGlzRGVmZXJyaW5nVmlld0luV2luZG93Q2hhbmdlc10pCiAgICAg
ICAgICAgICBfZGF0YS0+X3ZpZXdJbldpbmRvd0NoYW5nZVdhc0RlZmVycmVkID0gWUVTOwogICAg
ICAgICBlbHNlCkBAIC0xOTAwLDcgKzE5MDAsNyBAQCAtICh2b2lkKXZpZXdEaWRNb3ZlVG9XaW5k
b3cKIAogICAgICAgICBbc2VsZiBfYWNjZXNzaWJpbGl0eVJlZ2lzdGVyVUlQcm9jZXNzVG9rZW5z
XTsKICAgICB9IGVsc2UgewotICAgICAgICBWaWV3U3RhdGU6OkZsYWdzIHZpZXdTdGF0ZUNoYW5n
ZXMgPSBWaWV3U3RhdGU6OldpbmRvd0lzVmlzaWJsZSB8IFZpZXdTdGF0ZTo6V2luZG93SXNBY3Rp
dmUgfCBWaWV3U3RhdGU6OklzVmlzaWJsZTsKKyAgICAgICAgVmlld1N0YXRlOjpGbGFncyB2aWV3
U3RhdGVDaGFuZ2VzID0gVmlld1N0YXRlOjpXaW5kb3dJc0FjdGl2ZSB8IFZpZXdTdGF0ZTo6SXNW
aXNpYmxlOwogICAgICAgICBpZiAoW3NlbGYgaXNEZWZlcnJpbmdWaWV3SW5XaW5kb3dDaGFuZ2Vz
XSkKICAgICAgICAgICAgIF9kYXRhLT5fdmlld0luV2luZG93Q2hhbmdlV2FzRGVmZXJyZWQgPSBZ
RVM7CiAgICAgICAgIGVsc2UKQEAgLTE5NDcsMTIgKzE5NDcsMTIgQEAgLSAodm9pZClfd2luZG93
RGlkUmVzaWduS2V5OihOU05vdGlmaWNhdAogLSAodm9pZClfd2luZG93RGlkTWluaWF0dXJpemU6
KE5TTm90aWZpY2F0aW9uICopbm90aWZpY2F0aW9uCiB7CiAgICAgX2RhdGEtPl93aW5kb3dIYXNW
YWxpZEJhY2tpbmdTdG9yZSA9IE5POwotICAgIF9kYXRhLT5fcGFnZS0+dmlld1N0YXRlRGlkQ2hh
bmdlKFZpZXdTdGF0ZTo6V2luZG93SXNWaXNpYmxlKTsKKyAgICBfZGF0YS0+X3BhZ2UtPnZpZXdT
dGF0ZURpZENoYW5nZShWaWV3U3RhdGU6OklzVmlzaWJsZSk7CiB9CiAKIC0gKHZvaWQpX3dpbmRv
d0RpZERlbWluaWF0dXJpemU6KE5TTm90aWZpY2F0aW9uICopbm90aWZpY2F0aW9uCiB7Ci0gICAg
X2RhdGEtPl9wYWdlLT52aWV3U3RhdGVEaWRDaGFuZ2UoVmlld1N0YXRlOjpXaW5kb3dJc1Zpc2li
bGUpOworICAgIF9kYXRhLT5fcGFnZS0+dmlld1N0YXRlRGlkQ2hhbmdlKFZpZXdTdGF0ZTo6SXNW
aXNpYmxlKTsKIH0KIAogLSAodm9pZClfd2luZG93RGlkTW92ZTooTlNOb3RpZmljYXRpb24gKilu
b3RpZmljYXRpb24KQEAgLTE5NjksMTIgKzE5NjksMTIgQEAgLSAodm9pZClfd2luZG93RGlkUmVz
aXplOihOU05vdGlmaWNhdGlvbgogCiAtICh2b2lkKV93aW5kb3dEaWRPcmRlck9mZlNjcmVlbjoo
TlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb24KIHsKLSAgICBfZGF0YS0+X3BhZ2UtPnZpZXdT
dGF0ZURpZENoYW5nZShWaWV3U3RhdGU6OldpbmRvd0lzVmlzaWJsZSB8IFZpZXdTdGF0ZTo6SXNW
aXNpYmxlIHwgVmlld1N0YXRlOjpXaW5kb3dJc0FjdGl2ZSk7CisgICAgX2RhdGEtPl9wYWdlLT52
aWV3U3RhdGVEaWRDaGFuZ2UoVmlld1N0YXRlOjpJc1Zpc2libGUgfCBWaWV3U3RhdGU6OldpbmRv
d0lzQWN0aXZlKTsKIH0KIAogLSAodm9pZClfd2luZG93RGlkT3JkZXJPblNjcmVlbjooTlNOb3Rp
ZmljYXRpb24gKilub3RpZmljYXRpb24KIHsKLSAgICBfZGF0YS0+X3BhZ2UtPnZpZXdTdGF0ZURp
ZENoYW5nZShWaWV3U3RhdGU6OldpbmRvd0lzVmlzaWJsZSB8IFZpZXdTdGF0ZTo6SXNWaXNpYmxl
IHwgVmlld1N0YXRlOjpXaW5kb3dJc0FjdGl2ZSk7CisgICAgX2RhdGEtPl9wYWdlLT52aWV3U3Rh
dGVEaWRDaGFuZ2UoVmlld1N0YXRlOjpJc1Zpc2libGUgfCBWaWV3U3RhdGU6OldpbmRvd0lzQWN0
aXZlKTsKIH0KIAogLSAodm9pZClfd2luZG93RGlkQ2hhbmdlQmFja2luZ1Byb3BlcnRpZXM6KE5T
Tm90aWZpY2F0aW9uICopbm90aWZpY2F0aW9uCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwCShyZXZpc2lvbiAxNjExMDcpCisrKyBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ4Miw3ICs0ODIsNyBAQCB2b2lkIFBsdWdpblZpZXc6OndlYlBhZ2VEZXN0cm95
ZWQoKQogfQogCiAjaWYgUExBVEZPUk0oTUFDKSAgICAKLXZvaWQgUGx1Z2luVmlldzo6c2V0V2lu
ZG93SXNWaXNpYmxlKGJvb2wgd2luZG93SXNWaXNpYmxlKQordm9pZCBQbHVnaW5WaWV3OjpzZXRJ
c1Zpc2libGUoYm9vbCB3aW5kb3dJc1Zpc2libGUpCiB7CiAgICAgaWYgKCFtX2lzSW5pdGlhbGl6
ZWQgfHwgIW1fcGx1Z2luKQogICAgICAgICByZXR1cm47CkBAIC02MjQsNyArNjI0LDcgQEAgdm9p
ZCBQbHVnaW5WaWV3OjpkaWRJbml0aWFsaXplUGx1Z2luKCkKICAgICAgICAgICAgIG1fcGx1Z2lu
RWxlbWVudC0+ZGlzcGF0Y2hQZW5kaW5nTW91c2VDbGljaygpOwogICAgIH0KIAotICAgIHNldFdp
bmRvd0lzVmlzaWJsZShtX3dlYlBhZ2UtPndpbmRvd0lzVmlzaWJsZSgpKTsKKyAgICBzZXRJc1Zp
c2libGUobV93ZWJQYWdlLT5pc1Zpc2libGUoKSk7CiAgICAgc2V0V2luZG93SXNGb2N1c2VkKG1f
d2ViUGFnZS0+d2luZG93SXNGb2N1c2VkKCkpOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuaAkocmV2aXNpb24gMTYxMTA3
KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuaAkod29y
a2luZyBjb3B5KQpAQCAtNjksNyArNjksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBtYW51YWxMb2Fk
RGlkRmFpbChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7CiAKICNpZiBQTEFURk9STShN
QUMpCi0gICAgdm9pZCBzZXRXaW5kb3dJc1Zpc2libGUoYm9vbCk7CisgICAgdm9pZCBzZXRJc1Zp
c2libGUoYm9vbCk7CiAgICAgdm9pZCBzZXRXaW5kb3dJc0ZvY3VzZWQoYm9vbCk7CiAgICAgdm9p
ZCBzZXREZXZpY2VTY2FsZUZhY3RvcihmbG9hdCk7CiAgICAgdm9pZCB3aW5kb3dBbmRWaWV3RnJh
bWVzQ2hhbmdlZChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHdpbmRvd0ZyYW1lSW5TY3JlZW5D
b29yZGluYXRlcywgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB2aWV3RnJhbWVJbldpbmRvd0Nv
b3JkaW5hdGVzKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAJKHJldmlzaW9uIDE2MTEwNykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjM1LDcgKzIzNSw2IEBA
IFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCAKICAgICAsIG1fYXJ0aWZp
Y2lhbFBsdWdpbkluaXRpYWxpemF0aW9uRGVsYXlFbmFibGVkKGZhbHNlKQogICAgICwgbV9zY3Jv
bGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkKGZhbHNlKQogICAgICwgbV9tYWluRnJhbWVJ
c1Njcm9sbGFibGUodHJ1ZSkKLSAgICAsIG1fd2luZG93SXNWaXNpYmxlKGZhbHNlKQogI2lmIEVO
QUJMRShQUklNQVJZX1NOQVBTSE9UVEVEX1BMVUdJTl9IRVVSSVNUSUMpCiAgICAgLCBtX3JlYWR5
VG9GaW5kUHJpbWFyeVNuYXBzaG90dGVkUGx1Z2luKGZhbHNlKQogICAgICwgbV9kaWRGaW5kUHJp
bWFyeVNuYXBzaG90dGVkUGx1Z2luKGZhbHNlKQpAQCAtMTkyMiw2ICsxOTIxLDE0IEBAIHZvaWQg
V2ViUGFnZTo6c2V0QWN0aXZlKGJvb2wgaXNBY3RpdmUpCiAKIHZvaWQgV2ViUGFnZTo6c2V0Vmll
d0lzVmlzaWJsZShib29sIGlzVmlzaWJsZSkKIHsKKyAgICBjb3JlUGFnZSgpLT5mb2N1c0NvbnRy
b2xsZXIoKS5zZXRDb250ZW50SXNWaXNpYmxlKGlzVmlzaWJsZSk7CisKKyNpZiBQTEFURk9STShN
QUMpCisgICAgLy8gVGVsbCBhbGwgb3VyIHBsdWctaW4gdmlld3MgdGhhdCB0aGUgd2luZG93IHZp
c2liaWxpdHkgY2hhbmdlZC4KKyAgICBmb3IgKGF1dG8qIHBsdWdpblZpZXcgOiBtX3BsdWdpblZp
ZXdzKQorICAgICAgICBwbHVnaW5WaWV3LT5zZXRJc1Zpc2libGUoaXNWaXNpYmxlKTsKKyNlbmRp
ZgorCiAgICAgaWYgKCFpc1Zpc2libGUpIHsKICAgICAgICAgbV9kcmF3aW5nQXJlYS0+c3VzcGVu
ZFBhaW50aW5nKCk7CiAgICAgICAgIG1fcGFnZS0+c3VzcGVuZFNjcmlwdGVkQW5pbWF0aW9ucygp
OwpAQCAtMTkyOSwxMCArMTkzNiw4IEBAIHZvaWQgV2ViUGFnZTo6c2V0Vmlld0lzVmlzaWJsZShi
b29sIGlzVmkKICAgICAgICAgbV9kcmF3aW5nQXJlYS0+cmVzdW1lUGFpbnRpbmcoKTsKICAgICAg
ICAgLy8gRklYTUU6IHRoaXMgc2VlbXMgcmVkdW5kYW50OyBmb3IgdGhlIHZpZXcgdG8gYmUgdmlz
aWJsZSB0aGUgd2luZG93IG11c3QgYmUgdmlzaWJsZSB0b28hCiAgICAgICAgIC8vIHJlZmFjdG9y
aW5nIGZvciBub3csIHdpbGwgY2hhbmdlIHRoZSBsb2dpYyBsYXRlci4KLSAgICAgICAgaWYgKG1f
d2luZG93SXNWaXNpYmxlKSB7Ci0gICAgICAgICAgICBtX3BhZ2UtPnJlc3VtZVNjcmlwdGVkQW5p
bWF0aW9ucygpOwotICAgICAgICAgICAgbV9wYWdlLT5yZXN1bWVBbmltYXRpbmdJbWFnZXMoKTsK
LSAgICAgICAgfQorICAgICAgICBtX3BhZ2UtPnJlc3VtZVNjcmlwdGVkQW5pbWF0aW9ucygpOwor
ICAgICAgICBtX3BhZ2UtPnJlc3VtZUFuaW1hdGluZ0ltYWdlcygpOwogICAgIH0KIAogICAgIHVw
ZGF0ZVZpc2liaWxpdHlTdGF0ZSgpOwpAQCAtMjA4OSw4ICsyMDk0LDYgQEAgdm9pZCBXZWJQYWdl
OjpzZXRWaWV3U3RhdGUoVmlld1N0YXRlOjpGbAogCiAgICAgLy8gV2Ugd2FudCB0byBtYWtlIHN1
cmUgdG8gdXBkYXRlIHRoZSBhY3RpdmUgc3RhdGUgd2hpbGUgaGlkZGVuLCBzbyBpZiB0aGUgdmll
dyBpcyBoaWRkZW4gdGhlbiB1cGRhdGUgdGhlIGFjdGl2ZSBzdGF0ZQogICAgIC8vIGVhcmx5IChp
biBjYXNlIGl0IGJlY29tZXMgdmlzaWJsZSksIGFuZCBpZiB0aGUgdmlldyB3YXMgdmlzaWJsZSB0
aGVuIHVwZGF0ZSBhY3RpdmUgc3RhdGUgbGF0ZXIgKGluIGNhc2UgaXQgaGlkZXMpLgotICAgIGlm
IChjaGFuZ2VkICYgVmlld1N0YXRlOjpXaW5kb3dJc1Zpc2libGUpCi0gICAgICAgIHNldFdpbmRv
d0lzVmlzaWJsZSh2aWV3U3RhdGUgJiBWaWV3U3RhdGU6OldpbmRvd0lzVmlzaWJsZSk7CiAgICAg
aWYgKGNoYW5nZWQgJiBWaWV3U3RhdGU6OklzRm9jdXNlZCkKICAgICAgICAgc2V0Rm9jdXNlZCh2
aWV3U3RhdGUgJiBWaWV3U3RhdGU6OklzRm9jdXNlZCk7CiAgICAgaWYgKGNoYW5nZWQgJiBWaWV3
U3RhdGU6OldpbmRvd0lzQWN0aXZlICYmICEobV92aWV3U3RhdGUgJiBWaWV3U3RhdGU6OklzVmlz
aWJsZSkpCkBAIC0zMDU4LDE5ICszMDYxLDYgQEAgdm9pZCBXZWJQYWdlOjpzZW5kU2V0V2luZG93
RnJhbWUoY29uc3QgRgogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0V2luZG93
RnJhbWUod2luZG93RnJhbWUpKTsKIH0KIAotdm9pZCBXZWJQYWdlOjpzZXRXaW5kb3dJc1Zpc2li
bGUoYm9vbCB3aW5kb3dJc1Zpc2libGUpCi17Ci0gICAgbV93aW5kb3dJc1Zpc2libGUgPSB3aW5k
b3dJc1Zpc2libGU7Ci0KLSAgICBjb3JlUGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS5zZXRDb250
YWluaW5nV2luZG93SXNWaXNpYmxlKHdpbmRvd0lzVmlzaWJsZSk7Ci0KLSNpZiBQTEFURk9STShN
QUMpCi0gICAgLy8gVGVsbCBhbGwgb3VyIHBsdWctaW4gdmlld3MgdGhhdCB0aGUgd2luZG93IHZp
c2liaWxpdHkgY2hhbmdlZC4KLSAgICBmb3IgKGF1dG8qIHBsdWdpblZpZXcgOiBtX3BsdWdpblZp
ZXdzKQotICAgICAgICBwbHVnaW5WaWV3LT5zZXRXaW5kb3dJc1Zpc2libGUod2luZG93SXNWaXNp
YmxlKTsKLSNlbmRpZgotfQotCiAjaWYgUExBVEZPUk0oTUFDKQogdm9pZCBXZWJQYWdlOjpzZXRM
YXllckhvc3RpbmdNb2RlKExheWVySG9zdGluZ01vZGUgbGF5ZXJIb3N0aW5nTW9kZSkKIHsKQEAg
LTMxMTksNyArMzEwOSw3IEBAIGJvb2wgV2ViUGFnZTo6d2luZG93SXNGb2N1c2VkKCkgY29uc3QK
IAogYm9vbCBXZWJQYWdlOjp3aW5kb3dBbmRXZWJQYWdlQXJlRm9jdXNlZCgpIGNvbnN0CiB7Ci0g
ICAgaWYgKCFtX3dpbmRvd0lzVmlzaWJsZSkKKyAgICBpZiAoIWlzVmlzaWJsZSgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gbV9wYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5p
c0ZvY3VzZWQoKSAmJiBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmlzQWN0aXZlKCk7CkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgJKHJldmlzaW9u
IDE2MTEwNykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM0Niw3ICszNDYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGRQ
bHVnaW5WaWV3KFBsdWdpblZpZXcqKTsKICAgICB2b2lkIHJlbW92ZVBsdWdpblZpZXcoUGx1Z2lu
VmlldyopOwogCi0gICAgYm9vbCB3aW5kb3dJc1Zpc2libGUoKSBjb25zdCB7IHJldHVybiBtX3dp
bmRvd0lzVmlzaWJsZTsgfQorICAgIGJvb2wgaXNWaXNpYmxlKCkgY29uc3QgeyByZXR1cm4gbV92
aWV3U3RhdGUgJiBWaWV3U3RhdGU6OklzVmlzaWJsZTsgfQogCiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIExheWVySG9zdGluZ01vZGUgbGF5ZXJIb3N0aW5nTW9kZSgpIGNvbnN0CkBAIC03MjksNyAr
NzI5LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNldEFjdGl2ZShib29sKTsKICAgICB2b2lkIHNl
dEZvY3VzZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRWaWV3SXNWaXNpYmxlKGJvb2wpOwotICAgIHZv
aWQgc2V0V2luZG93SXNWaXNpYmxlKGJvb2wpOwogICAgIHZvaWQgc2V0SW5pdGlhbEZvY3VzKGJv
b2wgZm9yd2FyZCwgYm9vbCBpc0tleWJvYXJkRXZlbnRWYWxpZCwgY29uc3QgV2ViS2V5Ym9hcmRF
dmVudCYpOwogICAgIHZvaWQgc2V0V2luZG93UmVzaXplclNpemUoY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYpOwogICAgIHZvaWQgc2V0SXNJbldpbmRvdyhib29sKTsKQEAgLTkwNCw5ICs5MDMsNiBA
QCBwcml2YXRlOgogCiAgICAgYm9vbCBtX21haW5GcmFtZUlzU2Nyb2xsYWJsZTsKIAotICAgIC8v
IFdoZXRoZXIgdGhlIGNvbnRhaW5pbmcgd2luZG93IGlzIHZpc2libGUgb3Igbm90LgotICAgIGJv
b2wgbV93aW5kb3dJc1Zpc2libGU7Ci0KICNpZiBFTkFCTEUoUFJJTUFSWV9TTkFQU0hPVFRFRF9Q
TFVHSU5fSEVVUklTVElDKQogICAgIGJvb2wgbV9yZWFkeVRvRmluZFByaW1hcnlTbmFwc2hvdHRl
ZFBsdWdpbjsKICAgICBib29sIG1fZGlkRmluZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdpbjsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MTEwOCkKKysrIFNvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEzLTEyLTI3ICBH
YXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1v
dmUgV2luZG93SXNWaXNpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjYyNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXZSBjdXJyZW50bHkgdHJhY2sgdmlzaWJpbGl0eSBpbiB0d28gd2F5cyAtIFZp
ZXdTdGF0ZTo6SXNWaXNpYmxlIGFuZCBWaWV3U3RhdGU6OldpbmRvd0lzVmlzaWJsZS4KKyAgICAg
ICAgVGhlIGxhdHRlciBkZXRlY3RzIHRoYXQgdGhlIGNvbnRlbnQgaXMgaGlkZGVuIGluIGZld2Vy
IGNhc2VzIHRoYXQgdGhlIGZvcm1lciwgYW5kIGFzIHN1Y2gsIHRoZQorICAgICAgICBmb3JtZXIg
aXMgYWx3YXlzIHByZWZlcmFibGUuCisKKyAgICAgICAgVGhpcyBhZmZlY3RzIHRoZSBoaWRkZW4g
c3RhdGUgcHJvdmlkZWQgdG8gRm9jdXNDb250cm9sbGVyOjpjb250ZW50QXJlYURpZFNob3dPckhp
ZGUgYW5kIHRvCisgICAgICAgIFBsdWdpbjo6d2luZG93VmlzaWJpbGl0eUNoYW5nZWQuCisKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3dpbmRvd1dp
bGxPcmRlck9uU2NyZWVuOl0pOgorICAgICAgICAoLVtXZWJWaWV3IF93aW5kb3dXaWxsT3JkZXJP
ZmZTY3JlZW46XSk6CisgICAgICAgICAgICAtIHJlbmFtZSBDb250YWluaW5nV2luZG93SXNWaXNp
YmxlIC0+IENvbnRlbnRJc1Zpc2libGUuCisKIDIwMTMtMTItMjUgIENvbW1pdCBRdWV1ZSAgPGNv
bW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0
IHIxNjEwMzMgYW5kIHIxNjEwNzQuCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCShyZXZpc2lvbiAxNjExMDcpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTM5MDcsNyArMzkwNyw3IEBAIC0gKHZvaWQpX3dpbmRv
d1dpbGxPcmRlck9uU2NyZWVuOihOU05vdGkKIAogICAgIGlmIChfcHJpdmF0ZSAmJiBfcHJpdmF0
ZS0+cGFnZSkgewogICAgICAgICBfcHJpdmF0ZS0+cGFnZS0+cmVzdW1lU2NyaXB0ZWRBbmltYXRp
b25zKCk7Ci0gICAgICAgIF9wcml2YXRlLT5wYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5zZXRDb250
YWluaW5nV2luZG93SXNWaXNpYmxlKHRydWUpOworICAgICAgICBfcHJpdmF0ZS0+cGFnZS0+Zm9j
dXNDb250cm9sbGVyKCkuc2V0Q29udGVudElzVmlzaWJsZSh0cnVlKTsKICAgICB9CiB9CiAKQEAg
LTM5MjAsNyArMzkyMCw3IEBAIC0gKHZvaWQpX3dpbmRvd1dpbGxPcmRlck9mZlNjcmVlbjooTlNO
b3QKIHsKICAgICBpZiAoX3ByaXZhdGUgJiYgX3ByaXZhdGUtPnBhZ2UpIHsKICAgICAgICAgX3By
aXZhdGUtPnBhZ2UtPnN1c3BlbmRTY3JpcHRlZEFuaW1hdGlvbnMoKTsKLSAgICAgICAgX3ByaXZh
dGUtPnBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLnNldENvbnRhaW5pbmdXaW5kb3dJc1Zpc2libGUo
ZmFsc2UpOworICAgICAgICBfcHJpdmF0ZS0+cGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuc2V0Q29u
dGVudElzVmlzaWJsZShmYWxzZSk7CiAgICAgfQogfQogCg==
</data>
<flag name="commit-queue"
          id="243731"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220070</attachid>
            <date>2013-12-27 22:31:15 -0800</date>
            <delta_ts>2013-12-28 12:56:23 -0800</delta_ts>
            <desc>Fix</desc>
            <filename>126270.2.patch</filename>
            <type>text/plain</type>
            <size>24021</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MTEwOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEzLTEyLTI3ICBHYXZpbiBC
YXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgV2lu
ZG93SXNWaXNpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjYyNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXZSBjdXJyZW50bHkgdHJhY2sgdmlzaWJpbGl0eSBpbiB0d28gd2F5cyAtIFZpZXdTdGF0
ZTo6SXNWaXNpYmxlIGFuZCBWaWV3U3RhdGU6OldpbmRvd0lzVmlzaWJsZS4KKyAgICAgICAgVGhl
IGxhdHRlciBkZXRlY3RzIHRoYXQgdGhlIGNvbnRlbnQgaXMgaGlkZGVuIGluIGZld2VyIGNhc2Vz
IHRoYXQgdGhlIGZvcm1lciwgYW5kIGFzIHN1Y2gsIHRoZQorICAgICAgICBmb3JtZXIgaXMgYWx3
YXlzIHByZWZlcmFibGUuCisKKyAgICAgICAgVGhpcyBhZmZlY3RzIHRoZSBoaWRkZW4gc3RhdGUg
cHJvdmlkZWQgdG8gRm9jdXNDb250cm9sbGVyOjpjb250ZW50QXJlYURpZFNob3dPckhpZGUgYW5k
IHRvCisgICAgICAgIFBsdWdpbjo6d2luZG93VmlzaWJpbGl0eUNoYW5nZWQuCisKKyAgICAgICAg
KiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGb2N1c0NvbnRyb2xsZXI6OkZvY3VzQ29udHJvbGxlcik6CisgICAg
ICAgIChXZWJDb3JlOjpGb2N1c0NvbnRyb2xsZXI6OnNldENvbnRlbnRJc1Zpc2libGUpOgorICAg
ICAgICAqIHBhZ2UvRm9jdXNDb250cm9sbGVyLmg6CisgICAgICAgICAgICAtIHJlbmFtZSBDb250
YWluaW5nV2luZG93SXNWaXNpYmxlIC0+IENvbnRlbnRJc1Zpc2libGUuCisKIDIwMTMtMTItMjcg
IERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIEFub3RoZXIgYXR0
ZW1wdCB0byBmaXggdGhlIFdpbmRvd3MgYnVpbGQgYWZ0ZXIgPGh0dHA6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzE2MTEwNj4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiAx
NjExMDcpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2luZyBjb3B5KQpA
QCAtNDgyLDcgKzQ4Miw3IEBAIF9fWk43V2ViQ29yZTE1Rm9jdXNDb250cm9sbGVyMTBzZXRGb2N1
c2UKIF9fWk43V2ViQ29yZTE1Rm9jdXNDb250cm9sbGVyMTVzZXRGb2N1c2VkRnJhbWVFTjNXVEYx
MFBhc3NSZWZQdHJJTlNfNUZyYW1lRUVFCiBfX1pON1dlYkNvcmUxNUZvY3VzQ29udHJvbGxlcjE1
c2V0SW5pdGlhbEZvY3VzRU5TXzE0Rm9jdXNEaXJlY3Rpb25FUE5TXzEzS2V5Ym9hcmRFdmVudEUK
IF9fWk43V2ViQ29yZTE1Rm9jdXNDb250cm9sbGVyMTdzZXRGb2N1c2VkRWxlbWVudEVQTlNfN0Vs
ZW1lbnRFTjNXVEYxMFBhc3NSZWZQdHJJTlNfNUZyYW1lRUVFTlNfMTRGb2N1c0RpcmVjdGlvbkUK
LV9fWk43V2ViQ29yZTE1Rm9jdXNDb250cm9sbGVyMjhzZXRDb250YWluaW5nV2luZG93SXNWaXNp
YmxlRWIKK19fWk43V2ViQ29yZTE1Rm9jdXNDb250cm9sbGVyMTlzZXRDb250ZW50SXNWaXNpYmxl
RWIKIF9fWk43V2ViQ29yZTE1Rm9jdXNDb250cm9sbGVyOXNldEFjdGl2ZUViCiBfX1pON1dlYkNv
cmUxNUdyYXBoaWNzQ29udGV4dDEwc3Ryb2tlUmVjdEVSS05TXzlGbG9hdFJlY3RFZgogX19aTjdX
ZWJDb3JlMTVHcmFwaGljc0NvbnRleHQxMWNsZWFyU2hhZG93RXYKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDE2MTEwNykKKysrIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYzLDcg
KzE2Myw3IEBAIEZvY3VzQ29udHJvbGxlcjo6Rm9jdXNDb250cm9sbGVyKFBhZ2UmIHAKICAgICAs
IG1faXNBY3RpdmUoZmFsc2UpCiAgICAgLCBtX2lzRm9jdXNlZChmYWxzZSkKICAgICAsIG1faXND
aGFuZ2luZ0ZvY3VzZWRGcmFtZShmYWxzZSkKLSAgICAsIG1fY29udGFpbmluZ1dpbmRvd0lzVmlz
aWJsZShmYWxzZSkKKyAgICAsIG1fY29udGVudElzVmlzaWJsZShmYWxzZSkKIHsKIH0KIApAQCAt
NjYzLDE4ICs2NjMsMTggQEAgc3RhdGljIHZvaWQgY29udGVudEFyZWFEaWRTaG93T3JIaWRlKFNj
cgogICAgICAgICBzY3JvbGxhYmxlQXJlYS0+Y29udGVudEFyZWFEaWRIaWRlKCk7CiB9CiAKLXZv
aWQgRm9jdXNDb250cm9sbGVyOjpzZXRDb250YWluaW5nV2luZG93SXNWaXNpYmxlKGJvb2wgY29u
dGFpbmluZ1dpbmRvd0lzVmlzaWJsZSkKK3ZvaWQgRm9jdXNDb250cm9sbGVyOjpzZXRDb250ZW50
SXNWaXNpYmxlKGJvb2wgY29udGVudElzVmlzaWJsZSkKIHsKLSAgICBpZiAobV9jb250YWluaW5n
V2luZG93SXNWaXNpYmxlID09IGNvbnRhaW5pbmdXaW5kb3dJc1Zpc2libGUpCisgICAgaWYgKG1f
Y29udGVudElzVmlzaWJsZSA9PSBjb250ZW50SXNWaXNpYmxlKQogICAgICAgICByZXR1cm47CiAK
LSAgICBtX2NvbnRhaW5pbmdXaW5kb3dJc1Zpc2libGUgPSBjb250YWluaW5nV2luZG93SXNWaXNp
YmxlOworICAgIG1fY29udGVudElzVmlzaWJsZSA9IGNvbnRlbnRJc1Zpc2libGU7CiAKICAgICBG
cmFtZVZpZXcqIHZpZXcgPSBtX3BhZ2UubWFpbkZyYW1lKCkudmlldygpOwogICAgIGlmICghdmll
dykKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29udGVudEFyZWFEaWRTaG93T3JIaWRlKHZpZXcs
IGNvbnRhaW5pbmdXaW5kb3dJc1Zpc2libGUpOworICAgIGNvbnRlbnRBcmVhRGlkU2hvd09ySGlk
ZSh2aWV3LCBjb250ZW50SXNWaXNpYmxlKTsKIAogICAgIGZvciAoRnJhbWUqIGZyYW1lID0gJm1f
cGFnZS5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50cmF2ZXJzZU5l
eHQoKSkgewogICAgICAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IGZyYW1lLT52aWV3KCk7CkBA
IC02ODksNyArNjg5LDcgQEAgdm9pZCBGb2N1c0NvbnRyb2xsZXI6OnNldENvbnRhaW5pbmdXaW5k
bwogICAgICAgICAgICAgU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVhID0gKml0OwogICAg
ICAgICAgICAgQVNTRVJUKHNjcm9sbGFibGVBcmVhLT5zY3JvbGxiYXJzQ2FuQmVBY3RpdmUoKSB8
fCBtX3BhZ2Uuc2hvdWxkU3VwcHJlc3NTY3JvbGxiYXJBbmltYXRpb25zKCkpOwogCi0gICAgICAg
ICAgICBjb250ZW50QXJlYURpZFNob3dPckhpZGUoc2Nyb2xsYWJsZUFyZWEsIGNvbnRhaW5pbmdX
aW5kb3dJc1Zpc2libGUpOworICAgICAgICAgICAgY29udGVudEFyZWFEaWRTaG93T3JIaWRlKHNj
cm9sbGFibGVBcmVhLCBjb250ZW50SXNWaXNpYmxlKTsKICAgICAgICAgfQogICAgIH0KIH0KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAkocmV2aXNpb24gMTYxMTA3KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtNzksOCArNzksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRGb2N1c2VkKGJvb2wpOwogICAg
IGJvb2wgaXNGb2N1c2VkKCkgY29uc3QgeyByZXR1cm4gbV9pc0ZvY3VzZWQ7IH0KIAotICAgIHZv
aWQgc2V0Q29udGFpbmluZ1dpbmRvd0lzVmlzaWJsZShib29sKTsKLSAgICBib29sIGNvbnRhaW5p
bmdXaW5kb3dJc1Zpc2libGUoKSBjb25zdCB7IHJldHVybiBtX2NvbnRhaW5pbmdXaW5kb3dJc1Zp
c2libGU7IH0KKyAgICB2b2lkIHNldENvbnRlbnRJc1Zpc2libGUoYm9vbCk7CiAKICAgICAvLyBU
aGVzZSBtZXRob2RzIGFyZSB1c2VkIGluIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET00ubW0uCiAg
ICAgRWxlbWVudCogbmV4dEZvY3VzYWJsZUVsZW1lbnQoRm9jdXNOYXZpZ2F0aW9uU2NvcGUsIE5v
ZGUqIHN0YXJ0LCBLZXlib2FyZEV2ZW50Kik7CkBAIC0xMTUsNyArMTE0LDcgQEAgcHJpdmF0ZToK
ICAgICBib29sIG1faXNBY3RpdmU7CiAgICAgYm9vbCBtX2lzRm9jdXNlZDsKICAgICBib29sIG1f
aXNDaGFuZ2luZ0ZvY3VzZWRGcmFtZTsKLSAgICBib29sIG1fY29udGFpbmluZ1dpbmRvd0lzVmlz
aWJsZTsKKyAgICBib29sIG1fY29udGVudElzVmlzaWJsZTsKIAogfTsKIApJbmRleDogU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTYxMTA4KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsNDggQEAKKzIwMTMtMTItMjcgIEdhdmluIEJhcnJhY2xvdWdoICA8
YmFycmFjbG91Z2hAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBXaW5kb3dJc1Zpc2libGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNjI3MAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGN1cnJl
bnRseSB0cmFjayB2aXNpYmlsaXR5IGluIHR3byB3YXlzIC0gVmlld1N0YXRlOjpJc1Zpc2libGUg
YW5kIFZpZXdTdGF0ZTo6V2luZG93SXNWaXNpYmxlLgorICAgICAgICBUaGUgbGF0dGVyIGRldGVj
dHMgdGhhdCB0aGUgY29udGVudCBpcyBoaWRkZW4gaW4gZmV3ZXIgY2FzZXMgdGhhdCB0aGUgZm9y
bWVyLCBhbmQgYXMgc3VjaCwgdGhlCisgICAgICAgIGZvcm1lciBpcyBhbHdheXMgcHJlZmVyYWJs
ZS4KKworICAgICAgICBUaGlzIGFmZmVjdHMgdGhlIGhpZGRlbiBzdGF0ZSBwcm92aWRlZCB0byBG
b2N1c0NvbnRyb2xsZXI6OmNvbnRlbnRBcmVhRGlkU2hvd09ySGlkZSBhbmQgdG8KKyAgICAgICAg
UGx1Z2luOjp3aW5kb3dWaXNpYmlsaXR5Q2hhbmdlZC4KKworICAgICAgICAqIFNoYXJlZC9WaWV3
U3RhdGUuaDoKKyAgICAgICAgICAgIC0gcmVtb3ZlIFdpbmRvd0lzVmlzaWJsZS4KKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLm1tOgorICAgICAgICAgICAgLSByZW1vdmUgaXNXaW5k
b3dWaXNpYmxlLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbToKKyAgICAg
ICAgKC1bV0tWaWV3IHZpZXdEaWRNb3ZlVG9XaW5kb3ddKToKKyAgICAgICAgKC1bV0tWaWV3IF93
aW5kb3dEaWRNaW5pYXR1cml6ZTpdKToKKyAgICAgICAgKC1bV0tWaWV3IF93aW5kb3dEaWREZW1p
bmlhdHVyaXplOl0pOgorICAgICAgICAoLVtXS1ZpZXcgX3dpbmRvd0RpZE9yZGVyT2ZmU2NyZWVu
Ol0pOgorICAgICAgICAoLVtXS1ZpZXcgX3dpbmRvd0RpZE9yZGVyT25TY3JlZW46XSk6CisgICAg
ICAgICAgICAtIHJlbW92ZSBWaWV3U3RhdGU6OldpbmRvd0lzVmlzaWJsZS4KKyAgICAgICAgKiBV
SVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAgICAgLSByZW1vdmUgaXNXaW5kb3dWaXNp
YmxlLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZVZpZXdTdGF0ZSk6CisgICAgICAgICAgICAtIHJlbW92
ZSBoYW5kbGluZyBvZiBWaWV3U3RhdGU6OldpbmRvd0lzVmlzaWJsZS4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZp
ZXc6OnNldElzVmlzaWJsZSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6OmRpZEluaXRp
YWxpemVQbHVnaW4pOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3Lmg6
CisgICAgICAgICAgICAtIHNldFdpbmRvd0lzVmlzaWJsZSAtPiBzZXRJc1Zpc2libGUuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpXZWJQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0Vmlld0lzVmlz
aWJsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldFZpZXdTdGF0ZSk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OndpbmRvd0FuZFdlYlBhZ2VBcmVGb2N1c2VkKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
Ojppc1Zpc2libGUpOgorICAgICAgICAgICAgLSByZW1vdmUgbV93aW5kb3dJc1Zpc2libGUsIHNl
dFdpbmRvd0lzVmlzaWJsZSAoaW1wbGVtZW50YXRpb24gbW92ZWQgdG8gc2V0Vmlld0lzVmlzaWJs
ZSkuCisKIDIwMTMtMTItMjcgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtpT1NdIFVwc3RyZWFtIFdlYkNvcmUvcGFnZSBjaGFuZ2VzCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvVmlld1N0YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
U2hhcmVkL1ZpZXdTdGF0ZS5oCShyZXZpc2lvbiAxNjExMDcpCisrKyBTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvVmlld1N0YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM0LDE0ICszNCwxMyBAQCBzdHJ1
Y3QgVmlld1N0YXRlIHsKICAgICAgICAgSXNGb2N1c2VkID0gMSA8PCAxLAogICAgICAgICBJc1Zp
c2libGUgPSAxIDw8IDIsCiAgICAgICAgIElzSW5XaW5kb3cgPSAxIDw8IDMsCi0gICAgICAgIFdp
bmRvd0lzVmlzaWJsZSA9IDEgPDwgNCwKLSAgICAgICAgSXNMYXllcldpbmRvd1NlcnZlckhvc3Rl
ZCA9IDEgPDwgNQorICAgICAgICBJc0xheWVyV2luZG93U2VydmVySG9zdGVkID0gMSA8PCA0CiAg
ICAgfTsKIAogICAgIHR5cGVkZWYgdW5zaWduZWQgRmxhZ3M7CiAKICAgICBzdGF0aWMgY29uc3Qg
RmxhZ3MgTm9GbGFncyA9IDA7Ci0gICAgc3RhdGljIGNvbnN0IEZsYWdzIEFsbEZsYWdzID0gV2lu
ZG93SXNBY3RpdmUgfCBJc0ZvY3VzZWQgfCBJc1Zpc2libGUgfCBJc0luV2luZG93IHwgV2luZG93
SXNWaXNpYmxlIHwgSXNMYXllcldpbmRvd1NlcnZlckhvc3RlZDsKKyAgICBzdGF0aWMgY29uc3Qg
RmxhZ3MgQWxsRmxhZ3MgPSBXaW5kb3dJc0FjdGl2ZSB8IElzRm9jdXNlZCB8IElzVmlzaWJsZSB8
IElzSW5XaW5kb3cgfCBJc0xheWVyV2luZG93U2VydmVySG9zdGVkOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgJKHJl
dmlzaW9uIDE2MTEwNykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEwNSw5ICsxMDUsNiBAQCBwdWJsaWM6CiAgICAgLy8gUmV0dXJu
IHdoZXRoZXIgdGhlIHZpZXcgaXMgdmlzaWJsZS4KICAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3Vmlz
aWJsZSgpID0gMDsKIAotICAgIC8vIFJldHVybiB3aGV0aGVyIHRoZSB3aW5kb3cgaXMgdmlzaWJs
ZS4KLSAgICB2aXJ0dWFsIGJvb2wgaXNXaW5kb3dWaXNpYmxlKCkgPSAwOwotCiAgICAgLy8gUmV0
dXJuIHdoZXRoZXIgdGhlIHZpZXcgaXMgaW4gYSB3aW5kb3cuCiAgICAgdmlydHVhbCBib29sIGlz
Vmlld0luV2luZG93KCkgPSAwOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAkocmV2aXNpb24gMTYxMTA3KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkyMSw4ICs5MjEsNiBAQCB2
b2lkIFdlYlBhZ2VQcm94eTo6c2Nyb2xsVmlldyhjb25zdCBJbnRSCiB2b2lkIFdlYlBhZ2VQcm94
eTo6dXBkYXRlVmlld1N0YXRlKFZpZXdTdGF0ZTo6RmxhZ3MgZmxhZ3NUb1VwZGF0ZSkKIHsKICAg
ICBtX3ZpZXdTdGF0ZSAmPSB+ZmxhZ3NUb1VwZGF0ZTsKLSAgICBpZiAoZmxhZ3NUb1VwZGF0ZSAm
IFZpZXdTdGF0ZTo6V2luZG93SXNWaXNpYmxlICYmIG1fcGFnZUNsaWVudC5pc1dpbmRvd1Zpc2li
bGUoKSkKLSAgICAgICAgbV92aWV3U3RhdGUgfD0gVmlld1N0YXRlOjpXaW5kb3dJc1Zpc2libGU7
CiAgICAgaWYgKGZsYWdzVG9VcGRhdGUgJiBWaWV3U3RhdGU6OklzRm9jdXNlZCAmJiBtX3BhZ2VD
bGllbnQuaXNWaWV3Rm9jdXNlZCgpKQogICAgICAgICBtX3ZpZXdTdGF0ZSB8PSBWaWV3U3RhdGU6
OklzRm9jdXNlZDsKICAgICBpZiAoZmxhZ3NUb1VwZGF0ZSAmIFZpZXdTdGF0ZTo6V2luZG93SXNB
Y3RpdmUgJiYgbV9wYWdlQ2xpZW50LmlzVmlld1dpbmRvd0FjdGl2ZSgpKQpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcAko
cmV2aXNpb24gMTYxMTA3KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFn
ZUNsaWVudEltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzksMTEgKzI3OSw2IEBAIHZvaWQg
UGFnZUNsaWVudEltcGw6OmhhbmRsZURvd25sb2FkUmVxdWUKICAgICB3ZWJraXRXZWJWaWV3QmFz
ZUhhbmRsZURvd25sb2FkUmVxdWVzdChXRUJLSVRfV0VCX1ZJRVdfQkFTRShtX3ZpZXdXaWRnZXQp
LCBkb3dubG9hZCk7CiB9CiAKLWJvb2wgUGFnZUNsaWVudEltcGw6OmlzV2luZG93VmlzaWJsZSgp
Ci17Ci0gICAgcmV0dXJuIHdlYmtpdFdlYlZpZXdCYXNlSXNXaW5kb3dWaXNpYmxlKFdFQktJVF9X
RUJfVklFV19CQVNFKG1fdmlld1dpZGdldCkpOwotfQotCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpk
aWRDb21taXRMb2FkRm9yTWFpbkZyYW1lKCkKIHsKICAgICB3ZWJraXRXZWJWaWV3QmFzZVJlc2V0
Q2xpY2tDb3VudGVyKFdFQktJVF9XRUJfVklFV19CQVNFKG1fdmlld1dpZGdldCkpOwpJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5o
CShyZXZpc2lvbiAxNjExMDcpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9Q
YWdlQ2xpZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC05Niw3ICs5Niw2IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCB2b2lkIGdldEVkaXRvckNvbW1hbmRzRm9yS2V5RXZlbnQoY29uc3QgTmF0
aXZlV2ViS2V5Ym9hcmRFdmVudCYsIGNvbnN0IEF0b21pY1N0cmluZyYsIFZlY3RvcjxXVEY6OlN0
cmluZz4mKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVGV4dElucHV0U3RhdGUo
KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnREcmFnKGNvbnN0IFdlYkNvcmU6OkRy
YWdEYXRhJiwgUGFzc1JlZlB0cjxTaGFyZWFibGVCaXRtYXA+IGRyYWdJbWFnZSkgT1ZFUlJJREU7
Ci0gICAgdmlydHVhbCBib29sIGlzV2luZG93VmlzaWJsZSgpIE9WRVJSSURFOwogCiAjaWYgVVNF
KEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIHZpcnR1YWwgdm9pZCBlbnRlckFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdNb2RlKGNvbnN0IExheWVyVHJlZUNvbnRleHQmKSBPVkVSUklERTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvUGFnZUNsaWVu
dEltcGxJT1MuaAkocmV2aXNpb24gMTYxMTA3KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAkod29ya2luZyBjb3B5KQpAQCAtNTQsNyArNTQs
NiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBpc1ZpZXdXaW5kb3dBY3RpdmUoKSBPVkVS
UklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3Rm9jdXNlZCgpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgYm9vbCBpc1ZpZXdWaXNpYmxlKCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBib29sIGlz
V2luZG93VmlzaWJsZSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc1ZpZXdJbldpbmRv
dygpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzRGlkQ3Jhc2goKSBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVsYXVuY2hQcm9jZXNzKCkgT1ZFUlJJREU7CkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2lvcy9QYWdlQ2xpZW50
SW1wbElPUy5tbQkocmV2aXNpb24gMTYxMTA3KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTEwMywxMiAr
MTAzLDYgQEAgYm9vbCBQYWdlQ2xpZW50SW1wbDo6aXNWaWV3VmlzaWJsZSgpCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLWJvb2wgUGFnZUNsaWVudEltcGw6OmlzV2luZG93VmlzaWJsZSgpCi17Ci0g
ICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogYm9vbCBQYWdlQ2xp
ZW50SW1wbDo6aXNWaWV3SW5XaW5kb3coKQogewogICAgIHJldHVybiBbbV92aWV3IHdpbmRvd107
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGll
bnRJbXBsLmgJKHJldmlzaW9uIDE2MTEwNykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvbWFjL1BhZ2VDbGllbnRJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTY0LDcgKzY0LDYgQEAg
cHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3V2luZG93QWN0aXZlKCk7CiAgICAgdmly
dHVhbCBib29sIGlzVmlld0ZvY3VzZWQoKTsKICAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3VmlzaWJs
ZSgpOwotICAgIHZpcnR1YWwgYm9vbCBpc1dpbmRvd1Zpc2libGUoKTsKICAgICB2aXJ0dWFsIGJv
b2wgaXNWaWV3SW5XaW5kb3coKTsKICNpZiBIQVZFKExBWUVSX0hPU1RJTkdfSU5fV0lORE9XX1NF
UlZFUikKICAgICB2aXJ0dWFsIGJvb2wgaXNMYXllcldpbmRvd1NlcnZlckhvc3RlZCgpOwpJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudElt
cGwubW0JKHJldmlzaW9uIDE2MTEwNykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
bWFjL1BhZ2VDbGllbnRJbXBsLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yMDksMTEgKzIwOSw2IEBA
IGJvb2wgUGFnZUNsaWVudEltcGw6OmlzVmlld1Zpc2libGUoKQogICAgIHJldHVybiB0cnVlOwog
fQogCi1ib29sIFBhZ2VDbGllbnRJbXBsOjppc1dpbmRvd1Zpc2libGUoKQotewotICAgIHJldHVy
biBbW21fd2tWaWV3IHdpbmRvd10gaXNWaXNpYmxlXTsKLX0KLQogYm9vbCBQYWdlQ2xpZW50SW1w
bDo6aXNWaWV3SW5XaW5kb3coKQogewogICAgIHJldHVybiBbbV93a1ZpZXcgd2luZG93XTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0JKHJldmlzaW9u
IDE2MTEwNykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQko
d29ya2luZyBjb3B5KQpAQCAtMTg4Miw3ICsxODgyLDcgQEAgLSAodm9pZCl2aWV3RGlkTW92ZVRv
V2luZG93CiAgICAgICAgIF9kYXRhLT5fd2luZG93SGFzVmFsaWRCYWNraW5nU3RvcmUgPSBOTzsK
ICAgICAgICAgW3NlbGYgZG9XaW5kb3dEaWRDaGFuZ2VTY3JlZW5dOwogCi0gICAgICAgIFZpZXdT
dGF0ZTo6RmxhZ3Mgdmlld1N0YXRlQ2hhbmdlcyA9IFZpZXdTdGF0ZTo6V2luZG93SXNWaXNpYmxl
IHwgVmlld1N0YXRlOjpXaW5kb3dJc0FjdGl2ZSB8IFZpZXdTdGF0ZTo6SXNWaXNpYmxlOworICAg
ICAgICBWaWV3U3RhdGU6OkZsYWdzIHZpZXdTdGF0ZUNoYW5nZXMgPSBWaWV3U3RhdGU6OldpbmRv
d0lzQWN0aXZlIHwgVmlld1N0YXRlOjpJc1Zpc2libGU7CiAgICAgICAgIGlmIChbc2VsZiBpc0Rl
ZmVycmluZ1ZpZXdJbldpbmRvd0NoYW5nZXNdKQogICAgICAgICAgICAgX2RhdGEtPl92aWV3SW5X
aW5kb3dDaGFuZ2VXYXNEZWZlcnJlZCA9IFlFUzsKICAgICAgICAgZWxzZQpAQCAtMTkwMCw3ICsx
OTAwLDcgQEAgLSAodm9pZCl2aWV3RGlkTW92ZVRvV2luZG93CiAKICAgICAgICAgW3NlbGYgX2Fj
Y2Vzc2liaWxpdHlSZWdpc3RlclVJUHJvY2Vzc1Rva2Vuc107CiAgICAgfSBlbHNlIHsKLSAgICAg
ICAgVmlld1N0YXRlOjpGbGFncyB2aWV3U3RhdGVDaGFuZ2VzID0gVmlld1N0YXRlOjpXaW5kb3dJ
c1Zpc2libGUgfCBWaWV3U3RhdGU6OldpbmRvd0lzQWN0aXZlIHwgVmlld1N0YXRlOjpJc1Zpc2li
bGU7CisgICAgICAgIFZpZXdTdGF0ZTo6RmxhZ3Mgdmlld1N0YXRlQ2hhbmdlcyA9IFZpZXdTdGF0
ZTo6V2luZG93SXNBY3RpdmUgfCBWaWV3U3RhdGU6OklzVmlzaWJsZTsKICAgICAgICAgaWYgKFtz
ZWxmIGlzRGVmZXJyaW5nVmlld0luV2luZG93Q2hhbmdlc10pCiAgICAgICAgICAgICBfZGF0YS0+
X3ZpZXdJbldpbmRvd0NoYW5nZVdhc0RlZmVycmVkID0gWUVTOwogICAgICAgICBlbHNlCkBAIC0x
OTQ3LDEyICsxOTQ3LDEyIEBAIC0gKHZvaWQpX3dpbmRvd0RpZFJlc2lnbktleTooTlNOb3RpZmlj
YXQKIC0gKHZvaWQpX3dpbmRvd0RpZE1pbmlhdHVyaXplOihOU05vdGlmaWNhdGlvbiAqKW5vdGlm
aWNhdGlvbgogewogICAgIF9kYXRhLT5fd2luZG93SGFzVmFsaWRCYWNraW5nU3RvcmUgPSBOTzsK
LSAgICBfZGF0YS0+X3BhZ2UtPnZpZXdTdGF0ZURpZENoYW5nZShWaWV3U3RhdGU6OldpbmRvd0lz
VmlzaWJsZSk7CisgICAgX2RhdGEtPl9wYWdlLT52aWV3U3RhdGVEaWRDaGFuZ2UoVmlld1N0YXRl
OjpJc1Zpc2libGUpOwogfQogCiAtICh2b2lkKV93aW5kb3dEaWREZW1pbmlhdHVyaXplOihOU05v
dGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgogewotICAgIF9kYXRhLT5fcGFnZS0+dmlld1N0YXRl
RGlkQ2hhbmdlKFZpZXdTdGF0ZTo6V2luZG93SXNWaXNpYmxlKTsKKyAgICBfZGF0YS0+X3BhZ2Ut
PnZpZXdTdGF0ZURpZENoYW5nZShWaWV3U3RhdGU6OklzVmlzaWJsZSk7CiB9CiAKIC0gKHZvaWQp
X3dpbmRvd0RpZE1vdmU6KE5TTm90aWZpY2F0aW9uICopbm90aWZpY2F0aW9uCkBAIC0xOTY5LDEy
ICsxOTY5LDEyIEBAIC0gKHZvaWQpX3dpbmRvd0RpZFJlc2l6ZTooTlNOb3RpZmljYXRpb24KIAog
LSAodm9pZClfd2luZG93RGlkT3JkZXJPZmZTY3JlZW46KE5TTm90aWZpY2F0aW9uICopbm90aWZp
Y2F0aW9uCiB7Ci0gICAgX2RhdGEtPl9wYWdlLT52aWV3U3RhdGVEaWRDaGFuZ2UoVmlld1N0YXRl
OjpXaW5kb3dJc1Zpc2libGUgfCBWaWV3U3RhdGU6OklzVmlzaWJsZSB8IFZpZXdTdGF0ZTo6V2lu
ZG93SXNBY3RpdmUpOworICAgIF9kYXRhLT5fcGFnZS0+dmlld1N0YXRlRGlkQ2hhbmdlKFZpZXdT
dGF0ZTo6SXNWaXNpYmxlIHwgVmlld1N0YXRlOjpXaW5kb3dJc0FjdGl2ZSk7CiB9CiAKIC0gKHZv
aWQpX3dpbmRvd0RpZE9yZGVyT25TY3JlZW46KE5TTm90aWZpY2F0aW9uICopbm90aWZpY2F0aW9u
CiB7Ci0gICAgX2RhdGEtPl9wYWdlLT52aWV3U3RhdGVEaWRDaGFuZ2UoVmlld1N0YXRlOjpXaW5k
b3dJc1Zpc2libGUgfCBWaWV3U3RhdGU6OklzVmlzaWJsZSB8IFZpZXdTdGF0ZTo6V2luZG93SXNB
Y3RpdmUpOworICAgIF9kYXRhLT5fcGFnZS0+dmlld1N0YXRlRGlkQ2hhbmdlKFZpZXdTdGF0ZTo6
SXNWaXNpYmxlIHwgVmlld1N0YXRlOjpXaW5kb3dJc0FjdGl2ZSk7CiB9CiAKIC0gKHZvaWQpX3dp
bmRvd0RpZENoYW5nZUJhY2tpbmdQcm9wZXJ0aWVzOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNh
dGlvbgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
V2ViVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvV2ViVmlldy5jcHAJKHJldmlzaW9uIDE2MTEwNykKKysrIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zNDAsMTIgKzM0MCw2IEBAIGJvb2wgV2ViVmlldzo6aXNWaWV3VmlzaWJsZSgp
CiAgICAgcmV0dXJuIGlzVmlzaWJsZSgpOwogfQogCi1ib29sIFdlYlZpZXc6OmlzV2luZG93Vmlz
aWJsZSgpCi17Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQog
Ym9vbCBXZWJWaWV3Ojppc1ZpZXdJbldpbmRvdygpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZp
ZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9XZWJWaWV3LmgJKHJldmlzaW9uIDE2MTEwNykKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAt
MTQwLDcgKzE0MCw2IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3V2luZG93
QWN0aXZlKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGlzVmlld0ZvY3VzZWQoKSBPVkVS
UklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3VmlzaWJsZSgpIE9WRVJSSURFOwotICAgIHZp
cnR1YWwgYm9vbCBpc1dpbmRvd1Zpc2libGUoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wg
aXNWaWV3SW5XaW5kb3coKSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzRGlk
Q3Jhc2goKSBPVkVSUklERTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5WaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luVmlldy5jcHAJKHJldmlzaW9uIDE2MTEwNykKKysrIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDgyLDcgKzQ4Miw3IEBAIHZvaWQgUGx1Z2luVmlldzo6d2ViUGFnZURlc3Ryb3llZCgpCiB9CiAK
ICNpZiBQTEFURk9STShNQUMpICAgIAotdm9pZCBQbHVnaW5WaWV3OjpzZXRXaW5kb3dJc1Zpc2li
bGUoYm9vbCB3aW5kb3dJc1Zpc2libGUpCit2b2lkIFBsdWdpblZpZXc6OnNldElzVmlzaWJsZShi
b29sIHdpbmRvd0lzVmlzaWJsZSkKIHsKICAgICBpZiAoIW1faXNJbml0aWFsaXplZCB8fCAhbV9w
bHVnaW4pCiAgICAgICAgIHJldHVybjsKQEAgLTYyNCw3ICs2MjQsNyBAQCB2b2lkIFBsdWdpblZp
ZXc6OmRpZEluaXRpYWxpemVQbHVnaW4oKQogICAgICAgICAgICAgbV9wbHVnaW5FbGVtZW50LT5k
aXNwYXRjaFBlbmRpbmdNb3VzZUNsaWNrKCk7CiAgICAgfQogCi0gICAgc2V0V2luZG93SXNWaXNp
YmxlKG1fd2ViUGFnZS0+d2luZG93SXNWaXNpYmxlKCkpOworICAgIHNldElzVmlzaWJsZShtX3dl
YlBhZ2UtPmlzVmlzaWJsZSgpKTsKICAgICBzZXRXaW5kb3dJc0ZvY3VzZWQobV93ZWJQYWdlLT53
aW5kb3dJc0ZvY3VzZWQoKSk7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5oCShyZXZpc2lvbiAxNjExMDcpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5oCSh3b3JraW5nIGNvcHkp
CkBAIC02OSw3ICs2OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIG1hbnVhbExvYWREaWRGYWlsKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKIAogI2lmIFBMQVRGT1JNKE1BQykKLSAgICB2
b2lkIHNldFdpbmRvd0lzVmlzaWJsZShib29sKTsKKyAgICB2b2lkIHNldElzVmlzaWJsZShib29s
KTsKICAgICB2b2lkIHNldFdpbmRvd0lzRm9jdXNlZChib29sKTsKICAgICB2b2lkIHNldERldmlj
ZVNjYWxlRmFjdG9yKGZsb2F0KTsKICAgICB2b2lkIHdpbmRvd0FuZFZpZXdGcmFtZXNDaGFuZ2Vk
KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgd2luZG93RnJhbWVJblNjcmVlbkNvb3JkaW5hdGVz
LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHZpZXdGcmFtZUluV2luZG93Q29vcmRpbmF0ZXMp
OwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAkocmV2aXNpb24gMTYxMTA3KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzUsNyArMjM1LDYgQEAgV2ViUGFnZTo6
V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IAogICAgICwgbV9hcnRpZmljaWFsUGx1Z2lu
SW5pdGlhbGl6YXRpb25EZWxheUVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX3Njcm9sbGluZ1BlcmZv
cm1hbmNlTG9nZ2luZ0VuYWJsZWQoZmFsc2UpCiAgICAgLCBtX21haW5GcmFtZUlzU2Nyb2xsYWJs
ZSh0cnVlKQotICAgICwgbV93aW5kb3dJc1Zpc2libGUoZmFsc2UpCiAjaWYgRU5BQkxFKFBSSU1B
UllfU05BUFNIT1RURURfUExVR0lOX0hFVVJJU1RJQykKICAgICAsIG1fcmVhZHlUb0ZpbmRQcmlt
YXJ5U25hcHNob3R0ZWRQbHVnaW4oZmFsc2UpCiAgICAgLCBtX2RpZEZpbmRQcmltYXJ5U25hcHNo
b3R0ZWRQbHVnaW4oZmFsc2UpCkBAIC0xOTIyLDYgKzE5MjEsMTQgQEAgdm9pZCBXZWJQYWdlOjpz
ZXRBY3RpdmUoYm9vbCBpc0FjdGl2ZSkKIAogdm9pZCBXZWJQYWdlOjpzZXRWaWV3SXNWaXNpYmxl
KGJvb2wgaXNWaXNpYmxlKQogeworICAgIGNvcmVQYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLnNl
dENvbnRlbnRJc1Zpc2libGUoaXNWaXNpYmxlKTsKKworI2lmIFBMQVRGT1JNKE1BQykKKyAgICAv
LyBUZWxsIGFsbCBvdXIgcGx1Zy1pbiB2aWV3cyB0aGF0IHRoZSB3aW5kb3cgdmlzaWJpbGl0eSBj
aGFuZ2VkLgorICAgIGZvciAoYXV0byogcGx1Z2luVmlldyA6IG1fcGx1Z2luVmlld3MpCisgICAg
ICAgIHBsdWdpblZpZXctPnNldElzVmlzaWJsZShpc1Zpc2libGUpOworI2VuZGlmCisKICAgICBp
ZiAoIWlzVmlzaWJsZSkgewogICAgICAgICBtX2RyYXdpbmdBcmVhLT5zdXNwZW5kUGFpbnRpbmco
KTsKICAgICAgICAgbV9wYWdlLT5zdXNwZW5kU2NyaXB0ZWRBbmltYXRpb25zKCk7CkBAIC0xOTI5
LDEwICsxOTM2LDggQEAgdm9pZCBXZWJQYWdlOjpzZXRWaWV3SXNWaXNpYmxlKGJvb2wgaXNWaQog
ICAgICAgICBtX2RyYXdpbmdBcmVhLT5yZXN1bWVQYWludGluZygpOwogICAgICAgICAvLyBGSVhN
RTogdGhpcyBzZWVtcyByZWR1bmRhbnQ7IGZvciB0aGUgdmlldyB0byBiZSB2aXNpYmxlIHRoZSB3
aW5kb3cgbXVzdCBiZSB2aXNpYmxlIHRvbyEKICAgICAgICAgLy8gcmVmYWN0b3JpbmcgZm9yIG5v
dywgd2lsbCBjaGFuZ2UgdGhlIGxvZ2ljIGxhdGVyLgotICAgICAgICBpZiAobV93aW5kb3dJc1Zp
c2libGUpIHsKLSAgICAgICAgICAgIG1fcGFnZS0+cmVzdW1lU2NyaXB0ZWRBbmltYXRpb25zKCk7
Ci0gICAgICAgICAgICBtX3BhZ2UtPnJlc3VtZUFuaW1hdGluZ0ltYWdlcygpOwotICAgICAgICB9
CisgICAgICAgIG1fcGFnZS0+cmVzdW1lU2NyaXB0ZWRBbmltYXRpb25zKCk7CisgICAgICAgIG1f
cGFnZS0+cmVzdW1lQW5pbWF0aW5nSW1hZ2VzKCk7CiAgICAgfQogCiAgICAgdXBkYXRlVmlzaWJp
bGl0eVN0YXRlKCk7CkBAIC0yMDg5LDggKzIwOTQsNiBAQCB2b2lkIFdlYlBhZ2U6OnNldFZpZXdT
dGF0ZShWaWV3U3RhdGU6OkZsCiAKICAgICAvLyBXZSB3YW50IHRvIG1ha2Ugc3VyZSB0byB1cGRh
dGUgdGhlIGFjdGl2ZSBzdGF0ZSB3aGlsZSBoaWRkZW4sIHNvIGlmIHRoZSB2aWV3IGlzIGhpZGRl
biB0aGVuIHVwZGF0ZSB0aGUgYWN0aXZlIHN0YXRlCiAgICAgLy8gZWFybHkgKGluIGNhc2UgaXQg
YmVjb21lcyB2aXNpYmxlKSwgYW5kIGlmIHRoZSB2aWV3IHdhcyB2aXNpYmxlIHRoZW4gdXBkYXRl
IGFjdGl2ZSBzdGF0ZSBsYXRlciAoaW4gY2FzZSBpdCBoaWRlcykuCi0gICAgaWYgKGNoYW5nZWQg
JiBWaWV3U3RhdGU6OldpbmRvd0lzVmlzaWJsZSkKLSAgICAgICAgc2V0V2luZG93SXNWaXNpYmxl
KHZpZXdTdGF0ZSAmIFZpZXdTdGF0ZTo6V2luZG93SXNWaXNpYmxlKTsKICAgICBpZiAoY2hhbmdl
ZCAmIFZpZXdTdGF0ZTo6SXNGb2N1c2VkKQogICAgICAgICBzZXRGb2N1c2VkKHZpZXdTdGF0ZSAm
IFZpZXdTdGF0ZTo6SXNGb2N1c2VkKTsKICAgICBpZiAoY2hhbmdlZCAmIFZpZXdTdGF0ZTo6V2lu
ZG93SXNBY3RpdmUgJiYgIShtX3ZpZXdTdGF0ZSAmIFZpZXdTdGF0ZTo6SXNWaXNpYmxlKSkKQEAg
LTMwNTgsMTkgKzMwNjEsNiBAQCB2b2lkIFdlYlBhZ2U6OnNlbmRTZXRXaW5kb3dGcmFtZShjb25z
dCBGCiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTZXRXaW5kb3dGcmFtZSh3aW5k
b3dGcmFtZSkpOwogfQogCi12b2lkIFdlYlBhZ2U6OnNldFdpbmRvd0lzVmlzaWJsZShib29sIHdp
bmRvd0lzVmlzaWJsZSkKLXsKLSAgICBtX3dpbmRvd0lzVmlzaWJsZSA9IHdpbmRvd0lzVmlzaWJs
ZTsKLQotICAgIGNvcmVQYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLnNldENvbnRhaW5pbmdXaW5k
b3dJc1Zpc2libGUod2luZG93SXNWaXNpYmxlKTsKLQotI2lmIFBMQVRGT1JNKE1BQykKLSAgICAv
LyBUZWxsIGFsbCBvdXIgcGx1Zy1pbiB2aWV3cyB0aGF0IHRoZSB3aW5kb3cgdmlzaWJpbGl0eSBj
aGFuZ2VkLgotICAgIGZvciAoYXV0byogcGx1Z2luVmlldyA6IG1fcGx1Z2luVmlld3MpCi0gICAg
ICAgIHBsdWdpblZpZXctPnNldFdpbmRvd0lzVmlzaWJsZSh3aW5kb3dJc1Zpc2libGUpOwotI2Vu
ZGlmCi19Ci0KICNpZiBQTEFURk9STShNQUMpCiB2b2lkIFdlYlBhZ2U6OnNldExheWVySG9zdGlu
Z01vZGUoTGF5ZXJIb3N0aW5nTW9kZSBsYXllckhvc3RpbmdNb2RlKQogewpAQCAtMzExOSw3ICsz
MTA5LDcgQEAgYm9vbCBXZWJQYWdlOjp3aW5kb3dJc0ZvY3VzZWQoKSBjb25zdAogCiBib29sIFdl
YlBhZ2U6OndpbmRvd0FuZFdlYlBhZ2VBcmVGb2N1c2VkKCkgY29uc3QKIHsKLSAgICBpZiAoIW1f
d2luZG93SXNWaXNpYmxlKQorICAgIGlmICghaXNWaXNpYmxlKCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIHJldHVybiBtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmlzRm9jdXNlZCgp
ICYmIG1fcGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuaXNBY3RpdmUoKTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkocmV2aXNpb24gMTYxMTA3KQor
KysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkod29ya2luZyBj
b3B5KQpAQCAtMzQ2LDcgKzM0Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZFBsdWdpblZpZXco
UGx1Z2luVmlldyopOwogICAgIHZvaWQgcmVtb3ZlUGx1Z2luVmlldyhQbHVnaW5WaWV3Kik7CiAK
LSAgICBib29sIHdpbmRvd0lzVmlzaWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1fd2luZG93SXNWaXNp
YmxlOyB9CisgICAgYm9vbCBpc1Zpc2libGUoKSBjb25zdCB7IHJldHVybiBtX3ZpZXdTdGF0ZSAm
IFZpZXdTdGF0ZTo6SXNWaXNpYmxlOyB9CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgTGF5ZXJI
b3N0aW5nTW9kZSBsYXllckhvc3RpbmdNb2RlKCkgY29uc3QKQEAgLTcyOSw3ICs3MjksNiBAQCBw
cml2YXRlOgogICAgIHZvaWQgc2V0QWN0aXZlKGJvb2wpOwogICAgIHZvaWQgc2V0Rm9jdXNlZChi
b29sKTsKICAgICB2b2lkIHNldFZpZXdJc1Zpc2libGUoYm9vbCk7Ci0gICAgdm9pZCBzZXRXaW5k
b3dJc1Zpc2libGUoYm9vbCk7CiAgICAgdm9pZCBzZXRJbml0aWFsRm9jdXMoYm9vbCBmb3J3YXJk
LCBib29sIGlzS2V5Ym9hcmRFdmVudFZhbGlkLCBjb25zdCBXZWJLZXlib2FyZEV2ZW50Jik7CiAg
ICAgdm9pZCBzZXRXaW5kb3dSZXNpemVyU2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJik7CiAg
ICAgdm9pZCBzZXRJc0luV2luZG93KGJvb2wpOwpAQCAtOTA0LDkgKzkwMyw2IEBAIHByaXZhdGU6
CiAKICAgICBib29sIG1fbWFpbkZyYW1lSXNTY3JvbGxhYmxlOwogCi0gICAgLy8gV2hldGhlciB0
aGUgY29udGFpbmluZyB3aW5kb3cgaXMgdmlzaWJsZSBvciBub3QuCi0gICAgYm9vbCBtX3dpbmRv
d0lzVmlzaWJsZTsKLQogI2lmIEVOQUJMRShQUklNQVJZX1NOQVBTSE9UVEVEX1BMVUdJTl9IRVVS
SVNUSUMpCiAgICAgYm9vbCBtX3JlYWR5VG9GaW5kUHJpbWFyeVNuYXBzaG90dGVkUGx1Z2luOwog
ICAgIGJvb2wgbV9kaWRGaW5kUHJpbWFyeVNuYXBzaG90dGVkUGx1Z2luOwpJbmRleDogU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZwkocmV2aXNpb24gMTYxMTA4KQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTMtMTItMjcgIEdhdmluIEJhcnJh
Y2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBXaW5kb3dJ
c1Zpc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyNjI3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFdlIGN1cnJlbnRseSB0cmFjayB2aXNpYmlsaXR5IGluIHR3byB3YXlzIC0gVmlld1N0YXRlOjpJ
c1Zpc2libGUgYW5kIFZpZXdTdGF0ZTo6V2luZG93SXNWaXNpYmxlLgorICAgICAgICBUaGUgbGF0
dGVyIGRldGVjdHMgdGhhdCB0aGUgY29udGVudCBpcyBoaWRkZW4gaW4gZmV3ZXIgY2FzZXMgdGhh
dCB0aGUgZm9ybWVyLCBhbmQgYXMgc3VjaCwgdGhlCisgICAgICAgIGZvcm1lciBpcyBhbHdheXMg
cHJlZmVyYWJsZS4KKworICAgICAgICBUaGlzIGFmZmVjdHMgdGhlIGhpZGRlbiBzdGF0ZSBwcm92
aWRlZCB0byBGb2N1c0NvbnRyb2xsZXI6OmNvbnRlbnRBcmVhRGlkU2hvd09ySGlkZSBhbmQgdG8K
KyAgICAgICAgUGx1Z2luOjp3aW5kb3dWaXNpYmlsaXR5Q2hhbmdlZC4KKworICAgICAgICAqIFdl
YlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfd2luZG93V2lsbE9yZGVyT25T
Y3JlZW46XSk6CisgICAgICAgICgtW1dlYlZpZXcgX3dpbmRvd1dpbGxPcmRlck9mZlNjcmVlbjpd
KToKKyAgICAgICAgICAgIC0gcmVuYW1lIENvbnRhaW5pbmdXaW5kb3dJc1Zpc2libGUgLT4gQ29u
dGVudElzVmlzaWJsZS4KKwogMjAxMy0xMi0yNSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVl
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE2MTAzMyBh
bmQgcjE2MTA3NC4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJldmlz
aW9uIDE2MTEwNykKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkod29y
a2luZyBjb3B5KQpAQCAtMzkwNyw3ICszOTA3LDcgQEAgLSAodm9pZClfd2luZG93V2lsbE9yZGVy
T25TY3JlZW46KE5TTm90aQogCiAgICAgaWYgKF9wcml2YXRlICYmIF9wcml2YXRlLT5wYWdlKSB7
CiAgICAgICAgIF9wcml2YXRlLT5wYWdlLT5yZXN1bWVTY3JpcHRlZEFuaW1hdGlvbnMoKTsKLSAg
ICAgICAgX3ByaXZhdGUtPnBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLnNldENvbnRhaW5pbmdXaW5k
b3dJc1Zpc2libGUodHJ1ZSk7CisgICAgICAgIF9wcml2YXRlLT5wYWdlLT5mb2N1c0NvbnRyb2xs
ZXIoKS5zZXRDb250ZW50SXNWaXNpYmxlKHRydWUpOwogICAgIH0KIH0KIApAQCAtMzkyMCw3ICsz
OTIwLDcgQEAgLSAodm9pZClfd2luZG93V2lsbE9yZGVyT2ZmU2NyZWVuOihOU05vdAogewogICAg
IGlmIChfcHJpdmF0ZSAmJiBfcHJpdmF0ZS0+cGFnZSkgewogICAgICAgICBfcHJpdmF0ZS0+cGFn
ZS0+c3VzcGVuZFNjcmlwdGVkQW5pbWF0aW9ucygpOwotICAgICAgICBfcHJpdmF0ZS0+cGFnZS0+
Zm9jdXNDb250cm9sbGVyKCkuc2V0Q29udGFpbmluZ1dpbmRvd0lzVmlzaWJsZShmYWxzZSk7Cisg
ICAgICAgIF9wcml2YXRlLT5wYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5zZXRDb250ZW50SXNWaXNp
YmxlKGZhbHNlKTsKICAgICB9CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220078</attachid>
            <date>2013-12-28 12:56:23 -0800</date>
            <delta_ts>2014-01-02 11:53:31 -0800</delta_ts>
            <desc>gtk fix</desc>
            <filename>126270.3.patch</filename>
            <type>text/plain</type>
            <size>24757</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MTEwOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDEzLTEyLTI4ICBHYXZpbiBC
YXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgV2lu
ZG93SXNWaXNpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjYyNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXZSBjdXJyZW50bHkgdHJhY2sgdmlzaWJpbGl0eSBpbiB0d28gd2F5cyAtIFZpZXdTdGF0
ZTo6SXNWaXNpYmxlIGFuZCBWaWV3U3RhdGU6OldpbmRvd0lzVmlzaWJsZS4KKyAgICAgICAgVGhl
IGxhdHRlciBkZXRlY3RzIHRoYXQgdGhlIGNvbnRlbnQgaXMgaGlkZGVuIGluIGZld2VyIGNhc2Vz
IHRoYXQgdGhlIGZvcm1lciwgYW5kIGFzIHN1Y2gsIHRoZQorICAgICAgICBmb3JtZXIgaXMgYWx3
YXlzIHByZWZlcmFibGUuCisKKyAgICAgICAgVGhpcyBhZmZlY3RzIHRoZSBoaWRkZW4gc3RhdGUg
cHJvdmlkZWQgdG8gRm9jdXNDb250cm9sbGVyOjpjb250ZW50QXJlYURpZFNob3dPckhpZGUgYW5k
IHRvCisgICAgICAgIFBsdWdpbjo6d2luZG93VmlzaWJpbGl0eUNoYW5nZWQuCisKKyAgICAgICAg
KiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBwYWdlL0ZvY3VzQ29udHJvbGxlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGb2N1c0NvbnRyb2xsZXI6OkZvY3VzQ29udHJvbGxlcik6CisgICAg
ICAgIChXZWJDb3JlOjpGb2N1c0NvbnRyb2xsZXI6OnNldENvbnRlbnRJc1Zpc2libGUpOgorICAg
ICAgICAqIHBhZ2UvRm9jdXNDb250cm9sbGVyLmg6CisgICAgICAgICAgICAtIHJlbmFtZSBDb250
YWluaW5nV2luZG93SXNWaXNpYmxlIC0+IENvbnRlbnRJc1Zpc2libGUuCisKIDIwMTMtMTItMjcg
IERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIEFub3RoZXIgYXR0
ZW1wdCB0byBmaXggdGhlIFdpbmRvd3MgYnVpbGQgYWZ0ZXIgPGh0dHA6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzE2MTEwNj4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiAx
NjExMDcpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2luZyBjb3B5KQpA
QCAtNDgyLDcgKzQ4Miw3IEBAIF9fWk43V2ViQ29yZTE1Rm9jdXNDb250cm9sbGVyMTBzZXRGb2N1
c2UKIF9fWk43V2ViQ29yZTE1Rm9jdXNDb250cm9sbGVyMTVzZXRGb2N1c2VkRnJhbWVFTjNXVEYx
MFBhc3NSZWZQdHJJTlNfNUZyYW1lRUVFCiBfX1pON1dlYkNvcmUxNUZvY3VzQ29udHJvbGxlcjE1
c2V0SW5pdGlhbEZvY3VzRU5TXzE0Rm9jdXNEaXJlY3Rpb25FUE5TXzEzS2V5Ym9hcmRFdmVudEUK
IF9fWk43V2ViQ29yZTE1Rm9jdXNDb250cm9sbGVyMTdzZXRGb2N1c2VkRWxlbWVudEVQTlNfN0Vs
ZW1lbnRFTjNXVEYxMFBhc3NSZWZQdHJJTlNfNUZyYW1lRUVFTlNfMTRGb2N1c0RpcmVjdGlvbkUK
LV9fWk43V2ViQ29yZTE1Rm9jdXNDb250cm9sbGVyMjhzZXRDb250YWluaW5nV2luZG93SXNWaXNp
YmxlRWIKK19fWk43V2ViQ29yZTE1Rm9jdXNDb250cm9sbGVyMTlzZXRDb250ZW50SXNWaXNpYmxl
RWIKIF9fWk43V2ViQ29yZTE1Rm9jdXNDb250cm9sbGVyOXNldEFjdGl2ZUViCiBfX1pON1dlYkNv
cmUxNUdyYXBoaWNzQ29udGV4dDEwc3Ryb2tlUmVjdEVSS05TXzlGbG9hdFJlY3RFZgogX19aTjdX
ZWJDb3JlMTVHcmFwaGljc0NvbnRleHQxMWNsZWFyU2hhZG93RXYKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZvY3VzQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDE2MTEwNykKKysrIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYzLDcg
KzE2Myw3IEBAIEZvY3VzQ29udHJvbGxlcjo6Rm9jdXNDb250cm9sbGVyKFBhZ2UmIHAKICAgICAs
IG1faXNBY3RpdmUoZmFsc2UpCiAgICAgLCBtX2lzRm9jdXNlZChmYWxzZSkKICAgICAsIG1faXND
aGFuZ2luZ0ZvY3VzZWRGcmFtZShmYWxzZSkKLSAgICAsIG1fY29udGFpbmluZ1dpbmRvd0lzVmlz
aWJsZShmYWxzZSkKKyAgICAsIG1fY29udGVudElzVmlzaWJsZShmYWxzZSkKIHsKIH0KIApAQCAt
NjYzLDE4ICs2NjMsMTggQEAgc3RhdGljIHZvaWQgY29udGVudEFyZWFEaWRTaG93T3JIaWRlKFNj
cgogICAgICAgICBzY3JvbGxhYmxlQXJlYS0+Y29udGVudEFyZWFEaWRIaWRlKCk7CiB9CiAKLXZv
aWQgRm9jdXNDb250cm9sbGVyOjpzZXRDb250YWluaW5nV2luZG93SXNWaXNpYmxlKGJvb2wgY29u
dGFpbmluZ1dpbmRvd0lzVmlzaWJsZSkKK3ZvaWQgRm9jdXNDb250cm9sbGVyOjpzZXRDb250ZW50
SXNWaXNpYmxlKGJvb2wgY29udGVudElzVmlzaWJsZSkKIHsKLSAgICBpZiAobV9jb250YWluaW5n
V2luZG93SXNWaXNpYmxlID09IGNvbnRhaW5pbmdXaW5kb3dJc1Zpc2libGUpCisgICAgaWYgKG1f
Y29udGVudElzVmlzaWJsZSA9PSBjb250ZW50SXNWaXNpYmxlKQogICAgICAgICByZXR1cm47CiAK
LSAgICBtX2NvbnRhaW5pbmdXaW5kb3dJc1Zpc2libGUgPSBjb250YWluaW5nV2luZG93SXNWaXNp
YmxlOworICAgIG1fY29udGVudElzVmlzaWJsZSA9IGNvbnRlbnRJc1Zpc2libGU7CiAKICAgICBG
cmFtZVZpZXcqIHZpZXcgPSBtX3BhZ2UubWFpbkZyYW1lKCkudmlldygpOwogICAgIGlmICghdmll
dykKICAgICAgICAgcmV0dXJuOwogCi0gICAgY29udGVudEFyZWFEaWRTaG93T3JIaWRlKHZpZXcs
IGNvbnRhaW5pbmdXaW5kb3dJc1Zpc2libGUpOworICAgIGNvbnRlbnRBcmVhRGlkU2hvd09ySGlk
ZSh2aWV3LCBjb250ZW50SXNWaXNpYmxlKTsKIAogICAgIGZvciAoRnJhbWUqIGZyYW1lID0gJm1f
cGFnZS5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUoKS50cmF2ZXJzZU5l
eHQoKSkgewogICAgICAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IGZyYW1lLT52aWV3KCk7CkBA
IC02ODksNyArNjg5LDcgQEAgdm9pZCBGb2N1c0NvbnRyb2xsZXI6OnNldENvbnRhaW5pbmdXaW5k
bwogICAgICAgICAgICAgU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVhID0gKml0OwogICAg
ICAgICAgICAgQVNTRVJUKHNjcm9sbGFibGVBcmVhLT5zY3JvbGxiYXJzQ2FuQmVBY3RpdmUoKSB8
fCBtX3BhZ2Uuc2hvdWxkU3VwcHJlc3NTY3JvbGxiYXJBbmltYXRpb25zKCkpOwogCi0gICAgICAg
ICAgICBjb250ZW50QXJlYURpZFNob3dPckhpZGUoc2Nyb2xsYWJsZUFyZWEsIGNvbnRhaW5pbmdX
aW5kb3dJc1Zpc2libGUpOworICAgICAgICAgICAgY29udGVudEFyZWFEaWRTaG93T3JIaWRlKHNj
cm9sbGFibGVBcmVhLCBjb250ZW50SXNWaXNpYmxlKTsKICAgICAgICAgfQogICAgIH0KIH0KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRm9jdXNDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAkocmV2aXNpb24gMTYxMTA3KQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9Gb2N1c0NvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtNzksOCArNzksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRGb2N1c2VkKGJvb2wpOwogICAg
IGJvb2wgaXNGb2N1c2VkKCkgY29uc3QgeyByZXR1cm4gbV9pc0ZvY3VzZWQ7IH0KIAotICAgIHZv
aWQgc2V0Q29udGFpbmluZ1dpbmRvd0lzVmlzaWJsZShib29sKTsKLSAgICBib29sIGNvbnRhaW5p
bmdXaW5kb3dJc1Zpc2libGUoKSBjb25zdCB7IHJldHVybiBtX2NvbnRhaW5pbmdXaW5kb3dJc1Zp
c2libGU7IH0KKyAgICB2b2lkIHNldENvbnRlbnRJc1Zpc2libGUoYm9vbCk7CiAKICAgICAvLyBU
aGVzZSBtZXRob2RzIGFyZSB1c2VkIGluIFdlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET00ubW0uCiAg
ICAgRWxlbWVudCogbmV4dEZvY3VzYWJsZUVsZW1lbnQoRm9jdXNOYXZpZ2F0aW9uU2NvcGUsIE5v
ZGUqIHN0YXJ0LCBLZXlib2FyZEV2ZW50Kik7CkBAIC0xMTUsNyArMTE0LDcgQEAgcHJpdmF0ZToK
ICAgICBib29sIG1faXNBY3RpdmU7CiAgICAgYm9vbCBtX2lzRm9jdXNlZDsKICAgICBib29sIG1f
aXNDaGFuZ2luZ0ZvY3VzZWRGcmFtZTsKLSAgICBib29sIG1fY29udGFpbmluZ1dpbmRvd0lzVmlz
aWJsZTsKKyAgICBib29sIG1fY29udGVudElzVmlzaWJsZTsKIAogfTsKIApJbmRleDogU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTYxMTEzKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsNDggQEAKKzIwMTMtMTItMjggIEdhdmluIEJhcnJhY2xvdWdoICA8
YmFycmFjbG91Z2hAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBXaW5kb3dJc1Zpc2libGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNjI3MAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGN1cnJl
bnRseSB0cmFjayB2aXNpYmlsaXR5IGluIHR3byB3YXlzIC0gVmlld1N0YXRlOjpJc1Zpc2libGUg
YW5kIFZpZXdTdGF0ZTo6V2luZG93SXNWaXNpYmxlLgorICAgICAgICBUaGUgbGF0dGVyIGRldGVj
dHMgdGhhdCB0aGUgY29udGVudCBpcyBoaWRkZW4gaW4gZmV3ZXIgY2FzZXMgdGhhdCB0aGUgZm9y
bWVyLCBhbmQgYXMgc3VjaCwgdGhlCisgICAgICAgIGZvcm1lciBpcyBhbHdheXMgcHJlZmVyYWJs
ZS4KKworICAgICAgICBUaGlzIGFmZmVjdHMgdGhlIGhpZGRlbiBzdGF0ZSBwcm92aWRlZCB0byBG
b2N1c0NvbnRyb2xsZXI6OmNvbnRlbnRBcmVhRGlkU2hvd09ySGlkZSBhbmQgdG8KKyAgICAgICAg
UGx1Z2luOjp3aW5kb3dWaXNpYmlsaXR5Q2hhbmdlZC4KKworICAgICAgICAqIFNoYXJlZC9WaWV3
U3RhdGUuaDoKKyAgICAgICAgICAgIC0gcmVtb3ZlIFdpbmRvd0lzVmlzaWJsZS4KKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLm1tOgorICAgICAgICAgICAgLSByZW1vdmUgaXNXaW5k
b3dWaXNpYmxlLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbToKKyAgICAg
ICAgKC1bV0tWaWV3IHZpZXdEaWRNb3ZlVG9XaW5kb3ddKToKKyAgICAgICAgKC1bV0tWaWV3IF93
aW5kb3dEaWRNaW5pYXR1cml6ZTpdKToKKyAgICAgICAgKC1bV0tWaWV3IF93aW5kb3dEaWREZW1p
bmlhdHVyaXplOl0pOgorICAgICAgICAoLVtXS1ZpZXcgX3dpbmRvd0RpZE9yZGVyT2ZmU2NyZWVu
Ol0pOgorICAgICAgICAoLVtXS1ZpZXcgX3dpbmRvd0RpZE9yZGVyT25TY3JlZW46XSk6CisgICAg
ICAgICAgICAtIHJlbW92ZSBWaWV3U3RhdGU6OldpbmRvd0lzVmlzaWJsZS4KKyAgICAgICAgKiBV
SVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAgICAgLSByZW1vdmUgaXNXaW5kb3dWaXNp
YmxlLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OnVwZGF0ZVZpZXdTdGF0ZSk6CisgICAgICAgICAgICAtIHJlbW92
ZSBoYW5kbGluZyBvZiBWaWV3U3RhdGU6OldpbmRvd0lzVmlzaWJsZS4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZp
ZXc6OnNldElzVmlzaWJsZSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblZpZXc6OmRpZEluaXRp
YWxpemVQbHVnaW4pOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3Lmg6
CisgICAgICAgICAgICAtIHNldFdpbmRvd0lzVmlzaWJsZSAtPiBzZXRJc1Zpc2libGUuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpXZWJQYWdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0Vmlld0lzVmlz
aWJsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldFZpZXdTdGF0ZSk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OndpbmRvd0FuZFdlYlBhZ2VBcmVGb2N1c2VkKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
Ojppc1Zpc2libGUpOgorICAgICAgICAgICAgLSByZW1vdmUgbV93aW5kb3dJc1Zpc2libGUsIHNl
dFdpbmRvd0lzVmlzaWJsZSAoaW1wbGVtZW50YXRpb24gbW92ZWQgdG8gc2V0Vmlld0lzVmlzaWJs
ZSkuCisKIDIwMTMtMTItMjggIEt3YW5nIFl1bCBTZW8gIDxza3l1bEBjb21wYW55MTAwLm5ldD4K
IAogICAgICAgICBbV0syXVtTT1VQXSBGaXggaGFuZGxpbmcgb2YgY29va2llcyB3aGVuIG5ldHdv
cmsgcHJvY2VzcyBpcyBlbmFibGVkCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVmlld1N0
YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL1ZpZXdTdGF0ZS5oCShy
ZXZpc2lvbiAxNjExMDcpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVmlld1N0YXRlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTM0LDE0ICszNCwxMyBAQCBzdHJ1Y3QgVmlld1N0YXRlIHsKICAgICAg
ICAgSXNGb2N1c2VkID0gMSA8PCAxLAogICAgICAgICBJc1Zpc2libGUgPSAxIDw8IDIsCiAgICAg
ICAgIElzSW5XaW5kb3cgPSAxIDw8IDMsCi0gICAgICAgIFdpbmRvd0lzVmlzaWJsZSA9IDEgPDwg
NCwKLSAgICAgICAgSXNMYXllcldpbmRvd1NlcnZlckhvc3RlZCA9IDEgPDwgNQorICAgICAgICBJ
c0xheWVyV2luZG93U2VydmVySG9zdGVkID0gMSA8PCA0CiAgICAgfTsKIAogICAgIHR5cGVkZWYg
dW5zaWduZWQgRmxhZ3M7CiAKICAgICBzdGF0aWMgY29uc3QgRmxhZ3MgTm9GbGFncyA9IDA7Ci0g
ICAgc3RhdGljIGNvbnN0IEZsYWdzIEFsbEZsYWdzID0gV2luZG93SXNBY3RpdmUgfCBJc0ZvY3Vz
ZWQgfCBJc1Zpc2libGUgfCBJc0luV2luZG93IHwgV2luZG93SXNWaXNpYmxlIHwgSXNMYXllcldp
bmRvd1NlcnZlckhvc3RlZDsKKyAgICBzdGF0aWMgY29uc3QgRmxhZ3MgQWxsRmxhZ3MgPSBXaW5k
b3dJc0FjdGl2ZSB8IElzRm9jdXNlZCB8IElzVmlzaWJsZSB8IElzSW5XaW5kb3cgfCBJc0xheWVy
V2luZG93U2VydmVySG9zdGVkOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgJKHJldmlzaW9uIDE2MTEwNykKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEw
NSw5ICsxMDUsNiBAQCBwdWJsaWM6CiAgICAgLy8gUmV0dXJuIHdoZXRoZXIgdGhlIHZpZXcgaXMg
dmlzaWJsZS4KICAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3VmlzaWJsZSgpID0gMDsKIAotICAgIC8v
IFJldHVybiB3aGV0aGVyIHRoZSB3aW5kb3cgaXMgdmlzaWJsZS4KLSAgICB2aXJ0dWFsIGJvb2wg
aXNXaW5kb3dWaXNpYmxlKCkgPSAwOwotCiAgICAgLy8gUmV0dXJuIHdoZXRoZXIgdGhlIHZpZXcg
aXMgaW4gYSB3aW5kb3cuCiAgICAgdmlydHVhbCBib29sIGlzVmlld0luV2luZG93KCkgPSAwOwog
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkocmV2aXNp
b24gMTYxMTA3KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTkyMSw4ICs5MjEsNiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2Ny
b2xsVmlldyhjb25zdCBJbnRSCiB2b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRlVmlld1N0YXRlKFZp
ZXdTdGF0ZTo6RmxhZ3MgZmxhZ3NUb1VwZGF0ZSkKIHsKICAgICBtX3ZpZXdTdGF0ZSAmPSB+Zmxh
Z3NUb1VwZGF0ZTsKLSAgICBpZiAoZmxhZ3NUb1VwZGF0ZSAmIFZpZXdTdGF0ZTo6V2luZG93SXNW
aXNpYmxlICYmIG1fcGFnZUNsaWVudC5pc1dpbmRvd1Zpc2libGUoKSkKLSAgICAgICAgbV92aWV3
U3RhdGUgfD0gVmlld1N0YXRlOjpXaW5kb3dJc1Zpc2libGU7CiAgICAgaWYgKGZsYWdzVG9VcGRh
dGUgJiBWaWV3U3RhdGU6OklzRm9jdXNlZCAmJiBtX3BhZ2VDbGllbnQuaXNWaWV3Rm9jdXNlZCgp
KQogICAgICAgICBtX3ZpZXdTdGF0ZSB8PSBWaWV3U3RhdGU6OklzRm9jdXNlZDsKICAgICBpZiAo
ZmxhZ3NUb1VwZGF0ZSAmIFZpZXdTdGF0ZTo6V2luZG93SXNBY3RpdmUgJiYgbV9wYWdlQ2xpZW50
LmlzVmlld1dpbmRvd0FjdGl2ZSgpKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmNwcAkocmV2aXNpb24gMTYxMTA3KQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNzksMTEgKzI3OSw2IEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OmhhbmRs
ZURvd25sb2FkUmVxdWUKICAgICB3ZWJraXRXZWJWaWV3QmFzZUhhbmRsZURvd25sb2FkUmVxdWVz
dChXRUJLSVRfV0VCX1ZJRVdfQkFTRShtX3ZpZXdXaWRnZXQpLCBkb3dubG9hZCk7CiB9CiAKLWJv
b2wgUGFnZUNsaWVudEltcGw6OmlzV2luZG93VmlzaWJsZSgpCi17Ci0gICAgcmV0dXJuIHdlYmtp
dFdlYlZpZXdCYXNlSXNXaW5kb3dWaXNpYmxlKFdFQktJVF9XRUJfVklFV19CQVNFKG1fdmlld1dp
ZGdldCkpOwotfQotCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRDb21taXRMb2FkRm9yTWFpbkZy
YW1lKCkKIHsKICAgICB3ZWJraXRXZWJWaWV3QmFzZVJlc2V0Q2xpY2tDb3VudGVyKFdFQktJVF9X
RUJfVklFV19CQVNFKG1fdmlld1dpZGdldCkpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCShyZXZpc2lvbiAxNjExMDcpCisr
KyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC05Niw3ICs5Niw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGdl
dEVkaXRvckNvbW1hbmRzRm9yS2V5RXZlbnQoY29uc3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYs
IGNvbnN0IEF0b21pY1N0cmluZyYsIFZlY3RvcjxXVEY6OlN0cmluZz4mKSBPVkVSUklERTsKICAg
ICB2aXJ0dWFsIHZvaWQgdXBkYXRlVGV4dElucHV0U3RhdGUoKSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgc3RhcnREcmFnKGNvbnN0IFdlYkNvcmU6OkRyYWdEYXRhJiwgUGFzc1JlZlB0cjxT
aGFyZWFibGVCaXRtYXA+IGRyYWdJbWFnZSkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBib29sIGlz
V2luZG93VmlzaWJsZSgpIE9WRVJSSURFOwogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQogICAgIHZpcnR1YWwgdm9pZCBlbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKGNv
bnN0IExheWVyVHJlZUNvbnRleHQmKSBPVkVSUklERTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAJKHJldmlz
aW9uIDE2MTEwNykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdl
YlZpZXdCYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk2LDcgKzE5Niw3IEBAIHN0YXRpYyBn
Ym9vbGVhbiB0b3BsZXZlbFdpbmRvd1Zpc2liaWxpdHkKICAgICBib29sIGlzV2luZG93VmlzaWJs
ZSA9IHZpc2liaWxpdHlFdmVudC0+c3RhdGUgIT0gR0RLX1ZJU0lCSUxJVFlfRlVMTFlfT0JTQ1VS
RUQ7CiAgICAgaWYgKHByaXYtPmlzV2luZG93VmlzaWJsZSAhPSBpc1dpbmRvd1Zpc2libGUpIHsK
ICAgICAgICAgcHJpdi0+aXNXaW5kb3dWaXNpYmxlID0gaXNXaW5kb3dWaXNpYmxlOwotICAgICAg
ICBwcml2LT5wYWdlUHJveHktPnZpZXdTdGF0ZURpZENoYW5nZShWaWV3U3RhdGU6OldpbmRvd0lz
VmlzaWJsZSk7CisgICAgICAgIHByaXYtPnBhZ2VQcm94eS0+dmlld1N0YXRlRGlkQ2hhbmdlKFZp
ZXdTdGF0ZTo6SXNWaXNpYmxlKTsKICAgICB9CiAKICAgICByZXR1cm4gRkFMU0U7CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLmgJKHJldmlzaW9uIDE2MTEwNykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgJKHdvcmtpbmcgY29weSkKQEAgLTU0LDcgKzU0LDYgQEAg
cHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3V2luZG93QWN0aXZlKCkgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCBib29sIGlzVmlld0ZvY3VzZWQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFs
IGJvb2wgaXNWaWV3VmlzaWJsZSgpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgYm9vbCBpc1dpbmRv
d1Zpc2libGUoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3SW5XaW5kb3coKSBP
VkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgcHJvY2Vzc0RpZENyYXNoKCkgT1ZFUlJJREU7CiAg
ICAgdmlydHVhbCB2b2lkIGRpZFJlbGF1bmNoUHJvY2VzcygpIE9WRVJSSURFOwpJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvUGFnZUNsaWVudEltcGxJ
T1MubW0JKHJldmlzaW9uIDE2MTEwNykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsMTIgKzEwMyw2
IEBAIGJvb2wgUGFnZUNsaWVudEltcGw6OmlzVmlld1Zpc2libGUoKQogICAgIHJldHVybiB0cnVl
OwogfQogCi1ib29sIFBhZ2VDbGllbnRJbXBsOjppc1dpbmRvd1Zpc2libGUoKQotewotICAgIG5v
dEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIGJvb2wgUGFnZUNsaWVudElt
cGw6OmlzVmlld0luV2luZG93KCkKIHsKICAgICByZXR1cm4gW21fdmlldyB3aW5kb3ddOwpJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1w
bC5oCShyZXZpc2lvbiAxNjExMDcpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21h
Yy9QYWdlQ2xpZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC02NCw3ICs2NCw2IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCBib29sIGlzVmlld1dpbmRvd0FjdGl2ZSgpOwogICAgIHZpcnR1YWwg
Ym9vbCBpc1ZpZXdGb2N1c2VkKCk7CiAgICAgdmlydHVhbCBib29sIGlzVmlld1Zpc2libGUoKTsK
LSAgICB2aXJ0dWFsIGJvb2wgaXNXaW5kb3dWaXNpYmxlKCk7CiAgICAgdmlydHVhbCBib29sIGlz
Vmlld0luV2luZG93KCk7CiAjaWYgSEFWRShMQVlFUl9IT1NUSU5HX0lOX1dJTkRPV19TRVJWRVIp
CiAgICAgdmlydHVhbCBib29sIGlzTGF5ZXJXaW5kb3dTZXJ2ZXJIb3N0ZWQoKTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLm1t
CShyZXZpc2lvbiAxNjExMDcpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9Q
YWdlQ2xpZW50SW1wbC5tbQkod29ya2luZyBjb3B5KQpAQCAtMjA5LDExICsyMDksNiBAQCBib29s
IFBhZ2VDbGllbnRJbXBsOjppc1ZpZXdWaXNpYmxlKCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAot
Ym9vbCBQYWdlQ2xpZW50SW1wbDo6aXNXaW5kb3dWaXNpYmxlKCkKLXsKLSAgICByZXR1cm4gW1tt
X3drVmlldyB3aW5kb3ddIGlzVmlzaWJsZV07Ci19Ci0KIGJvb2wgUGFnZUNsaWVudEltcGw6Omlz
Vmlld0luV2luZG93KCkKIHsKICAgICByZXR1cm4gW21fd2tWaWV3IHdpbmRvd107CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCShyZXZpc2lvbiAxNjEx
MDcpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0JKHdvcmtp
bmcgY29weSkKQEAgLTE4ODIsNyArMTg4Miw3IEBAIC0gKHZvaWQpdmlld0RpZE1vdmVUb1dpbmRv
dwogICAgICAgICBfZGF0YS0+X3dpbmRvd0hhc1ZhbGlkQmFja2luZ1N0b3JlID0gTk87CiAgICAg
ICAgIFtzZWxmIGRvV2luZG93RGlkQ2hhbmdlU2NyZWVuXTsKIAotICAgICAgICBWaWV3U3RhdGU6
OkZsYWdzIHZpZXdTdGF0ZUNoYW5nZXMgPSBWaWV3U3RhdGU6OldpbmRvd0lzVmlzaWJsZSB8IFZp
ZXdTdGF0ZTo6V2luZG93SXNBY3RpdmUgfCBWaWV3U3RhdGU6OklzVmlzaWJsZTsKKyAgICAgICAg
Vmlld1N0YXRlOjpGbGFncyB2aWV3U3RhdGVDaGFuZ2VzID0gVmlld1N0YXRlOjpXaW5kb3dJc0Fj
dGl2ZSB8IFZpZXdTdGF0ZTo6SXNWaXNpYmxlOwogICAgICAgICBpZiAoW3NlbGYgaXNEZWZlcnJp
bmdWaWV3SW5XaW5kb3dDaGFuZ2VzXSkKICAgICAgICAgICAgIF9kYXRhLT5fdmlld0luV2luZG93
Q2hhbmdlV2FzRGVmZXJyZWQgPSBZRVM7CiAgICAgICAgIGVsc2UKQEAgLTE5MDAsNyArMTkwMCw3
IEBAIC0gKHZvaWQpdmlld0RpZE1vdmVUb1dpbmRvdwogCiAgICAgICAgIFtzZWxmIF9hY2Nlc3Np
YmlsaXR5UmVnaXN0ZXJVSVByb2Nlc3NUb2tlbnNdOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIFZp
ZXdTdGF0ZTo6RmxhZ3Mgdmlld1N0YXRlQ2hhbmdlcyA9IFZpZXdTdGF0ZTo6V2luZG93SXNWaXNp
YmxlIHwgVmlld1N0YXRlOjpXaW5kb3dJc0FjdGl2ZSB8IFZpZXdTdGF0ZTo6SXNWaXNpYmxlOwor
ICAgICAgICBWaWV3U3RhdGU6OkZsYWdzIHZpZXdTdGF0ZUNoYW5nZXMgPSBWaWV3U3RhdGU6Oldp
bmRvd0lzQWN0aXZlIHwgVmlld1N0YXRlOjpJc1Zpc2libGU7CiAgICAgICAgIGlmIChbc2VsZiBp
c0RlZmVycmluZ1ZpZXdJbldpbmRvd0NoYW5nZXNdKQogICAgICAgICAgICAgX2RhdGEtPl92aWV3
SW5XaW5kb3dDaGFuZ2VXYXNEZWZlcnJlZCA9IFlFUzsKICAgICAgICAgZWxzZQpAQCAtMTk0Nywx
MiArMTk0NywxMiBAQCAtICh2b2lkKV93aW5kb3dEaWRSZXNpZ25LZXk6KE5TTm90aWZpY2F0CiAt
ICh2b2lkKV93aW5kb3dEaWRNaW5pYXR1cml6ZTooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRp
b24KIHsKICAgICBfZGF0YS0+X3dpbmRvd0hhc1ZhbGlkQmFja2luZ1N0b3JlID0gTk87Ci0gICAg
X2RhdGEtPl9wYWdlLT52aWV3U3RhdGVEaWRDaGFuZ2UoVmlld1N0YXRlOjpXaW5kb3dJc1Zpc2li
bGUpOworICAgIF9kYXRhLT5fcGFnZS0+dmlld1N0YXRlRGlkQ2hhbmdlKFZpZXdTdGF0ZTo6SXNW
aXNpYmxlKTsKIH0KIAogLSAodm9pZClfd2luZG93RGlkRGVtaW5pYXR1cml6ZTooTlNOb3RpZmlj
YXRpb24gKilub3RpZmljYXRpb24KIHsKLSAgICBfZGF0YS0+X3BhZ2UtPnZpZXdTdGF0ZURpZENo
YW5nZShWaWV3U3RhdGU6OldpbmRvd0lzVmlzaWJsZSk7CisgICAgX2RhdGEtPl9wYWdlLT52aWV3
U3RhdGVEaWRDaGFuZ2UoVmlld1N0YXRlOjpJc1Zpc2libGUpOwogfQogCiAtICh2b2lkKV93aW5k
b3dEaWRNb3ZlOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgpAQCAtMTk2OSwxMiArMTk2
OSwxMiBAQCAtICh2b2lkKV93aW5kb3dEaWRSZXNpemU6KE5TTm90aWZpY2F0aW9uCiAKIC0gKHZv
aWQpX3dpbmRvd0RpZE9yZGVyT2ZmU2NyZWVuOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlv
bgogewotICAgIF9kYXRhLT5fcGFnZS0+dmlld1N0YXRlRGlkQ2hhbmdlKFZpZXdTdGF0ZTo6V2lu
ZG93SXNWaXNpYmxlIHwgVmlld1N0YXRlOjpJc1Zpc2libGUgfCBWaWV3U3RhdGU6OldpbmRvd0lz
QWN0aXZlKTsKKyAgICBfZGF0YS0+X3BhZ2UtPnZpZXdTdGF0ZURpZENoYW5nZShWaWV3U3RhdGU6
OklzVmlzaWJsZSB8IFZpZXdTdGF0ZTo6V2luZG93SXNBY3RpdmUpOwogfQogCiAtICh2b2lkKV93
aW5kb3dEaWRPcmRlck9uU2NyZWVuOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgogewot
ICAgIF9kYXRhLT5fcGFnZS0+dmlld1N0YXRlRGlkQ2hhbmdlKFZpZXdTdGF0ZTo6V2luZG93SXNW
aXNpYmxlIHwgVmlld1N0YXRlOjpJc1Zpc2libGUgfCBWaWV3U3RhdGU6OldpbmRvd0lzQWN0aXZl
KTsKKyAgICBfZGF0YS0+X3BhZ2UtPnZpZXdTdGF0ZURpZENoYW5nZShWaWV3U3RhdGU6OklzVmlz
aWJsZSB8IFZpZXdTdGF0ZTo6V2luZG93SXNBY3RpdmUpOwogfQogCiAtICh2b2lkKV93aW5kb3dE
aWRDaGFuZ2VCYWNraW5nUHJvcGVydGllczooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb24K
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL1dlYlZp
ZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db29yZGluYXRl
ZEdyYXBoaWNzL1dlYlZpZXcuY3BwCShyZXZpc2lvbiAxNjExMDcpCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzQwLDEyICszNDAsNiBAQCBib29sIFdlYlZpZXc6OmlzVmlld1Zpc2libGUoKQogICAg
IHJldHVybiBpc1Zpc2libGUoKTsKIH0KIAotYm9vbCBXZWJWaWV3Ojppc1dpbmRvd1Zpc2libGUo
KQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIGJvb2wg
V2ViVmlldzo6aXNWaWV3SW5XaW5kb3coKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvV2ViVmlldy5oCShyZXZpc2lvbiAxNjExMDcpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9XZWJWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTE0MCw3
ICsxNDAsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBib29sIGlzVmlld1dpbmRvd0FjdGl2
ZSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc1ZpZXdGb2N1c2VkKCkgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCBib29sIGlzVmlld1Zpc2libGUoKSBPVkVSUklERTsKLSAgICB2aXJ0dWFs
IGJvb2wgaXNXaW5kb3dWaXNpYmxlKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGlzVmll
d0luV2luZG93KCkgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIHZvaWQgcHJvY2Vzc0RpZENyYXNo
KCkgT1ZFUlJJREU7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblZpZXcuY3BwCShyZXZpc2lvbiAxNjExMDcpCisrKyBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4Miw3
ICs0ODIsNyBAQCB2b2lkIFBsdWdpblZpZXc6OndlYlBhZ2VEZXN0cm95ZWQoKQogfQogCiAjaWYg
UExBVEZPUk0oTUFDKSAgICAKLXZvaWQgUGx1Z2luVmlldzo6c2V0V2luZG93SXNWaXNpYmxlKGJv
b2wgd2luZG93SXNWaXNpYmxlKQordm9pZCBQbHVnaW5WaWV3OjpzZXRJc1Zpc2libGUoYm9vbCB3
aW5kb3dJc1Zpc2libGUpCiB7CiAgICAgaWYgKCFtX2lzSW5pdGlhbGl6ZWQgfHwgIW1fcGx1Z2lu
KQogICAgICAgICByZXR1cm47CkBAIC02MjQsNyArNjI0LDcgQEAgdm9pZCBQbHVnaW5WaWV3Ojpk
aWRJbml0aWFsaXplUGx1Z2luKCkKICAgICAgICAgICAgIG1fcGx1Z2luRWxlbWVudC0+ZGlzcGF0
Y2hQZW5kaW5nTW91c2VDbGljaygpOwogICAgIH0KIAotICAgIHNldFdpbmRvd0lzVmlzaWJsZSht
X3dlYlBhZ2UtPndpbmRvd0lzVmlzaWJsZSgpKTsKKyAgICBzZXRJc1Zpc2libGUobV93ZWJQYWdl
LT5pc1Zpc2libGUoKSk7CiAgICAgc2V0V2luZG93SXNGb2N1c2VkKG1fd2ViUGFnZS0+d2luZG93
SXNGb2N1c2VkKCkpOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5WaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuaAkocmV2aXNpb24gMTYxMTA3KQorKysgU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuaAkod29ya2luZyBjb3B5KQpAQCAt
NjksNyArNjksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBtYW51YWxMb2FkRGlkRmFpbChjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7CiAKICNpZiBQTEFURk9STShNQUMpCi0gICAgdm9pZCBz
ZXRXaW5kb3dJc1Zpc2libGUoYm9vbCk7CisgICAgdm9pZCBzZXRJc1Zpc2libGUoYm9vbCk7CiAg
ICAgdm9pZCBzZXRXaW5kb3dJc0ZvY3VzZWQoYm9vbCk7CiAgICAgdm9pZCBzZXREZXZpY2VTY2Fs
ZUZhY3RvcihmbG9hdCk7CiAgICAgdm9pZCB3aW5kb3dBbmRWaWV3RnJhbWVzQ2hhbmdlZChjb25z
dCBXZWJDb3JlOjpGbG9hdFJlY3QmIHdpbmRvd0ZyYW1lSW5TY3JlZW5Db29yZGluYXRlcywgY29u
c3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB2aWV3RnJhbWVJbldpbmRvd0Nvb3JkaW5hdGVzKTsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJl
dmlzaW9uIDE2MTEwNykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjM1LDcgKzIzNSw2IEBAIFdlYlBhZ2U6OldlYlBh
Z2UodWludDY0X3QgcGFnZUlELCBjb25zdCAKICAgICAsIG1fYXJ0aWZpY2lhbFBsdWdpbkluaXRp
YWxpemF0aW9uRGVsYXlFbmFibGVkKGZhbHNlKQogICAgICwgbV9zY3JvbGxpbmdQZXJmb3JtYW5j
ZUxvZ2dpbmdFbmFibGVkKGZhbHNlKQogICAgICwgbV9tYWluRnJhbWVJc1Njcm9sbGFibGUodHJ1
ZSkKLSAgICAsIG1fd2luZG93SXNWaXNpYmxlKGZhbHNlKQogI2lmIEVOQUJMRShQUklNQVJZX1NO
QVBTSE9UVEVEX1BMVUdJTl9IRVVSSVNUSUMpCiAgICAgLCBtX3JlYWR5VG9GaW5kUHJpbWFyeVNu
YXBzaG90dGVkUGx1Z2luKGZhbHNlKQogICAgICwgbV9kaWRGaW5kUHJpbWFyeVNuYXBzaG90dGVk
UGx1Z2luKGZhbHNlKQpAQCAtMTkyMiw2ICsxOTIxLDE0IEBAIHZvaWQgV2ViUGFnZTo6c2V0QWN0
aXZlKGJvb2wgaXNBY3RpdmUpCiAKIHZvaWQgV2ViUGFnZTo6c2V0Vmlld0lzVmlzaWJsZShib29s
IGlzVmlzaWJsZSkKIHsKKyAgICBjb3JlUGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS5zZXRDb250
ZW50SXNWaXNpYmxlKGlzVmlzaWJsZSk7CisKKyNpZiBQTEFURk9STShNQUMpCisgICAgLy8gVGVs
bCBhbGwgb3VyIHBsdWctaW4gdmlld3MgdGhhdCB0aGUgd2luZG93IHZpc2liaWxpdHkgY2hhbmdl
ZC4KKyAgICBmb3IgKGF1dG8qIHBsdWdpblZpZXcgOiBtX3BsdWdpblZpZXdzKQorICAgICAgICBw
bHVnaW5WaWV3LT5zZXRJc1Zpc2libGUoaXNWaXNpYmxlKTsKKyNlbmRpZgorCiAgICAgaWYgKCFp
c1Zpc2libGUpIHsKICAgICAgICAgbV9kcmF3aW5nQXJlYS0+c3VzcGVuZFBhaW50aW5nKCk7CiAg
ICAgICAgIG1fcGFnZS0+c3VzcGVuZFNjcmlwdGVkQW5pbWF0aW9ucygpOwpAQCAtMTkyOSwxMCAr
MTkzNiw4IEBAIHZvaWQgV2ViUGFnZTo6c2V0Vmlld0lzVmlzaWJsZShib29sIGlzVmkKICAgICAg
ICAgbV9kcmF3aW5nQXJlYS0+cmVzdW1lUGFpbnRpbmcoKTsKICAgICAgICAgLy8gRklYTUU6IHRo
aXMgc2VlbXMgcmVkdW5kYW50OyBmb3IgdGhlIHZpZXcgdG8gYmUgdmlzaWJsZSB0aGUgd2luZG93
IG11c3QgYmUgdmlzaWJsZSB0b28hCiAgICAgICAgIC8vIHJlZmFjdG9yaW5nIGZvciBub3csIHdp
bGwgY2hhbmdlIHRoZSBsb2dpYyBsYXRlci4KLSAgICAgICAgaWYgKG1fd2luZG93SXNWaXNpYmxl
KSB7Ci0gICAgICAgICAgICBtX3BhZ2UtPnJlc3VtZVNjcmlwdGVkQW5pbWF0aW9ucygpOwotICAg
ICAgICAgICAgbV9wYWdlLT5yZXN1bWVBbmltYXRpbmdJbWFnZXMoKTsKLSAgICAgICAgfQorICAg
ICAgICBtX3BhZ2UtPnJlc3VtZVNjcmlwdGVkQW5pbWF0aW9ucygpOworICAgICAgICBtX3BhZ2Ut
PnJlc3VtZUFuaW1hdGluZ0ltYWdlcygpOwogICAgIH0KIAogICAgIHVwZGF0ZVZpc2liaWxpdHlT
dGF0ZSgpOwpAQCAtMjA4OSw4ICsyMDk0LDYgQEAgdm9pZCBXZWJQYWdlOjpzZXRWaWV3U3RhdGUo
Vmlld1N0YXRlOjpGbAogCiAgICAgLy8gV2Ugd2FudCB0byBtYWtlIHN1cmUgdG8gdXBkYXRlIHRo
ZSBhY3RpdmUgc3RhdGUgd2hpbGUgaGlkZGVuLCBzbyBpZiB0aGUgdmlldyBpcyBoaWRkZW4gdGhl
biB1cGRhdGUgdGhlIGFjdGl2ZSBzdGF0ZQogICAgIC8vIGVhcmx5IChpbiBjYXNlIGl0IGJlY29t
ZXMgdmlzaWJsZSksIGFuZCBpZiB0aGUgdmlldyB3YXMgdmlzaWJsZSB0aGVuIHVwZGF0ZSBhY3Rp
dmUgc3RhdGUgbGF0ZXIgKGluIGNhc2UgaXQgaGlkZXMpLgotICAgIGlmIChjaGFuZ2VkICYgVmll
d1N0YXRlOjpXaW5kb3dJc1Zpc2libGUpCi0gICAgICAgIHNldFdpbmRvd0lzVmlzaWJsZSh2aWV3
U3RhdGUgJiBWaWV3U3RhdGU6OldpbmRvd0lzVmlzaWJsZSk7CiAgICAgaWYgKGNoYW5nZWQgJiBW
aWV3U3RhdGU6OklzRm9jdXNlZCkKICAgICAgICAgc2V0Rm9jdXNlZCh2aWV3U3RhdGUgJiBWaWV3
U3RhdGU6OklzRm9jdXNlZCk7CiAgICAgaWYgKGNoYW5nZWQgJiBWaWV3U3RhdGU6OldpbmRvd0lz
QWN0aXZlICYmICEobV92aWV3U3RhdGUgJiBWaWV3U3RhdGU6OklzVmlzaWJsZSkpCkBAIC0zMDU4
LDE5ICszMDYxLDYgQEAgdm9pZCBXZWJQYWdlOjpzZW5kU2V0V2luZG93RnJhbWUoY29uc3QgRgog
ICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6U2V0V2luZG93RnJhbWUod2luZG93RnJh
bWUpKTsKIH0KIAotdm9pZCBXZWJQYWdlOjpzZXRXaW5kb3dJc1Zpc2libGUoYm9vbCB3aW5kb3dJ
c1Zpc2libGUpCi17Ci0gICAgbV93aW5kb3dJc1Zpc2libGUgPSB3aW5kb3dJc1Zpc2libGU7Ci0K
LSAgICBjb3JlUGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS5zZXRDb250YWluaW5nV2luZG93SXNW
aXNpYmxlKHdpbmRvd0lzVmlzaWJsZSk7Ci0KLSNpZiBQTEFURk9STShNQUMpCi0gICAgLy8gVGVs
bCBhbGwgb3VyIHBsdWctaW4gdmlld3MgdGhhdCB0aGUgd2luZG93IHZpc2liaWxpdHkgY2hhbmdl
ZC4KLSAgICBmb3IgKGF1dG8qIHBsdWdpblZpZXcgOiBtX3BsdWdpblZpZXdzKQotICAgICAgICBw
bHVnaW5WaWV3LT5zZXRXaW5kb3dJc1Zpc2libGUod2luZG93SXNWaXNpYmxlKTsKLSNlbmRpZgot
fQotCiAjaWYgUExBVEZPUk0oTUFDKQogdm9pZCBXZWJQYWdlOjpzZXRMYXllckhvc3RpbmdNb2Rl
KExheWVySG9zdGluZ01vZGUgbGF5ZXJIb3N0aW5nTW9kZSkKIHsKQEAgLTMxMTksNyArMzEwOSw3
IEBAIGJvb2wgV2ViUGFnZTo6d2luZG93SXNGb2N1c2VkKCkgY29uc3QKIAogYm9vbCBXZWJQYWdl
Ojp3aW5kb3dBbmRXZWJQYWdlQXJlRm9jdXNlZCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3dpbmRv
d0lzVmlzaWJsZSkKKyAgICBpZiAoIWlzVmlzaWJsZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKICAgICByZXR1cm4gbV9wYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5pc0ZvY3VzZWQoKSAmJiBt
X3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmlzQWN0aXZlKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgJKHJldmlzaW9uIDE2MTEwNykKKysrIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTM0Niw3ICszNDYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBhZGRQbHVnaW5WaWV3KFBsdWdp
blZpZXcqKTsKICAgICB2b2lkIHJlbW92ZVBsdWdpblZpZXcoUGx1Z2luVmlldyopOwogCi0gICAg
Ym9vbCB3aW5kb3dJc1Zpc2libGUoKSBjb25zdCB7IHJldHVybiBtX3dpbmRvd0lzVmlzaWJsZTsg
fQorICAgIGJvb2wgaXNWaXNpYmxlKCkgY29uc3QgeyByZXR1cm4gbV92aWV3U3RhdGUgJiBWaWV3
U3RhdGU6OklzVmlzaWJsZTsgfQogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIExheWVySG9zdGlu
Z01vZGUgbGF5ZXJIb3N0aW5nTW9kZSgpIGNvbnN0CkBAIC03MjksNyArNzI5LDYgQEAgcHJpdmF0
ZToKICAgICB2b2lkIHNldEFjdGl2ZShib29sKTsKICAgICB2b2lkIHNldEZvY3VzZWQoYm9vbCk7
CiAgICAgdm9pZCBzZXRWaWV3SXNWaXNpYmxlKGJvb2wpOwotICAgIHZvaWQgc2V0V2luZG93SXNW
aXNpYmxlKGJvb2wpOwogICAgIHZvaWQgc2V0SW5pdGlhbEZvY3VzKGJvb2wgZm9yd2FyZCwgYm9v
bCBpc0tleWJvYXJkRXZlbnRWYWxpZCwgY29uc3QgV2ViS2V5Ym9hcmRFdmVudCYpOwogICAgIHZv
aWQgc2V0V2luZG93UmVzaXplclNpemUoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpOwogICAgIHZv
aWQgc2V0SXNJbldpbmRvdyhib29sKTsKQEAgLTkwNCw5ICs5MDMsNiBAQCBwcml2YXRlOgogCiAg
ICAgYm9vbCBtX21haW5GcmFtZUlzU2Nyb2xsYWJsZTsKIAotICAgIC8vIFdoZXRoZXIgdGhlIGNv
bnRhaW5pbmcgd2luZG93IGlzIHZpc2libGUgb3Igbm90LgotICAgIGJvb2wgbV93aW5kb3dJc1Zp
c2libGU7Ci0KICNpZiBFTkFCTEUoUFJJTUFSWV9TTkFQU0hPVFRFRF9QTFVHSU5fSEVVUklTVElD
KQogICAgIGJvb2wgbV9yZWFkeVRvRmluZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdpbjsKICAgICBi
b29sIG1fZGlkRmluZFByaW1hcnlTbmFwc2hvdHRlZFBsdWdpbjsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDE2MTEwOCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDEzLTEyLTI4ICBHYXZpbiBCYXJyYWNsb3Vn
aCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgV2luZG93SXNWaXNp
YmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjYy
NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBj
dXJyZW50bHkgdHJhY2sgdmlzaWJpbGl0eSBpbiB0d28gd2F5cyAtIFZpZXdTdGF0ZTo6SXNWaXNp
YmxlIGFuZCBWaWV3U3RhdGU6OldpbmRvd0lzVmlzaWJsZS4KKyAgICAgICAgVGhlIGxhdHRlciBk
ZXRlY3RzIHRoYXQgdGhlIGNvbnRlbnQgaXMgaGlkZGVuIGluIGZld2VyIGNhc2VzIHRoYXQgdGhl
IGZvcm1lciwgYW5kIGFzIHN1Y2gsIHRoZQorICAgICAgICBmb3JtZXIgaXMgYWx3YXlzIHByZWZl
cmFibGUuCisKKyAgICAgICAgVGhpcyBhZmZlY3RzIHRoZSBoaWRkZW4gc3RhdGUgcHJvdmlkZWQg
dG8gRm9jdXNDb250cm9sbGVyOjpjb250ZW50QXJlYURpZFNob3dPckhpZGUgYW5kIHRvCisgICAg
ICAgIFBsdWdpbjo6d2luZG93VmlzaWJpbGl0eUNoYW5nZWQuCisKKyAgICAgICAgKiBXZWJWaWV3
L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3dpbmRvd1dpbGxPcmRlck9uU2NyZWVu
Ol0pOgorICAgICAgICAoLVtXZWJWaWV3IF93aW5kb3dXaWxsT3JkZXJPZmZTY3JlZW46XSk6Cisg
ICAgICAgICAgICAtIHJlbmFtZSBDb250YWluaW5nV2luZG93SXNWaXNpYmxlIC0+IENvbnRlbnRJ
c1Zpc2libGUuCisKIDIwMTMtMTItMjUgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNjEwMzMgYW5kIHIx
NjEwNzQuCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAx
NjExMDcpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTM5MDcsNyArMzkwNyw3IEBAIC0gKHZvaWQpX3dpbmRvd1dpbGxPcmRlck9uU2Ny
ZWVuOihOU05vdGkKIAogICAgIGlmIChfcHJpdmF0ZSAmJiBfcHJpdmF0ZS0+cGFnZSkgewogICAg
ICAgICBfcHJpdmF0ZS0+cGFnZS0+cmVzdW1lU2NyaXB0ZWRBbmltYXRpb25zKCk7Ci0gICAgICAg
IF9wcml2YXRlLT5wYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5zZXRDb250YWluaW5nV2luZG93SXNW
aXNpYmxlKHRydWUpOworICAgICAgICBfcHJpdmF0ZS0+cGFnZS0+Zm9jdXNDb250cm9sbGVyKCku
c2V0Q29udGVudElzVmlzaWJsZSh0cnVlKTsKICAgICB9CiB9CiAKQEAgLTM5MjAsNyArMzkyMCw3
IEBAIC0gKHZvaWQpX3dpbmRvd1dpbGxPcmRlck9mZlNjcmVlbjooTlNOb3QKIHsKICAgICBpZiAo
X3ByaXZhdGUgJiYgX3ByaXZhdGUtPnBhZ2UpIHsKICAgICAgICAgX3ByaXZhdGUtPnBhZ2UtPnN1
c3BlbmRTY3JpcHRlZEFuaW1hdGlvbnMoKTsKLSAgICAgICAgX3ByaXZhdGUtPnBhZ2UtPmZvY3Vz
Q29udHJvbGxlcigpLnNldENvbnRhaW5pbmdXaW5kb3dJc1Zpc2libGUoZmFsc2UpOworICAgICAg
ICBfcHJpdmF0ZS0+cGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuc2V0Q29udGVudElzVmlzaWJsZShm
YWxzZSk7CiAgICAgfQogfQogCg==
</data>
<flag name="review"
          id="243744"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>