<?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>222795</bug_id>
          
          <creation_ts>2021-03-05 03:50:27 -0800</creation_ts>
          <short_desc>[LibWebRTC][WPE][GTK] Enable vp9 and NO_MAIN_THREAD_WRAPPING</short_desc>
          <delta_ts>2021-04-23 13:11:56 -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>Platform</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>
          
          <blocked>213780</blocked>
    
    <blocked>218221</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Philippe Normand">pnormand</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>annulen</cc>
    
    <cc>calvaris</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>tsaunier</cc>
    
    <cc>vjaquez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1736286</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-03-05 03:50:27 -0800</bug_when>
    <thetext>NO_MAIN_THREAD_WRAPPING prevents creating socket server in Web Process. Also I see no reason preventing us to enable H.265 and VP9, unless I missed something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736303</commentid>
    <comment_count>1</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-03-05 04:33:23 -0800</bug_when>
    <thetext>Actually I&apos;m not sure H.265 makes much sense for us, VP9 should cover most cases nowadays.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752733</commentid>
    <comment_count>2</comment_count>
      <attachid>426682</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-04-21 07:46:36 -0700</bug_when>
    <thetext>Created attachment 426682
[fast-cq] Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753080</commentid>
    <comment_count>3</comment_count>
      <attachid>426682</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2021-04-22 01:37:54 -0700</bug_when>
    <thetext>Comment on attachment 426682
[fast-cq] Patch

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

