<?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>199081</bug_id>
          
          <creation_ts>2019-06-20 14:38:23 -0700</creation_ts>
          <short_desc>Make HTTPCookieAcceptPolicy an enum class</short_desc>
          <delta_ts>2019-06-25 14:09:35 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1546660</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-06-20 14:38:23 -0700</bug_when>
    <thetext>Make HTTPCookieAcceptPolicy an enum class</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546661</commentid>
    <comment_count>1</comment_count>
      <attachid>372585</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-06-20 14:42:04 -0700</bug_when>
    <thetext>Created attachment 372585
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546672</commentid>
    <comment_count>2</comment_count>
      <attachid>372588</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-06-20 14:57:39 -0700</bug_when>
    <thetext>Created attachment 372588
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546673</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-06-20 14:59:37 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546680</commentid>
    <comment_count>4</comment_count>
      <attachid>372590</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-06-20 15:12:16 -0700</bug_when>
    <thetext>Created attachment 372590
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546896</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-06-21 09:46:18 -0700</bug_when>
    <thetext>In file included from /Volumes/Data/EWS/WebKit/Source/WebKit/UIProcess/API/APIWebsiteDataStore.h:28:
In file included from /Volumes/Data/EWS/WebKit/Source/WebKit/UIProcess/API/APIHTTPCookieStore.h:29:
/Volumes/Data/EWS/WebKit/Source/WebKit/Shared/HTTPCookieAcceptPolicy.h:44:41: error: no member named &apos;Always_&apos; in &apos;WebKit::HTTPCookieAcceptPolicy&apos;
        WebKit::HTTPCookieAcceptPolicy::Always_,
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
In file included from /Volumes/Data/EWS/WebKit/WebKitBuild/Debug/DerivedSources/WebKit2/unified-sources/UnifiedSource20.cpp:1:
In file included from /Volumes/Data/EWS/WebKit/Source/WebKit/Shared/API/APIURLRequest.cpp:30:
In file included from /Volumes/Data/EWS/WebKit/Source/WebKit/UIProcess/WebProcessPool.h:33:
In file included from /Volumes/Data/EWS/WebKit/Source/WebKit/UIProcess/GenericCallback.h:33:
/Volumes/Data/EWS/WebKit/Source/WebKit/UIProcess/API/C/WKAPICast.h:370:40: error: no member named &apos;Always_&apos; in &apos;WebKit::HTTPCookieAcceptPolicy&apos;
        return HTTPCookieAcceptPolicy::Always_;
               ~~~~~~~~~~~~~~~~~~~~~~~~^
/Volumes/Data/EWS/WebKit/Source/WebKit/UIProcess/API/C/WKAPICast.h:380:36: error: no member named &apos;Always_&apos; in &apos;WebKit::HTTPCookieAcceptPolicy&apos;
    return HTTPCookieAcceptPolicy::Always_;
           ~~~~~~~~~~~~~~~~~~~~~~~~^
/Volumes/Data/EWS/WebKit/Source/WebKit/UIProcess/API/C/WKAPICast.h:386:34: error: no member named &apos;Always_&apos; in &apos;WebKit::HTTPCookieAcceptPolicy&apos;
    case HTTPCookieAcceptPolicy::Always_:
         ~~~~~~~~~~~~~~~~~~~~~~~~^
