<?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>187076</bug_id>
          
          <creation_ts>2018-06-26 18:16:14 -0700</creation_ts>
          <short_desc>AX: [iOS] Remove the ability to set keyboard focus when VoiceOver takes focus</short_desc>
          <delta_ts>2018-06-27 09:10:30 -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>Accessibility</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nan Wang">n_wang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>n_wang</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1436777</commentid>
    <comment_count>0</comment_count>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2018-06-26 18:16:14 -0700</bug_when>
    <thetext>There&apos;s no documentation on iOS saying that we should do this. And this would allow people to track VoiceOver usage on iOS.

&lt;rdar://problem/41190221&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436786</commentid>
    <comment_count>1</comment_count>
      <attachid>343670</attachid>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2018-06-26 18:38:01 -0700</bug_when>
    <thetext>Created attachment 343670
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436788</commentid>
    <comment_count>2</comment_count>
      <attachid>343671</attachid>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2018-06-26 18:40:00 -0700</bug_when>
    <thetext>Created attachment 343671
patch

added changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436791</commentid>
    <comment_count>3</comment_count>
      <attachid>343673</attachid>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2018-06-26 18:43:23 -0700</bug_when>
    <thetext>Created attachment 343673
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436841</commentid>
    <comment_count>4</comment_count>
      <attachid>343673</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2018-06-26 21:38:07 -0700</bug_when>
    <thetext>Comment on attachment 343673
patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        it would allow web authors to track AT usage.

We should probably state here that instead of the tracking thing thisbsi causing website incompatibility issues by causing focus to be lost

&gt; Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:-2064
&gt; -        return;

Is there an aom event that we do want to send here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436861</commentid>
    <comment_count>5</comment_count>
      <attachid>343673</attachid>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2018-06-26 23:05:55 -0700</bug_when>
    <thetext>Comment on attachment 343673
patch

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

&gt;&gt; Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:-2064
&gt;&gt; -        return;
&gt; 
&gt; Is there an aom event that we do want to send here?

I was thinking to add that in another patch. But I can do it here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436863</commentid>
    <comment_count>6</comment_count>
      <attachid>343692</attachid>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2018-06-26 23:08:36 -0700</bug_when>
    <thetext>Created attachment 343692
patch

update</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436960</commentid>
    <comment_count>7</comment_count>
      <attachid>343692</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-27 09:10:28 -0700</bug_when>
    <thetext>Comment on attachment 343692
patch

Clearing flags on attachment: 343692

Committed r233257: &lt;https://trac.webkit.org/changeset/233257&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1436961</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-27 09:10:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>343670</attachid>
            <date>2018-06-26 18:38:01 -0700</date>
            <delta_ts>2018-06-26 18:40:00 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>6728</size>
            <attacher name="Nan Wang">n_wang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVySU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tCShyZXZpc2lvbiAy
MzMxOTApCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9XZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlcklPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjA1OCwzMyArMjA1OCw2
IEBAIC0gKE5TQXJyYXk8V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIKICAgICByZXR1cm4g
Y29udmVydFRvTlNBcnJheShyZXN1bHRzKTsKIH0KIAotLSAodm9pZClhY2Nlc3NpYmlsaXR5RWxl
bWVudERpZEJlY29tZUZvY3VzZWQKLXsKLSAgICBpZiAoIVtzZWxmIF9wcmVwYXJlQWNjZXNzaWJp
bGl0eUNhbGxdKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgLy8gVGhlIGZvY3VzZWQgVm9p
Y2VPdmVyIGVsZW1lbnQgbWlnaHQgYmUgdGhlIHRleHQgaW5zaWRlIGEgbGluay4KLSAgICAvLyBJ
biB0aG9zZSBjYXNlcyB3ZSBzaG91bGQgZm9jdXMgb24gdGhlIGxpbmsgaXRzZWxmLgotICAgIGZv
ciAoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0ID0gbV9vYmplY3Q7IG9iamVjdCAhPSBuaWw7
IG9iamVjdCA9IG9iamVjdC0+cGFyZW50T2JqZWN0KCkpIHsKLSAgICAgICAgaWYgKG9iamVjdC0+
cm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OldlYkFyZWEpCi0gICAgICAgICAgICBi
cmVhazsKLQotICAgICAgICBpZiAob2JqZWN0LT5jYW5TZXRGb2N1c0F0dHJpYnV0ZSgpKSB7Ci0g
ICAgICAgICAgICAvLyB3ZWJraXQub3JnL2IvMTYyMDQxIFRha2luZyBmb2N1cyBvbnRvIGVsZW1l
bnRzIGluc2lkZSBhIGRldGFpbHMgbm9kZSB3aWxsIGNhdXNlIFZPIGZvY3VzaW5nIG9udG8gcmFu
ZG9tIGl0ZW1zLgotICAgICAgICAgICAgaWYgKFtzZWxmIGRldGFpbFBhcmVudEZvck9iamVjdDpv
YmplY3RdKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgCi0gICAgICAgICAg
ICAvLyB3ZWJraXQub3JnL2IvMTYyMzIyIFdoZW4gYSBkaWFsb2cgaXMgZm9jdXNhYmxlLCBhbGxv
d2luZyBmb2N1c2luZyBvbnRvIHRoZSBkaWFsb2cgbm9kZSB3aWxsIGNhdXNlIFZPIGN1cnNvciBq
dW1waW5nCi0gICAgICAgICAgICAvLyBiYWNrIGFuZCBmb3J3YXJkIHdoaWxlIG5hdmlnYXRpbmcg
aXRzIGNoaWxkcmVuLgotICAgICAgICAgICAgaWYgKFtvYmplY3QtPndyYXBwZXIoKSBhY2Nlc3Np
YmlsaXR5SXNEaWFsb2ddKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgCi0g
ICAgICAgICAgICBvYmplY3QtPnNldEZvY3VzZWQodHJ1ZSk7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgfQotICAgIH0KLX0KLQogLSAodm9pZClhY2Nlc3NpYmlsaXR5TW9kaWZ5U2VsZWN0
aW9uOihUZXh0R3JhbnVsYXJpdHkpZ3JhbnVsYXJpdHkgaW5jcmVhc2U6KEJPT0wpaW5jcmVhc2UK
IHsKICAgICBpZiAoIVtzZWxmIF9wcmVwYXJlQWNjZXNzaWJpbGl0eUNhbGxdKQpJbmRleDogTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHktZm9jdXMt
ZG8tbm90LXNldC1mb2N1cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHktZm9jdXMtZG8tbm90LXNl
dC1mb2N1cy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHktZm9jdXMtZG8tbm90LXNldC1mb2N1
cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMSBAQAorZm9jdXNhYmxl
CitUaGlzIHRlc3RzIHRoYXQgYWNjZXNzaWJpbGl0eUVsZW1lbnREaWRCZWNvbWVGb2N1c2VkIG9u
IGVsZW1lbnRzIHdvbid0IHNldCBmb2N1cy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgbGluayA9PT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyBmYWxzZQorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5LWZvY3VzLWRv
LW5vdC1zZXQtZm9jdXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2lvcy1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS1mb2N1cy1kby1ub3Qtc2V0LWZvY3VzLmh0
bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxh
dG9yL2FjY2Vzc2liaWxpdHktZm9jdXMtZG8tbm90LXNldC1mb2N1cy5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKwor
PGEgaWQ9ImxpbmsiIGhyZWY9IiMiIHRhYkluZGV4PSIwIj5mb2N1c2FibGU8L2E+CisKKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+
CisKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IGFjY2Vzc2liaWxpdHlFbGVtZW50
RGlkQmVjb21lRm9jdXNlZCBvbiBlbGVtZW50cyB3b24ndCBzZXQgZm9jdXMuIik7CisKKyAgICBp
ZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgCisgICAgICAgIHZhciBs
aW5rID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxpbmsiKTsKKyAgICAgICAgdmFyIGxpbmtB
WCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgibGluayIp
OworICAgICAgICAKKyAgICAgICAgLy8gVGVzdCB0aGF0IFZPIGZvY3VzIG9udG8gdGhlIGRpYWxv
ZydzIGNoaWxkcmVuIHdvbid0IHNldCBmb2N1cyB0byB0aGUgZGlhbG9nIGl0c2VsZi4KKyAgICAg
ICAgbGlua0FYLmFzc2lzdGl2ZVRlY2hub2xvZ3lTaW11bGF0ZWRGb2N1cygpOworICAgICAgICBz
aG91bGRCZUZhbHNlKCJsaW5rID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50Iik7CisgICAgfQor
ICAgIAorPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9kb20tZm9jdXMtZmlyZXMtb24tY29ycmVjdC1lbGVt
ZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L2lvcy1zaW11bGF0b3IvZG9tLWZvY3VzLWZpcmVzLW9uLWNvcnJlY3QtZWxlbWVudC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDIzMzE5MCkKKysrIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9z
LXNpbXVsYXRvci9kb20tZm9jdXMtZmlyZXMtb24tY29ycmVjdC1lbGVtZW50LWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCkBAIC0xLDE2ICswLDAgQEAKLWxpbmsxCi1oZWFkaW5nMQotCi1UaGlz
IHRlc3RzIHRoYXQgYWNjZXNzaWJpbGl0eUVsZW1lbnREaWRCZWNvbWVGb2N1c2VkIHdpbGwgYmUg
cHJvcGFnYXRlZCB0byB0aGUgY29ycmVjdCBwYXJlbnQgYW5kIGNhdXNlIERPTSBmb2N1cyB0byBm
aXJlIG9uIHRoZSBjb3JyZWN0IGVsZW1lbnRzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
Ci0KLQotUEFTUyB0ZXh0SW5zaWRlTGluay5kZXNjcmlwdGlvbiBpcyAnQVhMYWJlbDogbGluazEn
Ci1QQVNTIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LmNoaWxkQXRJbmRl
eCgwKS5pc0VxdWFsKHRleHRJbnNpZGVMaW5rKSBpcyB0cnVlCi1QQVNTIHRleHRJbnNpZGVIZWFk
aW5nLmRlc2NyaXB0aW9uIGlzICdBWExhYmVsOiBoZWFkaW5nMScKLVBBU1MgYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuY2hpbGRBdEluZGV4KDApLmlzRXF1YWwodGV4dElu
c2lkZUhlYWRpbmcpIGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11
bGF0b3IvZG9tLWZvY3VzLWZpcmVzLW9uLWNvcnJlY3QtZWxlbWVudC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9kb20tZm9jdXMtZmly
ZXMtb24tY29ycmVjdC1lbGVtZW50Lmh0bWwJKHJldmlzaW9uIDIzMzE5MCkKKysrIExheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9kb20tZm9jdXMtZmlyZXMtb24tY29ycmVj
dC1lbGVtZW50Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw1MiArMCwwIEBACi08IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgotPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keSBpZD0iYm9keSI+Ci0KLQotPGEgaWQ9ImxpbmsxIiBocmVmPSIjIj5saW5rMTwv
YT4KLQotPGgxIGlkPSJoZWFkaW5nMSIgdGFiaW5kZXg9MD5oZWFkaW5nMTwvaDE+Ci0KLTxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3JpcHQ+
Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IGFjY2Vzc2liaWxpdHlFbGVtZW50
RGlkQmVjb21lRm9jdXNlZCB3aWxsIGJlIHByb3BhZ2F0ZWQgdG8gdGhlIGNvcnJlY3QgcGFyZW50
IGFuZCBjYXVzZSBET00gZm9jdXMgdG8gZmlyZSBvbiB0aGUgY29ycmVjdCBlbGVtZW50cy4iKTsK
LQotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAgICAg
IHZhciBib2R5ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVsZW1lbnQ7Ci0KLSAgICAg
ICAgLy8gR2V0IGFjY2VzcyB0byB0aGUgdGV4dCBpbnNpZGUgdGhlIGxpbmsuCi0gICAgICAgIHZh
ciB0ZXh0SW5zaWRlTGluayA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVt
ZW50QnlJZCgibGluazEiKS5jaGlsZEF0SW5kZXgoMCk7Ci0gICAgICAgIHNob3VsZEJlKCJ0ZXh0
SW5zaWRlTGluay5kZXNjcmlwdGlvbiIsICInQVhMYWJlbDogbGluazEnIik7Ci0KLSAgICAgICAg
Ly8gU2ltdWxhdGUgVm9pY2VPdmVyIGZvY3VzIG9udG8gdGhlIGVsZW1lbnQuCi0gICAgICAgIHRl
eHRJbnNpZGVMaW5rLmFzc2lzdGl2ZVRlY2hub2xvZ3lTaW11bGF0ZWRGb2N1cygpOwotCi0gICAg
ICAgIC8vIFRoZSBuZXcgZm9jdXNlZCBlbGVtZW50IHNob3VsZCBub3cgYmUgdGhlIGxpbmsgaXRz
ZWxmLgotICAgICAgICBzaG91bGRCZVRydWUoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3Vz
ZWRFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5pc0VxdWFsKHRleHRJbnNpZGVMaW5rKSIpOwotCi0g
ICAgICAgIC8vIFJlcGVhdCBmb3IgdGV4dCBpbnNpZGUgbGluayBpbnNpZGUgaGVhZGluZy4KLQot
ICAgICAgICAvLyBHZXQgYWNjZXNzIHRvIHRoZSB0ZXh0IGluc2lkZSB0aGUgbGluay4KLSAgICAg
ICAgdmFyIHRleHRJbnNpZGVIZWFkaW5nID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNz
aWJsZUVsZW1lbnRCeUlkKCJoZWFkaW5nMSIpLmNoaWxkQXRJbmRleCgwKTsKLSAgICAgICAgc2hv
dWxkQmUoInRleHRJbnNpZGVIZWFkaW5nLmRlc2NyaXB0aW9uIiwgIidBWExhYmVsOiBoZWFkaW5n
MSciKTsKLQotICAgICAgICAvLyBTaW11bGF0ZSBWb2ljZU92ZXIgZm9jdXMgb250byB0aGUgZWxl
bWVudC4KLSAgICAgICAgdGV4dEluc2lkZUhlYWRpbmcuYXNzaXN0aXZlVGVjaG5vbG9neVNpbXVs
YXRlZEZvY3VzKCk7Ci0KLSAgICAgICAgLy8gVGhlIG5ldyBmb2N1c2VkIGVsZW1lbnQgc2hvdWxk
IG5vdyBiZSB0aGUgbGluayBpdHNlbGYuCi0gICAgICAgIHNob3VsZEJlVHJ1ZSgiYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuY2hpbGRBdEluZGV4KDApLmlzRXF1YWwodGV4
dEluc2lkZUhlYWRpbmcpIik7Ci0gICAgfQotCi08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>343671</attachid>
            <date>2018-06-26 18:40:00 -0700</date>
            <delta_ts>2018-06-26 18:43:23 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>8566</size>
            <attacher name="Nan Wang">n_wang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzMzIzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE4LTA2LTI2ICBOYW4gV2Fu
