<?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>174294</bug_id>
          
          <creation_ts>2017-07-08 20:42:31 -0700</creation_ts>
          <short_desc>Remove some obsolete WebKitVersionChecks</short_desc>
          <delta_ts>2017-07-11 21:44:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=174293</see_also>
          <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="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1326833</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-07-08 20:42:31 -0700</bug_when>
    <thetext>Remove some obsolete WebKitVersionChecks

No need to support any pre-iOS7 quirks in trunk WebKit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326834</commentid>
    <comment_count>1</comment_count>
      <attachid>314935</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-07-08 20:47:01 -0700</bug_when>
    <thetext>Created attachment 314935
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326836</commentid>
    <comment_count>2</comment_count>
      <attachid>314937</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-07-08 21:40:35 -0700</bug_when>
    <thetext>Created attachment 314937
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326841</commentid>
    <comment_count>3</comment_count>
      <attachid>314939</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-07-08 22:42:11 -0700</bug_when>
    <thetext>Created attachment 314939
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326842</commentid>
    <comment_count>4</comment_count>
      <attachid>314939</attachid>
    <who name="">mitz</who>
    <bug_when>2017-07-08 23:42:32 -0700</bug_when>
    <thetext>Comment on attachment 314939
Patch

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

&gt; Source/WebKit/ios/WebView/WebPDFViewIOS.mm:125
&gt; +    CGFloat height = 2.0f;

Might as well get rid of this constant and inline the value below.

&gt; Source/WebKit/mac/WebView/WebView.mm:2902
&gt; +    settings.setShouldTransformsAffectOverflow(true);
&gt; +    settings.setShouldDispatchJavaScriptWindowOnErrorEvents(true);

