<?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>191754</bug_id>
          
          <creation_ts>2018-11-16 10:21:17 -0800</creation_ts>
          <short_desc>Add DidFirstMeaningfulPaint milestone.</short_desc>
          <delta_ts>2018-11-16 16:45:11 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>saam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1479479</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2018-11-16 10:21:17 -0800</bug_when>
    <thetext>This milestone fires when we finished the very first paint triggered by the first visually non-empty layout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479550</commentid>
    <comment_count>1</comment_count>
      <attachid>355096</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-11-16 12:14:03 -0800</bug_when>
    <thetext>Created attachment 355096
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479556</commentid>
    <comment_count>2</comment_count>
      <attachid>355096</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-11-16 12:25:55 -0800</bug_when>
    <thetext>Comment on attachment 355096
Patch

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

LGTM but I&apos;ll let someone with more domain knowledge give the r+

&gt; Source/WebCore/ChangeLog:8
&gt; +        This milestone fires soone after the paint, triggered by the visually non-empty layout is finished.

soone =&gt; soon

&gt; Tools/TestWebKitAPI/Tests/WebKit/FirstMeaningfulPaintMilestone_Bundle.cpp:2
&gt; + * Copyright (C) 2012 Apple Inc. All rights reserved.

2018

&gt; Tools/TestWebKitAPI/Tests/WebKit/FirstMeaningfulPaintMilestone_Bundle.cpp:52
&gt; +static InjectedBundleTest::Register&lt;FirstMeaningfulPaintMilestoneTest&gt; registrar(&quot;FirstMeaningfulPaintMilestoneTest&quot;);

Maybe I&apos;m missing something but what is this testing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479558</commentid>
    <comment_count>3</comment_count>
      <attachid>355096</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-11-16 12:30:35 -0800</bug_when>
    <thetext>Comment on attachment 355096
Patch

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

&gt; Source/WebKit/UIProcess/API/C/WKPageRenderingProgressEvents.h:42
&gt; +    WKPageRenderingProgressEventFirstMeaningfulPaint = 1 &lt;&lt; 8

Hm...why legacy C API instead of modern ObjC API? (see _WKRenderingProgressEvents.h)

&gt; Tools/TestWebKitAPI/CMakeLists.txt:234
&gt; +        ${TESTWEBKITAPI_DIR}/Tests/WebKit/FirstMeaningfulPaintMileston_Bundle.cpp

FirstMeaningfulPaintMileston_Bundle =&gt; FirstMeaningfulPaintMilestone_Bundle</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479575</commentid>
    <comment_count>4</comment_count>
      <attachid>355096</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-11-16 12:59:15 -0800</bug_when>
    <thetext>Comment on attachment 355096
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:8
&gt;&gt; +        This milestone fires soone after the paint, triggered by the visually non-empty layout is finished.
&gt; 
&gt; soone =&gt; soon

&quot;triggered by the visually non-empty layout is finished&quot; doesn&apos;t parse.

&quot;triggered by the first visually non-empty layout&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479582</commentid>
    <comment_count>5</comment_count>
      <attachid>355107</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-11-16 13:20:11 -0800</bug_when>
    <thetext>Created attachment 355107
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479657</commentid>
    <comment_count>6</comment_count>
      <attachid>355107</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-16 14:54:29 -0800</bug_when>
    <thetext>Comment on attachment 355107
Patch

Clearing flags on attachment: 355107

Committed r238306: &lt;https://trac.webkit.org/changeset/238306&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479658</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-16 14:54:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479661</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-16 14:55:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/46140654&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479666</commentid>
    <comment_count>9</comment_count>
      <attachid>355107</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-11-16 15:00:41 -0800</bug_when>
    <thetext>Comment on attachment 355107
Patch

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

&gt; Source/WebKit/UIProcess/API/C/WKPageRenderingProgressEvents.h:42
&gt; +    WKPageRenderingProgressEventFirstMeaningfulPaint = 1 &lt;&lt; 8

Should this be &lt;&lt; 6?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479745</commentid>
    <comment_count>10</comment_count>
      <attachid>355107</attachid>
    <who name="alan">zalan</who>
    <bug_when>2018-11-16 16:45:11 -0800</bug_when>
    <thetext>Comment on attachment 355107
Patch

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

&gt;&gt; Source/WebKit/UIProcess/API/C/WKPageRenderingProgressEvents.h:42
&gt;&gt; +    WKPageRenderingProgressEventFirstMeaningfulPaint = 1 &lt;&lt; 8
&gt; 
&gt; Should this be &lt;&lt; 6?

No, it needs to value match the other defines.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355096</attachid>
            <date>2018-11-16 12:14:03 -0800</date>
            <delta_ts>2018-11-16 13:20:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191754-20181116121403.patch</filename>
            <type>text/plain</type>
            <size>25436</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4Mjg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzZiYzM2NjE3OTlmYjBl