ZyAgPG5fd2FuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFtpT1NdIFJlbW92ZSB0aGUgYWJp
bGl0eSB0byBzZXQga2V5Ym9hcmQgZm9jdXMgd2hlbiBWb2ljZU92ZXIgdGFrZXMgZm9jdXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NzA3NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGFjY2Vz
c2liaWxpdHkvaW9zLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5LWZvY3VzLWRvLW5vdC1zZXQtZm9j
dXMuaHRtbAorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJJT1MubW06CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyIGFjY2Vzc2liaWxpdHlFbGVtZW50RGlkQmVjb21lRm9jdXNlZF0pOiBEZWxldGVkLgorCiAy
MDE4LTA2LTI2ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBS
RUdSRVNTSU9OIChyMjMxNDc5KTogVW5hYmxlIHRvIGJ1eSBPZGVvbiBjaW5lbWEgdGlja2V0cyBp
biBTVFAgKGJvZ3VzICdYLUZyYW1lLU9wdGlvbnMnIHRvICdTQU1FT1JJR0lOJykKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVySU9TLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9z
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tCShyZXZpc2lvbiAyMzMxOTApCisr
KyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlcklPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjA1OCwzMyArMjA1OCw2IEBAIC0gKE5T
QXJyYXk8V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIKICAgICByZXR1cm4gY29udmVydFRv
TlNBcnJheShyZXN1bHRzKTsKIH0KIAotLSAodm9pZClhY2Nlc3NpYmlsaXR5RWxlbWVudERpZEJl
Y29tZUZvY3VzZWQKLXsKLSAgICBpZiAoIVtzZWxmIF9wcmVwYXJlQWNjZXNzaWJpbGl0eUNhbGxd
KQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgLy8gVGhlIGZvY3VzZWQgVm9pY2VPdmVyIGVs
ZW1lbnQgbWlnaHQgYmUgdGhlIHRleHQgaW5zaWRlIGEgbGluay4KLSAgICAvLyBJbiB0aG9zZSBj
YXNlcyB3ZSBzaG91bGQgZm9jdXMgb24gdGhlIGxpbmsgaXRzZWxmLgotICAgIGZvciAoQWNjZXNz
aWJpbGl0eU9iamVjdCogb2JqZWN0ID0gbV9vYmplY3Q7IG9iamVjdCAhPSBuaWw7IG9iamVjdCA9
IG9iamVjdC0+cGFyZW50T2JqZWN0KCkpIHsKLSAgICAgICAgaWYgKG9iamVjdC0+cm9sZVZhbHVl
KCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OldlYkFyZWEpCi0gICAgICAgICAgICBicmVhazsKLQot
ICAgICAgICBpZiAob2JqZWN0LT5jYW5TZXRGb2N1c0F0dHJpYnV0ZSgpKSB7Ci0gICAgICAgICAg
ICAvLyB3ZWJraXQub3JnL2IvMTYyMDQxIFRha2luZyBmb2N1cyBvbnRvIGVsZW1lbnRzIGluc2lk
ZSBhIGRldGFpbHMgbm9kZSB3aWxsIGNhdXNlIFZPIGZvY3VzaW5nIG9udG8gcmFuZG9tIGl0ZW1z
LgotICAgICAgICAgICAgaWYgKFtzZWxmIGRldGFpbFBhcmVudEZvck9iamVjdDpvYmplY3RdKQot
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgCi0gICAgICAgICAgICAvLyB3ZWJr
aXQub3JnL2IvMTYyMzIyIFdoZW4gYSBkaWFsb2cgaXMgZm9jdXNhYmxlLCBhbGxvd2luZyBmb2N1
c2luZyBvbnRvIHRoZSBkaWFsb2cgbm9kZSB3aWxsIGNhdXNlIFZPIGN1cnNvciBqdW1waW5nCi0g
ICAgICAgICAgICAvLyBiYWNrIGFuZCBmb3J3YXJkIHdoaWxlIG5hdmlnYXRpbmcgaXRzIGNoaWxk
cmVuLgotICAgICAgICAgICAgaWYgKFtvYmplY3QtPndyYXBwZXIoKSBhY2Nlc3NpYmlsaXR5SXNE
aWFsb2ddKQotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgCi0gICAgICAgICAg
ICBvYmplY3QtPnNldEZvY3VzZWQodHJ1ZSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
fQotICAgIH0KLX0KLQogLSAodm9pZClhY2Nlc3NpYmlsaXR5TW9kaWZ5U2VsZWN0aW9uOihUZXh0
R3JhbnVsYXJpdHkpZ3JhbnVsYXJpdHkgaW5jcmVhc2U6KEJPT0wpaW5jcmVhc2UKIHsKICAgICBp
ZiAoIVtzZWxmIF9wcmVwYXJlQWNjZXNzaWJpbGl0eUNhbGxdKQpJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
MjMzMTkwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTgtMDYtMjYgIE5hbiBXYW5nICA8bl93YW5nQGFwcGxlLmNvbT4KKworICAg
ICAgICBBWDogW2lPU10gUmVtb3ZlIHRoZSBhYmlsaXR5IHRvIHNldCBrZXlib2FyZCBmb2N1cyB3
aGVuIFZvaWNlT3ZlciB0YWtlcyBmb2N1cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTg3MDc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvYWNjZXNzaWJp
bGl0eS1mb2N1cy1kby1ub3Qtc2V0LWZvY3VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHktZm9jdXMtZG8tbm90
LXNldC1mb2N1cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lvcy1zaW11
bGF0b3IvZG9tLWZvY3VzLWZpcmVzLW9uLWNvcnJlY3QtZWxlbWVudC1leHBlY3RlZC50eHQ6IFJl
bW92ZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2RvbS1mb2N1cy1m
aXJlcy1vbi1jb3JyZWN0LWVsZW1lbnQuaHRtbDogUmVtb3ZlZC4KKwogMjAxOC0wNi0yNSAgRGF2
aWQgRmVudG9uICA8ZGF2aWRfZmVudG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBMYXlvdXRUZXN0
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5
L3N1Y2Nlc3Nlc19SU0FTU0EtUEtDUzEtdjFfNS5odHRwcy5hbnkud29ya2VyLmh0bWwgaXMgZmxh
a3kuCkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvYWNjZXNz
aWJpbGl0eS1mb2N1cy1kby1ub3Qtc2V0LWZvY3VzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS1m
b2N1cy1kby1ub3Qtc2V0LWZvY3VzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS1mb2N1cy1k
by1ub3Qtc2V0LWZvY3VzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEx
IEBACitmb2N1c2FibGUKK1RoaXMgdGVzdHMgdGhhdCBhY2Nlc3NpYmlsaXR5RWxlbWVudERpZEJl
Y29tZUZvY3VzZWQgb24gZWxlbWVudHMgd29uJ3Qgc2V0IGZvY3VzLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyBsaW5rID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlz
IGZhbHNlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2FjY2Vzc2li
aWxpdHktZm9jdXMtZG8tbm90LXNldC1mb2N1cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5LWZvY3VzLWRvLW5v
dC1zZXQtZm9jdXMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2lvcy1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS1mb2N1cy1kby1ub3Qtc2V0LWZvY3VzLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElD
ICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkg
aWQ9ImJvZHkiPgorCis8YSBpZD0ibGluayIgaHJlZj0iIyIgdGFiSW5kZXg9IjAiPmZvY3VzYWJs
ZTwvYT4KKworPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKworPHNjcmlwdD4KKworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgYWNjZXNz
aWJpbGl0eUVsZW1lbnREaWRCZWNvbWVGb2N1c2VkIG9uIGVsZW1lbnRzIHdvbid0IHNldCBmb2N1
cy4iKTsKKworICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICAK
KyAgICAgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGluayIpOworICAg
ICAgICB2YXIgbGlua0FYID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1l
bnRCeUlkKCJsaW5rIik7CisgICAgICAgIAorICAgICAgICAvLyBUZXN0IHRoYXQgVk8gZm9jdXMg
b250byB0aGUgZGlhbG9nJ3MgY2hpbGRyZW4gd29uJ3Qgc2V0IGZvY3VzIHRvIHRoZSBkaWFsb2cg
aXRzZWxmLgorICAgICAgICBsaW5rQVguYXNzaXN0aXZlVGVjaG5vbG9neVNpbXVsYXRlZEZvY3Vz
KCk7CisgICAgICAgIHNob3VsZEJlRmFsc2UoImxpbmsgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1l
bnQiKTsKKyAgICB9CisgICAgCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2RvbS1mb2N1cy1maXJlcy1v
bi1jb3JyZWN0LWVsZW1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9kb20tZm9jdXMtZmlyZXMtb24tY29ycmVjdC1l
bGVtZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjMzMTkwKQorKysgTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2RvbS1mb2N1cy1maXJlcy1vbi1jb3JyZWN0LWVsZW1l
bnQtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKQEAgLTEsMTYgKzAsMCBAQAotbGluazEKLWhl
YWRpbmcxCi0KLVRoaXMgdGVzdHMgdGhhdCBhY2Nlc3NpYmlsaXR5RWxlbWVudERpZEJlY29tZUZv
Y3VzZWQgd2lsbCBiZSBwcm9wYWdhdGVkIHRvIHRoZSBjb3JyZWN0IHBhcmVudCBhbmQgY2F1c2Ug
RE9NIGZvY3VzIHRvIGZpcmUgb24gdGhlIGNvcnJlY3QgZWxlbWVudHMuCi0KLU9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHRleHRJbnNpZGVMaW5rLmRlc2NyaXB0aW9uIGlzICdB
WExhYmVsOiBsaW5rMScKLVBBU1MgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1l
bnQuY2hpbGRBdEluZGV4KDApLmlzRXF1YWwodGV4dEluc2lkZUxpbmspIGlzIHRydWUKLVBBU1Mg
dGV4dEluc2lkZUhlYWRpbmcuZGVzY3JpcHRpb24gaXMgJ0FYTGFiZWw6IGhlYWRpbmcxJwotUEFT
UyBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5jaGlsZEF0SW5kZXgoMCku
aXNFcXVhbCh0ZXh0SW5zaWRlSGVhZGluZykgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvaW9zLXNpbXVsYXRvci9kb20tZm9jdXMtZmlyZXMtb24tY29ycmVjdC1lbGVtZW50Lmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9y
L2RvbS1mb2N1cy1maXJlcy1vbi1jb3JyZWN0LWVsZW1lbnQuaHRtbAkocmV2aXNpb24gMjMzMTkw
KQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2RvbS1mb2N1cy1m
aXJlcy1vbi1jb3JyZWN0LWVsZW1lbnQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDUyICswLDAg
QEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1s
PgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IGlkPSJib2R5Ij4KLQotCi08YSBpZD0ibGluazEiIGhy
ZWY9IiMiPmxpbmsxPC9hPgotCi08aDEgaWQ9ImhlYWRpbmcxIiB0YWJpbmRleD0wPmhlYWRpbmcx
PC9oMT4KLQotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KLQotPHNjcmlwdD4KLQotICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgYWNjZXNz
aWJpbGl0eUVsZW1lbnREaWRCZWNvbWVGb2N1c2VkIHdpbGwgYmUgcHJvcGFnYXRlZCB0byB0aGUg
Y29ycmVjdCBwYXJlbnQgYW5kIGNhdXNlIERPTSBmb2N1cyB0byBmaXJlIG9uIHRoZSBjb3JyZWN0
IGVsZW1lbnRzLiIpOwotCi0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVy
KSB7Ci0KLSAgICAgICAgdmFyIGJvZHkgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5yb290RWxl
bWVudDsKLQotICAgICAgICAvLyBHZXQgYWNjZXNzIHRvIHRoZSB0ZXh0IGluc2lkZSB0aGUgbGlu
ay4KLSAgICAgICAgdmFyIHRleHRJbnNpZGVMaW5rID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
YWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJsaW5rMSIpLmNoaWxkQXRJbmRleCgwKTsKLSAgICAgICAg
c2hvdWxkQmUoInRleHRJbnNpZGVMaW5rLmRlc2NyaXB0aW9uIiwgIidBWExhYmVsOiBsaW5rMSci
KTsKLQotICAgICAgICAvLyBTaW11bGF0ZSBWb2ljZU92ZXIgZm9jdXMgb250byB0aGUgZWxlbWVu
dC4KLSAgICAgICAgdGV4dEluc2lkZUxpbmsuYXNzaXN0aXZlVGVjaG5vbG9neVNpbXVsYXRlZEZv
Y3VzKCk7Ci0KLSAgICAgICAgLy8gVGhlIG5ldyBmb2N1c2VkIGVsZW1lbnQgc2hvdWxkIG5vdyBi
ZSB0aGUgbGluayBpdHNlbGYuCi0gICAgICAgIHNob3VsZEJlVHJ1ZSgiYWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuY2hpbGRBdEluZGV4KDApLmlzRXF1YWwodGV4dEluc2lk
ZUxpbmspIik7Ci0KLSAgICAgICAgLy8gUmVwZWF0IGZvciB0ZXh0IGluc2lkZSBsaW5rIGluc2lk
ZSBoZWFkaW5nLgotCi0gICAgICAgIC8vIEdldCBhY2Nlc3MgdG8gdGhlIHRleHQgaW5zaWRlIHRo
ZSBsaW5rLgotICAgICAgICB2YXIgdGV4dEluc2lkZUhlYWRpbmcgPSBhY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImhlYWRpbmcxIikuY2hpbGRBdEluZGV4KDAp
OwotICAgICAgICBzaG91bGRCZSgidGV4dEluc2lkZUhlYWRpbmcuZGVzY3JpcHRpb24iLCAiJ0FY
TGFiZWw6IGhlYWRpbmcxJyIpOwotCi0gICAgICAgIC8vIFNpbXVsYXRlIFZvaWNlT3ZlciBmb2N1
cyBvbnRvIHRoZSBlbGVtZW50LgotICAgICAgICB0ZXh0SW5zaWRlSGVhZGluZy5hc3Npc3RpdmVU
ZWNobm9sb2d5U2ltdWxhdGVkRm9jdXMoKTsKLQotICAgICAgICAvLyBUaGUgbmV3IGZvY3VzZWQg
ZWxlbWVudCBzaG91bGQgbm93IGJlIHRoZSBsaW5rIGl0c2VsZi4KLSAgICAgICAgc2hvdWxkQmVU
cnVlKCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5jaGlsZEF0SW5kZXgo
MCkuaXNFcXVhbCh0ZXh0SW5zaWRlSGVhZGluZykiKTsKLSAgICB9Ci0KLTwvc2NyaXB0PgotCi08
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08
L2JvZHk+Ci08L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>343673</attachid>
            <date>2018-06-26 18:43:23 -0700</date>
            <delta_ts>2018-06-26 23:08:36 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>8612</size>
            <attacher name="Nan Wang">n_wang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzMzIzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE4LTA2LTI2ICBOYW4gV2Fu