/Volumes/Data/EWS/WebKit/Source/WebKit/UIProcess/API/C/WKAPICast.h:385:13: error: enumeration value &apos;AlwaysAccept&apos; not handled in switch [-Werror,-Wswitch]
    switch (policy) {
            ^
/Volumes/Data/EWS/WebKit/Source/WebKit/UIProcess/API/C/WKAPICast.h:385:13: note: add missing switch cases
    switch (policy) {
            ^

** BUILD FAILED **</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547092</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-06-22 06:54:14 -0700</bug_when>
    <thetext>Alex, you might still be interested in commenting on bug #195140</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547743</commentid>
    <comment_count>7</comment_count>
      <attachid>372847</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-06-25 11:16:01 -0700</bug_when>
    <thetext>Created attachment 372847
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547759</commentid>
    <comment_count>8</comment_count>
      <attachid>372847</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-06-25 12:26:17 -0700</bug_when>
    <thetext>Comment on attachment 372847
Patch

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

&gt; Source/WebKit/ChangeLog:10
&gt; +        WKPreferencesGetIncrementalRenderingSuppressionTimeout was using its toAPI function to convert a double to a double because HTTPCookieAcceptPolicy used to be an unsigned integer.
&gt; +        toAPI(WebCore::MouseButton) was also using the toAPI(HTTPCookieAcceptPolicy) because HTTPCookieAcceptPolicy used to be an unsigned integer.

Wow

&gt; Source/WebKit/NetworkProcess/Cookies/curl/WebCookieManagerCurl.cpp:49
&gt; -    case HTTPCookieAcceptPolicyOnlyFromMainDocumentDomain:
&gt; +    case HTTPCookieAcceptPolicy::OnlyFromMainDocumentDomain:
&gt;          curlPolicy = CookieAcceptPolicy::OnlyFromMainDocumentDomain;
&gt;          break;
&gt; -    case HTTPCookieAcceptPolicyExclusivelyFromMainDocumentDomain:
&gt; +    case HTTPCookieAcceptPolicy::ExclusivelyFromMainDocumentDomain:

Of course these names are nonsense and now would be a good time to rename them (discussed in bug #193458).

&gt; Source/WebKit/NetworkProcess/Cookies/mac/WebCookieManagerMac.mm:40
&gt; +    return static_cast&lt;CFHTTPCookieStorageAcceptPolicy&gt;(policy);

Seems fragile... we won&apos;t think to update this if we reorder the members of HTTPCookieAcceptPolicy, for instance. A switch would be safer, like you used below.

&gt; Source/WebKit/UIProcess/WebCookieManagerProxy.h:81
&gt; +    void setHTTPCookieAcceptPolicySynchronouslyForTesting(PAL::SessionID, HTTPCookieAcceptPolicy);

Oops, looks like this was WIP and should be deleted before landing? It&apos;s not implemented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547770</commentid>
    <comment_count>9</comment_count>
      <attachid>372855</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-06-25 13:09:17 -0700</bug_when>
    <thetext>Created attachment 372855
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547780</commentid>
    <comment_count>10</comment_count>
      <attachid>372857</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-06-25 13:41:18 -0700</bug_when>
    <thetext>Created attachment 372857
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547803</commentid>
    <comment_count>11</comment_count>
      <attachid>372857</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-25 14:08:29 -0700</bug_when>
    <thetext>Comment on attachment 372857
Patch

Clearing flags on attachment: 372857

Committed r246807: &lt;https://trac.webkit.org/changeset/246807&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547804</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-25 14:08:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547805</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-06-25 14:09:35 -0700</bug_when>
    <thetext>&lt;rdar://problem/52132986&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372585</attachid>
            <date>2019-06-20 14:42:04 -0700</date>
            <delta_ts>2019-06-20 14:57:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199081-20190620144203.patch</filename>
            <type>text/plain</type>
            <size>15803</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NjMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU5YjhjOTc2YWViODM4Y2M0
OTAwMTY1ODFlODc2ZjY0OTMxYjc3ZjMuLjkzZTBmZTQxN2E0NWE2ZTMyZDY5OWM0ZTgxNTg5Nzhj
OTZiOWNlNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTktMDYtMjAgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNYWtlIEhUVFBD
b29raWVBY2NlcHRQb2xpY3kgYW4gZW51bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5MDgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRG9pbmcgc28gcmV2ZWFscyBzb21lIGludGVyZXN0aW5n
IGJ1Z3MgaW4gdGhlIEMgQVBJIHRoYXQgYXJlIGFsc28gZml4ZWQ6CisgICAgICAgIFdLUHJlZmVy
ZW5jZXNHZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dCB3YXMgdXNpbmcg
aXRzIHRvQVBJIGZ1bmN0aW9uIHRvIGNvbnZlcnQgYSBkb3VibGUgdG8gYSBkb3VibGUgYmVjYXVz
ZSBIVFRQQ29va2llQWNjZXB0UG9saWN5IHVzZWQgdG8gYmUgYW4gdW5zaWduZWQgaW50ZWdlci4K
KyAgICAgICAgdG9BUEkoV2ViQ29yZTo6TW91c2VCdXR0b24pIHdhcyBhbHNvIHVzaW5nIHRoZSB0
b0FQSShIVFRQQ29va2llQWNjZXB0UG9saWN5KSBiZWNhdXNlIEhUVFBDb29raWVBY2NlcHRQb2xp
Y3kgdXNlZCB0byBiZSBhbiB1bnNpZ25lZCBpbnRlZ2VyLgorICAgICAgICBZaWtlcyEgIFR5cGUg
c2FmZXR5IGlzIG91ciBmcmllbmQuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Db29raWVz
L1dlYkNvb2tpZU1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Q29va2llcy9tYWMvV2ViQ29va2llTWFuYWdlck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6dG9D
RkhUVFBDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29v
a2llTWFuYWdlcjo6cGxhdGZvcm1TZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KToKKyAgICAgICAg
KFdlYktpdDo6V2ViQ29va2llTWFuYWdlcjo6cGxhdGZvcm1HZXRIVFRQQ29va2llQWNjZXB0UG9s
aWN5KToKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0Lmg6CisgICAgICAg
IChXZWJLaXQ6OnRvQVBJKToKKyAgICAgICAgKiBTaGFyZWQvSFRUUENvb2tpZUFjY2VwdFBvbGlj
eS5oOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tB
UElDYXN0Lmg6CisgICAgICAgIChXZWJLaXQ6OnRvSFRUUENvb2tpZUFjY2VwdFBvbGljeSk6Cisg
ICAgICAgIChXZWJLaXQ6OnRvQVBJKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlcy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0SW5jcmVtZW50YWxSZW5kZXJp
bmdTdXBwcmVzc2lvblRpbWVvdXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQ
cm9jZXNzUG9vbC5tbToKKyAgICAgICAgKHRvSFRUUENvb2tpZUFjY2VwdFBvbGljeSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYkNvb2tpZU1hbmFnZXJQcm94eTo6ZGlkR2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeSk6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46CisKIDIwMTktMDYt
MTkgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIE5vIG1lbnUgcG9w
LXVwIHdoZW4gbG9uZyBwcmVzc2luZyBvbiBhIGxpbmsgaW4gRmlyZWZveCBhcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2Vy
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL1dlYkNv
b2tpZU1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggMDViZjI0MzYxODFlYTkwNDE0NzJmODgyZWVm
MGVkNmFmN2NhMWQ3Ny4uNTE4ZDExY2ZmZTIyZDZkNzYyNTdhZDhlMjY2YmQ0YmQyMzVkNjhkMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL1dlYkNvb2tp
ZU1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9D
b29raWVzL1dlYkNvb2tpZU1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTM1LDcgKzM1LDcgQEAKICAg
ICB2b2lkIERlbGV0ZUNvb2tpZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHN0cnVjdCBXZWJD
b3JlOjpDb29raWUgY29va2llLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICAgICB2
b2lkIERlbGV0ZUFsbENvb2tpZXNNb2RpZmllZFNpbmNlKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCwgV2FsbFRpbWUgdGltZSwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAKLSAgICB2
b2lkIFNldEhUVFBDb29raWVBY2NlcHRQb2xpY3kodWludDMyX3QgcG9saWN5LCBXZWJLaXQ6Ok9w
dGlvbmFsQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQorICAgIHZvaWQgU2V0SFRUUENvb2tpZUFjY2Vw
dFBvbGljeShlbnVtOnVpbnQ4X3QgV2ViS2l0OjpIVFRQQ29va2llQWNjZXB0UG9saWN5IHBvbGlj
eSwgV2ViS2l0OjpPcHRpb25hbENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICAgICB2b2lkIEdldEhU
VFBDb29raWVBY2NlcHRQb2xpY3koV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAgICAg
CiAgICAgdm9pZCBTdGFydE9ic2VydmluZ0Nvb2tpZUNoYW5nZXMoUEFMOjpTZXNzaW9uSUQgc2Vz
c2lvbklEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVz
L21hYy9XZWJDb29raWVNYW5hZ2VyTWFjLm1tIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9Db29raWVzL21hYy9XZWJDb29raWVNYW5hZ2VyTWFjLm1tCmluZGV4IDcxNDhlNzFhMGViYTAx
YmM5YmNiOGY2ZDQyZDhjOTNmNjk3MTRlMDYuLjgwNDE1MGJiY2Y0NDJkZjlkZjczOGI4M2QxNDg1
MzBkMzcwMTYxMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29v
a2llcy9tYWMvV2ViQ29va2llTWFuYWdlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0Nvb2tpZXMvbWFjL1dlYkNvb2tpZU1hbmFnZXJNYWMubW0KQEAgLTM1LDYgKzM1
LDIyIEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCitz
dGF0aWMgQ0ZIVFRQQ29va2llU3RvcmFnZUFjY2VwdFBvbGljeSB0b0NGSFRUUENvb2tpZVN0b3Jh
Z2VBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeSBwb2xpY3kpCit7CisgICAgc3dp
dGNoIChwb2xpY3kpIHsKKyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5czoK
KyAgICAgICAgcmV0dXJuIENGSFRUUENvb2tpZVN0b3JhZ2VBY2NlcHRQb2xpY3lBbHdheXM7Cisg
ICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpOZXZlcjoKKyAgICAgICAgcmV0dXJuIENG
SFRUUENvb2tpZVN0b3JhZ2VBY2NlcHRQb2xpY3lOZXZlcjsKKyAgICBjYXNlIEhUVFBDb29raWVB
Y2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgorICAgICAgICByZXR1cm4g
Q0ZIVFRQQ29va2llU3RvcmFnZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWlu
OworICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRv
Y3VtZW50RG9tYWluOgorICAgICAgICByZXR1cm4gQ0ZIVFRQQ29va2llU3RvcmFnZUFjY2VwdFBv
bGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKKyAgICB9CisgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIENGSFRUUENvb2tpZVN0b3JhZ2VBY2NlcHRQb2xp
Y3lBbHdheXM7Cit9CisKIHZvaWQgV2ViQ29va2llTWFuYWdlcjo6cGxhdGZvcm1TZXRIVFRQQ29v
a2llQWNjZXB0UG9saWN5KEhUVFBDb29raWVBY2NlcHRQb2xpY3kgcG9saWN5KQogewogICAgIEFT
U0VSVChoYXNQcm9jZXNzUHJpdmlsZWdlKFByb2Nlc3NQcml2aWxlZ2U6OkNhbkFjY2Vzc1Jhd0Nv
b2tpZXMpKTsKQEAgLTQzLDcgKzU5LDcgQEAgdm9pZCBXZWJDb29raWVNYW5hZ2VyOjpwbGF0Zm9y
bVNldEhUVFBDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeQogCiAgICAg
bV9wcm9jZXNzLmZvckVhY2hOZXR3b3JrU3RvcmFnZVNlc3Npb24oWyZdIChjb25zdCBhdXRvJiBu
ZXR3b3JrU3RvcmFnZVNlc3Npb24pIHsKICAgICAgICAgaWYgKGF1dG8gY29va2llU3RvcmFnZSA9
IG5ldHdvcmtTdG9yYWdlU2Vzc2lvbi5jb29raWVTdG9yYWdlKCkpCi0gICAgICAgICAgICBDRkhU
VFBDb29raWVTdG9yYWdlU2V0Q29va2llQWNjZXB0UG9saWN5KGNvb2tpZVN0b3JhZ2UuZ2V0KCks
IHBvbGljeSk7CisgICAgICAgICAgICBDRkhUVFBDb29raWVTdG9yYWdlU2V0Q29va2llQWNjZXB0
UG9saWN5KGNvb2tpZVN0b3JhZ2UuZ2V0KCksIHRvQ0ZIVFRQQ29va2llU3RvcmFnZUFjY2VwdFBv
bGljeShwb2xpY3kpKTsKICAgICB9KTsKIH0KIApAQCAtNTEsNyArNjcsMTkgQEAgSFRUUENvb2tp
ZUFjY2VwdFBvbGljeSBXZWJDb29raWVNYW5hZ2VyOjpwbGF0Zm9ybUdldEhUVFBDb29raWVBY2Nl
cHRQb2xpY3koKQogewogICAgIEFTU0VSVChoYXNQcm9jZXNzUHJpdmlsZWdlKFByb2Nlc3NQcml2
aWxlZ2U6OkNhbkFjY2Vzc1Jhd0Nvb2tpZXMpKTsKIAotICAgIHJldHVybiBbW05TSFRUUENvb2tp
ZVN0b3JhZ2Ugc2hhcmVkSFRUUENvb2tpZVN0b3JhZ2VdIGNvb2tpZUFjY2VwdFBvbGljeV07Cisg
ICAgc3dpdGNoIChbW05TSFRUUENvb2tpZVN0b3JhZ2Ugc2hhcmVkSFRUUENvb2tpZVN0b3JhZ2Vd
IGNvb2tpZUFjY2VwdFBvbGljeV0pIHsKKyAgICBjYXNlIE5TSFRUUENvb2tpZUFjY2VwdFBvbGlj
eUFsd2F5czoKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5czsK
KyAgICBjYXNlIE5TSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9t
YWluOgorICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWlu
RG9jdW1lbnREb21haW47CisgICAgY2FzZSBOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lFeGNsdXNp
dmVseUZyb21NYWluRG9jdW1lbnREb21haW46CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNj
ZXB0UG9saWN5OjpFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW47CisgICAgY2FzZSBO
U0hUVFBDb29raWVBY2NlcHRQb2xpY3lOZXZlcjoKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVB
Y2NlcHRQb2xpY3k6Ok5ldmVyOworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXM7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvV0tT
aGFyZWRBUElDYXN0LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNh
c3QuaAppbmRleCAwZDg3ZTk2OTQ5MzcxOWQxOWEyMmY1Y2Y0OWU5YjYxMGYxYjM2ZjRhLi4xOGNj
ZWIyMTFiMjYzMWFkZjdhZGI4YTQ3NDQzZWQ0OWUzODZlZjMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaApAQCAtNTUsNiArNTUsNyBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvRnJhbWVMb2FkZXJUeXBlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW50UmVj
dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTGF5b3V0TWlsZXN0b25lLmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9QbGF0Zm9ybU1vdXNlRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NlY3VyaXR5T3Jp
Z2luLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyQ29udGVudFR5cGVzLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9Vc2VyU2NyaXB0VHlwZXMuaD4KQEAgLTMxOSw2ICszMjAsMjggQEAgaW5saW5lIFdL
RXZlbnRNb3VzZUJ1dHRvbiB0b0FQSShXZWJNb3VzZUV2ZW50OjpCdXR0b24gbW91c2VCdXR0b24p
CiAgICAgcmV0dXJuIHdrTW91c2VCdXR0b247CiB9CiAKK2lubGluZSBXS0V2ZW50TW91c2VCdXR0
b24gdG9BUEkoV2ViQ29yZTo6TW91c2VCdXR0b24gbW91c2VCdXR0b24pCit7CisgICAgV0tFdmVu
dE1vdXNlQnV0dG9uIHdrTW91c2VCdXR0b24gPSBrV0tFdmVudE1vdXNlQnV0dG9uTm9CdXR0b247
CisKKyAgICBzd2l0Y2ggKG1vdXNlQnV0dG9uKSB7CisgICAgY2FzZSBXZWJDb3JlOjpNb3VzZUJ1
dHRvbjo6Tm9CdXR0b246CisgICAgICAgIHdrTW91c2VCdXR0b24gPSBrV0tFdmVudE1vdXNlQnV0
dG9uTm9CdXR0b247CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV2ViQ29yZTo6TW91c2VCdXR0
b246OkxlZnRCdXR0b246CisgICAgICAgIHdrTW91c2VCdXR0b24gPSBrV0tFdmVudE1vdXNlQnV0
dG9uTGVmdEJ1dHRvbjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBXZWJDb3JlOjpNb3VzZUJ1
dHRvbjo6TWlkZGxlQnV0dG9uOgorICAgICAgICB3a01vdXNlQnV0dG9uID0ga1dLRXZlbnRNb3Vz
ZUJ1dHRvbk1pZGRsZUJ1dHRvbjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBXZWJDb3JlOjpN
b3VzZUJ1dHRvbjo6UmlnaHRCdXR0b246CisgICAgICAgIHdrTW91c2VCdXR0b24gPSBrV0tFdmVu
dE1vdXNlQnV0dG9uUmlnaHRCdXR0b247CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHJl
dHVybiB3a01vdXNlQnV0dG9uOworfQorCiBpbmxpbmUgV0tDb250ZXh0TWVudUl0ZW1UYWcgdG9B
UEkoV2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb24gYWN0aW9uKQogewogICAgIHN3aXRjaCAoYWN0
aW9uKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9IVFRQQ29va2llQWNjZXB0
UG9saWN5LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9IVFRQQ29va2llQWNjZXB0UG9saWN5LmgK
aW5kZXggNGZlODFiM2MzOWJjZmIyNDdiNmVlNzVlYzQwMTUxMGQ3ODdmNzI0My4uZDU4YWIzMzdi
YjNlZmZkOGNhYmJkNjhkZDA2OWI0MWFmMmJmZDMwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvSFRUUENvb2tpZUFjY2VwdFBvbGljeS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0hUVFBDb29raWVBY2NlcHRQb2xpY3kuaApAQCAtMjMsMTkgKzIzLDI5IEBACiAgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgogICovCiAKLSNpZm5kZWYgSFRUUENvb2tpZUFjY2VwdFBvbGljeV9oCi0jZGVmaW5l
IEhUVFBDb29raWVBY2NlcHRQb2xpY3lfaAorI3ByYWdtYSBvbmNlCiAKIG5hbWVzcGFjZSBXZWJL
aXQgewogCi1lbnVtIHsKLSAgICBIVFRQQ29va2llQWNjZXB0UG9saWN5QWx3YXlzID0gMCwKLSAg
ICBIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXIgPSAxLAotICAgIEhUVFBDb29raWVBY2NlcHRQ
b2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbiA9IDIsCi0gICAgSFRUUENvb2tpZUFjY2Vw
dFBvbGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbiA9IDMsCitlbnVtIGNsYXNz
IEhUVFBDb29raWVBY2NlcHRQb2xpY3kgOiB1aW50OF90IHsKKyAgICBBbHdheXMgPSAwLAorICAg
IE5ldmVyID0gMSwKKyAgICBPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbiA9IDIsCisgICAgRXhj
bHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluID0gMywKIH07Ci10eXBlZGVmIHVuc2lnbmVk
IEhUVFBDb29raWVBY2NlcHRQb2xpY3k7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5k
aWYgLy8gSFRUUENvb2tpZUFjY2VwdFBvbGljeV9oCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxh
dGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJLaXQ6OkhUVFBDb29raWVBY2NlcHRQb2xpY3k+IHsK
KyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJLaXQ6OkhUVFBDb29r
aWVBY2NlcHRQb2xpY3ksCisgICAgICAgIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6
QWx3YXlzLAorICAgICAgICBXZWJLaXQ6OkhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok5ldmVyLAor
ICAgICAgICBXZWJLaXQ6OkhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3Vt
ZW50RG9tYWluLAorICAgICAgICBXZWJLaXQ6OkhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkV4Y2x1
c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbgorICAgID47Cit9OworCit9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCmluZGV4IGEzMGQ1OTc5M2I2YjRkZDVlZGUz
MzA1MzVlN2Y1YjViNDFkNGY2MzYuLmQ1YzRjNTBmMjlkOWE5NjFkMmQxMGQ2NThmMTI1MjMzYWQz
ZjY5OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2Fz
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCkBAIC0z
NjcsMjkgKzM2NywyOSBAQCBpbmxpbmUgSFRUUENvb2tpZUFjY2VwdFBvbGljeSB0b0hUVFBDb29r
aWVBY2NlcHRQb2xpY3koV0tIVFRQQ29va2llQWNjZXB0UG9saWN5CiB7CiAgICAgc3dpdGNoIChw
b2xpY3kpIHsKICAgICBjYXNlIGtXS0hUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM6Ci0gICAg
ICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5QWx3YXlzOworICAgICAgICByZXR1cm4g
SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzOwogICAgIGNhc2Uga1dLSFRUUENvb2tpZUFj
Y2VwdFBvbGljeU5ldmVyOgotICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeU5l
dmVyOworICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXI7CiAgICAg
Y2FzZSBrV0tIVFRQQ29va2llQWNjZXB0UG9saWN5T25seUZyb21NYWluRG9jdW1lbnREb21haW46
Ci0gICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5T25seUZyb21NYWluRG9jdW1l
bnREb21haW47CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5RnJv
bU1haW5Eb2N1bWVudERvbWFpbjsKICAgICBjYXNlIGtXS0hUVFBDb29raWVBY2NlcHRQb2xpY3lF
eGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW46Ci0gICAgICAgIHJldHVybiBIVFRQQ29v
a2llQWNjZXB0UG9saWN5RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOworICAgICAg
ICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3Vt
ZW50RG9tYWluOwogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVy
biBIVFRQQ29va2llQWNjZXB0UG9saWN5QWx3YXlzOworICAgIHJldHVybiBIVFRQQ29va2llQWNj
ZXB0UG9saWN5OjpBbHdheXM7CiB9CiAKIGlubGluZSBXS0hUVFBDb29raWVBY2NlcHRQb2xpY3kg
dG9BUEkoSFRUUENvb2tpZUFjY2VwdFBvbGljeSBwb2xpY3kpCiB7CiAgICAgc3dpdGNoIChwb2xp
Y3kpIHsKLSAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM6CisgICAgY2FzZSBI
VFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXM6CiAgICAgICAgIHJldHVybiBrV0tIVFRQQ29v
a2llQWNjZXB0UG9saWN5QWx3YXlzOwotICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeU5l
dmVyOgorICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXI6CiAgICAgICAgIHJl
dHVybiBrV0tIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI7Ci0gICAgY2FzZSBIVFRQQ29va2ll
QWNjZXB0UG9saWN5T25seUZyb21NYWluRG9jdW1lbnREb21haW46CisgICAgY2FzZSBIVFRQQ29v
a2llQWNjZXB0UG9saWN5OjpPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKICAgICAgICAgcmV0
dXJuIGtXS0hUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsK
LSAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3lFeGNsdXNpdmVseUZyb21NYWluRG9jdW1l
bnREb21haW46CisgICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpFeGNsdXNpdmVseUZy
b21NYWluRG9jdW1lbnREb21haW46CiAgICAgICAgIHJldHVybiBrV0tIVFRQQ29va2llQWNjZXB0
UG9saWN5RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwogICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAppbmRleCA0NjAx
ODdhYmI4NWY0YzI5MzlhNmM2MDMwNDM1ZWE4ZWE3NjVkYjQxLi5hMDMxNzk4ZGVmYmZkODYwZjFh
YWUyOGIyYjJkNjFjYTVlMjE1NmIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzLmNwcApAQCAtMTMwNyw3ICsxMzA3LDcgQEAgdm9pZCBXS1ByZWZl
cmVuY2VzU2V0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQoV0tQcmVmZXJl
bmNlc1JlZiBwcmUKIAogZG91YmxlIFdLUHJlZmVyZW5jZXNHZXRJbmNyZW1lbnRhbFJlbmRlcmlu
Z1N1cHByZXNzaW9uVGltZW91dChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQogewot
ICAgIHJldHVybiB0b0FQSSh0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5pbmNyZW1lbnRhbFJlbmRl
cmluZ1N1cHByZXNzaW9uVGltZW91dCgpKTsKKyAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2Vz
UmVmKS0+aW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQoKTsKIH0KIAogdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0VGhyZWFkZWRTY3JvbGxpbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNS
ZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW0KaW5kZXggYjBhYzc2YmVmMTIyOWQw
YjNmMDdmZTg2Zjk3MWFiMzFjNjA0NjFiOS4uYWIwYjUxYjQ5MTlhNjZkOTdmMTY0MThiYTBlODY4
YWUxNDdjNTlkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLUHJvY2Vzc1Bvb2wubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLUHJvY2Vzc1Bvb2wubW0KQEAgLTIwNywxNyArMjA3LDE3IEBAIHN0YXRpYyBXZWJLaXQ6OkhU
VFBDb29raWVBY2NlcHRQb2xpY3kgdG9IVFRQQ29va2llQWNjZXB0UG9saWN5KE5TSFRUUENvb2tp
ZUFjY2VwCiB7CiAgICAgc3dpdGNoIChzdGF0aWNfY2FzdDxOU1VJbnRlZ2VyPihwb2xpY3kpKSB7
CiAgICAgY2FzZSBOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM6Ci0gICAgICAgIHJldHVy
biBXZWJLaXQ6OkhUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM7CisgICAgICAgIHJldHVybiBX
ZWJLaXQ6OkhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5czsKICAgICBjYXNlIE5TSFRUUENv
b2tpZUFjY2VwdFBvbGljeU5ldmVyOgotICAgICAgICByZXR1cm4gV2ViS2l0OjpIVFRQQ29va2ll
QWNjZXB0UG9saWN5TmV2ZXI7CisgICAgICAgIHJldHVybiBXZWJLaXQ6OkhUVFBDb29raWVBY2Nl
cHRQb2xpY3k6Ok5ldmVyOwogICAgIGNhc2UgTlNIVFRQQ29va2llQWNjZXB0UG9saWN5T25seUZy
b21NYWluRG9jdW1lbnREb21haW46Ci0gICAgICAgIHJldHVybiBXZWJLaXQ6OkhUVFBDb29raWVB
Y2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKKyAgICAgICAgcmV0dXJuIFdl
YktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9jdW1lbnREb21haW47
CiAgICAgY2FzZSBOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lFeGNsdXNpdmVseUZyb21NYWluRG9j
dW1lbnREb21haW46Ci0gICAgICAgIHJldHVybiBXZWJLaXQ6OkhUVFBDb29raWVBY2NlcHRQb2xp
Y3lFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW47CisgICAgICAgIHJldHVybiBXZWJL
aXQ6OkhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERv
bWFpbjsKICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gV2Vi
S2l0OjpIVFRQQ29va2llQWNjZXB0UG9saWN5QWx3YXlzOworICAgIHJldHVybiBXZWJLaXQ6OkhU
VFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5czsKIH0KIAogLSAodm9pZClfc2V0Q29va2llQWNj
ZXB0UG9saWN5OihOU0hUVFBDb29raWVBY2NlcHRQb2xpY3kpcG9saWN5CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5LmNwcAppbmRleCBiMTQ0Yjll
Y2I2MmFkNjM4MWY1OGViZDQ4MWIyNWQzMWFhMGY1YzdiLi43NDMyODgwZTllMzM2MGFmNWFkZmFh
YTI2ZGU3YTdkNDUwYzhiZTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJDb29raWVNYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkNvb2tpZU1hbmFnZXJQcm94eS5jcHAKQEAgLTI1OCw3ICsyNTgsNyBAQCB2b2lkIFdlYkNvb2tp
ZU1hbmFnZXJQcm94eTo6Z2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeShQQUw6OlNlc3Npb25JRCwg
RnVuY3Rpb248dgogICAgIHByb2Nlc3NQb29sKCktPnNlbmRUb05ldHdvcmtpbmdQcm9jZXNzKE1l
c3NhZ2VzOjpXZWJDb29raWVNYW5hZ2VyOjpHZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KGNhbGxi
YWNrSUQpKTsKIH0KIAotdm9pZCBXZWJDb29raWVNYW5hZ2VyUHJveHk6OmRpZEdldEhUVFBDb29r
aWVBY2NlcHRQb2xpY3kodWludDMyX3QgcG9saWN5LCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJh
Y2tJRCkKK3ZvaWQgV2ViQ29va2llTWFuYWdlclByb3h5OjpkaWRHZXRIVFRQQ29va2llQWNjZXB0
UG9saWN5KEhUVFBDb29raWVBY2NlcHRQb2xpY3kgcG9saWN5LCBXZWJLaXQ6OkNhbGxiYWNrSUQg
Y2FsbGJhY2tJRCkKIHsKICAgICBtX2NhbGxiYWNrcy50YWtlPEhUVFBDb29raWVBY2NlcHRQb2xp
Y3lDYWxsYmFjaz4oY2FsbGJhY2tJRCktPnBlcmZvcm1DYWxsYmFja1dpdGhSZXR1cm5WYWx1ZShw
b2xpY3kpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29va2ll
TWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2Vy
UHJveHkuaAppbmRleCBmNzNmOWQwNTEwOThkYWZhOWExNWI1NGQ4Y2VkYzlhMDhhNGZmMGIwLi41
ZWFhZDI4YzU2NjViNzUxZDllM2E4NWM2YTQ2MTAzYTgzMTE4NDIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuaApAQCAtNzgsNiArNzgsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBnZXRDb29raWVzKFBBTDo6U2Vzc2lvbklELCBjb25zdCBVUkwm
LCBGdW5jdGlvbjx2b2lkKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpDb29raWU+JiwgQ2FsbGJhY2tC
YXNlOjpFcnJvcik+JiYgY29tcGxldGlvbkhhbmRsZXIpOwogCiAgICAgdm9pZCBzZXRIVFRQQ29v
a2llQWNjZXB0UG9saWN5KFBBTDo6U2Vzc2lvbklELCBIVFRQQ29va2llQWNjZXB0UG9saWN5LCBG
dW5jdGlvbjx2b2lkIChDYWxsYmFja0Jhc2U6OkVycm9yKT4mJik7CisgICAgdm9pZCBzZXRIVFRQ
Q29va2llQWNjZXB0UG9saWN5U3luY2hyb25vdXNseUZvclRlc3RpbmcoUEFMOjpTZXNzaW9uSUQs
IEhUVFBDb29raWVBY2NlcHRQb2xpY3kpOwogICAgIHZvaWQgZ2V0SFRUUENvb2tpZUFjY2VwdFBv
bGljeShQQUw6OlNlc3Npb25JRCwgRnVuY3Rpb248dm9pZCAoSFRUUENvb2tpZUFjY2VwdFBvbGlj
eSwgQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYpOwogCiAgICAgdm9pZCBzZXRTdG9yYWdlQWNjZXNz
QVBJRW5hYmxlZChib29sKTsKQEAgLTEwOSw3ICsxMTAsNyBAQCBwcml2YXRlOgogICAgIFdlYkNv
b2tpZU1hbmFnZXJQcm94eShXZWJQcm9jZXNzUG9vbCopOwogCiAgICAgdm9pZCBkaWRHZXRIb3N0
bmFtZXNXaXRoQ29va2llcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIFdlYktpdDo6Q2FsbGJhY2tJ
RCk7Ci0gICAgdm9pZCBkaWRHZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KHVpbnQzMl90IHBvbGlj
eSwgV2ViS2l0OjpDYWxsYmFja0lEKTsKKyAgICB2b2lkIGRpZEdldEhUVFBDb29raWVBY2NlcHRQ
b2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeSwgV2ViS2l0OjpDYWxsYmFja0lEKTsKIAogICAg
IHZvaWQgZGlkU2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeShXZWJLaXQ6OkNhbGxiYWNrSUQpOwog
ICAgIHZvaWQgZGlkU2V0Q29va2llcyhXZWJLaXQ6OkNhbGxiYWNrSUQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5Lm1lc3NhZ2Vz
LmluCmluZGV4IDMzZGY0OTVjMzk0Y2M5OThlN2E4Y2YxMThjYmU1MTg1MWM3YThlMDcuLmJiNjcy
M2MzNGM1YmYzZDE4MGFkODg0MDQzNTdiYjFiYjdmMjRiZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4K
QEAgLTIyLDcgKzIyLDcgQEAKIAogbWVzc2FnZXMgLT4gV2ViQ29va2llTWFuYWdlclByb3h5IHsK
ICAgICBEaWRHZXRIb3N0bmFtZXNXaXRoQ29va2llcyhWZWN0b3I8U3RyaW5nPiBob3N0bmFtZXMs
IFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKTsKLSAgICBEaWRHZXRIVFRQQ29va2llQWNj
ZXB0UG9saWN5KHVpbnQzMl90IHBvbGljeSwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQp
OworICAgIERpZEdldEhUVFBDb29raWVBY2NlcHRQb2xpY3koZW51bTp1aW50OF90IFdlYktpdDo6
SFRUUENvb2tpZUFjY2VwdFBvbGljeSBwb2xpY3ksIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFj
a0lEKTsKIAogICAgIERpZFNldEhUVFBDb29raWVBY2NlcHRQb2xpY3koV2ViS2l0OjpDYWxsYmFj
a0lEIGNhbGxiYWNrSUQpOwogICAgIERpZERlbGV0ZUNvb2tpZXMoV2ViS2l0OjpDYWxsYmFja0lE
IGNhbGxiYWNrSUQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372588</attachid>
            <date>2019-06-20 14:57:39 -0700</date>
            <delta_ts>2019-06-20 15:12:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199081-20190620145738.patch</filename>
            <type>text/plain</type>
            <size>23214</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NjMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU5YjhjOTc2YWViODM4Y2M0
OTAwMTY1ODFlODc2ZjY0OTMxYjc3ZjMuLjkzZTBmZTQxN2E0NWE2ZTMyZDY5OWM0ZTgxNTg5Nzhj
OTZiOWNlNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTktMDYtMjAgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNYWtlIEhUVFBD
b29raWVBY2NlcHRQb2xpY3kgYW4gZW51bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5MDgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRG9pbmcgc28gcmV2ZWFscyBzb21lIGludGVyZXN0aW5n
IGJ1Z3MgaW4gdGhlIEMgQVBJIHRoYXQgYXJlIGFsc28gZml4ZWQ6CisgICAgICAgIFdLUHJlZmVy
ZW5jZXNHZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dCB3YXMgdXNpbmcg
aXRzIHRvQVBJIGZ1bmN0aW9uIHRvIGNvbnZlcnQgYSBkb3VibGUgdG8gYSBkb3VibGUgYmVjYXVz
ZSBIVFRQQ29va2llQWNjZXB0UG9saWN5IHVzZWQgdG8gYmUgYW4gdW5zaWduZWQgaW50ZWdlci4K
KyAgICAgICAgdG9BUEkoV2ViQ29yZTo6TW91c2VCdXR0b24pIHdhcyBhbHNvIHVzaW5nIHRoZSB0
b0FQSShIVFRQQ29va2llQWNjZXB0UG9saWN5KSBiZWNhdXNlIEhUVFBDb29raWVBY2NlcHRQb2xp
Y3kgdXNlZCB0byBiZSBhbiB1bnNpZ25lZCBpbnRlZ2VyLgorICAgICAgICBZaWtlcyEgIFR5cGUg
c2FmZXR5IGlzIG91ciBmcmllbmQuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Db29raWVz
L1dlYkNvb2tpZU1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Q29va2llcy9tYWMvV2ViQ29va2llTWFuYWdlck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6dG9D
RkhUVFBDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29v
a2llTWFuYWdlcjo6cGxhdGZvcm1TZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KToKKyAgICAgICAg
KFdlYktpdDo6V2ViQ29va2llTWFuYWdlcjo6cGxhdGZvcm1HZXRIVFRQQ29va2llQWNjZXB0UG9s
aWN5KToKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0Lmg6CisgICAgICAg
IChXZWJLaXQ6OnRvQVBJKToKKyAgICAgICAgKiBTaGFyZWQvSFRUUENvb2tpZUFjY2VwdFBvbGlj
eS5oOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tB
UElDYXN0Lmg6CisgICAgICAgIChXZWJLaXQ6OnRvSFRUUENvb2tpZUFjY2VwdFBvbGljeSk6Cisg
ICAgICAgIChXZWJLaXQ6OnRvQVBJKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlcy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0SW5jcmVtZW50YWxSZW5kZXJp
bmdTdXBwcmVzc2lvblRpbWVvdXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQ
cm9jZXNzUG9vbC5tbToKKyAgICAgICAgKHRvSFRUUENvb2tpZUFjY2VwdFBvbGljeSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYkNvb2tpZU1hbmFnZXJQcm94eTo6ZGlkR2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeSk6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46CisKIDIwMTktMDYt
MTkgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIE5vIG1lbnUgcG9w
LXVwIHdoZW4gbG9uZyBwcmVzc2luZyBvbiBhIGxpbmsgaW4gRmlyZWZveCBhcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2Vy
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL1dlYkNv
b2tpZU1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggMDViZjI0MzYxODFlYTkwNDE0NzJmODgyZWVm
MGVkNmFmN2NhMWQ3Ny4uNTE4ZDExY2ZmZTIyZDZkNzYyNTdhZDhlMjY2YmQ0YmQyMzVkNjhkMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL1dlYkNvb2tp
ZU1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9D
b29raWVzL1dlYkNvb2tpZU1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTM1LDcgKzM1LDcgQEAKICAg
ICB2b2lkIERlbGV0ZUNvb2tpZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHN0cnVjdCBXZWJD
b3JlOjpDb29raWUgY29va2llLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICAgICB2
b2lkIERlbGV0ZUFsbENvb2tpZXNNb2RpZmllZFNpbmNlKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCwgV2FsbFRpbWUgdGltZSwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAKLSAgICB2
b2lkIFNldEhUVFBDb29raWVBY2NlcHRQb2xpY3kodWludDMyX3QgcG9saWN5LCBXZWJLaXQ6Ok9w
dGlvbmFsQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQorICAgIHZvaWQgU2V0SFRUUENvb2tpZUFjY2Vw
dFBvbGljeShlbnVtOnVpbnQ4X3QgV2ViS2l0OjpIVFRQQ29va2llQWNjZXB0UG9saWN5IHBvbGlj
eSwgV2ViS2l0OjpPcHRpb25hbENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICAgICB2b2lkIEdldEhU
VFBDb29raWVBY2NlcHRQb2xpY3koV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAgICAg
CiAgICAgdm9pZCBTdGFydE9ic2VydmluZ0Nvb2tpZUNoYW5nZXMoUEFMOjpTZXNzaW9uSUQgc2Vz
c2lvbklEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVz
L2N1cmwvV2ViQ29va2llTWFuYWdlckN1cmwuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9Db29raWVzL2N1cmwvV2ViQ29va2llTWFuYWdlckN1cmwuY3BwCmluZGV4IDRhODI5YzI2
NDYxNTUxYTdiZDVmMmIwMDMyNmRiNTZjNjEzOWUzNjAuLjUyYmE5MDk0ZGY4NzcyMWMwZTI5MGJm
ZTRhYzYwNDRhZDE1ODIwY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvQ29va2llcy9jdXJsL1dlYkNvb2tpZU1hbmFnZXJDdXJsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvY3VybC9XZWJDb29raWVNYW5hZ2VyQ3VybC5jcHAK
QEAgLTM3LDE2ICszNywxNiBAQCB2b2lkIFdlYkNvb2tpZU1hbmFnZXI6OnBsYXRmb3JtU2V0SFRU
UENvb2tpZUFjY2VwdFBvbGljeShIVFRQQ29va2llQWNjZXB0UG9saWN5CiB7CiAgICAgQ29va2ll
QWNjZXB0UG9saWN5IGN1cmxQb2xpY3kgPSBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFp
bkRvY3VtZW50RG9tYWluOwogICAgIHN3aXRjaCAocG9saWN5KSB7Ci0gICAgY2FzZSBIVFRQQ29v
a2llQWNjZXB0UG9saWN5QWx3YXlzOgorICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6
QWx3YXlzOgogICAgICAgICBjdXJsUG9saWN5ID0gQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXM7
CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeU5ldmVyOgor
ICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXI6CiAgICAgICAgIGN1cmxQb2xp
Y3kgPSBDb29raWVBY2NlcHRQb2xpY3k6Ok5ldmVyOwogICAgICAgICBicmVhazsKLSAgICBjYXNl
IEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKKyAgICBj
YXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgog
ICAgICAgICBjdXJsUG9saWN5ID0gQ29va2llQWNjZXB0UG9saWN5OjpPbmx5RnJvbU1haW5Eb2N1
bWVudERvbWFpbjsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9s
aWN5RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgorICAgIGNhc2UgSFRUUENvb2tp
ZUFjY2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgogICAgICAg
ICBjdXJsUG9saWN5ID0gQ29va2llQWNjZXB0UG9saWN5OjpFeGNsdXNpdmVseUZyb21NYWluRG9j
dW1lbnREb21haW47CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTYxLDE3ICs2MSwxNyBAQCBI
VFRQQ29va2llQWNjZXB0UG9saWN5IFdlYkNvb2tpZU1hbmFnZXI6OnBsYXRmb3JtR2V0SFRUUENv
b2tpZUFjY2VwdFBvbGljeSgpCiAgICAgY29uc3QgYXV0byYgbmV0d29ya1N0b3JhZ2VTZXNzaW9u
ID0gbV9wcm9jZXNzLmRlZmF1bHRTdG9yYWdlU2Vzc2lvbigpOwogICAgIHN3aXRjaCAobmV0d29y
a1N0b3JhZ2VTZXNzaW9uLmNvb2tpZVN0b3JhZ2UoKS5jb29raWVBY2NlcHRQb2xpY3kobmV0d29y
a1N0b3JhZ2VTZXNzaW9uKSkgewogICAgIGNhc2UgQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXM6
Ci0gICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5QWx3YXlzOworICAgICAgICBy
ZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzOwogICAgIGNhc2UgQ29va2llQWNj
ZXB0UG9saWN5OjpOZXZlcjoKLSAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lO
ZXZlcjsKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok5ldmVyOwogICAg
IGNhc2UgQ29va2llQWNjZXB0UG9saWN5OjpPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKLSAg
ICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERv
bWFpbjsKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFp
bkRvY3VtZW50RG9tYWluOwogICAgIGNhc2UgQ29va2llQWNjZXB0UG9saWN5OjpFeGNsdXNpdmVs
eUZyb21NYWluRG9jdW1lbnREb21haW46Ci0gICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0
UG9saWN5RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOworICAgICAgICByZXR1cm4g
SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWlu
OwogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBIVFRQQ29v
a2llQWNjZXB0UG9saWN5T25seUZyb21NYWluRG9jdW1lbnREb21haW47CisgICAgcmV0dXJuIEhU
VFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvQ29va2llcy9tYWMvV2ViQ29va2llTWFuYWdlck1hYy5tbSBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvQ29va2llcy9tYWMvV2ViQ29va2llTWFuYWdlck1hYy5tbQppbmRleCA3
MTQ4ZTcxYTBlYmEwMWJjOWJjYjhmNmQ0MmQ4YzkzZjY5NzE0ZTA2Li5kM2UwMGQwNDU0MDBlMDJk
NjMzZGU3OGQ5NWQxOTRjMDc1YzVhN2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0Nvb2tpZXMvbWFjL1dlYkNvb2tpZU1hbmFnZXJNYWMubW0KKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL21hYy9XZWJDb29raWVNYW5hZ2VyTWFjLm1t
CkBAIC0zNSw2ICszNSwxMSBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAorc3RhdGljIENGSFRUUENvb2tpZVN0b3JhZ2VBY2NlcHRQb2xpY3kgdG9DRkhU
VFBDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5KEhUVFBDb29raWVBY2NlcHRQb2xpY3kgcG9saWN5
KQoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxDRkhUVFBDb29raWVTdG9yYWdlQWNjZXB0UG9s
aWN5Pihwb2xpY3kpOworfQorCiB2b2lkIFdlYkNvb2tpZU1hbmFnZXI6OnBsYXRmb3JtU2V0SFRU
UENvb2tpZUFjY2VwdFBvbGljeShIVFRQQ29va2llQWNjZXB0UG9saWN5IHBvbGljeSkKIHsKICAg
ICBBU1NFUlQoaGFzUHJvY2Vzc1ByaXZpbGVnZShQcm9jZXNzUHJpdmlsZWdlOjpDYW5BY2Nlc3NS
YXdDb29raWVzKSk7CkBAIC00Myw3ICs0OCw3IEBAIHZvaWQgV2ViQ29va2llTWFuYWdlcjo6cGxh
dGZvcm1TZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KEhUVFBDb29raWVBY2NlcHRQb2xpY3kKIAog
ICAgIG1fcHJvY2Vzcy5mb3JFYWNoTmV0d29ya1N0b3JhZ2VTZXNzaW9uKFsmXSAoY29uc3QgYXV0
byYgbmV0d29ya1N0b3JhZ2VTZXNzaW9uKSB7CiAgICAgICAgIGlmIChhdXRvIGNvb2tpZVN0b3Jh
Z2UgPSBuZXR3b3JrU3RvcmFnZVNlc3Npb24uY29va2llU3RvcmFnZSgpKQotICAgICAgICAgICAg
Q0ZIVFRQQ29va2llU3RvcmFnZVNldENvb2tpZUFjY2VwdFBvbGljeShjb29raWVTdG9yYWdlLmdl
dCgpLCBwb2xpY3kpOworICAgICAgICAgICAgQ0ZIVFRQQ29va2llU3RvcmFnZVNldENvb2tpZUFj
Y2VwdFBvbGljeShjb29raWVTdG9yYWdlLmdldCgpLCB0b0NGSFRUUENvb2tpZVN0b3JhZ2VBY2Nl
cHRQb2xpY3kocG9saWN5KSk7CiAgICAgfSk7CiB9CiAKQEAgLTUxLDcgKzU2LDE5IEBAIEhUVFBD
b29raWVBY2NlcHRQb2xpY3kgV2ViQ29va2llTWFuYWdlcjo6cGxhdGZvcm1HZXRIVFRQQ29va2ll
QWNjZXB0UG9saWN5KCkKIHsKICAgICBBU1NFUlQoaGFzUHJvY2Vzc1ByaXZpbGVnZShQcm9jZXNz
UHJpdmlsZWdlOjpDYW5BY2Nlc3NSYXdDb29raWVzKSk7CiAKLSAgICByZXR1cm4gW1tOU0hUVFBD
b29raWVTdG9yYWdlIHNoYXJlZEhUVFBDb29raWVTdG9yYWdlXSBjb29raWVBY2NlcHRQb2xpY3ld
OworICAgIHN3aXRjaCAoW1tOU0hUVFBDb29raWVTdG9yYWdlIHNoYXJlZEhUVFBDb29raWVTdG9y
YWdlXSBjb29raWVBY2NlcHRQb2xpY3ldKSB7CisgICAgY2FzZSBOU0hUVFBDb29raWVBY2NlcHRQ
b2xpY3lBbHdheXM6CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdh
eXM7CisgICAgY2FzZSBOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVu
dERvbWFpbjoKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9t
TWFpbkRvY3VtZW50RG9tYWluOworICAgIGNhc2UgTlNIVFRQQ29va2llQWNjZXB0UG9saWN5RXhj
bHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgorICAgICAgICByZXR1cm4gSFRUUENvb2tp
ZUFjY2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOworICAgIGNh
c2UgTlNIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI6CisgICAgICAgIHJldHVybiBIVFRQQ29v
a2llQWNjZXB0UG9saWN5OjpOZXZlcjsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvQ29va2llcy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvQ29va2llcy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJTb3VwLmNwcAppbmRl
eCBiODVjOWFlNmJhM2FkMzU3ODc5MDhiYjhlZjEwMTY5MzkyNjk5NGE4Li5kMTA4N2ViOTZiZGUw
MzU0N2QxNjAzNDZkM2Q0MWMyOTI4NmIyMTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0Nvb2tpZXMvc291cC9XZWJDb29raWVNYW5hZ2VyU291cC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL3NvdXAvV2ViQ29va2llTWFuYWdl
clNvdXAuY3BwCkBAIC00MSwxMyArNDEsMTMgQEAgdm9pZCBXZWJDb29raWVNYW5hZ2VyOjpwbGF0
Zm9ybVNldEhUVFBDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeQogewog
ICAgIFNvdXBDb29raWVKYXJBY2NlcHRQb2xpY3kgc291cFBvbGljeSA9IFNPVVBfQ09PS0lFX0pB
Ul9BQ0NFUFRfTk9fVEhJUkRfUEFSVFk7CiAgICAgc3dpdGNoIChwb2xpY3kpIHsKLSAgICBjYXNl
IEhUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM6CisgICAgY2FzZSBIVFRQQ29va2llQWNjZXB0
UG9saWN5OjpBbHdheXM6CiAgICAgICAgIHNvdXBQb2xpY3kgPSBTT1VQX0NPT0tJRV9KQVJfQUND
RVBUX0FMV0FZUzsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9s
aWN5TmV2ZXI6CisgICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpOZXZlcjoKICAgICAg
ICAgc291cFBvbGljeSA9IFNPVVBfQ09PS0lFX0pBUl9BQ0NFUFRfTkVWRVI7CiAgICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50
RG9tYWluOgorICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9j
dW1lbnREb21haW46CiAgICAgICAgIHNvdXBQb2xpY3kgPSBTT1VQX0NPT0tJRV9KQVJfQUNDRVBU
X05PX1RISVJEX1BBUlRZOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC02MSwxNSArNjEsMTUg
QEAgSFRUUENvb2tpZUFjY2VwdFBvbGljeSBXZWJDb29raWVNYW5hZ2VyOjpwbGF0Zm9ybUdldEhU
VFBDb29raWVBY2NlcHRQb2xpY3koKQogewogICAgIHN3aXRjaCAoc291cF9jb29raWVfamFyX2dl
dF9hY2NlcHRfcG9saWN5KG1fcHJvY2Vzcy5kZWZhdWx0U3RvcmFnZVNlc3Npb24oKS5jb29raWVT
dG9yYWdlKCkpKSB7CiAgICAgY2FzZSBTT1VQX0NPT0tJRV9KQVJfQUNDRVBUX0FMV0FZUzoKLSAg
ICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM7CisgICAgICAgIHJldHVy
biBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXM7CiAgICAgY2FzZSBTT1VQX0NPT0tJRV9K
QVJfQUNDRVBUX05FVkVSOgotICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeU5l
dmVyOworICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXI7CiAgICAg
Y2FzZSBTT1VQX0NPT0tJRV9KQVJfQUNDRVBUX05PX1RISVJEX1BBUlRZOgotICAgICAgICByZXR1
cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOworICAg
ICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9jdW1lbnRE
b21haW47CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIEhU
VFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKKyAgICByZXR1
cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9jdW1lbnREb21haW47CiB9
CiAKIHZvaWQgV2ViQ29va2llTWFuYWdlcjo6c2V0Q29va2llUGVyc2lzdGVudFN0b3JhZ2UoUEFM
OjpTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRoLCBTb3VwQ29v
a2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlIHN0b3JhZ2VUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oCmluZGV4IDljZGM0NWExYjI5NTMwMDBkZTdkOWEwNmI3MzE1ZmI2NWIyNzkxZmQu
LjM4OTdkNTU5ZDZmNmU2MjcxM2RmY2IxNjFlNzUwZDEyNTZmMThkNTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgKQEAgLTg2LDcgKzg2LDcgQEAgc3RydWN0IE5ldHdvcmtQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyBkZWZh
dWx0RGF0YVN0b3JlUGFyYW1ldGVyczsKICAgICAKICNpZiBVU0UoU09VUCkKLSAgICBIVFRQQ29v
a2llQWNjZXB0UG9saWN5IGNvb2tpZUFjY2VwdFBvbGljeSB7IEhUVFBDb29raWVBY2NlcHRQb2xp
Y3lBbHdheXMgfTsKKyAgICBIVFRQQ29va2llQWNjZXB0UG9saWN5IGNvb2tpZUFjY2VwdFBvbGlj
eSB7IEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5cyB9OwogICAgIGJvb2wgaWdub3JlVExT
RXJyb3JzIHsgZmFsc2UgfTsKICAgICBWZWN0b3I8U3RyaW5nPiBsYW5ndWFnZXM7CiAgICAgV2Vi
Q29yZTo6U291cE5ldHdvcmtQcm94eVNldHRpbmdzIHByb3h5U2V0dGluZ3M7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaCBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCmluZGV4IDBkODdlOTY5NDkzNzE5
ZDE5YTIyZjVjZjQ5ZTliNjEwZjFiMzZmNGEuLjE4Y2NlYjIxMWIyNjMxYWRmN2FkYjhhNDc0NDNl
ZDQ5ZTM4NmVmMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL1dLU2hh
cmVkQVBJQ2FzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJ
Q2FzdC5oCkBAIC01NSw2ICs1NSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZUxvYWRlclR5
cGVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9M
YXlvdXRNaWxlc3RvbmUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtTW91c2VFdmVudC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1VzZXJDb250ZW50VHlwZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJTY3JpcHRUeXBlcy5o
PgpAQCAtMzE5LDYgKzMyMCwyOCBAQCBpbmxpbmUgV0tFdmVudE1vdXNlQnV0dG9uIHRvQVBJKFdl
Yk1vdXNlRXZlbnQ6OkJ1dHRvbiBtb3VzZUJ1dHRvbikKICAgICByZXR1cm4gd2tNb3VzZUJ1dHRv
bjsKIH0KIAoraW5saW5lIFdLRXZlbnRNb3VzZUJ1dHRvbiB0b0FQSShXZWJDb3JlOjpNb3VzZUJ1
dHRvbiBtb3VzZUJ1dHRvbikKK3sKKyAgICBXS0V2ZW50TW91c2VCdXR0b24gd2tNb3VzZUJ1dHRv
biA9IGtXS0V2ZW50TW91c2VCdXR0b25Ob0J1dHRvbjsKKworICAgIHN3aXRjaCAobW91c2VCdXR0
b24pIHsKKyAgICBjYXNlIFdlYkNvcmU6Ok1vdXNlQnV0dG9uOjpOb0J1dHRvbjoKKyAgICAgICAg
d2tNb3VzZUJ1dHRvbiA9IGtXS0V2ZW50TW91c2VCdXR0b25Ob0J1dHRvbjsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBXZWJDb3JlOjpNb3VzZUJ1dHRvbjo6TGVmdEJ1dHRvbjoKKyAgICAgICAg
d2tNb3VzZUJ1dHRvbiA9IGtXS0V2ZW50TW91c2VCdXR0b25MZWZ0QnV0dG9uOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIFdlYkNvcmU6Ok1vdXNlQnV0dG9uOjpNaWRkbGVCdXR0b246CisgICAg
ICAgIHdrTW91c2VCdXR0b24gPSBrV0tFdmVudE1vdXNlQnV0dG9uTWlkZGxlQnV0dG9uOworICAg
ICAgICBicmVhazsKKyAgICBjYXNlIFdlYkNvcmU6Ok1vdXNlQnV0dG9uOjpSaWdodEJ1dHRvbjoK
KyAgICAgICAgd2tNb3VzZUJ1dHRvbiA9IGtXS0V2ZW50TW91c2VCdXR0b25SaWdodEJ1dHRvbjsK
KyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIHdrTW91c2VCdXR0b247Cit9CisK
IGlubGluZSBXS0NvbnRleHRNZW51SXRlbVRhZyB0b0FQSShXZWJDb3JlOjpDb250ZXh0TWVudUFj
dGlvbiBhY3Rpb24pCiB7CiAgICAgc3dpdGNoIChhY3Rpb24pIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL0hUVFBDb29raWVBY2NlcHRQb2xpY3kuaCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL0hUVFBDb29raWVBY2NlcHRQb2xpY3kuaAppbmRleCA0ZmU4MWIzYzM5YmNmYjI0N2I2
ZWU3NWVjNDAxNTEwZDc4N2Y3MjQzLi5kNThhYjMzN2JiM2VmZmQ4Y2FiYmQ2OGRkMDY5YjQxYWYy
YmZkMzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9IVFRQQ29va2llQWNjZXB0
UG9saWN5LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvSFRUUENvb2tpZUFjY2VwdFBvbGlj
eS5oCkBAIC0yMywxOSArMjMsMjkgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBI
VFRQQ29va2llQWNjZXB0UG9saWN5X2gKLSNkZWZpbmUgSFRUUENvb2tpZUFjY2VwdFBvbGljeV9o
CisjcHJhZ21hIG9uY2UKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWVudW0gewotICAgIEhUVFBD
b29raWVBY2NlcHRQb2xpY3lBbHdheXMgPSAwLAotICAgIEhUVFBDb29raWVBY2NlcHRQb2xpY3lO
ZXZlciA9IDEsCi0gICAgSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50
RG9tYWluID0gMiwKLSAgICBIVFRQQ29va2llQWNjZXB0UG9saWN5RXhjbHVzaXZlbHlGcm9tTWFp
bkRvY3VtZW50RG9tYWluID0gMywKK2VudW0gY2xhc3MgSFRUUENvb2tpZUFjY2VwdFBvbGljeSA6
IHVpbnQ4X3QgeworICAgIEFsd2F5cyA9IDAsCisgICAgTmV2ZXIgPSAxLAorICAgIE9ubHlGcm9t
TWFpbkRvY3VtZW50RG9tYWluID0gMiwKKyAgICBFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnRE
b21haW4gPSAzLAogfTsKLXR5cGVkZWYgdW5zaWduZWQgSFRUUENvb2tpZUFjY2VwdFBvbGljeTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBIVFRQQ29va2llQWNjZXB0UG9s
aWN5X2gKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdl
YktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1W
YWx1ZXM8CisgICAgICAgIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeSwKKyAgICAgICAg
V2ViS2l0OjpIVFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXMsCisgICAgICAgIFdlYktpdDo6
SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXIsCisgICAgICAgIFdlYktpdDo6SFRUUENvb2tp
ZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9jdW1lbnREb21haW4sCisgICAgICAgIFdlYktp
dDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9t
YWluCisgICAgPjsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9DL1dLQVBJQ2FzdC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tBUElD
YXN0LmgKaW5kZXggYTMwZDU5NzkzYjZiNGRkNWVkZTMzMDUzNWU3ZjViNWI0MWQ0ZjYzNi4uZDVj
NGM1MGYyOWQ5YTk2MWQyZDEwZDY1OGYxMjUyMzNhZDNmNjk5OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKQEAgLTM2NywyOSArMzY3LDI5IEBAIGlubGluZSBI
VFRQQ29va2llQWNjZXB0UG9saWN5IHRvSFRUUENvb2tpZUFjY2VwdFBvbGljeShXS0hUVFBDb29r
aWVBY2NlcHRQb2xpY3kKIHsKICAgICBzd2l0Y2ggKHBvbGljeSkgewogICAgIGNhc2Uga1dLSFRU
UENvb2tpZUFjY2VwdFBvbGljeUFsd2F5czoKLSAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2Nl
cHRQb2xpY3lBbHdheXM7CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpB
bHdheXM7CiAgICAgY2FzZSBrV0tIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI6Ci0gICAgICAg
IHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI7CisgICAgICAgIHJldHVybiBIVFRQ
Q29va2llQWNjZXB0UG9saWN5OjpOZXZlcjsKICAgICBjYXNlIGtXS0hUVFBDb29raWVBY2NlcHRQ
b2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKLSAgICAgICAgcmV0dXJuIEhUVFBDb29r
aWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKKyAgICAgICAgcmV0dXJu
IEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwogICAg
IGNhc2Uga1dLSFRUUENvb2tpZUFjY2VwdFBvbGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVu
dERvbWFpbjoKLSAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lFeGNsdXNpdmVs
eUZyb21NYWluRG9jdW1lbnREb21haW47CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0
UG9saWN5OjpFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW47CiAgICAgfQogCiAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lB
bHdheXM7CisgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5czsKIH0KIAog
aW5saW5lIFdLSFRUUENvb2tpZUFjY2VwdFBvbGljeSB0b0FQSShIVFRQQ29va2llQWNjZXB0UG9s
aWN5IHBvbGljeSkKIHsKICAgICBzd2l0Y2ggKHBvbGljeSkgewotICAgIGNhc2UgSFRUUENvb2tp
ZUFjY2VwdFBvbGljeUFsd2F5czoKKyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFs
d2F5czoKICAgICAgICAgcmV0dXJuIGtXS0hUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM7Ci0g
ICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI6CisgICAgY2FzZSBIVFRQQ29va2ll
QWNjZXB0UG9saWN5OjpOZXZlcjoKICAgICAgICAgcmV0dXJuIGtXS0hUVFBDb29raWVBY2NlcHRQ
b2xpY3lOZXZlcjsKLSAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5E
b2N1bWVudERvbWFpbjoKKyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9t
TWFpbkRvY3VtZW50RG9tYWluOgogICAgICAgICByZXR1cm4ga1dLSFRUUENvb2tpZUFjY2VwdFBv
bGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwotICAgIGNhc2UgSFRUUENvb2tpZUFjY2Vw
dFBvbGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKKyAgICBjYXNlIEhUVFBD
b29raWVBY2NlcHRQb2xpY3k6OkV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKICAg
ICAgICAgcmV0dXJuIGtXS0hUVFBDb29raWVBY2NlcHRQb2xpY3lFeGNsdXNpdmVseUZyb21NYWlu
RG9jdW1lbnREb21haW47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IDQ2MDE4N2FiYjg1ZjRjMjkzOWE2YzYwMzA0MzVl
YThlYTc2NWRiNDEuLmEwMzE3OThkZWZiZmQ4NjBmMWFhZTI4YjJiMmQ2MWNhNWUyMTU2YjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCkBA
IC0xMzA3LDcgKzEzMDcsNyBAQCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRJbmNyZW1lbnRhbFJlbmRl
cmluZ1N1cHByZXNzaW9uVGltZW91dChXS1ByZWZlcmVuY2VzUmVmIHByZQogCiBkb3VibGUgV0tQ
cmVmZXJlbmNlc0dldEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0KFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiB7Ci0gICAgcmV0dXJuIHRvQVBJKHRvSW1wbChw
cmVmZXJlbmNlc1JlZiktPmluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0KCkp
OworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5pbmNyZW1lbnRhbFJlbmRlcmlu
Z1N1cHByZXNzaW9uVGltZW91dCgpOwogfQogCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRUaHJlYWRl
ZFNjcm9sbGluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBl
bmFibGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
UHJvY2Vzc1Bvb2wubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9j
ZXNzUG9vbC5tbQppbmRleCBiMGFjNzZiZWYxMjI5ZDBiM2YwN2ZlODZmOTcxYWIzMWM2MDQ2MWI5
Li5hYjBiNTFiNDkxOWE2NmQ5N2YxNjQxOGJhMGU4NjhhZTE0N2M1OWRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5tbQpAQCAtMjA3
LDE3ICsyMDcsMTcgQEAgc3RhdGljIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeSB0b0hU
VFBDb29raWVBY2NlcHRQb2xpY3koTlNIVFRQQ29va2llQWNjZXAKIHsKICAgICBzd2l0Y2ggKHN0
YXRpY19jYXN0PE5TVUludGVnZXI+KHBvbGljeSkpIHsKICAgICBjYXNlIE5TSFRUUENvb2tpZUFj
Y2VwdFBvbGljeUFsd2F5czoKLSAgICAgICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2Vw
dFBvbGljeUFsd2F5czsKKyAgICAgICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBv
bGljeTo6QWx3YXlzOwogICAgIGNhc2UgTlNIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI6Ci0g
ICAgICAgIHJldHVybiBXZWJLaXQ6OkhUVFBDb29raWVBY2NlcHRQb2xpY3lOZXZlcjsKKyAgICAg
ICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXI7CiAgICAgY2Fz
ZSBOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKLSAg
ICAgICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRv
Y3VtZW50RG9tYWluOworICAgICAgICByZXR1cm4gV2ViS2l0OjpIVFRQQ29va2llQWNjZXB0UG9s
aWN5OjpPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKICAgICBjYXNlIE5TSFRUUENvb2tpZUFj
Y2VwdFBvbGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKLSAgICAgICAgcmV0
dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1
bWVudERvbWFpbjsKKyAgICAgICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGlj
eTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwogICAgIH0KIAogICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBXZWJLaXQ6OkhUVFBDb29raWVBY2NlcHRQb2xp
Y3lBbHdheXM7CisgICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3
YXlzOwogfQogCiAtICh2b2lkKV9zZXRDb29raWVBY2NlcHRQb2xpY3k6KE5TSFRUUENvb2tpZUFj
Y2VwdFBvbGljeSlwb2xpY3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdENvb2tpZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2dsaWIvV2ViS2l0Q29va2llTWFuYWdlci5jcHAKaW5kZXggYTFkZTJjMjdjM2Q5ODBiOTlk
OTc3OTNiOTVjMmM1ZmY1ZDUzOGQ5MS4uMGRiOWY5ODYyYzM5MzY4ZjdlMTUyOTBlNjFmY2E1Nzcy
NDFlNDNiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2Vi
S2l0Q29va2llTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2ds
aWIvV2ViS2l0Q29va2llTWFuYWdlci5jcHAKQEAgLTkwLDExICs5MCwxMSBAQCBzdGF0aWMgaW5s
aW5lIFNvdXBDb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUgdG9Tb3VwQ29va2llUGVyc2lzdGVu
dFN0b3JhZ2VUeXBlKAogc3RhdGljIGlubGluZSBXZWJLaXRDb29raWVBY2NlcHRQb2xpY3kgdG9X
ZWJLaXRDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeSBodHRwUG9saWN5
KQogewogICAgIHN3aXRjaCAoaHR0cFBvbGljeSkgewotICAgIGNhc2UgSFRUUENvb2tpZUFjY2Vw
dFBvbGljeUFsd2F5czoKKyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5czoK
ICAgICAgICAgcmV0dXJuIFdFQktJVF9DT09LSUVfUE9MSUNZX0FDQ0VQVF9BTFdBWVM7Ci0gICAg
Y2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI6CisgICAgY2FzZSBIVFRQQ29va2llQWNj
ZXB0UG9saWN5OjpOZXZlcjoKICAgICAgICAgcmV0dXJuIFdFQktJVF9DT09LSUVfUE9MSUNZX0FD
Q0VQVF9ORVZFUjsKLSAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5E
b2N1bWVudERvbWFpbjoKKyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9t
TWFpbkRvY3VtZW50RG9tYWluOgogICAgICAgICByZXR1cm4gV0VCS0lUX0NPT0tJRV9QT0xJQ1lf
QUNDRVBUX05PX1RISVJEX1BBUlRZOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwpAQCAtMTA2LDE0ICsxMDYsMTQgQEAgc3RhdGljIGlubGluZSBIVFRQQ29va2ll
QWNjZXB0UG9saWN5IHRvSFRUUENvb2tpZUFjY2VwdFBvbGljeShXZWJLaXRDb29raWVBY2NlcHQK
IHsKICAgICBzd2l0Y2ggKGtpdFBvbGljeSkgewogICAgIGNhc2UgV0VCS0lUX0NPT0tJRV9QT0xJ
Q1lfQUNDRVBUX0FMV0FZUzoKLSAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lB
bHdheXM7CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXM7CiAg
ICAgY2FzZSBXRUJLSVRfQ09PS0lFX1BPTElDWV9BQ0NFUFRfTkVWRVI6Ci0gICAgICAgIHJldHVy
biBIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI7CisgICAgICAgIHJldHVybiBIVFRQQ29va2ll
QWNjZXB0UG9saWN5OjpOZXZlcjsKICAgICBjYXNlIFdFQktJVF9DT09LSUVfUE9MSUNZX0FDQ0VQ
VF9OT19USElSRF9QQVJUWToKLSAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lP
bmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2Nl
cHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwogICAgIGRlZmF1bHQ6CiAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2Vw
dFBvbGljeUFsd2F5czsKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFs
d2F5czsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkNvb2tpZU1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb29r
aWVNYW5hZ2VyUHJveHkuY3BwCmluZGV4IGIxNDRiOWVjYjYyYWQ2MzgxZjU4ZWJkNDgxYjI1ZDMx
YWEwZjVjN2IuLjc0MzI4ODBlOWUzMzYwYWY1YWRmYWFhMjZkZTdhN2Q0NTBjOGJlNjUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5LmNwcApA
QCAtMjU4LDcgKzI1OCw3IEBAIHZvaWQgV2ViQ29va2llTWFuYWdlclByb3h5OjpnZXRIVFRQQ29v
a2llQWNjZXB0UG9saWN5KFBBTDo6U2Vzc2lvbklELCBGdW5jdGlvbjx2CiAgICAgcHJvY2Vzc1Bv
b2woKS0+c2VuZFRvTmV0d29ya2luZ1Byb2Nlc3MoTWVzc2FnZXM6OldlYkNvb2tpZU1hbmFnZXI6
OkdldEhUVFBDb29raWVBY2NlcHRQb2xpY3koY2FsbGJhY2tJRCkpOwogfQogCi12b2lkIFdlYkNv
b2tpZU1hbmFnZXJQcm94eTo6ZGlkR2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeSh1aW50MzJfdCBw
b2xpY3ksIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQordm9pZCBXZWJDb29raWVNYW5h
Z2VyUHJveHk6OmRpZEdldEhUVFBDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBv
bGljeSBwb2xpY3ksIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogewogICAgIG1fY2Fs
bGJhY2tzLnRha2U8SFRUUENvb2tpZUFjY2VwdFBvbGljeUNhbGxiYWNrPihjYWxsYmFja0lEKS0+
cGVyZm9ybUNhbGxiYWNrV2l0aFJldHVyblZhbHVlKHBvbGljeSk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oCmluZGV4IGY3M2Y5ZDA1MTA5
OGRhZmE5YTE1YjU0ZDhjZWRjOWEwOGE0ZmYwYjAuLjVlYWFkMjhjNTY2NWI3NTFkOWUzYTg1YzZh
NDYxMDNhODMxMTg0MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNv
b2tpZU1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tp
ZU1hbmFnZXJQcm94eS5oCkBAIC03OCw2ICs3OCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGdldENv
b2tpZXMoUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFVSTCYsIEZ1bmN0aW9uPHZvaWQoY29uc3QgVmVj
dG9yPFdlYkNvcmU6OkNvb2tpZT4mLCBDYWxsYmFja0Jhc2U6OkVycm9yKT4mJiBjb21wbGV0aW9u
SGFuZGxlcik7CiAKICAgICB2b2lkIHNldEhUVFBDb29raWVBY2NlcHRQb2xpY3koUEFMOjpTZXNz
aW9uSUQsIEhUVFBDb29raWVBY2NlcHRQb2xpY3ksIEZ1bmN0aW9uPHZvaWQgKENhbGxiYWNrQmFz
ZTo6RXJyb3IpPiYmKTsKKyAgICB2b2lkIHNldEhUVFBDb29raWVBY2NlcHRQb2xpY3lTeW5jaHJv
bm91c2x5Rm9yVGVzdGluZyhQQUw6OlNlc3Npb25JRCwgSFRUUENvb2tpZUFjY2VwdFBvbGljeSk7
CiAgICAgdm9pZCBnZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KFBBTDo6U2Vzc2lvbklELCBGdW5j
dGlvbjx2b2lkIChIVFRQQ29va2llQWNjZXB0UG9saWN5LCBDYWxsYmFja0Jhc2U6OkVycm9yKT4m
Jik7CiAKICAgICB2b2lkIHNldFN0b3JhZ2VBY2Nlc3NBUElFbmFibGVkKGJvb2wpOwpAQCAtMTA5
LDcgKzExMCw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29va2llTWFuYWdlclByb3h5KFdlYlByb2Nl
c3NQb29sKik7CiAKICAgICB2b2lkIGRpZEdldEhvc3RuYW1lc1dpdGhDb29raWVzKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiwgV2ViS2l0OjpDYWxsYmFja0lEKTsKLSAgICB2b2lkIGRpZEdldEhUVFBD
b29raWVBY2NlcHRQb2xpY3kodWludDMyX3QgcG9saWN5LCBXZWJLaXQ6OkNhbGxiYWNrSUQpOwor
ICAgIHZvaWQgZGlkR2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeShIVFRQQ29va2llQWNjZXB0UG9s
aWN5LCBXZWJLaXQ6OkNhbGxiYWNrSUQpOwogCiAgICAgdm9pZCBkaWRTZXRIVFRQQ29va2llQWNj
ZXB0UG9saWN5KFdlYktpdDo6Q2FsbGJhY2tJRCk7CiAgICAgdm9pZCBkaWRTZXRDb29raWVzKFdl
YktpdDo6Q2FsbGJhY2tJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJDb29raWVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJDb29raWVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggMzNkZjQ5NWMzOTRjYzk5
OGU3YThjZjExOGNiZTUxODUxYzdhOGUwNy4uYmI2NzIzYzM0YzViZjNkMTgwYWQ4ODQwNDM1N2Ji
MWJiN2YyNGJlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29va2ll
TWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkNvb2tpZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjIsNyArMjIsNyBAQAogCiBtZXNz
YWdlcyAtPiBXZWJDb29raWVNYW5hZ2VyUHJveHkgewogICAgIERpZEdldEhvc3RuYW1lc1dpdGhD
b29raWVzKFZlY3RvcjxTdHJpbmc+IGhvc3RuYW1lcywgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxi
YWNrSUQpOwotICAgIERpZEdldEhUVFBDb29raWVBY2NlcHRQb2xpY3kodWludDMyX3QgcG9saWN5
LCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCk7CisgICAgRGlkR2V0SFRUUENvb2tpZUFj
Y2VwdFBvbGljeShlbnVtOnVpbnQ4X3QgV2ViS2l0OjpIVFRQQ29va2llQWNjZXB0UG9saWN5IHBv
bGljeSwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpOwogCiAgICAgRGlkU2V0SFRUUENv
b2tpZUFjY2VwdFBvbGljeShXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCk7CiAgICAgRGlk
RGVsZXRlQ29va2llcyhXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAppbmRleCA3MWYyMDUxMmIyNzM0MjU0ZmUxNmU4
YzQ5MDkyNmU3YjlkMjg1YzBiLi41NzA2ODUyMGVmYWUxYmVjMGZjZWM0M2IzMzFkN2NiNWRjYzll
Y2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKQEAgLTY4MCw3
ICs2ODAsNyBAQCBwcml2YXRlOgogICAgIFdlYkNvbnRleHRTdXBwbGVtZW50TWFwIG1fc3VwcGxl
bWVudHM7CiAKICNpZiBVU0UoU09VUCkKLSAgICBIVFRQQ29va2llQWNjZXB0UG9saWN5IG1faW5p
dGlhbEhUVFBDb29raWVBY2NlcHRQb2xpY3kgeyBIVFRQQ29va2llQWNjZXB0UG9saWN5T25seUZy
b21NYWluRG9jdW1lbnREb21haW4gfTsKKyAgICBIVFRQQ29va2llQWNjZXB0UG9saWN5IG1faW5p
dGlhbEhUVFBDb29raWVBY2NlcHRQb2xpY3kgeyBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5
RnJvbU1haW5Eb2N1bWVudERvbWFpbiB9OwogICAgIFdlYkNvcmU6OlNvdXBOZXR3b3JrUHJveHlT
ZXR0aW5ncyBtX25ldHdvcmtQcm94eVNldHRpbmdzOwogI2VuZGlmCiAgICAgSGFzaFNldDxTdHJp
bmcsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4gbV91cmxTY2hlbWVzUmVnaXN0ZXJlZEZvckN1
c3RvbVByb3RvY29sczsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372590</attachid>
            <date>2019-06-20 15:12:16 -0700</date>
            <delta_ts>2019-06-25 11:16:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199081-20190620151215.patch</filename>
            <type>text/plain</type>
            <size>23236</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NjMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU5YjhjOTc2YWViODM4Y2M0
OTAwMTY1ODFlODc2ZjY0OTMxYjc3ZjMuLjkzZTBmZTQxN2E0NWE2ZTMyZDY5OWM0ZTgxNTg5Nzhj
OTZiOWNlNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTktMDYtMjAgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNYWtlIEhUVFBD
b29raWVBY2NlcHRQb2xpY3kgYW4gZW51bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5MDgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRG9pbmcgc28gcmV2ZWFscyBzb21lIGludGVyZXN0aW5n
IGJ1Z3MgaW4gdGhlIEMgQVBJIHRoYXQgYXJlIGFsc28gZml4ZWQ6CisgICAgICAgIFdLUHJlZmVy
ZW5jZXNHZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dCB3YXMgdXNpbmcg
aXRzIHRvQVBJIGZ1bmN0aW9uIHRvIGNvbnZlcnQgYSBkb3VibGUgdG8gYSBkb3VibGUgYmVjYXVz
ZSBIVFRQQ29va2llQWNjZXB0UG9saWN5IHVzZWQgdG8gYmUgYW4gdW5zaWduZWQgaW50ZWdlci4K
KyAgICAgICAgdG9BUEkoV2ViQ29yZTo6TW91c2VCdXR0b24pIHdhcyBhbHNvIHVzaW5nIHRoZSB0
b0FQSShIVFRQQ29va2llQWNjZXB0UG9saWN5KSBiZWNhdXNlIEhUVFBDb29raWVBY2NlcHRQb2xp
Y3kgdXNlZCB0byBiZSBhbiB1bnNpZ25lZCBpbnRlZ2VyLgorICAgICAgICBZaWtlcyEgIFR5cGUg
c2FmZXR5IGlzIG91ciBmcmllbmQuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Db29raWVz
L1dlYkNvb2tpZU1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Q29va2llcy9tYWMvV2ViQ29va2llTWFuYWdlck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6dG9D
RkhUVFBDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29v
a2llTWFuYWdlcjo6cGxhdGZvcm1TZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KToKKyAgICAgICAg
KFdlYktpdDo6V2ViQ29va2llTWFuYWdlcjo6cGxhdGZvcm1HZXRIVFRQQ29va2llQWNjZXB0UG9s
aWN5KToKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0Lmg6CisgICAgICAg
IChXZWJLaXQ6OnRvQVBJKToKKyAgICAgICAgKiBTaGFyZWQvSFRUUENvb2tpZUFjY2VwdFBvbGlj
eS5oOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tB
UElDYXN0Lmg6CisgICAgICAgIChXZWJLaXQ6OnRvSFRUUENvb2tpZUFjY2VwdFBvbGljeSk6Cisg
ICAgICAgIChXZWJLaXQ6OnRvQVBJKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlcy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0SW5jcmVtZW50YWxSZW5kZXJp
bmdTdXBwcmVzc2lvblRpbWVvdXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQ
cm9jZXNzUG9vbC5tbToKKyAgICAgICAgKHRvSFRUUENvb2tpZUFjY2VwdFBvbGljeSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYkNvb2tpZU1hbmFnZXJQcm94eTo6ZGlkR2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeSk6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46CisKIDIwMTktMDYt
MTkgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIE5vIG1lbnUgcG9w
LXVwIHdoZW4gbG9uZyBwcmVzc2luZyBvbiBhIGxpbmsgaW4gRmlyZWZveCBhcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2Vy
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL1dlYkNv
b2tpZU1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggMDViZjI0MzYxODFlYTkwNDE0NzJmODgyZWVm
MGVkNmFmN2NhMWQ3Ny4uNTE4ZDExY2ZmZTIyZDZkNzYyNTdhZDhlMjY2YmQ0YmQyMzVkNjhkMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL1dlYkNvb2tp
ZU1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9D
b29raWVzL1dlYkNvb2tpZU1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTM1LDcgKzM1LDcgQEAKICAg
ICB2b2lkIERlbGV0ZUNvb2tpZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHN0cnVjdCBXZWJD
b3JlOjpDb29raWUgY29va2llLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICAgICB2
b2lkIERlbGV0ZUFsbENvb2tpZXNNb2RpZmllZFNpbmNlKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCwgV2FsbFRpbWUgdGltZSwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAKLSAgICB2
b2lkIFNldEhUVFBDb29raWVBY2NlcHRQb2xpY3kodWludDMyX3QgcG9saWN5LCBXZWJLaXQ6Ok9w
dGlvbmFsQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQorICAgIHZvaWQgU2V0SFRUUENvb2tpZUFjY2Vw
dFBvbGljeShlbnVtOnVpbnQ4X3QgV2ViS2l0OjpIVFRQQ29va2llQWNjZXB0UG9saWN5IHBvbGlj
eSwgV2ViS2l0OjpPcHRpb25hbENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICAgICB2b2lkIEdldEhU
VFBDb29raWVBY2NlcHRQb2xpY3koV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAgICAg
CiAgICAgdm9pZCBTdGFydE9ic2VydmluZ0Nvb2tpZUNoYW5nZXMoUEFMOjpTZXNzaW9uSUQgc2Vz
c2lvbklEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVz
L2N1cmwvV2ViQ29va2llTWFuYWdlckN1cmwuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9Db29raWVzL2N1cmwvV2ViQ29va2llTWFuYWdlckN1cmwuY3BwCmluZGV4IDRhODI5YzI2
NDYxNTUxYTdiZDVmMmIwMDMyNmRiNTZjNjEzOWUzNjAuLjE2MWM5Yjk2MmIwMzNkMmU5OWMwMmMz
ZWI3OTEyNTg5MTQ3MzNlNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvQ29va2llcy9jdXJsL1dlYkNvb2tpZU1hbmFnZXJDdXJsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvY3VybC9XZWJDb29raWVNYW5hZ2VyQ3VybC5jcHAK
QEAgLTM3LDE2ICszNywxNiBAQCB2b2lkIFdlYkNvb2tpZU1hbmFnZXI6OnBsYXRmb3JtU2V0SFRU
UENvb2tpZUFjY2VwdFBvbGljeShIVFRQQ29va2llQWNjZXB0UG9saWN5CiB7CiAgICAgQ29va2ll
QWNjZXB0UG9saWN5IGN1cmxQb2xpY3kgPSBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFp
bkRvY3VtZW50RG9tYWluOwogICAgIHN3aXRjaCAocG9saWN5KSB7Ci0gICAgY2FzZSBIVFRQQ29v
a2llQWNjZXB0UG9saWN5QWx3YXlzOgorICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6
QWx3YXlzXzoKICAgICAgICAgY3VybFBvbGljeSA9IENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlz
OwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3lOZXZlcjoK
KyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok5ldmVyOgogICAgICAgICBjdXJsUG9s
aWN5ID0gQ29va2llQWNjZXB0UG9saWN5OjpOZXZlcjsKICAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBIVFRQQ29va2llQWNjZXB0UG9saWN5T25seUZyb21NYWluRG9jdW1lbnREb21haW46CisgICAg
Y2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoK
ICAgICAgICAgY3VybFBvbGljeSA9IENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9j
dW1lbnREb21haW47CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBv
bGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKKyAgICBjYXNlIEhUVFBDb29r
aWVBY2NlcHRQb2xpY3k6OkV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKICAgICAg
ICAgY3VybFBvbGljeSA9IENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRv
Y3VtZW50RG9tYWluOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC02MSwxNyArNjEsMTcgQEAg
SFRUUENvb2tpZUFjY2VwdFBvbGljeSBXZWJDb29raWVNYW5hZ2VyOjpwbGF0Zm9ybUdldEhUVFBD
b29raWVBY2NlcHRQb2xpY3koKQogICAgIGNvbnN0IGF1dG8mIG5ldHdvcmtTdG9yYWdlU2Vzc2lv
biA9IG1fcHJvY2Vzcy5kZWZhdWx0U3RvcmFnZVNlc3Npb24oKTsKICAgICBzd2l0Y2ggKG5ldHdv
cmtTdG9yYWdlU2Vzc2lvbi5jb29raWVTdG9yYWdlKCkuY29va2llQWNjZXB0UG9saWN5KG5ldHdv
cmtTdG9yYWdlU2Vzc2lvbikpIHsKICAgICBjYXNlIENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlz
OgotICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeUFsd2F5czsKKyAgICAgICAg
cmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5c187CiAgICAgY2FzZSBDb29raWVB
Y2NlcHRQb2xpY3k6Ok5ldmVyOgotICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGlj
eU5ldmVyOworICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXI7CiAg
ICAgY2FzZSBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgot
ICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50
RG9tYWluOworICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21N
YWluRG9jdW1lbnREb21haW47CiAgICAgY2FzZSBDb29raWVBY2NlcHRQb2xpY3k6OkV4Y2x1c2l2
ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKLSAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2Nl
cHRQb2xpY3lFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW47CisgICAgICAgIHJldHVy
biBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21h
aW47CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIEhUVFBD
b29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKKyAgICByZXR1cm4g
SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9jdW1lbnREb21haW47CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9Db29raWVzL21hYy9XZWJDb29raWVNYW5hZ2VyTWFjLm1tIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL21hYy9XZWJDb29raWVNYW5hZ2VyTWFjLm1tCmluZGV4
IDcxNDhlNzFhMGViYTAxYmM5YmNiOGY2ZDQyZDhjOTNmNjk3MTRlMDYuLjdjZDA1Yzg0ODUxYzY4
NTJmODY0NDI3MGE4MGMzYzM0NGQwOWU3NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvQ29va2llcy9tYWMvV2ViQ29va2llTWFuYWdlck1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvbWFjL1dlYkNvb2tpZU1hbmFnZXJNYWMu
bW0KQEAgLTM1LDYgKzM1LDExIEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogCitzdGF0aWMgQ0ZIVFRQQ29va2llU3RvcmFnZUFjY2VwdFBvbGljeSB0b0NG
SFRUUENvb2tpZVN0b3JhZ2VBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeSBwb2xp
Y3kpCit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PENGSFRUUENvb2tpZVN0b3JhZ2VBY2NlcHRQ
b2xpY3k+KHBvbGljeSk7Cit9CisKIHZvaWQgV2ViQ29va2llTWFuYWdlcjo6cGxhdGZvcm1TZXRI
VFRQQ29va2llQWNjZXB0UG9saWN5KEhUVFBDb29raWVBY2NlcHRQb2xpY3kgcG9saWN5KQogewog
ICAgIEFTU0VSVChoYXNQcm9jZXNzUHJpdmlsZWdlKFByb2Nlc3NQcml2aWxlZ2U6OkNhbkFjY2Vz
c1Jhd0Nvb2tpZXMpKTsKQEAgLTQzLDcgKzQ4LDcgQEAgdm9pZCBXZWJDb29raWVNYW5hZ2VyOjpw
bGF0Zm9ybVNldEhUVFBDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeQog
CiAgICAgbV9wcm9jZXNzLmZvckVhY2hOZXR3b3JrU3RvcmFnZVNlc3Npb24oWyZdIChjb25zdCBh
dXRvJiBuZXR3b3JrU3RvcmFnZVNlc3Npb24pIHsKICAgICAgICAgaWYgKGF1dG8gY29va2llU3Rv
cmFnZSA9IG5ldHdvcmtTdG9yYWdlU2Vzc2lvbi5jb29raWVTdG9yYWdlKCkpCi0gICAgICAgICAg
ICBDRkhUVFBDb29raWVTdG9yYWdlU2V0Q29va2llQWNjZXB0UG9saWN5KGNvb2tpZVN0b3JhZ2Uu
Z2V0KCksIHBvbGljeSk7CisgICAgICAgICAgICBDRkhUVFBDb29raWVTdG9yYWdlU2V0Q29va2ll
QWNjZXB0UG9saWN5KGNvb2tpZVN0b3JhZ2UuZ2V0KCksIHRvQ0ZIVFRQQ29va2llU3RvcmFnZUFj
Y2VwdFBvbGljeShwb2xpY3kpKTsKICAgICB9KTsKIH0KIApAQCAtNTEsNyArNTYsMTkgQEAgSFRU
UENvb2tpZUFjY2VwdFBvbGljeSBXZWJDb29raWVNYW5hZ2VyOjpwbGF0Zm9ybUdldEhUVFBDb29r
aWVBY2NlcHRQb2xpY3koKQogewogICAgIEFTU0VSVChoYXNQcm9jZXNzUHJpdmlsZWdlKFByb2Nl
c3NQcml2aWxlZ2U6OkNhbkFjY2Vzc1Jhd0Nvb2tpZXMpKTsKIAotICAgIHJldHVybiBbW05TSFRU
UENvb2tpZVN0b3JhZ2Ugc2hhcmVkSFRUUENvb2tpZVN0b3JhZ2VdIGNvb2tpZUFjY2VwdFBvbGlj
eV07CisgICAgc3dpdGNoIChbW05TSFRUUENvb2tpZVN0b3JhZ2Ugc2hhcmVkSFRUUENvb2tpZVN0
b3JhZ2VdIGNvb2tpZUFjY2VwdFBvbGljeV0pIHsKKyAgICBjYXNlIE5TSFRUUENvb2tpZUFjY2Vw
dFBvbGljeUFsd2F5czoKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFs
d2F5c187CisgICAgY2FzZSBOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1
bWVudERvbWFpbjoKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlG
cm9tTWFpbkRvY3VtZW50RG9tYWluOworICAgIGNhc2UgTlNIVFRQQ29va2llQWNjZXB0UG9saWN5
RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgorICAgICAgICByZXR1cm4gSFRUUENv
b2tpZUFjY2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOworICAg
IGNhc2UgTlNIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI6CisgICAgICAgIHJldHVybiBIVFRQ
Q29va2llQWNjZXB0UG9saWN5OjpOZXZlcjsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzXzsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0Nvb2tpZXMvc291cC9XZWJDb29raWVNYW5hZ2VyU291cC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvc291cC9XZWJDb29raWVNYW5hZ2VyU291cC5jcHAK
aW5kZXggYjg1YzlhZTZiYTNhZDM1Nzg3OTA4YmI4ZWYxMDE2OTM5MjY5OTRhOC4uN2VkNDAyNTAy
ZDQ4OGQyYjg2NmUxM2NiNmE5NTZhMzdmOTYzNjI0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL3NvdXAvV2ViQ29va2llTWFuYWdlclNvdXAuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29va2llcy9zb3VwL1dlYkNvb2tpZU1h
bmFnZXJTb3VwLmNwcApAQCAtNDEsMTMgKzQxLDEzIEBAIHZvaWQgV2ViQ29va2llTWFuYWdlcjo6
cGxhdGZvcm1TZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KEhUVFBDb29raWVBY2NlcHRQb2xpY3kK
IHsKICAgICBTb3VwQ29va2llSmFyQWNjZXB0UG9saWN5IHNvdXBQb2xpY3kgPSBTT1VQX0NPT0tJ
RV9KQVJfQUNDRVBUX05PX1RISVJEX1BBUlRZOwogICAgIHN3aXRjaCAocG9saWN5KSB7Ci0gICAg
Y2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5QWx3YXlzOgorICAgIGNhc2UgSFRUUENvb2tpZUFj
Y2VwdFBvbGljeTo6QWx3YXlzXzoKICAgICAgICAgc291cFBvbGljeSA9IFNPVVBfQ09PS0lFX0pB
Ul9BQ0NFUFRfQUxXQVlTOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEhUVFBDb29raWVBY2Nl
cHRQb2xpY3lOZXZlcjoKKyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok5ldmVyOgog
ICAgICAgICBzb3VwUG9saWN5ID0gU09VUF9DT09LSUVfSkFSX0FDQ0VQVF9ORVZFUjsKICAgICAg
ICAgYnJlYWs7Ci0gICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5T25seUZyb21NYWluRG9j
dW1lbnREb21haW46CisgICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5RnJvbU1h
aW5Eb2N1bWVudERvbWFpbjoKICAgICAgICAgc291cFBvbGljeSA9IFNPVVBfQ09PS0lFX0pBUl9B
Q0NFUFRfTk9fVEhJUkRfUEFSVFk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTYxLDE1ICs2
MSwxNSBAQCBIVFRQQ29va2llQWNjZXB0UG9saWN5IFdlYkNvb2tpZU1hbmFnZXI6OnBsYXRmb3Jt
R2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeSgpCiB7CiAgICAgc3dpdGNoIChzb3VwX2Nvb2tpZV9q
YXJfZ2V0X2FjY2VwdF9wb2xpY3kobV9wcm9jZXNzLmRlZmF1bHRTdG9yYWdlU2Vzc2lvbigpLmNv
b2tpZVN0b3JhZ2UoKSkpIHsKICAgICBjYXNlIFNPVVBfQ09PS0lFX0pBUl9BQ0NFUFRfQUxXQVlT
OgotICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeUFsd2F5czsKKyAgICAgICAg
cmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5c187CiAgICAgY2FzZSBTT1VQX0NP
T0tJRV9KQVJfQUNDRVBUX05FVkVSOgotICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBv
bGljeU5ldmVyOworICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXI7
CiAgICAgY2FzZSBTT1VQX0NPT0tJRV9KQVJfQUNDRVBUX05PX1RISVJEX1BBUlRZOgotICAgICAg
ICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWlu
OworICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9j
dW1lbnREb21haW47CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0
dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKKyAg
ICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9jdW1lbnREb21h
aW47CiB9CiAKIHZvaWQgV2ViQ29va2llTWFuYWdlcjo6c2V0Q29va2llUGVyc2lzdGVudFN0b3Jh
Z2UoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRoLCBT
b3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlIHN0b3JhZ2VUeXBlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oCmluZGV4IDljZGM0NWExYjI5NTMwMDBkZTdkOWEwNmI3MzE1ZmI2NWIy
NzkxZmQuLmYzOTIwYzZhOGMxMzQ4MjJiZGFjNzRkNDU2Zjc4MzMxZDZmYjM0N2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTg2LDcgKzg2LDcgQEAgc3RydWN0IE5ldHdvcmtQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVy
cyBkZWZhdWx0RGF0YVN0b3JlUGFyYW1ldGVyczsKICAgICAKICNpZiBVU0UoU09VUCkKLSAgICBI
VFRQQ29va2llQWNjZXB0UG9saWN5IGNvb2tpZUFjY2VwdFBvbGljeSB7IEhUVFBDb29raWVBY2Nl
cHRQb2xpY3lBbHdheXMgfTsKKyAgICBIVFRQQ29va2llQWNjZXB0UG9saWN5IGNvb2tpZUFjY2Vw
dFBvbGljeSB7IEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5c18gfTsKICAgICBib29sIGln
bm9yZVRMU0Vycm9ycyB7IGZhbHNlIH07CiAgICAgVmVjdG9yPFN0cmluZz4gbGFuZ3VhZ2VzOwog
ICAgIFdlYkNvcmU6OlNvdXBOZXR3b3JrUHJveHlTZXR0aW5ncyBwcm94eVNldHRpbmdzOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmggYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaAppbmRleCAwZDg3ZTk2
OTQ5MzcxOWQxOWEyMmY1Y2Y0OWU5YjYxMGYxYjM2ZjRhLi4xOGNjZWIyMTFiMjYzMWFkZjdhZGI4
YTQ3NDQzZWQ0OWUzODZlZjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkv
Yy9XS1NoYXJlZEFQSUNhc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9XS1No
YXJlZEFQSUNhc3QuaApAQCAtNTUsNiArNTUsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVM
b2FkZXJUeXBlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW50UmVjdC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvTGF5b3V0TWlsZXN0b25lLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybU1vdXNl
RXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9Vc2VyQ29udGVudFR5cGVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyU2NyaXB0
VHlwZXMuaD4KQEAgLTMxOSw2ICszMjAsMjggQEAgaW5saW5lIFdLRXZlbnRNb3VzZUJ1dHRvbiB0
b0FQSShXZWJNb3VzZUV2ZW50OjpCdXR0b24gbW91c2VCdXR0b24pCiAgICAgcmV0dXJuIHdrTW91
c2VCdXR0b247CiB9CiAKK2lubGluZSBXS0V2ZW50TW91c2VCdXR0b24gdG9BUEkoV2ViQ29yZTo6
TW91c2VCdXR0b24gbW91c2VCdXR0b24pCit7CisgICAgV0tFdmVudE1vdXNlQnV0dG9uIHdrTW91
c2VCdXR0b24gPSBrV0tFdmVudE1vdXNlQnV0dG9uTm9CdXR0b247CisKKyAgICBzd2l0Y2ggKG1v
dXNlQnV0dG9uKSB7CisgICAgY2FzZSBXZWJDb3JlOjpNb3VzZUJ1dHRvbjo6Tm9CdXR0b246Cisg
ICAgICAgIHdrTW91c2VCdXR0b24gPSBrV0tFdmVudE1vdXNlQnV0dG9uTm9CdXR0b247CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgV2ViQ29yZTo6TW91c2VCdXR0b246OkxlZnRCdXR0b246Cisg
ICAgICAgIHdrTW91c2VCdXR0b24gPSBrV0tFdmVudE1vdXNlQnV0dG9uTGVmdEJ1dHRvbjsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBXZWJDb3JlOjpNb3VzZUJ1dHRvbjo6TWlkZGxlQnV0dG9u
OgorICAgICAgICB3a01vdXNlQnV0dG9uID0ga1dLRXZlbnRNb3VzZUJ1dHRvbk1pZGRsZUJ1dHRv
bjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBXZWJDb3JlOjpNb3VzZUJ1dHRvbjo6UmlnaHRC
dXR0b246CisgICAgICAgIHdrTW91c2VCdXR0b24gPSBrV0tFdmVudE1vdXNlQnV0dG9uUmlnaHRC
dXR0b247CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHJldHVybiB3a01vdXNlQnV0dG9u
OworfQorCiBpbmxpbmUgV0tDb250ZXh0TWVudUl0ZW1UYWcgdG9BUEkoV2ViQ29yZTo6Q29udGV4
dE1lbnVBY3Rpb24gYWN0aW9uKQogewogICAgIHN3aXRjaCAoYWN0aW9uKSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9IVFRQQ29va2llQWNjZXB0UG9saWN5LmggYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9IVFRQQ29va2llQWNjZXB0UG9saWN5LmgKaW5kZXggNGZlODFiM2MzOWJj
ZmIyNDdiNmVlNzVlYzQwMTUxMGQ3ODdmNzI0My4uZjM5YTdlNTJlMDk5MjBkYmNmNTcwMGRlNzg1
ZmEwMzA0OWI5NDBmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvSFRUUENvb2tp
ZUFjY2VwdFBvbGljeS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0hUVFBDb29raWVBY2Nl
cHRQb2xpY3kuaApAQCAtMjMsMTkgKzIzLDI5IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNp
Zm5kZWYgSFRUUENvb2tpZUFjY2VwdFBvbGljeV9oCi0jZGVmaW5lIEhUVFBDb29raWVBY2NlcHRQ
b2xpY3lfaAorI3ByYWdtYSBvbmNlCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1lbnVtIHsKLSAg
ICBIVFRQQ29va2llQWNjZXB0UG9saWN5QWx3YXlzID0gMCwKLSAgICBIVFRQQ29va2llQWNjZXB0
UG9saWN5TmV2ZXIgPSAxLAotICAgIEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5E
b2N1bWVudERvbWFpbiA9IDIsCi0gICAgSFRUUENvb2tpZUFjY2VwdFBvbGljeUV4Y2x1c2l2ZWx5
RnJvbU1haW5Eb2N1bWVudERvbWFpbiA9IDMsCitlbnVtIGNsYXNzIEhUVFBDb29raWVBY2NlcHRQ
b2xpY3kgOiB1aW50OF90IHsKKyAgICBBbHdheXNBY2NlcHQgPSAwLAorICAgIE5ldmVyID0gMSwK
KyAgICBPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbiA9IDIsCisgICAgRXhjbHVzaXZlbHlGcm9t
TWFpbkRvY3VtZW50RG9tYWluID0gMywKIH07Ci10eXBlZGVmIHVuc2lnbmVkIEhUVFBDb29raWVB
Y2NlcHRQb2xpY3k7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8gSFRUUENv
b2tpZUFjY2VwdFBvbGljeV9oCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3Qg
RW51bVRyYWl0czxXZWJLaXQ6OkhUVFBDb29raWVBY2NlcHRQb2xpY3k+IHsKKyAgICB1c2luZyB2
YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJLaXQ6OkhUVFBDb29raWVBY2NlcHRQb2xp
Y3ksCisgICAgICAgIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzXywKKyAg
ICAgICAgV2ViS2l0OjpIVFRQQ29va2llQWNjZXB0UG9saWN5OjpOZXZlciwKKyAgICAgICAgV2Vi
S2l0OjpIVFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbiwK
KyAgICAgICAgV2ViS2l0OjpIVFRQQ29va2llQWNjZXB0UG9saWN5OjpFeGNsdXNpdmVseUZyb21N
YWluRG9jdW1lbnREb21haW4KKyAgICA+OworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQy9XS0FQSUNhc3QuaAppbmRleCBhMzBkNTk3OTNiNmI0ZGQ1ZWRlMzMwNTM1ZTdmNWI1
YjQxZDRmNjM2Li5mOTUxN2IwYTUxMTI5MWJlZWYyMzIwMGIxNjc1ZWNkMDhlZGI4YjMyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaApAQCAtMzY3LDI5ICszNjcs
MjkgQEAgaW5saW5lIEhUVFBDb29raWVBY2NlcHRQb2xpY3kgdG9IVFRQQ29va2llQWNjZXB0UG9s
aWN5KFdLSFRUUENvb2tpZUFjY2VwdFBvbGljeQogewogICAgIHN3aXRjaCAocG9saWN5KSB7CiAg
ICAgY2FzZSBrV0tIVFRQQ29va2llQWNjZXB0UG9saWN5QWx3YXlzOgotICAgICAgICByZXR1cm4g
SFRUUENvb2tpZUFjY2VwdFBvbGljeUFsd2F5czsKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVB
Y2NlcHRQb2xpY3k6OkFsd2F5c187CiAgICAgY2FzZSBrV0tIVFRQQ29va2llQWNjZXB0UG9saWN5
TmV2ZXI6Ci0gICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI7CisgICAg
ICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpOZXZlcjsKICAgICBjYXNlIGtXS0hU
VFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKLSAgICAgICAg
cmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsK
KyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3Vt
ZW50RG9tYWluOwogICAgIGNhc2Uga1dLSFRUUENvb2tpZUFjY2VwdFBvbGljeUV4Y2x1c2l2ZWx5
RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKLSAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQ
b2xpY3lFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW47CisgICAgICAgIHJldHVybiBI
VFRQQ29va2llQWNjZXB0UG9saWN5OjpFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW47
CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIEhUVFBDb29r
aWVBY2NlcHRQb2xpY3lBbHdheXM7CisgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6
OkFsd2F5c187CiB9CiAKIGlubGluZSBXS0hUVFBDb29raWVBY2NlcHRQb2xpY3kgdG9BUEkoSFRU
UENvb2tpZUFjY2VwdFBvbGljeSBwb2xpY3kpCiB7CiAgICAgc3dpdGNoIChwb2xpY3kpIHsKLSAg
ICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM6CisgICAgY2FzZSBIVFRQQ29va2ll
QWNjZXB0UG9saWN5OjpBbHdheXNfOgogICAgICAgICByZXR1cm4ga1dLSFRUUENvb2tpZUFjY2Vw
dFBvbGljeUFsd2F5czsKLSAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3lOZXZlcjoKKyAg
ICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok5ldmVyOgogICAgICAgICByZXR1cm4ga1dL
SFRUUENvb2tpZUFjY2VwdFBvbGljeU5ldmVyOwotICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBv
bGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgorICAgIGNhc2UgSFRUUENvb2tpZUFjY2Vw
dFBvbGljeTo6T25seUZyb21NYWluRG9jdW1lbnREb21haW46CiAgICAgICAgIHJldHVybiBrV0tI
VFRQQ29va2llQWNjZXB0UG9saWN5T25seUZyb21NYWluRG9jdW1lbnREb21haW47Ci0gICAgY2Fz
ZSBIVFRQQ29va2llQWNjZXB0UG9saWN5RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWlu
OgorICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRv
Y3VtZW50RG9tYWluOgogICAgICAgICByZXR1cm4ga1dLSFRUUENvb2tpZUFjY2VwdFBvbGljeUV4
Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKaW5kZXggNDYwMTg3YWJiODVm
NGMyOTM5YTZjNjAzMDQzNWVhOGVhNzY1ZGI0MS4uYTAzMTc5OGRlZmJmZDg2MGYxYWFlMjhiMmIy
ZDYxY2E1ZTIxNTZiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlcy5jcHAKQEAgLTEzMDcsNyArMTMwNyw3IEBAIHZvaWQgV0tQcmVmZXJlbmNlc1Nl
dEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0KFdLUHJlZmVyZW5jZXNSZWYg
cHJlCiAKIGRvdWJsZSBXS1ByZWZlcmVuY2VzR2V0SW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVz
c2lvblRpbWVvdXQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKIHsKLSAgICByZXR1
cm4gdG9BUEkodG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+aW5jcmVtZW50YWxSZW5kZXJpbmdTdXBw
cmVzc2lvblRpbWVvdXQoKSk7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmlu
Y3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0KCk7CiB9CiAKIHZvaWQgV0tQcmVm
ZXJlbmNlc1NldFRocmVhZGVkU2Nyb2xsaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZl
cmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1Byb2Nlc3NQb29sLm1tCmluZGV4IGIwYWM3NmJlZjEyMjlkMGIzZjA3ZmU4
NmY5NzFhYjMxYzYwNDYxYjkuLmM5N2U0NThiNGVmMGQxYTE5OGNhZGQ2OWRjNTQwMTkxOTQ1ZTE3
YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nl
c3NQb29sLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Byb2Nl
c3NQb29sLm1tCkBAIC0yMDcsMTcgKzIwNywxNyBAQCBzdGF0aWMgV2ViS2l0OjpIVFRQQ29va2ll
QWNjZXB0UG9saWN5IHRvSFRUUENvb2tpZUFjY2VwdFBvbGljeShOU0hUVFBDb29raWVBY2NlcAog
ewogICAgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8TlNVSW50ZWdlcj4ocG9saWN5KSkgewogICAgIGNh
c2UgTlNIVFRQQ29va2llQWNjZXB0UG9saWN5QWx3YXlzOgotICAgICAgICByZXR1cm4gV2ViS2l0
OjpIVFRQQ29va2llQWNjZXB0UG9saWN5QWx3YXlzOworICAgICAgICByZXR1cm4gV2ViS2l0OjpI
VFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXNfOwogICAgIGNhc2UgTlNIVFRQQ29va2llQWNj
ZXB0UG9saWN5TmV2ZXI6Ci0gICAgICAgIHJldHVybiBXZWJLaXQ6OkhUVFBDb29raWVBY2NlcHRQ
b2xpY3lOZXZlcjsKKyAgICAgICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGlj
eTo6TmV2ZXI7CiAgICAgY2FzZSBOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5E
b2N1bWVudERvbWFpbjoKLSAgICAgICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBv
bGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOworICAgICAgICByZXR1cm4gV2ViS2l0OjpI
VFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKICAgICBj
YXNlIE5TSFRUUENvb2tpZUFjY2VwdFBvbGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERv
bWFpbjoKLSAgICAgICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeUV4Y2x1
c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKKyAgICAgICAgcmV0dXJuIFdlYktpdDo6SFRU
UENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwog
ICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBXZWJLaXQ6OkhU
VFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM7CisgICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tp
ZUFjY2VwdFBvbGljeTo6QWx3YXlzXzsKIH0KIAogLSAodm9pZClfc2V0Q29va2llQWNjZXB0UG9s
aWN5OihOU0hUVFBDb29raWVBY2NlcHRQb2xpY3kpcG9saWN5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRDb29raWVNYW5hZ2VyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdENvb2tpZU1hbmFnZXIuY3BwCmluZGV4
IGExZGUyYzI3YzNkOTgwYjk5ZDk3NzkzYjk1YzJjNWZmNWQ1MzhkOTEuLmI4NWUzNWUwY2ZkMDZh
Y2Y4NjEwMWY5OWNjYzAxZjYwZWU5MmZmNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9nbGliL1dlYktpdENvb2tpZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdENvb2tpZU1hbmFnZXIuY3BwCkBAIC05MCwxMSAr
OTAsMTEgQEAgc3RhdGljIGlubGluZSBTb3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlIHRv
U291cENvb2tpZVBlcnNpc3RlbnRTdG9yYWdlVHlwZSgKIHN0YXRpYyBpbmxpbmUgV2ViS2l0Q29v
a2llQWNjZXB0UG9saWN5IHRvV2ViS2l0Q29va2llQWNjZXB0UG9saWN5KEhUVFBDb29raWVBY2Nl
cHRQb2xpY3kgaHR0cFBvbGljeSkKIHsKICAgICBzd2l0Y2ggKGh0dHBQb2xpY3kpIHsKLSAgICBj
YXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM6CisgICAgY2FzZSBIVFRQQ29va2llQWNj
ZXB0UG9saWN5OjpBbHdheXNfOgogICAgICAgICByZXR1cm4gV0VCS0lUX0NPT0tJRV9QT0xJQ1lf
QUNDRVBUX0FMV0FZUzsKLSAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3lOZXZlcjoKKyAg
ICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok5ldmVyOgogICAgICAgICByZXR1cm4gV0VC
S0lUX0NPT0tJRV9QT0xJQ1lfQUNDRVBUX05FVkVSOwotICAgIGNhc2UgSFRUUENvb2tpZUFjY2Vw
dFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgorICAgIGNhc2UgSFRUUENvb2tpZUFj
Y2VwdFBvbGljeTo6T25seUZyb21NYWluRG9jdW1lbnREb21haW46CiAgICAgICAgIHJldHVybiBX
RUJLSVRfQ09PS0lFX1BPTElDWV9BQ0NFUFRfTk9fVEhJUkRfUEFSVFk7CiAgICAgZGVmYXVsdDoK
ICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0xMDYsMTQgKzEwNiwxNCBAQCBzdGF0
aWMgaW5saW5lIEhUVFBDb29raWVBY2NlcHRQb2xpY3kgdG9IVFRQQ29va2llQWNjZXB0UG9saWN5
KFdlYktpdENvb2tpZUFjY2VwdAogewogICAgIHN3aXRjaCAoa2l0UG9saWN5KSB7CiAgICAgY2Fz
ZSBXRUJLSVRfQ09PS0lFX1BPTElDWV9BQ0NFUFRfQUxXQVlTOgotICAgICAgICByZXR1cm4gSFRU
UENvb2tpZUFjY2VwdFBvbGljeUFsd2F5czsKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2Nl
cHRQb2xpY3k6OkFsd2F5c187CiAgICAgY2FzZSBXRUJLSVRfQ09PS0lFX1BPTElDWV9BQ0NFUFRf
TkVWRVI6Ci0gICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI7CisgICAg
ICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpOZXZlcjsKICAgICBjYXNlIFdFQktJ
VF9DT09LSUVfUE9MSUNZX0FDQ0VQVF9OT19USElSRF9QQVJUWToKLSAgICAgICAgcmV0dXJuIEhU
VFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKKyAgICAgICAg
cmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWlu
OwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICBy
ZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeUFsd2F5czsKKyAgICAgICAgcmV0dXJuIEhUVFBD
b29raWVBY2NlcHRQb2xpY3k6OkFsd2F5c187CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5LmNwcAppbmRleCBiMTQ0YjllY2I2
MmFkNjM4MWY1OGViZDQ4MWIyNWQzMWFhMGY1YzdiLi43NDMyODgwZTllMzM2MGFmNWFkZmFhYTI2
ZGU3YTdkNDUwYzhiZTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJD
b29raWVNYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNv
b2tpZU1hbmFnZXJQcm94eS5jcHAKQEAgLTI1OCw3ICsyNTgsNyBAQCB2b2lkIFdlYkNvb2tpZU1h
bmFnZXJQcm94eTo6Z2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeShQQUw6OlNlc3Npb25JRCwgRnVu
Y3Rpb248dgogICAgIHByb2Nlc3NQb29sKCktPnNlbmRUb05ldHdvcmtpbmdQcm9jZXNzKE1lc3Nh
Z2VzOjpXZWJDb29raWVNYW5hZ2VyOjpHZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KGNhbGxiYWNr
SUQpKTsKIH0KIAotdm9pZCBXZWJDb29raWVNYW5hZ2VyUHJveHk6OmRpZEdldEhUVFBDb29raWVB
Y2NlcHRQb2xpY3kodWludDMyX3QgcG9saWN5LCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJ
RCkKK3ZvaWQgV2ViQ29va2llTWFuYWdlclByb3h5OjpkaWRHZXRIVFRQQ29va2llQWNjZXB0UG9s
aWN5KEhUVFBDb29raWVBY2NlcHRQb2xpY3kgcG9saWN5LCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2Fs
bGJhY2tJRCkKIHsKICAgICBtX2NhbGxiYWNrcy50YWtlPEhUVFBDb29raWVBY2NlcHRQb2xpY3lD
YWxsYmFjaz4oY2FsbGJhY2tJRCktPnBlcmZvcm1DYWxsYmFja1dpdGhSZXR1cm5WYWx1ZShwb2xp
Y3kpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29va2llTWFu
YWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJv
eHkuaAppbmRleCBmNzNmOWQwNTEwOThkYWZhOWExNWI1NGQ4Y2VkYzlhMDhhNGZmMGIwLi41ZWFh
ZDI4YzU2NjViNzUxZDllM2E4NWM2YTQ2MTAzYTgzMTE4NDIzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuaApAQCAtNzgsNiArNzgsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBnZXRDb29raWVzKFBBTDo6U2Vzc2lvbklELCBjb25zdCBVUkwmLCBG
dW5jdGlvbjx2b2lkKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpDb29raWU+JiwgQ2FsbGJhY2tCYXNl
OjpFcnJvcik+JiYgY29tcGxldGlvbkhhbmRsZXIpOwogCiAgICAgdm9pZCBzZXRIVFRQQ29va2ll
QWNjZXB0UG9saWN5KFBBTDo6U2Vzc2lvbklELCBIVFRQQ29va2llQWNjZXB0UG9saWN5LCBGdW5j
dGlvbjx2b2lkIChDYWxsYmFja0Jhc2U6OkVycm9yKT4mJik7CisgICAgdm9pZCBzZXRIVFRQQ29v
a2llQWNjZXB0UG9saWN5U3luY2hyb25vdXNseUZvclRlc3RpbmcoUEFMOjpTZXNzaW9uSUQsIEhU
VFBDb29raWVBY2NlcHRQb2xpY3kpOwogICAgIHZvaWQgZ2V0SFRUUENvb2tpZUFjY2VwdFBvbGlj
eShQQUw6OlNlc3Npb25JRCwgRnVuY3Rpb248dm9pZCAoSFRUUENvb2tpZUFjY2VwdFBvbGljeSwg
Q2FsbGJhY2tCYXNlOjpFcnJvcik+JiYpOwogCiAgICAgdm9pZCBzZXRTdG9yYWdlQWNjZXNzQVBJ
RW5hYmxlZChib29sKTsKQEAgLTEwOSw3ICsxMTAsNyBAQCBwcml2YXRlOgogICAgIFdlYkNvb2tp
ZU1hbmFnZXJQcm94eShXZWJQcm9jZXNzUG9vbCopOwogCiAgICAgdm9pZCBkaWRHZXRIb3N0bmFt
ZXNXaXRoQ29va2llcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYsIFdlYktpdDo6Q2FsbGJhY2tJRCk7
Ci0gICAgdm9pZCBkaWRHZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KHVpbnQzMl90IHBvbGljeSwg
V2ViS2l0OjpDYWxsYmFja0lEKTsKKyAgICB2b2lkIGRpZEdldEhUVFBDb29raWVBY2NlcHRQb2xp
Y3koSFRUUENvb2tpZUFjY2VwdFBvbGljeSwgV2ViS2l0OjpDYWxsYmFja0lEKTsKIAogICAgIHZv
aWQgZGlkU2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeShXZWJLaXQ6OkNhbGxiYWNrSUQpOwogICAg
IHZvaWQgZGlkU2V0Q29va2llcyhXZWJLaXQ6OkNhbGxiYWNrSUQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmlu
CmluZGV4IDMzZGY0OTVjMzk0Y2M5OThlN2E4Y2YxMThjYmU1MTg1MWM3YThlMDcuLmJiNjcyM2Mz
NGM1YmYzZDE4MGFkODg0MDQzNTdiYjFiYjdmMjRiZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KQEAg
LTIyLDcgKzIyLDcgQEAKIAogbWVzc2FnZXMgLT4gV2ViQ29va2llTWFuYWdlclByb3h5IHsKICAg
ICBEaWRHZXRIb3N0bmFtZXNXaXRoQ29va2llcyhWZWN0b3I8U3RyaW5nPiBob3N0bmFtZXMsIFdl
YktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKTsKLSAgICBEaWRHZXRIVFRQQ29va2llQWNjZXB0
UG9saWN5KHVpbnQzMl90IHBvbGljeSwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpOwor
ICAgIERpZEdldEhUVFBDb29raWVBY2NlcHRQb2xpY3koZW51bTp1aW50OF90IFdlYktpdDo6SFRU
UENvb2tpZUFjY2VwdFBvbGljeSBwb2xpY3ksIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lE
KTsKIAogICAgIERpZFNldEhUVFBDb29raWVBY2NlcHRQb2xpY3koV2ViS2l0OjpDYWxsYmFja0lE
IGNhbGxiYWNrSUQpOwogICAgIERpZERlbGV0ZUNvb2tpZXMoV2ViS2l0OjpDYWxsYmFja0lEIGNh
bGxiYWNrSUQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vz
c1Bvb2wuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKaW5kZXgg
NzFmMjA1MTJiMjczNDI1NGZlMTZlOGM0OTA5MjZlN2I5ZDI4NWMwYi4uNTcwNjg1MjBlZmFlMWJl
YzBmY2VjNDNiMzMxZDdjYjVkY2M5ZWNjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5oCkBAIC02ODAsNyArNjgwLDcgQEAgcHJpdmF0ZToKICAgICBXZWJDb250ZXh0
U3VwcGxlbWVudE1hcCBtX3N1cHBsZW1lbnRzOwogCiAjaWYgVVNFKFNPVVApCi0gICAgSFRUUENv
b2tpZUFjY2VwdFBvbGljeSBtX2luaXRpYWxIVFRQQ29va2llQWNjZXB0UG9saWN5IHsgSFRUUENv
b2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluIH07CisgICAgSFRUUENv
b2tpZUFjY2VwdFBvbGljeSBtX2luaXRpYWxIVFRQQ29va2llQWNjZXB0UG9saWN5IHsgSFRUUENv
b2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9jdW1lbnREb21haW4gfTsKICAgICBXZWJD
b3JlOjpTb3VwTmV0d29ya1Byb3h5U2V0dGluZ3MgbV9uZXR3b3JrUHJveHlTZXR0aW5nczsKICNl
bmRpZgogICAgIEhhc2hTZXQ8U3RyaW5nLCBBU0NJSUNhc2VJbnNlbnNpdGl2ZUhhc2g+IG1fdXJs
U2NoZW1lc1JlZ2lzdGVyZWRGb3JDdXN0b21Qcm90b2NvbHM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372847</attachid>
            <date>2019-06-25 11:16:01 -0700</date>
            <delta_ts>2019-06-25 13:09:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199081-20190625111600.patch</filename>
            <type>text/plain</type>
            <size>23316</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NjMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDU5YjhjOTc2YWViODM4Y2M0
OTAwMTY1ODFlODc2ZjY0OTMxYjc3ZjMuLjkzZTBmZTQxN2E0NWE2ZTMyZDY5OWM0ZTgxNTg5Nzhj
OTZiOWNlNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTktMDYtMjAgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNYWtlIEhUVFBD
b29raWVBY2NlcHRQb2xpY3kgYW4gZW51bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5MDgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRG9pbmcgc28gcmV2ZWFscyBzb21lIGludGVyZXN0aW5n
IGJ1Z3MgaW4gdGhlIEMgQVBJIHRoYXQgYXJlIGFsc28gZml4ZWQ6CisgICAgICAgIFdLUHJlZmVy
ZW5jZXNHZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dCB3YXMgdXNpbmcg
aXRzIHRvQVBJIGZ1bmN0aW9uIHRvIGNvbnZlcnQgYSBkb3VibGUgdG8gYSBkb3VibGUgYmVjYXVz
ZSBIVFRQQ29va2llQWNjZXB0UG9saWN5IHVzZWQgdG8gYmUgYW4gdW5zaWduZWQgaW50ZWdlci4K
KyAgICAgICAgdG9BUEkoV2ViQ29yZTo6TW91c2VCdXR0b24pIHdhcyBhbHNvIHVzaW5nIHRoZSB0
b0FQSShIVFRQQ29va2llQWNjZXB0UG9saWN5KSBiZWNhdXNlIEhUVFBDb29raWVBY2NlcHRQb2xp
Y3kgdXNlZCB0byBiZSBhbiB1bnNpZ25lZCBpbnRlZ2VyLgorICAgICAgICBZaWtlcyEgIFR5cGUg
c2FmZXR5IGlzIG91ciBmcmllbmQuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Db29raWVz
L1dlYkNvb2tpZU1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Q29va2llcy9tYWMvV2ViQ29va2llTWFuYWdlck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6dG9D
RkhUVFBDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29v
a2llTWFuYWdlcjo6cGxhdGZvcm1TZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KToKKyAgICAgICAg
KFdlYktpdDo6V2ViQ29va2llTWFuYWdlcjo6cGxhdGZvcm1HZXRIVFRQQ29va2llQWNjZXB0UG9s
aWN5KToKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0Lmg6CisgICAgICAg
IChXZWJLaXQ6OnRvQVBJKToKKyAgICAgICAgKiBTaGFyZWQvSFRUUENvb2tpZUFjY2VwdFBvbGlj
eS5oOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tB
UElDYXN0Lmg6CisgICAgICAgIChXZWJLaXQ6OnRvSFRUUENvb2tpZUFjY2VwdFBvbGljeSk6Cisg
ICAgICAgIChXZWJLaXQ6OnRvQVBJKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlcy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0SW5jcmVtZW50YWxSZW5kZXJp
bmdTdXBwcmVzc2lvblRpbWVvdXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQ
cm9jZXNzUG9vbC5tbToKKyAgICAgICAgKHRvSFRUUENvb2tpZUFjY2VwdFBvbGljeSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYkNvb2tpZU1hbmFnZXJQcm94eTo6ZGlkR2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeSk6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46CisKIDIwMTktMDYt
MTkgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIE5vIG1lbnUgcG9w
LXVwIHdoZW4gbG9uZyBwcmVzc2luZyBvbiBhIGxpbmsgaW4gRmlyZWZveCBhcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2Vy
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL1dlYkNv
b2tpZU1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggMDViZjI0MzYxODFlYTkwNDE0NzJmODgyZWVm
MGVkNmFmN2NhMWQ3Ny4uNTE4ZDExY2ZmZTIyZDZkNzYyNTdhZDhlMjY2YmQ0YmQyMzVkNjhkMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL1dlYkNvb2tp
ZU1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9D
b29raWVzL1dlYkNvb2tpZU1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTM1LDcgKzM1LDcgQEAKICAg
ICB2b2lkIERlbGV0ZUNvb2tpZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIHN0cnVjdCBXZWJD
b3JlOjpDb29raWUgY29va2llLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICAgICB2
b2lkIERlbGV0ZUFsbENvb2tpZXNNb2RpZmllZFNpbmNlKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCwgV2FsbFRpbWUgdGltZSwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAKLSAgICB2
b2lkIFNldEhUVFBDb29raWVBY2NlcHRQb2xpY3kodWludDMyX3QgcG9saWN5LCBXZWJLaXQ6Ok9w
dGlvbmFsQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQorICAgIHZvaWQgU2V0SFRUUENvb2tpZUFjY2Vw
dFBvbGljeShlbnVtOnVpbnQ4X3QgV2ViS2l0OjpIVFRQQ29va2llQWNjZXB0UG9saWN5IHBvbGlj
eSwgV2ViS2l0OjpPcHRpb25hbENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICAgICB2b2lkIEdldEhU
VFBDb29raWVBY2NlcHRQb2xpY3koV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAgICAg
CiAgICAgdm9pZCBTdGFydE9ic2VydmluZ0Nvb2tpZUNoYW5nZXMoUEFMOjpTZXNzaW9uSUQgc2Vz
c2lvbklEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVz
L2N1cmwvV2ViQ29va2llTWFuYWdlckN1cmwuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9Db29raWVzL2N1cmwvV2ViQ29va2llTWFuYWdlckN1cmwuY3BwCmluZGV4IDRhODI5YzI2
NDYxNTUxYTdiZDVmMmIwMDMyNmRiNTZjNjEzOWUzNjAuLjgwZjNiNDk0YjU1Mzk2ZTgzNTVjOGRl
ZDQ4YmY2OGZiOTg5M2M1OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvQ29va2llcy9jdXJsL1dlYkNvb2tpZU1hbmFnZXJDdXJsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvY3VybC9XZWJDb29raWVNYW5hZ2VyQ3VybC5jcHAK
QEAgLTM3LDE2ICszNywxNiBAQCB2b2lkIFdlYkNvb2tpZU1hbmFnZXI6OnBsYXRmb3JtU2V0SFRU
UENvb2tpZUFjY2VwdFBvbGljeShIVFRQQ29va2llQWNjZXB0UG9saWN5CiB7CiAgICAgQ29va2ll
QWNjZXB0UG9saWN5IGN1cmxQb2xpY3kgPSBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFp
bkRvY3VtZW50RG9tYWluOwogICAgIHN3aXRjaCAocG9saWN5KSB7Ci0gICAgY2FzZSBIVFRQQ29v
a2llQWNjZXB0UG9saWN5QWx3YXlzOgorICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6
QWx3YXlzQWNjZXB0OgogICAgICAgICBjdXJsUG9saWN5ID0gQ29va2llQWNjZXB0UG9saWN5OjpB
bHdheXM7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeU5l
dmVyOgorICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXI6CiAgICAgICAgIGN1
cmxQb2xpY3kgPSBDb29raWVBY2NlcHRQb2xpY3k6Ok5ldmVyOwogICAgICAgICBicmVhazsKLSAg
ICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoK
KyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9t
YWluOgogICAgICAgICBjdXJsUG9saWN5ID0gQ29va2llQWNjZXB0UG9saWN5OjpPbmx5RnJvbU1h
aW5Eb2N1bWVudERvbWFpbjsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIVFRQQ29va2llQWNj
ZXB0UG9saWN5RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgorICAgIGNhc2UgSFRU
UENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgog
ICAgICAgICBjdXJsUG9saWN5ID0gQ29va2llQWNjZXB0UG9saWN5OjpFeGNsdXNpdmVseUZyb21N
YWluRG9jdW1lbnREb21haW47CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTYxLDE3ICs2MSwx
NyBAQCBIVFRQQ29va2llQWNjZXB0UG9saWN5IFdlYkNvb2tpZU1hbmFnZXI6OnBsYXRmb3JtR2V0
SFRUUENvb2tpZUFjY2VwdFBvbGljeSgpCiAgICAgY29uc3QgYXV0byYgbmV0d29ya1N0b3JhZ2VT
ZXNzaW9uID0gbV9wcm9jZXNzLmRlZmF1bHRTdG9yYWdlU2Vzc2lvbigpOwogICAgIHN3aXRjaCAo
bmV0d29ya1N0b3JhZ2VTZXNzaW9uLmNvb2tpZVN0b3JhZ2UoKS5jb29raWVBY2NlcHRQb2xpY3ko
bmV0d29ya1N0b3JhZ2VTZXNzaW9uKSkgewogICAgIGNhc2UgQ29va2llQWNjZXB0UG9saWN5OjpB
bHdheXM6Ci0gICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5QWx3YXlzOworICAg
ICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzQWNjZXB0OwogICAgIGNh
c2UgQ29va2llQWNjZXB0UG9saWN5OjpOZXZlcjoKLSAgICAgICAgcmV0dXJuIEhUVFBDb29raWVB
Y2NlcHRQb2xpY3lOZXZlcjsKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6
Ok5ldmVyOwogICAgIGNhc2UgQ29va2llQWNjZXB0UG9saWN5OjpPbmx5RnJvbU1haW5Eb2N1bWVu
dERvbWFpbjoKLSAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1h
aW5Eb2N1bWVudERvbWFpbjsKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6
Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwogICAgIGNhc2UgQ29va2llQWNjZXB0UG9saWN5
OjpFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW46Ci0gICAgICAgIHJldHVybiBIVFRQ
Q29va2llQWNjZXB0UG9saWN5RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOworICAg
ICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRv
Y3VtZW50RG9tYWluOwogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJl
dHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5T25seUZyb21NYWluRG9jdW1lbnREb21haW47Cisg
ICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9t
YWluOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvQ29va2llcy9tYWMvV2ViQ29va2llTWFuYWdlck1hYy5tbSBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29va2llcy9tYWMvV2ViQ29va2llTWFuYWdlck1h
Yy5tbQppbmRleCA3MTQ4ZTcxYTBlYmEwMWJjOWJjYjhmNmQ0MmQ4YzkzZjY5NzE0ZTA2Li5hOThk
OGFlNjRmMzRhZGM0ODdjMzE2MDI4ZTBlY2IwOTQ4OTY2YjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvbWFjL1dlYkNvb2tpZU1hbmFnZXJNYWMubW0K
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL21hYy9XZWJDb29raWVN
YW5hZ2VyTWFjLm1tCkBAIC0zNSw2ICszNSwxMSBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAorc3RhdGljIENGSFRUUENvb2tpZVN0b3JhZ2VBY2NlcHRQ
b2xpY3kgdG9DRkhUVFBDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5KEhUVFBDb29raWVBY2NlcHRQ
b2xpY3kgcG9saWN5KQoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxDRkhUVFBDb29raWVTdG9y
YWdlQWNjZXB0UG9saWN5Pihwb2xpY3kpOworfQorCiB2b2lkIFdlYkNvb2tpZU1hbmFnZXI6OnBs
YXRmb3JtU2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeShIVFRQQ29va2llQWNjZXB0UG9saWN5IHBv
bGljeSkKIHsKICAgICBBU1NFUlQoaGFzUHJvY2Vzc1ByaXZpbGVnZShQcm9jZXNzUHJpdmlsZWdl
OjpDYW5BY2Nlc3NSYXdDb29raWVzKSk7CkBAIC00Myw3ICs0OCw3IEBAIHZvaWQgV2ViQ29va2ll
TWFuYWdlcjo6cGxhdGZvcm1TZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KEhUVFBDb29raWVBY2Nl
cHRQb2xpY3kKIAogICAgIG1fcHJvY2Vzcy5mb3JFYWNoTmV0d29ya1N0b3JhZ2VTZXNzaW9uKFsm
XSAoY29uc3QgYXV0byYgbmV0d29ya1N0b3JhZ2VTZXNzaW9uKSB7CiAgICAgICAgIGlmIChhdXRv
IGNvb2tpZVN0b3JhZ2UgPSBuZXR3b3JrU3RvcmFnZVNlc3Npb24uY29va2llU3RvcmFnZSgpKQot
ICAgICAgICAgICAgQ0ZIVFRQQ29va2llU3RvcmFnZVNldENvb2tpZUFjY2VwdFBvbGljeShjb29r
aWVTdG9yYWdlLmdldCgpLCBwb2xpY3kpOworICAgICAgICAgICAgQ0ZIVFRQQ29va2llU3RvcmFn
ZVNldENvb2tpZUFjY2VwdFBvbGljeShjb29raWVTdG9yYWdlLmdldCgpLCB0b0NGSFRUUENvb2tp
ZVN0b3JhZ2VBY2NlcHRQb2xpY3kocG9saWN5KSk7CiAgICAgfSk7CiB9CiAKQEAgLTUxLDcgKzU2
LDE5IEBAIEhUVFBDb29raWVBY2NlcHRQb2xpY3kgV2ViQ29va2llTWFuYWdlcjo6cGxhdGZvcm1H
ZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KCkKIHsKICAgICBBU1NFUlQoaGFzUHJvY2Vzc1ByaXZp
bGVnZShQcm9jZXNzUHJpdmlsZWdlOjpDYW5BY2Nlc3NSYXdDb29raWVzKSk7CiAKLSAgICByZXR1
cm4gW1tOU0hUVFBDb29raWVTdG9yYWdlIHNoYXJlZEhUVFBDb29raWVTdG9yYWdlXSBjb29raWVB
Y2NlcHRQb2xpY3ldOworICAgIHN3aXRjaCAoW1tOU0hUVFBDb29raWVTdG9yYWdlIHNoYXJlZEhU
VFBDb29raWVTdG9yYWdlXSBjb29raWVBY2NlcHRQb2xpY3ldKSB7CisgICAgY2FzZSBOU0hUVFBD
b29raWVBY2NlcHRQb2xpY3lBbHdheXM6CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0
UG9saWN5OjpBbHdheXNBY2NlcHQ7CisgICAgY2FzZSBOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lP
bmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2Nl
cHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOworICAgIGNhc2UgTlNIVFRQQ29v
a2llQWNjZXB0UG9saWN5RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgorICAgICAg
ICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3Vt
ZW50RG9tYWluOworICAgIGNhc2UgTlNIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI6CisgICAg
ICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpOZXZlcjsKKyAgICB9CisKKyAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6
QWx3YXlzQWNjZXB0OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29va2llcy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJT
b3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29va2llcy9zb3VwL1dlYkNv
b2tpZU1hbmFnZXJTb3VwLmNwcAppbmRleCBiODVjOWFlNmJhM2FkMzU3ODc5MDhiYjhlZjEwMTY5
MzkyNjk5NGE4Li5hYjU3MWI2M2YxYTRmMTI1ZWZiNTc2ZDM5MGE4ZTE1NTUyYTJlYjdjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvc291cC9XZWJDb29r
aWVNYW5hZ2VyU291cC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29r
aWVzL3NvdXAvV2ViQ29va2llTWFuYWdlclNvdXAuY3BwCkBAIC00MSwxMyArNDEsMTMgQEAgdm9p
ZCBXZWJDb29raWVNYW5hZ2VyOjpwbGF0Zm9ybVNldEhUVFBDb29raWVBY2NlcHRQb2xpY3koSFRU
UENvb2tpZUFjY2VwdFBvbGljeQogewogICAgIFNvdXBDb29raWVKYXJBY2NlcHRQb2xpY3kgc291
cFBvbGljeSA9IFNPVVBfQ09PS0lFX0pBUl9BQ0NFUFRfTk9fVEhJUkRfUEFSVFk7CiAgICAgc3dp
dGNoIChwb2xpY3kpIHsKLSAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM6Cisg
ICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXNBY2NlcHQ6CiAgICAgICAgIHNv
dXBQb2xpY3kgPSBTT1VQX0NPT0tJRV9KQVJfQUNDRVBUX0FMV0FZUzsKICAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI6CisgICAgY2FzZSBIVFRQQ29v
a2llQWNjZXB0UG9saWN5OjpOZXZlcjoKICAgICAgICAgc291cFBvbGljeSA9IFNPVVBfQ09PS0lF
X0pBUl9BQ0NFUFRfTkVWRVI7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgSFRUUENvb2tpZUFj
Y2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgorICAgIGNhc2UgSFRUUENvb2tp
ZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9jdW1lbnREb21haW46CiAgICAgICAgIHNvdXBQ
b2xpY3kgPSBTT1VQX0NPT0tJRV9KQVJfQUNDRVBUX05PX1RISVJEX1BBUlRZOwogICAgICAgICBi
cmVhazsKICAgICB9CkBAIC02MSwxNSArNjEsMTUgQEAgSFRUUENvb2tpZUFjY2VwdFBvbGljeSBX
ZWJDb29raWVNYW5hZ2VyOjpwbGF0Zm9ybUdldEhUVFBDb29raWVBY2NlcHRQb2xpY3koKQogewog
ICAgIHN3aXRjaCAoc291cF9jb29raWVfamFyX2dldF9hY2NlcHRfcG9saWN5KG1fcHJvY2Vzcy5k
ZWZhdWx0U3RvcmFnZVNlc3Npb24oKS5jb29raWVTdG9yYWdlKCkpKSB7CiAgICAgY2FzZSBTT1VQ
X0NPT0tJRV9KQVJfQUNDRVBUX0FMV0FZUzoKLSAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2Nl
cHRQb2xpY3lBbHdheXM7CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpB
bHdheXNBY2NlcHQ7CiAgICAgY2FzZSBTT1VQX0NPT0tJRV9KQVJfQUNDRVBUX05FVkVSOgotICAg
ICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeU5ldmVyOworICAgICAgICByZXR1cm4g
SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXI7CiAgICAgY2FzZSBTT1VQX0NPT0tJRV9KQVJf
QUNDRVBUX05PX1RISVJEX1BBUlRZOgotICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBv
bGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOworICAgICAgICByZXR1cm4gSFRUUENvb2tp
ZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9jdW1lbnREb21haW47CiAgICAgfQogCiAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lP
bmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKKyAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBv
bGljeTo6T25seUZyb21NYWluRG9jdW1lbnREb21haW47CiB9CiAKIHZvaWQgV2ViQ29va2llTWFu
YWdlcjo6c2V0Q29va2llUGVyc2lzdGVudFN0b3JhZ2UoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklE
LCBjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRoLCBTb3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VU
eXBlIHN0b3JhZ2VUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCmluZGV4IDljZGM0
NWExYjI5NTMwMDBkZTdkOWEwNmI3MzE1ZmI2NWIyNzkxZmQuLjZlNjNkM2VhMGVjYjk1MTIzYjZm
MjQwNzBmNTE3ZGEyM2YxMDFiOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAg
LTg2LDcgKzg2LDcgQEAgc3RydWN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsK
ICAgICBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyBkZWZhdWx0RGF0YVN0b3JlUGFyYW1ldGVy
czsKICAgICAKICNpZiBVU0UoU09VUCkKLSAgICBIVFRQQ29va2llQWNjZXB0UG9saWN5IGNvb2tp
ZUFjY2VwdFBvbGljeSB7IEhUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXMgfTsKKyAgICBIVFRQ
Q29va2llQWNjZXB0UG9saWN5IGNvb2tpZUFjY2VwdFBvbGljeSB7IEhUVFBDb29raWVBY2NlcHRQ
b2xpY3k6OkFsd2F5c0FjY2VwdCB9OwogICAgIGJvb2wgaWdub3JlVExTRXJyb3JzIHsgZmFsc2Ug
fTsKICAgICBWZWN0b3I8U3RyaW5nPiBsYW5ndWFnZXM7CiAgICAgV2ViQ29yZTo6U291cE5ldHdv
cmtQcm94eVNldHRpbmdzIHByb3h5U2V0dGluZ3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQ
SS9jL1dLU2hhcmVkQVBJQ2FzdC5oCmluZGV4IDBkODdlOTY5NDkzNzE5ZDE5YTIyZjVjZjQ5ZTli
NjEwZjFiMzZmNGEuLjE4Y2NlYjIxMWIyNjMxYWRmN2FkYjhhNDc0NDNlZDQ5ZTM4NmVmMzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCkBAIC01NSw2
ICs1NSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZUxvYWRlclR5cGVzLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9MYXlvdXRNaWxlc3RvbmUu
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtTW91c2VFdmVudC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJDb250ZW50VHlw
ZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJTY3JpcHRUeXBlcy5oPgpAQCAtMzE5LDYgKzMy
MCwyOCBAQCBpbmxpbmUgV0tFdmVudE1vdXNlQnV0dG9uIHRvQVBJKFdlYk1vdXNlRXZlbnQ6OkJ1
dHRvbiBtb3VzZUJ1dHRvbikKICAgICByZXR1cm4gd2tNb3VzZUJ1dHRvbjsKIH0KIAoraW5saW5l
IFdLRXZlbnRNb3VzZUJ1dHRvbiB0b0FQSShXZWJDb3JlOjpNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRv
bikKK3sKKyAgICBXS0V2ZW50TW91c2VCdXR0b24gd2tNb3VzZUJ1dHRvbiA9IGtXS0V2ZW50TW91
c2VCdXR0b25Ob0J1dHRvbjsKKworICAgIHN3aXRjaCAobW91c2VCdXR0b24pIHsKKyAgICBjYXNl
IFdlYkNvcmU6Ok1vdXNlQnV0dG9uOjpOb0J1dHRvbjoKKyAgICAgICAgd2tNb3VzZUJ1dHRvbiA9
IGtXS0V2ZW50TW91c2VCdXR0b25Ob0J1dHRvbjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBX
ZWJDb3JlOjpNb3VzZUJ1dHRvbjo6TGVmdEJ1dHRvbjoKKyAgICAgICAgd2tNb3VzZUJ1dHRvbiA9
IGtXS0V2ZW50TW91c2VCdXR0b25MZWZ0QnV0dG9uOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IFdlYkNvcmU6Ok1vdXNlQnV0dG9uOjpNaWRkbGVCdXR0b246CisgICAgICAgIHdrTW91c2VCdXR0
b24gPSBrV0tFdmVudE1vdXNlQnV0dG9uTWlkZGxlQnV0dG9uOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIFdlYkNvcmU6Ok1vdXNlQnV0dG9uOjpSaWdodEJ1dHRvbjoKKyAgICAgICAgd2tNb3Vz
ZUJ1dHRvbiA9IGtXS0V2ZW50TW91c2VCdXR0b25SaWdodEJ1dHRvbjsKKyAgICAgICAgYnJlYWs7
CisgICAgfQorCisgICAgcmV0dXJuIHdrTW91c2VCdXR0b247Cit9CisKIGlubGluZSBXS0NvbnRl
eHRNZW51SXRlbVRhZyB0b0FQSShXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbiBhY3Rpb24pCiB7
CiAgICAgc3dpdGNoIChhY3Rpb24pIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0hUVFBDb29raWVBY2NlcHRQb2xpY3kuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0hUVFBDb29r
aWVBY2NlcHRQb2xpY3kuaAppbmRleCA0ZmU4MWIzYzM5YmNmYjI0N2I2ZWU3NWVjNDAxNTEwZDc4
N2Y3MjQzLi40NTdjMjM0NGM5Yzg5ODZmZjZlMjMyMzMwNWEyODQzM2Q4NmVhMGViIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9IVFRQQ29va2llQWNjZXB0UG9saWN5LmgKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvSFRUUENvb2tpZUFjY2VwdFBvbGljeS5oCkBAIC0yMywxOSAr
MjMsMjkgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBIVFRQQ29va2llQWNjZXB0
UG9saWN5X2gKLSNkZWZpbmUgSFRUUENvb2tpZUFjY2VwdFBvbGljeV9oCisjcHJhZ21hIG9uY2UK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWVudW0gewotICAgIEhUVFBDb29raWVBY2NlcHRQb2xp
Y3lBbHdheXMgPSAwLAotICAgIEhUVFBDb29raWVBY2NlcHRQb2xpY3lOZXZlciA9IDEsCi0gICAg
SFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluID0gMiwKLSAg
ICBIVFRQQ29va2llQWNjZXB0UG9saWN5RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWlu
ID0gMywKK2VudW0gY2xhc3MgSFRUUENvb2tpZUFjY2VwdFBvbGljeSA6IHVpbnQ4X3QgeworICAg
IEFsd2F5c0FjY2VwdCA9IDAsCisgICAgTmV2ZXIgPSAxLAorICAgIE9ubHlGcm9tTWFpbkRvY3Vt
ZW50RG9tYWluID0gMiwKKyAgICBFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW4gPSAz
LAogfTsKLXR5cGVkZWYgdW5zaWduZWQgSFRUUENvb2tpZUFjY2VwdFBvbGljeTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBIVFRQQ29va2llQWNjZXB0UG9saWN5X2gKK25h
bWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYktpdDo6SFRU
UENvb2tpZUFjY2VwdFBvbGljeT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8Cisg
ICAgICAgIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeSwKKyAgICAgICAgV2ViS2l0OjpI
VFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXNBY2NlcHQsCisgICAgICAgIFdlYktpdDo6SFRU
UENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXIsCisgICAgICAgIFdlYktpdDo6SFRUUENvb2tpZUFj
Y2VwdFBvbGljeTo6T25seUZyb21NYWluRG9jdW1lbnREb21haW4sCisgICAgICAgIFdlYktpdDo6
SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWlu
CisgICAgPjsKK307CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLQVBJQ2FzdC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0
LmgKaW5kZXggYTMwZDU5NzkzYjZiNGRkNWVkZTMzMDUzNWU3ZjViNWI0MWQ0ZjYzNi4uYzg2NjAz
ZGRjOTRmZGRlNzhmZjVlN2U4YzNjZjczZDVjZDkzYzYwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKQEAgLTM2NywyOSArMzY3LDI5IEBAIGlubGluZSBIVFRQ
Q29va2llQWNjZXB0UG9saWN5IHRvSFRUUENvb2tpZUFjY2VwdFBvbGljeShXS0hUVFBDb29raWVB
Y2NlcHRQb2xpY3kKIHsKICAgICBzd2l0Y2ggKHBvbGljeSkgewogICAgIGNhc2Uga1dLSFRUUENv
b2tpZUFjY2VwdFBvbGljeUFsd2F5czoKLSAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQ
b2xpY3lBbHdheXM7CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdh
eXNBY2NlcHQ7CiAgICAgY2FzZSBrV0tIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI6Ci0gICAg
ICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI7CisgICAgICAgIHJldHVybiBI
VFRQQ29va2llQWNjZXB0UG9saWN5OjpOZXZlcjsKICAgICBjYXNlIGtXS0hUVFBDb29raWVBY2Nl
cHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKLSAgICAgICAgcmV0dXJuIEhUVFBD
b29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKKyAgICAgICAgcmV0
dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwog
ICAgIGNhc2Uga1dLSFRUUENvb2tpZUFjY2VwdFBvbGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1
bWVudERvbWFpbjoKLSAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lFeGNsdXNp
dmVseUZyb21NYWluRG9jdW1lbnREb21haW47CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNj
ZXB0UG9saWN5OjpFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW47CiAgICAgfQogCiAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xp
Y3lBbHdheXM7CisgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5c0FjY2Vw
dDsKIH0KIAogaW5saW5lIFdLSFRUUENvb2tpZUFjY2VwdFBvbGljeSB0b0FQSShIVFRQQ29va2ll
QWNjZXB0UG9saWN5IHBvbGljeSkKIHsKICAgICBzd2l0Y2ggKHBvbGljeSkgewotICAgIGNhc2Ug
SFRUUENvb2tpZUFjY2VwdFBvbGljeUFsd2F5czoKKyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQ
b2xpY3k6OkFsd2F5c0FjY2VwdDoKICAgICAgICAgcmV0dXJuIGtXS0hUVFBDb29raWVBY2NlcHRQ
b2xpY3lBbHdheXM7Ci0gICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI6CisgICAg
Y2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpOZXZlcjoKICAgICAgICAgcmV0dXJuIGtXS0hU
VFBDb29raWVBY2NlcHRQb2xpY3lOZXZlcjsKLSAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xp
Y3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKKyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQ
b2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgogICAgICAgICByZXR1cm4ga1dLSFRU
UENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwotICAgIGNhc2Ug
SFRUUENvb2tpZUFjY2VwdFBvbGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoK
KyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1
bWVudERvbWFpbjoKICAgICAgICAgcmV0dXJuIGtXS0hUVFBDb29raWVBY2NlcHRQb2xpY3lFeGNs
dXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IDQ2MDE4N2FiYjg1ZjRj
MjkzOWE2YzYwMzA0MzVlYThlYTc2NWRiNDEuLmEwMzE3OThkZWZiZmQ4NjBmMWFhZTI4YjJiMmQ2
MWNhNWUyMTU2YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXMuY3BwCkBAIC0xMzA3LDcgKzEzMDcsNyBAQCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRJ
bmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dChXS1ByZWZlcmVuY2VzUmVmIHBy
ZQogCiBkb3VibGUgV0tQcmVmZXJlbmNlc0dldEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Np
b25UaW1lb3V0KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiB7Ci0gICAgcmV0dXJu
IHRvQVBJKHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJl
c3Npb25UaW1lb3V0KCkpOworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5pbmNy
ZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dCgpOwogfQogCiB2b2lkIFdLUHJlZmVy
ZW5jZXNTZXRUaHJlYWRlZFNjcm9sbGluZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJl
bmNlc1JlZiwgYm9vbCBlbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5tbQppbmRleCBiMGFjNzZiZWYxMjI5ZDBiM2YwN2ZlODZm
OTcxYWIzMWM2MDQ2MWI5Li5jMDZlMWFmYjMzZmZhMzE4YjdlMjlkZmRjNGYwNjc5NTdhODM4YmYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNz
UG9vbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNz
UG9vbC5tbQpAQCAtMjA3LDE3ICsyMDcsMTcgQEAgc3RhdGljIFdlYktpdDo6SFRUUENvb2tpZUFj
Y2VwdFBvbGljeSB0b0hUVFBDb29raWVBY2NlcHRQb2xpY3koTlNIVFRQQ29va2llQWNjZXAKIHsK
ICAgICBzd2l0Y2ggKHN0YXRpY19jYXN0PE5TVUludGVnZXI+KHBvbGljeSkpIHsKICAgICBjYXNl
IE5TSFRUUENvb2tpZUFjY2VwdFBvbGljeUFsd2F5czoKLSAgICAgICAgcmV0dXJuIFdlYktpdDo6
SFRUUENvb2tpZUFjY2VwdFBvbGljeUFsd2F5czsKKyAgICAgICAgcmV0dXJuIFdlYktpdDo6SFRU
UENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzQWNjZXB0OwogICAgIGNhc2UgTlNIVFRQQ29va2ll
QWNjZXB0UG9saWN5TmV2ZXI6Ci0gICAgICAgIHJldHVybiBXZWJLaXQ6OkhUVFBDb29raWVBY2Nl
cHRQb2xpY3lOZXZlcjsKKyAgICAgICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBv
bGljeTo6TmV2ZXI7CiAgICAgY2FzZSBOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1h
aW5Eb2N1bWVudERvbWFpbjoKLSAgICAgICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2Vw
dFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOworICAgICAgICByZXR1cm4gV2ViS2l0
OjpIVFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKICAg
ICBjYXNlIE5TSFRUUENvb2tpZUFjY2VwdFBvbGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVu
dERvbWFpbjoKLSAgICAgICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeUV4
Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKKyAgICAgICAgcmV0dXJuIFdlYktpdDo6
SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWlu
OwogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBXZWJLaXQ6
OkhUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM7CisgICAgcmV0dXJuIFdlYktpdDo6SFRUUENv
b2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzQWNjZXB0OwogfQogCiAtICh2b2lkKV9zZXRDb29raWVB
Y2NlcHRQb2xpY3k6KE5TSFRUUENvb2tpZUFjY2VwdFBvbGljeSlwb2xpY3kKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdENvb2tpZU1hbmFnZXIuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0Q29va2llTWFuYWdlci5j
cHAKaW5kZXggYTFkZTJjMjdjM2Q5ODBiOTlkOTc3OTNiOTVjMmM1ZmY1ZDUzOGQ5MS4uODMyN2Fl
OTMwODRmOWQxZTcyNjBjZmRjZjE1YjViY2YxYzE3OTlhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0Q29va2llTWFuYWdlci5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0Q29va2llTWFuYWdlci5jcHAKQEAg
LTkwLDExICs5MCwxMSBAQCBzdGF0aWMgaW5saW5lIFNvdXBDb29raWVQZXJzaXN0ZW50U3RvcmFn
ZVR5cGUgdG9Tb3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlKAogc3RhdGljIGlubGluZSBX
ZWJLaXRDb29raWVBY2NlcHRQb2xpY3kgdG9XZWJLaXRDb29raWVBY2NlcHRQb2xpY3koSFRUUENv
b2tpZUFjY2VwdFBvbGljeSBodHRwUG9saWN5KQogewogICAgIHN3aXRjaCAoaHR0cFBvbGljeSkg
ewotICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeUFsd2F5czoKKyAgICBjYXNlIEhUVFBD
b29raWVBY2NlcHRQb2xpY3k6OkFsd2F5c0FjY2VwdDoKICAgICAgICAgcmV0dXJuIFdFQktJVF9D
T09LSUVfUE9MSUNZX0FDQ0VQVF9BTFdBWVM7Ci0gICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9s
aWN5TmV2ZXI6CisgICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpOZXZlcjoKICAgICAg
ICAgcmV0dXJuIFdFQktJVF9DT09LSUVfUE9MSUNZX0FDQ0VQVF9ORVZFUjsKLSAgICBjYXNlIEhU
VFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKKyAgICBjYXNl
IEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgogICAg
ICAgICByZXR1cm4gV0VCS0lUX0NPT0tJRV9QT0xJQ1lfQUNDRVBUX05PX1RISVJEX1BBUlRZOwog
ICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMTA2LDE0ICsx
MDYsMTQgQEAgc3RhdGljIGlubGluZSBIVFRQQ29va2llQWNjZXB0UG9saWN5IHRvSFRUUENvb2tp
ZUFjY2VwdFBvbGljeShXZWJLaXRDb29raWVBY2NlcHQKIHsKICAgICBzd2l0Y2ggKGtpdFBvbGlj
eSkgewogICAgIGNhc2UgV0VCS0lUX0NPT0tJRV9QT0xJQ1lfQUNDRVBUX0FMV0FZUzoKLSAgICAg
ICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM7CisgICAgICAgIHJldHVybiBI
VFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXNBY2NlcHQ7CiAgICAgY2FzZSBXRUJLSVRfQ09P
S0lFX1BPTElDWV9BQ0NFUFRfTkVWRVI6Ci0gICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0
UG9saWN5TmV2ZXI7CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpOZXZl
cjsKICAgICBjYXNlIFdFQktJVF9DT09LSUVfUE9MSUNZX0FDQ0VQVF9OT19USElSRF9QQVJUWToK
LSAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVu
dERvbWFpbjsKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9t
TWFpbkRvY3VtZW50RG9tYWluOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwotICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeUFsd2F5czsKKyAg
ICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5c0FjY2VwdDsKICAgICB9
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFn
ZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJv
eHkuY3BwCmluZGV4IGIxNDRiOWVjYjYyYWQ2MzgxZjU4ZWJkNDgxYjI1ZDMxYWEwZjVjN2IuLjc0
MzI4ODBlOWUzMzYwYWY1YWRmYWFhMjZkZTdhN2Q0NTBjOGJlNjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5LmNwcApAQCAtMjU4LDcgKzI1
OCw3IEBAIHZvaWQgV2ViQ29va2llTWFuYWdlclByb3h5OjpnZXRIVFRQQ29va2llQWNjZXB0UG9s
aWN5KFBBTDo6U2Vzc2lvbklELCBGdW5jdGlvbjx2CiAgICAgcHJvY2Vzc1Bvb2woKS0+c2VuZFRv
TmV0d29ya2luZ1Byb2Nlc3MoTWVzc2FnZXM6OldlYkNvb2tpZU1hbmFnZXI6OkdldEhUVFBDb29r
aWVBY2NlcHRQb2xpY3koY2FsbGJhY2tJRCkpOwogfQogCi12b2lkIFdlYkNvb2tpZU1hbmFnZXJQ
cm94eTo6ZGlkR2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeSh1aW50MzJfdCBwb2xpY3ksIFdlYktp
dDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQordm9pZCBXZWJDb29raWVNYW5hZ2VyUHJveHk6OmRp
ZEdldEhUVFBDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeSBwb2xpY3ks
IFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQogewogICAgIG1fY2FsbGJhY2tzLnRha2U8
SFRUUENvb2tpZUFjY2VwdFBvbGljeUNhbGxiYWNrPihjYWxsYmFja0lEKS0+cGVyZm9ybUNhbGxi
YWNrV2l0aFJldHVyblZhbHVlKHBvbGljeSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oCmluZGV4IGY3M2Y5ZDA1MTA5OGRhZmE5YTE1YjU0
ZDhjZWRjOWEwOGE0ZmYwYjAuLjVlYWFkMjhjNTY2NWI3NTFkOWUzYTg1YzZhNDYxMDNhODMxMTg0
MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94
eS5oCkBAIC03OCw2ICs3OCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGdldENvb2tpZXMoUEFMOjpT
ZXNzaW9uSUQsIGNvbnN0IFVSTCYsIEZ1bmN0aW9uPHZvaWQoY29uc3QgVmVjdG9yPFdlYkNvcmU6
OkNvb2tpZT4mLCBDYWxsYmFja0Jhc2U6OkVycm9yKT4mJiBjb21wbGV0aW9uSGFuZGxlcik7CiAK
ICAgICB2b2lkIHNldEhUVFBDb29raWVBY2NlcHRQb2xpY3koUEFMOjpTZXNzaW9uSUQsIEhUVFBD
b29raWVBY2NlcHRQb2xpY3ksIEZ1bmN0aW9uPHZvaWQgKENhbGxiYWNrQmFzZTo6RXJyb3IpPiYm
KTsKKyAgICB2b2lkIHNldEhUVFBDb29raWVBY2NlcHRQb2xpY3lTeW5jaHJvbm91c2x5Rm9yVGVz
dGluZyhQQUw6OlNlc3Npb25JRCwgSFRUUENvb2tpZUFjY2VwdFBvbGljeSk7CiAgICAgdm9pZCBn
ZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KFBBTDo6U2Vzc2lvbklELCBGdW5jdGlvbjx2b2lkIChI
VFRQQ29va2llQWNjZXB0UG9saWN5LCBDYWxsYmFja0Jhc2U6OkVycm9yKT4mJik7CiAKICAgICB2
b2lkIHNldFN0b3JhZ2VBY2Nlc3NBUElFbmFibGVkKGJvb2wpOwpAQCAtMTA5LDcgKzExMCw3IEBA
IHByaXZhdGU6CiAgICAgV2ViQ29va2llTWFuYWdlclByb3h5KFdlYlByb2Nlc3NQb29sKik7CiAK
ICAgICB2b2lkIGRpZEdldEhvc3RuYW1lc1dpdGhDb29raWVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiwgV2ViS2l0OjpDYWxsYmFja0lEKTsKLSAgICB2b2lkIGRpZEdldEhUVFBDb29raWVBY2NlcHRQ
b2xpY3kodWludDMyX3QgcG9saWN5LCBXZWJLaXQ6OkNhbGxiYWNrSUQpOworICAgIHZvaWQgZGlk
R2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeShIVFRQQ29va2llQWNjZXB0UG9saWN5LCBXZWJLaXQ6
OkNhbGxiYWNrSUQpOwogCiAgICAgdm9pZCBkaWRTZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KFdl
YktpdDo6Q2FsbGJhY2tJRCk7CiAgICAgdm9pZCBkaWRTZXRDb29raWVzKFdlYktpdDo6Q2FsbGJh
Y2tJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5h
Z2VyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb29raWVN
YW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggMzNkZjQ5NWMzOTRjYzk5OGU3YThjZjExOGNi
ZTUxODUxYzdhOGUwNy4uYmI2NzIzYzM0YzViZjNkMTgwYWQ4ODQwNDM1N2JiMWJiN2YyNGJlNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5
Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFn
ZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjIsNyArMjIsNyBAQAogCiBtZXNzYWdlcyAtPiBXZWJD
b29raWVNYW5hZ2VyUHJveHkgewogICAgIERpZEdldEhvc3RuYW1lc1dpdGhDb29raWVzKFZlY3Rv
cjxTdHJpbmc+IGhvc3RuYW1lcywgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpOwotICAg
IERpZEdldEhUVFBDb29raWVBY2NlcHRQb2xpY3kodWludDMyX3QgcG9saWN5LCBXZWJLaXQ6OkNh
bGxiYWNrSUQgY2FsbGJhY2tJRCk7CisgICAgRGlkR2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeShl
bnVtOnVpbnQ4X3QgV2ViS2l0OjpIVFRQQ29va2llQWNjZXB0UG9saWN5IHBvbGljeSwgV2ViS2l0
OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpOwogCiAgICAgRGlkU2V0SFRUUENvb2tpZUFjY2VwdFBv
bGljeShXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCk7CiAgICAgRGlkRGVsZXRlQ29va2ll
cyhXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuaAppbmRleCA3MWYyMDUxMmIyNzM0MjU0ZmUxNmU4YzQ5MDkyNmU3Yjlk
Mjg1YzBiLi41NzA2ODUyMGVmYWUxYmVjMGZjZWM0M2IzMzFkN2NiNWRjYzllY2NhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKQEAgLTY4MCw3ICs2ODAsNyBAQCBw
cml2YXRlOgogICAgIFdlYkNvbnRleHRTdXBwbGVtZW50TWFwIG1fc3VwcGxlbWVudHM7CiAKICNp
ZiBVU0UoU09VUCkKLSAgICBIVFRQQ29va2llQWNjZXB0UG9saWN5IG1faW5pdGlhbEhUVFBDb29r
aWVBY2NlcHRQb2xpY3kgeyBIVFRQQ29va2llQWNjZXB0UG9saWN5T25seUZyb21NYWluRG9jdW1l
bnREb21haW4gfTsKKyAgICBIVFRQQ29va2llQWNjZXB0UG9saWN5IG1faW5pdGlhbEhUVFBDb29r
aWVBY2NlcHRQb2xpY3kgeyBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5RnJvbU1haW5Eb2N1
bWVudERvbWFpbiB9OwogICAgIFdlYkNvcmU6OlNvdXBOZXR3b3JrUHJveHlTZXR0aW5ncyBtX25l
dHdvcmtQcm94eVNldHRpbmdzOwogI2VuZGlmCiAgICAgSGFzaFNldDxTdHJpbmcsIEFTQ0lJQ2Fz
ZUluc2Vuc2l0aXZlSGFzaD4gbV91cmxTY2hlbWVzUmVnaXN0ZXJlZEZvckN1c3RvbVByb3RvY29s
czsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372855</attachid>
            <date>2019-06-25 13:09:17 -0700</date>
            <delta_ts>2019-06-25 13:41:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199081-20190625130917.patch</filename>
            <type>text/plain</type>
            <size>24791</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2Nzk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBhMjg5ZDBk
ODM0NjU3ZDAyMmQzYzg2ZDEwZTBiZWNlNGNlNjI1MTdmLi40YmI4N2Y1ZWNhMjAyZjFlODQ3M2Zm
NGE1ZTRkYmIxMDNlMjUzZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAxOS0wNi0yNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgor
CisgICAgICAgIE1ha2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeSBhbiBlbnVtIGNsYXNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTkwODEKKworICAg
ICAgICBSZXZpZXdlZCBieSBNaWNoYWVsIENhdGFuemFybworCisgICAgICAgICogcGFsL3NwaS9j
Zi9DRk5ldHdvcmtTUEkuaDoKKwogMjAxOS0wNi0xOSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0Bh
cHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogTmV0d29yazogcmVwbGFjZSBDRk5l
dHdvcmsgU1BJIHdpdGggbmV3IEFQSSB3aGVyZSBhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDlkZWMyMWEzYTMz
ZjE3NjhlZmQ3N2Y4M2UwMDcxY2Y0MDZjMGZmODEuLmViMmYyN2FhYjk1MjAwZjRlYWViNmQ3ZjYx
YTI3MWE4YTIzZGY3NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTktMDYtMjUgIEFs
ZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNYWtl
IEhUVFBDb29raWVBY2NlcHRQb2xpY3kgYW4gZW51bSBjbGFzcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5MDgxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTWljaGFlbCBDYXRhbnphcm8uCisKKyAgICAgICAgRG9pbmcgc28gcmV2ZWFscyBzb21lIGlu
dGVyZXN0aW5nIGJ1Z3MgaW4gdGhlIEMgQVBJIHRoYXQgYXJlIGFsc28gZml4ZWQ6CisgICAgICAg
IFdLUHJlZmVyZW5jZXNHZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dCB3
YXMgdXNpbmcgaXRzIHRvQVBJIGZ1bmN0aW9uIHRvIGNvbnZlcnQgYSBkb3VibGUgdG8gYSBkb3Vi
bGUgYmVjYXVzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5IHVzZWQgdG8gYmUgYW4gdW5zaWduZWQg
aW50ZWdlci4KKyAgICAgICAgdG9BUEkoV2ViQ29yZTo6TW91c2VCdXR0b24pIHdhcyBhbHNvIHVz
aW5nIHRoZSB0b0FQSShIVFRQQ29va2llQWNjZXB0UG9saWN5KSBiZWNhdXNlIEhUVFBDb29raWVB
Y2NlcHRQb2xpY3kgdXNlZCB0byBiZSBhbiB1bnNpZ25lZCBpbnRlZ2VyLgorICAgICAgICBZaWtl
cyEgIFR5cGUgc2FmZXR5IGlzIG91ciBmcmllbmQuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9Db29raWVzL1dlYkNvb2tpZU1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvQ29va2llcy9tYWMvV2ViQ29va2llTWFuYWdlck1hYy5tbToKKyAgICAgICAgKFdl
YktpdDo6dG9DRkhUVFBDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5KToKKyAgICAgICAgKFdlYktp
dDo6V2ViQ29va2llTWFuYWdlcjo6cGxhdGZvcm1TZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KToK
KyAgICAgICAgKFdlYktpdDo6V2ViQ29va2llTWFuYWdlcjo6cGxhdGZvcm1HZXRIVFRQQ29va2ll
QWNjZXB0UG9saWN5KToKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0Lmg6
CisgICAgICAgIChXZWJLaXQ6OnRvQVBJKToKKyAgICAgICAgKiBTaGFyZWQvSFRUUENvb2tpZUFj
Y2VwdFBvbGljeS5oOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0MvV0tBUElDYXN0Lmg6CisgICAgICAgIChXZWJLaXQ6OnRvSFRUUENvb2tpZUFjY2VwdFBv
bGljeSk6CisgICAgICAgIChXZWJLaXQ6OnRvQVBJKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0SW5jcmVtZW50
YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tQcm9jZXNzUG9vbC5tbToKKyAgICAgICAgKHRvSFRUUENvb2tpZUFjY2VwdFBvbGlj
eSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkNvb2tpZU1hbmFnZXJQcm94eTo6ZGlkR2V0SFRUUENvb2tpZUFjY2Vw
dFBvbGljeSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46CisK
IDIwMTktMDYtMjUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IENsb3NlIHNvY2tldHMgd2l0aCB0b28gaGlnaCBmaWxlIGRlc2NyaXB0b3IKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgKaW5kZXggMDg1N2Q0NTdjZWE0NTBi
YTQxMTE3MWFhYjhlZTQxOTc5OWUxNjRhYS4uMzhkYjJjNWQ0NzZiN2VhYTY3NGM4ZTkwMzZmNDg3
MmQ0YjI1OTc1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZO
ZXR3b3JrU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3Jr
U1BJLmgKQEAgLTEwMSw2ICsxMDEsMTQgQEAgdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlQ0ZIVFRQQ29v
a2llU3RvcmFnZSogQ0ZIVFRQQ29va2llU3RvcmFnZVJlZjsKIHR5cGVkZWYgQ0ZJbmRleCBDRlVS
TFJlcXVlc3RQcmlvcml0eTsKIHR5cGVkZWYgaW50IENGSFRUUENvb2tpZVN0b3JhZ2VBY2NlcHRQ
b2xpY3k7CiAKK0NGX0VOVU0oQ0ZIVFRQQ29va2llU3RvcmFnZUFjY2VwdFBvbGljeSkKK3sKKyAg
ICBDRkhUVFBDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5QWx3YXlzID0gMCwKKyAgICBDRkhUVFBD
b29raWVTdG9yYWdlQWNjZXB0UG9saWN5TmV2ZXIgPSAxLAorICAgIENGSFRUUENvb2tpZVN0b3Jh
Z2VBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbiA9IDIsCisgICAgQ0ZIVFRQ
Q29va2llU3RvcmFnZUFjY2VwdFBvbGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFp
biA9IDMsCit9OworCiAjaWZkZWYgX19CTE9DS1NfXwogdHlwZWRlZiB2b2lkICheQ0ZDYWNoZWRV
UkxSZXNwb25zZUNhbGxCYWNrQmxvY2spKENGQ2FjaGVkVVJMUmVzcG9uc2VSZWYpOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvV2ViQ29v
a2llTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29v
a2llcy9XZWJDb29raWVNYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IDA1YmYyNDM2MTgxZWE5MDQx
NDcyZjg4MmVlZjBlZDZhZjdjYTFkNzcuLjUxOGQxMWNmZmUyMmQ2ZDc2MjU3YWQ4ZTI2NmJkNGJk
MjM1ZDY4ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29va2ll
cy9XZWJDb29raWVNYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLm1lc3NhZ2VzLmluCkBAIC0zNSw3ICsz
NSw3IEBACiAgICAgdm9pZCBEZWxldGVDb29raWUoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBz
dHJ1Y3QgV2ViQ29yZTo6Q29va2llIGNvb2tpZSwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNr
SUQpCiAgICAgdm9pZCBEZWxldGVBbGxDb29raWVzTW9kaWZpZWRTaW5jZShQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIFdhbGxUaW1lIHRpbWUsIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lE
KQogCi0gICAgdm9pZCBTZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KHVpbnQzMl90IHBvbGljeSwg
V2ViS2l0OjpPcHRpb25hbENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKKyAgICB2b2lkIFNldEhUVFBD
b29raWVBY2NlcHRQb2xpY3koZW51bTp1aW50OF90IFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBv
bGljeSBwb2xpY3ksIFdlYktpdDo6T3B0aW9uYWxDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAgICAg
dm9pZCBHZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFj
a0lEKQogICAgIAogICAgIHZvaWQgU3RhcnRPYnNlcnZpbmdDb29raWVDaGFuZ2VzKFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvQ29va2llcy9jdXJsL1dlYkNvb2tpZU1hbmFnZXJDdXJsLmNwcCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvQ29va2llcy9jdXJsL1dlYkNvb2tpZU1hbmFnZXJDdXJsLmNwcAppbmRl
eCA0YTgyOWMyNjQ2MTU1MWE3YmQ1ZjJiMDAzMjZkYjU2YzYxMzllMzYwLi44MGYzYjQ5NGI1NTM5
NmU4MzU1YzhkZWQ0OGJmNjhmYjk4OTNjNTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0Nvb2tpZXMvY3VybC9XZWJDb29raWVNYW5hZ2VyQ3VybC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL2N1cmwvV2ViQ29va2llTWFuYWdl
ckN1cmwuY3BwCkBAIC0zNywxNiArMzcsMTYgQEAgdm9pZCBXZWJDb29raWVNYW5hZ2VyOjpwbGF0
Zm9ybVNldEhUVFBDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeQogewog
ICAgIENvb2tpZUFjY2VwdFBvbGljeSBjdXJsUG9saWN5ID0gQ29va2llQWNjZXB0UG9saWN5OjpP
bmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKICAgICBzd2l0Y2ggKHBvbGljeSkgewotICAgIGNh
c2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeUFsd2F5czoKKyAgICBjYXNlIEhUVFBDb29raWVBY2Nl
cHRQb2xpY3k6OkFsd2F5c0FjY2VwdDoKICAgICAgICAgY3VybFBvbGljeSA9IENvb2tpZUFjY2Vw
dFBvbGljeTo6QWx3YXlzOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEhUVFBDb29raWVBY2Nl
cHRQb2xpY3lOZXZlcjoKKyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok5ldmVyOgog
ICAgICAgICBjdXJsUG9saWN5ID0gQ29va2llQWNjZXB0UG9saWN5OjpOZXZlcjsKICAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5T25seUZyb21NYWluRG9jdW1l
bnREb21haW46CisgICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5RnJvbU1haW5E
b2N1bWVudERvbWFpbjoKICAgICAgICAgY3VybFBvbGljeSA9IENvb2tpZUFjY2VwdFBvbGljeTo6
T25seUZyb21NYWluRG9jdW1lbnREb21haW47CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgSFRU
UENvb2tpZUFjY2VwdFBvbGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKKyAg
ICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVu
dERvbWFpbjoKICAgICAgICAgY3VybFBvbGljeSA9IENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVz
aXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC02
MSwxNyArNjEsMTcgQEAgSFRUUENvb2tpZUFjY2VwdFBvbGljeSBXZWJDb29raWVNYW5hZ2VyOjpw
bGF0Zm9ybUdldEhUVFBDb29raWVBY2NlcHRQb2xpY3koKQogICAgIGNvbnN0IGF1dG8mIG5ldHdv
cmtTdG9yYWdlU2Vzc2lvbiA9IG1fcHJvY2Vzcy5kZWZhdWx0U3RvcmFnZVNlc3Npb24oKTsKICAg
ICBzd2l0Y2ggKG5ldHdvcmtTdG9yYWdlU2Vzc2lvbi5jb29raWVTdG9yYWdlKCkuY29va2llQWNj
ZXB0UG9saWN5KG5ldHdvcmtTdG9yYWdlU2Vzc2lvbikpIHsKICAgICBjYXNlIENvb2tpZUFjY2Vw
dFBvbGljeTo6QWx3YXlzOgotICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeUFs
d2F5czsKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5c0FjY2Vw
dDsKICAgICBjYXNlIENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXI6Ci0gICAgICAgIHJldHVybiBI
VFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI7CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNj
ZXB0UG9saWN5OjpOZXZlcjsKICAgICBjYXNlIENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21N
YWluRG9jdW1lbnREb21haW46Ci0gICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5
T25seUZyb21NYWluRG9jdW1lbnREb21haW47CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNj
ZXB0UG9saWN5OjpPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKICAgICBjYXNlIENvb2tpZUFj
Y2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgotICAgICAgICBy
ZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERv
bWFpbjsKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkV4Y2x1c2l2ZWx5
RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLSAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50
RG9tYWluOworICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5RnJvbU1haW5E
b2N1bWVudERvbWFpbjsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvbWFjL1dlYkNvb2tpZU1hbmFnZXJN
YWMubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvbWFjL1dlYkNvb2tp
ZU1hbmFnZXJNYWMubW0KaW5kZXggNzE0OGU3MWEwZWJhMDFiYzliY2I4ZjZkNDJkOGM5M2Y2OTcx
NGUwNi4uMzhkZjA0ZTAxNjZhYzIxMGNlOWMxY2IxNWY4MTcwN2RkYTk0MWI5NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL21hYy9XZWJDb29raWVNYW5h
Z2VyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29va2llcy9tYWMv
V2ViQ29va2llTWFuYWdlck1hYy5tbQpAQCAtMzUsNiArMzUsMjMgQEAKIG5hbWVzcGFjZSBXZWJL
aXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKK3N0YXRpYyBDRkhUVFBDb29raWVTdG9y
YWdlQWNjZXB0UG9saWN5IHRvQ0ZIVFRQQ29va2llU3RvcmFnZUFjY2VwdFBvbGljeShIVFRQQ29v
a2llQWNjZXB0UG9saWN5IHBvbGljeSkKK3sKKyAgICBzd2l0Y2ggKHBvbGljeSkgeworICAgIGNh
c2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzQWNjZXB0OgorICAgICAgICByZXR1cm4g
Q0ZIVFRQQ29va2llU3RvcmFnZUFjY2VwdFBvbGljeUFsd2F5czsKKyAgICBjYXNlIEhUVFBDb29r
aWVBY2NlcHRQb2xpY3k6Ok5ldmVyOgorICAgICAgICByZXR1cm4gQ0ZIVFRQQ29va2llU3RvcmFn
ZUFjY2VwdFBvbGljeU5ldmVyOworICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25s
eUZyb21NYWluRG9jdW1lbnREb21haW46CisgICAgICAgIHJldHVybiBDRkhUVFBDb29raWVTdG9y
YWdlQWNjZXB0UG9saWN5T25seUZyb21NYWluRG9jdW1lbnREb21haW47CisgICAgY2FzZSBIVFRQ
Q29va2llQWNjZXB0UG9saWN5OjpFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW46Cisg
ICAgICAgIHJldHVybiBDRkhUVFBDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5RXhjbHVzaXZlbHlG
cm9tTWFpbkRvY3VtZW50RG9tYWluLAorICAgIH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KworICAgIHJldHVybiBDRkhUVFBDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5QWx3YXlzOworfQor
CiB2b2lkIFdlYkNvb2tpZU1hbmFnZXI6OnBsYXRmb3JtU2V0SFRUUENvb2tpZUFjY2VwdFBvbGlj
eShIVFRQQ29va2llQWNjZXB0UG9saWN5IHBvbGljeSkKIHsKICAgICBBU1NFUlQoaGFzUHJvY2Vz
c1ByaXZpbGVnZShQcm9jZXNzUHJpdmlsZWdlOjpDYW5BY2Nlc3NSYXdDb29raWVzKSk7CkBAIC00
Myw3ICs2MCw3IEBAIHZvaWQgV2ViQ29va2llTWFuYWdlcjo6cGxhdGZvcm1TZXRIVFRQQ29va2ll
QWNjZXB0UG9saWN5KEhUVFBDb29raWVBY2NlcHRQb2xpY3kKIAogICAgIG1fcHJvY2Vzcy5mb3JF
YWNoTmV0d29ya1N0b3JhZ2VTZXNzaW9uKFsmXSAoY29uc3QgYXV0byYgbmV0d29ya1N0b3JhZ2VT
ZXNzaW9uKSB7CiAgICAgICAgIGlmIChhdXRvIGNvb2tpZVN0b3JhZ2UgPSBuZXR3b3JrU3RvcmFn
ZVNlc3Npb24uY29va2llU3RvcmFnZSgpKQotICAgICAgICAgICAgQ0ZIVFRQQ29va2llU3RvcmFn
ZVNldENvb2tpZUFjY2VwdFBvbGljeShjb29raWVTdG9yYWdlLmdldCgpLCBwb2xpY3kpOworICAg
ICAgICAgICAgQ0ZIVFRQQ29va2llU3RvcmFnZVNldENvb2tpZUFjY2VwdFBvbGljeShjb29raWVT
dG9yYWdlLmdldCgpLCB0b0NGSFRUUENvb2tpZVN0b3JhZ2VBY2NlcHRQb2xpY3kocG9saWN5KSk7
CiAgICAgfSk7CiB9CiAKQEAgLTUxLDcgKzY4LDE5IEBAIEhUVFBDb29raWVBY2NlcHRQb2xpY3kg
V2ViQ29va2llTWFuYWdlcjo6cGxhdGZvcm1HZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KCkKIHsK
ICAgICBBU1NFUlQoaGFzUHJvY2Vzc1ByaXZpbGVnZShQcm9jZXNzUHJpdmlsZWdlOjpDYW5BY2Nl
c3NSYXdDb29raWVzKSk7CiAKLSAgICByZXR1cm4gW1tOU0hUVFBDb29raWVTdG9yYWdlIHNoYXJl
ZEhUVFBDb29raWVTdG9yYWdlXSBjb29raWVBY2NlcHRQb2xpY3ldOworICAgIHN3aXRjaCAoW1tO
U0hUVFBDb29raWVTdG9yYWdlIHNoYXJlZEhUVFBDb29raWVTdG9yYWdlXSBjb29raWVBY2NlcHRQ
b2xpY3ldKSB7CisgICAgY2FzZSBOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM6CisgICAg
ICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXNBY2NlcHQ7CisgICAgY2Fz
ZSBOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKKyAg
ICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50
RG9tYWluOworICAgIGNhc2UgTlNIVFRQQ29va2llQWNjZXB0UG9saWN5RXhjbHVzaXZlbHlGcm9t
TWFpbkRvY3VtZW50RG9tYWluOgorICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGlj
eTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOworICAgIGNhc2UgTlNIVFRQQ29v
a2llQWNjZXB0UG9saWN5TmV2ZXI6CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9s
aWN5OjpOZXZlcjsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1
cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzQWNjZXB0OwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29v
a2llcy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvQ29va2llcy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJTb3VwLmNwcAppbmRleCBiODVj
OWFlNmJhM2FkMzU3ODc5MDhiYjhlZjEwMTY5MzkyNjk5NGE4Li5hYjU3MWI2M2YxYTRmMTI1ZWZi
NTc2ZDM5MGE4ZTE1NTUyYTJlYjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0Nvb2tpZXMvc291cC9XZWJDb29raWVNYW5hZ2VyU291cC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL3NvdXAvV2ViQ29va2llTWFuYWdlclNvdXAu
Y3BwCkBAIC00MSwxMyArNDEsMTMgQEAgdm9pZCBXZWJDb29raWVNYW5hZ2VyOjpwbGF0Zm9ybVNl
dEhUVFBDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeQogewogICAgIFNv
dXBDb29raWVKYXJBY2NlcHRQb2xpY3kgc291cFBvbGljeSA9IFNPVVBfQ09PS0lFX0pBUl9BQ0NF
UFRfTk9fVEhJUkRfUEFSVFk7CiAgICAgc3dpdGNoIChwb2xpY3kpIHsKLSAgICBjYXNlIEhUVFBD
b29raWVBY2NlcHRQb2xpY3lBbHdheXM6CisgICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5
OjpBbHdheXNBY2NlcHQ6CiAgICAgICAgIHNvdXBQb2xpY3kgPSBTT1VQX0NPT0tJRV9KQVJfQUND
RVBUX0FMV0FZUzsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9s
aWN5TmV2ZXI6CisgICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpOZXZlcjoKICAgICAg
ICAgc291cFBvbGljeSA9IFNPVVBfQ09PS0lFX0pBUl9BQ0NFUFRfTkVWRVI7CiAgICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50
RG9tYWluOgorICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9j
dW1lbnREb21haW46CiAgICAgICAgIHNvdXBQb2xpY3kgPSBTT1VQX0NPT0tJRV9KQVJfQUNDRVBU
X05PX1RISVJEX1BBUlRZOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC02MSwxNSArNjEsMTUg
QEAgSFRUUENvb2tpZUFjY2VwdFBvbGljeSBXZWJDb29raWVNYW5hZ2VyOjpwbGF0Zm9ybUdldEhU
VFBDb29raWVBY2NlcHRQb2xpY3koKQogewogICAgIHN3aXRjaCAoc291cF9jb29raWVfamFyX2dl
dF9hY2NlcHRfcG9saWN5KG1fcHJvY2Vzcy5kZWZhdWx0U3RvcmFnZVNlc3Npb24oKS5jb29raWVT
dG9yYWdlKCkpKSB7CiAgICAgY2FzZSBTT1VQX0NPT0tJRV9KQVJfQUNDRVBUX0FMV0FZUzoKLSAg
ICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM7CisgICAgICAgIHJldHVy
biBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXNBY2NlcHQ7CiAgICAgY2FzZSBTT1VQX0NP
T0tJRV9KQVJfQUNDRVBUX05FVkVSOgotICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBv
bGljeU5ldmVyOworICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXI7
CiAgICAgY2FzZSBTT1VQX0NPT0tJRV9KQVJfQUNDRVBUX05PX1RISVJEX1BBUlRZOgotICAgICAg
ICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWlu
OworICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9j
dW1lbnREb21haW47CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0
dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKKyAg
ICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9jdW1lbnREb21h
aW47CiB9CiAKIHZvaWQgV2ViQ29va2llTWFuYWdlcjo6c2V0Q29va2llUGVyc2lzdGVudFN0b3Jh
Z2UoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRoLCBT
b3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlIHN0b3JhZ2VUeXBlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oCmluZGV4IDE3NzdmYWVhYzkxMjAyOGExNWVlYmJkMjExN2Y3YTNlNzJh
NDliOTUuLjgxYjE1NGVmZDYwYzQzOGRjYmYyMThkMzg4ZTA1YTRlMzRlNGE3ODIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTg2LDcgKzg2LDcgQEAgc3RydWN0IE5ldHdvcmtQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVy
cyBkZWZhdWx0RGF0YVN0b3JlUGFyYW1ldGVyczsKICAgICAKICNpZiBVU0UoU09VUCkKLSAgICBI
VFRQQ29va2llQWNjZXB0UG9saWN5IGNvb2tpZUFjY2VwdFBvbGljeSB7IEhUVFBDb29raWVBY2Nl
cHRQb2xpY3lBbHdheXMgfTsKKyAgICBIVFRQQ29va2llQWNjZXB0UG9saWN5IGNvb2tpZUFjY2Vw
dFBvbGljeSB7IEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5c0FjY2VwdCB9OwogICAgIGJv
b2wgaWdub3JlVExTRXJyb3JzIHsgZmFsc2UgfTsKICAgICBWZWN0b3I8U3RyaW5nPiBsYW5ndWFn
ZXM7CiAgICAgV2ViQ29yZTo6U291cE5ldHdvcmtQcm94eVNldHRpbmdzIHByb3h5U2V0dGluZ3M7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3Qu
aCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCmluZGV4IDBk
ODdlOTY5NDkzNzE5ZDE5YTIyZjVjZjQ5ZTliNjEwZjFiMzZmNGEuLjE4Y2NlYjIxMWIyNjMxYWRm
N2FkYjhhNDc0NDNlZDQ5ZTM4NmVmMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9j
L1dLU2hhcmVkQVBJQ2FzdC5oCkBAIC01NSw2ICs1NSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9G
cmFtZUxvYWRlclR5cGVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9MYXlvdXRNaWxlc3RvbmUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3Jt
TW91c2VFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1VzZXJDb250ZW50VHlwZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJT
Y3JpcHRUeXBlcy5oPgpAQCAtMzE5LDYgKzMyMCwyOCBAQCBpbmxpbmUgV0tFdmVudE1vdXNlQnV0
dG9uIHRvQVBJKFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbiBtb3VzZUJ1dHRvbikKICAgICByZXR1cm4g
d2tNb3VzZUJ1dHRvbjsKIH0KIAoraW5saW5lIFdLRXZlbnRNb3VzZUJ1dHRvbiB0b0FQSShXZWJD
b3JlOjpNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbikKK3sKKyAgICBXS0V2ZW50TW91c2VCdXR0b24g
d2tNb3VzZUJ1dHRvbiA9IGtXS0V2ZW50TW91c2VCdXR0b25Ob0J1dHRvbjsKKworICAgIHN3aXRj
aCAobW91c2VCdXR0b24pIHsKKyAgICBjYXNlIFdlYkNvcmU6Ok1vdXNlQnV0dG9uOjpOb0J1dHRv
bjoKKyAgICAgICAgd2tNb3VzZUJ1dHRvbiA9IGtXS0V2ZW50TW91c2VCdXR0b25Ob0J1dHRvbjsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBXZWJDb3JlOjpNb3VzZUJ1dHRvbjo6TGVmdEJ1dHRv
bjoKKyAgICAgICAgd2tNb3VzZUJ1dHRvbiA9IGtXS0V2ZW50TW91c2VCdXR0b25MZWZ0QnV0dG9u
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdlYkNvcmU6Ok1vdXNlQnV0dG9uOjpNaWRkbGVC
dXR0b246CisgICAgICAgIHdrTW91c2VCdXR0b24gPSBrV0tFdmVudE1vdXNlQnV0dG9uTWlkZGxl
QnV0dG9uOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdlYkNvcmU6Ok1vdXNlQnV0dG9uOjpS
aWdodEJ1dHRvbjoKKyAgICAgICAgd2tNb3VzZUJ1dHRvbiA9IGtXS0V2ZW50TW91c2VCdXR0b25S
aWdodEJ1dHRvbjsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIHdrTW91c2VC
dXR0b247Cit9CisKIGlubGluZSBXS0NvbnRleHRNZW51SXRlbVRhZyB0b0FQSShXZWJDb3JlOjpD
b250ZXh0TWVudUFjdGlvbiBhY3Rpb24pCiB7CiAgICAgc3dpdGNoIChhY3Rpb24pIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0hUVFBDb29raWVBY2NlcHRQb2xpY3kuaCBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0hUVFBDb29raWVBY2NlcHRQb2xpY3kuaAppbmRleCA0ZmU4MWIz
YzM5YmNmYjI0N2I2ZWU3NWVjNDAxNTEwZDc4N2Y3MjQzLi40NTdjMjM0NGM5Yzg5ODZmZjZlMjMy
MzMwNWEyODQzM2Q4NmVhMGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9IVFRQ
Q29va2llQWNjZXB0UG9saWN5LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvSFRUUENvb2tp
ZUFjY2VwdFBvbGljeS5oCkBAIC0yMywxOSArMjMsMjkgQEAKICAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8K
IAotI2lmbmRlZiBIVFRQQ29va2llQWNjZXB0UG9saWN5X2gKLSNkZWZpbmUgSFRUUENvb2tpZUFj
Y2VwdFBvbGljeV9oCisjcHJhZ21hIG9uY2UKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWVudW0g
ewotICAgIEhUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXMgPSAwLAotICAgIEhUVFBDb29raWVB
Y2NlcHRQb2xpY3lOZXZlciA9IDEsCi0gICAgSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9t
TWFpbkRvY3VtZW50RG9tYWluID0gMiwKLSAgICBIVFRQQ29va2llQWNjZXB0UG9saWN5RXhjbHVz
aXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluID0gMywKK2VudW0gY2xhc3MgSFRUUENvb2tpZUFj
Y2VwdFBvbGljeSA6IHVpbnQ4X3QgeworICAgIEFsd2F5c0FjY2VwdCA9IDAsCisgICAgTmV2ZXIg
PSAxLAorICAgIE9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluID0gMiwKKyAgICBFeGNsdXNpdmVs
eUZyb21NYWluRG9jdW1lbnREb21haW4gPSAzLAogfTsKLXR5cGVkZWYgdW5zaWduZWQgSFRUUENv
b2tpZUFjY2VwdFBvbGljeTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBI
VFRQQ29va2llQWNjZXB0UG9saWN5X2gKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0
cnVjdCBFbnVtVHJhaXRzPFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeT4geworICAgIHVz
aW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYktpdDo6SFRUUENvb2tpZUFjY2Vw
dFBvbGljeSwKKyAgICAgICAgV2ViS2l0OjpIVFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXNB
Y2NlcHQsCisgICAgICAgIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXIsCisg
ICAgICAgIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9jdW1l
bnREb21haW4sCisgICAgICAgIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVz
aXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluCisgICAgPjsKK307CisKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKaW5kZXggYTMwZDU5NzkzYjZiNGRkNWVkZTMz
MDUzNWU3ZjViNWI0MWQ0ZjYzNi4uYzg2NjAzZGRjOTRmZGRlNzhmZjVlN2U4YzNjZjczZDVjZDkz
YzYwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKQEAgLTM2
NywyOSArMzY3LDI5IEBAIGlubGluZSBIVFRQQ29va2llQWNjZXB0UG9saWN5IHRvSFRUUENvb2tp
ZUFjY2VwdFBvbGljeShXS0hUVFBDb29raWVBY2NlcHRQb2xpY3kKIHsKICAgICBzd2l0Y2ggKHBv
bGljeSkgewogICAgIGNhc2Uga1dLSFRUUENvb2tpZUFjY2VwdFBvbGljeUFsd2F5czoKLSAgICAg
ICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM7CisgICAgICAgIHJldHVybiBI
VFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXNBY2NlcHQ7CiAgICAgY2FzZSBrV0tIVFRQQ29v
a2llQWNjZXB0UG9saWN5TmV2ZXI6Ci0gICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9s
aWN5TmV2ZXI7CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpOZXZlcjsK
ICAgICBjYXNlIGtXS0hUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERv
bWFpbjoKLSAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5E
b2N1bWVudERvbWFpbjsKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9u
bHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwogICAgIGNhc2Uga1dLSFRUUENvb2tpZUFjY2VwdFBv
bGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKLSAgICAgICAgcmV0dXJuIEhU
VFBDb29raWVBY2NlcHRQb2xpY3lFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW47Cisg
ICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpFeGNsdXNpdmVseUZyb21NYWlu
RG9jdW1lbnREb21haW47CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAg
cmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM7CisgICAgcmV0dXJuIEhUVFBDb29r
aWVBY2NlcHRQb2xpY3k6OkFsd2F5c0FjY2VwdDsKIH0KIAogaW5saW5lIFdLSFRUUENvb2tpZUFj
Y2VwdFBvbGljeSB0b0FQSShIVFRQQ29va2llQWNjZXB0UG9saWN5IHBvbGljeSkKIHsKICAgICBz
d2l0Y2ggKHBvbGljeSkgewotICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeUFsd2F5czoK
KyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5c0FjY2VwdDoKICAgICAgICAg
cmV0dXJuIGtXS0hUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM7Ci0gICAgY2FzZSBIVFRQQ29v
a2llQWNjZXB0UG9saWN5TmV2ZXI6CisgICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpO
ZXZlcjoKICAgICAgICAgcmV0dXJuIGtXS0hUVFBDb29raWVBY2NlcHRQb2xpY3lOZXZlcjsKLSAg
ICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoK
KyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9t
YWluOgogICAgICAgICByZXR1cm4ga1dLSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFp
bkRvY3VtZW50RG9tYWluOwotICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeUV4Y2x1c2l2
ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKKyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xp
Y3k6OkV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKICAgICAgICAgcmV0dXJuIGtX
S0hUVFBDb29raWVBY2NlcHRQb2xpY3lFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW47
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1By
ZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXMuY3BwCmluZGV4IDQ2MDE4N2FiYjg1ZjRjMjkzOWE2YzYwMzA0MzVlYThlYTc2NWRiNDEuLmEw
MzE3OThkZWZiZmQ4NjBmMWFhZTI4YjJiMmQ2MWNhNWUyMTU2YjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCkBAIC0xMzA3LDcgKzEzMDcs
NyBAQCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9u
VGltZW91dChXS1ByZWZlcmVuY2VzUmVmIHByZQogCiBkb3VibGUgV0tQcmVmZXJlbmNlc0dldElu
Y3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0KFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXNSZWYpCiB7Ci0gICAgcmV0dXJuIHRvQVBJKHRvSW1wbChwcmVmZXJlbmNlc1JlZikt
PmluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0KCkpOworICAgIHJldHVybiB0
b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5pbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGlt
ZW91dCgpOwogfQogCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRUaHJlYWRlZFNjcm9sbGluZ0VuYWJs
ZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5tbQppbmRl
eCBiMGFjNzZiZWYxMjI5ZDBiM2YwN2ZlODZmOTcxYWIzMWM2MDQ2MWI5Li5jMDZlMWFmYjMzZmZh
MzE4YjdlMjlkZmRjNGYwNjc5NTdhODM4YmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5tbQpAQCAtMjA3LDE3ICsyMDcsMTcgQEAg
c3RhdGljIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeSB0b0hUVFBDb29raWVBY2NlcHRQ
b2xpY3koTlNIVFRQQ29va2llQWNjZXAKIHsKICAgICBzd2l0Y2ggKHN0YXRpY19jYXN0PE5TVUlu
dGVnZXI+KHBvbGljeSkpIHsKICAgICBjYXNlIE5TSFRUUENvb2tpZUFjY2VwdFBvbGljeUFsd2F5
czoKLSAgICAgICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeUFsd2F5czsK
KyAgICAgICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzQWNj
ZXB0OwogICAgIGNhc2UgTlNIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI6Ci0gICAgICAgIHJl
dHVybiBXZWJLaXQ6OkhUVFBDb29raWVBY2NlcHRQb2xpY3lOZXZlcjsKKyAgICAgICAgcmV0dXJu
IFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXI7CiAgICAgY2FzZSBOU0hUVFBD
b29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKLSAgICAgICAgcmV0
dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9t
YWluOworICAgICAgICByZXR1cm4gV2ViS2l0OjpIVFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5
RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKICAgICBjYXNlIE5TSFRUUENvb2tpZUFjY2VwdFBvbGlj
eUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKLSAgICAgICAgcmV0dXJuIFdlYktp
dDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFp
bjsKKyAgICAgICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVz
aXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwotICAgIHJldHVybiBXZWJLaXQ6OkhUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM7
CisgICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzQWNjZXB0
OwogfQogCiAtICh2b2lkKV9zZXRDb29raWVBY2NlcHRQb2xpY3k6KE5TSFRUUENvb2tpZUFjY2Vw
dFBvbGljeSlwb2xpY3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdENvb2tpZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0Q29va2llTWFuYWdlci5jcHAKaW5kZXggYTFkZTJjMjdjM2Q5ODBiOTlkOTc3
OTNiOTVjMmM1ZmY1ZDUzOGQ5MS4uODMyN2FlOTMwODRmOWQxZTcyNjBjZmRjZjE1YjViY2YxYzE3
OTlhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0
Q29va2llTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0Q29va2llTWFuYWdlci5jcHAKQEAgLTkwLDExICs5MCwxMSBAQCBzdGF0aWMgaW5saW5l
IFNvdXBDb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUgdG9Tb3VwQ29va2llUGVyc2lzdGVudFN0
b3JhZ2VUeXBlKAogc3RhdGljIGlubGluZSBXZWJLaXRDb29raWVBY2NlcHRQb2xpY3kgdG9XZWJL
aXRDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeSBodHRwUG9saWN5KQog
ewogICAgIHN3aXRjaCAoaHR0cFBvbGljeSkgewotICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBv
bGljeUFsd2F5czoKKyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5c0FjY2Vw
dDoKICAgICAgICAgcmV0dXJuIFdFQktJVF9DT09LSUVfUE9MSUNZX0FDQ0VQVF9BTFdBWVM7Ci0g
ICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI6CisgICAgY2FzZSBIVFRQQ29va2ll
QWNjZXB0UG9saWN5OjpOZXZlcjoKICAgICAgICAgcmV0dXJuIFdFQktJVF9DT09LSUVfUE9MSUNZ
X0FDQ0VQVF9ORVZFUjsKLSAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1h
aW5Eb2N1bWVudERvbWFpbjoKKyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlG
cm9tTWFpbkRvY3VtZW50RG9tYWluOgogICAgICAgICByZXR1cm4gV0VCS0lUX0NPT0tJRV9QT0xJ
Q1lfQUNDRVBUX05PX1RISVJEX1BBUlRZOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwpAQCAtMTA2LDE0ICsxMDYsMTQgQEAgc3RhdGljIGlubGluZSBIVFRQQ29v
a2llQWNjZXB0UG9saWN5IHRvSFRUUENvb2tpZUFjY2VwdFBvbGljeShXZWJLaXRDb29raWVBY2Nl
cHQKIHsKICAgICBzd2l0Y2ggKGtpdFBvbGljeSkgewogICAgIGNhc2UgV0VCS0lUX0NPT0tJRV9Q
T0xJQ1lfQUNDRVBUX0FMV0FZUzoKLSAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xp
Y3lBbHdheXM7CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXNB
Y2NlcHQ7CiAgICAgY2FzZSBXRUJLSVRfQ09PS0lFX1BPTElDWV9BQ0NFUFRfTkVWRVI6Ci0gICAg
ICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI7CisgICAgICAgIHJldHVybiBI
VFRQQ29va2llQWNjZXB0UG9saWN5OjpOZXZlcjsKICAgICBjYXNlIFdFQktJVF9DT09LSUVfUE9M
SUNZX0FDQ0VQVF9OT19USElSRF9QQVJUWToKLSAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2Nl
cHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKKyAgICAgICAgcmV0dXJuIEhUVFBD
b29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwogICAgIGRlZmF1
bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gSFRUUENv
b2tpZUFjY2VwdFBvbGljeUFsd2F5czsKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQ
b2xpY3k6OkFsd2F5c0FjY2VwdDsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuY3BwCmluZGV4IGIxNDRiOWVjYjYyYWQ2Mzgx
ZjU4ZWJkNDgxYjI1ZDMxYWEwZjVjN2IuLjc0MzI4ODBlOWUzMzYwYWY1YWRmYWFhMjZkZTdhN2Q0
NTBjOGJlNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1h
bmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29va2llTWFu
YWdlclByb3h5LmNwcApAQCAtMjU4LDcgKzI1OCw3IEBAIHZvaWQgV2ViQ29va2llTWFuYWdlclBy
b3h5OjpnZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KFBBTDo6U2Vzc2lvbklELCBGdW5jdGlvbjx2
CiAgICAgcHJvY2Vzc1Bvb2woKS0+c2VuZFRvTmV0d29ya2luZ1Byb2Nlc3MoTWVzc2FnZXM6Oldl
YkNvb2tpZU1hbmFnZXI6OkdldEhUVFBDb29raWVBY2NlcHRQb2xpY3koY2FsbGJhY2tJRCkpOwog
fQogCi12b2lkIFdlYkNvb2tpZU1hbmFnZXJQcm94eTo6ZGlkR2V0SFRUUENvb2tpZUFjY2VwdFBv
bGljeSh1aW50MzJfdCBwb2xpY3ksIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQordm9p
ZCBXZWJDb29raWVNYW5hZ2VyUHJveHk6OmRpZEdldEhUVFBDb29raWVBY2NlcHRQb2xpY3koSFRU
UENvb2tpZUFjY2VwdFBvbGljeSBwb2xpY3ksIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lE
KQogewogICAgIG1fY2FsbGJhY2tzLnRha2U8SFRUUENvb2tpZUFjY2VwdFBvbGljeUNhbGxiYWNr
PihjYWxsYmFja0lEKS0+cGVyZm9ybUNhbGxiYWNrV2l0aFJldHVyblZhbHVlKHBvbGljeSk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oCmlu
ZGV4IGY3M2Y5ZDA1MTA5OGRhZmE5YTE1YjU0ZDhjZWRjOWEwOGE0ZmYwYjAuLjY3M2FkNjQwM2Zi
MmI3ZDRkZDk0ZTAxMTBiYzU0OTUyNWIwNmE0YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oCkBAIC0xMDksNyArMTA5LDcgQEAgcHJpdmF0
ZToKICAgICBXZWJDb29raWVNYW5hZ2VyUHJveHkoV2ViUHJvY2Vzc1Bvb2wqKTsKIAogICAgIHZv
aWQgZGlkR2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBXZWJL
aXQ6OkNhbGxiYWNrSUQpOwotICAgIHZvaWQgZGlkR2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeSh1
aW50MzJfdCBwb2xpY3ksIFdlYktpdDo6Q2FsbGJhY2tJRCk7CisgICAgdm9pZCBkaWRHZXRIVFRQ
Q29va2llQWNjZXB0UG9saWN5KEhUVFBDb29raWVBY2NlcHRQb2xpY3ksIFdlYktpdDo6Q2FsbGJh
Y2tJRCk7CiAKICAgICB2b2lkIGRpZFNldEhUVFBDb29raWVBY2NlcHRQb2xpY3koV2ViS2l0OjpD
YWxsYmFja0lEKTsKICAgICB2b2lkIGRpZFNldENvb2tpZXMoV2ViS2l0OjpDYWxsYmFja0lEKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94
eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQ
cm94eS5tZXNzYWdlcy5pbgppbmRleCAzM2RmNDk1YzM5NGNjOTk4ZTdhOGNmMTE4Y2JlNTE4NTFj
N2E4ZTA3Li5iYjY3MjNjMzRjNWJmM2QxODBhZDg4NDA0MzU3YmIxYmI3ZjI0YmU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5
Lm1lc3NhZ2VzLmluCkBAIC0yMiw3ICsyMiw3IEBACiAKIG1lc3NhZ2VzIC0+IFdlYkNvb2tpZU1h
bmFnZXJQcm94eSB7CiAgICAgRGlkR2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoVmVjdG9yPFN0cmlu
Zz4gaG9zdG5hbWVzLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCk7Ci0gICAgRGlkR2V0
SFRUUENvb2tpZUFjY2VwdFBvbGljeSh1aW50MzJfdCBwb2xpY3ksIFdlYktpdDo6Q2FsbGJhY2tJ
RCBjYWxsYmFja0lEKTsKKyAgICBEaWRHZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KGVudW06dWlu
dDhfdCBXZWJLaXQ6OkhUVFBDb29raWVBY2NlcHRQb2xpY3kgcG9saWN5LCBXZWJLaXQ6OkNhbGxi
YWNrSUQgY2FsbGJhY2tJRCk7CiAKICAgICBEaWRTZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KFdl
YktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKTsKICAgICBEaWREZWxldGVDb29raWVzKFdlYktp
dDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5oCmluZGV4IDcxZjIwNTEyYjI3MzQyNTRmZTE2ZThjNDkwOTI2ZTdiOWQyODVjMGIu
LjU3MDY4NTIwZWZhZTFiZWMwZmNlYzQzYjMzMWQ3Y2I1ZGNjOWVjY2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAtNjgwLDcgKzY4MCw3IEBAIHByaXZhdGU6
CiAgICAgV2ViQ29udGV4dFN1cHBsZW1lbnRNYXAgbV9zdXBwbGVtZW50czsKIAogI2lmIFVTRShT
T1VQKQotICAgIEhUVFBDb29raWVBY2NlcHRQb2xpY3kgbV9pbml0aWFsSFRUUENvb2tpZUFjY2Vw
dFBvbGljeSB7IEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFp
biB9OworICAgIEhUVFBDb29raWVBY2NlcHRQb2xpY3kgbV9pbml0aWFsSFRUUENvb2tpZUFjY2Vw
dFBvbGljeSB7IEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9t
YWluIH07CiAgICAgV2ViQ29yZTo6U291cE5ldHdvcmtQcm94eVNldHRpbmdzIG1fbmV0d29ya1By
b3h5U2V0dGluZ3M7CiAjZW5kaWYKICAgICBIYXNoU2V0PFN0cmluZywgQVNDSUlDYXNlSW5zZW5z
aXRpdmVIYXNoPiBtX3VybFNjaGVtZXNSZWdpc3RlcmVkRm9yQ3VzdG9tUHJvdG9jb2xzOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372857</attachid>
            <date>2019-06-25 13:41:18 -0700</date>
            <delta_ts>2019-06-25 14:08:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199081-20190625134117.patch</filename>
            <type>text/plain</type>
            <size>24791</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2Nzk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBhMjg5ZDBk
ODM0NjU3ZDAyMmQzYzg2ZDEwZTBiZWNlNGNlNjI1MTdmLi40YmI4N2Y1ZWNhMjAyZjFlODQ3M2Zm
NGE1ZTRkYmIxMDNlMjUzZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAxOS0wNi0yNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgor
CisgICAgICAgIE1ha2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeSBhbiBlbnVtIGNsYXNzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTkwODEKKworICAg
ICAgICBSZXZpZXdlZCBieSBNaWNoYWVsIENhdGFuemFybworCisgICAgICAgICogcGFsL3NwaS9j
Zi9DRk5ldHdvcmtTUEkuaDoKKwogMjAxOS0wNi0xOSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0Bh
cHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogTmV0d29yazogcmVwbGFjZSBDRk5l
dHdvcmsgU1BJIHdpdGggbmV3IEFQSSB3aGVyZSBhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDlkZWMyMWEzYTMz
ZjE3NjhlZmQ3N2Y4M2UwMDcxY2Y0MDZjMGZmODEuLmViMmYyN2FhYjk1MjAwZjRlYWViNmQ3ZjYx
YTI3MWE4YTIzZGY3NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTktMDYtMjUgIEFs
ZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNYWtl
IEhUVFBDb29raWVBY2NlcHRQb2xpY3kgYW4gZW51bSBjbGFzcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5MDgxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTWljaGFlbCBDYXRhbnphcm8uCisKKyAgICAgICAgRG9pbmcgc28gcmV2ZWFscyBzb21lIGlu
dGVyZXN0aW5nIGJ1Z3MgaW4gdGhlIEMgQVBJIHRoYXQgYXJlIGFsc28gZml4ZWQ6CisgICAgICAg
IFdLUHJlZmVyZW5jZXNHZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dCB3
YXMgdXNpbmcgaXRzIHRvQVBJIGZ1bmN0aW9uIHRvIGNvbnZlcnQgYSBkb3VibGUgdG8gYSBkb3Vi
bGUgYmVjYXVzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5IHVzZWQgdG8gYmUgYW4gdW5zaWduZWQg
aW50ZWdlci4KKyAgICAgICAgdG9BUEkoV2ViQ29yZTo6TW91c2VCdXR0b24pIHdhcyBhbHNvIHVz
aW5nIHRoZSB0b0FQSShIVFRQQ29va2llQWNjZXB0UG9saWN5KSBiZWNhdXNlIEhUVFBDb29raWVB
Y2NlcHRQb2xpY3kgdXNlZCB0byBiZSBhbiB1bnNpZ25lZCBpbnRlZ2VyLgorICAgICAgICBZaWtl
cyEgIFR5cGUgc2FmZXR5IGlzIG91ciBmcmllbmQuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9Db29raWVzL1dlYkNvb2tpZU1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvQ29va2llcy9tYWMvV2ViQ29va2llTWFuYWdlck1hYy5tbToKKyAgICAgICAgKFdl
YktpdDo6dG9DRkhUVFBDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5KToKKyAgICAgICAgKFdlYktp
dDo6V2ViQ29va2llTWFuYWdlcjo6cGxhdGZvcm1TZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KToK
KyAgICAgICAgKFdlYktpdDo6V2ViQ29va2llTWFuYWdlcjo6cGxhdGZvcm1HZXRIVFRQQ29va2ll
QWNjZXB0UG9saWN5KToKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0Lmg6
CisgICAgICAgIChXZWJLaXQ6OnRvQVBJKToKKyAgICAgICAgKiBTaGFyZWQvSFRUUENvb2tpZUFj
Y2VwdFBvbGljeS5oOgorICAgICAgICAoKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0MvV0tBUElDYXN0Lmg6CisgICAgICAgIChXZWJLaXQ6OnRvSFRUUENvb2tpZUFjY2VwdFBv
bGljeSk6CisgICAgICAgIChXZWJLaXQ6OnRvQVBJKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0SW5jcmVtZW50
YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tQcm9jZXNzUG9vbC5tbToKKyAgICAgICAgKHRvSFRUUENvb2tpZUFjY2VwdFBvbGlj
eSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkNvb2tpZU1hbmFnZXJQcm94eTo6ZGlkR2V0SFRUUENvb2tpZUFjY2Vw
dFBvbGljeSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46CisK
IDIwMTktMDYtMjUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IENsb3NlIHNvY2tldHMgd2l0aCB0b28gaGlnaCBmaWxlIGRlc2NyaXB0b3IKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmgKaW5kZXggMDg1N2Q0NTdjZWE0NTBi
YTQxMTE3MWFhYjhlZTQxOTc5OWUxNjRhYS4uMzhkYjJjNWQ0NzZiN2VhYTY3NGM4ZTkwMzZmNDg3
MmQ0YjI1OTc1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZO
ZXR3b3JrU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY2YvQ0ZOZXR3b3Jr
U1BJLmgKQEAgLTEwMSw2ICsxMDEsMTQgQEAgdHlwZWRlZiBzdHJ1Y3QgT3BhcXVlQ0ZIVFRQQ29v
a2llU3RvcmFnZSogQ0ZIVFRQQ29va2llU3RvcmFnZVJlZjsKIHR5cGVkZWYgQ0ZJbmRleCBDRlVS
TFJlcXVlc3RQcmlvcml0eTsKIHR5cGVkZWYgaW50IENGSFRUUENvb2tpZVN0b3JhZ2VBY2NlcHRQ
b2xpY3k7CiAKK0NGX0VOVU0oQ0ZIVFRQQ29va2llU3RvcmFnZUFjY2VwdFBvbGljeSkKK3sKKyAg
ICBDRkhUVFBDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5QWx3YXlzID0gMCwKKyAgICBDRkhUVFBD
b29raWVTdG9yYWdlQWNjZXB0UG9saWN5TmV2ZXIgPSAxLAorICAgIENGSFRUUENvb2tpZVN0b3Jh
Z2VBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbiA9IDIsCisgICAgQ0ZIVFRQ
Q29va2llU3RvcmFnZUFjY2VwdFBvbGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFp
biA9IDMsCit9OworCiAjaWZkZWYgX19CTE9DS1NfXwogdHlwZWRlZiB2b2lkICheQ0ZDYWNoZWRV
UkxSZXNwb25zZUNhbGxCYWNrQmxvY2spKENGQ2FjaGVkVVJMUmVzcG9uc2VSZWYpOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvV2ViQ29v
a2llTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29v
a2llcy9XZWJDb29raWVNYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IDA1YmYyNDM2MTgxZWE5MDQx
NDcyZjg4MmVlZjBlZDZhZjdjYTFkNzcuLjUxOGQxMWNmZmUyMmQ2ZDc2MjU3YWQ4ZTI2NmJkNGJk
MjM1ZDY4ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29va2ll
cy9XZWJDb29raWVNYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLm1lc3NhZ2VzLmluCkBAIC0zNSw3ICsz
NSw3IEBACiAgICAgdm9pZCBEZWxldGVDb29raWUoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBz
dHJ1Y3QgV2ViQ29yZTo6Q29va2llIGNvb2tpZSwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNr
SUQpCiAgICAgdm9pZCBEZWxldGVBbGxDb29raWVzTW9kaWZpZWRTaW5jZShQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIFdhbGxUaW1lIHRpbWUsIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lE
KQogCi0gICAgdm9pZCBTZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KHVpbnQzMl90IHBvbGljeSwg
V2ViS2l0OjpPcHRpb25hbENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKKyAgICB2b2lkIFNldEhUVFBD
b29raWVBY2NlcHRQb2xpY3koZW51bTp1aW50OF90IFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBv
bGljeSBwb2xpY3ksIFdlYktpdDo6T3B0aW9uYWxDYWxsYmFja0lEIGNhbGxiYWNrSUQpCiAgICAg
dm9pZCBHZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFj
a0lEKQogICAgIAogICAgIHZvaWQgU3RhcnRPYnNlcnZpbmdDb29raWVDaGFuZ2VzKFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvQ29va2llcy9jdXJsL1dlYkNvb2tpZU1hbmFnZXJDdXJsLmNwcCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvQ29va2llcy9jdXJsL1dlYkNvb2tpZU1hbmFnZXJDdXJsLmNwcAppbmRl
eCA0YTgyOWMyNjQ2MTU1MWE3YmQ1ZjJiMDAzMjZkYjU2YzYxMzllMzYwLi44MGYzYjQ5NGI1NTM5
NmU4MzU1YzhkZWQ0OGJmNjhmYjk4OTNjNTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0Nvb2tpZXMvY3VybC9XZWJDb29raWVNYW5hZ2VyQ3VybC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL2N1cmwvV2ViQ29va2llTWFuYWdl
ckN1cmwuY3BwCkBAIC0zNywxNiArMzcsMTYgQEAgdm9pZCBXZWJDb29raWVNYW5hZ2VyOjpwbGF0
Zm9ybVNldEhUVFBDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeQogewog
ICAgIENvb2tpZUFjY2VwdFBvbGljeSBjdXJsUG9saWN5ID0gQ29va2llQWNjZXB0UG9saWN5OjpP
bmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKICAgICBzd2l0Y2ggKHBvbGljeSkgewotICAgIGNh
c2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeUFsd2F5czoKKyAgICBjYXNlIEhUVFBDb29raWVBY2Nl
cHRQb2xpY3k6OkFsd2F5c0FjY2VwdDoKICAgICAgICAgY3VybFBvbGljeSA9IENvb2tpZUFjY2Vw
dFBvbGljeTo6QWx3YXlzOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEhUVFBDb29raWVBY2Nl
cHRQb2xpY3lOZXZlcjoKKyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok5ldmVyOgog
ICAgICAgICBjdXJsUG9saWN5ID0gQ29va2llQWNjZXB0UG9saWN5OjpOZXZlcjsKICAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5T25seUZyb21NYWluRG9jdW1l
bnREb21haW46CisgICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5RnJvbU1haW5E
b2N1bWVudERvbWFpbjoKICAgICAgICAgY3VybFBvbGljeSA9IENvb2tpZUFjY2VwdFBvbGljeTo6
T25seUZyb21NYWluRG9jdW1lbnREb21haW47CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgSFRU
UENvb2tpZUFjY2VwdFBvbGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKKyAg
ICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVu
dERvbWFpbjoKICAgICAgICAgY3VybFBvbGljeSA9IENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVz
aXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC02
MSwxNyArNjEsMTcgQEAgSFRUUENvb2tpZUFjY2VwdFBvbGljeSBXZWJDb29raWVNYW5hZ2VyOjpw
bGF0Zm9ybUdldEhUVFBDb29raWVBY2NlcHRQb2xpY3koKQogICAgIGNvbnN0IGF1dG8mIG5ldHdv
cmtTdG9yYWdlU2Vzc2lvbiA9IG1fcHJvY2Vzcy5kZWZhdWx0U3RvcmFnZVNlc3Npb24oKTsKICAg
ICBzd2l0Y2ggKG5ldHdvcmtTdG9yYWdlU2Vzc2lvbi5jb29raWVTdG9yYWdlKCkuY29va2llQWNj
ZXB0UG9saWN5KG5ldHdvcmtTdG9yYWdlU2Vzc2lvbikpIHsKICAgICBjYXNlIENvb2tpZUFjY2Vw
dFBvbGljeTo6QWx3YXlzOgotICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeUFs
d2F5czsKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5c0FjY2Vw
dDsKICAgICBjYXNlIENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXI6Ci0gICAgICAgIHJldHVybiBI
VFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI7CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNj
ZXB0UG9saWN5OjpOZXZlcjsKICAgICBjYXNlIENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21N
YWluRG9jdW1lbnREb21haW46Ci0gICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5
T25seUZyb21NYWluRG9jdW1lbnREb21haW47CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNj
ZXB0UG9saWN5OjpPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKICAgICBjYXNlIENvb2tpZUFj
Y2VwdFBvbGljeTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOgotICAgICAgICBy
ZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERv
bWFpbjsKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkV4Y2x1c2l2ZWx5
RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLSAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50
RG9tYWluOworICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5RnJvbU1haW5E
b2N1bWVudERvbWFpbjsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvbWFjL1dlYkNvb2tpZU1hbmFnZXJN
YWMubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Nvb2tpZXMvbWFjL1dlYkNvb2tp
ZU1hbmFnZXJNYWMubW0KaW5kZXggNzE0OGU3MWEwZWJhMDFiYzliY2I4ZjZkNDJkOGM5M2Y2OTcx
NGUwNi4uZWU0NmFlNWRjNzQ2Y2Y1MmRmYzg1YjAyMzY1OTBjZDg0ZTZhN2MyMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL21hYy9XZWJDb29raWVNYW5h
Z2VyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29va2llcy9tYWMv
V2ViQ29va2llTWFuYWdlck1hYy5tbQpAQCAtMzUsNiArMzUsMjMgQEAKIG5hbWVzcGFjZSBXZWJL
aXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKK3N0YXRpYyBDRkhUVFBDb29raWVTdG9y
YWdlQWNjZXB0UG9saWN5IHRvQ0ZIVFRQQ29va2llU3RvcmFnZUFjY2VwdFBvbGljeShIVFRQQ29v
a2llQWNjZXB0UG9saWN5IHBvbGljeSkKK3sKKyAgICBzd2l0Y2ggKHBvbGljeSkgeworICAgIGNh
c2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzQWNjZXB0OgorICAgICAgICByZXR1cm4g
Q0ZIVFRQQ29va2llU3RvcmFnZUFjY2VwdFBvbGljeUFsd2F5czsKKyAgICBjYXNlIEhUVFBDb29r
aWVBY2NlcHRQb2xpY3k6Ok5ldmVyOgorICAgICAgICByZXR1cm4gQ0ZIVFRQQ29va2llU3RvcmFn
ZUFjY2VwdFBvbGljeU5ldmVyOworICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25s
eUZyb21NYWluRG9jdW1lbnREb21haW46CisgICAgICAgIHJldHVybiBDRkhUVFBDb29raWVTdG9y
YWdlQWNjZXB0UG9saWN5T25seUZyb21NYWluRG9jdW1lbnREb21haW47CisgICAgY2FzZSBIVFRQ
Q29va2llQWNjZXB0UG9saWN5OjpFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW46Cisg
ICAgICAgIHJldHVybiBDRkhUVFBDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5RXhjbHVzaXZlbHlG
cm9tTWFpbkRvY3VtZW50RG9tYWluOworICAgIH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KworICAgIHJldHVybiBDRkhUVFBDb29raWVTdG9yYWdlQWNjZXB0UG9saWN5QWx3YXlzOworfQor
CiB2b2lkIFdlYkNvb2tpZU1hbmFnZXI6OnBsYXRmb3JtU2V0SFRUUENvb2tpZUFjY2VwdFBvbGlj
eShIVFRQQ29va2llQWNjZXB0UG9saWN5IHBvbGljeSkKIHsKICAgICBBU1NFUlQoaGFzUHJvY2Vz
c1ByaXZpbGVnZShQcm9jZXNzUHJpdmlsZWdlOjpDYW5BY2Nlc3NSYXdDb29raWVzKSk7CkBAIC00
Myw3ICs2MCw3IEBAIHZvaWQgV2ViQ29va2llTWFuYWdlcjo6cGxhdGZvcm1TZXRIVFRQQ29va2ll
QWNjZXB0UG9saWN5KEhUVFBDb29raWVBY2NlcHRQb2xpY3kKIAogICAgIG1fcHJvY2Vzcy5mb3JF
YWNoTmV0d29ya1N0b3JhZ2VTZXNzaW9uKFsmXSAoY29uc3QgYXV0byYgbmV0d29ya1N0b3JhZ2VT
ZXNzaW9uKSB7CiAgICAgICAgIGlmIChhdXRvIGNvb2tpZVN0b3JhZ2UgPSBuZXR3b3JrU3RvcmFn
ZVNlc3Npb24uY29va2llU3RvcmFnZSgpKQotICAgICAgICAgICAgQ0ZIVFRQQ29va2llU3RvcmFn
ZVNldENvb2tpZUFjY2VwdFBvbGljeShjb29raWVTdG9yYWdlLmdldCgpLCBwb2xpY3kpOworICAg
ICAgICAgICAgQ0ZIVFRQQ29va2llU3RvcmFnZVNldENvb2tpZUFjY2VwdFBvbGljeShjb29raWVT
dG9yYWdlLmdldCgpLCB0b0NGSFRUUENvb2tpZVN0b3JhZ2VBY2NlcHRQb2xpY3kocG9saWN5KSk7
CiAgICAgfSk7CiB9CiAKQEAgLTUxLDcgKzY4LDE5IEBAIEhUVFBDb29raWVBY2NlcHRQb2xpY3kg
V2ViQ29va2llTWFuYWdlcjo6cGxhdGZvcm1HZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KCkKIHsK
ICAgICBBU1NFUlQoaGFzUHJvY2Vzc1ByaXZpbGVnZShQcm9jZXNzUHJpdmlsZWdlOjpDYW5BY2Nl
c3NSYXdDb29raWVzKSk7CiAKLSAgICByZXR1cm4gW1tOU0hUVFBDb29raWVTdG9yYWdlIHNoYXJl
ZEhUVFBDb29raWVTdG9yYWdlXSBjb29raWVBY2NlcHRQb2xpY3ldOworICAgIHN3aXRjaCAoW1tO
U0hUVFBDb29raWVTdG9yYWdlIHNoYXJlZEhUVFBDb29raWVTdG9yYWdlXSBjb29raWVBY2NlcHRQ
b2xpY3ldKSB7CisgICAgY2FzZSBOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM6CisgICAg
ICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXNBY2NlcHQ7CisgICAgY2Fz
ZSBOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKKyAg
ICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50
RG9tYWluOworICAgIGNhc2UgTlNIVFRQQ29va2llQWNjZXB0UG9saWN5RXhjbHVzaXZlbHlGcm9t
TWFpbkRvY3VtZW50RG9tYWluOgorICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGlj
eTo6RXhjbHVzaXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOworICAgIGNhc2UgTlNIVFRQQ29v
a2llQWNjZXB0UG9saWN5TmV2ZXI6CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9s
aWN5OjpOZXZlcjsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1
cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzQWNjZXB0OwogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ29v
a2llcy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvQ29va2llcy9zb3VwL1dlYkNvb2tpZU1hbmFnZXJTb3VwLmNwcAppbmRleCBiODVj
OWFlNmJhM2FkMzU3ODc5MDhiYjhlZjEwMTY5MzkyNjk5NGE4Li5hYjU3MWI2M2YxYTRmMTI1ZWZi
NTc2ZDM5MGE4ZTE1NTUyYTJlYjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL0Nvb2tpZXMvc291cC9XZWJDb29raWVNYW5hZ2VyU291cC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Db29raWVzL3NvdXAvV2ViQ29va2llTWFuYWdlclNvdXAu
Y3BwCkBAIC00MSwxMyArNDEsMTMgQEAgdm9pZCBXZWJDb29raWVNYW5hZ2VyOjpwbGF0Zm9ybVNl
dEhUVFBDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeQogewogICAgIFNv
dXBDb29raWVKYXJBY2NlcHRQb2xpY3kgc291cFBvbGljeSA9IFNPVVBfQ09PS0lFX0pBUl9BQ0NF
UFRfTk9fVEhJUkRfUEFSVFk7CiAgICAgc3dpdGNoIChwb2xpY3kpIHsKLSAgICBjYXNlIEhUVFBD
b29raWVBY2NlcHRQb2xpY3lBbHdheXM6CisgICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5
OjpBbHdheXNBY2NlcHQ6CiAgICAgICAgIHNvdXBQb2xpY3kgPSBTT1VQX0NPT0tJRV9KQVJfQUND
RVBUX0FMV0FZUzsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9s
aWN5TmV2ZXI6CisgICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpOZXZlcjoKICAgICAg
ICAgc291cFBvbGljeSA9IFNPVVBfQ09PS0lFX0pBUl9BQ0NFUFRfTkVWRVI7CiAgICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50
RG9tYWluOgorICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9j
dW1lbnREb21haW46CiAgICAgICAgIHNvdXBQb2xpY3kgPSBTT1VQX0NPT0tJRV9KQVJfQUNDRVBU
X05PX1RISVJEX1BBUlRZOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC02MSwxNSArNjEsMTUg
QEAgSFRUUENvb2tpZUFjY2VwdFBvbGljeSBXZWJDb29raWVNYW5hZ2VyOjpwbGF0Zm9ybUdldEhU
VFBDb29raWVBY2NlcHRQb2xpY3koKQogewogICAgIHN3aXRjaCAoc291cF9jb29raWVfamFyX2dl
dF9hY2NlcHRfcG9saWN5KG1fcHJvY2Vzcy5kZWZhdWx0U3RvcmFnZVNlc3Npb24oKS5jb29raWVT
dG9yYWdlKCkpKSB7CiAgICAgY2FzZSBTT1VQX0NPT0tJRV9KQVJfQUNDRVBUX0FMV0FZUzoKLSAg
ICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM7CisgICAgICAgIHJldHVy
biBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXNBY2NlcHQ7CiAgICAgY2FzZSBTT1VQX0NP
T0tJRV9KQVJfQUNDRVBUX05FVkVSOgotICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBv
bGljeU5ldmVyOworICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXI7
CiAgICAgY2FzZSBTT1VQX0NPT0tJRV9KQVJfQUNDRVBUX05PX1RISVJEX1BBUlRZOgotICAgICAg
ICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWlu
OworICAgICAgICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9j
dW1lbnREb21haW47CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0
dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKKyAg
ICByZXR1cm4gSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9jdW1lbnREb21h
aW47CiB9CiAKIHZvaWQgV2ViQ29va2llTWFuYWdlcjo6c2V0Q29va2llUGVyc2lzdGVudFN0b3Jh
Z2UoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRoLCBT
b3VwQ29va2llUGVyc2lzdGVudFN0b3JhZ2VUeXBlIHN0b3JhZ2VUeXBlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oCmluZGV4IDE3NzdmYWVhYzkxMjAyOGExNWVlYmJkMjExN2Y3YTNlNzJh
NDliOTUuLjgxYjE1NGVmZDYwYzQzOGRjYmYyMThkMzg4ZTA1YTRlMzRlNGE3ODIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKQEAgLTg2LDcgKzg2LDcgQEAgc3RydWN0IE5ldHdvcmtQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHsKICAgICBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVy
cyBkZWZhdWx0RGF0YVN0b3JlUGFyYW1ldGVyczsKICAgICAKICNpZiBVU0UoU09VUCkKLSAgICBI
VFRQQ29va2llQWNjZXB0UG9saWN5IGNvb2tpZUFjY2VwdFBvbGljeSB7IEhUVFBDb29raWVBY2Nl
cHRQb2xpY3lBbHdheXMgfTsKKyAgICBIVFRQQ29va2llQWNjZXB0UG9saWN5IGNvb2tpZUFjY2Vw
dFBvbGljeSB7IEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5c0FjY2VwdCB9OwogICAgIGJv
b2wgaWdub3JlVExTRXJyb3JzIHsgZmFsc2UgfTsKICAgICBWZWN0b3I8U3RyaW5nPiBsYW5ndWFn
ZXM7CiAgICAgV2ViQ29yZTo6U291cE5ldHdvcmtQcm94eVNldHRpbmdzIHByb3h5U2V0dGluZ3M7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3Qu
aCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCmluZGV4IDBk
ODdlOTY5NDkzNzE5ZDE5YTIyZjVjZjQ5ZTliNjEwZjFiMzZmNGEuLjE4Y2NlYjIxMWIyNjMxYWRm
N2FkYjhhNDc0NDNlZDQ5ZTM4NmVmMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9j
L1dLU2hhcmVkQVBJQ2FzdC5oCkBAIC01NSw2ICs1NSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9G
cmFtZUxvYWRlclR5cGVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9MYXlvdXRNaWxlc3RvbmUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3Jt
TW91c2VFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1VzZXJDb250ZW50VHlwZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJT
Y3JpcHRUeXBlcy5oPgpAQCAtMzE5LDYgKzMyMCwyOCBAQCBpbmxpbmUgV0tFdmVudE1vdXNlQnV0
dG9uIHRvQVBJKFdlYk1vdXNlRXZlbnQ6OkJ1dHRvbiBtb3VzZUJ1dHRvbikKICAgICByZXR1cm4g
d2tNb3VzZUJ1dHRvbjsKIH0KIAoraW5saW5lIFdLRXZlbnRNb3VzZUJ1dHRvbiB0b0FQSShXZWJD
b3JlOjpNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbikKK3sKKyAgICBXS0V2ZW50TW91c2VCdXR0b24g
d2tNb3VzZUJ1dHRvbiA9IGtXS0V2ZW50TW91c2VCdXR0b25Ob0J1dHRvbjsKKworICAgIHN3aXRj
aCAobW91c2VCdXR0b24pIHsKKyAgICBjYXNlIFdlYkNvcmU6Ok1vdXNlQnV0dG9uOjpOb0J1dHRv
bjoKKyAgICAgICAgd2tNb3VzZUJ1dHRvbiA9IGtXS0V2ZW50TW91c2VCdXR0b25Ob0J1dHRvbjsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBXZWJDb3JlOjpNb3VzZUJ1dHRvbjo6TGVmdEJ1dHRv
bjoKKyAgICAgICAgd2tNb3VzZUJ1dHRvbiA9IGtXS0V2ZW50TW91c2VCdXR0b25MZWZ0QnV0dG9u
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdlYkNvcmU6Ok1vdXNlQnV0dG9uOjpNaWRkbGVC
dXR0b246CisgICAgICAgIHdrTW91c2VCdXR0b24gPSBrV0tFdmVudE1vdXNlQnV0dG9uTWlkZGxl
QnV0dG9uOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdlYkNvcmU6Ok1vdXNlQnV0dG9uOjpS
aWdodEJ1dHRvbjoKKyAgICAgICAgd2tNb3VzZUJ1dHRvbiA9IGtXS0V2ZW50TW91c2VCdXR0b25S
aWdodEJ1dHRvbjsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIHdrTW91c2VC
dXR0b247Cit9CisKIGlubGluZSBXS0NvbnRleHRNZW51SXRlbVRhZyB0b0FQSShXZWJDb3JlOjpD
b250ZXh0TWVudUFjdGlvbiBhY3Rpb24pCiB7CiAgICAgc3dpdGNoIChhY3Rpb24pIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0hUVFBDb29raWVBY2NlcHRQb2xpY3kuaCBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0hUVFBDb29raWVBY2NlcHRQb2xpY3kuaAppbmRleCA0ZmU4MWIz
YzM5YmNmYjI0N2I2ZWU3NWVjNDAxNTEwZDc4N2Y3MjQzLi40NTdjMjM0NGM5Yzg5ODZmZjZlMjMy
MzMwNWEyODQzM2Q4NmVhMGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9IVFRQ
Q29va2llQWNjZXB0UG9saWN5LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvSFRUUENvb2tp
ZUFjY2VwdFBvbGljeS5oCkBAIC0yMywxOSArMjMsMjkgQEAKICAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8K
IAotI2lmbmRlZiBIVFRQQ29va2llQWNjZXB0UG9saWN5X2gKLSNkZWZpbmUgSFRUUENvb2tpZUFj
Y2VwdFBvbGljeV9oCisjcHJhZ21hIG9uY2UKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWVudW0g
ewotICAgIEhUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXMgPSAwLAotICAgIEhUVFBDb29raWVB
Y2NlcHRQb2xpY3lOZXZlciA9IDEsCi0gICAgSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9t
TWFpbkRvY3VtZW50RG9tYWluID0gMiwKLSAgICBIVFRQQ29va2llQWNjZXB0UG9saWN5RXhjbHVz
aXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluID0gMywKK2VudW0gY2xhc3MgSFRUUENvb2tpZUFj
Y2VwdFBvbGljeSA6IHVpbnQ4X3QgeworICAgIEFsd2F5c0FjY2VwdCA9IDAsCisgICAgTmV2ZXIg
PSAxLAorICAgIE9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluID0gMiwKKyAgICBFeGNsdXNpdmVs
eUZyb21NYWluRG9jdW1lbnREb21haW4gPSAzLAogfTsKLXR5cGVkZWYgdW5zaWduZWQgSFRUUENv
b2tpZUFjY2VwdFBvbGljeTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBI
VFRQQ29va2llQWNjZXB0UG9saWN5X2gKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0
cnVjdCBFbnVtVHJhaXRzPFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeT4geworICAgIHVz
aW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYktpdDo6SFRUUENvb2tpZUFjY2Vw
dFBvbGljeSwKKyAgICAgICAgV2ViS2l0OjpIVFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXNB
Y2NlcHQsCisgICAgICAgIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXIsCisg
ICAgICAgIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6T25seUZyb21NYWluRG9jdW1l
bnREb21haW4sCisgICAgICAgIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVz
aXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluCisgICAgPjsKK307CisKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKaW5kZXggYTMwZDU5NzkzYjZiNGRkNWVkZTMz
MDUzNWU3ZjViNWI0MWQ0ZjYzNi4uYzg2NjAzZGRjOTRmZGRlNzhmZjVlN2U4YzNjZjczZDVjZDkz
YzYwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKQEAgLTM2
NywyOSArMzY3LDI5IEBAIGlubGluZSBIVFRQQ29va2llQWNjZXB0UG9saWN5IHRvSFRUUENvb2tp
ZUFjY2VwdFBvbGljeShXS0hUVFBDb29raWVBY2NlcHRQb2xpY3kKIHsKICAgICBzd2l0Y2ggKHBv
bGljeSkgewogICAgIGNhc2Uga1dLSFRUUENvb2tpZUFjY2VwdFBvbGljeUFsd2F5czoKLSAgICAg
ICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM7CisgICAgICAgIHJldHVybiBI
VFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXNBY2NlcHQ7CiAgICAgY2FzZSBrV0tIVFRQQ29v
a2llQWNjZXB0UG9saWN5TmV2ZXI6Ci0gICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9s
aWN5TmV2ZXI7CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpOZXZlcjsK
ICAgICBjYXNlIGtXS0hUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERv
bWFpbjoKLSAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5E
b2N1bWVudERvbWFpbjsKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9u
bHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwogICAgIGNhc2Uga1dLSFRUUENvb2tpZUFjY2VwdFBv
bGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKLSAgICAgICAgcmV0dXJuIEhU
VFBDb29raWVBY2NlcHRQb2xpY3lFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW47Cisg
ICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpFeGNsdXNpdmVseUZyb21NYWlu
RG9jdW1lbnREb21haW47CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAg
cmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM7CisgICAgcmV0dXJuIEhUVFBDb29r
aWVBY2NlcHRQb2xpY3k6OkFsd2F5c0FjY2VwdDsKIH0KIAogaW5saW5lIFdLSFRUUENvb2tpZUFj
Y2VwdFBvbGljeSB0b0FQSShIVFRQQ29va2llQWNjZXB0UG9saWN5IHBvbGljeSkKIHsKICAgICBz
d2l0Y2ggKHBvbGljeSkgewotICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeUFsd2F5czoK
KyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5c0FjY2VwdDoKICAgICAgICAg
cmV0dXJuIGtXS0hUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM7Ci0gICAgY2FzZSBIVFRQQ29v
a2llQWNjZXB0UG9saWN5TmV2ZXI6CisgICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpO
ZXZlcjoKICAgICAgICAgcmV0dXJuIGtXS0hUVFBDb29raWVBY2NlcHRQb2xpY3lOZXZlcjsKLSAg
ICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoK
KyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9t
YWluOgogICAgICAgICByZXR1cm4ga1dLSFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFp
bkRvY3VtZW50RG9tYWluOwotICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBvbGljeUV4Y2x1c2l2
ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKKyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xp
Y3k6OkV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKICAgICAgICAgcmV0dXJuIGtX
S0hUVFBDb29raWVBY2NlcHRQb2xpY3lFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW47
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1By
ZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXMuY3BwCmluZGV4IDQ2MDE4N2FiYjg1ZjRjMjkzOWE2YzYwMzA0MzVlYThlYTc2NWRiNDEuLmEw
MzE3OThkZWZiZmQ4NjBmMWFhZTI4YjJiMmQ2MWNhNWUyMTU2YjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCkBAIC0xMzA3LDcgKzEzMDcs
NyBAQCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9u
VGltZW91dChXS1ByZWZlcmVuY2VzUmVmIHByZQogCiBkb3VibGUgV0tQcmVmZXJlbmNlc0dldElu
Y3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0KFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXNSZWYpCiB7Ci0gICAgcmV0dXJuIHRvQVBJKHRvSW1wbChwcmVmZXJlbmNlc1JlZikt
PmluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0KCkpOworICAgIHJldHVybiB0
b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5pbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGlt
ZW91dCgpOwogfQogCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRUaHJlYWRlZFNjcm9sbGluZ0VuYWJs
ZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJvY2Vzc1Bvb2wubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5tbQppbmRl
eCBiMGFjNzZiZWYxMjI5ZDBiM2YwN2ZlODZmOTcxYWIzMWM2MDQ2MWI5Li5jMDZlMWFmYjMzZmZh
MzE4YjdlMjlkZmRjNGYwNjc5NTdhODM4YmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5tbQpAQCAtMjA3LDE3ICsyMDcsMTcgQEAg
c3RhdGljIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeSB0b0hUVFBDb29raWVBY2NlcHRQ
b2xpY3koTlNIVFRQQ29va2llQWNjZXAKIHsKICAgICBzd2l0Y2ggKHN0YXRpY19jYXN0PE5TVUlu
dGVnZXI+KHBvbGljeSkpIHsKICAgICBjYXNlIE5TSFRUUENvb2tpZUFjY2VwdFBvbGljeUFsd2F5
czoKLSAgICAgICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeUFsd2F5czsK
KyAgICAgICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzQWNj
ZXB0OwogICAgIGNhc2UgTlNIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI6Ci0gICAgICAgIHJl
dHVybiBXZWJLaXQ6OkhUVFBDb29raWVBY2NlcHRQb2xpY3lOZXZlcjsKKyAgICAgICAgcmV0dXJu
IFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXI7CiAgICAgY2FzZSBOU0hUVFBD
b29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKLSAgICAgICAgcmV0
dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeU9ubHlGcm9tTWFpbkRvY3VtZW50RG9t
YWluOworICAgICAgICByZXR1cm4gV2ViS2l0OjpIVFRQQ29va2llQWNjZXB0UG9saWN5OjpPbmx5
RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKICAgICBjYXNlIE5TSFRUUENvb2tpZUFjY2VwdFBvbGlj
eUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjoKLSAgICAgICAgcmV0dXJuIFdlYktp
dDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeUV4Y2x1c2l2ZWx5RnJvbU1haW5Eb2N1bWVudERvbWFp
bjsKKyAgICAgICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6RXhjbHVz
aXZlbHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwotICAgIHJldHVybiBXZWJLaXQ6OkhUVFBDb29raWVBY2NlcHRQb2xpY3lBbHdheXM7
CisgICAgcmV0dXJuIFdlYktpdDo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzQWNjZXB0
OwogfQogCiAtICh2b2lkKV9zZXRDb29raWVBY2NlcHRQb2xpY3k6KE5TSFRUUENvb2tpZUFjY2Vw
dFBvbGljeSlwb2xpY3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9n
bGliL1dlYktpdENvb2tpZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L2dsaWIvV2ViS2l0Q29va2llTWFuYWdlci5jcHAKaW5kZXggYTFkZTJjMjdjM2Q5ODBiOTlkOTc3
OTNiOTVjMmM1ZmY1ZDUzOGQ5MS4uODMyN2FlOTMwODRmOWQxZTcyNjBjZmRjZjE1YjViY2YxYzE3
OTlhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0
Q29va2llTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0Q29va2llTWFuYWdlci5jcHAKQEAgLTkwLDExICs5MCwxMSBAQCBzdGF0aWMgaW5saW5l
IFNvdXBDb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUgdG9Tb3VwQ29va2llUGVyc2lzdGVudFN0
b3JhZ2VUeXBlKAogc3RhdGljIGlubGluZSBXZWJLaXRDb29raWVBY2NlcHRQb2xpY3kgdG9XZWJL
aXRDb29raWVBY2NlcHRQb2xpY3koSFRUUENvb2tpZUFjY2VwdFBvbGljeSBodHRwUG9saWN5KQog
ewogICAgIHN3aXRjaCAoaHR0cFBvbGljeSkgewotICAgIGNhc2UgSFRUUENvb2tpZUFjY2VwdFBv
bGljeUFsd2F5czoKKyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6OkFsd2F5c0FjY2Vw
dDoKICAgICAgICAgcmV0dXJuIFdFQktJVF9DT09LSUVfUE9MSUNZX0FDQ0VQVF9BTFdBWVM7Ci0g
ICAgY2FzZSBIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI6CisgICAgY2FzZSBIVFRQQ29va2ll
QWNjZXB0UG9saWN5OjpOZXZlcjoKICAgICAgICAgcmV0dXJuIFdFQktJVF9DT09LSUVfUE9MSUNZ
X0FDQ0VQVF9ORVZFUjsKLSAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1h
aW5Eb2N1bWVudERvbWFpbjoKKyAgICBjYXNlIEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlG
cm9tTWFpbkRvY3VtZW50RG9tYWluOgogICAgICAgICByZXR1cm4gV0VCS0lUX0NPT0tJRV9QT0xJ
Q1lfQUNDRVBUX05PX1RISVJEX1BBUlRZOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwpAQCAtMTA2LDE0ICsxMDYsMTQgQEAgc3RhdGljIGlubGluZSBIVFRQQ29v
a2llQWNjZXB0UG9saWN5IHRvSFRUUENvb2tpZUFjY2VwdFBvbGljeShXZWJLaXRDb29raWVBY2Nl
cHQKIHsKICAgICBzd2l0Y2ggKGtpdFBvbGljeSkgewogICAgIGNhc2UgV0VCS0lUX0NPT0tJRV9Q
T0xJQ1lfQUNDRVBUX0FMV0FZUzoKLSAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQb2xp
Y3lBbHdheXM7CisgICAgICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXNB
Y2NlcHQ7CiAgICAgY2FzZSBXRUJLSVRfQ09PS0lFX1BPTElDWV9BQ0NFUFRfTkVWRVI6Ci0gICAg
ICAgIHJldHVybiBIVFRQQ29va2llQWNjZXB0UG9saWN5TmV2ZXI7CisgICAgICAgIHJldHVybiBI
VFRQQ29va2llQWNjZXB0UG9saWN5OjpOZXZlcjsKICAgICBjYXNlIFdFQktJVF9DT09LSUVfUE9M
SUNZX0FDQ0VQVF9OT19USElSRF9QQVJUWToKLSAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2Nl
cHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFpbjsKKyAgICAgICAgcmV0dXJuIEhUVFBD
b29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9tYWluOwogICAgIGRlZmF1
bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm4gSFRUUENv
b2tpZUFjY2VwdFBvbGljeUFsd2F5czsKKyAgICAgICAgcmV0dXJuIEhUVFBDb29raWVBY2NlcHRQ
b2xpY3k6OkFsd2F5c0FjY2VwdDsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkuY3BwCmluZGV4IGIxNDRiOWVjYjYyYWQ2Mzgx
ZjU4ZWJkNDgxYjI1ZDMxYWEwZjVjN2IuLjc0MzI4ODBlOWUzMzYwYWY1YWRmYWFhMjZkZTdhN2Q0
NTBjOGJlNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1h
bmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29va2llTWFu
YWdlclByb3h5LmNwcApAQCAtMjU4LDcgKzI1OCw3IEBAIHZvaWQgV2ViQ29va2llTWFuYWdlclBy
b3h5OjpnZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KFBBTDo6U2Vzc2lvbklELCBGdW5jdGlvbjx2
CiAgICAgcHJvY2Vzc1Bvb2woKS0+c2VuZFRvTmV0d29ya2luZ1Byb2Nlc3MoTWVzc2FnZXM6Oldl
YkNvb2tpZU1hbmFnZXI6OkdldEhUVFBDb29raWVBY2NlcHRQb2xpY3koY2FsbGJhY2tJRCkpOwog
fQogCi12b2lkIFdlYkNvb2tpZU1hbmFnZXJQcm94eTo6ZGlkR2V0SFRUUENvb2tpZUFjY2VwdFBv
bGljeSh1aW50MzJfdCBwb2xpY3ksIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQordm9p
ZCBXZWJDb29raWVNYW5hZ2VyUHJveHk6OmRpZEdldEhUVFBDb29raWVBY2NlcHRQb2xpY3koSFRU
UENvb2tpZUFjY2VwdFBvbGljeSBwb2xpY3ksIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lE
KQogewogICAgIG1fY2FsbGJhY2tzLnRha2U8SFRUUENvb2tpZUFjY2VwdFBvbGljeUNhbGxiYWNr
PihjYWxsYmFja0lEKS0+cGVyZm9ybUNhbGxiYWNrV2l0aFJldHVyblZhbHVlKHBvbGljeSk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oCmlu
ZGV4IGY3M2Y5ZDA1MTA5OGRhZmE5YTE1YjU0ZDhjZWRjOWEwOGE0ZmYwYjAuLjY3M2FkNjQwM2Zi
MmI3ZDRkZDk0ZTAxMTBiYzU0OTUyNWIwNmE0YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5oCkBAIC0xMDksNyArMTA5LDcgQEAgcHJpdmF0
ZToKICAgICBXZWJDb29raWVNYW5hZ2VyUHJveHkoV2ViUHJvY2Vzc1Bvb2wqKTsKIAogICAgIHZv
aWQgZGlkR2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mLCBXZWJL
aXQ6OkNhbGxiYWNrSUQpOwotICAgIHZvaWQgZGlkR2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeSh1
aW50MzJfdCBwb2xpY3ksIFdlYktpdDo6Q2FsbGJhY2tJRCk7CisgICAgdm9pZCBkaWRHZXRIVFRQ
Q29va2llQWNjZXB0UG9saWN5KEhUVFBDb29raWVBY2NlcHRQb2xpY3ksIFdlYktpdDo6Q2FsbGJh
Y2tJRCk7CiAKICAgICB2b2lkIGRpZFNldEhUVFBDb29raWVBY2NlcHRQb2xpY3koV2ViS2l0OjpD
YWxsYmFja0lEKTsKICAgICB2b2lkIGRpZFNldENvb2tpZXMoV2ViS2l0OjpDYWxsYmFja0lEKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94
eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQ
cm94eS5tZXNzYWdlcy5pbgppbmRleCAzM2RmNDk1YzM5NGNjOTk4ZTdhOGNmMTE4Y2JlNTE4NTFj
N2E4ZTA3Li5iYjY3MjNjMzRjNWJmM2QxODBhZDg4NDA0MzU3YmIxYmI3ZjI0YmU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5
Lm1lc3NhZ2VzLmluCkBAIC0yMiw3ICsyMiw3IEBACiAKIG1lc3NhZ2VzIC0+IFdlYkNvb2tpZU1h
bmFnZXJQcm94eSB7CiAgICAgRGlkR2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoVmVjdG9yPFN0cmlu
Zz4gaG9zdG5hbWVzLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCk7Ci0gICAgRGlkR2V0
SFRUUENvb2tpZUFjY2VwdFBvbGljeSh1aW50MzJfdCBwb2xpY3ksIFdlYktpdDo6Q2FsbGJhY2tJ
RCBjYWxsYmFja0lEKTsKKyAgICBEaWRHZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KGVudW06dWlu
dDhfdCBXZWJLaXQ6OkhUVFBDb29raWVBY2NlcHRQb2xpY3kgcG9saWN5LCBXZWJLaXQ6OkNhbGxi
YWNrSUQgY2FsbGJhY2tJRCk7CiAKICAgICBEaWRTZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KFdl
YktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKTsKICAgICBEaWREZWxldGVDb29raWVzKFdlYktp
dDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5oCmluZGV4IDcxZjIwNTEyYjI3MzQyNTRmZTE2ZThjNDkwOTI2ZTdiOWQyODVjMGIu
LjU3MDY4NTIwZWZhZTFiZWMwZmNlYzQzYjMzMWQ3Y2I1ZGNjOWVjY2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaApAQCAtNjgwLDcgKzY4MCw3IEBAIHByaXZhdGU6
CiAgICAgV2ViQ29udGV4dFN1cHBsZW1lbnRNYXAgbV9zdXBwbGVtZW50czsKIAogI2lmIFVTRShT
T1VQKQotICAgIEhUVFBDb29raWVBY2NlcHRQb2xpY3kgbV9pbml0aWFsSFRUUENvb2tpZUFjY2Vw
dFBvbGljeSB7IEhUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJvbU1haW5Eb2N1bWVudERvbWFp
biB9OworICAgIEhUVFBDb29raWVBY2NlcHRQb2xpY3kgbV9pbml0aWFsSFRUUENvb2tpZUFjY2Vw
dFBvbGljeSB7IEhUVFBDb29raWVBY2NlcHRQb2xpY3k6Ok9ubHlGcm9tTWFpbkRvY3VtZW50RG9t
YWluIH07CiAgICAgV2ViQ29yZTo6U291cE5ldHdvcmtQcm94eVNldHRpbmdzIG1fbmV0d29ya1By
b3h5U2V0dGluZ3M7CiAjZW5kaWYKICAgICBIYXNoU2V0PFN0cmluZywgQVNDSUlDYXNlSW5zZW5z
aXRpdmVIYXNoPiBtX3VybFNjaGVtZXNSZWdpc3RlcmVkRm9yQ3VzdG9tUHJvdG9jb2xzOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>