MDQ5NTM0NzljMWE5NzkyZDgzNDU5NGQ0ZC4uN2M0NGM0MDViN2NjZGEzZTE1NTRhNzQ0YzQzZTg0
YjEzMzQxMmRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTExLTE2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIERpZEZpcnN0TWVhbmlu
Z2Z1bFBhaW50IG1pbGVzdG9uZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5MTc1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoaXMgbWlsZXN0b25lIGZpcmVzIHNvb25lIGFmdGVyIHRoZSBwYWludCwg
dHJpZ2dlcmVkIGJ5IHRoZSB2aXN1YWxseSBub24tZW1wdHkgbGF5b3V0IGlzIGZpbmlzaGVkLgor
CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVW
aWV3OjpmaXJlTGF5b3V0UmVsYXRlZE1pbGVzdG9uZXNJZk5lZWRlZCk6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVZpZXc6OmZpcmVQYWludFJlbGF0ZWRNaWxlc3RvbmVzSWZOZWVkZWQpOgorICAg
ICAgICAqIHBhZ2UvTGF5b3V0TWlsZXN0b25lLmg6CisKIDIwMTgtMTEtMTYgIFNpaHVpIExpdSAg
PHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcmluZyBibG9icyBpbiBJREIgb24g
aU9TOiAiRXJyb3IgcHJlcGFyaW5nIGJsb2IvZmlsZSIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjI3OGI2ZGJiZGM2
OWRmYzI2ZmE0MTEyNDI4NDgyN2ZkMzQ5MjllMC4uODdjYzNkMDg1YzdlZGEyOGMyODU3YjJjMGNk
N2M0MTk0YzJhMjk0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxOC0xMS0xNiAgWmFs
YW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBEaWRGaXJzdE1lYW5p
bmdmdWxQYWludCBtaWxlc3RvbmUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTE3NTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFNoYXJlZC9BUEkvYy9XS1BhZ2VMb2FkVHlwZXMuaDoKKyAgICAgICAg
KiBTaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0Lmg6CisgICAgICAgIChXZWJLaXQ6OnRvV0tM
YXlvdXRNaWxlc3RvbmVzKToKKyAgICAgICAgKFdlYktpdDo6dG9MYXlvdXRNaWxlc3RvbmVzKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHMu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlUmVuZGVyaW5nUHJvZ3Jlc3NFdmVu
dHNJbnRlcm5hbC5oOgorICAgICAgICAocGFnZVJlbmRlcmluZ1Byb2dyZXNzRXZlbnRzKToKKwog
MjAxOC0xMS0xNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQgdHlwbyBmaXggaW4gY29tbWVudCBhZGRlZCBpbiByMjM4MjUwLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCmluZGV4IGVjMDllMDBkMTRlNmFjOWFmYmFhOWE1MTRjZjNjMTY5YWRk
MGZkM2IuLjM5MTEwYTZmNDdkNWZjZjQ1YTJjYzE2NzI4ZDgxN2RiNTY5OGE3NDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTUxNzMsNiArNTE3Myw4IEBAIHZvaWQgRnJhbWVWaWV3
OjpmaXJlTGF5b3V0UmVsYXRlZE1pbGVzdG9uZXNJZk5lZWRlZCgpCiAgICAgLy8gSWYgdGhlIGxh
eW91dCB3YXMgZG9uZSB3aXRoIHBlbmRpbmcgc2hlZXRzLCB3ZSBhcmUgbm90IGluIGZhY3Qgdmlz
dWFsbHkgbm9uLWVtcHR5IHlldC4KICAgICBpZiAobV9pc1Zpc3VhbGx5Tm9uRW1wdHkgJiYgbV9m
aXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRDYWxsYmFja1BlbmRpbmcpIHsKICAgICAgICAgbV9m
aXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRDYWxsYmFja1BlbmRpbmcgPSBmYWxzZTsKKyAgICAg
ICAgYWRkUGFpbnRQZW5kaW5nTWlsZXN0b25lcyhEaWRGaXJzdE1lYW5pbmdmdWxQYWludCk7CisK
ICAgICAgICAgaWYgKHJlcXVlc3RlZE1pbGVzdG9uZXMgJiBEaWRGaXJzdFZpc3VhbGx5Tm9uRW1w
dHlMYXlvdXQpCiAgICAgICAgICAgICBtaWxlc3RvbmVzQWNoaWV2ZWQuYWRkKERpZEZpcnN0Vmlz
dWFsbHlOb25FbXB0eUxheW91dCk7CiAgICAgfQpAQCAtNTIwNiw2ICs1MjA4LDExIEBAIHZvaWQg
RnJhbWVWaWV3OjpmaXJlUGFpbnRSZWxhdGVkTWlsZXN0b25lc0lmTmVlZGVkKCkKICAgICAgICAg
ICAgIG1pbGVzdG9uZXNBY2hpZXZlZC5hZGQoRGlkRmlyc3RQYWludEFmdGVyU3VwcHJlc3NlZElu
Y3JlbWVudGFsUmVuZGVyaW5nKTsKICAgICB9CiAKKyAgICBpZiAobV9taWxlc3RvbmVzUGVuZGlu
Z1BhaW50ICYgRGlkRmlyc3RNZWFuaW5nZnVsUGFpbnQpIHsKKyAgICAgICAgaWYgKHBhZ2UtPnJl
cXVlc3RlZExheW91dE1pbGVzdG9uZXMoKSAmIERpZEZpcnN0TWVhbmluZ2Z1bFBhaW50KQorICAg
ICAgICAgICAgbWlsZXN0b25lc0FjaGlldmVkLmFkZChEaWRGaXJzdE1lYW5pbmdmdWxQYWludCk7
CisgICAgfQorCiAgICAgbV9taWxlc3RvbmVzUGVuZGluZ1BhaW50ID0geyB9OwogCiAgICAgaWYg
KG1pbGVzdG9uZXNBY2hpZXZlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTGF5
b3V0TWlsZXN0b25lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xheW91dE1pbGVzdG9uZS5oCmlu
ZGV4IGZhMGVlY2FmN2FmNTM4OTNiMzQxZjUwNDBmMzI5MDk4MDVkNTBmMDIuLjhhN2M2N2UzMTYw
NjEzMDUzOGUzMDlmMWEzZWVkMmNiYmM3MWQzZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTGF5b3V0TWlsZXN0b25lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9MYXlvdXRN
aWxlc3RvbmUuaApAQCAtNDEsNiArNDEsNyBAQCBlbnVtIExheW91dE1pbGVzdG9uZSB7CiAgICAg
RGlkRmlyc3RQYWludEFmdGVyU3VwcHJlc3NlZEluY3JlbWVudGFsUmVuZGVyaW5nICAgID0gMSA8
PCA1LAogICAgIFJlYWNoZWRTZXNzaW9uUmVzdG9yYXRpb25SZW5kZXJUcmVlU2l6ZVRocmVzaG9s
ZCAgICA9IDEgPDwgNiwgLy8gRklYTUU6IG9ubHkgaW1wbGVtZW50ZWQgYnkgV0syIGN1cnJlbnRs
eS4KICAgICBEaWRSZW5kZXJTaWduaWZpY2FudEFtb3VudE9mVGV4dCAgICAgICAgICAgICAgICAg
ICAgPSAxIDw8IDcsCisgICAgRGlkRmlyc3RNZWFuaW5nZnVsUGFpbnQgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgID0gMSA8PCA4LAogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvV0tQYWdlTG9hZFR5cGVzLmggYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9XS1BhZ2VMb2FkVHlwZXMuaAppbmRleCA4NjBhNjQ2
NDRmNDc1ZTJjNGNjMmQyNTk5NWI0NjU4MzQzYTg3MWZmLi5jZWY2ZTY4NmMzMDA1ZWI0ZDU4YmYw
MzMxMjVlMzVhMjY1YjhlZmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkv
Yy9XS1BhZ2VMb2FkVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9XS1Bh
Z2VMb2FkVHlwZXMuaApAQCAtNTcsNyArNTcsOCBAQCBlbnVtIHsKICAgICBrV0tSZXNlcnZlZCA9
IDEgPDwgMywgLy8gTm90ZSB0aGF0IHRoZSBmb3VydGggbWVtYmVyIG9mIHRoaXMgZW51bSBpcyBh
Y3R1YWxseSBwcml2YXRlIGFuZCBkZWZpbmVkIGluIFdLUGFnZUxvYWRUeXBlc1ByaXZhdGUuaAog
ICAgIGtXS0RpZEZpcnN0TGF5b3V0QWZ0ZXJTdXBwcmVzc2VkSW5jcmVtZW50YWxSZW5kZXJpbmcg
PSAxIDw8IDQsCiAgICAga1dLRGlkRmlyc3RQYWludEFmdGVyU3VwcHJlc3NlZEluY3JlbWVudGFs
UmVuZGVyaW5nID0gMSA8PCA1LAotICAgIGtXS0RpZFJlbmRlclNpZ25pZmljYW50QW1vdW50T2ZU
ZXh0ID0gMSA8PCA3CisgICAga1dLRGlkUmVuZGVyU2lnbmlmaWNhbnRBbW91bnRPZlRleHQgPSAx
IDw8IDcsCisgICAga1dLRGlkRmlyc3RNZWFuaW5nZnVsUGFpbnQgPSAxIDw8IDgKIH07CiB0eXBl
ZGVmIHVpbnQzMl90IFdLTGF5b3V0TWlsZXN0b25lczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaAppbmRleCA2Nzc3OTFkODU4YmRiNDU0NWJjNGY4YmY1
OGNlZmIyYzZhNTVkZWZkLi4wNmY5NzQ0MDk5YmYwN2EyNzlhYmMxYjI3NThhOTBkMWFkMzUxYmUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3Qu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaApAQCAt
ODc3LDcgKzg3Nyw5IEBAIGlubGluZSBXS0xheW91dE1pbGVzdG9uZXMgdG9XS0xheW91dE1pbGVz
dG9uZXMoT3B0aW9uU2V0PFdlYkNvcmU6OkxheW91dE1pbGVzdG9uCiAgICAgICAgIHdrTWlsZXN0
b25lcyB8PSBrV0tEaWRGaXJzdFBhaW50QWZ0ZXJTdXBwcmVzc2VkSW5jcmVtZW50YWxSZW5kZXJp
bmc7CiAgICAgaWYgKG1pbGVzdG9uZXMgJiBXZWJDb3JlOjpEaWRSZW5kZXJTaWduaWZpY2FudEFt
b3VudE9mVGV4dCkKICAgICAgICAgd2tNaWxlc3RvbmVzIHw9IGtXS0RpZFJlbmRlclNpZ25pZmlj
YW50QW1vdW50T2ZUZXh0OwotICAgIAorICAgIGlmIChtaWxlc3RvbmVzICYgV2ViQ29yZTo6RGlk
Rmlyc3RNZWFuaW5nZnVsUGFpbnQpCisgICAgICAgIHdrTWlsZXN0b25lcyB8PSBrV0tEaWRGaXJz
dE1lYW5pbmdmdWxQYWludDsKKwogICAgIHJldHVybiB3a01pbGVzdG9uZXM7CiB9CiAKQEAgLTg5
OSw2ICs5MDEsOCBAQCBpbmxpbmUgT3B0aW9uU2V0PFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZT4g
dG9MYXlvdXRNaWxlc3RvbmVzKFdLTGF5b3V0TWlsZXN0b25lcwogICAgICAgICBtaWxlc3RvbmVz
LmFkZChXZWJDb3JlOjpEaWRGaXJzdFBhaW50QWZ0ZXJTdXBwcmVzc2VkSW5jcmVtZW50YWxSZW5k
ZXJpbmcpOwogICAgIGlmICh3a01pbGVzdG9uZXMgJiBrV0tEaWRSZW5kZXJTaWduaWZpY2FudEFt
b3VudE9mVGV4dCkKICAgICAgICAgbWlsZXN0b25lcy5hZGQoV2ViQ29yZTo6RGlkUmVuZGVyU2ln
bmlmaWNhbnRBbW91bnRPZlRleHQpOworICAgIGlmICh3a01pbGVzdG9uZXMgJiBrV0tEaWRGaXJz
dE1lYW5pbmdmdWxQYWludCkKKyAgICAgICAgbWlsZXN0b25lcy5hZGQoV2ViQ29yZTo6RGlkRmly
c3RNZWFuaW5nZnVsUGFpbnQpOwogICAgIAogICAgIHJldHVybiBtaWxlc3RvbmVzOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUmVuZGVyaW5nUHJv
Z3Jlc3NFdmVudHMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVJlbmRl
cmluZ1Byb2dyZXNzRXZlbnRzLmgKaW5kZXggM2RlMmRlNWMxNTMxY2ViNDE1NDRhMzcyZWM3OGJm
MTdkNDFkNDFjNy4uYmE5YjMzYjE4NTg0MTIyNzU2MjliY2I0MzU5NDVkN2ZlOWRjNGU4YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUmVuZGVyaW5nUHJv
Z3Jlc3NFdmVudHMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VS
ZW5kZXJpbmdQcm9ncmVzc0V2ZW50cy5oCkBAIC0zOSw2ICszOSw3IEBAIGVudW0gewogICAgIFdL
UGFnZVJlbmRlcmluZ1Byb2dyZXNzRXZlbnRSZWFjaGVkU2Vzc2lvblJlc3RvcmF0aW9uUmVuZGVy
VHJlZVNpemVUaHJlc2hvbGQgPSAxIDw8IDMsCiAgICAgV0tQYWdlUmVuZGVyaW5nUHJvZ3Jlc3NF
dmVudEZpcnN0TGF5b3V0QWZ0ZXJTdXBwcmVzc2VkSW5jcmVtZW50YWxSZW5kZXJpbmcgPSAxIDw8
IDQsCiAgICAgV0tQYWdlUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudEZpcnN0UGFpbnRBZnRlclN1cHBy
ZXNzZWRJbmNyZW1lbnRhbFJlbmRlcmluZyA9IDEgPDwgNSwKKyAgICBXS1BhZ2VSZW5kZXJpbmdQ
cm9ncmVzc0V2ZW50Rmlyc3RNZWFuaW5nZnVsUGFpbnQgPSAxIDw8IDgKIH07CiB0eXBlZGVmIHVp
bnQzMl90IFdLUGFnZVJlbmRlcmluZ1Byb2dyZXNzRXZlbnRzOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VSZW5kZXJpbmdQcm9ncmVzc0V2ZW50c0lu
dGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VSZW5kZXJpbmdQ
cm9ncmVzc0V2ZW50c0ludGVybmFsLmgKaW5kZXggMjY0ZGRjZDcwNGQwNGJiN2Q2ZTMxN2ZhZmM1
ZWQwMjgyYzMwMGQ1MC4uY2Y3NzExNWRlMThlNDVkN2NlZjNhMGU5NjlkMDhhZjc2YTQzMGQxNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUmVuZGVyaW5n
UHJvZ3Jlc3NFdmVudHNJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZVJlbmRlcmluZ1Byb2dyZXNzRXZlbnRzSW50ZXJuYWwuaApAQCAtNDksNSArNDks
OCBAQCBzdGF0aWMgaW5saW5lIFdLUGFnZVJlbmRlcmluZ1Byb2dyZXNzRXZlbnRzIHBhZ2VSZW5k
ZXJpbmdQcm9ncmVzc0V2ZW50cyhPcHRpb25TZQogICAgIGlmIChtaWxlc3RvbmVzICYgV2ViQ29y
ZTo6RGlkRmlyc3RQYWludEFmdGVyU3VwcHJlc3NlZEluY3JlbWVudGFsUmVuZGVyaW5nKQogICAg
ICAgICBldmVudHMgfD0gV0tQYWdlUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudEZpcnN0UGFpbnRBZnRl
clN1cHByZXNzZWRJbmNyZW1lbnRhbFJlbmRlcmluZzsKIAorICAgIGlmIChtaWxlc3RvbmVzICYg
V2ViQ29yZTo6RGlkRmlyc3RNZWFuaW5nZnVsUGFpbnQpCisgICAgICAgIGV2ZW50cyB8PSBXS1Bh
Z2VSZW5kZXJpbmdQcm9ncmVzc0V2ZW50Rmlyc3RNZWFuaW5nZnVsUGFpbnQ7CisKICAgICByZXR1
cm4gZXZlbnRzOwogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IGI2OTI1Yjg0ZjlhZGYzOGNmYjdlMDE3NzJlMjliMWEyOGRkMjM0ODAuLjY4Yzdm
OGQxOWM1ZGMzMWE1Nzc3M2I0MjhkZTVjYzUxYzE5Zjg2MzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxOC0xMS0x
NiAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBEaWRGaXJz
dE1lYW5pbmdmdWxQYWludCBtaWxlc3RvbmUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE3NTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQ6CisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRmlyc3RNZWFuaW5nZnVs
UGFpbnRNaWxlc3RvbmUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmRpZFJl
YWNoTWlsZXN0b25lKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnNldFBhZ2VMb2FkZXJDbGll
bnQpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQvRmlyc3RNZWFuaW5nZnVsUGFpbnRNaWxlc3RvbmVfQnVuZGxlLmNw
cDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUmVuZGVy
aW5nUHJvZ3Jlc3NFdmVudHMuaC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OkZpcnN0TWVhbmlu
Z2Z1bFBhaW50TWlsZXN0b25lVGVzdDo6Rmlyc3RNZWFuaW5nZnVsUGFpbnRNaWxlc3RvbmVUZXN0
KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OkZpcnN0TWVhbmluZ2Z1bFBhaW50TWlsZXN0b25l
VGVzdDo6ZGlkQ3JlYXRlUGFnZSk6CisKIDIwMTgtMTEtMTYgIFphbGFuIEJ1anRhcyAgPHphbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIEFkZCBzdXBwb3J0IGZvciBvdXQtb2Yt
ZmxvdyBwb3NpdGlvbmVkIGJveGVzCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0NN
YWtlTGlzdHMudHh0IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dAppbmRleCA0
OWYwYThjNGNjNDU4MzMyMzAzZmVhMWIyODI5MzYwMGU1YWZmNmQ0Li42MzUwNWMzNjg5ZWIwMTIw
MWI2MjEyODBiYWZjM2QzYWUyMWM4YzFmIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L0NNYWtlTGlzdHMudHh0CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQK
QEAgLTQ1LDYgKzQ1LDcgQEAgaWYgKEVOQUJMRV9XRUJLSVQpCiAgICAgICAgICR7VEVTVFdFQktJ
VEFQSV9ESVJ9L1Rlc3RzL1dlYktpdC9FdmFsdWF0ZUphdmFTY3JpcHQuY3BwCiAgICAgICAgICR7
VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYktpdC9GYWlsZWRMb2FkLmNwcAogICAgICAgICAk
e1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJLaXQvRmluZC5jcHAKKyAgICAgICAgJHtURVNU
V0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViS2l0L0ZpcnN0TWVhbmluZ2Z1bFBhaW50TWlsZXN0b25l
LmNwcAogICAgICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJLaXQvRm9yY2VSZXBh
aW50LmNwcAogICAgICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJLaXQvRnJhbWVN
SU1FVHlwZUhUTUwuY3BwCiAgICAgICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYktp
dC9GcmFtZU1JTUVUeXBlUE5HLmNwcApAQCAtMjMwLDYgKzIzMSw3IEBAIGlmIChFTkFCTEVfV0VC
S0lUKQogICAgICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJLaXQvTmV3Rmlyc3RW
aXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9ySW1hZ2VzX0J1bmRsZS5jcHAKICAgICAgICAgJHtURVNU
V0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViS2l0L05ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91
dEZyYW1lc19CdW5kbGUuY3BwCiAgICAgICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dl
YktpdC9OZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRfQnVuZGxlLmNwcAorICAgICAgICAk
e1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJLaXQvRmlyc3RNZWFuaW5nZnVsUGFpbnRNaWxl
c3Rvbl9CdW5kbGUuY3BwCiAgICAgICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYktp
dC9QYXJlbnRGcmFtZV9CdW5kbGUuY3BwCiAgICAgICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rl
c3RzL1dlYktpdC9Qcm92aXNpb25hbFVSTEFmdGVyV2lsbFNlbmRSZXF1ZXN0Q2FsbGJhY2tfQnVu
ZGxlLmNwcAogICAgICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJLaXQvUmVzcG9u
c2l2ZW5lc3NUaW1lckRvZXNudEZpcmVFYXJseV9CdW5kbGUuY3BwCmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDE2OTBkY2E0ZjM2Nzc5NzFhODcyZmE3MDAyYzViNjQ0NjEyZTUxNWMuLmRlM2Q4
NTViODk2ZDFiM2FlOWRjZjcxOTM2ZDZmY2QyY2MxZjk3MzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC00OCw2ICs0OCw4IEBACiAJCTBGNTY1MUY3MUZDRTREREMwMDMxMEZCQyAvKiBOb0hp
c3RvcnlJdGVtU2Nyb2xsVG9GcmFnbWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTY1MUY2MUZDRTREREIwMDMxMEZCQyAvKiBOb0hpc3RvcnlJ
dGVtU2Nyb2xsVG9GcmFnbWVudC5tbSAqLzsgfTsKIAkJMEY1NjUxRjkxRkNFNTEzNTAwMzEwRkJD
IC8qIHNjcm9sbC10by1hbmNob3IuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjU2NTFGODFGQ0U1MEU4MDAzMTBGQkMgLyogc2Nyb2xs
LXRvLWFuY2hvci5odG1sICovOyB9OwogCQkxMTVFQjM0MzFFRTBCQTAzMDAzQzJDMEEgLyogVmll
d3BvcnRTaXplRm9yVmlld3BvcnRVbml0cy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDExNUVCMzQyMUVFMEI3MjAwMDNDMkMwQSAvKiBWaWV3cG9ydFNp
emVGb3JWaWV3cG9ydFVuaXRzLm1tICovOyB9OworCQkxMTcxQjI0RjIxOUY0OUNEMDBDQjg5N0Qg
LyogRmlyc3RNZWFuaW5nZnVsUGFpbnRNaWxlc3RvbmVfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDExQjdGRDIxMjE5RjQ2REQwMDY5QjI3
RiAvKiBGaXJzdE1lYW5pbmdmdWxQYWludE1pbGVzdG9uZV9CdW5kbGUuY3BwICovOyB9OworCQkx
MUI3RkQyODIxOUY0NzExMDA2OUIyN0YgLyogRmlyc3RNZWFuaW5nZnVsUGFpbnRNaWxlc3RvbmUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTFCN0ZE
MjIyMTlGNDZERDAwNjlCMjdGIC8qIEZpcnN0TWVhbmluZ2Z1bFBhaW50TWlsZXN0b25lLmNwcCAq
LzsgfTsKIAkJMTQzRERFOTgyMEM5MDE4QjAwN0Y3NkZBIC8qIFNlY3VyaXR5LmZyYW1ld29yayBp
biBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDU3NEY1NUQw
MjA0RDQ3MUMwMDI5NDhDNiAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi87IH07CiAJCTFBMDJDODcw
MTI1RDRDRkQwMEUzRjRCRCAvKiBmaW5kLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEwMkM4NEIxMjVENEE1RTAwRTNGNEJEIC8qIGZp
bmQuaHRtbCAqLzsgfTsKIAkJMUEzNTI0QUUxRDYzQTRGQjAwMzE3MjlCIC8qIFNjb3BlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMzUyNEFDMUQ2
M0E0RkIwMDMxNzI5QiAvKiBTY29wZS5jcHAgKi87IH07CkBAIC00OTUsNyArNDk3LDYgQEAKIAkJ
N0NDRTdFREIxQTQxMUE5MjAwNDQ3QzRDIC8qIENTU1BhcnNlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDU0NTFFOTE5RTQxRjlEMDAxNjkzNkYg
LyogQ1NTUGFyc2VyLmNwcCAqLzsgfTsKIAkJN0NDRTdFREMxQTQxMUE5MjAwNDQ3QzRDIC8qIENh
bGN1bGF0aW9uVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTNBNzIwRTUxOEYxQTBFODAwQTg0OEUxIC8qIENhbGN1bGF0aW9uVmFsdWUuY3Bw
ICovOyB9OwogCQk3Q0NFN0VERDFBNDExQTkyMDA0NDdDNEMgLyogVGltZVJhbmdlcy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDREMyQzcxNDE3OTcw
ODlEMDBFNjI3RkIgLyogVGltZVJhbmdlcy5jcHAgKi87IH07Ci0JCUNENTFDMkE5M0U3OEI1QzFG
RjMzN0MwOCAvKiBBYm9ydGFibGVUYXNrUXVldWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUJGNTEwNjMyQTE5QjhBQzdFQzQwRTE3IC8qIEFib3J0
YWJsZVRhc2tRdWV1ZS5jcHAgKi87IH07CiAJCTdDQ0U3RURFMUE0MTFBOTIwMDQ0N0M0QyAvKiBV
UkwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQw
QTFEMzgxNEEwMTAzQTAwOEE2NkYyIC8qIFVSTC5jcHAgKi87IH07CiAJCTdDQ0U3RURGMUE0MTFB
OTIwMDQ0N0M0QyAvKiBMYXlvdXRVbml0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDE0NDY0MDEyMTY3QTgzMDUwMDBCRDIxOCAvKiBMYXlvdXRVbml0
LmNwcCAqLzsgfTsKIAkJN0NDRTdFRTAxQTQxMUE5QTAwNDQ3QzRDIC8qIEVkaXRvckNvbW1hbmRz
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNBQTQ4
NTcxNEEwNDRENDAwODhGQUM0IC8qIEVkaXRvckNvbW1hbmRzLm1tICovOyB9OwpAQCAtMTI4Miw2
ICsxMjgzLDggQEAKIAkJMEZFQUUzNjcxQjdEMTlDQjAwQ0UxN0YyIC8qIENvbmRpdGlvbi5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb25kaXRpb24uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRkZDNDVBNDFCNzNFQkUyMDA4NUJENjIgLyogTG9j
ay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMb2NrLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTE1RUIzNDIxRUUwQjcyMDAwM0MyQzBBIC8qIFZp
ZXdwb3J0U2l6ZUZvclZpZXdwb3J0VW5pdHMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBWaWV3cG9ydFNpemVGb3JWaWV3cG9ydFVuaXRzLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkxMUI3RkQyMTIxOUY0NkREMDA2OUIyN0YgLyogRmlyc3RNZWFu
aW5nZnVsUGFpbnRNaWxlc3RvbmVfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEZpcnN0TWVhbmluZ2Z1bFBhaW50TWlsZXN0b25lX0J1bmRsZS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTExQjdGRDIyMjE5RjQ2REQwMDY5QjI3RiAvKiBG
aXJzdE1lYW5pbmdmdWxQYWludE1pbGVzdG9uZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBGaXJzdE1lYW5pbmdmdWxQYWludE1pbGVzdG9uZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0NDY0MDEyMTY3QTgzMDUwMDBCRDIxOCAvKiBMYXlvdXRV
bml0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExheW91dFVuaXQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNEYzQjExMjE1RTQ1RUFCMDAyMTAw
NjkgLyogU2F0dXJhdGVkQXJpdGhtZXRpY09wZXJhdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU2F0dXJhdGVkQXJpdGhtZXRpY09wZXJhdGlvbnMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTAyQzg0QjEyNUQ0QTVFMDBFM0Y0QkQgLyog
ZmluZC5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gZmluZC5odG1sOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg2OSw2ICsxODcyLDcgQEAKIAkJQTVFMjAyNzAxNUIy
MTgwNjAwQzEzRTE0IC8qIFdpbmRvd2xlc3NXZWJWaWV3V2l0aE1lZGlhLmh0bWwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0Lmh0bWw7IHBhdGggPSBXaW5kb3dsZXNzV2ViVmlld1dpdGhNZWRpYS5odG1sOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNUUyMDI3MjE1QjIxODE5MDBDMTNFMTQgLyogV2lu
ZG93bGVzc1dlYlZpZXdXaXRoTWVkaWEubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBXaW5kb3dsZXNzV2ViVmlld1dpdGhNZWRpYS5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTdBOTY2REExNDBFQ0NDODAwNUVGOUI0IC8qIENoZWNrZWRBcml0aG1l
dGljT3BlcmF0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBD
aGVja2VkQXJpdGhtZXRpY09wZXJhdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBQkY1MTA2MzJBMTlCOEFDN0VDNDBFMTcgLyogQWJvcnRhYmxlVGFza1F1ZXVlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEFib3J0YWJsZVRhc2tRdWV1ZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUFENTdBQzFEMURBNzQ2MzgwMEZGMUJERSAvKiBtYW55LWlmcmFtZXMu
aHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJtYW55LWlmcmFtZXMuaHRtbCI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFENTdBQzFFMURBNzQ2NEQwMEZGMUJERSAvKiBE
aWRSZW1vdmVGcmFtZUZyb21IaWVhcmNoeUluUGFnZUNhY2hlX0J1bmRsZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEaWRSZW1vdmVGcmFtZUZyb21IaWVhcmNoeUlu
UGFnZUNhY2hlX0J1bmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFENTdB
QzFGMURBNzQ2NEQwMEZGMUJERSAvKiBEaWRSZW1vdmVGcmFtZUZyb21IaWVhcmNoeUluUGFnZUNh
Y2hlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpZFJlbW92ZUZy
YW1lRnJvbUhpZWFyY2h5SW5QYWdlQ2FjaGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjAyMCw3ICsyMDI0LDYgQEAKIAkJQ0RCRkNDNDIxQTlGRjQ0ODAwQTdCNjkxIC8qIEZ1
bGxzY3JlZW5ab29tSW5pdGlhbEZyYW1lLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGgg
PSBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZS5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDREJGQ0M0MzFBOUZGNDQ4MDBBN0I2OTEgLyogRnVsbHNjcmVlblpvb21Jbml0aWFs
RnJhbWUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBGdWxsc2Ny
ZWVuWm9vbUluaXRpYWxGcmFtZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RD
MkM3MTQxNzk3MDg5RDAwRTYyN0ZCIC8qIFRpbWVSYW5nZXMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gVGltZVJhbmdlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUFCRjUxMDYz
MkExOUI4QUM3RUM0MEUxNyAvKiBBYm9ydGFibGVUYXNrUXVldWUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gQWJvcnRhYmxlVGFza1F1ZXVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0RDOEU0ODUxQkM1QjE5NDAwNTk0RkVDIC8qIEF1ZGlvU2Vzc2lvbkNhdGVnb3J5SU9TLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQXVkaW9TZXNzaW9uQ2F0
ZWdvcnlJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEQzhFNDg5MUJDNUM5
NjIwMDU5NEZFQyAvKiB2aWRlby13aXRoLWF1ZGlvLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7
IHBhdGggPSAidmlkZW8td2l0aC1hdWRpby5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQ0RDOEU0OEExQkM1Qzk2MjAwNTk0RkVDIC8qIHZpZGVvLXdpdGgtYXVkaW8ubXA0ICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0
aCA9ICJ2aWRlby13aXRoLWF1ZGlvLm1wNCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0yOTc2LDYgKzI5NzksOCBAQAogCQkJCUJDQzhCOTVBMTI2MTFGNDcwMERFNDZBNCAvKiBGYWls
ZWRMb2FkLmNwcCAqLywKIAkJCQkxQTAyQzg0RTEyNUQ0QTg0MDBFM0Y0QkQgLyogRmluZC5jcHAg
Ki8sCiAJCQkJQzUxQUZCOTgxNjlGNDlGRjAwOUNDRjY2IC8qIEZpbmRNYXRjaGVzLm1tICovLAor
CQkJCTExQjdGRDIyMjE5RjQ2REQwMDY5QjI3RiAvKiBGaXJzdE1lYW5pbmdmdWxQYWludE1pbGVz
dG9uZS5jcHAgKi8sCisJCQkJMTFCN0ZEMjEyMTlGNDZERDAwNjlCMjdGIC8qIEZpcnN0TWVhbmlu
Z2Z1bFBhaW50TWlsZXN0b25lX0J1bmRsZS5jcHAgKi8sCiAJCQkJMUFEQkVGQUQxMzBDNjg5QzAw
RDYxRDE5IC8qIEZvcmNlUmVwYWludC5jcHAgKi8sCiAJCQkJMzc2QzhDMDQxRDZFMTk3QzAwN0Qy
QkI5IC8qIEZyYW1lSGFuZGxlLmNwcCAqLywKIAkJCQlCQ0JEMzcwRjEyNUFBMkVCMDBEMkMyOUYg
LyogRnJhbWVNSU1FVHlwZUhUTUwuY3BwICovLApAQCAtMzg3Niw2ICszODgxLDcgQEAKIAkJCQk3
Q0NFN0VGMzFBNDExQUU2MDA0NDdDNEMgLyogRmluZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3
QzgzRTBCQjFEMEE2NTAwMDBGRUJDRjMgLyogRmluZEluUGFnZS5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTdDQ0U3RUY0MUE0MTFBRTYwMDQ0N0M0QyAvKiBGaW5kTWF0Y2hlcy5tbSBpbiBTb3VyY2Vz
ICovLAorCQkJCTExQjdGRDI4MjE5RjQ3MTEwMDY5QjI3RiAvKiBGaXJzdE1lYW5pbmdmdWxQYWlu
dE1pbGVzdG9uZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTA0MDFEMEE2M0UzMDBGRUJD
RjMgLyogRmlyc3RSZXNwb25kZXJTY3JvbGxpbmdQb3NpdGlvbi5tbSBpbiBTb3VyY2VzICovLAog
CQkJCUM5RTZERDM1MUVBOTdEMDgwMERENzhBQSAvKiBGaXJzdFJlc3BvbmRlclN1cHByZXNzaW9u
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M4M0UwQkMxRDBBNjUwNzAwRkVCQ0YzIC8qIEZpeGVk
TGF5b3V0U2l6ZS5tbSBpbiBTb3VyY2VzICovLApAQCAtMzk4Myw3ICszOTg5LDYgQEAKIAkJCQk1
Q0FFNDYzODIwMTkzQjZBMDA1MTYxMEYgLyogTmV0d29ya1Byb2Nlc3NDcmFzaE5vblBlcnNpc3Rl
bnREYXRhU3RvcmUubW0gaW4gU291cmNlcyAqLywKIAkJCQk5QjE5Q0RBMDFGMDZERkUzMDAwNTQ4
REQgLyogTmV0d29ya1Byb2Nlc3NDcmFzaFdpdGhQZW5kaW5nQ29ubmVjdGlvbi5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTdDQ0U3RjAyMUE0MTFBRTYwMDQ0N0M0QyAvKiBOZXdGaXJzdFZpc3VhbGx5
Tm9uRW1wdHlMYXlvdXQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMzc4MTc0NkQyMTk4QUU0NjAw
MDYyQzI2IC8qIFdLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJN0NDRTdGMDMxQTQxMUFFNjAwNDQ3QzRDIC8qIE5ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxh
eW91dEZhaWxzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RjA0MUE0MTFBRTYwMDQ0N0M0
QyAvKiBOZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JJbWFnZXMuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJN0NDRTdGMDUxQTQxMUFFNjAwNDQ3QzRDIC8qIE5ld0ZpcnN0VmlzdWFsbHlO
b25FbXB0eUxheW91dEZyYW1lcy5jcHAgaW4gU291cmNlcyAqLywKQEAgLTQxNjUsNiArNDE3MCw3
IEBACiAJCQkJMkQwMDA2NUYxQzFGNTg5QTAwODhFNkE3IC8qIFdLUERGVmlld1Jlc2l6ZUNyYXNo
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQyMUZFNTkxRjA0NjQyOTAwQjU4RTdEIC8qIFdLUERG
Vmlld1N0YWJsZVByZXNlbnRhdGlvblVwZGF0ZUNhbGxiYWNrLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJN0NDRTdGMjExQTQxMUFFNjAwNDQ3QzRDIC8qIFdLUHJlZmVyZW5jZXMuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMzc4MTc0NkQyMTk4QUU0NjAwMDYyQzI2IC8qIFdLUHJvY2Vzc1Bvb2xDb25m
aWd1cmF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDQ4MTdBMkYxRjA0ODZCRjAwMDAzODEw
IC8qIFdLUmVxdWVzdEFjdGl2YXRlZEVsZW1lbnRJbmZvLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
N0M4M0UwQjUxRDBBNjQ5MzAwRkVCQ0YzIC8qIFdLUmV0YWluUHRyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTVFNEIxRDJFMUQ0MDRDNjEwMDA1MzYyMSAvKiBXS1Njcm9sbFZpZXdEZWxlZ2F0ZS5t
bSBpbiBTb3VyY2VzICovLApAQCAtNDI0Niw2ICs0MjUyLDcgQEAKIAkJCQlCQ0I2ODA0MjEyNkZC
RkYxMDA2NDJBNjEgLyogRG9jdW1lbnRTdGFydFVzZXJTY3JpcHRBbGVydENyYXNoX0J1bmRsZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTM5M0UyMjE1MjM5NTJEMDA1RjM5QzUgLyogRE9NV2lu
ZG93RXh0ZW5zaW9uQmFzaWNfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUY2RjQ5QzZC
MTU1NDVDQTcwMDA3RjM5RCAvKiBET01XaW5kb3dFeHRlbnNpb25Ob0NhY2hlX0J1bmRsZS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkxMTcxQjI0RjIxOUY0OUNEMDBDQjg5N0QgLyogRmlyc3RNZWFu
aW5nZnVsUGFpbnRNaWxlc3RvbmVfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUMwQzVE
M0M2MTQ1OTkxMjkwMEE4MDJBNiAvKiBHZXRCYWNraW5nU2NhbGVGYWN0b3JfQnVuZGxlLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRjY2MEFBMTExNUE1RjYzMTAwM0ExMjQzIC8qIEdldEluamVjdGVk
QnVuZGxlSW5pdGlhbGl6YXRpb25Vc2VyRGF0YUNhbGxiYWNrX0J1bmRsZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk0QkZERkZBNzEzMTQ3NzZDMDA2MUYyNEIgLyogSGl0VGVzdFJlc3VsdE5vZGVI
YW5kbGVfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvRmlyc3RNZWFuaW5nZnVsUGFpbnRNaWxlc3RvbmUuY3BwIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRmlyc3RNZWFuaW5nZnVsUGFpbnRNaWxl
c3RvbmUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzMjA3ZWExMWRkYjAyOWFmZDZhMTEwYjMzMWI2YjJiOGEy
Mzk5NjMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dC9GaXJzdE1lYW5pbmdmdWxQYWludE1pbGVzdG9uZS5jcHAKQEAgLTAsMCArMSw3MCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIFdLX0hBVkVfQ19TUEkKKworI2lu
Y2x1ZGUgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1XZWJWaWV3Lmgi
CisjaW5jbHVkZSA8V2ViS2l0L1dLQ29udGV4dFByaXZhdGUuaD4KKworbmFtZXNwYWNlIFRlc3RX
ZWJLaXRBUEkgeworCitzdGF0aWMgYm9vbCBkaWRVbmxvY2tGaXN0TWVhbmluZ2Z1bFBhaW50TWls
ZXN0b25lID0gZmFsc2U7CisKK3N0YXRpYyB2b2lkIGRpZFJlYWNoTWlsZXN0b25lKFdLUGFnZVJl
ZiwgV0tQYWdlUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHMgdHlwZSwgV0tUeXBlUmVmLCBjb25zdCB2
b2lkICopCit7CisgICAgaWYgKHR5cGUgJiBrV0tEaWRGaXJzdE1lYW5pbmdmdWxQYWludCkKKyAg
ICAgICAgZGlkVW5sb2NrRmlzdE1lYW5pbmdmdWxQYWludE1pbGVzdG9uZSA9IHRydWU7Cit9CisK
K3N0YXRpYyB2b2lkIHNldFBhZ2VMb2FkZXJDbGllbnQoV0tQYWdlUmVmIHBhZ2UpCit7CisgICAg
V0tQYWdlTmF2aWdhdGlvbkNsaWVudFYzIGxvYWRlckNsaWVudDsKKyAgICBtZW1zZXQoJmxvYWRl
ckNsaWVudCwgMCwgc2l6ZW9mKGxvYWRlckNsaWVudCkpOworCisgICAgbG9hZGVyQ2xpZW50LmJh
c2UudmVyc2lvbiA9IDM7CisgICAgbG9hZGVyQ2xpZW50LnJlbmRlcmluZ1Byb2dyZXNzRGlkQ2hh
bmdlID0gZGlkUmVhY2hNaWxlc3RvbmU7CisKKyAgICBXS1BhZ2VTZXRQYWdlTmF2aWdhdGlvbkNs
aWVudChwYWdlLCAmbG9hZGVyQ2xpZW50LmJhc2UpOworfQorCitURVNUKFdlYktpdCwgRmlyc3RN
ZWFuaW5nZnVsUGFpbnQpCit7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0
KEFkb3B0V0ssIFV0aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmplY3RlZEJ1bmRsZVRlc3QoIkZpcnN0
TWVhbmluZ2Z1bFBhaW50TWlsZXN0b25lVGVzdCIpKTsKKworICAgIFBsYXRmb3JtV2ViVmlldyB3
ZWJWaWV3KGNvbnRleHQuZ2V0KCkpOworICAgIHNldFBhZ2VMb2FkZXJDbGllbnQod2ViVmlldy5w
YWdlKCkpOworCisgICAgV0tQYWdlTG9hZFVSTCh3ZWJWaWV3LnBhZ2UoKSwgYWRvcHRXSyhVdGls
OjpjcmVhdGVVUkxGb3JSZXNvdXJjZSgibG90cy1vZi10ZXh0IiwgImh0bWwiKSkuZ2V0KCkpOwor
CisgICAgVXRpbDo6cnVuKCZkaWRVbmxvY2tGaXN0TWVhbmluZ2Z1bFBhaW50TWlsZXN0b25lKTsK
KyAgICBFWFBFQ1RfVFJVRShkaWRVbmxvY2tGaXN0TWVhbmluZ2Z1bFBhaW50TWlsZXN0b25lKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQorCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0ZpcnN0TWVhbmluZ2Z1bFBhaW50TWls
ZXN0b25lX0J1bmRsZS5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9GaXJz
dE1lYW5pbmdmdWxQYWludE1pbGVzdG9uZV9CdW5kbGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwODgwNTgz
YWEwOTExODg2NjBkMTFjMTkwNmNjZTRlODUzNmY3NmEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9GaXJzdE1lYW5pbmdmdWxQYWludE1pbGVzdG9u
ZV9CdW5kbGUuY3BwCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisKKyNpZiBXS19IQVZFX0NfU1BJCisKKyNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVRl
c3QuaCIKKworI2luY2x1ZGUgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW5jbHVkZSA8V2ViS2l0
L1dLQnVuZGxlUGFnZS5oPgorI2luY2x1ZGUgPFdlYktpdC9XS0J1bmRsZVBhZ2VQcml2YXRlLmg+
CisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKworY2xhc3MgRmlyc3RNZWFuaW5nZnVsUGFp
bnRNaWxlc3RvbmVUZXN0IDogcHVibGljIEluamVjdGVkQnVuZGxlVGVzdCB7CitwdWJsaWM6Cisg
ICAgRmlyc3RNZWFuaW5nZnVsUGFpbnRNaWxlc3RvbmVUZXN0KGNvbnN0IHN0ZDo6c3RyaW5nJiBp
ZGVudGlmaWVyKQorICAgICAgICA6IEluamVjdGVkQnVuZGxlVGVzdChpZGVudGlmaWVyKQorICAg
IHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlUGFnZShXS0J1bmRsZVJlZiBi
dW5kbGUsIFdLQnVuZGxlUGFnZVJlZiBwYWdlKQorICAgIHsKKyAgICAgICAgV0tCdW5kbGVQYWdl
TGlzdGVuRm9yTGF5b3V0TWlsZXN0b25lcyhwYWdlLCBrV0tEaWRGaXJzdE1lYW5pbmdmdWxQYWlu
dCk7CisgICAgfQorICAgIAorfTsKKworc3RhdGljIEluamVjdGVkQnVuZGxlVGVzdDo6UmVnaXN0
ZXI8Rmlyc3RNZWFuaW5nZnVsUGFpbnRNaWxlc3RvbmVUZXN0PiByZWdpc3RyYXIoIkZpcnN0TWVh
bmluZ2Z1bFBhaW50TWlsZXN0b25lVGVzdCIpOworCit9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0
QVBJCisKKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355107</attachid>
            <date>2018-11-16 13:20:11 -0800</date>
            <delta_ts>2018-11-16 14:54:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191754-20181116132010.patch</filename>
            <type>text/plain</type>
            <size>27877</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4Mjg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzZiYzM2NjE3OTlmYjBl
