<?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>205486</bug_id>
          
          <creation_ts>2019-12-19 20:37:14 -0800</creation_ts>
          <short_desc>ComplexTextController::offsetForPosition returns a wrong offset for a glyph boundary in a RTL text</short_desc>
          <delta_ts>2020-01-07 18:05:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Text</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>annulen</cc>
    
    <cc>cgarcia</cc>
    
    <cc>darin</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1600617</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-19 20:37:14 -0800</bug_when>
    <thetext>[Win] imported/blink/editing/selection/offset-from-point-complex-scripts.html is failing since Bug 204884

ComplexTextController::offsetForPosition returns a incorrect offset for RTL text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601206</commentid>
    <comment_count>1</comment_count>
      <attachid>386327</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-22 23:38:38 -0800</bug_when>
    <thetext>Created attachment 386327
offset-from-point-complex-scripts-actual.txt of GTK port

GTK port is also failing since adopting ComplexTextController.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601208</commentid>
    <comment_count>2</comment_count>
      <attachid>386328</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-23 00:03:24 -0800</bug_when>
    <thetext>Created attachment 386328
Add a new test case with Ahem</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601211</commentid>
    <comment_count>3</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-23 01:10:31 -0800</bug_when>
    <thetext>This issue can be reproduced for Mac port.

Expected: 6 5 4 3 2 1 0
Actual: 6 5 6 5 4 5 4 3 4 3 2 3 2 1 2 1 0

Chrome for Mac looks working fine.

This issue can be reproduced by two conditions:

* Glyphs have integral width
* using ComplexTextController</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601212</commentid>
    <comment_count>4</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-23 01:12:49 -0800</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #3)
&gt; This issue can be reproduced by two conditions:
&gt; 
&gt; * Glyphs have integral width
&gt; * using ComplexTextController

And,

* RTL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601213</commentid>
    <comment_count>5</comment_count>
      <attachid>386331</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-23 01:14:26 -0800</bug_when>
    <thetext>Created attachment 386331
rtl.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601214</commentid>
    <comment_count>6</comment_count>
      <attachid>386332</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-23 01:18:25 -0800</bug_when>
    <thetext>Created attachment 386332
screenshot of Chrome for Mac with Ahem font</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601216</commentid>
    <comment_count>7</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-23 01:54:49 -0800</bug_when>
    <thetext>ComplexTextController::offsetForPosition has the following code:

&gt; unsigned hitIndex = hitGlyphStart + (hitGlyphEnd - hitGlyphStart) * (m_run.ltr() ? x / adjustedAdvance : 1 - x / adjustedAdvance);

If m_run.ltr() is true and x == 0, hitIndex would become hitGlyphEnd.
This is not expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601224</commentid>
    <comment_count>8</comment_count>
      <attachid>386334</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-23 03:15:32 -0800</bug_when>
    <thetext>Created attachment 386334
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601225</commentid>
    <comment_count>9</comment_count>
      <attachid>386335</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-23 03:17:56 -0800</bug_when>
    <thetext>Created attachment 386335
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601230</commentid>
    <comment_count>10</comment_count>
      <attachid>386338</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-23 03:54:06 -0800</bug_when>
    <thetext>Created attachment 386338
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601231</commentid>
    <comment_count>11</comment_count>
      <attachid>386339</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-23 03:58:32 -0800</bug_when>
    <thetext>Created attachment 386339
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601357</commentid>
    <comment_count>12</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-23 19:44:59 -0800</bug_when>
    <thetext>fast/text/ellipsis-text-rtl.html failed on Mac EWS.
This is a edge case.

In RTL text, the char offset of *previous* glyph needs to be returned for glyph boundary.

For example,

characters: [A] [B]
LTR glyphs: (A) (B)
RTL glyphs: (B) (A)

Assuming glyph widths are 20px,
and argument &apos;h&apos; of offsetForPosition is 20px, which is the position between (A) and (B).

In LTR, glyph (B) is hit, and offset of [B] should be returned.
In RTL, glyph (B) is hit, and offset of [B] should be returned.

In my patch, in RTL, glyph (A) is hit, and offset of [A] is returned.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601360</commentid>
    <comment_count>13</comment_count>
      <attachid>386371</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-23 20:46:16 -0800</bug_when>
    <thetext>Created attachment 386371
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601361</commentid>
    <comment_count>14</comment_count>
      <attachid>386372</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-23 20:49:35 -0800</bug_when>
    <thetext>Created attachment 386372
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601389</commentid>
    <comment_count>15</comment_count>
      <attachid>386385</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-24 03:25:49 -0800</bug_when>
    <thetext>Created attachment 386385
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601553</commentid>
    <comment_count>16</comment_count>
      <attachid>386385</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-12-26 17:53:50 -0800</bug_when>
    <thetext>Comment on attachment 386385
Patch

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

&gt; Source/WebCore/platform/graphics/ComplexTextController.cpp:227
&gt; +                        hitIndex = hitGlyphEnd - (hitGlyphEnd - hitGlyphStart) * (x / adjustedAdvance);

Is the rounding here correct? This truncates toward towards the end. Is that what’s intended?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601581</commentid>
    <comment_count>17</comment_count>
      <attachid>386385</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-27 00:28:36 -0800</bug_when>
    <thetext>Comment on attachment 386385
Patch

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

Thank you for reviewing my patch.

&gt;&gt; Source/WebCore/platform/graphics/ComplexTextController.cpp:227
&gt;&gt; +                        hitIndex = hitGlyphEnd - (hitGlyphEnd - hitGlyphStart) * (x / adjustedAdvance);
&gt; 
&gt; Is the rounding here correct? This truncates toward towards the end. Is that what’s intended?

In my understanding, Neither rounding nor truncating toward the end happen in this expression.
Only truncating toward the start can happen by assigning a float value to hitIndex. It is expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602989</commentid>
    <comment_count>18</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-01-06 03:43:26 -0800</bug_when>
    <thetext>Myles, do you have a chance to review this patch? Should I look for other reviewers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603439</commentid>
    <comment_count>19</comment_count>
      <attachid>386385</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-01-06 21:04:31 -0800</bug_when>
    <thetext>Comment on attachment 386385
Patch

While this isn&apos;t my usual reviewing domain, the change and your explanation are quite clear, a test is fixed and another added, and EWS is happy, so that makes me feel pretty good about this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603453</commentid>
    <comment_count>20</comment_count>
      <attachid>386935</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-01-06 21:58:19 -0800</bug_when>
    <thetext>Created attachment 386935
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603458</commentid>
    <comment_count>21</comment_count>
      <attachid>386935</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-01-06 23:50:58 -0800</bug_when>
    <thetext>Comment on attachment 386935
Patch for landing

Clearing flags on attachment: 386935

Committed r254114: &lt;https://trac.webkit.org/changeset/254114&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603459</commentid>
    <comment_count>22</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-01-06 23:51:03 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603460</commentid>
    <comment_count>23</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-06 23:52:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/58366513&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1603901</commentid>
    <comment_count>24</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-01-07 18:05:20 -0800</bug_when>
    <thetext>Filed: Bug 205898 – [GTK] fast/text/atsui-rtl-override-selection.html is failing since r254114</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>386327</attachid>
            <date>2019-12-22 23:38:38 -0800</date>
            <delta_ts>2019-12-23 03:17:56 -0800</delta_ts>
            <desc>offset-from-point-complex-scripts-actual.txt of GTK port</desc>
            <filename>offset-from-point-complex-scripts-actual.txt</filename>
            <type>text/plain</type>
            <size>20</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">MCA1IDAgNSA0IDUgNCAzIDIgNgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386328</attachid>
            <date>2019-12-23 00:03:24 -0800</date>
            <delta_ts>2019-12-23 03:15:15 -0800</delta_ts>
            <desc>Add a new test case with Ahem</desc>
            <filename>a.diff</filename>
            <type>text/plain</type>
            <size>1715</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9t
UG9pbnQvcnRsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L0Nh
cmV0UmFuZ2VGcm9tUG9pbnQvcnRsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMC4uN2U1MjYyOWFhYTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3J0bC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSBAQAorNiA1IDQgMyAyIDEgMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9ydGwuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9tUG9pbnQvcnRsLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjkzMTVlZmRiYjEyCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2lu
dC9ydGwuaHRtbApAQCAtMCwwICsxLDQyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxoZWFkPgorICA8
bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgIDxzdHlsZT4KKyAgICBwIHsKKwlmb250LWZhbWlseTog
IkFoZW0iOworCWRpcmVjdGlvbjogcnRsOworCXVuaWNvZGUtYmlkaTogYmlkaS1vdmVycmlkZTsK
KyAgICB9CisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PkFCQ0RFRjwvcD4KKzwvZGl2PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgordGVzdE9m
ZnNldEZyb21Qb2ludChjb250YWluZXIuZmlyc3RFbGVtZW50Q2hpbGQpOworCitmdW5jdGlvbiB0
ZXN0T2Zmc2V0RnJvbVBvaW50KGVsZW1lbnQpIHsKKyAgICB2YXIgeSA9IGVsZW1lbnQub2Zmc2V0
VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOworICAgIHZhciB4bWluID0gZWxlbWVudC5v
ZmZzZXRMZWZ0OworICAgIHZhciB4bWF4ID0geG1pbiArIGVsZW1lbnQub2Zmc2V0V2lkdGg7Cisg
ICAgdmFyIGxhc3RDaGFyYWN0ZXJPZmZzZXQgPSBudWxsOworICAgIHZhciByZXN1bHRzID0gW107
CisgICAgZm9yICh2YXIgeCA9IHhtaW4gLSAxOyB4IDw9IHhtYXggKyAxOyArK3gpIHsKKyAgICAg
ICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoeCwgeSk7CisgICAg
ICAgIHZhciBjaGFyYWN0ZXJPZmZzZXQgPSByZXN1bHQgPyByZXN1bHQuc3RhcnRPZmZzZXQgOiBu
dWxsOworICAgICAgICBpZiAoY2hhcmFjdGVyT2Zmc2V0ID09PSBsYXN0Q2hhcmFjdGVyT2Zmc2V0
KQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIHJlc3VsdHMucHVzaChjaGFyYWN0ZXJP
ZmZzZXQpOworICAgICAgICBsYXN0Q2hhcmFjdGVyT2Zmc2V0ID0gY2hhcmFjdGVyT2Zmc2V0Owor
ICAgIH0KKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAg
ZGl2LmlubmVyVGV4dCA9IHJlc3VsdHMuam9pbigiICIpOworICAgIGxvZy5hcHBlbmRDaGlsZChk
aXYpOworfQorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICBjb250YWluZXIuc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK30KKzwvc2Ny
aXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>386331</attachid>
            <date>2019-12-23 01:14:26 -0800</date>
            <delta_ts>2019-12-23 03:17:56 -0800</delta_ts>
            <desc>rtl.html</desc>
            <filename>rtl.html</filename>
            <type>text/html</type>
            <size>1106</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxoZWFkPgogIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KICA8c3R5bGU+
CiAgICAgIHAgewogICAgICAgICAgZm9udC1mYW1pbHk6ICJBaGVtIjsKICAgICAgICAgIGRpcmVj
dGlvbjogcnRsOwogICAgICAgICAgdW5pY29kZS1iaWRpOiBiaWRpLW92ZXJyaWRlOwogICAgICB9
CiAgPC9zdHlsZT4KPC9oZWFkPgo8ZGl2IGlkPSJjb250YWluZXIiPgogICAgPHA+QUJDREVGPC9w
Pgo8L2Rpdj4KPGRpdiBpZD1sb2c+PC9kaXY+CjxzY3JpcHQ+CnRlc3RPZmZzZXRGcm9tUG9pbnQo
Y29udGFpbmVyLmZpcnN0RWxlbWVudENoaWxkKTsKCmZ1bmN0aW9uIHRlc3RPZmZzZXRGcm9tUG9p
bnQoZWxlbWVudCkgewogICAgdmFyIHkgPSBlbGVtZW50Lm9mZnNldFRvcCArIGVsZW1lbnQub2Zm
c2V0SGVpZ2h0IC8gMjsKICAgIHZhciB4bWluID0gZWxlbWVudC5vZmZzZXRMZWZ0OwogICAgdmFy
IHhtYXggPSB4bWluICsgZWxlbWVudC5vZmZzZXRXaWR0aDsKICAgIHZhciBsYXN0Q2hhcmFjdGVy
T2Zmc2V0ID0gbnVsbDsKICAgIHZhciByZXN1bHRzID0gW107CiAgICBmb3IgKHZhciB4ID0geG1p
biAtIDE7IHggPD0geG1heCArIDE7ICsreCkgewogICAgICAgIHZhciByZXN1bHQgPSBkb2N1bWVu
dC5jYXJldFJhbmdlRnJvbVBvaW50KHgsIHkpOwogICAgICAgIHZhciBjaGFyYWN0ZXJPZmZzZXQg
PSByZXN1bHQgPyByZXN1bHQuc3RhcnRPZmZzZXQgOiBudWxsOwogICAgICAgIGlmIChjaGFyYWN0
ZXJPZmZzZXQgPT09IGxhc3RDaGFyYWN0ZXJPZmZzZXQpCiAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgIHJlc3VsdHMucHVzaChjaGFyYWN0ZXJPZmZzZXQpOwogICAgICAgIGxhc3RDaGFyYWN0
ZXJPZmZzZXQgPSBjaGFyYWN0ZXJPZmZzZXQ7CiAgICB9CiAgICB2YXIgZGl2ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICBkaXYuaW5uZXJUZXh0ID0gcmVzdWx0cy5qb2luKCIg
Iik7CiAgICBsb2cuYXBwZW5kQ2hpbGQoZGl2KTsKfQoKaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
CiAgICBjb250YWluZXIuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOwp9Cjwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>386332</attachid>
            <date>2019-12-23 01:18:25 -0800</date>
            <delta_ts>2019-12-23 03:17:56 -0800</delta_ts>
            <desc>screenshot of Chrome for Mac with Ahem font</desc>
            <filename>Screen Shot 2019-12-23 at 6.17.20 PM.png</filename>
            <type>image/png</type>
            <size>79155</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAAA34AAAHnCAYAAADn34+2AAAAAXNSR0IArs4c6QAAAGJlWElmTU0A
KgAAAAgAAYdpAAQAAAABAAAAGgAAAAAABJKGAAcAAAASAAAAUKABAAMAAAABAAEAAKACAAQAAAAB
AAADfqADAAQAAAABAAAB5wAAAABBU0NJSQAAAFNjcmVlbnNob3S4dcDgAAAB1mlUWHRYTUw6Y29t
LmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0
az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMu
b3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJk
ZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4
aWYvMS4wLyI+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj44OTQ8L2V4aWY6UGl4ZWxY
RGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpVc2VyQ29tbWVudD5TY3JlZW5zaG90PC9leGlmOlVz
ZXJDb21tZW50PgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+NDg3PC9leGlmOlBpeGVs
WURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94Onht
cG1ldGE+CsTgPksAAEAASURBVHgB7J0JvKdT/ccPw9hlH2VpRqSFFCI7o1DZShvSQtpkjWQLaUXS
omRLIgpFO5UlW8vfUiFLZM2+M5Zh5n/e53ffv3vuM/d3l9/c2fh+X/e555zv+S7nfJ/tfJ5znueX
UlBEICIQEYgIRAQiAhGBiEBEICIQEYgIRAQiAhGBiEBEICIQEYgIRAQiAhGBiEBEICIQEYgIRAQi
AhGBiEBEICIQEYgIRAQiAhGBiEBEICIQEYgIRAQiAhGBiEBEICIQEYgIRAQiAhGBiEBEICIQEYgI
RAQiAhGBiEBEICIQEYgIjHgERo24xRe/wdl6ukha52HPXm3UTc4baR1nZOBD8C2bwtOuPGW1RxkZ
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
9jf+ZMzaPP4o1/Fnn0Cm5G0X9zDsUoet2o/8zC5EmaWd6CBPig4b431swte/eVIIPjag2pc8x9aU
yctHHpKPX4iyPukvftzsP366Jo10a4AGYsOO2yFSG0pnqIesFzzVgavbYvBqHrL6KsbyP2xjizps
Uzat/VtPHRs6pBAp9TXP/uCvlqOsrZzt4x/f1JOyQcjWOrav9gUPfzWPMvzafy72sUUZGfTwQ77e
crHNt83U99f/8B/xj+Ov91yP8y+uP1wr4/rbe05wP6nvZZSJUdx/eu+zcf/tHYNwfDguifFH6zyK
8VcrDi4H5xhhPNrf+BP+YNdfx7LN44s4Q97HSZF10y56EPXwIHjiD/eXcpSRlWyj/rVPfW2HfC1T
+0IHfzVPH9RB6jf9t2q7+K/hLlSLCvp2iNRAUWljkbHBBtg6B5ugbW8gBIB6CF10KI/OG2jZemxK
9oM68pbRRW7VvL0mb+vlbc28LZY3bOIT0n+zfdhhp0AcrCJ3dPVhnrTZf+wh1+y/fRqqf2yH/4h/
HH+tc8lzLp8W5TzmHIvzL64/cf3te1+K+0/cf2P8EeOvl9r4k7EA21Cvf3dn2WvydmHebszb1XlT
lzEXecbf4ATHGjlbSDlS4ixRZoOMvwDPunr8D3aBL76h/ZA24KOvf1Nkhk0oTw2hbwNsKPbkk9pw
eZTJQwQEPToFkafeABIYynYaPrqkBIGUrfZNHj1lN8z58csss8xayy233JxjxoxZavTo0YtkXpsm
T56cZpvNJrXZSb6pNc2y/G7TTvbkm2q/WZbfbdrJnnxT7TfL8rtNO9mTb6r9Zll+t2kne/JNtd8s
y+827WRPvqn2m2X53aad7Mk31X6zLL/btJM9+abab5bld5t2siffVPvNsvxu00725Jtqv1mW323a
yZ58U+03y/K7TTvZk2+q/WZZfrdpJ3vyTbXfLMvvNu1kT76p9ptl+d2mnezJN9V+syy/27STPfmm
2m+W5XebdrIn31T7zbL8btNO9uSbar9Zlt9t2smefFPtN8vyu0072ZNvqv1mWX63aSd78k213yzL
7zbtZE++qfabZfndpp3syTfVfrMsv9u0kz35ptpvluV3mz777LMP33///Xffcsstz991112XZzsX
9GziDMCBE0C4oQwghMiDUcQupGKPmoeceqQSMuCb2ob12IFft0M7NQjMIsMjEefwtFrSNo6G1cCN
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
BzKArVL8n6YRYAnnwou0lpbefcet6dGHH8y4dnJaZNExadExfCSnLy288GIjtuzzQx/6UGJWSmqW
5U9NOnbs2HTXXXe1Zy/XXnvtAqamxuZwdAGXAIqtttoqvfe9701XXXVV+vjHP15MLLfccmnXXXdN
gKV3vetd6YILLkhf+MIX2uYBgZtssklaZ511yrbBBhu068wccMAB6be//a3Fkm6zzTbpscceKza3
22679Ic//CF94hOfKHUA0SOPPDKdfPLJpf6d73xnWmqppdJ6663Xx8ZQC8191iwP1c6Mlhsu8APY
/eY3v0l77bXXFE2HR93MAv6maGAwIgIRgYhARCAi8OKLAPiiiT/AGuASN7EGva/xB3xwizhHrIKM
+IU6CDkxTGH0/KMePepZMofN2h868kiRJ0V+QNLxgEK50oYqR9mO2DnqyNuAWgc/Ilf4diJnix3q
4UM2Wh194U8Z6gwg/qiDByFDXS0Pf8jETza0Pbm0kLTOYy2ziuwglvnJhjbROu3ALHbbtamPbC+7
T46fbCjtK7Z6qvq0L/N66opsH+1pV1hizCuy8cllpm/ixNas2Fxzz5MWXGjhNMcoz4nKf25zS6fi
DZLdcMMN069//esy28WMG8Ts1pgxY8qs1E477TRFmaWRZ5xxRgE+f/zjH9OvfvWrtPXWW7c9vf3t
by82mS3bZ5998i4hePmLq5ttVoCMgoAmZs0gZh5XXHHF9O9//7uUnY3785//XGbjnInbc889E/Yl
gJTAaf7550/MYjILx4wZYA75TvTf//43HX300WnSpNYp8s9//jO94hXEPKX1118/nXfeeemBBx4o
5R//+McF4PmFR0Dxk0/m46YDbbTRRullL3tZ+sUvftFHYs4M5u+44442j/zo0aNLeYUVVijp7373
uxKziRMnJuJ/0UUXteWbGWYI6cOll16aTj/99PaM3GD7EDsf/vCHS/sAtQAi9xNg87vf/W6J4ymn
nJJsFzrMTp522mnp/PPPTzvvvDOsQshvscUW5VjgmFhjjTUSM4Tsi7PPPrss30WQ/u+yyy7F/r77
7puWX375oj927NjEsQj4f/e7351WX331xHHGTykgQ9w5Jo1/Uerw75lnning7iMf+Ugf8Ecf4QH8
kAmKCEQEIgIRgYhARGCaR4BBoNiGwSubGIOUMjLiD/OZ1cYjyImHtEV9E/+IVZBFDltsyEHY0Tcy
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
ztX4f/+X//Jf/q//4B/8g/+lX/ccv8N7qJcWgUVgEVgEFoFFYBFYBBaBReAvEYHqg7//9//+v/oX
/+Jf/JsDg//zaOoLNYXaoz80qa5Qf0TVH2RqlWoRPR1Kh6/+wVfzsI0nj8jYi/NY/7Chbz5ymKs+
WXEP0anTnyToI3FEFVGCI71WAnokeHHybUzPp1jkxhaSnC55E6UjM6avkcvRr6Me7EnGUb76/3i0
v/uv//W//m/+2T/7Z7/+p//0n/793/t7f+9Pf/M3f/NfM+7Drp+/EkpmXM8+IpvyybOZYzwqVrw+
Xf3m95FdFIb1yfVkUz759GFJhxb/ay+HhT5s6sMsXZhNebqJ+eTT5zNjTz672eeTbPPv+fO4t9ob
Uz759O2luecmn93s80m2+2/33+Peam9M+eTTt5fmnpt8drPPJ9nuv91/j3urvTHlk0/fXpp7bvLZ
zT6fZH8p++/f/tt/+x//0T/6R3/7D//hP/y///k//+d+xfN/PNq/OppiD7lEauqRapSDPeuYahly
PLvqlOvyeQgOUripY8iKe7CnbfZi5EOWT3Z6NtVDbI2rt/CIPhJHS3fKCSYZc9K3COOC6+k0SfWo
voR0FW79Kigb+nTx+frdVjz7dAf7d/76aHzqK/rYaPKQ5WuMZ4/0/93R/tuj/Q9H+++P9jdHY2ON
yLrEaG7p5rrF7UOmn2TMt7447MOBPb2Y5o1/ln/qPpdfjqi89Zv/wn3x3/23z9/90N/zZ8/fff/s
+3feMdwh7InuP1O394/7+/Px/rf3r26f93vvz7h/+hzKq0ft23n/y+7Z+eePufwfR/PrnX97NMXf
fz5aBVo9mThiKMr0cpD1jZyxhviZkzFbdukO9tQn657SGsRj277TkyE2/DTU+Bo9Xz9d9qdDxvqS
MsA3GZNGxjmTOSwQmUYfFcvYYULPHp8vmw6ayR/i01YxGLGrOMQjRZ2cc4zX5Cpmefk3x3zzz0/P
j89jfjLExnqaD/vWd7CnP1nEHpXDB1os8vzj4cPW3MQN//IeonNTFCOb7I2LOXn+5G2og70Ru2jm
x2/+C5nF/9qP0Jh7ePff/bCFxXzmJr/P354/e/7u+2ffv/d72PVmvb9XjPf+cb///VHvXz7H+S7s
M3X+KWC6h7NB3TGNPR/svC/JK6rIwqMYxuzziS+OcTYHe/IVctk+9vT85cNrbGZMRaD55VtR1nja
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
3v9m4eIT6vOZ+3a+8/AafVQMRQ5/e704ePbJipWMr1h6PunZk9U/49lrFVeKuWT1h+iMqSebeYr9
LD/ZnCNf9mQafTL5K/KSHaKTZhwCeqRPdwre+lEB85Z+yk2QfZPQx9OhmbgFzRzZWyQqXpM15lds
clSffTaBdVnd50Ne/nzZZO+DQuJNGR/0LP9cGxt+bZzGZKjNmj55eemRfNmQzXXxaXywZ77szYVf
cYybz8Ge/+WBLD1dPvTkxsXTZ5tdc23uzYc8m+mz+a/P5IBn8X/ZI+2P3X/3Z8b+2Odvz589f/f9
s+/f1/cfZ2N3i71/QOO619W3X8Ko96vx7+n+1fvNZ2jO5qc13/TdO1uX3jpqB3v61WfX+tsjc/3F
zKaYjcWa+ZsjGdvszKHxwZ5ytUQ5J97p82mdxaZH6fVIPPn06cqZ/FB9Uv+Q0WvstYjsXVL4fA01
KT4VVCUqVvImlE96C2STvLGYxcKrdgOZbRRAxXgcl589Xps5+jDEJM9f7vKTma9q/1E/58T+cXyI
TiqePOUka1Pgxc4/vn7mP8xO2/LpUfH04Zk8G+Pyi13+5DM/PT893Fr/wW7+AwPYwCts9fDUL/6v
cQmjA5rdfy/7Y5+/PX/2/HUiXOQs3ffPhYWzYd+/1ztk7x9/Pvev7kjdt+f5h5/Pf3crnz/7x/sn
eTYHe967un81ru9ZMubzmN+8yDXUWM/X/dtf9GwuybMXD7UeYzb6dPF8qkvwycUu/sGe/nqyvu3D
55tOn0xOZBx/Cj73owl+zuZRB5AmX7ImV89n2hmbFHtNXmP2/du75HNOZCig8AApjxzIGC+mnp8+
u4M9iS+dxlYrP115msPs42fccpZHPLHZ6vvAy8WeTuOj9eus7CfxYaeP8OUvB1l5mgf78heDXXOb
+a07f34R+3ynTP7Hzz//zX9hDK/F/75P7KXdf/v87fnz6fm/5+++f3p/em9E+/7d+8cf5f6l+HG2
f839z55nP88/ez6ia/3Jydw/5aPTyMrfvbRnxxixmfHI6LQZjw1fDY/yTWads9ijbz6P+bPLtzmL
y5bvvE+To+bQ+i7p/Q5VHnOZsfFfRAJ/DUmEAoW/ZOQtqkmRtyj9nGRx9GL58FFxs9UrjABYjMCg
y44/ubEYesTHWIxkxuTZm2f5Ay5bffnxGj9rbCxe/mTpwmXmIzNmh1oL/3R68no6/+Wj3Ad75mCT
v/Ug44l/82m9Yja/7Jvf5r8+m3CvX/x3/+3zt+fPnr/X+8V7o3fMvn+ud8a+f+2KvX/s/et+Nrg/
vXX/hBOa54d7qNa9C0/v/tX/S+9gT6rQMnAWef74IWOUP1vzQGT5Tnt6Or56Oj0SW/7mTCdGxId/
8dLx55P+YE+b8hsjdnLoa/yK93j/nHPLbq7vcH2fOrDet7wsJDI5iUpmIslbxCG6kYlbPBsUSMb4
4mWj0KJLHwCH6JSxM+/i0BfnMT+d/IE9bQ/xLZ5c4iL2xpGY/DQklvxsyJq3Pp6cX/NxcUTG5Zrx
8Nn0maQvjh7Jb70zP7ncrXP6sC32W/n585Vz80Pj/nlPLMkX/91/+/zt+bPn7/3951zc98++f/f+
cZ2L886w96/7/dMZgfTdb+0Z5I46758wRBNL+vaY8zcdO3Jxp5z+e/AvlrxzvmJGcrCTW6PLVu8+
PedFn0/xD9Fpo6/+wdMXyxi1puZAP+OcRu/94PA19LgovhbWQvSzcBC/SQVCNk1Yr9jSo3Lkm18L
ZTPnnS+92LNwI2NbbHOb+coFbHK2yWb+GTO7w/QkOnn5+YDlKGcx6PkV+xGzYkx7PAqvYoqD6mes
8qefMcpfPD29vvz8kk3fuaby1m/+C0N4Lf6fPv/2lD22++96/vf5+/SdsefP9Yx4Vvb8vZ+n8Oh5
gYszpPdO/b5/7njt+2ffP54H5PmYdzhj98+eJ31nzY86f8s3n1nzkN/eRdlco2u+5k1uDexRffdu
esWf2NPuGJ6xW688+aTjQ84PNRfj7MnF0Gb8GUt+Y9T88GIYZ1s+c6YLf3GfrZ998uZYTyd2+oN9
nxh/DbFvcvX844vXpPSKqsAzDpiDPSdL18LoWwi7bAORDiWXr5zTnk1y+fk/+rLhkw7f/Or54AN2
5j3Et3lkX07jqE396MuGfdjgizPzkbFBzTHbmQ+fvPz6md/40Wfml1eOzX/hFN6L/7EpDgqP9tnj
Xkq+++/Ca5+/PX/2/L2/4/b9s+/fx3fG3j+u9ypc/tzvX90rvR07C+bnH59d9wly9vNuaoz08WHI
H+nd4SvIkrOPT3eIznu2GPKh4rHh05iOv/GMRd5Yr8kvXr750OFnfjFb48He7ltzPvnVs4vXfxFV
DH2R8TAyuS6BkuFRiRtf0ktv8uQtls64ZsxfY6Plc7A338Aph3HreMzf+DEWsMlQudiKNX18/Zzd
wZ7UnMjZN8bX8hGreOzIjfta+2BPSs5mzqFf0SyGvjgz/+T5F499vq3Z+DH/IbqtZfPfMVv87Yw7
Hrv/9vnb8+f+znBWhkf8nr/7/tn37/XO2PvH/d2596/7ueDfzHUvdb9A8/xMBzPUmI2GPGPO3s5f
Nnh992F8vs/wZ6eht/KnZyMWOzL1Rz6zFmHTGJ+/uSVvLofolJEXm6wY+RSDDrHPJ1v9F1MF0xc7
vBiaSInwTcxk0ok9J5UdsPxXULYWhgDRXPSPi+JDHujlOERnvsf8AfaYn32x5MBr8hsj/dSJzSZZ
ucgiecKDjI6deeR/sKdNcxMPz1aBwU4Mfb7lKI4+ops586UvR/MoztTNHM82YnNjx7/5GqPNv/jv
/rueBT/3+bvOLVjs+fP6fbHnr11xUXtj3z/39/++f+9nh3tGdw3Pzd4/fv/3L+++xzOu57ve08/u
8fk3nvdfn30+ff5skh3sSXTdP/TxlNlPf/KZXx7PHZvyH+y59+b+I2OTzDzQzG8s9tSxT9bcWoNa
Bl+M6g+y6p904uA/V/8U/zD7MmqiX2Z9t+InmUkhfONnfHnY430wir+oeNkVi00AsLX4iNyvcUZ8
2OtRc8MXN1DLT55u2onBVsPLxW7GJJtraMxeK268nr8m/1zLMbzNO54dG3E1RCYOag14MjbNd+ac
PH/zei+/WJt/8d/9t8/fnj97/u7753ghvrwT9/17YbH3j/v9b+9fn79/2jEw+tz9szOGbfdP9vP9
4+4qjtb+m+PuK2RIX1x8d3K+Yud7sKddYz5s2bDVEBkdO7J5354x88/2MD19+GsKPb5ILDR7fnKz
EdcYNWc8e2OU/hp9wU+T+BbKr8k2IeN0ycTHT2CMW1w9v3zr6SrmyIyBkf5gTwpEAzpNjoieb37G
zTUA82nM9638dBH75ljM5mCM5LN+8uI3n2c+2bXe4hjPdZFrradYh+iWCx/+xQ1/4+aBT1+/+e/Y
wnHx3/23z58n4aI9f/b83ffP/R2x79/7Has7hJNi7x9v3//+Uu9f3Yefrd+e8Sx1/9Qjvb1Eh4w7
f+JPxcsPOs1elA/N8ZTTGZeLXTVLsubMlr6c3afJJhlr9H2rbzzziGGsofR6urnedOyQ8TeRguFb
yYQ01KTnJMmN0+nnxPHyk2t4C9XwQK6gEicQ2Ja3/hCdlF1jPftJxnIXj66Y5RenDz1w6YpVDHb0
NfJiHOyNyFCx9MVLxlfONlf5883+MDnnwa95kDVmhy9uusf+MV5rLm9fP29+yN0/L3y415Mt/hcu
u//2+dvzZ8/fff94K1wUFrPf9+/1voCQ9+jeP+73P1j8udy/7Pl5h2z8bP9b8+P90xhlz797Vz1Z
cvaND/YVP+fxGK/9Rx7+1STiZI8vr35ScvmjZI+2bOQh12tyaNU/ZK2rPvtDdfrMXGRfRI+T+SKn
YdTEmpS+SQcaGbtJxuWm92Gxf/Rn1wdxsCfxYzcBCCxyxaKxvk1TvnLOcfkf/cznWf5DfKPm3BzL
33rIycSZ9Dj3aS+mMR8tXpwonh5f/rnu4ryVPyz4bP5r/8Ei3Bb/3X/7/O35s+fvdQ70zjmOyPOd
o9/3z75/9/6x96/vuX86X9+6f7qjzvO3M6ieHp/N4/2NvLnlo+/ui6dXcM57Hz82zje68rCfjZ6/
xkb/GIeMHeKLyo+nf2v+7NLly2fyxl9NcwJf7Xw4tHC9WCbUQvEaIOKzmX7ZHGafUPZsFGZoxq+4
07cW+nKyn3w2xU2nR8kf7cTs//VnLs2//PzzmfNrbXptxs/uEN82Bp7dJGO2csWXX14bo/xTj9fY
xj/Ln81hdpLxJOPNv/jv/tvnr7Ngz5/rTNzzd98/+/7d+8fev+532+613hXaW/fPWdCwifig2Xf/
1Be/vucvnxk3G/2Mx5bMfTib9MbIuCam+w/do19FY7HS88W3/ik/xK90fKPm8dgXh7x7fD5f3duw
30NvTYLcRPtA5xiP0uktBLgBYF7sgAXw5GR0+R7sDYTi8kF8it0HQJZdfLHkj9KRlU8MLczEKRZ5
43gxNNTajOmj/MltIESWXfkb/xb5xUab/8Jh8d/91/O2z9/9Uufs2fPn48//PX+vc3ffP/v+gcC+
f//837/de/usfe7f8vx3l+7dJF68c9XdPpmx5p0+KfnMz0+c+f4vTvd/MZo/WzzCo/KXU8ziljO7
bPTJxNPkI382PsTfRnMR3xbhXgk/LqaJNmnxW5i86ckDGE/uQ2ALqIg84PBRlXj5y9EGYNcHQ8d3
5jeWv1xs2xyPsdjQ8WkOybI9VCcVhzwfCn589M3LeqesTdh82WkzljEq/zW6/6RvHZv//nkt/q/3
Gjx2/73GZJ+/6xzZ8+d+Tu/5u++fff/e7zJ7/7jOyL1/3e+ZFyLXz2f3T3eNL71/sXt8/8Dau5nu
vf3nzqvNZ5Yf6q7d/VhMNYGYbPr/N/NF5ZufNVt6suZi/OhziG56PKruys88pqx5zlhkM5c430wl
++YAh2MAmFhABEALkAfPNvDw5I1blEIOj9Kx9auWfZB0gfI9+fs2sYtvcxK79dDJyxaf7mBPm+bE
FzWva3TZWId42RYz/Mlbv37mmLblL1cxD5fb5pr56bX38s+4m3/x3/13PTeeq33+rnPLWTXPCdjs
+XNhA4vO5D1/oXHRvn/2/bv3j71/zfsnfr5TnRTzvdL98zpBXttOO/rH9888e+mdyWy8u/Ddv/XG
5HzElXfKjuFNl7z8YkZ0iEys2bKTB89WHvm16o/k5Wkd+uK3BrLiHuy3UQm+zfttL3GL3cSNW3Q6
vUUAQD/BOYa3D8yi+9DaGOLyL1b+h+hWUOLJEbvy61G+4qNn+cnyK4befJpLuev7QA+T2wfHJ794
PZ82Br51Hext/TN/vuFRjHIXjxxN/Mnyo8t381+fw+K/+2+fv9fnIjz2/Lmfm87MeY52hu75ez9D
vU/ggvb9c+HwuG9I2zv7/r3vnT1/78+OffHnfv5a33v733PSvXU+R4f49gyJ0xksXpQ8v1m89fx5
v3X3Y59cnO75+dGh5oPPt/zVBXSP+flFM8+Mkf7Z58/uu2kC9L3BxAqUAGhhgEDk7IwD+2Bv4AJJ
0RSxLyb7PpQJOlm52WSfrRgzFz47OlS8mZ/OOBI3u3o2+BmTHb9smschOtc/bemKUfw+EzoNPc6z
TZhv67msn+dnq8lT2/yLf3to99/1zO7zd50ie/7s+bvvn+tZcEai3un7/r3uEL079v5xv3faJ56b
9greuxVWWncvPV0Y7vv37ffvAdOJG0xRzx+erP0XtnANdz09nOOz7zPps9JXf8wYfW7TTi70GJNs
5kpPjvjJ35zI2JDzq5ZpbuVJf5h8P3XJ+f5I16TFMcHZit3ELQi1WHIgoHQTFHyAs0Vkk6cXD5HX
iiMunk05pj0dSscfX5w22qO8uPJrk5ojm+LK2RymfXHTNW/x6NjqUTnzYTvzk89WfrLik+Gj1p+s
2PT4zb/42wdo99/9/AmLff7u5599MtueP/d3yZ6/Fxb7/tn3b3cN75S9f0Dhviecn54RhP+j37/6
rPWdgdYUtd7sGqfv/m3cO5cN+/ARb2JGjsi07Bs/5n+0NUb8yo/nb79q8tfPubOrHexJxmz4o+Y+
7dL1PKTLNv0V4Tt+CvzR1GRNUguYxzwVnT6AFlofiNMnXTJj8ctHPsd4cVTwAXewNyo/XbHryx8+
rYMzWWM9mn7Nh87ays9uxiv/4/r5lZ8PKt81uo/LX9zW2Rwf80//zX+hsfjf92/P1O6/npSr3+fv
vkcgEh57/lz7Y8/fC4d9/9zvI56Nff++vv9cu+Q6P/b+caGx94/7u6V763v3D/ruKlCcfvjGCrbu
372r2Pf+wsOfPRJT7PLnk/0cl4NfxK9YbOfzny9b/Nz/+bSm8rP9TajkHx3cwlpEvcXJZ4zX2Omz
AZRFG6Ps8cn45EeefT2dD7y1Fbs8xuXnk5yf/MXWsy0vOzI++qi8cwPJn59+5hEnIkdk+NZfLmvI
Ppncb+WXi+69/GJpc178Nv8dE3gs/rv/9vk7HoSD9vy5zlbnghY5Q527zs49f/f9Y2/s+/fz95+9
f/xl3r/63I9H5KSvuf9y8GzxeTx/xX08f8lQ9+/4OYd5/8WLITYb/eP97xDd8hefDzv+nf/JDtEt
P3t2bJrDzD/XVuzs53oP9++nEnx/pNcRLA5NMC7J9bOFyI9XlVeskfFD+MYBxh4faPTzQwdWxMa4
fOTF0xen/Pr0bFE25Z9rYotmfnaoOMYzP92cO7785pofO9T4MX8x2DzLTz7nahzlW+zN/3z/wSuM
Fv/XWLSHYLT77zonOptggvb5u+NyIXL9bO/0bO35s+fPs/e/3dIe2fP3NRY9QzDa8/d+ztgn0Z6/
d1zCRN/e6dn6PZ+/zfet598799n+J3/8/LuHt/5iW7//hcO8f2cbRvp4c5HTGMXzmftvzus0fPkh
P+LPR95sy3GITnocJ/+uXsLfggINCIHcIvV9iIFE1gKza14TEC8H+ghP74PLr55N+ePZ0pM3B7qo
uepbQ/nZ2BwzPln58XzSx5eTvPmXm2xStjM/H/boW/KLhTb/4r/77/78ex72+TuPhtuPPX+uPbHn
7/39t++fff/u/eM6Ivf+dZ2P3Y2h8t7991vun2KW473zh979H3Xn1sd/Lr99XR53gWzruzN3X+/+
NH3MtTqqnHqNn1jdNSZP1nN1sCdNfwI2ZB9OTfjDA78EbHEB6QNqIXTJW2BABDRbc6QHMLkYfQAH
e8rYaeKxCeCDvenxfMtpLA4/8VHz0Gtsy19OY3xUvvLzM1c9ojdG5WeLZv7mUf9efnq2X5K/NW/+
6zNd/O2+3X/7/N3Pv86d+j1/Pn/+7/m77599/+79Y+9f9ztV9+7H++/X3D+L8SXvH7Zv4X9ecIbe
2P8LnM/n7n/s5J755ej+7w7d+nr+i6fnlx7f/A72rCXCovjkeFTPB19cug+l37rwM/EmbzFzbCFk
qAXr++Bb/ASKzLg+v2TWE083C7Rpe6hOKgeduekr0tKJl46++Ppi8mHfvPSoiyW+HMUnyw5fjvTF
fis/u2w2/+K/+2+fvz1/7uezM3XP3+u9Aot9/1xY9H6Fyb5/oXDR3j+uZ6T90d1q71/3uylMuv/+
FvdPO/Gj8DfXZ+e/+SP7vee/z5q8ddGRG/ds9H5NrtfChL642RgjY3xjssf82dBNO+MPpd+68Guy
AWJh6HF8Sa+fbLQeOLZaH9jBnkSG0tEXH2j4aTOBpMtGny7ZY/7Gh+mNxM5e7jm/5lJ+/pOKp3+W
n60YdGJkf7AnJf+a/Gyj4m3+xd++aG+0n+yT3X/7/NkPe/7s+dv7wrmA2hedF84KLcLzme8/tlHx
9v2z7x/7or3RfrJP9v1zf856Xnp+4OTZCq8/l+ev9em/9POHg+KMfYR/7/wJO70WdSbN/HI0zq6z
7Vn+YmdTTD0iz+YUjB/ZDtHHsz+q8AvYgOhDMo634PTstb5WDaj0h+pWmWcXYMZ988cO38bgz05O
LTs+z/LT+73ut/IfqlucmZ+9+GSP+Q/R0/zkrc98Wkf5i0eOrAm1jmf56Tf/688/zMJNH6aLP3Qu
PHb/Xc/OPn/XubTnz3Wed1bs+XudFZ2j+/65n5u9/yG07999/877pz3hmem50Xem7P0DOneCx5e8
f9UJzh8Ez2fPX/cZ/SP+/FD4X6Pr2fWtYfGmvs9NP/OLn305e1fkzwdlhzf/OSb7zcih9CMJEMgC
LRQAgXGw51j/CFi2ejq9Nn2LnV4fwGxRNvm+l3/6xz/GKO7Ma17lz55dMcpvQ8w1pOfTC4Mf+6lL
li/78rBjb4xPfrC3GJv/wn3x3/3XMzSfD8/MPn/3/7i058/97Ow87Qy1b8iS7/m77599/+79w3mw
96/7ueichAfq7Pwt7l9wf+/+Ta99Ln/6w+x2/+65TuaOQIY6/8vfWo0fbcQmY4OP8mn8m/U/uvBr
IYFRn1wPEGDQoUAjCzDyCZIPMD99ca0vO3zyZ/2hvn0Q5c+OTtzmQq5Fckx948f8zSV98YvVOsRi
k16eGZ+8WPjpx7b4m/+O08QifMJXjyaOi//uv/aHvbHP3+vzb88fu+J6Rua5Qdb5Ms+cyadvf+35
A7U9f+c+2vfPvn86Hzwb+/55fv+H0XxuYNX52pkLu357cOonvuQzTmdyNUc9OyRHVD55UOPH/MnL
O/vL8wf9NLHfCwENuAhA8fo+BB+MOdfzyZZdX8uS53OwJ2XbmD7gyejDQ/zH/PTlrT9Ep4ztY37z
Kkd5yJBYKDn+W/Lzmetv3uRiT0qm19Dmv2MBk6/9/Pks/tfet/93/11Y2Bf7/B0gDAoTvYb2/Llj
AZM9f85tcTtHjJwr7ZPeu/Uw2/N3z9/uX/v++WO+f3q+3zr/ujd3v+/5dz48e/6Ti1tzVpSn909x
2b91/nbGsClvfTr7D/+1+09Mc/rhFNA/PPFI2ME+ASDzoZgfMFH6PmgyYLNF6fsw+CZLn205ybMX
F4/o+3D7y0DFKn9jPvF8i1f+YrJ5Lz//7L42f3N4zF/MOe+31p/tt6x/80Pv08+fDDaL/7X/29+P
+wU+KP3u/+v8+9Lz5xHPzp8w3f23+69zv97e6H2xzx809vzZ8/fb7n97/l7PT+fJ17x/YNf5I8qz
+yd5sR/PL/5v4c8H0eP10z9+5mf3eP84RDf/1saumF+SXy5Uzmv0E35awM8mgAUkQALSvCZQxtmx
8UH1IRqjxn2I+mLQN9bzKZ4+3cGecYplTI+yb475zDHepkHpr9E1nnpzy6aerdwzf2vIXgz2Gh6x
b7z5T0hu2F6jT/EJz9mzXfx3/+3zdz879/y5TpDOiT1/9/2z79/7+7R35t4/rvvY3r+u89J+6N1B
8rg/Ok9nz+5z9y8656+++PMOLJb/WIrSX6P7naZ5dJ/X+8ya61v5s+/8by7ll6e54emLmby10v80
spDfAwEIzb4Pg3wCm02A+hCRMbvkZI3ZtFYfMLlGLh4eFVvvd4L7r+306cqXTw958ZvH4fI0P/9s
xDQuVjke8881ZV+MOT5C3WLjxWXHpvnh8938i3/759gWtz2+++/187/Pn91xUfulM2SOWSTH7/mz
56/9YI/s+8cTcWHRM7Lv333/dn7aG/YD2vfv2+/f7tvdmRt7phB5us+9f9jC/mvw97n0GZXvcZxc
/Gf5s6f/adRh/NMm8CTxPBQniEyBZs4+LDRtjekDdtrR9QHz0diR9Y8+i3WIbvopI+fD/jF/43q2
fI2bUwVnMem0Z/ltGDq2qDWRzXUVq81PH23+xd9+2P13YbDP3/1F1Plif+z5c/+vvXBB4bPn74XH
vn8uHPb9u/ePvX9d9ypPxM+4f37t/ds8nV+P73+y3n/61uLs1+gfz3+yZ58/OarH8xU3mrpkP623
iN8bASiQ9H3QPozHD8Lc2fShBfZ8cXdYt9aKJL7Zp2OriVlP55u/uSGa3yE+7djQ6/l9b/4jxA2D
LmZitn45IvzmX/x3/+3zt+fPnr/7/tn3794/rnNg3u+cjehL7n/suuPt/et10QSb39v9s3txn3dz
NPZ5++y/5vP32de+t/5oHx0hfz8UGL+fGb2eiQ+uD4BmHmh92PTJ8cnZG1tjD3v6fNj2omQjzl+9
9Ed3xmIb0beRypO/no6cT03+Ckey9GJ9RP5iyq/Nz5RuHlzZ6jf/4r/77/uf/56pff72/Nnzd98/
+/49LhcvtPePvX99yf3TdumOzt7dFOntoZrxs/t395hvPX+PsLdidubvri4/kl8Ocg3RJccnT6f/
3dE8pH53kzsm1Adubo9z9QHQkwe43oegoT6E4pBnm39204+uGHg5ijXlYtkoxazPJp/D5FZgikde
/nzYIOMegnj2mjHS529ueDnrD/YkMrbZG1ec5k8352m8+Q8QDgqLxX/33z5/1/PQc9H5sefP/dzd
8/f+3rRP9v2z71/vUK1nY+8fe//zLu39YW94hyDnBWqvxP+W9285uv8+y29+3f/YRs3f3LLRa797
CvDf/USPCU5Q+4Dmi8UaupwFvj5ZH249+/zj23D5s9UcVlP3pfn5tDHC+nP55W1Oerb6zb/47/57
/Wwcj8XtWZnPK77xPn97/uz5ez0P+/5xYlzv1Iu7nx/G873be3jfvxcue//Y+8cf7f7RPcAzbO56
Mn3UM28cP/uef/7dKTobpk+5yP4Q1MvgDzHZJ5PsQ+rD7MNpzIWN1odPhkfpsp8fIBk7Nqi+D54+
+/g2yMS1HP2XLrHwiI6vhpoXniyfYpDLmQ+eT/mMUfHw+RaLbPNDYfHf/Xd/luyHff6gcNGeP3v+
9s7oHWJn7Pvnfmbs+3fvH3v/+u3vn84dZxDyzHVvwXce9Sw2Zos6u3xO3Yt7z6dLXjx+ZOzKW58u
vfHST0TAB+PD6EOsGNI/fsBs0h/sSWTsyB9/z5dB9uUp5hxv/sV/95+n5f687PO3509nZc+GvvP0
3CzHDzJ2e/7u+2ffv9ez4Nnomel5mfeN+Vwlf7Tf83fP37lP2lPtJ2O05++XvX8utP7gP22IP1ey
NhX8pB6AWf2nn7Z4th4Otv0XAg9HdvoOWXzj+M1/x+qA56TF/9pXu//uz057w3MT4ff52/Nnz999
/+z7d+8fe/+63ox7/7zfKbtvQ6Y7d/h0f9BP+pb7Z/8z+Bln+T8YAj54VMHWmAxPPnvyZNnqa/Qo
G3y6ZMb91xU8okON4/OpJ4/PVl+jR9ng0yUz3vyQueMNGwSbCB9m9XTx2epr9CgbfLpkxos/ZO54
wwbBJsKHWT1dfLb6Gj3KBp8umfHiD5k73rBBsInwYVZPF5+tvkaPssGnS2a8+EPmjjdsEGwifJjV
08Vnq6/Ro2zw6ZIZL/6QueMNGwSbCB9m9XTx2epr9CgbfLpkxos/ZO54wwbBJsKHWT1dfLb6Gj3K
Bp8umfHiD5k73rBBsInwYVZPF5+tvkaPssGnS2b8R8LfGv7sqQ/kz36hDwt8/C8BNiks/JclOuO+
lZn/9WBu6sPktNOTI34zdvZ02dSTsUebf/Hf/bfP354/e/7+/+3XwQrDIBBF0f//6/KQS6SQbTc9
gTLWakIP6kzkn5MP5d+nnljNUB2y9l03rH6oplB/qL/Un9sR59q+aG/c8TZq7OJb/z1G+w8F7oW0
v7+D9l5Q6+tluri+5hV70duY7/kd6uvvHj2n+bvnrvrX7j7NKfZbcxc9/9jyf9ZN68f62445Lu2h
9ll76Iyw/3LJazGzYr9l5/xx/so/8s/Oh33KO0X5Zyem/LP1UA4pz6yvdTKj+te++/fdRYAAAQIE
CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg
QIAAAQIECBAgQIAAAQIEfivwATM7teAaH1ZeAAAAAElFTkSuQmCC
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386334</attachid>
            <date>2019-12-23 03:15:32 -0800</date>
            <delta_ts>2019-12-23 03:16:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205486-20191223201531.patch</filename>
            <type>text/plain</type>
            <size>61611</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUzNzM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU3ZDk5NzNmNjk5Yzcw
