<?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>144841</bug_id>
          
          <creation_ts>2015-05-09 20:58:46 -0700</creation_ts>
          <short_desc>Use Ref instead of PassRefPtr in WebCore/page</short_desc>
          <delta_ts>2015-05-10 22:54:51 -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>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>144092</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>dstockwell</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1093499</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-09 20:58:46 -0700</bug_when>
    <thetext>To kill PassRefPtr, this patch replaces PassRefPtr with Ref or RefPtr in WebCore/page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093501</commentid>
    <comment_count>1</comment_count>
      <attachid>252803</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-09 21:00:24 -0700</bug_when>
    <thetext>Created attachment 252803
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093508</commentid>
    <comment_count>2</comment_count>
      <attachid>252806</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-10 01:04:08 -0700</bug_when>
    <thetext>Created attachment 252806
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093511</commentid>
    <comment_count>3</comment_count>
      <attachid>252808</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-10 02:23:00 -0700</bug_when>
    <thetext>Created attachment 252808
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093565</commentid>
    <comment_count>4</comment_count>
      <attachid>252808</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-05-10 13:43:51 -0700</bug_when>
    <thetext>Comment on attachment 252808
Patch

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

OK to check in as long as you get iOS building.

&gt; Source/WebCore/page/TextIndicator.h:86
&gt;      WEBCORE_EXPORT static PassRefPtr&lt;TextIndicator&gt; createWithSelectionInFrame(Frame&amp;, TextIndicatorPresentationTransition);
&gt;      WEBCORE_EXPORT static PassRefPtr&lt;TextIndicator&gt; createWithRange(const Range&amp;, TextIndicatorPresentationTransition);

Why did these two end up untouched?

&gt; Source/WebCore/page/WebKitPoint.h:39
&gt; +            return adoptRef(*new WebKitPoint());

I like to omit the optional () in cases like this.

&gt; Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.cpp:44
&gt; -RefPtr&lt;ScrollingTreeIOS&gt; ScrollingTreeIOS::create(AsyncScrollingCoordinator* scrollingCoordinator)
&gt; +Ref&lt;ScrollingTreeIOS&gt; ScrollingTreeIOS::create(AsyncScrollingCoordinator* scrollingCoordinator)

page/scrolling/ios/ScrollingTreeIOS.cpp:44:41: error: return type of out-of-line definition of &apos;WebCore::ScrollingTreeIOS::create&apos; differs from that in the declaration

Need to modify the header too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093629</commentid>
    <comment_count>5</comment_count>
      <attachid>252834</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-10 18:33:12 -0700</bug_when>
    <thetext>Created attachment 252834
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093634</commentid>
    <comment_count>6</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-10 19:23:55 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 252808 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=252808&amp;action=review
&gt; 
&gt; OK to check in as long as you get iOS building.

Yes, fixed.

&gt; &gt; Source/WebCore/page/TextIndicator.h:86
&gt; &gt;      WEBCORE_EXPORT static PassRefPtr&lt;TextIndicator&gt; createWithSelectionInFrame(Frame&amp;, TextIndicatorPresentationTransition);
&gt; &gt;      WEBCORE_EXPORT static PassRefPtr&lt;TextIndicator&gt; createWithRange(const Range&amp;, TextIndicatorPresentationTransition);
&gt; 
&gt; Why did these two end up untouched?

Oh, I missed. Fixed too.
 
&gt; &gt; Source/WebCore/page/WebKitPoint.h:39
&gt; &gt; +            return adoptRef(*new WebKitPoint());
&gt; 
&gt; I like to omit the optional () in cases like this.
&gt; 
&gt; &gt; Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.cpp:44
&gt; &gt; -RefPtr&lt;ScrollingTreeIOS&gt; ScrollingTreeIOS::create(AsyncScrollingCoordinator* scrollingCoordinator)
&gt; &gt; +Ref&lt;ScrollingTreeIOS&gt; ScrollingTreeIOS::create(AsyncScrollingCoordinator* scrollingCoordinator)
&gt; 
&gt; page/scrolling/ios/ScrollingTreeIOS.cpp:44:41: error: return type of
&gt; out-of-line definition of &apos;WebCore::ScrollingTreeIOS::create&apos; differs from
&gt; that in the declaration
&gt; 
&gt; Need to modify the header too.

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093635</commentid>
    <comment_count>7</comment_count>
      <attachid>252835</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-05-10 19:25:51 -0700</bug_when>
    <thetext>Created attachment 252835
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093656</commentid>
    <comment_count>8</comment_count>
      <attachid>252835</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-10 22:54:46 -0700</bug_when>
    <thetext>Comment on attachment 252835
Patch for landing

Clearing flags on attachment: 252835

Committed r184066: &lt;http://trac.webkit.org/changeset/184066&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093657</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-10 22:54:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252803</attachid>
            <date>2015-05-09 21:00:24 -0700</date>
            <delta_ts>2015-05-10 01:04:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144841-20150510125904.patch</filename>
            <type>text/plain</type>
            <size>55157</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzOTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODNhNmQyZTkyZTZkMDJm
MDZiYTY3MzgwMWU3MGVkYjUwMzY2OGQ2Mi4uN2E5YjNhNWMwZmUyZGFiOGU5NTUwOWQ3NzMxOGFk
NTM5OWZjNDI3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMCBAQAorMjAxNS0wNS0wOSAgR3l1
eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNlIFJlZiBp
bnN0ZWFkIG9mIFBhc3NSZWZQdHIgaW4gV2ViQ29yZS9wYWdlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUbyBraWxsIFBhc3NSZWZQdHIsIHRoaXMgcGF0
Y2ggcmVwbGFjZXMgUGFzc1JlZlB0ciB3aXRoIFJlZiBvciBSZWZQdHIKKyAgICAgICAgaW4gV2Vi
Q29yZS9wYWdlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlcy4K
KworICAgICAgICAqIHBhZ2UvRGVidWdQYWdlT3ZlcmxheXMuY3BwOgorICAgICAgICAqIHBhZ2Uv
RXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmNyZWF0ZSk6
CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5oOgorICAgICAgICAqIHBhZ2UvSGlzdG9yeS5o
OgorICAgICAgICAoV2ViQ29yZTo6SGlzdG9yeTo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL0xv
Y2F0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpMb2NhdGlvbjo6Y3JlYXRlKToKKyAgICAgICAg
KiBwYWdlL01haW5GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYWluRnJhbWU6OmNyZWF0
ZSk6CisgICAgICAgICogcGFnZS9NYWluRnJhbWUuaDoKKyAgICAgICAgKiBwYWdlL05hdmlnYXRv
ci5oOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHBh
Z2UvUGFnZU92ZXJsYXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZU92ZXJsYXk6OmNyZWF0
ZSk6CisgICAgICAgICogcGFnZS9QYWdlT3ZlcmxheS5oOgorICAgICAgICAqIHBhZ2UvUGVyZm9y
bWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0Lmg6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5TGlzdDo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdl
L1BlcmZvcm1hbmNlTWFyay5oOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VNYXJrOjpj
cmVhdGUpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZU1lYXN1cmU6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9QZXJm
b3JtYW5jZU5hdmlnYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTmF2aWdh
dGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNyZWF0ZSk6
CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5oOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VUaW1pbmc6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVVz
ZXJUaW1pbmcuaDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJUaW1pbmc6OmNyZWF0ZSk6CisgICAg
ICAgICogcGFnZS9TY3JlZW4uaDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNldHRpbmdzOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3Mu
aDoKKyAgICAgICAgKiBwYWdlL1RleHRJbmRpY2F0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dEluZGljYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL1RleHRJbmRpY2F0b3IuaDoK
KyAgICAgICAgKiBwYWdlL1VzZXJDb250ZW50Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpVc2VyQ29udGVudENvbnRyb2xsZXI6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9Vc2Vy
Q29udGVudENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL1VzZXJNZXNzYWdlSGFuZGxlckRl
c2NyaXB0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0
b3I6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXJzTmFtZXNwYWNl
Lmg6CisgICAgICAgICogcGFnZS9WaXNpdGVkTGlua1N0b3JlLmg6CisgICAgICAgICogcGFnZS9X
ZWJLaXROYW1lc3BhY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE5hbWVzcGFjZTo6Y3Jl
YXRlKToKKyAgICAgICAgKiBwYWdlL1dlYktpdFBvaW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJLaXRQb2ludDo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL1dvcmtlck5hdmlnYXRvci5oOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyTmF2aWdhdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHBh
Z2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpJbXBs
aWNpdEFuaW1hdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9LZXlmcmFt
ZUFuaW1hdGlvbi5oOgorICAgICAgICAqIHBhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xs
ZXIuaDoKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6SGlnaGxpZ2h0Ojpj
cmVhdGVGb3JTZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcjo6SGlnaGxpZ2h0OjpjcmVhdGVGb3JUZWxlcGhvbmVOdW1iZXIpOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVGaXhlZE5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3Rh
dGVGaXhlZE5vZGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZUZp
eGVkTm9kZTo6Y2xvbmUpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRl
Rml4ZWROb2RlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFt
ZVNjcm9sbGluZ05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVGcmFt
ZVNjcm9sbGluZ05vZGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0
ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6Y2xvbmUpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6Y2xvbmUpOgorICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmg6
CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6Y2xvbmUpOgorICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5oOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2Uv
c2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUzo6Y3JlYXRl
KToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUlPUy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlSU9TOjpjcmVhdGUpOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLm1tOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nVHJlZUZpeGVkTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGlu
Zy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OmNyZWF0ZSk6CisgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMuY3BwOgorICAgICAgICAo
U2Nyb2xsaW5nVHJlZU1hYzo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMv
U2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdU
cmVlU3RpY2t5Tm9kZTo6Y3JlYXRlKToKKwogMjAxNS0wNS0wOCAgWGFiaWVyIFJvZHJpZ3VleiBD
YWx2YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29tPiBhbmQgWW91ZW5uIEZhYmxldCA8eW91ZW5uLmZh
YmxldEBjcmYuY2Fub24uZnI+CiAKICAgICAgICAgW1N0cmVhbXMgQVBJXSBSZWFkYWJsZVN0cmVh
bSBjb25zdHJ1Y3RvciBzdGFydCBmdW5jdGlvbiBzaG91bGQgYmUgYWJsZSB0byBlcnJvciB0aGUg
c3RyZWFtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWRhN2QwMzI3YjE0NzlkNzhiZjlkOWVlYjQwMDM4MWNiMTE5
N2ZkYy4uMmQ4ODUwODlkNzcxNjMzNzdkOTM0ZTdlY2VlYjUyYzllYjQ1YzY5MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTA1LTA5ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5r
aW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2UgUmVmIGluc3RlYWQgb2YgUGFzc1JlZlB0ciBp
biBXZWJDb3JlL3BhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0NDg0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRvIGtpbGwgUGFzc1JlZlB0ciwgdGhpcyBwYXRjaCByZXBsYWNlcyBQYXNzUmVmUHRy
IHdpdGggUmVmIG9yIFJlZlB0cgorICAgICAgICBpbiBXZWJDb3JlL3BhZ2UuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpzZXRUZXh0SW5kaWNhdG9yKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1VzZXJDb250ZW50
L1dlYlVzZXJDb250ZW50Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlVzZXJD
b250ZW50Q29udHJvbGxlcjo6V2ViVXNlckNvbnRlbnRDb250cm9sbGVyKToKKwogMjAxNS0wNS0w
OCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0dUS10gRXhwb3NlIGFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyBzZXR0aW5nIHRvIFdlYktp
dDIgR1RLKyBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGVidWdQYWdlT3Zl
cmxheXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZWJ1Z1BhZ2VPdmVybGF5cy5jcHAKaW5k
ZXggYzMxNzY1M2MxN2JhMzcyMjMxMjk3ZDlmMzA5MDU1MjFlYTMzNmJkNi4uY2FlNDNkYWQ2YTc0
MDgwNDA3NGVlYjM3YmE4YzQ5OTdmNGMwZDRjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9EZWJ1Z1BhZ2VPdmVybGF5cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZWJ1
Z1BhZ2VPdmVybGF5cy5jcHAKQEAgLTc0LDkgKzc0LDkgQEAgcHJvdGVjdGVkOgogCiBjbGFzcyBN
b3VzZVdoZWVsUmVnaW9uT3ZlcmxheSBmaW5hbCA6IHB1YmxpYyBSZWdpb25PdmVybGF5IHsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxNb3VzZVdoZWVsUmVnaW9uT3ZlcmxheT4gY3Jl
YXRlKE1haW5GcmFtZSYgZnJhbWUpCisgICAgc3RhdGljIFJlZjxNb3VzZVdoZWVsUmVnaW9uT3Zl
cmxheT4gY3JlYXRlKE1haW5GcmFtZSYgZnJhbWUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IE1vdXNlV2hlZWxSZWdpb25PdmVybGF5KGZyYW1lKSk7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IE1vdXNlV2hlZWxSZWdpb25PdmVybGF5KGZyYW1lKSk7CiAgICAgfQog
CiBwcml2YXRlOgpAQCAtMTEzLDkgKzExMyw5IEBAIGJvb2wgTW91c2VXaGVlbFJlZ2lvbk92ZXJs
YXk6OnVwZGF0ZVJlZ2lvbigpCiAKIGNsYXNzIE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uT3Zlcmxh
eSBmaW5hbCA6IHB1YmxpYyBSZWdpb25PdmVybGF5IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbk92ZXJsYXk+IGNyZWF0ZShNYWluRnJhbWUm
IGZyYW1lKQorICAgIHN0YXRpYyBSZWY8Tm9uRmFzdFNjcm9sbGFibGVSZWdpb25PdmVybGF5PiBj
cmVhdGUoTWFpbkZyYW1lJiBmcmFtZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgTm9uRmFzdFNjcm9sbGFibGVSZWdpb25PdmVybGF5KGZyYW1lKSk7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uT3ZlcmxheShmcmFtZSkpOwog
ICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRT
b3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggODU0
YTVhODNjMjVkYWVlMjY1MWI0ZWZhZDdmZmNlN2Y4OWE4YmMxZC4uM2Q3MGRlOTMxZDdjM2RmZDE5
OWVmMTJlY2FkNjY5ZjI2YmVhODQ2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAK
QEAgLTcyLDcgKzcyLDcgQEAgaW5saW5lIEV2ZW50U291cmNlOjpFdmVudFNvdXJjZShTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBVUkwmIHVybCwKICAgICBldmVudFNvdXJj
ZUluaXQuZ2V0KCJ3aXRoQ3JlZGVudGlhbHMiLCBtX3dpdGhDcmVkZW50aWFscyk7CiB9CiAKLVBh
c3NSZWZQdHI8RXZlbnRTb3VyY2U+IEV2ZW50U291cmNlOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IERpY3Rpb25hcnkmIGV2
ZW50U291cmNlSW5pdCwgRXhjZXB0aW9uQ29kZSYgZWMpCitSZWZQdHI8RXZlbnRTb3VyY2U+IEV2
ZW50U291cmNlOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3Qg
U3RyaW5nJiB1cmwsIGNvbnN0IERpY3Rpb25hcnkmIGV2ZW50U291cmNlSW5pdCwgRXhjZXB0aW9u
Q29kZSYgZWMpCiB7CiAgICAgaWYgKHVybC5pc0VtcHR5KCkpIHsKICAgICAgICAgZWMgPSBTWU5U
QVhfRVJSOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCmluZGV4IDUwYzBlNTdlMDAwMzQ1ODRh
Y2RjNDA5MjcyY2VmZGY0ZjBkMTE0NzQuLjdjZGIxMzY4NTkzZjNjOWNlZDFiNjZiYjMwNDI0MDQ4
ZTk2N2JhZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKQEAgLTUxLDcgKzUxLDcgQEAg
Y2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsKIGNsYXNzIEV2ZW50U291cmNlIGZpbmFsIDogcHVibGlj
IFJlZkNvdW50ZWQ8RXZlbnRTb3VyY2U+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0
YSwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0
IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxFdmVudFNvdXJjZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25z
dCBTdHJpbmcmIHVybCwgY29uc3QgRGljdGlvbmFyeSYsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBz
dGF0aWMgUmVmUHRyPEV2ZW50U291cmNlPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBEaWN0aW9uYXJ5JiwgRXhjZXB0aW9uQ29kZSYpOwog
ICAgIHZpcnR1YWwgfkV2ZW50U291cmNlKCk7CiAKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
bG9uZyBsb25nIGRlZmF1bHRSZWNvbm5lY3REZWxheTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvSGlzdG9yeS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9IaXN0b3J5LmgKaW5kZXgg
ZjhlMWZkMTU2N2QzZjY1Mjg1YTljOTI0Zjc4MjBlZDlmOGQ1OGJjOC4uMTQ1NGM0NDYxYThjMjIw
OTk2MjZkZmQ4MTU5Mjk2YzIyOGMyNWVkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9IaXN0b3J5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9IaXN0b3J5LmgKQEAgLTQyLDcg
KzQyLDcgQEAgdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKIAogY2xhc3MgSGlzdG9yeSA6IHB1
YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPEhpc3Rvcnk+LCBwdWJsaWMg
RE9NV2luZG93UHJvcGVydHkgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhpc3Rv
cnk+IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBIaXN0b3J5KGZy
YW1lKSk7IH0KKyAgICBzdGF0aWMgUmVmPEhpc3Rvcnk+IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgSGlzdG9yeShmcmFtZSkpOyB9CiAKICAgICB1bnNpZ25lZCBs
ZW5ndGgoKSBjb25zdDsKICAgICBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gc3Rh
dGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaAppbmRleCAzMzM4ODc5MzRhN2VmMmY3N2I3YWZiYmI0
NDY5OTgxNGI2NzU0NWNhLi45NTY2ZGE0ODc2NWZmNmRkYjQ3OWE2MmUwYWY0ZDI3YjRiNmVmYjIw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5oCkBAIC00Niw3ICs0Niw3IEBAIHR5cGVkZWYgaW50IEV4
Y2VwdGlvbkNvZGU7CiAKIGNsYXNzIExvY2F0aW9uIDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSwg
cHVibGljIFJlZkNvdW50ZWQ8TG9jYXRpb24+LCBwdWJsaWMgRE9NV2luZG93UHJvcGVydHkgewog
cHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPExvY2F0aW9uPiBjcmVhdGUoRnJhbWUqIGZy
YW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgTG9jYXRpb24oZnJhbWUpKTsgfQorICAgIHN0YXRp
YyBSZWY8TG9jYXRpb24+IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgTG9jYXRpb24oZnJhbWUpKTsgfQogCiAgICAgdm9pZCBzZXRIcmVmKGNvbnN0IFN0cmluZyYs
IERPTVdpbmRvdyYgYWN0aXZlV2luZG93LCBET01XaW5kb3cmIGZpcnN0V2luZG93KTsKICAgICBT
dHJpbmcgaHJlZigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NYWlu
RnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwCmluZGV4IDdiN2Uw
MDM5M2Q4MGU5ZDE2YjRjNTRjMDUyMDEwOGVhMjI4MDdmNzIuLmJmZDFlYWM0OWViYWFmMTBjMWZm
MGU3ZWVlZjc2MjQ1MGUzZGFlOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFp
bkZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5jcHAKQEAgLTYx
LDkgKzYxLDkgQEAgTWFpbkZyYW1lOjp+TWFpbkZyYW1lKCkKICAgICAgICAgbV9kaWFnbm9zdGlj
TG9nZ2luZ0NsaWVudC0+bWFpbkZyYW1lRGVzdHJveWVkKCk7CiB9CiAKLVJlZlB0cjxNYWluRnJh
bWU+IE1haW5GcmFtZTo6Y3JlYXRlKFBhZ2UmIHBhZ2UsIFBhZ2VDb25maWd1cmF0aW9uJiBjb25m
aWd1cmF0aW9uKQorUmVmPE1haW5GcmFtZT4gTWFpbkZyYW1lOjpjcmVhdGUoUGFnZSYgcGFnZSwg
UGFnZUNvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24pCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBNYWluRnJhbWUocGFnZSwgY29uZmlndXJhdGlvbikpOworICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IE1haW5GcmFtZShwYWdlLCBjb25maWd1cmF0aW9uKSk7CiB9CiAKIHZvaWQgTWFpbkZy
YW1lOjpzZWxmT25seVJlZigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5G
cmFtZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuaAppbmRleCA5Y2Y4Y2E1ODA0
NjUwZmMxZDJlMmIyMTM5MjBhODkyYmU1NTJiMDY0Li4yODQxMjUzODgwZGQ4ZmQxYjVjZmVmMjY5
M2JjZTFiYjJmNTIwNmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFt
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmgKQEAgLTQwLDcgKzQwLDcg
QEAgY2xhc3MgV2hlZWxFdmVudERlbHRhVHJhY2tlcjsKIAogY2xhc3MgTWFpbkZyYW1lIGZpbmFs
IDogcHVibGljIEZyYW1lIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPE1haW5GcmFtZT4g
Y3JlYXRlKFBhZ2UmLCBQYWdlQ29uZmlndXJhdGlvbiYpOworICAgIHN0YXRpYyBSZWY8TWFpbkZy
YW1lPiBjcmVhdGUoUGFnZSYsIFBhZ2VDb25maWd1cmF0aW9uJik7CiAKICAgICB2aXJ0dWFsIH5N
YWluRnJhbWUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgKaW5kZXggYzZkMzhhYTY4OGExOTNk
ODA2NmNlZWQwZGY0ODU2MGM2OWEwZjBkNS4uMTZhYmRkODY3NzYxNDdmNzFhZDA1YTFiODc1OWMw
ODU1MDQ2MzMyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCkBAIC00MSw3ICs0MSw3IEBAIHR5
cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKIGNsYXNzIE5hdmlnYXRvciA6IHB1YmxpYyBOYXZp
Z2F0b3JCYXNlLCBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlLCBwdWJsaWMgUmVmQ291bnRlZDxOYXZp
Z2F0b3I+LCBwdWJsaWMgRE9NV2luZG93UHJvcGVydHksIHB1YmxpYyBTdXBwbGVtZW50YWJsZTxO
YXZpZ2F0b3I+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxOYXZpZ2F0b3I+IGNy
ZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBOYXZpZ2F0b3IoZnJhbWUp
KTsgfQorICAgIHN0YXRpYyBSZWY8TmF2aWdhdG9yPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJl
dHVybiBhZG9wdFJlZigqbmV3IE5hdmlnYXRvcihmcmFtZSkpOyB9CiAgICAgdmlydHVhbCB+TmF2
aWdhdG9yKCk7CiAKICAgICBTdHJpbmcgYXBwVmVyc2lvbigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VPdmVybGF5LmNwcAppbmRleCA2ZmMzMjQ3YjM3NTM4MTJlYWMzMTJhYWQ1ZDYwYWZjNjRk
ODhhN2Q4Li5hOWI5MWNkMTQxOTVkYzYwYWQ4NjI5YjY2ZjMzYzE1ZWE1Nzg2M2I1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcApAQCAtNDYsOSArNDYsOSBAQCBzdGF0aWMgUGFnZU92
ZXJsYXk6OlBhZ2VPdmVybGF5SUQgZ2VuZXJhdGVQYWdlT3ZlcmxheUlEKCkKICAgICByZXR1cm4g
KytwYWdlT3ZlcmxheUlEOwogfQogCi1QYXNzUmVmUHRyPFBhZ2VPdmVybGF5PiBQYWdlT3Zlcmxh
eTo6Y3JlYXRlKENsaWVudCYgY2xpZW50LCBPdmVybGF5VHlwZSBvdmVybGF5VHlwZSkKK1JlZjxQ
YWdlT3ZlcmxheT4gUGFnZU92ZXJsYXk6OmNyZWF0ZShDbGllbnQmIGNsaWVudCwgT3ZlcmxheVR5
cGUgb3ZlcmxheVR5cGUpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBQYWdlT3ZlcmxheShj
bGllbnQsIG92ZXJsYXlUeXBlKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGFnZU92ZXJs
YXkoY2xpZW50LCBvdmVybGF5VHlwZSkpOwogfQogCiBQYWdlT3ZlcmxheTo6UGFnZU92ZXJsYXko
Q2xpZW50JiBjbGllbnQsIE92ZXJsYXlUeXBlIG92ZXJsYXlUeXBlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
T3ZlcmxheS5oCmluZGV4IDhhYjZjNDU1MDViZGQ0MzY1YWRiM2FiNDJjNWRmZWZhYjE2Y2VjNDAu
LmY3MjM2NTAyZTc3ZDdkYzA2ZDhjNGIyODNkYzJhZTE5NTg5YTZjMDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VPdmVybGF5LmgKQEAgLTY5LDcgKzY5LDcgQEAgcHVibGljOgogICAgICAgICBEb2N1bWVu
dCwgLy8gU2NhbGVzIGFuZCBzY3JvbGxzIHdpdGggdGhlIGRvY3VtZW50LgogICAgIH07CiAKLSAg
ICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUGFzc1JlZlB0cjxQYWdlT3ZlcmxheT4gY3JlYXRlKENs
aWVudCYsIE92ZXJsYXlUeXBlID0gT3ZlcmxheVR5cGU6OlZpZXcpOworICAgIFdFQkNPUkVfRVhQ
T1JUIHN0YXRpYyBSZWY8UGFnZU92ZXJsYXk+IGNyZWF0ZShDbGllbnQmLCBPdmVybGF5VHlwZSA9
IE92ZXJsYXlUeXBlOjpWaWV3KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIH5QYWdlT3Zl
cmxheSgpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgUGFnZU92ZXJsYXlDb250cm9sbGVyKiBjb250
cm9sbGVyKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKaW5kZXggNzZlNDliNGRi
MDUwMDhmNmJjZjA1MmRkZDQ5ODcwMjFhYTE5NTIxZC4uZDI2ODAxODg3NzY3OTc1ZDE1YTRiMWU2
ZjFmMjhjNzhjMjlmOTk0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaApAQCAtNTQsNyAr
NTQsNyBAQCBjbGFzcyBVc2VyVGltaW5nOwogCiBjbGFzcyBQZXJmb3JtYW5jZSBmaW5hbCA6IHB1
YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlPiwgcHVi
bGljIERPTVdpbmRvd1Byb3BlcnR5LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2U+IGNyZWF0ZShGcmFt
ZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQZXJmb3JtYW5jZShmcmFtZSkpOyB9Cisg
ICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZT4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4g
YWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZShmcmFtZSkpOyB9CiAgICAgflBlcmZvcm1hbmNlKCk7
CiAKICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNl
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gUGVyZm9ybWFuY2VFdmVudFRhcmdldEludGVyZmFj
ZVR5cGU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRy
eUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuaAppbmRl
eCBkOTAwMjg3YWRkYmRkNTFkZDRhMzI4YWRjYzk5N2FlYjE3MTY0ODdjLi45N2EyMTJkZDZmZDA1
NDQ3NjZlZDc1NjNjMTc1NmI5MTM2ZDdmZWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZUVudHJ5TGlzdC5oCkBAIC00NSw3ICs0NSw3IEBAIGNsYXNzIFBlcmZvcm1hbmNlRW50
cnk7CiAKIGNsYXNzIFBlcmZvcm1hbmNlRW50cnlMaXN0IDogcHVibGljIFJlZkNvdW50ZWQ8UGVy
Zm9ybWFuY2VFbnRyeUxpc3Q+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxQZXJm
b3JtYW5jZUVudHJ5TGlzdD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFBlcmZvcm1h
bmNlRW50cnlMaXN0KTsgfQorICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IGNy
ZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VFbnRyeUxpc3QpOyB9CiAg
ICAgflBlcmZvcm1hbmNlRW50cnlMaXN0KCk7CiAKICAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VNYXJrLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTWFyay5oCmluZGV4IDY0YjM5YWJmZDAwN2Fl
ZDVjMzAxZWEyNzBmYWQ3ZTQxYWNlZjY3NDkuLmNkNzFhMDI2ZmYzMWQ3MWYxNGVhY2Y4N2RhNTA3
MGUzNmIwN2NhODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VN
YXJrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaApAQCAtMzYs
NyArMzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBlcmZvcm1hbmNlTWFyayA6
IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0
cjxQZXJmb3JtYW5jZU1hcms+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIGRvdWJsZSBzdGFy
dFRpbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQZXJmb3JtYW5jZU1hcmsobmFtZSwgc3RhcnRU
aW1lKSk7IH0KKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlTWFyaz4gY3JlYXRlKGNvbnN0IFN0
cmluZyYgbmFtZSwgZG91YmxlIHN0YXJ0VGltZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJm
b3JtYW5jZU1hcmsobmFtZSwgc3RhcnRUaW1lKSk7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBpc01h
cmsoKSB7IHJldHVybiB0cnVlOyB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU1lYXN1cmUuaAppbmRleCA2NTU2NDk1OWIwNjQ5NzRjNDNmZDc5YzU5NmI2MjJkNzk5NThkZjY4
Li5hZjNlMzZlNTA2MTk0Y2YzMzk4YjhmYWZlZjZiNjI4MzIzYWFmZDM0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmgKQEAgLTM2LDcgKzM2LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBQZXJmb3JtYW5jZU1lYXN1cmUgOiBwdWJsaWMgUGVyZm9ybWFu
Y2VFbnRyeSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VNZWFz
dXJlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUg
ZHVyYXRpb24pIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQZXJmb3JtYW5jZU1lYXN1cmUobmFtZSwg
c3RhcnRUaW1lLCBkdXJhdGlvbikpOyB9CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZU1lYXN1
cmU+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBk
dXJhdGlvbikgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZU1lYXN1cmUobmFtZSwg
c3RhcnRUaW1lLCBkdXJhdGlvbikpOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNNZWFzdXJlKCkg
eyByZXR1cm4gdHJ1ZTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlTmF2aWdhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmln
YXRpb24uaAppbmRleCBmMzk3OTIzZTZhOWRiNDRiMGVmMzQ3YzU0MDIwNGJhOGE2ZThiMWZkLi4y
YWNjNjBiMDI1M2EyYzdkZDY3OWNkMWZkYzg0Zjk1NmVlNDc0MDkwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3Mg
RnJhbWU7CiAKIGNsYXNzIFBlcmZvcm1hbmNlTmF2aWdhdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVk
PFBlcmZvcm1hbmNlTmF2aWdhdGlvbj4sIHB1YmxpYyBET01XaW5kb3dQcm9wZXJ0eSB7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VOYXZpZ2F0aW9uPiBjcmVhdGUo
RnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
KGZyYW1lKSk7IH0KKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlTmF2aWdhdGlvbj4gY3JlYXRl
KEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZU5hdmlnYXRp
b24oZnJhbWUpKTsgfQogCiAgICAgZW51bSBQZXJmb3JtYW5jZU5hdmlnYXRpb25UeXBlIHsKICAg
ICAgICAgVFlQRV9OQVZJR0FURSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nLmgKaW5kZXggZTc4NWE0NjIwMTdjYmJiZjVhMzY1MTlkOTlkY2IwMDEw
ZDZlYTRjYy4uOTlkZmM1YmNkY2RjNzllMzUzZTk0OTM2YzQ4Mjg1MzYxN2M1ZjUzZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgKQEAgLTUw
LDkgKzUwLDkgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKIAogY2xhc3MgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZyA6IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPiBjcmVhdGUoY29uc3Qg
QXRvbWljU3RyaW5nJiBpbml0aWF0b3JUeXBlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUgaW5pdGlhdGlvblRp
bWUsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCogcmVxdWVzdGluZ0RvY3VtZW50KQorICAg
IHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4gY3JlYXRlKGNvbnN0IEF0b21p
Y1N0cmluZyYgaW5pdGlhdG9yVHlwZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgZG91YmxlIGluaXRpYXRpb25UaW1lLCBk
b3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqIHJlcXVlc3RpbmdEb2N1bWVudCkKICAgICB7Ci0g
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyhpbml0
aWF0b3JUeXBlLCByZXF1ZXN0LCByZXNwb25zZSwgaW5pdGlhdGlvblRpbWUsIGZpbmlzaFRpbWUs
IHJlcXVlc3RpbmdEb2N1bWVudCkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nKGluaXRpYXRvclR5cGUsIHJlcXVlc3QsIHJlc3BvbnNlLCBp
bml0aWF0aW9uVGltZSwgZmluaXNoVGltZSwgcmVxdWVzdGluZ0RvY3VtZW50KSk7CiAgICAgfQog
CiAgICAgQXRvbWljU3RyaW5nIGluaXRpYXRvclR5cGUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VUaW1pbmcuaAppbmRleCBiNjE0ZjEzOTUwOTJkM2UxMGNhZWRjMzczYWE2
ZThkNzgyMDE5N2VkLi5lNTQxODhhNTgzODc2ODYzM2VkZTkzMzc0ZjA2NjdiOTE1ZTU5NjE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5oCkBAIC00Nyw3ICs0Nyw3IEBA
IGNsYXNzIFJlc291cmNlTG9hZFRpbWluZzsKIAogY2xhc3MgUGVyZm9ybWFuY2VUaW1pbmcgOiBw
dWJsaWMgUmVmQ291bnRlZDxQZXJmb3JtYW5jZVRpbWluZz4sIHB1YmxpYyBET01XaW5kb3dQcm9w
ZXJ0eSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VUaW1pbmc+
IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQZXJmb3JtYW5jZVRp
bWluZyhmcmFtZSkpOyB9CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZVRpbWluZz4gY3JlYXRl
KEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZVRpbWluZyhm
cmFtZSkpOyB9CiAKICAgICB1bnNpZ25lZCBsb25nIGxvbmcgbmF2aWdhdGlvblN0YXJ0KCkgY29u
c3Q7CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIHVubG9hZEV2ZW50U3RhcnQoKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVXNlclRpbWluZy5oCmluZGV4IDE0YzhjM2Y5
YjFjY2JlNDVhZmVjMDgxNDE0YzFmMDA4NzZmMDA1MDcuLmFhMjNmZGVjMjQ3YzFlYzlkZjE2NTQ3
M2ZjZGY2ODFhMjM4ZWQ4Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VVc2VyVGltaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVVz
ZXJUaW1pbmcuaApAQCAtNDgsNyArNDgsNyBAQCB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBWZWN0
b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+ID4gPiBQZXJmb3JtYW5jZUVudHJ5TWFwOwogCiBj
bGFzcyBVc2VyVGltaW5nIDogcHVibGljIFJlZkNvdW50ZWQ8VXNlclRpbWluZz4gewogcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFVzZXJUaW1pbmc+IGNyZWF0ZShQZXJmb3JtYW5jZSog
cGVyZm9ybWFuY2UpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBVc2VyVGltaW5nKHBlcmZvcm1hbmNl
KSk7IH0KKyAgICBzdGF0aWMgUmVmPFVzZXJUaW1pbmc+IGNyZWF0ZShQZXJmb3JtYW5jZSogcGVy
Zm9ybWFuY2UpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVXNlclRpbWluZyhwZXJmb3JtYW5jZSkp
OyB9CiAKICAgICB2b2lkIG1hcmsoY29uc3QgU3RyaW5nJiBtYXJrTmFtZSwgRXhjZXB0aW9uQ29k
ZSYpOwogICAgIHZvaWQgY2xlYXJNYXJrcyhjb25zdCBTdHJpbmcmIG1hcmtOYW1lKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2NyZWVuLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NjcmVlbi5oCmluZGV4IDk0NzJlMTE5N2U5NjY1ZTAwZGU4MGYzOTQ5NGMyNDE0YTAzMmRhNWYu
LjBlZGNkMWFjZGNiNzdhMDFlNWQ3ZGY5MTk4ODE0MzQyNzRiYzg0MTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2NyZWVuLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TY3Jl
ZW4uaApAQCAtNDEsNyArNDEsNyBAQCBjbGFzcyBGcmFtZTsKIAogY2xhc3MgU2NyZWVuIGZpbmFs
IDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8U2NyZWVuPiwgcHVi
bGljIERPTVdpbmRvd1Byb3BlcnR5IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxT
Y3JlZW4+IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JlZW4o
ZnJhbWUpKTsgfQorICAgIHN0YXRpYyBSZWY8U2NyZWVuPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IFNjcmVlbihmcmFtZSkpOyB9CiAKICAgICB1bnNpZ25lZCBo
ZWlnaHQoKSBjb25zdDsKICAgICB1bnNpZ25lZCB3aWR0aCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmNwcAppbmRleCAxZjBkNzFiMmY0ZDBmZjY4YjQxNmFiNDdkYWQzYjZmNWFlZWY1Nzcw
Li43ODE1ODlhMjA1YjE0YzkwYWZmMTAyODg5NzIyNmE5ZTJmYWM0ZTA3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmNwcApAQCAtMjEzLDkgKzIxMyw5IEBAIFNldHRpbmdzOjp+U2V0dGluZ3MoKQog
ewogfQogCi1QYXNzUmVmUHRyPFNldHRpbmdzPiBTZXR0aW5nczo6Y3JlYXRlKFBhZ2UqIHBhZ2Up
CitSZWY8U2V0dGluZ3M+IFNldHRpbmdzOjpjcmVhdGUoUGFnZSogcGFnZSkKIHsKLSAgICByZXR1
cm4gYWRvcHRSZWYobmV3IFNldHRpbmdzKHBhZ2UpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBTZXR0aW5ncyhwYWdlKSk7CiB9CiAKIFNFVFRJTkdTX1NFVFRFUl9CT0RJRVMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuaAppbmRleCA1NDExNWY5MzAyY2ViOWUzOGNjNDcyMzViMjJlMzc5YTk0OTFhZGQy
Li44ZTBiNTI5OTYxMDkyNDY5YmMwMzhlOGUzZjJmNDkzYmFjMDVlYzFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5oCkBAIC03MSw3ICs3MSw3IEBAIHR5cGVkZWYgdW5zaWduZWQgRGVidWdPdmVybGF5
UmVnaW9uczsKIGNsYXNzIFNldHRpbmdzIDogcHVibGljIFJlZkNvdW50ZWQ8U2V0dGluZ3M+IHsK
ICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXR0aW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNldHRpbmdzPiBjcmVhdGUoUGFn
ZSopOworICAgIHN0YXRpYyBSZWY8U2V0dGluZ3M+IGNyZWF0ZShQYWdlKik7CiAgICAgflNldHRp
bmdzKCk7CiAKICAgICB2b2lkIHBhZ2VEZXN0cm95ZWQoKSB7IG1fcGFnZSA9IG51bGxwdHI7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVGV4dEluZGljYXRvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1RleHRJbmRpY2F0b3IuY3BwCmluZGV4IDlmMTM2NGQzMzkwOWRiNmE3
OWZiNTAxNDgwMjA4ZDM2NWZjMDQ1N2EuLmY2NjIyYTNjZmI3ZWRhZTcwNTNmYzBhYTYxOWY3YmVm
NGQxNzZiNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVGV4dEluZGljYXRvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9UZXh0SW5kaWNhdG9yLmNwcApAQCAtODUsOSAr
ODUsOSBAQCBzdGF0aWMgYm9vbCB0ZXh0SW5kaWNhdG9yc0ZvclRleHRSZWN0c092ZXJsYXAoY29u
c3QgVmVjdG9yPEZsb2F0UmVjdD4mIHRleHRSZWN0cwogICAgIHJldHVybiBmYWxzZTsKIH0KIAot
UGFzc1JlZlB0cjxUZXh0SW5kaWNhdG9yPiBUZXh0SW5kaWNhdG9yOjpjcmVhdGUoY29uc3QgVGV4
dEluZGljYXRvckRhdGEmIGRhdGEpCitSZWY8VGV4dEluZGljYXRvcj4gVGV4dEluZGljYXRvcjo6
Y3JlYXRlKGNvbnN0IFRleHRJbmRpY2F0b3JEYXRhJiBkYXRhKQogewotICAgIHJldHVybiBhZG9w
dFJlZihuZXcgVGV4dEluZGljYXRvcihkYXRhKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
VGV4dEluZGljYXRvcihkYXRhKSk7CiB9CiAKIFBhc3NSZWZQdHI8VGV4dEluZGljYXRvcj4gVGV4
dEluZGljYXRvcjo6Y3JlYXRlV2l0aFJhbmdlKGNvbnN0IFJhbmdlJiByYW5nZSwgVGV4dEluZGlj
YXRvclByZXNlbnRhdGlvblRyYW5zaXRpb24gcHJlc2VudGF0aW9uVHJhbnNpdGlvbikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVGV4dEluZGljYXRvci5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9UZXh0SW5kaWNhdG9yLmgKaW5kZXggYzY2NGZiNjJlODIyNGUxMGE2ZjVjZjVhYTA1
NDMwZmM2NDZiN2Y4Ny4uYzU1NjEzOGVlNGIxZDllNWY3YTA0NjBhNjQzMzMzNmY0ZmYyNWFmYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9UZXh0SW5kaWNhdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9UZXh0SW5kaWNhdG9yLmgKQEAgLTgxLDcgKzgxLDcgQEAgc3RydWN0
IFRleHRJbmRpY2F0b3JEYXRhIHsKIAogY2xhc3MgVGV4dEluZGljYXRvciA6IHB1YmxpYyBSZWZD
b3VudGVkPFRleHRJbmRpY2F0b3I+IHsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0
aWMgUGFzc1JlZlB0cjxUZXh0SW5kaWNhdG9yPiBjcmVhdGUoY29uc3QgVGV4dEluZGljYXRvckRh
dGEmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmPFRleHRJbmRpY2F0b3I+IGNyZWF0
ZShjb25zdCBUZXh0SW5kaWNhdG9yRGF0YSYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBQ
YXNzUmVmUHRyPFRleHRJbmRpY2F0b3I+IGNyZWF0ZVdpdGhTZWxlY3Rpb25JbkZyYW1lKEZyYW1l
JiwgVGV4dEluZGljYXRvclByZXNlbnRhdGlvblRyYW5zaXRpb24pOwogICAgIFdFQkNPUkVfRVhQ
T1JUIHN0YXRpYyBQYXNzUmVmUHRyPFRleHRJbmRpY2F0b3I+IGNyZWF0ZVdpdGhSYW5nZShjb25z
dCBSYW5nZSYsIFRleHRJbmRpY2F0b3JQcmVzZW50YXRpb25UcmFuc2l0aW9uKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyQ29udGVudENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9Vc2VyQ29udGVudENvbnRyb2xsZXIuY3BwCmluZGV4IDNkNjQ5NGNh
MmUzYWMzMWY2NGNlZTRkNDkwMTE1NDA5ZWRjMTFkYmIuLmVlYTk1MWEyMzZkZGIxM2NkYTEwODUz
NzZjOWJlNGFmNzhjMzZiMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlckNv
bnRlbnRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJDb250ZW50
Q29udHJvbGxlci5jcHAKQEAgLTQ1LDkgKzQ1LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1SZWZQdHI8VXNlckNvbnRlbnRDb250cm9sbGVyPiBVc2VyQ29udGVudENvbnRyb2xsZXI6OmNy
ZWF0ZSgpCitSZWY8VXNlckNvbnRlbnRDb250cm9sbGVyPiBVc2VyQ29udGVudENvbnRyb2xsZXI6
OmNyZWF0ZSgpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBVc2VyQ29udGVudENvbnRyb2xs
ZXIpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFVzZXJDb250ZW50Q29udHJvbGxlcik7CiB9
CiAKIFVzZXJDb250ZW50Q29udHJvbGxlcjo6VXNlckNvbnRlbnRDb250cm9sbGVyKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlckNvbnRlbnRDb250cm9sbGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1VzZXJDb250ZW50Q29udHJvbGxlci5oCmluZGV4IDY2MzAxNGU5ZTY1
MWU4MTAxZDY2ZmM4OGQzZjFkYjNiZTQxYjFkMWYuLmQ5Nzk3ZWE2ZTY5OTdkMDJmNmNiN2IwMDg5
M2ZjNWFjNmJiNWZhZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlckNvbnRl
bnRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyQ29udGVudENvbnRy
b2xsZXIuaApAQCAtNjAsNyArNjAsNyBAQCBzdHJ1Y3QgQWN0aW9uOwogCiBjbGFzcyBVc2VyQ29u
dGVudENvbnRyb2xsZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxVc2VyQ29udGVudENvbnRyb2xsZXI+
IHsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmUHRyPFVzZXJDb250ZW50
Q29udHJvbGxlcj4gY3JlYXRlKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZjxVc2Vy
Q29udGVudENvbnRyb2xsZXI+IGNyZWF0ZSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5Vc2VyQ29u
dGVudENvbnRyb2xsZXIoKTsKIAogICAgIHZvaWQgYWRkUGFnZShQYWdlJik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5oCmluZGV4IDY0
NGJhZTc4NjJiYWM0MzgxNjI5OGUzOGE4YjlmMDQxMzVkYjk5YTQuLjQ0ZGIzYWY4YjYwYjJkY2Y3
NWFlMzdlMTBiMGMyZjcxMTA5MWIyMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
VXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
VXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5oCkBAIC00OCw5ICs0OCw5IEBAIHB1YmxpYzoK
ICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFBvc3RNZXNzYWdlKFVzZXJNZXNzYWdlSGFuZGxlciYs
IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSopID0gMDsKICAgICB9OwogCi0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8VXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvcj4gY3JlYXRlKGNvbnN0IEF0b21pY1N0
cmluZyYgbmFtZSwgRE9NV3JhcHBlcldvcmxkJiB3b3JsZCwgQ2xpZW50JiBjbGllbnQpCisgICAg
c3RhdGljIFJlZjxVc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yPiBjcmVhdGUoY29uc3QgQXRv
bWljU3RyaW5nJiBuYW1lLCBET01XcmFwcGVyV29ybGQmIHdvcmxkLCBDbGllbnQmIGNsaWVudCkK
ICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVXNlck1lc3NhZ2VIYW5kbGVyRGVz
Y3JpcHRvcihuYW1lLCB3b3JsZCwgY2xpZW50KSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3IobmFtZSwgd29ybGQsIGNsaWVudCkpOwog
ICAgIH0KICAgICBXRUJDT1JFX0VYUE9SVCB+VXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvcigp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlcnNO
YW1lc3BhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVz
cGFjZS5oCmluZGV4IDM2ZjliMmRkMGZmMjg3ZjNlZjkzM2I1NTMyNTNmMWFjMWU5NDMyMDUuLjRl
ZWNiNTAzYmMxYTRhYTJiMjRmOWMzYzk3Y2VlMmYzNzdhMTgxYTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5oCkBAIC0zMCw3ICsz
MCw2IEBACiAKICNpbmNsdWRlICJGcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKICNpbmNsdWRl
ICJVc2VyTWVzc2FnZUhhbmRsZXIuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlzaXRl
ZExpbmtTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9WaXNpdGVkTGlua1N0b3JlLmgKaW5k
ZXggM2U0NzAzYzk0NWU4MzdkMzFiNmY4YjY0MzZhZDY5MjJiMTNjYzUyZS4uNDU5NGE1OTJlOGQ2
ZDVhOThmNzA0ZmMwNjU3NmZiYTJjMDVkOGUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9WaXNpdGVkTGlua1N0b3JlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9WaXNpdGVk
TGlua1N0b3JlLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2ViS2l0TmFtZXNwYWNlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1dlYktpdE5hbWVzcGFjZS5oCmluZGV4IDY1OGQwZTE1MThkYzRlMjUxM2JhZGNh
Y2E2MTkzOTE3MDc1MmU1MTAuLmY4NWY0MTkwM2NmZDQ1YWRlOWYzMDdmZWMzZDg5MjM5NmYwYzk5
YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2ViS2l0TmFtZXNwYWNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9XZWJLaXROYW1lc3BhY2UuaApAQCAtMjksNyArMjksNiBA
QAogI2lmIEVOQUJMRShVU0VSX01FU1NBR0VfSEFORExFUlMpCiAKICNpbmNsdWRlICJET01XaW5k
b3dQcm9wZXJ0eS5oIgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTQwLDkgKzM5LDkgQEAg
Y2xhc3MgVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZTsKIAogY2xhc3MgV2ViS2l0TmFtZXNw
YWNlIDogcHVibGljIERPTVdpbmRvd1Byb3BlcnR5LCBwdWJsaWMgUmVmQ291bnRlZDxXZWJLaXRO
YW1lc3BhY2U+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJLaXROYW1lc3Bh
Y2U+IGNyZWF0ZShGcmFtZSYgZnJhbWUpCisgICAgc3RhdGljIFJlZjxXZWJLaXROYW1lc3BhY2U+
IGNyZWF0ZShGcmFtZSYgZnJhbWUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IFdlYktpdE5hbWVzcGFjZShmcmFtZSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBX
ZWJLaXROYW1lc3BhY2UoZnJhbWUpKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5XZWJLaXROYW1l
c3BhY2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2ViS2l0UG9pbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2ViS2l0UG9pbnQuaAppbmRleCA0MDA0NzI0NzY0OTdkZGJl
ODc5NzMwZGI5ZGJlNjdlOTNkZDBlOGQzLi5hOTliNjc0YjA2NTdiMWE3ODVlMTZjOWYxNGE4YzYx
YzQ0YWU0YTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dlYktpdFBvaW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XZWJLaXRQb2ludC5oCkBAIC0zNCwxMyArMzQsMTMg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFdlYktpdFBvaW50IDogcHVibGljIFJl
ZkNvdW50ZWQ8V2ViS2l0UG9pbnQ+IHsKICAgICBwdWJsaWM6CiAKLSAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8V2ViS2l0UG9pbnQ+IGNyZWF0ZSgpCisgICAgICAgIHN0YXRpYyBSZWY8V2ViS2l0
UG9pbnQ+IGNyZWF0ZSgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgV2ViS2l0UG9pbnQoKSk7CisgICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJL
aXRQb2ludCgpKTsKICAgICAgICAgfQotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJLaXRQ
b2ludD4gY3JlYXRlKGZsb2F0IHgsIGZsb2F0IHkpCisgICAgICAgIHN0YXRpYyBSZWY8V2ViS2l0
UG9pbnQ+IGNyZWF0ZShmbG9hdCB4LCBmbG9hdCB5KQogICAgICAgICB7Ci0gICAgICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFdlYktpdFBvaW50KHgsIHkpKTsKKyAgICAgICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFdlYktpdFBvaW50KHgsIHkpKTsKICAgICAgICAgfQogCiAgICAgICAg
IGZsb2F0IHgoKSBjb25zdCB7IHJldHVybiBtX3g7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvV29ya2VyTmF2aWdhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dvcmtlck5h
dmlnYXRvci5oCmluZGV4IGNmZjA3YWU3MDg5OWZmYmIwOTUwYzRiMzlhNTFiOThmNzAzYzg4ODgu
LjNhZWVhYWI4YzQwYzUwNjJhMDYwNDk0YzgwMmE1OGE4Yjc5OGU2MDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvV29ya2VyTmF2aWdhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9Xb3JrZXJOYXZpZ2F0b3IuaApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIFdvcmtlck5hdmlnYXRvciA6IHB1YmxpYyBOYXZpZ2F0b3JCYXNlLCBwdWJs
aWMgUmVmQ291bnRlZDxXb3JrZXJOYXZpZ2F0b3I+LCBwdWJsaWMgU3VwcGxlbWVudGFibGU8V29y
a2VyTmF2aWdhdG9yPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V29ya2VyTmF2
aWdhdG9yPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQpIHsgcmV0dXJuIGFkb3B0UmVm
KG5ldyBXb3JrZXJOYXZpZ2F0b3IodXNlckFnZW50KSk7IH0KKyAgICBzdGF0aWMgUmVmPFdvcmtl
ck5hdmlnYXRvcj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXNlckFnZW50KSB7IHJldHVybiBhZG9w
dFJlZigqbmV3IFdvcmtlck5hdmlnYXRvcih1c2VyQWdlbnQpKTsgfQogICAgIHZpcnR1YWwgfldv
cmtlck5hdmlnYXRvcigpOwogCiAgICAgdmlydHVhbCBTdHJpbmcgdXNlckFnZW50KCkgY29uc3Q7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1h
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24u
aAppbmRleCAxNmQ2NzAyZDY0NTcxOTM2ODZkMmQzMmVhMjA4MjhlNjdhOGViODA5Li5jMzQyNTk3
NTc4ZjRmZjVhNTg2NjJhMzhjMjM4MjdiYTFmMGE3OTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmgKQEAgLTQxLDkgKzQxLDkgQEAg
Y2xhc3MgUmVuZGVyRWxlbWVudDsKIC8vIGZvciBhIHNpbmdsZSBSZW5kZXJFbGVtZW50LgogY2xh
c3MgSW1wbGljaXRBbmltYXRpb24gOiBwdWJsaWMgQW5pbWF0aW9uQmFzZSB7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8SW1wbGljaXRBbmltYXRpb24+IGNyZWF0ZShBbmltYXRpb24m
IGFuaW1hdGlvbiwgQ1NTUHJvcGVydHlJRCBhbmltYXRpbmdQcm9wZXJ0eSwgUmVuZGVyRWxlbWVu
dCogcmVuZGVyZXIsIENvbXBvc2l0ZUFuaW1hdGlvbiogY29tcG9zaXRlQW5pbWF0aW9uLCBSZW5k
ZXJTdHlsZSogZnJvbVN0eWxlKQorICAgIHN0YXRpYyBSZWY8SW1wbGljaXRBbmltYXRpb24+IGNy
ZWF0ZShBbmltYXRpb24mIGFuaW1hdGlvbiwgQ1NTUHJvcGVydHlJRCBhbmltYXRpbmdQcm9wZXJ0
eSwgUmVuZGVyRWxlbWVudCogcmVuZGVyZXIsIENvbXBvc2l0ZUFuaW1hdGlvbiogY29tcG9zaXRl
QW5pbWF0aW9uLCBSZW5kZXJTdHlsZSogZnJvbVN0eWxlKQogICAgIHsKLSAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBJbXBsaWNpdEFuaW1hdGlvbihhbmltYXRpb24sIGFuaW1hdGluZ1Byb3Bl
cnR5LCByZW5kZXJlciwgY29tcG9zaXRlQW5pbWF0aW9uLCBmcm9tU3R5bGUpKTsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgSW1wbGljaXRBbmltYXRpb24oYW5pbWF0aW9uLCBhbmltYXRp
bmdQcm9wZXJ0eSwgcmVuZGVyZXIsIGNvbXBvc2l0ZUFuaW1hdGlvbiwgZnJvbVN0eWxlKSk7CiAg
ICAgfTsKICAgICAKICAgICBDU1NQcm9wZXJ0eUlEIHRyYW5zaXRpb25Qcm9wZXJ0eSgpIGNvbnN0
IHsgcmV0dXJuIG1fdHJhbnNpdGlvblByb3BlcnR5OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uaAppbmRleCBlNDMyNDNjMzEyZmQyMWNi
MDAzMzU4NWZmMGM0ZDg0NjVlMmIyZmYyLi4zMjg0MDRiNWJhNjhlZDVlODc3MjI5NmE5ODVhNDZj
NmIwYTk4MjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlm
cmFtZUFuaW1hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZy
YW1lQW5pbWF0aW9uLmgKQEAgLTQwLDkgKzQwLDkgQEAgY2xhc3MgUmVuZGVyU3R5bGU7CiAvLyBB
IEtleWZyYW1lQW5pbWF0aW9uIHRyYWNrcyB0aGUgc3RhdGUgb2YgYW4gZXhwbGljaXQgYW5pbWF0
aW9uIGZvciBhIHNpbmdsZSBSZW5kZXJFbGVtZW50LgogY2xhc3MgS2V5ZnJhbWVBbmltYXRpb24g
ZmluYWwgOiBwdWJsaWMgQW5pbWF0aW9uQmFzZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0
cjxLZXlmcmFtZUFuaW1hdGlvbj4gY3JlYXRlKEFuaW1hdGlvbiYgYW5pbWF0aW9uLCBSZW5kZXJF
bGVtZW50KiByZW5kZXJlciwgaW50IGluZGV4LCBDb21wb3NpdGVBbmltYXRpb24qIGNvbXBvc2l0
ZUFuaW1hdGlvbiwgUmVuZGVyU3R5bGUqIHVuYW5pbWF0ZWRTdHlsZSkKKyAgICBzdGF0aWMgUmVm
PEtleWZyYW1lQW5pbWF0aW9uPiBjcmVhdGUoQW5pbWF0aW9uJiBhbmltYXRpb24sIFJlbmRlckVs
ZW1lbnQqIHJlbmRlcmVyLCBpbnQgaW5kZXgsIENvbXBvc2l0ZUFuaW1hdGlvbiogY29tcG9zaXRl
QW5pbWF0aW9uLCBSZW5kZXJTdHlsZSogdW5hbmltYXRlZFN0eWxlKQogICAgIHsKLSAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBLZXlmcmFtZUFuaW1hdGlvbihhbmltYXRpb24sIHJlbmRlcmVy
LCBpbmRleCwgY29tcG9zaXRlQW5pbWF0aW9uLCB1bmFuaW1hdGVkU3R5bGUpKTsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgS2V5ZnJhbWVBbmltYXRpb24oYW5pbWF0aW9uLCByZW5kZXJl
ciwgaW5kZXgsIGNvbXBvc2l0ZUFuaW1hdGlvbiwgdW5hbmltYXRlZFN0eWxlKSk7CiAgICAgfQog
CiAgICAgdmlydHVhbCBib29sIGFuaW1hdGUoQ29tcG9zaXRlQW5pbWF0aW9uKiwgUmVuZGVyRWxl
bWVudCosIGNvbnN0IFJlbmRlclN0eWxlKiBjdXJyZW50U3R5bGUsIFJlbmRlclN0eWxlKiB0YXJn
ZXRTdHlsZSwgUmVmUHRyPFJlbmRlclN0eWxlPiYgYW5pbWF0ZWRTdHlsZSkgb3ZlcnJpZGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9s
bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVy
LmgKaW5kZXggOWExZDY0NjEyN2QxZjdhMGRkZjBhNjlmY2MwMzIxZDBjMjQxMGU0Yi4uNDMyZjgz
NzkwOTVhNjFkMGI0Y2JiYjJmZTIzZjI3ZGRjMTcwNTJhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaApAQCAtNTcsOCArNTcs
OCBAQCBwcml2YXRlOgogICAgIGNsYXNzIEhpZ2hsaWdodCA6IHB1YmxpYyBSZWZDb3VudGVkPEhp
Z2hsaWdodD4sIHByaXZhdGUgR3JhcGhpY3NMYXllckNsaWVudCB7CiAgICAgICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEhpZ2hsaWdodCk7CiAgICAgcHVibGljOgotICAgICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxIaWdobGlnaHQ+IGNyZWF0ZUZvclNlbGVjdGlvbihTZXJ2aWNlc092ZXJsYXlDb250
cm9sbGVyJiwgUmV0YWluUHRyPERESGlnaGxpZ2h0UmVmPiwgUGFzc1JlZlB0cjxSYW5nZT4pOwot
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxIaWdobGlnaHQ+IGNyZWF0ZUZvclRlbGVwaG9uZU51
bWJlcihTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyJiwgUmV0YWluUHRyPERESGlnaGxpZ2h0UmVm
PiwgUGFzc1JlZlB0cjxSYW5nZT4pOworICAgICAgICBzdGF0aWMgUmVmPEhpZ2hsaWdodD4gY3Jl
YXRlRm9yU2VsZWN0aW9uKFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXImLCBSZXRhaW5QdHI8RERI
aWdobGlnaHRSZWY+LCBQYXNzUmVmUHRyPFJhbmdlPik7CisgICAgICAgIHN0YXRpYyBSZWY8SGln
aGxpZ2h0PiBjcmVhdGVGb3JUZWxlcGhvbmVOdW1iZXIoU2VydmljZXNPdmVybGF5Q29udHJvbGxl
ciYsIFJldGFpblB0cjxEREhpZ2hsaWdodFJlZj4sIFBhc3NSZWZQdHI8UmFuZ2U+KTsKICAgICAg
ICAgfkhpZ2hsaWdodCgpOwogCiAgICAgICAgIHZvaWQgaW52YWxpZGF0ZSgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KaW5k
ZXggZWJiNjMzZDVjYjk5NzA2YmYwMzljNDYzMmM1YWUwOWMwYmE3YzJmNi4uODBhNDRlZmY4NWQ2
Mzk2NTcxODJiN2UxMzNmMDVkNDE5MTUyYzNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCkBAIC02MSwxNCArNjEsMTQg
QEAgU09GVF9MSU5LKERhdGFEZXRlY3RvcnMsIERESGlnaGxpZ2h0UG9pbnRJc09uSGlnaGxpZ2h0
LCBCb29sZWFuLCAoRERIaWdobGlnaHRSZWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNz
UmVmUHRyPFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OkhpZ2hsaWdodD4gU2VydmljZXNPdmVy
bGF5Q29udHJvbGxlcjo6SGlnaGxpZ2h0OjpjcmVhdGVGb3JTZWxlY3Rpb24oU2VydmljZXNPdmVy
bGF5Q29udHJvbGxlciYgY29udHJvbGxlciwgUmV0YWluUHRyPERESGlnaGxpZ2h0UmVmPiBkZEhp
Z2hsaWdodCwgUGFzc1JlZlB0cjxSYW5nZT4gcmFuZ2UpCitSZWY8U2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcjo6SGlnaGxpZ2h0PiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpIaWdobGlnaHQ6
OmNyZWF0ZUZvclNlbGVjdGlvbihTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyJiBjb250cm9sbGVy
LCBSZXRhaW5QdHI8RERIaWdobGlnaHRSZWY+IGRkSGlnaGxpZ2h0LCBQYXNzUmVmUHRyPFJhbmdl
PiByYW5nZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEhpZ2hsaWdodChjb250cm9sbGVy
LCBUeXBlOjpTZWxlY3Rpb24sIGRkSGlnaGxpZ2h0LCByYW5nZSkpOworICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IEhpZ2hsaWdodChjb250cm9sbGVyLCBUeXBlOjpTZWxlY3Rpb24sIGRkSGlnaGxp
Z2h0LCByYW5nZSkpOwogfQogCi1QYXNzUmVmUHRyPFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6
OkhpZ2hsaWdodD4gU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6SGlnaGxpZ2h0OjpjcmVhdGVG
b3JUZWxlcGhvbmVOdW1iZXIoU2VydmljZXNPdmVybGF5Q29udHJvbGxlciYgY29udHJvbGxlciwg
UmV0YWluUHRyPERESGlnaGxpZ2h0UmVmPiBkZEhpZ2hsaWdodCwgUGFzc1JlZlB0cjxSYW5nZT4g
cmFuZ2UpCitSZWY8U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6SGlnaGxpZ2h0PiBTZXJ2aWNl
c092ZXJsYXlDb250cm9sbGVyOjpIaWdobGlnaHQ6OmNyZWF0ZUZvclRlbGVwaG9uZU51bWJlcihT
ZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyJiBjb250cm9sbGVyLCBSZXRhaW5QdHI8RERIaWdobGln
aHRSZWY+IGRkSGlnaGxpZ2h0LCBQYXNzUmVmUHRyPFJhbmdlPiByYW5nZSkKIHsKLSAgICByZXR1
cm4gYWRvcHRSZWYobmV3IEhpZ2hsaWdodChjb250cm9sbGVyLCBUeXBlOjpUZWxlcGhvbmVOdW1i
ZXIsIGRkSGlnaGxpZ2h0LCByYW5nZSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEhpZ2hs
aWdodChjb250cm9sbGVyLCBUeXBlOjpUZWxlcGhvbmVOdW1iZXIsIGRkSGlnaGxpZ2h0LCByYW5n
ZSkpOwogfQogCiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpIaWdobGlnaHQ6OkhpZ2hsaWdo
dChTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyJiBjb250cm9sbGVyLCBUeXBlIHR5cGUsIFJldGFp
blB0cjxEREhpZ2hsaWdodFJlZj4gZGRIaWdobGlnaHQsIFBhc3NSZWZQdHI8V2ViQ29yZTo6UmFu
Z2U+IHJhbmdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IGUzNjdiZjJkOWE1NDVhNzU0ZTg5MDI5OTM0ODU5
NzQ4MWU0NWFlYjMuLjMzM2FmYzg3MWE3NTM4ZjZmYjNiZGM0YzNkYmQ0MmIzYWVjZmRhMjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29y
ZGluYXRvci5jcHAKQEAgLTU1LDEzICs1NSwxMyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAj
aWYgIVBMQVRGT1JNKENPQ09BKQotUGFzc1JlZlB0cjxTY3JvbGxpbmdDb29yZGluYXRvcj4gU2Ny
b2xsaW5nQ29vcmRpbmF0b3I6OmNyZWF0ZShQYWdlKiBwYWdlKQorUmVmPFNjcm9sbGluZ0Nvb3Jk
aW5hdG9yPiBTY3JvbGxpbmdDb29yZGluYXRvcjo6Y3JlYXRlKFBhZ2UqIHBhZ2UpCiB7CiAjaWYg
VVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xs
aW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNzKHBhZ2UpKTsKKyAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBTY3JvbGxpbmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3MocGFnZSkp
OwogI2VuZGlmCiAKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9sbGluZ0Nvb3JkaW5hdG9y
KHBhZ2UpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdDb29yZGluYXRvcihw
YWdlKSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKaW5kZXggN2JlMGEzZGExMjk2OTVhZDMzMzM0ODkz
OTkxZDJhZDc4MTY2ZDRiNC4uMDdjNjA3YWNkZGJmMGQwODBjMmRlNThjMGY5MDU3M2JiNTdhMzMx
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29v
cmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdD
b29yZGluYXRvci5oCkBAIC0xMDYsNyArMTA2LDcgQEAgc3RydWN0IFNjcm9sbGFibGVBcmVhUGFy
YW1ldGVycyB7CiAKIGNsYXNzIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIDogcHVibGljIFRocmVhZFNh
ZmVSZWZDb3VudGVkPFNjcm9sbGluZ0Nvb3JkaW5hdG9yPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8U2Nyb2xsaW5nQ29vcmRpbmF0b3I+IGNyZWF0ZShQYWdlKik7CisgICAgc3Rh
dGljIFJlZjxTY3JvbGxpbmdDb29yZGluYXRvcj4gY3JlYXRlKFBhZ2UqKTsKICAgICB2aXJ0dWFs
IH5TY3JvbGxpbmdDb29yZGluYXRvcigpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2
b2lkIHBhZ2VEZXN0cm95ZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmNwcAppbmRleCBlM2FkZTUyYTFkOTQ5
NmI1MjFlMDE0M2QxZjljOTZiMjk5YjJiOTNmLi5jY2RjODMyYTBjMDcwNDUwM2NiY2U1OTk2NzFm
OWM0NmExOTMxMTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuY3BwCkBAIC0zNCw5ICszNCw5IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZT4g
U2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU6OmNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRl
VHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKK1JlZjxTY3JvbGxpbmdTdGF0ZUZpeGVkTm9k
ZT4gU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU6OmNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0
YXRlVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlKHN0YXRlVHJlZSwgbm9kZUlEKSk7CisgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUoc3RhdGVUcmVlLCBub2Rl
SUQpKTsKIH0KIAogU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU6OlNjcm9sbGluZ1N0YXRlRml4ZWRO
b2RlKFNjcm9sbGluZ1N0YXRlVHJlZSYgdHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKQEAg
LTU0LDkgKzU0LDkgQEAgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU6On5TY3JvbGxpbmdTdGF0ZUZp
eGVkTm9kZSgpCiB7CiB9CiAKLVBhc3NSZWZQdHI8U2Nyb2xsaW5nU3RhdGVOb2RlPiBTY3JvbGxp
bmdTdGF0ZUZpeGVkTm9kZTo6Y2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRyZWUp
CitSZWY8U2Nyb2xsaW5nU3RhdGVOb2RlPiBTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZTo6Y2xvbmUo
U2Nyb2xsaW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRyZWUpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZSgqdGhpcywgYWRvcHRpdmVUcmVlKSk7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUoKnRoaXMsIGFkb3B0
aXZlVHJlZSkpOwogfQogCiB2b2lkIFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlOjp1cGRhdGVDb25z
dHJhaW50cyhjb25zdCBGaXhlZFBvc2l0aW9uVmlld3BvcnRDb25zdHJhaW50cyYgY29uc3RyYWlu
dHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZUZpeGVkTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
U3RhdGVGaXhlZE5vZGUuaAppbmRleCA2ZDlkNjU0MDVlNTUzOWE3YjhiODI3NWI5NDQxODk1NTFl
NjZhYTI3Li45OGNiMGNhMTA1YmM5YmE1M2Y5N2QyOWJiNmJkNmE0MTUxMjExY2Y5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9k
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4
ZWROb2RlLmgKQEAgLTM5LDkgKzM5LDkgQEAgY2xhc3MgRml4ZWRQb3NpdGlvblZpZXdwb3J0Q29u
c3RyYWludHM7CiAKIGNsYXNzIFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlIGZpbmFsIDogcHVibGlj
IFNjcm9sbGluZ1N0YXRlTm9kZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U2Ny
b2xsaW5nU3RhdGVGaXhlZE5vZGU+IGNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUmLCBTY3JvbGxp
bmdOb2RlSUQpOworICAgIHN0YXRpYyBSZWY8U2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU+IGNyZWF0
ZShTY3JvbGxpbmdTdGF0ZVRyZWUmLCBTY3JvbGxpbmdOb2RlSUQpOwogCi0gICAgdmlydHVhbCBQ
YXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRlTm9kZT4gY2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJikg
b3ZlcnJpZGU7CisgICAgdmlydHVhbCBSZWY8U2Nyb2xsaW5nU3RhdGVOb2RlPiBjbG9uZShTY3Jv
bGxpbmdTdGF0ZVRyZWUmKSBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgflNjcm9sbGluZ1N0YXRl
Rml4ZWROb2RlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmNwcAppbmRleCAz
MjZkOWU4ZjRiNjVmNDZlOTczMTE3MmM5NDE3NGY4ODQwZmE5OWQyLi44NTAzOTM2YTFhNTFhNTU3
MjVlNWRjMjMzYjFmN2NlZTY2NGYzNDdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05v
ZGUuY3BwCkBAIC0zMyw5ICszMyw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1Jl
ZlB0cjxTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZT4gU2Nyb2xsaW5nU3RhdGVGcmFt
ZVNjcm9sbGluZ05vZGU6OmNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwgU2Ny
b2xsaW5nTm9kZUlEIG5vZGVJRCkKK1JlZjxTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9k
ZT4gU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OmNyZWF0ZShTY3JvbGxpbmdTdGF0
ZVRyZWUmIHN0YXRlVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKIHsKLSAgICByZXR1cm4g
YWRvcHRSZWYobmV3IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlKHN0YXRlVHJlZSwg
bm9kZUlEKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nU3RhdGVGcmFtZVNj
cm9sbGluZ05vZGUoc3RhdGVUcmVlLCBub2RlSUQpKTsKIH0KIAogU2Nyb2xsaW5nU3RhdGVGcmFt
ZVNjcm9sbGluZ05vZGU6OlNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlKFNjcm9sbGlu
Z1N0YXRlVHJlZSYgc3RhdGVUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQpAQCAtODMsOSAr
ODMsOSBAQCBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6flNjcm9sbGluZ1N0YXRl
RnJhbWVTY3JvbGxpbmdOb2RlKCkKIHsKIH0KIAotUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0ZU5v
ZGU+IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlOjpjbG9uZShTY3JvbGxpbmdTdGF0
ZVRyZWUmIGFkb3B0aXZlVHJlZSkKK1JlZjxTY3JvbGxpbmdTdGF0ZU5vZGU+IFNjcm9sbGluZ1N0
YXRlRnJhbWVTY3JvbGxpbmdOb2RlOjpjbG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUmIGFkb3B0aXZl
VHJlZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3Jv
bGxpbmdOb2RlKCp0aGlzLCBhZG9wdGl2ZVRyZWUpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZSgqdGhpcywgYWRvcHRpdmVUcmVlKSk7
CiB9CiAKIHZvaWQgU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OnNldEZyYW1lU2Nh
bGVGYWN0b3IoZmxvYXQgc2NhbGVGYWN0b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUu
aAppbmRleCAyYWFhOGIwZjRjZTU2OGE5MjQ5M2YwNDk3NGE3YjI4NGQ0ZDUxZTZhLi5kNTdkMWZk
OWY3MGE4NmM5MmE5MGFlMzFjNzVhNzk1MmZjZDY5Y2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJhbWVTY3Jv
bGxpbmdOb2RlLmgKQEAgLTQwLDkgKzQwLDkgQEAgY2xhc3MgU2Nyb2xsYmFyOwogCiBjbGFzcyBT
Y3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZSBmaW5hbCA6IHB1YmxpYyBTY3JvbGxpbmdT
dGF0ZVNjcm9sbGluZ05vZGUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcm9s
bGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlPiBjcmVhdGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiwg
U2Nyb2xsaW5nTm9kZUlEKTsKKyAgICBzdGF0aWMgUmVmPFNjcm9sbGluZ1N0YXRlRnJhbWVTY3Jv
bGxpbmdOb2RlPiBjcmVhdGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsK
IAotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0ZU5vZGU+IGNsb25lKFNjcm9s
bGluZ1N0YXRlVHJlZSYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgUmVmPFNjcm9sbGluZ1N0YXRl
Tm9kZT4gY2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJikgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFs
IH5TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZSgpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oCmluZGV4IDhjYjZlZDgy
MjRjNDhhOTA2MWYwMDZhZDFiNWVjYWIxM2RjYmNlNmUuLmFjYjYwMWM5ZTg4NmQ2ZmZjMmMwNjgx
YTBkMTFiYjI5NmRlNTJmMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oCkBAIC0xOTcsNyArMTk3LDcgQEAgcHVibGljOgogICAg
IGJvb2wgaXNGcmFtZVNjcm9sbGluZ05vZGUoKSBjb25zdCB7IHJldHVybiBtX25vZGVUeXBlID09
IEZyYW1lU2Nyb2xsaW5nTm9kZTsgfQogICAgIGJvb2wgaXNPdmVyZmxvd1Njcm9sbGluZ05vZGUo
KSBjb25zdCB7IHJldHVybiBtX25vZGVUeXBlID09IE92ZXJmbG93U2Nyb2xsaW5nTm9kZTsgfQog
Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRlTm9kZT4gY2xvbmUoU2Nyb2xs
aW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRyZWUpID0gMDsKKyAgICB2aXJ0dWFsIFJlZjxTY3JvbGxp
bmdTdGF0ZU5vZGU+IGNsb25lKFNjcm9sbGluZ1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVlKSA9IDA7
CiAgICAgUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0ZU5vZGU+IGNsb25lQW5kUmVzZXQoU2Nyb2xs
aW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRyZWUpOwogICAgIHZvaWQgY2xvbmVBbmRSZXNldENoaWxk
cmVuKFNjcm9sbGluZ1N0YXRlTm9kZSYsIFNjcm9sbGluZ1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVl
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
U3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuY3BwCmluZGV4IGUzNGNj
YWNhYWJkM2VlYmM0ODM3NjFjYTliMTJkYzIzYjU4YmUzMTkuLjg0ZDI1ZWYwYjk1MWMzYTJiMjgz
ZmM5Zjk5ODRhYzUxMDI2MzJhOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5n
Tm9kZS5jcHAKQEAgLTMzLDkgKzMzLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNz
UmVmUHRyPFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlPiBTY3JvbGxpbmdTdGF0
ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6Y3JlYXRlKFNjcm9sbGluZ1N0YXRlVHJlZSYgc3RhdGVU
cmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQorUmVmPFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlPiBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6Y3JlYXRl
KFNjcm9sbGluZ1N0YXRlVHJlZSYgc3RhdGVUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQog
ewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGlu
Z05vZGUoc3RhdGVUcmVlLCBub2RlSUQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3Jv
bGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZShzdGF0ZVRyZWUsIG5vZGVJRCkpOwogfQog
CiBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6U2Nyb2xsaW5nU3RhdGVPdmVy
Zmxvd1Njcm9sbGluZ05vZGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBzdGF0ZVRyZWUsIFNjcm9sbGlu
Z05vZGVJRCBub2RlSUQpCkBAIC01NCw5ICs1NCw5IEBAIFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlOjp+U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUoKQogewog
fQogCi1QYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRlTm9kZT4gU2Nyb2xsaW5nU3RhdGVPdmVyZmxv
d1Njcm9sbGluZ05vZGU6OmNsb25lKFNjcm9sbGluZ1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVlKQor
UmVmPFNjcm9sbGluZ1N0YXRlTm9kZT4gU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05v
ZGU6OmNsb25lKFNjcm9sbGluZ1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVlKQogewotICAgIHJldHVy
biBhZG9wdFJlZihuZXcgU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUoKnRoaXMs
IGFkb3B0aXZlVHJlZSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNjcm9sbGluZ1N0YXRl
T3ZlcmZsb3dTY3JvbGxpbmdOb2RlKCp0aGlzLCBhZG9wdGl2ZVRyZWUpKTsKIH0KICAgICAKIHZv
aWQgU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OnNldFNjcm9sbGVkQ29udGVu
dHNMYXllcihjb25zdCBMYXllclJlcHJlc2VudGF0aW9uJiBsYXllclJlcHJlc2VudGF0aW9uKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVP
dmVyZmxvd1Njcm9sbGluZ05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmgKaW5kZXggMjYwOTZhMjExYzU2ODk3
NzE4OGFjYjlkY2JiYThjODM1NTA2MThjMy4uNzNhYWEzOTUyYzhlN2UxMjAyZDdjODJkOTc0NzZj
NzNhYjQ4ZWM3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZS5oCkBAIC0z
NCw5ICszNCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU2Nyb2xsaW5nU3RhdGVP
dmVyZmxvd1Njcm9sbGluZ05vZGUgOiBwdWJsaWMgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2Rl
IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0ZU92ZXJmbG93
U2Nyb2xsaW5nTm9kZT4gY3JlYXRlKFNjcm9sbGluZ1N0YXRlVHJlZSYsIFNjcm9sbGluZ05vZGVJ
RCk7CisgICAgc3RhdGljIFJlZjxTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZT4g
Y3JlYXRlKFNjcm9sbGluZ1N0YXRlVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CiAKLSAgICB2aXJ0
dWFsIFBhc3NSZWZQdHI8U2Nyb2xsaW5nU3RhdGVOb2RlPiBjbG9uZShTY3JvbGxpbmdTdGF0ZVRy
ZWUmKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIFJlZjxTY3JvbGxpbmdTdGF0ZU5vZGU+IGNsb25l
KFNjcm9sbGluZ1N0YXRlVHJlZSYpIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB+U2Nyb2xsaW5n
U3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5jcHAKaW5kZXgg
NWU1MmU2MmY3YTY0ZDM0N2ZlOTljOTQ1M2M0NjVhMWNlZGVjYTRhZS4uY2VlNDc2ZTRhY2ZjYzQw
ODIyM2I1ZDMzZDVjZWJhNDRhNWFiMjhmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwCkBAIC0zNCw5
ICszNCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxTY3JvbGxpbmdT
dGF0ZVN0aWNreU5vZGU+IFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6Y3JlYXRlKFNjcm9sbGlu
Z1N0YXRlVHJlZSYgc3RhdGVUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQorUmVmPFNjcm9s
bGluZ1N0YXRlU3RpY2t5Tm9kZT4gU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlOjpjcmVhdGUoU2Ny
b2xsaW5nU3RhdGVUcmVlJiBzdGF0ZVRyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCiB7Ci0g
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUoc3RhdGVUcmVl
LCBub2RlSUQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdTdGF0ZVN0aWNr
eU5vZGUoc3RhdGVUcmVlLCBub2RlSUQpKTsKIH0KIAogU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2Rl
OjpTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiB0cmVlLCBTY3Jv
bGxpbmdOb2RlSUQgbm9kZUlEKQpAQCAtNTQsOSArNTQsOSBAQCBTY3JvbGxpbmdTdGF0ZVN0aWNr
eU5vZGU6On5TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUoKQogewogfQogCi1QYXNzUmVmUHRyPFNj
cm9sbGluZ1N0YXRlTm9kZT4gU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlOjpjbG9uZShTY3JvbGxp
bmdTdGF0ZVRyZWUmIGFkb3B0aXZlVHJlZSkKK1JlZjxTY3JvbGxpbmdTdGF0ZU5vZGU+IFNjcm9s
bGluZ1N0YXRlU3RpY2t5Tm9kZTo6Y2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRy
ZWUpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUo
KnRoaXMsIGFkb3B0aXZlVHJlZSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNjcm9sbGlu
Z1N0YXRlU3RpY2t5Tm9kZSgqdGhpcywgYWRvcHRpdmVUcmVlKSk7CiB9CiAKIHZvaWQgU2Nyb2xs
aW5nU3RhdGVTdGlja3lOb2RlOjp1cGRhdGVDb25zdHJhaW50cyhjb25zdCBTdGlja3lQb3NpdGlv
blZpZXdwb3J0Q29uc3RyYWludHMmIGNvbnN0cmFpbnRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaAppbmRleCBj
ZjA2MzlkNThkYTQ2MTYzZDI1YmExNDYwOTk5OTQ3MTQ1YmFmM2I0Li5jOWU3OTM1YTQ3OGUwNjY2
OTJjMmRiZGFiY2ViMDQ5ZDYyNDgzNWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaApAQCAtMzksOSArMzks
OSBAQCBjbGFzcyBTdGlja3lQb3NpdGlvblZpZXdwb3J0Q29uc3RyYWludHM7CiAKIGNsYXNzIFNj
cm9sbGluZ1N0YXRlU3RpY2t5Tm9kZSBmaW5hbCA6IHB1YmxpYyBTY3JvbGxpbmdTdGF0ZU5vZGUg
ewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9k
ZT4gY3JlYXRlKFNjcm9sbGluZ1N0YXRlVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CisgICAgc3Rh
dGljIFJlZjxTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU+IGNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRy
ZWUmLCBTY3JvbGxpbmdOb2RlSUQpOwogCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPFNjcm9sbGlu
Z1N0YXRlTm9kZT4gY2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJikgb3ZlcnJpZGU7CisgICAgdmly
dHVhbCBSZWY8U2Nyb2xsaW5nU3RhdGVOb2RlPiBjbG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUmKSBv
dmVycmlkZTsKIAogICAgIHZpcnR1YWwgflNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZSgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29v
cmRpbmF0b3JJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xs
aW5nQ29vcmRpbmF0b3JJT1MubW0KaW5kZXggNmNiM2Y0M2Q4YTBmMGMzYjg1MDgyZTM2YTcyODQz
NjEyNWFjNDZkZC4uYjE1ODIxOGNkMDA3ZmNlNjFlMzcxYTFjNGFjZTNiYTU4ZDdiMzUzZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9ySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3Jv
bGxpbmdDb29yZGluYXRvcklPUy5tbQpAQCAtNDQsOSArNDQsOSBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLVBhc3NSZWZQdHI8U2Nyb2xsaW5nQ29vcmRpbmF0b3I+IFNjcm9sbGluZ0Nvb3Jk
aW5hdG9yOjpjcmVhdGUoUGFnZSogcGFnZSkKK1JlZjxTY3JvbGxpbmdDb29yZGluYXRvcj4gU2Ny
b2xsaW5nQ29vcmRpbmF0b3I6OmNyZWF0ZShQYWdlKiBwYWdlKQogewotICAgIHJldHVybiBhZG9w
dFJlZihuZXcgU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MocGFnZSkpOworICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFNjcm9sbGluZ0Nvb3JkaW5hdG9ySU9TKHBhZ2UpKTsKIH0KIAogU2Nyb2xsaW5n
Q29vcmRpbmF0b3JJT1M6OlNjcm9sbGluZ0Nvb3JkaW5hdG9ySU9TKFBhZ2UqIHBhZ2UpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUZy
YW1lU2Nyb2xsaW5nTm9kZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lv
cy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLm1tCmluZGV4IDVlM2M2ZDgyNTBm
ZThmMGNlZWNhNjJkMmQ0NjMzZWM4NTEwNjExZmEuLjU2ODJmNTFkYzE4OGE4MjQ3MGZhMDNhODc3
NDE5NGY0Y2FjMTMwZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
SU9TLm1tCkBAIC00MCw5ICs0MCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1Jl
ZlB0cjxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TPiBTY3JvbGxpbmdUcmVlRnJh
bWVTY3JvbGxpbmdOb2RlSU9TOjpjcmVhdGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5nVHJlZSwg
U2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKK1JlZjxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlSU9TPiBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TOjpjcmVhdGUoU2Nyb2xs
aW5nVHJlZSYgc2Nyb2xsaW5nVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKIHsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1Moc2Ny
b2xsaW5nVHJlZSwgbm9kZUlEKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5n
VHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUyhzY3JvbGxpbmdUcmVlLCBub2RlSUQpKTsKIH0KIAog
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUzo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Ny
b2xsaW5nTm9kZUlPUyhTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2Rl
SUQgbm9kZUlEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9z
L1Njcm9sbGluZ1RyZWVJT1MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9z
L1Njcm9sbGluZ1RyZWVJT1MuY3BwCmluZGV4IDEzZjdlYTg1MTM5NDA4MWRiZDEyNTkxZjVkZDM0
NDZlYzk2OTMxYmIuLjYzMjVhNWY0MmIzNmFjMmYwNDE4ZmVlZjNmNmRiMzQ2YTA3Y2RjODUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVl
SU9TLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5n
VHJlZUlPUy5jcHAKQEAgLTQxLDkgKzQxLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1S
ZWZQdHI8U2Nyb2xsaW5nVHJlZUlPUz4gU2Nyb2xsaW5nVHJlZUlPUzo6Y3JlYXRlKEFzeW5jU2Ny
b2xsaW5nQ29vcmRpbmF0b3IqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yKQorUmVmPFNjcm9sbGluZ1Ry
ZWVJT1M+IFNjcm9sbGluZ1RyZWVJT1M6OmNyZWF0ZShBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9y
KiBzY3JvbGxpbmdDb29yZGluYXRvcikKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9s
bGluZ1RyZWVJT1Moc2Nyb2xsaW5nQ29vcmRpbmF0b3IpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBTY3JvbGxpbmdUcmVlSU9TKHNjcm9sbGluZ0Nvb3JkaW5hdG9yKSk7CiB9CiAKIFNjcm9s
bGluZ1RyZWVJT1M6OlNjcm9sbGluZ1RyZWVJT1MoQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvciog
c2Nyb2xsaW5nQ29vcmRpbmF0b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KaW5kZXggM2U5MjFm
MWViNDczZWY2OWUwYzA5NzlkYWRhM2Y1NzExMzM3NTRhZC4uMjUwNWU3Yjc2MzMzOGQxMmRlZGI1
MjM4YTA0MzM2Mjg3OGE4Y2Q0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQpAQCAtNDYsOSAr
NDYsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8U2Nyb2xsaW5nQ29v
cmRpbmF0b3I+IFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGUoUGFnZSogcGFnZSkKK1JlZjxT
Y3JvbGxpbmdDb29yZGluYXRvcj4gU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmNyZWF0ZShQYWdlKiBw
YWdlKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMo
cGFnZSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
KHBhZ2UpKTsKIH0KIAogU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6OlNjcm9sbGluZ0Nvb3JkaW5h
dG9yTWFjKFBhZ2UqIHBhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLm1tCmluZGV4IDcyMGJiYmRkOGUw
Y2U4MThiOWU3YzYwM2U2YTUxYzk1ZTE2OTBkNTcuLjM4MGNhMTcxM2Y3MjIyMmIzOThkOWUxNDk4
NzQzNDM0ZTg1NGQ0YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLm1tCkBAIC0zNCw5ICszNCw5IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxTY3JvbGxpbmdUcmVlRml4ZWRO
b2RlPiBTY3JvbGxpbmdUcmVlRml4ZWROb2RlOjpjcmVhdGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xs
aW5nVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKK1JlZjxTY3JvbGxpbmdUcmVlRml4ZWRO
b2RlPiBTY3JvbGxpbmdUcmVlRml4ZWROb2RlOjpjcmVhdGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xs
aW5nVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IFNjcm9sbGluZ1RyZWVGaXhlZE5vZGUoc2Nyb2xsaW5nVHJlZSwgbm9kZUlEKSk7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZShzY3JvbGxpbmdUcmVl
LCBub2RlSUQpKTsKIH0KIAogU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZTo6U2Nyb2xsaW5nVHJlZUZp
eGVkTm9kZShTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9k
ZUlEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQppbmRleCA3
ZjY0ZGM1YmVhNzY4ZGVjMWMzZWQ5NjllZDkwZmEyMTA0OTQzYzU0Li5lYWI2ZGE5MzA2MTBkMTNj
MDliZDBlMzU2MmMwMTc4YjM2NjQwYTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Ny
b2xsaW5nTm9kZU1hYy5tbQpAQCAtNDksOSArNDksOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHN0YXRpYyB2b2lkIGxvZ1RocmVhZGVkU2Nyb2xsaW5nTW9kZSh1bnNpZ25lZCBzeW5jaHJvbm91
c1Njcm9sbGluZ1JlYXNvbnMpOwogCi1QYXNzUmVmUHRyPFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9s
bGluZ05vZGU+IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OmNyZWF0ZShTY3Jv
bGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQorUmVmPFNj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGU+IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGlu
Z05vZGVNYWM6OmNyZWF0ZShTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdO
b2RlSUQgbm9kZUlEKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsaW5nVHJlZUZy
YW1lU2Nyb2xsaW5nTm9kZU1hYyhzY3JvbGxpbmdUcmVlLCBub2RlSUQpKTsKKyAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjKHNjcm9sbGlu
Z1RyZWUsIG5vZGVJRCkpOwogfQogCiBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFj
OjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjKFNjcm9sbGluZ1RyZWUmIHNjcm9s
bGluZ1RyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1hYy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1hYy5jcHAKaW5kZXggOTBjNDM3
ZjZhZTdlZjVhYmUxMGFkMGYyY2FkN2I2YWNlZTU5MWJjYS4uNzBkYmMwNmNmMDEzYmYzMWI4ZGEw
N2ZkZTBkMzk4OGM2MWI0ZDgwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlTWFjLmNwcApAQCAtMzQsOSArMzQsOSBAQAogCiB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotUmVmUHRyPFNjcm9sbGluZ1RyZWVNYWM+IFNjcm9s
bGluZ1RyZWVNYWM6OmNyZWF0ZShBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdD
b29yZGluYXRvcikKK1JlZjxTY3JvbGxpbmdUcmVlTWFjPiBTY3JvbGxpbmdUcmVlTWFjOjpjcmVh
dGUoQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0b3IpCiB7Ci0g
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JvbGxpbmdUcmVlTWFjKHNjcm9sbGluZ0Nvb3JkaW5h
dG9yKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nVHJlZU1hYyhzY3JvbGxp
bmdDb29yZGluYXRvcikpOwogfQogCiBTY3JvbGxpbmdUcmVlTWFjOjpTY3JvbGxpbmdUcmVlTWFj
KEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTdGlj
a3lOb2RlLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1Ry
ZWVTdGlja3lOb2RlLm1tCmluZGV4IDY3YzRkYmUxMzEyZmE5MTZiZmRhZTE0MjM5ZTk3ZjEyYzhj
ZTUyZDQuLjcyZDFmNzNmNDliODJiNWUyODU1ZmVjMGIzZWEzNGJmYTFlMmQ3NzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU3RpY2t5
Tm9kZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5n
VHJlZVN0aWNreU5vZGUubW0KQEAgLTM2LDkgKzM2LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1QYXNzUmVmUHRyPFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlPiBTY3JvbGxpbmdUcmVlU3Rp
Y2t5Tm9kZTo6Y3JlYXRlKFNjcm9sbGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9sbGluZ05v
ZGVJRCBub2RlSUQpCitSZWY8U2Nyb2xsaW5nVHJlZVN0aWNreU5vZGU+IFNjcm9sbGluZ1RyZWVT
dGlja3lOb2RlOjpjcmVhdGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5nVHJlZSwgU2Nyb2xsaW5n
Tm9kZUlEIG5vZGVJRCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9sbGluZ1RyZWVT
dGlja3lOb2RlKHNjcm9sbGluZ1RyZWUsIG5vZGVJRCkpOworICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlKHNjcm9sbGluZ1RyZWUsIG5vZGVJRCkpOwogfQog
CiBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZTo6U2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUoU2Nyb2xs
aW5nVHJlZSYgc2Nyb2xsaW5nVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNTM1NTc2ZmFlNmI0NDc1NDMy
YjJmMDY1YjQ1MWI3MTdiMDQ3YzJkMi4uZTk1ZTlmNGQyYjlkMDMwZmZlM2Y0NjQzMDU2YjI5NDll
YTIyMzMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAg
LTM5MjAsNyArMzkyMCw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRHZXRJbWFnZUZvckZpbmRN
YXRjaChjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgY29udGVuCiAKIHZvaWQgV2ViUGFn
ZVByb3h5OjpzZXRUZXh0SW5kaWNhdG9yKGNvbnN0IFRleHRJbmRpY2F0b3JEYXRhJiBpbmRpY2F0
b3JEYXRhLCB1aW50NjRfdCBsaWZldGltZSkKIHsKLSAgICBtX3BhZ2VDbGllbnQuc2V0VGV4dElu
ZGljYXRvcigqVGV4dEluZGljYXRvcjo6Y3JlYXRlKGluZGljYXRvckRhdGEpLCBzdGF0aWNfY2Fz
dDxUZXh0SW5kaWNhdG9yTGlmZXRpbWU+KGxpZmV0aW1lKSk7CisgICAgbV9wYWdlQ2xpZW50LnNl
dFRleHRJbmRpY2F0b3IoVGV4dEluZGljYXRvcjo6Y3JlYXRlKGluZGljYXRvckRhdGEpLCBzdGF0
aWNfY2FzdDxUZXh0SW5kaWNhdG9yTGlmZXRpbWU+KGxpZmV0aW1lKSk7CiB9CiAKIHZvaWQgV2Vi
UGFnZVByb3h5OjpjbGVhclRleHRJbmRpY2F0b3IoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRy
b2xsZXIuY3BwCmluZGV4IGUzM2U0OWFiMGYyMzkxMjE0MGVjMzVlZDFhZWU2ZThmZGVmN2UwYjEu
LmFhN2I2NDU2NmU4MGM3ZDAxOWM1ZjUwZDgxMDRhZGE3YTNkMWNhMDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9s
bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVz
ZXJDb250ZW50Q29udHJvbGxlci5jcHAKQEAgLTY5LDcgKzY5LDcgQEAgUGFzc1JlZlB0cjxXZWJV
c2VyQ29udGVudENvbnRyb2xsZXI+IFdlYlVzZXJDb250ZW50Q29udHJvbGxlcjo6Z2V0T3JDcmVh
dGUodWludDYKIAogV2ViVXNlckNvbnRlbnRDb250cm9sbGVyOjpXZWJVc2VyQ29udGVudENvbnRy
b2xsZXIodWludDY0X3QgaWRlbnRpZmllcikKICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVy
KQotICAgICwgbV91c2VyQ29udGVudENvbnRyb2xsZXIoKlVzZXJDb250ZW50Q29udHJvbGxlcjo6
Y3JlYXRlKCkpCisgICAgLCBtX3VzZXJDb250ZW50Q29udHJvbGxlcihVc2VyQ29udGVudENvbnRy
b2xsZXI6OmNyZWF0ZSgpKQogewogICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmFkZE1lc3Nh
Z2VSZWNlaXZlcihNZXNzYWdlczo6V2ViVXNlckNvbnRlbnRDb250cm9sbGVyOjptZXNzYWdlUmVj
ZWl2ZXJOYW1lKCksIG1faWRlbnRpZmllciwgKnRoaXMpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252806</attachid>
            <date>2015-05-10 01:04:08 -0700</date>
            <delta_ts>2015-05-10 02:22:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144841-20150510170248.patch</filename>
            <type>text/plain</type>
            <size>60148</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmI5NzUyMDk0ZjRhNmZj
ZWNjM2FiOTllZWRmOWY2MGQyZTE2ZTkwZi4uZGVjZmEwY2VhMmFhZTIzZDZmMWYxNjQzZTUwZDM2
NDFjOTUyZDA3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMCBAQAorMjAxNS0wNS0wOSAgR3l1
eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNlIFJlZiBp
bnN0ZWFkIG9mIFBhc3NSZWZQdHIgaW4gV2ViQ29yZS9wYWdlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUbyBraWxsIFBhc3NSZWZQdHIsIHRoaXMgcGF0
Y2ggcmVwbGFjZXMgUGFzc1JlZlB0ciB3aXRoIFJlZiBvciBSZWZQdHIKKyAgICAgICAgaW4gV2Vi
Q29yZS9wYWdlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlcy4K
KworICAgICAgICAqIHBhZ2UvRGVidWdQYWdlT3ZlcmxheXMuY3BwOgorICAgICAgICAqIHBhZ2Uv
RXZlbnRTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmNyZWF0ZSk6
CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5oOgorICAgICAgICAqIHBhZ2UvSGlzdG9yeS5o
OgorICAgICAgICAoV2ViQ29yZTo6SGlzdG9yeTo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL0xv
Y2F0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpMb2NhdGlvbjo6Y3JlYXRlKToKKyAgICAgICAg
KiBwYWdlL01haW5GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYWluRnJhbWU6OmNyZWF0
ZSk6CisgICAgICAgICogcGFnZS9NYWluRnJhbWUuaDoKKyAgICAgICAgKiBwYWdlL05hdmlnYXRv
ci5oOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHBh
Z2UvUGFnZU92ZXJsYXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZU92ZXJsYXk6OmNyZWF0
ZSk6CisgICAgICAgICogcGFnZS9QYWdlT3ZlcmxheS5oOgorICAgICAgICAqIHBhZ2UvUGVyZm9y
bWFuY2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0Lmg6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5TGlzdDo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdl
L1BlcmZvcm1hbmNlTWFyay5oOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VNYXJrOjpj
cmVhdGUpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZU1lYXN1cmU6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9QZXJm
b3JtYW5jZU5hdmlnYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTmF2aWdh
dGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNyZWF0ZSk6
CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5oOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VUaW1pbmc6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVVz
ZXJUaW1pbmcuaDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJUaW1pbmc6OmNyZWF0ZSk6CisgICAg
ICAgICogcGFnZS9TY3JlZW4uaDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNldHRpbmdzOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3Mu
aDoKKyAgICAgICAgKiBwYWdlL1RleHRJbmRpY2F0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VGV4dEluZGljYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL1RleHRJbmRpY2F0b3IuaDoK
KyAgICAgICAgKiBwYWdlL1VzZXJDb250ZW50Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpVc2VyQ29udGVudENvbnRyb2xsZXI6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9Vc2Vy
Q29udGVudENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL1VzZXJNZXNzYWdlSGFuZGxlckRl
c2NyaXB0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0
b3I6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXJzTmFtZXNwYWNl
Lmg6CisgICAgICAgICogcGFnZS9WaXNpdGVkTGlua1N0b3JlLmg6CisgICAgICAgICogcGFnZS9X
ZWJLaXROYW1lc3BhY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE5hbWVzcGFjZTo6Y3Jl
YXRlKToKKyAgICAgICAgKiBwYWdlL1dlYktpdFBvaW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJLaXRQb2ludDo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL1dvcmtlck5hdmlnYXRvci5oOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyTmF2aWdhdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHBh
Z2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpJbXBs
aWNpdEFuaW1hdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9LZXlmcmFt
ZUFuaW1hdGlvbi5oOgorICAgICAgICAqIHBhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xs
ZXIuaDoKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6SGlnaGxpZ2h0Ojpj
cmVhdGVGb3JTZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcjo6SGlnaGxpZ2h0OjpjcmVhdGVGb3JUZWxlcGhvbmVOdW1iZXIpOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVGaXhlZE5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3Rh
dGVGaXhlZE5vZGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZUZp
eGVkTm9kZTo6Y2xvbmUpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRl
Rml4ZWROb2RlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFt
ZVNjcm9sbGluZ05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVGcmFt
ZVNjcm9sbGluZ05vZGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0
ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6Y2xvbmUpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6Y2xvbmUpOgorICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmg6
CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6Y2xvbmUpOgorICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5oOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2Uv
c2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUzo6Y3JlYXRl
KToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUlPUy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlSU9TOjpjcmVhdGUpOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLm1tOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nVHJlZUZpeGVkTm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGlu
Zy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OmNyZWF0ZSk6CisgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMuY3BwOgorICAgICAgICAo
U2Nyb2xsaW5nVHJlZU1hYzo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMv
U2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdU
cmVlU3RpY2t5Tm9kZTo6Y3JlYXRlKToKKwogMjAxNS0wNS0wOSAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEludHJvZHVjZSBQYXJlbnROb2RlLmlkbCAvIE5vbkRv
Y3VtZW50VHlwZUNoaWxkTm9kZS5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA3NjRiNjg2NzQ0NmI4NjFhZDll
NTQxYmNkZjU2YzcwMWY3Mzg4OGRjLi4zYTYzMGUwODQ0YThlODcxOGQyNmEwM2ZhZWVjOTIxOWEx
ZGNkMDU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTUtMDUtMDkgIEd5dXlvdW5n
IEtpbSAgPGd5dXlvdW5nLmtpbUB3ZWJraXQub3JnPgorCisgICAgICAgIFVzZSBSZWYgaW5zdGVh
ZCBvZiBQYXNzUmVmUHRyIGluIFdlYkNvcmUvcGFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0ODQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVG8ga2lsbCBQYXNzUmVmUHRyLCB0aGlzIHBhdGNoIHJl
cGxhY2VzIFBhc3NSZWZQdHIgd2l0aCBSZWYgb3IgUmVmUHRyCisgICAgICAgIGluIFdlYkNvcmUv
cGFnZS4KKworICAgICAgICAoV2ViS2l0OjpXZWJVc2VyQ29udGVudENvbnRyb2xsZXI6OldlYlVz
ZXJDb250ZW50Q29udHJvbGxlcik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2V0VGV4dEluZGljYXRvcik6Cisg
ICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbToKKyAgICAgICAgKFdlYktp
dDo6UGFnZUNsaWVudEltcGw6OmRpZFBlcmZvcm1EaWN0aW9uYXJ5TG9va3VwKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxlci5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlVzZXJDb250ZW50Q29udHJvbGxlcjo6V2ViVXNlckNvbnRlbnRD
b250cm9sbGVyKToKKwogMjAxNS0wNS0wOSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29t
PgogCiAgICAgICAgIERlcGxveW1lbnQtdGFyZ2V0IF9fTlNpXyBhbmQgX19OU2RfIGRlZmluaXRp
b25zIGluIFdLRm91bmRhdGlvbi5oIGFyZSByZWR1bmRhbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRGVidWdQYWdlT3ZlcmxheXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
ZWJ1Z1BhZ2VPdmVybGF5cy5jcHAKaW5kZXggYzMxNzY1M2MxN2JhMzcyMjMxMjk3ZDlmMzA5MDU1
MjFlYTMzNmJkNi4uY2FlNDNkYWQ2YTc0MDgwNDA3NGVlYjM3YmE4YzQ5OTdmNGMwZDRjYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EZWJ1Z1BhZ2VPdmVybGF5cy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9EZWJ1Z1BhZ2VPdmVybGF5cy5jcHAKQEAgLTc0LDkgKzc0LDkg
QEAgcHJvdGVjdGVkOgogCiBjbGFzcyBNb3VzZVdoZWVsUmVnaW9uT3ZlcmxheSBmaW5hbCA6IHB1
YmxpYyBSZWdpb25PdmVybGF5IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxNb3Vz
ZVdoZWVsUmVnaW9uT3ZlcmxheT4gY3JlYXRlKE1haW5GcmFtZSYgZnJhbWUpCisgICAgc3RhdGlj
IFJlZjxNb3VzZVdoZWVsUmVnaW9uT3ZlcmxheT4gY3JlYXRlKE1haW5GcmFtZSYgZnJhbWUpCiAg
ICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1vdXNlV2hlZWxSZWdpb25PdmVybGF5
KGZyYW1lKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1vdXNlV2hlZWxSZWdpb25P
dmVybGF5KGZyYW1lKSk7CiAgICAgfQogCiBwcml2YXRlOgpAQCAtMTEzLDkgKzExMyw5IEBAIGJv
b2wgTW91c2VXaGVlbFJlZ2lvbk92ZXJsYXk6OnVwZGF0ZVJlZ2lvbigpCiAKIGNsYXNzIE5vbkZh
c3RTY3JvbGxhYmxlUmVnaW9uT3ZlcmxheSBmaW5hbCA6IHB1YmxpYyBSZWdpb25PdmVybGF5IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbk92
ZXJsYXk+IGNyZWF0ZShNYWluRnJhbWUmIGZyYW1lKQorICAgIHN0YXRpYyBSZWY8Tm9uRmFzdFNj
cm9sbGFibGVSZWdpb25PdmVybGF5PiBjcmVhdGUoTWFpbkZyYW1lJiBmcmFtZSkKICAgICB7Ci0g
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgTm9uRmFzdFNjcm9sbGFibGVSZWdpb25PdmVybGF5
KGZyYW1lKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE5vbkZhc3RTY3JvbGxhYmxl
UmVnaW9uT3ZlcmxheShmcmFtZSkpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5jcHAKaW5kZXggODU0YTVhODNjMjVkYWVlMjY1MWI0ZWZhZDdmZmNlN2Y4OWE4
YmMxZC4uM2Q3MGRlOTMxZDdjM2RmZDE5OWVmMTJlY2FkNjY5ZjI2YmVhODQ2ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKQEAgLTcyLDcgKzcyLDcgQEAgaW5saW5lIEV2ZW50U291
cmNlOjpFdmVudFNvdXJjZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBV
UkwmIHVybCwKICAgICBldmVudFNvdXJjZUluaXQuZ2V0KCJ3aXRoQ3JlZGVudGlhbHMiLCBtX3dp
dGhDcmVkZW50aWFscyk7CiB9CiAKLVBhc3NSZWZQdHI8RXZlbnRTb3VyY2U+IEV2ZW50U291cmNl
OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgU3RyaW5nJiB1
cmwsIGNvbnN0IERpY3Rpb25hcnkmIGV2ZW50U291cmNlSW5pdCwgRXhjZXB0aW9uQ29kZSYgZWMp
CitSZWZQdHI8RXZlbnRTb3VyY2U+IEV2ZW50U291cmNlOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IERpY3Rpb25hcnkmIGV2
ZW50U291cmNlSW5pdCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgaWYgKHVybC5pc0VtcHR5
KCkpIHsKICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudFNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5o
CmluZGV4IDUwYzBlNTdlMDAwMzQ1ODRhY2RjNDA5MjcyY2VmZGY0ZjBkMTE0NzQuLjdjZGIxMzY4
NTkzZjNjOWNlZDFiNjZiYjMwNDI0MDQ4ZTk2N2JhZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291
cmNlLmgKQEAgLTUxLDcgKzUxLDcgQEAgY2xhc3MgVGhyZWFkYWJsZUxvYWRlcjsKIGNsYXNzIEV2
ZW50U291cmNlIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnRTb3VyY2U+LCBwdWJsaWMg
RXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHJpdmF0ZSBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50
LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxFdmVudFNvdXJjZT4gY3JlYXRlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgRGljdGlvbmFyeSYs
IEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBzdGF0aWMgUmVmUHRyPEV2ZW50U291cmNlPiBjcmVhdGUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBEaWN0aW9u
YXJ5JiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1YWwgfkV2ZW50U291cmNlKCk7CiAKICAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbG9uZyBsb25nIGRlZmF1bHRSZWNvbm5lY3REZWxheTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSGlzdG9yeS5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9IaXN0b3J5LmgKaW5kZXggZjhlMWZkMTU2N2QzZjY1Mjg1YTljOTI0Zjc4MjBlZDlm
OGQ1OGJjOC4uMTQ1NGM0NDYxYThjMjIwOTk2MjZkZmQ4MTU5Mjk2YzIyOGMyNWVkNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9IaXN0b3J5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9IaXN0b3J5LmgKQEAgLTQyLDcgKzQyLDcgQEAgdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29k
ZTsKIAogY2xhc3MgSGlzdG9yeSA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZD
b3VudGVkPEhpc3Rvcnk+LCBwdWJsaWMgRE9NV2luZG93UHJvcGVydHkgewogcHVibGljOgotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPEhpc3Rvcnk+IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBIaXN0b3J5KGZyYW1lKSk7IH0KKyAgICBzdGF0aWMgUmVmPEhpc3Rvcnk+
IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSGlzdG9yeShmcmFt
ZSkpOyB9CiAKICAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdDsKICAgICBQYXNzUmVmUHRyPFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZT4gc3RhdGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTG9jYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaAppbmRleCAz
MzM4ODc5MzRhN2VmMmY3N2I3YWZiYmI0NDY5OTgxNGI2NzU0NWNhLi45NTY2ZGE0ODc2NWZmNmRk
YjQ3OWE2MmUwYWY0ZDI3YjRiNmVmYjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0xvY2F0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5oCkBAIC00Niw3
ICs0Niw3IEBAIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKIGNsYXNzIExvY2F0aW9uIDog
cHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8TG9jYXRpb24+LCBwdWJs
aWMgRE9NV2luZG93UHJvcGVydHkgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPExv
Y2F0aW9uPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgTG9jYXRp
b24oZnJhbWUpKTsgfQorICAgIHN0YXRpYyBSZWY8TG9jYXRpb24+IGNyZWF0ZShGcmFtZSogZnJh
bWUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTG9jYXRpb24oZnJhbWUpKTsgfQogCiAgICAgdm9p
ZCBzZXRIcmVmKGNvbnN0IFN0cmluZyYsIERPTVdpbmRvdyYgYWN0aXZlV2luZG93LCBET01XaW5k
b3cmIGZpcnN0V2luZG93KTsKICAgICBTdHJpbmcgaHJlZigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9N
YWluRnJhbWUuY3BwCmluZGV4IDdiN2UwMDM5M2Q4MGU5ZDE2YjRjNTRjMDUyMDEwOGVhMjI4MDdm
NzIuLmJmZDFlYWM0OWViYWFmMTBjMWZmMGU3ZWVlZjc2MjQ1MGUzZGFlOWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL01haW5GcmFtZS5jcHAKQEAgLTYxLDkgKzYxLDkgQEAgTWFpbkZyYW1lOjp+TWFpbkZyYW1l
KCkKICAgICAgICAgbV9kaWFnbm9zdGljTG9nZ2luZ0NsaWVudC0+bWFpbkZyYW1lRGVzdHJveWVk
KCk7CiB9CiAKLVJlZlB0cjxNYWluRnJhbWU+IE1haW5GcmFtZTo6Y3JlYXRlKFBhZ2UmIHBhZ2Us
IFBhZ2VDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQorUmVmPE1haW5GcmFtZT4gTWFpbkZy
YW1lOjpjcmVhdGUoUGFnZSYgcGFnZSwgUGFnZUNvbmZpZ3VyYXRpb24mIGNvbmZpZ3VyYXRpb24p
CiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNYWluRnJhbWUocGFnZSwgY29uZmlndXJhdGlv
bikpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1haW5GcmFtZShwYWdlLCBjb25maWd1cmF0
aW9uKSk7CiB9CiAKIHZvaWQgTWFpbkZyYW1lOjpzZWxmT25seVJlZigpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NYWlu
RnJhbWUuaAppbmRleCA5Y2Y4Y2E1ODA0NjUwZmMxZDJlMmIyMTM5MjBhODkyYmU1NTJiMDY0Li4y
ODQxMjUzODgwZGQ4ZmQxYjVjZmVmMjY5M2JjZTFiYjJmNTIwNmQ1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFp
bkZyYW1lLmgKQEAgLTQwLDcgKzQwLDcgQEAgY2xhc3MgV2hlZWxFdmVudERlbHRhVHJhY2tlcjsK
IAogY2xhc3MgTWFpbkZyYW1lIGZpbmFsIDogcHVibGljIEZyYW1lIHsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgUmVmUHRyPE1haW5GcmFtZT4gY3JlYXRlKFBhZ2UmLCBQYWdlQ29uZmlndXJhdGlvbiYp
OworICAgIHN0YXRpYyBSZWY8TWFpbkZyYW1lPiBjcmVhdGUoUGFnZSYsIFBhZ2VDb25maWd1cmF0
aW9uJik7CiAKICAgICB2aXJ0dWFsIH5NYWluRnJhbWUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9y
LmgKaW5kZXggYzZkMzhhYTY4OGExOTNkODA2NmNlZWQwZGY0ODU2MGM2OWEwZjBkNS4uMTZhYmRk
ODY3NzYxNDdmNzFhZDA1YTFiODc1OWMwODU1MDQ2MzMyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9OYXZpZ2F0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRv
ci5oCkBAIC00MSw3ICs0MSw3IEBAIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKIGNsYXNz
IE5hdmlnYXRvciA6IHB1YmxpYyBOYXZpZ2F0b3JCYXNlLCBwdWJsaWMgU2NyaXB0V3JhcHBhYmxl
LCBwdWJsaWMgUmVmQ291bnRlZDxOYXZpZ2F0b3I+LCBwdWJsaWMgRE9NV2luZG93UHJvcGVydHks
IHB1YmxpYyBTdXBwbGVtZW50YWJsZTxOYXZpZ2F0b3I+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMg
UGFzc1JlZlB0cjxOYXZpZ2F0b3I+IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0
UmVmKG5ldyBOYXZpZ2F0b3IoZnJhbWUpKTsgfQorICAgIHN0YXRpYyBSZWY8TmF2aWdhdG9yPiBj
cmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IE5hdmlnYXRvcihmcmFt
ZSkpOyB9CiAgICAgdmlydHVhbCB+TmF2aWdhdG9yKCk7CiAKICAgICBTdHJpbmcgYXBwVmVyc2lv
bigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcAppbmRleCA2ZmMzMjQ3YjM3
NTM4MTJlYWMzMTJhYWQ1ZDYwYWZjNjRkODhhN2Q4Li5hOWI5MWNkMTQxOTVkYzYwYWQ4NjI5YjY2
ZjMzYzE1ZWE1Nzg2M2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVy
bGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcApAQCAtNDYs
OSArNDYsOSBAQCBzdGF0aWMgUGFnZU92ZXJsYXk6OlBhZ2VPdmVybGF5SUQgZ2VuZXJhdGVQYWdl
T3ZlcmxheUlEKCkKICAgICByZXR1cm4gKytwYWdlT3ZlcmxheUlEOwogfQogCi1QYXNzUmVmUHRy
PFBhZ2VPdmVybGF5PiBQYWdlT3ZlcmxheTo6Y3JlYXRlKENsaWVudCYgY2xpZW50LCBPdmVybGF5
VHlwZSBvdmVybGF5VHlwZSkKK1JlZjxQYWdlT3ZlcmxheT4gUGFnZU92ZXJsYXk6OmNyZWF0ZShD
bGllbnQmIGNsaWVudCwgT3ZlcmxheVR5cGUgb3ZlcmxheVR5cGUpCiB7Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBQYWdlT3ZlcmxheShjbGllbnQsIG92ZXJsYXlUeXBlKSk7CisgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgUGFnZU92ZXJsYXkoY2xpZW50LCBvdmVybGF5VHlwZSkpOwogfQogCiBQ
YWdlT3ZlcmxheTo6UGFnZU92ZXJsYXkoQ2xpZW50JiBjbGllbnQsIE92ZXJsYXlUeXBlIG92ZXJs
YXlUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5oCmluZGV4IDhhYjZjNDU1MDViZGQ0MzY1
YWRiM2FiNDJjNWRmZWZhYjE2Y2VjNDAuLmY3MjM2NTAyZTc3ZDdkYzA2ZDhjNGIyODNkYzJhZTE5
NTg5YTZjMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmgKQEAgLTY5LDcgKzY5LDcgQEAg
cHVibGljOgogICAgICAgICBEb2N1bWVudCwgLy8gU2NhbGVzIGFuZCBzY3JvbGxzIHdpdGggdGhl
IGRvY3VtZW50LgogICAgIH07CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUGFzc1JlZlB0
cjxQYWdlT3ZlcmxheT4gY3JlYXRlKENsaWVudCYsIE92ZXJsYXlUeXBlID0gT3ZlcmxheVR5cGU6
OlZpZXcpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWY8UGFnZU92ZXJsYXk+IGNyZWF0
ZShDbGllbnQmLCBPdmVybGF5VHlwZSA9IE92ZXJsYXlUeXBlOjpWaWV3KTsKICAgICBXRUJDT1JF
X0VYUE9SVCB2aXJ0dWFsIH5QYWdlT3ZlcmxheSgpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgUGFn
ZU92ZXJsYXlDb250cm9sbGVyKiBjb250cm9sbGVyKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlLmgKaW5kZXggNzZlNDliNGRiMDUwMDhmNmJjZjA1MmRkZDQ5ODcwMjFhYTE5NTIxZC4u
ZDI2ODAxODg3NzY3OTc1ZDE1YTRiMWU2ZjFmMjhjNzhjMjlmOTk0ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2UuaApAQCAtNTQsNyArNTQsNyBAQCBjbGFzcyBVc2VyVGltaW5nOwogCiBjbGFz
cyBQZXJmb3JtYW5jZSBmaW5hbCA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZD
b3VudGVkPFBlcmZvcm1hbmNlPiwgcHVibGljIERPTVdpbmRvd1Byb3BlcnR5LCBwdWJsaWMgRXZl
bnRUYXJnZXRXaXRoSW5saW5lRGF0YSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8
UGVyZm9ybWFuY2U+IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQ
ZXJmb3JtYW5jZShmcmFtZSkpOyB9CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZT4gY3JlYXRl
KEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZShmcmFtZSkp
OyB9CiAgICAgflBlcmZvcm1hbmNlKCk7CiAKICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0SW50ZXJm
YWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gUGVyZm9y
bWFuY2VFdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VFbnRyeUxpc3QuaAppbmRleCBkOTAwMjg3YWRkYmRkNTFkZDRhMzI4YWRjYzk5N2Fl
YjE3MTY0ODdjLi45N2EyMTJkZDZmZDA1NDQ3NjZlZDc1NjNjMTc1NmI5MTM2ZDdmZWQ2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5oCkBAIC00NSw3ICs0NSw3
IEBAIGNsYXNzIFBlcmZvcm1hbmNlRW50cnk7CiAKIGNsYXNzIFBlcmZvcm1hbmNlRW50cnlMaXN0
IDogcHVibGljIFJlZkNvdW50ZWQ8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IHsKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxQZXJmb3JtYW5jZUVudHJ5TGlzdD4gY3JlYXRlKCkgeyByZXR1
cm4gYWRvcHRSZWYobmV3IFBlcmZvcm1hbmNlRW50cnlMaXN0KTsgfQorICAgIHN0YXRpYyBSZWY8
UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVy
Zm9ybWFuY2VFbnRyeUxpc3QpOyB9CiAgICAgflBlcmZvcm1hbmNlRW50cnlMaXN0KCk7CiAKICAg
ICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VNYXJrLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTWFy
ay5oCmluZGV4IDY0YjM5YWJmZDAwN2FlZDVjMzAxZWEyNzBmYWQ3ZTQxYWNlZjY3NDkuLmNkNzFh
MDI2ZmYzMWQ3MWYxNGVhY2Y4N2RhNTA3MGUzNmIwN2NhODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VNYXJrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU1hcmsuaApAQCAtMzYsNyArMzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIFBlcmZvcm1hbmNlTWFyayA6IHB1YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKIHB1Ymxp
YzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxQZXJmb3JtYW5jZU1hcms+IGNyZWF0ZShjb25zdCBT
dHJpbmcmIG5hbWUsIGRvdWJsZSBzdGFydFRpbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQZXJm
b3JtYW5jZU1hcmsobmFtZSwgc3RhcnRUaW1lKSk7IH0KKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1h
bmNlTWFyaz4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgZG91YmxlIHN0YXJ0VGltZSkgeyBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZU1hcmsobmFtZSwgc3RhcnRUaW1lKSk7IH0K
IAogICAgIHZpcnR1YWwgYm9vbCBpc01hcmsoKSB7IHJldHVybiB0cnVlOyB9CiAgICAgCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1lYXN1cmUuaAppbmRleCA2NTU2NDk1OWIwNjQ5NzRj
NDNmZDc5YzU5NmI2MjJkNzk5NThkZjY4Li5hZjNlMzZlNTA2MTk0Y2YzMzk4YjhmYWZlZjZiNjI4
MzIzYWFmZDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTWVh
c3VyZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmgKQEAg
LTM2LDcgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQZXJmb3JtYW5jZU1l
YXN1cmUgOiBwdWJsaWMgUGVyZm9ybWFuY2VFbnRyeSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBh
c3NSZWZQdHI8UGVyZm9ybWFuY2VNZWFzdXJlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lLCBk
b3VibGUgc3RhcnRUaW1lLCBkb3VibGUgZHVyYXRpb24pIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQ
ZXJmb3JtYW5jZU1lYXN1cmUobmFtZSwgc3RhcnRUaW1lLCBkdXJhdGlvbikpOyB9CisgICAgc3Rh
dGljIFJlZjxQZXJmb3JtYW5jZU1lYXN1cmU+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIGRv
dWJsZSBzdGFydFRpbWUsIGRvdWJsZSBkdXJhdGlvbikgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBQ
ZXJmb3JtYW5jZU1lYXN1cmUobmFtZSwgc3RhcnRUaW1lLCBkdXJhdGlvbikpOyB9CiAKICAgICB2
aXJ0dWFsIGJvb2wgaXNNZWFzdXJlKCkgeyByZXR1cm4gdHJ1ZTsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaAppbmRleCBmMzk3OTIzZTZhOWRiNDRiMGVm
MzQ3YzU0MDIwNGJhOGE2ZThiMWZkLi4yYWNjNjBiMDI1M2EyYzdkZDY3OWNkMWZkYzg0Zjk1NmVl
NDc0MDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdh
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgK
QEAgLTQzLDcgKzQzLDcgQEAgY2xhc3MgRnJhbWU7CiAKIGNsYXNzIFBlcmZvcm1hbmNlTmF2aWdh
dGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlTmF2aWdhdGlvbj4sIHB1YmxpYyBE
T01XaW5kb3dQcm9wZXJ0eSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyZm9y
bWFuY2VOYXZpZ2F0aW9uPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihu
ZXcgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uKGZyYW1lKSk7IH0KKyAgICBzdGF0aWMgUmVmPFBlcmZv
cm1hbmNlTmF2aWdhdGlvbj4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYo
Km5ldyBQZXJmb3JtYW5jZU5hdmlnYXRpb24oZnJhbWUpKTsgfQogCiAgICAgZW51bSBQZXJmb3Jt
YW5jZU5hdmlnYXRpb25UeXBlIHsKICAgICAgICAgVFlQRV9OQVZJR0FURSwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgKaW5kZXggZTc4NWE0NjIw
MTdjYmJiZjVhMzY1MTlkOTlkY2IwMDEwZDZlYTRjYy4uOTlkZmM1YmNkY2RjNzllMzUzZTk0OTM2
YzQ4Mjg1MzYxN2M1ZjUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nLmgKQEAgLTUwLDkgKzUwLDkgQEAgY2xhc3MgUmVzb3VyY2VSZXNwb25z
ZTsKIAogY2xhc3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyA6IHB1YmxpYyBQZXJmb3JtYW5j
ZUVudHJ5IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nPiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBpbml0aWF0b3JUeXBlLCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3Bv
bnNlLCBkb3VibGUgaW5pdGlhdGlvblRpbWUsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCog
cmVxdWVzdGluZ0RvY3VtZW50KQorICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZz4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgaW5pdGlhdG9yVHlwZSwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwg
ZG91YmxlIGluaXRpYXRpb25UaW1lLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqIHJlcXVl
c3RpbmdEb2N1bWVudCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZyhpbml0aWF0b3JUeXBlLCByZXF1ZXN0LCByZXNwb25zZSwgaW5p
dGlhdGlvblRpbWUsIGZpbmlzaFRpbWUsIHJlcXVlc3RpbmdEb2N1bWVudCkpOworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nKGluaXRpYXRvclR5
cGUsIHJlcXVlc3QsIHJlc3BvbnNlLCBpbml0aWF0aW9uVGltZSwgZmluaXNoVGltZSwgcmVxdWVz
dGluZ0RvY3VtZW50KSk7CiAgICAgfQogCiAgICAgQXRvbWljU3RyaW5nIGluaXRpYXRvclR5cGUo
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1p
bmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaAppbmRleCBiNjE0
ZjEzOTUwOTJkM2UxMGNhZWRjMzczYWE2ZThkNzgyMDE5N2VkLi5lNTQxODhhNTgzODc2ODYzM2Vk
ZTkzMzc0ZjA2NjdiOTE1ZTU5NjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlVGltaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRp
bWluZy5oCkBAIC00Nyw3ICs0Nyw3IEBAIGNsYXNzIFJlc291cmNlTG9hZFRpbWluZzsKIAogY2xh
c3MgUGVyZm9ybWFuY2VUaW1pbmcgOiBwdWJsaWMgUmVmQ291bnRlZDxQZXJmb3JtYW5jZVRpbWlu
Zz4sIHB1YmxpYyBET01XaW5kb3dQcm9wZXJ0eSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8UGVyZm9ybWFuY2VUaW1pbmc+IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFk
b3B0UmVmKG5ldyBQZXJmb3JtYW5jZVRpbWluZyhmcmFtZSkpOyB9CisgICAgc3RhdGljIFJlZjxQ
ZXJmb3JtYW5jZVRpbWluZz4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYo
Km5ldyBQZXJmb3JtYW5jZVRpbWluZyhmcmFtZSkpOyB9CiAKICAgICB1bnNpZ25lZCBsb25nIGxv
bmcgbmF2aWdhdGlvblN0YXJ0KCkgY29uc3Q7CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIHVubG9h
ZEV2ZW50U3RhcnQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VVc2VyVGltaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVXNl
clRpbWluZy5oCmluZGV4IDE0YzhjM2Y5YjFjY2JlNDVhZmVjMDgxNDE0YzFmMDA4NzZmMDA1MDcu
LmFhMjNmZGVjMjQ3YzFlYzlkZjE2NTQ3M2ZjZGY2ODFhMjM4ZWQ4Y2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZVVzZXJUaW1pbmcuaApAQCAtNDgsNyArNDgsNyBAQCB0eXBl
ZGVmIEhhc2hNYXA8U3RyaW5nLCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1hbmNlRW50cnk+ID4gPiBQ
ZXJmb3JtYW5jZUVudHJ5TWFwOwogCiBjbGFzcyBVc2VyVGltaW5nIDogcHVibGljIFJlZkNvdW50
ZWQ8VXNlclRpbWluZz4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFVzZXJUaW1p
bmc+IGNyZWF0ZShQZXJmb3JtYW5jZSogcGVyZm9ybWFuY2UpIHsgcmV0dXJuIGFkb3B0UmVmKG5l
dyBVc2VyVGltaW5nKHBlcmZvcm1hbmNlKSk7IH0KKyAgICBzdGF0aWMgUmVmPFVzZXJUaW1pbmc+
IGNyZWF0ZShQZXJmb3JtYW5jZSogcGVyZm9ybWFuY2UpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
VXNlclRpbWluZyhwZXJmb3JtYW5jZSkpOyB9CiAKICAgICB2b2lkIG1hcmsoY29uc3QgU3RyaW5n
JiBtYXJrTmFtZSwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgY2xlYXJNYXJrcyhjb25zdCBT
dHJpbmcmIG1hcmtOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2NyZWVu
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NjcmVlbi5oCmluZGV4IDk0NzJlMTE5N2U5NjY1ZTAw
ZGU4MGYzOTQ5NGMyNDE0YTAzMmRhNWYuLjBlZGNkMWFjZGNiNzdhMDFlNWQ3ZGY5MTk4ODE0MzQy
NzRiYzg0MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2NyZWVuLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9TY3JlZW4uaApAQCAtNDEsNyArNDEsNyBAQCBjbGFzcyBGcmFt
ZTsKIAogY2xhc3MgU2NyZWVuIGZpbmFsIDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGlj
IFJlZkNvdW50ZWQ8U2NyZWVuPiwgcHVibGljIERPTVdpbmRvd1Byb3BlcnR5IHsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3JlZW4+IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0
dXJuIGFkb3B0UmVmKG5ldyBTY3JlZW4oZnJhbWUpKTsgfQorICAgIHN0YXRpYyBSZWY8U2NyZWVu
PiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFNjcmVlbihmcmFt
ZSkpOyB9CiAKICAgICB1bnNpZ25lZCBoZWlnaHQoKSBjb25zdDsKICAgICB1bnNpZ25lZCB3aWR0
aCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCAxZjBkNzFiMmY0ZDBmZjY4
YjQxNmFiNDdkYWQzYjZmNWFlZWY1NzcwLi43ODE1ODlhMjA1YjE0YzkwYWZmMTAyODg5NzIyNmE5
ZTJmYWM0ZTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAtMjEzLDkgKzIxMyw5IEBA
IFNldHRpbmdzOjp+U2V0dGluZ3MoKQogewogfQogCi1QYXNzUmVmUHRyPFNldHRpbmdzPiBTZXR0
aW5nczo6Y3JlYXRlKFBhZ2UqIHBhZ2UpCitSZWY8U2V0dGluZ3M+IFNldHRpbmdzOjpjcmVhdGUo
UGFnZSogcGFnZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNldHRpbmdzKHBhZ2UpKTsK
KyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTZXR0aW5ncyhwYWdlKSk7CiB9CiAKIFNFVFRJTkdT
X1NFVFRFUl9CT0RJRVMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCA1NDExNWY5MzAyY2ViOWUz
OGNjNDcyMzViMjJlMzc5YTk0OTFhZGQyLi44ZTBiNTI5OTYxMDkyNDY5YmMwMzhlOGUzZjJmNDkz
YmFjMDVlYzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBAIC03MSw3ICs3MSw3IEBAIHR5cGVk
ZWYgdW5zaWduZWQgRGVidWdPdmVybGF5UmVnaW9uczsKIGNsYXNzIFNldHRpbmdzIDogcHVibGlj
IFJlZkNvdW50ZWQ8U2V0dGluZ3M+IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXR0aW5n
cyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFNldHRpbmdzPiBjcmVhdGUoUGFnZSopOworICAgIHN0YXRpYyBSZWY8U2V0dGluZ3M+IGNy
ZWF0ZShQYWdlKik7CiAgICAgflNldHRpbmdzKCk7CiAKICAgICB2b2lkIHBhZ2VEZXN0cm95ZWQo
KSB7IG1fcGFnZSA9IG51bGxwdHI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
VGV4dEluZGljYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1RleHRJbmRpY2F0b3IuY3Bw
CmluZGV4IDlmMTM2NGQzMzkwOWRiNmE3OWZiNTAxNDgwMjA4ZDM2NWZjMDQ1N2EuLmY2NjIyYTNj
ZmI3ZWRhZTcwNTNmYzBhYTYxOWY3YmVmNGQxNzZiNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvVGV4dEluZGljYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9UZXh0
SW5kaWNhdG9yLmNwcApAQCAtODUsOSArODUsOSBAQCBzdGF0aWMgYm9vbCB0ZXh0SW5kaWNhdG9y
c0ZvclRleHRSZWN0c092ZXJsYXAoY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mIHRleHRSZWN0cwog
ICAgIHJldHVybiBmYWxzZTsKIH0KIAotUGFzc1JlZlB0cjxUZXh0SW5kaWNhdG9yPiBUZXh0SW5k
aWNhdG9yOjpjcmVhdGUoY29uc3QgVGV4dEluZGljYXRvckRhdGEmIGRhdGEpCitSZWY8VGV4dElu
ZGljYXRvcj4gVGV4dEluZGljYXRvcjo6Y3JlYXRlKGNvbnN0IFRleHRJbmRpY2F0b3JEYXRhJiBk
YXRhKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgVGV4dEluZGljYXRvcihkYXRhKSk7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVGV4dEluZGljYXRvcihkYXRhKSk7CiB9CiAKIFBhc3NS
ZWZQdHI8VGV4dEluZGljYXRvcj4gVGV4dEluZGljYXRvcjo6Y3JlYXRlV2l0aFJhbmdlKGNvbnN0
IFJhbmdlJiByYW5nZSwgVGV4dEluZGljYXRvclByZXNlbnRhdGlvblRyYW5zaXRpb24gcHJlc2Vu
dGF0aW9uVHJhbnNpdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVGV4dElu
ZGljYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9UZXh0SW5kaWNhdG9yLmgKaW5kZXggYzY2
NGZiNjJlODIyNGUxMGE2ZjVjZjVhYTA1NDMwZmM2NDZiN2Y4Ny4uYzU1NjEzOGVlNGIxZDllNWY3
YTA0NjBhNjQzMzMzNmY0ZmYyNWFmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9U
ZXh0SW5kaWNhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9UZXh0SW5kaWNhdG9yLmgK
QEAgLTgxLDcgKzgxLDcgQEAgc3RydWN0IFRleHRJbmRpY2F0b3JEYXRhIHsKIAogY2xhc3MgVGV4
dEluZGljYXRvciA6IHB1YmxpYyBSZWZDb3VudGVkPFRleHRJbmRpY2F0b3I+IHsKIHB1YmxpYzoK
LSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUGFzc1JlZlB0cjxUZXh0SW5kaWNhdG9yPiBjcmVh
dGUoY29uc3QgVGV4dEluZGljYXRvckRhdGEmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMg
UmVmPFRleHRJbmRpY2F0b3I+IGNyZWF0ZShjb25zdCBUZXh0SW5kaWNhdG9yRGF0YSYpOwogICAg
IFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBQYXNzUmVmUHRyPFRleHRJbmRpY2F0b3I+IGNyZWF0ZVdp
dGhTZWxlY3Rpb25JbkZyYW1lKEZyYW1lJiwgVGV4dEluZGljYXRvclByZXNlbnRhdGlvblRyYW5z
aXRpb24pOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBQYXNzUmVmUHRyPFRleHRJbmRpY2F0
b3I+IGNyZWF0ZVdpdGhSYW5nZShjb25zdCBSYW5nZSYsIFRleHRJbmRpY2F0b3JQcmVzZW50YXRp
b25UcmFuc2l0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyQ29u
dGVudENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyQ29udGVudENvbnRy
b2xsZXIuY3BwCmluZGV4IDNkNjQ5NGNhMmUzYWMzMWY2NGNlZTRkNDkwMTE1NDA5ZWRjMTFkYmIu
LmVlYTk1MWEyMzZkZGIxM2NkYTEwODUzNzZjOWJlNGFmNzhjMzZiMTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvVXNlckNvbnRlbnRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1VzZXJDb250ZW50Q29udHJvbGxlci5jcHAKQEAgLTQ1LDkgKzQ1LDkgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZWZQdHI8VXNlckNvbnRlbnRDb250cm9sbGVyPiBV
c2VyQ29udGVudENvbnRyb2xsZXI6OmNyZWF0ZSgpCitSZWY8VXNlckNvbnRlbnRDb250cm9sbGVy
PiBVc2VyQ29udGVudENvbnRyb2xsZXI6OmNyZWF0ZSgpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBVc2VyQ29udGVudENvbnRyb2xsZXIpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFVz
ZXJDb250ZW50Q29udHJvbGxlcik7CiB9CiAKIFVzZXJDb250ZW50Q29udHJvbGxlcjo6VXNlckNv
bnRlbnRDb250cm9sbGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlckNv
bnRlbnRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJDb250ZW50Q29udHJv
bGxlci5oCmluZGV4IDY2MzAxNGU5ZTY1MWU4MTAxZDY2ZmM4OGQzZjFkYjNiZTQxYjFkMWYuLmQ5
Nzk3ZWE2ZTY5OTdkMDJmNmNiN2IwMDg5M2ZjNWFjNmJiNWZhZTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvVXNlckNvbnRlbnRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9Vc2VyQ29udGVudENvbnRyb2xsZXIuaApAQCAtNjAsNyArNjAsNyBAQCBzdHJ1Y3Qg
QWN0aW9uOwogCiBjbGFzcyBVc2VyQ29udGVudENvbnRyb2xsZXIgOiBwdWJsaWMgUmVmQ291bnRl
ZDxVc2VyQ29udGVudENvbnRyb2xsZXI+IHsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBz
dGF0aWMgUmVmUHRyPFVzZXJDb250ZW50Q29udHJvbGxlcj4gY3JlYXRlKCk7CisgICAgV0VCQ09S
RV9FWFBPUlQgc3RhdGljIFJlZjxVc2VyQ29udGVudENvbnRyb2xsZXI+IGNyZWF0ZSgpOwogICAg
IFdFQkNPUkVfRVhQT1JUIH5Vc2VyQ29udGVudENvbnRyb2xsZXIoKTsKIAogICAgIHZvaWQgYWRk
UGFnZShQYWdlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdl
SGFuZGxlckRlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5k
bGVyRGVzY3JpcHRvci5oCmluZGV4IDY0NGJhZTc4NjJiYWM0MzgxNjI5OGUzOGE4YjlmMDQxMzVk
Yjk5YTQuLjQ0ZGIzYWY4YjYwYjJkY2Y3NWFlMzdlMTBiMGMyZjcxMTA5MWIyMjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5oCkBA
IC00OCw5ICs0OCw5IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFBvc3RNZXNz
YWdlKFVzZXJNZXNzYWdlSGFuZGxlciYsIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSopID0gMDsKICAg
ICB9OwogCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8VXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRv
cj4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgRE9NV3JhcHBlcldvcmxkJiB3b3Js
ZCwgQ2xpZW50JiBjbGllbnQpCisgICAgc3RhdGljIFJlZjxVc2VyTWVzc2FnZUhhbmRsZXJEZXNj
cmlwdG9yPiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBET01XcmFwcGVyV29ybGQm
IHdvcmxkLCBDbGllbnQmIGNsaWVudCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvcihuYW1lLCB3b3JsZCwgY2xpZW50KSk7Cisg
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3Io
bmFtZSwgd29ybGQsIGNsaWVudCkpOwogICAgIH0KICAgICBXRUJDT1JFX0VYUE9SVCB+VXNlck1l
c3NhZ2VIYW5kbGVyRGVzY3JpcHRvcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1VzZXJNZXNzYWdlSGFuZGxlcnNOYW1lc3BhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
VXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5oCmluZGV4IDM2ZjliMmRkMGZmMjg3ZjNlZjkz
M2I1NTMyNTNmMWFjMWU5NDMyMDUuLjRlZWNiNTAzYmMxYTRhYTJiMjRmOWMzYzk3Y2VlMmYzNzdh
MTgxYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVy
c05hbWVzcGFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVy
c05hbWVzcGFjZS5oCkBAIC0zMCw3ICszMCw2IEBACiAKICNpbmNsdWRlICJGcmFtZURlc3RydWN0
aW9uT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJVc2VyTWVzc2FnZUhhbmRsZXIuaCIKLSNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvVmlzaXRlZExpbmtTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9WaXNpdGVkTGlua1N0b3JlLmgKaW5kZXggM2U0NzAzYzk0NWU4MzdkMzFiNmY4YjY0MzZhZDY5
MjJiMTNjYzUyZS4uNDU5NGE1OTJlOGQ2ZDVhOThmNzA0ZmMwNjU3NmZiYTJjMDVkOGUwMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9WaXNpdGVkTGlua1N0b3JlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9WaXNpdGVkTGlua1N0b3JlLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAog
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNs
dWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2ViS2l0
TmFtZXNwYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dlYktpdE5hbWVzcGFjZS5oCmluZGV4
IDY1OGQwZTE1MThkYzRlMjUxM2JhZGNhY2E2MTkzOTE3MDc1MmU1MTAuLmY4NWY0MTkwM2NmZDQ1
YWRlOWYzMDdmZWMzZDg5MjM5NmYwYzk5YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvV2ViS2l0TmFtZXNwYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XZWJLaXROYW1l
c3BhY2UuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShVU0VSX01FU1NBR0VfSEFORExF
UlMpCiAKICNpbmNsdWRlICJET01XaW5kb3dQcm9wZXJ0eS5oIgotI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CiAKQEAgLTQwLDkgKzM5LDkgQEAgY2xhc3MgVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFj
ZTsKIAogY2xhc3MgV2ViS2l0TmFtZXNwYWNlIDogcHVibGljIERPTVdpbmRvd1Byb3BlcnR5LCBw
dWJsaWMgUmVmQ291bnRlZDxXZWJLaXROYW1lc3BhY2U+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMg
UGFzc1JlZlB0cjxXZWJLaXROYW1lc3BhY2U+IGNyZWF0ZShGcmFtZSYgZnJhbWUpCisgICAgc3Rh
dGljIFJlZjxXZWJLaXROYW1lc3BhY2U+IGNyZWF0ZShGcmFtZSYgZnJhbWUpCiAgICAgewotICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYktpdE5hbWVzcGFjZShmcmFtZSkpOworICAgICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJLaXROYW1lc3BhY2UoZnJhbWUpKTsKICAgICB9CiAK
ICAgICB2aXJ0dWFsIH5XZWJLaXROYW1lc3BhY2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvV2ViS2l0UG9pbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2ViS2l0UG9pbnQu
aAppbmRleCA0MDA0NzI0NzY0OTdkZGJlODc5NzMwZGI5ZGJlNjdlOTNkZDBlOGQzLi5hOTliNjc0
YjA2NTdiMWE3ODVlMTZjOWYxNGE4YzYxYzQ0YWU0YTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1dlYktpdFBvaW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XZWJLaXRQ
b2ludC5oCkBAIC0zNCwxMyArMzQsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNz
IFdlYktpdFBvaW50IDogcHVibGljIFJlZkNvdW50ZWQ8V2ViS2l0UG9pbnQ+IHsKICAgICBwdWJs
aWM6CiAKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViS2l0UG9pbnQ+IGNyZWF0ZSgpCisg
ICAgICAgIHN0YXRpYyBSZWY8V2ViS2l0UG9pbnQ+IGNyZWF0ZSgpCiAgICAgICAgIHsKLSAgICAg
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViS2l0UG9pbnQoKSk7CisgICAgICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJLaXRQb2ludCgpKTsKICAgICAgICAgfQotICAgICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxXZWJLaXRQb2ludD4gY3JlYXRlKGZsb2F0IHgsIGZsb2F0IHkpCisg
ICAgICAgIHN0YXRpYyBSZWY8V2ViS2l0UG9pbnQ+IGNyZWF0ZShmbG9hdCB4LCBmbG9hdCB5KQog
ICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYktpdFBvaW50KHgs
IHkpKTsKKyAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYktpdFBvaW50KHgsIHkp
KTsKICAgICAgICAgfQogCiAgICAgICAgIGZsb2F0IHgoKSBjb25zdCB7IHJldHVybiBtX3g7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV29ya2VyTmF2aWdhdG9yLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1dvcmtlck5hdmlnYXRvci5oCmluZGV4IGNmZjA3YWU3MDg5OWZmYmIw
OTUwYzRiMzlhNTFiOThmNzAzYzg4ODguLjNhZWVhYWI4YzQwYzUwNjJhMDYwNDk0YzgwMmE1OGE4
Yjc5OGU2MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV29ya2VyTmF2aWdhdG9y
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Xb3JrZXJOYXZpZ2F0b3IuaApAQCAtMzcsNyAr
MzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFdvcmtlck5hdmlnYXRvciA6IHB1
YmxpYyBOYXZpZ2F0b3JCYXNlLCBwdWJsaWMgUmVmQ291bnRlZDxXb3JrZXJOYXZpZ2F0b3I+LCBw
dWJsaWMgU3VwcGxlbWVudGFibGU8V29ya2VyTmF2aWdhdG9yPiB7CiBwdWJsaWM6Ci0gICAgc3Rh
dGljIFBhc3NSZWZQdHI8V29ya2VyTmF2aWdhdG9yPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1c2Vy
QWdlbnQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBXb3JrZXJOYXZpZ2F0b3IodXNlckFnZW50KSk7
IH0KKyAgICBzdGF0aWMgUmVmPFdvcmtlck5hdmlnYXRvcj4gY3JlYXRlKGNvbnN0IFN0cmluZyYg
dXNlckFnZW50KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFdvcmtlck5hdmlnYXRvcih1c2VyQWdl
bnQpKTsgfQogICAgIHZpcnR1YWwgfldvcmtlck5hdmlnYXRvcigpOwogCiAgICAgdmlydHVhbCBT
dHJpbmcgdXNlckFnZW50KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vSW1wbGljaXRBbmltYXRpb24uaAppbmRleCAxNmQ2NzAyZDY0NTcxOTM2ODZkMmQzMmVh
MjA4MjhlNjdhOGViODA5Li5jMzQyNTk3NTc4ZjRmZjVhNTg2NjJhMzhjMjM4MjdiYTFmMGE3OTIz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1h
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0
aW9uLmgKQEAgLTQxLDkgKzQxLDkgQEAgY2xhc3MgUmVuZGVyRWxlbWVudDsKIC8vIGZvciBhIHNp
bmdsZSBSZW5kZXJFbGVtZW50LgogY2xhc3MgSW1wbGljaXRBbmltYXRpb24gOiBwdWJsaWMgQW5p
bWF0aW9uQmFzZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8SW1wbGljaXRBbmlt
YXRpb24+IGNyZWF0ZShBbmltYXRpb24mIGFuaW1hdGlvbiwgQ1NTUHJvcGVydHlJRCBhbmltYXRp
bmdQcm9wZXJ0eSwgUmVuZGVyRWxlbWVudCogcmVuZGVyZXIsIENvbXBvc2l0ZUFuaW1hdGlvbiog
Y29tcG9zaXRlQW5pbWF0aW9uLCBSZW5kZXJTdHlsZSogZnJvbVN0eWxlKQorICAgIHN0YXRpYyBS
ZWY8SW1wbGljaXRBbmltYXRpb24+IGNyZWF0ZShBbmltYXRpb24mIGFuaW1hdGlvbiwgQ1NTUHJv
cGVydHlJRCBhbmltYXRpbmdQcm9wZXJ0eSwgUmVuZGVyRWxlbWVudCogcmVuZGVyZXIsIENvbXBv
c2l0ZUFuaW1hdGlvbiogY29tcG9zaXRlQW5pbWF0aW9uLCBSZW5kZXJTdHlsZSogZnJvbVN0eWxl
KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJbXBsaWNpdEFuaW1hdGlvbihh
bmltYXRpb24sIGFuaW1hdGluZ1Byb3BlcnR5LCByZW5kZXJlciwgY29tcG9zaXRlQW5pbWF0aW9u
LCBmcm9tU3R5bGUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSW1wbGljaXRBbmlt
YXRpb24oYW5pbWF0aW9uLCBhbmltYXRpbmdQcm9wZXJ0eSwgcmVuZGVyZXIsIGNvbXBvc2l0ZUFu
aW1hdGlvbiwgZnJvbVN0eWxlKSk7CiAgICAgfTsKICAgICAKICAgICBDU1NQcm9wZXJ0eUlEIHRy
YW5zaXRpb25Qcm9wZXJ0eSgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNpdGlvblByb3BlcnR5OyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1h
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24u
aAppbmRleCBlNDMyNDNjMzEyZmQyMWNiMDAzMzU4NWZmMGM0ZDg0NjVlMmIyZmYyLi4zMjg0MDRi
NWJhNjhlZDVlODc3MjI5NmE5ODVhNDZjNmIwYTk4MjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmgKQEAgLTQwLDkgKzQwLDkgQEAg
Y2xhc3MgUmVuZGVyU3R5bGU7CiAvLyBBIEtleWZyYW1lQW5pbWF0aW9uIHRyYWNrcyB0aGUgc3Rh
dGUgb2YgYW4gZXhwbGljaXQgYW5pbWF0aW9uIGZvciBhIHNpbmdsZSBSZW5kZXJFbGVtZW50Lgog
Y2xhc3MgS2V5ZnJhbWVBbmltYXRpb24gZmluYWwgOiBwdWJsaWMgQW5pbWF0aW9uQmFzZSB7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxLZXlmcmFtZUFuaW1hdGlvbj4gY3JlYXRlKEFuaW1h
dGlvbiYgYW5pbWF0aW9uLCBSZW5kZXJFbGVtZW50KiByZW5kZXJlciwgaW50IGluZGV4LCBDb21w
b3NpdGVBbmltYXRpb24qIGNvbXBvc2l0ZUFuaW1hdGlvbiwgUmVuZGVyU3R5bGUqIHVuYW5pbWF0
ZWRTdHlsZSkKKyAgICBzdGF0aWMgUmVmPEtleWZyYW1lQW5pbWF0aW9uPiBjcmVhdGUoQW5pbWF0
aW9uJiBhbmltYXRpb24sIFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyLCBpbnQgaW5kZXgsIENvbXBv
c2l0ZUFuaW1hdGlvbiogY29tcG9zaXRlQW5pbWF0aW9uLCBSZW5kZXJTdHlsZSogdW5hbmltYXRl
ZFN0eWxlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBLZXlmcmFtZUFuaW1h
dGlvbihhbmltYXRpb24sIHJlbmRlcmVyLCBpbmRleCwgY29tcG9zaXRlQW5pbWF0aW9uLCB1bmFu
aW1hdGVkU3R5bGUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgS2V5ZnJhbWVBbmlt
YXRpb24oYW5pbWF0aW9uLCByZW5kZXJlciwgaW5kZXgsIGNvbXBvc2l0ZUFuaW1hdGlvbiwgdW5h
bmltYXRlZFN0eWxlKSk7CiAgICAgfQogCiAgICAgdmlydHVhbCBib29sIGFuaW1hdGUoQ29tcG9z
aXRlQW5pbWF0aW9uKiwgUmVuZGVyRWxlbWVudCosIGNvbnN0IFJlbmRlclN0eWxlKiBjdXJyZW50
U3R5bGUsIFJlbmRlclN0eWxlKiB0YXJnZXRTdHlsZSwgUmVmUHRyPFJlbmRlclN0eWxlPiYgYW5p
bWF0ZWRTdHlsZSkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21h
Yy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9T
ZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKaW5kZXggOWExZDY0NjEyN2QxZjdhMGRkZjBhNjlm
Y2MwMzIxZDBjMjQxMGU0Yi4uNDMyZjgzNzkwOTVhNjFkMGI0Y2JiYjJmZTIzZjI3ZGRjMTcwNTJh
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29u
dHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXIuaApAQCAtNTcsOCArNTcsOCBAQCBwcml2YXRlOgogICAgIGNsYXNzIEhpZ2hsaWdo
dCA6IHB1YmxpYyBSZWZDb3VudGVkPEhpZ2hsaWdodD4sIHByaXZhdGUgR3JhcGhpY3NMYXllckNs
aWVudCB7CiAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhpZ2hsaWdodCk7CiAgICAgcHVi
bGljOgotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxIaWdobGlnaHQ+IGNyZWF0ZUZvclNlbGVj
dGlvbihTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyJiwgUmV0YWluUHRyPERESGlnaGxpZ2h0UmVm
PiwgUGFzc1JlZlB0cjxSYW5nZT4pOwotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxIaWdobGln
aHQ+IGNyZWF0ZUZvclRlbGVwaG9uZU51bWJlcihTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyJiwg
UmV0YWluUHRyPERESGlnaGxpZ2h0UmVmPiwgUGFzc1JlZlB0cjxSYW5nZT4pOworICAgICAgICBz
dGF0aWMgUmVmPEhpZ2hsaWdodD4gY3JlYXRlRm9yU2VsZWN0aW9uKFNlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXImLCBSZXRhaW5QdHI8RERIaWdobGlnaHRSZWY+LCBQYXNzUmVmUHRyPFJhbmdlPik7
CisgICAgICAgIHN0YXRpYyBSZWY8SGlnaGxpZ2h0PiBjcmVhdGVGb3JUZWxlcGhvbmVOdW1iZXIo
U2VydmljZXNPdmVybGF5Q29udHJvbGxlciYsIFJldGFpblB0cjxEREhpZ2hsaWdodFJlZj4sIFBh
c3NSZWZQdHI8UmFuZ2U+KTsKICAgICAgICAgfkhpZ2hsaWdodCgpOwogCiAgICAgICAgIHZvaWQg
aW52YWxpZGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2Vydmlj
ZXNPdmVybGF5Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXIubW0KaW5kZXggZWJiNjMzZDVjYjk5NzA2YmYwMzljNDYzMmM1YWUw
OWMwYmE3YzJmNi4uODBhNDRlZmY4NWQ2Mzk2NTcxODJiN2UxMzNmMDVkNDE5MTUyYzNjMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxl
ci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9s
bGVyLm1tCkBAIC02MSwxNCArNjEsMTQgQEAgU09GVF9MSU5LKERhdGFEZXRlY3RvcnMsIERESGln
aGxpZ2h0UG9pbnRJc09uSGlnaGxpZ2h0LCBCb29sZWFuLCAoRERIaWdobGlnaHRSZWYKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6
OkhpZ2hsaWdodD4gU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6SGlnaGxpZ2h0OjpjcmVhdGVG
b3JTZWxlY3Rpb24oU2VydmljZXNPdmVybGF5Q29udHJvbGxlciYgY29udHJvbGxlciwgUmV0YWlu
UHRyPERESGlnaGxpZ2h0UmVmPiBkZEhpZ2hsaWdodCwgUGFzc1JlZlB0cjxSYW5nZT4gcmFuZ2Up
CitSZWY8U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6SGlnaGxpZ2h0PiBTZXJ2aWNlc092ZXJs
YXlDb250cm9sbGVyOjpIaWdobGlnaHQ6OmNyZWF0ZUZvclNlbGVjdGlvbihTZXJ2aWNlc092ZXJs
YXlDb250cm9sbGVyJiBjb250cm9sbGVyLCBSZXRhaW5QdHI8RERIaWdobGlnaHRSZWY+IGRkSGln
aGxpZ2h0LCBQYXNzUmVmUHRyPFJhbmdlPiByYW5nZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IEhpZ2hsaWdodChjb250cm9sbGVyLCBUeXBlOjpTZWxlY3Rpb24sIGRkSGlnaGxpZ2h0LCBy
YW5nZSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEhpZ2hsaWdodChjb250cm9sbGVyLCBU
eXBlOjpTZWxlY3Rpb24sIGRkSGlnaGxpZ2h0LCByYW5nZSkpOwogfQogCi1QYXNzUmVmUHRyPFNl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OkhpZ2hsaWdodD4gU2VydmljZXNPdmVybGF5Q29udHJv
bGxlcjo6SGlnaGxpZ2h0OjpjcmVhdGVGb3JUZWxlcGhvbmVOdW1iZXIoU2VydmljZXNPdmVybGF5
Q29udHJvbGxlciYgY29udHJvbGxlciwgUmV0YWluUHRyPERESGlnaGxpZ2h0UmVmPiBkZEhpZ2hs
aWdodCwgUGFzc1JlZlB0cjxSYW5nZT4gcmFuZ2UpCitSZWY8U2VydmljZXNPdmVybGF5Q29udHJv
bGxlcjo6SGlnaGxpZ2h0PiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpIaWdobGlnaHQ6OmNy
ZWF0ZUZvclRlbGVwaG9uZU51bWJlcihTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyJiBjb250cm9s
bGVyLCBSZXRhaW5QdHI8RERIaWdobGlnaHRSZWY+IGRkSGlnaGxpZ2h0LCBQYXNzUmVmUHRyPFJh
bmdlPiByYW5nZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEhpZ2hsaWdodChjb250cm9s
bGVyLCBUeXBlOjpUZWxlcGhvbmVOdW1iZXIsIGRkSGlnaGxpZ2h0LCByYW5nZSkpOworICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IEhpZ2hsaWdodChjb250cm9sbGVyLCBUeXBlOjpUZWxlcGhvbmVO
dW1iZXIsIGRkSGlnaGxpZ2h0LCByYW5nZSkpOwogfQogCiBTZXJ2aWNlc092ZXJsYXlDb250cm9s
bGVyOjpIaWdobGlnaHQ6OkhpZ2hsaWdodChTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyJiBjb250
cm9sbGVyLCBUeXBlIHR5cGUsIFJldGFpblB0cjxEREhpZ2hsaWdodFJlZj4gZGRIaWdobGlnaHQs
IFBhc3NSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+IHJhbmdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IGUzNjdi
ZjJkOWE1NDVhNzU0ZTg5MDI5OTM0ODU5NzQ4MWU0NWFlYjMuLjMzM2FmYzg3MWE3NTM4ZjZmYjNi
ZGM0YzNkYmQ0MmIzYWVjZmRhMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAgLTU1LDEzICs1NSwxMyBAQAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQotUGFzc1JlZlB0cjxT
Y3JvbGxpbmdDb29yZGluYXRvcj4gU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmNyZWF0ZShQYWdlKiBw
YWdlKQorUmVmPFNjcm9sbGluZ0Nvb3JkaW5hdG9yPiBTY3JvbGxpbmdDb29yZGluYXRvcjo6Y3Jl
YXRlKFBhZ2UqIHBhZ2UpCiB7CiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQotICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBoaWNz
KHBhZ2UpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdDb29yZGluYXRvckNv
b3JkaW5hdGVkR3JhcGhpY3MocGFnZSkpOwogI2VuZGlmCiAKLSAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IFNjcm9sbGluZ0Nvb3JkaW5hdG9yKHBhZ2UpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBTY3JvbGxpbmdDb29yZGluYXRvcihwYWdlKSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKaW5kZXgg
N2JlMGEzZGExMjk2OTVhZDMzMzM0ODkzOTkxZDJhZDc4MTY2ZDRiNC4uMDdjNjA3YWNkZGJmMGQw
ODBjMmRlNThjMGY5MDU3M2JiNTdhMzMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCkBAIC0xMDYsNyArMTA2LDcgQEAg
c3RydWN0IFNjcm9sbGFibGVBcmVhUGFyYW1ldGVycyB7CiAKIGNsYXNzIFNjcm9sbGluZ0Nvb3Jk
aW5hdG9yIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFNjcm9sbGluZ0Nvb3JkaW5hdG9y
PiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U2Nyb2xsaW5nQ29vcmRpbmF0b3I+
IGNyZWF0ZShQYWdlKik7CisgICAgc3RhdGljIFJlZjxTY3JvbGxpbmdDb29yZGluYXRvcj4gY3Jl
YXRlKFBhZ2UqKTsKICAgICB2aXJ0dWFsIH5TY3JvbGxpbmdDb29yZGluYXRvcigpOwogCiAgICAg
V0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIHBhZ2VEZXN0cm95ZWQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2Rl
LmNwcAppbmRleCBlM2FkZTUyYTFkOTQ5NmI1MjFlMDE0M2QxZjljOTZiMjk5YjJiOTNmLi5jY2Rj
ODMyYTBjMDcwNDUwM2NiY2U1OTk2NzFmOWM0NmExOTMxMTliIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuY3Bw
CkBAIC0zNCw5ICszNCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxT
Y3JvbGxpbmdTdGF0ZUZpeGVkTm9kZT4gU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU6OmNyZWF0ZShT
Y3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKK1Jl
ZjxTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZT4gU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU6OmNyZWF0
ZShTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkK
IHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlKHN0YXRl
VHJlZSwgbm9kZUlEKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nU3RhdGVG
aXhlZE5vZGUoc3RhdGVUcmVlLCBub2RlSUQpKTsKIH0KIAogU2Nyb2xsaW5nU3RhdGVGaXhlZE5v
ZGU6OlNjcm9sbGluZ1N0YXRlRml4ZWROb2RlKFNjcm9sbGluZ1N0YXRlVHJlZSYgdHJlZSwgU2Ny
b2xsaW5nTm9kZUlEIG5vZGVJRCkKQEAgLTU0LDkgKzU0LDkgQEAgU2Nyb2xsaW5nU3RhdGVGaXhl
ZE5vZGU6On5TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZSgpCiB7CiB9CiAKLVBhc3NSZWZQdHI8U2Ny
b2xsaW5nU3RhdGVOb2RlPiBTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZTo6Y2xvbmUoU2Nyb2xsaW5n
U3RhdGVUcmVlJiBhZG9wdGl2ZVRyZWUpCitSZWY8U2Nyb2xsaW5nU3RhdGVOb2RlPiBTY3JvbGxp
bmdTdGF0ZUZpeGVkTm9kZTo6Y2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRyZWUp
CiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZSgqdGhp
cywgYWRvcHRpdmVUcmVlKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nU3Rh
dGVGaXhlZE5vZGUoKnRoaXMsIGFkb3B0aXZlVHJlZSkpOwogfQogCiB2b2lkIFNjcm9sbGluZ1N0
YXRlRml4ZWROb2RlOjp1cGRhdGVDb25zdHJhaW50cyhjb25zdCBGaXhlZFBvc2l0aW9uVmlld3Bv
cnRDb25zdHJhaW50cyYgY29uc3RyYWludHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuaAppbmRleCA2ZDlkNjU0MDVl
NTUzOWE3YjhiODI3NWI5NDQxODk1NTFlNjZhYTI3Li45OGNiMGNhMTA1YmM5YmE1M2Y5N2QyOWJi
NmJkNmE0MTUxMjExY2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmgKQEAgLTM5LDkgKzM5LDkgQEAgY2xhc3Mg
Rml4ZWRQb3NpdGlvblZpZXdwb3J0Q29uc3RyYWludHM7CiAKIGNsYXNzIFNjcm9sbGluZ1N0YXRl
Rml4ZWROb2RlIGZpbmFsIDogcHVibGljIFNjcm9sbGluZ1N0YXRlTm9kZSB7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8U2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU+IGNyZWF0ZShTY3Jv
bGxpbmdTdGF0ZVRyZWUmLCBTY3JvbGxpbmdOb2RlSUQpOworICAgIHN0YXRpYyBSZWY8U2Nyb2xs
aW5nU3RhdGVGaXhlZE5vZGU+IGNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUmLCBTY3JvbGxpbmdO
b2RlSUQpOwogCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRlTm9kZT4gY2xv
bmUoU2Nyb2xsaW5nU3RhdGVUcmVlJikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBSZWY8U2Nyb2xs
aW5nU3RhdGVOb2RlPiBjbG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUmKSBvdmVycmlkZTsKIAogICAg
IHZpcnR1YWwgflNjcm9sbGluZ1N0YXRlRml4ZWROb2RlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2Rl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJhbWVT
Y3JvbGxpbmdOb2RlLmNwcAppbmRleCAzMjZkOWU4ZjRiNjVmNDZlOTczMTE3MmM5NDE3NGY4ODQw
ZmE5OWQyLi44NTAzOTM2YTFhNTFhNTU3MjVlNWRjMjMzYjFmN2NlZTY2NGYzNDdkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Ny
b2xsaW5nTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuY3BwCkBAIC0zMyw5ICszMyw5IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5n
Tm9kZT4gU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OmNyZWF0ZShTY3JvbGxpbmdT
dGF0ZVRyZWUmIHN0YXRlVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKK1JlZjxTY3JvbGxp
bmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZT4gU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05v
ZGU6OmNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwgU2Nyb2xsaW5nTm9kZUlE
IG5vZGVJRCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9sbGluZ1N0YXRlRnJhbWVT
Y3JvbGxpbmdOb2RlKHN0YXRlVHJlZSwgbm9kZUlEKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUoc3RhdGVUcmVlLCBub2RlSUQpKTsK
IH0KIAogU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OlNjcm9sbGluZ1N0YXRlRnJh
bWVTY3JvbGxpbmdOb2RlKFNjcm9sbGluZ1N0YXRlVHJlZSYgc3RhdGVUcmVlLCBTY3JvbGxpbmdO
b2RlSUQgbm9kZUlEKQpAQCAtODMsOSArODMsOSBAQCBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xs
aW5nTm9kZTo6flNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlKCkKIHsKIH0KIAotUGFz
c1JlZlB0cjxTY3JvbGxpbmdTdGF0ZU5vZGU+IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdO
b2RlOjpjbG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUmIGFkb3B0aXZlVHJlZSkKK1JlZjxTY3JvbGxp
bmdTdGF0ZU5vZGU+IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlOjpjbG9uZShTY3Jv
bGxpbmdTdGF0ZVRyZWUmIGFkb3B0aXZlVHJlZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3
IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlKCp0aGlzLCBhZG9wdGl2ZVRyZWUpKTsK
KyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9k
ZSgqdGhpcywgYWRvcHRpdmVUcmVlKSk7CiB9CiAKIHZvaWQgU2Nyb2xsaW5nU3RhdGVGcmFtZVNj
cm9sbGluZ05vZGU6OnNldEZyYW1lU2NhbGVGYWN0b3IoZmxvYXQgc2NhbGVGYWN0b3IpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1l
U2Nyb2xsaW5nTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
U3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuaAppbmRleCAyYWFhOGIwZjRjZTU2OGE5MjQ5M2YwNDk3
NGE3YjI4NGQ0ZDUxZTZhLi5kNTdkMWZkOWY3MGE4NmM5MmE5MGFlMzFjNzVhNzk1MmZjZDY5Y2Fh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0
ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmgKQEAgLTQwLDkgKzQwLDkgQEAgY2xh
c3MgU2Nyb2xsYmFyOwogCiBjbGFzcyBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZSBm
aW5hbCA6IHB1YmxpYyBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUgewogcHVibGljOgotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlPiBjcmVh
dGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKKyAgICBzdGF0aWMgUmVm
PFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlPiBjcmVhdGUoU2Nyb2xsaW5nU3RhdGVU
cmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKIAotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTY3JvbGxp
bmdTdGF0ZU5vZGU+IGNsb25lKFNjcm9sbGluZ1N0YXRlVHJlZSYpIG92ZXJyaWRlOworICAgIHZp
cnR1YWwgUmVmPFNjcm9sbGluZ1N0YXRlTm9kZT4gY2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJikg
b3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIH5TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9k
ZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlTm9kZS5oCmluZGV4IDhjYjZlZDgyMjRjNDhhOTA2MWYwMDZhZDFiNWVjYWIxM2RjYmNlNmUu
LmFjYjYwMWM5ZTg4NmQ2ZmZjMmMwNjgxYTBkMTFiYjI5NmRlNTJmMmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oCkBAIC0xOTcs
NyArMTk3LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNGcmFtZVNjcm9sbGluZ05vZGUoKSBjb25z
dCB7IHJldHVybiBtX25vZGVUeXBlID09IEZyYW1lU2Nyb2xsaW5nTm9kZTsgfQogICAgIGJvb2wg
aXNPdmVyZmxvd1Njcm9sbGluZ05vZGUoKSBjb25zdCB7IHJldHVybiBtX25vZGVUeXBlID09IE92
ZXJmbG93U2Nyb2xsaW5nTm9kZTsgfQogCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPFNjcm9sbGlu
Z1N0YXRlTm9kZT4gY2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRyZWUpID0gMDsK
KyAgICB2aXJ0dWFsIFJlZjxTY3JvbGxpbmdTdGF0ZU5vZGU+IGNsb25lKFNjcm9sbGluZ1N0YXRl
VHJlZSYgYWRvcHRpdmVUcmVlKSA9IDA7CiAgICAgUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0ZU5v
ZGU+IGNsb25lQW5kUmVzZXQoU2Nyb2xsaW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRyZWUpOwogICAg
IHZvaWQgY2xvbmVBbmRSZXNldENoaWxkcmVuKFNjcm9sbGluZ1N0YXRlTm9kZSYsIFNjcm9sbGlu
Z1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9s
bGluZ05vZGUuY3BwCmluZGV4IGUzNGNjYWNhYWJkM2VlYmM0ODM3NjFjYTliMTJkYzIzYjU4YmUz
MTkuLjg0ZDI1ZWYwYjk1MWMzYTJiMjgzZmM5Zjk5ODRhYzUxMDI2MzJhOWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZS5jcHAKQEAgLTMzLDkgKzMzLDkgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlPiBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6Y3JlYXRlKFNj
cm9sbGluZ1N0YXRlVHJlZSYgc3RhdGVUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQorUmVm
PFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlPiBTY3JvbGxpbmdTdGF0ZU92ZXJm
bG93U2Nyb2xsaW5nTm9kZTo6Y3JlYXRlKFNjcm9sbGluZ1N0YXRlVHJlZSYgc3RhdGVUcmVlLCBT
Y3JvbGxpbmdOb2RlSUQgbm9kZUlEKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xs
aW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUoc3RhdGVUcmVlLCBub2RlSUQpKTsKKyAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZShz
dGF0ZVRyZWUsIG5vZGVJRCkpOwogfQogCiBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5n
Tm9kZTo6U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUoU2Nyb2xsaW5nU3RhdGVU
cmVlJiBzdGF0ZVRyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCkBAIC01NCw5ICs1NCw5IEBA
IFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOjp+U2Nyb2xsaW5nU3RhdGVPdmVy
Zmxvd1Njcm9sbGluZ05vZGUoKQogewogfQogCi1QYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRlTm9k
ZT4gU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmNsb25lKFNjcm9sbGluZ1N0
YXRlVHJlZSYgYWRvcHRpdmVUcmVlKQorUmVmPFNjcm9sbGluZ1N0YXRlTm9kZT4gU2Nyb2xsaW5n
U3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmNsb25lKFNjcm9sbGluZ1N0YXRlVHJlZSYgYWRv
cHRpdmVUcmVlKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsaW5nU3RhdGVPdmVy
Zmxvd1Njcm9sbGluZ05vZGUoKnRoaXMsIGFkb3B0aXZlVHJlZSkpOworICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlKCp0aGlzLCBhZG9w
dGl2ZVRyZWUpKTsKIH0KICAgICAKIHZvaWQgU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGlu
Z05vZGU6OnNldFNjcm9sbGVkQ29udGVudHNMYXllcihjb25zdCBMYXllclJlcHJlc2VudGF0aW9u
JiBsYXllclJlcHJlc2VudGF0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2Rl
LmgKaW5kZXggMjYwOTZhMjExYzU2ODk3NzE4OGFjYjlkY2JiYThjODM1NTA2MThjMy4uNzNhYWEz
OTUyYzhlN2UxMjAyZDdjODJkOTc0NzZjNzNhYjQ4ZWM3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU92ZXJm
bG93U2Nyb2xsaW5nTm9kZS5oCkBAIC0zNCw5ICszNCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUgOiBwdWJsaWMgU2Ny
b2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0
cjxTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZT4gY3JlYXRlKFNjcm9sbGluZ1N0
YXRlVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CisgICAgc3RhdGljIFJlZjxTY3JvbGxpbmdTdGF0
ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZT4gY3JlYXRlKFNjcm9sbGluZ1N0YXRlVHJlZSYsIFNjcm9s
bGluZ05vZGVJRCk7CiAKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2Nyb2xsaW5nU3RhdGVOb2Rl
PiBjbG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUmKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIFJlZjxT
Y3JvbGxpbmdTdGF0ZU5vZGU+IGNsb25lKFNjcm9sbGluZ1N0YXRlVHJlZSYpIG92ZXJyaWRlOwog
CiAgICAgdmlydHVhbCB+U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVT
dGlja3lOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlU3RpY2t5Tm9kZS5jcHAKaW5kZXggNWU1MmU2MmY3YTY0ZDM0N2ZlOTljOTQ1M2M0NjVhMWNl
ZGVjYTRhZS4uY2VlNDc2ZTRhY2ZjYzQwODIyM2I1ZDMzZDVjZWJhNDRhNWFiMjhmNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lO
b2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0
ZVN0aWNreU5vZGUuY3BwCkBAIC0zNCw5ICszNCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU+IFNjcm9sbGluZ1N0YXRlU3Rp
Y2t5Tm9kZTo6Y3JlYXRlKFNjcm9sbGluZ1N0YXRlVHJlZSYgc3RhdGVUcmVlLCBTY3JvbGxpbmdO
b2RlSUQgbm9kZUlEKQorUmVmPFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZT4gU2Nyb2xsaW5nU3Rh
dGVTdGlja3lOb2RlOjpjcmVhdGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBzdGF0ZVRyZWUsIFNjcm9s
bGluZ05vZGVJRCBub2RlSUQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JvbGxpbmdT
dGF0ZVN0aWNreU5vZGUoc3RhdGVUcmVlLCBub2RlSUQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUoc3RhdGVUcmVlLCBub2RlSUQpKTsKIH0KIAog
U2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlOjpTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUoU2Nyb2xs
aW5nU3RhdGVUcmVlJiB0cmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQpAQCAtNTQsOSArNTQs
OSBAQCBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU6On5TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUo
KQogewogfQogCi1QYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRlTm9kZT4gU2Nyb2xsaW5nU3RhdGVT
dGlja3lOb2RlOjpjbG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUmIGFkb3B0aXZlVHJlZSkKK1JlZjxT
Y3JvbGxpbmdTdGF0ZU5vZGU+IFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6Y2xvbmUoU2Nyb2xs
aW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRyZWUpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBT
Y3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUoKnRoaXMsIGFkb3B0aXZlVHJlZSkpOworICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZSgqdGhpcywgYWRvcHRpdmVU
cmVlKSk7CiB9CiAKIHZvaWQgU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlOjp1cGRhdGVDb25zdHJh
aW50cyhjb25zdCBTdGlja3lQb3NpdGlvblZpZXdwb3J0Q29uc3RyYWludHMmIGNvbnN0cmFpbnRz
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3Rh
dGVTdGlja3lOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZVN0aWNreU5vZGUuaAppbmRleCBjZjA2MzlkNThkYTQ2MTYzZDI1YmExNDYwOTk5OTQ3MTQ1
YmFmM2I0Li5jOWU3OTM1YTQ3OGUwNjY2OTJjMmRiZGFiY2ViMDQ5ZDYyNDgzNWFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5v
ZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0
aWNreU5vZGUuaApAQCAtMzksOSArMzksOSBAQCBjbGFzcyBTdGlja3lQb3NpdGlvblZpZXdwb3J0
Q29uc3RyYWludHM7CiAKIGNsYXNzIFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZSBmaW5hbCA6IHB1
YmxpYyBTY3JvbGxpbmdTdGF0ZU5vZGUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZT4gY3JlYXRlKFNjcm9sbGluZ1N0YXRlVHJlZSYsIFNj
cm9sbGluZ05vZGVJRCk7CisgICAgc3RhdGljIFJlZjxTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU+
IGNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUmLCBTY3JvbGxpbmdOb2RlSUQpOwogCi0gICAgdmly
dHVhbCBQYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRlTm9kZT4gY2xvbmUoU2Nyb2xsaW5nU3RhdGVU
cmVlJikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBSZWY8U2Nyb2xsaW5nU3RhdGVOb2RlPiBjbG9u
ZShTY3JvbGxpbmdTdGF0ZVRyZWUmKSBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgflNjcm9sbGlu
Z1N0YXRlU3RpY2t5Tm9kZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0KaW5kZXggNmNiM2Y0
M2Q4YTBmMGMzYjg1MDgyZTM2YTcyODQzNjEyNWFjNDZkZC4uYjE1ODIxOGNkMDA3ZmNlNjFlMzcx
YTFjNGFjZTNiYTU4ZDdiMzUzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbQpAQCAtNDQsOSAr
NDQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8U2Nyb2xsaW5nQ29v
cmRpbmF0b3I+IFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGUoUGFnZSogcGFnZSkKK1JlZjxT
Y3JvbGxpbmdDb29yZGluYXRvcj4gU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmNyZWF0ZShQYWdlKiBw
YWdlKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1Mo
cGFnZSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNjcm9sbGluZ0Nvb3JkaW5hdG9ySU9T
KHBhZ2UpKTsKIH0KIAogU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1M6OlNjcm9sbGluZ0Nvb3JkaW5h
dG9ySU9TKFBhZ2UqIHBhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
SU9TLm1tCmluZGV4IDVlM2M2ZDgyNTBmZThmMGNlZWNhNjJkMmQ0NjMzZWM4NTEwNjExZmEuLjU2
ODJmNTFkYzE4OGE4MjQ3MGZhMDNhODc3NDE5NGY0Y2FjMTMwZmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLm1tCkBAIC00MCw5ICs0MCw5IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlSU9TPiBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TOjpjcmVhdGUoU2Nyb2xs
aW5nVHJlZSYgc2Nyb2xsaW5nVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKK1JlZjxTY3Jv
bGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TPiBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxp
bmdOb2RlSU9TOjpjcmVhdGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5nVHJlZSwgU2Nyb2xsaW5n
Tm9kZUlEIG5vZGVJRCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGVJT1Moc2Nyb2xsaW5nVHJlZSwgbm9kZUlEKSk7CisgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUyhzY3JvbGxp
bmdUcmVlLCBub2RlSUQpKTsKIH0KIAogU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlP
Uzo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUyhTY3JvbGxpbmdUcmVlJiBzY3Jv
bGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVJT1MuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVJT1MuY3BwCmluZGV4IDEzZjdl
YTg1MTM5NDA4MWRiZDEyNTkxZjVkZDM0NDZlYzk2OTMxYmIuLjYzMjVhNWY0MmIzNmFjMmYwNDE4
ZmVlZjNmNmRiMzQ2YTA3Y2RjODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlSU9TLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUlPUy5jcHAKQEAgLTQxLDkgKzQxLDkgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZWZQdHI8U2Nyb2xsaW5nVHJlZUlPUz4gU2Nyb2xsaW5n
VHJlZUlPUzo6Y3JlYXRlKEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IqIHNjcm9sbGluZ0Nvb3Jk
aW5hdG9yKQorUmVmPFNjcm9sbGluZ1RyZWVJT1M+IFNjcm9sbGluZ1RyZWVJT1M6OmNyZWF0ZShB
c3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdDb29yZGluYXRvcikKIHsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9sbGluZ1RyZWVJT1Moc2Nyb2xsaW5nQ29vcmRpbmF0b3Ip
KTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdUcmVlSU9TKHNjcm9sbGluZ0Nv
b3JkaW5hdG9yKSk7CiB9CiAKIFNjcm9sbGluZ1RyZWVJT1M6OlNjcm9sbGluZ1RyZWVJT1MoQXN5
bmNTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0b3IpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JN
YWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRp
bmF0b3JNYWMubW0KaW5kZXggM2U5MjFmMWViNDczZWY2OWUwYzA5NzlkYWRhM2Y1NzExMzM3NTRh
ZC4uMjUwNWU3Yjc2MzMzOGQxMmRlZGI1MjM4YTA0MzM2Mjg3OGE4Y2Q0OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29y
ZGluYXRvck1hYy5tbQpAQCAtNDYsOSArNDYsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LVBhc3NSZWZQdHI8U2Nyb2xsaW5nQ29vcmRpbmF0b3I+IFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpj
cmVhdGUoUGFnZSogcGFnZSkKK1JlZjxTY3JvbGxpbmdDb29yZGluYXRvcj4gU2Nyb2xsaW5nQ29v
cmRpbmF0b3I6OmNyZWF0ZShQYWdlKiBwYWdlKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcg
U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMocGFnZSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjKHBhZ2UpKTsKIH0KIAogU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNYWM6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjKFBhZ2UqIHBhZ2UpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGaXhlZE5v
ZGUuaAppbmRleCA1NzZhY2NkZTAxODMzMWQyY2NiMGU1YmI2OGY5NDVmYzViZTMyY2FhLi4yYWQx
NmViMjMwYTYxM2Q0NmY3OGY4ZDA3NzM5MzhhNGM4MjEwYjVhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2Rl
LmgKQEAgLTQwLDcgKzQwLDcgQEAgY2xhc3MgRml4ZWRQb3NpdGlvblZpZXdwb3J0Q29uc3RyYWlu
dHM7CiAKIGNsYXNzIFNjcm9sbGluZ1RyZWVGaXhlZE5vZGUgOiBwdWJsaWMgU2Nyb2xsaW5nVHJl
ZU5vZGUgewogcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBQYXNzUmVmUHRyPFNj
cm9sbGluZ1RyZWVGaXhlZE5vZGU+IGNyZWF0ZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9k
ZUlEKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmPFNjcm9sbGluZ1RyZWVGaXhlZE5v
ZGU+IGNyZWF0ZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKIAogICAgIHZpcnR1
YWwgflNjcm9sbGluZ1RyZWVGaXhlZE5vZGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5tbQppbmRl
eCA3MjBiYmJkZDhlMGNlODE4YjllN2M2MDNlNmE1MWM5NWUxNjkwZDU3Li4zODBjYTE3MTNmNzIy
MjJiMzk4ZDllMTQ5ODc0MzQzNGU4NTRkNGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5tbQpAQCAt
MzQsOSArMzQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8U2Nyb2xs
aW5nVHJlZUZpeGVkTm9kZT4gU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZTo6Y3JlYXRlKFNjcm9sbGlu
Z1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCitSZWY8U2Nyb2xs
aW5nVHJlZUZpeGVkTm9kZT4gU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZTo6Y3JlYXRlKFNjcm9sbGlu
Z1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCiB7Ci0gICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBTY3JvbGxpbmdUcmVlRml4ZWROb2RlKHNjcm9sbGluZ1RyZWUsIG5v
ZGVJRCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNjcm9sbGluZ1RyZWVGaXhlZE5vZGUo
c2Nyb2xsaW5nVHJlZSwgbm9kZUlEKSk7CiB9CiAKIFNjcm9sbGluZ1RyZWVGaXhlZE5vZGU6OlNj
cm9sbGluZ1RyZWVGaXhlZE5vZGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5nVHJlZSwgU2Nyb2xs
aW5nTm9kZUlEIG5vZGVJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1h
Yy5oCmluZGV4IDFhMWJhNTJmMGMzY2QzMTdjNzI4NWVmZDlmYjkzODlhMTNjNTFhZTkuLjZmOWY3
OGNlMGE3OGVmNTllMWUyODQ0ZTkxZmZiNjgwMWFmM2Q3ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
TWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMuaApAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMgOiBwdWJs
aWMgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZSwgcHJpdmF0ZSBTY3JvbGxDb250cm9s
bGVyQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUGFzc1JlZlB0
cjxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlPiBjcmVhdGUoU2Nyb2xsaW5nVHJlZSYs
IFNjcm9sbGluZ05vZGVJRCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZjxTY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlPiBjcmVhdGUoU2Nyb2xsaW5nVHJlZSYsIFNjcm9sbGlu
Z05vZGVJRCk7CiAgICAgdmlydHVhbCB+U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1h
YygpOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1h
Yy5tbQppbmRleCA3ZjY0ZGM1YmVhNzY4ZGVjMWMzZWQ5NjllZDkwZmEyMTA0OTQzYzU0Li5lYWI2
ZGE5MzA2MTBkMTNjMDliZDBlMzU2MmMwMTc4YjM2NjQwYTgyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9k
ZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5n
VHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQpAQCAtNDksOSArNDksOSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIHN0YXRpYyB2b2lkIGxvZ1RocmVhZGVkU2Nyb2xsaW5nTW9kZSh1bnNpZ25l
ZCBzeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMpOwogCi1QYXNzUmVmUHRyPFNjcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGU+IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6
OmNyZWF0ZShTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9k
ZUlEKQorUmVmPFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGU+IFNjcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGVNYWM6OmNyZWF0ZShTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVl
LCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Ny
b2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYyhzY3JvbGxpbmdUcmVlLCBub2RlSUQpKTsK
KyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
TWFjKHNjcm9sbGluZ1RyZWUsIG5vZGVJRCkpOwogfQogCiBTY3JvbGxpbmdUcmVlRnJhbWVTY3Jv
bGxpbmdOb2RlTWFjOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjKFNjcm9sbGlu
Z1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1hYy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1hYy5jcHAK
aW5kZXggOTBjNDM3ZjZhZTdlZjVhYmUxMGFkMGYyY2FkN2I2YWNlZTU5MWJjYS4uNzBkYmMwNmNm
MDEzYmYzMWI4ZGEwN2ZkZTBkMzk4OGM2MWI0ZDgwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlTWFjLmNwcApAQCAtMzQsOSAr
MzQsOSBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotUmVmUHRyPFNjcm9sbGluZ1Ry
ZWVNYWM+IFNjcm9sbGluZ1RyZWVNYWM6OmNyZWF0ZShBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9y
KiBzY3JvbGxpbmdDb29yZGluYXRvcikKK1JlZjxTY3JvbGxpbmdUcmVlTWFjPiBTY3JvbGxpbmdU
cmVlTWFjOjpjcmVhdGUoQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29vcmRp
bmF0b3IpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JvbGxpbmdUcmVlTWFjKHNjcm9s
bGluZ0Nvb3JkaW5hdG9yKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nVHJl
ZU1hYyhzY3JvbGxpbmdDb29yZGluYXRvcikpOwogfQogCiBTY3JvbGxpbmdUcmVlTWFjOjpTY3Jv
bGxpbmdUcmVlTWFjKEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IqIHNjcm9sbGluZ0Nvb3JkaW5h
dG9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ1RyZWVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlTWFjLmgKaW5kZXggMzMxZWI3NTAzODIwZjIyYjcxN2ZjNjY0OTI1OGU0NDJmYzQ5NDkz
MC4uNWRjZGEwYWU3MjE5Yjk2ZTY5MjU3YTRiZjlhYjY1Zjg2ZmU2MDc5MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1hYy5oCkBA
IC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU2Nyb2xsaW5nVHJl
ZU1hYyA6IHB1YmxpYyBUaHJlYWRlZFNjcm9sbGluZ1RyZWUgewogcHVibGljOgotICAgIHN0YXRp
YyBSZWZQdHI8U2Nyb2xsaW5nVHJlZU1hYz4gY3JlYXRlKEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0
b3IqKTsKKyAgICBzdGF0aWMgUmVmPFNjcm9sbGluZ1RyZWVNYWM+IGNyZWF0ZShBc3luY1Njcm9s
bGluZ0Nvb3JkaW5hdG9yKik7CiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2Nyb2xsaW5nVHJl
ZU5vZGU+IGNyZWF0ZVNjcm9sbGluZ1RyZWVOb2RlKFNjcm9sbGluZ05vZGVUeXBlLCBTY3JvbGxp
bmdOb2RlSUQpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oCmluZGV4IGU4MjIyZGUz
MDI3OGM3ZjExNDllYmVmODJiZThjZDk5NzkzMDRhMTQuLjcwNDg3ZWQ3YWZiNzRkNmU1YjJmYTk2
MjYxMTk2OTMxZDUyYjc5YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oCkBAIC00MCw3ICs0MCw3
IEBAIGNsYXNzIFN0aWNreVBvc2l0aW9uVmlld3BvcnRDb25zdHJhaW50czsKIAogY2xhc3MgU2Ny
b2xsaW5nVHJlZVN0aWNreU5vZGUgOiBwdWJsaWMgU2Nyb2xsaW5nVHJlZU5vZGUgewogcHVibGlj
OgotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBQYXNzUmVmUHRyPFNjcm9sbGluZ1RyZWVTdGlj
a3lOb2RlPiBjcmVhdGUoU2Nyb2xsaW5nVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CisgICAgV0VC
Q09SRV9FWFBPUlQgc3RhdGljIFJlZjxTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZT4gY3JlYXRlKFNj
cm9sbGluZ1RyZWUmLCBTY3JvbGxpbmdOb2RlSUQpOwogCiAgICAgdmlydHVhbCB+U2Nyb2xsaW5n
VHJlZVN0aWNreU5vZGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1tIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1tCmluZGV4IDY3YzRkYmUx
MzEyZmE5MTZiZmRhZTE0MjM5ZTk3ZjEyYzhjZTUyZDQuLjcyZDFmNzNmNDliODJiNWUyODU1ZmVj
MGIzZWEzNGJmYTFlMmQ3NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUubW0KQEAgLTM2LDkgKzM2
LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFNjcm9sbGluZ1RyZWVT
dGlja3lOb2RlPiBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZTo6Y3JlYXRlKFNjcm9sbGluZ1RyZWUm
IHNjcm9sbGluZ1RyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCitSZWY8U2Nyb2xsaW5nVHJl
ZVN0aWNreU5vZGU+IFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlOjpjcmVhdGUoU2Nyb2xsaW5nVHJl
ZSYgc2Nyb2xsaW5nVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKIHsKLSAgICByZXR1cm4g
YWRvcHRSZWYobmV3IFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlKHNjcm9sbGluZ1RyZWUsIG5vZGVJ
RCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlKHNj
cm9sbGluZ1RyZWUsIG5vZGVJRCkpOwogfQogCiBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZTo6U2Ny
b2xsaW5nVHJlZVN0aWNreU5vZGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5nVHJlZSwgU2Nyb2xs
aW5nTm9kZUlEIG5vZGVJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYlZpZXdHcm91cC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYlZpZXdHcm91cC5tbQppbmRleCA4ZWQ4YzRjZjBhOGUwYTdhOTIwNTQyN2EyM2YwZTQ0ZmQw
YmM4NWU2Li43NDUzOTI0NDFjMGQ1OTdiZmMyOTk2ZWVhMGVhMjc0Y2M5ZTYzNWM1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJWaWV3R3JvdXAubW0KKysr
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViVmlld0dyb3VwLm1tCkBAIC02
Niw3ICs2Niw3IEBAIFdlYlZpZXdHcm91cCogV2ViVmlld0dyb3VwOjpnZXQoY29uc3QgU3RyaW5n
JiBuYW1lKQogV2ViVmlld0dyb3VwOjpXZWJWaWV3R3JvdXAoY29uc3QgU3RyaW5nJiBuYW1lLCBj
b25zdCBTdHJpbmcmIGxvY2FsU3RvcmFnZURhdGFiYXNlUGF0aCkKICAgICA6IG1fbmFtZShuYW1l
KQogICAgICwgbV9sb2NhbFN0b3JhZ2VEYXRhYmFzZVBhdGgobG9jYWxTdG9yYWdlRGF0YWJhc2VQ
YXRoKQotICAgICwgbV91c2VyQ29udGVudENvbnRyb2xsZXIoKlVzZXJDb250ZW50Q29udHJvbGxl
cjo6Y3JlYXRlKCkpCisgICAgLCBtX3VzZXJDb250ZW50Q29udHJvbGxlcihVc2VyQ29udGVudENv
bnRyb2xsZXI6OmNyZWF0ZSgpKQogICAgICwgbV92aXNpdGVkTGlua1N0b3JlKFdlYlZpc2l0ZWRM
aW5rU3RvcmU6OmNyZWF0ZSgpKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAppbmRleCAwYzYwOGEwNzFiOTlkOTlmZDM5YjdjODlkODA2NjBlOTQzMzQ5M2Jl
Li40ZGJmMDYyODY2ZDU3YjZhYjgxNzIxNWI0MzYxNTA3MDI4ZTBhNWJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMzkyNCw3ICszOTI0LDcgQEAgdm9p
ZCBXZWJQYWdlUHJveHk6OmRpZEdldEltYWdlRm9yRmluZE1hdGNoKGNvbnN0IFNoYXJlYWJsZUJp
dG1hcDo6SGFuZGxlJiBjb250ZW4KIAogdm9pZCBXZWJQYWdlUHJveHk6OnNldFRleHRJbmRpY2F0
b3IoY29uc3QgVGV4dEluZGljYXRvckRhdGEmIGluZGljYXRvckRhdGEsIHVpbnQ2NF90IGxpZmV0
aW1lKQogewotICAgIG1fcGFnZUNsaWVudC5zZXRUZXh0SW5kaWNhdG9yKCpUZXh0SW5kaWNhdG9y
OjpjcmVhdGUoaW5kaWNhdG9yRGF0YSksIHN0YXRpY19jYXN0PFRleHRJbmRpY2F0b3JMaWZldGlt
ZT4obGlmZXRpbWUpKTsKKyAgICBtX3BhZ2VDbGllbnQuc2V0VGV4dEluZGljYXRvcihUZXh0SW5k
aWNhdG9yOjpjcmVhdGUoaW5kaWNhdG9yRGF0YSksIHN0YXRpY19jYXN0PFRleHRJbmRpY2F0b3JM
aWZldGltZT4obGlmZXRpbWUpKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OmNsZWFyVGV4dElu
ZGljYXRvcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VD
bGllbnRJbXBsLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1w
bC5tbQppbmRleCAwNzY5MDUwMzMxNWVmYzNmY2MyNTNiNTUyNjI3OWJiZmZmYzRjYTNmLi4zMmE3
MmI4MzNmZTc1ODhmZWRlMmYyZDY3MDllYWQ3NTkxMzY3YTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KQEAgLTU5Niw3ICs1OTYsNyBAQCB2
b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRQZXJmb3JtRGljdGlvbmFyeUxvb2t1cChjb25zdCBEaWN0
aW9uYXJ5UG9wdXBJbmZvJiBkaWN0aQogICAgIFttX3drVmlldyBfcHJlcGFyZUZvckRpY3Rpb25h
cnlMb29rdXBdOwogCiAgICAgaWYgKGNhbkxvYWRMVVRlcm1PcHRpb25EaXNhYmxlU2VhcmNoVGVy
bUluZGljYXRvcigpICYmIGRpY3Rpb25hcnlQb3B1cEluZm8udGV4dEluZGljYXRvci5jb250ZW50
SW1hZ2UpIHsKLSAgICAgICAgW21fd2tWaWV3IF9zZXRUZXh0SW5kaWNhdG9yOipUZXh0SW5kaWNh
dG9yOjpjcmVhdGUoZGljdGlvbmFyeVBvcHVwSW5mby50ZXh0SW5kaWNhdG9yKSB3aXRoTGlmZXRp
bWU6VGV4dEluZGljYXRvckxpZmV0aW1lOjpQZXJtYW5lbnRdOworICAgICAgICBbbV93a1ZpZXcg
X3NldFRleHRJbmRpY2F0b3I6VGV4dEluZGljYXRvcjo6Y3JlYXRlKGRpY3Rpb25hcnlQb3B1cElu
Zm8udGV4dEluZGljYXRvcikgd2l0aExpZmV0aW1lOlRleHRJbmRpY2F0b3JMaWZldGltZTo6UGVy
bWFuZW50XTsKICAgICAgICAgW211dGFibGVPcHRpb25zIHNldE9iamVjdDpAWUVTIGZvcktleTpn
ZXRMVVRlcm1PcHRpb25EaXNhYmxlU2VhcmNoVGVybUluZGljYXRvcigpXTsKICAgICAgICAgW2dl
dExVTG9va3VwRGVmaW5pdGlvbk1vZHVsZUNsYXNzKCkgc2hvd0RlZmluaXRpb25Gb3JUZXJtOmRp
Y3Rpb25hcnlQb3B1cEluZm8uYXR0cmlidXRlZFN0cmluZy5zdHJpbmcuZ2V0KCkgYXRMb2NhdGlv
bjp0ZXh0QmFzZWxpbmVPcmlnaW4gb3B0aW9uczptdXRhYmxlT3B0aW9ucy5nZXQoKV07CiAgICAg
fSBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1VzZXJDb250ZW50
L1dlYlVzZXJDb250ZW50Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxlci5jcHAKaW5kZXggZTMzZTQ5YWIw
ZjIzOTEyMTQwZWMzNWVkMWFlZTZlOGZkZWY3ZTBiMS4uYWE3YjY0NTY2ZTgwYzdkMDE5YzVmNTBk
ODEwNGFkYTdhM2QxY2EwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9V
c2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyLmNwcApA
QCAtNjksNyArNjksNyBAQCBQYXNzUmVmUHRyPFdlYlVzZXJDb250ZW50Q29udHJvbGxlcj4gV2Vi
VXNlckNvbnRlbnRDb250cm9sbGVyOjpnZXRPckNyZWF0ZSh1aW50NgogCiBXZWJVc2VyQ29udGVu
dENvbnRyb2xsZXI6OldlYlVzZXJDb250ZW50Q29udHJvbGxlcih1aW50NjRfdCBpZGVudGlmaWVy
KQogICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCi0gICAgLCBtX3VzZXJDb250ZW50Q29u
dHJvbGxlcigqVXNlckNvbnRlbnRDb250cm9sbGVyOjpjcmVhdGUoKSkKKyAgICAsIG1fdXNlckNv
bnRlbnRDb250cm9sbGVyKFVzZXJDb250ZW50Q29udHJvbGxlcjo6Y3JlYXRlKCkpCiB7CiAgICAg
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpXZWJV
c2VyQ29udGVudENvbnRyb2xsZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9pZGVudGlmaWVy
LCAqdGhpcyk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252808</attachid>
            <date>2015-05-10 02:23:00 -0700</date>
            <delta_ts>2015-05-10 18:33:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144841-20150510182140.patch</filename>
            <type>text/plain</type>
            <size>61278</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmI5NzUyMDk0ZjRhNmZj
ZWNjM2FiOTllZWRmOWY2MGQyZTE2ZTkwZi4uNDdmNzU4MGNhNDE0OGVkYzUxOGVjZDNmMTZlZWJi
ZDNhMTQxZmFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNSBAQAorMjAxNS0wNS0xMCAgR3l1
eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFVzZSBSZWYg
aW5zdGVhZCBvZiBQYXNzUmVmUHRyIGluIFdlYkNvcmUvcGFnZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0ODQxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVG8ga2lsbCBQYXNzUmVmUHRyLCB0aGlzIHBh
dGNoIHJlcGxhY2VzIFBhc3NSZWZQdHIgd2l0aCBSZWYgb3IgUmVmUHRyCisgICAgICAgIGluIFdl
YkNvcmUvcGFnZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZXMu
CisKKyAgICAgICAgKiBwYWdlL0RlYnVnUGFnZU92ZXJsYXlzLmNwcDoKKyAgICAgICAgKiBwYWdl
L0V2ZW50U291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpjcmVhdGUp
OgorICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuaDoKKyAgICAgICAgKiBwYWdlL0hpc3Rvcnku
aDoKKyAgICAgICAgKFdlYkNvcmU6Okhpc3Rvcnk6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9M
b2NhdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6TG9jYXRpb246OmNyZWF0ZSk6CisgICAgICAg
ICogcGFnZS9NYWluRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWFpbkZyYW1lOjpjcmVh
dGUpOgorICAgICAgICAqIHBhZ2UvTWFpbkZyYW1lLmg6CisgICAgICAgICogcGFnZS9OYXZpZ2F0
b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBw
YWdlL1BhZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VPdmVybGF5OjpjcmVh
dGUpOgorICAgICAgICAqIHBhZ2UvUGFnZU92ZXJsYXkuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZv
cm1hbmNlLmg6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5oOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeUxpc3Q6OmNyZWF0ZSk6CisgICAgICAgICogcGFn
ZS9QZXJmb3JtYW5jZU1hcmsuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTWFyazo6
Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5oOgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2VNZWFzdXJlOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvUGVy
Zm9ybWFuY2VOYXZpZ2F0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU5hdmln
YXRpb246OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
Lmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjcmVhdGUp
OgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlVGltaW5nOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VV
c2VyVGltaW5nLmg6CisgICAgICAgIChXZWJDb3JlOjpVc2VyVGltaW5nOjpjcmVhdGUpOgorICAg
ICAgICAqIHBhZ2UvU2NyZWVuLmg6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTZXR0aW5nczo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdz
Lmg6CisgICAgICAgICogcGFnZS9UZXh0SW5kaWNhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRJbmRpY2F0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9UZXh0SW5kaWNhdG9yLmg6
CisgICAgICAgICogcGFnZS9Vc2VyQ29udGVudENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VXNlckNvbnRlbnRDb250cm9sbGVyOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvVXNl
ckNvbnRlbnRDb250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXJE
ZXNjcmlwdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpVc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlw
dG9yOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFj
ZS5oOgorICAgICAgICAqIHBhZ2UvVmlzaXRlZExpbmtTdG9yZS5oOgorICAgICAgICAqIHBhZ2Uv
V2ViS2l0TmFtZXNwYWNlLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXROYW1lc3BhY2U6OmNy
ZWF0ZSk6CisgICAgICAgICogcGFnZS9XZWJLaXRQb2ludC5oOgorICAgICAgICAoV2ViQ29yZTo6
V2ViS2l0UG9pbnQ6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9Xb3JrZXJOYXZpZ2F0b3IuaDoK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck5hdmlnYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBw
YWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6SW1w
bGljaXRBbmltYXRpb246OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9hbmltYXRpb24vS2V5ZnJh
bWVBbmltYXRpb24uaDoKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9s
bGVyLmg6CisgICAgICAgICogcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbToK
KyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OkhpZ2hsaWdodDo6
Y3JlYXRlRm9yU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXI6OkhpZ2hsaWdodDo6Y3JlYXRlRm9yVGVsZXBob25lTnVtYmVyKToKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1N0YXRlRml4ZWROb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0
YXRlRml4ZWROb2RlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVG
aXhlZE5vZGU6OmNsb25lKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0
ZUZpeGVkTm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJh
bWVTY3JvbGxpbmdOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlRnJh
bWVTY3JvbGxpbmdOb2RlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3Rh
dGVGcmFtZVNjcm9sbGluZ05vZGU6OmNsb25lKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmNsb25lKToKKyAgICAg
ICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZS5o
OgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU6OmNsb25lKToKKyAgICAg
ICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaDoKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW06CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdl
L3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUy5oOgorICAg
ICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
SU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9k
ZUlPUzo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJl
ZUlPUy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlSU9TOjpjcmVhdGUpOgor
ICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGUpOgorICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLmg6CisgICAgICAg
ICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUubW06CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlRml4ZWROb2RlOjpjcmVhdGUpOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmg6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlTWFjOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdU
cmVlTWFjLmNwcDoKKyAgICAgICAgKFNjcm9sbGluZ1RyZWVNYWM6OmNyZWF0ZSk6CisgICAgICAg
ICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMuaDoKKyAgICAgICAgKiBwYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaDoKKyAgICAgICAgKiBwYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUubW06CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZTo6Y3JlYXRlKToKKwogMjAxNS0wNS0wOSAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEludHJvZHVjZSBQYXJlbnRO
b2RlLmlkbCAvIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9kZS5pZGwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA3NjRi
Njg2NzQ0NmI4NjFhZDllNTQxYmNkZjU2YzcwMWY3Mzg4OGRjLi4zYTYzMGUwODQ0YThlODcxOGQy
NmEwM2ZhZWVjOTIxOWExZGNkMDU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTUt
MDUtMDkgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUB3ZWJraXQub3JnPgorCisgICAgICAg
IFVzZSBSZWYgaW5zdGVhZCBvZiBQYXNzUmVmUHRyIGluIFdlYkNvcmUvcGFnZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0ODQxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVG8ga2lsbCBQYXNzUmVmUHRy
LCB0aGlzIHBhdGNoIHJlcGxhY2VzIFBhc3NSZWZQdHIgd2l0aCBSZWYgb3IgUmVmUHRyCisgICAg
ICAgIGluIFdlYkNvcmUvcGFnZS4KKworICAgICAgICAoV2ViS2l0OjpXZWJVc2VyQ29udGVudENv
bnRyb2xsZXI6OldlYlVzZXJDb250ZW50Q29udHJvbGxlcik6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2V0VGV4
dEluZGljYXRvcik6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbToK
KyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmRpZFBlcmZvcm1EaWN0aW9uYXJ5TG9v
a3VwKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlVzZXJDb250ZW50Q29udHJvbGxlcjo6
V2ViVXNlckNvbnRlbnRDb250cm9sbGVyKToKKwogMjAxNS0wNS0wOSAgRGFuIEJlcm5zdGVpbiAg
PG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIERlcGxveW1lbnQtdGFyZ2V0IF9fTlNpXyBhbmQg
X19OU2RfIGRlZmluaXRpb25zIGluIFdLRm91bmRhdGlvbi5oIGFyZSByZWR1bmRhbnQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGVidWdQYWdlT3ZlcmxheXMuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9EZWJ1Z1BhZ2VPdmVybGF5cy5jcHAKaW5kZXggYzMxNzY1M2MxN2JhMzcy
MjMxMjk3ZDlmMzA5MDU1MjFlYTMzNmJkNi4uY2FlNDNkYWQ2YTc0MDgwNDA3NGVlYjM3YmE4YzQ5
OTdmNGMwZDRjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EZWJ1Z1BhZ2VPdmVy
bGF5cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EZWJ1Z1BhZ2VPdmVybGF5cy5jcHAK
QEAgLTc0LDkgKzc0LDkgQEAgcHJvdGVjdGVkOgogCiBjbGFzcyBNb3VzZVdoZWVsUmVnaW9uT3Zl
cmxheSBmaW5hbCA6IHB1YmxpYyBSZWdpb25PdmVybGF5IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMg
UGFzc1JlZlB0cjxNb3VzZVdoZWVsUmVnaW9uT3ZlcmxheT4gY3JlYXRlKE1haW5GcmFtZSYgZnJh
bWUpCisgICAgc3RhdGljIFJlZjxNb3VzZVdoZWVsUmVnaW9uT3ZlcmxheT4gY3JlYXRlKE1haW5G
cmFtZSYgZnJhbWUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IE1vdXNlV2hl
ZWxSZWdpb25PdmVybGF5KGZyYW1lKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1v
dXNlV2hlZWxSZWdpb25PdmVybGF5KGZyYW1lKSk7CiAgICAgfQogCiBwcml2YXRlOgpAQCAtMTEz
LDkgKzExMyw5IEBAIGJvb2wgTW91c2VXaGVlbFJlZ2lvbk92ZXJsYXk6OnVwZGF0ZVJlZ2lvbigp
CiAKIGNsYXNzIE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uT3ZlcmxheSBmaW5hbCA6IHB1YmxpYyBS
ZWdpb25PdmVybGF5IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxOb25GYXN0U2Ny
b2xsYWJsZVJlZ2lvbk92ZXJsYXk+IGNyZWF0ZShNYWluRnJhbWUmIGZyYW1lKQorICAgIHN0YXRp
YyBSZWY8Tm9uRmFzdFNjcm9sbGFibGVSZWdpb25PdmVybGF5PiBjcmVhdGUoTWFpbkZyYW1lJiBm
cmFtZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgTm9uRmFzdFNjcm9sbGFi
bGVSZWdpb25PdmVybGF5KGZyYW1lKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE5v
bkZhc3RTY3JvbGxhYmxlUmVnaW9uT3ZlcmxheShmcmFtZSkpOwogICAgIH0KIAogcHJpdmF0ZToK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKaW5kZXggODU0YTVhODNjMjVkYWVlMjY1MWI0
ZWZhZDdmZmNlN2Y4OWE4YmMxZC4uM2Q3MGRlOTMxZDdjM2RmZDE5OWVmMTJlY2FkNjY5ZjI2YmVh
ODQ2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAKQEAgLTcyLDcgKzcyLDcgQEAg
aW5saW5lIEV2ZW50U291cmNlOjpFdmVudFNvdXJjZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0LCBjb25zdCBVUkwmIHVybCwKICAgICBldmVudFNvdXJjZUluaXQuZ2V0KCJ3aXRoQ3Jl
ZGVudGlhbHMiLCBtX3dpdGhDcmVkZW50aWFscyk7CiB9CiAKLVBhc3NSZWZQdHI8RXZlbnRTb3Vy
Y2U+IEV2ZW50U291cmNlOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwg
Y29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IERpY3Rpb25hcnkmIGV2ZW50U291cmNlSW5pdCwgRXhj
ZXB0aW9uQ29kZSYgZWMpCitSZWZQdHI8RXZlbnRTb3VyY2U+IEV2ZW50U291cmNlOjpjcmVhdGUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0
IERpY3Rpb25hcnkmIGV2ZW50U291cmNlSW5pdCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAg
aWYgKHVybC5pc0VtcHR5KCkpIHsKICAgICAgICAgZWMgPSBTWU5UQVhfRVJSOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudFNvdXJjZS5oCmluZGV4IDUwYzBlNTdlMDAwMzQ1ODRhY2RjNDA5MjcyY2VmZGY0ZjBk
MTE0NzQuLjdjZGIxMzY4NTkzZjNjOWNlZDFiNjZiYjMwNDI0MDQ4ZTk2N2JhZDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50U291cmNlLmgKQEAgLTUxLDcgKzUxLDcgQEAgY2xhc3MgVGhyZWFkYWJsZUxv
YWRlcjsKIGNsYXNzIEV2ZW50U291cmNlIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8RXZlbnRT
b3VyY2U+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHJpdmF0ZSBUaHJlYWRh
YmxlTG9hZGVyQ2xpZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxFdmVudFNvdXJj
ZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcmIHVybCwgY29u
c3QgRGljdGlvbmFyeSYsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBzdGF0aWMgUmVmUHRyPEV2ZW50
U291cmNlPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0cmluZyYgdXJs
LCBjb25zdCBEaWN0aW9uYXJ5JiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1YWwgfkV2ZW50
U291cmNlKCk7CiAKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbG9uZyBsb25nIGRlZmF1bHRS
ZWNvbm5lY3REZWxheTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSGlzdG9yeS5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9IaXN0b3J5LmgKaW5kZXggZjhlMWZkMTU2N2QzZjY1Mjg1
YTljOTI0Zjc4MjBlZDlmOGQ1OGJjOC4uMTQ1NGM0NDYxYThjMjIwOTk2MjZkZmQ4MTU5Mjk2YzIy
OGMyNWVkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9IaXN0b3J5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9IaXN0b3J5LmgKQEAgLTQyLDcgKzQyLDcgQEAgdHlwZWRlZiBp
bnQgRXhjZXB0aW9uQ29kZTsKIAogY2xhc3MgSGlzdG9yeSA6IHB1YmxpYyBTY3JpcHRXcmFwcGFi
bGUsIHB1YmxpYyBSZWZDb3VudGVkPEhpc3Rvcnk+LCBwdWJsaWMgRE9NV2luZG93UHJvcGVydHkg
ewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhpc3Rvcnk+IGNyZWF0ZShGcmFtZSog
ZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBIaXN0b3J5KGZyYW1lKSk7IH0KKyAgICBzdGF0
aWMgUmVmPEhpc3Rvcnk+IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgSGlzdG9yeShmcmFtZSkpOyB9CiAKICAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdDsKICAg
ICBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gc3RhdGUoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9j
YXRpb24uaAppbmRleCAzMzM4ODc5MzRhN2VmMmY3N2I3YWZiYmI0NDY5OTgxNGI2NzU0NWNhLi45
NTY2ZGE0ODc2NWZmNmRkYjQ3OWE2MmUwYWY0ZDI3YjRiNmVmYjIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2Nh
dGlvbi5oCkBAIC00Niw3ICs0Niw3IEBAIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKIGNs
YXNzIExvY2F0aW9uIDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8
TG9jYXRpb24+LCBwdWJsaWMgRE9NV2luZG93UHJvcGVydHkgewogcHVibGljOgotICAgIHN0YXRp
YyBQYXNzUmVmUHRyPExvY2F0aW9uPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9w
dFJlZihuZXcgTG9jYXRpb24oZnJhbWUpKTsgfQorICAgIHN0YXRpYyBSZWY8TG9jYXRpb24+IGNy
ZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTG9jYXRpb24oZnJhbWUp
KTsgfQogCiAgICAgdm9pZCBzZXRIcmVmKGNvbnN0IFN0cmluZyYsIERPTVdpbmRvdyYgYWN0aXZl
V2luZG93LCBET01XaW5kb3cmIGZpcnN0V2luZG93KTsKICAgICBTdHJpbmcgaHJlZigpIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwCmluZGV4IDdiN2UwMDM5M2Q4MGU5ZDE2YjRjNTRj
MDUyMDEwOGVhMjI4MDdmNzIuLmJmZDFlYWM0OWViYWFmMTBjMWZmMGU3ZWVlZjc2MjQ1MGUzZGFl
OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5jcHAKQEAgLTYxLDkgKzYxLDkgQEAgTWFpbkZy
YW1lOjp+TWFpbkZyYW1lKCkKICAgICAgICAgbV9kaWFnbm9zdGljTG9nZ2luZ0NsaWVudC0+bWFp
bkZyYW1lRGVzdHJveWVkKCk7CiB9CiAKLVJlZlB0cjxNYWluRnJhbWU+IE1haW5GcmFtZTo6Y3Jl
YXRlKFBhZ2UmIHBhZ2UsIFBhZ2VDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQorUmVmPE1h
aW5GcmFtZT4gTWFpbkZyYW1lOjpjcmVhdGUoUGFnZSYgcGFnZSwgUGFnZUNvbmZpZ3VyYXRpb24m
IGNvbmZpZ3VyYXRpb24pCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNYWluRnJhbWUocGFn
ZSwgY29uZmlndXJhdGlvbikpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1haW5GcmFtZShw
YWdlLCBjb25maWd1cmF0aW9uKSk7CiB9CiAKIHZvaWQgTWFpbkZyYW1lOjpzZWxmT25seVJlZigp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9NYWluRnJhbWUuaAppbmRleCA5Y2Y4Y2E1ODA0NjUwZmMxZDJlMmIyMTM5MjBh
ODkyYmU1NTJiMDY0Li4yODQxMjUzODgwZGQ4ZmQxYjVjZmVmMjY5M2JjZTFiYjJmNTIwNmQ1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmgKQEAgLTQwLDcgKzQwLDcgQEAgY2xhc3MgV2hlZWxFdmVu
dERlbHRhVHJhY2tlcjsKIAogY2xhc3MgTWFpbkZyYW1lIGZpbmFsIDogcHVibGljIEZyYW1lIHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPE1haW5GcmFtZT4gY3JlYXRlKFBhZ2UmLCBQYWdl
Q29uZmlndXJhdGlvbiYpOworICAgIHN0YXRpYyBSZWY8TWFpbkZyYW1lPiBjcmVhdGUoUGFnZSYs
IFBhZ2VDb25maWd1cmF0aW9uJik7CiAKICAgICB2aXJ0dWFsIH5NYWluRnJhbWUoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvTmF2aWdhdG9yLmgKaW5kZXggYzZkMzhhYTY4OGExOTNkODA2NmNlZWQwZGY0ODU2MGM2
OWEwZjBkNS4uMTZhYmRkODY3NzYxNDdmNzFhZDA1YTFiODc1OWMwODU1MDQ2MzMyZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL05hdmlnYXRvci5oCkBAIC00MSw3ICs0MSw3IEBAIHR5cGVkZWYgaW50IEV4Y2VwdGlv
bkNvZGU7CiAKIGNsYXNzIE5hdmlnYXRvciA6IHB1YmxpYyBOYXZpZ2F0b3JCYXNlLCBwdWJsaWMg
U2NyaXB0V3JhcHBhYmxlLCBwdWJsaWMgUmVmQ291bnRlZDxOYXZpZ2F0b3I+LCBwdWJsaWMgRE9N
V2luZG93UHJvcGVydHksIHB1YmxpYyBTdXBwbGVtZW50YWJsZTxOYXZpZ2F0b3I+IHsKIHB1Ymxp
YzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxOYXZpZ2F0b3I+IGNyZWF0ZShGcmFtZSogZnJhbWUp
IHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBOYXZpZ2F0b3IoZnJhbWUpKTsgfQorICAgIHN0YXRpYyBS
ZWY8TmF2aWdhdG9yPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZigqbmV3
IE5hdmlnYXRvcihmcmFtZSkpOyB9CiAgICAgdmlydHVhbCB+TmF2aWdhdG9yKCk7CiAKICAgICBT
dHJpbmcgYXBwVmVyc2lvbigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlT3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcApp
bmRleCA2ZmMzMjQ3YjM3NTM4MTJlYWMzMTJhYWQ1ZDYwYWZjNjRkODhhN2Q4Li5hOWI5MWNkMTQx
OTVkYzYwYWQ4NjI5YjY2ZjMzYzE1ZWE1Nzg2M2I1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VPdmVybGF5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVy
bGF5LmNwcApAQCAtNDYsOSArNDYsOSBAQCBzdGF0aWMgUGFnZU92ZXJsYXk6OlBhZ2VPdmVybGF5
SUQgZ2VuZXJhdGVQYWdlT3ZlcmxheUlEKCkKICAgICByZXR1cm4gKytwYWdlT3ZlcmxheUlEOwog
fQogCi1QYXNzUmVmUHRyPFBhZ2VPdmVybGF5PiBQYWdlT3ZlcmxheTo6Y3JlYXRlKENsaWVudCYg
Y2xpZW50LCBPdmVybGF5VHlwZSBvdmVybGF5VHlwZSkKK1JlZjxQYWdlT3ZlcmxheT4gUGFnZU92
ZXJsYXk6OmNyZWF0ZShDbGllbnQmIGNsaWVudCwgT3ZlcmxheVR5cGUgb3ZlcmxheVR5cGUpCiB7
Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBQYWdlT3ZlcmxheShjbGllbnQsIG92ZXJsYXlUeXBl
KSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGFnZU92ZXJsYXkoY2xpZW50LCBvdmVybGF5
VHlwZSkpOwogfQogCiBQYWdlT3ZlcmxheTo6UGFnZU92ZXJsYXkoQ2xpZW50JiBjbGllbnQsIE92
ZXJsYXlUeXBlIG92ZXJsYXlUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlT3ZlcmxheS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5oCmluZGV4IDhh
YjZjNDU1MDViZGQ0MzY1YWRiM2FiNDJjNWRmZWZhYjE2Y2VjNDAuLmY3MjM2NTAyZTc3ZDdkYzA2
ZDhjNGIyODNkYzJhZTE5NTg5YTZjMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZU92ZXJsYXkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmgKQEAg
LTY5LDcgKzY5LDcgQEAgcHVibGljOgogICAgICAgICBEb2N1bWVudCwgLy8gU2NhbGVzIGFuZCBz
Y3JvbGxzIHdpdGggdGhlIGRvY3VtZW50LgogICAgIH07CiAKLSAgICBXRUJDT1JFX0VYUE9SVCBz
dGF0aWMgUGFzc1JlZlB0cjxQYWdlT3ZlcmxheT4gY3JlYXRlKENsaWVudCYsIE92ZXJsYXlUeXBl
ID0gT3ZlcmxheVR5cGU6OlZpZXcpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWY8UGFn
ZU92ZXJsYXk+IGNyZWF0ZShDbGllbnQmLCBPdmVybGF5VHlwZSA9IE92ZXJsYXlUeXBlOjpWaWV3
KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIH5QYWdlT3ZlcmxheSgpOwogCiAgICAgV0VC
Q09SRV9FWFBPUlQgUGFnZU92ZXJsYXlDb250cm9sbGVyKiBjb250cm9sbGVyKCkgY29uc3Q7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKaW5kZXggNzZlNDliNGRiMDUwMDhmNmJjZjA1MmRkZDQ5
ODcwMjFhYTE5NTIxZC4uZDI2ODAxODg3NzY3OTc1ZDE1YTRiMWU2ZjFmMjhjNzhjMjlmOTk0ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaApAQCAtNTQsNyArNTQsNyBAQCBjbGFzcyBVc2Vy
VGltaW5nOwogCiBjbGFzcyBQZXJmb3JtYW5jZSBmaW5hbCA6IHB1YmxpYyBTY3JpcHRXcmFwcGFi
bGUsIHB1YmxpYyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlPiwgcHVibGljIERPTVdpbmRvd1Byb3Bl
cnR5LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSB7CiBwdWJsaWM6Ci0gICAgc3Rh
dGljIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2U+IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBQZXJmb3JtYW5jZShmcmFtZSkpOyB9CisgICAgc3RhdGljIFJlZjxQZXJm
b3JtYW5jZT4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJm
b3JtYW5jZShmcmFtZSkpOyB9CiAgICAgflBlcmZvcm1hbmNlKCk7CiAKICAgICB2aXJ0dWFsIEV2
ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gUGVyZm9ybWFuY2VFdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuaAppbmRleCBkOTAwMjg3YWRkYmRkNTFk
ZDRhMzI4YWRjYzk5N2FlYjE3MTY0ODdjLi45N2EyMTJkZDZmZDA1NDQ3NjZlZDc1NjNjMTc1NmI5
MTM2ZDdmZWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50
cnlMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5o
CkBAIC00NSw3ICs0NSw3IEBAIGNsYXNzIFBlcmZvcm1hbmNlRW50cnk7CiAKIGNsYXNzIFBlcmZv
cm1hbmNlRW50cnlMaXN0IDogcHVibGljIFJlZkNvdW50ZWQ8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+
IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxQZXJmb3JtYW5jZUVudHJ5TGlzdD4g
Y3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFBlcmZvcm1hbmNlRW50cnlMaXN0KTsgfQor
ICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IGNyZWF0ZSgpIHsgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VFbnRyeUxpc3QpOyB9CiAgICAgflBlcmZvcm1hbmNlRW50
cnlMaXN0KCk7CiAKICAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VNYXJrLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlTWFyay5oCmluZGV4IDY0YjM5YWJmZDAwN2FlZDVjMzAxZWEyNzBmYWQ3ZTQx
YWNlZjY3NDkuLmNkNzFhMDI2ZmYzMWQ3MWYxNGVhY2Y4N2RhNTA3MGUzNmIwN2NhODggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VNYXJrLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaApAQCAtMzYsNyArMzYsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBlcmZvcm1hbmNlTWFyayA6IHB1YmxpYyBQZXJmb3JtYW5j
ZUVudHJ5IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxQZXJmb3JtYW5jZU1hcms+
IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIGRvdWJsZSBzdGFydFRpbWUpIHsgcmV0dXJuIGFk
b3B0UmVmKG5ldyBQZXJmb3JtYW5jZU1hcmsobmFtZSwgc3RhcnRUaW1lKSk7IH0KKyAgICBzdGF0
aWMgUmVmPFBlcmZvcm1hbmNlTWFyaz4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgZG91Ymxl
IHN0YXJ0VGltZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZU1hcmsobmFtZSwg
c3RhcnRUaW1lKSk7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBpc01hcmsoKSB7IHJldHVybiB0cnVl
OyB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTWVh
c3VyZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1lYXN1cmUuaAppbmRleCA2
NTU2NDk1OWIwNjQ5NzRjNDNmZDc5YzU5NmI2MjJkNzk5NThkZjY4Li5hZjNlMzZlNTA2MTk0Y2Yz
Mzk4YjhmYWZlZjZiNjI4MzIzYWFmZDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlTWVhc3VyZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VNZWFzdXJlLmgKQEAgLTM2LDcgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBQZXJmb3JtYW5jZU1lYXN1cmUgOiBwdWJsaWMgUGVyZm9ybWFuY2VFbnRyeSB7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VNZWFzdXJlPiBjcmVhdGUoY29uc3Qg
U3RyaW5nJiBuYW1lLCBkb3VibGUgc3RhcnRUaW1lLCBkb3VibGUgZHVyYXRpb24pIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBQZXJmb3JtYW5jZU1lYXN1cmUobmFtZSwgc3RhcnRUaW1lLCBkdXJhdGlv
bikpOyB9CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZU1lYXN1cmU+IGNyZWF0ZShjb25zdCBT
dHJpbmcmIG5hbWUsIGRvdWJsZSBzdGFydFRpbWUsIGRvdWJsZSBkdXJhdGlvbikgeyByZXR1cm4g
YWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZU1lYXN1cmUobmFtZSwgc3RhcnRUaW1lLCBkdXJhdGlv
bikpOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNNZWFzdXJlKCkgeyByZXR1cm4gdHJ1ZTsgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaAppbmRleCBmMzk3
OTIzZTZhOWRiNDRiMGVmMzQ3YzU0MDIwNGJhOGE2ZThiMWZkLi4yYWNjNjBiMDI1M2EyYzdkZDY3
OWNkMWZkYzg0Zjk1NmVlNDc0MDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlTmF2aWdhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VOYXZpZ2F0aW9uLmgKQEAgLTQzLDcgKzQzLDcgQEAgY2xhc3MgRnJhbWU7CiAKIGNsYXNzIFBl
cmZvcm1hbmNlTmF2aWdhdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlTmF2aWdh
dGlvbj4sIHB1YmxpYyBET01XaW5kb3dQcm9wZXJ0eSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBh
c3NSZWZQdHI8UGVyZm9ybWFuY2VOYXZpZ2F0aW9uPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJl
dHVybiBhZG9wdFJlZihuZXcgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uKGZyYW1lKSk7IH0KKyAgICBz
dGF0aWMgUmVmPFBlcmZvcm1hbmNlTmF2aWdhdGlvbj4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZU5hdmlnYXRpb24oZnJhbWUpKTsgfQogCiAg
ICAgZW51bSBQZXJmb3JtYW5jZU5hdmlnYXRpb25UeXBlIHsKICAgICAgICAgVFlQRV9OQVZJR0FU
RSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgK
aW5kZXggZTc4NWE0NjIwMTdjYmJiZjVhMzY1MTlkOTlkY2IwMDEwZDZlYTRjYy4uOTlkZmM1YmNk
Y2RjNzllMzUzZTk0OTM2YzQ4Mjg1MzYxN2M1ZjUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmgKQEAgLTUwLDkgKzUwLDkgQEAgY2xhc3Mg
UmVzb3VyY2VSZXNwb25zZTsKIAogY2xhc3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyA6IHB1
YmxpYyBQZXJmb3JtYW5jZUVudHJ5IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBpbml0
aWF0b3JUeXBlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUgaW5pdGlhdGlvblRpbWUsIGRvdWJsZSBmaW5pc2hU
aW1lLCBEb2N1bWVudCogcmVxdWVzdGluZ0RvY3VtZW50KQorICAgIHN0YXRpYyBSZWY8UGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZz4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgaW5pdGlhdG9y
VHlwZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwb25zZSwgZG91YmxlIGluaXRpYXRpb25UaW1lLCBkb3VibGUgZmluaXNoVGltZSwg
RG9jdW1lbnQqIHJlcXVlc3RpbmdEb2N1bWVudCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyhpbml0aWF0b3JUeXBlLCByZXF1ZXN0
LCByZXNwb25zZSwgaW5pdGlhdGlvblRpbWUsIGZpbmlzaFRpbWUsIHJlcXVlc3RpbmdEb2N1bWVu
dCkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nKGluaXRpYXRvclR5cGUsIHJlcXVlc3QsIHJlc3BvbnNlLCBpbml0aWF0aW9uVGltZSwgZmlu
aXNoVGltZSwgcmVxdWVzdGluZ0RvY3VtZW50KSk7CiAgICAgfQogCiAgICAgQXRvbWljU3RyaW5n
IGluaXRpYXRvclR5cGUoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1p
bmcuaAppbmRleCBiNjE0ZjEzOTUwOTJkM2UxMGNhZWRjMzczYWE2ZThkNzgyMDE5N2VkLi5lNTQx
ODhhNTgzODc2ODYzM2VkZTkzMzc0ZjA2NjdiOTE1ZTU5NjE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZVRpbWluZy5oCkBAIC00Nyw3ICs0Nyw3IEBAIGNsYXNzIFJlc291cmNlTG9h
ZFRpbWluZzsKIAogY2xhc3MgUGVyZm9ybWFuY2VUaW1pbmcgOiBwdWJsaWMgUmVmQ291bnRlZDxQ
ZXJmb3JtYW5jZVRpbWluZz4sIHB1YmxpYyBET01XaW5kb3dQcm9wZXJ0eSB7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VUaW1pbmc+IGNyZWF0ZShGcmFtZSogZnJh
bWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQZXJmb3JtYW5jZVRpbWluZyhmcmFtZSkpOyB9Cisg
ICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZVRpbWluZz4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZVRpbWluZyhmcmFtZSkpOyB9CiAKICAgICB1
bnNpZ25lZCBsb25nIGxvbmcgbmF2aWdhdGlvblN0YXJ0KCkgY29uc3Q7CiAgICAgdW5zaWduZWQg
bG9uZyBsb25nIHVubG9hZEV2ZW50U3RhcnQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlVXNlclRpbWluZy5oCmluZGV4IDE0YzhjM2Y5YjFjY2JlNDVhZmVjMDgxNDE0
YzFmMDA4NzZmMDA1MDcuLmFhMjNmZGVjMjQ3YzFlYzlkZjE2NTQ3M2ZjZGY2ODFhMjM4ZWQ4Y2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVVzZXJUaW1pbmcuaApAQCAtNDgs
NyArNDgsNyBAQCB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBWZWN0b3I8UmVmUHRyPFBlcmZvcm1h
bmNlRW50cnk+ID4gPiBQZXJmb3JtYW5jZUVudHJ5TWFwOwogCiBjbGFzcyBVc2VyVGltaW5nIDog
cHVibGljIFJlZkNvdW50ZWQ8VXNlclRpbWluZz4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFVzZXJUaW1pbmc+IGNyZWF0ZShQZXJmb3JtYW5jZSogcGVyZm9ybWFuY2UpIHsgcmV0
dXJuIGFkb3B0UmVmKG5ldyBVc2VyVGltaW5nKHBlcmZvcm1hbmNlKSk7IH0KKyAgICBzdGF0aWMg
UmVmPFVzZXJUaW1pbmc+IGNyZWF0ZShQZXJmb3JtYW5jZSogcGVyZm9ybWFuY2UpIHsgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgVXNlclRpbWluZyhwZXJmb3JtYW5jZSkpOyB9CiAKICAgICB2b2lkIG1h
cmsoY29uc3QgU3RyaW5nJiBtYXJrTmFtZSwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgY2xl
YXJNYXJrcyhjb25zdCBTdHJpbmcmIG1hcmtOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2NyZWVuLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NjcmVlbi5oCmluZGV4IDk0
NzJlMTE5N2U5NjY1ZTAwZGU4MGYzOTQ5NGMyNDE0YTAzMmRhNWYuLjBlZGNkMWFjZGNiNzdhMDFl
NWQ3ZGY5MTk4ODE0MzQyNzRiYzg0MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2NyZWVuLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JlZW4uaApAQCAtNDEsNyArNDEs
NyBAQCBjbGFzcyBGcmFtZTsKIAogY2xhc3MgU2NyZWVuIGZpbmFsIDogcHVibGljIFNjcmlwdFdy
YXBwYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8U2NyZWVuPiwgcHVibGljIERPTVdpbmRvd1Byb3Bl
cnR5IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3JlZW4+IGNyZWF0ZShGcmFt
ZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JlZW4oZnJhbWUpKTsgfQorICAgIHN0
YXRpYyBSZWY8U2NyZWVuPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZigq
bmV3IFNjcmVlbihmcmFtZSkpOyB9CiAKICAgICB1bnNpZ25lZCBoZWlnaHQoKSBjb25zdDsKICAg
ICB1bnNpZ25lZCB3aWR0aCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAppbmRleCAx
ZjBkNzFiMmY0ZDBmZjY4YjQxNmFiNDdkYWQzYjZmNWFlZWY1NzcwLi43ODE1ODlhMjA1YjE0Yzkw
YWZmMTAyODg5NzIyNmE5ZTJmYWM0ZTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcApAQCAt
MjEzLDkgKzIxMyw5IEBAIFNldHRpbmdzOjp+U2V0dGluZ3MoKQogewogfQogCi1QYXNzUmVmUHRy
PFNldHRpbmdzPiBTZXR0aW5nczo6Y3JlYXRlKFBhZ2UqIHBhZ2UpCitSZWY8U2V0dGluZ3M+IFNl
dHRpbmdzOjpjcmVhdGUoUGFnZSogcGFnZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNl
dHRpbmdzKHBhZ2UpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTZXR0aW5ncyhwYWdlKSk7
CiB9CiAKIFNFVFRJTkdTX1NFVFRFUl9CT0RJRVMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCA1
NDExNWY5MzAyY2ViOWUzOGNjNDcyMzViMjJlMzc5YTk0OTFhZGQyLi44ZTBiNTI5OTYxMDkyNDY5
YmMwMzhlOGUzZjJmNDkzYmFjMDVlYzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBAIC03MSw3
ICs3MSw3IEBAIHR5cGVkZWYgdW5zaWduZWQgRGVidWdPdmVybGF5UmVnaW9uczsKIGNsYXNzIFNl
dHRpbmdzIDogcHVibGljIFJlZkNvdW50ZWQ8U2V0dGluZ3M+IHsKICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTZXR0aW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFNldHRpbmdzPiBjcmVhdGUoUGFnZSopOworICAgIHN0YXRpYyBS
ZWY8U2V0dGluZ3M+IGNyZWF0ZShQYWdlKik7CiAgICAgflNldHRpbmdzKCk7CiAKICAgICB2b2lk
IHBhZ2VEZXN0cm95ZWQoKSB7IG1fcGFnZSA9IG51bGxwdHI7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvVGV4dEluZGljYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Rl
eHRJbmRpY2F0b3IuY3BwCmluZGV4IDlmMTM2NGQzMzkwOWRiNmE3OWZiNTAxNDgwMjA4ZDM2NWZj
MDQ1N2EuLmY2NjIyYTNjZmI3ZWRhZTcwNTNmYzBhYTYxOWY3YmVmNGQxNzZiNWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVGV4dEluZGljYXRvci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9UZXh0SW5kaWNhdG9yLmNwcApAQCAtODUsOSArODUsOSBAQCBzdGF0aWMgYm9v
bCB0ZXh0SW5kaWNhdG9yc0ZvclRleHRSZWN0c092ZXJsYXAoY29uc3QgVmVjdG9yPEZsb2F0UmVj
dD4mIHRleHRSZWN0cwogICAgIHJldHVybiBmYWxzZTsKIH0KIAotUGFzc1JlZlB0cjxUZXh0SW5k
aWNhdG9yPiBUZXh0SW5kaWNhdG9yOjpjcmVhdGUoY29uc3QgVGV4dEluZGljYXRvckRhdGEmIGRh
dGEpCitSZWY8VGV4dEluZGljYXRvcj4gVGV4dEluZGljYXRvcjo6Y3JlYXRlKGNvbnN0IFRleHRJ
bmRpY2F0b3JEYXRhJiBkYXRhKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgVGV4dEluZGlj
YXRvcihkYXRhKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVGV4dEluZGljYXRvcihkYXRh
KSk7CiB9CiAKIFBhc3NSZWZQdHI8VGV4dEluZGljYXRvcj4gVGV4dEluZGljYXRvcjo6Y3JlYXRl
V2l0aFJhbmdlKGNvbnN0IFJhbmdlJiByYW5nZSwgVGV4dEluZGljYXRvclByZXNlbnRhdGlvblRy
YW5zaXRpb24gcHJlc2VudGF0aW9uVHJhbnNpdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvVGV4dEluZGljYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9UZXh0SW5kaWNh
dG9yLmgKaW5kZXggYzY2NGZiNjJlODIyNGUxMGE2ZjVjZjVhYTA1NDMwZmM2NDZiN2Y4Ny4uYzU1
NjEzOGVlNGIxZDllNWY3YTA0NjBhNjQzMzMzNmY0ZmYyNWFmYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9UZXh0SW5kaWNhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9U
ZXh0SW5kaWNhdG9yLmgKQEAgLTgxLDcgKzgxLDcgQEAgc3RydWN0IFRleHRJbmRpY2F0b3JEYXRh
IHsKIAogY2xhc3MgVGV4dEluZGljYXRvciA6IHB1YmxpYyBSZWZDb3VudGVkPFRleHRJbmRpY2F0
b3I+IHsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUGFzc1JlZlB0cjxUZXh0
SW5kaWNhdG9yPiBjcmVhdGUoY29uc3QgVGV4dEluZGljYXRvckRhdGEmKTsKKyAgICBXRUJDT1JF
X0VYUE9SVCBzdGF0aWMgUmVmPFRleHRJbmRpY2F0b3I+IGNyZWF0ZShjb25zdCBUZXh0SW5kaWNh
dG9yRGF0YSYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBQYXNzUmVmUHRyPFRleHRJbmRp
Y2F0b3I+IGNyZWF0ZVdpdGhTZWxlY3Rpb25JbkZyYW1lKEZyYW1lJiwgVGV4dEluZGljYXRvclBy
ZXNlbnRhdGlvblRyYW5zaXRpb24pOwogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBQYXNzUmVm
UHRyPFRleHRJbmRpY2F0b3I+IGNyZWF0ZVdpdGhSYW5nZShjb25zdCBSYW5nZSYsIFRleHRJbmRp
Y2F0b3JQcmVzZW50YXRpb25UcmFuc2l0aW9uKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9Vc2VyQ29udGVudENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9V
c2VyQ29udGVudENvbnRyb2xsZXIuY3BwCmluZGV4IDNkNjQ5NGNhMmUzYWMzMWY2NGNlZTRkNDkw
MTE1NDA5ZWRjMTFkYmIuLmVlYTk1MWEyMzZkZGIxM2NkYTEwODUzNzZjOWJlNGFmNzhjMzZiMTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlckNvbnRlbnRDb250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJDb250ZW50Q29udHJvbGxlci5jcHAKQEAg
LTQ1LDkgKzQ1LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1SZWZQdHI8VXNlckNvbnRl
bnRDb250cm9sbGVyPiBVc2VyQ29udGVudENvbnRyb2xsZXI6OmNyZWF0ZSgpCitSZWY8VXNlckNv
bnRlbnRDb250cm9sbGVyPiBVc2VyQ29udGVudENvbnRyb2xsZXI6OmNyZWF0ZSgpCiB7Ci0gICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBVc2VyQ29udGVudENvbnRyb2xsZXIpOworICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFVzZXJDb250ZW50Q29udHJvbGxlcik7CiB9CiAKIFVzZXJDb250ZW50Q29u
dHJvbGxlcjo6VXNlckNvbnRlbnRDb250cm9sbGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvVXNlckNvbnRlbnRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Vz
ZXJDb250ZW50Q29udHJvbGxlci5oCmluZGV4IDY2MzAxNGU5ZTY1MWU4MTAxZDY2ZmM4OGQzZjFk
YjNiZTQxYjFkMWYuLmQ5Nzk3ZWE2ZTY5OTdkMDJmNmNiN2IwMDg5M2ZjNWFjNmJiNWZhZTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlckNvbnRlbnRDb250cm9sbGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyQ29udGVudENvbnRyb2xsZXIuaApAQCAtNjAsNyAr
NjAsNyBAQCBzdHJ1Y3QgQWN0aW9uOwogCiBjbGFzcyBVc2VyQ29udGVudENvbnRyb2xsZXIgOiBw
dWJsaWMgUmVmQ291bnRlZDxVc2VyQ29udGVudENvbnRyb2xsZXI+IHsKIHB1YmxpYzoKLSAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmUHRyPFVzZXJDb250ZW50Q29udHJvbGxlcj4gY3JlYXRl
KCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZjxVc2VyQ29udGVudENvbnRyb2xsZXI+
IGNyZWF0ZSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5Vc2VyQ29udGVudENvbnRyb2xsZXIoKTsK
IAogICAgIHZvaWQgYWRkUGFnZShQYWdlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1VzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
VXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5oCmluZGV4IDY0NGJhZTc4NjJiYWM0MzgxNjI5
OGUzOGE4YjlmMDQxMzVkYjk5YTQuLjQ0ZGIzYWY4YjYwYjJkY2Y3NWFlMzdlMTBiMGMyZjcxMTA5
MWIyMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVy
RGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVy
RGVzY3JpcHRvci5oCkBAIC00OCw5ICs0OCw5IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2
b2lkIGRpZFBvc3RNZXNzYWdlKFVzZXJNZXNzYWdlSGFuZGxlciYsIFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZSopID0gMDsKICAgICB9OwogCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8VXNlck1lc3NhZ2VI
YW5kbGVyRGVzY3JpcHRvcj4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwgRE9NV3Jh
cHBlcldvcmxkJiB3b3JsZCwgQ2xpZW50JiBjbGllbnQpCisgICAgc3RhdGljIFJlZjxVc2VyTWVz
c2FnZUhhbmRsZXJEZXNjcmlwdG9yPiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBE
T01XcmFwcGVyV29ybGQmIHdvcmxkLCBDbGllbnQmIGNsaWVudCkKICAgICB7Ci0gICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvcihuYW1lLCB3b3Js
ZCwgY2xpZW50KSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFVzZXJNZXNzYWdlSGFu
ZGxlckRlc2NyaXB0b3IobmFtZSwgd29ybGQsIGNsaWVudCkpOwogICAgIH0KICAgICBXRUJDT1JF
X0VYUE9SVCB+VXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvcigpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlcnNOYW1lc3BhY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5oCmluZGV4IDM2Zjli
MmRkMGZmMjg3ZjNlZjkzM2I1NTMyNTNmMWFjMWU5NDMyMDUuLjRlZWNiNTAzYmMxYTRhYTJiMjRm
OWMzYzk3Y2VlMmYzNzdhMTgxYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNl
ck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNl
ck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5oCkBAIC0zMCw3ICszMCw2IEBACiAKICNpbmNsdWRl
ICJGcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJVc2VyTWVzc2FnZUhhbmRs
ZXIuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlzaXRlZExpbmtTdG9yZS5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9WaXNpdGVkTGlua1N0b3JlLmgKaW5kZXggM2U0NzAzYzk0NWU4Mzdk
MzFiNmY4YjY0MzZhZDY5MjJiMTNjYzUyZS4uNDU5NGE1OTJlOGQ2ZDVhOThmNzA0ZmMwNjU3NmZi
YTJjMDVkOGUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9WaXNpdGVkTGlua1N0
b3JlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9WaXNpdGVkTGlua1N0b3JlLmgKQEAgLTI4
LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvV2ViS2l0TmFtZXNwYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dlYktpdE5h
bWVzcGFjZS5oCmluZGV4IDY1OGQwZTE1MThkYzRlMjUxM2JhZGNhY2E2MTkzOTE3MDc1MmU1MTAu
LmY4NWY0MTkwM2NmZDQ1YWRlOWYzMDdmZWMzZDg5MjM5NmYwYzk5YmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvV2ViS2l0TmFtZXNwYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9XZWJLaXROYW1lc3BhY2UuaApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShVU0VS
X01FU1NBR0VfSEFORExFUlMpCiAKICNpbmNsdWRlICJET01XaW5kb3dQcm9wZXJ0eS5oIgotI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTQwLDkgKzM5LDkgQEAgY2xhc3MgVXNlck1lc3NhZ2VI
YW5kbGVyc05hbWVzcGFjZTsKIAogY2xhc3MgV2ViS2l0TmFtZXNwYWNlIDogcHVibGljIERPTVdp
bmRvd1Byb3BlcnR5LCBwdWJsaWMgUmVmQ291bnRlZDxXZWJLaXROYW1lc3BhY2U+IHsKIHB1Ymxp
YzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJLaXROYW1lc3BhY2U+IGNyZWF0ZShGcmFtZSYg
ZnJhbWUpCisgICAgc3RhdGljIFJlZjxXZWJLaXROYW1lc3BhY2U+IGNyZWF0ZShGcmFtZSYgZnJh
bWUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdlYktpdE5hbWVzcGFjZShm
cmFtZSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJLaXROYW1lc3BhY2UoZnJh
bWUpKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5XZWJLaXROYW1lc3BhY2UoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2ViS2l0UG9pbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvV2ViS2l0UG9pbnQuaAppbmRleCA0MDA0NzI0NzY0OTdkZGJlODc5NzMwZGI5ZGJlNjdlOTNk
ZDBlOGQzLi5hOTliNjc0YjA2NTdiMWE3ODVlMTZjOWYxNGE4YzYxYzQ0YWU0YTg3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dlYktpdFBvaW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9XZWJLaXRQb2ludC5oCkBAIC0zNCwxMyArMzQsMTMgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIGNsYXNzIFdlYktpdFBvaW50IDogcHVibGljIFJlZkNvdW50ZWQ8V2ViS2l0UG9p
bnQ+IHsKICAgICBwdWJsaWM6CiAKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViS2l0UG9p
bnQ+IGNyZWF0ZSgpCisgICAgICAgIHN0YXRpYyBSZWY8V2ViS2l0UG9pbnQ+IGNyZWF0ZSgpCiAg
ICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViS2l0UG9pbnQoKSk7
CisgICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJLaXRQb2ludCgpKTsKICAgICAg
ICAgfQotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJLaXRQb2ludD4gY3JlYXRlKGZsb2F0
IHgsIGZsb2F0IHkpCisgICAgICAgIHN0YXRpYyBSZWY8V2ViS2l0UG9pbnQ+IGNyZWF0ZShmbG9h
dCB4LCBmbG9hdCB5KQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IFdlYktpdFBvaW50KHgsIHkpKTsKKyAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdl
YktpdFBvaW50KHgsIHkpKTsKICAgICAgICAgfQogCiAgICAgICAgIGZsb2F0IHgoKSBjb25zdCB7
IHJldHVybiBtX3g7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV29ya2VyTmF2
aWdhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dvcmtlck5hdmlnYXRvci5oCmluZGV4IGNm
ZjA3YWU3MDg5OWZmYmIwOTUwYzRiMzlhNTFiOThmNzAzYzg4ODguLjNhZWVhYWI4YzQwYzUwNjJh
MDYwNDk0YzgwMmE1OGE4Yjc5OGU2MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
V29ya2VyTmF2aWdhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Xb3JrZXJOYXZpZ2F0
b3IuaApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFdvcmtl
ck5hdmlnYXRvciA6IHB1YmxpYyBOYXZpZ2F0b3JCYXNlLCBwdWJsaWMgUmVmQ291bnRlZDxXb3Jr
ZXJOYXZpZ2F0b3I+LCBwdWJsaWMgU3VwcGxlbWVudGFibGU8V29ya2VyTmF2aWdhdG9yPiB7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V29ya2VyTmF2aWdhdG9yPiBjcmVhdGUoY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBXb3JrZXJOYXZpZ2F0
b3IodXNlckFnZW50KSk7IH0KKyAgICBzdGF0aWMgUmVmPFdvcmtlck5hdmlnYXRvcj4gY3JlYXRl
KGNvbnN0IFN0cmluZyYgdXNlckFnZW50KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFdvcmtlck5h
dmlnYXRvcih1c2VyQWdlbnQpKTsgfQogICAgIHZpcnR1YWwgfldvcmtlck5hdmlnYXRvcigpOwog
CiAgICAgdmlydHVhbCBTdHJpbmcgdXNlckFnZW50KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uaAppbmRleCAxNmQ2NzAyZDY0
NTcxOTM2ODZkMmQzMmVhMjA4MjhlNjdhOGViODA5Li5jMzQyNTk3NTc4ZjRmZjVhNTg2NjJhMzhj
MjM4MjdiYTFmMGE3OTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9JbXBsaWNpdEFuaW1hdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9u
L0ltcGxpY2l0QW5pbWF0aW9uLmgKQEAgLTQxLDkgKzQxLDkgQEAgY2xhc3MgUmVuZGVyRWxlbWVu
dDsKIC8vIGZvciBhIHNpbmdsZSBSZW5kZXJFbGVtZW50LgogY2xhc3MgSW1wbGljaXRBbmltYXRp
b24gOiBwdWJsaWMgQW5pbWF0aW9uQmFzZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8SW1wbGljaXRBbmltYXRpb24+IGNyZWF0ZShBbmltYXRpb24mIGFuaW1hdGlvbiwgQ1NTUHJv
cGVydHlJRCBhbmltYXRpbmdQcm9wZXJ0eSwgUmVuZGVyRWxlbWVudCogcmVuZGVyZXIsIENvbXBv
c2l0ZUFuaW1hdGlvbiogY29tcG9zaXRlQW5pbWF0aW9uLCBSZW5kZXJTdHlsZSogZnJvbVN0eWxl
KQorICAgIHN0YXRpYyBSZWY8SW1wbGljaXRBbmltYXRpb24+IGNyZWF0ZShBbmltYXRpb24mIGFu
aW1hdGlvbiwgQ1NTUHJvcGVydHlJRCBhbmltYXRpbmdQcm9wZXJ0eSwgUmVuZGVyRWxlbWVudCog
cmVuZGVyZXIsIENvbXBvc2l0ZUFuaW1hdGlvbiogY29tcG9zaXRlQW5pbWF0aW9uLCBSZW5kZXJT
dHlsZSogZnJvbVN0eWxlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJbXBs
aWNpdEFuaW1hdGlvbihhbmltYXRpb24sIGFuaW1hdGluZ1Byb3BlcnR5LCByZW5kZXJlciwgY29t
cG9zaXRlQW5pbWF0aW9uLCBmcm9tU3R5bGUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgSW1wbGljaXRBbmltYXRpb24oYW5pbWF0aW9uLCBhbmltYXRpbmdQcm9wZXJ0eSwgcmVuZGVy
ZXIsIGNvbXBvc2l0ZUFuaW1hdGlvbiwgZnJvbVN0eWxlKSk7CiAgICAgfTsKICAgICAKICAgICBD
U1NQcm9wZXJ0eUlEIHRyYW5zaXRpb25Qcm9wZXJ0eSgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNp
dGlvblByb3BlcnR5OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlv
bi9LZXlmcmFtZUFuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5
ZnJhbWVBbmltYXRpb24uaAppbmRleCBlNDMyNDNjMzEyZmQyMWNiMDAzMzU4NWZmMGM0ZDg0NjVl
MmIyZmYyLi4zMjg0MDRiNWJhNjhlZDVlODc3MjI5NmE5ODVhNDZjNmIwYTk4MjMyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmgKQEAg
LTQwLDkgKzQwLDkgQEAgY2xhc3MgUmVuZGVyU3R5bGU7CiAvLyBBIEtleWZyYW1lQW5pbWF0aW9u
IHRyYWNrcyB0aGUgc3RhdGUgb2YgYW4gZXhwbGljaXQgYW5pbWF0aW9uIGZvciBhIHNpbmdsZSBS
ZW5kZXJFbGVtZW50LgogY2xhc3MgS2V5ZnJhbWVBbmltYXRpb24gZmluYWwgOiBwdWJsaWMgQW5p
bWF0aW9uQmFzZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxLZXlmcmFtZUFuaW1hdGlv
bj4gY3JlYXRlKEFuaW1hdGlvbiYgYW5pbWF0aW9uLCBSZW5kZXJFbGVtZW50KiByZW5kZXJlciwg
aW50IGluZGV4LCBDb21wb3NpdGVBbmltYXRpb24qIGNvbXBvc2l0ZUFuaW1hdGlvbiwgUmVuZGVy
U3R5bGUqIHVuYW5pbWF0ZWRTdHlsZSkKKyAgICBzdGF0aWMgUmVmPEtleWZyYW1lQW5pbWF0aW9u
PiBjcmVhdGUoQW5pbWF0aW9uJiBhbmltYXRpb24sIFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyLCBp
bnQgaW5kZXgsIENvbXBvc2l0ZUFuaW1hdGlvbiogY29tcG9zaXRlQW5pbWF0aW9uLCBSZW5kZXJT
dHlsZSogdW5hbmltYXRlZFN0eWxlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBLZXlmcmFtZUFuaW1hdGlvbihhbmltYXRpb24sIHJlbmRlcmVyLCBpbmRleCwgY29tcG9zaXRl
QW5pbWF0aW9uLCB1bmFuaW1hdGVkU3R5bGUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgS2V5ZnJhbWVBbmltYXRpb24oYW5pbWF0aW9uLCByZW5kZXJlciwgaW5kZXgsIGNvbXBvc2l0
ZUFuaW1hdGlvbiwgdW5hbmltYXRlZFN0eWxlKSk7CiAgICAgfQogCiAgICAgdmlydHVhbCBib29s
IGFuaW1hdGUoQ29tcG9zaXRlQW5pbWF0aW9uKiwgUmVuZGVyRWxlbWVudCosIGNvbnN0IFJlbmRl
clN0eWxlKiBjdXJyZW50U3R5bGUsIFJlbmRlclN0eWxlKiB0YXJnZXRTdHlsZSwgUmVmUHRyPFJl
bmRlclN0eWxlPiYgYW5pbWF0ZWRTdHlsZSkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKaW5kZXggOWExZDY0NjEy
N2QxZjdhMGRkZjBhNjlmY2MwMzIxZDBjMjQxMGU0Yi4uNDMyZjgzNzkwOTVhNjFkMGI0Y2JiYjJm
ZTIzZjI3ZGRjMTcwNTJhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1Nl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaApAQCAtNTcsOCArNTcsOCBAQCBwcml2YXRlOgogICAg
IGNsYXNzIEhpZ2hsaWdodCA6IHB1YmxpYyBSZWZDb3VudGVkPEhpZ2hsaWdodD4sIHByaXZhdGUg
R3JhcGhpY3NMYXllckNsaWVudCB7CiAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEhpZ2hs
aWdodCk7CiAgICAgcHVibGljOgotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxIaWdobGlnaHQ+
IGNyZWF0ZUZvclNlbGVjdGlvbihTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyJiwgUmV0YWluUHRy
PERESGlnaGxpZ2h0UmVmPiwgUGFzc1JlZlB0cjxSYW5nZT4pOwotICAgICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxIaWdobGlnaHQ+IGNyZWF0ZUZvclRlbGVwaG9uZU51bWJlcihTZXJ2aWNlc092ZXJs
YXlDb250cm9sbGVyJiwgUmV0YWluUHRyPERESGlnaGxpZ2h0UmVmPiwgUGFzc1JlZlB0cjxSYW5n
ZT4pOworICAgICAgICBzdGF0aWMgUmVmPEhpZ2hsaWdodD4gY3JlYXRlRm9yU2VsZWN0aW9uKFNl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXImLCBSZXRhaW5QdHI8RERIaWdobGlnaHRSZWY+LCBQYXNz
UmVmUHRyPFJhbmdlPik7CisgICAgICAgIHN0YXRpYyBSZWY8SGlnaGxpZ2h0PiBjcmVhdGVGb3JU
ZWxlcGhvbmVOdW1iZXIoU2VydmljZXNPdmVybGF5Q29udHJvbGxlciYsIFJldGFpblB0cjxEREhp
Z2hsaWdodFJlZj4sIFBhc3NSZWZQdHI8UmFuZ2U+KTsKICAgICAgICAgfkhpZ2hsaWdodCgpOwog
CiAgICAgICAgIHZvaWQgaW52YWxpZGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KaW5kZXggZWJiNjMzZDVjYjk5NzA2
YmYwMzljNDYzMmM1YWUwOWMwYmE3YzJmNi4uODBhNDRlZmY4NWQ2Mzk2NTcxODJiN2UxMzNmMDVk
NDE5MTUyYzNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNP
dmVybGF5Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNl
c092ZXJsYXlDb250cm9sbGVyLm1tCkBAIC02MSwxNCArNjEsMTQgQEAgU09GVF9MSU5LKERhdGFE
ZXRlY3RvcnMsIERESGlnaGxpZ2h0UG9pbnRJc09uSGlnaGxpZ2h0LCBCb29sZWFuLCAoRERIaWdo
bGlnaHRSZWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFNlcnZpY2VzT3Zl
cmxheUNvbnRyb2xsZXI6OkhpZ2hsaWdodD4gU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6SGln
aGxpZ2h0OjpjcmVhdGVGb3JTZWxlY3Rpb24oU2VydmljZXNPdmVybGF5Q29udHJvbGxlciYgY29u
dHJvbGxlciwgUmV0YWluUHRyPERESGlnaGxpZ2h0UmVmPiBkZEhpZ2hsaWdodCwgUGFzc1JlZlB0
cjxSYW5nZT4gcmFuZ2UpCitSZWY8U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6SGlnaGxpZ2h0
PiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpIaWdobGlnaHQ6OmNyZWF0ZUZvclNlbGVjdGlv
bihTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyJiBjb250cm9sbGVyLCBSZXRhaW5QdHI8RERIaWdo
bGlnaHRSZWY+IGRkSGlnaGxpZ2h0LCBQYXNzUmVmUHRyPFJhbmdlPiByYW5nZSkKIHsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IEhpZ2hsaWdodChjb250cm9sbGVyLCBUeXBlOjpTZWxlY3Rpb24s
IGRkSGlnaGxpZ2h0LCByYW5nZSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEhpZ2hsaWdo
dChjb250cm9sbGVyLCBUeXBlOjpTZWxlY3Rpb24sIGRkSGlnaGxpZ2h0LCByYW5nZSkpOwogfQog
Ci1QYXNzUmVmUHRyPFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OkhpZ2hsaWdodD4gU2Vydmlj
ZXNPdmVybGF5Q29udHJvbGxlcjo6SGlnaGxpZ2h0OjpjcmVhdGVGb3JUZWxlcGhvbmVOdW1iZXIo
U2VydmljZXNPdmVybGF5Q29udHJvbGxlciYgY29udHJvbGxlciwgUmV0YWluUHRyPERESGlnaGxp
Z2h0UmVmPiBkZEhpZ2hsaWdodCwgUGFzc1JlZlB0cjxSYW5nZT4gcmFuZ2UpCitSZWY8U2Vydmlj
ZXNPdmVybGF5Q29udHJvbGxlcjo6SGlnaGxpZ2h0PiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVy
OjpIaWdobGlnaHQ6OmNyZWF0ZUZvclRlbGVwaG9uZU51bWJlcihTZXJ2aWNlc092ZXJsYXlDb250
cm9sbGVyJiBjb250cm9sbGVyLCBSZXRhaW5QdHI8RERIaWdobGlnaHRSZWY+IGRkSGlnaGxpZ2h0
LCBQYXNzUmVmUHRyPFJhbmdlPiByYW5nZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEhp
Z2hsaWdodChjb250cm9sbGVyLCBUeXBlOjpUZWxlcGhvbmVOdW1iZXIsIGRkSGlnaGxpZ2h0LCBy
YW5nZSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEhpZ2hsaWdodChjb250cm9sbGVyLCBU
eXBlOjpUZWxlcGhvbmVOdW1iZXIsIGRkSGlnaGxpZ2h0LCByYW5nZSkpOwogfQogCiBTZXJ2aWNl
c092ZXJsYXlDb250cm9sbGVyOjpIaWdobGlnaHQ6OkhpZ2hsaWdodChTZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyJiBjb250cm9sbGVyLCBUeXBlIHR5cGUsIFJldGFpblB0cjxEREhpZ2hsaWdodFJl
Zj4gZGRIaWdobGlnaHQsIFBhc3NSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+IHJhbmdlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3Iu
Y3BwCmluZGV4IGUzNjdiZjJkOWE1NDVhNzU0ZTg5MDI5OTM0ODU5NzQ4MWU0NWFlYjMuLjMzM2Fm
Yzg3MWE3NTM4ZjZmYjNiZGM0YzNkYmQ0MmIzYWVjZmRhMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAgLTU1
LDEzICs1NSwxMyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgIVBMQVRGT1JNKENPQ09B
KQotUGFzc1JlZlB0cjxTY3JvbGxpbmdDb29yZGluYXRvcj4gU2Nyb2xsaW5nQ29vcmRpbmF0b3I6
OmNyZWF0ZShQYWdlKiBwYWdlKQorUmVmPFNjcm9sbGluZ0Nvb3JkaW5hdG9yPiBTY3JvbGxpbmdD
b29yZGluYXRvcjo6Y3JlYXRlKFBhZ2UqIHBhZ2UpCiB7CiAjaWYgVVNFKENPT1JESU5BVEVEX0dS
QVBISUNTKQotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29y
ZGluYXRlZEdyYXBoaWNzKHBhZ2UpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxp
bmdDb29yZGluYXRvckNvb3JkaW5hdGVkR3JhcGhpY3MocGFnZSkpOwogI2VuZGlmCiAKLSAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9sbGluZ0Nvb3JkaW5hdG9yKHBhZ2UpKTsKKyAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdDb29yZGluYXRvcihwYWdlKSk7CiB9CiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29v
cmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yLmgKaW5kZXggN2JlMGEzZGExMjk2OTVhZDMzMzM0ODkzOTkxZDJhZDc4MTY2ZDRiNC4u
MDdjNjA3YWNkZGJmMGQwODBjMmRlNThjMGY5MDU3M2JiNTdhMzMxMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCkBAIC0x
MDYsNyArMTA2LDcgQEAgc3RydWN0IFNjcm9sbGFibGVBcmVhUGFyYW1ldGVycyB7CiAKIGNsYXNz
IFNjcm9sbGluZ0Nvb3JkaW5hdG9yIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFNjcm9s
bGluZ0Nvb3JkaW5hdG9yPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U2Nyb2xs
aW5nQ29vcmRpbmF0b3I+IGNyZWF0ZShQYWdlKik7CisgICAgc3RhdGljIFJlZjxTY3JvbGxpbmdD
b29yZGluYXRvcj4gY3JlYXRlKFBhZ2UqKTsKICAgICB2aXJ0dWFsIH5TY3JvbGxpbmdDb29yZGlu
YXRvcigpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIHBhZ2VEZXN0cm95ZWQo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlRml4ZWROb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1N0YXRlRml4ZWROb2RlLmNwcAppbmRleCBlM2FkZTUyYTFkOTQ5NmI1MjFlMDE0M2QxZjljOTZi
Mjk5YjJiOTNmLi5jY2RjODMyYTBjMDcwNDUwM2NiY2U1OTk2NzFmOWM0NmExOTMxMTliIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVk
Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3Rh
dGVGaXhlZE5vZGUuY3BwCkBAIC0zNCw5ICszNCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZT4gU2Nyb2xsaW5nU3RhdGVGaXhl
ZE5vZGU6OmNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwgU2Nyb2xsaW5nTm9k
ZUlEIG5vZGVJRCkKK1JlZjxTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZT4gU2Nyb2xsaW5nU3RhdGVG
aXhlZE5vZGU6OmNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwgU2Nyb2xsaW5n
Tm9kZUlEIG5vZGVJRCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9sbGluZ1N0YXRl
Rml4ZWROb2RlKHN0YXRlVHJlZSwgbm9kZUlEKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUoc3RhdGVUcmVlLCBub2RlSUQpKTsKIH0KIAogU2Nyb2xs
aW5nU3RhdGVGaXhlZE5vZGU6OlNjcm9sbGluZ1N0YXRlRml4ZWROb2RlKFNjcm9sbGluZ1N0YXRl
VHJlZSYgdHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKQEAgLTU0LDkgKzU0LDkgQEAgU2Ny
b2xsaW5nU3RhdGVGaXhlZE5vZGU6On5TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZSgpCiB7CiB9CiAK
LVBhc3NSZWZQdHI8U2Nyb2xsaW5nU3RhdGVOb2RlPiBTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZTo6
Y2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRyZWUpCitSZWY8U2Nyb2xsaW5nU3Rh
dGVOb2RlPiBTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZTo6Y2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVl
JiBhZG9wdGl2ZVRyZWUpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JvbGxpbmdTdGF0
ZUZpeGVkTm9kZSgqdGhpcywgYWRvcHRpdmVUcmVlKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUoKnRoaXMsIGFkb3B0aXZlVHJlZSkpOwogfQogCiB2
b2lkIFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlOjp1cGRhdGVDb25zdHJhaW50cyhjb25zdCBGaXhl
ZFBvc2l0aW9uVmlld3BvcnRDb25zdHJhaW50cyYgY29uc3RyYWludHMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuaApp
bmRleCA2ZDlkNjU0MDVlNTUzOWE3YjhiODI3NWI5NDQxODk1NTFlNjZhYTI3Li45OGNiMGNhMTA1
YmM5YmE1M2Y5N2QyOWJiNmJkNmE0MTUxMjExY2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmgKQEAgLTM5LDkg
KzM5LDkgQEAgY2xhc3MgRml4ZWRQb3NpdGlvblZpZXdwb3J0Q29uc3RyYWludHM7CiAKIGNsYXNz
IFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlIGZpbmFsIDogcHVibGljIFNjcm9sbGluZ1N0YXRlTm9k
ZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U2Nyb2xsaW5nU3RhdGVGaXhlZE5v
ZGU+IGNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUmLCBTY3JvbGxpbmdOb2RlSUQpOworICAgIHN0
YXRpYyBSZWY8U2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU+IGNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRy
ZWUmLCBTY3JvbGxpbmdOb2RlSUQpOwogCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPFNjcm9sbGlu
Z1N0YXRlTm9kZT4gY2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJikgb3ZlcnJpZGU7CisgICAgdmly
dHVhbCBSZWY8U2Nyb2xsaW5nU3RhdGVOb2RlPiBjbG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUmKSBv
dmVycmlkZTsKIAogICAgIHZpcnR1YWwgflNjcm9sbGluZ1N0YXRlRml4ZWROb2RlKCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJh
bWVTY3JvbGxpbmdOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmNwcAppbmRleCAzMjZkOWU4ZjRiNjVmNDZlOTcz
MTE3MmM5NDE3NGY4ODQwZmE5OWQyLi44NTAzOTM2YTFhNTFhNTU3MjVlNWRjMjMzYjFmN2NlZTY2
NGYzNDdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuY3BwCkBAIC0zMyw5ICsz
Myw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0
ZUZyYW1lU2Nyb2xsaW5nTm9kZT4gU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OmNy
ZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJ
RCkKK1JlZjxTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZT4gU2Nyb2xsaW5nU3RhdGVG
cmFtZVNjcm9sbGluZ05vZGU6OmNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwg
U2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9s
bGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlKHN0YXRlVHJlZSwgbm9kZUlEKSk7CisgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUoc3RhdGVU
cmVlLCBub2RlSUQpKTsKIH0KIAogU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OlNj
cm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlKFNjcm9sbGluZ1N0YXRlVHJlZSYgc3RhdGVU
cmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQpAQCAtODMsOSArODMsOSBAQCBTY3JvbGxpbmdT
dGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6flNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2Rl
KCkKIHsKIH0KIAotUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0ZU5vZGU+IFNjcm9sbGluZ1N0YXRl
RnJhbWVTY3JvbGxpbmdOb2RlOjpjbG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUmIGFkb3B0aXZlVHJl
ZSkKK1JlZjxTY3JvbGxpbmdTdGF0ZU5vZGU+IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdO
b2RlOjpjbG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUmIGFkb3B0aXZlVHJlZSkKIHsKLSAgICByZXR1
cm4gYWRvcHRSZWYobmV3IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlKCp0aGlzLCBh
ZG9wdGl2ZVRyZWUpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdTdGF0ZUZy
YW1lU2Nyb2xsaW5nTm9kZSgqdGhpcywgYWRvcHRpdmVUcmVlKSk7CiB9CiAKIHZvaWQgU2Nyb2xs
aW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OnNldEZyYW1lU2NhbGVGYWN0b3IoZmxvYXQgc2Nh
bGVGYWN0b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuaAppbmRleCAyYWFhOGIwZjRj
ZTU2OGE5MjQ5M2YwNDk3NGE3YjI4NGQ0ZDUxZTZhLi5kNTdkMWZkOWY3MGE4NmM5MmE5MGFlMzFj
NzVhNzk1MmZjZDY5Y2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmgKQEAgLTQw
LDkgKzQwLDkgQEAgY2xhc3MgU2Nyb2xsYmFyOwogCiBjbGFzcyBTY3JvbGxpbmdTdGF0ZUZyYW1l
U2Nyb2xsaW5nTm9kZSBmaW5hbCA6IHB1YmxpYyBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUg
ewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRlRnJhbWVTY3Jv
bGxpbmdOb2RlPiBjcmVhdGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsK
KyAgICBzdGF0aWMgUmVmPFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlPiBjcmVhdGUo
U2Nyb2xsaW5nU3RhdGVUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKIAotICAgIHZpcnR1YWwgUGFz
c1JlZlB0cjxTY3JvbGxpbmdTdGF0ZU5vZGU+IGNsb25lKFNjcm9sbGluZ1N0YXRlVHJlZSYpIG92
ZXJyaWRlOworICAgIHZpcnR1YWwgUmVmPFNjcm9sbGluZ1N0YXRlTm9kZT4gY2xvbmUoU2Nyb2xs
aW5nU3RhdGVUcmVlJikgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIH5TY3JvbGxpbmdTdGF0ZUZy
YW1lU2Nyb2xsaW5nTm9kZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oCmluZGV4IDhjYjZlZDgyMjRjNDhhOTA2MWYwMDZhZDFi
NWVjYWIxM2RjYmNlNmUuLmFjYjYwMWM5ZTg4NmQ2ZmZjMmMwNjgxYTBkMTFiYjI5NmRlNTJmMmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRl
Tm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRl
Tm9kZS5oCkBAIC0xOTcsNyArMTk3LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNGcmFtZVNjcm9s
bGluZ05vZGUoKSBjb25zdCB7IHJldHVybiBtX25vZGVUeXBlID09IEZyYW1lU2Nyb2xsaW5nTm9k
ZTsgfQogICAgIGJvb2wgaXNPdmVyZmxvd1Njcm9sbGluZ05vZGUoKSBjb25zdCB7IHJldHVybiBt
X25vZGVUeXBlID09IE92ZXJmbG93U2Nyb2xsaW5nTm9kZTsgfQogCi0gICAgdmlydHVhbCBQYXNz
UmVmUHRyPFNjcm9sbGluZ1N0YXRlTm9kZT4gY2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBhZG9w
dGl2ZVRyZWUpID0gMDsKKyAgICB2aXJ0dWFsIFJlZjxTY3JvbGxpbmdTdGF0ZU5vZGU+IGNsb25l
KFNjcm9sbGluZ1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVlKSA9IDA7CiAgICAgUGFzc1JlZlB0cjxT
Y3JvbGxpbmdTdGF0ZU5vZGU+IGNsb25lQW5kUmVzZXQoU2Nyb2xsaW5nU3RhdGVUcmVlJiBhZG9w
dGl2ZVRyZWUpOwogICAgIHZvaWQgY2xvbmVBbmRSZXNldENoaWxkcmVuKFNjcm9sbGluZ1N0YXRl
Tm9kZSYsIFNjcm9sbGluZ1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVlKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9s
bGluZ05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3Rh
dGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuY3BwCmluZGV4IGUzNGNjYWNhYWJkM2VlYmM0ODM3NjFj
YTliMTJkYzIzYjU4YmUzMTkuLjg0ZDI1ZWYwYjk1MWMzYTJiMjgzZmM5Zjk5ODRhYzUxMDI2MzJh
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZS5jcHAKQEAgLTMzLDkg
KzMzLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFNjcm9sbGluZ1N0
YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlPiBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5n
Tm9kZTo6Y3JlYXRlKFNjcm9sbGluZ1N0YXRlVHJlZSYgc3RhdGVUcmVlLCBTY3JvbGxpbmdOb2Rl
SUQgbm9kZUlEKQorUmVmPFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlPiBTY3Jv
bGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6Y3JlYXRlKFNjcm9sbGluZ1N0YXRlVHJl
ZSYgc3RhdGVUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQogewotICAgIHJldHVybiBhZG9w
dFJlZihuZXcgU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUoc3RhdGVUcmVlLCBu
b2RlSUQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93
U2Nyb2xsaW5nTm9kZShzdGF0ZVRyZWUsIG5vZGVJRCkpOwogfQogCiBTY3JvbGxpbmdTdGF0ZU92
ZXJmbG93U2Nyb2xsaW5nTm9kZTo6U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUo
U2Nyb2xsaW5nU3RhdGVUcmVlJiBzdGF0ZVRyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCkBA
IC01NCw5ICs1NCw5IEBAIFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOjp+U2Ny
b2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUoKQogewogfQogCi1QYXNzUmVmUHRyPFNj
cm9sbGluZ1N0YXRlTm9kZT4gU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmNs
b25lKFNjcm9sbGluZ1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVlKQorUmVmPFNjcm9sbGluZ1N0YXRl
Tm9kZT4gU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmNsb25lKFNjcm9sbGlu
Z1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVlKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Ny
b2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUoKnRoaXMsIGFkb3B0aXZlVHJlZSkpOwor
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdO
b2RlKCp0aGlzLCBhZG9wdGl2ZVRyZWUpKTsKIH0KICAgICAKIHZvaWQgU2Nyb2xsaW5nU3RhdGVP
dmVyZmxvd1Njcm9sbGluZ05vZGU6OnNldFNjcm9sbGVkQ29udGVudHNMYXllcihjb25zdCBMYXll
clJlcHJlc2VudGF0aW9uJiBsYXllclJlcHJlc2VudGF0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05v
ZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZs
b3dTY3JvbGxpbmdOb2RlLmgKaW5kZXggMjYwOTZhMjExYzU2ODk3NzE4OGFjYjlkY2JiYThjODM1
NTA2MThjMy4uNzNhYWEzOTUyYzhlN2UxMjAyZDdjODJkOTc0NzZjNzNhYjQ4ZWM3NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVyZmxv
d1Njcm9sbGluZ05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZS5oCkBAIC0zNCw5ICszNCw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05v
ZGUgOiBwdWJsaWMgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlIHsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZT4gY3Jl
YXRlKFNjcm9sbGluZ1N0YXRlVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CisgICAgc3RhdGljIFJl
ZjxTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZT4gY3JlYXRlKFNjcm9sbGluZ1N0
YXRlVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CiAKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2Ny
b2xsaW5nU3RhdGVOb2RlPiBjbG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUmKSBvdmVycmlkZTsKKyAg
ICB2aXJ0dWFsIFJlZjxTY3JvbGxpbmdTdGF0ZU5vZGU+IGNsb25lKFNjcm9sbGluZ1N0YXRlVHJl
ZSYpIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB+U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9s
bGluZ05vZGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5jcHAKaW5kZXggNWU1MmU2MmY3YTY0ZDM0N2Zl
OTljOTQ1M2M0NjVhMWNlZGVjYTRhZS4uY2VlNDc2ZTRhY2ZjYzQwODIyM2I1ZDMzZDVjZWJhNDRh
NWFiMjhmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVTdGlja3lOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuY3BwCkBAIC0zNCw5ICszNCw5IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU+IFNj
cm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6Y3JlYXRlKFNjcm9sbGluZ1N0YXRlVHJlZSYgc3RhdGVU
cmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQorUmVmPFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9k
ZT4gU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlOjpjcmVhdGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBz
dGF0ZVRyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUoc3RhdGVUcmVlLCBub2RlSUQpKTsKKyAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUoc3RhdGVUcmVlLCBu
b2RlSUQpKTsKIH0KIAogU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlOjpTY3JvbGxpbmdTdGF0ZVN0
aWNreU5vZGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiB0cmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlE
KQpAQCAtNTQsOSArNTQsOSBAQCBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU6On5TY3JvbGxpbmdT
dGF0ZVN0aWNreU5vZGUoKQogewogfQogCi1QYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRlTm9kZT4g
U2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlOjpjbG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUmIGFkb3B0
aXZlVHJlZSkKK1JlZjxTY3JvbGxpbmdTdGF0ZU5vZGU+IFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9k
ZTo6Y2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRyZWUpCiB7Ci0gICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUoKnRoaXMsIGFkb3B0aXZlVHJl
ZSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZSgq
dGhpcywgYWRvcHRpdmVUcmVlKSk7CiB9CiAKIHZvaWQgU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2Rl
Ojp1cGRhdGVDb25zdHJhaW50cyhjb25zdCBTdGlja3lQb3NpdGlvblZpZXdwb3J0Q29uc3RyYWlu
dHMmIGNvbnN0cmFpbnRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaAppbmRleCBjZjA2MzlkNThkYTQ2MTYzZDI1
YmExNDYwOTk5OTQ3MTQ1YmFmM2I0Li5jOWU3OTM1YTQ3OGUwNjY2OTJjMmRiZGFiY2ViMDQ5ZDYy
NDgzNWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZVN0aWNreU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaApAQCAtMzksOSArMzksOSBAQCBjbGFzcyBTdGlja3lQ
b3NpdGlvblZpZXdwb3J0Q29uc3RyYWludHM7CiAKIGNsYXNzIFNjcm9sbGluZ1N0YXRlU3RpY2t5
Tm9kZSBmaW5hbCA6IHB1YmxpYyBTY3JvbGxpbmdTdGF0ZU5vZGUgewogcHVibGljOgotICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZT4gY3JlYXRlKFNjcm9sbGlu
Z1N0YXRlVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CisgICAgc3RhdGljIFJlZjxTY3JvbGxpbmdT
dGF0ZVN0aWNreU5vZGU+IGNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUmLCBTY3JvbGxpbmdOb2Rl
SUQpOwogCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRlTm9kZT4gY2xvbmUo
U2Nyb2xsaW5nU3RhdGVUcmVlJikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBSZWY8U2Nyb2xsaW5n
U3RhdGVOb2RlPiBjbG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUmKSBvdmVycmlkZTsKIAogICAgIHZp
cnR1YWwgflNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0gYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1Mu
bW0KaW5kZXggNmNiM2Y0M2Q4YTBmMGMzYjg1MDgyZTM2YTcyODQzNjEyNWFjNDZkZC4uYjE1ODIx
OGNkMDA3ZmNlNjFlMzcxYTFjNGFjZTNiYTU4ZDdiMzUzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklP
Uy5tbQpAQCAtNDQsOSArNDQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQ
dHI8U2Nyb2xsaW5nQ29vcmRpbmF0b3I+IFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGUoUGFn
ZSogcGFnZSkKK1JlZjxTY3JvbGxpbmdDb29yZGluYXRvcj4gU2Nyb2xsaW5nQ29vcmRpbmF0b3I6
OmNyZWF0ZShQYWdlKiBwYWdlKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsaW5n
Q29vcmRpbmF0b3JJT1MocGFnZSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNjcm9sbGlu
Z0Nvb3JkaW5hdG9ySU9TKHBhZ2UpKTsKIH0KIAogU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1M6OlNj
cm9sbGluZ0Nvb3JkaW5hdG9ySU9TKFBhZ2UqIHBhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlP
Uy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGVJT1MuaAppbmRleCAzZWE2MzdiZWE4YzFlMzcxZDgzZmM4NjAxNDI0ZTlk
NjAyYmE4N2RiLi40MjZjYmM5NDg0NmE4ZmI5NDYxNmE1MThlYzAxYjJjNzNmM2YzODM4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUZy
YW1lU2Nyb2xsaW5nTm9kZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLmgKQEAgLTM3LDcgKzM3LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxp
bmdOb2RlSU9TIDogcHVibGljIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGUgewogcHVi
bGljOgotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBQYXNzUmVmUHRyPFNjcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGVJT1M+IGNyZWF0ZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9k
ZUlEKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmPFNjcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGVJT1M+IGNyZWF0ZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsK
ICAgICB2aXJ0dWFsIH5TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TKCk7CiAKIHBy
b3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9T
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MubW0KaW5k
ZXggNWUzYzZkODI1MGZlOGYwY2VlY2E2MmQyZDQ2MzNlYzg1MTA2MTFmYS4uNTY4MmY1MWRjMTg4
YTgyNDcwZmEwM2E4Nzc0MTk0ZjRjYWMxMzBmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGVJT1MubW0KQEAgLTQwLDkgKzQwLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1QYXNzUmVmUHRyPFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1M+IFNj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1M6OmNyZWF0ZShTY3JvbGxpbmdUcmVlJiBz
Y3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQorUmVmPFNjcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGVJT1M+IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1M6
OmNyZWF0ZShTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9k
ZUlEKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZUlPUyhzY3JvbGxpbmdUcmVlLCBub2RlSUQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TKHNjcm9sbGluZ1RyZWUsIG5v
ZGVJRCkpOwogfQogCiBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TOjpTY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TKFNjcm9sbGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUs
IFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUlPUy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUlPUy5jcHAKaW5kZXggMTNmN2VhODUxMzk0MDgx
ZGJkMTI1OTFmNWRkMzQ0NmVjOTY5MzFiYi4uNjMyNWE1ZjQyYjM2YWMyZjA0MThmZWVmM2Y2ZGIz
NDZhMDdjZGM4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9z
L1Njcm9sbGluZ1RyZWVJT1MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L2lvcy9TY3JvbGxpbmdUcmVlSU9TLmNwcApAQCAtNDEsOSArNDEsOSBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLVJlZlB0cjxTY3JvbGxpbmdUcmVlSU9TPiBTY3JvbGxpbmdUcmVlSU9TOjpj
cmVhdGUoQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0b3IpCitS
ZWY8U2Nyb2xsaW5nVHJlZUlPUz4gU2Nyb2xsaW5nVHJlZUlPUzo6Y3JlYXRlKEFzeW5jU2Nyb2xs
aW5nQ29vcmRpbmF0b3IqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yKQogewotICAgIHJldHVybiBhZG9w
dFJlZihuZXcgU2Nyb2xsaW5nVHJlZUlPUyhzY3JvbGxpbmdDb29yZGluYXRvcikpOworICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFNjcm9sbGluZ1RyZWVJT1Moc2Nyb2xsaW5nQ29vcmRpbmF0b3Ip
KTsKIH0KIAogU2Nyb2xsaW5nVHJlZUlPUzo6U2Nyb2xsaW5nVHJlZUlPUyhBc3luY1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdDb29yZGluYXRvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5t
bQppbmRleCAzZTkyMWYxZWI0NzNlZjY5ZTBjMDk3OWRhZGEzZjU3MTEzMzc1NGFkLi4yNTA1ZTdi
NzYzMzM4ZDEyZGVkYjUyMzhhMDQzMzYyODc4YThjZDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
Lm1tCkBAIC00Niw5ICs0Niw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0
cjxTY3JvbGxpbmdDb29yZGluYXRvcj4gU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmNyZWF0ZShQYWdl
KiBwYWdlKQorUmVmPFNjcm9sbGluZ0Nvb3JkaW5hdG9yPiBTY3JvbGxpbmdDb29yZGluYXRvcjo6
Y3JlYXRlKFBhZ2UqIHBhZ2UpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JvbGxpbmdD
b29yZGluYXRvck1hYyhwYWdlKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5n
Q29vcmRpbmF0b3JNYWMocGFnZSkpOwogfQogCiBTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6U2Ny
b2xsaW5nQ29vcmRpbmF0b3JNYWMoUGFnZSogcGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5oCmluZGV4
IDU3NmFjY2RlMDE4MzMxZDJjY2IwZTViYjY4Zjk0NWZjNWJlMzJjYWEuLjJhZDE2ZWIyMzBhNjEz
ZDQ2Zjc4ZjhkMDc3MzkzOGE0YzgyMTBiNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUuaApAQCAtNDAs
NyArNDAsNyBAQCBjbGFzcyBGaXhlZFBvc2l0aW9uVmlld3BvcnRDb25zdHJhaW50czsKIAogY2xh
c3MgU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZSA6IHB1YmxpYyBTY3JvbGxpbmdUcmVlTm9kZSB7CiBw
dWJsaWM6Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFBhc3NSZWZQdHI8U2Nyb2xsaW5nVHJl
ZUZpeGVkTm9kZT4gY3JlYXRlKFNjcm9sbGluZ1RyZWUmLCBTY3JvbGxpbmdOb2RlSUQpOworICAg
IFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWY8U2Nyb2xsaW5nVHJlZUZpeGVkTm9kZT4gY3JlYXRl
KFNjcm9sbGluZ1RyZWUmLCBTY3JvbGxpbmdOb2RlSUQpOwogCiAgICAgdmlydHVhbCB+U2Nyb2xs
aW5nVHJlZUZpeGVkTm9kZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLm1tCmluZGV4IDcyMGJiYmRk
OGUwY2U4MThiOWU3YzYwM2U2YTUxYzk1ZTE2OTBkNTcuLjM4MGNhMTcxM2Y3MjIyMmIzOThkOWUx
NDk4NzQzNDM0ZTg1NGQ0YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLm1tCkBAIC0zNCw5ICszNCw5
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxTY3JvbGxpbmdUcmVlRml4
ZWROb2RlPiBTY3JvbGxpbmdUcmVlRml4ZWROb2RlOjpjcmVhdGUoU2Nyb2xsaW5nVHJlZSYgc2Ny
b2xsaW5nVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKK1JlZjxTY3JvbGxpbmdUcmVlRml4
ZWROb2RlPiBTY3JvbGxpbmdUcmVlRml4ZWROb2RlOjpjcmVhdGUoU2Nyb2xsaW5nVHJlZSYgc2Ny
b2xsaW5nVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKIHsKLSAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFNjcm9sbGluZ1RyZWVGaXhlZE5vZGUoc2Nyb2xsaW5nVHJlZSwgbm9kZUlEKSk7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZShzY3JvbGxpbmdU
cmVlLCBub2RlSUQpKTsKIH0KIAogU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZTo6U2Nyb2xsaW5nVHJl
ZUZpeGVkTm9kZShTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQg
bm9kZUlEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Nj
cm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmgKaW5kZXgg
MWExYmE1MmYwYzNjZDMxN2M3Mjg1ZWZkOWZiOTM4OWExM2M1MWFlOS4uNmY5Zjc4Y2UwYTc4ZWY1
OWUxZTI4NDRlOTFmZmI2ODAxYWYzZDdmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Ny
b2xsaW5nTm9kZU1hYy5oCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYyA6IHB1YmxpYyBTY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlLCBwcml2YXRlIFNjcm9sbENvbnRyb2xsZXJDbGllbnQg
ewogcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBQYXNzUmVmUHRyPFNjcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGU+IGNyZWF0ZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5n
Tm9kZUlEKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmPFNjcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGU+IGNyZWF0ZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsK
ICAgICB2aXJ0dWFsIH5TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjKCk7CiAKIHBy
aXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Ny
b2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCmluZGV4
IDdmNjRkYzViZWE3NjhkZWMxYzNlZDk2OWVkOTBmYTIxMDQ5NDNjNTQuLmVhYjZkYTkzMDYxMGQx
M2MwOWJkMGUzNTYyYzAxNzhiMzY2NDBhODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlTWFjLm1tCkBAIC00OSw5ICs0OSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogc3RhdGljIHZvaWQgbG9nVGhyZWFkZWRTY3JvbGxpbmdNb2RlKHVuc2lnbmVkIHN5bmNocm9u
b3VzU2Nyb2xsaW5nUmVhc29ucyk7CiAKLVBhc3NSZWZQdHI8U2Nyb2xsaW5nVHJlZUZyYW1lU2Ny
b2xsaW5nTm9kZT4gU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6Y3JlYXRlKFNj
cm9sbGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCitSZWY8
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZT4gU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZU1hYzo6Y3JlYXRlKFNjcm9sbGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9sbGlu
Z05vZGVJRCBub2RlSUQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JvbGxpbmdUcmVl
RnJhbWVTY3JvbGxpbmdOb2RlTWFjKHNjcm9sbGluZ1RyZWUsIG5vZGVJRCkpOworICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMoc2Nyb2xs
aW5nVHJlZSwgbm9kZUlEKSk7CiB9CiAKIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVN
YWM6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMoU2Nyb2xsaW5nVHJlZSYgc2Ny
b2xsaW5nVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlTWFjLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlTWFjLmNwcAppbmRleCA5MGM0
MzdmNmFlN2VmNWFiZTEwYWQwZjJjYWQ3YjZhY2VlNTkxYmNhLi43MGRiYzA2Y2YwMTNiZjMxYjhk
YTA3ZmRlMGQzOTg4YzYxYjRkODBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMuY3BwCkBAIC0zNCw5ICszNCw5IEBACiAK
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1SZWZQdHI8U2Nyb2xsaW5nVHJlZU1hYz4gU2Ny
b2xsaW5nVHJlZU1hYzo6Y3JlYXRlKEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IqIHNjcm9sbGlu
Z0Nvb3JkaW5hdG9yKQorUmVmPFNjcm9sbGluZ1RyZWVNYWM+IFNjcm9sbGluZ1RyZWVNYWM6OmNy
ZWF0ZShBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdDb29yZGluYXRvcikKIHsK
LSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9sbGluZ1RyZWVNYWMoc2Nyb2xsaW5nQ29vcmRp
bmF0b3IpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdUcmVlTWFjKHNjcm9s
bGluZ0Nvb3JkaW5hdG9yKSk7CiB9CiAKIFNjcm9sbGluZ1RyZWVNYWM6OlNjcm9sbGluZ1RyZWVN
YWMoQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0b3IpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1h
Yy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMu
aAppbmRleCAzMzFlYjc1MDM4MjBmMjJiNzE3ZmM2NjQ5MjU4ZTQ0MmZjNDk0OTMwLi41ZGNkYTBh
ZTcyMTliOTZlNjkyNTdhNGJmOWFiNjVmODZmZTYwNzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1hYy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlTWFjLmgKQEAgLTM0LDcgKzM0
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTY3JvbGxpbmdUcmVlTWFjIDogcHVi
bGljIFRocmVhZGVkU2Nyb2xsaW5nVHJlZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxT
Y3JvbGxpbmdUcmVlTWFjPiBjcmVhdGUoQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvciopOworICAg
IHN0YXRpYyBSZWY8U2Nyb2xsaW5nVHJlZU1hYz4gY3JlYXRlKEFzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IqKTsKIAogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTY3JvbGxpbmdUcmVlTm9kZT4gY3Jl
YXRlU2Nyb2xsaW5nVHJlZU5vZGUoU2Nyb2xsaW5nTm9kZVR5cGUsIFNjcm9sbGluZ05vZGVJRCkg
b3ZlcnJpZGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvbWFjL1Njcm9sbGluZ1RyZWVTdGlja3lOb2RlLmgKaW5kZXggZTgyMjJkZTMwMjc4YzdmMTE0
OWViZWY4MmJlOGNkOTk3OTMwNGExNC4uNzA0ODdlZDdhZmI3NGQ2ZTViMmZhOTYyNjExOTY5MzFk
NTJiNzljOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Nj
cm9sbGluZ1RyZWVTdGlja3lOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvbWFjL1Njcm9sbGluZ1RyZWVTdGlja3lOb2RlLmgKQEAgLTQwLDcgKzQwLDcgQEAgY2xhc3Mg
U3RpY2t5UG9zaXRpb25WaWV3cG9ydENvbnN0cmFpbnRzOwogCiBjbGFzcyBTY3JvbGxpbmdUcmVl
U3RpY2t5Tm9kZSA6IHB1YmxpYyBTY3JvbGxpbmdUcmVlTm9kZSB7CiBwdWJsaWM6Ci0gICAgV0VC
Q09SRV9FWFBPUlQgc3RhdGljIFBhc3NSZWZQdHI8U2Nyb2xsaW5nVHJlZVN0aWNreU5vZGU+IGNy
ZWF0ZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKKyAgICBXRUJDT1JFX0VYUE9S
VCBzdGF0aWMgUmVmPFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlPiBjcmVhdGUoU2Nyb2xsaW5nVHJl
ZSYsIFNjcm9sbGluZ05vZGVJRCk7CiAKICAgICB2aXJ0dWFsIH5TY3JvbGxpbmdUcmVlU3RpY2t5
Tm9kZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMv
U2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUubW0KaW5kZXggNjdjNGRiZTEzMTJmYTkxNmJm
ZGFlMTQyMzllOTdmMTJjOGNlNTJkNC4uNzJkMWY3M2Y0OWI4MmI1ZTI4NTVmZWMwYjNlYTM0YmZh
MWUyZDc3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Nj
cm9sbGluZ1RyZWVTdGlja3lOb2RlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5tbQpAQCAtMzYsOSArMzYsOSBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8U2Nyb2xsaW5nVHJlZVN0aWNreU5vZGU+
IFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlOjpjcmVhdGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5n
VHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKK1JlZjxTY3JvbGxpbmdUcmVlU3RpY2t5Tm9k
ZT4gU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGU6OmNyZWF0ZShTY3JvbGxpbmdUcmVlJiBzY3JvbGxp
bmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQogewotICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUoc2Nyb2xsaW5nVHJlZSwgbm9kZUlEKSk7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUoc2Nyb2xsaW5nVHJl
ZSwgbm9kZUlEKSk7CiB9CiAKIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlOjpTY3JvbGxpbmdUcmVl
U3RpY2t5Tm9kZShTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQg
bm9kZUlEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
Vmlld0dyb3VwLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViVmlld0dy
b3VwLm1tCmluZGV4IDhlZDhjNGNmMGE4ZTBhN2E5MjA1NDI3YTIzZjBlNDRmZDBiYzg1ZTYuLjc0
NTM5MjQ0MWMwZDU5N2JmYzI5OTZlZWEwZWEyNzRjYzllNjM1YzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlZpZXdHcm91cC5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJWaWV3R3JvdXAubW0KQEAgLTY2LDcgKzY2LDcg
QEAgV2ViVmlld0dyb3VwKiBXZWJWaWV3R3JvdXA6OmdldChjb25zdCBTdHJpbmcmIG5hbWUpCiBX
ZWJWaWV3R3JvdXA6OldlYlZpZXdHcm91cChjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmlu
ZyYgbG9jYWxTdG9yYWdlRGF0YWJhc2VQYXRoKQogICAgIDogbV9uYW1lKG5hbWUpCiAgICAgLCBt
X2xvY2FsU3RvcmFnZURhdGFiYXNlUGF0aChsb2NhbFN0b3JhZ2VEYXRhYmFzZVBhdGgpCi0gICAg
LCBtX3VzZXJDb250ZW50Q29udHJvbGxlcigqVXNlckNvbnRlbnRDb250cm9sbGVyOjpjcmVhdGUo
KSkKKyAgICAsIG1fdXNlckNvbnRlbnRDb250cm9sbGVyKFVzZXJDb250ZW50Q29udHJvbGxlcjo6
Y3JlYXRlKCkpCiAgICAgLCBtX3Zpc2l0ZWRMaW5rU3RvcmUoV2ViVmlzaXRlZExpbmtTdG9yZTo6
Y3JlYXRlKCkpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CmluZGV4IDBjNjA4YTA3MWI5OWQ5OWZkMzliN2M4OWQ4MDY2MGU5NDMzNDkzYmUuLjRkYmYwNjI4
NjZkNTdiNmFiODE3MjE1YjQzNjE1MDcwMjhlMGE1YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0zOTI0LDcgKzM5MjQsNyBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6ZGlkR2V0SW1hZ2VGb3JGaW5kTWF0Y2goY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5k
bGUmIGNvbnRlbgogCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0VGV4dEluZGljYXRvcihjb25zdCBU
ZXh0SW5kaWNhdG9yRGF0YSYgaW5kaWNhdG9yRGF0YSwgdWludDY0X3QgbGlmZXRpbWUpCiB7Ci0g
ICAgbV9wYWdlQ2xpZW50LnNldFRleHRJbmRpY2F0b3IoKlRleHRJbmRpY2F0b3I6OmNyZWF0ZShp
bmRpY2F0b3JEYXRhKSwgc3RhdGljX2Nhc3Q8VGV4dEluZGljYXRvckxpZmV0aW1lPihsaWZldGlt
ZSkpOworICAgIG1fcGFnZUNsaWVudC5zZXRUZXh0SW5kaWNhdG9yKFRleHRJbmRpY2F0b3I6OmNy
ZWF0ZShpbmRpY2F0b3JEYXRhKSwgc3RhdGljX2Nhc3Q8VGV4dEluZGljYXRvckxpZmV0aW1lPihs
aWZldGltZSkpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6Y2xlYXJUZXh0SW5kaWNhdG9yKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwu
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCmluZGV4
IDA3NjkwNTAzMzE1ZWZjM2ZjYzI1M2I1NTI2Mjc5YmJmZmZjNGNhM2YuLjMyYTcyYjgzM2ZlNzU4
OGZlZGUyZjJkNjcwOWVhZDc1OTEzNjdhNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQpAQCAtNTk2LDcgKzU5Niw3IEBAIHZvaWQgUGFnZUNs
aWVudEltcGw6OmRpZFBlcmZvcm1EaWN0aW9uYXJ5TG9va3VwKGNvbnN0IERpY3Rpb25hcnlQb3B1
cEluZm8mIGRpY3RpCiAgICAgW21fd2tWaWV3IF9wcmVwYXJlRm9yRGljdGlvbmFyeUxvb2t1cF07
CiAKICAgICBpZiAoY2FuTG9hZExVVGVybU9wdGlvbkRpc2FibGVTZWFyY2hUZXJtSW5kaWNhdG9y
KCkgJiYgZGljdGlvbmFyeVBvcHVwSW5mby50ZXh0SW5kaWNhdG9yLmNvbnRlbnRJbWFnZSkgewot
ICAgICAgICBbbV93a1ZpZXcgX3NldFRleHRJbmRpY2F0b3I6KlRleHRJbmRpY2F0b3I6OmNyZWF0
ZShkaWN0aW9uYXJ5UG9wdXBJbmZvLnRleHRJbmRpY2F0b3IpIHdpdGhMaWZldGltZTpUZXh0SW5k
aWNhdG9yTGlmZXRpbWU6OlBlcm1hbmVudF07CisgICAgICAgIFttX3drVmlldyBfc2V0VGV4dElu
ZGljYXRvcjpUZXh0SW5kaWNhdG9yOjpjcmVhdGUoZGljdGlvbmFyeVBvcHVwSW5mby50ZXh0SW5k
aWNhdG9yKSB3aXRoTGlmZXRpbWU6VGV4dEluZGljYXRvckxpZmV0aW1lOjpQZXJtYW5lbnRdOwog
ICAgICAgICBbbXV0YWJsZU9wdGlvbnMgc2V0T2JqZWN0OkBZRVMgZm9yS2V5OmdldExVVGVybU9w
dGlvbkRpc2FibGVTZWFyY2hUZXJtSW5kaWNhdG9yKCldOwogICAgICAgICBbZ2V0TFVMb29rdXBE
ZWZpbml0aW9uTW9kdWxlQ2xhc3MoKSBzaG93RGVmaW5pdGlvbkZvclRlcm06ZGljdGlvbmFyeVBv
cHVwSW5mby5hdHRyaWJ1dGVkU3RyaW5nLnN0cmluZy5nZXQoKSBhdExvY2F0aW9uOnRleHRCYXNl
bGluZU9yaWdpbiBvcHRpb25zOm11dGFibGVPcHRpb25zLmdldCgpXTsKICAgICB9IGVsc2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNv
bnRlbnRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvVXNlckNvbnRl
bnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyLmNwcAppbmRleCBlMzNlNDlhYjBmMjM5MTIxNDBl
YzM1ZWQxYWVlNmU4ZmRlZjdlMGIxLi5hYTdiNjQ1NjZlODBjN2QwMTljNWY1MGQ4MTA0YWRhN2Ez
ZDFjYTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1VzZXJDb250ZW50
L1dlYlVzZXJDb250ZW50Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXIuY3BwCkBAIC02OSw3ICs2
OSw3IEBAIFBhc3NSZWZQdHI8V2ViVXNlckNvbnRlbnRDb250cm9sbGVyPiBXZWJVc2VyQ29udGVu
dENvbnRyb2xsZXI6OmdldE9yQ3JlYXRlKHVpbnQ2CiAKIFdlYlVzZXJDb250ZW50Q29udHJvbGxl
cjo6V2ViVXNlckNvbnRlbnRDb250cm9sbGVyKHVpbnQ2NF90IGlkZW50aWZpZXIpCiAgICAgOiBt
X2lkZW50aWZpZXIoaWRlbnRpZmllcikKLSAgICAsIG1fdXNlckNvbnRlbnRDb250cm9sbGVyKCpV
c2VyQ29udGVudENvbnRyb2xsZXI6OmNyZWF0ZSgpKQorICAgICwgbV91c2VyQ29udGVudENvbnRy
b2xsZXIoVXNlckNvbnRlbnRDb250cm9sbGVyOjpjcmVhdGUoKSkKIHsKICAgICBXZWJQcm9jZXNz
OjpzaW5nbGV0b24oKS5hZGRNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OldlYlVzZXJDb250ZW50
Q29udHJvbGxlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX2lkZW50aWZpZXIsICp0aGlzKTsK
IH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252834</attachid>
            <date>2015-05-10 18:33:12 -0700</date>
            <delta_ts>2015-05-10 19:25:45 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-144841-20150511103201.patch</filename>
            <type>text/plain</type>
            <size>63458</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYThmNmNiNGZlMzQ0YWE4
NzQxODk5ZmZhYzcxNjNjZjVmNjgzOWIzMC4uNTM0Nzk2YWVlMzdkOWY3ZTNmOTdjY2VlZTFjNTRj
ODU0OGM1MjViYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNSBAQAorMjAxNS0wNS0xMCAgR3l1
eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFVzZSBSZWYg
aW5zdGVhZCBvZiBQYXNzUmVmUHRyIGluIFdlYkNvcmUvcGFnZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0ODQxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgVG8ga2lsbCBQYXNzUmVmUHRyLCB0aGlzIHBhdGNo
IHJlcGxhY2VzIFBhc3NSZWZQdHIgd2l0aCBSZWYgb3IgUmVmUHRyCisgICAgICAgIGluIFdlYkNv
cmUvcGFnZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZXMuCisK
KyAgICAgICAgKiBwYWdlL0RlYnVnUGFnZU92ZXJsYXlzLmNwcDoKKyAgICAgICAgKiBwYWdlL0V2
ZW50U291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50U291cmNlOjpjcmVhdGUpOgor
ICAgICAgICAqIHBhZ2UvRXZlbnRTb3VyY2UuaDoKKyAgICAgICAgKiBwYWdlL0hpc3RvcnkuaDoK
KyAgICAgICAgKFdlYkNvcmU6Okhpc3Rvcnk6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9Mb2Nh
dGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6TG9jYXRpb246OmNyZWF0ZSk6CisgICAgICAgICog
cGFnZS9NYWluRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWFpbkZyYW1lOjpjcmVhdGUp
OgorICAgICAgICAqIHBhZ2UvTWFpbkZyYW1lLmg6CisgICAgICAgICogcGFnZS9OYXZpZ2F0b3Iu
aDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdl
L1BhZ2VPdmVybGF5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VPdmVybGF5OjpjcmVhdGUp
OgorICAgICAgICAqIHBhZ2UvUGFnZU92ZXJsYXkuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1h
bmNlLmg6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5oOgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2VFbnRyeUxpc3Q6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9Q
ZXJmb3JtYW5jZU1hcmsuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTWFyazo6Y3Jl
YXRlKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VNZWFzdXJlOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU5hdmlnYXRp
b246OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmg6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjcmVhdGUpOgor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlVGltaW5nOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VVc2Vy
VGltaW5nLmg6CisgICAgICAgIChXZWJDb3JlOjpVc2VyVGltaW5nOjpjcmVhdGUpOgorICAgICAg
ICAqIHBhZ2UvU2NyZWVuLmg6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTZXR0aW5nczo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6
CisgICAgICAgICogcGFnZS9UZXh0SW5kaWNhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRJbmRpY2F0b3I6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9UZXh0SW5kaWNhdG9yLmg6Cisg
ICAgICAgICogcGFnZS9Vc2VyQ29udGVudENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VXNlckNvbnRlbnRDb250cm9sbGVyOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvVXNlckNv
bnRlbnRDb250cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXJEZXNj
cmlwdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpVc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9y
OjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5o
OgorICAgICAgICAqIHBhZ2UvVmlzaXRlZExpbmtTdG9yZS5oOgorICAgICAgICAqIHBhZ2UvV2Vi
S2l0TmFtZXNwYWNlLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXROYW1lc3BhY2U6OmNyZWF0
ZSk6CisgICAgICAgICogcGFnZS9XZWJLaXRQb2ludC5oOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
S2l0UG9pbnQ6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9Xb3JrZXJOYXZpZ2F0b3IuaDoKKyAg
ICAgICAgKFdlYkNvcmU6Oldvcmtlck5hdmlnYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdl
L2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6SW1wbGlj
aXRBbmltYXRpb246OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVB
bmltYXRpb24uaDoKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVy
Lmg6CisgICAgICAgICogcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OkhpZ2hsaWdodDo6Y3Jl
YXRlRm9yU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VzT3ZlcmxheUNvbnRy
b2xsZXI6OkhpZ2hsaWdodDo6Y3JlYXRlRm9yVGVsZXBob25lTnVtYmVyKToKKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxpbmdDb29yZGluYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdDb29yZGluYXRvci5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1N0YXRlRml4ZWROb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRl
Rml4ZWROb2RlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVGaXhl
ZE5vZGU6OmNsb25lKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZp
eGVkTm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJhbWVT
Y3JvbGxpbmdOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlRnJhbWVT
Y3JvbGxpbmdOb2RlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVG
cmFtZVNjcm9sbGluZ05vZGU6OmNsb25lKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1N0YXRlTm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmNsb25lKToKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZS5oOgor
ICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU6OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU6OmNsb25lKToKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaDoKKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW06CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL3Nj
cm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUy5oOgorICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9T
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlP
Uzo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUlP
Uy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlSU9TOjpjcmVhdGUpOgorICAg
ICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGUpOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLmg6CisgICAgICAgICog
cGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUubW06CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxpbmdUcmVlRml4ZWROb2RlOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2Uv
c2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmg6CisgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
TWFjOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVl
TWFjLmNwcDoKKyAgICAgICAgKFNjcm9sbGluZ1RyZWVNYWM6OmNyZWF0ZSk6CisgICAgICAgICog
cGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMuaDoKKyAgICAgICAgKiBwYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaDoKKyAgICAgICAgKiBwYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUubW06CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZTo6Y3JlYXRlKToKKwogMjAxNS0wNS0xMCAgU3VuZ21h
bm4gQ2hvICA8c3VuZ21hbm4uY2hvQG5hdmVyY29ycC5jb20+CiAKICAgICAgICAgR2V0IHJpZCBv
ZiB0aGUgcHVibGljIGl0ZW0gYWNjZXNzb3JzIGluIEJhY2tGb3J3YXJkQ2xpZW50CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
aW5kZXggN2FhYTQ0YTJiOTViOTk4ZmZhM2EzNGI3NDlkNmQ1MzAxODIxMTFhOS4uYWZiMzU2YWYw
ODQ4ZmRjZjExZWMyMTllNWQzOWU3YTUyZjk2ODEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDE1LTA1LTEwICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBVc2UgUmVmIGluc3RlYWQgb2YgUGFzc1JlZlB0ciBpbiBXZWJDb3JlL3BhZ2UK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDg0MQor
CisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFRvIGtpbGwgUGFz
c1JlZlB0ciwgdGhpcyBwYXRjaCByZXBsYWNlcyBQYXNzUmVmUHRyIHdpdGggUmVmIG9yIFJlZlB0
cgorICAgICAgICBpbiBXZWJDb3JlL3BhZ2UuCisKKyAgICAgICAgKFdlYktpdDo6V2ViVXNlckNv
bnRlbnRDb250cm9sbGVyOjpXZWJVc2VyQ29udGVudENvbnRyb2xsZXIpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6
OnNldFRleHRJbmRpY2F0b3IpOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudElt
cGwubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpkaWRQZXJmb3JtRGljdGlv
bmFyeUxvb2t1cCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29u
dGVudENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJVc2VyQ29udGVudENvbnRy
b2xsZXI6OldlYlVzZXJDb250ZW50Q29udHJvbGxlcik6CisKIDIwMTUtMDUtMTAgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBpbnRlcm5hbCBBcHBsZSBidWls
ZHMgb24gTWF2ZXJpY2tzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EZWJ1Z1Bh
Z2VPdmVybGF5cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RlYnVnUGFnZU92ZXJsYXlzLmNw
cAppbmRleCBjMzE3NjUzYzE3YmEzNzIyMzEyOTdkOWYzMDkwNTUyMWVhMzM2YmQ2Li5jYWU0M2Rh
ZDZhNzQwODA0MDc0ZWViMzdiYThjNDk5N2Y0YzBkNGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RlYnVnUGFnZU92ZXJsYXlzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RlYnVnUGFnZU92ZXJsYXlzLmNwcApAQCAtNzQsOSArNzQsOSBAQCBwcm90ZWN0ZWQ6CiAKIGNs
YXNzIE1vdXNlV2hlZWxSZWdpb25PdmVybGF5IGZpbmFsIDogcHVibGljIFJlZ2lvbk92ZXJsYXkg
ewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1vdXNlV2hlZWxSZWdpb25PdmVybGF5
PiBjcmVhdGUoTWFpbkZyYW1lJiBmcmFtZSkKKyAgICBzdGF0aWMgUmVmPE1vdXNlV2hlZWxSZWdp
b25PdmVybGF5PiBjcmVhdGUoTWFpbkZyYW1lJiBmcmFtZSkKICAgICB7Ci0gICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgTW91c2VXaGVlbFJlZ2lvbk92ZXJsYXkoZnJhbWUpKTsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgTW91c2VXaGVlbFJlZ2lvbk92ZXJsYXkoZnJhbWUpKTsKICAg
ICB9CiAKIHByaXZhdGU6CkBAIC0xMTMsOSArMTEzLDkgQEAgYm9vbCBNb3VzZVdoZWVsUmVnaW9u
T3ZlcmxheTo6dXBkYXRlUmVnaW9uKCkKIAogY2xhc3MgTm9uRmFzdFNjcm9sbGFibGVSZWdpb25P
dmVybGF5IGZpbmFsIDogcHVibGljIFJlZ2lvbk92ZXJsYXkgewogcHVibGljOgotICAgIHN0YXRp
YyBQYXNzUmVmUHRyPE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uT3ZlcmxheT4gY3JlYXRlKE1haW5G
cmFtZSYgZnJhbWUpCisgICAgc3RhdGljIFJlZjxOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbk92ZXJs
YXk+IGNyZWF0ZShNYWluRnJhbWUmIGZyYW1lKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbk92ZXJsYXkoZnJhbWUpKTsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgTm9uRmFzdFNjcm9sbGFibGVSZWdpb25PdmVybGF5KGZyYW1l
KSk7CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudFNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcAppbmRl
eCA4NTRhNWE4M2MyNWRhZWUyNjUxYjRlZmFkN2ZmY2U3Zjg5YThiYzFkLi4zZDcwZGU5MzFkN2Mz
ZGZkMTk5ZWYxMmVjYWQ2NjlmMjZiZWE4NDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0V2ZW50U291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNl
LmNwcApAQCAtNzIsNyArNzIsNyBAQCBpbmxpbmUgRXZlbnRTb3VyY2U6OkV2ZW50U291cmNlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFVSTCYgdXJsLAogICAgIGV2ZW50
U291cmNlSW5pdC5nZXQoIndpdGhDcmVkZW50aWFscyIsIG1fd2l0aENyZWRlbnRpYWxzKTsKIH0K
IAotUGFzc1JlZlB0cjxFdmVudFNvdXJjZT4gRXZlbnRTb3VyY2U6OmNyZWF0ZShTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgRGljdGlvbmFy
eSYgZXZlbnRTb3VyY2VJbml0LCBFeGNlcHRpb25Db2RlJiBlYykKK1JlZlB0cjxFdmVudFNvdXJj
ZT4gRXZlbnRTb3VyY2U6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBj
b25zdCBTdHJpbmcmIHVybCwgY29uc3QgRGljdGlvbmFyeSYgZXZlbnRTb3VyY2VJbml0LCBFeGNl
cHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAodXJsLmlzRW1wdHkoKSkgewogICAgICAgICBlYyA9
IFNZTlRBWF9FUlI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmgKaW5kZXggNTBjMGU1N2UwMDAz
NDU4NGFjZGM0MDkyNzJjZWZkZjRmMGQxMTQ3NC4uN2NkYjEzNjg1OTNmM2M5Y2VkMWI2NmJiMzA0
MjQwNDhlOTY3YmFkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJj
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaApAQCAtNTEsNyArNTEs
NyBAQCBjbGFzcyBUaHJlYWRhYmxlTG9hZGVyOwogY2xhc3MgRXZlbnRTb3VyY2UgZmluYWwgOiBw
dWJsaWMgUmVmQ291bnRlZDxFdmVudFNvdXJjZT4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxp
bmVEYXRhLCBwcml2YXRlIFRocmVhZGFibGVMb2FkZXJDbGllbnQsIHB1YmxpYyBBY3RpdmVET01P
YmplY3QgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIHN0YXRp
YyBQYXNzUmVmUHRyPEV2ZW50U291cmNlPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBEaWN0aW9uYXJ5JiwgRXhjZXB0aW9uQ29kZSYpOwor
ICAgIHN0YXRpYyBSZWZQdHI8RXZlbnRTb3VyY2U+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IERpY3Rpb25hcnkmLCBFeGNlcHRpb25Db2Rl
Jik7CiAgICAgdmlydHVhbCB+RXZlbnRTb3VyY2UoKTsKIAogICAgIHN0YXRpYyBjb25zdCB1bnNp
Z25lZCBsb25nIGxvbmcgZGVmYXVsdFJlY29ubmVjdERlbGF5OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9IaXN0b3J5LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3RvcnkuaApp
bmRleCBmOGUxZmQxNTY3ZDNmNjUyODVhOWM5MjRmNzgyMGVkOWY4ZDU4YmM4Li4xNDU0YzQ0NjFh
OGMyMjA5OTYyNmRmZDgxNTkyOTZjMjI4YzI1ZWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0hpc3RvcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0hpc3RvcnkuaApAQCAt
NDIsNyArNDIsNyBAQCB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCiBjbGFzcyBIaXN0b3J5
IDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8SGlzdG9yeT4sIHB1
YmxpYyBET01XaW5kb3dQcm9wZXJ0eSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8
SGlzdG9yeT4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IEhpc3Rv
cnkoZnJhbWUpKTsgfQorICAgIHN0YXRpYyBSZWY8SGlzdG9yeT4gY3JlYXRlKEZyYW1lKiBmcmFt
ZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBIaXN0b3J5KGZyYW1lKSk7IH0KIAogICAgIHVuc2ln
bmVkIGxlbmd0aCgpIGNvbnN0OwogICAgIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVl
PiBzdGF0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5oCmluZGV4IDMzMzg4NzkzNGE3ZWYyZjc3Yjdh
ZmJiYjQ0Njk5ODE0YjY3NTQ1Y2EuLjk1NjZkYTQ4NzY1ZmY2ZGRiNDc5YTYyZTBhZjRkMjdiNGI2
ZWZiMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgdHlwZWRlZiBp
bnQgRXhjZXB0aW9uQ29kZTsKIAogY2xhc3MgTG9jYXRpb24gOiBwdWJsaWMgU2NyaXB0V3JhcHBh
YmxlLCBwdWJsaWMgUmVmQ291bnRlZDxMb2NhdGlvbj4sIHB1YmxpYyBET01XaW5kb3dQcm9wZXJ0
eSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TG9jYXRpb24+IGNyZWF0ZShGcmFt
ZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBMb2NhdGlvbihmcmFtZSkpOyB9CisgICAg
c3RhdGljIFJlZjxMb2NhdGlvbj4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBMb2NhdGlvbihmcmFtZSkpOyB9CiAKICAgICB2b2lkIHNldEhyZWYoY29uc3QgU3Ry
aW5nJiwgRE9NV2luZG93JiBhY3RpdmVXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RXaW5kb3cpOwog
ICAgIFN0cmluZyBocmVmKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L01haW5GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5jcHAKaW5kZXgg
N2I3ZTAwMzkzZDgwZTlkMTZiNGM1NGMwNTIwMTA4ZWEyMjgwN2Y3Mi4uYmZkMWVhYzQ5ZWJhYWYx
MGMxZmYwZTdlZWVmNzYyNDUwZTNkYWU5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9NYWluRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmNwcApA
QCAtNjEsOSArNjEsOSBAQCBNYWluRnJhbWU6On5NYWluRnJhbWUoKQogICAgICAgICBtX2RpYWdu
b3N0aWNMb2dnaW5nQ2xpZW50LT5tYWluRnJhbWVEZXN0cm95ZWQoKTsKIH0KIAotUmVmUHRyPE1h
aW5GcmFtZT4gTWFpbkZyYW1lOjpjcmVhdGUoUGFnZSYgcGFnZSwgUGFnZUNvbmZpZ3VyYXRpb24m
IGNvbmZpZ3VyYXRpb24pCitSZWY8TWFpbkZyYW1lPiBNYWluRnJhbWU6OmNyZWF0ZShQYWdlJiBw
YWdlLCBQYWdlQ29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikKIHsKLSAgICByZXR1cm4gYWRv
cHRSZWYobmV3IE1haW5GcmFtZShwYWdlLCBjb25maWd1cmF0aW9uKSk7CisgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgTWFpbkZyYW1lKHBhZ2UsIGNvbmZpZ3VyYXRpb24pKTsKIH0KIAogdm9pZCBN
YWluRnJhbWU6OnNlbGZPbmx5UmVmKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
TWFpbkZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5oCmluZGV4IDljZjhj
YTU4MDQ2NTBmYzFkMmUyYjIxMzkyMGE4OTJiZTU1MmIwNjQuLjI4NDEyNTM4ODBkZDhmZDFiNWNm
ZWYyNjkzYmNlMWJiMmY1MjA2ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFp
bkZyYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuaApAQCAtNDAsNyAr
NDAsNyBAQCBjbGFzcyBXaGVlbEV2ZW50RGVsdGFUcmFja2VyOwogCiBjbGFzcyBNYWluRnJhbWUg
ZmluYWwgOiBwdWJsaWMgRnJhbWUgewogcHVibGljOgotICAgIHN0YXRpYyBSZWZQdHI8TWFpbkZy
YW1lPiBjcmVhdGUoUGFnZSYsIFBhZ2VDb25maWd1cmF0aW9uJik7CisgICAgc3RhdGljIFJlZjxN
YWluRnJhbWU+IGNyZWF0ZShQYWdlJiwgUGFnZUNvbmZpZ3VyYXRpb24mKTsKIAogICAgIHZpcnR1
YWwgfk1haW5GcmFtZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmln
YXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaAppbmRleCBjNmQzOGFhNjg4
YTE5M2Q4MDY2Y2VlZDBkZjQ4NTYwYzY5YTBmMGQ1Li4xNmFiZGQ4Njc3NjE0N2Y3MWFkMDVhMWI4
NzU5YzA4NTUwNDYzMzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRv
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmgKQEAgLTQxLDcgKzQxLDcg
QEAgdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKIAogY2xhc3MgTmF2aWdhdG9yIDogcHVibGlj
IE5hdmlnYXRvckJhc2UsIHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZDb3VudGVk
PE5hdmlnYXRvcj4sIHB1YmxpYyBET01XaW5kb3dQcm9wZXJ0eSwgcHVibGljIFN1cHBsZW1lbnRh
YmxlPE5hdmlnYXRvcj4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5hdmlnYXRv
cj4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IE5hdmlnYXRvcihm
cmFtZSkpOyB9CisgICAgc3RhdGljIFJlZjxOYXZpZ2F0b3I+IGNyZWF0ZShGcmFtZSogZnJhbWUp
IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTmF2aWdhdG9yKGZyYW1lKSk7IH0KICAgICB2aXJ0dWFs
IH5OYXZpZ2F0b3IoKTsKIAogICAgIFN0cmluZyBhcHBWZXJzaW9uKCkgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZU92ZXJsYXkuY3BwCmluZGV4IDZmYzMyNDdiMzc1MzgxMmVhYzMxMmFhZDVkNjBh
ZmM2NGQ4OGE3ZDguLmE5YjkxY2QxNDE5NWRjNjBhZDg2MjliNjZmMzNjMTVlYTU3ODYzYjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwCkBAIC00Niw5ICs0Niw5IEBAIHN0YXRpYyBQ
YWdlT3ZlcmxheTo6UGFnZU92ZXJsYXlJRCBnZW5lcmF0ZVBhZ2VPdmVybGF5SUQoKQogICAgIHJl
dHVybiArK3BhZ2VPdmVybGF5SUQ7CiB9CiAKLVBhc3NSZWZQdHI8UGFnZU92ZXJsYXk+IFBhZ2VP
dmVybGF5OjpjcmVhdGUoQ2xpZW50JiBjbGllbnQsIE92ZXJsYXlUeXBlIG92ZXJsYXlUeXBlKQor
UmVmPFBhZ2VPdmVybGF5PiBQYWdlT3ZlcmxheTo6Y3JlYXRlKENsaWVudCYgY2xpZW50LCBPdmVy
bGF5VHlwZSBvdmVybGF5VHlwZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFBhZ2VPdmVy
bGF5KGNsaWVudCwgb3ZlcmxheVR5cGUpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQYWdl
T3ZlcmxheShjbGllbnQsIG92ZXJsYXlUeXBlKSk7CiB9CiAKIFBhZ2VPdmVybGF5OjpQYWdlT3Zl
cmxheShDbGllbnQmIGNsaWVudCwgT3ZlcmxheVR5cGUgb3ZlcmxheVR5cGUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VPdmVybGF5LmgKaW5kZXggOGFiNmM0NTUwNWJkZDQzNjVhZGIzYWI0MmM1ZGZlZmFiMTZj
ZWM0MC4uZjcyMzY1MDJlNzdkN2RjMDZkOGM0YjI4M2RjMmFlMTk1ODlhNmMwMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZU92ZXJsYXkuaApAQCAtNjksNyArNjksNyBAQCBwdWJsaWM6CiAgICAgICAgIERv
Y3VtZW50LCAvLyBTY2FsZXMgYW5kIHNjcm9sbHMgd2l0aCB0aGUgZG9jdW1lbnQuCiAgICAgfTsK
IAotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBQYXNzUmVmUHRyPFBhZ2VPdmVybGF5PiBjcmVh
dGUoQ2xpZW50JiwgT3ZlcmxheVR5cGUgPSBPdmVybGF5VHlwZTo6Vmlldyk7CisgICAgV0VCQ09S
RV9FWFBPUlQgc3RhdGljIFJlZjxQYWdlT3ZlcmxheT4gY3JlYXRlKENsaWVudCYsIE92ZXJsYXlU
eXBlID0gT3ZlcmxheVR5cGU6OlZpZXcpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgflBh
Z2VPdmVybGF5KCk7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBQYWdlT3ZlcmxheUNvbnRyb2xsZXIq
IGNvbnRyb2xsZXIoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaAppbmRleCA3NmU0
OWI0ZGIwNTAwOGY2YmNmMDUyZGRkNDk4NzAyMWFhMTk1MjFkLi5kMjY4MDE4ODc3Njc5NzVkMTVh
NGIxZTZmMWYyOGM3OGMyOWY5OTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCkBAIC01
NCw3ICs1NCw3IEBAIGNsYXNzIFVzZXJUaW1pbmc7CiAKIGNsYXNzIFBlcmZvcm1hbmNlIGZpbmFs
IDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8UGVyZm9ybWFuY2U+
LCBwdWJsaWMgRE9NV2luZG93UHJvcGVydHksIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVE
YXRhIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxQZXJmb3JtYW5jZT4gY3JlYXRl
KEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFBlcmZvcm1hbmNlKGZyYW1lKSk7
IH0KKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJl
dHVybiBhZG9wdFJlZigqbmV3IFBlcmZvcm1hbmNlKGZyYW1lKSk7IH0KICAgICB+UGVyZm9ybWFu
Y2UoKTsKIAogICAgIHZpcnR1YWwgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRl
cmZhY2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBQZXJmb3JtYW5jZUV2ZW50VGFyZ2V0SW50
ZXJmYWNlVHlwZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZUVudHJ5TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5o
CmluZGV4IGQ5MDAyODdhZGRiZGQ1MWRkNGEzMjhhZGNjOTk3YWViMTcxNjQ4N2MuLjk3YTIxMmRk
NmZkMDU0NDc2NmVkNzU2M2MxNzU2YjkxMzZkN2ZlZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlRW50cnlMaXN0LmgKQEAgLTQ1LDcgKzQ1LDcgQEAgY2xhc3MgUGVyZm9ybWFu
Y2VFbnRyeTsKIAogY2xhc3MgUGVyZm9ybWFuY2VFbnRyeUxpc3QgOiBwdWJsaWMgUmVmQ291bnRl
ZDxQZXJmb3JtYW5jZUVudHJ5TGlzdD4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFBlcmZvcm1hbmNlRW50cnlMaXN0PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgUGVy
Zm9ybWFuY2VFbnRyeUxpc3QpOyB9CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZUVudHJ5TGlz
dD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBQZXJmb3JtYW5jZUVudHJ5TGlzdCk7
IH0KICAgICB+UGVyZm9ybWFuY2VFbnRyeUxpc3QoKTsKIAogICAgIHVuc2lnbmVkIGxlbmd0aCgp
IGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1hcmsu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VNYXJrLmgKaW5kZXggNjRiMzlhYmZk
MDA3YWVkNWMzMDFlYTI3MGZhZDdlNDFhY2VmNjc0OS4uY2Q3MWEwMjZmZjMxZDcxZjE0ZWFjZjg3
ZGE1MDcwZTM2YjA3Y2E4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3Jt
YW5jZU1hcmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTWFyay5oCkBA
IC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGVyZm9ybWFuY2VN
YXJrIDogcHVibGljIFBlcmZvcm1hbmNlRW50cnkgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNz
UmVmUHRyPFBlcmZvcm1hbmNlTWFyaz4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgZG91Ymxl
IHN0YXJ0VGltZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFBlcmZvcm1hbmNlTWFyayhuYW1lLCBz
dGFydFRpbWUpKTsgfQorICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VNYXJrPiBjcmVhdGUoY29u
c3QgU3RyaW5nJiBuYW1lLCBkb3VibGUgc3RhcnRUaW1lKSB7IHJldHVybiBhZG9wdFJlZigqbmV3
IFBlcmZvcm1hbmNlTWFyayhuYW1lLCBzdGFydFRpbWUpKTsgfQogCiAgICAgdmlydHVhbCBib29s
IGlzTWFyaygpIHsgcmV0dXJuIHRydWU7IH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlTWVhc3VyZS5oCmluZGV4IDY1NTY0OTU5YjA2NDk3NGM0M2ZkNzljNTk2YjYyMmQ3OTk1
OGRmNjguLmFmM2UzNmU1MDYxOTRjZjMzOThiOGZhZmVmNmI2MjgzMjNhYWZkMzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1lYXN1cmUuaApAQCAtMzYsNyArMzYsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBlcmZvcm1hbmNlTWVhc3VyZSA6IHB1YmxpYyBQZXJm
b3JtYW5jZUVudHJ5IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxQZXJmb3JtYW5j
ZU1lYXN1cmU+IGNyZWF0ZShjb25zdCBTdHJpbmcmIG5hbWUsIGRvdWJsZSBzdGFydFRpbWUsIGRv
dWJsZSBkdXJhdGlvbikgeyByZXR1cm4gYWRvcHRSZWYobmV3IFBlcmZvcm1hbmNlTWVhc3VyZShu
YW1lLCBzdGFydFRpbWUsIGR1cmF0aW9uKSk7IH0KKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNl
TWVhc3VyZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91
YmxlIGR1cmF0aW9uKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFBlcmZvcm1hbmNlTWVhc3VyZShu
YW1lLCBzdGFydFRpbWUsIGR1cmF0aW9uKSk7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBpc01lYXN1
cmUoKSB7IHJldHVybiB0cnVlOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
TmF2aWdhdGlvbi5oCmluZGV4IGYzOTc5MjNlNmE5ZGI0NGIwZWYzNDdjNTQwMjA0YmE4YTZlOGIx
ZmQuLjJhY2M2MGIwMjUzYTJjN2RkNjc5Y2QxZmRjODRmOTU2ZWU0NzQwOTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaApAQCAtNDMsNyArNDMsNyBAQCBj
bGFzcyBGcmFtZTsKIAogY2xhc3MgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uIDogcHVibGljIFJlZkNv
dW50ZWQ8UGVyZm9ybWFuY2VOYXZpZ2F0aW9uPiwgcHVibGljIERPTVdpbmRvd1Byb3BlcnR5IHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxQZXJmb3JtYW5jZU5hdmlnYXRpb24+IGNy
ZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQZXJmb3JtYW5jZU5hdmln
YXRpb24oZnJhbWUpKTsgfQorICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VOYXZpZ2F0aW9uPiBj
cmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFBlcmZvcm1hbmNlTmF2
aWdhdGlvbihmcmFtZSkpOyB9CiAKICAgICBlbnVtIFBlcmZvcm1hbmNlTmF2aWdhdGlvblR5cGUg
ewogICAgICAgICBUWVBFX05BVklHQVRFLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuaAppbmRleCBlNzg1YTQ2MjAxN2NiYmJmNWEzNjUxOWQ5OWRj
YjAwMTBkNmVhNGNjLi45OWRmYzViY2RjZGM3OWUzNTNlOTQ5MzZjNDgyODUzNjE3YzVmNTNmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaApA
QCAtNTAsOSArNTAsOSBAQCBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogCiBjbGFzcyBQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nIDogcHVibGljIFBlcmZvcm1hbmNlRW50cnkgewogcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+IGNyZWF0ZShj
b25zdCBBdG9taWNTdHJpbmcmIGluaXRpYXRvclR5cGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYg
cmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGRvdWJsZSBpbml0aWF0
aW9uVGltZSwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50KiByZXF1ZXN0aW5nRG9jdW1lbnQp
CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nPiBjcmVhdGUoY29uc3Qg
QXRvbWljU3RyaW5nJiBpbml0aWF0b3JUeXBlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBkb3VibGUgaW5pdGlhdGlvblRp
bWUsIGRvdWJsZSBmaW5pc2hUaW1lLCBEb2N1bWVudCogcmVxdWVzdGluZ0RvY3VtZW50KQogICAg
IHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
KGluaXRpYXRvclR5cGUsIHJlcXVlc3QsIHJlc3BvbnNlLCBpbml0aWF0aW9uVGltZSwgZmluaXNo
VGltZSwgcmVxdWVzdGluZ0RvY3VtZW50KSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcoaW5pdGlhdG9yVHlwZSwgcmVxdWVzdCwgcmVzcG9u
c2UsIGluaXRpYXRpb25UaW1lLCBmaW5pc2hUaW1lLCByZXF1ZXN0aW5nRG9jdW1lbnQpKTsKICAg
ICB9CiAKICAgICBBdG9taWNTdHJpbmcgaW5pdGlhdG9yVHlwZSgpIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5oCmluZGV4IGI2MTRmMTM5NTA5MmQzZTEwY2FlZGMz
NzNhYTZlOGQ3ODIwMTk3ZWQuLmU1NDE4OGE1ODM4NzY4NjMzZWRlOTMzNzRmMDY2N2I5MTVlNTk2
MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmgKQEAgLTQ3LDcgKzQ3
LDcgQEAgY2xhc3MgUmVzb3VyY2VMb2FkVGltaW5nOwogCiBjbGFzcyBQZXJmb3JtYW5jZVRpbWlu
ZyA6IHB1YmxpYyBSZWZDb3VudGVkPFBlcmZvcm1hbmNlVGltaW5nPiwgcHVibGljIERPTVdpbmRv
d1Byb3BlcnR5IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxQZXJmb3JtYW5jZVRp
bWluZz4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFBlcmZvcm1h
bmNlVGltaW5nKGZyYW1lKSk7IH0KKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlVGltaW5nPiBj
cmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFBlcmZvcm1hbmNlVGlt
aW5nKGZyYW1lKSk7IH0KIAogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBuYXZpZ2F0aW9uU3RhcnQo
KSBjb25zdDsKICAgICB1bnNpZ25lZCBsb25nIGxvbmcgdW5sb2FkRXZlbnRTdGFydCgpIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVVzZXJUaW1pbmcu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VVc2VyVGltaW5nLmgKaW5kZXggMTRj
OGMzZjliMWNjYmU0NWFmZWMwODE0MTRjMWYwMDg3NmYwMDUwNy4uYWEyM2ZkZWMyNDdjMWVjOWRm
MTY1NDczZmNkZjY4MWEyMzhlZDhjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZVVzZXJUaW1pbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlVXNlclRpbWluZy5oCkBAIC00OCw3ICs0OCw3IEBAIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcs
IFZlY3RvcjxSZWZQdHI8UGVyZm9ybWFuY2VFbnRyeT4gPiA+IFBlcmZvcm1hbmNlRW50cnlNYXA7
CiAKIGNsYXNzIFVzZXJUaW1pbmcgOiBwdWJsaWMgUmVmQ291bnRlZDxVc2VyVGltaW5nPiB7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8VXNlclRpbWluZz4gY3JlYXRlKFBlcmZvcm1h
bmNlKiBwZXJmb3JtYW5jZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFVzZXJUaW1pbmcocGVyZm9y
bWFuY2UpKTsgfQorICAgIHN0YXRpYyBSZWY8VXNlclRpbWluZz4gY3JlYXRlKFBlcmZvcm1hbmNl
KiBwZXJmb3JtYW5jZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBVc2VyVGltaW5nKHBlcmZvcm1h
bmNlKSk7IH0KIAogICAgIHZvaWQgbWFyayhjb25zdCBTdHJpbmcmIG1hcmtOYW1lLCBFeGNlcHRp
b25Db2RlJik7CiAgICAgdm9pZCBjbGVhck1hcmtzKGNvbnN0IFN0cmluZyYgbWFya05hbWUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JlZW4uaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2NyZWVuLmgKaW5kZXggOTQ3MmUxMTk3ZTk2NjVlMDBkZTgwZjM5NDk0YzI0MTRhMDMy
ZGE1Zi4uMGVkY2QxYWNkY2I3N2EwMWU1ZDdkZjkxOTg4MTQzNDI3NGJjODQxNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TY3JlZW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NjcmVlbi5oCkBAIC00MSw3ICs0MSw3IEBAIGNsYXNzIEZyYW1lOwogCiBjbGFzcyBTY3JlZW4g
ZmluYWwgOiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlLCBwdWJsaWMgUmVmQ291bnRlZDxTY3JlZW4+
LCBwdWJsaWMgRE9NV2luZG93UHJvcGVydHkgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFNjcmVlbj4gY3JlYXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNj
cmVlbihmcmFtZSkpOyB9CisgICAgc3RhdGljIFJlZjxTY3JlZW4+IGNyZWF0ZShGcmFtZSogZnJh
bWUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2NyZWVuKGZyYW1lKSk7IH0KIAogICAgIHVuc2ln
bmVkIGhlaWdodCgpIGNvbnN0OwogICAgIHVuc2lnbmVkIHdpZHRoKCkgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuY3BwCmluZGV4IDFmMGQ3MWIyZjRkMGZmNjhiNDE2YWI0N2RhZDNiNmY1YWVl
ZjU3NzAuLjc4MTU4OWEyMDViMTRjOTBhZmYxMDI4ODk3MjI2YTllMmZhYzRlMDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0yMTMsOSArMjEzLDkgQEAgU2V0dGluZ3M6On5TZXR0aW5n
cygpCiB7CiB9CiAKLVBhc3NSZWZQdHI8U2V0dGluZ3M+IFNldHRpbmdzOjpjcmVhdGUoUGFnZSog
cGFnZSkKK1JlZjxTZXR0aW5ncz4gU2V0dGluZ3M6OmNyZWF0ZShQYWdlKiBwYWdlKQogewotICAg
IHJldHVybiBhZG9wdFJlZihuZXcgU2V0dGluZ3MocGFnZSkpOworICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFNldHRpbmdzKHBhZ2UpKTsKIH0KIAogU0VUVElOR1NfU0VUVEVSX0JPRElFUwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5oCmluZGV4IDU0MTE1ZjkzMDJjZWI5ZTM4Y2M0NzIzNWIyMmUzNzlhOTQ5
MWFkZDIuLjhlMGI1Mjk5NjEwOTI0NjliYzAzOGU4ZTNmMmY0OTNiYWMwNWVjMWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmgKQEAgLTcxLDcgKzcxLDcgQEAgdHlwZWRlZiB1bnNpZ25lZCBEZWJ1Z092
ZXJsYXlSZWdpb25zOwogY2xhc3MgU2V0dGluZ3MgOiBwdWJsaWMgUmVmQ291bnRlZDxTZXR0aW5n
cz4gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNldHRpbmdzKTsgV1RGX01BS0VfRkFTVF9B
TExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U2V0dGluZ3M+IGNyZWF0
ZShQYWdlKik7CisgICAgc3RhdGljIFJlZjxTZXR0aW5ncz4gY3JlYXRlKFBhZ2UqKTsKICAgICB+
U2V0dGluZ3MoKTsKIAogICAgIHZvaWQgcGFnZURlc3Ryb3llZCgpIHsgbV9wYWdlID0gbnVsbHB0
cjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9UZXh0SW5kaWNhdG9yLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvVGV4dEluZGljYXRvci5jcHAKaW5kZXggOWYxMzY0ZDMzOTA5
ZGI2YTc5ZmI1MDE0ODAyMDhkMzY1ZmMwNDU3YS4uNDg2MmU0NzliNzZhZTVlYjA5YTVlOGQ2ZGY4
MjBiY2ZmNTNiNDViOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9UZXh0SW5kaWNh
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1RleHRJbmRpY2F0b3IuY3BwCkBAIC04
NSwxMiArODUsMTIgQEAgc3RhdGljIGJvb2wgdGV4dEluZGljYXRvcnNGb3JUZXh0UmVjdHNPdmVy
bGFwKGNvbnN0IFZlY3RvcjxGbG9hdFJlY3Q+JiB0ZXh0UmVjdHMKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKLVBhc3NSZWZQdHI8VGV4dEluZGljYXRvcj4gVGV4dEluZGljYXRvcjo6Y3JlYXRlKGNv
bnN0IFRleHRJbmRpY2F0b3JEYXRhJiBkYXRhKQorUmVmPFRleHRJbmRpY2F0b3I+IFRleHRJbmRp
Y2F0b3I6OmNyZWF0ZShjb25zdCBUZXh0SW5kaWNhdG9yRGF0YSYgZGF0YSkKIHsKLSAgICByZXR1
cm4gYWRvcHRSZWYobmV3IFRleHRJbmRpY2F0b3IoZGF0YSkpOworICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFRleHRJbmRpY2F0b3IoZGF0YSkpOwogfQogCi1QYXNzUmVmUHRyPFRleHRJbmRpY2F0
b3I+IFRleHRJbmRpY2F0b3I6OmNyZWF0ZVdpdGhSYW5nZShjb25zdCBSYW5nZSYgcmFuZ2UsIFRl
eHRJbmRpY2F0b3JQcmVzZW50YXRpb25UcmFuc2l0aW9uIHByZXNlbnRhdGlvblRyYW5zaXRpb24p
CitSZWZQdHI8VGV4dEluZGljYXRvcj4gVGV4dEluZGljYXRvcjo6Y3JlYXRlV2l0aFJhbmdlKGNv
bnN0IFJhbmdlJiByYW5nZSwgVGV4dEluZGljYXRvclByZXNlbnRhdGlvblRyYW5zaXRpb24gcHJl
c2VudGF0aW9uVHJhbnNpdGlvbikKIHsKICAgICBGcmFtZSogZnJhbWUgPSByYW5nZS5zdGFydENv
bnRhaW5lcigpLT5kb2N1bWVudCgpLmZyYW1lKCk7CiAKQEAgLTEwOSw3ICsxMDksNyBAQCBQYXNz
UmVmUHRyPFRleHRJbmRpY2F0b3I+IFRleHRJbmRpY2F0b3I6OmNyZWF0ZVdpdGhSYW5nZShjb25z
dCBSYW5nZSYgcmFuZ2UsIFRleAogCiAvLyBGSVhNRSAoMTM4ODg5KTogSWRlYWxseSB0aGUgRnJh
bWVTbmFwc2hvdHRpbmcgZnVuY3Rpb25zIHdvdWxkIGJlIG1vcmUgZmxleGlibGUKIC8vIGFuZCB3
ZSB3b3VsZG4ndCBoYXZlIHRvIGltcGxlbWVudCB0aGlzIGhlcmUuCi1zdGF0aWMgUGFzc1JlZlB0
cjxJbWFnZT4gc25hcHNob3RTZWxlY3Rpb25XaXRoSGlnaGxpZ2h0KEZyYW1lJiBmcmFtZSkKK3N0
YXRpYyBSZWZQdHI8SW1hZ2U+IHNuYXBzaG90U2VsZWN0aW9uV2l0aEhpZ2hsaWdodChGcmFtZSYg
ZnJhbWUpCiB7CiAgICAgYXV0byYgc2VsZWN0aW9uID0gZnJhbWUuc2VsZWN0aW9uKCk7CiAKQEAg
LTEzMCw3ICsxMzAsNyBAQCBzdGF0aWMgUGFzc1JlZlB0cjxJbWFnZT4gc25hcHNob3RTZWxlY3Rp
b25XaXRoSGlnaGxpZ2h0KEZyYW1lJiBmcmFtZSkKICAgICByZXR1cm4gc25hcHNob3QtPmNvcHlJ
bWFnZShDb3B5QmFja2luZ1N0b3JlLCBVbnNjYWxlZCk7CiB9CiAKLVBhc3NSZWZQdHI8VGV4dElu
ZGljYXRvcj4gVGV4dEluZGljYXRvcjo6Y3JlYXRlV2l0aFNlbGVjdGlvbkluRnJhbWUoRnJhbWUm
IGZyYW1lLCBUZXh0SW5kaWNhdG9yUHJlc2VudGF0aW9uVHJhbnNpdGlvbiBwcmVzZW50YXRpb25U
cmFuc2l0aW9uKQorUmVmUHRyPFRleHRJbmRpY2F0b3I+IFRleHRJbmRpY2F0b3I6OmNyZWF0ZVdp
dGhTZWxlY3Rpb25JbkZyYW1lKEZyYW1lJiBmcmFtZSwgVGV4dEluZGljYXRvclByZXNlbnRhdGlv
blRyYW5zaXRpb24gcHJlc2VudGF0aW9uVHJhbnNpdGlvbikKIHsKICAgICBJbnRSZWN0IHNlbGVj
dGlvblJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KGZyYW1lLnNlbGVjdGlvbigpLnNlbGVjdGlvbkJv
dW5kcygpKTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IGluZGljYXRvckJ1ZmZl
ciA9IHNuYXBzaG90U2VsZWN0aW9uKGZyYW1lLCBTbmFwc2hvdE9wdGlvbnNGb3JjZUJsYWNrVGV4
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1RleHRJbmRpY2F0b3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvVGV4dEluZGljYXRvci5oCmluZGV4IGM2NjRmYjYyZTgyMjRlMTBh
NmY1Y2Y1YWEwNTQzMGZjNjQ2YjdmODcuLmM2YzlmZmJkZDYzNTJkMjMzZDg1NjRjMjllYWMwZmMy
MTIxMzA4YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVGV4dEluZGljYXRvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVGV4dEluZGljYXRvci5oCkBAIC04MSw5ICs4MSw5
IEBAIHN0cnVjdCBUZXh0SW5kaWNhdG9yRGF0YSB7CiAKIGNsYXNzIFRleHRJbmRpY2F0b3IgOiBw
dWJsaWMgUmVmQ291bnRlZDxUZXh0SW5kaWNhdG9yPiB7CiBwdWJsaWM6Ci0gICAgV0VCQ09SRV9F
WFBPUlQgc3RhdGljIFBhc3NSZWZQdHI8VGV4dEluZGljYXRvcj4gY3JlYXRlKGNvbnN0IFRleHRJ
bmRpY2F0b3JEYXRhJik7Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFBhc3NSZWZQdHI8VGV4
dEluZGljYXRvcj4gY3JlYXRlV2l0aFNlbGVjdGlvbkluRnJhbWUoRnJhbWUmLCBUZXh0SW5kaWNh
dG9yUHJlc2VudGF0aW9uVHJhbnNpdGlvbik7Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFBh
c3NSZWZQdHI8VGV4dEluZGljYXRvcj4gY3JlYXRlV2l0aFJhbmdlKGNvbnN0IFJhbmdlJiwgVGV4
dEluZGljYXRvclByZXNlbnRhdGlvblRyYW5zaXRpb24pOworICAgIFdFQkNPUkVfRVhQT1JUIHN0
YXRpYyBSZWY8VGV4dEluZGljYXRvcj4gY3JlYXRlKGNvbnN0IFRleHRJbmRpY2F0b3JEYXRhJik7
CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZlB0cjxUZXh0SW5kaWNhdG9yPiBjcmVhdGVX
aXRoU2VsZWN0aW9uSW5GcmFtZShGcmFtZSYsIFRleHRJbmRpY2F0b3JQcmVzZW50YXRpb25UcmFu
c2l0aW9uKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmUHRyPFRleHRJbmRpY2F0b3I+
IGNyZWF0ZVdpdGhSYW5nZShjb25zdCBSYW5nZSYsIFRleHRJbmRpY2F0b3JQcmVzZW50YXRpb25U
cmFuc2l0aW9uKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIH5UZXh0SW5kaWNhdG9yKCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlckNvbnRlbnRDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlckNvbnRlbnRDb250cm9sbGVyLmNwcAppbmRleCAzZDY0
OTRjYTJlM2FjMzFmNjRjZWU0ZDQ5MDExNTQwOWVkYzExZGJiLi5lZWE5NTFhMjM2ZGRiMTNjZGEx
MDg1Mzc2YzliZTRhZjc4YzM2YjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Vz
ZXJDb250ZW50Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyQ29u
dGVudENvbnRyb2xsZXIuY3BwCkBAIC00NSw5ICs0NSw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotUmVmUHRyPFVzZXJDb250ZW50Q29udHJvbGxlcj4gVXNlckNvbnRlbnRDb250cm9sbGVy
OjpjcmVhdGUoKQorUmVmPFVzZXJDb250ZW50Q29udHJvbGxlcj4gVXNlckNvbnRlbnRDb250cm9s
bGVyOjpjcmVhdGUoKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgVXNlckNvbnRlbnRDb250
cm9sbGVyKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBVc2VyQ29udGVudENvbnRyb2xsZXIp
OwogfQogCiBVc2VyQ29udGVudENvbnRyb2xsZXI6OlVzZXJDb250ZW50Q29udHJvbGxlcigpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJDb250ZW50Q29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyQ29udGVudENvbnRyb2xsZXIuaAppbmRleCA2NjMwMTRl
OWU2NTFlODEwMWQ2NmZjODhkM2YxZGIzYmU0MWIxZDFmLi5kOTc5N2VhNmU2OTk3ZDAyZjZjYjdi
MDA4OTNmYzVhYzZiYjVmYWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJD
b250ZW50Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlckNvbnRlbnRD
b250cm9sbGVyLmgKQEAgLTYwLDcgKzYwLDcgQEAgc3RydWN0IEFjdGlvbjsKIAogY2xhc3MgVXNl
ckNvbnRlbnRDb250cm9sbGVyIDogcHVibGljIFJlZkNvdW50ZWQ8VXNlckNvbnRlbnRDb250cm9s
bGVyPiB7CiBwdWJsaWM6Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZlB0cjxVc2VyQ29u
dGVudENvbnRyb2xsZXI+IGNyZWF0ZSgpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWY8
VXNlckNvbnRlbnRDb250cm9sbGVyPiBjcmVhdGUoKTsKICAgICBXRUJDT1JFX0VYUE9SVCB+VXNl
ckNvbnRlbnRDb250cm9sbGVyKCk7CiAKICAgICB2b2lkIGFkZFBhZ2UoUGFnZSYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3IuaAppbmRl
eCA2NDRiYWU3ODYyYmFjNDM4MTYyOThlMzhhOGI5ZjA0MTM1ZGI5OWE0Li40NGRiM2FmOGI2MGIy
ZGNmNzVhZTM3ZTEwYjBjMmY3MTEwOTFiMjIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1VzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1VzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3IuaApAQCAtNDgsOSArNDgsOSBAQCBwdWJs
aWM6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRQb3N0TWVzc2FnZShVc2VyTWVzc2FnZUhhbmRs
ZXImLCBTZXJpYWxpemVkU2NyaXB0VmFsdWUqKSA9IDA7CiAgICAgfTsKIAotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3I+IGNyZWF0ZShjb25zdCBBdG9t
aWNTdHJpbmcmIG5hbWUsIERPTVdyYXBwZXJXb3JsZCYgd29ybGQsIENsaWVudCYgY2xpZW50KQor
ICAgIHN0YXRpYyBSZWY8VXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvcj4gY3JlYXRlKGNvbnN0
IEF0b21pY1N0cmluZyYgbmFtZSwgRE9NV3JhcHBlcldvcmxkJiB3b3JsZCwgQ2xpZW50JiBjbGll
bnQpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFVzZXJNZXNzYWdlSGFuZGxl
ckRlc2NyaXB0b3IobmFtZSwgd29ybGQsIGNsaWVudCkpOworICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBVc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yKG5hbWUsIHdvcmxkLCBjbGllbnQp
KTsKICAgICB9CiAgICAgV0VCQ09SRV9FWFBPUlQgflVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0
b3IoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyTWVzc2FnZUhhbmRs
ZXJzTmFtZXNwYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlcnNO
YW1lc3BhY2UuaAppbmRleCAzNmY5YjJkZDBmZjI4N2YzZWY5MzNiNTUzMjUzZjFhYzFlOTQzMjA1
Li40ZWVjYjUwM2JjMWE0YWEyYjI0ZjljM2M5N2NlZTJmMzc3YTE4MWE5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlcnNOYW1lc3BhY2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlcnNOYW1lc3BhY2UuaApAQCAtMzAs
NyArMzAsNiBAQAogCiAjaW5jbHVkZSAiRnJhbWVEZXN0cnVjdGlvbk9ic2VydmVyLmgiCiAjaW5j
bHVkZSAiVXNlck1lc3NhZ2VIYW5kbGVyLmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4K
ICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Zp
c2l0ZWRMaW5rU3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlzaXRlZExpbmtTdG9yZS5o
CmluZGV4IDNlNDcwM2M5NDVlODM3ZDMxYjZmOGI2NDM2YWQ2OTIyYjEzY2M1MmUuLjQ1OTRhNTky
ZThkNmQ1YTk4ZjcwNGZjMDY1NzZmYmEyYzA1ZDhlMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvVmlzaXRlZExpbmtTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlz
aXRlZExpbmtTdG9yZS5oCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlIDx3dGYvRm9yd2Fy
ZC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dlYktpdE5hbWVzcGFjZS5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9XZWJLaXROYW1lc3BhY2UuaAppbmRleCA2NThkMGUxNTE4ZGM0ZTI1MTNi
YWRjYWNhNjE5MzkxNzA3NTJlNTEwLi5mODVmNDE5MDNjZmQ0NWFkZTlmMzA3ZmVjM2Q4OTIzOTZm
MGM5OWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dlYktpdE5hbWVzcGFjZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2ViS2l0TmFtZXNwYWNlLmgKQEAgLTI5LDcgKzI5
LDYgQEAKICNpZiBFTkFCTEUoVVNFUl9NRVNTQUdFX0hBTkRMRVJTKQogCiAjaW5jbHVkZSAiRE9N
V2luZG93UHJvcGVydHkuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCkBAIC00MCw5ICszOSw5
IEBAIGNsYXNzIFVzZXJNZXNzYWdlSGFuZGxlcnNOYW1lc3BhY2U7CiAKIGNsYXNzIFdlYktpdE5h
bWVzcGFjZSA6IHB1YmxpYyBET01XaW5kb3dQcm9wZXJ0eSwgcHVibGljIFJlZkNvdW50ZWQ8V2Vi
S2l0TmFtZXNwYWNlPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViS2l0TmFt
ZXNwYWNlPiBjcmVhdGUoRnJhbWUmIGZyYW1lKQorICAgIHN0YXRpYyBSZWY8V2ViS2l0TmFtZXNw
YWNlPiBjcmVhdGUoRnJhbWUmIGZyYW1lKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBXZWJLaXROYW1lc3BhY2UoZnJhbWUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgV2ViS2l0TmFtZXNwYWNlKGZyYW1lKSk7CiAgICAgfQogCiAgICAgdmlydHVhbCB+V2ViS2l0
TmFtZXNwYWNlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dlYktpdFBvaW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dlYktpdFBvaW50LmgKaW5kZXggNDAwNDcyNDc2NDk3
ZGRiZTg3OTczMGRiOWRiZTY3ZTkzZGQwZThkMy4uNjRmZmFlZDRiZjE3M2ZlMjExOTU3Zjc5MDc5
Y2I5ZTllZjI1NGMwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9XZWJLaXRQb2lu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2ViS2l0UG9pbnQuaApAQCAtMzQsMTMgKzM0
LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBXZWJLaXRQb2ludCA6IHB1Ymxp
YyBSZWZDb3VudGVkPFdlYktpdFBvaW50PiB7CiAgICAgcHVibGljOgogCi0gICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFdlYktpdFBvaW50PiBjcmVhdGUoKQorICAgICAgICBzdGF0aWMgUmVmPFdl
YktpdFBvaW50PiBjcmVhdGUoKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFdlYktpdFBvaW50KCkpOworICAgICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
V2ViS2l0UG9pbnQpOwogICAgICAgICB9Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYktp
dFBvaW50PiBjcmVhdGUoZmxvYXQgeCwgZmxvYXQgeSkKKyAgICAgICAgc3RhdGljIFJlZjxXZWJL
aXRQb2ludD4gY3JlYXRlKGZsb2F0IHgsIGZsb2F0IHkpCiAgICAgICAgIHsKLSAgICAgICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgV2ViS2l0UG9pbnQoeCwgeSkpOworICAgICAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgV2ViS2l0UG9pbnQoeCwgeSkpOwogICAgICAgICB9CiAKICAgICAg
ICAgZmxvYXQgeCgpIGNvbnN0IHsgcmV0dXJuIG1feDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Xb3JrZXJOYXZpZ2F0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV29ya2Vy
TmF2aWdhdG9yLmgKaW5kZXggY2ZmMDdhZTcwODk5ZmZiYjA5NTBjNGIzOWE1MWI5OGY3MDNjODg4
OC4uM2FlZWFhYjhjNDBjNTA2MmEwNjA0OTRjODAyYTU4YThiNzk4ZTYwNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9Xb3JrZXJOYXZpZ2F0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1dvcmtlck5hdmlnYXRvci5oCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgV29ya2VyTmF2aWdhdG9yIDogcHVibGljIE5hdmlnYXRvckJhc2UsIHB1
YmxpYyBSZWZDb3VudGVkPFdvcmtlck5hdmlnYXRvcj4sIHB1YmxpYyBTdXBwbGVtZW50YWJsZTxX
b3JrZXJOYXZpZ2F0b3I+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXb3JrZXJO
YXZpZ2F0b3I+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IFdvcmtlck5hdmlnYXRvcih1c2VyQWdlbnQpKTsgfQorICAgIHN0YXRpYyBSZWY8V29y
a2VyTmF2aWdhdG9yPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQpIHsgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgV29ya2VyTmF2aWdhdG9yKHVzZXJBZ2VudCkpOyB9CiAgICAgdmlydHVhbCB+
V29ya2VyTmF2aWdhdG9yKCk7CiAKICAgICB2aXJ0dWFsIFN0cmluZyB1c2VyQWdlbnQoKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5p
bWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlv
bi5oCmluZGV4IDE2ZDY3MDJkNjQ1NzE5MzY4NmQyZDMyZWEyMDgyOGU2N2E4ZWI4MDkuLmMzNDI1
OTc1NzhmNGZmNWE1ODY2MmEzOGMyMzgyN2JhMWYwYTc5MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uaApAQCAtNDEsOSArNDEsOSBA
QCBjbGFzcyBSZW5kZXJFbGVtZW50OwogLy8gZm9yIGEgc2luZ2xlIFJlbmRlckVsZW1lbnQuCiBj
bGFzcyBJbXBsaWNpdEFuaW1hdGlvbiA6IHB1YmxpYyBBbmltYXRpb25CYXNlIHsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbXBsaWNpdEFuaW1hdGlvbj4gY3JlYXRlKEFuaW1hdGlv
biYgYW5pbWF0aW9uLCBDU1NQcm9wZXJ0eUlEIGFuaW1hdGluZ1Byb3BlcnR5LCBSZW5kZXJFbGVt
ZW50KiByZW5kZXJlciwgQ29tcG9zaXRlQW5pbWF0aW9uKiBjb21wb3NpdGVBbmltYXRpb24sIFJl
bmRlclN0eWxlKiBmcm9tU3R5bGUpCisgICAgc3RhdGljIFJlZjxJbXBsaWNpdEFuaW1hdGlvbj4g
Y3JlYXRlKEFuaW1hdGlvbiYgYW5pbWF0aW9uLCBDU1NQcm9wZXJ0eUlEIGFuaW1hdGluZ1Byb3Bl
cnR5LCBSZW5kZXJFbGVtZW50KiByZW5kZXJlciwgQ29tcG9zaXRlQW5pbWF0aW9uKiBjb21wb3Np
dGVBbmltYXRpb24sIFJlbmRlclN0eWxlKiBmcm9tU3R5bGUpCiAgICAgewotICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IEltcGxpY2l0QW5pbWF0aW9uKGFuaW1hdGlvbiwgYW5pbWF0aW5nUHJv
cGVydHksIHJlbmRlcmVyLCBjb21wb3NpdGVBbmltYXRpb24sIGZyb21TdHlsZSkpOworICAgICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBJbXBsaWNpdEFuaW1hdGlvbihhbmltYXRpb24sIGFuaW1h
dGluZ1Byb3BlcnR5LCByZW5kZXJlciwgY29tcG9zaXRlQW5pbWF0aW9uLCBmcm9tU3R5bGUpKTsK
ICAgICB9OwogICAgIAogICAgIENTU1Byb3BlcnR5SUQgdHJhbnNpdGlvblByb3BlcnR5KCkgY29u
c3QgeyByZXR1cm4gbV90cmFuc2l0aW9uUHJvcGVydHk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5oCmluZGV4IGU0MzI0M2MzMTJmZDIx
Y2IwMDMzNTg1ZmYwYzRkODQ2NWUyYjJmZjIuLjMyODQwNGI1YmE2OGVkNWU4NzcyMjk2YTk4NWE0
NmM2YjBhOTgyMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0tl
eWZyYW1lQW5pbWF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5
ZnJhbWVBbmltYXRpb24uaApAQCAtNDAsOSArNDAsOSBAQCBjbGFzcyBSZW5kZXJTdHlsZTsKIC8v
IEEgS2V5ZnJhbWVBbmltYXRpb24gdHJhY2tzIHRoZSBzdGF0ZSBvZiBhbiBleHBsaWNpdCBhbmlt
YXRpb24gZm9yIGEgc2luZ2xlIFJlbmRlckVsZW1lbnQuCiBjbGFzcyBLZXlmcmFtZUFuaW1hdGlv
biBmaW5hbCA6IHB1YmxpYyBBbmltYXRpb25CYXNlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVm
UHRyPEtleWZyYW1lQW5pbWF0aW9uPiBjcmVhdGUoQW5pbWF0aW9uJiBhbmltYXRpb24sIFJlbmRl
ckVsZW1lbnQqIHJlbmRlcmVyLCBpbnQgaW5kZXgsIENvbXBvc2l0ZUFuaW1hdGlvbiogY29tcG9z
aXRlQW5pbWF0aW9uLCBSZW5kZXJTdHlsZSogdW5hbmltYXRlZFN0eWxlKQorICAgIHN0YXRpYyBS
ZWY8S2V5ZnJhbWVBbmltYXRpb24+IGNyZWF0ZShBbmltYXRpb24mIGFuaW1hdGlvbiwgUmVuZGVy
RWxlbWVudCogcmVuZGVyZXIsIGludCBpbmRleCwgQ29tcG9zaXRlQW5pbWF0aW9uKiBjb21wb3Np
dGVBbmltYXRpb24sIFJlbmRlclN0eWxlKiB1bmFuaW1hdGVkU3R5bGUpCiAgICAgewotICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IEtleWZyYW1lQW5pbWF0aW9uKGFuaW1hdGlvbiwgcmVuZGVy
ZXIsIGluZGV4LCBjb21wb3NpdGVBbmltYXRpb24sIHVuYW5pbWF0ZWRTdHlsZSkpOworICAgICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBLZXlmcmFtZUFuaW1hdGlvbihhbmltYXRpb24sIHJlbmRl
cmVyLCBpbmRleCwgY29tcG9zaXRlQW5pbWF0aW9uLCB1bmFuaW1hdGVkU3R5bGUpKTsKICAgICB9
CiAKICAgICB2aXJ0dWFsIGJvb2wgYW5pbWF0ZShDb21wb3NpdGVBbmltYXRpb24qLCBSZW5kZXJF
bGVtZW50KiwgY29uc3QgUmVuZGVyU3R5bGUqIGN1cnJlbnRTdHlsZSwgUmVuZGVyU3R5bGUqIHRh
cmdldFN0eWxlLCBSZWZQdHI8UmVuZGVyU3R5bGU+JiBhbmltYXRlZFN0eWxlKSBvdmVycmlkZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRy
b2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xs
ZXIuaAppbmRleCAzY2U4ZjAxMzEyODAyMGQ2MmNiMDMzZjUwMzhhY2M5MDdhYTRmYWM0Li4wN2Uz
NjJmNThjMGY4MDc2OGI1NDhkOTEzZmJlOWJjMjEzMTU0YWFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oCkBAIC01Nyw4ICs1
Nyw4IEBAIHByaXZhdGU6CiAgICAgY2xhc3MgSGlnaGxpZ2h0IDogcHVibGljIFJlZkNvdW50ZWQ8
SGlnaGxpZ2h0PiwgcHJpdmF0ZSBHcmFwaGljc0xheWVyQ2xpZW50IHsKICAgICAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoSGlnaGxpZ2h0KTsKICAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPEhpZ2hsaWdodD4gY3JlYXRlRm9yU2VsZWN0aW9uKFNlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXImLCBSZXRhaW5QdHI8RERIaWdobGlnaHRSZWY+LCBQYXNzUmVmUHRyPFJhbmdlPik7
Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEhpZ2hsaWdodD4gY3JlYXRlRm9yVGVsZXBob25l
TnVtYmVyKFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXImLCBSZXRhaW5QdHI8RERIaWdobGlnaHRS
ZWY+LCBQYXNzUmVmUHRyPFJhbmdlPik7CisgICAgICAgIHN0YXRpYyBSZWY8SGlnaGxpZ2h0PiBj
cmVhdGVGb3JTZWxlY3Rpb24oU2VydmljZXNPdmVybGF5Q29udHJvbGxlciYsIFJldGFpblB0cjxE
REhpZ2hsaWdodFJlZj4sIFBhc3NSZWZQdHI8UmFuZ2U+KTsKKyAgICAgICAgc3RhdGljIFJlZjxI
aWdobGlnaHQ+IGNyZWF0ZUZvclRlbGVwaG9uZU51bWJlcihTZXJ2aWNlc092ZXJsYXlDb250cm9s
bGVyJiwgUmV0YWluUHRyPERESGlnaGxpZ2h0UmVmPiwgUGFzc1JlZlB0cjxSYW5nZT4pOwogICAg
ICAgICB+SGlnaGxpZ2h0KCk7CiAKICAgICAgICAgdm9pZCBpbnZhbGlkYXRlKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1t
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQpp
bmRleCBlZjkzOWQ1OWM1OTI2NmVjMGE1OTMyYjFiMGJlOTkzNzlmZWRiYWYzLi45Mzk4MjMwZmIw
NzllZjJkYWI5YTdjYzA5MTEyMTIzYTNiODQ0MmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KQEAgLTU1LDE0ICs1NSwx
NCBAQCBjb25zdCBmbG9hdCBoaWdobGlnaHRGYWRlQW5pbWF0aW9uRHVyYXRpb24gPSAwLjM7CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxTZXJ2aWNlc092ZXJsYXlDb250cm9s
bGVyOjpIaWdobGlnaHQ+IFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OkhpZ2hsaWdodDo6Y3Jl
YXRlRm9yU2VsZWN0aW9uKFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXImIGNvbnRyb2xsZXIsIFJl
dGFpblB0cjxEREhpZ2hsaWdodFJlZj4gZGRIaWdobGlnaHQsIFBhc3NSZWZQdHI8UmFuZ2U+IHJh
bmdlKQorUmVmPFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OkhpZ2hsaWdodD4gU2VydmljZXNP
dmVybGF5Q29udHJvbGxlcjo6SGlnaGxpZ2h0OjpjcmVhdGVGb3JTZWxlY3Rpb24oU2VydmljZXNP
dmVybGF5Q29udHJvbGxlciYgY29udHJvbGxlciwgUmV0YWluUHRyPERESGlnaGxpZ2h0UmVmPiBk
ZEhpZ2hsaWdodCwgUGFzc1JlZlB0cjxSYW5nZT4gcmFuZ2UpCiB7Ci0gICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBIaWdobGlnaHQoY29udHJvbGxlciwgVHlwZTo6U2VsZWN0aW9uLCBkZEhpZ2hsaWdo
dCwgcmFuZ2UpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBIaWdobGlnaHQoY29udHJvbGxl
ciwgVHlwZTo6U2VsZWN0aW9uLCBkZEhpZ2hsaWdodCwgcmFuZ2UpKTsKIH0KIAotUGFzc1JlZlB0
cjxTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpIaWdobGlnaHQ+IFNlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXI6OkhpZ2hsaWdodDo6Y3JlYXRlRm9yVGVsZXBob25lTnVtYmVyKFNlcnZpY2VzT3Zl
cmxheUNvbnRyb2xsZXImIGNvbnRyb2xsZXIsIFJldGFpblB0cjxEREhpZ2hsaWdodFJlZj4gZGRI
aWdobGlnaHQsIFBhc3NSZWZQdHI8UmFuZ2U+IHJhbmdlKQorUmVmPFNlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXI6OkhpZ2hsaWdodD4gU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6SGlnaGxpZ2h0
OjpjcmVhdGVGb3JUZWxlcGhvbmVOdW1iZXIoU2VydmljZXNPdmVybGF5Q29udHJvbGxlciYgY29u
dHJvbGxlciwgUmV0YWluUHRyPERESGlnaGxpZ2h0UmVmPiBkZEhpZ2hsaWdodCwgUGFzc1JlZlB0
cjxSYW5nZT4gcmFuZ2UpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBIaWdobGlnaHQoY29u
dHJvbGxlciwgVHlwZTo6VGVsZXBob25lTnVtYmVyLCBkZEhpZ2hsaWdodCwgcmFuZ2UpKTsKKyAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBIaWdobGlnaHQoY29udHJvbGxlciwgVHlwZTo6VGVsZXBo
b25lTnVtYmVyLCBkZEhpZ2hsaWdodCwgcmFuZ2UpKTsKIH0KIAogU2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcjo6SGlnaGxpZ2h0OjpIaWdobGlnaHQoU2VydmljZXNPdmVybGF5Q29udHJvbGxlciYg
Y29udHJvbGxlciwgVHlwZSB0eXBlLCBSZXRhaW5QdHI8RERIaWdobGlnaHRSZWY+IGRkSGlnaGxp
Z2h0LCBQYXNzUmVmUHRyPFdlYkNvcmU6OlJhbmdlPiByYW5nZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRleCBl
MzY3YmYyZDlhNTQ1YTc1NGU4OTAyOTkzNDg1OTc0ODFlNDVhZWIzLi4zMzNhZmM4NzFhNzUzOGY2
ZmIzYmRjNGMzZGJkNDJiM2FlY2ZkYTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCkBAIC01NSwxMyArNTUsMTMg
QEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmICFQTEFURk9STShDT0NPQSkKLVBhc3NSZWZQ
dHI8U2Nyb2xsaW5nQ29vcmRpbmF0b3I+IFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGUoUGFn
ZSogcGFnZSkKK1JlZjxTY3JvbGxpbmdDb29yZGluYXRvcj4gU2Nyb2xsaW5nQ29vcmRpbmF0b3I6
OmNyZWF0ZShQYWdlKiBwYWdlKQogewogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKLSAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ29vcmRpbmF0ZWRHcmFw
aGljcyhwYWdlKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nQ29vcmRpbmF0
b3JDb29yZGluYXRlZEdyYXBoaWNzKHBhZ2UpKTsKICNlbmRpZgogCi0gICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBTY3JvbGxpbmdDb29yZGluYXRvcihwYWdlKSk7CisgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgU2Nyb2xsaW5nQ29vcmRpbmF0b3IocGFnZSkpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCmlu
ZGV4IDdiZTBhM2RhMTI5Njk1YWQzMzMzNDg5Mzk5MWQyYWQ3ODE2NmQ0YjQuLjA3YzYwN2FjZGRi
ZjBkMDgwYzJkZTU4YzBmOTA1NzNiYjU3YTMzMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaApAQCAtMTA2LDcgKzEwNiw3
IEBAIHN0cnVjdCBTY3JvbGxhYmxlQXJlYVBhcmFtZXRlcnMgewogCiBjbGFzcyBTY3JvbGxpbmdD
b29yZGluYXRvciA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxTY3JvbGxpbmdDb29yZGlu
YXRvcj4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcm9sbGluZ0Nvb3JkaW5h
dG9yPiBjcmVhdGUoUGFnZSopOworICAgIHN0YXRpYyBSZWY8U2Nyb2xsaW5nQ29vcmRpbmF0b3I+
IGNyZWF0ZShQYWdlKik7CiAgICAgdmlydHVhbCB+U2Nyb2xsaW5nQ29vcmRpbmF0b3IoKTsKIAog
ICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgdm9pZCBwYWdlRGVzdHJveWVkKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9k
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVk
Tm9kZS5jcHAKaW5kZXggZTNhZGU1MmExZDk0OTZiNTIxZTAxNDNkMWY5Yzk2YjI5OWIyYjkzZi4u
Y2NkYzgzMmEwYzA3MDQ1MDNjYmNlNTk5NjcxZjljNDZhMTkzMTE5YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2Rl
LmNwcApAQCAtMzQsOSArMzQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQ
dHI8U2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU+IFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlOjpjcmVh
dGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBzdGF0ZVRyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQp
CitSZWY8U2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU+IFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlOjpj
cmVhdGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBzdGF0ZVRyZWUsIFNjcm9sbGluZ05vZGVJRCBub2Rl
SUQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZShz
dGF0ZVRyZWUsIG5vZGVJRCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNjcm9sbGluZ1N0
YXRlRml4ZWROb2RlKHN0YXRlVHJlZSwgbm9kZUlEKSk7CiB9CiAKIFNjcm9sbGluZ1N0YXRlRml4
ZWROb2RlOjpTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZShTY3JvbGxpbmdTdGF0ZVRyZWUmIHRyZWUs
IFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCkBAIC01NCw5ICs1NCw5IEBAIFNjcm9sbGluZ1N0YXRl
Rml4ZWROb2RlOjp+U2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUoKQogewogfQogCi1QYXNzUmVmUHRy
PFNjcm9sbGluZ1N0YXRlTm9kZT4gU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU6OmNsb25lKFNjcm9s
bGluZ1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVlKQorUmVmPFNjcm9sbGluZ1N0YXRlTm9kZT4gU2Ny
b2xsaW5nU3RhdGVGaXhlZE5vZGU6OmNsb25lKFNjcm9sbGluZ1N0YXRlVHJlZSYgYWRvcHRpdmVU
cmVlKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUo
KnRoaXMsIGFkb3B0aXZlVHJlZSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNjcm9sbGlu
Z1N0YXRlRml4ZWROb2RlKCp0aGlzLCBhZG9wdGl2ZVRyZWUpKTsKIH0KIAogdm9pZCBTY3JvbGxp
bmdTdGF0ZUZpeGVkTm9kZTo6dXBkYXRlQ29uc3RyYWludHMoY29uc3QgRml4ZWRQb3NpdGlvblZp
ZXdwb3J0Q29uc3RyYWludHMmIGNvbnN0cmFpbnRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmgKaW5kZXggNmQ5ZDY1
NDA1ZTU1MzlhN2I4YjgyNzViOTQ0MTg5NTUxZTY2YWEyNy4uOThjYjBjYTEwNWJjOWJhNTNmOTdk
MjliYjZiZDZhNDE1MTIxMWNmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5oCkBAIC0zOSw5ICszOSw5IEBAIGNs
YXNzIEZpeGVkUG9zaXRpb25WaWV3cG9ydENvbnN0cmFpbnRzOwogCiBjbGFzcyBTY3JvbGxpbmdT
dGF0ZUZpeGVkTm9kZSBmaW5hbCA6IHB1YmxpYyBTY3JvbGxpbmdTdGF0ZU5vZGUgewogcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlPiBjcmVhdGUo
U2Nyb2xsaW5nU3RhdGVUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKKyAgICBzdGF0aWMgUmVmPFNj
cm9sbGluZ1N0YXRlRml4ZWROb2RlPiBjcmVhdGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiwgU2Nyb2xs
aW5nTm9kZUlEKTsKIAotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0ZU5vZGU+
IGNsb25lKFNjcm9sbGluZ1N0YXRlVHJlZSYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgUmVmPFNj
cm9sbGluZ1N0YXRlTm9kZT4gY2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJikgb3ZlcnJpZGU7CiAK
ICAgICB2aXJ0dWFsIH5TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZSgpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5n
Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZy
YW1lU2Nyb2xsaW5nTm9kZS5jcHAKaW5kZXggMzI2ZDllOGY0YjY1ZjQ2ZTk3MzExNzJjOTQxNzRm
ODg0MGZhOTlkMi4uODUwMzkzNmExYTUxYTU1NzI1ZTVkYzIzM2IxZjdjZWU2NjRmMzQ3ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFt
ZVNjcm9sbGluZ05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmNwcApAQCAtMzMsOSArMzMsOSBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8U2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9s
bGluZ05vZGU+IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlOjpjcmVhdGUoU2Nyb2xs
aW5nU3RhdGVUcmVlJiBzdGF0ZVRyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCitSZWY8U2Ny
b2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU+IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxp
bmdOb2RlOjpjcmVhdGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBzdGF0ZVRyZWUsIFNjcm9sbGluZ05v
ZGVJRCBub2RlSUQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JvbGxpbmdTdGF0ZUZy
YW1lU2Nyb2xsaW5nTm9kZShzdGF0ZVRyZWUsIG5vZGVJRCkpOworICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlKHN0YXRlVHJlZSwgbm9kZUlE
KSk7CiB9CiAKIFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlOjpTY3JvbGxpbmdTdGF0
ZUZyYW1lU2Nyb2xsaW5nTm9kZShTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwgU2Nyb2xs
aW5nTm9kZUlEIG5vZGVJRCkKQEAgLTgzLDkgKzgzLDkgQEAgU2Nyb2xsaW5nU3RhdGVGcmFtZVNj
cm9sbGluZ05vZGU6On5TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZSgpCiB7CiB9CiAK
LVBhc3NSZWZQdHI8U2Nyb2xsaW5nU3RhdGVOb2RlPiBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xs
aW5nTm9kZTo6Y2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRyZWUpCitSZWY8U2Ny
b2xsaW5nU3RhdGVOb2RlPiBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZTo6Y2xvbmUo
U2Nyb2xsaW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRyZWUpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZSgqdGhpcywgYWRvcHRpdmVUcmVl
KSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGlu
Z05vZGUoKnRoaXMsIGFkb3B0aXZlVHJlZSkpOwogfQogCiB2b2lkIFNjcm9sbGluZ1N0YXRlRnJh
bWVTY3JvbGxpbmdOb2RlOjpzZXRGcmFtZVNjYWxlRmFjdG9yKGZsb2F0IHNjYWxlRmFjdG9yKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVG
cmFtZVNjcm9sbGluZ05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmgKaW5kZXggMmFhYThiMGY0Y2U1NjhhOTI0OTNm
MDQ5NzRhN2IyODRkNGQ1MWU2YS4uZDU3ZDFmZDlmNzBhODZjOTJhOTBhZTMxYzc1YTc5NTJmY2Q2
OWNhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
U3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oCkBAIC00MCw5ICs0MCw5IEBA
IGNsYXNzIFNjcm9sbGJhcjsKIAogY2xhc3MgU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05v
ZGUgZmluYWwgOiBwdWJsaWMgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlIHsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZT4g
Y3JlYXRlKFNjcm9sbGluZ1N0YXRlVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CisgICAgc3RhdGlj
IFJlZjxTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZT4gY3JlYXRlKFNjcm9sbGluZ1N0
YXRlVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CiAKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2Ny
b2xsaW5nU3RhdGVOb2RlPiBjbG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUmKSBvdmVycmlkZTsKKyAg
ICB2aXJ0dWFsIFJlZjxTY3JvbGxpbmdTdGF0ZU5vZGU+IGNsb25lKFNjcm9sbGluZ1N0YXRlVHJl
ZSYpIG92ZXJyaWRlOwogCiAgICAgdmlydHVhbCB+U2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGlu
Z05vZGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZU5vZGUuaAppbmRleCA4Y2I2ZWQ4MjI0YzQ4YTkwNjFmMDA2YWQxYjVlY2FiMTNkY2Jj
ZTZlLi5hY2I2MDFjOWU4ODZkNmZmYzJjMDY4MWEwZDExYmIyOTZkZTUyZjJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuaApAQCAt
MTk3LDcgKzE5Nyw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzRnJhbWVTY3JvbGxpbmdOb2RlKCkg
Y29uc3QgeyByZXR1cm4gbV9ub2RlVHlwZSA9PSBGcmFtZVNjcm9sbGluZ05vZGU7IH0KICAgICBi
b29sIGlzT3ZlcmZsb3dTY3JvbGxpbmdOb2RlKCkgY29uc3QgeyByZXR1cm4gbV9ub2RlVHlwZSA9
PSBPdmVyZmxvd1Njcm9sbGluZ05vZGU7IH0KIAotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTY3Jv
bGxpbmdTdGF0ZU5vZGU+IGNsb25lKFNjcm9sbGluZ1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVlKSA9
IDA7CisgICAgdmlydHVhbCBSZWY8U2Nyb2xsaW5nU3RhdGVOb2RlPiBjbG9uZShTY3JvbGxpbmdT
dGF0ZVRyZWUmIGFkb3B0aXZlVHJlZSkgPSAwOwogICAgIFBhc3NSZWZQdHI8U2Nyb2xsaW5nU3Rh
dGVOb2RlPiBjbG9uZUFuZFJlc2V0KFNjcm9sbGluZ1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVlKTsK
ICAgICB2b2lkIGNsb25lQW5kUmVzZXRDaGlsZHJlbihTY3JvbGxpbmdTdGF0ZU5vZGUmLCBTY3Jv
bGxpbmdTdGF0ZVRyZWUmIGFkb3B0aXZlVHJlZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlLmNwcAppbmRleCBlMzRjY2FjYWFiZDNlZWJjNDgzNzYxY2E5YjEyZGMyM2I1
OGJlMzE5Li44NGQyNWVmMGI5NTFjM2EyYjI4M2ZjOWY5OTg0YWM1MTAyNjMyYTljIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93
U2Nyb2xsaW5nTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuY3BwCkBAIC0zMyw5ICszMyw5IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0ZU92ZXJmbG93
U2Nyb2xsaW5nTm9kZT4gU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmNyZWF0
ZShTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkK
K1JlZjxTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZT4gU2Nyb2xsaW5nU3RhdGVP
dmVyZmxvd1Njcm9sbGluZ05vZGU6OmNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJl
ZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNj
cm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlKHN0YXRlVHJlZSwgbm9kZUlEKSk7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05v
ZGUoc3RhdGVUcmVlLCBub2RlSUQpKTsKIH0KIAogU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9s
bGluZ05vZGU6OlNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlKFNjcm9sbGluZ1N0
YXRlVHJlZSYgc3RhdGVUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQpAQCAtNTQsOSArNTQs
OSBAQCBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6flNjcm9sbGluZ1N0YXRl
T3ZlcmZsb3dTY3JvbGxpbmdOb2RlKCkKIHsKIH0KIAotUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0
ZU5vZGU+IFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOjpjbG9uZShTY3JvbGxp
bmdTdGF0ZVRyZWUmIGFkb3B0aXZlVHJlZSkKK1JlZjxTY3JvbGxpbmdTdGF0ZU5vZGU+IFNjcm9s
bGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOjpjbG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUm
IGFkb3B0aXZlVHJlZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9sbGluZ1N0YXRl
T3ZlcmZsb3dTY3JvbGxpbmdOb2RlKCp0aGlzLCBhZG9wdGl2ZVRyZWUpKTsKKyAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZSgqdGhpcywg
YWRvcHRpdmVUcmVlKSk7CiB9CiAgICAgCiB2b2lkIFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlOjpzZXRTY3JvbGxlZENvbnRlbnRzTGF5ZXIoY29uc3QgTGF5ZXJSZXByZXNlbnRh
dGlvbiYgbGF5ZXJSZXByZXNlbnRhdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5n
Tm9kZS5oCmluZGV4IDI2MDk2YTIxMWM1Njg5NzcxODhhY2I5ZGNiYmE4YzgzNTUwNjE4YzMuLjcz
YWFhMzk1MmM4ZTdlMTIwMmQ3YzgyZDk3NDc2YzczYWI0OGVjNzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdO
b2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVP
dmVyZmxvd1Njcm9sbGluZ05vZGUuaApAQCAtMzQsOSArMzQsOSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlIDogcHVibGlj
IFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU+IGNyZWF0ZShTY3JvbGxp
bmdTdGF0ZVRyZWUmLCBTY3JvbGxpbmdOb2RlSUQpOworICAgIHN0YXRpYyBSZWY8U2Nyb2xsaW5n
U3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU+IGNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUmLCBT
Y3JvbGxpbmdOb2RlSUQpOwogCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRl
Tm9kZT4gY2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBS
ZWY8U2Nyb2xsaW5nU3RhdGVOb2RlPiBjbG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUmKSBvdmVycmlk
ZTsKIAogICAgIHZpcnR1YWwgflNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlKCk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlU3RpY2t5Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZVN0aWNreU5vZGUuY3BwCmluZGV4IDVlNTJlNjJmN2E2NGQzNDdmZTk5Yzk0NTNjNDY1
YTFjZWRlY2E0YWUuLmNlZTQ3NmU0YWNmY2M0MDgyMjNiNWQzM2Q1Y2ViYTQ0YTVhYjI4ZjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3Rp
Y2t5Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
U3RhdGVTdGlja3lOb2RlLmNwcApAQCAtMzQsOSArMzQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLVBhc3NSZWZQdHI8U2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlPiBTY3JvbGxpbmdTdGF0
ZVN0aWNreU5vZGU6OmNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwgU2Nyb2xs
aW5nTm9kZUlEIG5vZGVJRCkKK1JlZjxTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU+IFNjcm9sbGlu
Z1N0YXRlU3RpY2t5Tm9kZTo6Y3JlYXRlKFNjcm9sbGluZ1N0YXRlVHJlZSYgc3RhdGVUcmVlLCBT
Y3JvbGxpbmdOb2RlSUQgbm9kZUlEKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xs
aW5nU3RhdGVTdGlja3lOb2RlKHN0YXRlVHJlZSwgbm9kZUlEKSk7CisgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlKHN0YXRlVHJlZSwgbm9kZUlEKSk7CiB9
CiAKIFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6U2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlKFNj
cm9sbGluZ1N0YXRlVHJlZSYgdHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKQEAgLTU0LDkg
KzU0LDkgQEAgU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlOjp+U2Nyb2xsaW5nU3RhdGVTdGlja3lO
b2RlKCkKIHsKIH0KIAotUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0ZU5vZGU+IFNjcm9sbGluZ1N0
YXRlU3RpY2t5Tm9kZTo6Y2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRyZWUpCitS
ZWY8U2Nyb2xsaW5nU3RhdGVOb2RlPiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU6OmNsb25lKFNj
cm9sbGluZ1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVlKQogewotICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlKCp0aGlzLCBhZG9wdGl2ZVRyZWUpKTsKKyAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUoKnRoaXMsIGFkb3B0
aXZlVHJlZSkpOwogfQogCiB2b2lkIFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6dXBkYXRlQ29u
c3RyYWludHMoY29uc3QgU3RpY2t5UG9zaXRpb25WaWV3cG9ydENvbnN0cmFpbnRzJiBjb25zdHJh
aW50cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1N0YXRlU3RpY2t5Tm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVTdGlja3lOb2RlLmgKaW5kZXggY2YwNjM5ZDU4ZGE0NjE2M2QyNWJhMTQ2MDk5OTk0
NzE0NWJhZjNiNC4uYzllNzkzNWE0NzhlMDY2NjkyYzJkYmRhYmNlYjA0OWQ2MjQ4MzVhYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlj
a3lOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3Rh
dGVTdGlja3lOb2RlLmgKQEAgLTM5LDkgKzM5LDkgQEAgY2xhc3MgU3RpY2t5UG9zaXRpb25WaWV3
cG9ydENvbnN0cmFpbnRzOwogCiBjbGFzcyBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUgZmluYWwg
OiBwdWJsaWMgU2Nyb2xsaW5nU3RhdGVOb2RlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU+IGNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUm
LCBTY3JvbGxpbmdOb2RlSUQpOworICAgIHN0YXRpYyBSZWY8U2Nyb2xsaW5nU3RhdGVTdGlja3lO
b2RlPiBjcmVhdGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKIAotICAg
IHZpcnR1YWwgUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0ZU5vZGU+IGNsb25lKFNjcm9sbGluZ1N0
YXRlVHJlZSYpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgUmVmPFNjcm9sbGluZ1N0YXRlTm9kZT4g
Y2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJikgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIH5TY3Jv
bGxpbmdTdGF0ZVN0aWNreU5vZGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tCmluZGV4IDZj
YjNmNDNkOGEwZjBjM2I4NTA4MmUzNmE3Mjg0MzYxMjVhYzQ2ZGQuLmIxNTgyMThjZDAwN2ZjZTYx
ZTM3MWExYzRhY2UzYmE1OGQ3YjM1M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0KQEAgLTQ0
LDkgKzQ0LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFNjcm9sbGlu
Z0Nvb3JkaW5hdG9yPiBTY3JvbGxpbmdDb29yZGluYXRvcjo6Y3JlYXRlKFBhZ2UqIHBhZ2UpCitS
ZWY8U2Nyb2xsaW5nQ29vcmRpbmF0b3I+IFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGUoUGFn
ZSogcGFnZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9sbGluZ0Nvb3JkaW5hdG9y
SU9TKHBhZ2UpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdDb29yZGluYXRv
cklPUyhwYWdlKSk7CiB9CiAKIFNjcm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpTY3JvbGxpbmdDb29y
ZGluYXRvcklPUyhQYWdlKiBwYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlSU9TLmgKaW5kZXggM2VhNjM3YmVhOGMxZTM3MWQ4M2ZjODYwMTQyNGU5ZDYwMmJhODdkYi4u
NDI2Y2JjOTQ4NDZhOGZiOTQ2MTZhNTE4ZWMwMWIyYzczZjNmMzgzOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGlu
Z05vZGVJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUy5oCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUyA6
IHB1YmxpYyBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlIHsKIHB1YmxpYzoKLSAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgUGFzc1JlZlB0cjxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxp
bmdOb2RlSU9TPiBjcmVhdGUoU2Nyb2xsaW5nVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CisgICAg
V0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZjxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
SU9TPiBjcmVhdGUoU2Nyb2xsaW5nVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CiAgICAgdmlydHVh
bCB+U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUygpOwogCiBwcm90ZWN0ZWQ6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJl
ZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLm1tCmluZGV4IDVlM2M2ZDgy
NTBmZThmMGNlZWNhNjJkMmQ0NjMzZWM4NTEwNjExZmEuLjU2ODJmNTFkYzE4OGE4MjQ3MGZhMDNh
ODc3NDE5NGY0Y2FjMTMwZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlSU9TLm1tCkBAIC00MCw5ICs0MCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFz
c1JlZlB0cjxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TPiBTY3JvbGxpbmdUcmVl
RnJhbWVTY3JvbGxpbmdOb2RlSU9TOjpjcmVhdGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5nVHJl
ZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKK1JlZjxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxp
bmdOb2RlSU9TPiBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TOjpjcmVhdGUoU2Ny
b2xsaW5nVHJlZSYgc2Nyb2xsaW5nVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKIHsKLSAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1Mo
c2Nyb2xsaW5nVHJlZSwgbm9kZUlEKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUyhzY3JvbGxpbmdUcmVlLCBub2RlSUQpKTsKIH0K
IAogU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUzo6U2Nyb2xsaW5nVHJlZUZyYW1l
U2Nyb2xsaW5nTm9kZUlPUyhTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdO
b2RlSUQgbm9kZUlEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
aW9zL1Njcm9sbGluZ1RyZWVJT1MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
aW9zL1Njcm9sbGluZ1RyZWVJT1MuY3BwCmluZGV4IDEzZjdlYTg1MTM5NDA4MWRiZDEyNTkxZjVk
ZDM0NDZlYzk2OTMxYmIuLjYzMjVhNWY0MmIzNmFjMmYwNDE4ZmVlZjNmNmRiMzQ2YTA3Y2RjODUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdU
cmVlSU9TLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xs
aW5nVHJlZUlPUy5jcHAKQEAgLTQxLDkgKzQxLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1SZWZQdHI8U2Nyb2xsaW5nVHJlZUlPUz4gU2Nyb2xsaW5nVHJlZUlPUzo6Y3JlYXRlKEFzeW5j
U2Nyb2xsaW5nQ29vcmRpbmF0b3IqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yKQorUmVmPFNjcm9sbGlu
Z1RyZWVJT1M+IFNjcm9sbGluZ1RyZWVJT1M6OmNyZWF0ZShBc3luY1Njcm9sbGluZ0Nvb3JkaW5h
dG9yKiBzY3JvbGxpbmdDb29yZGluYXRvcikKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNj
cm9sbGluZ1RyZWVJT1Moc2Nyb2xsaW5nQ29vcmRpbmF0b3IpKTsKKyAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBTY3JvbGxpbmdUcmVlSU9TKHNjcm9sbGluZ0Nvb3JkaW5hdG9yKSk7CiB9CiAKIFNj
cm9sbGluZ1RyZWVJT1M6OlNjcm9sbGluZ1RyZWVJT1MoQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
ciogc2Nyb2xsaW5nQ29vcmRpbmF0b3IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUlPUy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVJT1MuaAppbmRleCBkOTljZTRjNjQzZmNhNDcyMjM3
NTc1MTk0NGM4ZWFiMTZkM2JiZjhlLi5mOTBjYTFkZmYxNDU5NWFlMTlmNTJjNTA4YWI3Yjk2NzU5
MTY2NDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Ny
b2xsaW5nVHJlZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9T
Y3JvbGxpbmdUcmVlSU9TLmgKQEAgLTM5LDcgKzM5LDcgQEAgY2xhc3MgQXN5bmNTY3JvbGxpbmdD
b29yZGluYXRvcjsKIAogY2xhc3MgU2Nyb2xsaW5nVHJlZUlPUyA6IHB1YmxpYyBTY3JvbGxpbmdU
cmVlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPFNjcm9sbGluZ1RyZWVJT1M+IGNyZWF0
ZShBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yKik7CisgICAgc3RhdGljIFJlZjxTY3JvbGxpbmdU
cmVlSU9TPiBjcmVhdGUoQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvciopOwogICAgIHZpcnR1YWwg
flNjcm9sbGluZ1RyZWVJT1MoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBjb21taXROZXdUcmVlU3Rh
dGUoc3RkOjp1bmlxdWVfcHRyPFNjcm9sbGluZ1N0YXRlVHJlZT4pIG92ZXJyaWRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yTWFjLm1tCmluZGV4IDNlOTIxZjFlYjQ3M2VmNjllMGMwOTc5ZGFkYTNmNTcxMTMz
NzU0YWQuLjI1MDVlN2I3NjMzMzhkMTJkZWRiNTIzOGEwNDMzNjI4NzhhOGNkNDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRv
ck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5n
Q29vcmRpbmF0b3JNYWMubW0KQEAgLTQ2LDkgKzQ2LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1QYXNzUmVmUHRyPFNjcm9sbGluZ0Nvb3JkaW5hdG9yPiBTY3JvbGxpbmdDb29yZGluYXRv
cjo6Y3JlYXRlKFBhZ2UqIHBhZ2UpCitSZWY8U2Nyb2xsaW5nQ29vcmRpbmF0b3I+IFNjcm9sbGlu
Z0Nvb3JkaW5hdG9yOjpjcmVhdGUoUGFnZSogcGFnZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjKHBhZ2UpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBTY3JvbGxpbmdDb29yZGluYXRvck1hYyhwYWdlKSk7CiB9CiAKIFNjcm9sbGluZ0Nvb3Jk
aW5hdG9yTWFjOjpTY3JvbGxpbmdDb29yZGluYXRvck1hYyhQYWdlKiBwYWdlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGaXhlZE5v
ZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4
ZWROb2RlLmgKaW5kZXggNTc2YWNjZGUwMTgzMzFkMmNjYjBlNWJiNjhmOTQ1ZmM1YmUzMmNhYS4u
MmFkMTZlYjIzMGE2MTNkNDZmNzhmOGQwNzczOTM4YTRjODIxMGI1YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVk
Tm9kZS5oCkBAIC00MCw3ICs0MCw3IEBAIGNsYXNzIEZpeGVkUG9zaXRpb25WaWV3cG9ydENvbnN0
cmFpbnRzOwogCiBjbGFzcyBTY3JvbGxpbmdUcmVlRml4ZWROb2RlIDogcHVibGljIFNjcm9sbGlu
Z1RyZWVOb2RlIHsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUGFzc1JlZlB0
cjxTY3JvbGxpbmdUcmVlRml4ZWROb2RlPiBjcmVhdGUoU2Nyb2xsaW5nVHJlZSYsIFNjcm9sbGlu
Z05vZGVJRCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZjxTY3JvbGxpbmdUcmVlRml4
ZWROb2RlPiBjcmVhdGUoU2Nyb2xsaW5nVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CiAKICAgICB2
aXJ0dWFsIH5TY3JvbGxpbmdUcmVlRml4ZWROb2RlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLm1tIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUubW0K
aW5kZXggNzIwYmJiZGQ4ZTBjZTgxOGI5ZTdjNjAzZTZhNTFjOTVlMTY5MGQ1Ny4uMzgwY2ExNzEz
ZjcyMjIyYjM5OGQ5ZTE0OTg3NDM0MzRlODU0ZDRiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUubW0K
QEAgLTM0LDkgKzM0LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFNj
cm9sbGluZ1RyZWVGaXhlZE5vZGU+IFNjcm9sbGluZ1RyZWVGaXhlZE5vZGU6OmNyZWF0ZShTY3Jv
bGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQorUmVmPFNj
cm9sbGluZ1RyZWVGaXhlZE5vZGU+IFNjcm9sbGluZ1RyZWVGaXhlZE5vZGU6OmNyZWF0ZShTY3Jv
bGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQogewotICAg
IHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZShzY3JvbGxpbmdUcmVl
LCBub2RlSUQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdUcmVlRml4ZWRO
b2RlKHNjcm9sbGluZ1RyZWUsIG5vZGVJRCkpOwogfQogCiBTY3JvbGxpbmdUcmVlRml4ZWROb2Rl
OjpTY3JvbGxpbmdUcmVlRml4ZWROb2RlKFNjcm9sbGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNj
cm9sbGluZ05vZGVJRCBub2RlSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWMuaAppbmRleCAxYTFiYTUyZjBjM2NkMzE3YzcyODVlZmQ5ZmI5Mzg5YTEzYzUxYWU5Li42
ZjlmNzhjZTBhNzhlZjU5ZTFlMjg0NGU5MWZmYjY4MDFhZjNkN2ZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5n
Tm9kZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmgKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjIDog
cHVibGljIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGUsIHByaXZhdGUgU2Nyb2xsQ29u
dHJvbGxlckNsaWVudCB7CiBwdWJsaWM6Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFBhc3NS
ZWZQdHI8U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZT4gY3JlYXRlKFNjcm9sbGluZ1Ry
ZWUmLCBTY3JvbGxpbmdOb2RlSUQpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWY8U2Ny
b2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZT4gY3JlYXRlKFNjcm9sbGluZ1RyZWUmLCBTY3Jv
bGxpbmdOb2RlSUQpOwogICAgIHZpcnR1YWwgflNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWMoKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVNYWMubW0KaW5kZXggN2Y2NGRjNWJlYTc2OGRlYzFjM2VkOTY5ZWQ5MGZhMjEwNDk0M2M1NC4u
ZWFiNmRhOTMwNjEwZDEzYzA5YmQwZTM1NjJjMDE3OGIzNjY0MGE4MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGlu
Z05vZGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0KQEAgLTQ5LDkgKzQ5LDkgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBzdGF0aWMgdm9pZCBsb2dUaHJlYWRlZFNjcm9sbGluZ01vZGUodW5z
aWduZWQgc3luY2hyb25vdXNTY3JvbGxpbmdSZWFzb25zKTsKIAotUGFzc1JlZlB0cjxTY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlPiBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2Rl
TWFjOjpjcmVhdGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5nVHJlZSwgU2Nyb2xsaW5nTm9kZUlE
IG5vZGVJRCkKK1JlZjxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlPiBTY3JvbGxpbmdU
cmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpjcmVhdGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5n
VHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3
IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMoc2Nyb2xsaW5nVHJlZSwgbm9kZUlE
KSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5n
Tm9kZU1hYyhzY3JvbGxpbmdUcmVlLCBub2RlSUQpKTsKIH0KIAogU2Nyb2xsaW5nVHJlZUZyYW1l
U2Nyb2xsaW5nTm9kZU1hYzo6U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYyhTY3Jv
bGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMu
Y3BwCmluZGV4IDkwYzQzN2Y2YWU3ZWY1YWJlMTBhZDBmMmNhZDdiNmFjZWU1OTFiY2EuLjcwZGJj
MDZjZjAxM2JmMzFiOGRhMDdmZGUwZDM5ODhjNjFiNGQ4MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlTWFjLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1hYy5jcHAKQEAgLTM0
LDkgKzM0LDkgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLVJlZlB0cjxTY3JvbGxp
bmdUcmVlTWFjPiBTY3JvbGxpbmdUcmVlTWFjOjpjcmVhdGUoQXN5bmNTY3JvbGxpbmdDb29yZGlu
YXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0b3IpCitSZWY8U2Nyb2xsaW5nVHJlZU1hYz4gU2Nyb2xs
aW5nVHJlZU1hYzo6Y3JlYXRlKEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IqIHNjcm9sbGluZ0Nv
b3JkaW5hdG9yKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsaW5nVHJlZU1hYyhz
Y3JvbGxpbmdDb29yZGluYXRvcikpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNjcm9sbGlu
Z1RyZWVNYWMoc2Nyb2xsaW5nQ29vcmRpbmF0b3IpKTsKIH0KIAogU2Nyb2xsaW5nVHJlZU1hYzo6
U2Nyb2xsaW5nVHJlZU1hYyhBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdDb29y
ZGluYXRvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Ny
b2xsaW5nVHJlZU1hYy5oCmluZGV4IDMzMWViNzUwMzgyMGYyMmI3MTdmYzY2NDkyNThlNDQyZmM0
OTQ5MzAuLjVkY2RhMGFlNzIxOWI5NmU2OTI1N2E0YmY5YWI2NWY4NmZlNjA3OTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlTWFjLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMu
aApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFNjcm9sbGlu
Z1RyZWVNYWMgOiBwdWJsaWMgVGhyZWFkZWRTY3JvbGxpbmdUcmVlIHsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgUmVmUHRyPFNjcm9sbGluZ1RyZWVNYWM+IGNyZWF0ZShBc3luY1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yKik7CisgICAgc3RhdGljIFJlZjxTY3JvbGxpbmdUcmVlTWFjPiBjcmVhdGUoQXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvciopOwogCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFNjcm9sbGlu
Z1RyZWVOb2RlPiBjcmVhdGVTY3JvbGxpbmdUcmVlTm9kZShTY3JvbGxpbmdOb2RlVHlwZSwgU2Ny
b2xsaW5nTm9kZUlEKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTdGlja3lOb2RlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaAppbmRleCBlODIy
MmRlMzAyNzhjN2YxMTQ5ZWJlZjgyYmU4Y2Q5OTc5MzA0YTE0Li43MDQ4N2VkN2FmYjc0ZDZlNWIy
ZmE5NjI2MTE5NjkzMWQ1MmI3OWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaApAQCAtNDAsNyAr
NDAsNyBAQCBjbGFzcyBTdGlja3lQb3NpdGlvblZpZXdwb3J0Q29uc3RyYWludHM7CiAKIGNsYXNz
IFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlIDogcHVibGljIFNjcm9sbGluZ1RyZWVOb2RlIHsKIHB1
YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUGFzc1JlZlB0cjxTY3JvbGxpbmdUcmVl
U3RpY2t5Tm9kZT4gY3JlYXRlKFNjcm9sbGluZ1RyZWUmLCBTY3JvbGxpbmdOb2RlSUQpOworICAg
IFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWY8U2Nyb2xsaW5nVHJlZVN0aWNreU5vZGU+IGNyZWF0
ZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKIAogICAgIHZpcnR1YWwgflNjcm9s
bGluZ1RyZWVTdGlja3lOb2RlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5tbQppbmRleCA2N2M0
ZGJlMTMxMmZhOTE2YmZkYWUxNDIzOWU5N2YxMmM4Y2U1MmQ0Li43MmQxZjczZjQ5YjgyYjVlMjg1
NWZlYzBiM2VhMzRiZmExZTJkNzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1tCkBAIC0zNiw5
ICszNiw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxTY3JvbGxpbmdU
cmVlU3RpY2t5Tm9kZT4gU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGU6OmNyZWF0ZShTY3JvbGxpbmdU
cmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQorUmVmPFNjcm9sbGlu
Z1RyZWVTdGlja3lOb2RlPiBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZTo6Y3JlYXRlKFNjcm9sbGlu
Z1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCiB7Ci0gICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZShzY3JvbGxpbmdUcmVlLCBu
b2RlSUQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9k
ZShzY3JvbGxpbmdUcmVlLCBub2RlSUQpKTsKIH0KIAogU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGU6
OlNjcm9sbGluZ1RyZWVTdGlja3lOb2RlKFNjcm9sbGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNj
cm9sbGluZ05vZGVJRCBub2RlSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJWaWV3R3JvdXAubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJWaWV3R3JvdXAubW0KaW5kZXggOGVkOGM0Y2YwYThlMGE3YTkyMDU0MjdhMjNmMGU0
NGZkMGJjODVlNi4uNzQ1MzkyNDQxYzBkNTk3YmZjMjk5NmVlYTBlYTI3NGNjOWU2MzVjNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViVmlld0dyb3VwLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlZpZXdHcm91cC5tbQpA
QCAtNjYsNyArNjYsNyBAQCBXZWJWaWV3R3JvdXAqIFdlYlZpZXdHcm91cDo6Z2V0KGNvbnN0IFN0
cmluZyYgbmFtZSkKIFdlYlZpZXdHcm91cDo6V2ViVmlld0dyb3VwKGNvbnN0IFN0cmluZyYgbmFt
ZSwgY29uc3QgU3RyaW5nJiBsb2NhbFN0b3JhZ2VEYXRhYmFzZVBhdGgpCiAgICAgOiBtX25hbWUo
bmFtZSkKICAgICAsIG1fbG9jYWxTdG9yYWdlRGF0YWJhc2VQYXRoKGxvY2FsU3RvcmFnZURhdGFi
YXNlUGF0aCkKLSAgICAsIG1fdXNlckNvbnRlbnRDb250cm9sbGVyKCpVc2VyQ29udGVudENvbnRy
b2xsZXI6OmNyZWF0ZSgpKQorICAgICwgbV91c2VyQ29udGVudENvbnRyb2xsZXIoVXNlckNvbnRl
bnRDb250cm9sbGVyOjpjcmVhdGUoKSkKICAgICAsIG1fdmlzaXRlZExpbmtTdG9yZShXZWJWaXNp
dGVkTGlua1N0b3JlOjpjcmVhdGUoKSkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKaW5kZXggMGM2MDhhMDcxYjk5ZDk5ZmQzOWI3Yzg5ZDgwNjYwZTk0MzM0
OTNiZS4uNGRiZjA2Mjg2NmQ1N2I2YWI4MTcyMTViNDM2MTUwNzAyOGUwYTViYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTM5MjQsNyArMzkyNCw3IEBA
IHZvaWQgV2ViUGFnZVByb3h5OjpkaWRHZXRJbWFnZUZvckZpbmRNYXRjaChjb25zdCBTaGFyZWFi
bGVCaXRtYXA6OkhhbmRsZSYgY29udGVuCiAKIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRUZXh0SW5k
aWNhdG9yKGNvbnN0IFRleHRJbmRpY2F0b3JEYXRhJiBpbmRpY2F0b3JEYXRhLCB1aW50NjRfdCBs
aWZldGltZSkKIHsKLSAgICBtX3BhZ2VDbGllbnQuc2V0VGV4dEluZGljYXRvcigqVGV4dEluZGlj
YXRvcjo6Y3JlYXRlKGluZGljYXRvckRhdGEpLCBzdGF0aWNfY2FzdDxUZXh0SW5kaWNhdG9yTGlm
ZXRpbWU+KGxpZmV0aW1lKSk7CisgICAgbV9wYWdlQ2xpZW50LnNldFRleHRJbmRpY2F0b3IoVGV4
dEluZGljYXRvcjo6Y3JlYXRlKGluZGljYXRvckRhdGEpLCBzdGF0aWNfY2FzdDxUZXh0SW5kaWNh
dG9yTGlmZXRpbWU+KGxpZmV0aW1lKSk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpjbGVhclRl
eHRJbmRpY2F0b3IoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9Q
YWdlQ2xpZW50SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVu
dEltcGwubW0KaW5kZXggMDc2OTA1MDMzMTVlZmMzZmNjMjUzYjU1MjYyNzliYmZmZmM0Y2EzZi4u
MzJhNzJiODMzZmU3NTg4ZmVkZTJmMmQ2NzA5ZWFkNzU5MTM2N2E0OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCkBAIC01OTYsNyArNTk2LDcg
QEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkUGVyZm9ybURpY3Rpb25hcnlMb29rdXAoY29uc3Qg
RGljdGlvbmFyeVBvcHVwSW5mbyYgZGljdGkKICAgICBbbV93a1ZpZXcgX3ByZXBhcmVGb3JEaWN0
aW9uYXJ5TG9va3VwXTsKIAogICAgIGlmIChjYW5Mb2FkTFVUZXJtT3B0aW9uRGlzYWJsZVNlYXJj
aFRlcm1JbmRpY2F0b3IoKSAmJiBkaWN0aW9uYXJ5UG9wdXBJbmZvLnRleHRJbmRpY2F0b3IuY29u
dGVudEltYWdlKSB7Ci0gICAgICAgIFttX3drVmlldyBfc2V0VGV4dEluZGljYXRvcjoqVGV4dElu
ZGljYXRvcjo6Y3JlYXRlKGRpY3Rpb25hcnlQb3B1cEluZm8udGV4dEluZGljYXRvcikgd2l0aExp
ZmV0aW1lOlRleHRJbmRpY2F0b3JMaWZldGltZTo6UGVybWFuZW50XTsKKyAgICAgICAgW21fd2tW
aWV3IF9zZXRUZXh0SW5kaWNhdG9yOlRleHRJbmRpY2F0b3I6OmNyZWF0ZShkaWN0aW9uYXJ5UG9w
dXBJbmZvLnRleHRJbmRpY2F0b3IpIHdpdGhMaWZldGltZTpUZXh0SW5kaWNhdG9yTGlmZXRpbWU6
OlBlcm1hbmVudF07CiAgICAgICAgIFttdXRhYmxlT3B0aW9ucyBzZXRPYmplY3Q6QFlFUyBmb3JL
ZXk6Z2V0TFVUZXJtT3B0aW9uRGlzYWJsZVNlYXJjaFRlcm1JbmRpY2F0b3IoKV07CiAgICAgICAg
IFtnZXRMVUxvb2t1cERlZmluaXRpb25Nb2R1bGVDbGFzcygpIHNob3dEZWZpbml0aW9uRm9yVGVy
bTpkaWN0aW9uYXJ5UG9wdXBJbmZvLmF0dHJpYnV0ZWRTdHJpbmcuc3RyaW5nLmdldCgpIGF0TG9j
YXRpb246dGV4dEJhc2VsaW5lT3JpZ2luIG9wdGlvbnM6bXV0YWJsZU9wdGlvbnMuZ2V0KCldOwog
ICAgIH0gZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Vc2VyQ29u
dGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXIuY3BwCmluZGV4IGUzM2U0
OWFiMGYyMzkxMjE0MGVjMzVlZDFhZWU2ZThmZGVmN2UwYjEuLmFhN2I2NDU2NmU4MGM3ZDAxOWM1
ZjUwZDgxMDRhZGE3YTNkMWNhMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxlci5j
cHAKQEAgLTY5LDcgKzY5LDcgQEAgUGFzc1JlZlB0cjxXZWJVc2VyQ29udGVudENvbnRyb2xsZXI+
IFdlYlVzZXJDb250ZW50Q29udHJvbGxlcjo6Z2V0T3JDcmVhdGUodWludDYKIAogV2ViVXNlckNv
bnRlbnRDb250cm9sbGVyOjpXZWJVc2VyQ29udGVudENvbnRyb2xsZXIodWludDY0X3QgaWRlbnRp
ZmllcikKICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQotICAgICwgbV91c2VyQ29udGVu
dENvbnRyb2xsZXIoKlVzZXJDb250ZW50Q29udHJvbGxlcjo6Y3JlYXRlKCkpCisgICAgLCBtX3Vz
ZXJDb250ZW50Q29udHJvbGxlcihVc2VyQ29udGVudENvbnRyb2xsZXI6OmNyZWF0ZSgpKQogewog
ICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6
V2ViVXNlckNvbnRlbnRDb250cm9sbGVyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1faWRlbnRp
ZmllciwgKnRoaXMpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252835</attachid>
            <date>2015-05-10 19:25:51 -0700</date>
            <delta_ts>2015-05-10 22:54:46 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-144841-20150511112441.patch</filename>
            <type>text/plain</type>
            <size>63457</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0MDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYThmNmNiNGZlMzQ0YWE4
NzQxODk5ZmZhYzcxNjNjZjVmNjgzOWIzMC4uMjE3YjgzMTk2YzIyZDdmZjk5NjQ2MWJmMjgwOGNm
OWMyMzA0MGRkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNSBAQAorMjAxNS0wNS0xMCAgR3l1
eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNlIFJlZiBp
bnN0ZWFkIG9mIFBhc3NSZWZQdHIgaW4gV2ViQ29yZS9wYWdlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ4NDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBEYXJpbiBBZGxlci4KKworICAgICAgICBUbyBraWxsIFBhc3NSZWZQdHIsIHRoaXMgcGF0Y2gg
cmVwbGFjZXMgUGFzc1JlZlB0ciB3aXRoIFJlZiBvciBSZWZQdHIKKyAgICAgICAgaW4gV2ViQ29y
ZS9wYWdlLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlcy4KKwor
ICAgICAgICAqIHBhZ2UvRGVidWdQYWdlT3ZlcmxheXMuY3BwOgorICAgICAgICAqIHBhZ2UvRXZl
bnRTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRTb3VyY2U6OmNyZWF0ZSk6Cisg
ICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5oOgorICAgICAgICAqIHBhZ2UvSGlzdG9yeS5oOgor
ICAgICAgICAoV2ViQ29yZTo6SGlzdG9yeTo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL0xvY2F0
aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpMb2NhdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKiBw
YWdlL01haW5GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYWluRnJhbWU6OmNyZWF0ZSk6
CisgICAgICAgICogcGFnZS9NYWluRnJhbWUuaDoKKyAgICAgICAgKiBwYWdlL05hdmlnYXRvci5o
OgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2Uv
UGFnZU92ZXJsYXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZU92ZXJsYXk6OmNyZWF0ZSk6
CisgICAgICAgICogcGFnZS9QYWdlT3ZlcmxheS5oOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFu
Y2UuaDoKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZUVudHJ5TGlzdDo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL1Bl
cmZvcm1hbmNlTWFyay5oOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VNYXJrOjpjcmVh
dGUpOgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VNZWFzdXJlLmg6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZU1lYXN1cmU6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9QZXJmb3Jt
YW5jZU5hdmlnYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTmF2aWdhdGlv
bjo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNyZWF0ZSk6Cisg
ICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5oOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2VUaW1pbmc6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVVzZXJU
aW1pbmcuaDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJUaW1pbmc6OmNyZWF0ZSk6CisgICAgICAg
ICogcGFnZS9TY3JlZW4uaDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNldHRpbmdzOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoK
KyAgICAgICAgKiBwYWdlL1RleHRJbmRpY2F0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4
dEluZGljYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL1RleHRJbmRpY2F0b3IuaDoKKyAg
ICAgICAgKiBwYWdlL1VzZXJDb250ZW50Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpVc2VyQ29udGVudENvbnRyb2xsZXI6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9Vc2VyQ29u
dGVudENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL1VzZXJNZXNzYWdlSGFuZGxlckRlc2Ny
aXB0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3I6
OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9Vc2VyTWVzc2FnZUhhbmRsZXJzTmFtZXNwYWNlLmg6
CisgICAgICAgICogcGFnZS9WaXNpdGVkTGlua1N0b3JlLmg6CisgICAgICAgICogcGFnZS9XZWJL
aXROYW1lc3BhY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE5hbWVzcGFjZTo6Y3JlYXRl
KToKKyAgICAgICAgKiBwYWdlL1dlYktpdFBvaW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJL
aXRQb2ludDo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL1dvcmtlck5hdmlnYXRvci5oOgorICAg
ICAgICAoV2ViQ29yZTo6V29ya2VyTmF2aWdhdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2Uv
YW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpJbXBsaWNp
dEFuaW1hdGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFu
aW1hdGlvbi5oOgorICAgICAgICAqIHBhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBwYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6SGlnaGxpZ2h0OjpjcmVh
dGVGb3JTZWxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZXNPdmVybGF5Q29udHJv
bGxlcjo6SGlnaGxpZ2h0OjpjcmVhdGVGb3JUZWxlcGhvbmVOdW1iZXIpOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVGaXhlZE5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVG
aXhlZE5vZGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZUZpeGVk
Tm9kZTo6Y2xvbmUpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4
ZWROb2RlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGcmFtZVNj
cm9sbGluZ05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVGcmFtZVNj
cm9sbGluZ05vZGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZUZy
YW1lU2Nyb2xsaW5nTm9kZTo6Y2xvbmUpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nU3RhdGVOb2RlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
U3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
aW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6Y2xvbmUpOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmg6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6Y2xvbmUpOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5oOgorICAgICAgICAqIHBh
Z2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2Uvc2Ny
b2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLmg6CisgICAgICAg
ICogcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1Mu
bW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9T
OjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlSU9T
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVJT1M6OmNyZWF0ZSk6CisgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmNyZWF0ZSk6CisgICAgICAgICog
cGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUuaDoKKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGluZ1RyZWVGaXhlZE5vZGU6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMuaDoKKyAgICAg
ICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1h
Yy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVN
YWM6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVN
YWMuY3BwOgorICAgICAgICAoU2Nyb2xsaW5nVHJlZU1hYzo6Y3JlYXRlKToKKyAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1hYy5oOgorICAgICAgICAqIHBhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5tbToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGluZ1RyZWVTdGlja3lOb2RlOjpjcmVhdGUpOgorCiAyMDE1LTA1LTEwICBTdW5nbWFu
biBDaG8gIDxzdW5nbWFubi5jaG9AbmF2ZXJjb3JwLmNvbT4KIAogICAgICAgICBHZXQgcmlkIG9m
IHRoZSBwdWJsaWMgaXRlbSBhY2Nlc3NvcnMgaW4gQmFja0ZvcndhcmRDbGllbnQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpp
bmRleCA3YWFhNDRhMmI5NWI5OThmZmEzYTM0Yjc0OWQ2ZDUzMDE4MjExMWE5Li5hZmIzNTZhZjA4
NDhmZGNmMTFlYzIxOWU1ZDM5ZTdhNTJmOTY4MTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTUtMDUtMTAgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUB3ZWJraXQub3JnPgor
CisgICAgICAgIFVzZSBSZWYgaW5zdGVhZCBvZiBQYXNzUmVmUHRyIGluIFdlYkNvcmUvcGFnZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0ODQxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgVG8ga2lsbCBQYXNz
UmVmUHRyLCB0aGlzIHBhdGNoIHJlcGxhY2VzIFBhc3NSZWZQdHIgd2l0aCBSZWYgb3IgUmVmUHRy
CisgICAgICAgIGluIFdlYkNvcmUvcGFnZS4KKworICAgICAgICAoV2ViS2l0OjpXZWJVc2VyQ29u
dGVudENvbnRyb2xsZXI6OldlYlVzZXJDb250ZW50Q29udHJvbGxlcik6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
c2V0VGV4dEluZGljYXRvcik6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1w
bC5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmRpZFBlcmZvcm1EaWN0aW9u
YXJ5TG9va3VwKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250
ZW50Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlVzZXJDb250ZW50Q29udHJv
bGxlcjo6V2ViVXNlckNvbnRlbnRDb250cm9sbGVyKToKKwogMjAxNS0wNS0xMCAgRGFyaW4gQWRs
ZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IGludGVybmFsIEFwcGxlIGJ1aWxk
cyBvbiBNYXZlcmlja3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RlYnVnUGFn
ZU92ZXJsYXlzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGVidWdQYWdlT3ZlcmxheXMuY3Bw
CmluZGV4IGMzMTc2NTNjMTdiYTM3MjIzMTI5N2Q5ZjMwOTA1NTIxZWEzMzZiZDYuLmNhZTQzZGFk
NmE3NDA4MDQwNzRlZWIzN2JhOGM0OTk3ZjRjMGQ0Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRGVidWdQYWdlT3ZlcmxheXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RGVidWdQYWdlT3ZlcmxheXMuY3BwCkBAIC03NCw5ICs3NCw5IEBAIHByb3RlY3RlZDoKIAogY2xh
c3MgTW91c2VXaGVlbFJlZ2lvbk92ZXJsYXkgZmluYWwgOiBwdWJsaWMgUmVnaW9uT3ZlcmxheSB7
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TW91c2VXaGVlbFJlZ2lvbk92ZXJsYXk+
IGNyZWF0ZShNYWluRnJhbWUmIGZyYW1lKQorICAgIHN0YXRpYyBSZWY8TW91c2VXaGVlbFJlZ2lv
bk92ZXJsYXk+IGNyZWF0ZShNYWluRnJhbWUmIGZyYW1lKQogICAgIHsKLSAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBNb3VzZVdoZWVsUmVnaW9uT3ZlcmxheShmcmFtZSkpOworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBNb3VzZVdoZWVsUmVnaW9uT3ZlcmxheShmcmFtZSkpOwogICAg
IH0KIAogcHJpdmF0ZToKQEAgLTExMyw5ICsxMTMsOSBAQCBib29sIE1vdXNlV2hlZWxSZWdpb25P
dmVybGF5Ojp1cGRhdGVSZWdpb24oKQogCiBjbGFzcyBOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbk92
ZXJsYXkgZmluYWwgOiBwdWJsaWMgUmVnaW9uT3ZlcmxheSB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8Tm9uRmFzdFNjcm9sbGFibGVSZWdpb25PdmVybGF5PiBjcmVhdGUoTWFpbkZy
YW1lJiBmcmFtZSkKKyAgICBzdGF0aWMgUmVmPE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uT3Zlcmxh
eT4gY3JlYXRlKE1haW5GcmFtZSYgZnJhbWUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uT3ZlcmxheShmcmFtZSkpOworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBOb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbk92ZXJsYXkoZnJhbWUp
KTsKICAgICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuY3BwCmluZGV4
IDg1NGE1YTgzYzI1ZGFlZTI2NTFiNGVmYWQ3ZmZjZTdmODlhOGJjMWQuLjNkNzBkZTkzMWQ3YzNk
ZmQxOTllZjEyZWNhZDY2OWYyNmJlYTg0NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2Uu
Y3BwCkBAIC03Miw3ICs3Miw3IEBAIGlubGluZSBFdmVudFNvdXJjZTo6RXZlbnRTb3VyY2UoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgVVJMJiB1cmwsCiAgICAgZXZlbnRT
b3VyY2VJbml0LmdldCgid2l0aENyZWRlbnRpYWxzIiwgbV93aXRoQ3JlZGVudGlhbHMpOwogfQog
Ci1QYXNzUmVmUHRyPEV2ZW50U291cmNlPiBFdmVudFNvdXJjZTo6Y3JlYXRlKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBEaWN0aW9uYXJ5
JiBldmVudFNvdXJjZUluaXQsIEV4Y2VwdGlvbkNvZGUmIGVjKQorUmVmUHRyPEV2ZW50U291cmNl
PiBFdmVudFNvdXJjZTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNv
bnN0IFN0cmluZyYgdXJsLCBjb25zdCBEaWN0aW9uYXJ5JiBldmVudFNvdXJjZUluaXQsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQogewogICAgIGlmICh1cmwuaXNFbXB0eSgpKSB7CiAgICAgICAgIGVjID0g
U1lOVEFYX0VSUjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2Uu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaAppbmRleCA1MGMwZTU3ZTAwMDM0
NTg0YWNkYzQwOTI3MmNlZmRmNGYwZDExNDc0Li43Y2RiMTM2ODU5M2YzYzljZWQxYjY2YmIzMDQy
NDA0OGU5NjdiYWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5oCkBAIC01MSw3ICs1MSw3
IEBAIGNsYXNzIFRocmVhZGFibGVMb2FkZXI7CiBjbGFzcyBFdmVudFNvdXJjZSBmaW5hbCA6IHB1
YmxpYyBSZWZDb3VudGVkPEV2ZW50U291cmNlPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGlu
ZURhdGEsIHByaXZhdGUgVGhyZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEFjdGl2ZURPTU9i
amVjdCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8RXZlbnRTb3VyY2U+IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwg
Y29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IERpY3Rpb25hcnkmLCBFeGNlcHRpb25Db2RlJik7Cisg
ICAgc3RhdGljIFJlZlB0cjxFdmVudFNvdXJjZT4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgRGljdGlvbmFyeSYsIEV4Y2VwdGlvbkNvZGUm
KTsKICAgICB2aXJ0dWFsIH5FdmVudFNvdXJjZSgpOwogCiAgICAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIGxvbmcgbG9uZyBkZWZhdWx0UmVjb25uZWN0RGVsYXk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0hpc3RvcnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSGlzdG9yeS5oCmlu
ZGV4IGY4ZTFmZDE1NjdkM2Y2NTI4NWE5YzkyNGY3ODIwZWQ5ZjhkNThiYzguLjE0NTRjNDQ2MWE4
YzIyMDk5NjI2ZGZkODE1OTI5NmMyMjhjMjVlZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvSGlzdG9yeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSGlzdG9yeS5oCkBAIC00
Miw3ICs0Miw3IEBAIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKIGNsYXNzIEhpc3Rvcnkg
OiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlLCBwdWJsaWMgUmVmQ291bnRlZDxIaXN0b3J5PiwgcHVi
bGljIERPTVdpbmRvd1Byb3BlcnR5IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxI
aXN0b3J5PiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgSGlzdG9y
eShmcmFtZSkpOyB9CisgICAgc3RhdGljIFJlZjxIaXN0b3J5PiBjcmVhdGUoRnJhbWUqIGZyYW1l
KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEhpc3RvcnkoZnJhbWUpKTsgfQogCiAgICAgdW5zaWdu
ZWQgbGVuZ3RoKCkgY29uc3Q7CiAgICAgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+
IHN0YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmgKaW5kZXggMzMzODg3OTM0YTdlZjJmNzdiN2Fm
YmJiNDQ2OTk4MTRiNjc1NDVjYS4uOTU2NmRhNDg3NjVmZjZkZGI0NzlhNjJlMGFmNGQyN2I0YjZl
ZmIyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaApAQCAtNDYsNyArNDYsNyBAQCB0eXBlZGVmIGlu
dCBFeGNlcHRpb25Db2RlOwogCiBjbGFzcyBMb2NhdGlvbiA6IHB1YmxpYyBTY3JpcHRXcmFwcGFi
bGUsIHB1YmxpYyBSZWZDb3VudGVkPExvY2F0aW9uPiwgcHVibGljIERPTVdpbmRvd1Byb3BlcnR5
IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxMb2NhdGlvbj4gY3JlYXRlKEZyYW1l
KiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IExvY2F0aW9uKGZyYW1lKSk7IH0KKyAgICBz
dGF0aWMgUmVmPExvY2F0aW9uPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJl
ZigqbmV3IExvY2F0aW9uKGZyYW1lKSk7IH0KIAogICAgIHZvaWQgc2V0SHJlZihjb25zdCBTdHJp
bmcmLCBET01XaW5kb3cmIGFjdGl2ZVdpbmRvdywgRE9NV2luZG93JiBmaXJzdFdpbmRvdyk7CiAg
ICAgU3RyaW5nIGhyZWYoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
TWFpbkZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmNwcAppbmRleCA3
YjdlMDAzOTNkODBlOWQxNmI0YzU0YzA1MjAxMDhlYTIyODA3ZjcyLi5iZmQxZWFjNDllYmFhZjEw
YzFmZjBlN2VlZWY3NjI0NTBlM2RhZTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L01haW5GcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9NYWluRnJhbWUuY3BwCkBA
IC02MSw5ICs2MSw5IEBAIE1haW5GcmFtZTo6fk1haW5GcmFtZSgpCiAgICAgICAgIG1fZGlhZ25v
c3RpY0xvZ2dpbmdDbGllbnQtPm1haW5GcmFtZURlc3Ryb3llZCgpOwogfQogCi1SZWZQdHI8TWFp
bkZyYW1lPiBNYWluRnJhbWU6OmNyZWF0ZShQYWdlJiBwYWdlLCBQYWdlQ29uZmlndXJhdGlvbiYg
Y29uZmlndXJhdGlvbikKK1JlZjxNYWluRnJhbWU+IE1haW5GcmFtZTo6Y3JlYXRlKFBhZ2UmIHBh
Z2UsIFBhZ2VDb25maWd1cmF0aW9uJiBjb25maWd1cmF0aW9uKQogewotICAgIHJldHVybiBhZG9w
dFJlZihuZXcgTWFpbkZyYW1lKHBhZ2UsIGNvbmZpZ3VyYXRpb24pKTsKKyAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBNYWluRnJhbWUocGFnZSwgY29uZmlndXJhdGlvbikpOwogfQogCiB2b2lkIE1h
aW5GcmFtZTo6c2VsZk9ubHlSZWYoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9N
YWluRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTWFpbkZyYW1lLmgKaW5kZXggOWNmOGNh
NTgwNDY1MGZjMWQyZTJiMjEzOTIwYTg5MmJlNTUyYjA2NC4uMjg0MTI1Mzg4MGRkOGZkMWI1Y2Zl
ZjI2OTNiY2UxYmIyZjUyMDZkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9NYWlu
RnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL01haW5GcmFtZS5oCkBAIC00MCw3ICs0
MCw3IEBAIGNsYXNzIFdoZWVsRXZlbnREZWx0YVRyYWNrZXI7CiAKIGNsYXNzIE1haW5GcmFtZSBm
aW5hbCA6IHB1YmxpYyBGcmFtZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxNYWluRnJh
bWU+IGNyZWF0ZShQYWdlJiwgUGFnZUNvbmZpZ3VyYXRpb24mKTsKKyAgICBzdGF0aWMgUmVmPE1h
aW5GcmFtZT4gY3JlYXRlKFBhZ2UmLCBQYWdlQ29uZmlndXJhdGlvbiYpOwogCiAgICAgdmlydHVh
bCB+TWFpbkZyYW1lKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdh
dG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL05hdmlnYXRvci5oCmluZGV4IGM2ZDM4YWE2ODhh
MTkzZDgwNjZjZWVkMGRmNDg1NjBjNjlhMGYwZDUuLjE2YWJkZDg2Nzc2MTQ3ZjcxYWQwNWExYjg3
NTljMDg1NTA0NjMzMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTmF2aWdhdG9y
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaApAQCAtNDEsNyArNDEsNyBA
QCB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCiBjbGFzcyBOYXZpZ2F0b3IgOiBwdWJsaWMg
TmF2aWdhdG9yQmFzZSwgcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGljIFJlZkNvdW50ZWQ8
TmF2aWdhdG9yPiwgcHVibGljIERPTVdpbmRvd1Byb3BlcnR5LCBwdWJsaWMgU3VwcGxlbWVudGFi
bGU8TmF2aWdhdG9yPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TmF2aWdhdG9y
PiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgTmF2aWdhdG9yKGZy
YW1lKSk7IH0KKyAgICBzdGF0aWMgUmVmPE5hdmlnYXRvcj4gY3JlYXRlKEZyYW1lKiBmcmFtZSkg
eyByZXR1cm4gYWRvcHRSZWYoKm5ldyBOYXZpZ2F0b3IoZnJhbWUpKTsgfQogICAgIHZpcnR1YWwg
fk5hdmlnYXRvcigpOwogCiAgICAgU3RyaW5nIGFwcFZlcnNpb24oKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlT3ZlcmxheS5jcHAKaW5kZXggNmZjMzI0N2IzNzUzODEyZWFjMzEyYWFkNWQ2MGFm
YzY0ZDg4YTdkOC4uYTliOTFjZDE0MTk1ZGM2MGFkODYyOWI2NmYzM2MxNWVhNTc4NjNiNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlT3ZlcmxheS5jcHAKQEAgLTQ2LDkgKzQ2LDkgQEAgc3RhdGljIFBh
Z2VPdmVybGF5OjpQYWdlT3ZlcmxheUlEIGdlbmVyYXRlUGFnZU92ZXJsYXlJRCgpCiAgICAgcmV0
dXJuICsrcGFnZU92ZXJsYXlJRDsKIH0KIAotUGFzc1JlZlB0cjxQYWdlT3ZlcmxheT4gUGFnZU92
ZXJsYXk6OmNyZWF0ZShDbGllbnQmIGNsaWVudCwgT3ZlcmxheVR5cGUgb3ZlcmxheVR5cGUpCitS
ZWY8UGFnZU92ZXJsYXk+IFBhZ2VPdmVybGF5OjpjcmVhdGUoQ2xpZW50JiBjbGllbnQsIE92ZXJs
YXlUeXBlIG92ZXJsYXlUeXBlKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgUGFnZU92ZXJs
YXkoY2xpZW50LCBvdmVybGF5VHlwZSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFBhZ2VP
dmVybGF5KGNsaWVudCwgb3ZlcmxheVR5cGUpKTsKIH0KIAogUGFnZU92ZXJsYXk6OlBhZ2VPdmVy
bGF5KENsaWVudCYgY2xpZW50LCBPdmVybGF5VHlwZSBvdmVybGF5VHlwZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZU92ZXJsYXkuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZU92ZXJsYXkuaAppbmRleCA4YWI2YzQ1NTA1YmRkNDM2NWFkYjNhYjQyYzVkZmVmYWIxNmNl
YzQwLi5mNzIzNjUwMmU3N2Q3ZGMwNmQ4YzRiMjgzZGMyYWUxOTU4OWE2YzAyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VPdmVybGF5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlT3ZlcmxheS5oCkBAIC02OSw3ICs2OSw3IEBAIHB1YmxpYzoKICAgICAgICAgRG9j
dW1lbnQsIC8vIFNjYWxlcyBhbmQgc2Nyb2xscyB3aXRoIHRoZSBkb2N1bWVudC4KICAgICB9Owog
Ci0gICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFBhc3NSZWZQdHI8UGFnZU92ZXJsYXk+IGNyZWF0
ZShDbGllbnQmLCBPdmVybGF5VHlwZSA9IE92ZXJsYXlUeXBlOjpWaWV3KTsKKyAgICBXRUJDT1JF
X0VYUE9SVCBzdGF0aWMgUmVmPFBhZ2VPdmVybGF5PiBjcmVhdGUoQ2xpZW50JiwgT3ZlcmxheVR5
cGUgPSBPdmVybGF5VHlwZTo6Vmlldyk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+UGFn
ZU92ZXJsYXkoKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIFBhZ2VPdmVybGF5Q29udHJvbGxlciog
Y29udHJvbGxlcigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZS5oCmluZGV4IDc2ZTQ5
YjRkYjA1MDA4ZjZiY2YwNTJkZGQ0OTg3MDIxYWExOTUyMWQuLmQyNjgwMTg4Nzc2Nzk3NWQxNWE0
YjFlNmYxZjI4Yzc4YzI5Zjk5NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmgKQEAgLTU0
LDcgKzU0LDcgQEAgY2xhc3MgVXNlclRpbWluZzsKIAogY2xhc3MgUGVyZm9ybWFuY2UgZmluYWwg
OiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlLCBwdWJsaWMgUmVmQ291bnRlZDxQZXJmb3JtYW5jZT4s
IHB1YmxpYyBET01XaW5kb3dQcm9wZXJ0eSwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURh
dGEgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmZvcm1hbmNlPiBjcmVhdGUo
RnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgUGVyZm9ybWFuY2UoZnJhbWUpKTsg
fQorICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2U+IGNyZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2UoZnJhbWUpKTsgfQogICAgIH5QZXJmb3JtYW5j
ZSgpOwogCiAgICAgdmlydHVhbCBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVy
ZmFjZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIFBlcmZvcm1hbmNlRXZlbnRUYXJnZXRJbnRl
cmZhY2VUeXBlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
RW50cnlMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0LmgK
aW5kZXggZDkwMDI4N2FkZGJkZDUxZGQ0YTMyOGFkY2M5OTdhZWIxNzE2NDg3Yy4uOTdhMjEyZGQ2
ZmQwNTQ0NzY2ZWQ3NTYzYzE3NTZiOTEzNmQ3ZmVkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGVyZm9ybWFuY2VFbnRyeUxpc3QuaApAQCAtNDUsNyArNDUsNyBAQCBjbGFzcyBQZXJmb3JtYW5j
ZUVudHJ5OwogCiBjbGFzcyBQZXJmb3JtYW5jZUVudHJ5TGlzdCA6IHB1YmxpYyBSZWZDb3VudGVk
PFBlcmZvcm1hbmNlRW50cnlMaXN0PiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8
UGVyZm9ybWFuY2VFbnRyeUxpc3Q+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQZXJm
b3JtYW5jZUVudHJ5TGlzdCk7IH0KKyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlRW50cnlMaXN0
PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFBlcmZvcm1hbmNlRW50cnlMaXN0KTsg
fQogICAgIH5QZXJmb3JtYW5jZUVudHJ5TGlzdCgpOwogCiAgICAgdW5zaWduZWQgbGVuZ3RoKCkg
Y29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTWFyay5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1hcmsuaAppbmRleCA2NGIzOWFiZmQw
MDdhZWQ1YzMwMWVhMjcwZmFkN2U0MWFjZWY2NzQ5Li5jZDcxYTAyNmZmMzFkNzFmMTRlYWNmODdk
YTUwNzBlMzZiMDdjYTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlTWFyay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VNYXJrLmgKQEAg
LTM2LDcgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBQZXJmb3JtYW5jZU1h
cmsgOiBwdWJsaWMgUGVyZm9ybWFuY2VFbnRyeSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8UGVyZm9ybWFuY2VNYXJrPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lLCBkb3VibGUg
c3RhcnRUaW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgUGVyZm9ybWFuY2VNYXJrKG5hbWUsIHN0
YXJ0VGltZSkpOyB9CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZU1hcms+IGNyZWF0ZShjb25z
dCBTdHJpbmcmIG5hbWUsIGRvdWJsZSBzdGFydFRpbWUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
UGVyZm9ybWFuY2VNYXJrKG5hbWUsIHN0YXJ0VGltZSkpOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wg
aXNNYXJrKCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZU1lYXN1cmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VNZWFzdXJlLmgKaW5kZXggNjU1NjQ5NTliMDY0OTc0YzQzZmQ3OWM1OTZiNjIyZDc5OTU4
ZGY2OC4uYWYzZTM2ZTUwNjE5NGNmMzM5OGI4ZmFmZWY2YjYyODMyM2FhZmQzNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU1lYXN1cmUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTWVhc3VyZS5oCkBAIC0zNiw3ICszNiw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGVyZm9ybWFuY2VNZWFzdXJlIDogcHVibGljIFBlcmZv
cm1hbmNlRW50cnkgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmZvcm1hbmNl
TWVhc3VyZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgZG91YmxlIHN0YXJ0VGltZSwgZG91
YmxlIGR1cmF0aW9uKSB7IHJldHVybiBhZG9wdFJlZihuZXcgUGVyZm9ybWFuY2VNZWFzdXJlKG5h
bWUsIHN0YXJ0VGltZSwgZHVyYXRpb24pKTsgfQorICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VN
ZWFzdXJlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lLCBkb3VibGUgc3RhcnRUaW1lLCBkb3Vi
bGUgZHVyYXRpb24pIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VNZWFzdXJlKG5h
bWUsIHN0YXJ0VGltZSwgZHVyYXRpb24pKTsgfQogCiAgICAgdmlydHVhbCBib29sIGlzTWVhc3Vy
ZSgpIHsgcmV0dXJuIHRydWU7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU5hdmlnYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VO
YXZpZ2F0aW9uLmgKaW5kZXggZjM5NzkyM2U2YTlkYjQ0YjBlZjM0N2M1NDAyMDRiYThhNmU4YjFm
ZC4uMmFjYzYwYjAyNTNhMmM3ZGQ2NzljZDFmZGM4NGY5NTZlZTQ3NDA5MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5oCkBAIC00Myw3ICs0Myw3IEBAIGNs
YXNzIEZyYW1lOwogCiBjbGFzcyBQZXJmb3JtYW5jZU5hdmlnYXRpb24gOiBwdWJsaWMgUmVmQ291
bnRlZDxQZXJmb3JtYW5jZU5hdmlnYXRpb24+LCBwdWJsaWMgRE9NV2luZG93UHJvcGVydHkgewog
cHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmZvcm1hbmNlTmF2aWdhdGlvbj4gY3Jl
YXRlKEZyYW1lKiBmcmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFBlcmZvcm1hbmNlTmF2aWdh
dGlvbihmcmFtZSkpOyB9CisgICAgc3RhdGljIFJlZjxQZXJmb3JtYW5jZU5hdmlnYXRpb24+IGNy
ZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VOYXZp
Z2F0aW9uKGZyYW1lKSk7IH0KIAogICAgIGVudW0gUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVHlwZSB7
CiAgICAgICAgIFRZUEVfTkFWSUdBVEUsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZy5oCmluZGV4IGU3ODVhNDYyMDE3Y2JiYmY1YTM2NTE5ZDk5ZGNi
MDAxMGQ2ZWE0Y2MuLjk5ZGZjNWJjZGNkYzc5ZTM1M2U5NDkzNmM0ODI4NTM2MTdjNWY1M2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5oCkBA
IC01MCw5ICs1MCw5IEBAIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CiAKIGNsYXNzIFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcgOiBwdWJsaWMgUGVyZm9ybWFuY2VFbnRyeSB7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFBhc3NSZWZQdHI8UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZz4gY3JlYXRlKGNv
bnN0IEF0b21pY1N0cmluZyYgaW5pdGlhdG9yVHlwZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgZG91YmxlIGluaXRpYXRp
b25UaW1lLCBkb3VibGUgZmluaXNoVGltZSwgRG9jdW1lbnQqIHJlcXVlc3RpbmdEb2N1bWVudCkK
KyAgICBzdGF0aWMgUmVmPFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc+IGNyZWF0ZShjb25zdCBB
dG9taWNTdHJpbmcmIGluaXRpYXRvclR5cGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGRvdWJsZSBpbml0aWF0aW9uVGlt
ZSwgZG91YmxlIGZpbmlzaFRpbWUsIERvY3VtZW50KiByZXF1ZXN0aW5nRG9jdW1lbnQpCiAgICAg
ewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmco
aW5pdGlhdG9yVHlwZSwgcmVxdWVzdCwgcmVzcG9uc2UsIGluaXRpYXRpb25UaW1lLCBmaW5pc2hU
aW1lLCByZXF1ZXN0aW5nRG9jdW1lbnQpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyhpbml0aWF0b3JUeXBlLCByZXF1ZXN0LCByZXNwb25z
ZSwgaW5pdGlhdGlvblRpbWUsIGZpbmlzaFRpbWUsIHJlcXVlc3RpbmdEb2N1bWVudCkpOwogICAg
IH0KIAogICAgIEF0b21pY1N0cmluZyBpbml0aWF0b3JUeXBlKCkgY29uc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmgKaW5kZXggYjYxNGYxMzk1MDkyZDNlMTBjYWVkYzM3
M2FhNmU4ZDc4MjAxOTdlZC4uZTU0MTg4YTU4Mzg3Njg2MzNlZGU5MzM3NGYwNjY3YjkxNWU1OTYx
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuaApAQCAtNDcsNyArNDcs
NyBAQCBjbGFzcyBSZXNvdXJjZUxvYWRUaW1pbmc7CiAKIGNsYXNzIFBlcmZvcm1hbmNlVGltaW5n
IDogcHVibGljIFJlZkNvdW50ZWQ8UGVyZm9ybWFuY2VUaW1pbmc+LCBwdWJsaWMgRE9NV2luZG93
UHJvcGVydHkgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBlcmZvcm1hbmNlVGlt
aW5nPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgUGVyZm9ybWFu
Y2VUaW1pbmcoZnJhbWUpKTsgfQorICAgIHN0YXRpYyBSZWY8UGVyZm9ybWFuY2VUaW1pbmc+IGNy
ZWF0ZShGcmFtZSogZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUGVyZm9ybWFuY2VUaW1p
bmcoZnJhbWUpKTsgfQogCiAgICAgdW5zaWduZWQgbG9uZyBsb25nIG5hdmlnYXRpb25TdGFydCgp
IGNvbnN0OwogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyB1bmxvYWRFdmVudFN0YXJ0KCkgY29uc3Q7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVXNlclRpbWluZy5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVVzZXJUaW1pbmcuaAppbmRleCAxNGM4
YzNmOWIxY2NiZTQ1YWZlYzA4MTQxNGMxZjAwODc2ZjAwNTA3Li5hYTIzZmRlYzI0N2MxZWM5ZGYx
NjU0NzNmY2RmNjgxYTIzOGVkOGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlVXNlclRpbWluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VVc2VyVGltaW5nLmgKQEAgLTQ4LDcgKzQ4LDcgQEAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZywg
VmVjdG9yPFJlZlB0cjxQZXJmb3JtYW5jZUVudHJ5PiA+ID4gUGVyZm9ybWFuY2VFbnRyeU1hcDsK
IAogY2xhc3MgVXNlclRpbWluZyA6IHB1YmxpYyBSZWZDb3VudGVkPFVzZXJUaW1pbmc+IHsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxVc2VyVGltaW5nPiBjcmVhdGUoUGVyZm9ybWFu
Y2UqIHBlcmZvcm1hbmNlKSB7IHJldHVybiBhZG9wdFJlZihuZXcgVXNlclRpbWluZyhwZXJmb3Jt
YW5jZSkpOyB9CisgICAgc3RhdGljIFJlZjxVc2VyVGltaW5nPiBjcmVhdGUoUGVyZm9ybWFuY2Uq
IHBlcmZvcm1hbmNlKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFVzZXJUaW1pbmcocGVyZm9ybWFu
Y2UpKTsgfQogCiAgICAgdm9pZCBtYXJrKGNvbnN0IFN0cmluZyYgbWFya05hbWUsIEV4Y2VwdGlv
bkNvZGUmKTsKICAgICB2b2lkIGNsZWFyTWFya3MoY29uc3QgU3RyaW5nJiBtYXJrTmFtZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NjcmVlbi5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TY3JlZW4uaAppbmRleCA5NDcyZTExOTdlOTY2NWUwMGRlODBmMzk0OTRjMjQxNGEwMzJk
YTVmLi4wZWRjZDFhY2RjYjc3YTAxZTVkN2RmOTE5ODgxNDM0Mjc0YmM4NDE0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NjcmVlbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2NyZWVuLmgKQEAgLTQxLDcgKzQxLDcgQEAgY2xhc3MgRnJhbWU7CiAKIGNsYXNzIFNjcmVlbiBm
aW5hbCA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPFNjcmVlbj4s
IHB1YmxpYyBET01XaW5kb3dQcm9wZXJ0eSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8U2NyZWVuPiBjcmVhdGUoRnJhbWUqIGZyYW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU2Ny
ZWVuKGZyYW1lKSk7IH0KKyAgICBzdGF0aWMgUmVmPFNjcmVlbj4gY3JlYXRlKEZyYW1lKiBmcmFt
ZSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JlZW4oZnJhbWUpKTsgfQogCiAgICAgdW5zaWdu
ZWQgaGVpZ2h0KCkgY29uc3Q7CiAgICAgdW5zaWduZWQgd2lkdGgoKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5jcHAKaW5kZXggMWYwZDcxYjJmNGQwZmY2OGI0MTZhYjQ3ZGFkM2I2ZjVhZWVm
NTc3MC4uNzgxNTg5YTIwNWIxNGM5MGFmZjEwMjg4OTcyMjZhOWUyZmFjNGUwNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5jcHAKQEAgLTIxMyw5ICsyMTMsOSBAQCBTZXR0aW5nczo6flNldHRpbmdz
KCkKIHsKIH0KIAotUGFzc1JlZlB0cjxTZXR0aW5ncz4gU2V0dGluZ3M6OmNyZWF0ZShQYWdlKiBw
YWdlKQorUmVmPFNldHRpbmdzPiBTZXR0aW5nczo6Y3JlYXRlKFBhZ2UqIHBhZ2UpCiB7Ci0gICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBTZXR0aW5ncyhwYWdlKSk7CisgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgU2V0dGluZ3MocGFnZSkpOwogfQogCiBTRVRUSU5HU19TRVRURVJfQk9ESUVTCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmgKaW5kZXggNTQxMTVmOTMwMmNlYjllMzhjYzQ3MjM1YjIyZTM3OWE5NDkx
YWRkMi4uOGUwYjUyOTk2MTA5MjQ2OWJjMDM4ZThlM2YyZjQ5M2JhYzA1ZWMxYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuaApAQCAtNzEsNyArNzEsNyBAQCB0eXBlZGVmIHVuc2lnbmVkIERlYnVnT3Zl
cmxheVJlZ2lvbnM7CiBjbGFzcyBTZXR0aW5ncyA6IHB1YmxpYyBSZWZDb3VudGVkPFNldHRpbmdz
PiB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2V0dGluZ3MpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxTZXR0aW5ncz4gY3JlYXRl
KFBhZ2UqKTsKKyAgICBzdGF0aWMgUmVmPFNldHRpbmdzPiBjcmVhdGUoUGFnZSopOwogICAgIH5T
ZXR0aW5ncygpOwogCiAgICAgdm9pZCBwYWdlRGVzdHJveWVkKCkgeyBtX3BhZ2UgPSBudWxscHRy
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1RleHRJbmRpY2F0b3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9UZXh0SW5kaWNhdG9yLmNwcAppbmRleCA5ZjEzNjRkMzM5MDlk
YjZhNzlmYjUwMTQ4MDIwOGQzNjVmYzA0NTdhLi40ODYyZTQ3OWI3NmFlNWViMDlhNWU4ZDZkZjgy
MGJjZmY1M2I0NWI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1RleHRJbmRpY2F0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVGV4dEluZGljYXRvci5jcHAKQEAgLTg1
LDEyICs4NSwxMiBAQCBzdGF0aWMgYm9vbCB0ZXh0SW5kaWNhdG9yc0ZvclRleHRSZWN0c092ZXJs
YXAoY29uc3QgVmVjdG9yPEZsb2F0UmVjdD4mIHRleHRSZWN0cwogICAgIHJldHVybiBmYWxzZTsK
IH0KIAotUGFzc1JlZlB0cjxUZXh0SW5kaWNhdG9yPiBUZXh0SW5kaWNhdG9yOjpjcmVhdGUoY29u
c3QgVGV4dEluZGljYXRvckRhdGEmIGRhdGEpCitSZWY8VGV4dEluZGljYXRvcj4gVGV4dEluZGlj
YXRvcjo6Y3JlYXRlKGNvbnN0IFRleHRJbmRpY2F0b3JEYXRhJiBkYXRhKQogewotICAgIHJldHVy
biBhZG9wdFJlZihuZXcgVGV4dEluZGljYXRvcihkYXRhKSk7CisgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgVGV4dEluZGljYXRvcihkYXRhKSk7CiB9CiAKLVBhc3NSZWZQdHI8VGV4dEluZGljYXRv
cj4gVGV4dEluZGljYXRvcjo6Y3JlYXRlV2l0aFJhbmdlKGNvbnN0IFJhbmdlJiByYW5nZSwgVGV4
dEluZGljYXRvclByZXNlbnRhdGlvblRyYW5zaXRpb24gcHJlc2VudGF0aW9uVHJhbnNpdGlvbikK
K1JlZlB0cjxUZXh0SW5kaWNhdG9yPiBUZXh0SW5kaWNhdG9yOjpjcmVhdGVXaXRoUmFuZ2UoY29u
c3QgUmFuZ2UmIHJhbmdlLCBUZXh0SW5kaWNhdG9yUHJlc2VudGF0aW9uVHJhbnNpdGlvbiBwcmVz
ZW50YXRpb25UcmFuc2l0aW9uKQogewogICAgIEZyYW1lKiBmcmFtZSA9IHJhbmdlLnN0YXJ0Q29u
dGFpbmVyKCktPmRvY3VtZW50KCkuZnJhbWUoKTsKIApAQCAtMTA5LDcgKzEwOSw3IEBAIFBhc3NS
ZWZQdHI8VGV4dEluZGljYXRvcj4gVGV4dEluZGljYXRvcjo6Y3JlYXRlV2l0aFJhbmdlKGNvbnN0
IFJhbmdlJiByYW5nZSwgVGV4CiAKIC8vIEZJWE1FICgxMzg4ODkpOiBJZGVhbGx5IHRoZSBGcmFt
ZVNuYXBzaG90dGluZyBmdW5jdGlvbnMgd291bGQgYmUgbW9yZSBmbGV4aWJsZQogLy8gYW5kIHdl
IHdvdWxkbid0IGhhdmUgdG8gaW1wbGVtZW50IHRoaXMgaGVyZS4KLXN0YXRpYyBQYXNzUmVmUHRy
PEltYWdlPiBzbmFwc2hvdFNlbGVjdGlvbldpdGhIaWdobGlnaHQoRnJhbWUmIGZyYW1lKQorc3Rh
dGljIFJlZlB0cjxJbWFnZT4gc25hcHNob3RTZWxlY3Rpb25XaXRoSGlnaGxpZ2h0KEZyYW1lJiBm
cmFtZSkKIHsKICAgICBhdXRvJiBzZWxlY3Rpb24gPSBmcmFtZS5zZWxlY3Rpb24oKTsKIApAQCAt
MTMwLDcgKzEzMCw3IEBAIHN0YXRpYyBQYXNzUmVmUHRyPEltYWdlPiBzbmFwc2hvdFNlbGVjdGlv
bldpdGhIaWdobGlnaHQoRnJhbWUmIGZyYW1lKQogICAgIHJldHVybiBzbmFwc2hvdC0+Y29weUlt
YWdlKENvcHlCYWNraW5nU3RvcmUsIFVuc2NhbGVkKTsKIH0KIAotUGFzc1JlZlB0cjxUZXh0SW5k
aWNhdG9yPiBUZXh0SW5kaWNhdG9yOjpjcmVhdGVXaXRoU2VsZWN0aW9uSW5GcmFtZShGcmFtZSYg
ZnJhbWUsIFRleHRJbmRpY2F0b3JQcmVzZW50YXRpb25UcmFuc2l0aW9uIHByZXNlbnRhdGlvblRy
YW5zaXRpb24pCitSZWZQdHI8VGV4dEluZGljYXRvcj4gVGV4dEluZGljYXRvcjo6Y3JlYXRlV2l0
aFNlbGVjdGlvbkluRnJhbWUoRnJhbWUmIGZyYW1lLCBUZXh0SW5kaWNhdG9yUHJlc2VudGF0aW9u
VHJhbnNpdGlvbiBwcmVzZW50YXRpb25UcmFuc2l0aW9uKQogewogICAgIEludFJlY3Qgc2VsZWN0
aW9uUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QoZnJhbWUuc2VsZWN0aW9uKCkuc2VsZWN0aW9uQm91
bmRzKCkpOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gaW5kaWNhdG9yQnVmZmVy
ID0gc25hcHNob3RTZWxlY3Rpb24oZnJhbWUsIFNuYXBzaG90T3B0aW9uc0ZvcmNlQmxhY2tUZXh0
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVGV4dEluZGljYXRvci5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9UZXh0SW5kaWNhdG9yLmgKaW5kZXggYzY2NGZiNjJlODIyNGUxMGE2
ZjVjZjVhYTA1NDMwZmM2NDZiN2Y4Ny4uYzZjOWZmYmRkNjM1MmQyMzNkODU2NGMyOWVhYzBmYzIx
MjEzMDhiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9UZXh0SW5kaWNhdG9yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9UZXh0SW5kaWNhdG9yLmgKQEAgLTgxLDkgKzgxLDkg
QEAgc3RydWN0IFRleHRJbmRpY2F0b3JEYXRhIHsKIAogY2xhc3MgVGV4dEluZGljYXRvciA6IHB1
YmxpYyBSZWZDb3VudGVkPFRleHRJbmRpY2F0b3I+IHsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VY
UE9SVCBzdGF0aWMgUGFzc1JlZlB0cjxUZXh0SW5kaWNhdG9yPiBjcmVhdGUoY29uc3QgVGV4dElu
ZGljYXRvckRhdGEmKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUGFzc1JlZlB0cjxUZXh0
SW5kaWNhdG9yPiBjcmVhdGVXaXRoU2VsZWN0aW9uSW5GcmFtZShGcmFtZSYsIFRleHRJbmRpY2F0
b3JQcmVzZW50YXRpb25UcmFuc2l0aW9uKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUGFz
c1JlZlB0cjxUZXh0SW5kaWNhdG9yPiBjcmVhdGVXaXRoUmFuZ2UoY29uc3QgUmFuZ2UmLCBUZXh0
SW5kaWNhdG9yUHJlc2VudGF0aW9uVHJhbnNpdGlvbik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3Rh
dGljIFJlZjxUZXh0SW5kaWNhdG9yPiBjcmVhdGUoY29uc3QgVGV4dEluZGljYXRvckRhdGEmKTsK
KyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmUHRyPFRleHRJbmRpY2F0b3I+IGNyZWF0ZVdp
dGhTZWxlY3Rpb25JbkZyYW1lKEZyYW1lJiwgVGV4dEluZGljYXRvclByZXNlbnRhdGlvblRyYW5z
aXRpb24pOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWZQdHI8VGV4dEluZGljYXRvcj4g
Y3JlYXRlV2l0aFJhbmdlKGNvbnN0IFJhbmdlJiwgVGV4dEluZGljYXRvclByZXNlbnRhdGlvblRy
YW5zaXRpb24pOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgflRleHRJbmRpY2F0b3IoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyQ29udGVudENvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyQ29udGVudENvbnRyb2xsZXIuY3BwCmluZGV4IDNkNjQ5
NGNhMmUzYWMzMWY2NGNlZTRkNDkwMTE1NDA5ZWRjMTFkYmIuLmVlYTk1MWEyMzZkZGIxM2NkYTEw
ODUzNzZjOWJlNGFmNzhjMzZiMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNl
ckNvbnRlbnRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJDb250
ZW50Q29udHJvbGxlci5jcHAKQEAgLTQ1LDkgKzQ1LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1SZWZQdHI8VXNlckNvbnRlbnRDb250cm9sbGVyPiBVc2VyQ29udGVudENvbnRyb2xsZXI6
OmNyZWF0ZSgpCitSZWY8VXNlckNvbnRlbnRDb250cm9sbGVyPiBVc2VyQ29udGVudENvbnRyb2xs
ZXI6OmNyZWF0ZSgpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBVc2VyQ29udGVudENvbnRy
b2xsZXIpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFVzZXJDb250ZW50Q29udHJvbGxlcik7
CiB9CiAKIFVzZXJDb250ZW50Q29udHJvbGxlcjo6VXNlckNvbnRlbnRDb250cm9sbGVyKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlckNvbnRlbnRDb250cm9sbGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJDb250ZW50Q29udHJvbGxlci5oCmluZGV4IDY2MzAxNGU5
ZTY1MWU4MTAxZDY2ZmM4OGQzZjFkYjNiZTQxYjFkMWYuLmQ5Nzk3ZWE2ZTY5OTdkMDJmNmNiN2Iw
MDg5M2ZjNWFjNmJiNWZhZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlckNv
bnRlbnRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Vc2VyQ29udGVudENv
bnRyb2xsZXIuaApAQCAtNjAsNyArNjAsNyBAQCBzdHJ1Y3QgQWN0aW9uOwogCiBjbGFzcyBVc2Vy
Q29udGVudENvbnRyb2xsZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxVc2VyQ29udGVudENvbnRyb2xs
ZXI+IHsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmUHRyPFVzZXJDb250
ZW50Q29udHJvbGxlcj4gY3JlYXRlKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZjxV
c2VyQ29udGVudENvbnRyb2xsZXI+IGNyZWF0ZSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5Vc2Vy
Q29udGVudENvbnRyb2xsZXIoKTsKIAogICAgIHZvaWQgYWRkUGFnZShQYWdlJik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3IuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5oCmluZGV4
IDY0NGJhZTc4NjJiYWM0MzgxNjI5OGUzOGE4YjlmMDQxMzVkYjk5YTQuLjQ0ZGIzYWY4YjYwYjJk
Y2Y3NWFlMzdlMTBiMGMyZjcxMTA5MWIyMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5oCkBAIC00OCw5ICs0OCw5IEBAIHB1Ymxp
YzoKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFBvc3RNZXNzYWdlKFVzZXJNZXNzYWdlSGFuZGxl
ciYsIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSopID0gMDsKICAgICB9OwogCi0gICAgc3RhdGljIFBh
c3NSZWZQdHI8VXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvcj4gY3JlYXRlKGNvbnN0IEF0b21p
Y1N0cmluZyYgbmFtZSwgRE9NV3JhcHBlcldvcmxkJiB3b3JsZCwgQ2xpZW50JiBjbGllbnQpCisg
ICAgc3RhdGljIFJlZjxVc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yPiBjcmVhdGUoY29uc3Qg
QXRvbWljU3RyaW5nJiBuYW1lLCBET01XcmFwcGVyV29ybGQmIHdvcmxkLCBDbGllbnQmIGNsaWVu
dCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVXNlck1lc3NhZ2VIYW5kbGVy
RGVzY3JpcHRvcihuYW1lLCB3b3JsZCwgY2xpZW50KSk7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFVzZXJNZXNzYWdlSGFuZGxlckRlc2NyaXB0b3IobmFtZSwgd29ybGQsIGNsaWVudCkp
OwogICAgIH0KICAgICBXRUJDT1JFX0VYUE9SVCB+VXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRv
cigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1VzZXJNZXNzYWdlSGFuZGxl
cnNOYW1lc3BhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyc05h
bWVzcGFjZS5oCmluZGV4IDM2ZjliMmRkMGZmMjg3ZjNlZjkzM2I1NTMyNTNmMWFjMWU5NDMyMDUu
LjRlZWNiNTAzYmMxYTRhYTJiMjRmOWMzYzk3Y2VlMmYzNzdhMTgxYTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5oCkBAIC0zMCw3
ICszMCw2IEBACiAKICNpbmNsdWRlICJGcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIuaCIKICNpbmNs
dWRlICJVc2VyTWVzc2FnZUhhbmRsZXIuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlz
aXRlZExpbmtTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9WaXNpdGVkTGlua1N0b3JlLmgK
aW5kZXggM2U0NzAzYzk0NWU4MzdkMzFiNmY4YjY0MzZhZDY5MjJiMTNjYzUyZS4uNDU5NGE1OTJl
OGQ2ZDVhOThmNzA0ZmMwNjU3NmZiYTJjMDVkOGUwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9WaXNpdGVkTGlua1N0b3JlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9WaXNp
dGVkTGlua1N0b3JlLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2ViS2l0TmFtZXNwYWNlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1dlYktpdE5hbWVzcGFjZS5oCmluZGV4IDY1OGQwZTE1MThkYzRlMjUxM2Jh
ZGNhY2E2MTkzOTE3MDc1MmU1MTAuLmY4NWY0MTkwM2NmZDQ1YWRlOWYzMDdmZWMzZDg5MjM5NmYw
Yzk5YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2ViS2l0TmFtZXNwYWNlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XZWJLaXROYW1lc3BhY2UuaApAQCAtMjksNyArMjks
NiBAQAogI2lmIEVOQUJMRShVU0VSX01FU1NBR0VfSEFORExFUlMpCiAKICNpbmNsdWRlICJET01X
aW5kb3dQcm9wZXJ0eS5oIgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTQwLDkgKzM5LDkg
QEAgY2xhc3MgVXNlck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZTsKIAogY2xhc3MgV2ViS2l0TmFt
ZXNwYWNlIDogcHVibGljIERPTVdpbmRvd1Byb3BlcnR5LCBwdWJsaWMgUmVmQ291bnRlZDxXZWJL
aXROYW1lc3BhY2U+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJLaXROYW1l
c3BhY2U+IGNyZWF0ZShGcmFtZSYgZnJhbWUpCisgICAgc3RhdGljIFJlZjxXZWJLaXROYW1lc3Bh
Y2U+IGNyZWF0ZShGcmFtZSYgZnJhbWUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IFdlYktpdE5hbWVzcGFjZShmcmFtZSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBXZWJLaXROYW1lc3BhY2UoZnJhbWUpKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIH5XZWJLaXRO
YW1lc3BhY2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2ViS2l0UG9pbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2ViS2l0UG9pbnQuaAppbmRleCA0MDA0NzI0NzY0OTdk
ZGJlODc5NzMwZGI5ZGJlNjdlOTNkZDBlOGQzLi42NGZmYWVkNGJmMTczZmUyMTE5NTdmNzkwNzlj
YjllOWVmMjU0YzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1dlYktpdFBvaW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9XZWJLaXRQb2ludC5oCkBAIC0zNCwxMyArMzQs
MTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFdlYktpdFBvaW50IDogcHVibGlj
IFJlZkNvdW50ZWQ8V2ViS2l0UG9pbnQ+IHsKICAgICBwdWJsaWM6CiAKLSAgICAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8V2ViS2l0UG9pbnQ+IGNyZWF0ZSgpCisgICAgICAgIHN0YXRpYyBSZWY8V2Vi
S2l0UG9pbnQ+IGNyZWF0ZSgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgV2ViS2l0UG9pbnQoKSk7CisgICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBX
ZWJLaXRQb2ludCk7CiAgICAgICAgIH0KLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViS2l0
UG9pbnQ+IGNyZWF0ZShmbG9hdCB4LCBmbG9hdCB5KQorICAgICAgICBzdGF0aWMgUmVmPFdlYktp
dFBvaW50PiBjcmVhdGUoZmxvYXQgeCwgZmxvYXQgeSkKICAgICAgICAgewotICAgICAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJLaXRQb2ludCh4LCB5KSk7CisgICAgICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBXZWJLaXRQb2ludCh4LCB5KSk7CiAgICAgICAgIH0KIAogICAgICAg
ICBmbG9hdCB4KCkgY29uc3QgeyByZXR1cm4gbV94OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1dvcmtlck5hdmlnYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Xb3JrZXJO
YXZpZ2F0b3IuaAppbmRleCBjZmYwN2FlNzA4OTlmZmJiMDk1MGM0YjM5YTUxYjk4ZjcwM2M4ODg4
Li4zYWVlYWFiOGM0MGM1MDYyYTA2MDQ5NGM4MDJhNThhOGI3OThlNjA0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1dvcmtlck5hdmlnYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvV29ya2VyTmF2aWdhdG9yLmgKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBXb3JrZXJOYXZpZ2F0b3IgOiBwdWJsaWMgTmF2aWdhdG9yQmFzZSwgcHVi
bGljIFJlZkNvdW50ZWQ8V29ya2VyTmF2aWdhdG9yPiwgcHVibGljIFN1cHBsZW1lbnRhYmxlPFdv
cmtlck5hdmlnYXRvcj4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdvcmtlck5h
dmlnYXRvcj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgdXNlckFnZW50KSB7IHJldHVybiBhZG9wdFJl
ZihuZXcgV29ya2VyTmF2aWdhdG9yKHVzZXJBZ2VudCkpOyB9CisgICAgc3RhdGljIFJlZjxXb3Jr
ZXJOYXZpZ2F0b3I+IGNyZWF0ZShjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCkgeyByZXR1cm4gYWRv
cHRSZWYoKm5ldyBXb3JrZXJOYXZpZ2F0b3IodXNlckFnZW50KSk7IH0KICAgICB2aXJ0dWFsIH5X
b3JrZXJOYXZpZ2F0b3IoKTsKIAogICAgIHZpcnR1YWwgU3RyaW5nIHVzZXJBZ2VudCgpIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmlt
YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0ltcGxpY2l0QW5pbWF0aW9u
LmgKaW5kZXggMTZkNjcwMmQ2NDU3MTkzNjg2ZDJkMzJlYTIwODI4ZTY3YThlYjgwOS4uYzM0MjU5
NzU3OGY0ZmY1YTU4NjYyYTM4YzIzODI3YmExZjBhNzkyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9hbmltYXRpb24vSW1wbGljaXRBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2FuaW1hdGlvbi9JbXBsaWNpdEFuaW1hdGlvbi5oCkBAIC00MSw5ICs0MSw5IEBA
IGNsYXNzIFJlbmRlckVsZW1lbnQ7CiAvLyBmb3IgYSBzaW5nbGUgUmVuZGVyRWxlbWVudC4KIGNs
YXNzIEltcGxpY2l0QW5pbWF0aW9uIDogcHVibGljIEFuaW1hdGlvbkJhc2UgewogcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEltcGxpY2l0QW5pbWF0aW9uPiBjcmVhdGUoQW5pbWF0aW9u
JiBhbmltYXRpb24sIENTU1Byb3BlcnR5SUQgYW5pbWF0aW5nUHJvcGVydHksIFJlbmRlckVsZW1l
bnQqIHJlbmRlcmVyLCBDb21wb3NpdGVBbmltYXRpb24qIGNvbXBvc2l0ZUFuaW1hdGlvbiwgUmVu
ZGVyU3R5bGUqIGZyb21TdHlsZSkKKyAgICBzdGF0aWMgUmVmPEltcGxpY2l0QW5pbWF0aW9uPiBj
cmVhdGUoQW5pbWF0aW9uJiBhbmltYXRpb24sIENTU1Byb3BlcnR5SUQgYW5pbWF0aW5nUHJvcGVy
dHksIFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyLCBDb21wb3NpdGVBbmltYXRpb24qIGNvbXBvc2l0
ZUFuaW1hdGlvbiwgUmVuZGVyU3R5bGUqIGZyb21TdHlsZSkKICAgICB7Ci0gICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgSW1wbGljaXRBbmltYXRpb24oYW5pbWF0aW9uLCBhbmltYXRpbmdQcm9w
ZXJ0eSwgcmVuZGVyZXIsIGNvbXBvc2l0ZUFuaW1hdGlvbiwgZnJvbVN0eWxlKSk7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IEltcGxpY2l0QW5pbWF0aW9uKGFuaW1hdGlvbiwgYW5pbWF0
aW5nUHJvcGVydHksIHJlbmRlcmVyLCBjb21wb3NpdGVBbmltYXRpb24sIGZyb21TdHlsZSkpOwog
ICAgIH07CiAgICAgCiAgICAgQ1NTUHJvcGVydHlJRCB0cmFuc2l0aW9uUHJvcGVydHkoKSBjb25z
dCB7IHJldHVybiBtX3RyYW5zaXRpb25Qcm9wZXJ0eTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmgKaW5kZXggZTQzMjQzYzMxMmZkMjFj
YjAwMzM1ODVmZjBjNGQ4NDY1ZTJiMmZmMi4uMzI4NDA0YjViYTY4ZWQ1ZTg3NzIyOTZhOTg1YTQ2
YzZiMGE5ODIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5
ZnJhbWVBbmltYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlm
cmFtZUFuaW1hdGlvbi5oCkBAIC00MCw5ICs0MCw5IEBAIGNsYXNzIFJlbmRlclN0eWxlOwogLy8g
QSBLZXlmcmFtZUFuaW1hdGlvbiB0cmFja3MgdGhlIHN0YXRlIG9mIGFuIGV4cGxpY2l0IGFuaW1h
dGlvbiBmb3IgYSBzaW5nbGUgUmVuZGVyRWxlbWVudC4KIGNsYXNzIEtleWZyYW1lQW5pbWF0aW9u
IGZpbmFsIDogcHVibGljIEFuaW1hdGlvbkJhc2UgewogcHVibGljOgotICAgIHN0YXRpYyBSZWZQ
dHI8S2V5ZnJhbWVBbmltYXRpb24+IGNyZWF0ZShBbmltYXRpb24mIGFuaW1hdGlvbiwgUmVuZGVy
RWxlbWVudCogcmVuZGVyZXIsIGludCBpbmRleCwgQ29tcG9zaXRlQW5pbWF0aW9uKiBjb21wb3Np
dGVBbmltYXRpb24sIFJlbmRlclN0eWxlKiB1bmFuaW1hdGVkU3R5bGUpCisgICAgc3RhdGljIFJl
ZjxLZXlmcmFtZUFuaW1hdGlvbj4gY3JlYXRlKEFuaW1hdGlvbiYgYW5pbWF0aW9uLCBSZW5kZXJF
bGVtZW50KiByZW5kZXJlciwgaW50IGluZGV4LCBDb21wb3NpdGVBbmltYXRpb24qIGNvbXBvc2l0
ZUFuaW1hdGlvbiwgUmVuZGVyU3R5bGUqIHVuYW5pbWF0ZWRTdHlsZSkKICAgICB7Ci0gICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgS2V5ZnJhbWVBbmltYXRpb24oYW5pbWF0aW9uLCByZW5kZXJl
ciwgaW5kZXgsIGNvbXBvc2l0ZUFuaW1hdGlvbiwgdW5hbmltYXRlZFN0eWxlKSk7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IEtleWZyYW1lQW5pbWF0aW9uKGFuaW1hdGlvbiwgcmVuZGVy
ZXIsIGluZGV4LCBjb21wb3NpdGVBbmltYXRpb24sIHVuYW5pbWF0ZWRTdHlsZSkpOwogICAgIH0K
IAogICAgIHZpcnR1YWwgYm9vbCBhbmltYXRlKENvbXBvc2l0ZUFuaW1hdGlvbiosIFJlbmRlckVs
ZW1lbnQqLCBjb25zdCBSZW5kZXJTdHlsZSogY3VycmVudFN0eWxlLCBSZW5kZXJTdHlsZSogdGFy
Z2V0U3R5bGUsIFJlZlB0cjxSZW5kZXJTdHlsZT4mIGFuaW1hdGVkU3R5bGUpIG92ZXJyaWRlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJv
bGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxl
ci5oCmluZGV4IDNjZThmMDEzMTI4MDIwZDYyY2IwMzNmNTAzOGFjYzkwN2FhNGZhYzQuLjA3ZTM2
MmY1OGMwZjgwNzY4YjU0OGQ5MTNmYmU5YmMyMTMxNTRhYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmgKQEAgLTU3LDggKzU3
LDggQEAgcHJpdmF0ZToKICAgICBjbGFzcyBIaWdobGlnaHQgOiBwdWJsaWMgUmVmQ291bnRlZDxI
aWdobGlnaHQ+LCBwcml2YXRlIEdyYXBoaWNzTGF5ZXJDbGllbnQgewogICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShIaWdobGlnaHQpOwogICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8SGlnaGxpZ2h0PiBjcmVhdGVGb3JTZWxlY3Rpb24oU2VydmljZXNPdmVybGF5Q29u
dHJvbGxlciYsIFJldGFpblB0cjxEREhpZ2hsaWdodFJlZj4sIFBhc3NSZWZQdHI8UmFuZ2U+KTsK
LSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8SGlnaGxpZ2h0PiBjcmVhdGVGb3JUZWxlcGhvbmVO
dW1iZXIoU2VydmljZXNPdmVybGF5Q29udHJvbGxlciYsIFJldGFpblB0cjxEREhpZ2hsaWdodFJl
Zj4sIFBhc3NSZWZQdHI8UmFuZ2U+KTsKKyAgICAgICAgc3RhdGljIFJlZjxIaWdobGlnaHQ+IGNy
ZWF0ZUZvclNlbGVjdGlvbihTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyJiwgUmV0YWluUHRyPERE
SGlnaGxpZ2h0UmVmPiwgUGFzc1JlZlB0cjxSYW5nZT4pOworICAgICAgICBzdGF0aWMgUmVmPEhp
Z2hsaWdodD4gY3JlYXRlRm9yVGVsZXBob25lTnVtYmVyKFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xs
ZXImLCBSZXRhaW5QdHI8RERIaWdobGlnaHRSZWY+LCBQYXNzUmVmUHRyPFJhbmdlPik7CiAgICAg
ICAgIH5IaWdobGlnaHQoKTsKIAogICAgICAgICB2b2lkIGludmFsaWRhdGUoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCmlu
ZGV4IGVmOTM5ZDU5YzU5MjY2ZWMwYTU5MzJiMWIwYmU5OTM3OWZlZGJhZjMuLjkzOTgyMzBmYjA3
OWVmMmRhYjlhN2NjMDkxMTIxMjNhM2I4NDQyZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQpAQCAtNTUsMTQgKzU1LDE0
IEBAIGNvbnN0IGZsb2F0IGhpZ2hsaWdodEZhZGVBbmltYXRpb25EdXJhdGlvbiA9IDAuMzsKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xs
ZXI6OkhpZ2hsaWdodD4gU2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6SGlnaGxpZ2h0OjpjcmVh
dGVGb3JTZWxlY3Rpb24oU2VydmljZXNPdmVybGF5Q29udHJvbGxlciYgY29udHJvbGxlciwgUmV0
YWluUHRyPERESGlnaGxpZ2h0UmVmPiBkZEhpZ2hsaWdodCwgUGFzc1JlZlB0cjxSYW5nZT4gcmFu
Z2UpCitSZWY8U2VydmljZXNPdmVybGF5Q29udHJvbGxlcjo6SGlnaGxpZ2h0PiBTZXJ2aWNlc092
ZXJsYXlDb250cm9sbGVyOjpIaWdobGlnaHQ6OmNyZWF0ZUZvclNlbGVjdGlvbihTZXJ2aWNlc092
ZXJsYXlDb250cm9sbGVyJiBjb250cm9sbGVyLCBSZXRhaW5QdHI8RERIaWdobGlnaHRSZWY+IGRk
SGlnaGxpZ2h0LCBQYXNzUmVmUHRyPFJhbmdlPiByYW5nZSkKIHsKLSAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IEhpZ2hsaWdodChjb250cm9sbGVyLCBUeXBlOjpTZWxlY3Rpb24sIGRkSGlnaGxpZ2h0
LCByYW5nZSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEhpZ2hsaWdodChjb250cm9sbGVy
LCBUeXBlOjpTZWxlY3Rpb24sIGRkSGlnaGxpZ2h0LCByYW5nZSkpOwogfQogCi1QYXNzUmVmUHRy
PFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXI6OkhpZ2hsaWdodD4gU2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcjo6SGlnaGxpZ2h0OjpjcmVhdGVGb3JUZWxlcGhvbmVOdW1iZXIoU2VydmljZXNPdmVy
bGF5Q29udHJvbGxlciYgY29udHJvbGxlciwgUmV0YWluUHRyPERESGlnaGxpZ2h0UmVmPiBkZEhp
Z2hsaWdodCwgUGFzc1JlZlB0cjxSYW5nZT4gcmFuZ2UpCitSZWY8U2VydmljZXNPdmVybGF5Q29u
dHJvbGxlcjo6SGlnaGxpZ2h0PiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyOjpIaWdobGlnaHQ6
OmNyZWF0ZUZvclRlbGVwaG9uZU51bWJlcihTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyJiBjb250
cm9sbGVyLCBSZXRhaW5QdHI8RERIaWdobGlnaHRSZWY+IGRkSGlnaGxpZ2h0LCBQYXNzUmVmUHRy
PFJhbmdlPiByYW5nZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEhpZ2hsaWdodChjb250
cm9sbGVyLCBUeXBlOjpUZWxlcGhvbmVOdW1iZXIsIGRkSGlnaGxpZ2h0LCByYW5nZSkpOworICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IEhpZ2hsaWdodChjb250cm9sbGVyLCBUeXBlOjpUZWxlcGhv
bmVOdW1iZXIsIGRkSGlnaGxpZ2h0LCByYW5nZSkpOwogfQogCiBTZXJ2aWNlc092ZXJsYXlDb250
cm9sbGVyOjpIaWdobGlnaHQ6OkhpZ2hsaWdodChTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyJiBj
b250cm9sbGVyLCBUeXBlIHR5cGUsIFJldGFpblB0cjxEREhpZ2hsaWdodFJlZj4gZGRIaWdobGln
aHQsIFBhc3NSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+IHJhbmdlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IGUz
NjdiZjJkOWE1NDVhNzU0ZTg5MDI5OTM0ODU5NzQ4MWU0NWFlYjMuLjMzM2FmYzg3MWE3NTM4ZjZm
YjNiZGM0YzNkYmQ0MmIzYWVjZmRhMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKQEAgLTU1LDEzICs1NSwxMyBA
QAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQotUGFzc1JlZlB0
cjxTY3JvbGxpbmdDb29yZGluYXRvcj4gU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmNyZWF0ZShQYWdl
KiBwYWdlKQorUmVmPFNjcm9sbGluZ0Nvb3JkaW5hdG9yPiBTY3JvbGxpbmdDb29yZGluYXRvcjo6
Y3JlYXRlKFBhZ2UqIHBhZ2UpCiB7CiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQotICAg
IHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDb29yZGluYXRlZEdyYXBo
aWNzKHBhZ2UpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdDb29yZGluYXRv
ckNvb3JkaW5hdGVkR3JhcGhpY3MocGFnZSkpOwogI2VuZGlmCiAKLSAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFNjcm9sbGluZ0Nvb3JkaW5hdG9yKHBhZ2UpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBTY3JvbGxpbmdDb29yZGluYXRvcihwYWdlKSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmgKaW5k
ZXggN2JlMGEzZGExMjk2OTVhZDMzMzM0ODkzOTkxZDJhZDc4MTY2ZDRiNC4uMDdjNjA3YWNkZGJm
MGQwODBjMmRlNThjMGY5MDU3M2JiNTdhMzMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCkBAIC0xMDYsNyArMTA2LDcg
QEAgc3RydWN0IFNjcm9sbGFibGVBcmVhUGFyYW1ldGVycyB7CiAKIGNsYXNzIFNjcm9sbGluZ0Nv
b3JkaW5hdG9yIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFNjcm9sbGluZ0Nvb3JkaW5h
dG9yPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U2Nyb2xsaW5nQ29vcmRpbmF0
b3I+IGNyZWF0ZShQYWdlKik7CisgICAgc3RhdGljIFJlZjxTY3JvbGxpbmdDb29yZGluYXRvcj4g
Y3JlYXRlKFBhZ2UqKTsKICAgICB2aXJ0dWFsIH5TY3JvbGxpbmdDb29yZGluYXRvcigpOwogCiAg
ICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB2b2lkIHBhZ2VEZXN0cm95ZWQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2Rl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWRO
b2RlLmNwcAppbmRleCBlM2FkZTUyYTFkOTQ5NmI1MjFlMDE0M2QxZjljOTZiMjk5YjJiOTNmLi5j
Y2RjODMyYTBjMDcwNDUwM2NiY2U1OTk2NzFmOWM0NmExOTMxMTliIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUu
Y3BwCkBAIC0zNCw5ICszNCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0
cjxTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZT4gU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU6OmNyZWF0
ZShTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkK
K1JlZjxTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZT4gU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU6OmNy
ZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJ
RCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlKHN0
YXRlVHJlZSwgbm9kZUlEKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nU3Rh
dGVGaXhlZE5vZGUoc3RhdGVUcmVlLCBub2RlSUQpKTsKIH0KIAogU2Nyb2xsaW5nU3RhdGVGaXhl
ZE5vZGU6OlNjcm9sbGluZ1N0YXRlRml4ZWROb2RlKFNjcm9sbGluZ1N0YXRlVHJlZSYgdHJlZSwg
U2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKQEAgLTU0LDkgKzU0LDkgQEAgU2Nyb2xsaW5nU3RhdGVG
aXhlZE5vZGU6On5TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZSgpCiB7CiB9CiAKLVBhc3NSZWZQdHI8
U2Nyb2xsaW5nU3RhdGVOb2RlPiBTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZTo6Y2xvbmUoU2Nyb2xs
aW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRyZWUpCitSZWY8U2Nyb2xsaW5nU3RhdGVOb2RlPiBTY3Jv
bGxpbmdTdGF0ZUZpeGVkTm9kZTo6Y2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRy
ZWUpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZSgq
dGhpcywgYWRvcHRpdmVUcmVlKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5n
U3RhdGVGaXhlZE5vZGUoKnRoaXMsIGFkb3B0aXZlVHJlZSkpOwogfQogCiB2b2lkIFNjcm9sbGlu
Z1N0YXRlRml4ZWROb2RlOjp1cGRhdGVDb25zdHJhaW50cyhjb25zdCBGaXhlZFBvc2l0aW9uVmll
d3BvcnRDb25zdHJhaW50cyYgY29uc3RyYWludHMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuaAppbmRleCA2ZDlkNjU0
MDVlNTUzOWE3YjhiODI3NWI5NDQxODk1NTFlNjZhYTI3Li45OGNiMGNhMTA1YmM5YmE1M2Y5N2Qy
OWJiNmJkNmE0MTUxMjExY2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRml4ZWROb2RlLmgKQEAgLTM5LDkgKzM5LDkgQEAgY2xh
c3MgRml4ZWRQb3NpdGlvblZpZXdwb3J0Q29uc3RyYWludHM7CiAKIGNsYXNzIFNjcm9sbGluZ1N0
YXRlRml4ZWROb2RlIGZpbmFsIDogcHVibGljIFNjcm9sbGluZ1N0YXRlTm9kZSB7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU+IGNyZWF0ZShT
Y3JvbGxpbmdTdGF0ZVRyZWUmLCBTY3JvbGxpbmdOb2RlSUQpOworICAgIHN0YXRpYyBSZWY8U2Ny
b2xsaW5nU3RhdGVGaXhlZE5vZGU+IGNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUmLCBTY3JvbGxp
bmdOb2RlSUQpOwogCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRlTm9kZT4g
Y2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBSZWY8U2Ny
b2xsaW5nU3RhdGVOb2RlPiBjbG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUmKSBvdmVycmlkZTsKIAog
ICAgIHZpcnR1YWwgflNjcm9sbGluZ1N0YXRlRml4ZWROb2RlKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdO
b2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlRnJh
bWVTY3JvbGxpbmdOb2RlLmNwcAppbmRleCAzMjZkOWU4ZjRiNjVmNDZlOTczMTE3MmM5NDE3NGY4
ODQwZmE5OWQyLi44NTAzOTM2YTFhNTFhNTU3MjVlNWRjMjMzYjFmN2NlZTY2NGYzNDdkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZyYW1l
U2Nyb2xsaW5nTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuY3BwCkBAIC0zMyw5ICszMyw5IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xs
aW5nTm9kZT4gU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OmNyZWF0ZShTY3JvbGxp
bmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKK1JlZjxTY3Jv
bGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZT4gU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGlu
Z05vZGU6OmNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSwgU2Nyb2xsaW5nTm9k
ZUlEIG5vZGVJRCkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9sbGluZ1N0YXRlRnJh
bWVTY3JvbGxpbmdOb2RlKHN0YXRlVHJlZSwgbm9kZUlEKSk7CisgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUoc3RhdGVUcmVlLCBub2RlSUQp
KTsKIH0KIAogU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OlNjcm9sbGluZ1N0YXRl
RnJhbWVTY3JvbGxpbmdOb2RlKFNjcm9sbGluZ1N0YXRlVHJlZSYgc3RhdGVUcmVlLCBTY3JvbGxp
bmdOb2RlSUQgbm9kZUlEKQpAQCAtODMsOSArODMsOSBAQCBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Ny
b2xsaW5nTm9kZTo6flNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlKCkKIHsKIH0KIAot
UGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0ZU5vZGU+IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxp
bmdOb2RlOjpjbG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUmIGFkb3B0aXZlVHJlZSkKK1JlZjxTY3Jv
bGxpbmdTdGF0ZU5vZGU+IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlOjpjbG9uZShT
Y3JvbGxpbmdTdGF0ZVRyZWUmIGFkb3B0aXZlVHJlZSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlKCp0aGlzLCBhZG9wdGl2ZVRyZWUp
KTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5n
Tm9kZSgqdGhpcywgYWRvcHRpdmVUcmVlKSk7CiB9CiAKIHZvaWQgU2Nyb2xsaW5nU3RhdGVGcmFt
ZVNjcm9sbGluZ05vZGU6OnNldEZyYW1lU2NhbGVGYWN0b3IoZmxvYXQgc2NhbGVGYWN0b3IpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZUZy
YW1lU2Nyb2xsaW5nTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuaAppbmRleCAyYWFhOGIwZjRjZTU2OGE5MjQ5M2Yw
NDk3NGE3YjI4NGQ0ZDUxZTZhLi5kNTdkMWZkOWY3MGE4NmM5MmE5MGFlMzFjNzVhNzk1MmZjZDY5
Y2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlLmgKQEAgLTQwLDkgKzQwLDkgQEAg
Y2xhc3MgU2Nyb2xsYmFyOwogCiBjbGFzcyBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9k
ZSBmaW5hbCA6IHB1YmxpYyBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUgewogcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlPiBj
cmVhdGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKKyAgICBzdGF0aWMg
UmVmPFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlPiBjcmVhdGUoU2Nyb2xsaW5nU3Rh
dGVUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKIAotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTY3Jv
bGxpbmdTdGF0ZU5vZGU+IGNsb25lKFNjcm9sbGluZ1N0YXRlVHJlZSYpIG92ZXJyaWRlOworICAg
IHZpcnR1YWwgUmVmPFNjcm9sbGluZ1N0YXRlTm9kZT4gY2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVl
Jikgb3ZlcnJpZGU7CiAKICAgICB2aXJ0dWFsIH5TY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5n
Tm9kZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1N0YXRlTm9kZS5oCmluZGV4IDhjYjZlZDgyMjRjNDhhOTA2MWYwMDZhZDFiNWVjYWIxM2RjYmNl
NmUuLmFjYjYwMWM5ZTg4NmQ2ZmZjMmMwNjgxYTBkMTFiYjI5NmRlNTJmMmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oCkBAIC0x
OTcsNyArMTk3LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNGcmFtZVNjcm9sbGluZ05vZGUoKSBj
b25zdCB7IHJldHVybiBtX25vZGVUeXBlID09IEZyYW1lU2Nyb2xsaW5nTm9kZTsgfQogICAgIGJv
b2wgaXNPdmVyZmxvd1Njcm9sbGluZ05vZGUoKSBjb25zdCB7IHJldHVybiBtX25vZGVUeXBlID09
IE92ZXJmbG93U2Nyb2xsaW5nTm9kZTsgfQogCi0gICAgdmlydHVhbCBQYXNzUmVmUHRyPFNjcm9s
bGluZ1N0YXRlTm9kZT4gY2xvbmUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRyZWUpID0g
MDsKKyAgICB2aXJ0dWFsIFJlZjxTY3JvbGxpbmdTdGF0ZU5vZGU+IGNsb25lKFNjcm9sbGluZ1N0
YXRlVHJlZSYgYWRvcHRpdmVUcmVlKSA9IDA7CiAgICAgUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0
ZU5vZGU+IGNsb25lQW5kUmVzZXQoU2Nyb2xsaW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRyZWUpOwog
ICAgIHZvaWQgY2xvbmVBbmRSZXNldENoaWxkcmVuKFNjcm9sbGluZ1N0YXRlTm9kZSYsIFNjcm9s
bGluZ1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Nj
cm9sbGluZ05vZGUuY3BwCmluZGV4IGUzNGNjYWNhYWJkM2VlYmM0ODM3NjFjYTliMTJkYzIzYjU4
YmUzMTkuLjg0ZDI1ZWYwYjk1MWMzYTJiMjgzZmM5Zjk5ODRhYzUxMDI2MzJhOWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZS5jcHAKQEAgLTMzLDkgKzMzLDkgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlPiBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6Y3JlYXRl
KFNjcm9sbGluZ1N0YXRlVHJlZSYgc3RhdGVUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQor
UmVmPFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlPiBTY3JvbGxpbmdTdGF0ZU92
ZXJmbG93U2Nyb2xsaW5nTm9kZTo6Y3JlYXRlKFNjcm9sbGluZ1N0YXRlVHJlZSYgc3RhdGVUcmVl
LCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Ny
b2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUoc3RhdGVUcmVlLCBub2RlSUQpKTsKKyAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9k
ZShzdGF0ZVRyZWUsIG5vZGVJRCkpOwogfQogCiBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xs
aW5nTm9kZTo6U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUoU2Nyb2xsaW5nU3Rh
dGVUcmVlJiBzdGF0ZVRyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCkBAIC01NCw5ICs1NCw5
IEBAIFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOjp+U2Nyb2xsaW5nU3RhdGVP
dmVyZmxvd1Njcm9sbGluZ05vZGUoKQogewogfQogCi1QYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRl
Tm9kZT4gU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmNsb25lKFNjcm9sbGlu
Z1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVlKQorUmVmPFNjcm9sbGluZ1N0YXRlTm9kZT4gU2Nyb2xs
aW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmNsb25lKFNjcm9sbGluZ1N0YXRlVHJlZSYg
YWRvcHRpdmVUcmVlKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsaW5nU3RhdGVP
dmVyZmxvd1Njcm9sbGluZ05vZGUoKnRoaXMsIGFkb3B0aXZlVHJlZSkpOworICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlKCp0aGlzLCBh
ZG9wdGl2ZVRyZWUpKTsKIH0KICAgICAKIHZvaWQgU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9s
bGluZ05vZGU6OnNldFNjcm9sbGVkQ29udGVudHNMYXllcihjb25zdCBMYXllclJlcHJlc2VudGF0
aW9uJiBsYXllclJlcHJlc2VudGF0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdO
b2RlLmgKaW5kZXggMjYwOTZhMjExYzU2ODk3NzE4OGFjYjlkY2JiYThjODM1NTA2MThjMy4uNzNh
YWEzOTUyYzhlN2UxMjAyZDdjODJkOTc0NzZjNzNhYjQ4ZWM3NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05v
ZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU92
ZXJmbG93U2Nyb2xsaW5nTm9kZS5oCkBAIC0zNCw5ICszNCw5IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUgOiBwdWJsaWMg
U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZT4gY3JlYXRlKFNjcm9sbGlu
Z1N0YXRlVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CisgICAgc3RhdGljIFJlZjxTY3JvbGxpbmdT
dGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZT4gY3JlYXRlKFNjcm9sbGluZ1N0YXRlVHJlZSYsIFNj
cm9sbGluZ05vZGVJRCk7CiAKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2Nyb2xsaW5nU3RhdGVO
b2RlPiBjbG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUmKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIFJl
ZjxTY3JvbGxpbmdTdGF0ZU5vZGU+IGNsb25lKFNjcm9sbGluZ1N0YXRlVHJlZSYpIG92ZXJyaWRl
OwogCiAgICAgdmlydHVhbCB+U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3Rh
dGVTdGlja3lOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1N0YXRlU3RpY2t5Tm9kZS5jcHAKaW5kZXggNWU1MmU2MmY3YTY0ZDM0N2ZlOTljOTQ1M2M0NjVh
MWNlZGVjYTRhZS4uY2VlNDc2ZTRhY2ZjYzQwODIyM2I1ZDMzZDVjZWJhNDRhNWFiMjhmNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTdGlj
a3lOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdT
dGF0ZVN0aWNreU5vZGUuY3BwCkBAIC0zNCw5ICszNCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotUGFzc1JlZlB0cjxTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU+IFNjcm9sbGluZ1N0YXRl
U3RpY2t5Tm9kZTo6Y3JlYXRlKFNjcm9sbGluZ1N0YXRlVHJlZSYgc3RhdGVUcmVlLCBTY3JvbGxp
bmdOb2RlSUQgbm9kZUlEKQorUmVmPFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZT4gU2Nyb2xsaW5n
U3RhdGVTdGlja3lOb2RlOjpjcmVhdGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBzdGF0ZVRyZWUsIFNj
cm9sbGluZ05vZGVJRCBub2RlSUQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JvbGxp
bmdTdGF0ZVN0aWNreU5vZGUoc3RhdGVUcmVlLCBub2RlSUQpKTsKKyAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUoc3RhdGVUcmVlLCBub2RlSUQpKTsKIH0K
IAogU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlOjpTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUoU2Ny
b2xsaW5nU3RhdGVUcmVlJiB0cmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQpAQCAtNTQsOSAr
NTQsOSBAQCBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU6On5TY3JvbGxpbmdTdGF0ZVN0aWNreU5v
ZGUoKQogewogfQogCi1QYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRlTm9kZT4gU2Nyb2xsaW5nU3Rh
dGVTdGlja3lOb2RlOjpjbG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUmIGFkb3B0aXZlVHJlZSkKK1Jl
ZjxTY3JvbGxpbmdTdGF0ZU5vZGU+IFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6Y2xvbmUoU2Ny
b2xsaW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRyZWUpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUoKnRoaXMsIGFkb3B0aXZlVHJlZSkpOworICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZSgqdGhpcywgYWRvcHRp
dmVUcmVlKSk7CiB9CiAKIHZvaWQgU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlOjp1cGRhdGVDb25z
dHJhaW50cyhjb25zdCBTdGlja3lQb3NpdGlvblZpZXdwb3J0Q29uc3RyYWludHMmIGNvbnN0cmFp
bnRzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
U3RhdGVTdGlja3lOb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdTdGF0ZVN0aWNreU5vZGUuaAppbmRleCBjZjA2MzlkNThkYTQ2MTYzZDI1YmExNDYwOTk5OTQ3
MTQ1YmFmM2I0Li5jOWU3OTM1YTQ3OGUwNjY2OTJjMmRiZGFiY2ViMDQ5ZDYyNDgzNWFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVN0aWNr
eU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0
ZVN0aWNreU5vZGUuaApAQCAtMzksOSArMzksOSBAQCBjbGFzcyBTdGlja3lQb3NpdGlvblZpZXdw
b3J0Q29uc3RyYWludHM7CiAKIGNsYXNzIFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZSBmaW5hbCA6
IHB1YmxpYyBTY3JvbGxpbmdTdGF0ZU5vZGUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZT4gY3JlYXRlKFNjcm9sbGluZ1N0YXRlVHJlZSYs
IFNjcm9sbGluZ05vZGVJRCk7CisgICAgc3RhdGljIFJlZjxTY3JvbGxpbmdTdGF0ZVN0aWNreU5v
ZGU+IGNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUmLCBTY3JvbGxpbmdOb2RlSUQpOwogCi0gICAg
dmlydHVhbCBQYXNzUmVmUHRyPFNjcm9sbGluZ1N0YXRlTm9kZT4gY2xvbmUoU2Nyb2xsaW5nU3Rh
dGVUcmVlJikgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBSZWY8U2Nyb2xsaW5nU3RhdGVOb2RlPiBj
bG9uZShTY3JvbGxpbmdTdGF0ZVRyZWUmKSBvdmVycmlkZTsKIAogICAgIHZpcnR1YWwgflNjcm9s
bGluZ1N0YXRlU3RpY2t5Tm9kZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0KaW5kZXggNmNi
M2Y0M2Q4YTBmMGMzYjg1MDgyZTM2YTcyODQzNjEyNWFjNDZkZC4uYjE1ODIxOGNkMDA3ZmNlNjFl
MzcxYTFjNGFjZTNiYTU4ZDdiMzUzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbQpAQCAtNDQs
OSArNDQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8U2Nyb2xsaW5n
Q29vcmRpbmF0b3I+IFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGUoUGFnZSogcGFnZSkKK1Jl
ZjxTY3JvbGxpbmdDb29yZGluYXRvcj4gU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmNyZWF0ZShQYWdl
KiBwYWdlKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsaW5nQ29vcmRpbmF0b3JJ
T1MocGFnZSkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNjcm9sbGluZ0Nvb3JkaW5hdG9y
SU9TKHBhZ2UpKTsKIH0KIAogU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1M6OlNjcm9sbGluZ0Nvb3Jk
aW5hdG9ySU9TKFBhZ2UqIHBhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUy5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVJT1MuaAppbmRleCAzZWE2MzdiZWE4YzFlMzcxZDgzZmM4NjAxNDI0ZTlkNjAyYmE4N2RiLi40
MjZjYmM5NDg0NmE4ZmI5NDYxNmE1MThlYzAxYjJjNzNmM2YzODM4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5n
Tm9kZUlPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLmgKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TIDog
cHVibGljIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGUgewogcHVibGljOgotICAgIFdF
QkNPUkVfRVhQT1JUIHN0YXRpYyBQYXNzUmVmUHRyPFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGlu
Z05vZGVJT1M+IGNyZWF0ZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmPFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJ
T1M+IGNyZWF0ZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKICAgICB2aXJ0dWFs
IH5TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TKCk7CiAKIHByb3RlY3RlZDoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVl
RnJhbWVTY3JvbGxpbmdOb2RlSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
aW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MubW0KaW5kZXggNWUzYzZkODI1
MGZlOGYwY2VlY2E2MmQyZDQ2MzNlYzg1MTA2MTFmYS4uNTY4MmY1MWRjMTg4YTgyNDcwZmEwM2E4
Nzc0MTk0ZjRjYWMxMzBmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVJT1MubW0KQEAgLTQwLDkgKzQwLDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNz
UmVmUHRyPFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1M+IFNjcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGVJT1M6OmNyZWF0ZShTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVl
LCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQorUmVmPFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGlu
Z05vZGVJT1M+IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1M6OmNyZWF0ZShTY3Jv
bGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQogewotICAg
IHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUyhz
Y3JvbGxpbmdUcmVlLCBub2RlSUQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxp
bmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TKHNjcm9sbGluZ1RyZWUsIG5vZGVJRCkpOwogfQog
CiBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TOjpTY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlSU9TKFNjcm9sbGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9sbGluZ05v
ZGVJRCBub2RlSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9p
b3MvU2Nyb2xsaW5nVHJlZUlPUy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9p
b3MvU2Nyb2xsaW5nVHJlZUlPUy5jcHAKaW5kZXggMTNmN2VhODUxMzk0MDgxZGJkMTI1OTFmNWRk
MzQ0NmVjOTY5MzFiYi4uNjMyNWE1ZjQyYjM2YWMyZjA0MThmZWVmM2Y2ZGIzNDZhMDdjZGM4NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1Ry
ZWVJT1MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxp
bmdUcmVlSU9TLmNwcApAQCAtNDEsOSArNDEsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LVJlZlB0cjxTY3JvbGxpbmdUcmVlSU9TPiBTY3JvbGxpbmdUcmVlSU9TOjpjcmVhdGUoQXN5bmNT
Y3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29vcmRpbmF0b3IpCitSZWY8U2Nyb2xsaW5n
VHJlZUlPUz4gU2Nyb2xsaW5nVHJlZUlPUzo6Y3JlYXRlKEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0
b3IqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Ny
b2xsaW5nVHJlZUlPUyhzY3JvbGxpbmdDb29yZGluYXRvcikpOworICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFNjcm9sbGluZ1RyZWVJT1Moc2Nyb2xsaW5nQ29vcmRpbmF0b3IpKTsKIH0KIAogU2Ny
b2xsaW5nVHJlZUlPUzo6U2Nyb2xsaW5nVHJlZUlPUyhBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9y
KiBzY3JvbGxpbmdDb29yZGluYXRvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlSU9TLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUlPUy5oCmluZGV4IGQ5OWNlNGM2NDNmY2E0NzIyMzc1
NzUxOTQ0YzhlYWIxNmQzYmJmOGUuLmY5MGNhMWRmZjE0NTk1YWUxOWY1MmM1MDhhYjdiOTY3NTkx
NjY0NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3Jv
bGxpbmdUcmVlSU9TLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Nj
cm9sbGluZ1RyZWVJT1MuaApAQCAtMzksNyArMzksNyBAQCBjbGFzcyBBc3luY1Njcm9sbGluZ0Nv
b3JkaW5hdG9yOwogCiBjbGFzcyBTY3JvbGxpbmdUcmVlSU9TIDogcHVibGljIFNjcm9sbGluZ1Ry
ZWUgewogcHVibGljOgotICAgIHN0YXRpYyBSZWZQdHI8U2Nyb2xsaW5nVHJlZUlPUz4gY3JlYXRl
KEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IqKTsKKyAgICBzdGF0aWMgUmVmPFNjcm9sbGluZ1Ry
ZWVJT1M+IGNyZWF0ZShBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yKik7CiAgICAgdmlydHVhbCB+
U2Nyb2xsaW5nVHJlZUlPUygpOwogCiAgICAgdmlydHVhbCB2b2lkIGNvbW1pdE5ld1RyZWVTdGF0
ZShzdGQ6OnVuaXF1ZV9wdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPikgb3ZlcnJpZGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29v
cmRpbmF0b3JNYWMubW0KaW5kZXggM2U5MjFmMWViNDczZWY2OWUwYzA5NzlkYWRhM2Y1NzExMzM3
NTRhZC4uMjUwNWU3Yjc2MzMzOGQxMmRlZGI1MjM4YTA0MzM2Mjg3OGE4Y2Q0OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdD
b29yZGluYXRvck1hYy5tbQpAQCAtNDYsOSArNDYsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLVBhc3NSZWZQdHI8U2Nyb2xsaW5nQ29vcmRpbmF0b3I+IFNjcm9sbGluZ0Nvb3JkaW5hdG9y
OjpjcmVhdGUoUGFnZSogcGFnZSkKK1JlZjxTY3JvbGxpbmdDb29yZGluYXRvcj4gU2Nyb2xsaW5n
Q29vcmRpbmF0b3I6OmNyZWF0ZShQYWdlKiBwYWdlKQogewotICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMocGFnZSkpOworICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjKHBhZ2UpKTsKIH0KIAogU2Nyb2xsaW5nQ29vcmRp
bmF0b3JNYWM6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjKFBhZ2UqIHBhZ2UpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9k
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGaXhl
ZE5vZGUuaAppbmRleCA1NzZhY2NkZTAxODMzMWQyY2NiMGU1YmI2OGY5NDVmYzViZTMyY2FhLi4y
YWQxNmViMjMwYTYxM2Q0NmY3OGY4ZDA3NzM5MzhhNGM4MjEwYjVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWRO
b2RlLmgKQEAgLTQwLDcgKzQwLDcgQEAgY2xhc3MgRml4ZWRQb3NpdGlvblZpZXdwb3J0Q29uc3Ry
YWludHM7CiAKIGNsYXNzIFNjcm9sbGluZ1RyZWVGaXhlZE5vZGUgOiBwdWJsaWMgU2Nyb2xsaW5n
VHJlZU5vZGUgewogcHVibGljOgotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBQYXNzUmVmUHRy
PFNjcm9sbGluZ1RyZWVGaXhlZE5vZGU+IGNyZWF0ZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5n
Tm9kZUlEKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmPFNjcm9sbGluZ1RyZWVGaXhl
ZE5vZGU+IGNyZWF0ZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKIAogICAgIHZp
cnR1YWwgflNjcm9sbGluZ1RyZWVGaXhlZE5vZGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5tbQpp
bmRleCA3MjBiYmJkZDhlMGNlODE4YjllN2M2MDNlNmE1MWM5NWUxNjkwZDU3Li4zODBjYTE3MTNm
NzIyMjJiMzk4ZDllMTQ5ODc0MzQzNGU4NTRkNGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5tbQpA
QCAtMzQsOSArMzQsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQdHI8U2Ny
b2xsaW5nVHJlZUZpeGVkTm9kZT4gU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZTo6Y3JlYXRlKFNjcm9s
bGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCitSZWY8U2Ny
b2xsaW5nVHJlZUZpeGVkTm9kZT4gU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZTo6Y3JlYXRlKFNjcm9s
bGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCiB7Ci0gICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JvbGxpbmdUcmVlRml4ZWROb2RlKHNjcm9sbGluZ1RyZWUs
IG5vZGVJRCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNjcm9sbGluZ1RyZWVGaXhlZE5v
ZGUoc2Nyb2xsaW5nVHJlZSwgbm9kZUlEKSk7CiB9CiAKIFNjcm9sbGluZ1RyZWVGaXhlZE5vZGU6
OlNjcm9sbGluZ1RyZWVGaXhlZE5vZGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5nVHJlZSwgU2Ny
b2xsaW5nTm9kZUlEIG5vZGVJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9k
ZU1hYy5oCmluZGV4IDFhMWJhNTJmMGMzY2QzMTdjNzI4NWVmZDlmYjkzODlhMTNjNTFhZTkuLjZm
OWY3OGNlMGE3OGVmNTllMWUyODQ0ZTkxZmZiNjgwMWFmM2Q3ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMuaApAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMgOiBw
dWJsaWMgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZSwgcHJpdmF0ZSBTY3JvbGxDb250
cm9sbGVyQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUGFzc1Jl
ZlB0cjxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlPiBjcmVhdGUoU2Nyb2xsaW5nVHJl
ZSYsIFNjcm9sbGluZ05vZGVJRCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZjxTY3Jv
bGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlPiBjcmVhdGUoU2Nyb2xsaW5nVHJlZSYsIFNjcm9s
bGluZ05vZGVJRCk7CiAgICAgdmlydHVhbCB+U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9k
ZU1hYygpOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9k
ZU1hYy5tbQppbmRleCA3ZjY0ZGM1YmVhNzY4ZGVjMWMzZWQ5NjllZDkwZmEyMTA0OTQzYzU0Li5l
YWI2ZGE5MzA2MTBkMTNjMDliZDBlMzU2MmMwMTc4YjM2NjQwYTgyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5n
Tm9kZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQpAQCAtNDksOSArNDksOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIHN0YXRpYyB2b2lkIGxvZ1RocmVhZGVkU2Nyb2xsaW5nTW9kZSh1bnNp
Z25lZCBzeW5jaHJvbm91c1Njcm9sbGluZ1JlYXNvbnMpOwogCi1QYXNzUmVmUHRyPFNjcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGU+IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVN
YWM6OmNyZWF0ZShTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQg
bm9kZUlEKQorUmVmPFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGU+IFNjcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGVNYWM6OmNyZWF0ZShTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdU
cmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcg
U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYyhzY3JvbGxpbmdUcmVlLCBub2RlSUQp
KTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlTWFjKHNjcm9sbGluZ1RyZWUsIG5vZGVJRCkpOwogfQogCiBTY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlTWFjOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjKFNjcm9s
bGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1hYy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1hYy5j
cHAKaW5kZXggOTBjNDM3ZjZhZTdlZjVhYmUxMGFkMGYyY2FkN2I2YWNlZTU5MWJjYS4uNzBkYmMw
NmNmMDEzYmYzMWI4ZGEwN2ZkZTBkMzk4OGM2MWI0ZDgwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlTWFjLmNwcApAQCAtMzQs
OSArMzQsOSBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotUmVmUHRyPFNjcm9sbGlu
Z1RyZWVNYWM+IFNjcm9sbGluZ1RyZWVNYWM6OmNyZWF0ZShBc3luY1Njcm9sbGluZ0Nvb3JkaW5h
dG9yKiBzY3JvbGxpbmdDb29yZGluYXRvcikKK1JlZjxTY3JvbGxpbmdUcmVlTWFjPiBTY3JvbGxp
bmdUcmVlTWFjOjpjcmVhdGUoQXN5bmNTY3JvbGxpbmdDb29yZGluYXRvciogc2Nyb2xsaW5nQ29v
cmRpbmF0b3IpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JvbGxpbmdUcmVlTWFjKHNj
cm9sbGluZ0Nvb3JkaW5hdG9yKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5n
VHJlZU1hYyhzY3JvbGxpbmdDb29yZGluYXRvcikpOwogfQogCiBTY3JvbGxpbmdUcmVlTWFjOjpT
Y3JvbGxpbmdUcmVlTWFjKEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IqIHNjcm9sbGluZ0Nvb3Jk
aW5hdG9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Nj
cm9sbGluZ1RyZWVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3Jv
bGxpbmdUcmVlTWFjLmgKaW5kZXggMzMxZWI3NTAzODIwZjIyYjcxN2ZjNjY0OTI1OGU0NDJmYzQ5
NDkzMC4uNWRjZGEwYWU3MjE5Yjk2ZTY5MjU3YTRiZjlhYjY1Zjg2ZmU2MDc5MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1hYy5o
CkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU2Nyb2xsaW5n
VHJlZU1hYyA6IHB1YmxpYyBUaHJlYWRlZFNjcm9sbGluZ1RyZWUgewogcHVibGljOgotICAgIHN0
YXRpYyBSZWZQdHI8U2Nyb2xsaW5nVHJlZU1hYz4gY3JlYXRlKEFzeW5jU2Nyb2xsaW5nQ29vcmRp
bmF0b3IqKTsKKyAgICBzdGF0aWMgUmVmPFNjcm9sbGluZ1RyZWVNYWM+IGNyZWF0ZShBc3luY1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yKik7CiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2Nyb2xsaW5n
VHJlZU5vZGU+IGNyZWF0ZVNjcm9sbGluZ1RyZWVOb2RlKFNjcm9sbGluZ05vZGVUeXBlLCBTY3Jv
bGxpbmdOb2RlSUQpIG92ZXJyaWRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oCmluZGV4IGU4MjIy
ZGUzMDI3OGM3ZjExNDllYmVmODJiZThjZDk5NzkzMDRhMTQuLjcwNDg3ZWQ3YWZiNzRkNmU1YjJm
YTk2MjYxMTk2OTMxZDUyYjc5YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oCkBAIC00MCw3ICs0
MCw3IEBAIGNsYXNzIFN0aWNreVBvc2l0aW9uVmlld3BvcnRDb25zdHJhaW50czsKIAogY2xhc3Mg
U2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUgOiBwdWJsaWMgU2Nyb2xsaW5nVHJlZU5vZGUgewogcHVi
bGljOgotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBQYXNzUmVmUHRyPFNjcm9sbGluZ1RyZWVT
dGlja3lOb2RlPiBjcmVhdGUoU2Nyb2xsaW5nVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CisgICAg
V0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZjxTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZT4gY3JlYXRl
KFNjcm9sbGluZ1RyZWUmLCBTY3JvbGxpbmdOb2RlSUQpOwogCiAgICAgdmlydHVhbCB+U2Nyb2xs
aW5nVHJlZVN0aWNreU5vZGUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1tIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1tCmluZGV4IDY3YzRk
YmUxMzEyZmE5MTZiZmRhZTE0MjM5ZTk3ZjEyYzhjZTUyZDQuLjcyZDFmNzNmNDliODJiNWUyODU1
ZmVjMGIzZWEzNGJmYTFlMmQ3NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUubW0KQEAgLTM2LDkg
KzM2LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFNjcm9sbGluZ1Ry
ZWVTdGlja3lOb2RlPiBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZTo6Y3JlYXRlKFNjcm9sbGluZ1Ry
ZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCitSZWY8U2Nyb2xsaW5n
VHJlZVN0aWNreU5vZGU+IFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlOjpjcmVhdGUoU2Nyb2xsaW5n
VHJlZSYgc2Nyb2xsaW5nVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKIHsKLSAgICByZXR1
cm4gYWRvcHRSZWYobmV3IFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlKHNjcm9sbGluZ1RyZWUsIG5v
ZGVJRCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNjcm9sbGluZ1RyZWVTdGlja3lOb2Rl
KHNjcm9sbGluZ1RyZWUsIG5vZGVJRCkpOwogfQogCiBTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZTo6
U2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5nVHJlZSwgU2Ny
b2xsaW5nTm9kZUlEIG5vZGVJRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYlZpZXdHcm91cC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYlZpZXdHcm91cC5tbQppbmRleCA4ZWQ4YzRjZjBhOGUwYTdhOTIwNTQyN2EyM2YwZTQ0
ZmQwYmM4NWU2Li43NDUzOTI0NDFjMGQ1OTdiZmMyOTk2ZWVhMGVhMjc0Y2M5ZTYzNWM1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJWaWV3R3JvdXAubW0K
KysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViVmlld0dyb3VwLm1tCkBA
IC02Niw3ICs2Niw3IEBAIFdlYlZpZXdHcm91cCogV2ViVmlld0dyb3VwOjpnZXQoY29uc3QgU3Ry
aW5nJiBuYW1lKQogV2ViVmlld0dyb3VwOjpXZWJWaWV3R3JvdXAoY29uc3QgU3RyaW5nJiBuYW1l
LCBjb25zdCBTdHJpbmcmIGxvY2FsU3RvcmFnZURhdGFiYXNlUGF0aCkKICAgICA6IG1fbmFtZShu
YW1lKQogICAgICwgbV9sb2NhbFN0b3JhZ2VEYXRhYmFzZVBhdGgobG9jYWxTdG9yYWdlRGF0YWJh
c2VQYXRoKQotICAgICwgbV91c2VyQ29udGVudENvbnRyb2xsZXIoKlVzZXJDb250ZW50Q29udHJv
bGxlcjo6Y3JlYXRlKCkpCisgICAgLCBtX3VzZXJDb250ZW50Q29udHJvbGxlcihVc2VyQ29udGVu
dENvbnRyb2xsZXI6OmNyZWF0ZSgpKQogICAgICwgbV92aXNpdGVkTGlua1N0b3JlKFdlYlZpc2l0
ZWRMaW5rU3RvcmU6OmNyZWF0ZSgpKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcAppbmRleCAwYzYwOGEwNzFiOTlkOTlmZDM5YjdjODlkODA2NjBlOTQzMzQ5
M2JlLi40ZGJmMDYyODY2ZDU3YjZhYjgxNzIxNWI0MzYxNTA3MDI4ZTBhNWJjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMzkyNCw3ICszOTI0LDcgQEAg
dm9pZCBXZWJQYWdlUHJveHk6OmRpZEdldEltYWdlRm9yRmluZE1hdGNoKGNvbnN0IFNoYXJlYWJs
ZUJpdG1hcDo6SGFuZGxlJiBjb250ZW4KIAogdm9pZCBXZWJQYWdlUHJveHk6OnNldFRleHRJbmRp
Y2F0b3IoY29uc3QgVGV4dEluZGljYXRvckRhdGEmIGluZGljYXRvckRhdGEsIHVpbnQ2NF90IGxp
ZmV0aW1lKQogewotICAgIG1fcGFnZUNsaWVudC5zZXRUZXh0SW5kaWNhdG9yKCpUZXh0SW5kaWNh
dG9yOjpjcmVhdGUoaW5kaWNhdG9yRGF0YSksIHN0YXRpY19jYXN0PFRleHRJbmRpY2F0b3JMaWZl
dGltZT4obGlmZXRpbWUpKTsKKyAgICBtX3BhZ2VDbGllbnQuc2V0VGV4dEluZGljYXRvcihUZXh0
SW5kaWNhdG9yOjpjcmVhdGUoaW5kaWNhdG9yRGF0YSksIHN0YXRpY19jYXN0PFRleHRJbmRpY2F0
b3JMaWZldGltZT4obGlmZXRpbWUpKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OmNsZWFyVGV4
dEluZGljYXRvcigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1Bh
Z2VDbGllbnRJbXBsLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50
SW1wbC5tbQppbmRleCAwNzY5MDUwMzMxNWVmYzNmY2MyNTNiNTUyNjI3OWJiZmZmYzRjYTNmLi4z
MmE3MmI4MzNmZTc1ODhmZWRlMmYyZDY3MDllYWQ3NTkxMzY3YTQ5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KQEAgLTU5Niw3ICs1OTYsNyBA
QCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRQZXJmb3JtRGljdGlvbmFyeUxvb2t1cChjb25zdCBE
aWN0aW9uYXJ5UG9wdXBJbmZvJiBkaWN0aQogICAgIFttX3drVmlldyBfcHJlcGFyZUZvckRpY3Rp
b25hcnlMb29rdXBdOwogCiAgICAgaWYgKGNhbkxvYWRMVVRlcm1PcHRpb25EaXNhYmxlU2VhcmNo
VGVybUluZGljYXRvcigpICYmIGRpY3Rpb25hcnlQb3B1cEluZm8udGV4dEluZGljYXRvci5jb250
ZW50SW1hZ2UpIHsKLSAgICAgICAgW21fd2tWaWV3IF9zZXRUZXh0SW5kaWNhdG9yOipUZXh0SW5k
aWNhdG9yOjpjcmVhdGUoZGljdGlvbmFyeVBvcHVwSW5mby50ZXh0SW5kaWNhdG9yKSB3aXRoTGlm
ZXRpbWU6VGV4dEluZGljYXRvckxpZmV0aW1lOjpQZXJtYW5lbnRdOworICAgICAgICBbbV93a1Zp
ZXcgX3NldFRleHRJbmRpY2F0b3I6VGV4dEluZGljYXRvcjo6Y3JlYXRlKGRpY3Rpb25hcnlQb3B1
cEluZm8udGV4dEluZGljYXRvcikgd2l0aExpZmV0aW1lOlRleHRJbmRpY2F0b3JMaWZldGltZTo6
UGVybWFuZW50XTsKICAgICAgICAgW211dGFibGVPcHRpb25zIHNldE9iamVjdDpAWUVTIGZvcktl
eTpnZXRMVVRlcm1PcHRpb25EaXNhYmxlU2VhcmNoVGVybUluZGljYXRvcigpXTsKICAgICAgICAg
W2dldExVTG9va3VwRGVmaW5pdGlvbk1vZHVsZUNsYXNzKCkgc2hvd0RlZmluaXRpb25Gb3JUZXJt
OmRpY3Rpb25hcnlQb3B1cEluZm8uYXR0cmlidXRlZFN0cmluZy5zdHJpbmcuZ2V0KCkgYXRMb2Nh
dGlvbjp0ZXh0QmFzZWxpbmVPcmlnaW4gb3B0aW9uczptdXRhYmxlT3B0aW9ucy5nZXQoKV07CiAg
ICAgfSBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1VzZXJDb250
ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1VzZXJDb250ZW50L1dlYlVzZXJDb250ZW50Q29udHJvbGxlci5jcHAKaW5kZXggZTMzZTQ5
YWIwZjIzOTEyMTQwZWMzNWVkMWFlZTZlOGZkZWY3ZTBiMS4uYWE3YjY0NTY2ZTgwYzdkMDE5YzVm
NTBkODEwNGFkYTdhM2QxY2EwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9Vc2VyQ29udGVudC9XZWJVc2VyQ29udGVudENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvVXNlckNvbnRlbnQvV2ViVXNlckNvbnRlbnRDb250cm9sbGVyLmNw
cApAQCAtNjksNyArNjksNyBAQCBQYXNzUmVmUHRyPFdlYlVzZXJDb250ZW50Q29udHJvbGxlcj4g
V2ViVXNlckNvbnRlbnRDb250cm9sbGVyOjpnZXRPckNyZWF0ZSh1aW50NgogCiBXZWJVc2VyQ29u
dGVudENvbnRyb2xsZXI6OldlYlVzZXJDb250ZW50Q29udHJvbGxlcih1aW50NjRfdCBpZGVudGlm
aWVyKQogICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCi0gICAgLCBtX3VzZXJDb250ZW50
Q29udHJvbGxlcigqVXNlckNvbnRlbnRDb250cm9sbGVyOjpjcmVhdGUoKSkKKyAgICAsIG1fdXNl
ckNvbnRlbnRDb250cm9sbGVyKFVzZXJDb250ZW50Q29udHJvbGxlcjo6Y3JlYXRlKCkpCiB7CiAg
ICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpX
ZWJVc2VyQ29udGVudENvbnRyb2xsZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV9pZGVudGlm
aWVyLCAqdGhpcyk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>