<?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>199981</bug_id>
          
          <creation_ts>2019-07-20 11:41:01 -0700</creation_ts>
          <short_desc>Make some constructors explicit</short_desc>
          <delta_ts>2019-07-22 18:14:52 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=200006</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1554521</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-07-20 11:41:01 -0700</bug_when>
    <thetext>Make some constructors explicit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554522</commentid>
    <comment_count>1</comment_count>
      <attachid>374559</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-07-20 11:42:42 -0700</bug_when>
    <thetext>Created attachment 374559
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554732</commentid>
    <comment_count>2</comment_count>
      <attachid>374559</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-22 11:05:23 -0700</bug_when>
    <thetext>Comment on attachment 374559
Patch

Clearing flags on attachment: 374559

Committed r247688: &lt;https://trac.webkit.org/changeset/247688&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554733</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-22 11:05:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554735</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-22 11:06:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/53406381&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554758</commentid>
    <comment_count>5</comment_count>
      <attachid>374559</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-07-22 11:30:04 -0700</bug_when>
    <thetext>Comment on attachment 374559
Patch

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

Surprised that we are adding explicit to constructors that take multiple arguments since I don’t think it has any effect in that case (without default values for the arguments).

&gt; Source/WebCore/Modules/webdatabase/ChangeVersionData.h:34
&gt; +    explicit ChangeVersionData(String oldVersion, String newVersion)

Makes no sense to use explicit for a constructor with multiple arguments. Maybe does no harm but I believe it has no effect.

&gt; Source/WebCore/Modules/websockets/WebSocketExtensionParser.h:41
&gt; +    explicit WebSocketExtensionParser(const char* start, const char* end)

Ditto.

&gt; Source/WebCore/PAL/pal/system/cocoa/SleepDisablerCocoa.h:36
&gt; +    explicit SleepDisablerCocoa(const char*, Type);

Ditto.

&gt; Source/WebCore/css/parser/SizesAttributeParser.h:44
&gt; +    explicit SizesAttributeParser(const String&amp;, const Document&amp;);

Ditto.

&gt; Source/WebCore/dom/SpaceSplitString.cpp:106
&gt; +    explicit TokenIsEqualToCStringTokenProcessor(const char* referenceString, unsigned referenceStringLength)

Ditto.

&gt; Source/WebCore/platform/audio/DynamicsCompressorKernel.h:40
&gt; +    explicit DynamicsCompressorKernel(float sampleRate, unsigned numberOfChannels);

Ditto.

&gt; Source/WebCore/platform/audio/MultiChannelResampler.h:43
&gt; +    explicit MultiChannelResampler(double scaleFactor, unsigned numberOfChannels);

Ditto.

&gt; Source/WebCore/platform/audio/SincResampler.cpp:149
&gt; +    explicit BufferSourceProvider(const float* source, size_t numberOfSourceFrames)

Ditto.

&gt; Source/WebCore/platform/audio/ios/AudioFileReaderIOS.h:47
&gt; +    explicit AudioFileReader(const void* data, size_t dataSize);

Ditto.

&gt; Source/WebCore/platform/audio/mac/AudioFileReaderMac.h:45
&gt; +    explicit AudioFileReader(const void* data, size_t dataSize);

Ditto.

&gt; Source/WebCore/platform/cf/KeyedDecoderCF.h:37
&gt; +    explicit KeyedDecoderCF(const uint8_t* data, size_t);

Ditto.

&gt; Source/WebCore/platform/graphics/WidthIterator.cpp:68
&gt; +    explicit OriginalAdvancesForCharacterTreatedAsSpace(bool isSpace, float advanceBefore, float advanceAt)

Ditto.

&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.h:38
&gt; +    explicit SynthesisPair(bool needsSyntheticBold, bool needsSyntheticOblique)

Ditto.

&gt; Source/WebCore/platform/text/TextCodecICU.h:38
&gt; +    explicit TextCodecICU(const char* encoding, const char* canonicalConverterName);

Ditto.

&gt; Source/WebCore/rendering/RenderTableSection.h:45
&gt; +    explicit CellSpan(unsigned start, unsigned end)

Ditto.

&gt; Source/WebCore/testing/MockLibWebRTCPeerConnection.h:115
&gt; +    explicit MockLibWebRTCIceCandidate(const char* sdp, const char* sdpMid)

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554932</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-07-22 17:01:33 -0700</bug_when>
    <thetext>It has an effect: No unnamed aggregate initialization. &lt;--- eh, I can go either way here, I usually pick the style that&apos;s clearest for the call site.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554950</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-07-22 18:14:52 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #6)
&gt; It has an effect: No unnamed aggregate initialization.

Good to know. Given that new information, I suggest we use explicit most of the time on almost all constructors.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374559</attachid>
            <date>2019-07-20 11:42:42 -0700</date>
            <delta_ts>2019-07-22 11:05:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199981-20190720114240.patch</filename>
            <type>text/plain</type>
            <size>37841</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDE3ODY3MDZjMTAwMzRk
