<?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>226411</bug_id>
          
          <creation_ts>2021-05-28 18:33:05 -0700</creation_ts>
          <short_desc>Web process terminates when attempting to log in on bankid.no</short_desc>
          <delta_ts>2021-05-28 22:27:54 -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>Layout and Rendering</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="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1765048</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-28 18:33:05 -0700</bug_when>
    <thetext>rdar://77419432</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765050</commentid>
    <comment_count>1</comment_count>
      <attachid>430082</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-28 19:19:20 -0700</bug_when>
    <thetext>Created attachment 430082
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765056</commentid>
    <comment_count>2</comment_count>
      <attachid>430082</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-28 20:18:06 -0700</bug_when>
    <thetext>Comment on attachment 430082
For EWS

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

&gt; Source/WebCore/platform/graphics/displaylists/DisplayListReplayer.h:60
&gt; +    WEBCORE_EXPORT Replayer(GraphicsContext&amp;, const DisplayList&amp;, const ImageBufferHashMap* = nullptr, const NativeImageHashMap* = nullptr, const FontRenderingResourceMap* = nullptr, WebCore::ImageBuffer* maskImageBuffer = { }, Delegate* = nullptr);

nit: = nullptr would look clearer IMO.

&gt; Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:501
&gt; +    m_currentMaskImageBuffer = makeRefPtr(imageBuffer);

m_currentMaskImageBuffer = &amp;imageBuffer;

should work

&gt; Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h:87
&gt; +    void didCreateMaskImageBuffer(WebCore::ImageBuffer&amp;);

Shouldn&apos;t this be marked as final / override?

&gt; Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h:88
&gt; +    void didResetMaskImageBuffer();

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765057</commentid>
    <comment_count>3</comment_count>
      <attachid>430082</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-28 20:20:41 -0700</bug_when>
    <thetext>Comment on attachment 430082
For EWS

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

&gt;&gt; Source/WebCore/platform/graphics/displaylists/DisplayListReplayer.h:60
&gt;&gt; +    WEBCORE_EXPORT Replayer(GraphicsContext&amp;, const DisplayList&amp;, const ImageBufferHashMap* = nullptr, const NativeImageHashMap* = nullptr, const FontRenderingResourceMap* = nullptr, WebCore::ImageBuffer* maskImageBuffer = { }, Delegate* = nullptr);
&gt; 
&gt; nit: = nullptr would look clearer IMO.

Good point. Changed to `nullptr`.

&gt;&gt; Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:501
&gt;&gt; +    m_currentMaskImageBuffer = makeRefPtr(imageBuffer);
&gt; 
&gt; m_currentMaskImageBuffer = &amp;imageBuffer;
&gt; 
&gt; should work

Changed to `m_currentMaskImageBuffer = &amp;imageBuffer;`!

&gt;&gt; Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h:87
&gt;&gt; +    void didCreateMaskImageBuffer(WebCore::ImageBuffer&amp;);
&gt; 
&gt; Shouldn&apos;t this be marked as final / override?

Ah, so these are just methods on RemoteRenderingBackend; the overridden methdos are in `RemoteImageBuffer`, where they are marked as `final`.

(The RemoteImageBuffer methods are just plumbing directly into `RemoteRenderingBackend`)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765060</commentid>
    <comment_count>4</comment_count>
      <attachid>430086</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-28 20:26:13 -0700</bug_when>
    <thetext>Created attachment 430086
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765066</commentid>
    <comment_count>5</comment_count>
      <attachid>430086</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-28 22:07:48 -0700</bug_when>
    <thetext>Comment on attachment 430086
Patch

Thank you for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765067</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-28 22:27:52 -0700</bug_when>
    <thetext>Committed r278235 (238272@main): &lt;https://commits.webkit.org/238272@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 430086.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430082</attachid>
            <date>2021-05-28 19:19:20 -0700</date>
            <delta_ts>2021-05-28 20:26:11 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-226411-20210528191919.patch</filename>
            <type>text/plain</type>
            <size>16323</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTdjN2E4MjlhNzMwNDBh
