<?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>193565</bug_id>
          
          <creation_ts>2019-01-17 22:40:43 -0800</creation_ts>
          <short_desc>iOS: Updating input mode should update the software keyboard</short_desc>
          <delta_ts>2019-08-02 11:24:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=200216</see_also>
          <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="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1495744</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-17 22:40:43 -0800</bug_when>
    <thetext>When inputmode content attribute is set on a focused assisted element,
we should update the software keyboard&apos;s type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495745</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-17 22:41:28 -0800</bug_when>
    <thetext>&lt;rdar://problem/47376334&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495746</commentid>
    <comment_count>2</comment_count>
      <attachid>359452</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-17 22:43:25 -0800</bug_when>
    <thetext>Created attachment 359452
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495747</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-01-17 22:45:33 -0800</bug_when>
    <thetext>Attachment 359452 did not pass style-queue:


ERROR: Source/WebCore/page/ChromeClient.h:297:  Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line.  [build/webcore_export] [4]
Total errors found: 1 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495825</commentid>
    <comment_count>4</comment_count>
      <attachid>359452</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2019-01-18 07:14:09 -0800</bug_when>
    <thetext>Comment on attachment 359452
WIP

Log files?
Not sure what you should do about ChromeClient.h now being compliant.
Everything else looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495854</commentid>
    <comment_count>5</comment_count>
      <attachid>359452</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-18 08:07:20 -0800</bug_when>
    <thetext>Comment on attachment 359452
WIP

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

This patch is only a WIP, as it wasn&apos;t marked for review and it&apos;s also still missing ChangeLog entries and tests.

That being said, the codechange itself also looks good to me.

&gt; Source/WebCore/html/HTMLElement.cpp:457
&gt; +            document.page()-&gt;chrome().client().focusedElementDidChangeInputMode(*this, canonicalInputMode());

Does something guarantee that page is non-null here?

&gt; Source/WebKit/Scripts/webkit/messages.py:410
&gt; +        &apos;WebCore::InputMode&apos;: [&apos;&lt;WebCore/InputMode.h&gt;&apos;],

A little surprising that this is needed! I thought the code generator would (by default) try to include &lt;WebCore/InputMode.h&gt; based on the type of the IPC argument, but maybe this isn&apos;t the case for enum class types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496171</commentid>
    <comment_count>6</comment_count>
      <attachid>359582</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-18 20:26:44 -0800</bug_when>
    <thetext>Created attachment 359582
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496173</commentid>
    <comment_count>7</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-01-18 20:29:39 -0800</bug_when>
    <thetext>Attachment 359582 did not pass style-queue:


ERROR: Source/WebCore/page/ChromeClient.h:297:  Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line.  [build/webcore_export] [4]
Total errors found: 1 in 21 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496175</commentid>
    <comment_count>8</comment_count>
      <attachid>359582</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-18 20:39:10 -0800</bug_when>
    <thetext>Comment on attachment 359582
Fixes the bug

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

&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:5382
&gt; +    UNUSED_PARAM(element);

Extra UNUSED_PARAM(element); here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496176</commentid>
    <comment_count>9</comment_count>
      <attachid>359583</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-18 20:40:17 -0800</bug_when>
    <thetext>Created attachment 359583
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496177</commentid>
    <comment_count>10</comment_count>
      <attachid>359583</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-18 20:40:32 -0800</bug_when>
    <thetext>Comment on attachment 359583
Patch for landing

Wait for EWS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496178</commentid>
    <comment_count>11</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-01-18 20:43:01 -0800</bug_when>
    <thetext>Attachment 359583 did not pass style-queue:


ERROR: Source/WebCore/page/ChromeClient.h:297:  Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line.  [build/webcore_export] [4]
Total errors found: 1 in 21 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496197</commentid>
    <comment_count>12</comment_count>
      <attachid>359583</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-18 23:53:15 -0800</bug_when>
    <thetext>Comment on attachment 359583
Patch for landing

Clearing flags on attachment: 359583

Committed r240199: &lt;https://trac.webkit.org/changeset/240199&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496198</commentid>
    <comment_count>13</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-18 23:53:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496243</commentid>
    <comment_count>14</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-01-19 09:20:55 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #12)
&gt; Comment on attachment 359583 [details]
&gt; Patch for landing
&gt; 
&gt; Clearing flags on attachment: 359583
&gt; 
&gt; Committed r240199: &lt;https://trac.webkit.org/changeset/240199&gt;

This broken all iOS Debug builds:

/Volumes/Data/slave/ios-simulator-12-debug/build/Source/WebKit/WebProcess/WebPage/WebPage.cpp:5368:20: error: no member named &apos;canonicalInputMode&apos; in &apos;WebCore::Element&apos;
    ASSERT(element.canonicalInputMode() == mode);
           ~~~~~~~ ^

The `element` variable needs to be `downcast&lt;HTMLElement&gt;(element)` here, and should probably add an `is&lt;HTMLElement&gt;(element)` check as well.

