<?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>124961</bug_id>
          
          <creation_ts>2013-11-27 23:26:43 -0800</creation_ts>
          <short_desc>Perform some spring cleaning to WKContentView and WKView</short_desc>
          <delta_ts>2013-11-28 16:38:07 -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>New Bugs</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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>eflews.bot</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>nick.diego</cc>
    
    <cc>rego+ews</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>954666</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-11-27 23:26:43 -0800</bug_when>
    <thetext>Perform some spring cleaning to WKContentView and WKView</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954669</commentid>
    <comment_count>1</comment_count>
      <attachid>217983</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-11-27 23:42:31 -0800</bug_when>
    <thetext>Created attachment 217983
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954671</commentid>
    <comment_count>2</comment_count>
      <attachid>217983</attachid>
    <who name="">mitz</who>
    <bug_when>2013-11-28 00:08:38 -0800</bug_when>
    <thetext>Comment on attachment 217983
Patch

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

&gt; Source/WebKit2/UIProcess/API/ios/WKContentView.mm:28
&gt;  #import &quot;WKContentViewInternal.h&quot;
&gt; +#import &quot;WKContentViewPrivate.h&quot;

This shouldn’t be needed. Internal should import Private.

&gt; Source/WebKit2/UIProcess/API/ios/WKContentView.mm:39
&gt; +#import &quot;WKProcessGroupInternal.h&quot;
&gt;  #import &quot;WKProcessGroupPrivate.h&quot;

Private should be imported by Internal.

&gt; Source/WebKit2/UIProcess/API/ios/WKContentView.mm:66
&gt; +    // FIXME: Implement.
&gt; +    return nil;

Should release self before returning nil from an initializer.

&gt; Source/WebKit2/UIProcess/API/ios/WKContentView.mm:72
&gt; -    if (!(self = [super initWithFrame:frame]))
&gt; +    self = [super initWithFrame:frame];
&gt; +    if (!self)

Why?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954677</commentid>
    <comment_count>3</comment_count>
      <attachid>217983</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-11-28 00:26:58 -0800</bug_when>
    <thetext>Comment on attachment 217983
Patch

Attachment 217983 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/39388002</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954820</commentid>
    <comment_count>4</comment_count>
      <attachid>217983</attachid>
    <who name="">mitz</who>
    <bug_when>2013-11-28 12:33:10 -0800</bug_when>
    <thetext>Comment on attachment 217983
Patch

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

&gt; Source/WebKit2/UIProcess/API/ios/WKView.mm:28
&gt;  #import &quot;WKView.h&quot;
&gt; +#import &quot;WKViewPrivate.h&quot;

No need for #import &quot;WKView.h&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954824</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-11-28 12:58:29 -0800</bug_when>
    <thetext>Committed r159859: &lt;http://trac.webkit.org/changeset/159859&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954846</commentid>
    <comment_count>6</comment_count>
    <who name="Nick Diego Yamane (diegoyam)">nick.diego</who>
    <bug_when>2013-11-28 16:38:07 -0800</bug_when>
    <thetext>Bug to fix gtk build: https://bugs.webkit.org/show_bug.cgi?id=124992</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217983</attachid>
            <date>2013-11-27 23:42:31 -0800</date>
            <delta_ts>2013-11-28 12:33:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124961-20131127234231.patch</filename>
            <type>text/plain</type>
            <size>30817</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1OTgzNCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU5IEBACisyMDEzLTExLTI3ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUGVyZm9ybSBzb21lIHNwcmluZyBjbGVh