ZyAgPG5fd2FuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFtpT1NdIFJlbW92ZSB0aGUgYWJp
bGl0eSB0byBzZXQga2V5Ym9hcmQgZm9jdXMgd2hlbiBWb2ljZU92ZXIgdGFrZXMgZm9jdXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NzA3NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIHNob3VsZG4n
dCBzZXQga2V5Ym9hcmQgZm9jdXMgd2hlbiBhc3Npc3RpdmUgdGVjaG5vbG9neSB0YWtlcyBmb2N1
cyBzaW5jZQorICAgICAgICBpdCB3b3VsZCBhbGxvdyB3ZWIgYXV0aG9ycyB0byB0cmFjayBBVCB1
c2FnZS4KKworICAgICAgICBUZXN0OiBhY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvYWNjZXNz
aWJpbGl0eS1mb2N1cy1kby1ub3Qtc2V0LWZvY3VzLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tOgorICAgICAgICAo
LVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5RWxlbWVudERpZEJl
Y29tZUZvY3VzZWRdKTogRGVsZXRlZC4KKwogMjAxOC0wNi0yNiAgRGFuaWVsIEJhdGVzICA8ZGFi
YXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjIzMTQ3OSk6IFVuYWJsZSB0
byBidXkgT2Rlb24gY2luZW1hIHRpY2tldHMgaW4gU1RQIChib2d1cyAnWC1GcmFtZS1PcHRpb25z
JyB0byAnU0FNRU9SSUdJTicpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lv
cy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
cklPUy5tbQkocmV2aXNpb24gMjMzMTkwKQorKysgU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9pb3MvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0JKHdvcmtpbmcgY29weSkK
QEAgLTIwNTgsMzMgKzIwNTgsNiBAQCAtIChOU0FycmF5PFdlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyCiAgICAgcmV0dXJuIGNvbnZlcnRUb05TQXJyYXkocmVzdWx0cyk7CiB9CiAKLS0gKHZv
aWQpYWNjZXNzaWJpbGl0eUVsZW1lbnREaWRCZWNvbWVGb2N1c2VkCi17Ci0gICAgaWYgKCFbc2Vs
ZiBfcHJlcGFyZUFjY2Vzc2liaWxpdHlDYWxsXSkKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAg
IC8vIFRoZSBmb2N1c2VkIFZvaWNlT3ZlciBlbGVtZW50IG1pZ2h0IGJlIHRoZSB0ZXh0IGluc2lk
ZSBhIGxpbmsuCi0gICAgLy8gSW4gdGhvc2UgY2FzZXMgd2Ugc2hvdWxkIGZvY3VzIG9uIHRoZSBs
aW5rIGl0c2VsZi4KLSAgICBmb3IgKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCA9IG1fb2Jq
ZWN0OyBvYmplY3QgIT0gbmlsOyBvYmplY3QgPSBvYmplY3QtPnBhcmVudE9iamVjdCgpKSB7Ci0g
ICAgICAgIGlmIChvYmplY3QtPnJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpXZWJB
cmVhKQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgaWYgKG9iamVjdC0+Y2FuU2V0Rm9j
dXNBdHRyaWJ1dGUoKSkgewotICAgICAgICAgICAgLy8gd2Via2l0Lm9yZy9iLzE2MjA0MSBUYWtp
bmcgZm9jdXMgb250byBlbGVtZW50cyBpbnNpZGUgYSBkZXRhaWxzIG5vZGUgd2lsbCBjYXVzZSBW
TyBmb2N1c2luZyBvbnRvIHJhbmRvbSBpdGVtcy4KLSAgICAgICAgICAgIGlmIChbc2VsZiBkZXRh
aWxQYXJlbnRGb3JPYmplY3Q6b2JqZWN0XSkKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgIAotICAgICAgICAgICAgLy8gd2Via2l0Lm9yZy9iLzE2MjMyMiBXaGVuIGEgZGlhbG9n
IGlzIGZvY3VzYWJsZSwgYWxsb3dpbmcgZm9jdXNpbmcgb250byB0aGUgZGlhbG9nIG5vZGUgd2ls
bCBjYXVzZSBWTyBjdXJzb3IganVtcGluZwotICAgICAgICAgICAgLy8gYmFjayBhbmQgZm9yd2Fy
ZCB3aGlsZSBuYXZpZ2F0aW5nIGl0cyBjaGlsZHJlbi4KLSAgICAgICAgICAgIGlmIChbb2JqZWN0
LT53cmFwcGVyKCkgYWNjZXNzaWJpbGl0eUlzRGlhbG9nXSkKLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgb2JqZWN0LT5zZXRGb2N1c2VkKHRydWUpOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci19Ci0KIC0gKHZvaWQpYWNjZXNz
aWJpbGl0eU1vZGlmeVNlbGVjdGlvbjooVGV4dEdyYW51bGFyaXR5KWdyYW51bGFyaXR5IGluY3Jl
YXNlOihCT09MKWluY3JlYXNlCiB7CiAgICAgaWYgKCFbc2VsZiBfcHJlcGFyZUFjY2Vzc2liaWxp
dHlDYWxsXSkKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzMzE5MCkKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE4LTA2LTI2ICBOYW4gV2Fu
ZyAgPG5fd2FuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFtpT1NdIFJlbW92ZSB0aGUgYWJp
bGl0eSB0byBzZXQga2V5Ym9hcmQgZm9jdXMgd2hlbiBWb2ljZU92ZXIgdGFrZXMgZm9jdXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NzA3NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9pb3Mtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHktZm9jdXMtZG8tbm90LXNldC1mb2N1cy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRv
ci9hY2Nlc3NpYmlsaXR5LWZvY3VzLWRvLW5vdC1zZXQtZm9jdXMuaHRtbDogQWRkZWQuCisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2RvbS1mb2N1cy1maXJlcy1vbi1jb3Jy
ZWN0LWVsZW1lbnQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvaW9zLXNpbXVsYXRvci9kb20tZm9jdXMtZmlyZXMtb24tY29ycmVjdC1lbGVtZW50Lmh0bWw6
IFJlbW92ZWQuCisKIDIwMTgtMDYtMjUgIERhdmlkIEZlbnRvbiAgPGRhdmlkX2ZlbnRvbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgTGF5b3V0VGVzdCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL1dlYkNyeXB0b0FQSS9nZW5lcmF0ZUtleS9zdWNjZXNzZXNfUlNBU1NBLVBLQ1MxLXYxXzUu
aHR0cHMuYW55Lndvcmtlci5odG1sIGlzIGZsYWt5LgpJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHktZm9jdXMtZG8tbm90LXNldC1mb2N1
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9p
b3Mtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHktZm9jdXMtZG8tbm90LXNldC1mb2N1cy1leHBlY3Rl
ZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2lt
dWxhdG9yL2FjY2Vzc2liaWxpdHktZm9jdXMtZG8tbm90LXNldC1mb2N1cy1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMSBAQAorZm9jdXNhYmxlCitUaGlzIHRlc3RzIHRo
YXQgYWNjZXNzaWJpbGl0eUVsZW1lbnREaWRCZWNvbWVGb2N1c2VkIG9uIGVsZW1lbnRzIHdvbid0
IHNldCBmb2N1cy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbGluayA9
PT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyBmYWxzZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvaW9zLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5LWZvY3VzLWRvLW5vdC1zZXQtZm9jdXMu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0
b3IvYWNjZXNzaWJpbGl0eS1mb2N1cy1kby1ub3Qtc2V0LWZvY3VzLmh0bWwJKG5vbmV4aXN0ZW50
KQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2FjY2Vzc2liaWxp
dHktZm9jdXMtZG8tbm90LXNldC1mb2N1cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MzAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IGlkPSJib2R5Ij4KKworPGEgaWQ9ImxpbmsiIGhy
ZWY9IiMiIHRhYkluZGV4PSIwIj5mb2N1c2FibGU8L2E+CisKKzxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzY3JpcHQ+CisKKyAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0cyB0aGF0IGFjY2Vzc2liaWxpdHlFbGVtZW50RGlkQmVjb21lRm9jdXNl
ZCBvbiBlbGVtZW50cyB3b24ndCBzZXQgZm9jdXMuIik7CisKKyAgICBpZiAod2luZG93LmFjY2Vz
c2liaWxpdHlDb250cm9sbGVyKSB7CisgICAgCisgICAgICAgIHZhciBsaW5rID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImxpbmsiKTsKKyAgICAgICAgdmFyIGxpbmtBWCA9IGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgibGluayIpOworICAgICAgICAKKyAg
ICAgICAgbGlua0FYLmFzc2lzdGl2ZVRlY2hub2xvZ3lTaW11bGF0ZWRGb2N1cygpOworICAgICAg
ICBzaG91bGRCZUZhbHNlKCJsaW5rID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50Iik7CisgICAg
fQorICAgIAorPC9zY3JpcHQ+CisKKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9kb20tZm9jdXMtZmlyZXMtb24tY29ycmVjdC1l
bGVtZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2lvcy1zaW11bGF0b3IvZG9tLWZvY3VzLWZpcmVzLW9uLWNvcnJlY3QtZWxlbWVudC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDIzMzE5MCkKKysrIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
aW9zLXNpbXVsYXRvci9kb20tZm9jdXMtZmlyZXMtb24tY29ycmVjdC1lbGVtZW50LWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCkBAIC0xLDE2ICswLDAgQEAKLWxpbmsxCi1oZWFkaW5nMQotCi1U
aGlzIHRlc3RzIHRoYXQgYWNjZXNzaWJpbGl0eUVsZW1lbnREaWRCZWNvbWVGb2N1c2VkIHdpbGwg
YmUgcHJvcGFnYXRlZCB0byB0aGUgY29ycmVjdCBwYXJlbnQgYW5kIGNhdXNlIERPTSBmb2N1cyB0
byBmaXJlIG9uIHRoZSBjb3JyZWN0IGVsZW1lbnRzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCi0KLQotUEFTUyB0ZXh0SW5zaWRlTGluay5kZXNjcmlwdGlvbiBpcyAnQVhMYWJlbDogbGlu
azEnCi1QQVNTIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZvY3VzZWRFbGVtZW50LmNoaWxkQXRJ
bmRleCgwKS5pc0VxdWFsKHRleHRJbnNpZGVMaW5rKSBpcyB0cnVlCi1QQVNTIHRleHRJbnNpZGVI
ZWFkaW5nLmRlc2NyaXB0aW9uIGlzICdBWExhYmVsOiBoZWFkaW5nMScKLVBBU1MgYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuY2hpbGRBdEluZGV4KDApLmlzRXF1YWwodGV4
dEluc2lkZUhlYWRpbmcpIGlzIHRydWUKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
LQotVEVTVCBDT01QTEVURQotCkluZGV4OiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1z
aW11bGF0b3IvZG9tLWZvY3VzLWZpcmVzLW9uLWNvcnJlY3QtZWxlbWVudC5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9kb20tZm9jdXMt
ZmlyZXMtb24tY29ycmVjdC1lbGVtZW50Lmh0bWwJKHJldmlzaW9uIDIzMzE5MCkKKysrIExheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9kb20tZm9jdXMtZmlyZXMtb24tY29y
cmVjdC1lbGVtZW50Lmh0bWwJKG5vbmV4aXN0ZW50KQpAQCAtMSw1MiArMCwwIEBACi08IURPQ1RZ
UEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRtbD4KLTxoZWFkPgot
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08
L2hlYWQ+Ci08Ym9keSBpZD0iYm9keSI+Ci0KLQotPGEgaWQ9ImxpbmsxIiBocmVmPSIjIj5saW5r
MTwvYT4KLQotPGgxIGlkPSJoZWFkaW5nMSIgdGFiaW5kZXg9MD5oZWFkaW5nMTwvaDE+Ci0KLTxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3Jp
cHQ+Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IGFjY2Vzc2liaWxpdHlFbGVt
ZW50RGlkQmVjb21lRm9jdXNlZCB3aWxsIGJlIHByb3BhZ2F0ZWQgdG8gdGhlIGNvcnJlY3QgcGFy
ZW50IGFuZCBjYXVzZSBET00gZm9jdXMgdG8gZmlyZSBvbiB0aGUgY29ycmVjdCBlbGVtZW50cy4i
KTsKLQotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAg
ICAgIHZhciBib2R5ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVsZW1lbnQ7Ci0KLSAg
ICAgICAgLy8gR2V0IGFjY2VzcyB0byB0aGUgdGV4dCBpbnNpZGUgdGhlIGxpbmsuCi0gICAgICAg
IHZhciB0ZXh0SW5zaWRlTGluayA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVF
bGVtZW50QnlJZCgibGluazEiKS5jaGlsZEF0SW5kZXgoMCk7Ci0gICAgICAgIHNob3VsZEJlKCJ0
ZXh0SW5zaWRlTGluay5kZXNjcmlwdGlvbiIsICInQVhMYWJlbDogbGluazEnIik7Ci0KLSAgICAg
ICAgLy8gU2ltdWxhdGUgVm9pY2VPdmVyIGZvY3VzIG9udG8gdGhlIGVsZW1lbnQuCi0gICAgICAg
IHRleHRJbnNpZGVMaW5rLmFzc2lzdGl2ZVRlY2hub2xvZ3lTaW11bGF0ZWRGb2N1cygpOwotCi0g
ICAgICAgIC8vIFRoZSBuZXcgZm9jdXNlZCBlbGVtZW50IHNob3VsZCBub3cgYmUgdGhlIGxpbmsg
aXRzZWxmLgotICAgICAgICBzaG91bGRCZVRydWUoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmZv
Y3VzZWRFbGVtZW50LmNoaWxkQXRJbmRleCgwKS5pc0VxdWFsKHRleHRJbnNpZGVMaW5rKSIpOwot
Ci0gICAgICAgIC8vIFJlcGVhdCBmb3IgdGV4dCBpbnNpZGUgbGluayBpbnNpZGUgaGVhZGluZy4K
LQotICAgICAgICAvLyBHZXQgYWNjZXNzIHRvIHRoZSB0ZXh0IGluc2lkZSB0aGUgbGluay4KLSAg
ICAgICAgdmFyIHRleHRJbnNpZGVIZWFkaW5nID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNj
ZXNzaWJsZUVsZW1lbnRCeUlkKCJoZWFkaW5nMSIpLmNoaWxkQXRJbmRleCgwKTsKLSAgICAgICAg
c2hvdWxkQmUoInRleHRJbnNpZGVIZWFkaW5nLmRlc2NyaXB0aW9uIiwgIidBWExhYmVsOiBoZWFk
aW5nMSciKTsKLQotICAgICAgICAvLyBTaW11bGF0ZSBWb2ljZU92ZXIgZm9jdXMgb250byB0aGUg
ZWxlbWVudC4KLSAgICAgICAgdGV4dEluc2lkZUhlYWRpbmcuYXNzaXN0aXZlVGVjaG5vbG9neVNp
bXVsYXRlZEZvY3VzKCk7Ci0KLSAgICAgICAgLy8gVGhlIG5ldyBmb2N1c2VkIGVsZW1lbnQgc2hv
dWxkIG5vdyBiZSB0aGUgbGluayBpdHNlbGYuCi0gICAgICAgIHNob3VsZEJlVHJ1ZSgiYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuY2hpbGRBdEluZGV4KDApLmlzRXF1YWwo
dGV4dEluc2lkZUhlYWRpbmcpIik7Ci0gICAgfQotCi08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>343692</attachid>
            <date>2018-06-26 23:08:36 -0700</date>
            <delta_ts>2018-06-27 09:10:28 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>8779</size>
            <attacher name="Nan Wang">n_wang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzMzI0NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE4LTA2LTI2ICBOYW4gV2Fu