Testing a fix now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496244</commentid>
    <comment_count>15</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-01-19 09:39:35 -0800</bug_when>
    <thetext>(In reply to David Kilzer (:ddkilzer) from comment #14)
&gt; (In reply to Ryosuke Niwa from comment #12)
&gt; &gt; Comment on attachment 359583 [details]
&gt; &gt; Patch for landing
&gt; &gt; 
&gt; &gt; Clearing flags on attachment: 359583
&gt; &gt; 
&gt; &gt; Committed r240199: &lt;https://trac.webkit.org/changeset/240199&gt;
&gt; 
&gt; This broken all iOS Debug builds:
&gt; 
&gt; /Volumes/Data/slave/ios-simulator-12-debug/build/Source/WebKit/WebProcess/
&gt; WebPage/WebPage.cpp:5368:20: error: no member named &apos;canonicalInputMode&apos; in
&gt; &apos;WebCore::Element&apos;
&gt;     ASSERT(element.canonicalInputMode() == mode);
&gt;            ~~~~~~~ ^
&gt; 
&gt; The `element` variable needs to be `downcast&lt;HTMLElement&gt;(element)` here,
&gt; and should probably add an `is&lt;HTMLElement&gt;(element)` check as well.
&gt; 
&gt; Testing a fix now.

Should be fixed by:

Committed r240203: &lt;https://trac.webkit.org/changeset/240203&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1496265</commentid>
    <comment_count>16</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-01-19 13:42:23 -0800</bug_when>
    <thetext>Thanks, Dave!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359452</attachid>
            <date>2019-01-17 22:43:25 -0800</date>
            <delta_ts>2019-01-18 20:26:41 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>wip193565.patch</filename>
            <type>text/plain</type>
            <size>13420</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKaW5kZXggODJiMzcxZTM3ZDcuLjVlYzc2YmZk
OTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcApAQCAtMjksNiArMjksOCBAQAog
I2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKICNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRz
LmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVQb29sLmgiCisjaW5jbHVkZSAiQ2hyb21lLmgiCisjaW5j
bHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiRE9NVG9rZW5MaXN0LmgiCiAjaW5jbHVk
ZSAiRG9jdW1lbnRGcmFnbWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnRBbmNlc3Rvckl0ZXJhdG9y
LmgiCkBAIC00NDgsNiArNDUwLDEyIEBAIHZvaWQgSFRNTEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYKICAgICAgICAg
ICAgIHNldFRhYkluZGV4RXhwbGljaXRseShvcHRpb25hbFRhYkluZGV4LnZhbHVlKCkpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQorICAgIAorICAgIGlmIChuYW1lID09IGlucHV0bW9kZUF0dHIp
IHsKKyAgICAgICAgYXV0byYgZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgpOworICAgICAgICBp
ZiAodGhpcyA9PSBkb2N1bWVudC5mb2N1c2VkRWxlbWVudCgpKQorICAgICAgICAgICAgZG9jdW1l
bnQucGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5mb2N1c2VkRWxlbWVudERpZENoYW5nZUlucHV0
TW9kZSgqdGhpcywgY2Fub25pY2FsSW5wdXRNb2RlKCkpOworICAgIH0KIAogICAgIGF1dG8mIGV2
ZW50TmFtZSA9IGV2ZW50TmFtZUZvckV2ZW50SGFuZGxlckF0dHJpYnV0ZShuYW1lKTsKICAgICBp
ZiAoIWV2ZW50TmFtZS5pc051bGwoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4
IDMyMDQwZTE1YmY4Li5hNzVkOTdjNzA2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
CkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiSFRNTE1lZGlhRWxlbWVudEVudW1zLmgiCiAj
aW5jbHVkZSAiSG9zdFdpbmRvdy5oIgogI2luY2x1ZGUgIkljb24uaCIKKyNpbmNsdWRlICJJbnB1
dE1vZGUuaCIKICNpbmNsdWRlICJMYXllckZsdXNoVGhyb3R0bGVTdGF0ZS5oIgogI2luY2x1ZGUg
Ik1lZGlhUHJvZHVjZXIuaCIKICNpbmNsdWRlICJQb3B1cE1lbnUuaCIKQEAgLTI5Miw3ICsyOTMs
OSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGVsZW1lbnREaWRGb2N1cyhFbGVtZW50Jikg
eyB9CiAgICAgdmlydHVhbCB2b2lkIGVsZW1lbnREaWRCbHVyKEVsZW1lbnQmKSB7IH0KICAgICB2
aXJ0dWFsIHZvaWQgZWxlbWVudERpZFJlZm9jdXMoRWxlbWVudCYpIHsgfQotICAgIAorCisgICAg
dmlydHVhbCB2b2lkIGZvY3VzZWRFbGVtZW50RGlkQ2hhbmdlSW5wdXRNb2RlKEVsZW1lbnQmLCBJ
bnB1dE1vZGUpIHsgfQorCiAgICAgdmlydHVhbCBib29sIHNob3VsZFBhaW50RW50aXJlQ29udGVu
dHMoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBoYXNTdGFibGVQ
YWdlU2NhbGVGYWN0b3IoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1Nj
cmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IGM3NzRiYzQxYzgyLi5iZmVkOTY0ZDdiMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC00MDcsNiArNDA3
LDcgQEAgZGVmIGhlYWRlcnNfZm9yX3R5cGUodHlwZSk6CiAgICAgICAgICdXZWJDb3JlOjpIYXNJ
bnNlY3VyZUNvbnRlbnQnOiBbJzxXZWJDb3JlL0ZyYW1lTG9hZGVyVHlwZXMuaD4nXSwKICAgICAg
ICAgJ1dlYkNvcmU6OkhpZ2hsaWdodCc6IFsnPFdlYkNvcmUvSW5zcGVjdG9yT3ZlcmxheS5oPidd
LAogICAgICAgICAnV2ViQ29yZTo6SW5jbHVkZVNlY3VyZUNvb2tpZXMnOiBbJzxXZWJDb3JlL0Nv
b2tpZUphci5oPiddLAorICAgICAgICAnV2ViQ29yZTo6SW5wdXRNb2RlJzogWyc8V2ViQ29yZS9J
bnB1dE1vZGUuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OktleWZyYW1lVmFsdWVMaXN0JzogWyc8
V2ViQ29yZS9HcmFwaGljc0xheWVyLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpLZXlwcmVzc0Nv
bW1hbmQnOiBbJzxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6
OkxvY2tCYWNrRm9yd2FyZExpc3QnOiBbJzxXZWJDb3JlL0ZyYW1lTG9hZGVyVHlwZXMuaD4nXSwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5o
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXggNTcz
YWE3NWZkMTguLjNhZTdlNDc1ZDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lTG9hZGVyVHlw
ZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0luZGV4ZWREQi5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
SW5wdXRNb2RlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVNlbGVjdGlvbk9wdGlvbi5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvTmV0d29ya0xvYWRNZXRyaWNzLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9Ob3RpZmljYXRpb25EaXJlY3Rpb24uaD4KQEAgLTc2Niw2ICs3NjcsMjEgQEAgdGVtcGxhdGU8
PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpBdXRvcGxheUV2ZW50PiB7CiAgICAgPjsKIH07
CiAKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6SW5wdXRNb2RlPiB7Cisg
ICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6SW5wdXRNb2Rl
LAorICAgICAgICBXZWJDb3JlOjpJbnB1dE1vZGU6OlVuc3BlY2lmaWVkLAorICAgICAgICBXZWJD
b3JlOjpJbnB1dE1vZGU6Ok5vbmUsCisgICAgICAgIFdlYkNvcmU6OklucHV0TW9kZTo6VGV4dCwK
KyAgICAgICAgV2ViQ29yZTo6SW5wdXRNb2RlOjpUZWxlcGhvbmUsCisgICAgICAgIFdlYkNvcmU6
OklucHV0TW9kZTo6VXJsLAorICAgICAgICBXZWJDb3JlOjpJbnB1dE1vZGU6OkVtYWlsLAorICAg
ICAgICBXZWJDb3JlOjpJbnB1dE1vZGU6Ok51bWVyaWMsCisgICAgICAgIFdlYkNvcmU6OklucHV0
TW9kZTo6RGVjaW1hbCwKKyAgICAgICAgV2ViQ29yZTo6SW5wdXRNb2RlOjpTZWFyY2gKKyAgICA+
OworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpOZXR3b3JrTG9h
ZFByaW9yaXR5PiB7CiAgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKICAgICAgICAgV2Vi
Q29yZTo6TmV0d29ya0xvYWRQcmlvcml0eSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQu
aAppbmRleCAwMDdiMjgxODRmMy4uZGE5Yzc3NWYwMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Q
YWdlQ2xpZW50LmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0FsdGVybmF0
aXZlVGV4dENsaWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRWRpdG9yQ2xpZW50Lmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9Gb2N1c0RpcmVjdGlvbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvSW5wdXRN
b2RlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9WYWxpZGF0aW9uQnViYmxlLmg+CiAjaW5jbHVkZSA8d3RmL0Nv
bXBsZXRpb25IYW5kbGVyLmg+CkBAIC0zNjksNiArMzcwLDcgQEAgcHVibGljOgogCiAgICAgdmly
dHVhbCB2b2lkIGVsZW1lbnREaWRGb2N1cyhjb25zdCBGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9u
JiwgYm9vbCB1c2VySXNJbnRlcmFjdGluZywgYm9vbCBibHVyUHJldmlvdXNOb2RlLCBib29sIGNo
YW5naW5nQWN0aXZpdHlTdGF0ZSwgQVBJOjpPYmplY3QqIHVzZXJEYXRhKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIGVsZW1lbnREaWRCbHVyKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBmb2N1c2Vk
RWxlbWVudERpZENoYW5nZUlucHV0TW9kZShXZWJDb3JlOjpJbnB1dE1vZGUpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUVkaXRvclN0YXRlVXBkYXRlQWZ0ZXJGb2N1cygpID0gMDsK
ICAgICB2aXJ0dWFsIGJvb2wgaXNGb2N1c2luZ0VsZW1lbnQoKSA9IDA7CiAgICAgdmlydHVhbCBi
b29sIGludGVycHJldEtleUV2ZW50KGNvbnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQmLCBib29s
IGlzQ2hhckV2ZW50KSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmlu
ZGV4IGRlOTg2OTRhYTM3Li5lN2RkMmU3MmE0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKQEAgLTc1LDYgKzc1LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0ZvbnRBdHRy
aWJ1dGVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZUxvYWRlclR5cGVzLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9GcmFtZVZpZXcuaD4gLy8gRklYTUU6IE1vdmUgTGF5b3V0Vmlld3BvcnRDb25z
dHJhaW50IHRvIGl0cyBvd24gZmlsZSBhbmQgc3RvcCBpbmNsdWRpbmcgdGhpcy4KKyNpbmNsdWRl
IDxXZWJDb3JlL0lucHV0TW9kZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTGF5b3V0UG9pbnQuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0xheW91dFNpemUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lZGlh
UGxheWJhY2tUYXJnZXRDb250ZXh0Lmg+CkBAIC0xNzg1LDYgKzE3ODYsNyBAQCBwcml2YXRlOgog
CiAgICAgdm9pZCBlbGVtZW50RGlkRm9jdXMoY29uc3QgRm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlv
biYsIGJvb2wgdXNlcklzSW50ZXJhY3RpbmcsIGJvb2wgYmx1clByZXZpb3VzTm9kZSwgYm9vbCBj
aGFuZ2luZ0FjdGl2aXR5U3RhdGUsIGNvbnN0IFVzZXJEYXRhJik7CiAgICAgdm9pZCBlbGVtZW50
RGlkQmx1cigpOworICAgIHZvaWQgZm9jdXNlZEVsZW1lbnREaWRDaGFuZ2VJbnB1dE1vZGUoV2Vi
Q29yZTo6SW5wdXRNb2RlKTsKICAgICB2b2lkIGRpZFJlY2VpdmVFZGl0b3JTdGF0ZVVwZGF0ZUFm
dGVyRm9jdXMoKTsKIAogICAgIHZvaWQgc2hvd0luc3BlY3RvckhpZ2hsaWdodChjb25zdCBXZWJD
b3JlOjpIaWdobGlnaHQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5tZXNzYWdlcy5pbgppbmRleCAyZDI4ZWUxOGI2OS4uMzg5YTMyYmRhMTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTQw
NSw2ICs0MDUsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogCiAgICAgRWxlbWVudERp
ZEZvY3VzKHN0cnVjdCBXZWJLaXQ6OkZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24gaW5mb3JtYXRp
b24sIGJvb2wgdXNlcklzSW50ZXJhY3RpbmcsIGJvb2wgYmx1clByZXZpb3VzTm9kZSwgYm9vbCBj
aGFuZ2luZ0FjdGl2aXR5U3RhdGUsIFdlYktpdDo6VXNlckRhdGEgdXNlckRhdGEpCiAgICAgRWxl
bWVudERpZEJsdXIoKQorICAgIEZvY3VzZWRFbGVtZW50RGlkQ2hhbmdlSW5wdXRNb2RlKGVudW06
dWludDhfdCBXZWJDb3JlOjpJbnB1dE1vZGUgbW9kZSkKICAgICBTY3JvbGxpbmdOb2RlU2Nyb2xs
V2lsbFN0YXJ0U2Nyb2xsKCkKICAgICBTY3JvbGxpbmdOb2RlU2Nyb2xsRGlkRW5kU2Nyb2xsKCkK
ICAgICBTaG93SW5zcGVjdG9ySGlnaGxpZ2h0KHN0cnVjdCBXZWJDb3JlOjpIaWdobGlnaHQgaGln
aGxpZ2h0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJ
T1MuaAppbmRleCA1ZGE2Zjk5YmY1Mi4uNzQyMGFhZjZkMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCkBAIC0xNDMsNiArMTQzLDcgQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgZWxlbWVudERpZEZvY3VzKGNvbnN0IEZvY3VzZWRFbGVtZW50
SW5mb3JtYXRpb24mLCBib29sIHVzZXJJc0ludGVyYWN0aW5nLCBib29sIGJsdXJQcmV2aW91c05v
ZGUsIGJvb2wgY2hhbmdpbmdBY3Rpdml0eVN0YXRlLCBBUEk6Ok9iamVjdCogdXNlckRhdGEpIG92
ZXJyaWRlOwogICAgIHZvaWQgZWxlbWVudERpZEJsdXIoKSBvdmVycmlkZTsKKyAgICB2b2lkIGZv
Y3VzZWRFbGVtZW50RGlkQ2hhbmdlSW5wdXRNb2RlKFdlYkNvcmU6OklucHV0TW9kZSkgb3ZlcnJp
ZGU7CiAgICAgdm9pZCBkaWRSZWNlaXZlRWRpdG9yU3RhdGVVcGRhdGVBZnRlckZvY3VzKCkgb3Zl
cnJpZGU7CiAgICAgYm9vbCBpc0ZvY3VzaW5nRWxlbWVudCgpIG92ZXJyaWRlOwogICAgIHZvaWQg
c2VsZWN0aW9uRGlkQ2hhbmdlKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggYjIzN2VmNTA1MmEuLjVkMDAyNjY2
ZjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLm1tCkBAIC01NDcsNiArNTQ3LDExIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6OmVsZW1lbnRE
aWRCbHVyKCkKICAgICBbbV9jb250ZW50VmlldyBfZWxlbWVudERpZEJsdXJdOwogfQogCit2b2lk
IFBhZ2VDbGllbnRJbXBsOjpmb2N1c2VkRWxlbWVudERpZENoYW5nZUlucHV0TW9kZShXZWJDb3Jl
OjpJbnB1dE1vZGUgbW9kZSkKK3sKKyAgICBbbV9jb250ZW50VmlldyBfZGlkVXBkYXRlSW5wdXRN
b2RlOm1vZGVdOworfQorCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRSZWNlaXZlRWRpdG9yU3Rh
dGVVcGRhdGVBZnRlckZvY3VzKCkKIHsKICAgICBbbV9jb250ZW50VmlldyBfZGlkUmVjZWl2ZUVk
aXRvclN0YXRlVXBkYXRlQWZ0ZXJGb2N1c107CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKaW5kZXggYTdmZmZmNzhmMzAu
LmQ1MDhhM2U0YmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC0zODgsNiArMzg4LDcgQEAgRk9SX0VBQ0hf
UFJJVkFURV9XS0NPTlRFTlRWSUVXX0FDVElPTihERUNMQVJFX1dLQ09OVEVOVFZJRVdfQUNUSU9O
X0ZPUl9XRUJfVklFVykKIC0gKHZvaWQpX2Rpc2FibGVEb3VibGVUYXBHZXN0dXJlc0R1cmluZ1Rh
cElmTmVjZXNzYXJ5Oih1aW50NjRfdClyZXF1ZXN0SUQ7CiAtICh2b2lkKV9lbGVtZW50RGlkRm9j
dXM6KGNvbnN0IFdlYktpdDo6Rm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbiYpaW5mb3JtYXRpb24g
dXNlcklzSW50ZXJhY3Rpbmc6KEJPT0wpdXNlcklzSW50ZXJhY3RpbmcgYmx1clByZXZpb3VzTm9k
ZTooQk9PTClibHVyUHJldmlvdXNOb2RlIGNoYW5naW5nQWN0aXZpdHlTdGF0ZTooQk9PTCljaGFu
Z2luZ0FjdGl2aXR5U3RhdGUgdXNlck9iamVjdDooTlNPYmplY3QgPE5TU2VjdXJlQ29kaW5nPiAq
KXVzZXJPYmplY3Q7CiAtICh2b2lkKV9lbGVtZW50RGlkQmx1cjsKKy0gKHZvaWQpX2RpZFVwZGF0
ZUlucHV0TW9kZTooV2ViQ29yZTo6SW5wdXRNb2RlKW1vZGU7CiAtICh2b2lkKV9kaWRSZWNlaXZl
RWRpdG9yU3RhdGVVcGRhdGVBZnRlckZvY3VzOwogLSAodm9pZClfc2VsZWN0aW9uQ2hhbmdlZDsK
IC0gKHZvaWQpX3VwZGF0ZUNoYW5nZWRTZWxlY3Rpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCAzZTUy
OTJhNzhjMi4uNDJkMGJlN2ZiNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtNDYzOCw2ICs0NjM4LDE4
IEBAIC0gKHZvaWQpX2VsZW1lbnREaWRCbHVyCiAgICAgfQogfQogCistICh2b2lkKV9kaWRVcGRh
dGVJbnB1dE1vZGU6KFdlYkNvcmU6OklucHV0TW9kZSltb2RlCit7CisgICAgaWYgKCFzZWxmLmlu
cHV0RGVsZWdhdGUgfHwgX2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uZWxlbWVudFR5cGUgPT0g
V2ViS2l0OjpJbnB1dFR5cGU6Ok5vbmUpCisgICAgICAgIHJldHVybjsKKworI2lmICFQTEFURk9S
TShXQVRDSE9TKQorICAgIF9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmlucHV0TW9kZSA9IG1v
ZGU7CisgICAgW3NlbGYgcmVsb2FkSW5wdXRWaWV3c107CisjZW5kaWYKK30KKworCiAtICh2b2lk
KV9kaWRSZWNlaXZlRWRpdG9yU3RhdGVVcGRhdGVBZnRlckZvY3VzCiB7CiAgICAgW3NlbGYgX3Vw
ZGF0ZUluaXRpYWxXcml0aW5nRGlyZWN0aW9uSWZOZWNlc3NhcnldOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KaW5kZXggYjliZDcwYzliZWUuLjhh
NTMwMmRmMTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFn
ZVByb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJv
eHlJT1MubW0KQEAgLTkyMCw2ICs5MjAsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmVsZW1lbnRE
aWRCbHVyKCkKICAgICBwYWdlQ2xpZW50KCkuZWxlbWVudERpZEJsdXIoKTsKIH0KIAordm9pZCBX
ZWJQYWdlUHJveHk6OmZvY3VzZWRFbGVtZW50RGlkQ2hhbmdlSW5wdXRNb2RlKFdlYkNvcmU6Oklu
cHV0TW9kZSBtb2RlKQoreworICAgIHBhZ2VDbGllbnQoKS5mb2N1c2VkRWxlbWVudERpZENoYW5n
ZUlucHV0TW9kZShtb2RlKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6OmF1dG9maWxsTG9naW5D
cmVkZW50aWFscyhjb25zdCBTdHJpbmcmIHVzZXJuYW1lLCBjb25zdCBTdHJpbmcmIHBhc3N3b3Jk
KQogewogICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6QXV0b2ZpbGxMb2dp
bkNyZWRlbnRpYWxzKHVzZXJuYW1lLCBwYXNzd29yZCksIG1fcGFnZUlEKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHAKaW5kZXggMmJkMTZkYTgyNmQuLjZjODI0NWZjZGY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcApAQCAtMjEzLDYgKzIxMywxMSBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6ZWxlbWVu
dERpZEJsdXIoRWxlbWVudCYgZWxlbWVudCkKICAgICBtX3BhZ2UuZWxlbWVudERpZEJsdXIoZWxl
bWVudCk7CiB9CiAKK3ZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpmb2N1c2VkRWxlbWVudERpZENoYW5n
ZUlucHV0TW9kZShFbGVtZW50JiBlbGVtZW50LCBJbnB1dE1vZGUgbW9kZSkKK3sKKyAgICBtX3Bh
Z2UuZm9jdXNlZEVsZW1lbnREaWRDaGFuZ2VJbnB1dE1vZGUoZWxlbWVudCwgbW9kZSk7Cit9CisK
IHZvaWQgV2ViQ2hyb21lQ2xpZW50OjptYWtlRmlyc3RSZXNwb25kZXIoKQogewogICAgIG1fcGFn
ZS5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Ok1ha2VGaXJzdFJlc3BvbmRlcigpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaAppbmRleCBiMTQxNWQxMThjYi4uMzgwNDhiZTlkODMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmgKQEAgLTI3NSw2ICsyNzUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZWxlbWVudERp
ZEZvY3VzKFdlYkNvcmU6OkVsZW1lbnQmKSBmaW5hbDsKICAgICB2b2lkIGVsZW1lbnREaWRCbHVy
KFdlYkNvcmU6OkVsZW1lbnQmKSBmaW5hbDsKICAgICB2b2lkIGVsZW1lbnREaWRSZWZvY3VzKFdl
YkNvcmU6OkVsZW1lbnQmKSBmaW5hbDsKKyAgICB2b2lkIGZvY3VzZWRFbGVtZW50RGlkQ2hhbmdl
SW5wdXRNb2RlKFdlYkNvcmU6OkVsZW1lbnQmLCBXZWJDb3JlOjpJbnB1dE1vZGUpIGZpbmFsOwog
CiAgICAgdm9pZCBtYWtlRmlyc3RSZXNwb25kZXIoKSBmaW5hbDsKICAgICB2b2lkIGFzc2lzdGl2
ZVRlY2hub2xvZ3lNYWtlRmlyc3RSZXNwb25kZXIoKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNzYyMDMxMTNkNjAuLjU5ODBlZWY3
ZGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApA
QCAtMTcyLDYgKzE3Miw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9IVE1MT0xpc3RFbGVtZW50Lmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9IVE1MUGx1Z0luRWxlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvSFRNTFRleHRB
cmVhRWxlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSFRNTFVMaXN0RWxlbWVudC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvSGlzdG9yeUNvbnRyb2xsZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hp
c3RvcnlJdGVtLmg+CkBAIC01MzY2LDYgKzUzNjcsMjIgQEAgdm9pZCBXZWJQYWdlOjplbGVtZW50
RGlkQmx1cihXZWJDb3JlOjpFbGVtZW50JiBlbGVtZW50KQogICAgIH0KIH0KIAordm9pZCBXZWJQ
YWdlOjpmb2N1c2VkRWxlbWVudERpZENoYW5nZUlucHV0TW9kZShXZWJDb3JlOjpFbGVtZW50JiBl
bGVtZW50LCBXZWJDb3JlOjpJbnB1dE1vZGUgbW9kZSkKK3sKKyNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQorICAgIEFTU0VSVChtX2ZvY3VzZWRFbGVtZW50ID09ICZlbGVtZW50KTsKKyAgICBBU1NF
UlQoZWxlbWVudC5jYW5vbmljYWxJbnB1dE1vZGUoKSA9PSBtb2RlKTsKKworICAgIGlmICghaXM8
SFRNTFRleHRBcmVhRWxlbWVudD4oKm1fZm9jdXNlZEVsZW1lbnQpICYmICFpczxIVE1MSW5wdXRF
bGVtZW50PigqbV9mb2N1c2VkRWxlbWVudCkgJiYgIW1fZm9jdXNlZEVsZW1lbnQtPmhhc0VkaXRh
YmxlU3R5bGUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFn
ZVByb3h5OjpGb2N1c2VkRWxlbWVudERpZENoYW5nZUlucHV0TW9kZShtb2RlKSk7CisjZWxzZQor
ICAgIFVOVVNFRF9QQVJBTShlbGVtZW50KTsKKyAgICBVTlVTRURfUEFSQU0oZWxlbWVudCk7Cisj
ZW5kaWYKK30KKwogdm9pZCBXZWJQYWdlOjpkaWRVcGRhdGVDb21wb3NpdGlvbigpCiB7CiAgICAg
c2VuZEVkaXRvclN0YXRlVXBkYXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgKaW5kZXggNzE1ZTEyNDUyMGYuLmRkYThlMjZlNDhhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC01ODksNiArNTg5LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgZWxlbWVudERpZEZvY3VzKFdlYkNvcmU6OkVsZW1lbnQmKTsKICAgICB2
b2lkIGVsZW1lbnREaWRSZWZvY3VzKFdlYkNvcmU6OkVsZW1lbnQmKTsKICAgICB2b2lkIGVsZW1l
bnREaWRCbHVyKFdlYkNvcmU6OkVsZW1lbnQmKTsKKyAgICB2b2lkIGZvY3VzZWRFbGVtZW50RGlk
Q2hhbmdlSW5wdXRNb2RlKFdlYkNvcmU6OkVsZW1lbnQmLCBXZWJDb3JlOjpJbnB1dE1vZGUpOwog
ICAgIHZvaWQgcmVzZXRGb2N1c2VkRWxlbWVudEZvckZyYW1lKFdlYkZyYW1lKik7CiAKICAgICB2
b2lkIGRpc2FibGVkQWRhcHRhdGlvbnNEaWRDaGFuZ2UoY29uc3QgT3B0aW9uU2V0PFdlYkNvcmU6
OkRpc2FibGVkQWRhcHRhdGlvbnM+Jik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359582</attachid>
            <date>2019-01-18 20:26:44 -0800</date>
            <delta_ts>2019-01-18 20:40:16 -0800</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-193565-20190118202643.patch</filename>
            <type>text/plain</type>
            <size>21551</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwMDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWQxY2IwNDA4M2E1Yjgx
OWUxYmIzOGU4Yjg0NTAyNTQwYzZjY2MyZC4uNGJiOWJjOTIzNjU4NGQ4MDFkNDI4ZTc3YjI2M2Fk
ZDk4NTk2M2QxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE5LTAxLTE4ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIGlPUzogVXBkYXRpbmcgaW5w
dXQgbW9kZSBzaG91bGQgdXBkYXRlIHRoZSBzb2Z0d2FyZSBrZXlib2FyZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzNTY1CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS80NzM3NjMzND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBMZXQgdGhlIGNocm9tZSBjbGllbnQga25vdyB0aGF0IHRoZSBmb2N1c2Vk
IGVsZW1lbnQncyBpbnB1dG1vZGUgaGFkIGNoYW5nZWQuCisKKyAgICAgICAgVGVzdDogZmFzdC9m
b3Jtcy9pb3MvaW5wdXRtb2RlLW5vbmUtcmVtb3ZlZC5odG1sCisKKyAgICAgICAgKiBodG1sL0hU
TUxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVtZW50OjpwYXJzZUF0dHJp
YnV0ZSk6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKwogMjAxOS0wMS0xNSAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlZHVj
ZSB1c2Ugb2YgTmV0d29ya1N0b3JhZ2VTZXNzaW9uOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24gaW4g
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCA5YzAyNjA1YjA0YTEwNzBkYmJjY2U4MjRlMTc5NWMwMDc3Zjcz
ZTQzLi4yNzUyNTc4ZTY1Yzc5MTQ3MTllYzVmYmZhNWMxNGRlZjNhM2FjNjRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDMzIEBACisyMDE5LTAxLTE4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQu
b3JnPgorCisgICAgICAgIGlPUzogVXBkYXRpbmcgaW5wdXQgbW9kZSBzaG91bGQgdXBkYXRlIHRo
ZSBzb2Z0d2FyZSBrZXlib2FyZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTkzNTY1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzM3NjMzND4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGhl
IHNvZnR3YXJlIGtleWJvYXJkIHdoZW4gdGhlIGlucHV0bW9kZSBjb250ZW50IGF0dHJpYnV0ZSBv
biB0aGUgZm9jdXNlZCBlbGVtZW50IGhhZCBiZWVuIG11dGF0ZWQuCisKKyAgICAgICAgKiBTY3Jp
cHRzL3dlYmtpdC9tZXNzYWdlcy5weToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9T
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAg
ICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmZvY3VzZWRFbGVtZW50RGlkQ2hhbmdlSW5wdXRN
b2RlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgor
ICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9kaWRVcGRhdGVJbnB1dE1vZGU6XSk6CisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2VQcm94eTo6Zm9jdXNlZEVsZW1lbnREaWRDaGFuZ2VJbnB1dE1vZGUpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50Ojpmb2N1c2VkRWxlbWVudERpZENoYW5nZUlucHV0TW9k
ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OmZvY3VzZWRFbGVtZW50RGlkQ2hhbmdlSW5wdXRNb2RlKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorCiAyMDE5LTAxLTE1ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVkdWNlIHVz
ZSBvZiBOZXR3b3JrU3RvcmFnZVNlc3Npb246OmRlZmF1bHRTdG9yYWdlU2Vzc2lvbiBpbiBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCmluZGV4IDgyYjM3MWUzN2Q3MzAwMWRh
NzM2Y2Q2MmM4M2U0ZDQ3ZmJlMzVmNDkuLjc5NmU0MmQ2Njc3ODAwNWY2MzgwNjY2OTU0YmU1MjFj
ZDBmY2NkZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCkBAIC0yOSw2ICsyOSw4
IEBACiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlS2V5
d29yZHMuaCIKICNpbmNsdWRlICJDU1NWYWx1ZVBvb2wuaCIKKyNpbmNsdWRlICJDaHJvbWUuaCIK
KyNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIKICNpbmNsdWRlICJET01Ub2tlbkxpc3QuaCIKICNp
bmNsdWRlICJEb2N1bWVudEZyYWdtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudEFuY2VzdG9ySXRl
cmF0b3IuaCIKQEAgLTQ0OCw2ICs0NTAsMTQgQEAgdm9pZCBIVE1MRWxlbWVudDo6cGFyc2VBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJgogICAg
ICAgICAgICAgc2V0VGFiSW5kZXhFeHBsaWNpdGx5KG9wdGlvbmFsVGFiSW5kZXgudmFsdWUoKSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CisgICAgCisgICAgaWYgKG5hbWUgPT0gaW5wdXRtb2Rl
QXR0cikgeworICAgICAgICBhdXRvJiBkb2N1bWVudCA9IHRoaXMtPmRvY3VtZW50KCk7CisgICAg
ICAgIGlmICh0aGlzID09IGRvY3VtZW50LmZvY3VzZWRFbGVtZW50KCkpIHsKKyAgICAgICAgICAg
IGlmIChhdXRvKiBwYWdlID0gZG9jdW1lbnQucGFnZSgpKQorICAgICAgICAgICAgICAgIHBhZ2Ut
PmNocm9tZSgpLmNsaWVudCgpLmZvY3VzZWRFbGVtZW50RGlkQ2hhbmdlSW5wdXRNb2RlKCp0aGlz
LCBjYW5vbmljYWxJbnB1dE1vZGUoKSk7CisgICAgICAgIH0KKyAgICB9CiAKICAgICBhdXRvJiBl
dmVudE5hbWUgPSBldmVudE5hbWVGb3JFdmVudEhhbmRsZXJBdHRyaWJ1dGUobmFtZSk7CiAgICAg
aWYgKCFldmVudE5hbWUuaXNOdWxsKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRl
eCAzMjA0MGUxNWJmODUwNWU3MDA5NmNiNjUzZGRlZWE3N2Y2MzRjYWFmLi5hNzVkOTdjNzA2Yjk5
MWRiN2YxOWQ3NzQ4N2IxY2RjNDU5OTljZmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50
LmgKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJIVE1MTWVkaWFFbGVtZW50RW51bXMuaCIK
ICNpbmNsdWRlICJIb3N0V2luZG93LmgiCiAjaW5jbHVkZSAiSWNvbi5oIgorI2luY2x1ZGUgIklu
cHV0TW9kZS5oIgogI2luY2x1ZGUgIkxheWVyRmx1c2hUaHJvdHRsZVN0YXRlLmgiCiAjaW5jbHVk
ZSAiTWVkaWFQcm9kdWNlci5oIgogI2luY2x1ZGUgIlBvcHVwTWVudS5oIgpAQCAtMjkyLDcgKzI5
Myw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZWxlbWVudERpZEZvY3VzKEVsZW1lbnQm
KSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZWxlbWVudERpZEJsdXIoRWxlbWVudCYpIHsgfQogICAg
IHZpcnR1YWwgdm9pZCBlbGVtZW50RGlkUmVmb2N1cyhFbGVtZW50JikgeyB9Ci0gICAgCisKKyAg
ICB2aXJ0dWFsIHZvaWQgZm9jdXNlZEVsZW1lbnREaWRDaGFuZ2VJbnB1dE1vZGUoRWxlbWVudCYs
IElucHV0TW9kZSkgeyB9CisKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUGFpbnRFbnRpcmVDb250
ZW50cygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGhhc1N0YWJs
ZVBhZ2VTY2FsZUZhY3RvcigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQv
U2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXggYzc3NGJjNDFjODI5NGYwODExNjcxZDZi
NzRjYTg2ZDQ4ZWUxNzk0NC4uYmZlZDk2NGQ3YjI2ODhkMDg0YTUyODBiYzZlYTVhNGIyN2NiM2Y0
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQor
KysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC00MDcsNiAr
NDA3LDcgQEAgZGVmIGhlYWRlcnNfZm9yX3R5cGUodHlwZSk6CiAgICAgICAgICdXZWJDb3JlOjpI
YXNJbnNlY3VyZUNvbnRlbnQnOiBbJzxXZWJDb3JlL0ZyYW1lTG9hZGVyVHlwZXMuaD4nXSwKICAg
ICAgICAgJ1dlYkNvcmU6OkhpZ2hsaWdodCc6IFsnPFdlYkNvcmUvSW5zcGVjdG9yT3ZlcmxheS5o
PiddLAogICAgICAgICAnV2ViQ29yZTo6SW5jbHVkZVNlY3VyZUNvb2tpZXMnOiBbJzxXZWJDb3Jl
L0Nvb2tpZUphci5oPiddLAorICAgICAgICAnV2ViQ29yZTo6SW5wdXRNb2RlJzogWyc8V2ViQ29y
ZS9JbnB1dE1vZGUuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OktleWZyYW1lVmFsdWVMaXN0Jzog
Wyc8V2ViQ29yZS9HcmFwaGljc0xheWVyLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpLZXlwcmVz
c0NvbW1hbmQnOiBbJzxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4nXSwKICAgICAgICAgJ1dlYkNv
cmU6OkxvY2tCYWNrRm9yd2FyZExpc3QnOiBbJzxXZWJDb3JlL0ZyYW1lTG9hZGVyVHlwZXMuaD4n
XSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVy
cy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKaW5kZXgg
NTczYWE3NWZkMTg1YTA1ODU2NTRkZGQ2NWU5YTdhYWM3YjUxMDQwMS4uM2FlN2U0NzVkODMzNmVm
YzI3ZGNmMmM1MWY3MjJjYzJkYjk4NDVhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlIDxXZWJDb3Jl
L0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZUxvYWRl
clR5cGVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbmRleGVkREIuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL0lucHV0TW9kZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFTZWxlY3Rpb25PcHRpb24u
aD4KICNpbmNsdWRlIDxXZWJDb3JlL05ldHdvcmtMb2FkTWV0cmljcy5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvTm90aWZpY2F0aW9uRGlyZWN0aW9uLmg+CkBAIC03NjYsNiArNzY3LDIxIEBAIHRlbXBs
YXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6QXV0b3BsYXlFdmVudD4gewogICAgID47
CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYkNvcmU6OklucHV0TW9kZT4g
eworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OklucHV0
TW9kZSwKKyAgICAgICAgV2ViQ29yZTo6SW5wdXRNb2RlOjpVbnNwZWNpZmllZCwKKyAgICAgICAg
V2ViQ29yZTo6SW5wdXRNb2RlOjpOb25lLAorICAgICAgICBXZWJDb3JlOjpJbnB1dE1vZGU6OlRl
eHQsCisgICAgICAgIFdlYkNvcmU6OklucHV0TW9kZTo6VGVsZXBob25lLAorICAgICAgICBXZWJD
b3JlOjpJbnB1dE1vZGU6OlVybCwKKyAgICAgICAgV2ViQ29yZTo6SW5wdXRNb2RlOjpFbWFpbCwK
KyAgICAgICAgV2ViQ29yZTo6SW5wdXRNb2RlOjpOdW1lcmljLAorICAgICAgICBXZWJDb3JlOjpJ
bnB1dE1vZGU6OkRlY2ltYWwsCisgICAgICAgIFdlYkNvcmU6OklucHV0TW9kZTo6U2VhcmNoCisg
ICAgPjsKK307CisKIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TmV0d29y
a0xvYWRQcmlvcml0eT4gewogICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CiAgICAgICAg
IFdlYkNvcmU6Ok5ldHdvcmtMb2FkUHJpb3JpdHksCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xp
ZW50LmgKaW5kZXggMDA3YjI4MTg0ZjM2YWYyYWJiOTVlMzJmZTUwZThmZjkxNWJlZDZkZC4uZGE5
Yzc3NWYwMGZkZjY4NjA1NWJlODljM2QwNWEwMTBiMDIyZDEwOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1BhZ2VDbGllbnQuaApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvQWx0
ZXJuYXRpdmVUZXh0Q2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9FZGl0b3JDbGllbnQuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0ZvY3VzRGlyZWN0aW9uLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9J
bnB1dE1vZGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rp
b24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1ZhbGlkYXRpb25CdWJibGUuaD4KICNpbmNsdWRlIDx3
dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KQEAgLTM2OSw2ICszNzAsNyBAQCBwdWJsaWM6CiAKICAg
ICB2aXJ0dWFsIHZvaWQgZWxlbWVudERpZEZvY3VzKGNvbnN0IEZvY3VzZWRFbGVtZW50SW5mb3Jt
YXRpb24mLCBib29sIHVzZXJJc0ludGVyYWN0aW5nLCBib29sIGJsdXJQcmV2aW91c05vZGUsIGJv
b2wgY2hhbmdpbmdBY3Rpdml0eVN0YXRlLCBBUEk6Ok9iamVjdCogdXNlckRhdGEpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgZWxlbWVudERpZEJsdXIoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGZv
Y3VzZWRFbGVtZW50RGlkQ2hhbmdlSW5wdXRNb2RlKFdlYkNvcmU6OklucHV0TW9kZSkgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRWRpdG9yU3RhdGVVcGRhdGVBZnRlckZvY3VzKCkg
PSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc0ZvY3VzaW5nRWxlbWVudCgpID0gMDsKICAgICB2aXJ0
dWFsIGJvb2wgaW50ZXJwcmV0S2V5RXZlbnQoY29uc3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYs
IGJvb2wgaXNDaGFyRXZlbnQpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKaW5kZXggZGU5ODY5NGFhMzdkYjNjN2YyY2UyN2NjODI5YTkyMDAyMTFkZTEwZC4uZTdkZDJl
NzJhNDJmMjA3YjExZjYxYWQzMjExNWU5ZWExZjVmODA0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKQEAgLTc1LDYgKzc1LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0Zv
bnRBdHRyaWJ1dGVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZUxvYWRlclR5cGVzLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9GcmFtZVZpZXcuaD4gLy8gRklYTUU6IE1vdmUgTGF5b3V0Vmlld3Bv
cnRDb25zdHJhaW50IHRvIGl0cyBvd24gZmlsZSBhbmQgc3RvcCBpbmNsdWRpbmcgdGhpcy4KKyNp
bmNsdWRlIDxXZWJDb3JlL0lucHV0TW9kZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTGF5b3V0UG9p
bnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0xheW91dFNpemUuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L01lZGlhUGxheWJhY2tUYXJnZXRDb250ZXh0Lmg+CkBAIC0xNzg1LDYgKzE3ODYsNyBAQCBwcml2
YXRlOgogCiAgICAgdm9pZCBlbGVtZW50RGlkRm9jdXMoY29uc3QgRm9jdXNlZEVsZW1lbnRJbmZv
cm1hdGlvbiYsIGJvb2wgdXNlcklzSW50ZXJhY3RpbmcsIGJvb2wgYmx1clByZXZpb3VzTm9kZSwg
Ym9vbCBjaGFuZ2luZ0FjdGl2aXR5U3RhdGUsIGNvbnN0IFVzZXJEYXRhJik7CiAgICAgdm9pZCBl
bGVtZW50RGlkQmx1cigpOworICAgIHZvaWQgZm9jdXNlZEVsZW1lbnREaWRDaGFuZ2VJbnB1dE1v
ZGUoV2ViQ29yZTo6SW5wdXRNb2RlKTsKICAgICB2b2lkIGRpZFJlY2VpdmVFZGl0b3JTdGF0ZVVw
ZGF0ZUFmdGVyRm9jdXMoKTsKIAogICAgIHZvaWQgc2hvd0luc3BlY3RvckhpZ2hsaWdodChjb25z
dCBXZWJDb3JlOjpIaWdobGlnaHQmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCAyZDI4ZWUxOGI2OWU4Mjk1YzFmN2E4MTNmOWNi
NDcxYmRkYTQ4ZmYyLi4zODlhMzJiZGExNGNkMDFkYjRjNGI5OWNjMjRjNjk0ZDFjMWE1ZDlmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
CkBAIC00MDUsNiArNDA1LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKIAogICAgIEVs
ZW1lbnREaWRGb2N1cyhzdHJ1Y3QgV2ViS2l0OjpGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uIGlu
Zm9ybWF0aW9uLCBib29sIHVzZXJJc0ludGVyYWN0aW5nLCBib29sIGJsdXJQcmV2aW91c05vZGUs
IGJvb2wgY2hhbmdpbmdBY3Rpdml0eVN0YXRlLCBXZWJLaXQ6OlVzZXJEYXRhIHVzZXJEYXRhKQog
ICAgIEVsZW1lbnREaWRCbHVyKCkKKyAgICBGb2N1c2VkRWxlbWVudERpZENoYW5nZUlucHV0TW9k
ZShlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6SW5wdXRNb2RlIG1vZGUpCiAgICAgU2Nyb2xsaW5nTm9k
ZVNjcm9sbFdpbGxTdGFydFNjcm9sbCgpCiAgICAgU2Nyb2xsaW5nTm9kZVNjcm9sbERpZEVuZFNj
cm9sbCgpCiAgICAgU2hvd0luc3BlY3RvckhpZ2hsaWdodChzdHJ1Y3QgV2ViQ29yZTo6SGlnaGxp
Z2h0IGhpZ2hsaWdodCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLmgKaW5kZXggNWRhNmY5OWJmNTI0MDIzMzAzZDg3MWRhMDdiZjcyZTE2YWZjYjUy
Ni4uNzQyMGFhZjZkMmI4OWM3MWM0NjgwNWY0ZjgyM2JlMmRiNzZmYzc5YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKQEAgLTE0Myw2ICsx
NDMsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBlbGVtZW50RGlkRm9jdXMoY29uc3QgRm9jdXNl
ZEVsZW1lbnRJbmZvcm1hdGlvbiYsIGJvb2wgdXNlcklzSW50ZXJhY3RpbmcsIGJvb2wgYmx1clBy
ZXZpb3VzTm9kZSwgYm9vbCBjaGFuZ2luZ0FjdGl2aXR5U3RhdGUsIEFQSTo6T2JqZWN0KiB1c2Vy
RGF0YSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBlbGVtZW50RGlkQmx1cigpIG92ZXJyaWRlOworICAg
IHZvaWQgZm9jdXNlZEVsZW1lbnREaWRDaGFuZ2VJbnB1dE1vZGUoV2ViQ29yZTo6SW5wdXRNb2Rl
KSBvdmVycmlkZTsKICAgICB2b2lkIGRpZFJlY2VpdmVFZGl0b3JTdGF0ZVVwZGF0ZUFmdGVyRm9j
dXMoKSBvdmVycmlkZTsKICAgICBib29sIGlzRm9jdXNpbmdFbGVtZW50KCkgb3ZlcnJpZGU7CiAg
ICAgdm9pZCBzZWxlY3Rpb25EaWRDaGFuZ2UoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQppbmRleCBiMjM3ZWY1MDUyYWYz
NzVjMWVjNTY0N2I3YmRiMjgxZTA3ZmE0OGJjLi41ZDAwMjY2NmYyZWU3ZWIyYjNiZTU0YmM5OWY0
NDMzOWY2NzFhMTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFn
ZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VD
bGllbnRJbXBsSU9TLm1tCkBAIC01NDcsNiArNTQ3LDExIEBAIHZvaWQgUGFnZUNsaWVudEltcGw6
OmVsZW1lbnREaWRCbHVyKCkKICAgICBbbV9jb250ZW50VmlldyBfZWxlbWVudERpZEJsdXJdOwog
fQogCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpmb2N1c2VkRWxlbWVudERpZENoYW5nZUlucHV0TW9k
ZShXZWJDb3JlOjpJbnB1dE1vZGUgbW9kZSkKK3sKKyAgICBbbV9jb250ZW50VmlldyBfZGlkVXBk
YXRlSW5wdXRNb2RlOm1vZGVdOworfQorCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRSZWNlaXZl
RWRpdG9yU3RhdGVVcGRhdGVBZnRlckZvY3VzKCkKIHsKICAgICBbbV9jb250ZW50VmlldyBfZGlk
UmVjZWl2ZUVkaXRvclN0YXRlVXBkYXRlQWZ0ZXJGb2N1c107CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKaW5kZXggYTdm
ZmZmNzhmMzBhNzBmNGZjNTkwZDcwNWExZDE5ZTNhMzg4MWJlZi4uZDUwOGEzZTRiYTdjZDdhYzgy
MTg2ZTY5YTZjMjc1YTVhMGM4NDM3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaApAQCAtMzg4LDYgKzM4OCw3IEBA
IEZPUl9FQUNIX1BSSVZBVEVfV0tDT05URU5UVklFV19BQ1RJT04oREVDTEFSRV9XS0NPTlRFTlRW
SUVXX0FDVElPTl9GT1JfV0VCX1ZJRVcpCiAtICh2b2lkKV9kaXNhYmxlRG91YmxlVGFwR2VzdHVy
ZXNEdXJpbmdUYXBJZk5lY2Vzc2FyeToodWludDY0X3QpcmVxdWVzdElEOwogLSAodm9pZClfZWxl
bWVudERpZEZvY3VzOihjb25zdCBXZWJLaXQ6OkZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24mKWlu
Zm9ybWF0aW9uIHVzZXJJc0ludGVyYWN0aW5nOihCT09MKXVzZXJJc0ludGVyYWN0aW5nIGJsdXJQ
cmV2aW91c05vZGU6KEJPT0wpYmx1clByZXZpb3VzTm9kZSBjaGFuZ2luZ0FjdGl2aXR5U3RhdGU6
KEJPT0wpY2hhbmdpbmdBY3Rpdml0eVN0YXRlIHVzZXJPYmplY3Q6KE5TT2JqZWN0IDxOU1NlY3Vy
ZUNvZGluZz4gKil1c2VyT2JqZWN0OwogLSAodm9pZClfZWxlbWVudERpZEJsdXI7CistICh2b2lk
KV9kaWRVcGRhdGVJbnB1dE1vZGU6KFdlYkNvcmU6OklucHV0TW9kZSltb2RlOwogLSAodm9pZClf
ZGlkUmVjZWl2ZUVkaXRvclN0YXRlVXBkYXRlQWZ0ZXJGb2N1czsKIC0gKHZvaWQpX3NlbGVjdGlv
bkNoYW5nZWQ7CiAtICh2b2lkKV91cGRhdGVDaGFuZ2VkU2VsZWN0aW9uOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0K
aW5kZXggM2U1MjkyYTc4YzJhY2Y0NjFhNjgyOTNiM2FhYzQyMmM5MGQ3YjNjNS4uMDA1YjBmYzRj
YjUwYjNlNGQ4YzI1OWJjNWZjODQ3ODZlNzRjZmM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC00NjM4
LDYgKzQ2MzgsMTcgQEAgLSAodm9pZClfZWxlbWVudERpZEJsdXIKICAgICB9CiB9CiAKKy0gKHZv
aWQpX2RpZFVwZGF0ZUlucHV0TW9kZTooV2ViQ29yZTo6SW5wdXRNb2RlKW1vZGUKK3sKKyAgICBp
ZiAoIXNlbGYuaW5wdXREZWxlZ2F0ZSB8fCBfZm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbi5lbGVt
ZW50VHlwZSA9PSBXZWJLaXQ6OklucHV0VHlwZTo6Tm9uZSkKKyAgICAgICAgcmV0dXJuOworCisj
aWYgIVBMQVRGT1JNKFdBVENIT1MpCisgICAgX2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uaW5w
dXRNb2RlID0gbW9kZTsKKyAgICBbc2VsZiByZWxvYWRJbnB1dFZpZXdzXTsKKyNlbmRpZgorfQor
CiAtICh2b2lkKV9kaWRSZWNlaXZlRWRpdG9yU3RhdGVVcGRhdGVBZnRlckZvY3VzCiB7CiAgICAg
W3NlbGYgX3VwZGF0ZUluaXRpYWxXcml0aW5nRGlyZWN0aW9uSWZOZWNlc3NhcnldOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KaW5kZXggYjliZDcw
YzliZWUxMDY5ZTFiNGYxMjMwOThiOWNhZTEyZDY0ODdjNS4uOGE1MzAyZGYxMWRjNmIwMmQ4OGMz
NjBiMWQ4NzQ3MmRmZjc5ODAwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dlYlBhZ2VQcm94eUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V2ViUGFnZVByb3h5SU9TLm1tCkBAIC05MjAsNiArOTIwLDExIEBAIHZvaWQgV2ViUGFnZVByb3h5
OjplbGVtZW50RGlkQmx1cigpCiAgICAgcGFnZUNsaWVudCgpLmVsZW1lbnREaWRCbHVyKCk7CiB9
CiAKK3ZvaWQgV2ViUGFnZVByb3h5Ojpmb2N1c2VkRWxlbWVudERpZENoYW5nZUlucHV0TW9kZShX
ZWJDb3JlOjpJbnB1dE1vZGUgbW9kZSkKK3sKKyAgICBwYWdlQ2xpZW50KCkuZm9jdXNlZEVsZW1l
bnREaWRDaGFuZ2VJbnB1dE1vZGUobW9kZSk7Cit9CisKIHZvaWQgV2ViUGFnZVByb3h5OjphdXRv
ZmlsbExvZ2luQ3JlZGVudGlhbHMoY29uc3QgU3RyaW5nJiB1c2VybmFtZSwgY29uc3QgU3RyaW5n
JiBwYXNzd29yZCkKIHsKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkF1
dG9maWxsTG9naW5DcmVkZW50aWFscyh1c2VybmFtZSwgcGFzc3dvcmQpLCBtX3BhZ2VJRCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDJiZDE2ZGE4MjZkZmM0YzU2N2MxNzBkYTExMTczZWU4
MjM1YmQyZTguLjZjODI0NWZjZGY4Mjg3ZWY3YzU3ODg1YmU4ODZjNzdkODEwYTgxYzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0yMTMsNiArMjEzLDExIEBAIHZvaWQgV2ViQ2hyb21lQ2xp
ZW50OjplbGVtZW50RGlkQmx1cihFbGVtZW50JiBlbGVtZW50KQogICAgIG1fcGFnZS5lbGVtZW50
RGlkQmx1cihlbGVtZW50KTsKIH0KIAordm9pZCBXZWJDaHJvbWVDbGllbnQ6OmZvY3VzZWRFbGVt
ZW50RGlkQ2hhbmdlSW5wdXRNb2RlKEVsZW1lbnQmIGVsZW1lbnQsIElucHV0TW9kZSBtb2RlKQor
eworICAgIG1fcGFnZS5mb2N1c2VkRWxlbWVudERpZENoYW5nZUlucHV0TW9kZShlbGVtZW50LCBt
b2RlKTsKK30KKwogdm9pZCBXZWJDaHJvbWVDbGllbnQ6Om1ha2VGaXJzdFJlc3BvbmRlcigpCiB7
CiAgICAgbV9wYWdlLnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TWFrZUZpcnN0UmVzcG9u
ZGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGIxNDE1ZDExOGNiODNjMWNjZDdhNDFkZjE5
OWJiY2E4MGZhYjcyNTEuLjM4MDQ4YmU5ZDgzNmU2ODcwZTc4NzdlYjY5ODQwOTY5ODE0ZDYzZTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKQEAgLTI3NSw2ICsyNzUsNyBAQCBwcml2YXRlOgogICAgIHZv
aWQgZWxlbWVudERpZEZvY3VzKFdlYkNvcmU6OkVsZW1lbnQmKSBmaW5hbDsKICAgICB2b2lkIGVs
ZW1lbnREaWRCbHVyKFdlYkNvcmU6OkVsZW1lbnQmKSBmaW5hbDsKICAgICB2b2lkIGVsZW1lbnRE
aWRSZWZvY3VzKFdlYkNvcmU6OkVsZW1lbnQmKSBmaW5hbDsKKyAgICB2b2lkIGZvY3VzZWRFbGVt
ZW50RGlkQ2hhbmdlSW5wdXRNb2RlKFdlYkNvcmU6OkVsZW1lbnQmLCBXZWJDb3JlOjpJbnB1dE1v
ZGUpIGZpbmFsOwogCiAgICAgdm9pZCBtYWtlRmlyc3RSZXNwb25kZXIoKSBmaW5hbDsKICAgICB2
b2lkIGFzc2lzdGl2ZVRlY2hub2xvZ3lNYWtlRmlyc3RSZXNwb25kZXIoKSBmaW5hbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNzYyMDMxMTNk
NjA1NDU3NjA5ODllYmVkYTYxMjdiMjVhOGY2MDJmZC4uNTk4MGVlZjdkYTA1NmJjOTg2MzExZDNj
ZmM4OWM0NzRkZTAwMjI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKQEAgLTE3Miw2ICsxNzIsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvSFRNTE9M
aXN0RWxlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSFRNTFBsdWdJbkVsZW1lbnQuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0hUTUxQbHVnSW5JbWFnZUVsZW1lbnQuaD4KKyNpbmNsdWRlIDxXZWJD
b3JlL0hUTUxUZXh0QXJlYUVsZW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUTUxVTGlzdEVs
ZW1lbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hpc3RvcnlDb250cm9sbGVyLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9IaXN0b3J5SXRlbS5oPgpAQCAtNTM2Niw2ICs1MzY3LDIyIEBAIHZvaWQgV2Vi
UGFnZTo6ZWxlbWVudERpZEJsdXIoV2ViQ29yZTo6RWxlbWVudCYgZWxlbWVudCkKICAgICB9CiB9
CiAKK3ZvaWQgV2ViUGFnZTo6Zm9jdXNlZEVsZW1lbnREaWRDaGFuZ2VJbnB1dE1vZGUoV2ViQ29y
ZTo6RWxlbWVudCYgZWxlbWVudCwgV2ViQ29yZTo6SW5wdXRNb2RlIG1vZGUpCit7CisjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBBU1NFUlQobV9mb2N1c2VkRWxlbWVudCA9PSAmZWxlbWVu
dCk7CisgICAgQVNTRVJUKGVsZW1lbnQuY2Fub25pY2FsSW5wdXRNb2RlKCkgPT0gbW9kZSk7CisK
KyAgICBpZiAoIWlzPEhUTUxUZXh0QXJlYUVsZW1lbnQ+KCptX2ZvY3VzZWRFbGVtZW50KSAmJiAh
aXM8SFRNTElucHV0RWxlbWVudD4oKm1fZm9jdXNlZEVsZW1lbnQpICYmICFtX2ZvY3VzZWRFbGVt
ZW50LT5oYXNFZGl0YWJsZVN0eWxlKCkpCisgICAgICAgIHJldHVybjsKKworICAgIHNlbmQoTWVz
c2FnZXM6OldlYlBhZ2VQcm94eTo6Rm9jdXNlZEVsZW1lbnREaWRDaGFuZ2VJbnB1dE1vZGUobW9k
ZSkpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZWxlbWVudCk7CisgICAgVU5VU0VEX1BBUkFN
KGVsZW1lbnQpOworI2VuZGlmCit9CisKIHZvaWQgV2ViUGFnZTo6ZGlkVXBkYXRlQ29tcG9zaXRp
b24oKQogewogICAgIHNlbmRFZGl0b3JTdGF0ZVVwZGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDcxNWUxMjQ1MjBmZjA3NmI5NjBhZWQ3MGU5
YjkyMDc1YTY1NTJhZWYuLmRkYThlMjZlNDhhNDBiODU1ODIxYzc3NmQ3ZTUzODYyM2ExMWNkMzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTU4OSw2
ICs1ODksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBlbGVtZW50RGlkRm9jdXMoV2ViQ29yZTo6RWxl
bWVudCYpOwogICAgIHZvaWQgZWxlbWVudERpZFJlZm9jdXMoV2ViQ29yZTo6RWxlbWVudCYpOwog
ICAgIHZvaWQgZWxlbWVudERpZEJsdXIoV2ViQ29yZTo6RWxlbWVudCYpOworICAgIHZvaWQgZm9j
dXNlZEVsZW1lbnREaWRDaGFuZ2VJbnB1dE1vZGUoV2ViQ29yZTo6RWxlbWVudCYsIFdlYkNvcmU6
OklucHV0TW9kZSk7CiAgICAgdm9pZCByZXNldEZvY3VzZWRFbGVtZW50Rm9yRnJhbWUoV2ViRnJh
bWUqKTsKIAogICAgIHZvaWQgZGlzYWJsZWRBZGFwdGF0aW9uc0RpZENoYW5nZShjb25zdCBPcHRp
b25TZXQ8V2ViQ29yZTo6RGlzYWJsZWRBZGFwdGF0aW9ucz4mKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxNzM2NjBhNmQ2
ZDM5MzE0YzI3ZTdjYjAwZTdiM2M5NzRlZjJjYTNlLi45NjZlNTZiNzYyZTBkMjg4ODAxOTFiNzYz
Y2RlNzY5Y2NjZTBlM2I3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTktMDEtMTggIFJ5b3N1
a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgaU9TOiBVcGRhdGluZyBpbnB1
dCBtb2RlIHNob3VsZCB1cGRhdGUgdGhlIHNvZnR3YXJlIGtleWJvYXJkCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM1NjUKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzQ3Mzc2MzM0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZGVkIGEgcmVncmVzc2lvbiB0ZXN0IGZvciByZW1vdmluZyBpbnB1dG1v
ZGUgY29udGVudCBhdHRyaWJ1dGUgd2l0aCB0aGUgdmFsdWUgb2YgIm5vbmUiLgorCisgICAgICAg
IFRoZSB0ZXN0IG1ldGhvZG9sb2d5IGlzIGRpZmZlcmVudCBiZXR3ZWVuIHRlc3RSdW5uZXIgYW5k
IGluLWJyb3dzZXIgc2luY2Ugd2UgZG9uJ3QgZm9yY2UKKyAgICAgICAgc29mdHdhcmUga2V5Ym9h
cmQgd2hpbGUgcnVubmluZyBsYXlvdXQgdGVzdHMgaW5zaWRlIHNpbXVsYXRvciB3aGljaCBjYW4g
ZWxpbWlhdGUKKyAgICAgICAgdGhlIHZpc3VhbCB2aWV3cG9ydCBkaWZmZXJlbmNlIGluc2lkZSB0
aGUgdGVzdCBydW5uZXIsIGFuZCBpbi1icm93c2VyIHRlc3Rpbmcgb2J2aW91c2x5CisgICAgICAg
IGRvZXNuJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIGludGVybmFsIGtleWJvYXJkIG1ldHJpY3MuCisK
KyAgICAgICAgKiBmYXN0L2Zvcm1zL2lvcy9pbnB1dG1vZGUtbm9uZS1yZW1vdmVkLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9pb3MvaW5wdXRtb2RlLW5vbmUtcmVt
b3ZlZC5odG1sOiBBZGRlZC4KKwogMjAxOS0wMS0xNSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBWaXN1YWxWaWV3cG9ydCBBUEkgc2hvdWxkIGJlIHVwZGF0ZWQg
dXBvbiBvcGVuaW5nIG9mIGtleWJvYXJkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2lvcy9pbnB1dG1vZGUtbm9uZS1yZW1vdmVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvaW9zL2lucHV0bW9kZS1ub25lLXJlbW92ZWQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgxMDk2N2FiNWY3MWQyYTU2NWM0NGZmNGRiZmM1MTFjN2U3YzFmYTEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pbnB1dG1vZGUtbm9uZS1yZW1v
dmVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitUaGlzIHRlc3RzIHVwZGF0aW5nIGlu
cHV0bW9kZSBvZiBhbiBpbnB1dCBlbGVtZW50IGZyb20gIm5vbmUiIHRvICJ0ZXh0Ii4gVGhlIHNv
ZnR3YXJlIGtleWJvYXJkIHNob3VsZCBiZSB1cGRhdGVkLgorVG8gbWFudWFsbHkgdGVzdCwgZm9j
dXMgdGhlIGlucHV0IGVsZW1lbnQgYmVsb3cuIFRoZSBzb2Z0d2FyZSBrZXlib2FyZCBzaG91bGQg
c2hvdyB1cCBhZnRlciAzIHNlY29uZHMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K0VsZW1lbnQgaGFzIGlucHV0bW9kZT1ub25lCitQQVNTIGtleWJvYXJkUmVjdC5oZWlnaHQgaXMg
MAorCitpbnB1dG1vZGUgaGFzIGJlZW4gcmVtb3ZlZAorUEFTUyBrZXlib2FyZFJlY3QuaGVpZ2h0
ID4gMCBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pbnB1dG1v
ZGUtbm9uZS1yZW1vdmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pbnB1dG1v
ZGUtbm9uZS1yZW1vdmVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTQwMTk3YmM4ZmFmODA4NmY0ZjNjOTU0
NzQyZTRlMmI3ZGZlNmEwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvaW9zL2lucHV0bW9kZS1ub25lLXJlbW92ZWQuaHRtbApAQCAtMCwwICsxLDY4IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8i
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGlucHV0IGlucHV0bW9kZT0ibm9uZSI+Cis8ZGl2IGlkPSJjb3Vu
dGRvd24iPjwvZGl2PgorPHNjcmlwdD4KK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitkZXNjcmlw
dGlvbignVGhpcyB0ZXN0cyB1cGRhdGluZyBpbnB1dG1vZGUgb2YgYW4gaW5wdXQgZWxlbWVudCBm
cm9tICJub25lIiB0byAidGV4dCIuIFRoZSBzb2Z0d2FyZSBrZXlib2FyZCBzaG91bGQgYmUgdXBk
YXRlZC48YnI+JworICAgICsgJ1RvIG1hbnVhbGx5IHRlc3QsIGZvY3VzIHRoZSBpbnB1dCBlbGVt
ZW50IGJlbG93LiBUaGUgc29mdHdhcmUga2V5Ym9hcmQgc2hvdWxkIHNob3cgdXAgYWZ0ZXIgMyBz
ZWNvbmRzJyk7CisKK2NvbnN0IGlucHV0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaW5wdXQi
KTsKK2lmICghd2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICBpbnB1dC5hZGRFdmVudExpc3RlbmVy
KCdmb2N1cycsICgpID0+IHsKKyAgICAgICAgbGV0IGNvdW50ZG93biA9IDM7CisgICAgICAgIGNv
bnN0IGlkID0gc2V0SW50ZXJ2YWwoKCkgPT4geworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2NvdW50ZG93bicpLnRleHRDb250ZW50ID0gY291bnRkb3duID8gY291bnRkb3du
IDogJyc7CisgICAgICAgICAgICBpZiAoIWNvdW50ZG93bikgeworICAgICAgICAgICAgICAgIGNs
ZWFySW50ZXJ2YWwoaWQpOworICAgICAgICAgICAgICAgIGlucHV0LnJlbW92ZUF0dHJpYnV0ZSgn
aW5wdXRtb2RlJyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjb3VudGRvd24tLTsKKyAg
ICAgICAgfSwgMTAwMCk7CisgICAgfSk7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7
CisgICAgZGVidWcoJ0VsZW1lbnQgaGFzIGlucHV0bW9kZT1ub25lJyk7CisKKyAgICBsZXQgZGlk
UmVzaXplID0gKCkgPT4geyB9OworICAgIHdpbmRvdy52aXN1YWxWaWV3cG9ydC5hZGRFdmVudExp
c3RlbmVyKCdyZXNpemUnLCAoKSA9PiBkaWRSZXNpemUoKSk7CisKKyAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKKyAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVGb3JtQ29udHJvbChp
bnB1dCk7CisgICAgICAgIHdpbmRvdy5rZXlib2FyZFJlY3QgPSBhd2FpdCBVSUhlbHBlci5pbnB1
dFZpZXdCb3VuZHMoKTsKKyAgICAgICAgc2hvdWxkQmUoJ2tleWJvYXJkUmVjdC5oZWlnaHQnLCAn
MCcpOworICAgIH0gZWxzZSB7CisgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9
PiB7IGRpZFJlc2l6ZSA9IHJlc29sdmU7IH0pOworICAgICAgICBzaG91bGRCZVRydWUoJ2RvY3Vt
ZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQgLSB2aXN1YWxWaWV3cG9ydC5oZWlnaHQg
PCAxMDAnKTsKKyAgICB9CisKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGlu
cHV0LnJlbW92ZUF0dHJpYnV0ZSgnaW5wdXRtb2RlJyk7CisKKyAgICBhd2FpdCBuZXcgUHJvbWlz
ZSgocmVzb2x2ZSkgPT4geyBkaWRSZXNpemUgPSByZXNvbHZlOyB9KTsKKworICAgIGRlYnVnKCcn
KTsKKyAgICBkZWJ1ZygnaW5wdXRtb2RlIGhhcyBiZWVuIHJlbW92ZWQnKTsKKworICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB3aW5kb3cua2V5Ym9hcmRSZWN0ID0gYXdhaXQg
VUlIZWxwZXIuaW5wdXRWaWV3Qm91bmRzKCk7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgna2V5Ym9h
cmRSZWN0LmhlaWdodCA+IDAnKTsKKyAgICB9IGVsc2UKKyAgICAgICAgc2hvdWxkQmVUcnVlKCdk
b2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IC0gdmlzdWFsVmlld3BvcnQuaGVp
Z2h0ID4gMzAwJyk7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKword2luZG93Lm9ubG9hZCA9
ICgpID0+IHNldFRpbWVvdXQocnVuVGVzdCwgMCk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359583</attachid>
            <date>2019-01-18 20:40:17 -0800</date>
            <delta_ts>2019-01-18 20:40:32 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-193565-20190118204017.patch</filename>
            <type>text/plain</type>
            <size>21542</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwMDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWQxY2IwNDA4M2E1Yjgx
OWUxYmIzOGU4Yjg0NTAyNTQwYzZjY2MyZC4uZjJhYTkwYTE2N2YyMGNmMWQzYWUxNmNiMGFjYWEz
MDJkZmJhNWM0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE5LTAxLTE4ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIGlPUzogVXBkYXRpbmcgaW5w
dXQgbW9kZSBzaG91bGQgdXBkYXRlIHRoZSBzb2Z0d2FyZSBrZXlib2FyZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzNTY1CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS80NzM3NjMzND4KKworICAgICAgICBSZXZpZXdlZCBieSBXZW5zb24gSHNpZWgu
CisKKyAgICAgICAgTGV0IHRoZSBjaHJvbWUgY2xpZW50IGtub3cgdGhhdCB0aGUgZm9jdXNlZCBl
bGVtZW50J3MgaW5wdXRtb2RlIGhhZCBjaGFuZ2VkLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9y
bXMvaW9zL2lucHV0bW9kZS1ub25lLXJlbW92ZWQuaHRtbAorCisgICAgICAgICogaHRtbC9IVE1M
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6cGFyc2VBdHRyaWJ1
dGUpOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6CisKIDIwMTktMDEtMTUgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZWR1Y2Ug
dXNlIG9mIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZGVmYXVsdFN0b3JhZ2VTZXNzaW9uIGluIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggOWMwMjYwNWIwNGExMDcwZGJiY2NlODI0ZTE3OTVjMDA3N2Y3M2U0
My4uYTRkOGQwZmM5YzNhMzFlZGFkMGY5Yjk0YzMzNTM2MzQ5MTIzNTY0MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzMyBAQAorMjAxOS0wMS0xOCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9y
Zz4KKworICAgICAgICBpT1M6IFVwZGF0aW5nIGlucHV0IG1vZGUgc2hvdWxkIHVwZGF0ZSB0aGUg
c29mdHdhcmUga2V5Ym9hcmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5MzU2NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDczNzYzMzQ+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgV2Vuc29uIEhzaWVoLgorCisgICAgICAgIFVwZGF0ZSB0aGUgc29m
dHdhcmUga2V5Ym9hcmQgd2hlbiB0aGUgaW5wdXRtb2RlIGNvbnRlbnQgYXR0cmlidXRlIG9uIHRo
ZSBmb2N1c2VkIGVsZW1lbnQgaGFkIGJlZW4gbXV0YXRlZC4KKworICAgICAgICAqIFNjcmlwdHMv
d2Via2l0L21lc3NhZ2VzLnB5OgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAgICAo
V2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6Zm9jdXNlZEVsZW1lbnREaWRDaGFuZ2VJbnB1dE1vZGUp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAg
ICAgICgtW1dLQ29udGVudFZpZXcgX2RpZFVwZGF0ZUlucHV0TW9kZTpdKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZVByb3h5Ojpmb2N1c2VkRWxlbWVudERpZENoYW5nZUlucHV0TW9kZSk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJDaHJvbWVDbGllbnQ6OmZvY3VzZWRFbGVtZW50RGlkQ2hhbmdlSW5wdXRNb2RlKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6Zm9jdXNlZEVsZW1lbnREaWRDaGFuZ2VJbnB1dE1vZGUpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisKIDIwMTktMDEtMTUgIEFsZXggQ2hyaXN0
ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZWR1Y2UgdXNlIG9m
IE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjo6ZGVmYXVsdFN0b3JhZ2VTZXNzaW9uIGluIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKaW5kZXggODJiMzcxZTM3ZDczMDAxZGE3MzZj
ZDYyYzgzZTRkNDdmYmUzNWY0OS4uNzk2ZTQyZDY2Nzc4MDA1ZjYzODA2NjY5NTRiZTUyMWNkMGZj
Y2RlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAKQEAgLTI5LDYgKzI5LDggQEAK
ICNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jk
cy5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlUG9vbC5oIgorI2luY2x1ZGUgIkNocm9tZS5oIgorI2lu
Y2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgogI2luY2x1
ZGUgIkRvY3VtZW50RnJhZ21lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50QW5jZXN0b3JJdGVyYXRv
ci5oIgpAQCAtNDQ4LDYgKzQ1MCwxNCBAQCB2b2lkIEhUTUxFbGVtZW50OjpwYXJzZUF0dHJpYnV0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmCiAgICAgICAg
ICAgICBzZXRUYWJJbmRleEV4cGxpY2l0bHkob3B0aW9uYWxUYWJJbmRleC52YWx1ZSgpKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KKyAgICAKKyAgICBpZiAobmFtZSA9PSBpbnB1dG1vZGVBdHRy
KSB7CisgICAgICAgIGF1dG8mIGRvY3VtZW50ID0gdGhpcy0+ZG9jdW1lbnQoKTsKKyAgICAgICAg
aWYgKHRoaXMgPT0gZG9jdW1lbnQuZm9jdXNlZEVsZW1lbnQoKSkgeworICAgICAgICAgICAgaWYg
KGF1dG8qIHBhZ2UgPSBkb2N1bWVudC5wYWdlKCkpCisgICAgICAgICAgICAgICAgcGFnZS0+Y2hy
b21lKCkuY2xpZW50KCkuZm9jdXNlZEVsZW1lbnREaWRDaGFuZ2VJbnB1dE1vZGUoKnRoaXMsIGNh
bm9uaWNhbElucHV0TW9kZSgpKTsKKyAgICAgICAgfQorICAgIH0KIAogICAgIGF1dG8mIGV2ZW50
TmFtZSA9IGV2ZW50TmFtZUZvckV2ZW50SGFuZGxlckF0dHJpYnV0ZShuYW1lKTsKICAgICBpZiAo
IWV2ZW50TmFtZS5pc051bGwoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDMy
MDQwZTE1YmY4NTA1ZTcwMDk2Y2I2NTNkZGVlYTc3ZjYzNGNhYWYuLmE3NWQ5N2M3MDZiOTkxZGI3
ZjE5ZDc3NDg3YjFjZGM0NTk5OWNmYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApA
QCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkhUTUxNZWRpYUVsZW1lbnRFbnVtcy5oIgogI2lu
Y2x1ZGUgIkhvc3RXaW5kb3cuaCIKICNpbmNsdWRlICJJY29uLmgiCisjaW5jbHVkZSAiSW5wdXRN
b2RlLmgiCiAjaW5jbHVkZSAiTGF5ZXJGbHVzaFRocm90dGxlU3RhdGUuaCIKICNpbmNsdWRlICJN
ZWRpYVByb2R1Y2VyLmgiCiAjaW5jbHVkZSAiUG9wdXBNZW51LmgiCkBAIC0yOTIsNyArMjkzLDkg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBlbGVtZW50RGlkRm9jdXMoRWxlbWVudCYpIHsg
fQogICAgIHZpcnR1YWwgdm9pZCBlbGVtZW50RGlkQmx1cihFbGVtZW50JikgeyB9CiAgICAgdmly
dHVhbCB2b2lkIGVsZW1lbnREaWRSZWZvY3VzKEVsZW1lbnQmKSB7IH0KLSAgICAKKworICAgIHZp
cnR1YWwgdm9pZCBmb2N1c2VkRWxlbWVudERpZENoYW5nZUlucHV0TW9kZShFbGVtZW50JiwgSW5w
dXRNb2RlKSB7IH0KKwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRQYWludEVudGlyZUNvbnRlbnRz
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaGFzU3RhYmxlUGFn
ZVNjYWxlRmFjdG9yKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291cmNlL1dlYktpdC9TY3Jp
cHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCBjNzc0YmM0MWM4Mjk0ZjA4MTE2NzFkNmI3NGNh
ODZkNDhlZTE3OTQ0Li5iZmVkOTY0ZDdiMjY4OGQwODRhNTI4MGJjNmVhNWE0YjI3Y2IzZjQ3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CisrKyBi
L1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKQEAgLTQwNyw2ICs0MDcs
NyBAQCBkZWYgaGVhZGVyc19mb3JfdHlwZSh0eXBlKToKICAgICAgICAgJ1dlYkNvcmU6Okhhc0lu
c2VjdXJlQ29udGVudCc6IFsnPFdlYkNvcmUvRnJhbWVMb2FkZXJUeXBlcy5oPiddLAogICAgICAg
ICAnV2ViQ29yZTo6SGlnaGxpZ2h0JzogWyc8V2ViQ29yZS9JbnNwZWN0b3JPdmVybGF5Lmg+J10s
CiAgICAgICAgICdXZWJDb3JlOjpJbmNsdWRlU2VjdXJlQ29va2llcyc6IFsnPFdlYkNvcmUvQ29v
a2llSmFyLmg+J10sCisgICAgICAgICdXZWJDb3JlOjpJbnB1dE1vZGUnOiBbJzxXZWJDb3JlL0lu
cHV0TW9kZS5oPiddLAogICAgICAgICAnV2ViQ29yZTo6S2V5ZnJhbWVWYWx1ZUxpc3QnOiBbJzxX
ZWJDb3JlL0dyYXBoaWNzTGF5ZXIuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OktleXByZXNzQ29t
bWFuZCc6IFsnPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPiddLAogICAgICAgICAnV2ViQ29yZTo6
TG9ja0JhY2tGb3J3YXJkTGlzdCc6IFsnPFdlYkNvcmUvRnJhbWVMb2FkZXJUeXBlcy5oPiddLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCA1NzNh
YTc1ZmQxODVhMDU4NTY1NGRkZDY1ZTlhN2FhYzdiNTEwNDAxLi4zYWU3ZTQ3NWQ4MzM2ZWZjMjdk
Y2YyYzUxZjcyMmNjMmRiOTg0NWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9X
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lTG9hZGVyVHlw
ZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0luZGV4ZWREQi5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
SW5wdXRNb2RlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVNlbGVjdGlvbk9wdGlvbi5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvTmV0d29ya0xvYWRNZXRyaWNzLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9Ob3RpZmljYXRpb25EaXJlY3Rpb24uaD4KQEAgLTc2Niw2ICs3NjcsMjEgQEAgdGVtcGxhdGU8
PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpBdXRvcGxheUV2ZW50PiB7CiAgICAgPjsKIH07
CiAKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6SW5wdXRNb2RlPiB7Cisg
ICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAgICAgICAgV2ViQ29yZTo6SW5wdXRNb2Rl
LAorICAgICAgICBXZWJDb3JlOjpJbnB1dE1vZGU6OlVuc3BlY2lmaWVkLAorICAgICAgICBXZWJD
b3JlOjpJbnB1dE1vZGU6Ok5vbmUsCisgICAgICAgIFdlYkNvcmU6OklucHV0TW9kZTo6VGV4dCwK
KyAgICAgICAgV2ViQ29yZTo6SW5wdXRNb2RlOjpUZWxlcGhvbmUsCisgICAgICAgIFdlYkNvcmU6
OklucHV0TW9kZTo6VXJsLAorICAgICAgICBXZWJDb3JlOjpJbnB1dE1vZGU6OkVtYWlsLAorICAg
ICAgICBXZWJDb3JlOjpJbnB1dE1vZGU6Ok51bWVyaWMsCisgICAgICAgIFdlYkNvcmU6OklucHV0
TW9kZTo6RGVjaW1hbCwKKyAgICAgICAgV2ViQ29yZTo6SW5wdXRNb2RlOjpTZWFyY2gKKyAgICA+
OworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpOZXR3b3JrTG9h
ZFByaW9yaXR5PiB7CiAgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKICAgICAgICAgV2Vi
Q29yZTo6TmV0d29ya0xvYWRQcmlvcml0eSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQu
aAppbmRleCAwMDdiMjgxODRmMzZhZjJhYmI5NWUzMmZlNTBlOGZmOTE1YmVkNmRkLi5kYTljNzc1
ZjAwZmRmNjg2MDU1YmU4OWMzZDA1YTAxMGIwMjJkMTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
UGFnZUNsaWVudC5oCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9BbHRlcm5h
dGl2ZVRleHRDbGllbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0VkaXRvckNsaWVudC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvRm9jdXNEaXJlY3Rpb24uaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0lucHV0
TW9kZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbi5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvVmFsaWRhdGlvbkJ1YmJsZS5oPgogI2luY2x1ZGUgPHd0Zi9D
b21wbGV0aW9uSGFuZGxlci5oPgpAQCAtMzY5LDYgKzM3MCw3IEBAIHB1YmxpYzoKIAogICAgIHZp
cnR1YWwgdm9pZCBlbGVtZW50RGlkRm9jdXMoY29uc3QgRm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlv
biYsIGJvb2wgdXNlcklzSW50ZXJhY3RpbmcsIGJvb2wgYmx1clByZXZpb3VzTm9kZSwgYm9vbCBj
aGFuZ2luZ0FjdGl2aXR5U3RhdGUsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCBlbGVtZW50RGlkQmx1cigpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZm9jdXNl
ZEVsZW1lbnREaWRDaGFuZ2VJbnB1dE1vZGUoV2ViQ29yZTo6SW5wdXRNb2RlKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGRpZFJlY2VpdmVFZGl0b3JTdGF0ZVVwZGF0ZUFmdGVyRm9jdXMoKSA9IDA7
CiAgICAgdmlydHVhbCBib29sIGlzRm9jdXNpbmdFbGVtZW50KCkgPSAwOwogICAgIHZpcnR1YWwg
Ym9vbCBpbnRlcnByZXRLZXlFdmVudChjb25zdCBOYXRpdmVXZWJLZXlib2FyZEV2ZW50JiwgYm9v
bCBpc0NoYXJFdmVudCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApp
bmRleCBkZTk4Njk0YWEzN2RiM2M3ZjJjZTI3Y2M4MjlhOTIwMDIxMWRlMTBkLi5lN2RkMmU3MmE0
MmYyMDdiMTFmNjFhZDMyMTE1ZTllYTFmNWY4MDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaApAQCAtNzUsNiArNzUsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRm9udEF0
dHJpYnV0ZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lTG9hZGVyVHlwZXMuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0ZyYW1lVmlldy5oPiAvLyBGSVhNRTogTW92ZSBMYXlvdXRWaWV3cG9ydENv
bnN0cmFpbnQgdG8gaXRzIG93biBmaWxlIGFuZCBzdG9wIGluY2x1ZGluZyB0aGlzLgorI2luY2x1
ZGUgPFdlYkNvcmUvSW5wdXRNb2RlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9MYXlvdXRQb2ludC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvTGF5b3V0U2l6ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTWVk
aWFQbGF5YmFja1RhcmdldENvbnRleHQuaD4KQEAgLTE3ODUsNiArMTc4Niw3IEBAIHByaXZhdGU6
CiAKICAgICB2b2lkIGVsZW1lbnREaWRGb2N1cyhjb25zdCBGb2N1c2VkRWxlbWVudEluZm9ybWF0
aW9uJiwgYm9vbCB1c2VySXNJbnRlcmFjdGluZywgYm9vbCBibHVyUHJldmlvdXNOb2RlLCBib29s
IGNoYW5naW5nQWN0aXZpdHlTdGF0ZSwgY29uc3QgVXNlckRhdGEmKTsKICAgICB2b2lkIGVsZW1l
bnREaWRCbHVyKCk7CisgICAgdm9pZCBmb2N1c2VkRWxlbWVudERpZENoYW5nZUlucHV0TW9kZShX
ZWJDb3JlOjpJbnB1dE1vZGUpOwogICAgIHZvaWQgZGlkUmVjZWl2ZUVkaXRvclN0YXRlVXBkYXRl
QWZ0ZXJGb2N1cygpOwogCiAgICAgdm9pZCBzaG93SW5zcGVjdG9ySGlnaGxpZ2h0KGNvbnN0IFdl
YkNvcmU6OkhpZ2hsaWdodCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDJkMjhlZTE4YjY5ZTgyOTVjMWY3YTgxM2Y5Y2I0NzFi
ZGRhNDhmZjIuLjM4OWEzMmJkYTE0Y2QwMWRiNGM0Yjk5Y2MyNGM2OTRkMWMxYTVkOWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAg
LTQwNSw2ICs0MDUsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogCiAgICAgRWxlbWVu
dERpZEZvY3VzKHN0cnVjdCBXZWJLaXQ6OkZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24gaW5mb3Jt
YXRpb24sIGJvb2wgdXNlcklzSW50ZXJhY3RpbmcsIGJvb2wgYmx1clByZXZpb3VzTm9kZSwgYm9v
bCBjaGFuZ2luZ0FjdGl2aXR5U3RhdGUsIFdlYktpdDo6VXNlckRhdGEgdXNlckRhdGEpCiAgICAg
RWxlbWVudERpZEJsdXIoKQorICAgIEZvY3VzZWRFbGVtZW50RGlkQ2hhbmdlSW5wdXRNb2RlKGVu
dW06dWludDhfdCBXZWJDb3JlOjpJbnB1dE1vZGUgbW9kZSkKICAgICBTY3JvbGxpbmdOb2RlU2Ny
b2xsV2lsbFN0YXJ0U2Nyb2xsKCkKICAgICBTY3JvbGxpbmdOb2RlU2Nyb2xsRGlkRW5kU2Nyb2xs
KCkKICAgICBTaG93SW5zcGVjdG9ySGlnaGxpZ2h0KHN0cnVjdCBXZWJDb3JlOjpIaWdobGlnaHQg
aGlnaGxpZ2h0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VD
bGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MuaAppbmRleCA1ZGE2Zjk5YmY1MjQwMjMzMDNkODcxZGEwN2JmNzJlMTZhZmNiNTI2Li43
NDIwYWFmNmQyYjg5YzcxYzQ2ODA1ZjRmODIzYmUyZGI3NmZjNzljIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaApAQCAtMTQzLDYgKzE0Myw3
IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGVsZW1lbnREaWRGb2N1cyhjb25zdCBGb2N1c2VkRWxl
bWVudEluZm9ybWF0aW9uJiwgYm9vbCB1c2VySXNJbnRlcmFjdGluZywgYm9vbCBibHVyUHJldmlv
dXNOb2RlLCBib29sIGNoYW5naW5nQWN0aXZpdHlTdGF0ZSwgQVBJOjpPYmplY3QqIHVzZXJEYXRh
KSBvdmVycmlkZTsKICAgICB2b2lkIGVsZW1lbnREaWRCbHVyKCkgb3ZlcnJpZGU7CisgICAgdm9p
ZCBmb2N1c2VkRWxlbWVudERpZENoYW5nZUlucHV0TW9kZShXZWJDb3JlOjpJbnB1dE1vZGUpIG92
ZXJyaWRlOwogICAgIHZvaWQgZGlkUmVjZWl2ZUVkaXRvclN0YXRlVXBkYXRlQWZ0ZXJGb2N1cygp
IG92ZXJyaWRlOwogICAgIGJvb2wgaXNGb2N1c2luZ0VsZW1lbnQoKSBvdmVycmlkZTsKICAgICB2
b2lkIHNlbGVjdGlvbkRpZENoYW5nZSgpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IGIyMzdlZjUwNTJhZjM3NWMx
ZWM1NjQ3YjdiZGIyODFlMDdmYTQ4YmMuLjVkMDAyNjY2ZjJlZTdlYjJiM2JlNTRiYzk5ZjQ0MzM5
ZjY3MWExMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xp
ZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MubW0KQEAgLTU0Nyw2ICs1NDcsMTEgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZWxl
bWVudERpZEJsdXIoKQogICAgIFttX2NvbnRlbnRWaWV3IF9lbGVtZW50RGlkQmx1cl07CiB9CiAK
K3ZvaWQgUGFnZUNsaWVudEltcGw6OmZvY3VzZWRFbGVtZW50RGlkQ2hhbmdlSW5wdXRNb2RlKFdl
YkNvcmU6OklucHV0TW9kZSBtb2RlKQoreworICAgIFttX2NvbnRlbnRWaWV3IF9kaWRVcGRhdGVJ
bnB1dE1vZGU6bW9kZV07Cit9CisKIHZvaWQgUGFnZUNsaWVudEltcGw6OmRpZFJlY2VpdmVFZGl0
b3JTdGF0ZVVwZGF0ZUFmdGVyRm9jdXMoKQogewogICAgIFttX2NvbnRlbnRWaWV3IF9kaWRSZWNl
aXZlRWRpdG9yU3RhdGVVcGRhdGVBZnRlckZvY3VzXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCBhN2ZmZmY3
OGYzMGE3MGY0ZmM1OTBkNzA1YTFkMTllM2EzODgxYmVmLi5kNTA4YTNlNGJhN2NkN2FjODIxODZl
NjlhNmMyNzVhNWEwYzg0MzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC0zODgsNiArMzg4LDcgQEAgRk9S
X0VBQ0hfUFJJVkFURV9XS0NPTlRFTlRWSUVXX0FDVElPTihERUNMQVJFX1dLQ09OVEVOVFZJRVdf
QUNUSU9OX0ZPUl9XRUJfVklFVykKIC0gKHZvaWQpX2Rpc2FibGVEb3VibGVUYXBHZXN0dXJlc0R1
cmluZ1RhcElmTmVjZXNzYXJ5Oih1aW50NjRfdClyZXF1ZXN0SUQ7CiAtICh2b2lkKV9lbGVtZW50
RGlkRm9jdXM6KGNvbnN0IFdlYktpdDo6Rm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbiYpaW5mb3Jt
YXRpb24gdXNlcklzSW50ZXJhY3Rpbmc6KEJPT0wpdXNlcklzSW50ZXJhY3RpbmcgYmx1clByZXZp
b3VzTm9kZTooQk9PTClibHVyUHJldmlvdXNOb2RlIGNoYW5naW5nQWN0aXZpdHlTdGF0ZTooQk9P
TCljaGFuZ2luZ0FjdGl2aXR5U3RhdGUgdXNlck9iamVjdDooTlNPYmplY3QgPE5TU2VjdXJlQ29k
aW5nPiAqKXVzZXJPYmplY3Q7CiAtICh2b2lkKV9lbGVtZW50RGlkQmx1cjsKKy0gKHZvaWQpX2Rp
ZFVwZGF0ZUlucHV0TW9kZTooV2ViQ29yZTo6SW5wdXRNb2RlKW1vZGU7CiAtICh2b2lkKV9kaWRS
ZWNlaXZlRWRpdG9yU3RhdGVVcGRhdGVBZnRlckZvY3VzOwogLSAodm9pZClfc2VsZWN0aW9uQ2hh
bmdlZDsKIC0gKHZvaWQpX3VwZGF0ZUNoYW5nZWRTZWxlY3Rpb247CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRl
eCAzZTUyOTJhNzhjMmFjZjQ2MWE2ODI5M2IzYWFjNDIyYzkwZDdiM2M1Li4wMDViMGZjNGNiNTBi
M2U0ZDhjMjU5YmM1ZmM4NDc4NmU3NGNmYzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTQ2MzgsNiAr
NDYzOCwxNyBAQCAtICh2b2lkKV9lbGVtZW50RGlkQmx1cgogICAgIH0KIH0KIAorLSAodm9pZClf
ZGlkVXBkYXRlSW5wdXRNb2RlOihXZWJDb3JlOjpJbnB1dE1vZGUpbW9kZQoreworICAgIGlmICgh
c2VsZi5pbnB1dERlbGVnYXRlIHx8IF9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmVsZW1lbnRU
eXBlID09IFdlYktpdDo6SW5wdXRUeXBlOjpOb25lKQorICAgICAgICByZXR1cm47CisKKyNpZiAh
UExBVEZPUk0oV0FUQ0hPUykKKyAgICBfZm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbi5pbnB1dE1v
ZGUgPSBtb2RlOworICAgIFtzZWxmIHJlbG9hZElucHV0Vmlld3NdOworI2VuZGlmCit9CisKIC0g
KHZvaWQpX2RpZFJlY2VpdmVFZGl0b3JTdGF0ZVVwZGF0ZUFmdGVyRm9jdXMKIHsKICAgICBbc2Vs
ZiBfdXBkYXRlSW5pdGlhbFdyaXRpbmdEaXJlY3Rpb25JZk5lY2Vzc2FyeV07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQppbmRleCBiOWJkNzBjOWJl
ZTEwNjllMWI0ZjEyMzA5OGI5Y2FlMTJkNjQ4N2M1Li44YTUzMDJkZjExZGM2YjAyZDg4YzM2MGIx
ZDg3NDcyZGZmNzk4MDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V2ViUGFnZVByb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQ
YWdlUHJveHlJT1MubW0KQEAgLTkyMCw2ICs5MjAsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmVs
ZW1lbnREaWRCbHVyKCkKICAgICBwYWdlQ2xpZW50KCkuZWxlbWVudERpZEJsdXIoKTsKIH0KIAor
dm9pZCBXZWJQYWdlUHJveHk6OmZvY3VzZWRFbGVtZW50RGlkQ2hhbmdlSW5wdXRNb2RlKFdlYkNv
cmU6OklucHV0TW9kZSBtb2RlKQoreworICAgIHBhZ2VDbGllbnQoKS5mb2N1c2VkRWxlbWVudERp
ZENoYW5nZUlucHV0TW9kZShtb2RlKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6OmF1dG9maWxs
TG9naW5DcmVkZW50aWFscyhjb25zdCBTdHJpbmcmIHVzZXJuYW1lLCBjb25zdCBTdHJpbmcmIHBh
c3N3b3JkKQogewogICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6QXV0b2Zp
bGxMb2dpbkNyZWRlbnRpYWxzKHVzZXJuYW1lLCBwYXNzd29yZCksIG1fcGFnZUlEKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKaW5kZXggMmJkMTZkYTgyNmRmYzRjNTY3YzE3MGRhMTExNzNlZTgyMzVi
ZDJlOC4uNmM4MjQ1ZmNkZjgyODdlZjdjNTc4ODViZTg4NmM3N2Q4MTBhODFjOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAKQEAgLTIxMyw2ICsyMTMsMTEgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6
OmVsZW1lbnREaWRCbHVyKEVsZW1lbnQmIGVsZW1lbnQpCiAgICAgbV9wYWdlLmVsZW1lbnREaWRC
bHVyKGVsZW1lbnQpOwogfQogCit2b2lkIFdlYkNocm9tZUNsaWVudDo6Zm9jdXNlZEVsZW1lbnRE
aWRDaGFuZ2VJbnB1dE1vZGUoRWxlbWVudCYgZWxlbWVudCwgSW5wdXRNb2RlIG1vZGUpCit7Cisg
ICAgbV9wYWdlLmZvY3VzZWRFbGVtZW50RGlkQ2hhbmdlSW5wdXRNb2RlKGVsZW1lbnQsIG1vZGUp
OworfQorCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6bWFrZUZpcnN0UmVzcG9uZGVyKCkKIHsKICAg
ICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpNYWtlRmlyc3RSZXNwb25kZXIo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggYjE0MTVkMTE4Y2I4M2MxY2NkN2E0MWRmMTk5YmJj
YTgwZmFiNzI1MS4uMzgwNDhiZTlkODM2ZTY4NzBlNzg3N2ViNjk4NDA5Njk4MTRkNjNlNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaApAQCAtMjc1LDYgKzI3NSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBl
bGVtZW50RGlkRm9jdXMoV2ViQ29yZTo6RWxlbWVudCYpIGZpbmFsOwogICAgIHZvaWQgZWxlbWVu
dERpZEJsdXIoV2ViQ29yZTo6RWxlbWVudCYpIGZpbmFsOwogICAgIHZvaWQgZWxlbWVudERpZFJl
Zm9jdXMoV2ViQ29yZTo6RWxlbWVudCYpIGZpbmFsOworICAgIHZvaWQgZm9jdXNlZEVsZW1lbnRE
aWRDaGFuZ2VJbnB1dE1vZGUoV2ViQ29yZTo6RWxlbWVudCYsIFdlYkNvcmU6OklucHV0TW9kZSkg
ZmluYWw7CiAKICAgICB2b2lkIG1ha2VGaXJzdFJlc3BvbmRlcigpIGZpbmFsOwogICAgIHZvaWQg
YXNzaXN0aXZlVGVjaG5vbG9neU1ha2VGaXJzdFJlc3BvbmRlcigpIGZpbmFsOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA3NjIwMzExM2Q2MDU0
NTc2MDk4OWViZWRhNjEyN2IyNWE4ZjYwMmZkLi4yMTYxNzRiZDU5YjcyZWE4NWU1YWRmZjQxMWQ3
ZjNmOWFhNjhkOTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcApAQCAtMTcyLDYgKzE3Miw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9IVE1MT0xpc3RF
bGVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9IVE1MUGx1Z0luRWxlbWVudC5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvSFRNTFBsdWdJbkltYWdlRWxlbWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
SFRNTFRleHRBcmVhRWxlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSFRNTFVMaXN0RWxlbWVu
dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSGlzdG9yeUNvbnRyb2xsZXIuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0hpc3RvcnlJdGVtLmg+CkBAIC01MzY2LDYgKzUzNjcsMjIgQEAgdm9pZCBXZWJQYWdl
OjplbGVtZW50RGlkQmx1cihXZWJDb3JlOjpFbGVtZW50JiBlbGVtZW50KQogICAgIH0KIH0KIAor
dm9pZCBXZWJQYWdlOjpmb2N1c2VkRWxlbWVudERpZENoYW5nZUlucHV0TW9kZShXZWJDb3JlOjpF
bGVtZW50JiBlbGVtZW50LCBXZWJDb3JlOjpJbnB1dE1vZGUgbW9kZSkKK3sKKyNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQorICAgIEFTU0VSVChtX2ZvY3VzZWRFbGVtZW50ID09ICZlbGVtZW50KTsK
KyAgICBBU1NFUlQoZWxlbWVudC5jYW5vbmljYWxJbnB1dE1vZGUoKSA9PSBtb2RlKTsKKworICAg
IGlmICghaXM8SFRNTFRleHRBcmVhRWxlbWVudD4oKm1fZm9jdXNlZEVsZW1lbnQpICYmICFpczxI
VE1MSW5wdXRFbGVtZW50PigqbV9mb2N1c2VkRWxlbWVudCkgJiYgIW1fZm9jdXNlZEVsZW1lbnQt
Pmhhc0VkaXRhYmxlU3R5bGUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgc2VuZChNZXNzYWdl
czo6V2ViUGFnZVByb3h5OjpGb2N1c2VkRWxlbWVudERpZENoYW5nZUlucHV0TW9kZShtb2RlKSk7
CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShlbGVtZW50KTsKKyAgICBVTlVTRURfUEFSQU0obW9k
ZSk7CisjZW5kaWYKK30KKwogdm9pZCBXZWJQYWdlOjpkaWRVcGRhdGVDb21wb3NpdGlvbigpCiB7
CiAgICAgc2VuZEVkaXRvclN0YXRlVXBkYXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNzE1ZTEyNDUyMGZmMDc2Yjk2MGFlZDcwZTliOTIwNzVh
NjU1MmFlZi4uZGRhOGUyNmU0OGE0MGI4NTU4MjFjNzc2ZDdlNTM4NjIzYTExY2QzMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNTg5LDYgKzU4OSw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIGVsZW1lbnREaWRGb2N1cyhXZWJDb3JlOjpFbGVtZW50Jik7
CiAgICAgdm9pZCBlbGVtZW50RGlkUmVmb2N1cyhXZWJDb3JlOjpFbGVtZW50Jik7CiAgICAgdm9p
ZCBlbGVtZW50RGlkQmx1cihXZWJDb3JlOjpFbGVtZW50Jik7CisgICAgdm9pZCBmb2N1c2VkRWxl
bWVudERpZENoYW5nZUlucHV0TW9kZShXZWJDb3JlOjpFbGVtZW50JiwgV2ViQ29yZTo6SW5wdXRN
b2RlKTsKICAgICB2b2lkIHJlc2V0Rm9jdXNlZEVsZW1lbnRGb3JGcmFtZShXZWJGcmFtZSopOwog
CiAgICAgdm9pZCBkaXNhYmxlZEFkYXB0YXRpb25zRGlkQ2hhbmdlKGNvbnN0IE9wdGlvblNldDxX
ZWJDb3JlOjpEaXNhYmxlZEFkYXB0YXRpb25zPiYpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE3MzY2MGE2ZDZkMzkzMTRj
MjdlN2NiMDBlN2IzYzk3NGVmMmNhM2UuLjJiOWU5MmQwNGYzNDA4ZThkM2ZjNjZhNDYwMTZmMTIz
YTRjMzY1YjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxOS0wMS0xOCAgUnlvc3VrZSBOaXdh
ICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBpT1M6IFVwZGF0aW5nIGlucHV0IG1vZGUg
c2hvdWxkIHVwZGF0ZSB0aGUgc29mdHdhcmUga2V5Ym9hcmQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzU2NQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNDczNzYzMzQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgV2Vuc29uIEhzaWVoLgorCisgICAg
ICAgIEFkZGVkIGEgcmVncmVzc2lvbiB0ZXN0IGZvciByZW1vdmluZyBpbnB1dG1vZGUgY29udGVu
dCBhdHRyaWJ1dGUgd2l0aCB0aGUgdmFsdWUgb2YgIm5vbmUiLgorCisgICAgICAgIFRoZSB0ZXN0
IG1ldGhvZG9sb2d5IGlzIGRpZmZlcmVudCBiZXR3ZWVuIHRlc3RSdW5uZXIgYW5kIGluLWJyb3dz
ZXIgc2luY2Ugd2UgZG9uJ3QgZm9yY2UKKyAgICAgICAgc29mdHdhcmUga2V5Ym9hcmQgd2hpbGUg
cnVubmluZyBsYXlvdXQgdGVzdHMgaW5zaWRlIHNpbXVsYXRvciB3aGljaCBjYW4gZWxpbWlhdGUK
KyAgICAgICAgdGhlIHZpc3VhbCB2aWV3cG9ydCBkaWZmZXJlbmNlIGluc2lkZSB0aGUgdGVzdCBy
dW5uZXIsIGFuZCBpbi1icm93c2VyIHRlc3Rpbmcgb2J2aW91c2x5CisgICAgICAgIGRvZXNuJ3Qg
aGF2ZSBhY2Nlc3MgdG8gdGhlIGludGVybmFsIGtleWJvYXJkIG1ldHJpY3MuCisKKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2lvcy9pbnB1dG1vZGUtbm9uZS1yZW1vdmVkLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9pb3MvaW5wdXRtb2RlLW5vbmUtcmVtb3ZlZC5odG1s
OiBBZGRlZC4KKwogMjAxOS0wMS0xNSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBWaXN1YWxWaWV3cG9ydCBBUEkgc2hvdWxkIGJlIHVwZGF0ZWQgdXBvbiBvcGVu
aW5nIG9mIGtleWJvYXJkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9p
bnB1dG1vZGUtbm9uZS1yZW1vdmVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9y
bXMvaW9zL2lucHV0bW9kZS1ub25lLXJlbW92ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgx
MDk2N2FiNWY3MWQyYTU2NWM0NGZmNGRiZmM1MTFjN2U3YzFmYTEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pbnB1dG1vZGUtbm9uZS1yZW1vdmVkLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitUaGlzIHRlc3RzIHVwZGF0aW5nIGlucHV0bW9kZSBv
ZiBhbiBpbnB1dCBlbGVtZW50IGZyb20gIm5vbmUiIHRvICJ0ZXh0Ii4gVGhlIHNvZnR3YXJlIGtl
eWJvYXJkIHNob3VsZCBiZSB1cGRhdGVkLgorVG8gbWFudWFsbHkgdGVzdCwgZm9jdXMgdGhlIGlu
cHV0IGVsZW1lbnQgYmVsb3cuIFRoZSBzb2Z0d2FyZSBrZXlib2FyZCBzaG91bGQgc2hvdyB1cCBh
ZnRlciAzIHNlY29uZHMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0VsZW1lbnQg
aGFzIGlucHV0bW9kZT1ub25lCitQQVNTIGtleWJvYXJkUmVjdC5oZWlnaHQgaXMgMAorCitpbnB1
dG1vZGUgaGFzIGJlZW4gcmVtb3ZlZAorUEFTUyBrZXlib2FyZFJlY3QuaGVpZ2h0ID4gMCBpcyB0
cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pbnB1dG1vZGUtbm9uZS1y
ZW1vdmVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pbnB1dG1vZGUtbm9uZS1y
ZW1vdmVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTQwMTk3YmM4ZmFmODA4NmY0ZjNjOTU0NzQyZTRlMmI3
ZGZlNmEwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lu
cHV0bW9kZS1ub25lLXJlbW92ZWQuaHRtbApAQCAtMCwwICsxLDY4IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9bm8iPgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPGlucHV0IGlucHV0bW9kZT0ibm9uZSI+Cis8ZGl2IGlkPSJjb3VudGRvd24iPjwv
ZGl2PgorPHNjcmlwdD4KK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCitkZXNjcmlwdGlvbignVGhp
cyB0ZXN0cyB1cGRhdGluZyBpbnB1dG1vZGUgb2YgYW4gaW5wdXQgZWxlbWVudCBmcm9tICJub25l
IiB0byAidGV4dCIuIFRoZSBzb2Z0d2FyZSBrZXlib2FyZCBzaG91bGQgYmUgdXBkYXRlZC48YnI+
JworICAgICsgJ1RvIG1hbnVhbGx5IHRlc3QsIGZvY3VzIHRoZSBpbnB1dCBlbGVtZW50IGJlbG93
LiBUaGUgc29mdHdhcmUga2V5Ym9hcmQgc2hvdWxkIHNob3cgdXAgYWZ0ZXIgMyBzZWNvbmRzJyk7
CisKK2NvbnN0IGlucHV0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaW5wdXQiKTsKK2lmICgh
d2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICBpbnB1dC5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycs
ICgpID0+IHsKKyAgICAgICAgbGV0IGNvdW50ZG93biA9IDM7CisgICAgICAgIGNvbnN0IGlkID0g
c2V0SW50ZXJ2YWwoKCkgPT4geworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2NvdW50ZG93bicpLnRleHRDb250ZW50ID0gY291bnRkb3duID8gY291bnRkb3duIDogJyc7Cisg
ICAgICAgICAgICBpZiAoIWNvdW50ZG93bikgeworICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2
YWwoaWQpOworICAgICAgICAgICAgICAgIGlucHV0LnJlbW92ZUF0dHJpYnV0ZSgnaW5wdXRtb2Rl
Jyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjb3VudGRvd24tLTsKKyAgICAgICAgfSwg
MTAwMCk7CisgICAgfSk7Cit9CisKK2FzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgZGVi
dWcoJ0VsZW1lbnQgaGFzIGlucHV0bW9kZT1ub25lJyk7CisKKyAgICBsZXQgZGlkUmVzaXplID0g
KCkgPT4geyB9OworICAgIHdpbmRvdy52aXN1YWxWaWV3cG9ydC5hZGRFdmVudExpc3RlbmVyKCdy
ZXNpemUnLCAoKSA9PiBkaWRSZXNpemUoKSk7CisKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKKyAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVGb3JtQ29udHJvbChpbnB1dCk7Cisg
ICAgICAgIHdpbmRvdy5rZXlib2FyZFJlY3QgPSBhd2FpdCBVSUhlbHBlci5pbnB1dFZpZXdCb3Vu
ZHMoKTsKKyAgICAgICAgc2hvdWxkQmUoJ2tleWJvYXJkUmVjdC5oZWlnaHQnLCAnMCcpOworICAg
IH0gZWxzZSB7CisgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7IGRpZFJl
c2l6ZSA9IHJlc29sdmU7IH0pOworICAgICAgICBzaG91bGRCZVRydWUoJ2RvY3VtZW50LmRvY3Vt
ZW50RWxlbWVudC5jbGllbnRIZWlnaHQgLSB2aXN1YWxWaWV3cG9ydC5oZWlnaHQgPCAxMDAnKTsK
KyAgICB9CisKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGlucHV0LnJlbW92
ZUF0dHJpYnV0ZSgnaW5wdXRtb2RlJyk7CisKKyAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2
ZSkgPT4geyBkaWRSZXNpemUgPSByZXNvbHZlOyB9KTsKKworICAgIGRlYnVnKCcnKTsKKyAgICBk
ZWJ1ZygnaW5wdXRtb2RlIGhhcyBiZWVuIHJlbW92ZWQnKTsKKworICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgeworICAgICAgICB3aW5kb3cua2V5Ym9hcmRSZWN0ID0gYXdhaXQgVUlIZWxwZXIu
aW5wdXRWaWV3Qm91bmRzKCk7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgna2V5Ym9hcmRSZWN0Lmhl
aWdodCA+IDAnKTsKKyAgICB9IGVsc2UKKyAgICAgICAgc2hvdWxkQmVUcnVlKCdkb2N1bWVudC5k
b2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IC0gdmlzdWFsVmlld3BvcnQuaGVpZ2h0ID4gMzAw
Jyk7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKword2luZG93Lm9ubG9hZCA9ICgpID0+IHNl
dFRpbWVvdXQocnVuVGVzdCwgMCk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>