&gt; Source/WebCore/platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:159
&gt; +        gst_bin_add_many(GST_BIN_CAST(m_pipeline.get()), m_src.get(), videoconvert, videoscale, m_capsFilter.get(), m_encoder.get(), m_sink.get(), nullptr);
&gt; +        if (!gst_element_link_many(m_src.get(), videoconvert, videoscale, m_capsFilter.get(), m_encoder.get(), m_sink.get(), nullptr)) {
&gt; +            GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS(GST_BIN_CAST(m_pipeline.get()), GST_DEBUG_GRAPH_SHOW_VERBOSE, &quot;webkit-webrtc-encoder.error&quot;);

I think we should at least warn here as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753146</commentid>
    <comment_count>4</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-04-22 06:42:25 -0700</bug_when>
    <thetext>A glib warning is already raised when linking fails.

In fact this is the only place where we check a _link_many return value. I wonder if it makes much sense anyway. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753505</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-23 02:23:14 -0700</bug_when>
    <thetext>Committed r276491 (236950@main): &lt;https://commits.webkit.org/236950@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 426682.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753699</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-23 13:11:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/77083214&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426682</attachid>
            <date>2021-04-21 07:46:36 -0700</date>
            <delta_ts>2021-04-23 02:23:16 -0700</delta_ts>
            <desc>[fast-cq] Patch</desc>
            <filename>bug-222795-20210421074635.patch</filename>
            <type>text/plain</type>
            <size>36273</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCAzYTE0NjVhNDVkODA3MTYwZTc1OTgwNTBkMDZiMmMzODIzMmZkMjEwLi5mZjNj
Njc1MDY5ODc4MmRjZDY3NGJiMmJjMTBkYTI4YjU4NDJlZGQwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wNC0yMSAgUGhpbGlwcGUg
Tm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0xpYldlYlJUQ11bV1BF
XVtHVEtdIEVuYWJsZSB2cDkgYW5kIE5PX01BSU5fVEhSRUFEX1dSQVBQSU5HCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI3OTUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBF
bmFibGUgTk9fTUFJTl9USFJFQURfV1JBUFBJTkcgYXMgaW4gdGhlIFhDb2RlIGJ1aWxkIGFuZCBo
YXJtb25pemUgb3B0aW9ucworICAgICAgICBiZXR3ZWVuIEFwcGxlIGFuZCBub24tQXBwbGUgcG9y
dHMuCisgICAgICAgICogU291cmNlL3dlYnJ0Yy9jb21tb25fdmlkZW8vaDI2NS9oMjY1X3Bwc19w
YXJzZXIuaDoKKwogMjAyMS0wNC0yMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgWyBCaWdTdXIgd2syIEFSTTY0IF0gaHR0cC93cHQvd2VicnRjL2NoYW5nZS1l
bmNvZGVkLXRyYW5zZm9ybS5odG1sIGlzIGEgZmxha2V5IGNyYXNoCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWZh
NjU3ZDEzYTlhMzA0Y2I0YjkwYjZiOWQzMjJmMWRlMDA0MTgyMi4uZTIxNGE4ODgxMWJjZGMzMTk2
NjI3NTA1NmRmMzBjNTc0NDZmMzg3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIx
LTA0LTIxICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAg
ICBbTGliV2ViUlRDXVtXUEVdW0dUS10gRW5hYmxlIHZwOSBhbmQgTk9fTUFJTl9USFJFQURfV1JB
UFBJTkcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
Mjc5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBWUDkgZW5jb2RpbmcgYW5kIGRlY29kaW5nIHN1cHBvcnQgaW4gdGhlIFdQRS9HVEsgTGliV2Vi
UlRDIGJhY2tlbmQuIFRoZSB1bmRlcmx5aW5nCisgICAgICAgIGVuY29kaW5nIHN1cHBvcnQgaXMg
YmFzZWQgb24gTGliV2ViUlRDJ3MgaW50ZXJuYWwgVlA5IHN1cHBvcnQuIFRoZSBHU3RyZWFtZXIg
VlB4IGVuY29kZXJzCisgICAgICAgIGxhY2sgc2ltdWxjYXN0IGFuZCBoaWdoIHByb2ZpbGUgc3Vw
cG9ydCwgc28gY2FuJ3QgcmVhbGx5IGJlIHVzZWQgYW55d2F5LiBUaGUKKyAgICAgICAgR1N0cmVh
bWVyVlA4RW5jb2RlciB3YXMgcmVtb3ZlZCBmb3IgdGhpcyByZWFzb24gYXMgd2VsbC4KKworICAg
ICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3RyZWFtZXJWaWRlb0RlY29k
ZXJGYWN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZQOURlY29kZXI6OlZQOURlY29kZXIp
OgorICAgICAgICAoV2ViQ29yZTo6VlA5RGVjb2Rlcjo6Q3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkdTdHJlYW1lclZpZGVvRGVjb2RlckZhY3Rvcnk6OkNyZWF0ZVZpZGVvRGVjb2Rlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpHU3RyZWFtZXJWaWRlb0RlY29kZXJGYWN0b3J5OjpHU3RyZWFtZXJW
aWRlb0RlY29kZXJGYWN0b3J5KToKKyAgICAgICAgKFdlYkNvcmU6OkdTdHJlYW1lclZpZGVvRGVj
b2RlckZhY3Rvcnk6OkdldFN1cHBvcnRlZEZvcm1hdHMgY29uc3QpOgorICAgICAgICAqIHBsYXRm
b3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3RyZWFtZXJWaWRlb0RlY29kZXJGYWN0b3J5Lmg6
CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0dTdHJlYW1lclZpZGVv
RW5jb2Rlci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0dT
dHJlYW1lclZpZGVvRW5jb2RlckZhY3RvcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1N0cmVh
bWVyVmlkZW9FbmNvZGVyOjptYWtlRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpHU3RyZWFt
ZXJWaWRlb0VuY29kZXI6OmNyZWF0ZUVuY29kZXIpOgorICAgICAgICAoV2ViQ29yZTo6R1N0cmVh
bWVyVmlkZW9FbmNvZGVyOjpTZXRSZXN0cmljdGlvbkNhcHMpOgorICAgICAgICAoV2ViQ29yZTo6
R1N0cmVhbWVyVmlkZW9FbmNvZGVyRmFjdG9yeTo6Q3JlYXRlVmlkZW9FbmNvZGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdTdHJlYW1lclZpZGVvRW5jb2RlckZhY3Rvcnk6OkdTdHJlYW1lclZpZGVv
RW5jb2RlckZhY3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6R1N0cmVhbWVyVmlkZW9FbmNvZGVy
RmFjdG9yeTo6R2V0U3VwcG9ydGVkRm9ybWF0cyBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbGlid2VicnRjL0dTdHJlYW1lclZpZGVvRW5jb2RlckZhY3RvcnkuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXJH
U3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXJHU3RyZWFt
ZXI6OmNyZWF0ZURlY29kZXJGYWN0b3J5KToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1By
b3ZpZGVyR1N0cmVhbWVyOjpjcmVhdGVFbmNvZGVyRmFjdG9yeSk6CisKIDIwMjEtMDQtMjEgIE1h
cnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBiYXNp
YyAobm9uLW1vbWVudHVtKSB3aGVlbCBldmVudCBoYW5kbGluZyBmb3Igc2Nyb2xsIHNuYXAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9DTWFrZUxpc3RzLnR4dCBiL1Nv
dXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9DTWFrZUxpc3RzLnR4dAppbmRleCAzNTFkYjdhZGJm
MDk0OTg0ZjA0YmQyZmM5MjM0MjBlYmE3NjgyYWJlLi5jZDE4MjQ1NDQzM2U2NmZhYjc3NmI0NTgx
M2RjYmU3NGY1YzFlZmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NNYWtlTGlz
dHMudHh0CkBAIC01MzgsNiArNTM4LDEwIEBAIHNldCh3ZWJydGNfU09VUkNFUwogICAgIFNvdXJj
ZS93ZWJydGMvY29tbW9uX3ZpZGVvL2gyNjQvcHBzX3BhcnNlci5jYwogICAgIFNvdXJjZS93ZWJy
dGMvY29tbW9uX3ZpZGVvL2gyNjQvc3BzX3BhcnNlci5jYwogICAgIFNvdXJjZS93ZWJydGMvY29t
bW9uX3ZpZGVvL2gyNjQvc3BzX3Z1aV9yZXdyaXRlci5jYworICAgIFNvdXJjZS93ZWJydGMvY29t
bW9uX3ZpZGVvL2gyNjUvaDI2NV9jb21tb24uY2MKKyAgICBTb3VyY2Uvd2VicnRjL2NvbW1vbl92
aWRlby9oMjY1L2gyNjVfcHBzX3BhcnNlci5jYworICAgIFNvdXJjZS93ZWJydGMvY29tbW9uX3Zp
ZGVvL2gyNjUvaDI2NV9zcHNfcGFyc2VyLmNjCisgICAgU291cmNlL3dlYnJ0Yy9jb21tb25fdmlk
ZW8vaDI2NS9oMjY1X3Zwc19wYXJzZXIuY2MKICAgICBTb3VyY2Uvd2VicnRjL2NvbW1vbl92aWRl
by9pbmNvbWluZ192aWRlb19zdHJlYW0uY2MKICAgICBTb3VyY2Uvd2VicnRjL2NvbW1vbl92aWRl
by9saWJ5dXYvd2VicnRjX2xpYnl1di5jYwogICAgIFNvdXJjZS93ZWJydGMvY29tbW9uX3ZpZGVv
L3ZpZGVvX2ZyYW1lX2J1ZmZlci5jYwpAQCAtMTA0Miw4ICsxMDQ2LDkgQEAgc2V0KHdlYnJ0Y19T
T1VSQ0VTCiAgICAgU291cmNlL3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy9jb2RlY3MvdnA4
L3RlbXBvcmFsX2xheWVyc19jaGVja2VyLmNjCiAgICAgU291cmNlL3dlYnJ0Yy9tb2R1bGVzL3Zp
ZGVvX2NvZGluZy9jb2RlY3MvdnA5L3N2Y19jb25maWcuY2MKICAgICBTb3VyY2Uvd2VicnRjL21v
ZHVsZXMvdmlkZW9fY29kaW5nL2NvZGVjcy92cDkvc3ZjX3JhdGVfYWxsb2NhdG9yLmNjCi0gICAg
U291cmNlL3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy9jb2RlY3MvdnA5L3ZwOV9pbXBsLmNj
CisgICAgU291cmNlL3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy9jb2RlY3MvdnA5L3ZwOS5j
YwogICAgIFNvdXJjZS93ZWJydGMvbW9kdWxlcy92aWRlb19jb2RpbmcvY29kZWNzL3ZwOS92cDlf
ZnJhbWVfYnVmZmVyX3Bvb2wuY2MKKyAgICBTb3VyY2Uvd2VicnRjL21vZHVsZXMvdmlkZW9fY29k
aW5nL2NvZGVjcy92cDkvdnA5X2ltcGwuY2MKICAgICBTb3VyY2Uvd2VicnRjL21vZHVsZXMvdmlk
ZW9fY29kaW5nL2NvZGVjX3RpbWVyLmNjCiAgICAgU291cmNlL3dlYnJ0Yy9tb2R1bGVzL3ZpZGVv
X2NvZGluZy9kZWNvZGVyX2RhdGFiYXNlLmNjCiAgICAgU291cmNlL3dlYnJ0Yy9tb2R1bGVzL3Zp
ZGVvX2NvZGluZy9kZWNvZGluZ19zdGF0ZS5jYwpAQCAtMTA1Nyw2ICsxMDYyLDcgQEAgc2V0KHdl
YnJ0Y19TT1VSQ0VTCiAgICAgU291cmNlL3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy9nZW5l
cmljX2RlY29kZXIuY2MKICAgICBTb3VyY2Uvd2VicnRjL21vZHVsZXMvdmlkZW9fY29kaW5nL2gy
NjRfc3Byb3BfcGFyYW1ldGVyX3NldHMuY2MKICAgICBTb3VyY2Uvd2VicnRjL21vZHVsZXMvdmlk
ZW9fY29kaW5nL2gyNjRfc3BzX3Bwc190cmFja2VyLmNjCisgICAgU291cmNlL3dlYnJ0Yy9tb2R1
bGVzL3ZpZGVvX2NvZGluZy9oMjY1X3Zwc19zcHNfcHBzX3RyYWNrZXIuY2MKICAgICBTb3VyY2Uv
d2VicnRjL21vZHVsZXMvdmlkZW9fY29kaW5nL2hpc3RvZ3JhbS5jYwogICAgIFNvdXJjZS93ZWJy
dGMvbW9kdWxlcy92aWRlb19jb2RpbmcvaW5jbHVkZS92aWRlb19jb2RlY19pbnRlcmZhY2UuY2MK
ICAgICBTb3VyY2Uvd2VicnRjL21vZHVsZXMvdmlkZW9fY29kaW5nL2ludGVyX2ZyYW1lX2RlbGF5
LmNjCkBAIC0xNjA4LDE5ICsxNjE0LDI1IEBAIHNldF90YXJnZXRfcHJvcGVydGllcyh3ZWJydGMg
UFJPUEVSVElFUyBDWFhfVklTSUJJTElUWV9QUkVTRVQgaGlkZGVuKQogc2V0X3RhcmdldF9wcm9w
ZXJ0aWVzKHdlYnJ0YyBQUk9QRVJUSUVTIENfVklTSUJJTElUWV9QUkVTRVQgaGlkZGVuKQogCiB0
YXJnZXRfY29tcGlsZV9kZWZpbml0aW9ucyh3ZWJydGMgUFJJVkFURQotICBPUEVOU1NMX05PX0FT
TQogICBEWU5BTUlDX0FOTk9UQVRJT05TX0VOQUJMRUQ9MQogICBFWFBBVF9SRUxBVElWRV9QQVRI
CisgIEhBVkVfQ09ORklHX0gKICAgSEFWRV9MUklOVAogICBIQVZFX0xSSU5URgogICBIQVZFX05F
VElORVRfSU5fSAogICBIQVZFX1NDVFAKKyAgSEFWRV9TVERJTlRfSAorICBIQVZFX1NURExJQl9I
CisgIEhBVkVfVUlOVDY0X1QKICAgSEFWRV9XRUJSVENfVklERU8KICAgSEFWRV9XRUJSVENfVk9J
Q0UKICAgSlNPTl9VU0VfRVhDRVBUSU9OPTAKICAgTk9OX1dJTkRPV1NfREVGSU5FCisgIE5PX01B
SU5fVEhSRUFEX1dSQVBQSU5HCisgIE9QRU5TU0xfTk9fQVNNCiAgIE9QVVNfQlVJTEQKICAgT1BV
U19FWFBPUlQ9CisgIFJUQ19FTkFCTEVfVlA5CiAgIFZBUl9BUlJBWVMKICAgV0VCUlRDX0FQTV9E
RUJVR19EVU1QPTAKICAgV0VCUlRDX0NPREVDX0c3MTEKQEAgLTE2MzksMTkgKzE2NTEsMTYgQEAg
dGFyZ2V0X2NvbXBpbGVfZGVmaW5pdGlvbnMod2VicnRjIFBSSVZBVEUKICAgV0VCUlRDX1VTRV9C
VUlMVElOX0lTQUNfRklYPTEKICAgV0VCUlRDX1VTRV9CVUlMVElOX0lTQUNfRkxPQVQ9MAogICBX
VEZfVVNFX0RZTkFNSUNfQU5OT1RBVElPTlM9MQotICBSVENfRElTQUJMRV9WUDkKICAgX0dOVV9T
T1VSQ0UKICkKIAogaWYgKEFQUExFKQogICAgIHRhcmdldF9jb21waWxlX2RlZmluaXRpb25zKHdl
YnJ0YyBQUklWQVRFCi0gICAgICAgIFJUQ19FTkFCTEVfVlA5CiAgICAgICAgIFdFQlJUQ19BUkNI
X0xJVFRMRV9FTkRJQU4KICAgICAgICAgV0VCUlRDX01BQwogICAgICkKIGVsc2UgKCkKICAgICB0
YXJnZXRfY29tcGlsZV9kZWZpbml0aW9ucyh3ZWJydGMgUFJJVkFURQotICAgICAgICBESVNBQkxF
X0gyNjUKICAgICAgICAgU0NUUF9QUk9DRVNTX0xFVkVMX0xPQ0tTCiAgICAgICAgIFNDVFBfU0lN
UExFX0FMTE9DQVRPUgogICAgICAgICBTQ1RQX1VTRV9PUEVOU1NMX1NIQTEKZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Tb3VyY2Uvd2VicnRjL2NvbW1vbl92aWRlby9o
MjY1L2gyNjVfcHBzX3BhcnNlci5oIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJj
ZS93ZWJydGMvY29tbW9uX3ZpZGVvL2gyNjUvaDI2NV9wcHNfcGFyc2VyLmgKaW5kZXggY2ZhNDcx
ODgzZGNhZWFmNWE1MzRhYzMxMzlhMzY5MDdmMzA0ZmU1Ni4uZDMyYTQ1NTZmZTMzYmVkYWQxNjc5
MmI4YWY3YWU1NTNhOWRlNWI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL1NvdXJjZS93ZWJydGMvY29tbW9uX3ZpZGVvL2gyNjUvaDI2NV9wcHNfcGFyc2VyLmgKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZS93ZWJydGMvY29tbW9uX3ZpZGVv
L2gyNjUvaDI2NV9wcHNfcGFyc2VyLmgKQEAgLTEzLDYgKzEzLDEwIEBACiAKICNpbmNsdWRlICJh
YnNsL3R5cGVzL29wdGlvbmFsLmgiCiAKKyNpZmRlZiBIQVZFX1NURElOVF9ICisjaW5jbHVkZSA8
c3RkaW50Lmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIHJ0YyB7CiBjbGFzcyBCaXRCdWZmZXI7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvR1N0cmVhbWVyVmlkZW9EZWNvZGVyRmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvR1N0cmVhbWVyVmlkZW9EZWNvZGVyRmFjdG9yeS5j
cHAKaW5kZXggMzljN2I1ZGQzNDJmYTBkM2I5ZDhlZmU0MjdmMThkZGFjOGIxYTdkNi4uN2ZkNjM4
YWFkZGJmMzI4M2ZkYTUyMjQyMjdmOGIwZDViMmU3YzcyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0dTdHJlYW1lclZpZGVvRGVjb2Rl
ckZhY3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xp
YndlYnJ0Yy9HU3RyZWFtZXJWaWRlb0RlY29kZXJGYWN0b3J5LmNwcApAQCAtMzg2LDYgKzM4Niwz
NCBAQCBwdWJsaWM6CiAgICAgfQogfTsKIAorY2xhc3MgVlA5RGVjb2RlciA6IHB1YmxpYyBHU3Ry
ZWFtZXJWaWRlb0RlY29kZXIgeworcHVibGljOgorICAgIFZQOURlY29kZXIoYm9vbCBpc1N1cHBv
cnRpbmdWUDlQcm9maWxlMCA9IHRydWUsIGJvb2wgaXNTdXBwb3J0aW5nVlA5UHJvZmlsZTIgPSB0
cnVlKQorICAgICAgICA6IG1faXNTdXBwb3J0aW5nVlA5UHJvZmlsZTAoaXNTdXBwb3J0aW5nVlA5
UHJvZmlsZTApCisgICAgICAgICwgbV9pc1N1cHBvcnRpbmdWUDlQcm9maWxlMihpc1N1cHBvcnRp
bmdWUDlQcm9maWxlMikgeyB9OworCisgICAgY29uc3QgZ2NoYXIqIENhcHMoKSBmaW5hbCB7IHJl
dHVybiAidmlkZW8veC12cDkiOyB9CisgICAgY29uc3QgZ2NoYXIqIE5hbWUoKSBmaW5hbCB7IHJl
dHVybiBjcmlja2V0OjprVnA5Q29kZWNOYW1lOyB9CisgICAgd2VicnRjOjpWaWRlb0NvZGVjVHlw
ZSBDb2RlY1R5cGUoKSBmaW5hbCB7IHJldHVybiB3ZWJydGM6OmtWaWRlb0NvZGVjVlA5OyB9Cisg
ICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlZpZGVvRGVjb2Rlcj4gQ3JlYXRlKCkK
KyAgICB7CisgICAgICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpWaWRlb0RlY29k
ZXI+KG5ldyBWUDlEZWNvZGVyKCkpOworICAgIH0KKworICAgIHN0ZDo6dmVjdG9yPHdlYnJ0Yzo6
U2RwVmlkZW9Gb3JtYXQ+IENvbmZpZ3VyZVN1cHBvcnRlZERlY29kZXIoKSBmaW5hbAorICAgIHsK
KyAgICAgICAgc3RkOjp2ZWN0b3I8d2VicnRjOjpTZHBWaWRlb0Zvcm1hdD4gZm9ybWF0czsKKyAg
ICAgICAgaWYgKG1faXNTdXBwb3J0aW5nVlA5UHJvZmlsZTApCisgICAgICAgICAgICBmb3JtYXRz
LnB1c2hfYmFjayh3ZWJydGM6OlNkcFZpZGVvRm9ybWF0KGNyaWNrZXQ6OmtWcDlDb2RlY05hbWUs
IHsgeyAicHJvZmlsZS1pZCIsICIwIiB9IH0pKTsKKyAgICAgICAgaWYgKG1faXNTdXBwb3J0aW5n
VlA5UHJvZmlsZTIpCisgICAgICAgICAgICBmb3JtYXRzLnB1c2hfYmFjayh3ZWJydGM6OlNkcFZp
ZGVvRm9ybWF0KGNyaWNrZXQ6OmtWcDlDb2RlY05hbWUsIHsgeyAicHJvZmlsZS1pZCIsICIyIiB9
IH0pKTsKKyAgICAgICAgcmV0dXJuIGZvcm1hdHM7CisgICAgfQorcHJpdmF0ZToKKyAgICBib29s
IG1faXNTdXBwb3J0aW5nVlA5UHJvZmlsZTA7CisgICAgYm9vbCBtX2lzU3VwcG9ydGluZ1ZQOVBy
b2ZpbGUyOworfTsKKwogc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VmlkZW9EZWNvZGVyPiBHU3Ry
ZWFtZXJWaWRlb0RlY29kZXJGYWN0b3J5OjpDcmVhdGVWaWRlb0RlY29kZXIoY29uc3Qgd2VicnRj
OjpTZHBWaWRlb0Zvcm1hdCYgZm9ybWF0KQogewogICAgIHdlYnJ0Yzo6VmlkZW9EZWNvZGVyKiBk
ZWM7CkBAIC0zOTQsNiArNDIyLDggQEAgc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VmlkZW9EZWNv
ZGVyPiBHU3RyZWFtZXJWaWRlb0RlY29kZXJGYWN0b3J5OjpDcmVhdGVWaWRlb0QKICAgICAgICAg
ZGVjID0gbmV3IEgyNjREZWNvZGVyKCk7CiAgICAgZWxzZSBpZiAoZm9ybWF0Lm5hbWUgPT0gY3Jp
Y2tldDo6a1ZwOENvZGVjTmFtZSkKICAgICAgICAgcmV0dXJuIFZQOERlY29kZXI6OkNyZWF0ZSgp
OworICAgIGVsc2UgaWYgKGZvcm1hdC5uYW1lID09IGNyaWNrZXQ6OmtWcDlDb2RlY05hbWUpCisg
ICAgICAgIHJldHVybiBWUDlEZWNvZGVyOjpDcmVhdGUoKTsKICAgICBlbHNlIHsKICAgICAgICAg
R1NUX0VSUk9SKCJDb3VsZCBub3QgY3JlYXRlIGRlY29kZXIgZm9yICVzIiwgZm9ybWF0Lm5hbWUu
Y19zdHIoKSk7CiAKQEAgLTQwMyw3ICs0MzMsOSBAQCBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpW
aWRlb0RlY29kZXI+IEdTdHJlYW1lclZpZGVvRGVjb2RlckZhY3Rvcnk6OkNyZWF0ZVZpZGVvRAog
ICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpWaWRlb0RlY29kZXI+KGRlYyk7CiB9
CiAKLUdTdHJlYW1lclZpZGVvRGVjb2RlckZhY3Rvcnk6OkdTdHJlYW1lclZpZGVvRGVjb2RlckZh
Y3RvcnkoKQorR1N0cmVhbWVyVmlkZW9EZWNvZGVyRmFjdG9yeTo6R1N0cmVhbWVyVmlkZW9EZWNv
ZGVyRmFjdG9yeShib29sIGlzU3VwcG9ydGluZ1ZQOVByb2ZpbGUwLCBib29sIGlzU3VwcG9ydGlu
Z1ZQOVByb2ZpbGUyKQorICAgIDogbV9pc1N1cHBvcnRpbmdWUDlQcm9maWxlMChpc1N1cHBvcnRp
bmdWUDlQcm9maWxlMCkKKyAgICAsIG1faXNTdXBwb3J0aW5nVlA5UHJvZmlsZTIoaXNTdXBwb3J0
aW5nVlA5UHJvZmlsZTIpCiB7CiAgICAgZW5zdXJlR1N0cmVhbWVySW5pdGlhbGl6ZWQoKTsKIApA
QCAtNDE3LDYgKzQ0OSw3IEBAIHN0ZDo6dmVjdG9yPHdlYnJ0Yzo6U2RwVmlkZW9Gb3JtYXQ+IEdT
dHJlYW1lclZpZGVvRGVjb2RlckZhY3Rvcnk6OkdldFN1cHBvcnRlZEZvCiAgICAgc3RkOjp2ZWN0
b3I8d2VicnRjOjpTZHBWaWRlb0Zvcm1hdD4gZm9ybWF0czsKIAogICAgIFZQOERlY29kZXIoKS5B
ZGREZWNvZGVySWZTdXBwb3J0ZWQoZm9ybWF0cyk7CisgICAgVlA5RGVjb2RlcihtX2lzU3VwcG9y
dGluZ1ZQOVByb2ZpbGUwLCBtX2lzU3VwcG9ydGluZ1ZQOVByb2ZpbGUyKS5BZGREZWNvZGVySWZT
dXBwb3J0ZWQoZm9ybWF0cyk7CiAgICAgSDI2NERlY29kZXIoKS5BZGREZWNvZGVySWZTdXBwb3J0
ZWQoZm9ybWF0cyk7CiAKICAgICByZXR1cm4gZm9ybWF0czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3RyZWFtZXJWaWRlb0RlY29k
ZXJGYWN0b3J5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvR1N0cmVhbWVyVmlkZW9EZWNvZGVyRmFjdG9yeS5oCmluZGV4IGVmZGEyOWJlMzk3MThiYmE3
OTEzNDE4Y2M3M2ViOWFkMzY4NGY4YmMuLjRjNmRkMDIwODI3MGRiZTkwYjFhYWFlMzA1ODM2ZjY0
MzFiNjY2ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9HU3RyZWFtZXJWaWRlb0RlY29kZXJGYWN0b3J5LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0dTdHJlYW1lclZpZGVvRGVjb2Rl
ckZhY3RvcnkuaApAQCAtMjQsMjAgKzI0LDIxIEBACiAKICNpbmNsdWRlICJMaWJXZWJSVENNYWNy
b3MuaCIKICNpbmNsdWRlICJhcGkvdmlkZW9fY29kZWNzL3ZpZGVvX2RlY29kZXJfZmFjdG9yeS5o
IgotI2luY2x1ZGUgPGdzdC9nc3QuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
KyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEdTdHJlYW1lclZpZGVvRGVjb2RlckZhY3RvcnkgOiBwdWJsaWMgd2VicnRjOjpWaWRlb0RlY29k
ZXJGYWN0b3J5IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBH
U3RyZWFtZXJWaWRlb0RlY29kZXJGYWN0b3J5KCk7Ci0gICAgc3RhdGljIGJvb2wgbmV3U291cmNl
KFN0cmluZyB0cmFja0lkLCBHc3RFbGVtZW50ICpzb3VyY2UpOworICAgIEdTdHJlYW1lclZpZGVv
RGVjb2RlckZhY3RvcnkoYm9vbCBpc1N1cHBvcnRpbmdWUDlQcm9maWxlMCwgYm9vbCBpc1N1cHBv
cnRpbmdWUDlQcm9maWxlMik7CiAKIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPHdlYnJ0
Yzo6VmlkZW9EZWNvZGVyPiBDcmVhdGVWaWRlb0RlY29kZXIoY29uc3Qgd2VicnRjOjpTZHBWaWRl
b0Zvcm1hdCYpIGZpbmFsOwogICAgIHN0ZDo6dmVjdG9yPHdlYnJ0Yzo6U2RwVmlkZW9Gb3JtYXQ+
IEdldFN1cHBvcnRlZEZvcm1hdHMoKSBjb25zdCBmaW5hbDsKKworICAgIGJvb2wgbV9pc1N1cHBv
cnRpbmdWUDlQcm9maWxlMDsKKyAgICBib29sIG1faXNTdXBwb3J0aW5nVlA5UHJvZmlsZTI7CiB9
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvR1N0cmVhbWVyVmlkZW9FbmNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3RyZWFtZXJWaWRlb0VuY29kZXIuY3BwCmluZGV4
IDhlZGYyNDliMjQ2NjViOWFlMTNkMDFhOWFmY2ExYWQ0MjdkNWE2OWIuLmUwMmUzZmRlNTFhMDZi
NjU5NWYyYWRiNDUwZDM0OTM0ODM3ZTNiMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3RyZWFtZXJWaWRlb0VuY29kZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3RyZWFt
ZXJWaWRlb0VuY29kZXIuY3BwCkBAIC0zNSw3ICszNSw3IEBAIEdTVF9ERUJVR19DQVRFR09SWSh3
ZWJydGNfdmVuY19kZWJ1Zyk7CiAjZGVmaW5lIEtCSVRfVE9fQklUIDEwMjQKIAogc3RhdGljIEdz
dFN0YXRpY1BhZFRlbXBsYXRlIHNpbmtUZW1wbGF0ZSA9IEdTVF9TVEFUSUNfUEFEX1RFTVBMQVRF
KCJzaW5rIiwgR1NUX1BBRF9TSU5LLCBHU1RfUEFEX0FMV0FZUywgR1NUX1NUQVRJQ19DQVBTKCJ2
aWRlby94LXJhdyhBTlkpIikpOwotc3RhdGljIEdzdFN0YXRpY1BhZFRlbXBsYXRlIHNyY1RlbXBs
YXRlID0gR1NUX1NUQVRJQ19QQURfVEVNUExBVEUoInNyYyIsIEdTVF9QQURfU1JDLCBHU1RfUEFE
X0FMV0FZUywgR1NUX1NUQVRJQ19DQVBTKCJ2aWRlby94LWgyNjQ7dmlkZW8veC12cDgiKSk7Citz
dGF0aWMgR3N0U3RhdGljUGFkVGVtcGxhdGUgc3JjVGVtcGxhdGUgPSBHU1RfU1RBVElDX1BBRF9U
RU1QTEFURSgic3JjIiwgR1NUX1BBRF9TUkMsIEdTVF9QQURfQUxXQVlTLCBHU1RfU1RBVElDX0NB
UFMoInZpZGVvL3gtaDI2NCIpKTsKIAogdXNpbmcgU2V0Qml0cmF0ZUZ1bmMgPSBGdW5jdGlvbjx2
b2lkKEdPYmplY3QqIGVuY29kZXIsIGNvbnN0IGNoYXIqIHByb3BlcnR5TmFtZSwgaW50IGJpdHJh
dGUpPjsKIHVzaW5nIFNldHVwRnVuYyA9IEZ1bmN0aW9uPHZvaWQoV2ViS2l0V2VicnRjVmlkZW9F
bmNvZGVyKik+OwpAQCAtNTEsNyArNTEsNyBAQCBzdHJ1Y3QgRW5jb2RlckRlZmluaXRpb24gewog
ICAgIGNvbnN0IGNoYXIqIGtleWZyYW1lSW50ZXJ2YWxQcm9wZXJ0eU5hbWU7CiB9OwogCi1lbnVt
IEVuY29kZXJJZCB7IE5vbmUsIFgyNjQsIE9wZW5IMjY0LCBPbXhIMjY0LCBWcDggfTsKK2VudW0g
RW5jb2RlcklkIHsgTm9uZSwgWDI2NCwgT3BlbkgyNjQsIE9teEgyNjQgfTsKIAogY2xhc3MgRW5j
b2RlcnMgewogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbGlid2VicnRjL0dTdHJlYW1lclZpZGVvRW5jb2RlckZhY3RvcnkuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0dTdHJlYW1lclZpZGVv
RW5jb2RlckZhY3RvcnkuY3BwCmluZGV4IGQ2NzlkYzE3OWMyMjg0MGM0ZjYxYWFlMDEzMmNlZDcy
ODg2YWU0YjYuLjJiYjdlZjE1YmQ1NzRjZmFjZDc2MjU4ZWJmMzEwYzY0MGM2ZTYwMzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3Ry
ZWFtZXJWaWRlb0VuY29kZXJGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvR1N0cmVhbWVyVmlkZW9FbmNvZGVyRmFjdG9yeS5jcHAK
QEAgLTI4LDEyICsyOCwxMyBAQAogI2luY2x1ZGUgIkdTdHJlYW1lclZpZGVvRnJhbWVMaWJXZWJS
VEMuaCIKICNpbmNsdWRlICJMaWJXZWJSVENXZWJLaXRNYWNyb3MuaCIKICNpbmNsdWRlICJ3ZWJy
dGMvY29tbW9uX3ZpZGVvL2gyNjQvaDI2NF9jb21tb24uaCIKKyNpbmNsdWRlICJ3ZWJydGMvbWVk
aWEvYmFzZS92cDlfcHJvZmlsZS5oIgogI2luY2x1ZGUgIndlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2Nv
ZGluZy9jb2RlY3MvaDI2NC9pbmNsdWRlL2gyNjQuaCIKICNpbmNsdWRlICJ3ZWJydGMvbW9kdWxl
cy92aWRlb19jb2RpbmcvY29kZWNzL3ZwOC9pbmNsdWRlL3ZwOC5oIgogI2luY2x1ZGUgIndlYnJ0
Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy9jb2RlY3MvdnA4L2xpYnZweF92cDhfZW5jb2Rlci5oIgor
I2luY2x1ZGUgIndlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy9jb2RlY3MvdnA5L2luY2x1ZGUv
dnA5LmgiCiAjaW5jbHVkZSAid2VicnRjL21vZHVsZXMvdmlkZW9fY29kaW5nL2luY2x1ZGUvdmlk
ZW9fY29kZWNfaW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAid2VicnRjL21vZHVsZXMvdmlkZW9fY29k
aW5nL3V0aWxpdHkvc2ltdWxjYXN0X3V0aWxpdHkuaCIKLQogI2luY2x1ZGUgPGdzdC9hcHAvZ3N0
YXBwc2luay5oPgogI2luY2x1ZGUgPGdzdC9hcHAvZ3N0YXBwc3JjLmg+CiAKQEAgLTEwNyw3ICsx
MDgsNyBAQCBwdWJsaWM6CiAgICAgICAgIFNldFJlc3RyaWN0aW9uQ2FwcyhXVEZNb3ZlKGNhcHMp
KTsKIAogICAgICAgICBpZiAobV9lbmNvZGVyKQotICAgICAgICAgICAgZ19vYmplY3Rfc2V0KG1f
ZW5jb2RlciwgImJpdHJhdGUiLCBwYXJhbWV0ZXJzLmJpdHJhdGUuZ2V0X3N1bV9icHMoKSwgbnVs
bHB0cik7CisgICAgICAgICAgICBnX29iamVjdF9zZXQobV9lbmNvZGVyLmdldCgpLCAiYml0cmF0
ZSIsIHBhcmFtZXRlcnMuYml0cmF0ZS5nZXRfc3VtX2JwcygpLCBudWxscHRyKTsKICAgICB9CiAK
ICAgICBHc3RFbGVtZW50KiBwaXBlbGluZSgpCkBAIC0xMTksOCArMTIwLDcgQEAgcHVibGljOgog
ICAgIHsKICAgICAgICAgc3RhdGljIEF0b21pYzx1aW50MzJfdD4gZWxlbWVudElkOwogICAgICAg
ICBhdXRvIG5hbWUgPSBtYWtlU3RyaW5nKE5hbWUoKSwgIi1lbmMtIiwgZmFjdG9yeU5hbWUsICIt
IiwgZWxlbWVudElkLmV4Y2hhbmdlQWRkKDEpKTsKLSAgICAgICAgYXV0byBlbGVtID0gZ3N0X2Vs
ZW1lbnRfZmFjdG9yeV9tYWtlKGZhY3RvcnlOYW1lLCBuYW1lLnV0ZjgoKS5kYXRhKCkpOwotCisg
ICAgICAgIGF1dG8qIGVsZW0gPSBnc3RfZWxlbWVudF9mYWN0b3J5X21ha2UoZmFjdG9yeU5hbWUs
IG5hbWUudXRmOCgpLmRhdGEoKSk7CiAgICAgICAgIHJldHVybiBlbGVtOwogICAgIH0KIApAQCAt
MTMxLDQwICsxMzEsMzcgQEAgcHVibGljOgogCiAgICAgICAgIGlmICh3ZWJydGM6OlNpbXVsY2Fz
dFV0aWxpdHk6Ok51bWJlck9mU2ltdWxjYXN0U3RyZWFtcygqY29kZWNTZXR0aW5ncykgPiAxKSB7
CiAgICAgICAgICAgICBHU1RfRVJST1IoIlNpbXVsY2FzdCBub3Qgc3VwcG9ydGVkLiIpOwotCiAg
ICAgICAgICAgICByZXR1cm4gV0VCUlRDX1ZJREVPX0NPREVDX0VSUl9TSU1VTENBU1RfUEFSQU1F
VEVSU19OT1RfU1VQUE9SVEVEOwogICAgICAgICB9CiAKICAgICAgICAgbV9waXBlbGluZSA9IG1h
a2VFbGVtZW50KCJwaXBlbGluZSIpOwogCiAgICAgICAgIGNvbm5lY3RTaW1wbGVCdXNNZXNzYWdl
Q2FsbGJhY2sobV9waXBlbGluZS5nZXQoKSk7Ci0gICAgICAgIGF1dG8gZW5jb2RlciA9IGNyZWF0
ZUVuY29kZXIoKTsKLSAgICAgICAgQVNTRVJUKGVuY29kZXIpOwotICAgICAgICBtX2VuY29kZXIg
PSBlbmNvZGVyLmdldCgpOworICAgICAgICBtX2VuY29kZXIgPSBjcmVhdGVFbmNvZGVyKCk7Cisg
ICAgICAgIEFTU0VSVChtX2VuY29kZXIpOwogCi0gICAgICAgIGdfb2JqZWN0X3NldChtX2VuY29k
ZXIsICJrZXlmcmFtZS1pbnRlcnZhbCIsIEtleWZyYW1lSW50ZXJ2YWwoY29kZWNTZXR0aW5ncyks
IG51bGxwdHIpOworICAgICAgICBnX29iamVjdF9zZXQobV9lbmNvZGVyLmdldCgpLCAia2V5ZnJh
bWUtaW50ZXJ2YWwiLCBLZXlmcmFtZUludGVydmFsKGNvZGVjU2V0dGluZ3MpLCBudWxscHRyKTsK
IAogICAgICAgICBtX3NyYyA9IG1ha2VFbGVtZW50KCJhcHBzcmMiKTsKLSAgICAgICAgZ19vYmpl
Y3Rfc2V0KG1fc3JjLCAiaXMtbGl2ZSIsIHRydWUsICJmb3JtYXQiLCBHU1RfRk9STUFUX1RJTUUs
IG51bGxwdHIpOworICAgICAgICBnX29iamVjdF9zZXQobV9zcmMuZ2V0KCksICJpcy1saXZlIiwg
dHJ1ZSwgImZvcm1hdCIsIEdTVF9GT1JNQVRfVElNRSwgbnVsbHB0cik7CiAKLSAgICAgICAgYXV0
byB2aWRlb2NvbnZlcnQgPSBtYWtlRWxlbWVudCgidmlkZW9jb252ZXJ0Iik7Ci0gICAgICAgIGF1
dG8gdmlkZW9zY2FsZSA9IG1ha2VFbGVtZW50KCJ2aWRlb3NjYWxlIik7CisgICAgICAgIGF1dG8q
IHZpZGVvY29udmVydCA9IG1ha2VFbGVtZW50KCJ2aWRlb2NvbnZlcnQiKTsKKyAgICAgICAgYXV0
byogdmlkZW9zY2FsZSA9IG1ha2VFbGVtZW50KCJ2aWRlb3NjYWxlIik7CiAgICAgICAgIG1fc2lu
ayA9IG1ha2VFbGVtZW50KCJhcHBzaW5rIik7Ci0gICAgICAgIGdfb2JqZWN0X3NldChtX3Npbmss
ICJzeW5jIiwgRkFMU0UsIG51bGxwdHIpOworICAgICAgICBnX29iamVjdF9zZXQobV9zaW5rLmdl
dCgpLCAic3luYyIsIEZBTFNFLCBudWxscHRyKTsKIAogICAgICAgICBtX2NhcHNGaWx0ZXIgPSBt
YWtlRWxlbWVudCgiY2Fwc2ZpbHRlciIpOwogICAgICAgICBpZiAobV9yZXN0cmljdGlvbkNhcHMp
Ci0gICAgICAgICAgICBnX29iamVjdF9zZXQobV9jYXBzRmlsdGVyLCAiY2FwcyIsIG1fcmVzdHJp
Y3Rpb25DYXBzLmdldCgpLCBudWxscHRyKTsKLQotICAgICAgICBnc3RfYmluX2FkZF9tYW55KEdT
VF9CSU4obV9waXBlbGluZS5nZXQoKSksIG1fc3JjLCB2aWRlb2NvbnZlcnQsIHZpZGVvc2NhbGUs
IG1fY2Fwc0ZpbHRlciwgZW5jb2Rlci5sZWFrUmVmKCksIG1fc2luaywgbnVsbHB0cik7Ci0gICAg
ICAgIGlmICghZ3N0X2VsZW1lbnRfbGlua19tYW55KG1fc3JjLCB2aWRlb2NvbnZlcnQsIHZpZGVv
c2NhbGUsIG1fY2Fwc0ZpbHRlciwgbV9lbmNvZGVyLCBtX3NpbmssIG51bGxwdHIpKSB7Ci0gICAg
ICAgICAgICBHU1RfREVCVUdfQklOX1RPX0RPVF9GSUxFX1dJVEhfVFMoR1NUX0JJTihtX3BpcGVs
aW5lLmdldCgpKSwgR1NUX0RFQlVHX0dSQVBIX1NIT1dfVkVSQk9TRSwgIndlYmtpdC13ZWJydGMt
ZW5jb2Rlci5lcnJvciIpOworICAgICAgICAgICAgZ19vYmplY3Rfc2V0KG1fY2Fwc0ZpbHRlci5n
ZXQoKSwgImNhcHMiLCBtX3Jlc3RyaWN0aW9uQ2Fwcy5nZXQoKSwgbnVsbHB0cik7CiAKKyAgICAg
ICAgZ3N0X2Jpbl9hZGRfbWFueShHU1RfQklOX0NBU1QobV9waXBlbGluZS5nZXQoKSksIG1fc3Jj
LmdldCgpLCB2aWRlb2NvbnZlcnQsIHZpZGVvc2NhbGUsIG1fY2Fwc0ZpbHRlci5nZXQoKSwgbV9l
bmNvZGVyLmdldCgpLCBtX3NpbmsuZ2V0KCksIG51bGxwdHIpOworICAgICAgICBpZiAoIWdzdF9l
bGVtZW50X2xpbmtfbWFueShtX3NyYy5nZXQoKSwgdmlkZW9jb252ZXJ0LCB2aWRlb3NjYWxlLCBt
X2NhcHNGaWx0ZXIuZ2V0KCksIG1fZW5jb2Rlci5nZXQoKSwgbV9zaW5rLmdldCgpLCBudWxscHRy
KSkgeworICAgICAgICAgICAgR1NUX0RFQlVHX0JJTl9UT19ET1RfRklMRV9XSVRIX1RTKEdTVF9C
SU5fQ0FTVChtX3BpcGVsaW5lLmdldCgpKSwgR1NUX0RFQlVHX0dSQVBIX1NIT1dfVkVSQk9TRSwg
IndlYmtpdC13ZWJydGMtZW5jb2Rlci5lcnJvciIpOwogICAgICAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CiAgICAgICAgIH0KIAogICAgICAgICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9w
aXBlbGluZS5nZXQoKSwgR1NUX1NUQVRFX1BMQVlJTkcpOwotCisgICAgICAgIEdTVF9ERUJVR19C
SU5fVE9fRE9UX0ZJTEVfV0lUSF9UUyhHU1RfQklOX0NBU1QobV9waXBlbGluZS5nZXQoKSksIEdT
VF9ERUJVR19HUkFQSF9TSE9XX1ZFUkJPU0UsICJ3ZWJraXQtd2VicnRjLWVuY29kZXIiKTsKICAg
ICAgICAgcmV0dXJuIFdFQlJUQ19WSURFT19DT0RFQ19PSzsKICAgICB9CiAKQEAgLTIzNiwxMyAr
MjMzLDEzIEBAIHB1YmxpYzoKIAogICAgICAgICBpZiAoIUdTVF9DTE9DS19USU1FX0lTX1ZBTElE
KG1fZmlyc3RGcmFtZVB0cykpIHsKICAgICAgICAgICAgIG1fZmlyc3RGcmFtZVB0cyA9IEdTVF9C
VUZGRVJfUFRTKGJ1ZmZlcik7Ci0gICAgICAgICAgICBhdXRvIHBhZCA9IGFkb3B0R1JlZihnc3Rf
ZWxlbWVudF9nZXRfc3RhdGljX3BhZChtX3NyYywgInNyYyIpKTsKKyAgICAgICAgICAgIGF1dG8g
cGFkID0gYWRvcHRHUmVmKGdzdF9lbGVtZW50X2dldF9zdGF0aWNfcGFkKG1fc3JjLmdldCgpLCAi
c3JjIikpOwogICAgICAgICAgICAgZ3N0X3BhZF9zZXRfb2Zmc2V0KHBhZC5nZXQoKSwgLW1fZmly
c3RGcmFtZVB0cyk7CiAgICAgICAgIH0KIAogICAgICAgICBmb3IgKGF1dG8gZnJhbWVfdHlwZSA6
ICpmcmFtZVR5cGVzKSB7CiAgICAgICAgICAgICBpZiAoZnJhbWVfdHlwZSA9PSB3ZWJydGM6OlZp
ZGVvRnJhbWVUeXBlOjprVmlkZW9GcmFtZUtleSkgewotICAgICAgICAgICAgICAgIGF1dG8gcGFk
ID0gYWRvcHRHUmVmKGdzdF9lbGVtZW50X2dldF9zdGF0aWNfcGFkKG1fc3JjLCAic3JjIikpOwor
ICAgICAgICAgICAgICAgIGF1dG8gcGFkID0gYWRvcHRHUmVmKGdzdF9lbGVtZW50X2dldF9zdGF0
aWNfcGFkKG1fc3JjLmdldCgpLCAic3JjIikpOwogICAgICAgICAgICAgICAgIGF1dG8gZm9yY2VL
ZXlVbml0ID0gZ3N0X3ZpZGVvX2V2ZW50X25ld19kb3duc3RyZWFtX2ZvcmNlX2tleV91bml0KEdT
VF9DTE9DS19USU1FX05PTkUsCiAgICAgICAgICAgICAgICAgICAgIEdTVF9DTE9DS19USU1FX05P
TkUsIEdTVF9DTE9DS19USU1FX05PTkUsIEZBTFNFLCAxKTsKICAgICAgICAgICAgICAgICBHU1Rf
SU5GT19PQkpFQ1QobV9waXBlbGluZS5nZXQoKSwgIlJlcXVlc3RpbmcgS0VZRlJBTUUhIik7CkBA
IC0yNTQsMTEgKzI1MSwxMSBAQCBwdWJsaWM6CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAot
ICAgICAgICByZXMgPSByZXR1cm5Gcm9tRmxvd1JldHVybihnc3RfYXBwX3NyY19wdXNoX3NhbXBs
ZShHU1RfQVBQX1NSQyhtX3NyYyksIHNhbXBsZS5nZXQoKSkpOworICAgICAgICByZXMgPSByZXR1
cm5Gcm9tRmxvd1JldHVybihnc3RfYXBwX3NyY19wdXNoX3NhbXBsZShHU1RfQVBQX1NSQyhtX3Ny
Yy5nZXQoKSksIHNhbXBsZS5nZXQoKSkpOwogICAgICAgICBpZiAocmVzICE9IFdFQlJUQ19WSURF
T19DT0RFQ19PSykKICAgICAgICAgICAgIHJldHVybiByZXM7CiAKLSAgICAgICAgYXV0byBlbmNv
ZGVkU2FtcGxlID0gYWRvcHRHUmVmKGdzdF9hcHBfc2lua190cnlfcHVsbF9zYW1wbGUoR1NUX0FQ
UF9TSU5LKG1fc2luayksIDUgKiBHU1RfU0VDT05EKSk7CisgICAgICAgIGF1dG8gZW5jb2RlZFNh
bXBsZSA9IGFkb3B0R1JlZihnc3RfYXBwX3NpbmtfdHJ5X3B1bGxfc2FtcGxlKEdTVF9BUFBfU0lO
SyhtX3NpbmsuZ2V0KCkpLCA1ICogR1NUX1NFQ09ORCkpOwogICAgICAgICBpZiAoIWVuY29kZWRT
YW1wbGUpIHsKICAgICAgICAgICAgIEdTVF9FUlJPUigiRGlkbid0IGdldCBhbnkgZW5jb2RlZFNh
bXBsZSIpOwogICAgICAgICAgICAgcmV0dXJuIFdFQlJUQ19WSURFT19DT0RFQ19FUlJPUjsKQEAg
LTI5MywxNSArMjkwLDEzIEBAIHB1YmxpYzoKIAogICAgIEdSZWZQdHI8R3N0RWxlbWVudD4gY3Jl
YXRlRW5jb2Rlcih2b2lkKQogICAgIHsKLSAgICAgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBlbmNv
ZGVyID0gbnVsbHB0cjsKLSAgICAgICAgR3N0RWxlbWVudCogd2VicnRjZW5jb2RlciA9IEdTVF9F
TEVNRU5UKGdfb2JqZWN0X3JlZl9zaW5rKGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZSgid2VicnRj
dmlkZW9lbmNvZGVyIiwgTlVMTCkpKTsKLQotICAgICAgICBnX29iamVjdF9zZXQod2VicnRjZW5j
b2RlciwgImZvcm1hdCIsIGFkb3B0R1JlZihnc3RfY2Fwc19mcm9tX3N0cmluZyhDYXBzKCkpKS5n
ZXQoKSwgTlVMTCk7Ci0gICAgICAgIGdfb2JqZWN0X2dldCh3ZWJydGNlbmNvZGVyLCAiZW5jb2Rl
ciIsICZlbmNvZGVyLm91dFB0cigpLCBOVUxMKTsKKyAgICAgICAgR1JlZlB0cjxHc3RFbGVtZW50
PiB3ZWJydGNlbmNvZGVyID0gZ3N0X2VsZW1lbnRfZmFjdG9yeV9tYWtlKCJ3ZWJydGN2aWRlb2Vu
Y29kZXIiLCBOVUxMKTsKKyAgICAgICAgZ19vYmplY3Rfc2V0KHdlYnJ0Y2VuY29kZXIuZ2V0KCks
ICJmb3JtYXQiLCBhZG9wdEdSZWYoZ3N0X2NhcHNfZnJvbV9zdHJpbmcoQ2FwcygpKSkuZ2V0KCks
IE5VTEwpOwogCisgICAgICAgIEdSZWZQdHI8R3N0RWxlbWVudD4gZW5jb2RlciA9IG51bGxwdHI7
CisgICAgICAgIGdfb2JqZWN0X2dldCh3ZWJydGNlbmNvZGVyLmdldCgpLCAiZW5jb2RlciIsICZl
bmNvZGVyLm91dFB0cigpLCBOVUxMKTsKICAgICAgICAgaWYgKCFlbmNvZGVyKSB7CiAgICAgICAg
ICAgICBHU1RfSU5GTygiTm8gZW5jb2RlciBmb3VuZCBmb3IgJXMiLCBDYXBzKCkpOwotCiAgICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgfQogCkBAIC0zMzQsMTYgKzMyOSwxNiBA
QCBwdWJsaWM6CiAgICAgdm9pZCBTZXRSZXN0cmljdGlvbkNhcHMoR1JlZlB0cjxHc3RDYXBzPiBj
YXBzKQogICAgIHsKICAgICAgICAgaWYgKG1fcmVzdHJpY3Rpb25DYXBzKQotICAgICAgICAgICAg
Z19vYmplY3Rfc2V0KG1fY2Fwc0ZpbHRlciwgImNhcHMiLCBtX3Jlc3RyaWN0aW9uQ2Fwcy5nZXQo
KSwgbnVsbHB0cik7CisgICAgICAgICAgICBnX29iamVjdF9zZXQobV9jYXBzRmlsdGVyLmdldCgp
LCAiY2FwcyIsIG1fcmVzdHJpY3Rpb25DYXBzLmdldCgpLCBudWxscHRyKTsKIAogICAgICAgICBt
X3Jlc3RyaWN0aW9uQ2FwcyA9IGNhcHM7CiAgICAgfQogCiBwcml2YXRlOgogICAgIEdSZWZQdHI8
R3N0RWxlbWVudD4gbV9waXBlbGluZTsKLSAgICBHc3RFbGVtZW50KiBtX3NyYzsKLSAgICBHc3RF
bGVtZW50KiBtX2VuY29kZXI7Ci0gICAgR3N0RWxlbWVudCogbV9jYXBzRmlsdGVyOworICAgIEdS
ZWZQdHI8R3N0RWxlbWVudD4gbV9zcmM7CisgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBtX2VuY29k
ZXI7CisgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBtX2NhcHNGaWx0ZXI7CiAKICAgICB3ZWJydGM6
OkVuY29kZWRJbWFnZUNhbGxiYWNrKiBtX2ltYWdlUmVhZHlDYjsKICAgICBHc3RDbG9ja1RpbWUg
bV9maXJzdEZyYW1lUHRzOwpAQCAtMzUxLDcgKzM0Niw3IEBAIHByaXZhdGU6CiAgICAgd2VicnRj
OjpFbmNvZGVkSW1hZ2UgbV9lbmNvZGVkRnJhbWU7CiAKICAgICBMb2NrIG1fYnVmZmVyTWFwTG9j
azsKLSAgICBHc3RFbGVtZW50KiBtX3Npbms7CisgICAgR1JlZlB0cjxHc3RFbGVtZW50PiBtX3Np
bms7CiB9OwogCiBjbGFzcyBHU3RyZWFtZXJIMjY0RW5jb2RlciA6IHB1YmxpYyBHU3RyZWFtZXJW
aWRlb0VuY29kZXIgewpAQCAtMzkzLDQyICszODgsMTcgQEAgcHVibGljOgogICAgIHdlYnJ0Yzo6
SDI2NFBhY2tldGl6YXRpb25Nb2RlIHBhY2tldGl6YXRpb25Nb2RlOwogfTsKIAotY2xhc3MgR1N0
cmVhbWVyVlA4RW5jb2RlciA6IHB1YmxpYyBHU3RyZWFtZXJWaWRlb0VuY29kZXIgewotcHVibGlj
OgotICAgIEdTdHJlYW1lclZQOEVuY29kZXIoKSB7IH0KLSAgICBHU3RyZWFtZXJWUDhFbmNvZGVy
KGNvbnN0IHdlYnJ0Yzo6U2RwVmlkZW9Gb3JtYXQmKSB7IH0KLSAgICBjb25zdCBnY2hhciogQ2Fw
cygpIGZpbmFsIHsgcmV0dXJuICJ2aWRlby94LXZwOCI7IH0KLSAgICBjb25zdCBnY2hhciogTmFt
ZSgpIGZpbmFsIHsgcmV0dXJuIGNyaWNrZXQ6OmtWcDhDb2RlY05hbWU7IH0KLSAgICB3ZWJydGM6
OlZpZGVvQ29kZWNUeXBlIENvZGVjVHlwZSgpIGZpbmFsIHsgcmV0dXJuIHdlYnJ0Yzo6a1ZpZGVv
Q29kZWNWUDg7IH0KLQotICAgIGludCBLZXlmcmFtZUludGVydmFsKGNvbnN0IHdlYnJ0Yzo6Vmlk
ZW9Db2RlYyogY29kZWNTZXR0aW5ncykgZmluYWwKLSAgICB7Ci0gICAgICAgIHJldHVybiBjb2Rl
Y1NldHRpbmdzLT5WUDgoKS5rZXlGcmFtZUludGVydmFsOwotICAgIH0KLQotICAgIHZvaWQgUG9w
dWxhdGVDb2RlY1NwZWNpZmljKHdlYnJ0Yzo6Q29kZWNTcGVjaWZpY0luZm8qIGNvZGVjU3BlY2lm
aWNJbmZvcywgY29uc3QgR3N0QnVmZmVyKiBidWZmZXIpIGZpbmFsCi0gICAgewotICAgICAgICBj
b2RlY1NwZWNpZmljSW5mb3MtPmNvZGVjVHlwZSA9IHdlYnJ0Yzo6a1ZpZGVvQ29kZWNWUDg7Ci0g
ICAgICAgIHdlYnJ0Yzo6Q29kZWNTcGVjaWZpY0luZm9WUDgqIHZwOEluZm8gPSAmKGNvZGVjU3Bl
Y2lmaWNJbmZvcy0+Y29kZWNTcGVjaWZpYy5WUDgpOwotICAgICAgICB2cDhJbmZvLT50ZW1wb3Jh
bElkeCA9IDA7Ci0KLSAgICAgICAgdnA4SW5mby0+a2V5SWR4ID0gd2VicnRjOjprTm9LZXlJZHg7
Ci0gICAgICAgIHZwOEluZm8tPm5vblJlZmVyZW5jZSA9IEdTVF9CVUZGRVJfRkxBR19JU19TRVQo
YnVmZmVyLCBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCk7Ci0gICAgfQotfTsKLQogc3RkOjp1
bmlxdWVfcHRyPHdlYnJ0Yzo6VmlkZW9FbmNvZGVyPiBHU3RyZWFtZXJWaWRlb0VuY29kZXJGYWN0
b3J5OjpDcmVhdGVWaWRlb0VuY29kZXIoY29uc3Qgd2VicnRjOjpTZHBWaWRlb0Zvcm1hdCYgZm9y
bWF0KQogewotICAgIGlmIChmb3JtYXQubmFtZSA9PSBjcmlja2V0OjprVnA4Q29kZWNOYW1lKSB7
Ci0gICAgICAgIEdSZWZQdHI8R3N0RWxlbWVudD4gd2VicnRjZW5jb2RlciA9IGFkb3B0R1JlZihH
U1RfRUxFTUVOVChnX29iamVjdF9yZWZfc2luayhnc3RfZWxlbWVudF9mYWN0b3J5X21ha2UoIndl
YnJ0Y3ZpZGVvZW5jb2RlciIsIE5VTEwpKSkpOwotICAgICAgICBHUmVmUHRyPEdzdEVsZW1lbnQ+
IGVuY29kZXIgPSBudWxscHRyOwotCi0gICAgICAgIGdfb2JqZWN0X3NldCh3ZWJydGNlbmNvZGVy
LmdldCgpLCAiZm9ybWF0IiwgYWRvcHRHUmVmKGdzdF9jYXBzX2Zyb21fc3RyaW5nKCJ2aWRlby94
LXZwOCIpKS5nZXQoKSwgTlVMTCk7Ci0gICAgICAgIGdfb2JqZWN0X2dldCh3ZWJydGNlbmNvZGVy
LmdldCgpLCAiZW5jb2RlciIsICZlbmNvZGVyLm91dFB0cigpLCBOVUxMKTsKLQotICAgICAgICBp
ZiAoZW5jb2RlcikKLSAgICAgICAgICAgIHJldHVybiBtYWtlVW5pcXVlPEdTdHJlYW1lclZQOEVu
Y29kZXI+KGZvcm1hdCk7CisgICAgLy8gRklYTUU6IHZweGVuYyBkb2Vzbid0IHN1cHBvcnQgc2lt
dWxjYXN0IG5vciBTVkMuIHZwOWVuYyBzdXBwb3J0cyBvbmx5IHByb2ZpbGUgMC4gVGhlc2UKKyAg
ICAvLyBzaG9ydGNvbWluZ3MgdHJpZ2dlciB3ZWJydGMvdnA5Lmh0bWwgYW5kIHdlYnJ0Yy9zaW11
bGNhc3QtaDI2NC5odG1sIHRpbWVvdXRzIGFuZCBtb3N0IGxpa2VseQorICAgIC8vIGJhZCBVWCBp
biBXUEUvR1RLIGJyb3dzZXJzLiBTbyBmb3Igbm93IHdlIHByZWZlciB0byB1c2UgTGliV2ViUlRD
J3MgVlB4IGVuY29kZXJzLgorICAgIGlmIChmb3JtYXQubmFtZSA9PSBjcmlja2V0OjprVnA5Q29k
ZWNOYW1lKSB7CisgICAgICAgIEdTVF9JTkZPKCJVc2luZyBWUDkgRW5jb2RlciBmcm9tIExpYldl
YlJUQy4iKTsKKyAgICAgICAgcmV0dXJuIHdlYnJ0Yzo6VlA5RW5jb2Rlcjo6Q3JlYXRlKGNyaWNr
ZXQ6OlZpZGVvQ29kZWMoZm9ybWF0KSk7CisgICAgfQogCisgICAgaWYgKGZvcm1hdC5uYW1lID09
IGNyaWNrZXQ6OmtWcDhDb2RlY05hbWUpIHsKICAgICAgICAgR1NUX0lORk8oIlVzaW5nIFZQOCBF
bmNvZGVyIGZyb20gTGliV2ViUlRDLiIpOwogICAgICAgICByZXR1cm4gbWFrZVVuaXF1ZVdpdGhv
dXRGYXN0TWFsbG9jQ2hlY2s8d2VicnRjOjpMaWJ2cHhWcDhFbmNvZGVyPih3ZWJydGM6OkxpYnZw
eEludGVyZmFjZTo6Q3JlYXRlRW5jb2RlcigpLCB3ZWJydGM6OlZQOEVuY29kZXI6OlNldHRpbmdz
KCkpOwogICAgIH0KQEAgLTQ0Niw3ICs0MTYsOSBAQCBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpW
aWRlb0VuY29kZXI+IEdTdHJlYW1lclZpZGVvRW5jb2RlckZhY3Rvcnk6OkNyZWF0ZVZpZGVvRQog
ICAgIHJldHVybiBudWxscHRyOwogfQogCi1HU3RyZWFtZXJWaWRlb0VuY29kZXJGYWN0b3J5OjpH
U3RyZWFtZXJWaWRlb0VuY29kZXJGYWN0b3J5KCkKK0dTdHJlYW1lclZpZGVvRW5jb2RlckZhY3Rv
cnk6OkdTdHJlYW1lclZpZGVvRW5jb2RlckZhY3RvcnkoYm9vbCBpc1N1cHBvcnRpbmdWUDlQcm9m
aWxlMCwgYm9vbCBpc1N1cHBvcnRpbmdWUDlQcm9maWxlMikKKyAgICA6IG1faXNTdXBwb3J0aW5n
VlA5UHJvZmlsZTAoaXNTdXBwb3J0aW5nVlA5UHJvZmlsZTApCisgICAgLCBtX2lzU3VwcG9ydGlu
Z1ZQOVByb2ZpbGUyKGlzU3VwcG9ydGluZ1ZQOVByb2ZpbGUyKQogewogICAgIGVuc3VyZUdTdHJl
YW1lckluaXRpYWxpemVkKCk7CiAKQEAgLTQ2NCw2ICs0MzYsMTAgQEAgc3RkOjp2ZWN0b3I8d2Vi
cnRjOjpTZHBWaWRlb0Zvcm1hdD4gR1N0cmVhbWVyVmlkZW9FbmNvZGVyRmFjdG9yeTo6R2V0U3Vw
cG9ydGVkRm8KICAgICBzdGQ6OnZlY3Rvcjx3ZWJydGM6OlNkcFZpZGVvRm9ybWF0PiBzdXBwb3J0
ZWRDb2RlY3M7CiAKICAgICBzdXBwb3J0ZWRDb2RlY3MucHVzaF9iYWNrKHdlYnJ0Yzo6U2RwVmlk
ZW9Gb3JtYXQoY3JpY2tldDo6a1ZwOENvZGVjTmFtZSkpOworICAgIGlmIChtX2lzU3VwcG9ydGlu
Z1ZQOVByb2ZpbGUwKQorICAgICAgICBzdXBwb3J0ZWRDb2RlY3MucHVzaF9iYWNrKHdlYnJ0Yzo6
U2RwVmlkZW9Gb3JtYXQoY3JpY2tldDo6a1ZwOUNvZGVjTmFtZSwge3sicHJvZmlsZS1pZCIsICIw
In19KSk7CisgICAgaWYgKG1faXNTdXBwb3J0aW5nVlA5UHJvZmlsZTIpCisgICAgICAgIHN1cHBv
cnRlZENvZGVjcy5wdXNoX2JhY2sod2VicnRjOjpTZHBWaWRlb0Zvcm1hdChjcmlja2V0OjprVnA5
Q29kZWNOYW1lLCB7eyJwcm9maWxlLWlkIiwgIjIifX0pKTsKIAogICAgIC8vIElmIE9wZW5IMjY0
IGlzIHByZXNlbnQsIHByZWZlciBpdCBvdmVyIHRoZSBHU3RyZWFtZXIgZW5jb2RlcnMgKHgyNjRl
bmMsIHVzdWFsbHkpLgogI2lmIFdFQktJVF9MSUJXRUJSVENfT1BFTkgyNjRfRU5DT0RFUgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0dT
dHJlYW1lclZpZGVvRW5jb2RlckZhY3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9HU3RyZWFtZXJWaWRlb0VuY29kZXJGYWN0b3J5LmgKaW5kZXgg
YWRmNmM5MjFmMzgyMTUyYjA2ZWY1OWU4ZWYyZTFkNDdhYmU1NDk1NC4uZjIwNzE1NDlhMzRhZDY1
ZWQzNzBjYzY4MDMzMjZiNGFmOGViMDIxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0dTdHJlYW1lclZpZGVvRW5jb2RlckZhY3Rvcnku
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvR1N0
cmVhbWVyVmlkZW9FbmNvZGVyRmFjdG9yeS5oCkBAIC0yMywyNCArMjMsMjYgQEAKICNpZiBVU0Uo
TElCV0VCUlRDKSAmJiBVU0UoR1NUUkVBTUVSKQogI2luY2x1ZGUgIkxpYldlYlJUQ01hY3Jvcy5o
IgogI2luY2x1ZGUgImFwaS92aWRlb19jb2RlY3MvdmlkZW9fZW5jb2Rlcl9mYWN0b3J5LmgiCi0j
aW5jbHVkZSA8Z3N0L2dzdC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEdTdHJl
YW1lclZpZGVvRW5jb2RlckZhY3RvcnkgZmluYWwgOiBwdWJsaWMgd2VicnRjOjpWaWRlb0VuY29k
ZXJGYWN0b3J5IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBH
U3RyZWFtZXJWaWRlb0VuY29kZXJGYWN0b3J5KCk7CisgICAgR1N0cmVhbWVyVmlkZW9FbmNvZGVy
RmFjdG9yeShib29sIGlzU3VwcG9ydGluZ1ZQOVByb2ZpbGUwLCBib29sIGlzU3VwcG9ydGluZ1ZQ
OVByb2ZpbGUyKTsKIAogcHJpdmF0ZToKICAgICBzdGQ6OnZlY3Rvcjx3ZWJydGM6OlNkcFZpZGVv
Rm9ybWF0PiBHZXRTdXBwb3J0ZWRGb3JtYXRzKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPHdlYnJ0Yzo6VmlkZW9FbmNvZGVyPiBDcmVhdGVWaWRlb0VuY29kZXIoY29uc3Qg
d2VicnRjOjpTZHBWaWRlb0Zvcm1hdCYpIGZpbmFsOwogICAgIENvZGVjSW5mbyBRdWVyeVZpZGVv
RW5jb2Rlcihjb25zdCB3ZWJydGM6OlNkcFZpZGVvRm9ybWF0JikgY29uc3Qgb3ZlcnJpZGUKICAg
ICB7Ci0gICAgICAgIEdTVF9GSVhNRSgiRGV0ZWN0IHdoZXRoZXIgdGhlIGRlY29kZXIgaXMgSFcg
YWNjZWxlcmF0ZWQiKTsKKyAgICAgICAgLy8gRklYTUU6IERldGVjdCB3aGV0aGVyIHRoZSBkZWNv
ZGVyIGlzIEhXIGFjY2VsZXJhdGVkLgogCiAgICAgICAgIHJldHVybiB7IGZhbHNlIH07CiAgICAg
fQorCisgICAgYm9vbCBtX2lzU3VwcG9ydGluZ1ZQOVByb2ZpbGUwOworICAgIGJvb2wgbV9pc1N1
cHBvcnRpbmdWUDlQcm9maWxlMjsKIH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlckdTdHJlYW1l
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUHJvdmlkZXJHU3RyZWFtZXIuY3BwCmluZGV4IDViODI3M2IwODUxOTZmZmQzMGU0ZDdh
N2Y2NTUxMGJlYzA4MDMxNjkuLjcwZTgxNDdjNmMxZGE5MmZjNjhmNjUyYjkzYzJjM2Y1NmE3Y2Y5
YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENQcm92aWRlckdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyR1N0cmVhbWVy
LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgVVNFKExJQldFQlJUQykgJiYgVVNFKEdTVFJF
QU1FUikKIAorI2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKICNpbmNsdWRlIDx3
dGYvVW5pcXVlUmVmLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ0LDEyICs0NSwxMiBA
QCBib29sIExpYldlYlJUQ1Byb3ZpZGVyOjp3ZWJSVENBdmFpbGFibGUoKQogCiBzdGQ6OnVuaXF1
ZV9wdHI8d2VicnRjOjpWaWRlb0RlY29kZXJGYWN0b3J5PiBMaWJXZWJSVENQcm92aWRlckdTdHJl
YW1lcjo6Y3JlYXRlRGVjb2RlckZhY3RvcnkoKQogewotICAgIHJldHVybiBtYWtlVW5pcXVlPEdT
dHJlYW1lclZpZGVvRGVjb2RlckZhY3Rvcnk+KCk7CisgICAgcmV0dXJuIG1ha2VVbmlxdWU8R1N0
cmVhbWVyVmlkZW9EZWNvZGVyRmFjdG9yeT4oaXNTdXBwb3J0aW5nVlA5UHJvZmlsZTAoKSwgaXNT
dXBwb3J0aW5nVlA5UHJvZmlsZTIoKSk7CiB9CiAKIHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlZp
ZGVvRW5jb2RlckZhY3Rvcnk+IExpYldlYlJUQ1Byb3ZpZGVyR1N0cmVhbWVyOjpjcmVhdGVFbmNv
ZGVyRmFjdG9yeSgpCiB7Ci0gICAgcmV0dXJuIG1ha2VVbmlxdWU8R1N0cmVhbWVyVmlkZW9FbmNv
ZGVyRmFjdG9yeT4oKTsKKyAgICByZXR1cm4gbWFrZVVuaXF1ZTxHU3RyZWFtZXJWaWRlb0VuY29k
ZXJGYWN0b3J5Pihpc1N1cHBvcnRpbmdWUDlQcm9maWxlMCgpLCBpc1N1cHBvcnRpbmdWUDlQcm9m
aWxlMigpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGVkMzNiZDBhMWQy
MzU5Yzk5YWNmM2VhZWVjZGRjNWU1NzhhN2M0MDguLjU5MTM2Yzk2MmVmOGZiMjVlNjk0ZjFkZWFk
NTg0NTA1MTg3ZTA2ODcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0wNC0yMSAgUGhpbGlw
cGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0xpYldlYlJUQ11b
V1BFXVtHVEtdIEVuYWJsZSB2cDkgYW5kIE5PX01BSU5fVEhSRUFEX1dSQVBQSU5HCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI3OTUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgR0xJQiBiYXNl
bGluZXMgZm9yIHdlYnJ0YyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dsaWIvVGVzdEV4
cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9nbGliL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2VicnRjL1JUQ1BlZXJDb25uZWN0aW9uLW9ubmVnb3RpYXRpb25uZWVkZWQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9nbGliL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1BlZXJDb25uZWN0aW9uLXJlc3RhcnRJY2Uu
aHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9nbGliL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1J0cFRyYW5zY2VpdmVyLXNldENv
ZGVjUHJlZmVyZW5jZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAyMS0wNC0yMSAgTWFydGlu
IFJvYmluc29uICA8bXJvYmluc29uQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIGJhc2ljIChu
b24tbW9tZW50dW0pIHdoZWVsIGV2ZW50IGhhbmRsaW5nIGZvciBzY3JvbGwgc25hcApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDVhMzQyMmM3MGMyMDIy
OWRjZDU0MDBmNzBjMzFjYWNhM2Q4NDQzY2MuLmYxMWZlMjU1YzFkY2NjM2EzN2U2MmIyMTU1ZGMw
ZjlmMzA3MmY2NWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTExMjAsOCArMTEyMCw2IEBAIHdlYmtpdC5vcmcvYi8yMjI1ODUgWyBEZWJ1ZyBdIHdl
YnJ0Yy92aWRlby1oMjY0Lmh0bWwgWyBDcmFzaCBdCiB3ZWJraXQub3JnL2IvMjEwMjcyIHdlYnJ0
Yy9kYXRhY2hhbm5lbC9tdWx0aXBsZS1jb25uZWN0aW9ucy5odG1sIFsgVGltZW91dCBQYXNzIF0K
IHdlYmtpdC5vcmcvYi8yMTI4MDkgWyBSZWxlYXNlIF0gd2VicnRjL2RhdGFjaGFubmVsL2dhdGhl
ci1jYW5kaWRhdGVzLW5ldHdvcmtwcm9jZXNzLWNyYXNoLmh0bWwgWyBUaW1lb3V0IFBhc3MgXQog
Ci13ZWJraXQub3JnL2IvMjEzNzgwIHdlYnJ0Yy92cDkuaHRtbCBbIEZhaWx1cmUgXQotCiB3ZWJr
aXQub3JnL2IvMjE1MDA1IHdlYmtpdC5vcmcvYi8yMTg3ODcgd2VicnRjL2gyNjQtYmFzZWxpbmUu
aHRtbCBbIENyYXNoIFRpbWVvdXQgXQogIyBoMjY0LWhpZ2guaHRtbCBpcyBtYXJrZWQgYXMgc2xv
dyBpbiB0aGUgcm9vdCBleHBlY3RhdGlvbgogd2Via2l0Lm9yZy9iLzIxNTAwNyBbIFJlbGVhc2Ug
XSB3ZWJydGMvaDI2NC1oaWdoLmh0bWwgWyBUaW1lb3V0IF0KQEAgLTExMzgsNyArMTEzNiw3IEBA
IHdlYmtpdC5vcmcvYi8yMTY1Mzggd2VicnRjL2NhcHR1cmVDYW52YXMtd2VicnRjLXNvZnR3YXJl
LWgyNjQtYmFzZWxpbmUuaHRtbCBbIFNsCiAKIHdlYmtpdC5vcmcvYi8yMTY3NjMgd2VicnRjL2Nh
cHR1cmVDYW52YXMtd2VicnRjLXNvZnR3YXJlLWgyNjQtaGlnaC5odG1sIFsgQ3Jhc2ggRmFpbHVy
ZSBdCiAKLXdlYmtpdC5vcmcvYi8yMTgyMjEgd2VicnRjL3ZwOS1wcm9maWxlMi5odG1sIFsgRmFp
bHVyZSBdCit3ZWJraXQub3JnL2IvMjE4MjIxIHdlYnJ0Yy92cDktcHJvZmlsZTIuaHRtbCBbIFRp
bWVvdXQgRmFpbHVyZSBdCiAKICMgUmVsZWFzZSB0aW1pbmcgb3V0Lgogd2Via2l0Lm9yZy9iLzIx
OTgyNSBbIFJlbGVhc2UgXSB3ZWJydGMvc2ZyYW1lLWtleXMuaHRtbCBbIFNraXAgXQpAQCAtMjAy
OSwyMiArMjAyNywxOCBAQCB3ZWJraXQub3JnL2IvMTg2MDg2IGZhc3QvdGV4dC9mb250LWNvbGxl
Y3Rpb24uaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE4NjEwMCBjc3Mz
L2NvbG9yLWZpbHRlcnMvY29sb3ItZmlsdGVyLWNvbG9yLXByb3BlcnR5LWxpc3QtaXRlbS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTg2MTAwIGZhc3QvaGlkcGkvZmls
dGVycy10dXJidWxlbmNlLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8x
ODcwNDQgd2ViYW5pbWF0aW9ucy9vcGFjaXR5LWFuaW1hdGlvbi15aWVsZHMtY29tcG9zaXRpbmct
c3Bhbi5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTg3MDY0IHdlYnJ0Yy9hdWRpby1w
ZWVyLWNvbm5lY3Rpb24tZzcyMi5odG1sCi13ZWJraXQub3JnL2IvMTg3MDY0IHdlYnJ0Yy9jYXB0
dXJlQ2FudmFzLXdlYnJ0Yy5odG1sCi13ZWJraXQub3JnL2IvMTg3MDY0IHdlYnJ0Yy9kYXRhY2hh
bm5lbC9tZG5zLWljZS1jYW5kaWRhdGVzLmh0bWwKKwogd2Via2l0Lm9yZy9iLzE4NzA2NCB3ZWJy
dGMvbGlid2VicnRjL2Rlc2NyaXB0aW9uR2V0dGVycy5odG1sCi13ZWJraXQub3JnL2IvMTg3MDY0
IHdlYnJ0Yy9wZWVyLWNvbm5lY3Rpb24tdHJhY2stZW5kLmh0bWwKK3dlYmtpdC5vcmcvYi8xODcw
NjQgd2VicnRjL2RhdGFjaGFubmVsL21kbnMtaWNlLWNhbmRpZGF0ZXMuaHRtbAogd2Via2l0Lm9y
Zy9iLzE4NzA2NCB3ZWJydGMvdmlkZW8tYWRkVHJhY2suaHRtbAotd2Via2l0Lm9yZy9iLzE4NzA2
NCB3ZWJydGMvdmlkZW8tYWRkVHJhbnNjZWl2ZXIuaHRtbAogd2Via2l0Lm9yZy9iLzE4NzA2NCB3
ZWJydGMvdmlkZW8tZGlzYWJsZWQtYmxhY2suaHRtbAotd2Via2l0Lm9yZy9iLzE4NzA2NCB3ZWJy
dGMvdmlkZW8uaHRtbAotd2Via2l0Lm9yZy9iLzE4NzA2NCB3ZWJydGMvdmlkZW8tbXV0ZS5odG1s
CiB3ZWJraXQub3JnL2IvMTg3MDY0IHdlYnJ0Yy92aWRlby1yZW1vdGUtbXV0ZS5odG1sCiB3ZWJr
aXQub3JnL2IvMTg3MDY0IHdlYnJ0Yy92aWRlby1yZXBsYWNlLW11dGVkLXRyYWNrLmh0bWwKLXdl
YmtpdC5vcmcvYi8xODcwNjQgd2VicnRjL3ZpZGVvLXJlcGxhY2UtdHJhY2suaHRtbAogd2Via2l0
Lm9yZy9iLzE4NzA2NCB3ZWJydGMvdmlkZW8tcm90YXRpb24uaHRtbAotd2Via2l0Lm9yZy9iLzE4
NzA2NCB3ZWJydGMvdmlkZW8tdW5tdXRlLmh0bWwKIHdlYmtpdC5vcmcvYi8xODcwNjQgd2VicnRj
L3ZpZGVvLXdpdGgtZGF0YS1jaGFubmVsLmh0bWwKK3dlYmtpdC5vcmcvYi8xODcwNjQgd2VicnRj
L3ZpZGVvLXJlcGxhY2UtdHJhY2suaHRtbCBbIEZhaWx1cmUgUGFzcyBdCit3ZWJraXQub3JnL2Iv
MTg3MDY0IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1BlZXJDb25u
ZWN0aW9uLWdldFN0YXRzLmh0dHBzLmh0bWwgWyBGYWlsdXJlIFBhc3MgXQorCiB3ZWJraXQub3Jn
L2IvMTg3MjcxIGZhc3QvdGV4dC9lbW9qaS13aXRoLWpvaW5lci5odG1sIFsgRmFpbHVyZSBdCiB3
ZWJraXQub3JnL2IvMTg5MzQzIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3N5
bmMtbm8tdGltZW91dC5hbnkud29ya2VyLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8x
OTA3MDcgY3NzLWN1c3RvbS1wcm9wZXJ0aWVzLWFwaS9sZW5ndGgyLmh0bWwgWyBGYWlsdXJlIF0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUGVlckNvbm5lY3Rpb24tb25uZWdvdGlhdGlvbm5lZWRl
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1BlZXJDb25uZWN0aW9uLW9ubmVnb3RpYXRpb25u
ZWVkZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjZmFkMzM0MGE1YWZmYzgzNzIxZTE5OWY0
NjZmMWNhMjI1NGIyYjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
bGliL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1BlZXJDb25uZWN0
aW9uLW9ubmVnb3RpYXRpb25uZWVkZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKKwor
UEFTUyBDcmVhdGluZyBmaXJzdCBkYXRhIGNoYW5uZWwgc2hvdWxkIGZpcmUgbmVnb3RpYXRpb25u
ZWVkZWQgZXZlbnQKK1BBU1MgY2FsbGluZyBjcmVhdGVEYXRhQ2hhbm5lbCB0d2ljZSBzaG91bGQg
ZmlyZSBuZWdvdGlhdGlvbm5lZWRlZCBldmVudCBvbmNlCitQQVNTIGFkZFRyYW5zY2VpdmVyKCkg
c2hvdWxkIGZpcmUgbmVnb3RpYXRpb25uZWVkZWQgZXZlbnQKK1BBU1MgQ2FsbGluZyBhZGRUcmFu
c2NlaXZlcigpIHR3aWNlIHNob3VsZCBmaXJlIG5lZ290aWF0aW9ubmVlZGVkIGV2ZW50IG9uY2UK
K1BBU1MgQ2FsbGluZyBib3RoIGFkZFRyYW5zY2VpdmVyKCkgYW5kIGNyZWF0ZURhdGFDaGFubmVs
KCkgc2hvdWxkIGZpcmUgbmVnb3RpYXRpb25uZWVkZWQgZXZlbnQgb25jZQorUEFTUyBuZWdvdGlh
dGlvbm5lZWRlZCBldmVudCBzaG91bGQgbm90IGZpcmUgaWYgc2lnbmFsaW5nIHN0YXRlIGlzIG5v
dCBzdGFibGUKK1BBU1MgbmVnb3RpYXRpb25uZWVkZWQgZXZlbnQgc2hvdWxkIGZpcmUgb25seSBh
ZnRlciBzaWduYWxpbmcgc3RhdGUgZ29lcyBiYWNrIHRvIHN0YWJsZSBhZnRlciBzZXRSZW1vdGVE
ZXNjcmlwdGlvbgorUEFTUyBuZWdvdGlhdGlvbm5lZWRlZCBldmVudCBzaG91bGQgZmlyZSBvbmx5
IGFmdGVyIHNpZ25hbGluZyBzdGF0ZSBnb2VzIGJhY2sgdG8gc3RhYmxlIGFmdGVyIHNldExvY2Fs
RGVzY3JpcHRpb24KK1BBU1MgbmVnb3RpYXRpb25uZWVkZWQgZXZlbnQgc2hvdWxkIGZpcmUgb25s
eSBhZnRlciBzaWduYWxpbmdzdGF0ZWNoYW5nZSBldmVudCBmaXJlcyBmcm9tIHNldFJlbW90ZURl
c2NyaXB0aW9uCitQQVNTIG5lZ290aWF0aW9ubmVlZGVkIGV2ZW50IHNob3VsZCBmaXJlIG9ubHkg
YWZ0ZXIgc2lnbmFsaW5nc3RhdGVjaGFuZ2UgZXZlbnQgZmlyZXMgZnJvbSBzZXRMb2NhbERlc2Ny
aXB0aW9uCitQQVNTIGFkZFRyYWNrIHNob3VsZCBjYXVzZSBuZWdvdGlhdGlvbm5lZWRlZCB0byBm
aXJlCitQQVNTIHJlbW92ZVRyYWNrIHNob3VsZCBjYXVzZSBuZWdvdGlhdGlvbm5lZWRlZCB0byBm
aXJlIG9uIHRoZSBjYWxsZXIKK1BBU1MgcmVtb3ZlVHJhY2sgc2hvdWxkIGNhdXNlIG5lZ290aWF0
aW9ubmVlZGVkIHRvIGZpcmUgb24gdGhlIGNhbGxlZQorUEFTUyBVcGRhdGluZyB0aGUgZGlyZWN0
aW9uIG9mIHRoZSB0cmFuc2NlaXZlciBzaG91bGQgY2F1c2UgbmVnb3RpYXRpb25uZWVkZWQgdG8g
ZmlyZQorUEFTUyBDYWxsaW5nIHNldFN0cmVhbXMgc2hvdWxkIGNhdXNlIG5lZ290aWF0aW9ubmVl
ZGVkIHRvIGZpcmUKK1BBU1MgQWRkaW5nIHR3byB0cmFuc2NlaXZlcnMsIG9uZSBhdCBhIHRpbWUs
IHJlc3VsdHMgaW4gdGhlIGV4cGVjdGVkIG51bWJlciBvZiBuZWdvdGlhdGlvbm5lZWRlZCBldmVu
dHMKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENQZWVyQ29ubmVjdGlvbi1yZXN0YXJ0SWNlLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUGVlckNvbm5lY3Rpb24tcmVzdGFydEljZS5o
dHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmMyNjAzNTA3Y2ZkY2QyODI5OWZmYWFiM2Jm
N2I0MzI1NWU4YjkxMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2ds
aWIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUGVlckNvbm5lY3Rp
b24tcmVzdGFydEljZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNSBAQAorCitQQVNT
IHJlc3RhcnRJY2UoKSBkb2VzIG5vdCB0cmlnZ2VyIG5lZ290aWF0aW9uIGFoZWFkIG9mIGluaXRp
YWwgbmVnb3RpYXRpb24KK1BBU1MgcmVzdGFydEljZSgpIGhhcyBubyBlZmZlY3Qgb24gaW5pdGlh
bCBuZWdvdGlhdGlvbgorUEFTUyByZXN0YXJ0SWNlKCkgZmlyZXMgbmVnb3RpYXRpb25uZWVkZWQg
YWZ0ZXIgaW5pdGlhbCBuZWdvdGlhdGlvbgorUEFTUyByZXN0YXJ0SWNlKCkgY2F1c2VzIGZyZXNo
IHVmcmFncworUEFTUyByZXN0YXJ0SWNlKCkgd29ya3MgaW4gaGF2ZS1sb2NhbC1vZmZlcgorUEFT
UyByZXN0YXJ0SWNlKCkgd29ya3MgaW4gaW5pdGlhbCBoYXZlLWxvY2FsLW9mZmVyCitQQVNTIHJl
c3RhcnRJY2UoKSB3b3JrcyBpbiBoYXZlLXJlbW90ZS1vZmZlcgorUEFTUyByZXN0YXJ0SWNlKCkg
ZG9lcyBub3RoaW5nIGluIGluaXRpYWwgaGF2ZS1yZW1vdGUtb2ZmZXIKK1BBU1MgcmVzdGFydElj
ZSgpIHN1cnZpdmVzIHJlbW90ZSBvZmZlcgorUEFTUyByZXN0YXJ0SWNlKCkgaXMgc2F0aXNmaWVk
IGJ5IHJlbW90ZSBJQ0UgcmVzdGFydAorUEFTUyByZXN0YXJ0SWNlKCkgdHJ1bXBzIHtpY2VSZXN0
YXJ0OiBmYWxzZX0KK0ZBSUwgcmVzdGFydEljZSgpIHN1cnZpdmVzIHJvbGxiYWNrIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkludmFsaWRTdGF0
ZUVycm9yOiBMb2NhbCBkZXNjcmlwdGlvbiB0eXBlIDMgaXMgaW5jb21wYXRpYmxlIHdpdGggY3Vy
cmVudCBzaWduYWxpbmcgc3RhdGUgMSIKK0ZBSUwgcmVzdGFydEljZSgpIHN1cnZpdmVzIHJlbW90
ZSBvZmZlciBjb250YWluaW5nIHBhcnRpYWwgcmVzdGFydCBhc3NlcnRfZmFsc2U6IFJlc3RhcnRl
ZCAyIGV4cGVjdGVkIGZhbHNlIGdvdCB0cnVlCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUnRw
VHJhbnNjZWl2ZXItc2V0Q29kZWNQcmVmZXJlbmNlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9nbGliL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JU
Q1J0cFRyYW5zY2VpdmVyLXNldENvZGVjUHJlZmVyZW5jZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjUzZjQxNjNkNjI1OTI1YTNkMjkxZmUyYzBkMjRjYzA3Y2NlNzNkYmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2VicnRjL1JUQ1J0cFRyYW5zY2VpdmVyLXNldENvZGVjUHJlZmVyZW5jZXMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjEgQEAKKworUEFTUyBzZXRDb2RlY1ByZWZlcmVuY2VzKCkg
b24gYXVkaW8gdHJhbnNjZWl2ZXIgd2l0aCBjb2RlY3MgcmV0dXJuZWQgZnJvbSBSVENSdHBTZW5k
ZXIuZ2V0Q2FwYWJpbGl0aWVzKCdhdWRpbycpIHNob3VsZCBzdWNjZWVkCitQQVNTIHNldENvZGVj
UHJlZmVyZW5jZXMoKSBvbiB2aWRlbyB0cmFuc2NlaXZlciB3aXRoIGNvZGVjcyByZXR1cm5lZCBm
cm9tIFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygndmlkZW8nKSBzaG91bGQgc3VjY2Vl
ZAorUEFTUyBzZXRDb2RlY1ByZWZlcmVuY2VzKCkgd2l0aCBib3RoIHNlbmRlciByZWNlaXZlciBj
b2RlY3MgY29tYmluZWQgc2hvdWxkIHN1Y2NlZWQKK1BBU1Mgc2V0Q29kZWNQcmVmZXJlbmNlcyhb
XSkgc2hvdWxkIHN1Y2NlZWQKK1BBU1Mgc2V0Q29kZWNQcmVmZXJlbmNlcygpIHdpdGggcmVvcmRl
cmVkIGNvZGVjcyBzaG91bGQgc3VjY2VlZAorUEFTUyBzZXRDb2RlY1ByZWZlcmVuY2VzKCkgd2l0
aCBvbmx5IFZQOCBzaG91bGQgc3VjY2VlZAorUEFTUyBzZXRDb2RlY1ByZWZlcmVuY2VzKCkgd2l0
aCBvbmx5IEgyNjQgc2hvdWxkIHN1Y2NlZWQKK1BBU1Mgc2V0Q29kZWNQcmVmZXJlbmNlcygpIHNo
b3VsZCBhbGxvdyBzZXR0aW5nIEgyNjQgYXMgZmlyc3QgY29kZWMKK1BBU1Mgc2V0Q29kZWNQcmVm
ZXJlbmNlcygpIHNob3VsZCBhbGxvdyBzZXR0aW5nIFZQOCBhcyBmaXJzdCBjb2RlYworUEFTUyBz
ZXRDb2RlY1ByZWZlcmVuY2VzKCkgb24gYXVkaW8gdHJhbnNjZWl2ZXIgd2l0aCBjb2RlY3MgcmV0
dXJuZWQgZnJvbSBnZXRDYXBhYmlsaXRpZXMoJ3ZpZGVvJykgc2hvdWxkIHRocm93IEludmFsaWRN
b2RpZmljYXRpb25FcnJvcgorUEFTUyBzZXRDb2RlY1ByZWZlcmVuY2VzKCkgd2l0aCB1c2VyIGRl
ZmluZWQgY29kZWMgd2l0aCBpbnZhbGlkIG1pbWVUeXBlIHNob3VsZCB0aHJvdyBJbnZhbGlkTW9k
aWZpY2F0aW9uRXJyb3IKK1BBU1Mgc2V0Q29kZWNQcmVmZXJlbmNlcygpIHdpdGggdXNlciBkZWZp
bmVkIGNvZGVjIHNob3VsZCB0aHJvdyBJbnZhbGlkTW9kaWZpY2F0aW9uRXJyb3IKK1BBU1Mgc2V0
Q29kZWNQcmVmZXJlbmNlcygpIHdpdGggdXNlciBkZWZpbmVkIGNvZGVjIHRvZ2V0aGVyIHdpdGgg
Y29kZWNzIHJldHVybmVkIGZyb20gZ2V0Q2FwYWJpbGl0aWVzKCkgc2hvdWxkIHRocm93IEludmFs
aWRNb2RpZmljYXRpb25FcnJvcgorUEFTUyBzZXRDb2RlY1ByZWZlcmVuY2VzKCkgd2l0aCBtb2Rp
ZmllZCBjb2RlYyBjbG9jayByYXRlIHNob3VsZCB0aHJvdyBJbnZhbGlkTW9kaWZpY2F0aW9uRXJy
b3IKK1BBU1Mgc2V0Q29kZWNQcmVmZXJlbmNlcygpIHdpdGggbW9kaWZpZWQgY29kZWMgY2hhbm5l
bCBjb3VudCBzaG91bGQgdGhyb3cgSW52YWxpZE1vZGlmaWNhdGlvbkVycm9yCitQQVNTIHNldENv
ZGVjUHJlZmVyZW5jZXMoKSB3aXRoIG1vZGlmaWVkIGNvZGVjIHBhcmFtZXRlcnMgc2hvdWxkIHRo
cm93IEludmFsaWRNb2RpZmljYXRpb25FcnJvcgorUEFTUyBzZXRDb2RlY1ByZWZlcmVuY2VzKCkg
d2l0aCBtb2RpZmllZCBjb2RlY3MgcmV0dXJuZWQgZnJvbSBnZXRDYXBhYmlsaXRpZXMoKSBzaG91
bGQgdGhyb3cgSW52YWxpZE1vZGlmaWNhdGlvbkVycm9yCitQQVNTIHNldENvZGVjUHJlZmVyZW5j
ZXMoKSBtb2RpZmllcyB0aGUgb3JkZXIgb2YgYXVkaW8gY29kZWNzIGluIGNyZWF0ZU9mZmVyCitQ
QVNTIHNldENvZGVjUHJlZmVyZW5jZXMoKSBtb2RpZmllcyB0aGUgb3JkZXIgb2YgdmlkZW8gY29k
ZWNzIGluIGNyZWF0ZU9mZmVyCisK
</data>

          </attachment>
      

    </bug>

</bugzilla>