ZyAgPG5fd2FuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFtpT1NdIFJlbW92ZSB0aGUgYWJp
bGl0eSB0byBzZXQga2V5Ym9hcmQgZm9jdXMgd2hlbiBWb2ljZU92ZXIgdGFrZXMgZm9jdXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NzA3NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIHNob3VsZG4n
dCBzZXQga2V5Ym9hcmQgZm9jdXMgd2hlbiBhc3Npc3RpdmUgdGVjaG5vbG9neSB0YWtlcyBmb2N1
cyBzaW5jZQorICAgICAgICB0aGlzIGlzIGNhdXNpbmcgd2Vic2l0ZSBpbmNvbXBhdGliaWxpdHkg
aXNzdWVzIGJ5IGNhdXNpbmcgZm9jdXMgdG8gYmUgbG9zdC4KKworICAgICAgICBUZXN0OiBhY2Nl
c3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS1mb2N1cy1kby1ub3Qtc2V0LWZv
Y3VzLmh0bWwKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVySU9TLm1tOgorICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlciBhY2Nlc3NpYmlsaXR5RWxlbWVudERpZEJlY29tZUZvY3VzZWRdKToKKwogMjAxOC0wNi0y
NiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbSlND
XSBQYXNzIFZNJiB0byBmdW5jdGlvbnMgbW9yZQpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJJT1MubW0JKHJldmlzaW9uIDIzMzE5MCkKKysrIFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMDYzLDI2ICsyMDYzLDcgQEAgLSAodm9pZClhY2Nlc3NpYmlsaXR5RWxl
bWVudERpZEJlY29tZUZvYwogICAgIGlmICghW3NlbGYgX3ByZXBhcmVBY2Nlc3NpYmlsaXR5Q2Fs
bF0pCiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICAvLyBUaGUgZm9jdXNlZCBWb2ljZU92ZXIg
ZWxlbWVudCBtaWdodCBiZSB0aGUgdGV4dCBpbnNpZGUgYSBsaW5rLgotICAgIC8vIEluIHRob3Nl
IGNhc2VzIHdlIHNob3VsZCBmb2N1cyBvbiB0aGUgbGluayBpdHNlbGYuCi0gICAgZm9yIChBY2Nl
c3NpYmlsaXR5T2JqZWN0KiBvYmplY3QgPSBtX29iamVjdDsgb2JqZWN0ICE9IG5pbDsgb2JqZWN0
ID0gb2JqZWN0LT5wYXJlbnRPYmplY3QoKSkgewotICAgICAgICBpZiAob2JqZWN0LT5yb2xlVmFs
dWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6V2ViQXJlYSkKLSAgICAgICAgICAgIGJyZWFrOwot
Ci0gICAgICAgIGlmIChvYmplY3QtPmNhblNldEZvY3VzQXR0cmlidXRlKCkpIHsKLSAgICAgICAg
ICAgIC8vIHdlYmtpdC5vcmcvYi8xNjIwNDEgVGFraW5nIGZvY3VzIG9udG8gZWxlbWVudHMgaW5z
aWRlIGEgZGV0YWlscyBub2RlIHdpbGwgY2F1c2UgVk8gZm9jdXNpbmcgb250byByYW5kb20gaXRl
bXMuCi0gICAgICAgICAgICBpZiAoW3NlbGYgZGV0YWlsUGFyZW50Rm9yT2JqZWN0Om9iamVjdF0p
Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIC8vIHdl
YmtpdC5vcmcvYi8xNjIzMjIgV2hlbiBhIGRpYWxvZyBpcyBmb2N1c2FibGUsIGFsbG93aW5nIGZv
Y3VzaW5nIG9udG8gdGhlIGRpYWxvZyBub2RlIHdpbGwgY2F1c2UgVk8gY3Vyc29yIGp1bXBpbmcK
LSAgICAgICAgICAgIC8vIGJhY2sgYW5kIGZvcndhcmQgd2hpbGUgbmF2aWdhdGluZyBpdHMgY2hp
bGRyZW4uCi0gICAgICAgICAgICBpZiAoW29iamVjdC0+d3JhcHBlcigpIGFjY2Vzc2liaWxpdHlJ
c0RpYWxvZ10pCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAKLSAgICAgICAg
ICAgIG9iamVjdC0+c2V0Rm9jdXNlZCh0cnVlKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICB9Ci0gICAgfQorICAgIG1fb2JqZWN0LT5kaXNwYXRjaEFjY2Vzc2liaWxpdHlFdmVudFdpdGhU
eXBlKEFjY2Vzc2liaWxpdHlFdmVudFR5cGU6OkZvY3VzKTsKIH0KIAogLSAodm9pZClhY2Nlc3Np
YmlsaXR5TW9kaWZ5U2VsZWN0aW9uOihUZXh0R3JhbnVsYXJpdHkpZ3JhbnVsYXJpdHkgaW5jcmVh
c2U6KEJPT0wpaW5jcmVhc2UKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIzMzE5MCkKKysrIExheW91dFRl
c3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE4LTA2LTI2
ICBOYW4gV2FuZyAgPG5fd2FuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFtpT1NdIFJlbW92
ZSB0aGUgYWJpbGl0eSB0byBzZXQga2V5Ym9hcmQgZm9jdXMgd2hlbiBWb2ljZU92ZXIgdGFrZXMg
Zm9jdXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
NzA3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHktZm9jdXMtZG8tbm90LXNl
dC1mb2N1cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaW9z
LXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5LWZvY3VzLWRvLW5vdC1zZXQtZm9jdXMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2RvbS1mb2N1cy1maXJl
cy1vbi1jb3JyZWN0LWVsZW1lbnQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9kb20tZm9jdXMtZmlyZXMtb24tY29ycmVjdC1lbGVt
ZW50Lmh0bWw6IFJlbW92ZWQuCisKIDIwMTgtMDYtMjUgIERhdmlkIEZlbnRvbiAgPGRhdmlkX2Zl
bnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgTGF5b3V0VGVzdCBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL1dlYkNyeXB0b0FQSS9nZW5lcmF0ZUtleS9zdWNjZXNzZXNfUlNBU1NBLVBL
Q1MxLXYxXzUuaHR0cHMuYW55Lndvcmtlci5odG1sIGlzIGZsYWt5LgpJbmRleDogTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHktZm9jdXMtZG8tbm90
LXNldC1mb2N1cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHktZm9jdXMtZG8tbm90LXNldC1mb2N1
cy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9pb3Mtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHktZm9jdXMtZG8tbm90LXNldC1mb2N1cy1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMiBAQAorZm9jdXNhYmxlCitUaGlz
IHRlc3RzIHRoYXQgYWNjZXNzaWJpbGl0eUVsZW1lbnREaWRCZWNvbWVGb2N1c2VkIG9uIGVsZW1l
bnRzIHdvbid0IHNldCBmb2N1cy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK3Jl
Y2VpdmVkIGFjY2Vzc2libGVmb2N1cyBldmVudAorUEFTUyBsaW5rID09PSBkb2N1bWVudC5hY3Rp
dmVFbGVtZW50IGlzIGZhbHNlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxh
dG9yL2FjY2Vzc2liaWxpdHktZm9jdXMtZG8tbm90LXNldC1mb2N1cy5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5
LWZvY3VzLWRvLW5vdC1zZXQtZm9jdXMuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS1mb2N1cy1kby1ub3Qt
c2V0LWZvY3VzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHkgaWQ9ImJvZHkiPgorCis8YSBpZD0ibGluayIgb25hY2Nlc3NpYmxlZm9jdXM9
ImZvY3VzRXZlbnRDYWxsYmFjaygpIiBocmVmPSIjIiB0YWJJbmRleD0iMCI+Zm9jdXNhYmxlPC9h
PgorCis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
Cis8c2NyaXB0PgorCisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBhY2Nlc3NpYmls
aXR5RWxlbWVudERpZEJlY29tZUZvY3VzZWQgb24gZWxlbWVudHMgd29uJ3Qgc2V0IGZvY3VzLiIp
OworCisgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGluayIpOworCisg
ICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgIAlqc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKKyAgICAKKyAgICAgICAgdmFyIGxpbmtBWCA9IGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgibGluayIpOworICAgICAgICBsaW5rQVguYXNz
aXN0aXZlVGVjaG5vbG9neVNpbXVsYXRlZEZvY3VzKCk7CisgICAgfQorCisgICAgLy8gQWxzbyBt
YWtlIHN1cmUgd2UgZGlzcGF0Y2ggdGhlIGFjY2Vzc2libGVmb2N1cyBldmVudC4KKyAgICBmdW5j
dGlvbiBmb2N1c0V2ZW50Q2FsbGJhY2soKSB7CisgICAgICAgIGRlYnVnKCJyZWNlaXZlZCBhY2Nl
c3NpYmxlZm9jdXMgZXZlbnQiKTsKKyAgICAgICAgc2hvdWxkQmVGYWxzZSgibGluayA9PT0gZG9j
dW1lbnQuYWN0aXZlRWxlbWVudCIpOworICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9Cisg
ICAgCis8L3NjcmlwdD4KKworPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2RvbS1mb2N1cy1maXJlcy1vbi1jb3JyZWN0LWVsZW1l
bnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
aW9zLXNpbXVsYXRvci9kb20tZm9jdXMtZmlyZXMtb24tY29ycmVjdC1lbGVtZW50LWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMjMzMTkwKQorKysgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mt
c2ltdWxhdG9yL2RvbS1mb2N1cy1maXJlcy1vbi1jb3JyZWN0LWVsZW1lbnQtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKQEAgLTEsMTYgKzAsMCBAQAotbGluazEKLWhlYWRpbmcxCi0KLVRoaXMg
dGVzdHMgdGhhdCBhY2Nlc3NpYmlsaXR5RWxlbWVudERpZEJlY29tZUZvY3VzZWQgd2lsbCBiZSBw
cm9wYWdhdGVkIHRvIHRoZSBjb3JyZWN0IHBhcmVudCBhbmQgY2F1c2UgRE9NIGZvY3VzIHRvIGZp
cmUgb24gdGhlIGNvcnJlY3QgZWxlbWVudHMuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
LQotCi1QQVNTIHRleHRJbnNpZGVMaW5rLmRlc2NyaXB0aW9uIGlzICdBWExhYmVsOiBsaW5rMScK
LVBBU1MgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuY2hpbGRBdEluZGV4
KDApLmlzRXF1YWwodGV4dEluc2lkZUxpbmspIGlzIHRydWUKLVBBU1MgdGV4dEluc2lkZUhlYWRp
bmcuZGVzY3JpcHRpb24gaXMgJ0FYTGFiZWw6IGhlYWRpbmcxJwotUEFTUyBhY2Nlc3NpYmlsaXR5
Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5jaGlsZEF0SW5kZXgoMCkuaXNFcXVhbCh0ZXh0SW5z
aWRlSGVhZGluZykgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1U
RVNUIENPTVBMRVRFCi0KSW5kZXg6IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVs
YXRvci9kb20tZm9jdXMtZmlyZXMtb24tY29ycmVjdC1lbGVtZW50Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2RvbS1mb2N1cy1maXJl
cy1vbi1jb3JyZWN0LWVsZW1lbnQuaHRtbAkocmV2aXNpb24gMjMzMTkwKQorKysgTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2RvbS1mb2N1cy1maXJlcy1vbi1jb3JyZWN0
LWVsZW1lbnQuaHRtbAkobm9uZXhpc3RlbnQpCkBAIC0xLDUyICswLDAgQEAKLTwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVh
ZD4KLTxib2R5IGlkPSJib2R5Ij4KLQotCi08YSBpZD0ibGluazEiIGhyZWY9IiMiPmxpbmsxPC9h
PgotCi08aDEgaWQ9ImhlYWRpbmcxIiB0YWJpbmRleD0wPmhlYWRpbmcxPC9oMT4KLQotPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLQotPHNjcmlwdD4K
LQotICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgYWNjZXNzaWJpbGl0eUVsZW1lbnRE
aWRCZWNvbWVGb2N1c2VkIHdpbGwgYmUgcHJvcGFnYXRlZCB0byB0aGUgY29ycmVjdCBwYXJlbnQg
YW5kIGNhdXNlIERPTSBmb2N1cyB0byBmaXJlIG9uIHRoZSBjb3JyZWN0IGVsZW1lbnRzLiIpOwot
Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0KLSAgICAgICAg
dmFyIGJvZHkgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5yb290RWxlbWVudDsKLQotICAgICAg
ICAvLyBHZXQgYWNjZXNzIHRvIHRoZSB0ZXh0IGluc2lkZSB0aGUgbGluay4KLSAgICAgICAgdmFy
IHRleHRJbnNpZGVMaW5rID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1l
bnRCeUlkKCJsaW5rMSIpLmNoaWxkQXRJbmRleCgwKTsKLSAgICAgICAgc2hvdWxkQmUoInRleHRJ
bnNpZGVMaW5rLmRlc2NyaXB0aW9uIiwgIidBWExhYmVsOiBsaW5rMSciKTsKLQotICAgICAgICAv
LyBTaW11bGF0ZSBWb2ljZU92ZXIgZm9jdXMgb250byB0aGUgZWxlbWVudC4KLSAgICAgICAgdGV4
dEluc2lkZUxpbmsuYXNzaXN0aXZlVGVjaG5vbG9neVNpbXVsYXRlZEZvY3VzKCk7Ci0KLSAgICAg
ICAgLy8gVGhlIG5ldyBmb2N1c2VkIGVsZW1lbnQgc2hvdWxkIG5vdyBiZSB0aGUgbGluayBpdHNl
bGYuCi0gICAgICAgIHNob3VsZEJlVHJ1ZSgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNl
ZEVsZW1lbnQuY2hpbGRBdEluZGV4KDApLmlzRXF1YWwodGV4dEluc2lkZUxpbmspIik7Ci0KLSAg
ICAgICAgLy8gUmVwZWF0IGZvciB0ZXh0IGluc2lkZSBsaW5rIGluc2lkZSBoZWFkaW5nLgotCi0g
ICAgICAgIC8vIEdldCBhY2Nlc3MgdG8gdGhlIHRleHQgaW5zaWRlIHRoZSBsaW5rLgotICAgICAg
ICB2YXIgdGV4dEluc2lkZUhlYWRpbmcgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3Np
YmxlRWxlbWVudEJ5SWQoImhlYWRpbmcxIikuY2hpbGRBdEluZGV4KDApOwotICAgICAgICBzaG91
bGRCZSgidGV4dEluc2lkZUhlYWRpbmcuZGVzY3JpcHRpb24iLCAiJ0FYTGFiZWw6IGhlYWRpbmcx
JyIpOwotCi0gICAgICAgIC8vIFNpbXVsYXRlIFZvaWNlT3ZlciBmb2N1cyBvbnRvIHRoZSBlbGVt
ZW50LgotICAgICAgICB0ZXh0SW5zaWRlSGVhZGluZy5hc3Npc3RpdmVUZWNobm9sb2d5U2ltdWxh
dGVkRm9jdXMoKTsKLQotICAgICAgICAvLyBUaGUgbmV3IGZvY3VzZWQgZWxlbWVudCBzaG91bGQg
bm93IGJlIHRoZSBsaW5rIGl0c2VsZi4KLSAgICAgICAgc2hvdWxkQmVUcnVlKCJhY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudC5jaGlsZEF0SW5kZXgoMCkuaXNFcXVhbCh0ZXh0
SW5zaWRlSGVhZGluZykiKTsKLSAgICB9Ci0KLTwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>