Can these settings ever be false after this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326874</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-07-09 10:23:11 -0700</bug_when>
    <thetext>(In reply to mitz from comment #4)
&gt; Comment on attachment 314939 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=314939&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/ios/WebView/WebPDFViewIOS.mm:125
&gt; &gt; +    CGFloat height = 2.0f;
&gt; 
&gt; Might as well get rid of this constant and inline the value below.

Done.

&gt; &gt; Source/WebKit/mac/WebView/WebView.mm:2902
&gt; &gt; +    settings.setShouldTransformsAffectOverflow(true);
&gt; &gt; +    settings.setShouldDispatchJavaScriptWindowOnErrorEvents(true);
&gt; 
&gt; Can these settings ever be false after this patch?

Grep says no. Will try.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326875</commentid>
    <comment_count>6</comment_count>
      <attachid>314949</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-07-09 10:33:10 -0700</bug_when>
    <thetext>Created attachment 314949
Patch for EWS

For EWS to churn on</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326888</commentid>
    <comment_count>7</comment_count>
      <attachid>314949</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-09 14:26:19 -0700</bug_when>
    <thetext>Comment on attachment 314949
Patch for EWS

Clearing flags on attachment: 314949

Committed r219283: &lt;http://trac.webkit.org/changeset/219283&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1326889</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-07-09 14:26:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327909</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-07-11 21:41:49 -0700</bug_when>
    <thetext>(In reply to Brady Eidson from comment #0)
&gt; No need to support any pre-iOS7 quirks in trunk WebKit

Why? Aren’t there still some super-old apps that we would want to continue to work properly? Or maybe those apps are going to stop working because they are 32-bit anyway?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327911</commentid>
    <comment_count>10</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-07-11 21:44:29 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #9)
&gt; (In reply to Brady Eidson from comment #0)
&gt; &gt; No need to support any pre-iOS7 quirks in trunk WebKit
&gt; 
&gt; Why? Aren’t there still some super-old apps that we would want to continue
&gt; to work properly? Or maybe those apps are going to stop working because they
&gt; are 32-bit anyway?

The latter.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314935</attachid>
            <date>2017-07-08 20:47:01 -0700</date>
            <delta_ts>2017-07-08 21:40:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174294-20170708204704.patch</filename>
            <type>text/plain</type>
            <size>16105</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5Mjc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDkxMWQ4Njc2YzY1ZDgy
Y2RmYjkxN2Q0YjY2NWI2MzU2NzgwNmI0My4uN2QwNjA1MzMxNGRjMjUyNjBmMjYyYTNkNzc3OGE4
NmNlMmJkOTYxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE3LTA3LTA4ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgc29tZSBvYnNv
bGV0ZSBXZWJLaXRWZXJzaW9uQ2hlY2tzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc0Mjk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChObyBjaGFuZ2UgdG8gdGVzdGFibGUgYmVo
YXZpb3IpLgorCisgICAgICAgICogcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg6
CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2Eu
bW06CisgICAgICAgIChXZWJDb3JlOjpJT1NBcHBsaWNhdGlvbjo6aXNPa0N1cGlkKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OklPU0FwcGxpY2F0aW9uOjppc0ZhY2Vib29rKTogRGVsZXRl
ZC4KKwogMjAxNy0wNy0wOCAgQmFzdWtlIFN1enVraSAgPEJhc3VrZS5TdXp1a2lAc29ueS5jb20+
CiAKICAgICAgICAgW0N1cmxdIFNhZmUgYWNjZXNzIGFuZCBsaWZlIGN5Y2xlIG1hbmFnZW1lbnQg
b2YgYmFyZSBDdXJsIGhhbmRsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9pb3MvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9pb3MvQ2hhbmdlTG9nCmluZGV4IGIyZGJhNmJiZWI1N2QyNGE5
NGY0MTdlOTdlMmY3ZDUyMGVmZGFjNWUuLjk2YjJlNWUwNzYzNGE1NTAwMzM5NGQwNjMyZTYxMzAx
ZDAxMzNkZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvaW9zL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2lvcy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wNy0wOCAg
QnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHNvbWUg
b2Jzb2xldGUgV2ViS2l0VmVyc2lvbkNoZWNrcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDI5NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJQREZWaWV3SU9TLm1tOgorICAgICAg
ICAoLVtXZWJQREZWaWV3IGRyYXdQYWdlOl0pOgorCiAyMDE3LTA3LTA1ICBEb24gT2xtc3RlYWQg
IDxkb24ub2xtc3RlYWRAc29ueS5jb20+CiAKICAgICAgICAgW1dURl0gTW92ZSBTb2Z0TGlua2lu
Zy5oIGludG8gV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYzI3YTVjZDg0YjFkN2RiMDc2MzFkOWQ2
MTlhOGRhN2I5NGVlMzZiNC4uZjhjODc5OWE5NTFiOTFlZTYyNjY1OTllMjg3Y2E2NzVkZDNhNjcx
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE3LTA3LTA4ICBCcmFkeSBF
aWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgc29tZSBvYnNvbGV0
ZSBXZWJLaXRWZXJzaW9uQ2hlY2tzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc0Mjk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBNaXNjL1dlYktpdFZlcnNpb25DaGVja3MuaDogUmVtb3ZlIGFsbCBw
cmUtaU9TNyBjaGVja3MuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1tOgorICAg
ICAgICAoLVtXZWJIVE1MVmlldyBoaXRUZXN0Ol0pOgorICAgIAorICAgICAgICAqIFdlYlZpZXcv
V2ViVmlldy5tbToKKyAgICAgICAgKHNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmlidXRl
U2V0dGVycyk6CisgICAgICAgICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZy
YW1lTmFtZTpncm91cE5hbWU6XSk6CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hh
bmdlZDpdKToKKyAgICAgICAgKHNob3VsZFRyYW5zZm9ybXNBZmZlY3RPdmVyZmxvdyk6IERlbGV0
ZWQuCisgICAgICAgIChzaG91bGREaXNwYXRjaEphdmFTY3JpcHRXaW5kb3dPbkVycm9yRXZlbnRz
KTogRGVsZXRlZC4KKwogMjAxNy0wNy0wOCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdt
YWlsLmNvbT4KIAogICAgICAgICBEcm9wIE5PU05JRkYgY29tcGlsZSBmbGFnCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCmluZGV4IDFhZGE1ZWI0MzNhZWE3OTBlMmRl
MWIwY2YzZjNkNTIyOWNiYzcyZDIuLjFjYjEyMGM0ODI2MzY3N2NjM2YxOGFmZTkwNWY3MzBjNGU5
Y2Y4NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCkBAIC0x
NTIsMTQgKzE1Miw2IEBAIHN0YXRpYyB2b2lkIG1hcERhdGFQYXJhbVRvU3JjKFZlY3RvcjxTdHJp
bmc+JiBwYXJhbU5hbWVzLCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1WCiAgICAgfQogfQogCi0jaWYg
UExBVEZPUk0oSU9TKQotc3RhdGljIGJvb2wgc2hvdWxkTm90UGVyZm9ybVVSTEFkanVzdG1lbnQo
KQotewotICAgIHN0YXRpYyBib29sIHNob3VsZE5vdFBlcmZvcm1VUkxBZGp1c3RtZW50ID0gSU9T
QXBwbGljYXRpb246OmlzTkFTQUhEKCkgJiYgZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigp
IDwgRFlMRF9JT1NfVkVSU0lPTl81XzA7Ci0gICAgcmV0dXJuIHNob3VsZE5vdFBlcmZvcm1VUkxB
ZGp1c3RtZW50OwotfQotI2VuZGlmCi0KIC8vIEZJWE1FOiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBu
b3QgZGVhbCB3aXRoIHVybCBvciBzZXJ2aWNlVHlwZSEKIHZvaWQgSFRNTE9iamVjdEVsZW1lbnQ6
OnBhcmFtZXRlcnNGb3JQbHVnaW4oVmVjdG9yPFN0cmluZz4mIHBhcmFtTmFtZXMsIFZlY3RvcjxT
dHJpbmc+JiBwYXJhbVZhbHVlcywgU3RyaW5nJiB1cmwsIFN0cmluZyYgc2VydmljZVR5cGUpCiB7
CkBAIC0yMTcsMTAgKzIwOSw2IEBAIHZvaWQgSFRNTE9iamVjdEVsZW1lbnQ6OnBhcmFtZXRlcnNG
b3JQbHVnaW4oVmVjdG9yPFN0cmluZz4mIHBhcmFtTmFtZXMsIFZlY3RvcjxTCiAgICAgLy8gYXR0
cmlidXRlLCBub3QgYnkgYSBwYXJhbSBlbGVtZW50LiBIb3dldmVyLCBmb3IgY29tcGF0aWJpbGl0
eSwgYWxsb3cgdGhlCiAgICAgLy8gcmVzb3VyY2UncyBVUkwgdG8gYmUgZ2l2ZW4gYnkgYSBwYXJh
bSBuYW1lZCAic3JjIiwgIm1vdmllIiwgImNvZGUiIG9yICJ1cmwiCiAgICAgLy8gaWYgd2Uga25v
dyB0aGF0IHJlc291cmNlIHBvaW50cyB0byBhIHBsdWctaW4uCi0jaWYgUExBVEZPUk0oSU9TKQot
ICAgIGlmIChzaG91bGROb3RQZXJmb3JtVVJMQWRqdXN0bWVudCgpKQotICAgICAgICByZXR1cm47
Ci0jZW5kaWYKIAogICAgIGlmICh1cmwuaXNFbXB0eSgpICYmICF1cmxQYXJhbWV0ZXIuaXNFbXB0
eSgpKSB7CiAgICAgICAgIFN1YmZyYW1lTG9hZGVyJiBsb2FkZXIgPSBkb2N1bWVudCgpLmZyYW1l
KCktPmxvYWRlcigpLnN1YmZyYW1lTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCmluZGV4IGFiODhlNjc0NGQwZThlYzRm
M2ZlNDg0MmIyOTVlNjMxMjZmZDQxNzguLjE0ZmVkOWVjZjIxNjNjY2Q3YTdiOGExMTUwNzUyY2Qw
YzQyYmUwNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrcy5oCkBAIC03MSwxMSArNzEsNiBAQCBXRUJDT1JFX0VYUE9SVCBib29sIGlz
V2ViQm9va21hcmtzRCgpOwogYm9vbCBpc0R1bXBSZW5kZXJUcmVlKCk7CiBib29sIGlzTW9iaWxl
U3RvcmUoKTsKIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNXZWJBcHAoKTsKLVdFQkNPUkVfRVhQT1JU
IGJvb2wgaXNPa0N1cGlkKCk7Ci1XRUJDT1JFX0VYUE9SVCBib29sIGlzRmFjZWJvb2soKTsKLVdF
QkNPUkVfRVhQT1JUIGJvb2wgaXNEYWlqaXNlbkRpY3Rpb25hcnkoKTsKLWJvb2wgaXNOQVNBSEQo
KTsKLVdFQkNPUkVfRVhQT1JUIGJvb2wgaXNUaGVFY29ub21pc3RPbklwaG9uZSgpOwogV0VCQ09S
RV9FWFBPUlQgYm9vbCBpc1dlYlByb2Nlc3MoKTsKIGJvb2wgaXNJQm9va3MoKTsKIFdFQkNPUkVf
RVhQT1JUIGJvb2wgaXNUaGVTZWNyZXRTb2NpZXR5SGlkZGVuTXlzdGVyeSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tz
Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRp
b25DaGVja3NDb2NvYS5tbQppbmRleCAwMmYwZmI5OWE4YjZmYWFhZDc0N2I2ZDg3NjVkM2IxODBk
YzhhOTMxLi45ZWQ2ZjQ4YzRlYTA3NTFiYzNiYmIxMGM1ODUyOWEwY2Y5ZjhmOTRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVj
a3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBw
bGljYXRpb25DaGVja3NDb2NvYS5tbQpAQCAtMjA0LDM2ICsyMDQsNiBAQCBib29sIElPU0FwcGxp
Y2F0aW9uOjppc1dlYkFwcCgpCiAgICAgcmV0dXJuIGlzV2ViQXBwOwogfQogCi1ib29sIElPU0Fw
cGxpY2F0aW9uOjppc09rQ3VwaWQoKQotewotICAgIHN0YXRpYyBib29sIGlzT2tDdXBpZCA9IGFw
cGxpY2F0aW9uQnVuZGxlSXNFcXVhbFRvKCJjb20ub2tjdXBpZC5hcHAiKTsKLSAgICByZXR1cm4g
aXNPa0N1cGlkOwotfQotCi1ib29sIElPU0FwcGxpY2F0aW9uOjppc0ZhY2Vib29rKCkKLXsKLSAg
ICBzdGF0aWMgYm9vbCBpc0ZhY2Vib29rID0gYXBwbGljYXRpb25CdW5kbGVJc0VxdWFsVG8oImNv
bS5mYWNlYm9vay5GYWNlYm9vayIpOwotICAgIHJldHVybiBpc0ZhY2Vib29rOwotfQotCi1ib29s
IElPU0FwcGxpY2F0aW9uOjppc0RhaWppc2VuRGljdGlvbmFyeSgpCi17Ci0gICAgc3RhdGljIGJv
b2wgaXNEYWlqaXNlbkRpY3Rpb25hcnkgPSBhcHBsaWNhdGlvbkJ1bmRsZUlzRXF1YWxUbygianAu
Y28uc2hvZ2FrdWthbi5kYWlqaXNlbjIwMDlpIik7Ci0gICAgcmV0dXJuIGlzRGFpamlzZW5EaWN0
aW9uYXJ5OwotfQotCi1ib29sIElPU0FwcGxpY2F0aW9uOjppc05BU0FIRCgpCi17Ci0gICAgc3Rh
dGljIGJvb2wgaXNOQVNBSEQgPSBhcHBsaWNhdGlvbkJ1bmRsZUlzRXF1YWxUbygiZ292Lm5hc2Eu
TkFTQUhEIik7Ci0gICAgcmV0dXJuIGlzTkFTQUhEOwotfQotCi1ib29sIElPU0FwcGxpY2F0aW9u
Ojppc1RoZUVjb25vbWlzdE9uSXBob25lKCkKLXsKLSAgICBzdGF0aWMgYm9vbCBpc1RoZUVjb25v
bWlzdE9uSXBob25lID0gYXBwbGljYXRpb25CdW5kbGVJc0VxdWFsVG8oImNvbS5lY29ub21pc3Qu
aXBob25lIik7Ci0gICAgcmV0dXJuIGlzVGhlRWNvbm9taXN0T25JcGhvbmU7Ci19Ci0KIC8vIEZJ
WE1FOiB0aGlzIG5lZWRzIHRvIGJlIGNoYW5nZWQgd2hlbiB0aGUgV2ViUHJvY2VzcyBpcyBjaGFu
Z2VkIHRvIGFuIFhQQyBzZXJ2aWNlLgogYm9vbCBJT1NBcHBsaWNhdGlvbjo6aXNXZWJQcm9jZXNz
KCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29y
ZVRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFk
LmgKaW5kZXggOTVkMWIyOTdmN2MyODEzNzQ0ODdjNzAwMWMyYzkwNGM0ZTVjNmQyMS4uMjc5NDcw
YzhlOWZjYTcxNjQ1OGM4YWNkYzllYTUzMGY1YWIzOTllMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLmgKQEAgLTg3LDggKzg3LDYgQEAgc3Rh
dGljIGlubGluZSB2b2lkIFdlYlRocmVhZFNldFNob3VsZFlpZWxkKCkgeyB3ZWJUaHJlYWRTaG91
bGRZaWVsZCA9IHRydWU7IH0KIAogV0VCQ09SRV9FWFBPUlQgTlNSdW5Mb29wKiBXZWJUaHJlYWRO
U1J1bkxvb3Aodm9pZCk7CiAKLVdFQkNPUkVfRVhQT1JUIHZvaWQgV2ViVGhyZWFkU2V0RGVsZWdh
dGVTb3VyY2VSdW5Mb29wTW9kZShDRlN0cmluZ1JlZiBtb2RlKTsKLQogI2lmIGRlZmluZWQoX19j
cGx1c3BsdXMpCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy93YWsvV2ViQ29yZVRocmVhZC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93
YWsvV2ViQ29yZVRocmVhZC5tbQppbmRleCAwNjUxNjY1ZTcwMWI3ZTM2OGZlOTc5MmE5NjA3YjI0
YWIwNzUyYjc0Li42MTIyYjRmMmM1MGI2NGJhNWM3ZmZjOWRkZTNmNGRhNTYyOWEwMzg3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLm1tCkBA
IC0xNDUsOCArMTQ1LDYgQEAgc3RhdGljIHZvaWQgV2ViQ29yZU9iakNEZWFsbG9jV2l0aFdlYlRo
cmVhZExvY2tJbXBsKGlkIHNlbGYsIFNFTCBfY21kKTsKIAogc3RhdGljIE5TTXV0YWJsZUFycmF5
ICpzQXN5bmNEZWxlZ2F0ZXMgPSBuaWw7CiAKLXN0YXRpYyBDRlN0cmluZ1JlZiBkZWxlZ2F0ZVNv
dXJjZVJ1bkxvb3BNb2RlOwotCiBzdGF0aWMgaW5saW5lIHZvaWQgU2VuZE1lc3NhZ2UoTlNJbnZv
Y2F0aW9uICppbnZvY2F0aW9uKQogewogICAgIFtpbnZvY2F0aW9uIGludm9rZV07CkBAIC03MzYs
MTIgKzczNCwxMSBAQCBzdGF0aWMgdm9pZCBTdGFydFdlYlRocmVhZCgpCiAgICAgQ0ZSdW5Mb29w
UmVmIHJ1bkxvb3AgPSBDRlJ1bkxvb3BHZXRDdXJyZW50KCk7CiAgICAgQ0ZSdW5Mb29wU291cmNl
Q29udGV4dCBkZWxlZ2F0ZVNvdXJjZUNvbnRleHQgPSB7MCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVM
TCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgSGFuZGxlRGVsZWdhdGVTb3VyY2V9OwogICAgIGRl
bGVnYXRlU291cmNlID0gQ0ZSdW5Mb29wU291cmNlQ3JlYXRlKE5VTEwsIDAsICZkZWxlZ2F0ZVNv
dXJjZUNvbnRleHQpOworCiAgICAgLy8gV2Ugc2hvdWxkbid0IGdldCBkZWxlZ2F0ZSBjYWxsYmFj
a3Mgd2hpbGUgc2Nyb2xsaW5nLCBidXQgdGhlcmUgbWlnaHQgYmUKICAgICAvLyBvbmUgb3V0c3Rh
bmRpbmcgd2hlbiB3ZSBzdGFydC4gIEFkZCB0aGUgc291cmNlIGZvciBhbGwgY29tbW9uIHJ1biBs
b29wCiAgICAgLy8gbW9kZXMgc28gd2UgZG9uJ3QgYmxvY2sgdGhlIHdlYiB0aHJlYWQgd2hpbGUg
c2Nyb2xsaW5nLgotICAgIGlmICghZGVsZWdhdGVTb3VyY2VSdW5Mb29wTW9kZSkKLSAgICAgICAg
ZGVsZWdhdGVTb3VyY2VSdW5Mb29wTW9kZSA9IGtDRlJ1bkxvb3BDb21tb25Nb2RlczsKLSAgICBD
RlJ1bkxvb3BBZGRTb3VyY2UocnVuTG9vcCwgZGVsZWdhdGVTb3VyY2UsIGRlbGVnYXRlU291cmNl
UnVuTG9vcE1vZGUpOworICAgIENGUnVuTG9vcEFkZFNvdXJjZShydW5Mb29wLCBkZWxlZ2F0ZVNv
dXJjZSwga0NGUnVuTG9vcENvbW1vbk1vZGVzKTsKIAogICAgIHNBc3luY0RlbGVnYXRlcyA9IFtb
TlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRdOwogCkBAIC05OTUsMTIgKzk5Miw2IEBAIFdlYlRo
cmVhZENvbnRleHQgKldlYlRocmVhZEN1cnJlbnRDb250ZXh0KHZvaWQpCiAgICAgcmV0dXJuIEN1
cnJlbnRUaHJlYWRDb250ZXh0KCk7CiB9CiAKLXZvaWQgV2ViVGhyZWFkU2V0RGVsZWdhdGVTb3Vy
Y2VSdW5Mb29wTW9kZShDRlN0cmluZ1JlZiBtb2RlKQotewotICAgIEFTU0VSVCghd2ViVGhyZWFk
U3RhcnRlZCk7Ci0gICAgZGVsZWdhdGVTb3VyY2VSdW5Mb29wTW9kZSA9IG1vZGU7Ci19Ci0KIHZv
aWQgV2ViVGhyZWFkRW5hYmxlKHZvaWQpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9NRVNT
QUdFKCFXZWJDb3JlOjpJT1NBcHBsaWNhdGlvbjo6aXNXZWJQcm9jZXNzKCksICJUaGUgV2ViUHJv
Y2VzcyBzaG91bGQgbmV2ZXIgcnVuIGEgV2ViIFRocmVhZCIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9pb3MvV2ViVmlldy9XZWJQREZWaWV3SU9TLm1tIGIvU291cmNlL1dlYktpdC9pb3Mv
V2ViVmlldy9XZWJQREZWaWV3SU9TLm1tCmluZGV4IDBiZWNhY2Q5MjUzOGYyNjVlZGNlOGNmOWMx
NzY0MDJlNjAxYzE0NjguLmZmYzUxMjFhNTVlYzRjYTFhMjlmYzAzNzFkNjQ0N2M5MTljZTcxY2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvaW9zL1dlYlZpZXcvV2ViUERGVmlld0lPUy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L2lvcy9XZWJWaWV3L1dlYlBERlZpZXdJT1MubW0KQEAgLTEyMiw3
ICsxMjIsNyBAQCAtICh2b2lkKWRyYXdQYWdlOihDR1BERlBhZ2VSZWYpYVBhZ2UKICAgICAKICAg
ICAvLyBEcmF3IHBhZ2UuCiAgICAgQ0dDb250ZXh0U2F2ZUdTdGF0ZShjb250ZXh0KTsKLSAgICBD
R0Zsb2F0IGhlaWdodCA9IFdlYktpdExpbmtlZE9uT3JBZnRlcihXRUJLSVRfRklSU1RfVkVSU0lP
Tl9XSVRIX0ZMSVBQRURfU0hBRE9XUykgPyAyLjBmIDogLTIuMGY7CisgICAgQ0dGbG9hdCBoZWln
aHQgPSAyLjBmOwogICAgIENHQ29udGV4dFNldFNoYWRvd1dpdGhDb2xvcihjb250ZXh0LCBDR1Np
emVNYWtlKDAuMGYsIGhlaWdodCksIDMuMGYsIFtbc2VsZiBjbGFzc10gc2hhZG93Q29sb3JdKTsK
ICAgICBDR0NvbnRleHRTZXRGaWxsQ29sb3JXaXRoQ29sb3IoY29udGV4dCwgY2FjaGVkQ0dDb2xv
cihDb2xvcjo6d2hpdGUpKTsKICAgICBDR0NvbnRleHRGaWxsUmVjdChjb250ZXh0LCBwYWdlUmVj
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdFZlcnNpb25DaGVj
a3MuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5oCmluZGV4
IGNhZDY3ZTZjMmRlYjc2ZjZhMWRiNzllOWM3MDdkMzRjODFlZmYyM2EuLjFmMTBlYmMwYjhjYTA4
NjFmZTkxNDcyZGY3OTM1YjA0Y2U5N2ZjZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L01pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2Mv
V2ViS2l0VmVyc2lvbkNoZWNrcy5oCkBAIC02NCwxNiArNjQsNiBAQAogI2Vsc2UKIC8vIDxyZGFy
Oi8vcHJvYmxlbS82NjI3NzU4PiBOZWVkIHRvIGltcGxlbWVudCBXZWJLaXRMaW5rZWRPbk9yQWZ0
ZXIKIC8vIEFjdHVhbGx5IFVJS2l0IHZlcnNpb24gbnVtYmVycywgc2luY2UgYXBwbGljYXRpb25z
IGRvbid0IGxpbmsgYWdhaW5zdCBXZWJLaXQKLSNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05f
V0lUSF9MT0NBTF9SRVNPVVJDRV9TRUNVUklUWV9SRVNUUklDVElPTiAyMjkgLy8gaU9TIDIuMAot
I2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX01PUkVfU1RSSUNUX0xPQ0FMX1JFU09V
UkNFX1NFQ1VSSVRZX1JFU1RSSUNUSU9OIDgxOCAvLyBpT1MgMy4wCi0jZGVmaW5lIFdFQktJVF9G
SVJTVF9WRVJTSU9OX1dJVEhfRkxJUFBFRF9TSEFET1dTIDExMDAgLy8gaU9TIDMuMgotI2RlZmlu
ZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIT1VUX01VTFRJUExFX0lGUkFNRV9UT1VDSF9FVkVO
VF9ESVNQQVRDSCAxNDAwIC8vIGlPUyA0LjIKLSNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05f
V0lUSF9DU1NfVFJBTlNGT1JNU19BRkZFQ1RJTkdfT1ZFUkZMT1cgMTYwMCAvLyBpT1MgNS4wCi0j
ZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfSFRNTDVfUEFSU0VSIDE2MDAgLy8gaU9T
IDUuMAotI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX1dJTkRPV19PTl9FUlJPUiAx
NjAwIC8vIGlPUyA1LjAKLSNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9ERUxFR0FU
RV9DQUxMU19JTl9DT01NT05fUlVOTE9PUF9NT0RFUyAxNjAwIC8vIGlPUyA1LjAKLSNkZWZpbmUg
V0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9DU1NfQVRUUklCVVRFX1NFVFRFUlNfSUdOT1JJTkdf
UFJJT1JJVFkgMjIzOSAvLyBpT1MgNi4wCi0jZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJ
VEhfWU9VVFVCRV9FTUJFRF9JRlJBTUVfVFJBTlNGT1JNIDIyMzkgLy8gaU9TIDYuMAogI2RlZmlu
ZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIT1VUX0xFR0FDWV9CQUNLR1JPVU5EU0laRV9TSE9S
VEhBTkRfQkVIQVZJT1IgMjY2NSAvLyBpT1MgNy4wCiAjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJT
SU9OX1dJVEhfTE9BRElOR19EVVJJTkdfQ09NTU9OX1JVTkxPT1BfTU9ERVMgMjY2NSAvLyBpT1Mg
Ny4wCiAjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfSU5TRUNVUkVfQ09OVEVOVF9C
TE9DS0lORyAzNDU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhU
TUxWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQppbmRl
eCBlY2VkMTIyNjJkZTFlNDc5MmUyZDNjYWRhZDMwZDU4NjhhZDgwNjU0Li40MGEwYzVkMDViMDEx
YTRmZGM4ZWRkZmRmYTI0NmJiYjdjYzA2ZjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViSFRNTFZpZXcubW0KQEAgLTE5MjQsMjEgKzE5MjQsNiBAQCAtIChOU1ZpZXcgKiloaXRUZXN0
OihOU1BvaW50KXBvaW50CiAgICAgaWYgKF9wcml2YXRlLT5jbG9zZWQpCiAgICAgICAgIHJldHVy
biBuaWw7CiAKLSNpZiBQTEFURk9STShJT1MpCi0gICAgLy8gUHJlc2VydmUgPHJkYXI6Ly9wcm9i
bGVtLzc5OTI0NzI+IGJlaGF2aW9yIGZvciB0aGlyZCBwYXJ0eSBhcHBsaWNhdGlvbnMuIFNlZSA8
cmRhcjovL3Byb2JsZW0vODQ2MzcyNT4uCi0gICAgaWYgKCFXZWJLaXRMaW5rZWRPbk9yQWZ0ZXIo
V0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSE9VVF9NVUxUSVBMRV9JRlJBTUVfVE9VQ0hfRVZFTlRf
RElTUEFUQ0gpKSB7Ci0gICAgICAgIFdlYkV2ZW50ICpldmVudCA9IFtXQUtXaW5kb3cgY3VycmVu
dEV2ZW50XTsKLSAgICAgICAgaWYgKGV2ZW50ICE9IE5VTEwgJiYgZXZlbnQudHlwZSA9PSBXZWJF
dmVudE1vdXNlRG93biAmJiBbc2VsZiBtb3VzZTpwb2ludCBpblJlY3Q6W3NlbGYgZnJhbWVdXSkK
LSAgICAgICAgICAgIHJldHVybiBzZWxmOwotICAgICAgICBOU1ZpZXcgKnZpZXcgPSBbc3VwZXIg
aGl0VGVzdDpwb2ludF07Ci0gICAgICAgIAotICAgICAgICAvLyBGaW5kIHRoZSBjbGlja2VkIGRv
Y3VtZW50IHZpZXcKLSAgICAgICAgd2hpbGUgKHZpZXcgJiYgIVt2aWV3IGNvbmZvcm1zVG9Qcm90
b2NvbDpAcHJvdG9jb2woV2ViRG9jdW1lbnRWaWV3KV0pCi0gICAgICAgICAgICB2aWV3ID0gW3Zp
ZXcgc3VwZXJ2aWV3XTsKLSAgICAgICAgICAgIAotICAgICAgICByZXR1cm4gdmlldzsKLSAgICB9
Ci0jZWxzZQogICAgIEJPT0wgY2FwdHVyZUhpdHNPblN1YnZpZXdzOwogICAgIGlmIChmb3JjZU5T
Vmlld0hpdFRlc3QpCiAgICAgICAgIGNhcHR1cmVIaXRzT25TdWJ2aWV3cyA9IE5POwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IGM1NGE5N2FkMzg1MDQ1NWMwODdlMmU2MzI5
MTk0OGE1NDg3OWEzZjguLjM3YTdjYTUyOGM0NDU3NTk5NjliNGJjZDk1ZTEwMDEzM2ZiNjQ5N2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTEyMjIsOSArMTIyMiw3IEBA
IC0odm9pZClfaW5qZWN0T3V0bG9va1F1aXJrc1NjcmlwdAogc3RhdGljIGJvb2wgc2hvdWxkUmVz
cGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzKCkKIHsKICNpZiBQTEFURk9STShJT1Mp
Ci0gICAgc3RhdGljIGJvb2wgaXNTdGFuemFOZWVkaW5nQXR0cmlidXRlU2V0dGVyUXVpcmsgPSAh
V2ViS2l0TGlua2VkT25PckFmdGVyKFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfQ1NTX0FUVFJJ
QlVURV9TRVRURVJTX0lHTk9SSU5HX1BSSU9SSVRZKQotICAgICAgICAmJiBbW1tOU0J1bmRsZSBt
YWluQnVuZGxlXSBidW5kbGVJZGVudGlmaWVyXSBpc0VxdWFsVG9TdHJpbmc6QCJjb20ubGV4Y3lj
bGUuc3RhbnphIl07Ci0gICAgcmV0dXJuIGlzU3RhbnphTmVlZGluZ0F0dHJpYnV0ZVNldHRlclF1
aXJrOworICAgIHJldHVybiBmYWxzZTsKICNlbHNlCiAgICAgc3RhdGljIGJvb2wgaXNJQWRQcm9k
dWNlck5lZWRpbmdBdHRyaWJ1dGVTZXR0ZXJRdWlyayA9ICFXZWJLaXRMaW5rZWRPbk9yQWZ0ZXIo
V0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9DU1NfQVRUUklCVVRFX1NFVFRFUlNfSUdOT1JJTkdf
UFJJT1JJVFkpCiAgICAgICAgICYmIFtbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50
aWZpZXJdIGlzRXF1YWxUb1N0cmluZzpAImNvbS5hcHBsZS5pQWRQcm9kdWNlciJdOwpAQCAtMTIz
MywxOCArMTIzMSw2IEBAIHN0YXRpYyBib29sIHNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0
cmlidXRlU2V0dGVycygpCiB9CiAKICNpZiBQTEFURk9STShJT1MpCi1zdGF0aWMgYm9vbCBzaG91
bGRUcmFuc2Zvcm1zQWZmZWN0T3ZlcmZsb3coKQotewotICAgIHN0YXRpYyBib29sIHNob3VsZFRy
YW5zZm9ybXNBZmZlY3RPdmVyZmxvdyA9ICFJT1NBcHBsaWNhdGlvbjo6aXNPa0N1cGlkKCkgfHwg
V2ViS2l0TGlua2VkT25PckFmdGVyKFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfQ1NTX1RSQU5T
Rk9STVNfQUZGRUNUSU5HX09WRVJGTE9XKTsKLSAgICByZXR1cm4gc2hvdWxkVHJhbnNmb3Jtc0Fm
ZmVjdE92ZXJmbG93OwotfQotCi1zdGF0aWMgYm9vbCBzaG91bGREaXNwYXRjaEphdmFTY3JpcHRX
aW5kb3dPbkVycm9yRXZlbnRzKCkKLXsKLSAgICBzdGF0aWMgYm9vbCBzaG91bGREaXNwYXRjaEph
dmFTY3JpcHRXaW5kb3dPbkVycm9yRXZlbnRzID0gIUlPU0FwcGxpY2F0aW9uOjppc0ZhY2Vib29r
KCkgfHwgV2ViS2l0TGlua2VkT25PckFmdGVyKFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfV0lO
RE9XX09OX0VSUk9SKTsKLSAgICByZXR1cm4gc2hvdWxkRGlzcGF0Y2hKYXZhU2NyaXB0V2luZG93
T25FcnJvckV2ZW50czsKLX0KLQogc3RhdGljIGJvb2wgaXNJbnRlcm5hbEluc3RhbGwoKQogewog
ICAgIHN0YXRpYyBib29sIGlzSW50ZXJuYWwgPSBNR0dldEJvb2xBbnN3ZXIoa01HUUFwcGxlSW50
ZXJuYWxJbnN0YWxsQ2FwYWJpbGl0eSk7CkBAIC0xNTYyLDYgKzE1NDgsNyBAQCAtICh2b2lkKV9j
b21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFtZU5hbWU6KE5TU3RyaW5nICopZnJhbWVOYW1lIGdy
b3VwTmFtZTooTlNTdAogCiAgICAgV2ViSW5zdGFsbE1lbW9yeVByZXNzdXJlSGFuZGxlcigpOwog
CisjaWYgIVBMQVRGT1JNKElPUykKICAgICBpZiAoIVdlYktpdExpbmtlZE9uT3JBZnRlcihXRUJL
SVRfRklSU1RfVkVSU0lPTl9XSVRIX0xPQ0FMX1JFU09VUkNFX1NFQ1VSSVRZX1JFU1RSSUNUSU9O
KSkgewogICAgICAgICAvLyBPcmlnaW5hbGx5LCB3ZSBhbGxvd2VkIGFsbCBsb2NhbCBsb2Fkcy4K
ICAgICAgICAgU2VjdXJpdHlQb2xpY3k6OnNldExvY2FsTG9hZFBvbGljeShTZWN1cml0eVBvbGlj
eTo6QWxsb3dMb2NhbExvYWRzRm9yQWxsKTsKQEAgLTE1NzAsNiArMTU1Nyw3IEBAIC0gKHZvaWQp
X2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTooTlNTdHJpbmcgKilmcmFtZU5hbWUg
Z3JvdXBOYW1lOihOU1N0CiAgICAgICAgIC8vIHdpdGggc3Vic3RpdHV0ZSBkYXRhLgogICAgICAg
ICBTZWN1cml0eVBvbGljeTo6c2V0TG9jYWxMb2FkUG9saWN5KFNlY3VyaXR5UG9saWN5OjpBbGxv
d0xvY2FsTG9hZHNGb3JMb2NhbEFuZFN1YnN0aXR1dGVEYXRhKTsKICAgICB9CisjZW5kaWYKIAog
I2lmIFBMQVRGT1JNKE1BQykKICAgICBpZiAoIVdlYktpdExpbmtlZE9uT3JBZnRlcihXRUJLSVRf
RklSU1RfVkVSU0lPTl9XSVRIT1VUX0NPTlRFTlRfU05JRkZJTkdfRk9SX0ZJTEVfVVJMUykpCkBA
IC0xNjUzLDggKzE2NDEsNiBAQCArICh2b2lkKWVuYWJsZVdlYlRocmVhZAogICAgICAgICBXZWJD
b3JlT2JqQ0RlYWxsb2NPbldlYlRocmVhZChbV2ViUG9saWN5RGVjaXNpb25MaXN0ZW5lciBjbGFz
c10pOwogICAgICAgICBXZWJDb3JlT2JqQ0RlYWxsb2NPbldlYlRocmVhZChbV2ViVmlldyBjbGFz
c10pOwogICAgICAgICBXZWJDb3JlT2JqQ0RlYWxsb2NPbldlYlRocmVhZChbV2ViVmlzaWJsZVBv
c2l0aW9uIGNsYXNzXSk7Ci0gICAgICAgIGlmIChJT1NBcHBsaWNhdGlvbjo6aXNUaGVFY29ub21p
c3RPbklwaG9uZSgpICYmICFXZWJLaXRMaW5rZWRPbk9yQWZ0ZXIoV0VCS0lUX0ZJUlNUX1ZFUlNJ
T05fV0lUSF9ERUxFR0FURV9DQUxMU19JTl9DT01NT05fUlVOTE9PUF9NT0RFUykpCi0gICAgICAg
ICAgICBXZWJUaHJlYWRTZXREZWxlZ2F0ZVNvdXJjZVJ1bkxvb3BNb2RlKGtDRlJ1bkxvb3BEZWZh
dWx0TW9kZSk7CiAgICAgICAgIFdlYlRocmVhZEVuYWJsZSgpOwogICAgICAgICBpc1dlYlRocmVh
ZEVuYWJsZWQgPSBZRVM7CiAgICAgfQpAQCAtMjY5MCw4ICsyNjc2LDcgQEAgLSAoQk9PTClfbmVl
ZHNQcmVIVE1MNVBhcnNlclF1aXJrcwogI2VuZGlmCiAgICAgICAgIHx8IFtbc2VsZiBwcmVmZXJl
bmNlc10gdXNlUHJlSFRNTDVQYXJzZXJRdWlya3NdOwogI2Vsc2UKLSAgICBzdGF0aWMgYm9vbCBp
c0FwcGxpY2F0aW9uTmVlZGluZ1BhcnNlclF1aXJrcyA9ICFXZWJLaXRMaW5rZWRPbk9yQWZ0ZXIo
V0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9IVE1MNV9QQVJTRVIpICYmIElPU0FwcGxpY2F0aW9u
Ojppc0RhaWppc2VuRGljdGlvbmFyeSgpOwotICAgIHJldHVybiBpc0FwcGxpY2F0aW9uTmVlZGlu
Z1BhcnNlclF1aXJrcyB8fCBbW3NlbGYgcHJlZmVyZW5jZXNdIHVzZVByZUhUTUw1UGFyc2VyUXVp
cmtzXTsKKyAgICByZXR1cm4gW1tzZWxmIHByZWZlcmVuY2VzXSB1c2VQcmVIVE1MNVBhcnNlclF1
aXJrc107CiAjZW5kaWYKIH0KIApAQCAtMjkxMyw4ICsyODk4LDggQEAgLSAodm9pZClfcHJlZmVy
ZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbmNlcyAqKXByZWZlcmVuY2VzCiAjaWYgSEFWRShBVktJ
VCkKICAgICBzZXR0aW5ncy5zZXRBVktpdEVuYWJsZWQoW3ByZWZlcmVuY2VzIGF2S2l0RW5hYmxl
ZF0pOwogI2VuZGlmCi0gICAgc2V0dGluZ3Muc2V0U2hvdWxkVHJhbnNmb3Jtc0FmZmVjdE92ZXJm
bG93KHNob3VsZFRyYW5zZm9ybXNBZmZlY3RPdmVyZmxvdygpKTsKLSAgICBzZXR0aW5ncy5zZXRT
aG91bGREaXNwYXRjaEphdmFTY3JpcHRXaW5kb3dPbkVycm9yRXZlbnRzKHNob3VsZERpc3BhdGNo
SmF2YVNjcmlwdFdpbmRvd09uRXJyb3JFdmVudHMoKSk7CisgICAgc2V0dGluZ3Muc2V0U2hvdWxk
VHJhbnNmb3Jtc0FmZmVjdE92ZXJmbG93KHRydWUpOworICAgIHNldHRpbmdzLnNldFNob3VsZERp
c3BhdGNoSmF2YVNjcmlwdFdpbmRvd09uRXJyb3JFdmVudHModHJ1ZSk7CiAKICAgICBzZXR0aW5n
cy5zZXRQYXNzd29yZEVjaG9FbmFibGVkKFtwcmVmZXJlbmNlcyBfYWxsb3dQYXNzd29yZEVjaG9d
KTsKICAgICBzZXR0aW5ncy5zZXRQYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25kcyhbcHJlZmVy
ZW5jZXMgX3Bhc3N3b3JkRWNob0R1cmF0aW9uXSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314937</attachid>
            <date>2017-07-08 21:40:35 -0700</date>
            <delta_ts>2017-07-08 22:39:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174294-20170708214035.patch</filename>
            <type>text/plain</type>
            <size>16125</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5Mjc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDkxMWQ4Njc2YzY1ZDgy
Y2RmYjkxN2Q0YjY2NWI2MzU2NzgwNmI0My4uN2QwNjA1MzMxNGRjMjUyNjBmMjYyYTNkNzc3OGE4
NmNlMmJkOTYxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE3LTA3LTA4ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgc29tZSBvYnNv
bGV0ZSBXZWJLaXRWZXJzaW9uQ2hlY2tzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc0Mjk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChObyBjaGFuZ2UgdG8gdGVzdGFibGUgYmVo
YXZpb3IpLgorCisgICAgICAgICogcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmg6
CisgICAgICAgICogcGxhdGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2Eu
bW06CisgICAgICAgIChXZWJDb3JlOjpJT1NBcHBsaWNhdGlvbjo6aXNPa0N1cGlkKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OklPU0FwcGxpY2F0aW9uOjppc0ZhY2Vib29rKTogRGVsZXRl
ZC4KKwogMjAxNy0wNy0wOCAgQmFzdWtlIFN1enVraSAgPEJhc3VrZS5TdXp1a2lAc29ueS5jb20+
CiAKICAgICAgICAgW0N1cmxdIFNhZmUgYWNjZXNzIGFuZCBsaWZlIGN5Y2xlIG1hbmFnZW1lbnQg
b2YgYmFyZSBDdXJsIGhhbmRsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9pb3MvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9pb3MvQ2hhbmdlTG9nCmluZGV4IGIyZGJhNmJiZWI1N2QyNGE5
NGY0MTdlOTdlMmY3ZDUyMGVmZGFjNWUuLjk2YjJlNWUwNzYzNGE1NTAwMzM5NGQwNjMyZTYxMzAx
ZDAxMzNkZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvaW9zL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2lvcy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wNy0wOCAg
QnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHNvbWUg
b2Jzb2xldGUgV2ViS2l0VmVyc2lvbkNoZWNrcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDI5NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJQREZWaWV3SU9TLm1tOgorICAgICAg
ICAoLVtXZWJQREZWaWV3IGRyYXdQYWdlOl0pOgorCiAyMDE3LTA3LTA1ICBEb24gT2xtc3RlYWQg
IDxkb24ub2xtc3RlYWRAc29ueS5jb20+CiAKICAgICAgICAgW1dURl0gTW92ZSBTb2Z0TGlua2lu
Zy5oIGludG8gV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYzI3YTVjZDg0YjFkN2RiMDc2MzFkOWQ2
MTlhOGRhN2I5NGVlMzZiNC4uZjhjODc5OWE5NTFiOTFlZTYyNjY1OTllMjg3Y2E2NzVkZDNhNjcx
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE3LTA3LTA4ICBCcmFkeSBF
aWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgc29tZSBvYnNvbGV0
ZSBXZWJLaXRWZXJzaW9uQ2hlY2tzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc0Mjk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBNaXNjL1dlYktpdFZlcnNpb25DaGVja3MuaDogUmVtb3ZlIGFsbCBw
cmUtaU9TNyBjaGVja3MuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1tOgorICAg
ICAgICAoLVtXZWJIVE1MVmlldyBoaXRUZXN0Ol0pOgorICAgIAorICAgICAgICAqIFdlYlZpZXcv
V2ViVmlldy5tbToKKyAgICAgICAgKHNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmlidXRl
U2V0dGVycyk6CisgICAgICAgICgtW1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZy
YW1lTmFtZTpncm91cE5hbWU6XSk6CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hh
bmdlZDpdKToKKyAgICAgICAgKHNob3VsZFRyYW5zZm9ybXNBZmZlY3RPdmVyZmxvdyk6IERlbGV0
ZWQuCisgICAgICAgIChzaG91bGREaXNwYXRjaEphdmFTY3JpcHRXaW5kb3dPbkVycm9yRXZlbnRz
KTogRGVsZXRlZC4KKwogMjAxNy0wNy0wOCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdt
YWlsLmNvbT4KIAogICAgICAgICBEcm9wIE5PU05JRkYgY29tcGlsZSBmbGFnCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPYmplY3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCmluZGV4IDFhZGE1ZWI0MzNhZWE3OTBlMmRl
MWIwY2YzZjNkNTIyOWNiYzcyZDIuLjFjYjEyMGM0ODI2MzY3N2NjM2YxOGFmZTkwNWY3MzBjNGU5
Y2Y4NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuY3BwCkBAIC0x
NTIsMTQgKzE1Miw2IEBAIHN0YXRpYyB2b2lkIG1hcERhdGFQYXJhbVRvU3JjKFZlY3RvcjxTdHJp
bmc+JiBwYXJhbU5hbWVzLCBWZWN0b3I8U3RyaW5nPiYgcGFyYW1WCiAgICAgfQogfQogCi0jaWYg
UExBVEZPUk0oSU9TKQotc3RhdGljIGJvb2wgc2hvdWxkTm90UGVyZm9ybVVSTEFkanVzdG1lbnQo
KQotewotICAgIHN0YXRpYyBib29sIHNob3VsZE5vdFBlcmZvcm1VUkxBZGp1c3RtZW50ID0gSU9T
QXBwbGljYXRpb246OmlzTkFTQUhEKCkgJiYgZHlsZF9nZXRfcHJvZ3JhbV9zZGtfdmVyc2lvbigp
IDwgRFlMRF9JT1NfVkVSU0lPTl81XzA7Ci0gICAgcmV0dXJuIHNob3VsZE5vdFBlcmZvcm1VUkxB
ZGp1c3RtZW50OwotfQotI2VuZGlmCi0KIC8vIEZJWE1FOiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBu
b3QgZGVhbCB3aXRoIHVybCBvciBzZXJ2aWNlVHlwZSEKIHZvaWQgSFRNTE9iamVjdEVsZW1lbnQ6
OnBhcmFtZXRlcnNGb3JQbHVnaW4oVmVjdG9yPFN0cmluZz4mIHBhcmFtTmFtZXMsIFZlY3RvcjxT
dHJpbmc+JiBwYXJhbVZhbHVlcywgU3RyaW5nJiB1cmwsIFN0cmluZyYgc2VydmljZVR5cGUpCiB7
CkBAIC0yMTcsMTAgKzIwOSw2IEBAIHZvaWQgSFRNTE9iamVjdEVsZW1lbnQ6OnBhcmFtZXRlcnNG
b3JQbHVnaW4oVmVjdG9yPFN0cmluZz4mIHBhcmFtTmFtZXMsIFZlY3RvcjxTCiAgICAgLy8gYXR0
cmlidXRlLCBub3QgYnkgYSBwYXJhbSBlbGVtZW50LiBIb3dldmVyLCBmb3IgY29tcGF0aWJpbGl0
eSwgYWxsb3cgdGhlCiAgICAgLy8gcmVzb3VyY2UncyBVUkwgdG8gYmUgZ2l2ZW4gYnkgYSBwYXJh
bSBuYW1lZCAic3JjIiwgIm1vdmllIiwgImNvZGUiIG9yICJ1cmwiCiAgICAgLy8gaWYgd2Uga25v
dyB0aGF0IHJlc291cmNlIHBvaW50cyB0byBhIHBsdWctaW4uCi0jaWYgUExBVEZPUk0oSU9TKQot
ICAgIGlmIChzaG91bGROb3RQZXJmb3JtVVJMQWRqdXN0bWVudCgpKQotICAgICAgICByZXR1cm47
Ci0jZW5kaWYKIAogICAgIGlmICh1cmwuaXNFbXB0eSgpICYmICF1cmxQYXJhbWV0ZXIuaXNFbXB0
eSgpKSB7CiAgICAgICAgIFN1YmZyYW1lTG9hZGVyJiBsb2FkZXIgPSBkb2N1bWVudCgpLmZyYW1l
KCktPmxvYWRlcigpLnN1YmZyYW1lTG9hZGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCmluZGV4IGFiODhlNjc0NGQwZThlYzRm
M2ZlNDg0MmIyOTVlNjMxMjZmZDQxNzguLjE0ZmVkOWVjZjIxNjNjY2Q3YTdiOGExMTUwNzUyY2Qw
YzQyYmUwNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBs
aWNhdGlvbkNoZWNrcy5oCkBAIC03MSwxMSArNzEsNiBAQCBXRUJDT1JFX0VYUE9SVCBib29sIGlz
V2ViQm9va21hcmtzRCgpOwogYm9vbCBpc0R1bXBSZW5kZXJUcmVlKCk7CiBib29sIGlzTW9iaWxl
U3RvcmUoKTsKIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNXZWJBcHAoKTsKLVdFQkNPUkVfRVhQT1JU
IGJvb2wgaXNPa0N1cGlkKCk7Ci1XRUJDT1JFX0VYUE9SVCBib29sIGlzRmFjZWJvb2soKTsKLVdF
QkNPUkVfRVhQT1JUIGJvb2wgaXNEYWlqaXNlbkRpY3Rpb25hcnkoKTsKLWJvb2wgaXNOQVNBSEQo
KTsKLVdFQkNPUkVfRVhQT1JUIGJvb2wgaXNUaGVFY29ub21pc3RPbklwaG9uZSgpOwogV0VCQ09S
RV9FWFBPUlQgYm9vbCBpc1dlYlByb2Nlc3MoKTsKIGJvb2wgaXNJQm9va3MoKTsKIFdFQkNPUkVf
RVhQT1JUIGJvb2wgaXNUaGVTZWNyZXRTb2NpZXR5SGlkZGVuTXlzdGVyeSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tz
Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRp
b25DaGVja3NDb2NvYS5tbQppbmRleCAwMmYwZmI5OWE4YjZmYWFhZDc0N2I2ZDg3NjVkM2IxODBk
YzhhOTMxLi45ZWQ2ZjQ4YzRlYTA3NTFiYzNiYmIxMGM1ODUyOWEwY2Y5ZjhmOTRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVj
a3NDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBw
bGljYXRpb25DaGVja3NDb2NvYS5tbQpAQCAtMjA0LDM2ICsyMDQsNiBAQCBib29sIElPU0FwcGxp
Y2F0aW9uOjppc1dlYkFwcCgpCiAgICAgcmV0dXJuIGlzV2ViQXBwOwogfQogCi1ib29sIElPU0Fw
cGxpY2F0aW9uOjppc09rQ3VwaWQoKQotewotICAgIHN0YXRpYyBib29sIGlzT2tDdXBpZCA9IGFw
cGxpY2F0aW9uQnVuZGxlSXNFcXVhbFRvKCJjb20ub2tjdXBpZC5hcHAiKTsKLSAgICByZXR1cm4g
aXNPa0N1cGlkOwotfQotCi1ib29sIElPU0FwcGxpY2F0aW9uOjppc0ZhY2Vib29rKCkKLXsKLSAg
ICBzdGF0aWMgYm9vbCBpc0ZhY2Vib29rID0gYXBwbGljYXRpb25CdW5kbGVJc0VxdWFsVG8oImNv
bS5mYWNlYm9vay5GYWNlYm9vayIpOwotICAgIHJldHVybiBpc0ZhY2Vib29rOwotfQotCi1ib29s
IElPU0FwcGxpY2F0aW9uOjppc0RhaWppc2VuRGljdGlvbmFyeSgpCi17Ci0gICAgc3RhdGljIGJv
b2wgaXNEYWlqaXNlbkRpY3Rpb25hcnkgPSBhcHBsaWNhdGlvbkJ1bmRsZUlzRXF1YWxUbygianAu
Y28uc2hvZ2FrdWthbi5kYWlqaXNlbjIwMDlpIik7Ci0gICAgcmV0dXJuIGlzRGFpamlzZW5EaWN0
aW9uYXJ5OwotfQotCi1ib29sIElPU0FwcGxpY2F0aW9uOjppc05BU0FIRCgpCi17Ci0gICAgc3Rh
dGljIGJvb2wgaXNOQVNBSEQgPSBhcHBsaWNhdGlvbkJ1bmRsZUlzRXF1YWxUbygiZ292Lm5hc2Eu
TkFTQUhEIik7Ci0gICAgcmV0dXJuIGlzTkFTQUhEOwotfQotCi1ib29sIElPU0FwcGxpY2F0aW9u
Ojppc1RoZUVjb25vbWlzdE9uSXBob25lKCkKLXsKLSAgICBzdGF0aWMgYm9vbCBpc1RoZUVjb25v
bWlzdE9uSXBob25lID0gYXBwbGljYXRpb25CdW5kbGVJc0VxdWFsVG8oImNvbS5lY29ub21pc3Qu
aXBob25lIik7Ci0gICAgcmV0dXJuIGlzVGhlRWNvbm9taXN0T25JcGhvbmU7Ci19Ci0KIC8vIEZJ
WE1FOiB0aGlzIG5lZWRzIHRvIGJlIGNoYW5nZWQgd2hlbiB0aGUgV2ViUHJvY2VzcyBpcyBjaGFu
Z2VkIHRvIGFuIFhQQyBzZXJ2aWNlLgogYm9vbCBJT1NBcHBsaWNhdGlvbjo6aXNXZWJQcm9jZXNz
KCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93YWsvV2ViQ29y
ZVRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFk
LmgKaW5kZXggOTVkMWIyOTdmN2MyODEzNzQ0ODdjNzAwMWMyYzkwNGM0ZTVjNmQyMS4uMjc5NDcw
YzhlOWZjYTcxNjQ1OGM4YWNkYzllYTUzMGY1YWIzOTllMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLmgKQEAgLTg3LDggKzg3LDYgQEAgc3Rh
dGljIGlubGluZSB2b2lkIFdlYlRocmVhZFNldFNob3VsZFlpZWxkKCkgeyB3ZWJUaHJlYWRTaG91
bGRZaWVsZCA9IHRydWU7IH0KIAogV0VCQ09SRV9FWFBPUlQgTlNSdW5Mb29wKiBXZWJUaHJlYWRO
U1J1bkxvb3Aodm9pZCk7CiAKLVdFQkNPUkVfRVhQT1JUIHZvaWQgV2ViVGhyZWFkU2V0RGVsZWdh
dGVTb3VyY2VSdW5Mb29wTW9kZShDRlN0cmluZ1JlZiBtb2RlKTsKLQogI2lmIGRlZmluZWQoX19j
cGx1c3BsdXMpCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy93YWsvV2ViQ29yZVRocmVhZC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy93
YWsvV2ViQ29yZVRocmVhZC5tbQppbmRleCAwNjUxNjY1ZTcwMWI3ZTM2OGZlOTc5MmE5NjA3YjI0
YWIwNzUyYjc0Li42MTIyYjRmMmM1MGI2NGJhNWM3ZmZjOWRkZTNmNGRhNTYyOWEwMzg3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mvd2FrL1dlYkNvcmVUaHJlYWQubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL3dhay9XZWJDb3JlVGhyZWFkLm1tCkBA
IC0xNDUsOCArMTQ1LDYgQEAgc3RhdGljIHZvaWQgV2ViQ29yZU9iakNEZWFsbG9jV2l0aFdlYlRo
cmVhZExvY2tJbXBsKGlkIHNlbGYsIFNFTCBfY21kKTsKIAogc3RhdGljIE5TTXV0YWJsZUFycmF5
ICpzQXN5bmNEZWxlZ2F0ZXMgPSBuaWw7CiAKLXN0YXRpYyBDRlN0cmluZ1JlZiBkZWxlZ2F0ZVNv
dXJjZVJ1bkxvb3BNb2RlOwotCiBzdGF0aWMgaW5saW5lIHZvaWQgU2VuZE1lc3NhZ2UoTlNJbnZv
Y2F0aW9uICppbnZvY2F0aW9uKQogewogICAgIFtpbnZvY2F0aW9uIGludm9rZV07CkBAIC03MzYs
MTIgKzczNCwxMSBAQCBzdGF0aWMgdm9pZCBTdGFydFdlYlRocmVhZCgpCiAgICAgQ0ZSdW5Mb29w
UmVmIHJ1bkxvb3AgPSBDRlJ1bkxvb3BHZXRDdXJyZW50KCk7CiAgICAgQ0ZSdW5Mb29wU291cmNl
Q29udGV4dCBkZWxlZ2F0ZVNvdXJjZUNvbnRleHQgPSB7MCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVM
TCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgSGFuZGxlRGVsZWdhdGVTb3VyY2V9OwogICAgIGRl
bGVnYXRlU291cmNlID0gQ0ZSdW5Mb29wU291cmNlQ3JlYXRlKE5VTEwsIDAsICZkZWxlZ2F0ZVNv
dXJjZUNvbnRleHQpOworCiAgICAgLy8gV2Ugc2hvdWxkbid0IGdldCBkZWxlZ2F0ZSBjYWxsYmFj
a3Mgd2hpbGUgc2Nyb2xsaW5nLCBidXQgdGhlcmUgbWlnaHQgYmUKICAgICAvLyBvbmUgb3V0c3Rh
bmRpbmcgd2hlbiB3ZSBzdGFydC4gIEFkZCB0aGUgc291cmNlIGZvciBhbGwgY29tbW9uIHJ1biBs
b29wCiAgICAgLy8gbW9kZXMgc28gd2UgZG9uJ3QgYmxvY2sgdGhlIHdlYiB0aHJlYWQgd2hpbGUg
c2Nyb2xsaW5nLgotICAgIGlmICghZGVsZWdhdGVTb3VyY2VSdW5Mb29wTW9kZSkKLSAgICAgICAg
ZGVsZWdhdGVTb3VyY2VSdW5Mb29wTW9kZSA9IGtDRlJ1bkxvb3BDb21tb25Nb2RlczsKLSAgICBD
RlJ1bkxvb3BBZGRTb3VyY2UocnVuTG9vcCwgZGVsZWdhdGVTb3VyY2UsIGRlbGVnYXRlU291cmNl
UnVuTG9vcE1vZGUpOworICAgIENGUnVuTG9vcEFkZFNvdXJjZShydW5Mb29wLCBkZWxlZ2F0ZVNv
dXJjZSwga0NGUnVuTG9vcENvbW1vbk1vZGVzKTsKIAogICAgIHNBc3luY0RlbGVnYXRlcyA9IFtb
TlNNdXRhYmxlQXJyYXkgYWxsb2NdIGluaXRdOwogCkBAIC05OTUsMTIgKzk5Miw2IEBAIFdlYlRo
cmVhZENvbnRleHQgKldlYlRocmVhZEN1cnJlbnRDb250ZXh0KHZvaWQpCiAgICAgcmV0dXJuIEN1
cnJlbnRUaHJlYWRDb250ZXh0KCk7CiB9CiAKLXZvaWQgV2ViVGhyZWFkU2V0RGVsZWdhdGVTb3Vy
Y2VSdW5Mb29wTW9kZShDRlN0cmluZ1JlZiBtb2RlKQotewotICAgIEFTU0VSVCghd2ViVGhyZWFk
U3RhcnRlZCk7Ci0gICAgZGVsZWdhdGVTb3VyY2VSdW5Mb29wTW9kZSA9IG1vZGU7Ci19Ci0KIHZv
aWQgV2ViVGhyZWFkRW5hYmxlKHZvaWQpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9NRVNT
QUdFKCFXZWJDb3JlOjpJT1NBcHBsaWNhdGlvbjo6aXNXZWJQcm9jZXNzKCksICJUaGUgV2ViUHJv
Y2VzcyBzaG91bGQgbmV2ZXIgcnVuIGEgV2ViIFRocmVhZCIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9pb3MvV2ViVmlldy9XZWJQREZWaWV3SU9TLm1tIGIvU291cmNlL1dlYktpdC9pb3Mv
V2ViVmlldy9XZWJQREZWaWV3SU9TLm1tCmluZGV4IDBiZWNhY2Q5MjUzOGYyNjVlZGNlOGNmOWMx
NzY0MDJlNjAxYzE0NjguLmZmYzUxMjFhNTVlYzRjYTFhMjlmYzAzNzFkNjQ0N2M5MTljZTcxY2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvaW9zL1dlYlZpZXcvV2ViUERGVmlld0lPUy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L2lvcy9XZWJWaWV3L1dlYlBERlZpZXdJT1MubW0KQEAgLTEyMiw3
ICsxMjIsNyBAQCAtICh2b2lkKWRyYXdQYWdlOihDR1BERlBhZ2VSZWYpYVBhZ2UKICAgICAKICAg
ICAvLyBEcmF3IHBhZ2UuCiAgICAgQ0dDb250ZXh0U2F2ZUdTdGF0ZShjb250ZXh0KTsKLSAgICBD
R0Zsb2F0IGhlaWdodCA9IFdlYktpdExpbmtlZE9uT3JBZnRlcihXRUJLSVRfRklSU1RfVkVSU0lP
Tl9XSVRIX0ZMSVBQRURfU0hBRE9XUykgPyAyLjBmIDogLTIuMGY7CisgICAgQ0dGbG9hdCBoZWln
aHQgPSAyLjBmOwogICAgIENHQ29udGV4dFNldFNoYWRvd1dpdGhDb2xvcihjb250ZXh0LCBDR1Np
emVNYWtlKDAuMGYsIGhlaWdodCksIDMuMGYsIFtbc2VsZiBjbGFzc10gc2hhZG93Q29sb3JdKTsK
ICAgICBDR0NvbnRleHRTZXRGaWxsQ29sb3JXaXRoQ29sb3IoY29udGV4dCwgY2FjaGVkQ0dDb2xv
cihDb2xvcjo6d2hpdGUpKTsKICAgICBDR0NvbnRleHRGaWxsUmVjdChjb250ZXh0LCBwYWdlUmVj
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdFZlcnNpb25DaGVj
a3MuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5oCmluZGV4
IGNhZDY3ZTZjMmRlYjc2ZjZhMWRiNzllOWM3MDdkMzRjODFlZmYyM2EuLjFmMTBlYmMwYjhjYTA4
NjFmZTkxNDcyZGY3OTM1YjA0Y2U5N2ZjZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L01pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2Mv
V2ViS2l0VmVyc2lvbkNoZWNrcy5oCkBAIC02NCwxNiArNjQsNiBAQAogI2Vsc2UKIC8vIDxyZGFy
Oi8vcHJvYmxlbS82NjI3NzU4PiBOZWVkIHRvIGltcGxlbWVudCBXZWJLaXRMaW5rZWRPbk9yQWZ0
ZXIKIC8vIEFjdHVhbGx5IFVJS2l0IHZlcnNpb24gbnVtYmVycywgc2luY2UgYXBwbGljYXRpb25z
IGRvbid0IGxpbmsgYWdhaW5zdCBXZWJLaXQKLSNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05f
V0lUSF9MT0NBTF9SRVNPVVJDRV9TRUNVUklUWV9SRVNUUklDVElPTiAyMjkgLy8gaU9TIDIuMAot
I2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX01PUkVfU1RSSUNUX0xPQ0FMX1JFU09V
UkNFX1NFQ1VSSVRZX1JFU1RSSUNUSU9OIDgxOCAvLyBpT1MgMy4wCi0jZGVmaW5lIFdFQktJVF9G
SVJTVF9WRVJTSU9OX1dJVEhfRkxJUFBFRF9TSEFET1dTIDExMDAgLy8gaU9TIDMuMgotI2RlZmlu
ZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIT1VUX01VTFRJUExFX0lGUkFNRV9UT1VDSF9FVkVO
VF9ESVNQQVRDSCAxNDAwIC8vIGlPUyA0LjIKLSNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05f
V0lUSF9DU1NfVFJBTlNGT1JNU19BRkZFQ1RJTkdfT1ZFUkZMT1cgMTYwMCAvLyBpT1MgNS4wCi0j
ZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfSFRNTDVfUEFSU0VSIDE2MDAgLy8gaU9T
IDUuMAotI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX1dJTkRPV19PTl9FUlJPUiAx
NjAwIC8vIGlPUyA1LjAKLSNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9ERUxFR0FU
RV9DQUxMU19JTl9DT01NT05fUlVOTE9PUF9NT0RFUyAxNjAwIC8vIGlPUyA1LjAKLSNkZWZpbmUg
V0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9DU1NfQVRUUklCVVRFX1NFVFRFUlNfSUdOT1JJTkdf
UFJJT1JJVFkgMjIzOSAvLyBpT1MgNi4wCi0jZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJ
VEhfWU9VVFVCRV9FTUJFRF9JRlJBTUVfVFJBTlNGT1JNIDIyMzkgLy8gaU9TIDYuMAogI2RlZmlu
ZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIT1VUX0xFR0FDWV9CQUNLR1JPVU5EU0laRV9TSE9S
VEhBTkRfQkVIQVZJT1IgMjY2NSAvLyBpT1MgNy4wCiAjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJT
SU9OX1dJVEhfTE9BRElOR19EVVJJTkdfQ09NTU9OX1JVTkxPT1BfTU9ERVMgMjY2NSAvLyBpT1Mg
Ny4wCiAjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfSU5TRUNVUkVfQ09OVEVOVF9C
TE9DS0lORyAzNDU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhU
TUxWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQppbmRl
eCBlY2VkMTIyNjJkZTFlNDc5MmUyZDNjYWRhZDMwZDU4NjhhZDgwNjU0Li5mOTQ3MzNiYmVhYzM5
M2Y2M2QzMGZmODJhMWRhMmY1OWEzM2E2OGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViSFRNTFZpZXcubW0KQEAgLTE5MjQsMjEgKzE5MjQsNyBAQCAtIChOU1ZpZXcgKiloaXRUZXN0
OihOU1BvaW50KXBvaW50CiAgICAgaWYgKF9wcml2YXRlLT5jbG9zZWQpCiAgICAgICAgIHJldHVy
biBuaWw7CiAKLSNpZiBQTEFURk9STShJT1MpCi0gICAgLy8gUHJlc2VydmUgPHJkYXI6Ly9wcm9i
bGVtLzc5OTI0NzI+IGJlaGF2aW9yIGZvciB0aGlyZCBwYXJ0eSBhcHBsaWNhdGlvbnMuIFNlZSA8
cmRhcjovL3Byb2JsZW0vODQ2MzcyNT4uCi0gICAgaWYgKCFXZWJLaXRMaW5rZWRPbk9yQWZ0ZXIo
V0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSE9VVF9NVUxUSVBMRV9JRlJBTUVfVE9VQ0hfRVZFTlRf
RElTUEFUQ0gpKSB7Ci0gICAgICAgIFdlYkV2ZW50ICpldmVudCA9IFtXQUtXaW5kb3cgY3VycmVu
dEV2ZW50XTsKLSAgICAgICAgaWYgKGV2ZW50ICE9IE5VTEwgJiYgZXZlbnQudHlwZSA9PSBXZWJF
dmVudE1vdXNlRG93biAmJiBbc2VsZiBtb3VzZTpwb2ludCBpblJlY3Q6W3NlbGYgZnJhbWVdXSkK
LSAgICAgICAgICAgIHJldHVybiBzZWxmOwotICAgICAgICBOU1ZpZXcgKnZpZXcgPSBbc3VwZXIg
aGl0VGVzdDpwb2ludF07Ci0gICAgICAgIAotICAgICAgICAvLyBGaW5kIHRoZSBjbGlja2VkIGRv
Y3VtZW50IHZpZXcKLSAgICAgICAgd2hpbGUgKHZpZXcgJiYgIVt2aWV3IGNvbmZvcm1zVG9Qcm90
b2NvbDpAcHJvdG9jb2woV2ViRG9jdW1lbnRWaWV3KV0pCi0gICAgICAgICAgICB2aWV3ID0gW3Zp
ZXcgc3VwZXJ2aWV3XTsKLSAgICAgICAgICAgIAotICAgICAgICByZXR1cm4gdmlldzsKLSAgICB9
Ci0jZWxzZQorI2lmICFQTEFURk9STShJT1MpCiAgICAgQk9PTCBjYXB0dXJlSGl0c09uU3Vidmll
d3M7CiAgICAgaWYgKGZvcmNlTlNWaWV3SGl0VGVzdCkKICAgICAgICAgY2FwdHVyZUhpdHNPblN1
YnZpZXdzID0gTk87CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggYzU0YTk3
YWQzODUwNDU1YzA4N2UyZTYzMjkxOTQ4YTU0ODc5YTNmOC4uMzdhN2NhNTI4YzQ0NTc1OTk2OWI0
YmNkOTVlMTAwMTMzZmI2NDk3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpA
QCAtMTIyMiw5ICsxMjIyLDcgQEAgLSh2b2lkKV9pbmplY3RPdXRsb29rUXVpcmtzU2NyaXB0CiBz
dGF0aWMgYm9vbCBzaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0dHJpYnV0ZVNldHRlcnMoKQog
ewogI2lmIFBMQVRGT1JNKElPUykKLSAgICBzdGF0aWMgYm9vbCBpc1N0YW56YU5lZWRpbmdBdHRy
aWJ1dGVTZXR0ZXJRdWlyayA9ICFXZWJLaXRMaW5rZWRPbk9yQWZ0ZXIoV0VCS0lUX0ZJUlNUX1ZF
UlNJT05fV0lUSF9DU1NfQVRUUklCVVRFX1NFVFRFUlNfSUdOT1JJTkdfUFJJT1JJVFkpCi0gICAg
ICAgICYmIFtbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdIGlzRXF1YWxU
b1N0cmluZzpAImNvbS5sZXhjeWNsZS5zdGFuemEiXTsKLSAgICByZXR1cm4gaXNTdGFuemFOZWVk
aW5nQXR0cmlidXRlU2V0dGVyUXVpcms7CisgICAgcmV0dXJuIGZhbHNlOwogI2Vsc2UKICAgICBz
dGF0aWMgYm9vbCBpc0lBZFByb2R1Y2VyTmVlZGluZ0F0dHJpYnV0ZVNldHRlclF1aXJrID0gIVdl
YktpdExpbmtlZE9uT3JBZnRlcihXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX0NTU19BVFRSSUJV
VEVfU0VUVEVSU19JR05PUklOR19QUklPUklUWSkKICAgICAgICAgJiYgW1tbTlNCdW5kbGUgbWFp
bkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0gaXNFcXVhbFRvU3RyaW5nOkAiY29tLmFwcGxlLmlB
ZFByb2R1Y2VyIl07CkBAIC0xMjMzLDE4ICsxMjMxLDYgQEAgc3RhdGljIGJvb2wgc2hvdWxkUmVz
cGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVTZXR0ZXJzKCkKIH0KIAogI2lmIFBMQVRGT1JNKElP
UykKLXN0YXRpYyBib29sIHNob3VsZFRyYW5zZm9ybXNBZmZlY3RPdmVyZmxvdygpCi17Ci0gICAg
c3RhdGljIGJvb2wgc2hvdWxkVHJhbnNmb3Jtc0FmZmVjdE92ZXJmbG93ID0gIUlPU0FwcGxpY2F0
aW9uOjppc09rQ3VwaWQoKSB8fCBXZWJLaXRMaW5rZWRPbk9yQWZ0ZXIoV0VCS0lUX0ZJUlNUX1ZF
UlNJT05fV0lUSF9DU1NfVFJBTlNGT1JNU19BRkZFQ1RJTkdfT1ZFUkZMT1cpOwotICAgIHJldHVy
biBzaG91bGRUcmFuc2Zvcm1zQWZmZWN0T3ZlcmZsb3c7Ci19Ci0KLXN0YXRpYyBib29sIHNob3Vs
ZERpc3BhdGNoSmF2YVNjcmlwdFdpbmRvd09uRXJyb3JFdmVudHMoKQotewotICAgIHN0YXRpYyBi
b29sIHNob3VsZERpc3BhdGNoSmF2YVNjcmlwdFdpbmRvd09uRXJyb3JFdmVudHMgPSAhSU9TQXBw
bGljYXRpb246OmlzRmFjZWJvb2soKSB8fCBXZWJLaXRMaW5rZWRPbk9yQWZ0ZXIoV0VCS0lUX0ZJ
UlNUX1ZFUlNJT05fV0lUSF9XSU5ET1dfT05fRVJST1IpOwotICAgIHJldHVybiBzaG91bGREaXNw
YXRjaEphdmFTY3JpcHRXaW5kb3dPbkVycm9yRXZlbnRzOwotfQotCiBzdGF0aWMgYm9vbCBpc0lu
dGVybmFsSW5zdGFsbCgpCiB7CiAgICAgc3RhdGljIGJvb2wgaXNJbnRlcm5hbCA9IE1HR2V0Qm9v
bEFuc3dlcihrTUdRQXBwbGVJbnRlcm5hbEluc3RhbGxDYXBhYmlsaXR5KTsKQEAgLTE1NjIsNiAr
MTU0OCw3IEBAIC0gKHZvaWQpX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTooTlNT
dHJpbmcgKilmcmFtZU5hbWUgZ3JvdXBOYW1lOihOU1N0CiAKICAgICBXZWJJbnN0YWxsTWVtb3J5
UHJlc3N1cmVIYW5kbGVyKCk7CiAKKyNpZiAhUExBVEZPUk0oSU9TKQogICAgIGlmICghV2ViS2l0
TGlua2VkT25PckFmdGVyKFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfTE9DQUxfUkVTT1VSQ0Vf
U0VDVVJJVFlfUkVTVFJJQ1RJT04pKSB7CiAgICAgICAgIC8vIE9yaWdpbmFsbHksIHdlIGFsbG93
ZWQgYWxsIGxvY2FsIGxvYWRzLgogICAgICAgICBTZWN1cml0eVBvbGljeTo6c2V0TG9jYWxMb2Fk
UG9saWN5KFNlY3VyaXR5UG9saWN5OjpBbGxvd0xvY2FsTG9hZHNGb3JBbGwpOwpAQCAtMTU3MCw2
ICsxNTU3LDcgQEAgLSAodm9pZClfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOihO
U1N0cmluZyAqKWZyYW1lTmFtZSBncm91cE5hbWU6KE5TU3QKICAgICAgICAgLy8gd2l0aCBzdWJz
dGl0dXRlIGRhdGEuCiAgICAgICAgIFNlY3VyaXR5UG9saWN5OjpzZXRMb2NhbExvYWRQb2xpY3ko
U2VjdXJpdHlQb2xpY3k6OkFsbG93TG9jYWxMb2Fkc0ZvckxvY2FsQW5kU3Vic3RpdHV0ZURhdGEp
OwogICAgIH0KKyNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIGlmICghV2ViS2l0TGlu
a2VkT25PckFmdGVyKFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhPVVRfQ09OVEVOVF9TTklGRklO
R19GT1JfRklMRV9VUkxTKSkKQEAgLTE2NTMsOCArMTY0MSw2IEBAICsgKHZvaWQpZW5hYmxlV2Vi
VGhyZWFkCiAgICAgICAgIFdlYkNvcmVPYmpDRGVhbGxvY09uV2ViVGhyZWFkKFtXZWJQb2xpY3lE
ZWNpc2lvbkxpc3RlbmVyIGNsYXNzXSk7CiAgICAgICAgIFdlYkNvcmVPYmpDRGVhbGxvY09uV2Vi
VGhyZWFkKFtXZWJWaWV3IGNsYXNzXSk7CiAgICAgICAgIFdlYkNvcmVPYmpDRGVhbGxvY09uV2Vi
VGhyZWFkKFtXZWJWaXNpYmxlUG9zaXRpb24gY2xhc3NdKTsKLSAgICAgICAgaWYgKElPU0FwcGxp
Y2F0aW9uOjppc1RoZUVjb25vbWlzdE9uSXBob25lKCkgJiYgIVdlYktpdExpbmtlZE9uT3JBZnRl
cihXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX0RFTEVHQVRFX0NBTExTX0lOX0NPTU1PTl9SVU5M
T09QX01PREVTKSkKLSAgICAgICAgICAgIFdlYlRocmVhZFNldERlbGVnYXRlU291cmNlUnVuTG9v
cE1vZGUoa0NGUnVuTG9vcERlZmF1bHRNb2RlKTsKICAgICAgICAgV2ViVGhyZWFkRW5hYmxlKCk7
CiAgICAgICAgIGlzV2ViVGhyZWFkRW5hYmxlZCA9IFlFUzsKICAgICB9CkBAIC0yNjkwLDggKzI2
NzYsNyBAQCAtIChCT09MKV9uZWVkc1ByZUhUTUw1UGFyc2VyUXVpcmtzCiAjZW5kaWYKICAgICAg
ICAgfHwgW1tzZWxmIHByZWZlcmVuY2VzXSB1c2VQcmVIVE1MNVBhcnNlclF1aXJrc107CiAjZWxz
ZQotICAgIHN0YXRpYyBib29sIGlzQXBwbGljYXRpb25OZWVkaW5nUGFyc2VyUXVpcmtzID0gIVdl
YktpdExpbmtlZE9uT3JBZnRlcihXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX0hUTUw1X1BBUlNF
UikgJiYgSU9TQXBwbGljYXRpb246OmlzRGFpamlzZW5EaWN0aW9uYXJ5KCk7Ci0gICAgcmV0dXJu
IGlzQXBwbGljYXRpb25OZWVkaW5nUGFyc2VyUXVpcmtzIHx8IFtbc2VsZiBwcmVmZXJlbmNlc10g
dXNlUHJlSFRNTDVQYXJzZXJRdWlya3NdOworICAgIHJldHVybiBbW3NlbGYgcHJlZmVyZW5jZXNd
IHVzZVByZUhUTUw1UGFyc2VyUXVpcmtzXTsKICNlbmRpZgogfQogCkBAIC0yOTEzLDggKzI4OTgs
OCBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuY2VzICopcHJlZmVy
ZW5jZXMKICNpZiBIQVZFKEFWS0lUKQogICAgIHNldHRpbmdzLnNldEFWS2l0RW5hYmxlZChbcHJl
ZmVyZW5jZXMgYXZLaXRFbmFibGVkXSk7CiAjZW5kaWYKLSAgICBzZXR0aW5ncy5zZXRTaG91bGRU
cmFuc2Zvcm1zQWZmZWN0T3ZlcmZsb3coc2hvdWxkVHJhbnNmb3Jtc0FmZmVjdE92ZXJmbG93KCkp
OwotICAgIHNldHRpbmdzLnNldFNob3VsZERpc3BhdGNoSmF2YVNjcmlwdFdpbmRvd09uRXJyb3JF
dmVudHMoc2hvdWxkRGlzcGF0Y2hKYXZhU2NyaXB0V2luZG93T25FcnJvckV2ZW50cygpKTsKKyAg
ICBzZXR0aW5ncy5zZXRTaG91bGRUcmFuc2Zvcm1zQWZmZWN0T3ZlcmZsb3codHJ1ZSk7CisgICAg
c2V0dGluZ3Muc2V0U2hvdWxkRGlzcGF0Y2hKYXZhU2NyaXB0V2luZG93T25FcnJvckV2ZW50cyh0
cnVlKTsKIAogICAgIHNldHRpbmdzLnNldFBhc3N3b3JkRWNob0VuYWJsZWQoW3ByZWZlcmVuY2Vz
IF9hbGxvd1Bhc3N3b3JkRWNob10pOwogICAgIHNldHRpbmdzLnNldFBhc3N3b3JkRWNob0R1cmF0
aW9uSW5TZWNvbmRzKFtwcmVmZXJlbmNlcyBfcGFzc3dvcmRFY2hvRHVyYXRpb25dKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314939</attachid>
            <date>2017-07-08 22:42:11 -0700</date>
            <delta_ts>2017-07-09 10:33:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-174294-20170708224210.patch</filename>
            <type>text/plain</type>
            <size>10596</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE5MjgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTUzNjg5NDJhMjdmYzM1
NjMyOGMzMjhhNDFkZWYzNjRmOGRlODhhNi4uZGU5NjNiZGJlZDY4NTE3ZjQ0Mjg5N2FlMzIxNzkx
NTg1YTM2ZmFhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE5IEBACiAyMDE3LTA3LTA4ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAorICAgICAgICBSZW1vdmUgc29tZSBvYnNv
bGV0ZSBXZWJLaXRWZXJzaW9uQ2hlY2tzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc0Mjk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChObyBjaGFuZ2UgdG8gdGVzdGFibGUgYmVo
YXZpb3IpCisKKyAgICAgICAgKiBwbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5t
bToKKyAgICAgICAgKFdlYkNvcmU6OklPU0FwcGxpY2F0aW9uOjppc09rQ3VwaWQpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6SU9TQXBwbGljYXRpb246OmlzRmFjZWJvb2spOiBEZWxldGVk
LgorCisyMDE3LTA3LTA4ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKwogICAg
ICAgICBSZW1vdmUgc29tZSBvYnNvbGV0ZSBSdW50aW1lQXBwbGljYXRpb25DaGVja3MuCiAgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQyOTMKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9pb3MvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9pb3Mv
Q2hhbmdlTG9nCmluZGV4IGIyZGJhNmJiZWI1N2QyNGE5NGY0MTdlOTdlMmY3ZDUyMGVmZGFjNWUu
Ljk2YjJlNWUwNzYzNGE1NTAwMzM5NGQwNjMyZTYxMzAxZDAxMzNkZmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvaW9zL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2lvcy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0wNy0wOCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBh
cHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHNvbWUgb2Jzb2xldGUgV2ViS2l0VmVyc2lvbkNo
ZWNrcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NDI5NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViVmlldy9XZWJQREZWaWV3SU9TLm1tOgorICAgICAgICAoLVtXZWJQREZWaWV3IGRyYXdQYWdl
Ol0pOgorCiAyMDE3LTA3LTA1ICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5jb20+
CiAKICAgICAgICAgW1dURl0gTW92ZSBTb2Z0TGlua2luZy5oIGludG8gV1RGCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKaW5kZXggYjNmY2YyMThiZWJlNjA2ZTBkZWQ1YmQ4NzM0YWFiOTAzZDk0ZWUwNS4uYmIwMmJh
MDcxYWNiM2ZmZjRlYzdmY2RhNGZmZDE0YTc0Yzg0NDcwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAt
MSw1ICsxLDI0IEBACiAyMDE3LTA3LTA4ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNv
bT4KIAorICAgICAgICBSZW1vdmUgc29tZSBvYnNvbGV0ZSBXZWJLaXRWZXJzaW9uQ2hlY2tzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0Mjk0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNaXNjL1dl
YktpdFZlcnNpb25DaGVja3MuaDoKKworICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06
CisgICAgICAgICgtW1dlYkhUTUxWaWV3IGhpdFRlc3Q6XSk6CisKKyAgICAgICAgKiBXZWJWaWV3
L1dlYlZpZXcubW06CisgICAgICAgIChzaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0dHJpYnV0
ZVNldHRlcnMpOgorICAgICAgICAoLVtXZWJWaWV3IF9jb21tb25Jbml0aWFsaXphdGlvbldpdGhG
cmFtZU5hbWU6Z3JvdXBOYW1lOl0pOgorICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0No
YW5nZWQ6XSk6CisgICAgICAgIChzaG91bGRUcmFuc2Zvcm1zQWZmZWN0T3ZlcmZsb3cpOiBEZWxl
dGVkLgorICAgICAgICAoc2hvdWxkRGlzcGF0Y2hKYXZhU2NyaXB0V2luZG93T25FcnJvckV2ZW50
cyk6IERlbGV0ZWQuCisKKzIwMTctMDctMDggIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgorCiAgICAgICAgIFJlbW92ZSBzb21lIG9ic29sZXRlIFJ1bnRpbWVBcHBsaWNhdGlvbkNo
ZWNrcy4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NDI5MwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9SdW50aW1lQXBwbGlj
YXRpb25DaGVja3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlv
bkNoZWNrcy5oCmluZGV4IDc4YzkwZGI1MmQ0ODU1MGYxZWY4NzljOGFhYjk0YTVjMjVhNjg3MTku
LjE0ZmVkOWVjZjIxNjNjY2Q3YTdiOGExMTUwNzUyY2QwYzQyYmUwNDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oCkBAIC03MSw4
ICs3MSw2IEBAIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNXZWJCb29rbWFya3NEKCk7CiBib29sIGlz
RHVtcFJlbmRlclRyZWUoKTsKIGJvb2wgaXNNb2JpbGVTdG9yZSgpOwogV0VCQ09SRV9FWFBPUlQg
Ym9vbCBpc1dlYkFwcCgpOwotV0VCQ09SRV9FWFBPUlQgYm9vbCBpc09rQ3VwaWQoKTsKLVdFQkNP
UkVfRVhQT1JUIGJvb2wgaXNGYWNlYm9vaygpOwogV0VCQ09SRV9FWFBPUlQgYm9vbCBpc1dlYlBy
b2Nlc3MoKTsKIGJvb2wgaXNJQm9va3MoKTsKIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNUaGVTZWNy
ZXRTb2NpZXR5SGlkZGVuTXlzdGVyeSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbQppbmRl
eCA4MDNmNDJmNzBhMThmOGIzNmQzNWRiYTIzZTNlMWNiYjcxMjVjNjlhLi45ZWQ2ZjQ4YzRlYTA3
NTFiYzNiYmIxMGM1ODUyOWEwY2Y5ZjhmOTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5t
bQpAQCAtMjA0LDE4ICsyMDQsNiBAQCBib29sIElPU0FwcGxpY2F0aW9uOjppc1dlYkFwcCgpCiAg
ICAgcmV0dXJuIGlzV2ViQXBwOwogfQogCi1ib29sIElPU0FwcGxpY2F0aW9uOjppc09rQ3VwaWQo
KQotewotICAgIHN0YXRpYyBib29sIGlzT2tDdXBpZCA9IGFwcGxpY2F0aW9uQnVuZGxlSXNFcXVh
bFRvKCJjb20ub2tjdXBpZC5hcHAiKTsKLSAgICByZXR1cm4gaXNPa0N1cGlkOwotfQotCi1ib29s
IElPU0FwcGxpY2F0aW9uOjppc0ZhY2Vib29rKCkKLXsKLSAgICBzdGF0aWMgYm9vbCBpc0ZhY2Vi
b29rID0gYXBwbGljYXRpb25CdW5kbGVJc0VxdWFsVG8oImNvbS5mYWNlYm9vay5GYWNlYm9vayIp
OwotICAgIHJldHVybiBpc0ZhY2Vib29rOwotfQotCiAvLyBGSVhNRTogdGhpcyBuZWVkcyB0byBi
ZSBjaGFuZ2VkIHdoZW4gdGhlIFdlYlByb2Nlc3MgaXMgY2hhbmdlZCB0byBhbiBYUEMgc2Vydmlj
ZS4KIGJvb2wgSU9TQXBwbGljYXRpb246OmlzV2ViUHJvY2VzcygpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2lvcy9XZWJWaWV3L1dlYlBERlZpZXdJT1MubW0gYi9Tb3VyY2UvV2ViS2l0
L2lvcy9XZWJWaWV3L1dlYlBERlZpZXdJT1MubW0KaW5kZXggMGJlY2FjZDkyNTM4ZjI2NWVkY2U4
Y2Y5YzE3NjQwMmU2MDFjMTQ2OC4uZmZjNTEyMWE1NWVjNGNhMWEyOWZjMDM3MWQ2NDQ3YzkxOWNl
NzFjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9pb3MvV2ViVmlldy9XZWJQREZWaWV3SU9T
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvaW9zL1dlYlZpZXcvV2ViUERGVmlld0lPUy5tbQpAQCAt
MTIyLDcgKzEyMiw3IEBAIC0gKHZvaWQpZHJhd1BhZ2U6KENHUERGUGFnZVJlZilhUGFnZQogICAg
IAogICAgIC8vIERyYXcgcGFnZS4KICAgICBDR0NvbnRleHRTYXZlR1N0YXRlKGNvbnRleHQpOwot
ICAgIENHRmxvYXQgaGVpZ2h0ID0gV2ViS2l0TGlua2VkT25PckFmdGVyKFdFQktJVF9GSVJTVF9W
RVJTSU9OX1dJVEhfRkxJUFBFRF9TSEFET1dTKSA/IDIuMGYgOiAtMi4wZjsKKyAgICBDR0Zsb2F0
IGhlaWdodCA9IDIuMGY7CiAgICAgQ0dDb250ZXh0U2V0U2hhZG93V2l0aENvbG9yKGNvbnRleHQs
IENHU2l6ZU1ha2UoMC4wZiwgaGVpZ2h0KSwgMy4wZiwgW1tzZWxmIGNsYXNzXSBzaGFkb3dDb2xv
cl0pOwogICAgIENHQ29udGV4dFNldEZpbGxDb2xvcldpdGhDb2xvcihjb250ZXh0LCBjYWNoZWRD
R0NvbG9yKENvbG9yOjp3aGl0ZSkpOwogICAgIENHQ29udGV4dEZpbGxSZWN0KGNvbnRleHQsIHBh
Z2VSZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0VmVyc2lv
bkNoZWNrcy5oIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmgK
aW5kZXggMmMzOGJlMWE0NTVhYWNmNGI5MjA1Mzk5M2Q1Njc3NDVjODE5NDRiNS4uMWYxMGViYzBi
OGNhMDg2MWZlOTE0NzJkZjc5MzViMDRjZTk3ZmNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvTWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
TWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmgKQEAgLTY0LDE0ICs2NCw2IEBACiAjZWxzZQogLy8g
PHJkYXI6Ly9wcm9ibGVtLzY2Mjc3NTg+IE5lZWQgdG8gaW1wbGVtZW50IFdlYktpdExpbmtlZE9u
T3JBZnRlcgogLy8gQWN0dWFsbHkgVUlLaXQgdmVyc2lvbiBudW1iZXJzLCBzaW5jZSBhcHBsaWNh
dGlvbnMgZG9uJ3QgbGluayBhZ2FpbnN0IFdlYktpdAotI2RlZmluZSBXRUJLSVRfRklSU1RfVkVS
U0lPTl9XSVRIX0xPQ0FMX1JFU09VUkNFX1NFQ1VSSVRZX1JFU1RSSUNUSU9OIDIyOSAvLyBpT1Mg
Mi4wCi0jZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfTU9SRV9TVFJJQ1RfTE9DQUxf
UkVTT1VSQ0VfU0VDVVJJVFlfUkVTVFJJQ1RJT04gODE4IC8vIGlPUyAzLjAKLSNkZWZpbmUgV0VC
S0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9GTElQUEVEX1NIQURPV1MgMTEwMCAvLyBpT1MgMy4yCi0j
ZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhPVVRfTVVMVElQTEVfSUZSQU1FX1RPVUNI
X0VWRU5UX0RJU1BBVENIIDE0MDAgLy8gaU9TIDQuMgotI2RlZmluZSBXRUJLSVRfRklSU1RfVkVS
U0lPTl9XSVRIX0NTU19UUkFOU0ZPUk1TX0FGRkVDVElOR19PVkVSRkxPVyAxNjAwIC8vIGlPUyA1
LjAKLSNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9XSU5ET1dfT05fRVJST1IgMTYw
MCAvLyBpT1MgNS4wCi0jZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfQ1NTX0FUVFJJ
QlVURV9TRVRURVJTX0lHTk9SSU5HX1BSSU9SSVRZIDIyMzkgLy8gaU9TIDYuMAotI2RlZmluZSBX
RUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX1lPVVRVQkVfRU1CRURfSUZSQU1FX1RSQU5TRk9STSAy
MjM5IC8vIGlPUyA2LjAKICNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSE9VVF9MRUdB
Q1lfQkFDS0dST1VORFNJWkVfU0hPUlRIQU5EX0JFSEFWSU9SIDI2NjUgLy8gaU9TIDcuMAogI2Rl
ZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX0xPQURJTkdfRFVSSU5HX0NPTU1PTl9SVU5M
T09QX01PREVTIDI2NjUgLy8gaU9TIDcuMAogI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9X
SVRIX0lOU0VDVVJFX0NPTlRFTlRfQkxPQ0tJTkcgMzQ1NApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViSFRNTFZpZXcubW0KaW5kZXggZWNlZDEyMjYyZGUxZTQ3OTJlMmQzY2FkYWQzMGQ1ODY4
YWQ4MDY1NC4uZjk0NzMzYmJlYWMzOTNmNjNkMzBmZjgyYTFkYTJmNTlhMzNhNjhjZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCkBAIC0xOTI0LDIxICsxOTI0LDcg
QEAgLSAoTlNWaWV3ICopaGl0VGVzdDooTlNQb2ludClwb2ludAogICAgIGlmIChfcHJpdmF0ZS0+
Y2xvc2VkKQogICAgICAgICByZXR1cm4gbmlsOwogCi0jaWYgUExBVEZPUk0oSU9TKQotICAgIC8v
IFByZXNlcnZlIDxyZGFyOi8vcHJvYmxlbS83OTkyNDcyPiBiZWhhdmlvciBmb3IgdGhpcmQgcGFy
dHkgYXBwbGljYXRpb25zLiBTZWUgPHJkYXI6Ly9wcm9ibGVtLzg0NjM3MjU+LgotICAgIGlmICgh
V2ViS2l0TGlua2VkT25PckFmdGVyKFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhPVVRfTVVMVElQ
TEVfSUZSQU1FX1RPVUNIX0VWRU5UX0RJU1BBVENIKSkgewotICAgICAgICBXZWJFdmVudCAqZXZl
bnQgPSBbV0FLV2luZG93IGN1cnJlbnRFdmVudF07Ci0gICAgICAgIGlmIChldmVudCAhPSBOVUxM
ICYmIGV2ZW50LnR5cGUgPT0gV2ViRXZlbnRNb3VzZURvd24gJiYgW3NlbGYgbW91c2U6cG9pbnQg
aW5SZWN0OltzZWxmIGZyYW1lXV0pCi0gICAgICAgICAgICByZXR1cm4gc2VsZjsKLSAgICAgICAg
TlNWaWV3ICp2aWV3ID0gW3N1cGVyIGhpdFRlc3Q6cG9pbnRdOwotICAgICAgICAKLSAgICAgICAg
Ly8gRmluZCB0aGUgY2xpY2tlZCBkb2N1bWVudCB2aWV3Ci0gICAgICAgIHdoaWxlICh2aWV3ICYm
ICFbdmlldyBjb25mb3Jtc1RvUHJvdG9jb2w6QHByb3RvY29sKFdlYkRvY3VtZW50VmlldyldKQot
ICAgICAgICAgICAgdmlldyA9IFt2aWV3IHN1cGVydmlld107Ci0gICAgICAgICAgICAKLSAgICAg
ICAgcmV0dXJuIHZpZXc7Ci0gICAgfQotI2Vsc2UKKyNpZiAhUExBVEZPUk0oSU9TKQogICAgIEJP
T0wgY2FwdHVyZUhpdHNPblN1YnZpZXdzOwogICAgIGlmIChmb3JjZU5TVmlld0hpdFRlc3QpCiAg
ICAgICAgIGNhcHR1cmVIaXRzT25TdWJ2aWV3cyA9IE5POwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCmluZGV4IGQwZTAzZjY3NWZjNDQ2MTVhZWUzYzlmOTM0N2QxYzA3ZmUxOWM4NjQu
LjM3YTdjYTUyOGM0NDU3NTk5NjliNGJjZDk1ZTEwMDEzM2ZiNjQ5N2MgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTEyMjIsOSArMTIyMiw3IEBAIC0odm9pZClfaW5qZWN0
T3V0bG9va1F1aXJrc1NjcmlwdAogc3RhdGljIGJvb2wgc2hvdWxkUmVzcGVjdFByaW9yaXR5SW5D
U1NBdHRyaWJ1dGVTZXR0ZXJzKCkKIHsKICNpZiBQTEFURk9STShJT1MpCi0gICAgc3RhdGljIGJv
b2wgaXNTdGFuemFOZWVkaW5nQXR0cmlidXRlU2V0dGVyUXVpcmsgPSAhV2ViS2l0TGlua2VkT25P
ckFmdGVyKFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfQ1NTX0FUVFJJQlVURV9TRVRURVJTX0lH
Tk9SSU5HX1BSSU9SSVRZKQotICAgICAgICAmJiBbW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5k
bGVJZGVudGlmaWVyXSBpc0VxdWFsVG9TdHJpbmc6QCJjb20ubGV4Y3ljbGUuc3RhbnphIl07Ci0g
ICAgcmV0dXJuIGlzU3RhbnphTmVlZGluZ0F0dHJpYnV0ZVNldHRlclF1aXJrOworICAgIHJldHVy
biBmYWxzZTsKICNlbHNlCiAgICAgc3RhdGljIGJvb2wgaXNJQWRQcm9kdWNlck5lZWRpbmdBdHRy
aWJ1dGVTZXR0ZXJRdWlyayA9ICFXZWJLaXRMaW5rZWRPbk9yQWZ0ZXIoV0VCS0lUX0ZJUlNUX1ZF
UlNJT05fV0lUSF9DU1NfQVRUUklCVVRFX1NFVFRFUlNfSUdOT1JJTkdfUFJJT1JJVFkpCiAgICAg
ICAgICYmIFtbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJdIGlzRXF1YWxU
b1N0cmluZzpAImNvbS5hcHBsZS5pQWRQcm9kdWNlciJdOwpAQCAtMTIzMywxOCArMTIzMSw2IEBA
IHN0YXRpYyBib29sIHNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmlidXRlU2V0dGVycygp
CiB9CiAKICNpZiBQTEFURk9STShJT1MpCi1zdGF0aWMgYm9vbCBzaG91bGRUcmFuc2Zvcm1zQWZm
ZWN0T3ZlcmZsb3coKQotewotICAgIHN0YXRpYyBib29sIHNob3VsZFRyYW5zZm9ybXNBZmZlY3RP
dmVyZmxvdyA9ICFJT1NBcHBsaWNhdGlvbjo6aXNPa0N1cGlkKCkgfHwgV2ViS2l0TGlua2VkT25P
ckFmdGVyKFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfQ1NTX1RSQU5TRk9STVNfQUZGRUNUSU5H
X09WRVJGTE9XKTsKLSAgICByZXR1cm4gc2hvdWxkVHJhbnNmb3Jtc0FmZmVjdE92ZXJmbG93Owot
fQotCi1zdGF0aWMgYm9vbCBzaG91bGREaXNwYXRjaEphdmFTY3JpcHRXaW5kb3dPbkVycm9yRXZl
bnRzKCkKLXsKLSAgICBzdGF0aWMgYm9vbCBzaG91bGREaXNwYXRjaEphdmFTY3JpcHRXaW5kb3dP
bkVycm9yRXZlbnRzID0gIUlPU0FwcGxpY2F0aW9uOjppc0ZhY2Vib29rKCkgfHwgV2ViS2l0TGlu
a2VkT25PckFmdGVyKFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfV0lORE9XX09OX0VSUk9SKTsK
LSAgICByZXR1cm4gc2hvdWxkRGlzcGF0Y2hKYXZhU2NyaXB0V2luZG93T25FcnJvckV2ZW50czsK
LX0KLQogc3RhdGljIGJvb2wgaXNJbnRlcm5hbEluc3RhbGwoKQogewogICAgIHN0YXRpYyBib29s
IGlzSW50ZXJuYWwgPSBNR0dldEJvb2xBbnN3ZXIoa01HUUFwcGxlSW50ZXJuYWxJbnN0YWxsQ2Fw
YWJpbGl0eSk7CkBAIC0xNTYyLDYgKzE1NDgsNyBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXph
dGlvbldpdGhGcmFtZU5hbWU6KE5TU3RyaW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNTdAog
CiAgICAgV2ViSW5zdGFsbE1lbW9yeVByZXNzdXJlSGFuZGxlcigpOwogCisjaWYgIVBMQVRGT1JN
KElPUykKICAgICBpZiAoIVdlYktpdExpbmtlZE9uT3JBZnRlcihXRUJLSVRfRklSU1RfVkVSU0lP
Tl9XSVRIX0xPQ0FMX1JFU09VUkNFX1NFQ1VSSVRZX1JFU1RSSUNUSU9OKSkgewogICAgICAgICAv
LyBPcmlnaW5hbGx5LCB3ZSBhbGxvd2VkIGFsbCBsb2NhbCBsb2Fkcy4KICAgICAgICAgU2VjdXJp
dHlQb2xpY3k6OnNldExvY2FsTG9hZFBvbGljeShTZWN1cml0eVBvbGljeTo6QWxsb3dMb2NhbExv
YWRzRm9yQWxsKTsKQEAgLTE1NzAsNiArMTU1Nyw3IEBAIC0gKHZvaWQpX2NvbW1vbkluaXRpYWxp
emF0aW9uV2l0aEZyYW1lTmFtZTooTlNTdHJpbmcgKilmcmFtZU5hbWUgZ3JvdXBOYW1lOihOU1N0
CiAgICAgICAgIC8vIHdpdGggc3Vic3RpdHV0ZSBkYXRhLgogICAgICAgICBTZWN1cml0eVBvbGlj
eTo6c2V0TG9jYWxMb2FkUG9saWN5KFNlY3VyaXR5UG9saWN5OjpBbGxvd0xvY2FsTG9hZHNGb3JM
b2NhbEFuZFN1YnN0aXR1dGVEYXRhKTsKICAgICB9CisjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1B
QykKICAgICBpZiAoIVdlYktpdExpbmtlZE9uT3JBZnRlcihXRUJLSVRfRklSU1RfVkVSU0lPTl9X
SVRIT1VUX0NPTlRFTlRfU05JRkZJTkdfRk9SX0ZJTEVfVVJMUykpCkBAIC0yOTEwLDggKzI4OTgs
OCBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuY2VzICopcHJlZmVy
ZW5jZXMKICNpZiBIQVZFKEFWS0lUKQogICAgIHNldHRpbmdzLnNldEFWS2l0RW5hYmxlZChbcHJl
ZmVyZW5jZXMgYXZLaXRFbmFibGVkXSk7CiAjZW5kaWYKLSAgICBzZXR0aW5ncy5zZXRTaG91bGRU
cmFuc2Zvcm1zQWZmZWN0T3ZlcmZsb3coc2hvdWxkVHJhbnNmb3Jtc0FmZmVjdE92ZXJmbG93KCkp
OwotICAgIHNldHRpbmdzLnNldFNob3VsZERpc3BhdGNoSmF2YVNjcmlwdFdpbmRvd09uRXJyb3JF
dmVudHMoc2hvdWxkRGlzcGF0Y2hKYXZhU2NyaXB0V2luZG93T25FcnJvckV2ZW50cygpKTsKKyAg
ICBzZXR0aW5ncy5zZXRTaG91bGRUcmFuc2Zvcm1zQWZmZWN0T3ZlcmZsb3codHJ1ZSk7CisgICAg
c2V0dGluZ3Muc2V0U2hvdWxkRGlzcGF0Y2hKYXZhU2NyaXB0V2luZG93T25FcnJvckV2ZW50cyh0
cnVlKTsKIAogICAgIHNldHRpbmdzLnNldFBhc3N3b3JkRWNob0VuYWJsZWQoW3ByZWZlcmVuY2Vz
IF9hbGxvd1Bhc3N3b3JkRWNob10pOwogICAgIHNldHRpbmdzLnNldFBhc3N3b3JkRWNob0R1cmF0
aW9uSW5TZWNvbmRzKFtwcmVmZXJlbmNlcyBfcGFzc3dvcmRFY2hvRHVyYXRpb25dKTsK
</data>
<flag name="review"
          id="335794"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314949</attachid>
            <date>2017-07-09 10:33:10 -0700</date>
            <delta_ts>2017-07-09 14:26:19 -0700</delta_ts>
            <desc>Patch for EWS</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>13946</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5NTM2ODk0MmEyNy4uZDQ3MTQ3OWMyM2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxNy0wNy0wOSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+
CisKKyAgICAgICAgUmVtb3ZlIHNvbWUgb2Jzb2xldGUgV2ViS2l0VmVyc2lvbkNoZWNrcy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NDI5NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
IChObyBjaGFuZ2UgdG8gdGVzdGFibGUgYmVoYXZpb3IpCisKKyAgICAgICAgKiBkb20vU2NyaXB0
RXhlY3V0aW9uQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25D
b250ZXh0OjpkaXNwYXRjaEVycm9yRXZlbnQpOgorICAgICAgICAKKyAgICAgICAgKiBwYWdlL1Nl
dHRpbmdzLmluOgorICAgICAgICAKKyAgICAgICAgKiBwbGF0Zm9ybS9SdW50aW1lQXBwbGljYXRp
b25DaGVja3MuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25D
aGVja3NDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OklPU0FwcGxpY2F0aW9uOjppc09rQ3Vw
aWQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SU9TQXBwbGljYXRpb246OmlzRmFjZWJv
b2spOiBEZWxldGVkLgorICAgICAgICAKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6bGF5b3V0T3ZlcmZsb3dSZWN0Rm9yUHJv
cGFnYXRpb24pOgorCiAyMDE3LTA3LTA4ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZW1vdmUgc29tZSBvYnNvbGV0ZSBSdW50aW1lQXBwbGljYXRpb25DaGVj
a3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5k
ZXggNzExM2RiMTk0NzMuLmJjMDMxMTEwNTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCkBAIC00MTcsMTMgKzQxNyw2IEBAIGJvb2wgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6ZGlzcGF0Y2hFcnJvckV2ZW50KGNvbnN0IFN0cmluZyYgZXJyb3JN
ZXNzYWdlLCBpbnQKICAgICBpZiAoIXRhcmdldCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0j
aWYgUExBVEZPUk0oSU9TKQotICAgIGlmICh0YXJnZXQtPnRvRE9NV2luZG93KCkgJiYgaXM8RG9j
dW1lbnQ+KCp0aGlzKSkgewotICAgICAgICBpZiAoIWRvd25jYXN0PERvY3VtZW50PigqdGhpcyku
c2V0dGluZ3MoKS5zaG91bGREaXNwYXRjaEphdmFTY3JpcHRXaW5kb3dPbkVycm9yRXZlbnRzKCkp
Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotI2VuZGlmCi0KICAgICBTdHJpbmcg
bWVzc2FnZSA9IGVycm9yTWVzc2FnZTsKICAgICBpbnQgbGluZSA9IGxpbmVOdW1iZXI7CiAgICAg
aW50IGNvbHVtbiA9IGNvbHVtbk51bWJlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuaW4gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCmluZGV4IDI5
ZjQzODUyNzU0Li45OWFiMmJjNTZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCkBAIC0yMjQs
OCArMjI0LDYgQEAgbWF4UGFyc2VEdXJhdGlvbiB0eXBlPWRvdWJsZSwgaW5pdGlhbD0tMQogc3Rh
bmRhbG9uZSBpbml0aWFsPWZhbHNlCiB0ZWxlcGhvbmVOdW1iZXJQYXJzaW5nRW5hYmxlZCBpbml0
aWFsPWZhbHNlCiBtZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkgaW5pdGlhbD1kZWZhdWx0TWVk
aWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5Ci1zaG91bGRUcmFuc2Zvcm1zQWZmZWN0T3ZlcmZsb3cg
aW5pdGlhbD10cnVlCi1zaG91bGREaXNwYXRjaEphdmFTY3JpcHRXaW5kb3dPbkVycm9yRXZlbnRz
IGluaXRpYWw9ZmFsc2UKIGFsd2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dTY3JvbGwgaW5pdGlh
bD1mYWxzZQogaW1hZ2VDb250cm9sc0VuYWJsZWQgaW5pdGlhbD1mYWxzZSwgY29uZGl0aW9uYWw9
U0VSVklDRV9DT05UUk9MUwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9S
dW50aW1lQXBwbGljYXRpb25DaGVja3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1J1bnRp
bWVBcHBsaWNhdGlvbkNoZWNrcy5oCmluZGV4IDc4YzkwZGI1MmQ0Li4xNGZlZDllY2YyMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tz
LmgKQEAgLTcxLDggKzcxLDYgQEAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc1dlYkJvb2ttYXJrc0Qo
KTsKIGJvb2wgaXNEdW1wUmVuZGVyVHJlZSgpOwogYm9vbCBpc01vYmlsZVN0b3JlKCk7CiBXRUJD
T1JFX0VYUE9SVCBib29sIGlzV2ViQXBwKCk7Ci1XRUJDT1JFX0VYUE9SVCBib29sIGlzT2tDdXBp
ZCgpOwotV0VCQ09SRV9FWFBPUlQgYm9vbCBpc0ZhY2Vib29rKCk7CiBXRUJDT1JFX0VYUE9SVCBi
b29sIGlzV2ViUHJvY2VzcygpOwogYm9vbCBpc0lCb29rcygpOwogV0VCQ09SRV9FWFBPUlQgYm9v
bCBpc1RoZVNlY3JldFNvY2lldHlIaWRkZW5NeXN0ZXJ5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0Nv
Y29hLm1tCmluZGV4IDgwM2Y0MmY3MGExLi45ZWQ2ZjQ4YzRlYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUnVudGltZUFwcGxpY2F0aW9uQ2hl
Y2tzQ29jb2EubW0KQEAgLTIwNCwxOCArMjA0LDYgQEAgYm9vbCBJT1NBcHBsaWNhdGlvbjo6aXNX
ZWJBcHAoKQogICAgIHJldHVybiBpc1dlYkFwcDsKIH0KIAotYm9vbCBJT1NBcHBsaWNhdGlvbjo6
aXNPa0N1cGlkKCkKLXsKLSAgICBzdGF0aWMgYm9vbCBpc09rQ3VwaWQgPSBhcHBsaWNhdGlvbkJ1
bmRsZUlzRXF1YWxUbygiY29tLm9rY3VwaWQuYXBwIik7Ci0gICAgcmV0dXJuIGlzT2tDdXBpZDsK
LX0KLQotYm9vbCBJT1NBcHBsaWNhdGlvbjo6aXNGYWNlYm9vaygpCi17Ci0gICAgc3RhdGljIGJv
b2wgaXNGYWNlYm9vayA9IGFwcGxpY2F0aW9uQnVuZGxlSXNFcXVhbFRvKCJjb20uZmFjZWJvb2su
RmFjZWJvb2siKTsKLSAgICByZXR1cm4gaXNGYWNlYm9vazsKLX0KLQogLy8gRklYTUU6IHRoaXMg
bmVlZHMgdG8gYmUgY2hhbmdlZCB3aGVuIHRoZSBXZWJQcm9jZXNzIGlzIGNoYW5nZWQgdG8gYW4g
WFBDIHNlcnZpY2UuCiBib29sIElPU0FwcGxpY2F0aW9uOjppc1dlYlByb2Nlc3MoKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBlMWVmZWE3ZTE4MC4uYmM3MmNk
OWExZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC00ODQxLDEx
ICs0ODQxLDcgQEAgTGF5b3V0UmVjdCBSZW5kZXJCb3g6OmxheW91dE92ZXJmbG93UmVjdEZvclBy
b3BhZ2F0aW9uKGNvbnN0IFJlbmRlclN0eWxlKiBwYXJlbnQKICAgICAgICAgcmVjdC51bml0ZShs
YXlvdXRPdmVyZmxvd1JlY3QoKSk7CiAKICAgICBib29sIGhhc1RyYW5zZm9ybSA9IHRoaXMtPmhh
c1RyYW5zZm9ybSgpOwotI2lmIFBMQVRGT1JNKElPUykKLSAgICBpZiAoaXNJbkZsb3dQb3NpdGlv
bmVkKCkgfHwgKGhhc1RyYW5zZm9ybSAmJiBzZXR0aW5ncygpLnNob3VsZFRyYW5zZm9ybXNBZmZl
Y3RPdmVyZmxvdygpKSkgewotI2Vsc2UKICAgICBpZiAoaXNJbkZsb3dQb3NpdGlvbmVkKCkgfHwg
aGFzVHJhbnNmb3JtKSB7Ci0jZW5kaWYKICAgICAgICAgLy8gSWYgd2UgYXJlIHJlbGF0aXZlbHkg
cG9zaXRpb25lZCBvciBpZiB3ZSBoYXZlIGEgdHJhbnNmb3JtLCB0aGVuIHdlIGhhdmUgdG8gY29u
dmVydAogICAgICAgICAvLyB0aGlzIHJlY3RhbmdsZSBpbnRvIHBoeXNpY2FsIGNvb3JkaW5hdGVz
LCBhcHBseSByZWxhdGl2ZSBwb3NpdGlvbmluZyBhbmQgdHJhbnNmb3JtcwogICAgICAgICAvLyB0
byBpdCwgYW5kIHRoZW4gY29udmVydCBpdCBiYWNrLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9pb3MvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9pb3MvQ2hhbmdlTG9nCmluZGV4IGIyZGJh
NmJiZWI1Li41Zjg4ZjMwOTg1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9pb3MvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvaW9zL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDE3LTA3LTA5ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZW1vdmUgc29tZSBvYnNvbGV0ZSBXZWJLaXRWZXJzaW9uQ2hlY2tzLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc0Mjk0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFuIEJlcm5zdGVpbi4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUERGVmlld0lPUy5t
bToKKyAgICAgICAgKC1bV2ViUERGVmlldyBkcmF3UGFnZTpdKToKKwogMjAxNy0wNy0wNSAgRG9u
IE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgogCiAgICAgICAgIFtXVEZdIE1vdmUg
U29mdExpbmtpbmcuaCBpbnRvIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9pb3MvV2Vi
Vmlldy9XZWJQREZWaWV3SU9TLm1tIGIvU291cmNlL1dlYktpdC9pb3MvV2ViVmlldy9XZWJQREZW
aWV3SU9TLm1tCmluZGV4IDBiZWNhY2Q5MjUzLi5jYTY2NjFiOTFiYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9pb3MvV2ViVmlldy9XZWJQREZWaWV3SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvaW9zL1dlYlZpZXcvV2ViUERGVmlld0lPUy5tbQpAQCAtMTIyLDggKzEyMiw3IEBAIC0gKHZv
aWQpZHJhd1BhZ2U6KENHUERGUGFnZVJlZilhUGFnZQogICAgIAogICAgIC8vIERyYXcgcGFnZS4K
ICAgICBDR0NvbnRleHRTYXZlR1N0YXRlKGNvbnRleHQpOwotICAgIENHRmxvYXQgaGVpZ2h0ID0g
V2ViS2l0TGlua2VkT25PckFmdGVyKFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfRkxJUFBFRF9T
SEFET1dTKSA/IDIuMGYgOiAtMi4wZjsKLSAgICBDR0NvbnRleHRTZXRTaGFkb3dXaXRoQ29sb3Io
Y29udGV4dCwgQ0dTaXplTWFrZSgwLjBmLCBoZWlnaHQpLCAzLjBmLCBbW3NlbGYgY2xhc3NdIHNo
YWRvd0NvbG9yXSk7CisgICAgQ0dDb250ZXh0U2V0U2hhZG93V2l0aENvbG9yKGNvbnRleHQsIENH
U2l6ZU1ha2UoMC4wZiwgMi4wZiksIDMuMGYsIFtbc2VsZiBjbGFzc10gc2hhZG93Q29sb3JdKTsK
ICAgICBDR0NvbnRleHRTZXRGaWxsQ29sb3JXaXRoQ29sb3IoY29udGV4dCwgY2FjaGVkQ0dDb2xv
cihDb2xvcjo6d2hpdGUpKTsKICAgICBDR0NvbnRleHRGaWxsUmVjdChjb250ZXh0LCBwYWdlUmVj
dCk7CiAgICAgQ0dDb250ZXh0UmVzdG9yZUdTdGF0ZShjb250ZXh0KTsgICAgCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKaW5kZXggYjNmY2YyMThiZWIuLjdkNDExMWE3Y2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjIgQEAKKzIwMTctMDctMDkgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29t
PgorCisgICAgICAgIFJlbW92ZSBzb21lIG9ic29sZXRlIFdlYktpdFZlcnNpb25DaGVja3MuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQyOTQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgorCisgICAgICAgICogTWlzYy9XZWJL
aXRWZXJzaW9uQ2hlY2tzLmg6CisKKyAgICAgICAgKiBXZWJWaWV3L1dlYkhUTUxWaWV3Lm1tOgor
ICAgICAgICAoLVtXZWJIVE1MVmlldyBoaXRUZXN0Ol0pOgorCisgICAgICAgICogV2ViVmlldy9X
ZWJWaWV3Lm1tOgorICAgICAgICAoc2hvdWxkUmVzcGVjdFByaW9yaXR5SW5DU1NBdHRyaWJ1dGVT
ZXR0ZXJzKToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJh
bWVOYW1lOmdyb3VwTmFtZTpdKToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFu
Z2VkOl0pOgorICAgICAgICAoc2hvdWxkVHJhbnNmb3Jtc0FmZmVjdE92ZXJmbG93KTogRGVsZXRl
ZC4KKyAgICAgICAgKHNob3VsZERpc3BhdGNoSmF2YVNjcmlwdFdpbmRvd09uRXJyb3JFdmVudHMp
OiBEZWxldGVkLgorCiAyMDE3LTA3LTA4ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZW1vdmUgc29tZSBvYnNvbGV0ZSBSdW50aW1lQXBwbGljYXRpb25DaGVj
a3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdFZlcnNpb25DaGVj
a3MuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5oCmluZGV4
IDJjMzhiZTFhNDU1Li4xZjEwZWJjMGI4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
TWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9X
ZWJLaXRWZXJzaW9uQ2hlY2tzLmgKQEAgLTY0LDE0ICs2NCw2IEBACiAjZWxzZQogLy8gPHJkYXI6
Ly9wcm9ibGVtLzY2Mjc3NTg+IE5lZWQgdG8gaW1wbGVtZW50IFdlYktpdExpbmtlZE9uT3JBZnRl
cgogLy8gQWN0dWFsbHkgVUlLaXQgdmVyc2lvbiBudW1iZXJzLCBzaW5jZSBhcHBsaWNhdGlvbnMg
ZG9uJ3QgbGluayBhZ2FpbnN0IFdlYktpdAotI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9X
SVRIX0xPQ0FMX1JFU09VUkNFX1NFQ1VSSVRZX1JFU1RSSUNUSU9OIDIyOSAvLyBpT1MgMi4wCi0j
ZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfTU9SRV9TVFJJQ1RfTE9DQUxfUkVTT1VS
Q0VfU0VDVVJJVFlfUkVTVFJJQ1RJT04gODE4IC8vIGlPUyAzLjAKLSNkZWZpbmUgV0VCS0lUX0ZJ
UlNUX1ZFUlNJT05fV0lUSF9GTElQUEVEX1NIQURPV1MgMTEwMCAvLyBpT1MgMy4yCi0jZGVmaW5l
IFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhPVVRfTVVMVElQTEVfSUZSQU1FX1RPVUNIX0VWRU5U
X0RJU1BBVENIIDE0MDAgLy8gaU9TIDQuMgotI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9X
SVRIX0NTU19UUkFOU0ZPUk1TX0FGRkVDVElOR19PVkVSRkxPVyAxNjAwIC8vIGlPUyA1LjAKLSNk
ZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9XSU5ET1dfT05fRVJST1IgMTYwMCAvLyBp
T1MgNS4wCi0jZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfQ1NTX0FUVFJJQlVURV9T
RVRURVJTX0lHTk9SSU5HX1BSSU9SSVRZIDIyMzkgLy8gaU9TIDYuMAotI2RlZmluZSBXRUJLSVRf
RklSU1RfVkVSU0lPTl9XSVRIX1lPVVRVQkVfRU1CRURfSUZSQU1FX1RSQU5TRk9STSAyMjM5IC8v
IGlPUyA2LjAKICNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSE9VVF9MRUdBQ1lfQkFD
S0dST1VORFNJWkVfU0hPUlRIQU5EX0JFSEFWSU9SIDI2NjUgLy8gaU9TIDcuMAogI2RlZmluZSBX
RUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX0xPQURJTkdfRFVSSU5HX0NPTU1PTl9SVU5MT09QX01P
REVTIDI2NjUgLy8gaU9TIDcuMAogI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX0lO
U0VDVVJFX0NPTlRFTlRfQkxPQ0tJTkcgMzQ1NApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
SFRNTFZpZXcubW0KaW5kZXggZWNlZDEyMjYyZGUuLmY5NDczM2JiZWFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KQEAgLTE5MjQsMjEgKzE5MjQsNyBAQCAtIChO
U1ZpZXcgKiloaXRUZXN0OihOU1BvaW50KXBvaW50CiAgICAgaWYgKF9wcml2YXRlLT5jbG9zZWQp
CiAgICAgICAgIHJldHVybiBuaWw7CiAKLSNpZiBQTEFURk9STShJT1MpCi0gICAgLy8gUHJlc2Vy
dmUgPHJkYXI6Ly9wcm9ibGVtLzc5OTI0NzI+IGJlaGF2aW9yIGZvciB0aGlyZCBwYXJ0eSBhcHBs
aWNhdGlvbnMuIFNlZSA8cmRhcjovL3Byb2JsZW0vODQ2MzcyNT4uCi0gICAgaWYgKCFXZWJLaXRM
aW5rZWRPbk9yQWZ0ZXIoV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSE9VVF9NVUxUSVBMRV9JRlJB
TUVfVE9VQ0hfRVZFTlRfRElTUEFUQ0gpKSB7Ci0gICAgICAgIFdlYkV2ZW50ICpldmVudCA9IFtX
QUtXaW5kb3cgY3VycmVudEV2ZW50XTsKLSAgICAgICAgaWYgKGV2ZW50ICE9IE5VTEwgJiYgZXZl
bnQudHlwZSA9PSBXZWJFdmVudE1vdXNlRG93biAmJiBbc2VsZiBtb3VzZTpwb2ludCBpblJlY3Q6
W3NlbGYgZnJhbWVdXSkKLSAgICAgICAgICAgIHJldHVybiBzZWxmOwotICAgICAgICBOU1ZpZXcg
KnZpZXcgPSBbc3VwZXIgaGl0VGVzdDpwb2ludF07Ci0gICAgICAgIAotICAgICAgICAvLyBGaW5k
IHRoZSBjbGlja2VkIGRvY3VtZW50IHZpZXcKLSAgICAgICAgd2hpbGUgKHZpZXcgJiYgIVt2aWV3
IGNvbmZvcm1zVG9Qcm90b2NvbDpAcHJvdG9jb2woV2ViRG9jdW1lbnRWaWV3KV0pCi0gICAgICAg
ICAgICB2aWV3ID0gW3ZpZXcgc3VwZXJ2aWV3XTsKLSAgICAgICAgICAgIAotICAgICAgICByZXR1
cm4gdmlldzsKLSAgICB9Ci0jZWxzZQorI2lmICFQTEFURk9STShJT1MpCiAgICAgQk9PTCBjYXB0
dXJlSGl0c09uU3Vidmlld3M7CiAgICAgaWYgKGZvcmNlTlNWaWV3SGl0VGVzdCkKICAgICAgICAg
Y2FwdHVyZUhpdHNPblN1YnZpZXdzID0gTk87CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0KaW5kZXggZDBlMDNmNjc1ZmMuLjRhMTcwYTM2NzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCkBAIC0xMjIyLDkgKzEyMjIsNyBAQCAtKHZvaWQpX2luamVjdE91dGxvb2tR
dWlya3NTY3JpcHQKIHN0YXRpYyBib29sIHNob3VsZFJlc3BlY3RQcmlvcml0eUluQ1NTQXR0cmli
dXRlU2V0dGVycygpCiB7CiAjaWYgUExBVEZPUk0oSU9TKQotICAgIHN0YXRpYyBib29sIGlzU3Rh
bnphTmVlZGluZ0F0dHJpYnV0ZVNldHRlclF1aXJrID0gIVdlYktpdExpbmtlZE9uT3JBZnRlcihX
RUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX0NTU19BVFRSSUJVVEVfU0VUVEVSU19JR05PUklOR19Q
UklPUklUWSkKLSAgICAgICAgJiYgW1tbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRp
Zmllcl0gaXNFcXVhbFRvU3RyaW5nOkAiY29tLmxleGN5Y2xlLnN0YW56YSJdOwotICAgIHJldHVy
biBpc1N0YW56YU5lZWRpbmdBdHRyaWJ1dGVTZXR0ZXJRdWlyazsKKyAgICByZXR1cm4gZmFsc2U7
CiAjZWxzZQogICAgIHN0YXRpYyBib29sIGlzSUFkUHJvZHVjZXJOZWVkaW5nQXR0cmlidXRlU2V0
dGVyUXVpcmsgPSAhV2ViS2l0TGlua2VkT25PckFmdGVyKFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJ
VEhfQ1NTX0FUVFJJQlVURV9TRVRURVJTX0lHTk9SSU5HX1BSSU9SSVRZKQogICAgICAgICAmJiBb
W1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5kbGVJZGVudGlmaWVyXSBpc0VxdWFsVG9TdHJpbmc6
QCJjb20uYXBwbGUuaUFkUHJvZHVjZXIiXTsKQEAgLTEyMzMsMTggKzEyMzEsNiBAQCBzdGF0aWMg
Ym9vbCBzaG91bGRSZXNwZWN0UHJpb3JpdHlJbkNTU0F0dHJpYnV0ZVNldHRlcnMoKQogfQogCiAj
aWYgUExBVEZPUk0oSU9TKQotc3RhdGljIGJvb2wgc2hvdWxkVHJhbnNmb3Jtc0FmZmVjdE92ZXJm
bG93KCkKLXsKLSAgICBzdGF0aWMgYm9vbCBzaG91bGRUcmFuc2Zvcm1zQWZmZWN0T3ZlcmZsb3cg
PSAhSU9TQXBwbGljYXRpb246OmlzT2tDdXBpZCgpIHx8IFdlYktpdExpbmtlZE9uT3JBZnRlcihX
RUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX0NTU19UUkFOU0ZPUk1TX0FGRkVDVElOR19PVkVSRkxP
Vyk7Ci0gICAgcmV0dXJuIHNob3VsZFRyYW5zZm9ybXNBZmZlY3RPdmVyZmxvdzsKLX0KLQotc3Rh
dGljIGJvb2wgc2hvdWxkRGlzcGF0Y2hKYXZhU2NyaXB0V2luZG93T25FcnJvckV2ZW50cygpCi17
Ci0gICAgc3RhdGljIGJvb2wgc2hvdWxkRGlzcGF0Y2hKYXZhU2NyaXB0V2luZG93T25FcnJvckV2
ZW50cyA9ICFJT1NBcHBsaWNhdGlvbjo6aXNGYWNlYm9vaygpIHx8IFdlYktpdExpbmtlZE9uT3JB
ZnRlcihXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX1dJTkRPV19PTl9FUlJPUik7Ci0gICAgcmV0
dXJuIHNob3VsZERpc3BhdGNoSmF2YVNjcmlwdFdpbmRvd09uRXJyb3JFdmVudHM7Ci19Ci0KIHN0
YXRpYyBib29sIGlzSW50ZXJuYWxJbnN0YWxsKCkKIHsKICAgICBzdGF0aWMgYm9vbCBpc0ludGVy
bmFsID0gTUdHZXRCb29sQW5zd2VyKGtNR1FBcHBsZUludGVybmFsSW5zdGFsbENhcGFiaWxpdHkp
OwpAQCAtMTU2Miw2ICsxNTQ4LDcgQEAgLSAodm9pZClfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRo
RnJhbWVOYW1lOihOU1N0cmluZyAqKWZyYW1lTmFtZSBncm91cE5hbWU6KE5TU3QKIAogICAgIFdl
Ykluc3RhbGxNZW1vcnlQcmVzc3VyZUhhbmRsZXIoKTsKIAorI2lmICFQTEFURk9STShJT1MpCiAg
ICAgaWYgKCFXZWJLaXRMaW5rZWRPbk9yQWZ0ZXIoV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9M
T0NBTF9SRVNPVVJDRV9TRUNVUklUWV9SRVNUUklDVElPTikpIHsKICAgICAgICAgLy8gT3JpZ2lu
YWxseSwgd2UgYWxsb3dlZCBhbGwgbG9jYWwgbG9hZHMuCiAgICAgICAgIFNlY3VyaXR5UG9saWN5
OjpzZXRMb2NhbExvYWRQb2xpY3koU2VjdXJpdHlQb2xpY3k6OkFsbG93TG9jYWxMb2Fkc0ZvckFs
bCk7CkBAIC0xNTcwLDYgKzE1NTcsNyBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldp
dGhGcmFtZU5hbWU6KE5TU3RyaW5nICopZnJhbWVOYW1lIGdyb3VwTmFtZTooTlNTdAogICAgICAg
ICAvLyB3aXRoIHN1YnN0aXR1dGUgZGF0YS4KICAgICAgICAgU2VjdXJpdHlQb2xpY3k6OnNldExv
Y2FsTG9hZFBvbGljeShTZWN1cml0eVBvbGljeTo6QWxsb3dMb2NhbExvYWRzRm9yTG9jYWxBbmRT
dWJzdGl0dXRlRGF0YSk7CiAgICAgfQorI2VuZGlmCiAKICNpZiBQTEFURk9STShNQUMpCiAgICAg
aWYgKCFXZWJLaXRMaW5rZWRPbk9yQWZ0ZXIoV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSE9VVF9D
T05URU5UX1NOSUZGSU5HX0ZPUl9GSUxFX1VSTFMpKQpAQCAtMjkxMCw4ICsyODk4LDYgQEAgLSAo
dm9pZClfcHJlZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbmNlcyAqKXByZWZlcmVuY2VzCiAj
aWYgSEFWRShBVktJVCkKICAgICBzZXR0aW5ncy5zZXRBVktpdEVuYWJsZWQoW3ByZWZlcmVuY2Vz
IGF2S2l0RW5hYmxlZF0pOwogI2VuZGlmCi0gICAgc2V0dGluZ3Muc2V0U2hvdWxkVHJhbnNmb3Jt
c0FmZmVjdE92ZXJmbG93KHNob3VsZFRyYW5zZm9ybXNBZmZlY3RPdmVyZmxvdygpKTsKLSAgICBz
ZXR0aW5ncy5zZXRTaG91bGREaXNwYXRjaEphdmFTY3JpcHRXaW5kb3dPbkVycm9yRXZlbnRzKHNo
b3VsZERpc3BhdGNoSmF2YVNjcmlwdFdpbmRvd09uRXJyb3JFdmVudHMoKSk7CiAKICAgICBzZXR0
aW5ncy5zZXRQYXNzd29yZEVjaG9FbmFibGVkKFtwcmVmZXJlbmNlcyBfYWxsb3dQYXNzd29yZEVj
aG9dKTsKICAgICBzZXR0aW5ncy5zZXRQYXNzd29yZEVjaG9EdXJhdGlvbkluU2Vjb25kcyhbcHJl
ZmVyZW5jZXMgX3Bhc3N3b3JkRWNob0R1cmF0aW9uXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOGYyMDZlN2E5
MzYuLjhiYmExNWIxZDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMDctMDkg
IEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBzb21l
IG9ic29sZXRlIFdlYktpdFZlcnNpb25DaGVja3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzQyOTQKKworICAgICAgICBSZXZpZXdlZCBieSBEYW4g
QmVybnN0ZWluLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMTctMDct
MDggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBTaW1wbGlmeSBX
ZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUgLyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3Rv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRl
eCA1MWQ4NzdiZjg2OS4uNzY5Mjg0NGU2MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTMyNzEsOCArMzI3MSw2IEBAIHZvaWQgV2ViUGFn
ZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAK
ICAgICBzZXR0aW5ncy5zZXRFbmFibGVJbmhlcml0VVJJUXVlcnlDb21wb25lbnQoc3RvcmUuZ2V0
Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjplbmFibGVJbmhlcml0VVJJUXVlcnlD
b21wb25lbnRLZXkoKSkpOwogCi0gICAgc2V0dGluZ3Muc2V0U2hvdWxkRGlzcGF0Y2hKYXZhU2Ny
aXB0V2luZG93T25FcnJvckV2ZW50cyh0cnVlKTsKLQogICAgIGF1dG8gdXNlckludGVyZmFjZURp
cmVjdGlvblBvbGljeUNhbmRpZGF0ZSA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OlVzZXJJbnRlcmZh
Y2VEaXJlY3Rpb25Qb2xpY3k+KHN0b3JlLmdldFVJbnQzMlZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5Ojp1c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5S2V5KCkpKTsKICAgICBpZiAodXNl
ckludGVyZmFjZURpcmVjdGlvblBvbGljeUNhbmRpZGF0ZSA9PSBXZWJDb3JlOjpVc2VySW50ZXJm
YWNlRGlyZWN0aW9uUG9saWN5OjpDb250ZW50IHx8IHVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xp
Y3lDYW5kaWRhdGUgPT0gV2ViQ29yZTo6VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeTo6U3lz
dGVtKQogICAgICAgICBzZXR0aW5ncy5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KHVz
ZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3lDYW5kaWRhdGUpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>