ZDhjYTdiMzc5M2U2N2RjN2Y0NWFmYWFlNi4uYzMxZGQ1YzE4YTExYzExMzBmYmY3ZDRhYzA2MzM4
OGY2YzRmNGUyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDE5LTEyLTIzICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIENvbXBsZXhU
ZXh0Q29udHJvbGxlcjo6b2Zmc2V0Rm9yUG9zaXRpb24gcmV0dXJucyBhIHdyb25nIG9mZnNldCBm
b3IgYSBnbHlwaCBib3VuZGFyeSBpbiBhIFJUTCB0ZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU0ODYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiBtX3J1bi5sdHIoKSB3YXMgdHJ1ZSBhbmQgeCA9
PSAwLCBoaXRJbmRleCB3b3VsZCBiZWNvbWUgaGl0R2x5cGhFbmQuCisgICAgICAgIFRoaXMgaXMg
bm90IGV4cGVjdGVkLiBJdCBleHBlY3RzIGhpdEluZGV4IDwgaGl0R2x5cGhFbmQgaWYgaGl0R2x5
cGhTdGFydCDiiaAgaGl0R2x5cGhFbmQuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vRG9jdW1l
bnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9ydGwuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6b2Zmc2V0Rm9yUG9zaXRpb24pOiBDb21wdXRlIGNvcnJlY3QgaGl0
R2x5cGhFbmQgZm9yIFJUTC4KKworMjAxOS0xMi0xOSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9y
aS5GdWppaUBzb255LmNvbT4KKworICAgICAgICBbV2luXSBVc2UgQ29tcGxleFRleHRDb250cm9s
bGVyIGluc3RlYWQgb2YgVW5pc2NyaWJlQ29udHJvbGxlcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0ODg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXZlbiB0aG91Z2ggVW5pc2NyaWJlQ29udHJvbGxl
ciBpcyBhIHNpbWlsYXIgY29kZSB3aXRoCisgICAgICAgIENvbXBsZXhUZXh0Q29udHJvbGxlciwg
VW5pc2NyaWJlQ29udHJvbGxlciBkb2Vzbid0IHN1cHBvcnQKKyAgICAgICAgc3Vycm9nYXRlIHBh
aXJzIGFuZCBoYXMgcmVuZGVyaW5nIGdsaXRjaGVzIG9mIHBhcnRpYWxseSBzZWxlY3RlZCBhCisg
ICAgICAgIGNvbWJpbmluZyBjaGFyYWN0ZXIuCisKKyAgICAgICAgUmVtb3ZlIFVuaXNjcmliZUNv
bnRyb2xsZXIsIGFuZCB1c2UgQ29tcGxleFRleHRDb250cm9sbGVyIGJ5CisgICAgICAgIGltcGxl
bWVudGluZyBgY29sbGVjdENvbXBsZXhUZXh0UnVuc0ZvckNoYXJhY3RlcnNgIHdpdGggVW5pc2Ny
aWJlLgorCisgICAgICAgICogUGxhdGZvcm1XaW4uY21ha2U6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNv
bXBsZXhUZXh0Q29udHJvbGxlcjo6Y29sbGVjdENvbXBsZXhUZXh0UnVuc0ZvckNoYXJhY3RlcnMp
OiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjp3aWR0aE9mVGV4dFJhbmdlIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpnZXRHbHlwaHNBbmRBZHZhbmNlc0ZvckNv
bXBsZXhUZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpkcmF3R2x5
cGhCdWZmZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6OmZsb2F0V2lk
dGhGb3JDb21wbGV4VGV4dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6
YWRqdXN0U2VsZWN0aW9uUmVjdEZvckNvbXBsZXhUZXh0IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkZvbnRDYXNjYWRlOjpvZmZzZXRGb3JQb3NpdGlvbkZvckNvbXBsZXhUZXh0IGNvbnN0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vQ29tcGxleFRleHRDb250cm9sbGVyVW5p
c2NyaWJlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpzaGFwZUJ5VW5pc2NyaWJlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNvbXBsZXhUZXh0Q29udHJvbGxlcjo6Y29sbGVjdENvbXBsZXhU
ZXh0UnVuc0ZvckNoYXJhY3RlcnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9G
b250Q0dXaW4uY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q2FzY2Fk
ZURpcmVjdDJELmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFdpbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6YWRqdXN0U2VsZWN0aW9uUmVjdEZv
ckNvbXBsZXhUZXh0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNj
YWRlOjpnZXRHbHlwaHNBbmRBZHZhbmNlc0ZvckNvbXBsZXhUZXh0IGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlOjpmbG9hdFdpZHRoRm9yQ29tcGxleFRleHQg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGU6Om9mZnNldEZv
clBvc2l0aW9uRm9yQ29tcGxleFRleHQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL3dpbi9VbmlzY3JpYmVDb250cm9sbGVyLmNwcDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vVW5pc2NyaWJlQ29udHJvbGxlci5oOiBSZW1vdmVk
LgorCiAyMDE5LTEyLTE4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBFbGVtZW50czogcmVzdHJpY3Qgc2hvd2luZyBwYWludCBmbGFz
aGluZyBhbmQgY29tcG9zaXRpbmcgYm9yZGVycyB0byB0aGUgV2ViIEluc3BlY3RvciBzZXNzaW9u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybVdpbi5jbWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL1BsYXRmb3JtV2luLmNtYWtlCmluZGV4IGQxZmQ0ZWIxMmRkOTcxMTAwMTgwZWE4MDU2
ZWQ0ODY1NjlmYzkwNmUuLmRlODZmZDNhMDQxMTYxYWY3Yjg4ZWQ1NWE1YzQwNWRiNmNjZjhkZWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtV2luLmNtYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BsYXRmb3JtV2luLmNtYWtlCkBAIC01MSw2ICs1MSw3IEBAIGxpc3QoQVBQRU5E
IFdlYkNvcmVfU09VUkNFUwogCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0NvbG9yRGlyZWN0
MkQuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0NvbXBsZXhUZXh0Q29udHJvbGxlckRp
cmVjdFdyaXRlLmNwcAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9Db21wbGV4VGV4dENvbnRy
b2xsZXJVbmlzY3JpYmUuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0RJQlBpeGVsRGF0
YS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRmxvYXRQb2ludERpcmVjdDJELmNwcAog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9GbG9hdFJlY3REaXJlY3QyRC5jcHAKQEAgLTY5LDcg
KzcwLDYgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL1NpbXBsZUZvbnREYXRhV2luLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9U
cmFuc2Zvcm1hdGlvbk1hdHJpeERpcmVjdDJELmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3dp
bi9UcmFuc2Zvcm1hdGlvbk1hdHJpeFdpbi5jcHAKLSAgICBwbGF0Zm9ybS9ncmFwaGljcy93aW4v
VW5pc2NyaWJlQ29udHJvbGxlci5jcHAKIAogICAgIHBsYXRmb3JtL25ldHdvcmsvd2luL0Rvd25s
b2FkQnVuZGxlV2luLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvd2luL05ldHdvcmtTdGF0ZU5v
dGlmaWVyV2luLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAKaW5kZXggMTYzZWQ0ZTA3ZWVlN2Y1NWEx
MTlhMzU3ZDc4OGU0MDc3NGJjOGVhMS4uNzU2ZTIxMGQyOTdlNGQ2NTkxNTM4M2EyYjQzNGM1ZTE1
ZGM2NWE2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29t
cGxleFRleHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwCkBAIC00MywzMyArNDMsNiBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLSNpZiBQTEFURk9STShXSU4pICYmICFVU0UoRElSRUNUMkQpCi0K
LWNsYXNzIFRleHRMYXlvdXQgewotfTsKLQotdm9pZCBUZXh0TGF5b3V0RGVsZXRlcjo6b3BlcmF0
b3IoKShUZXh0TGF5b3V0KikgY29uc3QKLXsKLX0KLQotc3RkOjp1bmlxdWVfcHRyPFRleHRMYXlv
dXQsIFRleHRMYXlvdXREZWxldGVyPiBGb250Q2FzY2FkZTo6Y3JlYXRlTGF5b3V0KFJlbmRlclRl
eHQmLCBmbG9hdCwgYm9vbCkgY29uc3QKLXsKLSAgICByZXR1cm4gbnVsbHB0cjsKLX0KLQotZmxv
YXQgRm9udENhc2NhZGU6OndpZHRoKFRleHRMYXlvdXQmLCB1bnNpZ25lZCwgdW5zaWduZWQsIEhh
c2hTZXQ8Y29uc3QgRm9udCo+KikKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICBy
ZXR1cm4gMDsKLX0KLQotdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmNvbGxlY3RDb21wbGV4
VGV4dFJ1bnNGb3JDaGFyYWN0ZXJzKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQsIHVuc2lnbmVkLCBj
b25zdCBGb250KikKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLX0KLQotI2Vsc2UKLQog
Y2xhc3MgVGV4dExheW91dCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CkBAIC0yMTYsNyArMTg5LDExIEBAIHVuc2lnbmVkIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6b2Zm
c2V0Rm9yUG9zaXRpb24oZmxvYXQgaCwgYm9vbCBpbmNsdWRlUGFydGlhbEdsCiAKICAgICAgICAg
ICAgICAgICAvLyBGSVhNRTogSW5zdGVhZCBvZiBkaXZpZGluZyB0aGUgZ2x5cGgncyBhZHZhbmNl
IGVxdWFsbHkgYmV0d2VlbiB0aGUgY2hhcmFjdGVycywgdGhpcwogICAgICAgICAgICAgICAgIC8v
IGNvdWxkIHVzZSB0aGUgZ2x5cGgncyAibGlnYXR1cmUgY2FyZXRzIi4gVGhpcyBpcyBhdmFpbGFi
bGUgaW4gQ29yZVRleHQgdmlhIENURm9udEdldExpZ2F0dXJlQ2FyZXRQb3NpdGlvbnMoKS4KLSAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBoaXRJbmRleCA9IGhpdEdseXBoU3RhcnQgKyAoaGl0R2x5
cGhFbmQgLSBoaXRHbHlwaFN0YXJ0KSAqIChtX3J1bi5sdHIoKSA/IHggLyBhZGp1c3RlZEFkdmFu
Y2UgOiAxIC0geCAvIGFkanVzdGVkQWR2YW5jZSk7CisgICAgICAgICAgICAgICAgdW5zaWduZWQg
aGl0SW5kZXg7CisgICAgICAgICAgICAgICAgaWYgKG1fcnVuLmx0cigpKQorICAgICAgICAgICAg
ICAgICAgICBoaXRJbmRleCA9IGhpdEdseXBoU3RhcnQgKyAoaGl0R2x5cGhFbmQgLSBoaXRHbHlw
aFN0YXJ0KSAqICh4IC8gYWRqdXN0ZWRBZHZhbmNlKTsKKyAgICAgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgICAgIGhpdEluZGV4ID0gaGl0R2x5cGhFbmQgLSAoaGl0R2x5cGhFbmQg
LSBoaXRHbHlwaFN0YXJ0KSAqICgxIC0geCAvIGFkanVzdGVkQWR2YW5jZSk7CiAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgc3RyaW5nTGVuZ3RoID0gY29tcGxleFRleHRSdW4uc3RyaW5nTGVuZ3Ro
KCk7CiAgICAgICAgICAgICAgICAgQ2FjaGVkVGV4dEJyZWFrSXRlcmF0b3IgY3Vyc29yUG9zaXRp
b25JdGVyYXRvcihTdHJpbmdWaWV3KGNvbXBsZXhUZXh0UnVuLmNoYXJhY3RlcnMoKSwgc3RyaW5n
TGVuZ3RoKSwgVGV4dEJyZWFrSXRlcmF0b3I6Ok1vZGU6OkNhcmV0LCBudWxsQXRvbSgpKTsKICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBjbHVzdGVyU3RhcnQ7CkBAIC04OTQsNiArODcxLDQgQEAg
Q29tcGxleFRleHRDb250cm9sbGVyOjpDb21wbGV4VGV4dFJ1bjo6Q29tcGxleFRleHRSdW4oY29u
c3QgVmVjdG9yPEZsb2F0U2l6ZT4mIGEKIHsKIH0KIAotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRDYXNjYWRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNj
YWRlLmNwcAppbmRleCA0MTI3NDdhY2Y4YzkxMThjYzhiNjZiYzExZjEwZTY0NjZmMzM1NjcwLi4w
YWVjOGU3MGViYWJhNDI4N2Q2NDhkMjMxZTBkZWM2MDgzNjFlNDVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCkBAIC00MSwxMCArNDEs
NiBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmdIYXNoLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nQnVpbGRlci5oPgogCi0jaWYgUExBVEZPUk0oV0lOKSAmJiAhVVNFKERJUkVD
VDJEKQotI2luY2x1ZGUgIlVuaXNjcmliZUNvbnRyb2xsZXIuaCIKLSNlbmRpZgotCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBXVEY6OlVuaWNvZGU7CkBAIC0zNTAsMTUg
KzM0Niw2IEBAIGZsb2F0IEZvbnRDYXNjYWRlOjp3aWR0aE9mVGV4dFJhbmdlKGNvbnN0IFRleHRS
dW4mIHJ1biwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQKIAogICAgIGF1dG8gY29kZVBhdGhUb1Vz
ZSA9IGNvZGVQYXRoKHJ1bik7CiAgICAgaWYgKGNvZGVQYXRoVG9Vc2UgPT0gQ29tcGxleCkgewot
I2lmIFBMQVRGT1JNKFdJTikgJiYgIVVTRShESVJFQ1QyRCkKLSAgICAgICAgVW5pc2NyaWJlQ29u
dHJvbGxlciBpdCh0aGlzLCBydW4pOwotICAgICAgICBpdC5hZHZhbmNlKGZyb20pOwotICAgICAg
ICBvZmZzZXRCZWZvcmVSYW5nZSA9IGl0LnJ1bldpZHRoU29GYXIoKTsKLSAgICAgICAgaXQuYWR2
YW5jZSh0byk7Ci0gICAgICAgIG9mZnNldEFmdGVyUmFuZ2UgPSBpdC5ydW5XaWR0aFNvRmFyKCk7
Ci0gICAgICAgIGl0LmFkdmFuY2UodG8pOwotICAgICAgICB0b3RhbFdpZHRoID0gaXQucnVuV2lk
dGhTb0ZhcigpOwotI2Vsc2UKICAgICAgICAgQ29tcGxleFRleHRDb250cm9sbGVyIGNvbXBsZXhJ
dGVyYXRvcigqdGhpcywgcnVuLCBmYWxzZSwgZmFsbGJhY2tGb250cyk7CiAgICAgICAgIGNvbXBs
ZXhJdGVyYXRvci5hZHZhbmNlKGZyb20sIG51bGxwdHIsIEluY2x1ZGVQYXJ0aWFsR2x5cGhzLCBm
YWxsYmFja0ZvbnRzKTsKICAgICAgICAgb2Zmc2V0QmVmb3JlUmFuZ2UgPSBjb21wbGV4SXRlcmF0
b3IucnVuV2lkdGhTb0ZhcigpOwpAQCAtMzY2LDcgKzM1Myw2IEBAIGZsb2F0IEZvbnRDYXNjYWRl
Ojp3aWR0aE9mVGV4dFJhbmdlKGNvbnN0IFRleHRSdW4mIHJ1biwgdW5zaWduZWQgZnJvbSwgdW5z
aWduZWQKICAgICAgICAgb2Zmc2V0QWZ0ZXJSYW5nZSA9IGNvbXBsZXhJdGVyYXRvci5ydW5XaWR0
aFNvRmFyKCk7CiAgICAgICAgIGNvbXBsZXhJdGVyYXRvci5hZHZhbmNlKHJ1bi5sZW5ndGgoKSwg
bnVsbHB0ciwgSW5jbHVkZVBhcnRpYWxHbHlwaHMsIGZhbGxiYWNrRm9udHMpOwogICAgICAgICB0
b3RhbFdpZHRoID0gY29tcGxleEl0ZXJhdG9yLnJ1bldpZHRoU29GYXIoKTsKLSNlbmRpZgogICAg
IH0gZWxzZSB7CiAgICAgICAgIFdpZHRoSXRlcmF0b3Igc2ltcGxlSXRlcmF0b3IodGhpcywgcnVu
LCBmYWxsYmFja0ZvbnRzKTsKICAgICAgICAgc2ltcGxlSXRlcmF0b3IuYWR2YW5jZShmcm9tLCBu
dWxscHRyKTsKQEAgLTEzOTcsNyArMTM4Myw2IEBAIGZsb2F0IEZvbnRDYXNjYWRlOjpnZXRHbHlw
aHNBbmRBZHZhbmNlc0ZvclNpbXBsZVRleHQoY29uc3QgVGV4dFJ1biYgcnVuLCB1bnNpZ25lCiAg
ICAgcmV0dXJuIGluaXRpYWxBZHZhbmNlOwogfQogCi0jaWYgIVBMQVRGT1JNKFdJTikgfHwgVVNF
KERJUkVDVDJEKQogZmxvYXQgRm9udENhc2NhZGU6OmdldEdseXBoc0FuZEFkdmFuY2VzRm9yQ29t
cGxleFRleHQoY29uc3QgVGV4dFJ1biYgcnVuLCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCB0bywg
R2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCBGb3JUZXh0RW1waGFzaXNPck5vdCBmb3JUZXh0RW1w
aGFzaXMpIGNvbnN0CiB7CiAgICAgZmxvYXQgaW5pdGlhbEFkdmFuY2U7CkBAIC0xNDI3LDcgKzE0
MTIsNiBAQCBmbG9hdCBGb250Q2FzY2FkZTo6Z2V0R2x5cGhzQW5kQWR2YW5jZXNGb3JDb21wbGV4
VGV4dChjb25zdCBUZXh0UnVuJiBydW4sIHVuc2lnbgogCiAgICAgcmV0dXJuIGluaXRpYWxBZHZh
bmNlOwogfQotI2VuZGlmCiAKIHZvaWQgRm9udENhc2NhZGU6OmRyYXdFbXBoYXNpc01hcmtzRm9y
U2ltcGxlVGV4dChHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IFRleHRSdW4mIHJ1biwg
Y29uc3QgQXRvbVN0cmluZyYgbWFyaywgY29uc3QgRmxvYXRQb2ludCYgcG9pbnQsIHVuc2lnbmVk
IGZyb20sIHVuc2lnbmVkIHRvKSBjb25zdAogewpAQCAtMTQ1MiwxMyArMTQzNiw3IEBAIHZvaWQg
Rm9udENhc2NhZGU6OmRyYXdHbHlwaEJ1ZmZlcihHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNv
bnN0IEdseXBoQnVmZmVyJiBnCiB7CiAgICAgLy8gRHJhdyBlYWNoIGNvbnRpZ3VvdXMgcnVuIG9m
IGdseXBocyB0aGF0IHVzZSB0aGUgc2FtZSBmb250IGRhdGEuCiAgICAgY29uc3QgRm9udCogZm9u
dERhdGEgPSBnbHlwaEJ1ZmZlci5mb250QXQoMCk7Ci0jaWYgUExBVEZPUk0oV0lOKQotICAgIEZs
b2F0UG9pbnQgc3RhcnRQb2ludChwb2ludC54KCkgKyBnbHlwaEJ1ZmZlci5pbml0aWFsQWR2YW5j
ZSgpLndpZHRoKCksIHBvaW50LnkoKSArIGdseXBoQnVmZmVyLmluaXRpYWxBZHZhbmNlKCkuaGVp
Z2h0KCkpOwotI2Vsc2UKLSAgICAvLyBGSVhNRTogV2h5IGRvIHdlIHN1YnRyYWN0IHRoZSBpbml0
aWFsIGFkdmFuY2UncyBoZWlnaHQgYnV0IG5vdCBpdHMgd2lkdGg/Pz8KLSAgICAvLyBXZSBzaG91
bGQgdXNlIHRoZSBsaW5lIGFib3ZlIGZyb20gV2luZG93cyBpbnN0ZWFkLgogICAgIEZsb2F0UG9p
bnQgc3RhcnRQb2ludChwb2ludC54KCksIHBvaW50LnkoKSAtIGdseXBoQnVmZmVyLmluaXRpYWxB
ZHZhbmNlKCkuaGVpZ2h0KCkpOwotI2VuZGlmCiAgICAgZmxvYXQgbmV4dFggPSBzdGFydFBvaW50
LngoKSArIGdseXBoQnVmZmVyLmFkdmFuY2VBdCgwKS53aWR0aCgpOwogICAgIGZsb2F0IG5leHRZ
ID0gc3RhcnRQb2ludC55KCkgKyBnbHlwaEJ1ZmZlci5hZHZhbmNlQXQoMCkuaGVpZ2h0KCk7CiAg
ICAgdW5zaWduZWQgbGFzdEZyb20gPSAwOwpAQCAtMTU0NSw3ICsxNTIzLDYgQEAgZmxvYXQgRm9u
dENhc2NhZGU6OmZsb2F0V2lkdGhGb3JTaW1wbGVUZXh0KGNvbnN0IFRleHRSdW4mIHJ1biwgSGFz
aFNldDxjb25zdCBGb24KICAgICByZXR1cm4gaXQubV9ydW5XaWR0aFNvRmFyOwogfQogCi0jaWYg
IVBMQVRGT1JNKFdJTikgfHwgVVNFKERJUkVDVDJEKQogZmxvYXQgRm9udENhc2NhZGU6OmZsb2F0
V2lkdGhGb3JDb21wbGV4VGV4dChjb25zdCBUZXh0UnVuJiBydW4sIEhhc2hTZXQ8Y29uc3QgRm9u
dCo+KiBmYWxsYmFja0ZvbnRzLCBHbHlwaE92ZXJmbG93KiBnbHlwaE92ZXJmbG93KSBjb25zdAog
ewogICAgIENvbXBsZXhUZXh0Q29udHJvbGxlciBjb250cm9sbGVyKCp0aGlzLCBydW4sIHRydWUs
IGZhbGxiYWNrRm9udHMpOwpAQCAtMTU1Nyw3ICsxNTM0LDYgQEAgZmxvYXQgRm9udENhc2NhZGU6
OmZsb2F0V2lkdGhGb3JDb21wbGV4VGV4dChjb25zdCBUZXh0UnVuJiBydW4sIEhhc2hTZXQ8Y29u
c3QgRm8KICAgICB9CiAgICAgcmV0dXJuIGNvbnRyb2xsZXIudG90YWxXaWR0aCgpOwogfQotI2Vu
ZGlmCiAKIHZvaWQgRm9udENhc2NhZGU6OmFkanVzdFNlbGVjdGlvblJlY3RGb3JTaW1wbGVUZXh0
KGNvbnN0IFRleHRSdW4mIHJ1biwgTGF5b3V0UmVjdCYgc2VsZWN0aW9uUmVjdCwgdW5zaWduZWQg
ZnJvbSwgdW5zaWduZWQgdG8pIGNvbnN0CiB7CkBAIC0xNTc4LDcgKzE1NTQsNiBAQCB2b2lkIEZv
bnRDYXNjYWRlOjphZGp1c3RTZWxlY3Rpb25SZWN0Rm9yU2ltcGxlVGV4dChjb25zdCBUZXh0UnVu
JiBydW4sIExheW91dFJlYwogICAgIHNlbGVjdGlvblJlY3Quc2V0V2lkdGgoTGF5b3V0VW5pdDo6
ZnJvbUZsb2F0Q2VpbChhZnRlcldpZHRoIC0gYmVmb3JlV2lkdGgpKTsKIH0KIAotI2lmICFQTEFU
Rk9STShXSU4pIHx8IFVTRShESVJFQ1QyRCkKIHZvaWQgRm9udENhc2NhZGU6OmFkanVzdFNlbGVj
dGlvblJlY3RGb3JDb21wbGV4VGV4dChjb25zdCBUZXh0UnVuJiBydW4sIExheW91dFJlY3QmIHNl
bGVjdGlvblJlY3QsIHVuc2lnbmVkIGZyb20sIHVuc2lnbmVkIHRvKSBjb25zdAogewogICAgIENv
bXBsZXhUZXh0Q29udHJvbGxlciBjb250cm9sbGVyKCp0aGlzLCBydW4pOwpAQCAtMTU5Myw3ICsx
NTY4LDYgQEAgdm9pZCBGb250Q2FzY2FkZTo6YWRqdXN0U2VsZWN0aW9uUmVjdEZvckNvbXBsZXhU
ZXh0KGNvbnN0IFRleHRSdW4mIHJ1biwgTGF5b3V0UmUKICAgICAgICAgc2VsZWN0aW9uUmVjdC5t
b3ZlKGJlZm9yZVdpZHRoLCAwKTsKICAgICBzZWxlY3Rpb25SZWN0LnNldFdpZHRoKExheW91dFVu
aXQ6OmZyb21GbG9hdENlaWwoYWZ0ZXJXaWR0aCAtIGJlZm9yZVdpZHRoKSk7CiB9Ci0jZW5kaWYK
IAogaW50IEZvbnRDYXNjYWRlOjpvZmZzZXRGb3JQb3NpdGlvbkZvclNpbXBsZVRleHQoY29uc3Qg
VGV4dFJ1biYgcnVuLCBmbG9hdCB4LCBib29sIGluY2x1ZGVQYXJ0aWFsR2x5cGhzKSBjb25zdAog
ewpAQCAtMTYzOCwxMyArMTYxMiwxMSBAQCBpbnQgRm9udENhc2NhZGU6Om9mZnNldEZvclBvc2l0
aW9uRm9yU2ltcGxlVGV4dChjb25zdCBUZXh0UnVuJiBydW4sIGZsb2F0IHgsIGJvbwogICAgIHJl
dHVybiBvZmZzZXQ7CiB9CiAKLSNpZiAhUExBVEZPUk0oV0lOKSB8fCBVU0UoRElSRUNUMkQpCiBp
bnQgRm9udENhc2NhZGU6Om9mZnNldEZvclBvc2l0aW9uRm9yQ29tcGxleFRleHQoY29uc3QgVGV4
dFJ1biYgcnVuLCBmbG9hdCB4LCBib29sIGluY2x1ZGVQYXJ0aWFsR2x5cGhzKSBjb25zdAogewog
ICAgIENvbXBsZXhUZXh0Q29udHJvbGxlciBjb250cm9sbGVyKCp0aGlzLCBydW4pOwogICAgIHJl
dHVybiBjb250cm9sbGVyLm9mZnNldEZvclBvc2l0aW9uKHgsIGluY2x1ZGVQYXJ0aWFsR2x5cGhz
KTsKIH0KLSNlbmRpZgogCiAjaWYgIVBMQVRGT1JNKENPQ09BKSAmJiAhVVNFKEhBUkZCVVpaKQog
Ly8gRklYTUU6IFVuaWZ5IHRoaXMgd2l0aCB0aGUgbWFjT1MgYW5kIGlPUyBpbXBsZW1lbnRhdGlv
bi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Db21w
bGV4VGV4dENvbnRyb2xsZXJVbmlzY3JpYmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL0NvbXBsZXhUZXh0Q29udHJvbGxlclVuaXNjcmliZS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDAyNWE2NDBkZGNhZjNhMGIwNzBmYjE3Nzc3NTdmMzgyMzFiZGVjYQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Db21wbGV4VGV4dENv
bnRyb2xsZXJVbmlzY3JpYmUuY3BwCkBAIC0wLDAgKzEsMTg5IEBACisvKgorKiBDb3B5cmlnaHQg
KEMpIDIwMTctMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycgQU5EIEFOWQorKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisqIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisqIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTCisqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkNvbXBsZXhUZXh0Q29udHJvbGxlci5oIgorCisjaWYgIVVTRShESVJFQ1QyRCkKKwor
I2luY2x1ZGUgIkZvbnRDYWNoZS5oIgorI2luY2x1ZGUgIkZvbnRDYXNjYWRlLmgiCisjaW5jbHVk
ZSAiSFduZERDLmgiCisjaW5jbHVkZSA8dXNwMTAuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitzdGF0aWMgYm9vbCBzaGFwZUJ5VW5pc2NyaWJlKGNvbnN0IFVDaGFyKiBzdHIsIGludCBsZW4s
IFNDUklQVF9JVEVNIGl0ZW0sIGNvbnN0IEZvbnQqIGZvbnREYXRhLAorICAgIFZlY3RvcjxXT1JE
PiYgZ2x5cGhzLCBWZWN0b3I8V09SRD4mIGNsdXN0ZXJzLAorICAgIFZlY3RvcjxTQ1JJUFRfVklT
QVRUUj4mIHZpc3VhbEF0dHJpYnV0ZXMpCit7CisgICAgSFduZERDIGhkYzsKKyAgICBIRk9OVCBv
bGRGb250ID0gMDsKKyAgICBIUkVTVUxUIHNoYXBlUmVzdWx0ID0gRV9QRU5ESU5HOworICAgIGlu
dCBnbHlwaENvdW50ID0gMDsKKworICAgIGlmICghZm9udERhdGEpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIGRvIHsKKyAgICAgICAgc2hhcGVSZXN1bHQgPSBTY3JpcHRTaGFwZShoZGMs
IGZvbnREYXRhLT5zY3JpcHRDYWNoZSgpLCB3Y2hhckZyb20oc3RyKSwgbGVuLCBnbHlwaHMuc2l6
ZSgpLCAmaXRlbS5hLAorICAgICAgICAgICAgZ2x5cGhzLmRhdGEoKSwgY2x1c3RlcnMuZGF0YSgp
LCB2aXN1YWxBdHRyaWJ1dGVzLmRhdGEoKSwgJmdseXBoQ291bnQpOworICAgICAgICBpZiAoc2hh
cGVSZXN1bHQgPT0gRV9QRU5ESU5HKSB7CisgICAgICAgICAgICAvLyBUaGUgc2NyaXB0IGNhY2hl
IGlzbid0IHByaW1lZCB3aXRoIGVub3VnaCBpbmZvIHlldC4gV2UgbmVlZCB0byBzZWxlY3Qgb3Vy
IEhGT05UIGludG8KKyAgICAgICAgICAgIC8vIGEgREMgYW5kIHBhc3MgdGhlIERDIGluIHRvIFNj
cmlwdFNoYXBlLgorICAgICAgICAgICAgQVNTRVJUKCFoZGMpOworICAgICAgICAgICAgaGRjLnNl
dEhXbmQoMCk7CisgICAgICAgICAgICBIRk9OVCBoZm9udCA9IGZvbnREYXRhLT5wbGF0Zm9ybURh
dGEoKS5oZm9udCgpOworICAgICAgICAgICAgb2xkRm9udCA9IChIRk9OVClTZWxlY3RPYmplY3Qo
aGRjLCBoZm9udCk7CisgICAgICAgIH0gZWxzZSBpZiAoc2hhcGVSZXN1bHQgPT0gRV9PVVRPRk1F
TU9SWSkgeworICAgICAgICAgICAgLy8gTmVlZCB0byByZXNpemUgb3VyIGJ1ZmZlcnMuCisgICAg
ICAgICAgICBnbHlwaHMucmVzaXplKGdseXBocy5zaXplKCkgKiAyKTsKKyAgICAgICAgICAgIHZp
c3VhbEF0dHJpYnV0ZXMucmVzaXplKGdseXBocy5zaXplKCkpOworICAgICAgICB9CisgICAgfSB3
aGlsZSAoc2hhcGVSZXN1bHQgPT0gRV9QRU5ESU5HIHx8IHNoYXBlUmVzdWx0ID09IEVfT1VUT0ZN
RU1PUlkpOworCisgICAgaWYgKGhkYykKKyAgICAgICAgU2VsZWN0T2JqZWN0KGhkYywgb2xkRm9u
dCk7CisKKyAgICBpZiAoRkFJTEVEKHNoYXBlUmVzdWx0KSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgZ2x5cGhzLnNocmluayhnbHlwaENvdW50KTsKKyAgICB2aXN1YWxBdHRyaWJ1dGVz
LnNocmluayhnbHlwaENvdW50KTsKKworICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIENvbXBs
ZXhUZXh0Q29udHJvbGxlcjo6Y29sbGVjdENvbXBsZXhUZXh0UnVuc0ZvckNoYXJhY3RlcnMoY29u
c3QgVUNoYXIqIGNwLCB1bnNpZ25lZCBzdHJpbmdMZW5ndGgsIHVuc2lnbmVkIHN0cmluZ0xvY2F0
aW9uLCBjb25zdCBGb250KiBmb250KQoreworICAgIGlmICghZm9udCkgeworICAgICAgICAvLyBD
cmVhdGUgYSBydW4gb2YgbWlzc2luZyBnbHlwaHMgZnJvbSB0aGUgcHJpbWFyeSBmb250LgorICAg
ICAgICBtX2NvbXBsZXhUZXh0UnVucy5hcHBlbmQoQ29tcGxleFRleHRSdW46OmNyZWF0ZShtX2Zv
bnQucHJpbWFyeUZvbnQoKSwgY3AsIHN0cmluZ0xvY2F0aW9uLCBzdHJpbmdMZW5ndGgsIDAsIHN0
cmluZ0xlbmd0aCwgbV9ydW4ubHRyKCkpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IFZlY3RvcjxTQ1JJUFRfSVRFTT4gaXRlbXMoNik7CisgICAgaW50IG51bUl0ZW1zID0gMDsKKyAg
ICBmb3IgKDs7KSB7CisgICAgICAgIFNDUklQVF9DT05UUk9MIGNvbnRyb2wgeyB9OworICAgICAg
ICBTQ1JJUFRfU1RBVEUgc3RhdGUgeyB9OworICAgICAgICAvLyBTZXQgdXAgdGhlIGNvcnJlY3Qg
ZGlyZWN0aW9uIGZvciB0aGUgcnVuLgorICAgICAgICBzdGF0ZS51QmlkaUxldmVsID0gbV9ydW4u
cnRsKCk7CisgICAgICAgIC8vIExvY2sgdGhlIGNvcnJlY3QgZGlyZWN0aW9uYWwgb3ZlcnJpZGUu
CisgICAgICAgIHN0YXRlLmZPdmVycmlkZURpcmVjdGlvbiA9IG1fcnVuLmRpcmVjdGlvbmFsT3Zl
cnJpZGUoKTsKKworICAgICAgICAvLyBTY3JpcHRJdGVtaXplIG1heSB3cml0ZSAoY01heEl0ZW1z
ICsgMSkgU0NSSVBUX0lURU0uCisgICAgICAgIEhSRVNVTFQgaHIgPSBTY3JpcHRJdGVtaXplKHdj
aGFyRnJvbShjcCksIHN0cmluZ0xlbmd0aCwgaXRlbXMuc2l6ZSgpIC0gMSwgJmNvbnRyb2wsICZz
dGF0ZSwgaXRlbXMuZGF0YSgpLCAmbnVtSXRlbXMpOworICAgICAgICBpZiAoaHIgIT0gRV9PVVRP
Rk1FTU9SWSkgeworICAgICAgICAgICAgQVNTRVJUKFNVQ0NFRURFRChocikpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgaXRlbXMucmVzaXplKGl0ZW1zLnNpemUoKSAq
IDIpOworICAgIH0KKyAgICBpdGVtcy5yZXNpemUobnVtSXRlbXMgKyAxKTsKKworICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgbnVtSXRlbXM7IGkrKykgeworICAgICAgICAvLyBEZXRlcm1pbmUgdGhl
IHN0cmluZyBmb3IgdGhpcyBpdGVtLgorICAgICAgICBjb25zdCBVQ2hhciogc3RyID0gY3AgKyBp
dGVtc1tpXS5pQ2hhclBvczsKKyAgICAgICAgaW50IGxlbmd0aCA9IGl0ZW1zW2krMV0uaUNoYXJQ
b3MgLSBpdGVtc1tpXS5pQ2hhclBvczsKKyAgICAgICAgU0NSSVBUX0lURU0mIGl0ZW0gPSBpdGVt
c1tpXTsKKworICAgICAgICAvLyBTZXQgdXAgYnVmZmVycyB0byBob2xkIHRoZSByZXN1bHRzIG9m
IHNoYXBpbmcgdGhlIGl0ZW0uCisgICAgICAgIFZlY3RvcjxXT1JEPiBnbHlwaHM7CisgICAgICAg
IFZlY3RvcjxXT1JEPiBjbHVzdGVyczsKKyAgICAgICAgVmVjdG9yPFNDUklQVF9WSVNBVFRSPiB2
aXN1YWxBdHRyaWJ1dGVzOworICAgICAgICBjbHVzdGVycy5yZXNpemUobGVuZ3RoKTsKKworICAg
ICAgICAvLyBTaGFwZSB0aGUgaXRlbS4KKyAgICAgICAgLy8gVGhlIHJlY29tbWVuZGVkIHNpemUg
Zm9yIHRoZSBnbHlwaCBidWZmZXIgaXMgMS41ICogdGhlIGNoYXJhY3RlciBsZW5ndGggKyAxNiBp
biB0aGUgdW5pc2NyaWJlIGRvY3MuCisgICAgICAgIC8vIEFwcGFyZW50bHkgdGhpcyBpcyBhIGdv
b2Qgc2l6ZSB0byBhdm9pZCBoYXZpbmcgdG8gbWFrZSByZXBlYXRlZCBjYWxscyB0byBTY3JpcHRT
aGFwZS4KKyAgICAgICAgZ2x5cGhzLnJlc2l6ZSgxLjUgKiBsZW5ndGggKyAxNik7CisgICAgICAg
IHZpc3VhbEF0dHJpYnV0ZXMucmVzaXplKGdseXBocy5zaXplKCkpOworCisgICAgICAgIGlmICgh
c2hhcGVCeVVuaXNjcmliZShzdHIsIGxlbmd0aCwgaXRlbSwgZm9udCwgZ2x5cGhzLCBjbHVzdGVy
cywgdmlzdWFsQXR0cmlidXRlcykpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAv
LyBXZSBub3cgaGF2ZSBhIGNvbGxlY3Rpb24gb2YgZ2x5cGhzLgorICAgICAgICBWZWN0b3I8R09G
RlNFVD4gb2Zmc2V0czsKKyAgICAgICAgVmVjdG9yPGludD4gYWR2YW5jZXM7CisgICAgICAgIG9m
ZnNldHMucmVzaXplKGdseXBocy5zaXplKCkpOworICAgICAgICBhZHZhbmNlcy5yZXNpemUoZ2x5
cGhzLnNpemUoKSk7CisgICAgICAgIEhSRVNVTFQgcGxhY2VSZXN1bHQgPSBTY3JpcHRQbGFjZSgw
LCBmb250LT5zY3JpcHRDYWNoZSgpLCBnbHlwaHMuZGF0YSgpLCBnbHlwaHMuc2l6ZSgpLCB2aXN1
YWxBdHRyaWJ1dGVzLmRhdGEoKSwKKyAgICAgICAgICAgICZpdGVtLmEsIGFkdmFuY2VzLmRhdGEo
KSwgb2Zmc2V0cy5kYXRhKCksIDApOworICAgICAgICBpZiAocGxhY2VSZXN1bHQgPT0gRV9QRU5E
SU5HKSB7CisgICAgICAgICAgICAvLyBUaGUgc2NyaXB0IGNhY2hlIGlzbid0IHByaW1lZCB3aXRo
IGVub3VnaCBpbmZvIHlldC4gV2UgbmVlZCB0byBzZWxlY3Qgb3VyIEhGT05UIGludG8KKyAgICAg
ICAgICAgIC8vIGEgREMgYW5kIHBhc3MgdGhlIERDIGluIHRvIFNjcmlwdFBsYWNlLgorICAgICAg
ICAgICAgSFduZERDIGhkYygwKTsKKyAgICAgICAgICAgIEhGT05UIGhmb250ID0gZm9udC0+cGxh
dGZvcm1EYXRhKCkuaGZvbnQoKTsKKyAgICAgICAgICAgIEhGT05UIG9sZEZvbnQgPSAoSEZPTlQp
U2VsZWN0T2JqZWN0KGhkYywgaGZvbnQpOworICAgICAgICAgICAgcGxhY2VSZXN1bHQgPSBTY3Jp
cHRQbGFjZShoZGMsIGZvbnQtPnNjcmlwdENhY2hlKCksIGdseXBocy5kYXRhKCksIGdseXBocy5z
aXplKCksIHZpc3VhbEF0dHJpYnV0ZXMuZGF0YSgpLAorICAgICAgICAgICAgICAgICZpdGVtLmEs
IGFkdmFuY2VzLmRhdGEoKSwgb2Zmc2V0cy5kYXRhKCksIDApOworICAgICAgICAgICAgU2VsZWN0
T2JqZWN0KGhkYywgb2xkRm9udCk7CisgICAgICAgIH0KKworICAgICAgICBpZiAoRkFJTEVEKHBs
YWNlUmVzdWx0KSB8fCBnbHlwaHMuaXNFbXB0eSgpKQorICAgICAgICAgICAgY29udGludWU7CisK
KyAgICAgICAgaWYgKG1fZmFsbGJhY2tGb250cykKKyAgICAgICAgICAgIG1fZmFsbGJhY2tGb250
cy0+YWRkKGZvbnQpOworCisgICAgICAgIFZlY3Rvcjx1bnNpZ25lZD4gc3RyaW5nSW5kaWNlcyhn
bHlwaHMuc2l6ZSgpLCBpdGVtLmlDaGFyUG9zKTsKKworICAgICAgICBmb3IgKGludCBrID0gbGVu
Z3RoIC0gMTsgayA+PSAwOyBrLS0pCisgICAgICAgICAgICBzdHJpbmdJbmRpY2VzW2NsdXN0ZXJz
W2tdXSA9IGl0ZW0uaUNoYXJQb3MgKyBrOworCisgICAgICAgIFZlY3RvcjxGbG9hdFNpemU+IGJh
c2VBZHZhbmNlczsKKyAgICAgICAgVmVjdG9yPEZsb2F0UG9pbnQ+IG9yaWdpbnM7CisgICAgICAg
IGJhc2VBZHZhbmNlcy5yZXNlcnZlQ2FwYWNpdHkoZ2x5cGhzLnNpemUoKSk7CisgICAgICAgIG9y
aWdpbnMucmVzZXJ2ZUNhcGFjaXR5KGdseXBocy5zaXplKCkpOworCisgICAgICAgIGZvciAodW5z
aWduZWQgayA9IDA7IGsgPCBnbHlwaHMuc2l6ZSgpOyBrKyspIHsKKyAgICAgICAgICAgIGNvbnN0
IGZsb2F0IGNMb2dpY2FsU2NhbGUgPSBmb250LT5wbGF0Zm9ybURhdGEoKS51c2VHREkoKSA/IDEg
OiAzMjsKKyAgICAgICAgICAgIGZsb2F0IGFkdmFuY2UgPSBhZHZhbmNlc1trXSAvIGNMb2dpY2Fs
U2NhbGU7CisgICAgICAgICAgICBmbG9hdCBvZmZzZXRYID0gb2Zmc2V0c1trXS5kdSAvIGNMb2dp
Y2FsU2NhbGU7CisgICAgICAgICAgICBmbG9hdCBvZmZzZXRZID0gb2Zmc2V0c1trXS5kdiAvIGNM
b2dpY2FsU2NhbGU7CisKKyAgICAgICAgICAgIC8vIE1hdGNoIEFwcEtpdCdzIHJ1bGVzIGZvciB0
aGUgaW50ZWdlciB2cy4gbm9uLWludGVnZXIgcmVuZGVyaW5nIG1vZGVzLgorICAgICAgICAgICAg
aWYgKCFmb250LT5wbGF0Zm9ybURhdGEoKS5pc1N5c3RlbUZvbnQoKSkgeworICAgICAgICAgICAg
ICAgIGFkdmFuY2UgPSByb3VuZGYoYWR2YW5jZSk7CisgICAgICAgICAgICAgICAgb2Zmc2V0WCA9
IHJvdW5kZihvZmZzZXRYKTsKKyAgICAgICAgICAgICAgICBvZmZzZXRZID0gcm91bmRmKG9mZnNl
dFkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyBGSVhNRTogV2UgbmVlZCB0byB0
YWtlIHRoZSBHT0ZGU0VUUyBmb3IgY29tYmluaW5nIGdseXBocyBhbmQgc3RvcmUgdGhlbSBpbiB0
aGUgZ2x5cGggYnVmZmVyCisgICAgICAgICAgICAvLyBhcyB3ZWxsLCBzbyB0aGF0IHdoZW4gdGhl
IHRpbWUgY29tZXMgdG8gZHJhdyB0aG9zZSBnbHlwaHMsIHdlIGNhbiBhcHBseSB0aGUgYXBwcm9w
cmlhdGUKKyAgICAgICAgICAgIC8vIHRyYW5zbGF0aW9uLgorCisgICAgICAgICAgICBiYXNlQWR2
YW5jZXMudW5jaGVja2VkQXBwZW5kKHsgYWR2YW5jZSwgMCB9KTsKKyAgICAgICAgICAgIG9yaWdp
bnMudW5jaGVja2VkQXBwZW5kKHsgb2Zmc2V0WCwgb2Zmc2V0WSB9KTsKKyAgICAgICAgfQorICAg
ICAgICBGbG9hdFNpemUgaW5pdGlhbEFkdmFuY2UgPSB0b0Zsb2F0U2l6ZShvcmlnaW5zWzBdKTsK
KyAgICAgICAgYm9vbCBsdHIgPSAhaXRlbS5hLmZSVEw7CisgICAgICAgIG1fY29tcGxleFRleHRS
dW5zLmFwcGVuZChDb21wbGV4VGV4dFJ1bjo6Y3JlYXRlKGJhc2VBZHZhbmNlcywgb3JpZ2lucywg
Z2x5cGhzLCBzdHJpbmdJbmRpY2VzLCBpbml0aWFsQWR2YW5jZSwgKmZvbnQsIGNwLCBzdHJpbmdM
b2NhdGlvbiwgc3RyaW5nTGVuZ3RoLCBpdGVtLmlDaGFyUG9zLCBpdGVtc1tpKzFdLmlDaGFyUG9z
LCBsdHIpKTsKKyAgICB9Cit9CisKK30KKworI2VuZGlmIC8vICFVU0UoRElSRUNUMkQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENHV2luLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3BwCmlu
ZGV4IDBlZjY1NWQ4ZDA1YjZhNjFhOGE0ZTM4YTUxOTI2NzAwMWE0OGM5MmQuLjMzZjg1MmViNmU4
ZGJkYTQ1MGJmNWVmYTczMGU0MDZhOGFmZTk3ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3BwCkBAIC0zNCw3ICszNCw2IEBACiAj
aW5jbHVkZSAiR2x5cGhCdWZmZXIuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNp
bmNsdWRlICJJbnRSZWN0LmgiCi0jaW5jbHVkZSAiVW5pc2NyaWJlQ29udHJvbGxlci5oIgogI2lu
Y2x1ZGUgIldlYkNvcmVUZXh0UmVuZGVyZXIuaCIKICNpbmNsdWRlIDxwYWwvc3BpL2NnL0NvcmVH
cmFwaGljc1NQSS5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENhc2NhZGVEaXJlY3QyRC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENhc2NhZGVEaXJl
Y3QyRC5jcHAKaW5kZXggOTExMTJkOTY1Yzg5YmE3ZDRjNTdiZTdjNjkzZWNhMTc3MjY4NTlhZi4u
YjJkMzQ3MWI4YWMzMTkzNmIxMjI3MDNjZWM1OTgyYTA4NTg1ZWNjNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDYXNjYWRlRGlyZWN0MkQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q2FzY2FkZURp
cmVjdDJELmNwcApAQCAtMzcsNyArMzcsNiBAQAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dFBs
YXRmb3JtUHJpdmF0ZURpcmVjdDJELmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUg
IlBsYXRmb3JtQ29udGV4dERpcmVjdDJELmgiCi0jaW5jbHVkZSAiVW5pc2NyaWJlQ29udHJvbGxl
ci5oIgogI2luY2x1ZGUgIldlYkNvcmVUZXh0UmVuZGVyZXIuaCIKICNpbmNsdWRlIDxkMmQxLmg+
CiAjaW5jbHVkZSA8ZHdyaXRlXzMuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9Gb250V2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9Gb250V2luLmNwcAppbmRleCAxY2FhODAyMmUyNmE3MDdkMmYxYjQwZDA0OTFh
OGMwOGVhOGE0MmM0Li41MmNiODhmNTNkMDVhMTAxOTZlNjUxYmZkMmFjZDAzMmRjNzkyMmVhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFdpbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRXaW4uY3Bw
CkBAIC0zNSwxMCArMzUsNiBAQAogI2luY2x1ZGUgIlRleHRSdW4uaCIKICNpbmNsdWRlIDx3dGYv
TWF0aEV4dHJhcy5oPgogCi0jaWYgIVVTRShESVJFQ1QyRCkKLSNpbmNsdWRlICJVbmlzY3JpYmVD
b250cm9sbGVyLmgiCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBib29sIEZvbnRD
YXNjYWRlOjpjYW5SZXR1cm5GYWxsYmFja0ZvbnRzRm9yQ29tcGxleFRleHQoKQpAQCAtNTEsNzIg
KzQ3LDQgQEAgYm9vbCBGb250Q2FzY2FkZTo6Y2FuRXhwYW5kQXJvdW5kSWRlb2dyYXBoc0luQ29t
cGxleFRleHQoKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAotI2lmICFVU0UoRElSRUNUMkQpCi0K
LXZvaWQgRm9udENhc2NhZGU6OmFkanVzdFNlbGVjdGlvblJlY3RGb3JDb21wbGV4VGV4dChjb25z
dCBUZXh0UnVuJiBydW4sIExheW91dFJlY3QmIHNlbGVjdGlvblJlY3QsIHVuc2lnbmVkIGZyb20s
IHVuc2lnbmVkIHRvKSBjb25zdAotewotICAgIFVuaXNjcmliZUNvbnRyb2xsZXIgaXQodGhpcywg
cnVuKTsKLSAgICBpdC5hZHZhbmNlKGZyb20pOwotICAgIGZsb2F0IGJlZm9yZVdpZHRoID0gaXQu
cnVuV2lkdGhTb0ZhcigpOwotICAgIGl0LmFkdmFuY2UodG8pOwotICAgIGZsb2F0IGFmdGVyV2lk
dGggPSBpdC5ydW5XaWR0aFNvRmFyKCk7Ci0KLSAgICBpZiAocnVuLnJ0bCgpKSB7Ci0gICAgICAg
IGl0LmFkdmFuY2UocnVuLmxlbmd0aCgpKTsKLSAgICAgICAgc2VsZWN0aW9uUmVjdC5tb3ZlKGl0
LnJ1bldpZHRoU29GYXIoKSAtIGFmdGVyV2lkdGgsIDApOwotICAgIH0gZWxzZQotICAgICAgICBz
ZWxlY3Rpb25SZWN0Lm1vdmUoYmVmb3JlV2lkdGgsIDApOwotICAgIHNlbGVjdGlvblJlY3Quc2V0
V2lkdGgoYWZ0ZXJXaWR0aCAtIGJlZm9yZVdpZHRoKTsKLX0KLQotZmxvYXQgRm9udENhc2NhZGU6
OmdldEdseXBoc0FuZEFkdmFuY2VzRm9yQ29tcGxleFRleHQoY29uc3QgVGV4dFJ1biYgcnVuLCB1
bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCB0bywgR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCBGb3JU
ZXh0RW1waGFzaXNPck5vdCBmb3JUZXh0RW1waGFzaXMpIGNvbnN0Ci17Ci0gICAgaWYgKGZvclRl
eHRFbXBoYXNpcykgewotICAgICAgICAvLyBGSVhNRTogQWRkIGZvclRleHRFbXBoYXNpcyBwYXJl
bWV0ZXIgdG8gVW5pc2NyaWJlQ29udHJvbGxlciBhbmQgdXNlIGl0LgotICAgICAgICBMT0dfRVJS
T1IoIk5vdCBpbXBsZW1lbnRlZCBmb3IgdGV4dCBlbXBoYXNpcy4iKTsKLSAgICAgICAgcmV0dXJu
IDA7Ci0gICAgfQotCi0gICAgVW5pc2NyaWJlQ29udHJvbGxlciBjb250cm9sbGVyKHRoaXMsIHJ1
bik7Ci0gICAgY29udHJvbGxlci5hZHZhbmNlKGZyb20pOwotICAgIGZsb2F0IGJlZm9yZVdpZHRo
ID0gY29udHJvbGxlci5ydW5XaWR0aFNvRmFyKCk7Ci0gICAgY29udHJvbGxlci5hZHZhbmNlKHRv
LCAmZ2x5cGhCdWZmZXIpOwotCi0gICAgaWYgKGdseXBoQnVmZmVyLmlzRW1wdHkoKSkKLSAgICAg
ICAgcmV0dXJuIDA7Ci0KLSAgICBmbG9hdCBhZnRlcldpZHRoID0gY29udHJvbGxlci5ydW5XaWR0
aFNvRmFyKCk7Ci0KLSAgICBpZiAocnVuLnJ0bCgpKSB7Ci0gICAgICAgIGNvbnRyb2xsZXIuYWR2
YW5jZShydW4ubGVuZ3RoKCkpOwotICAgICAgICByZXR1cm4gY29udHJvbGxlci5ydW5XaWR0aFNv
RmFyKCkgLSBhZnRlcldpZHRoOwotICAgIH0KLSAgICByZXR1cm4gYmVmb3JlV2lkdGg7Ci19Ci0K
LWZsb2F0IEZvbnRDYXNjYWRlOjpmbG9hdFdpZHRoRm9yQ29tcGxleFRleHQoY29uc3QgVGV4dFJ1
biYgcnVuLCBIYXNoU2V0PGNvbnN0IEZvbnQqPiogZmFsbGJhY2tGb250cywgR2x5cGhPdmVyZmxv
dyogZ2x5cGhPdmVyZmxvdykgY29uc3QKLXsKLSAgICBVbmlzY3JpYmVDb250cm9sbGVyIGNvbnRy
b2xsZXIodGhpcywgcnVuLCBmYWxsYmFja0ZvbnRzKTsKLSAgICBjb250cm9sbGVyLmFkdmFuY2Uo
cnVuLmxlbmd0aCgpKTsKLSAgICBpZiAoZ2x5cGhPdmVyZmxvdykgewotICAgICAgICBnbHlwaE92
ZXJmbG93LT50b3AgPSBzdGQ6Om1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWNv
bnRyb2xsZXIubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSAoZ2x5cGhPdmVyZmxvdy0+Y29tcHV0
ZUJvdW5kcyA/IDAgOiBmb250TWV0cmljcygpLmFzY2VudCgpKSk7Ci0gICAgICAgIGdseXBoT3Zl
cmZsb3ctPmJvdHRvbSA9IHN0ZDo6bWF4PGludD4oZ2x5cGhPdmVyZmxvdy0+Ym90dG9tLCBjZWls
Zihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdCb3hZKCkpIC0gKGdseXBoT3ZlcmZsb3ctPmNv
bXB1dGVCb3VuZHMgPyAwICA6IGZvbnRNZXRyaWNzKCkuZGVzY2VudCgpKSk7Ci0gICAgICAgIGds
eXBoT3ZlcmZsb3ctPmxlZnQgPSBzdGQ6Om1heDxpbnQ+KDAsIGNlaWxmKC1jb250cm9sbGVyLm1p
bkdseXBoQm91bmRpbmdCb3hYKCkpKTsKLSAgICAgICAgZ2x5cGhPdmVyZmxvdy0+cmlnaHQgPSBz
dGQ6Om1heDxpbnQ+KDAsIGNlaWxmKGNvbnRyb2xsZXIubWF4R2x5cGhCb3VuZGluZ0JveFgoKSAt
IGNvbnRyb2xsZXIucnVuV2lkdGhTb0ZhcigpKSk7Ci0gICAgfQotICAgIHJldHVybiBjb250cm9s
bGVyLnJ1bldpZHRoU29GYXIoKTsKLX0KLQotaW50IEZvbnRDYXNjYWRlOjpvZmZzZXRGb3JQb3Np
dGlvbkZvckNvbXBsZXhUZXh0KGNvbnN0IFRleHRSdW4mIHJ1biwgZmxvYXQgeEZsb2F0LCBib29s
IGluY2x1ZGVQYXJ0aWFsR2x5cGhzKSBjb25zdAotewotICAgIC8vIEZJWE1FOiBUaGlzIHRydW5j
YXRpb24gaXMgbm90IGEgcHJvYmxlbSBmb3IgSFRNTCwgYnV0IG9ubHkgYWZmZWN0cyBTVkcsIHdo
aWNoIHBhc3NlcyBmbG9hdGluZy1wb2ludCBudW1iZXJzCi0gICAgLy8gdG8gRm9udENhc2NhZGU6
Om9mZnNldEZvclBvc2l0aW9uKCkuIEJ1ZyBodHRwOi8vd2Via2l0Lm9yZy9iLzQwNjczIHRyYWNr
cyBmaXhpbmcgdGhpcyBwcm9ibGVtLgotICAgIGludCB4ID0gc3RhdGljX2Nhc3Q8aW50Pih4Rmxv
YXQpOwotCi0gICAgVW5pc2NyaWJlQ29udHJvbGxlciBjb250cm9sbGVyKHRoaXMsIHJ1bik7Ci0g
ICAgcmV0dXJuIGNvbnRyb2xsZXIub2Zmc2V0Rm9yUG9zaXRpb24oeCwgaW5jbHVkZVBhcnRpYWxH
bHlwaHMpOwotfQotCi0jZW5kaWYKLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NzRjNDg2MGZmMTAwNDQwOTliNmFmM2Y5YmZiOWI0MGNk
Nzg4ZGE5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9VbmlzY3JpYmVDb250cm9sbGVyLmNw
cAorKysgL2Rldi9udWxsCkBAIC0xLDQ1OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDA3LCAyMDA4LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlVuaXNjcmliZUNvbnRyb2xs
ZXIuaCIKLQotI2luY2x1ZGUgIkZvbnQuaCIKLSNpbmNsdWRlICJGb250Q2FzY2FkZS5oIgotI2lu
Y2x1ZGUgIkhXbmREQy5oIgotI2luY2x1ZGUgIlRleHRSdW4uaCIKLSNpbmNsdWRlIDx3dGYvTWF0
aEV4dHJhcy5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L3dpbi9XQ2hhclN0cmluZ0V4dHJhcy5oPgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci11c2luZyBuYW1lc3BhY2UgV1RGOjpVbmljb2RlOwotCi0v
LyBGSVhNRTogUmVhcmNoaXRlY3QgdGhpcyB0byBiZSBtb3JlIGxpa2UgV2lkdGhJdGVyYXRvciBp
biBGb250LmNwcC4gIEhhdmUgYW4gYWR2YW5jZSgpIG1ldGhvZAotLy8gdGhhdCBkb2VzIHN0dWZm
IGluIHRoYXQgbWV0aG9kIGluc3RlYWQgb2YgZG9pbmcgZXZlcnl0aGluZyBpbiB0aGUgY29uc3Ry
dWN0b3IuICBIYXZlIGFkdmFuY2UoKQotLy8gdGFrZSB0aGUgR2x5cGhCdWZmZXIgYXMgYW4gYXJn
IHNvIHRoYXQgd2UgZG9uJ3QgaGF2ZSB0byBwb3B1bGF0ZSB0aGUgZ2x5cGggYnVmZmVyIHdoZW4K
LS8vIG1lYXN1cmluZy4KLVVuaXNjcmliZUNvbnRyb2xsZXI6OlVuaXNjcmliZUNvbnRyb2xsZXIo
Y29uc3QgRm9udENhc2NhZGUqIGZvbnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgSGFzaFNldDxjb25z
dCBGb250Kj4qIGZhbGxiYWNrRm9udHMpCi0gICAgOiBtX2ZvbnQoKmZvbnQpCi0gICAgLCBtX3J1
bihydW4pCi0gICAgLCBtX2ZhbGxiYWNrRm9udHMoZmFsbGJhY2tGb250cykKLSAgICAsIG1fbWlu
R2x5cGhCb3VuZGluZ0JveFgoc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46Om1heCgpKQotICAg
ICwgbV9tYXhHbHlwaEJvdW5kaW5nQm94WChzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWlu
KCkpCi0gICAgLCBtX21pbkdseXBoQm91bmRpbmdCb3hZKHN0ZDo6bnVtZXJpY19saW1pdHM8Zmxv
YXQ+OjptYXgoKSkKLSAgICAsIG1fbWF4R2x5cGhCb3VuZGluZ0JveFkoc3RkOjpudW1lcmljX2xp
bWl0czxmbG9hdD46Om1pbigpKQotICAgICwgbV9jdXJyZW50Q2hhcmFjdGVyKDApCi0gICAgLCBt
X2VuZChydW4ubGVuZ3RoKCkpCi0gICAgLCBtX3J1bldpZHRoU29GYXIoMCkKLSAgICAsIG1fcGFk
ZGluZyhydW4uZXhwYW5zaW9uKCkpCi0gICAgLCBtX2NvbXB1dGluZ09mZnNldFBvc2l0aW9uKGZh
bHNlKQotICAgICwgbV9pbmNsdWRlUGFydGlhbEdseXBocyhmYWxzZSkKLSAgICAsIG1fb2Zmc2V0
WCgwKQotICAgICwgbV9vZmZzZXRQb3NpdGlvbigwKQotewotICAgIGlmICghbV9wYWRkaW5nKQot
ICAgICAgICBtX3BhZFBlclNwYWNlID0gMDsKLSAgICBlbHNlIHsKLSAgICAgICAgZmxvYXQgbnVt
U3BhY2VzID0gMDsKLSAgICAgICAgZm9yIChpbnQgcyA9IDA7IHMgPCBtX3J1bi5sZW5ndGgoKTsg
cysrKSB7Ci0gICAgICAgICAgICBpZiAoRm9udENhc2NhZGU6OnRyZWF0QXNTcGFjZShtX3J1bltz
XSkpCi0gICAgICAgICAgICAgICAgbnVtU3BhY2VzKys7Ci0gICAgICAgIH0KLQotICAgICAgICBp
ZiAobnVtU3BhY2VzID09IDApCi0gICAgICAgICAgICBtX3BhZFBlclNwYWNlID0gMDsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgbV9wYWRQZXJTcGFjZSA9IG1fcGFkZGluZyAvIG51bVNwYWNl
czsKLSAgICB9Ci0KLSAgICAvLyBOdWxsIG91dCBvdXIgdW5pc2NyaWJlIHN0cnVjdHMKLSAgICBy
ZXNldENvbnRyb2xBbmRTdGF0ZSgpOwotfQotCi1pbnQgVW5pc2NyaWJlQ29udHJvbGxlcjo6b2Zm
c2V0Rm9yUG9zaXRpb24oaW50IHgsIGJvb2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMpCi17Ci0gICAg
bV9jb21wdXRpbmdPZmZzZXRQb3NpdGlvbiA9IHRydWU7Ci0gICAgbV9pbmNsdWRlUGFydGlhbEds
eXBocyA9IGluY2x1ZGVQYXJ0aWFsR2x5cGhzOwotICAgIG1fb2Zmc2V0WCA9IHg7Ci0gICAgbV9v
ZmZzZXRQb3NpdGlvbiA9IDA7Ci0gICAgYWR2YW5jZShtX3J1bi5sZW5ndGgoKSk7Ci0gICAgaWYg
KG1fY29tcHV0aW5nT2Zmc2V0UG9zaXRpb24pIHsKLSAgICAgICAgLy8gVGhlIHBvaW50IGlzIHRv
IHRoZSBsZWZ0IG9yIHRvIHRoZSByaWdodCBvZiB0aGUgZW50aXJlIHJ1bi4KLSAgICAgICAgaWYg
KChtX29mZnNldFggPj0gbV9ydW5XaWR0aFNvRmFyICYmIG1fcnVuLmx0cigpKSB8fCAobV9vZmZz
ZXRYIDwgMCAmJiBtX3J1bi5ydGwoKSkpCi0gICAgICAgICAgICBtX29mZnNldFBvc2l0aW9uID0g
bV9lbmQ7Ci0gICAgfQotICAgIG1fY29tcHV0aW5nT2Zmc2V0UG9zaXRpb24gPSBmYWxzZTsKLSAg
ICByZXR1cm4gbV9vZmZzZXRQb3NpdGlvbjsKLX0KLQotdm9pZCBVbmlzY3JpYmVDb250cm9sbGVy
OjphZHZhbmNlKHVuc2lnbmVkIG9mZnNldCwgR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyKQotewot
ICAgIC8vIEZJWE1FOiBXZSByZWFsbHkgd2FudCB0byBiZSB1c2luZyBhIG5ld2VyIHZlcnNpb24g
b2YgVW5pc2NyaWJlIHRoYXQgc3VwcG9ydHMgdGhlIG5ldyBPcGVuVHlwZQotICAgIC8vIGZ1bmN0
aW9ucy4gIFRob3NlIGZ1bmN0aW9ucyB3b3VsZCBhbGxvdyB1cyB0byB0dXJuIG9mZiBrZXJuaW5n
IGFuZCBsaWdhdHVyZXMuICBXaXRob3V0IGJlaW5nIGFibGUKLSAgICAvLyB0byBkbyB0aGF0LCB3
ZSB3aWxsIGhhdmUgYnVnZ3kgbGluZSBicmVha2luZyBhbmQgbWV0cmljcyB3aGVuIHNpbXBsZSBh
bmQgY29tcGxleCB0ZXh0IGFyZSBjbG9zZQotICAgIC8vIHRvZ2V0aGVyICh0aGUgY29tcGxleCBj
b2RlIHBhdGggd2lsbCBuYXJyb3cgdGhlIHRleHQgYmVjYXVzZSBvZiBrZXJuaW5nIGFuZCBsaWdh
dHVyZXMgYW5kIHRoZW4KLSAgICAvLyB3aGVuIGJpZGkgcHJvY2Vzc2luZyBzcGxpdHMgaW50byBt
dWx0aXBsZSBydW5zLCB0aGUgc2ltcGxlIHBvcnRpb25zIHdpbGwgZ2V0IHdpZGVyIGFuZCBjYXVz
ZSB1cyB0bwotICAgIC8vIHNwaWxsIG9mZiB0aGUgZWRnZSBvZiBhIGxpbmUpLgotICAgIGlmIChz
dGF0aWNfY2FzdDxpbnQ+KG9mZnNldCkgPiBtX2VuZCkKLSAgICAgICAgb2Zmc2V0ID0gbV9lbmQ7
Ci0KLSAgICBpbnQgbGVuZ3RoID0gb2Zmc2V0IC0gbV9jdXJyZW50Q2hhcmFjdGVyOwotICAgIGlm
IChsZW5ndGggPD0gMCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgU3RyaW5nIGJ1ZmZlckZvcjE2
Qml0RGF0YTsKLQotICAgIC8vIEl0ZW1pemUgdGhlIHN0cmluZy4KLSAgICBjb25zdCBVQ2hhciog
Y3AgPSBudWxscHRyOwotICAgIGlmIChtX3J1bi5pczhCaXQoKSkgewotICAgICAgICAvLyBVbmlz
Y3JpYmUgb25seSBkZWFscyB3aXRoIDE2LWJpdCBjaGFyYWN0ZXJzLiBNdXN0IGdlbmVyYXRlIHRo
ZW0gbm93LgotICAgICAgICBidWZmZXJGb3IxNkJpdERhdGEgPSBTdHJpbmc6Om1ha2UxNkJpdEZy
b204Qml0U291cmNlKG1fcnVuLmRhdGE4KG1fY3VycmVudENoYXJhY3RlciksIGxlbmd0aCk7Ci0g
ICAgICAgIGNwID0gYnVmZmVyRm9yMTZCaXREYXRhLmNoYXJhY3RlcnMxNigpOwotICAgIH0gZWxz
ZQotICAgICAgICBjcCA9IG1fcnVuLmRhdGExNihtX2N1cnJlbnRDaGFyYWN0ZXIpOwotCi0gICAg
dW5zaWduZWQgYmFzZUNoYXJhY3RlciA9IG1fY3VycmVudENoYXJhY3RlcjsKLQotICAgIC8vIFdl
IGJyZWFrIHVwIGl0ZW1pemF0aW9uIG9mIHRoZSBzdHJpbmcgYnkgZm9udERhdGEgYW5kIChpZiBu
ZWVkZWQpIHRoZSB1c2Ugb2Ygc21hbGwgY2Fwcy4KLQotICAgIC8vIEZJWE1FOiBJdCdzIGluY29u
c2lzdGVudCB0aGF0IHdlIHVzZSBsb2dpY2FsIG9yZGVyIHdoZW4gaXRlbWl6aW5nLCBzaW5jZSB0
aGlzCi0gICAgLy8gZG9lcyBub3QgbWF0Y2ggbm9ybWFsIFJUTC4KLQotICAgIC8vIEZJWE1FOiBU
aGlzIGZ1bmN0aW9uIHNob3VsZCBkZWNvZGUgc3Vycm9nYXRlIHBhaXJzLiBDdXJyZW50bHkgaXQg
bWFrZXMgbGl0dGxlIGRpZmZlcmVuY2UgdGhhdAotICAgIC8vIGl0IGRvZXMgbm90IGJlY2F1c2Ug
dGhlIGZvbnQgY2FjaGUgb24gV2luZG93cyBkb2VzIG5vdCBzdXBwb3J0IG5vbi1CTVAgY2hhcmFj
dGVycy4KLSAgICBWZWN0b3I8VUNoYXIsIDI1Nj4gc21hbGxDYXBzQnVmZmVyOwotICAgIGlmICht
X2ZvbnQuaXNTbWFsbENhcHMoKSkKLSAgICAgICAgc21hbGxDYXBzQnVmZmVyLnJlc2l6ZShsZW5n
dGgpOwotCi0gICAgdW5zaWduZWQgaW5kZXhPZkZvbnRUcmFuc2l0aW9uID0gbV9ydW4ucnRsKCkg
PyBsZW5ndGggLSAxIDogMDsKLSAgICBjb25zdCBVQ2hhciogY3VyciA9IG1fcnVuLnJ0bCgpID8g
Y3AgKyBsZW5ndGggIC0gMSA6IGNwOwotICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBtX3J1bi5ydGwo
KSA/IGNwIC0gMSA6IGNwICsgbGVuZ3RoOwotCi0gICAgY29uc3QgRm9udCogZm9udERhdGE7Ci0g
ICAgY29uc3QgRm9udCogbmV4dEZvbnREYXRhID0gbV9mb250LmdseXBoRGF0YUZvckNoYXJhY3Rl
cigqY3VyciwgZmFsc2UpLmZvbnQ7Ci0KLSAgICBVQ2hhciBuZXdDID0gMDsKLQotICAgIGJvb2wg
aXNTbWFsbENhcHM7Ci0gICAgYm9vbCBuZXh0SXNTbWFsbENhcHMgPSBtX2ZvbnQuaXNTbWFsbENh
cHMoKSAmJiAhKFVfR0VUX0dDX01BU0soKmN1cnIpICYgVV9HQ19NX01BU0spICYmIChuZXdDID0g
dV90b3VwcGVyKCpjdXJyKSkgIT0gKmN1cnI7Ci0KLSAgICBpZiAobmV4dElzU21hbGxDYXBzKQot
ICAgICAgICBzbWFsbENhcHNCdWZmZXJbY3VyciAtIGNwXSA9IG5ld0M7Ci0KLSAgICB3aGlsZSAo
dHJ1ZSkgewotICAgICAgICBjdXJyID0gbV9ydW4ucnRsKCkgPyBjdXJyIC0gMSA6IGN1cnIgKyAx
OwotICAgICAgICBpZiAoY3VyciA9PSBlbmQpCi0gICAgICAgICAgICBicmVhazsKLQotICAgICAg
ICBmb250RGF0YSA9IG5leHRGb250RGF0YTsKLSAgICAgICAgaXNTbWFsbENhcHMgPSBuZXh0SXNT
bWFsbENhcHM7Ci0gICAgICAgIGludCBpbmRleCA9IGN1cnIgLSBjcDsKLSAgICAgICAgVUNoYXIg
YyA9ICpjdXJyOwotCi0gICAgICAgIGJvb2wgZm9yY2VTbWFsbENhcHMgPSBpc1NtYWxsQ2FwcyAm
JiAoVV9HRVRfR0NfTUFTSyhjKSAmIFVfR0NfTV9NQVNLKTsKLSAgICAgICAgbmV4dEZvbnREYXRh
ID0gbV9mb250LmdseXBoRGF0YUZvckNoYXJhY3RlcigqY3VyciwgZmFsc2UsIGZvcmNlU21hbGxD
YXBzID8gU21hbGxDYXBzVmFyaWFudCA6IEF1dG9WYXJpYW50KS5mb250OwotICAgICAgICBpZiAo
bV9mb250LmlzU21hbGxDYXBzKCkpIHsKLSAgICAgICAgICAgIG5leHRJc1NtYWxsQ2FwcyA9IGZv
cmNlU21hbGxDYXBzIHx8IChuZXdDID0gdV90b3VwcGVyKGMpKSAhPSBjOwotICAgICAgICAgICAg
aWYgKG5leHRJc1NtYWxsQ2FwcykKLSAgICAgICAgICAgICAgICBzbWFsbENhcHNCdWZmZXJbaW5k
ZXhdID0gZm9yY2VTbWFsbENhcHMgPyBjIDogbmV3QzsKLSAgICAgICAgfQotCi0gICAgICAgIGlm
IChtX2ZhbGxiYWNrRm9udHMgJiYgZm9udERhdGEgJiYgbmV4dEZvbnREYXRhICE9IGZvbnREYXRh
ICYmIGZvbnREYXRhICE9ICZtX2ZvbnQucHJpbWFyeUZvbnQoKSkKLSAgICAgICAgICAgIG1fZmFs
bGJhY2tGb250cy0+YWRkKGZvbnREYXRhKTsKLQotICAgICAgICBpZiAobmV4dEZvbnREYXRhICE9
IGZvbnREYXRhIHx8IG5leHRJc1NtYWxsQ2FwcyAhPSBpc1NtYWxsQ2FwcykgewotICAgICAgICAg
ICAgaW50IGl0ZW1TdGFydCA9IG1fcnVuLnJ0bCgpID8gaW5kZXggKyAxIDogaW5kZXhPZkZvbnRU
cmFuc2l0aW9uOwotICAgICAgICAgICAgaW50IGl0ZW1MZW5ndGggPSBtX3J1bi5ydGwoKSA/IGlu
ZGV4T2ZGb250VHJhbnNpdGlvbiAtIGluZGV4IDogaW5kZXggLSBpbmRleE9mRm9udFRyYW5zaXRp
b247Ci0gICAgICAgICAgICBtX2N1cnJlbnRDaGFyYWN0ZXIgPSBiYXNlQ2hhcmFjdGVyICsgaXRl
bVN0YXJ0OwotICAgICAgICAgICAgaXRlbWl6ZVNoYXBlQW5kUGxhY2UoKGlzU21hbGxDYXBzID8g
c21hbGxDYXBzQnVmZmVyLmRhdGEoKSA6IGNwKSArIGl0ZW1TdGFydCwgaXRlbVN0YXJ0LCBpdGVt
TGVuZ3RoLCBmb250RGF0YSwgZ2x5cGhCdWZmZXIpOwotICAgICAgICAgICAgaW5kZXhPZkZvbnRU
cmFuc2l0aW9uID0gaW5kZXg7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgCi0gICAgaW50IGl0ZW1M
ZW5ndGggPSBtX3J1bi5ydGwoKSA/IGluZGV4T2ZGb250VHJhbnNpdGlvbiArIDEgOiBsZW5ndGgg
LSBpbmRleE9mRm9udFRyYW5zaXRpb247Ci0gICAgaWYgKGl0ZW1MZW5ndGgpIHsKLSAgICAgICAg
aWYgKG1fZmFsbGJhY2tGb250cyAmJiBuZXh0Rm9udERhdGEgJiYgbmV4dEZvbnREYXRhICE9ICZt
X2ZvbnQucHJpbWFyeUZvbnQoKSkKLSAgICAgICAgICAgIG1fZmFsbGJhY2tGb250cy0+YWRkKG5l
eHRGb250RGF0YSk7Ci0KLSAgICAgICAgaW50IGl0ZW1TdGFydCA9IG1fcnVuLnJ0bCgpID8gMCA6
IGluZGV4T2ZGb250VHJhbnNpdGlvbjsKLSAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVyID0gYmFz
ZUNoYXJhY3RlciArIGl0ZW1TdGFydDsKLSAgICAgICAgaXRlbWl6ZVNoYXBlQW5kUGxhY2UoKG5l
eHRJc1NtYWxsQ2FwcyA/IHNtYWxsQ2Fwc0J1ZmZlci5kYXRhKCkgOiBjcCkgKyBpdGVtU3RhcnQs
IGl0ZW1TdGFydCwgaXRlbUxlbmd0aCwgbmV4dEZvbnREYXRhLCBnbHlwaEJ1ZmZlcik7Ci0gICAg
fQotCi0gICAgbV9jdXJyZW50Q2hhcmFjdGVyID0gYmFzZUNoYXJhY3RlciArIGxlbmd0aDsKLX0K
LQotdm9pZCBVbmlzY3JpYmVDb250cm9sbGVyOjppdGVtaXplU2hhcGVBbmRQbGFjZShjb25zdCBV
Q2hhciogY3AsIHVuc2lnbmVkIHN0cmluZ09mZnNldCwgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBG
b250KiBmb250RGF0YSwgR2x5cGhCdWZmZXIqIGdseXBoQnVmZmVyKQotewotICAgIC8vIFNjcmlw
dEl0ZW1pemUgKGluIFdpbmRvd3MgWFAgdmVyc2lvbnMgcHJpb3IgdG8gU1AyKSBjYW4gb3ZlcmZs
b3cgYnkgMS4gIFRoaXMgaXMgd2h5IHRoZXJlIGlzIGFuIGV4dHJhIGVtcHR5IGl0ZW0KLSAgICAv
LyBoYW5naW5nIG91dCBhdCB0aGUgZW5kIG9mIHRoZSBhcnJheQotICAgIG1faXRlbXMucmVzaXpl
KDYpOwotICAgIGludCBudW1JdGVtcyA9IDA7Ci0gICAgSFJFU1VMVCByYyA9IFNfT0s7Ci0gICAg
d2hpbGUgKHJjID0gOjpTY3JpcHRJdGVtaXplKHdjaGFyRnJvbShjcCksIGxlbmd0aCwgbV9pdGVt
cy5zaXplKCkgLSAxLCAmbV9jb250cm9sLCAmbV9zdGF0ZSwgbV9pdGVtcy5kYXRhKCksICZudW1J
dGVtcykgPT0gRV9PVVRPRk1FTU9SWSkgewotICAgICAgICBtX2l0ZW1zLnJlc2l6ZShtX2l0ZW1z
LnNpemUoKSAqIDIpOwotICAgICAgICByZXNldENvbnRyb2xBbmRTdGF0ZSgpOwotICAgIH0KLSAg
ICBpZiAoRkFJTEVEKHJjKSkgewotICAgICAgICBXVEZMb2dBbHdheXMoIlVuaXNjcmliZUNvbnRy
b2xsZXI6Oml0ZW1pemVTaGFwZUFuZFBsYWNlOiBTY3JpcHRJdGVtaXplIGZhaWxlZCwgcmM9JWx4
IiwgcmMpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIG1faXRlbXMucmVzaXplKG51bUl0
ZW1zICsgMSk7Ci0KLSAgICBpZiAobV9ydW4ucnRsKCkpIHsKLSAgICAgICAgZm9yIChpbnQgaSA9
IG1faXRlbXMuc2l6ZSgpIC0gMjsgaSA+PSAwOyBpLS0pIHsKLSAgICAgICAgICAgIGlmICghc2hh
cGVBbmRQbGFjZUl0ZW0oY3AsIHN0cmluZ09mZnNldCwgaSwgZm9udERhdGEsIGdseXBoQnVmZmVy
KSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgewotICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9pdGVtcy5zaXplKCkgLSAxOyBpKyspIHsK
LSAgICAgICAgICAgIGlmICghc2hhcGVBbmRQbGFjZUl0ZW0oY3AsIHN0cmluZ09mZnNldCwgaSwg
Zm9udERhdGEsIGdseXBoQnVmZmVyKSkKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IH0KLSAgICB9Ci19Ci0KLXZvaWQgVW5pc2NyaWJlQ29udHJvbGxlcjo6cmVzZXRDb250cm9sQW5k
U3RhdGUoKQotewotICAgIG1lbXNldCgmbV9jb250cm9sLCAwLCBzaXplb2YoU0NSSVBUX0NPTlRS
T0wpKTsKLSAgICBtZW1zZXQoJm1fc3RhdGUsIDAsIHNpemVvZihTQ1JJUFRfU1RBVEUpKTsKLQot
ICAgIC8vIFNldCB1cCB0aGUgY29ycmVjdCBkaXJlY3Rpb24gZm9yIHRoZSBydW4uCi0gICAgbV9z
dGF0ZS51QmlkaUxldmVsID0gbV9ydW4ucnRsKCk7Ci0gICAgCi0gICAgLy8gTG9jayB0aGUgY29y
cmVjdCBkaXJlY3Rpb25hbCBvdmVycmlkZS4KLSAgICBtX3N0YXRlLmZPdmVycmlkZURpcmVjdGlv
biA9IG1fcnVuLmRpcmVjdGlvbmFsT3ZlcnJpZGUoKTsKLX0KLQotYm9vbCBVbmlzY3JpYmVDb250
cm9sbGVyOjpzaGFwZUFuZFBsYWNlSXRlbShjb25zdCBVQ2hhciogY3AsIHVuc2lnbmVkIHN0cmlu
Z09mZnNldCwgdW5zaWduZWQgaSwgY29uc3QgRm9udCogZm9udERhdGEsIEdseXBoQnVmZmVyKiBn
bHlwaEJ1ZmZlcikKLXsKLSAgICAvLyBEZXRlcm1pbmUgdGhlIHN0cmluZyBmb3IgdGhpcyBpdGVt
LgotICAgIGNvbnN0IFVDaGFyKiBzdHIgPSBjcCArIG1faXRlbXNbaV0uaUNoYXJQb3M7Ci0gICAg
aW50IGxlbiA9IG1faXRlbXNbaSsxXS5pQ2hhclBvcyAtIG1faXRlbXNbaV0uaUNoYXJQb3M7Ci0g
ICAgU0NSSVBUX0lURU0gaXRlbSA9IG1faXRlbXNbaV07Ci0KLSAgICAvLyBTZXQgdXAgYnVmZmVy
cyB0byBob2xkIHRoZSByZXN1bHRzIG9mIHNoYXBpbmcgdGhlIGl0ZW0uCi0gICAgVmVjdG9yPFdP
UkQ+IGdseXBoczsKLSAgICBWZWN0b3I8V09SRD4gY2x1c3RlcnM7Ci0gICAgVmVjdG9yPFNDUklQ
VF9WSVNBVFRSPiB2aXN1YWxBdHRyaWJ1dGVzOwotICAgIGNsdXN0ZXJzLnJlc2l6ZShsZW4pOwot
ICAgICAKLSAgICAvLyBTaGFwZSB0aGUgaXRlbS4KLSAgICAvLyBUaGUgcmVjb21tZW5kZWQgc2l6
ZSBmb3IgdGhlIGdseXBoIGJ1ZmZlciBpcyAxLjUgKiB0aGUgY2hhcmFjdGVyIGxlbmd0aCArIDE2
IGluIHRoZSB1bmlzY3JpYmUgZG9jcy4KLSAgICAvLyBBcHBhcmVudGx5IHRoaXMgaXMgYSBnb29k
IHNpemUgdG8gYXZvaWQgaGF2aW5nIHRvIG1ha2UgcmVwZWF0ZWQgY2FsbHMgdG8gU2NyaXB0U2hh
cGUuCi0gICAgZ2x5cGhzLnJlc2l6ZSgxLjUgKiBsZW4gKyAxNik7Ci0gICAgdmlzdWFsQXR0cmli
dXRlcy5yZXNpemUoZ2x5cGhzLnNpemUoKSk7Ci0KLSAgICBpZiAoIXNoYXBlKHN0ciwgbGVuLCBp
dGVtLCBmb250RGF0YSwgZ2x5cGhzLCBjbHVzdGVycywgdmlzdWFsQXR0cmlidXRlcykpCi0gICAg
ICAgIHJldHVybiB0cnVlOwotCi0gICAgVmVjdG9yPE9wdGlvbmFsPHVuc2lnbmVkPj4gc3RyaW5n
T2Zmc2V0cyhnbHlwaHMuc2l6ZSgpKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVu
OyArK2kpIHsKLSAgICAgICAgaWYgKHN0cmluZ09mZnNldHNbY2x1c3RlcnNbaV1dKQotICAgICAg
ICAgICAgc3RyaW5nT2Zmc2V0c1tjbHVzdGVyc1tpXV0gPSBzdGQ6Om1pbigqc3RyaW5nT2Zmc2V0
c1tjbHVzdGVyc1tpXV0sIGkpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBzdHJpbmdPZmZz
ZXRzW2NsdXN0ZXJzW2ldXSA9IGk7Ci0gICAgfQotCi0gICAgLy8gV2Ugbm93IGhhdmUgYSBjb2xs
ZWN0aW9uIG9mIGdseXBocy4KLSAgICBWZWN0b3I8R09GRlNFVD4gb2Zmc2V0czsKLSAgICBWZWN0
b3I8aW50PiBhZHZhbmNlczsKLSAgICBvZmZzZXRzLnJlc2l6ZShnbHlwaHMuc2l6ZSgpKTsKLSAg
ICBhZHZhbmNlcy5yZXNpemUoZ2x5cGhzLnNpemUoKSk7Ci0gICAgSFJFU1VMVCBwbGFjZVJlc3Vs
dCA9IFNjcmlwdFBsYWNlKDAsIGZvbnREYXRhLT5zY3JpcHRDYWNoZSgpLCBnbHlwaHMuZGF0YSgp
LCBnbHlwaHMuc2l6ZSgpLCB2aXN1YWxBdHRyaWJ1dGVzLmRhdGEoKSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJml0ZW0uYSwgYWR2YW5jZXMuZGF0YSgpLCBvZmZzZXRz
LmRhdGEoKSwgMCk7Ci0gICAgaWYgKHBsYWNlUmVzdWx0ID09IEVfUEVORElORykgewotICAgICAg
ICAvLyBUaGUgc2NyaXB0IGNhY2hlIGlzbid0IHByaW1lZCB3aXRoIGVub3VnaCBpbmZvIHlldC4g
IFdlIG5lZWQgdG8gc2VsZWN0IG91ciBIRk9OVCBpbnRvCi0gICAgICAgIC8vIGEgREMgYW5kIHBh
c3MgdGhlIERDIGluIHRvIFNjcmlwdFBsYWNlLgotICAgICAgICBIV25kREMgaGRjKDApOwotICAg
ICAgICBIRk9OVCBoZm9udCA9IGZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5oZm9udCgpOwotICAg
ICAgICBIRk9OVCBvbGRGb250ID0gKEhGT05UKVNlbGVjdE9iamVjdChoZGMsIGhmb250KTsKLSAg
ICAgICAgcGxhY2VSZXN1bHQgPSBTY3JpcHRQbGFjZShoZGMsIGZvbnREYXRhLT5zY3JpcHRDYWNo
ZSgpLCBnbHlwaHMuZGF0YSgpLCBnbHlwaHMuc2l6ZSgpLCB2aXN1YWxBdHRyaWJ1dGVzLmRhdGEo
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaXRlbS5hLCBhZHZhbmNlcy5k
YXRhKCksIG9mZnNldHMuZGF0YSgpLCAwKTsKLSAgICAgICAgU2VsZWN0T2JqZWN0KGhkYywgb2xk
Rm9udCk7Ci0gICAgfQotICAgIAotICAgIGlmIChGQUlMRUQocGxhY2VSZXN1bHQpIHx8IGdseXBo
cy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgLy8gQ29udmVydCBhbGwg
Y2hhcnMgdGhhdCBzaG91bGQgYmUgdHJlYXRlZCBhcyBzcGFjZXMgdG8gdXNlIHRoZSBzcGFjZSBn
bHlwaC4KLSAgICAvLyBXZSBhbHNvIGNyZWF0ZSBhIG1hcCB0aGF0IGFsbG93cyB1cyB0byBxdWlj
a2x5IGdvIGZyb20gc3BhY2UgZ2x5cGhzIGJhY2sgdG8gdGhlaXIgY29ycmVzcG9uZGluZyBjaGFy
YWN0ZXJzLgotICAgIFZlY3RvcjxpbnQ+IHNwYWNlQ2hhcmFjdGVycyhnbHlwaHMuc2l6ZSgpKTsK
LSAgICBzcGFjZUNoYXJhY3RlcnMuZmlsbCgtMSk7Ci0KLSAgICBjb25zdCBmbG9hdCBjTG9naWNh
bFNjYWxlID0gZm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLnVzZUdESSgpID8gMS4wZiA6IDMyLjBm
OwotICAgIGZsb2F0IHNwYWNlV2lkdGggPSBmb250RGF0YS0+c3BhY2VXaWR0aCgpIC0gZm9udERh
dGEtPnN5bnRoZXRpY0JvbGRPZmZzZXQoKTsKLSAgICB1bnNpZ25lZCBsb2dpY2FsU3BhY2VXaWR0
aCA9IHNwYWNlV2lkdGggKiBjTG9naWNhbFNjYWxlOwotCi0gICAgZm9yIChpbnQgayA9IDA7IGsg
PCBsZW47IGsrKykgewotICAgICAgICBVQ2hhciBjaCA9ICooc3RyICsgayk7Ci0gICAgICAgIGJv
b2wgdHJlYXRBc1NwYWNlID0gRm9udENhc2NhZGU6OnRyZWF0QXNTcGFjZShjaCk7Ci0gICAgICAg
IGJvb2wgdHJlYXRBc1plcm9XaWR0aFNwYWNlID0gRm9udENhc2NhZGU6OnRyZWF0QXNaZXJvV2lk
dGhTcGFjZShjaCk7Ci0gICAgICAgIGlmICh0cmVhdEFzU3BhY2UgfHwgdHJlYXRBc1plcm9XaWR0
aFNwYWNlKSB7Ci0gICAgICAgICAgICAvLyBTdWJzdGl0dXRlIGluIHRoZSBzcGFjZSBnbHlwaCBh
dCB0aGUgYXBwcm9wcmlhdGUgcGxhY2UgaW4gdGhlIGdseXBocwotICAgICAgICAgICAgLy8gYXJy
YXkuCi0gICAgICAgICAgICBnbHlwaHNbY2x1c3RlcnNba11dID0gZm9udERhdGEtPnNwYWNlR2x5
cGgoKTsKLSAgICAgICAgICAgIGFkdmFuY2VzW2NsdXN0ZXJzW2tdXSA9IHRyZWF0QXNTcGFjZSA/
IGxvZ2ljYWxTcGFjZVdpZHRoIDogMDsKLSAgICAgICAgICAgIGlmICh0cmVhdEFzU3BhY2UpCi0g
ICAgICAgICAgICAgICAgc3BhY2VDaGFyYWN0ZXJzW2NsdXN0ZXJzW2tdXSA9IG1fY3VycmVudENo
YXJhY3RlciArIGsgKyBpdGVtLmlDaGFyUG9zOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgLy8g
UG9wdWxhdGUgb3VyIGdseXBoIGJ1ZmZlciB3aXRoIHRoaXMgaW5mb3JtYXRpb24uCi0gICAgYm9v
bCBoYXNFeHRyYVNwYWNpbmcgPSBtX2ZvbnQubGV0dGVyU3BhY2luZygpIHx8IG1fZm9udC53b3Jk
U3BhY2luZygpIHx8IG1fcGFkZGluZzsKLSAgICAKLSAgICBmbG9hdCBsZWZ0RWRnZSA9IG1fcnVu
V2lkdGhTb0ZhcjsKLQotICAgIGZvciAodW5zaWduZWQgayA9IDA7IGsgPCBnbHlwaHMuc2l6ZSgp
OyBrKyspIHsKLSAgICAgICAgR2x5cGggZ2x5cGggPSBnbHlwaHNba107Ci0gICAgICAgIGZsb2F0
IGFkdmFuY2UgPSBhZHZhbmNlc1trXSAvIGNMb2dpY2FsU2NhbGU7Ci0gICAgICAgIGZsb2F0IG9m
ZnNldFggPSBvZmZzZXRzW2tdLmR1IC8gY0xvZ2ljYWxTY2FsZTsKLSAgICAgICAgZmxvYXQgb2Zm
c2V0WSA9IG9mZnNldHNba10uZHYgLyBjTG9naWNhbFNjYWxlOwotCi0gICAgICAgIC8vIE1hdGNo
IEFwcEtpdCdzIHJ1bGVzIGZvciB0aGUgaW50ZWdlciB2cy4gbm9uLWludGVnZXIgcmVuZGVyaW5n
IG1vZGVzLgotICAgICAgICBmbG9hdCByb3VuZGVkQWR2YW5jZSA9IHJvdW5kZihhZHZhbmNlKTsK
LSAgICAgICAgaWYgKCFmb250RGF0YS0+cGxhdGZvcm1EYXRhKCkuaXNTeXN0ZW1Gb250KCkpIHsK
LSAgICAgICAgICAgIGFkdmFuY2UgPSByb3VuZGVkQWR2YW5jZTsKLSAgICAgICAgICAgIG9mZnNl
dFggPSByb3VuZGYob2Zmc2V0WCk7Ci0gICAgICAgICAgICBvZmZzZXRZID0gcm91bmRmKG9mZnNl
dFkpOwotICAgICAgICB9Ci0KLSAgICAgICAgYWR2YW5jZSArPSBmb250RGF0YS0+c3ludGhldGlj
Qm9sZE9mZnNldCgpOwotCi0gICAgICAgIGlmIChoYXNFeHRyYVNwYWNpbmcpIHsKLSAgICAgICAg
ICAgIC8vIElmIHdlJ3JlIGEgZ2x5cGggd2l0aCBhbiBhZHZhbmNlLCBnbyBhaGVhZCBhbmQgYWRk
IGluIGxldHRlci1zcGFjaW5nLgotICAgICAgICAgICAgLy8gVGhhdCB3YXkgd2Ugd2VlZCBvdXQg
emVybyB3aWR0aCBsdXJrZXJzLiAgVGhpcyBiZWhhdmlvciBtYXRjaGVzIHRoZSBmYXN0IHRleHQg
Y29kZSBwYXRoLgotICAgICAgICAgICAgaWYgKGFkdmFuY2UgJiYgbV9mb250LmxldHRlclNwYWNp
bmcoKSkKLSAgICAgICAgICAgICAgICBhZHZhbmNlICs9IG1fZm9udC5sZXR0ZXJTcGFjaW5nKCk7
Ci0KLSAgICAgICAgICAgIC8vIEhhbmRsZSBqdXN0aWZpY2F0aW9uIGFuZCB3b3JkLXNwYWNpbmcu
Ci0gICAgICAgICAgICBpbnQgY2hhcmFjdGVySW5kZXggPSBzcGFjZUNoYXJhY3RlcnNba107Ci0g
ICAgICAgICAgICAvLyBjaGFyYWN0ZXJJbmRleCBpcyBsZWZ0IGF0IHRoZSBpbml0aWFsIHZhbHVl
IG9mIC0xIGZvciBnbHlwaHMgdGhhdCBkbyBub3QgbWFwIGJhY2sgdG8gdHJlYXRlZC1hcy1zcGFj
ZSBjaGFyYWN0ZXJzLgotICAgICAgICAgICAgaWYgKGNoYXJhY3RlckluZGV4ICE9IC0xKSB7Ci0g
ICAgICAgICAgICAgICAgLy8gQWNjb3VudCBmb3IgcGFkZGluZy4gV2ViQ29yZSB1c2VzIHNwYWNl
IHBhZGRpbmcgdG8ganVzdGlmeSB0ZXh0LgotICAgICAgICAgICAgICAgIC8vIFdlIGRpc3RyaWJ1
dGUgdGhlIHNwZWNpZmllZCBwYWRkaW5nIG92ZXIgdGhlIGF2YWlsYWJsZSBzcGFjZXMgaW4gdGhl
IHJ1bi4KLSAgICAgICAgICAgICAgICBpZiAobV9wYWRkaW5nKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIC8vIFVzZSBsZWZ0b3ZlciBwYWRkaW5nIGlmIG5vdCBldmVubHkgZGl2aXNpYmxlIGJ5IG51
bWJlciBvZiBzcGFjZXMuCi0gICAgICAgICAgICAgICAgICAgIGlmIChtX3BhZGRpbmcgPCBtX3Bh
ZFBlclNwYWNlKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZHZhbmNlICs9IG1fcGFkZGlu
ZzsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1fcGFkZGluZyA9IDA7Ci0gICAgICAgICAgICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBtX3BhZGRpbmcgLT0gbV9w
YWRQZXJTcGFjZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkdmFuY2UgKz0gbV9wYWRQZXJT
cGFjZTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLQotICAgICAg
ICAgICAgICAgIC8vIEFjY291bnQgZm9yIHdvcmQtc3BhY2luZy4KLSAgICAgICAgICAgICAgICBp
ZiAoY2hhcmFjdGVySW5kZXggPiAwICYmIG1fZm9udC53b3JkU3BhY2luZygpKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIFVDaGFyIGNhbmRpZGF0ZVNwYWNlOwotICAgICAgICAgICAgICAgICAgICBp
ZiAobV9ydW4uaXM4Qml0KCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBjYW5kaWRhdGVTcGFj
ZSA9ICoobV9ydW4uZGF0YTgoY2hhcmFjdGVySW5kZXggLSAxKSk7Ci0gICAgICAgICAgICAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIGNhbmRpZGF0ZVNwYWNlID0gKihtX3J1
bi5kYXRhMTYoY2hhcmFjdGVySW5kZXggLSAxKSk7Ci0KLSAgICAgICAgICAgICAgICAgICAgaWYg
KCFGb250Q2FzY2FkZTo6dHJlYXRBc1NwYWNlKGNhbmRpZGF0ZVNwYWNlKSkKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGFkdmFuY2UgKz0gbV9mb250LndvcmRTcGFjaW5nKCk7Ci0gICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgbV9ydW5XaWR0aFNv
RmFyICs9IGFkdmFuY2U7Ci0KLSAgICAgICAgLy8gRklYTUU6IFdlIG5lZWQgdG8gdGFrZSB0aGUg
R09GRlNFVFMgZm9yIGNvbWJpbmluZyBnbHlwaHMgYW5kIHN0b3JlIHRoZW0gaW4gdGhlIGdseXBo
IGJ1ZmZlcgotICAgICAgICAvLyBhcyB3ZWxsLCBzbyB0aGF0IHdoZW4gdGhlIHRpbWUgY29tZXMg
dG8gZHJhdyB0aG9zZSBnbHlwaHMsIHdlIGNhbiBhcHBseSB0aGUgYXBwcm9wcmlhdGUKLSAgICAg
ICAgLy8gdHJhbnNsYXRpb24uCi0gICAgICAgIGlmIChnbHlwaEJ1ZmZlcikgewotICAgICAgICAg
ICAgR2x5cGhCdWZmZXJBZHZhbmNlIG9yaWdpbihvZmZzZXRYLCAtb2Zmc2V0WSk7Ci0gICAgICAg
ICAgICBpZiAoIWdseXBoQnVmZmVyLT5hZHZhbmNlc0NvdW50KCkpCi0gICAgICAgICAgICAgICAg
Z2x5cGhCdWZmZXItPnNldEluaXRpYWxBZHZhbmNlKG9yaWdpbik7Ci0gICAgICAgICAgICBlbHNl
Ci0gICAgICAgICAgICAgICAgZ2x5cGhCdWZmZXItPmV4cGFuZExhc3RBZHZhbmNlKG9yaWdpbik7
Ci0gICAgICAgICAgICBHbHlwaEJ1ZmZlckFkdmFuY2UgZ2x5cGhBZHZhbmNlKC1vcmlnaW4ud2lk
dGgoKSArIGFkdmFuY2UsIC1vcmlnaW4uaGVpZ2h0KCkpOwotICAgICAgICAgICAgZ2x5cGhCdWZm
ZXItPmFkZChnbHlwaCwgZm9udERhdGEsIGdseXBoQWR2YW5jZSwgc3RyaW5nT2Zmc2V0c1trXS52
YWx1ZU9yKDApICsgc3RyaW5nT2Zmc2V0KTsKLSAgICAgICAgfQotCi0gICAgICAgIEZsb2F0UmVj
dCBnbHlwaEJvdW5kcyA9IGZvbnREYXRhLT5ib3VuZHNGb3JHbHlwaChnbHlwaCk7Ci0gICAgICAg
IGdseXBoQm91bmRzLm1vdmUobV9nbHlwaE9yaWdpbi54KCksIG1fZ2x5cGhPcmlnaW4ueSgpKTsK
LSAgICAgICAgbV9taW5HbHlwaEJvdW5kaW5nQm94WCA9IHN0ZDo6bWluKG1fbWluR2x5cGhCb3Vu
ZGluZ0JveFgsIGdseXBoQm91bmRzLngoKSk7Ci0gICAgICAgIG1fbWF4R2x5cGhCb3VuZGluZ0Jv
eFggPSBzdGQ6Om1heChtX21heEdseXBoQm91bmRpbmdCb3hYLCBnbHlwaEJvdW5kcy5tYXhYKCkp
OwotICAgICAgICBtX21pbkdseXBoQm91bmRpbmdCb3hZID0gc3RkOjptaW4obV9taW5HbHlwaEJv
dW5kaW5nQm94WSwgZ2x5cGhCb3VuZHMueSgpKTsKLSAgICAgICAgbV9tYXhHbHlwaEJvdW5kaW5n
Qm94WSA9IHN0ZDo6bWF4KG1fbWF4R2x5cGhCb3VuZGluZ0JveFksIGdseXBoQm91bmRzLm1heFko
KSk7Ci0gICAgICAgIG1fZ2x5cGhPcmlnaW4ubW92ZShhZHZhbmNlICsgb2Zmc2V0WCwgLW9mZnNl
dFkpOwotCi0gICAgICAgIC8vIE11dGF0ZSB0aGUgZ2x5cGggYXJyYXkgdG8gY29udGFpbiBvdXIg
YWx0ZXJlZCBhZHZhbmNlcy4KLSAgICAgICAgaWYgKG1fY29tcHV0aW5nT2Zmc2V0UG9zaXRpb24p
Ci0gICAgICAgICAgICBhZHZhbmNlc1trXSA9IGFkdmFuY2U7Ci0gICAgfQotCi0gICAgd2hpbGUg
KG1fY29tcHV0aW5nT2Zmc2V0UG9zaXRpb24gJiYgbV9vZmZzZXRYID49IGxlZnRFZGdlICYmIG1f
b2Zmc2V0WCA8IG1fcnVuV2lkdGhTb0ZhcikgewotICAgICAgICAvLyBUaGUgcG9zaXRpb24gaXMg
c29tZXdoZXJlIGluc2lkZSB0aGlzIHJ1bi4KLSAgICAgICAgaW50IHRyYWlsaW5nID0gMDsKLSAg
ICAgICAgSFJFU1VMVCByYyA9IDo6U2NyaXB0WHRvQ1AobV9vZmZzZXRYIC0gbGVmdEVkZ2UsIGNs
dXN0ZXJzLnNpemUoKSwgZ2x5cGhzLnNpemUoKSwgY2x1c3RlcnMuZGF0YSgpLCB2aXN1YWxBdHRy
aWJ1dGVzLmRhdGEoKSwKLSAgICAgICAgICAgICAgICAgICAgYWR2YW5jZXMuZGF0YSgpLCAmaXRl
bS5hLCAmbV9vZmZzZXRQb3NpdGlvbiwgJnRyYWlsaW5nKTsKLSAgICAgICAgaWYgKEZBSUxFRChy
YykpIHsKLSAgICAgICAgICAgIFdURkxvZ0Fsd2F5cygiVW5pc2NyaWJlQ29udHJvbGxlcjo6c2hh
cGVBbmRQbGFjZUl0ZW06IFNjcmlwdFh0b0NQIGZhaWxlZCByYz0lbHgiLCByYyk7Ci0gICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfQotICAgICAgICBpZiAodHJhaWxpbmcgJiYgbV9p
bmNsdWRlUGFydGlhbEdseXBocyAmJiBtX29mZnNldFBvc2l0aW9uIDwgbGVuIC0gMSkgewotICAg
ICAgICAgICAgbV9vZmZzZXRQb3NpdGlvbiArPSBtX2N1cnJlbnRDaGFyYWN0ZXIgKyBtX2l0ZW1z
W2ldLmlDaGFyUG9zOwotICAgICAgICAgICAgbV9vZmZzZXRYICs9IG1fcnVuLnJ0bCgpID8gLXRy
YWlsaW5nIDogdHJhaWxpbmc7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBtX2NvbXB1
dGluZ09mZnNldFBvc2l0aW9uID0gZmFsc2U7Ci0gICAgICAgICAgICBtX29mZnNldFBvc2l0aW9u
ICs9IG1fY3VycmVudENoYXJhY3RlciArIG1faXRlbXNbaV0uaUNoYXJQb3M7Ci0gICAgICAgICAg
ICBpZiAodHJhaWxpbmcgJiYgbV9pbmNsdWRlUGFydGlhbEdseXBocykKLSAgICAgICAgICAgICAg
IG1fb2Zmc2V0UG9zaXRpb24rKzsKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
fQotICAgIH0KLQotICAgIHJldHVybiB0cnVlOwotfQotCi1ib29sIFVuaXNjcmliZUNvbnRyb2xs
ZXI6OnNoYXBlKGNvbnN0IFVDaGFyKiBzdHIsIGludCBsZW4sIFNDUklQVF9JVEVNIGl0ZW0sIGNv
bnN0IEZvbnQqIGZvbnREYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWZWN0
b3I8V09SRD4mIGdseXBocywgVmVjdG9yPFdPUkQ+JiBjbHVzdGVycywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgVmVjdG9yPFNDUklQVF9WSVNBVFRSPiYgdmlzdWFsQXR0cmlidXRl
cykKLXsKLSAgICBIV25kREMgaGRjOwotICAgIEhGT05UIG9sZEZvbnQgPSAwOwotICAgIEhSRVNV
TFQgc2hhcGVSZXN1bHQgPSBFX1BFTkRJTkc7Ci0gICAgaW50IGdseXBoQ291bnQgPSAwOwotCi0g
ICAgaWYgKCFmb250RGF0YSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgZG8gewotICAg
ICAgICBzaGFwZVJlc3VsdCA9IFNjcmlwdFNoYXBlKGhkYywgZm9udERhdGEtPnNjcmlwdENhY2hl
KCksIHdjaGFyRnJvbShzdHIpLCBsZW4sIGdseXBocy5zaXplKCksICZpdGVtLmEsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2x5cGhzLmRhdGEoKSwgY2x1c3RlcnMuZGF0YSgp
LCB2aXN1YWxBdHRyaWJ1dGVzLmRhdGEoKSwgJmdseXBoQ291bnQpOwotICAgICAgICBpZiAoc2hh
cGVSZXN1bHQgPT0gRV9QRU5ESU5HKSB7Ci0gICAgICAgICAgICAvLyBUaGUgc2NyaXB0IGNhY2hl
IGlzbid0IHByaW1lZCB3aXRoIGVub3VnaCBpbmZvIHlldC4gIFdlIG5lZWQgdG8gc2VsZWN0IG91
ciBIRk9OVCBpbnRvCi0gICAgICAgICAgICAvLyBhIERDIGFuZCBwYXNzIHRoZSBEQyBpbiB0byBT
Y3JpcHRTaGFwZS4KLSAgICAgICAgICAgIEFTU0VSVCghaGRjKTsKLSAgICAgICAgICAgIGhkYy5z
ZXRIV25kKDApOwotICAgICAgICAgICAgSEZPTlQgaGZvbnQgPSBmb250RGF0YS0+cGxhdGZvcm1E
YXRhKCkuaGZvbnQoKTsKLSAgICAgICAgICAgIG9sZEZvbnQgPSAoSEZPTlQpU2VsZWN0T2JqZWN0
KGhkYywgaGZvbnQpOwotICAgICAgICB9IGVsc2UgaWYgKHNoYXBlUmVzdWx0ID09IEVfT1VUT0ZN
RU1PUlkpIHsKLSAgICAgICAgICAgIC8vIE5lZWQgdG8gcmVzaXplIG91ciBidWZmZXJzLgotICAg
ICAgICAgICAgZ2x5cGhzLnJlc2l6ZShnbHlwaHMuc2l6ZSgpICogMik7Ci0gICAgICAgICAgICB2
aXN1YWxBdHRyaWJ1dGVzLnJlc2l6ZShnbHlwaHMuc2l6ZSgpKTsKLSAgICAgICAgfQotICAgIH0g
d2hpbGUgKHNoYXBlUmVzdWx0ID09IEVfUEVORElORyB8fCBzaGFwZVJlc3VsdCA9PSBFX09VVE9G
TUVNT1JZKTsKLQotICAgIGlmIChoZGMpCi0gICAgICAgIFNlbGVjdE9iamVjdChoZGMsIG9sZEZv
bnQpOwotCi0gICAgaWYgKEZBSUxFRChzaGFwZVJlc3VsdCkpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKLQotICAgIGdseXBocy5zaHJpbmsoZ2x5cGhDb3VudCk7Ci0gICAgdmlzdWFsQXR0cmlidXRl
cy5zaHJpbmsoZ2x5cGhDb3VudCk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1VuaXNjcmliZUNvbnRy
b2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9VbmlzY3JpYmVD
b250cm9sbGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0NjI0Yzc5YTA4MDgz
MzIwYTUyNzM1ZGUxMWRjOTRhOGJjNGZmMDEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1Vu
aXNjcmliZUNvbnRyb2xsZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDkwICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFVuaXNjcmliZUNvbnRyb2xsZXJfaAot
I2RlZmluZSBVbmlzY3JpYmVDb250cm9sbGVyX2gKLQotI2luY2x1ZGUgIkZvbnRDYXNjYWRlLmgi
Ci0jaW5jbHVkZSAiR2x5cGhCdWZmZXIuaCIKLSNpbmNsdWRlIDx1c3AxMC5oPgotI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBVbmlzY3JpYmVD
b250cm9sbGVyIHsKLXB1YmxpYzoKLSAgICBVbmlzY3JpYmVDb250cm9sbGVyKGNvbnN0IEZvbnRD
YXNjYWRlKiwgY29uc3QgVGV4dFJ1biYsIEhhc2hTZXQ8Y29uc3QgRm9udCo+KiBmYWxsYmFja0Zv
bnRzID0gMCk7Ci0KLSAgICAvLyBBZHZhbmNlIGFuZCBtZWFzdXJlL3BsYWNlIHVwIHRvIHRoZSBz
cGVjaWZpZWQgY2hhcmFjdGVyLgotICAgIHZvaWQgYWR2YW5jZSh1bnNpZ25lZCB0bywgR2x5cGhC
dWZmZXIqID0gMCk7Ci0KLSAgICAvLyBDb21wdXRlIHRoZSBjaGFyYWN0ZXIgb2Zmc2V0IGZvciBh
IGdpdmVuIHggY29vcmRpbmF0ZS4KLSAgICBpbnQgb2Zmc2V0Rm9yUG9zaXRpb24oaW50IHgsIGJv
b2wgaW5jbHVkZVBhcnRpYWxHbHlwaHMpOwotCi0gICAgLy8gUmV0dXJucyB0aGUgd2lkdGggb2Yg
ZXZlcnl0aGluZyB3ZSd2ZSBjb25zdW1lZCBzbyBmYXIuCi0gICAgZmxvYXQgcnVuV2lkdGhTb0Zh
cigpIGNvbnN0IHsgcmV0dXJuIG1fcnVuV2lkdGhTb0ZhcjsgfQotCi0gICAgZmxvYXQgbWluR2x5
cGhCb3VuZGluZ0JveFgoKSBjb25zdCB7IHJldHVybiBtX21pbkdseXBoQm91bmRpbmdCb3hYOyB9
Ci0gICAgZmxvYXQgbWF4R2x5cGhCb3VuZGluZ0JveFgoKSBjb25zdCB7IHJldHVybiBtX21heEds
eXBoQm91bmRpbmdCb3hYOyB9Ci0gICAgZmxvYXQgbWluR2x5cGhCb3VuZGluZ0JveFkoKSBjb25z
dCB7IHJldHVybiBtX21pbkdseXBoQm91bmRpbmdCb3hZOyB9Ci0gICAgZmxvYXQgbWF4R2x5cGhC
b3VuZGluZ0JveFkoKSBjb25zdCB7IHJldHVybiBtX21heEdseXBoQm91bmRpbmdCb3hZOyB9Ci0K
LXByaXZhdGU6ICAgIAotICAgIHZvaWQgcmVzZXRDb250cm9sQW5kU3RhdGUoKTsKLQotICAgIHZv
aWQgaXRlbWl6ZVNoYXBlQW5kUGxhY2UoY29uc3QgVUNoYXIqLCB1bnNpZ25lZCBzdHJpbmdPZmZz
ZXQsIHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgRm9udCosIEdseXBoQnVmZmVyKik7Ci0gICAgYm9v
bCBzaGFwZUFuZFBsYWNlSXRlbShjb25zdCBVQ2hhciosIHVuc2lnbmVkIHN0cmluZ09mZnNldCwg
dW5zaWduZWQgaW5kZXgsIGNvbnN0IEZvbnQqLCBHbHlwaEJ1ZmZlciopOwotICAgIGJvb2wgc2hh
cGUoY29uc3QgVUNoYXIqIHN0ciwgaW50IGxlbiwgU0NSSVBUX0lURU0sIGNvbnN0IEZvbnQqLAot
ICAgICAgICAgICAgICAgVmVjdG9yPFdPUkQ+JiBnbHlwaHMsIFZlY3RvcjxXT1JEPiYgY2x1c3Rl
cnMsCi0gICAgICAgICAgICAgICBWZWN0b3I8U0NSSVBUX1ZJU0FUVFI+JiB2aXN1YWxBdHRyaWJ1
dGVzKTsKLQotICAgIGNvbnN0IEZvbnRDYXNjYWRlJiBtX2ZvbnQ7Ci0gICAgY29uc3QgVGV4dFJ1
biYgbV9ydW47Ci0gICAgSGFzaFNldDxjb25zdCBGb250Kj4qIG1fZmFsbGJhY2tGb250czsKLSAg
ICBGbG9hdFBvaW50IG1fZ2x5cGhPcmlnaW47Ci0gICAgZmxvYXQgbV9taW5HbHlwaEJvdW5kaW5n
Qm94WDsKLSAgICBmbG9hdCBtX21heEdseXBoQm91bmRpbmdCb3hYOwotICAgIGZsb2F0IG1fbWlu
R2x5cGhCb3VuZGluZ0JveFk7Ci0gICAgZmxvYXQgbV9tYXhHbHlwaEJvdW5kaW5nQm94WTsKLQot
ICAgIFNDUklQVF9DT05UUk9MIG1fY29udHJvbDsKLSAgICBTQ1JJUFRfU1RBVEUgbV9zdGF0ZTsK
LSAgICBWZWN0b3I8U0NSSVBUX0lURU0+IG1faXRlbXM7Ci0gCi0gICAgdW5zaWduZWQgbV9jdXJy
ZW50Q2hhcmFjdGVyOwotICAgIGludCBtX2VuZDsKLQotICAgIGZsb2F0IG1fcnVuV2lkdGhTb0Zh
cjsKLSAgICBmbG9hdCBtX3BhZGRpbmc7Ci0gICAgZmxvYXQgbV9wYWRQZXJTcGFjZTsKLQotICAg
IGJvb2wgbV9jb21wdXRpbmdPZmZzZXRQb3NpdGlvbjsKLSAgICBib29sIG1faW5jbHVkZVBhcnRp
YWxHbHlwaHM7Ci0gICAgZmxvYXQgbV9vZmZzZXRYOwotICAgIGludCBtX29mZnNldFBvc2l0aW9u
OwotfTsKLQotfQotI2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggNmUzZjRiM2ZkNGFjY2ZmNjBkMGFiNDNlNTI5ZWFiZTZhNTE2ODRmNC4u
YTgxZmU1Y2RjZjcxNjI4ZDBjOGY2NmYxZDhmYmZjOTcxZjYxZTk4MSAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE5
LTEyLTE5ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAg
ICAgIFtXaW5dIFVzZSBDb21wbGV4VGV4dENvbnRyb2xsZXIgaW5zdGVhZCBvZiBVbmlzY3JpYmVD
b250cm9sbGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDQ4ODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3Bw
OiBFbmFibGVkIHRoZXNlIHRlc3RzIGZvciBQTEFURk9STShXSU4pLgorCiAyMDE5LTEyLTE4ICBD
b21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMjUzNjQ2LgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJDb3JlL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAppbmRleCA5M2Zl
OTBlOWQ5ZDE3YzMxNDY1NmVlNjIwZThlM2U2ZjJhMDk3ZmNjLi45MjY4ZWZiNjgzYmVmNTE1NjY2
OGExOTc4NTllNjU0ZmVhNzEzZDBhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYkNvcmUvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcApAQCAtMjUsOCAr
MjUsNiBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiAhUExBVEZPUk0oV0lOKQotCiAj
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSW5pdGlhbGl6ZVRocmVhZGluZy5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvQ29tcGxleFRleHRDb250cm9sbGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Gb250
Q2FzY2FkZS5oPgpAQCAtMzY3LDUgKzM2NSwzIEBAIFRFU1RfRihDb21wbGV4VGV4dENvbnRyb2xs
ZXJUZXN0LCBUb3RhbFdpZHRoV2l0aEp1c3RpZmljYXRpb24pCiB9CiAKIH0KLQotI2VuZGlmCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggNjI1YTk4YmI3N2U4YjAwNDRhNDAzMmZmMWZkMmE2NzZjMTcyYmNlMC4uY2E4ZDE2NTI1
MTQxZjJmYTAzOGMzMGIwMTlhZWZmODBlN2ZhOGI1NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisy
MDE5LTEyLTIzICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisg
ICAgICAgIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6b2Zmc2V0Rm9yUG9zaXRpb24gcmV0dXJucyBh
IHdyb25nIG9mZnNldCBmb3IgYSBnbHlwaCBib3VuZGFyeSBpbiBhIFJUTCB0ZXh0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU0ODYKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL0RvY3Vt
ZW50L0NhcmV0UmFuZ2VGcm9tUG9pbnQvcnRsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9ydGwuaHRtbDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6IFVubWFya2VkIGltcG9y
dGVkL2JsaW5rL2VkaXRpbmcvc2VsZWN0aW9uL29mZnNldC1mcm9tLXBvaW50LWNvbXBsZXgtc2Ny
aXB0cy5odG1sLgorCisyMDE5LTEyLTE5ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlp
QHNvbnkuY29tPgorCisgICAgICAgIFtXaW5dIFVzZSBDb21wbGV4VGV4dENvbnRyb2xsZXIgaW5z
dGVhZCBvZiBVbmlzY3JpYmVDb250cm9sbGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ4ODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOgorICAg
ICAgICAqIHBsYXRmb3JtL3dpbi9mYXN0L3RleHQvanVzdGlmeS1pZGVvZ3JhcGgtY29tcGxleC1l
eHBlY3RlZC50eHQ6IFJlYmFzZWxpbmVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNhaXJvL1Rl
c3RFeHBlY3RhdGlvbnM6CisKIDIwMTktMTItMTggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTjogWyBNYWMgd2syIF0gdGlsZWQtZHJhd2luZy9z
Y3JvbGxpbmcvZmFzdC1zY3JvbGwtZGl2LWxhdGNoZWQtbWFpbmZyYW1lLXdpdGgtaGFuZGxlci5o
dG1sIGlzIGEgZmxha2V5IGZhaWx1cmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9tUG9pbnQvcnRsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9tUG9pbnQvcnRsLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43ZTUyNjI5YWFhNDMyMDYyZjIzMzZkYjViN2NjMTFhYzBhZGEwNTIzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5n
ZUZyb21Qb2ludC9ydGwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKKzYgNSA0IDMgMiAxIDAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9t
UG9pbnQvcnRsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdl
RnJvbVBvaW50L3J0bC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRlOTBjYjkyNjM2OTE2YWFiZmM0YTA0OWU5
ODM5NTlhMWRmYmNkMWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9E
b2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3J0bC5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGhlYWQ+CisgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHN0eWxl
PgorICAgICAgcCB7CisgICAgICAgICAgZm9udC1mYW1pbHk6ICJBaGVtIjsKKyAgICAgICAgICBk
aXJlY3Rpb246IHJ0bDsKKyAgICAgICAgICB1bmljb2RlLWJpZGk6IGJpZGktb3ZlcnJpZGU7Cisg
ICAgICB9CisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxw
PkFCQ0RFRjwvcD4KKzwvZGl2PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgordGVzdE9m
ZnNldEZyb21Qb2ludChjb250YWluZXIuZmlyc3RFbGVtZW50Q2hpbGQpOworCitmdW5jdGlvbiB0
ZXN0T2Zmc2V0RnJvbVBvaW50KGVsZW1lbnQpIHsKKyAgICB2YXIgeSA9IGVsZW1lbnQub2Zmc2V0
VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOworICAgIHZhciB4bWluID0gZWxlbWVudC5v
ZmZzZXRMZWZ0OworICAgIHZhciB4bWF4ID0geG1pbiArIGVsZW1lbnQub2Zmc2V0V2lkdGg7Cisg
ICAgdmFyIGxhc3RDaGFyYWN0ZXJPZmZzZXQgPSBudWxsOworICAgIHZhciByZXN1bHRzID0gW107
CisgICAgZm9yICh2YXIgeCA9IHhtaW4gLSAxOyB4IDw9IHhtYXggKyAxOyArK3gpIHsKKyAgICAg
ICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoeCwgeSk7CisgICAg
ICAgIHZhciBjaGFyYWN0ZXJPZmZzZXQgPSByZXN1bHQgPyByZXN1bHQuc3RhcnRPZmZzZXQgOiBu
dWxsOworICAgICAgICBpZiAoY2hhcmFjdGVyT2Zmc2V0ID09PSBsYXN0Q2hhcmFjdGVyT2Zmc2V0
KQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIHJlc3VsdHMucHVzaChjaGFyYWN0ZXJP
ZmZzZXQpOworICAgICAgICBsYXN0Q2hhcmFjdGVyT2Zmc2V0ID0gY2hhcmFjdGVyT2Zmc2V0Owor
ICAgIH0KKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAg
ZGl2LmlubmVyVGV4dCA9IHJlc3VsdHMuam9pbigiICIpOworICAgIGxvZy5hcHBlbmRDaGlsZChk
aXYpOworfQorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICBjb250YWluZXIuc3R5bGUu
ZGlzcGxheSA9ICJub25lIjsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK30KKzwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBhZjFj
N2Y0MGU2MmUxM2RlMmYwNzhmMWMyYWNhNTlkYWY5NDY5MTI3Li40MDhjNzAzZWZkYWVlZWQ3OTY3
OGFhOTRiYWU0MzQyMjc4ZGMyZjI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtMzQwMyw3ICszNDAzLDYgQEAgd2Via2l0Lm9yZy9iLzE3NzkzNCBodHRw
L3Rlc3RzL3ByZWNvbm5lY3QvbGluay1oZWFkZXItcmVsLXByZWNvbm5lY3QtaHR0cC5odG1sIFsK
IHdlYmtpdC5vcmcvYi8xNzc5MzYgZmFzdC90ZXh0L2FsbC1zbWFsbC1jYXBzLXdoaXRlc3BhY2Uu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE3NzkzNiBmYXN0L3RleHQv
cmVnaW9uYWwtaW5kaWNhdG9yLXN5bW9ibHMuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9i
LzE3NzkzNiBmYXN0L3RleHQvc2VsZWN0aW9uLWluLWluaXRpYWwtYWR2YW5jZS1yZWdpb24uaHRt
bCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE3NzkzNiBpbXBvcnRlZC9ibGluay9lZGl0aW5n
L3NlbGVjdGlvbi9vZmZzZXQtZnJvbS1wb2ludC1jb21wbGV4LXNjcmlwdHMuaHRtbCBbIEZhaWx1
cmUgXQogCiB3ZWJraXQub3JnL2IvMTc3OTM3IGZhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJl
ZmVycmVkLXdpZHRoLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNzc5
MzcgZmFzdC90ZXh0L3Vua25vd24tY2hhci1ub3RkZWYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA0NWJkZGYz
YzU5MzFiMjM4ZDc1ZjAzY2EzMmJhYzg5YTI3YjE0ZDFkLi4zNDRhYTE1ZWRmNzlhNTE2OTQwZDY1
M2ViOTJiNjg1MTViYzEzNjVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4v
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMjk2NSw2ICsyOTY1LDggQEAgd2Via2l0Lm9yZy9iLzE1MTc1OSBmYXN0L2Rv
bS9XaW5kb3cvcHJvcGVydHktYWNjZXNzLW9uLWNhY2hlZC13aW5kb3ctYWZ0ZXItZnJhbWUKIAog
d2Via2l0Lm9yZy9iLzE1MjAwOSBmYXN0L2NhbnZhcy9jYW52YXMtdG9vLWxhcmdlLXRvLWRyYXcu
aHRtbCBbIFNraXAgXQogCitmYXN0L3RleHQvYXJhYmljLXp3ai1hbmQtenduai5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCisKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIEVuZCBsaXN0IG9mIFVOUkVWSUVXRUQgZmFpbHVyZXMgIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCkBAIC0zNDI2LDYgKzM0Mjgs
NyBAQCBmYXN0L3RleHQvY29tcGxleC1zbWFsbC1jYXBzLW5vbi1ibXAtY2FwaXRhbGl6ZS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBmYXN0L3RleHQvY3Vyc2l2ZS16aC5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiBmYXN0L3RleHQvZW1vamktc2luZ2xlLXBhcmVudC1mYW1pbHktMi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBmYXN0L3RleHQvZW1vamktc2luZ2xlLXBhcmVudC1mYW1p
bHkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorZmFzdC90ZXh0L2Vtb2ppLXdpdGgtam9pbmVy
Lmh0bWwgWyBGYWlsdXJlIF0KIGh0dHAvdGVzdHMvc2VjdXJpdHkvaHR0cC0wLjkvaW1hZ2Utb24t
SFRUUC0wLjktZGVmYXVsdC1wb3J0LXBhZ2UtYWxsb3dlZC1yZWYtdGVzdC5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiBtYXRobWwvcHJlc2VudGF0aW9uL25vbi1ibXAtb3BlcmF0b3JzLXN0cmV0
Y2hpbmcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L2ltYWdlLXdpdGgtYmxvYi11cmwtYWxsb3dlZC1ieS1pbWctc3JjLXN0YXItd2l0aC1B
bGxvd0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZVN0YXJUb01hdGNoQW55UHJvdG9jb2wtZW5h
YmxlZC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCkBAIC00NTA2LDMgKzQ1MDksOCBAQCB3ZWJr
aXQub3JnL2IvMjA0OTc0IGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qvc3luYy14aHItaW4tdW5s
b2FkLmh0bWwgWyBGYWlsdXJlCiB3ZWJraXQub3JnL2IvMjA1MjcyIGpzL2ludGVnZXItZGl2aXNp
b24tbmVnMnRvdGhlMzItYnktbmVnMS5odG1sIFsgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8y
MDUyNzMgaW1wb3J0ZWQvYmxpbmsvZmFzdC9zdWItcGl4ZWwvbmVnYXRpdmUtY29tcG9zaXRlZC1v
ZmZzZXQuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCisKK3dlYmtpdC5vcmcvYi8yMDU0
ODYgZmFzdC90ZXh0L2F0c3VpLXJ0bC1vdmVycmlkZS1zZWxlY3Rpb24uaHRtbCBbIEZhaWx1cmUg
XQord2Via2l0Lm9yZy9iLzIwNTQ4NyBmYXN0L3RleHQvc2VsZWN0aW9uLWluLWluaXRpYWwtYWR2
YW5jZS1yZWdpb24uaHRtbCBbIEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzIwNTQ4NSBmYXN0L3Rl
eHQvc3RhbGUtVGV4dExheW91dC1mcm9tLWZpcnN0LWxpbmUuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQord2Via2l0Lm9yZy9iLzIwNTQ4NiBpbXBvcnRlZC9ibGluay9lZGl0aW5nL3NlbGVjdGlv
bi9vZmZzZXQtZnJvbS1wb2ludC1jb21wbGV4LXNjcmlwdHMuaHRtbCBbIEZhaWx1cmUgXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvdGV4dC9qdXN0aWZ5LWlkZW9n
cmFwaC1jb21wbGV4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0
L3RleHQvanVzdGlmeS1pZGVvZ3JhcGgtY29tcGxleC1leHBlY3RlZC50eHQKaW5kZXggZjEwMTk0
MjQzNTUyZTg1N2ZhNTE5OWFhMmFmZDg2OTFmZTdmNzYwNy4uYWQ4NTY0MzEwOTFhNTU2MDU2YzBk
ODk2MDFiMDljNmVmYWZkZjcxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L2Zhc3QvdGV4dC9qdXN0aWZ5LWlkZW9ncmFwaC1jb21wbGV4LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC90ZXh0L2p1c3RpZnktaWRlb2dyYXBoLWNvbXBs
ZXgtZXhwZWN0ZWQudHh0CkBAIC0xNiw4ICsxNiw4IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDMwKSB3aWR0aCAzODI6ICJceHs1MTJBfVx4
ezc1NzB9XHh7NzY4NH1ceHs4ODRDfVx4ezUyRDV9XHh7NjFDOX1ceHs3NTI4fVx4ezdBMEJ9XHh7
NUYwRn1ceHs1RTczfVx4ezUzRjB9XHh7RkYwQ31ceHs1QkEyfVx4ezYyMzZ9XHh7NEU1Rn1ceHs5
NzVFfVx4ezVFMzh9XHh7NTU5Q31ceHs2MTFCfVx4ezk1OEJ9XHh7NzY3Q31ceHs0RUJBfVx4ezU0
RTF9XHh7NjI0MH1ceHs1Mjc1fVx4ezRGNUN9XHh7NzY4NH1ceHs2MUM5fVx4ezc1Mjh9XHh7N0Ew
Qn1ceHs1RjBGfVx4ezMwMDJ9XHh7MzAwRH0iCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAs
MTI5KSBzaXplIDU1MHg0NQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSA1NTB4NDUKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1NTA6ICJFQSBNb2Jp
bGUgXHh7NzY4NH0gV29ybGR3aWRlIFN0dWRpb3MgXHh7NTI2Rn1ceHs3RTNEfVx4ezg4QzF9IFRy
YXZpcyBCb2F0bWFuIFx4ezYzMDd9XHh7NTFGQX1ceHtGRjFBfVx4ezMwMEN9QXBwIFN0b3JlIFx4
ezRFMER9XHh7NTBDNX1ceHs1RkI5fVx4ezVFOTV9XHh7NjUzOX1ceHs4QjhBfVx4ezRFODZ9XHh7
ODg0Q31ceHs1MkQ1fVx4ezkwNEF9XHh7NjIzMn0iCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MTUpIHdpZHRoIDU1MDogIlx4ezc1MjJ9XHh7Njk2RH1ceHs3Njg0fVx4ezc1MUZ9XHh7NjE0Qn1c
eHtGRjBDfVx4ezgwMEN9XHh7NEUxNH1ceHs5MDg0fVx4ezU3Mjh9XHh7NjMwMX1ceHs3RThDfVx4
ezZGMTR9XHh7OTAzMn1ceHszMDAyfVx4ezY3MDl9XHh7NEU4Nn1ceHs1MTY4fVx4ezc0MDN9IDUg
XHh7NTM0M31ceHs1OTFBfVx4ezg0MkN9XHh7NzY4NH0gaVBob25lIFx4ezU0OEN9IGlQb2QgdG91
Y2ggXHh7NUJBMn1ceHs2MjM2fVx4ezcwQkF9XHh7NTdGQX1ceHs3OTBFfVx4e0ZGMEN9QXBwIFN0
b3JlIgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDU1MDogIkVBIE1vYmlsZSBc
eHs3Njg0fSBXb3JsZHdpZGUgU3R1ZGlvcyBceHs1MjZGfVx4ezdFM0R9XHh7ODhDMX0gVHJhdmlz
IEJvYXRtYW4gXHh7NjMwN31ceHs1MUZBfVx4e0ZGMUF9XHh7MzAwQ31BcHAgU3RvcmUgXHh7NEUw
RH1ceHs1MEM1fVx4ezVGQjl9XHh7NUU5NX1ceHs2NTM5fVx4ezhCOEF9XHh7NEU4Nn1ceHs4ODRD
fVx4ezUyRDV9XHh7OTA0QX0iCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTUpIHdpZHRoIDU1
MDogIlx4ezYyMzJ9XHh7NzUyMn1ceHs2OTZEfVx4ezc2ODR9XHh7NzUxRn1ceHs2MTRCfVx4e0ZG
MEN9XHh7ODAwQ31ceHs0RTE0fVx4ezkwODR9XHh7NTcyOH1ceHs2MzAxfVx4ezdFOEN9XHh7NkYx
NH1ceHs5MDMyfVx4ezMwMDJ9XHh7NjcwOX1ceHs0RTg2fVx4ezUxNjh9XHh7NzQwM30gNSBceHs1
MzQzfVx4ezU5MUF9XHh7ODQyQ31ceHs3Njg0fSBpUGhvbmUgXHh7NTQ4Q30gaVBvZCB0b3VjaCBc
eHs1QkEyfVx4ezYyMzZ9XHh7NzBCQX1ceHs1N0ZBfVx4ezc5MEV9XHh7RkYwQ31BcHAgU3RvcmUi
CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzApIHdpZHRoIDMwMTogIlx4ezhCOTN9XHh7NjIx
MX1ceHs1MDExfVx4ezgwRkR9XHh7NTkyMH1ceHs5NThCfVx4ezc2N0N9XHh7NTNEN31ceHs1MjMw
fVx4ezVFRTN9XHh7NTkyN31ceHs3Njg0fVx4ezVCQTJ9XHh7NjIzNn1ceHs1NTlDfVx4ezYxMUJ9
XHh7NzY4NH1ceHs5QUQ4fVx4ezU0QzF9XHh7OENFQX0gRUEgXHh7OTA0QX1ceHs2MjMyfVx4ezMw
MDJ9XHh7MzAwRH0iCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTg2KSBzaXplIDU1MHg0
NQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1NTB4NDUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDg0OGMx
ZDdhY2M5NmQ2NGJiOTAxYWNiMDFiZWFiMWFiNDZhZDE2NjkuLmYzZmM4ZmQxMzEwZjc3YjRhZGZk
Y2Y1MDMxNzFmOGEzMzZjYzU5ZmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fp
cm8vVGVzdEV4cGVjdGF0aW9ucwpAQCAtODI5LDYgKzgyOSwxMSBAQCBmYXN0L2RvbS9mb2N1cy1z
aGlmdC1jcmFzaC5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIGZhc3QvZG9tL1JhbmdlL2RldGFjaC1y
YW5nZS1kdXJpbmctZGVsZXRlY29udGVudHMuaHRtbCBbIFBhc3MgVGltZW91dCBdCiBpbXBvcnRl
ZC9ibGluay9mYXN0L2RvbS9XaW5kb3cvb3Blbi13aW5kb3ctZmVhdHVyZXMtZnV6ei5odG1sIFsg
UGFzcyBUaW1lb3V0IF0KIAord2Via2l0Lm9yZy9iLzIwNTQ4NiBmYXN0L3RleHQvYXRzdWktcnRs
LW92ZXJyaWRlLXNlbGVjdGlvbi5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMjA1NDg3
IGZhc3QvdGV4dC9zZWxlY3Rpb24taW4taW5pdGlhbC1hZHZhbmNlLXJlZ2lvbi5odG1sIFsgRmFp
bHVyZSBdCit3ZWJraXQub3JnL2IvMjA1NDg1IGZhc3QvdGV4dC9zdGFsZS1UZXh0TGF5b3V0LWZy
b20tZmlyc3QtbGluZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMjA1
NDg2IGltcG9ydGVkL2JsaW5rL2VkaXRpbmcvc2VsZWN0aW9uL29mZnNldC1mcm9tLXBvaW50LWNv
bXBsZXgtc2NyaXB0cy5odG1sIFsgRmFpbHVyZSBdCisKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8KICMgaHR0cAogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwpA
QCAtMTExOSw3ICsxMTI0LDYgQEAgbGVnYWN5LWFuaW1hdGlvbi1lbmdpbmUvY29tcG9zaXRpbmcv
YmFja2luZy9iYWNraW5nLXN0b3JlLWF0dGFjaG1lbnQtZW1wdHkta2V5ZnIKICMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjCiAKIHdlYmtpdC5vcmcvYi8xMTczMjIgZmFzdC9jc3MvdGV4dC1pbmRlbnQt
Zmlyc3QtbGluZS0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzEx
NzMyMiBmYXN0L2Nzcy93b3JkLXNwYWNpbmctY2hhcmFjdGVycy1jb21wbGV4LXRleHQuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRl
ZFN0eWxlLW91dGxpbmUtc2hvcnRoYW5kLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogd2Via2l0Lm9y
Zy9iLzEzNjQ4NCBmYXN0L2Nzcy1nZW5lcmF0ZWQtY29udGVudC9pbml0aWFsLWxldHRlci1iYXNp
Yy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMzY0ODQgZmFzdC9jc3MtZ2Vu
ZXJhdGVkLWNvbnRlbnQvaW5pdGlhbC1sZXR0ZXItYm9yZGVyLXBhZGRpbmcuaHRtbCBbIFBhc3Mg
RmFpbHVyZSBdCkBAIC0xNzIxLDE1ICsxNzI1LDEyIEBAIGZhc3QvdGV4dC9jb21wbGV4LXNtYWxs
LWNhcHMtbm9uLWJtcC1jYXBpdGFsaXplLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGZhc3Qv
dGV4dC9kZWNvcmF0aW9ucy12ZXJ0aWNhbC11bmRlcmxpbmUuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogZmFzdC90ZXh0L2VsbGlwc2lzLXRleHQtcnRsLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIGZhc3QvdGV4dC9lbW9qaS1vdmVybGFwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWZh
c3QvdGV4dC9lbW9qaS1zaW5nbGUtcGFyZW50LWZhbWlseS0yLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWZhc3QvdGV4dC9lbW9qaS1zaW5nbGUtcGFyZW50LWZhbWlseS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiBmYXN0L3RleHQvZW1vamktdmFyaWF0aW9uLXNlbGVjdG9yLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIGZhc3QvdGV4dC9lbW9qaS13aXRoLWpvaW5lci5odG1sIFsgRmFp
bHVyZSBdCiBmYXN0L3RleHQvZW1vamkuaHRtbCBbIEZhaWx1cmUgXQogZmFzdC90ZXh0L2VtcGhh
c2lzLW92ZXJsYXAuaHRtbCBbIEZhaWx1cmUgXQogZmFzdC90ZXh0L2ZhbGxiYWNrLWxhbmd1YWdl
LWhhbi0yLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGZhc3QvdGV4dC9mYWxsYmFjay10cmFp
dHMtZml4dXAuaHRtbCBbIEZhaWx1cmUgXQotZmFzdC90ZXh0L2ZpdHpwYXRyaWNrLWNvbWJpbmF0
aW9uLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGZhc3QvdGV4dC9mb250LWN1cnNpdmUtaXRh
bGljLWNqay5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBmYXN0L3RleHQvZm9udC1rZXJuaW5n
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGZhc3QvdGV4dC9mb250LWxvYWQtZGF0YS1wYXJ0
aXRpb25lZC1hbHBoYWJldC5odG1sIFsgRmFpbHVyZSBdCkBAIC0xNzU5LDcgKzE3NjAsNiBAQCBm
YXN0L3RleHQvanVzdGlmeS1pZGVvZ3JhcGgtY29tcGxleC5odG1sIFsgRmFpbHVyZSBdCiBmYXN0
L3RleHQvanVzdGlmeS1pZGVvZ3JhcGgtc2ltcGxlLmh0bWwgWyBGYWlsdXJlIF0KIGZhc3QvdGV4
dC9qdXN0aWZ5LWlkZW9ncmFwaC12ZXJ0aWNhbC5odG1sIFsgRmFpbHVyZSBdCiBmYXN0L3RleHQv
anVzdGlmeS1uYnNwLmh0bWwgWyBGYWlsdXJlIF0KLWZhc3QvdGV4dC9rZXJuaW5nLXdpdGgtVGV4
dExheW91dC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBmYXN0L3RleHQva2htZXItbGFvLWZv
bnQuaHRtbCBbIEZhaWx1cmUgXQogZmFzdC90ZXh0L2xpbmUtYnJlYWstYmV0d2Vlbi10ZXh0LW5v
ZGVzLWxhdGluMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBmYXN0L3RleHQvbGluZS1icmVh
ay1iZXR3ZWVuLXRleHQtbm9kZXMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtMTc4Nyw3
ICsxNzg3LDYgQEAgZmFzdC90ZXh0L3NtYWxsLWxpbmUtaGVpZ2h0Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIGZhc3QvdGV4dC9zb2Z0LWh5cGhlbi1hcy1maXJzdC1icmVha2luZy1vcHBvcnR1
bml0eS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBmYXN0L3RleHQvc29mdC1oeXBoZW4tbWlu
LXByZWZlcnJlZC13aWR0aC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBmYXN0L3RleHQvc3Bh
Y2Utd2lkdGguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotZmFzdC90ZXh0L3N0YWxlLVRleHRM
YXlvdXQtZnJvbS1maXJzdC1saW5lLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGZhc3QvdGV4
dC9zdmctZm9udC1mYWNlLXdpdGgta2VybmluZy5odG1sIFsgRmFpbHVyZSBdCiBmYXN0L3RleHQv
c3ludGhldGljLWJvbGQtdHJhbnNmb3JtZWQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogZmFz
dC90ZXh0L3N5c3RlbS1mb250LWZhbGxiYWNrLWVtb2ppLmh0bWwgWyBGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386335</attachid>
            <date>2019-12-23 03:17:56 -0800</date>
            <delta_ts>2019-12-23 03:24:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>a.diff</filename>
            <type>text/plain</type>
            <size>5762</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxZDk5NzFiNjA0Ny4uY2E4ZDE2NTI1MTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxOS0xMi0yMyAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKwor
ICAgICAgICBDb21wbGV4VGV4dENvbnRyb2xsZXI6Om9mZnNldEZvclBvc2l0aW9uIHJldHVybnMg
YSB3cm9uZyBvZmZzZXQgZm9yIGEgZ2x5cGggYm91bmRhcnkgaW4gYSBSVEwgdGV4dAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NDg2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9Eb2N1
bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3J0bC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZG9tL0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9tUG9pbnQvcnRsLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOiBVbm1hcmtlZCBpbXBv
cnRlZC9ibGluay9lZGl0aW5nL3NlbGVjdGlvbi9vZmZzZXQtZnJvbS1wb2ludC1jb21wbGV4LXNj
cmlwdHMuaHRtbC4KKwogMjAxOS0xMi0xOSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWpp
aUBzb255LmNvbT4KIAogICAgICAgICBbV2luXSBVc2UgQ29tcGxleFRleHRDb250cm9sbGVyIGlu
c3RlYWQgb2YgVW5pc2NyaWJlQ29udHJvbGxlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9ydGwtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9ydGwtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi43ZTUyNjI5YWFh
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L0NhcmV0
UmFuZ2VGcm9tUG9pbnQvcnRsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACis2IDUgNCAzIDIg
MSAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdl
RnJvbVBvaW50L3J0bC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRS
YW5nZUZyb21Qb2ludC9ydGwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMC4uZGU5MGNiOTI2MzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3J0bC5odG1sCkBAIC0wLDAgKzEsNDIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+CisgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHN0
eWxlPgorICAgICAgcCB7CisgICAgICAgICAgZm9udC1mYW1pbHk6ICJBaGVtIjsKKyAgICAgICAg
ICBkaXJlY3Rpb246IHJ0bDsKKyAgICAgICAgICB1bmljb2RlLWJpZGk6IGJpZGktb3ZlcnJpZGU7
CisgICAgICB9CisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPkFCQ0RFRjwvcD4KKzwvZGl2PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgordGVz
dE9mZnNldEZyb21Qb2ludChjb250YWluZXIuZmlyc3RFbGVtZW50Q2hpbGQpOworCitmdW5jdGlv
biB0ZXN0T2Zmc2V0RnJvbVBvaW50KGVsZW1lbnQpIHsKKyAgICB2YXIgeSA9IGVsZW1lbnQub2Zm
c2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOworICAgIHZhciB4bWluID0gZWxlbWVu
dC5vZmZzZXRMZWZ0OworICAgIHZhciB4bWF4ID0geG1pbiArIGVsZW1lbnQub2Zmc2V0V2lkdGg7
CisgICAgdmFyIGxhc3RDaGFyYWN0ZXJPZmZzZXQgPSBudWxsOworICAgIHZhciByZXN1bHRzID0g
W107CisgICAgZm9yICh2YXIgeCA9IHhtaW4gLSAxOyB4IDw9IHhtYXggKyAxOyArK3gpIHsKKyAg
ICAgICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoeCwgeSk7Cisg
ICAgICAgIHZhciBjaGFyYWN0ZXJPZmZzZXQgPSByZXN1bHQgPyByZXN1bHQuc3RhcnRPZmZzZXQg
OiBudWxsOworICAgICAgICBpZiAoY2hhcmFjdGVyT2Zmc2V0ID09PSBsYXN0Q2hhcmFjdGVyT2Zm
c2V0KQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIHJlc3VsdHMucHVzaChjaGFyYWN0
ZXJPZmZzZXQpOworICAgICAgICBsYXN0Q2hhcmFjdGVyT2Zmc2V0ID0gY2hhcmFjdGVyT2Zmc2V0
OworICAgIH0KKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Cisg
ICAgZGl2LmlubmVyVGV4dCA9IHJlc3VsdHMuam9pbigiICIpOworICAgIGxvZy5hcHBlbmRDaGls
ZChkaXYpOworfQorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICBjb250YWluZXIuc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK30KKzwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBh
ZjFjN2Y0MGU2Mi4uNDA4YzcwM2VmZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zCkBAIC0zNDAzLDcgKzM0MDMsNiBAQCB3ZWJraXQub3JnL2IvMTc3OTM0IGh0
dHAvdGVzdHMvcHJlY29ubmVjdC9saW5rLWhlYWRlci1yZWwtcHJlY29ubmVjdC1odHRwLmh0bWwg
Wwogd2Via2l0Lm9yZy9iLzE3NzkzNiBmYXN0L3RleHQvYWxsLXNtYWxsLWNhcHMtd2hpdGVzcGFj
ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTc3OTM2IGZhc3QvdGV4
dC9yZWdpb25hbC1pbmRpY2F0b3Itc3ltb2Jscy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3Jn
L2IvMTc3OTM2IGZhc3QvdGV4dC9zZWxlY3Rpb24taW4taW5pdGlhbC1hZHZhbmNlLXJlZ2lvbi5o
dG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTc3OTM2IGltcG9ydGVkL2JsaW5rL2VkaXRp
bmcvc2VsZWN0aW9uL29mZnNldC1mcm9tLXBvaW50LWNvbXBsZXgtc2NyaXB0cy5odG1sIFsgRmFp
bHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xNzc5MzcgZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1w
cmVmZXJyZWQtd2lkdGguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE3
NzkzNyBmYXN0L3RleHQvdW5rbm93bi1jaGFyLW5vdGRlZi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggNzZmMTlkZDI4ZDYuLmMzMWRkNWMxOGExIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTktMTItMjMgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVq
aWlAc29ueS5jb20+CisKKyAgICAgICAgQ29tcGxleFRleHRDb250cm9sbGVyOjpvZmZzZXRGb3JQ
b3NpdGlvbiByZXR1cm5zIGEgd3Jvbmcgb2Zmc2V0IGZvciBhIGdseXBoIGJvdW5kYXJ5IGluIGEg
UlRMIHRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwNTQ4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IElmIG1fcnVuLmx0cigpIHdhcyB0cnVlIGFuZCB4ID09IDAsIGhpdEluZGV4IHdvdWxkIGJlY29t
ZSBoaXRHbHlwaEVuZC4KKyAgICAgICAgVGhpcyBpcyBub3QgZXhwZWN0ZWQuIEl0IGV4cGVjdHMg
aGl0SW5kZXggPCBoaXRHbHlwaEVuZCBpZiBoaXRHbHlwaFN0YXJ0IOKJoCBoaXRHbHlwaEVuZC4K
KworICAgICAgICBUZXN0OiBmYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3J0
bC5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpvZmZzZXRG
b3JQb3NpdGlvbik6IENvbXB1dGUgY29ycmVjdCBoaXRHbHlwaEVuZCBmb3IgUlRMLgorCiAyMDE5
LTEyLTE5ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAg
ICAgIFtXaW5dIFVzZSBDb21wbGV4VGV4dENvbnRyb2xsZXIgaW5zdGVhZCBvZiBVbmlzY3JpYmVD
b250cm9sbGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9D
b21wbGV4VGV4dENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAppbmRleCA0OGU4ZDk1MWI4Yy4uNzU2ZTIxMGQy
OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbXBsZXhU
ZXh0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Q29tcGxleFRleHRDb250cm9sbGVyLmNwcApAQCAtMTg5LDcgKzE4OSwxMSBAQCB1bnNpZ25lZCBD
b21wbGV4VGV4dENvbnRyb2xsZXI6Om9mZnNldEZvclBvc2l0aW9uKGZsb2F0IGgsIGJvb2wgaW5j
bHVkZVBhcnRpYWxHbAogCiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IEluc3RlYWQgb2YgZGl2
aWRpbmcgdGhlIGdseXBoJ3MgYWR2YW5jZSBlcXVhbGx5IGJldHdlZW4gdGhlIGNoYXJhY3RlcnMs
IHRoaXMKICAgICAgICAgICAgICAgICAvLyBjb3VsZCB1c2UgdGhlIGdseXBoJ3MgImxpZ2F0dXJl
IGNhcmV0cyIuIFRoaXMgaXMgYXZhaWxhYmxlIGluIENvcmVUZXh0IHZpYSBDVEZvbnRHZXRMaWdh
dHVyZUNhcmV0UG9zaXRpb25zKCkuCi0gICAgICAgICAgICAgICAgdW5zaWduZWQgaGl0SW5kZXgg
PSBoaXRHbHlwaFN0YXJ0ICsgKGhpdEdseXBoRW5kIC0gaGl0R2x5cGhTdGFydCkgKiAobV9ydW4u
bHRyKCkgPyB4IC8gYWRqdXN0ZWRBZHZhbmNlIDogMSAtIHggLyBhZGp1c3RlZEFkdmFuY2UpOwor
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGhpdEluZGV4OworICAgICAgICAgICAgICAgIGlmICht
X3J1bi5sdHIoKSkKKyAgICAgICAgICAgICAgICAgICAgaGl0SW5kZXggPSBoaXRHbHlwaFN0YXJ0
ICsgKGhpdEdseXBoRW5kIC0gaGl0R2x5cGhTdGFydCkgKiAoeCAvIGFkanVzdGVkQWR2YW5jZSk7
CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBoaXRJbmRleCA9IGhp
dEdseXBoRW5kIC0gKGhpdEdseXBoRW5kIC0gaGl0R2x5cGhTdGFydCkgKiAoMSAtIHggLyBhZGp1
c3RlZEFkdmFuY2UpOwogICAgICAgICAgICAgICAgIHVuc2lnbmVkIHN0cmluZ0xlbmd0aCA9IGNv
bXBsZXhUZXh0UnVuLnN0cmluZ0xlbmd0aCgpOwogICAgICAgICAgICAgICAgIENhY2hlZFRleHRC
cmVha0l0ZXJhdG9yIGN1cnNvclBvc2l0aW9uSXRlcmF0b3IoU3RyaW5nVmlldyhjb21wbGV4VGV4
dFJ1bi5jaGFyYWN0ZXJzKCksIHN0cmluZ0xlbmd0aCksIFRleHRCcmVha0l0ZXJhdG9yOjpNb2Rl
OjpDYXJldCwgbnVsbEF0b20oKSk7CiAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2x1c3RlclN0
YXJ0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386338</attachid>
            <date>2019-12-23 03:54:06 -0800</date>
            <delta_ts>2019-12-23 03:56:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>a.diff</filename>
            <type>text/plain</type>
            <size>5569</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxZDk5NzFiNjA0Ny4uY2E4ZDE2NTI1MTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxOS0xMi0yMyAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKwor
ICAgICAgICBDb21wbGV4VGV4dENvbnRyb2xsZXI6Om9mZnNldEZvclBvc2l0aW9uIHJldHVybnMg
YSB3cm9uZyBvZmZzZXQgZm9yIGEgZ2x5cGggYm91bmRhcnkgaW4gYSBSVEwgdGV4dAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NDg2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9Eb2N1
bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3J0bC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZG9tL0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9tUG9pbnQvcnRsLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOiBVbm1hcmtlZCBpbXBv
cnRlZC9ibGluay9lZGl0aW5nL3NlbGVjdGlvbi9vZmZzZXQtZnJvbS1wb2ludC1jb21wbGV4LXNj
cmlwdHMuaHRtbC4KKwogMjAxOS0xMi0xOSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWpp
aUBzb255LmNvbT4KIAogICAgICAgICBbV2luXSBVc2UgQ29tcGxleFRleHRDb250cm9sbGVyIGlu
c3RlYWQgb2YgVW5pc2NyaWJlQ29udHJvbGxlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9ydGwtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9ydGwtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi43ZTUyNjI5YWFh
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L0NhcmV0
UmFuZ2VGcm9tUG9pbnQvcnRsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACis2IDUgNCAzIDIg
MSAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdl
RnJvbVBvaW50L3J0bC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRS
YW5nZUZyb21Qb2ludC9ydGwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMC4uZGU5MGNiOTI2MzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3J0bC5odG1sCkBAIC0wLDAgKzEsNDIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+CisgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHN0
eWxlPgorICAgICAgcCB7CisgICAgICAgICAgZm9udC1mYW1pbHk6ICJBaGVtIjsKKyAgICAgICAg
ICBkaXJlY3Rpb246IHJ0bDsKKyAgICAgICAgICB1bmljb2RlLWJpZGk6IGJpZGktb3ZlcnJpZGU7
CisgICAgICB9CisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPkFCQ0RFRjwvcD4KKzwvZGl2PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgordGVz
dE9mZnNldEZyb21Qb2ludChjb250YWluZXIuZmlyc3RFbGVtZW50Q2hpbGQpOworCitmdW5jdGlv
biB0ZXN0T2Zmc2V0RnJvbVBvaW50KGVsZW1lbnQpIHsKKyAgICB2YXIgeSA9IGVsZW1lbnQub2Zm
c2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOworICAgIHZhciB4bWluID0gZWxlbWVu
dC5vZmZzZXRMZWZ0OworICAgIHZhciB4bWF4ID0geG1pbiArIGVsZW1lbnQub2Zmc2V0V2lkdGg7
CisgICAgdmFyIGxhc3RDaGFyYWN0ZXJPZmZzZXQgPSBudWxsOworICAgIHZhciByZXN1bHRzID0g
W107CisgICAgZm9yICh2YXIgeCA9IHhtaW4gLSAxOyB4IDw9IHhtYXggKyAxOyArK3gpIHsKKyAg
ICAgICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoeCwgeSk7Cisg
ICAgICAgIHZhciBjaGFyYWN0ZXJPZmZzZXQgPSByZXN1bHQgPyByZXN1bHQuc3RhcnRPZmZzZXQg
OiBudWxsOworICAgICAgICBpZiAoY2hhcmFjdGVyT2Zmc2V0ID09PSBsYXN0Q2hhcmFjdGVyT2Zm
c2V0KQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIHJlc3VsdHMucHVzaChjaGFyYWN0
ZXJPZmZzZXQpOworICAgICAgICBsYXN0Q2hhcmFjdGVyT2Zmc2V0ID0gY2hhcmFjdGVyT2Zmc2V0
OworICAgIH0KKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Cisg
ICAgZGl2LmlubmVyVGV4dCA9IHJlc3VsdHMuam9pbigiICIpOworICAgIGxvZy5hcHBlbmRDaGls
ZChkaXYpOworfQorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICBjb250YWluZXIuc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK30KKzwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBh
ZjFjN2Y0MGU2Mi4uNDA4YzcwM2VmZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zCkBAIC0zNDAzLDcgKzM0MDMsNiBAQCB3ZWJraXQub3JnL2IvMTc3OTM0IGh0
dHAvdGVzdHMvcHJlY29ubmVjdC9saW5rLWhlYWRlci1yZWwtcHJlY29ubmVjdC1odHRwLmh0bWwg
Wwogd2Via2l0Lm9yZy9iLzE3NzkzNiBmYXN0L3RleHQvYWxsLXNtYWxsLWNhcHMtd2hpdGVzcGFj
ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTc3OTM2IGZhc3QvdGV4
dC9yZWdpb25hbC1pbmRpY2F0b3Itc3ltb2Jscy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3Jn
L2IvMTc3OTM2IGZhc3QvdGV4dC9zZWxlY3Rpb24taW4taW5pdGlhbC1hZHZhbmNlLXJlZ2lvbi5o
dG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTc3OTM2IGltcG9ydGVkL2JsaW5rL2VkaXRp
bmcvc2VsZWN0aW9uL29mZnNldC1mcm9tLXBvaW50LWNvbXBsZXgtc2NyaXB0cy5odG1sIFsgRmFp
bHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xNzc5MzcgZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1w
cmVmZXJyZWQtd2lkdGguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE3
NzkzNyBmYXN0L3RleHQvdW5rbm93bi1jaGFyLW5vdGRlZi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggNzZmMTlkZDI4ZDYuLmMzMWRkNWMxOGExIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTktMTItMjMgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVq
aWlAc29ueS5jb20+CisKKyAgICAgICAgQ29tcGxleFRleHRDb250cm9sbGVyOjpvZmZzZXRGb3JQ
b3NpdGlvbiByZXR1cm5zIGEgd3Jvbmcgb2Zmc2V0IGZvciBhIGdseXBoIGJvdW5kYXJ5IGluIGEg
UlRMIHRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwNTQ4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IElmIG1fcnVuLmx0cigpIHdhcyB0cnVlIGFuZCB4ID09IDAsIGhpdEluZGV4IHdvdWxkIGJlY29t
ZSBoaXRHbHlwaEVuZC4KKyAgICAgICAgVGhpcyBpcyBub3QgZXhwZWN0ZWQuIEl0IGV4cGVjdHMg
aGl0SW5kZXggPCBoaXRHbHlwaEVuZCBpZiBoaXRHbHlwaFN0YXJ0IOKJoCBoaXRHbHlwaEVuZC4K
KworICAgICAgICBUZXN0OiBmYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3J0
bC5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpvZmZzZXRG
b3JQb3NpdGlvbik6IENvbXB1dGUgY29ycmVjdCBoaXRHbHlwaEVuZCBmb3IgUlRMLgorCiAyMDE5
LTEyLTE5ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAg
ICAgIFtXaW5dIFVzZSBDb21wbGV4VGV4dENvbnRyb2xsZXIgaW5zdGVhZCBvZiBVbmlzY3JpYmVD
b250cm9sbGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9D
b21wbGV4VGV4dENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAppbmRleCA0OGU4ZDk1MWI4Yy4uMjg0M2YwZGE1
YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbXBsZXhU
ZXh0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Q29tcGxleFRleHRDb250cm9sbGVyLmNwcApAQCAtMTkwLDYgKzE5MCw4IEBAIHVuc2lnbmVkIENv
bXBsZXhUZXh0Q29udHJvbGxlcjo6b2Zmc2V0Rm9yUG9zaXRpb24oZmxvYXQgaCwgYm9vbCBpbmNs
dWRlUGFydGlhbEdsCiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IEluc3RlYWQgb2YgZGl2aWRp
bmcgdGhlIGdseXBoJ3MgYWR2YW5jZSBlcXVhbGx5IGJldHdlZW4gdGhlIGNoYXJhY3RlcnMsIHRo
aXMKICAgICAgICAgICAgICAgICAvLyBjb3VsZCB1c2UgdGhlIGdseXBoJ3MgImxpZ2F0dXJlIGNh
cmV0cyIuIFRoaXMgaXMgYXZhaWxhYmxlIGluIENvcmVUZXh0IHZpYSBDVEZvbnRHZXRMaWdhdHVy
ZUNhcmV0UG9zaXRpb25zKCkuCiAgICAgICAgICAgICAgICAgdW5zaWduZWQgaGl0SW5kZXggPSBo
aXRHbHlwaFN0YXJ0ICsgKGhpdEdseXBoRW5kIC0gaGl0R2x5cGhTdGFydCkgKiAobV9ydW4ubHRy
KCkgPyB4IC8gYWRqdXN0ZWRBZHZhbmNlIDogMSAtIHggLyBhZGp1c3RlZEFkdmFuY2UpOworICAg
ICAgICAgICAgICAgIGlmICghbV9ydW4ubHRyKCkgJiYgeCA9PSAwICYmIGhpdEdseXBoU3RhcnQg
IT0gaGl0R2x5cGhFbmQpCisgICAgICAgICAgICAgICAgICAgIGhpdEluZGV4LS07CiAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgc3RyaW5nTGVuZ3RoID0gY29tcGxleFRleHRSdW4uc3RyaW5nTGVu
Z3RoKCk7CiAgICAgICAgICAgICAgICAgQ2FjaGVkVGV4dEJyZWFrSXRlcmF0b3IgY3Vyc29yUG9z
aXRpb25JdGVyYXRvcihTdHJpbmdWaWV3KGNvbXBsZXhUZXh0UnVuLmNoYXJhY3RlcnMoKSwgc3Ry
aW5nTGVuZ3RoKSwgVGV4dEJyZWFrSXRlcmF0b3I6Ok1vZGU6OkNhcmV0LCBudWxsQXRvbSgpKTsK
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjbHVzdGVyU3RhcnQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386339</attachid>
            <date>2019-12-23 03:58:32 -0800</date>
            <delta_ts>2019-12-23 20:46:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>a.diff</filename>
            <type>text/plain</type>
            <size>5565</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxZDk5NzFiNjA0Ny4uY2E4ZDE2NTI1MTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxOS0xMi0yMyAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKwor
ICAgICAgICBDb21wbGV4VGV4dENvbnRyb2xsZXI6Om9mZnNldEZvclBvc2l0aW9uIHJldHVybnMg
YSB3cm9uZyBvZmZzZXQgZm9yIGEgZ2x5cGggYm91bmRhcnkgaW4gYSBSVEwgdGV4dAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NDg2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9Eb2N1
bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3J0bC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZG9tL0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9tUG9pbnQvcnRsLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOiBVbm1hcmtlZCBpbXBv
cnRlZC9ibGluay9lZGl0aW5nL3NlbGVjdGlvbi9vZmZzZXQtZnJvbS1wb2ludC1jb21wbGV4LXNj
cmlwdHMuaHRtbC4KKwogMjAxOS0xMi0xOSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWpp
aUBzb255LmNvbT4KIAogICAgICAgICBbV2luXSBVc2UgQ29tcGxleFRleHRDb250cm9sbGVyIGlu
c3RlYWQgb2YgVW5pc2NyaWJlQ29udHJvbGxlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9ydGwtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9ydGwtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi43ZTUyNjI5YWFh
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L0NhcmV0
UmFuZ2VGcm9tUG9pbnQvcnRsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACis2IDUgNCAzIDIg
MSAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdl
RnJvbVBvaW50L3J0bC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRS
YW5nZUZyb21Qb2ludC9ydGwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMC4uZGU5MGNiOTI2MzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3J0bC5odG1sCkBAIC0wLDAgKzEsNDIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+CisgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHN0
eWxlPgorICAgICAgcCB7CisgICAgICAgICAgZm9udC1mYW1pbHk6ICJBaGVtIjsKKyAgICAgICAg
ICBkaXJlY3Rpb246IHJ0bDsKKyAgICAgICAgICB1bmljb2RlLWJpZGk6IGJpZGktb3ZlcnJpZGU7
CisgICAgICB9CisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPkFCQ0RFRjwvcD4KKzwvZGl2PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgordGVz
dE9mZnNldEZyb21Qb2ludChjb250YWluZXIuZmlyc3RFbGVtZW50Q2hpbGQpOworCitmdW5jdGlv
biB0ZXN0T2Zmc2V0RnJvbVBvaW50KGVsZW1lbnQpIHsKKyAgICB2YXIgeSA9IGVsZW1lbnQub2Zm
c2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOworICAgIHZhciB4bWluID0gZWxlbWVu
dC5vZmZzZXRMZWZ0OworICAgIHZhciB4bWF4ID0geG1pbiArIGVsZW1lbnQub2Zmc2V0V2lkdGg7
CisgICAgdmFyIGxhc3RDaGFyYWN0ZXJPZmZzZXQgPSBudWxsOworICAgIHZhciByZXN1bHRzID0g
W107CisgICAgZm9yICh2YXIgeCA9IHhtaW4gLSAxOyB4IDw9IHhtYXggKyAxOyArK3gpIHsKKyAg
ICAgICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoeCwgeSk7Cisg
ICAgICAgIHZhciBjaGFyYWN0ZXJPZmZzZXQgPSByZXN1bHQgPyByZXN1bHQuc3RhcnRPZmZzZXQg
OiBudWxsOworICAgICAgICBpZiAoY2hhcmFjdGVyT2Zmc2V0ID09PSBsYXN0Q2hhcmFjdGVyT2Zm
c2V0KQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIHJlc3VsdHMucHVzaChjaGFyYWN0
ZXJPZmZzZXQpOworICAgICAgICBsYXN0Q2hhcmFjdGVyT2Zmc2V0ID0gY2hhcmFjdGVyT2Zmc2V0
OworICAgIH0KKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Cisg
ICAgZGl2LmlubmVyVGV4dCA9IHJlc3VsdHMuam9pbigiICIpOworICAgIGxvZy5hcHBlbmRDaGls
ZChkaXYpOworfQorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICBjb250YWluZXIuc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK30KKzwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBh
ZjFjN2Y0MGU2Mi4uNDA4YzcwM2VmZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zCkBAIC0zNDAzLDcgKzM0MDMsNiBAQCB3ZWJraXQub3JnL2IvMTc3OTM0IGh0
dHAvdGVzdHMvcHJlY29ubmVjdC9saW5rLWhlYWRlci1yZWwtcHJlY29ubmVjdC1odHRwLmh0bWwg
Wwogd2Via2l0Lm9yZy9iLzE3NzkzNiBmYXN0L3RleHQvYWxsLXNtYWxsLWNhcHMtd2hpdGVzcGFj
ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTc3OTM2IGZhc3QvdGV4
dC9yZWdpb25hbC1pbmRpY2F0b3Itc3ltb2Jscy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3Jn
L2IvMTc3OTM2IGZhc3QvdGV4dC9zZWxlY3Rpb24taW4taW5pdGlhbC1hZHZhbmNlLXJlZ2lvbi5o
dG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTc3OTM2IGltcG9ydGVkL2JsaW5rL2VkaXRp
bmcvc2VsZWN0aW9uL29mZnNldC1mcm9tLXBvaW50LWNvbXBsZXgtc2NyaXB0cy5odG1sIFsgRmFp
bHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xNzc5MzcgZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1w
cmVmZXJyZWQtd2lkdGguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE3
NzkzNyBmYXN0L3RleHQvdW5rbm93bi1jaGFyLW5vdGRlZi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggNzZmMTlkZDI4ZDYuLmMzMWRkNWMxOGExIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTktMTItMjMgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVq
aWlAc29ueS5jb20+CisKKyAgICAgICAgQ29tcGxleFRleHRDb250cm9sbGVyOjpvZmZzZXRGb3JQ
b3NpdGlvbiByZXR1cm5zIGEgd3Jvbmcgb2Zmc2V0IGZvciBhIGdseXBoIGJvdW5kYXJ5IGluIGEg
UlRMIHRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwNTQ4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IElmIG1fcnVuLmx0cigpIHdhcyB0cnVlIGFuZCB4ID09IDAsIGhpdEluZGV4IHdvdWxkIGJlY29t
ZSBoaXRHbHlwaEVuZC4KKyAgICAgICAgVGhpcyBpcyBub3QgZXhwZWN0ZWQuIEl0IGV4cGVjdHMg
aGl0SW5kZXggPCBoaXRHbHlwaEVuZCBpZiBoaXRHbHlwaFN0YXJ0IOKJoCBoaXRHbHlwaEVuZC4K
KworICAgICAgICBUZXN0OiBmYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3J0
bC5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpvZmZzZXRG
b3JQb3NpdGlvbik6IENvbXB1dGUgY29ycmVjdCBoaXRHbHlwaEVuZCBmb3IgUlRMLgorCiAyMDE5
LTEyLTE5ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAg
ICAgIFtXaW5dIFVzZSBDb21wbGV4VGV4dENvbnRyb2xsZXIgaW5zdGVhZCBvZiBVbmlzY3JpYmVD
b250cm9sbGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9D
b21wbGV4VGV4dENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAppbmRleCA0OGU4ZDk1MWI4Yy4uODA3YzY4MTNk
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbXBsZXhU
ZXh0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Q29tcGxleFRleHRDb250cm9sbGVyLmNwcApAQCAtMTkwLDYgKzE5MCw4IEBAIHVuc2lnbmVkIENv
bXBsZXhUZXh0Q29udHJvbGxlcjo6b2Zmc2V0Rm9yUG9zaXRpb24oZmxvYXQgaCwgYm9vbCBpbmNs
dWRlUGFydGlhbEdsCiAgICAgICAgICAgICAgICAgLy8gRklYTUU6IEluc3RlYWQgb2YgZGl2aWRp
bmcgdGhlIGdseXBoJ3MgYWR2YW5jZSBlcXVhbGx5IGJldHdlZW4gdGhlIGNoYXJhY3RlcnMsIHRo
aXMKICAgICAgICAgICAgICAgICAvLyBjb3VsZCB1c2UgdGhlIGdseXBoJ3MgImxpZ2F0dXJlIGNh
cmV0cyIuIFRoaXMgaXMgYXZhaWxhYmxlIGluIENvcmVUZXh0IHZpYSBDVEZvbnRHZXRMaWdhdHVy
ZUNhcmV0UG9zaXRpb25zKCkuCiAgICAgICAgICAgICAgICAgdW5zaWduZWQgaGl0SW5kZXggPSBo
aXRHbHlwaFN0YXJ0ICsgKGhpdEdseXBoRW5kIC0gaGl0R2x5cGhTdGFydCkgKiAobV9ydW4ubHRy
KCkgPyB4IC8gYWRqdXN0ZWRBZHZhbmNlIDogMSAtIHggLyBhZGp1c3RlZEFkdmFuY2UpOworICAg
ICAgICAgICAgICAgIGlmICghbV9ydW4ubHRyKCkgJiYgIXggJiYgaGl0R2x5cGhTdGFydCAhPSBo
aXRHbHlwaEVuZCkKKyAgICAgICAgICAgICAgICAgICAgaGl0SW5kZXgtLTsKICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBzdHJpbmdMZW5ndGggPSBjb21wbGV4VGV4dFJ1bi5zdHJpbmdMZW5ndGgo
KTsKICAgICAgICAgICAgICAgICBDYWNoZWRUZXh0QnJlYWtJdGVyYXRvciBjdXJzb3JQb3NpdGlv
bkl0ZXJhdG9yKFN0cmluZ1ZpZXcoY29tcGxleFRleHRSdW4uY2hhcmFjdGVycygpLCBzdHJpbmdM
ZW5ndGgpLCBUZXh0QnJlYWtJdGVyYXRvcjo6TW9kZTo6Q2FyZXQsIG51bGxBdG9tKCkpOwogICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGNsdXN0ZXJTdGFydDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386371</attachid>
            <date>2019-12-23 20:46:16 -0800</date>
            <delta_ts>2019-12-23 20:47:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>a.diff</filename>
            <type>text/plain</type>
            <size>8074</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxZDk5NzFiNjA0Ny4uY2E4ZDE2NTI1MTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxOS0xMi0yMyAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKwor
ICAgICAgICBDb21wbGV4VGV4dENvbnRyb2xsZXI6Om9mZnNldEZvclBvc2l0aW9uIHJldHVybnMg
YSB3cm9uZyBvZmZzZXQgZm9yIGEgZ2x5cGggYm91bmRhcnkgaW4gYSBSVEwgdGV4dAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NDg2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9Eb2N1
bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3J0bC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZG9tL0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9tUG9pbnQvcnRsLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOiBVbm1hcmtlZCBpbXBv
cnRlZC9ibGluay9lZGl0aW5nL3NlbGVjdGlvbi9vZmZzZXQtZnJvbS1wb2ludC1jb21wbGV4LXNj
cmlwdHMuaHRtbC4KKwogMjAxOS0xMi0xOSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWpp
aUBzb255LmNvbT4KIAogICAgICAgICBbV2luXSBVc2UgQ29tcGxleFRleHRDb250cm9sbGVyIGlu
c3RlYWQgb2YgVW5pc2NyaWJlQ29udHJvbGxlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9ydGwtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9ydGwtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi43ZTUyNjI5YWFh
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L0NhcmV0
UmFuZ2VGcm9tUG9pbnQvcnRsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACis2IDUgNCAzIDIg
MSAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdl
RnJvbVBvaW50L3J0bC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRS
YW5nZUZyb21Qb2ludC9ydGwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMC4uZGU5MGNiOTI2MzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3J0bC5odG1sCkBAIC0wLDAgKzEsNDIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+CisgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHN0
eWxlPgorICAgICAgcCB7CisgICAgICAgICAgZm9udC1mYW1pbHk6ICJBaGVtIjsKKyAgICAgICAg
ICBkaXJlY3Rpb246IHJ0bDsKKyAgICAgICAgICB1bmljb2RlLWJpZGk6IGJpZGktb3ZlcnJpZGU7
CisgICAgICB9CisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPkFCQ0RFRjwvcD4KKzwvZGl2PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgordGVz
dE9mZnNldEZyb21Qb2ludChjb250YWluZXIuZmlyc3RFbGVtZW50Q2hpbGQpOworCitmdW5jdGlv
biB0ZXN0T2Zmc2V0RnJvbVBvaW50KGVsZW1lbnQpIHsKKyAgICB2YXIgeSA9IGVsZW1lbnQub2Zm
c2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOworICAgIHZhciB4bWluID0gZWxlbWVu
dC5vZmZzZXRMZWZ0OworICAgIHZhciB4bWF4ID0geG1pbiArIGVsZW1lbnQub2Zmc2V0V2lkdGg7
CisgICAgdmFyIGxhc3RDaGFyYWN0ZXJPZmZzZXQgPSBudWxsOworICAgIHZhciByZXN1bHRzID0g
W107CisgICAgZm9yICh2YXIgeCA9IHhtaW4gLSAxOyB4IDw9IHhtYXggKyAxOyArK3gpIHsKKyAg
ICAgICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoeCwgeSk7Cisg
ICAgICAgIHZhciBjaGFyYWN0ZXJPZmZzZXQgPSByZXN1bHQgPyByZXN1bHQuc3RhcnRPZmZzZXQg
OiBudWxsOworICAgICAgICBpZiAoY2hhcmFjdGVyT2Zmc2V0ID09PSBsYXN0Q2hhcmFjdGVyT2Zm
c2V0KQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIHJlc3VsdHMucHVzaChjaGFyYWN0
ZXJPZmZzZXQpOworICAgICAgICBsYXN0Q2hhcmFjdGVyT2Zmc2V0ID0gY2hhcmFjdGVyT2Zmc2V0
OworICAgIH0KKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Cisg
ICAgZGl2LmlubmVyVGV4dCA9IHJlc3VsdHMuam9pbigiICIpOworICAgIGxvZy5hcHBlbmRDaGls
ZChkaXYpOworfQorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICBjb250YWluZXIuc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK30KKzwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBh
ZjFjN2Y0MGU2Mi4uNDA4YzcwM2VmZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zCkBAIC0zNDAzLDcgKzM0MDMsNiBAQCB3ZWJraXQub3JnL2IvMTc3OTM0IGh0
dHAvdGVzdHMvcHJlY29ubmVjdC9saW5rLWhlYWRlci1yZWwtcHJlY29ubmVjdC1odHRwLmh0bWwg
Wwogd2Via2l0Lm9yZy9iLzE3NzkzNiBmYXN0L3RleHQvYWxsLXNtYWxsLWNhcHMtd2hpdGVzcGFj
ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTc3OTM2IGZhc3QvdGV4
dC9yZWdpb25hbC1pbmRpY2F0b3Itc3ltb2Jscy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3Jn
L2IvMTc3OTM2IGZhc3QvdGV4dC9zZWxlY3Rpb24taW4taW5pdGlhbC1hZHZhbmNlLXJlZ2lvbi5o
dG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTc3OTM2IGltcG9ydGVkL2JsaW5rL2VkaXRp
bmcvc2VsZWN0aW9uL29mZnNldC1mcm9tLXBvaW50LWNvbXBsZXgtc2NyaXB0cy5odG1sIFsgRmFp
bHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xNzc5MzcgZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1w
cmVmZXJyZWQtd2lkdGguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE3
NzkzNyBmYXN0L3RleHQvdW5rbm93bi1jaGFyLW5vdGRlZi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwpp
bmRleCBmM2ZjOGZkMTMxMC4uZTQ0ODIyM2EyZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTcyMyw3ICsxNzIzLDcgQEAgZmFzdC90
ZXh0L2NvbXBsZXgtZ3JhcGhlbWUtY2x1c3Rlci13aXRoLWluaXRpYWwtYWR2YW5jZS5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZQogZmFzdC90ZXh0L2NvbXBsZXgtaW5pdGlhbC1hZHZhbmNlLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIGZhc3QvdGV4dC9jb21wbGV4LXNtYWxsLWNhcHMtbm9uLWJt
cC1jYXBpdGFsaXplLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGZhc3QvdGV4dC9kZWNvcmF0
aW9ucy12ZXJ0aWNhbC11bmRlcmxpbmUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotZmFzdC90
ZXh0L2VsbGlwc2lzLXRleHQtcnRsLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KKyNmYXN0L3Rl
eHQvZWxsaXBzaXMtdGV4dC1ydGwuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogZmFzdC90ZXh0
L2Vtb2ppLW92ZXJsYXAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogZmFzdC90ZXh0L2Vtb2pp
LXZhcmlhdGlvbi1zZWxlY3Rvci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBmYXN0L3RleHQv
ZW1vamktd2l0aC1qb2luZXIuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDc2ZjE5ZGQy
OGQ2Li4xYjczNGI1ODIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE5LTEyLTIz
ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIENv
bXBsZXhUZXh0Q29udHJvbGxlcjo6b2Zmc2V0Rm9yUG9zaXRpb24gcmV0dXJucyBhIHdyb25nIG9m
ZnNldCBmb3IgYSBnbHlwaCBib3VuZGFyeSBpbiBhIFJUTCB0ZXh0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU0ODYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb21wbGV4VGV4dENvbnRyb2xsZXI6Om9m
ZnNldEZvclBvc2l0aW9uIGhhZCB0aGUgZm9sbG93aW5nIGNvZGU6CisKKyAgICAgICAgPiB1bnNp
Z25lZCBoaXRJbmRleCA9IGhpdEdseXBoU3RhcnQgKyAoaGl0R2x5cGhFbmQgLSBoaXRHbHlwaFN0
YXJ0KSAqIChtX3J1bi5sdHIoKSA/IHggLyBhZGp1c3RlZEFkdmFuY2UgOiAxIC0geCAvIGFkanVz
dGVkQWR2YW5jZSk7CisKKyAgICAgICAgSWYgbV9ydW4ubHRyKCkgd2FzIGZhbHNlIGFuZCB4ID09
IDAsIGhpdEluZGV4IHdvdWxkIGJlY29tZSBoaXRHbHlwaEVuZC4KKyAgICAgICAgVGhpcyBpcyBu
b3QgZXhwZWN0ZWQuIEl0IGV4cGVjdHMgaGl0SW5kZXggPCBoaXRHbHlwaEVuZCBpZiBoaXRHbHlw
aFN0YXJ0IOKJoCBoaXRHbHlwaEVuZC4KKyAgICAgICAgTGV0IGhpdEluZGV4IGJlIGhpdEdseXBo
U3RhcnQgaW4gdGhlIHN1Y2ggY29uZGl0aW9uLgorCisgICAgICAgIEFib3ZlIGNoYW5nZSBtYWtl
cyBmYXN0L3RleHQvZWxsaXBzaXMtdGV4dC1ydGwuaHRtbCBzdGFydGluZyB0bworICAgICAgICBm
YWlsIGJlY2F1c2Ugb2Zmc2V0Rm9yUG9zaXRpb24gcmV0dXJucyB0aGUgY2hhcmFjdGVyIG9mZnNl
dCBvZiB0aGUKKyAgICAgICAgbmV4dCBnbHlwaCBpZiB0aGUgYXJndWVtbnQgJ2gnIGlzIGluIGEg
Z2x5cGggYm91bmRhcnkuIEluIFJUTAorICAgICAgICB0ZXh0LCBvZmZzZXRGb3JQb3NpdGlvbiBz
aG91bGQgcmV0dXJuIGEgY2hhcmFjdGVyIG9mZnNldCBvZiB0aGUKKyAgICAgICAgcHJldmlvdXMg
Z2x5cGggaW4gY2FzZSBvZiBnbHlwaCBib3VuZGFyeS4gVXNlICc8PScgaW5zdGVhZCBvZiAnPCcK
KyAgICAgICAgZm9yIFJUTCB0ZXh0IGluIG9yZGVyIHRvIHNlbGVjdCBwcmV2aW91cyBnbHlwaHMg
Zm9yIGdseXBoCisgICAgICAgIGJvdW5kYXJpZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20v
RG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9ydGwuaHRtbAorCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNvbXBsZXhUZXh0Q29udHJvbGxlcjo6b2Zmc2V0Rm9yUG9zaXRpb24pOiBDb21wdXRlIGNvcnJl
Y3QgaGl0R2x5cGhFbmQgZm9yIFJUTC4KKwogMjAxOS0xMi0xOSAgRnVqaWkgSGlyb25vcmkgIDxI
aXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbV2luXSBVc2UgQ29tcGxleFRleHRD
b250cm9sbGVyIGluc3RlYWQgb2YgVW5pc2NyaWJlQ29udHJvbGxlcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5j
cHAKaW5kZXggNDhlOGQ5NTFiOGMuLjVlYTlmNDE4MzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAK
QEAgLTE3OSw3ICsxNzksOCBAQCB1bnNpZ25lZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6Om9mZnNl
dEZvclBvc2l0aW9uKGZsb2F0IGgsIGJvb2wgaW5jbHVkZVBhcnRpYWxHbAogICAgICAgICBmb3Ig
KHVuc2lnbmVkIGogPSAwOyBqIDwgY29tcGxleFRleHRSdW4uZ2x5cGhDb3VudCgpOyArK2opIHsK
ICAgICAgICAgICAgIHVuc2lnbmVkIGluZGV4ID0gb2Zmc2V0SW50b0FkanVzdGVkR2x5cGhzICsg
ajsKICAgICAgICAgICAgIGZsb2F0IGFkanVzdGVkQWR2YW5jZSA9IG1fYWRqdXN0ZWRCYXNlQWR2
YW5jZXNbaW5kZXhdLndpZHRoKCk7Ci0gICAgICAgICAgICBpZiAoeCA8IGFkanVzdGVkQWR2YW5j
ZSkgeworICAgICAgICAgICAgYm9vbCBoaXQgPSBtX3J1bi5sdHIoKSA/IHggPCBhZGp1c3RlZEFk
dmFuY2UgOiB4IDw9IGFkanVzdGVkQWR2YW5jZSAmJiBhZGp1c3RlZEFkdmFuY2U7CisgICAgICAg
ICAgICBpZiAoaGl0KSB7CiAgICAgICAgICAgICAgICAgdW5zaWduZWQgaGl0R2x5cGhTdGFydCA9
IGNvbXBsZXhUZXh0UnVuLmluZGV4QXQoaik7CiAgICAgICAgICAgICAgICAgdW5zaWduZWQgaGl0
R2x5cGhFbmQ7CiAgICAgICAgICAgICAgICAgaWYgKG1fcnVuLmx0cigpKQpAQCAtMTg5LDcgKzE5
MCwxNiBAQCB1bnNpZ25lZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6Om9mZnNldEZvclBvc2l0aW9u
KGZsb2F0IGgsIGJvb2wgaW5jbHVkZVBhcnRpYWxHbAogCiAgICAgICAgICAgICAgICAgLy8gRklY
TUU6IEluc3RlYWQgb2YgZGl2aWRpbmcgdGhlIGdseXBoJ3MgYWR2YW5jZSBlcXVhbGx5IGJldHdl
ZW4gdGhlIGNoYXJhY3RlcnMsIHRoaXMKICAgICAgICAgICAgICAgICAvLyBjb3VsZCB1c2UgdGhl
IGdseXBoJ3MgImxpZ2F0dXJlIGNhcmV0cyIuIFRoaXMgaXMgYXZhaWxhYmxlIGluIENvcmVUZXh0
IHZpYSBDVEZvbnRHZXRMaWdhdHVyZUNhcmV0UG9zaXRpb25zKCkuCi0gICAgICAgICAgICAgICAg
dW5zaWduZWQgaGl0SW5kZXggPSBoaXRHbHlwaFN0YXJ0ICsgKGhpdEdseXBoRW5kIC0gaGl0R2x5
cGhTdGFydCkgKiAobV9ydW4ubHRyKCkgPyB4IC8gYWRqdXN0ZWRBZHZhbmNlIDogMSAtIHggLyBh
ZGp1c3RlZEFkdmFuY2UpOworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGhpdEluZGV4OworICAg
ICAgICAgICAgICAgIGlmIChtX3J1bi5sdHIoKSkKKyAgICAgICAgICAgICAgICAgICAgaGl0SW5k
ZXggPSBoaXRHbHlwaFN0YXJ0ICsgKGhpdEdseXBoRW5kIC0gaGl0R2x5cGhTdGFydCkgKiAoeCAv
IGFkanVzdGVkQWR2YW5jZSk7CisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAg
ICAgICAgIGlmICh4KQorICAgICAgICAgICAgICAgICAgICAgICAgaGl0SW5kZXggPSBoaXRHbHlw
aEVuZCAtIChoaXRHbHlwaEVuZCAtIGhpdEdseXBoU3RhcnQpICogKHggLyBhZGp1c3RlZEFkdmFu
Y2UpOworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBo
aXRJbmRleCA9IGhpdEdseXBoU3RhcnQ7CisgICAgICAgICAgICAgICAgfQorCiAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgc3RyaW5nTGVuZ3RoID0gY29tcGxleFRleHRSdW4uc3RyaW5nTGVuZ3Ro
KCk7CiAgICAgICAgICAgICAgICAgQ2FjaGVkVGV4dEJyZWFrSXRlcmF0b3IgY3Vyc29yUG9zaXRp
b25JdGVyYXRvcihTdHJpbmdWaWV3KGNvbXBsZXhUZXh0UnVuLmNoYXJhY3RlcnMoKSwgc3RyaW5n
TGVuZ3RoKSwgVGV4dEJyZWFrSXRlcmF0b3I6Ok1vZGU6OkNhcmV0LCBudWxsQXRvbSgpKTsKICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBjbHVzdGVyU3RhcnQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386372</attachid>
            <date>2019-12-23 20:49:35 -0800</date>
            <delta_ts>2019-12-24 03:25:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>a.diff</filename>
            <type>text/plain</type>
            <size>7245</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxZDk5NzFiNjA0Ny4uY2E4ZDE2NTI1MTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxOS0xMi0yMyAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKwor
ICAgICAgICBDb21wbGV4VGV4dENvbnRyb2xsZXI6Om9mZnNldEZvclBvc2l0aW9uIHJldHVybnMg
YSB3cm9uZyBvZmZzZXQgZm9yIGEgZ2x5cGggYm91bmRhcnkgaW4gYSBSVEwgdGV4dAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NDg2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9Eb2N1
bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3J0bC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZG9tL0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9tUG9pbnQvcnRsLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOiBVbm1hcmtlZCBpbXBv
cnRlZC9ibGluay9lZGl0aW5nL3NlbGVjdGlvbi9vZmZzZXQtZnJvbS1wb2ludC1jb21wbGV4LXNj
cmlwdHMuaHRtbC4KKwogMjAxOS0xMi0xOSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWpp
aUBzb255LmNvbT4KIAogICAgICAgICBbV2luXSBVc2UgQ29tcGxleFRleHRDb250cm9sbGVyIGlu
c3RlYWQgb2YgVW5pc2NyaWJlQ29udHJvbGxlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9ydGwtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9ydGwtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi43ZTUyNjI5YWFh
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L0NhcmV0
UmFuZ2VGcm9tUG9pbnQvcnRsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACis2IDUgNCAzIDIg
MSAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdl
RnJvbVBvaW50L3J0bC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRS
YW5nZUZyb21Qb2ludC9ydGwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMC4uZGU5MGNiOTI2MzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3J0bC5odG1sCkBAIC0wLDAgKzEsNDIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+CisgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHN0
eWxlPgorICAgICAgcCB7CisgICAgICAgICAgZm9udC1mYW1pbHk6ICJBaGVtIjsKKyAgICAgICAg
ICBkaXJlY3Rpb246IHJ0bDsKKyAgICAgICAgICB1bmljb2RlLWJpZGk6IGJpZGktb3ZlcnJpZGU7
CisgICAgICB9CisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAg
IDxwPkFCQ0RFRjwvcD4KKzwvZGl2PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgordGVz
dE9mZnNldEZyb21Qb2ludChjb250YWluZXIuZmlyc3RFbGVtZW50Q2hpbGQpOworCitmdW5jdGlv
biB0ZXN0T2Zmc2V0RnJvbVBvaW50KGVsZW1lbnQpIHsKKyAgICB2YXIgeSA9IGVsZW1lbnQub2Zm
c2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOworICAgIHZhciB4bWluID0gZWxlbWVu
dC5vZmZzZXRMZWZ0OworICAgIHZhciB4bWF4ID0geG1pbiArIGVsZW1lbnQub2Zmc2V0V2lkdGg7
CisgICAgdmFyIGxhc3RDaGFyYWN0ZXJPZmZzZXQgPSBudWxsOworICAgIHZhciByZXN1bHRzID0g
W107CisgICAgZm9yICh2YXIgeCA9IHhtaW4gLSAxOyB4IDw9IHhtYXggKyAxOyArK3gpIHsKKyAg
ICAgICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoeCwgeSk7Cisg
ICAgICAgIHZhciBjaGFyYWN0ZXJPZmZzZXQgPSByZXN1bHQgPyByZXN1bHQuc3RhcnRPZmZzZXQg
OiBudWxsOworICAgICAgICBpZiAoY2hhcmFjdGVyT2Zmc2V0ID09PSBsYXN0Q2hhcmFjdGVyT2Zm
c2V0KQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIHJlc3VsdHMucHVzaChjaGFyYWN0
ZXJPZmZzZXQpOworICAgICAgICBsYXN0Q2hhcmFjdGVyT2Zmc2V0ID0gY2hhcmFjdGVyT2Zmc2V0
OworICAgIH0KKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Cisg
ICAgZGl2LmlubmVyVGV4dCA9IHJlc3VsdHMuam9pbigiICIpOworICAgIGxvZy5hcHBlbmRDaGls
ZChkaXYpOworfQorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICBjb250YWluZXIuc3R5
bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK30KKzwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBh
ZjFjN2Y0MGU2Mi4uNDA4YzcwM2VmZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0
RXhwZWN0YXRpb25zCkBAIC0zNDAzLDcgKzM0MDMsNiBAQCB3ZWJraXQub3JnL2IvMTc3OTM0IGh0
dHAvdGVzdHMvcHJlY29ubmVjdC9saW5rLWhlYWRlci1yZWwtcHJlY29ubmVjdC1odHRwLmh0bWwg
Wwogd2Via2l0Lm9yZy9iLzE3NzkzNiBmYXN0L3RleHQvYWxsLXNtYWxsLWNhcHMtd2hpdGVzcGFj
ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTc3OTM2IGZhc3QvdGV4
dC9yZWdpb25hbC1pbmRpY2F0b3Itc3ltb2Jscy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3Jn
L2IvMTc3OTM2IGZhc3QvdGV4dC9zZWxlY3Rpb24taW4taW5pdGlhbC1hZHZhbmNlLXJlZ2lvbi5o
dG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTc3OTM2IGltcG9ydGVkL2JsaW5rL2VkaXRp
bmcvc2VsZWN0aW9uL29mZnNldC1mcm9tLXBvaW50LWNvbXBsZXgtc2NyaXB0cy5odG1sIFsgRmFp
bHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xNzc5MzcgZmFzdC90ZXh0L3NvZnQtaHlwaGVuLW1pbi1w
cmVmZXJyZWQtd2lkdGguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE3
NzkzNyBmYXN0L3RleHQvdW5rbm93bi1jaGFyLW5vdGRlZi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggNzZmMTlkZDI4ZDYuLjFiNzM0YjU4MjM0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzEgQEAKKzIwMTktMTItMjMgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVq
aWlAc29ueS5jb20+CisKKyAgICAgICAgQ29tcGxleFRleHRDb250cm9sbGVyOjpvZmZzZXRGb3JQ
b3NpdGlvbiByZXR1cm5zIGEgd3Jvbmcgb2Zmc2V0IGZvciBhIGdseXBoIGJvdW5kYXJ5IGluIGEg
UlRMIHRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwNTQ4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IENvbXBsZXhUZXh0Q29udHJvbGxlcjo6b2Zmc2V0Rm9yUG9zaXRpb24gaGFkIHRoZSBmb2xsb3dp
bmcgY29kZToKKworICAgICAgICA+IHVuc2lnbmVkIGhpdEluZGV4ID0gaGl0R2x5cGhTdGFydCAr
IChoaXRHbHlwaEVuZCAtIGhpdEdseXBoU3RhcnQpICogKG1fcnVuLmx0cigpID8geCAvIGFkanVz
dGVkQWR2YW5jZSA6IDEgLSB4IC8gYWRqdXN0ZWRBZHZhbmNlKTsKKworICAgICAgICBJZiBtX3J1
bi5sdHIoKSB3YXMgZmFsc2UgYW5kIHggPT0gMCwgaGl0SW5kZXggd291bGQgYmVjb21lIGhpdEds
eXBoRW5kLgorICAgICAgICBUaGlzIGlzIG5vdCBleHBlY3RlZC4gSXQgZXhwZWN0cyBoaXRJbmRl
eCA8IGhpdEdseXBoRW5kIGlmIGhpdEdseXBoU3RhcnQg4omgIGhpdEdseXBoRW5kLgorICAgICAg
ICBMZXQgaGl0SW5kZXggYmUgaGl0R2x5cGhTdGFydCBpbiB0aGUgc3VjaCBjb25kaXRpb24uCisK
KyAgICAgICAgQWJvdmUgY2hhbmdlIG1ha2VzIGZhc3QvdGV4dC9lbGxpcHNpcy10ZXh0LXJ0bC5o
dG1sIHN0YXJ0aW5nIHRvCisgICAgICAgIGZhaWwgYmVjYXVzZSBvZmZzZXRGb3JQb3NpdGlvbiBy
ZXR1cm5zIHRoZSBjaGFyYWN0ZXIgb2Zmc2V0IG9mIHRoZQorICAgICAgICBuZXh0IGdseXBoIGlm
IHRoZSBhcmd1ZW1udCAnaCcgaXMgaW4gYSBnbHlwaCBib3VuZGFyeS4gSW4gUlRMCisgICAgICAg
IHRleHQsIG9mZnNldEZvclBvc2l0aW9uIHNob3VsZCByZXR1cm4gYSBjaGFyYWN0ZXIgb2Zmc2V0
IG9mIHRoZQorICAgICAgICBwcmV2aW91cyBnbHlwaCBpbiBjYXNlIG9mIGdseXBoIGJvdW5kYXJ5
LiBVc2UgJzw9JyBpbnN0ZWFkIG9mICc8JworICAgICAgICBmb3IgUlRMIHRleHQgaW4gb3JkZXIg
dG8gc2VsZWN0IHByZXZpb3VzIGdseXBocyBmb3IgZ2x5cGgKKyAgICAgICAgYm91bmRhcmllcy4K
KworICAgICAgICBUZXN0OiBmYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3J0
bC5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENvbnRyb2xs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpvZmZzZXRG
b3JQb3NpdGlvbik6IENvbXB1dGUgY29ycmVjdCBoaXRHbHlwaEVuZCBmb3IgUlRMLgorCiAyMDE5
LTEyLTE5ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAg
ICAgIFtXaW5dIFVzZSBDb21wbGV4VGV4dENvbnRyb2xsZXIgaW5zdGVhZCBvZiBVbmlzY3JpYmVD
b250cm9sbGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9D
b21wbGV4VGV4dENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAppbmRleCA0OGU4ZDk1MWI4Yy4uNWVhOWY0MTgz
OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbXBsZXhU
ZXh0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Q29tcGxleFRleHRDb250cm9sbGVyLmNwcApAQCAtMTc5LDcgKzE3OSw4IEBAIHVuc2lnbmVkIENv
bXBsZXhUZXh0Q29udHJvbGxlcjo6b2Zmc2V0Rm9yUG9zaXRpb24oZmxvYXQgaCwgYm9vbCBpbmNs
dWRlUGFydGlhbEdsCiAgICAgICAgIGZvciAodW5zaWduZWQgaiA9IDA7IGogPCBjb21wbGV4VGV4
dFJ1bi5nbHlwaENvdW50KCk7ICsraikgewogICAgICAgICAgICAgdW5zaWduZWQgaW5kZXggPSBv
ZmZzZXRJbnRvQWRqdXN0ZWRHbHlwaHMgKyBqOwogICAgICAgICAgICAgZmxvYXQgYWRqdXN0ZWRB
ZHZhbmNlID0gbV9hZGp1c3RlZEJhc2VBZHZhbmNlc1tpbmRleF0ud2lkdGgoKTsKLSAgICAgICAg
ICAgIGlmICh4IDwgYWRqdXN0ZWRBZHZhbmNlKSB7CisgICAgICAgICAgICBib29sIGhpdCA9IG1f
cnVuLmx0cigpID8geCA8IGFkanVzdGVkQWR2YW5jZSA6IHggPD0gYWRqdXN0ZWRBZHZhbmNlICYm
IGFkanVzdGVkQWR2YW5jZTsKKyAgICAgICAgICAgIGlmIChoaXQpIHsKICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBoaXRHbHlwaFN0YXJ0ID0gY29tcGxleFRleHRSdW4uaW5kZXhBdChqKTsKICAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBoaXRHbHlwaEVuZDsKICAgICAgICAgICAgICAgICBpZiAo
bV9ydW4ubHRyKCkpCkBAIC0xODksNyArMTkwLDE2IEBAIHVuc2lnbmVkIENvbXBsZXhUZXh0Q29u
dHJvbGxlcjo6b2Zmc2V0Rm9yUG9zaXRpb24oZmxvYXQgaCwgYm9vbCBpbmNsdWRlUGFydGlhbEds
CiAKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogSW5zdGVhZCBvZiBkaXZpZGluZyB0aGUgZ2x5
cGgncyBhZHZhbmNlIGVxdWFsbHkgYmV0d2VlbiB0aGUgY2hhcmFjdGVycywgdGhpcwogICAgICAg
ICAgICAgICAgIC8vIGNvdWxkIHVzZSB0aGUgZ2x5cGgncyAibGlnYXR1cmUgY2FyZXRzIi4gVGhp
cyBpcyBhdmFpbGFibGUgaW4gQ29yZVRleHQgdmlhIENURm9udEdldExpZ2F0dXJlQ2FyZXRQb3Np
dGlvbnMoKS4KLSAgICAgICAgICAgICAgICB1bnNpZ25lZCBoaXRJbmRleCA9IGhpdEdseXBoU3Rh
cnQgKyAoaGl0R2x5cGhFbmQgLSBoaXRHbHlwaFN0YXJ0KSAqIChtX3J1bi5sdHIoKSA/IHggLyBh
ZGp1c3RlZEFkdmFuY2UgOiAxIC0geCAvIGFkanVzdGVkQWR2YW5jZSk7CisgICAgICAgICAgICAg
ICAgdW5zaWduZWQgaGl0SW5kZXg7CisgICAgICAgICAgICAgICAgaWYgKG1fcnVuLmx0cigpKQor
ICAgICAgICAgICAgICAgICAgICBoaXRJbmRleCA9IGhpdEdseXBoU3RhcnQgKyAoaGl0R2x5cGhF
bmQgLSBoaXRHbHlwaFN0YXJ0KSAqICh4IC8gYWRqdXN0ZWRBZHZhbmNlKTsKKyAgICAgICAgICAg
ICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHgpCisgICAgICAgICAgICAgICAg
ICAgICAgICBoaXRJbmRleCA9IGhpdEdseXBoRW5kIC0gKGhpdEdseXBoRW5kIC0gaGl0R2x5cGhT
dGFydCkgKiAoeCAvIGFkanVzdGVkQWR2YW5jZSk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICAgICAgICAgIGhpdEluZGV4ID0gaGl0R2x5cGhTdGFydDsKKyAgICAg
ICAgICAgICAgICB9CisKICAgICAgICAgICAgICAgICB1bnNpZ25lZCBzdHJpbmdMZW5ndGggPSBj
b21wbGV4VGV4dFJ1bi5zdHJpbmdMZW5ndGgoKTsKICAgICAgICAgICAgICAgICBDYWNoZWRUZXh0
QnJlYWtJdGVyYXRvciBjdXJzb3JQb3NpdGlvbkl0ZXJhdG9yKFN0cmluZ1ZpZXcoY29tcGxleFRl
eHRSdW4uY2hhcmFjdGVycygpLCBzdHJpbmdMZW5ndGgpLCBUZXh0QnJlYWtJdGVyYXRvcjo6TW9k
ZTo6Q2FyZXQsIG51bGxBdG9tKCkpOwogICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNsdXN0ZXJT
dGFydDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386385</attachid>
            <date>2019-12-24 03:25:49 -0800</date>
            <delta_ts>2020-01-06 21:58:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>a.diff</filename>
            <type>text/plain</type>
            <size>7475</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwZmEzNWNhNTIyYS4uZmMzZTc3NDU1ZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxOS0xMi0yMyAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKwor
ICAgICAgICBDb21wbGV4VGV4dENvbnRyb2xsZXI6Om9mZnNldEZvclBvc2l0aW9uIHJldHVybnMg
YSB3cm9uZyBvZmZzZXQgZm9yIGEgZ2x5cGggYm91bmRhcnkgaW4gYSBSVEwgdGV4dAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1NDg2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9Eb2N1
bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3J0bC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZG9tL0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9tUG9pbnQvcnRsLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOiBVbm1hcmtlZCBpbXBv
cnRlZC9ibGluay9lZGl0aW5nL3NlbGVjdGlvbi9vZmZzZXQtZnJvbS1wb2ludC1jb21wbGV4LXNj
cmlwdHMuaHRtbC4KKwogMjAxOS0xMi0yMyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5j
b20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjIxMjY5Myk6IGdldENsaWVudFJlY3RzKCksIGdl
dEJvdW5kaW5nQ2xpZW50UmVjdCgpIGZvciByYW5nZSB0aGF0IHNwYW5zIG11bHRpLWxpbmVzIGRp
ZmZlcnMgZGVwZW5kaW5nIG9uIHdoZXRoZXIgdGV4dCBpcyBzZWxlY3RlZApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9ydGwtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Q
b2ludC9ydGwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwLi43ZTUyNjI5YWFhNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9tUG9pbnQvcnRsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
IEBACis2IDUgNCAzIDIgMSAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1
bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3J0bC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
RG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9ydGwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMC4uZGU5MGNiOTI2MzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3J0bC5odG1sCkBA
IC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+CisgIDxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKyAgPHN0eWxlPgorICAgICAgcCB7CisgICAgICAgICAgZm9udC1mYW1pbHk6ICJB
aGVtIjsKKyAgICAgICAgICBkaXJlY3Rpb246IHJ0bDsKKyAgICAgICAgICB1bmljb2RlLWJpZGk6
IGJpZGktb3ZlcnJpZGU7CisgICAgICB9CisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxwPkFCQ0RFRjwvcD4KKzwvZGl2PgorPGRpdiBpZD1sb2c+PC9kaXY+
Cis8c2NyaXB0PgordGVzdE9mZnNldEZyb21Qb2ludChjb250YWluZXIuZmlyc3RFbGVtZW50Q2hp
bGQpOworCitmdW5jdGlvbiB0ZXN0T2Zmc2V0RnJvbVBvaW50KGVsZW1lbnQpIHsKKyAgICB2YXIg
eSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOworICAgIHZh
ciB4bWluID0gZWxlbWVudC5vZmZzZXRMZWZ0OworICAgIHZhciB4bWF4ID0geG1pbiArIGVsZW1l
bnQub2Zmc2V0V2lkdGg7CisgICAgdmFyIGxhc3RDaGFyYWN0ZXJPZmZzZXQgPSBudWxsOworICAg
IHZhciByZXN1bHRzID0gW107CisgICAgZm9yICh2YXIgeCA9IHhtaW4gLSAxOyB4IDw9IHhtYXgg
KyAxOyArK3gpIHsKKyAgICAgICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9t
UG9pbnQoeCwgeSk7CisgICAgICAgIHZhciBjaGFyYWN0ZXJPZmZzZXQgPSByZXN1bHQgPyByZXN1
bHQuc3RhcnRPZmZzZXQgOiBudWxsOworICAgICAgICBpZiAoY2hhcmFjdGVyT2Zmc2V0ID09PSBs
YXN0Q2hhcmFjdGVyT2Zmc2V0KQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIHJlc3Vs
dHMucHVzaChjaGFyYWN0ZXJPZmZzZXQpOworICAgICAgICBsYXN0Q2hhcmFjdGVyT2Zmc2V0ID0g
Y2hhcmFjdGVyT2Zmc2V0OworICAgIH0KKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CisgICAgZGl2LmlubmVyVGV4dCA9IHJlc3VsdHMuam9pbigiICIpOworICAg
IGxvZy5hcHBlbmRDaGlsZChkaXYpOworfQorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAg
ICBjb250YWluZXIuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVj
dGF0aW9ucwppbmRleCAxYTVmODk3NjQxNy4uMTc4ODY0NWMyNzIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNDA0LDcgKzM0MDQsNiBAQCB3ZWJraXQu
b3JnL2IvMTc3OTM0IGh0dHAvdGVzdHMvcHJlY29ubmVjdC9saW5rLWhlYWRlci1yZWwtcHJlY29u
bmVjdC1odHRwLmh0bWwgWwogd2Via2l0Lm9yZy9iLzE3NzkzNiBmYXN0L3RleHQvYWxsLXNtYWxs
LWNhcHMtd2hpdGVzcGFjZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2Iv
MTc3OTM2IGZhc3QvdGV4dC9yZWdpb25hbC1pbmRpY2F0b3Itc3ltb2Jscy5odG1sIFsgRmFpbHVy
ZSBdCiB3ZWJraXQub3JnL2IvMTc3OTM2IGZhc3QvdGV4dC9zZWxlY3Rpb24taW4taW5pdGlhbC1h
ZHZhbmNlLXJlZ2lvbi5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTc3OTM2IGltcG9y
dGVkL2JsaW5rL2VkaXRpbmcvc2VsZWN0aW9uL29mZnNldC1mcm9tLXBvaW50LWNvbXBsZXgtc2Ny
aXB0cy5odG1sIFsgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xNzc5MzcgZmFzdC90ZXh0L3Nv
ZnQtaHlwaGVuLW1pbi1wcmVmZXJyZWQtd2lkdGguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
d2Via2l0Lm9yZy9iLzE3NzkzNyBmYXN0L3RleHQvdW5rbm93bi1jaGFyLW5vdGRlZi5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDc4MmQ4MzQwMmIuLjk0MjRkNWU3MDRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTktMTItMjMgIEZ1amlpIEhpcm9ub3Jp
ICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CisKKyAgICAgICAgQ29tcGxleFRleHRDb250cm9s
bGVyOjpvZmZzZXRGb3JQb3NpdGlvbiByZXR1cm5zIGEgd3Jvbmcgb2Zmc2V0IGZvciBhIGdseXBo
IGJvdW5kYXJ5IGluIGEgUlRMIHRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIwNTQ4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6b2Zmc2V0Rm9yUG9zaXRpb24g
aGFkIHRoZSBmb2xsb3dpbmcgY29kZToKKworICAgICAgICA+IHVuc2lnbmVkIGhpdEluZGV4ID0g
aGl0R2x5cGhTdGFydCArIChoaXRHbHlwaEVuZCAtIGhpdEdseXBoU3RhcnQpICogKG1fcnVuLmx0
cigpID8geCAvIGFkanVzdGVkQWR2YW5jZSA6IDEgLSB4IC8gYWRqdXN0ZWRBZHZhbmNlKTsKKwor
ICAgICAgICBJZiBtX3J1bi5sdHIoKSB3YXMgZmFsc2UgYW5kIHggPT0gMCwgaGl0SW5kZXggd291
bGQgYmVjb21lIGhpdEdseXBoRW5kLgorICAgICAgICBUaGlzIGlzIG5vdCBleHBlY3RlZC4gSXQg
ZXhwZWN0cyBoaXRJbmRleCA8IGhpdEdseXBoRW5kIGlmIGhpdEdseXBoU3RhcnQg4omgIGhpdEds
eXBoRW5kLgorICAgICAgICBMZXQgaGl0SW5kZXggYmUgaGl0R2x5cGhTdGFydC0xIGluIHRoZSBz
dWNoIGNvbmRpdGlvbi4KKworICAgICAgICBBYm92ZSBjaGFuZ2UgbWFrZXMgZmFzdC90ZXh0L2Vs
bGlwc2lzLXRleHQtcnRsLmh0bWwgc3RhcnRpbmcgdG8KKyAgICAgICAgZmFpbCBiZWNhdXNlIG9m
ZnNldEZvclBvc2l0aW9uIHJldHVybnMgdGhlIGNoYXJhY3RlciBvZmZzZXQgb2YgdGhlCisgICAg
ICAgIG5leHQgZ2x5cGggaWYgdGhlIGFyZ3VlbW50ICdoJyBpcyBpbiBhIGdseXBoIGJvdW5kYXJ5
LiBJbiBSVEwKKyAgICAgICAgdGV4dCwgb2Zmc2V0Rm9yUG9zaXRpb24gc2hvdWxkIHJldHVybiBh
IGNoYXJhY3RlciBvZmZzZXQgb2YgdGhlCisgICAgICAgIHByZXZpb3VzIGdseXBoIGluIGNhc2Ug
b2YgZ2x5cGggYm91bmRhcnkuIFVzZSAnPD0nIGluc3RlYWQgb2YgJzwnCisgICAgICAgIGZvciBS
VEwgdGV4dCBpbiBvcmRlciB0byBzZWxlY3QgcHJldmlvdXMgZ2x5cGhzIGZvciBnbHlwaAorICAg
ICAgICBib3VuZGFyaWVzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL0RvY3VtZW50L0NhcmV0
UmFuZ2VGcm9tUG9pbnQvcnRsLmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Nv
bXBsZXhUZXh0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21wbGV4VGV4dENv
bnRyb2xsZXI6Om9mZnNldEZvclBvc2l0aW9uKTogQ29tcHV0ZSBjb3JyZWN0IGhpdEdseXBoRW5k
IGZvciBSVEwuCisKIDIwMTktMTItMjMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBs
ZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI1MzYzNCk6IFJlcHJvZHVjaWJsZSBjcmFz
aCBnb2luZyBiYWNrIGFuZCBmb3J3YXJkIG9uIGdvb2RyZWFkcy5jb20gaW4gUGFnZTo6c2V0UGFn
ZVNjYWxlRmFjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAppbmRleCAxNjNlZDRlMDdlZS4uNGQ2YWZi
YjYyNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbXBs
ZXhUZXh0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcApAQCAtMjA2LDcgKzIwNiw4IEBAIHVuc2lnbmVk
IENvbXBsZXhUZXh0Q29udHJvbGxlcjo6b2Zmc2V0Rm9yUG9zaXRpb24oZmxvYXQgaCwgYm9vbCBp
bmNsdWRlUGFydGlhbEdsCiAgICAgICAgIGZvciAodW5zaWduZWQgaiA9IDA7IGogPCBjb21wbGV4
VGV4dFJ1bi5nbHlwaENvdW50KCk7ICsraikgewogICAgICAgICAgICAgdW5zaWduZWQgaW5kZXgg
PSBvZmZzZXRJbnRvQWRqdXN0ZWRHbHlwaHMgKyBqOwogICAgICAgICAgICAgZmxvYXQgYWRqdXN0
ZWRBZHZhbmNlID0gbV9hZGp1c3RlZEJhc2VBZHZhbmNlc1tpbmRleF0ud2lkdGgoKTsKLSAgICAg
ICAgICAgIGlmICh4IDwgYWRqdXN0ZWRBZHZhbmNlKSB7CisgICAgICAgICAgICBib29sIGhpdCA9
IG1fcnVuLmx0cigpID8geCA8IGFkanVzdGVkQWR2YW5jZSA6IHggPD0gYWRqdXN0ZWRBZHZhbmNl
ICYmIGFkanVzdGVkQWR2YW5jZTsKKyAgICAgICAgICAgIGlmIChoaXQpIHsKICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBoaXRHbHlwaFN0YXJ0ID0gY29tcGxleFRleHRSdW4uaW5kZXhBdChqKTsK
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBoaXRHbHlwaEVuZDsKICAgICAgICAgICAgICAgICBp
ZiAobV9ydW4ubHRyKCkpCkBAIC0yMTYsNyArMjE3LDE4IEBAIHVuc2lnbmVkIENvbXBsZXhUZXh0
Q29udHJvbGxlcjo6b2Zmc2V0Rm9yUG9zaXRpb24oZmxvYXQgaCwgYm9vbCBpbmNsdWRlUGFydGlh
bEdsCiAKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogSW5zdGVhZCBvZiBkaXZpZGluZyB0aGUg
Z2x5cGgncyBhZHZhbmNlIGVxdWFsbHkgYmV0d2VlbiB0aGUgY2hhcmFjdGVycywgdGhpcwogICAg
ICAgICAgICAgICAgIC8vIGNvdWxkIHVzZSB0aGUgZ2x5cGgncyAibGlnYXR1cmUgY2FyZXRzIi4g
VGhpcyBpcyBhdmFpbGFibGUgaW4gQ29yZVRleHQgdmlhIENURm9udEdldExpZ2F0dXJlQ2FyZXRQ
b3NpdGlvbnMoKS4KLSAgICAgICAgICAgICAgICB1bnNpZ25lZCBoaXRJbmRleCA9IGhpdEdseXBo
U3RhcnQgKyAoaGl0R2x5cGhFbmQgLSBoaXRHbHlwaFN0YXJ0KSAqIChtX3J1bi5sdHIoKSA/IHgg
LyBhZGp1c3RlZEFkdmFuY2UgOiAxIC0geCAvIGFkanVzdGVkQWR2YW5jZSk7CisgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaGl0SW5kZXg7CisgICAgICAgICAgICAgICAgaWYgKG1fcnVuLmx0cigp
KQorICAgICAgICAgICAgICAgICAgICBoaXRJbmRleCA9IGhpdEdseXBoU3RhcnQgKyAoaGl0R2x5
cGhFbmQgLSBoaXRHbHlwaFN0YXJ0KSAqICh4IC8gYWRqdXN0ZWRBZHZhbmNlKTsKKyAgICAgICAg
ICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGhpdEdseXBoU3RhcnQgPT0g
aGl0R2x5cGhFbmQpCisgICAgICAgICAgICAgICAgICAgICAgICBoaXRJbmRleCA9IGhpdEdseXBo
U3RhcnQ7CisgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHgpCisgICAgICAgICAgICAgICAg
ICAgICAgICBoaXRJbmRleCA9IGhpdEdseXBoRW5kIC0gKGhpdEdseXBoRW5kIC0gaGl0R2x5cGhT
dGFydCkgKiAoeCAvIGFkanVzdGVkQWR2YW5jZSk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICAgICAgICAgIGhpdEluZGV4ID0gaGl0R2x5cGhFbmQgLSAxOworICAg
ICAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgICAgIHVuc2lnbmVkIHN0cmluZ0xlbmd0aCA9
IGNvbXBsZXhUZXh0UnVuLnN0cmluZ0xlbmd0aCgpOwogICAgICAgICAgICAgICAgIENhY2hlZFRl
eHRCcmVha0l0ZXJhdG9yIGN1cnNvclBvc2l0aW9uSXRlcmF0b3IoU3RyaW5nVmlldyhjb21wbGV4
VGV4dFJ1bi5jaGFyYWN0ZXJzKCksIHN0cmluZ0xlbmd0aCksIFRleHRCcmVha0l0ZXJhdG9yOjpN
b2RlOjpDYXJldCwgbnVsbEF0b20oKSk7CiAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2x1c3Rl
clN0YXJ0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386935</attachid>
            <date>2020-01-06 21:58:19 -0800</date>
            <delta_ts>2020-01-06 21:58:19 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-205486-20200107145817.patch</filename>
            <type>text/plain</type>
            <size>7844</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjMyZjMxZjBkMGRiYWVm
MTQ1ODNlZGRkMzRmOGZlZWVkMGVkNjhjMy4uYjFmNmRjMTdmYjhhMmFhNjA2MDRiYTRmNmRhMGE5
YjcwZjIyNmZjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIwLTAxLTA2ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIENvbXBsZXhU
ZXh0Q29udHJvbGxlcjo6b2Zmc2V0Rm9yUG9zaXRpb24gcmV0dXJucyBhIHdyb25nIG9mZnNldCBm
b3IgYSBnbHlwaCBib3VuZGFyeSBpbiBhIFJUTCB0ZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDU0ODYKKworICAgICAgICBSZXZpZXdlZCBieSBS
b3NzIEtpcnNsaW5nLgorCisgICAgICAgIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6b2Zmc2V0Rm9y
UG9zaXRpb24gaGFkIHRoZSBmb2xsb3dpbmcgY29kZToKKworICAgICAgICA+IHVuc2lnbmVkIGhp
dEluZGV4ID0gaGl0R2x5cGhTdGFydCArIChoaXRHbHlwaEVuZCAtIGhpdEdseXBoU3RhcnQpICog
KG1fcnVuLmx0cigpID8geCAvIGFkanVzdGVkQWR2YW5jZSA6IDEgLSB4IC8gYWRqdXN0ZWRBZHZh
bmNlKTsKKworICAgICAgICBJZiBtX3J1bi5sdHIoKSB3YXMgZmFsc2UgYW5kIHggPT0gMCwgaGl0
SW5kZXggd291bGQgYmVjb21lIGhpdEdseXBoRW5kLgorICAgICAgICBUaGlzIGlzIG5vdCBleHBl
Y3RlZC4gSXQgZXhwZWN0cyBoaXRJbmRleCA8IGhpdEdseXBoRW5kIGlmIGhpdEdseXBoU3RhcnQg
4omgIGhpdEdseXBoRW5kLgorICAgICAgICBMZXQgaGl0SW5kZXggYmUgaGl0R2x5cGhTdGFydC0x
IGluIHRoZSBzdWNoIGNvbmRpdGlvbi4KKworICAgICAgICBBYm92ZSBjaGFuZ2UgbWFrZXMgZmFz
dC90ZXh0L2VsbGlwc2lzLXRleHQtcnRsLmh0bWwgc3RhcnRpbmcgdG8KKyAgICAgICAgZmFpbCBi
ZWNhdXNlIG9mZnNldEZvclBvc2l0aW9uIHJldHVybnMgdGhlIGNoYXJhY3RlciBvZmZzZXQgb2Yg
dGhlCisgICAgICAgIG5leHQgZ2x5cGggaWYgdGhlIGFyZ3VtZW50ICdoJyBpcyBpbiBhIGdseXBo
IGJvdW5kYXJ5LiBJbiBSVEwKKyAgICAgICAgdGV4dCwgb2Zmc2V0Rm9yUG9zaXRpb24gc2hvdWxk
IHJldHVybiBhIGNoYXJhY3RlciBvZmZzZXQgb2YgdGhlCisgICAgICAgIHByZXZpb3VzIGdseXBo
IGluIGNhc2Ugb2YgYSBnbHlwaCBib3VuZGFyeS4gVXNlICc8PScgaW5zdGVhZCBvZiAnPCcKKyAg
ICAgICAgZm9yIFJUTCB0ZXh0IGluIG9yZGVyIHRvIHNlbGVjdCBwcmV2aW91cyBnbHlwaHMgZm9y
IGdseXBoCisgICAgICAgIGJvdW5kYXJpZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vRG9j
dW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9ydGwuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNv
bXBsZXhUZXh0Q29udHJvbGxlcjo6b2Zmc2V0Rm9yUG9zaXRpb24pOiBDb21wdXRlIGNvcnJlY3Qg
aGl0R2x5cGhFbmQgZm9yIFJUTC4KKwogMjAyMC0wMS0wNiAgWmFsYW4gQnVqdGFzICA8emFsYW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdIGNvbXB1dGVCb3JkZXJBbmRQYWRkaW5nL2NvbXB1
dGVXaWR0aEFuZE1hcmdpbi9jb21wdXRlU3RhdGljUG9zaXRpb24gZnVuY3Rpb25zIHNob3VsZCB0
YWtlIFVzZWRIb3Jpem9udGFsVmFsdWVzOjpDb25zdHJhaW50cwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbXBsZXhUZXh0Q29udHJvbGxlci5jcHAK
aW5kZXggMTYzZWQ0ZTA3ZWVlN2Y1NWExMTlhMzU3ZDc4OGU0MDc3NGJjOGVhMS4uODM0N2M5ZmIw
YzI4YTk3NjA3NDhjMTIzNGUwNDlkYzQwMjNkNjU0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29tcGxleFRleHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db21wbGV4VGV4dENvbnRyb2xsZXIuY3BwCkBA
IC0yMDYsNyArMjA2LDggQEAgdW5zaWduZWQgQ29tcGxleFRleHRDb250cm9sbGVyOjpvZmZzZXRG
b3JQb3NpdGlvbihmbG9hdCBoLCBib29sIGluY2x1ZGVQYXJ0aWFsR2wKICAgICAgICAgZm9yICh1
bnNpZ25lZCBqID0gMDsgaiA8IGNvbXBsZXhUZXh0UnVuLmdseXBoQ291bnQoKTsgKytqKSB7CiAg
ICAgICAgICAgICB1bnNpZ25lZCBpbmRleCA9IG9mZnNldEludG9BZGp1c3RlZEdseXBocyArIGo7
CiAgICAgICAgICAgICBmbG9hdCBhZGp1c3RlZEFkdmFuY2UgPSBtX2FkanVzdGVkQmFzZUFkdmFu
Y2VzW2luZGV4XS53aWR0aCgpOwotICAgICAgICAgICAgaWYgKHggPCBhZGp1c3RlZEFkdmFuY2Up
IHsKKyAgICAgICAgICAgIGJvb2wgaGl0ID0gbV9ydW4ubHRyKCkgPyB4IDwgYWRqdXN0ZWRBZHZh
bmNlIDogKHggPD0gYWRqdXN0ZWRBZHZhbmNlICYmIGFkanVzdGVkQWR2YW5jZSk7CisgICAgICAg
ICAgICBpZiAoaGl0KSB7CiAgICAgICAgICAgICAgICAgdW5zaWduZWQgaGl0R2x5cGhTdGFydCA9
IGNvbXBsZXhUZXh0UnVuLmluZGV4QXQoaik7CiAgICAgICAgICAgICAgICAgdW5zaWduZWQgaGl0
R2x5cGhFbmQ7CiAgICAgICAgICAgICAgICAgaWYgKG1fcnVuLmx0cigpKQpAQCAtMjE2LDcgKzIx
NywxOCBAQCB1bnNpZ25lZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6Om9mZnNldEZvclBvc2l0aW9u
KGZsb2F0IGgsIGJvb2wgaW5jbHVkZVBhcnRpYWxHbAogCiAgICAgICAgICAgICAgICAgLy8gRklY
TUU6IEluc3RlYWQgb2YgZGl2aWRpbmcgdGhlIGdseXBoJ3MgYWR2YW5jZSBlcXVhbGx5IGJldHdl
ZW4gdGhlIGNoYXJhY3RlcnMsIHRoaXMKICAgICAgICAgICAgICAgICAvLyBjb3VsZCB1c2UgdGhl
IGdseXBoJ3MgImxpZ2F0dXJlIGNhcmV0cyIuIFRoaXMgaXMgYXZhaWxhYmxlIGluIENvcmVUZXh0
IHZpYSBDVEZvbnRHZXRMaWdhdHVyZUNhcmV0UG9zaXRpb25zKCkuCi0gICAgICAgICAgICAgICAg
dW5zaWduZWQgaGl0SW5kZXggPSBoaXRHbHlwaFN0YXJ0ICsgKGhpdEdseXBoRW5kIC0gaGl0R2x5
cGhTdGFydCkgKiAobV9ydW4ubHRyKCkgPyB4IC8gYWRqdXN0ZWRBZHZhbmNlIDogMSAtIHggLyBh
ZGp1c3RlZEFkdmFuY2UpOworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGhpdEluZGV4OworICAg
ICAgICAgICAgICAgIGlmIChtX3J1bi5sdHIoKSkKKyAgICAgICAgICAgICAgICAgICAgaGl0SW5k
ZXggPSBoaXRHbHlwaFN0YXJ0ICsgKGhpdEdseXBoRW5kIC0gaGl0R2x5cGhTdGFydCkgKiAoeCAv
IGFkanVzdGVkQWR2YW5jZSk7CisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChoaXRHbHlwaFN0YXJ0ID09IGhpdEdseXBoRW5kKQorICAgICAgICAgICAgICAg
ICAgICAgICAgaGl0SW5kZXggPSBoaXRHbHlwaFN0YXJ0OworICAgICAgICAgICAgICAgICAgICBl
bHNlIGlmICh4KQorICAgICAgICAgICAgICAgICAgICAgICAgaGl0SW5kZXggPSBoaXRHbHlwaEVu
ZCAtIChoaXRHbHlwaEVuZCAtIGhpdEdseXBoU3RhcnQpICogKHggLyBhZGp1c3RlZEFkdmFuY2Up
OworICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBoaXRJ
bmRleCA9IGhpdEdseXBoRW5kIC0gMTsKKyAgICAgICAgICAgICAgICB9CisKICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBzdHJpbmdMZW5ndGggPSBjb21wbGV4VGV4dFJ1bi5zdHJpbmdMZW5ndGgo
KTsKICAgICAgICAgICAgICAgICBDYWNoZWRUZXh0QnJlYWtJdGVyYXRvciBjdXJzb3JQb3NpdGlv
bkl0ZXJhdG9yKFN0cmluZ1ZpZXcoY29tcGxleFRleHRSdW4uY2hhcmFjdGVycygpLCBzdHJpbmdM
ZW5ndGgpLCBUZXh0QnJlYWtJdGVyYXRvcjo6TW9kZTo6Q2FyZXQsIG51bGxBdG9tKCkpOwogICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGNsdXN0ZXJTdGFydDsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkY2IyYjRkZTRhZDlj
NDY0ODY1ZTJmMjEzMjBhNzg3N2RhZTg5MmI2Li4yMDgzYjE5YWRlNzlkMjliMjdhOWNiNGI4OGUy
MzYyYjFlNmE3NzU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDEtMDYgIEZ1amlpIEhp
cm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CisKKyAgICAgICAgQ29tcGxleFRleHRD
b250cm9sbGVyOjpvZmZzZXRGb3JQb3NpdGlvbiByZXR1cm5zIGEgd3Jvbmcgb2Zmc2V0IGZvciBh
IGdseXBoIGJvdW5kYXJ5IGluIGEgUlRMIHRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTQ4NgorCisgICAgICAgIFJldmlld2VkIGJ5IFJvc3Mg
S2lyc2xpbmcuCisKKyAgICAgICAgKiBmYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBv
aW50L3J0bC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0RvY3VtZW50
L0NhcmV0UmFuZ2VGcm9tUG9pbnQvcnRsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zOiBVbm1hcmtlZCBpbXBvcnRlZC9ibGluay9lZGl0aW5nL3Nl
bGVjdGlvbi9vZmZzZXQtZnJvbS1wb2ludC1jb21wbGV4LXNjcmlwdHMuaHRtbC4KKwogMjAyMC0w
MS0wNiAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
RUdSRVNTSU9OOiBbIE1hYyB3azIgXSBodHRwL3Rlc3RzL2luc3BlY3Rvci90YXJnZXQvcHJvdmlz
aW9uYWwtbG9hZC1jYW5jZWxzLXByZXZpb3VzLWxvYWQuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9t
UG9pbnQvcnRsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L0Nh
cmV0UmFuZ2VGcm9tUG9pbnQvcnRsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZTUyNjI5YWFh
NDMyMDYyZjIzMzZkYjViN2NjMTFhYzBhZGEwNTIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9ydGwtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEgQEAKKzYgNSA0IDMgMiAxIDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9tUG9pbnQvcnRsLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L3J0bC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmRlOTBjYjkyNjM2OTE2YWFiZmM0YTA0OWU5ODM5NTlhMWRmYmNkMWYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBv
aW50L3J0bC5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cisg
IDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgPHN0eWxlPgorICAgICAgcCB7CisgICAgICAgICAg
Zm9udC1mYW1pbHk6ICJBaGVtIjsKKyAgICAgICAgICBkaXJlY3Rpb246IHJ0bDsKKyAgICAgICAg
ICB1bmljb2RlLWJpZGk6IGJpZGktb3ZlcnJpZGU7CisgICAgICB9CisgIDwvc3R5bGU+Cis8L2hl
YWQ+Cis8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxwPkFCQ0RFRjwvcD4KKzwvZGl2PgorPGRp
diBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0PgordGVzdE9mZnNldEZyb21Qb2ludChjb250YWluZXIu
Zmlyc3RFbGVtZW50Q2hpbGQpOworCitmdW5jdGlvbiB0ZXN0T2Zmc2V0RnJvbVBvaW50KGVsZW1l
bnQpIHsKKyAgICB2YXIgeSA9IGVsZW1lbnQub2Zmc2V0VG9wICsgZWxlbWVudC5vZmZzZXRIZWln
aHQgLyAyOworICAgIHZhciB4bWluID0gZWxlbWVudC5vZmZzZXRMZWZ0OworICAgIHZhciB4bWF4
ID0geG1pbiArIGVsZW1lbnQub2Zmc2V0V2lkdGg7CisgICAgdmFyIGxhc3RDaGFyYWN0ZXJPZmZz
ZXQgPSBudWxsOworICAgIHZhciByZXN1bHRzID0gW107CisgICAgZm9yICh2YXIgeCA9IHhtaW4g
LSAxOyB4IDw9IHhtYXggKyAxOyArK3gpIHsKKyAgICAgICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50
LmNhcmV0UmFuZ2VGcm9tUG9pbnQoeCwgeSk7CisgICAgICAgIHZhciBjaGFyYWN0ZXJPZmZzZXQg
PSByZXN1bHQgPyByZXN1bHQuc3RhcnRPZmZzZXQgOiBudWxsOworICAgICAgICBpZiAoY2hhcmFj
dGVyT2Zmc2V0ID09PSBsYXN0Q2hhcmFjdGVyT2Zmc2V0KQorICAgICAgICAgICAgY29udGludWU7
CisgICAgICAgIHJlc3VsdHMucHVzaChjaGFyYWN0ZXJPZmZzZXQpOworICAgICAgICBsYXN0Q2hh
cmFjdGVyT2Zmc2V0ID0gY2hhcmFjdGVyT2Zmc2V0OworICAgIH0KKyAgICB2YXIgZGl2ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZGl2LmlubmVyVGV4dCA9IHJlc3VsdHMu
am9pbigiICIpOworICAgIGxvZy5hcHBlbmRDaGlsZChkaXYpOworfQorCitpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKKyAgICBjb250YWluZXIuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2MDBlZmU2ZmVjNzc2YjBlZjNjZTNkNzE0ZDdj
ZjhmMTUzNmUzNjVmLi42YWI1ZjYzYmMxYzNmZjRjM2Q5ZDU5NzU3MGQ2MDRkODI2ZjIzZDdiIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzQwMyw3ICsz
NDAzLDYgQEAgd2Via2l0Lm9yZy9iLzE3NzkzNCBodHRwL3Rlc3RzL3ByZWNvbm5lY3QvbGluay1o
ZWFkZXItcmVsLXByZWNvbm5lY3QtaHR0cC5odG1sIFsKIHdlYmtpdC5vcmcvYi8xNzc5MzYgZmFz
dC90ZXh0L2FsbC1zbWFsbC1jYXBzLXdoaXRlc3BhY2UuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogd2Via2l0Lm9yZy9iLzE3NzkzNiBmYXN0L3RleHQvcmVnaW9uYWwtaW5kaWNhdG9yLXN5bW9i
bHMuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE3NzkzNiBmYXN0L3RleHQvc2VsZWN0
aW9uLWluLWluaXRpYWwtYWR2YW5jZS1yZWdpb24uaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9y
Zy9iLzE3NzkzNiBpbXBvcnRlZC9ibGluay9lZGl0aW5nL3NlbGVjdGlvbi9vZmZzZXQtZnJvbS1w
b2ludC1jb21wbGV4LXNjcmlwdHMuaHRtbCBbIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMTc3
OTM3IGZhc3QvdGV4dC9zb2Z0LWh5cGhlbi1taW4tcHJlZmVycmVkLXdpZHRoLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNzc5MzcgZmFzdC90ZXh0L3Vua25vd24tY2hh
ci1ub3RkZWYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>