bmluZyB0byBXS0NvbnRlbnRWaWV3IGFuZCBXS1ZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDk2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIC0gU3RvcmUgdGhlIFBhZ2VDbGllbnRJbXBsIGluIGEg
c3RkOjp1bmlxdWVfcHRyLgorICAgICAgICAtIFJlbW92ZSB0aGUgV0tCcm93c2luZ0NvbnRleHRD
b250cm9sbGVyIGludGVybmFsIGxvYWQgZGVsZWdhdGUuIFJlcGxhY2UgaXRzIHVzZSB3aXRoCisg
ICAgICAgICAgYSBuZXcgUGFnZUNsaWVudCBmdW5jdGlvbiwgZGlkQ29tbWl0TG9hZEZvck1haW5G
cmFtZS4KKyAgICAgICAgLSBGaXggdHlwbyBpbiB0aGUgV0tDb250ZW50Vmlld0RlbGVnYXRlLiBj
b250ZW50Vmlld2RpZENvbW1pdExvYWRGb3JNYWluRnJhbWUgLT4gY29udGVudFZpZXdEaWRDb21t
aXRMb2FkRm9yTWFpbkZyYW1lLgorICAgICAgICAtIEFkZCBpbml0aWFsaXplcnMgZm9yIFdLQ29u
dGVudFZpZXcgYW5kIFdLVmlldyB0aGF0IHRha2UgV0tDb250ZXh0UmVmcyBhbmQgV0tQYWdlR3Jv
dXBSZWZzIHRvIG1hdGNoIHRoZSBNYWMgV0tWaWV3LgorICAgICAgICAgIFRoZXNlIGFyZSBuZWVk
ZWQgZm9yIFdlYktpdFRlc3RSdW5uZXIuCisgICAgICAgIC0gUmVxdWlyZSBhIFdLUHJvY2Vzc0dy
b3VwIChvciBXS0NvbnRleHRSZWYpIGFuZCBhIFdLQnJvd3NpbmdDb250ZXh0R3JvdXAgKG9yIFdL
UGFnZUdyb3VwUmVmKS4KKyAgICAgICAgLSBTdG9wIGNhY2hpbmcgdGhlIFdLUHJvY2Vzc0dyb3Vw
IGFuZCBXS0Jyb3dzaW5nQ29udGV4dEdyb3VwIG9uIHRoZSBXS0NvbnRlbnRWaWV3LgorICAgICAg
ICAtIFJlbW92ZSBpbmNvcnJlY3QgaW1wbGVtZW50YXRpb25zIG9mIGluaXRXaXRoQ29kZXIuCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAgICAoV2Vi
S2l0OjpQYWdlQ2xpZW50SW1wbDo6UGFnZUNsaWVudEltcGwpOgorICAgICAgICAoV2ViS2l0OjpQ
YWdlQ2xpZW50SW1wbDo6ZGlkQ29tbWl0TG9hZEZvck1haW5GcmFtZSk6CisgICAgICAgIChXZWJL
aXQ6OlBhZ2VDbGllbnRJbXBsOjptYWluRG9jdW1lbnREaWRSZWNlaXZlTW9iaWxlRG9jVHlwZSk6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9pb3MvV0tDb250ZW50Vmlldy5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvaW9zL1dLQ29udGVudFZpZXcubW06CisgICAgICAgICgtW1dLQ29udGVu
dFZpZXcgaW5pdFdpdGhDb2RlcjpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBpbml0V2l0
aEZyYW1lOnByb2Nlc3NHcm91cDpicm93c2luZ0NvbnRleHRHcm91cDpdKToKKyAgICAgICAgKC1b
V0tDb250ZW50VmlldyBicm93c2luZ0NvbnRleHRDb250cm9sbGVyXSk6CisgICAgICAgICgtW1dL
Q29udGVudFZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aENvbnRleHRSZWY6cGFnZUdyb3Vw
UmVmOnJlbGF0ZWRUb1BhZ2U6XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2RpZENvbW1p
dExvYWRGb3JNYWluRnJhbWVdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfZGlkUmVjZWl2
ZU1vYmlsZURvY1R5cGVGb3JNYWluRnJhbWVdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBf
ZGlkQ2hhbmdlVmlld3BvcnRBcmd1bWVudHM6V2ViQ29yZTo6XSk6CisgICAgICAgICgtW1dLQ29u
dGVudFZpZXcgX2RlY2lkZVBvbGljeUZvckdlb2xvY2F0aW9uUmVxdWVzdEZyb21PcmlnaW46ZnJh
bWU6cmVxdWVzdDpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfcGFnZVJlZl0pOgorICAg
ICAgICAoLVtXS0NvbnRlbnRWaWV3IGluaXRXaXRoRnJhbWU6Y29udGV4dFJlZjpwYWdlR3JvdXBS
ZWY6XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgaW5pdFdpdGhGcmFtZTpjb250ZXh0UmVm
OnBhZ2VHcm91cFJlZjpyZWxhdGVkVG9QYWdlOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
aW9zL1dLQ29udGVudFZpZXdJbnRlcm5hbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvaW9z
L1dLQ29udGVudFZpZXdQcml2YXRlLmg6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
aW9zL1dLVmlldy5tbToKKyAgICAgICAgKC1bV0tWaWV3IGluaXRXaXRoRnJhbWU6cHJvY2Vzc0dy
b3VwOmJyb3dzaW5nQ29udGV4dEdyb3VwOl0pOgorICAgICAgICAoLVtXS1ZpZXcgaW5pdFdpdGhG
cmFtZTpwcm9jZXNzR3JvdXA6YnJvd3NpbmdDb250ZXh0R3JvdXA6cmVsYXRlZFRvVmlldzpdKToK
KyAgICAgICAgKC1bV0tWaWV3IGNvbnRlbnRWaWV3RGlkQ29tbWl0TG9hZEZvck1haW5GcmFtZTpd
KToKKyAgICAgICAgKC1bV0tWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhDb250ZXh0UmVm
OnBhZ2VHcm91cFJlZjpyZWxhdGVkVG9QYWdlOl0pOgorICAgICAgICAoLVtXS1ZpZXcgcGFnZVJl
Zl0pOgorICAgICAgICAoLVtXS1ZpZXcgaW5pdFdpdGhGcmFtZTpjb250ZXh0UmVmOnBhZ2VHcm91
cFJlZjpdKToKKyAgICAgICAgKC1bV0tWaWV3IGluaXRXaXRoRnJhbWU6Y29udGV4dFJlZjpwYWdl
R3JvdXBSZWY6cmVsYXRlZFRvUGFnZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9Q
YWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJ
bXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6ZGlkQ29tbWl0TG9hZEZv
ck1haW5GcmFtZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvV0tCcm93c2luZ0NvbnRl
eHRDb250cm9sbGVyLm1tOgorICAgICAgICAoZGlkQ29tbWl0TG9hZEZvckZyYW1lKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJJbnRlcm5h
bC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmlld1ByaXZhdGUuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZENvbW1pdExvYWRG
b3JGcmFtZSk6CisKIDIwMTMtMTEtMjcgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBHaXZlIHRoZSBQYWdlQ2xpZW50IGEgY2hhbmNlIHRvIGhhbmRsZSBnZW9sb2NhdGlv
biBwZXJtaXNzaW9uIHJlcXVlc3RzIGlmIHRoZSBVSUNsaWVudCBkb2Vzbid0IGhhbmRsZSBpdApJ
bmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCShyZXZpc2lvbiAxNTk4MzMp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMjUsNiArMTI1LDggQEAgcHVibGljOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
fQogCisgICAgdmlydHVhbCB2b2lkIGRpZENvbW1pdExvYWRGb3JNYWluRnJhbWUoKSA9IDA7CisK
ICNpZiBVU0UoVElMRURfQkFDS0lOR19TVE9SRSkKICAgICB2aXJ0dWFsIHZvaWQgcGFnZURpZFJl
cXVlc3RTY3JvbGwoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIGRpZFJlbmRlckZyYW1lKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGNvbnRlbnRzU2l6ZSwg
Y29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY292ZXJlZFJlY3QpID0gMDsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiAxNTk4MzMpCisrKyBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjE1OCw4ICsyMTU4LDEwIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21taXRMb2FkRm9y
RnJhbWUKICAgICBXZWJGcmFtZVByb3h5KiBmcmFtZSA9IG1fcHJvY2Vzcy0+d2ViRnJhbWUoZnJh
bWVJRCk7CiAgICAgTUVTU0FHRV9DSEVDSyhmcmFtZSk7CiAKLSAgICBpZiAoZnJhbWUtPmlzTWFp
bkZyYW1lKCkpCisgICAgaWYgKGZyYW1lLT5pc01haW5GcmFtZSgpKSB7CiAgICAgICAgIG1fcGFn
ZUxvYWRTdGF0ZS5kaWRDb21taXRMb2FkKCk7CisgICAgICAgIG1fcGFnZUNsaWVudC0+ZGlkQ29t
bWl0TG9hZEZvck1haW5GcmFtZSgpOworICAgIH0KIAogI2lmIFVTRShBUFBLSVQpCiAgICAgLy8g
RklYTUUgKGJ1ZyA1OTExMSk6IGRpZENvbW1pdExvYWRGb3JGcmFtZSBjb21lcyB0b28gbGF0ZSB3
aGVuIHJlc3RvcmluZyBhIHBhZ2UgZnJvbSBiL2YgY2FjaGUsIG1ha2luZyB1cyBkaXNhYmxlIHNl
Y3VyZSBldmVudCBtb2RlIGluIHBhc3N3b3JkIGZpZWxkcy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAkocmV2aXNp
b24gMTU5ODMzKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvUGFnZUNsaWVu
dEltcGxJT1MuaAkod29ya2luZyBjb3B5KQpAQCAtMzUsMTIgKzM1LDEwIEBAIG5hbWVzcGFjZSBX
ZWJLaXQgewogICAgIAogY2xhc3MgUGFnZUNsaWVudEltcGwgOiBwdWJsaWMgUGFnZUNsaWVudCB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8UGFnZUNsaWVudEltcGw+IGNyZWF0ZShX
S0NvbnRlbnRWaWV3ICopOworICAgIGV4cGxpY2l0IFBhZ2VDbGllbnRJbXBsKFdLQ29udGVudFZp
ZXcgKik7CiAgICAgdmlydHVhbCB+UGFnZUNsaWVudEltcGwoKTsKICAgICAKIHByaXZhdGU6Ci0g
ICAgZXhwbGljaXQgUGFnZUNsaWVudEltcGwoV0tDb250ZW50VmlldyAqKTsKLSAgICAKICAgICB2
aXJ0dWFsIHN0ZDo6dW5pcXVlX3B0cjxEcmF3aW5nQXJlYVByb3h5PiBjcmVhdGVEcmF3aW5nQXJl
YVByb3h5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHNldFZpZXdOZWVkc0Rpc3BsYXko
Y29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkaXNw
bGF5VmlldygpIE9WRVJSSURFOwpAQCAtNTgsNiArNTYsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgdm9pZCBwcmVmZXJlbmNlc0RpZENoYW5nZSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9p
ZCB0b29sVGlwQ2hhbmdlZChjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIGJvb2wgZGVjaWRlUG9saWN5Rm9yR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVx
dWVzdChXZWJGcmFtZVByb3h5JiwgV2ViU2VjdXJpdHlPcmlnaW4mLCBHZW9sb2NhdGlvblBlcm1p
c3Npb25SZXF1ZXN0UHJveHkmKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tbWl0
TG9hZEZvck1haW5GcmFtZSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VD
b250ZW50U2l6ZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJikgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCB2b2lkIHNldEN1cnNvcihjb25zdCBXZWJDb3JlOjpDdXJzb3ImKSBPVkVSUklERTsKICAgICB2
aXJ0dWFsIHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpIE9WRVJSSURF
OwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvUGFnZUNsaWVudEltcGxJ
T1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvUGFn
ZUNsaWVudEltcGxJT1MubW0JKHJldmlzaW9uIDE1OTgzMykKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00
MiwyMCArNDIsMTUgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJL
aXQgewogCi1QYXNzT3duUHRyPFBhZ2VDbGllbnRJbXBsPiBQYWdlQ2xpZW50SW1wbDo6Y3JlYXRl
KFdLQ29udGVudFZpZXcgKnZpZXcpCitQYWdlQ2xpZW50SW1wbDo6UGFnZUNsaWVudEltcGwoV0tD
b250ZW50VmlldyAqdmlldykKKyAgICA6IG1fdmlldyh2aWV3KQogewotICAgIHJldHVybiBhZG9w
dFB0cihuZXcgUGFnZUNsaWVudEltcGwodmlldykpOwogfQogCiBQYWdlQ2xpZW50SW1wbDo6flBh
Z2VDbGllbnRJbXBsKCkKIHsKIH0KLSAgICAKLVBhZ2VDbGllbnRJbXBsOjpQYWdlQ2xpZW50SW1w
bChXS0NvbnRlbnRWaWV3ICp2aWV3KQotICAgIDogbV92aWV3KHZpZXcpCi17Ci19Ci0gICAgCisK
IHN0ZDo6dW5pcXVlX3B0cjxEcmF3aW5nQXJlYVByb3h5PiBQYWdlQ2xpZW50SW1wbDo6Y3JlYXRl
RHJhd2luZ0FyZWFQcm94eSgpCiB7CiAgICAgcmV0dXJuIFttX3ZpZXcgX2NyZWF0ZURyYXdpbmdB
cmVhUHJveHldOwpAQCAtMTUwLDYgKzE0NSwxMSBAQCBib29sIFBhZ2VDbGllbnRJbXBsOjpkZWNp
ZGVQb2xpY3lGb3JHZW9sCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQgUGFnZUNsaWVudElt
cGw6OmRpZENvbW1pdExvYWRGb3JNYWluRnJhbWUoKQoreworICAgIFttX3ZpZXcgX2RpZENvbW1p
dExvYWRGb3JNYWluRnJhbWVdOworfQorCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRDaGFuZ2VD
b250ZW50U2l6ZShjb25zdCBJbnRTaXplJiBjb250ZW50c1NpemUpCiB7CiAgICAgW21fdmlldyBf
ZGlkQ2hhbmdlQ29udGVudFNpemU6Y29udGVudHNTaXplXTsKQEAgLTMxOCw3ICszMTgsNyBAQCB2
b2lkIFBhZ2VDbGllbnRJbXBsOjpzZXRBY2NlbGVyYXRlZENvbXBvCiAKIHZvaWQgUGFnZUNsaWVu
dEltcGw6Om1haW5Eb2N1bWVudERpZFJlY2VpdmVNb2JpbGVEb2NUeXBlKCkKIHsKLSAgICBbbV92
aWV3IF9tYWluRG9jdW1lbnREaWRSZWNlaXZlTW9iaWxlRG9jVHlwZV07CisgICAgW21fdmlldyBf
ZGlkUmVjZWl2ZU1vYmlsZURvY1R5cGVGb3JNYWluRnJhbWVdOwogfQogCiB2b2lkIFBhZ2VDbGll
bnRJbXBsOjpkaWRHZXRUYXBIaWdobGlnaHRHZW9tZXRyaWVzKHVpbnQ2NF90IHJlcXVlc3RJRCwg
Y29uc3QgV2ViQ29yZTo6Q29sb3ImIGNvbG9yLCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6RmxvYXRR
dWFkPiYgaGlnaGxpZ2h0ZWRRdWFkcywgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgdG9wTGVmdFJh
ZGl1cywgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgdG9wUmlnaHRSYWRpdXMsIGNvbnN0IFdlYkNv
cmU6OkludFNpemUmIGJvdHRvbUxlZnRSYWRpdXMsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIGJv
dHRvbVJpZ2h0UmFkaXVzKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3Mv
V0tDb250ZW50Vmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvaW9zL1dLQ29udGVudFZpZXcuaAkocmV2aXNpb24gMTU5ODMyKQorKysgU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9pb3MvV0tDb250ZW50Vmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
OCwxMCArMzgsOSBAQCB0eXBlZGVmIE5TX0VOVU0odW5zaWduZWQsIFdLQ29udGVudFR5cGUpCiB9
OwogCiBAcHJvdG9jb2wgV0tDb250ZW50Vmlld0RlbGVnYXRlIDxOU09iamVjdD4KLQogQG9wdGlv
bmFsCiAtICh2b2lkKWNvbnRlbnRWaWV3OihXS0NvbnRlbnRWaWV3ICopY29udGVudFZpZXcgY29u
dGVudHNTaXplRGlkQ2hhbmdlOihDR1NpemUpbmV3U2l6ZTsKLS0gKHZvaWQpY29udGVudFZpZXdk
aWRDb21taXRMb2FkRm9yTWFpbkZyYW1lOihXS0NvbnRlbnRWaWV3ICopY29udGVudFZpZXc7Cist
ICh2b2lkKWNvbnRlbnRWaWV3RGlkQ29tbWl0TG9hZEZvck1haW5GcmFtZTooV0tDb250ZW50Vmll
dyAqKWNvbnRlbnRWaWV3OwogLSAodm9pZCljb250ZW50Vmlld0RpZFJlY2VpdmVNb2JpbGVEb2NU
eXBlOihXS0NvbnRlbnRWaWV3ICopY29udGVudFZpZXc7CiAtICh2b2lkKWNvbnRlbnRWaWV3OihX
S0NvbnRlbnRWaWV3ICopY29udGVudFZpZXcgZGlkQ2hhbmdlVmlld3BvcnRBcmd1bWVudHNTaXpl
OihDR1NpemUpbmV3U2l6ZSBpbml0aWFsU2NhbGU6KGZsb2F0KWluaXRpYWxTY2FsZSBtaW5pbXVt
U2NhbGU6KGZsb2F0KW1pbmltdW1TY2FsZSBtYXhpbXVtU2NhbGU6KGZsb2F0KW1heGltdW1TY2Fs
ZSBhbGxvd3NVc2VyU2NhbGluZzooZmxvYXQpYWxsb3dzVXNlclNjYWxpbmc7CiAKQEAgLTQ5LDYg
KzQ4LDcgQEAgdHlwZWRlZiBOU19FTlVNKHVuc2lnbmVkLCBXS0NvbnRlbnRUeXBlKQogCiBXS19B
UElfQ0xBU1MKIEBpbnRlcmZhY2UgV0tDb250ZW50VmlldyA6IFVJVmlldworCiBAcHJvcGVydHkg
KHJlYWRvbmx5LCBub25hdG9taWMpIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciAqYnJvd3Np
bmdDb250ZXh0Q29udHJvbGxlcjsKIAogQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgaWQg
PFdLQ29udGVudFZpZXdEZWxlZ2F0ZT4gZGVsZWdhdGU7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvaW9zL1dLQ29udGVudFZpZXcubW0JKHJldmlzaW9uIDE1OTgz
MykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvaW9zL1dLQ29udGVudFZpZXcubW0J
KHdvcmtpbmcgY29weSkKQEAgLTI1LDYgKzI1LDcgQEAKIAogI2ltcG9ydCAiY29uZmlnLmgiCiAj
aW1wb3J0ICJXS0NvbnRlbnRWaWV3SW50ZXJuYWwuaCIKKyNpbXBvcnQgIldLQ29udGVudFZpZXdQ
cml2YXRlLmgiCiAKICNpbXBvcnQgIlBhZ2VDbGllbnRJbXBsSU9TLmgiCiAjaW1wb3J0ICJSZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5LmgiCkBAIC0zNCw2ICszNSw3IEBACiAjaW1wb3J0
ICJXS0Jyb3dzaW5nQ29udGV4dEdyb3VwUHJpdmF0ZS5oIgogI2ltcG9ydCAiV0tHZW9sb2NhdGlv
blByb3ZpZGVySU9TLmgiCiAjaW1wb3J0ICJXS0ludGVyYWN0aW9uVmlldy5oIgorI2ltcG9ydCAi
V0tQcm9jZXNzR3JvdXBJbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tQcm9jZXNzR3JvdXBQcml2YXRl
LmgiCiAjaW1wb3J0ICJXZWJDb250ZXh0LmgiCiAjaW1wb3J0ICJXZWJGcmFtZVByb3h5LmgiCkBA
IC00OCwxMyArNTAsOCBAQAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3Bh
Y2UgV2ViS2l0OwogCi1AaW50ZXJmYWNlIFdLQ29udGVudFZpZXcgKEludGVybmFsKSA8V0tCcm93
c2luZ0NvbnRleHRMb2FkRGVsZWdhdGVJbnRlcm5hbD4KLUBlbmQKLQogQGltcGxlbWVudGF0aW9u
IFdLQ29udGVudFZpZXcgewotICAgIFJldGFpblB0cjxXS1Byb2Nlc3NHcm91cD4gX3Byb2Nlc3NH
cm91cDsKLSAgICBSZXRhaW5QdHI8V0tCcm93c2luZ0NvbnRleHRHcm91cD4gX2Jyb3dzaW5nQ29u
dGV4dEdyb3VwOwotICAgIE93blB0cjxQYWdlQ2xpZW50SW1wbD4gX3BhZ2VDbGllbnQ7CisgICAg
c3RkOjp1bmlxdWVfcHRyPFBhZ2VDbGllbnRJbXBsPiBfcGFnZUNsaWVudDsKICAgICBSZWZQdHI8
V2ViUGFnZVByb3h5PiBfcGFnZTsKIAogICAgIFJldGFpblB0cjxXS0Jyb3dzaW5nQ29udGV4dENv
bnRyb2xsZXI+IF9icm93c2luZ0NvbnRleHRDb250cm9sbGVyOwpAQCAtNjUsMjQgKzYyLDE3IEBA
IEBpbnRlcmZhY2UgV0tDb250ZW50VmlldyAoSW50ZXJuYWwpIDxXS0IKIAogLSAoaWQpaW5pdFdp
dGhDb2RlcjooTlNDb2RlciAqKWNvZGVyCiB7Ci0gICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0
V2l0aENvZGVyOmNvZGVyXSkpCi0gICAgICAgIHJldHVybiBuaWw7Ci0KLSAgICBbc2VsZiBfY29t
bW9uSW5pdFdpdGhQcm9jZXNzR3JvdXA6bmlsIGJyb3dzaW5nQ29udGV4dEdyb3VwOm5pbF07Ci0g
ICAgcmV0dXJuIHNlbGY7Ci19Ci0KLS0gKGlkKWluaXRXaXRoRnJhbWU6KENHUmVjdClmcmFtZQot
ewotICAgIHJldHVybiBbc2VsZiBpbml0V2l0aEZyYW1lOmZyYW1lIHByb2Nlc3NHcm91cDpuaWwg
YnJvd3NpbmdDb250ZXh0R3JvdXA6bmlsXTsKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorICAg
IHJldHVybiBuaWw7CiB9CiAKIC0gKGlkKWluaXRXaXRoRnJhbWU6KENHUmVjdClmcmFtZSBwcm9j
ZXNzR3JvdXA6KFdLUHJvY2Vzc0dyb3VwICopcHJvY2Vzc0dyb3VwIGJyb3dzaW5nQ29udGV4dEdy
b3VwOihXS0Jyb3dzaW5nQ29udGV4dEdyb3VwICopYnJvd3NpbmdDb250ZXh0R3JvdXAKIHsKLSAg
ICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRXaXRoRnJhbWU6ZnJhbWVdKSkKKyAgICBzZWxmID0g
W3N1cGVyIGluaXRXaXRoRnJhbWU6ZnJhbWVdOworICAgIGlmICghc2VsZikKICAgICAgICAgcmV0
dXJuIG5pbDsKIAotICAgIFtzZWxmIF9jb21tb25Jbml0V2l0aFByb2Nlc3NHcm91cDpwcm9jZXNz
R3JvdXAgYnJvd3NpbmdDb250ZXh0R3JvdXA6YnJvd3NpbmdDb250ZXh0R3JvdXBdOworICAgIFtz
ZWxmIF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhDb250ZXh0UmVmOnByb2Nlc3NHcm91cC5fY29u
dGV4dFJlZiBwYWdlR3JvdXBSZWY6YnJvd3NpbmdDb250ZXh0R3JvdXAuX3BhZ2VHcm91cFJlZiBy
ZWxhdGVkVG9QYWdlOm51bGxwdHJdOwogICAgIHJldHVybiBzZWxmOwogfQogCkBAIC0xMTYsNiAr
MTA2LDggQEAgLSAodm9pZClkaWRNb3ZlVG9XaW5kb3cKIAogLSAoV0tCcm93c2luZ0NvbnRleHRD
b250cm9sbGVyICopYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlcgogeworICAgIGlmICghX2Jyb3dz
aW5nQ29udGV4dENvbnRyb2xsZXIpCisgICAgICAgIF9icm93c2luZ0NvbnRleHRDb250cm9sbGVy
ID0gYWRvcHROUyhbW1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciBhbGxvY10gX2luaXRXaXRo
UGFnZVJlZjp0b0FQSShfcGFnZS5nZXQoKSldKTsKICAgICByZXR1cm4gX2Jyb3dzaW5nQ29udGV4
dENvbnRyb2xsZXIuZ2V0KCk7CiB9CiAKQEAgLTE0OCwxMiArMTQwLDkgQEAgLSAodm9pZClkaWRa
b29tVG9TY2FsZTooQ0dGbG9hdClzY2FsZQogICAgIF9wYWdlLT5kaWRGaW5pc2hab29taW5nKHNj
YWxlKTsKIH0KIAotLSAodm9pZClfZGVjaWRlUG9saWN5Rm9yR2VvbG9jYXRpb25SZXF1ZXN0RnJv
bU9yaWdpbjooV2ViU2VjdXJpdHlPcmlnaW4mKW9yaWdpbiBmcmFtZTooV2ViRnJhbWVQcm94eSYp
ZnJhbWUgcmVxdWVzdDooR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdFByb3h5JilwZXJtaXNz
aW9uUmVxdWVzdAotewotICAgIFtbX3Byb2Nlc3NHcm91cCBfZ2VvbG9jYXRpb25Qcm92aWRlcl0g
ZGVjaWRlUG9saWN5Rm9yR2VvbG9jYXRpb25SZXF1ZXN0RnJvbU9yaWdpbjp0b0FQSSgmb3JpZ2lu
KSBmcmFtZTp0b0FQSSgmZnJhbWUpIHJlcXVlc3Q6dG9BUEkoJnBlcm1pc3Npb25SZXF1ZXN0KSB3
aW5kb3c6W3NlbGYgd2luZG93XV07Ci19CisjcHJhZ21hIG1hcmsgSW50ZXJuYWwKIAotLSAodm9p
ZClfY29tbW9uSW5pdFdpdGhQcm9jZXNzR3JvdXA6KFdLUHJvY2Vzc0dyb3VwICopcHJvY2Vzc0dy
b3VwIGJyb3dzaW5nQ29udGV4dEdyb3VwOihXS0Jyb3dzaW5nQ29udGV4dEdyb3VwICopYnJvd3Np
bmdDb250ZXh0R3JvdXAKKy0gKHZvaWQpX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aENvbnRleHRS
ZWY6KFdLQ29udGV4dFJlZiljb250ZXh0UmVmIHBhZ2VHcm91cFJlZjooV0tQYWdlR3JvdXBSZWYp
cGFnZUdyb3VwUmVmIHJlbGF0ZWRUb1BhZ2U6KFdLUGFnZVJlZilyZWxhdGVkUGFnZQogewogICAg
IC8vIEZJWE1FOiBUaGlzIHNob3VsZCBub3QgYmUgbmVjZXNzYXJ5LCBmaW5kIHdoeSBoaXQgdGVz
dGluZyBkb2VzIG5vdCB3b3JrIG90aGVyd2lzZS4KICAgICAvLyA8cmRhcjovL3Byb2JsZW0vMTIy
ODczNjM+CkBAIC0xNjMsMTggKzE1MiwxMiBAQCAtICh2b2lkKV9jb21tb25Jbml0V2l0aFByb2Nl
c3NHcm91cDooV0tQCiAgICAgSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2UoKTsKICAgICBSdW5M
b29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKIAotICAgIF9wcm9jZXNzR3JvdXAgPSBwcm9j
ZXNzR3JvdXAgPyBwcm9jZXNzR3JvdXAgOiBhZG9wdE5TKFtbV0tQcm9jZXNzR3JvdXAgYWxsb2Nd
IGluaXRdKTsKLSAgICBfYnJvd3NpbmdDb250ZXh0R3JvdXAgPSBicm93c2luZ0NvbnRleHRHcm91
cCA/IGJyb3dzaW5nQ29udGV4dEdyb3VwIDogYWRvcHROUyhbW1dLQnJvd3NpbmdDb250ZXh0R3Jv
dXAgYWxsb2NdIGluaXRXaXRoSWRlbnRpZmllcjpuaWxdKTsKLSAgICBfcGFnZUNsaWVudCA9IFBh
Z2VDbGllbnRJbXBsOjpjcmVhdGUoc2VsZik7Ci0gICAgV2ViQ29udGV4dCogcHJvY2Vzc0NvbnRl
eHQgPSB0b0ltcGwoW19wcm9jZXNzR3JvdXAgX2NvbnRleHRSZWZdKTsKLSAgICBfcGFnZSA9IHBy
b2Nlc3NDb250ZXh0LT5jcmVhdGVXZWJQYWdlKF9wYWdlQ2xpZW50LmdldCgpLCB0b0ltcGwoW19i
cm93c2luZ0NvbnRleHRHcm91cCBfcGFnZUdyb3VwUmVmXSkpOworICAgIF9wYWdlQ2xpZW50ID0g
c3RkOjptYWtlX3VuaXF1ZTxQYWdlQ2xpZW50SW1wbD4oc2VsZik7CisgICAgX3BhZ2UgPSB0b0lt
cGwoY29udGV4dFJlZiktPmNyZWF0ZVdlYlBhZ2UoX3BhZ2VDbGllbnQuZ2V0KCksIHRvSW1wbChw
YWdlR3JvdXBSZWYpLCB0b0ltcGwocmVsYXRlZFBhZ2UpKTsKICAgICBfcGFnZS0+aW5pdGlhbGl6
ZVdlYlBhZ2UoKTsKICAgICBfcGFnZS0+c2V0SW50cmluc2ljRGV2aWNlU2NhbGVGYWN0b3IoW1VJ
U2NyZWVuIG1haW5TY3JlZW5dLnNjYWxlKTsKICAgICBfcGFnZS0+c2V0VXNlRml4ZWRMYXlvdXQo
dHJ1ZSk7CiAKLSAgICBfYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciA9IGFkb3B0TlMoW1tXS0Jy
b3dzaW5nQ29udGV4dENvbnRyb2xsZXIgYWxsb2NdIF9pbml0V2l0aFBhZ2VSZWY6dG9BUEkoX3Bh
Z2UuZ2V0KCkpXSk7Ci0gICAgW19icm93c2luZ0NvbnRleHRDb250cm9sbGVyIHNldExvYWREZWxl
Z2F0ZUludGVybmFsOnNlbGZdOwotCiAgICAgV2ViQ29udGV4dDo6c3RhdGlzdGljcygpLndrVmll
d0NvdW50Kys7CiAKICAgICBfcm9vdENvbnRlbnRWaWV3ID0gYWRvcHROUyhbW1VJVmlldyBhbGxv
Y10gaW5pdF0pOwpAQCAtMjAyLDE3ICsxODUsNiBAQCAtICh2b2lkKV91cGRhdGVGb3JTY3JlZW46
KFVJU2NyZWVuICopc2NyCiAgICAgX3BhZ2UtPnNldEludHJpbnNpY0RldmljZVNjYWxlRmFjdG9y
KHNjcmVlbi5zY2FsZSk7CiB9CiAKLS0gKHZvaWQpX2RpZENoYW5nZVZpZXdwb3J0QXJndW1lbnRz
Oihjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYpYXJndW1lbnRzCi17Ci0gICAgaWYg
KFtfZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihjb250ZW50VmlldzpkaWRD
aGFuZ2VWaWV3cG9ydEFyZ3VtZW50c1NpemU6aW5pdGlhbFNjYWxlOm1pbmltdW1TY2FsZTptYXhp
bXVtU2NhbGU6YWxsb3dzVXNlclNjYWxpbmc6KV0pCi0gICAgICAgIFtfZGVsZWdhdGUgY29udGVu
dFZpZXc6c2VsZgotZGlkQ2hhbmdlVmlld3BvcnRBcmd1bWVudHNTaXplOkNHU2l6ZU1ha2UoYXJn
dW1lbnRzLndpZHRoLCBhcmd1bWVudHMuaGVpZ2h0KQotICAgICAgICAgICAgICAgICAgaW5pdGlh
bFNjYWxlOmFyZ3VtZW50cy56b29tCi0gICAgICAgICAgICAgICAgICBtaW5pbXVtU2NhbGU6YXJn
dW1lbnRzLm1pblpvb20KLSAgICAgICAgICAgICAgICAgIG1heGltdW1TY2FsZTphcmd1bWVudHMu
bWF4Wm9vbQotICAgICAgICAgICAgIGFsbG93c1VzZXJTY2FsaW5nOmFyZ3VtZW50cy51c2VyWm9v
bV07Ci19Ci0KICNwcmFnbWEgbWFyayBQYWdlQ2xpZW50SW1wbCBtZXRob2RzCiAKIC0gKHN0ZDo6
dW5pcXVlX3B0cjxEcmF3aW5nQXJlYVByb3h5PilfY3JlYXRlRHJhd2luZ0FyZWFQcm94eQpAQCAt
MjMwLDExICsyMDIsMTAgQEAgLSAodm9pZClfZGlkUmVsYXVuY2hQcm9jZXNzCiAgICAgLy8gRklY
TUU6IEltcGxlbWVudC4KIH0KIAotLSAodm9pZClicm93c2luZ0NvbnRleHRDb250cm9sbGVyRGlk
Q29tbWl0TG9hZDooV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyICopc2VuZGVyCistICh2b2lk
KV9kaWRDb21taXRMb2FkRm9yTWFpbkZyYW1lCiB7Ci0gICAgQVNTRVJUKHNlbmRlciA9PSBfYnJv
d3NpbmdDb250ZXh0Q29udHJvbGxlcik7Ci0gICAgaWYgKFtfZGVsZWdhdGUgcmVzcG9uZHNUb1Nl
bGVjdG9yOkBzZWxlY3Rvcihjb250ZW50Vmlld2RpZENvbW1pdExvYWRGb3JNYWluRnJhbWU6KV0p
Ci0gICAgICAgIFtfZGVsZWdhdGUgY29udGVudFZpZXdkaWRDb21taXRMb2FkRm9yTWFpbkZyYW1l
OnNlbGZdOworICAgIGlmIChbX2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
Y29udGVudFZpZXdEaWRDb21taXRMb2FkRm9yTWFpbkZyYW1lOildKQorICAgICAgICBbX2RlbGVn
YXRlIGNvbnRlbnRWaWV3RGlkQ29tbWl0TG9hZEZvck1haW5GcmFtZTpzZWxmXTsKIH0KIAogLSAo
dm9pZClfZGlkQ2hhbmdlQ29udGVudFNpemU6KENHU2l6ZSljb250ZW50c1NpemUKQEAgLTI0Nywx
MSArMjE4LDE2IEBAIC0gKHZvaWQpX2RpZENoYW5nZUNvbnRlbnRTaXplOihDR1NpemUpY28KICAg
ICAgICAgW19kZWxlZ2F0ZSBjb250ZW50VmlldzpzZWxmIGNvbnRlbnRzU2l6ZURpZENoYW5nZTpj
b250ZW50c1NpemVdOwogfQogCi0tICh2b2lkKV9tYWluRG9jdW1lbnREaWRSZWNlaXZlTW9iaWxl
RG9jVHlwZQorLSAodm9pZClfZGlkUmVjZWl2ZU1vYmlsZURvY1R5cGVGb3JNYWluRnJhbWUKIHsK
ICAgICBpZiAoW19kZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGNvbnRlbnRW
aWV3RGlkUmVjZWl2ZU1vYmlsZURvY1R5cGU6KV0pCiAgICAgICAgIFtfZGVsZWdhdGUgY29udGVu
dFZpZXdEaWRSZWNlaXZlTW9iaWxlRG9jVHlwZTpzZWxmXTsKK30KIAorLSAodm9pZClfZGlkQ2hh
bmdlVmlld3BvcnRBcmd1bWVudHM6KGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJilh
cmd1bWVudHMKK3sKKyAgICBpZiAoW19kZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVj
dG9yKGNvbnRlbnRWaWV3OmRpZENoYW5nZVZpZXdwb3J0QXJndW1lbnRzU2l6ZTppbml0aWFsU2Nh
bGU6bWluaW11bVNjYWxlOm1heGltdW1TY2FsZTphbGxvd3NVc2VyU2NhbGluZzopXSkKKyAgICAg
ICAgW19kZWxlZ2F0ZSBjb250ZW50VmlldzpzZWxmIGRpZENoYW5nZVZpZXdwb3J0QXJndW1lbnRz
U2l6ZTpDR1NpemVNYWtlKGFyZ3VtZW50cy53aWR0aCwgYXJndW1lbnRzLmhlaWdodCkgaW5pdGlh
bFNjYWxlOmFyZ3VtZW50cy56b29tIG1pbmltdW1TY2FsZTphcmd1bWVudHMubWluWm9vbSBtYXhp
bXVtU2NhbGU6YXJndW1lbnRzLm1heFpvb20gYWxsb3dzVXNlclNjYWxpbmc6YXJndW1lbnRzLnVz
ZXJab29tXTsKIH0KIAogLSAodm9pZClfZGlkR2V0VGFwSGlnaGxpZ2h0Rm9yUmVxdWVzdDoodWlu
dDY0X3QpcmVxdWVzdElEIGNvbG9yOihjb25zdCBDb2xvciYpY29sb3IgcXVhZHM6KGNvbnN0IFZl
Y3RvcjxGbG9hdFF1YWQ+JiloaWdobGlnaHRlZFF1YWRzIHRvcExlZnRSYWRpdXM6KGNvbnN0IElu
dFNpemUmKXRvcExlZnRSYWRpdXMgdG9wUmlnaHRSYWRpdXM6KGNvbnN0IEludFNpemUmKXRvcFJp
Z2h0UmFkaXVzIGJvdHRvbUxlZnRSYWRpdXM6KGNvbnN0IEludFNpemUmKWJvdHRvbUxlZnRSYWRp
dXMgYm90dG9tUmlnaHRSYWRpdXM6KGNvbnN0IEludFNpemUmKWJvdHRvbVJpZ2h0UmFkaXVzCkBA
IC0yODUsNCArMjYxLDMzIEBAIC0gKEJPT0wpX2ludGVycHJldEtleUV2ZW50OihXZWJJT1NFdmVu
dCAKICAgICByZXR1cm4gW19pbnRlcmFjdGlvblZpZXcgX2ludGVycHJldEtleUV2ZW50OnRoZUV2
ZW50IGlzQ2hhckV2ZW50OmlzQ2hhckV2ZW50XTsKIH0KIAorLSAodm9pZClfZGVjaWRlUG9saWN5
Rm9yR2VvbG9jYXRpb25SZXF1ZXN0RnJvbU9yaWdpbjooV2ViU2VjdXJpdHlPcmlnaW4mKW9yaWdp
biBmcmFtZTooV2ViRnJhbWVQcm94eSYpZnJhbWUgcmVxdWVzdDooR2VvbG9jYXRpb25QZXJtaXNz
aW9uUmVxdWVzdFByb3h5JilwZXJtaXNzaW9uUmVxdWVzdAoreworICAgIFtbd3JhcHBlcigqX3Bh
Z2UtPnByb2Nlc3MoKS0+Y29udGV4dCgpKSBfZ2VvbG9jYXRpb25Qcm92aWRlcl0gZGVjaWRlUG9s
aWN5Rm9yR2VvbG9jYXRpb25SZXF1ZXN0RnJvbU9yaWdpbjp0b0FQSSgmb3JpZ2luKSBmcmFtZTp0
b0FQSSgmZnJhbWUpIHJlcXVlc3Q6dG9BUEkoJnBlcm1pc3Npb25SZXF1ZXN0KSB3aW5kb3c6W3Nl
bGYgd2luZG93XV07Cit9CisKK0BlbmQKKworQGltcGxlbWVudGF0aW9uIFdLQ29udGVudFZpZXcg
KFByaXZhdGUpCisKKy0gKFdLUGFnZVJlZilfcGFnZVJlZgoreworICAgIHJldHVybiB0b0FQSShf
cGFnZS5nZXQoKSk7Cit9CisKKy0gKGlkKWluaXRXaXRoRnJhbWU6KENHUmVjdClmcmFtZSBjb250
ZXh0UmVmOihXS0NvbnRleHRSZWYpY29udGV4dFJlZiBwYWdlR3JvdXBSZWY6KFdLUGFnZUdyb3Vw
UmVmKXBhZ2VHcm91cFJlZgoreworICAgIHJldHVybiBbc2VsZiBpbml0V2l0aEZyYW1lOmZyYW1l
IGNvbnRleHRSZWY6Y29udGV4dFJlZiBwYWdlR3JvdXBSZWY6cGFnZUdyb3VwUmVmIHJlbGF0ZWRU
b1BhZ2U6bnVsbHB0cl07Cit9CisKKy0gKGlkKWluaXRXaXRoRnJhbWU6KENHUmVjdClmcmFtZSBj
b250ZXh0UmVmOihXS0NvbnRleHRSZWYpY29udGV4dFJlZiBwYWdlR3JvdXBSZWY6KFdLUGFnZUdy
b3VwUmVmKXBhZ2VHcm91cFJlZiByZWxhdGVkVG9QYWdlOihXS1BhZ2VSZWYpcmVsYXRlZFBhZ2UK
K3sKKyAgICBzZWxmID0gW3N1cGVyIGluaXRXaXRoRnJhbWU6ZnJhbWVdOworICAgIGlmICghc2Vs
ZikKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIFtzZWxmIF9jb21tb25Jbml0aWFsaXphdGlv
bldpdGhDb250ZXh0UmVmOmNvbnRleHRSZWYgcGFnZUdyb3VwUmVmOnBhZ2VHcm91cFJlZiByZWxh
dGVkVG9QYWdlOnJlbGF0ZWRQYWdlXTsKKyAgICByZXR1cm4gc2VsZjsKK30KKwogQGVuZApJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvV0tDb250ZW50Vmlld0ludGVybmFs
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvV0tDb250
ZW50Vmlld0ludGVybmFsLmgJKHJldmlzaW9uIDE1OTgzMykKKysrIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvaW9zL1dLQ29udGVudFZpZXdJbnRlcm5hbC5oCSh3b3JraW5nIGNvcHkpCkBA
IC01MCwxMCArNTAsMTIgQEAgY2xhc3MgV2ViU2VjdXJpdHlPcmlnaW47CiAtIChzdGQ6OnVuaXF1
ZV9wdHI8V2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5PilfY3JlYXRlRHJhd2luZ0FyZWFQcm94eTsK
IC0gKHZvaWQpX3Byb2Nlc3NEaWRDcmFzaDsKIC0gKHZvaWQpX2RpZFJlbGF1bmNoUHJvY2VzczsK
LS0gKHZvaWQpX2RpZENoYW5nZUNvbnRlbnRTaXplOihDR1NpemUpY29udGVudHNTaXplOwogLSAo
dm9pZClfc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ1Jvb3RMYXllcjooQ0FMYXllciAqKXJvb3RM
YXllcjsKIAotLSAodm9pZClfbWFpbkRvY3VtZW50RGlkUmVjZWl2ZU1vYmlsZURvY1R5cGU7Cist
ICh2b2lkKV9kaWRDb21taXRMb2FkRm9yTWFpbkZyYW1lOworLSAodm9pZClfZGlkQ2hhbmdlQ29u
dGVudFNpemU6KENHU2l6ZSljb250ZW50c1NpemU7CistICh2b2lkKV9kaWRSZWNlaXZlTW9iaWxl
RG9jVHlwZUZvck1haW5GcmFtZTsKKy0gKHZvaWQpX2RpZENoYW5nZVZpZXdwb3J0QXJndW1lbnRz
Oihjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYpdmlld3BvcnRBcmd1bWVudHM7CiAK
IC0gKHZvaWQpX2RpZEdldFRhcEhpZ2hsaWdodEZvclJlcXVlc3Q6KHVpbnQ2NF90KXJlcXVlc3RJ
RCBjb2xvcjooY29uc3QgV2ViQ29yZTo6Q29sb3ImKWNvbG9yIHF1YWRzOihjb25zdCBWZWN0b3I8
V2ViQ29yZTo6RmxvYXRRdWFkPiYpaGlnaGxpZ2h0ZWRRdWFkcyB0b3BMZWZ0UmFkaXVzOihjb25z
dCBXZWJDb3JlOjpJbnRTaXplJil0b3BMZWZ0UmFkaXVzIHRvcFJpZ2h0UmFkaXVzOihjb25zdCBX
ZWJDb3JlOjpJbnRTaXplJil0b3BSaWdodFJhZGl1cyBib3R0b21MZWZ0UmFkaXVzOihjb25zdCBX
ZWJDb3JlOjpJbnRTaXplJilib3R0b21MZWZ0UmFkaXVzIGJvdHRvbVJpZ2h0UmFkaXVzOihjb25z
dCBXZWJDb3JlOjpJbnRTaXplJilib3R0b21SaWdodFJhZGl1czsKIApAQCAtNjEsNyArNjMsNiBA
QCBjbGFzcyBXZWJTZWN1cml0eU9yaWdpbjsKIC0gKHZvaWQpX3N0b3BBc3Npc3RpbmdOb2RlOwog
LSAodm9pZClfc2VsZWN0aW9uQ2hhbmdlZDsKIC0gKEJPT0wpX2ludGVycHJldEtleUV2ZW50OihX
ZWJJT1NFdmVudCAqKXRoZUV2ZW50IGlzQ2hhckV2ZW50OihCT09MKWlzQ2hhckV2ZW50OwotLSAo
dm9pZClfZGlkQ2hhbmdlVmlld3BvcnRBcmd1bWVudHM6KGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0
QXJndW1lbnRzJil2aWV3cG9ydEFyZ3VtZW50czsKIAogLSAodm9pZClfZGVjaWRlUG9saWN5Rm9y
R2VvbG9jYXRpb25SZXF1ZXN0RnJvbU9yaWdpbjooV2ViS2l0OjpXZWJTZWN1cml0eU9yaWdpbiYp
b3JpZ2luIGZyYW1lOihXZWJLaXQ6OldlYkZyYW1lUHJveHkmKWZyYW1lIHJlcXVlc3Q6KFdlYktp
dDo6R2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdFByb3h5JilwZXJtaXNzaW9uUmVxdWVzdDsK
IApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvV0tDb250ZW50Vmlld1By
aXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2lvcy9X
S0NvbnRlbnRWaWV3UHJpdmF0ZS5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9pb3MvV0tDb250ZW50Vmlld1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCA8V2ViS2l0Mi9XS0Jhc2UuaD4KKyNp
bXBvcnQgPFdlYktpdDIvV0tDb250ZW50Vmlldy5oPgorCitAaW50ZXJmYWNlIFdLQ29udGVudFZp
ZXcgKFByaXZhdGUpCisKK0Bwcm9wZXJ0eSAocmVhZG9ubHkpIFdLUGFnZVJlZiBfcGFnZVJlZjsK
KworLSAoaWQpaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1lIGNvbnRleHRSZWY6KFdLQ29udGV4
dFJlZiljb250ZXh0UmVmIHBhZ2VHcm91cFJlZjooV0tQYWdlR3JvdXBSZWYpcGFnZUdyb3VwUmVm
OworLSAoaWQpaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1lIGNvbnRleHRSZWY6KFdLQ29udGV4
dFJlZiljb250ZXh0UmVmIHBhZ2VHcm91cFJlZjooV0tQYWdlR3JvdXBSZWYpcGFnZUdyb3VwUmVm
IHJlbGF0ZWRUb1BhZ2U6KFdLUGFnZVJlZilyZWxhdGVkUGFnZTsKKworQGVuZApJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvV0tWaWV3Lm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvaW9zL1dLVmlldy5tbQkocmV2aXNpb24gMTU5ODMy
KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvV0tWaWV3Lm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0yNSw4ICsyNSwxMiBAQAogCiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQg
IldLVmlldy5oIgorI2ltcG9ydCAiV0tWaWV3UHJpdmF0ZS5oIgogCisjaW1wb3J0ICJXS0Jyb3dz
aW5nQ29udGV4dEdyb3VwUHJpdmF0ZS5oIgogI2ltcG9ydCAiV0tDb250ZW50Vmlldy5oIgorI2lt
cG9ydCAiV0tDb250ZW50Vmlld1ByaXZhdGUuaCIKKyNpbXBvcnQgIldLUHJvY2Vzc0dyb3VwUHJp
dmF0ZS5oIgogI2ltcG9ydCAiV0tTY3JvbGxWaWV3LmgiCiAjaW1wb3J0IDxVSUtpdC9VSVNjcmVl
bi5oPgogI2ltcG9ydCA8VUlLaXQvVUlTY3JvbGxWaWV3X1ByaXZhdGUuaD4KQEAgLTU1LDMwICs1
OSwyMCBAQCAtIChpZClpbml0V2l0aENvZGVyOihOU0NvZGVyICopY29kZXIKICAgICByZXR1cm4g
bmlsOwogfQogCi0tIChpZClpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUKKy0gKGlkKWluaXRX
aXRoRnJhbWU6KENHUmVjdClmcmFtZSBwcm9jZXNzR3JvdXA6KFdLUHJvY2Vzc0dyb3VwICopcHJv
Y2Vzc0dyb3VwIGJyb3dzaW5nQ29udGV4dEdyb3VwOihXS0Jyb3dzaW5nQ29udGV4dEdyb3VwICop
YnJvd3NpbmdDb250ZXh0R3JvdXAKIHsKLSAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRXaXRo
RnJhbWU6ZnJhbWVdKSkKLSAgICAgICAgcmV0dXJuIG5pbDsKLQotICAgIFtzZWxmIF9jb21tb25J
bml0aWFsaXphdGlvbldpdGhQcm9jZXNzR3JvdXA6bmlsIGJyb3dzaW5nQ29udGV4dEdyb3VwOm5p
bF07Ci0gICAgcmV0dXJuIHNlbGY7CisgICAgcmV0dXJuIFtzZWxmIGluaXRXaXRoRnJhbWU6ZnJh
bWUgcHJvY2Vzc0dyb3VwOnByb2Nlc3NHcm91cCBicm93c2luZ0NvbnRleHRHcm91cDpicm93c2lu
Z0NvbnRleHRHcm91cCByZWxhdGVkVG9WaWV3Om5pbF07CiB9CiAKLS0gKGlkKWluaXRXaXRoRnJh
bWU6KENHUmVjdClmcmFtZSBwcm9jZXNzR3JvdXA6KFdLUHJvY2Vzc0dyb3VwICopcHJvY2Vzc0dy
b3VwIGJyb3dzaW5nQ29udGV4dEdyb3VwOihXS0Jyb3dzaW5nQ29udGV4dEdyb3VwICopYnJvd3Np
bmdDb250ZXh0R3JvdXAKKy0gKGlkKWluaXRXaXRoRnJhbWU6KENHUmVjdClmcmFtZSBwcm9jZXNz
R3JvdXA6KFdLUHJvY2Vzc0dyb3VwICopcHJvY2Vzc0dyb3VwIGJyb3dzaW5nQ29udGV4dEdyb3Vw
OihXS0Jyb3dzaW5nQ29udGV4dEdyb3VwICopYnJvd3NpbmdDb250ZXh0R3JvdXAgcmVsYXRlZFRv
VmlldzooV0tWaWV3ICopcmVsYXRlZFZpZXcKIHsKICAgICBpZiAoIShzZWxmID0gW3N1cGVyIGlu
aXRXaXRoRnJhbWU6ZnJhbWVdKSkKICAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIFtzZWxmIF9j
b21tb25Jbml0aWFsaXphdGlvbldpdGhQcm9jZXNzR3JvdXA6cHJvY2Vzc0dyb3VwIGJyb3dzaW5n
Q29udGV4dEdyb3VwOmJyb3dzaW5nQ29udGV4dEdyb3VwXTsKKyAgICBbc2VsZiBfY29tbW9uSW5p
dGlhbGl6YXRpb25XaXRoQ29udGV4dFJlZjpwcm9jZXNzR3JvdXAuX2NvbnRleHRSZWYgcGFnZUdy
b3VwUmVmOmJyb3dzaW5nQ29udGV4dEdyb3VwLl9wYWdlR3JvdXBSZWYgcmVsYXRlZFRvUGFnZTpy
ZWxhdGVkVmlldyA/IFtyZWxhdGVkVmlldyBwYWdlUmVmXSA6IG51bGxwdHJdOwogICAgIHJldHVy
biBzZWxmOwogfQogCi0tIChpZClpbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUgcHJvY2Vzc0dy
b3VwOihXS1Byb2Nlc3NHcm91cCAqKXByb2Nlc3NHcm91cCBicm93c2luZ0NvbnRleHRHcm91cDoo
V0tCcm93c2luZ0NvbnRleHRHcm91cCAqKWJyb3dzaW5nQ29udGV4dEdyb3VwIHJlbGF0ZWRUb1Zp
ZXc6KFdLVmlldyAqKXJlbGF0ZWRWaWV3Ci17Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudC4KLSAg
ICByZXR1cm4gbmlsOwotfQotCiAtICh2b2lkKXNldEZyYW1lOihDR1JlY3QpZnJhbWUKIHsKICAg
ICBDR1JlY3Qgb2xkRnJhbWUgPSBbc2VsZiBmcmFtZV07CkBAIC0xMTUsNyArMTA5LDcgQEAgLSAo
dm9pZCljb250ZW50VmlldzooV0tDb250ZW50VmlldyAqKWNvbgogICAgIH1dOwogfQogCi0tICh2
b2lkKWNvbnRlbnRWaWV3ZGlkQ29tbWl0TG9hZEZvck1haW5GcmFtZTooV0tDb250ZW50VmlldyAq
KWNvbnRlbnRWaWV3CistICh2b2lkKWNvbnRlbnRWaWV3RGlkQ29tbWl0TG9hZEZvck1haW5GcmFt
ZTooV0tDb250ZW50VmlldyAqKWNvbnRlbnRWaWV3CiB7CiAgICAgX3VzZXJIYXNDaGFuZ2VkUGFn
ZVNjYWxlID0gTk87CiAKQEAgLTE1Niw2ICsxNTAsNyBAQCAtICh2b2lkKWNvbnRlbnRWaWV3OihX
S0NvbnRlbnRWaWV3ICopY29uCiB9CiAKICNwcmFnbWEgbWFyayAtIF9VSVdlYlZpZXdwb3J0SGFu
ZGxlckRlbGVnYXRlCisKIC0gKHZvaWQpdmlld3BvcnRIYW5kbGVyRGlkQ2hhbmdlU2NhbGVzOihf
VUlXZWJWaWV3cG9ydEhhbmRsZXIgKil2aWV3cG9ydEhhbmRsZXIKIHsKICAgICBBU1NFUlQodmll
d3BvcnRIYW5kbGVyID09IF92aWV3cG9ydEhhbmRsZXIpOwpAQCAtMTgwLDYgKzE3NSw3IEBAIC0g
KHZvaWQpdmlld3BvcnRIYW5kbGVyOihfVUlXZWJWaWV3cG9ydEgKIAogCiAjcHJhZ21hIG1hcmsg
LSBVSVNjcm9sbFZpZXdEZWxlZ2F0ZQorCiAtIChVSVZpZXcgKil2aWV3Rm9yWm9vbWluZ0luU2Ny
b2xsVmlldzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldwogewogICAgIEFTU0VSVChfc2Nyb2xs
VmlldyA9PSBzY3JvbGxWaWV3KTsKQEAgLTIxNyw3ICsyMTMsNyBAQCAtICh2b2lkKXNjcm9sbFZp
ZXdEaWRFbmRab29taW5nOihVSVNjcm9sCiAKICNwcmFnbWEgbWFyayBJbnRlcm5hbAogCi0tICh2
b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhQcm9jZXNzR3JvdXA6KFdLUHJvY2Vzc0dyb3Vw
ICopcHJvY2Vzc0dyb3VwIGJyb3dzaW5nQ29udGV4dEdyb3VwOihXS0Jyb3dzaW5nQ29udGV4dEdy
b3VwICopYnJvd3NpbmdDb250ZXh0R3JvdXAKKy0gKHZvaWQpX2NvbW1vbkluaXRpYWxpemF0aW9u
V2l0aENvbnRleHRSZWY6KFdLQ29udGV4dFJlZiljb250ZXh0UmVmIHBhZ2VHcm91cFJlZjooV0tQ
YWdlR3JvdXBSZWYpcGFnZUdyb3VwUmVmIHJlbGF0ZWRUb1BhZ2U6KFdLUGFnZVJlZilyZWxhdGVk
UGFnZQogewogICAgIEFTU0VSVCghX3Njcm9sbFZpZXcpOwogICAgIEFTU0VSVCghX2NvbnRlbnRW
aWV3KTsKQEAgLTIzMCw3ICsyMjYsNyBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldp
dGhQcm9jZXNzCiAKICAgICBbc2VsZiBhZGRTdWJ2aWV3Ol9zY3JvbGxWaWV3LmdldCgpXTsKIAot
ICAgIF9jb250ZW50VmlldyA9IGFkb3B0TlMoW1tXS0NvbnRlbnRWaWV3IGFsbG9jXSBpbml0V2l0
aEZyYW1lOmJvdW5kcyBwcm9jZXNzR3JvdXA6cHJvY2Vzc0dyb3VwIGJyb3dzaW5nQ29udGV4dEdy
b3VwOmJyb3dzaW5nQ29udGV4dEdyb3VwXSk7CisgICAgX2NvbnRlbnRWaWV3ID0gYWRvcHROUyhb
W1dLQ29udGVudFZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6Ym91bmRzIGNvbnRleHRSZWY6Y29u
dGV4dFJlZiBwYWdlR3JvdXBSZWY6cGFnZUdyb3VwUmVmIHJlbGF0ZWRUb1BhZ2U6cmVsYXRlZFBh
Z2VdKTsKICAgICBbX2NvbnRlbnRWaWV3IHNldERlbGVnYXRlOnNlbGZdOwogICAgIFtbX2NvbnRl
bnRWaWV3IGxheWVyXSBzZXRBbmNob3JQb2ludDpDR1BvaW50WmVyb107CiAgICAgW19jb250ZW50
VmlldyBzZXRGcmFtZTpib3VuZHNdOwpAQCAtMjY0LDMgKzI2MCwyNiBAQCAtICh2b2lkKV9zZXRE
b2N1bWVudFNjYWxlOihDR0Zsb2F0KW5ld1NjCiB9CiAKIEBlbmQKKworQGltcGxlbWVudGF0aW9u
IFdLVmlldyAoUHJpdmF0ZSkKKworLSAoV0tQYWdlUmVmKXBhZ2VSZWYKK3sKKyAgICByZXR1cm4g
W19jb250ZW50VmlldyBfcGFnZVJlZl07Cit9CisKKy0gKGlkKWluaXRXaXRoRnJhbWU6KENHUmVj
dClmcmFtZSBjb250ZXh0UmVmOihXS0NvbnRleHRSZWYpY29udGV4dFJlZiBwYWdlR3JvdXBSZWY6
KFdLUGFnZUdyb3VwUmVmKXBhZ2VHcm91cFJlZgoreworICAgIHJldHVybiBbc2VsZiBpbml0V2l0
aEZyYW1lOmZyYW1lIGNvbnRleHRSZWY6Y29udGV4dFJlZiBwYWdlR3JvdXBSZWY6cGFnZUdyb3Vw
UmVmIHJlbGF0ZWRUb1BhZ2U6bmlsXTsKK30KKworLSAoaWQpaW5pdFdpdGhGcmFtZTooQ0dSZWN0
KWZyYW1lIGNvbnRleHRSZWY6KFdLQ29udGV4dFJlZiljb250ZXh0UmVmIHBhZ2VHcm91cFJlZjoo
V0tQYWdlR3JvdXBSZWYpcGFnZUdyb3VwUmVmIHJlbGF0ZWRUb1BhZ2U6KFdLUGFnZVJlZilyZWxh
dGVkUGFnZQoreworICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdFdpdGhGcmFtZTpmcmFtZV0p
KQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgW3NlbGYgX2NvbW1vbkluaXRpYWxpemF0aW9u
V2l0aENvbnRleHRSZWY6Y29udGV4dFJlZiBwYWdlR3JvdXBSZWY6cGFnZUdyb3VwUmVmIHJlbGF0
ZWRUb1BhZ2U6cmVsYXRlZFBhZ2VdOworICAgIHJldHVybiBzZWxmOworfQorCitAZW5kCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QYWdlQ2xpZW50SW1wbC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBs
LmgJKHJldmlzaW9uIDE1OTgzMikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFj
L1BhZ2VDbGllbnRJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTY5LDYgKzY5LDcgQEAgcHJpdmF0
ZToKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVsYXVuY2hQcm9jZXNzKCk7CiAgICAgdmlydHVhbCB2
b2lkIHByZWZlcmVuY2VzRGlkQ2hhbmdlKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHRv
b2xUaXBDaGFuZ2VkKGNvbnN0IFN0cmluZyYgb2xkVG9vbFRpcCwgY29uc3QgU3RyaW5nJiBuZXdU
b29sVGlwKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tbWl0TG9hZEZvck1haW5GcmFtZSgpIE9W
RVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzZXRDdXJzb3IoY29uc3QgV2ViQ29yZTo6Q3Vyc29y
Jik7CiAgICAgdmlydHVhbCB2b2lkIHNldEN1cnNvckhpZGRlblVudGlsTW91c2VNb3Zlcyhib29s
KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKGNvbnN0IFdl
YkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyYpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9tYWMvUGFnZUNsaWVudEltcGwubW0JKHJldmlzaW9uIDE1OTgzMikK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0yNjQsNiArMjY0LDEwIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OnRv
b2xUaXBDaGFuZ2VkKGNvbnMKICAgICBbbV93a1ZpZXcgX3Rvb2xUaXBDaGFuZ2VkRnJvbTpuc1N0
cmluZ0Zyb21XZWJDb3JlU3RyaW5nKG9sZFRvb2xUaXApIHRvOm5zU3RyaW5nRnJvbVdlYkNvcmVT
dHJpbmcobmV3VG9vbFRpcCldOwogfQogCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRDb21taXRM
b2FkRm9yTWFpbkZyYW1lKCkKK3sKK30KKwogdm9pZCBQYWdlQ2xpZW50SW1wbDo6c2V0Q3Vyc29y
KGNvbnN0IFdlYkNvcmU6OkN1cnNvciYgY3Vyc29yKQogewogICAgIGlmICghW05TQXBwIF9jdXJz
b3JSZWN0Q3Vyc29yXSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dL
QnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL21hYy9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0JKHJldmlz
aW9uIDE1OTgzMikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLQnJvd3Np
bmdDb250ZXh0Q29udHJvbGxlci5tbQkod29ya2luZyBjb3B5KQpAQCAtMzk4LDEwICszOTgsNiBA
QCBzdGF0aWMgdm9pZCBkaWRDb21taXRMb2FkRm9yRnJhbWUoV0tQYWdlCiAgICAgICAgIHJldHVy
bjsKIAogICAgIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciAqYnJvd3NpbmdDb250ZXh0ID0g
KFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlciAqKWNsaWVudEluZm87Ci0jaWYgUExBVEZPUk0o
SU9TKQotICAgIGlmIChbYnJvd3NpbmdDb250ZXh0LmxvYWREZWxlZ2F0ZUludGVybmFsIHJlc3Bv
bmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoYnJvd3NpbmdDb250ZXh0Q29udHJvbGxlckRpZENvbW1p
dExvYWQ6KV0pCi0gICAgICAgIFticm93c2luZ0NvbnRleHQubG9hZERlbGVnYXRlSW50ZXJuYWwg
YnJvd3NpbmdDb250ZXh0Q29udHJvbGxlckRpZENvbW1pdExvYWQ6YnJvd3NpbmdDb250ZXh0XTsK
LSNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAgICAgaWYgKFticm93c2luZ0NvbnRleHQubG9hZERl
bGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoYnJvd3NpbmdDb250ZXh0Q29udHJv
bGxlckRpZENvbW1pdExvYWQ6KV0pCiAgICAgICAgIFticm93c2luZ0NvbnRleHQubG9hZERlbGVn
YXRlIGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJEaWRDb21taXRMb2FkOmJyb3dzaW5nQ29udGV4
dF07CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS0Jyb3dzaW5n
Q29udGV4dENvbnRyb2xsZXJJbnRlcm5hbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvbWFjL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlckludGVybmFsLmgJ
KHJldmlzaW9uIDE1OTgzMikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dL
QnJvd3NpbmdDb250ZXh0Q29udHJvbGxlckludGVybmFsLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3
LDE5ICsyNyw4IEBACiAKICNpZiBXS19BUElfRU5BQkxFRAogCi0jaWYgUExBVEZPUk0oSU9TKQot
QHByb3RvY29sIFdLQnJvd3NpbmdDb250ZXh0TG9hZERlbGVnYXRlSW50ZXJuYWwgPE5TT2JqZWN0
PgotQG9wdGlvbmFsCi0tICh2b2lkKWJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJEaWRDb21taXRM
b2FkOihXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKilzZW5kZXI7Ci1AZW5kCi0jZW5kaWYg
Ly8gUExBVEZPUk0oSU9TKQotCiBAaW50ZXJmYWNlIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxl
ciAoKQogCi0jaWYgUExBVEZPUk0oSU9TKQotQHByb3BlcnR5IChhc3NpZ24pIGlkIDxXS0Jyb3dz
aW5nQ29udGV4dExvYWREZWxlZ2F0ZUludGVybmFsPiBsb2FkRGVsZWdhdGVJbnRlcm5hbDsKLSNl
bmRpZiAvLyBQTEFURk9STShJT1MpCi0KIC8qIFRoaXMgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGZy
b20gYXNzb2NpYXRlIHZpZXcuICovCiAtIChpZClfaW5pdFdpdGhQYWdlUmVmOihXS1BhZ2VSZWYp
cGFnZVJlZjsKIApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3
UHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFj
L1dLVmlld1ByaXZhdGUuaAkocmV2aXNpb24gMTU5ODMyKQorKysgU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9tYWMvV0tWaWV3UHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsy
Niw4IEBACiAjaW1wb3J0IDxXZWJLaXQyL1dLVmlldy5oPgogI2ltcG9ydCA8V2ViS2l0Mi9XS0Jh
c2UuaD4KIAorI2lmICFUQVJHRVRfT1NfSVBIT05FCisKIHR5cGVkZWYgZW51bSB7CiAgICAgV0tD
b250ZW50QW5jaG9yVG9wTGVmdCwKICAgICBXS0NvbnRlbnRBbmNob3JUb3BSaWdodCwKQEAgLTMz
LDE1ICszNSwyNSBAQCB0eXBlZGVmIGVudW0gewogICAgIFdLQ29udGVudEFuY2hvckJvdHRvbVJp
Z2h0LAogfSBXS0NvbnRlbnRBbmNob3I7CiAKKyNlbmRpZgorCiBAaW50ZXJmYWNlIFdLVmlldyAo
UHJpdmF0ZSkKIAogLyogQyBTUEkgc3VwcG9ydC4gKi8KIAotQHByb3BlcnR5KHJlYWRvbmx5KSBX
S1BhZ2VSZWYgcGFnZVJlZjsKLUBwcm9wZXJ0eSBXS0NvbnRlbnRBbmNob3IgY29udGVudEFuY2hv
cjsKK0Bwcm9wZXJ0eSAocmVhZG9ubHkpIFdLUGFnZVJlZiBwYWdlUmVmOwogCisjaWYgVEFSR0VU
X09TX0lQSE9ORQorLSAoaWQpaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1lIGNvbnRleHRSZWY6
KFdLQ29udGV4dFJlZiljb250ZXh0UmVmIHBhZ2VHcm91cFJlZjooV0tQYWdlR3JvdXBSZWYpcGFn
ZUdyb3VwUmVmOworLSAoaWQpaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1lIGNvbnRleHRSZWY6
KFdLQ29udGV4dFJlZiljb250ZXh0UmVmIHBhZ2VHcm91cFJlZjooV0tQYWdlR3JvdXBSZWYpcGFn
ZUdyb3VwUmVmIHJlbGF0ZWRUb1BhZ2U6KFdLUGFnZVJlZilyZWxhdGVkUGFnZTsKKyNlbHNlCiAt
IChpZClpbml0V2l0aEZyYW1lOihOU1JlY3QpZnJhbWUgY29udGV4dFJlZjooV0tDb250ZXh0UmVm
KWNvbnRleHRSZWYgcGFnZUdyb3VwUmVmOihXS1BhZ2VHcm91cFJlZilwYWdlR3JvdXBSZWY7CiAt
IChpZClpbml0V2l0aEZyYW1lOihOU1JlY3QpZnJhbWUgY29udGV4dFJlZjooV0tDb250ZXh0UmVm
KWNvbnRleHRSZWYgcGFnZUdyb3VwUmVmOihXS1BhZ2VHcm91cFJlZilwYWdlR3JvdXBSZWYgcmVs
YXRlZFRvUGFnZTooV0tQYWdlUmVmKXJlbGF0ZWRQYWdlOworI2VuZGlmCisKKyNpZiAhVEFSR0VU
X09TX0lQSE9ORQorCitAcHJvcGVydHkgV0tDb250ZW50QW5jaG9yIGNvbnRlbnRBbmNob3I7CiAK
IC0gKE5TUHJpbnRPcGVyYXRpb24gKilwcmludE9wZXJhdGlvbldpdGhQcmludEluZm86KE5TUHJp
bnRJbmZvICopcHJpbnRJbmZvIGZvckZyYW1lOihXS0ZyYW1lUmVmKWZyYW1lUmVmOwogLSAoQk9P
TCljYW5DaGFuZ2VGcmFtZUxheW91dDooV0tGcmFtZVJlZilmcmFtZVJlZjsKQEAgLTgyLDQgKzk0
LDYgQEAgQGludGVyZmFjZSBXS1ZpZXcgKFByaXZhdGUpCiAtICh2b2lkKWZvcmNlQXN5bmNEcmF3
aW5nQXJlYVNpemVVcGRhdGU6KE5TU2l6ZSlzaXplOwogLSAodm9pZCl3YWl0Rm9yQXN5bmNEcmF3
aW5nQXJlYVNpemVVcGRhdGU7CiAKKyNlbmRpZgorCiBAZW5kCg==
</data>
<flag name="review"
          id="241252"
          type_id="1"
          status="+"
          setter="mitz"
    />
    <flag name="commit-queue"
          id="241255"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>