ZWYxZWU1ZGFjZWU4ODUyM2I4MmI1NjNkNC4uZWJlODM4NTRlNTliODRhMDc0MTExNDA1N2FjYjcx
YWRmNmQ0MTk5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDE5LTA3LTIwICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc29tZSBj
b25zdHJ1Y3RvcnMgZXhwbGljaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5OTk4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE1ha2UgZXhwbGljaXQgcHVibGljIGNvbnN0cnVjdG9ycyBvZiBvYmplY3Rz
IHRoYXQgdGFrZSBQT0Qgb3IgU3RyaW5nJiBhcmd1bWVudHMsCisgICAgICAgIHRvIHJlZHVjZSB0
aGUgY2hhbmdlcyBvZiB0aGUgY29tcGlsZXIgZG9pbmcgaW1wbGljaXQgY29udmVyc2lvbnMuCisK
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSW5kZXhWYWx1ZUVudHJ5Lmg6Cisg
ICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0luZGV4VmFsdWVTdG9yZS5oOgorICAg
ICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJEYXRhYmFzZUluZm8uaDoKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0NoYW5nZVZlcnNpb25EYXRhLmg6CisgICAgICAgIChX
ZWJDb3JlOjpDaGFuZ2VWZXJzaW9uRGF0YTo6Q2hhbmdlVmVyc2lvbkRhdGEpOgorICAgICAgICAq
IE1vZHVsZXMvd2ViZGF0YWJhc2UvT3JpZ2luTG9jay5oOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
c29ja2V0cy9XZWJTb2NrZXRFeHRlbnNpb25QYXJzZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Oldl
YlNvY2tldEV4dGVuc2lvblBhcnNlcjo6V2ViU29ja2V0RXh0ZW5zaW9uUGFyc2VyKToKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDYWNoZWRGcmFtZURhdGEuaDoKKyAgICAgICAgKiBjb250
ZW50ZXh0ZW5zaW9ucy9VUkxGaWx0ZXJQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29u
dGVudEV4dGVuc2lvbnM6OlBhdHRlcm5QYXJzZXI6OlBhdHRlcm5QYXJzZXIpOgorICAgICAgICAq
IGNzcy9wYXJzZXIvQ1NTVG9rZW5pemVyLmg6CisgICAgICAgICogY3NzL3BhcnNlci9TaXplc0F0
dHJpYnV0ZVBhcnNlci5oOgorICAgICAgICAqIGRvbS9TcGFjZVNwbGl0U3RyaW5nLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRva2VuSXNFcXVhbFRvQ1N0cmluZ1Rva2VuUHJvY2Vzc29yOjpUb2tl
bklzRXF1YWxUb0NTdHJpbmdUb2tlblByb2Nlc3Nvcik6CisgICAgICAgICogaHRtbC9Gb3JtQ29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTYXZlZEZvcm1TdGF0ZTo6YXBwZW5kQ29u
dHJvbFN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNhdmVkRm9ybVN0YXRlOjp0YWtlQ29udHJv
bFN0YXRlKToKKyAgICAgICAgKiBsb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlByb2dyZXNzSXRlbTo6UHJvZ3Jlc3NJdGVtKToKKyAgICAgICAgKiBwYWdlL0Ry
YWdDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjpEcmFn
Q29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6cGVyZm9ybURy
YWdPcGVyYXRpb24pOgorICAgICAgICAqIHBhZ2UvRHJhZ0NvbnRyb2xsZXIuaDoKKyAgICAgICAg
KiBwYWdlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpBbmltYXRpb25Qcm9wZXJ0eVdyYXBwZXJCYXNlOjpBbmltYXRpb25Qcm9wZXJ0eVdyYXBw
ZXJCYXNlKToKKyAgICAgICAgKiBwYWdlL2lvcy9ET01UaW1lckhvbGRpbmdUYW5rLmg6CisgICAg
ICAgIChXZWJDb3JlOjpEZWZlckRPTVRpbWVyc0ZvclNjb3BlOjpEZWZlckRPTVRpbWVyc0ZvclNj
b3BlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9Db3VudGVkVXNlckFjdGl2aXR5Lmg6CisgICAgICAg
IChXZWJDb3JlOjpDb3VudGVkVXNlckFjdGl2aXR5OjpDb3VudGVkVXNlckFjdGl2aXR5KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9hdWRpby9EaXJlY3RDb252b2x2ZXIuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9hdWRpby9Eb3duU2FtcGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0R5bmFt
aWNzQ29tcHJlc3Nvcktlcm5lbC5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0VxdWFsUG93
ZXJQYW5uZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9NdWx0aUNoYW5uZWxSZXNhbXBs
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9SZXZlcmJBY2N1bXVsYXRpb25CdWZmZXIu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9SZXZlcmJJbnB1dEJ1ZmZlci5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2F1ZGlvL1NpbmNSZXNhbXBsZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3Jt
L2F1ZGlvL1VwU2FtcGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2lvcy9BdWRpb0Zp
bGVSZWFkZXJJT1MuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9tYWMvQXVkaW9GaWxlUmVh
ZGVyTWFjLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvU2Vzc2lvbk1hYy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Nlc3Npb25Qcml2YXRlOjpBdWRpb1Nlc3Npb25Q
cml2YXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9jZi9LZXllZERlY29kZXJDRi5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6T3JpZ2luYWxBZHZhbmNlc0ZvckNoYXJhY3RlclRyZWF0ZWRBc1NwYWNlOjpPcmlnaW5hbEFk
dmFuY2VzRm9yQ2hhcmFjdGVyVHJlYXRlZEFzU3BhY2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTeW50
aGVzaXNQYWlyOjpTeW50aGVzaXNQYWlyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9k
aXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5oOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxh
eUxpc3Q6OkRyYXdpbmdJdGVtOjpEcmF3aW5nSXRlbSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0
d29yay9jZi9SZXNvdXJjZVJlcXVlc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdDo6UmVzb3VyY2VSZXF1ZXN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRDb2Rl
Y0lDVS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNlbGxTcGFuOjpDZWxsU3Bhbik6CisgICAgICAgICogcmVuZGVyaW5nL3No
YXBlcy9SYXN0ZXJTaGFwZS5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL3NoYXBlcy9SYXN0ZXJT
aGFwZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmFzdGVyU2hhcGVJbnRlcnZhbHM6OlJhc3RlclNo
YXBlSW50ZXJ2YWxzKToKKyAgICAgICAgKiB0ZXN0aW5nL01vY2tMaWJXZWJSVENQZWVyQ29ubmVj
dGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6TW9ja0xpYldlYlJUQ0ljZUNhbmRpZGF0ZTo6TW9j
a0xpYldlYlJUQ0ljZUNhbmRpZGF0ZSk6CisKIDIwMTktMDctMTkgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW90ZSBXZWJJbnNwZWN0b3Igc2hvdWxkIGVu
YWJsZSBtb2NrIGNhcHR1cmUgZGV2aWNlcyBpbiBVSVByb2Nlc3MgaWYgZG9pbmcgaXQgaW4gV2Vi
UHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggMGRhMGQzODM3N2IwMDY0MzA0YzI2NDI2Y2Jl
MDJlYjUzYjRmMjE5Yy4uMmEwMzQzNWI4ZGE1OTU4NzYzN2YyODdhNDNmMGU2NjA4YWM0OGNkNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMDctMjAgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzb21lIGNvbnN0
cnVjdG9ycyBleHBsaWNpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTk5OTgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTWFrZSBleHBsaWNpdCBwdWJsaWMgY29uc3RydWN0b3JzIG9mIG9iamVjdHMgdGhh
dCB0YWtlIFBPRCBvciBTdHJpbmcmIGFyZ3VtZW50cywKKyAgICAgICAgdG8gcmVkdWNlIHRoZSBj
aGFuZ2VzIG9mIHRoZSBjb21waWxlciBkb2luZyBpbXBsaWNpdCBjb252ZXJzaW9ucy4KKworICAg
ICAgICAqIHBhbC9zeXN0ZW0vY29jb2EvU2xlZXBEaXNhYmxlckNvY29hLmNwcDoKKyAgICAgICAg
KFBBTDo6U2xlZXBEaXNhYmxlckNvY29hOjpTbGVlcERpc2FibGVyQ29jb2EpOgorICAgICAgICAq
IHBhbC9zeXN0ZW0vY29jb2EvU2xlZXBEaXNhYmxlckNvY29hLmg6CisKIDIwMTktMDctMTcgIEFu
dG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBEaXNhYmxlIFBvaW50
ZXIgRXZlbnRzIHByaW9yIHRvIHdhdGNoT1MgNgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBmZWMyNDkyOTc4YWQzM2Ew
OTZkYjIyMmI2M2EwNGM0ZDMwYTBjYWY1Li5iZmY2YTQxNmI3ZjgwMWI0N2ZmY2M0ZmFjODhhNzhk
YWI2ZmUwNmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE5LTA3LTIwICBTaW1vbiBG
cmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc29tZSBjb25z
dHJ1Y3RvcnMgZXhwbGljaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5OTk4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE1ha2UgZXhwbGljaXQgcHVibGljIGNvbnN0cnVjdG9ycyBvZiBvYmplY3RzIHRo
YXQgdGFrZSBQT0Qgb3IgU3RyaW5nJiBhcmd1bWVudHMsCisgICAgICAgIHRvIHJlZHVjZSB0aGUg
Y2hhbmdlcyBvZiB0aGUgY29tcGlsZXIgZG9pbmcgaW1wbGljaXQgY29udmVyc2lvbnMuCisKKyAg
ICAgICAgKiBQbGF0Zm9ybS9Nb2R1bGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViSW5zcGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yOjpvcGVuSW5O
ZXdUYWIpOgorCiAyMDE5LTA3LTE5ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZW1vdGUgV2ViSW5zcGVjdG9yIHNob3VsZCBlbmFibGUgbW9jayBjYXB0dXJl
IGRldmljZXMgaW4gVUlQcm9jZXNzIGlmIGRvaW5nIGl0IGluIFdlYlByb2Nlc3MKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JbmRleFZhbHVlRW50
cnkuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JbmRleFZhbHVl
RW50cnkuaAppbmRleCA0OWFiZDkyYTVjYTM4YjRkNWY0YTFiZDIwYzIzODdiMTNhZmU5YThiLi43
Yzk0YzQzYjVlODBkNTgyNGZlNGRjMmFiYmUxNzk3Y2YyNzRjNTc1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSW5kZXhWYWx1ZUVudHJ5LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0luZGV4VmFsdWVFbnRy
eS5oCkBAIC00MCw3ICs0MCw3IEBAIG5hbWVzcGFjZSBJREJTZXJ2ZXIgewogY2xhc3MgSW5kZXhW
YWx1ZUVudHJ5IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBJ
bmRleFZhbHVlRW50cnkoYm9vbCB1bmlxdWUpOworICAgIGV4cGxpY2l0IEluZGV4VmFsdWVFbnRy
eShib29sIHVuaXF1ZSk7CiAgICAgfkluZGV4VmFsdWVFbnRyeSgpOwogCiAgICAgdm9pZCBhZGRL
ZXkoY29uc3QgSURCS2V5RGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2VydmVyL0luZGV4VmFsdWVTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvc2VydmVyL0luZGV4VmFsdWVTdG9yZS5oCmluZGV4IGRmOGNkMGFkNjUz
MTFhZDExNzg0ZDQ5YWE2MjY3ZmQ1ZjlmNDEzOTAuLjA2NmJkMDA1ODU5MWQ3Y2VhNzMyZmI2NGZj
NmVhNDg3MzczOTNmZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NlcnZlci9JbmRleFZhbHVlU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9zZXJ2ZXIvSW5kZXhWYWx1ZVN0b3JlLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgdHlw
ZWRlZiBIYXNoTWFwPElEQktleURhdGEsIHN0ZDo6dW5pcXVlX3B0cjxJbmRleFZhbHVlRW50cnk+
LCBJREJLZXlEYXRhSGFzaCwgSUQKIGNsYXNzIEluZGV4VmFsdWVTdG9yZSB7CiAgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgSW5kZXhWYWx1ZVN0b3JlKGJvb2wgdW5p
cXVlKTsKKyAgICBleHBsaWNpdCBJbmRleFZhbHVlU3RvcmUoYm9vbCB1bmlxdWUpOwogCiAgICAg
Y29uc3QgSURCS2V5RGF0YSogbG93ZXN0VmFsdWVGb3JLZXkoY29uc3QgSURCS2V5RGF0YSYpIGNv
bnN0OwogICAgIFZlY3RvcjxJREJLZXlEYXRhPiBhbGxWYWx1ZXNGb3JLZXkoY29uc3QgSURCS2V5
RGF0YSYsIHVpbnQzMl90IGxpbWl0KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJEYXRhYmFzZUluZm8uaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJEYXRhYmFzZUluZm8uaAppbmRleCA0MTcy
ODRhNmFiMjliODU4YmJhMTgyZDNiNjMyZTU0ZTNhYjFlZmEzLi4zYjIwNzIxZDMxZmZiY2UzMTM0
YWE4OTNmNjc4NDFhYWUxOWIyOWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9zaGFyZWQvSURCRGF0YWJhc2VJbmZvLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkRhdGFiYXNlSW5mby5oCkBAIC0zNSw3ICszNSw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIElEQkRhdGFiYXNlSW5mbyB7CiAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgSURCRGF0YWJhc2VJbmZvKGNvbnN0
IFN0cmluZyYgbmFtZSwgdWludDY0X3QgdmVyc2lvbik7CisgICAgZXhwbGljaXQgSURCRGF0YWJh
c2VJbmZvKGNvbnN0IFN0cmluZyYgbmFtZSwgdWludDY0X3QgdmVyc2lvbik7CiAKICAgICBlbnVt
IElzb2xhdGVkQ29weVRhZyB7IElzb2xhdGVkQ29weSB9OwogICAgIElEQkRhdGFiYXNlSW5mbyhj
b25zdCBJREJEYXRhYmFzZUluZm8mLCBJc29sYXRlZENvcHlUYWcpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9DaGFuZ2VWZXJzaW9uRGF0YS5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9DaGFuZ2VWZXJzaW9uRGF0YS5oCmluZGV4
IGRlYWM5OGZjNGExYjQ0MjM5M2M3MGRiYWUxYTk2YjQxNzE2NjY1YTIuLjJjNjI2MTBhMDkwZDll
OGFmNWEyYmVmMzRlMWY1NzM5MmI0MWZiYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViZGF0YWJhc2UvQ2hhbmdlVmVyc2lvbkRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0NoYW5nZVZlcnNpb25EYXRhLmgKQEAgLTMxLDcgKzMxLDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDaGFuZ2VWZXJzaW9uRGF0YSB7CiBwdWJs
aWM6Ci0gICAgQ2hhbmdlVmVyc2lvbkRhdGEoU3RyaW5nIG9sZFZlcnNpb24sIFN0cmluZyBuZXdW
ZXJzaW9uKQorICAgIGV4cGxpY2l0IENoYW5nZVZlcnNpb25EYXRhKFN0cmluZyBvbGRWZXJzaW9u
LCBTdHJpbmcgbmV3VmVyc2lvbikKICAgICAgICAgOiBtX29sZFZlcnNpb24ob2xkVmVyc2lvbiks
IG1fbmV3VmVyc2lvbihuZXdWZXJzaW9uKSB7IH0KIAogICAgIFN0cmluZyBvbGRWZXJzaW9uKCkg
Y29uc3QgeyByZXR1cm4gbV9vbGRWZXJzaW9uOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL09yaWdpbkxvY2suaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvT3JpZ2luTG9jay5oCmluZGV4IGVjYzI5ZTg5MDI1YmRmNjI5MzkyYjEw
NTllZjg4NzBlNmY4ZjkyZjIuLjA3YmU5NDE2MWRmZDMwYTI2ZjZiMDRjZWVjOWE4OWRmNTMwNTJl
N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvT3JpZ2lu
TG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvT3JpZ2luTG9j
ay5oCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIE9yaWdpbkxv
Y2sgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8T3JpZ2luTG9jaz4gewogICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKE9yaWdpbkxvY2spOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1
YmxpYzoKLSAgICBPcmlnaW5Mb2NrKFN0cmluZyBvcmlnaW5QYXRoKTsKKyAgICBleHBsaWNpdCBP
cmlnaW5Mb2NrKFN0cmluZyBvcmlnaW5QYXRoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB+T3JpZ2lu
TG9jaygpOwogCiAgICAgdm9pZCBsb2NrKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0RXh0ZW5zaW9uUGFyc2VyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0RXh0ZW5zaW9uUGFyc2VyLmgKaW5kZXgg
YjFlMWU2YTM5ZjQ0N2FkNjRkZmZmMzc4ZTQ4MjgyNzdiYThlNTRiMS4uYWNmNjBhYjEyZGRlMmY4
MzgzNzQyZmFlM2FkNzVlNWJhMTc5Yzc2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldEV4dGVuc2lvblBhcnNlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRFeHRlbnNpb25QYXJzZXIuaApAQCAt
MzgsNyArMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFdlYlNvY2tldEV4dGVu
c2lvblBhcnNlciB7CiBwdWJsaWM6Ci0gICAgV2ViU29ja2V0RXh0ZW5zaW9uUGFyc2VyKGNvbnN0
IGNoYXIqIHN0YXJ0LCBjb25zdCBjaGFyKiBlbmQpCisgICAgZXhwbGljaXQgV2ViU29ja2V0RXh0
ZW5zaW9uUGFyc2VyKGNvbnN0IGNoYXIqIHN0YXJ0LCBjb25zdCBjaGFyKiBlbmQpCiAgICAgICAg
IDogbV9jdXJyZW50KHN0YXJ0KQogICAgICAgICAsIG1fZW5kKGVuZCkKICAgICB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3N5c3RlbS9jb2NvYS9TbGVlcERpc2FibGVyQ29j
b2EuY3BwIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zeXN0ZW0vY29jb2EvU2xlZXBEaXNhYmxl
ckNvY29hLmNwcAppbmRleCBkOTRiYzI0ZGIxZTJmNjA3YTEwYTFiMjYzYThiZGYyM2MyN2Q1NzY1
Li5lMWMwZDIwMDkwZDM2YTY3Y2U5YjUxMGEwYmYwMTAwYjk5MTc4NDg4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3N5c3RlbS9jb2NvYS9TbGVlcERpc2FibGVyQ29jb2EuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3lzdGVtL2NvY29hL1NsZWVwRGlzYWJsZXJD
b2NvYS5jcHAKQEAgLTQwLDcgKzQwLDYgQEAgc3RkOjp1bmlxdWVfcHRyPFNsZWVwRGlzYWJsZXI+
IFNsZWVwRGlzYWJsZXI6OmNyZWF0ZShjb25zdCBjaGFyKiByZWFzb24sIFR5cGUgdHkKIAogU2xl
ZXBEaXNhYmxlckNvY29hOjpTbGVlcERpc2FibGVyQ29jb2EoY29uc3QgY2hhciogcmVhc29uLCBU
eXBlIHR5cGUpCiAgICAgOiBTbGVlcERpc2FibGVyKHJlYXNvbiwgdHlwZSkKLSAgICAsIG1fc2xl
ZXBBc3NlcnRpb24oMCkKIHsKICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHJlYXNvbkNGID0g
YWRvcHRDRihDRlN0cmluZ0NyZWF0ZVdpdGhDU3RyaW5nKGtDRkFsbG9jYXRvckRlZmF1bHQsIHJl
YXNvbiwga0NGU3RyaW5nRW5jb2RpbmdVVEY4KSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3lzdGVtL2NvY29hL1NsZWVwRGlzYWJsZXJDb2NvYS5oIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zeXN0ZW0vY29jb2EvU2xlZXBEaXNhYmxlckNvY29hLmgKaW5kZXggNTFm
NjcyMzQ4Y2E3YzAzM2RkYWNiN2ZiNGMwNjU5YzA5ZjU4YTY1MS4uYTgxYTdlNzg3YjEzMTAyZWEz
MTE5YTRmNWE4OWMwNzM5M2E1OTNlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zeXN0ZW0vY29jb2EvU2xlZXBEaXNhYmxlckNvY29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9zeXN0ZW0vY29jb2EvU2xlZXBEaXNhYmxlckNvY29hLmgKQEAgLTMzLDExICszMywx
MSBAQCBuYW1lc3BhY2UgUEFMIHsKIAogY2xhc3MgU2xlZXBEaXNhYmxlckNvY29hIDogcHVibGlj
IFNsZWVwRGlzYWJsZXIgewogcHVibGljOgotICAgIFNsZWVwRGlzYWJsZXJDb2NvYShjb25zdCBj
aGFyKiwgVHlwZSk7CisgICAgZXhwbGljaXQgU2xlZXBEaXNhYmxlckNvY29hKGNvbnN0IGNoYXIq
LCBUeXBlKTsKICAgICB2aXJ0dWFsIH5TbGVlcERpc2FibGVyQ29jb2EoKTsKIAogcHJpdmF0ZToK
LSAgICB1aW50MzJfdCBtX3NsZWVwQXNzZXJ0aW9uOworICAgIHVpbnQzMl90IG1fc2xlZXBBc3Nl
cnRpb24geyAwIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBQQUwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENhY2hlZEZyYW1lRGF0YS5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKaW5kZXggNTQxZmIwMDZm
NTAxYjc3Y2E5MmI1OTQ2Nzg0ZGMzNmM1NDczNTVlZi4uYjk3NmY0YTUyMWU3YjgwMzI1ZjdkOTQy
ZTlhNzAwYTIzNzBmYTVlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
U2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmgKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3MgRE9NV3JhcHBl
cldvcmxkOwogY2xhc3MgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhIHsKICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY3JpcHRDYWNoZWRGcmFtZURhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKLSAgICBTY3JpcHRDYWNoZWRGcmFtZURhdGEoRnJhbWUmKTsKKyAgICBleHBsaWNp
dCBTY3JpcHRDYWNoZWRGcmFtZURhdGEoRnJhbWUmKTsKICAgICB+U2NyaXB0Q2FjaGVkRnJhbWVE
YXRhKCk7CiAKICAgICB2b2lkIHJlc3RvcmUoRnJhbWUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL1VSTEZpbHRlclBhcnNlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jb250ZW50ZXh0ZW5zaW9ucy9VUkxGaWx0ZXJQYXJzZXIuY3BwCmluZGV4IDY0NWE1YTU0
NmVjMWU4OTk0MGY2ODJhYzAzOWUyYjk1YTVlZTI1YzEuLmYwNDIwZDUxNThjNzM0Y2YxMDUwNGM3
YTdjNGJjMGYyNDI0ZDgzMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRl
bnNpb25zL1VSTEZpbHRlclBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY29udGVudGV4
dGVuc2lvbnMvVVJMRmlsdGVyUGFyc2VyLmNwcApAQCAtNDAsNyArNDAsNyBAQCBuYW1lc3BhY2Ug
Q29udGVudEV4dGVuc2lvbnMgewogCiBjbGFzcyBQYXR0ZXJuUGFyc2VyIHsKIHB1YmxpYzoKLSAg
ICBQYXR0ZXJuUGFyc2VyKGJvb2wgcGF0dGVybklzQ2FzZVNlbnNpdGl2ZSkKKyAgICBleHBsaWNp
dCBQYXR0ZXJuUGFyc2VyKGJvb2wgcGF0dGVybklzQ2FzZVNlbnNpdGl2ZSkKICAgICAgICAgOiBt
X3BhdHRlcm5Jc0Nhc2VTZW5zaXRpdmUocGF0dGVybklzQ2FzZVNlbnNpdGl2ZSkKICAgICAgICAg
LCBtX3BhcnNlU3RhdHVzKFVSTEZpbHRlclBhcnNlcjo6T2spCiAgICAgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NUb2tlbml6ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTVG9rZW5pemVyLmgKaW5kZXggYTgzZmY5NzhkMTNlNTRiMmM5MDVhZjNh
NzQyMTk3YzY0Yzg4YjgzMS4uMjViMDMxNWM1ZDJmMmU3Y2ZhMGY0MGQwZWEwNDNiY2MzMmFiN2I2
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NUb2tlbml6ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Rva2VuaXplci5oCkBAIC00NSw3ICs0
NSw3IEBAIGNsYXNzIENTU1Rva2VuaXplciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoQ1NT
VG9rZW5pemVyKTsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBD
U1NUb2tlbml6ZXIoY29uc3QgU3RyaW5nJik7CisgICAgZXhwbGljaXQgQ1NTVG9rZW5pemVyKGNv
bnN0IFN0cmluZyYpOwogICAgIENTU1Rva2VuaXplcihjb25zdCBTdHJpbmcmLCBDU1NQYXJzZXJP
YnNlcnZlcldyYXBwZXImKTsgLy8gRm9yIHRoZSBpbnNwZWN0b3IKIAogICAgIENTU1BhcnNlclRv
a2VuUmFuZ2UgdG9rZW5SYW5nZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5oCmluZGV4IDE1NzI1ZjYzYmNjMTZhYTAwNjVhNjQx
MGM3MjVkNzQzMmRiMTMxZjkuLmEyYmNiMmYwMjYxNWM0MjU2MDM0YzQzZDU4Mzk0ZWMzMDVmZmEz
MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQ
YXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmlidXRlUGFy
c2VyLmgKQEAgLTQxLDcgKzQxLDcgQEAgY2xhc3MgTWVkaWFRdWVyeVNldDsKICAgICAKIGNsYXNz
IFNpemVzQXR0cmlidXRlUGFyc2VyIHsKIHB1YmxpYzoKLSAgICBTaXplc0F0dHJpYnV0ZVBhcnNl
cihjb25zdCBTdHJpbmcmLCBjb25zdCBEb2N1bWVudCYpOworICAgIGV4cGxpY2l0IFNpemVzQXR0
cmlidXRlUGFyc2VyKGNvbnN0IFN0cmluZyYsIGNvbnN0IERvY3VtZW50Jik7CiAKICAgICBmbG9h
dCBsZW5ndGgoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRT
dHJpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuY3BwCmluZGV4
IDE4ZTM4NWUyYTI5OWQwZGMzOWEzMDQwZDE5MGI3Y2EzMGIwOGVlMzEuLmFhNWIzNWI5OWY1NmVi
Nzg0OGQ1NTZlMzFmNmQyMmQzNDU2YjRlYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TcGFjZVNwbGl0U3RyaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3BhY2VTcGxp
dFN0cmluZy5jcHAKQEAgLTEwMyw3ICsxMDMsNyBAQCB2b2lkIFNwYWNlU3BsaXRTdHJpbmc6OnNl
dChjb25zdCBBdG9tU3RyaW5nJiBpbnB1dFN0cmluZywgYm9vbCBzaG91bGRGb2xkQ2FzZSkKIAog
Y2xhc3MgVG9rZW5Jc0VxdWFsVG9DU3RyaW5nVG9rZW5Qcm9jZXNzb3IgewogcHVibGljOgotICAg
IFRva2VuSXNFcXVhbFRvQ1N0cmluZ1Rva2VuUHJvY2Vzc29yKGNvbnN0IGNoYXIqIHJlZmVyZW5j
ZVN0cmluZywgdW5zaWduZWQgcmVmZXJlbmNlU3RyaW5nTGVuZ3RoKQorICAgIGV4cGxpY2l0IFRv
a2VuSXNFcXVhbFRvQ1N0cmluZ1Rva2VuUHJvY2Vzc29yKGNvbnN0IGNoYXIqIHJlZmVyZW5jZVN0
cmluZywgdW5zaWduZWQgcmVmZXJlbmNlU3RyaW5nTGVuZ3RoKQogICAgICAgICA6IG1fcmVmZXJl
bmNlU3RyaW5nKHJlZmVyZW5jZVN0cmluZykKICAgICAgICAgLCBtX3JlZmVyZW5jZVN0cmluZ0xl
bmd0aChyZWZlcmVuY2VTdHJpbmdMZW5ndGgpCiAgICAgICAgICwgbV9yZWZlcmVuY2VTdHJpbmdX
YXNGb3VuZChmYWxzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRm9ybUNvbnRy
b2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQ29udHJvbGxlci5jcHAKaW5kZXgg
NjUzMmJkYmIzMGU1YTI2NzFlODA0YWVhNjkxZDViMjVlNTE0MTZjOS4uZWE1YjA5YWFhMDhkYjI3
Mzk2MWI5NTM0MjJmMDNkZDdhZDZlNDY3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9Gb3JtQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Gb3JtQ29udHJv
bGxlci5jcHAKQEAgLTc5LDcgKzc5LDcgQEAgc3RhdGljIGlubGluZSBPcHRpb25hbDxGb3JtQ29u
dHJvbFN0YXRlPiBkZXNlcmlhbGl6ZUZvcm1Db250cm9sU3RhdGUoY29uc3QgVmVjdG8KIAogY2xh
c3MgRm9ybUVsZW1lbnRLZXkgewogcHVibGljOgotICAgIEZvcm1FbGVtZW50S2V5KEF0b21TdHJp
bmdJbXBsKiA9IDAsIEF0b21TdHJpbmdJbXBsKiA9IDApOworICAgIGV4cGxpY2l0IEZvcm1FbGVt
ZW50S2V5KEF0b21TdHJpbmdJbXBsKiA9IG51bGxwdHIsIEF0b21TdHJpbmdJbXBsKiA9IG51bGxw
dHIpOwogICAgIH5Gb3JtRWxlbWVudEtleSgpOwogICAgIEZvcm1FbGVtZW50S2V5KGNvbnN0IEZv
cm1FbGVtZW50S2V5Jik7CiAgICAgRm9ybUVsZW1lbnRLZXkmIG9wZXJhdG9yPShjb25zdCBGb3Jt
RWxlbWVudEtleSYpOwpAQCAtMjI5LDEzICsyMjksMTMgQEAgdm9pZCBTYXZlZEZvcm1TdGF0ZTo6
c2VyaWFsaXplVG8oVmVjdG9yPFN0cmluZz4mIHN0YXRlVmVjdG9yKSBjb25zdAogCiB2b2lkIFNh
dmVkRm9ybVN0YXRlOjphcHBlbmRDb250cm9sU3RhdGUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSwg
Y29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgRm9ybUNvbnRyb2xTdGF0ZSYgc3RhdGUpCiB7
Ci0gICAgbV9zdGF0ZUZvck5ld0Zvcm1FbGVtZW50cy5hZGQoeyBuYW1lLmltcGwoKSwgdHlwZS5p
bXBsKCkgfSwgRGVxdWU8Rm9ybUNvbnRyb2xTdGF0ZT4geyB9KS5pdGVyYXRvci0+dmFsdWUuYXBw
ZW5kKHN0YXRlKTsKKyAgICBtX3N0YXRlRm9yTmV3Rm9ybUVsZW1lbnRzLmFkZChGb3JtRWxlbWVu
dEtleSB7IG5hbWUuaW1wbCgpLCB0eXBlLmltcGwoKSB9LCBEZXF1ZTxGb3JtQ29udHJvbFN0YXRl
PiB7IH0pLml0ZXJhdG9yLT52YWx1ZS5hcHBlbmQoc3RhdGUpOwogICAgICsrbV9jb250cm9sU3Rh
dGVDb3VudDsKIH0KIAogRm9ybUNvbnRyb2xTdGF0ZSBTYXZlZEZvcm1TdGF0ZTo6dGFrZUNvbnRy
b2xTdGF0ZShjb25zdCBBdG9tU3RyaW5nJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiB0eXBlKQog
ewotICAgIGF1dG8gaXRlcmF0b3IgPSBtX3N0YXRlRm9yTmV3Rm9ybUVsZW1lbnRzLmZpbmQoeyBu
YW1lLmltcGwoKSwgdHlwZS5pbXBsKCkgfSk7CisgICAgYXV0byBpdGVyYXRvciA9IG1fc3RhdGVG
b3JOZXdGb3JtRWxlbWVudHMuZmluZChGb3JtRWxlbWVudEtleSB7IG5hbWUuaW1wbCgpLCB0eXBl
LmltcGwoKSB9KTsKICAgICBpZiAoaXRlcmF0b3IgPT0gbV9zdGF0ZUZvck5ld0Zvcm1FbGVtZW50
cy5lbmQoKSkKICAgICAgICAgcmV0dXJuIHsgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Byb2dyZXNzVHJhY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJv
Z3Jlc3NUcmFja2VyLmNwcAppbmRleCAzOWYwZmRlZDcxNWM3N2ZlOTQ3MDNiMzRiYmEwMzNmODBh
NTU2YzQ5Li5lMTdhOWRjNzJkZTAzN2M5NjM0YmMxY2M5M2MyYzFhNzdhODZiZmEzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUHJvZ3Jlc3NUcmFja2VyLmNwcApAQCAtNjUsNyArNjUsNyBAQCBz
dGF0aWMgY29uc3QgU2Vjb25kcyBwcm9ncmVzc05vdGlmaWNhdGlvblRpbWVJbnRlcnZhbCB7IDIw
MF9tcyB9Owogc3RydWN0IFByb2dyZXNzSXRlbSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UHJvZ3Jlc3NJdGVtKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgUHJv
Z3Jlc3NJdGVtKGxvbmcgbG9uZyBsZW5ndGgpCisgICAgZXhwbGljaXQgUHJvZ3Jlc3NJdGVtKGxv
bmcgbG9uZyBsZW5ndGgpCiAgICAgICAgIDogYnl0ZXNSZWNlaXZlZCgwKQogICAgICAgICAsIGVz
dGltYXRlZExlbmd0aChsZW5ndGgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9EcmFnQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9s
bGVyLmNwcAppbmRleCAwNzVhZDZhYzk4Y2Q2MGQxZGQ2MjdmZmUxMGU5MzM4MWQxOTIyZTUyLi5h
ZjliOGYzNzRkZmY5YWQxYjE4YWNlOTM0YTI4NmJhNTUzYTY0MWE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RyYWdDb250cm9sbGVyLmNwcApAQCAtMTM1LDEyICsxMzUsNiBAQCBzdGF0aWMgUGxhdGZv
cm1Nb3VzZUV2ZW50IGNyZWF0ZU1vdXNlRXZlbnQoY29uc3QgRHJhZ0RhdGEmIGRyYWdEYXRhKQog
RHJhZ0NvbnRyb2xsZXI6OkRyYWdDb250cm9sbGVyKFBhZ2UmIHBhZ2UsIERyYWdDbGllbnQmIGNs
aWVudCkKICAgICA6IG1fcGFnZShwYWdlKQogICAgICwgbV9jbGllbnQoY2xpZW50KQotICAgICwg
bV9udW1iZXJPZkl0ZW1zVG9CZUFjY2VwdGVkKDApCi0gICAgLCBtX2RyYWdIYW5kbGluZ01ldGhv
ZChEcmFnSGFuZGxpbmdNZXRob2Q6Ok5vbmUpCi0gICAgLCBtX2RyYWdEZXN0aW5hdGlvbkFjdGlv
bihEcmFnRGVzdGluYXRpb25BY3Rpb25Ob25lKQotICAgICwgbV9kcmFnU291cmNlQWN0aW9uKERy
YWdTb3VyY2VBY3Rpb25Ob25lKQotICAgICwgbV9kaWRJbml0aWF0ZURyYWcoZmFsc2UpCi0gICAg
LCBtX3NvdXJjZURyYWdPcGVyYXRpb24oRHJhZ09wZXJhdGlvbk5vbmUpCiB7CiB9CiAKQEAgLTI4
NCw3ICsyNzgsNyBAQCBib29sIERyYWdDb250cm9sbGVyOjpwZXJmb3JtRHJhZ09wZXJhdGlvbihj
b25zdCBEcmFnRGF0YSYgZHJhZ0RhdGEpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIG1f
Y2xpZW50LndpbGxQZXJmb3JtRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uKERyYWdEZXN0aW5hdGlvbkFj
dGlvbkxvYWQsIGRyYWdEYXRhKTsKLSAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVl
c3QgeyBtX3BhZ2UubWFpbkZyYW1lKCksIHsgdXJsU3RyaW5nIH0sIHNob3VsZE9wZW5FeHRlcm5h
bFVSTHNQb2xpY3kgfTsKKyAgICBGcmFtZUxvYWRSZXF1ZXN0IGZyYW1lTG9hZFJlcXVlc3QgeyBt
X3BhZ2UubWFpbkZyYW1lKCksIFJlc291cmNlUmVxdWVzdCB7IHVybFN0cmluZyB9LCBzaG91bGRP
cGVuRXh0ZXJuYWxVUkxzUG9saWN5IH07CiAgICAgZnJhbWVMb2FkUmVxdWVzdC5zZXRJc1JlcXVl
c3RGcm9tQ2xpZW50T3JVc2VySW5wdXQoKTsKICAgICBtX3BhZ2UubWFpbkZyYW1lKCkubG9hZGVy
KCkubG9hZChXVEZNb3ZlKGZyYW1lTG9hZFJlcXVlc3QpKTsKICAgICByZXR1cm4gdHJ1ZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAppbmRleCAyZjA1ZjdiYzQ2NmY1YmFkNGM1MGUw
MzgwYjRhMGFhYWY4NTYxYjAyLi43M2ZlZDA5ZjEwYzUyMGM1MWJmMjhiZGY2NGQyMWVjYzZhOGRi
NjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCkBAIC0xNDIsMTMgKzE0Miwx
MyBAQCBzdHJ1Y3QgUHJvbWlzZWRBdHRhY2htZW50SW5mbzsKICAgICAgICAgUmVmUHRyPERvY3Vt
ZW50PiBtX2RvY3VtZW50VW5kZXJNb3VzZTsgLy8gVGhlIGRvY3VtZW50IHRoZSBtb3VzZSB3YXMg
bGFzdCBkcmFnZ2VkIG92ZXIuCiAgICAgICAgIFJlZlB0cjxEb2N1bWVudD4gbV9kcmFnSW5pdGlh
dG9yOyAvLyBUaGUgRG9jdW1lbnQgKGlmIGFueSkgdGhhdCBpbml0aWF0ZWQgdGhlIGRyYWcuCiAg
ICAgICAgIFJlZlB0cjxIVE1MSW5wdXRFbGVtZW50PiBtX2ZpbGVJbnB1dEVsZW1lbnRVbmRlck1v
dXNlOwotICAgICAgICB1bnNpZ25lZCBtX251bWJlck9mSXRlbXNUb0JlQWNjZXB0ZWQ7CisgICAg
ICAgIHVuc2lnbmVkIG1fbnVtYmVyT2ZJdGVtc1RvQmVBY2NlcHRlZCB7IDAgfTsKICAgICAgICAg
RHJhZ0hhbmRsaW5nTWV0aG9kIG1fZHJhZ0hhbmRsaW5nTWV0aG9kIHsgRHJhZ0hhbmRsaW5nTWV0
aG9kOjpOb25lIH07CiAKLSAgICAgICAgRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uIG1fZHJhZ0Rlc3Rp
bmF0aW9uQWN0aW9uOwotICAgICAgICBEcmFnU291cmNlQWN0aW9uIG1fZHJhZ1NvdXJjZUFjdGlv
bjsKLSAgICAgICAgYm9vbCBtX2RpZEluaXRpYXRlRHJhZzsKLSAgICAgICAgRHJhZ09wZXJhdGlv
biBtX3NvdXJjZURyYWdPcGVyYXRpb247IC8vIFNldCBpbiBzdGFydERyYWcgd2hlbiBhIGRyYWcg
c3RhcnRzIGZyb20gYSBtb3VzZSBkb3duIHdpdGhpbiBXZWJLaXQKKyAgICAgICAgRHJhZ0Rlc3Rp
bmF0aW9uQWN0aW9uIG1fZHJhZ0Rlc3RpbmF0aW9uQWN0aW9uIHsgRHJhZ0Rlc3RpbmF0aW9uQWN0
aW9uTm9uZSB9OworICAgICAgICBEcmFnU291cmNlQWN0aW9uIG1fZHJhZ1NvdXJjZUFjdGlvbiB7
IERyYWdTb3VyY2VBY3Rpb25Ob25lIH07CisgICAgICAgIGJvb2wgbV9kaWRJbml0aWF0ZURyYWcg
eyBmYWxzZSB9OworICAgICAgICBEcmFnT3BlcmF0aW9uIG1fc291cmNlRHJhZ09wZXJhdGlvbiB7
IERyYWdPcGVyYXRpb25Ob25lIH07IC8vIFNldCBpbiBzdGFydERyYWcgd2hlbiBhIGRyYWcgc3Rh
cnRzIGZyb20gYSBtb3VzZSBkb3duIHdpdGhpbiBXZWJLaXQKICAgICAgICAgSW50UG9pbnQgbV9k
cmFnT2Zmc2V0OwogICAgICAgICBVUkwgbV9kcmFnZ2luZ0ltYWdlVVJMOwogICAgICAgICBib29s
IG1faXNQZXJmb3JtaW5nRHJvcCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAKaW5kZXggYzU3MWFmMDZh
ZmU4Njk1YTQ1ZGQ3ZjRkYWNjYWM1NGFlMzBjOTFlYS4uNzRlZWRjOTk2NmU5ZjgxYWNiOTk2Y2Yz
NzY5ODNkYWI2ODU1NDBjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRp
b24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5p
bWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmNwcApAQCAtNDM4LDcgKzQzOCw3IEBAIGNsYXNz
IEFuaW1hdGlvblByb3BlcnR5V3JhcHBlckJhc2UgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KEFuaW1hdGlvblByb3BlcnR5V3JhcHBlckJhc2UpOwogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgotICAgIEFuaW1hdGlvblByb3BlcnR5V3JhcHBlckJhc2UoQ1NTUHJvcGVy
dHlJRCBwcm9wKQorICAgIGV4cGxpY2l0IEFuaW1hdGlvblByb3BlcnR5V3JhcHBlckJhc2UoQ1NT
UHJvcGVydHlJRCBwcm9wKQogICAgICAgICA6IG1fcHJvcChwcm9wKQogICAgIHsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9ET01UaW1lckhvbGRpbmdUYW5rLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2lvcy9ET01UaW1lckhvbGRpbmdUYW5rLmgKaW5kZXggNjAy
NzdjNzJhMWJmZDA5ZWM1ZGJlMjhmYTQ4MTFhMDdiMmI0ZGY2MS4uYjYyMTg0ZmUxNzk0MmRhOTQ4
NTlhODAyY2VmZGU3NmUyNDJkM2U0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9p
b3MvRE9NVGltZXJIb2xkaW5nVGFuay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvaW9zL0RP
TVRpbWVySG9sZGluZ1RhbmsuaApAQCAtNTMsNyArNTMsNyBAQCBwcml2YXRlOgogCiBjbGFzcyBE
ZWZlckRPTVRpbWVyc0ZvclNjb3BlIHsKIHB1YmxpYzoKLSAgICBEZWZlckRPTVRpbWVyc0ZvclNj
b3BlKGJvb2wgZW5hYmxlKQorICAgIGV4cGxpY2l0IERlZmVyRE9NVGltZXJzRm9yU2NvcGUoYm9v
bCBlbmFibGUpCiAgICAgICAgIDogbV9wcmV2aW91c0lzRGVmZXJyaW5nIHsgc19pc0RlZmVycmlu
ZyB9CiAgICAgewogICAgICAgICBpZiAoZW5hYmxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vQ291bnRlZFVzZXJBY3Rpdml0eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vQ291bnRlZFVzZXJBY3Rpdml0eS5oCmluZGV4IDE4YzM0MjgwYmUwZDU2ZWQ0MWNkNTE4M2Vk
ZTQxNmJjOTVjNWQ3ODEuLjc1YTgzYjIwMWM2NGQ2ZDgxZDQ4NzQ3OGVlMDJjY2JkNWFkYmE0ZDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvdW50ZWRVc2VyQWN0aXZpdHku
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db3VudGVkVXNlckFjdGl2aXR5LmgKQEAg
LTMyLDkgKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDb3VudGVkVXNlckFj
dGl2aXR5IHsKIHB1YmxpYzoKLSAgICBDb3VudGVkVXNlckFjdGl2aXR5KGNvbnN0IGNoYXIqIGRl
c2NyaXB0aW9uKQorICAgIGV4cGxpY2l0IENvdW50ZWRVc2VyQWN0aXZpdHkoY29uc3QgY2hhciog
ZGVzY3JpcHRpb24pCiAgICAgICAgIDogbV9hY3Rpdml0eShkZXNjcmlwdGlvbikKLSAgICAgICAg
LCBtX2NvdW50KDApCiAgICAgewogICAgIH0KIApAQCAtNTIsNyArNTEsNyBAQCBwdWJsaWM6CiAK
IHByaXZhdGU6CiAgICAgVXNlckFjdGl2aXR5IG1fYWN0aXZpdHk7Ci0gICAgc2l6ZV90IG1fY291
bnQ7CisgICAgc2l6ZV90IG1fY291bnQgeyAwIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9EaXJlY3RDb252
b2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0RpcmVjdENvbnZvbHZlci5o
CmluZGV4IDdjZDg3OWQ0NWJlNzQzMzAzMTMxMmE0YTM4ODZkMDhiYmVkOGY0M2EuLjZmMmZhZjQw
ZTYxYmY2ZTMyYTRmNDk5OTc2NWM5ZTFiYjUxOTQxYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0RpcmVjdENvbnZvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL0RpcmVjdENvbnZvbHZlci5oCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRGlyZWN0Q29udm9sdmVyIHsKIHB1YmxpYzoKLSAgICBE
aXJlY3RDb252b2x2ZXIoc2l6ZV90IGlucHV0QmxvY2tTaXplKTsKKyAgICBleHBsaWNpdCBEaXJl
Y3RDb252b2x2ZXIoc2l6ZV90IGlucHV0QmxvY2tTaXplKTsKIAogICAgIHZvaWQgcHJvY2VzcyhB
dWRpb0Zsb2F0QXJyYXkqIGNvbnZvbHV0aW9uS2VybmVsLCBjb25zdCBmbG9hdCogc291cmNlUCwg
ZmxvYXQqIGRlc3RQLCBzaXplX3QgZnJhbWVzVG9Qcm9jZXNzKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRG93blNhbXBsZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL0Rvd25TYW1wbGVyLmgKaW5kZXggYTY3MWM2ZmU0ODMwZDJmNWI0OGMx
YjQ0Zjg5NWU1YzllYzkzOTNmYi4uZjRiNDIwMTdlZTc2MjdjYWQ2NTZiZmY0NTdhYWU5ODk0ODAx
NGJmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRG93blNhbXBs
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Eb3duU2FtcGxlci5oCkBA
IC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIERvd25TYW1wbGVyIHsK
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBEb3duU2FtcGxlcihz
aXplX3QgaW5wdXRCbG9ja1NpemUpOworICAgIGV4cGxpY2l0IERvd25TYW1wbGVyKHNpemVfdCBp
bnB1dEJsb2NrU2l6ZSk7CiAKICAgICAvLyBUaGUgZGVzdGluYXRpb24gYnVmZmVyIHxkZXN0UHwg
aXMgb2Ygc2l6ZSBzb3VyY2VGcmFtZXNUb1Byb2Nlc3MgLyAyLgogICAgIHZvaWQgcHJvY2Vzcyhj
b25zdCBmbG9hdCogc291cmNlUCwgZmxvYXQqIGRlc3RQLCBzaXplX3Qgc291cmNlRnJhbWVzVG9Q
cm9jZXNzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0R5bmFt
aWNzQ29tcHJlc3Nvcktlcm5lbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRHlu
YW1pY3NDb21wcmVzc29yS2VybmVsLmgKaW5kZXggYzAzNmEzOGRjNThjYzljY2Q1YzkyYjYxZWRm
MTUxNjJlZjJjZGZhNi4uYjdiY2VhMmZhZmQ4OTk2Y2E1MjhiMGI1ZGFiNDljYjg4OTU4ZGNjNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRHluYW1pY3NDb21wcmVz
c29yS2VybmVsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRHluYW1pY3ND
b21wcmVzc29yS2VybmVsLmgKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBEeW5hbWljc0NvbXByZXNzb3JLZXJuZWwgewogcHVibGljOgotICAgIER5bmFtaWNz
Q29tcHJlc3Nvcktlcm5lbChmbG9hdCBzYW1wbGVSYXRlLCB1bnNpZ25lZCBudW1iZXJPZkNoYW5u
ZWxzKTsKKyAgICBleHBsaWNpdCBEeW5hbWljc0NvbXByZXNzb3JLZXJuZWwoZmxvYXQgc2FtcGxl
UmF0ZSwgdW5zaWduZWQgbnVtYmVyT2ZDaGFubmVscyk7CiAKICAgICB2b2lkIHNldE51bWJlck9m
Q2hhbm5lbHModW5zaWduZWQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9FcXVhbFBvd2VyUGFubmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9FcXVhbFBvd2VyUGFubmVyLmgKaW5kZXggNjM0ZjE3Yzc1Y2U0ZWY2M2JlYzljMWZkNTRkNjY3
MDA1MzM0NzdjMi4uOGNmNTk5MTc5NWYzZjFmNjNlMjgxZDllMTZhY2FmM2Q3YTU3YTVkYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRXF1YWxQb3dlclBhbm5lci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0VxdWFsUG93ZXJQYW5uZXIuaApA
QCAtMzMsNyArMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEVxdWFsUG93ZXJQ
YW5uZXIgOiBwdWJsaWMgUGFubmVyIHsKIHB1YmxpYzoKLSAgICBFcXVhbFBvd2VyUGFubmVyKGZs
b2F0IHNhbXBsZVJhdGUpOworICAgIGV4cGxpY2l0IEVxdWFsUG93ZXJQYW5uZXIoZmxvYXQgc2Ft
cGxlUmF0ZSk7CiAKICAgICB2b2lkIHBhbihkb3VibGUgYXppbXV0aCwgZG91YmxlIGVsZXZhdGlv
biwgY29uc3QgQXVkaW9CdXMqIGlucHV0QnVzLCBBdWRpb0J1cyogb3V0cHV0QnVmLCBzaXplX3Qg
ZnJhbWVzVG9Qcm9jZXNzKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vTXVsdGlDaGFubmVsUmVzYW1wbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hdWRpby9NdWx0aUNoYW5uZWxSZXNhbXBsZXIuaAppbmRleCA2MjlkNTdmM2U5NDdl
ODM1YjE2ZWVlNmM4NDBiOTg3ZjkwNWE5MDA0Li40NDE3NTQ3NjA1ODNkMjgwMzRhNDViM2JkOGE2
MTg4ZDQ2NWEyZjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9N
dWx0aUNoYW5uZWxSZXNhbXBsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9NdWx0aUNoYW5uZWxSZXNhbXBsZXIuaApAQCAtNDAsNyArNDAsNyBAQCBjbGFzcyBBdWRpb0J1
czsKIGNsYXNzIE11bHRpQ2hhbm5lbFJlc2FtcGxlciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6ICAgCi0gICAgTXVsdGlDaGFubmVsUmVzYW1wbGVyKGRvdWJsZSBzY2Fs
ZUZhY3RvciwgdW5zaWduZWQgbnVtYmVyT2ZDaGFubmVscyk7CisgICAgZXhwbGljaXQgTXVsdGlD
aGFubmVsUmVzYW1wbGVyKGRvdWJsZSBzY2FsZUZhY3RvciwgdW5zaWduZWQgbnVtYmVyT2ZDaGFu
bmVscyk7CiAgICAgCiAgICAgLy8gUHJvY2VzcyBnaXZlbiBBdWRpb1NvdXJjZVByb3ZpZGVyIGZv
ciBzdHJlYW1pbmcgYXBwbGljYXRpb25zLgogICAgIHZvaWQgcHJvY2VzcyhBdWRpb1NvdXJjZVBy
b3ZpZGVyKiwgQXVkaW9CdXMqIGRlc3RpbmF0aW9uLCBzaXplX3QgZnJhbWVzVG9Qcm9jZXNzKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYkFjY3VtdWxh
dGlvbkJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQWNjdW11
bGF0aW9uQnVmZmVyLmgKaW5kZXggZDcyNzU2ZjQ5YTdjZDUwODEyZDQ3ZjI0YzhhNmJhMzRhNWI3
OTRjNi4uNTEyYjZhZGUzNDFhMjg1Njk3MmVlM2Y3YmNiMjExNjZiYjcyMWExZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQWNjdW11bGF0aW9uQnVmZmVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiQWNjdW11bGF0aW9u
QnVmZmVyLmgKQEAgLTM4LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8ganVzdCBy
ZWFkIGZyb20gdGhlIGJ1ZmZlciwgc28gaXQgd2lsbCBiZSByZWFkeSBmb3IgYWNjdW11bGF0aW9u
IHRoZSBuZXh0IHRpbWUgYXJvdW5kLgogY2xhc3MgUmV2ZXJiQWNjdW11bGF0aW9uQnVmZmVyIHsK
IHB1YmxpYzoKLSAgICBSZXZlcmJBY2N1bXVsYXRpb25CdWZmZXIoc2l6ZV90IGxlbmd0aCk7Cisg
ICAgZXhwbGljaXQgUmV2ZXJiQWNjdW11bGF0aW9uQnVmZmVyKHNpemVfdCBsZW5ndGgpOwogCiAg
ICAgLy8gVGhpcyB3aWxsIHJlYWQgZnJvbSwgdGhlbiBjbGVhci1vdXQgbnVtYmVyT2ZGcmFtZXMK
ICAgICB2b2lkIHJlYWRBbmRDbGVhcihmbG9hdCogZGVzdGluYXRpb24sIHNpemVfdCBudW1iZXJP
ZkZyYW1lcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZl
cmJJbnB1dEJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUmV2ZXJiSW5w
dXRCdWZmZXIuaAppbmRleCA0YzU1NjFjNjllZWI1YWVhZjdhNGJkMjkwYzU4MWMwMjgxZTRmNjVi
Li5iYjA2ZTRlZWQ2MzNmMGU3YzY4MmUyMGU0ZTZhNTcyYWExZmFhOTY2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9SZXZlcmJJbnB1dEJ1ZmZlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1JldmVyYklucHV0QnVmZmVyLmgKQEAgLTM2LDcg
KzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gUmV2ZXJiSW5wdXRCdWZmZXIgaXMgdXNl
ZCB0byBidWZmZXIgaW5wdXQgc2FtcGxlcyBmb3IgZGVmZXJyZWQgcHJvY2Vzc2luZyBieSB0aGUg
YmFja2dyb3VuZCB0aHJlYWRzLgogY2xhc3MgUmV2ZXJiSW5wdXRCdWZmZXIgewogcHVibGljOgot
ICAgIFJldmVyYklucHV0QnVmZmVyKHNpemVfdCBsZW5ndGgpOworICAgIGV4cGxpY2l0IFJldmVy
YklucHV0QnVmZmVyKHNpemVfdCBsZW5ndGgpOwogCiAgICAgLy8gVGhlIHJlYWx0aW1lIGF1ZGlv
IHRocmVhZCBrZWVwcyB3cml0aW5nIHNhbXBsZXMgaGVyZS4KICAgICAvLyBUaGUgYXNzdW1wdGlv
biBpcyB0aGF0IHRoZSBidWZmZXIncyBsZW5ndGggaXMgZXZlbmx5IGRpdmlzaWJsZSBieSBudW1i
ZXJPZkZyYW1lcyAoZm9yIG5lYXJseSBhbGwgY2FzZXMgdGhpcyB3aWxsIGJlIGZpbmUpLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vU2luY1Jlc2FtcGxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9TaW5jUmVzYW1wbGVyLmNwcAppbmRleCA4
OTc3ZjM5ODY5ZDZiNjUwMjY0MzU0NGY0MWQyYjZkYTM4N2FlOTc5Li41ZDA4ZGU1Y2FkYWZiMTA0
NjczZjQ0ZDM4ZjM0NGUxOTdkMWUxZjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9TaW5jUmVzYW1wbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9hdWRpby9TaW5jUmVzYW1wbGVyLmNwcApAQCAtMTQ2LDcgKzE0Niw3IEBAIG5hbWVzcGFjZSB7
CiAKIGNsYXNzIEJ1ZmZlclNvdXJjZVByb3ZpZGVyIDogcHVibGljIEF1ZGlvU291cmNlUHJvdmlk
ZXIgewogcHVibGljOgotICAgIEJ1ZmZlclNvdXJjZVByb3ZpZGVyKGNvbnN0IGZsb2F0KiBzb3Vy
Y2UsIHNpemVfdCBudW1iZXJPZlNvdXJjZUZyYW1lcykKKyAgICBleHBsaWNpdCBCdWZmZXJTb3Vy
Y2VQcm92aWRlcihjb25zdCBmbG9hdCogc291cmNlLCBzaXplX3QgbnVtYmVyT2ZTb3VyY2VGcmFt
ZXMpCiAgICAgICAgIDogbV9zb3VyY2Uoc291cmNlKQogICAgICAgICAsIG1fc291cmNlRnJhbWVz
QXZhaWxhYmxlKG51bWJlck9mU291cmNlRnJhbWVzKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1VwU2FtcGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vVXBTYW1wbGVyLmgKaW5kZXggMjA1YjYyZTI2MGFmY2ZkMzNmYTM1ZjY3NDM0
ODgxOTI5MzFlN2Q2OC4uMjY2YmNhZjk4MGQ3MjZmYTJmNjM3Y2ZlOTNhNWQ0YzM4YjI0ZWUwNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vVXBTYW1wbGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vVXBTYW1wbGVyLmgKQEAgLTM5LDcgKzM5
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgVXBTYW1wbGVyIHsKICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBVcFNhbXBsZXIoc2l6ZV90IGlucHV0Qmxv
Y2tTaXplKTsKKyAgICBleHBsaWNpdCBVcFNhbXBsZXIoc2l6ZV90IGlucHV0QmxvY2tTaXplKTsK
IAogICAgIC8vIFRoZSBkZXN0aW5hdGlvbiBidWZmZXIgfGRlc3RQfCBpcyBvZiBzaXplIHNvdXJj
ZUZyYW1lc1RvUHJvY2VzcyAqIDIuCiAgICAgdm9pZCBwcm9jZXNzKGNvbnN0IGZsb2F0KiBzb3Vy
Y2VQLCBmbG9hdCogZGVzdFAsIHNpemVfdCBzb3VyY2VGcmFtZXNUb1Byb2Nlc3MpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL0F1ZGlvRmlsZVJlYWRlcklP
Uy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vaW9zL0F1ZGlvRmlsZVJlYWRlcklP
Uy5oCmluZGV4IGRhNGRhYzY4MGY1ZTkxMWZmMmRiOTc5NDYzZDY5ZTk4MzA2OTBjODUuLjExNTA2
MTlkZDZjNDU0ZDQ2Njc2YzJjZjUxNjhjNzUwMzE2ZjU2YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2lvcy9BdWRpb0ZpbGVSZWFkZXJJT1MuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9pb3MvQXVkaW9GaWxlUmVhZGVySU9TLmgKQEAgLTQz
LDggKzQzLDggQEAgY2xhc3MgQXVkaW9CdXM7CiAKIGNsYXNzIEF1ZGlvRmlsZVJlYWRlciB7CiBw
dWJsaWM6Ci0gICAgQXVkaW9GaWxlUmVhZGVyKGNvbnN0IGNoYXIqIGZpbGVQYXRoKTsKLSAgICBB
dWRpb0ZpbGVSZWFkZXIoY29uc3Qgdm9pZCogZGF0YSwgc2l6ZV90IGRhdGFTaXplKTsKKyAgICBl
eHBsaWNpdCBBdWRpb0ZpbGVSZWFkZXIoY29uc3QgY2hhciogZmlsZVBhdGgpOworICAgIGV4cGxp
Y2l0IEF1ZGlvRmlsZVJlYWRlcihjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0YVNpemUpOwog
ICAgIH5BdWRpb0ZpbGVSZWFkZXIoKTsKIAogICAgIFJlZlB0cjxBdWRpb0J1cz4gY3JlYXRlQnVz
KGZsb2F0IHNhbXBsZVJhdGUsIGJvb2wgbWl4VG9Nb25vKTsgLy8gUmV0dXJucyBudWxscHRyIG9u
IGVycm9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVk
aW9GaWxlUmVhZGVyTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvQXVk
aW9GaWxlUmVhZGVyTWFjLmgKaW5kZXggYzllYjY4ZWQ2MDA5MjMxY2I2YThmZmViMzcwN2ZlMmZh
NGFkM2UzNC4uNTY4NWJkNWFlODhmN2ViZjkxMDkwZGJhNzk0MmNhYTA5NzkwNzgyZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0F1ZGlvRmlsZVJlYWRlck1h
Yy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb0ZpbGVSZWFk
ZXJNYWMuaApAQCAtNDEsOCArNDEsOCBAQCBjbGFzcyBBdWRpb0J1czsKIAogY2xhc3MgQXVkaW9G
aWxlUmVhZGVyIHsKIHB1YmxpYzoKLSAgICBBdWRpb0ZpbGVSZWFkZXIoY29uc3QgY2hhciogZmls
ZVBhdGgpOwotICAgIEF1ZGlvRmlsZVJlYWRlcihjb25zdCB2b2lkKiBkYXRhLCBzaXplX3QgZGF0
YVNpemUpOworICAgIGV4cGxpY2l0IEF1ZGlvRmlsZVJlYWRlcihjb25zdCBjaGFyKiBmaWxlUGF0
aCk7CisgICAgZXhwbGljaXQgQXVkaW9GaWxlUmVhZGVyKGNvbnN0IHZvaWQqIGRhdGEsIHNpemVf
dCBkYXRhU2l6ZSk7CiAgICAgfkF1ZGlvRmlsZVJlYWRlcigpOwogCiAgICAgLy8gUmV0dXJucyBu
dWxscHRyIGlmIGVycm9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9tYWMvQXVkaW9TZXNzaW9uTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L21hYy9BdWRpb1Nlc3Npb25NYWMuY3BwCmluZGV4IDg4MWFhMzNmZGExYTU5NWIxZWUyNTNiODM5
NGIyYzdiZTQ1ODFlYTUuLjdmNmVmOWQzM2RiMWZiNDdlN2NmMTRjNTkwNGE0NjExMmIxNTIyMzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nlc3Np
b25NYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9BdWRpb1Nl
c3Npb25NYWMuY3BwCkBAIC01NSw3ICs1NSw3IEBAIHN0YXRpYyBBdWRpb0RldmljZUlEIGRlZmF1
bHREZXZpY2UoKQogY2xhc3MgQXVkaW9TZXNzaW9uUHJpdmF0ZSB7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgQXVkaW9TZXNzaW9uUHJpdmF0ZShib29sIG11dGVk
U3RhdGUpCisgICAgZXhwbGljaXQgQXVkaW9TZXNzaW9uUHJpdmF0ZShib29sIG11dGVkU3RhdGUp
CiAgICAgICAgIDogbGFzdE11dGVkU3RhdGUobXV0ZWRTdGF0ZSkgeyB9CiAgICAgYm9vbCBsYXN0
TXV0ZWRTdGF0ZTsKICAgICBBdWRpb1Nlc3Npb246OkNhdGVnb3J5VHlwZSBjYXRlZ29yeSB7IEF1
ZGlvU2Vzc2lvbjo6Tm9uZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y2YvS2V5ZWREZWNvZGVyQ0YuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL0tleWVkRGVj
b2RlckNGLmgKaW5kZXggMmZjYTIyMDlmZGNhMTkyNDc0YTg1OWU4OGU5ZTQyYTYxMmE0ODNiOC4u
OGFhZTI1ZmFkNDE3ZTM2NTk0MWZjYzY1NTE2OTVkYjg5NGM0YjRiYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvS2V5ZWREZWNvZGVyQ0YuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jZi9LZXllZERlY29kZXJDRi5oCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgS2V5ZWREZWNvZGVyQ0YgZmluYWwgOiBwdWJsaWMgS2V5
ZWREZWNvZGVyIHsKIHB1YmxpYzoKLSAgICBLZXllZERlY29kZXJDRihjb25zdCB1aW50OF90KiBk
YXRhLCBzaXplX3QpOworICAgIGV4cGxpY2l0IEtleWVkRGVjb2RlckNGKGNvbnN0IHVpbnQ4X3Qq
IGRhdGEsIHNpemVfdCk7CiAgICAgfktleWVkRGVjb2RlckNGKCkgb3ZlcnJpZGU7CiAKIHByaXZh
dGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0
ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0
b3IuY3BwCmluZGV4IGU0OGExOWQyYjI3Yjg4NmQ4NzhlOTlhN2NjMDJkZDlkYWMzYThlNWYuLmJj
Yzg2YWZkNjM0MTY3MWFhY2UyMTc0ZmY4NmU0NmJmNjNlZTk1YTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCkBAIC02NSw3ICs2
NSw3IEBAIFdpZHRoSXRlcmF0b3I6OldpZHRoSXRlcmF0b3IoY29uc3QgRm9udENhc2NhZGUqIGZv
bnQsIGNvbnN0IFRleHRSdW4mIHJ1biwgSGFzaFNlCiAKIHN0cnVjdCBPcmlnaW5hbEFkdmFuY2Vz
Rm9yQ2hhcmFjdGVyVHJlYXRlZEFzU3BhY2UgewogcHVibGljOgotICAgIE9yaWdpbmFsQWR2YW5j
ZXNGb3JDaGFyYWN0ZXJUcmVhdGVkQXNTcGFjZShib29sIGlzU3BhY2UsIGZsb2F0IGFkdmFuY2VC
ZWZvcmUsIGZsb2F0IGFkdmFuY2VBdCkKKyAgICBleHBsaWNpdCBPcmlnaW5hbEFkdmFuY2VzRm9y
Q2hhcmFjdGVyVHJlYXRlZEFzU3BhY2UoYm9vbCBpc1NwYWNlLCBmbG9hdCBhZHZhbmNlQmVmb3Jl
LCBmbG9hdCBhZHZhbmNlQXQpCiAgICAgICAgIDogY2hhcmFjdGVySXNTcGFjZShpc1NwYWNlKQog
ICAgICAgICAsIGFkdmFuY2VCZWZvcmVDaGFyYWN0ZXIoYWR2YW5jZUJlZm9yZSkKICAgICAgICAg
LCBhZHZhbmNlQXRDaGFyYWN0ZXIoYWR2YW5jZUF0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmgKaW5kZXgg
NGUzN2UzNzM0ZDAxYzRkZmZlNGIxYzZkN2Q1NjY2N2Y1NDYwN2ZhMy4uOGRhNTU4ZTE1ZTEzNDFj
ZmI3MTVmNzJiMmJlYzE4MDhjOTNjNjU1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5oCkBAIC0zNSw3
ICszNSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBTeW50aGVzaXNQYWlyIHsK
LSAgICBTeW50aGVzaXNQYWlyKGJvb2wgbmVlZHNTeW50aGV0aWNCb2xkLCBib29sIG5lZWRzU3lu
dGhldGljT2JsaXF1ZSkKKyAgICBleHBsaWNpdCBTeW50aGVzaXNQYWlyKGJvb2wgbmVlZHNTeW50
aGV0aWNCb2xkLCBib29sIG5lZWRzU3ludGhldGljT2JsaXF1ZSkKICAgICAgICAgOiBuZWVkc1N5
bnRoZXRpY0JvbGQobmVlZHNTeW50aGV0aWNCb2xkKQogICAgICAgICAsIG5lZWRzU3ludGhldGlj
T2JsaXF1ZShuZWVkc1N5bnRoZXRpY09ibGlxdWUpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5
TGlzdEl0ZW1zLmgKaW5kZXggZDA1OTZlYmZmMGM2OWYzZGY1NjRhNWU0OTk4NzY5ZTRmZDllZGFl
ZC4uM2VkODI0NTBiMjVmY2QxMzIwZGY3OTU2NTJlMmVjYWI1ZTk1ZTliZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0
SXRlbXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlz
dHMvRGlzcGxheUxpc3RJdGVtcy5oCkBAIC0xNjIsNyArMTYyLDcgQEAgcHJpdmF0ZToKIAogY2xh
c3MgRHJhd2luZ0l0ZW0gOiBwdWJsaWMgSXRlbSB7CiBwdWJsaWM6Ci0gICAgRHJhd2luZ0l0ZW0o
SXRlbVR5cGUgdHlwZSkKKyAgICBleHBsaWNpdCBEcmF3aW5nSXRlbShJdGVtVHlwZSB0eXBlKQog
ICAgICAgICA6IEl0ZW0odHlwZSkKICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VSZXF1ZXN0LmgKaW5kZXggOTc2NzQxZjJj
NmUwNzQ4ZjU2ZWVlNjllYmY5ZGQ5NGU5MjlmZGI2ZC4uNzFhOTIyZjMxMjM0OTI3Y2ZhOGJjZDFl
Yzc0OGI3ZjQ0N2RlMzU3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jZi9SZXNvdXJjZVJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2NmL1Jlc291cmNlUmVxdWVzdC5oCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0IDogcHVibGljIFJlc291cmNlUmVxdWVz
dEJhc2UgewogcHVibGljOgotICAgIFJlc291cmNlUmVxdWVzdChjb25zdCBTdHJpbmcmIHVybCkg
CisgICAgZXhwbGljaXQgUmVzb3VyY2VSZXF1ZXN0KGNvbnN0IFN0cmluZyYgdXJsKSAKICAgICAg
ICAgOiBSZXNvdXJjZVJlcXVlc3RCYXNlKFVSTCh7IH0sIHVybCksIFJlc291cmNlUmVxdWVzdENh
Y2hlUG9saWN5OjpVc2VQcm90b2NvbENhY2hlUG9saWN5KQogICAgIHsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY0lDVS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNJQ1UuaAppbmRleCA1NDU5OWY2MzE5ZTMw
MWFhNWI4YmVlMGMwMWM2ZDg2ZjE0OWY1MDIwLi44NjQ5MDNiZDRkMWNjNDhmNTQ0N2U2ZjYxM2Vi
NDgxZTRhNGE1NWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1Rl
eHRDb2RlY0lDVS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVj
SUNVLmgKQEAgLTM1LDcgKzM1LDcgQEAgdXNpbmcgSUNVQ29udmVydGVyUHRyID0gc3RkOjp1bmlx
dWVfcHRyPFVDb252ZXJ0ZXIsIHZvaWQgKCopKFVDb252ZXJ0ZXIqKT47CiAKIGNsYXNzIFRleHRD
b2RlY0lDVSA6IHB1YmxpYyBUZXh0Q29kZWMgewogcHVibGljOgotICAgIFRleHRDb2RlY0lDVShj
b25zdCBjaGFyKiBlbmNvZGluZywgY29uc3QgY2hhciogY2Fub25pY2FsQ29udmVydGVyTmFtZSk7
CisgICAgZXhwbGljaXQgVGV4dENvZGVjSUNVKGNvbnN0IGNoYXIqIGVuY29kaW5nLCBjb25zdCBj
aGFyKiBjYW5vbmljYWxDb252ZXJ0ZXJOYW1lKTsKICAgICB2aXJ0dWFsIH5UZXh0Q29kZWNJQ1Uo
KTsKIAogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyRW5jb2RpbmdOYW1lcyhFbmNvZGluZ05hbWVS
ZWdpc3RyYXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlU2VjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlv
bi5oCmluZGV4IGRlOGQ5MTEwMGQ4OTUwNGQ2MDI2ZGEzM2M2NDg3Zjg2YzkwZWQ0OGUuLmY4YTlm
ZmU1ZDBiYWE5YjI4OThmYzNkMzczM2Y5MzcyZDk3NTBkODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmgKQEAgLTQyLDcgKzQyLDcgQEAgZW51bSBD
b2xsYXBzZWRCb3JkZXJTaWRlIHsKIC8vIEhlbHBlciBjbGFzcyBmb3IgcGFpbnRPYmplY3QuCiBz
dHJ1Y3QgQ2VsbFNwYW4gewogcHVibGljOgotICAgIENlbGxTcGFuKHVuc2lnbmVkIHN0YXJ0LCB1
bnNpZ25lZCBlbmQpCisgICAgZXhwbGljaXQgQ2VsbFNwYW4odW5zaWduZWQgc3RhcnQsIHVuc2ln
bmVkIGVuZCkKICAgICAgICAgOiBzdGFydChzdGFydCkKICAgICAgICAgLCBlbmQoZW5kKQogICAg
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvUmFzdGVyU2hh
cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3NoYXBlcy9SYXN0ZXJTaGFwZS5jcHAK
aW5kZXggZDhhZmY5OGJjZTQyMWVhNDY5OTc1YTQxMmU2NjJiZTg2YjlmN2FjZi4uNGIxNTk3ZTlm
MjFjOWNkNGIyZjBkODgzNDc0NDc3NWYxZDhiZGUwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3NoYXBlcy9SYXN0ZXJTaGFwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3NoYXBlcy9SYXN0ZXJTaGFwZS5jcHAKQEAgLTM2LDcgKzM2LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBNYXJnaW5JbnRlcnZhbEdlbmVyYXRvciB7CiBwdWJsaWM6
Ci0gICAgTWFyZ2luSW50ZXJ2YWxHZW5lcmF0b3IodW5zaWduZWQgcmFkaXVzKTsKKyAgICBleHBs
aWNpdCBNYXJnaW5JbnRlcnZhbEdlbmVyYXRvcih1bnNpZ25lZCByYWRpdXMpOwogICAgIHZvaWQg
c2V0KGludCB5LCBjb25zdCBJbnRTaGFwZUludGVydmFsJik7CiAgICAgSW50U2hhcGVJbnRlcnZh
bCBpbnRlcnZhbEF0KGludCB5KSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3NoYXBlcy9SYXN0ZXJTaGFwZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3NoYXBlcy9SYXN0ZXJTaGFwZS5oCmluZGV4IDIzZGRhZjRmZjljNzc1OTI3ZjA4MmZlYzBiM2Yy
YmJjZmVjZmRiYWQuLmZkZjVkMWFhNTYzNThjMjVkN2Q4YzJjZjc2MDMwM2M5MTBkYzI1NjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zaGFwZXMvUmFzdGVyU2hhcGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc2hhcGVzL1Jhc3RlclNoYXBlLmgKQEAgLTQw
LDcgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUmFzdGVyU2hhcGVJbnRlcnZh
bHMgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFJhc3RlclNo
YXBlSW50ZXJ2YWxzKHVuc2lnbmVkIHNpemUsIGludCBvZmZzZXQgPSAwKQorICAgIGV4cGxpY2l0
IFJhc3RlclNoYXBlSW50ZXJ2YWxzKHVuc2lnbmVkIHNpemUsIGludCBvZmZzZXQgPSAwKQogICAg
ICAgICA6IG1fb2Zmc2V0KG9mZnNldCkKICAgICB7CiAgICAgICAgIG1faW50ZXJ2YWxzLnJlc2l6
ZShjbGFtcFRvPGludD4oc2l6ZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrTGliV2ViUlRDUGVlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
TW9ja0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uLmgKaW5kZXggYmUzYzYzZjBmZjlmNWIwMmI4Y2Rl
YjBjYjMxM2I5ZTE2Mzg0MmY1Yy4uMmRlNjYzZjY4NGY3NDI3Y2U0YWNmYTdmNWI2YmEwZDBjMGNh
YzIxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrTGliV2ViUlRDUGVl
ckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tMaWJXZWJSVENQ
ZWVyQ29ubmVjdGlvbi5oCkBAIC0xMTIsNyArMTEyLDcgQEAgcHJpdmF0ZToKIAogY2xhc3MgTW9j
a0xpYldlYlJUQ0ljZUNhbmRpZGF0ZSA6IHB1YmxpYyB3ZWJydGM6OkljZUNhbmRpZGF0ZUludGVy
ZmFjZSB7CiBwdWJsaWM6Ci0gICAgTW9ja0xpYldlYlJUQ0ljZUNhbmRpZGF0ZShjb25zdCBjaGFy
KiBzZHAsIGNvbnN0IGNoYXIqIHNkcE1pZCkKKyAgICBleHBsaWNpdCBNb2NrTGliV2ViUlRDSWNl
Q2FuZGlkYXRlKGNvbnN0IGNoYXIqIHNkcCwgY29uc3QgY2hhciogc2RwTWlkKQogICAgICAgICA6
IG1fc2RwKHNkcCkKICAgICAgICAgLCBtX3NkcE1pZChzZHBNaWQpIHsgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL01vZHVsZS5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9Nb2R1bGUuaAppbmRleCA0NDFjZGRkNzEzZTA3OTQ0ZjIxYjE4NDM5MGFhOGMxNDQwNjc4Y2Q4
Li5kZDJiNjZhN2NhMTk1OTFiNmVlNjdiOGYyODRmZDI1NGEzODI3ODVkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1BsYXRmb3JtL01vZHVsZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vTW9kdWxlLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBN
b2R1bGUgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE1vZHVsZSk7CiBwdWJsaWM6Ci0gICAg
TW9kdWxlKGNvbnN0IFN0cmluZyYgcGF0aCk7CisgICAgZXhwbGljaXQgTW9kdWxlKGNvbnN0IFN0
cmluZyYgcGF0aCk7CiAgICAgfk1vZHVsZSgpOwogCiAgICAgYm9vbCBsb2FkKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLmNwcAppbmRleCBi
NmQzOGFjYmRhNGM0YWY4ZDk2M2ZlYzdmNDM0ZWYxM2RjOWZmNjZjLi5jMWU5YzIyMTc5YzA0YTVk
MWMxZjM3NGFlYThmMzExOWQ2NTYyOWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5jcHAKQEAgLTE2Nyw3ICsxNjcsNyBAQCB2b2lkIFdl
Ykluc3BlY3Rvcjo6b3BlbkluTmV3VGFiKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nKQogICAgICAg
ICByZXR1cm47CiAKICAgICBGcmFtZSYgaW5zcGVjdGVkTWFpbkZyYW1lID0gaW5zcGVjdGVkUGFn
ZS0+bWFpbkZyYW1lKCk7Ci0gICAgRnJhbWVMb2FkUmVxdWVzdCBmcmFtZUxvYWRSZXF1ZXN0IHsg
Kmluc3BlY3RlZE1haW5GcmFtZS5kb2N1bWVudCgpLCBpbnNwZWN0ZWRNYWluRnJhbWUuZG9jdW1l
bnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgeyB1cmxTdHJpbmcgfSwgIl9ibGFuayJfcywgTG9ja0hp
c3Rvcnk6Ok5vLCBMb2NrQmFja0ZvcndhcmRMaXN0OjpObywgTWF5YmVTZW5kUmVmZXJyZXIsIEFs
bG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVzLCBOZXdGcmFtZU9wZW5lclBvbGljeTo6QWxs
b3csIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZE5vdEFsbG93LCBJbml0aWF0
ZWRCeU1haW5GcmFtZTo6VW5rbm93biB9OworICAgIEZyYW1lTG9hZFJlcXVlc3QgZnJhbWVMb2Fk
UmVxdWVzdCB7ICppbnNwZWN0ZWRNYWluRnJhbWUuZG9jdW1lbnQoKSwgaW5zcGVjdGVkTWFpbkZy
YW1lLmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIFJlc291cmNlUmVxdWVzdCB7IHVybFN0
cmluZyB9LCAiX2JsYW5rIl9zLCBMb2NrSGlzdG9yeTo6Tm8sIExvY2tCYWNrRm9yd2FyZExpc3Q6
Ok5vLCBNYXliZVNlbmRSZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMs
IE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpBbGxvdywgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGlj
eTo6U2hvdWxkTm90QWxsb3csIEluaXRpYXRlZEJ5TWFpbkZyYW1lOjpVbmtub3duIH07CiAKICAg
ICBOYXZpZ2F0aW9uQWN0aW9uIGFjdGlvbiB7ICppbnNwZWN0ZWRNYWluRnJhbWUuZG9jdW1lbnQo
KSwgZnJhbWVMb2FkUmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKSwgZnJhbWVMb2FkUmVxdWVzdC5p
bml0aWF0ZWRCeU1haW5GcmFtZSgpLCBOYXZpZ2F0aW9uVHlwZTo6TGlua0NsaWNrZWQgfTsKICAg
ICBQYWdlKiBuZXdQYWdlID0gaW5zcGVjdGVkUGFnZS0+Y2hyb21lKCkuY3JlYXRlV2luZG93KGlu
c3BlY3RlZE1haW5GcmFtZSwgZnJhbWVMb2FkUmVxdWVzdCwgeyB9LCBhY3Rpb24pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>