MDQ5NTM0NzljMWE5NzkyZDgzNDU5NGQ0ZC4uM2E5OWRiOGZlZTljNjA2OTljNzU1MzU0ZDY2MTk4
NWVmMjc2NjU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTExLTE2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIERpZEZpcnN0TWVhbmlu
Z2Z1bFBhaW50IG1pbGVzdG9uZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5MTc1NAorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4K
KworICAgICAgICBUaGlzIG1pbGVzdG9uZSBmaXJlcyBzb25lIGFmdGVyIHRoZSBwYWludCB0cmln
Z2VyZWQgYnkgdGhlIGZpcnN0IHZpc3VhbGx5IG5vbi1lbXB0eSBsYXlvdXQuCisKKyAgICAgICAg
KiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmZpcmVM
YXlvdXRSZWxhdGVkTWlsZXN0b25lc0lmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
Vmlldzo6ZmlyZVBhaW50UmVsYXRlZE1pbGVzdG9uZXNJZk5lZWRlZCk6CisgICAgICAgICogcGFn
ZS9MYXlvdXRNaWxlc3RvbmUuaDoKKwogMjAxOC0xMS0xNiAgU2lodWkgTGl1ICA8c2lodWlfbGl1
QGFwcGxlLmNvbT4KIAogICAgICAgICBTdG9yaW5nIGJsb2JzIGluIElEQiBvbiBpT1M6ICJFcnJv
ciBwcmVwYXJpbmcgYmxvYi9maWxlIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBmMjc4YjZkYmJkYzY5ZGZjMjZmYTQx
MTI0Mjg0ODI3ZmQzNDkyOWUwLi5hODRlNmU3OGYwM2QyOTFkNWFkZjQzYjFkN2I3MjQ3ODI1MWRh
OGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE4LTExLTE2ICBaYWxhbiBCdWp0YXMg
IDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIERpZEZpcnN0TWVhbmluZ2Z1bFBhaW50
IG1pbGVzdG9uZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5MTc1NAorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAg
ICAqIFNoYXJlZC9BUEkvYy9XS1BhZ2VMb2FkVHlwZXMuaDoKKyAgICAgICAgKiBTaGFyZWQvQVBJ
L2MvV0tTaGFyZWRBUElDYXN0Lmg6CisgICAgICAgIChXZWJLaXQ6OnRvV0tMYXlvdXRNaWxlc3Rv
bmVzKToKKyAgICAgICAgKFdlYktpdDo6dG9MYXlvdXRNaWxlc3RvbmVzKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0MvV0tQYWdlUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHMuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHNJbnRlcm5hbC5o
OgorICAgICAgICAocGFnZVJlbmRlcmluZ1Byb2dyZXNzRXZlbnRzKToKKwogMjAxOC0xMS0xNiAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgdHlw
byBmaXggaW4gY29tbWVudCBhZGRlZCBpbiByMjM4MjUwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwCmluZGV4IGVjMDllMDBkMTRlNmFjOWFmYmFhOWE1MTRjZjNjMTY5YWRkMGZkM2IuLjM5MTEw
YTZmNDdkNWZjZjQ1YTJjYzE2NzI4ZDgxN2RiNTY5OGE3NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
Vmlldy5jcHAKQEAgLTUxNzMsNiArNTE3Myw4IEBAIHZvaWQgRnJhbWVWaWV3OjpmaXJlTGF5b3V0
UmVsYXRlZE1pbGVzdG9uZXNJZk5lZWRlZCgpCiAgICAgLy8gSWYgdGhlIGxheW91dCB3YXMgZG9u
ZSB3aXRoIHBlbmRpbmcgc2hlZXRzLCB3ZSBhcmUgbm90IGluIGZhY3QgdmlzdWFsbHkgbm9uLWVt
cHR5IHlldC4KICAgICBpZiAobV9pc1Zpc3VhbGx5Tm9uRW1wdHkgJiYgbV9maXJzdFZpc3VhbGx5
Tm9uRW1wdHlMYXlvdXRDYWxsYmFja1BlbmRpbmcpIHsKICAgICAgICAgbV9maXJzdFZpc3VhbGx5
Tm9uRW1wdHlMYXlvdXRDYWxsYmFja1BlbmRpbmcgPSBmYWxzZTsKKyAgICAgICAgYWRkUGFpbnRQ
ZW5kaW5nTWlsZXN0b25lcyhEaWRGaXJzdE1lYW5pbmdmdWxQYWludCk7CisKICAgICAgICAgaWYg
KHJlcXVlc3RlZE1pbGVzdG9uZXMgJiBEaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXQpCiAg
ICAgICAgICAgICBtaWxlc3RvbmVzQWNoaWV2ZWQuYWRkKERpZEZpcnN0VmlzdWFsbHlOb25FbXB0
eUxheW91dCk7CiAgICAgfQpAQCAtNTIwNiw2ICs1MjA4LDExIEBAIHZvaWQgRnJhbWVWaWV3Ojpm
aXJlUGFpbnRSZWxhdGVkTWlsZXN0b25lc0lmTmVlZGVkKCkKICAgICAgICAgICAgIG1pbGVzdG9u
ZXNBY2hpZXZlZC5hZGQoRGlkRmlyc3RQYWludEFmdGVyU3VwcHJlc3NlZEluY3JlbWVudGFsUmVu
ZGVyaW5nKTsKICAgICB9CiAKKyAgICBpZiAobV9taWxlc3RvbmVzUGVuZGluZ1BhaW50ICYgRGlk
Rmlyc3RNZWFuaW5nZnVsUGFpbnQpIHsKKyAgICAgICAgaWYgKHBhZ2UtPnJlcXVlc3RlZExheW91
dE1pbGVzdG9uZXMoKSAmIERpZEZpcnN0TWVhbmluZ2Z1bFBhaW50KQorICAgICAgICAgICAgbWls
ZXN0b25lc0FjaGlldmVkLmFkZChEaWRGaXJzdE1lYW5pbmdmdWxQYWludCk7CisgICAgfQorCiAg
ICAgbV9taWxlc3RvbmVzUGVuZGluZ1BhaW50ID0geyB9OwogCiAgICAgaWYgKG1pbGVzdG9uZXNB
Y2hpZXZlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTGF5b3V0TWlsZXN0b25l
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xheW91dE1pbGVzdG9uZS5oCmluZGV4IGZhMGVlY2Fm
N2FmNTM4OTNiMzQxZjUwNDBmMzI5MDk4MDVkNTBmMDIuLjhhN2M2N2UzMTYwNjEzMDUzOGUzMDlm
MWEzZWVkMmNiYmM3MWQzZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTGF5b3V0
TWlsZXN0b25lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9MYXlvdXRNaWxlc3RvbmUuaApA
QCAtNDEsNiArNDEsNyBAQCBlbnVtIExheW91dE1pbGVzdG9uZSB7CiAgICAgRGlkRmlyc3RQYWlu
dEFmdGVyU3VwcHJlc3NlZEluY3JlbWVudGFsUmVuZGVyaW5nICAgID0gMSA8PCA1LAogICAgIFJl
YWNoZWRTZXNzaW9uUmVzdG9yYXRpb25SZW5kZXJUcmVlU2l6ZVRocmVzaG9sZCAgICA9IDEgPDwg
NiwgLy8gRklYTUU6IG9ubHkgaW1wbGVtZW50ZWQgYnkgV0syIGN1cnJlbnRseS4KICAgICBEaWRS
ZW5kZXJTaWduaWZpY2FudEFtb3VudE9mVGV4dCAgICAgICAgICAgICAgICAgICAgPSAxIDw8IDcs
CisgICAgRGlkRmlyc3RNZWFuaW5nZnVsUGFpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ID0gMSA8PCA4LAogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvQVBJL0NvY29hL19XS1JlbmRlcmluZ1Byb2dyZXNzRXZlbnRzLmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVu
dHMuaAppbmRleCA0YWE1YWNhN2JlZTFjZTJlOTRkMzY2YzFkYTVhMzFiYTQ3NTBlYmQ2Li43OTM1
OTc0NTQ5Y2Q4OGRhYWFlYjFkNmNjOGI1NTRjYjM4MTMyOTMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHMuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvQ29jb2EvX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVu
dHMuaApAQCAtMzYsNiArMzYsNyBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dL
UmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHMpIHsKICAgICBfV0tSZW5kZXJpbmdQcm9ncmVzc0V2ZW50
Rmlyc3RQYWludEFmdGVyU3VwcHJlc3NlZEluY3JlbWVudGFsUmVuZGVyaW5nIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3N4KDEwLjExKSwgaW9zKDkuMCkpID0gMSA8PCA1LAogICAgIF9XS1JlbmRlcmlu
Z1Byb2dyZXNzRXZlbnRGaXJzdFBhaW50IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjExKSwg
aW9zKDkuMCkpID0gMSA8PCA2LAogICAgIF9XS1JlbmRlcmluZ1Byb2dyZXNzRXZlbnREaWRSZW5k
ZXJTaWduaWZpY2FudEFtb3VudE9mVGV4dCBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xNCks
IGlvcygxMi4wKSkgPSAxIDw8IDcsCisgICAgX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudEZpcnN0
TWVhbmluZ2Z1bFBhaW50IFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3Mo
V0tfSU9TX1RCQSkpID0gMSA8PCA4LAogfSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMCks
IGlvcyg4LjApKTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9B
UEkvQ29jb2EvX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHNJbnRlcm5hbC5oIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQVBJL0NvY29hL19XS1JlbmRlcmluZ1Byb2dyZXNzRXZlbnRzSW50ZXJuYWwu
aAppbmRleCA1ODIyNDVjNTVjYjIwYjk2YjM4OTk1ZmY0YmY1ZWY4Y2RiYTZkNmY2Li4yMTY5ZGY4
ZDg4YTY0ZDBmYTQzNzEyMDRjYTEyN2JlZTc2ZTdiZjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9BUEkvQ29jb2EvX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHNJbnRlcm5hbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9Db2NvYS9fV0tSZW5kZXJpbmdQcm9ncmVz
c0V2ZW50c0ludGVybmFsLmgKQEAgLTU0LDYgKzU0LDkgQEAgc3RhdGljIGlubGluZSBfV0tSZW5k
ZXJpbmdQcm9ncmVzc0V2ZW50cyByZW5kZXJpbmdQcm9ncmVzc0V2ZW50cyhPcHRpb25TZXQ8V2Vi
Q28KICAgICBpZiAobWlsZXN0b25lcyAmIFdlYkNvcmU6OkRpZFJlbmRlclNpZ25pZmljYW50QW1v
dW50T2ZUZXh0KQogICAgICAgICBldmVudHMgfD0gX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudERp
ZFJlbmRlclNpZ25pZmljYW50QW1vdW50T2ZUZXh0OwogCisgICAgaWYgKG1pbGVzdG9uZXMgJiBX
ZWJDb3JlOjpEaWRGaXJzdE1lYW5pbmdmdWxQYWludCkKKyAgICAgICAgZXZlbnRzIHw9IF9XS1Jl
bmRlcmluZ1Byb2dyZXNzRXZlbnRGaXJzdE1lYW5pbmdmdWxQYWludDsKKwogICAgIHJldHVybiBl
dmVudHM7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL1dLUGFn
ZUxvYWRUeXBlcy5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvV0tQYWdlTG9hZFR5cGVz
LmgKaW5kZXggODYwYTY0NjQ0ZjQ3NWUyYzRjYzJkMjU5OTViNDY1ODM0M2E4NzFmZi4uY2VmNmU2
ODZjMzAwNWViNGQ1OGJmMDMzMTI1ZTM1YTI2NWI4ZWZiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvQVBJL2MvV0tQYWdlTG9hZFR5cGVzLmgKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQVBJL2MvV0tQYWdlTG9hZFR5cGVzLmgKQEAgLTU3LDcgKzU3LDggQEAgZW51bSB7CiAg
ICAga1dLUmVzZXJ2ZWQgPSAxIDw8IDMsIC8vIE5vdGUgdGhhdCB0aGUgZm91cnRoIG1lbWJlciBv
ZiB0aGlzIGVudW0gaXMgYWN0dWFsbHkgcHJpdmF0ZSBhbmQgZGVmaW5lZCBpbiBXS1BhZ2VMb2Fk
VHlwZXNQcml2YXRlLmgKICAgICBrV0tEaWRGaXJzdExheW91dEFmdGVyU3VwcHJlc3NlZEluY3Jl
bWVudGFsUmVuZGVyaW5nID0gMSA8PCA0LAogICAgIGtXS0RpZEZpcnN0UGFpbnRBZnRlclN1cHBy
ZXNzZWRJbmNyZW1lbnRhbFJlbmRlcmluZyA9IDEgPDwgNSwKLSAgICBrV0tEaWRSZW5kZXJTaWdu
aWZpY2FudEFtb3VudE9mVGV4dCA9IDEgPDwgNworICAgIGtXS0RpZFJlbmRlclNpZ25pZmljYW50
QW1vdW50T2ZUZXh0ID0gMSA8PCA3LAorICAgIGtXS0RpZEZpcnN0TWVhbmluZ2Z1bFBhaW50ID0g
MSA8PCA4CiB9OwogdHlwZWRlZiB1aW50MzJfdCBXS0xheW91dE1pbGVzdG9uZXM7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgKaW5kZXggNjc3NzkxZDg1
OGJkYjQ1NDViYzRmOGJmNThjZWZiMmM2YTU1ZGVmZC4uMDZmOTc0NDA5OWJmMDdhMjc5YWJjMWIy
NzU4YTkwZDFhZDM1MWJlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2Mv
V0tTaGFyZWRBUElDYXN0LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvV0tTaGFy
ZWRBUElDYXN0LmgKQEAgLTg3Nyw3ICs4NzcsOSBAQCBpbmxpbmUgV0tMYXlvdXRNaWxlc3RvbmVz
IHRvV0tMYXlvdXRNaWxlc3RvbmVzKE9wdGlvblNldDxXZWJDb3JlOjpMYXlvdXRNaWxlc3Rvbgog
ICAgICAgICB3a01pbGVzdG9uZXMgfD0ga1dLRGlkRmlyc3RQYWludEFmdGVyU3VwcHJlc3NlZElu
Y3JlbWVudGFsUmVuZGVyaW5nOwogICAgIGlmIChtaWxlc3RvbmVzICYgV2ViQ29yZTo6RGlkUmVu
ZGVyU2lnbmlmaWNhbnRBbW91bnRPZlRleHQpCiAgICAgICAgIHdrTWlsZXN0b25lcyB8PSBrV0tE
aWRSZW5kZXJTaWduaWZpY2FudEFtb3VudE9mVGV4dDsKLSAgICAKKyAgICBpZiAobWlsZXN0b25l
cyAmIFdlYkNvcmU6OkRpZEZpcnN0TWVhbmluZ2Z1bFBhaW50KQorICAgICAgICB3a01pbGVzdG9u
ZXMgfD0ga1dLRGlkRmlyc3RNZWFuaW5nZnVsUGFpbnQ7CisKICAgICByZXR1cm4gd2tNaWxlc3Rv
bmVzOwogfQogCkBAIC04OTksNiArOTAxLDggQEAgaW5saW5lIE9wdGlvblNldDxXZWJDb3JlOjpM
YXlvdXRNaWxlc3RvbmU+IHRvTGF5b3V0TWlsZXN0b25lcyhXS0xheW91dE1pbGVzdG9uZXMKICAg
ICAgICAgbWlsZXN0b25lcy5hZGQoV2ViQ29yZTo6RGlkRmlyc3RQYWludEFmdGVyU3VwcHJlc3Nl
ZEluY3JlbWVudGFsUmVuZGVyaW5nKTsKICAgICBpZiAod2tNaWxlc3RvbmVzICYga1dLRGlkUmVu
ZGVyU2lnbmlmaWNhbnRBbW91bnRPZlRleHQpCiAgICAgICAgIG1pbGVzdG9uZXMuYWRkKFdlYkNv
cmU6OkRpZFJlbmRlclNpZ25pZmljYW50QW1vdW50T2ZUZXh0KTsKKyAgICBpZiAod2tNaWxlc3Rv
bmVzICYga1dLRGlkRmlyc3RNZWFuaW5nZnVsUGFpbnQpCisgICAgICAgIG1pbGVzdG9uZXMuYWRk
KFdlYkNvcmU6OkRpZEZpcnN0TWVhbmluZ2Z1bFBhaW50KTsKICAgICAKICAgICByZXR1cm4gbWls
ZXN0b25lczsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZVJlbmRlcmluZ1Byb2dyZXNzRXZlbnRzLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2VSZW5kZXJpbmdQcm9ncmVzc0V2ZW50cy5oCmluZGV4IDNkZTJkZTVjMTUzMWNl
YjQxNTQ0YTM3MmVjNzhiZjE3ZDQxZDQxYzcuLmJhOWIzM2IxODU4NDEyMjc1NjI5YmNiNDM1OTQ1
ZDdmZTlkYzRlOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZVJlbmRlcmluZ1Byb2dyZXNzRXZlbnRzLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tQYWdlUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHMuaApAQCAtMzksNiArMzksNyBA
QCBlbnVtIHsKICAgICBXS1BhZ2VSZW5kZXJpbmdQcm9ncmVzc0V2ZW50UmVhY2hlZFNlc3Npb25S
ZXN0b3JhdGlvblJlbmRlclRyZWVTaXplVGhyZXNob2xkID0gMSA8PCAzLAogICAgIFdLUGFnZVJl
bmRlcmluZ1Byb2dyZXNzRXZlbnRGaXJzdExheW91dEFmdGVyU3VwcHJlc3NlZEluY3JlbWVudGFs
UmVuZGVyaW5nID0gMSA8PCA0LAogICAgIFdLUGFnZVJlbmRlcmluZ1Byb2dyZXNzRXZlbnRGaXJz
dFBhaW50QWZ0ZXJTdXBwcmVzc2VkSW5jcmVtZW50YWxSZW5kZXJpbmcgPSAxIDw8IDUsCisgICAg
V0tQYWdlUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudEZpcnN0TWVhbmluZ2Z1bFBhaW50ID0gMSA8PCA4
CiB9OwogdHlwZWRlZiB1aW50MzJfdCBXS1BhZ2VSZW5kZXJpbmdQcm9ncmVzc0V2ZW50czsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUmVuZGVyaW5n
UHJvZ3Jlc3NFdmVudHNJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHNJbnRlcm5hbC5oCmluZGV4IDI2NGRkY2Q3MDRk
MDRiYjdkNmUzMTdmYWZjNWVkMDI4MmMzMDBkNTAuLmNmNzcxMTVkZTE4ZTQ1ZDdjZWYzYTBlOTY5
ZDA4YWY3NmE0MzBkMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZVJlbmRlcmluZ1Byb2dyZXNzRXZlbnRzSW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VSZW5kZXJpbmdQcm9ncmVzc0V2ZW50c0ludGVybmFs
LmgKQEAgLTQ5LDUgKzQ5LDggQEAgc3RhdGljIGlubGluZSBXS1BhZ2VSZW5kZXJpbmdQcm9ncmVz
c0V2ZW50cyBwYWdlUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHMoT3B0aW9uU2UKICAgICBpZiAobWls
ZXN0b25lcyAmIFdlYkNvcmU6OkRpZEZpcnN0UGFpbnRBZnRlclN1cHByZXNzZWRJbmNyZW1lbnRh
bFJlbmRlcmluZykKICAgICAgICAgZXZlbnRzIHw9IFdLUGFnZVJlbmRlcmluZ1Byb2dyZXNzRXZl
bnRGaXJzdFBhaW50QWZ0ZXJTdXBwcmVzc2VkSW5jcmVtZW50YWxSZW5kZXJpbmc7CiAKKyAgICBp
ZiAobWlsZXN0b25lcyAmIFdlYkNvcmU6OkRpZEZpcnN0TWVhbmluZ2Z1bFBhaW50KQorICAgICAg
ICBldmVudHMgfD0gV0tQYWdlUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudEZpcnN0TWVhbmluZ2Z1bFBh
aW50OworCiAgICAgcmV0dXJuIGV2ZW50czsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGJhNmY4Y2UwYWJhNWEzNjVhY2JkZjYwYTIx
ODAzNTQyMzY2ZDIwYzkuLjNjNTZiNmVjYWY5NjNlY2ViMmI2NTM4OTlkZjY0N2ZiM2NiYmQwOTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpA
QCAtNDg0Miw2ICs0ODQyLDkgQEAgc3RhdGljIGlubGluZSBPcHRpb25TZXQ8V2ViQ29yZTo6TGF5
b3V0TWlsZXN0b25lPiBsYXlvdXRNaWxlc3RvbmVzKF9XS1JlbmRlcmluZ1AKICAgICBpZiAoZXZl
bnRzICYgX1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudERpZFJlbmRlclNpZ25pZmljYW50QW1vdW50
T2ZUZXh0KQogICAgICAgICBtaWxlc3RvbmVzLmFkZChXZWJDb3JlOjpEaWRSZW5kZXJTaWduaWZp
Y2FudEFtb3VudE9mVGV4dCk7CiAKKyAgICBpZiAoZXZlbnRzICYgX1dLUmVuZGVyaW5nUHJvZ3Jl
c3NFdmVudEZpcnN0TWVhbmluZ2Z1bFBhaW50KQorICAgICAgICBtaWxlc3RvbmVzLmFkZChXZWJD
b3JlOjpEaWRGaXJzdE1lYW5pbmdmdWxQYWludCk7CisKICAgICByZXR1cm4gbWlsZXN0b25lczsK
IH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4
IGI2OTI1Yjg0ZjlhZGYzOGNmYjdlMDE3NzJlMjliMWEyOGRkMjM0ODAuLmVlOWFlMWYxNDBkZTA5
NjdhMzA3ZmMyYThlZjExYmZiMDMyODBmZjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxOC0xMS0xNiAgWmFsYW4g
QnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBEaWRGaXJzdE1lYW5pbmdm
dWxQYWludCBtaWxlc3RvbmUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTE3NTQKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0ZpcnN0TWVhbmluZ2Z1bFBhaW50TWlsZXN0
b25lLmNwcDogQWRkZWQuCisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpkaWRSZWFjaE1pbGVzdG9u
ZSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpzZXRQYWdlTG9hZGVyQ2xpZW50KToKKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0L0ZpcnN0TWVhbmluZ2Z1bFBhaW50TWlsZXN0b25lX0J1bmRsZS5jcHA6IENvcGllZCBm
cm9tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVJlbmRlcmluZ1Byb2dyZXNz
RXZlbnRzLmguCisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpGaXJzdE1lYW5pbmdmdWxQYWludE1p
bGVzdG9uZVRlc3Q6OkZpcnN0TWVhbmluZ2Z1bFBhaW50TWlsZXN0b25lVGVzdCk6CisgICAgICAg
IChUZXN0V2ViS2l0QVBJOjpGaXJzdE1lYW5pbmdmdWxQYWludE1pbGVzdG9uZVRlc3Q6OmRpZENy
ZWF0ZVBhZ2UpOgorCiAyMDE4LTExLTE2ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW0xGQ11bSUZDXSBBZGQgc3VwcG9ydCBmb3Igb3V0LW9mLWZsb3cgcG9zaXRp
b25lZCBib3hlcwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4
dCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQKaW5kZXggNDlmMGE4YzRjYzQ1
ODMzMjMwM2ZlYTFiMjgyOTM2MDBlNWFmZjZkNC4uMGYzMjU1ODI0Yjg4YTYwMzIwMTc5M2Q3Yjg5
MzlhNTFhYTNlZTdmMyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9DTWFrZUxpc3Rz
LnR4dAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0CkBAIC00NSw2ICs0
NSw3IEBAIGlmIChFTkFCTEVfV0VCS0lUKQogICAgICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9U
ZXN0cy9XZWJLaXQvRXZhbHVhdGVKYXZhU2NyaXB0LmNwcAogICAgICAgICAke1RFU1RXRUJLSVRB
UElfRElSfS9UZXN0cy9XZWJLaXQvRmFpbGVkTG9hZC5jcHAKICAgICAgICAgJHtURVNUV0VCS0lU
QVBJX0RJUn0vVGVzdHMvV2ViS2l0L0ZpbmQuY3BwCisgICAgICAgICR7VEVTVFdFQktJVEFQSV9E
SVJ9L1Rlc3RzL1dlYktpdC9GaXJzdE1lYW5pbmdmdWxQYWludE1pbGVzdG9uZS5jcHAKICAgICAg
ICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViS2l0L0ZvcmNlUmVwYWludC5jcHAKICAg
ICAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViS2l0L0ZyYW1lTUlNRVR5cGVIVE1M
LmNwcAogICAgICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJLaXQvRnJhbWVNSU1F
VHlwZVBORy5jcHAKQEAgLTIzMCw2ICsyMzEsNyBAQCBpZiAoRU5BQkxFX1dFQktJVCkKICAgICAg
ICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViS2l0L05ld0ZpcnN0VmlzdWFsbHlOb25F
bXB0eUxheW91dEZvckltYWdlc19CdW5kbGUuY3BwCiAgICAgICAgICR7VEVTVFdFQktJVEFQSV9E
SVJ9L1Rlc3RzL1dlYktpdC9OZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGcmFtZXNfQnVu
ZGxlLmNwcAogICAgICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9UZXN0cy9XZWJLaXQvTmV3Rmly
c3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0X0J1bmRsZS5jcHAKKyAgICAgICAgJHtURVNUV0VCS0lU
QVBJX0RJUn0vVGVzdHMvV2ViS2l0L0ZpcnN0TWVhbmluZ2Z1bFBhaW50TWlsZXN0b25lX0J1bmRs
ZS5jcHAKICAgICAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViS2l0L1BhcmVudEZy
YW1lX0J1bmRsZS5jcHAKICAgICAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV2ViS2l0
L1Byb3Zpc2lvbmFsVVJMQWZ0ZXJXaWxsU2VuZFJlcXVlc3RDYWxsYmFja19CdW5kbGUuY3BwCiAg
ICAgICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dlYktpdC9SZXNwb25zaXZlbmVzc1Rp
bWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5jcHAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
MTY5MGRjYTRmMzY3Nzk3MWE4NzJmYTcwMDJjNWI2NDQ2MTJlNTE1Yy4uZGUzZDg1NWI4OTZkMWIz
YWU5ZGNmNzE5MzZkNmZjZDJjYzFmOTczNiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ4
LDYgKzQ4LDggQEAKIAkJMEY1NjUxRjcxRkNFNEREQzAwMzEwRkJDIC8qIE5vSGlzdG9yeUl0ZW1T
Y3JvbGxUb0ZyYWdtZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMEY1NjUxRjYxRkNFNEREQjAwMzEwRkJDIC8qIE5vSGlzdG9yeUl0ZW1TY3JvbGxU
b0ZyYWdtZW50Lm1tICovOyB9OwogCQkwRjU2NTFGOTFGQ0U1MTM1MDAzMTBGQkMgLyogc2Nyb2xs
LXRvLWFuY2hvci5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNTY1MUY4MUZDRTUwRTgwMDMxMEZCQyAvKiBzY3JvbGwtdG8tYW5jaG9y
Lmh0bWwgKi87IH07CiAJCTExNUVCMzQzMUVFMEJBMDMwMDNDMkMwQSAvKiBWaWV3cG9ydFNpemVG
b3JWaWV3cG9ydFVuaXRzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTE1RUIzNDIxRUUwQjcyMDAwM0MyQzBBIC8qIFZpZXdwb3J0U2l6ZUZvclZpZXdw
b3J0VW5pdHMubW0gKi87IH07CisJCTExNzFCMjRGMjE5RjQ5Q0QwMENCODk3RCAvKiBGaXJzdE1l
YW5pbmdmdWxQYWludE1pbGVzdG9uZV9CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTFCN0ZEMjEyMTlGNDZERDAwNjlCMjdGIC8qIEZpcnN0
TWVhbmluZ2Z1bFBhaW50TWlsZXN0b25lX0J1bmRsZS5jcHAgKi87IH07CisJCTExQjdGRDI4MjE5
RjQ3MTEwMDY5QjI3RiAvKiBGaXJzdE1lYW5pbmdmdWxQYWludE1pbGVzdG9uZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxMUI3RkQyMjIxOUY0NkRE
MDA2OUIyN0YgLyogRmlyc3RNZWFuaW5nZnVsUGFpbnRNaWxlc3RvbmUuY3BwICovOyB9OwogCQkx
NDNEREU5ODIwQzkwMThCMDA3Rjc2RkEgLyogU2VjdXJpdHkuZnJhbWV3b3JrIGluIEZyYW1ld29y
a3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTc0RjU1RDAyMDRENDcxQzAw
Mjk0OEM2IC8qIFNlY3VyaXR5LmZyYW1ld29yayAqLzsgfTsKIAkJMUEwMkM4NzAxMjVENENGRDAw
RTNGNEJEIC8qIGZpbmQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxQTAyQzg0QjEyNUQ0QTVFMDBFM0Y0QkQgLyogZmluZC5odG1sICov
OyB9OwogCQkxQTM1MjRBRTFENjNBNEZCMDAzMTcyOUIgLyogU2NvcGUuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEzNTI0QUMxRDYzQTRGQjAwMzE3
MjlCIC8qIFNjb3BlLmNwcCAqLzsgfTsKQEAgLTQ5NSw3ICs0OTcsNiBAQAogCQk3Q0NFN0VEQjFB
NDExQTkyMDA0NDdDNEMgLyogQ1NTUGFyc2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENENTQ1MUU5MTlFNDFGOUQwMDE2OTM2RiAvKiBDU1NQYXJz
ZXIuY3BwICovOyB9OwogCQk3Q0NFN0VEQzFBNDExQTkyMDA0NDdDNEMgLyogQ2FsY3VsYXRpb25W
YWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
M0E3MjBFNTE4RjFBMEU4MDBBODQ4RTEgLyogQ2FsY3VsYXRpb25WYWx1ZS5jcHAgKi87IH07CiAJ
CTdDQ0U3RUREMUE0MTFBOTIwMDQ0N0M0QyAvKiBUaW1lUmFuZ2VzLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQzJDNzE0MTc5NzA4OUQwMEU2MjdG
QiAvKiBUaW1lUmFuZ2VzLmNwcCAqLzsgfTsKLQkJQ0Q1MUMyQTkzRTc4QjVDMUZGMzM3QzA4IC8q
IEFib3J0YWJsZVRhc2tRdWV1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBQkY1MTA2MzJBMTlCOEFDN0VDNDBFMTcgLyogQWJvcnRhYmxlVGFza1F1
ZXVlLmNwcCAqLzsgfTsKIAkJN0NDRTdFREUxQTQxMUE5MjAwNDQ3QzRDIC8qIFVSTC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDBBMUQzODE0QTAx
MDNBMDA4QTY2RjIgLyogVVJMLmNwcCAqLzsgfTsKIAkJN0NDRTdFREYxQTQxMUE5MjAwNDQ3QzRD
IC8qIExheW91dFVuaXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMTQ0NjQwMTIxNjdBODMwNTAwMEJEMjE4IC8qIExheW91dFVuaXQuY3BwICovOyB9
OwogCQk3Q0NFN0VFMDFBNDExQTlBMDA0NDdDNEMgLyogRWRpdG9yQ29tbWFuZHMubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0FBNDg1NzE0QTA0NEQ0
MDA4OEZBQzQgLyogRWRpdG9yQ29tbWFuZHMubW0gKi87IH07CkBAIC0xMjgyLDYgKzEyODMsOCBA
QAogCQkwRkVBRTM2NzFCN0QxOUNCMDBDRTE3RjIgLyogQ29uZGl0aW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbmRpdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTBGRkM0NUE0MUI3M0VCRTIwMDg1QkQ2MiAvKiBMb2NrLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExvY2suY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxMTVFQjM0MjFFRTBCNzIwMDAzQzJDMEEgLyogVmlld3BvcnRTaXpl
Rm9yVmlld3BvcnRVbml0cy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFZpZXdwb3J0U2l6ZUZvclZpZXdwb3J0VW5pdHMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTExQjdGRDIxMjE5RjQ2REQwMDY5QjI3RiAvKiBGaXJzdE1lYW5pbmdmdWxQYWlu
dE1pbGVzdG9uZV9CdW5kbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gRmlyc3RNZWFuaW5nZnVsUGFpbnRNaWxlc3RvbmVfQnVuZGxlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMTFCN0ZEMjIyMTlGNDZERDAwNjlCMjdGIC8qIEZpcnN0TWVhbmlu
Z2Z1bFBhaW50TWlsZXN0b25lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEZpcnN0TWVhbmluZ2Z1bFBhaW50TWlsZXN0b25lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMTQ0NjQwMTIxNjdBODMwNTAwMEJEMjE4IC8qIExheW91dFVuaXQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0VW5pdC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0RjNCMTEyMTVFNDVFQUIwMDIxMDA2OSAvKiBTYXR1
cmF0ZWRBcml0aG1ldGljT3BlcmF0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTYXR1cmF0ZWRBcml0aG1ldGljT3BlcmF0aW9ucy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFBMDJDODRCMTI1RDRBNUUwMEUzRjRCRCAvKiBmaW5kLmh0bWwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBmaW5kLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xODY5LDYgKzE4NzIsNyBAQAogCQlBNUUyMDI3MDE1QjIxODA2MDBDMTNF
MTQgLyogV2luZG93bGVzc1dlYlZpZXdXaXRoTWVkaWEuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRt
bDsgcGF0aCA9IFdpbmRvd2xlc3NXZWJWaWV3V2l0aE1lZGlhLmh0bWw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUE1RTIwMjcyMTVCMjE4MTkwMEMxM0UxNCAvKiBXaW5kb3dsZXNzV2Vi
Vmlld1dpdGhNZWRpYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFdpbmRvd2xlc3NXZWJWaWV3V2l0aE1lZGlhLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBN0E5NjZEQTE0MEVDQ0M4MDA1RUY5QjQgLyogQ2hlY2tlZEFyaXRobWV0aWNPcGVyYXRp
b25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENoZWNrZWRBcml0
aG1ldGljT3BlcmF0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFCRjUx
MDYzMkExOUI4QUM3RUM0MEUxNyAvKiBBYm9ydGFibGVUYXNrUXVldWUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQWJvcnRhYmxlVGFza1F1ZXVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQUQ1N0FDMUQxREE3NDYzODAwRkYxQkRFIC8qIG1hbnktaWZyYW1lcy5odG1sICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dC5odG1sOyBwYXRoID0gIm1hbnktaWZyYW1lcy5odG1sIjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQUQ1N0FDMUUxREE3NDY0RDAwRkYxQkRFIC8qIERpZFJlbW92ZUZy
YW1lRnJvbUhpZWFyY2h5SW5QYWdlQ2FjaGVfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IERpZFJlbW92ZUZyYW1lRnJvbUhpZWFyY2h5SW5QYWdlQ2FjaGVf
QnVuZGxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUQ1N0FDMUYxREE3NDY0
RDAwRkYxQkRFIC8qIERpZFJlbW92ZUZyYW1lRnJvbUhpZWFyY2h5SW5QYWdlQ2FjaGUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGlkUmVtb3ZlRnJhbWVGcm9tSGll
YXJjaHlJblBhZ2VDYWNoZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDIw
LDcgKzIwMjQsNiBAQAogCQlDREJGQ0M0MjFBOUZGNDQ4MDBBN0I2OTEgLyogRnVsbHNjcmVlblpv
b21Jbml0aWFsRnJhbWUuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9IEZ1bGxzY3Jl
ZW5ab29tSW5pdGlhbEZyYW1lLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNE
QkZDQzQzMUE5RkY0NDgwMEE3QjY5MSAvKiBGdWxsc2NyZWVuWm9vbUluaXRpYWxGcmFtZS5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEZ1bGxzY3JlZW5ab29tSW5p
dGlhbEZyYW1lLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREMyQzcxNDE3OTcw
ODlEMDBFNjI3RkIgLyogVGltZVJhbmdlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUaW1lUmFu
Z2VzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQUJGNTEwNjMyQTE5QjhBQzdF
QzQwRTE3IC8qIEFib3J0YWJsZVRhc2tRdWV1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBYm9y
dGFibGVUYXNrUXVldWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREM4RTQ4
NTFCQzVCMTk0MDA1OTRGRUMgLyogQXVkaW9TZXNzaW9uQ2F0ZWdvcnlJT1MubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBdWRpb1Nlc3Npb25DYXRlZ29yeUlPUy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RDOEU0ODkxQkM1Qzk2MjAwNTk0RkVD
IC8qIHZpZGVvLXdpdGgtYXVkaW8uaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJ2
aWRlby13aXRoLWF1ZGlvLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDREM4
RTQ4QTFCQzVDOTYyMDA1OTRGRUMgLyogdmlkZW8td2l0aC1hdWRpby5tcDQgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmaWxlOyBwYXRoID0gInZpZGVv
LXdpdGgtYXVkaW8ubXA0Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI5NzYsNiAr
Mjk3OSw4IEBACiAJCQkJQkNDOEI5NUExMjYxMUY0NzAwREU0NkE0IC8qIEZhaWxlZExvYWQuY3Bw
ICovLAogCQkJCTFBMDJDODRFMTI1RDRBODQwMEUzRjRCRCAvKiBGaW5kLmNwcCAqLywKIAkJCQlD
NTFBRkI5ODE2OUY0OUZGMDA5Q0NGNjYgLyogRmluZE1hdGNoZXMubW0gKi8sCisJCQkJMTFCN0ZE
MjIyMTlGNDZERDAwNjlCMjdGIC8qIEZpcnN0TWVhbmluZ2Z1bFBhaW50TWlsZXN0b25lLmNwcCAq
LywKKwkJCQkxMUI3RkQyMTIxOUY0NkREMDA2OUIyN0YgLyogRmlyc3RNZWFuaW5nZnVsUGFpbnRN
aWxlc3RvbmVfQnVuZGxlLmNwcCAqLywKIAkJCQkxQURCRUZBRDEzMEM2ODlDMDBENjFEMTkgLyog
Rm9yY2VSZXBhaW50LmNwcCAqLywKIAkJCQkzNzZDOEMwNDFENkUxOTdDMDA3RDJCQjkgLyogRnJh
bWVIYW5kbGUuY3BwICovLAogCQkJCUJDQkQzNzBGMTI1QUEyRUIwMEQyQzI5RiAvKiBGcmFtZU1J
TUVUeXBlSFRNTC5jcHAgKi8sCkBAIC0zODc2LDYgKzM4ODEsNyBAQAogCQkJCTdDQ0U3RUYzMUE0
MTFBRTYwMDQ0N0M0QyAvKiBGaW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDODNFMEJCMUQw
QTY1MDAwMEZFQkNGMyAvKiBGaW5kSW5QYWdlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdF
RjQxQTQxMUFFNjAwNDQ3QzRDIC8qIEZpbmRNYXRjaGVzLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJ
MTFCN0ZEMjgyMTlGNDcxMTAwNjlCMjdGIC8qIEZpcnN0TWVhbmluZ2Z1bFBhaW50TWlsZXN0b25l
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDODNFMDQwMUQwQTYzRTMwMEZFQkNGMyAvKiBGaXJz
dFJlc3BvbmRlclNjcm9sbGluZ1Bvc2l0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQzlFNkRE
MzUxRUE5N0QwODAwREQ3OEFBIC8qIEZpcnN0UmVzcG9uZGVyU3VwcHJlc3Npb24ubW0gaW4gU291
cmNlcyAqLywKIAkJCQk3QzgzRTBCQzFEMEE2NTA3MDBGRUJDRjMgLyogRml4ZWRMYXlvdXRTaXpl
Lm1tIGluIFNvdXJjZXMgKi8sCkBAIC0zOTgzLDcgKzM5ODksNiBAQAogCQkJCTVDQUU0NjM4MjAx
OTNCNkEwMDUxNjEwRiAvKiBOZXR3b3JrUHJvY2Vzc0NyYXNoTm9uUGVyc2lzdGVudERhdGFTdG9y
ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTlCMTlDREEwMUYwNkRGRTMwMDA1NDhERCAvKiBOZXR3
b3JrUHJvY2Vzc0NyYXNoV2l0aFBlbmRpbmdDb25uZWN0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJN0NDRTdGMDIxQTQxMUFFNjAwNDQ3QzRDIC8qIE5ld0ZpcnN0VmlzdWFsbHlOb25FbXB0eUxh
eW91dC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkzNzgxNzQ2RDIxOThBRTQ2MDAwNjJDMjYgLyog
V0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0Yw
MzFBNDExQUU2MDA0NDdDNEMgLyogTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0RmFpbHMu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdGMDQxQTQxMUFFNjAwNDQ3QzRDIC8qIE5ld0Zp
cnN0VmlzdWFsbHlOb25FbXB0eUxheW91dEZvckltYWdlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk3Q0NFN0YwNTFBNDExQUU2MDA0NDdDNEMgLyogTmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5
b3V0RnJhbWVzLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNDE2NSw2ICs0MTcwLDcgQEAKIAkJCQky
RDAwMDY1RjFDMUY1ODlBMDA4OEU2QTcgLyogV0tQREZWaWV3UmVzaXplQ3Jhc2gubW0gaW4gU291
cmNlcyAqLywKIAkJCQkyRDIxRkU1OTFGMDQ2NDI5MDBCNThFN0QgLyogV0tQREZWaWV3U3RhYmxl
UHJlc2VudGF0aW9uVXBkYXRlQ2FsbGJhY2subW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0Yy
MTFBNDExQUU2MDA0NDdDNEMgLyogV0tQcmVmZXJlbmNlcy5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkzNzgxNzQ2RDIxOThBRTQ2MDAwNjJDMjYgLyogV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24u
bW0gaW4gU291cmNlcyAqLywKIAkJCQk0NDgxN0EyRjFGMDQ4NkJGMDAwMDM4MTAgLyogV0tSZXF1
ZXN0QWN0aXZhdGVkRWxlbWVudEluZm8ubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTBCNTFE
MEE2NDkzMDBGRUJDRjMgLyogV0tSZXRhaW5QdHIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNUU0
QjFEMkUxRDQwNEM2MTAwMDUzNjIxIC8qIFdLU2Nyb2xsVmlld0RlbGVnYXRlLm1tIGluIFNvdXJj
ZXMgKi8sCkBAIC00MjQ2LDYgKzQyNTIsNyBAQAogCQkJCUJDQjY4MDQyMTI2RkJGRjEwMDY0MkE2
MSAvKiBEb2N1bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2hfQnVuZGxlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTUxMzkzRTIyMTUyMzk1MkQwMDVGMzlDNSAvKiBET01XaW5kb3dFeHRlbnNp
b25CYXNpY19CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjZGNDlDNkIxNTU0NUNBNzAw
MDdGMzlEIC8qIERPTVdpbmRvd0V4dGVuc2lvbk5vQ2FjaGVfQnVuZGxlLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTExNzFCMjRGMjE5RjQ5Q0QwMENCODk3RCAvKiBGaXJzdE1lYW5pbmdmdWxQYWlu
dE1pbGVzdG9uZV9CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzBDNUQzQzYxNDU5OTEy
OTAwQTgwMkE2IC8qIEdldEJhY2tpbmdTY2FsZUZhY3Rvcl9CdW5kbGUubW0gaW4gU291cmNlcyAq
LywKIAkJCQlGNjYwQUExMTE1QTVGNjMxMDAzQTEyNDMgLyogR2V0SW5qZWN0ZWRCdW5kbGVJbml0
aWFsaXphdGlvblVzZXJEYXRhQ2FsbGJhY2tfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTRCRkRGRkE3MTMxNDc3NkMwMDYxRjI0QiAvKiBIaXRUZXN0UmVzdWx0Tm9kZUhhbmRsZV9CdW5k
bGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdC9GaXJzdE1lYW5pbmdmdWxQYWludE1pbGVzdG9uZS5jcHAgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9GaXJzdE1lYW5pbmdmdWxQYWludE1pbGVzdG9uZS5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uODMyMDdlYTExZGRiMDI5YWZkNmExMTBiMzMxYjZiMmI4YTIzOTk2MwotLS0g
L2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0ZpcnN0TWVh
bmluZ2Z1bFBhaW50TWlsZXN0b25lLmNwcApAQCAtMCwwICsxLDcwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgV0tfSEFWRV9DX1NQSQorCisjaW5jbHVkZSAiUGxh
dGZvcm1VdGlsaXRpZXMuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVdlYlZpZXcuaCIKKyNpbmNsdWRl
IDxXZWJLaXQvV0tDb250ZXh0UHJpdmF0ZS5oPgorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7
CisKK3N0YXRpYyBib29sIGRpZFVubG9ja0Zpc3RNZWFuaW5nZnVsUGFpbnRNaWxlc3RvbmUgPSBm
YWxzZTsKKworc3RhdGljIHZvaWQgZGlkUmVhY2hNaWxlc3RvbmUoV0tQYWdlUmVmLCBXS1BhZ2VS
ZW5kZXJpbmdQcm9ncmVzc0V2ZW50cyB0eXBlLCBXS1R5cGVSZWYsIGNvbnN0IHZvaWQgKikKK3sK
KyAgICBpZiAodHlwZSAmIGtXS0RpZEZpcnN0TWVhbmluZ2Z1bFBhaW50KQorICAgICAgICBkaWRV
bmxvY2tGaXN0TWVhbmluZ2Z1bFBhaW50TWlsZXN0b25lID0gdHJ1ZTsKK30KKworc3RhdGljIHZv
aWQgc2V0UGFnZUxvYWRlckNsaWVudChXS1BhZ2VSZWYgcGFnZSkKK3sKKyAgICBXS1BhZ2VOYXZp
Z2F0aW9uQ2xpZW50VjMgbG9hZGVyQ2xpZW50OworICAgIG1lbXNldCgmbG9hZGVyQ2xpZW50LCAw
LCBzaXplb2YobG9hZGVyQ2xpZW50KSk7CisKKyAgICBsb2FkZXJDbGllbnQuYmFzZS52ZXJzaW9u
ID0gMzsKKyAgICBsb2FkZXJDbGllbnQucmVuZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UgPSBkaWRS
ZWFjaE1pbGVzdG9uZTsKKworICAgIFdLUGFnZVNldFBhZ2VOYXZpZ2F0aW9uQ2xpZW50KHBhZ2Us
ICZsb2FkZXJDbGllbnQuYmFzZSk7Cit9CisKK1RFU1QoV2ViS2l0LCBGaXJzdE1lYW5pbmdmdWxQ
YWludCkKK3sKKyAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRXSywg
VXRpbDo6Y3JlYXRlQ29udGV4dEZvckluamVjdGVkQnVuZGxlVGVzdCgiRmlyc3RNZWFuaW5nZnVs
UGFpbnRNaWxlc3RvbmVUZXN0IikpOworCisgICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZpZXcoY29u
dGV4dC5nZXQoKSk7CisgICAgc2V0UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSk7CisK
KyAgICBXS1BhZ2VMb2FkVVJMKHdlYlZpZXcucGFnZSgpLCBhZG9wdFdLKFV0aWw6OmNyZWF0ZVVS
TEZvclJlc291cmNlKCJsb3RzLW9mLXRleHQiLCAiaHRtbCIpKS5nZXQoKSk7CisKKyAgICBVdGls
OjpydW4oJmRpZFVubG9ja0Zpc3RNZWFuaW5nZnVsUGFpbnRNaWxlc3RvbmUpOworICAgIEVYUEVD
VF9UUlVFKGRpZFVubG9ja0Zpc3RNZWFuaW5nZnVsUGFpbnRNaWxlc3RvbmUpOworfQorCit9IC8v
IG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRmlyc3RNZWFuaW5nZnVsUGFpbnRNaWxlc3RvbmVfQnVu
ZGxlLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0ZpcnN0TWVhbmluZ2Z1
bFBhaW50TWlsZXN0b25lX0J1bmRsZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmZiZjdlYTZiYmFlZGIxOGUy
MmMzNTUzNjRiMWNhNzFjZDA4YWI5YwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0L0ZpcnN0TWVhbmluZ2Z1bFBhaW50TWlsZXN0b25lX0J1bmRsZS5j
cHAKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKwor
I2lmIFdLX0hBVkVfQ19TUEkKKworI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlVGVzdC5oIgorCisj
aW5jbHVkZSAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbmNsdWRlIDxXZWJLaXQvV0tCdW5kbGVQ
YWdlLmg+CisjaW5jbHVkZSA8V2ViS2l0L1dLQnVuZGxlUGFnZVByaXZhdGUuaD4KKworbmFtZXNw
YWNlIFRlc3RXZWJLaXRBUEkgeworCitjbGFzcyBGaXJzdE1lYW5pbmdmdWxQYWludE1pbGVzdG9u
ZVRlc3QgOiBwdWJsaWMgSW5qZWN0ZWRCdW5kbGVUZXN0IHsKK3B1YmxpYzoKKyAgICBGaXJzdE1l
YW5pbmdmdWxQYWludE1pbGVzdG9uZVRlc3QoY29uc3Qgc3RkOjpzdHJpbmcmIGlkZW50aWZpZXIp
CisgICAgICAgIDogSW5qZWN0ZWRCdW5kbGVUZXN0KGlkZW50aWZpZXIpCisgICAgeworICAgIH0K
KworICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVQYWdlKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tC
dW5kbGVQYWdlUmVmIHBhZ2UpCisgICAgeworICAgICAgICBXS0J1bmRsZVBhZ2VMaXN0ZW5Gb3JM
YXlvdXRNaWxlc3RvbmVzKHBhZ2UsIGtXS0RpZEZpcnN0TWVhbmluZ2Z1bFBhaW50KTsKKyAgICB9
CisgICAgCit9OworCitzdGF0aWMgSW5qZWN0ZWRCdW5kbGVUZXN0OjpSZWdpc3RlcjxGaXJzdE1l
YW5pbmdmdWxQYWludE1pbGVzdG9uZVRlc3Q+IHJlZ2lzdHJhcigiRmlyc3RNZWFuaW5nZnVsUGFp
bnRNaWxlc3RvbmVUZXN0Iik7CisKK30gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKKworI2Vu
ZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>