N2RhYzZlZDI4MTQ5YTI5Zjk3M2YyMDU0MC4uMmY4MTZmMDQwMjRlYTc1ODZhZjg1NDZiMWYwMWEy
YzcyNDgxMjAwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDIxLTA1LTI4ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBwcm9jZXNz
IHRlcm1pbmF0ZXMgd2hlbiBhdHRlbXB0aW5nIHRvIGxvZyBpbiBvbiBiYW5raWQubm8KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjQxMQorICAgICAg
ICByZGFyOi8vNzc0MTk0MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBPbiBiYW5raWQubm8sIHdlIGhpdCBhbiBlcnJvbmVvdXMgTUVTU0FHRV9DSEVD
SyBhZnRlciBkZWNvZGluZyBhbmQgYXBwbHlpbmcgYW4gYEVuZENsaXBUb0RyYXdpbmdDb21tYW5k
c2Agd2hpbGUKKyAgICAgICAgdGhlIGRpc3BsYXkgbGlzdCByZXBsYXllcidzIGBtX21hc2tJbWFn
ZUJ1ZmZlcmAgaXMgbnVsbC4gVGhpcyBtYXkgb2NjdXIgYXMgYSByZXN1bHQgb2YgdGhlIGZvbGxv
d2luZyBzZXF1ZW5jZSBvZgorICAgICAgICBldmVudHM6CisKKyAgICAgICAgMS4gIFdlIGNhbGwg
aW50byBgY2xpcFRvRHJhd2luZ0NvbW1hbmRzYCBpbnNpZGUgYENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyREJhc2VgLCB3aGlsZSBkcmF3aW5nIHRleHQgd2l0aCBlaXRoZXIKKyAgICAgICAgICAgIGEg
Z3JhZGllbnQgb3IgcGF0dGVybiBmaWxsIHN0eWxlLgorCisgICAgICAgIDIuICBBIGBCZWdpbkNs
aXBUb0RyYXdpbmdDb21tYW5kc2AgaXRlbSBpcyBkZWNvZGVkIGFuZCBoYW5kbGVkIGluIHRoZSBH
UFUgcHJvY2Vzczsgd2UgY3JlYXRlIGFuZCBzdG9yZSBhIG5ldworICAgICAgICAgICAgbWFzayBp
bWFnZSBidWZmZXIgb24gdGhlIGRpc3BsYXkgbGlzdCByZXBsYXllciBpbiB0aGUgR1BVIHByb2Nl
c3MuCisKKyAgICAgICAgMy4gIFdoZW4gd2UgZGVjb2RlIHRoZSBgRHJhd0dseXBoc2AgaXRlbSB3
aGlsZSBkcmF3aW5nIGludG8gdGhlIG1hc2sgYnVmZmVyLCB3ZSBzZWUgdGhhdCB0aGUgcmVzb3Vy
Y2UgaWRlbnRpZmllcgorICAgICAgICAgICAgY29ycmVzcG9uZGluZyB0byB0aGUgZm9udCBpcyBt
aXNzaW5nIGZyb20gdGhlIHJlc291cmNlIGNhY2hlIGluIHRoZSBHUFUgcHJvY2VzcywgYW5kIHN1
YnNlcXVlbnRseSBnbyB0bworICAgICAgICAgICAgc2xlZXAgd2hpbGUgd2Ugd2FpdCBmb3IgdGhl
IHJlc291cmNlIHRvIGFycml2ZS4KKworICAgICAgICA0LiAgVGhlIHdlYiBmb250IGRhdGEgYXJy
aXZlcyBpbiB0aGUgR1BVIHByb2Nlc3MsIGFuZCB3ZSBhZGQgaXQgdG8gdGhlIGNhY2hlOyB0aGlz
IGFsbG93cyB1cyB0byBjb250aW51ZQorICAgICAgICAgICAgcHJvY2Vzc2luZyB0aGUgZGlzcGxh
eSBsaXN0IGZyb20gd2hlcmUgd2UgcGF1c2VkIHJlcGxheSBpbiBzdGVwICgzKS4KKworICAgICAg
ICA1LiAgRXZlbnR1YWxseSwgd2UgaGFuZGxlIHRoZSBgRW5kQ2xpcFRvRHJhd2luZ0NvbW1hbmRz
YCBpdGVtOyBob3dldmVyLCBzaW5jZSB0aGlzIGlzIG5vdyBoYXBwZW5pbmcgdW5kZXJuZWF0aAor
ICAgICAgICAgICAgYSBkaWZmZXJlbnQgR1BVIHByb2Nlc3Mgd2FrZXVwIG1lc3NhZ2UgdGhhbiBp
biAoMiksIG91ciBtYXNrIGltYWdlIGJ1ZmZlciBmcm9tICgxKSBpcyBtaXNzaW5nLiBUaGlzIG5v
dCBvbmx5CisgICAgICAgICAgICBjYXVzZXMgYWxsIG9mIHRoZSBwcmlvciBkcmF3aW5nIGNvbW1h
bmRzIHRvIHRhcmdldCB0aGUgY2FudmFzJyBpbWFnZSBidWZmZXIgcmF0aGVyIHRoYW4gdGhlIG1h
c2sgaW1hZ2UKKyAgICAgICAgICAgIGJ1ZmZlciwgYnV0IGFsc28gY2F1c2VzIHVzIHRvIGhpdCBh
IGBNRVNTQUdFX0NIRUNLYCBhbmQgdGVybWluYXRlIHRoZSB3ZWIgcHJvY2Vzcy4KKworICAgICAg
ICBUbyBmaXggdGhpcywgd2UgYWRkIHNvbWUgRGlzcGxheUxpc3Q6OlJlcGxheWVyOjpEZWxlZ2F0
ZSBtZXRob2QgaG9va3MgdG8gY2FsbCBvdXQgaW50byB0aGUgcmVwbGF5ZXIgY2xpZW50IHdoZW4K
KyAgICAgICAgYSBtYXNrIGltYWdlIGJ1ZmZlciBoYXMgYmVlbiBjcmVhdGVkIG9yIGNsZWFyZWQg
b3V0OyBpbiB0aGUgR1BVIHByb2Nlc3MsIHdlIHRoZW4gdXNlIHRoZXNlIGNsaWVudCBob29rcyB0
byBrZWVwCisgICAgICAgIHRyYWNrIG9mIHRoZSBjdXJyZW50IG1hc2sgaW1hZ2UgYnVmZmVyIHRo
YXQgaXMgdGhlIHRhcmdldCBvZiBkaXNwbGF5IGxpc3QgcmVwbGF5ZXIuCisKKyAgICAgICAgSWYg
d2UgZ28gdG8gc2xlZXAgYW5kIHRoZW4gcmVzdW1lIGRpc3BsYXkgbGlzdCBwcm9jZXNzaW5nIGxh
dGVyIGZvciBhbnkgcmVhc29uLCB3ZSB0aGVuIHBhc3MgdGhpcyBtYXNrIGltYWdlCisgICAgICAg
IGJ1ZmZlciBiYWNrIHRvIHRoZSBkaXNwbGF5IGxpc3QgcmVwbGF5ZXIgdXBvbiBjb25zdHJ1Y3Rp
b24sIGFuZCBzaW1wbHkgbGV0IHRoZSBkaXNwbGF5IGxpc3QgcmVwbGF5ZXIgcGFpbnQgaW50bwor
ICAgICAgICB0aGUgbWFrcyBpbWFnZSBidWZmZXIncyBjb250ZXh0LgorCisgICAgICAgIFRlc3Q6
IGZhc3QvY2FudmFzL2ZpbGwtZ3JhZGllbnQtdGV4dC13aXRoLXdlYi1mb250Lmh0bWwKKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlcGxheWVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZXBsYXllcjo6UmVwbGF5ZXIp
OgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlcGxheWVyOjphcHBseUl0ZW0pOgor
CisgICAgICAgIENhbGwgaW50byB0aGUgY2xpZW50IGhvb2tzIGJlbG93LgorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVwbGF5ZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZXBsYXllcjo6UmVwbGF5ZXIpOgorCisgICAg
ICAgIFdoZW4gaW5pdGlhbGl6aW5nIGEgRGlzcGxheUxpc3Q6OlJlcGxheWVyLCBtYWtlIGl0IHBv
c3NpYmxlIHRvIHRha2UgaW4gYW4gaW5pdGlhbCBtYXNrIGltYWdlIGJ1ZmZlciBhcyB3ZWxsLgor
CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6UmVwbGF5ZXI6OkRlbGVnYXRlOjpkaWRD
cmVhdGVNYXNrSW1hZ2VCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJl
cGxheWVyOjpEZWxlZ2F0ZTo6ZGlkUmVzZXRNYXNrSW1hZ2VCdWZmZXIpOgorCisgICAgICAgIEFk
ZCBuZXcgcmVwbGF5ZXIgZGVsZWdhdGUgaG9va3MgdG8gaW5mb3JtIHRoZSBjbGllbnRzIGxheWVy
IHdoZW4gdGhlIHJlcGxheWVyJ3MgbWFzayBpbWFnZSBidWZmZXIgaGFzIGJlZW4KKyAgICAgICAg
Y3JlYXRlZCBvciBjbGVhcmVkIG91dC4gU2VlIFdlYktpdCBDaGFuZ2VMb2cgZm9yIG1vcmUgaW5m
b3JtYXRpb24uCisKIDIwMjEtMDUtMjcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgW21hY09TXSBTaG93IGNvbnRleHQgbWVudSB3aGVuIGNsaWNraW5n
IG9uIGRhdGEgZGV0ZWN0aW9uIHJlc3VsdHMgaW4gaW1hZ2Ugb3ZlcmxheXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
MGQ3YzRmNzU1ODMxZTA0MWJmZWQyMmM2M2QxODJhNGVjNzJkOTZjMy4uMzFlMTY2ZmJiMjNhYWYz
YWQ1MzhhYTMzNDE4MmEzMWZkOWQzZTgxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAy
MS0wNS0yOCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAg
ICBXZWIgcHJvY2VzcyB0ZXJtaW5hdGVzIHdoZW4gYXR0ZW1wdGluZyB0byBsb2cgaW4gb24gYmFu
a2lkLm5vCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjY0MTEKKyAgICAgICAgcmRhcjovLzc3NDE5NDMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgU2VlIFdlYkNvcmUgQ2hhbmdlTG9nIGZvciBtb3JlIGRl
dGFpbHMuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVy
Lmg6CisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBuZXcgZGlzcGxheSBsaXN0IHJlcGxheWVyIGRl
bGVnYXRlIGhvb2tzIGFuZCBwbHVtYiB0aGUgY2FsbHMgb3ZlciB0byB0aGUgUmVtb3RlUmVuZGVy
aW5nQmFja2VuZC4KKworICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVy
aW5nQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6
OnN1Ym1pdCk6CisKKyAgICAgICAgS2VlcCB0cmFjayBvZiBgbV9jdXJyZW50TWFza0ltYWdlQnVm
ZmVyYCBieSBpbXBsZW1lbnRpbmcgdGhlIG1ldGhvZHMgYmVsb3csIGFuZCB1c2UgdGhpcyB3aGVu
IGluaXRpYWxpemluZyBvdXIKKyAgICAgICAgRGlzcGxheUxpc3Q6OlJlcGxheWVyIGlmIG5lZWRl
ZC4KKworICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpkaWRDcmVhdGVN
YXNrSW1hZ2VCdWZmZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5k
OjpkaWRSZXNldE1hc2tJbWFnZUJ1ZmZlcik6CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGlj
cy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmg6CisKIDIwMjEtMDUtMjggIFdlbnNvbiBIc2llaCAg
PHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gQWRqdXN0IGxvZ2ljIHdo
ZW4gZGV0ZXJtaW5pbmcgd2hldGhlciB0byBlbmFibGUgaW1hZ2UgZXh0cmFjdGlvbiBhY3Rpb25z
IGluIHRoZSBjYWxsb3V0IGJhcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVwbGF5ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVwbGF5ZXIu
Y3BwCmluZGV4IDg3ZTIzNDIxY2EyOTkzNGE3ZDc4OWRjNTMyNTdlNDVlNzA4ZDFmYTYuLjY0OGI0
NDA0MDZiZTIzNzYzMmU1ZDI2NWU1NzljZjVlMmQ1NzNkYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlcGxheWVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMv
RGlzcGxheUxpc3RSZXBsYXllci5jcHAKQEAgLTM2LDggKzM2LDkgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIG5hbWVzcGFjZSBEaXNwbGF5TGlzdCB7CiAKLVJlcGxheWVyOjpSZXBsYXllcihHcmFw
aGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IERpc3BsYXlMaXN0JiBkaXNwbGF5TGlzdCwgY29u
c3QgSW1hZ2VCdWZmZXJIYXNoTWFwKiBpbWFnZUJ1ZmZlcnMsIGNvbnN0IE5hdGl2ZUltYWdlSGFz
aE1hcCogbmF0aXZlSW1hZ2VzLCBjb25zdCBGb250UmVuZGVyaW5nUmVzb3VyY2VNYXAqIGZvbnRz
LCBEZWxlZ2F0ZSogZGVsZWdhdGUpCitSZXBsYXllcjo6UmVwbGF5ZXIoR3JhcGhpY3NDb250ZXh0
JiBjb250ZXh0LCBjb25zdCBEaXNwbGF5TGlzdCYgZGlzcGxheUxpc3QsIGNvbnN0IEltYWdlQnVm
ZmVySGFzaE1hcCogaW1hZ2VCdWZmZXJzLCBjb25zdCBOYXRpdmVJbWFnZUhhc2hNYXAqIG5hdGl2
ZUltYWdlcywgY29uc3QgRm9udFJlbmRlcmluZ1Jlc291cmNlTWFwKiBmb250cywgSW1hZ2VCdWZm
ZXIqIG1hc2tJbWFnZUJ1ZmZlciwgRGVsZWdhdGUqIGRlbGVnYXRlKQogICAgIDogbV9jb250ZXh0
KGNvbnRleHQpCisgICAgLCBtX21hc2tJbWFnZUJ1ZmZlcihtYXNrSW1hZ2VCdWZmZXIpCiAgICAg
LCBtX2Rpc3BsYXlMaXN0KGRpc3BsYXlMaXN0KQogICAgICwgbV9pbWFnZUJ1ZmZlcnMoaW1hZ2VC
dWZmZXJzID8gKmltYWdlQnVmZmVycyA6IG1fZGlzcGxheUxpc3QuaW1hZ2VCdWZmZXJzKCkpCiAg
ICAgLCBtX25hdGl2ZUltYWdlcyhuYXRpdmVJbWFnZXMgPyAqbmF0aXZlSW1hZ2VzIDogbV9kaXNw
bGF5TGlzdC5uYXRpdmVJbWFnZXMoKSkKQEAgLTE2MCw2ICsxNjEsOCBAQCBzdGQ6OnBhaXI8T3B0
aW9uYWw8U3RvcFJlcGxheVJlYXNvbj4sIE9wdGlvbmFsPFJlbmRlcmluZ1Jlc291cmNlSWRlbnRp
Zmllcj4+IFJlcAogICAgICAgICBtX21hc2tJbWFnZUJ1ZmZlciA9IEltYWdlQnVmZmVyOjpjcmVh
dGVDb21wYXRpYmxlQnVmZmVyKGNsaXBJdGVtLmRlc3RpbmF0aW9uKCkuc2l6ZSgpLCBjbGlwSXRl
bS5jb2xvclNwYWNlKCksIG1fY29udGV4dCk7CiAgICAgICAgIGlmICghbV9tYXNrSW1hZ2VCdWZm
ZXIpCiAgICAgICAgICAgICByZXR1cm4geyBTdG9wUmVwbGF5UmVhc29uOjpPdXRPZk1lbW9yeSwg
c3RkOjpudWxsb3B0IH07CisgICAgICAgIGlmIChtX2RlbGVnYXRlKQorICAgICAgICAgICAgbV9k
ZWxlZ2F0ZS0+ZGlkQ3JlYXRlTWFza0ltYWdlQnVmZmVyKCptX21hc2tJbWFnZUJ1ZmZlcik7CiAg
ICAgICAgIHJldHVybiB7IHN0ZDo6bnVsbG9wdCwgc3RkOjpudWxsb3B0IH07CiAgICAgfQogCkBA
IC0xNjksNiArMTcyLDggQEAgc3RkOjpwYWlyPE9wdGlvbmFsPFN0b3BSZXBsYXlSZWFzb24+LCBP
cHRpb25hbDxSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXI+PiBSZXAKICAgICAgICAgYXV0byYg
Y2xpcEl0ZW0gPSBpdGVtLmdldDxFbmRDbGlwVG9EcmF3aW5nQ29tbWFuZHM+KCk7CiAgICAgICAg
IG1fY29udGV4dC5jbGlwVG9JbWFnZUJ1ZmZlcigqbV9tYXNrSW1hZ2VCdWZmZXIsIGNsaXBJdGVt
LmRlc3RpbmF0aW9uKCkpOwogICAgICAgICBtX21hc2tJbWFnZUJ1ZmZlciA9IG51bGxwdHI7Cisg
ICAgICAgIGlmIChtX2RlbGVnYXRlKQorICAgICAgICAgICAgbV9kZWxlZ2F0ZS0+ZGlkUmVzZXRN
YXNrSW1hZ2VCdWZmZXIoKTsKICAgICAgICAgcmV0dXJuIHsgc3RkOjpudWxsb3B0LCBzdGQ6Om51
bGxvcHQgfTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlcGxheWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZXBsYXllci5oCmlu
ZGV4IGZhZjVlNWY1NTdhYzllYzM5MzQ3YWNjNGM2N2UyMDBhNjIwODBkYzAuLmQwYTIzNTE0NzMx
MDEyMjU5ZGViNjJkMDAzMzQwNWMxY2Q4YjAyOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlcGxheWVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlM
aXN0UmVwbGF5ZXIuaApAQCAtNTcsNyArNTcsNyBAQCBjbGFzcyBSZXBsYXllciB7CiAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUmVwbGF5ZXIpOwogcHVibGljOgogICAgIGNsYXNzIERlbGVnYXRl
OwotICAgIFdFQkNPUkVfRVhQT1JUIFJlcGxheWVyKEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IERp
c3BsYXlMaXN0JiwgY29uc3QgSW1hZ2VCdWZmZXJIYXNoTWFwKiA9IG51bGxwdHIsIGNvbnN0IE5h
dGl2ZUltYWdlSGFzaE1hcCogPSBudWxscHRyLCBjb25zdCBGb250UmVuZGVyaW5nUmVzb3VyY2VN
YXAqID0gbnVsbHB0ciwgRGVsZWdhdGUqID0gbnVsbHB0cik7CisgICAgV0VCQ09SRV9FWFBPUlQg
UmVwbGF5ZXIoR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgRGlzcGxheUxpc3QmLCBjb25zdCBJbWFn
ZUJ1ZmZlckhhc2hNYXAqID0gbnVsbHB0ciwgY29uc3QgTmF0aXZlSW1hZ2VIYXNoTWFwKiA9IG51
bGxwdHIsIGNvbnN0IEZvbnRSZW5kZXJpbmdSZXNvdXJjZU1hcCogPSBudWxscHRyLCBXZWJDb3Jl
OjpJbWFnZUJ1ZmZlciogbWFza0ltYWdlQnVmZmVyID0geyB9LCBEZWxlZ2F0ZSogPSBudWxscHRy
KTsKICAgICBXRUJDT1JFX0VYUE9SVCB+UmVwbGF5ZXIoKTsKIAogICAgIFdFQkNPUkVfRVhQT1JU
IFJlcGxheVJlc3VsdCByZXBsYXkoY29uc3QgRmxvYXRSZWN0JiBpbml0aWFsQ2xpcCA9IHsgfSwg
Ym9vbCB0cmFja1JlcGxheUxpc3QgPSBmYWxzZSk7CkBAIC02Niw2ICs2Niw4IEBAIHB1YmxpYzoK
ICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfkRlbGVnYXRlKCkgeyB9CiAgICAgICAgIHZp
cnR1YWwgYm9vbCBhcHBseShJdGVtSGFuZGxlLCBHcmFwaGljc0NvbnRleHQmKSB7IHJldHVybiBm
YWxzZTsgfQorICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlTWFza0ltYWdlQnVmZmVyKFdl
YkNvcmU6OkltYWdlQnVmZmVyJikgeyB9CisgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRSZXNldE1h
c2tJbWFnZUJ1ZmZlcigpIHsgfQogICAgIH07CiAgICAgCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyLmggYi9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIuaAppbmRl
eCBmMmFhNjAxZmQ2YmJmODAxMzgyY2QyMDA2NWExMjI5ZmJlYjVlNGZmLi5kMmY5NWJkOTZjYWMw
NDBmNjEyMmNiNDgwY2U4OGJlMWRhYzBkMWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIuaApAQCAtMTA4LDYgKzEwOCwx
NiBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmFw
cGx5TWVkaWFJdGVtKGl0ZW0sIGNvbnRleHQpOwogICAgIH0KIAorICAgIHZvaWQgZGlkQ3JlYXRl
TWFza0ltYWdlQnVmZmVyKFdlYkNvcmU6OkltYWdlQnVmZmVyJiBpbWFnZUJ1ZmZlcikgZmluYWwK
KyAgICB7CisgICAgICAgIG1fcmVtb3RlUmVuZGVyaW5nQmFja2VuZC5kaWRDcmVhdGVNYXNrSW1h
Z2VCdWZmZXIoaW1hZ2VCdWZmZXIpOworICAgIH0KKworICAgIHZvaWQgZGlkUmVzZXRNYXNrSW1h
Z2VCdWZmZXIoKSBmaW5hbAorICAgIHsKKyAgICAgICAgbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5k
LmRpZFJlc2V0TWFza0ltYWdlQnVmZmVyKCk7CisgICAgfQorCiAgICAgUmVtb3RlUmVuZGVyaW5n
QmFja2VuZCYgbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kOwogICAgIFdlYkNvcmU6OlJlbmRlcmlu
Z1Jlc291cmNlSWRlbnRpZmllciBtX3JlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcjsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVy
aW5nQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3Rl
UmVuZGVyaW5nQmFja2VuZC5jcHAKaW5kZXggN2Q1Mjc4YjhiNmU2ZDNmMGJmNWQ4MTBiOWRmMDNm
ZTYzMDA4YjY2MS4uZDQ4Yzg0MzE3YzA2MWRjYmFmYzE3NTU4ODgwNTU5NzM2Yjc3ZTE1NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmlu
Z0JhY2tlbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1v
dGVSZW5kZXJpbmdCYWNrZW5kLmNwcApAQCAtMjAxLDYgKzIwMSw3IEBAIERpc3BsYXlMaXN0OjpS
ZXBsYXlSZXN1bHQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6c3VibWl0KGNvbnN0IERpc3BsYXlM
aXN0OjpEaXNwCiAgICAgICAgICZyZW1vdGVSZXNvdXJjZUNhY2hlKCkuaW1hZ2VCdWZmZXJzKCks
CiAgICAgICAgICZyZW1vdGVSZXNvdXJjZUNhY2hlKCkubmF0aXZlSW1hZ2VzKCksCiAgICAgICAg
ICZyZW1vdGVSZXNvdXJjZUNhY2hlKCkuZm9udHMoKSwKKyAgICAgICAgbV9jdXJyZW50TWFza0lt
YWdlQnVmZmVyLmdldCgpLAogICAgICAgICByZXBsYXllckRlbGVnYXRlCiAgICAgfS5yZXBsYXko
KTsKIH0KQEAgLTQ5Myw2ICs0OTQsMjAgQEAgdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpk
aWRDcmVhdGVTaGFyZWREaXNwbGF5TGlzdEhhbmRsZShEaXNwbGF5TGlzdDo6SXRlbUIKICAgICAg
ICAgd2FrZVVwQW5kQXBwbHlEaXNwbGF5TGlzdChzdGQ6OmV4Y2hhbmdlKG1fcGVuZGluZ1dha2V1
cEluZm8sIHN0ZDo6bnVsbG9wdCktPmFyZ3VtZW50cyk7CiB9CiAKK3ZvaWQgUmVtb3RlUmVuZGVy
aW5nQmFja2VuZDo6ZGlkQ3JlYXRlTWFza0ltYWdlQnVmZmVyKEltYWdlQnVmZmVyJiBpbWFnZUJ1
ZmZlcikKK3sKKyAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKKyAgICBNRVNTQUdFX0NI
RUNLKCFtX2N1cnJlbnRNYXNrSW1hZ2VCdWZmZXIsICJDdXJyZW50IG1hc2sgaW1hZ2UgYnVmZmVy
IGlzIGFscmVhZHkgc2V0LiIpOworICAgIG1fY3VycmVudE1hc2tJbWFnZUJ1ZmZlciA9IG1ha2VS
ZWZQdHIoaW1hZ2VCdWZmZXIpOworfQorCit2b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmRp
ZFJlc2V0TWFza0ltYWdlQnVmZmVyKCkKK3sKKyAgICBBU1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigp
KTsKKyAgICBNRVNTQUdFX0NIRUNLKG1fY3VycmVudE1hc2tJbWFnZUJ1ZmZlciwgIkN1cnJlbnQg
bWFzayBpbWFnZSBidWZmZXIgd2FzIG5vdCBhbHJlYWR5IHNldC4iKTsKKyAgICBtX2N1cnJlbnRN
YXNrSW1hZ2VCdWZmZXIgPSBudWxscHRyOworfQorCiBPcHRpb25hbDxEaXNwbGF5TGlzdDo6SXRl
bUhhbmRsZT4gV0FSTl9VTlVTRURfUkVUVVJOIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmRlY29k
ZUl0ZW0oY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGxlbmd0aCwgRGlzcGxheUxpc3Q6Okl0
ZW1UeXBlIHR5cGUsIHVpbnQ4X3QqIGhhbmRsZUxvY2F0aW9uKQogewogICAgIC8qIFRoaXMgbmVl
ZHMgdG8gbWF0Y2ggKDEpIGlzSW5saW5lSXRlbSgpIGluIERpc3BsYXlMaXN0SXRlbVR5cGUuY3Bw
LCAoMikgUmVtb3RlSW1hZ2VCdWZmZXJQcm94eTo6ZW5jb2RlSXRlbSgpLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQu
aCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kLmgKaW5kZXggMTFkY2MyYzFiMjU0MTY4YzIzNTk1ZDcyMmM3NmJjYWI0ZDdlYjJiZC4uNThk
Y2Y4OGJkMDFmYWVhNGM5ODlmZTIwMWMyODA2MDU1ZWVmYWQwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZC5oCkBAIC04NCw2ICs4NCw5IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0TmV4dEl0ZW1CdWZm
ZXJUb1JlYWQoV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1CdWZmZXJJZGVudGlmaWVyLCBXZWJD
b3JlOjpSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgZGVzdGluYXRpb24pOwogCisgICAgdm9p
ZCBkaWRDcmVhdGVNYXNrSW1hZ2VCdWZmZXIoV2ViQ29yZTo6SW1hZ2VCdWZmZXImKTsKKyAgICB2
b2lkIGRpZFJlc2V0TWFza0ltYWdlQnVmZmVyKCk7CisKICAgICB2b2lkIHBvcHVsYXRlR2V0UGl4
ZWxCdWZmZXJTaGFyZWRNZW1vcnkoT3B0aW9uYWw8V2ViQ29yZTo6UGl4ZWxCdWZmZXI+JiYpOwog
CiAgICAgYm9vbCBhbGxvd3NFeGl0VW5kZXJNZW1vcnlQcmVzc3VyZSgpIGNvbnN0OwpAQCAtMTM5
LDcgKzE0Miw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZWxlYXNlUmVtb3RlUmVzb3VyY2UoV2Vi
Q29yZTo6UmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKTsKICAgICB2b2lkIGRpZENyZWF0ZVNo
YXJlZERpc3BsYXlMaXN0SGFuZGxlKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtQnVmZmVySWRl
bnRpZmllciwgY29uc3QgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmLCBXZWJDb3JlOjpSZW5kZXJp
bmdSZXNvdXJjZUlkZW50aWZpZXIgZGVzdGluYXRpb25CdWZmZXJJZGVudGlmaWVyKTsKIAotCiAg
ICAgc3RydWN0IFBlbmRpbmdXYWtldXBJbmZvcm1hdGlvbiB7CiAgICAgICAgIEdQVVByb2Nlc3NX
YWtldXBNZXNzYWdlQXJndW1lbnRzIGFyZ3VtZW50czsKICAgICAgICAgT3B0aW9uYWw8V2ViQ29y
ZTo6UmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyPiBtaXNzaW5nQ2FjaGVkUmVzb3VyY2VJZGVu
dGlmaWVyOwpAQCAtMTY2LDYgKzE2OCw3IEBAIHByaXZhdGU6CiAgICAgSVBDOjpTZW1hcGhvcmUg
bV9nZXRQaXhlbEJ1ZmZlclNlbWFwaG9yZTsKICAgICBSZWZQdHI8U2hhcmVkTWVtb3J5PiBtX2dl
dFBpeGVsQnVmZmVyU2hhcmVkTWVtb3J5OwogICAgIFNjb3BlZFJlbmRlcmluZ1Jlc291cmNlc1Jl
cXVlc3QgbV9yZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0OworICAgIFJlZlB0cjxXZWJDb3JlOjpJ
bWFnZUJ1ZmZlcj4gbV9jdXJyZW50TWFza0ltYWdlQnVmZmVyOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggM2Q2NGNkMjQ0ZTUxYjM2OTFkM2IxNTIyODRjNzdkNWYyZDg0NmFh
NS4uYWUxMWUxMDM1NmM5NTQ2NTI1MWIwMmFmMzc0NTUxNTE2NGNiZTc4OSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE3IEBACisyMDIxLTA1LTI4ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgorCisgICAgICAgIFdlYiBwcm9jZXNzIHRlcm1pbmF0ZXMgd2hlbiBhdHRlbXB0aW5nIHRv
IGxvZyBpbiBvbiBiYW5raWQubm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNjQxMQorICAgICAgICByZGFyOi8vNzc0MTk0MzIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBsYXlvdXQgdGVzdCB0
aGF0IGV4ZXJjaXNlcyB0aGUgY3Jhc2ggYnkgZmlyc3Qgc2VyaWFsaXppbmcgYSBsYXJnZSBudW1i
ZXIgb2YgZGlzcGxheSBsaXN0IGl0ZW1zLCBhbmQgdGhlbgorICAgICAgICBjYWxsaW5nIGBmaWxs
VGV4dGAgd2l0aCBhIHdlYiBmb250IGFuZCBhIGdyYWRpZW50IGBmaWxsU3R5bGVgLgorCisgICAg
ICAgICogZmFzdC9jYW52YXMvZmlsbC1ncmFkaWVudC10ZXh0LXdpdGgtd2ViLWZvbnQtZXhwZWN0
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvZmlsbC1ncmFkaWVudC10ZXh0
LXdpdGgtd2ViLWZvbnQuaHRtbDogQWRkZWQuCisKIDIwMjEtMDUtMjcgIEFtaXIgTWFyayBKciAg
PGFtaXJfbWFya0BhcHBsZS5jb20+CiAKICAgICAgICAgW01hY09TIFdrMV0gaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uLW1hcmt1cC9tcm93L2luZmVy
cmVkLW1yb3ctc3RyZXRjaHkuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL2ZpbGwtZ3JhZGllbnQtdGV4dC13aXRoLXdlYi1mb250LWV4
cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9maWxsLWdyYWRpZW50LXRleHQt
d2l0aC13ZWItZm9udC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2YzUxZGM0NjUzMzQ4MjYz
OTkxYmM5NTNkYzZmYjY2NmU3NDdkNzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy9maWxsLWdyYWRpZW50LXRleHQtd2l0aC13ZWItZm9udC1leHBlY3RlZC5odG1s
CkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8c3R5bGU+CitAZm9u
dC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIkFoZW0iOworICAgIHNyYzogdXJsKCIuLi8uLi9y
ZXNvdXJjZXMvQWhlbS50dGYiKTsKK30KKzwvc3R5bGU+Cis8Y2FudmFzIHdpZHRoPSIyMDAiIGhl
aWdodD0iMTAwIj48L2NhbnZhcz4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisKK2FkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBhc3luYyAoKSA9PiB7CisgICAgYXdhaXQgZG9jdW1lbnQuZm9udHMubG9hZCgiODBweCBBaGVt
Iik7CisKKyAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJjYW52YXMi
KTsKKyAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoIjJkIik7CisgICAgY29u
dGV4dC5maWxsU3R5bGUgPSBgcmdiKDIzMiwgMjMyLCAyMzIpYDsKKyAgICBjb250ZXh0LmNsZWFy
UmVjdCgwLCAwLCAyMDAsIDEwMCk7CisgICAgY29udGV4dC5maWxsUmVjdCgwLCAwLCAyMDAsIDEw
MCk7CisKKyAgICBjb25zdCBncmFkaWVudCA9IGNvbnRleHQuY3JlYXRlTGluZWFyR3JhZGllbnQo
MCwgMCwgMCwgMTAwKTsKKyAgICBncmFkaWVudC5hZGRDb2xvclN0b3AoMCwgImJsdWUiKTsKKyAg
ICBncmFkaWVudC5hZGRDb2xvclN0b3AoMSwgImJsdWUiKTsKKyAgICBjb250ZXh0LmZpbGxTdHls
ZSA9IGdyYWRpZW50OworICAgIGNvbnRleHQuZm9udCA9ICI4MHB4IEFoZW0iOworICAgIGNvbnRl
eHQuZmlsbFRleHQoImZvbyBiYXIiLCAwLCAwKTsKKworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9KTsKKzwvc2NyaXB0PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL2ZpbGwtZ3JhZGllbnQtdGV4dC13aXRoLXdlYi1mb250Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy9maWxsLWdyYWRpZW50LXRleHQtd2l0aC13ZWItZm9udC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmJiZThkMmY2NGI3MWVmNjY5YjI1MWE5OTc1NTRjOGNmYTUzOGFiNzEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9maWxsLWdyYWRpZW50LXRl
eHQtd2l0aC13ZWItZm9udC5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8c3R5bGU+CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIkFoZW0iOwor
ICAgIHNyYzogdXJsKCIuLi8uLi9yZXNvdXJjZXMvQWhlbS50dGYiKTsKK30KKzwvc3R5bGU+Cis8
Y2FudmFzIHdpZHRoPSIyMDAiIGhlaWdodD0iMTAwIj48L2NhbnZhcz4KKzxzY3JpcHQ+CitpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisKK2Fk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBhc3luYyAoKSA9PiB7CisgICAgYXdhaXQgZG9jdW1lbnQu
Zm9udHMubG9hZCgiODBweCBBaGVtIik7CisKKyAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yKCJjYW52YXMiKTsKKyAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENv
bnRleHQoIjJkIik7CisKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8PSAxMDAwOyArK2kpIHsKKyAg
ICAgICAgY29udGV4dC5maWxsU3R5bGUgPSBgcmdiKCR7aSAlIDI1Nn0sICR7aSAlIDI1Nn0sICR7
aSAlIDI1Nn0pYDsKKyAgICAgICAgY29udGV4dC5jbGVhclJlY3QoMCwgMCwgMjAwLCAxMDApOwor
ICAgICAgICBjb250ZXh0LmZpbGxSZWN0KDAsIDAsIDIwMCwgMTAwKTsKKyAgICB9CisKKyAgICBj
b25zdCBncmFkaWVudCA9IGNvbnRleHQuY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwgMCwgMTAw
KTsKKyAgICBncmFkaWVudC5hZGRDb2xvclN0b3AoMCwgImJsdWUiKTsKKyAgICBncmFkaWVudC5h
ZGRDb2xvclN0b3AoMSwgImJsdWUiKTsKKyAgICBjb250ZXh0LmZpbGxTdHlsZSA9IGdyYWRpZW50
OworICAgIGNvbnRleHQuZm9udCA9ICI4MHB4IEFoZW0iOworICAgIGNvbnRleHQuZmlsbFRleHQo
ImZvbyBiYXIiLCAwLCAwKTsKKworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9KTsKKzwvc2NyaXB0PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430086</attachid>
            <date>2021-05-28 20:26:13 -0700</date>
            <delta_ts>2021-05-28 22:27:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226411-20210528202612.patch</filename>
            <type>text/plain</type>
            <size>16186</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MjMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjMxMTU1NmJiMDEzOTE1
N2IxMTM3ZDMwNzdlOGRhNjFhN2Q1ZDhmMi4uNDE1ZjQ4ZDYwNTEzMDZiYzc0MGJlYTkxYjYwYzc2
ZDNjYTU5OGI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDIxLTA1LTI4ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBwcm9jZXNz
IHRlcm1pbmF0ZXMgd2hlbiBhdHRlbXB0aW5nIHRvIGxvZyBpbiBvbiBiYW5raWQubm8KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjQxMQorICAgICAg
ICByZGFyOi8vNzc0MTk0MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBPbiBiYW5raWQubm8sIHdlIGhpdCBhbiBlcnJvbmVvdXMgTUVTU0FHRV9DSEVD
SyBhZnRlciBkZWNvZGluZyBhbmQgYXBwbHlpbmcgYW4gYEVuZENsaXBUb0RyYXdpbmdDb21tYW5k
c2Agd2hpbGUKKyAgICAgICAgdGhlIGRpc3BsYXkgbGlzdCByZXBsYXllcidzIGBtX21hc2tJbWFn
ZUJ1ZmZlcmAgaXMgbnVsbC4gVGhpcyBtYXkgb2NjdXIgYXMgYSByZXN1bHQgb2YgdGhlIGZvbGxv
d2luZyBzZXF1ZW5jZSBvZgorICAgICAgICBldmVudHM6CisKKyAgICAgICAgMS4gIFdlIGNhbGwg
aW50byBgY2xpcFRvRHJhd2luZ0NvbW1hbmRzYCBpbnNpZGUgYENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyREJhc2VgLCB3aGlsZSBkcmF3aW5nIHRleHQgd2l0aCBlaXRoZXIKKyAgICAgICAgICAgIGEg
Z3JhZGllbnQgb3IgcGF0dGVybiBmaWxsIHN0eWxlLgorCisgICAgICAgIDIuICBBIGBCZWdpbkNs
aXBUb0RyYXdpbmdDb21tYW5kc2AgaXRlbSBpcyBkZWNvZGVkIGFuZCBoYW5kbGVkIGluIHRoZSBH
UFUgcHJvY2Vzczsgd2UgY3JlYXRlIGFuZCBzdG9yZSBhIG5ldworICAgICAgICAgICAgbWFzayBp
bWFnZSBidWZmZXIgb24gdGhlIGRpc3BsYXkgbGlzdCByZXBsYXllciBpbiB0aGUgR1BVIHByb2Nl
c3MuCisKKyAgICAgICAgMy4gIFdoZW4gd2UgZGVjb2RlIHRoZSBgRHJhd0dseXBoc2AgaXRlbSB3
aGlsZSBkcmF3aW5nIGludG8gdGhlIG1hc2sgYnVmZmVyLCB3ZSBzZWUgdGhhdCB0aGUgcmVzb3Vy
Y2UgaWRlbnRpZmllcgorICAgICAgICAgICAgY29ycmVzcG9uZGluZyB0byB0aGUgZm9udCBpcyBt
aXNzaW5nIGZyb20gdGhlIHJlc291cmNlIGNhY2hlIGluIHRoZSBHUFUgcHJvY2VzcywgYW5kIHN1
YnNlcXVlbnRseSBnbyB0bworICAgICAgICAgICAgc2xlZXAgd2hpbGUgd2Ugd2FpdCBmb3IgdGhl
IHJlc291cmNlIHRvIGFycml2ZS4KKworICAgICAgICA0LiAgVGhlIHdlYiBmb250IGRhdGEgYXJy
aXZlcyBpbiB0aGUgR1BVIHByb2Nlc3MsIGFuZCB3ZSBhZGQgaXQgdG8gdGhlIGNhY2hlOyB0aGlz
IGFsbG93cyB1cyB0byBjb250aW51ZQorICAgICAgICAgICAgcHJvY2Vzc2luZyB0aGUgZGlzcGxh
eSBsaXN0IGZyb20gd2hlcmUgd2UgcGF1c2VkIHJlcGxheSBpbiBzdGVwICgzKS4KKworICAgICAg
ICA1LiAgRXZlbnR1YWxseSwgd2UgaGFuZGxlIHRoZSBgRW5kQ2xpcFRvRHJhd2luZ0NvbW1hbmRz
YCBpdGVtOyBob3dldmVyLCBzaW5jZSB0aGlzIGlzIG5vdyBoYXBwZW5pbmcgdW5kZXJuZWF0aAor
ICAgICAgICAgICAgYSBkaWZmZXJlbnQgR1BVIHByb2Nlc3Mgd2FrZXVwIG1lc3NhZ2UgdGhhbiBp
biAoMiksIG91ciBtYXNrIGltYWdlIGJ1ZmZlciBmcm9tICgxKSBpcyBtaXNzaW5nLiBUaGlzIG5v
dCBvbmx5CisgICAgICAgICAgICBjYXVzZXMgYWxsIG9mIHRoZSBwcmlvciBkcmF3aW5nIGNvbW1h
bmRzIHRvIHRhcmdldCB0aGUgY2FudmFzJyBpbWFnZSBidWZmZXIgcmF0aGVyIHRoYW4gdGhlIG1h
c2sgaW1hZ2UKKyAgICAgICAgICAgIGJ1ZmZlciwgYnV0IGFsc28gY2F1c2VzIHVzIHRvIGhpdCBh
IGBNRVNTQUdFX0NIRUNLYCBhbmQgdGVybWluYXRlIHRoZSB3ZWIgcHJvY2Vzcy4KKworICAgICAg
ICBUbyBmaXggdGhpcywgd2UgYWRkIHNvbWUgRGlzcGxheUxpc3Q6OlJlcGxheWVyOjpEZWxlZ2F0
ZSBtZXRob2QgaG9va3MgdG8gY2FsbCBvdXQgaW50byB0aGUgcmVwbGF5ZXIgY2xpZW50IHdoZW4K
KyAgICAgICAgYSBtYXNrIGltYWdlIGJ1ZmZlciBoYXMgYmVlbiBjcmVhdGVkIG9yIGNsZWFyZWQg
b3V0OyBpbiB0aGUgR1BVIHByb2Nlc3MsIHdlIHRoZW4gdXNlIHRoZXNlIGNsaWVudCBob29rcyB0
byBrZWVwCisgICAgICAgIHRyYWNrIG9mIHRoZSBjdXJyZW50IG1hc2sgaW1hZ2UgYnVmZmVyIHRo
YXQgaXMgdGhlIHRhcmdldCBvZiBkaXNwbGF5IGxpc3QgcmVwbGF5ZXIuCisKKyAgICAgICAgSWYg
d2UgZ28gdG8gc2xlZXAgYW5kIHRoZW4gcmVzdW1lIGRpc3BsYXkgbGlzdCBwcm9jZXNzaW5nIGxh
dGVyIGZvciBhbnkgcmVhc29uLCB3ZSB0aGVuIHBhc3MgdGhpcyBtYXNrIGltYWdlCisgICAgICAg
IGJ1ZmZlciBiYWNrIHRvIHRoZSBkaXNwbGF5IGxpc3QgcmVwbGF5ZXIgdXBvbiBjb25zdHJ1Y3Rp
b24sIGFuZCBzaW1wbHkgbGV0IHRoZSBkaXNwbGF5IGxpc3QgcmVwbGF5ZXIgcGFpbnQgaW50bwor
ICAgICAgICB0aGUgbWFrcyBpbWFnZSBidWZmZXIncyBjb250ZXh0LgorCisgICAgICAgIFRlc3Q6
IGZhc3QvY2FudmFzL2ZpbGwtZ3JhZGllbnQtdGV4dC13aXRoLXdlYi1mb250Lmh0bWwKKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlcGxheWVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZXBsYXllcjo6UmVwbGF5ZXIp
OgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlcGxheWVyOjphcHBseUl0ZW0pOgor
CisgICAgICAgIENhbGwgaW50byB0aGUgY2xpZW50IGhvb2tzIGJlbG93LgorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVwbGF5ZXIuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZXBsYXllcjo6UmVwbGF5ZXIpOgorCisgICAg
ICAgIFdoZW4gaW5pdGlhbGl6aW5nIGEgRGlzcGxheUxpc3Q6OlJlcGxheWVyLCBtYWtlIGl0IHBv
c3NpYmxlIHRvIHRha2UgaW4gYW4gaW5pdGlhbCBtYXNrIGltYWdlIGJ1ZmZlciBhcyB3ZWxsLgor
CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6UmVwbGF5ZXI6OkRlbGVnYXRlOjpkaWRD
cmVhdGVNYXNrSW1hZ2VCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJl
cGxheWVyOjpEZWxlZ2F0ZTo6ZGlkUmVzZXRNYXNrSW1hZ2VCdWZmZXIpOgorCisgICAgICAgIEFk
ZCBuZXcgcmVwbGF5ZXIgZGVsZWdhdGUgaG9va3MgdG8gaW5mb3JtIHRoZSBjbGllbnRzIGxheWVy
IHdoZW4gdGhlIHJlcGxheWVyJ3MgbWFzayBpbWFnZSBidWZmZXIgaGFzIGJlZW4KKyAgICAgICAg
Y3JlYXRlZCBvciBjbGVhcmVkIG91dC4gU2VlIFdlYktpdCBDaGFuZ2VMb2cgZm9yIG1vcmUgaW5m
b3JtYXRpb24uCisKIDIwMjEtMDUtMjggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBSZWdyZXNzaW9uOiBSYXcgQXVkaW9CdWZmZXJTb3VyY2VOb2RlIHBsYXliYWNr
IGNhdXNlcyByZXBlYXRlZCBjcmFja2xpbmcgc291bmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYTA2MDYwMzc2N2Iy
YWM5NDVlYTg1M2M3ZjA4Nzk1YzBjYjdlMTYxYy4uZWRlMGExYTExYjg3NGU1MmI4YjI0MWRjMzFj
ZDM5OTIyZWUwYzlmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAyMS0wNS0yOCAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgcHJvY2Vz
cyB0ZXJtaW5hdGVzIHdoZW4gYXR0ZW1wdGluZyB0byBsb2cgaW4gb24gYmFua2lkLm5vCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY0MTEKKyAgICAg
ICAgcmRhcjovLzc3NDE5NDMyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgU2VlIFdlYkNvcmUgQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAg
ICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyLmg6CisKKyAgICAg
ICAgSW1wbGVtZW50IHRoZSBuZXcgZGlzcGxheSBsaXN0IHJlcGxheWVyIGRlbGVnYXRlIGhvb2tz
IGFuZCBwbHVtYiB0aGUgY2FsbHMgb3ZlciB0byB0aGUgUmVtb3RlUmVuZGVyaW5nQmFja2VuZC4K
KworICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5j
cHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OnN1Ym1pdCk6CisK
KyAgICAgICAgS2VlcCB0cmFjayBvZiBgbV9jdXJyZW50TWFza0ltYWdlQnVmZmVyYCBieSBpbXBs
ZW1lbnRpbmcgdGhlIG1ldGhvZHMgYmVsb3csIGFuZCB1c2UgdGhpcyB3aGVuIGluaXRpYWxpemlu
ZyBvdXIKKyAgICAgICAgRGlzcGxheUxpc3Q6OlJlcGxheWVyIGlmIG5lZWRlZC4KKworICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpkaWRDcmVhdGVNYXNrSW1hZ2VCdWZm
ZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpkaWRSZXNldE1h
c2tJbWFnZUJ1ZmZlcik6CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kLmg6CisKIDIwMjEtMDUtMjggIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVh
ZEBzb255LmNvbT4KIAogICAgICAgICBbQ29jb2FdIEhEUiB2YXJpYW50cyBpbiBITFMgcGxheWxp
c3RzIG5vdCBzZWxlY3RlZCB3aGVuIHNjcmVlbiBpcyBIRFIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlcGxheWVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNw
bGF5TGlzdFJlcGxheWVyLmNwcAppbmRleCA4N2UyMzQyMWNhMjk5MzRhN2Q3ODlkYzUzMjU3ZTQ1
ZTcwOGQxZmE2Li42NDhiNDQwNDA2YmUyMzc2MzJlNWQyNjVlNTc5Y2Y1ZTJkNTczZGE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3RSZXBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVwbGF5ZXIuY3BwCkBAIC0zNiw4ICszNiw5IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgRGlzcGxheUxpc3QgewogCi1SZXBsYXll
cjo6UmVwbGF5ZXIoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBEaXNwbGF5TGlzdCYg
ZGlzcGxheUxpc3QsIGNvbnN0IEltYWdlQnVmZmVySGFzaE1hcCogaW1hZ2VCdWZmZXJzLCBjb25z
dCBOYXRpdmVJbWFnZUhhc2hNYXAqIG5hdGl2ZUltYWdlcywgY29uc3QgRm9udFJlbmRlcmluZ1Jl
c291cmNlTWFwKiBmb250cywgRGVsZWdhdGUqIGRlbGVnYXRlKQorUmVwbGF5ZXI6OlJlcGxheWVy
KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgRGlzcGxheUxpc3QmIGRpc3BsYXlMaXN0
LCBjb25zdCBJbWFnZUJ1ZmZlckhhc2hNYXAqIGltYWdlQnVmZmVycywgY29uc3QgTmF0aXZlSW1h
Z2VIYXNoTWFwKiBuYXRpdmVJbWFnZXMsIGNvbnN0IEZvbnRSZW5kZXJpbmdSZXNvdXJjZU1hcCog
Zm9udHMsIEltYWdlQnVmZmVyKiBtYXNrSW1hZ2VCdWZmZXIsIERlbGVnYXRlKiBkZWxlZ2F0ZSkK
ICAgICA6IG1fY29udGV4dChjb250ZXh0KQorICAgICwgbV9tYXNrSW1hZ2VCdWZmZXIobWFza0lt
YWdlQnVmZmVyKQogICAgICwgbV9kaXNwbGF5TGlzdChkaXNwbGF5TGlzdCkKICAgICAsIG1faW1h
Z2VCdWZmZXJzKGltYWdlQnVmZmVycyA/ICppbWFnZUJ1ZmZlcnMgOiBtX2Rpc3BsYXlMaXN0Lmlt
YWdlQnVmZmVycygpKQogICAgICwgbV9uYXRpdmVJbWFnZXMobmF0aXZlSW1hZ2VzID8gKm5hdGl2
ZUltYWdlcyA6IG1fZGlzcGxheUxpc3QubmF0aXZlSW1hZ2VzKCkpCkBAIC0xNjAsNiArMTYxLDgg
QEAgc3RkOjpwYWlyPE9wdGlvbmFsPFN0b3BSZXBsYXlSZWFzb24+LCBPcHRpb25hbDxSZW5kZXJp
bmdSZXNvdXJjZUlkZW50aWZpZXI+PiBSZXAKICAgICAgICAgbV9tYXNrSW1hZ2VCdWZmZXIgPSBJ
bWFnZUJ1ZmZlcjo6Y3JlYXRlQ29tcGF0aWJsZUJ1ZmZlcihjbGlwSXRlbS5kZXN0aW5hdGlvbigp
LnNpemUoKSwgY2xpcEl0ZW0uY29sb3JTcGFjZSgpLCBtX2NvbnRleHQpOwogICAgICAgICBpZiAo
IW1fbWFza0ltYWdlQnVmZmVyKQogICAgICAgICAgICAgcmV0dXJuIHsgU3RvcFJlcGxheVJlYXNv
bjo6T3V0T2ZNZW1vcnksIHN0ZDo6bnVsbG9wdCB9OworICAgICAgICBpZiAobV9kZWxlZ2F0ZSkK
KyAgICAgICAgICAgIG1fZGVsZWdhdGUtPmRpZENyZWF0ZU1hc2tJbWFnZUJ1ZmZlcigqbV9tYXNr
SW1hZ2VCdWZmZXIpOwogICAgICAgICByZXR1cm4geyBzdGQ6Om51bGxvcHQsIHN0ZDo6bnVsbG9w
dCB9OwogICAgIH0KIApAQCAtMTY5LDYgKzE3Miw4IEBAIHN0ZDo6cGFpcjxPcHRpb25hbDxTdG9w
UmVwbGF5UmVhc29uPiwgT3B0aW9uYWw8UmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyPj4gUmVw
CiAgICAgICAgIGF1dG8mIGNsaXBJdGVtID0gaXRlbS5nZXQ8RW5kQ2xpcFRvRHJhd2luZ0NvbW1h
bmRzPigpOwogICAgICAgICBtX2NvbnRleHQuY2xpcFRvSW1hZ2VCdWZmZXIoKm1fbWFza0ltYWdl
QnVmZmVyLCBjbGlwSXRlbS5kZXN0aW5hdGlvbigpKTsKICAgICAgICAgbV9tYXNrSW1hZ2VCdWZm
ZXIgPSBudWxscHRyOworICAgICAgICBpZiAobV9kZWxlZ2F0ZSkKKyAgICAgICAgICAgIG1fZGVs
ZWdhdGUtPmRpZFJlc2V0TWFza0ltYWdlQnVmZmVyKCk7CiAgICAgICAgIHJldHVybiB7IHN0ZDo6
bnVsbG9wdCwgc3RkOjpudWxsb3B0IH07CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZXBsYXllci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlM
aXN0UmVwbGF5ZXIuaAppbmRleCBmYWY1ZTVmNTU3YWM5ZWMzOTM0N2FjYzRjNjdlMjAwYTYyMDgw
ZGMwLi42YjhiZjQ0NjI4MmM0ZWE2ZWY1NGY0OWIyZTJmYmFkNzliZmQxYWQwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxp
c3RSZXBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3Bs
YXlsaXN0cy9EaXNwbGF5TGlzdFJlcGxheWVyLmgKQEAgLTU3LDcgKzU3LDcgQEAgY2xhc3MgUmVw
bGF5ZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlcGxheWVyKTsKIHB1YmxpYzoKICAg
ICBjbGFzcyBEZWxlZ2F0ZTsKLSAgICBXRUJDT1JFX0VYUE9SVCBSZXBsYXllcihHcmFwaGljc0Nv
bnRleHQmLCBjb25zdCBEaXNwbGF5TGlzdCYsIGNvbnN0IEltYWdlQnVmZmVySGFzaE1hcCogPSBu
dWxscHRyLCBjb25zdCBOYXRpdmVJbWFnZUhhc2hNYXAqID0gbnVsbHB0ciwgY29uc3QgRm9udFJl
bmRlcmluZ1Jlc291cmNlTWFwKiA9IG51bGxwdHIsIERlbGVnYXRlKiA9IG51bGxwdHIpOworICAg
IFdFQkNPUkVfRVhQT1JUIFJlcGxheWVyKEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IERpc3BsYXlM
aXN0JiwgY29uc3QgSW1hZ2VCdWZmZXJIYXNoTWFwKiA9IG51bGxwdHIsIGNvbnN0IE5hdGl2ZUlt
YWdlSGFzaE1hcCogPSBudWxscHRyLCBjb25zdCBGb250UmVuZGVyaW5nUmVzb3VyY2VNYXAqID0g
bnVsbHB0ciwgV2ViQ29yZTo6SW1hZ2VCdWZmZXIqIG1hc2tJbWFnZUJ1ZmZlciA9IG51bGxwdHIs
IERlbGVnYXRlKiA9IG51bGxwdHIpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5SZXBsYXllcigpOwog
CiAgICAgV0VCQ09SRV9FWFBPUlQgUmVwbGF5UmVzdWx0IHJlcGxheShjb25zdCBGbG9hdFJlY3Qm
IGluaXRpYWxDbGlwID0geyB9LCBib29sIHRyYWNrUmVwbGF5TGlzdCA9IGZhbHNlKTsKQEAgLTY2
LDYgKzY2LDggQEAgcHVibGljOgogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+RGVsZWdh
dGUoKSB7IH0KICAgICAgICAgdmlydHVhbCBib29sIGFwcGx5KEl0ZW1IYW5kbGUsIEdyYXBoaWNz
Q29udGV4dCYpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVh
dGVNYXNrSW1hZ2VCdWZmZXIoV2ViQ29yZTo6SW1hZ2VCdWZmZXImKSB7IH0KKyAgICAgICAgdmly
dHVhbCB2b2lkIGRpZFJlc2V0TWFza0ltYWdlQnVmZmVyKCkgeyB9CiAgICAgfTsKICAgICAKIHBy
aXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVt
b3RlSW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1v
dGVJbWFnZUJ1ZmZlci5oCmluZGV4IGYyYWE2MDFmZDZiYmY4MDEzODJjZDIwMDY1YTEyMjlmYmVi
NWU0ZmYuLmQyZjk1YmQ5NmNhYzA0MGY2MTIyY2I0ODBjZTg4YmUxZGFjMGQxZDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZl
ci5oCkBAIC0xMDgsNiArMTA4LDE2IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBtX3JlbW90
ZVJlbmRlcmluZ0JhY2tlbmQuYXBwbHlNZWRpYUl0ZW0oaXRlbSwgY29udGV4dCk7CiAgICAgfQog
CisgICAgdm9pZCBkaWRDcmVhdGVNYXNrSW1hZ2VCdWZmZXIoV2ViQ29yZTo6SW1hZ2VCdWZmZXIm
IGltYWdlQnVmZmVyKSBmaW5hbAorICAgIHsKKyAgICAgICAgbV9yZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kLmRpZENyZWF0ZU1hc2tJbWFnZUJ1ZmZlcihpbWFnZUJ1ZmZlcik7CisgICAgfQorCisgICAg
dm9pZCBkaWRSZXNldE1hc2tJbWFnZUJ1ZmZlcigpIGZpbmFsCisgICAgeworICAgICAgICBtX3Jl
bW90ZVJlbmRlcmluZ0JhY2tlbmQuZGlkUmVzZXRNYXNrSW1hZ2VCdWZmZXIoKTsKKyAgICB9CisK
ICAgICBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kJiBtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmQ7CiAg
ICAgV2ViQ29yZTo6UmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyIG1fcmVuZGVyaW5nUmVzb3Vy
Y2VJZGVudGlmaWVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9n
cmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcAppbmRleCA3ZDUyNzhiOGI2
ZTZkM2YwYmY1ZDgxMGI5ZGYwM2ZlNjMwMDhiNjYxLi5iOTkyYzc2ZGY0YjdkM2I4NjUzMGNiOGFi
ZjNjYmE5ZTdhNjU2ODhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3Jh
cGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwCkBAIC0yMDEsNiArMjAx
LDcgQEAgRGlzcGxheUxpc3Q6OlJlcGxheVJlc3VsdCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpz
dWJtaXQoY29uc3QgRGlzcGxheUxpc3Q6OkRpc3AKICAgICAgICAgJnJlbW90ZVJlc291cmNlQ2Fj
aGUoKS5pbWFnZUJ1ZmZlcnMoKSwKICAgICAgICAgJnJlbW90ZVJlc291cmNlQ2FjaGUoKS5uYXRp
dmVJbWFnZXMoKSwKICAgICAgICAgJnJlbW90ZVJlc291cmNlQ2FjaGUoKS5mb250cygpLAorICAg
ICAgICBtX2N1cnJlbnRNYXNrSW1hZ2VCdWZmZXIuZ2V0KCksCiAgICAgICAgIHJlcGxheWVyRGVs
ZWdhdGUKICAgICB9LnJlcGxheSgpOwogfQpAQCAtNDkzLDYgKzQ5NCwyMCBAQCB2b2lkIFJlbW90
ZVJlbmRlcmluZ0JhY2tlbmQ6OmRpZENyZWF0ZVNoYXJlZERpc3BsYXlMaXN0SGFuZGxlKERpc3Bs
YXlMaXN0OjpJdGVtQgogICAgICAgICB3YWtlVXBBbmRBcHBseURpc3BsYXlMaXN0KHN0ZDo6ZXhj
aGFuZ2UobV9wZW5kaW5nV2FrZXVwSW5mbywgc3RkOjpudWxsb3B0KS0+YXJndW1lbnRzKTsKIH0K
IAordm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpkaWRDcmVhdGVNYXNrSW1hZ2VCdWZmZXIo
SW1hZ2VCdWZmZXImIGltYWdlQnVmZmVyKQoreworICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWlu
KCkpOworICAgIE1FU1NBR0VfQ0hFQ0soIW1fY3VycmVudE1hc2tJbWFnZUJ1ZmZlciwgIkN1cnJl
bnQgbWFzayBpbWFnZSBidWZmZXIgaXMgYWxyZWFkeSBzZXQuIik7CisgICAgbV9jdXJyZW50TWFz
a0ltYWdlQnVmZmVyID0gJmltYWdlQnVmZmVyOworfQorCit2b2lkIFJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmQ6OmRpZFJlc2V0TWFza0ltYWdlQnVmZmVyKCkKK3sKKyAgICBBU1NFUlQoIVJ1bkxvb3A6
OmlzTWFpbigpKTsKKyAgICBNRVNTQUdFX0NIRUNLKG1fY3VycmVudE1hc2tJbWFnZUJ1ZmZlciwg
IkN1cnJlbnQgbWFzayBpbWFnZSBidWZmZXIgd2FzIG5vdCBhbHJlYWR5IHNldC4iKTsKKyAgICBt
X2N1cnJlbnRNYXNrSW1hZ2VCdWZmZXIgPSBudWxscHRyOworfQorCiBPcHRpb25hbDxEaXNwbGF5
TGlzdDo6SXRlbUhhbmRsZT4gV0FSTl9VTlVTRURfUkVUVVJOIFJlbW90ZVJlbmRlcmluZ0JhY2tl
bmQ6OmRlY29kZUl0ZW0oY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IGxlbmd0aCwgRGlzcGxh
eUxpc3Q6Okl0ZW1UeXBlIHR5cGUsIHVpbnQ4X3QqIGhhbmRsZUxvY2F0aW9uKQogewogICAgIC8q
IFRoaXMgbmVlZHMgdG8gbWF0Y2ggKDEpIGlzSW5saW5lSXRlbSgpIGluIERpc3BsYXlMaXN0SXRl
bVR5cGUuY3BwLCAoMikgUmVtb3RlSW1hZ2VCdWZmZXJQcm94eTo6ZW5jb2RlSXRlbSgpLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmlu
Z0JhY2tlbmQuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kLmgKaW5kZXggMTFkY2MyYzFiMjU0MTY4YzIzNTk1ZDcyMmM3NmJjYWI0ZDdl
YjJiZC4uNThkY2Y4OGJkMDFmYWVhNGM5ODlmZTIwMWMyODA2MDU1ZWVmYWQwNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tl
bmQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVy
aW5nQmFja2VuZC5oCkBAIC04NCw2ICs4NCw5IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0TmV4
dEl0ZW1CdWZmZXJUb1JlYWQoV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1CdWZmZXJJZGVudGlm
aWVyLCBXZWJDb3JlOjpSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgZGVzdGluYXRpb24pOwog
CisgICAgdm9pZCBkaWRDcmVhdGVNYXNrSW1hZ2VCdWZmZXIoV2ViQ29yZTo6SW1hZ2VCdWZmZXIm
KTsKKyAgICB2b2lkIGRpZFJlc2V0TWFza0ltYWdlQnVmZmVyKCk7CisKICAgICB2b2lkIHBvcHVs
YXRlR2V0UGl4ZWxCdWZmZXJTaGFyZWRNZW1vcnkoT3B0aW9uYWw8V2ViQ29yZTo6UGl4ZWxCdWZm
ZXI+JiYpOwogCiAgICAgYm9vbCBhbGxvd3NFeGl0VW5kZXJNZW1vcnlQcmVzc3VyZSgpIGNvbnN0
OwpAQCAtMTM5LDcgKzE0Miw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZWxlYXNlUmVtb3RlUmVz
b3VyY2UoV2ViQ29yZTo6UmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKTsKICAgICB2b2lkIGRp
ZENyZWF0ZVNoYXJlZERpc3BsYXlMaXN0SGFuZGxlKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVt
QnVmZmVySWRlbnRpZmllciwgY29uc3QgU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUmLCBXZWJDb3Jl
OjpSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgZGVzdGluYXRpb25CdWZmZXJJZGVudGlmaWVy
KTsKIAotCiAgICAgc3RydWN0IFBlbmRpbmdXYWtldXBJbmZvcm1hdGlvbiB7CiAgICAgICAgIEdQ
VVByb2Nlc3NXYWtldXBNZXNzYWdlQXJndW1lbnRzIGFyZ3VtZW50czsKICAgICAgICAgT3B0aW9u
YWw8V2ViQ29yZTo6UmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyPiBtaXNzaW5nQ2FjaGVkUmVz
b3VyY2VJZGVudGlmaWVyOwpAQCAtMTY2LDYgKzE2OCw3IEBAIHByaXZhdGU6CiAgICAgSVBDOjpT
ZW1hcGhvcmUgbV9nZXRQaXhlbEJ1ZmZlclNlbWFwaG9yZTsKICAgICBSZWZQdHI8U2hhcmVkTWVt
b3J5PiBtX2dldFBpeGVsQnVmZmVyU2hhcmVkTWVtb3J5OwogICAgIFNjb3BlZFJlbmRlcmluZ1Jl
c291cmNlc1JlcXVlc3QgbV9yZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0OworICAgIFJlZlB0cjxX
ZWJDb3JlOjpJbWFnZUJ1ZmZlcj4gbV9jdXJyZW50TWFza0ltYWdlQnVmZmVyOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzZiMTdiNTg4ZTYwYjdhNGNjNjMxZjQ3ZTJiOTQ4
ZWM4OTI1OTYzYi4uYmZlYjg3ZWY2YTE4YzMyN2FkN2VjNzI3ZmVjMzY0MGZmYTg0Yzk2MSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTA1LTI4ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBwcm9jZXNzIHRlcm1pbmF0ZXMgd2hlbiBhdHRl
bXB0aW5nIHRvIGxvZyBpbiBvbiBiYW5raWQubm8KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjQxMQorICAgICAgICByZGFyOi8vNzc0MTk0MzIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBsYXlv
dXQgdGVzdCB0aGF0IGV4ZXJjaXNlcyB0aGUgY3Jhc2ggYnkgZmlyc3Qgc2VyaWFsaXppbmcgYSBs
YXJnZSBudW1iZXIgb2YgZGlzcGxheSBsaXN0IGl0ZW1zLCBhbmQgdGhlbgorICAgICAgICBjYWxs
aW5nIGBmaWxsVGV4dGAgd2l0aCBhIHdlYiBmb250IGFuZCBhIGdyYWRpZW50IGBmaWxsU3R5bGVg
LgorCisgICAgICAgICogZmFzdC9jYW52YXMvZmlsbC1ncmFkaWVudC10ZXh0LXdpdGgtd2ViLWZv
bnQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvZmlsbC1ncmFk
aWVudC10ZXh0LXdpdGgtd2ViLWZvbnQuaHRtbDogQWRkZWQuCisKIDIwMjEtMDUtMjggIEplYW4t
WXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgTWVkaWFTZXNzaW9u
LmNhbGxBY3Rpb25IYW5kbGVyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9m
aWxsLWdyYWRpZW50LXRleHQtd2l0aC13ZWItZm9udC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvZmlsbC1ncmFkaWVudC10ZXh0LXdpdGgtd2ViLWZvbnQtZXhwZWN0ZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44NmM1MWRjNDY1MzM0ODI2Mzk5MWJjOTUzZGM2ZmI2NjZlNzQ3ZDc3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvZmlsbC1ncmFkaWVu
dC10ZXh0LXdpdGgtd2ViLWZvbnQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDM0IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPHN0eWxlPgorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1p
bHk6ICJBaGVtIjsKKyAgICBzcmM6IHVybCgiLi4vLi4vcmVzb3VyY2VzL0FoZW0udHRmIik7Cit9
Cis8L3N0eWxlPgorPGNhbnZhcyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjEwMCI+PC9jYW52YXM+Cis8
c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIud2FpdFVudGls
RG9uZSgpOworCithZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgYXN5bmMgKCkgPT4geworICAgIGF3
YWl0IGRvY3VtZW50LmZvbnRzLmxvYWQoIjgwcHggQWhlbSIpOworCisgICAgY29uc3QgY2FudmFz
ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiY2FudmFzIik7CisgICAgY29uc3QgY29udGV4dCA9
IGNhbnZhcy5nZXRDb250ZXh0KCIyZCIpOworICAgIGNvbnRleHQuZmlsbFN0eWxlID0gYHJnYigy
MzIsIDIzMiwgMjMyKWA7CisgICAgY29udGV4dC5jbGVhclJlY3QoMCwgMCwgMjAwLCAxMDApOwor
ICAgIGNvbnRleHQuZmlsbFJlY3QoMCwgMCwgMjAwLCAxMDApOworCisgICAgY29uc3QgZ3JhZGll
bnQgPSBjb250ZXh0LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAsIDAsIDEwMCk7CisgICAgZ3Jh
ZGllbnQuYWRkQ29sb3JTdG9wKDAsICJibHVlIik7CisgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9w
KDEsICJibHVlIik7CisgICAgY29udGV4dC5maWxsU3R5bGUgPSBncmFkaWVudDsKKyAgICBjb250
ZXh0LmZvbnQgPSAiODBweCBBaGVtIjsKKyAgICBjb250ZXh0LmZpbGxUZXh0KCJmb28gYmFyIiwg
MCwgMCk7CisKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOworfSk7Cis8L3NjcmlwdD4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9maWxsLWdyYWRp
ZW50LXRleHQtd2l0aC13ZWItZm9udC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvZmls
bC1ncmFkaWVudC10ZXh0LXdpdGgtd2ViLWZvbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYmU4ZDJmNjRi
NzFlZjY2OWIyNTFhOTk3NTU0YzhjZmE1MzhhYjcxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9jYW52YXMvZmlsbC1ncmFkaWVudC10ZXh0LXdpdGgtd2ViLWZvbnQuaHRtbApA
QCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPHN0eWxlPgorQGZvbnQt
ZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJBaGVtIjsKKyAgICBzcmM6IHVybCgiLi4vLi4vcmVz
b3VyY2VzL0FoZW0udHRmIik7Cit9Cis8L3N0eWxlPgorPGNhbnZhcyB3aWR0aD0iMjAwIiBoZWln
aHQ9IjEwMCI+PC9jYW52YXM+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworCithZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
YXN5bmMgKCkgPT4geworICAgIGF3YWl0IGRvY3VtZW50LmZvbnRzLmxvYWQoIjgwcHggQWhlbSIp
OworCisgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiY2FudmFzIik7
CisgICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCIyZCIpOworCisgICAgZm9y
IChsZXQgaSA9IDA7IGkgPD0gMTAwMDsgKytpKSB7CisgICAgICAgIGNvbnRleHQuZmlsbFN0eWxl
ID0gYHJnYigke2kgJSAyNTZ9LCAke2kgJSAyNTZ9LCAke2kgJSAyNTZ9KWA7CisgICAgICAgIGNv
bnRleHQuY2xlYXJSZWN0KDAsIDAsIDIwMCwgMTAwKTsKKyAgICAgICAgY29udGV4dC5maWxsUmVj
dCgwLCAwLCAyMDAsIDEwMCk7CisgICAgfQorCisgICAgY29uc3QgZ3JhZGllbnQgPSBjb250ZXh0
LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAsIDAsIDEwMCk7CisgICAgZ3JhZGllbnQuYWRkQ29s
b3JTdG9wKDAsICJibHVlIik7CisgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDEsICJibHVlIik7
CisgICAgY29udGV4dC5maWxsU3R5bGUgPSBncmFkaWVudDsKKyAgICBjb250ZXh0LmZvbnQgPSAi
ODBweCBBaGVtIjsKKyAgICBjb250ZXh0LmZpbGxUZXh0KCJmb28gYmFyIiwgMCwgMCk7CisKKyAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OworfSk7Cis8L3NjcmlwdD4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>