<?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>191376</bug_id>
          
          <creation_ts>2018-11-07 09:36:59 -0800</creation_ts>
          <short_desc>[SVG2]: Remove the interface SVGPoint</short_desc>
          <delta_ts>2019-10-14 13:36:30 -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>SVG</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>
          <dependson>202479</dependson>
          <blocked>191292</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>annulen</cc>
    
    <cc>cdumez</cc>
    
    <cc>dbates</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jbedard</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>rakuco</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1476021</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2018-11-07 09:36:59 -0800</bug_when>
    <thetext>This will affect the interface SVGPointList. Instead of handling items of type SVGPoint, it will handle items of type DOMPoint.

The specs page is: https://www.w3.org/TR/SVG2/shapes.html#InterfaceSVGPointList

Also this functions will return DOMPoint instead of returning SVGPoint:

SVGGeometryElement::getPointAtLength()
SVGSVGElement::createSVGPoint()
SVGTextContentElement::getStartPositionOfChar()
SVGTextContentElement::getEndPositionOfChar()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553345</commentid>
    <comment_count>1</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-07-16 15:44:53 -0700</bug_when>
    <thetext>WPT failing test: http://w3c-test.org/svg/types/elements/SVGGeometryElement-rect.svg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577577</commentid>
    <comment_count>2</comment_count>
      <attachid>380375</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-10-07 17:18:46 -0700</bug_when>
    <thetext>Created attachment 380375
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577679</commentid>
    <comment_count>3</comment_count>
      <attachid>380406</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-10-08 00:14:59 -0700</bug_when>
    <thetext>Created attachment 380406
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1577692</commentid>
    <comment_count>4</comment_count>
      <attachid>380411</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-10-08 00:41:02 -0700</bug_when>
    <thetext>Created attachment 380411
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1578291</commentid>
    <comment_count>5</comment_count>
      <attachid>380542</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-10-09 10:40:07 -0700</bug_when>
    <thetext>Created attachment 380542
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1578400</commentid>
    <comment_count>6</comment_count>
      <attachid>380574</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-10-09 14:53:57 -0700</bug_when>
    <thetext>Created attachment 380574
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1579775</commentid>
    <comment_count>7</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2019-10-14 13:36:30 -0700</bug_when>
    <thetext>A GitHub discussion about this topic is here: https://github.com/w3c/svgwg/issues/706.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380375</attachid>
            <date>2019-10-07 17:18:46 -0700</date>
            <delta_ts>2019-10-08 00:14:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191376-20191007171845.patch</filename>
            <type>text/plain</type>
            <size>158160</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWQzMGYxOTAyYmU3NWZl
YzYxNzIzZDhiOWM3MWQ0ZGY1ODBkMDM2Mi4uZDIwZDU1ZDlmMmY3MGRlNWM5Mzc0NTExZmFkZWNm
MTZlYTY3NzYxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1NiBAQAorMjAxOS0xMC0wNyAgU2Fp
ZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIFtTVkcy
XTogUmVtb3ZlIHRoZSBpbnRlcmZhY2UgU1ZHUG9pbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcGxhY2UgU1ZHUG9pbnQgYnkgRE9NUG9pbnQgaW4g
YWxsIHRoZSBTVkcgaW50ZXJmYWNlcy4gTWFrZSBTVkdQb2ludCBhbgorICAgICAgICBhbGlhcyB0
byBET01Qb2ludC4gQWRkIHRoZSByZXF1aXJlZCBmdW5jdGlvbnMgdG8gU1ZHUG9pbnRMaXN0IGJl
Y2F1c2UgaXQKKyAgICAgICAgbm93IGluaGVyaXRzIFNWR1Byb3BlcnR5TGlzdCBpbnN0ZWFkIG9m
IGluaGVyaXRpbmcgU1ZHVmFsdWVQcm9wZXJ0eUxpc3QuCisKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKFNob3VsZEdlbmVyYXRlVG9XcmFwcGVkKToKKyAgICAg
ICAgKiBkb20vRE9NUG9pbnQuaDoKKyAgICAgICAgKiBkb20vRE9NUG9pbnQuaWRsOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdmcvU1ZHUGF0aERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGF0
aEZyb21Qb2x5Z29uRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpwYXRoRnJvbVBvbHlsaW5l
RWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdHZW9tZXRyeUVsZW1lbnQ6OmdldFBvaW50QXRMZW5ndGggY29uc3QpOgor
ICAgICAgICAqIHN2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHR2Vv
bWV0cnlFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0aEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHUGF0aEVsZW1lbnQ6OmdldFBvaW50QXRMZW5ndGggY29uc3QpOgor
ICAgICAgICAqIHN2Zy9TVkdQYXRoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdQb2ludC5o
OiBSZW1vdmVkLgorICAgICAgICAqIHN2Zy9TVkdQb2ludC5pZGw6IFJlbW92ZWQuCisgICAgICAg
ICogc3ZnL1NWR1BvaW50TGlzdC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUG9pbnRMaXN0Ojpv
cGVyYXRvcj0pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUG9pbnRMaXN0OjpyZXNpemUpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHUG9pbnRMaXN0OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdQb2ludExpc3Q6OlNWR1BvaW50TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2ludExp
c3Q6OmNvcHlJdGVtcyk6CisgICAgICAgICogc3ZnL1NWR1BvaW50TGlzdC5pZGw6CisgICAgICAg
ICogc3ZnL1NWR1NWR0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVu
dDo6c2V0Q3VycmVudFRyYW5zbGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50
OjpjcmVhdGVTVkdQb2ludCk6CisgICAgICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR1RleHRDb250ZW50
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6Omdl
dFN0YXJ0UG9zaXRpb25PZkNoYXIpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRF
bGVtZW50OjpnZXRFbmRQb3NpdGlvbk9mQ2hhcik6CisgICAgICAgICogc3ZnL1NWR1RleHRDb250
ZW50RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaWRsOgor
ICAgICAgICAqIHN2Zy9TVkdab29tRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHWm9v
bUV2ZW50OjpwcmV2aW91c1RyYW5zbGF0ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkda
b29tRXZlbnQ6Om5ld1RyYW5zbGF0ZSBjb25zdCk6CisgICAgICAgICogc3ZnL1NWR1pvb21FdmVu
dC5oOgorICAgICAgICAqIHN2Zy9TVkdab29tRXZlbnQuaWRsOgorICAgICAgICAqIHN2Zy9wcm9w
ZXJ0aWVzL1NWR0FuaW1hdGlvbkFkZGl0aXZlTGlzdEZ1bmN0aW9uSW1wbC5oOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHQW5pbWF0aW9uUG9pbnRMaXN0RnVuY3Rpb246OmFuaW1hdGUpOgorCisyMDE5
LTEwLTA3ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAg
ICAgICAgTWFrZSBET01Qb2ludCBhIERPTUxpdmVPYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjQ3OQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNWR1Byb3BlcnR5IGhhcyB0byBjb21lIGJhY2sg
YmVjYXVzZSBET01Qb2ludCBpbmhlcml0cyBET01Qb2ludFJlYWRPbmx5CisgICAgICAgIHdoaWNo
IGlzIFJlZkNvdW50ZWQuIFNvIERPTUxpdmVQcm9wZXJ0eSBjYW4ndCBiZSBSZWZDb3VudGVkLiBP
dGhlcndpc2UKKyAgICAgICAgRE9NUG9pbnQgd2lsbCBtYWtlIGEgZGlhbW9uZCBpbmhlcml0YW5j
ZS4gU1ZHUHJvcGVydHkgd2lsbCBpbmhlcml0IAorICAgICAgICBET01MaXZlUHJvcGVydHkgYW5k
IGl0IHdpbGwgYmUgUmVmQ291bnRlZC4KKworICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAg
ICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGRvbS9ET01MaXZlUHJvcGVydHkuaDoKKyAgICAgICAgKiBkb20v
RE9NUG9pbnQuaDogQWRkZWQuCisgICAgICAgICogZG9tL0RPTVBvaW50Lmg6CisgICAgICAgICog
ZG9tL0RPTVBvaW50LmlkbDoKKyAgICAgICAgKiBkb20vRE9NUG9pbnRSZWFkT25seS5oOgorICAg
ICAgICAoV2ViQ29yZTo6RE9NUG9pbnRSZWFkT25seTo6eEZvckJpbmRpbmdzIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkRPTVBvaW50UmVhZE9ubHk6OnlGb3JCaW5kaW5ncyBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpET01Qb2ludFJlYWRPbmx5Ojp6Rm9yQmluZGluZ3MgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NUG9pbnRSZWFkT25seTo6d0ZvckJpbmRpbmdzIGNvbnN0KToK
KyAgICAgICAgKiBkb20vRE9NUG9pbnRSZWFkT25seS5pZGw6CisgICAgICAgICogZG9tL0Rldmlj
ZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR1BhdGhTZWcu
aDoKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdMaXN0Lmg6CisgICAgICAgICogc3ZnL3By
b3BlcnRpZXMvU1ZHTWVtYmVyQWNjZXNzb3IuaDoKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9T
VkdQcmltaXRpdmVQcm9wZXJ0eUFuaW1hdG9yLmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMv
U1ZHUHJvcGVydHkuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5Ojppc0F0dGFjaGVk
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5OjphdHRhY2gp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHk6OmRldGFjaCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6Y29udGV4dEVsZW1lbnQgY29uc3Qp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHk6OmNvbW1pdENoYW5nZSk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6YWNjZXNzIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5Ojppc1JlYWRPbmx5IGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5Ojppc0RpcnR5IGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5OjpzZXREaXJ0eSk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6c3luY2hyb25pemUpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHk6OlNWR1Byb3BlcnR5KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeS5o
OgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1NoYXJlZFByaW1pdGl2ZVByb3BlcnR5Lmg6
CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eS5oOgorICAgICAgICAq
IHN2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlBbmltYXRvci5oOgorICAgICAgICAqIHN2
Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlBbmltYXRvckltcGwuaDoKKyAgICAgICAgKiBz
dmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5TGlzdEFuaW1hdG9yLmg6CisgICAgICAgICog
c3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eUxpc3RBbmltYXRvckltcGwuaDoKKworMjAx
OS0xMC0wMSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlcGxhY2UgU1ZHUHJvcGVydHkvU1ZHUHJvcGVydHlPd25lciBieSBET01MaXZlUHJv
cGVydHkvRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTc4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgYSBzdGVwIHRvd2FyZHMgcmVwbGFjaW5nIFNW
R1BvaW50IGJ5IERPTVBvaW50LgorCisgICAgICAgIC0tIEFkZCBhIG5ldyBjbGFzcywgbmFtZWQg
RE9NTGl2ZVByb3BlcnR5LiBJdHMgam9iIGlzIHRvIGNvbW11bmljYXRlIHRoZQorICAgICAgICAg
ICBjaGFuZ2VzIGluIHRoaXMgb2JqZWN0IHRvIGl0cyBvYnNlcnZlci4gVGhpcyBpcyByZXBsYWNp
bmcgU1ZHUHJvcGVydHkuCisgICAgICAgICAgIERPTVBvaW50IHdpbGwgYmUgbWFkZSBpbiBhIHN1
cGVyIG9mIGl0IGFsc28gaW4gYSBmb2xsb3dpbmcgcGF0Y2guCisKKyAgICAgICAgLS0gQWRkIGEg
bmV3IGNsYXNzLCBuYW1lZCBET01MaXZlUHJvcGVydHlPYnNlcnZlciBhbmQgbWFrZSBpdCB0aGUg
YmFzZQorICAgICAgICAgICBjbGFzcyBvZiBET01MaXZlUHJvcGVydHkgb2JzZXJ2ZXJzLiBDdXJy
ZW50bHkgdGhlIGZvbGxvd2luZyBjbGFzcyBhcmUKKyAgICAgICAgICAgbWFkZSBzdXBlciBjbGFz
c2VzIG9mIERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyOgorICAgICAgICAgICAxLiBTVkdFbGVtZW50
OiBUaGlzIG9ic2VydmVzIHRoZSBjaGFuZ2VzIGluIGFsbCB0aGUgU1ZHIHByb3BlcnRpZXMuCisg
ICAgICAgICAgIDIuIFNWR0FuaW1hdGVkUHJvcGVydHk6IFRoaXMgb2JzZXJ2ZXMgdGhlIGNoYW5n
ZXMgaW4gaXRzIGJhc2VWYWwuCisgICAgICAgICAgIDMuIFNWR1Byb3BlcnR5TGlzdDogVGhpcyBv
YnNlcnZlcyB0aGUgY2hhbmdlcyBpbiB0aGUgaXRlbXMuCisgICAgICAgICAgIDQuIFNWR1RyYW5z
Zm9ybTogVGhpcyBvYnNlcnZlcyB0aGUgY2hhbmdlcyBpbiB0aGUgdW5kZXJseWluZyBTVkdNYXRy
aXguCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRE9NTGl2ZVByb3BlcnR5Lmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2ZVByb3BlcnR5Ojppc0F0dGFjaGVkIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTUxpdmVQcm9wZXJ0eTo6b2JzZXJ2ZXIgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NTGl2ZVByb3BlcnR5OjphdHRhY2gpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NTGl2ZVByb3BlcnR5OjpkZXRhY2gpOgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2
ZVByb3BlcnR5OjpzdmdDb250ZXh0RWxlbWVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpE
T01MaXZlUHJvcGVydHk6OmlzUmVhZE9ubHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RE9N
TGl2ZVByb3BlcnR5Ojpjb21taXRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2ZVBy
b3BlcnR5Ojp2YWx1ZUFzU3RyaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTUxpdmVQ
cm9wZXJ0eTo6RE9NTGl2ZVByb3BlcnR5KToKKyAgICAgICAgKiBkb20vRE9NTGl2ZVByb3BlcnR5
T2JzZXJ2ZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpET01MaXZlUHJvcGVydHlPYnNl
cnZlcjo6b2JzZXJ2ZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2ZVByb3BlcnR5
T2JzZXJ2ZXI6OnByb3BlcnR5U1ZHQ29udGV4dEVsZW1lbnQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXI6OmlzUHJvcGVydHlSZWFkT25seSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpET01MaXZlUHJvcGVydHlPYnNlcnZlcjo6Y29tbWl0UHJvcGVy
dHlDaGFuZ2UpOgorICAgICAgICAqIHN2Zy9TVkdBbmdsZS5oOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHQW5nbGU6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6Y29tbWl0UHJvcGVydHlDaGFuZ2UpOgorICAgICAgICAq
IHN2Zy9TVkdFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aC5oOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHTGVuZ3RoOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3Ro
Ojp2YWx1ZUZvckJpbmRpbmdzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0aDo6c2V0VmFs
dWVGb3JCaW5kaW5ncyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGg6OmNvbnZlcnRUb1Nw
ZWNpZmllZFVuaXRzKToKKyAgICAgICAgKiBzdmcvU1ZHTGVuZ3RoTGlzdC5oOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHTGVuZ3RoTGlzdDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xl
bmd0aExpc3Q6OlNWR0xlbmd0aExpc3QpOgorICAgICAgICAqIHN2Zy9TVkdNYXRyaXguaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR01hdHJpeDo6Y3JlYXRlKToKKyAgICAgICAgKiBzdmcvU1ZHTnVt
YmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdOdW1iZXI6OmNyZWF0ZSk6CisgICAgICAgICog
c3ZnL1NWR051bWJlckxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR051bWJlckxpc3Q6OmNy
ZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1BhdGhTZWcuaDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0
aFNlZ0xpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHUG9pbnRMaXN0Lmg6CisgICAgICAgIChXZWJD
b3JlOjpTVkdQb2ludExpc3Q6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1ByZXNlcnZlQXNw
ZWN0UmF0aW8uaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OmNy
ZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1JlY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jl
Y3Q6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1N0cmluZ0xpc3QuaDoKKyAgICAgICAgKiBz
dmcvU1ZHVHJhbnNmb3JtLmg6CisgICAgICAgICogc3ZnL1NWR1RyYW5zZm9ybUxpc3QuaDoKKyAg
ICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJvcGVydHk6Om9ic2VydmVyIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJvcGVydHk6OmNvbW1pdFByb3BlcnR5Q2hhbmdlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJvcGVydHk6Om93bmVyIGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFByb3BlcnR5Ojp2YWx1ZUFzU3RyaW5nIGNvbnN0KToK
KyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TGlzdC5oOgorICAg
ICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlQYWlyQWNjZXNzb3JJbXBs
Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRWYWx1ZVByb3BlcnR5Lmg6
CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHTGlzdC5oOgorICAgICAgICAqIHN2Zy9wcm9w
ZXJ0aWVzL1NWR01lbWJlckFjY2Vzc29yLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdNZW1iZXJB
Y2Nlc3Nvcjo6bWF0Y2hlcyBjb25zdCk6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHUG9p
bnRlck1lbWJlckFjY2Vzc29yLmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHUHJpbWl0
aXZlUHJvcGVydHlBbmltYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJpbWl0aXZlUHJv
cGVydHlBbmltYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ByaW1pdGl2ZVBy
b3BlcnR5QW5pbWF0b3I6OlNWR1ByaW1pdGl2ZVByb3BlcnR5QW5pbWF0b3IpOgorICAgICAgICAq
IHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5Lmg6IFJlbW92ZWQuCisgICAgICAgICogc3ZnL3By
b3BlcnRpZXMvU1ZHUHJvcGVydHlBY2Nlc3Nvci5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVz
L1NWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9w
ZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlQ29sb3JBbmltYXRvcik6CisgICAgICAgIChXZWJD
b3JlOjpTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlTGVuZ3RoQW5pbWF0b3IpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZUxlbmd0
aExpc3RBbmltYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eUFuaW1hdG9yRmFj
dG9yeTo6Y3JlYXRlTnVtYmVyQW5pbWF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVy
dHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yKToKKyAgICAgICAgKiBzdmcv
cHJvcGVydGllcy9TVkdQcm9wZXJ0eUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3Bl
cnR5TGlzdDo6U1ZHUHJvcGVydHlMaXN0KToKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQ
cm9wZXJ0eU93bmVyLmg6IFJlbW92ZWQuCisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHUHJv
cGVydHlPd25lclJlZ2lzdHJ5Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVy
dHlSZWdpc3RyeS5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1NoYXJlZFByaW1pdGl2
ZVByb3BlcnR5Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eS5o
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmFsdWVQcm9wZXJ0eTo6U1ZHVmFsdWVQcm9wZXJ0eSk6
CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eUFuaW1hdG9yLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdWYWx1ZVByb3BlcnR5QW5pbWF0b3I6OlNWR1ZhbHVlUHJvcGVy
dHlBbmltYXRvcik6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eUFu
aW1hdG9ySW1wbC5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlM
aXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdWYWx1ZVByb3BlcnR5TGlzdDo6U1ZHVmFsdWVQ
cm9wZXJ0eUxpc3QpOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlM
aXN0QW5pbWF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZhbHVlUHJvcGVydHlMaXN0QW5p
bWF0b3I6OlNWR1ZhbHVlUHJvcGVydHlMaXN0QW5pbWF0b3IpOgorICAgICAgICAqIHN2Zy9wcm9w
ZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlMaXN0QW5pbWF0b3JJbXBsLmg6CisKKzIwMTktMTAtMDEg
IFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZW1vdmUgU1ZHUHJvcGVydHlTdGF0ZSBmcm9tIFNWR1Byb3BlcnR5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0MzkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgc3RlcCB0b3dhcmRzIHJl
cGxhY2luZyBTVkdQb2ludCBieSBET01Qb2ludC4KKworICAgICAgICBTVkdQcm9wZXJ0eSBrZWVw
cyBhIG1lbWJlciBvZiB0eXBlIFNWR1Byb3BlcnR5U3RhdGUgd2hpY2ggdGVsbHMgd2hldGhlcgor
ICAgICAgICBpdCBuZWVkcyB0byBiZSByZS1zZXJpYWxpemVkIHRvIGl0cyBhdHRyaWJ1dGUgb3Ig
bm90LiBCdXQgdGhlIGRpcnR5IHN0YXRlCisgICAgICAgIGlzIG9ubHkgc2V0IGluIFNWR0VsZW1l
bnQ6OmNvbW1pdFByb3BlcnR5Q2hhbmdlKCkuCisKKyAgICAgICAgU28gaW5zdGVhZCBvZiBoYXZp
bmcgU1ZHRWxlbWVudCBzZW5kcyB0aGlzIGNoYW5nZSBiYWNrIHRvIHRoZSBwcm9wZXJ0eSwKKyAg
ICAgICAgd2UgYXJlIGdvaW5nIHRvIGtlZXAgYSBIYXNoU2V0PFF1YWxpZmllZE5hbWU+IGluIFNW
R0VsZW1lbnQgdG8gdGVsbCB3aGljaAorICAgICAgICBhdHRyaWJ1dGVzIG5lZWQgdG8gYmUgcmUt
c2VyaWFsaXplZC4gQW5kIGluc3RlYWQgb2YgY2FsbGluZyB0aGUgdmlydHVhbAorICAgICAgICBt
ZXRob2Qgc3luY2hyb25pemUoKSB3aGljaCB3YXMgcmV0dXJuaW5nIE9wdGlvbmFsPFN0cmluZz4s
IHdlIGFyZSBnb2luZworICAgICAgICB0byBjYWxsIHRoZSB2aXJ0dWFsIG1ldGhvZCB2YWx1ZUFz
U3RyaW5nKCkgd2hpY2ggcmV0dXJucyBhIFN0cmluZy4KKworICAgICAgICAqIHN2Zy9TVkdFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnN5bmNocm9uaXplQXR0cmli
dXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnN5bmNocm9uaXplQWxsQXR0cmli
dXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50Ojpjb21taXRQcm9wZXJ0eUNoYW5n
ZSk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHTGVuZ3Ro
Lmg6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aExpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHUHJl
c2VydmVBc3BlY3RSYXRpb1ZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRy
YWl0czxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU+Ojppbml0aWFsVmFsdWUpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHUHJlc2VydmVBc3BlY3RS
YXRpb1ZhbHVlPjo6ZnJvbVN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQ
cm9wZXJ0eVRyYWl0czxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU+OjpwYXJzZSk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdQcmVzZXJ2ZUFzcGVj
dFJhdGlvVmFsdWU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL3Byb3BlcnRp
ZXMvU1ZHQW5pbWF0ZWREZWNvcmF0ZWRQcm9wZXJ0eS5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0
aWVzL1NWR0FuaW1hdGVkUHJpbWl0aXZlUHJvcGVydHkuaDoKKyAgICAgICAgKiBzdmcvcHJvcGVy
dGllcy9TVkdBbmltYXRlZFByb3BlcnR5Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRl
ZFByb3BlcnR5Ojp2YWx1ZUFzU3RyaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0Fu
aW1hdGVkUHJvcGVydHk6OmlzRGlydHkgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6c2V0RGlydHkpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6c3luY2hyb25pemUpOiBEZWxldGVkLgorICAgICAg
ICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlMaXN0Lmg6CisgICAgICAgICog
c3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBhaXJBY2Nlc3NvckltcGwuaDoKKyAg
ICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFZhbHVlUHJvcGVydHkuaDoKKyAgICAg
ICAgKiBzdmcvcHJvcGVydGllcy9TVkdNZW1iZXJBY2Nlc3Nvci5oOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHTWVtYmVyQWNjZXNzb3I6OnZhbHVlQXNTdHJpbmcgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHTWVtYmVyQWNjZXNzb3I6OnN5bmNocm9uaXplIGNvbnN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQb2ludGVyTWVtYmVyQWNjZXNzb3IuaDoKKyAgICAg
ICAgKiBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UHJvcGVydHk6OmF0dGFjaCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6ZGV0YWNo
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5Ojppc0RpcnR5IGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5OjpzZXREaXJ0eSk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6c3luY2hyb25pemUpOiBEZWxldGVkLgorICAg
ICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5T3duZXJSZWdpc3RyeS5oOgorICAgICAg
ICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5UmVnaXN0cnkuaDoKKworMjAxOS0xMC0wMSAg
U2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIFJl
bW92ZSBTVkdQcm9wZXJ0eUFjY2VzcyBmcm9tIFNWR1Byb3BlcnR5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0MTUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgc3RlcCB0b3dhcmRzIHJl
cGxhY2luZyBTVkdQb2ludCBieSBET01Qb2ludC4KKworICAgICAgICBBbiBTVkdQcm9wZXJ0eSBp
cyByZWFkLW9ubHkgaWYgaXQgb3IgaXRzIG93bmVyIGlzIHRoZSBhbmltVmFsIG9mIGFuCisgICAg
ICAgIFNWR0FuaW1hdGVkUHJvcGVydHkgb3IgU1ZHQW5pbWF0ZWRQcm9wZXJ0eUxpc3QuIEluIHRo
aXMgY2FzZSBhbGwgYXR0ZW1wdHMKKyAgICAgICAgdG8gY2hhbmdlIGl0IHRocm91Z2ggSmF2YVNj
cmlwdCBzaG91bGQgdGhyb3cgZXhwZWN0aW9ucy4KKworICAgICAgICBTbyBpbnN0ZWFkIG9mIGtl
ZXBpbmcgYSBtZW1iZXIgb2YgU1ZHUHJvcGVydHlBY2Nlc3MgaW4gZWFjaCBTVkdQcm9wZXJ0eSwK
KyAgICAgICAgd2UgY2FuIHdhbGsgdGhyb3VnaCB0aGUgU1ZHUHJvcGVydHlPd25lciBjaGFpbiB0
aWxsIHdlIHJlYWNoIGFuIG93bmVyIG9mCisgICAgICAgIHR5cGUgU1ZHQW5pbWF0ZWRQcm9wZXJ0
eSBvciBTVkdBbmltYXRlZFByb3BlcnR5TGlzdC4gVGhpcyBvd25lciBjb21wYXJlcworICAgICAg
ICB0aGUgcHJvcGVydHkgdG8gYmUgbW9kaWZpZWQgd2l0aCBpdHMgYW5pbVZhbC4gQW5kIGlmIHRo
ZXkgYXJlIHRoZSBzYW1lLAorICAgICAgICBpdCB3aWxsIHJldHVybiAndHJ1ZScgdGhyb3VnaCBp
dHMgdmlydHVhbCBtZXRob2QgaXNQcm9wZXJ0eVJlYWRPbmx5KCkuCisKKyAgICAgICAgKiBzdmcv
U1ZHQW5nbGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuZ2xlOjpjcmVhdGUpOgorICAgICAg
ICAqIHN2Zy9TVkdFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aC5oOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpjcmVhdGUpOgorICAgICAgICAqIHN2Zy9TVkdMZW5ndGhM
aXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGhMaXN0OjpjcmVhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHTGVuZ3RoTGlzdDo6U1ZHTGVuZ3RoTGlzdCk6CisgICAgICAgICogc3Zn
L1NWR01hdHJpeC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTWF0cml4OjpjcmVhdGUpOgorICAg
ICAgICAqIHN2Zy9TVkdOdW1iZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR051bWJlcjo6Y3Jl
YXRlKToKKyAgICAgICAgKiBzdmcvU1ZHTnVtYmVyTGlzdC5oOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHTnVtYmVyTGlzdDo6Y3JlYXRlKToKKyAgICAgICAgKiBzdmcvU1ZHUGF0aFNlZ0xpc3QuaDoK
KyAgICAgICAgKiBzdmcvU1ZHUG9pbnRMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2lu
dExpc3Q6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OmNyZWF0ZSk6CisgICAg
ICAgICogc3ZnL1NWR1JlY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlY3Q6OmNyZWF0ZSk6
CisgICAgICAgICogc3ZnL1NWR1RyYW5zZm9ybS5oOgorICAgICAgICAqIHN2Zy9TVkdUcmFuc2Zv
cm1MaXN0Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eUxp
c3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJvcGVydHlMaXN0OjpTVkdBbmlt
YXRlZFByb3BlcnR5TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFByb3BlcnR5
TGlzdDo6ZW5zdXJlQW5pbVZhbCk6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0
ZWRWYWx1ZVByb3BlcnR5Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFZhbHVlUHJv
cGVydHk6OlNWR0FuaW1hdGVkVmFsdWVQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdB
bmltYXRlZFZhbHVlUHJvcGVydHk6OmVuc3VyZUFuaW1WYWwpOgorICAgICAgICAqIHN2Zy9wcm9w
ZXJ0aWVzL1NWR1Byb3BlcnR5Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6YXR0
YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5OjpkZXRhY2gpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUHJvcGVydHk6OmNvbnRleHRFbGVtZW50IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1Byb3BlcnR5Ojppc1JlYWRPbmx5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1Byb3BlcnR5OjpTVkdQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0
eTo6YWNjZXNzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQ
cm9wZXJ0eUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5TGlzdDo6U1ZHUHJv
cGVydHlMaXN0KToKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eU93bmVyLmg6
CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eU93bmVyOjppc1Byb3BlcnR5UmVhZE9ubHkg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlPd25lcjo6cHJvcGVydHlDb250
ZXh0RWxlbWVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eU93bmVyOjph
dHRyaWJ1dGVDb250ZXh0RWxlbWVudCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL3By
b3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmFsdWVQ
cm9wZXJ0eTo6U1ZHVmFsdWVQcm9wZXJ0eSk6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZH
VmFsdWVQcm9wZXJ0eUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZhbHVlUHJvcGVydHlM
aXN0OjpTVkdWYWx1ZVByb3BlcnR5TGlzdCk6CisKKzIwMTktMTAtMDEgIFNhaWQgQWJvdS1IYWxs
YXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHRoZSBTVkcgcHJv
cGVydGllcyBvZiBTVkdWaWV3U3BlYyBtb2RpZmlhYmxlIGJ1dCBkZXRhY2hlZCBwcm9wZXJ0aWVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0MTEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUbyBmYWNp
bGl0YXRlIGFjY2Vzc2luZyB0aGUgU1ZHUHJvcGVydGllcywgbWFrZSBhbGwgdGhlIHByb3BlcnRp
ZXMgb2YKKyAgICAgICAgU1ZHVmlld1NwZWMgbW9kaWZpYWJsZSBidXQgZGV0YWNoZWQgcHJvcGVy
dGllcy4gVGhpcyB3aWxsIGJlIGluIGNvbXBsaWFuY2UKKyAgICAgICAgd2l0aCB0aGUgc3BlY3M6
IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9TVkcxMS90eXBlcy5odG1sI0ludGVyZmFjZVNWR1ZpZXdT
cGVjLgorCisgICAgICAgICogc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTVkdGaXRUb1ZpZXdCb3g6OlNWR0ZpdFRvVmlld0JveCk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlVmlld0JveCk6CisgICAgICAgICogc3ZnL1NWR0ZpdFRv
Vmlld0JveC5oOgorICAgICAgICAqIHN2Zy9TVkdWaWV3U3BlYy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTVkdWaWV3U3BlYzo6U1ZHVmlld1NwZWMpOgorICAgICAgICAqIHN2Zy9TVkdWaWV3U3Bl
Yy5oOgorCiAyMDE5LTEwLTA3ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkIFdpbkNhaXJvIGJ1aWxkIGZpeCBmb3IgcjI1MDc1OC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDc3MDI1YzIyMzM2MWQyYTFmZjU0YjliYWQ3N2Ji
ZjdkNzVhMGIxNWUuLjBmZmM3NzhmMDBmYTA3ZjkxM2VlOTBkOWIxMDExODhjMjk5NmZkYTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE5LTEwLTA3ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgW1NWRzJd
OiBSZW1vdmUgdGhlIGludGVyZmFjZSBTVkdQb2ludAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxMzc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9OYXRpdmVGdW5j
dGlvblBhcmFtZXRlcnMuanM6CisKIDIwMTktMTAtMDIgIE5pa2l0YSBWYXNpbHlldiAgPG52YXNp
bHlldkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogU3R5bGVzOiBmb3IgcnVs
ZXMgdGhhdCBkb24ndCBtYXRjaCBzZWxlY3RlZCBub2RlLCBwcm9wZXJ0eSB2YWx1ZXMgYWx3YXlz
IHNob3cgYXMgaW52YWxpZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMjg0MGVm
ZDZmYWU2OTQwNzljMWMwMTRjMzNiYTAxNTAwZjMyOTg3Yy4uNjgzMzA2NTU2NzUxMTcwMjFiZTAz
ZTY4ODE5NWFiOTNjMWM3YzM0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0x
MDIyLDcgKzEwMjIsNiBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9zdmcv
U1ZHUGF0aFNlZ01vdmV0b0Ficy5pZGwgXAogICAgICQoV2ViQ29yZSkvc3ZnL1NWR1BhdGhTZWdN
b3ZldG9SZWwuaWRsIFwKICAgICAkKFdlYkNvcmUpL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5pZGwg
XAotICAgICQoV2ViQ29yZSkvc3ZnL1NWR1BvaW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9zdmcv
U1ZHUG9pbnRMaXN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9zdmcvU1ZHUG9seWdvbkVsZW1lbnQu
aWRsIFwKICAgICAkKFdlYkNvcmUpL3N2Zy9TVkdQb2x5bGluZUVsZW1lbnQuaWRsIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFk
ZXJzLmNtYWtlCmluZGV4IDViMmY1M2I1NmQ3Y2FiNWY2ODllNmUwYzM4OTUzNjIyYzU1NTcwMzku
LmJkNTY1MDkwNDQxYzhlYzI4OTFlM2U1MjI3OWUxNjViN2I3ODg1NTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5j
bWFrZQpAQCAtMzYwLDYgKzM2MCw4IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hF
QURFUlMKICAgICBkb20vRE9NRXhjZXB0aW9uLmgKICAgICBkb20vRE9NSGlnaFJlc1RpbWVTdGFt
cC5oCiAgICAgZG9tL0RPTUltcGxlbWVudGF0aW9uLmgKKyAgICBkb20vRE9NTGl2ZVByb3BlcnR5
LmgKKyAgICBkb20vRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIuaAogICAgIGRvbS9ET01QYXN0ZUFj
Y2Vzcy5oCiAgICAgZG9tL0RPTVJlY3QuaAogICAgIGRvbS9ET01SZWN0SW5pdC5oCkBAIC0xMzkx
LDcgKzEzOTMsNiBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAg
c3ZnL3Byb3BlcnRpZXMvU1ZHTGlzdC5oCiAgICAgc3ZnL3Byb3BlcnRpZXMvU1ZHUHJpbWl0aXZl
TGlzdC5oCiAgICAgc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHkuaAotICAgIHN2Zy9wcm9wZXJ0
aWVzL1NWR1Byb3BlcnR5T3duZXIuaAogICAgIHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5VHJh
aXRzLmgKIAogICAgIHRlc3RpbmcvTW9ja0dhbWVwYWQuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA0YTgx
MDkyNGRlNzQzMmZmZmU2MTJjZjVlZGQ2ZDFmYWI2MTM1NzI3Li5iYzY0N2U4MDM1YjIzYTJjMWNk
MmQwZTg3OGNmMDQzZWNjZGNlOGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtODQwLDYgKzg0MCw3IEBA
IGRvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuY3BwCiBkb20vQ3VzdG9tRXZlbnQuY3BwCiBkb20v
RE9NRXhjZXB0aW9uLmNwcAogZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcAorZG9tL0RPTVBvaW50
LmNwcAogZG9tL0RPTVBvaW50UmVhZE9ubHkuY3BwCiBkb20vRE9NUXVhZC5jcHAKIGRvbS9ET01S
ZWN0TGlzdC5jcHAKQEAgLTMyOTAsNyArMzI5MSw2IEBAIEpTU1ZHUGF0aFNlZ0xpc3QuY3BwCiBK
U1NWR1BhdGhTZWdNb3ZldG9BYnMuY3BwCiBKU1NWR1BhdGhTZWdNb3ZldG9SZWwuY3BwCiBKU1NW
R1BhdHRlcm5FbGVtZW50LmNwcAotSlNTVkdQb2ludC5jcHAKIEpTU1ZHUG9pbnRMaXN0LmNwcAog
SlNTVkdQb2x5Z29uRWxlbWVudC5jcHAKIEpTU1ZHUG9seWxpbmVFbGVtZW50LmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDgz
YzllYzdkOGZlMDQ2M2QwNTFkNTBmZTc2OWMzOTk4NjY3MTU5M2YuLjU3ZDFmNjA5ZDYxZDVlZTY5
MGZhZjg0NjQ1ZDE5ZTM3MDhhMDgzNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIwODgsMTIgKzIwODgsMTMgQEAKIAkJNzFF
RkNFREMyMDJCMzhBOTAwRDdDNDExIC8qIEFuaW1hdGlvbkVmZmVjdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzFFRkNFRDcyMDJCMzg4RDAwRDdDNDEx
IC8qIEFuaW1hdGlvbkVmZmVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTcyMTQ0MzMxMjIzRUM4NTQwMEYxMkZGNyAvKiAobnVsbCkgaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzIxNDQzMzIyMjNFQzg1RjAwRjEyRkY3IC8qIChudWxsKSBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk3MjE0NDMzMzIyM0VDOEIwMDBGMTJGRjcgLyogU1ZH
UHJvcGVydHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDU1RUU1MzYzMjIzQjJBMjQwMEZCQTk0NCAvKiBTVkdQcm9wZXJ0eS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTcyMTQ0MzM0MjIzRUM5MTYwMEYx
MkZGNyAvKiBTVkdQcm9wZXJ0eU93bmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1NUVFNTM2MDIyM0IyQTIxMDBGQkE5NDQgLyogU1ZHUHJvcGVydHlP
d25lci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTcyMjgzRjBFMjMwQjI2OEMwMEY1RDgyOCAvKiBJbWFnZVBhaW50aW5nT3B0aW9ucy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzJDMThBM0YyMzBCMDRC
NzAwNjg0N0M3IC8qIEltYWdlUGFpbnRpbmdPcHRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzI0RUQzMzIxQTNBOEIyMzAwRjVGMTNDIC8q
IEpTRVhUQmxlbmRNaW5NYXguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDcyNEVEMzMwMUEzQThCMjMwMEY1RjEzQyAvKiBKU0VYVEJsZW5kTWluTWF4Lmgg
Ki87IH07CiAJCTcyNEVFNTUwMURDODBEN0YwMEE5MUZGQiAvKiBBY3Rpdml0eVN0YXRlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MjRFRTU0RTFEQzdG
MjVCMDBBOTFGRkIgLyogQWN0aXZpdHlTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcyNEVFNTUxMURDODBEODQwMEE5MUZGQiAvKiBBY3Rp
dml0eVN0YXRlQ2hhbmdlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDcyNEVFNTRGMURDN0YyNUIwMEE5MUZGQiAvKiBBY3Rpdml0eVN0YXRl
Q2hhbmdlT2JzZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQk3MjgzMTVDMTIzNDQ0MDE1MDAwN0QyNzcgLyogRE9NTGl2ZVByb3BlcnR5Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MjgzMTVDMDIz
NDQyMjkyMDAwN0QyNzcgLyogRE9NTGl2ZVByb3BlcnR5LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzI4MzE1QzIyMzQ0NDAyMjAwMDdEMjc3IC8q
IERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3MjgzMTVCRTIzNDQyMjkxMDAwN0QyNzcgLyogRE9NTGl2ZVByb3Bl
cnR5T2JzZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQk3MjgzMTVDNzIzNDUxODIzMDAwN0QyNzcgLyogU1ZHUHJvcGVydHkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcyODMxNUM1MjM0NTBGQzIw
MDA3RDI3NyAvKiBTVkdQcm9wZXJ0eS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTc1NTNDRkU4MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZVJl
Y29yZEZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDc1NTNDRkU2MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZVJlY29yZEZhY3RvcnkuaCAq
LzsgfTsKIAkJNzU3OTNFODQwRDBDRTBCMzAwN0ZDMEFDIC8qIE1lc3NhZ2VFdmVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzU3OTNFODEwRDBDRTBC
MzAwN0ZDMEFDIC8qIE1lc3NhZ2VFdmVudC5oICovOyB9OwogCQk3NTc5M0VDOTBEMENFNzJEMDA3
RkMwQUMgLyogSlNNZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDc1NzkzRUM3MEQwQ0U3MkQwMDdGQzBBQyAvKiBKU01lc3NhZ2VFdmVu
dC5oICovOyB9OwpAQCAtMjMwOCw3ICsyMzA5LDYgQEAKIAkJN0NFMTkxNzcxRjJBQkU3MTAwMjcy
Rjc4IC8qIEpTRmV0Y2hSZXF1ZXN0SW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0NFMTkxNjkxRjJBQjcwNTAwMjcyRjc4IC8qIEpTRmV0Y2hSZXF1
ZXN0SW5pdC5oICovOyB9OwogCQk3Q0UxOTE3OTFGMkFCRTcxMDAyNzJGNzggLyogSlNGZXRjaFJl
cXVlc3RNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3Q0UxOTE2QzFGMkFCNzBBMDAyNzJGNzggLyogSlNGZXRjaFJlcXVlc3RNb2RlLmggKi87IH07
CiAJCTdDRTE5MTdCMUYyQUJFNzEwMDI3MkY3OCAvKiBKU0ZldGNoUmVxdWVzdFJlZGlyZWN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0UxOTE2QTFG
MkFCNzA2MDAyNzJGNzggLyogSlNGZXRjaFJlcXVlc3RSZWRpcmVjdC5oICovOyB9OwotCQk3Q0U1
OEQ0QTFERDY0QTVCMDAxMjg1NTIgLyogU1ZHUG9pbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRTU4RDQ5MURENjRBNUIwMDEyODU1MiAvKiBTVkdQ
b2ludC5oICovOyB9OwogCQk3Q0U1OEQ1MDFERDY5QTFFMDAxMjg1NTIgLyogU1ZHTnVtYmVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0U1OEQ0RjFE
RDY5QTFFMDAxMjg1NTIgLyogU1ZHTnVtYmVyLmggKi87IH07CiAJCTdDRTU4RDU4MUREN0Q5NkQw
MDEyODU1MiAvKiBTVkdUcmFuc2Zvcm1WYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0NFNThENTYxREQ3RDk2RDAwMTI4NTUyIC8qIFNWR1RyYW5z
Zm9ybVZhbHVlLmggKi87IH07CiAJCTdDRTY4MzQ0MTkyMTQzQTgwMEY0RDkyOCAvKiBVc2VyTWVz
c2FnZUhhbmRsZXJEZXNjcmlwdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdDRTY4MzQyMTkyMTQzQTgwMEY0RDkyOCAvKiBVc2VyTWVzc2FnZUhh
bmRsZXJEZXNjcmlwdG9yLmNwcCAqLzsgfTsKQEAgLTg1NzMsMTAgKzg1NzMsOCBAQAogCQk1NUVF
NTM1RDIyM0IyQTBEMDBGQkE5NDQgLyogU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBhaXJBY2Nlc3Nvcklt
cGwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRQcm9wZXJ0
eVBhaXJBY2Nlc3NvckltcGwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTVFRTUz
NUUyMjNCMkEwRTAwRkJBOTQ0IC8qIFNWR0FuaW1hdGlvbkFkZGl0aXZlVmFsdWVGdW5jdGlvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdBbmltYXRpb25BZGRpdGl2ZVZh
bHVlRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTVFRTUzNUYyMjNC
MkEwRjAwRkJBOTQ0IC8qIFNWR0FuaW1hdGVkUHJvcGVydHlQYWlyQW5pbWF0b3IuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBhaXJBbmltYXRv
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1NUVFNTM2MDIyM0IyQTIxMDBGQkE5
NDQgLyogU1ZHUHJvcGVydHlPd25lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTVkdQcm9wZXJ0eU93bmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU1RUU1
MzYxMjIzQjJBMjIwMEZCQTk0NCAvKiBTVkdBdHRyaWJ1dGVBbmltYXRvci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdBdHRyaWJ1dGVBbmltYXRvci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU1RUU1MzYyMjIzQjJBMjMwMEZCQTk0NCAvKiBT
VkdBbmltYXRlZFByb3BlcnR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNW
R0FuaW1hdGVkUHJvcGVydHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTVFRTUz
NjMyMjNCMkEyNDAwRkJBOTQ0IC8qIFNWR1Byb3BlcnR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNWR1Byb3BlcnR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTU1RUU1MzY0MjIzQjJBMjQwMEZCQTk0NCAvKiBTVkdBdHRyaWJ1dGVBbmltYXRvci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdBdHRyaWJ1dGVBbmltYXRvci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NUZBN0ZGQTIxMTBFQ0Q3MDA1QUVGRTcgLyogU1ZH
Wm9vbUFuZFBhblR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHWm9vbUFuZFBhblR5cGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTcwNDQwNTcxRTUzODUxNjAwMzU2NjAxIC8qIENy
eXB0b0FsZ29yaXRobUFFU19DRkJNYWMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQk1hYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC05NDU5LDYgKzk0NTcsMTAgQEAKIAkJNzI3QUZFRDExQTJFQTZBMDAwMDQ0
MkU4IC8qIEVYVHNSR0IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RVhUc1JHQi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyN0FGRUQyMUEyRUE2
QTAwMDA0NDJFOCAvKiBFWFRzUkdCLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEVYVHNSR0IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzI3QUZFRDMxQTJFQTZB
MDAwMDQ0MkU4IC8qIEVYVHNSR0IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEVYVHNSR0Iu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MjgzMTVCRTIzNDQyMjkxMDAwN0Qy
NzcgLyogRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNzI4MzE1QzAyMzQ0MjI5MjAwMDdEMjc3IC8qIERPTUxpdmVQcm9wZXJ0eS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01MaXZlUHJvcGVydHkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzI4MzE1QzUyMzQ1MEZDMjAwMDdEMjc3IC8qIFNWR1By
b3BlcnR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1Byb3BlcnR5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcyODMxNUNFMjM0NjU5MDEwMDA3RDI3NyAv
KiBET01Qb2ludC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01Qb2ludC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyQzE4QTNGMjMwQjA0QjcwMDY4NDdDNyAvKiBJbWFnZVBh
aW50aW5nT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZVBhaW50aW5nT3B0aW9ucy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MkU0MTc2MTFBMkU4RDJGMDA0QzU2MkEgLyog
SlNFWFRzUkdCLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRVhU
c1JHQi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyRTQxNzYyMUEyRThEMkYw
MDRDNTYyQSAvKiBKU0VYVHNSR0IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNFWFRzUkdCLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05OTE1LDcgKzk5MTcs
NiBAQAogCQk3Q0UxOTE2RTFGMkFCNzBEMDAyNzJGN0EgLyogSlNET01DYWNoZVN0b3JhZ2UuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01DYWNoZVN0b3JhZ2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3Q0UxOTE2RTFGMkFCNzBEMDAyNzJGN0IgLyogSlNDYWNoZVF1ZXJ5
T3B0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NhY2hlUXVlcnlPcHRpb25zLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NFMTkxNkYxRjJBQjcwRjAwMjcyRjc4IC8q
IEpTRmV0Y2hSZXF1ZXN0UmVkaXJlY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNGZXRjaFJl
cXVlc3RSZWRpcmVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdDRTU4RDQ5
MURENjRBNUIwMDEyODU1MiAvKiBTVkdQb2ludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTVkdQb2ludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0U1OEQ0
RjFERDY5QTFFMDAxMjg1NTIgLyogU1ZHTnVtYmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNWR051bWJlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0U1
OEQ1MTFERDdCMDkzMDAxMjg1NTIgLyogU1ZHTGVuZ3RoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNWR0xlbmd0aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
Q0U1OEQ1MjFERDdCMDkzMDAxMjg1NTIgLyogU1ZHTGVuZ3RoVmFsdWUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHTGVuZ3RoVmFsdWUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTIzNDIsNyArMTIzNDMsNiBAQAogCQlCMjIyNzhGMTBEMDBC
RjIxMDA3MUI3ODIgLyogU1ZHUGF0dGVybkVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1BhdHRlcm5FbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQjIyMjc4RjIwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1BhdHRlcm5FbGVt
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXR0ZXJuRWxlbWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjIyNzhGMzBEMDBCRjIxMDA3MUI3
ODIgLyogU1ZHUGF0dGVybkVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTVkdQ
YXR0ZXJuRWxlbWVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUIyMjI3OEY0
MEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQb2ludC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IFNWR1BvaW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIyMjc4RjYwRDAw
QkYyMTAwNzFCNzgyIC8qIFNWR1BvaW50TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU1ZHUG9pbnRMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIy
MjI3OEY3MEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQb2ludExpc3QuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBTVkdQb2ludExpc3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlCMjIyNzhGODBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUG9seUVsZW1lbnQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1BvbHlFbGVtZW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MTcxLDEzICsxNjE3MSwxMiBAQAogCQkJCTU1REND
NTI1MjI0MDc0OUUwMEMyNkUzMiAvKiBTVkdQcmltaXRpdmVMaXN0LmggKi8sCiAJCQkJNzI2NkYw
MTUyMjQxQzA5ODAwODMzOTc1IC8qIFNWR1ByaW1pdGl2ZVByb3BlcnR5QW5pbWF0b3IuaCAqLywK
IAkJCQk3MjY2RjAxNDIyNDFCRkIyMDA4MzM5NzUgLyogU1ZHUHJpbWl0aXZlUHJvcGVydHlBbmlt
YXRvckltcGwuaCAqLywKLQkJCQk1NUVFNTM2MzIyM0IyQTI0MDBGQkE5NDQgLyogU1ZHUHJvcGVy
dHkuaCAqLywKKwkJCQk3MjgzMTVDNTIzNDUwRkMyMDAwN0QyNzcgLyogU1ZHUHJvcGVydHkuaCAq
LywKIAkJCQk1NURDQzUyNjIyNDA3NEZBMDBDMjZFMzIgLyogU1ZHUHJvcGVydHlBY2Nlc3Nvci5o
ICovLAogCQkJCTU1RENDNTI3MjI0MDc1MEIwMEMyNkUzMiAvKiBTVkdQcm9wZXJ0eUFjY2Vzc29y
SW1wbC5oICovLAogCQkJCTcyNjZGMDE2MjI0MUMwRkUwMDgzMzk3NSAvKiBTVkdQcm9wZXJ0eUFu
aW1hdG9yLmggKi8sCiAJCQkJNzI2NkYwMTMyMjQxQkNFMjAwODMzOTc1IC8qIFNWR1Byb3BlcnR5
QW5pbWF0b3JGYWN0b3J5LmggKi8sCiAJCQkJNzI2NkYwMjcyMjQzMTA5MjAwODMzOTc1IC8qIFNW
R1Byb3BlcnR5TGlzdC5oICovLAotCQkJCTU1RUU1MzYwMjIzQjJBMjEwMEZCQTk0NCAvKiBTVkdQ
cm9wZXJ0eU93bmVyLmggKi8sCiAJCQkJNTVCRTAyNUMyMjNCMjlDMzAwMzJGMDhBIC8qIFNWR1By
b3BlcnR5T3duZXJSZWdpc3RyeS5oICovLAogCQkJCTU1QkUwMjU3MjIzQjI5QzAwMDMyRjA4QSAv
KiBTVkdQcm9wZXJ0eVJlZ2lzdHJ5LmggKi8sCiAJCQkJMDg4QTBFMDMxMjZFRjFEQjAwOTc4RjdB
IC8qIFNWR1Byb3BlcnR5VHJhaXRzLmggKi8sCkBAIC0yNDMzNiw4ICsyNDMzNSw2IEBACiAJCQkJ
QjIyMjc4RjEwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1BhdHRlcm5FbGVtZW50LmNwcCAqLywKIAkJ
CQlCMjIyNzhGMjBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUGF0dGVybkVsZW1lbnQuaCAqLywKIAkJ
CQlCMjIyNzhGMzBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUGF0dGVybkVsZW1lbnQuaWRsICovLAot
CQkJCTdDRTU4RDQ5MURENjRBNUIwMDEyODU1MiAvKiBTVkdQb2ludC5oICovLAotCQkJCUIyMjI3
OEY0MEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQb2ludC5pZGwgKi8sCiAJCQkJQjIyMjc4RjYwRDAw
QkYyMTAwNzFCNzgyIC8qIFNWR1BvaW50TGlzdC5oICovLAogCQkJCUIyMjI3OEY3MEQwMEJGMjEw
MDcxQjc4MiAvKiBTVkdQb2ludExpc3QuaWRsICovLAogCQkJCUIyMjI3OEY4MEQwMEJGMjEwMDcx
Qjc4MiAvKiBTVkdQb2x5RWxlbWVudC5jcHAgKi8sCkBAIC0yNzU3Myw3ICsyNzU3MCwxMCBAQAog
CQkJCUE4MTg1RjM2MDk3NjU3NjUwMDU4MjZEOSAvKiBET01JbXBsZW1lbnRhdGlvbi5jcHAgKi8s
CiAJCQkJQTgxODVGMzMwOTc2NTc2NTAwNTgyNkQ5IC8qIERPTUltcGxlbWVudGF0aW9uLmggKi8s
CiAJCQkJOTNFRUMxRTkwOUMyODc3NzAwQzUxNUQxIC8qIERPTUltcGxlbWVudGF0aW9uLmlkbCAq
LywKKwkJCQk3MjgzMTVDMDIzNDQyMjkyMDAwN0QyNzcgLyogRE9NTGl2ZVByb3BlcnR5LmggKi8s
CisJCQkJNzI4MzE1QkUyMzQ0MjI5MTAwMDdEMjc3IC8qIERPTUxpdmVQcm9wZXJ0eU9ic2VydmVy
LmggKi8sCiAJCQkJRjRCNDIyQzIyMjBDMDAwMDAwOUUxRTdEIC8qIERPTVBhc3RlQWNjZXNzLmgg
Ki8sCisJCQkJNzI4MzE1Q0UyMzQ2NTkwMTAwMDdEMjc3IC8qIERPTVBvaW50LmNwcCAqLywKIAkJ
CQkwRjQ5NjY5OTFEQjQwOEMxMDBBMjc0QkIgLyogRE9NUG9pbnQuaCAqLywKIAkJCQkwRjQ5NjY5
QTFEQjQwOEMxMDBBMjc0QkIgLyogRE9NUG9pbnQuaWRsICovLAogCQkJCTBGNDk2NkEyMURCNDA5
MTAwMEEyNzRCQiAvKiBET01Qb2ludEluaXQuaCAqLywKQEAgLTI5MTY4LDYgKzI5MTY4LDggQEAK
IAkJCQlFM0E3NzY2NzFEQzg1RDI4MDBCNjkwRDggLyogRE9NSklUSURMQ29udmVydC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTNBNzc2NjgxREM4NUQyODAwQjY5MEQ4IC8qIERPTUpJVElETFR5cGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUUzNTgwMkI2MURDODQzNUQwMEE5NzczQyAvKiBET01KSVRJ
RExUeXBlRmlsdGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk3MjgzMTVDMTIzNDQ0MDE1MDAwN0Qy
NzcgLyogRE9NTGl2ZVByb3BlcnR5LmggaW4gSGVhZGVycyAqLywKKwkJCQk3MjgzMTVDMjIzNDQ0
MDIyMDAwN0QyNzcgLyogRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTgzNkFDRUNBMUVDQTk1NjkwMDRCRDAxMiAvKiBET01NYXRyaXguaCBpbiBIZWFkZXJzICov
LAogCQkJCTdDQkJCQ0M3MUY1NjA1ODEwMDVFRkFBQyAvKiBET01NYXRyaXgyREluaXQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTgzNkFDRUNCMUVDQTk1NkQwMDRCRDAxMiAvKiBET01NYXRyaXhJbml0
LmggaW4gSGVhZGVycyAqLywKQEAgLTMxOTg1LDE1ICszMTk4NywxMyBAQAogCQkJCTg0QzVCMkZC
MTIxNkRDODEwMDg4QjUzQSAvKiBTVkdQYXRoVHJhdmVyc2FsU3RhdGVCdWlsZGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk3MUE1N0RGMjE1NEJFMjVDMDAwOUQxMjAgLyogU1ZHUGF0aFV0aWxpdGll
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBODgwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1Bh
dHRlcm5FbGVtZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQk3Q0U1OEQ0QTFERDY0QTVCMDAxMjg1
NTIgLyogU1ZHUG9pbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QThDMEQwMEJGMjIwMDcx
Qjc4MiAvKiBTVkdQb2ludExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QThGMEQwMEJG
MjIwMDcxQjc4MiAvKiBTVkdQb2x5RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdB
OTEwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1BvbHlnb25FbGVtZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQlCMjIyN0E5NDBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUG9seWxpbmVFbGVtZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQlCMjIyN0E5NzBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUHJlc2VydmVB
c3BlY3RSYXRpby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTVEQ0M1MjgyMjQwN0IyMDAwQzI2RTMy
IC8qIFNWR1ByaW1pdGl2ZUxpc3QuaCBpbiBIZWFkZXJzICovLAotCQkJCTcyMTQ0MzMzMjIzRUM4
QjAwMEYxMkZGNyAvKiBTVkdQcm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNzIxNDQzMzQy
MjNFQzkxNjAwRjEyRkY3IC8qIFNWR1Byb3BlcnR5T3duZXIuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTcyODMxNUM3MjM0NTE4MjMwMDA3RDI3NyAvKiBTVkdQcm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMDg4QTBFMEMxMjZFRjFEQjAwOTc4RjdBIC8qIFNWR1Byb3BlcnR5VHJhaXRzLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCMjIyN0E5QTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUmFkaWFsR3Jh
ZGllbnRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwOEVERTE5RjEyQTUwQjhFMDBCOTU3
OTcgLyogU1ZHUmVjdC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGNjMDI4YzI1MTNhYjE4Y2U1
MDU3NmNmNjg3OWY2Zjc3NDE4OTc3N2UuLjJlMGMyNTlhNTZkY2JmNTMyNDAwMGMyNzI2MWIxOWQx
ODUyNmM4ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtCkBAIC0xNDQ4LDYgKzE0NDgsNyBAQCBzdWIgU2hvdWxkR2VuZXJhdGVU
b1dyYXBwZWQKICAgICBteSAoJGhhc1BhcmVudCwgJGludGVyZmFjZSkgPSBAXzsKIAogICAgIHJl
dHVybiAwIGlmIG5vdCBOZWVkc0ltcGxlbWVudGF0aW9uQ2xhc3MoJGludGVyZmFjZSk7CisgICAg
cmV0dXJuIDEgaWYgJGludGVyZmFjZS0+dHlwZS0+bmFtZSBlcSAiRE9NUG9pbnQiOwogICAgIHJl
dHVybiAxIGlmICEkaGFzUGFyZW50IG9yICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+
e0pTR2VuZXJhdGVUb05hdGl2ZU9iamVjdH07CiAgICAgcmV0dXJuIDEgaWYgJGludGVyZmFjZS0+
cGFyZW50VHlwZSAmJiAkaW50ZXJmYWNlLT5wYXJlbnRUeXBlLT5uYW1lIGVxICJFdmVudFRhcmdl
dCI7CiAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NTGl2
ZVByb3BlcnR5LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NTGl2ZVByb3BlcnR5LmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOWU1OTQ4YjY4MzU5MWNmYmVmNTczZmVmYTg5MGVjYWVjMjYyYmM5YQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01MaXZlUHJvcGVydHkuaApAQCAtMCwwICsx
LDgwIEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0OgorKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
IkRPTUxpdmVQcm9wZXJ0eU9ic2VydmVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgRE9NTGl2ZVByb3BlcnR5IHsKK3B1YmxpYzoKKyAgICAvLyBNYW5hZ2luZyB0aGUgcmVsYXRp
b25zaGlwIHdpdGggdGhlIG9ic2VydmVyLgorICAgIGJvb2wgaXNBdHRhY2hlZCgpIGNvbnN0IHsg
cmV0dXJuIG1fb2JzZXJ2ZXI7IH0KKyAgICBET01MaXZlUHJvcGVydHlPYnNlcnZlciogb2JzZXJ2
ZXIoKSBjb25zdCB7IHJldHVybiBtX29ic2VydmVyOyB9CisKKyAgICB2b2lkIGF0dGFjaChET01M
aXZlUHJvcGVydHlPYnNlcnZlciogb2JzZXJ2ZXIpCisgICAgeworICAgICAgICBBU1NFUlQoIW1f
b2JzZXJ2ZXIpOworICAgICAgICBtX29ic2VydmVyID0gb2JzZXJ2ZXI7CisgICAgfQorCisgICAg
dm9pZCBkZXRhY2goKQorICAgIHsKKyAgICAgICAgbV9vYnNlcnZlciA9IG51bGxwdHI7CisgICAg
fQorCisgICAgLy8gVHJhdmVyc2UgdGhlIG9ic2VydmVycyBjaGFpbiB0aWxsIGFuIFNWR0VsZW1l
bnQgb2JzZXJ2ZXIgaXMgcmVhY2hlZC4KKyAgICBjb25zdCBTVkdFbGVtZW50KiBzdmdDb250ZXh0
RWxlbWVudCgpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoIW1fb2JzZXJ2ZXIpCisgICAgICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuIG1fb2JzZXJ2ZXItPnByb3BlcnR5
U1ZHQ29udGV4dEVsZW1lbnQoKTsKKyAgICB9CisKKyAgICAvLyBDaGVjayBpZiB0aGUgb2JzZXJ2
ZXIgZGlzYWxsb3dzIGNoYW5naW5nIHRoaXMgcHJvcGVydHkuCisgICAgYm9vbCBpc1JlYWRPbmx5
KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX29ic2VydmVyICYmIG1fb2JzZXJ2ZXIt
PmlzUHJvcGVydHlSZWFkT25seSgqdGhpcyk7CisgICAgfQorCisgICAgLy8gQ29tbWl0IHRoZSBs
aXZlIHByb3BlcnR5IGNoYW5nZXMgdmlhIHRoZSBvYnNlcnZlcnMgY2hhaW4uCisgICAgdm9pZCBj
b21taXRDaGFuZ2UoKQorICAgIHsKKyAgICAgICAgaWYgKCFtX29ic2VydmVyKQorICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICBtX29ic2VydmVyLT5jb21taXRQcm9wZXJ0eUNoYW5nZSh0aGlz
KTsKKyAgICB9CisKK3Byb3RlY3RlZDoKKyAgICBET01MaXZlUHJvcGVydHkoRE9NTGl2ZVByb3Bl
cnR5T2JzZXJ2ZXIqIG9ic2VydmVyID0gbnVsbHB0cikKKyAgICAgICAgOiBtX29ic2VydmVyKG9i
c2VydmVyKQorICAgIHsKKyAgICB9CisKKyAgICBET01MaXZlUHJvcGVydHlPYnNlcnZlciogbV9v
YnNlcnZlciB7IG51bGxwdHIgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01MaXZlUHJvcGVydHlPYnNlcnZlci5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RPTUxpdmVQcm9wZXJ0eU9ic2VydmVyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDBh
OTA3YWMxNjYwMTk3ZmQyYzI1N2JkYjY5OGViYjMzYzk3NTIwYQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9ET01MaXZlUHJvcGVydHlPYnNlcnZlci5oCkBAIC0wLDAgKzEs
NjUgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIERPTUxpdmVQcm9wZXJ0eTsKK2NsYXNzIFNWR0VsZW1lbnQ7CisK
K2NsYXNzIERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5E
T01MaXZlUHJvcGVydHlPYnNlcnZlcigpID0gZGVmYXVsdDsKKworICAgIC8vIFRoZSBvYnNlcnZl
ciBpdHNlbGYgbWF5IGhhdmUgYW4gb2JzZXJ2ZXIuCisgICAgdmlydHVhbCBET01MaXZlUHJvcGVy
dHlPYnNlcnZlciogb2JzZXJ2ZXIoKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CisKKyAgICAv
LyBUcmF2ZXJzZSB0aGUgb2JzZXJ2ZXJzIGNoYWluIHRpbGwgYW4gRWxlbWVudCBvYnNlcnZlciBp
cyByZWFjaGVkLgorICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogcHJvcGVydHlTVkdDb250
ZXh0RWxlbWVudCgpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoIW9ic2VydmVyKCkpCisgICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuIG9ic2VydmVyKCktPnByb3Bl
cnR5U1ZHQ29udGV4dEVsZW1lbnQoKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNQcm9w
ZXJ0eVJlYWRPbmx5KGNvbnN0IERPTUxpdmVQcm9wZXJ0eSYgcHJvcGVydHkpIGNvbnN0CisgICAg
eworICAgICAgICByZXR1cm4gb2JzZXJ2ZXIoKSAmJiBvYnNlcnZlcigpLT5pc1Byb3BlcnR5UmVh
ZE9ubHkocHJvcGVydHkpOworICAgIH0KKworICAgIC8vIENvbW1pdCB0aGUgbGl2ZSBwcm9wZXJ0
eSBjaGFuZ2VzIHZpYSB0aGUgb2JzZXJ2ZXJzIGNoYWluLgorICAgIHZpcnR1YWwgdm9pZCBjb21t
aXRQcm9wZXJ0eUNoYW5nZShET01MaXZlUHJvcGVydHkqIHByb3BlcnR5KQorICAgIHsKKyAgICAg
ICAgaWYgKCFvYnNlcnZlcigpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBvYnNlcnZl
cigpLT5jb21taXRQcm9wZXJ0eUNoYW5nZShwcm9wZXJ0eSk7CisgICAgfQorCitwcm90ZWN0ZWQ6
CisgICAgRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIoKSA9IGRlZmF1bHQ7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUG9pbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Y2VlMWFh
YTA3YmFmMTczMzRiNGIxYzM4ZTJkZTMxZTkwODBkZTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmNwcApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICog
ICAgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFCisgKiBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsCisgKiBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorICogU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsCisgKiBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VECisgKiBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkRPTVBvaW50LmgiCisKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChE
T01Qb2ludCk7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RPTVBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUG9pbnQuaApp
bmRleCA3NzI3N2Q3ZjIxYjNmNGJjYzNjNDA0ZDUzZWUxZWM4Y2IwMzUzYmMzLi5jZjkzZjE0YzY1
MWVkZmM5MjU3NDc3ODAxOTNhYzc2ODE1ZjIzZTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRE9NUG9pbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUG9pbnQuaApAQCAt
MzAsMjcgKzMwLDcwIEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiRE9NTGl2ZVByb3Bl
cnR5LmgiCiAjaW5jbHVkZSAiRE9NUG9pbnRSZWFkT25seS5oIgorI2luY2x1ZGUgPHd0Zi9Jc29N
YWxsb2NJbmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRE9NUG9pbnQg
ZmluYWwgOiBwdWJsaWMgRE9NUG9pbnRSZWFkT25seSB7CitjbGFzcyBET01Qb2ludCBmaW5hbCA6
IHB1YmxpYyBET01Qb2ludFJlYWRPbmx5LCBwdWJsaWMgRE9NTGl2ZVByb3BlcnR5IHsKKyAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKERPTVBvaW50KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVm
PERPTVBvaW50PiBjcmVhdGUoZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgeiA9IDAsIGRvdWJs
ZSB3ID0gMSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBET01Qb2ludCh4LCB5LCB6LCB3KSk7IH0K
ICAgICBzdGF0aWMgUmVmPERPTVBvaW50PiBjcmVhdGUoY29uc3QgRE9NUG9pbnRJbml0JiBpbml0
KSB7IHJldHVybiBjcmVhdGUoaW5pdC54LCBpbml0LnksIGluaXQueiwgaW5pdC53KTsgfQogICAg
IHN0YXRpYyBSZWY8RE9NUG9pbnQ+IGZyb21Qb2ludChjb25zdCBET01Qb2ludEluaXQmIGluaXQp
IHsgcmV0dXJuIGNyZWF0ZShpbml0LngsIGluaXQueSwgaW5pdC56LCBpbml0LncpOyB9CisgICAg
UmVmPERPTVBvaW50PiBjbG9uZSgpIGNvbnN0IHsgcmV0dXJuIGNyZWF0ZShtX3gsIG1feSwgbV96
LCBtX3cpOyB9CiAKICAgICB2b2lkIHNldFgoZG91YmxlIHgpIHsgbV94ID0geDsgfQogICAgIHZv
aWQgc2V0WShkb3VibGUgeSkgeyBtX3kgPSB5OyB9CiAgICAgdm9pZCBzZXRaKGRvdWJsZSB6KSB7
IG1feiA9IHo7IH0KICAgICB2b2lkIHNldFcoZG91YmxlIHcpIHsgbV93ID0gdzsgfQogCisgICAg
RXhjZXB0aW9uT3I8dm9pZD4gc2V0WEZvckJpbmRpbmdzKGRvdWJsZSB4KQorICAgIHsKKyAgICAg
ICAgaWYgKGlzUmVhZE9ubHkoKSkKKyAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBOb01v
ZGlmaWNhdGlvbkFsbG93ZWRFcnJvciB9OworICAgIAorICAgICAgICBtX3ggPSB4OworICAgICAg
ICBjb21taXRDaGFuZ2UoKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAgCisgICAg
RXhjZXB0aW9uT3I8dm9pZD4gc2V0WUZvckJpbmRpbmdzKGRvdWJsZSB5KQorICAgIHsKKyAgICAg
ICAgaWYgKGlzUmVhZE9ubHkoKSkKKyAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBOb01v
ZGlmaWNhdGlvbkFsbG93ZWRFcnJvciB9OworICAgIAorICAgICAgICBtX3kgPSB5OworICAgICAg
ICBjb21taXRDaGFuZ2UoKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAgCisgICAg
RXhjZXB0aW9uT3I8dm9pZD4gc2V0WkZvckJpbmRpbmdzKGRvdWJsZSB6KQorICAgIHsKKyAgICAg
ICAgaWYgKGlzUmVhZE9ubHkoKSkKKyAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBOb01v
ZGlmaWNhdGlvbkFsbG93ZWRFcnJvciB9OworICAgIAorICAgICAgICBtX3ogPSB6OworICAgICAg
ICBjb21taXRDaGFuZ2UoKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAgCisgICAg
RXhjZXB0aW9uT3I8dm9pZD4gc2V0V0ZvckJpbmRpbmdzKGRvdWJsZSB3KQorICAgIHsKKyAgICAg
ICAgaWYgKGlzUmVhZE9ubHkoKSkKKyAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBOb01v
ZGlmaWNhdGlvbkFsbG93ZWRFcnJvciB9OworICAgIAorICAgICAgICBtX3cgPSB3OworICAgICAg
ICBjb21taXRDaGFuZ2UoKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAgCiBwcml2
YXRlOgogICAgIERPTVBvaW50KGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHosIGRvdWJsZSB3
KQogICAgICAgICA6IERPTVBvaW50UmVhZE9ubHkoeCwgeSwgeiwgdykKICAgICB7CiAgICAgfQog
fTsKLXN0YXRpY19hc3NlcnQoc2l6ZW9mKERPTVBvaW50KSA9PSBzaXplb2YoRE9NUG9pbnRSZWFk
T25seSksICIiKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RPTVBvaW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludC5p
ZGwKaW5kZXggNjliYmMyZDBmZjIwNzYxNDZmZmQ1NTI3MDRkNTc2MjI1MTlkZDYwNS4uOGRjOTEw
OWI4NWY4ZDViM2I0MzYyZDMyYjVhM2FmYTUzMjI2ZDMyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0RPTVBvaW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUG9pbnQu
aWRsCkBAIC0zNCwxNCArMzQsMTUgQEAKICAgICBDb25zdHJ1Y3RvcihvcHRpb25hbCB1bnJlc3Ry
aWN0ZWQgZG91YmxlIHggPSAwLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkgPSAwLAog
ICAgICAgICBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHogPSAwLCBvcHRpb25hbCB1bnJl
c3RyaWN0ZWQgZG91YmxlIHcgPSAxKSwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKKyAg
ICBMZWdhY3lXaW5kb3dBbGlhcz1TVkdQb2ludCwKICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUlt
cGwsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQorICAgIFNraXBWVGFibGVWYWxpZGF0
aW9uCiBdCiBpbnRlcmZhY2UgRE9NUG9pbnQgOiBET01Qb2ludFJlYWRPbmx5IHsKICAgICBbTmV3
T2JqZWN0XSBzdGF0aWMgRE9NUG9pbnQgZnJvbVBvaW50KG9wdGlvbmFsIERPTVBvaW50SW5pdCBv
dGhlcik7CiAKLSAgICBpbmhlcml0IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHg7Ci0g
ICAgaW5oZXJpdCBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB5OwotICAgIGluaGVyaXQg
YXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgejsKLSAgICBpbmhlcml0IGF0dHJpYnV0ZSB1
bnJlc3RyaWN0ZWQgZG91YmxlIHc7CisgICAgW0ltcGxlbWVudGVkQXM9eEZvckJpbmRpbmdzXSBp
bmhlcml0IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHg7CisgICAgW0ltcGxlbWVudGVk
QXM9eUZvckJpbmRpbmdzXSBpbmhlcml0IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHk7
CisgICAgW0ltcGxlbWVudGVkQXM9ekZvckJpbmRpbmdzXSBpbmhlcml0IGF0dHJpYnV0ZSB1bnJl
c3RyaWN0ZWQgZG91YmxlIHo7CisgICAgW0ltcGxlbWVudGVkQXM9d0ZvckJpbmRpbmdzXSBpbmhl
cml0IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHc7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50UmVhZE9ubHkuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
T01Qb2ludFJlYWRPbmx5LmgKaW5kZXggMGE2OGZkZjFiYzE5NGU0MzE3ZTFiNTVmYWQ4OWQ0NmRh
ZWZlNzIxMS4uOWE0ZGI2NjA5MTQ1NTk4MmFmNmY4YTc1MTM1NGI2ZmMwMjZmNDAxYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50UmVhZE9ubHkuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRE9NUG9pbnRSZWFkT25seS5oCkBAIC00Myw2ICs0Myw3IEBAIGNsYXNzIERP
TVBvaW50OwogY2xhc3MgRE9NUG9pbnRSZWFkT25seSA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUs
IHB1YmxpYyBSZWZDb3VudGVkPERPTVBvaW50UmVhZE9ubHk+IHsKICAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKERPTVBvaW50UmVhZE9ubHkpOwogcHVibGljOgorICAgIHZpcnR1YWwgfkRPTVBv
aW50UmVhZE9ubHkoKSA9IGRlZmF1bHQ7CiAgICAgc3RhdGljIFJlZjxET01Qb2ludFJlYWRPbmx5
PiBjcmVhdGUoZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgeiwgZG91YmxlIHcpIHsgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgRE9NUG9pbnRSZWFkT25seSh4LCB5LCB6LCB3KSk7IH0KICAgICBzdGF0
aWMgUmVmPERPTVBvaW50UmVhZE9ubHk+IGNyZWF0ZShjb25zdCBET01Qb2ludEluaXQmIGluaXQp
IHsgcmV0dXJuIGNyZWF0ZShpbml0LngsIGluaXQueSwgaW5pdC56LCBpbml0LncpOyB9CiAgICAg
c3RhdGljIFJlZjxET01Qb2ludFJlYWRPbmx5PiBmcm9tUG9pbnQoY29uc3QgRE9NUG9pbnRJbml0
JiBpbml0KSB7IHJldHVybiBjcmVhdGUoaW5pdC54LCBpbml0LnksIGluaXQueiwgaW5pdC53KTsg
fQpAQCAtNTIsNiArNTMsMTEgQEAgcHVibGljOgogICAgIGRvdWJsZSB6KCkgY29uc3QgeyByZXR1
cm4gbV96OyB9CiAgICAgZG91YmxlIHcoKSBjb25zdCB7IHJldHVybiBtX3c7IH0KIAorICAgIGRv
dWJsZSB4Rm9yQmluZGluZ3MoKSBjb25zdCB7IHJldHVybiBtX3g7IH0KKyAgICBkb3VibGUgeUZv
ckJpbmRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV95OyB9CisgICAgZG91YmxlIHpGb3JCaW5kaW5n
cygpIGNvbnN0IHsgcmV0dXJuIG1fejsgfQorICAgIGRvdWJsZSB3Rm9yQmluZGluZ3MoKSBjb25z
dCB7IHJldHVybiBtX3c7IH0KKwogICAgIEV4Y2VwdGlvbk9yPFJlZjxET01Qb2ludD4+IG1hdHJp
eFRyYW5zZm9ybShET01NYXRyaXhJbml0JiYpIGNvbnN0OwogCiBwcm90ZWN0ZWQ6CkBAIC03MSw0
ICs3NywzIEBAIHByb3RlY3RlZDoKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50UmVhZE9ubHkuaWRsIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RPTVBvaW50UmVhZE9ubHkuaWRsCmluZGV4IDNmZmQ2NmZkNzEyMWE5ZGM3
Y2M1Zjg1NzNhNzZhNzg5NzQ0Zjk2OGUuLjQxYzNjNGU1Mzg2YjYzY2E3ZTY3NGFiNDNiNTMwN2Zh
ZTVhMDgyNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludFJlYWRPbmx5
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUG9pbnRSZWFkT25seS5pZGwKQEAgLTM0
LDE1ICszNCwxNSBAQAogICAgIENvbnN0cnVjdG9yKG9wdGlvbmFsIHVucmVzdHJpY3RlZCBkb3Vi
bGUgeCA9IDAsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBkb3VibGUgeSA9IDAsCiAgICAgICAgIG9w
dGlvbmFsIHVucmVzdHJpY3RlZCBkb3VibGUgeiA9IDAsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBk
b3VibGUgdyA9IDEpLAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAotICAgIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUKKyAgICBTa2lwVlRhYmxlVmFsaWRhdGlvbgogXQogaW50ZXJmYWNl
IERPTVBvaW50UmVhZE9ubHkgewogICAgIFtOZXdPYmplY3RdIHN0YXRpYyBET01Qb2ludFJlYWRP
bmx5IGZyb21Qb2ludChvcHRpb25hbCBET01Qb2ludEluaXQgb3RoZXIpOwogCi0gICAgcmVhZG9u
bHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgeDsKLSAgICByZWFkb25seSBhdHRyaWJ1
dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB5OwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnJlc3Ry
aWN0ZWQgZG91YmxlIHo7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3Vi
bGUgdzsKKyAgICBbSW1wbGVtZW50ZWRBcz14Rm9yQmluZGluZ3NdIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHg7CisgICAgW0ltcGxlbWVudGVkQXM9eUZvckJpbmRpbmdz
XSByZWFkb25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB5OworICAgIFtJbXBsZW1l
bnRlZEFzPXpGb3JCaW5kaW5nc10gcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3Vi
bGUgejsKKyAgICBbSW1wbGVtZW50ZWRBcz13Rm9yQmluZGluZ3NdIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHc7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVBv
aW50IG1hdHJpeFRyYW5zZm9ybShvcHRpb25hbCBET01NYXRyaXhJbml0IG1hdHJpeCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVu
dC5jcHAKaW5kZXggMTVjMDU2ZDc2NDMwMTc1OWY2YmNlMGU1YmY5NjcyNWYwYTkxZWZhMC4uOTFm
YzJiNDk5OTg5MDY3MTFiNjljMzQ4MjdiNDhmYTY2YjEwYmQ0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5jcHAKQEAgLTI2
LDYgKzI2LDExIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50
YXRpb25Pck1vdGlvbkV2ZW50LmgiCiAKKyNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQor
I2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxlci5oIgor
I2VuZGlmCisKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgog
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUGF0aERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5jcHAKaW5kZXggMmJhYjE4MDJhNjU1NGQ5MWI1NWEwOTc4
NjU4ODE2ZTAyMTcxYzEzZi4uZGVlZDM3MDMyOWEwMmY0MmExNWI1OWFhODVmZWMyMjk0NWFjYjc2
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5jcHAKQEAg
LTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTVkdQYXRoRGF0
YS5oIgogCisjaW5jbHVkZSAiRE9NUG9pbnQuaCIKICNpbmNsdWRlICJQYXRoLmgiCiAjaW5jbHVk
ZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCkBAIC0zMCw3ICsz
MSw2IEBACiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJTVkdQYXRoRWxlbWVudC5o
IgogI2luY2x1ZGUgIlNWR1BhdGhVdGlsaXRpZXMuaCIKLSNpbmNsdWRlICJTVkdQb2ludC5oIgog
I2luY2x1ZGUgIlNWR1BvaW50TGlzdC5oIgogI2luY2x1ZGUgIlNWR1BvbHlnb25FbGVtZW50Lmgi
CiAjaW5jbHVkZSAiU1ZHUG9seWxpbmVFbGVtZW50LmgiCkBAIC0xMDUsMTEgKzEwNSwxMSBAQCBz
dGF0aWMgUGF0aCBwYXRoRnJvbVBvbHlnb25FbGVtZW50KGNvbnN0IFNWR0VsZW1lbnQmIGVsZW1l
bnQpCiAgICAgICAgIHJldHVybiB7IH07CiAKICAgICBQYXRoIHBhdGg7Ci0gICAgcGF0aC5tb3Zl
VG8ocG9pbnRzLmZpcnN0KCktPnZhbHVlKCkpOworICAgIHBhdGgubW92ZVRvKEZsb2F0UG9pbnQo
cG9pbnRzLmZpcnN0KCktPngoKSwgcG9pbnRzLmZpcnN0KCktPnkoKSkpOwogCiAgICAgdW5zaWdu
ZWQgc2l6ZSA9IHBvaW50cy5zaXplKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IHNp
emU7ICsraSkKLSAgICAgICAgcGF0aC5hZGRMaW5lVG8ocG9pbnRzLmF0KGkpLT52YWx1ZSgpKTsK
KyAgICAgICAgcGF0aC5hZGRMaW5lVG8oRmxvYXRQb2ludChwb2ludHMuYXQoaSktPngoKSwgcG9p
bnRzLmF0KGkpLT55KCkpKTsKIAogICAgIHBhdGguY2xvc2VTdWJwYXRoKCk7CiAgICAgcmV0dXJu
IHBhdGg7CkBAIC0xMjIsMTEgKzEyMiwxMSBAQCBzdGF0aWMgUGF0aCBwYXRoRnJvbVBvbHlsaW5l
RWxlbWVudChjb25zdCBTVkdFbGVtZW50JiBlbGVtZW50KQogICAgICAgICByZXR1cm4geyB9Owog
CiAgICAgUGF0aCBwYXRoOwotICAgIHBhdGgubW92ZVRvKHBvaW50cy5maXJzdCgpLT52YWx1ZSgp
KTsKKyAgICBwYXRoLm1vdmVUbyhGbG9hdFBvaW50KHBvaW50cy5maXJzdCgpLT54KCksIHBvaW50
cy5maXJzdCgpLT55KCkpKTsKIAogICAgIHVuc2lnbmVkIHNpemUgPSBwb2ludHMuc2l6ZSgpOwog
ICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkgPCBzaXplOyArK2kpCi0gICAgICAgIHBhdGguYWRk
TGluZVRvKHBvaW50cy5hdChpKS0+dmFsdWUoKSk7CisgICAgICAgIHBhdGguYWRkTGluZVRvKEZs
b2F0UG9pbnQocG9pbnRzLmF0KGkpLT54KCksIHBvaW50cy5hdChpKS0+eSgpKSk7CiAgICAgcmV0
dXJuIHBhdGg7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmdsZS5o
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuZ2xlLmgKaW5kZXggOWM2MTczMmFlOTMxYzk4NTRl
NzU2OWUxY2IyMmE2ZWQ4ZGFmNWIwMy4uMDRiMjE2ZmE3NmVlMGFjMjg3NmE2M2UwZDZiMzk1NGEz
ODY1YWVmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuZ2xlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuZ2xlLmgKQEAgLTQxLDkgKzQxLDkgQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdBbmdsZSh2YWx1ZSkpOwogICAgIH0KIAot
ICAgIHN0YXRpYyBSZWY8U1ZHQW5nbGU+IGNyZWF0ZShTVkdQcm9wZXJ0eU93bmVyKiBvd25lciwg
U1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzLCBjb25zdCBTVkdBbmdsZVZhbHVlJiB2YWx1ZSA9IHsg
fSkKKyAgICBzdGF0aWMgUmVmPFNWR0FuZ2xlPiBjcmVhdGUoRE9NTGl2ZVByb3BlcnR5T2JzZXJ2
ZXIqIG9ic2VydmVyLCBjb25zdCBTVkdBbmdsZVZhbHVlJiB2YWx1ZSA9IHsgfSkKICAgICB7Ci0g
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR0FuZ2xlKG93bmVyLCBhY2Nlc3MsIHZhbHVl
KSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR0FuZ2xlKG9ic2VydmVyLCB2YWx1
ZSkpOwogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxl
bWVudC5jcHAKaW5kZXggMTZjM2FmYzIxNTNiNjhkYTlkODUzNjU2OTYyNjA1YzhlMTBhNWFmNC4u
MjA0YzIyYmIzNmRkYTA4NjI4MTM5MTcyMzBmZDRlOTQwMTFmNDk0ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdFbGVtZW50LmNwcApAQCAtNTQxLDIwICs1NDEsMjMgQEAgdm9pZCBTVkdFbGVtZW50OjphdHRy
aWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21TdHJpbmcm
IG8KICAgICAgICAgc3ZnQXR0cmlidXRlQ2hhbmdlZChuYW1lKTsKIH0KIAotdm9pZCBTVkdFbGVt
ZW50OjpzeW5jaHJvbml6ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKQordm9p
ZCBTVkdFbGVtZW50OjpzeW5jaHJvbml6ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBh
dHRyaWJ1dGVOYW1lKQogewotICAgIC8vIElmIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgaGFz
IGNoYW5nZWQsIHNlcmlhbGl6ZSB0aGUgbmV3IHZhbHVlIHRvIHRoZSBhdHRyaWJ1dGUuCi0gICAg
aWYgKGF1dG8gdmFsdWUgPSBwcm9wZXJ0eVJlZ2lzdHJ5KCkuc3luY2hyb25pemUobmFtZSkpCi0g
ICAgICAgIHNldFN5bmNocm9uaXplZExhenlBdHRyaWJ1dGUobmFtZSwgKnZhbHVlKTsKKyAgICBh
dXRvIGl0ID0gbV9kaXJ0eUF0dHJpYnV0ZXMuZmluZChhdHRyaWJ1dGVOYW1lKTsKKyAgICBpZiAo
aXQgPT0gbV9kaXJ0eUF0dHJpYnV0ZXMuZW5kKCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAg
ICAvLyBJZiB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5IGhhcyBjaGFuZ2VkLCByZXNlcmlhbGl6
ZSB0aGUgbmV3IHZhbHVlIHRvIHRoZSBhdHRyaWJ1dGUuCisgICAgc2V0U3luY2hyb25pemVkTGF6
eUF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lLCBwcm9wZXJ0eVJlZ2lzdHJ5KCkudmFsdWVBc1N0cmlu
ZyhhdHRyaWJ1dGVOYW1lKSk7CisgICAgbV9kaXJ0eUF0dHJpYnV0ZXMucmVtb3ZlKGl0KTsKIH0K
ICAgICAKIHZvaWQgU1ZHRWxlbWVudDo6c3luY2hyb25pemVBbGxBdHRyaWJ1dGVzKCkKIHsKLSAg
ICAvLyBTVkdQcm9wZXJ0eVJlZ2lzdHJ5OjpzeW5jaHJvbml6ZUFsbEF0dHJpYnV0ZXMoKSByZXR1
cm5zIHRoZSBuZXcgdmFsdWVzIG9mCi0gICAgLy8gdGhlIHByb3BlcnRpZXMgd2hpY2ggaGF2ZSBj
aGFuZ2VkIGJ1dCBub3QgY29tbWl0dGVkIHlldC4KLSAgICBhdXRvIG1hcCA9IHByb3BlcnR5UmVn
aXN0cnkoKS5zeW5jaHJvbml6ZUFsbEF0dHJpYnV0ZXMoKTsKLSAgICBmb3IgKGNvbnN0IGF1dG8m
IGVudHJ5IDogbWFwKQotICAgICAgICBzZXRTeW5jaHJvbml6ZWRMYXp5QXR0cmlidXRlKGVudHJ5
LmtleSwgZW50cnkudmFsdWUpOworICAgIC8vIFJlc2VyaWFsaXplIHRoZSB2YWx1ZXMgb2YgdGhl
IGNoYW5nZWQgcHJvcGVydGllcyB0byB0aGVpciBhdHRyaWJ1dGVzLgorICAgIGZvciAoYXV0byYg
YXR0cmlidXRlTmFtZSA6IG1fZGlydHlBdHRyaWJ1dGVzKQorICAgICAgICBzZXRTeW5jaHJvbml6
ZWRMYXp5QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUsIHByb3BlcnR5UmVnaXN0cnkoKS52YWx1ZUFz
U3RyaW5nKGF0dHJpYnV0ZU5hbWUpKTsKKyAgICBtX2RpcnR5QXR0cmlidXRlcy5jbGVhcigpOwog
fQogCiB2b2lkIFNWR0VsZW1lbnQ6OnN5bmNocm9uaXplQWxsQW5pbWF0ZWRTVkdBdHRyaWJ1dGUo
U1ZHRWxlbWVudCYgc3ZnRWxlbWVudCkKQEAgLTU2MiwxNSArNTY1LDE4IEBAIHZvaWQgU1ZHRWxl
bWVudDo6c3luY2hyb25pemVBbGxBbmltYXRlZFNWR0F0dHJpYnV0ZShTVkdFbGVtZW50JiBzdmdF
bGVtZW50KQogICAgIHN2Z0VsZW1lbnQuc3luY2hyb25pemVBbGxBdHRyaWJ1dGVzKCk7CiB9CiAK
LXZvaWQgU1ZHRWxlbWVudDo6Y29tbWl0UHJvcGVydHlDaGFuZ2UoU1ZHUHJvcGVydHkqIHByb3Bl
cnR5KQordm9pZCBTVkdFbGVtZW50Ojpjb21taXRQcm9wZXJ0eUNoYW5nZShET01MaXZlUHJvcGVy
dHkqIHByb3BlcnR5KQogeworICAgIFF1YWxpZmllZE5hbWUgYXR0cmlidXRlTmFtZSA9IHByb3Bl
cnR5UmVnaXN0cnkoKS5wcm9wZXJ0eUF0dHJpYnV0ZU5hbWUoKnByb3BlcnR5KTsKKyAgICBBU1NF
UlQoYXR0cmlidXRlTmFtZSAhPSBudWxsUU5hbWUoKSk7CisKICAgICAvLyBXZSB3YW50IHRvIGRp
cnR5IHRoZSB0b3AtbGV2ZWwgcHJvcGVydHkgd2hlbiBhIGRlc2NlbmRhbnQgY2hhbmdlcy4gRm9y
IGV4YW1wbGUKICAgICAvLyBhIGNoYW5nZSBpbiBhbiBTVkdMZW5ndGggaXRlbSBpbiBTVkdMZW5n
dGhMaXN0IHNob3VsZCBzZXQgdGhlIGRpcnR5IGZsYWcgb24KICAgICAvLyBTVkdMZW5ndGhMaXN0
IGFuZCBub3QgdGhlIFNWR0xlbmd0aC4KLSAgICBwcm9wZXJ0eS0+c2V0RGlydHkoKTsKKyAgICBt
X2RpcnR5QXR0cmlidXRlcy5hZGQoYXR0cmlidXRlTmFtZSk7CiAKICAgICBpbnZhbGlkYXRlU1ZH
QXR0cmlidXRlcygpOwotICAgIHN2Z0F0dHJpYnV0ZUNoYW5nZWQocHJvcGVydHlSZWdpc3RyeSgp
LnByb3BlcnR5QXR0cmlidXRlTmFtZSgqcHJvcGVydHkpKTsKKyAgICBzdmdBdHRyaWJ1dGVDaGFu
Z2VkKGF0dHJpYnV0ZU5hbWUpOwogfQogCiB2b2lkIFNWR0VsZW1lbnQ6OmNvbW1pdFByb3BlcnR5
Q2hhbmdlKFNWR0FuaW1hdGVkUHJvcGVydHkmIGFuaW1hdGVkUHJvcGVydHkpCkBAIC01ODEsNyAr
NTg3LDcgQEAgdm9pZCBTVkdFbGVtZW50Ojpjb21taXRQcm9wZXJ0eUNoYW5nZShTVkdBbmltYXRl
ZFByb3BlcnR5JiBhbmltYXRlZFByb3BlcnR5KQogICAgIC8vIEEgY2hhbmdlIGluIGEgc3R5bGUg
cHJvcGVydHksIGUuZyBTVkdSZWN0RWxlbWVudDo6eCBzaG91bGQgYmUgc2VyaWFsaXplZCB0bwog
ICAgIC8vIHRoZSBhdHRyaWJ1dGUgaW1tZWRpYXRlbHkuIE90aGVyd2lzZSBpdCBpcyBva2F5IHRv
IGJlIGxhenkgaW4gdGhpcyByZWdhcmQuCiAgICAgaWYgKCFwcm9wZXJ0eVJlZ2lzdHJ5KCkuaXNB
bmltYXRlZFN0eWxlUHJvcGVydHlBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSkpCi0gICAgICAgIGFu
aW1hdGVkUHJvcGVydHkuc2V0RGlydHkoKTsKKyAgICAgICAgbV9kaXJ0eUF0dHJpYnV0ZXMuYWRk
KGF0dHJpYnV0ZU5hbWUpOwogICAgIGVsc2UKICAgICAgICAgc2V0U3luY2hyb25pemVkTGF6eUF0
dHJpYnV0ZShhdHRyaWJ1dGVOYW1lLCBhbmltYXRlZFByb3BlcnR5LmJhc2VWYWxBc1N0cmluZygp
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKaW5kZXggOGNjNmFhY2E2NTc2ODBlZThkM2YzZjQ2
Yzg3ODJhZDIyNTVjNzc0Mi4uZDkwODc2YWZmYjc0ZTYxNTMzMjNlNTM0Yzg4OTdmZDhkZTU2ZTBk
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCkBAIC00Nyw3ICs0Nyw3IEBAIGNsYXNzIFNWR1Vz
ZUVsZW1lbnQ7CiAKIHZvaWQgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShIYXNoTWFwPEF0b21T
dHJpbmdJbXBsKiwgQ1NTUHJvcGVydHlJRD4qIHByb3BlcnR5TmFtZVRvSWRNYXAsIGNvbnN0IFF1
YWxpZmllZE5hbWUmIGF0dHJOYW1lKTsKIAotY2xhc3MgU1ZHRWxlbWVudCA6IHB1YmxpYyBTdHls
ZWRFbGVtZW50LCBwdWJsaWMgU1ZHTGFuZ1NwYWNlLCBwdWJsaWMgU1ZHUHJvcGVydHlPd25lciB7
CitjbGFzcyBTVkdFbGVtZW50IDogcHVibGljIFN0eWxlZEVsZW1lbnQsIHB1YmxpYyBTVkdMYW5n
U3BhY2UsIHB1YmxpYyBET01MaXZlUHJvcGVydHlPYnNlcnZlciB7CiAgICAgV1RGX01BS0VfSVNP
X0FMTE9DQVRFRChTVkdFbGVtZW50KTsKIHB1YmxpYzoKICAgICBib29sIGlzT3V0ZXJtb3N0U1ZH
U1ZHRWxlbWVudCgpIGNvbnN0OwpAQCAtMTM2LDEwICsxMzYsMTAgQEAgcHVibGljOgogICAgIHZv
aWQgc3luY2hyb25pemVBbGxBdHRyaWJ1dGVzKCk7CiAgICAgc3RhdGljIHZvaWQgc3luY2hyb25p
emVBbGxBbmltYXRlZFNWR0F0dHJpYnV0ZShTVkdFbGVtZW50Jik7CiAKLSAgICB2b2lkIGNvbW1p
dFByb3BlcnR5Q2hhbmdlKFNWR1Byb3BlcnR5Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBjb21taXRQ
cm9wZXJ0eUNoYW5nZShET01MaXZlUHJvcGVydHkqKSBvdmVycmlkZTsKICAgICB2b2lkIGNvbW1p
dFByb3BlcnR5Q2hhbmdlKFNWR0FuaW1hdGVkUHJvcGVydHkmKTsKIAotICAgIGNvbnN0IFNWR0Vs
ZW1lbnQqIGF0dHJpYnV0ZUNvbnRleHRFbGVtZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
dGhpczsgfQorICAgIGNvbnN0IFNWR0VsZW1lbnQqIHByb3BlcnR5U1ZHQ29udGV4dEVsZW1lbnQo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0aGlzOyB9CiAgICAgU1ZHUHJvcGVydHlBbmltYXRv
ckZhY3RvcnkmIHByb3BlcnR5QW5pbWF0b3JGYWN0b3J5KCkgeyByZXR1cm4gKm1fcHJvcGVydHlB
bmltYXRvckZhY3Rvcnk7IH0KICAgICBSZWZQdHI8U1ZHQXR0cmlidXRlQW5pbWF0b3I+IGNyZWF0
ZUFuaW1hdG9yKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBBbmltYXRpb25Nb2RlLCBDYWxjTW9kZSwg
Ym9vbCBpc0FjY3VtdWxhdGVkLCBib29sIGlzQWRkaXRpdmUpOwogICAgIHZvaWQgYW5pbWF0b3JX
aWxsQmVEZWxldGVkKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKQEAgLTE5Niw2ICsxOTYsNyBAQCBw
cml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeT4g
bV9wcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTsKIAogICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9w
ZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKKyAgICBIYXNoU2V0PFF1YWxpZmllZE5hbWU+IG1fZGly
dHlBdHRyaWJ1dGVzOwogICAgIFJlZjxTVkdBbmltYXRlZFN0cmluZz4gbV9jbGFzc05hbWUgeyBT
VkdBbmltYXRlZFN0cmluZzo6Y3JlYXRlKHRoaXMpIH07CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGaXRUb1ZpZXdCb3guY3BwCmluZGV4IDFmNDdkMzY4ZTkwMzFmNDRhMGJlMGZkMjQzNTBjNzJk
MTQxZjY1NDkuLmE0NDBjNmMyYjMyOWE2M2UxMDk4ZjYzZGQ4MWY5OTczMDlkYzIyYTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCkBAIC0zNCw5ICszNCwxMCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNWR0ZpdFRvVmlld0JveDo6U1ZHRml0VG9WaWV3Qm94KFNW
R0VsZW1lbnQqIGNvbnRleHRFbGVtZW50LCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MpCi0gICAg
OiBtX3ZpZXdCb3goU1ZHQW5pbWF0ZWRSZWN0OjpjcmVhdGUoY29udGV4dEVsZW1lbnQsIGFjY2Vz
cykpCi0gICAgLCBtX3ByZXNlcnZlQXNwZWN0UmF0aW8oU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVj
dFJhdGlvOjpjcmVhdGUoY29udGV4dEVsZW1lbnQsIGFjY2VzcykpCitTVkdGaXRUb1ZpZXdCb3g6
OlNWR0ZpdFRvVmlld0JveChTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCkKKyAgICA6IG1fdmll
d0JveChTVkdBbmltYXRlZFJlY3Q6OmNyZWF0ZShzdGF0aWNfY2FzdDx2b2lkKj4oY29udGV4dEVs
ZW1lbnQpID09IHRoaXMgPyBjb250ZXh0RWxlbWVudCA6IG51bGxwdHIpKQorICAgICwgbV9wcmVz
ZXJ2ZUFzcGVjdFJhdGlvKFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbzo6Y3JlYXRlKHN0
YXRpY19jYXN0PHZvaWQqPihjb250ZXh0RWxlbWVudCkgPT0gdGhpcyA/IGNvbnRleHRFbGVtZW50
IDogbnVsbHB0cikpCisgICAgLCBtX2NvbnRleHRFbGVtZW50KGNvbnRleHRFbGVtZW50KQogewog
ICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNlRmxhZzsKICAgICBzdGQ6OmNhbGxfb25jZShv
bmNlRmxhZywgW10gewpAQCAtMTA0LDI5ICsxMDUsMjkgQEAgYm9vbCBTVkdGaXRUb1ZpZXdCb3g6
OnBhcnNlVmlld0JveChjb25zdCBVQ2hhciomIGMsIGNvbnN0IFVDaGFyKiBlbmQsIEZsb2F0UmVj
dCYKICAgICBib29sIHZhbGlkID0gcGFyc2VOdW1iZXIoYywgZW5kLCB4KSAmJiBwYXJzZU51bWJl
cihjLCBlbmQsIHkpICYmIHBhcnNlTnVtYmVyKGMsIGVuZCwgd2lkdGgpICYmIHBhcnNlTnVtYmVy
KGMsIGVuZCwgaGVpZ2h0LCBmYWxzZSk7CiAKICAgICBpZiAodmFsaWRhdGUpIHsKLSAgICAgICAg
RG9jdW1lbnQmIGRvY3VtZW50ID0gbV92aWV3Qm94LT5jb250ZXh0RWxlbWVudCgpLT5kb2N1bWVu
dCgpOworICAgICAgICBhdXRvJiBkb2N1bWVudEV4dGVuc2lvbnMgPSBtX2NvbnRleHRFbGVtZW50
LT5kb2N1bWVudCgpLmFjY2Vzc1NWR0V4dGVuc2lvbnMoKTsKIAogICAgICAgICBpZiAoIXZhbGlk
KSB7Ci0gICAgICAgICAgICBkb2N1bWVudC5hY2Nlc3NTVkdFeHRlbnNpb25zKCkucmVwb3J0V2Fy
bmluZygiUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9XCIiICsgc3RyICsgIlwiIik7CisgICAgICAg
ICAgICBkb2N1bWVudEV4dGVuc2lvbnMucmVwb3J0V2FybmluZygiUHJvYmxlbSBwYXJzaW5nIHZp
ZXdCb3g9XCIiICsgc3RyICsgIlwiIik7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIH0KIAogICAgICAgICAvLyBDaGVjayB0aGF0IHdpZHRoIGlzIHBvc2l0aXZlLgogICAgICAg
ICBpZiAod2lkdGggPCAwLjApIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmFjY2Vzc1NWR0V4dGVu
c2lvbnMoKS5yZXBvcnRFcnJvcigiQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgVmlld0JveCB3aWR0aCBp
cyBub3QgYWxsb3dlZCIpOworICAgICAgICAgICAgZG9jdW1lbnRFeHRlbnNpb25zLnJlcG9ydEVy
cm9yKCJBIG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IHdpZHRoIGlzIG5vdCBhbGxvd2VkIik7
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KIAogICAgICAgICAvLyBDaGVj
ayB0aGF0IGhlaWdodCBpcyBwb3NpdGl2ZS4KICAgICAgICAgaWYgKGhlaWdodCA8IDAuMCkgewot
ICAgICAgICAgICAgZG9jdW1lbnQuYWNjZXNzU1ZHRXh0ZW5zaW9ucygpLnJlcG9ydEVycm9yKCJB
IG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IGhlaWdodCBpcyBub3QgYWxsb3dlZCIpOworICAg
ICAgICAgICAgZG9jdW1lbnRFeHRlbnNpb25zLnJlcG9ydEVycm9yKCJBIG5lZ2F0aXZlIHZhbHVl
IGZvciBWaWV3Qm94IGhlaWdodCBpcyBub3QgYWxsb3dlZCIpOwogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICB9CiAKICAgICAgICAgLy8gTm90aGluZyBzaG91bGQgY29tZSBhZnRl
ciB0aGUgbGFzdCwgZm91cnRoIG51bWJlci4KICAgICAgICAgc2tpcE9wdGlvbmFsU1ZHU3BhY2Vz
KGMsIGVuZCk7CiAgICAgICAgIGlmIChjIDwgZW5kKSB7Ci0gICAgICAgICAgICBkb2N1bWVudC5h
Y2Nlc3NTVkdFeHRlbnNpb25zKCkucmVwb3J0V2FybmluZygiUHJvYmxlbSBwYXJzaW5nIHZpZXdC
b3g9XCIiICsgc3RyICsgIlwiIik7CisgICAgICAgICAgICBkb2N1bWVudEV4dGVuc2lvbnMucmVw
b3J0V2FybmluZygiUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9XCIiICsgc3RyICsgIlwiIik7CiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRml0VG9WaWV3Qm94LmgKaW5kZXggOTA3ZDY1NWNkMWIxYjliMzcyYTIwZjgxODkyMzYwNDJl
MjBmMGZkMC4uNTk2ZGZkYzFkMDU2N2EwNDdmNWI4OWNhZGE1ODQwN2JjNDlmYjQxYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guaApAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBoYXNFbXB0eVZpZXdCb3goKSBjb25zdCB7IHJldHVybiBtX2lzVmlld0JveFZhbGlk
ICYmIHZpZXdCb3goKS5pc0VtcHR5KCk7IH0KIAogcHJvdGVjdGVkOgotICAgIFNWR0ZpdFRvVmll
d0JveChTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCwgU1ZHUHJvcGVydHlBY2Nlc3MgPSBTVkdQ
cm9wZXJ0eUFjY2Vzczo6UmVhZFdyaXRlKTsKKyAgICBTVkdGaXRUb1ZpZXdCb3goU1ZHRWxlbWVu
dCogY29udGV4dEVsZW1lbnQpOwogCiAgICAgc3RhdGljIGJvb2wgaXNLbm93bkF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSB7IHJldHVybiBQcm9wZXJ0eVJlZ2lz
dHJ5Ojppc0tub3duQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpOyB9CiAKQEAgLTcxLDYgKzcxLDcg
QEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICBSZWY8U1ZHQW5pbWF0ZWRSZWN0PiBtX3ZpZXdC
b3g7CiAgICAgUmVmPFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbz4gbV9wcmVzZXJ2ZUFz
cGVjdFJhdGlvOworICAgIFNWR0VsZW1lbnQqIG1fY29udGV4dEVsZW1lbnQgeyBudWxscHRyIH07
CiAgICAgYm9vbCBtX2lzVmlld0JveFZhbGlkIHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5jcHAKaW5kZXggYjNkMzAxYzBmMGY3OTA5YTVjOWI4
MTI4OGIxNzA1MDg3YTU5MDZmOC4uYzMyY2ZhNGZmMzhhMDZkNDk3MTY0ZjViM2UyNWRiZjE1MmQy
Nzc3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5jcHAKQEAgLTI4
LDcgKzI4LDYgQEAKICNpbmNsdWRlICJSZW5kZXJTVkdTaGFwZS5oIgogI2luY2x1ZGUgIlNWR0Rv
Y3VtZW50RXh0ZW5zaW9ucy5oIgogI2luY2x1ZGUgIlNWR1BhdGhVdGlsaXRpZXMuaCIKLSNpbmNs
dWRlICJTVkdQb2ludC5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU1LDcgKzU0LDcgQEAgZmxvYXQgU1ZHR2VvbWV0cnlFbGVt
ZW50OjpnZXRUb3RhbExlbmd0aCgpIGNvbnN0CiAgICAgcmV0dXJuIHJlbmRlcmVyLT5nZXRUb3Rh
bExlbmd0aCgpOwogfQogCi1SZWY8U1ZHUG9pbnQ+IFNWR0dlb21ldHJ5RWxlbWVudDo6Z2V0UG9p
bnRBdExlbmd0aChmbG9hdCBkaXN0YW5jZSkgY29uc3QKK1JlZjxET01Qb2ludD4gU1ZHR2VvbWV0
cnlFbGVtZW50OjpnZXRQb2ludEF0TGVuZ3RoKGZsb2F0IGRpc3RhbmNlKSBjb25zdAogewogICAg
IEZsb2F0UG9pbnQgcG9pbnQgeyB9OwogCkBAIC02NSw3ICs2NCw3IEBAIFJlZjxTVkdQb2ludD4g
U1ZHR2VvbWV0cnlFbGVtZW50OjpnZXRQb2ludEF0TGVuZ3RoKGZsb2F0IGRpc3RhbmNlKSBjb25z
dAogICAgIGlmIChyZW5kZXJlcikKICAgICAgICAgcmVuZGVyZXItPmdldFBvaW50QXRMZW5ndGgo
cG9pbnQsIGRpc3RhbmNlKTsKIAotICAgIHJldHVybiBTVkdQb2ludDo6Y3JlYXRlKHBvaW50KTsK
KyAgICByZXR1cm4gRE9NUG9pbnQ6OmNyZWF0ZShwb2ludC54KCksIHBvaW50LnkoKSk7CiB9CiAK
IGJvb2wgU1ZHR2VvbWV0cnlFbGVtZW50Ojppc1BvaW50SW5GaWxsKERPTVBvaW50SW5pdCYmIHBv
aW50SW5pdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaAppbmRleCA1NTVj
YjE5OTQzYzE4NTA0N2NiMzVlNDBlMzk3ZjYxYjBjZDA2YjYwLi5jZTFiYTE0YzA0ZjU3YTc3Nzhm
ZTA5YTU5YTNiNjMwYjY4ODIxMWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
R2VvbWV0cnlFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dlb21ldHJ5RWxl
bWVudC5oCkBAIC0yOSwxMyArMjksMTMgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0
IERPTVBvaW50SW5pdDsKLWNsYXNzIFNWR1BvaW50OworY2xhc3MgRE9NUG9pbnQ7CiAKIGNsYXNz
IFNWR0dlb21ldHJ5RWxlbWVudCA6IHB1YmxpYyBTVkdHcmFwaGljc0VsZW1lbnQgewogICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHR2VvbWV0cnlFbGVtZW50KTsKIHB1YmxpYzoKICAgICB2
aXJ0dWFsIGZsb2F0IGdldFRvdGFsTGVuZ3RoKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBSZWY8U1ZH
UG9pbnQ+IGdldFBvaW50QXRMZW5ndGgoZmxvYXQgZGlzdGFuY2UpIGNvbnN0OworICAgIHZpcnR1
YWwgUmVmPERPTVBvaW50PiBnZXRQb2ludEF0TGVuZ3RoKGZsb2F0IGRpc3RhbmNlKSBjb25zdDsK
IAogICAgIGJvb2wgaXNQb2ludEluRmlsbChET01Qb2ludEluaXQmJik7CiAgICAgYm9vbCBpc1Bv
aW50SW5TdHJva2UoRE9NUG9pbnRJbml0JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2VvbWV0
cnlFbGVtZW50LmlkbAppbmRleCA1NmRmNmYxMGFmMzRhMjlmNWI5ZWVkY2VhMTU3NTVhM2NjMDJk
N2Y0Li5kOWZmODYzODhkM2UxNWZiZTM4Y2UyZTgyNzhlMGQ1N2U4ODk5YTdjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmlkbApAQCAtMzAsNSArMzAsNSBAQCBpbnRl
cmZhY2UgU1ZHR2VvbWV0cnlFbGVtZW50IDogU1ZHR3JhcGhpY3NFbGVtZW50IHsKICAgICBib29s
ZWFuIGlzUG9pbnRJbkZpbGwob3B0aW9uYWwgRE9NUG9pbnRJbml0IHBvaW50KTsKICAgICBib29s
ZWFuIGlzUG9pbnRJblN0cm9rZShvcHRpb25hbCBET01Qb2ludEluaXQgcG9pbnQpOwogICAgIHVu
cmVzdHJpY3RlZCBmbG9hdCBnZXRUb3RhbExlbmd0aCgpOwotICAgIFtOZXdPYmplY3RdIFNWR1Bv
aW50IGdldFBvaW50QXRMZW5ndGgoZmxvYXQgZGlzdGFuY2UpOworICAgIFtOZXdPYmplY3RdIERP
TVBvaW50IGdldFBvaW50QXRMZW5ndGgoZmxvYXQgZGlzdGFuY2UpOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdM
ZW5ndGguaAppbmRleCBlZDUwMDM4MmM1ZmU4MzgxZDQ3Nzk2OGI5MDkzMDBmNmJmYzRkOTJkLi42
MGE1YjU2ZTUzYmFkMGEwYmEwMTNhNDY0NjU3YmE2MWZhMThlNmMzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xl
bmd0aC5oCkBAIC02Miw5ICs2Miw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgU1ZHTGVuZ3RoKHZhbHVlKSk7CiAgICAgfQogCi0gICAgc3RhdGljIFJlZjxTVkdMZW5n
dGg+IGNyZWF0ZShTVkdQcm9wZXJ0eU93bmVyKiBvd25lciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNj
ZXNzLCBjb25zdCBTVkdMZW5ndGhWYWx1ZSYgdmFsdWUgPSB7IH0pCisgICAgc3RhdGljIFJlZjxT
VkdMZW5ndGg+IGNyZWF0ZShET01MaXZlUHJvcGVydHlPYnNlcnZlciogb2JzZXJ2ZXIsIGNvbnN0
IFNWR0xlbmd0aFZhbHVlJiB2YWx1ZSA9IHsgfSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFNWR0xlbmd0aChvd25lciwgYWNjZXNzLCB2YWx1ZSkpOworICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBTVkdMZW5ndGgob2JzZXJ2ZXIsIHZhbHVlKSk7CiAgICAgfQogCiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KQEAgLTg3LDcgKzg3LDcgQEAgcHVibGljOgogCiAgICAg
RXhjZXB0aW9uT3I8ZmxvYXQ+IHZhbHVlRm9yQmluZGluZ3MoKQogICAgIHsKLSAgICAgICAgcmV0
dXJuIG1fdmFsdWUudmFsdWVGb3JCaW5kaW5ncyhTVkdMZW5ndGhDb250ZXh0IHsgY29udGV4dEVs
ZW1lbnQoKSB9KTsKKyAgICAgICAgcmV0dXJuIG1fdmFsdWUudmFsdWVGb3JCaW5kaW5ncyhTVkdM
ZW5ndGhDb250ZXh0IHsgc3ZnQ29udGV4dEVsZW1lbnQoKSB9KTsKICAgICB9CiAKICAgICBFeGNl
cHRpb25Pcjx2b2lkPiBzZXRWYWx1ZUZvckJpbmRpbmdzKGZsb2F0IHZhbHVlKQpAQCAtOTUsNyAr
OTUsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChpc1JlYWRPbmx5KCkpCiAgICAgICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3IgfTsKIAotICAgICAg
ICBhdXRvIHJlc3VsdCA9IG1fdmFsdWUuc2V0VmFsdWUoU1ZHTGVuZ3RoQ29udGV4dCB7IGNvbnRl
eHRFbGVtZW50KCkgfSwgdmFsdWUpOworICAgICAgICBhdXRvIHJlc3VsdCA9IG1fdmFsdWUuc2V0
VmFsdWUoU1ZHTGVuZ3RoQ29udGV4dCB7IHN2Z0NvbnRleHRFbGVtZW50KCkgfSwgdmFsdWUpOwog
ICAgICAgICBpZiAocmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQogICAgICAgICAgICAgcmV0dXJuIHJl
c3VsdDsKICAgICAgICAgCkBAIC0xNTIsNyArMTUyLDcgQEAgcHVibGljOgogICAgICAgICBpZiAo
dW5pdFR5cGUgPT0gU1ZHX0xFTkdUSFRZUEVfVU5LTk9XTiB8fCB1bml0VHlwZSA+IFNWR19MRU5H
VEhUWVBFX1BDKQogICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVy
cm9yIH07CiAKLSAgICAgICAgYXV0byByZXN1bHQgPSBtX3ZhbHVlLmNvbnZlcnRUb1NwZWNpZmll
ZFVuaXRzKFNWR0xlbmd0aENvbnRleHQgeyBjb250ZXh0RWxlbWVudCgpIH0sIHN0YXRpY19jYXN0
PFNWR0xlbmd0aFR5cGU+KHVuaXRUeXBlKSk7CisgICAgICAgIGF1dG8gcmVzdWx0ID0gbV92YWx1
ZS5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhTVkdMZW5ndGhDb250ZXh0IHsgc3ZnQ29udGV4dEVs
ZW1lbnQoKSB9LCBzdGF0aWNfY2FzdDxTVkdMZW5ndGhUeXBlPih1bml0VHlwZSkpOwogICAgICAg
ICBpZiAocmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGhMaXN0LmgKaW5kZXggNWViNTcwMWM2NzQ2ODc5MmQwNTYy
YzE1YjUyMTZiNDkyYzAyMWVkOC4uMzJkNTg3NGQyOTM3MjQ2YzcwNTIxMzkxM2IxNGYwNDU2M2Zm
ZGUzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5oCkBAIC00MCwxNCArNDAsMTQgQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdMZW5ndGhMaXN0KGxlbmd0
aE1vZGUpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUmVmPFNWR0xlbmd0aExpc3Q+IGNyZWF0ZShT
VkdQcm9wZXJ0eU93bmVyKiBvd25lciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzLCBTVkdMZW5n
dGhNb2RlIGxlbmd0aE1vZGUpCisgICAgc3RhdGljIFJlZjxTVkdMZW5ndGhMaXN0PiBjcmVhdGUo
RE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyLCBTVkdMZW5ndGhNb2RlIGxlbmd0aE1v
ZGUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdMZW5ndGhMaXN0KG93
bmVyLCBhY2Nlc3MsIGxlbmd0aE1vZGUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U1ZHTGVuZ3RoTGlzdChvYnNlcnZlciwgbGVuZ3RoTW9kZSkpOwogICAgIH0KIAotICAgIHN0YXRp
YyBSZWY8U1ZHTGVuZ3RoTGlzdD4gY3JlYXRlKGNvbnN0IFNWR0xlbmd0aExpc3QmIG90aGVyLCBT
VkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MpCisgICAgc3RhdGljIFJlZjxTVkdMZW5ndGhMaXN0PiBj
cmVhdGUoY29uc3QgU1ZHTGVuZ3RoTGlzdCYgb3RoZXIpCiAgICAgewotICAgICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBTVkdMZW5ndGhMaXN0KG90aGVyLCBhY2Nlc3MpKTsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgU1ZHTGVuZ3RoTGlzdChvdGhlcikpOwogICAgIH0KIAogICAgIFNW
R0xlbmd0aE1vZGUgbGVuZ3RoTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoTW9kZTsgfQpA
QCAtODYsNyArODYsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBpZiAoYnVpbGRlci5sZW5ndGgo
KSkKICAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwogCi0gICAgICAgICAgICBi
dWlsZGVyLmFwcGVuZChsZW5ndGgtPnZhbHVlKCkudmFsdWVBc1N0cmluZygpKTsKKyAgICAgICAg
ICAgIGJ1aWxkZXIuYXBwZW5kKGxlbmd0aC0+dmFsdWVBc1N0cmluZygpKTsKICAgICAgICAgfQog
CiAgICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CkBAIC05OCwxNCArOTgsMTQgQEAg
cHJpdmF0ZToKICAgICB7CiAgICAgfQogCi0gICAgU1ZHTGVuZ3RoTGlzdChTVkdQcm9wZXJ0eU93
bmVyKiBvd25lciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzLCBTVkdMZW5ndGhNb2RlIGxlbmd0
aE1vZGUpCi0gICAgICAgIDogQmFzZShvd25lciwgYWNjZXNzKQorICAgIFNWR0xlbmd0aExpc3Qo
RE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyLCBTVkdMZW5ndGhNb2RlIGxlbmd0aE1v
ZGUpCisgICAgICAgIDogQmFzZShvYnNlcnZlcikKICAgICAgICAgLCBtX2xlbmd0aE1vZGUobGVu
Z3RoTW9kZSkKICAgICB7CiAgICAgfQogCi0gICAgU1ZHTGVuZ3RoTGlzdChjb25zdCBTVkdMZW5n
dGhMaXN0JiBvdGhlciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzKQotICAgICAgICA6IEJhc2Uo
b3RoZXIsIGFjY2VzcykKKyAgICBTVkdMZW5ndGhMaXN0KGNvbnN0IFNWR0xlbmd0aExpc3QmIG90
aGVyKQorICAgICAgICA6IEJhc2Uob3RoZXIpCiAgICAgICAgICwgbV9sZW5ndGhNb2RlKG90aGVy
Lmxlbmd0aE1vZGUoKSkKICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR01hdHJpeC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hdHJpeC5oCmluZGV4IGQ4
YzM3ZGNiMjZkYmU0NTE4YWM5MWZkMmUxYzc1ZTk0MmMxZDIyNzYuLmYwMDM4YzRjMDdlMGFmYzVl
N2I5ZjJiYmJkNTgwZjhhZGFkYTI3OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdNYXRyaXguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWF0cml4LmgKQEAgLTQyLDkg
KzQyLDkgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdNYXRyaXgo
dmFsdWUpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUmVmPFNWR01hdHJpeD4gY3JlYXRlKFNWR1By
b3BlcnR5T3duZXIqIG93bmVyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MsIGNvbnN0IEFmZmlu
ZVRyYW5zZm9ybSYgdmFsdWUgPSB7IH0pCisgICAgc3RhdGljIFJlZjxTVkdNYXRyaXg+IGNyZWF0
ZShET01MaXZlUHJvcGVydHlPYnNlcnZlciogb2JzZXJ2ZXIsIGNvbnN0IEFmZmluZVRyYW5zZm9y
bSYgdmFsdWUgPSB7IH0pCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdN
YXRyaXgob3duZXIsIGFjY2VzcywgdmFsdWUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgU1ZHTWF0cml4KG9ic2VydmVyLCB2YWx1ZSkpOwogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVtYmVyLmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVtYmVyLmgKaW5kZXggMjNjODJlNDRlNjc3ZDhkMzYwYzk2
MTU0Yzc5NWRhYjg3NzZhMWZhNC4uNTk4YTBmNTk2MTk5MmE0Yjc5ZjcwODllNDQ4OWI2MzU2MzIx
ZWRjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR051bWJlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdOdW1iZXIuaApAQCAtNDAsOSArNDAsOSBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR051bWJlcih2YWx1ZSkpOwogICAgIH0KIAot
ICAgIHN0YXRpYyBSZWY8U1ZHTnVtYmVyPiBjcmVhdGUoU1ZHUHJvcGVydHlPd25lciogb3duZXIs
IFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcywgZmxvYXQgdmFsdWUgPSAwKQorICAgIHN0YXRpYyBS
ZWY8U1ZHTnVtYmVyPiBjcmVhdGUoRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyLCBm
bG9hdCB2YWx1ZSA9IDApCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdO
dW1iZXIob3duZXIsIGFjY2VzcywgdmFsdWUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgU1ZHTnVtYmVyKG9ic2VydmVyLCB2YWx1ZSkpOwogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVtYmVyTGlzdC5o
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR051bWJlckxpc3QuaAppbmRleCA1YjVkNTdlODQ2ZjQz
MWFhZjVjMDhkYmM5YTRjMzRhYmU4NGQ2ZDFmLi42ODFiNGRjZWY4Y2VjOTM1MTFiZTA1OTIwNTRj
ZjA4MWU5MDM3NzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVtYmVyTGlz
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdOdW1iZXJMaXN0LmgKQEAgLTQwLDE0ICs0
MCwxNCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR051bWJlckxp
c3QoKSk7CiAgICAgfQogCi0gICAgc3RhdGljIFJlZjxTVkdOdW1iZXJMaXN0PiBjcmVhdGUoU1ZH
UHJvcGVydHlPd25lciogb3duZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcykKKyAgICBzdGF0
aWMgUmVmPFNWR051bWJlckxpc3Q+IGNyZWF0ZShET01MaXZlUHJvcGVydHlPYnNlcnZlciogb2Jz
ZXJ2ZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdOdW1iZXJMaXN0
KG93bmVyLCBhY2Nlc3MpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHTnVtYmVy
TGlzdChvYnNlcnZlcikpOwogICAgIH0KIAotICAgIHN0YXRpYyBSZWY8U1ZHTnVtYmVyTGlzdD4g
Y3JlYXRlKGNvbnN0IFNWR051bWJlckxpc3QmIG90aGVyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nl
c3MpCisgICAgc3RhdGljIFJlZjxTVkdOdW1iZXJMaXN0PiBjcmVhdGUoY29uc3QgU1ZHTnVtYmVy
TGlzdCYgb3RoZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdOdW1i
ZXJMaXN0KG90aGVyLCBhY2Nlc3MpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZH
TnVtYmVyTGlzdChvdGhlcikpOwogICAgIH0KIAogICAgIGJvb2wgcGFyc2UoY29uc3QgU3RyaW5n
JiB2YWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCmluZGV4IDZiYTE0NDBk
NzUyMThkZmU0OWRhZWM0YjVlZGE3ODQxMTA1ZTFhYTguLmI0NzU1ZDQyYjRjMzgyNzQzYThkNjQ4
YWU3NGU0NjM5NWM0MzA1M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcApA
QCAtMjIsMTMgKzIyLDEzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU1ZHUGF0
aEVsZW1lbnQuaCIKIAorI2luY2x1ZGUgIkRPTVBvaW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZH
UGF0aC5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCiAjaW5jbHVkZSAiU1ZHRG9j
dW1lbnRFeHRlbnNpb25zLmgiCiAjaW5jbHVkZSAiU1ZHTVBhdGhFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJTVkdQYXRoVXRpbGl0aWVzLmgiCi0jaW5jbHVkZSAi
U1ZHUG9pbnQuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC0xMTQsMTEgKzExNCwxMSBAQCBmbG9hdCBTVkdQYXRoRWxlbWVudDo6
Z2V0VG90YWxMZW5ndGgoKSBjb25zdAogICAgIHJldHVybiB0b3RhbExlbmd0aDsKIH0KIAotUmVm
PFNWR1BvaW50PiBTVkdQYXRoRWxlbWVudDo6Z2V0UG9pbnRBdExlbmd0aChmbG9hdCBsZW5ndGgp
IGNvbnN0CitSZWY8RE9NUG9pbnQ+IFNWR1BhdGhFbGVtZW50OjpnZXRQb2ludEF0TGVuZ3RoKGZs
b2F0IGxlbmd0aCkgY29uc3QKIHsKICAgICBGbG9hdFBvaW50IHBvaW50OwogICAgIGdldFBvaW50
QXRMZW5ndGhPZlNWR1BhdGhCeXRlU3RyZWFtKHBhdGhCeXRlU3RyZWFtKCksIGxlbmd0aCwgcG9p
bnQpOwotICAgIHJldHVybiBTVkdQb2ludDo6Y3JlYXRlKHBvaW50KTsKKyAgICByZXR1cm4gRE9N
UG9pbnQ6OmNyZWF0ZShwb2ludC54KCksIHBvaW50LnkoKSk7CiB9CiAKIHVuc2lnbmVkIFNWR1Bh
dGhFbGVtZW50OjpnZXRQYXRoU2VnQXRMZW5ndGgoZmxvYXQgbGVuZ3RoKSBjb25zdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaAppbmRleCAzYTU5NzczYTAzZDMwZTc3N2ViMzNiNTBjMzlk
MTA5ZmY1Yjg1YWM4Li43NzlmZGYyZjk2MzI0OTg2YmE1ODY3YjZlYjE5ODBkNDc4MGI0MDBlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaApAQCAtMzAsOCArMzAsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERPTVBvaW50OwogY2xhc3MgU1ZHUGF0aFNlZ0xpc3Q7
Ci1jbGFzcyBTVkdQb2ludDsKIAogY2xhc3MgU1ZHUGF0aEVsZW1lbnQgZmluYWwgOiBwdWJsaWMg
U1ZHR2VvbWV0cnlFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdQYXRoRWxlbWVudCk7CkBAIC04OSw3ICs4
OSw3IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBmbG9hdCBnZXRUb3RhbExlbmd0aCgpIGNvbnN0
IGZpbmFsOwotICAgIFJlZjxTVkdQb2ludD4gZ2V0UG9pbnRBdExlbmd0aChmbG9hdCBkaXN0YW5j
ZSkgY29uc3QgZmluYWw7CisgICAgUmVmPERPTVBvaW50PiBnZXRQb2ludEF0TGVuZ3RoKGZsb2F0
IGRpc3RhbmNlKSBjb25zdCBmaW5hbDsKICAgICB1bnNpZ25lZCBnZXRQYXRoU2VnQXRMZW5ndGgo
ZmxvYXQgZGlzdGFuY2UpIGNvbnN0OwogCiAgICAgRmxvYXRSZWN0IGdldEJCb3goU3R5bGVVcGRh
dGVTdHJhdGVneSA9IEFsbG93U3R5bGVVcGRhdGUpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
aFNlZ0xpc3QuaAppbmRleCA5NGY2ZjM5ZTRlMWYxYjY3NDQzM2NhMjUwMTUzODE4ZjRmNjJmZTQy
Li5lNjZmOGEwYTdiMGMwMGU2YjY0NDAzYTUwM2NhZmIxNTQxMjE0MTU2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0aFNlZ0xpc3QuaApAQCAtMzYsMTQgKzM2LDE0IEBAIGNsYXNzIFNWR1BhdGhTZWdM
aXN0IGZpbmFsIDogcHVibGljIFNWR1Byb3BlcnR5TGlzdDxTVkdQYXRoU2VnPiB7CiAgICAgdXNp
bmcgQmFzZTo6QmFzZTsKIAogcHVibGljOgotICAgIHN0YXRpYyBSZWY8U1ZHUGF0aFNlZ0xpc3Q+
IGNyZWF0ZShTVkdQcm9wZXJ0eU93bmVyKiBvd25lciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNz
KQorICAgIHN0YXRpYyBSZWY8U1ZHUGF0aFNlZ0xpc3Q+IGNyZWF0ZShET01MaXZlUHJvcGVydHlP
YnNlcnZlciogb2JzZXJ2ZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBT
VkdQYXRoU2VnTGlzdChvd25lciwgYWNjZXNzKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFNWR1BhdGhTZWdMaXN0KG9ic2VydmVyKSk7CiAgICAgfQogCi0gICAgc3RhdGljIFJlZjxT
VkdQYXRoU2VnTGlzdD4gY3JlYXRlKGNvbnN0IFNWR1BhdGhTZWdMaXN0JiBvdGhlciwgU1ZHUHJv
cGVydHlBY2Nlc3MgYWNjZXNzKQorICAgIHN0YXRpYyBSZWY8U1ZHUGF0aFNlZ0xpc3Q+IGNyZWF0
ZShjb25zdCBTVkdQYXRoU2VnTGlzdCYgb3RoZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBTVkdQYXRoU2VnTGlzdChvdGhlciwgYWNjZXNzKSk7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFNWR1BhdGhTZWdMaXN0KG90aGVyKSk7CiAgICAgfQogCiAgICAgc3Rh
dGljIFJlZjxTVkdQYXRoU2VnTGlzdD4gY3JlYXRlKFJlZjxTVkdQYXRoU2VnPiYmIG5ld0l0ZW0p
CkBAIC0xNTksOCArMTU5LDggQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICBTVkdQ
YXRoU2VnTGlzdChjb25zdCBTVkdQYXRoU2VnTGlzdCYgb3RoZXIsIFNWR1Byb3BlcnR5QWNjZXNz
IGFjY2VzcykKLSAgICAgICAgOiBCYXNlKG90aGVyLm93bmVyKCksIGFjY2VzcykKKyAgICBTVkdQ
YXRoU2VnTGlzdChjb25zdCBTVkdQYXRoU2VnTGlzdCYgb3RoZXIpCisgICAgICAgIDogQmFzZShv
dGhlci5vYnNlcnZlcigpKQogICAgICAgICAsIG1fcGF0aEJ5dGVTdHJlYW0ob3RoZXIucGF0aEJ5
dGVTdHJlYW0oKSkKICAgICB7CiAgICAgfQpAQCAtMTcyLDcgKzE3Miw3IEBAIHByaXZhdGU6CiAg
ICAgfQogCiAgICAgLy8gQ2FsbGVkIHdoZW4gY2hhbmdpbmcgYW4gaXRlbSBpbiB0aGUgbGlzdC4K
LSAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKFNWR1Byb3BlcnR5KiBwcm9wZXJ0eSkgb3Zl
cnJpZGUKKyAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKERPTUxpdmVQcm9wZXJ0eSogcHJv
cGVydHkpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBpdGVtc1dpbGxDaGFuZ2UoKTsKICAgICAg
ICAgQmFzZTo6Y29tbWl0UHJvcGVydHlDaGFuZ2UocHJvcGVydHkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnQu
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzc0NDViOWZjYjFmYjQwYjUxMzk2ZTE5
MmU3MzQ1ODZjNjM1NGI1Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnQuaAorKysgL2Rldi9udWxsCkBAIC0x
LDk4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmlj
cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxOC0yMDE5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
Ci0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwot
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNp
bmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSAiU1ZHTWF0cml4LmgiCi0jaW5jbHVkZSAi
U1ZHUHJvcGVydHlUcmFpdHMuaCIKLSNpbmNsdWRlICJTVkdWYWx1ZVByb3BlcnR5LmgiCi0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgU1ZHUG9pbnQgOiBwdWJsaWMgU1ZHVmFsdWVQcm9w
ZXJ0eTxGbG9hdFBvaW50PiB7Ci0gICAgdXNpbmcgQmFzZSA9IFNWR1ZhbHVlUHJvcGVydHk8Rmxv
YXRQb2ludD47Ci0gICAgdXNpbmcgQmFzZTo6QmFzZTsKLSAgICB1c2luZyBCYXNlOjptX3ZhbHVl
OwotCi1wdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxTVkdQb2ludD4gY3JlYXRlKGNvbnN0IEZsb2F0
UG9pbnQmIHZhbHVlID0geyB9KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U1ZHUG9pbnQodmFsdWUpKTsKLSAgICB9Ci0KLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAg
IHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8U1ZHUG9pbnQ+PiBjcmVhdGUoRXhjZXB0aW9uT3I8VD4m
JiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIGlmICh2YWx1ZS5oYXNFeGNlcHRpb24oKSkKLSAgICAg
ICAgICAgIHJldHVybiB2YWx1ZS5yZWxlYXNlRXhjZXB0aW9uKCk7Ci0gICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFNWR1BvaW50KHZhbHVlLnJlbGVhc2VSZXR1cm5WYWx1ZSgpKSk7Ci0gICAg
fQotCi0gICAgUmVmPFNWR1BvaW50PiBjbG9uZSgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1
cm4gU1ZHUG9pbnQ6OmNyZWF0ZShtX3ZhbHVlKTsKLSAgICB9Ci0gICAgCi0gICAgZmxvYXQgeCgp
IHsgcmV0dXJuIG1fdmFsdWUueCgpOyB9Ci0KLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRYKGZs
b2F0IHgpCi0gICAgewotICAgICAgICBpZiAoaXNSZWFkT25seSgpKQotICAgICAgICAgICAgcmV0
dXJuIEV4Y2VwdGlvbiB7IE5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yIH07Ci0KLSAgICAgICAg
bV92YWx1ZS5zZXRYKHgpOwotICAgICAgICBjb21taXRDaGFuZ2UoKTsKLQotICAgICAgICByZXR1
cm4geyB9OwotICAgIH0KLQotICAgIGZsb2F0IHkoKSB7IHJldHVybiBtX3ZhbHVlLnkoKTsgfQot
Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0WShmbG9hdCB5KQotICAgIHsKLSAgICAgICAgaWYg
KGlzUmVhZE9ubHkoKSkKLSAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBOb01vZGlmaWNh
dGlvbkFsbG93ZWRFcnJvciB9OwotCi0gICAgICAgIG1fdmFsdWUuc2V0WSh5KTsKLSAgICAgICAg
Y29tbWl0Q2hhbmdlKCk7Ci0gICAgICAgIHJldHVybiB7IH07Ci0gICAgfQotCi0gICAgUmVmPFNW
R1BvaW50PiBtYXRyaXhUcmFuc2Zvcm0oU1ZHTWF0cml4JiBtYXRyaXgpIGNvbnN0Ci0gICAgewot
ICAgICAgICBhdXRvIG5ld1BvaW50ID0gbV92YWx1ZS5tYXRyaXhUcmFuc2Zvcm0obWF0cml4LnZh
bHVlKCkpOwotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdQb2ludChuZXdQb2ludCkp
OwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygpIGNvbnN0IG92
ZXJyaWRlCi0gICAgewotICAgICAgICByZXR1cm4gU1ZHUHJvcGVydHlUcmFpdHM8RmxvYXRQb2lu
dD46OnRvU3RyaW5nKG1fdmFsdWUpOwotICAgIH0KLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2ludC5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUG9pbnQuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1
ZDgyMjQ5MGRiYmUyMjE4YTI1MWFhOGIxYzliYTZhOTczMTNkZDY1Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2lu
dC5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDA0LCAyMDA1IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgotICog
Q29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+Ci0gKiBDb3B5
cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+Ci0gKiBD
b3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
Ci0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi1bCi0gICAg
U2tpcFZUYWJsZVZhbGlkYXRpb24KLV0gaW50ZXJmYWNlIFNWR1BvaW50IHsKLSAgICBhdHRyaWJ1
dGUgdW5yZXN0cmljdGVkIGZsb2F0IHg7Ci0gICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9h
dCB5OwotCi0gICAgW05ld09iamVjdF0gU1ZHUG9pbnQgbWF0cml4VHJhbnNmb3JtKFNWR01hdHJp
eCBtYXRyaXgpOwotfTsKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50
TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50TGlzdC5oCmluZGV4IDhjNmM1MGIw
ZTNiYWNlNTM2YWU1MGViYjI4YzFiNDZlMTU3NDllODEuLjhkNDE5M2U2YjRlZjA1NGVmNmM0ZDU1
Y2I0NTdmY2QwNTA2ZjlkMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2lu
dExpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnRMaXN0LmgKQEAgLTI1LDEz
ICsyNSwxMyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIlNWR1BvaW50LmgiCi0jaW5j
bHVkZSAiU1ZHVmFsdWVQcm9wZXJ0eUxpc3QuaCIKKyNpbmNsdWRlICJET01Qb2ludC5oIgorI2lu
Y2x1ZGUgIlNWR1Byb3BlcnR5TGlzdC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IFNWR1BvaW50TGlzdCA6IHB1YmxpYyBTVkdWYWx1ZVByb3BlcnR5TGlzdDxTVkdQb2ludD4gewot
ICAgIHVzaW5nIEJhc2UgPSBTVkdWYWx1ZVByb3BlcnR5TGlzdDxTVkdQb2ludD47CitjbGFzcyBT
VkdQb2ludExpc3QgOiBwdWJsaWMgU1ZHUHJvcGVydHlMaXN0PERPTVBvaW50PiB7CisgICAgdXNp
bmcgQmFzZSA9IFNWR1Byb3BlcnR5TGlzdDxET01Qb2ludD47CiAgICAgdXNpbmcgQmFzZTo6QmFz
ZTsKIAogcHVibGljOgpAQCAtNDAsMTQgKzQwLDMyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgU1ZHUG9pbnRMaXN0KCkpOwogICAgIH0KIAotICAgIHN0YXRpYyBSZWY8
U1ZHUG9pbnRMaXN0PiBjcmVhdGUoU1ZHUHJvcGVydHlPd25lciogb3duZXIsIFNWR1Byb3BlcnR5
QWNjZXNzIGFjY2VzcykKKyAgICBzdGF0aWMgUmVmPFNWR1BvaW50TGlzdD4gY3JlYXRlKERPTUxp
dmVQcm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZlcikKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFNWR1BvaW50TGlzdChvd25lciwgYWNjZXNzKSk7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFNWR1BvaW50TGlzdChvYnNlcnZlcikpOwogICAgIH0KIAotICAgIHN0YXRp
YyBSZWY8U1ZHUG9pbnRMaXN0PiBjcmVhdGUoY29uc3QgU1ZHUG9pbnRMaXN0JiBvdGhlciwgU1ZH
UHJvcGVydHlBY2Nlc3MgYWNjZXNzKQorICAgIHN0YXRpYyBSZWY8U1ZHUG9pbnRMaXN0PiBjcmVh
dGUoY29uc3QgU1ZHUG9pbnRMaXN0JiBvdGhlcikKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFNWR1BvaW50TGlzdChvdGhlciwgYWNjZXNzKSk7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFNWR1BvaW50TGlzdChvdGhlcikpOworICAgIH0KKyAgICAKKyAgICBTVkdQ
b2ludExpc3QmIG9wZXJhdG9yPShjb25zdCBTVkdQb2ludExpc3QmIG90aGVyKQorICAgIHsKKyAg
ICAgICAgY2xlYXJJdGVtcygpOworICAgICAgICBjb3B5SXRlbXMob3RoZXIpOworICAgICAgICBy
ZXR1cm4gKnRoaXM7CisgICAgfQorICAgIAorICAgIHZvaWQgcmVzaXplKHNpemVfdCBuZXdTaXpl
KQorICAgIHsKKyAgICAgICAgLy8gQWRkIG5ldyBpdGVtcy4KKyAgICAgICAgd2hpbGUgKHNpemUo
KSA8IG5ld1NpemUpCisgICAgICAgICAgICBhcHBlbmQoRE9NUG9pbnQ6OmNyZWF0ZSgwLCAwKSk7
CisKKyAgICAgICAgLy8gUmVtb3ZlIGV4aXN0aW5nIGl0ZW1zLgorICAgICAgICB3aGlsZSAoc2l6
ZSgpID4gbmV3U2l6ZSkKKyAgICAgICAgICAgIHJlbW92ZShzaXplKCkgLSAxKTsKICAgICB9CiAK
ICAgICBib29sIHBhcnNlKGNvbnN0IFN0cmluZyYgdmFsdWUpCkBAIC03OSw3ICs5Nyw3IEBAIHB1
YmxpYzoKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHNraXBPcHRpb25hbFNWR1NwYWNlcyhj
dXIsIGVuZCk7CiAKLSAgICAgICAgICAgIGFwcGVuZChTVkdQb2ludDo6Y3JlYXRlKHsgeFBvcywg
eVBvcyB9KSk7CisgICAgICAgICAgICBhcHBlbmQoRE9NUG9pbnQ6OmNyZWF0ZSh4UG9zLCB5UG9z
KSk7CiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm4gIWRlbGltUGFyc2VkOwpAQCAtMTAwLDYg
KzExOCwxOSBAQCBwdWJsaWM6CiAKICAgICAgICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsK
ICAgICB9CisgICAgCitwcml2YXRlOgorICAgIFNWR1BvaW50TGlzdChjb25zdCBTVkdQb2ludExp
c3QmIG90aGVyKQorICAgICAgICA6IEJhc2Uob3RoZXIub2JzZXJ2ZXIoKSkKKyAgICB7CisgICAg
ICAgIGNvcHlJdGVtcyhvdGhlcik7CisgICAgfQorCisgICAgdm9pZCBjb3B5SXRlbXMoY29uc3Qg
U1ZHUG9pbnRMaXN0JiBvdGhlcikKKyAgICB7CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgaXRl
bSA6IG90aGVyLml0ZW1zKCkpCisgICAgICAgICAgICBhcHBlbmQoRE9NUG9pbnQ6OmNyZWF0ZShp
dGVtLT54KCksIGl0ZW0tPnkoKSkpOworICAgIH0KIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQb2ludExpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bv
aW50TGlzdC5pZGwKaW5kZXggZWQwZDRlNDI0NGVkMWQ2ZTA4OGYzMDAzMGE5YTU1OGM1ZjNhOTA5
OC4uMjI5YTIxYWVjYmI3YTA4MTA1ZGVlYTdjZTU3YmIwNzY4NTE3ZjI3NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50TGlzdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BvaW50TGlzdC5pZGwKQEAgLTI4LDExICsyOCwxMSBAQCBpbnRlcmZhY2UgU1ZHUG9p
bnRMaXN0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXJPZkl0
ZW1zOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGNsZWFyKCk7Ci0gICAgW01heVRo
cm93RXhjZXB0aW9uXSBTVkdQb2ludCBpbml0aWFsaXplKFNWR1BvaW50IG5ld0l0ZW0pOwotICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gZ2V0dGVyIFNWR1BvaW50IGdldEl0ZW0odW5zaWduZWQgbG9u
ZyBpbmRleCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdQb2ludCBpbnNlcnRJdGVtQmVm
b3JlKFNWR1BvaW50IG5ld0l0ZW0sIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gU1ZHUG9pbnQgcmVwbGFjZUl0ZW0oU1ZHUG9pbnQgbmV3SXRlbSwgdW5zaWdu
ZWQgbG9uZyBpbmRleCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdQb2ludCByZW1vdmVJ
dGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gU1ZHUG9p
bnQgYXBwZW5kSXRlbShTVkdQb2ludCBuZXdJdGVtKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHNldHRlciB2b2lkICh1bnNpZ25lZCBsb25nIGluZGV4LCBTVkdQb2ludCBuZXdJdGVtKTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVBvaW50IGluaXRpYWxpemUoRE9NUG9pbnQgbmV3SXRl
bSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBnZXR0ZXIgRE9NUG9pbnQgZ2V0SXRlbSh1bnNp
Z25lZCBsb25nIGluZGV4KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVBvaW50IGluc2Vy
dEl0ZW1CZWZvcmUoRE9NUG9pbnQgbmV3SXRlbSwgdW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAg
W01heVRocm93RXhjZXB0aW9uXSBET01Qb2ludCByZXBsYWNlSXRlbShET01Qb2ludCBuZXdJdGVt
LCB1bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVBvaW50
IHJlbW92ZUl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAgW01heVRocm93RXhjZXB0aW9u
XSBET01Qb2ludCBhcHBlbmRJdGVtKERPTVBvaW50IG5ld0l0ZW0pOworICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gc2V0dGVyIHZvaWQgKHVuc2lnbmVkIGxvbmcgaW5kZXgsIERPTVBvaW50IG5ld0l0
ZW0pOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVj
dFJhdGlvLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5oCmlu
ZGV4IDI3MTdhYmViZTEwMTlhYWEwZjNhZjc2MWViMzUxZjkxN2I3OGFkZDYuLjgzNTQ5M2U3OTRj
MWU4ZjI1ZDg5NDdiMzhkZGEyNGM2MDliZjQ2YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1ByZXNlcnZlQXNwZWN0UmF0aW8uaApAQCAtMzYsOSArMzYsOSBAQCBjbGFzcyBTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvIDogcHVibGljIFNWR1ZhbHVlUHJvcGVydHk8U1ZHUHJlc2VydmVBc3BlY3RS
YXRpb1ZhbAogICAgIHVzaW5nIEJhc2U6Om1fdmFsdWU7CiAKIHB1YmxpYzoKLSAgICBzdGF0aWMg
UmVmPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8+IGNyZWF0ZShTVkdQcm9wZXJ0eU93bmVyKiBvd25l
ciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzLCBjb25zdCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlv
VmFsdWUmIHZhbHVlID0geyB9KQorICAgIHN0YXRpYyBSZWY8U1ZHUHJlc2VydmVBc3BlY3RSYXRp
bz4gY3JlYXRlKERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZlciwgY29uc3QgU1ZHUHJl
c2VydmVBc3BlY3RSYXRpb1ZhbHVlJiB2YWx1ZSA9IHsgfSkKICAgICB7Ci0gICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8ob3duZXIsIGFjY2VzcywgdmFs
dWUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUHJlc2VydmVBc3BlY3RSYXRp
byhvYnNlcnZlciwgdmFsdWUpKTsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1
ZS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZS5oCmlu
ZGV4IDQxNWI4NzIzZjhkMzA4NjRjMWIzZmQ3ODhjYzNiOTg5YmFkN2VmOWMuLjU5YzgzNzEyM2Yy
MWRiMjYxZmZlNzgxNjlhZDA4MmIyYTNmNmU5OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlLmgKQEAgLTc2LDExICs3Niw0IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBwYXJzZUludGVybmFsKGNvbnN0IFVDaGFyKiYgY3VyclBhcmFtLCBjb25z
dCBVQ2hhciogZW5kLCBib29sIHZhbGlkYXRlKTsKIH07CiAKLXRlbXBsYXRlPD4gc3RydWN0IFNW
R1Byb3BlcnR5VHJhaXRzPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZT4gewotICAgIHN0YXRp
YyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUgaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4gU1ZH
UHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlKCk7IH0KLSAgICBzdGF0aWMgU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpb1ZhbHVlIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgcmV0dXJuIFNW
R1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZShzdHJpbmcpOyB9Ci0gICAgc3RhdGljIE9wdGlvbmFs
PFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZT4gcGFyc2UoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IGNvbnN0IFN0cmluZyYpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBpbml0aWFsVmFs
dWUoKTsgfQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpb1ZhbHVlJiB0eXBlKSB7IHJldHVybiB0eXBlLnZhbHVlQXNTdHJpbmcoKTsgfQotfTsK
LQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1JlY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZWN0LmgKaW5kZXggOTAwMThlMTg2
YjE5MmFjM2JlNmYwNTUwZGY4MTE2MjdmYmQ3ZTlmMi4uYmFlNzdiZmVmMDIxOTUxM2VlZjAwOTk2
OWIzM2MyZmFkY2YzOTNmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JlY3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmVjdC5oCkBAIC0zNiw5ICszNiw5IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUmVjdCh2YWx1ZSkpOwogICAg
IH0KIAotICAgIHN0YXRpYyBSZWY8U1ZHUmVjdD4gY3JlYXRlKFNWR1Byb3BlcnR5T3duZXIqIG93
bmVyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MsIGNvbnN0IEZsb2F0UmVjdCYgdmFsdWUgPSB7
IH0pCisgICAgc3RhdGljIFJlZjxTVkdSZWN0PiBjcmVhdGUoRE9NTGl2ZVByb3BlcnR5T2JzZXJ2
ZXIqIG9ic2VydmVyLCBjb25zdCBGbG9hdFJlY3QmIHZhbHVlID0geyB9KQogICAgIHsKLSAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUmVjdChvd25lciwgYWNjZXNzLCB2YWx1ZSkpOwor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdSZWN0KG9ic2VydmVyLCB2YWx1ZSkpOwog
ICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxl
bWVudC5jcHAKaW5kZXggNDdmMGMzYzNjZDBhODJiMWMwMTczYzJiMjc2ZGQzMDYzZjAwYWEyMS4u
ZmJkYjhlODk4MzA1ZmI4MWQ3YWYzZjQyYzlmYzNmNzk5ZGMzNDI5OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdTVkdFbGVtZW50LmNwcApAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgIlNWR1NWR0Vs
ZW1lbnQuaCIKIAogI2luY2x1ZGUgIkNTU0hlbHBlci5oIgorI2luY2x1ZGUgIkRPTVBvaW50Lmgi
CiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiRWxlbWVudEl0ZXJhdG9y
LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgpAQCAtMzksNyArNDAsNiBAQAogI2luY2x1ZGUg
IlNWR0xlbmd0aC5oIgogI2luY2x1ZGUgIlNWR01hdHJpeC5oIgogI2luY2x1ZGUgIlNWR051bWJl
ci5oIgotI2luY2x1ZGUgIlNWR1BvaW50LmgiCiAjaW5jbHVkZSAiU1ZHUmVjdC5oIgogI2luY2x1
ZGUgIlNWR1RyYW5zZm9ybS5oIgogI2luY2x1ZGUgIlNWR1ZpZXdFbGVtZW50LmgiCkBAIC0xNzks
OSArMTc5LDEwIEBAIHZvaWQgU1ZHU1ZHRWxlbWVudDo6c2V0Q3VycmVudFNjYWxlKGZsb2F0IHNj
YWxlKQogCiB2b2lkIFNWR1NWR0VsZW1lbnQ6OnNldEN1cnJlbnRUcmFuc2xhdGUoY29uc3QgRmxv
YXRQb2ludCYgdHJhbnNsYXRpb24pCiB7Ci0gICAgaWYgKG1fY3VycmVudFRyYW5zbGF0ZS0+dmFs
dWUoKSA9PSB0cmFuc2xhdGlvbikKKyAgICBpZiAobV9jdXJyZW50VHJhbnNsYXRlLT54KCkgPT0g
dHJhbnNsYXRpb24ueCgpICYmIG1fY3VycmVudFRyYW5zbGF0ZS0+eSgpID09IHRyYW5zbGF0aW9u
LnkoKSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY3VycmVudFRyYW5zbGF0ZS0+c2V0VmFsdWUo
dHJhbnNsYXRpb24pOworICAgIG1fY3VycmVudFRyYW5zbGF0ZS0+c2V0WCh0cmFuc2xhdGlvbi54
KCkpOworICAgIG1fY3VycmVudFRyYW5zbGF0ZS0+c2V0WSh0cmFuc2xhdGlvbi55KCkpOwogICAg
IHVwZGF0ZUN1cnJlbnRUcmFuc2xhdGUoKTsKIH0KIApAQCAtMzY5LDkgKzM3MCw5IEBAIFJlZjxT
VkdBbmdsZT4gU1ZHU1ZHRWxlbWVudDo6Y3JlYXRlU1ZHQW5nbGUoKQogICAgIHJldHVybiBTVkdB
bmdsZTo6Y3JlYXRlKCk7CiB9CiAKLVJlZjxTVkdQb2ludD4gU1ZHU1ZHRWxlbWVudDo6Y3JlYXRl
U1ZHUG9pbnQoKQorUmVmPERPTVBvaW50PiBTVkdTVkdFbGVtZW50OjpjcmVhdGVTVkdQb2ludCgp
CiB7Ci0gICAgcmV0dXJuIFNWR1BvaW50OjpjcmVhdGUoKTsKKyAgICByZXR1cm4gRE9NUG9pbnQ6
OmNyZWF0ZSgwLCAwKTsKIH0KIAogUmVmPFNWR01hdHJpeD4gU1ZHU1ZHRWxlbWVudDo6Y3JlYXRl
U1ZHTWF0cml4KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oCmluZGV4IDQxYjFlN2M4ZTJj
YzczMDhiZWQ4ZGFkMTcxYjc0MDgwM2Y2N2UyMTguLjYzZDE2ODcyMmM3YzhhMDA5OTM1MmRlMjZm
ZDkzOTY5NDMzMGU4MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaApAQCAtNjEsOCAr
NjEsOCBAQCBwdWJsaWM6IC8vIERPTQogICAgIGZsb2F0IGN1cnJlbnRTY2FsZSgpIGNvbnN0Owog
ICAgIHZvaWQgc2V0Q3VycmVudFNjYWxlKGZsb2F0KTsKIAotICAgIFNWR1BvaW50JiBjdXJyZW50
VHJhbnNsYXRlKCkgeyByZXR1cm4gbV9jdXJyZW50VHJhbnNsYXRlOyB9Ci0gICAgRmxvYXRQb2lu
dCBjdXJyZW50VHJhbnNsYXRlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnRUcmFuc2xh
dGUtPnZhbHVlKCk7IH0KKyAgICBET01Qb2ludCYgY3VycmVudFRyYW5zbGF0ZSgpIHsgcmV0dXJu
IG1fY3VycmVudFRyYW5zbGF0ZTsgfQorICAgIEZsb2F0UG9pbnQgY3VycmVudFRyYW5zbGF0ZVZh
bHVlKCkgY29uc3QgeyByZXR1cm4gRmxvYXRQb2ludChtX2N1cnJlbnRUcmFuc2xhdGUtPngoKSwg
bV9jdXJyZW50VHJhbnNsYXRlLT55KCkpOyB9CiAKICAgICB1bnNpZ25lZCBzdXNwZW5kUmVkcmF3
KHVuc2lnbmVkIG1heFdhaXRNaWxsaXNlY29uZHMpOwogICAgIHZvaWQgdW5zdXNwZW5kUmVkcmF3
KHVuc2lnbmVkIHN1c3BlbmRIYW5kbGVJZCk7CkBAIC04Niw3ICs4Niw3IEBAIHB1YmxpYzogLy8g
RE9NCiAgICAgc3RhdGljIFJlZjxTVkdOdW1iZXI+IGNyZWF0ZVNWR051bWJlcigpOwogICAgIHN0
YXRpYyBSZWY8U1ZHTGVuZ3RoPiBjcmVhdGVTVkdMZW5ndGgoKTsKICAgICBzdGF0aWMgUmVmPFNW
R0FuZ2xlPiBjcmVhdGVTVkdBbmdsZSgpOwotICAgIHN0YXRpYyBSZWY8U1ZHUG9pbnQ+IGNyZWF0
ZVNWR1BvaW50KCk7CisgICAgc3RhdGljIFJlZjxET01Qb2ludD4gY3JlYXRlU1ZHUG9pbnQoKTsK
ICAgICBzdGF0aWMgUmVmPFNWR01hdHJpeD4gY3JlYXRlU1ZHTWF0cml4KCk7CiAgICAgc3RhdGlj
IFJlZjxTVkdSZWN0PiBjcmVhdGVTVkdSZWN0KCk7CiAgICAgc3RhdGljIFJlZjxTVkdUcmFuc2Zv
cm0+IGNyZWF0ZVNWR1RyYW5zZm9ybSgpOwpAQCAtMTY0LDcgKzE2NCw3IEBAIHByaXZhdGU6CiAg
ICAgUmVmUHRyPFNWR1ZpZXdFbGVtZW50PiBtX2N1cnJlbnRWaWV3RWxlbWVudDsKICAgICBTdHJp
bmcgbV9jdXJyZW50Vmlld0ZyYWdtZW50SWRlbnRpZmllcjsKIAotICAgIFJlZjxTVkdQb2ludD4g
bV9jdXJyZW50VHJhbnNsYXRlIHsgU1ZHUG9pbnQ6OmNyZWF0ZSgpIH07CisgICAgUmVmPERPTVBv
aW50PiBtX2N1cnJlbnRUcmFuc2xhdGUgeyBET01Qb2ludDo6Y3JlYXRlKDAsIDApIH07CiAKICAg
ICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiAgICAgUmVm
PFNWR0FuaW1hdGVkTGVuZ3RoPiBtX3ggeyBTVkdBbmltYXRlZExlbmd0aDo6Y3JlYXRlKHRoaXMs
IFNWR0xlbmd0aE1vZGU6OldpZHRoKSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1NWR0VsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaWRs
CmluZGV4IDQ0YWE1MTk2YzZlYzYyNzliMDFmNTQ1YzdmNTU3YjM3NDYzNDhmMTAuLmYxNmM0MTFi
YjIzMWZjZWVlNTgyZGQ1Nzk3Y2E2ZGE1NDc0ZTVjNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdTVkdFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZH
RWxlbWVudC5pZGwKQEAgLTQyLDcgKzQyLDcgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9v
bGVhbiB1c2VDdXJyZW50VmlldzsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHVmlld1NwZWMg
Y3VycmVudFZpZXc7CiAgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCBjdXJyZW50U2Nh
bGU7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR1BvaW50IGN1cnJlbnRUcmFuc2xhdGU7Cisg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVBvaW50IGN1cnJlbnRUcmFuc2xhdGU7CiAKICAgICB1
bnNpZ25lZCBsb25nIHN1c3BlbmRSZWRyYXcob3B0aW9uYWwgdW5zaWduZWQgbG9uZyBtYXhXYWl0
TWlsbGlzZWNvbmRzID0gMCk7CiAgICAgdm9pZCB1bnN1c3BlbmRSZWRyYXcob3B0aW9uYWwgdW5z
aWduZWQgbG9uZyBzdXNwZW5kSGFuZGxlSWQgPSAwKTsKQEAgLTY4LDcgKzY4LDcgQEAKICAgICBb
TmV3T2JqZWN0XSBTVkdOdW1iZXIgY3JlYXRlU1ZHTnVtYmVyKCk7CiAgICAgW05ld09iamVjdF0g
U1ZHTGVuZ3RoIGNyZWF0ZVNWR0xlbmd0aCgpOwogICAgIFtOZXdPYmplY3RdIFNWR0FuZ2xlIGNy
ZWF0ZVNWR0FuZ2xlKCk7Ci0gICAgW05ld09iamVjdF0gU1ZHUG9pbnQgY3JlYXRlU1ZHUG9pbnQo
KTsKKyAgICBbTmV3T2JqZWN0XSBET01Qb2ludCBjcmVhdGVTVkdQb2ludCgpOwogICAgIFtOZXdP
YmplY3RdIFNWR01hdHJpeCBjcmVhdGVTVkdNYXRyaXgoKTsKICAgICBbTmV3T2JqZWN0XSBTVkdS
ZWN0IGNyZWF0ZVNWR1JlY3QoKTsKICAgICBbTmV3T2JqZWN0XSBTVkdUcmFuc2Zvcm0gY3JlYXRl
U1ZHVHJhbnNmb3JtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3RyaW5n
TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0cmluZ0xpc3QuaAppbmRleCAzYjM3NjVj
NWQ5ZTA3NDY5MDBhMmQ3Nzk3OWZmZGY1OGI0M2FkZDM1Li4xMTFmMDY3ZTY5MjY2N2IwNmYyYzhk
YThmYWIyNzdkMjdlYTI3Yjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3Ry
aW5nTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHJpbmdMaXN0LmgKQEAgLTM3
LDkgKzM3LDkgQEAgY2xhc3MgU1ZHU3RyaW5nTGlzdCBmaW5hbCA6IHB1YmxpYyBTVkdQcmltaXRp
dmVMaXN0PFN0cmluZz4gewogICAgIHVzaW5nIEJhc2U6Om1faXRlbXM7CiAKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgUmVmPFNWR1N0cmluZ0xpc3Q+IGNyZWF0ZShTVkdQcm9wZXJ0eU93bmVyKiBvd25l
cikKKyAgICBzdGF0aWMgUmVmPFNWR1N0cmluZ0xpc3Q+IGNyZWF0ZShET01MaXZlUHJvcGVydHlP
YnNlcnZlciogb2JzZXJ2ZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBT
VkdTdHJpbmdMaXN0KG93bmVyKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1N0
cmluZ0xpc3Qob2JzZXJ2ZXIpKTsKICAgICB9CiAKICAgICB2b2lkIHJlc2V0KGNvbnN0IFN0cmlu
ZyYgc3RyaW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNw
cAppbmRleCBkNTk4OTFlMzc4NzRkMzNhM2E5MGI1OGI5NGViYmM5N2ExMzQ0ZGM5Li44OWMwZmFi
Njk3MzM4YmZkNTM5ZDRlMjU0NzY0MmEzMWJiZWY2NTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUg
IlJlbmRlclNWR1Jlc291cmNlLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHVGV4dC5oIgogI2luY2x1
ZGUgIlNWR05hbWVzLmgiCi0jaW5jbHVkZSAiU1ZHUG9pbnQuaCIKICNpbmNsdWRlICJTVkdSZWN0
LmgiCiAjaW5jbHVkZSAiU1ZHVGV4dFF1ZXJ5LmgiCiAjaW5jbHVkZSAiWE1MTmFtZXMuaCIKQEAg
LTc1LDIwICs3NCwyMiBAQCBFeGNlcHRpb25PcjxmbG9hdD4gU1ZHVGV4dENvbnRlbnRFbGVtZW50
OjpnZXRTdWJTdHJpbmdMZW5ndGgodW5zaWduZWQgY2hhcm51bSwgdQogICAgIHJldHVybiBTVkdU
ZXh0UXVlcnkocmVuZGVyZXIoKSkuc3ViU3RyaW5nTGVuZ3RoKGNoYXJudW0sIG5jaGFycyk7CiB9
CiAKLUV4Y2VwdGlvbk9yPFJlZjxTVkdQb2ludD4+IFNWR1RleHRDb250ZW50RWxlbWVudDo6Z2V0
U3RhcnRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKQorRXhjZXB0aW9uT3I8UmVmPERP
TVBvaW50Pj4gU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRTdGFydFBvc2l0aW9uT2ZDaGFyKHVu
c2lnbmVkIGNoYXJudW0pCiB7CiAgICAgaWYgKGNoYXJudW0gPiBnZXROdW1iZXJPZkNoYXJzKCkp
CiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbmRleFNpemVFcnJvciB9OwogCi0gICAgcmV0
dXJuIFNWR1BvaW50OjpjcmVhdGUoU1ZHVGV4dFF1ZXJ5KHJlbmRlcmVyKCkpLnN0YXJ0UG9zaXRp
b25PZkNoYXJhY3RlcihjaGFybnVtKSk7CisgICAgYXV0byBzdGFydFBvc2l0aW9uID0gU1ZHVGV4
dFF1ZXJ5KHJlbmRlcmVyKCkpLnN0YXJ0UG9zaXRpb25PZkNoYXJhY3RlcihjaGFybnVtKTsKKyAg
ICByZXR1cm4gRE9NUG9pbnQ6OmNyZWF0ZShzdGFydFBvc2l0aW9uLngoKSwgc3RhcnRQb3NpdGlv
bi55KCkpOwogfQogCi1FeGNlcHRpb25PcjxSZWY8U1ZHUG9pbnQ+PiBTVkdUZXh0Q29udGVudEVs
ZW1lbnQ6OmdldEVuZFBvc2l0aW9uT2ZDaGFyKHVuc2lnbmVkIGNoYXJudW0pCitFeGNlcHRpb25P
cjxSZWY8RE9NUG9pbnQ+PiBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldEVuZFBvc2l0aW9uT2ZD
aGFyKHVuc2lnbmVkIGNoYXJudW0pCiB7CiAgICAgaWYgKGNoYXJudW0gPiBnZXROdW1iZXJPZkNo
YXJzKCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbmRleFNpemVFcnJvciB9OwogCi0g
ICAgcmV0dXJuIFNWR1BvaW50OjpjcmVhdGUoU1ZHVGV4dFF1ZXJ5KHJlbmRlcmVyKCkpLmVuZFBv
c2l0aW9uT2ZDaGFyYWN0ZXIoY2hhcm51bSkpOworICAgIGF1dG8gZW5kUG9zaXRpb24gPSAgU1ZH
VGV4dFF1ZXJ5KHJlbmRlcmVyKCkpLmVuZFBvc2l0aW9uT2ZDaGFyYWN0ZXIoY2hhcm51bSk7Cisg
ICAgcmV0dXJuIERPTVBvaW50OjpjcmVhdGUoZW5kUG9zaXRpb24ueCgpLCBlbmRQb3NpdGlvbi55
KCkpOwogfQogCiBFeGNlcHRpb25PcjxSZWY8U1ZHUmVjdD4+IFNWR1RleHRDb250ZW50RWxlbWVu
dDo6Z2V0RXh0ZW50T2ZDaGFyKHVuc2lnbmVkIGNoYXJudW0pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHVGV4dENvbnRlbnRFbGVtZW50LmgKaW5kZXggZGIwZmVmMjNmMTY2MDJlNGUzZjc5ZmIyYjhj
Y2M1MmU1MmU5MjlkMi4uNjc0ZmY1OTEyN2M4OWQxZDA5OWQxY2JlNzgzZDc4NWYxNjM5NzVjMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaApAQCAtMjcsNiAr
MjcsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgRE9NUG9pbnRJbml0OworY2xh
c3MgRE9NUG9pbnQ7CiAKIGVudW0gU1ZHTGVuZ3RoQWRqdXN0VHlwZSB7CiAgICAgU1ZHTGVuZ3Ro
QWRqdXN0VW5rbm93biwKQEAgLTc0LDggKzc1LDggQEAgcHVibGljOgogICAgIHVuc2lnbmVkIGdl
dE51bWJlck9mQ2hhcnMoKTsKICAgICBmbG9hdCBnZXRDb21wdXRlZFRleHRMZW5ndGgoKTsKICAg
ICBFeGNlcHRpb25PcjxmbG9hdD4gZ2V0U3ViU3RyaW5nTGVuZ3RoKHVuc2lnbmVkIGNoYXJudW0s
IHVuc2lnbmVkIG5jaGFycyk7Ci0gICAgRXhjZXB0aW9uT3I8UmVmPFNWR1BvaW50Pj4gZ2V0U3Rh
cnRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKTsKLSAgICBFeGNlcHRpb25PcjxSZWY8
U1ZHUG9pbnQ+PiBnZXRFbmRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKTsKKyAgICBF
eGNlcHRpb25PcjxSZWY8RE9NUG9pbnQ+PiBnZXRTdGFydFBvc2l0aW9uT2ZDaGFyKHVuc2lnbmVk
IGNoYXJudW0pOworICAgIEV4Y2VwdGlvbk9yPFJlZjxET01Qb2ludD4+IGdldEVuZFBvc2l0aW9u
T2ZDaGFyKHVuc2lnbmVkIGNoYXJudW0pOwogICAgIEV4Y2VwdGlvbk9yPFJlZjxTVkdSZWN0Pj4g
Z2V0RXh0ZW50T2ZDaGFyKHVuc2lnbmVkIGNoYXJudW0pOwogICAgIEV4Y2VwdGlvbk9yPGZsb2F0
PiBnZXRSb3RhdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKTsKICAgICBpbnQgZ2V0Q2hhck51
bUF0UG9zaXRpb24oRE9NUG9pbnRJbml0JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4
dENvbnRlbnRFbGVtZW50LmlkbAppbmRleCBmODE2YTNmYWM1YTk2MzJhMWM0NGU5MDg1N2I3YzA2
NzQ4ZTZhYTYyLi5lMDQzYWQxMzcxOTc0ZTFjNzAzMWYwODIyMjlmOWU3OTEzNjJkYWQxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmlkbApAQCAtMzUsOCAr
MzUsOCBAQCBpbnRlcmZhY2UgU1ZHVGV4dENvbnRlbnRFbGVtZW50IDogU1ZHR3JhcGhpY3NFbGVt
ZW50IHsKICAgICBsb25nIGdldE51bWJlck9mQ2hhcnMoKTsKICAgICB1bnJlc3RyaWN0ZWQgZmxv
YXQgZ2V0Q29tcHV0ZWRUZXh0TGVuZ3RoKCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSB1bnJl
c3RyaWN0ZWQgZmxvYXQgZ2V0U3ViU3RyaW5nTGVuZ3RoKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcg
b2Zmc2V0ID0gMCwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBsZW5ndGggPSAwKTsKLSAgICBbTWF5
VGhyb3dFeGNlcHRpb24sIE5ld09iamVjdF0gU1ZHUG9pbnQgZ2V0U3RhcnRQb3NpdGlvbk9mQ2hh
cihvcHRpb25hbCB1bnNpZ25lZCBsb25nIG9mZnNldCA9IDApOwotICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbiwgTmV3T2JqZWN0XSBTVkdQb2ludCBnZXRFbmRQb3NpdGlvbk9mQ2hhcihvcHRpb25hbCB1
bnNpZ25lZCBsb25nIG9mZnNldCA9IDApOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgTmV3T2Jq
ZWN0XSBET01Qb2ludCBnZXRTdGFydFBvc2l0aW9uT2ZDaGFyKG9wdGlvbmFsIHVuc2lnbmVkIGxv
bmcgb2Zmc2V0ID0gMCk7CisgICAgW01heVRocm93RXhjZXB0aW9uLCBOZXdPYmplY3RdIERPTVBv
aW50IGdldEVuZFBvc2l0aW9uT2ZDaGFyKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0ID0g
MCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uLCBOZXdPYmplY3RdIFNWR1JlY3QgZ2V0RXh0ZW50
T2ZDaGFyKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0ID0gMCk7CiAgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bnJlc3RyaWN0ZWQgZmxvYXQgZ2V0Um90YXRpb25PZkNoYXIob3B0aW9uYWwg
dW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwKTsKICAgICBsb25nIGdldENoYXJOdW1BdFBvc2l0aW9u
KERPTVBvaW50SW5pdCBwb2ludCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
VHJhbnNmb3JtLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtLmgKaW5kZXggNmEy
OWM3MmNmM2U3ZjMxM2Y3MDk2NTdhNDAxMjQ4MWMyMjNiOGRjZC4uMzNkYjY4ZjQyOWFhN2ZhM2Zl
ZWFkYzIyOWNkMTk2ODQ1ZTZmY2JhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RyYW5zZm9ybS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm0uaApAQCAt
MzEsNyArMzEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1RyYW5zZm9y
bSA6IHB1YmxpYyBTVkdWYWx1ZVByb3BlcnR5PFNWR1RyYW5zZm9ybVZhbHVlPiwgcHVibGljIFNW
R1Byb3BlcnR5T3duZXIgeworY2xhc3MgU1ZHVHJhbnNmb3JtIDogcHVibGljIFNWR1ZhbHVlUHJv
cGVydHk8U1ZHVHJhbnNmb3JtVmFsdWU+LCBwdWJsaWMgRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIg
ewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHVHJhbnNmb3JtPiBjcmVhdGUoU1ZHVHJhbnNm
b3JtVmFsdWU6OlNWR1RyYW5zZm9ybVR5cGUgdHlwZSkKICAgICB7CkBAIC0xMzQsMTcgKzEzNCwx
NyBAQCBwcml2YXRlOgogICAgIHVzaW5nIEJhc2UgPSBTVkdWYWx1ZVByb3BlcnR5PFNWR1RyYW5z
Zm9ybVZhbHVlPjsKIAogICAgIFNWR1RyYW5zZm9ybShTVkdUcmFuc2Zvcm1WYWx1ZTo6U1ZHVHJh
bnNmb3JtVHlwZSB0eXBlLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHRyYW5zZm9ybSA9IHsgfSwg
ZmxvYXQgYW5nbGUgPSAwLCBjb25zdCBGbG9hdFBvaW50JiByb3RhdGlvbkNlbnRlciA9IHsgfSkK
LSAgICAgICAgOiBCYXNlKFNWR1RyYW5zZm9ybVZhbHVlKHR5cGUsIFNWR01hdHJpeDo6Y3JlYXRl
KHRoaXMsIFNWR1Byb3BlcnR5QWNjZXNzOjpSZWFkV3JpdGUsIHRyYW5zZm9ybSksIGFuZ2xlLCBy
b3RhdGlvbkNlbnRlcikpCisgICAgICAgIDogQmFzZShTVkdUcmFuc2Zvcm1WYWx1ZSh0eXBlLCBT
VkdNYXRyaXg6OmNyZWF0ZSh0aGlzLCB0cmFuc2Zvcm0pLCBhbmdsZSwgcm90YXRpb25DZW50ZXIp
KQogICAgIHsKICAgICB9CiAKLSAgICBTVkdQcm9wZXJ0eU93bmVyKiBvd25lcigpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIG1fb3duZXI7IH0KKyAgICBET01MaXZlUHJvcGVydHlPYnNlcnZlciog
b2JzZXJ2ZXIoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX29ic2VydmVyOyB9CiAKLSAgICB2
b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKFNWR1Byb3BlcnR5KiBwcm9wZXJ0eSkgb3ZlcnJpZGUK
KyAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKERPTUxpdmVQcm9wZXJ0eSogcHJvcGVydHkp
IG92ZXJyaWRlCiAgICAgewogICAgICAgICBBU1NFUlRfVU5VU0VEKHByb3BlcnR5LCBwcm9wZXJ0
eSA9PSBtX3ZhbHVlLm1hdHJpeCgpLnB0cigpKTsKLSAgICAgICAgaWYgKG93bmVyKCkpCi0gICAg
ICAgICAgICBvd25lcigpLT5jb21taXRQcm9wZXJ0eUNoYW5nZSh0aGlzKTsKKyAgICAgICAgaWYg
KG9ic2VydmVyKCkpCisgICAgICAgICAgICBvYnNlcnZlcigpLT5jb21taXRQcm9wZXJ0eUNoYW5n
ZSh0aGlzKTsKICAgICAgICAgbV92YWx1ZS5tYXRyaXhEaWRDaGFuZ2UoKTsKICAgICB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1MaXN0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtTGlzdC5oCmluZGV4IDU0NGQ2MGIyZTYzNWMxYzIwOTkz
NGVlNDM1Y2Y0MTI1ZTZhNzFmMmIuLmU2MDQ1ZWQyNTYyMzIxZTkxNDE2NGEwZmIyMDQ5NzQ4NzEw
NWUyMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1MaXN0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybUxpc3QuaApAQCAtMzgsMTQgKzM4
LDE0IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHVHJhbnNmb3Jt
TGlzdCgpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUmVmPFNWR1RyYW5zZm9ybUxpc3Q+IGNyZWF0
ZShTVkdQcm9wZXJ0eU93bmVyKiBvd25lciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzKQorICAg
IHN0YXRpYyBSZWY8U1ZHVHJhbnNmb3JtTGlzdD4gY3JlYXRlKERPTUxpdmVQcm9wZXJ0eU9ic2Vy
dmVyKiBvYnNlcnZlcikKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1Ry
YW5zZm9ybUxpc3Qob3duZXIsIGFjY2VzcykpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBTVkdUcmFuc2Zvcm1MaXN0KG9ic2VydmVyKSk7CiAgICAgfQogCi0gICAgc3RhdGljIFJlZjxT
VkdUcmFuc2Zvcm1MaXN0PiBjcmVhdGUoY29uc3QgU1ZHVHJhbnNmb3JtTGlzdCYgb3RoZXIsIFNW
R1Byb3BlcnR5QWNjZXNzIGFjY2VzcykKKyAgICBzdGF0aWMgUmVmPFNWR1RyYW5zZm9ybUxpc3Q+
IGNyZWF0ZShjb25zdCBTVkdUcmFuc2Zvcm1MaXN0JiBvdGhlcikKICAgICB7Ci0gICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFNWR1RyYW5zZm9ybUxpc3Qob3RoZXIsIGFjY2VzcykpOworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdUcmFuc2Zvcm1MaXN0KG90aGVyKSk7CiAgICAg
fQogCiAgICAgRXhjZXB0aW9uT3I8UmVmPFNWR1RyYW5zZm9ybT4+IGNyZWF0ZVNWR1RyYW5zZm9y
bUZyb21NYXRyaXgoY29uc3QgUmVmPFNWR01hdHJpeD4mIG1hdHJpeCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Vmlld1NwZWMuY3BwCmluZGV4IDhmNDIzNTE2YjViZGJjNTI4N2NkYTQ0YWRmNDlmYzYxOGRkYzMy
ZWMuLjUzY2MxNWRjOTBlNzdjYTkxMjRmNmNhZmEyOGRhMWFjNTA1OWNhZDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1ZpZXdTcGVjLmNwcApAQCAtMzIsOSArMzIsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBTVkdWaWV3U3BlYzo6U1ZHVmlld1NwZWMoU1ZHRWxlbWVudCYgY29udGV4dEVsZW1lbnQp
Ci0gICAgOiBTVkdGaXRUb1ZpZXdCb3goJmNvbnRleHRFbGVtZW50LCBTVkdQcm9wZXJ0eUFjY2Vz
czo6UmVhZE9ubHkpCisgICAgOiBTVkdGaXRUb1ZpZXdCb3goJmNvbnRleHRFbGVtZW50KQogICAg
ICwgbV9jb250ZXh0RWxlbWVudChtYWtlV2Vha1B0cihjb250ZXh0RWxlbWVudCkpCi0gICAgLCBt
X3RyYW5zZm9ybShTVkdUcmFuc2Zvcm1MaXN0OjpjcmVhdGUoJmNvbnRleHRFbGVtZW50LCBTVkdQ
cm9wZXJ0eUFjY2Vzczo6UmVhZE9ubHkpKQogewogICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBv
bmNlRmxhZzsKICAgICBzdGQ6OmNhbGxfb25jZShvbmNlRmxhZywgW10gewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Vmlld1NwZWMuaAppbmRleCAyZTdlZjk3ODZjMWE4ODZmZDI1YWNmZWEwMzdmYzg1MGQ3OWRlNTIw
Li42ZWZjMDlmOTgzYzJjNDNjNmEzZDg1NWIwMmQzNDIyMjAwMzgyMWMwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHVmlld1NwZWMuaApAQCAtNTUsNyArNTUsNyBAQCBwcml2YXRlOgogCiAgICAgV2Vha1B0cjxT
VkdFbGVtZW50PiBtX2NvbnRleHRFbGVtZW50OwogICAgIFN0cmluZyBtX3ZpZXdUYXJnZXRTdHJp
bmc7Ci0gICAgUmVmPFNWR1RyYW5zZm9ybUxpc3Q+IG1fdHJhbnNmb3JtOworICAgIFJlZjxTVkdU
cmFuc2Zvcm1MaXN0PiBtX3RyYW5zZm9ybSB7IFNWR1RyYW5zZm9ybUxpc3Q6OmNyZWF0ZSgpIH07
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHWm9vbUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tRXZlbnQu
Y3BwCmluZGV4IDY5NmZjZjE0MmUwY2Y0ODE3NWY1NWRlYmRmZWJjMDUxODU1OTVhNDYuLjlkODU3
NzI4OWY3NjVhZTk3ODUyYWE3ZTAyOTQ1OTMwMTA1NTViNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdab29tRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkda
b29tRXZlbnQuY3BwCkBAIC0yMiw3ICsyMiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiU1ZHWm9vbUV2ZW50LmgiCiAKLSNpbmNsdWRlICJTVkdQb2ludC5oIgorI2luY2x1ZGUg
IkRPTVBvaW50LmgiCiAjaW5jbHVkZSAiU1ZHUmVjdC5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxs
b2NJbmxpbmVzLmg+CiAKQEAgLTUxLDkgKzUxLDkgQEAgdm9pZCBTVkdab29tRXZlbnQ6OnNldFBy
ZXZpb3VzU2NhbGUoZmxvYXQgc2NhbGUpCiAgICAgbV9wcmV2aW91c1NjYWxlID0gc2NhbGU7CiB9
CiAKLVJlZjxTVkdQb2ludD4gU1ZHWm9vbUV2ZW50OjpwcmV2aW91c1RyYW5zbGF0ZSgpIGNvbnN0
CitSZWY8RE9NUG9pbnQ+IFNWR1pvb21FdmVudDo6cHJldmlvdXNUcmFuc2xhdGUoKSBjb25zdAog
ewotICAgIHJldHVybiBTVkdQb2ludDo6Y3JlYXRlKG1fcHJldmlvdXNUcmFuc2xhdGUpOworICAg
IHJldHVybiBET01Qb2ludDo6Y3JlYXRlKG1fcHJldmlvdXNUcmFuc2xhdGUueCgpLCBtX3ByZXZp
b3VzVHJhbnNsYXRlLnkoKSk7CiB9CiAKIGZsb2F0IFNWR1pvb21FdmVudDo6bmV3U2NhbGUoKSBj
b25zdApAQCAtNjYsOSArNjYsOSBAQCB2b2lkIFNWR1pvb21FdmVudDo6c2V0TmV3U2NhbGUoZmxv
YXQgc2NhbGUpCiAgICAgbV9uZXdTY2FsZSA9IHNjYWxlOwogfQogCi1SZWY8U1ZHUG9pbnQ+IFNW
R1pvb21FdmVudDo6bmV3VHJhbnNsYXRlKCkgY29uc3QKK1JlZjxET01Qb2ludD4gU1ZHWm9vbUV2
ZW50OjpuZXdUcmFuc2xhdGUoKSBjb25zdAogewotICAgIHJldHVybiBTVkdQb2ludDo6Y3JlYXRl
KG1fbmV3VHJhbnNsYXRlKTsKKyAgICByZXR1cm4gRE9NUG9pbnQ6OmNyZWF0ZShtX25ld1RyYW5z
bGF0ZS54KCksIG1fbmV3VHJhbnNsYXRlLnkoKSk7CiB9CiAKIEV2ZW50SW50ZXJmYWNlIFNWR1pv
b21FdmVudDo6ZXZlbnRJbnRlcmZhY2UoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1pvb21FdmVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21FdmVudC5o
CmluZGV4IGJiMTQ0NWJmMWQ4MmY1NjUxNWVhM2M0M2M0ZmQyMWJlYTRiYTk3MzIuLjA3NjUwM2Zh
NWMyYTkxOWU4N2JmNzRjYTdlOTUwOGVlODE0YTA4ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdab29tRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUV2
ZW50LmgKQEAgLTI2LDcgKzI2LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBT
VkdQb2ludDsKK2NsYXNzIERPTVBvaW50OwogY2xhc3MgU1ZHUmVjdDsKIAogY2xhc3MgU1ZHWm9v
bUV2ZW50IGZpbmFsIDogcHVibGljIFVJRXZlbnQgewpAQCAtNDAsMTIgKzQwLDEyIEBAIHB1Ymxp
YzoKICAgICBmbG9hdCBwcmV2aW91c1NjYWxlKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRQcmV2aW91
c1NjYWxlKGZsb2F0KTsKIAotICAgIFJlZjxTVkdQb2ludD4gcHJldmlvdXNUcmFuc2xhdGUoKSBj
b25zdDsKKyAgICBSZWY8RE9NUG9pbnQ+IHByZXZpb3VzVHJhbnNsYXRlKCkgY29uc3Q7CiAKICAg
ICBmbG9hdCBuZXdTY2FsZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0TmV3U2NhbGUoZmxvYXQpOwog
Ci0gICAgUmVmPFNWR1BvaW50PiBuZXdUcmFuc2xhdGUoKSBjb25zdDsKKyAgICBSZWY8RE9NUG9p
bnQ+IG5ld1RyYW5zbGF0ZSgpIGNvbnN0OwogCiAgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRl
cmZhY2UoKSBjb25zdCBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1pvb21FdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUV2ZW50LmlkbAppbmRl
eCAyODYwZTRjOGQxNTRhZDA5NzUwZDU0YzRhNmU2OWE1NTZmMTU0NTViLi5iNTJhN2Q0NDZiNmIy
MmNiOGNmMjVhYWU3YzUyY2VjODdiZjkzZDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHWm9vbUV2ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUV2ZW50
LmlkbApAQCAtMjYsOCArMjYsOCBAQAogaW50ZXJmYWNlIFNWR1pvb21FdmVudCA6IFVJRXZlbnQg
eyAKICAgICBbTmV3T2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgU1ZHUmVjdCB6b29tUmVjdFNj
cmVlbjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHByZXZpb3Vz
U2NhbGU7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR1BvaW50IHByZXZpb3VzVHJhbnNsYXRl
OworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Qb2ludCBwcmV2aW91c1RyYW5zbGF0ZTsKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IG5ld1NjYWxlOwotICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBTVkdQb2ludCBuZXdUcmFuc2xhdGU7CisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVBvaW50IG5ld1RyYW5zbGF0ZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkRGVjb3JhdGVkUHJvcGVydHkuaCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkRGVjb3JhdGVkUHJvcGVydHku
aAppbmRleCBjZWJhYTM2M2JmNTI3YmJiMzhlNTY3ZDNlM2Q0MmJmODQzMTAyYTc1Li42ZGE5ZDQ0
OWVjY2NmMTlmMDllY2ZhYWZjYTVhNThiOWM3ODQxZDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZERlY29yYXRlZFByb3BlcnR5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWREZWNvcmF0ZWRQcm9wZXJ0
eS5oCkBAIC05NywxNSArOTcsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgLy8gTWFuYWdpbmcg
dGhlIHJlbGF0aW9uc2hpcCB3aXRoIHRoZSBvd25lci4KLSAgICB2b2lkIHNldERpcnR5KCkgb3Zl
cnJpZGUgeyBtX3N0YXRlID0gU1ZHUHJvcGVydHlTdGF0ZTo6RGlydHk7IH0KLSAgICBib29sIGlz
RGlydHkoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3N0YXRlID09IFNWR1Byb3BlcnR5U3Rh
dGU6OkRpcnR5OyB9Ci0gICAgT3B0aW9uYWw8U3RyaW5nPiBzeW5jaHJvbml6ZSgpIG92ZXJyaWRl
Ci0gICAgewotICAgICAgICBpZiAobV9zdGF0ZSA9PSBTVkdQcm9wZXJ0eVN0YXRlOjpDbGVhbikK
LSAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgICAgIG1fc3RhdGUgPSBTVkdQ
cm9wZXJ0eVN0YXRlOjpDbGVhbjsKLSAgICAgICAgcmV0dXJuIGJhc2VWYWxBc1N0cmluZygpOwot
ICAgIH0KKyAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IGJhc2VWYWxBc1N0cmluZygpOyB9CiAKICAgICAvLyBVc2VkIGJ5IFJlbmRlclNWR0VsZW1lbnRz
IGFuZCBEdW1wUmVuZGVyVHJlZS4KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBQcm9wZXJ0eVR5cGU+
CkBAIC0xMzMsNyArMTI1LDYgQEAgcHVibGljOgogcHJvdGVjdGVkOgogICAgIHN0ZDo6dW5pcXVl
X3B0cjxTVkdEZWNvcmF0ZWRQcm9wZXJ0eTxEZWNvcmF0aW9uVHlwZT4+IG1fYmFzZVZhbDsKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8U1ZHRGVjb3JhdGVkUHJvcGVydHk8RGVjb3JhdGlvblR5cGU+PiBt
X2FuaW1WYWw7Ci0gICAgU1ZHUHJvcGVydHlTdGF0ZSBtX3N0YXRlIHsgU1ZHUHJvcGVydHlTdGF0
ZTo6Q2xlYW4gfTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9w
ZXJ0aWVzL1NWR0FuaW1hdGVkUHJpbWl0aXZlUHJvcGVydHkuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJpbWl0aXZlUHJvcGVydHkuaAppbmRleCBlMTRmNjc5
ZjMzNjNkZGM1YThmNDFjMDM1ZmRmNzM0ZWJjYjk2NjYxLi5kNDQ4MGY3NGEyZTM5NmQxOGE5Mzdk
Zjc4OTMwZjNkNWZiZmIxMThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVy
dGllcy9TVkdBbmltYXRlZFByaW1pdGl2ZVByb3BlcnR5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcmltaXRpdmVQcm9wZXJ0eS5oCkBAIC04Nyw5ICs4
Nyw3IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICAvLyBNYW5hZ2luZyB0aGUgcmVsYXRpb25zaGlw
IHdpdGggdGhlIG93bmVyLgotICAgIHZvaWQgc2V0RGlydHkoKSBvdmVycmlkZSB7IG1fYmFzZVZh
bC0+c2V0RGlydHkoKTsgfQotICAgIGJvb2wgaXNEaXJ0eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIG1fYmFzZVZhbC0+aXNEaXJ0eSgpOyB9Ci0gICAgT3B0aW9uYWw8U3RyaW5nPiBzeW5jaHJv
bml6ZSgpIG92ZXJyaWRlIHsgcmV0dXJuIG1fYmFzZVZhbC0+c3luY2hyb25pemUoKTsgfQorICAg
IFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gYmFzZVZhbEFz
U3RyaW5nKCk7IH0KIAogICAgIC8vIFVzZWQgYnkgUmVuZGVyU1ZHRWxlbWVudHMgYW5kIER1bXBS
ZW5kZXJUcmVlLgogICAgIGNvbnN0IFByb3BlcnR5VHlwZSYgY3VycmVudFZhbHVlKCkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJv
cGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9w
ZXJ0eS5jcHAKaW5kZXggZWMyZjNhNDg3ZjgzMGYxYzcyNmQwZjZiZTRjOTQyMmVjOGYzMDFlOC4u
ZWRhNWM4NGMzNWZiYzdiZDI1NGQxYWRlMmZiMjU4MTY2NTgzZGMzYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5jcHAKQEAg
LTMwLDEyICszMCwxMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNWR1Byb3BlcnR5T3du
ZXIqIFNWR0FuaW1hdGVkUHJvcGVydHk6Om93bmVyKCkgY29uc3QKK0RPTUxpdmVQcm9wZXJ0eU9i
c2VydmVyKiBTVkdBbmltYXRlZFByb3BlcnR5OjpvYnNlcnZlcigpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIG1fY29udGV4dEVsZW1lbnQ7CiB9CiAKLXZvaWQgU1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6Y29t
bWl0UHJvcGVydHlDaGFuZ2UoU1ZHUHJvcGVydHkqKQordm9pZCBTVkdBbmltYXRlZFByb3BlcnR5
Ojpjb21taXRQcm9wZXJ0eUNoYW5nZShET01MaXZlUHJvcGVydHkqKQogewogICAgIGlmICghbV9j
b250ZXh0RWxlbWVudCkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5oCmluZGV4IGM2ZjkzMmU2ZGY2OWNj
ZWZhZmM5NjVlMzJjZDU2NjIwYTFmYzMzNjQuLmExMDQxZTYwNTI5ZGExZmQyMzE4NjBlMjYwYjcx
Y2NmYjcwYzRhOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NW
R0FuaW1hdGVkUHJvcGVydHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9T
VkdBbmltYXRlZFByb3BlcnR5LmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAK
LSNpbmNsdWRlICJTVkdQcm9wZXJ0eU93bmVyLmgiCisjaW5jbHVkZSAiRE9NTGl2ZVByb3BlcnR5
T2JzZXJ2ZXIuaCIKICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtMzQsNyArMzQs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCiBjbGFzcyBTVkdFbGVtZW50OwogCi1jbGFz
cyBTVkdBbmltYXRlZFByb3BlcnR5IDogcHVibGljIFJlZkNvdW50ZWQ8U1ZHQW5pbWF0ZWRQcm9w
ZXJ0eT4sIHB1YmxpYyBTVkdQcm9wZXJ0eU93bmVyIHsKK2NsYXNzIFNWR0FuaW1hdGVkUHJvcGVy
dHkgOiBwdWJsaWMgUmVmQ291bnRlZDxTVkdBbmltYXRlZFByb3BlcnR5PiwgcHVibGljIERPTUxp
dmVQcm9wZXJ0eU9ic2VydmVyIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5TVkdBbmltYXRlZFBy
b3BlcnR5KCkgPSBkZWZhdWx0OwogICAgIApAQCAtNDcsOSArNDcsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBTdHJpbmcgYW5pbVZhbEFzU3RyaW5nKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJp
bmcoKTsgfQogICAgIAogICAgIC8vIENvbnRyb2wgdGhlIHN5bmNocm9uaXphdGlvbiBiZXR3ZWVu
IHRoZSBhdHRyaWJ1dGUgYW5kIGl0cyByZWZsZWN0aW9uIGluIGJhc2VWYWwuCi0gICAgdmlydHVh
bCBib29sIGlzRGlydHkoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgdm9p
ZCBzZXREaXJ0eSgpIHsgfQotICAgIHZpcnR1YWwgT3B0aW9uYWw8U3RyaW5nPiBzeW5jaHJvbml6
ZSgpIHsgcmV0dXJuIFdURjo6bnVsbG9wdDsgfQorICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVlQXNT
dHJpbmcoKSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9CiAgICAgCiAgICAgLy8gQ29u
dHJvbCB0aGUgYW5pbWF0aW9uIGxpZmUgY3ljbGUuCiAgICAgYm9vbCBpc0FuaW1hdGluZygpIGNv
bnN0IHsgcmV0dXJuIG1faXNBbmltYXRpbmc7IH0KQEAgLTY2LDggKzY0LDggQEAgcHJvdGVjdGVk
OgogICAgIHsKICAgICB9CiAgICAgCi0gICAgU1ZHUHJvcGVydHlPd25lciogb3duZXIoKSBjb25z
dCBvdmVycmlkZTsKLSAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKFNWR1Byb3BlcnR5Kikg
b3ZlcnJpZGU7CisgICAgRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyKCkgY29uc3Qg
b3ZlcnJpZGU7CisgICAgdm9pZCBjb21taXRQcm9wZXJ0eUNoYW5nZShET01MaXZlUHJvcGVydHkq
KSBvdmVycmlkZTsKICAgICAKICAgICBTVkdFbGVtZW50KiBtX2NvbnRleHRFbGVtZW50IHsgbnVs
bHB0ciB9OwogICAgIGJvb2wgbV9pc0FuaW1hdGluZyB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TGlzdC5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eUxpc3QuaApp
bmRleCBmNDI1NWQ3ZjZlNzViMTRhY2E4OGE4ODBiZmYzNmU2NTYzODNmNzE2Li5hZDIxYTk4MDZj
NTRhZmMwNmVjYWE1YTcxMzI1Y2RiMjMxM2NhZjMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TGlzdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlMaXN0LmgKQEAgLTY4LDkg
KzY4LDcgQEAgcHVibGljOgogICAgIH0KIAogICAgIC8vIE1hbmFnaW5nIHRoZSByZWxhdGlvbnNo
aXAgd2l0aCB0aGUgb3duZXIuCi0gICAgdm9pZCBzZXREaXJ0eSgpIG92ZXJyaWRlIHsgbV9iYXNl
VmFsLT5zZXREaXJ0eSgpOyB9Ci0gICAgYm9vbCBpc0RpcnR5KCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gbV9iYXNlVmFsLT5pc0RpcnR5KCk7IH0KLSAgICBPcHRpb25hbDxTdHJpbmc+IHN5bmNo
cm9uaXplKCkgb3ZlcnJpZGUgeyByZXR1cm4gbV9iYXNlVmFsLT5zeW5jaHJvbml6ZSgpOyB9Cisg
ICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBiYXNlVmFs
QXNTdHJpbmcoKTsgfQogCiAgICAgLy8gVXNlZCBieSBSZW5kZXJTVkdFbGVtZW50cyBhbmQgRHVt
cFJlbmRlclRyZWUuCiAgICAgY29uc3QgTGlzdFR5cGUmIGN1cnJlbnRWYWx1ZSgpIGNvbnN0CkBA
IC0xMTcsMTkgKzExNSwyNCBAQCBwcm90ZWN0ZWQ6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4g
QXJndW1lbnRzPgogICAgIFNWR0FuaW1hdGVkUHJvcGVydHlMaXN0KFNWR0VsZW1lbnQqIGNvbnRl
eHRFbGVtZW50LCBBcmd1bWVudHMmJi4uLiBhcmd1bWVudHMpCiAgICAgICAgIDogU1ZHQW5pbWF0
ZWRQcm9wZXJ0eShjb250ZXh0RWxlbWVudCkKLSAgICAgICAgLCBtX2Jhc2VWYWwoTGlzdFR5cGU6
OmNyZWF0ZSh0aGlzLCBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZFdyaXRlLCBzdGQ6OmZvcndhcmQ8
QXJndW1lbnRzPihhcmd1bWVudHMpLi4uKSkKKyAgICAgICAgLCBtX2Jhc2VWYWwoTGlzdFR5cGU6
OmNyZWF0ZSh0aGlzLCBzdGQ6OmZvcndhcmQ8QXJndW1lbnRzPihhcmd1bWVudHMpLi4uKSkKICAg
ICB7CiAgICAgfQogCiAgICAgUmVmUHRyPExpc3RUeXBlPiYgZW5zdXJlQW5pbVZhbCgpCiAgICAg
ewogICAgICAgICBpZiAoIW1fYW5pbVZhbCkKLSAgICAgICAgICAgIG1fYW5pbVZhbCA9IExpc3RU
eXBlOjpjcmVhdGUobV9iYXNlVmFsLCBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZE9ubHkpOworICAg
ICAgICAgICAgbV9hbmltVmFsID0gTGlzdFR5cGU6OmNyZWF0ZShtX2Jhc2VWYWwuZ2V0KCkpOwog
ICAgICAgICByZXR1cm4gbV9hbmltVmFsOwogICAgIH0KIAorICAgIGJvb2wgaXNQcm9wZXJ0eVJl
YWRPbmx5KGNvbnN0IERPTUxpdmVQcm9wZXJ0eSYgcHJvcGVydHkpIGNvbnN0IG92ZXJyaWRlCisg
ICAgeworICAgICAgICByZXR1cm4gbV9hbmltVmFsID09ICZwcm9wZXJ0eTsKKyAgICB9CisKICAg
ICAvLyBDYWxsZWQgd2hlbiBtX2Jhc2VWYWwgY2hhbmdlcyBvciBhbiBpdGVtIGluIG1fYmFzZVZh
bCBjaGFuZ2VzLgotICAgIHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoU1ZHUHJvcGVydHkqIHBy
b3BlcnR5KSBvdmVycmlkZQorICAgIHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoRE9NTGl2ZVBy
b3BlcnR5KiBwcm9wZXJ0eSkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIGlmIChtX2FuaW1WYWwp
CiAgICAgICAgICAgICAqbV9hbmltVmFsID0gbV9iYXNlVmFsOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBhaXJBY2Nlc3Nvcklt
cGwuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlQ
YWlyQWNjZXNzb3JJbXBsLmgKaW5kZXggNGEyNjlmYTVhOGYyN2NkMzM1NWU4MzQwNmZhNTM4NTNk
OTUyODljNS4uMzUwYmMwODhlYjQ1YTk2MDk4ZWE5MjQ3YTM3NTg1ODI4ZWUxMzUxNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBh
aXJBY2Nlc3NvckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdB
bmltYXRlZFByb3BlcnR5UGFpckFjY2Vzc29ySW1wbC5oCkBAIC00NiwxNyArNDYsMTEgQEAgcHVi
bGljOgogICAgIGNvbnN0ZXhwciBzdGF0aWMgY29uc3QgU1ZHTWVtYmVyQWNjZXNzb3I8T3duZXJU
eXBlPiYgc2luZ2xldG9uKCkgeyByZXR1cm4gQmFzZTo6dGVtcGxhdGUgc2luZ2xldG9uPFNWR0Fu
aW1hdGVkQW5nbGVPcmllbnRBY2Nlc3NvciwgcHJvcGVydHkxLCBwcm9wZXJ0eTI+KCk7IH0KIAog
cHJpdmF0ZToKLSAgICBPcHRpb25hbDxTdHJpbmc+IHN5bmNocm9uaXplKGNvbnN0IE93bmVyVHlw
ZSYgb3duZXIpIGNvbnN0IGZpbmFsCisgICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoY29uc3QgT3du
ZXJUeXBlJiBvd25lcikgY29uc3QgZmluYWwKICAgICB7Ci0gICAgICAgIGJvb2wgZGlydHkxID0g
cHJvcGVydHkxKG93bmVyKS0+aXNEaXJ0eSgpOwotICAgICAgICBib29sIGRpcnR5MiA9IHByb3Bl
cnR5Mihvd25lciktPmlzRGlydHkoKTsKLSAgICAgICAgaWYgKCEoZGlydHkxIHx8IGRpcnR5Mikp
Ci0gICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotCiAgICAgICAgIGF1dG8gdHlwZSA9
IHByb3BlcnR5Mihvd25lciktPmJhc2VWYWwoKTsKLQotICAgICAgICBTdHJpbmcgc3RyaW5nMSA9
IGRpcnR5MSA/ICpwcm9wZXJ0eTEob3duZXIpLT5zeW5jaHJvbml6ZSgpIDogcHJvcGVydHkxKG93
bmVyKS0+YmFzZVZhbEFzU3RyaW5nKCk7Ci0gICAgICAgIFN0cmluZyBzdHJpbmcyID0gZGlydHky
ID8gKnByb3BlcnR5Mihvd25lciktPnN5bmNocm9uaXplKCkgOiBwcm9wZXJ0eTIob3duZXIpLT5i
YXNlVmFsQXNTdHJpbmcoKTsKKyAgICAgICAgU3RyaW5nIHN0cmluZzEgPSBwcm9wZXJ0eTEob3du
ZXIpLT5iYXNlVmFsQXNTdHJpbmcoKTsKKyAgICAgICAgU3RyaW5nIHN0cmluZzIgPSBwcm9wZXJ0
eTIob3duZXIpLT5iYXNlVmFsQXNTdHJpbmcoKTsKICAgICAgICAgcmV0dXJuIHR5cGUgPT0gU1ZH
TWFya2VyT3JpZW50QXV0byB8fCB0eXBlID09IFNWR01hcmtlck9yaWVudEF1dG9TdGFydFJldmVy
c2UgPyBzdHJpbmcyIDogc3RyaW5nMTsKICAgICB9CiAKQEAgLTgzLDE1ICs3NywxMCBAQCBwdWJs
aWM6CiAgICAgY29uc3RleHByIHN0YXRpYyBjb25zdCBTVkdNZW1iZXJBY2Nlc3NvcjxPd25lclR5
cGU+JiBzaW5nbGV0b24oKSB7IHJldHVybiBCYXNlOjp0ZW1wbGF0ZSBzaW5nbGV0b248U1ZHQW5p
bWF0ZWRJbnRlZ2VyUGFpckFjY2Vzc29yLCBwcm9wZXJ0eTEsIHByb3BlcnR5Mj4oKTsgfQogCiBw
cml2YXRlOgotICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUoY29uc3QgT3duZXJUeXBl
JiBvd25lcikgY29uc3QgZmluYWwKKyAgICBTdHJpbmcgdmFsdWVBc1N0cmluZyhjb25zdCBPd25l
clR5cGUmIG93bmVyKSBjb25zdCBmaW5hbAogICAgIHsKLSAgICAgICAgYm9vbCBkaXJ0eTEgPSBw
cm9wZXJ0eTEob3duZXIpLT5pc0RpcnR5KCk7Ci0gICAgICAgIGJvb2wgZGlydHkyID0gcHJvcGVy
dHkyKG93bmVyKS0+aXNEaXJ0eSgpOwotICAgICAgICBpZiAoIShkaXJ0eTEgfHwgZGlydHkyKSkK
LSAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAgICAgICAgU3RyaW5nIHN0cmlu
ZzEgPSBkaXJ0eTEgPyAqcHJvcGVydHkxKG93bmVyKS0+c3luY2hyb25pemUoKSA6IHByb3BlcnR5
MShvd25lciktPmJhc2VWYWxBc1N0cmluZygpOwotICAgICAgICBTdHJpbmcgc3RyaW5nMiA9IGRp
cnR5MiA/ICpwcm9wZXJ0eTIob3duZXIpLT5zeW5jaHJvbml6ZSgpIDogcHJvcGVydHkyKG93bmVy
KS0+YmFzZVZhbEFzU3RyaW5nKCk7CisgICAgICAgIFN0cmluZyBzdHJpbmcxID0gcHJvcGVydHkx
KG93bmVyKS0+YmFzZVZhbEFzU3RyaW5nKCk7CisgICAgICAgIFN0cmluZyBzdHJpbmcyID0gcHJv
cGVydHkyKG93bmVyKS0+YmFzZVZhbEFzU3RyaW5nKCk7CiAgICAgICAgIHJldHVybiBzdHJpbmcx
ID09IHN0cmluZzIgPyBzdHJpbmcxIDogc3RyaW5nMSArICIsICIgKyBzdHJpbmcyOwogICAgIH0K
IApAQCAtMTE0LDE5ICsxMDMsMTQgQEAgY2xhc3MgU1ZHQW5pbWF0ZWROdW1iZXJQYWlyQWNjZXNz
b3IgZmluYWwgOiBwdWJsaWMgU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBhaXJBY2Nlc3MKIAogcHVibGlj
OgogICAgIHVzaW5nIEJhc2U6OkJhc2U7Ci0gICAgdGVtcGxhdGU8UmVmPFNWR0FuaW1hdGVkTnVt
YmVyPiBPd25lclR5cGU6Oipwcm9wZXJ0eTEsIFJlZjxTVkdBbmltYXRlZE51bWJlcj4gT3duZXJU
eXBlOjoqcHJvcGVydHkyID4KKyAgICB0ZW1wbGF0ZTxSZWY8U1ZHQW5pbWF0ZWROdW1iZXI+IE93
bmVyVHlwZTo6KnByb3BlcnR5MSwgUmVmPFNWR0FuaW1hdGVkTnVtYmVyPiBPd25lclR5cGU6Oipw
cm9wZXJ0eTI+CiAgICAgY29uc3RleHByIHN0YXRpYyBjb25zdCBTVkdNZW1iZXJBY2Nlc3NvcjxP
d25lclR5cGU+JiBzaW5nbGV0b24oKSB7IHJldHVybiBCYXNlOjp0ZW1wbGF0ZSBzaW5nbGV0b248
U1ZHQW5pbWF0ZWROdW1iZXJQYWlyQWNjZXNzb3IsIHByb3BlcnR5MSwgcHJvcGVydHkyPigpOyB9
CiAKIHByaXZhdGU6Ci0gICAgT3B0aW9uYWw8U3RyaW5nPiBzeW5jaHJvbml6ZShjb25zdCBPd25l
clR5cGUmIG93bmVyKSBjb25zdCBmaW5hbAorICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKGNvbnN0
IE93bmVyVHlwZSYgb3duZXIpIGNvbnN0IGZpbmFsCiAgICAgewotICAgICAgICBib29sIGRpcnR5
MSA9IHByb3BlcnR5MShvd25lciktPmlzRGlydHkoKTsKLSAgICAgICAgYm9vbCBkaXJ0eTIgPSBw
cm9wZXJ0eTIob3duZXIpLT5pc0RpcnR5KCk7Ci0gICAgICAgIGlmICghKGRpcnR5MSB8fCBkaXJ0
eTIpKQotICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQotICAgICAgICBTdHJpbmcg
c3RyaW5nMSA9IGRpcnR5MSA/ICpwcm9wZXJ0eTEob3duZXIpLT5zeW5jaHJvbml6ZSgpIDogcHJv
cGVydHkxKG93bmVyKS0+YmFzZVZhbEFzU3RyaW5nKCk7Ci0gICAgICAgIFN0cmluZyBzdHJpbmcy
ID0gZGlydHkyID8gKnByb3BlcnR5Mihvd25lciktPnN5bmNocm9uaXplKCkgOiBwcm9wZXJ0eTIo
b3duZXIpLT5iYXNlVmFsQXNTdHJpbmcoKTsKKyAgICAgICAgU3RyaW5nIHN0cmluZzEgPSBwcm9w
ZXJ0eTEob3duZXIpLT5iYXNlVmFsQXNTdHJpbmcoKTsKKyAgICAgICAgU3RyaW5nIHN0cmluZzIg
PSBwcm9wZXJ0eTIob3duZXIpLT5iYXNlVmFsQXNTdHJpbmcoKTsKICAgICAgICAgcmV0dXJuIHN0
cmluZzEgPT0gc3RyaW5nMiA/IHN0cmluZzEgOiBzdHJpbmcxICsgIiwgIiArIHN0cmluZzI7CiAg
ICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmlt
YXRlZFZhbHVlUHJvcGVydHkuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0Fu
aW1hdGVkVmFsdWVQcm9wZXJ0eS5oCmluZGV4IGRmZGIxNzFhMGNiODNmYzc1OTYwNTllNzYwNGE3
ZmQ4OTM1MWY1MjUuLjdmOTY1MjVhYjkzYjY0Y2YzN2NjYTUyYWY0N2RmYjRlNmMwMWFmOGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkVmFsdWVQ
cm9wZXJ0eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVk
VmFsdWVQcm9wZXJ0eS5oCkBAIC04NCw5ICs4NCw3IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICAv
LyBNYW5hZ2luZyB0aGUgcmVsYXRpb25zaGlwIHdpdGggdGhlIG93bmVyLgotICAgIHZvaWQgc2V0
RGlydHkoKSBvdmVycmlkZSB7IG1fYmFzZVZhbC0+c2V0RGlydHkoKTsgfQotICAgIGJvb2wgaXNE
aXJ0eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fYmFzZVZhbC0+aXNEaXJ0eSgpOyB9Ci0g
ICAgT3B0aW9uYWw8U3RyaW5nPiBzeW5jaHJvbml6ZSgpIG92ZXJyaWRlIHsgcmV0dXJuIG1fYmFz
ZVZhbC0+c3luY2hyb25pemUoKTsgfQorICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gYmFzZVZhbEFzU3RyaW5nKCk7IH0KIAogICAgIC8vIFVzZWQgYnkg
UmVuZGVyU1ZHRWxlbWVudHMgYW5kIER1bXBSZW5kZXJUcmVlLgogICAgIGNvbnN0IFZhbHVlVHlw
ZSYgY3VycmVudFZhbHVlKCkgY29uc3QKQEAgLTEzMSwyNiArMTI5LDI0IEBAIHByb3RlY3RlZDoK
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+CiAgICAgU1ZHQW5pbWF0ZWRWYWx1
ZVByb3BlcnR5KFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50LCBBcmd1bWVudHMmJi4uLiBhcmd1
bWVudHMpCiAgICAgICAgIDogU1ZHQW5pbWF0ZWRQcm9wZXJ0eShjb250ZXh0RWxlbWVudCkKLSAg
ICAgICAgLCBtX2Jhc2VWYWwoUHJvcGVydHlUeXBlOjpjcmVhdGUodGhpcywgU1ZHUHJvcGVydHlB
Y2Nlc3M6OlJlYWRXcml0ZSwgVmFsdWVUeXBlKHN0ZDo6Zm9yd2FyZDxBcmd1bWVudHM+KGFyZ3Vt
ZW50cykuLi4pKSkKLSAgICB7Ci0gICAgfQotCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJn
dW1lbnRzPgotICAgIFNWR0FuaW1hdGVkVmFsdWVQcm9wZXJ0eShTVkdFbGVtZW50KiBjb250ZXh0
RWxlbWVudCwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzLCBBcmd1bWVudHMmJi4uLiBhcmd1bWVu
dHMpCi0gICAgICAgIDogU1ZHQW5pbWF0ZWRQcm9wZXJ0eShjb250ZXh0RWxlbWVudCkKLSAgICAg
ICAgLCBtX2Jhc2VWYWwoUHJvcGVydHlUeXBlOjpjcmVhdGUodGhpcywgYWNjZXNzLCBWYWx1ZVR5
cGUoc3RkOjpmb3J3YXJkPEFyZ3VtZW50cz4oYXJndW1lbnRzKS4uLikpKQorICAgICAgICAsIG1f
YmFzZVZhbChQcm9wZXJ0eVR5cGU6OmNyZWF0ZSh0aGlzLCBWYWx1ZVR5cGUoc3RkOjpmb3J3YXJk
PEFyZ3VtZW50cz4oYXJndW1lbnRzKS4uLikpKQogICAgIHsKICAgICB9CiAKICAgICBSZWZQdHI8
UHJvcGVydHlUeXBlPiYgZW5zdXJlQW5pbVZhbCgpCiAgICAgewogICAgICAgICBpZiAoIW1fYW5p
bVZhbCkKLSAgICAgICAgICAgIG1fYW5pbVZhbCA9IFByb3BlcnR5VHlwZTo6Y3JlYXRlKHRoaXMs
IFNWR1Byb3BlcnR5QWNjZXNzOjpSZWFkT25seSwgbV9iYXNlVmFsLT52YWx1ZSgpKTsKKyAgICAg
ICAgICAgIG1fYW5pbVZhbCA9IFByb3BlcnR5VHlwZTo6Y3JlYXRlKHRoaXMsIG1fYmFzZVZhbC0+
dmFsdWUoKSk7CiAgICAgICAgIHJldHVybiBtX2FuaW1WYWw7CiAgICAgfQogCisgICAgYm9vbCBp
c1Byb3BlcnR5UmVhZE9ubHkoY29uc3QgRE9NTGl2ZVByb3BlcnR5JiBwcm9wZXJ0eSkgY29uc3Qg
b3ZlcnJpZGUKKyAgICB7CisgICAgICAgIHJldHVybiBtX2FuaW1WYWwgPT0gJnByb3BlcnR5Owor
ICAgIH0KKwogICAgIC8vIENhbGxlZCB3aGVuIG1fYmFzZVZhbCBjaGFuZ2VzLgotICAgIHZvaWQg
Y29tbWl0UHJvcGVydHlDaGFuZ2UoU1ZHUHJvcGVydHkqIHByb3BlcnR5KSBvdmVycmlkZQorICAg
IHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoRE9NTGl2ZVByb3BlcnR5KiBwcm9wZXJ0eSkgb3Zl
cnJpZGUKICAgICB7CiAgICAgICAgIGlmIChtX2FuaW1WYWwpCiAgICAgICAgICAgICBtX2FuaW1W
YWwtPnNldFZhbHVlKG1fYmFzZVZhbC0+dmFsdWUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRpb25BZGRpdGl2ZUxpc3RGdW5jdGlvbkltcGwu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGlvbkFkZGl0aXZlTGlz
dEZ1bmN0aW9uSW1wbC5oCmluZGV4IDYxYTFkMDM2Y2ZkYTUyYmE0ZWE4YjcxZTUxYmIyYzdiMTdh
ZGJjYjYuLjI5NTE1Mjk3MTYyN2I3ODIyMzcwODM1NmFhZTUxYmFiNjY2YTQxZTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGlvbkFkZGl0aXZlTGlz
dEZ1bmN0aW9uSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0Fu
aW1hdGlvbkFkZGl0aXZlTGlzdEZ1bmN0aW9uSW1wbC5oCkBAIC0xNzYsMjkgKzE3NiwyOSBAQCBw
dWJsaWM6CiAgICAgICAgIGF1dG8mIGFuaW1hdGVkSXRlbXMgPSBhbmltYXRlZC0+aXRlbXMoKTsK
IAogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdG9JdGVtcy5zaXplKCk7ICsraSkg
ewotICAgICAgICAgICAgRmxvYXRQb2ludCBmcm9tID0gaSA8IGZyb21JdGVtcy5zaXplKCkgPyBm
cm9tSXRlbXNbaV0tPnZhbHVlKCkgOiBGbG9hdFBvaW50KCk7Ci0gICAgICAgICAgICBGbG9hdFBv
aW50IHRvID0gdG9JdGVtc1tpXS0+dmFsdWUoKTsKLSAgICAgICAgICAgIEZsb2F0UG9pbnQgdG9B
dEVuZE9mRHVyYXRpb24gPSBpIDwgdG9BdEVuZE9mRHVyYXRpb25JdGVtcy5zaXplKCkgPyB0b0F0
RW5kT2ZEdXJhdGlvbkl0ZW1zW2ldLT52YWx1ZSgpIDogRmxvYXRQb2ludCgpOwotICAgICAgICAg
ICAgRmxvYXRQb2ludCYgYW5pbWF0ZWQgPSBhbmltYXRlZEl0ZW1zW2ldLT52YWx1ZSgpOworICAg
ICAgICAgICAgRmxvYXRQb2ludCBmcm9tID0gaSA8IGZyb21JdGVtcy5zaXplKCkgPyBGbG9hdFBv
aW50KGZyb21JdGVtc1tpXS0+eCgpLCBmcm9tSXRlbXNbaV0tPnkoKSkgOiBGbG9hdFBvaW50KCk7
CisgICAgICAgICAgICBGbG9hdFBvaW50IHRvID0gRmxvYXRQb2ludCh0b0l0ZW1zW2ldLT54KCks
IHRvSXRlbXNbaV0tPnkoKSk7CisgICAgICAgICAgICBGbG9hdFBvaW50IHRvQXRFbmRPZkR1cmF0
aW9uID0gaSA8IHRvQXRFbmRPZkR1cmF0aW9uSXRlbXMuc2l6ZSgpID8gRmxvYXRQb2ludCh0b0F0
RW5kT2ZEdXJhdGlvbkl0ZW1zW2ldLT54KCksIHRvQXRFbmRPZkR1cmF0aW9uSXRlbXNbaV0tPnko
KSkgOiBGbG9hdFBvaW50KCk7CisgICAgICAgICAgICBGbG9hdFBvaW50IGFuaW1hdGVkID0gRmxv
YXRQb2ludChhbmltYXRlZEl0ZW1zW2ldLT54KCksIGFuaW1hdGVkSXRlbXNbaV0tPnkoKSk7CiAK
LSAgICAgICAgICAgIGZsb2F0IGFuaW1hdGVkWCA9IEJhc2U6OmFuaW1hdGUocHJvZ3Jlc3MsIHJl
cGVhdENvdW50LCBmcm9tLngoKSwgdG8ueCgpLCB0b0F0RW5kT2ZEdXJhdGlvbi54KCksIGFuaW1h
dGVkLngoKSk7Ci0gICAgICAgICAgICBmbG9hdCBhbmltYXRlZFkgPSBCYXNlOjphbmltYXRlKHBy
b2dyZXNzLCByZXBlYXRDb3VudCwgZnJvbS55KCksIHRvLnkoKSwgdG9BdEVuZE9mRHVyYXRpb24u
eSgpLCBhbmltYXRlZC55KCkpOwotCi0gICAgICAgICAgICBhbmltYXRlZCA9IHsgYW5pbWF0ZWRY
LCBhbmltYXRlZFkgfTsKKyAgICAgICAgICAgIGFuaW1hdGVkSXRlbXNbaV0tPnNldFgoQmFzZTo6
YW5pbWF0ZShwcm9ncmVzcywgcmVwZWF0Q291bnQsIGZyb20ueCgpLCB0by54KCksIHRvQXRFbmRP
ZkR1cmF0aW9uLngoKSwgYW5pbWF0ZWQueCgpKSk7CisgICAgICAgICAgICBhbmltYXRlZEl0ZW1z
W2ldLT5zZXRZKEJhc2U6OmFuaW1hdGUocHJvZ3Jlc3MsIHJlcGVhdENvdW50LCBmcm9tLnkoKSwg
dG8ueSgpLCB0b0F0RW5kT2ZEdXJhdGlvbi55KCksIGFuaW1hdGVkLnkoKSkpOwogICAgICAgICB9
CiAgICAgfQogCiBwcml2YXRlOgogICAgIHZvaWQgYWRkRnJvbUFuZFRvVmFsdWVzKFNWR0VsZW1l
bnQqKSBvdmVycmlkZQogICAgIHsKLSAgICAgICAgY29uc3QgVmVjdG9yPFJlZjxTVkdQb2ludD4+
JiBmcm9tSXRlbXMgPSBtX2Zyb20tPml0ZW1zKCk7Ci0gICAgICAgIFZlY3RvcjxSZWY8U1ZHUG9p
bnQ+PiYgdG9JdGVtcyA9IG1fdG8tPml0ZW1zKCk7CisgICAgICAgIGNvbnN0IGF1dG8mIGZyb21J
dGVtcyA9IG1fZnJvbS0+aXRlbXMoKTsKKyAgICAgICAgYXV0byYgdG9JdGVtcyA9IG1fdG8tPml0
ZW1zKCk7CiAKICAgICAgICAgaWYgKCFmcm9tSXRlbXMuc2l6ZSgpIHx8IGZyb21JdGVtcy5zaXpl
KCkgIT0gdG9JdGVtcy5zaXplKCkpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IGZyb21JdGVtcy5zaXplKCk7ICsraSkKLSAgICAgICAgICAg
IHRvSXRlbXNbaV0tPnNldFZhbHVlKGZyb21JdGVtc1tpXS0+dmFsdWUoKSArIHRvSXRlbXNbaV0t
PnZhbHVlKCkpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZnJvbUl0ZW1zLnNp
emUoKTsgKytpKSB7CisgICAgICAgICAgICB0b0l0ZW1zW2ldLT5zZXRYKGZyb21JdGVtc1tpXS0+
eCgpICsgdG9JdGVtc1tpXS0+eCgpKTsKKyAgICAgICAgICAgIHRvSXRlbXNbaV0tPnNldFkoZnJv
bUl0ZW1zW2ldLT55KCkgKyB0b0l0ZW1zW2ldLT55KCkpOworICAgICAgICB9CiAgICAgfQogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHTWVtYmVyQWNj
ZXNzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR01lbWJlckFjY2Vzc29y
LmgKaW5kZXggZjdiYmE2YWUwYTBlZWFiYjZlNjE4N2E1ODEwNGY3MjEyOGFjYWFmYS4uZTU5Nzc4
MDU3NjA0MTkxMzI3YzI3NDU4OWQ2MmFmNTc2N2JiYjNkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHTWVtYmVyQWNjZXNzb3IuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvcHJvcGVydGllcy9TVkdNZW1iZXJBY2Nlc3Nvci5oCkBAIC0zMCw4ICszMCw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRE9NTGl2ZVByb3BlcnR5OwogY2xhc3Mg
U1ZHQW5pbWF0ZWRQcm9wZXJ0eTsKLWNsYXNzIFNWR1Byb3BlcnR5OwogCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBPd25lclR5cGU+CiBjbGFzcyBTVkdNZW1iZXJBY2Nlc3NvciB7CkBAIC00Myw5ICs0Myw5
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNBbmltYXRlZFByb3BlcnR5KCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNBbmltYXRlZExlbmd0aCgpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKLSAgICB2aXJ0dWFsIGJvb2wgbWF0Y2hlcyhjb25zdCBP
d25lclR5cGUmLCBjb25zdCBTVkdQcm9wZXJ0eSYpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Cisg
ICAgdmlydHVhbCBib29sIG1hdGNoZXMoY29uc3QgT3duZXJUeXBlJiwgY29uc3QgRE9NTGl2ZVBy
b3BlcnR5JikgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgbWF0Y2hl
cyhjb25zdCBPd25lclR5cGUmLCBjb25zdCBTVkdBbmltYXRlZFByb3BlcnR5JikgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUo
Y29uc3QgT3duZXJUeXBlJikgY29uc3QgeyByZXR1cm4gV1RGOjpudWxsb3B0OyB9CisgICAgdmly
dHVhbCBTdHJpbmcgdmFsdWVBc1N0cmluZyhjb25zdCBPd25lclR5cGUmKSBjb25zdCB7IHJldHVy
biBlbXB0eVN0cmluZygpOyB9CiAKICAgICB2aXJ0dWFsIFJlZlB0cjxTVkdBdHRyaWJ1dGVBbmlt
YXRvcj4gY3JlYXRlQW5pbWF0b3IoT3duZXJUeXBlJiwgY29uc3QgUXVhbGlmaWVkTmFtZSYsIEFu
aW1hdGlvbk1vZGUsIENhbGNNb2RlLCBib29sLCBib29sKSBjb25zdCB7IHJldHVybiBudWxscHRy
OyB9CiAgICAgdmlydHVhbCB2b2lkIGFwcGVuZEFuaW1hdGVkSW5zdGFuY2UoT3duZXJUeXBlJiwg
U1ZHQXR0cmlidXRlQW5pbWF0b3ImKSBjb25zdCB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1BvaW50ZXJNZW1iZXJBY2Nlc3Nvci5oIGIvU291cmNlL1dl
YkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUG9pbnRlck1lbWJlckFjY2Vzc29yLmgKaW5kZXggOGUy
Zjc2ZGNhYjRlOTBmYjM4ZWIzMzk2OWVhNjVjMDcwMjI0NTM4Ny4uYWY1M2Q2YzU2ZmQ4Njk3ZTMw
OTVlMDFjYmFhOTllODlkNzM2ZDIyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3By
b3BlcnRpZXMvU1ZHUG9pbnRlck1lbWJlckFjY2Vzc29yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL3Byb3BlcnRpZXMvU1ZHUG9pbnRlck1lbWJlckFjY2Vzc29yLmgKQEAgLTQ3LDkgKzQ3LDkg
QEAgcHVibGljOgogICAgICAgICBwcm9wZXJ0eShvd25lciktPmRldGFjaCgpOwogICAgIH0KIAot
ICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUoY29uc3QgT3duZXJUeXBlJiBvd25lcikg
Y29uc3Qgb3ZlcnJpZGUKKyAgICBTdHJpbmcgdmFsdWVBc1N0cmluZyhjb25zdCBPd25lclR5cGUm
IG93bmVyKSBjb25zdCBvdmVycmlkZQogICAgIHsKLSAgICAgICAgcmV0dXJuIHByb3BlcnR5KG93
bmVyKS0+c3luY2hyb25pemUoKTsKKyAgICAgICAgcmV0dXJuIHByb3BlcnR5KG93bmVyKS0+dmFs
dWVBc1N0cmluZygpOwogICAgIH0KIAogcHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHkuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9w
cm9wZXJ0aWVzL1NWR1Byb3BlcnR5LmgKaW5kZXggY2U2NWNiMTEwZDFmYjQ2NmUyMjllYzc5Yzlk
ZDAxN2U4NjEyOTk2Ny4uNzZhOTdjNTk5ZWM4ZTNjNGNlM2MwNGJlNjFkNjFhMDg5OGM0N2NkZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHkuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eS5oCkBAIC0yMCw4
MyArMjAsMjEgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJTVkdQcm9wZXJ0eU93bmVy
LmgiCi0jaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisjaW5jbHVkZSAiRE9NTGl2ZVByb3BlcnR5
LmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIGNsYXNzIFNWR1Byb3BlcnR5
QWNjZXNzIDogdWludDhfdCB7IFJlYWRXcml0ZSwgUmVhZE9ubHkgfTsKLWVudW0gY2xhc3MgU1ZH
UHJvcGVydHlTdGF0ZSA6IHVpbnQ4X3QgeyBDbGVhbiwgRGlydHkgfTsKLQotY2xhc3MgU1ZHUHJv
cGVydHkgOiBwdWJsaWMgUmVmQ291bnRlZDxTVkdQcm9wZXJ0eT4geworY2xhc3MgU1ZHUHJvcGVy
dHkgOiBwdWJsaWMgRE9NTGl2ZVByb3BlcnR5LCBwdWJsaWMgUmVmQ291bnRlZDxTVkdQcm9wZXJ0
eT4gewogcHVibGljOgogICAgIHZpcnR1YWwgflNWR1Byb3BlcnR5KCkgPSBkZWZhdWx0OwogCi0g
ICAgLy8gTWFuYWdpbmcgdGhlIHJlbGF0aW9uc2hpcCB3aXRoIHRoZSBvd25lci4KLSAgICBib29s
IGlzQXR0YWNoZWQoKSBjb25zdCB7IHJldHVybiBtX293bmVyOyB9Ci0gICAgdm9pZCBhdHRhY2go
U1ZHUHJvcGVydHlPd25lciogb3duZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcykKLSAgICB7
Ci0gICAgICAgIEFTU0VSVCghbV9vd25lcik7Ci0gICAgICAgIEFTU0VSVChtX3N0YXRlID09IFNW
R1Byb3BlcnR5U3RhdGU6OkNsZWFuKTsKLSAgICAgICAgbV9vd25lciA9IG93bmVyOwotICAgICAg
ICBtX2FjY2VzcyA9IGFjY2VzczsKLSAgICB9Ci0KLSAgICB2b2lkIGRldGFjaCgpCi0gICAgewot
ICAgICAgICBtX293bmVyID0gbnVsbHB0cjsKLSAgICAgICAgbV9hY2Nlc3MgPSBTVkdQcm9wZXJ0
eUFjY2Vzczo6UmVhZFdyaXRlOwotICAgICAgICBtX3N0YXRlID0gU1ZHUHJvcGVydHlTdGF0ZTo6
Q2xlYW47Ci0gICAgfQotCi0gICAgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBj
b25zdAotICAgIHsKLSAgICAgICAgaWYgKCFtX293bmVyKQotICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0gICAgICAgIHJldHVybiBtX293bmVyLT5hdHRyaWJ1dGVDb250ZXh0RWxlbWVudCgp
OwotICAgIH0KLQotICAgIHZvaWQgY29tbWl0Q2hhbmdlKCkKLSAgICB7Ci0gICAgICAgIGlmICgh
bV9vd25lcikKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgbV9vd25lci0+Y29tbWl0UHJv
cGVydHlDaGFuZ2UodGhpcyk7Ci0gICAgfQotCi0gICAgLy8gRE9NIGFjY2Vzcy4KLSAgICBTVkdQ
cm9wZXJ0eUFjY2VzcyBhY2Nlc3MoKSBjb25zdCB7IHJldHVybiBtX2FjY2VzczsgfQotICAgIGJv
b2wgaXNSZWFkT25seSgpIGNvbnN0IHsgcmV0dXJuIG1fYWNjZXNzID09IFNWR1Byb3BlcnR5QWNj
ZXNzOjpSZWFkT25seTsgfQotCi0gICAgLy8gU3luY2hyb25pemluZyB0aGUgU1ZHIGF0dHJpYnV0
ZSBhbmQgaXRzIHJlZmxlY3Rpb24gaGVyZS4KLSAgICBib29sIGlzRGlydHkoKSBjb25zdCB7IHJl
dHVybiBtX3N0YXRlID09IFNWR1Byb3BlcnR5U3RhdGU6OkRpcnR5OyB9Ci0gICAgdm9pZCBzZXRE
aXJ0eSgpIHsgbV9zdGF0ZSA9IFNWR1Byb3BlcnR5U3RhdGU6OkRpcnR5OyB9Ci0gICAgT3B0aW9u
YWw8U3RyaW5nPiBzeW5jaHJvbml6ZSgpCi0gICAgewotICAgICAgICBpZiAobV9zdGF0ZSA9PSBT
VkdQcm9wZXJ0eVN0YXRlOjpDbGVhbikKLSAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
Ci0gICAgICAgIG1fc3RhdGUgPSBTVkdQcm9wZXJ0eVN0YXRlOjpDbGVhbjsKLSAgICAgICAgcmV0
dXJuIHZhbHVlQXNTdHJpbmcoKTsKLSAgICB9Ci0KICAgICAvLyBUaGlzIGlzIHVzZWQgd2hlbiBj
YWxsaW5nIHNldEF0dHJpYnV0ZSgpLgogICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVlQXNTdHJpbmco
KSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9CiAKLSAgICAvLyBWaXN1YWwgU3R1ZGlv
IGRvZXNuJ3Qgc2VlbSB0byBzZWUgdGhlc2UgcHJpdmF0ZSBjb25zdHJ1Y3RvcnMgZnJvbSBzdWJj
bGFzc2VzLgotICAgIC8vIEZJWE1FOiBTZWUgd2hhdCBpdCB0YWtlcyB0byByZW1vdmUgdGhpcyBo
YWNrLgotI2lmICFDT01QSUxFUihNU1ZDKQogcHJvdGVjdGVkOgotI2VuZGlmCi0gICAgU1ZHUHJv
cGVydHkoU1ZHUHJvcGVydHlPd25lciogb3duZXIgPSBudWxscHRyLCBTVkdQcm9wZXJ0eUFjY2Vz
cyBhY2Nlc3MgPSBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZFdyaXRlKQotICAgICAgICA6IG1fb3du
ZXIob3duZXIpCi0gICAgICAgICwgbV9hY2Nlc3MoYWNjZXNzKQotICAgIHsKLSAgICB9Ci0KLSAg
ICBTVkdQcm9wZXJ0eU93bmVyKiBtX293bmVyIHsgbnVsbHB0ciB9OwotICAgIFNWR1Byb3BlcnR5
QWNjZXNzIG1fYWNjZXNzIHsgU1ZHUHJvcGVydHlBY2Nlc3M6OlJlYWRXcml0ZSB9OwotICAgIFNW
R1Byb3BlcnR5U3RhdGUgbV9zdGF0ZSB7IFNWR1Byb3BlcnR5U3RhdGU6OkNsZWFuIH07CisgICAg
dXNpbmcgRE9NTGl2ZVByb3BlcnR5OjpET01MaXZlUHJvcGVydHk7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9T
VkdQcm9wZXJ0eUFjY2Vzc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQ
cm9wZXJ0eUFjY2Vzc29yLmgKaW5kZXggZmY4YzRjZGU2ZGQwZjNjYWZiYzhmMjdiMjcwMjk3MGUz
NWY0ODc2NC4uOGQxMjgxODI3ZDRmYjk4ODkzYmZmMWYyNDllMGIzNTY4ODIyNzVmNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlBY2Nlc3Nvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5QWNjZXNzb3Iu
aApAQCAtNDAsNyArNDAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdXNpbmcgQmFzZTo6cHJvcGVydHk7
CiAgICAgdXNpbmcgQmFzZTo6c2luZ2xldG9uOwogCi0gICAgYm9vbCBtYXRjaGVzKGNvbnN0IE93
bmVyVHlwZSYgb3duZXIsIGNvbnN0IFNWR1Byb3BlcnR5JiBwcm9wZXJ0eSkgY29uc3Qgb3ZlcnJp
ZGUKKyAgICBib29sIG1hdGNoZXMoY29uc3QgT3duZXJUeXBlJiBvd25lciwgY29uc3QgRE9NTGl2
ZVByb3BlcnR5JiBwcm9wZXJ0eSkgY29uc3Qgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIHJldHVy
biB0aGlzLT5wcm9wZXJ0eShvd25lcikucHRyKCkgPT0gJnByb3BlcnR5OwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5TGlzdC5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlMaXN0LmgKaW5kZXggY2Ji
MDBhZjEwMzAyNTlmYTNjMDQxYTNmMGYyYWI3ODczYzdkZDNjZC4uYzEzNDY0Mzg4NWYxYmVhYWZi
OTdhN2I3ZjVkNGVlMGZkODIzZmMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3By
b3BlcnRpZXMvU1ZHUHJvcGVydHlMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3Bl
cnRpZXMvU1ZHUHJvcGVydHlMaXN0LmgKQEAgLTMwLDcgKzMwLDcgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgUHJvcGVydHlUeXBlPgotY2xhc3MgU1ZHUHJvcGVy
dHlMaXN0IDogcHVibGljIFNWR0xpc3Q8UmVmPFByb3BlcnR5VHlwZT4+LCBwdWJsaWMgU1ZHUHJv
cGVydHlPd25lciB7CitjbGFzcyBTVkdQcm9wZXJ0eUxpc3QgOiBwdWJsaWMgU1ZHTGlzdDxSZWY8
UHJvcGVydHlUeXBlPj4sIHB1YmxpYyBET01MaXZlUHJvcGVydHlPYnNlcnZlciB7CiBwdWJsaWM6
CiAgICAgdXNpbmcgQmFzZUxpc3QgPSBTVkdMaXN0PFJlZjxQcm9wZXJ0eVR5cGU+PjsKICAgICB1
c2luZyBCYXNlTGlzdDo6aXNFbXB0eTsKQEAgLTQyLDEzICs0MiwxMiBAQCBwdWJsaWM6CiAjaWYg
IUNPTVBJTEVSKE1TVkMpCiBwcm90ZWN0ZWQ6CiAjZW5kaWYKLSAgICB1c2luZyBTVkdQcm9wZXJ0
eU93bmVyOjpTVkdQcm9wZXJ0eU93bmVyOworICAgIHVzaW5nIERPTUxpdmVQcm9wZXJ0eU9ic2Vy
dmVyOjpET01MaXZlUHJvcGVydHlPYnNlcnZlcjsKICAgICB1c2luZyBCYXNlTGlzdDo6bV9pdGVt
czsKLSAgICB1c2luZyBCYXNlTGlzdDo6bV9hY2Nlc3M7Ci0gICAgdXNpbmcgQmFzZUxpc3Q6Om1f
b3duZXI7CisgICAgdXNpbmcgQmFzZUxpc3Q6Om1fb2JzZXJ2ZXI7CiAKLSAgICBTVkdQcm9wZXJ0
eUxpc3QoU1ZHUHJvcGVydHlPd25lciogb3duZXIgPSBudWxscHRyLCBTVkdQcm9wZXJ0eUFjY2Vz
cyBhY2Nlc3MgPSBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZFdyaXRlKQotICAgICAgICA6IEJhc2VM
aXN0KG93bmVyLCBhY2Nlc3MpCisgICAgU1ZHUHJvcGVydHlMaXN0KERPTUxpdmVQcm9wZXJ0eU9i
c2VydmVyKiBvYnNlcnZlciA9IG51bGxwdHIpCisgICAgICAgIDogQmFzZUxpc3Qob2JzZXJ2ZXIp
CiAgICAgewogICAgIH0KIApAQCAtNjQsMTIgKzYzLDE3IEBAIHByb3RlY3RlZDoKICAgICAgICAg
ICAgIGl0ZW0tPmRldGFjaCgpOwogICAgIH0KIAotICAgIFNWR1Byb3BlcnR5T3duZXIqIG93bmVy
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9vd25lcjsgfQorICAgIERPTUxpdmVQcm9wZXJ0
eU9ic2VydmVyKiBvYnNlcnZlcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fb2JzZXJ2ZXI7
IH0KIAotICAgIHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoU1ZHUHJvcGVydHkqKSBvdmVycmlk
ZQorICAgIGJvb2wgaXNQcm9wZXJ0eVJlYWRPbmx5KGNvbnN0IERPTUxpdmVQcm9wZXJ0eSYpIGNv
bnN0IG92ZXJyaWRlCiAgICAgewotICAgICAgICBpZiAob3duZXIoKSkKLSAgICAgICAgICAgIG93
bmVyKCktPmNvbW1pdFByb3BlcnR5Q2hhbmdlKHRoaXMpOworICAgICAgICByZXR1cm4gb2JzZXJ2
ZXIoKSAmJiBvYnNlcnZlcigpLT5pc1Byb3BlcnR5UmVhZE9ubHkoKnRoaXMpOworICAgIH0KKwor
ICAgIHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoRE9NTGl2ZVByb3BlcnR5Kikgb3ZlcnJpZGUK
KyAgICB7CisgICAgICAgIGlmIChvYnNlcnZlcigpKQorICAgICAgICAgICAgb2JzZXJ2ZXIoKS0+
Y29tbWl0UHJvcGVydHlDaGFuZ2UodGhpcyk7CiAgICAgfQogCiAgICAgUmVmPFByb3BlcnR5VHlw
ZT4gYXQodW5zaWduZWQgaW5kZXgpIGNvbnN0IG92ZXJyaWRlCkBAIC04OCw3ICs5Miw3IEBAIHBy
b3RlY3RlZDoKICAgICAgICAgICAgIG5ld0l0ZW0gPSBuZXdJdGVtLT5jbG9uZSgpOwogCiAgICAg
ICAgIC8vIFNwZWM6IEF0dGFjaCBuZXdJdGVtIHRvIHRoZSBsaXN0IG9iamVjdC4KLSAgICAgICAg
bmV3SXRlbS0+YXR0YWNoKHRoaXMsIG1fYWNjZXNzKTsKKyAgICAgICAgbmV3SXRlbS0+YXR0YWNo
KHRoaXMpOwogICAgICAgICBtX2l0ZW1zLmluc2VydChpbmRleCwgV1RGTW92ZShuZXdJdGVtKSk7
CiAgICAgICAgIHJldHVybiBhdChpbmRleCk7CiAgICAgfQpAQCAtMTA5LDcgKzExMyw3IEBAIHBy
b3RlY3RlZDoKICAgICAgICAgICAgIGl0ZW0gPSBXVEZNb3ZlKG5ld0l0ZW0pOwogCiAgICAgICAg
IC8vIFNwZWM6IEF0dGFjaCBuZXdJdGVtIHRvIHRoZSBsaXN0IG9iamVjdC4KLSAgICAgICAgaXRl
bS0+YXR0YWNoKHRoaXMsIG1fYWNjZXNzKTsKKyAgICAgICAgaXRlbS0+YXR0YWNoKHRoaXMpOwog
ICAgICAgICByZXR1cm4gYXQoaW5kZXgpOwogICAgIH0KIApAQCAtMTMyLDcgKzEzNiw3IEBAIHBy
b3RlY3RlZDoKICAgICAgICAgICAgIG5ld0l0ZW0gPSBuZXdJdGVtLT5jbG9uZSgpOwogCiAgICAg
ICAgIC8vIFNwZWM6IEF0dGFjaCBuZXdJdGVtIHRvIHRoZSBsaXN0IG9iamVjdC4KLSAgICAgICAg
bmV3SXRlbS0+YXR0YWNoKHRoaXMsIG1fYWNjZXNzKTsKKyAgICAgICAgbmV3SXRlbS0+YXR0YWNo
KHRoaXMpOwogICAgICAgICBtX2l0ZW1zLmFwcGVuZChXVEZNb3ZlKG5ld0l0ZW0pKTsKICAgICAg
ICAgcmV0dXJuIGF0KHNpemUoKSAtIDEpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5T3duZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5T3duZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzk4MThiZTlmODQwYzc2NDUzOThlNjFiNDg5MzgxODYyYTM0NjhmMy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
cHJvcGVydGllcy9TVkdQcm9wZXJ0eU93bmVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE4LTIwMTkgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I3ByYWdtYSBvbmNlCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKLWNsYXNzIFNWR0VsZW1l
bnQ7Ci1jbGFzcyBTVkdQcm9wZXJ0eTsKLQotY2xhc3MgU1ZHUHJvcGVydHlPd25lciB7Ci1wdWJs
aWM6Ci0gICAgdmlydHVhbCB+U1ZHUHJvcGVydHlPd25lcigpID0gZGVmYXVsdDsKLQotICAgIHZp
cnR1YWwgU1ZHUHJvcGVydHlPd25lciogb3duZXIoKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9
Ci0gICAgCi0gICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBhdHRyaWJ1dGVDb250ZXh0RWxl
bWVudCgpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAoIW93bmVyKCkpCi0gICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgcmV0dXJuIG93bmVyKCktPmF0dHJpYnV0ZUNvbnRleHRF
bGVtZW50KCk7Ci0gICAgfQotICAgIAotICAgIHZpcnR1YWwgdm9pZCBjb21taXRQcm9wZXJ0eUNo
YW5nZShTVkdQcm9wZXJ0eSogcHJvcGVydHkpCi0gICAgewotICAgICAgICBpZiAoIW93bmVyKCkp
Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIG93bmVyKCktPmNvbW1pdFByb3BlcnR5Q2hh
bmdlKHByb3BlcnR5KTsKLSAgICB9Ci0gICAgCi1wcm90ZWN0ZWQ6Ci0gICAgU1ZHUHJvcGVydHlP
d25lcigpID0gZGVmYXVsdDsKLX07Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5T3duZXJSZWdpc3RyeS5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5LmgKaW5kZXggYTVmNzEzNjk3
ZWEyYzRjNjAwYmE1MzdkYTI5NDFmNWRhOTllOTc4Yi4uMzE5YTUwODJhNTlkOWRlNWI2MWRmZjIx
YjVlYjM2OGZkMjg3YWM2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRp
ZXMvU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3By
b3BlcnRpZXMvU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5LmgKQEAgLTE3OCw3ICsxNzgsNyBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBRdWFsaWZpZWROYW1l
IHByb3BlcnR5QXR0cmlidXRlTmFtZShjb25zdCBTVkdQcm9wZXJ0eSYgcHJvcGVydHkpIGNvbnN0
IG92ZXJyaWRlCisgICAgUXVhbGlmaWVkTmFtZSBwcm9wZXJ0eUF0dHJpYnV0ZU5hbWUoY29uc3Qg
RE9NTGl2ZVByb3BlcnR5JiBwcm9wZXJ0eSkgY29uc3Qgb3ZlcnJpZGUKICAgICB7CiAgICAgICAg
IFF1YWxpZmllZE5hbWUgYXR0cmlidXRlTmFtZSA9IG51bGxRTmFtZSgpOwogICAgICAgICBlbnVt
ZXJhdGVSZWN1cnNpdmVseShbJl0oY29uc3QgYXV0byYgZW50cnkpIC0+IGJvb2wgewpAQCAtMjEx
LDMzICsyMTEsMjAgQEAgcHVibGljOgogICAgICAgICB9KTsKICAgICB9CiAKLSAgICAvLyBGaW5k
cyB0aGUgcHJvcGVydHkgd2hvc2UgbmFtZSBpcyBhdHRyaWJ1dGVOYW1lIGFuZCByZXR1cm5zIHRo
ZSBzeW5jaHJvbml6ZQotICAgIC8vIHN0cmluZyB0aHJvdWdoIHRoZSBhc3NvY2lhdGVkIFNWR01l
bWJlckFjY2Vzc29yLgotICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgY29uc3Qgb3ZlcnJpZGUKKyAgICAvLyBGaW5kcyB0
aGUgcHJvcGVydHkgd2hvc2UgbmFtZSBpcyBhdHRyaWJ1dGVOYW1lIGFuZCByZXR1cm5zIHRoZSB2
YWx1ZUFzU3RyaW5nCisgICAgLy8gdGhyb3VnaCB0aGUgYXNzb2NpYXRlZCBTVkdNZW1iZXJBY2Nl
c3Nvci4KKyAgICBTdHJpbmcgdmFsdWVBc1N0cmluZyhjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRy
aWJ1dGVOYW1lKSBjb25zdCBvdmVycmlkZQogICAgIHsKLSAgICAgICAgT3B0aW9uYWw8U3RyaW5n
PiB2YWx1ZTsKKyAgICAgICAgU3RyaW5nIHZhbHVlOwogICAgICAgICBlbnVtZXJhdGVSZWN1cnNp
dmVseShbJl0oY29uc3QgYXV0byYgZW50cnkpIC0+IGJvb2wgewogICAgICAgICAgICAgaWYgKCFl
bnRyeS5rZXkubWF0Y2hlcyhhdHRyaWJ1dGVOYW1lKSkKICAgICAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICAgICAgICAgIHZhbHVlID0gZW50cnkudmFsdWUtPnN5bmNocm9uaXplKG1fb3du
ZXIpOworICAgICAgICAgICAgdmFsdWUgPSBlbnRyeS52YWx1ZS0+dmFsdWVBc1N0cmluZyhtX293
bmVyKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfSk7CiAgICAgICAgIHJl
dHVybiB2YWx1ZTsKICAgICB9CiAKLSAgICAvLyBFbnVtZXJhdGUgcmVjdXJzaXZlbHkgdGhlIFNW
R01lbWJlckFjY2Vzc29ycyBvZiB0aGUgT3duZXJUeXBlIGFuZCBhbGwgaXRzIEJhc2VUeXBlcy4K
LSAgICAvLyBDb2xsZWN0IGFsbCB0aGUgcGFpcnMgPEF0dHJpYnV0ZU5hbWUsIFN0cmluZz4gb25s
eSBmb3IgdGhlIGRpcnR5IHByb3BlcnRpZXMuCi0gICAgSGFzaE1hcDxRdWFsaWZpZWROYW1lLCBT
dHJpbmc+IHN5bmNocm9uaXplQWxsQXR0cmlidXRlcygpIGNvbnN0IG92ZXJyaWRlCi0gICAgewot
ICAgICAgICBIYXNoTWFwPFF1YWxpZmllZE5hbWUsIFN0cmluZz4gbWFwOwotICAgICAgICBlbnVt
ZXJhdGVSZWN1cnNpdmVseShbJl0oY29uc3QgYXV0byYgZW50cnkpIC0+IGJvb2wgewotICAgICAg
ICAgICAgaWYgKGF1dG8gc3RyaW5nID0gZW50cnkudmFsdWUtPnN5bmNocm9uaXplKG1fb3duZXIp
KQotICAgICAgICAgICAgICAgIG1hcC5hZGQoZW50cnkua2V5LCAqc3RyaW5nKTsKLSAgICAgICAg
ICAgIHJldHVybiB0cnVlOwotICAgICAgICB9KTsKLSAgICAgICAgcmV0dXJuIG1hcDsKLSAgICB9
Ci0KICAgICBib29sIGlzQW5pbWF0ZWRQcm9wZXJ0eUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiBhdHRyaWJ1dGVOYW1lKSBjb25zdCBvdmVycmlkZQogICAgIHsKICAgICAgICAgYm9vbCBp
c0FuaW1hdGVkUHJvcGVydHlBdHRyaWJ1dGUgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5UmVnaXN0cnkuaCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5UmVnaXN0cnkuaAppbmRleCAyNGZlNjQyMzdl
MmY1ZTVlMWFmZTg1NTEwZjEzNjYyNjJkZjQzNDA0Li5kZTI4ZWI5ZmUxNGE3ODdhNmM1NTFlNGRk
MGY1ODUwMzg3ZTI5YTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGll
cy9TVkdQcm9wZXJ0eVJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRp
ZXMvU1ZHUHJvcGVydHlSZWdpc3RyeS5oCkBAIC0zNywxMCArMzcsOSBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB+U1ZHUHJvcGVydHlSZWdpc3RyeSgpID0gZGVmYXVsdDsKIAogICAgIHZpcnR1YWwg
dm9pZCBkZXRhY2hBbGxQcm9wZXJ0aWVzKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgUXVhbGlm
aWVkTmFtZSBwcm9wZXJ0eUF0dHJpYnV0ZU5hbWUoY29uc3QgU1ZHUHJvcGVydHkmKSBjb25zdCA9
IDA7CisgICAgdmlydHVhbCBRdWFsaWZpZWROYW1lIHByb3BlcnR5QXR0cmlidXRlTmFtZShjb25z
dCBET01MaXZlUHJvcGVydHkmKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBRdWFsaWZpZWROYW1l
IGFuaW1hdGVkUHJvcGVydHlBdHRyaWJ1dGVOYW1lKGNvbnN0IFNWR0FuaW1hdGVkUHJvcGVydHkm
KSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBPcHRpb25hbDxTdHJpbmc+IHN5bmNocm9uaXplKGNv
bnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBIYXNoTWFwPFF1YWxp
ZmllZE5hbWUsIFN0cmluZz4gc3luY2hyb25pemVBbGxBdHRyaWJ1dGVzKCkgY29uc3QgPSAwOwor
ICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVlQXNTdHJpbmcoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNv
bnN0ID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCBpc0FuaW1hdGVkUHJvcGVydHlBdHRyaWJ1dGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNBbmlt
YXRlZFN0eWxlUHJvcGVydHlBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0ID0g
MDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJv
cGVydHkuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHku
aAppbmRleCA5ZjMxZTJkMGY1MzljYzIwMjNiNjNmODcwNjg2ZjBlZDgxZGMyOWNlLi44NTJmMjc0
ZDdiYjMxZTc1YTIyNTA5MTEzYzI3MjY5YTFkNzk5NGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eS5oCkBAIC02NCwxNCArNjQsMTQgQEAg
cHJvdGVjdGVkOgogICAgIH0KIAogICAgIC8vIEJhc2UgYW5kIGRlZmF1bHQgY29uc3RydWN0b3Iu
IERvIG5vdCB1c2UgInVzaW5nIFNWR1Byb3BlcnR5OjpTVkdQcm9wZXJ0eSIgYmVjYXVzZSBvZiBX
aW5kb3dzIGFuZCBHVEsgcG9ydHMuCi0gICAgU1ZHVmFsdWVQcm9wZXJ0eShTVkdQcm9wZXJ0eU93
bmVyKiBvd25lciA9IG51bGxwdHIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcyA9IFNWR1Byb3Bl
cnR5QWNjZXNzOjpSZWFkV3JpdGUpCi0gICAgICAgIDogU1ZHUHJvcGVydHkob3duZXIsIGFjY2Vz
cykKKyAgICBTVkdWYWx1ZVByb3BlcnR5KERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZl
ciA9IG51bGxwdHIpCisgICAgICAgIDogU1ZHUHJvcGVydHkob2JzZXJ2ZXIpCiAgICAgewogICAg
IH0KIAogICAgIC8vIENyZWF0ZSBhbiBpbml0aWFsaXplZCBhbmQgYXR0YWNoZWQgcHJvcGVydHku
Ci0gICAgU1ZHVmFsdWVQcm9wZXJ0eShTVkdQcm9wZXJ0eU93bmVyKiBvd25lciwgU1ZHUHJvcGVy
dHlBY2Nlc3MgYWNjZXNzLCBjb25zdCBQcm9wZXJ0eVR5cGUmIHZhbHVlKQotICAgICAgICA6IFNW
R1Byb3BlcnR5KG93bmVyLCBhY2Nlc3MpCisgICAgU1ZHVmFsdWVQcm9wZXJ0eShET01MaXZlUHJv
cGVydHlPYnNlcnZlciogb2JzZXJ2ZXIsIGNvbnN0IFByb3BlcnR5VHlwZSYgdmFsdWUpCisgICAg
ICAgIDogU1ZHUHJvcGVydHkob2JzZXJ2ZXIpCiAgICAgICAgICwgbV92YWx1ZSh2YWx1ZSkKICAg
ICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZH
VmFsdWVQcm9wZXJ0eUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Zh
bHVlUHJvcGVydHlMaXN0LmgKaW5kZXggMzAxMGMzM2E3NDA4OWJjNDRmYmI0MTBhNTZmNzg1YTlm
NzE3Y2NlZS4uYzViNzNhMGVhNGI5NmZiMWM0YjA0NDNlZDkxMTVhMDk0NGViNTJlMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eUxpc3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5TGlz
dC5oCkBAIC03NSwxNCArNzUsMTQgQEAgcHJvdGVjdGVkOgogICAgIHVzaW5nIEJhc2U6OnJlbW92
ZTsKIAogICAgIC8vIEJhc2UgYW5kIGRlZmF1bHQgY29uc3RydWN0b3IuIERvIG5vdCB1c2UgInVz
aW5nIEJhc2U6OkJhc2UiIGJlY2F1c2Ugb2YgV2luZG93cyBhbmQgR1RLIHBvcnRzLgotICAgIFNW
R1ZhbHVlUHJvcGVydHlMaXN0KFNWR1Byb3BlcnR5T3duZXIqIG93bmVyID0gbnVsbHB0ciwgU1ZH
UHJvcGVydHlBY2Nlc3MgYWNjZXNzID0gU1ZHUHJvcGVydHlBY2Nlc3M6OlJlYWRXcml0ZSkKLSAg
ICAgICAgOiBCYXNlKG93bmVyLCBhY2Nlc3MpCisgICAgU1ZHVmFsdWVQcm9wZXJ0eUxpc3QoRE9N
TGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyID0gbnVsbHB0cikKKyAgICAgICAgOiBCYXNl
KG9ic2VydmVyKQogICAgIHsKICAgICB9CiAKICAgICAvLyBVc2VkIGJ5IFNWR0FuaW1hdGVkUHJv
cGVydHlMaXN0IHdoZW4gY3JlYXRpbmcgaXQgYW5pbVZhbCBmcm9tIGJhc2VWYWwuCi0gICAgU1ZH
VmFsdWVQcm9wZXJ0eUxpc3QoY29uc3QgU1ZHVmFsdWVQcm9wZXJ0eUxpc3QmIG90aGVyLCBTVkdQ
cm9wZXJ0eUFjY2VzcyBhY2Nlc3MgPSBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZFdyaXRlKQotICAg
ICAgICA6IEJhc2Uob3RoZXIub3duZXIoKSwgYWNjZXNzKQorICAgIFNWR1ZhbHVlUHJvcGVydHlM
aXN0KGNvbnN0IFNWR1ZhbHVlUHJvcGVydHlMaXN0JiBvdGhlcikKKyAgICAgICAgOiBCYXNlKG90
aGVyLm9ic2VydmVyKCkpCiAgICAgewogICAgICAgICAvLyBDbG9uZSBhbGwgaXRlbXMuCiAgICAg
ICAgIGZvciAoY29uc3QgYXV0byYgaXRlbSA6IG90aGVyLml0ZW1zKCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvTmF0aXZlRnVuY3Rpb25Q
YXJhbWV0ZXJzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxz
L05hdGl2ZUZ1bmN0aW9uUGFyYW1ldGVycy5qcwppbmRleCA0YjRiYmEyODFlZmRkYWJlNGRhYmNi
ZWM0MmVmNDA3ODE5MTMwYTAwLi5mYmRiOGU0YmVhMjMwNWRjNGNiZWM4YmYxMjA0YmE4YWVhZTY0
MDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2Rl
bHMvTmF0aXZlRnVuY3Rpb25QYXJhbWV0ZXJzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01vZGVscy9OYXRpdmVGdW5jdGlvblBhcmFtZXRlcnMuanMKQEAgLTE1
MzgsMTEgKzE1MzgsNiBAQCBXSS5OYXRpdmVQcm90b3R5cGVGdW5jdGlvblBhcmFtZXRlcnMgPSB7
CiAgICAgICAgIF9fcHJvdG9fXzogbnVsbCwKICAgICB9LAogCi0gICAgU1ZHUG9pbnQ6IHsKLSAg
ICAgICAgbWF0cml4VHJhbnNmb3JtOiAibWF0cml4IiwKLSAgICAgICAgX19wcm90b19fOiBudWxs
LAotICAgIH0sCi0KICAgICBTVkdQb2ludExpc3Q6IHsKICAgICAgICAgYXBwZW5kSXRlbTogIml0
ZW0iLAogICAgICAgICBnZXRJdGVtOiAiaW5kZXgiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQ3ODMwMmE2ZGVhZTMyNGEz
NWYyM2FmZDU5ZGM3ZDU1ZGIzNDc0MDYuLmRjMjVkOWJlZjYxOWI3NmU1ZTY1MjRlZTY0MzdjYzg1
NWI3NjBlYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxOS0xMC0wNyAgU2FpZCBBYm91LUhh
bGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIFtTVkcyXTogUmVtb3Zl
IHRoZSBpbnRlcmZhY2UgU1ZHUG9pbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5MTM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE1ha2UgYWxsIGNoYW5nZXMgd2hpY2ggYXJlIHJlcXVpcmVkIGZvciBj
aGFuZ2luZyBTVkdQb2ludExpc3QgZnJvbSBiZWluZworICAgICAgICBhIGxpc3Qgb2YgU1ZHUG9p
bnQgdG8gYmUgYSBsaXN0IG9mIERPTVBvaW50LgorCisgICAgICAgICogc3ZnL2N1c3RvbS9nbG9i
YWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2dsb2Jh
bC1jb25zdHJ1Y3RvcnMuaHRtbDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3BvbHlsaW5lLXBvaW50
cy1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2RvbS9TVkdQb2ludC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogc3ZnL2RvbS9TVkdQb2ludC5odG1sOgorICAgICAgICAqIHN2Zy9k
b20vU1ZHUG9pbnRMaXN0LWJhc2ljcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2RvbS9T
VkdQb2ludExpc3QtYmFzaWNzLnhodG1sOgorICAgICAgICAqIHN2Zy9kb20vc3ZnMi1pbmhlcml0
YW5jZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2RvbS9zdmcyLWluaGVyaXRhbmNlLmh0
bWw6CisKKzIwMTktMTAtMDcgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxl
LmNvbT4KKworICAgICAgICBNYWtlIHRoZSBTVkcgcHJvcGVydGllcyBvZiBTVkdWaWV3U3BlYyBt
b2RpZmlhYmxlIGJ1dCBkZXRhY2hlZCBwcm9wZXJ0aWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0MTEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHN1cmUgYWxsIHRoZSBwcm9wZXJ0aWVzIG9m
IFNWR1ZpZXdTcGVjIGFyZSBtb2RpZmlhYmxlLgorCisgICAgICAgICogc3ZnL2RvbS9TVkdWaWV3
U3BlYy1kZWZhdWx0cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2RvbS9TVkdWaWV3U3Bl
Yy1kZWZhdWx0cy5odG1sOgorCiAyMDE5LTEwLTA3ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIGZvY3VzIHBzZXVkbyBjbGFzcyBzaG91bGQgbWF0Y2ggYSBzaGFk
b3cgaG9zdCB3aG9zZSBzaGFkb3cgdHJlZSBjb250YWlucyB0aGUgZm9jdXNlZCBlbGVtZW50CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWV4
cGVjdGVkLnR4dAppbmRleCBlNWI2NTE4NTljZGY4ZTdlZjZlZjgzNzJhYTNmZjVlOTVlMWU3ZGQ2
Li5kMzQ1NWVkOWIzYjZiYWRjOGZhMDZmNjFjM2Q1ZjdlNWE2N2M4NmY2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50
eHQKQEAgLTU2LDcgKzU2LDYgQEAgUEFTUyBTVkdVc2VFbGVtZW50LnRvU3RyaW5nKCkgaXMgImZ1
bmN0aW9uIFNWR1VzZUVsZW1lbnQoKSB7XG4gICAgW25hdGl2ZSBjb2RlXVwKIFBBU1MgU1ZHSW1h
Z2VFbGVtZW50LnRvU3RyaW5nKCkgaXMgImZ1bmN0aW9uIFNWR0ltYWdlRWxlbWVudCgpIHtcbiAg
ICBbbmF0aXZlIGNvZGVdXG59IgogUEFTUyBTVkdTd2l0Y2hFbGVtZW50LnRvU3RyaW5nKCkgaXMg
ImZ1bmN0aW9uIFNWR1N3aXRjaEVsZW1lbnQoKSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIKIFBB
U1MgU1ZHU3R5bGVFbGVtZW50LnRvU3RyaW5nKCkgaXMgImZ1bmN0aW9uIFNWR1N0eWxlRWxlbWVu
dCgpIHtcbiAgICBbbmF0aXZlIGNvZGVdXG59IgotUEFTUyBTVkdQb2ludC50b1N0cmluZygpIGlz
ICJmdW5jdGlvbiBTVkdQb2ludCgpIHtcbiAgICBbbmF0aXZlIGNvZGVdXG59IgogUEFTUyBTVkdQ
b2ludExpc3QudG9TdHJpbmcoKSBpcyAiZnVuY3Rpb24gU1ZHUG9pbnRMaXN0KCkge1xuICAgIFtu
YXRpdmUgY29kZV1cbn0iCiBQQVNTIFNWR01hdHJpeC50b1N0cmluZygpIGlzICJmdW5jdGlvbiBT
VkdNYXRyaXgoKSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIKIFBBU1MgU1ZHVHJhbnNmb3JtLnRv
U3RyaW5nKCkgaXMgImZ1bmN0aW9uIFNWR1RyYW5zZm9ybSgpIHtcbiAgICBbbmF0aXZlIGNvZGVd
XG59IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nbG9iYWwtY29uc3RydWN0
b3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMuaHRt
bAppbmRleCAzMmY3MzcxZjA2MzRiZGY2NzYzYzM2M2U5MGQ5ZDMyNTRlYzMxMTUxLi4zZTcwNjQw
ZmVkMTJmMzVjYjViMDVmMzlkOTExODNmOGVlY2E2NzMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMuaHRtbApAQCAtNTIsNyArNTIsNiBAQCBzaG91
bGRCZURlZmluZWQoIlNWR1VzZUVsZW1lbnQiKTsKIHNob3VsZEJlRGVmaW5lZCgiU1ZHSW1hZ2VF
bGVtZW50Iik7CiBzaG91bGRCZURlZmluZWQoIlNWR1N3aXRjaEVsZW1lbnQiKTsKIHNob3VsZEJl
RGVmaW5lZCgiU1ZHU3R5bGVFbGVtZW50Iik7Ci1zaG91bGRCZURlZmluZWQoIlNWR1BvaW50Iik7
CiBzaG91bGRCZURlZmluZWQoIlNWR1BvaW50TGlzdCIpOwogc2hvdWxkQmVEZWZpbmVkKCJTVkdN
YXRyaXgiKTsKIHNob3VsZEJlRGVmaW5lZCgiU1ZHVHJhbnNmb3JtIik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BvbHlsaW5lLXBvaW50cy1jcmFzaC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BvbHlsaW5lLXBvaW50cy1jcmFzaC1leHBlY3RlZC50
eHQKaW5kZXggMmFiOGM0YzIwZGQyY2U5NmQzYTg2OGExZGI2N2RjZmM1YzgyN2NlYi4uZGFiYWE3
MTg0YWU0MzcwYWZiYmFkMDVhYmU2ZjQ1YjFjZWUyOWZiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9wb2x5bGluZS1wb2ludHMtY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3N2Zy9jdXN0b20vcG9seWxpbmUtcG9pbnRzLWNyYXNoLWV4cGVjdGVkLnR4dApA
QCAtMSwyICsxLDIgQEAKLUNhdWdodCBleGNlcHRpb246IFR5cGVFcnJvcjogQXJndW1lbnQgMSAo
J25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuYXBwZW5kSXRlbSBtdXN0IGJlIGFuIGluc3RhbmNl
IG9mIFNWR1BvaW50CitDYXVnaHQgZXhjZXB0aW9uOiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdu
ZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LmFwcGVuZEl0ZW0gbXVzdCBiZSBhbiBpbnN0YW5jZSBv
ZiBET01Qb2ludAogUEFTU0VEIC0tIFdlYktpdCBkaWQgbm90IGNyYXNoIQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQb2ludC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dmcvZG9tL1NWR1BvaW50LWV4cGVjdGVkLnR4dAppbmRleCAxY2Q3OGFhN2JlZmMxOWJmMDQxNGY1
MTE1MDVjMjQ1ZWM0NGVhMjY0Li44YTBhMjdjOTMwMzVjMGExMjhmYjk2MzBiNGU5MTQ4MDQxMGU5
N2MyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BvaW50LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BvaW50LWV4cGVjdGVkLnR4dApAQCAtMjMs
MTcgKzIzLDE3IEBAIFBBU1MgcG9pbnQueSBpcyAwCiBSZXNldCB0byAtNTAsIDEwMAogCiBDaGVj
ayAnbWF0cml4VHJhbnNmb3JtJyBtZXRob2QgLSBtdWx0aXBseSB3aXRoIC0xLDAsMCwyLDEwLDEw
IG1hdHJpeCwgc2hvdWxkIGZsaXAgeCBjb29yZGluYXRlLCBtdWx0aXBseSB5IGJ5IHR3byBhbmQg
dHJhbnNsYXRlIGVhY2ggY29vcmRpbmF0ZSBieSAxMAotUEFTUyAobmV3UG9pbnQgPSBwb2ludC5t
YXRyaXhUcmFuc2Zvcm0oY3RtKSkudG9TdHJpbmcoKSBpcyAiW29iamVjdCBTVkdQb2ludF0iCitQ
QVNTIChuZXdQb2ludCA9IHBvaW50Lm1hdHJpeFRyYW5zZm9ybShjdG0pKS50b1N0cmluZygpIGlz
ICJbb2JqZWN0IERPTVBvaW50XSIKIFBBU1MgbmV3UG9pbnQueCBpcyA2MAogUEFTUyBuZXdQb2lu
dC55IGlzIDIxMAogCiBDaGVjayBpbnZhbGlkIGFyZ3VtZW50cyBmb3IgJ21hdHJpeFRyYW5zZm9y
bScKLVBBU1MgcG9pbnQubWF0cml4VHJhbnNmb3JtKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIHBvaW50Lm1hdHJpeFRyYW5zZm9ybSgtMSkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ21hdHJpeCcpIHRvIFNWR1Bv
aW50Lm1hdHJpeFRyYW5zZm9ybSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR01hdHJpeC4KLVBB
U1MgcG9pbnQubWF0cml4VHJhbnNmb3JtKDUpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFy
Z3VtZW50IDEgKCdtYXRyaXgnKSB0byBTVkdQb2ludC5tYXRyaXhUcmFuc2Zvcm0gbXVzdCBiZSBh
biBpbnN0YW5jZSBvZiBTVkdNYXRyaXguCi1QQVNTIHBvaW50Lm1hdHJpeFRyYW5zZm9ybSgnYVN0
cmluZycpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdtYXRyaXgnKSB0
byBTVkdQb2ludC5tYXRyaXhUcmFuc2Zvcm0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdNYXRy
aXguCi1QQVNTIHBvaW50Lm1hdHJpeFRyYW5zZm9ybShwb2ludCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogQXJndW1lbnQgMSAoJ21hdHJpeCcpIHRvIFNWR1BvaW50Lm1hdHJpeFRyYW5zZm9y
bSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR01hdHJpeC4KLVBBU1MgcG9pbnQubWF0cml4VHJh
bnNmb3JtKHN2Z0VsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEg
KCdtYXRyaXgnKSB0byBTVkdQb2ludC5tYXRyaXhUcmFuc2Zvcm0gbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBTVkdNYXRyaXguCitQQVNTIHBvaW50Lm1hdHJpeFRyYW5zZm9ybSgpLnRvU3RyaW5nKCkg
aXMgIltvYmplY3QgRE9NUG9pbnRdIgorUEFTUyBwb2ludC5tYXRyaXhUcmFuc2Zvcm0oLTEpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIHBvaW50Lm1hdHJpeFRy
YW5zZm9ybSg1KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBw
b2ludC5tYXRyaXhUcmFuc2Zvcm0oJ2FTdHJpbmcnKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBUeXBlIGVycm9yLgorUEFTUyBwb2ludC5tYXRyaXhUcmFuc2Zvcm0ocG9pbnQpLnRvU3RyaW5n
KCkgaXMgIltvYmplY3QgRE9NUG9pbnRdIgorUEFTUyBwb2ludC5tYXRyaXhUcmFuc2Zvcm0oc3Zn
RWxlbWVudCkudG9TdHJpbmcoKSBpcyAiW29iamVjdCBET01Qb2ludF0iCiBQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9kb20vU1ZHUG9pbnQuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUG9pbnQu
aHRtbAppbmRleCAwNzdlZjg3MWIzNzk4Y2I4ZWFlNjNmMTIxNzFiNDc3ODZmYTg1OTRjLi5kZmQx
YzliNDc5M2E0ZmJlMmUyMTVmZjgyNDdjYWM1ZDJlOTA4YjBkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdmcvZG9tL1NWR1BvaW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQ
b2ludC5odG1sCkBAIC00NCwxOCArNDQsMTggQEAgY3RtLmEgPSAtMTsKIGN0bS5kID0gMjsKIGN0
bS5lID0gMTA7CiBjdG0uZiA9IDEwOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCIobmV3UG9pbnQg
PSBwb2ludC5tYXRyaXhUcmFuc2Zvcm0oY3RtKSkudG9TdHJpbmcoKSIsICJbb2JqZWN0IFNWR1Bv
aW50XSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCIobmV3UG9pbnQgPSBwb2ludC5tYXRyaXhU
cmFuc2Zvcm0oY3RtKSkudG9TdHJpbmcoKSIsICJbb2JqZWN0IERPTVBvaW50XSIpOwogc2hvdWxk
QmUoIm5ld1BvaW50LngiLCAiNjAiKTsKIHNob3VsZEJlKCJuZXdQb2ludC55IiwgIjIxMCIpOwog
CiBkZWJ1ZygiIik7CiBkZWJ1ZygiQ2hlY2sgaW52YWxpZCBhcmd1bWVudHMgZm9yICdtYXRyaXhU
cmFuc2Zvcm0nIik7Ci1zaG91bGRUaHJvdygicG9pbnQubWF0cml4VHJhbnNmb3JtKCkiKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygicG9pbnQubWF0cml4VHJhbnNmb3JtKCkudG9TdHJpbmcoKSIs
ICJbb2JqZWN0IERPTVBvaW50XSIpOwogc2hvdWxkVGhyb3coInBvaW50Lm1hdHJpeFRyYW5zZm9y
bSgtMSkiKTsKIHNob3VsZFRocm93KCJwb2ludC5tYXRyaXhUcmFuc2Zvcm0oNSkiKTsKIHNob3Vs
ZFRocm93KCJwb2ludC5tYXRyaXhUcmFuc2Zvcm0oJ2FTdHJpbmcnKSIpOwotc2hvdWxkVGhyb3co
InBvaW50Lm1hdHJpeFRyYW5zZm9ybShwb2ludCkiKTsKLXNob3VsZFRocm93KCJwb2ludC5tYXRy
aXhUcmFuc2Zvcm0oc3ZnRWxlbWVudCkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygicG9pbnQu
bWF0cml4VHJhbnNmb3JtKHBvaW50KS50b1N0cmluZygpIiwgIltvYmplY3QgRE9NUG9pbnRdIik7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBvaW50Lm1hdHJpeFRyYW5zZm9ybShzdmdFbGVtZW50
KS50b1N0cmluZygpIiwgIltvYmplY3QgRE9NUG9pbnRdIik7CiAKIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZH
UG9pbnRMaXN0LWJhc2ljcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1Bv
aW50TGlzdC1iYXNpY3MtZXhwZWN0ZWQudHh0CmluZGV4IGFkYzRmZGEyYTZkY2EwZmM5NWFlMWE4
YzEwMGU2OGI5MzFjODI0MjIuLjFkYTIxMDdjYjZlNDYyNjkzMzFjNzNiMjQxM2VkZmRmOTQzNTRi
MjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUG9pbnRMaXN0LWJhc2ljcy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQb2ludExpc3QtYmFzaWNz
LWV4cGVjdGVkLnR4dApAQCAtMTEsNyArMTEsNyBAQCBQQVNTIGR1bXBQb2ludChwb2x5MS5wb2lu
dHMuZ2V0SXRlbSgzKSkgaXMgIng9MCB5PTEwMCIKIFBBU1MgcG9seTEuZ2V0QXR0cmlidXRlKCdw
b2ludHMnKS5mb3JtYXRQb2ludHNBdHRyaWJ1dGUoKSBpcyAiMCAwIDEwMCAwIDEwMCAxMDAgMCAx
MDAiCiAKIENyZWF0aW5nIHBvaW50IHg9MjAwIHk9MTAwCi1QQVNTIChwb2ludCA9IHN2Zy5jcmVh
dGVTVkdQb2ludCgpKS50b1N0cmluZygpIGlzICJbb2JqZWN0IFNWR1BvaW50XSIKK1BBU1MgKHBv
aW50ID0gc3ZnLmNyZWF0ZVNWR1BvaW50KCkpLnRvU3RyaW5nKCkgaXMgIltvYmplY3QgRE9NUG9p
bnRdIgogUEFTUyBwb2ludC54ID0gMjAwIGlzIDIwMAogUEFTUyBwb2ludC55ID0gMTAwIGlzIDEw
MAogCkBAIC0yMCw5ICsyMCw5IEBAIFBBU1MgcG9seTEucG9pbnRzLmluaXRpYWxpemUocG9pbnQp
IGlzIHBvaW50CiBQQVNTIHBvbHkxLnBvaW50cy5udW1iZXJPZkl0ZW1zIGlzIDEKIFBBU1MgZHVt
cFBvaW50KHBvbHkxLnBvaW50cy5nZXRJdGVtKDApKSBpcyAieD0yMDAgeT0xMDAiCiBQQVNTIHBv
bHkxLmdldEF0dHJpYnV0ZSgncG9pbnRzJykuZm9ybWF0UG9pbnRzQXR0cmlidXRlKCkgaXMgIjIw
MCAxMDAiCi1QQVNTIHBvbHkxLnBvaW50cy5pbml0aWFsaXplKHBvbHkxKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5pbml0
aWFsaXplIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9pbnQuCi1QQVNTIHBvbHkxLnBvaW50
cy5pbml0aWFsaXplKDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdu
ZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LmluaXRpYWxpemUgbXVzdCBiZSBhbiBpbnN0YW5jZSBv
ZiBTVkdQb2ludC4KLVBBU1MgcG9seTEucG9pbnRzLmluaXRpYWxpemUoJ2FTdHJpbmcnKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50
TGlzdC5pbml0aWFsaXplIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9pbnQuCitQQVNTIHBv
bHkxLnBvaW50cy5pbml0aWFsaXplKHBvbHkxKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBB
cmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5pbml0aWFsaXplIG11c3QgYmUg
YW4gaW5zdGFuY2Ugb2YgRE9NUG9pbnQuCitQQVNTIHBvbHkxLnBvaW50cy5pbml0aWFsaXplKDAp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZH
UG9pbnRMaXN0LmluaXRpYWxpemUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01Qb2ludC4KK1BB
U1MgcG9seTEucG9pbnRzLmluaXRpYWxpemUoJ2FTdHJpbmcnKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5pbml0aWFsaXpl
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9NUG9pbnQuCiAKIFJlc2V0IHBvaW50cyBhdHRyaWJ1
dGUgdG8gMCAwIDEwMCAwIDEwMCAxMDAgMCAxMDAKIFBBU1MgcG9seTEuc2V0QXR0cmlidXRlKCdw
b2ludHMnLCAnMCAwIDEwMCAwIDEwMCAxMDAgMCAxMDAnKSBpcyB1bmRlZmluZWQuCkBAIC03NSwx
OSArNzUsMTkgQEAgUEFTUyBkdW1wUG9pbnQocG9seTEucG9pbnRzLmdldEl0ZW0oMSkpIGlzICJ4
PTEwMCB5PTAiCiBQQVNTIGR1bXBQb2ludChwb2x5MS5wb2ludHMuZ2V0SXRlbSgyKSkgaXMgIng9
MTAwIHk9MTAwIgogUEFTUyBkdW1wUG9pbnQocG9seTEucG9pbnRzLmdldEl0ZW0oMykpIGlzICJ4
PTAgeT0xMDAiCiBQQVNTIHBvbHkxLmdldEF0dHJpYnV0ZSgncG9pbnRzJykuZm9ybWF0UG9pbnRz
QXR0cmlidXRlKCkgaXMgIjAgMCAxMDAgMCAxMDAgMTAwIDAgMTAwIgotUEFTUyBwb2x5MS5wb2lu
dHMuaW5zZXJ0SXRlbUJlZm9yZSgzMCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJn
dW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuaW5zZXJ0SXRlbUJlZm9yZSBtdXN0
IGJlIGFuIGluc3RhbmNlIG9mIFNWR1BvaW50LgotUEFTUyBwb2x5MS5wb2ludHMuaW5zZXJ0SXRl
bUJlZm9yZSgnYVN0cmluZycsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50
IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0Lmluc2VydEl0ZW1CZWZvcmUgbXVzdCBiZSBh
biBpbnN0YW5jZSBvZiBTVkdQb2ludC4KLVBBU1MgcG9seTEucG9pbnRzLmluc2VydEl0ZW1CZWZv
cmUocG9seTEsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJ
dGVtJykgdG8gU1ZHUG9pbnRMaXN0Lmluc2VydEl0ZW1CZWZvcmUgbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBTVkdQb2ludC4KLVBBU1MgcG9seTEucG9pbnRzLmluc2VydEl0ZW1CZWZvcmUobnVsbCwg
MCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBT
VkdQb2ludExpc3QuaW5zZXJ0SXRlbUJlZm9yZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR1Bv
aW50LgorUEFTUyBwb2x5MS5wb2ludHMuaW5zZXJ0SXRlbUJlZm9yZSgzMCwgMCkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3Qu
aW5zZXJ0SXRlbUJlZm9yZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERPTVBvaW50LgorUEFTUyBw
b2x5MS5wb2ludHMuaW5zZXJ0SXRlbUJlZm9yZSgnYVN0cmluZycsIDApIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0Lmluc2Vy
dEl0ZW1CZWZvcmUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01Qb2ludC4KK1BBU1MgcG9seTEu
cG9pbnRzLmluc2VydEl0ZW1CZWZvcmUocG9seTEsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0Lmluc2VydEl0ZW1CZWZv
cmUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01Qb2ludC4KK1BBU1MgcG9seTEucG9pbnRzLmlu
c2VydEl0ZW1CZWZvcmUobnVsbCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1l
bnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuaW5zZXJ0SXRlbUJlZm9yZSBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIERPTVBvaW50LgogCiBUZXN0IHVuY29tbW9uIGFyZ3VtZW50cyBmb3Ig
cmVwbGFjZUl0ZW0oKQogUEFTUyBwb2x5MS5wb2ludHMucmVwbGFjZUl0ZW0oMzApIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgogUEFTUyBwb2x5MS5wb2lu
dHMucmVwbGFjZUl0ZW0oJ2FTdHJpbmcnKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3Qg
ZW5vdWdoIGFyZ3VtZW50cy4KIFBBU1MgcG9seTEucG9pbnRzLnJlcGxhY2VJdGVtKHBvbHkxKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgcG9s
eTEucG9pbnRzLnJlcGxhY2VJdGVtKG51bGwsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LnJlcGxhY2VJdGVtIG11c3Qg
YmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9pbnQuCi1QQVNTIHBvbHkxLnBvaW50cy5yZXBsYWNlSXRl
bSgnYVN0cmluZycsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdu
ZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LnJlcGxhY2VJdGVtIG11c3QgYmUgYW4gaW5zdGFuY2Ug
b2YgU1ZHUG9pbnQuCi1QQVNTIHBvbHkxLnBvaW50cy5yZXBsYWNlSXRlbShwb2x5MSwgMCkgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2lu
dExpc3QucmVwbGFjZUl0ZW0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdQb2ludC4KLVBBU1Mg
cG9seTEucG9pbnRzLnJlcGxhY2VJdGVtKDEsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LnJlcGxhY2VJdGVtIG11c3Qg
YmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9pbnQuCitQQVNTIHBvbHkxLnBvaW50cy5yZXBsYWNlSXRl
bShudWxsLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRl
bScpIHRvIFNWR1BvaW50TGlzdC5yZXBsYWNlSXRlbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERP
TVBvaW50LgorUEFTUyBwb2x5MS5wb2ludHMucmVwbGFjZUl0ZW0oJ2FTdHJpbmcnLCAwKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50
TGlzdC5yZXBsYWNlSXRlbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERPTVBvaW50LgorUEFTUyBw
b2x5MS5wb2ludHMucmVwbGFjZUl0ZW0ocG9seTEsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LnJlcGxhY2VJdGVtIG11
c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9NUG9pbnQuCitQQVNTIHBvbHkxLnBvaW50cy5yZXBsYWNl
SXRlbSgxLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRl
bScpIHRvIFNWR1BvaW50TGlzdC5yZXBsYWNlSXRlbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERP
TVBvaW50LgogCiBUZXN0IHVuY29tbW9uIGFyZ3VtZW50cyBmb3IgcmVwbGFjZUl0ZW0oKSBhbmQg
eG1sLWRvbSBzeW5jaHJvbml6YXRpb24KIFBBU1MgcG9seTEucG9pbnRzLm51bWJlck9mSXRlbXMg
aXMgNApAQCAtMTQzLDEwICsxNDMsMTAgQEAgUEFTUyBkdW1wUG9pbnQocG9seTEucG9pbnRzLmdl
dEl0ZW0oMCkpIGlzICJ4PTAgeT0xMDAiCiBQQVNTIHBvbHkxLmdldEF0dHJpYnV0ZSgncG9pbnRz
JykuZm9ybWF0UG9pbnRzQXR0cmlidXRlKCkgaXMgIjAgMTAwIgogCiBUZXN0IHVuY29tbW9uIGFy
Z3VtZW50cyBmb3IgYXBwZW5kSXRlbSgpCi1QQVNTIHBvbHkxLnBvaW50cy5hcHBlbmRJdGVtKDMw
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNW
R1BvaW50TGlzdC5hcHBlbmRJdGVtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9pbnQuCi1Q
QVNTIHBvbHkxLnBvaW50cy5hcHBlbmRJdGVtKCdhU3RyaW5nJykgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuYXBwZW5kSXRl
bSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR1BvaW50LgotUEFTUyBwb2x5MS5wb2ludHMuYXBw
ZW5kSXRlbShwb2x5MSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25l
d0l0ZW0nKSB0byBTVkdQb2ludExpc3QuYXBwZW5kSXRlbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9m
IFNWR1BvaW50LgotUEFTUyBwb2x5MS5wb2ludHMuYXBwZW5kSXRlbShudWxsKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5h
cHBlbmRJdGVtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9pbnQuCitQQVNTIHBvbHkxLnBv
aW50cy5hcHBlbmRJdGVtKDMwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAx
ICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5hcHBlbmRJdGVtIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgRE9NUG9pbnQuCitQQVNTIHBvbHkxLnBvaW50cy5hcHBlbmRJdGVtKCdhU3RyaW5nJykg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQ
b2ludExpc3QuYXBwZW5kSXRlbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERPTVBvaW50LgorUEFT
UyBwb2x5MS5wb2ludHMuYXBwZW5kSXRlbShwb2x5MSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuYXBwZW5kSXRlbSBtdXN0
IGJlIGFuIGluc3RhbmNlIG9mIERPTVBvaW50LgorUEFTUyBwb2x5MS5wb2ludHMuYXBwZW5kSXRl
bShudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScp
IHRvIFNWR1BvaW50TGlzdC5hcHBlbmRJdGVtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9NUG9p
bnQuCiBQQVNTIGR1bXBQb2ludChwb2x5MS5wb2ludHMuYXBwZW5kSXRlbShwb2ludCkpIGlzICJ4
PTIwMCB5PTEwMCIKIFBBU1MgcG9seTEucG9pbnRzLm51bWJlck9mSXRlbXMgaXMgMgogUEFTUyBk
dW1wUG9pbnQocG9seTEucG9pbnRzLmdldEl0ZW0oMCkpIGlzICJ4PTAgeT0xMDAiCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BvaW50TGlzdC1iYXNpY3MueGh0bWwgYi9MYXlv
dXRUZXN0cy9zdmcvZG9tL1NWR1BvaW50TGlzdC1iYXNpY3MueGh0bWwKaW5kZXggNmVlNDIxY2Q1
MzU4NjFhMzMwOGFlYzhhOGFlMGVjZmMxMjQ5MGE4OS4uZDEwYjFkMTc5MDk4ZmJhNDAzM2U1MTE2
MDE2YWJmYWQ5OGQxZmNjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQb2lu
dExpc3QtYmFzaWNzLnhodG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUG9pbnRMaXN0
LWJhc2ljcy54aHRtbApAQCAtMzgsNyArMzgsNyBAQAogICAgIHZhciBwb2ludDsKICAgICBkZWJ1
ZygiIik7CiAgICAgZGVidWcoIkNyZWF0aW5nIHBvaW50IHg9MjAwIHk9MTAwIik7Ci0gICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCIocG9pbnQgPSBzdmcuY3JlYXRlU1ZHUG9pbnQoKSkudG9TdHJp
bmcoKSIsICJbb2JqZWN0IFNWR1BvaW50XSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
KHBvaW50ID0gc3ZnLmNyZWF0ZVNWR1BvaW50KCkpLnRvU3RyaW5nKCkiLCAiW29iamVjdCBET01Q
b2ludF0iKTsKICAgICBzaG91bGRCZSgicG9pbnQueCA9IDIwMCIsICIyMDAiKTsKICAgICBzaG91
bGRCZSgicG9pbnQueSA9IDEwMCIsICIxMDAiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3ZnL2RvbS9TVkdWaWV3U3BlYy1kZWZhdWx0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dmcvZG9tL1NWR1ZpZXdTcGVjLWRlZmF1bHRzLWV4cGVjdGVkLnR4dAppbmRleCA5YzAxODE3NTgx
NWI3NDRmZDJiNjUwZDczNzJjNDdmODVhYTE0YWYxLi4xNDUyYWI3YzQ1YTRmMzVhMzk1OTdmMDMz
ZTBkMzk5MjUwYmJhMmM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1ZpZXdT
cGVjLWRlZmF1bHRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1Zp
ZXdTcGVjLWRlZmF1bHRzLWV4cGVjdGVkLnR4dApAQCAtMjAsNTAgKzIwLDUzIEBAIFBBU1MgY3Vy
cmVudFZpZXcudHJhbnNmb3JtU3RyaW5nIGlzICIiCiBQQVNTIGN1cnJlbnRWaWV3LnZpZXdUYXJn
ZXRTdHJpbmcgaXMgIiIKIFBBU1MgY3VycmVudFZpZXcuem9vbUFuZFBhbiBpcyBTVkdWaWV3RWxl
bWVudC5TVkdfWk9PTUFORFBBTl9NQUdOSUZZCiAKLVRyeSBjaGFuZ2luZyB6b29tQW5kUGFuIC0g
bm9uZSBvZiB0aGVzZSB3aWxsIHdvcmssIGFzIFNWR1ZpZXdTcGVjIGlzIGZ1bGx5IHJlYWRvbmx5
IC0gZXZlbiB0aGUgYW5pbWF0ZWQgcHJvcGVydGllcyBpdCBpbmhlcml0cyBmcm9tIHBhcmVudCBj
bGFzc2VzIGxpa2UgU1ZHWm9vbUFuZFBhbi9TVkdGaXRUb1ZpZXdCb3gKK1RyeSBjaGFuZ2luZyB6
b29tQW5kUGFuIC0gbm9uZSBvZiB0aGVzZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJpbWl0aXZlIHBy
b3BlcnR5CiBQQVNTIGN1cnJlbnRWaWV3Lnpvb21BbmRQYW4gPSBTVkdWaWV3RWxlbWVudC5TVkdf
Wk9PTUFORFBBTl9ESVNBQkxFIHRocmV3IGV4Y2VwdGlvbiBOb01vZGlmaWNhdGlvbkFsbG93ZWRF
cnJvcjogVGhlIG9iamVjdCBjYW4gbm90IGJlIG1vZGlmaWVkLi4KIFBBU1MgY3VycmVudFZpZXcu
em9vbUFuZFBhbiBpcyBTVkdWaWV3RWxlbWVudC5TVkdfWk9PTUFORFBBTl9NQUdOSUZZCiAKLVRy
eSBjaGFuZ2luZyB2aWV3Qm94IC0gdGhpcyBoYXMgbm8gYWZmZWN0IG9uIHRoZSBTVkdTVkdFbGVt
ZW50IHRoZSB2aWV3U3BlYyBiZWxvbmdzIHRvIC0gaXQgZXhwb3NlZCBhbGwgaXRzIHByb3BlcnRp
ZXMgYXMgcmVhZC1vbmx5Ci1QQVNTIGN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC54ID0gMTAg
dGhyZXcgZXhjZXB0aW9uIE5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yOiBUaGUgb2JqZWN0IGNh
biBub3QgYmUgbW9kaWZpZWQuLgotUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwueCBp
cyAwCi1QQVNTIGN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC55ID0gMjAgdGhyZXcgZXhjZXB0
aW9uIE5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgbW9k
aWZpZWQuLgotUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwueSBpcyAwCi1QQVNTIGN1
cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC53aWR0aCA9IDUwIHRocmV3IGV4Y2VwdGlvbiBOb01v
ZGlmaWNhdGlvbkFsbG93ZWRFcnJvcjogVGhlIG9iamVjdCBjYW4gbm90IGJlIG1vZGlmaWVkLi4K
LVBBU1MgY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLndpZHRoIGlzIDAKLVBBU1MgY3VycmVu
dFZpZXcudmlld0JveC5iYXNlVmFsLmhlaWdodCA9IDEwMCB0aHJldyBleGNlcHRpb24gTm9Nb2Rp
ZmljYXRpb25BbGxvd2VkRXJyb3I6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBtb2RpZmllZC4uCi1Q
QVNTIGN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC5oZWlnaHQgaXMgMAotUEFTUyBjdXJyZW50
Vmlldy52aWV3Qm94U3RyaW5nIGlzICIwIDAgMCAwIgorQ2hhbmdpbmcgdmlld0JveCAtIHRoaXMg
aGFzIG5vIGFmZmVjdCBvbiB0aGUgU1ZHU1ZHRWxlbWVudCB0aGUgdmlld1NwZWMgYmVsb25ncyB0
byAtIGl0IGlzIGEgZGV0YWNoZWQgcHJvcGVydHkKK1BBU1MgY3VycmVudFZpZXcudmlld0JveC5i
YXNlVmFsLnggPSAxMCBpcyAxMAorUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwueCBp
cyAxMAorUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwueSA9IDIwIGlzIDIwCitQQVNT
IGN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC55IGlzIDIwCitQQVNTIGN1cnJlbnRWaWV3LnZp
ZXdCb3guYmFzZVZhbC53aWR0aCA9IDUwIGlzIDUwCitQQVNTIGN1cnJlbnRWaWV3LnZpZXdCb3gu
YmFzZVZhbC53aWR0aCBpcyA1MAorUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwuaGVp
Z2h0ID0gMTAwIGlzIDEwMAorUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwuaGVpZ2h0
IGlzIDEwMAorUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94U3RyaW5nIGlzICIxMCAyMCA1MCAxMDAi
CiAKLVRyeSBjaGFuZ2luZyB2aWV3Qm94U3RyaW5nCitUcnkgY2hhbmdpbmcgdmlld0JveFN0cmlu
ZyAtIG5vbmUgb2YgdGhlc2Ugd2lsbCB3b3JrLCBpdCBpcyBhIHByaW1pdGl2ZSBwcm9wZXJ0eQog
UEFTUyBjdXJyZW50Vmlldy52aWV3Qm94U3RyaW5nID0gJzEgMiAzIDQnIGlzICIxIDIgMyA0Igot
UEFTUyBjdXJyZW50Vmlldy52aWV3Qm94U3RyaW5nIGlzICIwIDAgMCAwIgorUEFTUyBjdXJyZW50
Vmlldy52aWV3Qm94U3RyaW5nIGlzICIxMCAyMCA1MCAxMDAiCiAKLVRyeSBjaGFuZ2luZyBwcmVz
ZXJ2ZUFzcGVjdFJhdGlvCi1QQVNTIGN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFz
ZVZhbC5hbGlnbiA9IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFU
SU9fWE1JTllNSU4gdGhyZXcgZXhjZXB0aW9uIE5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yOiBU
aGUgb2JqZWN0IGNhbiBub3QgYmUgbW9kaWZpZWQuLgotUEFTUyBjdXJyZW50Vmlldy5wcmVzZXJ2
ZUFzcGVjdFJhdGlvLmJhc2VWYWwuYWxpZ24gaXMgU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdf
UFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1JRAotUEFTUyBjdXJyZW50Vmlldy5wcmVzZXJ2ZUFz
cGVjdFJhdGlvLmJhc2VWYWwubWVldE9yU2xpY2UgPSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNW
R19NRUVUT1JTTElDRV9TTElDRSB0aHJldyBleGNlcHRpb24gTm9Nb2RpZmljYXRpb25BbGxvd2Vk
RXJyb3I6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBtb2RpZmllZC4uCi1QQVNTIGN1cnJlbnRWaWV3
LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5tZWV0T3JTbGljZSBpcyBTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvLlNWR19NRUVUT1JTTElDRV9NRUVUCitDaGFuZ2luZyBwcmVzZXJ2ZUFzcGVjdFJh
dGlvIC0gdGhpcyBoYXMgbm8gYWZmZWN0IG9uIHRoZSBTVkdTVkdFbGVtZW50IHRoZSB2aWV3U3Bl
YyBiZWxvbmdzIHRvIC0gaXQgaXMgYSBkZXRhY2hlZCBwcm9wZXJ0eQorUEFTUyBjdXJyZW50Vmll
dy5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VWYWwuYWxpZ24gPSBTVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvLlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlOIGlzIFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSU4KK1BBU1MgY3VycmVudFZpZXcu
cHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLmFsaWduIGlzIFNWR1ByZXNlcnZlQXNwZWN0UmF0
aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSU4KK1BBU1MgY3VycmVudFZpZXcucHJl
c2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLm1lZXRPclNsaWNlID0gU1ZHUHJlc2VydmVBc3BlY3RS
YXRpby5TVkdfTUVFVE9SU0xJQ0VfU0xJQ0UgaXMgU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdf
TUVFVE9SU0xJQ0VfU0xJQ0UKK1BBU1MgY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpby5i
YXNlVmFsLm1lZXRPclNsaWNlIGlzIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX01FRVRPUlNM
SUNFX1NMSUNFCiAKLVRyeSBjaGFuZ2luZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvU3RyaW5nCi1QQVNT
IGN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0aW9TdHJpbmcgPSAneE1pbllNaW4gc2xpY2Un
IGlzICJ4TWluWU1pbiBzbGljZSIKLVBBU1MgY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRp
b1N0cmluZyBpcyAieE1pZFlNaWQgbWVldCIKLQotVHJ5IGNoYW5naW5nIHRyYW5zZm9ybVN0cmlu
ZwotUEFTUyBjdXJyZW50Vmlldy50cmFuc2Zvcm1TdHJpbmcgPSAncm90YXRlKDkwKScgaXMgInJv
dGF0ZSg5MCkiCi1QQVNTIGN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmluZyBpcyAiIgorQ2hhbmdp
bmcgcHJlc2VydmVBc3BlY3RSYXRpb1N0cmluZyAtIG5vbmUgb2YgdGhlc2Ugd2lsbCB3b3JrLCBp
dCBpcyBhIHByaW1pdGl2ZSBwcm9wZXJ0eQorUEFTUyBjdXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVj
dFJhdGlvU3RyaW5nID0gJ3hNaWRZTWlkIG1lZXQnIGlzICJ4TWlkWU1pZCBtZWV0IgorUEFTUyBj
dXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlvU3RyaW5nIGlzICJ4TWluWU1pbiBzbGljZSIK
IAotVHJ5IGNoYW5naW5nIHZpZXdUYXJnZXQKK1RyeSBjaGFuZ2luZyB2aWV3VGFyZ2V0IC0gbm9u
ZSBvZiB0aGVzZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJpbWl0aXZlIHByb3BlcnR5CiBQQVNTIGN1
cnJlbnRWaWV3LnZpZXdUYXJnZXQgPSBzdmdFbGVtZW50IGlzIHN2Z0VsZW1lbnQKIFBBU1MgY3Vy
cmVudFZpZXcudmlld1RhcmdldCBpcyBudWxsCiAKLVRyeSBjaGFuZ2luZyB2aWV3VGFyZ2V0U3Ry
aW5nCitUcnkgY2hhbmdpbmcgdmlld1RhcmdldFN0cmluZyAtIG5vbmUgb2YgdGhlc2Ugd2lsbCB3
b3JrLCBpdCBpcyBhIHByaW1pdGl2ZSBwcm9wZXJ0eQogUEFTUyBjdXJyZW50Vmlldy52aWV3VGFy
Z2V0U3RyaW5nID0gJyN0ZXN0JyBpcyAiI3Rlc3QiCiBQQVNTIGN1cnJlbnRWaWV3LnZpZXdUYXJn
ZXRTdHJpbmcgaXMgIiIKIAotVHJ5IGNoYW5naW5nIHRyYW5zZm9ybQotUEFTUyBjdXJyZW50Vmll
dy50cmFuc2Zvcm0uY2xlYXIoKSB0aHJldyBleGNlcHRpb24gTm9Nb2RpZmljYXRpb25BbGxvd2Vk
RXJyb3I6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBtb2RpZmllZC4uCitDaGFuZ2luZyB0cmFuc2Zv
cm0gLSB0aGlzIGhhcyBubyBhZmZlY3Qgb24gdGhlIFNWR1NWR0VsZW1lbnQgdGhlIHZpZXdTcGVj
IGJlbG9uZ3MgdG8gLSBpdCBpcyBhIGRldGFjaGVkIHByb3BlcnR5CitQQVNTIGN1cnJlbnRWaWV3
LnRyYW5zZm9ybS5hcHBlbmRJdGVtKHRyYW5zZm9ybSkudG9TdHJpbmcoKSBpcyAiW29iamVjdCBT
VkdUcmFuc2Zvcm1dIgorUEFTUyBjdXJyZW50Vmlldy50cmFuc2Zvcm0ubnVtYmVyT2ZJdGVtcyBp
cyAxCitQQVNTIGN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmluZyBpcyAibWF0cml4KDEgMCAwIDEg
MCAwKSIKK1BBU1MgdW5kZWZpbmVkIGlzIHVuZGVmaW5lZC4KIFBBU1MgY3VycmVudFZpZXcudHJh
bnNmb3JtLm51bWJlck9mSXRlbXMgaXMgMAorCitUcnkgY2hhbmdpbmcgdHJhbnNmb3JtU3RyaW5n
IC0gbm9uZSBvZiB0aGVzZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJpbWl0aXZlIHByb3BlcnR5CitQ
QVNTIGN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmluZyA9ICdyb3RhdGUoOTApJyBpcyAicm90YXRl
KDkwKSIKK1BBU1MgY3VycmVudFZpZXcudHJhbnNmb3JtU3RyaW5nIGlzICIiCiBQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N2Zy9kb20vU1ZHVmlld1NwZWMtZGVmYXVsdHMuaHRtbCBiL0xheW91dFRlc3RzL3N2
Zy9kb20vU1ZHVmlld1NwZWMtZGVmYXVsdHMuaHRtbAppbmRleCBhMDI0MjY3MWQyY2FjY2IwYmVj
NTI0OWIwZTVjYzkzZTQ2Mjc2MWViLi4xMDYwYmRjMmNiZGRhNzgyNDNhOGFmOGMwNjU0MjVjNjZm
NzIzMWZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1ZpZXdTcGVjLWRlZmF1
bHRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdWaWV3U3BlYy1kZWZhdWx0cy5o
dG1sCkBAIC0zNCw2MiArMzQsNjQgQEAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmll
dy52aWV3VGFyZ2V0U3RyaW5nIiwgIiIpOwogc2hvdWxkQmUoImN1cnJlbnRWaWV3Lnpvb21BbmRQ
YW4iLCAiU1ZHVmlld0VsZW1lbnQuU1ZHX1pPT01BTkRQQU5fTUFHTklGWSIpOwogCiBkZWJ1Zygi
Iik7Ci1kZWJ1ZygiVHJ5IGNoYW5naW5nIHpvb21BbmRQYW4gLSBub25lIG9mIHRoZXNlIHdpbGwg
d29yaywgYXMgU1ZHVmlld1NwZWMgaXMgZnVsbHkgcmVhZG9ubHkgLSBldmVuIHRoZSBhbmltYXRl
ZCBwcm9wZXJ0aWVzIGl0IGluaGVyaXRzIGZyb20gcGFyZW50IGNsYXNzZXMgbGlrZSBTVkdab29t
QW5kUGFuL1NWR0ZpdFRvVmlld0JveCIpOworZGVidWcoIlRyeSBjaGFuZ2luZyB6b29tQW5kUGFu
IC0gbm9uZSBvZiB0aGVzZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJpbWl0aXZlIHByb3BlcnR5Iik7
CiBzaG91bGRUaHJvdygiY3VycmVudFZpZXcuem9vbUFuZFBhbiA9IFNWR1ZpZXdFbGVtZW50LlNW
R19aT09NQU5EUEFOX0RJU0FCTEUiKTsKIHNob3VsZEJlKCJjdXJyZW50Vmlldy56b29tQW5kUGFu
IiwgIlNWR1ZpZXdFbGVtZW50LlNWR19aT09NQU5EUEFOX01BR05JRlkiKTsKIAogZGVidWcoIiIp
OwotZGVidWcoIlRyeSBjaGFuZ2luZyB2aWV3Qm94IC0gdGhpcyBoYXMgbm8gYWZmZWN0IG9uIHRo
ZSBTVkdTVkdFbGVtZW50IHRoZSB2aWV3U3BlYyBiZWxvbmdzIHRvIC0gaXQgZXhwb3NlZCBhbGwg
aXRzIHByb3BlcnRpZXMgYXMgcmVhZC1vbmx5Iik7Ci1zaG91bGRUaHJvdygiY3VycmVudFZpZXcu
dmlld0JveC5iYXNlVmFsLnggPSAxMCIpOwotc2hvdWxkQmUoImN1cnJlbnRWaWV3LnZpZXdCb3gu
YmFzZVZhbC54IiwgIjAiKTsKLXNob3VsZFRocm93KCJjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VW
YWwueSA9IDIwIik7Ci1zaG91bGRCZSgiY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLnkiLCAi
MCIpOwotc2hvdWxkVGhyb3coImN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC53aWR0aCA9IDUw
Iik7Ci1zaG91bGRCZSgiY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLndpZHRoIiwgIjAiKTsK
LXNob3VsZFRocm93KCJjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwuaGVpZ2h0ID0gMTAwIik7
Ci1zaG91bGRCZSgiY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLmhlaWdodCIsICIwIik7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnZpZXdCb3hTdHJpbmciLCAiMCAwIDAg
MCIpOworZGVidWcoIkNoYW5naW5nIHZpZXdCb3ggLSB0aGlzIGhhcyBubyBhZmZlY3Qgb24gdGhl
IFNWR1NWR0VsZW1lbnQgdGhlIHZpZXdTcGVjIGJlbG9uZ3MgdG8gLSBpdCBpcyBhIGRldGFjaGVk
IHByb3BlcnR5Iik7CitzaG91bGRCZSgiY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLnggPSAx
MCIsICIxMCIpOworc2hvdWxkQmUoImN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC54IiwgIjEw
Iik7CitzaG91bGRCZSgiY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLnkgPSAyMCIsICIyMCIp
Oworc2hvdWxkQmUoImN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC55IiwgIjIwIik7CitzaG91
bGRCZSgiY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLndpZHRoID0gNTAiLCAiNTAiKTsKK3No
b3VsZEJlKCJjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwud2lkdGgiLCAiNTAiKTsKK3Nob3Vs
ZEJlKCJjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwuaGVpZ2h0ID0gMTAwIiwgIjEwMCIpOwor
c2hvdWxkQmUoImN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC5oZWlnaHQiLCAiMTAwIik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnZpZXdCb3hTdHJpbmciLCAiMTAgMjAg
NTAgMTAwIik7CiAKIGRlYnVnKCIiKTsKLWRlYnVnKCJUcnkgY2hhbmdpbmcgdmlld0JveFN0cmlu
ZyIpOworZGVidWcoIlRyeSBjaGFuZ2luZyB2aWV3Qm94U3RyaW5nIC0gbm9uZSBvZiB0aGVzZSB3
aWxsIHdvcmssIGl0IGlzIGEgcHJpbWl0aXZlIHByb3BlcnR5Iik7CiBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImN1cnJlbnRWaWV3LnZpZXdCb3hTdHJpbmcgPSAnMSAyIDMgNCciLCAiMSAyIDMgNCIp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy52aWV3Qm94U3RyaW5nIiwgIjAg
MCAwIDAiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVudFZpZXcudmlld0JveFN0cmlu
ZyIsICIxMCAyMCA1MCAxMDAiKTsKIAogZGVidWcoIiIpOwotZGVidWcoIlRyeSBjaGFuZ2luZyBw
cmVzZXJ2ZUFzcGVjdFJhdGlvIik7Ci1zaG91bGRUaHJvdygiY3VycmVudFZpZXcucHJlc2VydmVB
c3BlY3RSYXRpby5iYXNlVmFsLmFsaWduID0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJF
U0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1JTiIpOwotc2hvdWxkQmUoImN1cnJlbnRWaWV3LnByZXNl
cnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5hbGlnbiIsICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNW
R19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlEIik7Ci1zaG91bGRUaHJvdygiY3VycmVudFZp
ZXcucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLm1lZXRPclNsaWNlID0gU1ZHUHJlc2VydmVB
c3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJQ0VfU0xJQ0UiKTsKLXNob3VsZEJlKCJjdXJyZW50Vmll
dy5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VWYWwubWVldE9yU2xpY2UiLCAiU1ZHUHJlc2VydmVB
c3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJQ0VfTUVFVCIpOworZGVidWcoIkNoYW5naW5nIHByZXNl
cnZlQXNwZWN0UmF0aW8gLSB0aGlzIGhhcyBubyBhZmZlY3Qgb24gdGhlIFNWR1NWR0VsZW1lbnQg
dGhlIHZpZXdTcGVjIGJlbG9uZ3MgdG8gLSBpdCBpcyBhIGRldGFjaGVkIHByb3BlcnR5Iik7Citz
aG91bGRCZSgiY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLmFsaWduID0g
U1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1JTiIs
ICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlO
Iik7CitzaG91bGRCZSgiY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLmFs
aWduIiwgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1J
TllNSU4iKTsKK3Nob3VsZEJlKCJjdXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VW
YWwubWVldE9yU2xpY2UgPSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19NRUVUT1JTTElDRV9T
TElDRSIsICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19NRUVUT1JTTElDRV9TTElDRSIpOwor
c2hvdWxkQmUoImN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5tZWV0T3JT
bGljZSIsICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19NRUVUT1JTTElDRV9TTElDRSIpOwog
CiBkZWJ1ZygiIik7Ci1kZWJ1ZygiVHJ5IGNoYW5naW5nIHByZXNlcnZlQXNwZWN0UmF0aW9TdHJp
bmciKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RS
YXRpb1N0cmluZyA9ICd4TWluWU1pbiBzbGljZSciLCAieE1pbllNaW4gc2xpY2UiKTsKLXNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpb1N0cmluZyIs
ICJ4TWlkWU1pZCBtZWV0Iik7Ci0KK2RlYnVnKCJDaGFuZ2luZyBwcmVzZXJ2ZUFzcGVjdFJhdGlv
U3RyaW5nIC0gbm9uZSBvZiB0aGVzZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJpbWl0aXZlIHByb3Bl
cnR5Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0
UmF0aW9TdHJpbmcgPSAneE1pZFlNaWQgbWVldCciLCAieE1pZFlNaWQgbWVldCIpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlvU3RyaW5nIiwg
InhNaW5ZTWluIHNsaWNlIik7CiAKIGRlYnVnKCIiKTsKLWRlYnVnKCJUcnkgY2hhbmdpbmcgdHJh
bnNmb3JtU3RyaW5nIik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnRyYW5z
Zm9ybVN0cmluZyA9ICdyb3RhdGUoOTApJyIsICJyb3RhdGUoOTApIik7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoImN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmluZyIsICIiKTsKLQotCi1kZWJ1Zygi
Iik7Ci1kZWJ1ZygiVHJ5IGNoYW5naW5nIHZpZXdUYXJnZXQiKTsKK2RlYnVnKCJUcnkgY2hhbmdp
bmcgdmlld1RhcmdldCAtIG5vbmUgb2YgdGhlc2Ugd2lsbCB3b3JrLCBpdCBpcyBhIHByaW1pdGl2
ZSBwcm9wZXJ0eSIpOwogc2hvdWxkQmUoImN1cnJlbnRWaWV3LnZpZXdUYXJnZXQgPSBzdmdFbGVt
ZW50IiwgInN2Z0VsZW1lbnQiKTsKIHNob3VsZEJlTnVsbCgiY3VycmVudFZpZXcudmlld1Rhcmdl
dCIpOwogCiAKIGRlYnVnKCIiKTsKLWRlYnVnKCJUcnkgY2hhbmdpbmcgdmlld1RhcmdldFN0cmlu
ZyIpOworZGVidWcoIlRyeSBjaGFuZ2luZyB2aWV3VGFyZ2V0U3RyaW5nIC0gbm9uZSBvZiB0aGVz
ZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJpbWl0aXZlIHByb3BlcnR5Iik7CiBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImN1cnJlbnRWaWV3LnZpZXdUYXJnZXRTdHJpbmcgPSAnI3Rlc3QnIiwgIiN0ZXN0
Iik7CiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnZpZXdUYXJnZXRTdHJpbmci
LCAiIik7CiAKIGRlYnVnKCIiKTsKLWRlYnVnKCJUcnkgY2hhbmdpbmcgdHJhbnNmb3JtIik7Ci1z
aG91bGRUaHJvdygiY3VycmVudFZpZXcudHJhbnNmb3JtLmNsZWFyKCkiKTsKK2RlYnVnKCJDaGFu
Z2luZyB0cmFuc2Zvcm0gLSB0aGlzIGhhcyBubyBhZmZlY3Qgb24gdGhlIFNWR1NWR0VsZW1lbnQg
dGhlIHZpZXdTcGVjIGJlbG9uZ3MgdG8gLSBpdCBpcyBhIGRldGFjaGVkIHByb3BlcnR5Iik7Cit2
YXIgdHJhbnNmb3JtID0gc3ZnRWxlbWVudC5jcmVhdGVTVkdUcmFuc2Zvcm0oKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygiY3VycmVudFZpZXcudHJhbnNmb3JtLmFwcGVuZEl0ZW0odHJhbnNmb3Jt
KS50b1N0cmluZygpIiwgIltvYmplY3QgU1ZHVHJhbnNmb3JtXSIpOworc2hvdWxkQmUoImN1cnJl
bnRWaWV3LnRyYW5zZm9ybS5udW1iZXJPZkl0ZW1zIiwgIjEiKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygiY3VycmVudFZpZXcudHJhbnNmb3JtU3RyaW5nIiwgIm1hdHJpeCgxIDAgMCAxIDAgMCki
KTsKK3Nob3VsZEJlVW5kZWZpbmVkKGN1cnJlbnRWaWV3LnRyYW5zZm9ybS5jbGVhcigpKTsKIHNo
b3VsZEJlKCJjdXJyZW50Vmlldy50cmFuc2Zvcm0ubnVtYmVyT2ZJdGVtcyIsICIwIik7CiAKK2Rl
YnVnKCIiKTsKK2RlYnVnKCJUcnkgY2hhbmdpbmcgdHJhbnNmb3JtU3RyaW5nIC0gbm9uZSBvZiB0
aGVzZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJpbWl0aXZlIHByb3BlcnR5Iik7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmluZyA9ICdyb3RhdGUoOTApJyIs
ICJyb3RhdGUoOTApIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnRyYW5z
Zm9ybVN0cmluZyIsICIiKTsKKwogc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKIDwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9zdmcyLWluaGVyaXRhbmNlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS1leHBlY3RlZC50
eHQKaW5kZXggNjNlZmFlZWEzMjcyYmFjMDU5YzI0MWE4ZjhkYzI4MTExNzEyMjY4Mi4uZTI1OWM2
OWRhNTUzNzVlYWIwNjVhMmQ1N2NmZjhmZWRiYjZmMmRmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3ZnL2RvbS9zdmcyLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9zdmcvZG9tL3N2ZzItaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CkBAIC05MSw3ICs5MSw3IEBA
IFBBU1MgU1ZHUGF0aFNlZ0xpc3QgaW5oZXJpdHMgT2JqZWN0CiBQQVNTIFNWR1BhdGhTZWdNb3Zl
dG9BYnMgaW5oZXJpdHMgU1ZHUGF0aFNlZwogUEFTUyBTVkdQYXRoU2VnTW92ZXRvUmVsIGluaGVy
aXRzIFNWR1BhdGhTZWcKIFBBU1MgU1ZHUGF0dGVybkVsZW1lbnQgaW5oZXJpdHMgU1ZHRWxlbWVu
dAotUEFTUyBTVkdQb2ludCBpbmhlcml0cyBPYmplY3QKK1BBU1MgU1ZHUG9pbnQgaW5oZXJpdHMg
RE9NUG9pbnRSZWFkT25seQogUEFTUyBTVkdQb2ludExpc3QgaW5oZXJpdHMgT2JqZWN0CiBQQVNT
IFNWR1BvbHlnb25FbGVtZW50IGluaGVyaXRzIFNWR0dlb21ldHJ5RWxlbWVudAogUEFTUyBTVkdQ
b2x5bGluZUVsZW1lbnQgaW5oZXJpdHMgU1ZHR2VvbWV0cnlFbGVtZW50CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdmcvZG9tL3N2ZzItaW5oZXJpdGFuY2UuaHRtbCBiL0xheW91dFRlc3RzL3N2
Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS5odG1sCmluZGV4IDUxZWQxMWE2MjVjOGEyM2NhYjVkMDEy
NTc2M2U3MTAxZDBhMDRiM2EuLjBjZTdjZjMwMGVlZGFkMmE5NzQ2N2Y5YTYyYjI0MzMyYjY1YmZi
ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL3N2Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS5odG1sCkBAIC0xMTks
NyArMTE5LDcgQEAgY2hlY2tQYXJlbnQoIlNWR1BhdGhTZWdMaXN0IiwgIk9iamVjdCIpOwogY2hl
Y2tQYXJlbnQoIlNWR1BhdGhTZWdNb3ZldG9BYnMiLCAiU1ZHUGF0aFNlZyIpOwogY2hlY2tQYXJl
bnQoIlNWR1BhdGhTZWdNb3ZldG9SZWwiLCAiU1ZHUGF0aFNlZyIpOwogY2hlY2tQYXJlbnQoIlNW
R1BhdHRlcm5FbGVtZW50IiwgIlNWR0VsZW1lbnQiKTsKLWNoZWNrUGFyZW50KCJTVkdQb2ludCIs
ICJPYmplY3QiKTsKK2NoZWNrUGFyZW50KCJTVkdQb2ludCIsICJET01Qb2ludFJlYWRPbmx5Iik7
CiBjaGVja1BhcmVudCgiU1ZHUG9pbnRMaXN0IiwgIk9iamVjdCIpOwogY2hlY2tQYXJlbnQoIlNW
R1BvbHlnb25FbGVtZW50IiwgIlNWR0dlb21ldHJ5RWxlbWVudCIpOwogY2hlY2tQYXJlbnQoIlNW
R1BvbHlsaW5lRWxlbWVudCIsICJTVkdHZW9tZXRyeUVsZW1lbnQiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380406</attachid>
            <date>2019-10-08 00:14:59 -0700</date>
            <delta_ts>2019-10-08 00:41:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191376-20191008001458.patch</filename>
            <type>text/plain</type>
            <size>160089</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWQzMGYxOTAyYmU3NWZl
YzYxNzIzZDhiOWM3MWQ0ZGY1ODBkMDM2Mi4uMjRlNmI0ZTZhYzVlNzZkMjQ2NWZlNGEzZjU1YjBl
M2EyYTBjOGQ4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1NiBAQAorMjAxOS0xMC0wOCAgU2Fp
ZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIFtTVkcy
XTogUmVtb3ZlIHRoZSBpbnRlcmZhY2UgU1ZHUG9pbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcGxhY2UgU1ZHUG9pbnQgYnkgRE9NUG9pbnQgaW4g
YWxsIHRoZSBTVkcgaW50ZXJmYWNlcy4gTWFrZSBTVkdQb2ludCBhbgorICAgICAgICBhbGlhcyB0
byBET01Qb2ludC4gQWRkIHRoZSByZXF1aXJlZCBmdW5jdGlvbnMgdG8gU1ZHUG9pbnRMaXN0IGJl
Y2F1c2UgaXQKKyAgICAgICAgbm93IGluaGVyaXRzIFNWR1Byb3BlcnR5TGlzdCBpbnN0ZWFkIG9m
IGluaGVyaXRpbmcgU1ZHVmFsdWVQcm9wZXJ0eUxpc3QuCisKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKFNob3VsZEdlbmVyYXRlVG9XcmFwcGVkKToKKyAgICAg
ICAgKiBkb20vRE9NUG9pbnQuaDoKKyAgICAgICAgKiBkb20vRE9NUG9pbnQuaWRsOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdmcvU1ZHUGF0aERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGF0
aEZyb21Qb2x5Z29uRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpwYXRoRnJvbVBvbHlsaW5l
RWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdHZW9tZXRyeUVsZW1lbnQ6OmdldFBvaW50QXRMZW5ndGggY29uc3QpOgor
ICAgICAgICAqIHN2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHR2Vv
bWV0cnlFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0aEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHUGF0aEVsZW1lbnQ6OmdldFBvaW50QXRMZW5ndGggY29uc3QpOgor
ICAgICAgICAqIHN2Zy9TVkdQYXRoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdQb2ludC5o
OiBSZW1vdmVkLgorICAgICAgICAqIHN2Zy9TVkdQb2ludC5pZGw6IFJlbW92ZWQuCisgICAgICAg
ICogc3ZnL1NWR1BvaW50TGlzdC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUG9pbnRMaXN0Ojpv
cGVyYXRvcj0pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUG9pbnRMaXN0OjpyZXNpemUpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHUG9pbnRMaXN0OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdQb2ludExpc3Q6OlNWR1BvaW50TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2ludExp
c3Q6OmNvcHlJdGVtcyk6CisgICAgICAgICogc3ZnL1NWR1BvaW50TGlzdC5pZGw6CisgICAgICAg
ICogc3ZnL1NWR1NWR0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVu
dDo6c2V0Q3VycmVudFRyYW5zbGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50
OjpjcmVhdGVTVkdQb2ludCk6CisgICAgICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR1RleHRDb250ZW50
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6Omdl
dFN0YXJ0UG9zaXRpb25PZkNoYXIpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRF
bGVtZW50OjpnZXRFbmRQb3NpdGlvbk9mQ2hhcik6CisgICAgICAgICogc3ZnL1NWR1RleHRDb250
ZW50RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaWRsOgor
ICAgICAgICAqIHN2Zy9TVkdab29tRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHWm9v
bUV2ZW50OjpwcmV2aW91c1RyYW5zbGF0ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkda
b29tRXZlbnQ6Om5ld1RyYW5zbGF0ZSBjb25zdCk6CisgICAgICAgICogc3ZnL1NWR1pvb21FdmVu
dC5oOgorICAgICAgICAqIHN2Zy9TVkdab29tRXZlbnQuaWRsOgorICAgICAgICAqIHN2Zy9wcm9w
ZXJ0aWVzL1NWR0FuaW1hdGlvbkFkZGl0aXZlTGlzdEZ1bmN0aW9uSW1wbC5oOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHQW5pbWF0aW9uUG9pbnRMaXN0RnVuY3Rpb246OmFuaW1hdGUpOgorCisyMDE5
LTEwLTA3ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAg
ICAgICAgTWFrZSBET01Qb2ludCBhIERPTUxpdmVPYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjQ3OQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNWR1Byb3BlcnR5IGhhcyB0byBjb21lIGJhY2sg
YmVjYXVzZSBET01Qb2ludCBpbmhlcml0cyBET01Qb2ludFJlYWRPbmx5CisgICAgICAgIHdoaWNo
IGlzIFJlZkNvdW50ZWQuIFNvIERPTUxpdmVQcm9wZXJ0eSBjYW4ndCBiZSBSZWZDb3VudGVkLiBP
dGhlcndpc2UKKyAgICAgICAgRE9NUG9pbnQgd2lsbCBtYWtlIGEgZGlhbW9uZCBpbmhlcml0YW5j
ZS4gU1ZHUHJvcGVydHkgd2lsbCBpbmhlcml0IAorICAgICAgICBET01MaXZlUHJvcGVydHkgYW5k
IGl0IHdpbGwgYmUgUmVmQ291bnRlZC4KKworICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAg
ICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGRvbS9ET01MaXZlUHJvcGVydHkuaDoKKyAgICAgICAgKiBkb20v
RE9NUG9pbnQuaDogQWRkZWQuCisgICAgICAgICogZG9tL0RPTVBvaW50Lmg6CisgICAgICAgICog
ZG9tL0RPTVBvaW50LmlkbDoKKyAgICAgICAgKiBkb20vRE9NUG9pbnRSZWFkT25seS5oOgorICAg
ICAgICAoV2ViQ29yZTo6RE9NUG9pbnRSZWFkT25seTo6eEZvckJpbmRpbmdzIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkRPTVBvaW50UmVhZE9ubHk6OnlGb3JCaW5kaW5ncyBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpET01Qb2ludFJlYWRPbmx5Ojp6Rm9yQmluZGluZ3MgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NUG9pbnRSZWFkT25seTo6d0ZvckJpbmRpbmdzIGNvbnN0KToK
KyAgICAgICAgKiBkb20vRE9NUG9pbnRSZWFkT25seS5pZGw6CisgICAgICAgICogZG9tL0Rldmlj
ZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR1BhdGhTZWcu
aDoKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdMaXN0Lmg6CisgICAgICAgICogc3ZnL3By
b3BlcnRpZXMvU1ZHTWVtYmVyQWNjZXNzb3IuaDoKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9T
VkdQcmltaXRpdmVQcm9wZXJ0eUFuaW1hdG9yLmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMv
U1ZHUHJvcGVydHkuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5Ojppc0F0dGFjaGVk
IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5OjphdHRhY2gp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHk6OmRldGFjaCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6Y29udGV4dEVsZW1lbnQgY29uc3Qp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHk6OmNvbW1pdENoYW5nZSk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6YWNjZXNzIGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5Ojppc1JlYWRPbmx5IGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5Ojppc0RpcnR5IGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5OjpzZXREaXJ0eSk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6c3luY2hyb25pemUpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHk6OlNWR1Byb3BlcnR5KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeS5o
OgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1NoYXJlZFByaW1pdGl2ZVByb3BlcnR5Lmg6
CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eS5oOgorICAgICAgICAq
IHN2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlBbmltYXRvci5oOgorICAgICAgICAqIHN2
Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlBbmltYXRvckltcGwuaDoKKyAgICAgICAgKiBz
dmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5TGlzdEFuaW1hdG9yLmg6CisgICAgICAgICog
c3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eUxpc3RBbmltYXRvckltcGwuaDoKKworMjAx
OS0xMC0wMSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlcGxhY2UgU1ZHUHJvcGVydHkvU1ZHUHJvcGVydHlPd25lciBieSBET01MaXZlUHJv
cGVydHkvRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTc4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgYSBzdGVwIHRvd2FyZHMgcmVwbGFjaW5nIFNW
R1BvaW50IGJ5IERPTVBvaW50LgorCisgICAgICAgIC0tIEFkZCBhIG5ldyBjbGFzcywgbmFtZWQg
RE9NTGl2ZVByb3BlcnR5LiBJdHMgam9iIGlzIHRvIGNvbW11bmljYXRlIHRoZQorICAgICAgICAg
ICBjaGFuZ2VzIGluIHRoaXMgb2JqZWN0IHRvIGl0cyBvYnNlcnZlci4gVGhpcyBpcyByZXBsYWNp
bmcgU1ZHUHJvcGVydHkuCisgICAgICAgICAgIERPTVBvaW50IHdpbGwgYmUgbWFkZSBpbiBhIHN1
cGVyIG9mIGl0IGFsc28gaW4gYSBmb2xsb3dpbmcgcGF0Y2guCisKKyAgICAgICAgLS0gQWRkIGEg
bmV3IGNsYXNzLCBuYW1lZCBET01MaXZlUHJvcGVydHlPYnNlcnZlciBhbmQgbWFrZSBpdCB0aGUg
YmFzZQorICAgICAgICAgICBjbGFzcyBvZiBET01MaXZlUHJvcGVydHkgb2JzZXJ2ZXJzLiBDdXJy
ZW50bHkgdGhlIGZvbGxvd2luZyBjbGFzcyBhcmUKKyAgICAgICAgICAgbWFkZSBzdXBlciBjbGFz
c2VzIG9mIERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyOgorICAgICAgICAgICAxLiBTVkdFbGVtZW50
OiBUaGlzIG9ic2VydmVzIHRoZSBjaGFuZ2VzIGluIGFsbCB0aGUgU1ZHIHByb3BlcnRpZXMuCisg
ICAgICAgICAgIDIuIFNWR0FuaW1hdGVkUHJvcGVydHk6IFRoaXMgb2JzZXJ2ZXMgdGhlIGNoYW5n
ZXMgaW4gaXRzIGJhc2VWYWwuCisgICAgICAgICAgIDMuIFNWR1Byb3BlcnR5TGlzdDogVGhpcyBv
YnNlcnZlcyB0aGUgY2hhbmdlcyBpbiB0aGUgaXRlbXMuCisgICAgICAgICAgIDQuIFNWR1RyYW5z
Zm9ybTogVGhpcyBvYnNlcnZlcyB0aGUgY2hhbmdlcyBpbiB0aGUgdW5kZXJseWluZyBTVkdNYXRy
aXguCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRE9NTGl2ZVByb3BlcnR5Lmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2ZVByb3BlcnR5Ojppc0F0dGFjaGVkIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTUxpdmVQcm9wZXJ0eTo6b2JzZXJ2ZXIgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NTGl2ZVByb3BlcnR5OjphdHRhY2gpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NTGl2ZVByb3BlcnR5OjpkZXRhY2gpOgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2
ZVByb3BlcnR5OjpzdmdDb250ZXh0RWxlbWVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpE
T01MaXZlUHJvcGVydHk6OmlzUmVhZE9ubHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RE9N
TGl2ZVByb3BlcnR5Ojpjb21taXRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2ZVBy
b3BlcnR5Ojp2YWx1ZUFzU3RyaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTUxpdmVQ
cm9wZXJ0eTo6RE9NTGl2ZVByb3BlcnR5KToKKyAgICAgICAgKiBkb20vRE9NTGl2ZVByb3BlcnR5
T2JzZXJ2ZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpET01MaXZlUHJvcGVydHlPYnNl
cnZlcjo6b2JzZXJ2ZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2ZVByb3BlcnR5
T2JzZXJ2ZXI6OnByb3BlcnR5U1ZHQ29udGV4dEVsZW1lbnQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXI6OmlzUHJvcGVydHlSZWFkT25seSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpET01MaXZlUHJvcGVydHlPYnNlcnZlcjo6Y29tbWl0UHJvcGVy
dHlDaGFuZ2UpOgorICAgICAgICAqIHN2Zy9TVkdBbmdsZS5oOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHQW5nbGU6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6Y29tbWl0UHJvcGVydHlDaGFuZ2UpOgorICAgICAgICAq
IHN2Zy9TVkdFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aC5oOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHTGVuZ3RoOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3Ro
Ojp2YWx1ZUZvckJpbmRpbmdzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0aDo6c2V0VmFs
dWVGb3JCaW5kaW5ncyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGg6OmNvbnZlcnRUb1Nw
ZWNpZmllZFVuaXRzKToKKyAgICAgICAgKiBzdmcvU1ZHTGVuZ3RoTGlzdC5oOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHTGVuZ3RoTGlzdDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xl
bmd0aExpc3Q6OlNWR0xlbmd0aExpc3QpOgorICAgICAgICAqIHN2Zy9TVkdNYXRyaXguaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR01hdHJpeDo6Y3JlYXRlKToKKyAgICAgICAgKiBzdmcvU1ZHTnVt
YmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdOdW1iZXI6OmNyZWF0ZSk6CisgICAgICAgICog
c3ZnL1NWR051bWJlckxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR051bWJlckxpc3Q6OmNy
ZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1BhdGhTZWcuaDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0
aFNlZ0xpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHUG9pbnRMaXN0Lmg6CisgICAgICAgIChXZWJD
b3JlOjpTVkdQb2ludExpc3Q6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1ByZXNlcnZlQXNw
ZWN0UmF0aW8uaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OmNy
ZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1JlY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jl
Y3Q6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1N0cmluZ0xpc3QuaDoKKyAgICAgICAgKiBz
dmcvU1ZHVHJhbnNmb3JtLmg6CisgICAgICAgICogc3ZnL1NWR1RyYW5zZm9ybUxpc3QuaDoKKyAg
ICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJvcGVydHk6Om9ic2VydmVyIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJvcGVydHk6OmNvbW1pdFByb3BlcnR5Q2hhbmdlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJvcGVydHk6Om93bmVyIGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFByb3BlcnR5Ojp2YWx1ZUFzU3RyaW5nIGNvbnN0KToK
KyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TGlzdC5oOgorICAg
ICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlQYWlyQWNjZXNzb3JJbXBs
Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRWYWx1ZVByb3BlcnR5Lmg6
CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHTGlzdC5oOgorICAgICAgICAqIHN2Zy9wcm9w
ZXJ0aWVzL1NWR01lbWJlckFjY2Vzc29yLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdNZW1iZXJB
Y2Nlc3Nvcjo6bWF0Y2hlcyBjb25zdCk6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHUG9p
bnRlck1lbWJlckFjY2Vzc29yLmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHUHJpbWl0
aXZlUHJvcGVydHlBbmltYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJpbWl0aXZlUHJv
cGVydHlBbmltYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ByaW1pdGl2ZVBy
b3BlcnR5QW5pbWF0b3I6OlNWR1ByaW1pdGl2ZVByb3BlcnR5QW5pbWF0b3IpOgorICAgICAgICAq
IHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5Lmg6IFJlbW92ZWQuCisgICAgICAgICogc3ZnL3By
b3BlcnRpZXMvU1ZHUHJvcGVydHlBY2Nlc3Nvci5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVz
L1NWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9w
ZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlQ29sb3JBbmltYXRvcik6CisgICAgICAgIChXZWJD
b3JlOjpTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlTGVuZ3RoQW5pbWF0b3IpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZUxlbmd0
aExpc3RBbmltYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eUFuaW1hdG9yRmFj
dG9yeTo6Y3JlYXRlTnVtYmVyQW5pbWF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVy
dHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yKToKKyAgICAgICAgKiBzdmcv
cHJvcGVydGllcy9TVkdQcm9wZXJ0eUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3Bl
cnR5TGlzdDo6U1ZHUHJvcGVydHlMaXN0KToKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQ
cm9wZXJ0eU93bmVyLmg6IFJlbW92ZWQuCisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHUHJv
cGVydHlPd25lclJlZ2lzdHJ5Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVy
dHlSZWdpc3RyeS5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1NoYXJlZFByaW1pdGl2
ZVByb3BlcnR5Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eS5o
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmFsdWVQcm9wZXJ0eTo6U1ZHVmFsdWVQcm9wZXJ0eSk6
CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eUFuaW1hdG9yLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdWYWx1ZVByb3BlcnR5QW5pbWF0b3I6OlNWR1ZhbHVlUHJvcGVy
dHlBbmltYXRvcik6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eUFu
aW1hdG9ySW1wbC5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlM
aXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdWYWx1ZVByb3BlcnR5TGlzdDo6U1ZHVmFsdWVQ
cm9wZXJ0eUxpc3QpOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlM
aXN0QW5pbWF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZhbHVlUHJvcGVydHlMaXN0QW5p
bWF0b3I6OlNWR1ZhbHVlUHJvcGVydHlMaXN0QW5pbWF0b3IpOgorICAgICAgICAqIHN2Zy9wcm9w
ZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlMaXN0QW5pbWF0b3JJbXBsLmg6CisKKzIwMTktMTAtMDEg
IFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZW1vdmUgU1ZHUHJvcGVydHlTdGF0ZSBmcm9tIFNWR1Byb3BlcnR5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0MzkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgc3RlcCB0b3dhcmRzIHJl
cGxhY2luZyBTVkdQb2ludCBieSBET01Qb2ludC4KKworICAgICAgICBTVkdQcm9wZXJ0eSBrZWVw
cyBhIG1lbWJlciBvZiB0eXBlIFNWR1Byb3BlcnR5U3RhdGUgd2hpY2ggdGVsbHMgd2hldGhlcgor
ICAgICAgICBpdCBuZWVkcyB0byBiZSByZS1zZXJpYWxpemVkIHRvIGl0cyBhdHRyaWJ1dGUgb3Ig
bm90LiBCdXQgdGhlIGRpcnR5IHN0YXRlCisgICAgICAgIGlzIG9ubHkgc2V0IGluIFNWR0VsZW1l
bnQ6OmNvbW1pdFByb3BlcnR5Q2hhbmdlKCkuCisKKyAgICAgICAgU28gaW5zdGVhZCBvZiBoYXZp
bmcgU1ZHRWxlbWVudCBzZW5kcyB0aGlzIGNoYW5nZSBiYWNrIHRvIHRoZSBwcm9wZXJ0eSwKKyAg
ICAgICAgd2UgYXJlIGdvaW5nIHRvIGtlZXAgYSBIYXNoU2V0PFF1YWxpZmllZE5hbWU+IGluIFNW
R0VsZW1lbnQgdG8gdGVsbCB3aGljaAorICAgICAgICBhdHRyaWJ1dGVzIG5lZWQgdG8gYmUgcmUt
c2VyaWFsaXplZC4gQW5kIGluc3RlYWQgb2YgY2FsbGluZyB0aGUgdmlydHVhbAorICAgICAgICBt
ZXRob2Qgc3luY2hyb25pemUoKSB3aGljaCB3YXMgcmV0dXJuaW5nIE9wdGlvbmFsPFN0cmluZz4s
IHdlIGFyZSBnb2luZworICAgICAgICB0byBjYWxsIHRoZSB2aXJ0dWFsIG1ldGhvZCB2YWx1ZUFz
U3RyaW5nKCkgd2hpY2ggcmV0dXJucyBhIFN0cmluZy4KKworICAgICAgICAqIHN2Zy9TVkdFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnN5bmNocm9uaXplQXR0cmli
dXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnN5bmNocm9uaXplQWxsQXR0cmli
dXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50Ojpjb21taXRQcm9wZXJ0eUNoYW5n
ZSk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHTGVuZ3Ro
Lmg6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aExpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHUHJl
c2VydmVBc3BlY3RSYXRpb1ZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRy
YWl0czxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU+Ojppbml0aWFsVmFsdWUpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHUHJlc2VydmVBc3BlY3RS
YXRpb1ZhbHVlPjo6ZnJvbVN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQ
cm9wZXJ0eVRyYWl0czxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU+OjpwYXJzZSk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdQcmVzZXJ2ZUFzcGVj
dFJhdGlvVmFsdWU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL3Byb3BlcnRp
ZXMvU1ZHQW5pbWF0ZWREZWNvcmF0ZWRQcm9wZXJ0eS5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0
aWVzL1NWR0FuaW1hdGVkUHJpbWl0aXZlUHJvcGVydHkuaDoKKyAgICAgICAgKiBzdmcvcHJvcGVy
dGllcy9TVkdBbmltYXRlZFByb3BlcnR5Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRl
ZFByb3BlcnR5Ojp2YWx1ZUFzU3RyaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0Fu
aW1hdGVkUHJvcGVydHk6OmlzRGlydHkgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6c2V0RGlydHkpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6c3luY2hyb25pemUpOiBEZWxldGVkLgorICAgICAg
ICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlMaXN0Lmg6CisgICAgICAgICog
c3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBhaXJBY2Nlc3NvckltcGwuaDoKKyAg
ICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFZhbHVlUHJvcGVydHkuaDoKKyAgICAg
ICAgKiBzdmcvcHJvcGVydGllcy9TVkdNZW1iZXJBY2Nlc3Nvci5oOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHTWVtYmVyQWNjZXNzb3I6OnZhbHVlQXNTdHJpbmcgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHTWVtYmVyQWNjZXNzb3I6OnN5bmNocm9uaXplIGNvbnN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQb2ludGVyTWVtYmVyQWNjZXNzb3IuaDoKKyAgICAg
ICAgKiBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UHJvcGVydHk6OmF0dGFjaCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6ZGV0YWNo
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5Ojppc0RpcnR5IGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5OjpzZXREaXJ0eSk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6c3luY2hyb25pemUpOiBEZWxldGVkLgorICAg
ICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5T3duZXJSZWdpc3RyeS5oOgorICAgICAg
ICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5UmVnaXN0cnkuaDoKKworMjAxOS0xMC0wMSAg
U2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIFJl
bW92ZSBTVkdQcm9wZXJ0eUFjY2VzcyBmcm9tIFNWR1Byb3BlcnR5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0MTUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgc3RlcCB0b3dhcmRzIHJl
cGxhY2luZyBTVkdQb2ludCBieSBET01Qb2ludC4KKworICAgICAgICBBbiBTVkdQcm9wZXJ0eSBp
cyByZWFkLW9ubHkgaWYgaXQgb3IgaXRzIG93bmVyIGlzIHRoZSBhbmltVmFsIG9mIGFuCisgICAg
ICAgIFNWR0FuaW1hdGVkUHJvcGVydHkgb3IgU1ZHQW5pbWF0ZWRQcm9wZXJ0eUxpc3QuIEluIHRo
aXMgY2FzZSBhbGwgYXR0ZW1wdHMKKyAgICAgICAgdG8gY2hhbmdlIGl0IHRocm91Z2ggSmF2YVNj
cmlwdCBzaG91bGQgdGhyb3cgZXhwZWN0aW9ucy4KKworICAgICAgICBTbyBpbnN0ZWFkIG9mIGtl
ZXBpbmcgYSBtZW1iZXIgb2YgU1ZHUHJvcGVydHlBY2Nlc3MgaW4gZWFjaCBTVkdQcm9wZXJ0eSwK
KyAgICAgICAgd2UgY2FuIHdhbGsgdGhyb3VnaCB0aGUgU1ZHUHJvcGVydHlPd25lciBjaGFpbiB0
aWxsIHdlIHJlYWNoIGFuIG93bmVyIG9mCisgICAgICAgIHR5cGUgU1ZHQW5pbWF0ZWRQcm9wZXJ0
eSBvciBTVkdBbmltYXRlZFByb3BlcnR5TGlzdC4gVGhpcyBvd25lciBjb21wYXJlcworICAgICAg
ICB0aGUgcHJvcGVydHkgdG8gYmUgbW9kaWZpZWQgd2l0aCBpdHMgYW5pbVZhbC4gQW5kIGlmIHRo
ZXkgYXJlIHRoZSBzYW1lLAorICAgICAgICBpdCB3aWxsIHJldHVybiAndHJ1ZScgdGhyb3VnaCBp
dHMgdmlydHVhbCBtZXRob2QgaXNQcm9wZXJ0eVJlYWRPbmx5KCkuCisKKyAgICAgICAgKiBzdmcv
U1ZHQW5nbGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuZ2xlOjpjcmVhdGUpOgorICAgICAg
ICAqIHN2Zy9TVkdFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aC5oOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpjcmVhdGUpOgorICAgICAgICAqIHN2Zy9TVkdMZW5ndGhM
aXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGhMaXN0OjpjcmVhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHTGVuZ3RoTGlzdDo6U1ZHTGVuZ3RoTGlzdCk6CisgICAgICAgICogc3Zn
L1NWR01hdHJpeC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTWF0cml4OjpjcmVhdGUpOgorICAg
ICAgICAqIHN2Zy9TVkdOdW1iZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR051bWJlcjo6Y3Jl
YXRlKToKKyAgICAgICAgKiBzdmcvU1ZHTnVtYmVyTGlzdC5oOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHTnVtYmVyTGlzdDo6Y3JlYXRlKToKKyAgICAgICAgKiBzdmcvU1ZHUGF0aFNlZ0xpc3QuaDoK
KyAgICAgICAgKiBzdmcvU1ZHUG9pbnRMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2lu
dExpc3Q6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OmNyZWF0ZSk6CisgICAg
ICAgICogc3ZnL1NWR1JlY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlY3Q6OmNyZWF0ZSk6
CisgICAgICAgICogc3ZnL1NWR1RyYW5zZm9ybS5oOgorICAgICAgICAqIHN2Zy9TVkdUcmFuc2Zv
cm1MaXN0Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eUxp
c3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJvcGVydHlMaXN0OjpTVkdBbmlt
YXRlZFByb3BlcnR5TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFByb3BlcnR5
TGlzdDo6ZW5zdXJlQW5pbVZhbCk6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0
ZWRWYWx1ZVByb3BlcnR5Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFZhbHVlUHJv
cGVydHk6OlNWR0FuaW1hdGVkVmFsdWVQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdB
bmltYXRlZFZhbHVlUHJvcGVydHk6OmVuc3VyZUFuaW1WYWwpOgorICAgICAgICAqIHN2Zy9wcm9w
ZXJ0aWVzL1NWR1Byb3BlcnR5Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6YXR0
YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5OjpkZXRhY2gpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUHJvcGVydHk6OmNvbnRleHRFbGVtZW50IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1Byb3BlcnR5Ojppc1JlYWRPbmx5IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1Byb3BlcnR5OjpTVkdQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0
eTo6YWNjZXNzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQ
cm9wZXJ0eUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5TGlzdDo6U1ZHUHJv
cGVydHlMaXN0KToKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eU93bmVyLmg6
CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eU93bmVyOjppc1Byb3BlcnR5UmVhZE9ubHkg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlPd25lcjo6cHJvcGVydHlDb250
ZXh0RWxlbWVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eU93bmVyOjph
dHRyaWJ1dGVDb250ZXh0RWxlbWVudCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL3By
b3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmFsdWVQ
cm9wZXJ0eTo6U1ZHVmFsdWVQcm9wZXJ0eSk6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZH
VmFsdWVQcm9wZXJ0eUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZhbHVlUHJvcGVydHlM
aXN0OjpTVkdWYWx1ZVByb3BlcnR5TGlzdCk6CisKKzIwMTktMTAtMDEgIFNhaWQgQWJvdS1IYWxs
YXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHRoZSBTVkcgcHJv
cGVydGllcyBvZiBTVkdWaWV3U3BlYyBtb2RpZmlhYmxlIGJ1dCBkZXRhY2hlZCBwcm9wZXJ0aWVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0MTEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUbyBmYWNp
bGl0YXRlIGFjY2Vzc2luZyB0aGUgU1ZHUHJvcGVydGllcywgbWFrZSBhbGwgdGhlIHByb3BlcnRp
ZXMgb2YKKyAgICAgICAgU1ZHVmlld1NwZWMgbW9kaWZpYWJsZSBidXQgZGV0YWNoZWQgcHJvcGVy
dGllcy4gVGhpcyB3aWxsIGJlIGluIGNvbXBsaWFuY2UKKyAgICAgICAgd2l0aCB0aGUgc3BlY3M6
IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9TVkcxMS90eXBlcy5odG1sI0ludGVyZmFjZVNWR1ZpZXdT
cGVjLgorCisgICAgICAgICogc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTVkdGaXRUb1ZpZXdCb3g6OlNWR0ZpdFRvVmlld0JveCk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlVmlld0JveCk6CisgICAgICAgICogc3ZnL1NWR0ZpdFRv
Vmlld0JveC5oOgorICAgICAgICAqIHN2Zy9TVkdWaWV3U3BlYy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTVkdWaWV3U3BlYzo6U1ZHVmlld1NwZWMpOgorICAgICAgICAqIHN2Zy9TVkdWaWV3U3Bl
Yy5oOgorCiAyMDE5LTEwLTA3ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkIFdpbkNhaXJvIGJ1aWxkIGZpeCBmb3IgcjI1MDc1OC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDc3MDI1YzIyMzM2MWQyYTFmZjU0YjliYWQ3N2Ji
ZjdkNzVhMGIxNWUuLjVlMTkzNmRiNjZlNjg4ZGNlMzNjYmViMGU2YmU3NGVlOWQ3NDg3YTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE5LTEwLTA4ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgW1NWRzJd
OiBSZW1vdmUgdGhlIGludGVyZmFjZSBTVkdQb2ludAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxMzc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9OYXRpdmVGdW5j
dGlvblBhcmFtZXRlcnMuanM6CisKIDIwMTktMTAtMDIgIE5pa2l0YSBWYXNpbHlldiAgPG52YXNp
bHlldkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogU3R5bGVzOiBmb3IgcnVs
ZXMgdGhhdCBkb24ndCBtYXRjaCBzZWxlY3RlZCBub2RlLCBwcm9wZXJ0eSB2YWx1ZXMgYWx3YXlz
IHNob3cgYXMgaW52YWxpZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMjg0MGVm
ZDZmYWU2OTQwNzljMWMwMTRjMzNiYTAxNTAwZjMyOTg3Yy4uNjgzMzA2NTU2NzUxMTcwMjFiZTAz
ZTY4ODE5NWFiOTNjMWM3YzM0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0x
MDIyLDcgKzEwMjIsNiBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9zdmcv
U1ZHUGF0aFNlZ01vdmV0b0Ficy5pZGwgXAogICAgICQoV2ViQ29yZSkvc3ZnL1NWR1BhdGhTZWdN
b3ZldG9SZWwuaWRsIFwKICAgICAkKFdlYkNvcmUpL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5pZGwg
XAotICAgICQoV2ViQ29yZSkvc3ZnL1NWR1BvaW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9zdmcv
U1ZHUG9pbnRMaXN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9zdmcvU1ZHUG9seWdvbkVsZW1lbnQu
aWRsIFwKICAgICAkKFdlYkNvcmUpL3N2Zy9TVkdQb2x5bGluZUVsZW1lbnQuaWRsIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFk
ZXJzLmNtYWtlCmluZGV4IDViMmY1M2I1NmQ3Y2FiNWY2ODllNmUwYzM4OTUzNjIyYzU1NTcwMzku
LmJkNTY1MDkwNDQxYzhlYzI4OTFlM2U1MjI3OWUxNjViN2I3ODg1NTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5j
bWFrZQpAQCAtMzYwLDYgKzM2MCw4IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hF
QURFUlMKICAgICBkb20vRE9NRXhjZXB0aW9uLmgKICAgICBkb20vRE9NSGlnaFJlc1RpbWVTdGFt
cC5oCiAgICAgZG9tL0RPTUltcGxlbWVudGF0aW9uLmgKKyAgICBkb20vRE9NTGl2ZVByb3BlcnR5
LmgKKyAgICBkb20vRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIuaAogICAgIGRvbS9ET01QYXN0ZUFj
Y2Vzcy5oCiAgICAgZG9tL0RPTVJlY3QuaAogICAgIGRvbS9ET01SZWN0SW5pdC5oCkBAIC0xMzkx
LDcgKzEzOTMsNiBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAg
c3ZnL3Byb3BlcnRpZXMvU1ZHTGlzdC5oCiAgICAgc3ZnL3Byb3BlcnRpZXMvU1ZHUHJpbWl0aXZl
TGlzdC5oCiAgICAgc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHkuaAotICAgIHN2Zy9wcm9wZXJ0
aWVzL1NWR1Byb3BlcnR5T3duZXIuaAogICAgIHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5VHJh
aXRzLmgKIAogICAgIHRlc3RpbmcvTW9ja0dhbWVwYWQuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA0YTgx
MDkyNGRlNzQzMmZmZmU2MTJjZjVlZGQ2ZDFmYWI2MTM1NzI3Li5iYzY0N2U4MDM1YjIzYTJjMWNk
MmQwZTg3OGNmMDQzZWNjZGNlOGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtODQwLDYgKzg0MCw3IEBA
IGRvbS9DdXN0b21FbGVtZW50UmVnaXN0cnkuY3BwCiBkb20vQ3VzdG9tRXZlbnQuY3BwCiBkb20v
RE9NRXhjZXB0aW9uLmNwcAogZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcAorZG9tL0RPTVBvaW50
LmNwcAogZG9tL0RPTVBvaW50UmVhZE9ubHkuY3BwCiBkb20vRE9NUXVhZC5jcHAKIGRvbS9ET01S
ZWN0TGlzdC5jcHAKQEAgLTMyOTAsNyArMzI5MSw2IEBAIEpTU1ZHUGF0aFNlZ0xpc3QuY3BwCiBK
U1NWR1BhdGhTZWdNb3ZldG9BYnMuY3BwCiBKU1NWR1BhdGhTZWdNb3ZldG9SZWwuY3BwCiBKU1NW
R1BhdHRlcm5FbGVtZW50LmNwcAotSlNTVkdQb2ludC5jcHAKIEpTU1ZHUG9pbnRMaXN0LmNwcAog
SlNTVkdQb2x5Z29uRWxlbWVudC5jcHAKIEpTU1ZHUG9seWxpbmVFbGVtZW50LmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDgz
YzllYzdkOGZlMDQ2M2QwNTFkNTBmZTc2OWMzOTk4NjY3MTU5M2YuLjU3ZDFmNjA5ZDYxZDVlZTY5
MGZhZjg0NjQ1ZDE5ZTM3MDhhMDgzNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIwODgsMTIgKzIwODgsMTMgQEAKIAkJNzFF
RkNFREMyMDJCMzhBOTAwRDdDNDExIC8qIEFuaW1hdGlvbkVmZmVjdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzFFRkNFRDcyMDJCMzg4RDAwRDdDNDEx
IC8qIEFuaW1hdGlvbkVmZmVjdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTcyMTQ0MzMxMjIzRUM4NTQwMEYxMkZGNyAvKiAobnVsbCkgaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzIxNDQzMzIyMjNFQzg1RjAwRjEyRkY3IC8qIChudWxsKSBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk3MjE0NDMzMzIyM0VDOEIwMDBGMTJGRjcgLyogU1ZH
UHJvcGVydHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDU1RUU1MzYzMjIzQjJBMjQwMEZCQTk0NCAvKiBTVkdQcm9wZXJ0eS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTcyMTQ0MzM0MjIzRUM5MTYwMEYx
MkZGNyAvKiBTVkdQcm9wZXJ0eU93bmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1NUVFNTM2MDIyM0IyQTIxMDBGQkE5NDQgLyogU1ZHUHJvcGVydHlP
d25lci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTcyMjgzRjBFMjMwQjI2OEMwMEY1RDgyOCAvKiBJbWFnZVBhaW50aW5nT3B0aW9ucy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzJDMThBM0YyMzBCMDRC
NzAwNjg0N0M3IC8qIEltYWdlUGFpbnRpbmdPcHRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzI0RUQzMzIxQTNBOEIyMzAwRjVGMTNDIC8q
IEpTRVhUQmxlbmRNaW5NYXguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDcyNEVEMzMwMUEzQThCMjMwMEY1RjEzQyAvKiBKU0VYVEJsZW5kTWluTWF4Lmgg
Ki87IH07CiAJCTcyNEVFNTUwMURDODBEN0YwMEE5MUZGQiAvKiBBY3Rpdml0eVN0YXRlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MjRFRTU0RTFEQzdG
MjVCMDBBOTFGRkIgLyogQWN0aXZpdHlTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcyNEVFNTUxMURDODBEODQwMEE5MUZGQiAvKiBBY3Rp
dml0eVN0YXRlQ2hhbmdlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDcyNEVFNTRGMURDN0YyNUIwMEE5MUZGQiAvKiBBY3Rpdml0eVN0YXRl
Q2hhbmdlT2JzZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQk3MjgzMTVDMTIzNDQ0MDE1MDAwN0QyNzcgLyogRE9NTGl2ZVByb3BlcnR5Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MjgzMTVDMDIz
NDQyMjkyMDAwN0QyNzcgLyogRE9NTGl2ZVByb3BlcnR5LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzI4MzE1QzIyMzQ0NDAyMjAwMDdEMjc3IC8q
IERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3MjgzMTVCRTIzNDQyMjkxMDAwN0QyNzcgLyogRE9NTGl2ZVByb3Bl
cnR5T2JzZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQk3MjgzMTVDNzIzNDUxODIzMDAwN0QyNzcgLyogU1ZHUHJvcGVydHkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcyODMxNUM1MjM0NTBGQzIw
MDA3RDI3NyAvKiBTVkdQcm9wZXJ0eS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTc1NTNDRkU4MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZVJl
Y29yZEZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDc1NTNDRkU2MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZVJlY29yZEZhY3RvcnkuaCAq
LzsgfTsKIAkJNzU3OTNFODQwRDBDRTBCMzAwN0ZDMEFDIC8qIE1lc3NhZ2VFdmVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzU3OTNFODEwRDBDRTBC
MzAwN0ZDMEFDIC8qIE1lc3NhZ2VFdmVudC5oICovOyB9OwogCQk3NTc5M0VDOTBEMENFNzJEMDA3
RkMwQUMgLyogSlNNZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDc1NzkzRUM3MEQwQ0U3MkQwMDdGQzBBQyAvKiBKU01lc3NhZ2VFdmVu
dC5oICovOyB9OwpAQCAtMjMwOCw3ICsyMzA5LDYgQEAKIAkJN0NFMTkxNzcxRjJBQkU3MTAwMjcy
Rjc4IC8qIEpTRmV0Y2hSZXF1ZXN0SW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0NFMTkxNjkxRjJBQjcwNTAwMjcyRjc4IC8qIEpTRmV0Y2hSZXF1
ZXN0SW5pdC5oICovOyB9OwogCQk3Q0UxOTE3OTFGMkFCRTcxMDAyNzJGNzggLyogSlNGZXRjaFJl
cXVlc3RNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3Q0UxOTE2QzFGMkFCNzBBMDAyNzJGNzggLyogSlNGZXRjaFJlcXVlc3RNb2RlLmggKi87IH07
CiAJCTdDRTE5MTdCMUYyQUJFNzEwMDI3MkY3OCAvKiBKU0ZldGNoUmVxdWVzdFJlZGlyZWN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0UxOTE2QTFG
MkFCNzA2MDAyNzJGNzggLyogSlNGZXRjaFJlcXVlc3RSZWRpcmVjdC5oICovOyB9OwotCQk3Q0U1
OEQ0QTFERDY0QTVCMDAxMjg1NTIgLyogU1ZHUG9pbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRTU4RDQ5MURENjRBNUIwMDEyODU1MiAvKiBTVkdQ
b2ludC5oICovOyB9OwogCQk3Q0U1OEQ1MDFERDY5QTFFMDAxMjg1NTIgLyogU1ZHTnVtYmVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0U1OEQ0RjFE
RDY5QTFFMDAxMjg1NTIgLyogU1ZHTnVtYmVyLmggKi87IH07CiAJCTdDRTU4RDU4MUREN0Q5NkQw
MDEyODU1MiAvKiBTVkdUcmFuc2Zvcm1WYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0NFNThENTYxREQ3RDk2RDAwMTI4NTUyIC8qIFNWR1RyYW5z
Zm9ybVZhbHVlLmggKi87IH07CiAJCTdDRTY4MzQ0MTkyMTQzQTgwMEY0RDkyOCAvKiBVc2VyTWVz
c2FnZUhhbmRsZXJEZXNjcmlwdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdDRTY4MzQyMTkyMTQzQTgwMEY0RDkyOCAvKiBVc2VyTWVzc2FnZUhh
bmRsZXJEZXNjcmlwdG9yLmNwcCAqLzsgfTsKQEAgLTg1NzMsMTAgKzg1NzMsOCBAQAogCQk1NUVF
NTM1RDIyM0IyQTBEMDBGQkE5NDQgLyogU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBhaXJBY2Nlc3Nvcklt
cGwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRQcm9wZXJ0
eVBhaXJBY2Nlc3NvckltcGwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTVFRTUz
NUUyMjNCMkEwRTAwRkJBOTQ0IC8qIFNWR0FuaW1hdGlvbkFkZGl0aXZlVmFsdWVGdW5jdGlvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdBbmltYXRpb25BZGRpdGl2ZVZh
bHVlRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTVFRTUzNUYyMjNC
MkEwRjAwRkJBOTQ0IC8qIFNWR0FuaW1hdGVkUHJvcGVydHlQYWlyQW5pbWF0b3IuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBhaXJBbmltYXRv
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1NUVFNTM2MDIyM0IyQTIxMDBGQkE5
NDQgLyogU1ZHUHJvcGVydHlPd25lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTVkdQcm9wZXJ0eU93bmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU1RUU1
MzYxMjIzQjJBMjIwMEZCQTk0NCAvKiBTVkdBdHRyaWJ1dGVBbmltYXRvci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdBdHRyaWJ1dGVBbmltYXRvci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU1RUU1MzYyMjIzQjJBMjMwMEZCQTk0NCAvKiBT
VkdBbmltYXRlZFByb3BlcnR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNW
R0FuaW1hdGVkUHJvcGVydHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTVFRTUz
NjMyMjNCMkEyNDAwRkJBOTQ0IC8qIFNWR1Byb3BlcnR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNWR1Byb3BlcnR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTU1RUU1MzY0MjIzQjJBMjQwMEZCQTk0NCAvKiBTVkdBdHRyaWJ1dGVBbmltYXRvci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdBdHRyaWJ1dGVBbmltYXRvci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NUZBN0ZGQTIxMTBFQ0Q3MDA1QUVGRTcgLyogU1ZH
Wm9vbUFuZFBhblR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHWm9vbUFuZFBhblR5cGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTcwNDQwNTcxRTUzODUxNjAwMzU2NjAxIC8qIENy
eXB0b0FsZ29yaXRobUFFU19DRkJNYWMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQk1hYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC05NDU5LDYgKzk0NTcsMTAgQEAKIAkJNzI3QUZFRDExQTJFQTZBMDAwMDQ0
MkU4IC8qIEVYVHNSR0IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RVhUc1JHQi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyN0FGRUQyMUEyRUE2
QTAwMDA0NDJFOCAvKiBFWFRzUkdCLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEVYVHNSR0IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzI3QUZFRDMxQTJFQTZB
MDAwMDQ0MkU4IC8qIEVYVHNSR0IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEVYVHNSR0Iu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MjgzMTVCRTIzNDQyMjkxMDAwN0Qy
NzcgLyogRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNzI4MzE1QzAyMzQ0MjI5MjAwMDdEMjc3IC8qIERPTUxpdmVQcm9wZXJ0eS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01MaXZlUHJvcGVydHkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzI4MzE1QzUyMzQ1MEZDMjAwMDdEMjc3IC8qIFNWR1By
b3BlcnR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1Byb3BlcnR5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcyODMxNUNFMjM0NjU5MDEwMDA3RDI3NyAv
KiBET01Qb2ludC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01Qb2ludC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyQzE4QTNGMjMwQjA0QjcwMDY4NDdDNyAvKiBJbWFnZVBh
aW50aW5nT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZVBhaW50aW5nT3B0aW9ucy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MkU0MTc2MTFBMkU4RDJGMDA0QzU2MkEgLyog
SlNFWFRzUkdCLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRVhU
c1JHQi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyRTQxNzYyMUEyRThEMkYw
MDRDNTYyQSAvKiBKU0VYVHNSR0IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNFWFRzUkdCLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05OTE1LDcgKzk5MTcs
NiBAQAogCQk3Q0UxOTE2RTFGMkFCNzBEMDAyNzJGN0EgLyogSlNET01DYWNoZVN0b3JhZ2UuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01DYWNoZVN0b3JhZ2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3Q0UxOTE2RTFGMkFCNzBEMDAyNzJGN0IgLyogSlNDYWNoZVF1ZXJ5
T3B0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NhY2hlUXVlcnlPcHRpb25zLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NFMTkxNkYxRjJBQjcwRjAwMjcyRjc4IC8q
IEpTRmV0Y2hSZXF1ZXN0UmVkaXJlY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNGZXRjaFJl
cXVlc3RSZWRpcmVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdDRTU4RDQ5
MURENjRBNUIwMDEyODU1MiAvKiBTVkdQb2ludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTVkdQb2ludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0U1OEQ0
RjFERDY5QTFFMDAxMjg1NTIgLyogU1ZHTnVtYmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNWR051bWJlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0U1
OEQ1MTFERDdCMDkzMDAxMjg1NTIgLyogU1ZHTGVuZ3RoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNWR0xlbmd0aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
Q0U1OEQ1MjFERDdCMDkzMDAxMjg1NTIgLyogU1ZHTGVuZ3RoVmFsdWUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHTGVuZ3RoVmFsdWUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTIzNDIsNyArMTIzNDMsNiBAQAogCQlCMjIyNzhGMTBEMDBC
RjIxMDA3MUI3ODIgLyogU1ZHUGF0dGVybkVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1BhdHRlcm5FbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQjIyMjc4RjIwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1BhdHRlcm5FbGVt
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXR0ZXJuRWxlbWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjIyNzhGMzBEMDBCRjIxMDA3MUI3
ODIgLyogU1ZHUGF0dGVybkVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTVkdQ
YXR0ZXJuRWxlbWVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUIyMjI3OEY0
MEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQb2ludC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IFNWR1BvaW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIyMjc4RjYwRDAw
QkYyMTAwNzFCNzgyIC8qIFNWR1BvaW50TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU1ZHUG9pbnRMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIy
MjI3OEY3MEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQb2ludExpc3QuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBTVkdQb2ludExpc3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlCMjIyNzhGODBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUG9seUVsZW1lbnQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1BvbHlFbGVtZW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MTcxLDEzICsxNjE3MSwxMiBAQAogCQkJCTU1REND
NTI1MjI0MDc0OUUwMEMyNkUzMiAvKiBTVkdQcmltaXRpdmVMaXN0LmggKi8sCiAJCQkJNzI2NkYw
MTUyMjQxQzA5ODAwODMzOTc1IC8qIFNWR1ByaW1pdGl2ZVByb3BlcnR5QW5pbWF0b3IuaCAqLywK
IAkJCQk3MjY2RjAxNDIyNDFCRkIyMDA4MzM5NzUgLyogU1ZHUHJpbWl0aXZlUHJvcGVydHlBbmlt
YXRvckltcGwuaCAqLywKLQkJCQk1NUVFNTM2MzIyM0IyQTI0MDBGQkE5NDQgLyogU1ZHUHJvcGVy
dHkuaCAqLywKKwkJCQk3MjgzMTVDNTIzNDUwRkMyMDAwN0QyNzcgLyogU1ZHUHJvcGVydHkuaCAq
LywKIAkJCQk1NURDQzUyNjIyNDA3NEZBMDBDMjZFMzIgLyogU1ZHUHJvcGVydHlBY2Nlc3Nvci5o
ICovLAogCQkJCTU1RENDNTI3MjI0MDc1MEIwMEMyNkUzMiAvKiBTVkdQcm9wZXJ0eUFjY2Vzc29y
SW1wbC5oICovLAogCQkJCTcyNjZGMDE2MjI0MUMwRkUwMDgzMzk3NSAvKiBTVkdQcm9wZXJ0eUFu
aW1hdG9yLmggKi8sCiAJCQkJNzI2NkYwMTMyMjQxQkNFMjAwODMzOTc1IC8qIFNWR1Byb3BlcnR5
QW5pbWF0b3JGYWN0b3J5LmggKi8sCiAJCQkJNzI2NkYwMjcyMjQzMTA5MjAwODMzOTc1IC8qIFNW
R1Byb3BlcnR5TGlzdC5oICovLAotCQkJCTU1RUU1MzYwMjIzQjJBMjEwMEZCQTk0NCAvKiBTVkdQ
cm9wZXJ0eU93bmVyLmggKi8sCiAJCQkJNTVCRTAyNUMyMjNCMjlDMzAwMzJGMDhBIC8qIFNWR1By
b3BlcnR5T3duZXJSZWdpc3RyeS5oICovLAogCQkJCTU1QkUwMjU3MjIzQjI5QzAwMDMyRjA4QSAv
KiBTVkdQcm9wZXJ0eVJlZ2lzdHJ5LmggKi8sCiAJCQkJMDg4QTBFMDMxMjZFRjFEQjAwOTc4RjdB
IC8qIFNWR1Byb3BlcnR5VHJhaXRzLmggKi8sCkBAIC0yNDMzNiw4ICsyNDMzNSw2IEBACiAJCQkJ
QjIyMjc4RjEwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1BhdHRlcm5FbGVtZW50LmNwcCAqLywKIAkJ
CQlCMjIyNzhGMjBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUGF0dGVybkVsZW1lbnQuaCAqLywKIAkJ
CQlCMjIyNzhGMzBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUGF0dGVybkVsZW1lbnQuaWRsICovLAot
CQkJCTdDRTU4RDQ5MURENjRBNUIwMDEyODU1MiAvKiBTVkdQb2ludC5oICovLAotCQkJCUIyMjI3
OEY0MEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQb2ludC5pZGwgKi8sCiAJCQkJQjIyMjc4RjYwRDAw
QkYyMTAwNzFCNzgyIC8qIFNWR1BvaW50TGlzdC5oICovLAogCQkJCUIyMjI3OEY3MEQwMEJGMjEw
MDcxQjc4MiAvKiBTVkdQb2ludExpc3QuaWRsICovLAogCQkJCUIyMjI3OEY4MEQwMEJGMjEwMDcx
Qjc4MiAvKiBTVkdQb2x5RWxlbWVudC5jcHAgKi8sCkBAIC0yNzU3Myw3ICsyNzU3MCwxMCBAQAog
CQkJCUE4MTg1RjM2MDk3NjU3NjUwMDU4MjZEOSAvKiBET01JbXBsZW1lbnRhdGlvbi5jcHAgKi8s
CiAJCQkJQTgxODVGMzMwOTc2NTc2NTAwNTgyNkQ5IC8qIERPTUltcGxlbWVudGF0aW9uLmggKi8s
CiAJCQkJOTNFRUMxRTkwOUMyODc3NzAwQzUxNUQxIC8qIERPTUltcGxlbWVudGF0aW9uLmlkbCAq
LywKKwkJCQk3MjgzMTVDMDIzNDQyMjkyMDAwN0QyNzcgLyogRE9NTGl2ZVByb3BlcnR5LmggKi8s
CisJCQkJNzI4MzE1QkUyMzQ0MjI5MTAwMDdEMjc3IC8qIERPTUxpdmVQcm9wZXJ0eU9ic2VydmVy
LmggKi8sCiAJCQkJRjRCNDIyQzIyMjBDMDAwMDAwOUUxRTdEIC8qIERPTVBhc3RlQWNjZXNzLmgg
Ki8sCisJCQkJNzI4MzE1Q0UyMzQ2NTkwMTAwMDdEMjc3IC8qIERPTVBvaW50LmNwcCAqLywKIAkJ
CQkwRjQ5NjY5OTFEQjQwOEMxMDBBMjc0QkIgLyogRE9NUG9pbnQuaCAqLywKIAkJCQkwRjQ5NjY5
QTFEQjQwOEMxMDBBMjc0QkIgLyogRE9NUG9pbnQuaWRsICovLAogCQkJCTBGNDk2NkEyMURCNDA5
MTAwMEEyNzRCQiAvKiBET01Qb2ludEluaXQuaCAqLywKQEAgLTI5MTY4LDYgKzI5MTY4LDggQEAK
IAkJCQlFM0E3NzY2NzFEQzg1RDI4MDBCNjkwRDggLyogRE9NSklUSURMQ29udmVydC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTNBNzc2NjgxREM4NUQyODAwQjY5MEQ4IC8qIERPTUpJVElETFR5cGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUUzNTgwMkI2MURDODQzNUQwMEE5NzczQyAvKiBET01KSVRJ
RExUeXBlRmlsdGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk3MjgzMTVDMTIzNDQ0MDE1MDAwN0Qy
NzcgLyogRE9NTGl2ZVByb3BlcnR5LmggaW4gSGVhZGVycyAqLywKKwkJCQk3MjgzMTVDMjIzNDQ0
MDIyMDAwN0QyNzcgLyogRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTgzNkFDRUNBMUVDQTk1NjkwMDRCRDAxMiAvKiBET01NYXRyaXguaCBpbiBIZWFkZXJzICov
LAogCQkJCTdDQkJCQ0M3MUY1NjA1ODEwMDVFRkFBQyAvKiBET01NYXRyaXgyREluaXQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTgzNkFDRUNCMUVDQTk1NkQwMDRCRDAxMiAvKiBET01NYXRyaXhJbml0
LmggaW4gSGVhZGVycyAqLywKQEAgLTMxOTg1LDE1ICszMTk4NywxMyBAQAogCQkJCTg0QzVCMkZC
MTIxNkRDODEwMDg4QjUzQSAvKiBTVkdQYXRoVHJhdmVyc2FsU3RhdGVCdWlsZGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk3MUE1N0RGMjE1NEJFMjVDMDAwOUQxMjAgLyogU1ZHUGF0aFV0aWxpdGll
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBODgwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1Bh
dHRlcm5FbGVtZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQk3Q0U1OEQ0QTFERDY0QTVCMDAxMjg1
NTIgLyogU1ZHUG9pbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QThDMEQwMEJGMjIwMDcx
Qjc4MiAvKiBTVkdQb2ludExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QThGMEQwMEJG
MjIwMDcxQjc4MiAvKiBTVkdQb2x5RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdB
OTEwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1BvbHlnb25FbGVtZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQlCMjIyN0E5NDBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUG9seWxpbmVFbGVtZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQlCMjIyN0E5NzBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUHJlc2VydmVB
c3BlY3RSYXRpby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTVEQ0M1MjgyMjQwN0IyMDAwQzI2RTMy
IC8qIFNWR1ByaW1pdGl2ZUxpc3QuaCBpbiBIZWFkZXJzICovLAotCQkJCTcyMTQ0MzMzMjIzRUM4
QjAwMEYxMkZGNyAvKiBTVkdQcm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNzIxNDQzMzQy
MjNFQzkxNjAwRjEyRkY3IC8qIFNWR1Byb3BlcnR5T3duZXIuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTcyODMxNUM3MjM0NTE4MjMwMDA3RDI3NyAvKiBTVkdQcm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMDg4QTBFMEMxMjZFRjFEQjAwOTc4RjdBIC8qIFNWR1Byb3BlcnR5VHJhaXRzLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCMjIyN0E5QTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUmFkaWFsR3Jh
ZGllbnRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwOEVERTE5RjEyQTUwQjhFMDBCOTU3
OTcgLyogU1ZHUmVjdC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGNjMDI4YzI1MTNhYjE4Y2U1
MDU3NmNmNjg3OWY2Zjc3NDE4OTc3N2UuLjJlMGMyNTlhNTZkY2JmNTMyNDAwMGMyNzI2MWIxOWQx
ODUyNmM4ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtCkBAIC0xNDQ4LDYgKzE0NDgsNyBAQCBzdWIgU2hvdWxkR2VuZXJhdGVU
b1dyYXBwZWQKICAgICBteSAoJGhhc1BhcmVudCwgJGludGVyZmFjZSkgPSBAXzsKIAogICAgIHJl
dHVybiAwIGlmIG5vdCBOZWVkc0ltcGxlbWVudGF0aW9uQ2xhc3MoJGludGVyZmFjZSk7CisgICAg
cmV0dXJuIDEgaWYgJGludGVyZmFjZS0+dHlwZS0+bmFtZSBlcSAiRE9NUG9pbnQiOwogICAgIHJl
dHVybiAxIGlmICEkaGFzUGFyZW50IG9yICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+
e0pTR2VuZXJhdGVUb05hdGl2ZU9iamVjdH07CiAgICAgcmV0dXJuIDEgaWYgJGludGVyZmFjZS0+
cGFyZW50VHlwZSAmJiAkaW50ZXJmYWNlLT5wYXJlbnRUeXBlLT5uYW1lIGVxICJFdmVudFRhcmdl
dCI7CiAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NTGl2
ZVByb3BlcnR5LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NTGl2ZVByb3BlcnR5LmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOWU1OTQ4YjY4MzU5MWNmYmVmNTczZmVmYTg5MGVjYWVjMjYyYmM5YQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01MaXZlUHJvcGVydHkuaApAQCAtMCwwICsx
LDgwIEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0OgorKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
IkRPTUxpdmVQcm9wZXJ0eU9ic2VydmVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgRE9NTGl2ZVByb3BlcnR5IHsKK3B1YmxpYzoKKyAgICAvLyBNYW5hZ2luZyB0aGUgcmVsYXRp
b25zaGlwIHdpdGggdGhlIG9ic2VydmVyLgorICAgIGJvb2wgaXNBdHRhY2hlZCgpIGNvbnN0IHsg
cmV0dXJuIG1fb2JzZXJ2ZXI7IH0KKyAgICBET01MaXZlUHJvcGVydHlPYnNlcnZlciogb2JzZXJ2
ZXIoKSBjb25zdCB7IHJldHVybiBtX29ic2VydmVyOyB9CisKKyAgICB2b2lkIGF0dGFjaChET01M
aXZlUHJvcGVydHlPYnNlcnZlciogb2JzZXJ2ZXIpCisgICAgeworICAgICAgICBBU1NFUlQoIW1f
b2JzZXJ2ZXIpOworICAgICAgICBtX29ic2VydmVyID0gb2JzZXJ2ZXI7CisgICAgfQorCisgICAg
dm9pZCBkZXRhY2goKQorICAgIHsKKyAgICAgICAgbV9vYnNlcnZlciA9IG51bGxwdHI7CisgICAg
fQorCisgICAgLy8gVHJhdmVyc2UgdGhlIG9ic2VydmVycyBjaGFpbiB0aWxsIGFuIFNWR0VsZW1l
bnQgb2JzZXJ2ZXIgaXMgcmVhY2hlZC4KKyAgICBjb25zdCBTVkdFbGVtZW50KiBzdmdDb250ZXh0
RWxlbWVudCgpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoIW1fb2JzZXJ2ZXIpCisgICAgICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuIG1fb2JzZXJ2ZXItPnByb3BlcnR5
U1ZHQ29udGV4dEVsZW1lbnQoKTsKKyAgICB9CisKKyAgICAvLyBDaGVjayBpZiB0aGUgb2JzZXJ2
ZXIgZGlzYWxsb3dzIGNoYW5naW5nIHRoaXMgcHJvcGVydHkuCisgICAgYm9vbCBpc1JlYWRPbmx5
KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX29ic2VydmVyICYmIG1fb2JzZXJ2ZXIt
PmlzUHJvcGVydHlSZWFkT25seSgqdGhpcyk7CisgICAgfQorCisgICAgLy8gQ29tbWl0IHRoZSBs
aXZlIHByb3BlcnR5IGNoYW5nZXMgdmlhIHRoZSBvYnNlcnZlcnMgY2hhaW4uCisgICAgdm9pZCBj
b21taXRDaGFuZ2UoKQorICAgIHsKKyAgICAgICAgaWYgKCFtX29ic2VydmVyKQorICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICBtX29ic2VydmVyLT5jb21taXRQcm9wZXJ0eUNoYW5nZSh0aGlz
KTsKKyAgICB9CisKK3Byb3RlY3RlZDoKKyAgICBET01MaXZlUHJvcGVydHkoRE9NTGl2ZVByb3Bl
cnR5T2JzZXJ2ZXIqIG9ic2VydmVyID0gbnVsbHB0cikKKyAgICAgICAgOiBtX29ic2VydmVyKG9i
c2VydmVyKQorICAgIHsKKyAgICB9CisKKyAgICBET01MaXZlUHJvcGVydHlPYnNlcnZlciogbV9v
YnNlcnZlciB7IG51bGxwdHIgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01MaXZlUHJvcGVydHlPYnNlcnZlci5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RPTUxpdmVQcm9wZXJ0eU9ic2VydmVyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDBh
OTA3YWMxNjYwMTk3ZmQyYzI1N2JkYjY5OGViYjMzYzk3NTIwYQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9ET01MaXZlUHJvcGVydHlPYnNlcnZlci5oCkBAIC0wLDAgKzEs
NjUgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6CisqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIERPTUxpdmVQcm9wZXJ0eTsKK2NsYXNzIFNWR0VsZW1lbnQ7CisK
K2NsYXNzIERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5E
T01MaXZlUHJvcGVydHlPYnNlcnZlcigpID0gZGVmYXVsdDsKKworICAgIC8vIFRoZSBvYnNlcnZl
ciBpdHNlbGYgbWF5IGhhdmUgYW4gb2JzZXJ2ZXIuCisgICAgdmlydHVhbCBET01MaXZlUHJvcGVy
dHlPYnNlcnZlciogb2JzZXJ2ZXIoKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9CisKKyAgICAv
LyBUcmF2ZXJzZSB0aGUgb2JzZXJ2ZXJzIGNoYWluIHRpbGwgYW4gRWxlbWVudCBvYnNlcnZlciBp
cyByZWFjaGVkLgorICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogcHJvcGVydHlTVkdDb250
ZXh0RWxlbWVudCgpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoIW9ic2VydmVyKCkpCisgICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuIG9ic2VydmVyKCktPnByb3Bl
cnR5U1ZHQ29udGV4dEVsZW1lbnQoKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNQcm9w
ZXJ0eVJlYWRPbmx5KGNvbnN0IERPTUxpdmVQcm9wZXJ0eSYgcHJvcGVydHkpIGNvbnN0CisgICAg
eworICAgICAgICByZXR1cm4gb2JzZXJ2ZXIoKSAmJiBvYnNlcnZlcigpLT5pc1Byb3BlcnR5UmVh
ZE9ubHkocHJvcGVydHkpOworICAgIH0KKworICAgIC8vIENvbW1pdCB0aGUgbGl2ZSBwcm9wZXJ0
eSBjaGFuZ2VzIHZpYSB0aGUgb2JzZXJ2ZXJzIGNoYWluLgorICAgIHZpcnR1YWwgdm9pZCBjb21t
aXRQcm9wZXJ0eUNoYW5nZShET01MaXZlUHJvcGVydHkqIHByb3BlcnR5KQorICAgIHsKKyAgICAg
ICAgaWYgKCFvYnNlcnZlcigpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBvYnNlcnZl
cigpLT5jb21taXRQcm9wZXJ0eUNoYW5nZShwcm9wZXJ0eSk7CisgICAgfQorCitwcm90ZWN0ZWQ6
CisgICAgRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIoKSA9IGRlZmF1bHQ7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUG9pbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Y2VlMWFh
YTA3YmFmMTczMzRiNGIxYzM4ZTJkZTMxZTkwODBkZTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmNwcApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICog
ICAgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFCisgKiBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsCisgKiBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorICogU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsCisgKiBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VECisgKiBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkRPTVBvaW50LmgiCisKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChE
T01Qb2ludCk7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RPTVBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUG9pbnQuaApp
bmRleCA3NzI3N2Q3ZjIxYjNmNGJjYzNjNDA0ZDUzZWUxZWM4Y2IwMzUzYmMzLi5jZjkzZjE0YzY1
MWVkZmM5MjU3NDc3ODAxOTNhYzc2ODE1ZjIzZTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRE9NUG9pbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUG9pbnQuaApAQCAt
MzAsMjcgKzMwLDcwIEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiRE9NTGl2ZVByb3Bl
cnR5LmgiCiAjaW5jbHVkZSAiRE9NUG9pbnRSZWFkT25seS5oIgorI2luY2x1ZGUgPHd0Zi9Jc29N
YWxsb2NJbmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRE9NUG9pbnQg
ZmluYWwgOiBwdWJsaWMgRE9NUG9pbnRSZWFkT25seSB7CitjbGFzcyBET01Qb2ludCBmaW5hbCA6
IHB1YmxpYyBET01Qb2ludFJlYWRPbmx5LCBwdWJsaWMgRE9NTGl2ZVByb3BlcnR5IHsKKyAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKERPTVBvaW50KTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVm
PERPTVBvaW50PiBjcmVhdGUoZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgeiA9IDAsIGRvdWJs
ZSB3ID0gMSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBET01Qb2ludCh4LCB5LCB6LCB3KSk7IH0K
ICAgICBzdGF0aWMgUmVmPERPTVBvaW50PiBjcmVhdGUoY29uc3QgRE9NUG9pbnRJbml0JiBpbml0
KSB7IHJldHVybiBjcmVhdGUoaW5pdC54LCBpbml0LnksIGluaXQueiwgaW5pdC53KTsgfQogICAg
IHN0YXRpYyBSZWY8RE9NUG9pbnQ+IGZyb21Qb2ludChjb25zdCBET01Qb2ludEluaXQmIGluaXQp
IHsgcmV0dXJuIGNyZWF0ZShpbml0LngsIGluaXQueSwgaW5pdC56LCBpbml0LncpOyB9CisgICAg
UmVmPERPTVBvaW50PiBjbG9uZSgpIGNvbnN0IHsgcmV0dXJuIGNyZWF0ZShtX3gsIG1feSwgbV96
LCBtX3cpOyB9CiAKICAgICB2b2lkIHNldFgoZG91YmxlIHgpIHsgbV94ID0geDsgfQogICAgIHZv
aWQgc2V0WShkb3VibGUgeSkgeyBtX3kgPSB5OyB9CiAgICAgdm9pZCBzZXRaKGRvdWJsZSB6KSB7
IG1feiA9IHo7IH0KICAgICB2b2lkIHNldFcoZG91YmxlIHcpIHsgbV93ID0gdzsgfQogCisgICAg
RXhjZXB0aW9uT3I8dm9pZD4gc2V0WEZvckJpbmRpbmdzKGRvdWJsZSB4KQorICAgIHsKKyAgICAg
ICAgaWYgKGlzUmVhZE9ubHkoKSkKKyAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBOb01v
ZGlmaWNhdGlvbkFsbG93ZWRFcnJvciB9OworICAgIAorICAgICAgICBtX3ggPSB4OworICAgICAg
ICBjb21taXRDaGFuZ2UoKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAgCisgICAg
RXhjZXB0aW9uT3I8dm9pZD4gc2V0WUZvckJpbmRpbmdzKGRvdWJsZSB5KQorICAgIHsKKyAgICAg
ICAgaWYgKGlzUmVhZE9ubHkoKSkKKyAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBOb01v
ZGlmaWNhdGlvbkFsbG93ZWRFcnJvciB9OworICAgIAorICAgICAgICBtX3kgPSB5OworICAgICAg
ICBjb21taXRDaGFuZ2UoKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAgCisgICAg
RXhjZXB0aW9uT3I8dm9pZD4gc2V0WkZvckJpbmRpbmdzKGRvdWJsZSB6KQorICAgIHsKKyAgICAg
ICAgaWYgKGlzUmVhZE9ubHkoKSkKKyAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBOb01v
ZGlmaWNhdGlvbkFsbG93ZWRFcnJvciB9OworICAgIAorICAgICAgICBtX3ogPSB6OworICAgICAg
ICBjb21taXRDaGFuZ2UoKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAgCisgICAg
RXhjZXB0aW9uT3I8dm9pZD4gc2V0V0ZvckJpbmRpbmdzKGRvdWJsZSB3KQorICAgIHsKKyAgICAg
ICAgaWYgKGlzUmVhZE9ubHkoKSkKKyAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBOb01v
ZGlmaWNhdGlvbkFsbG93ZWRFcnJvciB9OworICAgIAorICAgICAgICBtX3cgPSB3OworICAgICAg
ICBjb21taXRDaGFuZ2UoKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9CisgICAgCiBwcml2
YXRlOgogICAgIERPTVBvaW50KGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHosIGRvdWJsZSB3
KQogICAgICAgICA6IERPTVBvaW50UmVhZE9ubHkoeCwgeSwgeiwgdykKICAgICB7CiAgICAgfQog
fTsKLXN0YXRpY19hc3NlcnQoc2l6ZW9mKERPTVBvaW50KSA9PSBzaXplb2YoRE9NUG9pbnRSZWFk
T25seSksICIiKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RPTVBvaW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludC5p
ZGwKaW5kZXggNjliYmMyZDBmZjIwNzYxNDZmZmQ1NTI3MDRkNTc2MjI1MTlkZDYwNS4uOGRjOTEw
OWI4NWY4ZDViM2I0MzYyZDMyYjVhM2FmYTUzMjI2ZDMyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0RPTVBvaW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUG9pbnQu
aWRsCkBAIC0zNCwxNCArMzQsMTUgQEAKICAgICBDb25zdHJ1Y3RvcihvcHRpb25hbCB1bnJlc3Ry
aWN0ZWQgZG91YmxlIHggPSAwLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkgPSAwLAog
ICAgICAgICBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHogPSAwLCBvcHRpb25hbCB1bnJl
c3RyaWN0ZWQgZG91YmxlIHcgPSAxKSwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKKyAg
ICBMZWdhY3lXaW5kb3dBbGlhcz1TVkdQb2ludCwKICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUlt
cGwsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQorICAgIFNraXBWVGFibGVWYWxpZGF0
aW9uCiBdCiBpbnRlcmZhY2UgRE9NUG9pbnQgOiBET01Qb2ludFJlYWRPbmx5IHsKICAgICBbTmV3
T2JqZWN0XSBzdGF0aWMgRE9NUG9pbnQgZnJvbVBvaW50KG9wdGlvbmFsIERPTVBvaW50SW5pdCBv
dGhlcik7CiAKLSAgICBpbmhlcml0IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHg7Ci0g
ICAgaW5oZXJpdCBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB5OwotICAgIGluaGVyaXQg
YXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgejsKLSAgICBpbmhlcml0IGF0dHJpYnV0ZSB1
bnJlc3RyaWN0ZWQgZG91YmxlIHc7CisgICAgW0ltcGxlbWVudGVkQXM9eEZvckJpbmRpbmdzXSBp
bmhlcml0IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHg7CisgICAgW0ltcGxlbWVudGVk
QXM9eUZvckJpbmRpbmdzXSBpbmhlcml0IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHk7
CisgICAgW0ltcGxlbWVudGVkQXM9ekZvckJpbmRpbmdzXSBpbmhlcml0IGF0dHJpYnV0ZSB1bnJl
c3RyaWN0ZWQgZG91YmxlIHo7CisgICAgW0ltcGxlbWVudGVkQXM9d0ZvckJpbmRpbmdzXSBpbmhl
cml0IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHc7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50UmVhZE9ubHkuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
T01Qb2ludFJlYWRPbmx5LmgKaW5kZXggMGE2OGZkZjFiYzE5NGU0MzE3ZTFiNTVmYWQ4OWQ0NmRh
ZWZlNzIxMS4uOWE0ZGI2NjA5MTQ1NTk4MmFmNmY4YTc1MTM1NGI2ZmMwMjZmNDAxYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50UmVhZE9ubHkuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRE9NUG9pbnRSZWFkT25seS5oCkBAIC00Myw2ICs0Myw3IEBAIGNsYXNzIERP
TVBvaW50OwogY2xhc3MgRE9NUG9pbnRSZWFkT25seSA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUs
IHB1YmxpYyBSZWZDb3VudGVkPERPTVBvaW50UmVhZE9ubHk+IHsKICAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKERPTVBvaW50UmVhZE9ubHkpOwogcHVibGljOgorICAgIHZpcnR1YWwgfkRPTVBv
aW50UmVhZE9ubHkoKSA9IGRlZmF1bHQ7CiAgICAgc3RhdGljIFJlZjxET01Qb2ludFJlYWRPbmx5
PiBjcmVhdGUoZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgeiwgZG91YmxlIHcpIHsgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgRE9NUG9pbnRSZWFkT25seSh4LCB5LCB6LCB3KSk7IH0KICAgICBzdGF0
aWMgUmVmPERPTVBvaW50UmVhZE9ubHk+IGNyZWF0ZShjb25zdCBET01Qb2ludEluaXQmIGluaXQp
IHsgcmV0dXJuIGNyZWF0ZShpbml0LngsIGluaXQueSwgaW5pdC56LCBpbml0LncpOyB9CiAgICAg
c3RhdGljIFJlZjxET01Qb2ludFJlYWRPbmx5PiBmcm9tUG9pbnQoY29uc3QgRE9NUG9pbnRJbml0
JiBpbml0KSB7IHJldHVybiBjcmVhdGUoaW5pdC54LCBpbml0LnksIGluaXQueiwgaW5pdC53KTsg
fQpAQCAtNTIsNiArNTMsMTEgQEAgcHVibGljOgogICAgIGRvdWJsZSB6KCkgY29uc3QgeyByZXR1
cm4gbV96OyB9CiAgICAgZG91YmxlIHcoKSBjb25zdCB7IHJldHVybiBtX3c7IH0KIAorICAgIGRv
dWJsZSB4Rm9yQmluZGluZ3MoKSBjb25zdCB7IHJldHVybiBtX3g7IH0KKyAgICBkb3VibGUgeUZv
ckJpbmRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV95OyB9CisgICAgZG91YmxlIHpGb3JCaW5kaW5n
cygpIGNvbnN0IHsgcmV0dXJuIG1fejsgfQorICAgIGRvdWJsZSB3Rm9yQmluZGluZ3MoKSBjb25z
dCB7IHJldHVybiBtX3c7IH0KKwogICAgIEV4Y2VwdGlvbk9yPFJlZjxET01Qb2ludD4+IG1hdHJp
eFRyYW5zZm9ybShET01NYXRyaXhJbml0JiYpIGNvbnN0OwogCiBwcm90ZWN0ZWQ6CkBAIC03MSw0
ICs3NywzIEBAIHByb3RlY3RlZDoKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50UmVhZE9ubHkuaWRsIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RPTVBvaW50UmVhZE9ubHkuaWRsCmluZGV4IDNmZmQ2NmZkNzEyMWE5ZGM3
Y2M1Zjg1NzNhNzZhNzg5NzQ0Zjk2OGUuLjQxYzNjNGU1Mzg2YjYzY2E3ZTY3NGFiNDNiNTMwN2Zh
ZTVhMDgyNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludFJlYWRPbmx5
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUG9pbnRSZWFkT25seS5pZGwKQEAgLTM0
LDE1ICszNCwxNSBAQAogICAgIENvbnN0cnVjdG9yKG9wdGlvbmFsIHVucmVzdHJpY3RlZCBkb3Vi
bGUgeCA9IDAsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBkb3VibGUgeSA9IDAsCiAgICAgICAgIG9w
dGlvbmFsIHVucmVzdHJpY3RlZCBkb3VibGUgeiA9IDAsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBk
b3VibGUgdyA9IDEpLAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAotICAgIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUKKyAgICBTa2lwVlRhYmxlVmFsaWRhdGlvbgogXQogaW50ZXJmYWNl
IERPTVBvaW50UmVhZE9ubHkgewogICAgIFtOZXdPYmplY3RdIHN0YXRpYyBET01Qb2ludFJlYWRP
bmx5IGZyb21Qb2ludChvcHRpb25hbCBET01Qb2ludEluaXQgb3RoZXIpOwogCi0gICAgcmVhZG9u
bHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgeDsKLSAgICByZWFkb25seSBhdHRyaWJ1
dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB5OwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnJlc3Ry
aWN0ZWQgZG91YmxlIHo7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3Vi
bGUgdzsKKyAgICBbSW1wbGVtZW50ZWRBcz14Rm9yQmluZGluZ3NdIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHg7CisgICAgW0ltcGxlbWVudGVkQXM9eUZvckJpbmRpbmdz
XSByZWFkb25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB5OworICAgIFtJbXBsZW1l
bnRlZEFzPXpGb3JCaW5kaW5nc10gcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3Vi
bGUgejsKKyAgICBbSW1wbGVtZW50ZWRBcz13Rm9yQmluZGluZ3NdIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHc7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVBv
aW50IG1hdHJpeFRyYW5zZm9ybShvcHRpb25hbCBET01NYXRyaXhJbml0IG1hdHJpeCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVu
dC5jcHAKaW5kZXggMTVjMDU2ZDc2NDMwMTc1OWY2YmNlMGU1YmY5NjcyNWYwYTkxZWZhMC4uOTFm
YzJiNDk5OTg5MDY3MTFiNjljMzQ4MjdiNDhmYTY2YjEwYmQ0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5jcHAKQEAgLTI2
LDYgKzI2LDExIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50
YXRpb25Pck1vdGlvbkV2ZW50LmgiCiAKKyNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQor
I2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxlci5oIgor
I2VuZGlmCisKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgog
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUGF0aERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5jcHAKaW5kZXggMmJhYjE4MDJhNjU1NGQ5MWI1NWEwOTc4
NjU4ODE2ZTAyMTcxYzEzZi4uZGVlZDM3MDMyOWEwMmY0MmExNWI1OWFhODVmZWMyMjk0NWFjYjc2
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5jcHAKQEAg
LTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTVkdQYXRoRGF0
YS5oIgogCisjaW5jbHVkZSAiRE9NUG9pbnQuaCIKICNpbmNsdWRlICJQYXRoLmgiCiAjaW5jbHVk
ZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCkBAIC0zMCw3ICsz
MSw2IEBACiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJTVkdQYXRoRWxlbWVudC5o
IgogI2luY2x1ZGUgIlNWR1BhdGhVdGlsaXRpZXMuaCIKLSNpbmNsdWRlICJTVkdQb2ludC5oIgog
I2luY2x1ZGUgIlNWR1BvaW50TGlzdC5oIgogI2luY2x1ZGUgIlNWR1BvbHlnb25FbGVtZW50Lmgi
CiAjaW5jbHVkZSAiU1ZHUG9seWxpbmVFbGVtZW50LmgiCkBAIC0xMDUsMTEgKzEwNSwxMSBAQCBz
dGF0aWMgUGF0aCBwYXRoRnJvbVBvbHlnb25FbGVtZW50KGNvbnN0IFNWR0VsZW1lbnQmIGVsZW1l
bnQpCiAgICAgICAgIHJldHVybiB7IH07CiAKICAgICBQYXRoIHBhdGg7Ci0gICAgcGF0aC5tb3Zl
VG8ocG9pbnRzLmZpcnN0KCktPnZhbHVlKCkpOworICAgIHBhdGgubW92ZVRvKEZsb2F0UG9pbnQo
cG9pbnRzLmZpcnN0KCktPngoKSwgcG9pbnRzLmZpcnN0KCktPnkoKSkpOwogCiAgICAgdW5zaWdu
ZWQgc2l6ZSA9IHBvaW50cy5zaXplKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IHNp
emU7ICsraSkKLSAgICAgICAgcGF0aC5hZGRMaW5lVG8ocG9pbnRzLmF0KGkpLT52YWx1ZSgpKTsK
KyAgICAgICAgcGF0aC5hZGRMaW5lVG8oRmxvYXRQb2ludChwb2ludHMuYXQoaSktPngoKSwgcG9p
bnRzLmF0KGkpLT55KCkpKTsKIAogICAgIHBhdGguY2xvc2VTdWJwYXRoKCk7CiAgICAgcmV0dXJu
IHBhdGg7CkBAIC0xMjIsMTEgKzEyMiwxMSBAQCBzdGF0aWMgUGF0aCBwYXRoRnJvbVBvbHlsaW5l
RWxlbWVudChjb25zdCBTVkdFbGVtZW50JiBlbGVtZW50KQogICAgICAgICByZXR1cm4geyB9Owog
CiAgICAgUGF0aCBwYXRoOwotICAgIHBhdGgubW92ZVRvKHBvaW50cy5maXJzdCgpLT52YWx1ZSgp
KTsKKyAgICBwYXRoLm1vdmVUbyhGbG9hdFBvaW50KHBvaW50cy5maXJzdCgpLT54KCksIHBvaW50
cy5maXJzdCgpLT55KCkpKTsKIAogICAgIHVuc2lnbmVkIHNpemUgPSBwb2ludHMuc2l6ZSgpOwog
ICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkgPCBzaXplOyArK2kpCi0gICAgICAgIHBhdGguYWRk
TGluZVRvKHBvaW50cy5hdChpKS0+dmFsdWUoKSk7CisgICAgICAgIHBhdGguYWRkTGluZVRvKEZs
b2F0UG9pbnQocG9pbnRzLmF0KGkpLT54KCksIHBvaW50cy5hdChpKS0+eSgpKSk7CiAgICAgcmV0
dXJuIHBhdGg7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmdsZS5o
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuZ2xlLmgKaW5kZXggOWM2MTczMmFlOTMxYzk4NTRl
NzU2OWUxY2IyMmE2ZWQ4ZGFmNWIwMy4uMDRiMjE2ZmE3NmVlMGFjMjg3NmE2M2UwZDZiMzk1NGEz
ODY1YWVmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuZ2xlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuZ2xlLmgKQEAgLTQxLDkgKzQxLDkgQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdBbmdsZSh2YWx1ZSkpOwogICAgIH0KIAot
ICAgIHN0YXRpYyBSZWY8U1ZHQW5nbGU+IGNyZWF0ZShTVkdQcm9wZXJ0eU93bmVyKiBvd25lciwg
U1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzLCBjb25zdCBTVkdBbmdsZVZhbHVlJiB2YWx1ZSA9IHsg
fSkKKyAgICBzdGF0aWMgUmVmPFNWR0FuZ2xlPiBjcmVhdGUoRE9NTGl2ZVByb3BlcnR5T2JzZXJ2
ZXIqIG9ic2VydmVyLCBjb25zdCBTVkdBbmdsZVZhbHVlJiB2YWx1ZSA9IHsgfSkKICAgICB7Ci0g
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR0FuZ2xlKG93bmVyLCBhY2Nlc3MsIHZhbHVl
KSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR0FuZ2xlKG9ic2VydmVyLCB2YWx1
ZSkpOwogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxl
bWVudC5jcHAKaW5kZXggMTZjM2FmYzIxNTNiNjhkYTlkODUzNjU2OTYyNjA1YzhlMTBhNWFmNC4u
MjA0YzIyYmIzNmRkYTA4NjI4MTM5MTcyMzBmZDRlOTQwMTFmNDk0ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdFbGVtZW50LmNwcApAQCAtNTQxLDIwICs1NDEsMjMgQEAgdm9pZCBTVkdFbGVtZW50OjphdHRy
aWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21TdHJpbmcm
IG8KICAgICAgICAgc3ZnQXR0cmlidXRlQ2hhbmdlZChuYW1lKTsKIH0KIAotdm9pZCBTVkdFbGVt
ZW50OjpzeW5jaHJvbml6ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKQordm9p
ZCBTVkdFbGVtZW50OjpzeW5jaHJvbml6ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBh
dHRyaWJ1dGVOYW1lKQogewotICAgIC8vIElmIHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgaGFz
IGNoYW5nZWQsIHNlcmlhbGl6ZSB0aGUgbmV3IHZhbHVlIHRvIHRoZSBhdHRyaWJ1dGUuCi0gICAg
aWYgKGF1dG8gdmFsdWUgPSBwcm9wZXJ0eVJlZ2lzdHJ5KCkuc3luY2hyb25pemUobmFtZSkpCi0g
ICAgICAgIHNldFN5bmNocm9uaXplZExhenlBdHRyaWJ1dGUobmFtZSwgKnZhbHVlKTsKKyAgICBh
dXRvIGl0ID0gbV9kaXJ0eUF0dHJpYnV0ZXMuZmluZChhdHRyaWJ1dGVOYW1lKTsKKyAgICBpZiAo
aXQgPT0gbV9kaXJ0eUF0dHJpYnV0ZXMuZW5kKCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAg
ICAvLyBJZiB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5IGhhcyBjaGFuZ2VkLCByZXNlcmlhbGl6
ZSB0aGUgbmV3IHZhbHVlIHRvIHRoZSBhdHRyaWJ1dGUuCisgICAgc2V0U3luY2hyb25pemVkTGF6
eUF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lLCBwcm9wZXJ0eVJlZ2lzdHJ5KCkudmFsdWVBc1N0cmlu
ZyhhdHRyaWJ1dGVOYW1lKSk7CisgICAgbV9kaXJ0eUF0dHJpYnV0ZXMucmVtb3ZlKGl0KTsKIH0K
ICAgICAKIHZvaWQgU1ZHRWxlbWVudDo6c3luY2hyb25pemVBbGxBdHRyaWJ1dGVzKCkKIHsKLSAg
ICAvLyBTVkdQcm9wZXJ0eVJlZ2lzdHJ5OjpzeW5jaHJvbml6ZUFsbEF0dHJpYnV0ZXMoKSByZXR1
cm5zIHRoZSBuZXcgdmFsdWVzIG9mCi0gICAgLy8gdGhlIHByb3BlcnRpZXMgd2hpY2ggaGF2ZSBj
aGFuZ2VkIGJ1dCBub3QgY29tbWl0dGVkIHlldC4KLSAgICBhdXRvIG1hcCA9IHByb3BlcnR5UmVn
aXN0cnkoKS5zeW5jaHJvbml6ZUFsbEF0dHJpYnV0ZXMoKTsKLSAgICBmb3IgKGNvbnN0IGF1dG8m
IGVudHJ5IDogbWFwKQotICAgICAgICBzZXRTeW5jaHJvbml6ZWRMYXp5QXR0cmlidXRlKGVudHJ5
LmtleSwgZW50cnkudmFsdWUpOworICAgIC8vIFJlc2VyaWFsaXplIHRoZSB2YWx1ZXMgb2YgdGhl
IGNoYW5nZWQgcHJvcGVydGllcyB0byB0aGVpciBhdHRyaWJ1dGVzLgorICAgIGZvciAoYXV0byYg
YXR0cmlidXRlTmFtZSA6IG1fZGlydHlBdHRyaWJ1dGVzKQorICAgICAgICBzZXRTeW5jaHJvbml6
ZWRMYXp5QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUsIHByb3BlcnR5UmVnaXN0cnkoKS52YWx1ZUFz
U3RyaW5nKGF0dHJpYnV0ZU5hbWUpKTsKKyAgICBtX2RpcnR5QXR0cmlidXRlcy5jbGVhcigpOwog
fQogCiB2b2lkIFNWR0VsZW1lbnQ6OnN5bmNocm9uaXplQWxsQW5pbWF0ZWRTVkdBdHRyaWJ1dGUo
U1ZHRWxlbWVudCYgc3ZnRWxlbWVudCkKQEAgLTU2MiwxNSArNTY1LDE4IEBAIHZvaWQgU1ZHRWxl
bWVudDo6c3luY2hyb25pemVBbGxBbmltYXRlZFNWR0F0dHJpYnV0ZShTVkdFbGVtZW50JiBzdmdF
bGVtZW50KQogICAgIHN2Z0VsZW1lbnQuc3luY2hyb25pemVBbGxBdHRyaWJ1dGVzKCk7CiB9CiAK
LXZvaWQgU1ZHRWxlbWVudDo6Y29tbWl0UHJvcGVydHlDaGFuZ2UoU1ZHUHJvcGVydHkqIHByb3Bl
cnR5KQordm9pZCBTVkdFbGVtZW50Ojpjb21taXRQcm9wZXJ0eUNoYW5nZShET01MaXZlUHJvcGVy
dHkqIHByb3BlcnR5KQogeworICAgIFF1YWxpZmllZE5hbWUgYXR0cmlidXRlTmFtZSA9IHByb3Bl
cnR5UmVnaXN0cnkoKS5wcm9wZXJ0eUF0dHJpYnV0ZU5hbWUoKnByb3BlcnR5KTsKKyAgICBBU1NF
UlQoYXR0cmlidXRlTmFtZSAhPSBudWxsUU5hbWUoKSk7CisKICAgICAvLyBXZSB3YW50IHRvIGRp
cnR5IHRoZSB0b3AtbGV2ZWwgcHJvcGVydHkgd2hlbiBhIGRlc2NlbmRhbnQgY2hhbmdlcy4gRm9y
IGV4YW1wbGUKICAgICAvLyBhIGNoYW5nZSBpbiBhbiBTVkdMZW5ndGggaXRlbSBpbiBTVkdMZW5n
dGhMaXN0IHNob3VsZCBzZXQgdGhlIGRpcnR5IGZsYWcgb24KICAgICAvLyBTVkdMZW5ndGhMaXN0
IGFuZCBub3QgdGhlIFNWR0xlbmd0aC4KLSAgICBwcm9wZXJ0eS0+c2V0RGlydHkoKTsKKyAgICBt
X2RpcnR5QXR0cmlidXRlcy5hZGQoYXR0cmlidXRlTmFtZSk7CiAKICAgICBpbnZhbGlkYXRlU1ZH
QXR0cmlidXRlcygpOwotICAgIHN2Z0F0dHJpYnV0ZUNoYW5nZWQocHJvcGVydHlSZWdpc3RyeSgp
LnByb3BlcnR5QXR0cmlidXRlTmFtZSgqcHJvcGVydHkpKTsKKyAgICBzdmdBdHRyaWJ1dGVDaGFu
Z2VkKGF0dHJpYnV0ZU5hbWUpOwogfQogCiB2b2lkIFNWR0VsZW1lbnQ6OmNvbW1pdFByb3BlcnR5
Q2hhbmdlKFNWR0FuaW1hdGVkUHJvcGVydHkmIGFuaW1hdGVkUHJvcGVydHkpCkBAIC01ODEsNyAr
NTg3LDcgQEAgdm9pZCBTVkdFbGVtZW50Ojpjb21taXRQcm9wZXJ0eUNoYW5nZShTVkdBbmltYXRl
ZFByb3BlcnR5JiBhbmltYXRlZFByb3BlcnR5KQogICAgIC8vIEEgY2hhbmdlIGluIGEgc3R5bGUg
cHJvcGVydHksIGUuZyBTVkdSZWN0RWxlbWVudDo6eCBzaG91bGQgYmUgc2VyaWFsaXplZCB0bwog
ICAgIC8vIHRoZSBhdHRyaWJ1dGUgaW1tZWRpYXRlbHkuIE90aGVyd2lzZSBpdCBpcyBva2F5IHRv
IGJlIGxhenkgaW4gdGhpcyByZWdhcmQuCiAgICAgaWYgKCFwcm9wZXJ0eVJlZ2lzdHJ5KCkuaXNB
bmltYXRlZFN0eWxlUHJvcGVydHlBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSkpCi0gICAgICAgIGFu
aW1hdGVkUHJvcGVydHkuc2V0RGlydHkoKTsKKyAgICAgICAgbV9kaXJ0eUF0dHJpYnV0ZXMuYWRk
KGF0dHJpYnV0ZU5hbWUpOwogICAgIGVsc2UKICAgICAgICAgc2V0U3luY2hyb25pemVkTGF6eUF0
dHJpYnV0ZShhdHRyaWJ1dGVOYW1lLCBhbmltYXRlZFByb3BlcnR5LmJhc2VWYWxBc1N0cmluZygp
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKaW5kZXggOGNjNmFhY2E2NTc2ODBlZThkM2YzZjQ2
Yzg3ODJhZDIyNTVjNzc0Mi4uZDkwODc2YWZmYjc0ZTYxNTMzMjNlNTM0Yzg4OTdmZDhkZTU2ZTBk
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCkBAIC00Nyw3ICs0Nyw3IEBAIGNsYXNzIFNWR1Vz
ZUVsZW1lbnQ7CiAKIHZvaWQgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShIYXNoTWFwPEF0b21T
dHJpbmdJbXBsKiwgQ1NTUHJvcGVydHlJRD4qIHByb3BlcnR5TmFtZVRvSWRNYXAsIGNvbnN0IFF1
YWxpZmllZE5hbWUmIGF0dHJOYW1lKTsKIAotY2xhc3MgU1ZHRWxlbWVudCA6IHB1YmxpYyBTdHls
ZWRFbGVtZW50LCBwdWJsaWMgU1ZHTGFuZ1NwYWNlLCBwdWJsaWMgU1ZHUHJvcGVydHlPd25lciB7
CitjbGFzcyBTVkdFbGVtZW50IDogcHVibGljIFN0eWxlZEVsZW1lbnQsIHB1YmxpYyBTVkdMYW5n
U3BhY2UsIHB1YmxpYyBET01MaXZlUHJvcGVydHlPYnNlcnZlciB7CiAgICAgV1RGX01BS0VfSVNP
X0FMTE9DQVRFRChTVkdFbGVtZW50KTsKIHB1YmxpYzoKICAgICBib29sIGlzT3V0ZXJtb3N0U1ZH
U1ZHRWxlbWVudCgpIGNvbnN0OwpAQCAtMTM2LDEwICsxMzYsMTAgQEAgcHVibGljOgogICAgIHZv
aWQgc3luY2hyb25pemVBbGxBdHRyaWJ1dGVzKCk7CiAgICAgc3RhdGljIHZvaWQgc3luY2hyb25p
emVBbGxBbmltYXRlZFNWR0F0dHJpYnV0ZShTVkdFbGVtZW50Jik7CiAKLSAgICB2b2lkIGNvbW1p
dFByb3BlcnR5Q2hhbmdlKFNWR1Byb3BlcnR5Kikgb3ZlcnJpZGU7CisgICAgdm9pZCBjb21taXRQ
cm9wZXJ0eUNoYW5nZShET01MaXZlUHJvcGVydHkqKSBvdmVycmlkZTsKICAgICB2b2lkIGNvbW1p
dFByb3BlcnR5Q2hhbmdlKFNWR0FuaW1hdGVkUHJvcGVydHkmKTsKIAotICAgIGNvbnN0IFNWR0Vs
ZW1lbnQqIGF0dHJpYnV0ZUNvbnRleHRFbGVtZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
dGhpczsgfQorICAgIGNvbnN0IFNWR0VsZW1lbnQqIHByb3BlcnR5U1ZHQ29udGV4dEVsZW1lbnQo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0aGlzOyB9CiAgICAgU1ZHUHJvcGVydHlBbmltYXRv
ckZhY3RvcnkmIHByb3BlcnR5QW5pbWF0b3JGYWN0b3J5KCkgeyByZXR1cm4gKm1fcHJvcGVydHlB
bmltYXRvckZhY3Rvcnk7IH0KICAgICBSZWZQdHI8U1ZHQXR0cmlidXRlQW5pbWF0b3I+IGNyZWF0
ZUFuaW1hdG9yKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBBbmltYXRpb25Nb2RlLCBDYWxjTW9kZSwg
Ym9vbCBpc0FjY3VtdWxhdGVkLCBib29sIGlzQWRkaXRpdmUpOwogICAgIHZvaWQgYW5pbWF0b3JX
aWxsQmVEZWxldGVkKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKQEAgLTE5Niw2ICsxOTYsNyBAQCBw
cml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeT4g
bV9wcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTsKIAogICAgIFByb3BlcnR5UmVnaXN0cnkgbV9wcm9w
ZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKKyAgICBIYXNoU2V0PFF1YWxpZmllZE5hbWU+IG1fZGly
dHlBdHRyaWJ1dGVzOwogICAgIFJlZjxTVkdBbmltYXRlZFN0cmluZz4gbV9jbGFzc05hbWUgeyBT
VkdBbmltYXRlZFN0cmluZzo6Y3JlYXRlKHRoaXMpIH07CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGaXRUb1ZpZXdCb3guY3BwCmluZGV4IDFmNDdkMzY4ZTkwMzFmNDRhMGJlMGZkMjQzNTBjNzJk
MTQxZjY1NDkuLmE0NDBjNmMyYjMyOWE2M2UxMDk4ZjYzZGQ4MWY5OTczMDlkYzIyYTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCkBAIC0zNCw5ICszNCwxMCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNWR0ZpdFRvVmlld0JveDo6U1ZHRml0VG9WaWV3Qm94KFNW
R0VsZW1lbnQqIGNvbnRleHRFbGVtZW50LCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MpCi0gICAg
OiBtX3ZpZXdCb3goU1ZHQW5pbWF0ZWRSZWN0OjpjcmVhdGUoY29udGV4dEVsZW1lbnQsIGFjY2Vz
cykpCi0gICAgLCBtX3ByZXNlcnZlQXNwZWN0UmF0aW8oU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVj
dFJhdGlvOjpjcmVhdGUoY29udGV4dEVsZW1lbnQsIGFjY2VzcykpCitTVkdGaXRUb1ZpZXdCb3g6
OlNWR0ZpdFRvVmlld0JveChTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCkKKyAgICA6IG1fdmll
d0JveChTVkdBbmltYXRlZFJlY3Q6OmNyZWF0ZShzdGF0aWNfY2FzdDx2b2lkKj4oY29udGV4dEVs
ZW1lbnQpID09IHRoaXMgPyBjb250ZXh0RWxlbWVudCA6IG51bGxwdHIpKQorICAgICwgbV9wcmVz
ZXJ2ZUFzcGVjdFJhdGlvKFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbzo6Y3JlYXRlKHN0
YXRpY19jYXN0PHZvaWQqPihjb250ZXh0RWxlbWVudCkgPT0gdGhpcyA/IGNvbnRleHRFbGVtZW50
IDogbnVsbHB0cikpCisgICAgLCBtX2NvbnRleHRFbGVtZW50KGNvbnRleHRFbGVtZW50KQogewog
ICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNlRmxhZzsKICAgICBzdGQ6OmNhbGxfb25jZShv
bmNlRmxhZywgW10gewpAQCAtMTA0LDI5ICsxMDUsMjkgQEAgYm9vbCBTVkdGaXRUb1ZpZXdCb3g6
OnBhcnNlVmlld0JveChjb25zdCBVQ2hhciomIGMsIGNvbnN0IFVDaGFyKiBlbmQsIEZsb2F0UmVj
dCYKICAgICBib29sIHZhbGlkID0gcGFyc2VOdW1iZXIoYywgZW5kLCB4KSAmJiBwYXJzZU51bWJl
cihjLCBlbmQsIHkpICYmIHBhcnNlTnVtYmVyKGMsIGVuZCwgd2lkdGgpICYmIHBhcnNlTnVtYmVy
KGMsIGVuZCwgaGVpZ2h0LCBmYWxzZSk7CiAKICAgICBpZiAodmFsaWRhdGUpIHsKLSAgICAgICAg
RG9jdW1lbnQmIGRvY3VtZW50ID0gbV92aWV3Qm94LT5jb250ZXh0RWxlbWVudCgpLT5kb2N1bWVu
dCgpOworICAgICAgICBhdXRvJiBkb2N1bWVudEV4dGVuc2lvbnMgPSBtX2NvbnRleHRFbGVtZW50
LT5kb2N1bWVudCgpLmFjY2Vzc1NWR0V4dGVuc2lvbnMoKTsKIAogICAgICAgICBpZiAoIXZhbGlk
KSB7Ci0gICAgICAgICAgICBkb2N1bWVudC5hY2Nlc3NTVkdFeHRlbnNpb25zKCkucmVwb3J0V2Fy
bmluZygiUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9XCIiICsgc3RyICsgIlwiIik7CisgICAgICAg
ICAgICBkb2N1bWVudEV4dGVuc2lvbnMucmVwb3J0V2FybmluZygiUHJvYmxlbSBwYXJzaW5nIHZp
ZXdCb3g9XCIiICsgc3RyICsgIlwiIik7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIH0KIAogICAgICAgICAvLyBDaGVjayB0aGF0IHdpZHRoIGlzIHBvc2l0aXZlLgogICAgICAg
ICBpZiAod2lkdGggPCAwLjApIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmFjY2Vzc1NWR0V4dGVu
c2lvbnMoKS5yZXBvcnRFcnJvcigiQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgVmlld0JveCB3aWR0aCBp
cyBub3QgYWxsb3dlZCIpOworICAgICAgICAgICAgZG9jdW1lbnRFeHRlbnNpb25zLnJlcG9ydEVy
cm9yKCJBIG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IHdpZHRoIGlzIG5vdCBhbGxvd2VkIik7
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KIAogICAgICAgICAvLyBDaGVj
ayB0aGF0IGhlaWdodCBpcyBwb3NpdGl2ZS4KICAgICAgICAgaWYgKGhlaWdodCA8IDAuMCkgewot
ICAgICAgICAgICAgZG9jdW1lbnQuYWNjZXNzU1ZHRXh0ZW5zaW9ucygpLnJlcG9ydEVycm9yKCJB
IG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IGhlaWdodCBpcyBub3QgYWxsb3dlZCIpOworICAg
ICAgICAgICAgZG9jdW1lbnRFeHRlbnNpb25zLnJlcG9ydEVycm9yKCJBIG5lZ2F0aXZlIHZhbHVl
IGZvciBWaWV3Qm94IGhlaWdodCBpcyBub3QgYWxsb3dlZCIpOwogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICB9CiAKICAgICAgICAgLy8gTm90aGluZyBzaG91bGQgY29tZSBhZnRl
ciB0aGUgbGFzdCwgZm91cnRoIG51bWJlci4KICAgICAgICAgc2tpcE9wdGlvbmFsU1ZHU3BhY2Vz
KGMsIGVuZCk7CiAgICAgICAgIGlmIChjIDwgZW5kKSB7Ci0gICAgICAgICAgICBkb2N1bWVudC5h
Y2Nlc3NTVkdFeHRlbnNpb25zKCkucmVwb3J0V2FybmluZygiUHJvYmxlbSBwYXJzaW5nIHZpZXdC
b3g9XCIiICsgc3RyICsgIlwiIik7CisgICAgICAgICAgICBkb2N1bWVudEV4dGVuc2lvbnMucmVw
b3J0V2FybmluZygiUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9XCIiICsgc3RyICsgIlwiIik7CiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRml0VG9WaWV3Qm94LmgKaW5kZXggOTA3ZDY1NWNkMWIxYjliMzcyYTIwZjgxODkyMzYwNDJl
MjBmMGZkMC4uNTk2ZGZkYzFkMDU2N2EwNDdmNWI4OWNhZGE1ODQwN2JjNDlmYjQxYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guaApAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBoYXNFbXB0eVZpZXdCb3goKSBjb25zdCB7IHJldHVybiBtX2lzVmlld0JveFZhbGlk
ICYmIHZpZXdCb3goKS5pc0VtcHR5KCk7IH0KIAogcHJvdGVjdGVkOgotICAgIFNWR0ZpdFRvVmll
d0JveChTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCwgU1ZHUHJvcGVydHlBY2Nlc3MgPSBTVkdQ
cm9wZXJ0eUFjY2Vzczo6UmVhZFdyaXRlKTsKKyAgICBTVkdGaXRUb1ZpZXdCb3goU1ZHRWxlbWVu
dCogY29udGV4dEVsZW1lbnQpOwogCiAgICAgc3RhdGljIGJvb2wgaXNLbm93bkF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSB7IHJldHVybiBQcm9wZXJ0eVJlZ2lz
dHJ5Ojppc0tub3duQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpOyB9CiAKQEAgLTcxLDYgKzcxLDcg
QEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICBSZWY8U1ZHQW5pbWF0ZWRSZWN0PiBtX3ZpZXdC
b3g7CiAgICAgUmVmPFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbz4gbV9wcmVzZXJ2ZUFz
cGVjdFJhdGlvOworICAgIFNWR0VsZW1lbnQqIG1fY29udGV4dEVsZW1lbnQgeyBudWxscHRyIH07
CiAgICAgYm9vbCBtX2lzVmlld0JveFZhbGlkIHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5jcHAKaW5kZXggYjNkMzAxYzBmMGY3OTA5YTVjOWI4
MTI4OGIxNzA1MDg3YTU5MDZmOC4uYzMyY2ZhNGZmMzhhMDZkNDk3MTY0ZjViM2UyNWRiZjE1MmQy
Nzc3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5jcHAKQEAgLTI4
LDcgKzI4LDYgQEAKICNpbmNsdWRlICJSZW5kZXJTVkdTaGFwZS5oIgogI2luY2x1ZGUgIlNWR0Rv
Y3VtZW50RXh0ZW5zaW9ucy5oIgogI2luY2x1ZGUgIlNWR1BhdGhVdGlsaXRpZXMuaCIKLSNpbmNs
dWRlICJTVkdQb2ludC5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU1LDcgKzU0LDcgQEAgZmxvYXQgU1ZHR2VvbWV0cnlFbGVt
ZW50OjpnZXRUb3RhbExlbmd0aCgpIGNvbnN0CiAgICAgcmV0dXJuIHJlbmRlcmVyLT5nZXRUb3Rh
bExlbmd0aCgpOwogfQogCi1SZWY8U1ZHUG9pbnQ+IFNWR0dlb21ldHJ5RWxlbWVudDo6Z2V0UG9p
bnRBdExlbmd0aChmbG9hdCBkaXN0YW5jZSkgY29uc3QKK1JlZjxET01Qb2ludD4gU1ZHR2VvbWV0
cnlFbGVtZW50OjpnZXRQb2ludEF0TGVuZ3RoKGZsb2F0IGRpc3RhbmNlKSBjb25zdAogewogICAg
IEZsb2F0UG9pbnQgcG9pbnQgeyB9OwogCkBAIC02NSw3ICs2NCw3IEBAIFJlZjxTVkdQb2ludD4g
U1ZHR2VvbWV0cnlFbGVtZW50OjpnZXRQb2ludEF0TGVuZ3RoKGZsb2F0IGRpc3RhbmNlKSBjb25z
dAogICAgIGlmIChyZW5kZXJlcikKICAgICAgICAgcmVuZGVyZXItPmdldFBvaW50QXRMZW5ndGgo
cG9pbnQsIGRpc3RhbmNlKTsKIAotICAgIHJldHVybiBTVkdQb2ludDo6Y3JlYXRlKHBvaW50KTsK
KyAgICByZXR1cm4gRE9NUG9pbnQ6OmNyZWF0ZShwb2ludC54KCksIHBvaW50LnkoKSk7CiB9CiAK
IGJvb2wgU1ZHR2VvbWV0cnlFbGVtZW50Ojppc1BvaW50SW5GaWxsKERPTVBvaW50SW5pdCYmIHBv
aW50SW5pdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaAppbmRleCA1NTVj
YjE5OTQzYzE4NTA0N2NiMzVlNDBlMzk3ZjYxYjBjZDA2YjYwLi5jZTFiYTE0YzA0ZjU3YTc3Nzhm
ZTA5YTU5YTNiNjMwYjY4ODIxMWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
R2VvbWV0cnlFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dlb21ldHJ5RWxl
bWVudC5oCkBAIC0yOSwxMyArMjksMTMgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0
IERPTVBvaW50SW5pdDsKLWNsYXNzIFNWR1BvaW50OworY2xhc3MgRE9NUG9pbnQ7CiAKIGNsYXNz
IFNWR0dlb21ldHJ5RWxlbWVudCA6IHB1YmxpYyBTVkdHcmFwaGljc0VsZW1lbnQgewogICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHR2VvbWV0cnlFbGVtZW50KTsKIHB1YmxpYzoKICAgICB2
aXJ0dWFsIGZsb2F0IGdldFRvdGFsTGVuZ3RoKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBSZWY8U1ZH
UG9pbnQ+IGdldFBvaW50QXRMZW5ndGgoZmxvYXQgZGlzdGFuY2UpIGNvbnN0OworICAgIHZpcnR1
YWwgUmVmPERPTVBvaW50PiBnZXRQb2ludEF0TGVuZ3RoKGZsb2F0IGRpc3RhbmNlKSBjb25zdDsK
IAogICAgIGJvb2wgaXNQb2ludEluRmlsbChET01Qb2ludEluaXQmJik7CiAgICAgYm9vbCBpc1Bv
aW50SW5TdHJva2UoRE9NUG9pbnRJbml0JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2VvbWV0
cnlFbGVtZW50LmlkbAppbmRleCA1NmRmNmYxMGFmMzRhMjlmNWI5ZWVkY2VhMTU3NTVhM2NjMDJk
N2Y0Li5kOWZmODYzODhkM2UxNWZiZTM4Y2UyZTgyNzhlMGQ1N2U4ODk5YTdjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmlkbApAQCAtMzAsNSArMzAsNSBAQCBpbnRl
cmZhY2UgU1ZHR2VvbWV0cnlFbGVtZW50IDogU1ZHR3JhcGhpY3NFbGVtZW50IHsKICAgICBib29s
ZWFuIGlzUG9pbnRJbkZpbGwob3B0aW9uYWwgRE9NUG9pbnRJbml0IHBvaW50KTsKICAgICBib29s
ZWFuIGlzUG9pbnRJblN0cm9rZShvcHRpb25hbCBET01Qb2ludEluaXQgcG9pbnQpOwogICAgIHVu
cmVzdHJpY3RlZCBmbG9hdCBnZXRUb3RhbExlbmd0aCgpOwotICAgIFtOZXdPYmplY3RdIFNWR1Bv
aW50IGdldFBvaW50QXRMZW5ndGgoZmxvYXQgZGlzdGFuY2UpOworICAgIFtOZXdPYmplY3RdIERP
TVBvaW50IGdldFBvaW50QXRMZW5ndGgoZmxvYXQgZGlzdGFuY2UpOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdM
ZW5ndGguaAppbmRleCBlZDUwMDM4MmM1ZmU4MzgxZDQ3Nzk2OGI5MDkzMDBmNmJmYzRkOTJkLi42
MGE1YjU2ZTUzYmFkMGEwYmEwMTNhNDY0NjU3YmE2MWZhMThlNmMzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xl
bmd0aC5oCkBAIC02Miw5ICs2Miw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgU1ZHTGVuZ3RoKHZhbHVlKSk7CiAgICAgfQogCi0gICAgc3RhdGljIFJlZjxTVkdMZW5n
dGg+IGNyZWF0ZShTVkdQcm9wZXJ0eU93bmVyKiBvd25lciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNj
ZXNzLCBjb25zdCBTVkdMZW5ndGhWYWx1ZSYgdmFsdWUgPSB7IH0pCisgICAgc3RhdGljIFJlZjxT
VkdMZW5ndGg+IGNyZWF0ZShET01MaXZlUHJvcGVydHlPYnNlcnZlciogb2JzZXJ2ZXIsIGNvbnN0
IFNWR0xlbmd0aFZhbHVlJiB2YWx1ZSA9IHsgfSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFNWR0xlbmd0aChvd25lciwgYWNjZXNzLCB2YWx1ZSkpOworICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBTVkdMZW5ndGgob2JzZXJ2ZXIsIHZhbHVlKSk7CiAgICAgfQogCiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KQEAgLTg3LDcgKzg3LDcgQEAgcHVibGljOgogCiAgICAg
RXhjZXB0aW9uT3I8ZmxvYXQ+IHZhbHVlRm9yQmluZGluZ3MoKQogICAgIHsKLSAgICAgICAgcmV0
dXJuIG1fdmFsdWUudmFsdWVGb3JCaW5kaW5ncyhTVkdMZW5ndGhDb250ZXh0IHsgY29udGV4dEVs
ZW1lbnQoKSB9KTsKKyAgICAgICAgcmV0dXJuIG1fdmFsdWUudmFsdWVGb3JCaW5kaW5ncyhTVkdM
ZW5ndGhDb250ZXh0IHsgc3ZnQ29udGV4dEVsZW1lbnQoKSB9KTsKICAgICB9CiAKICAgICBFeGNl
cHRpb25Pcjx2b2lkPiBzZXRWYWx1ZUZvckJpbmRpbmdzKGZsb2F0IHZhbHVlKQpAQCAtOTUsNyAr
OTUsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChpc1JlYWRPbmx5KCkpCiAgICAgICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3IgfTsKIAotICAgICAg
ICBhdXRvIHJlc3VsdCA9IG1fdmFsdWUuc2V0VmFsdWUoU1ZHTGVuZ3RoQ29udGV4dCB7IGNvbnRl
eHRFbGVtZW50KCkgfSwgdmFsdWUpOworICAgICAgICBhdXRvIHJlc3VsdCA9IG1fdmFsdWUuc2V0
VmFsdWUoU1ZHTGVuZ3RoQ29udGV4dCB7IHN2Z0NvbnRleHRFbGVtZW50KCkgfSwgdmFsdWUpOwog
ICAgICAgICBpZiAocmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQogICAgICAgICAgICAgcmV0dXJuIHJl
c3VsdDsKICAgICAgICAgCkBAIC0xNTIsNyArMTUyLDcgQEAgcHVibGljOgogICAgICAgICBpZiAo
dW5pdFR5cGUgPT0gU1ZHX0xFTkdUSFRZUEVfVU5LTk9XTiB8fCB1bml0VHlwZSA+IFNWR19MRU5H
VEhUWVBFX1BDKQogICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVy
cm9yIH07CiAKLSAgICAgICAgYXV0byByZXN1bHQgPSBtX3ZhbHVlLmNvbnZlcnRUb1NwZWNpZmll
ZFVuaXRzKFNWR0xlbmd0aENvbnRleHQgeyBjb250ZXh0RWxlbWVudCgpIH0sIHN0YXRpY19jYXN0
PFNWR0xlbmd0aFR5cGU+KHVuaXRUeXBlKSk7CisgICAgICAgIGF1dG8gcmVzdWx0ID0gbV92YWx1
ZS5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhTVkdMZW5ndGhDb250ZXh0IHsgc3ZnQ29udGV4dEVs
ZW1lbnQoKSB9LCBzdGF0aWNfY2FzdDxTVkdMZW5ndGhUeXBlPih1bml0VHlwZSkpOwogICAgICAg
ICBpZiAocmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGhMaXN0LmgKaW5kZXggNWViNTcwMWM2NzQ2ODc5MmQwNTYy
YzE1YjUyMTZiNDkyYzAyMWVkOC4uMzJkNTg3NGQyOTM3MjQ2YzcwNTIxMzkxM2IxNGYwNDU2M2Zm
ZGUzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5oCkBAIC00MCwxNCArNDAsMTQgQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdMZW5ndGhMaXN0KGxlbmd0
aE1vZGUpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUmVmPFNWR0xlbmd0aExpc3Q+IGNyZWF0ZShT
VkdQcm9wZXJ0eU93bmVyKiBvd25lciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzLCBTVkdMZW5n
dGhNb2RlIGxlbmd0aE1vZGUpCisgICAgc3RhdGljIFJlZjxTVkdMZW5ndGhMaXN0PiBjcmVhdGUo
RE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyLCBTVkdMZW5ndGhNb2RlIGxlbmd0aE1v
ZGUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdMZW5ndGhMaXN0KG93
bmVyLCBhY2Nlc3MsIGxlbmd0aE1vZGUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U1ZHTGVuZ3RoTGlzdChvYnNlcnZlciwgbGVuZ3RoTW9kZSkpOwogICAgIH0KIAotICAgIHN0YXRp
YyBSZWY8U1ZHTGVuZ3RoTGlzdD4gY3JlYXRlKGNvbnN0IFNWR0xlbmd0aExpc3QmIG90aGVyLCBT
VkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MpCisgICAgc3RhdGljIFJlZjxTVkdMZW5ndGhMaXN0PiBj
cmVhdGUoY29uc3QgU1ZHTGVuZ3RoTGlzdCYgb3RoZXIpCiAgICAgewotICAgICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBTVkdMZW5ndGhMaXN0KG90aGVyLCBhY2Nlc3MpKTsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgU1ZHTGVuZ3RoTGlzdChvdGhlcikpOwogICAgIH0KIAogICAgIFNW
R0xlbmd0aE1vZGUgbGVuZ3RoTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoTW9kZTsgfQpA
QCAtODYsNyArODYsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBpZiAoYnVpbGRlci5sZW5ndGgo
KSkKICAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwogCi0gICAgICAgICAgICBi
dWlsZGVyLmFwcGVuZChsZW5ndGgtPnZhbHVlKCkudmFsdWVBc1N0cmluZygpKTsKKyAgICAgICAg
ICAgIGJ1aWxkZXIuYXBwZW5kKGxlbmd0aC0+dmFsdWVBc1N0cmluZygpKTsKICAgICAgICAgfQog
CiAgICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CkBAIC05OCwxNCArOTgsMTQgQEAg
cHJpdmF0ZToKICAgICB7CiAgICAgfQogCi0gICAgU1ZHTGVuZ3RoTGlzdChTVkdQcm9wZXJ0eU93
bmVyKiBvd25lciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzLCBTVkdMZW5ndGhNb2RlIGxlbmd0
aE1vZGUpCi0gICAgICAgIDogQmFzZShvd25lciwgYWNjZXNzKQorICAgIFNWR0xlbmd0aExpc3Qo
RE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyLCBTVkdMZW5ndGhNb2RlIGxlbmd0aE1v
ZGUpCisgICAgICAgIDogQmFzZShvYnNlcnZlcikKICAgICAgICAgLCBtX2xlbmd0aE1vZGUobGVu
Z3RoTW9kZSkKICAgICB7CiAgICAgfQogCi0gICAgU1ZHTGVuZ3RoTGlzdChjb25zdCBTVkdMZW5n
dGhMaXN0JiBvdGhlciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzKQotICAgICAgICA6IEJhc2Uo
b3RoZXIsIGFjY2VzcykKKyAgICBTVkdMZW5ndGhMaXN0KGNvbnN0IFNWR0xlbmd0aExpc3QmIG90
aGVyKQorICAgICAgICA6IEJhc2Uob3RoZXIpCiAgICAgICAgICwgbV9sZW5ndGhNb2RlKG90aGVy
Lmxlbmd0aE1vZGUoKSkKICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR01hdHJpeC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hdHJpeC5oCmluZGV4IGQ4
YzM3ZGNiMjZkYmU0NTE4YWM5MWZkMmUxYzc1ZTk0MmMxZDIyNzYuLmYwMDM4YzRjMDdlMGFmYzVl
N2I5ZjJiYmJkNTgwZjhhZGFkYTI3OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdNYXRyaXguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWF0cml4LmgKQEAgLTQyLDkg
KzQyLDkgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdNYXRyaXgo
dmFsdWUpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUmVmPFNWR01hdHJpeD4gY3JlYXRlKFNWR1By
b3BlcnR5T3duZXIqIG93bmVyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MsIGNvbnN0IEFmZmlu
ZVRyYW5zZm9ybSYgdmFsdWUgPSB7IH0pCisgICAgc3RhdGljIFJlZjxTVkdNYXRyaXg+IGNyZWF0
ZShET01MaXZlUHJvcGVydHlPYnNlcnZlciogb2JzZXJ2ZXIsIGNvbnN0IEFmZmluZVRyYW5zZm9y
bSYgdmFsdWUgPSB7IH0pCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdN
YXRyaXgob3duZXIsIGFjY2VzcywgdmFsdWUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgU1ZHTWF0cml4KG9ic2VydmVyLCB2YWx1ZSkpOwogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVtYmVyLmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVtYmVyLmgKaW5kZXggMjNjODJlNDRlNjc3ZDhkMzYwYzk2
MTU0Yzc5NWRhYjg3NzZhMWZhNC4uNTk4YTBmNTk2MTk5MmE0Yjc5ZjcwODllNDQ4OWI2MzU2MzIx
ZWRjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR051bWJlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdOdW1iZXIuaApAQCAtNDAsOSArNDAsOSBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR051bWJlcih2YWx1ZSkpOwogICAgIH0KIAot
ICAgIHN0YXRpYyBSZWY8U1ZHTnVtYmVyPiBjcmVhdGUoU1ZHUHJvcGVydHlPd25lciogb3duZXIs
IFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcywgZmxvYXQgdmFsdWUgPSAwKQorICAgIHN0YXRpYyBS
ZWY8U1ZHTnVtYmVyPiBjcmVhdGUoRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyLCBm
bG9hdCB2YWx1ZSA9IDApCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdO
dW1iZXIob3duZXIsIGFjY2VzcywgdmFsdWUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgU1ZHTnVtYmVyKG9ic2VydmVyLCB2YWx1ZSkpOwogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVtYmVyTGlzdC5o
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR051bWJlckxpc3QuaAppbmRleCA1YjVkNTdlODQ2ZjQz
MWFhZjVjMDhkYmM5YTRjMzRhYmU4NGQ2ZDFmLi42ODFiNGRjZWY4Y2VjOTM1MTFiZTA1OTIwNTRj
ZjA4MWU5MDM3NzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVtYmVyTGlz
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdOdW1iZXJMaXN0LmgKQEAgLTQwLDE0ICs0
MCwxNCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR051bWJlckxp
c3QoKSk7CiAgICAgfQogCi0gICAgc3RhdGljIFJlZjxTVkdOdW1iZXJMaXN0PiBjcmVhdGUoU1ZH
UHJvcGVydHlPd25lciogb3duZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcykKKyAgICBzdGF0
aWMgUmVmPFNWR051bWJlckxpc3Q+IGNyZWF0ZShET01MaXZlUHJvcGVydHlPYnNlcnZlciogb2Jz
ZXJ2ZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdOdW1iZXJMaXN0
KG93bmVyLCBhY2Nlc3MpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHTnVtYmVy
TGlzdChvYnNlcnZlcikpOwogICAgIH0KIAotICAgIHN0YXRpYyBSZWY8U1ZHTnVtYmVyTGlzdD4g
Y3JlYXRlKGNvbnN0IFNWR051bWJlckxpc3QmIG90aGVyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nl
c3MpCisgICAgc3RhdGljIFJlZjxTVkdOdW1iZXJMaXN0PiBjcmVhdGUoY29uc3QgU1ZHTnVtYmVy
TGlzdCYgb3RoZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdOdW1i
ZXJMaXN0KG90aGVyLCBhY2Nlc3MpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZH
TnVtYmVyTGlzdChvdGhlcikpOwogICAgIH0KIAogICAgIGJvb2wgcGFyc2UoY29uc3QgU3RyaW5n
JiB2YWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCmluZGV4IDZiYTE0NDBk
NzUyMThkZmU0OWRhZWM0YjVlZGE3ODQxMTA1ZTFhYTguLmI0NzU1ZDQyYjRjMzgyNzQzYThkNjQ4
YWU3NGU0NjM5NWM0MzA1M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcApA
QCAtMjIsMTMgKzIyLDEzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU1ZHUGF0
aEVsZW1lbnQuaCIKIAorI2luY2x1ZGUgIkRPTVBvaW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZH
UGF0aC5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCiAjaW5jbHVkZSAiU1ZHRG9j
dW1lbnRFeHRlbnNpb25zLmgiCiAjaW5jbHVkZSAiU1ZHTVBhdGhFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJTVkdQYXRoVXRpbGl0aWVzLmgiCi0jaW5jbHVkZSAi
U1ZHUG9pbnQuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC0xMTQsMTEgKzExNCwxMSBAQCBmbG9hdCBTVkdQYXRoRWxlbWVudDo6
Z2V0VG90YWxMZW5ndGgoKSBjb25zdAogICAgIHJldHVybiB0b3RhbExlbmd0aDsKIH0KIAotUmVm
PFNWR1BvaW50PiBTVkdQYXRoRWxlbWVudDo6Z2V0UG9pbnRBdExlbmd0aChmbG9hdCBsZW5ndGgp
IGNvbnN0CitSZWY8RE9NUG9pbnQ+IFNWR1BhdGhFbGVtZW50OjpnZXRQb2ludEF0TGVuZ3RoKGZs
b2F0IGxlbmd0aCkgY29uc3QKIHsKICAgICBGbG9hdFBvaW50IHBvaW50OwogICAgIGdldFBvaW50
QXRMZW5ndGhPZlNWR1BhdGhCeXRlU3RyZWFtKHBhdGhCeXRlU3RyZWFtKCksIGxlbmd0aCwgcG9p
bnQpOwotICAgIHJldHVybiBTVkdQb2ludDo6Y3JlYXRlKHBvaW50KTsKKyAgICByZXR1cm4gRE9N
UG9pbnQ6OmNyZWF0ZShwb2ludC54KCksIHBvaW50LnkoKSk7CiB9CiAKIHVuc2lnbmVkIFNWR1Bh
dGhFbGVtZW50OjpnZXRQYXRoU2VnQXRMZW5ndGgoZmxvYXQgbGVuZ3RoKSBjb25zdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaAppbmRleCAzYTU5NzczYTAzZDMwZTc3N2ViMzNiNTBjMzlk
MTA5ZmY1Yjg1YWM4Li43NzlmZGYyZjk2MzI0OTg2YmE1ODY3YjZlYjE5ODBkNDc4MGI0MDBlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaApAQCAtMzAsOCArMzAsOCBAQAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERPTVBvaW50OwogY2xhc3MgU1ZHUGF0aFNlZ0xpc3Q7
Ci1jbGFzcyBTVkdQb2ludDsKIAogY2xhc3MgU1ZHUGF0aEVsZW1lbnQgZmluYWwgOiBwdWJsaWMg
U1ZHR2VvbWV0cnlFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7
CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdQYXRoRWxlbWVudCk7CkBAIC04OSw3ICs4
OSw3IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBmbG9hdCBnZXRUb3RhbExlbmd0aCgpIGNvbnN0
IGZpbmFsOwotICAgIFJlZjxTVkdQb2ludD4gZ2V0UG9pbnRBdExlbmd0aChmbG9hdCBkaXN0YW5j
ZSkgY29uc3QgZmluYWw7CisgICAgUmVmPERPTVBvaW50PiBnZXRQb2ludEF0TGVuZ3RoKGZsb2F0
IGRpc3RhbmNlKSBjb25zdCBmaW5hbDsKICAgICB1bnNpZ25lZCBnZXRQYXRoU2VnQXRMZW5ndGgo
ZmxvYXQgZGlzdGFuY2UpIGNvbnN0OwogCiAgICAgRmxvYXRSZWN0IGdldEJCb3goU3R5bGVVcGRh
dGVTdHJhdGVneSA9IEFsbG93U3R5bGVVcGRhdGUpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0
aFNlZ0xpc3QuaAppbmRleCA5NGY2ZjM5ZTRlMWYxYjY3NDQzM2NhMjUwMTUzODE4ZjRmNjJmZTQy
Li5lNjZmOGEwYTdiMGMwMGU2YjY0NDAzYTUwM2NhZmIxNTQxMjE0MTU2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0aFNlZ0xpc3QuaApAQCAtMzYsMTQgKzM2LDE0IEBAIGNsYXNzIFNWR1BhdGhTZWdM
aXN0IGZpbmFsIDogcHVibGljIFNWR1Byb3BlcnR5TGlzdDxTVkdQYXRoU2VnPiB7CiAgICAgdXNp
bmcgQmFzZTo6QmFzZTsKIAogcHVibGljOgotICAgIHN0YXRpYyBSZWY8U1ZHUGF0aFNlZ0xpc3Q+
IGNyZWF0ZShTVkdQcm9wZXJ0eU93bmVyKiBvd25lciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNz
KQorICAgIHN0YXRpYyBSZWY8U1ZHUGF0aFNlZ0xpc3Q+IGNyZWF0ZShET01MaXZlUHJvcGVydHlP
YnNlcnZlciogb2JzZXJ2ZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBT
VkdQYXRoU2VnTGlzdChvd25lciwgYWNjZXNzKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFNWR1BhdGhTZWdMaXN0KG9ic2VydmVyKSk7CiAgICAgfQogCi0gICAgc3RhdGljIFJlZjxT
VkdQYXRoU2VnTGlzdD4gY3JlYXRlKGNvbnN0IFNWR1BhdGhTZWdMaXN0JiBvdGhlciwgU1ZHUHJv
cGVydHlBY2Nlc3MgYWNjZXNzKQorICAgIHN0YXRpYyBSZWY8U1ZHUGF0aFNlZ0xpc3Q+IGNyZWF0
ZShjb25zdCBTVkdQYXRoU2VnTGlzdCYgb3RoZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBTVkdQYXRoU2VnTGlzdChvdGhlciwgYWNjZXNzKSk7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFNWR1BhdGhTZWdMaXN0KG90aGVyKSk7CiAgICAgfQogCiAgICAgc3Rh
dGljIFJlZjxTVkdQYXRoU2VnTGlzdD4gY3JlYXRlKFJlZjxTVkdQYXRoU2VnPiYmIG5ld0l0ZW0p
CkBAIC0xNTksOCArMTU5LDggQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICBTVkdQ
YXRoU2VnTGlzdChjb25zdCBTVkdQYXRoU2VnTGlzdCYgb3RoZXIsIFNWR1Byb3BlcnR5QWNjZXNz
IGFjY2VzcykKLSAgICAgICAgOiBCYXNlKG90aGVyLm93bmVyKCksIGFjY2VzcykKKyAgICBTVkdQ
YXRoU2VnTGlzdChjb25zdCBTVkdQYXRoU2VnTGlzdCYgb3RoZXIpCisgICAgICAgIDogQmFzZShv
dGhlci5vYnNlcnZlcigpKQogICAgICAgICAsIG1fcGF0aEJ5dGVTdHJlYW0ob3RoZXIucGF0aEJ5
dGVTdHJlYW0oKSkKICAgICB7CiAgICAgfQpAQCAtMTcyLDcgKzE3Miw3IEBAIHByaXZhdGU6CiAg
ICAgfQogCiAgICAgLy8gQ2FsbGVkIHdoZW4gY2hhbmdpbmcgYW4gaXRlbSBpbiB0aGUgbGlzdC4K
LSAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKFNWR1Byb3BlcnR5KiBwcm9wZXJ0eSkgb3Zl
cnJpZGUKKyAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKERPTUxpdmVQcm9wZXJ0eSogcHJv
cGVydHkpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBpdGVtc1dpbGxDaGFuZ2UoKTsKICAgICAg
ICAgQmFzZTo6Y29tbWl0UHJvcGVydHlDaGFuZ2UocHJvcGVydHkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnQu
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzc0NDViOWZjYjFmYjQwYjUxMzk2ZTE5
MmU3MzQ1ODZjNjM1NGI1Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnQuaAorKysgL2Rldi9udWxsCkBAIC0x
LDk4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBFbGVjdHJvbmlj
cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxOC0yMDE5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
Ci0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwot
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNp
bmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSAiU1ZHTWF0cml4LmgiCi0jaW5jbHVkZSAi
U1ZHUHJvcGVydHlUcmFpdHMuaCIKLSNpbmNsdWRlICJTVkdWYWx1ZVByb3BlcnR5LmgiCi0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgU1ZHUG9pbnQgOiBwdWJsaWMgU1ZHVmFsdWVQcm9w
ZXJ0eTxGbG9hdFBvaW50PiB7Ci0gICAgdXNpbmcgQmFzZSA9IFNWR1ZhbHVlUHJvcGVydHk8Rmxv
YXRQb2ludD47Ci0gICAgdXNpbmcgQmFzZTo6QmFzZTsKLSAgICB1c2luZyBCYXNlOjptX3ZhbHVl
OwotCi1wdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxTVkdQb2ludD4gY3JlYXRlKGNvbnN0IEZsb2F0
UG9pbnQmIHZhbHVlID0geyB9KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U1ZHUG9pbnQodmFsdWUpKTsKLSAgICB9Ci0KLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgotICAg
IHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8U1ZHUG9pbnQ+PiBjcmVhdGUoRXhjZXB0aW9uT3I8VD4m
JiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIGlmICh2YWx1ZS5oYXNFeGNlcHRpb24oKSkKLSAgICAg
ICAgICAgIHJldHVybiB2YWx1ZS5yZWxlYXNlRXhjZXB0aW9uKCk7Ci0gICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFNWR1BvaW50KHZhbHVlLnJlbGVhc2VSZXR1cm5WYWx1ZSgpKSk7Ci0gICAg
fQotCi0gICAgUmVmPFNWR1BvaW50PiBjbG9uZSgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1
cm4gU1ZHUG9pbnQ6OmNyZWF0ZShtX3ZhbHVlKTsKLSAgICB9Ci0gICAgCi0gICAgZmxvYXQgeCgp
IHsgcmV0dXJuIG1fdmFsdWUueCgpOyB9Ci0KLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRYKGZs
b2F0IHgpCi0gICAgewotICAgICAgICBpZiAoaXNSZWFkT25seSgpKQotICAgICAgICAgICAgcmV0
dXJuIEV4Y2VwdGlvbiB7IE5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yIH07Ci0KLSAgICAgICAg
bV92YWx1ZS5zZXRYKHgpOwotICAgICAgICBjb21taXRDaGFuZ2UoKTsKLQotICAgICAgICByZXR1
cm4geyB9OwotICAgIH0KLQotICAgIGZsb2F0IHkoKSB7IHJldHVybiBtX3ZhbHVlLnkoKTsgfQot
Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0WShmbG9hdCB5KQotICAgIHsKLSAgICAgICAgaWYg
KGlzUmVhZE9ubHkoKSkKLSAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBOb01vZGlmaWNh
dGlvbkFsbG93ZWRFcnJvciB9OwotCi0gICAgICAgIG1fdmFsdWUuc2V0WSh5KTsKLSAgICAgICAg
Y29tbWl0Q2hhbmdlKCk7Ci0gICAgICAgIHJldHVybiB7IH07Ci0gICAgfQotCi0gICAgUmVmPFNW
R1BvaW50PiBtYXRyaXhUcmFuc2Zvcm0oU1ZHTWF0cml4JiBtYXRyaXgpIGNvbnN0Ci0gICAgewot
ICAgICAgICBhdXRvIG5ld1BvaW50ID0gbV92YWx1ZS5tYXRyaXhUcmFuc2Zvcm0obWF0cml4LnZh
bHVlKCkpOwotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdQb2ludChuZXdQb2ludCkp
OwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygpIGNvbnN0IG92
ZXJyaWRlCi0gICAgewotICAgICAgICByZXR1cm4gU1ZHUHJvcGVydHlUcmFpdHM8RmxvYXRQb2lu
dD46OnRvU3RyaW5nKG1fdmFsdWUpOwotICAgIH0KLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2ludC5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUG9pbnQuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1
ZDgyMjQ5MGRiYmUyMjE4YTI1MWFhOGIxYzliYTZhOTczMTNkZDY1Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2lu
dC5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDA0LCAyMDA1IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgotICog
Q29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+Ci0gKiBDb3B5
cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+Ci0gKiBD
b3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
Ci0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi1bCi0gICAg
U2tpcFZUYWJsZVZhbGlkYXRpb24KLV0gaW50ZXJmYWNlIFNWR1BvaW50IHsKLSAgICBhdHRyaWJ1
dGUgdW5yZXN0cmljdGVkIGZsb2F0IHg7Ci0gICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9h
dCB5OwotCi0gICAgW05ld09iamVjdF0gU1ZHUG9pbnQgbWF0cml4VHJhbnNmb3JtKFNWR01hdHJp
eCBtYXRyaXgpOwotfTsKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50
TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50TGlzdC5oCmluZGV4IDhjNmM1MGIw
ZTNiYWNlNTM2YWU1MGViYjI4YzFiNDZlMTU3NDllODEuLjhkNDE5M2U2YjRlZjA1NGVmNmM0ZDU1
Y2I0NTdmY2QwNTA2ZjlkMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2lu
dExpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnRMaXN0LmgKQEAgLTI1LDEz
ICsyNSwxMyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIlNWR1BvaW50LmgiCi0jaW5j
bHVkZSAiU1ZHVmFsdWVQcm9wZXJ0eUxpc3QuaCIKKyNpbmNsdWRlICJET01Qb2ludC5oIgorI2lu
Y2x1ZGUgIlNWR1Byb3BlcnR5TGlzdC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IFNWR1BvaW50TGlzdCA6IHB1YmxpYyBTVkdWYWx1ZVByb3BlcnR5TGlzdDxTVkdQb2ludD4gewot
ICAgIHVzaW5nIEJhc2UgPSBTVkdWYWx1ZVByb3BlcnR5TGlzdDxTVkdQb2ludD47CitjbGFzcyBT
VkdQb2ludExpc3QgOiBwdWJsaWMgU1ZHUHJvcGVydHlMaXN0PERPTVBvaW50PiB7CisgICAgdXNp
bmcgQmFzZSA9IFNWR1Byb3BlcnR5TGlzdDxET01Qb2ludD47CiAgICAgdXNpbmcgQmFzZTo6QmFz
ZTsKIAogcHVibGljOgpAQCAtNDAsMTQgKzQwLDMyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgU1ZHUG9pbnRMaXN0KCkpOwogICAgIH0KIAotICAgIHN0YXRpYyBSZWY8
U1ZHUG9pbnRMaXN0PiBjcmVhdGUoU1ZHUHJvcGVydHlPd25lciogb3duZXIsIFNWR1Byb3BlcnR5
QWNjZXNzIGFjY2VzcykKKyAgICBzdGF0aWMgUmVmPFNWR1BvaW50TGlzdD4gY3JlYXRlKERPTUxp
dmVQcm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZlcikKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFNWR1BvaW50TGlzdChvd25lciwgYWNjZXNzKSk7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFNWR1BvaW50TGlzdChvYnNlcnZlcikpOwogICAgIH0KIAotICAgIHN0YXRp
YyBSZWY8U1ZHUG9pbnRMaXN0PiBjcmVhdGUoY29uc3QgU1ZHUG9pbnRMaXN0JiBvdGhlciwgU1ZH
UHJvcGVydHlBY2Nlc3MgYWNjZXNzKQorICAgIHN0YXRpYyBSZWY8U1ZHUG9pbnRMaXN0PiBjcmVh
dGUoY29uc3QgU1ZHUG9pbnRMaXN0JiBvdGhlcikKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFNWR1BvaW50TGlzdChvdGhlciwgYWNjZXNzKSk7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFNWR1BvaW50TGlzdChvdGhlcikpOworICAgIH0KKyAgICAKKyAgICBTVkdQ
b2ludExpc3QmIG9wZXJhdG9yPShjb25zdCBTVkdQb2ludExpc3QmIG90aGVyKQorICAgIHsKKyAg
ICAgICAgY2xlYXJJdGVtcygpOworICAgICAgICBjb3B5SXRlbXMob3RoZXIpOworICAgICAgICBy
ZXR1cm4gKnRoaXM7CisgICAgfQorICAgIAorICAgIHZvaWQgcmVzaXplKHNpemVfdCBuZXdTaXpl
KQorICAgIHsKKyAgICAgICAgLy8gQWRkIG5ldyBpdGVtcy4KKyAgICAgICAgd2hpbGUgKHNpemUo
KSA8IG5ld1NpemUpCisgICAgICAgICAgICBhcHBlbmQoRE9NUG9pbnQ6OmNyZWF0ZSgwLCAwKSk7
CisKKyAgICAgICAgLy8gUmVtb3ZlIGV4aXN0aW5nIGl0ZW1zLgorICAgICAgICB3aGlsZSAoc2l6
ZSgpID4gbmV3U2l6ZSkKKyAgICAgICAgICAgIHJlbW92ZShzaXplKCkgLSAxKTsKICAgICB9CiAK
ICAgICBib29sIHBhcnNlKGNvbnN0IFN0cmluZyYgdmFsdWUpCkBAIC03OSw3ICs5Nyw3IEBAIHB1
YmxpYzoKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHNraXBPcHRpb25hbFNWR1NwYWNlcyhj
dXIsIGVuZCk7CiAKLSAgICAgICAgICAgIGFwcGVuZChTVkdQb2ludDo6Y3JlYXRlKHsgeFBvcywg
eVBvcyB9KSk7CisgICAgICAgICAgICBhcHBlbmQoRE9NUG9pbnQ6OmNyZWF0ZSh4UG9zLCB5UG9z
KSk7CiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm4gIWRlbGltUGFyc2VkOwpAQCAtMTAwLDYg
KzExOCwxOSBAQCBwdWJsaWM6CiAKICAgICAgICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsK
ICAgICB9CisgICAgCitwcml2YXRlOgorICAgIFNWR1BvaW50TGlzdChjb25zdCBTVkdQb2ludExp
c3QmIG90aGVyKQorICAgICAgICA6IEJhc2Uob3RoZXIub2JzZXJ2ZXIoKSkKKyAgICB7CisgICAg
ICAgIGNvcHlJdGVtcyhvdGhlcik7CisgICAgfQorCisgICAgdm9pZCBjb3B5SXRlbXMoY29uc3Qg
U1ZHUG9pbnRMaXN0JiBvdGhlcikKKyAgICB7CisgICAgICAgIGZvciAoY29uc3QgYXV0byYgaXRl
bSA6IG90aGVyLml0ZW1zKCkpCisgICAgICAgICAgICBhcHBlbmQoRE9NUG9pbnQ6OmNyZWF0ZShp
dGVtLT54KCksIGl0ZW0tPnkoKSkpOworICAgIH0KIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQb2ludExpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bv
aW50TGlzdC5pZGwKaW5kZXggZWQwZDRlNDI0NGVkMWQ2ZTA4OGYzMDAzMGE5YTU1OGM1ZjNhOTA5
OC4uMjI5YTIxYWVjYmI3YTA4MTA1ZGVlYTdjZTU3YmIwNzY4NTE3ZjI3NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50TGlzdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BvaW50TGlzdC5pZGwKQEAgLTI4LDExICsyOCwxMSBAQCBpbnRlcmZhY2UgU1ZHUG9p
bnRMaXN0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBudW1iZXJPZkl0
ZW1zOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGNsZWFyKCk7Ci0gICAgW01heVRo
cm93RXhjZXB0aW9uXSBTVkdQb2ludCBpbml0aWFsaXplKFNWR1BvaW50IG5ld0l0ZW0pOwotICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gZ2V0dGVyIFNWR1BvaW50IGdldEl0ZW0odW5zaWduZWQgbG9u
ZyBpbmRleCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdQb2ludCBpbnNlcnRJdGVtQmVm
b3JlKFNWR1BvaW50IG5ld0l0ZW0sIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gU1ZHUG9pbnQgcmVwbGFjZUl0ZW0oU1ZHUG9pbnQgbmV3SXRlbSwgdW5zaWdu
ZWQgbG9uZyBpbmRleCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdQb2ludCByZW1vdmVJ
dGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gU1ZHUG9p
bnQgYXBwZW5kSXRlbShTVkdQb2ludCBuZXdJdGVtKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IHNldHRlciB2b2lkICh1bnNpZ25lZCBsb25nIGluZGV4LCBTVkdQb2ludCBuZXdJdGVtKTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVBvaW50IGluaXRpYWxpemUoRE9NUG9pbnQgbmV3SXRl
bSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBnZXR0ZXIgRE9NUG9pbnQgZ2V0SXRlbSh1bnNp
Z25lZCBsb25nIGluZGV4KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVBvaW50IGluc2Vy
dEl0ZW1CZWZvcmUoRE9NUG9pbnQgbmV3SXRlbSwgdW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAg
W01heVRocm93RXhjZXB0aW9uXSBET01Qb2ludCByZXBsYWNlSXRlbShET01Qb2ludCBuZXdJdGVt
LCB1bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVBvaW50
IHJlbW92ZUl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAgW01heVRocm93RXhjZXB0aW9u
XSBET01Qb2ludCBhcHBlbmRJdGVtKERPTVBvaW50IG5ld0l0ZW0pOworICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gc2V0dGVyIHZvaWQgKHVuc2lnbmVkIGxvbmcgaW5kZXgsIERPTVBvaW50IG5ld0l0
ZW0pOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVj
dFJhdGlvLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5oCmlu
ZGV4IDI3MTdhYmViZTEwMTlhYWEwZjNhZjc2MWViMzUxZjkxN2I3OGFkZDYuLjgzNTQ5M2U3OTRj
MWU4ZjI1ZDg5NDdiMzhkZGEyNGM2MDliZjQ2YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1ByZXNlcnZlQXNwZWN0UmF0aW8uaApAQCAtMzYsOSArMzYsOSBAQCBjbGFzcyBTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvIDogcHVibGljIFNWR1ZhbHVlUHJvcGVydHk8U1ZHUHJlc2VydmVBc3BlY3RS
YXRpb1ZhbAogICAgIHVzaW5nIEJhc2U6Om1fdmFsdWU7CiAKIHB1YmxpYzoKLSAgICBzdGF0aWMg
UmVmPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8+IGNyZWF0ZShTVkdQcm9wZXJ0eU93bmVyKiBvd25l
ciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzLCBjb25zdCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlv
VmFsdWUmIHZhbHVlID0geyB9KQorICAgIHN0YXRpYyBSZWY8U1ZHUHJlc2VydmVBc3BlY3RSYXRp
bz4gY3JlYXRlKERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZlciwgY29uc3QgU1ZHUHJl
c2VydmVBc3BlY3RSYXRpb1ZhbHVlJiB2YWx1ZSA9IHsgfSkKICAgICB7Ci0gICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8ob3duZXIsIGFjY2VzcywgdmFs
dWUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUHJlc2VydmVBc3BlY3RSYXRp
byhvYnNlcnZlciwgdmFsdWUpKTsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1
ZS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZS5oCmlu
ZGV4IDQxNWI4NzIzZjhkMzA4NjRjMWIzZmQ3ODhjYzNiOTg5YmFkN2VmOWMuLjU5YzgzNzEyM2Yy
MWRiMjYxZmZlNzgxNjlhZDA4MmIyYTNmNmU5OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlLmgKQEAgLTc2LDExICs3Niw0IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBwYXJzZUludGVybmFsKGNvbnN0IFVDaGFyKiYgY3VyclBhcmFtLCBjb25z
dCBVQ2hhciogZW5kLCBib29sIHZhbGlkYXRlKTsKIH07CiAKLXRlbXBsYXRlPD4gc3RydWN0IFNW
R1Byb3BlcnR5VHJhaXRzPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZT4gewotICAgIHN0YXRp
YyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUgaW5pdGlhbFZhbHVlKCkgeyByZXR1cm4gU1ZH
UHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlKCk7IH0KLSAgICBzdGF0aWMgU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpb1ZhbHVlIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgcmV0dXJuIFNW
R1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZShzdHJpbmcpOyB9Ci0gICAgc3RhdGljIE9wdGlvbmFs
PFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZT4gcGFyc2UoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IGNvbnN0IFN0cmluZyYpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBpbml0aWFsVmFs
dWUoKTsgfQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpb1ZhbHVlJiB0eXBlKSB7IHJldHVybiB0eXBlLnZhbHVlQXNTdHJpbmcoKTsgfQotfTsK
LQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1JlY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZWN0LmgKaW5kZXggOTAwMThlMTg2
YjE5MmFjM2JlNmYwNTUwZGY4MTE2MjdmYmQ3ZTlmMi4uYmFlNzdiZmVmMDIxOTUxM2VlZjAwOTk2
OWIzM2MyZmFkY2YzOTNmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JlY3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmVjdC5oCkBAIC0zNiw5ICszNiw5IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUmVjdCh2YWx1ZSkpOwogICAg
IH0KIAotICAgIHN0YXRpYyBSZWY8U1ZHUmVjdD4gY3JlYXRlKFNWR1Byb3BlcnR5T3duZXIqIG93
bmVyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MsIGNvbnN0IEZsb2F0UmVjdCYgdmFsdWUgPSB7
IH0pCisgICAgc3RhdGljIFJlZjxTVkdSZWN0PiBjcmVhdGUoRE9NTGl2ZVByb3BlcnR5T2JzZXJ2
ZXIqIG9ic2VydmVyLCBjb25zdCBGbG9hdFJlY3QmIHZhbHVlID0geyB9KQogICAgIHsKLSAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUmVjdChvd25lciwgYWNjZXNzLCB2YWx1ZSkpOwor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdSZWN0KG9ic2VydmVyLCB2YWx1ZSkpOwog
ICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxl
bWVudC5jcHAKaW5kZXggNDdmMGMzYzNjZDBhODJiMWMwMTczYzJiMjc2ZGQzMDYzZjAwYWEyMS4u
ZmJkYjhlODk4MzA1ZmI4MWQ3YWYzZjQyYzlmYzNmNzk5ZGMzNDI5OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdTVkdFbGVtZW50LmNwcApAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgIlNWR1NWR0Vs
ZW1lbnQuaCIKIAogI2luY2x1ZGUgIkNTU0hlbHBlci5oIgorI2luY2x1ZGUgIkRPTVBvaW50Lmgi
CiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiRWxlbWVudEl0ZXJhdG9y
LmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgpAQCAtMzksNyArNDAsNiBAQAogI2luY2x1ZGUg
IlNWR0xlbmd0aC5oIgogI2luY2x1ZGUgIlNWR01hdHJpeC5oIgogI2luY2x1ZGUgIlNWR051bWJl
ci5oIgotI2luY2x1ZGUgIlNWR1BvaW50LmgiCiAjaW5jbHVkZSAiU1ZHUmVjdC5oIgogI2luY2x1
ZGUgIlNWR1RyYW5zZm9ybS5oIgogI2luY2x1ZGUgIlNWR1ZpZXdFbGVtZW50LmgiCkBAIC0xNzks
OSArMTc5LDEwIEBAIHZvaWQgU1ZHU1ZHRWxlbWVudDo6c2V0Q3VycmVudFNjYWxlKGZsb2F0IHNj
YWxlKQogCiB2b2lkIFNWR1NWR0VsZW1lbnQ6OnNldEN1cnJlbnRUcmFuc2xhdGUoY29uc3QgRmxv
YXRQb2ludCYgdHJhbnNsYXRpb24pCiB7Ci0gICAgaWYgKG1fY3VycmVudFRyYW5zbGF0ZS0+dmFs
dWUoKSA9PSB0cmFuc2xhdGlvbikKKyAgICBpZiAobV9jdXJyZW50VHJhbnNsYXRlLT54KCkgPT0g
dHJhbnNsYXRpb24ueCgpICYmIG1fY3VycmVudFRyYW5zbGF0ZS0+eSgpID09IHRyYW5zbGF0aW9u
LnkoKSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY3VycmVudFRyYW5zbGF0ZS0+c2V0VmFsdWUo
dHJhbnNsYXRpb24pOworICAgIG1fY3VycmVudFRyYW5zbGF0ZS0+c2V0WCh0cmFuc2xhdGlvbi54
KCkpOworICAgIG1fY3VycmVudFRyYW5zbGF0ZS0+c2V0WSh0cmFuc2xhdGlvbi55KCkpOwogICAg
IHVwZGF0ZUN1cnJlbnRUcmFuc2xhdGUoKTsKIH0KIApAQCAtMzY5LDkgKzM3MCw5IEBAIFJlZjxT
VkdBbmdsZT4gU1ZHU1ZHRWxlbWVudDo6Y3JlYXRlU1ZHQW5nbGUoKQogICAgIHJldHVybiBTVkdB
bmdsZTo6Y3JlYXRlKCk7CiB9CiAKLVJlZjxTVkdQb2ludD4gU1ZHU1ZHRWxlbWVudDo6Y3JlYXRl
U1ZHUG9pbnQoKQorUmVmPERPTVBvaW50PiBTVkdTVkdFbGVtZW50OjpjcmVhdGVTVkdQb2ludCgp
CiB7Ci0gICAgcmV0dXJuIFNWR1BvaW50OjpjcmVhdGUoKTsKKyAgICByZXR1cm4gRE9NUG9pbnQ6
OmNyZWF0ZSgwLCAwKTsKIH0KIAogUmVmPFNWR01hdHJpeD4gU1ZHU1ZHRWxlbWVudDo6Y3JlYXRl
U1ZHTWF0cml4KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oCmluZGV4IDQxYjFlN2M4ZTJj
YzczMDhiZWQ4ZGFkMTcxYjc0MDgwM2Y2N2UyMTguLjYzZDE2ODcyMmM3YzhhMDA5OTM1MmRlMjZm
ZDkzOTY5NDMzMGU4MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaApAQCAtNjEsOCAr
NjEsOCBAQCBwdWJsaWM6IC8vIERPTQogICAgIGZsb2F0IGN1cnJlbnRTY2FsZSgpIGNvbnN0Owog
ICAgIHZvaWQgc2V0Q3VycmVudFNjYWxlKGZsb2F0KTsKIAotICAgIFNWR1BvaW50JiBjdXJyZW50
VHJhbnNsYXRlKCkgeyByZXR1cm4gbV9jdXJyZW50VHJhbnNsYXRlOyB9Ci0gICAgRmxvYXRQb2lu
dCBjdXJyZW50VHJhbnNsYXRlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnRUcmFuc2xh
dGUtPnZhbHVlKCk7IH0KKyAgICBET01Qb2ludCYgY3VycmVudFRyYW5zbGF0ZSgpIHsgcmV0dXJu
IG1fY3VycmVudFRyYW5zbGF0ZTsgfQorICAgIEZsb2F0UG9pbnQgY3VycmVudFRyYW5zbGF0ZVZh
bHVlKCkgY29uc3QgeyByZXR1cm4gRmxvYXRQb2ludChtX2N1cnJlbnRUcmFuc2xhdGUtPngoKSwg
bV9jdXJyZW50VHJhbnNsYXRlLT55KCkpOyB9CiAKICAgICB1bnNpZ25lZCBzdXNwZW5kUmVkcmF3
KHVuc2lnbmVkIG1heFdhaXRNaWxsaXNlY29uZHMpOwogICAgIHZvaWQgdW5zdXNwZW5kUmVkcmF3
KHVuc2lnbmVkIHN1c3BlbmRIYW5kbGVJZCk7CkBAIC04Niw3ICs4Niw3IEBAIHB1YmxpYzogLy8g
RE9NCiAgICAgc3RhdGljIFJlZjxTVkdOdW1iZXI+IGNyZWF0ZVNWR051bWJlcigpOwogICAgIHN0
YXRpYyBSZWY8U1ZHTGVuZ3RoPiBjcmVhdGVTVkdMZW5ndGgoKTsKICAgICBzdGF0aWMgUmVmPFNW
R0FuZ2xlPiBjcmVhdGVTVkdBbmdsZSgpOwotICAgIHN0YXRpYyBSZWY8U1ZHUG9pbnQ+IGNyZWF0
ZVNWR1BvaW50KCk7CisgICAgc3RhdGljIFJlZjxET01Qb2ludD4gY3JlYXRlU1ZHUG9pbnQoKTsK
ICAgICBzdGF0aWMgUmVmPFNWR01hdHJpeD4gY3JlYXRlU1ZHTWF0cml4KCk7CiAgICAgc3RhdGlj
IFJlZjxTVkdSZWN0PiBjcmVhdGVTVkdSZWN0KCk7CiAgICAgc3RhdGljIFJlZjxTVkdUcmFuc2Zv
cm0+IGNyZWF0ZVNWR1RyYW5zZm9ybSgpOwpAQCAtMTY0LDcgKzE2NCw3IEBAIHByaXZhdGU6CiAg
ICAgUmVmUHRyPFNWR1ZpZXdFbGVtZW50PiBtX2N1cnJlbnRWaWV3RWxlbWVudDsKICAgICBTdHJp
bmcgbV9jdXJyZW50Vmlld0ZyYWdtZW50SWRlbnRpZmllcjsKIAotICAgIFJlZjxTVkdQb2ludD4g
bV9jdXJyZW50VHJhbnNsYXRlIHsgU1ZHUG9pbnQ6OmNyZWF0ZSgpIH07CisgICAgUmVmPERPTVBv
aW50PiBtX2N1cnJlbnRUcmFuc2xhdGUgeyBET01Qb2ludDo6Y3JlYXRlKDAsIDApIH07CiAKICAg
ICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CiAgICAgUmVm
PFNWR0FuaW1hdGVkTGVuZ3RoPiBtX3ggeyBTVkdBbmltYXRlZExlbmd0aDo6Y3JlYXRlKHRoaXMs
IFNWR0xlbmd0aE1vZGU6OldpZHRoKSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1NWR0VsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaWRs
CmluZGV4IDQ0YWE1MTk2YzZlYzYyNzliMDFmNTQ1YzdmNTU3YjM3NDYzNDhmMTAuLmYxNmM0MTFi
YjIzMWZjZWVlNTgyZGQ1Nzk3Y2E2ZGE1NDc0ZTVjNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdTVkdFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZH
RWxlbWVudC5pZGwKQEAgLTQyLDcgKzQyLDcgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9v
bGVhbiB1c2VDdXJyZW50VmlldzsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHVmlld1NwZWMg
Y3VycmVudFZpZXc7CiAgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCBjdXJyZW50U2Nh
bGU7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR1BvaW50IGN1cnJlbnRUcmFuc2xhdGU7Cisg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVBvaW50IGN1cnJlbnRUcmFuc2xhdGU7CiAKICAgICB1
bnNpZ25lZCBsb25nIHN1c3BlbmRSZWRyYXcob3B0aW9uYWwgdW5zaWduZWQgbG9uZyBtYXhXYWl0
TWlsbGlzZWNvbmRzID0gMCk7CiAgICAgdm9pZCB1bnN1c3BlbmRSZWRyYXcob3B0aW9uYWwgdW5z
aWduZWQgbG9uZyBzdXNwZW5kSGFuZGxlSWQgPSAwKTsKQEAgLTY4LDcgKzY4LDcgQEAKICAgICBb
TmV3T2JqZWN0XSBTVkdOdW1iZXIgY3JlYXRlU1ZHTnVtYmVyKCk7CiAgICAgW05ld09iamVjdF0g
U1ZHTGVuZ3RoIGNyZWF0ZVNWR0xlbmd0aCgpOwogICAgIFtOZXdPYmplY3RdIFNWR0FuZ2xlIGNy
ZWF0ZVNWR0FuZ2xlKCk7Ci0gICAgW05ld09iamVjdF0gU1ZHUG9pbnQgY3JlYXRlU1ZHUG9pbnQo
KTsKKyAgICBbTmV3T2JqZWN0XSBET01Qb2ludCBjcmVhdGVTVkdQb2ludCgpOwogICAgIFtOZXdP
YmplY3RdIFNWR01hdHJpeCBjcmVhdGVTVkdNYXRyaXgoKTsKICAgICBbTmV3T2JqZWN0XSBTVkdS
ZWN0IGNyZWF0ZVNWR1JlY3QoKTsKICAgICBbTmV3T2JqZWN0XSBTVkdUcmFuc2Zvcm0gY3JlYXRl
U1ZHVHJhbnNmb3JtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3RyaW5n
TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0cmluZ0xpc3QuaAppbmRleCAzYjM3NjVj
NWQ5ZTA3NDY5MDBhMmQ3Nzk3OWZmZGY1OGI0M2FkZDM1Li4xMTFmMDY3ZTY5MjY2N2IwNmYyYzhk
YThmYWIyNzdkMjdlYTI3Yjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3Ry
aW5nTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHJpbmdMaXN0LmgKQEAgLTM3
LDkgKzM3LDkgQEAgY2xhc3MgU1ZHU3RyaW5nTGlzdCBmaW5hbCA6IHB1YmxpYyBTVkdQcmltaXRp
dmVMaXN0PFN0cmluZz4gewogICAgIHVzaW5nIEJhc2U6Om1faXRlbXM7CiAKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgUmVmPFNWR1N0cmluZ0xpc3Q+IGNyZWF0ZShTVkdQcm9wZXJ0eU93bmVyKiBvd25l
cikKKyAgICBzdGF0aWMgUmVmPFNWR1N0cmluZ0xpc3Q+IGNyZWF0ZShET01MaXZlUHJvcGVydHlP
YnNlcnZlciogb2JzZXJ2ZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBT
VkdTdHJpbmdMaXN0KG93bmVyKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1N0
cmluZ0xpc3Qob2JzZXJ2ZXIpKTsKICAgICB9CiAKICAgICB2b2lkIHJlc2V0KGNvbnN0IFN0cmlu
ZyYgc3RyaW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNw
cAppbmRleCBkNTk4OTFlMzc4NzRkMzNhM2E5MGI1OGI5NGViYmM5N2ExMzQ0ZGM5Li44OWMwZmFi
Njk3MzM4YmZkNTM5ZDRlMjU0NzY0MmEzMWJiZWY2NTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUg
IlJlbmRlclNWR1Jlc291cmNlLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHVGV4dC5oIgogI2luY2x1
ZGUgIlNWR05hbWVzLmgiCi0jaW5jbHVkZSAiU1ZHUG9pbnQuaCIKICNpbmNsdWRlICJTVkdSZWN0
LmgiCiAjaW5jbHVkZSAiU1ZHVGV4dFF1ZXJ5LmgiCiAjaW5jbHVkZSAiWE1MTmFtZXMuaCIKQEAg
LTc1LDIwICs3NCwyMiBAQCBFeGNlcHRpb25PcjxmbG9hdD4gU1ZHVGV4dENvbnRlbnRFbGVtZW50
OjpnZXRTdWJTdHJpbmdMZW5ndGgodW5zaWduZWQgY2hhcm51bSwgdQogICAgIHJldHVybiBTVkdU
ZXh0UXVlcnkocmVuZGVyZXIoKSkuc3ViU3RyaW5nTGVuZ3RoKGNoYXJudW0sIG5jaGFycyk7CiB9
CiAKLUV4Y2VwdGlvbk9yPFJlZjxTVkdQb2ludD4+IFNWR1RleHRDb250ZW50RWxlbWVudDo6Z2V0
U3RhcnRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKQorRXhjZXB0aW9uT3I8UmVmPERP
TVBvaW50Pj4gU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRTdGFydFBvc2l0aW9uT2ZDaGFyKHVu
c2lnbmVkIGNoYXJudW0pCiB7CiAgICAgaWYgKGNoYXJudW0gPiBnZXROdW1iZXJPZkNoYXJzKCkp
CiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbmRleFNpemVFcnJvciB9OwogCi0gICAgcmV0
dXJuIFNWR1BvaW50OjpjcmVhdGUoU1ZHVGV4dFF1ZXJ5KHJlbmRlcmVyKCkpLnN0YXJ0UG9zaXRp
b25PZkNoYXJhY3RlcihjaGFybnVtKSk7CisgICAgYXV0byBzdGFydFBvc2l0aW9uID0gU1ZHVGV4
dFF1ZXJ5KHJlbmRlcmVyKCkpLnN0YXJ0UG9zaXRpb25PZkNoYXJhY3RlcihjaGFybnVtKTsKKyAg
ICByZXR1cm4gRE9NUG9pbnQ6OmNyZWF0ZShzdGFydFBvc2l0aW9uLngoKSwgc3RhcnRQb3NpdGlv
bi55KCkpOwogfQogCi1FeGNlcHRpb25PcjxSZWY8U1ZHUG9pbnQ+PiBTVkdUZXh0Q29udGVudEVs
ZW1lbnQ6OmdldEVuZFBvc2l0aW9uT2ZDaGFyKHVuc2lnbmVkIGNoYXJudW0pCitFeGNlcHRpb25P
cjxSZWY8RE9NUG9pbnQ+PiBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldEVuZFBvc2l0aW9uT2ZD
aGFyKHVuc2lnbmVkIGNoYXJudW0pCiB7CiAgICAgaWYgKGNoYXJudW0gPiBnZXROdW1iZXJPZkNo
YXJzKCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbmRleFNpemVFcnJvciB9OwogCi0g
ICAgcmV0dXJuIFNWR1BvaW50OjpjcmVhdGUoU1ZHVGV4dFF1ZXJ5KHJlbmRlcmVyKCkpLmVuZFBv
c2l0aW9uT2ZDaGFyYWN0ZXIoY2hhcm51bSkpOworICAgIGF1dG8gZW5kUG9zaXRpb24gPSAgU1ZH
VGV4dFF1ZXJ5KHJlbmRlcmVyKCkpLmVuZFBvc2l0aW9uT2ZDaGFyYWN0ZXIoY2hhcm51bSk7Cisg
ICAgcmV0dXJuIERPTVBvaW50OjpjcmVhdGUoZW5kUG9zaXRpb24ueCgpLCBlbmRQb3NpdGlvbi55
KCkpOwogfQogCiBFeGNlcHRpb25PcjxSZWY8U1ZHUmVjdD4+IFNWR1RleHRDb250ZW50RWxlbWVu
dDo6Z2V0RXh0ZW50T2ZDaGFyKHVuc2lnbmVkIGNoYXJudW0pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHVGV4dENvbnRlbnRFbGVtZW50LmgKaW5kZXggZGIwZmVmMjNmMTY2MDJlNGUzZjc5ZmIyYjhj
Y2M1MmU1MmU5MjlkMi4uNjc0ZmY1OTEyN2M4OWQxZDA5OWQxY2JlNzgzZDc4NWYxNjM5NzVjMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaApAQCAtMjcsNiAr
MjcsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgRE9NUG9pbnRJbml0OworY2xh
c3MgRE9NUG9pbnQ7CiAKIGVudW0gU1ZHTGVuZ3RoQWRqdXN0VHlwZSB7CiAgICAgU1ZHTGVuZ3Ro
QWRqdXN0VW5rbm93biwKQEAgLTc0LDggKzc1LDggQEAgcHVibGljOgogICAgIHVuc2lnbmVkIGdl
dE51bWJlck9mQ2hhcnMoKTsKICAgICBmbG9hdCBnZXRDb21wdXRlZFRleHRMZW5ndGgoKTsKICAg
ICBFeGNlcHRpb25PcjxmbG9hdD4gZ2V0U3ViU3RyaW5nTGVuZ3RoKHVuc2lnbmVkIGNoYXJudW0s
IHVuc2lnbmVkIG5jaGFycyk7Ci0gICAgRXhjZXB0aW9uT3I8UmVmPFNWR1BvaW50Pj4gZ2V0U3Rh
cnRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKTsKLSAgICBFeGNlcHRpb25PcjxSZWY8
U1ZHUG9pbnQ+PiBnZXRFbmRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKTsKKyAgICBF
eGNlcHRpb25PcjxSZWY8RE9NUG9pbnQ+PiBnZXRTdGFydFBvc2l0aW9uT2ZDaGFyKHVuc2lnbmVk
IGNoYXJudW0pOworICAgIEV4Y2VwdGlvbk9yPFJlZjxET01Qb2ludD4+IGdldEVuZFBvc2l0aW9u
T2ZDaGFyKHVuc2lnbmVkIGNoYXJudW0pOwogICAgIEV4Y2VwdGlvbk9yPFJlZjxTVkdSZWN0Pj4g
Z2V0RXh0ZW50T2ZDaGFyKHVuc2lnbmVkIGNoYXJudW0pOwogICAgIEV4Y2VwdGlvbk9yPGZsb2F0
PiBnZXRSb3RhdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKTsKICAgICBpbnQgZ2V0Q2hhck51
bUF0UG9zaXRpb24oRE9NUG9pbnRJbml0JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4
dENvbnRlbnRFbGVtZW50LmlkbAppbmRleCBmODE2YTNmYWM1YTk2MzJhMWM0NGU5MDg1N2I3YzA2
NzQ4ZTZhYTYyLi5lMDQzYWQxMzcxOTc0ZTFjNzAzMWYwODIyMjlmOWU3OTEzNjJkYWQxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmlkbApAQCAtMzUsOCAr
MzUsOCBAQCBpbnRlcmZhY2UgU1ZHVGV4dENvbnRlbnRFbGVtZW50IDogU1ZHR3JhcGhpY3NFbGVt
ZW50IHsKICAgICBsb25nIGdldE51bWJlck9mQ2hhcnMoKTsKICAgICB1bnJlc3RyaWN0ZWQgZmxv
YXQgZ2V0Q29tcHV0ZWRUZXh0TGVuZ3RoKCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSB1bnJl
c3RyaWN0ZWQgZmxvYXQgZ2V0U3ViU3RyaW5nTGVuZ3RoKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcg
b2Zmc2V0ID0gMCwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBsZW5ndGggPSAwKTsKLSAgICBbTWF5
VGhyb3dFeGNlcHRpb24sIE5ld09iamVjdF0gU1ZHUG9pbnQgZ2V0U3RhcnRQb3NpdGlvbk9mQ2hh
cihvcHRpb25hbCB1bnNpZ25lZCBsb25nIG9mZnNldCA9IDApOwotICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbiwgTmV3T2JqZWN0XSBTVkdQb2ludCBnZXRFbmRQb3NpdGlvbk9mQ2hhcihvcHRpb25hbCB1
bnNpZ25lZCBsb25nIG9mZnNldCA9IDApOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgTmV3T2Jq
ZWN0XSBET01Qb2ludCBnZXRTdGFydFBvc2l0aW9uT2ZDaGFyKG9wdGlvbmFsIHVuc2lnbmVkIGxv
bmcgb2Zmc2V0ID0gMCk7CisgICAgW01heVRocm93RXhjZXB0aW9uLCBOZXdPYmplY3RdIERPTVBv
aW50IGdldEVuZFBvc2l0aW9uT2ZDaGFyKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0ID0g
MCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uLCBOZXdPYmplY3RdIFNWR1JlY3QgZ2V0RXh0ZW50
T2ZDaGFyKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0ID0gMCk7CiAgICAgW01heVRocm93
RXhjZXB0aW9uXSB1bnJlc3RyaWN0ZWQgZmxvYXQgZ2V0Um90YXRpb25PZkNoYXIob3B0aW9uYWwg
dW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwKTsKICAgICBsb25nIGdldENoYXJOdW1BdFBvc2l0aW9u
KERPTVBvaW50SW5pdCBwb2ludCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
VHJhbnNmb3JtLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtLmgKaW5kZXggNmEy
OWM3MmNmM2U3ZjMxM2Y3MDk2NTdhNDAxMjQ4MWMyMjNiOGRjZC4uMzNkYjY4ZjQyOWFhN2ZhM2Zl
ZWFkYzIyOWNkMTk2ODQ1ZTZmY2JhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RyYW5zZm9ybS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm0uaApAQCAt
MzEsNyArMzEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNWR1RyYW5zZm9y
bSA6IHB1YmxpYyBTVkdWYWx1ZVByb3BlcnR5PFNWR1RyYW5zZm9ybVZhbHVlPiwgcHVibGljIFNW
R1Byb3BlcnR5T3duZXIgeworY2xhc3MgU1ZHVHJhbnNmb3JtIDogcHVibGljIFNWR1ZhbHVlUHJv
cGVydHk8U1ZHVHJhbnNmb3JtVmFsdWU+LCBwdWJsaWMgRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIg
ewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHVHJhbnNmb3JtPiBjcmVhdGUoU1ZHVHJhbnNm
b3JtVmFsdWU6OlNWR1RyYW5zZm9ybVR5cGUgdHlwZSkKICAgICB7CkBAIC0xMzQsMTcgKzEzNCwx
NyBAQCBwcml2YXRlOgogICAgIHVzaW5nIEJhc2UgPSBTVkdWYWx1ZVByb3BlcnR5PFNWR1RyYW5z
Zm9ybVZhbHVlPjsKIAogICAgIFNWR1RyYW5zZm9ybShTVkdUcmFuc2Zvcm1WYWx1ZTo6U1ZHVHJh
bnNmb3JtVHlwZSB0eXBlLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHRyYW5zZm9ybSA9IHsgfSwg
ZmxvYXQgYW5nbGUgPSAwLCBjb25zdCBGbG9hdFBvaW50JiByb3RhdGlvbkNlbnRlciA9IHsgfSkK
LSAgICAgICAgOiBCYXNlKFNWR1RyYW5zZm9ybVZhbHVlKHR5cGUsIFNWR01hdHJpeDo6Y3JlYXRl
KHRoaXMsIFNWR1Byb3BlcnR5QWNjZXNzOjpSZWFkV3JpdGUsIHRyYW5zZm9ybSksIGFuZ2xlLCBy
b3RhdGlvbkNlbnRlcikpCisgICAgICAgIDogQmFzZShTVkdUcmFuc2Zvcm1WYWx1ZSh0eXBlLCBT
VkdNYXRyaXg6OmNyZWF0ZSh0aGlzLCB0cmFuc2Zvcm0pLCBhbmdsZSwgcm90YXRpb25DZW50ZXIp
KQogICAgIHsKICAgICB9CiAKLSAgICBTVkdQcm9wZXJ0eU93bmVyKiBvd25lcigpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIG1fb3duZXI7IH0KKyAgICBET01MaXZlUHJvcGVydHlPYnNlcnZlciog
b2JzZXJ2ZXIoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX29ic2VydmVyOyB9CiAKLSAgICB2
b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKFNWR1Byb3BlcnR5KiBwcm9wZXJ0eSkgb3ZlcnJpZGUK
KyAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKERPTUxpdmVQcm9wZXJ0eSogcHJvcGVydHkp
IG92ZXJyaWRlCiAgICAgewogICAgICAgICBBU1NFUlRfVU5VU0VEKHByb3BlcnR5LCBwcm9wZXJ0
eSA9PSBtX3ZhbHVlLm1hdHJpeCgpLnB0cigpKTsKLSAgICAgICAgaWYgKG93bmVyKCkpCi0gICAg
ICAgICAgICBvd25lcigpLT5jb21taXRQcm9wZXJ0eUNoYW5nZSh0aGlzKTsKKyAgICAgICAgaWYg
KG9ic2VydmVyKCkpCisgICAgICAgICAgICBvYnNlcnZlcigpLT5jb21taXRQcm9wZXJ0eUNoYW5n
ZSh0aGlzKTsKICAgICAgICAgbV92YWx1ZS5tYXRyaXhEaWRDaGFuZ2UoKTsKICAgICB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1MaXN0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtTGlzdC5oCmluZGV4IDU0NGQ2MGIyZTYzNWMxYzIwOTkz
NGVlNDM1Y2Y0MTI1ZTZhNzFmMmIuLmU2MDQ1ZWQyNTYyMzIxZTkxNDE2NGEwZmIyMDQ5NzQ4NzEw
NWUyMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1MaXN0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybUxpc3QuaApAQCAtMzgsMTQgKzM4
LDE0IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHVHJhbnNmb3Jt
TGlzdCgpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUmVmPFNWR1RyYW5zZm9ybUxpc3Q+IGNyZWF0
ZShTVkdQcm9wZXJ0eU93bmVyKiBvd25lciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzKQorICAg
IHN0YXRpYyBSZWY8U1ZHVHJhbnNmb3JtTGlzdD4gY3JlYXRlKERPTUxpdmVQcm9wZXJ0eU9ic2Vy
dmVyKiBvYnNlcnZlcikKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1Ry
YW5zZm9ybUxpc3Qob3duZXIsIGFjY2VzcykpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBTVkdUcmFuc2Zvcm1MaXN0KG9ic2VydmVyKSk7CiAgICAgfQogCi0gICAgc3RhdGljIFJlZjxT
VkdUcmFuc2Zvcm1MaXN0PiBjcmVhdGUoY29uc3QgU1ZHVHJhbnNmb3JtTGlzdCYgb3RoZXIsIFNW
R1Byb3BlcnR5QWNjZXNzIGFjY2VzcykKKyAgICBzdGF0aWMgUmVmPFNWR1RyYW5zZm9ybUxpc3Q+
IGNyZWF0ZShjb25zdCBTVkdUcmFuc2Zvcm1MaXN0JiBvdGhlcikKICAgICB7Ci0gICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFNWR1RyYW5zZm9ybUxpc3Qob3RoZXIsIGFjY2VzcykpOworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdUcmFuc2Zvcm1MaXN0KG90aGVyKSk7CiAgICAg
fQogCiAgICAgRXhjZXB0aW9uT3I8UmVmPFNWR1RyYW5zZm9ybT4+IGNyZWF0ZVNWR1RyYW5zZm9y
bUZyb21NYXRyaXgoY29uc3QgUmVmPFNWR01hdHJpeD4mIG1hdHJpeCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Vmlld1NwZWMuY3BwCmluZGV4IDhmNDIzNTE2YjViZGJjNTI4N2NkYTQ0YWRmNDlmYzYxOGRkYzMy
ZWMuLjUzY2MxNWRjOTBlNzdjYTkxMjRmNmNhZmEyOGRhMWFjNTA1OWNhZDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1ZpZXdTcGVjLmNwcApAQCAtMzIsOSArMzIsOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBTVkdWaWV3U3BlYzo6U1ZHVmlld1NwZWMoU1ZHRWxlbWVudCYgY29udGV4dEVsZW1lbnQp
Ci0gICAgOiBTVkdGaXRUb1ZpZXdCb3goJmNvbnRleHRFbGVtZW50LCBTVkdQcm9wZXJ0eUFjY2Vz
czo6UmVhZE9ubHkpCisgICAgOiBTVkdGaXRUb1ZpZXdCb3goJmNvbnRleHRFbGVtZW50KQogICAg
ICwgbV9jb250ZXh0RWxlbWVudChtYWtlV2Vha1B0cihjb250ZXh0RWxlbWVudCkpCi0gICAgLCBt
X3RyYW5zZm9ybShTVkdUcmFuc2Zvcm1MaXN0OjpjcmVhdGUoJmNvbnRleHRFbGVtZW50LCBTVkdQ
cm9wZXJ0eUFjY2Vzczo6UmVhZE9ubHkpKQogewogICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBv
bmNlRmxhZzsKICAgICBzdGQ6OmNhbGxfb25jZShvbmNlRmxhZywgW10gewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Vmlld1NwZWMuaAppbmRleCAyZTdlZjk3ODZjMWE4ODZmZDI1YWNmZWEwMzdmYzg1MGQ3OWRlNTIw
Li42ZWZjMDlmOTgzYzJjNDNjNmEzZDg1NWIwMmQzNDIyMjAwMzgyMWMwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHVmlld1NwZWMuaApAQCAtNTUsNyArNTUsNyBAQCBwcml2YXRlOgogCiAgICAgV2Vha1B0cjxT
VkdFbGVtZW50PiBtX2NvbnRleHRFbGVtZW50OwogICAgIFN0cmluZyBtX3ZpZXdUYXJnZXRTdHJp
bmc7Ci0gICAgUmVmPFNWR1RyYW5zZm9ybUxpc3Q+IG1fdHJhbnNmb3JtOworICAgIFJlZjxTVkdU
cmFuc2Zvcm1MaXN0PiBtX3RyYW5zZm9ybSB7IFNWR1RyYW5zZm9ybUxpc3Q6OmNyZWF0ZSgpIH07
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHWm9vbUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tRXZlbnQu
Y3BwCmluZGV4IDY5NmZjZjE0MmUwY2Y0ODE3NWY1NWRlYmRmZWJjMDUxODU1OTVhNDYuLjlkODU3
NzI4OWY3NjVhZTk3ODUyYWE3ZTAyOTQ1OTMwMTA1NTViNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdab29tRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkda
b29tRXZlbnQuY3BwCkBAIC0yMiw3ICsyMiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiU1ZHWm9vbUV2ZW50LmgiCiAKLSNpbmNsdWRlICJTVkdQb2ludC5oIgorI2luY2x1ZGUg
IkRPTVBvaW50LmgiCiAjaW5jbHVkZSAiU1ZHUmVjdC5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxs
b2NJbmxpbmVzLmg+CiAKQEAgLTUxLDkgKzUxLDkgQEAgdm9pZCBTVkdab29tRXZlbnQ6OnNldFBy
ZXZpb3VzU2NhbGUoZmxvYXQgc2NhbGUpCiAgICAgbV9wcmV2aW91c1NjYWxlID0gc2NhbGU7CiB9
CiAKLVJlZjxTVkdQb2ludD4gU1ZHWm9vbUV2ZW50OjpwcmV2aW91c1RyYW5zbGF0ZSgpIGNvbnN0
CitSZWY8RE9NUG9pbnQ+IFNWR1pvb21FdmVudDo6cHJldmlvdXNUcmFuc2xhdGUoKSBjb25zdAog
ewotICAgIHJldHVybiBTVkdQb2ludDo6Y3JlYXRlKG1fcHJldmlvdXNUcmFuc2xhdGUpOworICAg
IHJldHVybiBET01Qb2ludDo6Y3JlYXRlKG1fcHJldmlvdXNUcmFuc2xhdGUueCgpLCBtX3ByZXZp
b3VzVHJhbnNsYXRlLnkoKSk7CiB9CiAKIGZsb2F0IFNWR1pvb21FdmVudDo6bmV3U2NhbGUoKSBj
b25zdApAQCAtNjYsOSArNjYsOSBAQCB2b2lkIFNWR1pvb21FdmVudDo6c2V0TmV3U2NhbGUoZmxv
YXQgc2NhbGUpCiAgICAgbV9uZXdTY2FsZSA9IHNjYWxlOwogfQogCi1SZWY8U1ZHUG9pbnQ+IFNW
R1pvb21FdmVudDo6bmV3VHJhbnNsYXRlKCkgY29uc3QKK1JlZjxET01Qb2ludD4gU1ZHWm9vbUV2
ZW50OjpuZXdUcmFuc2xhdGUoKSBjb25zdAogewotICAgIHJldHVybiBTVkdQb2ludDo6Y3JlYXRl
KG1fbmV3VHJhbnNsYXRlKTsKKyAgICByZXR1cm4gRE9NUG9pbnQ6OmNyZWF0ZShtX25ld1RyYW5z
bGF0ZS54KCksIG1fbmV3VHJhbnNsYXRlLnkoKSk7CiB9CiAKIEV2ZW50SW50ZXJmYWNlIFNWR1pv
b21FdmVudDo6ZXZlbnRJbnRlcmZhY2UoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1pvb21FdmVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21FdmVudC5o
CmluZGV4IGJiMTQ0NWJmMWQ4MmY1NjUxNWVhM2M0M2M0ZmQyMWJlYTRiYTk3MzIuLjA3NjUwM2Zh
NWMyYTkxOWU4N2JmNzRjYTdlOTUwOGVlODE0YTA4ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdab29tRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUV2
ZW50LmgKQEAgLTI2LDcgKzI2LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBT
VkdQb2ludDsKK2NsYXNzIERPTVBvaW50OwogY2xhc3MgU1ZHUmVjdDsKIAogY2xhc3MgU1ZHWm9v
bUV2ZW50IGZpbmFsIDogcHVibGljIFVJRXZlbnQgewpAQCAtNDAsMTIgKzQwLDEyIEBAIHB1Ymxp
YzoKICAgICBmbG9hdCBwcmV2aW91c1NjYWxlKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRQcmV2aW91
c1NjYWxlKGZsb2F0KTsKIAotICAgIFJlZjxTVkdQb2ludD4gcHJldmlvdXNUcmFuc2xhdGUoKSBj
b25zdDsKKyAgICBSZWY8RE9NUG9pbnQ+IHByZXZpb3VzVHJhbnNsYXRlKCkgY29uc3Q7CiAKICAg
ICBmbG9hdCBuZXdTY2FsZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0TmV3U2NhbGUoZmxvYXQpOwog
Ci0gICAgUmVmPFNWR1BvaW50PiBuZXdUcmFuc2xhdGUoKSBjb25zdDsKKyAgICBSZWY8RE9NUG9p
bnQ+IG5ld1RyYW5zbGF0ZSgpIGNvbnN0OwogCiAgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRl
cmZhY2UoKSBjb25zdCBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1pvb21FdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUV2ZW50LmlkbAppbmRl
eCAyODYwZTRjOGQxNTRhZDA5NzUwZDU0YzRhNmU2OWE1NTZmMTU0NTViLi5iNTJhN2Q0NDZiNmIy
MmNiOGNmMjVhYWU3YzUyY2VjODdiZjkzZDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHWm9vbUV2ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUV2ZW50
LmlkbApAQCAtMjYsOCArMjYsOCBAQAogaW50ZXJmYWNlIFNWR1pvb21FdmVudCA6IFVJRXZlbnQg
eyAKICAgICBbTmV3T2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgU1ZHUmVjdCB6b29tUmVjdFNj
cmVlbjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHByZXZpb3Vz
U2NhbGU7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR1BvaW50IHByZXZpb3VzVHJhbnNsYXRl
OworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Qb2ludCBwcmV2aW91c1RyYW5zbGF0ZTsKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IG5ld1NjYWxlOwotICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBTVkdQb2ludCBuZXdUcmFuc2xhdGU7CisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVBvaW50IG5ld1RyYW5zbGF0ZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkRGVjb3JhdGVkUHJvcGVydHkuaCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkRGVjb3JhdGVkUHJvcGVydHku
aAppbmRleCBjZWJhYTM2M2JmNTI3YmJiMzhlNTY3ZDNlM2Q0MmJmODQzMTAyYTc1Li42ZGE5ZDQ0
OWVjY2NmMTlmMDllY2ZhYWZjYTVhNThiOWM3ODQxZDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZERlY29yYXRlZFByb3BlcnR5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWREZWNvcmF0ZWRQcm9wZXJ0
eS5oCkBAIC05NywxNSArOTcsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgLy8gTWFuYWdpbmcg
dGhlIHJlbGF0aW9uc2hpcCB3aXRoIHRoZSBvd25lci4KLSAgICB2b2lkIHNldERpcnR5KCkgb3Zl
cnJpZGUgeyBtX3N0YXRlID0gU1ZHUHJvcGVydHlTdGF0ZTo6RGlydHk7IH0KLSAgICBib29sIGlz
RGlydHkoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3N0YXRlID09IFNWR1Byb3BlcnR5U3Rh
dGU6OkRpcnR5OyB9Ci0gICAgT3B0aW9uYWw8U3RyaW5nPiBzeW5jaHJvbml6ZSgpIG92ZXJyaWRl
Ci0gICAgewotICAgICAgICBpZiAobV9zdGF0ZSA9PSBTVkdQcm9wZXJ0eVN0YXRlOjpDbGVhbikK
LSAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgICAgIG1fc3RhdGUgPSBTVkdQ
cm9wZXJ0eVN0YXRlOjpDbGVhbjsKLSAgICAgICAgcmV0dXJuIGJhc2VWYWxBc1N0cmluZygpOwot
ICAgIH0KKyAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IGJhc2VWYWxBc1N0cmluZygpOyB9CiAKICAgICAvLyBVc2VkIGJ5IFJlbmRlclNWR0VsZW1lbnRz
IGFuZCBEdW1wUmVuZGVyVHJlZS4KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBQcm9wZXJ0eVR5cGU+
CkBAIC0xMzMsNyArMTI1LDYgQEAgcHVibGljOgogcHJvdGVjdGVkOgogICAgIHN0ZDo6dW5pcXVl
X3B0cjxTVkdEZWNvcmF0ZWRQcm9wZXJ0eTxEZWNvcmF0aW9uVHlwZT4+IG1fYmFzZVZhbDsKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8U1ZHRGVjb3JhdGVkUHJvcGVydHk8RGVjb3JhdGlvblR5cGU+PiBt
X2FuaW1WYWw7Ci0gICAgU1ZHUHJvcGVydHlTdGF0ZSBtX3N0YXRlIHsgU1ZHUHJvcGVydHlTdGF0
ZTo6Q2xlYW4gfTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9w
ZXJ0aWVzL1NWR0FuaW1hdGVkUHJpbWl0aXZlUHJvcGVydHkuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJpbWl0aXZlUHJvcGVydHkuaAppbmRleCBlMTRmNjc5
ZjMzNjNkZGM1YThmNDFjMDM1ZmRmNzM0ZWJjYjk2NjYxLi5kNDQ4MGY3NGEyZTM5NmQxOGE5Mzdk
Zjc4OTMwZjNkNWZiZmIxMThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVy
dGllcy9TVkdBbmltYXRlZFByaW1pdGl2ZVByb3BlcnR5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcmltaXRpdmVQcm9wZXJ0eS5oCkBAIC04Nyw5ICs4
Nyw3IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICAvLyBNYW5hZ2luZyB0aGUgcmVsYXRpb25zaGlw
IHdpdGggdGhlIG93bmVyLgotICAgIHZvaWQgc2V0RGlydHkoKSBvdmVycmlkZSB7IG1fYmFzZVZh
bC0+c2V0RGlydHkoKTsgfQotICAgIGJvb2wgaXNEaXJ0eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIG1fYmFzZVZhbC0+aXNEaXJ0eSgpOyB9Ci0gICAgT3B0aW9uYWw8U3RyaW5nPiBzeW5jaHJv
bml6ZSgpIG92ZXJyaWRlIHsgcmV0dXJuIG1fYmFzZVZhbC0+c3luY2hyb25pemUoKTsgfQorICAg
IFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gYmFzZVZhbEFz
U3RyaW5nKCk7IH0KIAogICAgIC8vIFVzZWQgYnkgUmVuZGVyU1ZHRWxlbWVudHMgYW5kIER1bXBS
ZW5kZXJUcmVlLgogICAgIGNvbnN0IFByb3BlcnR5VHlwZSYgY3VycmVudFZhbHVlKCkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJv
cGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9w
ZXJ0eS5jcHAKaW5kZXggZWMyZjNhNDg3ZjgzMGYxYzcyNmQwZjZiZTRjOTQyMmVjOGYzMDFlOC4u
ZWRhNWM4NGMzNWZiYzdiZDI1NGQxYWRlMmZiMjU4MTY2NTgzZGMzYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5jcHAKQEAg
LTMwLDEyICszMCwxMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNWR1Byb3BlcnR5T3du
ZXIqIFNWR0FuaW1hdGVkUHJvcGVydHk6Om93bmVyKCkgY29uc3QKK0RPTUxpdmVQcm9wZXJ0eU9i
c2VydmVyKiBTVkdBbmltYXRlZFByb3BlcnR5OjpvYnNlcnZlcigpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIG1fY29udGV4dEVsZW1lbnQ7CiB9CiAKLXZvaWQgU1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6Y29t
bWl0UHJvcGVydHlDaGFuZ2UoU1ZHUHJvcGVydHkqKQordm9pZCBTVkdBbmltYXRlZFByb3BlcnR5
Ojpjb21taXRQcm9wZXJ0eUNoYW5nZShET01MaXZlUHJvcGVydHkqKQogewogICAgIGlmICghbV9j
b250ZXh0RWxlbWVudCkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5oCmluZGV4IGM2ZjkzMmU2ZGY2OWNj
ZWZhZmM5NjVlMzJjZDU2NjIwYTFmYzMzNjQuLmExMDQxZTYwNTI5ZGExZmQyMzE4NjBlMjYwYjcx
Y2NmYjcwYzRhOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NW
R0FuaW1hdGVkUHJvcGVydHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9T
VkdBbmltYXRlZFByb3BlcnR5LmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAK
LSNpbmNsdWRlICJTVkdQcm9wZXJ0eU93bmVyLmgiCisjaW5jbHVkZSAiRE9NTGl2ZVByb3BlcnR5
T2JzZXJ2ZXIuaCIKICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtMzQsNyArMzQs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCiBjbGFzcyBTVkdFbGVtZW50OwogCi1jbGFz
cyBTVkdBbmltYXRlZFByb3BlcnR5IDogcHVibGljIFJlZkNvdW50ZWQ8U1ZHQW5pbWF0ZWRQcm9w
ZXJ0eT4sIHB1YmxpYyBTVkdQcm9wZXJ0eU93bmVyIHsKK2NsYXNzIFNWR0FuaW1hdGVkUHJvcGVy
dHkgOiBwdWJsaWMgUmVmQ291bnRlZDxTVkdBbmltYXRlZFByb3BlcnR5PiwgcHVibGljIERPTUxp
dmVQcm9wZXJ0eU9ic2VydmVyIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5TVkdBbmltYXRlZFBy
b3BlcnR5KCkgPSBkZWZhdWx0OwogICAgIApAQCAtNDcsOSArNDcsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBTdHJpbmcgYW5pbVZhbEFzU3RyaW5nKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJp
bmcoKTsgfQogICAgIAogICAgIC8vIENvbnRyb2wgdGhlIHN5bmNocm9uaXphdGlvbiBiZXR3ZWVu
IHRoZSBhdHRyaWJ1dGUgYW5kIGl0cyByZWZsZWN0aW9uIGluIGJhc2VWYWwuCi0gICAgdmlydHVh
bCBib29sIGlzRGlydHkoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgdm9p
ZCBzZXREaXJ0eSgpIHsgfQotICAgIHZpcnR1YWwgT3B0aW9uYWw8U3RyaW5nPiBzeW5jaHJvbml6
ZSgpIHsgcmV0dXJuIFdURjo6bnVsbG9wdDsgfQorICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVlQXNT
dHJpbmcoKSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9CiAgICAgCiAgICAgLy8gQ29u
dHJvbCB0aGUgYW5pbWF0aW9uIGxpZmUgY3ljbGUuCiAgICAgYm9vbCBpc0FuaW1hdGluZygpIGNv
bnN0IHsgcmV0dXJuIG1faXNBbmltYXRpbmc7IH0KQEAgLTY2LDggKzY0LDggQEAgcHJvdGVjdGVk
OgogICAgIHsKICAgICB9CiAgICAgCi0gICAgU1ZHUHJvcGVydHlPd25lciogb3duZXIoKSBjb25z
dCBvdmVycmlkZTsKLSAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKFNWR1Byb3BlcnR5Kikg
b3ZlcnJpZGU7CisgICAgRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyKCkgY29uc3Qg
b3ZlcnJpZGU7CisgICAgdm9pZCBjb21taXRQcm9wZXJ0eUNoYW5nZShET01MaXZlUHJvcGVydHkq
KSBvdmVycmlkZTsKICAgICAKICAgICBTVkdFbGVtZW50KiBtX2NvbnRleHRFbGVtZW50IHsgbnVs
bHB0ciB9OwogICAgIGJvb2wgbV9pc0FuaW1hdGluZyB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TGlzdC5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eUxpc3QuaApp
bmRleCBmNDI1NWQ3ZjZlNzViMTRhY2E4OGE4ODBiZmYzNmU2NTYzODNmNzE2Li5hZDIxYTk4MDZj
NTRhZmMwNmVjYWE1YTcxMzI1Y2RiMjMxM2NhZjMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TGlzdC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlMaXN0LmgKQEAgLTY4LDkg
KzY4LDcgQEAgcHVibGljOgogICAgIH0KIAogICAgIC8vIE1hbmFnaW5nIHRoZSByZWxhdGlvbnNo
aXAgd2l0aCB0aGUgb3duZXIuCi0gICAgdm9pZCBzZXREaXJ0eSgpIG92ZXJyaWRlIHsgbV9iYXNl
VmFsLT5zZXREaXJ0eSgpOyB9Ci0gICAgYm9vbCBpc0RpcnR5KCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gbV9iYXNlVmFsLT5pc0RpcnR5KCk7IH0KLSAgICBPcHRpb25hbDxTdHJpbmc+IHN5bmNo
cm9uaXplKCkgb3ZlcnJpZGUgeyByZXR1cm4gbV9iYXNlVmFsLT5zeW5jaHJvbml6ZSgpOyB9Cisg
ICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBiYXNlVmFs
QXNTdHJpbmcoKTsgfQogCiAgICAgLy8gVXNlZCBieSBSZW5kZXJTVkdFbGVtZW50cyBhbmQgRHVt
cFJlbmRlclRyZWUuCiAgICAgY29uc3QgTGlzdFR5cGUmIGN1cnJlbnRWYWx1ZSgpIGNvbnN0CkBA
IC0xMTcsMTkgKzExNSwyNCBAQCBwcm90ZWN0ZWQ6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4g
QXJndW1lbnRzPgogICAgIFNWR0FuaW1hdGVkUHJvcGVydHlMaXN0KFNWR0VsZW1lbnQqIGNvbnRl
eHRFbGVtZW50LCBBcmd1bWVudHMmJi4uLiBhcmd1bWVudHMpCiAgICAgICAgIDogU1ZHQW5pbWF0
ZWRQcm9wZXJ0eShjb250ZXh0RWxlbWVudCkKLSAgICAgICAgLCBtX2Jhc2VWYWwoTGlzdFR5cGU6
OmNyZWF0ZSh0aGlzLCBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZFdyaXRlLCBzdGQ6OmZvcndhcmQ8
QXJndW1lbnRzPihhcmd1bWVudHMpLi4uKSkKKyAgICAgICAgLCBtX2Jhc2VWYWwoTGlzdFR5cGU6
OmNyZWF0ZSh0aGlzLCBzdGQ6OmZvcndhcmQ8QXJndW1lbnRzPihhcmd1bWVudHMpLi4uKSkKICAg
ICB7CiAgICAgfQogCiAgICAgUmVmUHRyPExpc3RUeXBlPiYgZW5zdXJlQW5pbVZhbCgpCiAgICAg
ewogICAgICAgICBpZiAoIW1fYW5pbVZhbCkKLSAgICAgICAgICAgIG1fYW5pbVZhbCA9IExpc3RU
eXBlOjpjcmVhdGUobV9iYXNlVmFsLCBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZE9ubHkpOworICAg
ICAgICAgICAgbV9hbmltVmFsID0gTGlzdFR5cGU6OmNyZWF0ZShtX2Jhc2VWYWwuZ2V0KCkpOwog
ICAgICAgICByZXR1cm4gbV9hbmltVmFsOwogICAgIH0KIAorICAgIGJvb2wgaXNQcm9wZXJ0eVJl
YWRPbmx5KGNvbnN0IERPTUxpdmVQcm9wZXJ0eSYgcHJvcGVydHkpIGNvbnN0IG92ZXJyaWRlCisg
ICAgeworICAgICAgICByZXR1cm4gbV9hbmltVmFsID09ICZwcm9wZXJ0eTsKKyAgICB9CisKICAg
ICAvLyBDYWxsZWQgd2hlbiBtX2Jhc2VWYWwgY2hhbmdlcyBvciBhbiBpdGVtIGluIG1fYmFzZVZh
bCBjaGFuZ2VzLgotICAgIHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoU1ZHUHJvcGVydHkqIHBy
b3BlcnR5KSBvdmVycmlkZQorICAgIHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoRE9NTGl2ZVBy
b3BlcnR5KiBwcm9wZXJ0eSkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIGlmIChtX2FuaW1WYWwp
CiAgICAgICAgICAgICAqbV9hbmltVmFsID0gbV9iYXNlVmFsOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBhaXJBY2Nlc3Nvcklt
cGwuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlQ
YWlyQWNjZXNzb3JJbXBsLmgKaW5kZXggNGEyNjlmYTVhOGYyN2NkMzM1NWU4MzQwNmZhNTM4NTNk
OTUyODljNS4uMzUwYmMwODhlYjQ1YTk2MDk4ZWE5MjQ3YTM3NTg1ODI4ZWUxMzUxNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBh
aXJBY2Nlc3NvckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdB
bmltYXRlZFByb3BlcnR5UGFpckFjY2Vzc29ySW1wbC5oCkBAIC00NiwxNyArNDYsMTEgQEAgcHVi
bGljOgogICAgIGNvbnN0ZXhwciBzdGF0aWMgY29uc3QgU1ZHTWVtYmVyQWNjZXNzb3I8T3duZXJU
eXBlPiYgc2luZ2xldG9uKCkgeyByZXR1cm4gQmFzZTo6dGVtcGxhdGUgc2luZ2xldG9uPFNWR0Fu
aW1hdGVkQW5nbGVPcmllbnRBY2Nlc3NvciwgcHJvcGVydHkxLCBwcm9wZXJ0eTI+KCk7IH0KIAog
cHJpdmF0ZToKLSAgICBPcHRpb25hbDxTdHJpbmc+IHN5bmNocm9uaXplKGNvbnN0IE93bmVyVHlw
ZSYgb3duZXIpIGNvbnN0IGZpbmFsCisgICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoY29uc3QgT3du
ZXJUeXBlJiBvd25lcikgY29uc3QgZmluYWwKICAgICB7Ci0gICAgICAgIGJvb2wgZGlydHkxID0g
cHJvcGVydHkxKG93bmVyKS0+aXNEaXJ0eSgpOwotICAgICAgICBib29sIGRpcnR5MiA9IHByb3Bl
cnR5Mihvd25lciktPmlzRGlydHkoKTsKLSAgICAgICAgaWYgKCEoZGlydHkxIHx8IGRpcnR5Mikp
Ci0gICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotCiAgICAgICAgIGF1dG8gdHlwZSA9
IHByb3BlcnR5Mihvd25lciktPmJhc2VWYWwoKTsKLQotICAgICAgICBTdHJpbmcgc3RyaW5nMSA9
IGRpcnR5MSA/ICpwcm9wZXJ0eTEob3duZXIpLT5zeW5jaHJvbml6ZSgpIDogcHJvcGVydHkxKG93
bmVyKS0+YmFzZVZhbEFzU3RyaW5nKCk7Ci0gICAgICAgIFN0cmluZyBzdHJpbmcyID0gZGlydHky
ID8gKnByb3BlcnR5Mihvd25lciktPnN5bmNocm9uaXplKCkgOiBwcm9wZXJ0eTIob3duZXIpLT5i
YXNlVmFsQXNTdHJpbmcoKTsKKyAgICAgICAgU3RyaW5nIHN0cmluZzEgPSBwcm9wZXJ0eTEob3du
ZXIpLT5iYXNlVmFsQXNTdHJpbmcoKTsKKyAgICAgICAgU3RyaW5nIHN0cmluZzIgPSBwcm9wZXJ0
eTIob3duZXIpLT5iYXNlVmFsQXNTdHJpbmcoKTsKICAgICAgICAgcmV0dXJuIHR5cGUgPT0gU1ZH
TWFya2VyT3JpZW50QXV0byB8fCB0eXBlID09IFNWR01hcmtlck9yaWVudEF1dG9TdGFydFJldmVy
c2UgPyBzdHJpbmcyIDogc3RyaW5nMTsKICAgICB9CiAKQEAgLTgzLDE1ICs3NywxMCBAQCBwdWJs
aWM6CiAgICAgY29uc3RleHByIHN0YXRpYyBjb25zdCBTVkdNZW1iZXJBY2Nlc3NvcjxPd25lclR5
cGU+JiBzaW5nbGV0b24oKSB7IHJldHVybiBCYXNlOjp0ZW1wbGF0ZSBzaW5nbGV0b248U1ZHQW5p
bWF0ZWRJbnRlZ2VyUGFpckFjY2Vzc29yLCBwcm9wZXJ0eTEsIHByb3BlcnR5Mj4oKTsgfQogCiBw
cml2YXRlOgotICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUoY29uc3QgT3duZXJUeXBl
JiBvd25lcikgY29uc3QgZmluYWwKKyAgICBTdHJpbmcgdmFsdWVBc1N0cmluZyhjb25zdCBPd25l
clR5cGUmIG93bmVyKSBjb25zdCBmaW5hbAogICAgIHsKLSAgICAgICAgYm9vbCBkaXJ0eTEgPSBw
cm9wZXJ0eTEob3duZXIpLT5pc0RpcnR5KCk7Ci0gICAgICAgIGJvb2wgZGlydHkyID0gcHJvcGVy
dHkyKG93bmVyKS0+aXNEaXJ0eSgpOwotICAgICAgICBpZiAoIShkaXJ0eTEgfHwgZGlydHkyKSkK
LSAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAgICAgICAgU3RyaW5nIHN0cmlu
ZzEgPSBkaXJ0eTEgPyAqcHJvcGVydHkxKG93bmVyKS0+c3luY2hyb25pemUoKSA6IHByb3BlcnR5
MShvd25lciktPmJhc2VWYWxBc1N0cmluZygpOwotICAgICAgICBTdHJpbmcgc3RyaW5nMiA9IGRp
cnR5MiA/ICpwcm9wZXJ0eTIob3duZXIpLT5zeW5jaHJvbml6ZSgpIDogcHJvcGVydHkyKG93bmVy
KS0+YmFzZVZhbEFzU3RyaW5nKCk7CisgICAgICAgIFN0cmluZyBzdHJpbmcxID0gcHJvcGVydHkx
KG93bmVyKS0+YmFzZVZhbEFzU3RyaW5nKCk7CisgICAgICAgIFN0cmluZyBzdHJpbmcyID0gcHJv
cGVydHkyKG93bmVyKS0+YmFzZVZhbEFzU3RyaW5nKCk7CiAgICAgICAgIHJldHVybiBzdHJpbmcx
ID09IHN0cmluZzIgPyBzdHJpbmcxIDogc3RyaW5nMSArICIsICIgKyBzdHJpbmcyOwogICAgIH0K
IApAQCAtMTE0LDE5ICsxMDMsMTQgQEAgY2xhc3MgU1ZHQW5pbWF0ZWROdW1iZXJQYWlyQWNjZXNz
b3IgZmluYWwgOiBwdWJsaWMgU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBhaXJBY2Nlc3MKIAogcHVibGlj
OgogICAgIHVzaW5nIEJhc2U6OkJhc2U7Ci0gICAgdGVtcGxhdGU8UmVmPFNWR0FuaW1hdGVkTnVt
YmVyPiBPd25lclR5cGU6Oipwcm9wZXJ0eTEsIFJlZjxTVkdBbmltYXRlZE51bWJlcj4gT3duZXJU
eXBlOjoqcHJvcGVydHkyID4KKyAgICB0ZW1wbGF0ZTxSZWY8U1ZHQW5pbWF0ZWROdW1iZXI+IE93
bmVyVHlwZTo6KnByb3BlcnR5MSwgUmVmPFNWR0FuaW1hdGVkTnVtYmVyPiBPd25lclR5cGU6Oipw
cm9wZXJ0eTI+CiAgICAgY29uc3RleHByIHN0YXRpYyBjb25zdCBTVkdNZW1iZXJBY2Nlc3NvcjxP
d25lclR5cGU+JiBzaW5nbGV0b24oKSB7IHJldHVybiBCYXNlOjp0ZW1wbGF0ZSBzaW5nbGV0b248
U1ZHQW5pbWF0ZWROdW1iZXJQYWlyQWNjZXNzb3IsIHByb3BlcnR5MSwgcHJvcGVydHkyPigpOyB9
CiAKIHByaXZhdGU6Ci0gICAgT3B0aW9uYWw8U3RyaW5nPiBzeW5jaHJvbml6ZShjb25zdCBPd25l
clR5cGUmIG93bmVyKSBjb25zdCBmaW5hbAorICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKGNvbnN0
IE93bmVyVHlwZSYgb3duZXIpIGNvbnN0IGZpbmFsCiAgICAgewotICAgICAgICBib29sIGRpcnR5
MSA9IHByb3BlcnR5MShvd25lciktPmlzRGlydHkoKTsKLSAgICAgICAgYm9vbCBkaXJ0eTIgPSBw
cm9wZXJ0eTIob3duZXIpLT5pc0RpcnR5KCk7Ci0gICAgICAgIGlmICghKGRpcnR5MSB8fCBkaXJ0
eTIpKQotICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQotICAgICAgICBTdHJpbmcg
c3RyaW5nMSA9IGRpcnR5MSA/ICpwcm9wZXJ0eTEob3duZXIpLT5zeW5jaHJvbml6ZSgpIDogcHJv
cGVydHkxKG93bmVyKS0+YmFzZVZhbEFzU3RyaW5nKCk7Ci0gICAgICAgIFN0cmluZyBzdHJpbmcy
ID0gZGlydHkyID8gKnByb3BlcnR5Mihvd25lciktPnN5bmNocm9uaXplKCkgOiBwcm9wZXJ0eTIo
b3duZXIpLT5iYXNlVmFsQXNTdHJpbmcoKTsKKyAgICAgICAgU3RyaW5nIHN0cmluZzEgPSBwcm9w
ZXJ0eTEob3duZXIpLT5iYXNlVmFsQXNTdHJpbmcoKTsKKyAgICAgICAgU3RyaW5nIHN0cmluZzIg
PSBwcm9wZXJ0eTIob3duZXIpLT5iYXNlVmFsQXNTdHJpbmcoKTsKICAgICAgICAgcmV0dXJuIHN0
cmluZzEgPT0gc3RyaW5nMiA/IHN0cmluZzEgOiBzdHJpbmcxICsgIiwgIiArIHN0cmluZzI7CiAg
ICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmlt
YXRlZFZhbHVlUHJvcGVydHkuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0Fu
aW1hdGVkVmFsdWVQcm9wZXJ0eS5oCmluZGV4IGRmZGIxNzFhMGNiODNmYzc1OTYwNTllNzYwNGE3
ZmQ4OTM1MWY1MjUuLjdmOTY1MjVhYjkzYjY0Y2YzN2NjYTUyYWY0N2RmYjRlNmMwMWFmOGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkVmFsdWVQ
cm9wZXJ0eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVk
VmFsdWVQcm9wZXJ0eS5oCkBAIC04NCw5ICs4NCw3IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICAv
LyBNYW5hZ2luZyB0aGUgcmVsYXRpb25zaGlwIHdpdGggdGhlIG93bmVyLgotICAgIHZvaWQgc2V0
RGlydHkoKSBvdmVycmlkZSB7IG1fYmFzZVZhbC0+c2V0RGlydHkoKTsgfQotICAgIGJvb2wgaXNE
aXJ0eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fYmFzZVZhbC0+aXNEaXJ0eSgpOyB9Ci0g
ICAgT3B0aW9uYWw8U3RyaW5nPiBzeW5jaHJvbml6ZSgpIG92ZXJyaWRlIHsgcmV0dXJuIG1fYmFz
ZVZhbC0+c3luY2hyb25pemUoKTsgfQorICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gYmFzZVZhbEFzU3RyaW5nKCk7IH0KIAogICAgIC8vIFVzZWQgYnkg
UmVuZGVyU1ZHRWxlbWVudHMgYW5kIER1bXBSZW5kZXJUcmVlLgogICAgIGNvbnN0IFZhbHVlVHlw
ZSYgY3VycmVudFZhbHVlKCkgY29uc3QKQEAgLTEzMSwyNiArMTI5LDI0IEBAIHByb3RlY3RlZDoK
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+CiAgICAgU1ZHQW5pbWF0ZWRWYWx1
ZVByb3BlcnR5KFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50LCBBcmd1bWVudHMmJi4uLiBhcmd1
bWVudHMpCiAgICAgICAgIDogU1ZHQW5pbWF0ZWRQcm9wZXJ0eShjb250ZXh0RWxlbWVudCkKLSAg
ICAgICAgLCBtX2Jhc2VWYWwoUHJvcGVydHlUeXBlOjpjcmVhdGUodGhpcywgU1ZHUHJvcGVydHlB
Y2Nlc3M6OlJlYWRXcml0ZSwgVmFsdWVUeXBlKHN0ZDo6Zm9yd2FyZDxBcmd1bWVudHM+KGFyZ3Vt
ZW50cykuLi4pKSkKLSAgICB7Ci0gICAgfQotCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJn
dW1lbnRzPgotICAgIFNWR0FuaW1hdGVkVmFsdWVQcm9wZXJ0eShTVkdFbGVtZW50KiBjb250ZXh0
RWxlbWVudCwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzLCBBcmd1bWVudHMmJi4uLiBhcmd1bWVu
dHMpCi0gICAgICAgIDogU1ZHQW5pbWF0ZWRQcm9wZXJ0eShjb250ZXh0RWxlbWVudCkKLSAgICAg
ICAgLCBtX2Jhc2VWYWwoUHJvcGVydHlUeXBlOjpjcmVhdGUodGhpcywgYWNjZXNzLCBWYWx1ZVR5
cGUoc3RkOjpmb3J3YXJkPEFyZ3VtZW50cz4oYXJndW1lbnRzKS4uLikpKQorICAgICAgICAsIG1f
YmFzZVZhbChQcm9wZXJ0eVR5cGU6OmNyZWF0ZSh0aGlzLCBWYWx1ZVR5cGUoc3RkOjpmb3J3YXJk
PEFyZ3VtZW50cz4oYXJndW1lbnRzKS4uLikpKQogICAgIHsKICAgICB9CiAKICAgICBSZWZQdHI8
UHJvcGVydHlUeXBlPiYgZW5zdXJlQW5pbVZhbCgpCiAgICAgewogICAgICAgICBpZiAoIW1fYW5p
bVZhbCkKLSAgICAgICAgICAgIG1fYW5pbVZhbCA9IFByb3BlcnR5VHlwZTo6Y3JlYXRlKHRoaXMs
IFNWR1Byb3BlcnR5QWNjZXNzOjpSZWFkT25seSwgbV9iYXNlVmFsLT52YWx1ZSgpKTsKKyAgICAg
ICAgICAgIG1fYW5pbVZhbCA9IFByb3BlcnR5VHlwZTo6Y3JlYXRlKHRoaXMsIG1fYmFzZVZhbC0+
dmFsdWUoKSk7CiAgICAgICAgIHJldHVybiBtX2FuaW1WYWw7CiAgICAgfQogCisgICAgYm9vbCBp
c1Byb3BlcnR5UmVhZE9ubHkoY29uc3QgRE9NTGl2ZVByb3BlcnR5JiBwcm9wZXJ0eSkgY29uc3Qg
b3ZlcnJpZGUKKyAgICB7CisgICAgICAgIHJldHVybiBtX2FuaW1WYWwgPT0gJnByb3BlcnR5Owor
ICAgIH0KKwogICAgIC8vIENhbGxlZCB3aGVuIG1fYmFzZVZhbCBjaGFuZ2VzLgotICAgIHZvaWQg
Y29tbWl0UHJvcGVydHlDaGFuZ2UoU1ZHUHJvcGVydHkqIHByb3BlcnR5KSBvdmVycmlkZQorICAg
IHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoRE9NTGl2ZVByb3BlcnR5KiBwcm9wZXJ0eSkgb3Zl
cnJpZGUKICAgICB7CiAgICAgICAgIGlmIChtX2FuaW1WYWwpCiAgICAgICAgICAgICBtX2FuaW1W
YWwtPnNldFZhbHVlKG1fYmFzZVZhbC0+dmFsdWUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRpb25BZGRpdGl2ZUxpc3RGdW5jdGlvbkltcGwu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGlvbkFkZGl0aXZlTGlz
dEZ1bmN0aW9uSW1wbC5oCmluZGV4IDYxYTFkMDM2Y2ZkYTUyYmE0ZWE4YjcxZTUxYmIyYzdiMTdh
ZGJjYjYuLjI5NTE1Mjk3MTYyN2I3ODIyMzcwODM1NmFhZTUxYmFiNjY2YTQxZTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGlvbkFkZGl0aXZlTGlz
dEZ1bmN0aW9uSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0Fu
aW1hdGlvbkFkZGl0aXZlTGlzdEZ1bmN0aW9uSW1wbC5oCkBAIC0xNzYsMjkgKzE3NiwyOSBAQCBw
dWJsaWM6CiAgICAgICAgIGF1dG8mIGFuaW1hdGVkSXRlbXMgPSBhbmltYXRlZC0+aXRlbXMoKTsK
IAogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdG9JdGVtcy5zaXplKCk7ICsraSkg
ewotICAgICAgICAgICAgRmxvYXRQb2ludCBmcm9tID0gaSA8IGZyb21JdGVtcy5zaXplKCkgPyBm
cm9tSXRlbXNbaV0tPnZhbHVlKCkgOiBGbG9hdFBvaW50KCk7Ci0gICAgICAgICAgICBGbG9hdFBv
aW50IHRvID0gdG9JdGVtc1tpXS0+dmFsdWUoKTsKLSAgICAgICAgICAgIEZsb2F0UG9pbnQgdG9B
dEVuZE9mRHVyYXRpb24gPSBpIDwgdG9BdEVuZE9mRHVyYXRpb25JdGVtcy5zaXplKCkgPyB0b0F0
RW5kT2ZEdXJhdGlvbkl0ZW1zW2ldLT52YWx1ZSgpIDogRmxvYXRQb2ludCgpOwotICAgICAgICAg
ICAgRmxvYXRQb2ludCYgYW5pbWF0ZWQgPSBhbmltYXRlZEl0ZW1zW2ldLT52YWx1ZSgpOworICAg
ICAgICAgICAgRmxvYXRQb2ludCBmcm9tID0gaSA8IGZyb21JdGVtcy5zaXplKCkgPyBGbG9hdFBv
aW50KGZyb21JdGVtc1tpXS0+eCgpLCBmcm9tSXRlbXNbaV0tPnkoKSkgOiBGbG9hdFBvaW50KCk7
CisgICAgICAgICAgICBGbG9hdFBvaW50IHRvID0gRmxvYXRQb2ludCh0b0l0ZW1zW2ldLT54KCks
IHRvSXRlbXNbaV0tPnkoKSk7CisgICAgICAgICAgICBGbG9hdFBvaW50IHRvQXRFbmRPZkR1cmF0
aW9uID0gaSA8IHRvQXRFbmRPZkR1cmF0aW9uSXRlbXMuc2l6ZSgpID8gRmxvYXRQb2ludCh0b0F0
RW5kT2ZEdXJhdGlvbkl0ZW1zW2ldLT54KCksIHRvQXRFbmRPZkR1cmF0aW9uSXRlbXNbaV0tPnko
KSkgOiBGbG9hdFBvaW50KCk7CisgICAgICAgICAgICBGbG9hdFBvaW50IGFuaW1hdGVkID0gRmxv
YXRQb2ludChhbmltYXRlZEl0ZW1zW2ldLT54KCksIGFuaW1hdGVkSXRlbXNbaV0tPnkoKSk7CiAK
LSAgICAgICAgICAgIGZsb2F0IGFuaW1hdGVkWCA9IEJhc2U6OmFuaW1hdGUocHJvZ3Jlc3MsIHJl
cGVhdENvdW50LCBmcm9tLngoKSwgdG8ueCgpLCB0b0F0RW5kT2ZEdXJhdGlvbi54KCksIGFuaW1h
dGVkLngoKSk7Ci0gICAgICAgICAgICBmbG9hdCBhbmltYXRlZFkgPSBCYXNlOjphbmltYXRlKHBy
b2dyZXNzLCByZXBlYXRDb3VudCwgZnJvbS55KCksIHRvLnkoKSwgdG9BdEVuZE9mRHVyYXRpb24u
eSgpLCBhbmltYXRlZC55KCkpOwotCi0gICAgICAgICAgICBhbmltYXRlZCA9IHsgYW5pbWF0ZWRY
LCBhbmltYXRlZFkgfTsKKyAgICAgICAgICAgIGFuaW1hdGVkSXRlbXNbaV0tPnNldFgoQmFzZTo6
YW5pbWF0ZShwcm9ncmVzcywgcmVwZWF0Q291bnQsIGZyb20ueCgpLCB0by54KCksIHRvQXRFbmRP
ZkR1cmF0aW9uLngoKSwgYW5pbWF0ZWQueCgpKSk7CisgICAgICAgICAgICBhbmltYXRlZEl0ZW1z
W2ldLT5zZXRZKEJhc2U6OmFuaW1hdGUocHJvZ3Jlc3MsIHJlcGVhdENvdW50LCBmcm9tLnkoKSwg
dG8ueSgpLCB0b0F0RW5kT2ZEdXJhdGlvbi55KCksIGFuaW1hdGVkLnkoKSkpOwogICAgICAgICB9
CiAgICAgfQogCiBwcml2YXRlOgogICAgIHZvaWQgYWRkRnJvbUFuZFRvVmFsdWVzKFNWR0VsZW1l
bnQqKSBvdmVycmlkZQogICAgIHsKLSAgICAgICAgY29uc3QgVmVjdG9yPFJlZjxTVkdQb2ludD4+
JiBmcm9tSXRlbXMgPSBtX2Zyb20tPml0ZW1zKCk7Ci0gICAgICAgIFZlY3RvcjxSZWY8U1ZHUG9p
bnQ+PiYgdG9JdGVtcyA9IG1fdG8tPml0ZW1zKCk7CisgICAgICAgIGNvbnN0IGF1dG8mIGZyb21J
dGVtcyA9IG1fZnJvbS0+aXRlbXMoKTsKKyAgICAgICAgYXV0byYgdG9JdGVtcyA9IG1fdG8tPml0
ZW1zKCk7CiAKICAgICAgICAgaWYgKCFmcm9tSXRlbXMuc2l6ZSgpIHx8IGZyb21JdGVtcy5zaXpl
KCkgIT0gdG9JdGVtcy5zaXplKCkpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IGZyb21JdGVtcy5zaXplKCk7ICsraSkKLSAgICAgICAgICAg
IHRvSXRlbXNbaV0tPnNldFZhbHVlKGZyb21JdGVtc1tpXS0+dmFsdWUoKSArIHRvSXRlbXNbaV0t
PnZhbHVlKCkpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZnJvbUl0ZW1zLnNp
emUoKTsgKytpKSB7CisgICAgICAgICAgICB0b0l0ZW1zW2ldLT5zZXRYKGZyb21JdGVtc1tpXS0+
eCgpICsgdG9JdGVtc1tpXS0+eCgpKTsKKyAgICAgICAgICAgIHRvSXRlbXNbaV0tPnNldFkoZnJv
bUl0ZW1zW2ldLT55KCkgKyB0b0l0ZW1zW2ldLT55KCkpOworICAgICAgICB9CiAgICAgfQogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHTWVtYmVyQWNj
ZXNzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR01lbWJlckFjY2Vzc29y
LmgKaW5kZXggZjdiYmE2YWUwYTBlZWFiYjZlNjE4N2E1ODEwNGY3MjEyOGFjYWFmYS4uZTU5Nzc4
MDU3NjA0MTkxMzI3YzI3NDU4OWQ2MmFmNTc2N2JiYjNkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHTWVtYmVyQWNjZXNzb3IuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvcHJvcGVydGllcy9TVkdNZW1iZXJBY2Nlc3Nvci5oCkBAIC0zMCw4ICszMCw4IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRE9NTGl2ZVByb3BlcnR5OwogY2xhc3Mg
U1ZHQW5pbWF0ZWRQcm9wZXJ0eTsKLWNsYXNzIFNWR1Byb3BlcnR5OwogCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBPd25lclR5cGU+CiBjbGFzcyBTVkdNZW1iZXJBY2Nlc3NvciB7CkBAIC00Myw5ICs0Myw5
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNBbmltYXRlZFByb3BlcnR5KCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNBbmltYXRlZExlbmd0aCgpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKLSAgICB2aXJ0dWFsIGJvb2wgbWF0Y2hlcyhjb25zdCBP
d25lclR5cGUmLCBjb25zdCBTVkdQcm9wZXJ0eSYpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Cisg
ICAgdmlydHVhbCBib29sIG1hdGNoZXMoY29uc3QgT3duZXJUeXBlJiwgY29uc3QgRE9NTGl2ZVBy
b3BlcnR5JikgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgbWF0Y2hl
cyhjb25zdCBPd25lclR5cGUmLCBjb25zdCBTVkdBbmltYXRlZFByb3BlcnR5JikgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUo
Y29uc3QgT3duZXJUeXBlJikgY29uc3QgeyByZXR1cm4gV1RGOjpudWxsb3B0OyB9CisgICAgdmly
dHVhbCBTdHJpbmcgdmFsdWVBc1N0cmluZyhjb25zdCBPd25lclR5cGUmKSBjb25zdCB7IHJldHVy
biBlbXB0eVN0cmluZygpOyB9CiAKICAgICB2aXJ0dWFsIFJlZlB0cjxTVkdBdHRyaWJ1dGVBbmlt
YXRvcj4gY3JlYXRlQW5pbWF0b3IoT3duZXJUeXBlJiwgY29uc3QgUXVhbGlmaWVkTmFtZSYsIEFu
aW1hdGlvbk1vZGUsIENhbGNNb2RlLCBib29sLCBib29sKSBjb25zdCB7IHJldHVybiBudWxscHRy
OyB9CiAgICAgdmlydHVhbCB2b2lkIGFwcGVuZEFuaW1hdGVkSW5zdGFuY2UoT3duZXJUeXBlJiwg
U1ZHQXR0cmlidXRlQW5pbWF0b3ImKSBjb25zdCB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1BvaW50ZXJNZW1iZXJBY2Nlc3Nvci5oIGIvU291cmNlL1dl
YkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUG9pbnRlck1lbWJlckFjY2Vzc29yLmgKaW5kZXggOGUy
Zjc2ZGNhYjRlOTBmYjM4ZWIzMzk2OWVhNjVjMDcwMjI0NTM4Ny4uYWY1M2Q2YzU2ZmQ4Njk3ZTMw
OTVlMDFjYmFhOTllODlkNzM2ZDIyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3By
b3BlcnRpZXMvU1ZHUG9pbnRlck1lbWJlckFjY2Vzc29yLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL3Byb3BlcnRpZXMvU1ZHUG9pbnRlck1lbWJlckFjY2Vzc29yLmgKQEAgLTQ3LDkgKzQ3LDkg
QEAgcHVibGljOgogICAgICAgICBwcm9wZXJ0eShvd25lciktPmRldGFjaCgpOwogICAgIH0KIAot
ICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUoY29uc3QgT3duZXJUeXBlJiBvd25lcikg
Y29uc3Qgb3ZlcnJpZGUKKyAgICBTdHJpbmcgdmFsdWVBc1N0cmluZyhjb25zdCBPd25lclR5cGUm
IG93bmVyKSBjb25zdCBvdmVycmlkZQogICAgIHsKLSAgICAgICAgcmV0dXJuIHByb3BlcnR5KG93
bmVyKS0+c3luY2hyb25pemUoKTsKKyAgICAgICAgcmV0dXJuIHByb3BlcnR5KG93bmVyKS0+dmFs
dWVBc1N0cmluZygpOwogICAgIH0KIAogcHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHkuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9w
cm9wZXJ0aWVzL1NWR1Byb3BlcnR5LmgKaW5kZXggY2U2NWNiMTEwZDFmYjQ2NmUyMjllYzc5Yzlk
ZDAxN2U4NjEyOTk2Ny4uNzZhOTdjNTk5ZWM4ZTNjNGNlM2MwNGJlNjFkNjFhMDg5OGM0N2NkZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHkuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eS5oCkBAIC0yMCw4
MyArMjAsMjEgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJTVkdQcm9wZXJ0eU93bmVy
LmgiCi0jaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisjaW5jbHVkZSAiRE9NTGl2ZVByb3BlcnR5
LmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIGNsYXNzIFNWR1Byb3BlcnR5
QWNjZXNzIDogdWludDhfdCB7IFJlYWRXcml0ZSwgUmVhZE9ubHkgfTsKLWVudW0gY2xhc3MgU1ZH
UHJvcGVydHlTdGF0ZSA6IHVpbnQ4X3QgeyBDbGVhbiwgRGlydHkgfTsKLQotY2xhc3MgU1ZHUHJv
cGVydHkgOiBwdWJsaWMgUmVmQ291bnRlZDxTVkdQcm9wZXJ0eT4geworY2xhc3MgU1ZHUHJvcGVy
dHkgOiBwdWJsaWMgRE9NTGl2ZVByb3BlcnR5LCBwdWJsaWMgUmVmQ291bnRlZDxTVkdQcm9wZXJ0
eT4gewogcHVibGljOgogICAgIHZpcnR1YWwgflNWR1Byb3BlcnR5KCkgPSBkZWZhdWx0OwogCi0g
ICAgLy8gTWFuYWdpbmcgdGhlIHJlbGF0aW9uc2hpcCB3aXRoIHRoZSBvd25lci4KLSAgICBib29s
IGlzQXR0YWNoZWQoKSBjb25zdCB7IHJldHVybiBtX293bmVyOyB9Ci0gICAgdm9pZCBhdHRhY2go
U1ZHUHJvcGVydHlPd25lciogb3duZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcykKLSAgICB7
Ci0gICAgICAgIEFTU0VSVCghbV9vd25lcik7Ci0gICAgICAgIEFTU0VSVChtX3N0YXRlID09IFNW
R1Byb3BlcnR5U3RhdGU6OkNsZWFuKTsKLSAgICAgICAgbV9vd25lciA9IG93bmVyOwotICAgICAg
ICBtX2FjY2VzcyA9IGFjY2VzczsKLSAgICB9Ci0KLSAgICB2b2lkIGRldGFjaCgpCi0gICAgewot
ICAgICAgICBtX293bmVyID0gbnVsbHB0cjsKLSAgICAgICAgbV9hY2Nlc3MgPSBTVkdQcm9wZXJ0
eUFjY2Vzczo6UmVhZFdyaXRlOwotICAgICAgICBtX3N0YXRlID0gU1ZHUHJvcGVydHlTdGF0ZTo6
Q2xlYW47Ci0gICAgfQotCi0gICAgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBj
b25zdAotICAgIHsKLSAgICAgICAgaWYgKCFtX293bmVyKQotICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0gICAgICAgIHJldHVybiBtX293bmVyLT5hdHRyaWJ1dGVDb250ZXh0RWxlbWVudCgp
OwotICAgIH0KLQotICAgIHZvaWQgY29tbWl0Q2hhbmdlKCkKLSAgICB7Ci0gICAgICAgIGlmICgh
bV9vd25lcikKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgbV9vd25lci0+Y29tbWl0UHJv
cGVydHlDaGFuZ2UodGhpcyk7Ci0gICAgfQotCi0gICAgLy8gRE9NIGFjY2Vzcy4KLSAgICBTVkdQ
cm9wZXJ0eUFjY2VzcyBhY2Nlc3MoKSBjb25zdCB7IHJldHVybiBtX2FjY2VzczsgfQotICAgIGJv
b2wgaXNSZWFkT25seSgpIGNvbnN0IHsgcmV0dXJuIG1fYWNjZXNzID09IFNWR1Byb3BlcnR5QWNj
ZXNzOjpSZWFkT25seTsgfQotCi0gICAgLy8gU3luY2hyb25pemluZyB0aGUgU1ZHIGF0dHJpYnV0
ZSBhbmQgaXRzIHJlZmxlY3Rpb24gaGVyZS4KLSAgICBib29sIGlzRGlydHkoKSBjb25zdCB7IHJl
dHVybiBtX3N0YXRlID09IFNWR1Byb3BlcnR5U3RhdGU6OkRpcnR5OyB9Ci0gICAgdm9pZCBzZXRE
aXJ0eSgpIHsgbV9zdGF0ZSA9IFNWR1Byb3BlcnR5U3RhdGU6OkRpcnR5OyB9Ci0gICAgT3B0aW9u
YWw8U3RyaW5nPiBzeW5jaHJvbml6ZSgpCi0gICAgewotICAgICAgICBpZiAobV9zdGF0ZSA9PSBT
VkdQcm9wZXJ0eVN0YXRlOjpDbGVhbikKLSAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
Ci0gICAgICAgIG1fc3RhdGUgPSBTVkdQcm9wZXJ0eVN0YXRlOjpDbGVhbjsKLSAgICAgICAgcmV0
dXJuIHZhbHVlQXNTdHJpbmcoKTsKLSAgICB9Ci0KICAgICAvLyBUaGlzIGlzIHVzZWQgd2hlbiBj
YWxsaW5nIHNldEF0dHJpYnV0ZSgpLgogICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVlQXNTdHJpbmco
KSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9CiAKLSAgICAvLyBWaXN1YWwgU3R1ZGlv
IGRvZXNuJ3Qgc2VlbSB0byBzZWUgdGhlc2UgcHJpdmF0ZSBjb25zdHJ1Y3RvcnMgZnJvbSBzdWJj
bGFzc2VzLgotICAgIC8vIEZJWE1FOiBTZWUgd2hhdCBpdCB0YWtlcyB0byByZW1vdmUgdGhpcyBo
YWNrLgotI2lmICFDT01QSUxFUihNU1ZDKQogcHJvdGVjdGVkOgotI2VuZGlmCi0gICAgU1ZHUHJv
cGVydHkoU1ZHUHJvcGVydHlPd25lciogb3duZXIgPSBudWxscHRyLCBTVkdQcm9wZXJ0eUFjY2Vz
cyBhY2Nlc3MgPSBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZFdyaXRlKQotICAgICAgICA6IG1fb3du
ZXIob3duZXIpCi0gICAgICAgICwgbV9hY2Nlc3MoYWNjZXNzKQotICAgIHsKLSAgICB9Ci0KLSAg
ICBTVkdQcm9wZXJ0eU93bmVyKiBtX293bmVyIHsgbnVsbHB0ciB9OwotICAgIFNWR1Byb3BlcnR5
QWNjZXNzIG1fYWNjZXNzIHsgU1ZHUHJvcGVydHlBY2Nlc3M6OlJlYWRXcml0ZSB9OwotICAgIFNW
R1Byb3BlcnR5U3RhdGUgbV9zdGF0ZSB7IFNWR1Byb3BlcnR5U3RhdGU6OkNsZWFuIH07CisgICAg
dXNpbmcgRE9NTGl2ZVByb3BlcnR5OjpET01MaXZlUHJvcGVydHk7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9T
VkdQcm9wZXJ0eUFjY2Vzc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQ
cm9wZXJ0eUFjY2Vzc29yLmgKaW5kZXggZmY4YzRjZGU2ZGQwZjNjYWZiYzhmMjdiMjcwMjk3MGUz
NWY0ODc2NC4uOGQxMjgxODI3ZDRmYjk4ODkzYmZmMWYyNDllMGIzNTY4ODIyNzVmNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlBY2Nlc3Nvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5QWNjZXNzb3Iu
aApAQCAtNDAsNyArNDAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdXNpbmcgQmFzZTo6cHJvcGVydHk7
CiAgICAgdXNpbmcgQmFzZTo6c2luZ2xldG9uOwogCi0gICAgYm9vbCBtYXRjaGVzKGNvbnN0IE93
bmVyVHlwZSYgb3duZXIsIGNvbnN0IFNWR1Byb3BlcnR5JiBwcm9wZXJ0eSkgY29uc3Qgb3ZlcnJp
ZGUKKyAgICBib29sIG1hdGNoZXMoY29uc3QgT3duZXJUeXBlJiBvd25lciwgY29uc3QgRE9NTGl2
ZVByb3BlcnR5JiBwcm9wZXJ0eSkgY29uc3Qgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIHJldHVy
biB0aGlzLT5wcm9wZXJ0eShvd25lcikucHRyKCkgPT0gJnByb3BlcnR5OwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5TGlzdC5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlMaXN0LmgKaW5kZXggY2Ji
MDBhZjEwMzAyNTlmYTNjMDQxYTNmMGYyYWI3ODczYzdkZDNjZC4uYzEzNDY0Mzg4NWYxYmVhYWZi
OTdhN2I3ZjVkNGVlMGZkODIzZmMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3By
b3BlcnRpZXMvU1ZHUHJvcGVydHlMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3Bl
cnRpZXMvU1ZHUHJvcGVydHlMaXN0LmgKQEAgLTMwLDcgKzMwLDcgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgUHJvcGVydHlUeXBlPgotY2xhc3MgU1ZHUHJvcGVy
dHlMaXN0IDogcHVibGljIFNWR0xpc3Q8UmVmPFByb3BlcnR5VHlwZT4+LCBwdWJsaWMgU1ZHUHJv
cGVydHlPd25lciB7CitjbGFzcyBTVkdQcm9wZXJ0eUxpc3QgOiBwdWJsaWMgU1ZHTGlzdDxSZWY8
UHJvcGVydHlUeXBlPj4sIHB1YmxpYyBET01MaXZlUHJvcGVydHlPYnNlcnZlciB7CiBwdWJsaWM6
CiAgICAgdXNpbmcgQmFzZUxpc3QgPSBTVkdMaXN0PFJlZjxQcm9wZXJ0eVR5cGU+PjsKICAgICB1
c2luZyBCYXNlTGlzdDo6aXNFbXB0eTsKQEAgLTQyLDEzICs0MiwxMiBAQCBwdWJsaWM6CiAjaWYg
IUNPTVBJTEVSKE1TVkMpCiBwcm90ZWN0ZWQ6CiAjZW5kaWYKLSAgICB1c2luZyBTVkdQcm9wZXJ0
eU93bmVyOjpTVkdQcm9wZXJ0eU93bmVyOworICAgIHVzaW5nIERPTUxpdmVQcm9wZXJ0eU9ic2Vy
dmVyOjpET01MaXZlUHJvcGVydHlPYnNlcnZlcjsKICAgICB1c2luZyBCYXNlTGlzdDo6bV9pdGVt
czsKLSAgICB1c2luZyBCYXNlTGlzdDo6bV9hY2Nlc3M7Ci0gICAgdXNpbmcgQmFzZUxpc3Q6Om1f
b3duZXI7CisgICAgdXNpbmcgQmFzZUxpc3Q6Om1fb2JzZXJ2ZXI7CiAKLSAgICBTVkdQcm9wZXJ0
eUxpc3QoU1ZHUHJvcGVydHlPd25lciogb3duZXIgPSBudWxscHRyLCBTVkdQcm9wZXJ0eUFjY2Vz
cyBhY2Nlc3MgPSBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZFdyaXRlKQotICAgICAgICA6IEJhc2VM
aXN0KG93bmVyLCBhY2Nlc3MpCisgICAgU1ZHUHJvcGVydHlMaXN0KERPTUxpdmVQcm9wZXJ0eU9i
c2VydmVyKiBvYnNlcnZlciA9IG51bGxwdHIpCisgICAgICAgIDogQmFzZUxpc3Qob2JzZXJ2ZXIp
CiAgICAgewogICAgIH0KIApAQCAtNjQsMTIgKzYzLDE3IEBAIHByb3RlY3RlZDoKICAgICAgICAg
ICAgIGl0ZW0tPmRldGFjaCgpOwogICAgIH0KIAotICAgIFNWR1Byb3BlcnR5T3duZXIqIG93bmVy
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9vd25lcjsgfQorICAgIERPTUxpdmVQcm9wZXJ0
eU9ic2VydmVyKiBvYnNlcnZlcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fb2JzZXJ2ZXI7
IH0KIAotICAgIHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoU1ZHUHJvcGVydHkqKSBvdmVycmlk
ZQorICAgIGJvb2wgaXNQcm9wZXJ0eVJlYWRPbmx5KGNvbnN0IERPTUxpdmVQcm9wZXJ0eSYpIGNv
bnN0IG92ZXJyaWRlCiAgICAgewotICAgICAgICBpZiAob3duZXIoKSkKLSAgICAgICAgICAgIG93
bmVyKCktPmNvbW1pdFByb3BlcnR5Q2hhbmdlKHRoaXMpOworICAgICAgICByZXR1cm4gb2JzZXJ2
ZXIoKSAmJiBvYnNlcnZlcigpLT5pc1Byb3BlcnR5UmVhZE9ubHkoKnRoaXMpOworICAgIH0KKwor
ICAgIHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoRE9NTGl2ZVByb3BlcnR5Kikgb3ZlcnJpZGUK
KyAgICB7CisgICAgICAgIGlmIChvYnNlcnZlcigpKQorICAgICAgICAgICAgb2JzZXJ2ZXIoKS0+
Y29tbWl0UHJvcGVydHlDaGFuZ2UodGhpcyk7CiAgICAgfQogCiAgICAgUmVmPFByb3BlcnR5VHlw
ZT4gYXQodW5zaWduZWQgaW5kZXgpIGNvbnN0IG92ZXJyaWRlCkBAIC04OCw3ICs5Miw3IEBAIHBy
b3RlY3RlZDoKICAgICAgICAgICAgIG5ld0l0ZW0gPSBuZXdJdGVtLT5jbG9uZSgpOwogCiAgICAg
ICAgIC8vIFNwZWM6IEF0dGFjaCBuZXdJdGVtIHRvIHRoZSBsaXN0IG9iamVjdC4KLSAgICAgICAg
bmV3SXRlbS0+YXR0YWNoKHRoaXMsIG1fYWNjZXNzKTsKKyAgICAgICAgbmV3SXRlbS0+YXR0YWNo
KHRoaXMpOwogICAgICAgICBtX2l0ZW1zLmluc2VydChpbmRleCwgV1RGTW92ZShuZXdJdGVtKSk7
CiAgICAgICAgIHJldHVybiBhdChpbmRleCk7CiAgICAgfQpAQCAtMTA5LDcgKzExMyw3IEBAIHBy
b3RlY3RlZDoKICAgICAgICAgICAgIGl0ZW0gPSBXVEZNb3ZlKG5ld0l0ZW0pOwogCiAgICAgICAg
IC8vIFNwZWM6IEF0dGFjaCBuZXdJdGVtIHRvIHRoZSBsaXN0IG9iamVjdC4KLSAgICAgICAgaXRl
bS0+YXR0YWNoKHRoaXMsIG1fYWNjZXNzKTsKKyAgICAgICAgaXRlbS0+YXR0YWNoKHRoaXMpOwog
ICAgICAgICByZXR1cm4gYXQoaW5kZXgpOwogICAgIH0KIApAQCAtMTMyLDcgKzEzNiw3IEBAIHBy
b3RlY3RlZDoKICAgICAgICAgICAgIG5ld0l0ZW0gPSBuZXdJdGVtLT5jbG9uZSgpOwogCiAgICAg
ICAgIC8vIFNwZWM6IEF0dGFjaCBuZXdJdGVtIHRvIHRoZSBsaXN0IG9iamVjdC4KLSAgICAgICAg
bmV3SXRlbS0+YXR0YWNoKHRoaXMsIG1fYWNjZXNzKTsKKyAgICAgICAgbmV3SXRlbS0+YXR0YWNo
KHRoaXMpOwogICAgICAgICBtX2l0ZW1zLmFwcGVuZChXVEZNb3ZlKG5ld0l0ZW0pKTsKICAgICAg
ICAgcmV0dXJuIGF0KHNpemUoKSAtIDEpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5T3duZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5T3duZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzk4MThiZTlmODQwYzc2NDUzOThlNjFiNDg5MzgxODYyYTM0NjhmMy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
cHJvcGVydGllcy9TVkdQcm9wZXJ0eU93bmVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE4LTIwMTkgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I3ByYWdtYSBvbmNlCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKLWNsYXNzIFNWR0VsZW1l
bnQ7Ci1jbGFzcyBTVkdQcm9wZXJ0eTsKLQotY2xhc3MgU1ZHUHJvcGVydHlPd25lciB7Ci1wdWJs
aWM6Ci0gICAgdmlydHVhbCB+U1ZHUHJvcGVydHlPd25lcigpID0gZGVmYXVsdDsKLQotICAgIHZp
cnR1YWwgU1ZHUHJvcGVydHlPd25lciogb3duZXIoKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9
Ci0gICAgCi0gICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBhdHRyaWJ1dGVDb250ZXh0RWxl
bWVudCgpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAoIW93bmVyKCkpCi0gICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgcmV0dXJuIG93bmVyKCktPmF0dHJpYnV0ZUNvbnRleHRF
bGVtZW50KCk7Ci0gICAgfQotICAgIAotICAgIHZpcnR1YWwgdm9pZCBjb21taXRQcm9wZXJ0eUNo
YW5nZShTVkdQcm9wZXJ0eSogcHJvcGVydHkpCi0gICAgewotICAgICAgICBpZiAoIW93bmVyKCkp
Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIG93bmVyKCktPmNvbW1pdFByb3BlcnR5Q2hh
bmdlKHByb3BlcnR5KTsKLSAgICB9Ci0gICAgCi1wcm90ZWN0ZWQ6Ci0gICAgU1ZHUHJvcGVydHlP
d25lcigpID0gZGVmYXVsdDsKLX07Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5T3duZXJSZWdpc3RyeS5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5LmgKaW5kZXggYTVmNzEzNjk3
ZWEyYzRjNjAwYmE1MzdkYTI5NDFmNWRhOTllOTc4Yi4uMzE5YTUwODJhNTlkOWRlNWI2MWRmZjIx
YjVlYjM2OGZkMjg3YWM2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRp
ZXMvU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3By
b3BlcnRpZXMvU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5LmgKQEAgLTE3OCw3ICsxNzgsNyBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBRdWFsaWZpZWROYW1l
IHByb3BlcnR5QXR0cmlidXRlTmFtZShjb25zdCBTVkdQcm9wZXJ0eSYgcHJvcGVydHkpIGNvbnN0
IG92ZXJyaWRlCisgICAgUXVhbGlmaWVkTmFtZSBwcm9wZXJ0eUF0dHJpYnV0ZU5hbWUoY29uc3Qg
RE9NTGl2ZVByb3BlcnR5JiBwcm9wZXJ0eSkgY29uc3Qgb3ZlcnJpZGUKICAgICB7CiAgICAgICAg
IFF1YWxpZmllZE5hbWUgYXR0cmlidXRlTmFtZSA9IG51bGxRTmFtZSgpOwogICAgICAgICBlbnVt
ZXJhdGVSZWN1cnNpdmVseShbJl0oY29uc3QgYXV0byYgZW50cnkpIC0+IGJvb2wgewpAQCAtMjEx
LDMzICsyMTEsMjAgQEAgcHVibGljOgogICAgICAgICB9KTsKICAgICB9CiAKLSAgICAvLyBGaW5k
cyB0aGUgcHJvcGVydHkgd2hvc2UgbmFtZSBpcyBhdHRyaWJ1dGVOYW1lIGFuZCByZXR1cm5zIHRo
ZSBzeW5jaHJvbml6ZQotICAgIC8vIHN0cmluZyB0aHJvdWdoIHRoZSBhc3NvY2lhdGVkIFNWR01l
bWJlckFjY2Vzc29yLgotICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgY29uc3Qgb3ZlcnJpZGUKKyAgICAvLyBGaW5kcyB0
aGUgcHJvcGVydHkgd2hvc2UgbmFtZSBpcyBhdHRyaWJ1dGVOYW1lIGFuZCByZXR1cm5zIHRoZSB2
YWx1ZUFzU3RyaW5nCisgICAgLy8gdGhyb3VnaCB0aGUgYXNzb2NpYXRlZCBTVkdNZW1iZXJBY2Nl
c3Nvci4KKyAgICBTdHJpbmcgdmFsdWVBc1N0cmluZyhjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRy
aWJ1dGVOYW1lKSBjb25zdCBvdmVycmlkZQogICAgIHsKLSAgICAgICAgT3B0aW9uYWw8U3RyaW5n
PiB2YWx1ZTsKKyAgICAgICAgU3RyaW5nIHZhbHVlOwogICAgICAgICBlbnVtZXJhdGVSZWN1cnNp
dmVseShbJl0oY29uc3QgYXV0byYgZW50cnkpIC0+IGJvb2wgewogICAgICAgICAgICAgaWYgKCFl
bnRyeS5rZXkubWF0Y2hlcyhhdHRyaWJ1dGVOYW1lKSkKICAgICAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICAgICAgICAgIHZhbHVlID0gZW50cnkudmFsdWUtPnN5bmNocm9uaXplKG1fb3du
ZXIpOworICAgICAgICAgICAgdmFsdWUgPSBlbnRyeS52YWx1ZS0+dmFsdWVBc1N0cmluZyhtX293
bmVyKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfSk7CiAgICAgICAgIHJl
dHVybiB2YWx1ZTsKICAgICB9CiAKLSAgICAvLyBFbnVtZXJhdGUgcmVjdXJzaXZlbHkgdGhlIFNW
R01lbWJlckFjY2Vzc29ycyBvZiB0aGUgT3duZXJUeXBlIGFuZCBhbGwgaXRzIEJhc2VUeXBlcy4K
LSAgICAvLyBDb2xsZWN0IGFsbCB0aGUgcGFpcnMgPEF0dHJpYnV0ZU5hbWUsIFN0cmluZz4gb25s
eSBmb3IgdGhlIGRpcnR5IHByb3BlcnRpZXMuCi0gICAgSGFzaE1hcDxRdWFsaWZpZWROYW1lLCBT
dHJpbmc+IHN5bmNocm9uaXplQWxsQXR0cmlidXRlcygpIGNvbnN0IG92ZXJyaWRlCi0gICAgewot
ICAgICAgICBIYXNoTWFwPFF1YWxpZmllZE5hbWUsIFN0cmluZz4gbWFwOwotICAgICAgICBlbnVt
ZXJhdGVSZWN1cnNpdmVseShbJl0oY29uc3QgYXV0byYgZW50cnkpIC0+IGJvb2wgewotICAgICAg
ICAgICAgaWYgKGF1dG8gc3RyaW5nID0gZW50cnkudmFsdWUtPnN5bmNocm9uaXplKG1fb3duZXIp
KQotICAgICAgICAgICAgICAgIG1hcC5hZGQoZW50cnkua2V5LCAqc3RyaW5nKTsKLSAgICAgICAg
ICAgIHJldHVybiB0cnVlOwotICAgICAgICB9KTsKLSAgICAgICAgcmV0dXJuIG1hcDsKLSAgICB9
Ci0KICAgICBib29sIGlzQW5pbWF0ZWRQcm9wZXJ0eUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiBhdHRyaWJ1dGVOYW1lKSBjb25zdCBvdmVycmlkZQogICAgIHsKICAgICAgICAgYm9vbCBp
c0FuaW1hdGVkUHJvcGVydHlBdHRyaWJ1dGUgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5UmVnaXN0cnkuaCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5UmVnaXN0cnkuaAppbmRleCAyNGZlNjQyMzdl
MmY1ZTVlMWFmZTg1NTEwZjEzNjYyNjJkZjQzNDA0Li5kZTI4ZWI5ZmUxNGE3ODdhNmM1NTFlNGRk
MGY1ODUwMzg3ZTI5YTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGll
cy9TVkdQcm9wZXJ0eVJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRp
ZXMvU1ZHUHJvcGVydHlSZWdpc3RyeS5oCkBAIC0zNywxMCArMzcsOSBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB+U1ZHUHJvcGVydHlSZWdpc3RyeSgpID0gZGVmYXVsdDsKIAogICAgIHZpcnR1YWwg
dm9pZCBkZXRhY2hBbGxQcm9wZXJ0aWVzKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgUXVhbGlm
aWVkTmFtZSBwcm9wZXJ0eUF0dHJpYnV0ZU5hbWUoY29uc3QgU1ZHUHJvcGVydHkmKSBjb25zdCA9
IDA7CisgICAgdmlydHVhbCBRdWFsaWZpZWROYW1lIHByb3BlcnR5QXR0cmlidXRlTmFtZShjb25z
dCBET01MaXZlUHJvcGVydHkmKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBRdWFsaWZpZWROYW1l
IGFuaW1hdGVkUHJvcGVydHlBdHRyaWJ1dGVOYW1lKGNvbnN0IFNWR0FuaW1hdGVkUHJvcGVydHkm
KSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBPcHRpb25hbDxTdHJpbmc+IHN5bmNocm9uaXplKGNv
bnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBIYXNoTWFwPFF1YWxp
ZmllZE5hbWUsIFN0cmluZz4gc3luY2hyb25pemVBbGxBdHRyaWJ1dGVzKCkgY29uc3QgPSAwOwor
ICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVlQXNTdHJpbmcoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNv
bnN0ID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCBpc0FuaW1hdGVkUHJvcGVydHlBdHRyaWJ1dGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNBbmlt
YXRlZFN0eWxlUHJvcGVydHlBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0ID0g
MDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJv
cGVydHkuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHku
aAppbmRleCA5ZjMxZTJkMGY1MzljYzIwMjNiNjNmODcwNjg2ZjBlZDgxZGMyOWNlLi44NTJmMjc0
ZDdiYjMxZTc1YTIyNTA5MTEzYzI3MjY5YTFkNzk5NGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eS5oCkBAIC02NCwxNCArNjQsMTQgQEAg
cHJvdGVjdGVkOgogICAgIH0KIAogICAgIC8vIEJhc2UgYW5kIGRlZmF1bHQgY29uc3RydWN0b3Iu
IERvIG5vdCB1c2UgInVzaW5nIFNWR1Byb3BlcnR5OjpTVkdQcm9wZXJ0eSIgYmVjYXVzZSBvZiBX
aW5kb3dzIGFuZCBHVEsgcG9ydHMuCi0gICAgU1ZHVmFsdWVQcm9wZXJ0eShTVkdQcm9wZXJ0eU93
bmVyKiBvd25lciA9IG51bGxwdHIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcyA9IFNWR1Byb3Bl
cnR5QWNjZXNzOjpSZWFkV3JpdGUpCi0gICAgICAgIDogU1ZHUHJvcGVydHkob3duZXIsIGFjY2Vz
cykKKyAgICBTVkdWYWx1ZVByb3BlcnR5KERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZl
ciA9IG51bGxwdHIpCisgICAgICAgIDogU1ZHUHJvcGVydHkob2JzZXJ2ZXIpCiAgICAgewogICAg
IH0KIAogICAgIC8vIENyZWF0ZSBhbiBpbml0aWFsaXplZCBhbmQgYXR0YWNoZWQgcHJvcGVydHku
Ci0gICAgU1ZHVmFsdWVQcm9wZXJ0eShTVkdQcm9wZXJ0eU93bmVyKiBvd25lciwgU1ZHUHJvcGVy
dHlBY2Nlc3MgYWNjZXNzLCBjb25zdCBQcm9wZXJ0eVR5cGUmIHZhbHVlKQotICAgICAgICA6IFNW
R1Byb3BlcnR5KG93bmVyLCBhY2Nlc3MpCisgICAgU1ZHVmFsdWVQcm9wZXJ0eShET01MaXZlUHJv
cGVydHlPYnNlcnZlciogb2JzZXJ2ZXIsIGNvbnN0IFByb3BlcnR5VHlwZSYgdmFsdWUpCisgICAg
ICAgIDogU1ZHUHJvcGVydHkob2JzZXJ2ZXIpCiAgICAgICAgICwgbV92YWx1ZSh2YWx1ZSkKICAg
ICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZH
VmFsdWVQcm9wZXJ0eUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Zh
bHVlUHJvcGVydHlMaXN0LmgKaW5kZXggMzAxMGMzM2E3NDA4OWJjNDRmYmI0MTBhNTZmNzg1YTlm
NzE3Y2NlZS4uYzViNzNhMGVhNGI5NmZiMWM0YjA0NDNlZDkxMTVhMDk0NGViNTJlMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eUxpc3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5TGlz
dC5oCkBAIC03NSwxNCArNzUsMTQgQEAgcHJvdGVjdGVkOgogICAgIHVzaW5nIEJhc2U6OnJlbW92
ZTsKIAogICAgIC8vIEJhc2UgYW5kIGRlZmF1bHQgY29uc3RydWN0b3IuIERvIG5vdCB1c2UgInVz
aW5nIEJhc2U6OkJhc2UiIGJlY2F1c2Ugb2YgV2luZG93cyBhbmQgR1RLIHBvcnRzLgotICAgIFNW
R1ZhbHVlUHJvcGVydHlMaXN0KFNWR1Byb3BlcnR5T3duZXIqIG93bmVyID0gbnVsbHB0ciwgU1ZH
UHJvcGVydHlBY2Nlc3MgYWNjZXNzID0gU1ZHUHJvcGVydHlBY2Nlc3M6OlJlYWRXcml0ZSkKLSAg
ICAgICAgOiBCYXNlKG93bmVyLCBhY2Nlc3MpCisgICAgU1ZHVmFsdWVQcm9wZXJ0eUxpc3QoRE9N
TGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyID0gbnVsbHB0cikKKyAgICAgICAgOiBCYXNl
KG9ic2VydmVyKQogICAgIHsKICAgICB9CiAKICAgICAvLyBVc2VkIGJ5IFNWR0FuaW1hdGVkUHJv
cGVydHlMaXN0IHdoZW4gY3JlYXRpbmcgaXQgYW5pbVZhbCBmcm9tIGJhc2VWYWwuCi0gICAgU1ZH
VmFsdWVQcm9wZXJ0eUxpc3QoY29uc3QgU1ZHVmFsdWVQcm9wZXJ0eUxpc3QmIG90aGVyLCBTVkdQ
cm9wZXJ0eUFjY2VzcyBhY2Nlc3MgPSBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZFdyaXRlKQotICAg
ICAgICA6IEJhc2Uob3RoZXIub3duZXIoKSwgYWNjZXNzKQorICAgIFNWR1ZhbHVlUHJvcGVydHlM
aXN0KGNvbnN0IFNWR1ZhbHVlUHJvcGVydHlMaXN0JiBvdGhlcikKKyAgICAgICAgOiBCYXNlKG90
aGVyLm9ic2VydmVyKCkpCiAgICAgewogICAgICAgICAvLyBDbG9uZSBhbGwgaXRlbXMuCiAgICAg
ICAgIGZvciAoY29uc3QgYXV0byYgaXRlbSA6IG90aGVyLml0ZW1zKCkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvTmF0aXZlRnVuY3Rpb25Q
YXJhbWV0ZXJzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxz
L05hdGl2ZUZ1bmN0aW9uUGFyYW1ldGVycy5qcwppbmRleCA0YjRiYmEyODFlZmRkYWJlNGRhYmNi
ZWM0MmVmNDA3ODE5MTMwYTAwLi5mYmRiOGU0YmVhMjMwNWRjNGNiZWM4YmYxMjA0YmE4YWVhZTY0
MDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2Rl
bHMvTmF0aXZlRnVuY3Rpb25QYXJhbWV0ZXJzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01vZGVscy9OYXRpdmVGdW5jdGlvblBhcmFtZXRlcnMuanMKQEAgLTE1
MzgsMTEgKzE1MzgsNiBAQCBXSS5OYXRpdmVQcm90b3R5cGVGdW5jdGlvblBhcmFtZXRlcnMgPSB7
CiAgICAgICAgIF9fcHJvdG9fXzogbnVsbCwKICAgICB9LAogCi0gICAgU1ZHUG9pbnQ6IHsKLSAg
ICAgICAgbWF0cml4VHJhbnNmb3JtOiAibWF0cml4IiwKLSAgICAgICAgX19wcm90b19fOiBudWxs
LAotICAgIH0sCi0KICAgICBTVkdQb2ludExpc3Q6IHsKICAgICAgICAgYXBwZW5kSXRlbTogIml0
ZW0iLAogICAgICAgICBnZXRJdGVtOiAiaW5kZXgiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQ3ODMwMmE2ZGVhZTMyNGEz
NWYyM2FmZDU5ZGM3ZDU1ZGIzNDc0MDYuLmExMzFkODQwNjhkNjJjNjgwY2FhZGI5NmE4YWEyOWMw
ZjY4NjVhZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxOS0xMC0wOCAgU2FpZCBBYm91LUhh
bGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIFtTVkcyXTogUmVtb3Zl
IHRoZSBpbnRlcmZhY2UgU1ZHUG9pbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5MTM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE1ha2UgYWxsIGNoYW5nZXMgd2hpY2ggYXJlIHJlcXVpcmVkIGZvciBj
aGFuZ2luZyBTVkdQb2ludExpc3QgZnJvbSBiZWluZworICAgICAgICBhIGxpc3Qgb2YgU1ZHUG9p
bnQgdG8gYmUgYSBsaXN0IG9mIERPTVBvaW50LgorCisgICAgICAgICogc3ZnL2N1c3RvbS9nbG9i
YWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2dsb2Jh
bC1jb25zdHJ1Y3RvcnMuaHRtbDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3BvbHlsaW5lLXBvaW50
cy1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2RvbS9TVkdQb2ludC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogc3ZnL2RvbS9TVkdQb2ludC5odG1sOgorICAgICAgICAqIHN2Zy9k
b20vU1ZHUG9pbnRMaXN0LWJhc2ljcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2RvbS9T
VkdQb2ludExpc3QtYmFzaWNzLnhodG1sOgorICAgICAgICAqIHN2Zy9kb20vc3ZnMi1pbmhlcml0
YW5jZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2RvbS9zdmcyLWluaGVyaXRhbmNlLmh0
bWw6CisKKzIwMTktMTAtMDcgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxl
LmNvbT4KKworICAgICAgICBNYWtlIHRoZSBTVkcgcHJvcGVydGllcyBvZiBTVkdWaWV3U3BlYyBt
b2RpZmlhYmxlIGJ1dCBkZXRhY2hlZCBwcm9wZXJ0aWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0MTEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHN1cmUgYWxsIHRoZSBwcm9wZXJ0aWVzIG9m
IFNWR1ZpZXdTcGVjIGFyZSBtb2RpZmlhYmxlLgorCisgICAgICAgICogc3ZnL2RvbS9TVkdWaWV3
U3BlYy1kZWZhdWx0cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2RvbS9TVkdWaWV3U3Bl
Yy1kZWZhdWx0cy5odG1sOgorCiAyMDE5LTEwLTA3ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIGZvY3VzIHBzZXVkbyBjbGFzcyBzaG91bGQgbWF0Y2ggYSBzaGFk
b3cgaG9zdCB3aG9zZSBzaGFkb3cgdHJlZSBjb250YWlucyB0aGUgZm9jdXNlZCBlbGVtZW50CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA3MGZiMWI4MjRjNzViM2FkMjZhNTI4NmU3
MWJjN2YzZjViYjhiMDZkLi5lYWMxOTQ2ZThhOGJmNTA1ZTA5NDg2NTQ2YTExMDM1ZDU0MmQyZWFm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxOS0x
MC0wOCAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAg
ICAgIFtTVkcyXTogUmVtb3ZlIHRoZSBpbnRlcmZhY2UgU1ZHUG9pbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTM3NgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9nZW9tZXRyeS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dDoKKwogMjAxOS0xMC0wNyAgUm9iIEJ1
aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIENoYW5nZSBSZXNwb25zZSdzIHN0YXR1
c1RleHQncyBkZWZhdWx0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5L2lu
dGVyZmFjZXMtZXhwZWN0ZWQudHh0CmluZGV4IGFlYWJhZDM3OTUwODAwNWY1NWNkYzQ4MzM2NDY4
ODY4ZDQxMjI1N2UuLmJlZDRlODhjOTFkYTkwZDE1MTk1ODM1MGExMWVmNTExMzNkZDQ0ZmIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2dlb21ldHJ5L2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5L2ludGVyZmFjZXMtZXhwZWN0
ZWQudHh0CkBAIC0yOCwxMSArMjgsNyBAQCBQQVNTIERPTVBvaW50UmVhZE9ubHkgaW50ZXJmYWNl
OiBkZWZhdWx0IHRvSlNPTiBvcGVyYXRpb24gb24gbmV3IERPTVBvaW50UmVhZE9ubAogUEFTUyBE
T01Qb2ludCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
b2JqZWN0IAogUEFTUyBET01Qb2ludCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgRE9N
UG9pbnQgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAotRkFJTCBET01Qb2ludCBpbnRlcmZhY2U6IGxl
Z2FjeSB3aW5kb3cgYWxpYXMgYXNzZXJ0X2VxdWFsczogc2VsZi5TVkdQb2ludCBzaG91bGQgYmUg
dGhlIHNhbWUgdmFsdWUgYXMgc2VsZi5ET01Qb2ludCBleHBlY3RlZCBmdW5jdGlvbiAiZnVuY3Rp
b24gRE9NUG9pbnQoKSB7Ci0gICAgW25hdGl2ZSBjb2RlXQotfSIgYnV0IGdvdCBmdW5jdGlvbiAi
ZnVuY3Rpb24gU1ZHUG9pbnQoKSB7Ci0gICAgW25hdGl2ZSBjb2RlXQotfSIKK1BBU1MgRE9NUG9p
bnQgaW50ZXJmYWNlOiBsZWdhY3kgd2luZG93IGFsaWFzIAogUEFTUyBET01Qb2ludCBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVj
dCAKIFBBU1MgRE9NUG9pbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAogUEFT
UyBET01Qb2ludCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4
dAppbmRleCBlNWI2NTE4NTljZGY4ZTdlZjZlZjgzNzJhYTNmZjVlOTVlMWU3ZGQ2Li5kMzQ1NWVk
OWIzYjZiYWRjOGZhMDZmNjFjM2Q1ZjdlNWE2N2M4NmY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKQEAgLTU2
LDcgKzU2LDYgQEAgUEFTUyBTVkdVc2VFbGVtZW50LnRvU3RyaW5nKCkgaXMgImZ1bmN0aW9uIFNW
R1VzZUVsZW1lbnQoKSB7XG4gICAgW25hdGl2ZSBjb2RlXVwKIFBBU1MgU1ZHSW1hZ2VFbGVtZW50
LnRvU3RyaW5nKCkgaXMgImZ1bmN0aW9uIFNWR0ltYWdlRWxlbWVudCgpIHtcbiAgICBbbmF0aXZl
IGNvZGVdXG59IgogUEFTUyBTVkdTd2l0Y2hFbGVtZW50LnRvU3RyaW5nKCkgaXMgImZ1bmN0aW9u
IFNWR1N3aXRjaEVsZW1lbnQoKSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIKIFBBU1MgU1ZHU3R5
bGVFbGVtZW50LnRvU3RyaW5nKCkgaXMgImZ1bmN0aW9uIFNWR1N0eWxlRWxlbWVudCgpIHtcbiAg
ICBbbmF0aXZlIGNvZGVdXG59IgotUEFTUyBTVkdQb2ludC50b1N0cmluZygpIGlzICJmdW5jdGlv
biBTVkdQb2ludCgpIHtcbiAgICBbbmF0aXZlIGNvZGVdXG59IgogUEFTUyBTVkdQb2ludExpc3Qu
dG9TdHJpbmcoKSBpcyAiZnVuY3Rpb24gU1ZHUG9pbnRMaXN0KCkge1xuICAgIFtuYXRpdmUgY29k
ZV1cbn0iCiBQQVNTIFNWR01hdHJpeC50b1N0cmluZygpIGlzICJmdW5jdGlvbiBTVkdNYXRyaXgo
KSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIKIFBBU1MgU1ZHVHJhbnNmb3JtLnRvU3RyaW5nKCkg
aXMgImZ1bmN0aW9uIFNWR1RyYW5zZm9ybSgpIHtcbiAgICBbbmF0aXZlIGNvZGVdXG59IgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nbG9iYWwtY29uc3RydWN0b3JzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMuaHRtbAppbmRleCAz
MmY3MzcxZjA2MzRiZGY2NzYzYzM2M2U5MGQ5ZDMyNTRlYzMxMTUxLi4zZTcwNjQwZmVkMTJmMzVj
YjViMDVmMzlkOTExODNmOGVlY2E2NzMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L2dsb2JhbC1jb25zdHJ1Y3RvcnMuaHRtbApAQCAtNTIsNyArNTIsNiBAQCBzaG91bGRCZURlZmlu
ZWQoIlNWR1VzZUVsZW1lbnQiKTsKIHNob3VsZEJlRGVmaW5lZCgiU1ZHSW1hZ2VFbGVtZW50Iik7
CiBzaG91bGRCZURlZmluZWQoIlNWR1N3aXRjaEVsZW1lbnQiKTsKIHNob3VsZEJlRGVmaW5lZCgi
U1ZHU3R5bGVFbGVtZW50Iik7Ci1zaG91bGRCZURlZmluZWQoIlNWR1BvaW50Iik7CiBzaG91bGRC
ZURlZmluZWQoIlNWR1BvaW50TGlzdCIpOwogc2hvdWxkQmVEZWZpbmVkKCJTVkdNYXRyaXgiKTsK
IHNob3VsZEJlRGVmaW5lZCgiU1ZHVHJhbnNmb3JtIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL3BvbHlsaW5lLXBvaW50cy1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL3BvbHlsaW5lLXBvaW50cy1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXgg
MmFiOGM0YzIwZGQyY2U5NmQzYTg2OGExZGI2N2RjZmM1YzgyN2NlYi4uZGFiYWE3MTg0YWU0Mzcw
YWZiYmFkMDVhYmU2ZjQ1YjFjZWUyOWZiZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9wb2x5bGluZS1wb2ludHMtY3Jhc2gtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3N2Zy9jdXN0b20vcG9seWxpbmUtcG9pbnRzLWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMSwyICsx
LDIgQEAKLUNhdWdodCBleGNlcHRpb246IFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0n
KSB0byBTVkdQb2ludExpc3QuYXBwZW5kSXRlbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR1Bv
aW50CitDYXVnaHQgZXhjZXB0aW9uOiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykg
dG8gU1ZHUG9pbnRMaXN0LmFwcGVuZEl0ZW0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01Qb2lu
dAogUEFTU0VEIC0tIFdlYktpdCBkaWQgbm90IGNyYXNoIQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3ZnL2RvbS9TVkdQb2ludC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NW
R1BvaW50LWV4cGVjdGVkLnR4dAppbmRleCAxY2Q3OGFhN2JlZmMxOWJmMDQxNGY1MTE1MDVjMjQ1
ZWM0NGVhMjY0Li44YTBhMjdjOTMwMzVjMGExMjhmYjk2MzBiNGU5MTQ4MDQxMGU5N2MyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BvaW50LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BvaW50LWV4cGVjdGVkLnR4dApAQCAtMjMsMTcgKzIzLDE3
IEBAIFBBU1MgcG9pbnQueSBpcyAwCiBSZXNldCB0byAtNTAsIDEwMAogCiBDaGVjayAnbWF0cml4
VHJhbnNmb3JtJyBtZXRob2QgLSBtdWx0aXBseSB3aXRoIC0xLDAsMCwyLDEwLDEwIG1hdHJpeCwg
c2hvdWxkIGZsaXAgeCBjb29yZGluYXRlLCBtdWx0aXBseSB5IGJ5IHR3byBhbmQgdHJhbnNsYXRl
IGVhY2ggY29vcmRpbmF0ZSBieSAxMAotUEFTUyAobmV3UG9pbnQgPSBwb2ludC5tYXRyaXhUcmFu
c2Zvcm0oY3RtKSkudG9TdHJpbmcoKSBpcyAiW29iamVjdCBTVkdQb2ludF0iCitQQVNTIChuZXdQ
b2ludCA9IHBvaW50Lm1hdHJpeFRyYW5zZm9ybShjdG0pKS50b1N0cmluZygpIGlzICJbb2JqZWN0
IERPTVBvaW50XSIKIFBBU1MgbmV3UG9pbnQueCBpcyA2MAogUEFTUyBuZXdQb2ludC55IGlzIDIx
MAogCiBDaGVjayBpbnZhbGlkIGFyZ3VtZW50cyBmb3IgJ21hdHJpeFRyYW5zZm9ybScKLVBBU1Mg
cG9pbnQubWF0cml4VHJhbnNmb3JtKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVu
b3VnaCBhcmd1bWVudHMuCi1QQVNTIHBvaW50Lm1hdHJpeFRyYW5zZm9ybSgtMSkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ21hdHJpeCcpIHRvIFNWR1BvaW50Lm1hdHJp
eFRyYW5zZm9ybSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR01hdHJpeC4KLVBBU1MgcG9pbnQu
bWF0cml4VHJhbnNmb3JtKDUpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEg
KCdtYXRyaXgnKSB0byBTVkdQb2ludC5tYXRyaXhUcmFuc2Zvcm0gbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBTVkdNYXRyaXguCi1QQVNTIHBvaW50Lm1hdHJpeFRyYW5zZm9ybSgnYVN0cmluZycpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdtYXRyaXgnKSB0byBTVkdQb2lu
dC5tYXRyaXhUcmFuc2Zvcm0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdNYXRyaXguCi1QQVNT
IHBvaW50Lm1hdHJpeFRyYW5zZm9ybShwb2ludCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
QXJndW1lbnQgMSAoJ21hdHJpeCcpIHRvIFNWR1BvaW50Lm1hdHJpeFRyYW5zZm9ybSBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIFNWR01hdHJpeC4KLVBBU1MgcG9pbnQubWF0cml4VHJhbnNmb3JtKHN2
Z0VsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdtYXRyaXgn
KSB0byBTVkdQb2ludC5tYXRyaXhUcmFuc2Zvcm0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdN
YXRyaXguCitQQVNTIHBvaW50Lm1hdHJpeFRyYW5zZm9ybSgpLnRvU3RyaW5nKCkgaXMgIltvYmpl
Y3QgRE9NUG9pbnRdIgorUEFTUyBwb2ludC5tYXRyaXhUcmFuc2Zvcm0oLTEpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIHBvaW50Lm1hdHJpeFRyYW5zZm9ybSg1
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBwb2ludC5tYXRy
aXhUcmFuc2Zvcm0oJ2FTdHJpbmcnKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVy
cm9yLgorUEFTUyBwb2ludC5tYXRyaXhUcmFuc2Zvcm0ocG9pbnQpLnRvU3RyaW5nKCkgaXMgIltv
YmplY3QgRE9NUG9pbnRdIgorUEFTUyBwb2ludC5tYXRyaXhUcmFuc2Zvcm0oc3ZnRWxlbWVudCku
dG9TdHJpbmcoKSBpcyAiW29iamVjdCBET01Qb2ludF0iCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9k
b20vU1ZHUG9pbnQuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUG9pbnQuaHRtbAppbmRl
eCAwNzdlZjg3MWIzNzk4Y2I4ZWFlNjNmMTIxNzFiNDc3ODZmYTg1OTRjLi5kZmQxYzliNDc5M2E0
ZmJlMmUyMTVmZjgyNDdjYWM1ZDJlOTA4YjBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcv
ZG9tL1NWR1BvaW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQb2ludC5odG1s
CkBAIC00NCwxOCArNDQsMTggQEAgY3RtLmEgPSAtMTsKIGN0bS5kID0gMjsKIGN0bS5lID0gMTA7
CiBjdG0uZiA9IDEwOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCIobmV3UG9pbnQgPSBwb2ludC5t
YXRyaXhUcmFuc2Zvcm0oY3RtKSkudG9TdHJpbmcoKSIsICJbb2JqZWN0IFNWR1BvaW50XSIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCIobmV3UG9pbnQgPSBwb2ludC5tYXRyaXhUcmFuc2Zvcm0o
Y3RtKSkudG9TdHJpbmcoKSIsICJbb2JqZWN0IERPTVBvaW50XSIpOwogc2hvdWxkQmUoIm5ld1Bv
aW50LngiLCAiNjAiKTsKIHNob3VsZEJlKCJuZXdQb2ludC55IiwgIjIxMCIpOwogCiBkZWJ1Zygi
Iik7CiBkZWJ1ZygiQ2hlY2sgaW52YWxpZCBhcmd1bWVudHMgZm9yICdtYXRyaXhUcmFuc2Zvcm0n
Iik7Ci1zaG91bGRUaHJvdygicG9pbnQubWF0cml4VHJhbnNmb3JtKCkiKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygicG9pbnQubWF0cml4VHJhbnNmb3JtKCkudG9TdHJpbmcoKSIsICJbb2JqZWN0
IERPTVBvaW50XSIpOwogc2hvdWxkVGhyb3coInBvaW50Lm1hdHJpeFRyYW5zZm9ybSgtMSkiKTsK
IHNob3VsZFRocm93KCJwb2ludC5tYXRyaXhUcmFuc2Zvcm0oNSkiKTsKIHNob3VsZFRocm93KCJw
b2ludC5tYXRyaXhUcmFuc2Zvcm0oJ2FTdHJpbmcnKSIpOwotc2hvdWxkVGhyb3coInBvaW50Lm1h
dHJpeFRyYW5zZm9ybShwb2ludCkiKTsKLXNob3VsZFRocm93KCJwb2ludC5tYXRyaXhUcmFuc2Zv
cm0oc3ZnRWxlbWVudCkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygicG9pbnQubWF0cml4VHJh
bnNmb3JtKHBvaW50KS50b1N0cmluZygpIiwgIltvYmplY3QgRE9NUG9pbnRdIik7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInBvaW50Lm1hdHJpeFRyYW5zZm9ybShzdmdFbGVtZW50KS50b1N0cmlu
ZygpIiwgIltvYmplY3QgRE9NUG9pbnRdIik7CiAKIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUG9pbnRMaXN0
LWJhc2ljcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BvaW50TGlzdC1i
YXNpY3MtZXhwZWN0ZWQudHh0CmluZGV4IGFkYzRmZGEyYTZkY2EwZmM5NWFlMWE4YzEwMGU2OGI5
MzFjODI0MjIuLjFkYTIxMDdjYjZlNDYyNjkzMzFjNzNiMjQxM2VkZmRmOTQzNTRiMjUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUG9pbnRMaXN0LWJhc2ljcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQb2ludExpc3QtYmFzaWNzLWV4cGVjdGVk
LnR4dApAQCAtMTEsNyArMTEsNyBAQCBQQVNTIGR1bXBQb2ludChwb2x5MS5wb2ludHMuZ2V0SXRl
bSgzKSkgaXMgIng9MCB5PTEwMCIKIFBBU1MgcG9seTEuZ2V0QXR0cmlidXRlKCdwb2ludHMnKS5m
b3JtYXRQb2ludHNBdHRyaWJ1dGUoKSBpcyAiMCAwIDEwMCAwIDEwMCAxMDAgMCAxMDAiCiAKIENy
ZWF0aW5nIHBvaW50IHg9MjAwIHk9MTAwCi1QQVNTIChwb2ludCA9IHN2Zy5jcmVhdGVTVkdQb2lu
dCgpKS50b1N0cmluZygpIGlzICJbb2JqZWN0IFNWR1BvaW50XSIKK1BBU1MgKHBvaW50ID0gc3Zn
LmNyZWF0ZVNWR1BvaW50KCkpLnRvU3RyaW5nKCkgaXMgIltvYmplY3QgRE9NUG9pbnRdIgogUEFT
UyBwb2ludC54ID0gMjAwIGlzIDIwMAogUEFTUyBwb2ludC55ID0gMTAwIGlzIDEwMAogCkBAIC0y
MCw5ICsyMCw5IEBAIFBBU1MgcG9seTEucG9pbnRzLmluaXRpYWxpemUocG9pbnQpIGlzIHBvaW50
CiBQQVNTIHBvbHkxLnBvaW50cy5udW1iZXJPZkl0ZW1zIGlzIDEKIFBBU1MgZHVtcFBvaW50KHBv
bHkxLnBvaW50cy5nZXRJdGVtKDApKSBpcyAieD0yMDAgeT0xMDAiCiBQQVNTIHBvbHkxLmdldEF0
dHJpYnV0ZSgncG9pbnRzJykuZm9ybWF0UG9pbnRzQXR0cmlidXRlKCkgaXMgIjIwMCAxMDAiCi1Q
QVNTIHBvbHkxLnBvaW50cy5pbml0aWFsaXplKHBvbHkxKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5pbml0aWFsaXplIG11
c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9pbnQuCi1QQVNTIHBvbHkxLnBvaW50cy5pbml0aWFs
aXplKDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykg
dG8gU1ZHUG9pbnRMaXN0LmluaXRpYWxpemUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdQb2lu
dC4KLVBBU1MgcG9seTEucG9pbnRzLmluaXRpYWxpemUoJ2FTdHJpbmcnKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5pbml0
aWFsaXplIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9pbnQuCitQQVNTIHBvbHkxLnBvaW50
cy5pbml0aWFsaXplKHBvbHkxKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAx
ICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5pbml0aWFsaXplIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgRE9NUG9pbnQuCitQQVNTIHBvbHkxLnBvaW50cy5pbml0aWFsaXplKDApIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0
LmluaXRpYWxpemUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01Qb2ludC4KK1BBU1MgcG9seTEu
cG9pbnRzLmluaXRpYWxpemUoJ2FTdHJpbmcnKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBB
cmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5pbml0aWFsaXplIG11c3QgYmUg
YW4gaW5zdGFuY2Ugb2YgRE9NUG9pbnQuCiAKIFJlc2V0IHBvaW50cyBhdHRyaWJ1dGUgdG8gMCAw
IDEwMCAwIDEwMCAxMDAgMCAxMDAKIFBBU1MgcG9seTEuc2V0QXR0cmlidXRlKCdwb2ludHMnLCAn
MCAwIDEwMCAwIDEwMCAxMDAgMCAxMDAnKSBpcyB1bmRlZmluZWQuCkBAIC03NSwxOSArNzUsMTkg
QEAgUEFTUyBkdW1wUG9pbnQocG9seTEucG9pbnRzLmdldEl0ZW0oMSkpIGlzICJ4PTEwMCB5PTAi
CiBQQVNTIGR1bXBQb2ludChwb2x5MS5wb2ludHMuZ2V0SXRlbSgyKSkgaXMgIng9MTAwIHk9MTAw
IgogUEFTUyBkdW1wUG9pbnQocG9seTEucG9pbnRzLmdldEl0ZW0oMykpIGlzICJ4PTAgeT0xMDAi
CiBQQVNTIHBvbHkxLmdldEF0dHJpYnV0ZSgncG9pbnRzJykuZm9ybWF0UG9pbnRzQXR0cmlidXRl
KCkgaXMgIjAgMCAxMDAgMCAxMDAgMTAwIDAgMTAwIgotUEFTUyBwb2x5MS5wb2ludHMuaW5zZXJ0
SXRlbUJlZm9yZSgzMCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAo
J25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuaW5zZXJ0SXRlbUJlZm9yZSBtdXN0IGJlIGFuIGlu
c3RhbmNlIG9mIFNWR1BvaW50LgotUEFTUyBwb2x5MS5wb2ludHMuaW5zZXJ0SXRlbUJlZm9yZSgn
YVN0cmluZycsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJ
dGVtJykgdG8gU1ZHUG9pbnRMaXN0Lmluc2VydEl0ZW1CZWZvcmUgbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBTVkdQb2ludC4KLVBBU1MgcG9seTEucG9pbnRzLmluc2VydEl0ZW1CZWZvcmUocG9seTEs
IDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8g
U1ZHUG9pbnRMaXN0Lmluc2VydEl0ZW1CZWZvcmUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdQ
b2ludC4KLVBBU1MgcG9seTEucG9pbnRzLmluc2VydEl0ZW1CZWZvcmUobnVsbCwgMCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExp
c3QuaW5zZXJ0SXRlbUJlZm9yZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR1BvaW50LgorUEFT
UyBwb2x5MS5wb2ludHMuaW5zZXJ0SXRlbUJlZm9yZSgzMCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuaW5zZXJ0SXRl
bUJlZm9yZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERPTVBvaW50LgorUEFTUyBwb2x5MS5wb2lu
dHMuaW5zZXJ0SXRlbUJlZm9yZSgnYVN0cmluZycsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0Lmluc2VydEl0ZW1CZWZv
cmUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01Qb2ludC4KK1BBU1MgcG9seTEucG9pbnRzLmlu
c2VydEl0ZW1CZWZvcmUocG9seTEsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3Vt
ZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0Lmluc2VydEl0ZW1CZWZvcmUgbXVzdCBi
ZSBhbiBpbnN0YW5jZSBvZiBET01Qb2ludC4KK1BBU1MgcG9seTEucG9pbnRzLmluc2VydEl0ZW1C
ZWZvcmUobnVsbCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25l
d0l0ZW0nKSB0byBTVkdQb2ludExpc3QuaW5zZXJ0SXRlbUJlZm9yZSBtdXN0IGJlIGFuIGluc3Rh
bmNlIG9mIERPTVBvaW50LgogCiBUZXN0IHVuY29tbW9uIGFyZ3VtZW50cyBmb3IgcmVwbGFjZUl0
ZW0oKQogUEFTUyBwb2x5MS5wb2ludHMucmVwbGFjZUl0ZW0oMzApIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgogUEFTUyBwb2x5MS5wb2ludHMucmVwbGFj
ZUl0ZW0oJ2FTdHJpbmcnKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFy
Z3VtZW50cy4KIFBBU1MgcG9seTEucG9pbnRzLnJlcGxhY2VJdGVtKHBvbHkxKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgcG9seTEucG9pbnRz
LnJlcGxhY2VJdGVtKG51bGwsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50
IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LnJlcGxhY2VJdGVtIG11c3QgYmUgYW4gaW5z
dGFuY2Ugb2YgU1ZHUG9pbnQuCi1QQVNTIHBvbHkxLnBvaW50cy5yZXBsYWNlSXRlbSgnYVN0cmlu
ZycsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykg
dG8gU1ZHUG9pbnRMaXN0LnJlcGxhY2VJdGVtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9p
bnQuCi1QQVNTIHBvbHkxLnBvaW50cy5yZXBsYWNlSXRlbShwb2x5MSwgMCkgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QucmVw
bGFjZUl0ZW0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdQb2ludC4KLVBBU1MgcG9seTEucG9p
bnRzLnJlcGxhY2VJdGVtKDEsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50
IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LnJlcGxhY2VJdGVtIG11c3QgYmUgYW4gaW5z
dGFuY2Ugb2YgU1ZHUG9pbnQuCitQQVNTIHBvbHkxLnBvaW50cy5yZXBsYWNlSXRlbShudWxsLCAw
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNW
R1BvaW50TGlzdC5yZXBsYWNlSXRlbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERPTVBvaW50Lgor
UEFTUyBwb2x5MS5wb2ludHMucmVwbGFjZUl0ZW0oJ2FTdHJpbmcnLCAwKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5yZXBs
YWNlSXRlbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERPTVBvaW50LgorUEFTUyBwb2x5MS5wb2lu
dHMucmVwbGFjZUl0ZW0ocG9seTEsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3Vt
ZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LnJlcGxhY2VJdGVtIG11c3QgYmUgYW4g
aW5zdGFuY2Ugb2YgRE9NUG9pbnQuCitQQVNTIHBvbHkxLnBvaW50cy5yZXBsYWNlSXRlbSgxLCAw
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNW
R1BvaW50TGlzdC5yZXBsYWNlSXRlbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERPTVBvaW50Lgog
CiBUZXN0IHVuY29tbW9uIGFyZ3VtZW50cyBmb3IgcmVwbGFjZUl0ZW0oKSBhbmQgeG1sLWRvbSBz
eW5jaHJvbml6YXRpb24KIFBBU1MgcG9seTEucG9pbnRzLm51bWJlck9mSXRlbXMgaXMgNApAQCAt
MTQzLDEwICsxNDMsMTAgQEAgUEFTUyBkdW1wUG9pbnQocG9seTEucG9pbnRzLmdldEl0ZW0oMCkp
IGlzICJ4PTAgeT0xMDAiCiBQQVNTIHBvbHkxLmdldEF0dHJpYnV0ZSgncG9pbnRzJykuZm9ybWF0
UG9pbnRzQXR0cmlidXRlKCkgaXMgIjAgMTAwIgogCiBUZXN0IHVuY29tbW9uIGFyZ3VtZW50cyBm
b3IgYXBwZW5kSXRlbSgpCi1QQVNTIHBvbHkxLnBvaW50cy5hcHBlbmRJdGVtKDMwKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlz
dC5hcHBlbmRJdGVtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9pbnQuCi1QQVNTIHBvbHkx
LnBvaW50cy5hcHBlbmRJdGVtKCdhU3RyaW5nJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
QXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuYXBwZW5kSXRlbSBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIFNWR1BvaW50LgotUEFTUyBwb2x5MS5wb2ludHMuYXBwZW5kSXRlbShw
b2x5MSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0
byBTVkdQb2ludExpc3QuYXBwZW5kSXRlbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR1BvaW50
LgotUEFTUyBwb2x5MS5wb2ludHMuYXBwZW5kSXRlbShudWxsKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5hcHBlbmRJdGVt
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9pbnQuCitQQVNTIHBvbHkxLnBvaW50cy5hcHBl
bmRJdGVtKDMwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRl
bScpIHRvIFNWR1BvaW50TGlzdC5hcHBlbmRJdGVtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9N
UG9pbnQuCitQQVNTIHBvbHkxLnBvaW50cy5hcHBlbmRJdGVtKCdhU3RyaW5nJykgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3Qu
YXBwZW5kSXRlbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERPTVBvaW50LgorUEFTUyBwb2x5MS5w
b2ludHMuYXBwZW5kSXRlbShwb2x5MSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1l
bnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuYXBwZW5kSXRlbSBtdXN0IGJlIGFuIGlu
c3RhbmNlIG9mIERPTVBvaW50LgorUEFTUyBwb2x5MS5wb2ludHMuYXBwZW5kSXRlbShudWxsKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1Bv
aW50TGlzdC5hcHBlbmRJdGVtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9NUG9pbnQuCiBQQVNT
IGR1bXBQb2ludChwb2x5MS5wb2ludHMuYXBwZW5kSXRlbShwb2ludCkpIGlzICJ4PTIwMCB5PTEw
MCIKIFBBU1MgcG9seTEucG9pbnRzLm51bWJlck9mSXRlbXMgaXMgMgogUEFTUyBkdW1wUG9pbnQo
cG9seTEucG9pbnRzLmdldEl0ZW0oMCkpIGlzICJ4PTAgeT0xMDAiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdmcvZG9tL1NWR1BvaW50TGlzdC1iYXNpY3MueGh0bWwgYi9MYXlvdXRUZXN0cy9z
dmcvZG9tL1NWR1BvaW50TGlzdC1iYXNpY3MueGh0bWwKaW5kZXggNmVlNDIxY2Q1MzU4NjFhMzMw
OGFlYzhhOGFlMGVjZmMxMjQ5MGE4OS4uZDEwYjFkMTc5MDk4ZmJhNDAzM2U1MTE2MDE2YWJmYWQ5
OGQxZmNjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQb2ludExpc3QtYmFz
aWNzLnhodG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUG9pbnRMaXN0LWJhc2ljcy54
aHRtbApAQCAtMzgsNyArMzgsNyBAQAogICAgIHZhciBwb2ludDsKICAgICBkZWJ1ZygiIik7CiAg
ICAgZGVidWcoIkNyZWF0aW5nIHBvaW50IHg9MjAwIHk9MTAwIik7Ci0gICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCIocG9pbnQgPSBzdmcuY3JlYXRlU1ZHUG9pbnQoKSkudG9TdHJpbmcoKSIsICJb
b2JqZWN0IFNWR1BvaW50XSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiKHBvaW50ID0g
c3ZnLmNyZWF0ZVNWR1BvaW50KCkpLnRvU3RyaW5nKCkiLCAiW29iamVjdCBET01Qb2ludF0iKTsK
ICAgICBzaG91bGRCZSgicG9pbnQueCA9IDIwMCIsICIyMDAiKTsKICAgICBzaG91bGRCZSgicG9p
bnQueSA9IDEwMCIsICIxMDAiKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9T
VkdWaWV3U3BlYy1kZWZhdWx0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NW
R1ZpZXdTcGVjLWRlZmF1bHRzLWV4cGVjdGVkLnR4dAppbmRleCA5YzAxODE3NTgxNWI3NDRmZDJi
NjUwZDczNzJjNDdmODVhYTE0YWYxLi4xNDUyYWI3YzQ1YTRmMzVhMzk1OTdmMDMzZTBkMzk5MjUw
YmJhMmM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1ZpZXdTcGVjLWRlZmF1
bHRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1ZpZXdTcGVjLWRl
ZmF1bHRzLWV4cGVjdGVkLnR4dApAQCAtMjAsNTAgKzIwLDUzIEBAIFBBU1MgY3VycmVudFZpZXcu
dHJhbnNmb3JtU3RyaW5nIGlzICIiCiBQQVNTIGN1cnJlbnRWaWV3LnZpZXdUYXJnZXRTdHJpbmcg
aXMgIiIKIFBBU1MgY3VycmVudFZpZXcuem9vbUFuZFBhbiBpcyBTVkdWaWV3RWxlbWVudC5TVkdf
Wk9PTUFORFBBTl9NQUdOSUZZCiAKLVRyeSBjaGFuZ2luZyB6b29tQW5kUGFuIC0gbm9uZSBvZiB0
aGVzZSB3aWxsIHdvcmssIGFzIFNWR1ZpZXdTcGVjIGlzIGZ1bGx5IHJlYWRvbmx5IC0gZXZlbiB0
aGUgYW5pbWF0ZWQgcHJvcGVydGllcyBpdCBpbmhlcml0cyBmcm9tIHBhcmVudCBjbGFzc2VzIGxp
a2UgU1ZHWm9vbUFuZFBhbi9TVkdGaXRUb1ZpZXdCb3gKK1RyeSBjaGFuZ2luZyB6b29tQW5kUGFu
IC0gbm9uZSBvZiB0aGVzZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJpbWl0aXZlIHByb3BlcnR5CiBQ
QVNTIGN1cnJlbnRWaWV3Lnpvb21BbmRQYW4gPSBTVkdWaWV3RWxlbWVudC5TVkdfWk9PTUFORFBB
Tl9ESVNBQkxFIHRocmV3IGV4Y2VwdGlvbiBOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvcjogVGhl
IG9iamVjdCBjYW4gbm90IGJlIG1vZGlmaWVkLi4KIFBBU1MgY3VycmVudFZpZXcuem9vbUFuZFBh
biBpcyBTVkdWaWV3RWxlbWVudC5TVkdfWk9PTUFORFBBTl9NQUdOSUZZCiAKLVRyeSBjaGFuZ2lu
ZyB2aWV3Qm94IC0gdGhpcyBoYXMgbm8gYWZmZWN0IG9uIHRoZSBTVkdTVkdFbGVtZW50IHRoZSB2
aWV3U3BlYyBiZWxvbmdzIHRvIC0gaXQgZXhwb3NlZCBhbGwgaXRzIHByb3BlcnRpZXMgYXMgcmVh
ZC1vbmx5Ci1QQVNTIGN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC54ID0gMTAgdGhyZXcgZXhj
ZXB0aW9uIE5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUg
bW9kaWZpZWQuLgotUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwueCBpcyAwCi1QQVNT
IGN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC55ID0gMjAgdGhyZXcgZXhjZXB0aW9uIE5vTW9k
aWZpY2F0aW9uQWxsb3dlZEVycm9yOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgbW9kaWZpZWQuLgot
UEFTUyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwueSBpcyAwCi1QQVNTIGN1cnJlbnRWaWV3
LnZpZXdCb3guYmFzZVZhbC53aWR0aCA9IDUwIHRocmV3IGV4Y2VwdGlvbiBOb01vZGlmaWNhdGlv
bkFsbG93ZWRFcnJvcjogVGhlIG9iamVjdCBjYW4gbm90IGJlIG1vZGlmaWVkLi4KLVBBU1MgY3Vy
cmVudFZpZXcudmlld0JveC5iYXNlVmFsLndpZHRoIGlzIDAKLVBBU1MgY3VycmVudFZpZXcudmll
d0JveC5iYXNlVmFsLmhlaWdodCA9IDEwMCB0aHJldyBleGNlcHRpb24gTm9Nb2RpZmljYXRpb25B
bGxvd2VkRXJyb3I6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBtb2RpZmllZC4uCi1QQVNTIGN1cnJl
bnRWaWV3LnZpZXdCb3guYmFzZVZhbC5oZWlnaHQgaXMgMAotUEFTUyBjdXJyZW50Vmlldy52aWV3
Qm94U3RyaW5nIGlzICIwIDAgMCAwIgorQ2hhbmdpbmcgdmlld0JveCAtIHRoaXMgaGFzIG5vIGFm
ZmVjdCBvbiB0aGUgU1ZHU1ZHRWxlbWVudCB0aGUgdmlld1NwZWMgYmVsb25ncyB0byAtIGl0IGlz
IGEgZGV0YWNoZWQgcHJvcGVydHkKK1BBU1MgY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLngg
PSAxMCBpcyAxMAorUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwueCBpcyAxMAorUEFT
UyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwueSA9IDIwIGlzIDIwCitQQVNTIGN1cnJlbnRW
aWV3LnZpZXdCb3guYmFzZVZhbC55IGlzIDIwCitQQVNTIGN1cnJlbnRWaWV3LnZpZXdCb3guYmFz
ZVZhbC53aWR0aCA9IDUwIGlzIDUwCitQQVNTIGN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC53
aWR0aCBpcyA1MAorUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwuaGVpZ2h0ID0gMTAw
IGlzIDEwMAorUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwuaGVpZ2h0IGlzIDEwMAor
UEFTUyBjdXJyZW50Vmlldy52aWV3Qm94U3RyaW5nIGlzICIxMCAyMCA1MCAxMDAiCiAKLVRyeSBj
aGFuZ2luZyB2aWV3Qm94U3RyaW5nCitUcnkgY2hhbmdpbmcgdmlld0JveFN0cmluZyAtIG5vbmUg
b2YgdGhlc2Ugd2lsbCB3b3JrLCBpdCBpcyBhIHByaW1pdGl2ZSBwcm9wZXJ0eQogUEFTUyBjdXJy
ZW50Vmlldy52aWV3Qm94U3RyaW5nID0gJzEgMiAzIDQnIGlzICIxIDIgMyA0IgotUEFTUyBjdXJy
ZW50Vmlldy52aWV3Qm94U3RyaW5nIGlzICIwIDAgMCAwIgorUEFTUyBjdXJyZW50Vmlldy52aWV3
Qm94U3RyaW5nIGlzICIxMCAyMCA1MCAxMDAiCiAKLVRyeSBjaGFuZ2luZyBwcmVzZXJ2ZUFzcGVj
dFJhdGlvCi1QQVNTIGN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5hbGln
biA9IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllN
SU4gdGhyZXcgZXhjZXB0aW9uIE5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yOiBUaGUgb2JqZWN0
IGNhbiBub3QgYmUgbW9kaWZpZWQuLgotUEFTUyBjdXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJh
dGlvLmJhc2VWYWwuYWxpZ24gaXMgU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVB
U1BFQ1RSQVRJT19YTUlEWU1JRAotUEFTUyBjdXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlv
LmJhc2VWYWwubWVldE9yU2xpY2UgPSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19NRUVUT1JT
TElDRV9TTElDRSB0aHJldyBleGNlcHRpb24gTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3I6IFRo
ZSBvYmplY3QgY2FuIG5vdCBiZSBtb2RpZmllZC4uCi1QQVNTIGN1cnJlbnRWaWV3LnByZXNlcnZl
QXNwZWN0UmF0aW8uYmFzZVZhbC5tZWV0T3JTbGljZSBpcyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlv
LlNWR19NRUVUT1JTTElDRV9NRUVUCitDaGFuZ2luZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvIC0gdGhp
cyBoYXMgbm8gYWZmZWN0IG9uIHRoZSBTVkdTVkdFbGVtZW50IHRoZSB2aWV3U3BlYyBiZWxvbmdz
IHRvIC0gaXQgaXMgYSBkZXRhY2hlZCBwcm9wZXJ0eQorUEFTUyBjdXJyZW50Vmlldy5wcmVzZXJ2
ZUFzcGVjdFJhdGlvLmJhc2VWYWwuYWxpZ24gPSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19Q
UkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlOIGlzIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZH
X1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSU4KK1BBU1MgY3VycmVudFZpZXcucHJlc2VydmVB
c3BlY3RSYXRpby5iYXNlVmFsLmFsaWduIGlzIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX1BS
RVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSU4KK1BBU1MgY3VycmVudFZpZXcucHJlc2VydmVBc3Bl
Y3RSYXRpby5iYXNlVmFsLm1lZXRPclNsaWNlID0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdf
TUVFVE9SU0xJQ0VfU0xJQ0UgaXMgU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJ
Q0VfU0xJQ0UKK1BBU1MgY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLm1l
ZXRPclNsaWNlIGlzIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX01FRVRPUlNMSUNFX1NMSUNF
CiAKLVRyeSBjaGFuZ2luZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvU3RyaW5nCi1QQVNTIGN1cnJlbnRW
aWV3LnByZXNlcnZlQXNwZWN0UmF0aW9TdHJpbmcgPSAneE1pbllNaW4gc2xpY2UnIGlzICJ4TWlu
WU1pbiBzbGljZSIKLVBBU1MgY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpb1N0cmluZyBp
cyAieE1pZFlNaWQgbWVldCIKLQotVHJ5IGNoYW5naW5nIHRyYW5zZm9ybVN0cmluZwotUEFTUyBj
dXJyZW50Vmlldy50cmFuc2Zvcm1TdHJpbmcgPSAncm90YXRlKDkwKScgaXMgInJvdGF0ZSg5MCki
Ci1QQVNTIGN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmluZyBpcyAiIgorQ2hhbmdpbmcgcHJlc2Vy
dmVBc3BlY3RSYXRpb1N0cmluZyAtIG5vbmUgb2YgdGhlc2Ugd2lsbCB3b3JrLCBpdCBpcyBhIHBy
aW1pdGl2ZSBwcm9wZXJ0eQorUEFTUyBjdXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlvU3Ry
aW5nID0gJ3hNaWRZTWlkIG1lZXQnIGlzICJ4TWlkWU1pZCBtZWV0IgorUEFTUyBjdXJyZW50Vmll
dy5wcmVzZXJ2ZUFzcGVjdFJhdGlvU3RyaW5nIGlzICJ4TWluWU1pbiBzbGljZSIKIAotVHJ5IGNo
YW5naW5nIHZpZXdUYXJnZXQKK1RyeSBjaGFuZ2luZyB2aWV3VGFyZ2V0IC0gbm9uZSBvZiB0aGVz
ZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJpbWl0aXZlIHByb3BlcnR5CiBQQVNTIGN1cnJlbnRWaWV3
LnZpZXdUYXJnZXQgPSBzdmdFbGVtZW50IGlzIHN2Z0VsZW1lbnQKIFBBU1MgY3VycmVudFZpZXcu
dmlld1RhcmdldCBpcyBudWxsCiAKLVRyeSBjaGFuZ2luZyB2aWV3VGFyZ2V0U3RyaW5nCitUcnkg
Y2hhbmdpbmcgdmlld1RhcmdldFN0cmluZyAtIG5vbmUgb2YgdGhlc2Ugd2lsbCB3b3JrLCBpdCBp
cyBhIHByaW1pdGl2ZSBwcm9wZXJ0eQogUEFTUyBjdXJyZW50Vmlldy52aWV3VGFyZ2V0U3RyaW5n
ID0gJyN0ZXN0JyBpcyAiI3Rlc3QiCiBQQVNTIGN1cnJlbnRWaWV3LnZpZXdUYXJnZXRTdHJpbmcg
aXMgIiIKIAotVHJ5IGNoYW5naW5nIHRyYW5zZm9ybQotUEFTUyBjdXJyZW50Vmlldy50cmFuc2Zv
cm0uY2xlYXIoKSB0aHJldyBleGNlcHRpb24gTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3I6IFRo
ZSBvYmplY3QgY2FuIG5vdCBiZSBtb2RpZmllZC4uCitDaGFuZ2luZyB0cmFuc2Zvcm0gLSB0aGlz
IGhhcyBubyBhZmZlY3Qgb24gdGhlIFNWR1NWR0VsZW1lbnQgdGhlIHZpZXdTcGVjIGJlbG9uZ3Mg
dG8gLSBpdCBpcyBhIGRldGFjaGVkIHByb3BlcnR5CitQQVNTIGN1cnJlbnRWaWV3LnRyYW5zZm9y
bS5hcHBlbmRJdGVtKHRyYW5zZm9ybSkudG9TdHJpbmcoKSBpcyAiW29iamVjdCBTVkdUcmFuc2Zv
cm1dIgorUEFTUyBjdXJyZW50Vmlldy50cmFuc2Zvcm0ubnVtYmVyT2ZJdGVtcyBpcyAxCitQQVNT
IGN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmluZyBpcyAibWF0cml4KDEgMCAwIDEgMCAwKSIKK1BB
U1MgdW5kZWZpbmVkIGlzIHVuZGVmaW5lZC4KIFBBU1MgY3VycmVudFZpZXcudHJhbnNmb3JtLm51
bWJlck9mSXRlbXMgaXMgMAorCitUcnkgY2hhbmdpbmcgdHJhbnNmb3JtU3RyaW5nIC0gbm9uZSBv
ZiB0aGVzZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJpbWl0aXZlIHByb3BlcnR5CitQQVNTIGN1cnJl
bnRWaWV3LnRyYW5zZm9ybVN0cmluZyA9ICdyb3RhdGUoOTApJyBpcyAicm90YXRlKDkwKSIKK1BB
U1MgY3VycmVudFZpZXcudHJhbnNmb3JtU3RyaW5nIGlzICIiCiBQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2
Zy9kb20vU1ZHVmlld1NwZWMtZGVmYXVsdHMuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZH
Vmlld1NwZWMtZGVmYXVsdHMuaHRtbAppbmRleCBhMDI0MjY3MWQyY2FjY2IwYmVjNTI0OWIwZTVj
YzkzZTQ2Mjc2MWViLi4xMDYwYmRjMmNiZGRhNzgyNDNhOGFmOGMwNjU0MjVjNjZmNzIzMWZiIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1ZpZXdTcGVjLWRlZmF1bHRzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdWaWV3U3BlYy1kZWZhdWx0cy5odG1sCkBAIC0z
NCw2MiArMzQsNjQgQEAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy52aWV3VGFy
Z2V0U3RyaW5nIiwgIiIpOwogc2hvdWxkQmUoImN1cnJlbnRWaWV3Lnpvb21BbmRQYW4iLCAiU1ZH
Vmlld0VsZW1lbnQuU1ZHX1pPT01BTkRQQU5fTUFHTklGWSIpOwogCiBkZWJ1ZygiIik7Ci1kZWJ1
ZygiVHJ5IGNoYW5naW5nIHpvb21BbmRQYW4gLSBub25lIG9mIHRoZXNlIHdpbGwgd29yaywgYXMg
U1ZHVmlld1NwZWMgaXMgZnVsbHkgcmVhZG9ubHkgLSBldmVuIHRoZSBhbmltYXRlZCBwcm9wZXJ0
aWVzIGl0IGluaGVyaXRzIGZyb20gcGFyZW50IGNsYXNzZXMgbGlrZSBTVkdab29tQW5kUGFuL1NW
R0ZpdFRvVmlld0JveCIpOworZGVidWcoIlRyeSBjaGFuZ2luZyB6b29tQW5kUGFuIC0gbm9uZSBv
ZiB0aGVzZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJpbWl0aXZlIHByb3BlcnR5Iik7CiBzaG91bGRU
aHJvdygiY3VycmVudFZpZXcuem9vbUFuZFBhbiA9IFNWR1ZpZXdFbGVtZW50LlNWR19aT09NQU5E
UEFOX0RJU0FCTEUiKTsKIHNob3VsZEJlKCJjdXJyZW50Vmlldy56b29tQW5kUGFuIiwgIlNWR1Zp
ZXdFbGVtZW50LlNWR19aT09NQU5EUEFOX01BR05JRlkiKTsKIAogZGVidWcoIiIpOwotZGVidWco
IlRyeSBjaGFuZ2luZyB2aWV3Qm94IC0gdGhpcyBoYXMgbm8gYWZmZWN0IG9uIHRoZSBTVkdTVkdF
bGVtZW50IHRoZSB2aWV3U3BlYyBiZWxvbmdzIHRvIC0gaXQgZXhwb3NlZCBhbGwgaXRzIHByb3Bl
cnRpZXMgYXMgcmVhZC1vbmx5Iik7Ci1zaG91bGRUaHJvdygiY3VycmVudFZpZXcudmlld0JveC5i
YXNlVmFsLnggPSAxMCIpOwotc2hvdWxkQmUoImN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC54
IiwgIjAiKTsKLXNob3VsZFRocm93KCJjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwueSA9IDIw
Iik7Ci1zaG91bGRCZSgiY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLnkiLCAiMCIpOwotc2hv
dWxkVGhyb3coImN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC53aWR0aCA9IDUwIik7Ci1zaG91
bGRCZSgiY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLndpZHRoIiwgIjAiKTsKLXNob3VsZFRo
cm93KCJjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwuaGVpZ2h0ID0gMTAwIik7Ci1zaG91bGRC
ZSgiY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLmhlaWdodCIsICIwIik7Ci1zaG91bGRCZUVx
dWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnZpZXdCb3hTdHJpbmciLCAiMCAwIDAgMCIpOworZGVi
dWcoIkNoYW5naW5nIHZpZXdCb3ggLSB0aGlzIGhhcyBubyBhZmZlY3Qgb24gdGhlIFNWR1NWR0Vs
ZW1lbnQgdGhlIHZpZXdTcGVjIGJlbG9uZ3MgdG8gLSBpdCBpcyBhIGRldGFjaGVkIHByb3BlcnR5
Iik7CitzaG91bGRCZSgiY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLnggPSAxMCIsICIxMCIp
Oworc2hvdWxkQmUoImN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC54IiwgIjEwIik7CitzaG91
bGRCZSgiY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLnkgPSAyMCIsICIyMCIpOworc2hvdWxk
QmUoImN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC55IiwgIjIwIik7CitzaG91bGRCZSgiY3Vy
cmVudFZpZXcudmlld0JveC5iYXNlVmFsLndpZHRoID0gNTAiLCAiNTAiKTsKK3Nob3VsZEJlKCJj
dXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwud2lkdGgiLCAiNTAiKTsKK3Nob3VsZEJlKCJjdXJy
ZW50Vmlldy52aWV3Qm94LmJhc2VWYWwuaGVpZ2h0ID0gMTAwIiwgIjEwMCIpOworc2hvdWxkQmUo
ImN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC5oZWlnaHQiLCAiMTAwIik7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnZpZXdCb3hTdHJpbmciLCAiMTAgMjAgNTAgMTAwIik7
CiAKIGRlYnVnKCIiKTsKLWRlYnVnKCJUcnkgY2hhbmdpbmcgdmlld0JveFN0cmluZyIpOworZGVi
dWcoIlRyeSBjaGFuZ2luZyB2aWV3Qm94U3RyaW5nIC0gbm9uZSBvZiB0aGVzZSB3aWxsIHdvcmss
IGl0IGlzIGEgcHJpbWl0aXZlIHByb3BlcnR5Iik7CiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImN1
cnJlbnRWaWV3LnZpZXdCb3hTdHJpbmcgPSAnMSAyIDMgNCciLCAiMSAyIDMgNCIpOwotc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy52aWV3Qm94U3RyaW5nIiwgIjAgMCAwIDAiKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVudFZpZXcudmlld0JveFN0cmluZyIsICIxMCAy
MCA1MCAxMDAiKTsKIAogZGVidWcoIiIpOwotZGVidWcoIlRyeSBjaGFuZ2luZyBwcmVzZXJ2ZUFz
cGVjdFJhdGlvIik7Ci1zaG91bGRUaHJvdygiY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRp
by5iYXNlVmFsLmFsaWduID0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BF
Q1RSQVRJT19YTUlOWU1JTiIpOwotc2hvdWxkQmUoImN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0
UmF0aW8uYmFzZVZhbC5hbGlnbiIsICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19QUkVTRVJW
RUFTUEVDVFJBVElPX1hNSURZTUlEIik7Ci1zaG91bGRUaHJvdygiY3VycmVudFZpZXcucHJlc2Vy
dmVBc3BlY3RSYXRpby5iYXNlVmFsLm1lZXRPclNsaWNlID0gU1ZHUHJlc2VydmVBc3BlY3RSYXRp
by5TVkdfTUVFVE9SU0xJQ0VfU0xJQ0UiKTsKLXNob3VsZEJlKCJjdXJyZW50Vmlldy5wcmVzZXJ2
ZUFzcGVjdFJhdGlvLmJhc2VWYWwubWVldE9yU2xpY2UiLCAiU1ZHUHJlc2VydmVBc3BlY3RSYXRp
by5TVkdfTUVFVE9SU0xJQ0VfTUVFVCIpOworZGVidWcoIkNoYW5naW5nIHByZXNlcnZlQXNwZWN0
UmF0aW8gLSB0aGlzIGhhcyBubyBhZmZlY3Qgb24gdGhlIFNWR1NWR0VsZW1lbnQgdGhlIHZpZXdT
cGVjIGJlbG9uZ3MgdG8gLSBpdCBpcyBhIGRldGFjaGVkIHByb3BlcnR5Iik7CitzaG91bGRCZSgi
Y3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLmFsaWduID0gU1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1JTiIsICJTVkdQcmVz
ZXJ2ZUFzcGVjdFJhdGlvLlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlOIik7CitzaG91
bGRCZSgiY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLmFsaWduIiwgIlNW
R1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSU4iKTsK
K3Nob3VsZEJlKCJjdXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VWYWwubWVldE9y
U2xpY2UgPSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19NRUVUT1JTTElDRV9TTElDRSIsICJT
VkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19NRUVUT1JTTElDRV9TTElDRSIpOworc2hvdWxkQmUo
ImN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5tZWV0T3JTbGljZSIsICJT
VkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19NRUVUT1JTTElDRV9TTElDRSIpOwogCiBkZWJ1Zygi
Iik7Ci1kZWJ1ZygiVHJ5IGNoYW5naW5nIHByZXNlcnZlQXNwZWN0UmF0aW9TdHJpbmciKTsKLXNo
b3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpb1N0cmlu
ZyA9ICd4TWluWU1pbiBzbGljZSciLCAieE1pbllNaW4gc2xpY2UiKTsKLXNob3VsZEJlRXF1YWxU
b1N0cmluZygiY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpb1N0cmluZyIsICJ4TWlkWU1p
ZCBtZWV0Iik7Ci0KK2RlYnVnKCJDaGFuZ2luZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvU3RyaW5nIC0g
bm9uZSBvZiB0aGVzZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJpbWl0aXZlIHByb3BlcnR5Iik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0aW9TdHJp
bmcgPSAneE1pZFlNaWQgbWVldCciLCAieE1pZFlNaWQgbWVldCIpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJjdXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlvU3RyaW5nIiwgInhNaW5ZTWlu
IHNsaWNlIik7CiAKIGRlYnVnKCIiKTsKLWRlYnVnKCJUcnkgY2hhbmdpbmcgdHJhbnNmb3JtU3Ry
aW5nIik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmlu
ZyA9ICdyb3RhdGUoOTApJyIsICJyb3RhdGUoOTApIik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
ImN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmluZyIsICIiKTsKLQotCi1kZWJ1ZygiIik7Ci1kZWJ1
ZygiVHJ5IGNoYW5naW5nIHZpZXdUYXJnZXQiKTsKK2RlYnVnKCJUcnkgY2hhbmdpbmcgdmlld1Rh
cmdldCAtIG5vbmUgb2YgdGhlc2Ugd2lsbCB3b3JrLCBpdCBpcyBhIHByaW1pdGl2ZSBwcm9wZXJ0
eSIpOwogc2hvdWxkQmUoImN1cnJlbnRWaWV3LnZpZXdUYXJnZXQgPSBzdmdFbGVtZW50IiwgInN2
Z0VsZW1lbnQiKTsKIHNob3VsZEJlTnVsbCgiY3VycmVudFZpZXcudmlld1RhcmdldCIpOwogCiAK
IGRlYnVnKCIiKTsKLWRlYnVnKCJUcnkgY2hhbmdpbmcgdmlld1RhcmdldFN0cmluZyIpOworZGVi
dWcoIlRyeSBjaGFuZ2luZyB2aWV3VGFyZ2V0U3RyaW5nIC0gbm9uZSBvZiB0aGVzZSB3aWxsIHdv
cmssIGl0IGlzIGEgcHJpbWl0aXZlIHByb3BlcnR5Iik7CiBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImN1cnJlbnRWaWV3LnZpZXdUYXJnZXRTdHJpbmcgPSAnI3Rlc3QnIiwgIiN0ZXN0Iik7CiBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnZpZXdUYXJnZXRTdHJpbmciLCAiIik7CiAK
IGRlYnVnKCIiKTsKLWRlYnVnKCJUcnkgY2hhbmdpbmcgdHJhbnNmb3JtIik7Ci1zaG91bGRUaHJv
dygiY3VycmVudFZpZXcudHJhbnNmb3JtLmNsZWFyKCkiKTsKK2RlYnVnKCJDaGFuZ2luZyB0cmFu
c2Zvcm0gLSB0aGlzIGhhcyBubyBhZmZlY3Qgb24gdGhlIFNWR1NWR0VsZW1lbnQgdGhlIHZpZXdT
cGVjIGJlbG9uZ3MgdG8gLSBpdCBpcyBhIGRldGFjaGVkIHByb3BlcnR5Iik7Cit2YXIgdHJhbnNm
b3JtID0gc3ZnRWxlbWVudC5jcmVhdGVTVkdUcmFuc2Zvcm0oKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygiY3VycmVudFZpZXcudHJhbnNmb3JtLmFwcGVuZEl0ZW0odHJhbnNmb3JtKS50b1N0cmlu
ZygpIiwgIltvYmplY3QgU1ZHVHJhbnNmb3JtXSIpOworc2hvdWxkQmUoImN1cnJlbnRWaWV3LnRy
YW5zZm9ybS5udW1iZXJPZkl0ZW1zIiwgIjEiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiY3Vy
cmVudFZpZXcudHJhbnNmb3JtU3RyaW5nIiwgIm1hdHJpeCgxIDAgMCAxIDAgMCkiKTsKK3Nob3Vs
ZEJlVW5kZWZpbmVkKGN1cnJlbnRWaWV3LnRyYW5zZm9ybS5jbGVhcigpKTsKIHNob3VsZEJlKCJj
dXJyZW50Vmlldy50cmFuc2Zvcm0ubnVtYmVyT2ZJdGVtcyIsICIwIik7CiAKK2RlYnVnKCIiKTsK
K2RlYnVnKCJUcnkgY2hhbmdpbmcgdHJhbnNmb3JtU3RyaW5nIC0gbm9uZSBvZiB0aGVzZSB3aWxs
IHdvcmssIGl0IGlzIGEgcHJpbWl0aXZlIHByb3BlcnR5Iik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoImN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmluZyA9ICdyb3RhdGUoOTApJyIsICJyb3RhdGUo
OTApIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmlu
ZyIsICIiKTsKKwogc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKIDwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9zdmcyLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N2Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKaW5kZXgg
NjNlZmFlZWEzMjcyYmFjMDU5YzI0MWE4ZjhkYzI4MTExNzEyMjY4Mi4uZTI1OWM2OWRhNTUzNzVl
YWIwNjVhMmQ1N2NmZjhmZWRiYjZmMmRmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2Rv
bS9zdmcyLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9t
L3N2ZzItaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CkBAIC05MSw3ICs5MSw3IEBAIFBBU1MgU1ZH
UGF0aFNlZ0xpc3QgaW5oZXJpdHMgT2JqZWN0CiBQQVNTIFNWR1BhdGhTZWdNb3ZldG9BYnMgaW5o
ZXJpdHMgU1ZHUGF0aFNlZwogUEFTUyBTVkdQYXRoU2VnTW92ZXRvUmVsIGluaGVyaXRzIFNWR1Bh
dGhTZWcKIFBBU1MgU1ZHUGF0dGVybkVsZW1lbnQgaW5oZXJpdHMgU1ZHRWxlbWVudAotUEFTUyBT
VkdQb2ludCBpbmhlcml0cyBPYmplY3QKK1BBU1MgU1ZHUG9pbnQgaW5oZXJpdHMgRE9NUG9pbnRS
ZWFkT25seQogUEFTUyBTVkdQb2ludExpc3QgaW5oZXJpdHMgT2JqZWN0CiBQQVNTIFNWR1BvbHln
b25FbGVtZW50IGluaGVyaXRzIFNWR0dlb21ldHJ5RWxlbWVudAogUEFTUyBTVkdQb2x5bGluZUVs
ZW1lbnQgaW5oZXJpdHMgU1ZHR2VvbWV0cnlFbGVtZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdmcvZG9tL3N2ZzItaW5oZXJpdGFuY2UuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9kb20vc3Zn
Mi1pbmhlcml0YW5jZS5odG1sCmluZGV4IDUxZWQxMWE2MjVjOGEyM2NhYjVkMDEyNTc2M2U3MTAx
ZDBhMDRiM2EuLjBjZTdjZjMwMGVlZGFkMmE5NzQ2N2Y5YTYyYjI0MzMyYjY1YmZiZDUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL3N2Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS5odG1sCkBAIC0xMTksNyArMTE5LDcg
QEAgY2hlY2tQYXJlbnQoIlNWR1BhdGhTZWdMaXN0IiwgIk9iamVjdCIpOwogY2hlY2tQYXJlbnQo
IlNWR1BhdGhTZWdNb3ZldG9BYnMiLCAiU1ZHUGF0aFNlZyIpOwogY2hlY2tQYXJlbnQoIlNWR1Bh
dGhTZWdNb3ZldG9SZWwiLCAiU1ZHUGF0aFNlZyIpOwogY2hlY2tQYXJlbnQoIlNWR1BhdHRlcm5F
bGVtZW50IiwgIlNWR0VsZW1lbnQiKTsKLWNoZWNrUGFyZW50KCJTVkdQb2ludCIsICJPYmplY3Qi
KTsKK2NoZWNrUGFyZW50KCJTVkdQb2ludCIsICJET01Qb2ludFJlYWRPbmx5Iik7CiBjaGVja1Bh
cmVudCgiU1ZHUG9pbnRMaXN0IiwgIk9iamVjdCIpOwogY2hlY2tQYXJlbnQoIlNWR1BvbHlnb25F
bGVtZW50IiwgIlNWR0dlb21ldHJ5RWxlbWVudCIpOwogY2hlY2tQYXJlbnQoIlNWR1BvbHlsaW5l
RWxlbWVudCIsICJTVkdHZW9tZXRyeUVsZW1lbnQiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380411</attachid>
            <date>2019-10-08 00:41:02 -0700</date>
            <delta_ts>2019-10-09 10:40:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191376-20191008004101.patch</filename>
            <type>text/plain</type>
            <size>160615</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWQzMGYxOTAyYmU3NWZl
YzYxNzIzZDhiOWM3MWQ0ZGY1ODBkMDM2Mi4uYjRhN2JkZTI4ZWE2MWNjMDk3OGY2NTUxNmQzOTFi
MzNmNDUyYjdjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1NyBAQAorMjAxOS0xMC0wOCAgU2Fp
ZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIFtTVkcy
XTogUmVtb3ZlIHRoZSBpbnRlcmZhY2UgU1ZHUG9pbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcGxhY2UgU1ZHUG9pbnQgYnkgRE9NUG9pbnQgaW4g
YWxsIHRoZSBTVkcgaW50ZXJmYWNlcy4gTWFrZSBTVkdQb2ludCBhbgorICAgICAgICBhbGlhcyB0
byBET01Qb2ludC4gQWRkIHRoZSByZXF1aXJlZCBmdW5jdGlvbnMgdG8gU1ZHUG9pbnRMaXN0IGJl
Y2F1c2UgaXQKKyAgICAgICAgbm93IGluaGVyaXRzIFNWR1Byb3BlcnR5TGlzdCBpbnN0ZWFkIG9m
IGluaGVyaXRpbmcgU1ZHVmFsdWVQcm9wZXJ0eUxpc3QuCisKKyAgICAgICAgKiBDTWFrZUxpc3Rz
LnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFNvdXJjZXMu
dHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKFNob3Vs
ZEdlbmVyYXRlVG9XcmFwcGVkKToKKyAgICAgICAgKiBkb20vRE9NUG9pbnQuaDoKKyAgICAgICAg
KiBkb20vRE9NUG9pbnQuaWRsOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUGF0aERhdGEu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6cGF0aEZyb21Qb2x5Z29uRWxlbWVudCk6CisgICAgICAg
IChXZWJDb3JlOjpwYXRoRnJvbVBvbHlsaW5lRWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR0dl
b21ldHJ5RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdHZW9tZXRyeUVsZW1lbnQ6
OmdldFBvaW50QXRMZW5ndGggY29uc3QpOgorICAgICAgICAqIHN2Zy9TVkdHZW9tZXRyeUVsZW1l
bnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmlkbDoKKyAgICAgICAgKiBz
dmcvU1ZHUGF0aEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aEVsZW1lbnQ6
OmdldFBvaW50QXRMZW5ndGggY29uc3QpOgorICAgICAgICAqIHN2Zy9TVkdQYXRoRWxlbWVudC5o
OgorICAgICAgICAqIHN2Zy9TVkdQb2ludC5oOiBSZW1vdmVkLgorICAgICAgICAqIHN2Zy9TVkdQ
b2ludC5pZGw6IFJlbW92ZWQuCisgICAgICAgICogc3ZnL1NWR1BvaW50TGlzdC5oOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUG9pbnRMaXN0OjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUG9pbnRMaXN0OjpyZXNpemUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUG9pbnRMaXN0Ojpw
YXJzZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2ludExpc3Q6OlNWR1BvaW50TGlzdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdQb2ludExpc3Q6OmNvcHlJdGVtcyk6CisgICAgICAgICogc3Zn
L1NWR1BvaW50TGlzdC5pZGw6CisgICAgICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6c2V0Q3VycmVudFRyYW5zbGF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdTVkdFbGVtZW50OjpjcmVhdGVTVkdQb2ludCk6CisgICAgICAgICog
c3ZnL1NWR1NWR0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5pZGw6Cisg
ICAgICAgICogc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldFN0YXJ0UG9zaXRpb25PZkNoYXIpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRFbmRQb3NpdGlvbk9mQ2hhcik6
CisgICAgICAgICogc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9T
VkdUZXh0Q29udGVudEVsZW1lbnQuaWRsOgorICAgICAgICAqIHN2Zy9TVkdab29tRXZlbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHWm9vbUV2ZW50OjpwcmV2aW91c1RyYW5zbGF0ZSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdab29tRXZlbnQ6Om5ld1RyYW5zbGF0ZSBjb25zdCk6
CisgICAgICAgICogc3ZnL1NWR1pvb21FdmVudC5oOgorICAgICAgICAqIHN2Zy9TVkdab29tRXZl
bnQuaWRsOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGlvbkFkZGl0aXZlTGlz
dEZ1bmN0aW9uSW1wbC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0aW9uUG9pbnRMaXN0
RnVuY3Rpb246OmFuaW1hdGUpOgorCisyMDE5LTEwLTA3ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNh
Ym91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBET01Qb2ludCBhIERPTUxpdmVP
YmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
MjQ3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNW
R1Byb3BlcnR5IGhhcyB0byBjb21lIGJhY2sgYmVjYXVzZSBET01Qb2ludCBpbmhlcml0cyBET01Q
b2ludFJlYWRPbmx5CisgICAgICAgIHdoaWNoIGlzIFJlZkNvdW50ZWQuIFNvIERPTUxpdmVQcm9w
ZXJ0eSBjYW4ndCBiZSBSZWZDb3VudGVkLiBPdGhlcndpc2UKKyAgICAgICAgRE9NUG9pbnQgd2ls
bCBtYWtlIGEgZGlhbW9uZCBpbmhlcml0YW5jZS4gU1ZHUHJvcGVydHkgd2lsbCBpbmhlcml0IAor
ICAgICAgICBET01MaXZlUHJvcGVydHkgYW5kIGl0IHdpbGwgYmUgUmVmQ291bnRlZC4KKworICAg
ICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9ET01MaXZl
UHJvcGVydHkuaDoKKyAgICAgICAgKiBkb20vRE9NUG9pbnQuaDogQWRkZWQuCisgICAgICAgICog
ZG9tL0RPTVBvaW50Lmg6CisgICAgICAgICogZG9tL0RPTVBvaW50LmlkbDoKKyAgICAgICAgKiBk
b20vRE9NUG9pbnRSZWFkT25seS5oOgorICAgICAgICAoV2ViQ29yZTo6RE9NUG9pbnRSZWFkT25s
eTo6eEZvckJpbmRpbmdzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVBvaW50UmVhZE9u
bHk6OnlGb3JCaW5kaW5ncyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpET01Qb2ludFJlYWRP
bmx5Ojp6Rm9yQmluZGluZ3MgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RE9NUG9pbnRSZWFk
T25seTo6d0ZvckJpbmRpbmdzIGNvbnN0KToKKyAgICAgICAgKiBkb20vRE9NUG9pbnRSZWFkT25s
eS5pZGw6CisgICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5jcHA6
CisgICAgICAgICogc3ZnL1NWR1BhdGhTZWcuaDoKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9T
VkdMaXN0Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHTWVtYmVyQWNjZXNzb3IuaDoK
KyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQcmltaXRpdmVQcm9wZXJ0eUFuaW1hdG9yLmg6
CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHkuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1Byb3BlcnR5Ojppc0F0dGFjaGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlNWR1Byb3BlcnR5OjphdHRhY2gpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUHJvcGVydHk6OmRldGFjaCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9w
ZXJ0eTo6Y29udGV4dEVsZW1lbnQgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUHJvcGVydHk6OmNvbW1pdENoYW5nZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpT
VkdQcm9wZXJ0eTo6YWNjZXNzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNW
R1Byb3BlcnR5Ojppc1JlYWRPbmx5IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlNWR1Byb3BlcnR5Ojppc0RpcnR5IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlNWR1Byb3BlcnR5OjpzZXREaXJ0eSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQ
cm9wZXJ0eTo6c3luY2hyb25pemUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJv
cGVydHk6OlNWR1Byb3BlcnR5KTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9T
VkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeS5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NW
R1NoYXJlZFByaW1pdGl2ZVByb3BlcnR5Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZH
VmFsdWVQcm9wZXJ0eS5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVy
dHlBbmltYXRvci5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlB
bmltYXRvckltcGwuaDoKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5
TGlzdEFuaW1hdG9yLmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0
eUxpc3RBbmltYXRvckltcGwuaDoKKworMjAxOS0xMC0wMSAgU2FpZCBBYm91LUhhbGxhd2EgIDxz
YWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIFJlcGxhY2UgU1ZHUHJvcGVydHkvU1ZH
UHJvcGVydHlPd25lciBieSBET01MaXZlUHJvcGVydHkvRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTc4Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMg
YSBzdGVwIHRvd2FyZHMgcmVwbGFjaW5nIFNWR1BvaW50IGJ5IERPTVBvaW50LgorCisgICAgICAg
IC0tIEFkZCBhIG5ldyBjbGFzcywgbmFtZWQgRE9NTGl2ZVByb3BlcnR5LiBJdHMgam9iIGlzIHRv
IGNvbW11bmljYXRlIHRoZQorICAgICAgICAgICBjaGFuZ2VzIGluIHRoaXMgb2JqZWN0IHRvIGl0
cyBvYnNlcnZlci4gVGhpcyBpcyByZXBsYWNpbmcgU1ZHUHJvcGVydHkuCisgICAgICAgICAgIERP
TVBvaW50IHdpbGwgYmUgbWFkZSBpbiBhIHN1cGVyIG9mIGl0IGFsc28gaW4gYSBmb2xsb3dpbmcg
cGF0Y2guCisKKyAgICAgICAgLS0gQWRkIGEgbmV3IGNsYXNzLCBuYW1lZCBET01MaXZlUHJvcGVy
dHlPYnNlcnZlciBhbmQgbWFrZSBpdCB0aGUgYmFzZQorICAgICAgICAgICBjbGFzcyBvZiBET01M
aXZlUHJvcGVydHkgb2JzZXJ2ZXJzLiBDdXJyZW50bHkgdGhlIGZvbGxvd2luZyBjbGFzcyBhcmUK
KyAgICAgICAgICAgbWFkZSBzdXBlciBjbGFzc2VzIG9mIERPTUxpdmVQcm9wZXJ0eU9ic2VydmVy
OgorICAgICAgICAgICAxLiBTVkdFbGVtZW50OiBUaGlzIG9ic2VydmVzIHRoZSBjaGFuZ2VzIGlu
IGFsbCB0aGUgU1ZHIHByb3BlcnRpZXMuCisgICAgICAgICAgIDIuIFNWR0FuaW1hdGVkUHJvcGVy
dHk6IFRoaXMgb2JzZXJ2ZXMgdGhlIGNoYW5nZXMgaW4gaXRzIGJhc2VWYWwuCisgICAgICAgICAg
IDMuIFNWR1Byb3BlcnR5TGlzdDogVGhpcyBvYnNlcnZlcyB0aGUgY2hhbmdlcyBpbiB0aGUgaXRl
bXMuCisgICAgICAgICAgIDQuIFNWR1RyYW5zZm9ybTogVGhpcyBvYnNlcnZlcyB0aGUgY2hhbmdl
cyBpbiB0aGUgdW5kZXJseWluZyBTVkdNYXRyaXguCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtl
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBkb20vRE9NTGl2ZVByb3BlcnR5Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2
ZVByb3BlcnR5Ojppc0F0dGFjaGVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTUxpdmVQ
cm9wZXJ0eTo6b2JzZXJ2ZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2ZVByb3Bl
cnR5OjphdHRhY2gpOgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2ZVByb3BlcnR5OjpkZXRhY2gp
OgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2ZVByb3BlcnR5OjpzdmdDb250ZXh0RWxlbWVudCBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpET01MaXZlUHJvcGVydHk6OmlzUmVhZE9ubHkgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2ZVByb3BlcnR5Ojpjb21taXRDaGFuZ2UpOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NTGl2ZVByb3BlcnR5Ojp2YWx1ZUFzU3RyaW5nIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkRPTUxpdmVQcm9wZXJ0eTo6RE9NTGl2ZVByb3BlcnR5KToKKyAg
ICAgICAgKiBkb20vRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpET01MaXZlUHJvcGVydHlPYnNlcnZlcjo6b2JzZXJ2ZXIgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXI6OnByb3BlcnR5U1ZHQ29udGV4dEVs
ZW1lbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXI6
OmlzUHJvcGVydHlSZWFkT25seSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpET01MaXZlUHJv
cGVydHlPYnNlcnZlcjo6Y29tbWl0UHJvcGVydHlDaGFuZ2UpOgorICAgICAgICAqIHN2Zy9TVkdB
bmdsZS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5nbGU6OmNyZWF0ZSk6CisgICAgICAgICog
c3ZnL1NWR0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6Y29tbWl0
UHJvcGVydHlDaGFuZ2UpOgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50Lmg6CisgICAgICAgICog
c3ZnL1NWR0xlbmd0aC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjp2YWx1ZUZvckJpbmRpbmdzKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0xlbmd0aDo6c2V0VmFsdWVGb3JCaW5kaW5ncyk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdMZW5ndGg6OmNvbnZlcnRUb1NwZWNpZmllZFVuaXRzKToKKyAgICAgICAgKiBzdmcv
U1ZHTGVuZ3RoTGlzdC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoTGlzdDo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0aExpc3Q6OlNWR0xlbmd0aExpc3QpOgorICAg
ICAgICAqIHN2Zy9TVkdNYXRyaXguaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR01hdHJpeDo6Y3Jl
YXRlKToKKyAgICAgICAgKiBzdmcvU1ZHTnVtYmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdO
dW1iZXI6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR051bWJlckxpc3QuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR051bWJlckxpc3Q6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1BhdGhT
ZWcuaDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0aFNlZ0xpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZH
UG9pbnRMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2ludExpc3Q6OmNyZWF0ZSk6Cisg
ICAgICAgICogc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1JlY3Qu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlY3Q6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NW
R1N0cmluZ0xpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHVHJhbnNmb3JtLmg6CisgICAgICAgICog
c3ZnL1NWR1RyYW5zZm9ybUxpc3QuaDoKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmlt
YXRlZFByb3BlcnR5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJvcGVydHk6
Om9ic2VydmVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJvcGVydHk6
OmNvbW1pdFByb3BlcnR5Q2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJv
cGVydHk6Om93bmVyIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9T
VkdBbmltYXRlZFByb3BlcnR5Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFByb3Bl
cnR5Ojp2YWx1ZUFzU3RyaW5nIGNvbnN0KToKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdB
bmltYXRlZFByb3BlcnR5TGlzdC5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1h
dGVkUHJvcGVydHlQYWlyQWNjZXNzb3JJbXBsLmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMv
U1ZHQW5pbWF0ZWRWYWx1ZVByb3BlcnR5Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZH
TGlzdC5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR01lbWJlckFjY2Vzc29yLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdNZW1iZXJBY2Nlc3Nvcjo6bWF0Y2hlcyBjb25zdCk6CisgICAg
ICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHUG9pbnRlck1lbWJlckFjY2Vzc29yLmg6CisgICAgICAg
ICogc3ZnL3Byb3BlcnRpZXMvU1ZHUHJpbWl0aXZlUHJvcGVydHlBbmltYXRvci5oOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUHJpbWl0aXZlUHJvcGVydHlBbmltYXRvcjo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1ByaW1pdGl2ZVByb3BlcnR5QW5pbWF0b3I6OlNWR1ByaW1pdGl2ZVBy
b3BlcnR5QW5pbWF0b3IpOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5Lmg6
IFJlbW92ZWQuCisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlBY2Nlc3Nvci5o
OgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5Lmg6
CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlQ29s
b3JBbmltYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9y
eTo6Y3JlYXRlTGVuZ3RoQW5pbWF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlB
bmltYXRvckZhY3Rvcnk6OmNyZWF0ZUxlbmd0aExpc3RBbmltYXRvcik6CisgICAgICAgIChXZWJD
b3JlOjpTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlTnVtYmVyQW5pbWF0b3IpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKToKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eUxpc3QuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5TGlzdDo6U1ZHUHJvcGVydHlMaXN0KToKKyAg
ICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eU93bmVyLmg6IFJlbW92ZWQuCisgICAg
ICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5Lmg6CisgICAgICAg
ICogc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlSZWdpc3RyeS5oOgorICAgICAgICAqIHN2Zy9w
cm9wZXJ0aWVzL1NWR1NoYXJlZFByaW1pdGl2ZVByb3BlcnR5Lmg6CisgICAgICAgICogc3ZnL3By
b3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmFsdWVQ
cm9wZXJ0eTo6U1ZHVmFsdWVQcm9wZXJ0eSk6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZH
VmFsdWVQcm9wZXJ0eUFuaW1hdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdWYWx1ZVByb3Bl
cnR5QW5pbWF0b3I6OlNWR1ZhbHVlUHJvcGVydHlBbmltYXRvcik6CisgICAgICAgICogc3ZnL3By
b3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eUFuaW1hdG9ySW1wbC5oOgorICAgICAgICAqIHN2Zy9w
cm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdW
YWx1ZVByb3BlcnR5TGlzdDo6U1ZHVmFsdWVQcm9wZXJ0eUxpc3QpOgorICAgICAgICAqIHN2Zy9w
cm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlMaXN0QW5pbWF0b3IuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1ZhbHVlUHJvcGVydHlMaXN0QW5pbWF0b3I6OlNWR1ZhbHVlUHJvcGVydHlMaXN0QW5p
bWF0b3IpOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlMaXN0QW5p
bWF0b3JJbXBsLmg6CisKKzIwMTktMTAtMDEgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxs
YXdhQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgU1ZHUHJvcGVydHlTdGF0ZSBmcm9tIFNW
R1Byb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDI0MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGlzIGlzIGEgc3RlcCB0b3dhcmRzIHJlcGxhY2luZyBTVkdQb2ludCBieSBET01Qb2ludC4K
KworICAgICAgICBTVkdQcm9wZXJ0eSBrZWVwcyBhIG1lbWJlciBvZiB0eXBlIFNWR1Byb3BlcnR5
U3RhdGUgd2hpY2ggdGVsbHMgd2hldGhlcgorICAgICAgICBpdCBuZWVkcyB0byBiZSByZS1zZXJp
YWxpemVkIHRvIGl0cyBhdHRyaWJ1dGUgb3Igbm90LiBCdXQgdGhlIGRpcnR5IHN0YXRlCisgICAg
ICAgIGlzIG9ubHkgc2V0IGluIFNWR0VsZW1lbnQ6OmNvbW1pdFByb3BlcnR5Q2hhbmdlKCkuCisK
KyAgICAgICAgU28gaW5zdGVhZCBvZiBoYXZpbmcgU1ZHRWxlbWVudCBzZW5kcyB0aGlzIGNoYW5n
ZSBiYWNrIHRvIHRoZSBwcm9wZXJ0eSwKKyAgICAgICAgd2UgYXJlIGdvaW5nIHRvIGtlZXAgYSBI
YXNoU2V0PFF1YWxpZmllZE5hbWU+IGluIFNWR0VsZW1lbnQgdG8gdGVsbCB3aGljaAorICAgICAg
ICBhdHRyaWJ1dGVzIG5lZWQgdG8gYmUgcmUtc2VyaWFsaXplZC4gQW5kIGluc3RlYWQgb2YgY2Fs
bGluZyB0aGUgdmlydHVhbAorICAgICAgICBtZXRob2Qgc3luY2hyb25pemUoKSB3aGljaCB3YXMg
cmV0dXJuaW5nIE9wdGlvbmFsPFN0cmluZz4sIHdlIGFyZSBnb2luZworICAgICAgICB0byBjYWxs
IHRoZSB2aXJ0dWFsIG1ldGhvZCB2YWx1ZUFzU3RyaW5nKCkgd2hpY2ggcmV0dXJucyBhIFN0cmlu
Zy4KKworICAgICAgICAqIHN2Zy9TVkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0VsZW1lbnQ6OnN5bmNocm9uaXplQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0Vs
ZW1lbnQ6OnN5bmNocm9uaXplQWxsQXR0cmlidXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdF
bGVtZW50Ojpjb21taXRQcm9wZXJ0eUNoYW5nZSk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQu
aDoKKyAgICAgICAgKiBzdmcvU1ZHTGVuZ3RoLmg6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aExp
c3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFs
dWU+Ojppbml0aWFsVmFsdWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVy
dHlUcmFpdHM8U1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlPjo6ZnJvbVN0cmluZyk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdQcmVzZXJ2ZUFzcGVj
dFJhdGlvVmFsdWU+OjpwYXJzZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9w
ZXJ0eVRyYWl0czxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU+Ojp0b1N0cmluZyk6IERlbGV0
ZWQuCisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWREZWNvcmF0ZWRQcm9wZXJ0
eS5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJpbWl0aXZlUHJvcGVy
dHkuaDoKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFByb3BlcnR5Ojp2YWx1ZUFzU3RyaW5nIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJvcGVydHk6OmlzRGlydHkgY29uc3Qp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6c2V0RGly
dHkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6c3lu
Y2hyb25pemUpOiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVk
UHJvcGVydHlMaXN0Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9w
ZXJ0eVBhaXJBY2Nlc3NvckltcGwuaDoKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmlt
YXRlZFZhbHVlUHJvcGVydHkuaDoKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdNZW1iZXJB
Y2Nlc3Nvci5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTWVtYmVyQWNjZXNzb3I6OnZhbHVlQXNT
dHJpbmcgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTWVtYmVyQWNjZXNzb3I6OnN5bmNo
cm9uaXplIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQb2lu
dGVyTWVtYmVyQWNjZXNzb3IuaDoKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0
eS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHk6OmF0dGFjaCk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdQcm9wZXJ0eTo6ZGV0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3Bl
cnR5Ojppc0RpcnR5IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3Bl
cnR5OjpzZXREaXJ0eSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6
c3luY2hyb25pemUpOiBEZWxldGVkLgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3Bl
cnR5T3duZXJSZWdpc3RyeS5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5
UmVnaXN0cnkuaDoKKworMjAxOS0xMC0wMSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxh
d2FAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBTVkdQcm9wZXJ0eUFjY2VzcyBmcm9tIFNW
R1Byb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDI0MTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGlzIGlzIGEgc3RlcCB0b3dhcmRzIHJlcGxhY2luZyBTVkdQb2ludCBieSBET01Qb2ludC4K
KworICAgICAgICBBbiBTVkdQcm9wZXJ0eSBpcyByZWFkLW9ubHkgaWYgaXQgb3IgaXRzIG93bmVy
IGlzIHRoZSBhbmltVmFsIG9mIGFuCisgICAgICAgIFNWR0FuaW1hdGVkUHJvcGVydHkgb3IgU1ZH
QW5pbWF0ZWRQcm9wZXJ0eUxpc3QuIEluIHRoaXMgY2FzZSBhbGwgYXR0ZW1wdHMKKyAgICAgICAg
dG8gY2hhbmdlIGl0IHRocm91Z2ggSmF2YVNjcmlwdCBzaG91bGQgdGhyb3cgZXhwZWN0aW9ucy4K
KworICAgICAgICBTbyBpbnN0ZWFkIG9mIGtlZXBpbmcgYSBtZW1iZXIgb2YgU1ZHUHJvcGVydHlB
Y2Nlc3MgaW4gZWFjaCBTVkdQcm9wZXJ0eSwKKyAgICAgICAgd2UgY2FuIHdhbGsgdGhyb3VnaCB0
aGUgU1ZHUHJvcGVydHlPd25lciBjaGFpbiB0aWxsIHdlIHJlYWNoIGFuIG93bmVyIG9mCisgICAg
ICAgIHR5cGUgU1ZHQW5pbWF0ZWRQcm9wZXJ0eSBvciBTVkdBbmltYXRlZFByb3BlcnR5TGlzdC4g
VGhpcyBvd25lciBjb21wYXJlcworICAgICAgICB0aGUgcHJvcGVydHkgdG8gYmUgbW9kaWZpZWQg
d2l0aCBpdHMgYW5pbVZhbC4gQW5kIGlmIHRoZXkgYXJlIHRoZSBzYW1lLAorICAgICAgICBpdCB3
aWxsIHJldHVybiAndHJ1ZScgdGhyb3VnaCBpdHMgdmlydHVhbCBtZXRob2QgaXNQcm9wZXJ0eVJl
YWRPbmx5KCkuCisKKyAgICAgICAgKiBzdmcvU1ZHQW5nbGUuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0FuZ2xlOjpjcmVhdGUpOgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50Lmg6CisgICAgICAg
ICogc3ZnL1NWR0xlbmd0aC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpjcmVhdGUp
OgorICAgICAgICAqIHN2Zy9TVkdMZW5ndGhMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdM
ZW5ndGhMaXN0OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoTGlzdDo6U1ZH
TGVuZ3RoTGlzdCk6CisgICAgICAgICogc3ZnL1NWR01hdHJpeC5oOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHTWF0cml4OjpjcmVhdGUpOgorICAgICAgICAqIHN2Zy9TVkdOdW1iZXIuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR051bWJlcjo6Y3JlYXRlKToKKyAgICAgICAgKiBzdmcvU1ZHTnVtYmVy
TGlzdC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTnVtYmVyTGlzdDo6Y3JlYXRlKToKKyAgICAg
ICAgKiBzdmcvU1ZHUGF0aFNlZ0xpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHUG9pbnRMaXN0Lmg6
CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2ludExpc3Q6OmNyZWF0ZSk6CisgICAgICAgICogc3Zn
L1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ByZXNlcnZl
QXNwZWN0UmF0aW86OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1JlY3QuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1JlY3Q6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1RyYW5zZm9ybS5o
OgorICAgICAgICAqIHN2Zy9TVkdUcmFuc2Zvcm1MaXN0Lmg6CisgICAgICAgICogc3ZnL3Byb3Bl
cnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0Fu
aW1hdGVkUHJvcGVydHlMaXN0OjpTVkdBbmltYXRlZFByb3BlcnR5TGlzdCk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdBbmltYXRlZFByb3BlcnR5TGlzdDo6ZW5zdXJlQW5pbVZhbCk6CisgICAgICAg
ICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRWYWx1ZVByb3BlcnR5Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdBbmltYXRlZFZhbHVlUHJvcGVydHk6OlNWR0FuaW1hdGVkVmFsdWVQcm9wZXJ0
eSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFZhbHVlUHJvcGVydHk6OmVuc3VyZUFu
aW1WYWwpOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5Lmg6CisgICAgICAg
IChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6YXR0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1By
b3BlcnR5OjpkZXRhY2gpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHk6OmNvbnRleHRF
bGVtZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5Ojppc1JlYWRPbmx5
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5OjpTVkdQcm9wZXJ0eSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6YWNjZXNzIGNvbnN0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eUxpc3QuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1Byb3BlcnR5TGlzdDo6U1ZHUHJvcGVydHlMaXN0KToKKyAgICAgICAgKiBzdmcvcHJv
cGVydGllcy9TVkdQcm9wZXJ0eU93bmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0
eU93bmVyOjppc1Byb3BlcnR5UmVhZE9ubHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UHJvcGVydHlPd25lcjo6cHJvcGVydHlDb250ZXh0RWxlbWVudCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdQcm9wZXJ0eU93bmVyOjphdHRyaWJ1dGVDb250ZXh0RWxlbWVudCBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eS5oOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHVmFsdWVQcm9wZXJ0eTo6U1ZHVmFsdWVQcm9wZXJ0eSk6Cisg
ICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eUxpc3QuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1ZhbHVlUHJvcGVydHlMaXN0OjpTVkdWYWx1ZVByb3BlcnR5TGlzdCk6CisK
KzIwMTktMTAtMDEgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4K
KworICAgICAgICBNYWtlIHRoZSBTVkcgcHJvcGVydGllcyBvZiBTVkdWaWV3U3BlYyBtb2RpZmlh
YmxlIGJ1dCBkZXRhY2hlZCBwcm9wZXJ0aWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUbyBmYWNpbGl0YXRlIGFjY2Vzc2luZyB0aGUgU1ZHUHJvcGVy
dGllcywgbWFrZSBhbGwgdGhlIHByb3BlcnRpZXMgb2YKKyAgICAgICAgU1ZHVmlld1NwZWMgbW9k
aWZpYWJsZSBidXQgZGV0YWNoZWQgcHJvcGVydGllcy4gVGhpcyB3aWxsIGJlIGluIGNvbXBsaWFu
Y2UKKyAgICAgICAgd2l0aCB0aGUgc3BlY3M6IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9TVkcxMS90
eXBlcy5odG1sI0ludGVyZmFjZVNWR1ZpZXdTcGVjLgorCisgICAgICAgICogc3ZnL1NWR0ZpdFRv
Vmlld0JveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaXRUb1ZpZXdCb3g6OlNWR0ZpdFRv
Vmlld0JveCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlVmlld0Jv
eCk6CisgICAgICAgICogc3ZnL1NWR0ZpdFRvVmlld0JveC5oOgorICAgICAgICAqIHN2Zy9TVkdW
aWV3U3BlYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdWaWV3U3BlYzo6U1ZHVmlld1NwZWMp
OgorICAgICAgICAqIHN2Zy9TVkdWaWV3U3BlYy5oOgorCiAyMDE5LTEwLTA3ICBSb3NzIEtpcnNs
aW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIFdpbkNh
aXJvIGJ1aWxkIGZpeCBmb3IgcjI1MDc1OC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDc3
MDI1YzIyMzM2MWQyYTFmZjU0YjliYWQ3N2JiZjdkNzVhMGIxNWUuLjVlMTkzNmRiNjZlNjg4ZGNl
MzNjYmViMGU2YmU3NGVlOWQ3NDg3YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEyIEBACisyMDE5LTEwLTA4ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBh
cHBsZS5jb20+CisKKyAgICAgICAgW1NWRzJdOiBSZW1vdmUgdGhlIGludGVyZmFjZSBTVkdQb2lu
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxMzc2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL01vZGVscy9OYXRpdmVGdW5jdGlvblBhcmFtZXRlcnMuanM6CisKIDIwMTktMTAt
MDIgIE5pa2l0YSBWYXNpbHlldiAgPG52YXNpbHlldkBhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogU3R5bGVzOiBmb3IgcnVsZXMgdGhhdCBkb24ndCBtYXRjaCBzZWxlY3RlZCBu
b2RlLCBwcm9wZXJ0eSB2YWx1ZXMgYWx3YXlzIHNob3cgYXMgaW52YWxpZApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAppbmRleCA4MjYyYmU2OGM4MjQwOGJmNzE1NmExYzgxZmRkN2I2MmZiNGI1YzFjLi44OTBk
M2Q5NTYzNjYyOWYzNDY4YWVmZTZjOTUwYjcyZjNhZGE2MDMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dApAQCAtMTExMyw3ICsxMTEzLDYgQEAgc2V0KFdlYkNvcmVfU1ZHX0lETF9GSUxFUwogICAgIHN2
Zy9TVkdQYXRoU2VnTW92ZXRvQWJzLmlkbAogICAgIHN2Zy9TVkdQYXRoU2VnTW92ZXRvUmVsLmlk
bAogICAgIHN2Zy9TVkdQYXR0ZXJuRWxlbWVudC5pZGwKLSAgICBzdmcvU1ZHUG9pbnQuaWRsCiAg
ICAgc3ZnL1NWR1BvaW50TGlzdC5pZGwKICAgICBzdmcvU1ZHUG9seWdvbkVsZW1lbnQuaWRsCiAg
ICAgc3ZnL1NWR1BvbHlsaW5lRWxlbWVudC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CmluZGV4IDI4NDBlZmQ2ZmFlNjk0MDc5YzFjMDE0YzMzYmEwMTUwMGYzMjk4N2MuLjY4MzMwNjU1
Njc1MTE3MDIxYmUwM2U2ODgxOTVhYjkzYzFjN2MzNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQpAQCAtMTAyMiw3ICsxMDIyLDYgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQo
V2ViQ29yZSkvc3ZnL1NWR1BhdGhTZWdNb3ZldG9BYnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL3N2
Zy9TVkdQYXRoU2VnTW92ZXRvUmVsLmlkbCBcCiAgICAgJChXZWJDb3JlKS9zdmcvU1ZHUGF0dGVy
bkVsZW1lbnQuaWRsIFwKLSAgICAkKFdlYkNvcmUpL3N2Zy9TVkdQb2ludC5pZGwgXAogICAgICQo
V2ViQ29yZSkvc3ZnL1NWR1BvaW50TGlzdC5pZGwgXAogICAgICQoV2ViQ29yZSkvc3ZnL1NWR1Bv
bHlnb25FbGVtZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9zdmcvU1ZHUG9seWxpbmVFbGVtZW50
LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNl
L1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCA1YjJmNTNiNTZkN2NhYjVmNjg5ZTZlMGMzODk1
MzYyMmM1NTU3MDM5Li5iZDU2NTA5MDQ0MWM4ZWMyODkxZTNlNTIyNzllMTY1YjdiNzg4NTU1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0hlYWRlcnMuY21ha2UKQEAgLTM2MCw2ICszNjAsOCBAQCBzZXQoV2ViQ29yZV9QUklWQVRF
X0ZSQU1FV09SS19IRUFERVJTCiAgICAgZG9tL0RPTUV4Y2VwdGlvbi5oCiAgICAgZG9tL0RPTUhp
Z2hSZXNUaW1lU3RhbXAuaAogICAgIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5oCisgICAgZG9tL0RP
TUxpdmVQcm9wZXJ0eS5oCisgICAgZG9tL0RPTUxpdmVQcm9wZXJ0eU9ic2VydmVyLmgKICAgICBk
b20vRE9NUGFzdGVBY2Nlc3MuaAogICAgIGRvbS9ET01SZWN0LmgKICAgICBkb20vRE9NUmVjdElu
aXQuaApAQCAtMTM5MSw3ICsxMzkzLDYgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktf
SEVBREVSUwogICAgIHN2Zy9wcm9wZXJ0aWVzL1NWR0xpc3QuaAogICAgIHN2Zy9wcm9wZXJ0aWVz
L1NWR1ByaW1pdGl2ZUxpc3QuaAogICAgIHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5LmgKLSAg
ICBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eU93bmVyLmgKICAgICBzdmcvcHJvcGVydGllcy9T
VkdQcm9wZXJ0eVRyYWl0cy5oCiAKICAgICB0ZXN0aW5nL01vY2tHYW1lcGFkLmgKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQKaW5kZXggNGE4MTA5MjRkZTc0MzJmZmZlNjEyY2Y1ZWRkNmQxZmFiNjEzNTcyNy4uYmM2NDdl
ODAzNWIyM2EyYzFjZDJkMGU4NzhjZjA0M2VjY2RjZThhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTg0
MCw2ICs4NDAsNyBAQCBkb20vQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmNwcAogZG9tL0N1c3RvbUV2
ZW50LmNwcAogZG9tL0RPTUV4Y2VwdGlvbi5jcHAKIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAK
K2RvbS9ET01Qb2ludC5jcHAKIGRvbS9ET01Qb2ludFJlYWRPbmx5LmNwcAogZG9tL0RPTVF1YWQu
Y3BwCiBkb20vRE9NUmVjdExpc3QuY3BwCkBAIC0zMjkwLDcgKzMyOTEsNiBAQCBKU1NWR1BhdGhT
ZWdMaXN0LmNwcAogSlNTVkdQYXRoU2VnTW92ZXRvQWJzLmNwcAogSlNTVkdQYXRoU2VnTW92ZXRv
UmVsLmNwcAogSlNTVkdQYXR0ZXJuRWxlbWVudC5jcHAKLUpTU1ZHUG9pbnQuY3BwCiBKU1NWR1Bv
aW50TGlzdC5jcHAKIEpTU1ZHUG9seWdvbkVsZW1lbnQuY3BwCiBKU1NWR1BvbHlsaW5lRWxlbWVu
dC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCA4M2M5ZWM3ZDhmZTA0NjNkMDUxZDUwZmU3NjljMzk5ODY2NzE1OTNmLi41N2Qx
ZjYwOWQ2MWQ1ZWU2OTBmYWY4NDY0NWQxOWUzNzA4YTA4MzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMDg4LDEyICsyMDg4
LDEzIEBACiAJCTcxRUZDRURDMjAyQjM4QTkwMEQ3QzQxMSAvKiBBbmltYXRpb25FZmZlY3QuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxRUZDRUQ3MjAy
QjM4OEQwMEQ3QzQxMSAvKiBBbmltYXRpb25FZmZlY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3MjE0NDMzMTIyM0VDODU0MDBGMTJGRjcgLyog
KG51bGwpIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcyMTQ0MzMyMjIzRUM4NUYwMEYxMkZG
NyAvKiAobnVsbCkgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNzIxNDQzMzMyMjNFQzhCMDAw
RjEyRkY3IC8qIFNWR1Byb3BlcnR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1NUVFNTM2MzIyM0IyQTI0MDBGQkE5NDQgLyogU1ZHUHJvcGVydHkuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk3MjE0NDMz
NDIyM0VDOTE2MDBGMTJGRjcgLyogU1ZHUHJvcGVydHlPd25lci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTVFRTUzNjAyMjNCMkEyMTAwRkJBOTQ0IC8q
IFNWR1Byb3BlcnR5T3duZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk3MjI4M0YwRTIzMEIyNjhDMDBGNUQ4MjggLyogSW1hZ2VQYWludGluZ09w
dGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcy
QzE4QTNGMjMwQjA0QjcwMDY4NDdDNyAvKiBJbWFnZVBhaW50aW5nT3B0aW9ucy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcyNEVEMzMyMUEzQThC
MjMwMEY1RjEzQyAvKiBKU0VYVEJsZW5kTWluTWF4LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MjRFRDMzMDFBM0E4QjIzMDBGNUYxM0MgLyogSlNFWFRC
bGVuZE1pbk1heC5oICovOyB9OwogCQk3MjRFRTU1MDFEQzgwRDdGMDBBOTFGRkIgLyogQWN0aXZp
dHlTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NzI0RUU1NEUxREM3RjI1QjAwQTkxRkZCIC8qIEFjdGl2aXR5U3RhdGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3MjRFRTU1MTFEQzgwRDg0MDBB
OTFGRkIgLyogQWN0aXZpdHlTdGF0ZUNoYW5nZU9ic2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MjRFRTU0RjFEQzdGMjVCMDBBOTFGRkIgLyog
QWN0aXZpdHlTdGF0ZUNoYW5nZU9ic2VydmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzI4MzE1QzEyMzQ0NDAxNTAwMDdEMjc3IC8qIERPTUxp
dmVQcm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNzI4MzE1QzAyMzQ0MjI5MjAwMDdEMjc3IC8qIERPTUxpdmVQcm9wZXJ0eS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTcyODMxNUMyMjM0NDQw
MjIwMDA3RDI3NyAvKiBET01MaXZlUHJvcGVydHlPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzI4MzE1QkUyMzQ0MjI5MTAwMDdEMjc3IC8q
IERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzI4MzE1QzcyMzQ1MTgyMzAwMDdEMjc3IC8qIFNWR1Byb3Bl
cnR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Mjgz
MTVDNTIzNDUwRkMyMDAwN0QyNzcgLyogU1ZHUHJvcGVydHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3NTUzQ0ZFODEwOEY0NzNGMDBFQTI4MUUg
LyogVGltZWxpbmVSZWNvcmRGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3NTUzQ0ZFNjEwOEY0NzNGMDBFQTI4MUUgLyogVGltZWxpbmVSZWNv
cmRGYWN0b3J5LmggKi87IH07CiAJCTc1NzkzRTg0MEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNzYWdl
RXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1
NzkzRTgxMEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNzYWdlRXZlbnQuaCAqLzsgfTsKIAkJNzU3OTNF
QzkwRDBDRTcyRDAwN0ZDMEFDIC8qIEpTTWVzc2FnZUV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NTc5M0VDNzBEMENFNzJEMDA3RkMwQUMgLyog
SlNNZXNzYWdlRXZlbnQuaCAqLzsgfTsKQEAgLTIzMDgsNyArMjMwOSw2IEBACiAJCTdDRTE5MTc3
MUYyQUJFNzEwMDI3MkY3OCAvKiBKU0ZldGNoUmVxdWVzdEluaXQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRTE5MTY5MUYyQUI3MDUwMDI3MkY3OCAv
KiBKU0ZldGNoUmVxdWVzdEluaXQuaCAqLzsgfTsKIAkJN0NFMTkxNzkxRjJBQkU3MTAwMjcyRjc4
IC8qIEpTRmV0Y2hSZXF1ZXN0TW9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0NFMTkxNkMxRjJBQjcwQTAwMjcyRjc4IC8qIEpTRmV0Y2hSZXF1ZXN0
TW9kZS5oICovOyB9OwogCQk3Q0UxOTE3QjFGMkFCRTcxMDAyNzJGNzggLyogSlNGZXRjaFJlcXVl
c3RSZWRpcmVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0NFMTkxNkExRjJBQjcwNjAwMjcyRjc4IC8qIEpTRmV0Y2hSZXF1ZXN0UmVkaXJlY3QuaCAq
LzsgfTsKLQkJN0NFNThENEExREQ2NEE1QjAwMTI4NTUyIC8qIFNWR1BvaW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0U1OEQ0OTFERDY0QTVCMDAx
Mjg1NTIgLyogU1ZHUG9pbnQuaCAqLzsgfTsKIAkJN0NFNThENTAxREQ2OUExRTAwMTI4NTUyIC8q
IFNWR051bWJlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0NFNThENEYxREQ2OUExRTAwMTI4NTUyIC8qIFNWR051bWJlci5oICovOyB9OwogCQk3Q0U1
OEQ1ODFERDdEOTZEMDAxMjg1NTIgLyogU1ZHVHJhbnNmb3JtVmFsdWUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRTU4RDU2MUREN0Q5NkQwMDEyODU1
MiAvKiBTVkdUcmFuc2Zvcm1WYWx1ZS5oICovOyB9OwogCQk3Q0U2ODM0NDE5MjE0M0E4MDBGNEQ5
MjggLyogVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0U2ODM0MjE5MjE0M0E4MDBGNEQ5MjggLyog
VXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5jcHAgKi87IH07CkBAIC04NTczLDEwICs4NTcz
LDggQEAKIAkJNTVFRTUzNUQyMjNCMkEwRDAwRkJBOTQ0IC8qIFNWR0FuaW1hdGVkUHJvcGVydHlQ
YWlyQWNjZXNzb3JJbXBsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0Fu
aW1hdGVkUHJvcGVydHlQYWlyQWNjZXNzb3JJbXBsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTU1RUU1MzVFMjIzQjJBMEUwMEZCQTk0NCAvKiBTVkdBbmltYXRpb25BZGRpdGl2ZVZh
bHVlRnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0
aW9uQWRkaXRpdmVWYWx1ZUZ1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTU1RUU1MzVGMjIzQjJBMEYwMEZCQTk0NCAvKiBTVkdBbmltYXRlZFByb3BlcnR5UGFpckFuaW1h
dG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0FuaW1hdGVkUHJvcGVy
dHlQYWlyQW5pbWF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTVFRTUzNjAy
MjNCMkEyMTAwRkJBOTQ0IC8qIFNWR1Byb3BlcnR5T3duZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU1ZHUHJvcGVydHlPd25lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1NUVFNTM2MTIyM0IyQTIyMDBGQkE5NDQgLyogU1ZHQXR0cmlidXRlQW5pbWF0b3Iu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHQXR0cmlidXRlQW5p
bWF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NUVFNTM2MjIyM0IyQTIz
MDBGQkE5NDQgLyogU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTVkdBbmltYXRlZFByb3BlcnR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTU1RUU1MzYzMjIzQjJBMjQwMEZCQTk0NCAvKiBTVkdQcm9wZXJ0eS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQcm9wZXJ0eS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1NUVFNTM2NDIyM0IyQTI0MDBGQkE5NDQgLyogU1ZHQXR0cmlidXRlQW5p
bWF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQXR0cmlidXRlQW5p
bWF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTVGQTdGRkEyMTEwRUNENzAw
NUFFRkU3IC8qIFNWR1pvb21BbmRQYW5UeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1pvb21BbmRQ
YW5UeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3MDQ0MDU3MUU1Mzg1MTYw
MDM1NjYwMSAvKiBDcnlwdG9BbGdvcml0aG1BRVNfQ0ZCTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENyeXB0b0FsZ29yaXRobUFFU19DRkJNYWMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTQ1OSw2ICs5NDU3LDEwIEBACiAJCTcyN0FGRUQx
MUEyRUE2QTAwMDA0NDJFOCAvKiBFWFRzUkdCLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEVYVHNSR0IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
MjdBRkVEMjFBMkVBNkEwMDAwNDQyRTggLyogRVhUc1JHQi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBFWFRzUkdCLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcy
N0FGRUQzMUEyRUE2QTAwMDA0NDJFOCAvKiBFWFRzUkdCLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBFWFRzUkdCLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzI4MzE1QkUy
MzQ0MjI5MTAwMDdEMjc3IC8qIERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTcyODMxNUMwMjM0NDIyOTIwMDA3RDI3NyAvKiBET01MaXZl
UHJvcGVydHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NTGl2ZVByb3Bl
cnR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcyODMxNUM1MjM0NTBGQzIwMDA3
RDI3NyAvKiBTVkdQcm9wZXJ0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBT
VkdQcm9wZXJ0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MjgzMTVDRTIzNDY1
OTAxMDAwN0QyNzcgLyogRE9NUG9pbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE9NUG9pbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MkMxOEEzRjIzMEIwNEI3MDA2ODQ3
QzcgLyogSW1hZ2VQYWludGluZ09wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1hZ2VQYWludGlu
Z09wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzJFNDE3NjExQTJFOEQy
RjAwNEM1NjJBIC8qIEpTRVhUc1JHQi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0VYVHNSR0IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MkU0
MTc2MjFBMkU4RDJGMDA0QzU2MkEgLyogSlNFWFRzUkdCLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTRVhUc1JHQi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
OTkxNSw3ICs5OTE3LDYgQEAKIAkJN0NFMTkxNkUxRjJBQjcwRDAwMjcyRjdBIC8qIEpTRE9NQ2Fj
aGVTdG9yYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NQ2FjaGVTdG9yYWdlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NFMTkxNkUxRjJBQjcwRDAwMjcyRjdCIC8q
IEpTQ2FjaGVRdWVyeU9wdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDYWNoZVF1ZXJ5
T3B0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDRTE5MTZGMUYyQUI3
MEYwMDI3MkY3OCAvKiBKU0ZldGNoUmVxdWVzdFJlZGlyZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTRmV0Y2hSZXF1ZXN0UmVkaXJlY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk3Q0U1OEQ0OTFERDY0QTVCMDAxMjg1NTIgLyogU1ZHUG9pbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUG9pbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJN0NFNThENEYxREQ2OUExRTAwMTI4NTUyIC8qIFNWR051bWJlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdOdW1iZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJN0NFNThENTExREQ3QjA5MzAwMTI4NTUyIC8qIFNWR0xlbmd0aC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdMZW5ndGguaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJN0NFNThENTIxREQ3QjA5MzAwMTI4NTUyIC8qIFNWR0xlbmd0aFZhbHVlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR0xlbmd0aFZhbHVlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyMzQyLDcgKzEyMzQzLDYgQEAKIAkJ
QjIyMjc4RjEwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1BhdHRlcm5FbGVtZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdQYXR0ZXJuRWxlbWVudC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMjI3OEYyMEQwMEJGMjEwMDcxQjc4MiAvKiBT
VkdQYXR0ZXJuRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZH
UGF0dGVybkVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIyMjc4RjMw
RDAwQkYyMTAwNzFCNzgyIC8qIFNWR1BhdHRlcm5FbGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gU1ZHUGF0dGVybkVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlCMjIyNzhGNDBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUG9pbnQuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBTVkdQb2ludC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUIyMjI3OEY2MEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQb2ludExpc3QuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1BvaW50TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlCMjIyNzhGNzBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUG9pbnRMaXN0LmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU1ZHUG9pbnRMaXN0LmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQjIyMjc4RjgwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1BvbHlFbGVtZW50
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdQb2x5RWxlbWVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjE3MSwxMyArMTYxNzEsMTIg
QEAKIAkJCQk1NURDQzUyNTIyNDA3NDlFMDBDMjZFMzIgLyogU1ZHUHJpbWl0aXZlTGlzdC5oICov
LAogCQkJCTcyNjZGMDE1MjI0MUMwOTgwMDgzMzk3NSAvKiBTVkdQcmltaXRpdmVQcm9wZXJ0eUFu
aW1hdG9yLmggKi8sCiAJCQkJNzI2NkYwMTQyMjQxQkZCMjAwODMzOTc1IC8qIFNWR1ByaW1pdGl2
ZVByb3BlcnR5QW5pbWF0b3JJbXBsLmggKi8sCi0JCQkJNTVFRTUzNjMyMjNCMkEyNDAwRkJBOTQ0
IC8qIFNWR1Byb3BlcnR5LmggKi8sCisJCQkJNzI4MzE1QzUyMzQ1MEZDMjAwMDdEMjc3IC8qIFNW
R1Byb3BlcnR5LmggKi8sCiAJCQkJNTVEQ0M1MjYyMjQwNzRGQTAwQzI2RTMyIC8qIFNWR1Byb3Bl
cnR5QWNjZXNzb3IuaCAqLywKIAkJCQk1NURDQzUyNzIyNDA3NTBCMDBDMjZFMzIgLyogU1ZHUHJv
cGVydHlBY2Nlc3NvckltcGwuaCAqLywKIAkJCQk3MjY2RjAxNjIyNDFDMEZFMDA4MzM5NzUgLyog
U1ZHUHJvcGVydHlBbmltYXRvci5oICovLAogCQkJCTcyNjZGMDEzMjI0MUJDRTIwMDgzMzk3NSAv
KiBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeS5oICovLAogCQkJCTcyNjZGMDI3MjI0MzEwOTIw
MDgzMzk3NSAvKiBTVkdQcm9wZXJ0eUxpc3QuaCAqLywKLQkJCQk1NUVFNTM2MDIyM0IyQTIxMDBG
QkE5NDQgLyogU1ZHUHJvcGVydHlPd25lci5oICovLAogCQkJCTU1QkUwMjVDMjIzQjI5QzMwMDMy
RjA4QSAvKiBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnkuaCAqLywKIAkJCQk1NUJFMDI1NzIyM0Iy
OUMwMDAzMkYwOEEgLyogU1ZHUHJvcGVydHlSZWdpc3RyeS5oICovLAogCQkJCTA4OEEwRTAzMTI2
RUYxREIwMDk3OEY3QSAvKiBTVkdQcm9wZXJ0eVRyYWl0cy5oICovLApAQCAtMjQzMzYsOCArMjQz
MzUsNiBAQAogCQkJCUIyMjI3OEYxMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQYXR0ZXJuRWxlbWVu
dC5jcHAgKi8sCiAJCQkJQjIyMjc4RjIwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1BhdHRlcm5FbGVt
ZW50LmggKi8sCiAJCQkJQjIyMjc4RjMwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1BhdHRlcm5FbGVt
ZW50LmlkbCAqLywKLQkJCQk3Q0U1OEQ0OTFERDY0QTVCMDAxMjg1NTIgLyogU1ZHUG9pbnQuaCAq
LywKLQkJCQlCMjIyNzhGNDBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUG9pbnQuaWRsICovLAogCQkJ
CUIyMjI3OEY2MEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQb2ludExpc3QuaCAqLywKIAkJCQlCMjIy
NzhGNzBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUG9pbnRMaXN0LmlkbCAqLywKIAkJCQlCMjIyNzhG
ODBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUG9seUVsZW1lbnQuY3BwICovLApAQCAtMjc1NzMsNyAr
Mjc1NzAsMTAgQEAKIAkJCQlBODE4NUYzNjA5NzY1NzY1MDA1ODI2RDkgLyogRE9NSW1wbGVtZW50
YXRpb24uY3BwICovLAogCQkJCUE4MTg1RjMzMDk3NjU3NjUwMDU4MjZEOSAvKiBET01JbXBsZW1l
bnRhdGlvbi5oICovLAogCQkJCTkzRUVDMUU5MDlDMjg3NzcwMEM1MTVEMSAvKiBET01JbXBsZW1l
bnRhdGlvbi5pZGwgKi8sCisJCQkJNzI4MzE1QzAyMzQ0MjI5MjAwMDdEMjc3IC8qIERPTUxpdmVQ
cm9wZXJ0eS5oICovLAorCQkJCTcyODMxNUJFMjM0NDIyOTEwMDA3RDI3NyAvKiBET01MaXZlUHJv
cGVydHlPYnNlcnZlci5oICovLAogCQkJCUY0QjQyMkMyMjIwQzAwMDAwMDlFMUU3RCAvKiBET01Q
YXN0ZUFjY2Vzcy5oICovLAorCQkJCTcyODMxNUNFMjM0NjU5MDEwMDA3RDI3NyAvKiBET01Qb2lu
dC5jcHAgKi8sCiAJCQkJMEY0OTY2OTkxREI0MDhDMTAwQTI3NEJCIC8qIERPTVBvaW50LmggKi8s
CiAJCQkJMEY0OTY2OUExREI0MDhDMTAwQTI3NEJCIC8qIERPTVBvaW50LmlkbCAqLywKIAkJCQkw
RjQ5NjZBMjFEQjQwOTEwMDBBMjc0QkIgLyogRE9NUG9pbnRJbml0LmggKi8sCkBAIC0yOTE2OCw2
ICsyOTE2OCw4IEBACiAJCQkJRTNBNzc2NjcxREM4NUQyODAwQjY5MEQ4IC8qIERPTUpJVElETENv
bnZlcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzQTc3NjY4MURDODVEMjgwMEI2OTBEOCAvKiBE
T01KSVRJRExUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzU4MDJCNjFEQzg0MzVEMDBBOTc3
M0MgLyogRE9NSklUSURMVHlwZUZpbHRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzI4MzE1QzEy
MzQ0NDAxNTAwMDdEMjc3IC8qIERPTUxpdmVQcm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NzI4MzE1QzIyMzQ0NDAyMjAwMDdEMjc3IC8qIERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQk4MzZBQ0VDQTFFQ0E5NTY5MDA0QkQwMTIgLyogRE9NTWF0cml4Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk3Q0JCQkNDNzFGNTYwNTgxMDA1RUZBQUMgLyogRE9NTWF0cml4
MkRJbml0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4MzZBQ0VDQjFFQ0E5NTZEMDA0QkQwMTIgLyog
RE9NTWF0cml4SW5pdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTk4NSwxNSArMzE5ODcsMTMgQEAK
IAkJCQk4NEM1QjJGQjEyMTZEQzgxMDA4OEI1M0EgLyogU1ZHUGF0aFRyYXZlcnNhbFN0YXRlQnVp
bGRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzFBNTdERjIxNTRCRTI1QzAwMDlEMTIwIC8qIFNW
R1BhdGhVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QTg4MEQwMEJGMjIwMDcx
Qjc4MiAvKiBTVkdQYXR0ZXJuRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJN0NFNThENEEx
REQ2NEE1QjAwMTI4NTUyIC8qIFNWR1BvaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0E4
QzBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUG9pbnRMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlC
MjIyN0E4RjBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUG9seUVsZW1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUIyMjI3QTkxMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQb2x5Z29uRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBOTQwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1BvbHlsaW5l
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBOTcwRDAwQkYyMjAwNzFCNzgyIC8q
IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaCBpbiBIZWFkZXJzICovLAogCQkJCTU1RENDNTI4MjI0
MDdCMjAwMEMyNkUzMiAvKiBTVkdQcmltaXRpdmVMaXN0LmggaW4gSGVhZGVycyAqLywKLQkJCQk3
MjE0NDMzMzIyM0VDOEIwMDBGMTJGRjcgLyogU1ZHUHJvcGVydHkuaCBpbiBIZWFkZXJzICovLAot
CQkJCTcyMTQ0MzM0MjIzRUM5MTYwMEYxMkZGNyAvKiBTVkdQcm9wZXJ0eU93bmVyLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk3MjgzMTVDNzIzNDUxODIzMDAwN0QyNzcgLyogU1ZHUHJvcGVydHkuaCBp
biBIZWFkZXJzICovLAogCQkJCTA4OEEwRTBDMTI2RUYxREIwMDk3OEY3QSAvKiBTVkdQcm9wZXJ0
eVRyYWl0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBOUEwRDAwQkYyMjAwNzFCNzgyIC8q
IFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDhFREUxOUYx
MkE1MEI4RTAwQjk1Nzk3IC8qIFNWR1JlY3QuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCBjYzAy
OGMyNTEzYWIxOGNlNTA1NzZjZjY4NzlmNmY3NzQxODk3NzdlLi4yZTBjMjU5YTU2ZGNiZjUzMjQw
MDBjMjcyNjFiMTlkMTg1MjZjOGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMTQ0OCw2ICsxNDQ4LDcgQEAgc3ViIFNo
b3VsZEdlbmVyYXRlVG9XcmFwcGVkCiAgICAgbXkgKCRoYXNQYXJlbnQsICRpbnRlcmZhY2UpID0g
QF87CiAKICAgICByZXR1cm4gMCBpZiBub3QgTmVlZHNJbXBsZW1lbnRhdGlvbkNsYXNzKCRpbnRl
cmZhY2UpOworICAgIHJldHVybiAxIGlmICRpbnRlcmZhY2UtPnR5cGUtPm5hbWUgZXEgIkRPTVBv
aW50IjsKICAgICByZXR1cm4gMSBpZiAhJGhhc1BhcmVudCBvciAkaW50ZXJmYWNlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPntKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3R9OwogICAgIHJldHVybiAxIGlm
ICRpbnRlcmZhY2UtPnBhcmVudFR5cGUgJiYgJGludGVyZmFjZS0+cGFyZW50VHlwZS0+bmFtZSBl
cSAiRXZlbnRUYXJnZXQiOwogICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0RPTUxpdmVQcm9wZXJ0eS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUxpdmVQcm9w
ZXJ0eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjllNTk0OGI2ODM1OTFjZmJlZjU3M2ZlZmE4OTBlY2FlYzI2MmJj
OWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NTGl2ZVByb3BlcnR5
LmgKQEAgLTAsMCArMSw4MCBAQAorLyoKKyogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyogYXJl
IG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpbmNsdWRlICJET01MaXZlUHJvcGVydHlPYnNlcnZlci5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIERPTUxpdmVQcm9wZXJ0eSB7CitwdWJsaWM6CisgICAgLy8gTWFuYWdp
bmcgdGhlIHJlbGF0aW9uc2hpcCB3aXRoIHRoZSBvYnNlcnZlci4KKyAgICBib29sIGlzQXR0YWNo
ZWQoKSBjb25zdCB7IHJldHVybiBtX29ic2VydmVyOyB9CisgICAgRE9NTGl2ZVByb3BlcnR5T2Jz
ZXJ2ZXIqIG9ic2VydmVyKCkgY29uc3QgeyByZXR1cm4gbV9vYnNlcnZlcjsgfQorCisgICAgdm9p
ZCBhdHRhY2goRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyKQorICAgIHsKKyAgICAg
ICAgQVNTRVJUKCFtX29ic2VydmVyKTsKKyAgICAgICAgbV9vYnNlcnZlciA9IG9ic2VydmVyOwor
ICAgIH0KKworICAgIHZvaWQgZGV0YWNoKCkKKyAgICB7CisgICAgICAgIG1fb2JzZXJ2ZXIgPSBu
dWxscHRyOworICAgIH0KKworICAgIC8vIFRyYXZlcnNlIHRoZSBvYnNlcnZlcnMgY2hhaW4gdGls
bCBhbiBTVkdFbGVtZW50IG9ic2VydmVyIGlzIHJlYWNoZWQuCisgICAgY29uc3QgU1ZHRWxlbWVu
dCogc3ZnQ29udGV4dEVsZW1lbnQoKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKCFtX29ic2Vy
dmVyKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBtX29ic2Vy
dmVyLT5wcm9wZXJ0eVNWR0NvbnRleHRFbGVtZW50KCk7CisgICAgfQorCisgICAgLy8gQ2hlY2sg
aWYgdGhlIG9ic2VydmVyIGRpc2FsbG93cyBjaGFuZ2luZyB0aGlzIHByb3BlcnR5LgorICAgIGJv
b2wgaXNSZWFkT25seSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9vYnNlcnZlciAm
JiBtX29ic2VydmVyLT5pc1Byb3BlcnR5UmVhZE9ubHkoKnRoaXMpOworICAgIH0KKworICAgIC8v
IENvbW1pdCB0aGUgbGl2ZSBwcm9wZXJ0eSBjaGFuZ2VzIHZpYSB0aGUgb2JzZXJ2ZXJzIGNoYWlu
LgorICAgIHZvaWQgY29tbWl0Q2hhbmdlKCkKKyAgICB7CisgICAgICAgIGlmICghbV9vYnNlcnZl
cikKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbV9vYnNlcnZlci0+Y29tbWl0UHJvcGVy
dHlDaGFuZ2UodGhpcyk7CisgICAgfQorCitwcm90ZWN0ZWQ6CisgICAgRE9NTGl2ZVByb3BlcnR5
KERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZlciA9IG51bGxwdHIpCisgICAgICAgIDog
bV9vYnNlcnZlcihvYnNlcnZlcikKKyAgICB7CisgICAgfQorCisgICAgRE9NTGl2ZVByb3BlcnR5
T2JzZXJ2ZXIqIG1fb2JzZXJ2ZXIgeyBudWxscHRyIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NTGl2ZVByb3BlcnR5T2Jz
ZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01MaXZlUHJvcGVydHlPYnNlcnZlci5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmQwYTkwN2FjMTY2MDE5N2ZkMmMyNTdiZGI2OThlYmIzM2M5NzUyMGEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIu
aApAQCAtMCwwICsxLDY1IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUg
bWV0OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjcHJhZ21hIG9uY2UK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBET01MaXZlUHJvcGVydHk7CitjbGFzcyBT
VkdFbGVtZW50OworCitjbGFzcyBET01MaXZlUHJvcGVydHlPYnNlcnZlciB7CitwdWJsaWM6Cisg
ICAgdmlydHVhbCB+RE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIoKSA9IGRlZmF1bHQ7CisKKyAgICAv
LyBUaGUgb2JzZXJ2ZXIgaXRzZWxmIG1heSBoYXZlIGFuIG9ic2VydmVyLgorICAgIHZpcnR1YWwg
RE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyKCkgY29uc3QgeyByZXR1cm4gbnVsbHB0
cjsgfQorCisgICAgLy8gVHJhdmVyc2UgdGhlIG9ic2VydmVycyBjaGFpbiB0aWxsIGFuIEVsZW1l
bnQgb2JzZXJ2ZXIgaXMgcmVhY2hlZC4KKyAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIHBy
b3BlcnR5U1ZHQ29udGV4dEVsZW1lbnQoKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKCFvYnNl
cnZlcigpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBvYnNl
cnZlcigpLT5wcm9wZXJ0eVNWR0NvbnRleHRFbGVtZW50KCk7CisgICAgfQorCisgICAgdmlydHVh
bCBib29sIGlzUHJvcGVydHlSZWFkT25seShjb25zdCBET01MaXZlUHJvcGVydHkmIHByb3BlcnR5
KSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG9ic2VydmVyKCkgJiYgb2JzZXJ2ZXIoKS0+
aXNQcm9wZXJ0eVJlYWRPbmx5KHByb3BlcnR5KTsKKyAgICB9CisKKyAgICAvLyBDb21taXQgdGhl
IGxpdmUgcHJvcGVydHkgY2hhbmdlcyB2aWEgdGhlIG9ic2VydmVycyBjaGFpbi4KKyAgICB2aXJ0
dWFsIHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoRE9NTGl2ZVByb3BlcnR5KiBwcm9wZXJ0eSkK
KyAgICB7CisgICAgICAgIGlmICghb2JzZXJ2ZXIoKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgb2JzZXJ2ZXIoKS0+Y29tbWl0UHJvcGVydHlDaGFuZ2UocHJvcGVydHkpOworICAgIH0K
KworcHJvdGVjdGVkOgorICAgIERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyKCkgPSBkZWZhdWx0Owor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RPTVBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludC5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNGNlZTFhYWEwN2JhZjE3MzM0YjRiMWMzOGUyZGUzMWU5MDgwZGU0NwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludC5jcHAKQEAgLTAsMCArMSw0MCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQor
ICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisgKiAgICBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQ09QWVJJR0hUIEhPTERFUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULAorICogSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IKKyAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULAorICogU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RAorICogT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJET01Qb2ludC5oIgorCisjaW5jbHVkZSA8d3RmL0lzb01h
bGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxM
T0NBVEVEX0lNUEwoRE9NUG9pbnQpOworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RPTVBvaW50LmgKaW5kZXggNzcyNzdkN2YyMWIzZjRiY2MzYzQwNGQ1M2VlMWVjOGNiMDM1M2Jj
My4uY2Y5M2YxNGM2NTFlZGZjOTI1NzQ3NzgwMTkzYWM3NjgxNWYyM2U0OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RP
TVBvaW50LmgKQEAgLTMwLDI3ICszMCw3MCBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUg
IkRPTUxpdmVQcm9wZXJ0eS5oIgogI2luY2x1ZGUgIkRPTVBvaW50UmVhZE9ubHkuaCIKKyNpbmNs
dWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIERPTVBvaW50IGZpbmFsIDogcHVibGljIERPTVBvaW50UmVhZE9ubHkgeworY2xhc3MgRE9N
UG9pbnQgZmluYWwgOiBwdWJsaWMgRE9NUG9pbnRSZWFkT25seSwgcHVibGljIERPTUxpdmVQcm9w
ZXJ0eSB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChET01Qb2ludCk7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFJlZjxET01Qb2ludD4gY3JlYXRlKGRvdWJsZSB4LCBkb3VibGUgeSwgZG91Ymxl
IHogPSAwLCBkb3VibGUgdyA9IDEpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRE9NUG9pbnQoeCwg
eSwgeiwgdykpOyB9CiAgICAgc3RhdGljIFJlZjxET01Qb2ludD4gY3JlYXRlKGNvbnN0IERPTVBv
aW50SW5pdCYgaW5pdCkgeyByZXR1cm4gY3JlYXRlKGluaXQueCwgaW5pdC55LCBpbml0LnosIGlu
aXQudyk7IH0KICAgICBzdGF0aWMgUmVmPERPTVBvaW50PiBmcm9tUG9pbnQoY29uc3QgRE9NUG9p
bnRJbml0JiBpbml0KSB7IHJldHVybiBjcmVhdGUoaW5pdC54LCBpbml0LnksIGluaXQueiwgaW5p
dC53KTsgfQorICAgIFJlZjxET01Qb2ludD4gY2xvbmUoKSBjb25zdCB7IHJldHVybiBjcmVhdGUo
bV94LCBtX3ksIG1feiwgbV93KTsgfQogCiAgICAgdm9pZCBzZXRYKGRvdWJsZSB4KSB7IG1feCA9
IHg7IH0KICAgICB2b2lkIHNldFkoZG91YmxlIHkpIHsgbV95ID0geTsgfQogICAgIHZvaWQgc2V0
Wihkb3VibGUgeikgeyBtX3ogPSB6OyB9CiAgICAgdm9pZCBzZXRXKGRvdWJsZSB3KSB7IG1fdyA9
IHc7IH0KIAorICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFhGb3JCaW5kaW5ncyhkb3VibGUgeCkK
KyAgICB7CisgICAgICAgIGlmIChpc1JlYWRPbmx5KCkpCisgICAgICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3IgfTsKKyAgICAKKyAgICAgICAgbV94
ID0geDsKKyAgICAgICAgY29tbWl0Q2hhbmdlKCk7CisgICAgICAgIHJldHVybiB7IH07CisgICAg
fQorICAgIAorICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFlGb3JCaW5kaW5ncyhkb3VibGUgeSkK
KyAgICB7CisgICAgICAgIGlmIChpc1JlYWRPbmx5KCkpCisgICAgICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3IgfTsKKyAgICAKKyAgICAgICAgbV95
ID0geTsKKyAgICAgICAgY29tbWl0Q2hhbmdlKCk7CisgICAgICAgIHJldHVybiB7IH07CisgICAg
fQorICAgIAorICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFpGb3JCaW5kaW5ncyhkb3VibGUgeikK
KyAgICB7CisgICAgICAgIGlmIChpc1JlYWRPbmx5KCkpCisgICAgICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3IgfTsKKyAgICAKKyAgICAgICAgbV96
ID0gejsKKyAgICAgICAgY29tbWl0Q2hhbmdlKCk7CisgICAgICAgIHJldHVybiB7IH07CisgICAg
fQorICAgIAorICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFdGb3JCaW5kaW5ncyhkb3VibGUgdykK
KyAgICB7CisgICAgICAgIGlmIChpc1JlYWRPbmx5KCkpCisgICAgICAgICAgICByZXR1cm4gRXhj
ZXB0aW9uIHsgTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3IgfTsKKyAgICAKKyAgICAgICAgbV93
ID0gdzsKKyAgICAgICAgY29tbWl0Q2hhbmdlKCk7CisgICAgICAgIHJldHVybiB7IH07CisgICAg
fQorICAgIAogcHJpdmF0ZToKICAgICBET01Qb2ludChkb3VibGUgeCwgZG91YmxlIHksIGRvdWJs
ZSB6LCBkb3VibGUgdykKICAgICAgICAgOiBET01Qb2ludFJlYWRPbmx5KHgsIHksIHosIHcpCiAg
ICAgewogICAgIH0KIH07Ci1zdGF0aWNfYXNzZXJ0KHNpemVvZihET01Qb2ludCkgPT0gc2l6ZW9m
KERPTVBvaW50UmVhZE9ubHkpLCAiIik7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRE9NUG9pbnQuaWRsCmluZGV4IDY5YmJjMmQwZmYyMDc2MTQ2ZmZkNTUyNzA0ZDU3NjIyNTE5
ZGQ2MDUuLjhkYzkxMDliODVmOGQ1YjNiNDM2MmQzMmI1YTNhZmE1MzIyNmQzMmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RPTVBvaW50LmlkbApAQCAtMzQsMTQgKzM0LDE1IEBACiAgICAgQ29uc3RydWN0b3Iob3B0
aW9uYWwgdW5yZXN0cmljdGVkIGRvdWJsZSB4ID0gMCwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGRv
dWJsZSB5ID0gMCwKICAgICAgICAgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGRvdWJsZSB6ID0gMCwg
b3B0aW9uYWwgdW5yZXN0cmljdGVkIGRvdWJsZSB3ID0gMSksCiAgICAgRXhwb3NlZD0oV2luZG93
LFdvcmtlciksCisgICAgTGVnYWN5V2luZG93QWxpYXM9U1ZHUG9pbnQsCiAgICAgR2VuZXJhdGVJ
c1JlYWNoYWJsZT1JbXBsLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKKyAgICBTa2lw
VlRhYmxlVmFsaWRhdGlvbgogXQogaW50ZXJmYWNlIERPTVBvaW50IDogRE9NUG9pbnRSZWFkT25s
eSB7CiAgICAgW05ld09iamVjdF0gc3RhdGljIERPTVBvaW50IGZyb21Qb2ludChvcHRpb25hbCBE
T01Qb2ludEluaXQgb3RoZXIpOwogCi0gICAgaW5oZXJpdCBhdHRyaWJ1dGUgdW5yZXN0cmljdGVk
IGRvdWJsZSB4OwotICAgIGluaGVyaXQgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgeTsK
LSAgICBpbmhlcml0IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHo7Ci0gICAgaW5oZXJp
dCBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB3OworICAgIFtJbXBsZW1lbnRlZEFzPXhG
b3JCaW5kaW5nc10gaW5oZXJpdCBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB4OworICAg
IFtJbXBsZW1lbnRlZEFzPXlGb3JCaW5kaW5nc10gaW5oZXJpdCBhdHRyaWJ1dGUgdW5yZXN0cmlj
dGVkIGRvdWJsZSB5OworICAgIFtJbXBsZW1lbnRlZEFzPXpGb3JCaW5kaW5nc10gaW5oZXJpdCBh
dHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB6OworICAgIFtJbXBsZW1lbnRlZEFzPXdGb3JC
aW5kaW5nc10gaW5oZXJpdCBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB3OwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludFJlYWRPbmx5LmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRE9NUG9pbnRSZWFkT25seS5oCmluZGV4IDBhNjhmZGYxYmMxOTRlNDMxN2Ux
YjU1ZmFkODlkNDZkYWVmZTcyMTEuLjlhNGRiNjYwOTE0NTU5ODJhZjZmOGE3NTEzNTRiNmZjMDI2
ZjQwMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludFJlYWRPbmx5LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50UmVhZE9ubHkuaApAQCAtNDMsNiArNDMs
NyBAQCBjbGFzcyBET01Qb2ludDsKIGNsYXNzIERPTVBvaW50UmVhZE9ubHkgOiBwdWJsaWMgU2Ny
aXB0V3JhcHBhYmxlLCBwdWJsaWMgUmVmQ291bnRlZDxET01Qb2ludFJlYWRPbmx5PiB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChET01Qb2ludFJlYWRPbmx5KTsKIHB1YmxpYzoKKyAgICB2
aXJ0dWFsIH5ET01Qb2ludFJlYWRPbmx5KCkgPSBkZWZhdWx0OwogICAgIHN0YXRpYyBSZWY8RE9N
UG9pbnRSZWFkT25seT4gY3JlYXRlKGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHosIGRvdWJs
ZSB3KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IERPTVBvaW50UmVhZE9ubHkoeCwgeSwgeiwgdykp
OyB9CiAgICAgc3RhdGljIFJlZjxET01Qb2ludFJlYWRPbmx5PiBjcmVhdGUoY29uc3QgRE9NUG9p
bnRJbml0JiBpbml0KSB7IHJldHVybiBjcmVhdGUoaW5pdC54LCBpbml0LnksIGluaXQueiwgaW5p
dC53KTsgfQogICAgIHN0YXRpYyBSZWY8RE9NUG9pbnRSZWFkT25seT4gZnJvbVBvaW50KGNvbnN0
IERPTVBvaW50SW5pdCYgaW5pdCkgeyByZXR1cm4gY3JlYXRlKGluaXQueCwgaW5pdC55LCBpbml0
LnosIGluaXQudyk7IH0KQEAgLTUyLDYgKzUzLDExIEBAIHB1YmxpYzoKICAgICBkb3VibGUgeigp
IGNvbnN0IHsgcmV0dXJuIG1fejsgfQogICAgIGRvdWJsZSB3KCkgY29uc3QgeyByZXR1cm4gbV93
OyB9CiAKKyAgICBkb3VibGUgeEZvckJpbmRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV94OyB9Cisg
ICAgZG91YmxlIHlGb3JCaW5kaW5ncygpIGNvbnN0IHsgcmV0dXJuIG1feTsgfQorICAgIGRvdWJs
ZSB6Rm9yQmluZGluZ3MoKSBjb25zdCB7IHJldHVybiBtX3o7IH0KKyAgICBkb3VibGUgd0ZvckJp
bmRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV93OyB9CisKICAgICBFeGNlcHRpb25PcjxSZWY8RE9N
UG9pbnQ+PiBtYXRyaXhUcmFuc2Zvcm0oRE9NTWF0cml4SW5pdCYmKSBjb25zdDsKIAogcHJvdGVj
dGVkOgpAQCAtNzEsNCArNzcsMyBAQCBwcm90ZWN0ZWQ6CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludFJlYWRPbmx5
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludFJlYWRPbmx5LmlkbAppbmRleCAzZmZk
NjZmZDcxMjFhOWRjN2NjNWY4NTczYTc2YTc4OTc0NGY5NjhlLi40MWMzYzRlNTM4NmI2M2NhN2U2
NzRhYjQzYjUzMDdmYWU1YTA4MjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9N
UG9pbnRSZWFkT25seS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50UmVhZE9u
bHkuaWRsCkBAIC0zNCwxNSArMzQsMTUgQEAKICAgICBDb25zdHJ1Y3RvcihvcHRpb25hbCB1bnJl
c3RyaWN0ZWQgZG91YmxlIHggPSAwLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHkgPSAw
LAogICAgICAgICBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHogPSAwLCBvcHRpb25hbCB1
bnJlc3RyaWN0ZWQgZG91YmxlIHcgPSAxKSwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwK
LSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCisgICAgU2tpcFZUYWJsZVZhbGlkYXRpb24K
IF0KIGludGVyZmFjZSBET01Qb2ludFJlYWRPbmx5IHsKICAgICBbTmV3T2JqZWN0XSBzdGF0aWMg
RE9NUG9pbnRSZWFkT25seSBmcm9tUG9pbnQob3B0aW9uYWwgRE9NUG9pbnRJbml0IG90aGVyKTsK
IAotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHg7Ci0gICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgeTsKLSAgICByZWFkb25seSBhdHRy
aWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB6OwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnJl
c3RyaWN0ZWQgZG91YmxlIHc7CisgICAgW0ltcGxlbWVudGVkQXM9eEZvckJpbmRpbmdzXSByZWFk
b25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB4OworICAgIFtJbXBsZW1lbnRlZEFz
PXlGb3JCaW5kaW5nc10gcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgeTsK
KyAgICBbSW1wbGVtZW50ZWRBcz16Rm9yQmluZGluZ3NdIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnJl
c3RyaWN0ZWQgZG91YmxlIHo7CisgICAgW0ltcGxlbWVudGVkQXM9d0ZvckJpbmRpbmdzXSByZWFk
b25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB3OwogCiAgICAgW01heVRocm93RXhj
ZXB0aW9uXSBET01Qb2ludCBtYXRyaXhUcmFuc2Zvcm0ob3B0aW9uYWwgRE9NTWF0cml4SW5pdCBt
YXRyaXgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRp
b25Pck1vdGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlv
bk9yTW90aW9uRXZlbnQuY3BwCmluZGV4IDE1YzA1NmQ3NjQzMDE3NTlmNmJjZTBlNWJmOTY3MjVm
MGE5MWVmYTAuLjkxZmMyYjQ5OTk4OTA2NzExYjY5YzM0ODI3YjQ4ZmE2NmIxMGJkNDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uRXZl
bnQuY3BwCkBAIC0yNiw2ICsyNiwxMSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkRldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5oIgogCisjaWYgRU5BQkxFKERFVklDRV9P
UklFTlRBVElPTikKKyNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0Nv
bnRyb2xsZXIuaCIKKyNlbmRpZgorCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1BhdGhEYXRhLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUGF0aERhdGEuY3BwCmluZGV4IDJiYWIxODAyYTY1
NTRkOTFiNTVhMDk3ODY1ODgxNmUwMjE3MWMxM2YuLmRlZWQzNzAzMjlhMDJmNDJhMTViNTlhYTg1
ZmVjMjI5NDVhY2I3NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHUGF0aERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUGF0
aERhdGEuY3BwCkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiU1ZHUGF0aERhdGEuaCIKIAorI2luY2x1ZGUgIkRPTVBvaW50LmgiCiAjaW5jbHVkZSAiUGF0
aC5oIgogI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5o
IgpAQCAtMzAsNyArMzEsNiBAQAogI2luY2x1ZGUgIlNWR05hbWVzLmgiCiAjaW5jbHVkZSAiU1ZH
UGF0aEVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdQYXRoVXRpbGl0aWVzLmgiCi0jaW5jbHVkZSAi
U1ZHUG9pbnQuaCIKICNpbmNsdWRlICJTVkdQb2ludExpc3QuaCIKICNpbmNsdWRlICJTVkdQb2x5
Z29uRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1BvbHlsaW5lRWxlbWVudC5oIgpAQCAtMTA1LDEx
ICsxMDUsMTEgQEAgc3RhdGljIFBhdGggcGF0aEZyb21Qb2x5Z29uRWxlbWVudChjb25zdCBTVkdF
bGVtZW50JiBlbGVtZW50KQogICAgICAgICByZXR1cm4geyB9OwogCiAgICAgUGF0aCBwYXRoOwot
ICAgIHBhdGgubW92ZVRvKHBvaW50cy5maXJzdCgpLT52YWx1ZSgpKTsKKyAgICBwYXRoLm1vdmVU
byhGbG9hdFBvaW50KHBvaW50cy5maXJzdCgpLT54KCksIHBvaW50cy5maXJzdCgpLT55KCkpKTsK
IAogICAgIHVuc2lnbmVkIHNpemUgPSBwb2ludHMuc2l6ZSgpOwogICAgIGZvciAodW5zaWduZWQg
aSA9IDE7IGkgPCBzaXplOyArK2kpCi0gICAgICAgIHBhdGguYWRkTGluZVRvKHBvaW50cy5hdChp
KS0+dmFsdWUoKSk7CisgICAgICAgIHBhdGguYWRkTGluZVRvKEZsb2F0UG9pbnQocG9pbnRzLmF0
KGkpLT54KCksIHBvaW50cy5hdChpKS0+eSgpKSk7CiAKICAgICBwYXRoLmNsb3NlU3VicGF0aCgp
OwogICAgIHJldHVybiBwYXRoOwpAQCAtMTIyLDExICsxMjIsMTEgQEAgc3RhdGljIFBhdGggcGF0
aEZyb21Qb2x5bGluZUVsZW1lbnQoY29uc3QgU1ZHRWxlbWVudCYgZWxlbWVudCkKICAgICAgICAg
cmV0dXJuIHsgfTsKIAogICAgIFBhdGggcGF0aDsKLSAgICBwYXRoLm1vdmVUbyhwb2ludHMuZmly
c3QoKS0+dmFsdWUoKSk7CisgICAgcGF0aC5tb3ZlVG8oRmxvYXRQb2ludChwb2ludHMuZmlyc3Qo
KS0+eCgpLCBwb2ludHMuZmlyc3QoKS0+eSgpKSk7CiAKICAgICB1bnNpZ25lZCBzaXplID0gcG9p
bnRzLnNpemUoKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgc2l6ZTsgKytpKQotICAg
ICAgICBwYXRoLmFkZExpbmVUbyhwb2ludHMuYXQoaSktPnZhbHVlKCkpOworICAgICAgICBwYXRo
LmFkZExpbmVUbyhGbG9hdFBvaW50KHBvaW50cy5hdChpKS0+eCgpLCBwb2ludHMuYXQoaSktPnko
KSkpOwogICAgIHJldHVybiBwYXRoOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHQW5nbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmdsZS5oCmluZGV4IDljNjE3
MzJhZTkzMWM5ODU0ZTc1NjllMWNiMjJhNmVkOGRhZjViMDMuLjA0YjIxNmZhNzZlZTBhYzI4NzZh
NjNlMGQ2YjM5NTRhMzg2NWFlZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdB
bmdsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmdsZS5oCkBAIC00MSw5ICs0MSw5
IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHQW5nbGUodmFsdWUp
KTsKICAgICB9CiAKLSAgICBzdGF0aWMgUmVmPFNWR0FuZ2xlPiBjcmVhdGUoU1ZHUHJvcGVydHlP
d25lciogb3duZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcywgY29uc3QgU1ZHQW5nbGVWYWx1
ZSYgdmFsdWUgPSB7IH0pCisgICAgc3RhdGljIFJlZjxTVkdBbmdsZT4gY3JlYXRlKERPTUxpdmVQ
cm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZlciwgY29uc3QgU1ZHQW5nbGVWYWx1ZSYgdmFsdWUgPSB7
IH0pCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdBbmdsZShvd25lciwg
YWNjZXNzLCB2YWx1ZSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdBbmdsZShv
YnNlcnZlciwgdmFsdWUpKTsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0VsZW1lbnQuY3BwCmluZGV4IDE2YzNhZmMyMTUzYjY4ZGE5ZDg1MzY1Njk2MjYw
NWM4ZTEwYTVhZjQuLjIwNGMyMmJiMzZkZGEwODYyODEzOTE3MjMwZmQ0ZTk0MDExZjQ5NGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKQEAgLTU0MSwyMCArNTQxLDIzIEBAIHZvaWQgU1ZH
RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25z
dCBBdG9tU3RyaW5nJiBvCiAgICAgICAgIHN2Z0F0dHJpYnV0ZUNoYW5nZWQobmFtZSk7CiB9CiAK
LXZvaWQgU1ZHRWxlbWVudDo6c3luY2hyb25pemVBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgbmFtZSkKK3ZvaWQgU1ZHRWxlbWVudDo6c3luY2hyb25pemVBdHRyaWJ1dGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkKIHsKLSAgICAvLyBJZiB0aGUgdmFsdWUgb2YgdGhl
IHByb3BlcnR5IGhhcyBjaGFuZ2VkLCBzZXJpYWxpemUgdGhlIG5ldyB2YWx1ZSB0byB0aGUgYXR0
cmlidXRlLgotICAgIGlmIChhdXRvIHZhbHVlID0gcHJvcGVydHlSZWdpc3RyeSgpLnN5bmNocm9u
aXplKG5hbWUpKQotICAgICAgICBzZXRTeW5jaHJvbml6ZWRMYXp5QXR0cmlidXRlKG5hbWUsICp2
YWx1ZSk7CisgICAgYXV0byBpdCA9IG1fZGlydHlBdHRyaWJ1dGVzLmZpbmQoYXR0cmlidXRlTmFt
ZSk7CisgICAgaWYgKGl0ID09IG1fZGlydHlBdHRyaWJ1dGVzLmVuZCgpKQorICAgICAgICByZXR1
cm47CisgICAgCisgICAgLy8gSWYgdGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSBoYXMgY2hhbmdl
ZCwgcmVzZXJpYWxpemUgdGhlIG5ldyB2YWx1ZSB0byB0aGUgYXR0cmlidXRlLgorICAgIHNldFN5
bmNocm9uaXplZExhenlBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgcHJvcGVydHlSZWdpc3RyeSgp
LnZhbHVlQXNTdHJpbmcoYXR0cmlidXRlTmFtZSkpOworICAgIG1fZGlydHlBdHRyaWJ1dGVzLnJl
bW92ZShpdCk7CiB9CiAgICAgCiB2b2lkIFNWR0VsZW1lbnQ6OnN5bmNocm9uaXplQWxsQXR0cmli
dXRlcygpCiB7Ci0gICAgLy8gU1ZHUHJvcGVydHlSZWdpc3RyeTo6c3luY2hyb25pemVBbGxBdHRy
aWJ1dGVzKCkgcmV0dXJucyB0aGUgbmV3IHZhbHVlcyBvZgotICAgIC8vIHRoZSBwcm9wZXJ0aWVz
IHdoaWNoIGhhdmUgY2hhbmdlZCBidXQgbm90IGNvbW1pdHRlZCB5ZXQuCi0gICAgYXV0byBtYXAg
PSBwcm9wZXJ0eVJlZ2lzdHJ5KCkuc3luY2hyb25pemVBbGxBdHRyaWJ1dGVzKCk7Ci0gICAgZm9y
IChjb25zdCBhdXRvJiBlbnRyeSA6IG1hcCkKLSAgICAgICAgc2V0U3luY2hyb25pemVkTGF6eUF0
dHJpYnV0ZShlbnRyeS5rZXksIGVudHJ5LnZhbHVlKTsKKyAgICAvLyBSZXNlcmlhbGl6ZSB0aGUg
dmFsdWVzIG9mIHRoZSBjaGFuZ2VkIHByb3BlcnRpZXMgdG8gdGhlaXIgYXR0cmlidXRlcy4KKyAg
ICBmb3IgKGF1dG8mIGF0dHJpYnV0ZU5hbWUgOiBtX2RpcnR5QXR0cmlidXRlcykKKyAgICAgICAg
c2V0U3luY2hyb25pemVkTGF6eUF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lLCBwcm9wZXJ0eVJlZ2lz
dHJ5KCkudmFsdWVBc1N0cmluZyhhdHRyaWJ1dGVOYW1lKSk7CisgICAgbV9kaXJ0eUF0dHJpYnV0
ZXMuY2xlYXIoKTsKIH0KIAogdm9pZCBTVkdFbGVtZW50OjpzeW5jaHJvbml6ZUFsbEFuaW1hdGVk
U1ZHQXR0cmlidXRlKFNWR0VsZW1lbnQmIHN2Z0VsZW1lbnQpCkBAIC01NjIsMTUgKzU2NSwxOCBA
QCB2b2lkIFNWR0VsZW1lbnQ6OnN5bmNocm9uaXplQWxsQW5pbWF0ZWRTVkdBdHRyaWJ1dGUoU1ZH
RWxlbWVudCYgc3ZnRWxlbWVudCkKICAgICBzdmdFbGVtZW50LnN5bmNocm9uaXplQWxsQXR0cmli
dXRlcygpOwogfQogCi12b2lkIFNWR0VsZW1lbnQ6OmNvbW1pdFByb3BlcnR5Q2hhbmdlKFNWR1By
b3BlcnR5KiBwcm9wZXJ0eSkKK3ZvaWQgU1ZHRWxlbWVudDo6Y29tbWl0UHJvcGVydHlDaGFuZ2Uo
RE9NTGl2ZVByb3BlcnR5KiBwcm9wZXJ0eSkKIHsKKyAgICBRdWFsaWZpZWROYW1lIGF0dHJpYnV0
ZU5hbWUgPSBwcm9wZXJ0eVJlZ2lzdHJ5KCkucHJvcGVydHlBdHRyaWJ1dGVOYW1lKCpwcm9wZXJ0
eSk7CisgICAgQVNTRVJUKGF0dHJpYnV0ZU5hbWUgIT0gbnVsbFFOYW1lKCkpOworCiAgICAgLy8g
V2Ugd2FudCB0byBkaXJ0eSB0aGUgdG9wLWxldmVsIHByb3BlcnR5IHdoZW4gYSBkZXNjZW5kYW50
IGNoYW5nZXMuIEZvciBleGFtcGxlCiAgICAgLy8gYSBjaGFuZ2UgaW4gYW4gU1ZHTGVuZ3RoIGl0
ZW0gaW4gU1ZHTGVuZ3RoTGlzdCBzaG91bGQgc2V0IHRoZSBkaXJ0eSBmbGFnIG9uCiAgICAgLy8g
U1ZHTGVuZ3RoTGlzdCBhbmQgbm90IHRoZSBTVkdMZW5ndGguCi0gICAgcHJvcGVydHktPnNldERp
cnR5KCk7CisgICAgbV9kaXJ0eUF0dHJpYnV0ZXMuYWRkKGF0dHJpYnV0ZU5hbWUpOwogCiAgICAg
aW52YWxpZGF0ZVNWR0F0dHJpYnV0ZXMoKTsKLSAgICBzdmdBdHRyaWJ1dGVDaGFuZ2VkKHByb3Bl
cnR5UmVnaXN0cnkoKS5wcm9wZXJ0eUF0dHJpYnV0ZU5hbWUoKnByb3BlcnR5KSk7CisgICAgc3Zn
QXR0cmlidXRlQ2hhbmdlZChhdHRyaWJ1dGVOYW1lKTsKIH0KIAogdm9pZCBTVkdFbGVtZW50Ojpj
b21taXRQcm9wZXJ0eUNoYW5nZShTVkdBbmltYXRlZFByb3BlcnR5JiBhbmltYXRlZFByb3BlcnR5
KQpAQCAtNTgxLDcgKzU4Nyw3IEBAIHZvaWQgU1ZHRWxlbWVudDo6Y29tbWl0UHJvcGVydHlDaGFu
Z2UoU1ZHQW5pbWF0ZWRQcm9wZXJ0eSYgYW5pbWF0ZWRQcm9wZXJ0eSkKICAgICAvLyBBIGNoYW5n
ZSBpbiBhIHN0eWxlIHByb3BlcnR5LCBlLmcgU1ZHUmVjdEVsZW1lbnQ6Onggc2hvdWxkIGJlIHNl
cmlhbGl6ZWQgdG8KICAgICAvLyB0aGUgYXR0cmlidXRlIGltbWVkaWF0ZWx5LiBPdGhlcndpc2Ug
aXQgaXMgb2theSB0byBiZSBsYXp5IGluIHRoaXMgcmVnYXJkLgogICAgIGlmICghcHJvcGVydHlS
ZWdpc3RyeSgpLmlzQW5pbWF0ZWRTdHlsZVByb3BlcnR5QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUp
KQotICAgICAgICBhbmltYXRlZFByb3BlcnR5LnNldERpcnR5KCk7CisgICAgICAgIG1fZGlydHlB
dHRyaWJ1dGVzLmFkZChhdHRyaWJ1dGVOYW1lKTsKICAgICBlbHNlCiAgICAgICAgIHNldFN5bmNo
cm9uaXplZExhenlBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgYW5pbWF0ZWRQcm9wZXJ0eS5iYXNl
VmFsQXNTdHJpbmcoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCmluZGV4IDhjYzZhYWNhNjU3
NjgwZWU4ZDNmM2Y0NmM4NzgyYWQyMjU1Yzc3NDIuLmQ5MDg3NmFmZmI3NGU2MTUzMzIzZTUzNGM4
ODk3ZmQ4ZGU1NmUwZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaApAQCAtNDcsNyArNDcsNyBA
QCBjbGFzcyBTVkdVc2VFbGVtZW50OwogCiB2b2lkIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHko
SGFzaE1hcDxBdG9tU3RyaW5nSW1wbCosIENTU1Byb3BlcnR5SUQ+KiBwcm9wZXJ0eU5hbWVUb0lk
TWFwLCBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSk7CiAKLWNsYXNzIFNWR0VsZW1lbnQg
OiBwdWJsaWMgU3R5bGVkRWxlbWVudCwgcHVibGljIFNWR0xhbmdTcGFjZSwgcHVibGljIFNWR1By
b3BlcnR5T3duZXIgeworY2xhc3MgU1ZHRWxlbWVudCA6IHB1YmxpYyBTdHlsZWRFbGVtZW50LCBw
dWJsaWMgU1ZHTGFuZ1NwYWNlLCBwdWJsaWMgRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIgewogICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHRWxlbWVudCk7CiBwdWJsaWM6CiAgICAgYm9vbCBp
c091dGVybW9zdFNWR1NWR0VsZW1lbnQoKSBjb25zdDsKQEAgLTEzNiwxMCArMTM2LDEwIEBAIHB1
YmxpYzoKICAgICB2b2lkIHN5bmNocm9uaXplQWxsQXR0cmlidXRlcygpOwogICAgIHN0YXRpYyB2
b2lkIHN5bmNocm9uaXplQWxsQW5pbWF0ZWRTVkdBdHRyaWJ1dGUoU1ZHRWxlbWVudCYpOwogCi0g
ICAgdm9pZCBjb21taXRQcm9wZXJ0eUNoYW5nZShTVkdQcm9wZXJ0eSopIG92ZXJyaWRlOworICAg
IHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoRE9NTGl2ZVByb3BlcnR5Kikgb3ZlcnJpZGU7CiAg
ICAgdm9pZCBjb21taXRQcm9wZXJ0eUNoYW5nZShTVkdBbmltYXRlZFByb3BlcnR5Jik7CiAKLSAg
ICBjb25zdCBTVkdFbGVtZW50KiBhdHRyaWJ1dGVDb250ZXh0RWxlbWVudCgpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIHRoaXM7IH0KKyAgICBjb25zdCBTVkdFbGVtZW50KiBwcm9wZXJ0eVNWR0Nv
bnRleHRFbGVtZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdGhpczsgfQogICAgIFNWR1By
b3BlcnR5QW5pbWF0b3JGYWN0b3J5JiBwcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeSgpIHsgcmV0dXJu
ICptX3Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OyB9CiAgICAgUmVmUHRyPFNWR0F0dHJpYnV0ZUFu
aW1hdG9yPiBjcmVhdGVBbmltYXRvcihjb25zdCBRdWFsaWZpZWROYW1lJiwgQW5pbWF0aW9uTW9k
ZSwgQ2FsY01vZGUsIGJvb2wgaXNBY2N1bXVsYXRlZCwgYm9vbCBpc0FkZGl0aXZlKTsKICAgICB2
b2lkIGFuaW1hdG9yV2lsbEJlRGVsZXRlZChjb25zdCBRdWFsaWZpZWROYW1lJik7CkBAIC0xOTYs
NiArMTk2LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U1ZHUHJvcGVydHlBbmlt
YXRvckZhY3Rvcnk+IG1fcHJvcGVydHlBbmltYXRvckZhY3Rvcnk7CiAKICAgICBQcm9wZXJ0eVJl
Z2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07CisgICAgSGFzaFNldDxRdWFsaWZp
ZWROYW1lPiBtX2RpcnR5QXR0cmlidXRlczsKICAgICBSZWY8U1ZHQW5pbWF0ZWRTdHJpbmc+IG1f
Y2xhc3NOYW1lIHsgU1ZHQW5pbWF0ZWRTdHJpbmc6OmNyZWF0ZSh0aGlzKSB9OwogfTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmNwcAppbmRleCAxZjQ3ZDM2OGU5MDMxZjQ0YTBi
ZTBmZDI0MzUwYzcyZDE0MWY2NTQ5Li5hNDQwYzZjMmIzMjlhNjNlMTA5OGY2M2RkODFmOTk3MzA5
ZGMyMmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmNwcApAQCAtMzQsOSAr
MzQsMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TVkdGaXRUb1ZpZXdCb3g6OlNWR0Zp
dFRvVmlld0JveChTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCwgU1ZHUHJvcGVydHlBY2Nlc3Mg
YWNjZXNzKQotICAgIDogbV92aWV3Qm94KFNWR0FuaW1hdGVkUmVjdDo6Y3JlYXRlKGNvbnRleHRF
bGVtZW50LCBhY2Nlc3MpKQotICAgICwgbV9wcmVzZXJ2ZUFzcGVjdFJhdGlvKFNWR0FuaW1hdGVk
UHJlc2VydmVBc3BlY3RSYXRpbzo6Y3JlYXRlKGNvbnRleHRFbGVtZW50LCBhY2Nlc3MpKQorU1ZH
Rml0VG9WaWV3Qm94OjpTVkdGaXRUb1ZpZXdCb3goU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQp
CisgICAgOiBtX3ZpZXdCb3goU1ZHQW5pbWF0ZWRSZWN0OjpjcmVhdGUoc3RhdGljX2Nhc3Q8dm9p
ZCo+KGNvbnRleHRFbGVtZW50KSA9PSB0aGlzID8gY29udGV4dEVsZW1lbnQgOiBudWxscHRyKSkK
KyAgICAsIG1fcHJlc2VydmVBc3BlY3RSYXRpbyhTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0
aW86OmNyZWF0ZShzdGF0aWNfY2FzdDx2b2lkKj4oY29udGV4dEVsZW1lbnQpID09IHRoaXMgPyBj
b250ZXh0RWxlbWVudCA6IG51bGxwdHIpKQorICAgICwgbV9jb250ZXh0RWxlbWVudChjb250ZXh0
RWxlbWVudCkKIHsKICAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZUZsYWc7CiAgICAgc3Rk
OjpjYWxsX29uY2Uob25jZUZsYWcsIFtdIHsKQEAgLTEwNCwyOSArMTA1LDI5IEBAIGJvb2wgU1ZH
Rml0VG9WaWV3Qm94OjpwYXJzZVZpZXdCb3goY29uc3QgVUNoYXIqJiBjLCBjb25zdCBVQ2hhciog
ZW5kLCBGbG9hdFJlY3QmCiAgICAgYm9vbCB2YWxpZCA9IHBhcnNlTnVtYmVyKGMsIGVuZCwgeCkg
JiYgcGFyc2VOdW1iZXIoYywgZW5kLCB5KSAmJiBwYXJzZU51bWJlcihjLCBlbmQsIHdpZHRoKSAm
JiBwYXJzZU51bWJlcihjLCBlbmQsIGhlaWdodCwgZmFsc2UpOwogCiAgICAgaWYgKHZhbGlkYXRl
KSB7Ci0gICAgICAgIERvY3VtZW50JiBkb2N1bWVudCA9IG1fdmlld0JveC0+Y29udGV4dEVsZW1l
bnQoKS0+ZG9jdW1lbnQoKTsKKyAgICAgICAgYXV0byYgZG9jdW1lbnRFeHRlbnNpb25zID0gbV9j
b250ZXh0RWxlbWVudC0+ZG9jdW1lbnQoKS5hY2Nlc3NTVkdFeHRlbnNpb25zKCk7CiAKICAgICAg
ICAgaWYgKCF2YWxpZCkgewotICAgICAgICAgICAgZG9jdW1lbnQuYWNjZXNzU1ZHRXh0ZW5zaW9u
cygpLnJlcG9ydFdhcm5pbmcoIlByb2JsZW0gcGFyc2luZyB2aWV3Qm94PVwiIiArIHN0ciArICJc
IiIpOworICAgICAgICAgICAgZG9jdW1lbnRFeHRlbnNpb25zLnJlcG9ydFdhcm5pbmcoIlByb2Js
ZW0gcGFyc2luZyB2aWV3Qm94PVwiIiArIHN0ciArICJcIiIpOwogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICB9CiAKICAgICAgICAgLy8gQ2hlY2sgdGhhdCB3aWR0aCBpcyBwb3Np
dGl2ZS4KICAgICAgICAgaWYgKHdpZHRoIDwgMC4wKSB7Ci0gICAgICAgICAgICBkb2N1bWVudC5h
Y2Nlc3NTVkdFeHRlbnNpb25zKCkucmVwb3J0RXJyb3IoIkEgbmVnYXRpdmUgdmFsdWUgZm9yIFZp
ZXdCb3ggd2lkdGggaXMgbm90IGFsbG93ZWQiKTsKKyAgICAgICAgICAgIGRvY3VtZW50RXh0ZW5z
aW9ucy5yZXBvcnRFcnJvcigiQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgVmlld0JveCB3aWR0aCBpcyBu
b3QgYWxsb3dlZCIpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAKICAg
ICAgICAgLy8gQ2hlY2sgdGhhdCBoZWlnaHQgaXMgcG9zaXRpdmUuCiAgICAgICAgIGlmIChoZWln
aHQgPCAwLjApIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS5y
ZXBvcnRFcnJvcigiQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgVmlld0JveCBoZWlnaHQgaXMgbm90IGFs
bG93ZWQiKTsKKyAgICAgICAgICAgIGRvY3VtZW50RXh0ZW5zaW9ucy5yZXBvcnRFcnJvcigiQSBu
ZWdhdGl2ZSB2YWx1ZSBmb3IgVmlld0JveCBoZWlnaHQgaXMgbm90IGFsbG93ZWQiKTsKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIE5vdGhpbmcgc2hv
dWxkIGNvbWUgYWZ0ZXIgdGhlIGxhc3QsIGZvdXJ0aCBudW1iZXIuCiAgICAgICAgIHNraXBPcHRp
b25hbFNWR1NwYWNlcyhjLCBlbmQpOwogICAgICAgICBpZiAoYyA8IGVuZCkgewotICAgICAgICAg
ICAgZG9jdW1lbnQuYWNjZXNzU1ZHRXh0ZW5zaW9ucygpLnJlcG9ydFdhcm5pbmcoIlByb2JsZW0g
cGFyc2luZyB2aWV3Qm94PVwiIiArIHN0ciArICJcIiIpOworICAgICAgICAgICAgZG9jdW1lbnRF
eHRlbnNpb25zLnJlcG9ydFdhcm5pbmcoIlByb2JsZW0gcGFyc2luZyB2aWV3Qm94PVwiIiArIHN0
ciArICJcIiIpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAgICAgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5oCmluZGV4IDkwN2Q2NTVjZDFiMWI5YjM3MmEy
MGY4MTg5MjM2MDQyZTIwZjBmZDAuLjU5NmRmZGMxZDA1NjdhMDQ3ZjViODljYWRhNTg0MDdiYzQ5
ZmI0MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmgKQEAgLTU5LDcgKzU5LDcg
QEAgcHVibGljOgogICAgIGJvb2wgaGFzRW1wdHlWaWV3Qm94KCkgY29uc3QgeyByZXR1cm4gbV9p
c1ZpZXdCb3hWYWxpZCAmJiB2aWV3Qm94KCkuaXNFbXB0eSgpOyB9CiAKIHByb3RlY3RlZDoKLSAg
ICBTVkdGaXRUb1ZpZXdCb3goU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQsIFNWR1Byb3BlcnR5
QWNjZXNzID0gU1ZHUHJvcGVydHlBY2Nlc3M6OlJlYWRXcml0ZSk7CisgICAgU1ZHRml0VG9WaWV3
Qm94KFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KTsKIAogICAgIHN0YXRpYyBib29sIGlzS25v
d25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgeyByZXR1cm4g
UHJvcGVydHlSZWdpc3RyeTo6aXNLbm93bkF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKTsgfQogCkBA
IC03MSw2ICs3MSw3IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAgICAgUmVmPFNWR0FuaW1hdGVk
UmVjdD4gbV92aWV3Qm94OwogICAgIFJlZjxTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8+
IG1fcHJlc2VydmVBc3BlY3RSYXRpbzsKKyAgICBTVkdFbGVtZW50KiBtX2NvbnRleHRFbGVtZW50
IHsgbnVsbHB0ciB9OwogICAgIGJvb2wgbV9pc1ZpZXdCb3hWYWxpZCB7IGZhbHNlIH07CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuY3BwCmluZGV4IGIzZDMwMWMw
ZjBmNzkwOWE1YzliODEyODhiMTcwNTA4N2E1OTA2ZjguLmMzMmNmYTRmZjM4YTA2ZDQ5NzE2NGY1
YjNlMjVkYmYxNTJkMjc3NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9t
ZXRyeUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1l
bnQuY3BwCkBAIC0yOCw3ICsyOCw2IEBACiAjaW5jbHVkZSAiUmVuZGVyU1ZHU2hhcGUuaCIKICNp
bmNsdWRlICJTVkdEb2N1bWVudEV4dGVuc2lvbnMuaCIKICNpbmNsdWRlICJTVkdQYXRoVXRpbGl0
aWVzLmgiCi0jaW5jbHVkZSAiU1ZHUG9pbnQuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5s
aW5lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01NSw3ICs1NCw3IEBAIGZsb2F0IFNW
R0dlb21ldHJ5RWxlbWVudDo6Z2V0VG90YWxMZW5ndGgoKSBjb25zdAogICAgIHJldHVybiByZW5k
ZXJlci0+Z2V0VG90YWxMZW5ndGgoKTsKIH0KIAotUmVmPFNWR1BvaW50PiBTVkdHZW9tZXRyeUVs
ZW1lbnQ6OmdldFBvaW50QXRMZW5ndGgoZmxvYXQgZGlzdGFuY2UpIGNvbnN0CitSZWY8RE9NUG9p
bnQ+IFNWR0dlb21ldHJ5RWxlbWVudDo6Z2V0UG9pbnRBdExlbmd0aChmbG9hdCBkaXN0YW5jZSkg
Y29uc3QKIHsKICAgICBGbG9hdFBvaW50IHBvaW50IHsgfTsKIApAQCAtNjUsNyArNjQsNyBAQCBS
ZWY8U1ZHUG9pbnQ+IFNWR0dlb21ldHJ5RWxlbWVudDo6Z2V0UG9pbnRBdExlbmd0aChmbG9hdCBk
aXN0YW5jZSkgY29uc3QKICAgICBpZiAocmVuZGVyZXIpCiAgICAgICAgIHJlbmRlcmVyLT5nZXRQ
b2ludEF0TGVuZ3RoKHBvaW50LCBkaXN0YW5jZSk7CiAKLSAgICByZXR1cm4gU1ZHUG9pbnQ6OmNy
ZWF0ZShwb2ludCk7CisgICAgcmV0dXJuIERPTVBvaW50OjpjcmVhdGUocG9pbnQueCgpLCBwb2lu
dC55KCkpOwogfQogCiBib29sIFNWR0dlb21ldHJ5RWxlbWVudDo6aXNQb2ludEluRmlsbChET01Q
b2ludEluaXQmJiBwb2ludEluaXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
R2VvbWV0cnlFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50
LmgKaW5kZXggNTU1Y2IxOTk0M2MxODUwNDdjYjM1ZTQwZTM5N2Y2MWIwY2QwNmI2MC4uY2UxYmEx
NGMwNGY1N2E3Nzc4ZmUwOWE1OWEzYjYzMGI2ODgyMTFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdHZW9tZXRyeUVsZW1lbnQuaApAQCAtMjksMTMgKzI5LDEzIEBACiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIHN0cnVjdCBET01Qb2ludEluaXQ7Ci1jbGFzcyBTVkdQb2ludDsKK2NsYXNzIERPTVBv
aW50OwogCiBjbGFzcyBTVkdHZW9tZXRyeUVsZW1lbnQgOiBwdWJsaWMgU1ZHR3JhcGhpY3NFbGVt
ZW50IHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNWR0dlb21ldHJ5RWxlbWVudCk7CiBw
dWJsaWM6CiAgICAgdmlydHVhbCBmbG9hdCBnZXRUb3RhbExlbmd0aCgpIGNvbnN0OwotICAgIHZp
cnR1YWwgUmVmPFNWR1BvaW50PiBnZXRQb2ludEF0TGVuZ3RoKGZsb2F0IGRpc3RhbmNlKSBjb25z
dDsKKyAgICB2aXJ0dWFsIFJlZjxET01Qb2ludD4gZ2V0UG9pbnRBdExlbmd0aChmbG9hdCBkaXN0
YW5jZSkgY29uc3Q7CiAKICAgICBib29sIGlzUG9pbnRJbkZpbGwoRE9NUG9pbnRJbml0JiYpOwog
ICAgIGJvb2wgaXNQb2ludEluU3Ryb2tlKERPTVBvaW50SW5pdCYmKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5pZGwKaW5kZXggNTZkZjZmMTBhZjM0YTI5ZjViOWVlZGNl
YTE1NzU1YTNjYzAyZDdmNC4uZDlmZjg2Mzg4ZDNlMTVmYmUzOGNlMmU4Mjc4ZTBkNTdlODg5OWE3
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5pZGwKQEAgLTMwLDUg
KzMwLDUgQEAgaW50ZXJmYWNlIFNWR0dlb21ldHJ5RWxlbWVudCA6IFNWR0dyYXBoaWNzRWxlbWVu
dCB7CiAgICAgYm9vbGVhbiBpc1BvaW50SW5GaWxsKG9wdGlvbmFsIERPTVBvaW50SW5pdCBwb2lu
dCk7CiAgICAgYm9vbGVhbiBpc1BvaW50SW5TdHJva2Uob3B0aW9uYWwgRE9NUG9pbnRJbml0IHBv
aW50KTsKICAgICB1bnJlc3RyaWN0ZWQgZmxvYXQgZ2V0VG90YWxMZW5ndGgoKTsKLSAgICBbTmV3
T2JqZWN0XSBTVkdQb2ludCBnZXRQb2ludEF0TGVuZ3RoKGZsb2F0IGRpc3RhbmNlKTsKKyAgICBb
TmV3T2JqZWN0XSBET01Qb2ludCBnZXRQb2ludEF0TGVuZ3RoKGZsb2F0IGRpc3RhbmNlKTsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHTGVuZ3RoLmgKaW5kZXggZWQ1MDAzODJjNWZlODM4MWQ0Nzc5NjhiOTA5MzAw
ZjZiZmM0ZDkyZC4uNjBhNWI1NmU1M2JhZDBhMGJhMDEzYTQ2NDY1N2JhNjFmYTE4ZTZjMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdMZW5ndGguaApAQCAtNjIsOSArNjIsOSBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFNWR0xlbmd0aCh2YWx1ZSkpOwogICAgIH0KIAotICAgIHN0YXRp
YyBSZWY8U1ZHTGVuZ3RoPiBjcmVhdGUoU1ZHUHJvcGVydHlPd25lciogb3duZXIsIFNWR1Byb3Bl
cnR5QWNjZXNzIGFjY2VzcywgY29uc3QgU1ZHTGVuZ3RoVmFsdWUmIHZhbHVlID0geyB9KQorICAg
IHN0YXRpYyBSZWY8U1ZHTGVuZ3RoPiBjcmVhdGUoRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9i
c2VydmVyLCBjb25zdCBTVkdMZW5ndGhWYWx1ZSYgdmFsdWUgPSB7IH0pCiAgICAgewotICAgICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdMZW5ndGgob3duZXIsIGFjY2VzcywgdmFsdWUpKTsK
KyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHTGVuZ3RoKG9ic2VydmVyLCB2YWx1ZSkp
OwogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CkBAIC04Nyw3ICs4Nyw3IEBAIHB1
YmxpYzoKIAogICAgIEV4Y2VwdGlvbk9yPGZsb2F0PiB2YWx1ZUZvckJpbmRpbmdzKCkKICAgICB7
Ci0gICAgICAgIHJldHVybiBtX3ZhbHVlLnZhbHVlRm9yQmluZGluZ3MoU1ZHTGVuZ3RoQ29udGV4
dCB7IGNvbnRleHRFbGVtZW50KCkgfSk7CisgICAgICAgIHJldHVybiBtX3ZhbHVlLnZhbHVlRm9y
QmluZGluZ3MoU1ZHTGVuZ3RoQ29udGV4dCB7IHN2Z0NvbnRleHRFbGVtZW50KCkgfSk7CiAgICAg
fQogCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0VmFsdWVGb3JCaW5kaW5ncyhmbG9hdCB2YWx1
ZSkKQEAgLTk1LDcgKzk1LDcgQEAgcHVibGljOgogICAgICAgICBpZiAoaXNSZWFkT25seSgpKQog
ICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9y
IH07CiAKLSAgICAgICAgYXV0byByZXN1bHQgPSBtX3ZhbHVlLnNldFZhbHVlKFNWR0xlbmd0aENv
bnRleHQgeyBjb250ZXh0RWxlbWVudCgpIH0sIHZhbHVlKTsKKyAgICAgICAgYXV0byByZXN1bHQg
PSBtX3ZhbHVlLnNldFZhbHVlKFNWR0xlbmd0aENvbnRleHQgeyBzdmdDb250ZXh0RWxlbWVudCgp
IH0sIHZhbHVlKTsKICAgICAgICAgaWYgKHJlc3VsdC5oYXNFeGNlcHRpb24oKSkKICAgICAgICAg
ICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgIApAQCAtMTUyLDcgKzE1Miw3IEBAIHB1YmxpYzoK
ICAgICAgICAgaWYgKHVuaXRUeXBlID09IFNWR19MRU5HVEhUWVBFX1VOS05PV04gfHwgdW5pdFR5
cGUgPiBTVkdfTEVOR1RIVFlQRV9QQykKICAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBO
b3RTdXBwb3J0ZWRFcnJvciB9OwogCi0gICAgICAgIGF1dG8gcmVzdWx0ID0gbV92YWx1ZS5jb252
ZXJ0VG9TcGVjaWZpZWRVbml0cyhTVkdMZW5ndGhDb250ZXh0IHsgY29udGV4dEVsZW1lbnQoKSB9
LCBzdGF0aWNfY2FzdDxTVkdMZW5ndGhUeXBlPih1bml0VHlwZSkpOworICAgICAgICBhdXRvIHJl
c3VsdCA9IG1fdmFsdWUuY29udmVydFRvU3BlY2lmaWVkVW5pdHMoU1ZHTGVuZ3RoQ29udGV4dCB7
IHN2Z0NvbnRleHRFbGVtZW50KCkgfSwgc3RhdGljX2Nhc3Q8U1ZHTGVuZ3RoVHlwZT4odW5pdFR5
cGUpKTsKICAgICAgICAgaWYgKHJlc3VsdC5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgICAgIHJl
dHVybiByZXN1bHQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGhM
aXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5oCmluZGV4IDVlYjU3MDFj
Njc0Njg3OTJkMDU2MmMxNWI1MjE2YjQ5MmMwMjFlZDguLjMyZDU4NzRkMjkzNzI0NmM3MDUyMTM5
MTNiMTRmMDQ1NjNmZmRlMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5n
dGhMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuaApAQCAtNDAs
MTQgKzQwLDE0IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHTGVu
Z3RoTGlzdChsZW5ndGhNb2RlKSk7CiAgICAgfQogCi0gICAgc3RhdGljIFJlZjxTVkdMZW5ndGhM
aXN0PiBjcmVhdGUoU1ZHUHJvcGVydHlPd25lciogb3duZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFj
Y2VzcywgU1ZHTGVuZ3RoTW9kZSBsZW5ndGhNb2RlKQorICAgIHN0YXRpYyBSZWY8U1ZHTGVuZ3Ro
TGlzdD4gY3JlYXRlKERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZlciwgU1ZHTGVuZ3Ro
TW9kZSBsZW5ndGhNb2RlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZH
TGVuZ3RoTGlzdChvd25lciwgYWNjZXNzLCBsZW5ndGhNb2RlKSk7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFNWR0xlbmd0aExpc3Qob2JzZXJ2ZXIsIGxlbmd0aE1vZGUpKTsKICAgICB9
CiAKLSAgICBzdGF0aWMgUmVmPFNWR0xlbmd0aExpc3Q+IGNyZWF0ZShjb25zdCBTVkdMZW5ndGhM
aXN0JiBvdGhlciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzKQorICAgIHN0YXRpYyBSZWY8U1ZH
TGVuZ3RoTGlzdD4gY3JlYXRlKGNvbnN0IFNWR0xlbmd0aExpc3QmIG90aGVyKQogICAgIHsKLSAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHTGVuZ3RoTGlzdChvdGhlciwgYWNjZXNzKSk7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR0xlbmd0aExpc3Qob3RoZXIpKTsKICAg
ICB9CiAKICAgICBTVkdMZW5ndGhNb2RlIGxlbmd0aE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2xl
bmd0aE1vZGU7IH0KQEAgLTg2LDcgKzg2LDcgQEAgcHVibGljOgogICAgICAgICAgICAgaWYgKGJ1
aWxkZXIubGVuZ3RoKCkpCiAgICAgICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKIAot
ICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQobGVuZ3RoLT52YWx1ZSgpLnZhbHVlQXNTdHJpbmco
KSk7CisgICAgICAgICAgICBidWlsZGVyLmFwcGVuZChsZW5ndGgtPnZhbHVlQXNTdHJpbmcoKSk7
CiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm4gYnVpbGRlci50b1N0cmluZygpOwpAQCAtOTgs
MTQgKzk4LDE0IEBAIHByaXZhdGU6CiAgICAgewogICAgIH0KIAotICAgIFNWR0xlbmd0aExpc3Qo
U1ZHUHJvcGVydHlPd25lciogb3duZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcywgU1ZHTGVu
Z3RoTW9kZSBsZW5ndGhNb2RlKQotICAgICAgICA6IEJhc2Uob3duZXIsIGFjY2VzcykKKyAgICBT
VkdMZW5ndGhMaXN0KERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZlciwgU1ZHTGVuZ3Ro
TW9kZSBsZW5ndGhNb2RlKQorICAgICAgICA6IEJhc2Uob2JzZXJ2ZXIpCiAgICAgICAgICwgbV9s
ZW5ndGhNb2RlKGxlbmd0aE1vZGUpCiAgICAgewogICAgIH0KIAotICAgIFNWR0xlbmd0aExpc3Qo
Y29uc3QgU1ZHTGVuZ3RoTGlzdCYgb3RoZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcykKLSAg
ICAgICAgOiBCYXNlKG90aGVyLCBhY2Nlc3MpCisgICAgU1ZHTGVuZ3RoTGlzdChjb25zdCBTVkdM
ZW5ndGhMaXN0JiBvdGhlcikKKyAgICAgICAgOiBCYXNlKG90aGVyKQogICAgICAgICAsIG1fbGVu
Z3RoTW9kZShvdGhlci5sZW5ndGhNb2RlKCkpCiAgICAgewogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXRyaXguaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXRy
aXguaAppbmRleCBkOGMzN2RjYjI2ZGJlNDUxOGFjOTFmZDJlMWM3NWU5NDJjMWQyMjc2Li5mMDAz
OGM0YzA3ZTBhZmM1ZTdiOWYyYmJiZDU4MGY4YWRhZGEyNzlmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHTWF0cml4LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hdHJp
eC5oCkBAIC00Miw5ICs0Miw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgU1ZHTWF0cml4KHZhbHVlKSk7CiAgICAgfQogCi0gICAgc3RhdGljIFJlZjxTVkdNYXRyaXg+
IGNyZWF0ZShTVkdQcm9wZXJ0eU93bmVyKiBvd25lciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNz
LCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHZhbHVlID0geyB9KQorICAgIHN0YXRpYyBSZWY8U1ZH
TWF0cml4PiBjcmVhdGUoRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyLCBjb25zdCBB
ZmZpbmVUcmFuc2Zvcm0mIHZhbHVlID0geyB9KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgU1ZHTWF0cml4KG93bmVyLCBhY2Nlc3MsIHZhbHVlKSk7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFNWR01hdHJpeChvYnNlcnZlciwgdmFsdWUpKTsKICAgICB9CiAKICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R051bWJlci5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR051bWJlci5oCmluZGV4IDIzYzgyZTQ0
ZTY3N2Q4ZDM2MGM5NjE1NGM3OTVkYWI4Nzc2YTFmYTQuLjU5OGEwZjU5NjE5OTJhNGI3OWY3MDg5
ZTQ0ODliNjM1NjMyMWVkYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdOdW1i
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVtYmVyLmgKQEAgLTQwLDkgKzQwLDkg
QEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdOdW1iZXIodmFsdWUp
KTsKICAgICB9CiAKLSAgICBzdGF0aWMgUmVmPFNWR051bWJlcj4gY3JlYXRlKFNWR1Byb3BlcnR5
T3duZXIqIG93bmVyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MsIGZsb2F0IHZhbHVlID0gMCkK
KyAgICBzdGF0aWMgUmVmPFNWR051bWJlcj4gY3JlYXRlKERPTUxpdmVQcm9wZXJ0eU9ic2VydmVy
KiBvYnNlcnZlciwgZmxvYXQgdmFsdWUgPSAwKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgU1ZHTnVtYmVyKG93bmVyLCBhY2Nlc3MsIHZhbHVlKSk7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFNWR051bWJlcihvYnNlcnZlciwgdmFsdWUpKTsKICAgICB9CiAKICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R051bWJlckxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdOdW1iZXJMaXN0LmgKaW5kZXgg
NWI1ZDU3ZTg0NmY0MzFhYWY1YzA4ZGJjOWE0YzM0YWJlODRkNmQxZi4uNjgxYjRkY2VmOGNlYzkz
NTExYmUwNTkyMDU0Y2YwODFlOTAzNzc1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR051bWJlckxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVtYmVyTGlzdC5o
CkBAIC00MCwxNCArNDAsMTQgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBTVkdOdW1iZXJMaXN0KCkpOwogICAgIH0KIAotICAgIHN0YXRpYyBSZWY8U1ZHTnVtYmVyTGlz
dD4gY3JlYXRlKFNWR1Byb3BlcnR5T3duZXIqIG93bmVyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nl
c3MpCisgICAgc3RhdGljIFJlZjxTVkdOdW1iZXJMaXN0PiBjcmVhdGUoRE9NTGl2ZVByb3BlcnR5
T2JzZXJ2ZXIqIG9ic2VydmVyKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U1ZHTnVtYmVyTGlzdChvd25lciwgYWNjZXNzKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFNWR051bWJlckxpc3Qob2JzZXJ2ZXIpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUmVmPFNW
R051bWJlckxpc3Q+IGNyZWF0ZShjb25zdCBTVkdOdW1iZXJMaXN0JiBvdGhlciwgU1ZHUHJvcGVy
dHlBY2Nlc3MgYWNjZXNzKQorICAgIHN0YXRpYyBSZWY8U1ZHTnVtYmVyTGlzdD4gY3JlYXRlKGNv
bnN0IFNWR051bWJlckxpc3QmIG90aGVyKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgU1ZHTnVtYmVyTGlzdChvdGhlciwgYWNjZXNzKSk7CisgICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFNWR051bWJlckxpc3Qob3RoZXIpKTsKICAgICB9CiAKICAgICBib29sIHBhcnNl
KGNvbnN0IFN0cmluZyYgdmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
UGF0aEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcApp
bmRleCA2YmExNDQwZDc1MjE4ZGZlNDlkYWVjNGI1ZWRhNzg0MTEwNWUxYWE4Li5iNDc1NWQ0MmI0
YzM4Mjc0M2E4ZDY0OGFlNzRlNDYzOTVjNDMwNTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
RWxlbWVudC5jcHAKQEAgLTIyLDEzICsyMiwxMyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIlNWR1BhdGhFbGVtZW50LmgiCiAKKyNpbmNsdWRlICJET01Qb2ludC5oIgogI2luY2x1
ZGUgIlJlbmRlclNWR1BhdGguaCIKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgogI2lu
Y2x1ZGUgIlNWR0RvY3VtZW50RXh0ZW5zaW9ucy5oIgogI2luY2x1ZGUgIlNWR01QYXRoRWxlbWVu
dC5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFV0aWxpdGllcy5o
IgotI2luY2x1ZGUgIlNWR1BvaW50LmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTE0LDExICsxMTQsMTEgQEAgZmxvYXQgU1ZH
UGF0aEVsZW1lbnQ6OmdldFRvdGFsTGVuZ3RoKCkgY29uc3QKICAgICByZXR1cm4gdG90YWxMZW5n
dGg7CiB9CiAKLVJlZjxTVkdQb2ludD4gU1ZHUGF0aEVsZW1lbnQ6OmdldFBvaW50QXRMZW5ndGgo
ZmxvYXQgbGVuZ3RoKSBjb25zdAorUmVmPERPTVBvaW50PiBTVkdQYXRoRWxlbWVudDo6Z2V0UG9p
bnRBdExlbmd0aChmbG9hdCBsZW5ndGgpIGNvbnN0CiB7CiAgICAgRmxvYXRQb2ludCBwb2ludDsK
ICAgICBnZXRQb2ludEF0TGVuZ3RoT2ZTVkdQYXRoQnl0ZVN0cmVhbShwYXRoQnl0ZVN0cmVhbSgp
LCBsZW5ndGgsIHBvaW50KTsKLSAgICByZXR1cm4gU1ZHUG9pbnQ6OmNyZWF0ZShwb2ludCk7Cisg
ICAgcmV0dXJuIERPTVBvaW50OjpjcmVhdGUocG9pbnQueCgpLCBwb2ludC55KCkpOwogfQogCiB1
bnNpZ25lZCBTVkdQYXRoRWxlbWVudDo6Z2V0UGF0aFNlZ0F0TGVuZ3RoKGZsb2F0IGxlbmd0aCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmgKaW5kZXggM2E1OTc3M2EwM2QzMGU3
NzdlYjMzYjUwYzM5ZDEwOWZmNWI4NWFjOC4uNzc5ZmRmMmY5NjMyNDk4NmJhNTg2N2I2ZWIxOTgw
ZDQ3ODBiNDAwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmgKQEAgLTMwLDggKzMw
LDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBET01Qb2ludDsKIGNsYXNzIFNW
R1BhdGhTZWdMaXN0OwotY2xhc3MgU1ZHUG9pbnQ7CiAKIGNsYXNzIFNWR1BhdGhFbGVtZW50IGZp
bmFsIDogcHVibGljIFNWR0dlb21ldHJ5RWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHUGF0aEVsZW1lbnQp
OwpAQCAtODksNyArODksNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgZmxvYXQgZ2V0VG90YWxM
ZW5ndGgoKSBjb25zdCBmaW5hbDsKLSAgICBSZWY8U1ZHUG9pbnQ+IGdldFBvaW50QXRMZW5ndGgo
ZmxvYXQgZGlzdGFuY2UpIGNvbnN0IGZpbmFsOworICAgIFJlZjxET01Qb2ludD4gZ2V0UG9pbnRB
dExlbmd0aChmbG9hdCBkaXN0YW5jZSkgY29uc3QgZmluYWw7CiAgICAgdW5zaWduZWQgZ2V0UGF0
aFNlZ0F0TGVuZ3RoKGZsb2F0IGRpc3RhbmNlKSBjb25zdDsKIAogICAgIEZsb2F0UmVjdCBnZXRC
Qm94KFN0eWxlVXBkYXRlU3RyYXRlZ3kgPSBBbGxvd1N0eWxlVXBkYXRlKSBmaW5hbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGlzdC5oIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1BhdGhTZWdMaXN0LmgKaW5kZXggOTRmNmYzOWU0ZTFmMWI2NzQ0MzNjYTI1MDE1
MzgxOGY0ZjYyZmU0Mi4uZTY2ZjhhMGE3YjBjMDBlNmI2NDQwM2E1MDNjYWZiMTU0MTIxNDE1NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaXN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaXN0LmgKQEAgLTM2LDE0ICszNiwxNCBAQCBjbGFz
cyBTVkdQYXRoU2VnTGlzdCBmaW5hbCA6IHB1YmxpYyBTVkdQcm9wZXJ0eUxpc3Q8U1ZHUGF0aFNl
Zz4gewogICAgIHVzaW5nIEJhc2U6OkJhc2U7CiAKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFNW
R1BhdGhTZWdMaXN0PiBjcmVhdGUoU1ZHUHJvcGVydHlPd25lciogb3duZXIsIFNWR1Byb3BlcnR5
QWNjZXNzIGFjY2VzcykKKyAgICBzdGF0aWMgUmVmPFNWR1BhdGhTZWdMaXN0PiBjcmVhdGUoRE9N
TGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgU1ZHUGF0aFNlZ0xpc3Qob3duZXIsIGFjY2VzcykpOworICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBTVkdQYXRoU2VnTGlzdChvYnNlcnZlcikpOwogICAgIH0KIAotICAg
IHN0YXRpYyBSZWY8U1ZHUGF0aFNlZ0xpc3Q+IGNyZWF0ZShjb25zdCBTVkdQYXRoU2VnTGlzdCYg
b3RoZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcykKKyAgICBzdGF0aWMgUmVmPFNWR1BhdGhT
ZWdMaXN0PiBjcmVhdGUoY29uc3QgU1ZHUGF0aFNlZ0xpc3QmIG90aGVyKQogICAgIHsKLSAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUGF0aFNlZ0xpc3Qob3RoZXIsIGFjY2VzcykpOwor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdQYXRoU2VnTGlzdChvdGhlcikpOwogICAg
IH0KIAogICAgIHN0YXRpYyBSZWY8U1ZHUGF0aFNlZ0xpc3Q+IGNyZWF0ZShSZWY8U1ZHUGF0aFNl
Zz4mJiBuZXdJdGVtKQpAQCAtMTU5LDggKzE1OSw4IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZh
dGU6Ci0gICAgU1ZHUGF0aFNlZ0xpc3QoY29uc3QgU1ZHUGF0aFNlZ0xpc3QmIG90aGVyLCBTVkdQ
cm9wZXJ0eUFjY2VzcyBhY2Nlc3MpCi0gICAgICAgIDogQmFzZShvdGhlci5vd25lcigpLCBhY2Nl
c3MpCisgICAgU1ZHUGF0aFNlZ0xpc3QoY29uc3QgU1ZHUGF0aFNlZ0xpc3QmIG90aGVyKQorICAg
ICAgICA6IEJhc2Uob3RoZXIub2JzZXJ2ZXIoKSkKICAgICAgICAgLCBtX3BhdGhCeXRlU3RyZWFt
KG90aGVyLnBhdGhCeXRlU3RyZWFtKCkpCiAgICAgewogICAgIH0KQEAgLTE3Miw3ICsxNzIsNyBA
QCBwcml2YXRlOgogICAgIH0KIAogICAgIC8vIENhbGxlZCB3aGVuIGNoYW5naW5nIGFuIGl0ZW0g
aW4gdGhlIGxpc3QuCi0gICAgdm9pZCBjb21taXRQcm9wZXJ0eUNoYW5nZShTVkdQcm9wZXJ0eSog
cHJvcGVydHkpIG92ZXJyaWRlCisgICAgdm9pZCBjb21taXRQcm9wZXJ0eUNoYW5nZShET01MaXZl
UHJvcGVydHkqIHByb3BlcnR5KSBvdmVycmlkZQogICAgIHsKICAgICAgICAgaXRlbXNXaWxsQ2hh
bmdlKCk7CiAgICAgICAgIEJhc2U6OmNvbW1pdFByb3BlcnR5Q2hhbmdlKHByb3BlcnR5KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2ludC5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BvaW50LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3NDQ1YjlmY2Ix
ZmI0MGI1MTM5NmUxOTJlNzM0NTg2YzYzNTRiNTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50LmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw5OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1
bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTgtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFn
bWEgb25jZQotCi0jaW5jbHVkZSAiRmxvYXRQb2ludC5oIgotI2luY2x1ZGUgIlNWR01hdHJpeC5o
IgotI2luY2x1ZGUgIlNWR1Byb3BlcnR5VHJhaXRzLmgiCi0jaW5jbHVkZSAiU1ZHVmFsdWVQcm9w
ZXJ0eS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFNWR1BvaW50IDogcHVibGlj
IFNWR1ZhbHVlUHJvcGVydHk8RmxvYXRQb2ludD4gewotICAgIHVzaW5nIEJhc2UgPSBTVkdWYWx1
ZVByb3BlcnR5PEZsb2F0UG9pbnQ+OwotICAgIHVzaW5nIEJhc2U6OkJhc2U7Ci0gICAgdXNpbmcg
QmFzZTo6bV92YWx1ZTsKLQotcHVibGljOgotICAgIHN0YXRpYyBSZWY8U1ZHUG9pbnQ+IGNyZWF0
ZShjb25zdCBGbG9hdFBvaW50JiB2YWx1ZSA9IHsgfSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFNWR1BvaW50KHZhbHVlKSk7Ci0gICAgfQotCi0gICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVD4KLSAgICBzdGF0aWMgRXhjZXB0aW9uT3I8UmVmPFNWR1BvaW50Pj4gY3JlYXRlKEV4
Y2VwdGlvbk9yPFQ+JiYgdmFsdWUpCi0gICAgewotICAgICAgICBpZiAodmFsdWUuaGFzRXhjZXB0
aW9uKCkpCi0gICAgICAgICAgICByZXR1cm4gdmFsdWUucmVsZWFzZUV4Y2VwdGlvbigpOwotICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdQb2ludCh2YWx1ZS5yZWxlYXNlUmV0dXJuVmFs
dWUoKSkpOwotICAgIH0KLQotICAgIFJlZjxTVkdQb2ludD4gY2xvbmUoKSBjb25zdAotICAgIHsK
LSAgICAgICAgcmV0dXJuIFNWR1BvaW50OjpjcmVhdGUobV92YWx1ZSk7Ci0gICAgfQotICAgIAot
ICAgIGZsb2F0IHgoKSB7IHJldHVybiBtX3ZhbHVlLngoKTsgfQotCi0gICAgRXhjZXB0aW9uT3I8
dm9pZD4gc2V0WChmbG9hdCB4KQotICAgIHsKLSAgICAgICAgaWYgKGlzUmVhZE9ubHkoKSkKLSAg
ICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvciB9
OwotCi0gICAgICAgIG1fdmFsdWUuc2V0WCh4KTsKLSAgICAgICAgY29tbWl0Q2hhbmdlKCk7Ci0K
LSAgICAgICAgcmV0dXJuIHsgfTsKLSAgICB9Ci0KLSAgICBmbG9hdCB5KCkgeyByZXR1cm4gbV92
YWx1ZS55KCk7IH0KLQotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFkoZmxvYXQgeSkKLSAgICB7
Ci0gICAgICAgIGlmIChpc1JlYWRPbmx5KCkpCi0gICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3IgfTsKLQotICAgICAgICBtX3ZhbHVlLnNldFko
eSk7Ci0gICAgICAgIGNvbW1pdENoYW5nZSgpOwotICAgICAgICByZXR1cm4geyB9OwotICAgIH0K
LQotICAgIFJlZjxTVkdQb2ludD4gbWF0cml4VHJhbnNmb3JtKFNWR01hdHJpeCYgbWF0cml4KSBj
b25zdAotICAgIHsKLSAgICAgICAgYXV0byBuZXdQb2ludCA9IG1fdmFsdWUubWF0cml4VHJhbnNm
b3JtKG1hdHJpeC52YWx1ZSgpKTsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUG9p
bnQobmV3UG9pbnQpKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgU3RyaW5nIHZhbHVlQXNTdHJp
bmcoKSBjb25zdCBvdmVycmlkZQotICAgIHsKLSAgICAgICAgcmV0dXJuIFNWR1Byb3BlcnR5VHJh
aXRzPEZsb2F0UG9pbnQ+Ojp0b1N0cmluZyhtX3ZhbHVlKTsKLSAgICB9Ci19OwotCi19IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnQu
aWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50LmlkbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNWQ4MjI0OTBkYmJlMjIxOGEyNTFhYThiMWM5YmE2YTk3MzEzZGQ2NS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUG9pbnQuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5A
a2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSBSb2IgQnVpcyA8YnVpc0BrZGUu
b3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21h
aWwuY29tPgotICogQ29weXJpZ2h0IChDKSAyMDA2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0g
Ki8KLQotWwotICAgIFNraXBWVGFibGVWYWxpZGF0aW9uCi1dIGludGVyZmFjZSBTVkdQb2ludCB7
Ci0gICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCB4OwotICAgIGF0dHJpYnV0ZSB1bnJl
c3RyaWN0ZWQgZmxvYXQgeTsKLQotICAgIFtOZXdPYmplY3RdIFNWR1BvaW50IG1hdHJpeFRyYW5z
Zm9ybShTVkdNYXRyaXggbWF0cml4KTsKLX07Ci0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQb2ludExpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2ludExpc3QuaApp
bmRleCA4YzZjNTBiMGUzYmFjZTUzNmFlNTBlYmIyOGMxYjQ2ZTE1NzQ5ZTgxLi44ZDQxOTNlNmI0
ZWYwNTRlZjZjNGQ1NWNiNDU3ZmNkMDUwNmY5ZDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHUG9pbnRMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50TGlz
dC5oCkBAIC0yNSwxMyArMjUsMTMgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJTVkdQ
b2ludC5oIgotI2luY2x1ZGUgIlNWR1ZhbHVlUHJvcGVydHlMaXN0LmgiCisjaW5jbHVkZSAiRE9N
UG9pbnQuaCIKKyNpbmNsdWRlICJTVkdQcm9wZXJ0eUxpc3QuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBTVkdQb2ludExpc3QgOiBwdWJsaWMgU1ZHVmFsdWVQcm9wZXJ0eUxpc3Q8
U1ZHUG9pbnQ+IHsKLSAgICB1c2luZyBCYXNlID0gU1ZHVmFsdWVQcm9wZXJ0eUxpc3Q8U1ZHUG9p
bnQ+OworY2xhc3MgU1ZHUG9pbnRMaXN0IDogcHVibGljIFNWR1Byb3BlcnR5TGlzdDxET01Qb2lu
dD4geworICAgIHVzaW5nIEJhc2UgPSBTVkdQcm9wZXJ0eUxpc3Q8RE9NUG9pbnQ+OwogICAgIHVz
aW5nIEJhc2U6OkJhc2U7CiAKIHB1YmxpYzoKQEAgLTQwLDE0ICs0MCwzMiBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1BvaW50TGlzdCgpKTsKICAgICB9CiAKLSAg
ICBzdGF0aWMgUmVmPFNWR1BvaW50TGlzdD4gY3JlYXRlKFNWR1Byb3BlcnR5T3duZXIqIG93bmVy
LCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MpCisgICAgc3RhdGljIFJlZjxTVkdQb2ludExpc3Q+
IGNyZWF0ZShET01MaXZlUHJvcGVydHlPYnNlcnZlciogb2JzZXJ2ZXIpCiAgICAgewotICAgICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdQb2ludExpc3Qob3duZXIsIGFjY2VzcykpOworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdQb2ludExpc3Qob2JzZXJ2ZXIpKTsKICAgICB9
CiAKLSAgICBzdGF0aWMgUmVmPFNWR1BvaW50TGlzdD4gY3JlYXRlKGNvbnN0IFNWR1BvaW50TGlz
dCYgb3RoZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcykKKyAgICBzdGF0aWMgUmVmPFNWR1Bv
aW50TGlzdD4gY3JlYXRlKGNvbnN0IFNWR1BvaW50TGlzdCYgb3RoZXIpCiAgICAgewotICAgICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdQb2ludExpc3Qob3RoZXIsIGFjY2VzcykpOworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdQb2ludExpc3Qob3RoZXIpKTsKKyAgICB9Cisg
ICAgCisgICAgU1ZHUG9pbnRMaXN0JiBvcGVyYXRvcj0oY29uc3QgU1ZHUG9pbnRMaXN0JiBvdGhl
cikKKyAgICB7CisgICAgICAgIGNsZWFySXRlbXMoKTsKKyAgICAgICAgY29weUl0ZW1zKG90aGVy
KTsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKyAgICAKKyAgICB2b2lkIHJlc2l6ZShz
aXplX3QgbmV3U2l6ZSkKKyAgICB7CisgICAgICAgIC8vIEFkZCBuZXcgaXRlbXMuCisgICAgICAg
IHdoaWxlIChzaXplKCkgPCBuZXdTaXplKQorICAgICAgICAgICAgYXBwZW5kKERPTVBvaW50Ojpj
cmVhdGUoMCwgMCkpOworCisgICAgICAgIC8vIFJlbW92ZSBleGlzdGluZyBpdGVtcy4KKyAgICAg
ICAgd2hpbGUgKHNpemUoKSA+IG5ld1NpemUpCisgICAgICAgICAgICByZW1vdmUoc2l6ZSgpIC0g
MSk7CiAgICAgfQogCiAgICAgYm9vbCBwYXJzZShjb25zdCBTdHJpbmcmIHZhbHVlKQpAQCAtNzks
NyArOTcsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBza2lwT3B0aW9u
YWxTVkdTcGFjZXMoY3VyLCBlbmQpOwogCi0gICAgICAgICAgICBhcHBlbmQoU1ZHUG9pbnQ6OmNy
ZWF0ZSh7IHhQb3MsIHlQb3MgfSkpOworICAgICAgICAgICAgYXBwZW5kKERPTVBvaW50OjpjcmVh
dGUoeFBvcywgeVBvcykpOwogICAgICAgICB9CiAKICAgICAgICAgcmV0dXJuICFkZWxpbVBhcnNl
ZDsKQEAgLTEwMCw2ICsxMTgsMTkgQEAgcHVibGljOgogCiAgICAgICAgIHJldHVybiBidWlsZGVy
LnRvU3RyaW5nKCk7CiAgICAgfQorICAgIAorcHJpdmF0ZToKKyAgICBTVkdQb2ludExpc3QoY29u
c3QgU1ZHUG9pbnRMaXN0JiBvdGhlcikKKyAgICAgICAgOiBCYXNlKG90aGVyLm9ic2VydmVyKCkp
CisgICAgeworICAgICAgICBjb3B5SXRlbXMob3RoZXIpOworICAgIH0KKworICAgIHZvaWQgY29w
eUl0ZW1zKGNvbnN0IFNWR1BvaW50TGlzdCYgb3RoZXIpCisgICAgeworICAgICAgICBmb3IgKGNv
bnN0IGF1dG8mIGl0ZW0gOiBvdGhlci5pdGVtcygpKQorICAgICAgICAgICAgYXBwZW5kKERPTVBv
aW50OjpjcmVhdGUoaXRlbS0+eCgpLCBpdGVtLT55KCkpKTsKKyAgICB9CiB9OwogCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnRMaXN0LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQb2ludExpc3QuaWRsCmluZGV4IGVkMGQ0ZTQyNDRlZDFkNmUwODhmMzAwMzBh
OWE1NThjNWYzYTkwOTguLjIyOWEyMWFlY2JiN2EwODEwNWRlZWE3Y2U1N2JiMDc2ODUxN2YyNzcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2ludExpc3QuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2ludExpc3QuaWRsCkBAIC0yOCwxMSArMjgsMTEgQEAgaW50
ZXJmYWNlIFNWR1BvaW50TGlzdCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgbnVtYmVyT2ZJdGVtczsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjbGVhcigp
OwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gU1ZHUG9pbnQgaW5pdGlhbGl6ZShTVkdQb2ludCBu
ZXdJdGVtKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIGdldHRlciBTVkdQb2ludCBnZXRJdGVt
KHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gU1ZHUG9pbnQg
aW5zZXJ0SXRlbUJlZm9yZShTVkdQb2ludCBuZXdJdGVtLCB1bnNpZ25lZCBsb25nIGluZGV4KTsK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFNWR1BvaW50IHJlcGxhY2VJdGVtKFNWR1BvaW50IG5l
d0l0ZW0sIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gU1ZH
UG9pbnQgcmVtb3ZlSXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICBbTWF5VGhyb3dFeGNl
cHRpb25dIFNWR1BvaW50IGFwcGVuZEl0ZW0oU1ZHUG9pbnQgbmV3SXRlbSk7Ci0gICAgW01heVRo
cm93RXhjZXB0aW9uXSBzZXR0ZXIgdm9pZCAodW5zaWduZWQgbG9uZyBpbmRleCwgU1ZHUG9pbnQg
bmV3SXRlbSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBET01Qb2ludCBpbml0aWFsaXplKERP
TVBvaW50IG5ld0l0ZW0pOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gZ2V0dGVyIERPTVBvaW50
IGdldEl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBE
T01Qb2ludCBpbnNlcnRJdGVtQmVmb3JlKERPTVBvaW50IG5ld0l0ZW0sIHVuc2lnbmVkIGxvbmcg
aW5kZXgpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NUG9pbnQgcmVwbGFjZUl0ZW0oRE9N
UG9pbnQgbmV3SXRlbSwgdW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAgW01heVRocm93RXhjZXB0
aW9uXSBET01Qb2ludCByZW1vdmVJdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOworICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gRE9NUG9pbnQgYXBwZW5kSXRlbShET01Qb2ludCBuZXdJdGVtKTsKKyAg
ICBbTWF5VGhyb3dFeGNlcHRpb25dIHNldHRlciB2b2lkICh1bnNpZ25lZCBsb25nIGluZGV4LCBE
T01Qb2ludCBuZXdJdGVtKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
UHJlc2VydmVBc3BlY3RSYXRpby5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNw
ZWN0UmF0aW8uaAppbmRleCAyNzE3YWJlYmUxMDE5YWFhMGYzYWY3NjFlYjM1MWY5MTdiNzhhZGQ2
Li44MzU0OTNlNzk0YzFlOGYyNWQ4OTQ3YjM4ZGRhMjRjNjA5YmY0NmMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgKQEAgLTM2LDkgKzM2LDkgQEAgY2xh
c3MgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyA6IHB1YmxpYyBTVkdWYWx1ZVByb3BlcnR5PFNWR1By
ZXNlcnZlQXNwZWN0UmF0aW9WYWwKICAgICB1c2luZyBCYXNlOjptX3ZhbHVlOwogCiBwdWJsaWM6
Ci0gICAgc3RhdGljIFJlZjxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvPiBjcmVhdGUoU1ZHUHJvcGVy
dHlPd25lciogb3duZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcywgY29uc3QgU1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpb1ZhbHVlJiB2YWx1ZSA9IHsgfSkKKyAgICBzdGF0aWMgUmVmPFNWR1ByZXNl
cnZlQXNwZWN0UmF0aW8+IGNyZWF0ZShET01MaXZlUHJvcGVydHlPYnNlcnZlciogb2JzZXJ2ZXIs
IGNvbnN0IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZSYgdmFsdWUgPSB7IH0pCiAgICAgewot
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKG93bmVy
LCBhY2Nlc3MsIHZhbHVlKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1ByZXNl
cnZlQXNwZWN0UmF0aW8ob2JzZXJ2ZXIsIHZhbHVlKSk7CiAgICAgfQogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvVmFsdWUuaAppbmRleCA0MTViODcyM2Y4ZDMwODY0YzFiM2ZkNzg4Y2MzYjk4OWJhZDdlZjlj
Li41OWM4MzcxMjNmMjFkYjI2MWZmZTc4MTY5YWQwODJiMmEzZjZlOThhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZS5oCkBAIC03NiwxMSAr
NzYsNCBAQCBwcml2YXRlOgogICAgIGJvb2wgcGFyc2VJbnRlcm5hbChjb25zdCBVQ2hhciomIGN1
cnJQYXJhbSwgY29uc3QgVUNoYXIqIGVuZCwgYm9vbCB2YWxpZGF0ZSk7CiB9OwogCi10ZW1wbGF0
ZTw+IHN0cnVjdCBTVkdQcm9wZXJ0eVRyYWl0czxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU+
IHsKLSAgICBzdGF0aWMgU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlIGluaXRpYWxWYWx1ZSgp
IHsgcmV0dXJuIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZSgpOyB9Ci0gICAgc3RhdGljIFNW
R1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZSBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5n
KSB7IHJldHVybiBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUoc3RyaW5nKTsgfQotICAgIHN0
YXRpYyBPcHRpb25hbDxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU+IHBhcnNlKGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBjb25zdCBTdHJpbmcmKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1
cm4gaW5pdGlhbFZhbHVlKCk7IH0KLSAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IFNW
R1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZSYgdHlwZSkgeyByZXR1cm4gdHlwZS52YWx1ZUFzU3Ry
aW5nKCk7IH0KLX07Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdSZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmVjdC5oCmlu
ZGV4IDkwMDE4ZTE4NmIxOTJhYzNiZTZmMDU1MGRmODExNjI3ZmJkN2U5ZjIuLmJhZTc3YmZlZjAy
MTk1MTNlZWYwMDk5NjliMzNjMmZhZGNmMzkzZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdSZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1JlY3QuaApAQCAtMzYs
OSArMzYsOSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1JlY3Qo
dmFsdWUpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUmVmPFNWR1JlY3Q+IGNyZWF0ZShTVkdQcm9w
ZXJ0eU93bmVyKiBvd25lciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzLCBjb25zdCBGbG9hdFJl
Y3QmIHZhbHVlID0geyB9KQorICAgIHN0YXRpYyBSZWY8U1ZHUmVjdD4gY3JlYXRlKERPTUxpdmVQ
cm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZlciwgY29uc3QgRmxvYXRSZWN0JiB2YWx1ZSA9IHsgfSkK
ICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1JlY3Qob3duZXIsIGFjY2Vz
cywgdmFsdWUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUmVjdChvYnNlcnZl
ciwgdmFsdWUpKTsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1NWR0VsZW1lbnQuY3BwCmluZGV4IDQ3ZjBjM2MzY2QwYTgyYjFjMDE3M2MyYjI3NmRk
MzA2M2YwMGFhMjEuLmZiZGI4ZTg5ODMwNWZiODFkN2FmM2Y0MmM5ZmMzZjc5OWRjMzQyOTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNs
dWRlICJTVkdTVkdFbGVtZW50LmgiCiAKICNpbmNsdWRlICJDU1NIZWxwZXIuaCIKKyNpbmNsdWRl
ICJET01Qb2ludC5oIgogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgIkVs
ZW1lbnRJdGVyYXRvci5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKQEAgLTM5LDcgKzQwLDYg
QEAKICNpbmNsdWRlICJTVkdMZW5ndGguaCIKICNpbmNsdWRlICJTVkdNYXRyaXguaCIKICNpbmNs
dWRlICJTVkdOdW1iZXIuaCIKLSNpbmNsdWRlICJTVkdQb2ludC5oIgogI2luY2x1ZGUgIlNWR1Jl
Y3QuaCIKICNpbmNsdWRlICJTVkdUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJTVkdWaWV3RWxlbWVu
dC5oIgpAQCAtMTc5LDkgKzE3OSwxMCBAQCB2b2lkIFNWR1NWR0VsZW1lbnQ6OnNldEN1cnJlbnRT
Y2FsZShmbG9hdCBzY2FsZSkKIAogdm9pZCBTVkdTVkdFbGVtZW50OjpzZXRDdXJyZW50VHJhbnNs
YXRlKGNvbnN0IEZsb2F0UG9pbnQmIHRyYW5zbGF0aW9uKQogewotICAgIGlmIChtX2N1cnJlbnRU
cmFuc2xhdGUtPnZhbHVlKCkgPT0gdHJhbnNsYXRpb24pCisgICAgaWYgKG1fY3VycmVudFRyYW5z
bGF0ZS0+eCgpID09IHRyYW5zbGF0aW9uLngoKSAmJiBtX2N1cnJlbnRUcmFuc2xhdGUtPnkoKSA9
PSB0cmFuc2xhdGlvbi55KCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX2N1cnJlbnRUcmFuc2xh
dGUtPnNldFZhbHVlKHRyYW5zbGF0aW9uKTsKKyAgICBtX2N1cnJlbnRUcmFuc2xhdGUtPnNldFgo
dHJhbnNsYXRpb24ueCgpKTsKKyAgICBtX2N1cnJlbnRUcmFuc2xhdGUtPnNldFkodHJhbnNsYXRp
b24ueSgpKTsKICAgICB1cGRhdGVDdXJyZW50VHJhbnNsYXRlKCk7CiB9CiAKQEAgLTM2OSw5ICsz
NzAsOSBAQCBSZWY8U1ZHQW5nbGU+IFNWR1NWR0VsZW1lbnQ6OmNyZWF0ZVNWR0FuZ2xlKCkKICAg
ICByZXR1cm4gU1ZHQW5nbGU6OmNyZWF0ZSgpOwogfQogCi1SZWY8U1ZHUG9pbnQ+IFNWR1NWR0Vs
ZW1lbnQ6OmNyZWF0ZVNWR1BvaW50KCkKK1JlZjxET01Qb2ludD4gU1ZHU1ZHRWxlbWVudDo6Y3Jl
YXRlU1ZHUG9pbnQoKQogewotICAgIHJldHVybiBTVkdQb2ludDo6Y3JlYXRlKCk7CisgICAgcmV0
dXJuIERPTVBvaW50OjpjcmVhdGUoMCwgMCk7CiB9CiAKIFJlZjxTVkdNYXRyaXg+IFNWR1NWR0Vs
ZW1lbnQ6OmNyZWF0ZVNWR01hdHJpeCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHU1ZHRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaAppbmRl
eCA0MWIxZTdjOGUyY2M3MzA4YmVkOGRhZDE3MWI3NDA4MDNmNjdlMjE4Li42M2QxNjg3MjJjN2M4
YTAwOTkzNTJkZTI2ZmQ5Mzk2OTQzMzBlODA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHU1ZHRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50
LmgKQEAgLTYxLDggKzYxLDggQEAgcHVibGljOiAvLyBET00KICAgICBmbG9hdCBjdXJyZW50U2Nh
bGUoKSBjb25zdDsKICAgICB2b2lkIHNldEN1cnJlbnRTY2FsZShmbG9hdCk7CiAKLSAgICBTVkdQ
b2ludCYgY3VycmVudFRyYW5zbGF0ZSgpIHsgcmV0dXJuIG1fY3VycmVudFRyYW5zbGF0ZTsgfQot
ICAgIEZsb2F0UG9pbnQgY3VycmVudFRyYW5zbGF0ZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9j
dXJyZW50VHJhbnNsYXRlLT52YWx1ZSgpOyB9CisgICAgRE9NUG9pbnQmIGN1cnJlbnRUcmFuc2xh
dGUoKSB7IHJldHVybiBtX2N1cnJlbnRUcmFuc2xhdGU7IH0KKyAgICBGbG9hdFBvaW50IGN1cnJl
bnRUcmFuc2xhdGVWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIEZsb2F0UG9pbnQobV9jdXJyZW50VHJh
bnNsYXRlLT54KCksIG1fY3VycmVudFRyYW5zbGF0ZS0+eSgpKTsgfQogCiAgICAgdW5zaWduZWQg
c3VzcGVuZFJlZHJhdyh1bnNpZ25lZCBtYXhXYWl0TWlsbGlzZWNvbmRzKTsKICAgICB2b2lkIHVu
c3VzcGVuZFJlZHJhdyh1bnNpZ25lZCBzdXNwZW5kSGFuZGxlSWQpOwpAQCAtODYsNyArODYsNyBA
QCBwdWJsaWM6IC8vIERPTQogICAgIHN0YXRpYyBSZWY8U1ZHTnVtYmVyPiBjcmVhdGVTVkdOdW1i
ZXIoKTsKICAgICBzdGF0aWMgUmVmPFNWR0xlbmd0aD4gY3JlYXRlU1ZHTGVuZ3RoKCk7CiAgICAg
c3RhdGljIFJlZjxTVkdBbmdsZT4gY3JlYXRlU1ZHQW5nbGUoKTsKLSAgICBzdGF0aWMgUmVmPFNW
R1BvaW50PiBjcmVhdGVTVkdQb2ludCgpOworICAgIHN0YXRpYyBSZWY8RE9NUG9pbnQ+IGNyZWF0
ZVNWR1BvaW50KCk7CiAgICAgc3RhdGljIFJlZjxTVkdNYXRyaXg+IGNyZWF0ZVNWR01hdHJpeCgp
OwogICAgIHN0YXRpYyBSZWY8U1ZHUmVjdD4gY3JlYXRlU1ZHUmVjdCgpOwogICAgIHN0YXRpYyBS
ZWY8U1ZHVHJhbnNmb3JtPiBjcmVhdGVTVkdUcmFuc2Zvcm0oKTsKQEAgLTE2NCw3ICsxNjQsNyBA
QCBwcml2YXRlOgogICAgIFJlZlB0cjxTVkdWaWV3RWxlbWVudD4gbV9jdXJyZW50Vmlld0VsZW1l
bnQ7CiAgICAgU3RyaW5nIG1fY3VycmVudFZpZXdGcmFnbWVudElkZW50aWZpZXI7CiAKLSAgICBS
ZWY8U1ZHUG9pbnQ+IG1fY3VycmVudFRyYW5zbGF0ZSB7IFNWR1BvaW50OjpjcmVhdGUoKSB9Owor
ICAgIFJlZjxET01Qb2ludD4gbV9jdXJyZW50VHJhbnNsYXRlIHsgRE9NUG9pbnQ6OmNyZWF0ZSgw
LCAwKSB9OwogCiAgICAgUHJvcGVydHlSZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhp
cyB9OwogICAgIFJlZjxTVkdBbmltYXRlZExlbmd0aD4gbV94IHsgU1ZHQW5pbWF0ZWRMZW5ndGg6
OmNyZWF0ZSh0aGlzLCBTVkdMZW5ndGhNb2RlOjpXaWR0aCkgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdT
VkdFbGVtZW50LmlkbAppbmRleCA0NGFhNTE5NmM2ZWM2Mjc5YjAxZjU0NWM3ZjU1N2IzNzQ2MzQ4
ZjEwLi5mMTZjNDExYmIyMzFmY2VlZTU4MmRkNTc5N2NhNmRhNTQ3NGU1YzVlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1NWR0VsZW1lbnQuaWRsCkBAIC00Miw3ICs0Miw3IEBACiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGJvb2xlYW4gdXNlQ3VycmVudFZpZXc7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IFNWR1ZpZXdTcGVjIGN1cnJlbnRWaWV3OwogICAgIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZmxv
YXQgY3VycmVudFNjYWxlOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdQb2ludCBjdXJyZW50
VHJhbnNsYXRlOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Qb2ludCBjdXJyZW50VHJhbnNs
YXRlOwogCiAgICAgdW5zaWduZWQgbG9uZyBzdXNwZW5kUmVkcmF3KG9wdGlvbmFsIHVuc2lnbmVk
IGxvbmcgbWF4V2FpdE1pbGxpc2Vjb25kcyA9IDApOwogICAgIHZvaWQgdW5zdXNwZW5kUmVkcmF3
KG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgc3VzcGVuZEhhbmRsZUlkID0gMCk7CkBAIC02OCw3ICs2
OCw3IEBACiAgICAgW05ld09iamVjdF0gU1ZHTnVtYmVyIGNyZWF0ZVNWR051bWJlcigpOwogICAg
IFtOZXdPYmplY3RdIFNWR0xlbmd0aCBjcmVhdGVTVkdMZW5ndGgoKTsKICAgICBbTmV3T2JqZWN0
XSBTVkdBbmdsZSBjcmVhdGVTVkdBbmdsZSgpOwotICAgIFtOZXdPYmplY3RdIFNWR1BvaW50IGNy
ZWF0ZVNWR1BvaW50KCk7CisgICAgW05ld09iamVjdF0gRE9NUG9pbnQgY3JlYXRlU1ZHUG9pbnQo
KTsKICAgICBbTmV3T2JqZWN0XSBTVkdNYXRyaXggY3JlYXRlU1ZHTWF0cml4KCk7CiAgICAgW05l
d09iamVjdF0gU1ZHUmVjdCBjcmVhdGVTVkdSZWN0KCk7CiAgICAgW05ld09iamVjdF0gU1ZHVHJh
bnNmb3JtIGNyZWF0ZVNWR1RyYW5zZm9ybSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1N0cmluZ0xpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHJpbmdMaXN0LmgK
aW5kZXggM2IzNzY1YzVkOWUwNzQ2OTAwYTJkNzc5NzlmZmRmNThiNDNhZGQzNS4uMTExZjA2N2U2
OTI2NjdiMDZmMmM4ZGE4ZmFiMjc3ZDI3ZWEyN2I3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1N0cmluZ0xpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3RyaW5n
TGlzdC5oCkBAIC0zNyw5ICszNyw5IEBAIGNsYXNzIFNWR1N0cmluZ0xpc3QgZmluYWwgOiBwdWJs
aWMgU1ZHUHJpbWl0aXZlTGlzdDxTdHJpbmc+IHsKICAgICB1c2luZyBCYXNlOjptX2l0ZW1zOwog
CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxTVkdTdHJpbmdMaXN0PiBjcmVhdGUoU1ZHUHJvcGVy
dHlPd25lciogb3duZXIpCisgICAgc3RhdGljIFJlZjxTVkdTdHJpbmdMaXN0PiBjcmVhdGUoRE9N
TGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgU1ZHU3RyaW5nTGlzdChvd25lcikpOworICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBTVkdTdHJpbmdMaXN0KG9ic2VydmVyKSk7CiAgICAgfQogCiAgICAgdm9pZCByZXNl
dChjb25zdCBTdHJpbmcmIHN0cmluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdUZXh0Q29udGVudEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250
ZW50RWxlbWVudC5jcHAKaW5kZXggZDU5ODkxZTM3ODc0ZDMzYTNhOTBiNThiOTRlYmJjOTdhMTM0
NGRjOS4uODljMGZhYjY5NzMzOGJmZDUzOWQ0ZTI1NDc2NDJhMzFiYmVmNjUzYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAKQEAgLTMxLDcgKzMxLDYg
QEAKICNpbmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Rl
eHQuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgotI2luY2x1ZGUgIlNWR1BvaW50LmgiCiAjaW5j
bHVkZSAiU1ZHUmVjdC5oIgogI2luY2x1ZGUgIlNWR1RleHRRdWVyeS5oIgogI2luY2x1ZGUgIlhN
TE5hbWVzLmgiCkBAIC03NSwyMCArNzQsMjIgQEAgRXhjZXB0aW9uT3I8ZmxvYXQ+IFNWR1RleHRD
b250ZW50RWxlbWVudDo6Z2V0U3ViU3RyaW5nTGVuZ3RoKHVuc2lnbmVkIGNoYXJudW0sIHUKICAg
ICByZXR1cm4gU1ZHVGV4dFF1ZXJ5KHJlbmRlcmVyKCkpLnN1YlN0cmluZ0xlbmd0aChjaGFybnVt
LCBuY2hhcnMpOwogfQogCi1FeGNlcHRpb25PcjxSZWY8U1ZHUG9pbnQ+PiBTVkdUZXh0Q29udGVu
dEVsZW1lbnQ6OmdldFN0YXJ0UG9zaXRpb25PZkNoYXIodW5zaWduZWQgY2hhcm51bSkKK0V4Y2Vw
dGlvbk9yPFJlZjxET01Qb2ludD4+IFNWR1RleHRDb250ZW50RWxlbWVudDo6Z2V0U3RhcnRQb3Np
dGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKQogewogICAgIGlmIChjaGFybnVtID4gZ2V0TnVt
YmVyT2ZDaGFycygpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW5kZXhTaXplRXJyb3Ig
fTsKIAotICAgIHJldHVybiBTVkdQb2ludDo6Y3JlYXRlKFNWR1RleHRRdWVyeShyZW5kZXJlcigp
KS5zdGFydFBvc2l0aW9uT2ZDaGFyYWN0ZXIoY2hhcm51bSkpOworICAgIGF1dG8gc3RhcnRQb3Np
dGlvbiA9IFNWR1RleHRRdWVyeShyZW5kZXJlcigpKS5zdGFydFBvc2l0aW9uT2ZDaGFyYWN0ZXIo
Y2hhcm51bSk7CisgICAgcmV0dXJuIERPTVBvaW50OjpjcmVhdGUoc3RhcnRQb3NpdGlvbi54KCks
IHN0YXJ0UG9zaXRpb24ueSgpKTsKIH0KIAotRXhjZXB0aW9uT3I8UmVmPFNWR1BvaW50Pj4gU1ZH
VGV4dENvbnRlbnRFbGVtZW50OjpnZXRFbmRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVt
KQorRXhjZXB0aW9uT3I8UmVmPERPTVBvaW50Pj4gU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRF
bmRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKQogewogICAgIGlmIChjaGFybnVtID4g
Z2V0TnVtYmVyT2ZDaGFycygpKQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW5kZXhTaXpl
RXJyb3IgfTsKIAotICAgIHJldHVybiBTVkdQb2ludDo6Y3JlYXRlKFNWR1RleHRRdWVyeShyZW5k
ZXJlcigpKS5lbmRQb3NpdGlvbk9mQ2hhcmFjdGVyKGNoYXJudW0pKTsKKyAgICBhdXRvIGVuZFBv
c2l0aW9uID0gIFNWR1RleHRRdWVyeShyZW5kZXJlcigpKS5lbmRQb3NpdGlvbk9mQ2hhcmFjdGVy
KGNoYXJudW0pOworICAgIHJldHVybiBET01Qb2ludDo6Y3JlYXRlKGVuZFBvc2l0aW9uLngoKSwg
ZW5kUG9zaXRpb24ueSgpKTsKIH0KIAogRXhjZXB0aW9uT3I8UmVmPFNWR1JlY3Q+PiBTVkdUZXh0
Q29udGVudEVsZW1lbnQ6OmdldEV4dGVudE9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5oCmluZGV4IGRiMGZlZjIzZjE2NjAy
ZTRlM2Y3OWZiMmI4Y2NjNTJlNTJlOTI5ZDIuLjY3NGZmNTkxMjdjODlkMWQwOTlkMWNiZTc4M2Q3
ODVmMTYzOTc1YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVu
dEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50
LmgKQEAgLTI3LDYgKzI3LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IERPTVBv
aW50SW5pdDsKK2NsYXNzIERPTVBvaW50OwogCiBlbnVtIFNWR0xlbmd0aEFkanVzdFR5cGUgewog
ICAgIFNWR0xlbmd0aEFkanVzdFVua25vd24sCkBAIC03NCw4ICs3NSw4IEBAIHB1YmxpYzoKICAg
ICB1bnNpZ25lZCBnZXROdW1iZXJPZkNoYXJzKCk7CiAgICAgZmxvYXQgZ2V0Q29tcHV0ZWRUZXh0
TGVuZ3RoKCk7CiAgICAgRXhjZXB0aW9uT3I8ZmxvYXQ+IGdldFN1YlN0cmluZ0xlbmd0aCh1bnNp
Z25lZCBjaGFybnVtLCB1bnNpZ25lZCBuY2hhcnMpOwotICAgIEV4Y2VwdGlvbk9yPFJlZjxTVkdQ
b2ludD4+IGdldFN0YXJ0UG9zaXRpb25PZkNoYXIodW5zaWduZWQgY2hhcm51bSk7Ci0gICAgRXhj
ZXB0aW9uT3I8UmVmPFNWR1BvaW50Pj4gZ2V0RW5kUG9zaXRpb25PZkNoYXIodW5zaWduZWQgY2hh
cm51bSk7CisgICAgRXhjZXB0aW9uT3I8UmVmPERPTVBvaW50Pj4gZ2V0U3RhcnRQb3NpdGlvbk9m
Q2hhcih1bnNpZ25lZCBjaGFybnVtKTsKKyAgICBFeGNlcHRpb25PcjxSZWY8RE9NUG9pbnQ+PiBn
ZXRFbmRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKTsKICAgICBFeGNlcHRpb25PcjxS
ZWY8U1ZHUmVjdD4+IGdldEV4dGVudE9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKTsKICAgICBFeGNl
cHRpb25PcjxmbG9hdD4gZ2V0Um90YXRpb25PZkNoYXIodW5zaWduZWQgY2hhcm51bSk7CiAgICAg
aW50IGdldENoYXJOdW1BdFBvc2l0aW9uKERPTVBvaW50SW5pdCYmKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5pZGwKaW5kZXggZjgxNmEzZmFjNWE5NjMyYTFj
NDRlOTA4NTdiN2MwNjc0OGU2YWE2Mi4uZTA0M2FkMTM3MTk3NGUxYzcwMzFmMDgyMjI5ZjllNzkx
MzYyZGFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxl
bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5p
ZGwKQEAgLTM1LDggKzM1LDggQEAgaW50ZXJmYWNlIFNWR1RleHRDb250ZW50RWxlbWVudCA6IFNW
R0dyYXBoaWNzRWxlbWVudCB7CiAgICAgbG9uZyBnZXROdW1iZXJPZkNoYXJzKCk7CiAgICAgdW5y
ZXN0cmljdGVkIGZsb2F0IGdldENvbXB1dGVkVGV4dExlbmd0aCgpOwogICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gdW5yZXN0cmljdGVkIGZsb2F0IGdldFN1YlN0cmluZ0xlbmd0aChvcHRpb25hbCB1
bnNpZ25lZCBsb25nIG9mZnNldCA9IDAsIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgbGVuZ3RoID0g
MCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uLCBOZXdPYmplY3RdIFNWR1BvaW50IGdldFN0YXJ0
UG9zaXRpb25PZkNoYXIob3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwKTsKLSAgICBb
TWF5VGhyb3dFeGNlcHRpb24sIE5ld09iamVjdF0gU1ZHUG9pbnQgZ2V0RW5kUG9zaXRpb25PZkNo
YXIob3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwKTsKKyAgICBbTWF5VGhyb3dFeGNl
cHRpb24sIE5ld09iamVjdF0gRE9NUG9pbnQgZ2V0U3RhcnRQb3NpdGlvbk9mQ2hhcihvcHRpb25h
bCB1bnNpZ25lZCBsb25nIG9mZnNldCA9IDApOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgTmV3
T2JqZWN0XSBET01Qb2ludCBnZXRFbmRQb3NpdGlvbk9mQ2hhcihvcHRpb25hbCB1bnNpZ25lZCBs
b25nIG9mZnNldCA9IDApOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBTVkdS
ZWN0IGdldEV4dGVudE9mQ2hhcihvcHRpb25hbCB1bnNpZ25lZCBsb25nIG9mZnNldCA9IDApOwog
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5yZXN0cmljdGVkIGZsb2F0IGdldFJvdGF0aW9uT2ZD
aGFyKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0ID0gMCk7CiAgICAgbG9uZyBnZXRDaGFy
TnVtQXRQb3NpdGlvbihET01Qb2ludEluaXQgcG9pbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1RyYW5zZm9ybS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9y
bS5oCmluZGV4IDZhMjljNzJjZjNlN2YzMTNmNzA5NjU3YTQwMTI0ODFjMjIzYjhkY2QuLjMzZGI2
OGY0MjlhYTdmYTNmZWVhZGMyMjljZDE5Njg0NWU2ZmNiYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJh
bnNmb3JtLmgKQEAgLTMxLDcgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBTVkdUcmFuc2Zvcm0gOiBwdWJsaWMgU1ZHVmFsdWVQcm9wZXJ0eTxTVkdUcmFuc2Zvcm1WYWx1
ZT4sIHB1YmxpYyBTVkdQcm9wZXJ0eU93bmVyIHsKK2NsYXNzIFNWR1RyYW5zZm9ybSA6IHB1Ymxp
YyBTVkdWYWx1ZVByb3BlcnR5PFNWR1RyYW5zZm9ybVZhbHVlPiwgcHVibGljIERPTUxpdmVQcm9w
ZXJ0eU9ic2VydmVyIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNWR1RyYW5zZm9ybT4gY3Jl
YXRlKFNWR1RyYW5zZm9ybVZhbHVlOjpTVkdUcmFuc2Zvcm1UeXBlIHR5cGUpCiAgICAgewpAQCAt
MTM0LDE3ICsxMzQsMTcgQEAgcHJpdmF0ZToKICAgICB1c2luZyBCYXNlID0gU1ZHVmFsdWVQcm9w
ZXJ0eTxTVkdUcmFuc2Zvcm1WYWx1ZT47CiAKICAgICBTVkdUcmFuc2Zvcm0oU1ZHVHJhbnNmb3Jt
VmFsdWU6OlNWR1RyYW5zZm9ybVR5cGUgdHlwZSwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB0cmFu
c2Zvcm0gPSB7IH0sIGZsb2F0IGFuZ2xlID0gMCwgY29uc3QgRmxvYXRQb2ludCYgcm90YXRpb25D
ZW50ZXIgPSB7IH0pCi0gICAgICAgIDogQmFzZShTVkdUcmFuc2Zvcm1WYWx1ZSh0eXBlLCBTVkdN
YXRyaXg6OmNyZWF0ZSh0aGlzLCBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZFdyaXRlLCB0cmFuc2Zv
cm0pLCBhbmdsZSwgcm90YXRpb25DZW50ZXIpKQorICAgICAgICA6IEJhc2UoU1ZHVHJhbnNmb3Jt
VmFsdWUodHlwZSwgU1ZHTWF0cml4OjpjcmVhdGUodGhpcywgdHJhbnNmb3JtKSwgYW5nbGUsIHJv
dGF0aW9uQ2VudGVyKSkKICAgICB7CiAgICAgfQogCi0gICAgU1ZHUHJvcGVydHlPd25lciogb3du
ZXIoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX293bmVyOyB9CisgICAgRE9NTGl2ZVByb3Bl
cnR5T2JzZXJ2ZXIqIG9ic2VydmVyKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9vYnNlcnZl
cjsgfQogCi0gICAgdm9pZCBjb21taXRQcm9wZXJ0eUNoYW5nZShTVkdQcm9wZXJ0eSogcHJvcGVy
dHkpIG92ZXJyaWRlCisgICAgdm9pZCBjb21taXRQcm9wZXJ0eUNoYW5nZShET01MaXZlUHJvcGVy
dHkqIHByb3BlcnR5KSBvdmVycmlkZQogICAgIHsKICAgICAgICAgQVNTRVJUX1VOVVNFRChwcm9w
ZXJ0eSwgcHJvcGVydHkgPT0gbV92YWx1ZS5tYXRyaXgoKS5wdHIoKSk7Ci0gICAgICAgIGlmIChv
d25lcigpKQotICAgICAgICAgICAgb3duZXIoKS0+Y29tbWl0UHJvcGVydHlDaGFuZ2UodGhpcyk7
CisgICAgICAgIGlmIChvYnNlcnZlcigpKQorICAgICAgICAgICAgb2JzZXJ2ZXIoKS0+Y29tbWl0
UHJvcGVydHlDaGFuZ2UodGhpcyk7CiAgICAgICAgIG1fdmFsdWUubWF0cml4RGlkQ2hhbmdlKCk7
CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtTGlz
dC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybUxpc3QuaAppbmRleCA1NDRkNjBi
MmU2MzVjMWMyMDk5MzRlZTQzNWNmNDEyNWU2YTcxZjJiLi5lNjA0NWVkMjU2MjMyMWU5MTQxNjRh
MGZiMjA0OTc0ODcxMDVlMjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJh
bnNmb3JtTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1MaXN0LmgK
QEAgLTM4LDE0ICszOCwxNCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFNWR1RyYW5zZm9ybUxpc3QoKSk7CiAgICAgfQogCi0gICAgc3RhdGljIFJlZjxTVkdUcmFuc2Zv
cm1MaXN0PiBjcmVhdGUoU1ZHUHJvcGVydHlPd25lciogb3duZXIsIFNWR1Byb3BlcnR5QWNjZXNz
IGFjY2VzcykKKyAgICBzdGF0aWMgUmVmPFNWR1RyYW5zZm9ybUxpc3Q+IGNyZWF0ZShET01MaXZl
UHJvcGVydHlPYnNlcnZlciogb2JzZXJ2ZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBTVkdUcmFuc2Zvcm1MaXN0KG93bmVyLCBhY2Nlc3MpKTsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgU1ZHVHJhbnNmb3JtTGlzdChvYnNlcnZlcikpOwogICAgIH0KIAotICAg
IHN0YXRpYyBSZWY8U1ZHVHJhbnNmb3JtTGlzdD4gY3JlYXRlKGNvbnN0IFNWR1RyYW5zZm9ybUxp
c3QmIG90aGVyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MpCisgICAgc3RhdGljIFJlZjxTVkdU
cmFuc2Zvcm1MaXN0PiBjcmVhdGUoY29uc3QgU1ZHVHJhbnNmb3JtTGlzdCYgb3RoZXIpCiAgICAg
ewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdUcmFuc2Zvcm1MaXN0KG90aGVyLCBh
Y2Nlc3MpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHVHJhbnNmb3JtTGlzdChv
dGhlcikpOwogICAgIH0KIAogICAgIEV4Y2VwdGlvbk9yPFJlZjxTVkdUcmFuc2Zvcm0+PiBjcmVh
dGVTVkdUcmFuc2Zvcm1Gcm9tTWF0cml4KGNvbnN0IFJlZjxTVkdNYXRyaXg+JiBtYXRyaXgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmNwcAppbmRleCA4ZjQyMzUxNmI1YmRiYzUyODdjZGE0NGFk
ZjQ5ZmM2MThkZGMzMmVjLi41M2NjMTVkYzkwZTc3Y2E5MTI0ZjZjYWZhMjhkYTFhYzUwNTljYWQ5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAKQEAgLTMyLDkgKzMyLDggQEAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogU1ZHVmlld1NwZWM6OlNWR1ZpZXdTcGVjKFNWR0VsZW1lbnQmIGNv
bnRleHRFbGVtZW50KQotICAgIDogU1ZHRml0VG9WaWV3Qm94KCZjb250ZXh0RWxlbWVudCwgU1ZH
UHJvcGVydHlBY2Nlc3M6OlJlYWRPbmx5KQorICAgIDogU1ZHRml0VG9WaWV3Qm94KCZjb250ZXh0
RWxlbWVudCkKICAgICAsIG1fY29udGV4dEVsZW1lbnQobWFrZVdlYWtQdHIoY29udGV4dEVsZW1l
bnQpKQotICAgICwgbV90cmFuc2Zvcm0oU1ZHVHJhbnNmb3JtTGlzdDo6Y3JlYXRlKCZjb250ZXh0
RWxlbWVudCwgU1ZHUHJvcGVydHlBY2Nlc3M6OlJlYWRPbmx5KSkKIHsKICAgICBzdGF0aWMgc3Rk
OjpvbmNlX2ZsYWcgb25jZUZsYWc7CiAgICAgc3RkOjpjYWxsX29uY2Uob25jZUZsYWcsIFtdIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKaW5kZXggMmU3ZWY5Nzg2YzFhODg2ZmQyNWFjZmVhMDM3
ZmM4NTBkNzlkZTUyMC4uNmVmYzA5Zjk4M2MyYzQzYzZhM2Q4NTViMDJkMzQyMjIwMDM4MjFjMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKQEAgLTU1LDcgKzU1LDcgQEAgcHJpdmF0ZToKIAog
ICAgIFdlYWtQdHI8U1ZHRWxlbWVudD4gbV9jb250ZXh0RWxlbWVudDsKICAgICBTdHJpbmcgbV92
aWV3VGFyZ2V0U3RyaW5nOwotICAgIFJlZjxTVkdUcmFuc2Zvcm1MaXN0PiBtX3RyYW5zZm9ybTsK
KyAgICBSZWY8U1ZHVHJhbnNmb3JtTGlzdD4gbV90cmFuc2Zvcm0geyBTVkdUcmFuc2Zvcm1MaXN0
OjpjcmVhdGUoKSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHWm9vbUV2ZW50LmNwcAppbmRleCA2OTZmY2YxNDJlMGNmNDgxNzVmNTVkZWJkZmViYzA1MTg1
NTk1YTQ2Li45ZDg1NzcyODlmNzY1YWU5Nzg1MmFhN2UwMjk0NTkzMDEwNTU1YjU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHWm9vbUV2ZW50LmNwcApAQCAtMjIsNyArMjIsNyBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIlNWR1pvb21FdmVudC5oIgogCi0jaW5jbHVkZSAiU1ZHUG9pbnQu
aCIKKyNpbmNsdWRlICJET01Qb2ludC5oIgogI2luY2x1ZGUgIlNWR1JlY3QuaCIKICNpbmNsdWRl
IDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCkBAIC01MSw5ICs1MSw5IEBAIHZvaWQgU1ZHWm9v
bUV2ZW50OjpzZXRQcmV2aW91c1NjYWxlKGZsb2F0IHNjYWxlKQogICAgIG1fcHJldmlvdXNTY2Fs
ZSA9IHNjYWxlOwogfQogCi1SZWY8U1ZHUG9pbnQ+IFNWR1pvb21FdmVudDo6cHJldmlvdXNUcmFu
c2xhdGUoKSBjb25zdAorUmVmPERPTVBvaW50PiBTVkdab29tRXZlbnQ6OnByZXZpb3VzVHJhbnNs
YXRlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gU1ZHUG9pbnQ6OmNyZWF0ZShtX3ByZXZpb3VzVHJh
bnNsYXRlKTsKKyAgICByZXR1cm4gRE9NUG9pbnQ6OmNyZWF0ZShtX3ByZXZpb3VzVHJhbnNsYXRl
LngoKSwgbV9wcmV2aW91c1RyYW5zbGF0ZS55KCkpOwogfQogCiBmbG9hdCBTVkdab29tRXZlbnQ6
Om5ld1NjYWxlKCkgY29uc3QKQEAgLTY2LDkgKzY2LDkgQEAgdm9pZCBTVkdab29tRXZlbnQ6OnNl
dE5ld1NjYWxlKGZsb2F0IHNjYWxlKQogICAgIG1fbmV3U2NhbGUgPSBzY2FsZTsKIH0KIAotUmVm
PFNWR1BvaW50PiBTVkdab29tRXZlbnQ6Om5ld1RyYW5zbGF0ZSgpIGNvbnN0CitSZWY8RE9NUG9p
bnQ+IFNWR1pvb21FdmVudDo6bmV3VHJhbnNsYXRlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gU1ZH
UG9pbnQ6OmNyZWF0ZShtX25ld1RyYW5zbGF0ZSk7CisgICAgcmV0dXJuIERPTVBvaW50OjpjcmVh
dGUobV9uZXdUcmFuc2xhdGUueCgpLCBtX25ld1RyYW5zbGF0ZS55KCkpOwogfQogCiBFdmVudElu
dGVyZmFjZSBTVkdab29tRXZlbnQ6OmV2ZW50SW50ZXJmYWNlKCkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
Vkdab29tRXZlbnQuaAppbmRleCBiYjE0NDViZjFkODJmNTY1MTVlYTNjNDNjNGZkMjFiZWE0YmE5
NzMyLi4wNzY1MDNmYTVjMmE5MTllODdiZjc0Y2E3ZTk1MDhlZTgxNGEwOGVjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1pvb21FdmVudC5oCkBAIC0yNiw3ICsyNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgU1ZHUG9pbnQ7CitjbGFzcyBET01Qb2ludDsKIGNsYXNzIFNWR1JlY3Q7CiAK
IGNsYXNzIFNWR1pvb21FdmVudCBmaW5hbCA6IHB1YmxpYyBVSUV2ZW50IHsKQEAgLTQwLDEyICs0
MCwxMiBAQCBwdWJsaWM6CiAgICAgZmxvYXQgcHJldmlvdXNTY2FsZSgpIGNvbnN0OwogICAgIHZv
aWQgc2V0UHJldmlvdXNTY2FsZShmbG9hdCk7CiAKLSAgICBSZWY8U1ZHUG9pbnQ+IHByZXZpb3Vz
VHJhbnNsYXRlKCkgY29uc3Q7CisgICAgUmVmPERPTVBvaW50PiBwcmV2aW91c1RyYW5zbGF0ZSgp
IGNvbnN0OwogCiAgICAgZmxvYXQgbmV3U2NhbGUoKSBjb25zdDsKICAgICB2b2lkIHNldE5ld1Nj
YWxlKGZsb2F0KTsKIAotICAgIFJlZjxTVkdQb2ludD4gbmV3VHJhbnNsYXRlKCkgY29uc3Q7Cisg
ICAgUmVmPERPTVBvaW50PiBuZXdUcmFuc2xhdGUoKSBjb25zdDsKIAogICAgIEV2ZW50SW50ZXJm
YWNlIGV2ZW50SW50ZXJmYWNlKCkgY29uc3QgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdab29tRXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21F
dmVudC5pZGwKaW5kZXggMjg2MGU0YzhkMTU0YWQwOTc1MGQ1NGM0YTZlNjlhNTU2ZjE1NDU1Yi4u
YjUyYTdkNDQ2YjZiMjJjYjhjZjI1YWFlN2M1MmNlYzg3YmY5M2QwNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21FdmVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1pvb21FdmVudC5pZGwKQEAgLTI2LDggKzI2LDggQEAKIGludGVyZmFjZSBTVkdab29tRXZl
bnQgOiBVSUV2ZW50IHsgCiAgICAgW05ld09iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIFNWR1Jl
Y3Qgem9vbVJlY3RTY3JlZW47CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBm
bG9hdCBwcmV2aW91c1NjYWxlOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdQb2ludCBwcmV2
aW91c1RyYW5zbGF0ZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NUG9pbnQgcHJldmlvdXNU
cmFuc2xhdGU7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCBuZXdT
Y2FsZTsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZHUG9pbnQgbmV3VHJhbnNsYXRlOworICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Qb2ludCBuZXdUcmFuc2xhdGU7CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZERlY29yYXRlZFBy
b3BlcnR5LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZERlY29y
YXRlZFByb3BlcnR5LmgKaW5kZXggY2ViYWEzNjNiZjUyN2JiYjM4ZTU2N2QzZTNkNDJiZjg0MzEw
MmE3NS4uNmRhOWQ0NDllY2NjZjE5ZjA5ZWNmYWFmY2E1YTU4YjljNzg0MWQ4YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWREZWNvcmF0ZWRQcm9w
ZXJ0eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkRGVj
b3JhdGVkUHJvcGVydHkuaApAQCAtOTcsMTUgKzk3LDcgQEAgcHVibGljOgogICAgIH0KIAogICAg
IC8vIE1hbmFnaW5nIHRoZSByZWxhdGlvbnNoaXAgd2l0aCB0aGUgb3duZXIuCi0gICAgdm9pZCBz
ZXREaXJ0eSgpIG92ZXJyaWRlIHsgbV9zdGF0ZSA9IFNWR1Byb3BlcnR5U3RhdGU6OkRpcnR5OyB9
Ci0gICAgYm9vbCBpc0RpcnR5KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9zdGF0ZSA9PSBT
VkdQcm9wZXJ0eVN0YXRlOjpEaXJ0eTsgfQotICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25p
emUoKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgaWYgKG1fc3RhdGUgPT0gU1ZHUHJvcGVydHlT
dGF0ZTo6Q2xlYW4pCi0gICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgICAgICBt
X3N0YXRlID0gU1ZHUHJvcGVydHlTdGF0ZTo6Q2xlYW47Ci0gICAgICAgIHJldHVybiBiYXNlVmFs
QXNTdHJpbmcoKTsKLSAgICB9CisgICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBiYXNlVmFsQXNTdHJpbmcoKTsgfQogCiAgICAgLy8gVXNlZCBieSBSZW5k
ZXJTVkdFbGVtZW50cyBhbmQgRHVtcFJlbmRlclRyZWUuCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
UHJvcGVydHlUeXBlPgpAQCAtMTMzLDcgKzEyNSw2IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8U1ZHRGVjb3JhdGVkUHJvcGVydHk8RGVjb3JhdGlvblR5cGU+PiBt
X2Jhc2VWYWw7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFNWR0RlY29yYXRlZFByb3BlcnR5PERlY29y
YXRpb25UeXBlPj4gbV9hbmltVmFsOwotICAgIFNWR1Byb3BlcnR5U3RhdGUgbV9zdGF0ZSB7IFNW
R1Byb3BlcnR5U3RhdGU6OkNsZWFuIH07CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByaW1pdGl2ZVByb3BlcnR5LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByaW1pdGl2ZVByb3BlcnR5LmgK
aW5kZXggZTE0ZjY3OWYzMzYzZGRjNWE4ZjQxYzAzNWZkZjczNGViY2I5NjY2MS4uZDQ0ODBmNzRh
MmUzOTZkMThhOTM3ZGY3ODkzMGYzZDVmYmZiMTE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcmltaXRpdmVQcm9wZXJ0eS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJpbWl0aXZlUHJvcGVydHku
aApAQCAtODcsOSArODcsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgLy8gTWFuYWdpbmcgdGhl
IHJlbGF0aW9uc2hpcCB3aXRoIHRoZSBvd25lci4KLSAgICB2b2lkIHNldERpcnR5KCkgb3ZlcnJp
ZGUgeyBtX2Jhc2VWYWwtPnNldERpcnR5KCk7IH0KLSAgICBib29sIGlzRGlydHkoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiBtX2Jhc2VWYWwtPmlzRGlydHkoKTsgfQotICAgIE9wdGlvbmFsPFN0
cmluZz4gc3luY2hyb25pemUoKSBvdmVycmlkZSB7IHJldHVybiBtX2Jhc2VWYWwtPnN5bmNocm9u
aXplKCk7IH0KKyAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIGJhc2VWYWxBc1N0cmluZygpOyB9CiAKICAgICAvLyBVc2VkIGJ5IFJlbmRlclNWR0VsZW1l
bnRzIGFuZCBEdW1wUmVuZGVyVHJlZS4KICAgICBjb25zdCBQcm9wZXJ0eVR5cGUmIGN1cnJlbnRW
YWx1ZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9T
VkdBbmltYXRlZFByb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NW
R0FuaW1hdGVkUHJvcGVydHkuY3BwCmluZGV4IGVjMmYzYTQ4N2Y4MzBmMWM3MjZkMGY2YmU0Yzk0
MjJlYzhmMzAxZTguLmVkYTVjODRjMzVmYmM3YmQyNTRkMWFkZTJmYjI1ODE2NjU4M2RjM2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVy
dHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJv
cGVydHkuY3BwCkBAIC0zMCwxMiArMzAsMTIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1T
VkdQcm9wZXJ0eU93bmVyKiBTVkdBbmltYXRlZFByb3BlcnR5Ojpvd25lcigpIGNvbnN0CitET01M
aXZlUHJvcGVydHlPYnNlcnZlciogU1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6b2JzZXJ2ZXIoKSBjb25z
dAogewogICAgIHJldHVybiBtX2NvbnRleHRFbGVtZW50OwogfQogCi12b2lkIFNWR0FuaW1hdGVk
UHJvcGVydHk6OmNvbW1pdFByb3BlcnR5Q2hhbmdlKFNWR1Byb3BlcnR5KikKK3ZvaWQgU1ZHQW5p
bWF0ZWRQcm9wZXJ0eTo6Y29tbWl0UHJvcGVydHlDaGFuZ2UoRE9NTGl2ZVByb3BlcnR5KikKIHsK
ICAgICBpZiAoIW1fY29udGV4dEVsZW1lbnQpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHkuaCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHkuaAppbmRleCBj
NmY5MzJlNmRmNjljY2VmYWZjOTY1ZTMyY2Q1NjYyMGExZmMzMzY0Li5hMTA0MWU2MDUyOWRhMWZk
MjMxODYwZTI2MGI3MWNjZmI3MGM0YTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
cHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNw
cmFnbWEgb25jZQogCi0jaW5jbHVkZSAiU1ZHUHJvcGVydHlPd25lci5oIgorI2luY2x1ZGUgIkRP
TUxpdmVQcm9wZXJ0eU9ic2VydmVyLmgiCiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
QEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAogY2xhc3MgU1ZHRWxl
bWVudDsKIAotY2xhc3MgU1ZHQW5pbWF0ZWRQcm9wZXJ0eSA6IHB1YmxpYyBSZWZDb3VudGVkPFNW
R0FuaW1hdGVkUHJvcGVydHk+LCBwdWJsaWMgU1ZHUHJvcGVydHlPd25lciB7CitjbGFzcyBTVkdB
bmltYXRlZFByb3BlcnR5IDogcHVibGljIFJlZkNvdW50ZWQ8U1ZHQW5pbWF0ZWRQcm9wZXJ0eT4s
IHB1YmxpYyBET01MaXZlUHJvcGVydHlPYnNlcnZlciB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+
U1ZHQW5pbWF0ZWRQcm9wZXJ0eSgpID0gZGVmYXVsdDsKICAgICAKQEAgLTQ3LDkgKzQ3LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5nIGFuaW1WYWxBc1N0cmluZygpIGNvbnN0IHsgcmV0
dXJuIGVtcHR5U3RyaW5nKCk7IH0KICAgICAKICAgICAvLyBDb250cm9sIHRoZSBzeW5jaHJvbml6
YXRpb24gYmV0d2VlbiB0aGUgYXR0cmlidXRlIGFuZCBpdHMgcmVmbGVjdGlvbiBpbiBiYXNlVmFs
LgotICAgIHZpcnR1YWwgYm9vbCBpc0RpcnR5KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLSAg
ICB2aXJ0dWFsIHZvaWQgc2V0RGlydHkoKSB7IH0KLSAgICB2aXJ0dWFsIE9wdGlvbmFsPFN0cmlu
Zz4gc3luY2hyb25pemUoKSB7IHJldHVybiBXVEY6Om51bGxvcHQ7IH0KKyAgICB2aXJ0dWFsIFN0
cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQogICAg
IAogICAgIC8vIENvbnRyb2wgdGhlIGFuaW1hdGlvbiBsaWZlIGN5Y2xlLgogICAgIGJvb2wgaXNB
bmltYXRpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzQW5pbWF0aW5nOyB9CkBAIC02Niw4ICs2NCw4
IEBAIHByb3RlY3RlZDoKICAgICB7CiAgICAgfQogICAgIAotICAgIFNWR1Byb3BlcnR5T3duZXIq
IG93bmVyKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBjb21taXRQcm9wZXJ0eUNoYW5nZShT
VkdQcm9wZXJ0eSopIG92ZXJyaWRlOworICAgIERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyKiBvYnNl
cnZlcigpIGNvbnN0IG92ZXJyaWRlOworICAgIHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoRE9N
TGl2ZVByb3BlcnR5Kikgb3ZlcnJpZGU7CiAgICAgCiAgICAgU1ZHRWxlbWVudCogbV9jb250ZXh0
RWxlbWVudCB7IG51bGxwdHIgfTsKICAgICBib29sIG1faXNBbmltYXRpbmcgeyBmYWxzZSB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9w
ZXJ0eUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJv
cGVydHlMaXN0LmgKaW5kZXggZjQyNTVkN2Y2ZTc1YjE0YWNhODhhODgwYmZmMzZlNjU2MzgzZjcx
Ni4uYWQyMWE5ODA2YzU0YWZjMDZlY2FhNWE3MTMyNWNkYjIzMTNjYWYzMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eUxpc3QuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TGlz
dC5oCkBAIC02OCw5ICs2OCw3IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICAvLyBNYW5hZ2luZyB0
aGUgcmVsYXRpb25zaGlwIHdpdGggdGhlIG93bmVyLgotICAgIHZvaWQgc2V0RGlydHkoKSBvdmVy
cmlkZSB7IG1fYmFzZVZhbC0+c2V0RGlydHkoKTsgfQotICAgIGJvb2wgaXNEaXJ0eSgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIG1fYmFzZVZhbC0+aXNEaXJ0eSgpOyB9Ci0gICAgT3B0aW9uYWw8
U3RyaW5nPiBzeW5jaHJvbml6ZSgpIG92ZXJyaWRlIHsgcmV0dXJuIG1fYmFzZVZhbC0+c3luY2hy
b25pemUoKTsgfQorICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gYmFzZVZhbEFzU3RyaW5nKCk7IH0KIAogICAgIC8vIFVzZWQgYnkgUmVuZGVyU1ZHRWxl
bWVudHMgYW5kIER1bXBSZW5kZXJUcmVlLgogICAgIGNvbnN0IExpc3RUeXBlJiBjdXJyZW50VmFs
dWUoKSBjb25zdApAQCAtMTE3LDE5ICsxMTUsMjQgQEAgcHJvdGVjdGVkOgogICAgIHRlbXBsYXRl
PHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KICAgICBTVkdBbmltYXRlZFByb3BlcnR5TGlzdChTVkdF
bGVtZW50KiBjb250ZXh0RWxlbWVudCwgQXJndW1lbnRzJiYuLi4gYXJndW1lbnRzKQogICAgICAg
ICA6IFNWR0FuaW1hdGVkUHJvcGVydHkoY29udGV4dEVsZW1lbnQpCi0gICAgICAgICwgbV9iYXNl
VmFsKExpc3RUeXBlOjpjcmVhdGUodGhpcywgU1ZHUHJvcGVydHlBY2Nlc3M6OlJlYWRXcml0ZSwg
c3RkOjpmb3J3YXJkPEFyZ3VtZW50cz4oYXJndW1lbnRzKS4uLikpCisgICAgICAgICwgbV9iYXNl
VmFsKExpc3RUeXBlOjpjcmVhdGUodGhpcywgc3RkOjpmb3J3YXJkPEFyZ3VtZW50cz4oYXJndW1l
bnRzKS4uLikpCiAgICAgewogICAgIH0KIAogICAgIFJlZlB0cjxMaXN0VHlwZT4mIGVuc3VyZUFu
aW1WYWwoKQogICAgIHsKICAgICAgICAgaWYgKCFtX2FuaW1WYWwpCi0gICAgICAgICAgICBtX2Fu
aW1WYWwgPSBMaXN0VHlwZTo6Y3JlYXRlKG1fYmFzZVZhbCwgU1ZHUHJvcGVydHlBY2Nlc3M6OlJl
YWRPbmx5KTsKKyAgICAgICAgICAgIG1fYW5pbVZhbCA9IExpc3RUeXBlOjpjcmVhdGUobV9iYXNl
VmFsLmdldCgpKTsKICAgICAgICAgcmV0dXJuIG1fYW5pbVZhbDsKICAgICB9CiAKKyAgICBib29s
IGlzUHJvcGVydHlSZWFkT25seShjb25zdCBET01MaXZlUHJvcGVydHkmIHByb3BlcnR5KSBjb25z
dCBvdmVycmlkZQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fYW5pbVZhbCA9PSAmcHJvcGVydHk7
CisgICAgfQorCiAgICAgLy8gQ2FsbGVkIHdoZW4gbV9iYXNlVmFsIGNoYW5nZXMgb3IgYW4gaXRl
bSBpbiBtX2Jhc2VWYWwgY2hhbmdlcy4KLSAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKFNW
R1Byb3BlcnR5KiBwcm9wZXJ0eSkgb3ZlcnJpZGUKKyAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hh
bmdlKERPTUxpdmVQcm9wZXJ0eSogcHJvcGVydHkpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBp
ZiAobV9hbmltVmFsKQogICAgICAgICAgICAgKm1fYW5pbVZhbCA9IG1fYmFzZVZhbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlQ
YWlyQWNjZXNzb3JJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmlt
YXRlZFByb3BlcnR5UGFpckFjY2Vzc29ySW1wbC5oCmluZGV4IDRhMjY5ZmE1YThmMjdjZDMzNTVl
ODM0MDZmYTUzODUzZDk1Mjg5YzUuLjM1MGJjMDg4ZWI0NWE5NjA5OGVhOTI0N2EzNzU4NTgyOGVl
MTM1MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1h
dGVkUHJvcGVydHlQYWlyQWNjZXNzb3JJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3By
b3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBhaXJBY2Nlc3NvckltcGwuaApAQCAtNDYsMTcg
KzQ2LDExIEBAIHB1YmxpYzoKICAgICBjb25zdGV4cHIgc3RhdGljIGNvbnN0IFNWR01lbWJlckFj
Y2Vzc29yPE93bmVyVHlwZT4mIHNpbmdsZXRvbigpIHsgcmV0dXJuIEJhc2U6OnRlbXBsYXRlIHNp
bmdsZXRvbjxTVkdBbmltYXRlZEFuZ2xlT3JpZW50QWNjZXNzb3IsIHByb3BlcnR5MSwgcHJvcGVy
dHkyPigpOyB9CiAKIHByaXZhdGU6Ci0gICAgT3B0aW9uYWw8U3RyaW5nPiBzeW5jaHJvbml6ZShj
b25zdCBPd25lclR5cGUmIG93bmVyKSBjb25zdCBmaW5hbAorICAgIFN0cmluZyB2YWx1ZUFzU3Ry
aW5nKGNvbnN0IE93bmVyVHlwZSYgb3duZXIpIGNvbnN0IGZpbmFsCiAgICAgewotICAgICAgICBi
b29sIGRpcnR5MSA9IHByb3BlcnR5MShvd25lciktPmlzRGlydHkoKTsKLSAgICAgICAgYm9vbCBk
aXJ0eTIgPSBwcm9wZXJ0eTIob3duZXIpLT5pc0RpcnR5KCk7Ci0gICAgICAgIGlmICghKGRpcnR5
MSB8fCBkaXJ0eTIpKQotICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQogICAgICAg
ICBhdXRvIHR5cGUgPSBwcm9wZXJ0eTIob3duZXIpLT5iYXNlVmFsKCk7Ci0KLSAgICAgICAgU3Ry
aW5nIHN0cmluZzEgPSBkaXJ0eTEgPyAqcHJvcGVydHkxKG93bmVyKS0+c3luY2hyb25pemUoKSA6
IHByb3BlcnR5MShvd25lciktPmJhc2VWYWxBc1N0cmluZygpOwotICAgICAgICBTdHJpbmcgc3Ry
aW5nMiA9IGRpcnR5MiA/ICpwcm9wZXJ0eTIob3duZXIpLT5zeW5jaHJvbml6ZSgpIDogcHJvcGVy
dHkyKG93bmVyKS0+YmFzZVZhbEFzU3RyaW5nKCk7CisgICAgICAgIFN0cmluZyBzdHJpbmcxID0g
cHJvcGVydHkxKG93bmVyKS0+YmFzZVZhbEFzU3RyaW5nKCk7CisgICAgICAgIFN0cmluZyBzdHJp
bmcyID0gcHJvcGVydHkyKG93bmVyKS0+YmFzZVZhbEFzU3RyaW5nKCk7CiAgICAgICAgIHJldHVy
biB0eXBlID09IFNWR01hcmtlck9yaWVudEF1dG8gfHwgdHlwZSA9PSBTVkdNYXJrZXJPcmllbnRB
dXRvU3RhcnRSZXZlcnNlID8gc3RyaW5nMiA6IHN0cmluZzE7CiAgICAgfQogCkBAIC04MywxNSAr
NzcsMTAgQEAgcHVibGljOgogICAgIGNvbnN0ZXhwciBzdGF0aWMgY29uc3QgU1ZHTWVtYmVyQWNj
ZXNzb3I8T3duZXJUeXBlPiYgc2luZ2xldG9uKCkgeyByZXR1cm4gQmFzZTo6dGVtcGxhdGUgc2lu
Z2xldG9uPFNWR0FuaW1hdGVkSW50ZWdlclBhaXJBY2Nlc3NvciwgcHJvcGVydHkxLCBwcm9wZXJ0
eTI+KCk7IH0KIAogcHJpdmF0ZToKLSAgICBPcHRpb25hbDxTdHJpbmc+IHN5bmNocm9uaXplKGNv
bnN0IE93bmVyVHlwZSYgb3duZXIpIGNvbnN0IGZpbmFsCisgICAgU3RyaW5nIHZhbHVlQXNTdHJp
bmcoY29uc3QgT3duZXJUeXBlJiBvd25lcikgY29uc3QgZmluYWwKICAgICB7Ci0gICAgICAgIGJv
b2wgZGlydHkxID0gcHJvcGVydHkxKG93bmVyKS0+aXNEaXJ0eSgpOwotICAgICAgICBib29sIGRp
cnR5MiA9IHByb3BlcnR5Mihvd25lciktPmlzRGlydHkoKTsKLSAgICAgICAgaWYgKCEoZGlydHkx
IHx8IGRpcnR5MikpCi0gICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotCi0gICAgICAg
IFN0cmluZyBzdHJpbmcxID0gZGlydHkxID8gKnByb3BlcnR5MShvd25lciktPnN5bmNocm9uaXpl
KCkgOiBwcm9wZXJ0eTEob3duZXIpLT5iYXNlVmFsQXNTdHJpbmcoKTsKLSAgICAgICAgU3RyaW5n
IHN0cmluZzIgPSBkaXJ0eTIgPyAqcHJvcGVydHkyKG93bmVyKS0+c3luY2hyb25pemUoKSA6IHBy
b3BlcnR5Mihvd25lciktPmJhc2VWYWxBc1N0cmluZygpOworICAgICAgICBTdHJpbmcgc3RyaW5n
MSA9IHByb3BlcnR5MShvd25lciktPmJhc2VWYWxBc1N0cmluZygpOworICAgICAgICBTdHJpbmcg
c3RyaW5nMiA9IHByb3BlcnR5Mihvd25lciktPmJhc2VWYWxBc1N0cmluZygpOwogICAgICAgICBy
ZXR1cm4gc3RyaW5nMSA9PSBzdHJpbmcyID8gc3RyaW5nMSA6IHN0cmluZzEgKyAiLCAiICsgc3Ry
aW5nMjsKICAgICB9CiAKQEAgLTExNCwxOSArMTAzLDE0IEBAIGNsYXNzIFNWR0FuaW1hdGVkTnVt
YmVyUGFpckFjY2Vzc29yIGZpbmFsIDogcHVibGljIFNWR0FuaW1hdGVkUHJvcGVydHlQYWlyQWNj
ZXNzCiAKIHB1YmxpYzoKICAgICB1c2luZyBCYXNlOjpCYXNlOwotICAgIHRlbXBsYXRlPFJlZjxT
VkdBbmltYXRlZE51bWJlcj4gT3duZXJUeXBlOjoqcHJvcGVydHkxLCBSZWY8U1ZHQW5pbWF0ZWRO
dW1iZXI+IE93bmVyVHlwZTo6KnByb3BlcnR5MiA+CisgICAgdGVtcGxhdGU8UmVmPFNWR0FuaW1h
dGVkTnVtYmVyPiBPd25lclR5cGU6Oipwcm9wZXJ0eTEsIFJlZjxTVkdBbmltYXRlZE51bWJlcj4g
T3duZXJUeXBlOjoqcHJvcGVydHkyPgogICAgIGNvbnN0ZXhwciBzdGF0aWMgY29uc3QgU1ZHTWVt
YmVyQWNjZXNzb3I8T3duZXJUeXBlPiYgc2luZ2xldG9uKCkgeyByZXR1cm4gQmFzZTo6dGVtcGxh
dGUgc2luZ2xldG9uPFNWR0FuaW1hdGVkTnVtYmVyUGFpckFjY2Vzc29yLCBwcm9wZXJ0eTEsIHBy
b3BlcnR5Mj4oKTsgfQogCiBwcml2YXRlOgotICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25p
emUoY29uc3QgT3duZXJUeXBlJiBvd25lcikgY29uc3QgZmluYWwKKyAgICBTdHJpbmcgdmFsdWVB
c1N0cmluZyhjb25zdCBPd25lclR5cGUmIG93bmVyKSBjb25zdCBmaW5hbAogICAgIHsKLSAgICAg
ICAgYm9vbCBkaXJ0eTEgPSBwcm9wZXJ0eTEob3duZXIpLT5pc0RpcnR5KCk7Ci0gICAgICAgIGJv
b2wgZGlydHkyID0gcHJvcGVydHkyKG93bmVyKS0+aXNEaXJ0eSgpOwotICAgICAgICBpZiAoIShk
aXJ0eTEgfHwgZGlydHkyKSkKLSAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAg
ICAgICAgU3RyaW5nIHN0cmluZzEgPSBkaXJ0eTEgPyAqcHJvcGVydHkxKG93bmVyKS0+c3luY2hy
b25pemUoKSA6IHByb3BlcnR5MShvd25lciktPmJhc2VWYWxBc1N0cmluZygpOwotICAgICAgICBT
dHJpbmcgc3RyaW5nMiA9IGRpcnR5MiA/ICpwcm9wZXJ0eTIob3duZXIpLT5zeW5jaHJvbml6ZSgp
IDogcHJvcGVydHkyKG93bmVyKS0+YmFzZVZhbEFzU3RyaW5nKCk7CisgICAgICAgIFN0cmluZyBz
dHJpbmcxID0gcHJvcGVydHkxKG93bmVyKS0+YmFzZVZhbEFzU3RyaW5nKCk7CisgICAgICAgIFN0
cmluZyBzdHJpbmcyID0gcHJvcGVydHkyKG93bmVyKS0+YmFzZVZhbEFzU3RyaW5nKCk7CiAgICAg
ICAgIHJldHVybiBzdHJpbmcxID09IHN0cmluZzIgPyBzdHJpbmcxIDogc3RyaW5nMSArICIsICIg
KyBzdHJpbmcyOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3Bl
cnRpZXMvU1ZHQW5pbWF0ZWRWYWx1ZVByb3BlcnR5LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJv
cGVydGllcy9TVkdBbmltYXRlZFZhbHVlUHJvcGVydHkuaAppbmRleCBkZmRiMTcxYTBjYjgzZmM3
NTk2MDU5ZTc2MDRhN2ZkODkzNTFmNTI1Li43Zjk2NTI1YWI5M2I2NGNmMzdjY2E1MmFmNDdkZmI0
ZTZjMDFhZjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdB
bmltYXRlZFZhbHVlUHJvcGVydHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGll
cy9TVkdBbmltYXRlZFZhbHVlUHJvcGVydHkuaApAQCAtODQsOSArODQsNyBAQCBwdWJsaWM6CiAg
ICAgfQogCiAgICAgLy8gTWFuYWdpbmcgdGhlIHJlbGF0aW9uc2hpcCB3aXRoIHRoZSBvd25lci4K
LSAgICB2b2lkIHNldERpcnR5KCkgb3ZlcnJpZGUgeyBtX2Jhc2VWYWwtPnNldERpcnR5KCk7IH0K
LSAgICBib29sIGlzRGlydHkoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2Jhc2VWYWwtPmlz
RGlydHkoKTsgfQotICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUoKSBvdmVycmlkZSB7
IHJldHVybiBtX2Jhc2VWYWwtPnN5bmNocm9uaXplKCk7IH0KKyAgICBTdHJpbmcgdmFsdWVBc1N0
cmluZygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJhc2VWYWxBc1N0cmluZygpOyB9CiAKICAg
ICAvLyBVc2VkIGJ5IFJlbmRlclNWR0VsZW1lbnRzIGFuZCBEdW1wUmVuZGVyVHJlZS4KICAgICBj
b25zdCBWYWx1ZVR5cGUmIGN1cnJlbnRWYWx1ZSgpIGNvbnN0CkBAIC0xMzEsMjYgKzEyOSwyNCBA
QCBwcm90ZWN0ZWQ6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgogICAgIFNW
R0FuaW1hdGVkVmFsdWVQcm9wZXJ0eShTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCwgQXJndW1l
bnRzJiYuLi4gYXJndW1lbnRzKQogICAgICAgICA6IFNWR0FuaW1hdGVkUHJvcGVydHkoY29udGV4
dEVsZW1lbnQpCi0gICAgICAgICwgbV9iYXNlVmFsKFByb3BlcnR5VHlwZTo6Y3JlYXRlKHRoaXMs
IFNWR1Byb3BlcnR5QWNjZXNzOjpSZWFkV3JpdGUsIFZhbHVlVHlwZShzdGQ6OmZvcndhcmQ8QXJn
dW1lbnRzPihhcmd1bWVudHMpLi4uKSkpCi0gICAgewotICAgIH0KLQotICAgIHRlbXBsYXRlPHR5
cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAgICBTVkdBbmltYXRlZFZhbHVlUHJvcGVydHkoU1ZHRWxl
bWVudCogY29udGV4dEVsZW1lbnQsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcywgQXJndW1lbnRz
JiYuLi4gYXJndW1lbnRzKQotICAgICAgICA6IFNWR0FuaW1hdGVkUHJvcGVydHkoY29udGV4dEVs
ZW1lbnQpCi0gICAgICAgICwgbV9iYXNlVmFsKFByb3BlcnR5VHlwZTo6Y3JlYXRlKHRoaXMsIGFj
Y2VzcywgVmFsdWVUeXBlKHN0ZDo6Zm9yd2FyZDxBcmd1bWVudHM+KGFyZ3VtZW50cykuLi4pKSkK
KyAgICAgICAgLCBtX2Jhc2VWYWwoUHJvcGVydHlUeXBlOjpjcmVhdGUodGhpcywgVmFsdWVUeXBl
KHN0ZDo6Zm9yd2FyZDxBcmd1bWVudHM+KGFyZ3VtZW50cykuLi4pKSkKICAgICB7CiAgICAgfQog
CiAgICAgUmVmUHRyPFByb3BlcnR5VHlwZT4mIGVuc3VyZUFuaW1WYWwoKQogICAgIHsKICAgICAg
ICAgaWYgKCFtX2FuaW1WYWwpCi0gICAgICAgICAgICBtX2FuaW1WYWwgPSBQcm9wZXJ0eVR5cGU6
OmNyZWF0ZSh0aGlzLCBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZE9ubHksIG1fYmFzZVZhbC0+dmFs
dWUoKSk7CisgICAgICAgICAgICBtX2FuaW1WYWwgPSBQcm9wZXJ0eVR5cGU6OmNyZWF0ZSh0aGlz
LCBtX2Jhc2VWYWwtPnZhbHVlKCkpOwogICAgICAgICByZXR1cm4gbV9hbmltVmFsOwogICAgIH0K
IAorICAgIGJvb2wgaXNQcm9wZXJ0eVJlYWRPbmx5KGNvbnN0IERPTUxpdmVQcm9wZXJ0eSYgcHJv
cGVydHkpIGNvbnN0IG92ZXJyaWRlCisgICAgeworICAgICAgICByZXR1cm4gbV9hbmltVmFsID09
ICZwcm9wZXJ0eTsKKyAgICB9CisKICAgICAvLyBDYWxsZWQgd2hlbiBtX2Jhc2VWYWwgY2hhbmdl
cy4KLSAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKFNWR1Byb3BlcnR5KiBwcm9wZXJ0eSkg
b3ZlcnJpZGUKKyAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKERPTUxpdmVQcm9wZXJ0eSog
cHJvcGVydHkpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBpZiAobV9hbmltVmFsKQogICAgICAg
ICAgICAgbV9hbmltVmFsLT5zZXRWYWx1ZShtX2Jhc2VWYWwtPnZhbHVlKCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0aW9uQWRkaXRpdmVMaXN0
RnVuY3Rpb25JbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRp
b25BZGRpdGl2ZUxpc3RGdW5jdGlvbkltcGwuaAppbmRleCA2MWExZDAzNmNmZGE1MmJhNGVhOGI3
MWU1MWJiMmM3YjE3YWRiY2I2Li4yOTUxNTI5NzE2MjdiNzgyMjM3MDgzNTZhYWU1MWJhYjY2NmE0
MWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRp
b25BZGRpdGl2ZUxpc3RGdW5jdGlvbkltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJv
cGVydGllcy9TVkdBbmltYXRpb25BZGRpdGl2ZUxpc3RGdW5jdGlvbkltcGwuaApAQCAtMTc2LDI5
ICsxNzYsMjkgQEAgcHVibGljOgogICAgICAgICBhdXRvJiBhbmltYXRlZEl0ZW1zID0gYW5pbWF0
ZWQtPml0ZW1zKCk7CiAKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHRvSXRlbXMu
c2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIEZsb2F0UG9pbnQgZnJvbSA9IGkgPCBmcm9tSXRl
bXMuc2l6ZSgpID8gZnJvbUl0ZW1zW2ldLT52YWx1ZSgpIDogRmxvYXRQb2ludCgpOwotICAgICAg
ICAgICAgRmxvYXRQb2ludCB0byA9IHRvSXRlbXNbaV0tPnZhbHVlKCk7Ci0gICAgICAgICAgICBG
bG9hdFBvaW50IHRvQXRFbmRPZkR1cmF0aW9uID0gaSA8IHRvQXRFbmRPZkR1cmF0aW9uSXRlbXMu
c2l6ZSgpID8gdG9BdEVuZE9mRHVyYXRpb25JdGVtc1tpXS0+dmFsdWUoKSA6IEZsb2F0UG9pbnQo
KTsKLSAgICAgICAgICAgIEZsb2F0UG9pbnQmIGFuaW1hdGVkID0gYW5pbWF0ZWRJdGVtc1tpXS0+
dmFsdWUoKTsKKyAgICAgICAgICAgIEZsb2F0UG9pbnQgZnJvbSA9IGkgPCBmcm9tSXRlbXMuc2l6
ZSgpID8gRmxvYXRQb2ludChmcm9tSXRlbXNbaV0tPngoKSwgZnJvbUl0ZW1zW2ldLT55KCkpIDog
RmxvYXRQb2ludCgpOworICAgICAgICAgICAgRmxvYXRQb2ludCB0byA9IEZsb2F0UG9pbnQodG9J
dGVtc1tpXS0+eCgpLCB0b0l0ZW1zW2ldLT55KCkpOworICAgICAgICAgICAgRmxvYXRQb2ludCB0
b0F0RW5kT2ZEdXJhdGlvbiA9IGkgPCB0b0F0RW5kT2ZEdXJhdGlvbkl0ZW1zLnNpemUoKSA/IEZs
b2F0UG9pbnQodG9BdEVuZE9mRHVyYXRpb25JdGVtc1tpXS0+eCgpLCB0b0F0RW5kT2ZEdXJhdGlv
bkl0ZW1zW2ldLT55KCkpIDogRmxvYXRQb2ludCgpOworICAgICAgICAgICAgRmxvYXRQb2ludCBh
bmltYXRlZCA9IEZsb2F0UG9pbnQoYW5pbWF0ZWRJdGVtc1tpXS0+eCgpLCBhbmltYXRlZEl0ZW1z
W2ldLT55KCkpOwogCi0gICAgICAgICAgICBmbG9hdCBhbmltYXRlZFggPSBCYXNlOjphbmltYXRl
KHByb2dyZXNzLCByZXBlYXRDb3VudCwgZnJvbS54KCksIHRvLngoKSwgdG9BdEVuZE9mRHVyYXRp
b24ueCgpLCBhbmltYXRlZC54KCkpOwotICAgICAgICAgICAgZmxvYXQgYW5pbWF0ZWRZID0gQmFz
ZTo6YW5pbWF0ZShwcm9ncmVzcywgcmVwZWF0Q291bnQsIGZyb20ueSgpLCB0by55KCksIHRvQXRF
bmRPZkR1cmF0aW9uLnkoKSwgYW5pbWF0ZWQueSgpKTsKLQotICAgICAgICAgICAgYW5pbWF0ZWQg
PSB7IGFuaW1hdGVkWCwgYW5pbWF0ZWRZIH07CisgICAgICAgICAgICBhbmltYXRlZEl0ZW1zW2ld
LT5zZXRYKEJhc2U6OmFuaW1hdGUocHJvZ3Jlc3MsIHJlcGVhdENvdW50LCBmcm9tLngoKSwgdG8u
eCgpLCB0b0F0RW5kT2ZEdXJhdGlvbi54KCksIGFuaW1hdGVkLngoKSkpOworICAgICAgICAgICAg
YW5pbWF0ZWRJdGVtc1tpXS0+c2V0WShCYXNlOjphbmltYXRlKHByb2dyZXNzLCByZXBlYXRDb3Vu
dCwgZnJvbS55KCksIHRvLnkoKSwgdG9BdEVuZE9mRHVyYXRpb24ueSgpLCBhbmltYXRlZC55KCkp
KTsKICAgICAgICAgfQogICAgIH0KIAogcHJpdmF0ZToKICAgICB2b2lkIGFkZEZyb21BbmRUb1Zh
bHVlcyhTVkdFbGVtZW50Kikgb3ZlcnJpZGUKICAgICB7Ci0gICAgICAgIGNvbnN0IFZlY3RvcjxS
ZWY8U1ZHUG9pbnQ+PiYgZnJvbUl0ZW1zID0gbV9mcm9tLT5pdGVtcygpOwotICAgICAgICBWZWN0
b3I8UmVmPFNWR1BvaW50Pj4mIHRvSXRlbXMgPSBtX3RvLT5pdGVtcygpOworICAgICAgICBjb25z
dCBhdXRvJiBmcm9tSXRlbXMgPSBtX2Zyb20tPml0ZW1zKCk7CisgICAgICAgIGF1dG8mIHRvSXRl
bXMgPSBtX3RvLT5pdGVtcygpOwogCiAgICAgICAgIGlmICghZnJvbUl0ZW1zLnNpemUoKSB8fCBm
cm9tSXRlbXMuc2l6ZSgpICE9IHRvSXRlbXMuc2l6ZSgpKQogICAgICAgICAgICAgcmV0dXJuOwog
Ci0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBmcm9tSXRlbXMuc2l6ZSgpOyArK2kp
Ci0gICAgICAgICAgICB0b0l0ZW1zW2ldLT5zZXRWYWx1ZShmcm9tSXRlbXNbaV0tPnZhbHVlKCkg
KyB0b0l0ZW1zW2ldLT52YWx1ZSgpKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IGZyb21JdGVtcy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgdG9JdGVtc1tpXS0+c2V0WChm
cm9tSXRlbXNbaV0tPngoKSArIHRvSXRlbXNbaV0tPngoKSk7CisgICAgICAgICAgICB0b0l0ZW1z
W2ldLT5zZXRZKGZyb21JdGVtc1tpXS0+eSgpICsgdG9JdGVtc1tpXS0+eSgpKTsKKyAgICAgICAg
fQogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVz
L1NWR01lbWJlckFjY2Vzc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdN
ZW1iZXJBY2Nlc3Nvci5oCmluZGV4IGY3YmJhNmFlMGEwZWVhYmI2ZTYxODdhNTgxMDRmNzIxMjhh
Y2FhZmEuLmU1OTc3ODA1NzYwNDE5MTMyN2MyNzQ1ODlkNjJhZjU3NjdiYmIzZGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR01lbWJlckFjY2Vzc29yLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHTWVtYmVyQWNjZXNzb3IuaApAQCAt
MzAsOCArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERPTUxpdmVQcm9w
ZXJ0eTsKIGNsYXNzIFNWR0FuaW1hdGVkUHJvcGVydHk7Ci1jbGFzcyBTVkdQcm9wZXJ0eTsKIAog
dGVtcGxhdGU8dHlwZW5hbWUgT3duZXJUeXBlPgogY2xhc3MgU1ZHTWVtYmVyQWNjZXNzb3IgewpA
QCAtNDMsOSArNDMsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzQW5pbWF0ZWRQcm9w
ZXJ0eSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzQW5pbWF0
ZWRMZW5ndGgoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCi0gICAgdmlydHVhbCBib29sIG1h
dGNoZXMoY29uc3QgT3duZXJUeXBlJiwgY29uc3QgU1ZHUHJvcGVydHkmKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBtYXRjaGVzKGNvbnN0IE93bmVyVHlwZSYsIGNv
bnN0IERPTUxpdmVQcm9wZXJ0eSYpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVh
bCBib29sIG1hdGNoZXMoY29uc3QgT3duZXJUeXBlJiwgY29uc3QgU1ZHQW5pbWF0ZWRQcm9wZXJ0
eSYpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBPcHRpb25hbDxTdHJpbmc+
IHN5bmNocm9uaXplKGNvbnN0IE93bmVyVHlwZSYpIGNvbnN0IHsgcmV0dXJuIFdURjo6bnVsbG9w
dDsgfQorICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVlQXNTdHJpbmcoY29uc3QgT3duZXJUeXBlJikg
Y29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQogCiAgICAgdmlydHVhbCBSZWZQdHI8U1ZH
QXR0cmlidXRlQW5pbWF0b3I+IGNyZWF0ZUFuaW1hdG9yKE93bmVyVHlwZSYsIGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBBbmltYXRpb25Nb2RlLCBDYWxjTW9kZSwgYm9vbCwgYm9vbCkgY29uc3QgeyBy
ZXR1cm4gbnVsbHB0cjsgfQogICAgIHZpcnR1YWwgdm9pZCBhcHBlbmRBbmltYXRlZEluc3RhbmNl
KE93bmVyVHlwZSYsIFNWR0F0dHJpYnV0ZUFuaW1hdG9yJikgY29uc3QgeyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQb2ludGVyTWVtYmVyQWNjZXNzb3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1BvaW50ZXJNZW1iZXJBY2Nlc3Nv
ci5oCmluZGV4IDhlMmY3NmRjYWI0ZTkwZmIzOGViMzM5NjllYTY1YzA3MDIyNDUzODcuLmFmNTNk
NmM1NmZkODY5N2UzMDk1ZTAxY2JhYTk5ZTg5ZDczNmQyMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1BvaW50ZXJNZW1iZXJBY2Nlc3Nvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1BvaW50ZXJNZW1iZXJBY2Nlc3Nvci5oCkBA
IC00Nyw5ICs0Nyw5IEBAIHB1YmxpYzoKICAgICAgICAgcHJvcGVydHkob3duZXIpLT5kZXRhY2go
KTsKICAgICB9CiAKLSAgICBPcHRpb25hbDxTdHJpbmc+IHN5bmNocm9uaXplKGNvbnN0IE93bmVy
VHlwZSYgb3duZXIpIGNvbnN0IG92ZXJyaWRlCisgICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoY29u
c3QgT3duZXJUeXBlJiBvd25lcikgY29uc3Qgb3ZlcnJpZGUKICAgICB7Ci0gICAgICAgIHJldHVy
biBwcm9wZXJ0eShvd25lciktPnN5bmNocm9uaXplKCk7CisgICAgICAgIHJldHVybiBwcm9wZXJ0
eShvd25lciktPnZhbHVlQXNTdHJpbmcoKTsKICAgICB9CiAKIHByb3RlY3RlZDoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5LmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eS5oCmluZGV4IGNlNjVjYjExMGQxZmI0
NjZlMjI5ZWM3OWM5ZGQwMTdlODYxMjk5NjcuLjc2YTk3YzU5OWVjOGUzYzRjZTNjMDRiZTYxZDYx
YTA4OThjNDdjZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NW
R1Byb3BlcnR5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVy
dHkuaApAQCAtMjAsODMgKzIwLDIxIEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiU1ZH
UHJvcGVydHlPd25lci5oIgotI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorI2luY2x1ZGUgIkRP
TUxpdmVQcm9wZXJ0eS5oIgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBjbGFz
cyBTVkdQcm9wZXJ0eUFjY2VzcyA6IHVpbnQ4X3QgeyBSZWFkV3JpdGUsIFJlYWRPbmx5IH07Ci1l
bnVtIGNsYXNzIFNWR1Byb3BlcnR5U3RhdGUgOiB1aW50OF90IHsgQ2xlYW4sIERpcnR5IH07Ci0K
LWNsYXNzIFNWR1Byb3BlcnR5IDogcHVibGljIFJlZkNvdW50ZWQ8U1ZHUHJvcGVydHk+IHsKK2Ns
YXNzIFNWR1Byb3BlcnR5IDogcHVibGljIERPTUxpdmVQcm9wZXJ0eSwgcHVibGljIFJlZkNvdW50
ZWQ8U1ZHUHJvcGVydHk+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5TVkdQcm9wZXJ0eSgpID0g
ZGVmYXVsdDsKIAotICAgIC8vIE1hbmFnaW5nIHRoZSByZWxhdGlvbnNoaXAgd2l0aCB0aGUgb3du
ZXIuCi0gICAgYm9vbCBpc0F0dGFjaGVkKCkgY29uc3QgeyByZXR1cm4gbV9vd25lcjsgfQotICAg
IHZvaWQgYXR0YWNoKFNWR1Byb3BlcnR5T3duZXIqIG93bmVyLCBTVkdQcm9wZXJ0eUFjY2VzcyBh
Y2Nlc3MpCi0gICAgewotICAgICAgICBBU1NFUlQoIW1fb3duZXIpOwotICAgICAgICBBU1NFUlQo
bV9zdGF0ZSA9PSBTVkdQcm9wZXJ0eVN0YXRlOjpDbGVhbik7Ci0gICAgICAgIG1fb3duZXIgPSBv
d25lcjsKLSAgICAgICAgbV9hY2Nlc3MgPSBhY2Nlc3M7Ci0gICAgfQotCi0gICAgdm9pZCBkZXRh
Y2goKQotICAgIHsKLSAgICAgICAgbV9vd25lciA9IG51bGxwdHI7Ci0gICAgICAgIG1fYWNjZXNz
ID0gU1ZHUHJvcGVydHlBY2Nlc3M6OlJlYWRXcml0ZTsKLSAgICAgICAgbV9zdGF0ZSA9IFNWR1By
b3BlcnR5U3RhdGU6OkNsZWFuOwotICAgIH0KLQotICAgIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRl
eHRFbGVtZW50KCkgY29uc3QKLSAgICB7Ci0gICAgICAgIGlmICghbV9vd25lcikKLSAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOwotICAgICAgICByZXR1cm4gbV9vd25lci0+YXR0cmlidXRlQ29u
dGV4dEVsZW1lbnQoKTsKLSAgICB9Ci0KLSAgICB2b2lkIGNvbW1pdENoYW5nZSgpCi0gICAgewot
ICAgICAgICBpZiAoIW1fb3duZXIpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIG1fb3du
ZXItPmNvbW1pdFByb3BlcnR5Q2hhbmdlKHRoaXMpOwotICAgIH0KLQotICAgIC8vIERPTSBhY2Nl
c3MuCi0gICAgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzKCkgY29uc3QgeyByZXR1cm4gbV9hY2Nl
c3M7IH0KLSAgICBib29sIGlzUmVhZE9ubHkoKSBjb25zdCB7IHJldHVybiBtX2FjY2VzcyA9PSBT
VkdQcm9wZXJ0eUFjY2Vzczo6UmVhZE9ubHk7IH0KLQotICAgIC8vIFN5bmNocm9uaXppbmcgdGhl
IFNWRyBhdHRyaWJ1dGUgYW5kIGl0cyByZWZsZWN0aW9uIGhlcmUuCi0gICAgYm9vbCBpc0RpcnR5
KCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZSA9PSBTVkdQcm9wZXJ0eVN0YXRlOjpEaXJ0eTsgfQot
ICAgIHZvaWQgc2V0RGlydHkoKSB7IG1fc3RhdGUgPSBTVkdQcm9wZXJ0eVN0YXRlOjpEaXJ0eTsg
fQotICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUoKQotICAgIHsKLSAgICAgICAgaWYg
KG1fc3RhdGUgPT0gU1ZHUHJvcGVydHlTdGF0ZTo6Q2xlYW4pCi0gICAgICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OwotICAgICAgICBtX3N0YXRlID0gU1ZHUHJvcGVydHlTdGF0ZTo6Q2xlYW47
Ci0gICAgICAgIHJldHVybiB2YWx1ZUFzU3RyaW5nKCk7Ci0gICAgfQotCiAgICAgLy8gVGhpcyBp
cyB1c2VkIHdoZW4gY2FsbGluZyBzZXRBdHRyaWJ1dGUoKS4KICAgICB2aXJ0dWFsIFN0cmluZyB2
YWx1ZUFzU3RyaW5nKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQogCi0gICAgLy8g
VmlzdWFsIFN0dWRpbyBkb2Vzbid0IHNlZW0gdG8gc2VlIHRoZXNlIHByaXZhdGUgY29uc3RydWN0
b3JzIGZyb20gc3ViY2xhc3Nlcy4KLSAgICAvLyBGSVhNRTogU2VlIHdoYXQgaXQgdGFrZXMgdG8g
cmVtb3ZlIHRoaXMgaGFjay4KLSNpZiAhQ09NUElMRVIoTVNWQykKIHByb3RlY3RlZDoKLSNlbmRp
ZgotICAgIFNWR1Byb3BlcnR5KFNWR1Byb3BlcnR5T3duZXIqIG93bmVyID0gbnVsbHB0ciwgU1ZH
UHJvcGVydHlBY2Nlc3MgYWNjZXNzID0gU1ZHUHJvcGVydHlBY2Nlc3M6OlJlYWRXcml0ZSkKLSAg
ICAgICAgOiBtX293bmVyKG93bmVyKQotICAgICAgICAsIG1fYWNjZXNzKGFjY2VzcykKLSAgICB7
Ci0gICAgfQotCi0gICAgU1ZHUHJvcGVydHlPd25lciogbV9vd25lciB7IG51bGxwdHIgfTsKLSAg
ICBTVkdQcm9wZXJ0eUFjY2VzcyBtX2FjY2VzcyB7IFNWR1Byb3BlcnR5QWNjZXNzOjpSZWFkV3Jp
dGUgfTsKLSAgICBTVkdQcm9wZXJ0eVN0YXRlIG1fc3RhdGUgeyBTVkdQcm9wZXJ0eVN0YXRlOjpD
bGVhbiB9OworICAgIHVzaW5nIERPTUxpdmVQcm9wZXJ0eTo6RE9NTGl2ZVByb3BlcnR5OwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlBY2Nlc3Nvci5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL3By
b3BlcnRpZXMvU1ZHUHJvcGVydHlBY2Nlc3Nvci5oCmluZGV4IGZmOGM0Y2RlNmRkMGYzY2FmYmM4
ZjI3YjI3MDI5NzBlMzVmNDg3NjQuLjhkMTI4MTgyN2Q0ZmI5ODg5M2JmZjFmMjQ5ZTBiMzU2ODgy
Mjc1ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3Bl
cnR5QWNjZXNzb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9w
ZXJ0eUFjY2Vzc29yLmgKQEAgLTQwLDcgKzQwLDcgQEAgcHJvdGVjdGVkOgogICAgIHVzaW5nIEJh
c2U6OnByb3BlcnR5OwogICAgIHVzaW5nIEJhc2U6OnNpbmdsZXRvbjsKIAotICAgIGJvb2wgbWF0
Y2hlcyhjb25zdCBPd25lclR5cGUmIG93bmVyLCBjb25zdCBTVkdQcm9wZXJ0eSYgcHJvcGVydHkp
IGNvbnN0IG92ZXJyaWRlCisgICAgYm9vbCBtYXRjaGVzKGNvbnN0IE93bmVyVHlwZSYgb3duZXIs
IGNvbnN0IERPTUxpdmVQcm9wZXJ0eSYgcHJvcGVydHkpIGNvbnN0IG92ZXJyaWRlCiAgICAgewog
ICAgICAgICByZXR1cm4gdGhpcy0+cHJvcGVydHkob3duZXIpLnB0cigpID09ICZwcm9wZXJ0eTsK
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9w
ZXJ0eUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5TGlz
dC5oCmluZGV4IGNiYjAwYWYxMDMwMjU5ZmEzYzA0MWEzZjBmMmFiNzg3M2M3ZGQzY2QuLmMxMzQ2
NDM4ODVmMWJlYWFmYjk3YTdiN2Y1ZDRlZTBmZDgyM2ZjMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5TGlzdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5TGlzdC5oCkBAIC0zMCw3ICszMCw3IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFByb3BlcnR5VHlwZT4KLWNs
YXNzIFNWR1Byb3BlcnR5TGlzdCA6IHB1YmxpYyBTVkdMaXN0PFJlZjxQcm9wZXJ0eVR5cGU+Piwg
cHVibGljIFNWR1Byb3BlcnR5T3duZXIgeworY2xhc3MgU1ZHUHJvcGVydHlMaXN0IDogcHVibGlj
IFNWR0xpc3Q8UmVmPFByb3BlcnR5VHlwZT4+LCBwdWJsaWMgRE9NTGl2ZVByb3BlcnR5T2JzZXJ2
ZXIgewogcHVibGljOgogICAgIHVzaW5nIEJhc2VMaXN0ID0gU1ZHTGlzdDxSZWY8UHJvcGVydHlU
eXBlPj47CiAgICAgdXNpbmcgQmFzZUxpc3Q6OmlzRW1wdHk7CkBAIC00MiwxMyArNDIsMTIgQEAg
cHVibGljOgogI2lmICFDT01QSUxFUihNU1ZDKQogcHJvdGVjdGVkOgogI2VuZGlmCi0gICAgdXNp
bmcgU1ZHUHJvcGVydHlPd25lcjo6U1ZHUHJvcGVydHlPd25lcjsKKyAgICB1c2luZyBET01MaXZl
UHJvcGVydHlPYnNlcnZlcjo6RE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXI7CiAgICAgdXNpbmcgQmFz
ZUxpc3Q6Om1faXRlbXM7Ci0gICAgdXNpbmcgQmFzZUxpc3Q6Om1fYWNjZXNzOwotICAgIHVzaW5n
IEJhc2VMaXN0OjptX293bmVyOworICAgIHVzaW5nIEJhc2VMaXN0OjptX29ic2VydmVyOwogCi0g
ICAgU1ZHUHJvcGVydHlMaXN0KFNWR1Byb3BlcnR5T3duZXIqIG93bmVyID0gbnVsbHB0ciwgU1ZH
UHJvcGVydHlBY2Nlc3MgYWNjZXNzID0gU1ZHUHJvcGVydHlBY2Nlc3M6OlJlYWRXcml0ZSkKLSAg
ICAgICAgOiBCYXNlTGlzdChvd25lciwgYWNjZXNzKQorICAgIFNWR1Byb3BlcnR5TGlzdChET01M
aXZlUHJvcGVydHlPYnNlcnZlciogb2JzZXJ2ZXIgPSBudWxscHRyKQorICAgICAgICA6IEJhc2VM
aXN0KG9ic2VydmVyKQogICAgIHsKICAgICB9CiAKQEAgLTY0LDEyICs2MywxNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgICAgICAgICBpdGVtLT5kZXRhY2goKTsKICAgICB9CiAKLSAgICBTVkdQcm9wZXJ0
eU93bmVyKiBvd25lcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fb3duZXI7IH0KKyAgICBE
T01MaXZlUHJvcGVydHlPYnNlcnZlciogb2JzZXJ2ZXIoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBtX29ic2VydmVyOyB9CiAKLSAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKFNWR1Byb3Bl
cnR5Kikgb3ZlcnJpZGUKKyAgICBib29sIGlzUHJvcGVydHlSZWFkT25seShjb25zdCBET01MaXZl
UHJvcGVydHkmKSBjb25zdCBvdmVycmlkZQogICAgIHsKLSAgICAgICAgaWYgKG93bmVyKCkpCi0g
ICAgICAgICAgICBvd25lcigpLT5jb21taXRQcm9wZXJ0eUNoYW5nZSh0aGlzKTsKKyAgICAgICAg
cmV0dXJuIG9ic2VydmVyKCkgJiYgb2JzZXJ2ZXIoKS0+aXNQcm9wZXJ0eVJlYWRPbmx5KCp0aGlz
KTsKKyAgICB9CisKKyAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKERPTUxpdmVQcm9wZXJ0
eSopIG92ZXJyaWRlCisgICAgeworICAgICAgICBpZiAob2JzZXJ2ZXIoKSkKKyAgICAgICAgICAg
IG9ic2VydmVyKCktPmNvbW1pdFByb3BlcnR5Q2hhbmdlKHRoaXMpOwogICAgIH0KIAogICAgIFJl
ZjxQcm9wZXJ0eVR5cGU+IGF0KHVuc2lnbmVkIGluZGV4KSBjb25zdCBvdmVycmlkZQpAQCAtODgs
NyArOTIsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgICAgICBuZXdJdGVtID0gbmV3SXRlbS0+Y2xv
bmUoKTsKIAogICAgICAgICAvLyBTcGVjOiBBdHRhY2ggbmV3SXRlbSB0byB0aGUgbGlzdCBvYmpl
Y3QuCi0gICAgICAgIG5ld0l0ZW0tPmF0dGFjaCh0aGlzLCBtX2FjY2Vzcyk7CisgICAgICAgIG5l
d0l0ZW0tPmF0dGFjaCh0aGlzKTsKICAgICAgICAgbV9pdGVtcy5pbnNlcnQoaW5kZXgsIFdURk1v
dmUobmV3SXRlbSkpOwogICAgICAgICByZXR1cm4gYXQoaW5kZXgpOwogICAgIH0KQEAgLTEwOSw3
ICsxMTMsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgICAgICBpdGVtID0gV1RGTW92ZShuZXdJdGVt
KTsKIAogICAgICAgICAvLyBTcGVjOiBBdHRhY2ggbmV3SXRlbSB0byB0aGUgbGlzdCBvYmplY3Qu
Ci0gICAgICAgIGl0ZW0tPmF0dGFjaCh0aGlzLCBtX2FjY2Vzcyk7CisgICAgICAgIGl0ZW0tPmF0
dGFjaCh0aGlzKTsKICAgICAgICAgcmV0dXJuIGF0KGluZGV4KTsKICAgICB9CiAKQEAgLTEzMiw3
ICsxMzYsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgICAgICBuZXdJdGVtID0gbmV3SXRlbS0+Y2xv
bmUoKTsKIAogICAgICAgICAvLyBTcGVjOiBBdHRhY2ggbmV3SXRlbSB0byB0aGUgbGlzdCBvYmpl
Y3QuCi0gICAgICAgIG5ld0l0ZW0tPmF0dGFjaCh0aGlzLCBtX2FjY2Vzcyk7CisgICAgICAgIG5l
d0l0ZW0tPmF0dGFjaCh0aGlzKTsKICAgICAgICAgbV9pdGVtcy5hcHBlbmQoV1RGTW92ZShuZXdJ
dGVtKSk7CiAgICAgICAgIHJldHVybiBhdChzaXplKCkgLSAxKTsKICAgICB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eU93bmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eU93bmVyLmgKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGM5ODE4YmU5Zjg0MGM3NjQ1Mzk4ZTYxYjQ4OTM4MTg2MmEzNDY4
ZjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlPd25lci5oCisrKyAvZGV2L251bGwK
QEAgLTEsNTcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOC0yMDE5IEFwcGxlIElu
Yy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQot
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCi1j
bGFzcyBTVkdFbGVtZW50OwotY2xhc3MgU1ZHUHJvcGVydHk7Ci0KLWNsYXNzIFNWR1Byb3BlcnR5
T3duZXIgewotcHVibGljOgotICAgIHZpcnR1YWwgflNWR1Byb3BlcnR5T3duZXIoKSA9IGRlZmF1
bHQ7Ci0KLSAgICB2aXJ0dWFsIFNWR1Byb3BlcnR5T3duZXIqIG93bmVyKCkgY29uc3QgeyByZXR1
cm4gbnVsbHB0cjsgfQotICAgIAotICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogYXR0cmli
dXRlQ29udGV4dEVsZW1lbnQoKSBjb25zdAotICAgIHsKLSAgICAgICAgaWYgKCFvd25lcigpKQot
ICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIHJldHVybiBvd25lcigpLT5hdHRy
aWJ1dGVDb250ZXh0RWxlbWVudCgpOwotICAgIH0KLSAgICAKLSAgICB2aXJ0dWFsIHZvaWQgY29t
bWl0UHJvcGVydHlDaGFuZ2UoU1ZHUHJvcGVydHkqIHByb3BlcnR5KQotICAgIHsKLSAgICAgICAg
aWYgKCFvd25lcigpKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBvd25lcigpLT5jb21t
aXRQcm9wZXJ0eUNoYW5nZShwcm9wZXJ0eSk7Ci0gICAgfQotICAgIAotcHJvdGVjdGVkOgotICAg
IFNWR1Byb3BlcnR5T3duZXIoKSA9IGRlZmF1bHQ7Ci19OwotCi19CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnkuaCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5T3duZXJSZWdpc3RyeS5oCmlu
ZGV4IGE1ZjcxMzY5N2VhMmM0YzYwMGJhNTM3ZGEyOTQxZjVkYTk5ZTk3OGIuLjMxOWE1MDgyYTU5
ZDlkZTViNjFkZmYyMWI1ZWIzNjhmZDI4N2FjNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5T3duZXJSZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5T3duZXJSZWdpc3RyeS5oCkBAIC0xNzgs
NyArMTc4LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAg
UXVhbGlmaWVkTmFtZSBwcm9wZXJ0eUF0dHJpYnV0ZU5hbWUoY29uc3QgU1ZHUHJvcGVydHkmIHBy
b3BlcnR5KSBjb25zdCBvdmVycmlkZQorICAgIFF1YWxpZmllZE5hbWUgcHJvcGVydHlBdHRyaWJ1
dGVOYW1lKGNvbnN0IERPTUxpdmVQcm9wZXJ0eSYgcHJvcGVydHkpIGNvbnN0IG92ZXJyaWRlCiAg
ICAgewogICAgICAgICBRdWFsaWZpZWROYW1lIGF0dHJpYnV0ZU5hbWUgPSBudWxsUU5hbWUoKTsK
ICAgICAgICAgZW51bWVyYXRlUmVjdXJzaXZlbHkoWyZdKGNvbnN0IGF1dG8mIGVudHJ5KSAtPiBi
b29sIHsKQEAgLTIxMSwzMyArMjExLDIwIEBAIHB1YmxpYzoKICAgICAgICAgfSk7CiAgICAgfQog
Ci0gICAgLy8gRmluZHMgdGhlIHByb3BlcnR5IHdob3NlIG5hbWUgaXMgYXR0cmlidXRlTmFtZSBh
bmQgcmV0dXJucyB0aGUgc3luY2hyb25pemUKLSAgICAvLyBzdHJpbmcgdGhyb3VnaCB0aGUgYXNz
b2NpYXRlZCBTVkdNZW1iZXJBY2Nlc3Nvci4KLSAgICBPcHRpb25hbDxTdHJpbmc+IHN5bmNocm9u
aXplKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIGNvbnN0IG92ZXJyaWRlCisg
ICAgLy8gRmluZHMgdGhlIHByb3BlcnR5IHdob3NlIG5hbWUgaXMgYXR0cmlidXRlTmFtZSBhbmQg
cmV0dXJucyB0aGUgdmFsdWVBc1N0cmluZworICAgIC8vIHRocm91Z2ggdGhlIGFzc29jaWF0ZWQg
U1ZHTWVtYmVyQWNjZXNzb3IuCisgICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoY29uc3QgUXVhbGlm
aWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgY29uc3Qgb3ZlcnJpZGUKICAgICB7Ci0gICAgICAgIE9w
dGlvbmFsPFN0cmluZz4gdmFsdWU7CisgICAgICAgIFN0cmluZyB2YWx1ZTsKICAgICAgICAgZW51
bWVyYXRlUmVjdXJzaXZlbHkoWyZdKGNvbnN0IGF1dG8mIGVudHJ5KSAtPiBib29sIHsKICAgICAg
ICAgICAgIGlmICghZW50cnkua2V5Lm1hdGNoZXMoYXR0cmlidXRlTmFtZSkpCiAgICAgICAgICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICB2YWx1ZSA9IGVudHJ5LnZhbHVlLT5zeW5j
aHJvbml6ZShtX293bmVyKTsKKyAgICAgICAgICAgIHZhbHVlID0gZW50cnkudmFsdWUtPnZhbHVl
QXNTdHJpbmcobV9vd25lcik7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0p
OwogICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgfQogCi0gICAgLy8gRW51bWVyYXRlIHJlY3Vy
c2l2ZWx5IHRoZSBTVkdNZW1iZXJBY2Nlc3NvcnMgb2YgdGhlIE93bmVyVHlwZSBhbmQgYWxsIGl0
cyBCYXNlVHlwZXMuCi0gICAgLy8gQ29sbGVjdCBhbGwgdGhlIHBhaXJzIDxBdHRyaWJ1dGVOYW1l
LCBTdHJpbmc+IG9ubHkgZm9yIHRoZSBkaXJ0eSBwcm9wZXJ0aWVzLgotICAgIEhhc2hNYXA8UXVh
bGlmaWVkTmFtZSwgU3RyaW5nPiBzeW5jaHJvbml6ZUFsbEF0dHJpYnV0ZXMoKSBjb25zdCBvdmVy
cmlkZQotICAgIHsKLSAgICAgICAgSGFzaE1hcDxRdWFsaWZpZWROYW1lLCBTdHJpbmc+IG1hcDsK
LSAgICAgICAgZW51bWVyYXRlUmVjdXJzaXZlbHkoWyZdKGNvbnN0IGF1dG8mIGVudHJ5KSAtPiBi
b29sIHsKLSAgICAgICAgICAgIGlmIChhdXRvIHN0cmluZyA9IGVudHJ5LnZhbHVlLT5zeW5jaHJv
bml6ZShtX293bmVyKSkKLSAgICAgICAgICAgICAgICBtYXAuYWRkKGVudHJ5LmtleSwgKnN0cmlu
Zyk7Ci0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfSk7Ci0gICAgICAgIHJldHVy
biBtYXA7Ci0gICAgfQotCiAgICAgYm9vbCBpc0FuaW1hdGVkUHJvcGVydHlBdHRyaWJ1dGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgY29uc3Qgb3ZlcnJpZGUKICAgICB7CiAg
ICAgICAgIGJvb2wgaXNBbmltYXRlZFByb3BlcnR5QXR0cmlidXRlID0gZmFsc2U7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eVJlZ2lzdHJ5Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eVJlZ2lzdHJ5LmgKaW5k
ZXggMjRmZTY0MjM3ZTJmNWU1ZTFhZmU4NTUxMGYxMzY2MjYyZGY0MzQwNC4uZGUyOGViOWZlMTRh
Nzg3YTZjNTUxZTRkZDBmNTg1MDM4N2UyOWE5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlSZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5UmVnaXN0cnkuaApAQCAtMzcsMTAgKzM3LDkgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgflNWR1Byb3BlcnR5UmVnaXN0cnkoKSA9IGRlZmF1bHQ7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoQWxsUHJvcGVydGllcygpIGNvbnN0ID0gMDsKLSAgICB2
aXJ0dWFsIFF1YWxpZmllZE5hbWUgcHJvcGVydHlBdHRyaWJ1dGVOYW1lKGNvbnN0IFNWR1Byb3Bl
cnR5JikgY29uc3QgPSAwOworICAgIHZpcnR1YWwgUXVhbGlmaWVkTmFtZSBwcm9wZXJ0eUF0dHJp
YnV0ZU5hbWUoY29uc3QgRE9NTGl2ZVByb3BlcnR5JikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwg
UXVhbGlmaWVkTmFtZSBhbmltYXRlZFByb3BlcnR5QXR0cmlidXRlTmFtZShjb25zdCBTVkdBbmlt
YXRlZFByb3BlcnR5JikgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgT3B0aW9uYWw8U3RyaW5nPiBz
eW5jaHJvbml6ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3QgPSAwOwotICAgIHZpcnR1YWwg
SGFzaE1hcDxRdWFsaWZpZWROYW1lLCBTdHJpbmc+IHN5bmNocm9uaXplQWxsQXR0cmlidXRlcygp
IGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIFN0cmluZyB2YWx1ZUFzU3RyaW5nKGNvbnN0IFF1YWxp
ZmllZE5hbWUmKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNBbmltYXRlZFByb3Bl
cnR5QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdCA9IDA7CiAgICAgdmlydHVh
bCBib29sIGlzQW5pbWF0ZWRTdHlsZVByb3BlcnR5QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGll
cy9TVkdWYWx1ZVByb3BlcnR5LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdW
YWx1ZVByb3BlcnR5LmgKaW5kZXggOWYzMWUyZDBmNTM5Y2MyMDIzYjYzZjg3MDY4NmYwZWQ4MWRj
MjljZS4uODUyZjI3NGQ3YmIzMWU3NWEyMjUwOTExM2MyNzI2OWExZDc5OTRlOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHkuaApAQCAtNjQs
MTQgKzY0LDE0IEBAIHByb3RlY3RlZDoKICAgICB9CiAKICAgICAvLyBCYXNlIGFuZCBkZWZhdWx0
IGNvbnN0cnVjdG9yLiBEbyBub3QgdXNlICJ1c2luZyBTVkdQcm9wZXJ0eTo6U1ZHUHJvcGVydHki
IGJlY2F1c2Ugb2YgV2luZG93cyBhbmQgR1RLIHBvcnRzLgotICAgIFNWR1ZhbHVlUHJvcGVydHko
U1ZHUHJvcGVydHlPd25lciogb3duZXIgPSBudWxscHRyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nl
c3MgPSBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZFdyaXRlKQotICAgICAgICA6IFNWR1Byb3BlcnR5
KG93bmVyLCBhY2Nlc3MpCisgICAgU1ZHVmFsdWVQcm9wZXJ0eShET01MaXZlUHJvcGVydHlPYnNl
cnZlciogb2JzZXJ2ZXIgPSBudWxscHRyKQorICAgICAgICA6IFNWR1Byb3BlcnR5KG9ic2VydmVy
KQogICAgIHsKICAgICB9CiAKICAgICAvLyBDcmVhdGUgYW4gaW5pdGlhbGl6ZWQgYW5kIGF0dGFj
aGVkIHByb3BlcnR5LgotICAgIFNWR1ZhbHVlUHJvcGVydHkoU1ZHUHJvcGVydHlPd25lciogb3du
ZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcywgY29uc3QgUHJvcGVydHlUeXBlJiB2YWx1ZSkK
LSAgICAgICAgOiBTVkdQcm9wZXJ0eShvd25lciwgYWNjZXNzKQorICAgIFNWR1ZhbHVlUHJvcGVy
dHkoRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyLCBjb25zdCBQcm9wZXJ0eVR5cGUm
IHZhbHVlKQorICAgICAgICA6IFNWR1Byb3BlcnR5KG9ic2VydmVyKQogICAgICAgICAsIG1fdmFs
dWUodmFsdWUpCiAgICAgewogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9w
cm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJv
cGVydGllcy9TVkdWYWx1ZVByb3BlcnR5TGlzdC5oCmluZGV4IDMwMTBjMzNhNzQwODliYzQ0ZmJi
NDEwYTU2Zjc4NWE5ZjcxN2NjZWUuLmM1YjczYTBlYTRiOTZmYjFjNGIwNDQzZWQ5MTE1YTA5NDRl
YjUyZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVl
UHJvcGVydHlMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHVmFs
dWVQcm9wZXJ0eUxpc3QuaApAQCAtNzUsMTQgKzc1LDE0IEBAIHByb3RlY3RlZDoKICAgICB1c2lu
ZyBCYXNlOjpyZW1vdmU7CiAKICAgICAvLyBCYXNlIGFuZCBkZWZhdWx0IGNvbnN0cnVjdG9yLiBE
byBub3QgdXNlICJ1c2luZyBCYXNlOjpCYXNlIiBiZWNhdXNlIG9mIFdpbmRvd3MgYW5kIEdUSyBw
b3J0cy4KLSAgICBTVkdWYWx1ZVByb3BlcnR5TGlzdChTVkdQcm9wZXJ0eU93bmVyKiBvd25lciA9
IG51bGxwdHIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcyA9IFNWR1Byb3BlcnR5QWNjZXNzOjpS
ZWFkV3JpdGUpCi0gICAgICAgIDogQmFzZShvd25lciwgYWNjZXNzKQorICAgIFNWR1ZhbHVlUHJv
cGVydHlMaXN0KERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZlciA9IG51bGxwdHIpCisg
ICAgICAgIDogQmFzZShvYnNlcnZlcikKICAgICB7CiAgICAgfQogCiAgICAgLy8gVXNlZCBieSBT
VkdBbmltYXRlZFByb3BlcnR5TGlzdCB3aGVuIGNyZWF0aW5nIGl0IGFuaW1WYWwgZnJvbSBiYXNl
VmFsLgotICAgIFNWR1ZhbHVlUHJvcGVydHlMaXN0KGNvbnN0IFNWR1ZhbHVlUHJvcGVydHlMaXN0
JiBvdGhlciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzID0gU1ZHUHJvcGVydHlBY2Nlc3M6OlJl
YWRXcml0ZSkKLSAgICAgICAgOiBCYXNlKG90aGVyLm93bmVyKCksIGFjY2VzcykKKyAgICBTVkdW
YWx1ZVByb3BlcnR5TGlzdChjb25zdCBTVkdWYWx1ZVByb3BlcnR5TGlzdCYgb3RoZXIpCisgICAg
ICAgIDogQmFzZShvdGhlci5vYnNlcnZlcigpKQogICAgIHsKICAgICAgICAgLy8gQ2xvbmUgYWxs
IGl0ZW1zLgogICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGl0ZW0gOiBvdGhlci5pdGVtcygpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL05h
dGl2ZUZ1bmN0aW9uUGFyYW1ldGVycy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9OYXRpdmVGdW5jdGlvblBhcmFtZXRlcnMuanMKaW5kZXggNGI0YmJhMjgx
ZWZkZGFiZTRkYWJjYmVjNDJlZjQwNzgxOTEzMGEwMC4uZmJkYjhlNGJlYTIzMDVkYzRjYmVjOGJm
MTIwNGJhOGFlYWU2NDAxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1ldGVycy5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvTmF0aXZlRnVuY3Rpb25QYXJhbWV0
ZXJzLmpzCkBAIC0xNTM4LDExICsxNTM4LDYgQEAgV0kuTmF0aXZlUHJvdG90eXBlRnVuY3Rpb25Q
YXJhbWV0ZXJzID0gewogICAgICAgICBfX3Byb3RvX186IG51bGwsCiAgICAgfSwKIAotICAgIFNW
R1BvaW50OiB7Ci0gICAgICAgIG1hdHJpeFRyYW5zZm9ybTogIm1hdHJpeCIsCi0gICAgICAgIF9f
cHJvdG9fXzogbnVsbCwKLSAgICB9LAotCiAgICAgU1ZHUG9pbnRMaXN0OiB7CiAgICAgICAgIGFw
cGVuZEl0ZW06ICJpdGVtIiwKICAgICAgICAgZ2V0SXRlbTogImluZGV4IiwKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkNzgz
MDJhNmRlYWUzMjRhMzVmMjNhZmQ1OWRjN2Q1NWRiMzQ3NDA2Li5hMTMxZDg0MDY4ZDYyYzY4MGNh
YWRiOTZhOGFhMjljMGY2ODY1YWZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTktMTAtMDgg
IFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KKworICAgICAgICBb
U1ZHMl06IFJlbW92ZSB0aGUgaW50ZXJmYWNlIFNWR1BvaW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTEzNzYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIGFsbCBjaGFuZ2VzIHdoaWNoIGFyZSBy
ZXF1aXJlZCBmb3IgY2hhbmdpbmcgU1ZHUG9pbnRMaXN0IGZyb20gYmVpbmcKKyAgICAgICAgYSBs
aXN0IG9mIFNWR1BvaW50IHRvIGJlIGEgbGlzdCBvZiBET01Qb2ludC4KKworICAgICAgICAqIHN2
Zy9jdXN0b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3Zn
L2N1c3RvbS9nbG9iYWwtY29uc3RydWN0b3JzLmh0bWw6CisgICAgICAgICogc3ZnL2N1c3RvbS9w
b2x5bGluZS1wb2ludHMtY3Jhc2gtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2Zy9kb20vU1ZH
UG9pbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2Zy9kb20vU1ZHUG9pbnQuaHRtbDoKKyAg
ICAgICAgKiBzdmcvZG9tL1NWR1BvaW50TGlzdC1iYXNpY3MtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHN2Zy9kb20vU1ZHUG9pbnRMaXN0LWJhc2ljcy54aHRtbDoKKyAgICAgICAgKiBzdmcvZG9t
L3N2ZzItaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2Zy9kb20vc3ZnMi1p
bmhlcml0YW5jZS5odG1sOgorCisyMDE5LTEwLTA3ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91
aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSB0aGUgU1ZHIHByb3BlcnRpZXMgb2Yg
U1ZHVmlld1NwZWMgbW9kaWZpYWJsZSBidXQgZGV0YWNoZWQgcHJvcGVydGllcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNDExCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBzdXJlIGFsbCB0aGUg
cHJvcGVydGllcyBvZiBTVkdWaWV3U3BlYyBhcmUgbW9kaWZpYWJsZS4KKworICAgICAgICAqIHN2
Zy9kb20vU1ZHVmlld1NwZWMtZGVmYXVsdHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2Zy9k
b20vU1ZHVmlld1NwZWMtZGVmYXVsdHMuaHRtbDoKKwogMjAxOS0xMC0wNyAgUnlvc3VrZSBOaXdh
ICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBmb2N1cyBwc2V1ZG8gY2xhc3Mgc2hvdWxk
IG1hdGNoIGEgc2hhZG93IGhvc3Qgd2hvc2Ugc2hhZG93IHRyZWUgY29udGFpbnMgdGhlIGZvY3Vz
ZWQgZWxlbWVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNzBmYjFiODI0Yzc1
YjNhZDI2YTUyODZlNzFiYzdmM2Y1YmI4YjA2ZC4uZWFjMTk0NmU4YThiZjUwNWUwOTQ4NjU0NmEx
MTAzNWQ1NDJkMmVhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTIgQEAKKzIwMTktMTAtMDggIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxl
LmNvbT4KKworICAgICAgICBbU1ZHMl06IFJlbW92ZSB0aGUgaW50ZXJmYWNlIFNWR1BvaW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTEzNzYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnkvaW50ZXJmYWNlcy1leHBlY3RlZC50eHQ6CisKIDIwMTkt
MTAtMDcgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBDaGFuZ2UgUmVz
cG9uc2UncyBzdGF0dXNUZXh0J3MgZGVmYXVsdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnkvaW50ZXJmYWNlcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9nZW9tZXRyeS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dAppbmRleCBhZWFiYWQzNzk1MDgwMDVm
NTVjZGM0ODMzNjQ2ODg2OGQ0MTIyNTdlLi5iZWQ0ZTg4YzkxZGE5MGQxNTE5NTgzNTBhMTFlZjUx
MTMzZGQ0NGZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS9pbnRlcmZhY2VzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS9pbnRl
cmZhY2VzLWV4cGVjdGVkLnR4dApAQCAtMjgsMTEgKzI4LDcgQEAgUEFTUyBET01Qb2ludFJlYWRP
bmx5IGludGVyZmFjZTogZGVmYXVsdCB0b0pTT04gb3BlcmF0aW9uIG9uIG5ldyBET01Qb2ludFJl
YWRPbmwKIFBBU1MgRE9NUG9pbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgRE9NUG9pbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5n
dGggCiBQQVNTIERPTVBvaW50IGludGVyZmFjZSBvYmplY3QgbmFtZSAKLUZBSUwgRE9NUG9pbnQg
aW50ZXJmYWNlOiBsZWdhY3kgd2luZG93IGFsaWFzIGFzc2VydF9lcXVhbHM6IHNlbGYuU1ZHUG9p
bnQgc2hvdWxkIGJlIHRoZSBzYW1lIHZhbHVlIGFzIHNlbGYuRE9NUG9pbnQgZXhwZWN0ZWQgZnVu
Y3Rpb24gImZ1bmN0aW9uIERPTVBvaW50KCkgewotICAgIFtuYXRpdmUgY29kZV0KLX0iIGJ1dCBn
b3QgZnVuY3Rpb24gImZ1bmN0aW9uIFNWR1BvaW50KCkgewotICAgIFtuYXRpdmUgY29kZV0KLX0i
CitQQVNTIERPTVBvaW50IGludGVyZmFjZTogbGVnYWN5IHdpbmRvdyBhbGlhcyAKIFBBU1MgRE9N
UG9pbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QgCiBQQVNTIERPTVBvaW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBw
cm9wZXJ0eSAKIFBBU1MgRE9NUG9pbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nbG9iYWwtY29uc3RydWN0b3Jz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2xvYmFsLWNvbnN0cnVjdG9y
cy1leHBlY3RlZC50eHQKaW5kZXggZTViNjUxODU5Y2RmOGU3ZWY2ZWY4MzcyYWEzZmY1ZTk1ZTFl
N2RkNi4uZDM0NTVlZDliM2I2YmFkYzhmYTA2ZjYxYzNkNWY3ZTVhNjdjODZmNiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMtZXhwZWN0
ZWQudHh0CkBAIC01Niw3ICs1Niw2IEBAIFBBU1MgU1ZHVXNlRWxlbWVudC50b1N0cmluZygpIGlz
ICJmdW5jdGlvbiBTVkdVc2VFbGVtZW50KCkge1xuICAgIFtuYXRpdmUgY29kZV1cCiBQQVNTIFNW
R0ltYWdlRWxlbWVudC50b1N0cmluZygpIGlzICJmdW5jdGlvbiBTVkdJbWFnZUVsZW1lbnQoKSB7
XG4gICAgW25hdGl2ZSBjb2RlXVxufSIKIFBBU1MgU1ZHU3dpdGNoRWxlbWVudC50b1N0cmluZygp
IGlzICJmdW5jdGlvbiBTVkdTd2l0Y2hFbGVtZW50KCkge1xuICAgIFtuYXRpdmUgY29kZV1cbn0i
CiBQQVNTIFNWR1N0eWxlRWxlbWVudC50b1N0cmluZygpIGlzICJmdW5jdGlvbiBTVkdTdHlsZUVs
ZW1lbnQoKSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIKLVBBU1MgU1ZHUG9pbnQudG9TdHJpbmco
KSBpcyAiZnVuY3Rpb24gU1ZHUG9pbnQoKSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIKIFBBU1Mg
U1ZHUG9pbnRMaXN0LnRvU3RyaW5nKCkgaXMgImZ1bmN0aW9uIFNWR1BvaW50TGlzdCgpIHtcbiAg
ICBbbmF0aXZlIGNvZGVdXG59IgogUEFTUyBTVkdNYXRyaXgudG9TdHJpbmcoKSBpcyAiZnVuY3Rp
b24gU1ZHTWF0cml4KCkge1xuICAgIFtuYXRpdmUgY29kZV1cbn0iCiBQQVNTIFNWR1RyYW5zZm9y
bS50b1N0cmluZygpIGlzICJmdW5jdGlvbiBTVkdUcmFuc2Zvcm0oKSB7XG4gICAgW25hdGl2ZSBj
b2RlXVxufSIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2xvYmFsLWNvbnN0
cnVjdG9ycy5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nbG9iYWwtY29uc3RydWN0b3Jz
Lmh0bWwKaW5kZXggMzJmNzM3MWYwNjM0YmRmNjc2M2MzNjNlOTBkOWQzMjU0ZWMzMTE1MS4uM2U3
MDY0MGZlZDEyZjM1Y2I1YjA1ZjM5ZDkxMTgzZjhlZWNhNjczMiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9nbG9iYWwtY29uc3RydWN0b3JzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9nbG9iYWwtY29uc3RydWN0b3JzLmh0bWwKQEAgLTUyLDcgKzUyLDYgQEAg
c2hvdWxkQmVEZWZpbmVkKCJTVkdVc2VFbGVtZW50Iik7CiBzaG91bGRCZURlZmluZWQoIlNWR0lt
YWdlRWxlbWVudCIpOwogc2hvdWxkQmVEZWZpbmVkKCJTVkdTd2l0Y2hFbGVtZW50Iik7CiBzaG91
bGRCZURlZmluZWQoIlNWR1N0eWxlRWxlbWVudCIpOwotc2hvdWxkQmVEZWZpbmVkKCJTVkdQb2lu
dCIpOwogc2hvdWxkQmVEZWZpbmVkKCJTVkdQb2ludExpc3QiKTsKIHNob3VsZEJlRGVmaW5lZCgi
U1ZHTWF0cml4Iik7CiBzaG91bGRCZURlZmluZWQoIlNWR1RyYW5zZm9ybSIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wb2x5bGluZS1wb2ludHMtY3Jhc2gtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wb2x5bGluZS1wb2ludHMtY3Jhc2gtZXhwZWN0
ZWQudHh0CmluZGV4IDJhYjhjNGMyMGRkMmNlOTZkM2E4NjhhMWRiNjdkY2ZjNWM4MjdjZWIuLmRh
YmFhNzE4NGFlNDM3MGFmYmJhZDA1YWJlNmY0NWIxY2VlMjlmYmQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N2Zy9jdXN0b20vcG9seWxpbmUtcG9pbnRzLWNyYXNoLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BvbHlsaW5lLXBvaW50cy1jcmFzaC1leHBlY3RlZC50
eHQKQEAgLTEsMiArMSwyIEBACi1DYXVnaHQgZXhjZXB0aW9uOiBUeXBlRXJyb3I6IEFyZ3VtZW50
IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LmFwcGVuZEl0ZW0gbXVzdCBiZSBhbiBpbnN0
YW5jZSBvZiBTVkdQb2ludAorQ2F1Z2h0IGV4Y2VwdGlvbjogVHlwZUVycm9yOiBBcmd1bWVudCAx
ICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5hcHBlbmRJdGVtIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgRE9NUG9pbnQKIFBBU1NFRCAtLSBXZWJLaXQgZGlkIG5vdCBjcmFzaCEKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUG9pbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3ZnL2RvbS9TVkdQb2ludC1leHBlY3RlZC50eHQKaW5kZXggMWNkNzhhYTdiZWZjMTliZjA0
MTRmNTExNTA1YzI0NWVjNDRlYTI2NC4uOGEwYTI3YzkzMDM1YzBhMTI4ZmI5NjMwYjRlOTE0ODA0
MTBlOTdjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQb2ludC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQb2ludC1leHBlY3RlZC50eHQKQEAg
LTIzLDE3ICsyMywxNyBAQCBQQVNTIHBvaW50LnkgaXMgMAogUmVzZXQgdG8gLTUwLCAxMDAKIAog
Q2hlY2sgJ21hdHJpeFRyYW5zZm9ybScgbWV0aG9kIC0gbXVsdGlwbHkgd2l0aCAtMSwwLDAsMiwx
MCwxMCBtYXRyaXgsIHNob3VsZCBmbGlwIHggY29vcmRpbmF0ZSwgbXVsdGlwbHkgeSBieSB0d28g
YW5kIHRyYW5zbGF0ZSBlYWNoIGNvb3JkaW5hdGUgYnkgMTAKLVBBU1MgKG5ld1BvaW50ID0gcG9p
bnQubWF0cml4VHJhbnNmb3JtKGN0bSkpLnRvU3RyaW5nKCkgaXMgIltvYmplY3QgU1ZHUG9pbnRd
IgorUEFTUyAobmV3UG9pbnQgPSBwb2ludC5tYXRyaXhUcmFuc2Zvcm0oY3RtKSkudG9TdHJpbmco
KSBpcyAiW29iamVjdCBET01Qb2ludF0iCiBQQVNTIG5ld1BvaW50LnggaXMgNjAKIFBBU1MgbmV3
UG9pbnQueSBpcyAyMTAKIAogQ2hlY2sgaW52YWxpZCBhcmd1bWVudHMgZm9yICdtYXRyaXhUcmFu
c2Zvcm0nCi1QQVNTIHBvaW50Lm1hdHJpeFRyYW5zZm9ybSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgotUEFTUyBwb2ludC5tYXRyaXhUcmFuc2Zvcm0o
LTEpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdtYXRyaXgnKSB0byBT
VkdQb2ludC5tYXRyaXhUcmFuc2Zvcm0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdNYXRyaXgu
Ci1QQVNTIHBvaW50Lm1hdHJpeFRyYW5zZm9ybSg1KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBBcmd1bWVudCAxICgnbWF0cml4JykgdG8gU1ZHUG9pbnQubWF0cml4VHJhbnNmb3JtIG11c3Qg
YmUgYW4gaW5zdGFuY2Ugb2YgU1ZHTWF0cml4LgotUEFTUyBwb2ludC5tYXRyaXhUcmFuc2Zvcm0o
J2FTdHJpbmcnKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbWF0cml4
JykgdG8gU1ZHUG9pbnQubWF0cml4VHJhbnNmb3JtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU1ZH
TWF0cml4LgotUEFTUyBwb2ludC5tYXRyaXhUcmFuc2Zvcm0ocG9pbnQpIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdtYXRyaXgnKSB0byBTVkdQb2ludC5tYXRyaXhUcmFu
c2Zvcm0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdNYXRyaXguCi1QQVNTIHBvaW50Lm1hdHJp
eFRyYW5zZm9ybShzdmdFbGVtZW50KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVu
dCAxICgnbWF0cml4JykgdG8gU1ZHUG9pbnQubWF0cml4VHJhbnNmb3JtIG11c3QgYmUgYW4gaW5z
dGFuY2Ugb2YgU1ZHTWF0cml4LgorUEFTUyBwb2ludC5tYXRyaXhUcmFuc2Zvcm0oKS50b1N0cmlu
ZygpIGlzICJbb2JqZWN0IERPTVBvaW50XSIKK1BBU1MgcG9pbnQubWF0cml4VHJhbnNmb3JtKC0x
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBwb2ludC5tYXRy
aXhUcmFuc2Zvcm0oNSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BB
U1MgcG9pbnQubWF0cml4VHJhbnNmb3JtKCdhU3RyaW5nJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogVHlwZSBlcnJvci4KK1BBU1MgcG9pbnQubWF0cml4VHJhbnNmb3JtKHBvaW50KS50b1N0
cmluZygpIGlzICJbb2JqZWN0IERPTVBvaW50XSIKK1BBU1MgcG9pbnQubWF0cml4VHJhbnNmb3Jt
KHN2Z0VsZW1lbnQpLnRvU3RyaW5nKCkgaXMgIltvYmplY3QgRE9NUG9pbnRdIgogUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdmcvZG9tL1NWR1BvaW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1Bv
aW50Lmh0bWwKaW5kZXggMDc3ZWY4NzFiMzc5OGNiOGVhZTYzZjEyMTcxYjQ3Nzg2ZmE4NTk0Yy4u
ZGZkMWM5YjQ3OTNhNGZiZTJlMjE1ZmY4MjQ3Y2FjNWQyZTkwOGIwZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3ZnL2RvbS9TVkdQb2ludC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9kb20v
U1ZHUG9pbnQuaHRtbApAQCAtNDQsMTggKzQ0LDE4IEBAIGN0bS5hID0gLTE7CiBjdG0uZCA9IDI7
CiBjdG0uZSA9IDEwOwogY3RtLmYgPSAxMDsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygiKG5ld1Bv
aW50ID0gcG9pbnQubWF0cml4VHJhbnNmb3JtKGN0bSkpLnRvU3RyaW5nKCkiLCAiW29iamVjdCBT
VkdQb2ludF0iKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiKG5ld1BvaW50ID0gcG9pbnQubWF0
cml4VHJhbnNmb3JtKGN0bSkpLnRvU3RyaW5nKCkiLCAiW29iamVjdCBET01Qb2ludF0iKTsKIHNo
b3VsZEJlKCJuZXdQb2ludC54IiwgIjYwIik7CiBzaG91bGRCZSgibmV3UG9pbnQueSIsICIyMTAi
KTsKIAogZGVidWcoIiIpOwogZGVidWcoIkNoZWNrIGludmFsaWQgYXJndW1lbnRzIGZvciAnbWF0
cml4VHJhbnNmb3JtJyIpOwotc2hvdWxkVGhyb3coInBvaW50Lm1hdHJpeFRyYW5zZm9ybSgpIik7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBvaW50Lm1hdHJpeFRyYW5zZm9ybSgpLnRvU3RyaW5n
KCkiLCAiW29iamVjdCBET01Qb2ludF0iKTsKIHNob3VsZFRocm93KCJwb2ludC5tYXRyaXhUcmFu
c2Zvcm0oLTEpIik7CiBzaG91bGRUaHJvdygicG9pbnQubWF0cml4VHJhbnNmb3JtKDUpIik7CiBz
aG91bGRUaHJvdygicG9pbnQubWF0cml4VHJhbnNmb3JtKCdhU3RyaW5nJykiKTsKLXNob3VsZFRo
cm93KCJwb2ludC5tYXRyaXhUcmFuc2Zvcm0ocG9pbnQpIik7Ci1zaG91bGRUaHJvdygicG9pbnQu
bWF0cml4VHJhbnNmb3JtKHN2Z0VsZW1lbnQpIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBv
aW50Lm1hdHJpeFRyYW5zZm9ybShwb2ludCkudG9TdHJpbmcoKSIsICJbb2JqZWN0IERPTVBvaW50
XSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwb2ludC5tYXRyaXhUcmFuc2Zvcm0oc3ZnRWxl
bWVudCkudG9TdHJpbmcoKSIsICJbb2JqZWN0IERPTVBvaW50XSIpOwogCiBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvZG9t
L1NWR1BvaW50TGlzdC1iYXNpY3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9T
VkdQb2ludExpc3QtYmFzaWNzLWV4cGVjdGVkLnR4dAppbmRleCBhZGM0ZmRhMmE2ZGNhMGZjOTVh
ZTFhOGMxMDBlNjhiOTMxYzgyNDIyLi4xZGEyMTA3Y2I2ZTQ2MjY5MzMxYzczYjI0MTNlZGZkZjk0
MzU0YjI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BvaW50TGlzdC1iYXNp
Y3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUG9pbnRMaXN0LWJh
c2ljcy1leHBlY3RlZC50eHQKQEAgLTExLDcgKzExLDcgQEAgUEFTUyBkdW1wUG9pbnQocG9seTEu
cG9pbnRzLmdldEl0ZW0oMykpIGlzICJ4PTAgeT0xMDAiCiBQQVNTIHBvbHkxLmdldEF0dHJpYnV0
ZSgncG9pbnRzJykuZm9ybWF0UG9pbnRzQXR0cmlidXRlKCkgaXMgIjAgMCAxMDAgMCAxMDAgMTAw
IDAgMTAwIgogCiBDcmVhdGluZyBwb2ludCB4PTIwMCB5PTEwMAotUEFTUyAocG9pbnQgPSBzdmcu
Y3JlYXRlU1ZHUG9pbnQoKSkudG9TdHJpbmcoKSBpcyAiW29iamVjdCBTVkdQb2ludF0iCitQQVNT
IChwb2ludCA9IHN2Zy5jcmVhdGVTVkdQb2ludCgpKS50b1N0cmluZygpIGlzICJbb2JqZWN0IERP
TVBvaW50XSIKIFBBU1MgcG9pbnQueCA9IDIwMCBpcyAyMDAKIFBBU1MgcG9pbnQueSA9IDEwMCBp
cyAxMDAKIApAQCAtMjAsOSArMjAsOSBAQCBQQVNTIHBvbHkxLnBvaW50cy5pbml0aWFsaXplKHBv
aW50KSBpcyBwb2ludAogUEFTUyBwb2x5MS5wb2ludHMubnVtYmVyT2ZJdGVtcyBpcyAxCiBQQVNT
IGR1bXBQb2ludChwb2x5MS5wb2ludHMuZ2V0SXRlbSgwKSkgaXMgIng9MjAwIHk9MTAwIgogUEFT
UyBwb2x5MS5nZXRBdHRyaWJ1dGUoJ3BvaW50cycpLmZvcm1hdFBvaW50c0F0dHJpYnV0ZSgpIGlz
ICIyMDAgMTAwIgotUEFTUyBwb2x5MS5wb2ludHMuaW5pdGlhbGl6ZShwb2x5MSkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3Qu
aW5pdGlhbGl6ZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR1BvaW50LgotUEFTUyBwb2x5MS5w
b2ludHMuaW5pdGlhbGl6ZSgwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAx
ICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5pbml0aWFsaXplIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgU1ZHUG9pbnQuCi1QQVNTIHBvbHkxLnBvaW50cy5pbml0aWFsaXplKCdhU3RyaW5nJykg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQ
b2ludExpc3QuaW5pdGlhbGl6ZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR1BvaW50LgorUEFT
UyBwb2x5MS5wb2ludHMuaW5pdGlhbGl6ZShwb2x5MSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuaW5pdGlhbGl6ZSBtdXN0
IGJlIGFuIGluc3RhbmNlIG9mIERPTVBvaW50LgorUEFTUyBwb2x5MS5wb2ludHMuaW5pdGlhbGl6
ZSgwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRv
IFNWR1BvaW50TGlzdC5pbml0aWFsaXplIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9NUG9pbnQu
CitQQVNTIHBvbHkxLnBvaW50cy5pbml0aWFsaXplKCdhU3RyaW5nJykgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuaW5pdGlh
bGl6ZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERPTVBvaW50LgogCiBSZXNldCBwb2ludHMgYXR0
cmlidXRlIHRvIDAgMCAxMDAgMCAxMDAgMTAwIDAgMTAwCiBQQVNTIHBvbHkxLnNldEF0dHJpYnV0
ZSgncG9pbnRzJywgJzAgMCAxMDAgMCAxMDAgMTAwIDAgMTAwJykgaXMgdW5kZWZpbmVkLgpAQCAt
NzUsMTkgKzc1LDE5IEBAIFBBU1MgZHVtcFBvaW50KHBvbHkxLnBvaW50cy5nZXRJdGVtKDEpKSBp
cyAieD0xMDAgeT0wIgogUEFTUyBkdW1wUG9pbnQocG9seTEucG9pbnRzLmdldEl0ZW0oMikpIGlz
ICJ4PTEwMCB5PTEwMCIKIFBBU1MgZHVtcFBvaW50KHBvbHkxLnBvaW50cy5nZXRJdGVtKDMpKSBp
cyAieD0wIHk9MTAwIgogUEFTUyBwb2x5MS5nZXRBdHRyaWJ1dGUoJ3BvaW50cycpLmZvcm1hdFBv
aW50c0F0dHJpYnV0ZSgpIGlzICIwIDAgMTAwIDAgMTAwIDEwMCAwIDEwMCIKLVBBU1MgcG9seTEu
cG9pbnRzLmluc2VydEl0ZW1CZWZvcmUoMzAsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0Lmluc2VydEl0ZW1CZWZvcmUg
bXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdQb2ludC4KLVBBU1MgcG9seTEucG9pbnRzLmluc2Vy
dEl0ZW1CZWZvcmUoJ2FTdHJpbmcnLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1
bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5pbnNlcnRJdGVtQmVmb3JlIG11c3Qg
YmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9pbnQuCi1QQVNTIHBvbHkxLnBvaW50cy5pbnNlcnRJdGVt
QmVmb3JlKHBvbHkxLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgn
bmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5pbnNlcnRJdGVtQmVmb3JlIG11c3QgYmUgYW4gaW5z
dGFuY2Ugb2YgU1ZHUG9pbnQuCi1QQVNTIHBvbHkxLnBvaW50cy5pbnNlcnRJdGVtQmVmb3JlKG51
bGwsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykg
dG8gU1ZHUG9pbnRMaXN0Lmluc2VydEl0ZW1CZWZvcmUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBT
VkdQb2ludC4KK1BBU1MgcG9seTEucG9pbnRzLmluc2VydEl0ZW1CZWZvcmUoMzAsIDApIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRM
aXN0Lmluc2VydEl0ZW1CZWZvcmUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01Qb2ludC4KK1BB
U1MgcG9seTEucG9pbnRzLmluc2VydEl0ZW1CZWZvcmUoJ2FTdHJpbmcnLCAwKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5p
bnNlcnRJdGVtQmVmb3JlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9NUG9pbnQuCitQQVNTIHBv
bHkxLnBvaW50cy5pbnNlcnRJdGVtQmVmb3JlKHBvbHkxLCAwKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5pbnNlcnRJdGVt
QmVmb3JlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9NUG9pbnQuCitQQVNTIHBvbHkxLnBvaW50
cy5pbnNlcnRJdGVtQmVmb3JlKG51bGwsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFy
Z3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0Lmluc2VydEl0ZW1CZWZvcmUgbXVz
dCBiZSBhbiBpbnN0YW5jZSBvZiBET01Qb2ludC4KIAogVGVzdCB1bmNvbW1vbiBhcmd1bWVudHMg
Zm9yIHJlcGxhY2VJdGVtKCkKIFBBU1MgcG9seTEucG9pbnRzLnJlcGxhY2VJdGVtKDMwKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KIFBBU1MgcG9seTEu
cG9pbnRzLnJlcGxhY2VJdGVtKCdhU3RyaW5nJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
Tm90IGVub3VnaCBhcmd1bWVudHMuCiBQQVNTIHBvbHkxLnBvaW50cy5yZXBsYWNlSXRlbShwb2x5
MSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNT
IHBvbHkxLnBvaW50cy5yZXBsYWNlSXRlbShudWxsLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5yZXBsYWNlSXRlbSBt
dXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR1BvaW50LgotUEFTUyBwb2x5MS5wb2ludHMucmVwbGFj
ZUl0ZW0oJ2FTdHJpbmcnLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAx
ICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5yZXBsYWNlSXRlbSBtdXN0IGJlIGFuIGluc3Rh
bmNlIG9mIFNWR1BvaW50LgotUEFTUyBwb2x5MS5wb2ludHMucmVwbGFjZUl0ZW0ocG9seTEsIDAp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZH
UG9pbnRMaXN0LnJlcGxhY2VJdGVtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9pbnQuCi1Q
QVNTIHBvbHkxLnBvaW50cy5yZXBsYWNlSXRlbSgxLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5yZXBsYWNlSXRlbSBt
dXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR1BvaW50LgorUEFTUyBwb2x5MS5wb2ludHMucmVwbGFj
ZUl0ZW0obnVsbCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25l
d0l0ZW0nKSB0byBTVkdQb2ludExpc3QucmVwbGFjZUl0ZW0gbXVzdCBiZSBhbiBpbnN0YW5jZSBv
ZiBET01Qb2ludC4KK1BBU1MgcG9seTEucG9pbnRzLnJlcGxhY2VJdGVtKCdhU3RyaW5nJywgMCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQ
b2ludExpc3QucmVwbGFjZUl0ZW0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01Qb2ludC4KK1BB
U1MgcG9seTEucG9pbnRzLnJlcGxhY2VJdGVtKHBvbHkxLCAwKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5yZXBsYWNlSXRl
bSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERPTVBvaW50LgorUEFTUyBwb2x5MS5wb2ludHMucmVw
bGFjZUl0ZW0oMSwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25l
d0l0ZW0nKSB0byBTVkdQb2ludExpc3QucmVwbGFjZUl0ZW0gbXVzdCBiZSBhbiBpbnN0YW5jZSBv
ZiBET01Qb2ludC4KIAogVGVzdCB1bmNvbW1vbiBhcmd1bWVudHMgZm9yIHJlcGxhY2VJdGVtKCkg
YW5kIHhtbC1kb20gc3luY2hyb25pemF0aW9uCiBQQVNTIHBvbHkxLnBvaW50cy5udW1iZXJPZkl0
ZW1zIGlzIDQKQEAgLTE0MywxMCArMTQzLDEwIEBAIFBBU1MgZHVtcFBvaW50KHBvbHkxLnBvaW50
cy5nZXRJdGVtKDApKSBpcyAieD0wIHk9MTAwIgogUEFTUyBwb2x5MS5nZXRBdHRyaWJ1dGUoJ3Bv
aW50cycpLmZvcm1hdFBvaW50c0F0dHJpYnV0ZSgpIGlzICIwIDEwMCIKIAogVGVzdCB1bmNvbW1v
biBhcmd1bWVudHMgZm9yIGFwcGVuZEl0ZW0oKQotUEFTUyBwb2x5MS5wb2ludHMuYXBwZW5kSXRl
bSgzMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0
byBTVkdQb2ludExpc3QuYXBwZW5kSXRlbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR1BvaW50
LgotUEFTUyBwb2x5MS5wb2ludHMuYXBwZW5kSXRlbSgnYVN0cmluZycpIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LmFwcGVu
ZEl0ZW0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdQb2ludC4KLVBBU1MgcG9seTEucG9pbnRz
LmFwcGVuZEl0ZW0ocG9seTEpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEg
KCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LmFwcGVuZEl0ZW0gbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBTVkdQb2ludC4KLVBBU1MgcG9seTEucG9pbnRzLmFwcGVuZEl0ZW0obnVsbCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExp
c3QuYXBwZW5kSXRlbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR1BvaW50LgorUEFTUyBwb2x5
MS5wb2ludHMuYXBwZW5kSXRlbSgzMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1l
bnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuYXBwZW5kSXRlbSBtdXN0IGJlIGFuIGlu
c3RhbmNlIG9mIERPTVBvaW50LgorUEFTUyBwb2x5MS5wb2ludHMuYXBwZW5kSXRlbSgnYVN0cmlu
ZycpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8g
U1ZHUG9pbnRMaXN0LmFwcGVuZEl0ZW0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01Qb2ludC4K
K1BBU1MgcG9seTEucG9pbnRzLmFwcGVuZEl0ZW0ocG9seTEpIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LmFwcGVuZEl0ZW0g
bXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01Qb2ludC4KK1BBU1MgcG9seTEucG9pbnRzLmFwcGVu
ZEl0ZW0obnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0
ZW0nKSB0byBTVkdQb2ludExpc3QuYXBwZW5kSXRlbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERP
TVBvaW50LgogUEFTUyBkdW1wUG9pbnQocG9seTEucG9pbnRzLmFwcGVuZEl0ZW0ocG9pbnQpKSBp
cyAieD0yMDAgeT0xMDAiCiBQQVNTIHBvbHkxLnBvaW50cy5udW1iZXJPZkl0ZW1zIGlzIDIKIFBB
U1MgZHVtcFBvaW50KHBvbHkxLnBvaW50cy5nZXRJdGVtKDApKSBpcyAieD0wIHk9MTAwIgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQb2ludExpc3QtYmFzaWNzLnhodG1sIGIv
TGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQb2ludExpc3QtYmFzaWNzLnhodG1sCmluZGV4IDZlZTQy
MWNkNTM1ODYxYTMzMDhhZWM4YThhZTBlY2ZjMTI0OTBhODkuLmQxMGIxZDE3OTA5OGZiYTQwMzNl
NTExNjAxNmFiZmFkOThkMWZjY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZH
UG9pbnRMaXN0LWJhc2ljcy54aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BvaW50
TGlzdC1iYXNpY3MueGh0bWwKQEAgLTM4LDcgKzM4LDcgQEAKICAgICB2YXIgcG9pbnQ7CiAgICAg
ZGVidWcoIiIpOwogICAgIGRlYnVnKCJDcmVhdGluZyBwb2ludCB4PTIwMCB5PTEwMCIpOwotICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiKHBvaW50ID0gc3ZnLmNyZWF0ZVNWR1BvaW50KCkpLnRv
U3RyaW5nKCkiLCAiW29iamVjdCBTVkdQb2ludF0iKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoIihwb2ludCA9IHN2Zy5jcmVhdGVTVkdQb2ludCgpKS50b1N0cmluZygpIiwgIltvYmplY3Qg
RE9NUG9pbnRdIik7CiAgICAgc2hvdWxkQmUoInBvaW50LnggPSAyMDAiLCAiMjAwIik7CiAgICAg
c2hvdWxkQmUoInBvaW50LnkgPSAxMDAiLCAiMTAwIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9kb20vU1ZHVmlld1NwZWMtZGVmYXVsdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3ZnL2RvbS9TVkdWaWV3U3BlYy1kZWZhdWx0cy1leHBlY3RlZC50eHQKaW5kZXggOWMwMTgx
NzU4MTViNzQ0ZmQyYjY1MGQ3MzcyYzQ3Zjg1YWExNGFmMS4uMTQ1MmFiN2M0NWE0ZjM1YTM5NTk3
ZjAzM2UwZDM5OTI1MGJiYTJjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdW
aWV3U3BlYy1kZWZhdWx0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9T
VkdWaWV3U3BlYy1kZWZhdWx0cy1leHBlY3RlZC50eHQKQEAgLTIwLDUwICsyMCw1MyBAQCBQQVNT
IGN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmluZyBpcyAiIgogUEFTUyBjdXJyZW50Vmlldy52aWV3
VGFyZ2V0U3RyaW5nIGlzICIiCiBQQVNTIGN1cnJlbnRWaWV3Lnpvb21BbmRQYW4gaXMgU1ZHVmll
d0VsZW1lbnQuU1ZHX1pPT01BTkRQQU5fTUFHTklGWQogCi1UcnkgY2hhbmdpbmcgem9vbUFuZFBh
biAtIG5vbmUgb2YgdGhlc2Ugd2lsbCB3b3JrLCBhcyBTVkdWaWV3U3BlYyBpcyBmdWxseSByZWFk
b25seSAtIGV2ZW4gdGhlIGFuaW1hdGVkIHByb3BlcnRpZXMgaXQgaW5oZXJpdHMgZnJvbSBwYXJl
bnQgY2xhc3NlcyBsaWtlIFNWR1pvb21BbmRQYW4vU1ZHRml0VG9WaWV3Qm94CitUcnkgY2hhbmdp
bmcgem9vbUFuZFBhbiAtIG5vbmUgb2YgdGhlc2Ugd2lsbCB3b3JrLCBpdCBpcyBhIHByaW1pdGl2
ZSBwcm9wZXJ0eQogUEFTUyBjdXJyZW50Vmlldy56b29tQW5kUGFuID0gU1ZHVmlld0VsZW1lbnQu
U1ZHX1pPT01BTkRQQU5fRElTQUJMRSB0aHJldyBleGNlcHRpb24gTm9Nb2RpZmljYXRpb25BbGxv
d2VkRXJyb3I6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBtb2RpZmllZC4uCiBQQVNTIGN1cnJlbnRW
aWV3Lnpvb21BbmRQYW4gaXMgU1ZHVmlld0VsZW1lbnQuU1ZHX1pPT01BTkRQQU5fTUFHTklGWQog
Ci1UcnkgY2hhbmdpbmcgdmlld0JveCAtIHRoaXMgaGFzIG5vIGFmZmVjdCBvbiB0aGUgU1ZHU1ZH
RWxlbWVudCB0aGUgdmlld1NwZWMgYmVsb25ncyB0byAtIGl0IGV4cG9zZWQgYWxsIGl0cyBwcm9w
ZXJ0aWVzIGFzIHJlYWQtb25seQotUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwueCA9
IDEwIHRocmV3IGV4Y2VwdGlvbiBOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvcjogVGhlIG9iamVj
dCBjYW4gbm90IGJlIG1vZGlmaWVkLi4KLVBBU1MgY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFs
LnggaXMgMAotUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwueSA9IDIwIHRocmV3IGV4
Y2VwdGlvbiBOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvcjogVGhlIG9iamVjdCBjYW4gbm90IGJl
IG1vZGlmaWVkLi4KLVBBU1MgY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLnkgaXMgMAotUEFT
UyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwud2lkdGggPSA1MCB0aHJldyBleGNlcHRpb24g
Tm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3I6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBtb2RpZmll
ZC4uCi1QQVNTIGN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC53aWR0aCBpcyAwCi1QQVNTIGN1
cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC5oZWlnaHQgPSAxMDAgdGhyZXcgZXhjZXB0aW9uIE5v
TW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgbW9kaWZpZWQu
LgotUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwuaGVpZ2h0IGlzIDAKLVBBU1MgY3Vy
cmVudFZpZXcudmlld0JveFN0cmluZyBpcyAiMCAwIDAgMCIKK0NoYW5naW5nIHZpZXdCb3ggLSB0
aGlzIGhhcyBubyBhZmZlY3Qgb24gdGhlIFNWR1NWR0VsZW1lbnQgdGhlIHZpZXdTcGVjIGJlbG9u
Z3MgdG8gLSBpdCBpcyBhIGRldGFjaGVkIHByb3BlcnR5CitQQVNTIGN1cnJlbnRWaWV3LnZpZXdC
b3guYmFzZVZhbC54ID0gMTAgaXMgMTAKK1BBU1MgY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFs
LnggaXMgMTAKK1BBU1MgY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLnkgPSAyMCBpcyAyMAor
UEFTUyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwueSBpcyAyMAorUEFTUyBjdXJyZW50Vmll
dy52aWV3Qm94LmJhc2VWYWwud2lkdGggPSA1MCBpcyA1MAorUEFTUyBjdXJyZW50Vmlldy52aWV3
Qm94LmJhc2VWYWwud2lkdGggaXMgNTAKK1BBU1MgY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFs
LmhlaWdodCA9IDEwMCBpcyAxMDAKK1BBU1MgY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLmhl
aWdodCBpcyAxMDAKK1BBU1MgY3VycmVudFZpZXcudmlld0JveFN0cmluZyBpcyAiMTAgMjAgNTAg
MTAwIgogCi1UcnkgY2hhbmdpbmcgdmlld0JveFN0cmluZworVHJ5IGNoYW5naW5nIHZpZXdCb3hT
dHJpbmcgLSBub25lIG9mIHRoZXNlIHdpbGwgd29yaywgaXQgaXMgYSBwcmltaXRpdmUgcHJvcGVy
dHkKIFBBU1MgY3VycmVudFZpZXcudmlld0JveFN0cmluZyA9ICcxIDIgMyA0JyBpcyAiMSAyIDMg
NCIKLVBBU1MgY3VycmVudFZpZXcudmlld0JveFN0cmluZyBpcyAiMCAwIDAgMCIKK1BBU1MgY3Vy
cmVudFZpZXcudmlld0JveFN0cmluZyBpcyAiMTAgMjAgNTAgMTAwIgogCi1UcnkgY2hhbmdpbmcg
cHJlc2VydmVBc3BlY3RSYXRpbwotUEFTUyBjdXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlv
LmJhc2VWYWwuYWxpZ24gPSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19QUkVTRVJWRUFTUEVD
VFJBVElPX1hNSU5ZTUlOIHRocmV3IGV4Y2VwdGlvbiBOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJv
cjogVGhlIG9iamVjdCBjYW4gbm90IGJlIG1vZGlmaWVkLi4KLVBBU1MgY3VycmVudFZpZXcucHJl
c2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLmFsaWduIGlzIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8u
U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSUQKLVBBU1MgY3VycmVudFZpZXcucHJlc2Vy
dmVBc3BlY3RSYXRpby5iYXNlVmFsLm1lZXRPclNsaWNlID0gU1ZHUHJlc2VydmVBc3BlY3RSYXRp
by5TVkdfTUVFVE9SU0xJQ0VfU0xJQ0UgdGhyZXcgZXhjZXB0aW9uIE5vTW9kaWZpY2F0aW9uQWxs
b3dlZEVycm9yOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgbW9kaWZpZWQuLgotUEFTUyBjdXJyZW50
Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VWYWwubWVldE9yU2xpY2UgaXMgU1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJQ0VfTUVFVAorQ2hhbmdpbmcgcHJlc2VydmVBc3Bl
Y3RSYXRpbyAtIHRoaXMgaGFzIG5vIGFmZmVjdCBvbiB0aGUgU1ZHU1ZHRWxlbWVudCB0aGUgdmll
d1NwZWMgYmVsb25ncyB0byAtIGl0IGlzIGEgZGV0YWNoZWQgcHJvcGVydHkKK1BBU1MgY3VycmVu
dFZpZXcucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLmFsaWduID0gU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1JTiBpcyBTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvLlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlOCitQQVNTIGN1cnJlbnRW
aWV3LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5hbGlnbiBpcyBTVkdQcmVzZXJ2ZUFzcGVj
dFJhdGlvLlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlOCitQQVNTIGN1cnJlbnRWaWV3
LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5tZWV0T3JTbGljZSA9IFNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW8uU1ZHX01FRVRPUlNMSUNFX1NMSUNFIGlzIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8u
U1ZHX01FRVRPUlNMSUNFX1NMSUNFCitQQVNTIGN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0
aW8uYmFzZVZhbC5tZWV0T3JTbGljZSBpcyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19NRUVU
T1JTTElDRV9TTElDRQogCi1UcnkgY2hhbmdpbmcgcHJlc2VydmVBc3BlY3RSYXRpb1N0cmluZwot
UEFTUyBjdXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlvU3RyaW5nID0gJ3hNaW5ZTWluIHNs
aWNlJyBpcyAieE1pbllNaW4gc2xpY2UiCi1QQVNTIGN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0
UmF0aW9TdHJpbmcgaXMgInhNaWRZTWlkIG1lZXQiCi0KLVRyeSBjaGFuZ2luZyB0cmFuc2Zvcm1T
dHJpbmcKLVBBU1MgY3VycmVudFZpZXcudHJhbnNmb3JtU3RyaW5nID0gJ3JvdGF0ZSg5MCknIGlz
ICJyb3RhdGUoOTApIgotUEFTUyBjdXJyZW50Vmlldy50cmFuc2Zvcm1TdHJpbmcgaXMgIiIKK0No
YW5naW5nIHByZXNlcnZlQXNwZWN0UmF0aW9TdHJpbmcgLSBub25lIG9mIHRoZXNlIHdpbGwgd29y
aywgaXQgaXMgYSBwcmltaXRpdmUgcHJvcGVydHkKK1BBU1MgY3VycmVudFZpZXcucHJlc2VydmVB
c3BlY3RSYXRpb1N0cmluZyA9ICd4TWlkWU1pZCBtZWV0JyBpcyAieE1pZFlNaWQgbWVldCIKK1BB
U1MgY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpb1N0cmluZyBpcyAieE1pbllNaW4gc2xp
Y2UiCiAKLVRyeSBjaGFuZ2luZyB2aWV3VGFyZ2V0CitUcnkgY2hhbmdpbmcgdmlld1RhcmdldCAt
IG5vbmUgb2YgdGhlc2Ugd2lsbCB3b3JrLCBpdCBpcyBhIHByaW1pdGl2ZSBwcm9wZXJ0eQogUEFT
UyBjdXJyZW50Vmlldy52aWV3VGFyZ2V0ID0gc3ZnRWxlbWVudCBpcyBzdmdFbGVtZW50CiBQQVNT
IGN1cnJlbnRWaWV3LnZpZXdUYXJnZXQgaXMgbnVsbAogCi1UcnkgY2hhbmdpbmcgdmlld1Rhcmdl
dFN0cmluZworVHJ5IGNoYW5naW5nIHZpZXdUYXJnZXRTdHJpbmcgLSBub25lIG9mIHRoZXNlIHdp
bGwgd29yaywgaXQgaXMgYSBwcmltaXRpdmUgcHJvcGVydHkKIFBBU1MgY3VycmVudFZpZXcudmll
d1RhcmdldFN0cmluZyA9ICcjdGVzdCcgaXMgIiN0ZXN0IgogUEFTUyBjdXJyZW50Vmlldy52aWV3
VGFyZ2V0U3RyaW5nIGlzICIiCiAKLVRyeSBjaGFuZ2luZyB0cmFuc2Zvcm0KLVBBU1MgY3VycmVu
dFZpZXcudHJhbnNmb3JtLmNsZWFyKCkgdGhyZXcgZXhjZXB0aW9uIE5vTW9kaWZpY2F0aW9uQWxs
b3dlZEVycm9yOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgbW9kaWZpZWQuLgorQ2hhbmdpbmcgdHJh
bnNmb3JtIC0gdGhpcyBoYXMgbm8gYWZmZWN0IG9uIHRoZSBTVkdTVkdFbGVtZW50IHRoZSB2aWV3
U3BlYyBiZWxvbmdzIHRvIC0gaXQgaXMgYSBkZXRhY2hlZCBwcm9wZXJ0eQorUEFTUyBjdXJyZW50
Vmlldy50cmFuc2Zvcm0uYXBwZW5kSXRlbSh0cmFuc2Zvcm0pLnRvU3RyaW5nKCkgaXMgIltvYmpl
Y3QgU1ZHVHJhbnNmb3JtXSIKK1BBU1MgY3VycmVudFZpZXcudHJhbnNmb3JtLm51bWJlck9mSXRl
bXMgaXMgMQorUEFTUyBjdXJyZW50Vmlldy50cmFuc2Zvcm1TdHJpbmcgaXMgIm1hdHJpeCgxIDAg
MCAxIDAgMCkiCitQQVNTIHVuZGVmaW5lZCBpcyB1bmRlZmluZWQuCiBQQVNTIGN1cnJlbnRWaWV3
LnRyYW5zZm9ybS5udW1iZXJPZkl0ZW1zIGlzIDAKKworVHJ5IGNoYW5naW5nIHRyYW5zZm9ybVN0
cmluZyAtIG5vbmUgb2YgdGhlc2Ugd2lsbCB3b3JrLCBpdCBpcyBhIHByaW1pdGl2ZSBwcm9wZXJ0
eQorUEFTUyBjdXJyZW50Vmlldy50cmFuc2Zvcm1TdHJpbmcgPSAncm90YXRlKDkwKScgaXMgInJv
dGF0ZSg5MCkiCitQQVNTIGN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmluZyBpcyAiIgogUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9zdmcvZG9tL1NWR1ZpZXdTcGVjLWRlZmF1bHRzLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdmcvZG9tL1NWR1ZpZXdTcGVjLWRlZmF1bHRzLmh0bWwKaW5kZXggYTAyNDI2NzFkMmNhY2Ni
MGJlYzUyNDliMGU1Y2M5M2U0NjI3NjFlYi4uMTA2MGJkYzJjYmRkYTc4MjQzYThhZjhjMDY1NDI1
YzY2ZjcyMzFmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdWaWV3U3BlYy1k
ZWZhdWx0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHVmlld1NwZWMtZGVmYXVs
dHMuaHRtbApAQCAtMzQsNjIgKzM0LDY0IEBAIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVu
dFZpZXcudmlld1RhcmdldFN0cmluZyIsICIiKTsKIHNob3VsZEJlKCJjdXJyZW50Vmlldy56b29t
QW5kUGFuIiwgIlNWR1ZpZXdFbGVtZW50LlNWR19aT09NQU5EUEFOX01BR05JRlkiKTsKIAogZGVi
dWcoIiIpOwotZGVidWcoIlRyeSBjaGFuZ2luZyB6b29tQW5kUGFuIC0gbm9uZSBvZiB0aGVzZSB3
aWxsIHdvcmssIGFzIFNWR1ZpZXdTcGVjIGlzIGZ1bGx5IHJlYWRvbmx5IC0gZXZlbiB0aGUgYW5p
bWF0ZWQgcHJvcGVydGllcyBpdCBpbmhlcml0cyBmcm9tIHBhcmVudCBjbGFzc2VzIGxpa2UgU1ZH
Wm9vbUFuZFBhbi9TVkdGaXRUb1ZpZXdCb3giKTsKK2RlYnVnKCJUcnkgY2hhbmdpbmcgem9vbUFu
ZFBhbiAtIG5vbmUgb2YgdGhlc2Ugd2lsbCB3b3JrLCBpdCBpcyBhIHByaW1pdGl2ZSBwcm9wZXJ0
eSIpOwogc2hvdWxkVGhyb3coImN1cnJlbnRWaWV3Lnpvb21BbmRQYW4gPSBTVkdWaWV3RWxlbWVu
dC5TVkdfWk9PTUFORFBBTl9ESVNBQkxFIik7CiBzaG91bGRCZSgiY3VycmVudFZpZXcuem9vbUFu
ZFBhbiIsICJTVkdWaWV3RWxlbWVudC5TVkdfWk9PTUFORFBBTl9NQUdOSUZZIik7CiAKIGRlYnVn
KCIiKTsKLWRlYnVnKCJUcnkgY2hhbmdpbmcgdmlld0JveCAtIHRoaXMgaGFzIG5vIGFmZmVjdCBv
biB0aGUgU1ZHU1ZHRWxlbWVudCB0aGUgdmlld1NwZWMgYmVsb25ncyB0byAtIGl0IGV4cG9zZWQg
YWxsIGl0cyBwcm9wZXJ0aWVzIGFzIHJlYWQtb25seSIpOwotc2hvdWxkVGhyb3coImN1cnJlbnRW
aWV3LnZpZXdCb3guYmFzZVZhbC54ID0gMTAiKTsKLXNob3VsZEJlKCJjdXJyZW50Vmlldy52aWV3
Qm94LmJhc2VWYWwueCIsICIwIik7Ci1zaG91bGRUaHJvdygiY3VycmVudFZpZXcudmlld0JveC5i
YXNlVmFsLnkgPSAyMCIpOwotc2hvdWxkQmUoImN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC55
IiwgIjAiKTsKLXNob3VsZFRocm93KCJjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwud2lkdGgg
PSA1MCIpOwotc2hvdWxkQmUoImN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC53aWR0aCIsICIw
Iik7Ci1zaG91bGRUaHJvdygiY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLmhlaWdodCA9IDEw
MCIpOwotc2hvdWxkQmUoImN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC5oZWlnaHQiLCAiMCIp
Owotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy52aWV3Qm94U3RyaW5nIiwgIjAg
MCAwIDAiKTsKK2RlYnVnKCJDaGFuZ2luZyB2aWV3Qm94IC0gdGhpcyBoYXMgbm8gYWZmZWN0IG9u
IHRoZSBTVkdTVkdFbGVtZW50IHRoZSB2aWV3U3BlYyBiZWxvbmdzIHRvIC0gaXQgaXMgYSBkZXRh
Y2hlZCBwcm9wZXJ0eSIpOworc2hvdWxkQmUoImN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC54
ID0gMTAiLCAiMTAiKTsKK3Nob3VsZEJlKCJjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwueCIs
ICIxMCIpOworc2hvdWxkQmUoImN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC55ID0gMjAiLCAi
MjAiKTsKK3Nob3VsZEJlKCJjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwueSIsICIyMCIpOwor
c2hvdWxkQmUoImN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC53aWR0aCA9IDUwIiwgIjUwIik7
CitzaG91bGRCZSgiY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLndpZHRoIiwgIjUwIik7Citz
aG91bGRCZSgiY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLmhlaWdodCA9IDEwMCIsICIxMDAi
KTsKK3Nob3VsZEJlKCJjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwuaGVpZ2h0IiwgIjEwMCIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy52aWV3Qm94U3RyaW5nIiwgIjEw
IDIwIDUwIDEwMCIpOwogCiBkZWJ1ZygiIik7Ci1kZWJ1ZygiVHJ5IGNoYW5naW5nIHZpZXdCb3hT
dHJpbmciKTsKK2RlYnVnKCJUcnkgY2hhbmdpbmcgdmlld0JveFN0cmluZyAtIG5vbmUgb2YgdGhl
c2Ugd2lsbCB3b3JrLCBpdCBpcyBhIHByaW1pdGl2ZSBwcm9wZXJ0eSIpOwogc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJjdXJyZW50Vmlldy52aWV3Qm94U3RyaW5nID0gJzEgMiAzIDQnIiwgIjEgMiAz
IDQiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVudFZpZXcudmlld0JveFN0cmluZyIs
ICIwIDAgMCAwIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnZpZXdCb3hT
dHJpbmciLCAiMTAgMjAgNTAgMTAwIik7CiAKIGRlYnVnKCIiKTsKLWRlYnVnKCJUcnkgY2hhbmdp
bmcgcHJlc2VydmVBc3BlY3RSYXRpbyIpOwotc2hvdWxkVGhyb3coImN1cnJlbnRWaWV3LnByZXNl
cnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5hbGlnbiA9IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZH
X1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSU4iKTsKLXNob3VsZEJlKCJjdXJyZW50Vmlldy5w
cmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VWYWwuYWxpZ24iLCAiU1ZHUHJlc2VydmVBc3BlY3RSYXRp
by5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1JRCIpOwotc2hvdWxkVGhyb3coImN1cnJl
bnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5tZWV0T3JTbGljZSA9IFNWR1ByZXNl
cnZlQXNwZWN0UmF0aW8uU1ZHX01FRVRPUlNMSUNFX1NMSUNFIik7Ci1zaG91bGRCZSgiY3VycmVu
dFZpZXcucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLm1lZXRPclNsaWNlIiwgIlNWR1ByZXNl
cnZlQXNwZWN0UmF0aW8uU1ZHX01FRVRPUlNMSUNFX01FRVQiKTsKK2RlYnVnKCJDaGFuZ2luZyBw
cmVzZXJ2ZUFzcGVjdFJhdGlvIC0gdGhpcyBoYXMgbm8gYWZmZWN0IG9uIHRoZSBTVkdTVkdFbGVt
ZW50IHRoZSB2aWV3U3BlYyBiZWxvbmdzIHRvIC0gaXQgaXMgYSBkZXRhY2hlZCBwcm9wZXJ0eSIp
Oworc2hvdWxkQmUoImN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5hbGln
biA9IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllN
SU4iLCAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlO
WU1JTiIpOworc2hvdWxkQmUoImN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZh
bC5hbGlnbiIsICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19QUkVTRVJWRUFTUEVDVFJBVElP
X1hNSU5ZTUlOIik7CitzaG91bGRCZSgiY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpby5i
YXNlVmFsLm1lZXRPclNsaWNlID0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJ
Q0VfU0xJQ0UiLCAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJQ0VfU0xJQ0Ui
KTsKK3Nob3VsZEJlKCJjdXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VWYWwubWVl
dE9yU2xpY2UiLCAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJQ0VfU0xJQ0Ui
KTsKIAogZGVidWcoIiIpOwotZGVidWcoIlRyeSBjaGFuZ2luZyBwcmVzZXJ2ZUFzcGVjdFJhdGlv
U3RyaW5nIik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnByZXNlcnZlQXNw
ZWN0UmF0aW9TdHJpbmcgPSAneE1pbllNaW4gc2xpY2UnIiwgInhNaW5ZTWluIHNsaWNlIik7Ci1z
aG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0aW9TdHJp
bmciLCAieE1pZFlNaWQgbWVldCIpOwotCitkZWJ1ZygiQ2hhbmdpbmcgcHJlc2VydmVBc3BlY3RS
YXRpb1N0cmluZyAtIG5vbmUgb2YgdGhlc2Ugd2lsbCB3b3JrLCBpdCBpcyBhIHByaW1pdGl2ZSBw
cm9wZXJ0eSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy5wcmVzZXJ2ZUFz
cGVjdFJhdGlvU3RyaW5nID0gJ3hNaWRZTWlkIG1lZXQnIiwgInhNaWRZTWlkIG1lZXQiKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpb1N0cmlu
ZyIsICJ4TWluWU1pbiBzbGljZSIpOwogCiBkZWJ1ZygiIik7Ci1kZWJ1ZygiVHJ5IGNoYW5naW5n
IHRyYW5zZm9ybVN0cmluZyIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy50
cmFuc2Zvcm1TdHJpbmcgPSAncm90YXRlKDkwKSciLCAicm90YXRlKDkwKSIpOwotc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy50cmFuc2Zvcm1TdHJpbmciLCAiIik7Ci0KLQotZGVi
dWcoIiIpOwotZGVidWcoIlRyeSBjaGFuZ2luZyB2aWV3VGFyZ2V0Iik7CitkZWJ1ZygiVHJ5IGNo
YW5naW5nIHZpZXdUYXJnZXQgLSBub25lIG9mIHRoZXNlIHdpbGwgd29yaywgaXQgaXMgYSBwcmlt
aXRpdmUgcHJvcGVydHkiKTsKIHNob3VsZEJlKCJjdXJyZW50Vmlldy52aWV3VGFyZ2V0ID0gc3Zn
RWxlbWVudCIsICJzdmdFbGVtZW50Iik7CiBzaG91bGRCZU51bGwoImN1cnJlbnRWaWV3LnZpZXdU
YXJnZXQiKTsKIAogCiBkZWJ1ZygiIik7Ci1kZWJ1ZygiVHJ5IGNoYW5naW5nIHZpZXdUYXJnZXRT
dHJpbmciKTsKK2RlYnVnKCJUcnkgY2hhbmdpbmcgdmlld1RhcmdldFN0cmluZyAtIG5vbmUgb2Yg
dGhlc2Ugd2lsbCB3b3JrLCBpdCBpcyBhIHByaW1pdGl2ZSBwcm9wZXJ0eSIpOwogc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy52aWV3VGFyZ2V0U3RyaW5nID0gJyN0ZXN0JyIsICIj
dGVzdCIpOwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy52aWV3VGFyZ2V0U3Ry
aW5nIiwgIiIpOwogCiBkZWJ1ZygiIik7Ci1kZWJ1ZygiVHJ5IGNoYW5naW5nIHRyYW5zZm9ybSIp
Owotc2hvdWxkVGhyb3coImN1cnJlbnRWaWV3LnRyYW5zZm9ybS5jbGVhcigpIik7CitkZWJ1Zygi
Q2hhbmdpbmcgdHJhbnNmb3JtIC0gdGhpcyBoYXMgbm8gYWZmZWN0IG9uIHRoZSBTVkdTVkdFbGVt
ZW50IHRoZSB2aWV3U3BlYyBiZWxvbmdzIHRvIC0gaXQgaXMgYSBkZXRhY2hlZCBwcm9wZXJ0eSIp
OwordmFyIHRyYW5zZm9ybSA9IHN2Z0VsZW1lbnQuY3JlYXRlU1ZHVHJhbnNmb3JtKCk7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnRyYW5zZm9ybS5hcHBlbmRJdGVtKHRyYW5z
Zm9ybSkudG9TdHJpbmcoKSIsICJbb2JqZWN0IFNWR1RyYW5zZm9ybV0iKTsKK3Nob3VsZEJlKCJj
dXJyZW50Vmlldy50cmFuc2Zvcm0ubnVtYmVyT2ZJdGVtcyIsICIxIik7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmluZyIsICJtYXRyaXgoMSAwIDAgMSAw
IDApIik7CitzaG91bGRCZVVuZGVmaW5lZChjdXJyZW50Vmlldy50cmFuc2Zvcm0uY2xlYXIoKSk7
CiBzaG91bGRCZSgiY3VycmVudFZpZXcudHJhbnNmb3JtLm51bWJlck9mSXRlbXMiLCAiMCIpOwog
CitkZWJ1ZygiIik7CitkZWJ1ZygiVHJ5IGNoYW5naW5nIHRyYW5zZm9ybVN0cmluZyAtIG5vbmUg
b2YgdGhlc2Ugd2lsbCB3b3JrLCBpdCBpcyBhIHByaW1pdGl2ZSBwcm9wZXJ0eSIpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy50cmFuc2Zvcm1TdHJpbmcgPSAncm90YXRlKDkw
KSciLCAicm90YXRlKDkwKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy50
cmFuc2Zvcm1TdHJpbmciLCAiIik7CisKIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CiA8L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL3N2ZzItaW5oZXJpdGFuY2UtZXhwZWN0
ZWQudHh0CmluZGV4IDYzZWZhZWVhMzI3MmJhYzA1OWMyNDFhOGY4ZGMyODExMTcxMjI2ODIuLmUy
NTljNjlkYTU1Mzc1ZWFiMDY1YTJkNTdjZmY4ZmVkYmI2ZjJkZjYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N2Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvc3ZnL2RvbS9zdmcyLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dApAQCAtOTEsNyArOTEs
NyBAQCBQQVNTIFNWR1BhdGhTZWdMaXN0IGluaGVyaXRzIE9iamVjdAogUEFTUyBTVkdQYXRoU2Vn
TW92ZXRvQWJzIGluaGVyaXRzIFNWR1BhdGhTZWcKIFBBU1MgU1ZHUGF0aFNlZ01vdmV0b1JlbCBp
bmhlcml0cyBTVkdQYXRoU2VnCiBQQVNTIFNWR1BhdHRlcm5FbGVtZW50IGluaGVyaXRzIFNWR0Vs
ZW1lbnQKLVBBU1MgU1ZHUG9pbnQgaW5oZXJpdHMgT2JqZWN0CitQQVNTIFNWR1BvaW50IGluaGVy
aXRzIERPTVBvaW50UmVhZE9ubHkKIFBBU1MgU1ZHUG9pbnRMaXN0IGluaGVyaXRzIE9iamVjdAog
UEFTUyBTVkdQb2x5Z29uRWxlbWVudCBpbmhlcml0cyBTVkdHZW9tZXRyeUVsZW1lbnQKIFBBU1Mg
U1ZHUG9seWxpbmVFbGVtZW50IGluaGVyaXRzIFNWR0dlb21ldHJ5RWxlbWVudApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9zdmcyLWluaGVyaXRhbmNlLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdmcvZG9tL3N2ZzItaW5oZXJpdGFuY2UuaHRtbAppbmRleCA1MWVkMTFhNjI1YzhhMjNjYWI1
ZDAxMjU3NjNlNzEwMWQwYTA0YjNhLi4wY2U3Y2YzMDBlZWRhZDJhOTc0NjdmOWE2MmIyNDMzMmI2
NWJmYmQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL3N2ZzItaW5oZXJpdGFuY2Uu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL3N2ZzItaW5oZXJpdGFuY2UuaHRtbApAQCAt
MTE5LDcgKzExOSw3IEBAIGNoZWNrUGFyZW50KCJTVkdQYXRoU2VnTGlzdCIsICJPYmplY3QiKTsK
IGNoZWNrUGFyZW50KCJTVkdQYXRoU2VnTW92ZXRvQWJzIiwgIlNWR1BhdGhTZWciKTsKIGNoZWNr
UGFyZW50KCJTVkdQYXRoU2VnTW92ZXRvUmVsIiwgIlNWR1BhdGhTZWciKTsKIGNoZWNrUGFyZW50
KCJTVkdQYXR0ZXJuRWxlbWVudCIsICJTVkdFbGVtZW50Iik7Ci1jaGVja1BhcmVudCgiU1ZHUG9p
bnQiLCAiT2JqZWN0Iik7CitjaGVja1BhcmVudCgiU1ZHUG9pbnQiLCAiRE9NUG9pbnRSZWFkT25s
eSIpOwogY2hlY2tQYXJlbnQoIlNWR1BvaW50TGlzdCIsICJPYmplY3QiKTsKIGNoZWNrUGFyZW50
KCJTVkdQb2x5Z29uRWxlbWVudCIsICJTVkdHZW9tZXRyeUVsZW1lbnQiKTsKIGNoZWNrUGFyZW50
KCJTVkdQb2x5bGluZUVsZW1lbnQiLCAiU1ZHR2VvbWV0cnlFbGVtZW50Iik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380542</attachid>
            <date>2019-10-09 10:40:07 -0700</date>
            <delta_ts>2019-10-09 14:53:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191376-20191009104006.patch</filename>
            <type>text/plain</type>
            <size>227034</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWQzMGYxOTAyYmU3NWZl
YzYxNzIzZDhiOWM3MWQ0ZGY1ODBkMDM2Mi4uNzk1NGI4MThjZDY3MWE0NGI4MzllMjQ0ZTYxNTg0
MWJkOWZhYWNhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3MSBAQAorMjAxOS0xMC0wOSAgU2Fp
ZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIFtTVkcy
XTogUmVtb3ZlIHRoZSBpbnRlcmZhY2UgU1ZHUG9pbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcGxhY2UgU1ZHUG9pbnQgYnkgRE9NUG9pbnQgaW4g
YWxsIHRoZSBTVkcgaW50ZXJmYWNlcy4gTWFrZSBTVkdQb2ludCBhbgorICAgICAgICBhbGlhcyB0
byBET01Qb2ludC4gQWRkIHRoZSByZXF1aXJlZCBmdW5jdGlvbnMgdG8gU1ZHUG9pbnRMaXN0IGJl
Y2F1c2UgaXQKKyAgICAgICAgbm93IGluaGVyaXRzIFNWR1Byb3BlcnR5TGlzdCBpbnN0ZWFkIG9m
IGluaGVyaXRpbmcgU1ZHVmFsdWVQcm9wZXJ0eUxpc3QuCisKKyAgICAgICAgKiBDTWFrZUxpc3Rz
LnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLm1ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoU2hvdWxkR2VuZXJhdGVUb1dyYXBwZWQpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAgICAo
V2ViQ29yZTo6anNUZXN0T2JqTXV0YWJsZVBvaW50R2V0dGVyKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdE9iak11dGFibGVQb2ludCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpzZXRKU1Rlc3RPYmpNdXRhYmxlUG9pbnRTZXR0ZXIpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6c2V0SlNUZXN0T2JqTXV0YWJsZVBvaW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTXV0YWJsZVBvaW50RnVuY3Rpb25Cb2R5
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9u
TXV0YWJsZVBvaW50RnVuY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RU
eXBlZGVmc1Byb3RvdHlwZUZ1bmN0aW9uUG9pbnRGdW5jdGlvbkJvZHkpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6anNUZXN0VHlwZWRlZnNQcm90b3R5cGVGdW5jdGlvblBvaW50RnVuY3Rp
b24pOiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlk
bDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFR5cGVkZWZzLmlkbDoKKyAg
ICAgICAgKiBkb20vRE9NUG9pbnQuaDoKKyAgICAgICAgKiBkb20vRE9NUG9pbnQuaWRsOgorICAg
ICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUGF0aERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
cGF0aEZyb21Qb2x5Z29uRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpwYXRoRnJvbVBvbHls
aW5lRWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdHZW9tZXRyeUVsZW1lbnQ6OmdldFBvaW50QXRMZW5ndGggY29uc3Qp
OgorICAgICAgICAqIHN2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
R2VvbWV0cnlFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0aEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aEVsZW1lbnQ6OmdldFBvaW50QXRMZW5ndGggY29uc3Qp
OgorICAgICAgICAqIHN2Zy9TVkdQYXRoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdQb2lu
dC5oOiBSZW1vdmVkLgorICAgICAgICAqIHN2Zy9TVkdQb2ludC5pZGw6IFJlbW92ZWQuCisgICAg
ICAgICogc3ZnL1NWR1BvaW50TGlzdC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUG9pbnRMaXN0
OjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUG9pbnRMaXN0OjpyZXNpemUpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUG9pbnRMaXN0OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdQb2ludExpc3Q6OlNWR1BvaW50TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2lu
dExpc3Q6OmNvcHlJdGVtcyk6CisgICAgICAgICogc3ZnL1NWR1BvaW50TGlzdC5pZGw6CisgICAg
ICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxl
bWVudDo6c2V0Q3VycmVudFRyYW5zbGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVt
ZW50OjpjcmVhdGVTVkdQb2ludCk6CisgICAgICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuaDoKKyAg
ICAgICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR1RleHRDb250
ZW50RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6
OmdldFN0YXJ0UG9zaXRpb25PZkNoYXIpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRl
bnRFbGVtZW50OjpnZXRFbmRQb3NpdGlvbk9mQ2hhcik6CisgICAgICAgICogc3ZnL1NWR1RleHRD
b250ZW50RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaWRs
OgorICAgICAgICAqIHN2Zy9TVkdab29tRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
Wm9vbUV2ZW50OjpwcmV2aW91c1RyYW5zbGF0ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpT
Vkdab29tRXZlbnQ6Om5ld1RyYW5zbGF0ZSBjb25zdCk6CisgICAgICAgICogc3ZnL1NWR1pvb21F
dmVudC5oOgorICAgICAgICAqIHN2Zy9TVkdab29tRXZlbnQuaWRsOgorICAgICAgICAqIHN2Zy9w
cm9wZXJ0aWVzL1NWR0FuaW1hdGlvbkFkZGl0aXZlTGlzdEZ1bmN0aW9uSW1wbC5oOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHQW5pbWF0aW9uUG9pbnRMaXN0RnVuY3Rpb246OmFuaW1hdGUpOgorCisy
MDE5LTEwLTA3ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisK
KyAgICAgICAgTWFrZSBET01Qb2ludCBhIERPTUxpdmVPYmplY3QKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjQ3OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNWR1Byb3BlcnR5IGhhcyB0byBjb21lIGJh
Y2sgYmVjYXVzZSBET01Qb2ludCBpbmhlcml0cyBET01Qb2ludFJlYWRPbmx5CisgICAgICAgIHdo
aWNoIGlzIFJlZkNvdW50ZWQuIFNvIERPTUxpdmVQcm9wZXJ0eSBjYW4ndCBiZSBSZWZDb3VudGVk
LiBPdGhlcndpc2UKKyAgICAgICAgRE9NUG9pbnQgd2lsbCBtYWtlIGEgZGlhbW9uZCBpbmhlcml0
YW5jZS4gU1ZHUHJvcGVydHkgd2lsbCBpbmhlcml0IAorICAgICAgICBET01MaXZlUHJvcGVydHkg
YW5kIGl0IHdpbGwgYmUgUmVmQ291bnRlZC4KKworICAgICAgICAqIEhlYWRlcnMuY21ha2U6Cisg
ICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9ET01MaXZlUHJvcGVydHkuaDoKKyAgICAgICAgKiBk
b20vRE9NUG9pbnQuaDogQWRkZWQuCisgICAgICAgICogZG9tL0RPTVBvaW50Lmg6CisgICAgICAg
ICogZG9tL0RPTVBvaW50LmlkbDoKKyAgICAgICAgKiBkb20vRE9NUG9pbnRSZWFkT25seS5oOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NUG9pbnRSZWFkT25seTo6eEZvckJpbmRpbmdzIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkRPTVBvaW50UmVhZE9ubHk6OnlGb3JCaW5kaW5ncyBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpET01Qb2ludFJlYWRPbmx5Ojp6Rm9yQmluZGluZ3MgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6RE9NUG9pbnRSZWFkT25seTo6d0ZvckJpbmRpbmdzIGNvbnN0
KToKKyAgICAgICAgKiBkb20vRE9NUG9pbnRSZWFkT25seS5pZGw6CisgICAgICAgICogZG9tL0Rl
dmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR1BhdGhT
ZWcuaDoKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdMaXN0Lmg6CisgICAgICAgICogc3Zn
L3Byb3BlcnRpZXMvU1ZHTWVtYmVyQWNjZXNzb3IuaDoKKyAgICAgICAgKiBzdmcvcHJvcGVydGll
cy9TVkdQcmltaXRpdmVQcm9wZXJ0eUFuaW1hdG9yLmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRp
ZXMvU1ZHUHJvcGVydHkuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5Ojppc0F0dGFj
aGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5OjphdHRh
Y2gpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHk6OmRldGFjaCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6Y29udGV4dEVsZW1lbnQgY29u
c3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHk6OmNvbW1pdENoYW5n
ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6YWNjZXNzIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5Ojppc1JlYWRPbmx5IGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5Ojppc0RpcnR5IGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5OjpzZXREaXJ0eSk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6c3luY2hyb25pemUpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHk6OlNWR1Byb3BlcnR5KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9y
eS5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1NoYXJlZFByaW1pdGl2ZVByb3BlcnR5
Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eS5oOgorICAgICAg
ICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlBbmltYXRvci5oOgorICAgICAgICAq
IHN2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlBbmltYXRvckltcGwuaDoKKyAgICAgICAg
KiBzdmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5TGlzdEFuaW1hdG9yLmg6CisgICAgICAg
ICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eUxpc3RBbmltYXRvckltcGwuaDoKKwor
MjAxOS0xMC0wMSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgor
CisgICAgICAgIFJlcGxhY2UgU1ZHUHJvcGVydHkvU1ZHUHJvcGVydHlPd25lciBieSBET01MaXZl
UHJvcGVydHkvRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTc4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgYSBzdGVwIHRvd2FyZHMgcmVwbGFjaW5n
IFNWR1BvaW50IGJ5IERPTVBvaW50LgorCisgICAgICAgIC0tIEFkZCBhIG5ldyBjbGFzcywgbmFt
ZWQgRE9NTGl2ZVByb3BlcnR5LiBJdHMgam9iIGlzIHRvIGNvbW11bmljYXRlIHRoZQorICAgICAg
ICAgICBjaGFuZ2VzIGluIHRoaXMgb2JqZWN0IHRvIGl0cyBvYnNlcnZlci4gVGhpcyBpcyByZXBs
YWNpbmcgU1ZHUHJvcGVydHkuCisgICAgICAgICAgIERPTVBvaW50IHdpbGwgYmUgbWFkZSBpbiBh
IHN1cGVyIG9mIGl0IGFsc28gaW4gYSBmb2xsb3dpbmcgcGF0Y2guCisKKyAgICAgICAgLS0gQWRk
IGEgbmV3IGNsYXNzLCBuYW1lZCBET01MaXZlUHJvcGVydHlPYnNlcnZlciBhbmQgbWFrZSBpdCB0
aGUgYmFzZQorICAgICAgICAgICBjbGFzcyBvZiBET01MaXZlUHJvcGVydHkgb2JzZXJ2ZXJzLiBD
dXJyZW50bHkgdGhlIGZvbGxvd2luZyBjbGFzcyBhcmUKKyAgICAgICAgICAgbWFkZSBzdXBlciBj
bGFzc2VzIG9mIERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyOgorICAgICAgICAgICAxLiBTVkdFbGVt
ZW50OiBUaGlzIG9ic2VydmVzIHRoZSBjaGFuZ2VzIGluIGFsbCB0aGUgU1ZHIHByb3BlcnRpZXMu
CisgICAgICAgICAgIDIuIFNWR0FuaW1hdGVkUHJvcGVydHk6IFRoaXMgb2JzZXJ2ZXMgdGhlIGNo
YW5nZXMgaW4gaXRzIGJhc2VWYWwuCisgICAgICAgICAgIDMuIFNWR1Byb3BlcnR5TGlzdDogVGhp
cyBvYnNlcnZlcyB0aGUgY2hhbmdlcyBpbiB0aGUgaXRlbXMuCisgICAgICAgICAgIDQuIFNWR1Ry
YW5zZm9ybTogVGhpcyBvYnNlcnZlcyB0aGUgY2hhbmdlcyBpbiB0aGUgdW5kZXJseWluZyBTVkdN
YXRyaXguCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRE9NTGl2ZVByb3BlcnR5Lmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2ZVByb3BlcnR5Ojppc0F0dGFjaGVkIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTUxpdmVQcm9wZXJ0eTo6b2JzZXJ2ZXIgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2ZVByb3BlcnR5OjphdHRhY2gpOgorICAgICAgICAo
V2ViQ29yZTo6RE9NTGl2ZVByb3BlcnR5OjpkZXRhY2gpOgorICAgICAgICAoV2ViQ29yZTo6RE9N
TGl2ZVByb3BlcnR5OjpzdmdDb250ZXh0RWxlbWVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpET01MaXZlUHJvcGVydHk6OmlzUmVhZE9ubHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
RE9NTGl2ZVByb3BlcnR5Ojpjb21taXRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2
ZVByb3BlcnR5Ojp2YWx1ZUFzU3RyaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTUxp
dmVQcm9wZXJ0eTo6RE9NTGl2ZVByb3BlcnR5KToKKyAgICAgICAgKiBkb20vRE9NTGl2ZVByb3Bl
cnR5T2JzZXJ2ZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpET01MaXZlUHJvcGVydHlP
YnNlcnZlcjo6b2JzZXJ2ZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2ZVByb3Bl
cnR5T2JzZXJ2ZXI6OnByb3BlcnR5U1ZHQ29udGV4dEVsZW1lbnQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6RE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXI6OmlzUHJvcGVydHlSZWFkT25seSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpET01MaXZlUHJvcGVydHlPYnNlcnZlcjo6Y29tbWl0UHJv
cGVydHlDaGFuZ2UpOgorICAgICAgICAqIHN2Zy9TVkdBbmdsZS5oOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHQW5nbGU6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6Y29tbWl0UHJvcGVydHlDaGFuZ2UpOgorICAgICAg
ICAqIHN2Zy9TVkdFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aC5oOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVu
Z3RoOjp2YWx1ZUZvckJpbmRpbmdzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0aDo6c2V0
VmFsdWVGb3JCaW5kaW5ncyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGg6OmNvbnZlcnRU
b1NwZWNpZmllZFVuaXRzKToKKyAgICAgICAgKiBzdmcvU1ZHTGVuZ3RoTGlzdC5oOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHTGVuZ3RoTGlzdDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0xlbmd0aExpc3Q6OlNWR0xlbmd0aExpc3QpOgorICAgICAgICAqIHN2Zy9TVkdNYXRyaXguaDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR01hdHJpeDo6Y3JlYXRlKToKKyAgICAgICAgKiBzdmcvU1ZH
TnVtYmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdOdW1iZXI6OmNyZWF0ZSk6CisgICAgICAg
ICogc3ZnL1NWR051bWJlckxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR051bWJlckxpc3Q6
OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1BhdGhTZWcuaDoKKyAgICAgICAgKiBzdmcvU1ZH
UGF0aFNlZ0xpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHUG9pbnRMaXN0Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdQb2ludExpc3Q6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1ByZXNlcnZl
QXNwZWN0UmF0aW8uaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ByZXNlcnZlQXNwZWN0UmF0aW86
OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1JlY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1JlY3Q6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1N0cmluZ0xpc3QuaDoKKyAgICAgICAg
KiBzdmcvU1ZHVHJhbnNmb3JtLmg6CisgICAgICAgICogc3ZnL1NWR1RyYW5zZm9ybUxpc3QuaDoK
KyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJvcGVydHk6Om9ic2VydmVyIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJvcGVydHk6OmNvbW1pdFByb3BlcnR5Q2hhbmdlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJvcGVydHk6Om93bmVyIGNvbnN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFByb3BlcnR5Ojp2YWx1ZUFzU3RyaW5nIGNvbnN0
KToKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TGlzdC5oOgor
ICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlQYWlyQWNjZXNzb3JJ
bXBsLmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRWYWx1ZVByb3BlcnR5
Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHTGlzdC5oOgorICAgICAgICAqIHN2Zy9w
cm9wZXJ0aWVzL1NWR01lbWJlckFjY2Vzc29yLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdNZW1i
ZXJBY2Nlc3Nvcjo6bWF0Y2hlcyBjb25zdCk6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZH
UG9pbnRlck1lbWJlckFjY2Vzc29yLmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHUHJp
bWl0aXZlUHJvcGVydHlBbmltYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJpbWl0aXZl
UHJvcGVydHlBbmltYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ByaW1pdGl2
ZVByb3BlcnR5QW5pbWF0b3I6OlNWR1ByaW1pdGl2ZVByb3BlcnR5QW5pbWF0b3IpOgorICAgICAg
ICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5Lmg6IFJlbW92ZWQuCisgICAgICAgICogc3Zn
L3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlBY2Nlc3Nvci5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0
aWVzL1NWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQ
cm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlQ29sb3JBbmltYXRvcik6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlTGVuZ3RoQW5pbWF0b3Ip
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZUxl
bmd0aExpc3RBbmltYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eUFuaW1hdG9y
RmFjdG9yeTo6Y3JlYXRlTnVtYmVyQW5pbWF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJv
cGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yKToKKyAgICAgICAgKiBz
dmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1By
b3BlcnR5TGlzdDo6U1ZHUHJvcGVydHlMaXN0KToKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9T
VkdQcm9wZXJ0eU93bmVyLmg6IFJlbW92ZWQuCisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZH
UHJvcGVydHlPd25lclJlZ2lzdHJ5Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHUHJv
cGVydHlSZWdpc3RyeS5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1NoYXJlZFByaW1p
dGl2ZVByb3BlcnR5Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0
eS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmFsdWVQcm9wZXJ0eTo6U1ZHVmFsdWVQcm9wZXJ0
eSk6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eUFuaW1hdG9yLmg6
CisgICAgICAgIChXZWJDb3JlOjpTVkdWYWx1ZVByb3BlcnR5QW5pbWF0b3I6OlNWR1ZhbHVlUHJv
cGVydHlBbmltYXRvcik6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0
eUFuaW1hdG9ySW1wbC5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVy
dHlMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdWYWx1ZVByb3BlcnR5TGlzdDo6U1ZHVmFs
dWVQcm9wZXJ0eUxpc3QpOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVy
dHlMaXN0QW5pbWF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZhbHVlUHJvcGVydHlMaXN0
QW5pbWF0b3I6OlNWR1ZhbHVlUHJvcGVydHlMaXN0QW5pbWF0b3IpOgorICAgICAgICAqIHN2Zy9w
cm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlMaXN0QW5pbWF0b3JJbXBsLmg6CisKKzIwMTktMTAt
MDEgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZW1vdmUgU1ZHUHJvcGVydHlTdGF0ZSBmcm9tIFNWR1Byb3BlcnR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0MzkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgc3RlcCB0b3dhcmRz
IHJlcGxhY2luZyBTVkdQb2ludCBieSBET01Qb2ludC4KKworICAgICAgICBTVkdQcm9wZXJ0eSBr
ZWVwcyBhIG1lbWJlciBvZiB0eXBlIFNWR1Byb3BlcnR5U3RhdGUgd2hpY2ggdGVsbHMgd2hldGhl
cgorICAgICAgICBpdCBuZWVkcyB0byBiZSByZS1zZXJpYWxpemVkIHRvIGl0cyBhdHRyaWJ1dGUg
b3Igbm90LiBCdXQgdGhlIGRpcnR5IHN0YXRlCisgICAgICAgIGlzIG9ubHkgc2V0IGluIFNWR0Vs
ZW1lbnQ6OmNvbW1pdFByb3BlcnR5Q2hhbmdlKCkuCisKKyAgICAgICAgU28gaW5zdGVhZCBvZiBo
YXZpbmcgU1ZHRWxlbWVudCBzZW5kcyB0aGlzIGNoYW5nZSBiYWNrIHRvIHRoZSBwcm9wZXJ0eSwK
KyAgICAgICAgd2UgYXJlIGdvaW5nIHRvIGtlZXAgYSBIYXNoU2V0PFF1YWxpZmllZE5hbWU+IGlu
IFNWR0VsZW1lbnQgdG8gdGVsbCB3aGljaAorICAgICAgICBhdHRyaWJ1dGVzIG5lZWQgdG8gYmUg
cmUtc2VyaWFsaXplZC4gQW5kIGluc3RlYWQgb2YgY2FsbGluZyB0aGUgdmlydHVhbAorICAgICAg
ICBtZXRob2Qgc3luY2hyb25pemUoKSB3aGljaCB3YXMgcmV0dXJuaW5nIE9wdGlvbmFsPFN0cmlu
Zz4sIHdlIGFyZSBnb2luZworICAgICAgICB0byBjYWxsIHRoZSB2aXJ0dWFsIG1ldGhvZCB2YWx1
ZUFzU3RyaW5nKCkgd2hpY2ggcmV0dXJucyBhIFN0cmluZy4KKworICAgICAgICAqIHN2Zy9TVkdF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnN5bmNocm9uaXplQXR0
cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnN5bmNocm9uaXplQWxsQXR0
cmlidXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50Ojpjb21taXRQcm9wZXJ0eUNo
YW5nZSk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHTGVu
Z3RoLmg6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aExpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZH
UHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0
eVRyYWl0czxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU+Ojppbml0aWFsVmFsdWUpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpb1ZhbHVlPjo6ZnJvbVN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpT
VkdQcm9wZXJ0eVRyYWl0czxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU+OjpwYXJzZSk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvVmFsdWU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL3Byb3Bl
cnRpZXMvU1ZHQW5pbWF0ZWREZWNvcmF0ZWRQcm9wZXJ0eS5oOgorICAgICAgICAqIHN2Zy9wcm9w
ZXJ0aWVzL1NWR0FuaW1hdGVkUHJpbWl0aXZlUHJvcGVydHkuaDoKKyAgICAgICAgKiBzdmcvcHJv
cGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmlt
YXRlZFByb3BlcnR5Ojp2YWx1ZUFzU3RyaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FuaW1hdGVkUHJvcGVydHk6OmlzRGlydHkgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6c2V0RGlydHkpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6U1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6c3luY2hyb25pemUpOiBEZWxldGVkLgorICAg
ICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlMaXN0Lmg6CisgICAgICAg
ICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBhaXJBY2Nlc3NvckltcGwuaDoK
KyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFZhbHVlUHJvcGVydHkuaDoKKyAg
ICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdNZW1iZXJBY2Nlc3Nvci5oOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHTWVtYmVyQWNjZXNzb3I6OnZhbHVlQXNTdHJpbmcgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHTWVtYmVyQWNjZXNzb3I6OnN5bmNocm9uaXplIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQb2ludGVyTWVtYmVyQWNjZXNzb3IuaDoKKyAg
ICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eS5oOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUHJvcGVydHk6OmF0dGFjaCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6ZGV0
YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5Ojppc0RpcnR5IGNvbnN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5OjpzZXREaXJ0eSk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6c3luY2hyb25pemUpOiBEZWxldGVkLgor
ICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5T3duZXJSZWdpc3RyeS5oOgorICAg
ICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5UmVnaXN0cnkuaDoKKworMjAxOS0xMC0w
MSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAg
IFJlbW92ZSBTVkdQcm9wZXJ0eUFjY2VzcyBmcm9tIFNWR1Byb3BlcnR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0MTUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgc3RlcCB0b3dhcmRz
IHJlcGxhY2luZyBTVkdQb2ludCBieSBET01Qb2ludC4KKworICAgICAgICBBbiBTVkdQcm9wZXJ0
eSBpcyByZWFkLW9ubHkgaWYgaXQgb3IgaXRzIG93bmVyIGlzIHRoZSBhbmltVmFsIG9mIGFuCisg
ICAgICAgIFNWR0FuaW1hdGVkUHJvcGVydHkgb3IgU1ZHQW5pbWF0ZWRQcm9wZXJ0eUxpc3QuIElu
IHRoaXMgY2FzZSBhbGwgYXR0ZW1wdHMKKyAgICAgICAgdG8gY2hhbmdlIGl0IHRocm91Z2ggSmF2
YVNjcmlwdCBzaG91bGQgdGhyb3cgZXhwZWN0aW9ucy4KKworICAgICAgICBTbyBpbnN0ZWFkIG9m
IGtlZXBpbmcgYSBtZW1iZXIgb2YgU1ZHUHJvcGVydHlBY2Nlc3MgaW4gZWFjaCBTVkdQcm9wZXJ0
eSwKKyAgICAgICAgd2UgY2FuIHdhbGsgdGhyb3VnaCB0aGUgU1ZHUHJvcGVydHlPd25lciBjaGFp
biB0aWxsIHdlIHJlYWNoIGFuIG93bmVyIG9mCisgICAgICAgIHR5cGUgU1ZHQW5pbWF0ZWRQcm9w
ZXJ0eSBvciBTVkdBbmltYXRlZFByb3BlcnR5TGlzdC4gVGhpcyBvd25lciBjb21wYXJlcworICAg
ICAgICB0aGUgcHJvcGVydHkgdG8gYmUgbW9kaWZpZWQgd2l0aCBpdHMgYW5pbVZhbC4gQW5kIGlm
IHRoZXkgYXJlIHRoZSBzYW1lLAorICAgICAgICBpdCB3aWxsIHJldHVybiAndHJ1ZScgdGhyb3Vn
aCBpdHMgdmlydHVhbCBtZXRob2QgaXNQcm9wZXJ0eVJlYWRPbmx5KCkuCisKKyAgICAgICAgKiBz
dmcvU1ZHQW5nbGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuZ2xlOjpjcmVhdGUpOgorICAg
ICAgICAqIHN2Zy9TVkdFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aC5oOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpjcmVhdGUpOgorICAgICAgICAqIHN2Zy9TVkdMZW5n
dGhMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGhMaXN0OjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoTGlzdDo6U1ZHTGVuZ3RoTGlzdCk6CisgICAgICAgICog
c3ZnL1NWR01hdHJpeC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTWF0cml4OjpjcmVhdGUpOgor
ICAgICAgICAqIHN2Zy9TVkdOdW1iZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR051bWJlcjo6
Y3JlYXRlKToKKyAgICAgICAgKiBzdmcvU1ZHTnVtYmVyTGlzdC5oOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHTnVtYmVyTGlzdDo6Y3JlYXRlKToKKyAgICAgICAgKiBzdmcvU1ZHUGF0aFNlZ0xpc3Qu
aDoKKyAgICAgICAgKiBzdmcvU1ZHUG9pbnRMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQ
b2ludExpc3Q6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8u
aDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OmNyZWF0ZSk6Cisg
ICAgICAgICogc3ZnL1NWR1JlY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlY3Q6OmNyZWF0
ZSk6CisgICAgICAgICogc3ZnL1NWR1RyYW5zZm9ybS5oOgorICAgICAgICAqIHN2Zy9TVkdUcmFu
c2Zvcm1MaXN0Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0
eUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJvcGVydHlMaXN0OjpTVkdB
bmltYXRlZFByb3BlcnR5TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFByb3Bl
cnR5TGlzdDo6ZW5zdXJlQW5pbVZhbCk6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5p
bWF0ZWRWYWx1ZVByb3BlcnR5Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFZhbHVl
UHJvcGVydHk6OlNWR0FuaW1hdGVkVmFsdWVQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdBbmltYXRlZFZhbHVlUHJvcGVydHk6OmVuc3VyZUFuaW1WYWwpOgorICAgICAgICAqIHN2Zy9w
cm9wZXJ0aWVzL1NWR1Byb3BlcnR5Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6
YXR0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5OjpkZXRhY2gpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUHJvcGVydHk6OmNvbnRleHRFbGVtZW50IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1Byb3BlcnR5Ojppc1JlYWRPbmx5IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1Byb3BlcnR5OjpTVkdQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9w
ZXJ0eTo6YWNjZXNzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9T
VkdQcm9wZXJ0eUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5TGlzdDo6U1ZH
UHJvcGVydHlMaXN0KToKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eU93bmVy
Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eU93bmVyOjppc1Byb3BlcnR5UmVhZE9u
bHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlPd25lcjo6cHJvcGVydHlD
b250ZXh0RWxlbWVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eU93bmVy
OjphdHRyaWJ1dGVDb250ZXh0RWxlbWVudCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogc3Zn
L3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmFs
dWVQcm9wZXJ0eTo6U1ZHVmFsdWVQcm9wZXJ0eSk6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMv
U1ZHVmFsdWVQcm9wZXJ0eUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZhbHVlUHJvcGVy
dHlMaXN0OjpTVkdWYWx1ZVByb3BlcnR5TGlzdCk6CisKKzIwMTktMTAtMDEgIFNhaWQgQWJvdS1I
YWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHRoZSBTVkcg
cHJvcGVydGllcyBvZiBTVkdWaWV3U3BlYyBtb2RpZmlhYmxlIGJ1dCBkZXRhY2hlZCBwcm9wZXJ0
aWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0
MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUbyBm
YWNpbGl0YXRlIGFjY2Vzc2luZyB0aGUgU1ZHUHJvcGVydGllcywgbWFrZSBhbGwgdGhlIHByb3Bl
cnRpZXMgb2YKKyAgICAgICAgU1ZHVmlld1NwZWMgbW9kaWZpYWJsZSBidXQgZGV0YWNoZWQgcHJv
cGVydGllcy4gVGhpcyB3aWxsIGJlIGluIGNvbXBsaWFuY2UKKyAgICAgICAgd2l0aCB0aGUgc3Bl
Y3M6IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9TVkcxMS90eXBlcy5odG1sI0ludGVyZmFjZVNWR1Zp
ZXdTcGVjLgorCisgICAgICAgICogc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdGaXRUb1ZpZXdCb3g6OlNWR0ZpdFRvVmlld0JveCk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlVmlld0JveCk6CisgICAgICAgICogc3ZnL1NWR0Zp
dFRvVmlld0JveC5oOgorICAgICAgICAqIHN2Zy9TVkdWaWV3U3BlYy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdWaWV3U3BlYzo6U1ZHVmlld1NwZWMpOgorICAgICAgICAqIHN2Zy9TVkdWaWV3
U3BlYy5oOgorCiAyMDE5LTEwLTA3ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIFdpbkNhaXJvIGJ1aWxkIGZpeCBmb3IgcjI1MDc1
OC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDc3MDI1YzIyMzM2MWQyYTFmZjU0YjliYWQ3
N2JiZjdkNzVhMGIxNWUuLjE3NmExZjMwOWJlZDA4NzczNTgwY2MzZTA4YzAwZjZmZWQzODRiMTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE5LTEwLTA5ICBT
YWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgW1NW
RzJdOiBSZW1vdmUgdGhlIGludGVyZmFjZSBTVkdQb2ludAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxMzc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9OYXRpdmVG
dW5jdGlvblBhcmFtZXRlcnMuanM6CisKIDIwMTktMTAtMDIgIE5pa2l0YSBWYXNpbHlldiAgPG52
YXNpbHlldkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogU3R5bGVzOiBmb3Ig
cnVsZXMgdGhhdCBkb24ndCBtYXRjaCBzZWxlY3RlZCBub2RlLCBwcm9wZXJ0eSB2YWx1ZXMgYWx3
YXlzIHNob3cgYXMgaW52YWxpZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA4MjYyYmU2OGM4MjQw
OGJmNzE1NmExYzgxZmRkN2I2MmZiNGI1YzFjLi44OTBkM2Q5NTYzNjYyOWYzNDY4YWVmZTZjOTUw
YjcyZjNhZGE2MDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTExMyw3ICsxMTEzLDYgQEAg
c2V0KFdlYkNvcmVfU1ZHX0lETF9GSUxFUwogICAgIHN2Zy9TVkdQYXRoU2VnTW92ZXRvQWJzLmlk
bAogICAgIHN2Zy9TVkdQYXRoU2VnTW92ZXRvUmVsLmlkbAogICAgIHN2Zy9TVkdQYXR0ZXJuRWxl
bWVudC5pZGwKLSAgICBzdmcvU1ZHUG9pbnQuaWRsCiAgICAgc3ZnL1NWR1BvaW50TGlzdC5pZGwK
ICAgICBzdmcvU1ZHUG9seWdvbkVsZW1lbnQuaWRsCiAgICAgc3ZnL1NWR1BvbHlsaW5lRWxlbWVu
dC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0Lnhj
ZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0
CmluZGV4IDJmOThmOWUzMTVlYjZmODNlMDMzNGNhN2Y3ODQ4ZTNkZWE0ZDEyMDkuLjRiM2U3OWQ5
ZjNlMzJlNzVjMTA2ZWY1MjNiMzVmZjRjYzgxOGJhMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMTAzMyw3ICsxMDMzLDYgQEAgJChQ
Uk9KRUNUX0RJUikvc3ZnL1NWR1BhdGhTZWdMaXN0LmlkbAogJChQUk9KRUNUX0RJUikvc3ZnL1NW
R1BhdGhTZWdNb3ZldG9BYnMuaWRsCiAkKFBST0pFQ1RfRElSKS9zdmcvU1ZHUGF0aFNlZ01vdmV0
b1JlbC5pZGwKICQoUFJPSkVDVF9ESVIpL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5pZGwKLSQoUFJP
SkVDVF9ESVIpL3N2Zy9TVkdQb2ludC5pZGwKICQoUFJPSkVDVF9ESVIpL3N2Zy9TVkdQb2ludExp
c3QuaWRsCiAkKFBST0pFQ1RfRElSKS9zdmcvU1ZHUG9seWdvbkVsZW1lbnQuaWRsCiAkKFBST0pF
Q1RfRElSKS9zdmcvU1ZHUG9seWxpbmVFbGVtZW50LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCA5M2M1Yzg2NzU4NTk0YWEwYTA3
ZGI2MmIwYzhlMDRkMzQ0Yjg3ODFhLi41OWRhMzFiYzE0ZDFmYzYxOTgyNzhjOGU4MTIwYWIxZThi
NGFhMmNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQu
eGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdApAQCAtMTYxNSw4ICsxNjE1LDYgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdQYXRoU2VnTW92ZXRvUmVsLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdQYXRoU2VnTW92ZXRvUmVsLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHUGF0dGVy
bkVsZW1lbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1NWR1BhdHRlcm5FbGVtZW50LmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTU1ZHUG9pbnQuY3BwCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1NWR1BvaW50LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHUG9pbnRMaXN0LmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdQb2ludExpc3QuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdQb2x5Z29uRWxlbWVudC5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDI4NDBlZmQ2ZmFlNjk0MDc5YzFjMDE0
YzMzYmEwMTUwMGYzMjk4N2MuLjY4MzMwNjU1Njc1MTE3MDIxYmUwM2U2ODgxOTVhYjkzYzFjN2Mz
NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTAyMiw3ICsxMDIyLDYgQEAg
SlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvc3ZnL1NWR1BhdGhTZWdNb3ZldG9B
YnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL3N2Zy9TVkdQYXRoU2VnTW92ZXRvUmVsLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuaWRsIFwKLSAgICAkKFdlYkNvcmUp
L3N2Zy9TVkdQb2ludC5pZGwgXAogICAgICQoV2ViQ29yZSkvc3ZnL1NWR1BvaW50TGlzdC5pZGwg
XAogICAgICQoV2ViQ29yZSkvc3ZnL1NWR1BvbHlnb25FbGVtZW50LmlkbCBcCiAgICAgJChXZWJD
b3JlKS9zdmcvU1ZHUG9seWxpbmVFbGVtZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCA1
YjJmNTNiNTZkN2NhYjVmNjg5ZTZlMGMzODk1MzYyMmM1NTU3MDM5Li5iZDU2NTA5MDQ0MWM4ZWMy
ODkxZTNlNTIyNzllMTY1YjdiNzg4NTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFk
ZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTM2MCw2ICsz
NjAsOCBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgZG9tL0RP
TUV4Y2VwdGlvbi5oCiAgICAgZG9tL0RPTUhpZ2hSZXNUaW1lU3RhbXAuaAogICAgIGRvbS9ET01J
bXBsZW1lbnRhdGlvbi5oCisgICAgZG9tL0RPTUxpdmVQcm9wZXJ0eS5oCisgICAgZG9tL0RPTUxp
dmVQcm9wZXJ0eU9ic2VydmVyLmgKICAgICBkb20vRE9NUGFzdGVBY2Nlc3MuaAogICAgIGRvbS9E
T01SZWN0LmgKICAgICBkb20vRE9NUmVjdEluaXQuaApAQCAtMTM5MSw3ICsxMzkzLDYgQEAgc2V0
KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHN2Zy9wcm9wZXJ0aWVzL1NW
R0xpc3QuaAogICAgIHN2Zy9wcm9wZXJ0aWVzL1NWR1ByaW1pdGl2ZUxpc3QuaAogICAgIHN2Zy9w
cm9wZXJ0aWVzL1NWR1Byb3BlcnR5LmgKLSAgICBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eU93
bmVyLmgKICAgICBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eVRyYWl0cy5oCiAKICAgICB0ZXN0
aW5nL01vY2tHYW1lcGFkLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggNGE4MTA5MjRkZTc0MzJmZmZlNjEy
Y2Y1ZWRkNmQxZmFiNjEzNTcyNy4uYmM2NDdlODAzNWIyM2EyYzFjZDJkMGU4NzhjZjA0M2VjY2Rj
ZThhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTg0MCw2ICs4NDAsNyBAQCBkb20vQ3VzdG9tRWxlbWVu
dFJlZ2lzdHJ5LmNwcAogZG9tL0N1c3RvbUV2ZW50LmNwcAogZG9tL0RPTUV4Y2VwdGlvbi5jcHAK
IGRvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHAKK2RvbS9ET01Qb2ludC5jcHAKIGRvbS9ET01Qb2lu
dFJlYWRPbmx5LmNwcAogZG9tL0RPTVF1YWQuY3BwCiBkb20vRE9NUmVjdExpc3QuY3BwCkBAIC0z
MjkwLDcgKzMyOTEsNiBAQCBKU1NWR1BhdGhTZWdMaXN0LmNwcAogSlNTVkdQYXRoU2VnTW92ZXRv
QWJzLmNwcAogSlNTVkdQYXRoU2VnTW92ZXRvUmVsLmNwcAogSlNTVkdQYXR0ZXJuRWxlbWVudC5j
cHAKLUpTU1ZHUG9pbnQuY3BwCiBKU1NWR1BvaW50TGlzdC5jcHAKIEpTU1ZHUG9seWdvbkVsZW1l
bnQuY3BwCiBKU1NWR1BvbHlsaW5lRWxlbWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4M2M5ZWM3ZDhmZTA0NjNkMDUx
ZDUwZmU3NjljMzk5ODY2NzE1OTNmLi5mMGM4MmUyMDI4YWQzZjM4NGMyMjVkNjk0YTE3ZDIwMDg0
OTQ4ZGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC0yMDg4LDEyICsyMDg4LDEzIEBACiAJCTcxRUZDRURDMjAyQjM4QTkwMEQ3
QzQxMSAvKiBBbmltYXRpb25FZmZlY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDcxRUZDRUQ3MjAyQjM4OEQwMEQ3QzQxMSAvKiBBbmltYXRpb25FZmZl
Y3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3
MjE0NDMzMTIyM0VDODU0MDBGMTJGRjcgLyogKG51bGwpIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTcyMTQ0MzMyMjIzRUM4NUYwMEYxMkZGNyAvKiAobnVsbCkgaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKLQkJNzIxNDQzMzMyMjNFQzhCMDAwRjEyRkY3IC8qIFNWR1Byb3BlcnR5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NUVFNTM2MzIyM0IyQTI0
MDBGQkE5NDQgLyogU1ZHUHJvcGVydHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwotCQk3MjE0NDMzNDIyM0VDOTE2MDBGMTJGRjcgLyogU1ZHUHJvcGVy
dHlPd25lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTVFRTUzNjAyMjNCMkEyMTAwRkJBOTQ0IC8qIFNWR1Byb3BlcnR5T3duZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3MjI4M0YwRTIzMEIyNjhD
MDBGNUQ4MjggLyogSW1hZ2VQYWludGluZ09wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcyQzE4QTNGMjMwQjA0QjcwMDY4NDdDNyAvKiBJbWFn
ZVBhaW50aW5nT3B0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTcyNEVEMzMyMUEzQThCMjMwMEY1RjEzQyAvKiBKU0VYVEJsZW5kTWluTWF4
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MjRFRDMz
MDFBM0E4QjIzMDBGNUYxM0MgLyogSlNFWFRCbGVuZE1pbk1heC5oICovOyB9OwogCQk3MjRFRTU1
MDFEQzgwRDdGMDBBOTFGRkIgLyogQWN0aXZpdHlTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzI0RUU1NEUxREM3RjI1QjAwQTkxRkZCIC8qIEFj
dGl2aXR5U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk3MjRFRTU1MTFEQzgwRDg0MDBBOTFGRkIgLyogQWN0aXZpdHlTdGF0ZUNoYW5nZU9i
c2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
MjRFRTU0RjFEQzdGMjVCMDBBOTFGRkIgLyogQWN0aXZpdHlTdGF0ZUNoYW5nZU9ic2VydmVyLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzI4MzE1
QzEyMzQ0NDAxNTAwMDdEMjc3IC8qIERPTUxpdmVQcm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzI4MzE1QzAyMzQ0MjI5MjAwMDdEMjc3IC8q
IERPTUxpdmVQcm9wZXJ0eS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTcyODMxNUMyMjM0NDQwMjIwMDA3RDI3NyAvKiBET01MaXZlUHJvcGVydHlP
YnNlcnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NzI4MzE1QkUyMzQ0MjI5MTAwMDdEMjc3IC8qIERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzI4MzE1Qzcy
MzQ1MTgyMzAwMDdEMjc3IC8qIFNWR1Byb3BlcnR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MjgzMTVDNTIzNDUwRkMyMDAwN0QyNzcgLyogU1ZHUHJv
cGVydHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk3NTUzQ0ZFODEwOEY0NzNGMDBFQTI4MUUgLyogVGltZWxpbmVSZWNvcmRGYWN0b3J5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NTUzQ0ZFNjEwOEY0
NzNGMDBFQTI4MUUgLyogVGltZWxpbmVSZWNvcmRGYWN0b3J5LmggKi87IH07CiAJCTc1NzkzRTg0
MEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1NzkzRTgxMEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNz
YWdlRXZlbnQuaCAqLzsgfTsKIAkJNzU3OTNFQzkwRDBDRTcyRDAwN0ZDMEFDIC8qIEpTTWVzc2Fn
ZUV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
NTc5M0VDNzBEMENFNzJEMDA3RkMwQUMgLyogSlNNZXNzYWdlRXZlbnQuaCAqLzsgfTsKQEAgLTIz
MDgsNyArMjMwOSw2IEBACiAJCTdDRTE5MTc3MUYyQUJFNzEwMDI3MkY3OCAvKiBKU0ZldGNoUmVx
dWVzdEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdDRTE5MTY5MUYyQUI3MDUwMDI3MkY3OCAvKiBKU0ZldGNoUmVxdWVzdEluaXQuaCAqLzsgfTsK
IAkJN0NFMTkxNzkxRjJBQkU3MTAwMjcyRjc4IC8qIEpTRmV0Y2hSZXF1ZXN0TW9kZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NFMTkxNkMxRjJBQjcw
QTAwMjcyRjc4IC8qIEpTRmV0Y2hSZXF1ZXN0TW9kZS5oICovOyB9OwogCQk3Q0UxOTE3QjFGMkFC
RTcxMDAyNzJGNzggLyogSlNGZXRjaFJlcXVlc3RSZWRpcmVjdC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NFMTkxNkExRjJBQjcwNjAwMjcyRjc4IC8q
IEpTRmV0Y2hSZXF1ZXN0UmVkaXJlY3QuaCAqLzsgfTsKLQkJN0NFNThENEExREQ2NEE1QjAwMTI4
NTUyIC8qIFNWR1BvaW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3Q0U1OEQ0OTFERDY0QTVCMDAxMjg1NTIgLyogU1ZHUG9pbnQuaCAqLzsgfTsKIAkJ
N0NFNThENTAxREQ2OUExRTAwMTI4NTUyIC8qIFNWR051bWJlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NFNThENEYxREQ2OUExRTAwMTI4NTUyIC8q
IFNWR051bWJlci5oICovOyB9OwogCQk3Q0U1OEQ1ODFERDdEOTZEMDAxMjg1NTIgLyogU1ZHVHJh
bnNmb3JtVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDdDRTU4RDU2MUREN0Q5NkQwMDEyODU1MiAvKiBTVkdUcmFuc2Zvcm1WYWx1ZS5oICovOyB9
OwogCQk3Q0U2ODM0NDE5MjE0M0E4MDBGNEQ5MjggLyogVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3Jp
cHRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
Q0U2ODM0MjE5MjE0M0E4MDBGNEQ5MjggLyogVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5j
cHAgKi87IH07CkBAIC0yNDkyLDcgKzI0OTIsNiBAQAogCQk4NTAzMUI1MTBBNDRFRkM3MDBGOTky
RTAgLyogV2hlZWxFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gODUwMzFCM0IwQTQ0RUZDNzAwRjk5MkUwIC8qIFdoZWVsRXZlbnQuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4NTIxN0UwMzBBNUVD
RDQ3MDBEQjhEMDAgLyogWFNMSW1wb3J0UnVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODUyMTdFMDEwQTVFQ0Q0NzAwREI4RDAwIC8qIFhTTEltcG9y
dFJ1bGUuaCAqLzsgfTsKIAkJODU0MkE3OTMwQUU1QzkzRjAwREY1OERGIC8qIEpTU1ZHUmVjdC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU3NEQxRjgw
QURFNjEyMjAwNENCQTExIC8qIEpTU1ZHUmVjdC5oICovOyB9OwotCQk4NTQyQTc5NTBBRTVDOTQx
MDBERjU4REYgLyogSlNTVkdQb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODU3NEQxRjYwQURFNjEyMjAwNENCQTExIC8qIEpTU1ZHUG9pbnQuaCAq
LzsgfTsKIAkJODU0MkE3OTcwQUU1Qzk0MzAwREY1OERGIC8qIEpTU1ZHTnVtYmVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTc0RDFGNDBBREU2MTIy
MDA0Q0JBMTEgLyogSlNTVkdOdW1iZXIuaCAqLzsgfTsKIAkJODU0MkE3OTkwQUU1Qzk0NDAwREY1
OERGIC8qIEpTU1ZHRWxlbWVudFdyYXBwZXJGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTc0RDFGMjBBREU2MTIyMDA0Q0JBMTEgLyogSlNT
VkdFbGVtZW50V3JhcHBlckZhY3RvcnkuaCAqLzsgfTsKIAkJODU0RkU3MzEwQTIyOTdCRTAwNThE
N0FEIC8qIE5vZGVGaWx0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDg1NEZFNzI3MEEyMjk3QkUwMDU4RDdBRCAvKiBOb2RlRmlsdGVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg1NzMsMTAgKzg1
NzIsOCBAQAogCQk1NUVFNTM1RDIyM0IyQTBEMDBGQkE5NDQgLyogU1ZHQW5pbWF0ZWRQcm9wZXJ0
eVBhaXJBY2Nlc3NvckltcGwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZH
QW5pbWF0ZWRQcm9wZXJ0eVBhaXJBY2Nlc3NvckltcGwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTVFRTUzNUUyMjNCMkEwRTAwRkJBOTQ0IC8qIFNWR0FuaW1hdGlvbkFkZGl0aXZl
VmFsdWVGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdBbmlt
YXRpb25BZGRpdGl2ZVZhbHVlRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNTVFRTUzNUYyMjNCMkEwRjAwRkJBOTQ0IC8qIFNWR0FuaW1hdGVkUHJvcGVydHlQYWlyQW5p
bWF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRQcm9w
ZXJ0eVBhaXJBbmltYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1NUVFNTM2
MDIyM0IyQTIxMDBGQkE5NDQgLyogU1ZHUHJvcGVydHlPd25lci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTVkdQcm9wZXJ0eU93bmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTU1RUU1MzYxMjIzQjJBMjIwMEZCQTk0NCAvKiBTVkdBdHRyaWJ1dGVBbmltYXRv
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdBdHRyaWJ1dGVB
bmltYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU1RUU1MzYyMjIzQjJB
MjMwMEZCQTk0NCAvKiBTVkdBbmltYXRlZFByb3BlcnR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNWR0FuaW1hdGVkUHJvcGVydHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNTVFRTUzNjMyMjNCMkEyNDAwRkJBOTQ0IC8qIFNWR1Byb3BlcnR5LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1Byb3BlcnR5Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTU1RUU1MzY0MjIzQjJBMjQwMEZCQTk0NCAvKiBTVkdBdHRyaWJ1dGVB
bmltYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdBdHRyaWJ1dGVB
bmltYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NUZBN0ZGQTIxMTBFQ0Q3
MDA1QUVGRTcgLyogU1ZHWm9vbUFuZFBhblR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHWm9vbUFu
ZFBhblR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTcwNDQwNTcxRTUzODUx
NjAwMzU2NjAxIC8qIENyeXB0b0FsZ29yaXRobUFFU19DRkJNYWMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQk1hYy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05NDU5LDYgKzk0NTYsMTAgQEAKIAkJNzI3QUZF
RDExQTJFQTZBMDAwMDQ0MkU4IC8qIEVYVHNSR0IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRVhUc1JHQi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTcyN0FGRUQyMUEyRUE2QTAwMDA0NDJFOCAvKiBFWFRzUkdCLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEVYVHNSR0IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NzI3QUZFRDMxQTJFQTZBMDAwMDQ0MkU4IC8qIEVYVHNSR0IuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IEVYVHNSR0IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MjgzMTVC
RTIzNDQyMjkxMDAwN0QyNzcgLyogRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzI4MzE1QzAyMzQ0MjI5MjAwMDdEMjc3IC8qIERPTUxp
dmVQcm9wZXJ0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01MaXZlUHJv
cGVydHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzI4MzE1QzUyMzQ1MEZDMjAw
MDdEMjc3IC8qIFNWR1Byb3BlcnR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFNWR1Byb3BlcnR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcyODMxNUNFMjM0
NjU5MDEwMDA3RDI3NyAvKiBET01Qb2ludC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01Qb2lu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyQzE4QTNGMjMwQjA0QjcwMDY4
NDdDNyAvKiBJbWFnZVBhaW50aW5nT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZVBhaW50
aW5nT3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MkU0MTc2MTFBMkU4
RDJGMDA0QzU2MkEgLyogSlNFWFRzUkdCLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTRVhUc1JHQi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcy
RTQxNzYyMUEyRThEMkYwMDRDNTYyQSAvKiBKU0VYVHNSR0IuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNFWFRzUkdCLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC05OTE1LDcgKzk5MTYsNiBAQAogCQk3Q0UxOTE2RTFGMkFCNzBEMDAyNzJGN0EgLyogSlNET01D
YWNoZVN0b3JhZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01DYWNoZVN0b3JhZ2UuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0UxOTE2RTFGMkFCNzBEMDAyNzJGN0Ig
LyogSlNDYWNoZVF1ZXJ5T3B0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NhY2hlUXVl
cnlPcHRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NFMTkxNkYxRjJB
QjcwRjAwMjcyRjc4IC8qIEpTRmV0Y2hSZXF1ZXN0UmVkaXJlY3QuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNGZXRjaFJlcXVlc3RSZWRpcmVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTdDRTU4RDQ5MURENjRBNUIwMDEyODU1MiAvKiBTVkdQb2ludC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQb2ludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3Q0U1OEQ0RjFERDY5QTFFMDAxMjg1NTIgLyogU1ZHTnVtYmVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR051bWJlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3Q0U1OEQ1MTFERDdCMDkzMDAxMjg1NTIgLyogU1ZHTGVuZ3RoLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0xlbmd0aC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3Q0U1OEQ1MjFERDdCMDkzMDAxMjg1NTIgLyogU1ZHTGVuZ3RoVmFsdWUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHTGVuZ3RoVmFsdWUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTAzMTksOCArMTAzMTksNiBAQAog
CQk4NTc0RDFGMjBBREU2MTIyMDA0Q0JBMTEgLyogSlNTVkdFbGVtZW50V3JhcHBlckZhY3Rvcnku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpTU1ZHRWxlbWVudFdyYXBwZXJG
YWN0b3J5Lmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHRWxlbWVudFdyYXBw
ZXJGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTg1NzRE
MUYzMEFERTYxMjIwMDRDQkExMSAvKiBKU1NWR051bWJlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNTVkdOdW1iZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk4NTc0RDFGNDBBREU2MTIyMDA0Q0JBMTEgLyogSlNTVkdOdW1iZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5oOyBwYXRoID0gSlNTVkdOdW1iZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJODU3NEQxRjUwQURFNjEyMjAwNENCQTExIC8qIEpTU1ZHUG9p
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHUG9pbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk4NTc0RDFGNjBBREU2MTIyMDA0Q0JB
MTEgLyogSlNTVkdQb2ludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmg7IHBhdGggPSBK
U1NWR1BvaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1NzREMUY3MEFERTYx
MjIwMDRDQkExMSAvKiBKU1NWR1JlY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTU1ZHUmVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1
NzREMUY4MEFERTYxMjIwMDRDQkExMSAvKiBKU1NWR1JlY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5oOyBwYXRoID0gSlNTVkdSZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTg1OEMzOEVGMEFBOEZERDEwMEIxODdBNCAvKiBEZXByZWNhdGVkQ1NTT01SR0JDb2xvci5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERlcHJlY2F0ZWRDU1NPTVJHQkNvbG9yLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyMzQyLDcgKzEyMzQwLDYgQEAKIAkJQjIy
Mjc4RjEwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1BhdHRlcm5FbGVtZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdQYXR0ZXJuRWxlbWVudC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMjI3OEYyMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQ
YXR0ZXJuRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0
dGVybkVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIyMjc4RjMwRDAw
QkYyMTAwNzFCNzgyIC8qIFNWR1BhdHRlcm5FbGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gU1ZHUGF0dGVybkVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlCMjIyNzhGNDBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUG9pbnQuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBTVkdQb2ludC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIy
MjI3OEY2MEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQb2ludExpc3QuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1BvaW50TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlCMjIyNzhGNzBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUG9pbnRMaXN0LmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gU1ZHUG9pbnRMaXN0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQjIyMjc4RjgwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1BvbHlFbGVtZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdQb2x5RWxlbWVudC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjE3MSwxMyArMTYxNjgsMTIgQEAK
IAkJCQk1NURDQzUyNTIyNDA3NDlFMDBDMjZFMzIgLyogU1ZHUHJpbWl0aXZlTGlzdC5oICovLAog
CQkJCTcyNjZGMDE1MjI0MUMwOTgwMDgzMzk3NSAvKiBTVkdQcmltaXRpdmVQcm9wZXJ0eUFuaW1h
dG9yLmggKi8sCiAJCQkJNzI2NkYwMTQyMjQxQkZCMjAwODMzOTc1IC8qIFNWR1ByaW1pdGl2ZVBy
b3BlcnR5QW5pbWF0b3JJbXBsLmggKi8sCi0JCQkJNTVFRTUzNjMyMjNCMkEyNDAwRkJBOTQ0IC8q
IFNWR1Byb3BlcnR5LmggKi8sCisJCQkJNzI4MzE1QzUyMzQ1MEZDMjAwMDdEMjc3IC8qIFNWR1By
b3BlcnR5LmggKi8sCiAJCQkJNTVEQ0M1MjYyMjQwNzRGQTAwQzI2RTMyIC8qIFNWR1Byb3BlcnR5
QWNjZXNzb3IuaCAqLywKIAkJCQk1NURDQzUyNzIyNDA3NTBCMDBDMjZFMzIgLyogU1ZHUHJvcGVy
dHlBY2Nlc3NvckltcGwuaCAqLywKIAkJCQk3MjY2RjAxNjIyNDFDMEZFMDA4MzM5NzUgLyogU1ZH
UHJvcGVydHlBbmltYXRvci5oICovLAogCQkJCTcyNjZGMDEzMjI0MUJDRTIwMDgzMzk3NSAvKiBT
VkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeS5oICovLAogCQkJCTcyNjZGMDI3MjI0MzEwOTIwMDgz
Mzk3NSAvKiBTVkdQcm9wZXJ0eUxpc3QuaCAqLywKLQkJCQk1NUVFNTM2MDIyM0IyQTIxMDBGQkE5
NDQgLyogU1ZHUHJvcGVydHlPd25lci5oICovLAogCQkJCTU1QkUwMjVDMjIzQjI5QzMwMDMyRjA4
QSAvKiBTVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnkuaCAqLywKIAkJCQk1NUJFMDI1NzIyM0IyOUMw
MDAzMkYwOEEgLyogU1ZHUHJvcGVydHlSZWdpc3RyeS5oICovLAogCQkJCTA4OEEwRTAzMTI2RUYx
REIwMDk3OEY3QSAvKiBTVkdQcm9wZXJ0eVRyYWl0cy5oICovLApAQCAtMjMzNzMsOCArMjMzNjks
NiBAQAogCQkJCUIyRkEzQ0Y3MEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR1BhdGhTZWdNb3ZldG9S
ZWwuaCAqLywKIAkJCQlCMkZBM0NGODBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdQYXR0ZXJuRWxl
bWVudC5jcHAgKi8sCiAJCQkJQjJGQTNDRjkwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHUGF0dGVy
bkVsZW1lbnQuaCAqLywKLQkJCQk4NTc0RDFGNTBBREU2MTIyMDA0Q0JBMTEgLyogSlNTVkdQb2lu
dC5jcHAgKi8sCi0JCQkJODU3NEQxRjYwQURFNjEyMjAwNENCQTExIC8qIEpTU1ZHUG9pbnQuaCAq
LywKIAkJCQlCMkZBM0NGQTBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdQb2ludExpc3QuY3BwICov
LAogCQkJCUIyRkEzQ0ZCMEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR1BvaW50TGlzdC5oICovLAog
CQkJCUIyRkEzQ0ZEMEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR1BvbHlnb25FbGVtZW50LmNwcCAq
LywKQEAgLTI0MzM2LDggKzI0MzMwLDYgQEAKIAkJCQlCMjIyNzhGMTBEMDBCRjIxMDA3MUI3ODIg
LyogU1ZHUGF0dGVybkVsZW1lbnQuY3BwICovLAogCQkJCUIyMjI3OEYyMEQwMEJGMjEwMDcxQjc4
MiAvKiBTVkdQYXR0ZXJuRWxlbWVudC5oICovLAogCQkJCUIyMjI3OEYzMEQwMEJGMjEwMDcxQjc4
MiAvKiBTVkdQYXR0ZXJuRWxlbWVudC5pZGwgKi8sCi0JCQkJN0NFNThENDkxREQ2NEE1QjAwMTI4
NTUyIC8qIFNWR1BvaW50LmggKi8sCi0JCQkJQjIyMjc4RjQwRDAwQkYyMTAwNzFCNzgyIC8qIFNW
R1BvaW50LmlkbCAqLywKIAkJCQlCMjIyNzhGNjBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUG9pbnRM
aXN0LmggKi8sCiAJCQkJQjIyMjc4RjcwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1BvaW50TGlzdC5p
ZGwgKi8sCiAJCQkJQjIyMjc4RjgwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1BvbHlFbGVtZW50LmNw
cCAqLywKQEAgLTI3NTczLDcgKzI3NTY1LDEwIEBACiAJCQkJQTgxODVGMzYwOTc2NTc2NTAwNTgy
NkQ5IC8qIERPTUltcGxlbWVudGF0aW9uLmNwcCAqLywKIAkJCQlBODE4NUYzMzA5NzY1NzY1MDA1
ODI2RDkgLyogRE9NSW1wbGVtZW50YXRpb24uaCAqLywKIAkJCQk5M0VFQzFFOTA5QzI4Nzc3MDBD
NTE1RDEgLyogRE9NSW1wbGVtZW50YXRpb24uaWRsICovLAorCQkJCTcyODMxNUMwMjM0NDIyOTIw
MDA3RDI3NyAvKiBET01MaXZlUHJvcGVydHkuaCAqLywKKwkJCQk3MjgzMTVCRTIzNDQyMjkxMDAw
N0QyNzcgLyogRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIuaCAqLywKIAkJCQlGNEI0MjJDMjIyMEMw
MDAwMDA5RTFFN0QgLyogRE9NUGFzdGVBY2Nlc3MuaCAqLywKKwkJCQk3MjgzMTVDRTIzNDY1OTAx
MDAwN0QyNzcgLyogRE9NUG9pbnQuY3BwICovLAogCQkJCTBGNDk2Njk5MURCNDA4QzEwMEEyNzRC
QiAvKiBET01Qb2ludC5oICovLAogCQkJCTBGNDk2NjlBMURCNDA4QzEwMEEyNzRCQiAvKiBET01Q
b2ludC5pZGwgKi8sCiAJCQkJMEY0OTY2QTIxREI0MDkxMDAwQTI3NEJCIC8qIERPTVBvaW50SW5p
dC5oICovLApAQCAtMjkxNjgsNiArMjkxNjMsOCBAQAogCQkJCUUzQTc3NjY3MURDODVEMjgwMEI2
OTBEOCAvKiBET01KSVRJRExDb252ZXJ0LmggaW4gSGVhZGVycyAqLywKIAkJCQlFM0E3NzY2ODFE
Qzg1RDI4MDBCNjkwRDggLyogRE9NSklUSURMVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTM1
ODAyQjYxREM4NDM1RDAwQTk3NzNDIC8qIERPTUpJVElETFR5cGVGaWx0ZXIuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTcyODMxNUMxMjM0NDQwMTUwMDA3RDI3NyAvKiBET01MaXZlUHJvcGVydHkuaCBp
biBIZWFkZXJzICovLAorCQkJCTcyODMxNUMyMjM0NDQwMjIwMDA3RDI3NyAvKiBET01MaXZlUHJv
cGVydHlPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM2QUNFQ0ExRUNBOTU2OTAwNEJE
MDEyIC8qIERPTU1hdHJpeC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NCQkJDQzcxRjU2MDU4MTAw
NUVGQUFDIC8qIERPTU1hdHJpeDJESW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM2QUNFQ0Ix
RUNBOTU2RDAwNEJEMDEyIC8qIERPTU1hdHJpeEluaXQuaCBpbiBIZWFkZXJzICovLApAQCAtMzA1
NTAsNyArMzA1NDcsNiBAQAogCQkJCUIyRkEzREREMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1Bh
dGhTZWdNb3ZldG9BYnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRERGMEFCNzVBNkYwMDBF
NUFDNCAvKiBKU1NWR1BhdGhTZWdNb3ZldG9SZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEz
REUxMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1BhdHRlcm5FbGVtZW50LmggaW4gSGVhZGVycyAq
LywKLQkJCQk4NTQyQTc5NTBBRTVDOTQxMDBERjU4REYgLyogSlNTVkdQb2ludC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQjJGQTNERTMwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHUG9pbnRMaXN0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0RFNjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdQb2x5
Z29uRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNERTgwQUI3NUE2RjAwMEU1QUM0
IC8qIEpTU1ZHUG9seWxpbmVFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTMxOTg1LDE1ICsz
MTk4MSwxMyBAQAogCQkJCTg0QzVCMkZCMTIxNkRDODEwMDg4QjUzQSAvKiBTVkdQYXRoVHJhdmVy
c2FsU3RhdGVCdWlsZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3MUE1N0RGMjE1NEJFMjVDMDAw
OUQxMjAgLyogU1ZHUGF0aFV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBODgw
RDAwQkYyMjAwNzFCNzgyIC8qIFNWR1BhdHRlcm5FbGVtZW50LmggaW4gSGVhZGVycyAqLywKLQkJ
CQk3Q0U1OEQ0QTFERDY0QTVCMDAxMjg1NTIgLyogU1ZHUG9pbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUIyMjI3QThDMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQb2ludExpc3QuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUIyMjI3QThGMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQb2x5RWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBOTEwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1BvbHlnb25F
bGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0E5NDBEMDBCRjIyMDA3MUI3ODIgLyog
U1ZHUG9seWxpbmVFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0E5NzBEMDBCRjIy
MDA3MUI3ODIgLyogU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTVEQ0M1MjgyMjQwN0IyMDAwQzI2RTMyIC8qIFNWR1ByaW1pdGl2ZUxpc3QuaCBpbiBIZWFkZXJz
ICovLAotCQkJCTcyMTQ0MzMzMjIzRUM4QjAwMEYxMkZGNyAvKiBTVkdQcm9wZXJ0eS5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJNzIxNDQzMzQyMjNFQzkxNjAwRjEyRkY3IC8qIFNWR1Byb3BlcnR5T3du
ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTcyODMxNUM3MjM0NTE4MjMwMDA3RDI3NyAvKiBTVkdQ
cm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDg4QTBFMEMxMjZFRjFEQjAwOTc4RjdBIC8q
IFNWR1Byb3BlcnR5VHJhaXRzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0E5QTBEMDBCRjIy
MDA3MUI3ODIgLyogU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwOEVERTE5RjEyQTUwQjhFMDBCOTU3OTcgLyogU1ZHUmVjdC5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
CmluZGV4IGNjMDI4YzI1MTNhYjE4Y2U1MDU3NmNmNjg3OWY2Zjc3NDE4OTc3N2UuLjJlMGMyNTlh
NTZkY2JmNTMyNDAwMGMyNzI2MWIxOWQxODUyNmM4ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0xNDQ4LDYgKzE0NDgs
NyBAQCBzdWIgU2hvdWxkR2VuZXJhdGVUb1dyYXBwZWQKICAgICBteSAoJGhhc1BhcmVudCwgJGlu
dGVyZmFjZSkgPSBAXzsKIAogICAgIHJldHVybiAwIGlmIG5vdCBOZWVkc0ltcGxlbWVudGF0aW9u
Q2xhc3MoJGludGVyZmFjZSk7CisgICAgcmV0dXJuIDEgaWYgJGludGVyZmFjZS0+dHlwZS0+bmFt
ZSBlcSAiRE9NUG9pbnQiOwogICAgIHJldHVybiAxIGlmICEkaGFzUGFyZW50IG9yICRpbnRlcmZh
Y2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+e0pTR2VuZXJhdGVUb05hdGl2ZU9iamVjdH07CiAgICAg
cmV0dXJuIDEgaWYgJGludGVyZmFjZS0+cGFyZW50VHlwZSAmJiAkaW50ZXJmYWNlLT5wYXJlbnRU
eXBlLT5uYW1lIGVxICJFdmVudFRhcmdldCI7CiAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4
IGQ4MDk2OWUwNDA5Mzg2NWJhOTRlNGFhYzc5N2UyYjc2NWRiNTJkOTguLmQ3Nzc1Mzk0ZDI4Yjky
NGE5MDAzNjE3YTM4NjA5OWZlNzQ1YmEyMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC02NCw3ICs2NCw2IEBA
CiAjaW5jbHVkZSAiSlNNZWRpYURldmljZXMuaCIKICNpbmNsdWRlICJKU05vZGUuaCIKICNpbmNs
dWRlICJKU1NWR0RvY3VtZW50LmgiCi0jaW5jbHVkZSAiSlNTVkdQb2ludC5oIgogI2luY2x1ZGUg
IkpTU2VydmljZVdvcmtlci5oIgogI2luY2x1ZGUgIkpTVGVzdENhbGxiYWNrRnVuY3Rpb24uaCIK
ICNpbmNsdWRlICJKU1Rlc3RDYWxsYmFja0ludGVyZmFjZS5oIgpAQCAtMTU1OSw3ICsxNTU4LDYg
QEAgSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1
bmN0aW9uQ29udmVydDEoSlNDOjpFeGVjU3QKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQyKEpTQzo6RXhlY1N0YXRlKik7
CiBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVu
Y3Rpb25Db252ZXJ0MyhKU0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ29udmVydDQoSlNDOjpFeGVjU3Rh
dGUqKTsKLUpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5
cGVGdW5jdGlvbk11dGFibGVQb2ludEZ1bmN0aW9uKEpTQzo6RXhlY1N0YXRlKik7CiBKU0M6OkVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PcmFu
Z2UoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBq
c1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblZhcmlhZGljU3RyaW5nTWV0aG9kKEpTQzo6RXhlY1N0
YXRlKik7CiBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90
eXBlRnVuY3Rpb25WYXJpYWRpY0RvdWJsZU1ldGhvZChKU0M6OkV4ZWNTdGF0ZSopOwpAQCAtMTc1
Miw4ICsxNzUwLDYgQEAgYm9vbCBzZXRKU1Rlc3RPYmpBbnlBdHRyaWJ1dGUoSlNDOjpFeGVjU3Rh
dGUqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWQKIEpTQzo6RW5jb2RlZEpTVmFs
dWUganNUZXN0T2JqT2JqZWN0QXR0cmlidXRlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVk
SlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpOwogYm9vbCBzZXRKU1Rlc3RPYmpPYmplY3RBdHRy
aWJ1dGUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRK
U1ZhbHVlKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0T2JqQ29udGVudERvY3VtZW50KEpT
Qzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpOwot
SlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RPYmpNdXRhYmxlUG9pbnQoSlNDOjpFeGVjU3RhdGUq
LCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7Ci1ib29sIHNldEpTVGVz
dE9iak11dGFibGVQb2ludChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpT
Qzo6RW5jb2RlZEpTVmFsdWUpOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RPYmpTdHJhd2Jl
cnJ5KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5h
bWUpOwogYm9vbCBzZXRKU1Rlc3RPYmpTdHJhd2JlcnJ5KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpF
bmNvZGVkSlNWYWx1ZSwgSlNDOjpFbmNvZGVkSlNWYWx1ZSk7CiBKU0M6OkVuY29kZWRKU1ZhbHVl
IGpzVGVzdE9iakRlc2NyaXB0aW9uKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1
ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpOwpAQCAtMjA5Myw3ICsyMDg5LDYgQEAgc3RhdGljIGNvbnN0
IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE9ialByb3RvdHlwZVRhYmxlVmFsdWVzW10gPQogICAgIHsg
ImFueUF0dHJpYnV0ZSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0
ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0T2JqQW55QXR0cmlidXRlKSwgKGludHB0cl90KSBzdGF0aWNfY2Fz
dDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqQW55QXR0cmlidXRl
KSB9IH0sCiAgICAgeyAib2JqZWN0QXR0cmlidXRlIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpPYmplY3RBdHRyaWJ1dGUpLCAo
aW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRK
U1Rlc3RPYmpPYmplY3RBdHRyaWJ1dGUpIH0gfSwKICAgICB7ICJjb250ZW50RG9jdW1lbnQiLCBz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2Fz
dDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqQ29udGVudERvY3VtZW50KSwg
KGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oMCkg
fSB9LAotICAgIHsgIm11dGFibGVQb2ludCIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9w
ZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqTXV0YWJsZVBvaW50KSwgKGludHB0cl90
KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2Jq
TXV0YWJsZVBvaW50KSB9IH0sCiAgICAgeyAic3RyYXdiZXJyeSIsIHN0YXRpY19jYXN0PHVuc2ln
bmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0
aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqU3RyYXdiZXJyeSks
IChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNl
dEpTVGVzdE9ialN0cmF3YmVycnkpIH0gfSwKICAgICB7ICJkZXNjcmlwdGlvbiIsIHN0YXRpY19j
YXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3Bl
cnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpEZXNjcmlwdGlvbiksIChpbnRwdHJfdCkg
c3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKICAgICB7
ICJpZCIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0
b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50
cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
Yz4oanNUZXN0T2JqSWQpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6
UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpJZCkgfSB9LApAQCAtMjI3Nyw3ICsyMjcyLDYgQEAg
c3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE9ialByb3RvdHlwZVRhYmxlVmFsdWVz
W10gPQogICAgIHsgImNvbnZlcnQyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19j
YXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQy
KSwgKGludHB0cl90KSAoMSkgfSB9LAogICAgIHsgImNvbnZlcnQzIiwgc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsg
KGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5
cGVGdW5jdGlvbkNvbnZlcnQzKSwgKGludHB0cl90KSAoMSkgfSB9LAogICAgIHsgImNvbnZlcnQ0
Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9u
KSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9u
Pihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQ0KSwgKGludHB0cl90KSAoMSkgfSB9
LAotICAgIHsgIm11dGFibGVQb2ludEZ1bmN0aW9uIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90
KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlv
bk11dGFibGVQb2ludEZ1bmN0aW9uKSwgKGludHB0cl90KSAoMCkgfSB9LAogICAgIHsgIm9yYW5n
ZSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlv
biksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlv
bj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PcmFuZ2UpLCAoaW50cHRyX3QpICgwKSB9IH0s
CiAgICAgeyAidmFyaWFkaWNTdHJpbmdNZXRob2QiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qp
c3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9u
VmFyaWFkaWNTdHJpbmdNZXRob2QpLCAoaW50cHRyX3QpICgxKSB9IH0sCiAgICAgeyAidmFyaWFk
aWNEb3VibGVNZXRob2QiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3
TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uVmFyaWFkaWNEb3VibGVN
ZXRob2QpLCAoaW50cHRyX3QpICgxKSB9IH0sCkBAIC00ODA1LDM4ICs0Nzk5LDYgQEAgRW5jb2Rl
ZEpTVmFsdWUganNUZXN0T2JqQ29udGVudERvY3VtZW50KEV4ZWNTdGF0ZSogc3RhdGUsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWwKICAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46Omdl
dDxqc1Rlc3RPYmpDb250ZW50RG9jdW1lbnRHZXR0ZXIsIENhc3RlZFRoaXNFcnJvckJlaGF2aW9y
OjpBc3NlcnQ+KCpzdGF0ZSwgdGhpc1ZhbHVlLCAiY29udGVudERvY3VtZW50Iik7CiB9CiAKLXN0
YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RPYmpNdXRhYmxlUG9pbnRHZXR0ZXIoRXhlY1N0YXRl
JiBzdGF0ZSwgSlNUZXN0T2JqJiB0aGlzT2JqZWN0LCBUaHJvd1Njb3BlJiB0aHJvd1Njb3BlKQot
ewotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKLSAgICBVTlVTRURfUEFSQU0oc3RhdGUp
OwotICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKLSAgICBKU1ZhbHVlIHJl
c3VsdCA9IHRvSlM8SURMSW50ZXJmYWNlPFNWR1BvaW50Pj4oc3RhdGUsICp0aGlzT2JqZWN0Lmds
b2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBpbXBsLm11dGFibGVQb2ludCgpKTsKLSAgICByZXR1
cm4gcmVzdWx0OwotfQotCi1FbmNvZGVkSlNWYWx1ZSBqc1Rlc3RPYmpNdXRhYmxlUG9pbnQoRXhl
Y1N0YXRlKiBzdGF0ZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCi17
Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpnZXQ8anNUZXN0T2JqTXV0YWJs
ZVBvaW50R2V0dGVyLCBDYXN0ZWRUaGlzRXJyb3JCZWhhdmlvcjo6QXNzZXJ0Pigqc3RhdGUsIHRo
aXNWYWx1ZSwgIm11dGFibGVQb2ludCIpOwotfQotCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNU
ZXN0T2JqTXV0YWJsZVBvaW50U2V0dGVyKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVGVzdE9iaiYgdGhp
c09iamVjdCwgSlNWYWx1ZSB2YWx1ZSwgVGhyb3dTY29wZSYgdGhyb3dTY29wZSkKLXsKLSAgICBV
TlVTRURfUEFSQU0oc3RhdGUpOwotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKLSAgICBh
dXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7Ci0gICAgYXV0byBuYXRpdmVWYWx1ZSA9
IGNvbnZlcnQ8SURMSW50ZXJmYWNlPFNWR1BvaW50Pj4oc3RhdGUsIHZhbHVlLCBbXShKU0M6OkV4
ZWNTdGF0ZSYgc3RhdGUsIEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dBdHRyaWJ1dGVU
eXBlRXJyb3Ioc3RhdGUsIHNjb3BlLCAiVGVzdE9iamVjdCIsICJtdXRhYmxlUG9pbnQiLCAiU1ZH
UG9pbnQiKTsgfSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7
Ci0gICAgQXR0cmlidXRlU2V0dGVyOjpjYWxsKHN0YXRlLCB0aHJvd1Njb3BlLCBbJl0gewotICAg
ICAgICByZXR1cm4gaW1wbC5zZXRNdXRhYmxlUG9pbnQoKm5hdGl2ZVZhbHVlKTsKLSAgICB9KTsK
LSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotYm9vbCBzZXRKU1Rlc3RPYmpNdXRhYmxlUG9pbnQoRXhl
Y1N0YXRlKiBzdGF0ZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUpCi17Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8
c2V0SlNUZXN0T2JqTXV0YWJsZVBvaW50U2V0dGVyPigqc3RhdGUsIHRoaXNWYWx1ZSwgZW5jb2Rl
ZFZhbHVlLCAibXV0YWJsZVBvaW50Iik7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rl
c3RPYmpTdHJhd2JlcnJ5R2V0dGVyKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVGVzdE9iaiYgdGhpc09i
amVjdCwgVGhyb3dTY29wZSYgdGhyb3dTY29wZSkKIHsKICAgICBVTlVTRURfUEFSQU0odGhyb3dT
Y29wZSk7CkBAIC04MDczLDE5ICs4MDM1LDYgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkNvbnZlcnQ0KEV4ZWNTdGF0ZSogc3RhdGUKICAg
ICByZXR1cm4gSURMT3BlcmF0aW9uPEpTVGVzdE9iaj46OmNhbGw8anNUZXN0T2JqUHJvdG90eXBl
RnVuY3Rpb25Db252ZXJ0NEJvZHk+KCpzdGF0ZSwgImNvbnZlcnQ0Iik7CiB9CiAKLXN0YXRpYyBp
bmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk11dGFi
bGVQb2ludEZ1bmN0aW9uQm9keShKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIHR5cGVuYW1lIElETE9w
ZXJhdGlvbjxKU1Rlc3RPYmo+OjpDbGFzc1BhcmFtZXRlciBjYXN0ZWRUaGlzLCBKU0M6OlRocm93
U2NvcGUmIHRocm93U2NvcGUpCi17Ci0gICAgVU5VU0VEX1BBUkFNKHN0YXRlKTsKLSAgICBVTlVT
RURfUEFSQU0odGhyb3dTY29wZSk7Ci0gICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBw
ZWQoKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRvSlM8SURMSW50ZXJmYWNlPFNWR1Bv
aW50Pj4oKnN0YXRlLCAqY2FzdGVkVGhpcy0+Z2xvYmFsT2JqZWN0KCksIGltcGwubXV0YWJsZVBv
aW50RnVuY3Rpb24oKSkpOwotfQotCi1FbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVz
dE9ialByb3RvdHlwZUZ1bmN0aW9uTXV0YWJsZVBvaW50RnVuY3Rpb24oRXhlY1N0YXRlKiBzdGF0
ZSkKLXsKLSAgICByZXR1cm4gSURMT3BlcmF0aW9uPEpTVGVzdE9iaj46OmNhbGw8anNUZXN0T2Jq
UHJvdG90eXBlRnVuY3Rpb25NdXRhYmxlUG9pbnRGdW5jdGlvbkJvZHk+KCpzdGF0ZSwgIm11dGFi
bGVQb2ludEZ1bmN0aW9uIik7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1
ZSBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk9yYW5nZUJvZHkoSlNDOjpFeGVjU3RhdGUqIHN0
YXRlLCB0eXBlbmFtZSBJRExPcGVyYXRpb248SlNUZXN0T2JqPjo6Q2xhc3NQYXJhbWV0ZXIgY2Fz
dGVkVGhpcywgSlNDOjpUaHJvd1Njb3BlJiB0aHJvd1Njb3BlKQogewogICAgIFVOVVNFRF9QQVJB
TShzdGF0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNwcAppbmRleCA2YjhjMDRhYzhlMThmZWRhYmRmNTgw
ZDg1YmNlNGUyOTQzN2MxNzU4Li5hMTlkZDY1ZDI1MzJkZmE4MDc3N2Q0ZWNkY2I1MGVmZmE5MzY4
Zjk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0VHlwZWRlZnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlICJK
U0RPTUdsb2JhbE9iamVjdC5oIgogI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVk
ZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKLSNpbmNsdWRlICJKU1NWR1BvaW50LmgiCiAjaW5jbHVk
ZSAiSlNUZXN0Q2FsbGJhY2tGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTVGVzdENhbGxiYWNrSW50
ZXJmYWNlLmgiCiAjaW5jbHVkZSAiSlNUZXN0RXZlbnRUYXJnZXQuaCIKQEAgLTcwLDcgKzY5LDYg
QEAgSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdFR5cGVkZWZzUHJvdG90
eXBlRnVuY3Rpb25OdWxsYWJsZVNlcXVlbmMKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBqc1Rlc3RUeXBlZGVmc1Byb3RvdHlwZUZ1bmN0aW9uVW5pb25BcmcoSlNDOjpFeGVjU3Rh
dGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RUeXBlZGVmc1By
b3RvdHlwZUZ1bmN0aW9uRnVuY1dpdGhDbGFtcChKU0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdFR5cGVkZWZzUHJvdG90eXBlRnVuY3Rpb25G
dW5jV2l0aENsYW1wSW5UeXBlZGVmKEpTQzo6RXhlY1N0YXRlKik7Ci1KU0M6OkVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwganNUZXN0VHlwZWRlZnNQcm90b3R5cGVGdW5jdGlvblBvaW50RnVu
Y3Rpb24oSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBqc1Rlc3RUeXBlZGVmc1Byb3RvdHlwZUZ1bmN0aW9uU3RyaW5nU2VxdWVuY2VGdW5jdGlvbihK
U0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVz
dFR5cGVkZWZzUHJvdG90eXBlRnVuY3Rpb25TdHJpbmdTZXF1ZW5jZUZ1bmN0aW9uMihKU0M6OkV4
ZWNTdGF0ZSopOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdFR5cGVk
ZWZzUHJvdG90eXBlRnVuY3Rpb25DYWxsV2l0aFNlcXVlbmNlVGhhdFJlcXVpcmVzSW5jbHVkZShK
U0M6OkV4ZWNTdGF0ZSopOwpAQCAtMTk4LDcgKzE5Niw2IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFi
bGVWYWx1ZSBKU1Rlc3RUeXBlZGVmc1Byb3RvdHlwZVRhYmxlVmFsdWVzW10gPQogICAgIHsgInVu
aW9uQXJnIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1
bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1
bmN0aW9uPihqc1Rlc3RUeXBlZGVmc1Byb3RvdHlwZUZ1bmN0aW9uVW5pb25BcmcpLCAoaW50cHRy
X3QpICgxKSB9IH0sCiAgICAgeyAiZnVuY1dpdGhDbGFtcCIsIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRw
dHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNUZXN0VHlwZWRlZnNQcm90b3R5
cGVGdW5jdGlvbkZ1bmNXaXRoQ2xhbXApLCAoaW50cHRyX3QpICgxKSB9IH0sCiAgICAgeyAiZnVu
Y1dpdGhDbGFtcEluVHlwZWRlZiIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2Fz
dDxSYXdOYXRpdmVGdW5jdGlvbj4oanNUZXN0VHlwZWRlZnNQcm90b3R5cGVGdW5jdGlvbkZ1bmNX
aXRoQ2xhbXBJblR5cGVkZWYpLCAoaW50cHRyX3QpICgxKSB9IH0sCi0gICAgeyAicG9pbnRGdW5j
dGlvbiIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5j
dGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5j
dGlvbj4oanNUZXN0VHlwZWRlZnNQcm90b3R5cGVGdW5jdGlvblBvaW50RnVuY3Rpb24pLCAoaW50
cHRyX3QpICgwKSB9IH0sCiAgICAgeyAic3RyaW5nU2VxdWVuY2VGdW5jdGlvbiIsIHN0YXRpY19j
YXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmlu
c2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNUZXN0VHlw
ZWRlZnNQcm90b3R5cGVGdW5jdGlvblN0cmluZ1NlcXVlbmNlRnVuY3Rpb24pLCAoaW50cHRyX3Qp
ICgxKSB9IH0sCiAgICAgeyAic3RyaW5nU2VxdWVuY2VGdW5jdGlvbjIiLCBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywg
eyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdFR5cGVkZWZz
UHJvdG90eXBlRnVuY3Rpb25TdHJpbmdTZXF1ZW5jZUZ1bmN0aW9uMiksIChpbnRwdHJfdCkgKDEp
IH0gfSwKICAgICB7ICJjYWxsV2l0aFNlcXVlbmNlVGhhdFJlcXVpcmVzSW5jbHVkZSIsIHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50
cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNUZXN0
VHlwZWRlZnNQcm90b3R5cGVGdW5jdGlvbkNhbGxXaXRoU2VxdWVuY2VUaGF0UmVxdWlyZXNJbmNs
dWRlKSwgKGludHB0cl90KSAoMSkgfSB9LApAQCAtNjcyLDE5ICs2NjksNiBAQCBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdFR5cGVkZWZzUHJvdG90eXBlRnVuY3Rpb25GdW5jV2l0
aENsYW1wSW5UeXBlZAogICAgIHJldHVybiBJRExPcGVyYXRpb248SlNUZXN0VHlwZWRlZnM+Ojpj
YWxsPGpzVGVzdFR5cGVkZWZzUHJvdG90eXBlRnVuY3Rpb25GdW5jV2l0aENsYW1wSW5UeXBlZGVm
Qm9keT4oKnN0YXRlLCAiZnVuY1dpdGhDbGFtcEluVHlwZWRlZiIpOwogfQogCi1zdGF0aWMgaW5s
aW5lIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0VHlwZWRlZnNQcm90b3R5cGVGdW5jdGlvblBv
aW50RnVuY3Rpb25Cb2R5KEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgdHlwZW5hbWUgSURMT3BlcmF0
aW9uPEpTVGVzdFR5cGVkZWZzPjo6Q2xhc3NQYXJhbWV0ZXIgY2FzdGVkVGhpcywgSlNDOjpUaHJv
d1Njb3BlJiB0aHJvd1Njb3BlKQotewotICAgIFVOVVNFRF9QQVJBTShzdGF0ZSk7Ci0gICAgVU5V
U0VEX1BBUkFNKHRocm93U2NvcGUpOwotICAgIGF1dG8mIGltcGwgPSBjYXN0ZWRUaGlzLT53cmFw
cGVkKCk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTPElETEludGVyZmFjZTxTVkdQ
b2ludD4+KCpzdGF0ZSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBpbXBsLnBvaW50RnVu
Y3Rpb24oKSkpOwotfQotCi1FbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdFR5cGVk
ZWZzUHJvdG90eXBlRnVuY3Rpb25Qb2ludEZ1bmN0aW9uKEV4ZWNTdGF0ZSogc3RhdGUpCi17Ci0g
ICAgcmV0dXJuIElETE9wZXJhdGlvbjxKU1Rlc3RUeXBlZGVmcz46OmNhbGw8anNUZXN0VHlwZWRl
ZnNQcm90b3R5cGVGdW5jdGlvblBvaW50RnVuY3Rpb25Cb2R5Pigqc3RhdGUsICJwb2ludEZ1bmN0
aW9uIik7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RUeXBl
ZGVmc1Byb3RvdHlwZUZ1bmN0aW9uU3RyaW5nU2VxdWVuY2VGdW5jdGlvbkJvZHkoSlNDOjpFeGVj
U3RhdGUqIHN0YXRlLCB0eXBlbmFtZSBJRExPcGVyYXRpb248SlNUZXN0VHlwZWRlZnM+OjpDbGFz
c1BhcmFtZXRlciBjYXN0ZWRUaGlzLCBKU0M6OlRocm93U2NvcGUmIHRocm93U2NvcGUpCiB7CiAg
ICAgVU5VU0VEX1BBUkFNKHN0YXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9UZXN0T2JqLmlkbAppbmRleCA3ZWJjMGE4ZTZiYzQ3YTc2NGE0YzExYzQyMmI3
NzAwNjlhZmFhZDBmLi5kNmFiZWY0MmFkM2ZlNTZlNDEwMjhmZTY0NmE2MTMxMjVjNTUwOGQ1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRs
CkBAIC0zNTUsOSArMzU1LDYgQEAgZW51bSBUZXN0Q29uZmlkZW5jZSB7ICJoaWdoIiwgImtpbmRh
LWxvdyIgfTsKICAgICB2b2lkIGNvbnZlcnQzKERPTVN0cmluZyB2YWx1ZSk7CiAgICAgdm9pZCBj
b252ZXJ0NChET01TdHJpbmc/IHZhbHVlKTsKIAotICAgIGF0dHJpYnV0ZSBTVkdQb2ludCBtdXRh
YmxlUG9pbnQ7Ci0gICAgU1ZHUG9pbnQgbXV0YWJsZVBvaW50RnVuY3Rpb24oKTsKLQogICAgIFtJ
bXBsZW1lbnRlZEFzPWJhbmFuYV0gdm9pZCBvcmFuZ2UoKTsKICAgICBbSW1wbGVtZW50ZWRBcz1i
bHVlYmVycnldIGF0dHJpYnV0ZSBsb25nIHN0cmF3YmVycnk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0VHlwZWRlZnMuaWRsIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RUeXBlZGVmcy5pZGwKaW5kZXggNTQ3
YzRkNjk5ODllY2E4ZTU3YzliZjQwZGI1NjNlZmU2MDUxM2Y5OC4uOTIwMWRiNmQyYzg1MGU0YmEw
YzAzNGYyMzZhMjQ0MTU2ZDQzODEzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Rlc3RUeXBlZGVmcy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RUeXBlZGVmcy5pZGwKQEAgLTU5LDggKzU5LDYgQEAKICAg
ICBhdHRyaWJ1dGUgW0NsYW1wXSBVTE9OR0xPTkcgYXR0cmlidXRlV2l0aENsYW1wOwogICAgIGF0
dHJpYnV0ZSBDTEFNUEVEX0xPTkcgYXR0cmlidXRlV2l0aENsYW1wSW5UeXBlZGVmOwogCi0gICAg
U1ZHUE9JTlQgcG9pbnRGdW5jdGlvbigpOwotCiAgICAgW01heVRocm93RXhjZXB0aW9uXSBTRVFV
RU5DRV9PRl9TVFJJTkdTIHN0cmluZ1NlcXVlbmNlRnVuY3Rpb24oU0VRVUVOQ0VfT0ZfU1RSSU5H
UyB2YWx1ZXMpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gc2VxdWVuY2U8U1RSSU5HPiBzdHJp
bmdTZXF1ZW5jZUZ1bmN0aW9uMihzZXF1ZW5jZTxTVFJJTkc+IHZhbHVlcyk7CiAKQEAgLTgwLDcg
Kzc4LDYgQEAgdHlwZWRlZiBTZXJpYWxpemVkU2NyaXB0VmFsdWUgICAgICBTQ1JJUFRfVkFMVUU7
CiB0eXBlZGVmIHNlcXVlbmNlPGxvbmc+ICAgICAgICAgICAgIFNFUVVFTkNFX09GX0xPTkdTOwog
dHlwZWRlZiBsb25nPyAgICAgICAgICAgICAgICAgICAgICBOVUxMQUJMRV9MT05HOwogdHlwZWRl
ZiBbQ2xhbXBdIGxvbmcgICAgICAgICAgICAgICBDTEFNUEVEX0xPTkc7Ci10eXBlZGVmIFNWR1Bv
aW50ICAgICAgICAgICAgICAgICAgIFNWR1BPSU5UOwogdHlwZWRlZiBET01TdHJpbmcgICAgICAg
ICAgICAgICAgICBTVFJJTkc7CiB0eXBlZGVmIHNlcXVlbmNlPERPTVN0cmluZz4gICAgICAgIFNF
UVVFTkNFX09GX1NUUklOR1M7CiB0eXBlZGVmIHNlcXVlbmNlPERPTVN0cmluZz8+ICAgICAgIFNF
UVVFTkNFX09GX05VTExBQkxFX1NUUklOR1M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRE9NTGl2ZVByb3BlcnR5LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NTGl2ZVByb3BlcnR5
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOWU1OTQ4YjY4MzU5MWNmYmVmNTczZmVmYTg5MGVjYWVjMjYyYmM5YQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01MaXZlUHJvcGVydHkuaApA
QCAtMCwwICsxLDgwIEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworKiBhcmUgbWV0
OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjcHJhZ21hIG9uY2UKKwor
I2luY2x1ZGUgIkRPTUxpdmVQcm9wZXJ0eU9ic2VydmVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgRE9NTGl2ZVByb3BlcnR5IHsKK3B1YmxpYzoKKyAgICAvLyBNYW5hZ2luZyB0
aGUgcmVsYXRpb25zaGlwIHdpdGggdGhlIG9ic2VydmVyLgorICAgIGJvb2wgaXNBdHRhY2hlZCgp
IGNvbnN0IHsgcmV0dXJuIG1fb2JzZXJ2ZXI7IH0KKyAgICBET01MaXZlUHJvcGVydHlPYnNlcnZl
ciogb2JzZXJ2ZXIoKSBjb25zdCB7IHJldHVybiBtX29ic2VydmVyOyB9CisKKyAgICB2b2lkIGF0
dGFjaChET01MaXZlUHJvcGVydHlPYnNlcnZlciogb2JzZXJ2ZXIpCisgICAgeworICAgICAgICBB
U1NFUlQoIW1fb2JzZXJ2ZXIpOworICAgICAgICBtX29ic2VydmVyID0gb2JzZXJ2ZXI7CisgICAg
fQorCisgICAgdm9pZCBkZXRhY2goKQorICAgIHsKKyAgICAgICAgbV9vYnNlcnZlciA9IG51bGxw
dHI7CisgICAgfQorCisgICAgLy8gVHJhdmVyc2UgdGhlIG9ic2VydmVycyBjaGFpbiB0aWxsIGFu
IFNWR0VsZW1lbnQgb2JzZXJ2ZXIgaXMgcmVhY2hlZC4KKyAgICBjb25zdCBTVkdFbGVtZW50KiBz
dmdDb250ZXh0RWxlbWVudCgpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoIW1fb2JzZXJ2ZXIp
CisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuIG1fb2JzZXJ2ZXIt
PnByb3BlcnR5U1ZHQ29udGV4dEVsZW1lbnQoKTsKKyAgICB9CisKKyAgICAvLyBDaGVjayBpZiB0
aGUgb2JzZXJ2ZXIgZGlzYWxsb3dzIGNoYW5naW5nIHRoaXMgcHJvcGVydHkuCisgICAgYm9vbCBp
c1JlYWRPbmx5KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX29ic2VydmVyICYmIG1f
b2JzZXJ2ZXItPmlzUHJvcGVydHlSZWFkT25seSgqdGhpcyk7CisgICAgfQorCisgICAgLy8gQ29t
bWl0IHRoZSBsaXZlIHByb3BlcnR5IGNoYW5nZXMgdmlhIHRoZSBvYnNlcnZlcnMgY2hhaW4uCisg
ICAgdm9pZCBjb21taXRDaGFuZ2UoKQorICAgIHsKKyAgICAgICAgaWYgKCFtX29ic2VydmVyKQor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBtX29ic2VydmVyLT5jb21taXRQcm9wZXJ0eUNo
YW5nZSh0aGlzKTsKKyAgICB9CisKK3Byb3RlY3RlZDoKKyAgICBET01MaXZlUHJvcGVydHkoRE9N
TGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyID0gbnVsbHB0cikKKyAgICAgICAgOiBtX29i
c2VydmVyKG9ic2VydmVyKQorICAgIHsKKyAgICB9CisKKyAgICBET01MaXZlUHJvcGVydHlPYnNl
cnZlciogbV9vYnNlcnZlciB7IG51bGxwdHIgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01MaXZlUHJvcGVydHlPYnNlcnZl
ci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTUxpdmVQcm9wZXJ0eU9ic2VydmVyLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDBhOTA3YWMxNjYwMTk3ZmQyYzI1N2JkYjY5OGViYjMzYzk3NTIwYQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01MaXZlUHJvcGVydHlPYnNlcnZlci5oCkBA
IC0wLDAgKzEsNjUgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisqIGFyZSBtZXQ6
CisqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisKKyNwcmFnbWEgb25jZQorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERPTUxpdmVQcm9wZXJ0eTsKK2NsYXNzIFNWR0Vs
ZW1lbnQ7CisKK2NsYXNzIERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyIHsKK3B1YmxpYzoKKyAgICB2
aXJ0dWFsIH5ET01MaXZlUHJvcGVydHlPYnNlcnZlcigpID0gZGVmYXVsdDsKKworICAgIC8vIFRo
ZSBvYnNlcnZlciBpdHNlbGYgbWF5IGhhdmUgYW4gb2JzZXJ2ZXIuCisgICAgdmlydHVhbCBET01M
aXZlUHJvcGVydHlPYnNlcnZlciogb2JzZXJ2ZXIoKSBjb25zdCB7IHJldHVybiBudWxscHRyOyB9
CisKKyAgICAvLyBUcmF2ZXJzZSB0aGUgb2JzZXJ2ZXJzIGNoYWluIHRpbGwgYW4gRWxlbWVudCBv
YnNlcnZlciBpcyByZWFjaGVkLgorICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogcHJvcGVy
dHlTVkdDb250ZXh0RWxlbWVudCgpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoIW9ic2VydmVy
KCkpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcmV0dXJuIG9ic2VydmVy
KCktPnByb3BlcnR5U1ZHQ29udGV4dEVsZW1lbnQoKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJv
b2wgaXNQcm9wZXJ0eVJlYWRPbmx5KGNvbnN0IERPTUxpdmVQcm9wZXJ0eSYgcHJvcGVydHkpIGNv
bnN0CisgICAgeworICAgICAgICByZXR1cm4gb2JzZXJ2ZXIoKSAmJiBvYnNlcnZlcigpLT5pc1By
b3BlcnR5UmVhZE9ubHkocHJvcGVydHkpOworICAgIH0KKworICAgIC8vIENvbW1pdCB0aGUgbGl2
ZSBwcm9wZXJ0eSBjaGFuZ2VzIHZpYSB0aGUgb2JzZXJ2ZXJzIGNoYWluLgorICAgIHZpcnR1YWwg
dm9pZCBjb21taXRQcm9wZXJ0eUNoYW5nZShET01MaXZlUHJvcGVydHkqIHByb3BlcnR5KQorICAg
IHsKKyAgICAgICAgaWYgKCFvYnNlcnZlcigpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICBvYnNlcnZlcigpLT5jb21taXRQcm9wZXJ0eUNoYW5nZShwcm9wZXJ0eSk7CisgICAgfQorCitw
cm90ZWN0ZWQ6CisgICAgRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIoKSA9IGRlZmF1bHQ7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RE9NUG9pbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40Y2VlMWFhYTA3YmFmMTczMzRiNGIxYzM4ZTJkZTMxZTkwODBkZTQ3Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmNwcApAQCAtMCwwICsxLDQwIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAg
ICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZworICogICAgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MKKyAqIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsCisgKiBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UgorICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsCisgKiBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VECisg
KiBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkRPTVBvaW50LmgiCisKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9j
SW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FU
RURfSU1QTChET01Qb2ludCk7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9N
UG9pbnQuaAppbmRleCA3NzI3N2Q3ZjIxYjNmNGJjYzNjNDA0ZDUzZWUxZWM4Y2IwMzUzYmMzLi5j
ZjkzZjE0YzY1MWVkZmM5MjU3NDc3ODAxOTNhYzc2ODE1ZjIzZTQ5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRE9NUG9pbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUG9p
bnQuaApAQCAtMzAsMjcgKzMwLDcwIEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiRE9N
TGl2ZVByb3BlcnR5LmgiCiAjaW5jbHVkZSAiRE9NUG9pbnRSZWFkT25seS5oIgorI2luY2x1ZGUg
PHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3Mg
RE9NUG9pbnQgZmluYWwgOiBwdWJsaWMgRE9NUG9pbnRSZWFkT25seSB7CitjbGFzcyBET01Qb2lu
dCBmaW5hbCA6IHB1YmxpYyBET01Qb2ludFJlYWRPbmx5LCBwdWJsaWMgRE9NTGl2ZVByb3BlcnR5
IHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKERPTVBvaW50KTsKIHB1YmxpYzoKICAgICBz
dGF0aWMgUmVmPERPTVBvaW50PiBjcmVhdGUoZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgeiA9
IDAsIGRvdWJsZSB3ID0gMSkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBET01Qb2ludCh4LCB5LCB6
LCB3KSk7IH0KICAgICBzdGF0aWMgUmVmPERPTVBvaW50PiBjcmVhdGUoY29uc3QgRE9NUG9pbnRJ
bml0JiBpbml0KSB7IHJldHVybiBjcmVhdGUoaW5pdC54LCBpbml0LnksIGluaXQueiwgaW5pdC53
KTsgfQogICAgIHN0YXRpYyBSZWY8RE9NUG9pbnQ+IGZyb21Qb2ludChjb25zdCBET01Qb2ludElu
aXQmIGluaXQpIHsgcmV0dXJuIGNyZWF0ZShpbml0LngsIGluaXQueSwgaW5pdC56LCBpbml0Lncp
OyB9CisgICAgUmVmPERPTVBvaW50PiBjbG9uZSgpIGNvbnN0IHsgcmV0dXJuIGNyZWF0ZShtX3gs
IG1feSwgbV96LCBtX3cpOyB9CiAKICAgICB2b2lkIHNldFgoZG91YmxlIHgpIHsgbV94ID0geDsg
fQogICAgIHZvaWQgc2V0WShkb3VibGUgeSkgeyBtX3kgPSB5OyB9CiAgICAgdm9pZCBzZXRaKGRv
dWJsZSB6KSB7IG1feiA9IHo7IH0KICAgICB2b2lkIHNldFcoZG91YmxlIHcpIHsgbV93ID0gdzsg
fQogCisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0WEZvckJpbmRpbmdzKGRvdWJsZSB4KQorICAg
IHsKKyAgICAgICAgaWYgKGlzUmVhZE9ubHkoKSkKKyAgICAgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvciB9OworICAgIAorICAgICAgICBtX3ggPSB4
OworICAgICAgICBjb21taXRDaGFuZ2UoKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9Cisg
ICAgCisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0WUZvckJpbmRpbmdzKGRvdWJsZSB5KQorICAg
IHsKKyAgICAgICAgaWYgKGlzUmVhZE9ubHkoKSkKKyAgICAgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvciB9OworICAgIAorICAgICAgICBtX3kgPSB5
OworICAgICAgICBjb21taXRDaGFuZ2UoKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9Cisg
ICAgCisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0WkZvckJpbmRpbmdzKGRvdWJsZSB6KQorICAg
IHsKKyAgICAgICAgaWYgKGlzUmVhZE9ubHkoKSkKKyAgICAgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvciB9OworICAgIAorICAgICAgICBtX3ogPSB6
OworICAgICAgICBjb21taXRDaGFuZ2UoKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9Cisg
ICAgCisgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0V0ZvckJpbmRpbmdzKGRvdWJsZSB3KQorICAg
IHsKKyAgICAgICAgaWYgKGlzUmVhZE9ubHkoKSkKKyAgICAgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvciB9OworICAgIAorICAgICAgICBtX3cgPSB3
OworICAgICAgICBjb21taXRDaGFuZ2UoKTsKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICB9Cisg
ICAgCiBwcml2YXRlOgogICAgIERPTVBvaW50KGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHos
IGRvdWJsZSB3KQogICAgICAgICA6IERPTVBvaW50UmVhZE9ubHkoeCwgeSwgeiwgdykKICAgICB7
CiAgICAgfQogfTsKLXN0YXRpY19hc3NlcnQoc2l6ZW9mKERPTVBvaW50KSA9PSBzaXplb2YoRE9N
UG9pbnRSZWFkT25seSksICIiKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
T01Qb2ludC5pZGwKaW5kZXggNjliYmMyZDBmZjIwNzYxNDZmZmQ1NTI3MDRkNTc2MjI1MTlkZDYw
NS4uOGRjOTEwOWI4NWY4ZDViM2I0MzYyZDMyYjVhM2FmYTUzMjI2ZDMyZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RE9NUG9pbnQuaWRsCkBAIC0zNCwxNCArMzQsMTUgQEAKICAgICBDb25zdHJ1Y3RvcihvcHRpb25h
bCB1bnJlc3RyaWN0ZWQgZG91YmxlIHggPSAwLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91Ymxl
IHkgPSAwLAogICAgICAgICBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHogPSAwLCBvcHRp
b25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHcgPSAxKSwKICAgICBFeHBvc2VkPShXaW5kb3csV29y
a2VyKSwKKyAgICBMZWdhY3lXaW5kb3dBbGlhcz1TVkdQb2ludCwKICAgICBHZW5lcmF0ZUlzUmVh
Y2hhYmxlPUltcGwsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQorICAgIFNraXBWVGFi
bGVWYWxpZGF0aW9uCiBdCiBpbnRlcmZhY2UgRE9NUG9pbnQgOiBET01Qb2ludFJlYWRPbmx5IHsK
ICAgICBbTmV3T2JqZWN0XSBzdGF0aWMgRE9NUG9pbnQgZnJvbVBvaW50KG9wdGlvbmFsIERPTVBv
aW50SW5pdCBvdGhlcik7CiAKLSAgICBpbmhlcml0IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91
YmxlIHg7Ci0gICAgaW5oZXJpdCBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB5OwotICAg
IGluaGVyaXQgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgejsKLSAgICBpbmhlcml0IGF0
dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHc7CisgICAgW0ltcGxlbWVudGVkQXM9eEZvckJp
bmRpbmdzXSBpbmhlcml0IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHg7CisgICAgW0lt
cGxlbWVudGVkQXM9eUZvckJpbmRpbmdzXSBpbmhlcml0IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQg
ZG91YmxlIHk7CisgICAgW0ltcGxlbWVudGVkQXM9ekZvckJpbmRpbmdzXSBpbmhlcml0IGF0dHJp
YnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHo7CisgICAgW0ltcGxlbWVudGVkQXM9d0ZvckJpbmRp
bmdzXSBpbmhlcml0IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHc7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50UmVhZE9ubHkuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9ET01Qb2ludFJlYWRPbmx5LmgKaW5kZXggMGE2OGZkZjFiYzE5NGU0MzE3ZTFiNTVm
YWQ4OWQ0NmRhZWZlNzIxMS4uOWE0ZGI2NjA5MTQ1NTk4MmFmNmY4YTc1MTM1NGI2ZmMwMjZmNDAx
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50UmVhZE9ubHkuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUG9pbnRSZWFkT25seS5oCkBAIC00Myw2ICs0Myw3IEBA
IGNsYXNzIERPTVBvaW50OwogY2xhc3MgRE9NUG9pbnRSZWFkT25seSA6IHB1YmxpYyBTY3JpcHRX
cmFwcGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPERPTVBvaW50UmVhZE9ubHk+IHsKICAgICBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEKERPTVBvaW50UmVhZE9ubHkpOwogcHVibGljOgorICAgIHZpcnR1
YWwgfkRPTVBvaW50UmVhZE9ubHkoKSA9IGRlZmF1bHQ7CiAgICAgc3RhdGljIFJlZjxET01Qb2lu
dFJlYWRPbmx5PiBjcmVhdGUoZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgeiwgZG91YmxlIHcp
IHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgRE9NUG9pbnRSZWFkT25seSh4LCB5LCB6LCB3KSk7IH0K
ICAgICBzdGF0aWMgUmVmPERPTVBvaW50UmVhZE9ubHk+IGNyZWF0ZShjb25zdCBET01Qb2ludElu
aXQmIGluaXQpIHsgcmV0dXJuIGNyZWF0ZShpbml0LngsIGluaXQueSwgaW5pdC56LCBpbml0Lncp
OyB9CiAgICAgc3RhdGljIFJlZjxET01Qb2ludFJlYWRPbmx5PiBmcm9tUG9pbnQoY29uc3QgRE9N
UG9pbnRJbml0JiBpbml0KSB7IHJldHVybiBjcmVhdGUoaW5pdC54LCBpbml0LnksIGluaXQueiwg
aW5pdC53KTsgfQpAQCAtNTIsNiArNTMsMTEgQEAgcHVibGljOgogICAgIGRvdWJsZSB6KCkgY29u
c3QgeyByZXR1cm4gbV96OyB9CiAgICAgZG91YmxlIHcoKSBjb25zdCB7IHJldHVybiBtX3c7IH0K
IAorICAgIGRvdWJsZSB4Rm9yQmluZGluZ3MoKSBjb25zdCB7IHJldHVybiBtX3g7IH0KKyAgICBk
b3VibGUgeUZvckJpbmRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV95OyB9CisgICAgZG91YmxlIHpG
b3JCaW5kaW5ncygpIGNvbnN0IHsgcmV0dXJuIG1fejsgfQorICAgIGRvdWJsZSB3Rm9yQmluZGlu
Z3MoKSBjb25zdCB7IHJldHVybiBtX3c7IH0KKwogICAgIEV4Y2VwdGlvbk9yPFJlZjxET01Qb2lu
dD4+IG1hdHJpeFRyYW5zZm9ybShET01NYXRyaXhJbml0JiYpIGNvbnN0OwogCiBwcm90ZWN0ZWQ6
CkBAIC03MSw0ICs3NywzIEBAIHByb3RlY3RlZDoKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50UmVhZE9ubHkuaWRs
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50UmVhZE9ubHkuaWRsCmluZGV4IDNmZmQ2NmZk
NzEyMWE5ZGM3Y2M1Zjg1NzNhNzZhNzg5NzQ0Zjk2OGUuLjQxYzNjNGU1Mzg2YjYzY2E3ZTY3NGFi
NDNiNTMwN2ZhZTVhMDgyNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2lu
dFJlYWRPbmx5LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUG9pbnRSZWFkT25seS5p
ZGwKQEAgLTM0LDE1ICszNCwxNSBAQAogICAgIENvbnN0cnVjdG9yKG9wdGlvbmFsIHVucmVzdHJp
Y3RlZCBkb3VibGUgeCA9IDAsIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBkb3VibGUgeSA9IDAsCiAg
ICAgICAgIG9wdGlvbmFsIHVucmVzdHJpY3RlZCBkb3VibGUgeiA9IDAsIG9wdGlvbmFsIHVucmVz
dHJpY3RlZCBkb3VibGUgdyA9IDEpLAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAotICAg
IEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKKyAgICBTa2lwVlRhYmxlVmFsaWRhdGlvbgogXQog
aW50ZXJmYWNlIERPTVBvaW50UmVhZE9ubHkgewogICAgIFtOZXdPYmplY3RdIHN0YXRpYyBET01Q
b2ludFJlYWRPbmx5IGZyb21Qb2ludChvcHRpb25hbCBET01Qb2ludEluaXQgb3RoZXIpOwogCi0g
ICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgeDsKLSAgICByZWFkb25s
eSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB5OwotICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHo7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJp
Y3RlZCBkb3VibGUgdzsKKyAgICBbSW1wbGVtZW50ZWRBcz14Rm9yQmluZGluZ3NdIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHg7CisgICAgW0ltcGxlbWVudGVkQXM9eUZv
ckJpbmRpbmdzXSByZWFkb25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB5OworICAg
IFtJbXBsZW1lbnRlZEFzPXpGb3JCaW5kaW5nc10gcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJp
Y3RlZCBkb3VibGUgejsKKyAgICBbSW1wbGVtZW50ZWRBcz13Rm9yQmluZGluZ3NdIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHc7CiAKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIERPTVBvaW50IG1hdHJpeFRyYW5zZm9ybShvcHRpb25hbCBET01NYXRyaXhJbml0IG1hdHJp
eCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbk9y
TW90aW9uRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uT3JN
b3Rpb25FdmVudC5jcHAKaW5kZXggMTVjMDU2ZDc2NDMwMTc1OWY2YmNlMGU1YmY5NjcyNWYwYTkx
ZWZhMC4uOTFmYzJiNDk5OTg5MDY3MTFiNjljMzQ4MjdiNDhmYTY2YjEwYmQ0MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5j
cHAKQEAgLTI2LDYgKzI2LDExIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGV2
aWNlT3JpZW50YXRpb25Pck1vdGlvbkV2ZW50LmgiCiAKKyNpZiBFTkFCTEUoREVWSUNFX09SSUVO
VEFUSU9OKQorI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJv
bGxlci5oIgorI2VuZGlmCisKKyNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJEb2N1
bWVudC5oIgogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUGF0aERhdGEuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0YS5jcHAKaW5kZXggMmJhYjE4MDJhNjU1NGQ5
MWI1NWEwOTc4NjU4ODE2ZTAyMTcxYzEzZi4uZGVlZDM3MDMyOWEwMmY0MmExNWI1OWFhODVmZWMy
Mjk0NWFjYjc2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdQ
YXRoRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdQYXRoRGF0
YS5jcHAKQEAgLTIwLDYgKzIwLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJT
VkdQYXRoRGF0YS5oIgogCisjaW5jbHVkZSAiRE9NUG9pbnQuaCIKICNpbmNsdWRlICJQYXRoLmgi
CiAjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCkBA
IC0zMCw3ICszMSw2IEBACiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJTVkdQYXRo
RWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1BhdGhVdGlsaXRpZXMuaCIKLSNpbmNsdWRlICJTVkdQ
b2ludC5oIgogI2luY2x1ZGUgIlNWR1BvaW50TGlzdC5oIgogI2luY2x1ZGUgIlNWR1BvbHlnb25F
bGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHUG9seWxpbmVFbGVtZW50LmgiCkBAIC0xMDUsMTEgKzEw
NSwxMSBAQCBzdGF0aWMgUGF0aCBwYXRoRnJvbVBvbHlnb25FbGVtZW50KGNvbnN0IFNWR0VsZW1l
bnQmIGVsZW1lbnQpCiAgICAgICAgIHJldHVybiB7IH07CiAKICAgICBQYXRoIHBhdGg7Ci0gICAg
cGF0aC5tb3ZlVG8ocG9pbnRzLmZpcnN0KCktPnZhbHVlKCkpOworICAgIHBhdGgubW92ZVRvKEZs
b2F0UG9pbnQocG9pbnRzLmZpcnN0KCktPngoKSwgcG9pbnRzLmZpcnN0KCktPnkoKSkpOwogCiAg
ICAgdW5zaWduZWQgc2l6ZSA9IHBvaW50cy5zaXplKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0g
MTsgaSA8IHNpemU7ICsraSkKLSAgICAgICAgcGF0aC5hZGRMaW5lVG8ocG9pbnRzLmF0KGkpLT52
YWx1ZSgpKTsKKyAgICAgICAgcGF0aC5hZGRMaW5lVG8oRmxvYXRQb2ludChwb2ludHMuYXQoaSkt
PngoKSwgcG9pbnRzLmF0KGkpLT55KCkpKTsKIAogICAgIHBhdGguY2xvc2VTdWJwYXRoKCk7CiAg
ICAgcmV0dXJuIHBhdGg7CkBAIC0xMjIsMTEgKzEyMiwxMSBAQCBzdGF0aWMgUGF0aCBwYXRoRnJv
bVBvbHlsaW5lRWxlbWVudChjb25zdCBTVkdFbGVtZW50JiBlbGVtZW50KQogICAgICAgICByZXR1
cm4geyB9OwogCiAgICAgUGF0aCBwYXRoOwotICAgIHBhdGgubW92ZVRvKHBvaW50cy5maXJzdCgp
LT52YWx1ZSgpKTsKKyAgICBwYXRoLm1vdmVUbyhGbG9hdFBvaW50KHBvaW50cy5maXJzdCgpLT54
KCksIHBvaW50cy5maXJzdCgpLT55KCkpKTsKIAogICAgIHVuc2lnbmVkIHNpemUgPSBwb2ludHMu
c2l6ZSgpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkgPCBzaXplOyArK2kpCi0gICAgICAg
IHBhdGguYWRkTGluZVRvKHBvaW50cy5hdChpKS0+dmFsdWUoKSk7CisgICAgICAgIHBhdGguYWRk
TGluZVRvKEZsb2F0UG9pbnQocG9pbnRzLmF0KGkpLT54KCksIHBvaW50cy5hdChpKS0+eSgpKSk7
CiAgICAgcmV0dXJuIHBhdGg7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmdsZS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuZ2xlLmgKaW5kZXggOWM2MTczMmFl
OTMxYzk4NTRlNzU2OWUxY2IyMmE2ZWQ4ZGFmNWIwMy4uMDRiMjE2ZmE3NmVlMGFjMjg3NmE2M2Uw
ZDZiMzk1NGEzODY1YWVmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuZ2xl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuZ2xlLmgKQEAgLTQxLDkgKzQxLDkgQEAg
cHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdBbmdsZSh2YWx1ZSkpOwog
ICAgIH0KIAotICAgIHN0YXRpYyBSZWY8U1ZHQW5nbGU+IGNyZWF0ZShTVkdQcm9wZXJ0eU93bmVy
KiBvd25lciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzLCBjb25zdCBTVkdBbmdsZVZhbHVlJiB2
YWx1ZSA9IHsgfSkKKyAgICBzdGF0aWMgUmVmPFNWR0FuZ2xlPiBjcmVhdGUoRE9NTGl2ZVByb3Bl
cnR5T2JzZXJ2ZXIqIG9ic2VydmVyLCBjb25zdCBTVkdBbmdsZVZhbHVlJiB2YWx1ZSA9IHsgfSkK
ICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR0FuZ2xlKG93bmVyLCBhY2Nl
c3MsIHZhbHVlKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR0FuZ2xlKG9ic2Vy
dmVyLCB2YWx1ZSkpOwogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRWxlbWVudC5jcHAKaW5kZXggMTZjM2FmYzIxNTNiNjhkYTlkODUzNjU2OTYyNjA1Yzhl
MTBhNWFmNC4uMjA0YzIyYmIzNmRkYTA4NjI4MTM5MTcyMzBmZDRlOTQwMTFmNDk0ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdFbGVtZW50LmNwcApAQCAtNTQxLDIwICs1NDEsMjMgQEAgdm9pZCBTVkdFbGVt
ZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0
b21TdHJpbmcmIG8KICAgICAgICAgc3ZnQXR0cmlidXRlQ2hhbmdlZChuYW1lKTsKIH0KIAotdm9p
ZCBTVkdFbGVtZW50OjpzeW5jaHJvbml6ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBu
YW1lKQordm9pZCBTVkdFbGVtZW50OjpzeW5jaHJvbml6ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiBhdHRyaWJ1dGVOYW1lKQogewotICAgIC8vIElmIHRoZSB2YWx1ZSBvZiB0aGUgcHJv
cGVydHkgaGFzIGNoYW5nZWQsIHNlcmlhbGl6ZSB0aGUgbmV3IHZhbHVlIHRvIHRoZSBhdHRyaWJ1
dGUuCi0gICAgaWYgKGF1dG8gdmFsdWUgPSBwcm9wZXJ0eVJlZ2lzdHJ5KCkuc3luY2hyb25pemUo
bmFtZSkpCi0gICAgICAgIHNldFN5bmNocm9uaXplZExhenlBdHRyaWJ1dGUobmFtZSwgKnZhbHVl
KTsKKyAgICBhdXRvIGl0ID0gbV9kaXJ0eUF0dHJpYnV0ZXMuZmluZChhdHRyaWJ1dGVOYW1lKTsK
KyAgICBpZiAoaXQgPT0gbV9kaXJ0eUF0dHJpYnV0ZXMuZW5kKCkpCisgICAgICAgIHJldHVybjsK
KyAgICAKKyAgICAvLyBJZiB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5IGhhcyBjaGFuZ2VkLCBy
ZXNlcmlhbGl6ZSB0aGUgbmV3IHZhbHVlIHRvIHRoZSBhdHRyaWJ1dGUuCisgICAgc2V0U3luY2hy
b25pemVkTGF6eUF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lLCBwcm9wZXJ0eVJlZ2lzdHJ5KCkudmFs
dWVBc1N0cmluZyhhdHRyaWJ1dGVOYW1lKSk7CisgICAgbV9kaXJ0eUF0dHJpYnV0ZXMucmVtb3Zl
KGl0KTsKIH0KICAgICAKIHZvaWQgU1ZHRWxlbWVudDo6c3luY2hyb25pemVBbGxBdHRyaWJ1dGVz
KCkKIHsKLSAgICAvLyBTVkdQcm9wZXJ0eVJlZ2lzdHJ5OjpzeW5jaHJvbml6ZUFsbEF0dHJpYnV0
ZXMoKSByZXR1cm5zIHRoZSBuZXcgdmFsdWVzIG9mCi0gICAgLy8gdGhlIHByb3BlcnRpZXMgd2hp
Y2ggaGF2ZSBjaGFuZ2VkIGJ1dCBub3QgY29tbWl0dGVkIHlldC4KLSAgICBhdXRvIG1hcCA9IHBy
b3BlcnR5UmVnaXN0cnkoKS5zeW5jaHJvbml6ZUFsbEF0dHJpYnV0ZXMoKTsKLSAgICBmb3IgKGNv
bnN0IGF1dG8mIGVudHJ5IDogbWFwKQotICAgICAgICBzZXRTeW5jaHJvbml6ZWRMYXp5QXR0cmli
dXRlKGVudHJ5LmtleSwgZW50cnkudmFsdWUpOworICAgIC8vIFJlc2VyaWFsaXplIHRoZSB2YWx1
ZXMgb2YgdGhlIGNoYW5nZWQgcHJvcGVydGllcyB0byB0aGVpciBhdHRyaWJ1dGVzLgorICAgIGZv
ciAoYXV0byYgYXR0cmlidXRlTmFtZSA6IG1fZGlydHlBdHRyaWJ1dGVzKQorICAgICAgICBzZXRT
eW5jaHJvbml6ZWRMYXp5QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUsIHByb3BlcnR5UmVnaXN0cnko
KS52YWx1ZUFzU3RyaW5nKGF0dHJpYnV0ZU5hbWUpKTsKKyAgICBtX2RpcnR5QXR0cmlidXRlcy5j
bGVhcigpOwogfQogCiB2b2lkIFNWR0VsZW1lbnQ6OnN5bmNocm9uaXplQWxsQW5pbWF0ZWRTVkdB
dHRyaWJ1dGUoU1ZHRWxlbWVudCYgc3ZnRWxlbWVudCkKQEAgLTU2MiwxNSArNTY1LDE4IEBAIHZv
aWQgU1ZHRWxlbWVudDo6c3luY2hyb25pemVBbGxBbmltYXRlZFNWR0F0dHJpYnV0ZShTVkdFbGVt
ZW50JiBzdmdFbGVtZW50KQogICAgIHN2Z0VsZW1lbnQuc3luY2hyb25pemVBbGxBdHRyaWJ1dGVz
KCk7CiB9CiAKLXZvaWQgU1ZHRWxlbWVudDo6Y29tbWl0UHJvcGVydHlDaGFuZ2UoU1ZHUHJvcGVy
dHkqIHByb3BlcnR5KQordm9pZCBTVkdFbGVtZW50Ojpjb21taXRQcm9wZXJ0eUNoYW5nZShET01M
aXZlUHJvcGVydHkqIHByb3BlcnR5KQogeworICAgIFF1YWxpZmllZE5hbWUgYXR0cmlidXRlTmFt
ZSA9IHByb3BlcnR5UmVnaXN0cnkoKS5wcm9wZXJ0eUF0dHJpYnV0ZU5hbWUoKnByb3BlcnR5KTsK
KyAgICBBU1NFUlQoYXR0cmlidXRlTmFtZSAhPSBudWxsUU5hbWUoKSk7CisKICAgICAvLyBXZSB3
YW50IHRvIGRpcnR5IHRoZSB0b3AtbGV2ZWwgcHJvcGVydHkgd2hlbiBhIGRlc2NlbmRhbnQgY2hh
bmdlcy4gRm9yIGV4YW1wbGUKICAgICAvLyBhIGNoYW5nZSBpbiBhbiBTVkdMZW5ndGggaXRlbSBp
biBTVkdMZW5ndGhMaXN0IHNob3VsZCBzZXQgdGhlIGRpcnR5IGZsYWcgb24KICAgICAvLyBTVkdM
ZW5ndGhMaXN0IGFuZCBub3QgdGhlIFNWR0xlbmd0aC4KLSAgICBwcm9wZXJ0eS0+c2V0RGlydHko
KTsKKyAgICBtX2RpcnR5QXR0cmlidXRlcy5hZGQoYXR0cmlidXRlTmFtZSk7CiAKICAgICBpbnZh
bGlkYXRlU1ZHQXR0cmlidXRlcygpOwotICAgIHN2Z0F0dHJpYnV0ZUNoYW5nZWQocHJvcGVydHlS
ZWdpc3RyeSgpLnByb3BlcnR5QXR0cmlidXRlTmFtZSgqcHJvcGVydHkpKTsKKyAgICBzdmdBdHRy
aWJ1dGVDaGFuZ2VkKGF0dHJpYnV0ZU5hbWUpOwogfQogCiB2b2lkIFNWR0VsZW1lbnQ6OmNvbW1p
dFByb3BlcnR5Q2hhbmdlKFNWR0FuaW1hdGVkUHJvcGVydHkmIGFuaW1hdGVkUHJvcGVydHkpCkBA
IC01ODEsNyArNTg3LDcgQEAgdm9pZCBTVkdFbGVtZW50Ojpjb21taXRQcm9wZXJ0eUNoYW5nZShT
VkdBbmltYXRlZFByb3BlcnR5JiBhbmltYXRlZFByb3BlcnR5KQogICAgIC8vIEEgY2hhbmdlIGlu
IGEgc3R5bGUgcHJvcGVydHksIGUuZyBTVkdSZWN0RWxlbWVudDo6eCBzaG91bGQgYmUgc2VyaWFs
aXplZCB0bwogICAgIC8vIHRoZSBhdHRyaWJ1dGUgaW1tZWRpYXRlbHkuIE90aGVyd2lzZSBpdCBp
cyBva2F5IHRvIGJlIGxhenkgaW4gdGhpcyByZWdhcmQuCiAgICAgaWYgKCFwcm9wZXJ0eVJlZ2lz
dHJ5KCkuaXNBbmltYXRlZFN0eWxlUHJvcGVydHlBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSkpCi0g
ICAgICAgIGFuaW1hdGVkUHJvcGVydHkuc2V0RGlydHkoKTsKKyAgICAgICAgbV9kaXJ0eUF0dHJp
YnV0ZXMuYWRkKGF0dHJpYnV0ZU5hbWUpOwogICAgIGVsc2UKICAgICAgICAgc2V0U3luY2hyb25p
emVkTGF6eUF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lLCBhbmltYXRlZFByb3BlcnR5LmJhc2VWYWxB
c1N0cmluZygpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKaW5kZXggOGNjNmFhY2E2NTc2ODBl
ZThkM2YzZjQ2Yzg3ODJhZDIyNTVjNzc0Mi4uZDkwODc2YWZmYjc0ZTYxNTMzMjNlNTM0Yzg4OTdm
ZDhkZTU2ZTBkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCkBAIC00Nyw3ICs0Nyw3IEBAIGNs
YXNzIFNWR1VzZUVsZW1lbnQ7CiAKIHZvaWQgbWFwQXR0cmlidXRlVG9DU1NQcm9wZXJ0eShIYXNo
TWFwPEF0b21TdHJpbmdJbXBsKiwgQ1NTUHJvcGVydHlJRD4qIHByb3BlcnR5TmFtZVRvSWRNYXAs
IGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lKTsKIAotY2xhc3MgU1ZHRWxlbWVudCA6IHB1
YmxpYyBTdHlsZWRFbGVtZW50LCBwdWJsaWMgU1ZHTGFuZ1NwYWNlLCBwdWJsaWMgU1ZHUHJvcGVy
dHlPd25lciB7CitjbGFzcyBTVkdFbGVtZW50IDogcHVibGljIFN0eWxlZEVsZW1lbnQsIHB1Ymxp
YyBTVkdMYW5nU3BhY2UsIHB1YmxpYyBET01MaXZlUHJvcGVydHlPYnNlcnZlciB7CiAgICAgV1RG
X01BS0VfSVNPX0FMTE9DQVRFRChTVkdFbGVtZW50KTsKIHB1YmxpYzoKICAgICBib29sIGlzT3V0
ZXJtb3N0U1ZHU1ZHRWxlbWVudCgpIGNvbnN0OwpAQCAtMTM2LDEwICsxMzYsMTAgQEAgcHVibGlj
OgogICAgIHZvaWQgc3luY2hyb25pemVBbGxBdHRyaWJ1dGVzKCk7CiAgICAgc3RhdGljIHZvaWQg
c3luY2hyb25pemVBbGxBbmltYXRlZFNWR0F0dHJpYnV0ZShTVkdFbGVtZW50Jik7CiAKLSAgICB2
b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKFNWR1Byb3BlcnR5Kikgb3ZlcnJpZGU7CisgICAgdm9p
ZCBjb21taXRQcm9wZXJ0eUNoYW5nZShET01MaXZlUHJvcGVydHkqKSBvdmVycmlkZTsKICAgICB2
b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKFNWR0FuaW1hdGVkUHJvcGVydHkmKTsKIAotICAgIGNv
bnN0IFNWR0VsZW1lbnQqIGF0dHJpYnV0ZUNvbnRleHRFbGVtZW50KCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gdGhpczsgfQorICAgIGNvbnN0IFNWR0VsZW1lbnQqIHByb3BlcnR5U1ZHQ29udGV4
dEVsZW1lbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0aGlzOyB9CiAgICAgU1ZHUHJvcGVy
dHlBbmltYXRvckZhY3RvcnkmIHByb3BlcnR5QW5pbWF0b3JGYWN0b3J5KCkgeyByZXR1cm4gKm1f
cHJvcGVydHlBbmltYXRvckZhY3Rvcnk7IH0KICAgICBSZWZQdHI8U1ZHQXR0cmlidXRlQW5pbWF0
b3I+IGNyZWF0ZUFuaW1hdG9yKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBBbmltYXRpb25Nb2RlLCBD
YWxjTW9kZSwgYm9vbCBpc0FjY3VtdWxhdGVkLCBib29sIGlzQWRkaXRpdmUpOwogICAgIHZvaWQg
YW5pbWF0b3JXaWxsQmVEZWxldGVkKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKQEAgLTE5Niw2ICsx
OTYsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxTVkdQcm9wZXJ0eUFuaW1hdG9y
RmFjdG9yeT4gbV9wcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTsKIAogICAgIFByb3BlcnR5UmVnaXN0
cnkgbV9wcm9wZXJ0eVJlZ2lzdHJ5IHsgKnRoaXMgfTsKKyAgICBIYXNoU2V0PFF1YWxpZmllZE5h
bWU+IG1fZGlydHlBdHRyaWJ1dGVzOwogICAgIFJlZjxTVkdBbmltYXRlZFN0cmluZz4gbV9jbGFz
c05hbWUgeyBTVkdBbmltYXRlZFN0cmluZzo6Y3JlYXRlKHRoaXMpIH07CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCmluZGV4IDFmNDdkMzY4ZTkwMzFmNDRhMGJlMGZk
MjQzNTBjNzJkMTQxZjY1NDkuLmE0NDBjNmMyYjMyOWE2M2UxMDk4ZjYzZGQ4MWY5OTczMDlkYzIy
YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCkBAIC0zNCw5ICszNCwx
MCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNWR0ZpdFRvVmlld0JveDo6U1ZHRml0VG9W
aWV3Qm94KFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50LCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nl
c3MpCi0gICAgOiBtX3ZpZXdCb3goU1ZHQW5pbWF0ZWRSZWN0OjpjcmVhdGUoY29udGV4dEVsZW1l
bnQsIGFjY2VzcykpCi0gICAgLCBtX3ByZXNlcnZlQXNwZWN0UmF0aW8oU1ZHQW5pbWF0ZWRQcmVz
ZXJ2ZUFzcGVjdFJhdGlvOjpjcmVhdGUoY29udGV4dEVsZW1lbnQsIGFjY2VzcykpCitTVkdGaXRU
b1ZpZXdCb3g6OlNWR0ZpdFRvVmlld0JveChTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCkKKyAg
ICA6IG1fdmlld0JveChTVkdBbmltYXRlZFJlY3Q6OmNyZWF0ZShzdGF0aWNfY2FzdDx2b2lkKj4o
Y29udGV4dEVsZW1lbnQpID09IHRoaXMgPyBjb250ZXh0RWxlbWVudCA6IG51bGxwdHIpKQorICAg
ICwgbV9wcmVzZXJ2ZUFzcGVjdFJhdGlvKFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbzo6
Y3JlYXRlKHN0YXRpY19jYXN0PHZvaWQqPihjb250ZXh0RWxlbWVudCkgPT0gdGhpcyA/IGNvbnRl
eHRFbGVtZW50IDogbnVsbHB0cikpCisgICAgLCBtX2NvbnRleHRFbGVtZW50KGNvbnRleHRFbGVt
ZW50KQogewogICAgIHN0YXRpYyBzdGQ6Om9uY2VfZmxhZyBvbmNlRmxhZzsKICAgICBzdGQ6OmNh
bGxfb25jZShvbmNlRmxhZywgW10gewpAQCAtMTA0LDI5ICsxMDUsMjkgQEAgYm9vbCBTVkdGaXRU
b1ZpZXdCb3g6OnBhcnNlVmlld0JveChjb25zdCBVQ2hhciomIGMsIGNvbnN0IFVDaGFyKiBlbmQs
IEZsb2F0UmVjdCYKICAgICBib29sIHZhbGlkID0gcGFyc2VOdW1iZXIoYywgZW5kLCB4KSAmJiBw
YXJzZU51bWJlcihjLCBlbmQsIHkpICYmIHBhcnNlTnVtYmVyKGMsIGVuZCwgd2lkdGgpICYmIHBh
cnNlTnVtYmVyKGMsIGVuZCwgaGVpZ2h0LCBmYWxzZSk7CiAKICAgICBpZiAodmFsaWRhdGUpIHsK
LSAgICAgICAgRG9jdW1lbnQmIGRvY3VtZW50ID0gbV92aWV3Qm94LT5jb250ZXh0RWxlbWVudCgp
LT5kb2N1bWVudCgpOworICAgICAgICBhdXRvJiBkb2N1bWVudEV4dGVuc2lvbnMgPSBtX2NvbnRl
eHRFbGVtZW50LT5kb2N1bWVudCgpLmFjY2Vzc1NWR0V4dGVuc2lvbnMoKTsKIAogICAgICAgICBp
ZiAoIXZhbGlkKSB7Ci0gICAgICAgICAgICBkb2N1bWVudC5hY2Nlc3NTVkdFeHRlbnNpb25zKCku
cmVwb3J0V2FybmluZygiUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9XCIiICsgc3RyICsgIlwiIik7
CisgICAgICAgICAgICBkb2N1bWVudEV4dGVuc2lvbnMucmVwb3J0V2FybmluZygiUHJvYmxlbSBw
YXJzaW5nIHZpZXdCb3g9XCIiICsgc3RyICsgIlwiIik7CiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgIH0KIAogICAgICAgICAvLyBDaGVjayB0aGF0IHdpZHRoIGlzIHBvc2l0aXZl
LgogICAgICAgICBpZiAod2lkdGggPCAwLjApIHsKLSAgICAgICAgICAgIGRvY3VtZW50LmFjY2Vz
c1NWR0V4dGVuc2lvbnMoKS5yZXBvcnRFcnJvcigiQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgVmlld0Jv
eCB3aWR0aCBpcyBub3QgYWxsb3dlZCIpOworICAgICAgICAgICAgZG9jdW1lbnRFeHRlbnNpb25z
LnJlcG9ydEVycm9yKCJBIG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IHdpZHRoIGlzIG5vdCBh
bGxvd2VkIik7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KIAogICAgICAg
ICAvLyBDaGVjayB0aGF0IGhlaWdodCBpcyBwb3NpdGl2ZS4KICAgICAgICAgaWYgKGhlaWdodCA8
IDAuMCkgewotICAgICAgICAgICAgZG9jdW1lbnQuYWNjZXNzU1ZHRXh0ZW5zaW9ucygpLnJlcG9y
dEVycm9yKCJBIG5lZ2F0aXZlIHZhbHVlIGZvciBWaWV3Qm94IGhlaWdodCBpcyBub3QgYWxsb3dl
ZCIpOworICAgICAgICAgICAgZG9jdW1lbnRFeHRlbnNpb25zLnJlcG9ydEVycm9yKCJBIG5lZ2F0
aXZlIHZhbHVlIGZvciBWaWV3Qm94IGhlaWdodCBpcyBub3QgYWxsb3dlZCIpOwogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAKICAgICAgICAgLy8gTm90aGluZyBzaG91bGQg
Y29tZSBhZnRlciB0aGUgbGFzdCwgZm91cnRoIG51bWJlci4KICAgICAgICAgc2tpcE9wdGlvbmFs
U1ZHU3BhY2VzKGMsIGVuZCk7CiAgICAgICAgIGlmIChjIDwgZW5kKSB7Ci0gICAgICAgICAgICBk
b2N1bWVudC5hY2Nlc3NTVkdFeHRlbnNpb25zKCkucmVwb3J0V2FybmluZygiUHJvYmxlbSBwYXJz
aW5nIHZpZXdCb3g9XCIiICsgc3RyICsgIlwiIik7CisgICAgICAgICAgICBkb2N1bWVudEV4dGVu
c2lvbnMucmVwb3J0V2FybmluZygiUHJvYmxlbSBwYXJzaW5nIHZpZXdCb3g9XCIiICsgc3RyICsg
IlwiIik7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmgKaW5kZXggOTA3ZDY1NWNkMWIxYjliMzcyYTIwZjgx
ODkyMzYwNDJlMjBmMGZkMC4uNTk2ZGZkYzFkMDU2N2EwNDdmNWI4OWNhZGE1ODQwN2JjNDlmYjQx
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guaApAQCAtNTksNyArNTksNyBAQCBw
dWJsaWM6CiAgICAgYm9vbCBoYXNFbXB0eVZpZXdCb3goKSBjb25zdCB7IHJldHVybiBtX2lzVmll
d0JveFZhbGlkICYmIHZpZXdCb3goKS5pc0VtcHR5KCk7IH0KIAogcHJvdGVjdGVkOgotICAgIFNW
R0ZpdFRvVmlld0JveChTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCwgU1ZHUHJvcGVydHlBY2Nl
c3MgPSBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZFdyaXRlKTsKKyAgICBTVkdGaXRUb1ZpZXdCb3go
U1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQpOwogCiAgICAgc3RhdGljIGJvb2wgaXNLbm93bkF0
dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSB7IHJldHVybiBQcm9w
ZXJ0eVJlZ2lzdHJ5Ojppc0tub3duQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpOyB9CiAKQEAgLTcx
LDYgKzcxLDcgQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICBSZWY8U1ZHQW5pbWF0ZWRSZWN0
PiBtX3ZpZXdCb3g7CiAgICAgUmVmPFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbz4gbV9w
cmVzZXJ2ZUFzcGVjdFJhdGlvOworICAgIFNWR0VsZW1lbnQqIG1fY29udGV4dEVsZW1lbnQgeyBu
dWxscHRyIH07CiAgICAgYm9vbCBtX2lzVmlld0JveFZhbGlkIHsgZmFsc2UgfTsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5jcHAKaW5kZXggYjNkMzAxYzBmMGY3
OTA5YTVjOWI4MTI4OGIxNzA1MDg3YTU5MDZmOC4uYzMyY2ZhNGZmMzhhMDZkNDk3MTY0ZjViM2Uy
NWRiZjE1MmQyNzc3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dlb21ldHJ5
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5j
cHAKQEAgLTI4LDcgKzI4LDYgQEAKICNpbmNsdWRlICJSZW5kZXJTVkdTaGFwZS5oIgogI2luY2x1
ZGUgIlNWR0RvY3VtZW50RXh0ZW5zaW9ucy5oIgogI2luY2x1ZGUgIlNWR1BhdGhVdGlsaXRpZXMu
aCIKLSNpbmNsdWRlICJTVkdQb2ludC5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVz
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU1LDcgKzU0LDcgQEAgZmxvYXQgU1ZHR2Vv
bWV0cnlFbGVtZW50OjpnZXRUb3RhbExlbmd0aCgpIGNvbnN0CiAgICAgcmV0dXJuIHJlbmRlcmVy
LT5nZXRUb3RhbExlbmd0aCgpOwogfQogCi1SZWY8U1ZHUG9pbnQ+IFNWR0dlb21ldHJ5RWxlbWVu
dDo6Z2V0UG9pbnRBdExlbmd0aChmbG9hdCBkaXN0YW5jZSkgY29uc3QKK1JlZjxET01Qb2ludD4g
U1ZHR2VvbWV0cnlFbGVtZW50OjpnZXRQb2ludEF0TGVuZ3RoKGZsb2F0IGRpc3RhbmNlKSBjb25z
dAogewogICAgIEZsb2F0UG9pbnQgcG9pbnQgeyB9OwogCkBAIC02NSw3ICs2NCw3IEBAIFJlZjxT
VkdQb2ludD4gU1ZHR2VvbWV0cnlFbGVtZW50OjpnZXRQb2ludEF0TGVuZ3RoKGZsb2F0IGRpc3Rh
bmNlKSBjb25zdAogICAgIGlmIChyZW5kZXJlcikKICAgICAgICAgcmVuZGVyZXItPmdldFBvaW50
QXRMZW5ndGgocG9pbnQsIGRpc3RhbmNlKTsKIAotICAgIHJldHVybiBTVkdQb2ludDo6Y3JlYXRl
KHBvaW50KTsKKyAgICByZXR1cm4gRE9NUG9pbnQ6OmNyZWF0ZShwb2ludC54KCksIHBvaW50Lnko
KSk7CiB9CiAKIGJvb2wgU1ZHR2VvbWV0cnlFbGVtZW50Ojppc1BvaW50SW5GaWxsKERPTVBvaW50
SW5pdCYmIHBvaW50SW5pdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9t
ZXRyeUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaApp
bmRleCA1NTVjYjE5OTQzYzE4NTA0N2NiMzVlNDBlMzk3ZjYxYjBjZDA2YjYwLi5jZTFiYTE0YzA0
ZjU3YTc3NzhmZTA5YTU5YTNiNjMwYjY4ODIxMWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dl
b21ldHJ5RWxlbWVudC5oCkBAIC0yOSwxMyArMjksMTMgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogc3RydWN0IERPTVBvaW50SW5pdDsKLWNsYXNzIFNWR1BvaW50OworY2xhc3MgRE9NUG9pbnQ7
CiAKIGNsYXNzIFNWR0dlb21ldHJ5RWxlbWVudCA6IHB1YmxpYyBTVkdHcmFwaGljc0VsZW1lbnQg
ewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU1ZHR2VvbWV0cnlFbGVtZW50KTsKIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIGZsb2F0IGdldFRvdGFsTGVuZ3RoKCkgY29uc3Q7Ci0gICAgdmlydHVh
bCBSZWY8U1ZHUG9pbnQ+IGdldFBvaW50QXRMZW5ndGgoZmxvYXQgZGlzdGFuY2UpIGNvbnN0Owor
ICAgIHZpcnR1YWwgUmVmPERPTVBvaW50PiBnZXRQb2ludEF0TGVuZ3RoKGZsb2F0IGRpc3RhbmNl
KSBjb25zdDsKIAogICAgIGJvb2wgaXNQb2ludEluRmlsbChET01Qb2ludEluaXQmJik7CiAgICAg
Ym9vbCBpc1BvaW50SW5TdHJva2UoRE9NUG9pbnRJbml0JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHR2VvbWV0cnlFbGVtZW50LmlkbAppbmRleCA1NmRmNmYxMGFmMzRhMjlmNWI5ZWVkY2VhMTU3
NTVhM2NjMDJkN2Y0Li5kOWZmODYzODhkM2UxNWZiZTM4Y2UyZTgyNzhlMGQ1N2U4ODk5YTdjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmlkbApAQCAtMzAsNSArMzAs
NSBAQCBpbnRlcmZhY2UgU1ZHR2VvbWV0cnlFbGVtZW50IDogU1ZHR3JhcGhpY3NFbGVtZW50IHsK
ICAgICBib29sZWFuIGlzUG9pbnRJbkZpbGwob3B0aW9uYWwgRE9NUG9pbnRJbml0IHBvaW50KTsK
ICAgICBib29sZWFuIGlzUG9pbnRJblN0cm9rZShvcHRpb25hbCBET01Qb2ludEluaXQgcG9pbnQp
OwogICAgIHVucmVzdHJpY3RlZCBmbG9hdCBnZXRUb3RhbExlbmd0aCgpOwotICAgIFtOZXdPYmpl
Y3RdIFNWR1BvaW50IGdldFBvaW50QXRMZW5ndGgoZmxvYXQgZGlzdGFuY2UpOworICAgIFtOZXdP
YmplY3RdIERPTVBvaW50IGdldFBvaW50QXRMZW5ndGgoZmxvYXQgZGlzdGFuY2UpOwogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguaCBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdMZW5ndGguaAppbmRleCBlZDUwMDM4MmM1ZmU4MzgxZDQ3Nzk2OGI5MDkzMDBmNmJm
YzRkOTJkLi42MGE1YjU2ZTUzYmFkMGEwYmEwMTNhNDY0NjU3YmE2MWZhMThlNmMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0xlbmd0aC5oCkBAIC02Miw5ICs2Miw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgU1ZHTGVuZ3RoKHZhbHVlKSk7CiAgICAgfQogCi0gICAgc3RhdGljIFJl
ZjxTVkdMZW5ndGg+IGNyZWF0ZShTVkdQcm9wZXJ0eU93bmVyKiBvd25lciwgU1ZHUHJvcGVydHlB
Y2Nlc3MgYWNjZXNzLCBjb25zdCBTVkdMZW5ndGhWYWx1ZSYgdmFsdWUgPSB7IH0pCisgICAgc3Rh
dGljIFJlZjxTVkdMZW5ndGg+IGNyZWF0ZShET01MaXZlUHJvcGVydHlPYnNlcnZlciogb2JzZXJ2
ZXIsIGNvbnN0IFNWR0xlbmd0aFZhbHVlJiB2YWx1ZSA9IHsgfSkKICAgICB7Ci0gICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFNWR0xlbmd0aChvd25lciwgYWNjZXNzLCB2YWx1ZSkpOworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdMZW5ndGgob2JzZXJ2ZXIsIHZhbHVlKSk7CiAg
ICAgfQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KQEAgLTg3LDcgKzg3LDcgQEAgcHVibGlj
OgogCiAgICAgRXhjZXB0aW9uT3I8ZmxvYXQ+IHZhbHVlRm9yQmluZGluZ3MoKQogICAgIHsKLSAg
ICAgICAgcmV0dXJuIG1fdmFsdWUudmFsdWVGb3JCaW5kaW5ncyhTVkdMZW5ndGhDb250ZXh0IHsg
Y29udGV4dEVsZW1lbnQoKSB9KTsKKyAgICAgICAgcmV0dXJuIG1fdmFsdWUudmFsdWVGb3JCaW5k
aW5ncyhTVkdMZW5ndGhDb250ZXh0IHsgc3ZnQ29udGV4dEVsZW1lbnQoKSB9KTsKICAgICB9CiAK
ICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRWYWx1ZUZvckJpbmRpbmdzKGZsb2F0IHZhbHVlKQpA
QCAtOTUsNyArOTUsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChpc1JlYWRPbmx5KCkpCiAgICAg
ICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3IgfTsK
IAotICAgICAgICBhdXRvIHJlc3VsdCA9IG1fdmFsdWUuc2V0VmFsdWUoU1ZHTGVuZ3RoQ29udGV4
dCB7IGNvbnRleHRFbGVtZW50KCkgfSwgdmFsdWUpOworICAgICAgICBhdXRvIHJlc3VsdCA9IG1f
dmFsdWUuc2V0VmFsdWUoU1ZHTGVuZ3RoQ29udGV4dCB7IHN2Z0NvbnRleHRFbGVtZW50KCkgfSwg
dmFsdWUpOwogICAgICAgICBpZiAocmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQogICAgICAgICAgICAg
cmV0dXJuIHJlc3VsdDsKICAgICAgICAgCkBAIC0xNTIsNyArMTUyLDcgQEAgcHVibGljOgogICAg
ICAgICBpZiAodW5pdFR5cGUgPT0gU1ZHX0xFTkdUSFRZUEVfVU5LTk9XTiB8fCB1bml0VHlwZSA+
IFNWR19MRU5HVEhUWVBFX1BDKQogICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5vdFN1
cHBvcnRlZEVycm9yIH07CiAKLSAgICAgICAgYXV0byByZXN1bHQgPSBtX3ZhbHVlLmNvbnZlcnRU
b1NwZWNpZmllZFVuaXRzKFNWR0xlbmd0aENvbnRleHQgeyBjb250ZXh0RWxlbWVudCgpIH0sIHN0
YXRpY19jYXN0PFNWR0xlbmd0aFR5cGU+KHVuaXRUeXBlKSk7CisgICAgICAgIGF1dG8gcmVzdWx0
ID0gbV92YWx1ZS5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhTVkdMZW5ndGhDb250ZXh0IHsgc3Zn
Q29udGV4dEVsZW1lbnQoKSB9LCBzdGF0aWNfY2FzdDxTVkdMZW5ndGhUeXBlPih1bml0VHlwZSkp
OwogICAgICAgICBpZiAocmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQogICAgICAgICAgICAgcmV0dXJu
IHJlc3VsdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGhMaXN0LmgKaW5kZXggNWViNTcwMWM2NzQ2
ODc5MmQwNTYyYzE1YjUyMTZiNDkyYzAyMWVkOC4uMzJkNTg3NGQyOTM3MjQ2YzcwNTIxMzkxM2Ix
NGYwNDU2M2ZmZGUzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aExp
c3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5oCkBAIC00MCwxNCAr
NDAsMTQgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdMZW5ndGhM
aXN0KGxlbmd0aE1vZGUpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUmVmPFNWR0xlbmd0aExpc3Q+
IGNyZWF0ZShTVkdQcm9wZXJ0eU93bmVyKiBvd25lciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNz
LCBTVkdMZW5ndGhNb2RlIGxlbmd0aE1vZGUpCisgICAgc3RhdGljIFJlZjxTVkdMZW5ndGhMaXN0
PiBjcmVhdGUoRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyLCBTVkdMZW5ndGhNb2Rl
IGxlbmd0aE1vZGUpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdMZW5n
dGhMaXN0KG93bmVyLCBhY2Nlc3MsIGxlbmd0aE1vZGUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgU1ZHTGVuZ3RoTGlzdChvYnNlcnZlciwgbGVuZ3RoTW9kZSkpOwogICAgIH0KIAot
ICAgIHN0YXRpYyBSZWY8U1ZHTGVuZ3RoTGlzdD4gY3JlYXRlKGNvbnN0IFNWR0xlbmd0aExpc3Qm
IG90aGVyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MpCisgICAgc3RhdGljIFJlZjxTVkdMZW5n
dGhMaXN0PiBjcmVhdGUoY29uc3QgU1ZHTGVuZ3RoTGlzdCYgb3RoZXIpCiAgICAgewotICAgICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdMZW5ndGhMaXN0KG90aGVyLCBhY2Nlc3MpKTsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHTGVuZ3RoTGlzdChvdGhlcikpOwogICAgIH0K
IAogICAgIFNWR0xlbmd0aE1vZGUgbGVuZ3RoTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3Ro
TW9kZTsgfQpAQCAtODYsNyArODYsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBpZiAoYnVpbGRl
ci5sZW5ndGgoKSkKICAgICAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnICcpOwogCi0gICAg
ICAgICAgICBidWlsZGVyLmFwcGVuZChsZW5ndGgtPnZhbHVlKCkudmFsdWVBc1N0cmluZygpKTsK
KyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKGxlbmd0aC0+dmFsdWVBc1N0cmluZygpKTsKICAg
ICAgICAgfQogCiAgICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CkBAIC05OCwxNCAr
OTgsMTQgQEAgcHJpdmF0ZToKICAgICB7CiAgICAgfQogCi0gICAgU1ZHTGVuZ3RoTGlzdChTVkdQ
cm9wZXJ0eU93bmVyKiBvd25lciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzLCBTVkdMZW5ndGhN
b2RlIGxlbmd0aE1vZGUpCi0gICAgICAgIDogQmFzZShvd25lciwgYWNjZXNzKQorICAgIFNWR0xl
bmd0aExpc3QoRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyLCBTVkdMZW5ndGhNb2Rl
IGxlbmd0aE1vZGUpCisgICAgICAgIDogQmFzZShvYnNlcnZlcikKICAgICAgICAgLCBtX2xlbmd0
aE1vZGUobGVuZ3RoTW9kZSkKICAgICB7CiAgICAgfQogCi0gICAgU1ZHTGVuZ3RoTGlzdChjb25z
dCBTVkdMZW5ndGhMaXN0JiBvdGhlciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzKQotICAgICAg
ICA6IEJhc2Uob3RoZXIsIGFjY2VzcykKKyAgICBTVkdMZW5ndGhMaXN0KGNvbnN0IFNWR0xlbmd0
aExpc3QmIG90aGVyKQorICAgICAgICA6IEJhc2Uob3RoZXIpCiAgICAgICAgICwgbV9sZW5ndGhN
b2RlKG90aGVyLmxlbmd0aE1vZGUoKSkKICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR01hdHJpeC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hdHJpeC5o
CmluZGV4IGQ4YzM3ZGNiMjZkYmU0NTE4YWM5MWZkMmUxYzc1ZTk0MmMxZDIyNzYuLmYwMDM4YzRj
MDdlMGFmYzVlN2I5ZjJiYmJkNTgwZjhhZGFkYTI3OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdNYXRyaXguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWF0cml4LmgK
QEAgLTQyLDkgKzQyLDkgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBT
VkdNYXRyaXgodmFsdWUpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUmVmPFNWR01hdHJpeD4gY3Jl
YXRlKFNWR1Byb3BlcnR5T3duZXIqIG93bmVyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MsIGNv
bnN0IEFmZmluZVRyYW5zZm9ybSYgdmFsdWUgPSB7IH0pCisgICAgc3RhdGljIFJlZjxTVkdNYXRy
aXg+IGNyZWF0ZShET01MaXZlUHJvcGVydHlPYnNlcnZlciogb2JzZXJ2ZXIsIGNvbnN0IEFmZmlu
ZVRyYW5zZm9ybSYgdmFsdWUgPSB7IH0pCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBTVkdNYXRyaXgob3duZXIsIGFjY2VzcywgdmFsdWUpKTsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgU1ZHTWF0cml4KG9ic2VydmVyLCB2YWx1ZSkpOwogICAgIH0KIAogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVt
YmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVtYmVyLmgKaW5kZXggMjNjODJlNDRlNjc3
ZDhkMzYwYzk2MTU0Yzc5NWRhYjg3NzZhMWZhNC4uNTk4YTBmNTk2MTk5MmE0Yjc5ZjcwODllNDQ4
OWI2MzU2MzIxZWRjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR051bWJlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdOdW1iZXIuaApAQCAtNDAsOSArNDAsOSBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR051bWJlcih2YWx1ZSkpOwog
ICAgIH0KIAotICAgIHN0YXRpYyBSZWY8U1ZHTnVtYmVyPiBjcmVhdGUoU1ZHUHJvcGVydHlPd25l
ciogb3duZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcywgZmxvYXQgdmFsdWUgPSAwKQorICAg
IHN0YXRpYyBSZWY8U1ZHTnVtYmVyPiBjcmVhdGUoRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9i
c2VydmVyLCBmbG9hdCB2YWx1ZSA9IDApCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBTVkdOdW1iZXIob3duZXIsIGFjY2VzcywgdmFsdWUpKTsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgU1ZHTnVtYmVyKG9ic2VydmVyLCB2YWx1ZSkpOwogICAgIH0KIAogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVt
YmVyTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR051bWJlckxpc3QuaAppbmRleCA1YjVk
NTdlODQ2ZjQzMWFhZjVjMDhkYmM5YTRjMzRhYmU4NGQ2ZDFmLi42ODFiNGRjZWY4Y2VjOTM1MTFi
ZTA1OTIwNTRjZjA4MWU5MDM3NzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
TnVtYmVyTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdOdW1iZXJMaXN0LmgKQEAg
LTQwLDE0ICs0MCwxNCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNW
R051bWJlckxpc3QoKSk7CiAgICAgfQogCi0gICAgc3RhdGljIFJlZjxTVkdOdW1iZXJMaXN0PiBj
cmVhdGUoU1ZHUHJvcGVydHlPd25lciogb3duZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcykK
KyAgICBzdGF0aWMgUmVmPFNWR051bWJlckxpc3Q+IGNyZWF0ZShET01MaXZlUHJvcGVydHlPYnNl
cnZlciogb2JzZXJ2ZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdO
dW1iZXJMaXN0KG93bmVyLCBhY2Nlc3MpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U1ZHTnVtYmVyTGlzdChvYnNlcnZlcikpOwogICAgIH0KIAotICAgIHN0YXRpYyBSZWY8U1ZHTnVt
YmVyTGlzdD4gY3JlYXRlKGNvbnN0IFNWR051bWJlckxpc3QmIG90aGVyLCBTVkdQcm9wZXJ0eUFj
Y2VzcyBhY2Nlc3MpCisgICAgc3RhdGljIFJlZjxTVkdOdW1iZXJMaXN0PiBjcmVhdGUoY29uc3Qg
U1ZHTnVtYmVyTGlzdCYgb3RoZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBTVkdOdW1iZXJMaXN0KG90aGVyLCBhY2Nlc3MpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgU1ZHTnVtYmVyTGlzdChvdGhlcikpOwogICAgIH0KIAogICAgIGJvb2wgcGFyc2UoY29u
c3QgU3RyaW5nJiB2YWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRo
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCmluZGV4
IDZiYTE0NDBkNzUyMThkZmU0OWRhZWM0YjVlZGE3ODQxMTA1ZTFhYTguLmI0NzU1ZDQyYjRjMzgy
NzQzYThkNjQ4YWU3NGU0NjM5NWM0MzA1M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQYXRoRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVt
ZW50LmNwcApAQCAtMjIsMTMgKzIyLDEzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiU1ZHUGF0aEVsZW1lbnQuaCIKIAorI2luY2x1ZGUgIkRPTVBvaW50LmgiCiAjaW5jbHVkZSAi
UmVuZGVyU1ZHUGF0aC5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCiAjaW5jbHVk
ZSAiU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgiCiAjaW5jbHVkZSAiU1ZHTVBhdGhFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJTVkdQYXRoVXRpbGl0aWVzLmgiCi0j
aW5jbHVkZSAiU1ZHUG9pbnQuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xMTQsMTEgKzExNCwxMSBAQCBmbG9hdCBTVkdQYXRo
RWxlbWVudDo6Z2V0VG90YWxMZW5ndGgoKSBjb25zdAogICAgIHJldHVybiB0b3RhbExlbmd0aDsK
IH0KIAotUmVmPFNWR1BvaW50PiBTVkdQYXRoRWxlbWVudDo6Z2V0UG9pbnRBdExlbmd0aChmbG9h
dCBsZW5ndGgpIGNvbnN0CitSZWY8RE9NUG9pbnQ+IFNWR1BhdGhFbGVtZW50OjpnZXRQb2ludEF0
TGVuZ3RoKGZsb2F0IGxlbmd0aCkgY29uc3QKIHsKICAgICBGbG9hdFBvaW50IHBvaW50OwogICAg
IGdldFBvaW50QXRMZW5ndGhPZlNWR1BhdGhCeXRlU3RyZWFtKHBhdGhCeXRlU3RyZWFtKCksIGxl
bmd0aCwgcG9pbnQpOwotICAgIHJldHVybiBTVkdQb2ludDo6Y3JlYXRlKHBvaW50KTsKKyAgICBy
ZXR1cm4gRE9NUG9pbnQ6OmNyZWF0ZShwb2ludC54KCksIHBvaW50LnkoKSk7CiB9CiAKIHVuc2ln
bmVkIFNWR1BhdGhFbGVtZW50OjpnZXRQYXRoU2VnQXRMZW5ndGgoZmxvYXQgbGVuZ3RoKSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaAppbmRleCAzYTU5NzczYTAzZDMwZTc3N2Vi
MzNiNTBjMzlkMTA5ZmY1Yjg1YWM4Li43NzlmZGYyZjk2MzI0OTg2YmE1ODY3YjZlYjE5ODBkNDc4
MGI0MDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaApAQCAtMzAsOCArMzAsOCBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIERPTVBvaW50OwogY2xhc3MgU1ZHUGF0
aFNlZ0xpc3Q7Ci1jbGFzcyBTVkdQb2ludDsKIAogY2xhc3MgU1ZHUGF0aEVsZW1lbnQgZmluYWwg
OiBwdWJsaWMgU1ZHR2VvbWV0cnlFbGVtZW50LCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTVkdQYXRoRWxlbWVudCk7CkBA
IC04OSw3ICs4OSw3IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBmbG9hdCBnZXRUb3RhbExlbmd0
aCgpIGNvbnN0IGZpbmFsOwotICAgIFJlZjxTVkdQb2ludD4gZ2V0UG9pbnRBdExlbmd0aChmbG9h
dCBkaXN0YW5jZSkgY29uc3QgZmluYWw7CisgICAgUmVmPERPTVBvaW50PiBnZXRQb2ludEF0TGVu
Z3RoKGZsb2F0IGRpc3RhbmNlKSBjb25zdCBmaW5hbDsKICAgICB1bnNpZ25lZCBnZXRQYXRoU2Vn
QXRMZW5ndGgoZmxvYXQgZGlzdGFuY2UpIGNvbnN0OwogCiAgICAgRmxvYXRSZWN0IGdldEJCb3go
U3R5bGVVcGRhdGVTdHJhdGVneSA9IEFsbG93U3R5bGVVcGRhdGUpIGZpbmFsOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUGF0aFNlZ0xpc3QuaAppbmRleCA5NGY2ZjM5ZTRlMWYxYjY3NDQzM2NhMjUwMTUzODE4
ZjRmNjJmZTQyLi5lNjZmOGEwYTdiMGMwMGU2YjY0NDAzYTUwM2NhZmIxNTQxMjE0MTU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpc3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpc3QuaApAQCAtMzYsMTQgKzM2LDE0IEBAIGNsYXNzIFNW
R1BhdGhTZWdMaXN0IGZpbmFsIDogcHVibGljIFNWR1Byb3BlcnR5TGlzdDxTVkdQYXRoU2VnPiB7
CiAgICAgdXNpbmcgQmFzZTo6QmFzZTsKIAogcHVibGljOgotICAgIHN0YXRpYyBSZWY8U1ZHUGF0
aFNlZ0xpc3Q+IGNyZWF0ZShTVkdQcm9wZXJ0eU93bmVyKiBvd25lciwgU1ZHUHJvcGVydHlBY2Nl
c3MgYWNjZXNzKQorICAgIHN0YXRpYyBSZWY8U1ZHUGF0aFNlZ0xpc3Q+IGNyZWF0ZShET01MaXZl
UHJvcGVydHlPYnNlcnZlciogb2JzZXJ2ZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBTVkdQYXRoU2VnTGlzdChvd25lciwgYWNjZXNzKSk7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFNWR1BhdGhTZWdMaXN0KG9ic2VydmVyKSk7CiAgICAgfQogCi0gICAgc3Rh
dGljIFJlZjxTVkdQYXRoU2VnTGlzdD4gY3JlYXRlKGNvbnN0IFNWR1BhdGhTZWdMaXN0JiBvdGhl
ciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzKQorICAgIHN0YXRpYyBSZWY8U1ZHUGF0aFNlZ0xp
c3Q+IGNyZWF0ZShjb25zdCBTVkdQYXRoU2VnTGlzdCYgb3RoZXIpCiAgICAgewotICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdQYXRoU2VnTGlzdChvdGhlciwgYWNjZXNzKSk7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1BhdGhTZWdMaXN0KG90aGVyKSk7CiAgICAgfQog
CiAgICAgc3RhdGljIFJlZjxTVkdQYXRoU2VnTGlzdD4gY3JlYXRlKFJlZjxTVkdQYXRoU2VnPiYm
IG5ld0l0ZW0pCkBAIC0xNTksOCArMTU5LDggQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToK
LSAgICBTVkdQYXRoU2VnTGlzdChjb25zdCBTVkdQYXRoU2VnTGlzdCYgb3RoZXIsIFNWR1Byb3Bl
cnR5QWNjZXNzIGFjY2VzcykKLSAgICAgICAgOiBCYXNlKG90aGVyLm93bmVyKCksIGFjY2VzcykK
KyAgICBTVkdQYXRoU2VnTGlzdChjb25zdCBTVkdQYXRoU2VnTGlzdCYgb3RoZXIpCisgICAgICAg
IDogQmFzZShvdGhlci5vYnNlcnZlcigpKQogICAgICAgICAsIG1fcGF0aEJ5dGVTdHJlYW0ob3Ro
ZXIucGF0aEJ5dGVTdHJlYW0oKSkKICAgICB7CiAgICAgfQpAQCAtMTcyLDcgKzE3Miw3IEBAIHBy
aXZhdGU6CiAgICAgfQogCiAgICAgLy8gQ2FsbGVkIHdoZW4gY2hhbmdpbmcgYW4gaXRlbSBpbiB0
aGUgbGlzdC4KLSAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKFNWR1Byb3BlcnR5KiBwcm9w
ZXJ0eSkgb3ZlcnJpZGUKKyAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKERPTUxpdmVQcm9w
ZXJ0eSogcHJvcGVydHkpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBpdGVtc1dpbGxDaGFuZ2Uo
KTsKICAgICAgICAgQmFzZTo6Y29tbWl0UHJvcGVydHlDaGFuZ2UocHJvcGVydHkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHUG9pbnQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzc0NDViOWZjYjFmYjQw
YjUxMzk2ZTE5MmU3MzQ1ODZjNjM1NGI1Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnQuaAorKysgL2Rldi9u
dWxsCkBAIC0xLDk4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgU2Ftc3VuZyBF
bGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxOC0y
MDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBv
bmNlCi0KLSNpbmNsdWRlICJGbG9hdFBvaW50LmgiCi0jaW5jbHVkZSAiU1ZHTWF0cml4LmgiCi0j
aW5jbHVkZSAiU1ZHUHJvcGVydHlUcmFpdHMuaCIKLSNpbmNsdWRlICJTVkdWYWx1ZVByb3BlcnR5
LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgU1ZHUG9pbnQgOiBwdWJsaWMgU1ZH
VmFsdWVQcm9wZXJ0eTxGbG9hdFBvaW50PiB7Ci0gICAgdXNpbmcgQmFzZSA9IFNWR1ZhbHVlUHJv
cGVydHk8RmxvYXRQb2ludD47Ci0gICAgdXNpbmcgQmFzZTo6QmFzZTsKLSAgICB1c2luZyBCYXNl
OjptX3ZhbHVlOwotCi1wdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxTVkdQb2ludD4gY3JlYXRlKGNv
bnN0IEZsb2F0UG9pbnQmIHZhbHVlID0geyB9KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgU1ZHUG9pbnQodmFsdWUpKTsKLSAgICB9Ci0KLSAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPgotICAgIHN0YXRpYyBFeGNlcHRpb25PcjxSZWY8U1ZHUG9pbnQ+PiBjcmVhdGUoRXhjZXB0
aW9uT3I8VD4mJiB2YWx1ZSkKLSAgICB7Ci0gICAgICAgIGlmICh2YWx1ZS5oYXNFeGNlcHRpb24o
KSkKLSAgICAgICAgICAgIHJldHVybiB2YWx1ZS5yZWxlYXNlRXhjZXB0aW9uKCk7Ci0gICAgICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1BvaW50KHZhbHVlLnJlbGVhc2VSZXR1cm5WYWx1ZSgp
KSk7Ci0gICAgfQotCi0gICAgUmVmPFNWR1BvaW50PiBjbG9uZSgpIGNvbnN0Ci0gICAgewotICAg
ICAgICByZXR1cm4gU1ZHUG9pbnQ6OmNyZWF0ZShtX3ZhbHVlKTsKLSAgICB9Ci0gICAgCi0gICAg
ZmxvYXQgeCgpIHsgcmV0dXJuIG1fdmFsdWUueCgpOyB9Ci0KLSAgICBFeGNlcHRpb25Pcjx2b2lk
PiBzZXRYKGZsb2F0IHgpCi0gICAgewotICAgICAgICBpZiAoaXNSZWFkT25seSgpKQotICAgICAg
ICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yIH07Ci0K
LSAgICAgICAgbV92YWx1ZS5zZXRYKHgpOwotICAgICAgICBjb21taXRDaGFuZ2UoKTsKLQotICAg
ICAgICByZXR1cm4geyB9OwotICAgIH0KLQotICAgIGZsb2F0IHkoKSB7IHJldHVybiBtX3ZhbHVl
LnkoKTsgfQotCi0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0WShmbG9hdCB5KQotICAgIHsKLSAg
ICAgICAgaWYgKGlzUmVhZE9ubHkoKSkKLSAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBO
b01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvciB9OwotCi0gICAgICAgIG1fdmFsdWUuc2V0WSh5KTsK
LSAgICAgICAgY29tbWl0Q2hhbmdlKCk7Ci0gICAgICAgIHJldHVybiB7IH07Ci0gICAgfQotCi0g
ICAgUmVmPFNWR1BvaW50PiBtYXRyaXhUcmFuc2Zvcm0oU1ZHTWF0cml4JiBtYXRyaXgpIGNvbnN0
Ci0gICAgewotICAgICAgICBhdXRvIG5ld1BvaW50ID0gbV92YWx1ZS5tYXRyaXhUcmFuc2Zvcm0o
bWF0cml4LnZhbHVlKCkpOwotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdQb2ludChu
ZXdQb2ludCkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygp
IGNvbnN0IG92ZXJyaWRlCi0gICAgewotICAgICAgICByZXR1cm4gU1ZHUHJvcGVydHlUcmFpdHM8
RmxvYXRQb2ludD46OnRvU3RyaW5nKG1fdmFsdWUpOwotICAgIH0KLX07Ci0KLX0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2ludC5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnQuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA1ZDgyMjQ5MGRiYmUyMjE4YTI1MWFhOGIxYzliYTZhOTczMTNkZDY1Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQb2ludC5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDA0LCAyMDA1IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUu
b3JnPgotICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5j
b20+Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
LSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwot
Ci1bCi0gICAgU2tpcFZUYWJsZVZhbGlkYXRpb24KLV0gaW50ZXJmYWNlIFNWR1BvaW50IHsKLSAg
ICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IHg7Ci0gICAgYXR0cmlidXRlIHVucmVzdHJp
Y3RlZCBmbG9hdCB5OwotCi0gICAgW05ld09iamVjdF0gU1ZHUG9pbnQgbWF0cml4VHJhbnNmb3Jt
KFNWR01hdHJpeCBtYXRyaXgpOwotfTsKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BvaW50TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50TGlzdC5oCmluZGV4
IDhjNmM1MGIwZTNiYWNlNTM2YWU1MGViYjI4YzFiNDZlMTU3NDllODEuLjhkNDE5M2U2YjRlZjA1
NGVmNmM0ZDU1Y2I0NTdmY2QwNTA2ZjlkMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQb2ludExpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnRMaXN0LmgK
QEAgLTI1LDEzICsyNSwxMyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIlNWR1BvaW50
LmgiCi0jaW5jbHVkZSAiU1ZHVmFsdWVQcm9wZXJ0eUxpc3QuaCIKKyNpbmNsdWRlICJET01Qb2lu
dC5oIgorI2luY2x1ZGUgIlNWR1Byb3BlcnR5TGlzdC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIFNWR1BvaW50TGlzdCA6IHB1YmxpYyBTVkdWYWx1ZVByb3BlcnR5TGlzdDxTVkdQ
b2ludD4gewotICAgIHVzaW5nIEJhc2UgPSBTVkdWYWx1ZVByb3BlcnR5TGlzdDxTVkdQb2ludD47
CitjbGFzcyBTVkdQb2ludExpc3QgOiBwdWJsaWMgU1ZHUHJvcGVydHlMaXN0PERPTVBvaW50PiB7
CisgICAgdXNpbmcgQmFzZSA9IFNWR1Byb3BlcnR5TGlzdDxET01Qb2ludD47CiAgICAgdXNpbmcg
QmFzZTo6QmFzZTsKIAogcHVibGljOgpAQCAtNDAsMTQgKzQwLDMyIEBAIHB1YmxpYzoKICAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUG9pbnRMaXN0KCkpOwogICAgIH0KIAotICAgIHN0
YXRpYyBSZWY8U1ZHUG9pbnRMaXN0PiBjcmVhdGUoU1ZHUHJvcGVydHlPd25lciogb3duZXIsIFNW
R1Byb3BlcnR5QWNjZXNzIGFjY2VzcykKKyAgICBzdGF0aWMgUmVmPFNWR1BvaW50TGlzdD4gY3Jl
YXRlKERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZlcikKICAgICB7Ci0gICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFNWR1BvaW50TGlzdChvd25lciwgYWNjZXNzKSk7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1BvaW50TGlzdChvYnNlcnZlcikpOwogICAgIH0KIAot
ICAgIHN0YXRpYyBSZWY8U1ZHUG9pbnRMaXN0PiBjcmVhdGUoY29uc3QgU1ZHUG9pbnRMaXN0JiBv
dGhlciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzKQorICAgIHN0YXRpYyBSZWY8U1ZHUG9pbnRM
aXN0PiBjcmVhdGUoY29uc3QgU1ZHUG9pbnRMaXN0JiBvdGhlcikKICAgICB7Ci0gICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFNWR1BvaW50TGlzdChvdGhlciwgYWNjZXNzKSk7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1BvaW50TGlzdChvdGhlcikpOworICAgIH0KKyAgICAK
KyAgICBTVkdQb2ludExpc3QmIG9wZXJhdG9yPShjb25zdCBTVkdQb2ludExpc3QmIG90aGVyKQor
ICAgIHsKKyAgICAgICAgY2xlYXJJdGVtcygpOworICAgICAgICBjb3B5SXRlbXMob3RoZXIpOwor
ICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQorICAgIAorICAgIHZvaWQgcmVzaXplKHNpemVf
dCBuZXdTaXplKQorICAgIHsKKyAgICAgICAgLy8gQWRkIG5ldyBpdGVtcy4KKyAgICAgICAgd2hp
bGUgKHNpemUoKSA8IG5ld1NpemUpCisgICAgICAgICAgICBhcHBlbmQoRE9NUG9pbnQ6OmNyZWF0
ZSgwLCAwKSk7CisKKyAgICAgICAgLy8gUmVtb3ZlIGV4aXN0aW5nIGl0ZW1zLgorICAgICAgICB3
aGlsZSAoc2l6ZSgpID4gbmV3U2l6ZSkKKyAgICAgICAgICAgIHJlbW92ZShzaXplKCkgLSAxKTsK
ICAgICB9CiAKICAgICBib29sIHBhcnNlKGNvbnN0IFN0cmluZyYgdmFsdWUpCkBAIC03OSw3ICs5
Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHNraXBPcHRpb25hbFNW
R1NwYWNlcyhjdXIsIGVuZCk7CiAKLSAgICAgICAgICAgIGFwcGVuZChTVkdQb2ludDo6Y3JlYXRl
KHsgeFBvcywgeVBvcyB9KSk7CisgICAgICAgICAgICBhcHBlbmQoRE9NUG9pbnQ6OmNyZWF0ZSh4
UG9zLCB5UG9zKSk7CiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm4gIWRlbGltUGFyc2VkOwpA
QCAtMTAwLDYgKzExOCwxOSBAQCBwdWJsaWM6CiAKICAgICAgICAgcmV0dXJuIGJ1aWxkZXIudG9T
dHJpbmcoKTsKICAgICB9CisgICAgCitwcml2YXRlOgorICAgIFNWR1BvaW50TGlzdChjb25zdCBT
VkdQb2ludExpc3QmIG90aGVyKQorICAgICAgICA6IEJhc2Uob3RoZXIub2JzZXJ2ZXIoKSkKKyAg
ICB7CisgICAgICAgIGNvcHlJdGVtcyhvdGhlcik7CisgICAgfQorCisgICAgdm9pZCBjb3B5SXRl
bXMoY29uc3QgU1ZHUG9pbnRMaXN0JiBvdGhlcikKKyAgICB7CisgICAgICAgIGZvciAoY29uc3Qg
YXV0byYgaXRlbSA6IG90aGVyLml0ZW1zKCkpCisgICAgICAgICAgICBhcHBlbmQoRE9NUG9pbnQ6
OmNyZWF0ZShpdGVtLT54KCksIGl0ZW0tPnkoKSkpOworICAgIH0KIH07CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2ludExpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BvaW50TGlzdC5pZGwKaW5kZXggZWQwZDRlNDI0NGVkMWQ2ZTA4OGYzMDAzMGE5YTU1
OGM1ZjNhOTA5OC4uMjI5YTIxYWVjYmI3YTA4MTA1ZGVlYTdjZTU3YmIwNzY4NTE3ZjI3NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50TGlzdC5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BvaW50TGlzdC5pZGwKQEAgLTI4LDExICsyOCwxMSBAQCBpbnRlcmZh
Y2UgU1ZHUG9pbnRMaXN0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBu
dW1iZXJPZkl0ZW1zOwogCiAgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGNsZWFyKCk7Ci0g
ICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdQb2ludCBpbml0aWFsaXplKFNWR1BvaW50IG5ld0l0
ZW0pOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gZ2V0dGVyIFNWR1BvaW50IGdldEl0ZW0odW5z
aWduZWQgbG9uZyBpbmRleCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdQb2ludCBpbnNl
cnRJdGVtQmVmb3JlKFNWR1BvaW50IG5ld0l0ZW0sIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gU1ZHUG9pbnQgcmVwbGFjZUl0ZW0oU1ZHUG9pbnQgbmV3SXRl
bSwgdW5zaWduZWQgbG9uZyBpbmRleCk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBTVkdQb2lu
dCByZW1vdmVJdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gU1ZHUG9pbnQgYXBwZW5kSXRlbShTVkdQb2ludCBuZXdJdGVtKTsKLSAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIHNldHRlciB2b2lkICh1bnNpZ25lZCBsb25nIGluZGV4LCBTVkdQb2ludCBuZXdJ
dGVtKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVBvaW50IGluaXRpYWxpemUoRE9NUG9p
bnQgbmV3SXRlbSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBnZXR0ZXIgRE9NUG9pbnQgZ2V0
SXRlbSh1bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIERPTVBv
aW50IGluc2VydEl0ZW1CZWZvcmUoRE9NUG9pbnQgbmV3SXRlbSwgdW5zaWduZWQgbG9uZyBpbmRl
eCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBET01Qb2ludCByZXBsYWNlSXRlbShET01Qb2lu
dCBuZXdJdGVtLCB1bnNpZ25lZCBsb25nIGluZGV4KTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IERPTVBvaW50IHJlbW92ZUl0ZW0odW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSBET01Qb2ludCBhcHBlbmRJdGVtKERPTVBvaW50IG5ld0l0ZW0pOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gc2V0dGVyIHZvaWQgKHVuc2lnbmVkIGxvbmcgaW5kZXgsIERPTVBv
aW50IG5ld0l0ZW0pOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQcmVz
ZXJ2ZUFzcGVjdFJhdGlvLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RS
YXRpby5oCmluZGV4IDI3MTdhYmViZTEwMTlhYWEwZjNhZjc2MWViMzUxZjkxN2I3OGFkZDYuLjgz
NTQ5M2U3OTRjMWU4ZjI1ZDg5NDdiMzhkZGEyNGM2MDliZjQ2YzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaApAQCAtMzYsOSArMzYsOSBAQCBjbGFzcyBT
VkdQcmVzZXJ2ZUFzcGVjdFJhdGlvIDogcHVibGljIFNWR1ZhbHVlUHJvcGVydHk8U1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpb1ZhbAogICAgIHVzaW5nIEJhc2U6Om1fdmFsdWU7CiAKIHB1YmxpYzoKLSAg
ICBzdGF0aWMgUmVmPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8+IGNyZWF0ZShTVkdQcm9wZXJ0eU93
bmVyKiBvd25lciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzLCBjb25zdCBTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvVmFsdWUmIHZhbHVlID0geyB9KQorICAgIHN0YXRpYyBSZWY8U1ZHUHJlc2VydmVB
c3BlY3RSYXRpbz4gY3JlYXRlKERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZlciwgY29u
c3QgU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlJiB2YWx1ZSA9IHsgfSkKICAgICB7Ci0gICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8ob3duZXIsIGFj
Y2VzcywgdmFsdWUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUHJlc2VydmVB
c3BlY3RSYXRpbyhvYnNlcnZlciwgdmFsdWUpKTsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0
UmF0aW9WYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW9W
YWx1ZS5oCmluZGV4IDQxNWI4NzIzZjhkMzA4NjRjMWIzZmQ3ODhjYzNiOTg5YmFkN2VmOWMuLjU5
YzgzNzEyM2YyMWRiMjYxZmZlNzgxNjlhZDA4MmIyYTNmNmU5OGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlLmgKQEAgLTc2LDExICs3Niw0
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBwYXJzZUludGVybmFsKGNvbnN0IFVDaGFyKiYgY3VyclBh
cmFtLCBjb25zdCBVQ2hhciogZW5kLCBib29sIHZhbGlkYXRlKTsKIH07CiAKLXRlbXBsYXRlPD4g
c3RydWN0IFNWR1Byb3BlcnR5VHJhaXRzPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZT4gewot
ICAgIHN0YXRpYyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUgaW5pdGlhbFZhbHVlKCkgeyBy
ZXR1cm4gU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlKCk7IH0KLSAgICBzdGF0aWMgU1ZHUHJl
c2VydmVBc3BlY3RSYXRpb1ZhbHVlIGZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsg
cmV0dXJuIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZShzdHJpbmcpOyB9Ci0gICAgc3RhdGlj
IE9wdGlvbmFsPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1ZT4gcGFyc2UoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIGNvbnN0IFN0cmluZyYpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBp
bml0aWFsVmFsdWUoKTsgfQotICAgIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmcoY29uc3QgU1ZHUHJl
c2VydmVBc3BlY3RSYXRpb1ZhbHVlJiB0eXBlKSB7IHJldHVybiB0eXBlLnZhbHVlQXNTdHJpbmco
KTsgfQotfTsKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1JlY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZWN0LmgKaW5kZXgg
OTAwMThlMTg2YjE5MmFjM2JlNmYwNTUwZGY4MTE2MjdmYmQ3ZTlmMi4uYmFlNzdiZmVmMDIxOTUx
M2VlZjAwOTk2OWIzM2MyZmFkY2YzOTNmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1JlY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmVjdC5oCkBAIC0zNiw5ICsz
Niw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUmVjdCh2YWx1
ZSkpOwogICAgIH0KIAotICAgIHN0YXRpYyBSZWY8U1ZHUmVjdD4gY3JlYXRlKFNWR1Byb3BlcnR5
T3duZXIqIG93bmVyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MsIGNvbnN0IEZsb2F0UmVjdCYg
dmFsdWUgPSB7IH0pCisgICAgc3RhdGljIFJlZjxTVkdSZWN0PiBjcmVhdGUoRE9NTGl2ZVByb3Bl
cnR5T2JzZXJ2ZXIqIG9ic2VydmVyLCBjb25zdCBGbG9hdFJlY3QmIHZhbHVlID0geyB9KQogICAg
IHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUmVjdChvd25lciwgYWNjZXNzLCB2
YWx1ZSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdSZWN0KG9ic2VydmVyLCB2
YWx1ZSkpOwogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHU1ZHRWxlbWVudC5jcHAKaW5kZXggNDdmMGMzYzNjZDBhODJiMWMwMTczYzJiMjc2ZGQzMDYz
ZjAwYWEyMS4uZmJkYjhlODk4MzA1ZmI4MWQ3YWYzZjQyYzlmYzNmNzk5ZGMzNDI5OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcApAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUg
IlNWR1NWR0VsZW1lbnQuaCIKIAogI2luY2x1ZGUgIkNTU0hlbHBlci5oIgorI2luY2x1ZGUgIkRP
TVBvaW50LmgiCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiRWxlbWVu
dEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgpAQCAtMzksNyArNDAsNiBAQAog
I2luY2x1ZGUgIlNWR0xlbmd0aC5oIgogI2luY2x1ZGUgIlNWR01hdHJpeC5oIgogI2luY2x1ZGUg
IlNWR051bWJlci5oIgotI2luY2x1ZGUgIlNWR1BvaW50LmgiCiAjaW5jbHVkZSAiU1ZHUmVjdC5o
IgogI2luY2x1ZGUgIlNWR1RyYW5zZm9ybS5oIgogI2luY2x1ZGUgIlNWR1ZpZXdFbGVtZW50Lmgi
CkBAIC0xNzksOSArMTc5LDEwIEBAIHZvaWQgU1ZHU1ZHRWxlbWVudDo6c2V0Q3VycmVudFNjYWxl
KGZsb2F0IHNjYWxlKQogCiB2b2lkIFNWR1NWR0VsZW1lbnQ6OnNldEN1cnJlbnRUcmFuc2xhdGUo
Y29uc3QgRmxvYXRQb2ludCYgdHJhbnNsYXRpb24pCiB7Ci0gICAgaWYgKG1fY3VycmVudFRyYW5z
bGF0ZS0+dmFsdWUoKSA9PSB0cmFuc2xhdGlvbikKKyAgICBpZiAobV9jdXJyZW50VHJhbnNsYXRl
LT54KCkgPT0gdHJhbnNsYXRpb24ueCgpICYmIG1fY3VycmVudFRyYW5zbGF0ZS0+eSgpID09IHRy
YW5zbGF0aW9uLnkoKSkKICAgICAgICAgcmV0dXJuOwotICAgIG1fY3VycmVudFRyYW5zbGF0ZS0+
c2V0VmFsdWUodHJhbnNsYXRpb24pOworICAgIG1fY3VycmVudFRyYW5zbGF0ZS0+c2V0WCh0cmFu
c2xhdGlvbi54KCkpOworICAgIG1fY3VycmVudFRyYW5zbGF0ZS0+c2V0WSh0cmFuc2xhdGlvbi55
KCkpOwogICAgIHVwZGF0ZUN1cnJlbnRUcmFuc2xhdGUoKTsKIH0KIApAQCAtMzY5LDkgKzM3MCw5
IEBAIFJlZjxTVkdBbmdsZT4gU1ZHU1ZHRWxlbWVudDo6Y3JlYXRlU1ZHQW5nbGUoKQogICAgIHJl
dHVybiBTVkdBbmdsZTo6Y3JlYXRlKCk7CiB9CiAKLVJlZjxTVkdQb2ludD4gU1ZHU1ZHRWxlbWVu
dDo6Y3JlYXRlU1ZHUG9pbnQoKQorUmVmPERPTVBvaW50PiBTVkdTVkdFbGVtZW50OjpjcmVhdGVT
VkdQb2ludCgpCiB7Ci0gICAgcmV0dXJuIFNWR1BvaW50OjpjcmVhdGUoKTsKKyAgICByZXR1cm4g
RE9NUG9pbnQ6OmNyZWF0ZSgwLCAwKTsKIH0KIAogUmVmPFNWR01hdHJpeD4gU1ZHU1ZHRWxlbWVu
dDo6Y3JlYXRlU1ZHTWF0cml4KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdT
VkdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oCmluZGV4IDQx
YjFlN2M4ZTJjYzczMDhiZWQ4ZGFkMTcxYjc0MDgwM2Y2N2UyMTguLjYzZDE2ODcyMmM3YzhhMDA5
OTM1MmRlMjZmZDkzOTY5NDMzMGU4MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTVkdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaApA
QCAtNjEsOCArNjEsOCBAQCBwdWJsaWM6IC8vIERPTQogICAgIGZsb2F0IGN1cnJlbnRTY2FsZSgp
IGNvbnN0OwogICAgIHZvaWQgc2V0Q3VycmVudFNjYWxlKGZsb2F0KTsKIAotICAgIFNWR1BvaW50
JiBjdXJyZW50VHJhbnNsYXRlKCkgeyByZXR1cm4gbV9jdXJyZW50VHJhbnNsYXRlOyB9Ci0gICAg
RmxvYXRQb2ludCBjdXJyZW50VHJhbnNsYXRlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2N1cnJl
bnRUcmFuc2xhdGUtPnZhbHVlKCk7IH0KKyAgICBET01Qb2ludCYgY3VycmVudFRyYW5zbGF0ZSgp
IHsgcmV0dXJuIG1fY3VycmVudFRyYW5zbGF0ZTsgfQorICAgIEZsb2F0UG9pbnQgY3VycmVudFRy
YW5zbGF0ZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gRmxvYXRQb2ludChtX2N1cnJlbnRUcmFuc2xh
dGUtPngoKSwgbV9jdXJyZW50VHJhbnNsYXRlLT55KCkpOyB9CiAKICAgICB1bnNpZ25lZCBzdXNw
ZW5kUmVkcmF3KHVuc2lnbmVkIG1heFdhaXRNaWxsaXNlY29uZHMpOwogICAgIHZvaWQgdW5zdXNw
ZW5kUmVkcmF3KHVuc2lnbmVkIHN1c3BlbmRIYW5kbGVJZCk7CkBAIC04Niw3ICs4Niw3IEBAIHB1
YmxpYzogLy8gRE9NCiAgICAgc3RhdGljIFJlZjxTVkdOdW1iZXI+IGNyZWF0ZVNWR051bWJlcigp
OwogICAgIHN0YXRpYyBSZWY8U1ZHTGVuZ3RoPiBjcmVhdGVTVkdMZW5ndGgoKTsKICAgICBzdGF0
aWMgUmVmPFNWR0FuZ2xlPiBjcmVhdGVTVkdBbmdsZSgpOwotICAgIHN0YXRpYyBSZWY8U1ZHUG9p
bnQ+IGNyZWF0ZVNWR1BvaW50KCk7CisgICAgc3RhdGljIFJlZjxET01Qb2ludD4gY3JlYXRlU1ZH
UG9pbnQoKTsKICAgICBzdGF0aWMgUmVmPFNWR01hdHJpeD4gY3JlYXRlU1ZHTWF0cml4KCk7CiAg
ICAgc3RhdGljIFJlZjxTVkdSZWN0PiBjcmVhdGVTVkdSZWN0KCk7CiAgICAgc3RhdGljIFJlZjxT
VkdUcmFuc2Zvcm0+IGNyZWF0ZVNWR1RyYW5zZm9ybSgpOwpAQCAtMTY0LDcgKzE2NCw3IEBAIHBy
aXZhdGU6CiAgICAgUmVmUHRyPFNWR1ZpZXdFbGVtZW50PiBtX2N1cnJlbnRWaWV3RWxlbWVudDsK
ICAgICBTdHJpbmcgbV9jdXJyZW50Vmlld0ZyYWdtZW50SWRlbnRpZmllcjsKIAotICAgIFJlZjxT
VkdQb2ludD4gbV9jdXJyZW50VHJhbnNsYXRlIHsgU1ZHUG9pbnQ6OmNyZWF0ZSgpIH07CisgICAg
UmVmPERPTVBvaW50PiBtX2N1cnJlbnRUcmFuc2xhdGUgeyBET01Qb2ludDo6Y3JlYXRlKDAsIDAp
IH07CiAKICAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3RyeSB7ICp0aGlzIH07
CiAgICAgUmVmPFNWR0FuaW1hdGVkTGVuZ3RoPiBtX3ggeyBTVkdBbmltYXRlZExlbmd0aDo6Y3Jl
YXRlKHRoaXMsIFNWR0xlbmd0aE1vZGU6OldpZHRoKSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0Vs
ZW1lbnQuaWRsCmluZGV4IDQ0YWE1MTk2YzZlYzYyNzliMDFmNTQ1YzdmNTU3YjM3NDYzNDhmMTAu
LmYxNmM0MTFiYjIzMWZjZWVlNTgyZGQ1Nzk3Y2E2ZGE1NDc0ZTVjNWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHU1ZHRWxlbWVudC5pZGwKQEAgLTQyLDcgKzQyLDcgQEAKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgYm9vbGVhbiB1c2VDdXJyZW50VmlldzsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgU1ZH
Vmlld1NwZWMgY3VycmVudFZpZXc7CiAgICAgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCBj
dXJyZW50U2NhbGU7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR1BvaW50IGN1cnJlbnRUcmFu
c2xhdGU7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVBvaW50IGN1cnJlbnRUcmFuc2xhdGU7
CiAKICAgICB1bnNpZ25lZCBsb25nIHN1c3BlbmRSZWRyYXcob3B0aW9uYWwgdW5zaWduZWQgbG9u
ZyBtYXhXYWl0TWlsbGlzZWNvbmRzID0gMCk7CiAgICAgdm9pZCB1bnN1c3BlbmRSZWRyYXcob3B0
aW9uYWwgdW5zaWduZWQgbG9uZyBzdXNwZW5kSGFuZGxlSWQgPSAwKTsKQEAgLTY4LDcgKzY4LDcg
QEAKICAgICBbTmV3T2JqZWN0XSBTVkdOdW1iZXIgY3JlYXRlU1ZHTnVtYmVyKCk7CiAgICAgW05l
d09iamVjdF0gU1ZHTGVuZ3RoIGNyZWF0ZVNWR0xlbmd0aCgpOwogICAgIFtOZXdPYmplY3RdIFNW
R0FuZ2xlIGNyZWF0ZVNWR0FuZ2xlKCk7Ci0gICAgW05ld09iamVjdF0gU1ZHUG9pbnQgY3JlYXRl
U1ZHUG9pbnQoKTsKKyAgICBbTmV3T2JqZWN0XSBET01Qb2ludCBjcmVhdGVTVkdQb2ludCgpOwog
ICAgIFtOZXdPYmplY3RdIFNWR01hdHJpeCBjcmVhdGVTVkdNYXRyaXgoKTsKICAgICBbTmV3T2Jq
ZWN0XSBTVkdSZWN0IGNyZWF0ZVNWR1JlY3QoKTsKICAgICBbTmV3T2JqZWN0XSBTVkdUcmFuc2Zv
cm0gY3JlYXRlU1ZHVHJhbnNmb3JtKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHU3RyaW5nTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0cmluZ0xpc3QuaAppbmRl
eCAzYjM3NjVjNWQ5ZTA3NDY5MDBhMmQ3Nzk3OWZmZGY1OGI0M2FkZDM1Li4xMTFmMDY3ZTY5MjY2
N2IwNmYyYzhkYThmYWIyNzdkMjdlYTI3Yjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHU3RyaW5nTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHJpbmdMaXN0
LmgKQEAgLTM3LDkgKzM3LDkgQEAgY2xhc3MgU1ZHU3RyaW5nTGlzdCBmaW5hbCA6IHB1YmxpYyBT
VkdQcmltaXRpdmVMaXN0PFN0cmluZz4gewogICAgIHVzaW5nIEJhc2U6Om1faXRlbXM7CiAKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUmVmPFNWR1N0cmluZ0xpc3Q+IGNyZWF0ZShTVkdQcm9wZXJ0eU93
bmVyKiBvd25lcikKKyAgICBzdGF0aWMgUmVmPFNWR1N0cmluZ0xpc3Q+IGNyZWF0ZShET01MaXZl
UHJvcGVydHlPYnNlcnZlciogb2JzZXJ2ZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBTVkdTdHJpbmdMaXN0KG93bmVyKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFNWR1N0cmluZ0xpc3Qob2JzZXJ2ZXIpKTsKICAgICB9CiAKICAgICB2b2lkIHJlc2V0KGNv
bnN0IFN0cmluZyYgc3RyaW5nKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Rl
eHRDb250ZW50RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRF
bGVtZW50LmNwcAppbmRleCBkNTk4OTFlMzc4NzRkMzNhM2E5MGI1OGI5NGViYmM5N2ExMzQ0ZGM5
Li44OWMwZmFiNjk3MzM4YmZkNTM5ZDRlMjU0NzY0MmEzMWJiZWY2NTNhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcApAQCAtMzEsNyArMzEsNiBAQAog
I2luY2x1ZGUgIlJlbmRlclNWR1Jlc291cmNlLmgiCiAjaW5jbHVkZSAiUmVuZGVyU1ZHVGV4dC5o
IgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCi0jaW5jbHVkZSAiU1ZHUG9pbnQuaCIKICNpbmNsdWRl
ICJTVkdSZWN0LmgiCiAjaW5jbHVkZSAiU1ZHVGV4dFF1ZXJ5LmgiCiAjaW5jbHVkZSAiWE1MTmFt
ZXMuaCIKQEAgLTc1LDIwICs3NCwyMiBAQCBFeGNlcHRpb25PcjxmbG9hdD4gU1ZHVGV4dENvbnRl
bnRFbGVtZW50OjpnZXRTdWJTdHJpbmdMZW5ndGgodW5zaWduZWQgY2hhcm51bSwgdQogICAgIHJl
dHVybiBTVkdUZXh0UXVlcnkocmVuZGVyZXIoKSkuc3ViU3RyaW5nTGVuZ3RoKGNoYXJudW0sIG5j
aGFycyk7CiB9CiAKLUV4Y2VwdGlvbk9yPFJlZjxTVkdQb2ludD4+IFNWR1RleHRDb250ZW50RWxl
bWVudDo6Z2V0U3RhcnRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKQorRXhjZXB0aW9u
T3I8UmVmPERPTVBvaW50Pj4gU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRTdGFydFBvc2l0aW9u
T2ZDaGFyKHVuc2lnbmVkIGNoYXJudW0pCiB7CiAgICAgaWYgKGNoYXJudW0gPiBnZXROdW1iZXJP
ZkNoYXJzKCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbmRleFNpemVFcnJvciB9Owog
Ci0gICAgcmV0dXJuIFNWR1BvaW50OjpjcmVhdGUoU1ZHVGV4dFF1ZXJ5KHJlbmRlcmVyKCkpLnN0
YXJ0UG9zaXRpb25PZkNoYXJhY3RlcihjaGFybnVtKSk7CisgICAgYXV0byBzdGFydFBvc2l0aW9u
ID0gU1ZHVGV4dFF1ZXJ5KHJlbmRlcmVyKCkpLnN0YXJ0UG9zaXRpb25PZkNoYXJhY3RlcihjaGFy
bnVtKTsKKyAgICByZXR1cm4gRE9NUG9pbnQ6OmNyZWF0ZShzdGFydFBvc2l0aW9uLngoKSwgc3Rh
cnRQb3NpdGlvbi55KCkpOwogfQogCi1FeGNlcHRpb25PcjxSZWY8U1ZHUG9pbnQ+PiBTVkdUZXh0
Q29udGVudEVsZW1lbnQ6OmdldEVuZFBvc2l0aW9uT2ZDaGFyKHVuc2lnbmVkIGNoYXJudW0pCitF
eGNlcHRpb25PcjxSZWY8RE9NUG9pbnQ+PiBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldEVuZFBv
c2l0aW9uT2ZDaGFyKHVuc2lnbmVkIGNoYXJudW0pCiB7CiAgICAgaWYgKGNoYXJudW0gPiBnZXRO
dW1iZXJPZkNoYXJzKCkpCiAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbmRleFNpemVFcnJv
ciB9OwogCi0gICAgcmV0dXJuIFNWR1BvaW50OjpjcmVhdGUoU1ZHVGV4dFF1ZXJ5KHJlbmRlcmVy
KCkpLmVuZFBvc2l0aW9uT2ZDaGFyYWN0ZXIoY2hhcm51bSkpOworICAgIGF1dG8gZW5kUG9zaXRp
b24gPSAgU1ZHVGV4dFF1ZXJ5KHJlbmRlcmVyKCkpLmVuZFBvc2l0aW9uT2ZDaGFyYWN0ZXIoY2hh
cm51bSk7CisgICAgcmV0dXJuIERPTVBvaW50OjpjcmVhdGUoZW5kUG9zaXRpb24ueCgpLCBlbmRQ
b3NpdGlvbi55KCkpOwogfQogCiBFeGNlcHRpb25PcjxSZWY8U1ZHUmVjdD4+IFNWR1RleHRDb250
ZW50RWxlbWVudDo6Z2V0RXh0ZW50T2ZDaGFyKHVuc2lnbmVkIGNoYXJudW0pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmgKaW5kZXggZGIwZmVmMjNmMTY2MDJlNGUz
Zjc5ZmIyYjhjY2M1MmU1MmU5MjlkMi4uNjc0ZmY1OTEyN2M4OWQxZDA5OWQxY2JlNzgzZDc4NWYx
NjM5NzVjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaApA
QCAtMjcsNiArMjcsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgRE9NUG9pbnRJ
bml0OworY2xhc3MgRE9NUG9pbnQ7CiAKIGVudW0gU1ZHTGVuZ3RoQWRqdXN0VHlwZSB7CiAgICAg
U1ZHTGVuZ3RoQWRqdXN0VW5rbm93biwKQEAgLTc0LDggKzc1LDggQEAgcHVibGljOgogICAgIHVu
c2lnbmVkIGdldE51bWJlck9mQ2hhcnMoKTsKICAgICBmbG9hdCBnZXRDb21wdXRlZFRleHRMZW5n
dGgoKTsKICAgICBFeGNlcHRpb25PcjxmbG9hdD4gZ2V0U3ViU3RyaW5nTGVuZ3RoKHVuc2lnbmVk
IGNoYXJudW0sIHVuc2lnbmVkIG5jaGFycyk7Ci0gICAgRXhjZXB0aW9uT3I8UmVmPFNWR1BvaW50
Pj4gZ2V0U3RhcnRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKTsKLSAgICBFeGNlcHRp
b25PcjxSZWY8U1ZHUG9pbnQ+PiBnZXRFbmRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVt
KTsKKyAgICBFeGNlcHRpb25PcjxSZWY8RE9NUG9pbnQ+PiBnZXRTdGFydFBvc2l0aW9uT2ZDaGFy
KHVuc2lnbmVkIGNoYXJudW0pOworICAgIEV4Y2VwdGlvbk9yPFJlZjxET01Qb2ludD4+IGdldEVu
ZFBvc2l0aW9uT2ZDaGFyKHVuc2lnbmVkIGNoYXJudW0pOwogICAgIEV4Y2VwdGlvbk9yPFJlZjxT
VkdSZWN0Pj4gZ2V0RXh0ZW50T2ZDaGFyKHVuc2lnbmVkIGNoYXJudW0pOwogICAgIEV4Y2VwdGlv
bk9yPGZsb2F0PiBnZXRSb3RhdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKTsKICAgICBpbnQg
Z2V0Q2hhck51bUF0UG9zaXRpb24oRE9NUG9pbnRJbml0JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmlkbAppbmRleCBmODE2YTNmYWM1YTk2MzJhMWM0NGU5
MDg1N2I3YzA2NzQ4ZTZhYTYyLi5lMDQzYWQxMzcxOTc0ZTFjNzAzMWYwODIyMjlmOWU3OTEzNjJk
YWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmlkbApA
QCAtMzUsOCArMzUsOCBAQCBpbnRlcmZhY2UgU1ZHVGV4dENvbnRlbnRFbGVtZW50IDogU1ZHR3Jh
cGhpY3NFbGVtZW50IHsKICAgICBsb25nIGdldE51bWJlck9mQ2hhcnMoKTsKICAgICB1bnJlc3Ry
aWN0ZWQgZmxvYXQgZ2V0Q29tcHV0ZWRUZXh0TGVuZ3RoKCk7CiAgICAgW01heVRocm93RXhjZXB0
aW9uXSB1bnJlc3RyaWN0ZWQgZmxvYXQgZ2V0U3ViU3RyaW5nTGVuZ3RoKG9wdGlvbmFsIHVuc2ln
bmVkIGxvbmcgb2Zmc2V0ID0gMCwgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyBsZW5ndGggPSAwKTsK
LSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIE5ld09iamVjdF0gU1ZHUG9pbnQgZ2V0U3RhcnRQb3Np
dGlvbk9mQ2hhcihvcHRpb25hbCB1bnNpZ25lZCBsb25nIG9mZnNldCA9IDApOwotICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBTVkdQb2ludCBnZXRFbmRQb3NpdGlvbk9mQ2hhcihv
cHRpb25hbCB1bnNpZ25lZCBsb25nIG9mZnNldCA9IDApOworICAgIFtNYXlUaHJvd0V4Y2VwdGlv
biwgTmV3T2JqZWN0XSBET01Qb2ludCBnZXRTdGFydFBvc2l0aW9uT2ZDaGFyKG9wdGlvbmFsIHVu
c2lnbmVkIGxvbmcgb2Zmc2V0ID0gMCk7CisgICAgW01heVRocm93RXhjZXB0aW9uLCBOZXdPYmpl
Y3RdIERPTVBvaW50IGdldEVuZFBvc2l0aW9uT2ZDaGFyKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcg
b2Zmc2V0ID0gMCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uLCBOZXdPYmplY3RdIFNWR1JlY3Qg
Z2V0RXh0ZW50T2ZDaGFyKG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0ID0gMCk7CiAgICAg
W01heVRocm93RXhjZXB0aW9uXSB1bnJlc3RyaWN0ZWQgZmxvYXQgZ2V0Um90YXRpb25PZkNoYXIo
b3B0aW9uYWwgdW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwKTsKICAgICBsb25nIGdldENoYXJOdW1B
dFBvc2l0aW9uKERPTVBvaW50SW5pdCBwb2ludCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHVHJhbnNmb3JtLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtLmgK
aW5kZXggNmEyOWM3MmNmM2U3ZjMxM2Y3MDk2NTdhNDAxMjQ4MWMyMjNiOGRjZC4uMzNkYjY4ZjQy
OWFhN2ZhM2ZlZWFkYzIyOWNkMTk2ODQ1ZTZmY2JhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1RyYW5zZm9ybS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zv
cm0uaApAQCAtMzEsNyArMzEsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFNW
R1RyYW5zZm9ybSA6IHB1YmxpYyBTVkdWYWx1ZVByb3BlcnR5PFNWR1RyYW5zZm9ybVZhbHVlPiwg
cHVibGljIFNWR1Byb3BlcnR5T3duZXIgeworY2xhc3MgU1ZHVHJhbnNmb3JtIDogcHVibGljIFNW
R1ZhbHVlUHJvcGVydHk8U1ZHVHJhbnNmb3JtVmFsdWU+LCBwdWJsaWMgRE9NTGl2ZVByb3BlcnR5
T2JzZXJ2ZXIgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8U1ZHVHJhbnNmb3JtPiBjcmVhdGUo
U1ZHVHJhbnNmb3JtVmFsdWU6OlNWR1RyYW5zZm9ybVR5cGUgdHlwZSkKICAgICB7CkBAIC0xMzQs
MTcgKzEzNCwxNyBAQCBwcml2YXRlOgogICAgIHVzaW5nIEJhc2UgPSBTVkdWYWx1ZVByb3BlcnR5
PFNWR1RyYW5zZm9ybVZhbHVlPjsKIAogICAgIFNWR1RyYW5zZm9ybShTVkdUcmFuc2Zvcm1WYWx1
ZTo6U1ZHVHJhbnNmb3JtVHlwZSB0eXBlLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHRyYW5zZm9y
bSA9IHsgfSwgZmxvYXQgYW5nbGUgPSAwLCBjb25zdCBGbG9hdFBvaW50JiByb3RhdGlvbkNlbnRl
ciA9IHsgfSkKLSAgICAgICAgOiBCYXNlKFNWR1RyYW5zZm9ybVZhbHVlKHR5cGUsIFNWR01hdHJp
eDo6Y3JlYXRlKHRoaXMsIFNWR1Byb3BlcnR5QWNjZXNzOjpSZWFkV3JpdGUsIHRyYW5zZm9ybSks
IGFuZ2xlLCByb3RhdGlvbkNlbnRlcikpCisgICAgICAgIDogQmFzZShTVkdUcmFuc2Zvcm1WYWx1
ZSh0eXBlLCBTVkdNYXRyaXg6OmNyZWF0ZSh0aGlzLCB0cmFuc2Zvcm0pLCBhbmdsZSwgcm90YXRp
b25DZW50ZXIpKQogICAgIHsKICAgICB9CiAKLSAgICBTVkdQcm9wZXJ0eU93bmVyKiBvd25lcigp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fb3duZXI7IH0KKyAgICBET01MaXZlUHJvcGVydHlP
YnNlcnZlciogb2JzZXJ2ZXIoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX29ic2VydmVyOyB9
CiAKLSAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKFNWR1Byb3BlcnR5KiBwcm9wZXJ0eSkg
b3ZlcnJpZGUKKyAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKERPTUxpdmVQcm9wZXJ0eSog
cHJvcGVydHkpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBBU1NFUlRfVU5VU0VEKHByb3BlcnR5
LCBwcm9wZXJ0eSA9PSBtX3ZhbHVlLm1hdHJpeCgpLnB0cigpKTsKLSAgICAgICAgaWYgKG93bmVy
KCkpCi0gICAgICAgICAgICBvd25lcigpLT5jb21taXRQcm9wZXJ0eUNoYW5nZSh0aGlzKTsKKyAg
ICAgICAgaWYgKG9ic2VydmVyKCkpCisgICAgICAgICAgICBvYnNlcnZlcigpLT5jb21taXRQcm9w
ZXJ0eUNoYW5nZSh0aGlzKTsKICAgICAgICAgbV92YWx1ZS5tYXRyaXhEaWRDaGFuZ2UoKTsKICAg
ICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1MaXN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtTGlzdC5oCmluZGV4IDU0NGQ2MGIyZTYz
NWMxYzIwOTkzNGVlNDM1Y2Y0MTI1ZTZhNzFmMmIuLmU2MDQ1ZWQyNTYyMzIxZTkxNDE2NGEwZmIy
MDQ5NzQ4NzEwNWUyMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zv
cm1MaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybUxpc3QuaApAQCAt
MzgsMTQgKzM4LDE0IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZH
VHJhbnNmb3JtTGlzdCgpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUmVmPFNWR1RyYW5zZm9ybUxp
c3Q+IGNyZWF0ZShTVkdQcm9wZXJ0eU93bmVyKiBvd25lciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNj
ZXNzKQorICAgIHN0YXRpYyBSZWY8U1ZHVHJhbnNmb3JtTGlzdD4gY3JlYXRlKERPTUxpdmVQcm9w
ZXJ0eU9ic2VydmVyKiBvYnNlcnZlcikKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFNWR1RyYW5zZm9ybUxpc3Qob3duZXIsIGFjY2VzcykpOworICAgICAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBTVkdUcmFuc2Zvcm1MaXN0KG9ic2VydmVyKSk7CiAgICAgfQogCi0gICAgc3Rh
dGljIFJlZjxTVkdUcmFuc2Zvcm1MaXN0PiBjcmVhdGUoY29uc3QgU1ZHVHJhbnNmb3JtTGlzdCYg
b3RoZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcykKKyAgICBzdGF0aWMgUmVmPFNWR1RyYW5z
Zm9ybUxpc3Q+IGNyZWF0ZShjb25zdCBTVkdUcmFuc2Zvcm1MaXN0JiBvdGhlcikKICAgICB7Ci0g
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1RyYW5zZm9ybUxpc3Qob3RoZXIsIGFjY2Vz
cykpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdUcmFuc2Zvcm1MaXN0KG90aGVy
KSk7CiAgICAgfQogCiAgICAgRXhjZXB0aW9uT3I8UmVmPFNWR1RyYW5zZm9ybT4+IGNyZWF0ZVNW
R1RyYW5zZm9ybUZyb21NYXRyaXgoY29uc3QgUmVmPFNWR01hdHJpeD4mIG1hdHJpeCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHVmlld1NwZWMuY3BwCmluZGV4IDhmNDIzNTE2YjViZGJjNTI4N2NkYTQ0YWRmNDlm
YzYxOGRkYzMyZWMuLjUzY2MxNWRjOTBlNzdjYTkxMjRmNmNhZmEyOGRhMWFjNTA1OWNhZDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmNwcApAQCAtMzIsOSArMzIsOCBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBTVkdWaWV3U3BlYzo6U1ZHVmlld1NwZWMoU1ZHRWxlbWVudCYgY29udGV4
dEVsZW1lbnQpCi0gICAgOiBTVkdGaXRUb1ZpZXdCb3goJmNvbnRleHRFbGVtZW50LCBTVkdQcm9w
ZXJ0eUFjY2Vzczo6UmVhZE9ubHkpCisgICAgOiBTVkdGaXRUb1ZpZXdCb3goJmNvbnRleHRFbGVt
ZW50KQogICAgICwgbV9jb250ZXh0RWxlbWVudChtYWtlV2Vha1B0cihjb250ZXh0RWxlbWVudCkp
Ci0gICAgLCBtX3RyYW5zZm9ybShTVkdUcmFuc2Zvcm1MaXN0OjpjcmVhdGUoJmNvbnRleHRFbGVt
ZW50LCBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZE9ubHkpKQogewogICAgIHN0YXRpYyBzdGQ6Om9u
Y2VfZmxhZyBvbmNlRmxhZzsKICAgICBzdGQ6OmNhbGxfb25jZShvbmNlRmxhZywgW10gewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHVmlld1NwZWMuaAppbmRleCAyZTdlZjk3ODZjMWE4ODZmZDI1YWNmZWEwMzdmYzg1
MGQ3OWRlNTIwLi42ZWZjMDlmOTgzYzJjNDNjNmEzZDg1NWIwMmQzNDIyMjAwMzgyMWMwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVmlld1NwZWMuaApAQCAtNTUsNyArNTUsNyBAQCBwcml2YXRlOgogCiAgICAg
V2Vha1B0cjxTVkdFbGVtZW50PiBtX2NvbnRleHRFbGVtZW50OwogICAgIFN0cmluZyBtX3ZpZXdU
YXJnZXRTdHJpbmc7Ci0gICAgUmVmPFNWR1RyYW5zZm9ybUxpc3Q+IG1fdHJhbnNmb3JtOworICAg
IFJlZjxTVkdUcmFuc2Zvcm1MaXN0PiBtX3RyYW5zZm9ybSB7IFNWR1RyYW5zZm9ybUxpc3Q6OmNy
ZWF0ZSgpIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkda
b29tRXZlbnQuY3BwCmluZGV4IDY5NmZjZjE0MmUwY2Y0ODE3NWY1NWRlYmRmZWJjMDUxODU1OTVh
NDYuLjlkODU3NzI4OWY3NjVhZTk3ODUyYWE3ZTAyOTQ1OTMwMTA1NTViNTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdab29tRXZlbnQuY3BwCkBAIC0yMiw3ICsyMiw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiU1ZHWm9vbUV2ZW50LmgiCiAKLSNpbmNsdWRlICJTVkdQb2ludC5oIgor
I2luY2x1ZGUgIkRPTVBvaW50LmgiCiAjaW5jbHVkZSAiU1ZHUmVjdC5oIgogI2luY2x1ZGUgPHd0
Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAKQEAgLTUxLDkgKzUxLDkgQEAgdm9pZCBTVkdab29tRXZl
bnQ6OnNldFByZXZpb3VzU2NhbGUoZmxvYXQgc2NhbGUpCiAgICAgbV9wcmV2aW91c1NjYWxlID0g
c2NhbGU7CiB9CiAKLVJlZjxTVkdQb2ludD4gU1ZHWm9vbUV2ZW50OjpwcmV2aW91c1RyYW5zbGF0
ZSgpIGNvbnN0CitSZWY8RE9NUG9pbnQ+IFNWR1pvb21FdmVudDo6cHJldmlvdXNUcmFuc2xhdGUo
KSBjb25zdAogewotICAgIHJldHVybiBTVkdQb2ludDo6Y3JlYXRlKG1fcHJldmlvdXNUcmFuc2xh
dGUpOworICAgIHJldHVybiBET01Qb2ludDo6Y3JlYXRlKG1fcHJldmlvdXNUcmFuc2xhdGUueCgp
LCBtX3ByZXZpb3VzVHJhbnNsYXRlLnkoKSk7CiB9CiAKIGZsb2F0IFNWR1pvb21FdmVudDo6bmV3
U2NhbGUoKSBjb25zdApAQCAtNjYsOSArNjYsOSBAQCB2b2lkIFNWR1pvb21FdmVudDo6c2V0TmV3
U2NhbGUoZmxvYXQgc2NhbGUpCiAgICAgbV9uZXdTY2FsZSA9IHNjYWxlOwogfQogCi1SZWY8U1ZH
UG9pbnQ+IFNWR1pvb21FdmVudDo6bmV3VHJhbnNsYXRlKCkgY29uc3QKK1JlZjxET01Qb2ludD4g
U1ZHWm9vbUV2ZW50OjpuZXdUcmFuc2xhdGUoKSBjb25zdAogewotICAgIHJldHVybiBTVkdQb2lu
dDo6Y3JlYXRlKG1fbmV3VHJhbnNsYXRlKTsKKyAgICByZXR1cm4gRE9NUG9pbnQ6OmNyZWF0ZSht
X25ld1RyYW5zbGF0ZS54KCksIG1fbmV3VHJhbnNsYXRlLnkoKSk7CiB9CiAKIEV2ZW50SW50ZXJm
YWNlIFNWR1pvb21FdmVudDo6ZXZlbnRJbnRlcmZhY2UoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21FdmVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pv
b21FdmVudC5oCmluZGV4IGJiMTQ0NWJmMWQ4MmY1NjUxNWVhM2M0M2M0ZmQyMWJlYTRiYTk3MzIu
LjA3NjUwM2ZhNWMyYTkxOWU4N2JmNzRjYTdlOTUwOGVlODE0YTA4ZWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHWm9vbUV2ZW50LmgKQEAgLTI2LDcgKzI2LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBTVkdQb2ludDsKK2NsYXNzIERPTVBvaW50OwogY2xhc3MgU1ZHUmVjdDsKIAogY2xh
c3MgU1ZHWm9vbUV2ZW50IGZpbmFsIDogcHVibGljIFVJRXZlbnQgewpAQCAtNDAsMTIgKzQwLDEy
IEBAIHB1YmxpYzoKICAgICBmbG9hdCBwcmV2aW91c1NjYWxlKCkgY29uc3Q7CiAgICAgdm9pZCBz
ZXRQcmV2aW91c1NjYWxlKGZsb2F0KTsKIAotICAgIFJlZjxTVkdQb2ludD4gcHJldmlvdXNUcmFu
c2xhdGUoKSBjb25zdDsKKyAgICBSZWY8RE9NUG9pbnQ+IHByZXZpb3VzVHJhbnNsYXRlKCkgY29u
c3Q7CiAKICAgICBmbG9hdCBuZXdTY2FsZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0TmV3U2NhbGUo
ZmxvYXQpOwogCi0gICAgUmVmPFNWR1BvaW50PiBuZXdUcmFuc2xhdGUoKSBjb25zdDsKKyAgICBS
ZWY8RE9NUG9pbnQ+IG5ld1RyYW5zbGF0ZSgpIGNvbnN0OwogCiAgICAgRXZlbnRJbnRlcmZhY2Ug
ZXZlbnRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1pvb21FdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUV2ZW50
LmlkbAppbmRleCAyODYwZTRjOGQxNTRhZDA5NzUwZDU0YzRhNmU2OWE1NTZmMTU0NTViLi5iNTJh
N2Q0NDZiNmIyMmNiOGNmMjVhYWU3YzUyY2VjODdiZjkzZDA2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHWm9vbUV2ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Wm9vbUV2ZW50LmlkbApAQCAtMjYsOCArMjYsOCBAQAogaW50ZXJmYWNlIFNWR1pvb21FdmVudCA6
IFVJRXZlbnQgeyAKICAgICBbTmV3T2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgU1ZHUmVjdCB6
b29tUmVjdFNjcmVlbjsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0
IHByZXZpb3VzU2NhbGU7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR1BvaW50IHByZXZpb3Vz
VHJhbnNsYXRlOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Qb2ludCBwcmV2aW91c1RyYW5z
bGF0ZTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGZsb2F0IG5ld1NjYWxl
OwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdQb2ludCBuZXdUcmFuc2xhdGU7CisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVBvaW50IG5ld1RyYW5zbGF0ZTsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkRGVjb3JhdGVkUHJvcGVy
dHkuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkRGVjb3JhdGVk
UHJvcGVydHkuaAppbmRleCBjZWJhYTM2M2JmNTI3YmJiMzhlNTY3ZDNlM2Q0MmJmODQzMTAyYTc1
Li42ZGE5ZDQ0OWVjY2NmMTlmMDllY2ZhYWZjYTVhNThiOWM3ODQxZDhjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZERlY29yYXRlZFByb3BlcnR5
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWREZWNvcmF0
ZWRQcm9wZXJ0eS5oCkBAIC05NywxNSArOTcsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgLy8g
TWFuYWdpbmcgdGhlIHJlbGF0aW9uc2hpcCB3aXRoIHRoZSBvd25lci4KLSAgICB2b2lkIHNldERp
cnR5KCkgb3ZlcnJpZGUgeyBtX3N0YXRlID0gU1ZHUHJvcGVydHlTdGF0ZTo6RGlydHk7IH0KLSAg
ICBib29sIGlzRGlydHkoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3N0YXRlID09IFNWR1By
b3BlcnR5U3RhdGU6OkRpcnR5OyB9Ci0gICAgT3B0aW9uYWw8U3RyaW5nPiBzeW5jaHJvbml6ZSgp
IG92ZXJyaWRlCi0gICAgewotICAgICAgICBpZiAobV9zdGF0ZSA9PSBTVkdQcm9wZXJ0eVN0YXRl
OjpDbGVhbikKLSAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgICAgIG1fc3Rh
dGUgPSBTVkdQcm9wZXJ0eVN0YXRlOjpDbGVhbjsKLSAgICAgICAgcmV0dXJuIGJhc2VWYWxBc1N0
cmluZygpOwotICAgIH0KKyAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIGJhc2VWYWxBc1N0cmluZygpOyB9CiAKICAgICAvLyBVc2VkIGJ5IFJlbmRlclNW
R0VsZW1lbnRzIGFuZCBEdW1wUmVuZGVyVHJlZS4KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBQcm9w
ZXJ0eVR5cGU+CkBAIC0xMzMsNyArMTI1LDYgQEAgcHVibGljOgogcHJvdGVjdGVkOgogICAgIHN0
ZDo6dW5pcXVlX3B0cjxTVkdEZWNvcmF0ZWRQcm9wZXJ0eTxEZWNvcmF0aW9uVHlwZT4+IG1fYmFz
ZVZhbDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U1ZHRGVjb3JhdGVkUHJvcGVydHk8RGVjb3JhdGlv
blR5cGU+PiBtX2FuaW1WYWw7Ci0gICAgU1ZHUHJvcGVydHlTdGF0ZSBtX3N0YXRlIHsgU1ZHUHJv
cGVydHlTdGF0ZTo6Q2xlYW4gfTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJpbWl0aXZlUHJvcGVydHkuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJpbWl0aXZlUHJvcGVydHkuaAppbmRl
eCBlMTRmNjc5ZjMzNjNkZGM1YThmNDFjMDM1ZmRmNzM0ZWJjYjk2NjYxLi5kNDQ4MGY3NGEyZTM5
NmQxOGE5MzdkZjc4OTMwZjNkNWZiZmIxMThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByaW1pdGl2ZVByb3BlcnR5LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcmltaXRpdmVQcm9wZXJ0eS5oCkBA
IC04Nyw5ICs4Nyw3IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICAvLyBNYW5hZ2luZyB0aGUgcmVs
YXRpb25zaGlwIHdpdGggdGhlIG93bmVyLgotICAgIHZvaWQgc2V0RGlydHkoKSBvdmVycmlkZSB7
IG1fYmFzZVZhbC0+c2V0RGlydHkoKTsgfQotICAgIGJvb2wgaXNEaXJ0eSgpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIG1fYmFzZVZhbC0+aXNEaXJ0eSgpOyB9Ci0gICAgT3B0aW9uYWw8U3RyaW5n
PiBzeW5jaHJvbml6ZSgpIG92ZXJyaWRlIHsgcmV0dXJuIG1fYmFzZVZhbC0+c3luY2hyb25pemUo
KTsgfQorICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
YmFzZVZhbEFzU3RyaW5nKCk7IH0KIAogICAgIC8vIFVzZWQgYnkgUmVuZGVyU1ZHRWxlbWVudHMg
YW5kIER1bXBSZW5kZXJUcmVlLgogICAgIGNvbnN0IFByb3BlcnR5VHlwZSYgY3VycmVudFZhbHVl
KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0Fu
aW1hdGVkUHJvcGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5p
bWF0ZWRQcm9wZXJ0eS5jcHAKaW5kZXggZWMyZjNhNDg3ZjgzMGYxYzcyNmQwZjZiZTRjOTQyMmVj
OGYzMDFlOC4uZWRhNWM4NGMzNWZiYzdiZDI1NGQxYWRlMmZiMjU4MTY2NTgzZGMzYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0
eS5jcHAKQEAgLTMwLDEyICszMCwxMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNWR1By
b3BlcnR5T3duZXIqIFNWR0FuaW1hdGVkUHJvcGVydHk6Om93bmVyKCkgY29uc3QKK0RPTUxpdmVQ
cm9wZXJ0eU9ic2VydmVyKiBTVkdBbmltYXRlZFByb3BlcnR5OjpvYnNlcnZlcigpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIG1fY29udGV4dEVsZW1lbnQ7CiB9CiAKLXZvaWQgU1ZHQW5pbWF0ZWRQcm9w
ZXJ0eTo6Y29tbWl0UHJvcGVydHlDaGFuZ2UoU1ZHUHJvcGVydHkqKQordm9pZCBTVkdBbmltYXRl
ZFByb3BlcnR5Ojpjb21taXRQcm9wZXJ0eUNoYW5nZShET01MaXZlUHJvcGVydHkqKQogewogICAg
IGlmICghbV9jb250ZXh0RWxlbWVudCkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eS5oCmluZGV4IGM2Zjkz
MmU2ZGY2OWNjZWZhZmM5NjVlMzJjZDU2NjIwYTFmYzMzNjQuLmExMDQxZTYwNTI5ZGExZmQyMzE4
NjBlMjYwYjcxY2NmYjcwYzRhOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9w
ZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJv
cGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5LmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdt
YSBvbmNlCiAKLSNpbmNsdWRlICJTVkdQcm9wZXJ0eU93bmVyLmgiCisjaW5jbHVkZSAiRE9NTGl2
ZVByb3BlcnR5T2JzZXJ2ZXIuaCIKICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAt
MzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCiBjbGFzcyBTVkdFbGVtZW50
OwogCi1jbGFzcyBTVkdBbmltYXRlZFByb3BlcnR5IDogcHVibGljIFJlZkNvdW50ZWQ8U1ZHQW5p
bWF0ZWRQcm9wZXJ0eT4sIHB1YmxpYyBTVkdQcm9wZXJ0eU93bmVyIHsKK2NsYXNzIFNWR0FuaW1h
dGVkUHJvcGVydHkgOiBwdWJsaWMgUmVmQ291bnRlZDxTVkdBbmltYXRlZFByb3BlcnR5PiwgcHVi
bGljIERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5TVkdB
bmltYXRlZFByb3BlcnR5KCkgPSBkZWZhdWx0OwogICAgIApAQCAtNDcsOSArNDcsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBTdHJpbmcgYW5pbVZhbEFzU3RyaW5nKCkgY29uc3QgeyByZXR1cm4g
ZW1wdHlTdHJpbmcoKTsgfQogICAgIAogICAgIC8vIENvbnRyb2wgdGhlIHN5bmNocm9uaXphdGlv
biBiZXR3ZWVuIHRoZSBhdHRyaWJ1dGUgYW5kIGl0cyByZWZsZWN0aW9uIGluIGJhc2VWYWwuCi0g
ICAgdmlydHVhbCBib29sIGlzRGlydHkoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotICAgIHZp
cnR1YWwgdm9pZCBzZXREaXJ0eSgpIHsgfQotICAgIHZpcnR1YWwgT3B0aW9uYWw8U3RyaW5nPiBz
eW5jaHJvbml6ZSgpIHsgcmV0dXJuIFdURjo6bnVsbG9wdDsgfQorICAgIHZpcnR1YWwgU3RyaW5n
IHZhbHVlQXNTdHJpbmcoKSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9CiAgICAgCiAg
ICAgLy8gQ29udHJvbCB0aGUgYW5pbWF0aW9uIGxpZmUgY3ljbGUuCiAgICAgYm9vbCBpc0FuaW1h
dGluZygpIGNvbnN0IHsgcmV0dXJuIG1faXNBbmltYXRpbmc7IH0KQEAgLTY2LDggKzY0LDggQEAg
cHJvdGVjdGVkOgogICAgIHsKICAgICB9CiAgICAgCi0gICAgU1ZHUHJvcGVydHlPd25lciogb3du
ZXIoKSBjb25zdCBvdmVycmlkZTsKLSAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKFNWR1By
b3BlcnR5Kikgb3ZlcnJpZGU7CisgICAgRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVy
KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdm9pZCBjb21taXRQcm9wZXJ0eUNoYW5nZShET01MaXZl
UHJvcGVydHkqKSBvdmVycmlkZTsKICAgICAKICAgICBTVkdFbGVtZW50KiBtX2NvbnRleHRFbGVt
ZW50IHsgbnVsbHB0ciB9OwogICAgIGJvb2wgbV9pc0FuaW1hdGluZyB7IGZhbHNlIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5
TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0
eUxpc3QuaAppbmRleCBmNDI1NWQ3ZjZlNzViMTRhY2E4OGE4ODBiZmYzNmU2NTYzODNmNzE2Li5h
ZDIxYTk4MDZjNTRhZmMwNmVjYWE1YTcxMzI1Y2RiMjMxM2NhZjMxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TGlzdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlMaXN0LmgK
QEAgLTY4LDkgKzY4LDcgQEAgcHVibGljOgogICAgIH0KIAogICAgIC8vIE1hbmFnaW5nIHRoZSBy
ZWxhdGlvbnNoaXAgd2l0aCB0aGUgb3duZXIuCi0gICAgdm9pZCBzZXREaXJ0eSgpIG92ZXJyaWRl
IHsgbV9iYXNlVmFsLT5zZXREaXJ0eSgpOyB9Ci0gICAgYm9vbCBpc0RpcnR5KCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gbV9iYXNlVmFsLT5pc0RpcnR5KCk7IH0KLSAgICBPcHRpb25hbDxTdHJp
bmc+IHN5bmNocm9uaXplKCkgb3ZlcnJpZGUgeyByZXR1cm4gbV9iYXNlVmFsLT5zeW5jaHJvbml6
ZSgpOyB9CisgICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBiYXNlVmFsQXNTdHJpbmcoKTsgfQogCiAgICAgLy8gVXNlZCBieSBSZW5kZXJTVkdFbGVtZW50
cyBhbmQgRHVtcFJlbmRlclRyZWUuCiAgICAgY29uc3QgTGlzdFR5cGUmIGN1cnJlbnRWYWx1ZSgp
IGNvbnN0CkBAIC0xMTcsMTkgKzExNSwyNCBAQCBwcm90ZWN0ZWQ6CiAgICAgdGVtcGxhdGU8dHlw
ZW5hbWUuLi4gQXJndW1lbnRzPgogICAgIFNWR0FuaW1hdGVkUHJvcGVydHlMaXN0KFNWR0VsZW1l
bnQqIGNvbnRleHRFbGVtZW50LCBBcmd1bWVudHMmJi4uLiBhcmd1bWVudHMpCiAgICAgICAgIDog
U1ZHQW5pbWF0ZWRQcm9wZXJ0eShjb250ZXh0RWxlbWVudCkKLSAgICAgICAgLCBtX2Jhc2VWYWwo
TGlzdFR5cGU6OmNyZWF0ZSh0aGlzLCBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZFdyaXRlLCBzdGQ6
OmZvcndhcmQ8QXJndW1lbnRzPihhcmd1bWVudHMpLi4uKSkKKyAgICAgICAgLCBtX2Jhc2VWYWwo
TGlzdFR5cGU6OmNyZWF0ZSh0aGlzLCBzdGQ6OmZvcndhcmQ8QXJndW1lbnRzPihhcmd1bWVudHMp
Li4uKSkKICAgICB7CiAgICAgfQogCiAgICAgUmVmUHRyPExpc3RUeXBlPiYgZW5zdXJlQW5pbVZh
bCgpCiAgICAgewogICAgICAgICBpZiAoIW1fYW5pbVZhbCkKLSAgICAgICAgICAgIG1fYW5pbVZh
bCA9IExpc3RUeXBlOjpjcmVhdGUobV9iYXNlVmFsLCBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZE9u
bHkpOworICAgICAgICAgICAgbV9hbmltVmFsID0gTGlzdFR5cGU6OmNyZWF0ZShtX2Jhc2VWYWwu
Z2V0KCkpOwogICAgICAgICByZXR1cm4gbV9hbmltVmFsOwogICAgIH0KIAorICAgIGJvb2wgaXNQ
cm9wZXJ0eVJlYWRPbmx5KGNvbnN0IERPTUxpdmVQcm9wZXJ0eSYgcHJvcGVydHkpIGNvbnN0IG92
ZXJyaWRlCisgICAgeworICAgICAgICByZXR1cm4gbV9hbmltVmFsID09ICZwcm9wZXJ0eTsKKyAg
ICB9CisKICAgICAvLyBDYWxsZWQgd2hlbiBtX2Jhc2VWYWwgY2hhbmdlcyBvciBhbiBpdGVtIGlu
IG1fYmFzZVZhbCBjaGFuZ2VzLgotICAgIHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoU1ZHUHJv
cGVydHkqIHByb3BlcnR5KSBvdmVycmlkZQorICAgIHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2Uo
RE9NTGl2ZVByb3BlcnR5KiBwcm9wZXJ0eSkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIGlmICht
X2FuaW1WYWwpCiAgICAgICAgICAgICAqbV9hbmltVmFsID0gbV9iYXNlVmFsOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBhaXJB
Y2Nlc3NvckltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVk
UHJvcGVydHlQYWlyQWNjZXNzb3JJbXBsLmgKaW5kZXggNGEyNjlmYTVhOGYyN2NkMzM1NWU4MzQw
NmZhNTM4NTNkOTUyODljNS4uMzUwYmMwODhlYjQ1YTk2MDk4ZWE5MjQ3YTM3NTg1ODI4ZWUxMzUx
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQ
cm9wZXJ0eVBhaXJBY2Nlc3NvckltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVy
dGllcy9TVkdBbmltYXRlZFByb3BlcnR5UGFpckFjY2Vzc29ySW1wbC5oCkBAIC00NiwxNyArNDYs
MTEgQEAgcHVibGljOgogICAgIGNvbnN0ZXhwciBzdGF0aWMgY29uc3QgU1ZHTWVtYmVyQWNjZXNz
b3I8T3duZXJUeXBlPiYgc2luZ2xldG9uKCkgeyByZXR1cm4gQmFzZTo6dGVtcGxhdGUgc2luZ2xl
dG9uPFNWR0FuaW1hdGVkQW5nbGVPcmllbnRBY2Nlc3NvciwgcHJvcGVydHkxLCBwcm9wZXJ0eTI+
KCk7IH0KIAogcHJpdmF0ZToKLSAgICBPcHRpb25hbDxTdHJpbmc+IHN5bmNocm9uaXplKGNvbnN0
IE93bmVyVHlwZSYgb3duZXIpIGNvbnN0IGZpbmFsCisgICAgU3RyaW5nIHZhbHVlQXNTdHJpbmco
Y29uc3QgT3duZXJUeXBlJiBvd25lcikgY29uc3QgZmluYWwKICAgICB7Ci0gICAgICAgIGJvb2wg
ZGlydHkxID0gcHJvcGVydHkxKG93bmVyKS0+aXNEaXJ0eSgpOwotICAgICAgICBib29sIGRpcnR5
MiA9IHByb3BlcnR5Mihvd25lciktPmlzRGlydHkoKTsKLSAgICAgICAgaWYgKCEoZGlydHkxIHx8
IGRpcnR5MikpCi0gICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotCiAgICAgICAgIGF1
dG8gdHlwZSA9IHByb3BlcnR5Mihvd25lciktPmJhc2VWYWwoKTsKLQotICAgICAgICBTdHJpbmcg
c3RyaW5nMSA9IGRpcnR5MSA/ICpwcm9wZXJ0eTEob3duZXIpLT5zeW5jaHJvbml6ZSgpIDogcHJv
cGVydHkxKG93bmVyKS0+YmFzZVZhbEFzU3RyaW5nKCk7Ci0gICAgICAgIFN0cmluZyBzdHJpbmcy
ID0gZGlydHkyID8gKnByb3BlcnR5Mihvd25lciktPnN5bmNocm9uaXplKCkgOiBwcm9wZXJ0eTIo
b3duZXIpLT5iYXNlVmFsQXNTdHJpbmcoKTsKKyAgICAgICAgU3RyaW5nIHN0cmluZzEgPSBwcm9w
ZXJ0eTEob3duZXIpLT5iYXNlVmFsQXNTdHJpbmcoKTsKKyAgICAgICAgU3RyaW5nIHN0cmluZzIg
PSBwcm9wZXJ0eTIob3duZXIpLT5iYXNlVmFsQXNTdHJpbmcoKTsKICAgICAgICAgcmV0dXJuIHR5
cGUgPT0gU1ZHTWFya2VyT3JpZW50QXV0byB8fCB0eXBlID09IFNWR01hcmtlck9yaWVudEF1dG9T
dGFydFJldmVyc2UgPyBzdHJpbmcyIDogc3RyaW5nMTsKICAgICB9CiAKQEAgLTgzLDE1ICs3Nywx
MCBAQCBwdWJsaWM6CiAgICAgY29uc3RleHByIHN0YXRpYyBjb25zdCBTVkdNZW1iZXJBY2Nlc3Nv
cjxPd25lclR5cGU+JiBzaW5nbGV0b24oKSB7IHJldHVybiBCYXNlOjp0ZW1wbGF0ZSBzaW5nbGV0
b248U1ZHQW5pbWF0ZWRJbnRlZ2VyUGFpckFjY2Vzc29yLCBwcm9wZXJ0eTEsIHByb3BlcnR5Mj4o
KTsgfQogCiBwcml2YXRlOgotICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUoY29uc3Qg
T3duZXJUeXBlJiBvd25lcikgY29uc3QgZmluYWwKKyAgICBTdHJpbmcgdmFsdWVBc1N0cmluZyhj
b25zdCBPd25lclR5cGUmIG93bmVyKSBjb25zdCBmaW5hbAogICAgIHsKLSAgICAgICAgYm9vbCBk
aXJ0eTEgPSBwcm9wZXJ0eTEob3duZXIpLT5pc0RpcnR5KCk7Ci0gICAgICAgIGJvb2wgZGlydHky
ID0gcHJvcGVydHkyKG93bmVyKS0+aXNEaXJ0eSgpOwotICAgICAgICBpZiAoIShkaXJ0eTEgfHwg
ZGlydHkyKSkKLSAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAgICAgICAgU3Ry
aW5nIHN0cmluZzEgPSBkaXJ0eTEgPyAqcHJvcGVydHkxKG93bmVyKS0+c3luY2hyb25pemUoKSA6
IHByb3BlcnR5MShvd25lciktPmJhc2VWYWxBc1N0cmluZygpOwotICAgICAgICBTdHJpbmcgc3Ry
aW5nMiA9IGRpcnR5MiA/ICpwcm9wZXJ0eTIob3duZXIpLT5zeW5jaHJvbml6ZSgpIDogcHJvcGVy
dHkyKG93bmVyKS0+YmFzZVZhbEFzU3RyaW5nKCk7CisgICAgICAgIFN0cmluZyBzdHJpbmcxID0g
cHJvcGVydHkxKG93bmVyKS0+YmFzZVZhbEFzU3RyaW5nKCk7CisgICAgICAgIFN0cmluZyBzdHJp
bmcyID0gcHJvcGVydHkyKG93bmVyKS0+YmFzZVZhbEFzU3RyaW5nKCk7CiAgICAgICAgIHJldHVy
biBzdHJpbmcxID09IHN0cmluZzIgPyBzdHJpbmcxIDogc3RyaW5nMSArICIsICIgKyBzdHJpbmcy
OwogICAgIH0KIApAQCAtMTE0LDE5ICsxMDMsMTQgQEAgY2xhc3MgU1ZHQW5pbWF0ZWROdW1iZXJQ
YWlyQWNjZXNzb3IgZmluYWwgOiBwdWJsaWMgU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBhaXJBY2Nlc3MK
IAogcHVibGljOgogICAgIHVzaW5nIEJhc2U6OkJhc2U7Ci0gICAgdGVtcGxhdGU8UmVmPFNWR0Fu
aW1hdGVkTnVtYmVyPiBPd25lclR5cGU6Oipwcm9wZXJ0eTEsIFJlZjxTVkdBbmltYXRlZE51bWJl
cj4gT3duZXJUeXBlOjoqcHJvcGVydHkyID4KKyAgICB0ZW1wbGF0ZTxSZWY8U1ZHQW5pbWF0ZWRO
dW1iZXI+IE93bmVyVHlwZTo6KnByb3BlcnR5MSwgUmVmPFNWR0FuaW1hdGVkTnVtYmVyPiBPd25l
clR5cGU6Oipwcm9wZXJ0eTI+CiAgICAgY29uc3RleHByIHN0YXRpYyBjb25zdCBTVkdNZW1iZXJB
Y2Nlc3NvcjxPd25lclR5cGU+JiBzaW5nbGV0b24oKSB7IHJldHVybiBCYXNlOjp0ZW1wbGF0ZSBz
aW5nbGV0b248U1ZHQW5pbWF0ZWROdW1iZXJQYWlyQWNjZXNzb3IsIHByb3BlcnR5MSwgcHJvcGVy
dHkyPigpOyB9CiAKIHByaXZhdGU6Ci0gICAgT3B0aW9uYWw8U3RyaW5nPiBzeW5jaHJvbml6ZShj
b25zdCBPd25lclR5cGUmIG93bmVyKSBjb25zdCBmaW5hbAorICAgIFN0cmluZyB2YWx1ZUFzU3Ry
aW5nKGNvbnN0IE93bmVyVHlwZSYgb3duZXIpIGNvbnN0IGZpbmFsCiAgICAgewotICAgICAgICBi
b29sIGRpcnR5MSA9IHByb3BlcnR5MShvd25lciktPmlzRGlydHkoKTsKLSAgICAgICAgYm9vbCBk
aXJ0eTIgPSBwcm9wZXJ0eTIob3duZXIpLT5pc0RpcnR5KCk7Ci0gICAgICAgIGlmICghKGRpcnR5
MSB8fCBkaXJ0eTIpKQotICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQotICAgICAg
ICBTdHJpbmcgc3RyaW5nMSA9IGRpcnR5MSA/ICpwcm9wZXJ0eTEob3duZXIpLT5zeW5jaHJvbml6
ZSgpIDogcHJvcGVydHkxKG93bmVyKS0+YmFzZVZhbEFzU3RyaW5nKCk7Ci0gICAgICAgIFN0cmlu
ZyBzdHJpbmcyID0gZGlydHkyID8gKnByb3BlcnR5Mihvd25lciktPnN5bmNocm9uaXplKCkgOiBw
cm9wZXJ0eTIob3duZXIpLT5iYXNlVmFsQXNTdHJpbmcoKTsKKyAgICAgICAgU3RyaW5nIHN0cmlu
ZzEgPSBwcm9wZXJ0eTEob3duZXIpLT5iYXNlVmFsQXNTdHJpbmcoKTsKKyAgICAgICAgU3RyaW5n
IHN0cmluZzIgPSBwcm9wZXJ0eTIob3duZXIpLT5iYXNlVmFsQXNTdHJpbmcoKTsKICAgICAgICAg
cmV0dXJuIHN0cmluZzEgPT0gc3RyaW5nMiA/IHN0cmluZzEgOiBzdHJpbmcxICsgIiwgIiArIHN0
cmluZzI7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGll
cy9TVkdBbmltYXRlZFZhbHVlUHJvcGVydHkuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0
aWVzL1NWR0FuaW1hdGVkVmFsdWVQcm9wZXJ0eS5oCmluZGV4IGRmZGIxNzFhMGNiODNmYzc1OTYw
NTllNzYwNGE3ZmQ4OTM1MWY1MjUuLjdmOTY1MjVhYjkzYjY0Y2YzN2NjYTUyYWY0N2RmYjRlNmMw
MWFmOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1h
dGVkVmFsdWVQcm9wZXJ0eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NW
R0FuaW1hdGVkVmFsdWVQcm9wZXJ0eS5oCkBAIC04NCw5ICs4NCw3IEBAIHB1YmxpYzoKICAgICB9
CiAKICAgICAvLyBNYW5hZ2luZyB0aGUgcmVsYXRpb25zaGlwIHdpdGggdGhlIG93bmVyLgotICAg
IHZvaWQgc2V0RGlydHkoKSBvdmVycmlkZSB7IG1fYmFzZVZhbC0+c2V0RGlydHkoKTsgfQotICAg
IGJvb2wgaXNEaXJ0eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fYmFzZVZhbC0+aXNEaXJ0
eSgpOyB9Ci0gICAgT3B0aW9uYWw8U3RyaW5nPiBzeW5jaHJvbml6ZSgpIG92ZXJyaWRlIHsgcmV0
dXJuIG1fYmFzZVZhbC0+c3luY2hyb25pemUoKTsgfQorICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5n
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gYmFzZVZhbEFzU3RyaW5nKCk7IH0KIAogICAgIC8v
IFVzZWQgYnkgUmVuZGVyU1ZHRWxlbWVudHMgYW5kIER1bXBSZW5kZXJUcmVlLgogICAgIGNvbnN0
IFZhbHVlVHlwZSYgY3VycmVudFZhbHVlKCkgY29uc3QKQEAgLTEzMSwyNiArMTI5LDI0IEBAIHBy
b3RlY3RlZDoKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmd1bWVudHM+CiAgICAgU1ZHQW5p
bWF0ZWRWYWx1ZVByb3BlcnR5KFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50LCBBcmd1bWVudHMm
Ji4uLiBhcmd1bWVudHMpCiAgICAgICAgIDogU1ZHQW5pbWF0ZWRQcm9wZXJ0eShjb250ZXh0RWxl
bWVudCkKLSAgICAgICAgLCBtX2Jhc2VWYWwoUHJvcGVydHlUeXBlOjpjcmVhdGUodGhpcywgU1ZH
UHJvcGVydHlBY2Nlc3M6OlJlYWRXcml0ZSwgVmFsdWVUeXBlKHN0ZDo6Zm9yd2FyZDxBcmd1bWVu
dHM+KGFyZ3VtZW50cykuLi4pKSkKLSAgICB7Ci0gICAgfQotCi0gICAgdGVtcGxhdGU8dHlwZW5h
bWUuLi4gQXJndW1lbnRzPgotICAgIFNWR0FuaW1hdGVkVmFsdWVQcm9wZXJ0eShTVkdFbGVtZW50
KiBjb250ZXh0RWxlbWVudCwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzLCBBcmd1bWVudHMmJi4u
LiBhcmd1bWVudHMpCi0gICAgICAgIDogU1ZHQW5pbWF0ZWRQcm9wZXJ0eShjb250ZXh0RWxlbWVu
dCkKLSAgICAgICAgLCBtX2Jhc2VWYWwoUHJvcGVydHlUeXBlOjpjcmVhdGUodGhpcywgYWNjZXNz
LCBWYWx1ZVR5cGUoc3RkOjpmb3J3YXJkPEFyZ3VtZW50cz4oYXJndW1lbnRzKS4uLikpKQorICAg
ICAgICAsIG1fYmFzZVZhbChQcm9wZXJ0eVR5cGU6OmNyZWF0ZSh0aGlzLCBWYWx1ZVR5cGUoc3Rk
Ojpmb3J3YXJkPEFyZ3VtZW50cz4oYXJndW1lbnRzKS4uLikpKQogICAgIHsKICAgICB9CiAKICAg
ICBSZWZQdHI8UHJvcGVydHlUeXBlPiYgZW5zdXJlQW5pbVZhbCgpCiAgICAgewogICAgICAgICBp
ZiAoIW1fYW5pbVZhbCkKLSAgICAgICAgICAgIG1fYW5pbVZhbCA9IFByb3BlcnR5VHlwZTo6Y3Jl
YXRlKHRoaXMsIFNWR1Byb3BlcnR5QWNjZXNzOjpSZWFkT25seSwgbV9iYXNlVmFsLT52YWx1ZSgp
KTsKKyAgICAgICAgICAgIG1fYW5pbVZhbCA9IFByb3BlcnR5VHlwZTo6Y3JlYXRlKHRoaXMsIG1f
YmFzZVZhbC0+dmFsdWUoKSk7CiAgICAgICAgIHJldHVybiBtX2FuaW1WYWw7CiAgICAgfQogCisg
ICAgYm9vbCBpc1Byb3BlcnR5UmVhZE9ubHkoY29uc3QgRE9NTGl2ZVByb3BlcnR5JiBwcm9wZXJ0
eSkgY29uc3Qgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIHJldHVybiBtX2FuaW1WYWwgPT0gJnBy
b3BlcnR5OworICAgIH0KKwogICAgIC8vIENhbGxlZCB3aGVuIG1fYmFzZVZhbCBjaGFuZ2VzLgot
ICAgIHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoU1ZHUHJvcGVydHkqIHByb3BlcnR5KSBvdmVy
cmlkZQorICAgIHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoRE9NTGl2ZVByb3BlcnR5KiBwcm9w
ZXJ0eSkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIGlmIChtX2FuaW1WYWwpCiAgICAgICAgICAg
ICBtX2FuaW1WYWwtPnNldFZhbHVlKG1fYmFzZVZhbC0+dmFsdWUoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRpb25BZGRpdGl2ZUxpc3RGdW5j
dGlvbkltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGlvbkFk
ZGl0aXZlTGlzdEZ1bmN0aW9uSW1wbC5oCmluZGV4IDYxYTFkMDM2Y2ZkYTUyYmE0ZWE4YjcxZTUx
YmIyYzdiMTdhZGJjYjYuLjI5NTE1Mjk3MTYyN2I3ODIyMzcwODM1NmFhZTUxYmFiNjY2YTQxZTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGlvbkFk
ZGl0aXZlTGlzdEZ1bmN0aW9uSW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0
aWVzL1NWR0FuaW1hdGlvbkFkZGl0aXZlTGlzdEZ1bmN0aW9uSW1wbC5oCkBAIC0xNzYsMjkgKzE3
NiwyOSBAQCBwdWJsaWM6CiAgICAgICAgIGF1dG8mIGFuaW1hdGVkSXRlbXMgPSBhbmltYXRlZC0+
aXRlbXMoKTsKIAogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdG9JdGVtcy5zaXpl
KCk7ICsraSkgewotICAgICAgICAgICAgRmxvYXRQb2ludCBmcm9tID0gaSA8IGZyb21JdGVtcy5z
aXplKCkgPyBmcm9tSXRlbXNbaV0tPnZhbHVlKCkgOiBGbG9hdFBvaW50KCk7Ci0gICAgICAgICAg
ICBGbG9hdFBvaW50IHRvID0gdG9JdGVtc1tpXS0+dmFsdWUoKTsKLSAgICAgICAgICAgIEZsb2F0
UG9pbnQgdG9BdEVuZE9mRHVyYXRpb24gPSBpIDwgdG9BdEVuZE9mRHVyYXRpb25JdGVtcy5zaXpl
KCkgPyB0b0F0RW5kT2ZEdXJhdGlvbkl0ZW1zW2ldLT52YWx1ZSgpIDogRmxvYXRQb2ludCgpOwot
ICAgICAgICAgICAgRmxvYXRQb2ludCYgYW5pbWF0ZWQgPSBhbmltYXRlZEl0ZW1zW2ldLT52YWx1
ZSgpOworICAgICAgICAgICAgRmxvYXRQb2ludCBmcm9tID0gaSA8IGZyb21JdGVtcy5zaXplKCkg
PyBGbG9hdFBvaW50KGZyb21JdGVtc1tpXS0+eCgpLCBmcm9tSXRlbXNbaV0tPnkoKSkgOiBGbG9h
dFBvaW50KCk7CisgICAgICAgICAgICBGbG9hdFBvaW50IHRvID0gRmxvYXRQb2ludCh0b0l0ZW1z
W2ldLT54KCksIHRvSXRlbXNbaV0tPnkoKSk7CisgICAgICAgICAgICBGbG9hdFBvaW50IHRvQXRF
bmRPZkR1cmF0aW9uID0gaSA8IHRvQXRFbmRPZkR1cmF0aW9uSXRlbXMuc2l6ZSgpID8gRmxvYXRQ
b2ludCh0b0F0RW5kT2ZEdXJhdGlvbkl0ZW1zW2ldLT54KCksIHRvQXRFbmRPZkR1cmF0aW9uSXRl
bXNbaV0tPnkoKSkgOiBGbG9hdFBvaW50KCk7CisgICAgICAgICAgICBGbG9hdFBvaW50IGFuaW1h
dGVkID0gRmxvYXRQb2ludChhbmltYXRlZEl0ZW1zW2ldLT54KCksIGFuaW1hdGVkSXRlbXNbaV0t
PnkoKSk7CiAKLSAgICAgICAgICAgIGZsb2F0IGFuaW1hdGVkWCA9IEJhc2U6OmFuaW1hdGUocHJv
Z3Jlc3MsIHJlcGVhdENvdW50LCBmcm9tLngoKSwgdG8ueCgpLCB0b0F0RW5kT2ZEdXJhdGlvbi54
KCksIGFuaW1hdGVkLngoKSk7Ci0gICAgICAgICAgICBmbG9hdCBhbmltYXRlZFkgPSBCYXNlOjph
bmltYXRlKHByb2dyZXNzLCByZXBlYXRDb3VudCwgZnJvbS55KCksIHRvLnkoKSwgdG9BdEVuZE9m
RHVyYXRpb24ueSgpLCBhbmltYXRlZC55KCkpOwotCi0gICAgICAgICAgICBhbmltYXRlZCA9IHsg
YW5pbWF0ZWRYLCBhbmltYXRlZFkgfTsKKyAgICAgICAgICAgIGFuaW1hdGVkSXRlbXNbaV0tPnNl
dFgoQmFzZTo6YW5pbWF0ZShwcm9ncmVzcywgcmVwZWF0Q291bnQsIGZyb20ueCgpLCB0by54KCks
IHRvQXRFbmRPZkR1cmF0aW9uLngoKSwgYW5pbWF0ZWQueCgpKSk7CisgICAgICAgICAgICBhbmlt
YXRlZEl0ZW1zW2ldLT5zZXRZKEJhc2U6OmFuaW1hdGUocHJvZ3Jlc3MsIHJlcGVhdENvdW50LCBm
cm9tLnkoKSwgdG8ueSgpLCB0b0F0RW5kT2ZEdXJhdGlvbi55KCksIGFuaW1hdGVkLnkoKSkpOwog
ICAgICAgICB9CiAgICAgfQogCiBwcml2YXRlOgogICAgIHZvaWQgYWRkRnJvbUFuZFRvVmFsdWVz
KFNWR0VsZW1lbnQqKSBvdmVycmlkZQogICAgIHsKLSAgICAgICAgY29uc3QgVmVjdG9yPFJlZjxT
VkdQb2ludD4+JiBmcm9tSXRlbXMgPSBtX2Zyb20tPml0ZW1zKCk7Ci0gICAgICAgIFZlY3RvcjxS
ZWY8U1ZHUG9pbnQ+PiYgdG9JdGVtcyA9IG1fdG8tPml0ZW1zKCk7CisgICAgICAgIGNvbnN0IGF1
dG8mIGZyb21JdGVtcyA9IG1fZnJvbS0+aXRlbXMoKTsKKyAgICAgICAgYXV0byYgdG9JdGVtcyA9
IG1fdG8tPml0ZW1zKCk7CiAKICAgICAgICAgaWYgKCFmcm9tSXRlbXMuc2l6ZSgpIHx8IGZyb21J
dGVtcy5zaXplKCkgIT0gdG9JdGVtcy5zaXplKCkpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGZyb21JdGVtcy5zaXplKCk7ICsraSkKLSAg
ICAgICAgICAgIHRvSXRlbXNbaV0tPnNldFZhbHVlKGZyb21JdGVtc1tpXS0+dmFsdWUoKSArIHRv
SXRlbXNbaV0tPnZhbHVlKCkpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZnJv
bUl0ZW1zLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICB0b0l0ZW1zW2ldLT5zZXRYKGZyb21J
dGVtc1tpXS0+eCgpICsgdG9JdGVtc1tpXS0+eCgpKTsKKyAgICAgICAgICAgIHRvSXRlbXNbaV0t
PnNldFkoZnJvbUl0ZW1zW2ldLT55KCkgKyB0b0l0ZW1zW2ldLT55KCkpOworICAgICAgICB9CiAg
ICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZH
TWVtYmVyQWNjZXNzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR01lbWJl
ckFjY2Vzc29yLmgKaW5kZXggZjdiYmE2YWUwYTBlZWFiYjZlNjE4N2E1ODEwNGY3MjEyOGFjYWFm
YS4uZTU5Nzc4MDU3NjA0MTkxMzI3YzI3NDU4OWQ2MmFmNTc2N2JiYjNkZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHTWVtYmVyQWNjZXNzb3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdNZW1iZXJBY2Nlc3Nvci5oCkBAIC0zMCw4
ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRE9NTGl2ZVByb3BlcnR5
OwogY2xhc3MgU1ZHQW5pbWF0ZWRQcm9wZXJ0eTsKLWNsYXNzIFNWR1Byb3BlcnR5OwogCiB0ZW1w
bGF0ZTx0eXBlbmFtZSBPd25lclR5cGU+CiBjbGFzcyBTVkdNZW1iZXJBY2Nlc3NvciB7CkBAIC00
Myw5ICs0Myw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNBbmltYXRlZFByb3BlcnR5
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNBbmltYXRlZExl
bmd0aCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKLSAgICB2aXJ0dWFsIGJvb2wgbWF0Y2hl
cyhjb25zdCBPd25lclR5cGUmLCBjb25zdCBTVkdQcm9wZXJ0eSYpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CisgICAgdmlydHVhbCBib29sIG1hdGNoZXMoY29uc3QgT3duZXJUeXBlJiwgY29uc3Qg
RE9NTGl2ZVByb3BlcnR5JikgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJv
b2wgbWF0Y2hlcyhjb25zdCBPd25lclR5cGUmLCBjb25zdCBTVkdBbmltYXRlZFByb3BlcnR5Jikg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIE9wdGlvbmFsPFN0cmluZz4gc3lu
Y2hyb25pemUoY29uc3QgT3duZXJUeXBlJikgY29uc3QgeyByZXR1cm4gV1RGOjpudWxsb3B0OyB9
CisgICAgdmlydHVhbCBTdHJpbmcgdmFsdWVBc1N0cmluZyhjb25zdCBPd25lclR5cGUmKSBjb25z
dCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9CiAKICAgICB2aXJ0dWFsIFJlZlB0cjxTVkdBdHRy
aWJ1dGVBbmltYXRvcj4gY3JlYXRlQW5pbWF0b3IoT3duZXJUeXBlJiwgY29uc3QgUXVhbGlmaWVk
TmFtZSYsIEFuaW1hdGlvbk1vZGUsIENhbGNNb2RlLCBib29sLCBib29sKSBjb25zdCB7IHJldHVy
biBudWxscHRyOyB9CiAgICAgdmlydHVhbCB2b2lkIGFwcGVuZEFuaW1hdGVkSW5zdGFuY2UoT3du
ZXJUeXBlJiwgU1ZHQXR0cmlidXRlQW5pbWF0b3ImKSBjb25zdCB7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1BvaW50ZXJNZW1iZXJBY2Nlc3Nvci5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUG9pbnRlck1lbWJlckFjY2Vzc29yLmgK
aW5kZXggOGUyZjc2ZGNhYjRlOTBmYjM4ZWIzMzk2OWVhNjVjMDcwMjI0NTM4Ny4uYWY1M2Q2YzU2
ZmQ4Njk3ZTMwOTVlMDFjYmFhOTllODlkNzM2ZDIyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUG9pbnRlck1lbWJlckFjY2Vzc29yLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUG9pbnRlck1lbWJlckFjY2Vzc29yLmgKQEAgLTQ3
LDkgKzQ3LDkgQEAgcHVibGljOgogICAgICAgICBwcm9wZXJ0eShvd25lciktPmRldGFjaCgpOwog
ICAgIH0KIAotICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUoY29uc3QgT3duZXJUeXBl
JiBvd25lcikgY29uc3Qgb3ZlcnJpZGUKKyAgICBTdHJpbmcgdmFsdWVBc1N0cmluZyhjb25zdCBP
d25lclR5cGUmIG93bmVyKSBjb25zdCBvdmVycmlkZQogICAgIHsKLSAgICAgICAgcmV0dXJuIHBy
b3BlcnR5KG93bmVyKS0+c3luY2hyb25pemUoKTsKKyAgICAgICAgcmV0dXJuIHByb3BlcnR5KG93
bmVyKS0+dmFsdWVBc1N0cmluZygpOwogICAgIH0KIAogcHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHkuaCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5LmgKaW5kZXggY2U2NWNiMTEwZDFmYjQ2NmUy
MjllYzc5YzlkZDAxN2U4NjEyOTk2Ny4uNzZhOTdjNTk5ZWM4ZTNjNGNlM2MwNGJlNjFkNjFhMDg5
OGM0N2NkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJv
cGVydHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eS5o
CkBAIC0yMCw4MyArMjAsMjEgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJTVkdQcm9w
ZXJ0eU93bmVyLmgiCi0jaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CisjaW5jbHVkZSAiRE9NTGl2
ZVByb3BlcnR5LmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIGNsYXNzIFNW
R1Byb3BlcnR5QWNjZXNzIDogdWludDhfdCB7IFJlYWRXcml0ZSwgUmVhZE9ubHkgfTsKLWVudW0g
Y2xhc3MgU1ZHUHJvcGVydHlTdGF0ZSA6IHVpbnQ4X3QgeyBDbGVhbiwgRGlydHkgfTsKLQotY2xh
c3MgU1ZHUHJvcGVydHkgOiBwdWJsaWMgUmVmQ291bnRlZDxTVkdQcm9wZXJ0eT4geworY2xhc3Mg
U1ZHUHJvcGVydHkgOiBwdWJsaWMgRE9NTGl2ZVByb3BlcnR5LCBwdWJsaWMgUmVmQ291bnRlZDxT
VkdQcm9wZXJ0eT4gewogcHVibGljOgogICAgIHZpcnR1YWwgflNWR1Byb3BlcnR5KCkgPSBkZWZh
dWx0OwogCi0gICAgLy8gTWFuYWdpbmcgdGhlIHJlbGF0aW9uc2hpcCB3aXRoIHRoZSBvd25lci4K
LSAgICBib29sIGlzQXR0YWNoZWQoKSBjb25zdCB7IHJldHVybiBtX293bmVyOyB9Ci0gICAgdm9p
ZCBhdHRhY2goU1ZHUHJvcGVydHlPd25lciogb3duZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2Vz
cykKLSAgICB7Ci0gICAgICAgIEFTU0VSVCghbV9vd25lcik7Ci0gICAgICAgIEFTU0VSVChtX3N0
YXRlID09IFNWR1Byb3BlcnR5U3RhdGU6OkNsZWFuKTsKLSAgICAgICAgbV9vd25lciA9IG93bmVy
OwotICAgICAgICBtX2FjY2VzcyA9IGFjY2VzczsKLSAgICB9Ci0KLSAgICB2b2lkIGRldGFjaCgp
Ci0gICAgewotICAgICAgICBtX293bmVyID0gbnVsbHB0cjsKLSAgICAgICAgbV9hY2Nlc3MgPSBT
VkdQcm9wZXJ0eUFjY2Vzczo6UmVhZFdyaXRlOwotICAgICAgICBtX3N0YXRlID0gU1ZHUHJvcGVy
dHlTdGF0ZTo6Q2xlYW47Ci0gICAgfQotCi0gICAgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVs
ZW1lbnQoKSBjb25zdAotICAgIHsKLSAgICAgICAgaWYgKCFtX293bmVyKQotICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIHJldHVybiBtX293bmVyLT5hdHRyaWJ1dGVDb250ZXh0
RWxlbWVudCgpOwotICAgIH0KLQotICAgIHZvaWQgY29tbWl0Q2hhbmdlKCkKLSAgICB7Ci0gICAg
ICAgIGlmICghbV9vd25lcikKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgbV9vd25lci0+
Y29tbWl0UHJvcGVydHlDaGFuZ2UodGhpcyk7Ci0gICAgfQotCi0gICAgLy8gRE9NIGFjY2Vzcy4K
LSAgICBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MoKSBjb25zdCB7IHJldHVybiBtX2FjY2Vzczsg
fQotICAgIGJvb2wgaXNSZWFkT25seSgpIGNvbnN0IHsgcmV0dXJuIG1fYWNjZXNzID09IFNWR1By
b3BlcnR5QWNjZXNzOjpSZWFkT25seTsgfQotCi0gICAgLy8gU3luY2hyb25pemluZyB0aGUgU1ZH
IGF0dHJpYnV0ZSBhbmQgaXRzIHJlZmxlY3Rpb24gaGVyZS4KLSAgICBib29sIGlzRGlydHkoKSBj
b25zdCB7IHJldHVybiBtX3N0YXRlID09IFNWR1Byb3BlcnR5U3RhdGU6OkRpcnR5OyB9Ci0gICAg
dm9pZCBzZXREaXJ0eSgpIHsgbV9zdGF0ZSA9IFNWR1Byb3BlcnR5U3RhdGU6OkRpcnR5OyB9Ci0g
ICAgT3B0aW9uYWw8U3RyaW5nPiBzeW5jaHJvbml6ZSgpCi0gICAgewotICAgICAgICBpZiAobV9z
dGF0ZSA9PSBTVkdQcm9wZXJ0eVN0YXRlOjpDbGVhbikKLSAgICAgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7Ci0gICAgICAgIG1fc3RhdGUgPSBTVkdQcm9wZXJ0eVN0YXRlOjpDbGVhbjsKLSAg
ICAgICAgcmV0dXJuIHZhbHVlQXNTdHJpbmcoKTsKLSAgICB9Ci0KICAgICAvLyBUaGlzIGlzIHVz
ZWQgd2hlbiBjYWxsaW5nIHNldEF0dHJpYnV0ZSgpLgogICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVl
QXNTdHJpbmcoKSBjb25zdCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9CiAKLSAgICAvLyBWaXN1
YWwgU3R1ZGlvIGRvZXNuJ3Qgc2VlbSB0byBzZWUgdGhlc2UgcHJpdmF0ZSBjb25zdHJ1Y3RvcnMg
ZnJvbSBzdWJjbGFzc2VzLgotICAgIC8vIEZJWE1FOiBTZWUgd2hhdCBpdCB0YWtlcyB0byByZW1v
dmUgdGhpcyBoYWNrLgotI2lmICFDT01QSUxFUihNU1ZDKQogcHJvdGVjdGVkOgotI2VuZGlmCi0g
ICAgU1ZHUHJvcGVydHkoU1ZHUHJvcGVydHlPd25lciogb3duZXIgPSBudWxscHRyLCBTVkdQcm9w
ZXJ0eUFjY2VzcyBhY2Nlc3MgPSBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZFdyaXRlKQotICAgICAg
ICA6IG1fb3duZXIob3duZXIpCi0gICAgICAgICwgbV9hY2Nlc3MoYWNjZXNzKQotICAgIHsKLSAg
ICB9Ci0KLSAgICBTVkdQcm9wZXJ0eU93bmVyKiBtX293bmVyIHsgbnVsbHB0ciB9OwotICAgIFNW
R1Byb3BlcnR5QWNjZXNzIG1fYWNjZXNzIHsgU1ZHUHJvcGVydHlBY2Nlc3M6OlJlYWRXcml0ZSB9
OwotICAgIFNWR1Byb3BlcnR5U3RhdGUgbV9zdGF0ZSB7IFNWR1Byb3BlcnR5U3RhdGU6OkNsZWFu
IH07CisgICAgdXNpbmcgRE9NTGl2ZVByb3BlcnR5OjpET01MaXZlUHJvcGVydHk7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJv
cGVydGllcy9TVkdQcm9wZXJ0eUFjY2Vzc29yLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVy
dGllcy9TVkdQcm9wZXJ0eUFjY2Vzc29yLmgKaW5kZXggZmY4YzRjZGU2ZGQwZjNjYWZiYzhmMjdi
MjcwMjk3MGUzNWY0ODc2NC4uOGQxMjgxODI3ZDRmYjk4ODkzYmZmMWYyNDllMGIzNTY4ODIyNzVm
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlB
Y2Nlc3Nvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5
QWNjZXNzb3IuaApAQCAtNDAsNyArNDAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdXNpbmcgQmFzZTo6
cHJvcGVydHk7CiAgICAgdXNpbmcgQmFzZTo6c2luZ2xldG9uOwogCi0gICAgYm9vbCBtYXRjaGVz
KGNvbnN0IE93bmVyVHlwZSYgb3duZXIsIGNvbnN0IFNWR1Byb3BlcnR5JiBwcm9wZXJ0eSkgY29u
c3Qgb3ZlcnJpZGUKKyAgICBib29sIG1hdGNoZXMoY29uc3QgT3duZXJUeXBlJiBvd25lciwgY29u
c3QgRE9NTGl2ZVByb3BlcnR5JiBwcm9wZXJ0eSkgY29uc3Qgb3ZlcnJpZGUKICAgICB7CiAgICAg
ICAgIHJldHVybiB0aGlzLT5wcm9wZXJ0eShvd25lcikucHRyKCkgPT0gJnByb3BlcnR5OwogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5
TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlMaXN0LmgK
aW5kZXggY2JiMDBhZjEwMzAyNTlmYTNjMDQxYTNmMGYyYWI3ODczYzdkZDNjZC4uYzEzNDY0Mzg4
NWYxYmVhYWZiOTdhN2I3ZjVkNGVlMGZkODIzZmMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlMaXN0LmgKQEAgLTMwLDcgKzMwLDcgQEAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgUHJvcGVydHlUeXBlPgotY2xhc3Mg
U1ZHUHJvcGVydHlMaXN0IDogcHVibGljIFNWR0xpc3Q8UmVmPFByb3BlcnR5VHlwZT4+LCBwdWJs
aWMgU1ZHUHJvcGVydHlPd25lciB7CitjbGFzcyBTVkdQcm9wZXJ0eUxpc3QgOiBwdWJsaWMgU1ZH
TGlzdDxSZWY8UHJvcGVydHlUeXBlPj4sIHB1YmxpYyBET01MaXZlUHJvcGVydHlPYnNlcnZlciB7
CiBwdWJsaWM6CiAgICAgdXNpbmcgQmFzZUxpc3QgPSBTVkdMaXN0PFJlZjxQcm9wZXJ0eVR5cGU+
PjsKICAgICB1c2luZyBCYXNlTGlzdDo6aXNFbXB0eTsKQEAgLTQyLDEzICs0MiwxMiBAQCBwdWJs
aWM6CiAjaWYgIUNPTVBJTEVSKE1TVkMpCiBwcm90ZWN0ZWQ6CiAjZW5kaWYKLSAgICB1c2luZyBT
VkdQcm9wZXJ0eU93bmVyOjpTVkdQcm9wZXJ0eU93bmVyOworICAgIHVzaW5nIERPTUxpdmVQcm9w
ZXJ0eU9ic2VydmVyOjpET01MaXZlUHJvcGVydHlPYnNlcnZlcjsKICAgICB1c2luZyBCYXNlTGlz
dDo6bV9pdGVtczsKLSAgICB1c2luZyBCYXNlTGlzdDo6bV9hY2Nlc3M7Ci0gICAgdXNpbmcgQmFz
ZUxpc3Q6Om1fb3duZXI7CisgICAgdXNpbmcgQmFzZUxpc3Q6Om1fb2JzZXJ2ZXI7CiAKLSAgICBT
VkdQcm9wZXJ0eUxpc3QoU1ZHUHJvcGVydHlPd25lciogb3duZXIgPSBudWxscHRyLCBTVkdQcm9w
ZXJ0eUFjY2VzcyBhY2Nlc3MgPSBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZFdyaXRlKQotICAgICAg
ICA6IEJhc2VMaXN0KG93bmVyLCBhY2Nlc3MpCisgICAgU1ZHUHJvcGVydHlMaXN0KERPTUxpdmVQ
cm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZlciA9IG51bGxwdHIpCisgICAgICAgIDogQmFzZUxpc3Qo
b2JzZXJ2ZXIpCiAgICAgewogICAgIH0KIApAQCAtNjQsMTIgKzYzLDE3IEBAIHByb3RlY3RlZDoK
ICAgICAgICAgICAgIGl0ZW0tPmRldGFjaCgpOwogICAgIH0KIAotICAgIFNWR1Byb3BlcnR5T3du
ZXIqIG93bmVyKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9vd25lcjsgfQorICAgIERPTUxp
dmVQcm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZlcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1f
b2JzZXJ2ZXI7IH0KIAotICAgIHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoU1ZHUHJvcGVydHkq
KSBvdmVycmlkZQorICAgIGJvb2wgaXNQcm9wZXJ0eVJlYWRPbmx5KGNvbnN0IERPTUxpdmVQcm9w
ZXJ0eSYpIGNvbnN0IG92ZXJyaWRlCiAgICAgewotICAgICAgICBpZiAob3duZXIoKSkKLSAgICAg
ICAgICAgIG93bmVyKCktPmNvbW1pdFByb3BlcnR5Q2hhbmdlKHRoaXMpOworICAgICAgICByZXR1
cm4gb2JzZXJ2ZXIoKSAmJiBvYnNlcnZlcigpLT5pc1Byb3BlcnR5UmVhZE9ubHkoKnRoaXMpOwor
ICAgIH0KKworICAgIHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoRE9NTGl2ZVByb3BlcnR5Kikg
b3ZlcnJpZGUKKyAgICB7CisgICAgICAgIGlmIChvYnNlcnZlcigpKQorICAgICAgICAgICAgb2Jz
ZXJ2ZXIoKS0+Y29tbWl0UHJvcGVydHlDaGFuZ2UodGhpcyk7CiAgICAgfQogCiAgICAgUmVmPFBy
b3BlcnR5VHlwZT4gYXQodW5zaWduZWQgaW5kZXgpIGNvbnN0IG92ZXJyaWRlCkBAIC04OCw3ICs5
Miw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgICAgIG5ld0l0ZW0gPSBuZXdJdGVtLT5jbG9uZSgp
OwogCiAgICAgICAgIC8vIFNwZWM6IEF0dGFjaCBuZXdJdGVtIHRvIHRoZSBsaXN0IG9iamVjdC4K
LSAgICAgICAgbmV3SXRlbS0+YXR0YWNoKHRoaXMsIG1fYWNjZXNzKTsKKyAgICAgICAgbmV3SXRl
bS0+YXR0YWNoKHRoaXMpOwogICAgICAgICBtX2l0ZW1zLmluc2VydChpbmRleCwgV1RGTW92ZShu
ZXdJdGVtKSk7CiAgICAgICAgIHJldHVybiBhdChpbmRleCk7CiAgICAgfQpAQCAtMTA5LDcgKzEx
Myw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgICAgIGl0ZW0gPSBXVEZNb3ZlKG5ld0l0ZW0pOwog
CiAgICAgICAgIC8vIFNwZWM6IEF0dGFjaCBuZXdJdGVtIHRvIHRoZSBsaXN0IG9iamVjdC4KLSAg
ICAgICAgaXRlbS0+YXR0YWNoKHRoaXMsIG1fYWNjZXNzKTsKKyAgICAgICAgaXRlbS0+YXR0YWNo
KHRoaXMpOwogICAgICAgICByZXR1cm4gYXQoaW5kZXgpOwogICAgIH0KIApAQCAtMTMyLDcgKzEz
Niw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgICAgIG5ld0l0ZW0gPSBuZXdJdGVtLT5jbG9uZSgp
OwogCiAgICAgICAgIC8vIFNwZWM6IEF0dGFjaCBuZXdJdGVtIHRvIHRoZSBsaXN0IG9iamVjdC4K
LSAgICAgICAgbmV3SXRlbS0+YXR0YWNoKHRoaXMsIG1fYWNjZXNzKTsKKyAgICAgICAgbmV3SXRl
bS0+YXR0YWNoKHRoaXMpOwogICAgICAgICBtX2l0ZW1zLmFwcGVuZChXVEZNb3ZlKG5ld0l0ZW0p
KTsKICAgICAgICAgcmV0dXJuIGF0KHNpemUoKSAtIDEpOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5T3duZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5T3duZXIuaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYzk4MThiZTlmODQwYzc2NDUzOThlNjFiNDg5MzgxODYyYTM0NjhmMy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eU93bmVyLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw1NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE4LTIwMTkgQXBwbGUgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKLWNsYXNz
IFNWR0VsZW1lbnQ7Ci1jbGFzcyBTVkdQcm9wZXJ0eTsKLQotY2xhc3MgU1ZHUHJvcGVydHlPd25l
ciB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCB+U1ZHUHJvcGVydHlPd25lcigpID0gZGVmYXVsdDsK
LQotICAgIHZpcnR1YWwgU1ZHUHJvcGVydHlPd25lciogb3duZXIoKSBjb25zdCB7IHJldHVybiBu
dWxscHRyOyB9Ci0gICAgCi0gICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBhdHRyaWJ1dGVD
b250ZXh0RWxlbWVudCgpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAoIW93bmVyKCkpCi0gICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgcmV0dXJuIG93bmVyKCktPmF0dHJpYnV0
ZUNvbnRleHRFbGVtZW50KCk7Ci0gICAgfQotICAgIAotICAgIHZpcnR1YWwgdm9pZCBjb21taXRQ
cm9wZXJ0eUNoYW5nZShTVkdQcm9wZXJ0eSogcHJvcGVydHkpCi0gICAgewotICAgICAgICBpZiAo
IW93bmVyKCkpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIG93bmVyKCktPmNvbW1pdFBy
b3BlcnR5Q2hhbmdlKHByb3BlcnR5KTsKLSAgICB9Ci0gICAgCi1wcm90ZWN0ZWQ6Ci0gICAgU1ZH
UHJvcGVydHlPd25lcigpID0gZGVmYXVsdDsKLX07Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5T3duZXJSZWdpc3RyeS5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5LmgKaW5kZXgg
YTVmNzEzNjk3ZWEyYzRjNjAwYmE1MzdkYTI5NDFmNWRhOTllOTc4Yi4uMzE5YTUwODJhNTlkOWRl
NWI2MWRmZjIxYjVlYjM2OGZkMjg3YWM2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3Zn
L3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlPd25lclJlZ2lzdHJ5LmgKQEAgLTE3OCw3ICsx
NzgsNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBRdWFs
aWZpZWROYW1lIHByb3BlcnR5QXR0cmlidXRlTmFtZShjb25zdCBTVkdQcm9wZXJ0eSYgcHJvcGVy
dHkpIGNvbnN0IG92ZXJyaWRlCisgICAgUXVhbGlmaWVkTmFtZSBwcm9wZXJ0eUF0dHJpYnV0ZU5h
bWUoY29uc3QgRE9NTGl2ZVByb3BlcnR5JiBwcm9wZXJ0eSkgY29uc3Qgb3ZlcnJpZGUKICAgICB7
CiAgICAgICAgIFF1YWxpZmllZE5hbWUgYXR0cmlidXRlTmFtZSA9IG51bGxRTmFtZSgpOwogICAg
ICAgICBlbnVtZXJhdGVSZWN1cnNpdmVseShbJl0oY29uc3QgYXV0byYgZW50cnkpIC0+IGJvb2wg
ewpAQCAtMjExLDMzICsyMTEsMjAgQEAgcHVibGljOgogICAgICAgICB9KTsKICAgICB9CiAKLSAg
ICAvLyBGaW5kcyB0aGUgcHJvcGVydHkgd2hvc2UgbmFtZSBpcyBhdHRyaWJ1dGVOYW1lIGFuZCBy
ZXR1cm5zIHRoZSBzeW5jaHJvbml6ZQotICAgIC8vIHN0cmluZyB0aHJvdWdoIHRoZSBhc3NvY2lh
dGVkIFNWR01lbWJlckFjY2Vzc29yLgotICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgY29uc3Qgb3ZlcnJpZGUKKyAgICAv
LyBGaW5kcyB0aGUgcHJvcGVydHkgd2hvc2UgbmFtZSBpcyBhdHRyaWJ1dGVOYW1lIGFuZCByZXR1
cm5zIHRoZSB2YWx1ZUFzU3RyaW5nCisgICAgLy8gdGhyb3VnaCB0aGUgYXNzb2NpYXRlZCBTVkdN
ZW1iZXJBY2Nlc3Nvci4KKyAgICBTdHJpbmcgdmFsdWVBc1N0cmluZyhjb25zdCBRdWFsaWZpZWRO
YW1lJiBhdHRyaWJ1dGVOYW1lKSBjb25zdCBvdmVycmlkZQogICAgIHsKLSAgICAgICAgT3B0aW9u
YWw8U3RyaW5nPiB2YWx1ZTsKKyAgICAgICAgU3RyaW5nIHZhbHVlOwogICAgICAgICBlbnVtZXJh
dGVSZWN1cnNpdmVseShbJl0oY29uc3QgYXV0byYgZW50cnkpIC0+IGJvb2wgewogICAgICAgICAg
ICAgaWYgKCFlbnRyeS5rZXkubWF0Y2hlcyhhdHRyaWJ1dGVOYW1lKSkKICAgICAgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIHZhbHVlID0gZW50cnkudmFsdWUtPnN5bmNocm9u
aXplKG1fb3duZXIpOworICAgICAgICAgICAgdmFsdWUgPSBlbnRyeS52YWx1ZS0+dmFsdWVBc1N0
cmluZyhtX293bmVyKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfSk7CiAg
ICAgICAgIHJldHVybiB2YWx1ZTsKICAgICB9CiAKLSAgICAvLyBFbnVtZXJhdGUgcmVjdXJzaXZl
bHkgdGhlIFNWR01lbWJlckFjY2Vzc29ycyBvZiB0aGUgT3duZXJUeXBlIGFuZCBhbGwgaXRzIEJh
c2VUeXBlcy4KLSAgICAvLyBDb2xsZWN0IGFsbCB0aGUgcGFpcnMgPEF0dHJpYnV0ZU5hbWUsIFN0
cmluZz4gb25seSBmb3IgdGhlIGRpcnR5IHByb3BlcnRpZXMuCi0gICAgSGFzaE1hcDxRdWFsaWZp
ZWROYW1lLCBTdHJpbmc+IHN5bmNocm9uaXplQWxsQXR0cmlidXRlcygpIGNvbnN0IG92ZXJyaWRl
Ci0gICAgewotICAgICAgICBIYXNoTWFwPFF1YWxpZmllZE5hbWUsIFN0cmluZz4gbWFwOwotICAg
ICAgICBlbnVtZXJhdGVSZWN1cnNpdmVseShbJl0oY29uc3QgYXV0byYgZW50cnkpIC0+IGJvb2wg
ewotICAgICAgICAgICAgaWYgKGF1dG8gc3RyaW5nID0gZW50cnkudmFsdWUtPnN5bmNocm9uaXpl
KG1fb3duZXIpKQotICAgICAgICAgICAgICAgIG1hcC5hZGQoZW50cnkua2V5LCAqc3RyaW5nKTsK
LSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9KTsKLSAgICAgICAgcmV0dXJuIG1h
cDsKLSAgICB9Ci0KICAgICBib29sIGlzQW5pbWF0ZWRQcm9wZXJ0eUF0dHJpYnV0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSBjb25zdCBvdmVycmlkZQogICAgIHsKICAgICAg
ICAgYm9vbCBpc0FuaW1hdGVkUHJvcGVydHlBdHRyaWJ1dGUgPSBmYWxzZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5UmVnaXN0cnkuaCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5UmVnaXN0cnkuaAppbmRleCAy
NGZlNjQyMzdlMmY1ZTVlMWFmZTg1NTEwZjEzNjYyNjJkZjQzNDA0Li5kZTI4ZWI5ZmUxNGE3ODdh
NmM1NTFlNGRkMGY1ODUwMzg3ZTI5YTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
cHJvcGVydGllcy9TVkdQcm9wZXJ0eVJlZ2lzdHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlSZWdpc3RyeS5oCkBAIC0zNywxMCArMzcsOSBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB+U1ZHUHJvcGVydHlSZWdpc3RyeSgpID0gZGVmYXVsdDsKIAogICAg
IHZpcnR1YWwgdm9pZCBkZXRhY2hBbGxQcm9wZXJ0aWVzKCkgY29uc3QgPSAwOwotICAgIHZpcnR1
YWwgUXVhbGlmaWVkTmFtZSBwcm9wZXJ0eUF0dHJpYnV0ZU5hbWUoY29uc3QgU1ZHUHJvcGVydHkm
KSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBRdWFsaWZpZWROYW1lIHByb3BlcnR5QXR0cmlidXRl
TmFtZShjb25zdCBET01MaXZlUHJvcGVydHkmKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBRdWFs
aWZpZWROYW1lIGFuaW1hdGVkUHJvcGVydHlBdHRyaWJ1dGVOYW1lKGNvbnN0IFNWR0FuaW1hdGVk
UHJvcGVydHkmKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBPcHRpb25hbDxTdHJpbmc+IHN5bmNo
cm9uaXplKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBIYXNo
TWFwPFF1YWxpZmllZE5hbWUsIFN0cmluZz4gc3luY2hyb25pemVBbGxBdHRyaWJ1dGVzKCkgY29u
c3QgPSAwOworICAgIHZpcnR1YWwgU3RyaW5nIHZhbHVlQXNTdHJpbmcoY29uc3QgUXVhbGlmaWVk
TmFtZSYpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCBpc0FuaW1hdGVkUHJvcGVydHlB
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJv
b2wgaXNBbmltYXRlZFN0eWxlUHJvcGVydHlBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYp
IGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NW
R1ZhbHVlUHJvcGVydHkuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVl
UHJvcGVydHkuaAppbmRleCA5ZjMxZTJkMGY1MzljYzIwMjNiNjNmODcwNjg2ZjBlZDgxZGMyOWNl
Li44NTJmMjc0ZDdiYjMxZTc1YTIyNTA5MTEzYzI3MjY5YTFkNzk5NGU5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eS5oCkBAIC02NCwxNCAr
NjQsMTQgQEAgcHJvdGVjdGVkOgogICAgIH0KIAogICAgIC8vIEJhc2UgYW5kIGRlZmF1bHQgY29u
c3RydWN0b3IuIERvIG5vdCB1c2UgInVzaW5nIFNWR1Byb3BlcnR5OjpTVkdQcm9wZXJ0eSIgYmVj
YXVzZSBvZiBXaW5kb3dzIGFuZCBHVEsgcG9ydHMuCi0gICAgU1ZHVmFsdWVQcm9wZXJ0eShTVkdQ
cm9wZXJ0eU93bmVyKiBvd25lciA9IG51bGxwdHIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcyA9
IFNWR1Byb3BlcnR5QWNjZXNzOjpSZWFkV3JpdGUpCi0gICAgICAgIDogU1ZHUHJvcGVydHkob3du
ZXIsIGFjY2VzcykKKyAgICBTVkdWYWx1ZVByb3BlcnR5KERPTUxpdmVQcm9wZXJ0eU9ic2VydmVy
KiBvYnNlcnZlciA9IG51bGxwdHIpCisgICAgICAgIDogU1ZHUHJvcGVydHkob2JzZXJ2ZXIpCiAg
ICAgewogICAgIH0KIAogICAgIC8vIENyZWF0ZSBhbiBpbml0aWFsaXplZCBhbmQgYXR0YWNoZWQg
cHJvcGVydHkuCi0gICAgU1ZHVmFsdWVQcm9wZXJ0eShTVkdQcm9wZXJ0eU93bmVyKiBvd25lciwg
U1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzLCBjb25zdCBQcm9wZXJ0eVR5cGUmIHZhbHVlKQotICAg
ICAgICA6IFNWR1Byb3BlcnR5KG93bmVyLCBhY2Nlc3MpCisgICAgU1ZHVmFsdWVQcm9wZXJ0eShE
T01MaXZlUHJvcGVydHlPYnNlcnZlciogb2JzZXJ2ZXIsIGNvbnN0IFByb3BlcnR5VHlwZSYgdmFs
dWUpCisgICAgICAgIDogU1ZHUHJvcGVydHkob2JzZXJ2ZXIpCiAgICAgICAgICwgbV92YWx1ZSh2
YWx1ZSkKICAgICB7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3Bl
cnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0
aWVzL1NWR1ZhbHVlUHJvcGVydHlMaXN0LmgKaW5kZXggMzAxMGMzM2E3NDA4OWJjNDRmYmI0MTBh
NTZmNzg1YTlmNzE3Y2NlZS4uYzViNzNhMGVhNGI5NmZiMWM0YjA0NDNlZDkxMTVhMDk0NGViNTJl
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9w
ZXJ0eUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdWYWx1ZVBy
b3BlcnR5TGlzdC5oCkBAIC03NSwxNCArNzUsMTQgQEAgcHJvdGVjdGVkOgogICAgIHVzaW5nIEJh
c2U6OnJlbW92ZTsKIAogICAgIC8vIEJhc2UgYW5kIGRlZmF1bHQgY29uc3RydWN0b3IuIERvIG5v
dCB1c2UgInVzaW5nIEJhc2U6OkJhc2UiIGJlY2F1c2Ugb2YgV2luZG93cyBhbmQgR1RLIHBvcnRz
LgotICAgIFNWR1ZhbHVlUHJvcGVydHlMaXN0KFNWR1Byb3BlcnR5T3duZXIqIG93bmVyID0gbnVs
bHB0ciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzID0gU1ZHUHJvcGVydHlBY2Nlc3M6OlJlYWRX
cml0ZSkKLSAgICAgICAgOiBCYXNlKG93bmVyLCBhY2Nlc3MpCisgICAgU1ZHVmFsdWVQcm9wZXJ0
eUxpc3QoRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyID0gbnVsbHB0cikKKyAgICAg
ICAgOiBCYXNlKG9ic2VydmVyKQogICAgIHsKICAgICB9CiAKICAgICAvLyBVc2VkIGJ5IFNWR0Fu
aW1hdGVkUHJvcGVydHlMaXN0IHdoZW4gY3JlYXRpbmcgaXQgYW5pbVZhbCBmcm9tIGJhc2VWYWwu
Ci0gICAgU1ZHVmFsdWVQcm9wZXJ0eUxpc3QoY29uc3QgU1ZHVmFsdWVQcm9wZXJ0eUxpc3QmIG90
aGVyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MgPSBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZFdy
aXRlKQotICAgICAgICA6IEJhc2Uob3RoZXIub3duZXIoKSwgYWNjZXNzKQorICAgIFNWR1ZhbHVl
UHJvcGVydHlMaXN0KGNvbnN0IFNWR1ZhbHVlUHJvcGVydHlMaXN0JiBvdGhlcikKKyAgICAgICAg
OiBCYXNlKG90aGVyLm9ic2VydmVyKCkpCiAgICAgewogICAgICAgICAvLyBDbG9uZSBhbGwgaXRl
bXMuCiAgICAgICAgIGZvciAoY29uc3QgYXV0byYgaXRlbSA6IG90aGVyLml0ZW1zKCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvTmF0aXZl
RnVuY3Rpb25QYXJhbWV0ZXJzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1ldGVycy5qcwppbmRleCA0YjRiYmEyODFlZmRk
YWJlNGRhYmNiZWM0MmVmNDA3ODE5MTMwYTAwLi5mYmRiOGU0YmVhMjMwNWRjNGNiZWM4YmYxMjA0
YmE4YWVhZTY0MDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvTmF0aXZlRnVuY3Rpb25QYXJhbWV0ZXJzLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9OYXRpdmVGdW5jdGlvblBhcmFtZXRlcnMu
anMKQEAgLTE1MzgsMTEgKzE1MzgsNiBAQCBXSS5OYXRpdmVQcm90b3R5cGVGdW5jdGlvblBhcmFt
ZXRlcnMgPSB7CiAgICAgICAgIF9fcHJvdG9fXzogbnVsbCwKICAgICB9LAogCi0gICAgU1ZHUG9p
bnQ6IHsKLSAgICAgICAgbWF0cml4VHJhbnNmb3JtOiAibWF0cml4IiwKLSAgICAgICAgX19wcm90
b19fOiBudWxsLAotICAgIH0sCi0KICAgICBTVkdQb2ludExpc3Q6IHsKICAgICAgICAgYXBwZW5k
SXRlbTogIml0ZW0iLAogICAgICAgICBnZXRJdGVtOiAiaW5kZXgiLApkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDg5NGVlODE3NGQ4NzE5MTQwMjEy
M2JlNDQyYTZjZmJkMDBhYmI5YWMuLmIzYzliMzQxMjY2YjQzMzk4NTNlNGExYmNhOTAzMmI3NTNm
MDU1MTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMiBAQAorMjAxOS0xMC0wOSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhh
bGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIFtTVkcyXTogUmVtb3ZlIHRoZSBpbnRlcmZhY2Ug
U1ZHUG9pbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5MTM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRwZXJsL2ZpbHRlci1idWlsZC13ZWJraXRfdW5pdHRlc3Qvc2hvdWxk
SWdub3JlTGluZV91bml0dGVzdHMucGw6CisKIDIwMTktMTAtMDcgIE1hdHQgTGV3aXMgIDxqbGV3
aXMzQGFwcGxlLmNvbT4KIAogICAgICAgICBCcmluZyB1cCBxdWV1ZXMgZm9yIENhdGFsaW5hCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvZmlsdGVyLWJ1aWxkLXdlYmtpdF91
bml0dGVzdC9zaG91bGRJZ25vcmVMaW5lX3VuaXR0ZXN0cy5wbCBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cGVybC9maWx0ZXItYnVpbGQtd2Via2l0X3VuaXR0ZXN0L3Nob3VsZElnbm9yZUxpbmVfdW5p
dHRlc3RzLnBsCmluZGV4IGMzODMwM2NjYmNlNTUwZDQzOGUwNWYyY2E2YmZkNTEzZmZlODU5YTAu
LmMxMDYwMGFjOTE3NWNmZTQ2MDFhOWNiOGFmODBmYTFiNTZmNmVhODMgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cGVybC9maWx0ZXItYnVpbGQtd2Via2l0X3VuaXR0ZXN0L3Nob3Vs
ZElnbm9yZUxpbmVfdW5pdHRlc3RzLnBsCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9m
aWx0ZXItYnVpbGQtd2Via2l0X3VuaXR0ZXN0L3Nob3VsZElnbm9yZUxpbmVfdW5pdHRlc3RzLnBs
CkBAIC01Niw3ICs1Niw3IEBAIENyZWF0aW5nIGhhc2h0YWJsZSBmb3IgSmF2YVNjcmlwdENvcmUv
cnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAogV3JvdGUgb3V0cHV0IHRvIC9Wb2x1bWVzL0Rh
dGEvQnVpbGQvUmVsZWFzZS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0V4cG9ydEZpbGVHZW5lcmF0
b3IuY3BwCiAvQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvVG9vbGNo
YWlucy9YY29kZURlZmF1bHQueGN0b29sY2hhaW4vdXNyL2Jpbi9saWJ0b29sOiBmaWxlOiAvVm9s
dW1lcy9EYXRhL0J1aWxkL0FOR0xFLmJ1aWxkL1JlbGVhc2UvQU5HTEUuYnVpbGQvT2JqZWN0cy1u
b3JtYWwvaTM4Ni9kZWJ1Zy5vIGhhcyBubyBzeW1ib2xzCiBTaG93aW5nIGZpcnN0IDIwMCBub3Rp
Y2VzIG9ubHkKLXByaW50ZiAiV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
TWVzc2FnZUV2ZW50LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
TmVlZGVkRXZlbnQuaWRsXG5XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
ZXNzaW9uLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGxc
bldlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RPTUZpbGVTeXN0ZW0uaWRsXG5XZWJDb3JlL01v
ZHVsZXMvZmlsZXN5c3RlbS9ET01GaWxlU3lzdGVtU3luYy5pZGxcbldlYkNvcmUvTW9kdWxlcy9m
aWxlc3lzdGVtL0RPTVdpbmRvd0ZpbGVTeXN0ZW0uaWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5
c3RlbS9EaXJlY3RvcnlFbnRyeS5pZGxcbldlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVj
dG9yeUVudHJ5U3luYy5pZGxcbldlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeVJl
YWRlci5pZGxcbldlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeVJlYWRlclN5bmMu
aWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9FbnRyaWVzQ2FsbGJhY2suaWRsXG5XZWJD
b3JlL01vZHVsZXMvZmlsZXN5c3RlbS9FbnRyeS5pZGxcbldlYkNvcmUvTW9kdWxlcy9maWxlc3lz
dGVtL0VudHJ5QXJyYXkuaWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9FbnRyeUFycmF5
U3luYy5pZGxcbldlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0VudHJ5Q2FsbGJhY2suaWRsXG5X
ZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9FbnRyeVN5bmMuaWRsXG5XZWJDb3JlL01vZHVsZXMv
ZmlsZXN5c3RlbS9FcnJvckNhbGxiYWNrLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0v
RmlsZUNhbGxiYWNrLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRmlsZUVudHJ5Lmlk
bFxuV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRmlsZUVudHJ5U3luYy5pZGxcbldlYkNvcmUv
TW9kdWxlcy9maWxlc3lzdGVtL0ZpbGVTeXN0ZW1DYWxsYmFjay5pZGxcbldlYkNvcmUvTW9kdWxl
cy9maWxlc3lzdGVtL0ZpbGVXcml0ZXIuaWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9G
aWxlV3JpdGVyQ2FsbGJhY2suaWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9GaWxlV3Jp
dGVyU3luYy5pZGxcbldlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL01ldGFkYXRhLmlkbFxuV2Vi
Q29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vTWV0YWRhdGFDYWxsYmFjay5pZGxcbldlYkNvcmUvTW9k
dWxlcy9maWxlc3lzdGVtL1dvcmtlckNvbnRleHRGaWxlU3lzdGVtLmlkbFxuV2ViQ29yZS9Nb2R1
bGVzL2dlb2xvY2F0aW9uL0Nvb3JkaW5hdGVzLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0
aW9uL0dlb2xvY2F0aW9uLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb3Bvc2l0
aW9uLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL05hdmlnYXRvckdlb2xvY2F0aW9u
LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uQ2FsbGJhY2suaWRsXG5X
ZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25FcnJvci5pZGxcbldlYkNvcmUvTW9k
dWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkVycm9yQ2FsbGJhY2suaWRsXG5XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0RPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5pZGxcbldlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCQW55LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJz
b3IuaWRsXG5XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmlkbFxuV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJJbmRleC5pZGxcbldlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UmFuZ2Uu
aWRsXG5XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmlkbFxuV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJUcmFuc2FjdGlvbi5pZGxcbldlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVmVy
c2lvbkNoYW5nZUV2ZW50LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJDb250
ZXh0SW5kZXhlZERhdGFiYXNlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL01lZGlh
U291cmNlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5pZGxc
bldlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXJMaXN0LmlkbFxuV2ViQ29y
ZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90aWZpY2F0aW9ucy5pZGxcbldlYkNv
cmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGxcbldlYkNvcmUvTW9kdWxl
cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5pZGxcbldlYkNvcmUvTW9kdWxlcy9u
b3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGxcbldlYkNvcmUv
TW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHROb3RpZmljYXRpb25zLmlkbFxuV2Vi
Q29yZS9Nb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3F1
b3RhL05hdmlnYXRvclN0b3JhZ2VRdW90YS5pZGxcbldlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9y
YWdlSW5mby5pZGxcbldlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlRXJyb3JDYWxsYmFjay5p
ZGxcbldlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlUXVvdGEuaWRsXG5XZWJDb3JlL01vZHVs
ZXMvcXVvdGEvU3RvcmFnZVF1b3RhQ2FsbGJhY2suaWRsXG5XZWJDb3JlL01vZHVsZXMvcXVvdGEv
U3RvcmFnZVVzYWdlQ2FsbGJhY2suaWRsXG5XZWJDb3JlL01vZHVsZXMvcXVvdGEvV29ya2VyTmF2
aWdhdG9yU3RvcmFnZVF1b3RhLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9ET01XaW5kb3dT
cGVlY2hTeW50aGVzaXMuaWRsXG5XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNp
cy5pZGxcbldlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzRXZlbnQuaWRsXG5X
ZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZS5pZGxcbldlYkNv
cmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVm9pY2UuaWRsXG5XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVk
aW9CdWZmZXJDYWxsYmFjay5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0J1ZmZl
clNvdXJjZU5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbE1lcmdlck5v
ZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hhbm5lbFNwbGl0dGVyTm9kZS5pZGxc
bldlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRleHQuaWRsXG5XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vR2Fpbk5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9MaXN0ZW5l
ci5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb05vZGUuaWRsXG5XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9B
dWRpb1BhcmFtLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2
ZW50LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0JpcXVhZEZpbHRlck5vZGUuaWRsXG5X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5pZGxcbldlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9ET01XaW5kb3dXZWJBdWRpby5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9EZWxheU5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRHluYW1pY3NDb21wcmVz
c29yTm9kZS5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9jZXNzb3JOb2Rl
LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9k
ZS5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvU291cmNlTm9k
ZS5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2NpbGxhdG9yTm9kZS5pZGxcbldlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250ZXh0LmlkbFxuV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudC5pZGxcbldlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BbmFseXNlck5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
V2F2ZVNoYXBlck5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVRhYmxlLmlk
bFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RPTVdpbmRvd1dlYkRhdGFiYXNlLmlkbFxu
V2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlLmlkbFxuV2ViQ29yZS9Nb2R1bGVz
L3dlYmRhdGFiYXNlL0RhdGFiYXNlQ2FsbGJhY2suaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViZGF0
YWJhc2UvRGF0YWJhc2VTeW5jLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTEVy
cm9yLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTEV4Y2VwdGlvbi5pZGxcbldl
YkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxSZXN1bHRTZXQuaWRsXG5XZWJDb3JlL01vZHVs
ZXMvd2ViZGF0YWJhc2UvU1FMUmVzdWx0U2V0Um93TGlzdC5pZGxcbldlYkNvcmUvTW9kdWxlcy93
ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRDYWxsYmFjay5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJk
YXRhYmFzZS9TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNl
L1NRTFRyYW5zYWN0aW9uQ2FsbGJhY2suaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2Uv
U1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFi
YXNlL1NRTFRyYW5zYWN0aW9uU3luYy5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9T
UUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjay5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFz
ZS9Xb3JrZXJDb250ZXh0V2ViRGF0YWJhc2UuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0
cy9DbG9zZUV2ZW50LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvRE9NV2luZG93V2Vi
U29ja2V0LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmlkbFxuV2Vi
Q29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV29ya2VyQ29udGV4dFdlYlNvY2tldC5pZGxcbldlYkNv
cmUvY3NzL0NTU0NoYXJzZXRSdWxlLmlkbFxuV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VMb2FkRXZl
bnQuaWRsXG5XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVJ1bGUuaWRsXG5XZWJDb3JlL2Nzcy9DU1NI
b3N0UnVsZS5pZGxcbldlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaWRsXG5XZWJDb3JlL2Nzcy9D
U1NNZWRpYVJ1bGUuaWRsXG5XZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5pZGxcbldlYkNvcmUvY3Nz
L0NTU1ByaW1pdGl2ZVZhbHVlLmlkbFxuV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGxcbldlYkNvcmUv
Y3NzL0NTU1J1bGVMaXN0LmlkbFxuV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGxc
bldlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5pZGxcbldlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQu
aWRsXG5XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuaWRsXG5XZWJDb3JlL2Nzcy9DU1NVbmtu
b3duUnVsZS5pZGxcbldlYkNvcmUvY3NzL0NTU1ZhbHVlLmlkbFxuV2ViQ29yZS9jc3MvQ1NTVmFs
dWVMaXN0LmlkbFxuV2ViQ29yZS9jc3MvQ291bnRlci5pZGxcbldlYkNvcmUvY3NzL0RPTVdpbmRv
d0NTUy5pZGxcbldlYkNvcmUvY3NzL0ZvbnRMb2FkZXIuaWRsXG5XZWJDb3JlL2Nzcy9NZWRpYUxp
c3QuaWRsXG5XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5pZGxcbldlYkNvcmUvY3NzL01lZGlh
UXVlcnlMaXN0TGlzdGVuZXIuaWRsXG5XZWJDb3JlL2Nzcy9SR0JDb2xvci5pZGxcbldlYkNvcmUv
Y3NzL1JlY3QuaWRsXG5XZWJDb3JlL2Nzcy9TdHlsZU1lZGlhLmlkbFxuV2ViQ29yZS9jc3MvU3R5
bGVTaGVldC5pZGxcbldlYkNvcmUvY3NzL1N0eWxlU2hlZXRMaXN0LmlkbFxuV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTRmlsdGVyVmFsdWUuaWRsXG5XZWJDb3JlL2Nzcy9XZWJLaXRDU1NGaWx0ZXJSdWxl
LmlkbFxuV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmlkbFxuV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5pZGxcbldlYkNvcmUvY3NzL1dlYktpdENTU01hdHJpeC5p
ZGxcbldlYkNvcmUvY3NzL1dlYktpdENTU01peEZ1bmN0aW9uVmFsdWUuaWRsXG5XZWJDb3JlL2Nz
cy9XZWJLaXRDU1NSZWdpb25SdWxlLmlkbFxuV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVHJhbnNmb3Jt
VmFsdWUuaWRsXG5XZWJDb3JlL2Nzcy9XZWJLaXRDU1NWaWV3cG9ydFJ1bGUuaWRsXG5XZWJDb3Jl
L2RvbS9BdHRyLmlkbFxuV2ViQ29yZS9kb20vQmVmb3JlTG9hZEV2ZW50LmlkbFxuV2ViQ29yZS9k
b20vQ0RBVEFTZWN0aW9uLmlkbFxuV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5pZGxcbldlYkNv
cmUvZG9tL0NsaWVudFJlY3QuaWRsXG5XZWJDb3JlL2RvbS9DbGllbnRSZWN0TGlzdC5pZGxcbldl
YkNvcmUvZG9tL0NsaXBib2FyZC5pZGxcbldlYkNvcmUvZG9tL0NvbW1lbnQuaWRsXG5XZWJDb3Jl
L2RvbS9Db21wb3NpdGlvbkV2ZW50LmlkbFxuV2ViQ29yZS9kb20vQ3VzdG9tRWxlbWVudENvbnN0
cnVjdG9yLmlkbFxuV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaWRsXG5XZWJDb3JlL2RvbS9ET01D
b3JlRXhjZXB0aW9uLmlkbFxuV2ViQ29yZS9kb20vRE9NRXJyb3IuaWRsXG5XZWJDb3JlL2RvbS9E
T01JbXBsZW1lbnRhdGlvbi5pZGxcbldlYkNvcmUvZG9tL0RPTVN0cmluZ0xpc3QuaWRsXG5XZWJD
b3JlL2RvbS9ET01TdHJpbmdNYXAuaWRsXG5XZWJDb3JlL2RvbS9EYXRhVHJhbnNmZXJJdGVtLmlk
bFxuV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbUxpc3QuaWRsXG5XZWJDb3JlL2RvbS9EZXZp
Y2VNb3Rpb25FdmVudC5pZGxcbldlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uRXZlbnQuaWRs
XG5XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGxcbldlYkNvcmUvZG9tL0RvY3VtZW50RnJhZ21lbnQu
aWRsXG5XZWJDb3JlL2RvbS9Eb2N1bWVudFR5cGUuaWRsXG5XZWJDb3JlL2RvbS9FbGVtZW50Lmlk
bFxuV2ViQ29yZS9kb20vRW50aXR5LmlkbFxuV2ViQ29yZS9kb20vRW50aXR5UmVmZXJlbmNlLmlk
bFxuV2ViQ29yZS9kb20vRXJyb3JFdmVudC5pZGxcbldlYkNvcmUvZG9tL0V2ZW50LmlkbFxuV2Vi
Q29yZS9kb20vRXZlbnRFeGNlcHRpb24uaWRsXG5XZWJDb3JlL2RvbS9FdmVudExpc3RlbmVyLmlk
bFxuV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaWRsXG5XZWJDb3JlL2RvbS9Gb2N1c0V2ZW50Lmlk
bFxuV2ViQ29yZS9kb20vSGFzaENoYW5nZUV2ZW50LmlkbFxuV2ViQ29yZS9kb20vS2V5Ym9hcmRF
dmVudC5pZGxcbldlYkNvcmUvZG9tL01lc3NhZ2VDaGFubmVsLmlkbFxuV2ViQ29yZS9kb20vTWVz
c2FnZUV2ZW50LmlkbFxuV2ViQ29yZS9kb20vTWVzc2FnZVBvcnQuaWRsXG5XZWJDb3JlL2RvbS9N
b3VzZUV2ZW50LmlkbFxuV2ViQ29yZS9kb20vTXV0YXRpb25FdmVudC5pZGxcbldlYkNvcmUvZG9t
L011dGF0aW9uT2JzZXJ2ZXIuaWRsXG5XZWJDb3JlL2RvbS9NdXRhdGlvblJlY29yZC5pZGxcbldl
YkNvcmUvZG9tL0RPTU5hbWVkRmxvd0NvbGxlY3Rpb24uaWRsXG5XZWJDb3JlL2RvbS9OYW1lZE5v
ZGVNYXAuaWRsXG5XZWJDb3JlL2RvbS9Ob2RlLmlkbFxuV2ViQ29yZS9kb20vTm9kZUZpbHRlci5p
ZGxcbldlYkNvcmUvZG9tL05vZGVJdGVyYXRvci5pZGxcbldlYkNvcmUvZG9tL05vZGVMaXN0Lmlk
bFxuV2ViQ29yZS9kb20vTm90YXRpb24uaWRsXG5XZWJDb3JlL2RvbS9PdmVyZmxvd0V2ZW50Lmlk
bFxuV2ViQ29yZS9kb20vUGFnZVRyYW5zaXRpb25FdmVudC5pZGxcbldlYkNvcmUvZG9tL1BvcFN0
YXRlRXZlbnQuaWRsXG5XZWJDb3JlL2RvbS9Qcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaWRsXG5XZWJD
b3JlL2RvbS9Qcm9ncmVzc0V2ZW50LmlkbFxuV2ViQ29yZS9kb20vUHJvZ3Jlc3NFdmVudC5pZGxc
bldlYkNvcmUvZG9tL1Byb3BlcnR5Tm9kZUxpc3QuaWRsXG5XZWJDb3JlL2RvbS9SYW5nZS5pZGxc
bldlYkNvcmUvZG9tL1JhbmdlRXhjZXB0aW9uLmlkbFxuV2ViQ29yZS9kb20vUmVxdWVzdEFuaW1h
dGlvbkZyYW1lQ2FsbGJhY2suaWRsXG5XZWJDb3JlL2RvbS9TaGFkb3dSb290LmlkbFxuV2ViQ29y
ZS9kb20vU3RyaW5nQ2FsbGJhY2suaWRsXG5XZWJDb3JlL2RvbS9UZXh0LmlkbFxuV2ViQ29yZS9k
b20vVGV4dEV2ZW50LmlkbFxuV2ViQ29yZS9kb20vVG91Y2guaWRsXG5XZWJDb3JlL2RvbS9Ub3Vj
aEV2ZW50LmlkbFxuV2ViQ29yZS9kb20vVG91Y2hMaXN0LmlkbFxuV2ViQ29yZS9kb20vVHJhbnNp
dGlvbkV2ZW50LmlkbFxuV2ViQ29yZS9kb20vVHJlZVdhbGtlci5pZGxcbldlYkNvcmUvZG9tL1VJ
RXZlbnQuaWRsXG5XZWJDb3JlL2RvbS9XZWJLaXRBbmltYXRpb25FdmVudC5pZGxcbldlYkNvcmUv
ZG9tL1dlYktpdE5hbWVkRmxvdy5pZGxcbldlYkNvcmUvZG9tL1dlYktpdFRyYW5zaXRpb25FdmVu
dC5pZGxcbldlYkNvcmUvZG9tL1doZWVsRXZlbnQuaWRsXG5XZWJDb3JlL2ZpbGVhcGkvQmxvYi5p
ZGxcbldlYkNvcmUvZmlsZWFwaS9GaWxlLmlkbFxuV2ViQ29yZS9maWxlYXBpL0ZpbGVFcnJvci5p
ZGxcbldlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmlkbFxuV2ViQ29yZS9maWxlYXBpL0Zp
bGVMaXN0LmlkbFxuV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXIuaWRsXG5XZWJDb3JlL2ZpbGVh
cGkvRmlsZVJlYWRlclN5bmMuaWRsXG5XZWJDb3JlL2h0bWwvRE9NRm9ybURhdGEuaWRsXG5XZWJD
b3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaWRsXG5XZWJDb3JlL2h0bWwvRE9NVG9rZW5M
aXN0LmlkbFxuV2ViQ29yZS9odG1sL0RPTVVSTC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MQWxsQ29s
bGVjdGlvbi5pZGxcbldlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGxcbldlYkNvcmUv
aHRtbC9IVE1MQXBwbGV0RWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1lbnQu
aWRsXG5XZWJDb3JlL2h0bWwvSFRNTEF1ZGlvRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1M
QlJFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxCYXNlRWxlbWVudC5pZGxcbldlYkNvcmUv
aHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVu
dC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9I
VE1MQ2FudmFzRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5pZGxcbldl
YkNvcmUvaHRtbC9IVE1MRExpc3RFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxEYXRhTGlz
dEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTERldGFpbHNFbGVtZW50LmlkbFxuV2ViQ29y
ZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxEaXJlY3RvcnlF
bGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxEaXZFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1s
L0hUTUxEb2N1bWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGxcbldlYkNvcmUv
aHRtbC9IVE1MRW1iZWRFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxGaWVsZFNldEVsZW1l
bnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEZvbnRFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hU
TUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uLmlkbFxuV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVu
dC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hU
TUxGcmFtZVNldEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEhSRWxlbWVudC5pZGxcbldl
YkNvcmUvaHRtbC9IVE1MSGVhZEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEhlYWRpbmdF
bGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxIdG1sRWxlbWVudC5pZGxcbldlYkNvcmUvaHRt
bC9IVE1MSUZyYW1lRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50Lmlk
bFxuV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEtl
eWdlbkVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTExJRWxlbWVudC5pZGxcbldlYkNvcmUv
aHRtbC9IVE1MTGFiZWxFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50
LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1M
TWFwRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MTWFycXVlZUVsZW1lbnQuaWRsXG5XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MTWVudUVsZW1l
bnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hU
TUxNZXRlckVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTE1vZEVsZW1lbnQuaWRsXG5XZWJD
b3JlL2h0bWwvSFRNTE9MaXN0RWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MT2JqZWN0RWxl
bWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MT3B0R3JvdXBFbGVtZW50LmlkbFxuV2ViQ29yZS9o
dG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVj
dGlvbi5pZGxcbldlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxlbWVudC5pZGxcbldlYkNvcmUvaHRt
bC9IVE1MUGFyYWdyYXBoRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MUGFyYW1FbGVtZW50
LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxQcmVFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxQ
cm9ncmVzc0VsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTFByb3BlcnRpZXNDb2xsZWN0aW9u
LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxRdW90ZUVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRN
TFNjcmlwdEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsXG5X
ZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTFNwYW5F
bGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0
bWwvSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ2Vs
bEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ29sRWxlbWVudC5pZGxcbldlYkNv
cmUvaHRtbC9IVE1MVGFibGVFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxUYWJsZVJvd0Vs
ZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaWRsXG5XZWJD
b3JlL2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MVGV4dEFy
ZWFFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxUaXRsZUVsZW1lbnQuaWRsXG5XZWJDb3Jl
L2h0bWwvSFRNTFRyYWNrRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MVUxpc3RFbGVtZW50
LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxVbmtub3duRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9I
VE1MVmlkZW9FbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0ltYWdlRGF0YS5pZGxcbldlYkNvcmUv
aHRtbC9NZWRpYUNvbnRyb2xsZXIuaWRsXG5XZWJDb3JlL2h0bWwvTWVkaWFFcnJvci5pZGxcbldl
YkNvcmUvaHRtbC9NZWRpYUtleUVycm9yLmlkbFxuV2ViQ29yZS9odG1sL01lZGlhS2V5RXZlbnQu
aWRsXG5XZWJDb3JlL2h0bWwvTWljcm9EYXRhSXRlbVZhbHVlLmlkbFxuV2ViQ29yZS9odG1sL1Jh
ZGlvTm9kZUxpc3QuaWRsXG5XZWJDb3JlL2h0bWwvVGV4dE1ldHJpY3MuaWRsXG5XZWJDb3JlL2h0
bWwvVGltZVJhbmdlcy5pZGxcbldlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmlkbFxuV2ViQ29y
ZS9odG1sL1ZvaWRDYWxsYmFjay5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvQXJyYXlCdWZmZXIu
aWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVyVmlldy5pZGxcbldlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzR3JhZGllbnQuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Bh
dHRlcm4uaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Byb3h5LmlkbFxuV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL0RhdGFW
aWV3LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9ET01QYXRoLmlkbFxuV2ViQ29yZS9odG1sL2Nh
bnZhcy9FWFREcmF3QnVmZmVycy5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvRVhUVGV4dHVyZUZp
bHRlckFuaXNvdHJvcGljLmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9GbG9hdDMyQXJyYXkuaWRs
XG5XZWJDb3JlL2h0bWwvY2FudmFzL0Zsb2F0NjRBcnJheS5pZGxcbldlYkNvcmUvaHRtbC9jYW52
YXMvSW50MTZBcnJheS5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvSW50MzJBcnJheS5pZGxcbldl
YkNvcmUvaHRtbC9jYW52YXMvSW50OEFycmF5LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNF
bGVtZW50SW5kZXhVaW50LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNTdGFuZGFyZERlcml2
YXRpdmVzLmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXQuaWRsXG5XZWJD
b3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQuaWRsXG5XZWJDb3JlL2h0bWwvY2Fu
dmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50MTZB
cnJheS5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvVWludDMyQXJyYXkuaWRsXG5XZWJDb3JlL2h0
bWwvY2FudmFzL1VpbnQ4QXJyYXkuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQ4Q2xhbXBl
ZEFycmF5LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEFjdGl2ZUluZm8uaWRsXG5XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TENvbXByZXNzZWRUZXh0dXJlQVRDLmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXBy
ZXNzZWRUZXh0dXJlUFZSVEMuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQ29tcHJlc3Nl
ZFRleHR1cmVTM1RDLmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRBdHRyaWJ1
dGVzLmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5pZGxcbldlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xEZXB0aFRleHR1cmUuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMRnJhbWVidWZmZXIuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMTG9zZUNvbnRl
eHQuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUHJvZ3JhbS5pZGxcbldlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJidWZmZXIuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dC5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xTaGFkZXIuaWRs
XG5XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0LmlkbFxuV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFRleHR1cmUuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMVW5pZm9ybUxvY2F0aW9uLmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFZlcnRleEFy
cmF5T2JqZWN0T0VTLmlkbFxuV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQu
aWRsXG5XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmlkbFxuV2ViQ29yZS9o
dG1sL3RyYWNrL1RleHRUcmFjay5pZGxcbldlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tDdWUu
aWRsXG5XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlTGlzdC5pZGxcbldlYkNvcmUvaHRt
bC90cmFjay9UZXh0VHJhY2tMaXN0LmlkbFxuV2ViQ29yZS9odG1sL3RyYWNrL1RyYWNrRXZlbnQu
aWRsXG5XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuaWRsXG5XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsXG5XZWJDb3JlL2luc3BlY3Rvci9TY3Jp
cHRQcm9maWxlLmlkbFxuV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0UHJvZmlsZU5vZGUuaWRsXG5X
ZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlvbkNhY2hlLmlkbFxuV2ViQ29yZS9w
YWdlL0Fic3RyYWN0Vmlldy5pZGxcbldlYkNvcmUvcGFnZS9CYXJJbmZvLmlkbFxuV2ViQ29yZS9w
YWdlL0NvbnNvbGUuaWRsXG5XZWJDb3JlL3BhZ2UvQ3J5cHRvLmlkbFxuV2ViQ29yZS9wYWdlL0RP
TVNlY3VyaXR5UG9saWN5LmlkbFxuV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5pZGxcbldlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaWRsXG5XZWJDb3JlL3BhZ2UvRXZlbnRTb3VyY2UuaWRsXG5XZWJD
b3JlL3BhZ2UvSGlzdG9yeS5pZGxcbldlYkNvcmUvcGFnZS9Mb2NhdGlvbi5pZGxcbldlYkNvcmUv
cGFnZS9OYXZpZ2F0b3IuaWRsXG5XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2UuaWRsXG5XZWJDb3Jl
L3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbFxuV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNl
VGltaW5nLmlkbFxuV2ViQ29yZS9wYWdlL1NjcmVlbi5pZGxcbldlYkNvcmUvcGFnZS9TcGVlY2hJ
bnB1dEV2ZW50LmlkbFxuV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0UmVzdWx0LmlkbFxuV2ViQ29y
ZS9wYWdlL1NwZWVjaElucHV0UmVzdWx0TGlzdC5pZGxcbldlYkNvcmUvcGFnZS9XZWJLaXRQb2lu
dC5pZGxcbldlYkNvcmUvcGFnZS9Xb3JrZXJOYXZpZ2F0b3IuaWRsXG5XZWJDb3JlL3BsdWdpbnMv
RE9NTWltZVR5cGUuaWRsXG5XZWJDb3JlL3BsdWdpbnMvRE9NTWltZVR5cGVBcnJheS5pZGxcbldl
YkNvcmUvcGx1Z2lucy9ET01QbHVnaW4uaWRsXG5XZWJDb3JlL3BsdWdpbnMvRE9NUGx1Z2luQXJy
YXkuaWRsXG5XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZS5pZGxcbldlYkNvcmUvc3RvcmFnZS9TdG9y
YWdlRXZlbnQuaWRsXG5XZWJDb3JlL3N2Zy9FbGVtZW50VGltZUNvbnRyb2wuaWRsXG5XZWJDb3Jl
L3N2Zy9TVkdBRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0FsdEdseXBoRGVmRWxlbWVudC5p
ZGxcbldlYkNvcmUvc3ZnL1NWR0FsdEdseXBoRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0Fs
dEdseXBoSXRlbUVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdBbmdsZS5pZGxcbldlYkNvcmUv
c3ZnL1NWR0FuaW1hdGVDb2xvckVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdBbmltYXRlRWxl
bWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmlkbFxuV2ViQ29y
ZS9zdmcvU1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdBbmlt
YXRlZEFuZ2xlLmlkbFxuV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRCb29sZWFuLmlkbFxuV2ViQ29y
ZS9zdmcvU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5pZGxcbldlYkNvcmUvc3ZnL1NWR0FuaW1hdGVk
SW50ZWdlci5pZGxcbldlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoLmlkbFxuV2ViQ29yZS9z
dmcvU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmlkbFxuV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWROdW1i
ZXIuaWRsXG5XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZE51bWJlckxpc3QuaWRsXG5XZWJDb3JlL3N2
Zy9TVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uaWRsXG5XZWJDb3JlL3N2Zy9TVkdBbmlt
YXRlZFJlY3QuaWRsXG5XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFN0cmluZy5pZGxcbldlYkNvcmUv
c3ZnL1NWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdC5pZGxcbldlYkNvcmUvc3ZnL1NWR0FuaW1hdGlv
bkVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdDaXJjbGVFbGVtZW50LmlkbFxuV2ViQ29yZS9z
dmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHQ29sb3IuaWRsXG5XZWJD
b3JlL3N2Zy9TVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5pZGxcbldlYkNvcmUv
c3ZnL1NWR0N1cnNvckVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdEZWZzRWxlbWVudC5pZGxc
bldlYkNvcmUvc3ZnL1NWR0Rlc2NFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnQu
aWRsXG5XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRWxlbWVudElu
c3RhbmNlLmlkbFxuV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2
Zy9TVkdFeGNlcHRpb24uaWRsXG5XZWJDb3JlL3N2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9T
VkdGRUNvbG9yTWF0cml4RWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9uZW50VHJh
bnNmZXJFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmlkbFxu
V2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9T
VkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNl
bWVudE1hcEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGRURpc3RhbnRMaWdodEVsZW1lbnQu
aWRsXG5XZWJDb3JlL3N2Zy9TVkdGRURyb3BTaGFkb3dFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcv
U1ZHRkVGbG9vZEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGRUZ1bmNBRWxlbWVudC5pZGxc
bldlYkNvcmUvc3ZnL1NWR0ZFRnVuY0JFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVGdW5j
R0VsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGRUZ1bmNSRWxlbWVudC5pZGxcbldlYkNvcmUv
c3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VF
bGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZUVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2
Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGRU1vcnBob2xvZ3lF
bGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmlkbFxuV2ViQ29yZS9z
dmcvU1ZHRkVQb2ludExpZ2h0RWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJM
aWdodGluZ0VsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGRVNwb3RMaWdodEVsZW1lbnQuaWRs
XG5XZWJDb3JlL3N2Zy9TVkdGRVRpbGVFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVUdXJi
dWxlbmNlRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaWRsXG5XZWJD
b3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaWRsXG5XZWJDb3Jl
L3N2Zy9TVkdGaXRUb1ZpZXdCb3guaWRsXG5XZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5pZGxc
bldlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ZvbnRG
YWNlRm9ybWF0RWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlTmFtZUVsZW1lbnQu
aWRsXG5XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVNyY0VsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9T
VkdGb250RmFjZVVyaUVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxl
bWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHR2x5
cGhFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHR2x5cGhSZWZFbGVtZW50LmlkbFxuV2ViQ29y
ZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHSEtlcm5FbGVtZW50
LmlkbFxuV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHTGFu
Z1NwYWNlLmlkbFxuV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmlkbFxuV2ViQ29yZS9zdmcvU1ZHTGVu
Z3RoTGlzdC5pZGxcbldlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcv
U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHTG9jYXRhYmxlLmlk
bFxuV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHTWFya2Vy
RWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcv
U1ZHTWF0cml4LmlkbFxuV2ViQ29yZS9zdmcvU1ZHTWV0YWRhdGFFbGVtZW50LmlkbFxuV2ViQ29y
ZS9zdmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR051bWJlci5p
ZGxcbldlYkNvcmUvc3ZnL1NWR051bWJlckxpc3QuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYWludC5p
ZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHUGF0aFNl
Zy5pZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdBcmNBYnMuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQ
YXRoU2VnQXJjUmVsLmlkbFxuV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0Nsb3NlUGF0aC5pZGxcbldl
YkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnMuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQ
YXRoU2VnQ3VydmV0b0N1YmljUmVsLmlkbFxuV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9D
dWJpY1Ntb290aEFicy5pZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9v
dGhSZWwuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY0Ficy5pZGxc
bldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljUmVsLmlkbFxuV2ViQ29yZS9z
dmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhBYnMuaWRsXG5XZWJDb3JlL3N2Zy9T
VkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbC5pZGxcbldlYkNvcmUvc3ZnL1NWR1Bh
dGhTZWdMaW5ldG9BYnMuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRh
bEFicy5pZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9Ib3Jpem9udGFsUmVsLmlkbFxu
V2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b1JlbC5pZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhT
ZWdMaW5ldG9WZXJ0aWNhbEFicy5pZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9WZXJ0
aWNhbFJlbC5pZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaXN0LmlkbFxuV2ViQ29yZS9zdmcv
U1ZHUGF0aFNlZ01vdmV0b0Ficy5pZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdNb3ZldG9SZWwu
aWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR1Bv
aW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHUG9pbnRMaXN0LmlkbFxuV2ViQ29yZS9zdmcvU1ZHUG9s
eWdvbkVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQb2x5bGluZUVsZW1lbnQuaWRsXG5XZWJD
b3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmlkbFxuV2ViQ29yZS9zdmcvU1ZHUmFkaWFs
R3JhZGllbnRFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHUmVjdC5pZGxcbldlYkNvcmUvc3Zn
L1NWR1JlY3RFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHUmVuZGVyaW5nSW50ZW50LmlkbFxu
V2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1l
bnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdTZXRFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHU3Rv
cEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdTdHJpbmdMaXN0LmlkbFxuV2ViQ29yZS9zdmcv
U1ZHU3R5bGVFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5pZGxcbldl
YkNvcmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVt
ZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdU
U3BhbkVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdUZXN0cy5pZGxcbldlYkNvcmUvc3ZnL1NW
R1RleHRDb250ZW50RWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR1RleHRFbGVtZW50LmlkbFxu
V2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHVGV4dFBv
c2l0aW9uaW5nRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR1RpdGxlRWxlbWVudC5pZGxcbldl
YkNvcmUvc3ZnL1NWR1RyYW5zZm9ybS5pZGxcbldlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybUxpc3Qu
aWRsXG5XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1hYmxlLmlkbFxuV2ViQ29yZS9zdmcvU1ZHVVJJ
UmVmZXJlbmNlLmlkbFxuV2ViQ29yZS9zdmcvU1ZHVW5pdFR5cGVzLmlkbFxuV2ViQ29yZS9zdmcv
U1ZHVXNlRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR1ZLZXJuRWxlbWVudC5pZGxcbldlYkNv
cmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaWRsXG5X
ZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmlkbFxuV2ViQ29yZS9zdmcvU1ZHWm9vbUV2ZW50Lmlk
bFxuV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGxcbldlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bFNldHRpbmdzLmlkbFxuV2ViQ29yZS90ZXN0aW5nL01hbGxvY1N0YXRpc3RpY3MuaWRsXG5XZWJD
b3JlL3Rlc3RpbmcvTWVtb3J5SW5mby5pZGxcbldlYkNvcmUvdGVzdGluZy9UeXBlQ29udmVyc2lv
bnMuaWRsXG5XZWJDb3JlL3dvcmtlcnMvQWJzdHJhY3RXb3JrZXIuaWRsXG5XZWJDb3JlL3dvcmtl
cnMvRGVkaWNhdGVkV29ya2VyQ29udGV4dC5pZGxcbldlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3Jr
ZXIuaWRsXG5XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5pZGxcbldlYkNvcmUv
d29ya2Vycy9Xb3JrZXIuaWRsXG5XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5pZGxcbldl
YkNvcmUvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbi5pZGxcbldlYkNvcmUveG1sL0RPTVBhcnNlci5p
ZGxcbldlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmlkbFxuV2ViQ29yZS94bWwvWE1MSHR0cFJl
cXVlc3RFeGNlcHRpb24uaWRsXG5XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZl
bnQuaWRsXG5XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFVwbG9hZC5pZGxcbldlYkNvcmUveG1s
L1hNTFNlcmlhbGl6ZXIuaWRsXG5XZWJDb3JlL3htbC9YUGF0aEV2YWx1YXRvci5pZGxcbldlYkNv
cmUveG1sL1hQYXRoRXhjZXB0aW9uLmlkbFxuV2ViQ29yZS94bWwvWFBhdGhFeHByZXNzaW9uLmlk
bFxuV2ViQ29yZS94bWwvWFBhdGhOU1Jlc29sdmVyLmlkbFxuV2ViQ29yZS94bWwvWFBhdGhSZXN1
bHQuaWRsXG5XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yLmlkbFxuSW50ZXJuYWxTZXR0aW5nc0dl
bmVyYXRlZC5pZGxcbldlYkNvcmUvaW5zcGVjdG9yL0phdmFTY3JpcHRDYWxsRnJhbWUuaWRsXG4i
ID4gLi9pZGxfZmlsZXMudG1wCitwcmludGYgIldlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleU1lc3NhZ2VFdmVudC5pZGxcbldlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleU5lZWRlZEV2ZW50LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L01lZGlhS2V5U2Vzc2lvbi5pZGxcbldlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleXMuaWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9ET01GaWxlU3lzdGVtLmlkbFxu
V2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRE9NRmlsZVN5c3RlbVN5bmMuaWRsXG5XZWJDb3Jl
L01vZHVsZXMvZmlsZXN5c3RlbS9ET01XaW5kb3dGaWxlU3lzdGVtLmlkbFxuV2ViQ29yZS9Nb2R1
bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5RW50cnkuaWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5
c3RlbS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9E
aXJlY3RvcnlSZWFkZXIuaWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlS
ZWFkZXJTeW5jLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRW50cmllc0NhbGxiYWNr
LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRW50cnkuaWRsXG5XZWJDb3JlL01vZHVs
ZXMvZmlsZXN5c3RlbS9FbnRyeUFycmF5LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0v
RW50cnlBcnJheVN5bmMuaWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9FbnRyeUNhbGxi
YWNrLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRW50cnlTeW5jLmlkbFxuV2ViQ29y
ZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRXJyb3JDYWxsYmFjay5pZGxcbldlYkNvcmUvTW9kdWxlcy9m
aWxlc3lzdGVtL0ZpbGVDYWxsYmFjay5pZGxcbldlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0Zp
bGVFbnRyeS5pZGxcbldlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0ZpbGVFbnRyeVN5bmMuaWRs
XG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9GaWxlU3lzdGVtQ2FsbGJhY2suaWRsXG5XZWJD
b3JlL01vZHVsZXMvZmlsZXN5c3RlbS9GaWxlV3JpdGVyLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2Zp
bGVzeXN0ZW0vRmlsZVdyaXRlckNhbGxiYWNrLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0
ZW0vRmlsZVdyaXRlclN5bmMuaWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9NZXRhZGF0
YS5pZGxcbldlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL01ldGFkYXRhQ2FsbGJhY2suaWRsXG5X
ZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9Xb3JrZXJDb250ZXh0RmlsZVN5c3RlbS5pZGxcbldl
YkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9Db29yZGluYXRlcy5pZGxcbldlYkNvcmUvTW9kdWxl
cy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5pZGxcbldlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlv
bi9HZW9wb3NpdGlvbi5pZGxcbldlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9OYXZpZ2F0b3JH
ZW9sb2NhdGlvbi5pZGxcbldlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkNhbGxi
YWNrLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL1Bvc2l0aW9uRXJyb3IuaWRsXG5X
ZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25FcnJvckNhbGxiYWNrLmlkbFxuV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuaWRsXG5XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkFueS5pZGxcbldlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCQ3Vyc29yLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5p
ZGxcbldlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRmFjdG9yeS5pZGxcbldlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCSW5kZXguaWRsXG5XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QktleVJhbmdlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5p
ZGxcbldlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5pZGxcbldlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaWRsXG5XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQlZlcnNpb25DaGFuZ2VFdmVudC5pZGxcbldlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
V29ya2VyQ29udGV4dEluZGV4ZWREYXRhYmFzZS5pZGxcbldlYkNvcmUvTW9kdWxlcy9tZWRpYXNv
dXJjZS9NZWRpYVNvdXJjZS5pZGxcbldlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXIuaWRsXG5XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2UvU291cmNlQnVmZmVyTGlzdC5p
ZGxcbldlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL0RPTVdpbmRvd05vdGlmaWNhdGlvbnMu
aWRsXG5XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsXG5XZWJD
b3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25DZW50ZXIuaWRsXG5XZWJDb3Jl
L01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRs
XG5XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3JrZXJDb250ZXh0Tm90aWZpY2F0aW9u
cy5pZGxcbldlYkNvcmUvTW9kdWxlcy9xdW90YS9ET01XaW5kb3dRdW90YS5pZGxcbldlYkNvcmUv
TW9kdWxlcy9xdW90YS9OYXZpZ2F0b3JTdG9yYWdlUXVvdGEuaWRsXG5XZWJDb3JlL01vZHVsZXMv
cXVvdGEvU3RvcmFnZUluZm8uaWRsXG5XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUVycm9y
Q2FsbGJhY2suaWRsXG5XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhLmlkbFxuV2Vi
Q29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VRdW90YUNhbGxiYWNrLmlkbFxuV2ViQ29yZS9Nb2R1
bGVzL3F1b3RhL1N0b3JhZ2VVc2FnZUNhbGxiYWNrLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3F1b3Rh
L1dvcmtlck5hdmlnYXRvclN0b3JhZ2VRdW90YS5pZGxcbldlYkNvcmUvTW9kdWxlcy9zcGVlY2gv
RE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVl
Y2hTeW50aGVzaXMuaWRsXG5XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc0V2
ZW50LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2Uu
aWRsXG5XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNpc1ZvaWNlLmlkbFxuV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0F1ZGlvQnVmZmVyQ2FsbGJhY2suaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9CdWZmZXJTb3VyY2VOb2RlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5u
ZWxNZXJnZXJOb2RlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxTcGxpdHRl
ck5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmlkbFxuV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvRGVzdGluYXRpb25Ob2RlLmlkbFxuV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1
ZGlvTGlzdGVuZXIuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9Ob2RlLmlkbFxu
V2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9QYXJhbS5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1By
b2Nlc3NpbmdFdmVudC5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9CaXF1YWRGaWx0ZXJO
b2RlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUuaWRsXG5XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vRE9NV2luZG93V2ViQXVkaW8uaWRsXG5XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vRGVsYXlOb2RlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0R5bmFt
aWNzQ29tcHJlc3Nvck5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJv
Y2Vzc29yTm9kZS5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYUVsZW1lbnRBdWRp
b1NvdXJjZU5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRp
b1NvdXJjZU5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT3NjaWxsYXRvck5vZGUu
aWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGluZUF1ZGlvQ29udGV4dC5pZGxcbldl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQuaWRsXG5X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJOb2RlLmlkbFxuV2ViQ29yZS9Nb2R1bGVz
L3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dh
dmVUYWJsZS5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9ET01XaW5kb3dXZWJEYXRh
YmFzZS5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZS5pZGxcbldlYkNv
cmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUNhbGxiYWNrLmlkbFxuV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlU3luYy5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9TUUxFcnJvci5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxFeGNlcHRp
b24uaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMUmVzdWx0U2V0LmlkbFxuV2Vi
Q29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFJlc3VsdFNldFJvd0xpc3QuaWRsXG5XZWJDb3Jl
L01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50Q2FsbGJhY2suaWRsXG5XZWJDb3JlL01v
ZHVsZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5pZGxcbldlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5pZGxcbldlYkNvcmUvTW9kdWxlcy93
ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dl
YmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjay5pZGxcbldlYkNvcmUvTW9kdWxl
cy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvblN5bmMuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2suaWRsXG5XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvV29ya2VyQ29udGV4dFdlYkRhdGFiYXNlLmlkbFxuV2ViQ29yZS9Nb2R1bGVz
L3dlYnNvY2tldHMvQ2xvc2VFdmVudC5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL0RP
TVdpbmRvd1dlYlNvY2tldC5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tl
dC5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlckNvbnRleHRXZWJTb2NrZXQu
aWRsXG5XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGxcbldlYkNvcmUvY3NzL0NTU0ZvbnRG
YWNlTG9hZEV2ZW50LmlkbFxuV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VSdWxlLmlkbFxuV2ViQ29y
ZS9jc3MvQ1NTSG9zdFJ1bGUuaWRsXG5XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmlkbFxuV2Vi
Q29yZS9jc3MvQ1NTTWVkaWFSdWxlLmlkbFxuV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUuaWRsXG5X
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5pZGxcbldlYkNvcmUvY3NzL0NTU1J1bGUuaWRs
XG5XZWJDb3JlL2Nzcy9DU1NSdWxlTGlzdC5pZGxcbldlYkNvcmUvY3NzL0NTU1N0eWxlRGVjbGFy
YXRpb24uaWRsXG5XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaWRsXG5XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNoZWV0LmlkbFxuV2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmlkbFxuV2ViQ29yZS9j
c3MvQ1NTVW5rbm93blJ1bGUuaWRsXG5XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5pZGxcbldlYkNvcmUv
Y3NzL0NTU1ZhbHVlTGlzdC5pZGxcbldlYkNvcmUvY3NzL0NvdW50ZXIuaWRsXG5XZWJDb3JlL2Nz
cy9ET01XaW5kb3dDU1MuaWRsXG5XZWJDb3JlL2Nzcy9Gb250TG9hZGVyLmlkbFxuV2ViQ29yZS9j
c3MvTWVkaWFMaXN0LmlkbFxuV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuaWRsXG5XZWJDb3Jl
L2Nzcy9NZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlkbFxuV2ViQ29yZS9jc3MvUkdCQ29sb3IuaWRs
XG5XZWJDb3JlL2Nzcy9SZWN0LmlkbFxuV2ViQ29yZS9jc3MvU3R5bGVNZWRpYS5pZGxcbldlYkNv
cmUvY3NzL1N0eWxlU2hlZXQuaWRsXG5XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0TGlzdC5pZGxcbldl
YkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmlkbFxuV2ViQ29yZS9jc3MvV2ViS2l0Q1NT
RmlsdGVyUnVsZS5pZGxcbldlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5pZGxcbldl
YkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuaWRsXG5XZWJDb3JlL2Nzcy9XZWJLaXRD
U1NNYXRyaXguaWRsXG5XZWJDb3JlL2Nzcy9XZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmlkbFxu
V2ViQ29yZS9jc3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5pZGxcbldlYkNvcmUvY3NzL1dlYktpdENT
U1RyYW5zZm9ybVZhbHVlLmlkbFxuV2ViQ29yZS9jc3MvV2ViS2l0Q1NTVmlld3BvcnRSdWxlLmlk
bFxuV2ViQ29yZS9kb20vQXR0ci5pZGxcbldlYkNvcmUvZG9tL0JlZm9yZUxvYWRFdmVudC5pZGxc
bldlYkNvcmUvZG9tL0NEQVRBU2VjdGlvbi5pZGxcbldlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEu
aWRsXG5XZWJDb3JlL2RvbS9DbGllbnRSZWN0LmlkbFxuV2ViQ29yZS9kb20vQ2xpZW50UmVjdExp
c3QuaWRsXG5XZWJDb3JlL2RvbS9DbGlwYm9hcmQuaWRsXG5XZWJDb3JlL2RvbS9Db21tZW50Lmlk
bFxuV2ViQ29yZS9kb20vQ29tcG9zaXRpb25FdmVudC5pZGxcbldlYkNvcmUvZG9tL0N1c3RvbUVs
ZW1lbnRDb25zdHJ1Y3Rvci5pZGxcbldlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmlkbFxuV2ViQ29y
ZS9kb20vRE9NQ29yZUV4Y2VwdGlvbi5pZGxcbldlYkNvcmUvZG9tL0RPTUVycm9yLmlkbFxuV2Vi
Q29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaWRsXG5XZWJDb3JlL2RvbS9ET01TdHJpbmdMaXN0
LmlkbFxuV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmlkbFxuV2ViQ29yZS9kb20vRGF0YVRyYW5z
ZmVySXRlbS5pZGxcbldlYkNvcmUvZG9tL0RhdGFUcmFuc2Zlckl0ZW1MaXN0LmlkbFxuV2ViQ29y
ZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuaWRsXG5XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlv
bkV2ZW50LmlkbFxuV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsXG5XZWJDb3JlL2RvbS9Eb2N1bWVu
dEZyYWdtZW50LmlkbFxuV2ViQ29yZS9kb20vRG9jdW1lbnRUeXBlLmlkbFxuV2ViQ29yZS9kb20v
RWxlbWVudC5pZGxcbldlYkNvcmUvZG9tL0VudGl0eS5pZGxcbldlYkNvcmUvZG9tL0VudGl0eVJl
ZmVyZW5jZS5pZGxcbldlYkNvcmUvZG9tL0Vycm9yRXZlbnQuaWRsXG5XZWJDb3JlL2RvbS9FdmVu
dC5pZGxcbldlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmlkbFxuV2ViQ29yZS9kb20vRXZlbnRM
aXN0ZW5lci5pZGxcbldlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmlkbFxuV2ViQ29yZS9kb20vRm9j
dXNFdmVudC5pZGxcbldlYkNvcmUvZG9tL0hhc2hDaGFuZ2VFdmVudC5pZGxcbldlYkNvcmUvZG9t
L0tleWJvYXJkRXZlbnQuaWRsXG5XZWJDb3JlL2RvbS9NZXNzYWdlQ2hhbm5lbC5pZGxcbldlYkNv
cmUvZG9tL01lc3NhZ2VFdmVudC5pZGxcbldlYkNvcmUvZG9tL01lc3NhZ2VQb3J0LmlkbFxuV2Vi
Q29yZS9kb20vTW91c2VFdmVudC5pZGxcbldlYkNvcmUvZG9tL011dGF0aW9uRXZlbnQuaWRsXG5X
ZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyLmlkbFxuV2ViQ29yZS9kb20vTXV0YXRpb25SZWNv
cmQuaWRsXG5XZWJDb3JlL2RvbS9ET01OYW1lZEZsb3dDb2xsZWN0aW9uLmlkbFxuV2ViQ29yZS9k
b20vTmFtZWROb2RlTWFwLmlkbFxuV2ViQ29yZS9kb20vTm9kZS5pZGxcbldlYkNvcmUvZG9tL05v
ZGVGaWx0ZXIuaWRsXG5XZWJDb3JlL2RvbS9Ob2RlSXRlcmF0b3IuaWRsXG5XZWJDb3JlL2RvbS9O
b2RlTGlzdC5pZGxcbldlYkNvcmUvZG9tL05vdGF0aW9uLmlkbFxuV2ViQ29yZS9kb20vT3ZlcmZs
b3dFdmVudC5pZGxcbldlYkNvcmUvZG9tL1BhZ2VUcmFuc2l0aW9uRXZlbnQuaWRsXG5XZWJDb3Jl
L2RvbS9Qb3BTdGF0ZUV2ZW50LmlkbFxuV2ViQ29yZS9kb20vUHJvY2Vzc2luZ0luc3RydWN0aW9u
LmlkbFxuV2ViQ29yZS9kb20vUHJvZ3Jlc3NFdmVudC5pZGxcbldlYkNvcmUvZG9tL1Byb2dyZXNz
RXZlbnQuaWRsXG5XZWJDb3JlL2RvbS9Qcm9wZXJ0eU5vZGVMaXN0LmlkbFxuV2ViQ29yZS9kb20v
UmFuZ2UuaWRsXG5XZWJDb3JlL2RvbS9SYW5nZUV4Y2VwdGlvbi5pZGxcbldlYkNvcmUvZG9tL1Jl
cXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmlkbFxuV2ViQ29yZS9kb20vU2hhZG93Um9vdC5p
ZGxcbldlYkNvcmUvZG9tL1N0cmluZ0NhbGxiYWNrLmlkbFxuV2ViQ29yZS9kb20vVGV4dC5pZGxc
bldlYkNvcmUvZG9tL1RleHRFdmVudC5pZGxcbldlYkNvcmUvZG9tL1RvdWNoLmlkbFxuV2ViQ29y
ZS9kb20vVG91Y2hFdmVudC5pZGxcbldlYkNvcmUvZG9tL1RvdWNoTGlzdC5pZGxcbldlYkNvcmUv
ZG9tL1RyYW5zaXRpb25FdmVudC5pZGxcbldlYkNvcmUvZG9tL1RyZWVXYWxrZXIuaWRsXG5XZWJD
b3JlL2RvbS9VSUV2ZW50LmlkbFxuV2ViQ29yZS9kb20vV2ViS2l0QW5pbWF0aW9uRXZlbnQuaWRs
XG5XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuaWRsXG5XZWJDb3JlL2RvbS9XZWJLaXRUcmFu
c2l0aW9uRXZlbnQuaWRsXG5XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmlkbFxuV2ViQ29yZS9maWxl
YXBpL0Jsb2IuaWRsXG5XZWJDb3JlL2ZpbGVhcGkvRmlsZS5pZGxcbldlYkNvcmUvZmlsZWFwaS9G
aWxlRXJyb3IuaWRsXG5XZWJDb3JlL2ZpbGVhcGkvRmlsZUV4Y2VwdGlvbi5pZGxcbldlYkNvcmUv
ZmlsZWFwaS9GaWxlTGlzdC5pZGxcbldlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyLmlkbFxuV2Vi
Q29yZS9maWxlYXBpL0ZpbGVSZWFkZXJTeW5jLmlkbFxuV2ViQ29yZS9odG1sL0RPTUZvcm1EYXRh
LmlkbFxuV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5MaXN0LmlkbFxuV2ViQ29yZS9odG1s
L0RPTVRva2VuTGlzdC5pZGxcbldlYkNvcmUvaHRtbC9ET01VUkwuaWRsXG5XZWJDb3JlL2h0bWwv
SFRNTEFsbENvbGxlY3Rpb24uaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRs
XG5XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEFy
ZWFFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxBdWRpb0VsZW1lbnQuaWRsXG5XZWJDb3Jl
L2h0bWwvSFRNTEJSRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MQmFzZUVsZW1lbnQuaWRs
XG5XZWJDb3JlL2h0bWwvSFRNTEJhc2VGb250RWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1M
Qm9keUVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuaWRsXG5XZWJD
b3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rp
b24uaWRsXG5XZWJDb3JlL2h0bWwvSFRNTERMaXN0RWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9I
VE1MRGF0YUxpc3RFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5p
ZGxcbldlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1M
RGlyZWN0b3J5RWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MRGl2RWxlbWVudC5pZGxcbldl
YkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRs
XG5XZWJDb3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MRmll
bGRTZXRFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxGb250RWxlbWVudC5pZGxcbldlYkNv
cmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5pZGxcbldlYkNvcmUvaHRtbC9IVE1M
Rm9ybUVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEZyYW1lRWxlbWVudC5pZGxcbldlYkNv
cmUvaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxIUkVsZW1l
bnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEhlYWRFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hU
TUxIZWFkaW5nRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MSHRtbEVsZW1lbnQuaWRsXG5X
ZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEltYWdl
RWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmlkbFxuV2ViQ29yZS9o
dG1sL0hUTUxLZXlnZW5FbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxMSUVsZW1lbnQuaWRs
XG5XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MTGVn
ZW5kRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsXG5XZWJDb3Jl
L2h0bWwvSFRNTE1hcEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTE1hcnF1ZWVFbGVtZW50
LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRN
TE1lbnVFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxNZXRhRWxlbWVudC5pZGxcbldlYkNv
cmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxNb2RFbGVtZW50
LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxPTGlzdEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRN
TE9iamVjdEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5pZGxc
bldlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MT3B0
aW9uc0NvbGxlY3Rpb24uaWRsXG5XZWJDb3JlL2h0bWwvSFRNTE91dHB1dEVsZW1lbnQuaWRsXG5X
ZWJDb3JlL2h0bWwvSFRNTFBhcmFncmFwaEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTFBh
cmFtRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MUHJlRWxlbWVudC5pZGxcbldlYkNvcmUv
aHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxQcm9wZXJ0aWVz
Q29sbGVjdGlvbi5pZGxcbldlYkNvcmUvaHRtbC9IVE1MUXVvdGVFbGVtZW50LmlkbFxuV2ViQ29y
ZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVt
ZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1s
L0hUTUxTcGFuRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MU3R5bGVFbGVtZW50LmlkbFxu
V2ViQ29yZS9odG1sL0hUTUxUYWJsZUNhcHRpb25FbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hU
TUxUYWJsZUNlbGxFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxUYWJsZUNvbEVsZW1lbnQu
aWRsXG5XZWJDb3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1M
VGFibGVSb3dFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50
LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwv
SFRNTFRleHRBcmVhRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MVGl0bGVFbGVtZW50Lmlk
bFxuV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTFVM
aXN0RWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MVW5rbm93bkVsZW1lbnQuaWRsXG5XZWJD
b3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9JbWFnZURhdGEuaWRs
XG5XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmlkbFxuV2ViQ29yZS9odG1sL01lZGlhRXJy
b3IuaWRsXG5XZWJDb3JlL2h0bWwvTWVkaWFLZXlFcnJvci5pZGxcbldlYkNvcmUvaHRtbC9NZWRp
YUtleUV2ZW50LmlkbFxuV2ViQ29yZS9odG1sL01pY3JvRGF0YUl0ZW1WYWx1ZS5pZGxcbldlYkNv
cmUvaHRtbC9SYWRpb05vZGVMaXN0LmlkbFxuV2ViQ29yZS9odG1sL1RleHRNZXRyaWNzLmlkbFxu
V2ViQ29yZS9odG1sL1RpbWVSYW5nZXMuaWRsXG5XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5p
ZGxcbldlYkNvcmUvaHRtbC9Wb2lkQ2FsbGJhY2suaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL0Fy
cmF5QnVmZmVyLmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9BcnJheUJ1ZmZlclZpZXcuaWRsXG5X
ZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNQYXR0ZXJuLmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQcm94eS5pZGxc
bldlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5pZGxcbldlYkNvcmUv
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlkbFxuV2ViQ29yZS9odG1sL2Nh
bnZhcy9EYXRhVmlldy5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvRE9NUGF0aC5pZGxcbldlYkNv
cmUvaHRtbC9jYW52YXMvRVhURHJhd0J1ZmZlcnMuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL0VY
VFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvRmxvYXQz
MkFycmF5LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9GbG9hdDY0QXJyYXkuaWRsXG5XZWJDb3Jl
L2h0bWwvY2FudmFzL0ludDE2QXJyYXkuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL0ludDMyQXJy
YXkuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL0ludDhBcnJheS5pZGxcbldlYkNvcmUvaHRtbC9j
YW52YXMvT0VTRWxlbWVudEluZGV4VWludC5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvT0VTU3Rh
bmRhcmREZXJpdmF0aXZlcy5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0
LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJlSGFsZkZsb2F0LmlkbFxuV2ViQ29y
ZS9odG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5pZGxcbldlYkNvcmUvaHRtbC9jYW52
YXMvVWludDE2QXJyYXkuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQzMkFycmF5LmlkbFxu
V2ViQ29yZS9odG1sL2NhbnZhcy9VaW50OEFycmF5LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9V
aW50OENsYW1wZWRBcnJheS5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xBY3RpdmVJbmZv
LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5pZGxcbldlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TENvbXByZXNzZWRUZXh0dXJlUzNUQy5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb250
ZXh0QXR0cmlidXRlcy5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0RXZlbnQu
aWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRGVwdGhUZXh0dXJlLmlkbFxuV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TExvc2VDb250ZXh0LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFByb2dyYW0uaWRsXG5X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyYnVmZmVyLmlkbFxuV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
U2hhZGVyLmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFNoYWRlclByZWNpc2lvbkZvcm1h
dC5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0dXJlLmlkbFxuV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5pZGxcbldlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRl
bnRFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5pZGxc
bldlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suaWRsXG5XZWJDb3JlL2h0bWwvdHJhY2svVGV4
dFRyYWNrQ3VlLmlkbFxuV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFja0N1ZUxpc3QuaWRsXG5X
ZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5pZGxcbldlYkNvcmUvaHRtbC90cmFjay9U
cmFja0V2ZW50LmlkbFxuV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmlkbFxu
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbFxuV2ViQ29yZS9pbnNw
ZWN0b3IvU2NyaXB0UHJvZmlsZS5pZGxcbldlYkNvcmUvaW5zcGVjdG9yL1NjcmlwdFByb2ZpbGVO
b2RlLmlkbFxuV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9NQXBwbGljYXRpb25DYWNoZS5pZGxc
bldlYkNvcmUvcGFnZS9BYnN0cmFjdFZpZXcuaWRsXG5XZWJDb3JlL3BhZ2UvQmFySW5mby5pZGxc
bldlYkNvcmUvcGFnZS9Db25zb2xlLmlkbFxuV2ViQ29yZS9wYWdlL0NyeXB0by5pZGxcbldlYkNv
cmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5pZGxcbldlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24u
aWRsXG5XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbFxuV2ViQ29yZS9wYWdlL0V2ZW50U291cmNl
LmlkbFxuV2ViQ29yZS9wYWdlL0hpc3RvcnkuaWRsXG5XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRs
XG5XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmlkbFxuV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlLmlk
bFxuV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGxcbldlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZVRpbWluZy5pZGxcbldlYkNvcmUvcGFnZS9TY3JlZW4uaWRsXG5XZWJDb3JlL3Bh
Z2UvU3BlZWNoSW5wdXRFdmVudC5pZGxcbldlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dFJlc3VsdC5p
ZGxcbldlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dFJlc3VsdExpc3QuaWRsXG5XZWJDb3JlL3BhZ2Uv
V2ViS2l0UG9pbnQuaWRsXG5XZWJDb3JlL3BhZ2UvV29ya2VyTmF2aWdhdG9yLmlkbFxuV2ViQ29y
ZS9wbHVnaW5zL0RPTU1pbWVUeXBlLmlkbFxuV2ViQ29yZS9wbHVnaW5zL0RPTU1pbWVUeXBlQXJy
YXkuaWRsXG5XZWJDb3JlL3BsdWdpbnMvRE9NUGx1Z2luLmlkbFxuV2ViQ29yZS9wbHVnaW5zL0RP
TVBsdWdpbkFycmF5LmlkbFxuV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2UuaWRsXG5XZWJDb3JlL3N0
b3JhZ2UvU3RvcmFnZUV2ZW50LmlkbFxuV2ViQ29yZS9zdmcvRWxlbWVudFRpbWVDb250cm9sLmlk
bFxuV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaERl
ZkVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaWRsXG5XZWJDb3Jl
L3N2Zy9TVkdBbHRHbHlwaEl0ZW1FbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHQW5nbGUuaWRs
XG5XZWJDb3JlL3N2Zy9TVkdBbmltYXRlQ29sb3JFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZH
QW5pbWF0ZUVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdBbmltYXRlTW90aW9uRWxlbWVudC5p
ZGxcbldlYkNvcmUvc3ZnL1NWR0FuaW1hdGVUcmFuc2Zvcm1FbGVtZW50LmlkbFxuV2ViQ29yZS9z
dmcvU1ZHQW5pbWF0ZWRBbmdsZS5pZGxcbldlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkQm9vbGVhbi5p
ZGxcbldlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkRW51bWVyYXRpb24uaWRsXG5XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlZEludGVnZXIuaWRsXG5XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZExlbmd0aC5pZGxc
bldlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoTGlzdC5pZGxcbldlYkNvcmUvc3ZnL1NWR0Fu
aW1hdGVkTnVtYmVyLmlkbFxuV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWROdW1iZXJMaXN0LmlkbFxu
V2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmlkbFxuV2ViQ29yZS9z
dmcvU1ZHQW5pbWF0ZWRSZWN0LmlkbFxuV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRTdHJpbmcuaWRs
XG5XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFRyYW5zZm9ybUxpc3QuaWRsXG5XZWJDb3JlL3N2Zy9T
VkdBbmltYXRpb25FbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHQ2lyY2xlRWxlbWVudC5pZGxc
bldlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0NvbG9y
LmlkbFxuV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaWRs
XG5XZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRGVmc0Vs
ZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdEZXNjRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NW
R0RvY3VtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NW
R0VsZW1lbnRJbnN0YW5jZS5pZGxcbldlYkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmlkbFxu
V2ViQ29yZS9zdmcvU1ZHRXhjZXB0aW9uLmlkbFxuV2ViQ29yZS9zdmcvU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmlkbFxuV2Vi
Q29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGRUNv
bXBvbmVudFRyYW5zZmVyRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxl
bWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LmlkbFxuV2Vi
Q29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZH
RkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVEaXN0YW50TGln
aHRFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5pZGxcbldl
YkNvcmUvc3ZnL1NWR0ZFRmxvb2RFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVGdW5jQUVs
ZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGRUZ1bmNCRWxlbWVudC5pZGxcbldlYkNvcmUvc3Zn
L1NWR0ZFRnVuY0dFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVGdW5jUkVsZW1lbnQuaWRs
XG5XZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9T
VkdGRUltYWdlRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VFbGVtZW50LmlkbFxu
V2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVN
b3JwaG9sb2d5RWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5pZGxc
bldlYkNvcmUvc3ZnL1NWR0ZFUG9pbnRMaWdodEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdG
RVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVTcG90TGlnaHRF
bGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVUaWxlRWxlbWVudC5pZGxcbldlYkNvcmUvc3Zn
L1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50
LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmlk
bFxuV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRm9udEVs
ZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2
Zy9TVkdGb250RmFjZUZvcm1hdEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGb250RmFjZU5h
bWVFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VTcmNFbGVtZW50LmlkbFxuV2Vi
Q29yZS9zdmcvU1ZHRm9udEZhY2VVcmlFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRm9yZWln
bk9iamVjdEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5pZGxcbldlYkNvcmUv
c3ZnL1NWR0dseXBoRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0dseXBoUmVmRWxlbWVudC5p
ZGxcbldlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0hL
ZXJuRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5pZGxcbldlYkNvcmUv
c3ZnL1NWR0xhbmdTcGFjZS5pZGxcbldlYkNvcmUvc3ZnL1NWR0xlbmd0aC5pZGxcbldlYkNvcmUv
c3ZnL1NWR0xlbmd0aExpc3QuaWRsXG5XZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5pZGxcbldl
YkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0xv
Y2F0YWJsZS5pZGxcbldlYkNvcmUvc3ZnL1NWR01QYXRoRWxlbWVudC5pZGxcbldlYkNvcmUvc3Zn
L1NWR01hcmtlckVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5pZGxcbldl
YkNvcmUvc3ZnL1NWR01hdHJpeC5pZGxcbldlYkNvcmUvc3ZnL1NWR01ldGFkYXRhRWxlbWVudC5p
ZGxcbldlYkNvcmUvc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9T
VkdOdW1iZXIuaWRsXG5XZWJDb3JlL3N2Zy9TVkdOdW1iZXJMaXN0LmlkbFxuV2ViQ29yZS9zdmcv
U1ZHUGFpbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5pZGxcbldlYkNvcmUvc3Zn
L1NWR1BhdGhTZWcuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQXJjQWJzLmlkbFxuV2ViQ29y
ZS9zdmcvU1ZHUGF0aFNlZ0FyY1JlbC5pZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDbG9zZVBh
dGguaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljQWJzLmlkbFxuV2ViQ29y
ZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbC5pZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhT
ZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhBYnMuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0
b0N1YmljU21vb3RoUmVsLmlkbFxuV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0
aWNBYnMuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1JlbC5pZGxc
bldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljU21vb3RoQWJzLmlkbFxuV2Vi
Q29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhSZWwuaWRsXG5XZWJDb3Jl
L3N2Zy9TVkdQYXRoU2VnTGluZXRvQWJzLmlkbFxuV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0
b0hvcml6b250YWxBYnMuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvSG9yaXpvbnRh
bFJlbC5pZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9SZWwuaWRsXG5XZWJDb3JlL3N2
Zy9TVkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnMuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRoU2Vn
TGluZXRvVmVydGljYWxSZWwuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGlzdC5pZGxcbldl
YkNvcmUvc3ZnL1NWR1BhdGhTZWdNb3ZldG9BYnMuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRoU2Vn
TW92ZXRvUmVsLmlkbFxuV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuaWRsXG5XZWJDb3Jl
L3N2Zy9TVkdQb2ludExpc3QuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQb2x5Z29uRWxlbWVudC5pZGxc
bldlYkNvcmUvc3ZnL1NWR1BvbHlsaW5lRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR1ByZXNl
cnZlQXNwZWN0UmF0aW8uaWRsXG5XZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQu
aWRsXG5XZWJDb3JlL3N2Zy9TVkdSZWN0LmlkbFxuV2ViQ29yZS9zdmcvU1ZHUmVjdEVsZW1lbnQu
aWRsXG5XZWJDb3JlL3N2Zy9TVkdSZW5kZXJpbmdJbnRlbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdT
VkdFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5pZGxcbldlYkNvcmUv
c3ZnL1NWR1NldEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5pZGxcbldl
YkNvcmUvc3ZnL1NWR1N0cmluZ0xpc3QuaWRsXG5XZWJDb3JlL3N2Zy9TVkdTdHlsZUVsZW1lbnQu
aWRsXG5XZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHU3dp
dGNoRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaWRsXG5XZWJDb3Jl
L3N2Zy9TVkdUUmVmRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR1RTcGFuRWxlbWVudC5pZGxc
bldlYkNvcmUvc3ZnL1NWR1Rlc3RzLmlkbFxuV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVt
ZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHVGV4dEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdU
ZXh0UGF0aEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50
LmlkbFxuV2ViQ29yZS9zdmcvU1ZHVGl0bGVFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHVHJh
bnNmb3JtLmlkbFxuV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtTGlzdC5pZGxcbldlYkNvcmUvc3Zn
L1NWR1RyYW5zZm9ybWFibGUuaWRsXG5XZWJDb3JlL3N2Zy9TVkdVUklSZWZlcmVuY2UuaWRsXG5X
ZWJDb3JlL3N2Zy9TVkdVbml0VHlwZXMuaWRsXG5XZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50Lmlk
bFxuV2ViQ29yZS9zdmcvU1ZHVktlcm5FbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHVmlld0Vs
ZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5pZGxcbldlYkNvcmUvc3ZnL1NWR1pv
b21BbmRQYW4uaWRsXG5XZWJDb3JlL3N2Zy9TVkdab29tRXZlbnQuaWRsXG5XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbFxuV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsXG5X
ZWJDb3JlL3Rlc3RpbmcvTWFsbG9jU3RhdGlzdGljcy5pZGxcbldlYkNvcmUvdGVzdGluZy9NZW1v
cnlJbmZvLmlkbFxuV2ViQ29yZS90ZXN0aW5nL1R5cGVDb252ZXJzaW9ucy5pZGxcbldlYkNvcmUv
d29ya2Vycy9BYnN0cmFjdFdvcmtlci5pZGxcbldlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3Jr
ZXJDb250ZXh0LmlkbFxuV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5pZGxcbldlYkNvcmUv
d29ya2Vycy9TaGFyZWRXb3JrZXJDb250ZXh0LmlkbFxuV2ViQ29yZS93b3JrZXJzL1dvcmtlci5p
ZGxcbldlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbFxuV2ViQ29yZS93b3JrZXJzL1dv
cmtlckxvY2F0aW9uLmlkbFxuV2ViQ29yZS94bWwvRE9NUGFyc2VyLmlkbFxuV2ViQ29yZS94bWwv
WE1MSHR0cFJlcXVlc3QuaWRsXG5XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdEV4Y2VwdGlvbi5p
ZGxcbldlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5pZGxcbldlYkNvcmUv
eG1sL1hNTEh0dHBSZXF1ZXN0VXBsb2FkLmlkbFxuV2ViQ29yZS94bWwvWE1MU2VyaWFsaXplci5p
ZGxcbldlYkNvcmUveG1sL1hQYXRoRXZhbHVhdG9yLmlkbFxuV2ViQ29yZS94bWwvWFBhdGhFeGNl
cHRpb24uaWRsXG5XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Npb24uaWRsXG5XZWJDb3JlL3htbC9Y
UGF0aE5TUmVzb2x2ZXIuaWRsXG5XZWJDb3JlL3htbC9YUGF0aFJlc3VsdC5pZGxcbldlYkNvcmUv
eG1sL1hTTFRQcm9jZXNzb3IuaWRsXG5JbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmlkbFxuV2Vi
Q29yZS9pbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5pZGxcbiIgPiAuL2lkbF9maWxlcy50
bXAKIHBlcmwgSmF2YVNjcmlwdENvcmUvZG9jcy9tYWtlLWJ5dGVjb2RlLWRvY3MucGwgSmF2YVNj
cmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwIGRvY3MvYnl0ZWNvZGUuaHRtbAog
Y2F0IFdlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4gV2ViQ29yZS9jc3MvU1ZHQ1NTUHJv
cGVydHlOYW1lcy5pbiA+IENTU1Byb3BlcnR5TmFtZXMuaW4KIHJtIC1mIC4vaWRsX2ZpbGVzLnRt
cApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGQ3ODMwMmE2ZGVhZTMyNGEzNWYyM2FmZDU5ZGM3ZDU1ZGIzNDc0MDYuLjQ4Yjcz
NmQ5NmM1N2MwYmVkMTEwMmU4ZjE4MTViNTcyYjgzMGEwNWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBA
QAorMjAxOS0xMC0wOSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29t
PgorCisgICAgICAgIFtTVkcyXTogUmVtb3ZlIHRoZSBpbnRlcmZhY2UgU1ZHUG9pbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTM3NgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgYWxsIGNoYW5n
ZXMgd2hpY2ggYXJlIHJlcXVpcmVkIGZvciBjaGFuZ2luZyBTVkdQb2ludExpc3QgZnJvbSBiZWlu
ZworICAgICAgICBhIGxpc3Qgb2YgU1ZHUG9pbnQgdG8gYmUgYSBsaXN0IG9mIERPTVBvaW50Lgor
CisgICAgICAgICogc3ZnL2N1c3RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBzdmcvY3VzdG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMuaHRtbDoKKyAgICAgICAg
KiBzdmcvY3VzdG9tL3BvbHlsaW5lLXBvaW50cy1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogc3ZnL2RvbS9TVkdQb2ludC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2RvbS9TVkdQ
b2ludC5odG1sOgorICAgICAgICAqIHN2Zy9kb20vU1ZHUG9pbnRMaXN0LWJhc2ljcy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogc3ZnL2RvbS9TVkdQb2ludExpc3QtYmFzaWNzLnhodG1sOgorICAg
ICAgICAqIHN2Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
c3ZnL2RvbS9zdmcyLWluaGVyaXRhbmNlLmh0bWw6CisKKzIwMTktMTAtMDcgIFNhaWQgQWJvdS1I
YWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHRoZSBTVkcg
cHJvcGVydGllcyBvZiBTVkdWaWV3U3BlYyBtb2RpZmlhYmxlIGJ1dCBkZXRhY2hlZCBwcm9wZXJ0
aWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0
MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtl
IHN1cmUgYWxsIHRoZSBwcm9wZXJ0aWVzIG9mIFNWR1ZpZXdTcGVjIGFyZSBtb2RpZmlhYmxlLgor
CisgICAgICAgICogc3ZnL2RvbS9TVkdWaWV3U3BlYy1kZWZhdWx0cy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogc3ZnL2RvbS9TVkdWaWV3U3BlYy1kZWZhdWx0cy5odG1sOgorCiAyMDE5LTEwLTA3
ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIGZvY3VzIHBzZXVk
byBjbGFzcyBzaG91bGQgbWF0Y2ggYSBzaGFkb3cgaG9zdCB3aG9zZSBzaGFkb3cgdHJlZSBjb250
YWlucyB0aGUgZm9jdXNlZCBlbGVtZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRl
eCA3MGZiMWI4MjRjNzViM2FkMjZhNTI4NmU3MWJjN2YzZjViYjhiMDZkLi4zMWY4OWRmYWU0MjVl
MzFjOTM1NTJkMjQ0Yzk4MWZlY2YyMTE2YmJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMiBAQAorMjAxOS0xMC0wOSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJv
dWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIFtTVkcyXTogUmVtb3ZlIHRoZSBpbnRlcmZh
Y2UgU1ZHUG9pbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5MTM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS9pbnRlcmZhY2VzLWV4cGVjdGVk
LnR4dDoKKwogMjAxOS0xMC0wNyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAg
ICAgIENoYW5nZSBSZXNwb25zZSdzIHN0YXR1c1RleHQncyBkZWZhdWx0CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9nZW9tZXRyeS9p
bnRlcmZhY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5L2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CmluZGV4IGFl
YWJhZDM3OTUwODAwNWY1NWNkYzQ4MzM2NDY4ODY4ZDQxMjI1N2UuLmJlZDRlODhjOTFkYTkwZDE1
MTk1ODM1MGExMWVmNTExMzNkZDQ0ZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5L2ludGVyZmFjZXMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2dlb21ldHJ5L2ludGVyZmFjZXMtZXhwZWN0ZWQudHh0CkBAIC0yOCwxMSArMjgsNyBAQCBQQVNT
IERPTVBvaW50UmVhZE9ubHkgaW50ZXJmYWNlOiBkZWZhdWx0IHRvSlNPTiBvcGVyYXRpb24gb24g
bmV3IERPTVBvaW50UmVhZE9ubAogUEFTUyBET01Qb2ludCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAogUEFTUyBET01Qb2ludCBpbnRlcmZh
Y2Ugb2JqZWN0IGxlbmd0aCAKIFBBU1MgRE9NUG9pbnQgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAot
RkFJTCBET01Qb2ludCBpbnRlcmZhY2U6IGxlZ2FjeSB3aW5kb3cgYWxpYXMgYXNzZXJ0X2VxdWFs
czogc2VsZi5TVkdQb2ludCBzaG91bGQgYmUgdGhlIHNhbWUgdmFsdWUgYXMgc2VsZi5ET01Qb2lu
dCBleHBlY3RlZCBmdW5jdGlvbiAiZnVuY3Rpb24gRE9NUG9pbnQoKSB7Ci0gICAgW25hdGl2ZSBj
b2RlXQotfSIgYnV0IGdvdCBmdW5jdGlvbiAiZnVuY3Rpb24gU1ZHUG9pbnQoKSB7Ci0gICAgW25h
dGl2ZSBjb2RlXQotfSIKK1BBU1MgRE9NUG9pbnQgaW50ZXJmYWNlOiBsZWdhY3kgd2luZG93IGFs
aWFzIAogUEFTUyBET01Qb2ludCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKIFBBU1MgRE9NUG9pbnQgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAi
Y29uc3RydWN0b3IiIHByb3BlcnR5IAogUEFTUyBET01Qb2ludCBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29w
YWJsZXMgcHJvcGVydHkgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dsb2Jh
bC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nbG9i
YWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAppbmRleCBlNWI2NTE4NTljZGY4ZTdlZjZlZjgz
NzJhYTNmZjVlOTVlMWU3ZGQ2Li5kMzQ1NWVkOWIzYjZiYWRjOGZhMDZmNjFjM2Q1ZjdlNWE2N2M4
NmY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dsb2JhbC1jb25zdHJ1Y3Rv
cnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2xvYmFsLWNvbnN0
cnVjdG9ycy1leHBlY3RlZC50eHQKQEAgLTU2LDcgKzU2LDYgQEAgUEFTUyBTVkdVc2VFbGVtZW50
LnRvU3RyaW5nKCkgaXMgImZ1bmN0aW9uIFNWR1VzZUVsZW1lbnQoKSB7XG4gICAgW25hdGl2ZSBj
b2RlXVwKIFBBU1MgU1ZHSW1hZ2VFbGVtZW50LnRvU3RyaW5nKCkgaXMgImZ1bmN0aW9uIFNWR0lt
YWdlRWxlbWVudCgpIHtcbiAgICBbbmF0aXZlIGNvZGVdXG59IgogUEFTUyBTVkdTd2l0Y2hFbGVt
ZW50LnRvU3RyaW5nKCkgaXMgImZ1bmN0aW9uIFNWR1N3aXRjaEVsZW1lbnQoKSB7XG4gICAgW25h
dGl2ZSBjb2RlXVxufSIKIFBBU1MgU1ZHU3R5bGVFbGVtZW50LnRvU3RyaW5nKCkgaXMgImZ1bmN0
aW9uIFNWR1N0eWxlRWxlbWVudCgpIHtcbiAgICBbbmF0aXZlIGNvZGVdXG59IgotUEFTUyBTVkdQ
b2ludC50b1N0cmluZygpIGlzICJmdW5jdGlvbiBTVkdQb2ludCgpIHtcbiAgICBbbmF0aXZlIGNv
ZGVdXG59IgogUEFTUyBTVkdQb2ludExpc3QudG9TdHJpbmcoKSBpcyAiZnVuY3Rpb24gU1ZHUG9p
bnRMaXN0KCkge1xuICAgIFtuYXRpdmUgY29kZV1cbn0iCiBQQVNTIFNWR01hdHJpeC50b1N0cmlu
ZygpIGlzICJmdW5jdGlvbiBTVkdNYXRyaXgoKSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIKIFBB
U1MgU1ZHVHJhbnNmb3JtLnRvU3RyaW5nKCkgaXMgImZ1bmN0aW9uIFNWR1RyYW5zZm9ybSgpIHtc
biAgICBbbmF0aXZlIGNvZGVdXG59IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9nbG9iYWwtY29uc3RydWN0b3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dsb2Jh
bC1jb25zdHJ1Y3RvcnMuaHRtbAppbmRleCAzMmY3MzcxZjA2MzRiZGY2NzYzYzM2M2U5MGQ5ZDMy
NTRlYzMxMTUxLi4zZTcwNjQwZmVkMTJmMzVjYjViMDVmMzlkOTExODNmOGVlY2E2NzMyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dsb2JhbC1jb25zdHJ1Y3RvcnMuaHRtbApAQCAt
NTIsNyArNTIsNiBAQCBzaG91bGRCZURlZmluZWQoIlNWR1VzZUVsZW1lbnQiKTsKIHNob3VsZEJl
RGVmaW5lZCgiU1ZHSW1hZ2VFbGVtZW50Iik7CiBzaG91bGRCZURlZmluZWQoIlNWR1N3aXRjaEVs
ZW1lbnQiKTsKIHNob3VsZEJlRGVmaW5lZCgiU1ZHU3R5bGVFbGVtZW50Iik7Ci1zaG91bGRCZURl
ZmluZWQoIlNWR1BvaW50Iik7CiBzaG91bGRCZURlZmluZWQoIlNWR1BvaW50TGlzdCIpOwogc2hv
dWxkQmVEZWZpbmVkKCJTVkdNYXRyaXgiKTsKIHNob3VsZEJlRGVmaW5lZCgiU1ZHVHJhbnNmb3Jt
Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BvbHlsaW5lLXBvaW50cy1j
cmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BvbHlsaW5lLXBvaW50
cy1jcmFzaC1leHBlY3RlZC50eHQKaW5kZXggMmFiOGM0YzIwZGQyY2U5NmQzYTg2OGExZGI2N2Rj
ZmM1YzgyN2NlYi4uZGFiYWE3MTg0YWU0MzcwYWZiYmFkMDVhYmU2ZjQ1YjFjZWUyOWZiZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wb2x5bGluZS1wb2ludHMtY3Jhc2gtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcG9seWxpbmUtcG9pbnRzLWNy
YXNoLWV4cGVjdGVkLnR4dApAQCAtMSwyICsxLDIgQEAKLUNhdWdodCBleGNlcHRpb246IFR5cGVF
cnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuYXBwZW5kSXRlbSBt
dXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR1BvaW50CitDYXVnaHQgZXhjZXB0aW9uOiBUeXBlRXJy
b3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LmFwcGVuZEl0ZW0gbXVz
dCBiZSBhbiBpbnN0YW5jZSBvZiBET01Qb2ludAogUEFTU0VEIC0tIFdlYktpdCBkaWQgbm90IGNy
YXNoIQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQb2ludC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BvaW50LWV4cGVjdGVkLnR4dAppbmRleCAxY2Q3
OGFhN2JlZmMxOWJmMDQxNGY1MTE1MDVjMjQ1ZWM0NGVhMjY0Li44YTBhMjdjOTMwMzVjMGExMjhm
Yjk2MzBiNGU5MTQ4MDQxMGU5N2MyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NW
R1BvaW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BvaW50LWV4
cGVjdGVkLnR4dApAQCAtMjMsMTcgKzIzLDE3IEBAIFBBU1MgcG9pbnQueSBpcyAwCiBSZXNldCB0
byAtNTAsIDEwMAogCiBDaGVjayAnbWF0cml4VHJhbnNmb3JtJyBtZXRob2QgLSBtdWx0aXBseSB3
aXRoIC0xLDAsMCwyLDEwLDEwIG1hdHJpeCwgc2hvdWxkIGZsaXAgeCBjb29yZGluYXRlLCBtdWx0
aXBseSB5IGJ5IHR3byBhbmQgdHJhbnNsYXRlIGVhY2ggY29vcmRpbmF0ZSBieSAxMAotUEFTUyAo
bmV3UG9pbnQgPSBwb2ludC5tYXRyaXhUcmFuc2Zvcm0oY3RtKSkudG9TdHJpbmcoKSBpcyAiW29i
amVjdCBTVkdQb2ludF0iCitQQVNTIChuZXdQb2ludCA9IHBvaW50Lm1hdHJpeFRyYW5zZm9ybShj
dG0pKS50b1N0cmluZygpIGlzICJbb2JqZWN0IERPTVBvaW50XSIKIFBBU1MgbmV3UG9pbnQueCBp
cyA2MAogUEFTUyBuZXdQb2ludC55IGlzIDIxMAogCiBDaGVjayBpbnZhbGlkIGFyZ3VtZW50cyBm
b3IgJ21hdHJpeFRyYW5zZm9ybScKLVBBU1MgcG9pbnQubWF0cml4VHJhbnNmb3JtKCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCi1QQVNTIHBvaW50Lm1h
dHJpeFRyYW5zZm9ybSgtMSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAo
J21hdHJpeCcpIHRvIFNWR1BvaW50Lm1hdHJpeFRyYW5zZm9ybSBtdXN0IGJlIGFuIGluc3RhbmNl
IG9mIFNWR01hdHJpeC4KLVBBU1MgcG9pbnQubWF0cml4VHJhbnNmb3JtKDUpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdtYXRyaXgnKSB0byBTVkdQb2ludC5tYXRyaXhU
cmFuc2Zvcm0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdNYXRyaXguCi1QQVNTIHBvaW50Lm1h
dHJpeFRyYW5zZm9ybSgnYVN0cmluZycpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3Vt
ZW50IDEgKCdtYXRyaXgnKSB0byBTVkdQb2ludC5tYXRyaXhUcmFuc2Zvcm0gbXVzdCBiZSBhbiBp
bnN0YW5jZSBvZiBTVkdNYXRyaXguCi1QQVNTIHBvaW50Lm1hdHJpeFRyYW5zZm9ybShwb2ludCkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ21hdHJpeCcpIHRvIFNWR1Bv
aW50Lm1hdHJpeFRyYW5zZm9ybSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR01hdHJpeC4KLVBB
U1MgcG9pbnQubWF0cml4VHJhbnNmb3JtKHN2Z0VsZW1lbnQpIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IEFyZ3VtZW50IDEgKCdtYXRyaXgnKSB0byBTVkdQb2ludC5tYXRyaXhUcmFuc2Zvcm0g
bXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdNYXRyaXguCitQQVNTIHBvaW50Lm1hdHJpeFRyYW5z
Zm9ybSgpLnRvU3RyaW5nKCkgaXMgIltvYmplY3QgRE9NUG9pbnRdIgorUEFTUyBwb2ludC5tYXRy
aXhUcmFuc2Zvcm0oLTEpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQ
QVNTIHBvaW50Lm1hdHJpeFRyYW5zZm9ybSg1KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBU
eXBlIGVycm9yLgorUEFTUyBwb2ludC5tYXRyaXhUcmFuc2Zvcm0oJ2FTdHJpbmcnKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyBwb2ludC5tYXRyaXhUcmFuc2Zv
cm0ocG9pbnQpLnRvU3RyaW5nKCkgaXMgIltvYmplY3QgRE9NUG9pbnRdIgorUEFTUyBwb2ludC5t
YXRyaXhUcmFuc2Zvcm0oc3ZnRWxlbWVudCkudG9TdHJpbmcoKSBpcyAiW29iamVjdCBET01Qb2lu
dF0iCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUG9pbnQuaHRtbCBiL0xheW91dFRlc3Rz
L3N2Zy9kb20vU1ZHUG9pbnQuaHRtbAppbmRleCAwNzdlZjg3MWIzNzk4Y2I4ZWFlNjNmMTIxNzFi
NDc3ODZmYTg1OTRjLi5kZmQxYzliNDc5M2E0ZmJlMmUyMTVmZjgyNDdjYWM1ZDJlOTA4YjBkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BvaW50Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvc3ZnL2RvbS9TVkdQb2ludC5odG1sCkBAIC00NCwxOCArNDQsMTggQEAgY3RtLmEgPSAt
MTsKIGN0bS5kID0gMjsKIGN0bS5lID0gMTA7CiBjdG0uZiA9IDEwOwotc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCIobmV3UG9pbnQgPSBwb2ludC5tYXRyaXhUcmFuc2Zvcm0oY3RtKSkudG9TdHJpbmco
KSIsICJbb2JqZWN0IFNWR1BvaW50XSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCIobmV3UG9p
bnQgPSBwb2ludC5tYXRyaXhUcmFuc2Zvcm0oY3RtKSkudG9TdHJpbmcoKSIsICJbb2JqZWN0IERP
TVBvaW50XSIpOwogc2hvdWxkQmUoIm5ld1BvaW50LngiLCAiNjAiKTsKIHNob3VsZEJlKCJuZXdQ
b2ludC55IiwgIjIxMCIpOwogCiBkZWJ1ZygiIik7CiBkZWJ1ZygiQ2hlY2sgaW52YWxpZCBhcmd1
bWVudHMgZm9yICdtYXRyaXhUcmFuc2Zvcm0nIik7Ci1zaG91bGRUaHJvdygicG9pbnQubWF0cml4
VHJhbnNmb3JtKCkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygicG9pbnQubWF0cml4VHJhbnNm
b3JtKCkudG9TdHJpbmcoKSIsICJbb2JqZWN0IERPTVBvaW50XSIpOwogc2hvdWxkVGhyb3coInBv
aW50Lm1hdHJpeFRyYW5zZm9ybSgtMSkiKTsKIHNob3VsZFRocm93KCJwb2ludC5tYXRyaXhUcmFu
c2Zvcm0oNSkiKTsKIHNob3VsZFRocm93KCJwb2ludC5tYXRyaXhUcmFuc2Zvcm0oJ2FTdHJpbmcn
KSIpOwotc2hvdWxkVGhyb3coInBvaW50Lm1hdHJpeFRyYW5zZm9ybShwb2ludCkiKTsKLXNob3Vs
ZFRocm93KCJwb2ludC5tYXRyaXhUcmFuc2Zvcm0oc3ZnRWxlbWVudCkiKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygicG9pbnQubWF0cml4VHJhbnNmb3JtKHBvaW50KS50b1N0cmluZygpIiwgIltv
YmplY3QgRE9NUG9pbnRdIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoInBvaW50Lm1hdHJpeFRy
YW5zZm9ybShzdmdFbGVtZW50KS50b1N0cmluZygpIiwgIltvYmplY3QgRE9NUG9pbnRdIik7CiAK
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N2Zy9kb20vU1ZHUG9pbnRMaXN0LWJhc2ljcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9zdmcvZG9tL1NWR1BvaW50TGlzdC1iYXNpY3MtZXhwZWN0ZWQudHh0CmluZGV4IGFkYzRm
ZGEyYTZkY2EwZmM5NWFlMWE4YzEwMGU2OGI5MzFjODI0MjIuLjFkYTIxMDdjYjZlNDYyNjkzMzFj
NzNiMjQxM2VkZmRmOTQzNTRiMjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZH
UG9pbnRMaXN0LWJhc2ljcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9T
VkdQb2ludExpc3QtYmFzaWNzLWV4cGVjdGVkLnR4dApAQCAtMTEsNyArMTEsNyBAQCBQQVNTIGR1
bXBQb2ludChwb2x5MS5wb2ludHMuZ2V0SXRlbSgzKSkgaXMgIng9MCB5PTEwMCIKIFBBU1MgcG9s
eTEuZ2V0QXR0cmlidXRlKCdwb2ludHMnKS5mb3JtYXRQb2ludHNBdHRyaWJ1dGUoKSBpcyAiMCAw
IDEwMCAwIDEwMCAxMDAgMCAxMDAiCiAKIENyZWF0aW5nIHBvaW50IHg9MjAwIHk9MTAwCi1QQVNT
IChwb2ludCA9IHN2Zy5jcmVhdGVTVkdQb2ludCgpKS50b1N0cmluZygpIGlzICJbb2JqZWN0IFNW
R1BvaW50XSIKK1BBU1MgKHBvaW50ID0gc3ZnLmNyZWF0ZVNWR1BvaW50KCkpLnRvU3RyaW5nKCkg
aXMgIltvYmplY3QgRE9NUG9pbnRdIgogUEFTUyBwb2ludC54ID0gMjAwIGlzIDIwMAogUEFTUyBw
b2ludC55ID0gMTAwIGlzIDEwMAogCkBAIC0yMCw5ICsyMCw5IEBAIFBBU1MgcG9seTEucG9pbnRz
LmluaXRpYWxpemUocG9pbnQpIGlzIHBvaW50CiBQQVNTIHBvbHkxLnBvaW50cy5udW1iZXJPZkl0
ZW1zIGlzIDEKIFBBU1MgZHVtcFBvaW50KHBvbHkxLnBvaW50cy5nZXRJdGVtKDApKSBpcyAieD0y
MDAgeT0xMDAiCiBQQVNTIHBvbHkxLmdldEF0dHJpYnV0ZSgncG9pbnRzJykuZm9ybWF0UG9pbnRz
QXR0cmlidXRlKCkgaXMgIjIwMCAxMDAiCi1QQVNTIHBvbHkxLnBvaW50cy5pbml0aWFsaXplKHBv
bHkxKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRv
IFNWR1BvaW50TGlzdC5pbml0aWFsaXplIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9pbnQu
Ci1QQVNTIHBvbHkxLnBvaW50cy5pbml0aWFsaXplKDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LmluaXRpYWxpemUgbXVz
dCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdQb2ludC4KLVBBU1MgcG9seTEucG9pbnRzLmluaXRpYWxp
emUoJ2FTdHJpbmcnKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3
SXRlbScpIHRvIFNWR1BvaW50TGlzdC5pbml0aWFsaXplIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2Yg
U1ZHUG9pbnQuCitQQVNTIHBvbHkxLnBvaW50cy5pbml0aWFsaXplKHBvbHkxKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5p
bml0aWFsaXplIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9NUG9pbnQuCitQQVNTIHBvbHkxLnBv
aW50cy5pbml0aWFsaXplKDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEg
KCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LmluaXRpYWxpemUgbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBET01Qb2ludC4KK1BBU1MgcG9seTEucG9pbnRzLmluaXRpYWxpemUoJ2FTdHJpbmcnKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1Bv
aW50TGlzdC5pbml0aWFsaXplIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9NUG9pbnQuCiAKIFJl
c2V0IHBvaW50cyBhdHRyaWJ1dGUgdG8gMCAwIDEwMCAwIDEwMCAxMDAgMCAxMDAKIFBBU1MgcG9s
eTEuc2V0QXR0cmlidXRlKCdwb2ludHMnLCAnMCAwIDEwMCAwIDEwMCAxMDAgMCAxMDAnKSBpcyB1
bmRlZmluZWQuCkBAIC03NSwxOSArNzUsMTkgQEAgUEFTUyBkdW1wUG9pbnQocG9seTEucG9pbnRz
LmdldEl0ZW0oMSkpIGlzICJ4PTEwMCB5PTAiCiBQQVNTIGR1bXBQb2ludChwb2x5MS5wb2ludHMu
Z2V0SXRlbSgyKSkgaXMgIng9MTAwIHk9MTAwIgogUEFTUyBkdW1wUG9pbnQocG9seTEucG9pbnRz
LmdldEl0ZW0oMykpIGlzICJ4PTAgeT0xMDAiCiBQQVNTIHBvbHkxLmdldEF0dHJpYnV0ZSgncG9p
bnRzJykuZm9ybWF0UG9pbnRzQXR0cmlidXRlKCkgaXMgIjAgMCAxMDAgMCAxMDAgMTAwIDAgMTAw
IgotUEFTUyBwb2x5MS5wb2ludHMuaW5zZXJ0SXRlbUJlZm9yZSgzMCwgMCkgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuaW5z
ZXJ0SXRlbUJlZm9yZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR1BvaW50LgotUEFTUyBwb2x5
MS5wb2ludHMuaW5zZXJ0SXRlbUJlZm9yZSgnYVN0cmluZycsIDApIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0Lmluc2VydEl0
ZW1CZWZvcmUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdQb2ludC4KLVBBU1MgcG9seTEucG9p
bnRzLmluc2VydEl0ZW1CZWZvcmUocG9seTEsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0Lmluc2VydEl0ZW1CZWZvcmUg
bXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdQb2ludC4KLVBBU1MgcG9seTEucG9pbnRzLmluc2Vy
dEl0ZW1CZWZvcmUobnVsbCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQg
MSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuaW5zZXJ0SXRlbUJlZm9yZSBtdXN0IGJlIGFu
IGluc3RhbmNlIG9mIFNWR1BvaW50LgorUEFTUyBwb2x5MS5wb2ludHMuaW5zZXJ0SXRlbUJlZm9y
ZSgzMCwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0n
KSB0byBTVkdQb2ludExpc3QuaW5zZXJ0SXRlbUJlZm9yZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9m
IERPTVBvaW50LgorUEFTUyBwb2x5MS5wb2ludHMuaW5zZXJ0SXRlbUJlZm9yZSgnYVN0cmluZycs
IDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8g
U1ZHUG9pbnRMaXN0Lmluc2VydEl0ZW1CZWZvcmUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01Q
b2ludC4KK1BBU1MgcG9seTEucG9pbnRzLmluc2VydEl0ZW1CZWZvcmUocG9seTEsIDApIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRM
aXN0Lmluc2VydEl0ZW1CZWZvcmUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01Qb2ludC4KK1BB
U1MgcG9seTEucG9pbnRzLmluc2VydEl0ZW1CZWZvcmUobnVsbCwgMCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuaW5zZXJ0
SXRlbUJlZm9yZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERPTVBvaW50LgogCiBUZXN0IHVuY29t
bW9uIGFyZ3VtZW50cyBmb3IgcmVwbGFjZUl0ZW0oKQogUEFTUyBwb2x5MS5wb2ludHMucmVwbGFj
ZUl0ZW0oMzApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRz
LgogUEFTUyBwb2x5MS5wb2ludHMucmVwbGFjZUl0ZW0oJ2FTdHJpbmcnKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KIFBBU1MgcG9seTEucG9pbnRzLnJl
cGxhY2VJdGVtKHBvbHkxKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFy
Z3VtZW50cy4KLVBBU1MgcG9seTEucG9pbnRzLnJlcGxhY2VJdGVtKG51bGwsIDApIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0
LnJlcGxhY2VJdGVtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9pbnQuCi1QQVNTIHBvbHkx
LnBvaW50cy5yZXBsYWNlSXRlbSgnYVN0cmluZycsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LnJlcGxhY2VJdGVtIG11
c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9pbnQuCi1QQVNTIHBvbHkxLnBvaW50cy5yZXBsYWNl
SXRlbShwb2x5MSwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25l
d0l0ZW0nKSB0byBTVkdQb2ludExpc3QucmVwbGFjZUl0ZW0gbXVzdCBiZSBhbiBpbnN0YW5jZSBv
ZiBTVkdQb2ludC4KLVBBU1MgcG9seTEucG9pbnRzLnJlcGxhY2VJdGVtKDEsIDApIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0
LnJlcGxhY2VJdGVtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9pbnQuCitQQVNTIHBvbHkx
LnBvaW50cy5yZXBsYWNlSXRlbShudWxsLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBB
cmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5yZXBsYWNlSXRlbSBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIERPTVBvaW50LgorUEFTUyBwb2x5MS5wb2ludHMucmVwbGFjZUl0ZW0o
J2FTdHJpbmcnLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3
SXRlbScpIHRvIFNWR1BvaW50TGlzdC5yZXBsYWNlSXRlbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9m
IERPTVBvaW50LgorUEFTUyBwb2x5MS5wb2ludHMucmVwbGFjZUl0ZW0ocG9seTEsIDApIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRM
aXN0LnJlcGxhY2VJdGVtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9NUG9pbnQuCitQQVNTIHBv
bHkxLnBvaW50cy5yZXBsYWNlSXRlbSgxLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBB
cmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5yZXBsYWNlSXRlbSBtdXN0IGJl
IGFuIGluc3RhbmNlIG9mIERPTVBvaW50LgogCiBUZXN0IHVuY29tbW9uIGFyZ3VtZW50cyBmb3Ig
cmVwbGFjZUl0ZW0oKSBhbmQgeG1sLWRvbSBzeW5jaHJvbml6YXRpb24KIFBBU1MgcG9seTEucG9p
bnRzLm51bWJlck9mSXRlbXMgaXMgNApAQCAtMTQzLDEwICsxNDMsMTAgQEAgUEFTUyBkdW1wUG9p
bnQocG9seTEucG9pbnRzLmdldEl0ZW0oMCkpIGlzICJ4PTAgeT0xMDAiCiBQQVNTIHBvbHkxLmdl
dEF0dHJpYnV0ZSgncG9pbnRzJykuZm9ybWF0UG9pbnRzQXR0cmlidXRlKCkgaXMgIjAgMTAwIgog
CiBUZXN0IHVuY29tbW9uIGFyZ3VtZW50cyBmb3IgYXBwZW5kSXRlbSgpCi1QQVNTIHBvbHkxLnBv
aW50cy5hcHBlbmRJdGVtKDMwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAx
ICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5hcHBlbmRJdGVtIG11c3QgYmUgYW4gaW5zdGFu
Y2Ugb2YgU1ZHUG9pbnQuCi1QQVNTIHBvbHkxLnBvaW50cy5hcHBlbmRJdGVtKCdhU3RyaW5nJykg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQ
b2ludExpc3QuYXBwZW5kSXRlbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR1BvaW50LgotUEFT
UyBwb2x5MS5wb2ludHMuYXBwZW5kSXRlbShwb2x5MSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuYXBwZW5kSXRlbSBtdXN0
IGJlIGFuIGluc3RhbmNlIG9mIFNWR1BvaW50LgotUEFTUyBwb2x5MS5wb2ludHMuYXBwZW5kSXRl
bShudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScp
IHRvIFNWR1BvaW50TGlzdC5hcHBlbmRJdGVtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9p
bnQuCitQQVNTIHBvbHkxLnBvaW50cy5hcHBlbmRJdGVtKDMwKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5hcHBlbmRJdGVt
IG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9NUG9pbnQuCitQQVNTIHBvbHkxLnBvaW50cy5hcHBl
bmRJdGVtKCdhU3RyaW5nJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAo
J25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuYXBwZW5kSXRlbSBtdXN0IGJlIGFuIGluc3RhbmNl
IG9mIERPTVBvaW50LgorUEFTUyBwb2x5MS5wb2ludHMuYXBwZW5kSXRlbShwb2x5MSkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExp
c3QuYXBwZW5kSXRlbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERPTVBvaW50LgorUEFTUyBwb2x5
MS5wb2ludHMuYXBwZW5kSXRlbShudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1
bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5hcHBlbmRJdGVtIG11c3QgYmUgYW4g
aW5zdGFuY2Ugb2YgRE9NUG9pbnQuCiBQQVNTIGR1bXBQb2ludChwb2x5MS5wb2ludHMuYXBwZW5k
SXRlbShwb2ludCkpIGlzICJ4PTIwMCB5PTEwMCIKIFBBU1MgcG9seTEucG9pbnRzLm51bWJlck9m
SXRlbXMgaXMgMgogUEFTUyBkdW1wUG9pbnQocG9seTEucG9pbnRzLmdldEl0ZW0oMCkpIGlzICJ4
PTAgeT0xMDAiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BvaW50TGlzdC1i
YXNpY3MueGh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BvaW50TGlzdC1iYXNpY3MueGh0
bWwKaW5kZXggNmVlNDIxY2Q1MzU4NjFhMzMwOGFlYzhhOGFlMGVjZmMxMjQ5MGE4OS4uZDEwYjFk
MTc5MDk4ZmJhNDAzM2U1MTE2MDE2YWJmYWQ5OGQxZmNjZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvc3ZnL2RvbS9TVkdQb2ludExpc3QtYmFzaWNzLnhodG1sCisrKyBiL0xheW91dFRlc3RzL3N2
Zy9kb20vU1ZHUG9pbnRMaXN0LWJhc2ljcy54aHRtbApAQCAtMzgsNyArMzgsNyBAQAogICAgIHZh
ciBwb2ludDsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoIkNyZWF0aW5nIHBvaW50IHg9MjAw
IHk9MTAwIik7Ci0gICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCIocG9pbnQgPSBzdmcuY3JlYXRl
U1ZHUG9pbnQoKSkudG9TdHJpbmcoKSIsICJbb2JqZWN0IFNWR1BvaW50XSIpOworICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiKHBvaW50ID0gc3ZnLmNyZWF0ZVNWR1BvaW50KCkpLnRvU3RyaW5n
KCkiLCAiW29iamVjdCBET01Qb2ludF0iKTsKICAgICBzaG91bGRCZSgicG9pbnQueCA9IDIwMCIs
ICIyMDAiKTsKICAgICBzaG91bGRCZSgicG9pbnQueSA9IDEwMCIsICIxMDAiKTsKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdWaWV3U3BlYy1kZWZhdWx0cy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1ZpZXdTcGVjLWRlZmF1bHRzLWV4cGVjdGVkLnR4
dAppbmRleCA5YzAxODE3NTgxNWI3NDRmZDJiNjUwZDczNzJjNDdmODVhYTE0YWYxLi4xNDUyYWI3
YzQ1YTRmMzVhMzk1OTdmMDMzZTBkMzk5MjUwYmJhMmM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdmcvZG9tL1NWR1ZpZXdTcGVjLWRlZmF1bHRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9zdmcvZG9tL1NWR1ZpZXdTcGVjLWRlZmF1bHRzLWV4cGVjdGVkLnR4dApAQCAtMjAsNTAg
KzIwLDUzIEBAIFBBU1MgY3VycmVudFZpZXcudHJhbnNmb3JtU3RyaW5nIGlzICIiCiBQQVNTIGN1
cnJlbnRWaWV3LnZpZXdUYXJnZXRTdHJpbmcgaXMgIiIKIFBBU1MgY3VycmVudFZpZXcuem9vbUFu
ZFBhbiBpcyBTVkdWaWV3RWxlbWVudC5TVkdfWk9PTUFORFBBTl9NQUdOSUZZCiAKLVRyeSBjaGFu
Z2luZyB6b29tQW5kUGFuIC0gbm9uZSBvZiB0aGVzZSB3aWxsIHdvcmssIGFzIFNWR1ZpZXdTcGVj
IGlzIGZ1bGx5IHJlYWRvbmx5IC0gZXZlbiB0aGUgYW5pbWF0ZWQgcHJvcGVydGllcyBpdCBpbmhl
cml0cyBmcm9tIHBhcmVudCBjbGFzc2VzIGxpa2UgU1ZHWm9vbUFuZFBhbi9TVkdGaXRUb1ZpZXdC
b3gKK1RyeSBjaGFuZ2luZyB6b29tQW5kUGFuIC0gbm9uZSBvZiB0aGVzZSB3aWxsIHdvcmssIGl0
IGlzIGEgcHJpbWl0aXZlIHByb3BlcnR5CiBQQVNTIGN1cnJlbnRWaWV3Lnpvb21BbmRQYW4gPSBT
VkdWaWV3RWxlbWVudC5TVkdfWk9PTUFORFBBTl9ESVNBQkxFIHRocmV3IGV4Y2VwdGlvbiBOb01v
ZGlmaWNhdGlvbkFsbG93ZWRFcnJvcjogVGhlIG9iamVjdCBjYW4gbm90IGJlIG1vZGlmaWVkLi4K
IFBBU1MgY3VycmVudFZpZXcuem9vbUFuZFBhbiBpcyBTVkdWaWV3RWxlbWVudC5TVkdfWk9PTUFO
RFBBTl9NQUdOSUZZCiAKLVRyeSBjaGFuZ2luZyB2aWV3Qm94IC0gdGhpcyBoYXMgbm8gYWZmZWN0
IG9uIHRoZSBTVkdTVkdFbGVtZW50IHRoZSB2aWV3U3BlYyBiZWxvbmdzIHRvIC0gaXQgZXhwb3Nl
ZCBhbGwgaXRzIHByb3BlcnRpZXMgYXMgcmVhZC1vbmx5Ci1QQVNTIGN1cnJlbnRWaWV3LnZpZXdC
b3guYmFzZVZhbC54ID0gMTAgdGhyZXcgZXhjZXB0aW9uIE5vTW9kaWZpY2F0aW9uQWxsb3dlZEVy
cm9yOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgbW9kaWZpZWQuLgotUEFTUyBjdXJyZW50Vmlldy52
aWV3Qm94LmJhc2VWYWwueCBpcyAwCi1QQVNTIGN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC55
ID0gMjAgdGhyZXcgZXhjZXB0aW9uIE5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yOiBUaGUgb2Jq
ZWN0IGNhbiBub3QgYmUgbW9kaWZpZWQuLgotUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VW
YWwueSBpcyAwCi1QQVNTIGN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC53aWR0aCA9IDUwIHRo
cmV3IGV4Y2VwdGlvbiBOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvcjogVGhlIG9iamVjdCBjYW4g
bm90IGJlIG1vZGlmaWVkLi4KLVBBU1MgY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLndpZHRo
IGlzIDAKLVBBU1MgY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLmhlaWdodCA9IDEwMCB0aHJl
dyBleGNlcHRpb24gTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3I6IFRoZSBvYmplY3QgY2FuIG5v
dCBiZSBtb2RpZmllZC4uCi1QQVNTIGN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC5oZWlnaHQg
aXMgMAotUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94U3RyaW5nIGlzICIwIDAgMCAwIgorQ2hhbmdp
bmcgdmlld0JveCAtIHRoaXMgaGFzIG5vIGFmZmVjdCBvbiB0aGUgU1ZHU1ZHRWxlbWVudCB0aGUg
dmlld1NwZWMgYmVsb25ncyB0byAtIGl0IGlzIGEgZGV0YWNoZWQgcHJvcGVydHkKK1BBU1MgY3Vy
cmVudFZpZXcudmlld0JveC5iYXNlVmFsLnggPSAxMCBpcyAxMAorUEFTUyBjdXJyZW50Vmlldy52
aWV3Qm94LmJhc2VWYWwueCBpcyAxMAorUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwu
eSA9IDIwIGlzIDIwCitQQVNTIGN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC55IGlzIDIwCitQ
QVNTIGN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC53aWR0aCA9IDUwIGlzIDUwCitQQVNTIGN1
cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC53aWR0aCBpcyA1MAorUEFTUyBjdXJyZW50Vmlldy52
aWV3Qm94LmJhc2VWYWwuaGVpZ2h0ID0gMTAwIGlzIDEwMAorUEFTUyBjdXJyZW50Vmlldy52aWV3
Qm94LmJhc2VWYWwuaGVpZ2h0IGlzIDEwMAorUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94U3RyaW5n
IGlzICIxMCAyMCA1MCAxMDAiCiAKLVRyeSBjaGFuZ2luZyB2aWV3Qm94U3RyaW5nCitUcnkgY2hh
bmdpbmcgdmlld0JveFN0cmluZyAtIG5vbmUgb2YgdGhlc2Ugd2lsbCB3b3JrLCBpdCBpcyBhIHBy
aW1pdGl2ZSBwcm9wZXJ0eQogUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94U3RyaW5nID0gJzEgMiAz
IDQnIGlzICIxIDIgMyA0IgotUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94U3RyaW5nIGlzICIwIDAg
MCAwIgorUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94U3RyaW5nIGlzICIxMCAyMCA1MCAxMDAiCiAK
LVRyeSBjaGFuZ2luZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvCi1QQVNTIGN1cnJlbnRWaWV3LnByZXNl
cnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5hbGlnbiA9IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZH
X1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSU4gdGhyZXcgZXhjZXB0aW9uIE5vTW9kaWZpY2F0
aW9uQWxsb3dlZEVycm9yOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgbW9kaWZpZWQuLgotUEFTUyBj
dXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VWYWwuYWxpZ24gaXMgU1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1JRAotUEFTUyBjdXJy
ZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VWYWwubWVldE9yU2xpY2UgPSBTVkdQcmVz
ZXJ2ZUFzcGVjdFJhdGlvLlNWR19NRUVUT1JTTElDRV9TTElDRSB0aHJldyBleGNlcHRpb24gTm9N
b2RpZmljYXRpb25BbGxvd2VkRXJyb3I6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBtb2RpZmllZC4u
Ci1QQVNTIGN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5tZWV0T3JTbGlj
ZSBpcyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19NRUVUT1JTTElDRV9NRUVUCitDaGFuZ2lu
ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvIC0gdGhpcyBoYXMgbm8gYWZmZWN0IG9uIHRoZSBTVkdTVkdF
bGVtZW50IHRoZSB2aWV3U3BlYyBiZWxvbmdzIHRvIC0gaXQgaXMgYSBkZXRhY2hlZCBwcm9wZXJ0
eQorUEFTUyBjdXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VWYWwuYWxpZ24gPSBT
VkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlOIGlz
IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSU4K
K1BBU1MgY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLmFsaWduIGlzIFNW
R1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSU4KK1BB
U1MgY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLm1lZXRPclNsaWNlID0g
U1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJQ0VfU0xJQ0UgaXMgU1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJQ0VfU0xJQ0UKK1BBU1MgY3VycmVudFZpZXcucHJl
c2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLm1lZXRPclNsaWNlIGlzIFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW8uU1ZHX01FRVRPUlNMSUNFX1NMSUNFCiAKLVRyeSBjaGFuZ2luZyBwcmVzZXJ2ZUFzcGVj
dFJhdGlvU3RyaW5nCi1QQVNTIGN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0aW9TdHJpbmcg
PSAneE1pbllNaW4gc2xpY2UnIGlzICJ4TWluWU1pbiBzbGljZSIKLVBBU1MgY3VycmVudFZpZXcu
cHJlc2VydmVBc3BlY3RSYXRpb1N0cmluZyBpcyAieE1pZFlNaWQgbWVldCIKLQotVHJ5IGNoYW5n
aW5nIHRyYW5zZm9ybVN0cmluZwotUEFTUyBjdXJyZW50Vmlldy50cmFuc2Zvcm1TdHJpbmcgPSAn
cm90YXRlKDkwKScgaXMgInJvdGF0ZSg5MCkiCi1QQVNTIGN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0
cmluZyBpcyAiIgorQ2hhbmdpbmcgcHJlc2VydmVBc3BlY3RSYXRpb1N0cmluZyAtIG5vbmUgb2Yg
dGhlc2Ugd2lsbCB3b3JrLCBpdCBpcyBhIHByaW1pdGl2ZSBwcm9wZXJ0eQorUEFTUyBjdXJyZW50
Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlvU3RyaW5nID0gJ3hNaWRZTWlkIG1lZXQnIGlzICJ4TWlk
WU1pZCBtZWV0IgorUEFTUyBjdXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlvU3RyaW5nIGlz
ICJ4TWluWU1pbiBzbGljZSIKIAotVHJ5IGNoYW5naW5nIHZpZXdUYXJnZXQKK1RyeSBjaGFuZ2lu
ZyB2aWV3VGFyZ2V0IC0gbm9uZSBvZiB0aGVzZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJpbWl0aXZl
IHByb3BlcnR5CiBQQVNTIGN1cnJlbnRWaWV3LnZpZXdUYXJnZXQgPSBzdmdFbGVtZW50IGlzIHN2
Z0VsZW1lbnQKIFBBU1MgY3VycmVudFZpZXcudmlld1RhcmdldCBpcyBudWxsCiAKLVRyeSBjaGFu
Z2luZyB2aWV3VGFyZ2V0U3RyaW5nCitUcnkgY2hhbmdpbmcgdmlld1RhcmdldFN0cmluZyAtIG5v
bmUgb2YgdGhlc2Ugd2lsbCB3b3JrLCBpdCBpcyBhIHByaW1pdGl2ZSBwcm9wZXJ0eQogUEFTUyBj
dXJyZW50Vmlldy52aWV3VGFyZ2V0U3RyaW5nID0gJyN0ZXN0JyBpcyAiI3Rlc3QiCiBQQVNTIGN1
cnJlbnRWaWV3LnZpZXdUYXJnZXRTdHJpbmcgaXMgIiIKIAotVHJ5IGNoYW5naW5nIHRyYW5zZm9y
bQotUEFTUyBjdXJyZW50Vmlldy50cmFuc2Zvcm0uY2xlYXIoKSB0aHJldyBleGNlcHRpb24gTm9N
b2RpZmljYXRpb25BbGxvd2VkRXJyb3I6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBtb2RpZmllZC4u
CitDaGFuZ2luZyB0cmFuc2Zvcm0gLSB0aGlzIGhhcyBubyBhZmZlY3Qgb24gdGhlIFNWR1NWR0Vs
ZW1lbnQgdGhlIHZpZXdTcGVjIGJlbG9uZ3MgdG8gLSBpdCBpcyBhIGRldGFjaGVkIHByb3BlcnR5
CitQQVNTIGN1cnJlbnRWaWV3LnRyYW5zZm9ybS5hcHBlbmRJdGVtKHRyYW5zZm9ybSkudG9TdHJp
bmcoKSBpcyAiW29iamVjdCBTVkdUcmFuc2Zvcm1dIgorUEFTUyBjdXJyZW50Vmlldy50cmFuc2Zv
cm0ubnVtYmVyT2ZJdGVtcyBpcyAxCitQQVNTIGN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmluZyBp
cyAibWF0cml4KDEgMCAwIDEgMCAwKSIKK1BBU1MgdW5kZWZpbmVkIGlzIHVuZGVmaW5lZC4KIFBB
U1MgY3VycmVudFZpZXcudHJhbnNmb3JtLm51bWJlck9mSXRlbXMgaXMgMAorCitUcnkgY2hhbmdp
bmcgdHJhbnNmb3JtU3RyaW5nIC0gbm9uZSBvZiB0aGVzZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJp
bWl0aXZlIHByb3BlcnR5CitQQVNTIGN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmluZyA9ICdyb3Rh
dGUoOTApJyBpcyAicm90YXRlKDkwKSIKK1BBU1MgY3VycmVudFZpZXcudHJhbnNmb3JtU3RyaW5n
IGlzICIiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHVmlld1NwZWMtZGVmYXVsdHMuaHRt
bCBiL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHVmlld1NwZWMtZGVmYXVsdHMuaHRtbAppbmRleCBh
MDI0MjY3MWQyY2FjY2IwYmVjNTI0OWIwZTVjYzkzZTQ2Mjc2MWViLi4xMDYwYmRjMmNiZGRhNzgy
NDNhOGFmOGMwNjU0MjVjNjZmNzIzMWZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9t
L1NWR1ZpZXdTcGVjLWRlZmF1bHRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdW
aWV3U3BlYy1kZWZhdWx0cy5odG1sCkBAIC0zNCw2MiArMzQsNjQgQEAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJjdXJyZW50Vmlldy52aWV3VGFyZ2V0U3RyaW5nIiwgIiIpOwogc2hvdWxkQmUoImN1
cnJlbnRWaWV3Lnpvb21BbmRQYW4iLCAiU1ZHVmlld0VsZW1lbnQuU1ZHX1pPT01BTkRQQU5fTUFH
TklGWSIpOwogCiBkZWJ1ZygiIik7Ci1kZWJ1ZygiVHJ5IGNoYW5naW5nIHpvb21BbmRQYW4gLSBu
b25lIG9mIHRoZXNlIHdpbGwgd29yaywgYXMgU1ZHVmlld1NwZWMgaXMgZnVsbHkgcmVhZG9ubHkg
LSBldmVuIHRoZSBhbmltYXRlZCBwcm9wZXJ0aWVzIGl0IGluaGVyaXRzIGZyb20gcGFyZW50IGNs
YXNzZXMgbGlrZSBTVkdab29tQW5kUGFuL1NWR0ZpdFRvVmlld0JveCIpOworZGVidWcoIlRyeSBj
aGFuZ2luZyB6b29tQW5kUGFuIC0gbm9uZSBvZiB0aGVzZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJp
bWl0aXZlIHByb3BlcnR5Iik7CiBzaG91bGRUaHJvdygiY3VycmVudFZpZXcuem9vbUFuZFBhbiA9
IFNWR1ZpZXdFbGVtZW50LlNWR19aT09NQU5EUEFOX0RJU0FCTEUiKTsKIHNob3VsZEJlKCJjdXJy
ZW50Vmlldy56b29tQW5kUGFuIiwgIlNWR1ZpZXdFbGVtZW50LlNWR19aT09NQU5EUEFOX01BR05J
RlkiKTsKIAogZGVidWcoIiIpOwotZGVidWcoIlRyeSBjaGFuZ2luZyB2aWV3Qm94IC0gdGhpcyBo
YXMgbm8gYWZmZWN0IG9uIHRoZSBTVkdTVkdFbGVtZW50IHRoZSB2aWV3U3BlYyBiZWxvbmdzIHRv
IC0gaXQgZXhwb3NlZCBhbGwgaXRzIHByb3BlcnRpZXMgYXMgcmVhZC1vbmx5Iik7Ci1zaG91bGRU
aHJvdygiY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLnggPSAxMCIpOwotc2hvdWxkQmUoImN1
cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC54IiwgIjAiKTsKLXNob3VsZFRocm93KCJjdXJyZW50
Vmlldy52aWV3Qm94LmJhc2VWYWwueSA9IDIwIik7Ci1zaG91bGRCZSgiY3VycmVudFZpZXcudmll
d0JveC5iYXNlVmFsLnkiLCAiMCIpOwotc2hvdWxkVGhyb3coImN1cnJlbnRWaWV3LnZpZXdCb3gu
YmFzZVZhbC53aWR0aCA9IDUwIik7Ci1zaG91bGRCZSgiY3VycmVudFZpZXcudmlld0JveC5iYXNl
VmFsLndpZHRoIiwgIjAiKTsKLXNob3VsZFRocm93KCJjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VW
YWwuaGVpZ2h0ID0gMTAwIik7Ci1zaG91bGRCZSgiY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFs
LmhlaWdodCIsICIwIik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnZpZXdC
b3hTdHJpbmciLCAiMCAwIDAgMCIpOworZGVidWcoIkNoYW5naW5nIHZpZXdCb3ggLSB0aGlzIGhh
cyBubyBhZmZlY3Qgb24gdGhlIFNWR1NWR0VsZW1lbnQgdGhlIHZpZXdTcGVjIGJlbG9uZ3MgdG8g
LSBpdCBpcyBhIGRldGFjaGVkIHByb3BlcnR5Iik7CitzaG91bGRCZSgiY3VycmVudFZpZXcudmll
d0JveC5iYXNlVmFsLnggPSAxMCIsICIxMCIpOworc2hvdWxkQmUoImN1cnJlbnRWaWV3LnZpZXdC
b3guYmFzZVZhbC54IiwgIjEwIik7CitzaG91bGRCZSgiY3VycmVudFZpZXcudmlld0JveC5iYXNl
VmFsLnkgPSAyMCIsICIyMCIpOworc2hvdWxkQmUoImN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZh
bC55IiwgIjIwIik7CitzaG91bGRCZSgiY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLndpZHRo
ID0gNTAiLCAiNTAiKTsKK3Nob3VsZEJlKCJjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwud2lk
dGgiLCAiNTAiKTsKK3Nob3VsZEJlKCJjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwuaGVpZ2h0
ID0gMTAwIiwgIjEwMCIpOworc2hvdWxkQmUoImN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC5o
ZWlnaHQiLCAiMTAwIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnZpZXdC
b3hTdHJpbmciLCAiMTAgMjAgNTAgMTAwIik7CiAKIGRlYnVnKCIiKTsKLWRlYnVnKCJUcnkgY2hh
bmdpbmcgdmlld0JveFN0cmluZyIpOworZGVidWcoIlRyeSBjaGFuZ2luZyB2aWV3Qm94U3RyaW5n
IC0gbm9uZSBvZiB0aGVzZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJpbWl0aXZlIHByb3BlcnR5Iik7
CiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnZpZXdCb3hTdHJpbmcgPSAnMSAy
IDMgNCciLCAiMSAyIDMgNCIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy52
aWV3Qm94U3RyaW5nIiwgIjAgMCAwIDAiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVu
dFZpZXcudmlld0JveFN0cmluZyIsICIxMCAyMCA1MCAxMDAiKTsKIAogZGVidWcoIiIpOwotZGVi
dWcoIlRyeSBjaGFuZ2luZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvIik7Ci1zaG91bGRUaHJvdygiY3Vy
cmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLmFsaWduID0gU1ZHUHJlc2VydmVB
c3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1JTiIpOwotc2hvdWxkQmUo
ImN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5hbGlnbiIsICJTVkdQcmVz
ZXJ2ZUFzcGVjdFJhdGlvLlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlEIik7Ci1zaG91
bGRUaHJvdygiY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLm1lZXRPclNs
aWNlID0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJQ0VfU0xJQ0UiKTsKLXNo
b3VsZEJlKCJjdXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VWYWwubWVldE9yU2xp
Y2UiLCAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJQ0VfTUVFVCIpOworZGVi
dWcoIkNoYW5naW5nIHByZXNlcnZlQXNwZWN0UmF0aW8gLSB0aGlzIGhhcyBubyBhZmZlY3Qgb24g
dGhlIFNWR1NWR0VsZW1lbnQgdGhlIHZpZXdTcGVjIGJlbG9uZ3MgdG8gLSBpdCBpcyBhIGRldGFj
aGVkIHByb3BlcnR5Iik7CitzaG91bGRCZSgiY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRp
by5iYXNlVmFsLmFsaWduID0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BF
Q1RSQVRJT19YTUlOWU1JTiIsICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19QUkVTRVJWRUFT
UEVDVFJBVElPX1hNSU5ZTUlOIik7CitzaG91bGRCZSgiY3VycmVudFZpZXcucHJlc2VydmVBc3Bl
Y3RSYXRpby5iYXNlVmFsLmFsaWduIiwgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fWE1JTllNSU4iKTsKK3Nob3VsZEJlKCJjdXJyZW50Vmlldy5wcmVzZXJ2
ZUFzcGVjdFJhdGlvLmJhc2VWYWwubWVldE9yU2xpY2UgPSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlv
LlNWR19NRUVUT1JTTElDRV9TTElDRSIsICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19NRUVU
T1JTTElDRV9TTElDRSIpOworc2hvdWxkQmUoImN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0
aW8uYmFzZVZhbC5tZWV0T3JTbGljZSIsICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19NRUVU
T1JTTElDRV9TTElDRSIpOwogCiBkZWJ1ZygiIik7Ci1kZWJ1ZygiVHJ5IGNoYW5naW5nIHByZXNl
cnZlQXNwZWN0UmF0aW9TdHJpbmciKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVudFZp
ZXcucHJlc2VydmVBc3BlY3RSYXRpb1N0cmluZyA9ICd4TWluWU1pbiBzbGljZSciLCAieE1pbllN
aW4gc2xpY2UiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVudFZpZXcucHJlc2VydmVB
c3BlY3RSYXRpb1N0cmluZyIsICJ4TWlkWU1pZCBtZWV0Iik7Ci0KK2RlYnVnKCJDaGFuZ2luZyBw
cmVzZXJ2ZUFzcGVjdFJhdGlvU3RyaW5nIC0gbm9uZSBvZiB0aGVzZSB3aWxsIHdvcmssIGl0IGlz
IGEgcHJpbWl0aXZlIHByb3BlcnR5Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRW
aWV3LnByZXNlcnZlQXNwZWN0UmF0aW9TdHJpbmcgPSAneE1pZFlNaWQgbWVldCciLCAieE1pZFlN
aWQgbWVldCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy5wcmVzZXJ2ZUFz
cGVjdFJhdGlvU3RyaW5nIiwgInhNaW5ZTWluIHNsaWNlIik7CiAKIGRlYnVnKCIiKTsKLWRlYnVn
KCJUcnkgY2hhbmdpbmcgdHJhbnNmb3JtU3RyaW5nIik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmco
ImN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmluZyA9ICdyb3RhdGUoOTApJyIsICJyb3RhdGUoOTAp
Iik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmluZyIs
ICIiKTsKLQotCi1kZWJ1ZygiIik7Ci1kZWJ1ZygiVHJ5IGNoYW5naW5nIHZpZXdUYXJnZXQiKTsK
K2RlYnVnKCJUcnkgY2hhbmdpbmcgdmlld1RhcmdldCAtIG5vbmUgb2YgdGhlc2Ugd2lsbCB3b3Jr
LCBpdCBpcyBhIHByaW1pdGl2ZSBwcm9wZXJ0eSIpOwogc2hvdWxkQmUoImN1cnJlbnRWaWV3LnZp
ZXdUYXJnZXQgPSBzdmdFbGVtZW50IiwgInN2Z0VsZW1lbnQiKTsKIHNob3VsZEJlTnVsbCgiY3Vy
cmVudFZpZXcudmlld1RhcmdldCIpOwogCiAKIGRlYnVnKCIiKTsKLWRlYnVnKCJUcnkgY2hhbmdp
bmcgdmlld1RhcmdldFN0cmluZyIpOworZGVidWcoIlRyeSBjaGFuZ2luZyB2aWV3VGFyZ2V0U3Ry
aW5nIC0gbm9uZSBvZiB0aGVzZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJpbWl0aXZlIHByb3BlcnR5
Iik7CiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnZpZXdUYXJnZXRTdHJpbmcg
PSAnI3Rlc3QnIiwgIiN0ZXN0Iik7CiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3
LnZpZXdUYXJnZXRTdHJpbmciLCAiIik7CiAKIGRlYnVnKCIiKTsKLWRlYnVnKCJUcnkgY2hhbmdp
bmcgdHJhbnNmb3JtIik7Ci1zaG91bGRUaHJvdygiY3VycmVudFZpZXcudHJhbnNmb3JtLmNsZWFy
KCkiKTsKK2RlYnVnKCJDaGFuZ2luZyB0cmFuc2Zvcm0gLSB0aGlzIGhhcyBubyBhZmZlY3Qgb24g
dGhlIFNWR1NWR0VsZW1lbnQgdGhlIHZpZXdTcGVjIGJlbG9uZ3MgdG8gLSBpdCBpcyBhIGRldGFj
aGVkIHByb3BlcnR5Iik7Cit2YXIgdHJhbnNmb3JtID0gc3ZnRWxlbWVudC5jcmVhdGVTVkdUcmFu
c2Zvcm0oKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVudFZpZXcudHJhbnNmb3JtLmFw
cGVuZEl0ZW0odHJhbnNmb3JtKS50b1N0cmluZygpIiwgIltvYmplY3QgU1ZHVHJhbnNmb3JtXSIp
Oworc2hvdWxkQmUoImN1cnJlbnRWaWV3LnRyYW5zZm9ybS5udW1iZXJPZkl0ZW1zIiwgIjEiKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVudFZpZXcudHJhbnNmb3JtU3RyaW5nIiwgIm1h
dHJpeCgxIDAgMCAxIDAgMCkiKTsKK3Nob3VsZEJlVW5kZWZpbmVkKGN1cnJlbnRWaWV3LnRyYW5z
Zm9ybS5jbGVhcigpKTsKIHNob3VsZEJlKCJjdXJyZW50Vmlldy50cmFuc2Zvcm0ubnVtYmVyT2ZJ
dGVtcyIsICIwIik7CiAKK2RlYnVnKCIiKTsKK2RlYnVnKCJUcnkgY2hhbmdpbmcgdHJhbnNmb3Jt
U3RyaW5nIC0gbm9uZSBvZiB0aGVzZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJpbWl0aXZlIHByb3Bl
cnR5Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmlu
ZyA9ICdyb3RhdGUoOTApJyIsICJyb3RhdGUoOTApIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmluZyIsICIiKTsKKwogc3VjY2Vzc2Z1bGx5UGFyc2Vk
ID0gdHJ1ZTsKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9zdmcy
LWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9kb20vc3ZnMi1pbmhl
cml0YW5jZS1leHBlY3RlZC50eHQKaW5kZXggNjNlZmFlZWEzMjcyYmFjMDU5YzI0MWE4ZjhkYzI4
MTExNzEyMjY4Mi4uZTI1OWM2OWRhNTUzNzVlYWIwNjVhMmQ1N2NmZjhmZWRiYjZmMmRmNiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9zdmcyLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL3N2ZzItaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0
CkBAIC05MSw3ICs5MSw3IEBAIFBBU1MgU1ZHUGF0aFNlZ0xpc3QgaW5oZXJpdHMgT2JqZWN0CiBQ
QVNTIFNWR1BhdGhTZWdNb3ZldG9BYnMgaW5oZXJpdHMgU1ZHUGF0aFNlZwogUEFTUyBTVkdQYXRo
U2VnTW92ZXRvUmVsIGluaGVyaXRzIFNWR1BhdGhTZWcKIFBBU1MgU1ZHUGF0dGVybkVsZW1lbnQg
aW5oZXJpdHMgU1ZHRWxlbWVudAotUEFTUyBTVkdQb2ludCBpbmhlcml0cyBPYmplY3QKK1BBU1Mg
U1ZHUG9pbnQgaW5oZXJpdHMgRE9NUG9pbnRSZWFkT25seQogUEFTUyBTVkdQb2ludExpc3QgaW5o
ZXJpdHMgT2JqZWN0CiBQQVNTIFNWR1BvbHlnb25FbGVtZW50IGluaGVyaXRzIFNWR0dlb21ldHJ5
RWxlbWVudAogUEFTUyBTVkdQb2x5bGluZUVsZW1lbnQgaW5oZXJpdHMgU1ZHR2VvbWV0cnlFbGVt
ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvZG9tL3N2ZzItaW5oZXJpdGFuY2UuaHRt
bCBiL0xheW91dFRlc3RzL3N2Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS5odG1sCmluZGV4IDUxZWQx
MWE2MjVjOGEyM2NhYjVkMDEyNTc2M2U3MTAxZDBhMDRiM2EuLjBjZTdjZjMwMGVlZGFkMmE5NzQ2
N2Y5YTYyYjI0MzMyYjY1YmZiZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vc3Zn
Mi1pbmhlcml0YW5jZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N2Zy9kb20vc3ZnMi1pbmhlcml0
YW5jZS5odG1sCkBAIC0xMTksNyArMTE5LDcgQEAgY2hlY2tQYXJlbnQoIlNWR1BhdGhTZWdMaXN0
IiwgIk9iamVjdCIpOwogY2hlY2tQYXJlbnQoIlNWR1BhdGhTZWdNb3ZldG9BYnMiLCAiU1ZHUGF0
aFNlZyIpOwogY2hlY2tQYXJlbnQoIlNWR1BhdGhTZWdNb3ZldG9SZWwiLCAiU1ZHUGF0aFNlZyIp
OwogY2hlY2tQYXJlbnQoIlNWR1BhdHRlcm5FbGVtZW50IiwgIlNWR0VsZW1lbnQiKTsKLWNoZWNr
UGFyZW50KCJTVkdQb2ludCIsICJPYmplY3QiKTsKK2NoZWNrUGFyZW50KCJTVkdQb2ludCIsICJE
T01Qb2ludFJlYWRPbmx5Iik7CiBjaGVja1BhcmVudCgiU1ZHUG9pbnRMaXN0IiwgIk9iamVjdCIp
OwogY2hlY2tQYXJlbnQoIlNWR1BvbHlnb25FbGVtZW50IiwgIlNWR0dlb21ldHJ5RWxlbWVudCIp
OwogY2hlY2tQYXJlbnQoIlNWR1BvbHlsaW5lRWxlbWVudCIsICJTVkdHZW9tZXRyeUVsZW1lbnQi
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380574</attachid>
            <date>2019-10-09 14:53:57 -0700</date>
            <delta_ts>2019-10-09 14:53:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191376-20191009145356.patch</filename>
            <type>text/plain</type>
            <size>226976</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwOTE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzQ3NzczMTg2OWY1MjBm
ZjFhMDZiNjJiZDYyZDlkMDdkMGY1OWIxYS4uMDYyMjMyMmE3ZjA2MWE1OWY3MDVhMGI0NTA2ZjU0
ZTEwMzM2YThkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3MSBAQAorMjAxOS0xMC0wOSAgU2Fp
ZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIFtTVkcy
XTogUmVtb3ZlIHRoZSBpbnRlcmZhY2UgU1ZHUG9pbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcGxhY2UgU1ZHUG9pbnQgYnkgRE9NUG9pbnQgaW4g
YWxsIHRoZSBTVkcgaW50ZXJmYWNlcy4gTWFrZSBTVkdQb2ludCBhbgorICAgICAgICBhbGlhcyB0
byBET01Qb2ludC4gQWRkIHRoZSByZXF1aXJlZCBmdW5jdGlvbnMgdG8gU1ZHUG9pbnRMaXN0IGJl
Y2F1c2UgaXQKKyAgICAgICAgbm93IGluaGVyaXRzIFNWR1Byb3BlcnR5TGlzdCBpbnN0ZWFkIG9m
IGluaGVyaXRpbmcgU1ZHVmFsdWVQcm9wZXJ0eUxpc3QuCisKKyAgICAgICAgKiBDTWFrZUxpc3Rz
LnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLm1ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoU2hvdWxkR2VuZXJhdGVUb1dyYXBwZWQpOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOgorICAgICAgICAo
V2ViQ29yZTo6anNUZXN0T2JqTXV0YWJsZVBvaW50R2V0dGVyKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdE9iak11dGFibGVQb2ludCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpzZXRKU1Rlc3RPYmpNdXRhYmxlUG9pbnRTZXR0ZXIpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6c2V0SlNUZXN0T2JqTXV0YWJsZVBvaW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTXV0YWJsZVBvaW50RnVuY3Rpb25Cb2R5
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9u
TXV0YWJsZVBvaW50RnVuY3Rpb24pOiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RU
eXBlZGVmc1Byb3RvdHlwZUZ1bmN0aW9uUG9pbnRGdW5jdGlvbkJvZHkpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6anNUZXN0VHlwZWRlZnNQcm90b3R5cGVGdW5jdGlvblBvaW50RnVuY3Rp
b24pOiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlk
bDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFR5cGVkZWZzLmlkbDoKKyAg
ICAgICAgKiBkb20vRE9NUG9pbnQuaDoKKyAgICAgICAgKiBkb20vRE9NUG9pbnQuaWRsOgorICAg
ICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUGF0aERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
cGF0aEZyb21Qb2x5Z29uRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpwYXRoRnJvbVBvbHls
aW5lRWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdHZW9tZXRyeUVsZW1lbnQ6OmdldFBvaW50QXRMZW5ndGggY29uc3Qp
OgorICAgICAgICAqIHN2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
R2VvbWV0cnlFbGVtZW50LmlkbDoKKyAgICAgICAgKiBzdmcvU1ZHUGF0aEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aEVsZW1lbnQ6OmdldFBvaW50QXRMZW5ndGggY29uc3Qp
OgorICAgICAgICAqIHN2Zy9TVkdQYXRoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdQb2lu
dC5oOiBSZW1vdmVkLgorICAgICAgICAqIHN2Zy9TVkdQb2ludC5pZGw6IFJlbW92ZWQuCisgICAg
ICAgICogc3ZnL1NWR1BvaW50TGlzdC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUG9pbnRMaXN0
OjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUG9pbnRMaXN0OjpyZXNpemUpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUG9pbnRMaXN0OjpwYXJzZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdQb2ludExpc3Q6OlNWR1BvaW50TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2lu
dExpc3Q6OmNvcHlJdGVtcyk6CisgICAgICAgICogc3ZnL1NWR1BvaW50TGlzdC5pZGw6CisgICAg
ICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxl
bWVudDo6c2V0Q3VycmVudFRyYW5zbGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdTVkdFbGVt
ZW50OjpjcmVhdGVTVkdQb2ludCk6CisgICAgICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuaDoKKyAg
ICAgICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5pZGw6CisgICAgICAgICogc3ZnL1NWR1RleHRDb250
ZW50RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0Q29udGVudEVsZW1lbnQ6
OmdldFN0YXJ0UG9zaXRpb25PZkNoYXIpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dENvbnRl
bnRFbGVtZW50OjpnZXRFbmRQb3NpdGlvbk9mQ2hhcik6CisgICAgICAgICogc3ZnL1NWR1RleHRD
b250ZW50RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaWRs
OgorICAgICAgICAqIHN2Zy9TVkdab29tRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
Wm9vbUV2ZW50OjpwcmV2aW91c1RyYW5zbGF0ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpT
Vkdab29tRXZlbnQ6Om5ld1RyYW5zbGF0ZSBjb25zdCk6CisgICAgICAgICogc3ZnL1NWR1pvb21F
dmVudC5oOgorICAgICAgICAqIHN2Zy9TVkdab29tRXZlbnQuaWRsOgorICAgICAgICAqIHN2Zy9w
cm9wZXJ0aWVzL1NWR0FuaW1hdGlvbkFkZGl0aXZlTGlzdEZ1bmN0aW9uSW1wbC5oOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHQW5pbWF0aW9uUG9pbnRMaXN0RnVuY3Rpb246OmFuaW1hdGUpOgorCisy
MDE5LTEwLTA5ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisK
KyAgICAgICAgTWFrZSBET01Qb2ludCBhIERPTUxpdmVPYmplY3QKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjQ3OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNWR1Byb3BlcnR5IGhhcyB0byBjb21lIGJh
Y2sgYmVjYXVzZSBET01Qb2ludCBpbmhlcml0cyBET01Qb2ludFJlYWRPbmx5CisgICAgICAgIHdo
aWNoIGlzIFJlZkNvdW50ZWQuIFNvIERPTUxpdmVQcm9wZXJ0eSBjYW4ndCBiZSBSZWZDb3VudGVk
LiBPdGhlcndpc2UKKyAgICAgICAgRE9NUG9pbnQgd2lsbCBtYWtlIGEgZGlhbW9uZCBpbmhlcml0
YW5jZS4gU1ZHUHJvcGVydHkgd2lsbCBpbmhlcml0IAorICAgICAgICBET01MaXZlUHJvcGVydHkg
YW5kIGl0IHdpbGwgYmUgUmVmQ291bnRlZC4KKworICAgICAgICAqIEhlYWRlcnMuY21ha2U6Cisg
ICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9ET01MaXZlUHJvcGVydHkuaDoKKyAgICAgICAgKiBk
b20vRE9NUG9pbnQuaDogQWRkZWQuCisgICAgICAgICogZG9tL0RPTVBvaW50Lmg6CisgICAgICAg
ICogZG9tL0RPTVBvaW50LmlkbDoKKyAgICAgICAgKiBkb20vRE9NUG9pbnRSZWFkT25seS5oOgor
ICAgICAgICAoV2ViQ29yZTo6RE9NUG9pbnRSZWFkT25seTo6eEZvckJpbmRpbmdzIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkRPTVBvaW50UmVhZE9ubHk6OnlGb3JCaW5kaW5ncyBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpET01Qb2ludFJlYWRPbmx5Ojp6Rm9yQmluZGluZ3MgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6RE9NUG9pbnRSZWFkT25seTo6d0ZvckJpbmRpbmdzIGNvbnN0
KToKKyAgICAgICAgKiBkb20vRE9NUG9pbnRSZWFkT25seS5pZGw6CisgICAgICAgICogZG9tL0Rl
dmljZU9yaWVudGF0aW9uT3JNb3Rpb25FdmVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR1BhdGhT
ZWcuaDoKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdMaXN0Lmg6CisgICAgICAgICogc3Zn
L3Byb3BlcnRpZXMvU1ZHTWVtYmVyQWNjZXNzb3IuaDoKKyAgICAgICAgKiBzdmcvcHJvcGVydGll
cy9TVkdQcmltaXRpdmVQcm9wZXJ0eUFuaW1hdG9yLmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRp
ZXMvU1ZHUHJvcGVydHkuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5Ojppc0F0dGFj
aGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5OjphdHRh
Y2gpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHk6OmRldGFjaCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6Y29udGV4dEVsZW1lbnQgY29u
c3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHk6OmNvbW1pdENoYW5n
ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6YWNjZXNzIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5Ojppc1JlYWRPbmx5IGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5Ojppc0RpcnR5IGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5OjpzZXREaXJ0eSk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6c3luY2hyb25pemUpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHk6OlNWR1Byb3BlcnR5KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9y
eS5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1NoYXJlZFByaW1pdGl2ZVByb3BlcnR5
Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eS5oOgorICAgICAg
ICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlBbmltYXRvci5oOgorICAgICAgICAq
IHN2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlBbmltYXRvckltcGwuaDoKKyAgICAgICAg
KiBzdmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5TGlzdEFuaW1hdG9yLmg6CisgICAgICAg
ICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eUxpc3RBbmltYXRvckltcGwuaDoKKwor
MjAxOS0xMC0wMSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgor
CisgICAgICAgIFJlcGxhY2UgU1ZHUHJvcGVydHkvU1ZHUHJvcGVydHlPd25lciBieSBET01MaXZl
UHJvcGVydHkvRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTc4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgYSBzdGVwIHRvd2FyZHMgcmVwbGFjaW5n
IFNWR1BvaW50IGJ5IERPTVBvaW50LgorCisgICAgICAgIC0tIEFkZCBhIG5ldyBjbGFzcywgbmFt
ZWQgRE9NTGl2ZVByb3BlcnR5LiBJdHMgam9iIGlzIHRvIGNvbW11bmljYXRlIHRoZQorICAgICAg
ICAgICBjaGFuZ2VzIGluIHRoaXMgb2JqZWN0IHRvIGl0cyBvYnNlcnZlci4gVGhpcyBpcyByZXBs
YWNpbmcgU1ZHUHJvcGVydHkuCisgICAgICAgICAgIERPTVBvaW50IHdpbGwgYmUgbWFkZSBpbiBh
IHN1cGVyIG9mIGl0IGFsc28gaW4gYSBmb2xsb3dpbmcgcGF0Y2guCisKKyAgICAgICAgLS0gQWRk
IGEgbmV3IGNsYXNzLCBuYW1lZCBET01MaXZlUHJvcGVydHlPYnNlcnZlciBhbmQgbWFrZSBpdCB0
aGUgYmFzZQorICAgICAgICAgICBjbGFzcyBvZiBET01MaXZlUHJvcGVydHkgb2JzZXJ2ZXJzLiBD
dXJyZW50bHkgdGhlIGZvbGxvd2luZyBjbGFzcyBhcmUKKyAgICAgICAgICAgbWFkZSBzdXBlciBj
bGFzc2VzIG9mIERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyOgorICAgICAgICAgICAxLiBTVkdFbGVt
ZW50OiBUaGlzIG9ic2VydmVzIHRoZSBjaGFuZ2VzIGluIGFsbCB0aGUgU1ZHIHByb3BlcnRpZXMu
CisgICAgICAgICAgIDIuIFNWR0FuaW1hdGVkUHJvcGVydHk6IFRoaXMgb2JzZXJ2ZXMgdGhlIGNo
YW5nZXMgaW4gaXRzIGJhc2VWYWwuCisgICAgICAgICAgIDMuIFNWR1Byb3BlcnR5TGlzdDogVGhp
cyBvYnNlcnZlcyB0aGUgY2hhbmdlcyBpbiB0aGUgaXRlbXMuCisgICAgICAgICAgIDQuIFNWR1Ry
YW5zZm9ybTogVGhpcyBvYnNlcnZlcyB0aGUgY2hhbmdlcyBpbiB0aGUgdW5kZXJseWluZyBTVkdN
YXRyaXguCisKKyAgICAgICAgKiBIZWFkZXJzLmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBkb20vRE9NTGl2ZVByb3BlcnR5Lmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2ZVByb3BlcnR5Ojppc0F0dGFjaGVkIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTUxpdmVQcm9wZXJ0eTo6b2JzZXJ2ZXIgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2ZVByb3BlcnR5OjphdHRhY2gpOgorICAgICAgICAo
V2ViQ29yZTo6RE9NTGl2ZVByb3BlcnR5OjpkZXRhY2gpOgorICAgICAgICAoV2ViQ29yZTo6RE9N
TGl2ZVByb3BlcnR5OjpzdmdDb250ZXh0RWxlbWVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpET01MaXZlUHJvcGVydHk6OmlzUmVhZE9ubHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
RE9NTGl2ZVByb3BlcnR5Ojpjb21taXRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2
ZVByb3BlcnR5Ojp2YWx1ZUFzU3RyaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRPTUxp
dmVQcm9wZXJ0eTo6RE9NTGl2ZVByb3BlcnR5KToKKyAgICAgICAgKiBkb20vRE9NTGl2ZVByb3Bl
cnR5T2JzZXJ2ZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpET01MaXZlUHJvcGVydHlP
YnNlcnZlcjo6b2JzZXJ2ZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RE9NTGl2ZVByb3Bl
cnR5T2JzZXJ2ZXI6OnByb3BlcnR5U1ZHQ29udGV4dEVsZW1lbnQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6RE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXI6OmlzUHJvcGVydHlSZWFkT25seSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpET01MaXZlUHJvcGVydHlPYnNlcnZlcjo6Y29tbWl0UHJv
cGVydHlDaGFuZ2UpOgorICAgICAgICAqIHN2Zy9TVkdBbmdsZS5oOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHQW5nbGU6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6Y29tbWl0UHJvcGVydHlDaGFuZ2UpOgorICAgICAg
ICAqIHN2Zy9TVkdFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aC5oOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVu
Z3RoOjp2YWx1ZUZvckJpbmRpbmdzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0aDo6c2V0
VmFsdWVGb3JCaW5kaW5ncyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGg6OmNvbnZlcnRU
b1NwZWNpZmllZFVuaXRzKToKKyAgICAgICAgKiBzdmcvU1ZHTGVuZ3RoTGlzdC5oOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHTGVuZ3RoTGlzdDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0xlbmd0aExpc3Q6OlNWR0xlbmd0aExpc3QpOgorICAgICAgICAqIHN2Zy9TVkdNYXRyaXguaDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR01hdHJpeDo6Y3JlYXRlKToKKyAgICAgICAgKiBzdmcvU1ZH
TnVtYmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdOdW1iZXI6OmNyZWF0ZSk6CisgICAgICAg
ICogc3ZnL1NWR051bWJlckxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR051bWJlckxpc3Q6
OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1BhdGhTZWcuaDoKKyAgICAgICAgKiBzdmcvU1ZH
UGF0aFNlZ0xpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHUG9pbnRMaXN0Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdQb2ludExpc3Q6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1ByZXNlcnZl
QXNwZWN0UmF0aW8uaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ByZXNlcnZlQXNwZWN0UmF0aW86
OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1JlY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1JlY3Q6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1N0cmluZ0xpc3QuaDoKKyAgICAgICAg
KiBzdmcvU1ZHVHJhbnNmb3JtLmg6CisgICAgICAgICogc3ZnL1NWR1RyYW5zZm9ybUxpc3QuaDoK
KyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJvcGVydHk6Om9ic2VydmVyIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJvcGVydHk6OmNvbW1pdFByb3BlcnR5Q2hhbmdlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJvcGVydHk6Om93bmVyIGNvbnN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFByb3BlcnR5Ojp2YWx1ZUFzU3RyaW5nIGNvbnN0
KToKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TGlzdC5oOgor
ICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlQYWlyQWNjZXNzb3JJ
bXBsLmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRWYWx1ZVByb3BlcnR5
Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHTGlzdC5oOgorICAgICAgICAqIHN2Zy9w
cm9wZXJ0aWVzL1NWR01lbWJlckFjY2Vzc29yLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdNZW1i
ZXJBY2Nlc3Nvcjo6bWF0Y2hlcyBjb25zdCk6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZH
UG9pbnRlck1lbWJlckFjY2Vzc29yLmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHUHJp
bWl0aXZlUHJvcGVydHlBbmltYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJpbWl0aXZl
UHJvcGVydHlBbmltYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ByaW1pdGl2
ZVByb3BlcnR5QW5pbWF0b3I6OlNWR1ByaW1pdGl2ZVByb3BlcnR5QW5pbWF0b3IpOgorICAgICAg
ICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5Lmg6IFJlbW92ZWQuCisgICAgICAgICogc3Zn
L3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlBY2Nlc3Nvci5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0
aWVzL1NWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQ
cm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlQ29sb3JBbmltYXRvcik6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlTGVuZ3RoQW5pbWF0b3Ip
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZUxl
bmd0aExpc3RBbmltYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eUFuaW1hdG9y
RmFjdG9yeTo6Y3JlYXRlTnVtYmVyQW5pbWF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJv
cGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yKToKKyAgICAgICAgKiBz
dmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1By
b3BlcnR5TGlzdDo6U1ZHUHJvcGVydHlMaXN0KToKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9T
VkdQcm9wZXJ0eU93bmVyLmg6IFJlbW92ZWQuCisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZH
UHJvcGVydHlPd25lclJlZ2lzdHJ5Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHUHJv
cGVydHlSZWdpc3RyeS5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1NoYXJlZFByaW1p
dGl2ZVByb3BlcnR5Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0
eS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmFsdWVQcm9wZXJ0eTo6U1ZHVmFsdWVQcm9wZXJ0
eSk6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eUFuaW1hdG9yLmg6
CisgICAgICAgIChXZWJDb3JlOjpTVkdWYWx1ZVByb3BlcnR5QW5pbWF0b3I6OlNWR1ZhbHVlUHJv
cGVydHlBbmltYXRvcik6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0
eUFuaW1hdG9ySW1wbC5oOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVy
dHlMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdWYWx1ZVByb3BlcnR5TGlzdDo6U1ZHVmFs
dWVQcm9wZXJ0eUxpc3QpOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVy
dHlMaXN0QW5pbWF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZhbHVlUHJvcGVydHlMaXN0
QW5pbWF0b3I6OlNWR1ZhbHVlUHJvcGVydHlMaXN0QW5pbWF0b3IpOgorICAgICAgICAqIHN2Zy9w
cm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlMaXN0QW5pbWF0b3JJbXBsLmg6CisKKzIwMTktMTAt
MDEgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZW1vdmUgU1ZHUHJvcGVydHlTdGF0ZSBmcm9tIFNWR1Byb3BlcnR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0MzkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgc3RlcCB0b3dhcmRz
IHJlcGxhY2luZyBTVkdQb2ludCBieSBET01Qb2ludC4KKworICAgICAgICBTVkdQcm9wZXJ0eSBr
ZWVwcyBhIG1lbWJlciBvZiB0eXBlIFNWR1Byb3BlcnR5U3RhdGUgd2hpY2ggdGVsbHMgd2hldGhl
cgorICAgICAgICBpdCBuZWVkcyB0byBiZSByZS1zZXJpYWxpemVkIHRvIGl0cyBhdHRyaWJ1dGUg
b3Igbm90LiBCdXQgdGhlIGRpcnR5IHN0YXRlCisgICAgICAgIGlzIG9ubHkgc2V0IGluIFNWR0Vs
ZW1lbnQ6OmNvbW1pdFByb3BlcnR5Q2hhbmdlKCkuCisKKyAgICAgICAgU28gaW5zdGVhZCBvZiBo
YXZpbmcgU1ZHRWxlbWVudCBzZW5kcyB0aGlzIGNoYW5nZSBiYWNrIHRvIHRoZSBwcm9wZXJ0eSwK
KyAgICAgICAgd2UgYXJlIGdvaW5nIHRvIGtlZXAgYSBIYXNoU2V0PFF1YWxpZmllZE5hbWU+IGlu
IFNWR0VsZW1lbnQgdG8gdGVsbCB3aGljaAorICAgICAgICBhdHRyaWJ1dGVzIG5lZWQgdG8gYmUg
cmUtc2VyaWFsaXplZC4gQW5kIGluc3RlYWQgb2YgY2FsbGluZyB0aGUgdmlydHVhbAorICAgICAg
ICBtZXRob2Qgc3luY2hyb25pemUoKSB3aGljaCB3YXMgcmV0dXJuaW5nIE9wdGlvbmFsPFN0cmlu
Zz4sIHdlIGFyZSBnb2luZworICAgICAgICB0byBjYWxsIHRoZSB2aXJ0dWFsIG1ldGhvZCB2YWx1
ZUFzU3RyaW5nKCkgd2hpY2ggcmV0dXJucyBhIFN0cmluZy4KKworICAgICAgICAqIHN2Zy9TVkdF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnN5bmNocm9uaXplQXR0
cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnN5bmNocm9uaXplQWxsQXR0
cmlidXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50Ojpjb21taXRQcm9wZXJ0eUNo
YW5nZSk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHTGVu
Z3RoLmg6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aExpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZH
UHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0
eVRyYWl0czxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU+Ojppbml0aWFsVmFsdWUpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlUcmFpdHM8U1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpb1ZhbHVlPjo6ZnJvbVN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpT
VkdQcm9wZXJ0eVRyYWl0czxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU+OjpwYXJzZSk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eVRyYWl0czxTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvVmFsdWU+Ojp0b1N0cmluZyk6IERlbGV0ZWQuCisgICAgICAgICogc3ZnL3Byb3Bl
cnRpZXMvU1ZHQW5pbWF0ZWREZWNvcmF0ZWRQcm9wZXJ0eS5oOgorICAgICAgICAqIHN2Zy9wcm9w
ZXJ0aWVzL1NWR0FuaW1hdGVkUHJpbWl0aXZlUHJvcGVydHkuaDoKKyAgICAgICAgKiBzdmcvcHJv
cGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmlt
YXRlZFByb3BlcnR5Ojp2YWx1ZUFzU3RyaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FuaW1hdGVkUHJvcGVydHk6OmlzRGlydHkgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6c2V0RGlydHkpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6U1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6c3luY2hyb25pemUpOiBEZWxldGVkLgorICAg
ICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlMaXN0Lmg6CisgICAgICAg
ICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBhaXJBY2Nlc3NvckltcGwuaDoK
KyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFZhbHVlUHJvcGVydHkuaDoKKyAg
ICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdNZW1iZXJBY2Nlc3Nvci5oOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHTWVtYmVyQWNjZXNzb3I6OnZhbHVlQXNTdHJpbmcgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHTWVtYmVyQWNjZXNzb3I6OnN5bmNocm9uaXplIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQb2ludGVyTWVtYmVyQWNjZXNzb3IuaDoKKyAg
ICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eS5oOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUHJvcGVydHk6OmF0dGFjaCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6ZGV0
YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5Ojppc0RpcnR5IGNvbnN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5OjpzZXREaXJ0eSk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6c3luY2hyb25pemUpOiBEZWxldGVkLgor
ICAgICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5T3duZXJSZWdpc3RyeS5oOgorICAg
ICAgICAqIHN2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5UmVnaXN0cnkuaDoKKworMjAxOS0xMC0w
MSAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAg
IFJlbW92ZSBTVkdQcm9wZXJ0eUFjY2VzcyBmcm9tIFNWR1Byb3BlcnR5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0MTUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgc3RlcCB0b3dhcmRz
IHJlcGxhY2luZyBTVkdQb2ludCBieSBET01Qb2ludC4KKworICAgICAgICBBbiBTVkdQcm9wZXJ0
eSBpcyByZWFkLW9ubHkgaWYgaXQgb3IgaXRzIG93bmVyIGlzIHRoZSBhbmltVmFsIG9mIGFuCisg
ICAgICAgIFNWR0FuaW1hdGVkUHJvcGVydHkgb3IgU1ZHQW5pbWF0ZWRQcm9wZXJ0eUxpc3QuIElu
IHRoaXMgY2FzZSBhbGwgYXR0ZW1wdHMKKyAgICAgICAgdG8gY2hhbmdlIGl0IHRocm91Z2ggSmF2
YVNjcmlwdCBzaG91bGQgdGhyb3cgZXhwZWN0aW9ucy4KKworICAgICAgICBTbyBpbnN0ZWFkIG9m
IGtlZXBpbmcgYSBtZW1iZXIgb2YgU1ZHUHJvcGVydHlBY2Nlc3MgaW4gZWFjaCBTVkdQcm9wZXJ0
eSwKKyAgICAgICAgd2UgY2FuIHdhbGsgdGhyb3VnaCB0aGUgU1ZHUHJvcGVydHlPd25lciBjaGFp
biB0aWxsIHdlIHJlYWNoIGFuIG93bmVyIG9mCisgICAgICAgIHR5cGUgU1ZHQW5pbWF0ZWRQcm9w
ZXJ0eSBvciBTVkdBbmltYXRlZFByb3BlcnR5TGlzdC4gVGhpcyBvd25lciBjb21wYXJlcworICAg
ICAgICB0aGUgcHJvcGVydHkgdG8gYmUgbW9kaWZpZWQgd2l0aCBpdHMgYW5pbVZhbC4gQW5kIGlm
IHRoZXkgYXJlIHRoZSBzYW1lLAorICAgICAgICBpdCB3aWxsIHJldHVybiAndHJ1ZScgdGhyb3Vn
aCBpdHMgdmlydHVhbCBtZXRob2QgaXNQcm9wZXJ0eVJlYWRPbmx5KCkuCisKKyAgICAgICAgKiBz
dmcvU1ZHQW5nbGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuZ2xlOjpjcmVhdGUpOgorICAg
ICAgICAqIHN2Zy9TVkdFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aC5oOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpjcmVhdGUpOgorICAgICAgICAqIHN2Zy9TVkdMZW5n
dGhMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGhMaXN0OjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoTGlzdDo6U1ZHTGVuZ3RoTGlzdCk6CisgICAgICAgICog
c3ZnL1NWR01hdHJpeC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTWF0cml4OjpjcmVhdGUpOgor
ICAgICAgICAqIHN2Zy9TVkdOdW1iZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR051bWJlcjo6
Y3JlYXRlKToKKyAgICAgICAgKiBzdmcvU1ZHTnVtYmVyTGlzdC5oOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHTnVtYmVyTGlzdDo6Y3JlYXRlKToKKyAgICAgICAgKiBzdmcvU1ZHUGF0aFNlZ0xpc3Qu
aDoKKyAgICAgICAgKiBzdmcvU1ZHUG9pbnRMaXN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQ
b2ludExpc3Q6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8u
aDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OmNyZWF0ZSk6Cisg
ICAgICAgICogc3ZnL1NWR1JlY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JlY3Q6OmNyZWF0
ZSk6CisgICAgICAgICogc3ZnL1NWR1RyYW5zZm9ybS5oOgorICAgICAgICAqIHN2Zy9TVkdUcmFu
c2Zvcm1MaXN0Lmg6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0
eUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJvcGVydHlMaXN0OjpTVkdB
bmltYXRlZFByb3BlcnR5TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFByb3Bl
cnR5TGlzdDo6ZW5zdXJlQW5pbVZhbCk6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5p
bWF0ZWRWYWx1ZVByb3BlcnR5Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFZhbHVl
UHJvcGVydHk6OlNWR0FuaW1hdGVkVmFsdWVQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdBbmltYXRlZFZhbHVlUHJvcGVydHk6OmVuc3VyZUFuaW1WYWwpOgorICAgICAgICAqIHN2Zy9w
cm9wZXJ0aWVzL1NWR1Byb3BlcnR5Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eTo6
YXR0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5OjpkZXRhY2gpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUHJvcGVydHk6OmNvbnRleHRFbGVtZW50IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1Byb3BlcnR5Ojppc1JlYWRPbmx5IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1Byb3BlcnR5OjpTVkdQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9w
ZXJ0eTo6YWNjZXNzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9T
VkdQcm9wZXJ0eUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Byb3BlcnR5TGlzdDo6U1ZH
UHJvcGVydHlMaXN0KToKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eU93bmVy
Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eU93bmVyOjppc1Byb3BlcnR5UmVhZE9u
bHkgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlPd25lcjo6cHJvcGVydHlD
b250ZXh0RWxlbWVudCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcm9wZXJ0eU93bmVy
OjphdHRyaWJ1dGVDb250ZXh0RWxlbWVudCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogc3Zn
L3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVmFs
dWVQcm9wZXJ0eTo6U1ZHVmFsdWVQcm9wZXJ0eSk6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMv
U1ZHVmFsdWVQcm9wZXJ0eUxpc3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZhbHVlUHJvcGVy
dHlMaXN0OjpTVkdWYWx1ZVByb3BlcnR5TGlzdCk6CisKKzIwMTktMTAtMDEgIFNhaWQgQWJvdS1I
YWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHRoZSBTVkcg
cHJvcGVydGllcyBvZiBTVkdWaWV3U3BlYyBtb2RpZmlhYmxlIGJ1dCBkZXRhY2hlZCBwcm9wZXJ0
aWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0
MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUbyBm
YWNpbGl0YXRlIGFjY2Vzc2luZyB0aGUgU1ZHUHJvcGVydGllcywgbWFrZSBhbGwgdGhlIHByb3Bl
cnRpZXMgb2YKKyAgICAgICAgU1ZHVmlld1NwZWMgbW9kaWZpYWJsZSBidXQgZGV0YWNoZWQgcHJv
cGVydGllcy4gVGhpcyB3aWxsIGJlIGluIGNvbXBsaWFuY2UKKyAgICAgICAgd2l0aCB0aGUgc3Bl
Y3M6IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9TVkcxMS90eXBlcy5odG1sI0ludGVyZmFjZVNWR1Zp
ZXdTcGVjLgorCisgICAgICAgICogc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdGaXRUb1ZpZXdCb3g6OlNWR0ZpdFRvVmlld0JveCk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlVmlld0JveCk6CisgICAgICAgICogc3ZnL1NWR0Zp
dFRvVmlld0JveC5oOgorICAgICAgICAqIHN2Zy9TVkdWaWV3U3BlYy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdWaWV3U3BlYzo6U1ZHVmlld1NwZWMpOgorICAgICAgICAqIHN2Zy9TVkdWaWV3
U3BlYy5oOgorCiAyMDE5LTEwLTA5ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUu
Y29tPgogCiAgICAgICAgIFsgTWFjIFdLMiBdIExheW91dCBUZXN0IGZhc3QvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1UcmFjay1nZXRTZXR0aW5ncy5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggNDg2YmRjODAwOThkNjE0MDZhNTIwNDE5OTc1ZDA4Nzgx
YjZjYjdlMC4uNWI2NDJkOWU3YWMxN2UxMzZiNDVlOWU1YWY0OTNlNzEwYjVjMmU4ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTktMTAtMDkgIFNhaWQgQWJv
dS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KKworICAgICAgICBbU1ZHMl06IFJl
bW92ZSB0aGUgaW50ZXJmYWNlIFNWR1BvaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTEzNzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9u
UGFyYW1ldGVycy5qczoKKwogMjAxOS0xMC0wOCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBs
ZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQ2FudmFzOiBtb2RpZmljYXRpb25zIHRv
IHNoYWRlciBtb2R1bGVzIGNhbiBiZSBzaGFyZWQgYmV0d2VlbiB2ZXJ0ZXgvZnJhZ21lbnQgc2hh
ZGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBjOTk1MTFiZDViODFiNjRlNjgyMGI3MDBjZTdk
ZTVkNzE1YjU3ZGQ0Li4xMjQ1ZTFkMDdlZTI1ZjUxMzU3NjQ2ZjVhNWE5MGYwODczNGY0ZDBjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTEyMSw3ICsxMTIxLDYgQEAgc2V0KFdlYkNvcmVfU1ZH
X0lETF9GSUxFUwogICAgIHN2Zy9TVkdQYXRoU2VnTW92ZXRvQWJzLmlkbAogICAgIHN2Zy9TVkdQ
YXRoU2VnTW92ZXRvUmVsLmlkbAogICAgIHN2Zy9TVkdQYXR0ZXJuRWxlbWVudC5pZGwKLSAgICBz
dmcvU1ZHUG9pbnQuaWRsCiAgICAgc3ZnL1NWR1BvaW50TGlzdC5pZGwKICAgICBzdmcvU1ZHUG9s
eWdvbkVsZW1lbnQuaWRsCiAgICAgc3ZnL1NWR1BvbHlsaW5lRWxlbWVudC5pZGwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGVmNDM0MGE2
MjgxYjQzYWU1OWY1NjU5MzYyNDZlMmMzMjMzMjhlOTYuLjNlMjllZWM5ZDUxNTRmYThlZjZkMTcz
NDkwNGVkY2VhZDUwM2ZhM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
aW5wdXQueGNmaWxlbGlzdApAQCAtMTAzOSw3ICsxMDM5LDYgQEAgJChQUk9KRUNUX0RJUikvc3Zn
L1NWR1BhdGhTZWdMaXN0LmlkbAogJChQUk9KRUNUX0RJUikvc3ZnL1NWR1BhdGhTZWdNb3ZldG9B
YnMuaWRsCiAkKFBST0pFQ1RfRElSKS9zdmcvU1ZHUGF0aFNlZ01vdmV0b1JlbC5pZGwKICQoUFJP
SkVDVF9ESVIpL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5pZGwKLSQoUFJPSkVDVF9ESVIpL3N2Zy9T
VkdQb2ludC5pZGwKICQoUFJPSkVDVF9ESVIpL3N2Zy9TVkdQb2ludExpc3QuaWRsCiAkKFBST0pF
Q1RfRElSKS9zdmcvU1ZHUG9seWdvbkVsZW1lbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9zdmcvU1ZH
UG9seWxpbmVFbGVtZW50LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1v
dXRwdXQueGNmaWxlbGlzdAppbmRleCAwOTA5ZDdiMWZiZmQ4NTJkMjZiZmIxYmY1YjFjYzEzNDY5
MjliNGQ4Li4xNTA5NGRhMmY3NjEzOTM1YzAxYWU3ZDIwNWQzNDU0ZjA3MTU5NzRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTYy
Nyw4ICsxNjI3LDYgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNTVkdQYXRoU2VnTW92ZXRvUmVsLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdQYXRoU2VnTW92ZXRvUmVsLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHUGF0dGVybkVsZW1lbnQuY3BwCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR1BhdHRlcm5F
bGVtZW50LmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
U1ZHUG9pbnQuY3BwCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1NWR1BvaW50LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTU1ZHUG9pbnRMaXN0LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNTVkdQb2ludExpc3QuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdQb2x5Z29uRWxlbWVudC5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCmluZGV4IGMwYTRmMDA3NGQxYTYyYTU3YjVjZGM4YzQ0ZGYwZjdiZjI1YjQy
MTUuLmRjODlmNjU4Mzc4OGE0OTBiNWQzNjA5ZTkwNjk2NmVmYjU0YWM0NTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTAyOSw3ICsxMDI5LDYgQEAgSlNfQklORElOR19JRExT
ID0gXAogICAgICQoV2ViQ29yZSkvc3ZnL1NWR1BhdGhTZWdNb3ZldG9BYnMuaWRsIFwKICAgICAk
KFdlYkNvcmUpL3N2Zy9TVkdQYXRoU2VnTW92ZXRvUmVsLmlkbCBcCiAgICAgJChXZWJDb3JlKS9z
dmcvU1ZHUGF0dGVybkVsZW1lbnQuaWRsIFwKLSAgICAkKFdlYkNvcmUpL3N2Zy9TVkdQb2ludC5p
ZGwgXAogICAgICQoV2ViQ29yZSkvc3ZnL1NWR1BvaW50TGlzdC5pZGwgXAogICAgICQoV2ViQ29y
ZSkvc3ZnL1NWR1BvbHlnb25FbGVtZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9zdmcvU1ZHUG9s
eWxpbmVFbGVtZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNt
YWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCA1YjJmNTNiNTZkN2NhYjVm
Njg5ZTZlMGMzODk1MzYyMmM1NTU3MDM5Li5iZDU2NTA5MDQ0MWM4ZWMyODkxZTNlNTIyNzllMTY1
YjdiNzg4NTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTM2MCw2ICszNjAsOCBAQCBzZXQoV2Vi
Q29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgZG9tL0RPTUV4Y2VwdGlvbi5oCiAg
ICAgZG9tL0RPTUhpZ2hSZXNUaW1lU3RhbXAuaAogICAgIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5o
CisgICAgZG9tL0RPTUxpdmVQcm9wZXJ0eS5oCisgICAgZG9tL0RPTUxpdmVQcm9wZXJ0eU9ic2Vy
dmVyLmgKICAgICBkb20vRE9NUGFzdGVBY2Nlc3MuaAogICAgIGRvbS9ET01SZWN0LmgKICAgICBk
b20vRE9NUmVjdEluaXQuaApAQCAtMTM5MSw3ICsxMzkzLDYgQEAgc2V0KFdlYkNvcmVfUFJJVkFU
RV9GUkFNRVdPUktfSEVBREVSUwogICAgIHN2Zy9wcm9wZXJ0aWVzL1NWR0xpc3QuaAogICAgIHN2
Zy9wcm9wZXJ0aWVzL1NWR1ByaW1pdGl2ZUxpc3QuaAogICAgIHN2Zy9wcm9wZXJ0aWVzL1NWR1By
b3BlcnR5LmgKLSAgICBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eU93bmVyLmgKICAgICBzdmcv
cHJvcGVydGllcy9TVkdQcm9wZXJ0eVRyYWl0cy5oCiAKICAgICB0ZXN0aW5nL01vY2tHYW1lcGFk
LmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKaW5kZXggZjVlZmY3MzJlMDIzOGY0MDk4MGU1OGNhODM5NmI0Y2YwNjVh
YzMzYi4uZDM3YjRhMWI2MmMwNDNiNWNmZDUzNzJkY2MwODJjOTk3N2JiNDg5NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKQEAgLTg0NCw2ICs4NDQsNyBAQCBkb20vQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmNwcAog
ZG9tL0N1c3RvbUV2ZW50LmNwcAogZG9tL0RPTUV4Y2VwdGlvbi5jcHAKIGRvbS9ET01JbXBsZW1l
bnRhdGlvbi5jcHAKK2RvbS9ET01Qb2ludC5jcHAKIGRvbS9ET01Qb2ludFJlYWRPbmx5LmNwcAog
ZG9tL0RPTVF1YWQuY3BwCiBkb20vRE9NUmVjdExpc3QuY3BwCkBAIC0zMzAyLDcgKzMzMDMsNiBA
QCBKU1NWR1BhdGhTZWdMaXN0LmNwcAogSlNTVkdQYXRoU2VnTW92ZXRvQWJzLmNwcAogSlNTVkdQ
YXRoU2VnTW92ZXRvUmVsLmNwcAogSlNTVkdQYXR0ZXJuRWxlbWVudC5jcHAKLUpTU1ZHUG9pbnQu
Y3BwCiBKU1NWR1BvaW50TGlzdC5jcHAKIEpTU1ZHUG9seWdvbkVsZW1lbnQuY3BwCiBKU1NWR1Bv
bHlsaW5lRWxlbWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCA3YTNhOWJkYWVmODczOTljMDhmOWIzZmIzMjdmMGY3NWM4
NDk0ZTRjLi5kMTEzNjkzNGE5ODdhYWVmYThjOTlhNzExOWRlNmY0MWMwYzFlODJlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0y
MDg4LDEyICsyMDg4LDEzIEBACiAJCTcxRUZDRURDMjAyQjM4QTkwMEQ3QzQxMSAvKiBBbmltYXRp
b25FZmZlY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDcxRUZDRUQ3MjAyQjM4OEQwMEQ3QzQxMSAvKiBBbmltYXRpb25FZmZlY3QuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3MjE0NDMzMTIyM0VDODU0
MDBGMTJGRjcgLyogKG51bGwpIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcyMTQ0MzMyMjIz
RUM4NUYwMEYxMkZGNyAvKiAobnVsbCkgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNzIxNDQz
MzMyMjNFQzhCMDAwRjEyRkY3IC8qIFNWR1Byb3BlcnR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NUVFNTM2MzIyM0IyQTI0MDBGQkE5NDQgLyogU1ZH
UHJvcGVydHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwotCQk3MjE0NDMzNDIyM0VDOTE2MDBGMTJGRjcgLyogU1ZHUHJvcGVydHlPd25lci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTVFRTUzNjAyMjNCMkEy
MTAwRkJBOTQ0IC8qIFNWR1Byb3BlcnR5T3duZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3MjI4M0YwRTIzMEIyNjhDMDBGNUQ4MjggLyogSW1h
Z2VQYWludGluZ09wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDcyQzE4QTNGMjMwQjA0QjcwMDY4NDdDNyAvKiBJbWFnZVBhaW50aW5nT3B0aW9u
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcy
NEVEMzMyMUEzQThCMjMwMEY1RjEzQyAvKiBKU0VYVEJsZW5kTWluTWF4LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MjRFRDMzMDFBM0E4QjIzMDBGNUYx
M0MgLyogSlNFWFRCbGVuZE1pbk1heC5oICovOyB9OwogCQk3MjRFRTU1MDFEQzgwRDdGMDBBOTFG
RkIgLyogQWN0aXZpdHlTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzI0RUU1NEUxREM3RjI1QjAwQTkxRkZCIC8qIEFjdGl2aXR5U3RhdGUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3MjRFRTU1
MTFEQzgwRDg0MDBBOTFGRkIgLyogQWN0aXZpdHlTdGF0ZUNoYW5nZU9ic2VydmVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MjRFRTU0RjFEQzdGMjVC
MDBBOTFGRkIgLyogQWN0aXZpdHlTdGF0ZUNoYW5nZU9ic2VydmVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzI4MzE1QzEyMzQ0NDAxNTAwMDdE
Mjc3IC8qIERPTUxpdmVQcm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNzI4MzE1QzAyMzQ0MjI5MjAwMDdEMjc3IC8qIERPTUxpdmVQcm9wZXJ0
eS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTcy
ODMxNUMyMjM0NDQwMjIwMDA3RDI3NyAvKiBET01MaXZlUHJvcGVydHlPYnNlcnZlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzI4MzE1QkUyMzQ0MjI5
MTAwMDdEMjc3IC8qIERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzI4MzE1QzcyMzQ1MTgyMzAwMDdEMjc3
IC8qIFNWR1Byb3BlcnR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3MjgzMTVDNTIzNDUwRkMyMDAwN0QyNzcgLyogU1ZHUHJvcGVydHkuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3NTUzQ0ZFODEwOEY0
NzNGMDBFQTI4MUUgLyogVGltZWxpbmVSZWNvcmRGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NTUzQ0ZFNjEwOEY0NzNGMDBFQTI4MUUgLyog
VGltZWxpbmVSZWNvcmRGYWN0b3J5LmggKi87IH07CiAJCTc1NzkzRTg0MEQwQ0UwQjMwMDdGQzBB
QyAvKiBNZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDc1NzkzRTgxMEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNzYWdlRXZlbnQuaCAqLzsg
fTsKIAkJNzU3OTNFQzkwRDBDRTcyRDAwN0ZDMEFDIC8qIEpTTWVzc2FnZUV2ZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NTc5M0VDNzBEMENFNzJE
MDA3RkMwQUMgLyogSlNNZXNzYWdlRXZlbnQuaCAqLzsgfTsKQEAgLTIzMDgsNyArMjMwOSw2IEBA
CiAJCTdDRTE5MTc3MUYyQUJFNzEwMDI3MkY3OCAvKiBKU0ZldGNoUmVxdWVzdEluaXQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRTE5MTY5MUYyQUI3
MDUwMDI3MkY3OCAvKiBKU0ZldGNoUmVxdWVzdEluaXQuaCAqLzsgfTsKIAkJN0NFMTkxNzkxRjJB
QkU3MTAwMjcyRjc4IC8qIEpTRmV0Y2hSZXF1ZXN0TW9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NFMTkxNkMxRjJBQjcwQTAwMjcyRjc4IC8qIEpT
RmV0Y2hSZXF1ZXN0TW9kZS5oICovOyB9OwogCQk3Q0UxOTE3QjFGMkFCRTcxMDAyNzJGNzggLyog
SlNGZXRjaFJlcXVlc3RSZWRpcmVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0NFMTkxNkExRjJBQjcwNjAwMjcyRjc4IC8qIEpTRmV0Y2hSZXF1ZXN0
UmVkaXJlY3QuaCAqLzsgfTsKLQkJN0NFNThENEExREQ2NEE1QjAwMTI4NTUyIC8qIFNWR1BvaW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0U1OEQ0
OTFERDY0QTVCMDAxMjg1NTIgLyogU1ZHUG9pbnQuaCAqLzsgfTsKIAkJN0NFNThENTAxREQ2OUEx
RTAwMTI4NTUyIC8qIFNWR051bWJlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0NFNThENEYxREQ2OUExRTAwMTI4NTUyIC8qIFNWR051bWJlci5oICov
OyB9OwogCQk3Q0U1OEQ1ODFERDdEOTZEMDAxMjg1NTIgLyogU1ZHVHJhbnNmb3JtVmFsdWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRTU4RDU2MURE
N0Q5NkQwMDEyODU1MiAvKiBTVkdUcmFuc2Zvcm1WYWx1ZS5oICovOyB9OwogCQk3Q0U2ODM0NDE5
MjE0M0E4MDBGNEQ5MjggLyogVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0U2ODM0MjE5MjE0M0E4
MDBGNEQ5MjggLyogVXNlck1lc3NhZ2VIYW5kbGVyRGVzY3JpcHRvci5jcHAgKi87IH07CkBAIC0y
NDkyLDcgKzI0OTIsNiBAQAogCQk4NTAzMUI1MTBBNDRFRkM3MDBGOTkyRTAgLyogV2hlZWxFdmVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwMzFC
M0IwQTQ0RUZDNzAwRjk5MkUwIC8qIFdoZWVsRXZlbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4NTIxN0UwMzBBNUVDRDQ3MDBEQjhEMDAgLyog
WFNMSW1wb3J0UnVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODUyMTdFMDEwQTVFQ0Q0NzAwREI4RDAwIC8qIFhTTEltcG9ydFJ1bGUuaCAqLzsgfTsK
IAkJODU0MkE3OTMwQUU1QzkzRjAwREY1OERGIC8qIEpTU1ZHUmVjdC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU3NEQxRjgwQURFNjEyMjAwNENCQTEx
IC8qIEpTU1ZHUmVjdC5oICovOyB9OwotCQk4NTQyQTc5NTBBRTVDOTQxMDBERjU4REYgLyogSlNT
VkdQb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
ODU3NEQxRjYwQURFNjEyMjAwNENCQTExIC8qIEpTU1ZHUG9pbnQuaCAqLzsgfTsKIAkJODU0MkE3
OTcwQUU1Qzk0MzAwREY1OERGIC8qIEpTU1ZHTnVtYmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTc0RDFGNDBBREU2MTIyMDA0Q0JBMTEgLyogSlNT
VkdOdW1iZXIuaCAqLzsgfTsKIAkJODU0MkE3OTkwQUU1Qzk0NDAwREY1OERGIC8qIEpTU1ZHRWxl
bWVudFdyYXBwZXJGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4NTc0RDFGMjBBREU2MTIyMDA0Q0JBMTEgLyogSlNTVkdFbGVtZW50V3JhcHBl
ckZhY3RvcnkuaCAqLzsgfTsKIAkJODU0RkU3MzEwQTIyOTdCRTAwNThEN0FEIC8qIE5vZGVGaWx0
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1NEZF
NzI3MEEyMjk3QkUwMDU4RDdBRCAvKiBOb2RlRmlsdGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg1ODAsMTAgKzg1NzksOCBAQAogCQk1NUVF
NTM1RDIyM0IyQTBEMDBGQkE5NDQgLyogU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBhaXJBY2Nlc3Nvcklt
cGwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRQcm9wZXJ0
eVBhaXJBY2Nlc3NvckltcGwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTVFRTUz
NUUyMjNCMkEwRTAwRkJBOTQ0IC8qIFNWR0FuaW1hdGlvbkFkZGl0aXZlVmFsdWVGdW5jdGlvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdBbmltYXRpb25BZGRpdGl2ZVZh
bHVlRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTVFRTUzNUYyMjNC
MkEwRjAwRkJBOTQ0IC8qIFNWR0FuaW1hdGVkUHJvcGVydHlQYWlyQW5pbWF0b3IuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRQcm9wZXJ0eVBhaXJBbmltYXRv
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1NUVFNTM2MDIyM0IyQTIxMDBGQkE5
NDQgLyogU1ZHUHJvcGVydHlPd25lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBTVkdQcm9wZXJ0eU93bmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU1RUU1
MzYxMjIzQjJBMjIwMEZCQTk0NCAvKiBTVkdBdHRyaWJ1dGVBbmltYXRvci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdBdHRyaWJ1dGVBbmltYXRvci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU1RUU1MzYyMjIzQjJBMjMwMEZCQTk0NCAvKiBT
VkdBbmltYXRlZFByb3BlcnR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNW
R0FuaW1hdGVkUHJvcGVydHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTVFRTUz
NjMyMjNCMkEyNDAwRkJBOTQ0IC8qIFNWR1Byb3BlcnR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNWR1Byb3BlcnR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTU1RUU1MzY0MjIzQjJBMjQwMEZCQTk0NCAvKiBTVkdBdHRyaWJ1dGVBbmltYXRvci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdBdHRyaWJ1dGVBbmltYXRvci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NUZBN0ZGQTIxMTBFQ0Q3MDA1QUVGRTcgLyogU1ZH
Wm9vbUFuZFBhblR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHWm9vbUFuZFBhblR5cGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTcwNDQwNTcxRTUzODUxNjAwMzU2NjAxIC8qIENy
eXB0b0FsZ29yaXRobUFFU19DRkJNYWMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQ3J5cHRvQWxnb3JpdGhtQUVTX0NGQk1hYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC05NDY2LDYgKzk0NjMsMTAgQEAKIAkJNzI3QUZFRDExQTJFQTZBMDAwMDQ0
MkU4IC8qIEVYVHNSR0IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RVhUc1JHQi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyN0FGRUQyMUEyRUE2
QTAwMDA0NDJFOCAvKiBFWFRzUkdCLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEVYVHNSR0IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzI3QUZFRDMxQTJFQTZB
MDAwMDQ0MkU4IC8qIEVYVHNSR0IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEVYVHNSR0Iu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MjgzMTVCRTIzNDQyMjkxMDAwN0Qy
NzcgLyogRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNzI4MzE1QzAyMzQ0MjI5MjAwMDdEMjc3IC8qIERPTUxpdmVQcm9wZXJ0eS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01MaXZlUHJvcGVydHkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzI4MzE1QzUyMzQ1MEZDMjAwMDdEMjc3IC8qIFNWR1By
b3BlcnR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1Byb3BlcnR5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcyODMxNUNFMjM0NjU5MDEwMDA3RDI3NyAv
KiBET01Qb2ludC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01Qb2ludC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyQzE4QTNGMjMwQjA0QjcwMDY4NDdDNyAvKiBJbWFnZVBh
aW50aW5nT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZVBhaW50aW5nT3B0aW9ucy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MkU0MTc2MTFBMkU4RDJGMDA0QzU2MkEgLyog
SlNFWFRzUkdCLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRVhU
c1JHQi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyRTQxNzYyMUEyRThEMkYw
MDRDNTYyQSAvKiBKU0VYVHNSR0IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNFWFRzUkdCLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05OTIyLDcgKzk5MjMs
NiBAQAogCQk3Q0UxOTE2RTFGMkFCNzBEMDAyNzJGN0EgLyogSlNET01DYWNoZVN0b3JhZ2UuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01DYWNoZVN0b3JhZ2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3Q0UxOTE2RTFGMkFCNzBEMDAyNzJGN0IgLyogSlNDYWNoZVF1ZXJ5
T3B0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0NhY2hlUXVlcnlPcHRpb25zLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NFMTkxNkYxRjJBQjcwRjAwMjcyRjc4IC8q
IEpTRmV0Y2hSZXF1ZXN0UmVkaXJlY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNGZXRjaFJl
cXVlc3RSZWRpcmVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdDRTU4RDQ5
MURENjRBNUIwMDEyODU1MiAvKiBTVkdQb2ludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTVkdQb2ludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0U1OEQ0
RjFERDY5QTFFMDAxMjg1NTIgLyogU1ZHTnVtYmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFNWR051bWJlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0U1
OEQ1MTFERDdCMDkzMDAxMjg1NTIgLyogU1ZHTGVuZ3RoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNWR0xlbmd0aC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
Q0U1OEQ1MjFERDdCMDkzMDAxMjg1NTIgLyogU1ZHTGVuZ3RoVmFsdWUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHTGVuZ3RoVmFsdWUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTAzMzAsOCArMTAzMzAsNiBAQAogCQk4NTc0RDFGMjBBREU2
MTIyMDA0Q0JBMTEgLyogSlNTVkdFbGVtZW50V3JhcHBlckZhY3RvcnkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEpTU1ZHRWxlbWVudFdyYXBwZXJGYWN0b3J5Lmg7IHBhdGgg
PSBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHRWxlbWVudFdyYXBwZXJGYWN0b3J5Lmg7IHNv
dXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTg1NzREMUYzMEFERTYxMjIwMDRD
QkExMSAvKiBKU1NWR051bWJlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNTVkdOdW1iZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NTc0
RDFGNDBBREU2MTIyMDA0Q0JBMTEgLyogSlNTVkdOdW1iZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5oOyBwYXRoID0gSlNTVkdOdW1iZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJODU3NEQxRjUwQURFNjEyMjAwNENCQTExIC8qIEpTU1ZHUG9pbnQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHUG9pbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk4NTc0RDFGNjBBREU2MTIyMDA0Q0JBMTEgLyogSlNTVkdQb2lu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmg7IHBhdGggPSBKU1NWR1BvaW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1NzREMUY3MEFERTYxMjIwMDRDQkExMSAvKiBK
U1NWR1JlY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZH
UmVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1NzREMUY4MEFERTYxMjIw
MDRDQkExMSAvKiBKU1NWR1JlY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5oOyBwYXRo
ID0gSlNTVkdSZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg1OEMzOEVGMEFB
OEZERDEwMEIxODdBNCAvKiBEZXByZWNhdGVkQ1NTT01SR0JDb2xvci5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IERlcHJlY2F0ZWRDU1NPTVJHQkNvbG9yLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTEyMzYyLDcgKzEyMzYwLDYgQEAKIAkJQjIyMjc4RjEwRDAwQkYyMTAw
NzFCNzgyIC8qIFNWR1BhdHRlcm5FbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTVkdQYXR0ZXJuRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUIyMjI3OEYyMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQYXR0ZXJuRWxlbWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0dGVybkVsZW1lbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIyMjc4RjMwRDAwQkYyMTAwNzFCNzgyIC8q
IFNWR1BhdHRlcm5FbGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU1ZHUGF0dGVy
bkVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCMjIyNzhGNDBEMDBC
RjIxMDA3MUI3ODIgLyogU1ZHUG9pbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTVkdQ
b2ludC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMjI3OEY2MEQwMEJGMjEw
MDcxQjc4MiAvKiBTVkdQb2ludExpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNWR1BvaW50TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjIyNzhG
NzBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUG9pbnRMaXN0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gU1ZHUG9pbnRMaXN0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjIy
Mjc4RjgwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1BvbHlFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdQb2x5RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xNjIwMCwxMyArMTYxOTcsMTIgQEAKIAkJCQk1NURDQzUyNTIy
NDA3NDlFMDBDMjZFMzIgLyogU1ZHUHJpbWl0aXZlTGlzdC5oICovLAogCQkJCTcyNjZGMDE1MjI0
MUMwOTgwMDgzMzk3NSAvKiBTVkdQcmltaXRpdmVQcm9wZXJ0eUFuaW1hdG9yLmggKi8sCiAJCQkJ
NzI2NkYwMTQyMjQxQkZCMjAwODMzOTc1IC8qIFNWR1ByaW1pdGl2ZVByb3BlcnR5QW5pbWF0b3JJ
bXBsLmggKi8sCi0JCQkJNTVFRTUzNjMyMjNCMkEyNDAwRkJBOTQ0IC8qIFNWR1Byb3BlcnR5Lmgg
Ki8sCisJCQkJNzI4MzE1QzUyMzQ1MEZDMjAwMDdEMjc3IC8qIFNWR1Byb3BlcnR5LmggKi8sCiAJ
CQkJNTVEQ0M1MjYyMjQwNzRGQTAwQzI2RTMyIC8qIFNWR1Byb3BlcnR5QWNjZXNzb3IuaCAqLywK
IAkJCQk1NURDQzUyNzIyNDA3NTBCMDBDMjZFMzIgLyogU1ZHUHJvcGVydHlBY2Nlc3NvckltcGwu
aCAqLywKIAkJCQk3MjY2RjAxNjIyNDFDMEZFMDA4MzM5NzUgLyogU1ZHUHJvcGVydHlBbmltYXRv
ci5oICovLAogCQkJCTcyNjZGMDEzMjI0MUJDRTIwMDgzMzk3NSAvKiBTVkdQcm9wZXJ0eUFuaW1h
dG9yRmFjdG9yeS5oICovLAogCQkJCTcyNjZGMDI3MjI0MzEwOTIwMDgzMzk3NSAvKiBTVkdQcm9w
ZXJ0eUxpc3QuaCAqLywKLQkJCQk1NUVFNTM2MDIyM0IyQTIxMDBGQkE5NDQgLyogU1ZHUHJvcGVy
dHlPd25lci5oICovLAogCQkJCTU1QkUwMjVDMjIzQjI5QzMwMDMyRjA4QSAvKiBTVkdQcm9wZXJ0
eU93bmVyUmVnaXN0cnkuaCAqLywKIAkJCQk1NUJFMDI1NzIyM0IyOUMwMDAzMkYwOEEgLyogU1ZH
UHJvcGVydHlSZWdpc3RyeS5oICovLAogCQkJCTA4OEEwRTAzMTI2RUYxREIwMDk3OEY3QSAvKiBT
VkdQcm9wZXJ0eVRyYWl0cy5oICovLApAQCAtMjM0MDQsOCArMjM0MDAsNiBAQAogCQkJCUIyRkEz
Q0Y3MEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR1BhdGhTZWdNb3ZldG9SZWwuaCAqLywKIAkJCQlC
MkZBM0NGODBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdQYXR0ZXJuRWxlbWVudC5jcHAgKi8sCiAJ
CQkJQjJGQTNDRjkwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHUGF0dGVybkVsZW1lbnQuaCAqLywK
LQkJCQk4NTc0RDFGNTBBREU2MTIyMDA0Q0JBMTEgLyogSlNTVkdQb2ludC5jcHAgKi8sCi0JCQkJ
ODU3NEQxRjYwQURFNjEyMjAwNENCQTExIC8qIEpTU1ZHUG9pbnQuaCAqLywKIAkJCQlCMkZBM0NG
QTBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdQb2ludExpc3QuY3BwICovLAogCQkJCUIyRkEzQ0ZC
MEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR1BvaW50TGlzdC5oICovLAogCQkJCUIyRkEzQ0ZEMEFC
NzVBNkUwMDBFNUFDNCAvKiBKU1NWR1BvbHlnb25FbGVtZW50LmNwcCAqLywKQEAgLTI0MzY3LDgg
KzI0MzYxLDYgQEAKIAkJCQlCMjIyNzhGMTBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUGF0dGVybkVs
ZW1lbnQuY3BwICovLAogCQkJCUIyMjI3OEYyMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQYXR0ZXJu
RWxlbWVudC5oICovLAogCQkJCUIyMjI3OEYzMEQwMEJGMjEwMDcxQjc4MiAvKiBTVkdQYXR0ZXJu
RWxlbWVudC5pZGwgKi8sCi0JCQkJN0NFNThENDkxREQ2NEE1QjAwMTI4NTUyIC8qIFNWR1BvaW50
LmggKi8sCi0JCQkJQjIyMjc4RjQwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1BvaW50LmlkbCAqLywK
IAkJCQlCMjIyNzhGNjBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHUG9pbnRMaXN0LmggKi8sCiAJCQkJ
QjIyMjc4RjcwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1BvaW50TGlzdC5pZGwgKi8sCiAJCQkJQjIy
Mjc4RjgwRDAwQkYyMTAwNzFCNzgyIC8qIFNWR1BvbHlFbGVtZW50LmNwcCAqLywKQEAgLTI3NjMx
LDcgKzI3NjIzLDEwIEBACiAJCQkJQTgxODVGMzYwOTc2NTc2NTAwNTgyNkQ5IC8qIERPTUltcGxl
bWVudGF0aW9uLmNwcCAqLywKIAkJCQlBODE4NUYzMzA5NzY1NzY1MDA1ODI2RDkgLyogRE9NSW1w
bGVtZW50YXRpb24uaCAqLywKIAkJCQk5M0VFQzFFOTA5QzI4Nzc3MDBDNTE1RDEgLyogRE9NSW1w
bGVtZW50YXRpb24uaWRsICovLAorCQkJCTcyODMxNUMwMjM0NDIyOTIwMDA3RDI3NyAvKiBET01M
aXZlUHJvcGVydHkuaCAqLywKKwkJCQk3MjgzMTVCRTIzNDQyMjkxMDAwN0QyNzcgLyogRE9NTGl2
ZVByb3BlcnR5T2JzZXJ2ZXIuaCAqLywKIAkJCQlGNEI0MjJDMjIyMEMwMDAwMDA5RTFFN0QgLyog
RE9NUGFzdGVBY2Nlc3MuaCAqLywKKwkJCQk3MjgzMTVDRTIzNDY1OTAxMDAwN0QyNzcgLyogRE9N
UG9pbnQuY3BwICovLAogCQkJCTBGNDk2Njk5MURCNDA4QzEwMEEyNzRCQiAvKiBET01Qb2ludC5o
ICovLAogCQkJCTBGNDk2NjlBMURCNDA4QzEwMEEyNzRCQiAvKiBET01Qb2ludC5pZGwgKi8sCiAJ
CQkJMEY0OTY2QTIxREI0MDkxMDAwQTI3NEJCIC8qIERPTVBvaW50SW5pdC5oICovLApAQCAtMjky
MzcsNiArMjkyMzIsOCBAQAogCQkJCUUzQTc3NjY3MURDODVEMjgwMEI2OTBEOCAvKiBET01KSVRJ
RExDb252ZXJ0LmggaW4gSGVhZGVycyAqLywKIAkJCQlFM0E3NzY2ODFEQzg1RDI4MDBCNjkwRDgg
LyogRE9NSklUSURMVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTM1ODAyQjYxREM4NDM1RDAw
QTk3NzNDIC8qIERPTUpJVElETFR5cGVGaWx0ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTcyODMx
NUMxMjM0NDQwMTUwMDA3RDI3NyAvKiBET01MaXZlUHJvcGVydHkuaCBpbiBIZWFkZXJzICovLAor
CQkJCTcyODMxNUMyMjM0NDQwMjIwMDA3RDI3NyAvKiBET01MaXZlUHJvcGVydHlPYnNlcnZlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJODM2QUNFQ0ExRUNBOTU2OTAwNEJEMDEyIC8qIERPTU1hdHJp
eC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NCQkJDQzcxRjU2MDU4MTAwNUVGQUFDIC8qIERPTU1h
dHJpeDJESW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM2QUNFQ0IxRUNBOTU2RDAwNEJEMDEy
IC8qIERPTU1hdHJpeEluaXQuaCBpbiBIZWFkZXJzICovLApAQCAtMzA2MjMsNyArMzA2MjAsNiBA
QAogCQkJCUIyRkEzREREMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1BhdGhTZWdNb3ZldG9BYnMu
aCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRERGMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR1Bh
dGhTZWdNb3ZldG9SZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzREUxMEFCNzVBNkYwMDBF
NUFDNCAvKiBKU1NWR1BhdHRlcm5FbGVtZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQk4NTQyQTc5
NTBBRTVDOTQxMDBERjU4REYgLyogSlNTVkdQb2ludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJG
QTNERTMwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHUG9pbnRMaXN0LmggaW4gSGVhZGVycyAqLywK
IAkJCQlCMkZBM0RFNjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdQb2x5Z29uRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNERTgwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHUG9seWxp
bmVFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTMyMDU5LDE1ICszMjA1NSwxMyBAQAogCQkJ
CTg0QzVCMkZCMTIxNkRDODEwMDg4QjUzQSAvKiBTVkdQYXRoVHJhdmVyc2FsU3RhdGVCdWlsZGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk3MUE1N0RGMjE1NEJFMjVDMDAwOUQxMjAgLyogU1ZHUGF0
aFV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBODgwRDAwQkYyMjAwNzFCNzgy
IC8qIFNWR1BhdHRlcm5FbGVtZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQk3Q0U1OEQ0QTFERDY0
QTVCMDAxMjg1NTIgLyogU1ZHUG9pbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QThDMEQw
MEJGMjIwMDcxQjc4MiAvKiBTVkdQb2ludExpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3
QThGMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdQb2x5RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQjIyMjdBOTEwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1BvbHlnb25FbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCMjIyN0E5NDBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUG9seWxpbmVFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0E5NzBEMDBCRjIyMDA3MUI3ODIgLyogU1ZH
UHJlc2VydmVBc3BlY3RSYXRpby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTVEQ0M1MjgyMjQwN0Iy
MDAwQzI2RTMyIC8qIFNWR1ByaW1pdGl2ZUxpc3QuaCBpbiBIZWFkZXJzICovLAotCQkJCTcyMTQ0
MzMzMjIzRUM4QjAwMEYxMkZGNyAvKiBTVkdQcm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
NzIxNDQzMzQyMjNFQzkxNjAwRjEyRkY3IC8qIFNWR1Byb3BlcnR5T3duZXIuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTcyODMxNUM3MjM0NTE4MjMwMDA3RDI3NyAvKiBTVkdQcm9wZXJ0eS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMDg4QTBFMEMxMjZFRjFEQjAwOTc4RjdBIC8qIFNWR1Byb3BlcnR5VHJh
aXRzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0E5QTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZH
UmFkaWFsR3JhZGllbnRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwOEVERTE5RjEyQTUw
QjhFMDBCOTU3OTcgLyogU1ZHUmVjdC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IDA4NzYxNzk5
NjFhNTU3MmI4NDFiNjg3NzMxYjQyNzk5NmIzNTE4OWMuLmI5Nzc3MTliNzA5YmIyZTU3MzFjZjU4
YWIwOWI0NzdkYjY4MDk2MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0xNDQ4LDYgKzE0NDgsNyBAQCBzdWIgU2hvdWxk
R2VuZXJhdGVUb1dyYXBwZWQKICAgICBteSAoJGhhc1BhcmVudCwgJGludGVyZmFjZSkgPSBAXzsK
IAogICAgIHJldHVybiAwIGlmIG5vdCBOZWVkc0ltcGxlbWVudGF0aW9uQ2xhc3MoJGludGVyZmFj
ZSk7CisgICAgcmV0dXJuIDEgaWYgJGludGVyZmFjZS0+dHlwZS0+bmFtZSBlcSAiRE9NUG9pbnQi
OwogICAgIHJldHVybiAxIGlmICEkaGFzUGFyZW50IG9yICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0
cmlidXRlcy0+e0pTR2VuZXJhdGVUb05hdGl2ZU9iamVjdH07CiAgICAgcmV0dXJuIDEgaWYgJGlu
dGVyZmFjZS0+cGFyZW50VHlwZSAmJiAkaW50ZXJmYWNlLT5wYXJlbnRUeXBlLT5uYW1lIGVxICJF
dmVudFRhcmdldCI7CiAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4IDIwOTMyZWIzNzE5ODg3
YzAyMTgyYmIxMzhkNmU3NDBiODJiMTc4ODYuLjlhZDVlMTJmYmY3OTk2OGQ5YjljNjE3ZTVjNzE2
OTI4NzdkNDRkZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC02NCw3ICs2NCw2IEBACiAjaW5jbHVkZSAiSlNN
ZWRpYURldmljZXMuaCIKICNpbmNsdWRlICJKU05vZGUuaCIKICNpbmNsdWRlICJKU1NWR0RvY3Vt
ZW50LmgiCi0jaW5jbHVkZSAiSlNTVkdQb2ludC5oIgogI2luY2x1ZGUgIkpTU2VydmljZVdvcmtl
ci5oIgogI2luY2x1ZGUgIkpTVGVzdENhbGxiYWNrRnVuY3Rpb24uaCIKICNpbmNsdWRlICJKU1Rl
c3RDYWxsYmFja0ludGVyZmFjZS5oIgpAQCAtMTU1OSw3ICsxNTU4LDYgQEAgSlNDOjpFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ29udmVydDEo
SlNDOjpKU0dsb2IKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQ
cm90b3R5cGVGdW5jdGlvbkNvbnZlcnQyKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkNhbGxG
cmFtZSopOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3Rv
dHlwZUZ1bmN0aW9uQ29udmVydDMoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1l
Kik7CiBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBl
RnVuY3Rpb25Db252ZXJ0NChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsK
LUpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5j
dGlvbk11dGFibGVQb2ludEZ1bmN0aW9uKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkNhbGxG
cmFtZSopOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3Rv
dHlwZUZ1bmN0aW9uT3JhbmdlKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkNhbGxGcmFtZSop
OwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1
bmN0aW9uVmFyaWFkaWNTdHJpbmdNZXRob2QoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2Fs
bEZyYW1lKik7CiBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJv
dG90eXBlRnVuY3Rpb25WYXJpYWRpY0RvdWJsZU1ldGhvZChKU0M6OkpTR2xvYmFsT2JqZWN0Kiwg
SlNDOjpDYWxsRnJhbWUqKTsKQEAgLTE3NTIsOCArMTc1MCw2IEBAIGJvb2wgc2V0SlNUZXN0T2Jq
QW55QXR0cmlidXRlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpF
bmNvZGVkCiBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdE9iak9iamVjdEF0dHJpYnV0ZShKU0M6
OkV4ZWNTdGF0ZSosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJvcGVydHlOYW1lKTsKIGJv
b2wgc2V0SlNUZXN0T2JqT2JqZWN0QXR0cmlidXRlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNv
ZGVkSlNWYWx1ZSwgSlNDOjpFbmNvZGVkSlNWYWx1ZSk7CiBKU0M6OkVuY29kZWRKU1ZhbHVlIGpz
VGVzdE9iakNvbnRlbnREb2N1bWVudChKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6RW5jb2RlZEpTVmFs
dWUsIEpTQzo6UHJvcGVydHlOYW1lKTsKLUpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0T2JqTXV0
YWJsZVBvaW50KEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9w
ZXJ0eU5hbWUpOwotYm9vbCBzZXRKU1Rlc3RPYmpNdXRhYmxlUG9pbnQoSlNDOjpFeGVjU3RhdGUq
LCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRKU1ZhbHVlKTsKIEpTQzo6RW5jb2Rl
ZEpTVmFsdWUganNUZXN0T2JqU3RyYXdiZXJyeShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6RW5jb2Rl
ZEpTVmFsdWUsIEpTQzo6UHJvcGVydHlOYW1lKTsKIGJvb2wgc2V0SlNUZXN0T2JqU3RyYXdiZXJy
eShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5jb2RlZEpTVmFs
dWUpOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RPYmpEZXNjcmlwdGlvbihKU0M6OkV4ZWNT
dGF0ZSosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJvcGVydHlOYW1lKTsKQEAgLTIwOTMs
NyArMjA4OSw2IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RPYmpQcm90b3R5
cGVUYWJsZVZhbHVlc1tdID0KICAgICB7ICJhbnlBdHRyaWJ1dGUiLCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3Rh
dGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iakFueUF0dHJpYnV0
ZSksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+
KHNldEpTVGVzdE9iakFueUF0dHJpYnV0ZSkgfSB9LAogICAgIHsgIm9iamVjdEF0dHJpYnV0ZSIs
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nl
c3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2lj
LCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNU
ZXN0T2JqT2JqZWN0QXR0cmlidXRlKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0
eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqT2JqZWN0QXR0cmlidXRlKSB9IH0sCiAg
ICAgeyAiY29udGVudERvY3VtZW50Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNj
ZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJpbnNp
YywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpz
VGVzdE9iakNvbnRlbnREb2N1bWVudCksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVy
dHlTbG90OjpQdXRWYWx1ZUZ1bmM+KDApIH0gfSwKLSAgICB7ICJtdXRhYmxlUG9pbnQiLCBzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3Ig
fCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAo
aW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9i
ak11dGFibGVQb2ludCksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQ
dXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9iak11dGFibGVQb2ludCkgfSB9LAogICAgIHsgInN0cmF3
YmVycnkiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3Vz
dG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0lu
dHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1
bmM+KGpzVGVzdE9ialN0cmF3YmVycnkpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3Bl
cnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpTdHJhd2JlcnJ5KSB9IH0sCiAgICAg
eyAiZGVzY3JpcHRpb24iLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8
IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChp
bnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2Jq
RGVzY3JpcHRpb24pLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0
VmFsdWVGdW5jPigwKSB9IH0sCiAgICAgeyAiaWQiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9iaklkKSwgKGludHB0cl90KSBzdGF0
aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqSWQpIH0g
fSwKQEAgLTIyNzcsNyArMjI3Miw2IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rl
c3RPYmpQcm90b3R5cGVUYWJsZVZhbHVlc1tdID0KICAgICB7ICJjb252ZXJ0MiIsIHN0YXRpY19j
YXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmlu
c2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2Jq
UHJvdG90eXBlRnVuY3Rpb25Db252ZXJ0MiksIChpbnRwdHJfdCkgKDEpIH0gfSwKICAgICB7ICJj
b252ZXJ0MyIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpG
dW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVG
dW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db252ZXJ0MyksIChpbnRwdHJfdCkg
KDEpIH0gfSwKICAgICB7ICJjb252ZXJ0NCIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0
aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db252
ZXJ0NCksIChpbnRwdHJfdCkgKDEpIH0gfSwKLSAgICB7ICJtdXRhYmxlUG9pbnRGdW5jdGlvbiIs
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiks
IE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4o
anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NdXRhYmxlUG9pbnRGdW5jdGlvbiksIChpbnRwdHJf
dCkgKDApIH0gfSwKICAgICB7ICJvcmFuZ2UiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3Rh
dGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uT3Jh
bmdlKSwgKGludHB0cl90KSAoMCkgfSB9LAogICAgIHsgInZhcmlhZGljU3RyaW5nTWV0aG9kIiwg
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwg
Tm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihq
c1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblZhcmlhZGljU3RyaW5nTWV0aG9kKSwgKGludHB0cl90
KSAoMSkgfSB9LAogICAgIHsgInZhcmlhZGljRG91YmxlTWV0aG9kIiwgc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsg
KGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RPYmpQcm90b3R5
cGVGdW5jdGlvblZhcmlhZGljRG91YmxlTWV0aG9kKSwgKGludHB0cl90KSAoMSkgfSB9LApAQCAt
NDgwNSwzOCArNDc5OSw2IEBAIEVuY29kZWRKU1ZhbHVlIGpzVGVzdE9iakNvbnRlbnREb2N1bWVu
dChFeGVjU3RhdGUqIHN0YXRlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsCiAgICAgcmV0dXJuIElE
TEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpnZXQ8anNUZXN0T2JqQ29udGVudERvY3VtZW50R2V0dGVy
LCBDYXN0ZWRUaGlzRXJyb3JCZWhhdmlvcjo6QXNzZXJ0Pigqc3RhdGUsIHRoaXNWYWx1ZSwgImNv
bnRlbnREb2N1bWVudCIpOwogfQogCi1zdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0T2JqTXV0
YWJsZVBvaW50R2V0dGVyKEV4ZWNTdGF0ZSYgc3RhdGUsIEpTVGVzdE9iaiYgdGhpc09iamVjdCwg
VGhyb3dTY29wZSYgdGhyb3dTY29wZSkKLXsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7
Ci0gICAgVU5VU0VEX1BBUkFNKHN0YXRlKTsKLSAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53
cmFwcGVkKCk7Ci0gICAgSlNWYWx1ZSByZXN1bHQgPSB0b0pTPElETEludGVyZmFjZTxTVkdQb2lu
dD4+KHN0YXRlLCAqdGhpc09iamVjdC5nbG9iYWxPYmplY3QoKSwgdGhyb3dTY29wZSwgaW1wbC5t
dXRhYmxlUG9pbnQoKSk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotRW5jb2RlZEpTVmFsdWUg
anNUZXN0T2JqTXV0YWJsZVBvaW50KEV4ZWNTdGF0ZSogc3RhdGUsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgUHJvcGVydHlOYW1lKQotewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0
T2JqPjo6Z2V0PGpzVGVzdE9iak11dGFibGVQb2ludEdldHRlciwgQ2FzdGVkVGhpc0Vycm9yQmVo
YXZpb3I6OkFzc2VydD4oKnN0YXRlLCB0aGlzVmFsdWUsICJtdXRhYmxlUG9pbnQiKTsKLX0KLQot
c3RhdGljIGlubGluZSBib29sIHNldEpTVGVzdE9iak11dGFibGVQb2ludFNldHRlcihFeGVjU3Rh
dGUmIHN0YXRlLCBKU1Rlc3RPYmomIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUsIFRocm93U2Nv
cGUmIHRocm93U2NvcGUpCi17Ci0gICAgVU5VU0VEX1BBUkFNKHN0YXRlKTsKLSAgICBVTlVTRURf
UEFSQU0odGhyb3dTY29wZSk7Ci0gICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgp
OwotICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0PElETEludGVyZmFjZTxTVkdQb2ludD4+
KHN0YXRlLCB2YWx1ZSwgW10oSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OlRocm93U2NvcGUm
IHNjb3BlKSB7IHRocm93QXR0cmlidXRlVHlwZUVycm9yKHN0YXRlLCBzY29wZSwgIlRlc3RPYmpl
Y3QiLCAibXV0YWJsZVBvaW50IiwgIlNWR1BvaW50Iik7IH0pOwotICAgIFJFVFVSTl9JRl9FWENF
UFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwotICAgIEF0dHJpYnV0ZVNldHRlcjo6Y2FsbChzdGF0
ZSwgdGhyb3dTY29wZSwgWyZdIHsKLSAgICAgICAgcmV0dXJuIGltcGwuc2V0TXV0YWJsZVBvaW50
KCpuYXRpdmVWYWx1ZSk7Ci0gICAgfSk7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLWJvb2wgc2V0
SlNUZXN0T2JqTXV0YWJsZVBvaW50KEV4ZWNTdGF0ZSogc3RhdGUsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKQotewotICAgIHJldHVybiBJRExB
dHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9iak11dGFibGVQb2ludFNldHRlcj4o
KnN0YXRlLCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgIm11dGFibGVQb2ludCIpOwotfQotCiBz
dGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0T2JqU3RyYXdiZXJyeUdldHRlcihFeGVjU3RhdGUm
IHN0YXRlLCBKU1Rlc3RPYmomIHRoaXNPYmplY3QsIFRocm93U2NvcGUmIHRocm93U2NvcGUpCiB7
CiAgICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwpAQCAtODE5OSwyMCArODE2MSw2IEBAIEVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db252
ZXJ0NChKU0dsb2JhbE9iamVjdCoKICAgICByZXR1cm4gSURMT3BlcmF0aW9uPEpTVGVzdE9iaj46
OmNhbGw8anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Db252ZXJ0NEJvZHk+KCpzdGF0ZSwgImNv
bnZlcnQ0Iik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RP
YmpQcm90b3R5cGVGdW5jdGlvbk11dGFibGVQb2ludEZ1bmN0aW9uQm9keShKU0M6OkV4ZWNTdGF0
ZSogc3RhdGUsIHR5cGVuYW1lIElETE9wZXJhdGlvbjxKU1Rlc3RPYmo+OjpDbGFzc1BhcmFtZXRl
ciBjYXN0ZWRUaGlzLCBKU0M6OlRocm93U2NvcGUmIHRocm93U2NvcGUpCi17Ci0gICAgVU5VU0VE
X1BBUkFNKHN0YXRlKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7Ci0gICAgYXV0byYg
aW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQoKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KHRvSlM8SURMSW50ZXJmYWNlPFNWR1BvaW50Pj4oKnN0YXRlLCAqY2FzdGVkVGhpcy0+Z2xvYmFs
T2JqZWN0KCksIGltcGwubXV0YWJsZVBvaW50RnVuY3Rpb24oKSkpOwotfQotCi1FbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uTXV0YWJsZVBvaW50
RnVuY3Rpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lKiBzdGF0ZSkK
LXsKLSAgICBVTlVTRURfUEFSQU0oZ2xvYmFsT2JqZWN0KTsKLSAgICByZXR1cm4gSURMT3BlcmF0
aW9uPEpTVGVzdE9iaj46OmNhbGw8anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25NdXRhYmxlUG9p
bnRGdW5jdGlvbkJvZHk+KCpzdGF0ZSwgIm11dGFibGVQb2ludEZ1bmN0aW9uIik7Ci19Ci0KIHN0
YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlv
bk9yYW5nZUJvZHkoSlNDOjpFeGVjU3RhdGUqIHN0YXRlLCB0eXBlbmFtZSBJRExPcGVyYXRpb248
SlNUZXN0T2JqPjo6Q2xhc3NQYXJhbWV0ZXIgY2FzdGVkVGhpcywgSlNDOjpUaHJvd1Njb3BlJiB0
aHJvd1Njb3BlKQogewogICAgIFVOVVNFRF9QQVJBTShzdGF0ZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdFR5cGVkZWZzLmNw
cAppbmRleCBkOGI0Mzg5NjVhM2U1YjczZTAyYzM0NDkyYzE4MTc0NjQxYzhlNzc0Li5jN2ExMDhh
NzgxMTI3NTZkOGMyODBhMWZiMGVlNzIxMGY2ODAyMDUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0VHlwZWRlZnMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RUeXBlZGVmcy5jcHAK
QEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgogI2luY2x1
ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKLSNp
bmNsdWRlICJKU1NWR1BvaW50LmgiCiAjaW5jbHVkZSAiSlNUZXN0Q2FsbGJhY2tGdW5jdGlvbi5o
IgogI2luY2x1ZGUgIkpTVGVzdENhbGxiYWNrSW50ZXJmYWNlLmgiCiAjaW5jbHVkZSAiSlNUZXN0
RXZlbnRUYXJnZXQuaCIKQEAgLTcwLDcgKzY5LDYgQEAgSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGpzVGVzdFR5cGVkZWZzUHJvdG90eXBlRnVuY3Rpb25OdWxsYWJsZVNlcXVlbmMK
IEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RUeXBlZGVmc1Byb3RvdHlw
ZUZ1bmN0aW9uVW5pb25BcmcoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7
CiBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0VHlwZWRlZnNQcm90b3R5
cGVGdW5jdGlvbkZ1bmNXaXRoQ2xhbXAoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZy
YW1lKik7CiBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0VHlwZWRlZnNQ
cm90b3R5cGVGdW5jdGlvbkZ1bmNXaXRoQ2xhbXBJblR5cGVkZWYoSlNDOjpKU0dsb2JhbE9iamVj
dCosIEpTQzo6Q2FsbEZyYW1lKik7Ci1KU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
anNUZXN0VHlwZWRlZnNQcm90b3R5cGVGdW5jdGlvblBvaW50RnVuY3Rpb24oSlNDOjpKU0dsb2Jh
bE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CiBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwganNUZXN0VHlwZWRlZnNQcm90b3R5cGVGdW5jdGlvblN0cmluZ1NlcXVlbmNlRnVuY3Rp
b24oSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6Q2FsbEZyYW1lKik7CiBKU0M6OkVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0VHlwZWRlZnNQcm90b3R5cGVGdW5jdGlvblN0cmlu
Z1NlcXVlbmNlRnVuY3Rpb24yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkNhbGxGcmFtZSop
OwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdFR5cGVkZWZzUHJvdG90
eXBlRnVuY3Rpb25DYWxsV2l0aFNlcXVlbmNlVGhhdFJlcXVpcmVzSW5jbHVkZShKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgSlNDOjpDYWxsRnJhbWUqKTsKQEAgLTE5OCw3ICsxOTYsNiBAQCBzdGF0aWMg
Y29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0VHlwZWRlZnNQcm90b3R5cGVUYWJsZVZhbHVlc1td
ID0KICAgICB7ICJ1bmlvbkFyZyIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2Fz
dDxSYXdOYXRpdmVGdW5jdGlvbj4oanNUZXN0VHlwZWRlZnNQcm90b3R5cGVGdW5jdGlvblVuaW9u
QXJnKSwgKGludHB0cl90KSAoMSkgfSB9LAogICAgIHsgImZ1bmNXaXRoQ2xhbXAiLCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJp
bnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdFR5
cGVkZWZzUHJvdG90eXBlRnVuY3Rpb25GdW5jV2l0aENsYW1wKSwgKGludHB0cl90KSAoMSkgfSB9
LAogICAgIHsgImZ1bmNXaXRoQ2xhbXBJblR5cGVkZWYiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywgeyAoaW50cHRy
X3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdFR5cGVkZWZzUHJvdG90eXBl
RnVuY3Rpb25GdW5jV2l0aENsYW1wSW5UeXBlZGVmKSwgKGludHB0cl90KSAoMSkgfSB9LAotICAg
IHsgInBvaW50RnVuY3Rpb24iLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdFR5cGVkZWZzUHJvdG90eXBlRnVuY3Rpb25Qb2ludEZ1
bmN0aW9uKSwgKGludHB0cl90KSAoMCkgfSB9LAogICAgIHsgInN0cmluZ1NlcXVlbmNlRnVuY3Rp
b24iLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rp
b24pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rp
b24+KGpzVGVzdFR5cGVkZWZzUHJvdG90eXBlRnVuY3Rpb25TdHJpbmdTZXF1ZW5jZUZ1bmN0aW9u
KSwgKGludHB0cl90KSAoMSkgfSB9LAogICAgIHsgInN0cmluZ1NlcXVlbmNlRnVuY3Rpb24yIiwg
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwg
Tm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihq
c1Rlc3RUeXBlZGVmc1Byb3RvdHlwZUZ1bmN0aW9uU3RyaW5nU2VxdWVuY2VGdW5jdGlvbjIpLCAo
aW50cHRyX3QpICgxKSB9IH0sCiAgICAgeyAiY2FsbFdpdGhTZXF1ZW5jZVRoYXRSZXF1aXJlc0lu
Y2x1ZGUiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVu
Y3Rpb24pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVu
Y3Rpb24+KGpzVGVzdFR5cGVkZWZzUHJvdG90eXBlRnVuY3Rpb25DYWxsV2l0aFNlcXVlbmNlVGhh
dFJlcXVpcmVzSW5jbHVkZSksIChpbnRwdHJfdCkgKDEpIH0gfSwKQEAgLTY4MiwyMCArNjc5LDYg
QEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RUeXBlZGVmc1Byb3RvdHlwZUZ1
bmN0aW9uRnVuY1dpdGhDbGFtcEluVHlwZWQKICAgICByZXR1cm4gSURMT3BlcmF0aW9uPEpTVGVz
dFR5cGVkZWZzPjo6Y2FsbDxqc1Rlc3RUeXBlZGVmc1Byb3RvdHlwZUZ1bmN0aW9uRnVuY1dpdGhD
bGFtcEluVHlwZWRlZkJvZHk+KCpzdGF0ZSwgImZ1bmNXaXRoQ2xhbXBJblR5cGVkZWYiKTsKIH0K
IAotc3RhdGljIGlubGluZSBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdFR5cGVkZWZzUHJvdG90
eXBlRnVuY3Rpb25Qb2ludEZ1bmN0aW9uQm9keShKU0M6OkV4ZWNTdGF0ZSogc3RhdGUsIHR5cGVu
YW1lIElETE9wZXJhdGlvbjxKU1Rlc3RUeXBlZGVmcz46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRo
aXMsIEpTQzo6VGhyb3dTY29wZSYgdGhyb3dTY29wZSkKLXsKLSAgICBVTlVTRURfUEFSQU0oc3Rh
dGUpOwotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKLSAgICBhdXRvJiBpbXBsID0gY2Fz
dGVkVGhpcy0+d3JhcHBlZCgpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KUzxJRExJ
bnRlcmZhY2U8U1ZHUG9pbnQ+Pigqc3RhdGUsICpjYXN0ZWRUaGlzLT5nbG9iYWxPYmplY3QoKSwg
aW1wbC5wb2ludEZ1bmN0aW9uKCkpKTsKLX0KLQotRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBqc1Rlc3RUeXBlZGVmc1Byb3RvdHlwZUZ1bmN0aW9uUG9pbnRGdW5jdGlvbihKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIHN0YXRlKQotewotICAgIFVOVVNFRF9QQVJB
TShnbG9iYWxPYmplY3QpOwotICAgIHJldHVybiBJRExPcGVyYXRpb248SlNUZXN0VHlwZWRlZnM+
OjpjYWxsPGpzVGVzdFR5cGVkZWZzUHJvdG90eXBlRnVuY3Rpb25Qb2ludEZ1bmN0aW9uQm9keT4o
KnN0YXRlLCAicG9pbnRGdW5jdGlvbiIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTQzo6RW5jb2Rl
ZEpTVmFsdWUganNUZXN0VHlwZWRlZnNQcm90b3R5cGVGdW5jdGlvblN0cmluZ1NlcXVlbmNlRnVu
Y3Rpb25Cb2R5KEpTQzo6RXhlY1N0YXRlKiBzdGF0ZSwgdHlwZW5hbWUgSURMT3BlcmF0aW9uPEpT
VGVzdFR5cGVkZWZzPjo6Q2xhc3NQYXJhbWV0ZXIgY2FzdGVkVGhpcywgSlNDOjpUaHJvd1Njb3Bl
JiB0aHJvd1Njb3BlKQogewogICAgIFVOVVNFRF9QQVJBTShzdGF0ZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKaW5kZXggN2ViYzBhOGU2
YmM0N2E3NjRhNGMxMWM0MjJiNzcwMDY5YWZhYWQwZi4uZDZhYmVmNDJhZDNmZTU2ZTQxMDI4ZmU2
NDZhNjEzMTI1YzU1MDhkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Rlc3RPYmouaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9UZXN0T2JqLmlkbApAQCAtMzU1LDkgKzM1NSw2IEBAIGVudW0gVGVzdENvbmZpZGVu
Y2UgeyAiaGlnaCIsICJraW5kYS1sb3ciIH07CiAgICAgdm9pZCBjb252ZXJ0MyhET01TdHJpbmcg
dmFsdWUpOwogICAgIHZvaWQgY29udmVydDQoRE9NU3RyaW5nPyB2YWx1ZSk7CiAKLSAgICBhdHRy
aWJ1dGUgU1ZHUG9pbnQgbXV0YWJsZVBvaW50OwotICAgIFNWR1BvaW50IG11dGFibGVQb2ludEZ1
bmN0aW9uKCk7Ci0KICAgICBbSW1wbGVtZW50ZWRBcz1iYW5hbmFdIHZvaWQgb3JhbmdlKCk7CiAg
ICAgW0ltcGxlbWVudGVkQXM9Ymx1ZWJlcnJ5XSBhdHRyaWJ1dGUgbG9uZyBzdHJhd2JlcnJ5Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdFR5
cGVkZWZzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0VHlw
ZWRlZnMuaWRsCmluZGV4IDU0N2M0ZDY5OTg5ZWNhOGU1N2M5YmY0MGRiNTYzZWZlNjA1MTNmOTgu
LjkyMDFkYjZkMmM4NTBlNGJhMGMwMzRmMjM2YTI0NDE1NmQ0MzgxMzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0VHlwZWRlZnMuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0VHlwZWRlZnMuaWRsCkBA
IC01OSw4ICs1OSw2IEBACiAgICAgYXR0cmlidXRlIFtDbGFtcF0gVUxPTkdMT05HIGF0dHJpYnV0
ZVdpdGhDbGFtcDsKICAgICBhdHRyaWJ1dGUgQ0xBTVBFRF9MT05HIGF0dHJpYnV0ZVdpdGhDbGFt
cEluVHlwZWRlZjsKIAotICAgIFNWR1BPSU5UIHBvaW50RnVuY3Rpb24oKTsKLQogICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gU0VRVUVOQ0VfT0ZfU1RSSU5HUyBzdHJpbmdTZXF1ZW5jZUZ1bmN0aW9u
KFNFUVVFTkNFX09GX1NUUklOR1MgdmFsdWVzKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHNl
cXVlbmNlPFNUUklORz4gc3RyaW5nU2VxdWVuY2VGdW5jdGlvbjIoc2VxdWVuY2U8U1RSSU5HPiB2
YWx1ZXMpOwogCkBAIC04MCw3ICs3OCw2IEBAIHR5cGVkZWYgU2VyaWFsaXplZFNjcmlwdFZhbHVl
ICAgICAgU0NSSVBUX1ZBTFVFOwogdHlwZWRlZiBzZXF1ZW5jZTxsb25nPiAgICAgICAgICAgICBT
RVFVRU5DRV9PRl9MT05HUzsKIHR5cGVkZWYgbG9uZz8gICAgICAgICAgICAgICAgICAgICAgTlVM
TEFCTEVfTE9ORzsKIHR5cGVkZWYgW0NsYW1wXSBsb25nICAgICAgICAgICAgICAgQ0xBTVBFRF9M
T05HOwotdHlwZWRlZiBTVkdQb2ludCAgICAgICAgICAgICAgICAgICBTVkdQT0lOVDsKIHR5cGVk
ZWYgRE9NU3RyaW5nICAgICAgICAgICAgICAgICAgU1RSSU5HOwogdHlwZWRlZiBzZXF1ZW5jZTxE
T01TdHJpbmc+ICAgICAgICBTRVFVRU5DRV9PRl9TVFJJTkdTOwogdHlwZWRlZiBzZXF1ZW5jZTxE
T01TdHJpbmc/PiAgICAgICBTRVFVRU5DRV9PRl9OVUxMQUJMRV9TVFJJTkdTOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUxpdmVQcm9wZXJ0eS5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RPTUxpdmVQcm9wZXJ0eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllNTk0OGI2ODM1OTFjZmJlZjU3M2Zl
ZmE4OTBlY2FlYzI2MmJjOWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RE9NTGl2ZVByb3BlcnR5LmgKQEAgLTAsMCArMSw4MCBAQAorLyoKKyogQ29weXJpZ2h0IChDKSAy
MDE5IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyogYXJlIG1ldDoKKyogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisqCisqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJET01MaXZlUHJvcGVydHlPYnNlcnZlci5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERPTUxpdmVQcm9wZXJ0eSB7CitwdWJsaWM6
CisgICAgLy8gTWFuYWdpbmcgdGhlIHJlbGF0aW9uc2hpcCB3aXRoIHRoZSBvYnNlcnZlci4KKyAg
ICBib29sIGlzQXR0YWNoZWQoKSBjb25zdCB7IHJldHVybiBtX29ic2VydmVyOyB9CisgICAgRE9N
TGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyKCkgY29uc3QgeyByZXR1cm4gbV9vYnNlcnZl
cjsgfQorCisgICAgdm9pZCBhdHRhY2goRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVy
KQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFtX29ic2VydmVyKTsKKyAgICAgICAgbV9vYnNlcnZl
ciA9IG9ic2VydmVyOworICAgIH0KKworICAgIHZvaWQgZGV0YWNoKCkKKyAgICB7CisgICAgICAg
IG1fb2JzZXJ2ZXIgPSBudWxscHRyOworICAgIH0KKworICAgIC8vIFRyYXZlcnNlIHRoZSBvYnNl
cnZlcnMgY2hhaW4gdGlsbCBhbiBTVkdFbGVtZW50IG9ic2VydmVyIGlzIHJlYWNoZWQuCisgICAg
Y29uc3QgU1ZHRWxlbWVudCogc3ZnQ29udGV4dEVsZW1lbnQoKSBjb25zdAorICAgIHsKKyAgICAg
ICAgaWYgKCFtX29ic2VydmVyKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAg
IHJldHVybiBtX29ic2VydmVyLT5wcm9wZXJ0eVNWR0NvbnRleHRFbGVtZW50KCk7CisgICAgfQor
CisgICAgLy8gQ2hlY2sgaWYgdGhlIG9ic2VydmVyIGRpc2FsbG93cyBjaGFuZ2luZyB0aGlzIHBy
b3BlcnR5LgorICAgIGJvb2wgaXNSZWFkT25seSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1
cm4gbV9vYnNlcnZlciAmJiBtX29ic2VydmVyLT5pc1Byb3BlcnR5UmVhZE9ubHkoKnRoaXMpOwor
ICAgIH0KKworICAgIC8vIENvbW1pdCB0aGUgbGl2ZSBwcm9wZXJ0eSBjaGFuZ2VzIHZpYSB0aGUg
b2JzZXJ2ZXJzIGNoYWluLgorICAgIHZvaWQgY29tbWl0Q2hhbmdlKCkKKyAgICB7CisgICAgICAg
IGlmICghbV9vYnNlcnZlcikKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbV9vYnNlcnZl
ci0+Y29tbWl0UHJvcGVydHlDaGFuZ2UodGhpcyk7CisgICAgfQorCitwcm90ZWN0ZWQ6CisgICAg
RE9NTGl2ZVByb3BlcnR5KERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZlciA9IG51bGxw
dHIpCisgICAgICAgIDogbV9vYnNlcnZlcihvYnNlcnZlcikKKyAgICB7CisgICAgfQorCisgICAg
RE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG1fb2JzZXJ2ZXIgeyBudWxscHRyIH07Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9N
TGl2ZVByb3BlcnR5T2JzZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01MaXZlUHJvcGVy
dHlPYnNlcnZlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwYTkwN2FjMTY2MDE5N2ZkMmMyNTdiZGI2OThlYmIz
M2M5NzUyMGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NTGl2ZVBy
b3BlcnR5T2JzZXJ2ZXIuaApAQCAtMCwwICsxLDY1IEBACisvKgorKiBDb3B5cmlnaHQgKEMpIDIw
MTkgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworKiBhcmUgbWV0OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLwor
CisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBET01MaXZlUHJv
cGVydHk7CitjbGFzcyBTVkdFbGVtZW50OworCitjbGFzcyBET01MaXZlUHJvcGVydHlPYnNlcnZl
ciB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+RE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIoKSA9IGRl
ZmF1bHQ7CisKKyAgICAvLyBUaGUgb2JzZXJ2ZXIgaXRzZWxmIG1heSBoYXZlIGFuIG9ic2VydmVy
LgorICAgIHZpcnR1YWwgRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyKCkgY29uc3Qg
eyByZXR1cm4gbnVsbHB0cjsgfQorCisgICAgLy8gVHJhdmVyc2UgdGhlIG9ic2VydmVycyBjaGFp
biB0aWxsIGFuIEVsZW1lbnQgb2JzZXJ2ZXIgaXMgcmVhY2hlZC4KKyAgICB2aXJ0dWFsIGNvbnN0
IFNWR0VsZW1lbnQqIHByb3BlcnR5U1ZHQ29udGV4dEVsZW1lbnQoKSBjb25zdAorICAgIHsKKyAg
ICAgICAgaWYgKCFvYnNlcnZlcigpKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAg
ICAgIHJldHVybiBvYnNlcnZlcigpLT5wcm9wZXJ0eVNWR0NvbnRleHRFbGVtZW50KCk7CisgICAg
fQorCisgICAgdmlydHVhbCBib29sIGlzUHJvcGVydHlSZWFkT25seShjb25zdCBET01MaXZlUHJv
cGVydHkmIHByb3BlcnR5KSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG9ic2VydmVyKCkg
JiYgb2JzZXJ2ZXIoKS0+aXNQcm9wZXJ0eVJlYWRPbmx5KHByb3BlcnR5KTsKKyAgICB9CisKKyAg
ICAvLyBDb21taXQgdGhlIGxpdmUgcHJvcGVydHkgY2hhbmdlcyB2aWEgdGhlIG9ic2VydmVycyBj
aGFpbi4KKyAgICB2aXJ0dWFsIHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoRE9NTGl2ZVByb3Bl
cnR5KiBwcm9wZXJ0eSkKKyAgICB7CisgICAgICAgIGlmICghb2JzZXJ2ZXIoKSkKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgb2JzZXJ2ZXIoKS0+Y29tbWl0UHJvcGVydHlDaGFuZ2UocHJv
cGVydHkpOworICAgIH0KKworcHJvdGVjdGVkOgorICAgIERPTUxpdmVQcm9wZXJ0eU9ic2VydmVy
KCkgPSBkZWZhdWx0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Q
b2ludC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNGNlZTFhYWEwN2JhZjE3MzM0YjRiMWMzOGUyZGUzMWU5MDgw
ZGU0NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludC5jcHAK
QEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFs
bCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzCisgKiAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTCisgKiBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQ09QWVJJR0hU
IEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULAorICogSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IKKyAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULAorICogU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRAorICogT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJET01Qb2ludC5oIgorCisjaW5j
bHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitX
VEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoRE9NUG9pbnQpOworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludC5oIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmgKaW5kZXggNzcyNzdkN2YyMWIzZjRiY2MzYzQwNGQ1
M2VlMWVjOGNiMDM1M2JjMy4uY2Y5M2YxNGM2NTFlZGZjOTI1NzQ3NzgwMTkzYWM3NjgxNWYyM2U0
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0RPTVBvaW50LmgKQEAgLTMwLDI3ICszMCw3MCBAQAogCiAjcHJhZ21hIG9u
Y2UKIAorI2luY2x1ZGUgIkRPTUxpdmVQcm9wZXJ0eS5oIgogI2luY2x1ZGUgIkRPTVBvaW50UmVh
ZE9ubHkuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLWNsYXNzIERPTVBvaW50IGZpbmFsIDogcHVibGljIERPTVBvaW50UmVhZE9u
bHkgeworY2xhc3MgRE9NUG9pbnQgZmluYWwgOiBwdWJsaWMgRE9NUG9pbnRSZWFkT25seSwgcHVi
bGljIERPTUxpdmVQcm9wZXJ0eSB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChET01Qb2lu
dCk7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxET01Qb2ludD4gY3JlYXRlKGRvdWJsZSB4LCBk
b3VibGUgeSwgZG91YmxlIHogPSAwLCBkb3VibGUgdyA9IDEpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgRE9NUG9pbnQoeCwgeSwgeiwgdykpOyB9CiAgICAgc3RhdGljIFJlZjxET01Qb2ludD4gY3Jl
YXRlKGNvbnN0IERPTVBvaW50SW5pdCYgaW5pdCkgeyByZXR1cm4gY3JlYXRlKGluaXQueCwgaW5p
dC55LCBpbml0LnosIGluaXQudyk7IH0KICAgICBzdGF0aWMgUmVmPERPTVBvaW50PiBmcm9tUG9p
bnQoY29uc3QgRE9NUG9pbnRJbml0JiBpbml0KSB7IHJldHVybiBjcmVhdGUoaW5pdC54LCBpbml0
LnksIGluaXQueiwgaW5pdC53KTsgfQorICAgIFJlZjxET01Qb2ludD4gY2xvbmUoKSBjb25zdCB7
IHJldHVybiBjcmVhdGUobV94LCBtX3ksIG1feiwgbV93KTsgfQogCiAgICAgdm9pZCBzZXRYKGRv
dWJsZSB4KSB7IG1feCA9IHg7IH0KICAgICB2b2lkIHNldFkoZG91YmxlIHkpIHsgbV95ID0geTsg
fQogICAgIHZvaWQgc2V0Wihkb3VibGUgeikgeyBtX3ogPSB6OyB9CiAgICAgdm9pZCBzZXRXKGRv
dWJsZSB3KSB7IG1fdyA9IHc7IH0KIAorICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFhGb3JCaW5k
aW5ncyhkb3VibGUgeCkKKyAgICB7CisgICAgICAgIGlmIChpc1JlYWRPbmx5KCkpCisgICAgICAg
ICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3IgfTsKKyAg
ICAKKyAgICAgICAgbV94ID0geDsKKyAgICAgICAgY29tbWl0Q2hhbmdlKCk7CisgICAgICAgIHJl
dHVybiB7IH07CisgICAgfQorICAgIAorICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFlGb3JCaW5k
aW5ncyhkb3VibGUgeSkKKyAgICB7CisgICAgICAgIGlmIChpc1JlYWRPbmx5KCkpCisgICAgICAg
ICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3IgfTsKKyAg
ICAKKyAgICAgICAgbV95ID0geTsKKyAgICAgICAgY29tbWl0Q2hhbmdlKCk7CisgICAgICAgIHJl
dHVybiB7IH07CisgICAgfQorICAgIAorICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFpGb3JCaW5k
aW5ncyhkb3VibGUgeikKKyAgICB7CisgICAgICAgIGlmIChpc1JlYWRPbmx5KCkpCisgICAgICAg
ICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3IgfTsKKyAg
ICAKKyAgICAgICAgbV96ID0gejsKKyAgICAgICAgY29tbWl0Q2hhbmdlKCk7CisgICAgICAgIHJl
dHVybiB7IH07CisgICAgfQorICAgIAorICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFdGb3JCaW5k
aW5ncyhkb3VibGUgdykKKyAgICB7CisgICAgICAgIGlmIChpc1JlYWRPbmx5KCkpCisgICAgICAg
ICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3IgfTsKKyAg
ICAKKyAgICAgICAgbV93ID0gdzsKKyAgICAgICAgY29tbWl0Q2hhbmdlKCk7CisgICAgICAgIHJl
dHVybiB7IH07CisgICAgfQorICAgIAogcHJpdmF0ZToKICAgICBET01Qb2ludChkb3VibGUgeCwg
ZG91YmxlIHksIGRvdWJsZSB6LCBkb3VibGUgdykKICAgICAgICAgOiBET01Qb2ludFJlYWRPbmx5
KHgsIHksIHosIHcpCiAgICAgewogICAgIH0KIH07Ci1zdGF0aWNfYXNzZXJ0KHNpemVvZihET01Q
b2ludCkgPT0gc2l6ZW9mKERPTVBvaW50UmVhZE9ubHkpLCAiIik7CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludC5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRE9NUG9pbnQuaWRsCmluZGV4IDY5YmJjMmQwZmYyMDc2MTQ2ZmZk
NTUyNzA0ZDU3NjIyNTE5ZGQ2MDUuLjhkYzkxMDliODVmOGQ1YjNiNDM2MmQzMmI1YTNhZmE1MzIy
NmQzMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludC5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50LmlkbApAQCAtMzQsMTQgKzM0LDE1IEBACiAgICAg
Q29uc3RydWN0b3Iob3B0aW9uYWwgdW5yZXN0cmljdGVkIGRvdWJsZSB4ID0gMCwgb3B0aW9uYWwg
dW5yZXN0cmljdGVkIGRvdWJsZSB5ID0gMCwKICAgICAgICAgb3B0aW9uYWwgdW5yZXN0cmljdGVk
IGRvdWJsZSB6ID0gMCwgb3B0aW9uYWwgdW5yZXN0cmljdGVkIGRvdWJsZSB3ID0gMSksCiAgICAg
RXhwb3NlZD0oV2luZG93LFdvcmtlciksCisgICAgTGVnYWN5V2luZG93QWxpYXM9U1ZHUG9pbnQs
CiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUKKyAgICBTa2lwVlRhYmxlVmFsaWRhdGlvbgogXQogaW50ZXJmYWNlIERPTVBvaW50IDog
RE9NUG9pbnRSZWFkT25seSB7CiAgICAgW05ld09iamVjdF0gc3RhdGljIERPTVBvaW50IGZyb21Q
b2ludChvcHRpb25hbCBET01Qb2ludEluaXQgb3RoZXIpOwogCi0gICAgaW5oZXJpdCBhdHRyaWJ1
dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB4OwotICAgIGluaGVyaXQgYXR0cmlidXRlIHVucmVzdHJp
Y3RlZCBkb3VibGUgeTsKLSAgICBpbmhlcml0IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91Ymxl
IHo7Ci0gICAgaW5oZXJpdCBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB3OworICAgIFtJ
bXBsZW1lbnRlZEFzPXhGb3JCaW5kaW5nc10gaW5oZXJpdCBhdHRyaWJ1dGUgdW5yZXN0cmljdGVk
IGRvdWJsZSB4OworICAgIFtJbXBsZW1lbnRlZEFzPXlGb3JCaW5kaW5nc10gaW5oZXJpdCBhdHRy
aWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB5OworICAgIFtJbXBsZW1lbnRlZEFzPXpGb3JCaW5k
aW5nc10gaW5oZXJpdCBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB6OworICAgIFtJbXBs
ZW1lbnRlZEFzPXdGb3JCaW5kaW5nc10gaW5oZXJpdCBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRv
dWJsZSB3OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludFJlYWRP
bmx5LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NUG9pbnRSZWFkT25seS5oCmluZGV4IDBhNjhm
ZGYxYmMxOTRlNDMxN2UxYjU1ZmFkODlkNDZkYWVmZTcyMTEuLjlhNGRiNjYwOTE0NTU5ODJhZjZm
OGE3NTEzNTRiNmZjMDI2ZjQwMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Q
b2ludFJlYWRPbmx5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RPTVBvaW50UmVhZE9ubHku
aApAQCAtNDMsNiArNDMsNyBAQCBjbGFzcyBET01Qb2ludDsKIGNsYXNzIERPTVBvaW50UmVhZE9u
bHkgOiBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlLCBwdWJsaWMgUmVmQ291bnRlZDxET01Qb2ludFJl
YWRPbmx5PiB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChET01Qb2ludFJlYWRPbmx5KTsK
IHB1YmxpYzoKKyAgICB2aXJ0dWFsIH5ET01Qb2ludFJlYWRPbmx5KCkgPSBkZWZhdWx0OwogICAg
IHN0YXRpYyBSZWY8RE9NUG9pbnRSZWFkT25seT4gY3JlYXRlKGRvdWJsZSB4LCBkb3VibGUgeSwg
ZG91YmxlIHosIGRvdWJsZSB3KSB7IHJldHVybiBhZG9wdFJlZigqbmV3IERPTVBvaW50UmVhZE9u
bHkoeCwgeSwgeiwgdykpOyB9CiAgICAgc3RhdGljIFJlZjxET01Qb2ludFJlYWRPbmx5PiBjcmVh
dGUoY29uc3QgRE9NUG9pbnRJbml0JiBpbml0KSB7IHJldHVybiBjcmVhdGUoaW5pdC54LCBpbml0
LnksIGluaXQueiwgaW5pdC53KTsgfQogICAgIHN0YXRpYyBSZWY8RE9NUG9pbnRSZWFkT25seT4g
ZnJvbVBvaW50KGNvbnN0IERPTVBvaW50SW5pdCYgaW5pdCkgeyByZXR1cm4gY3JlYXRlKGluaXQu
eCwgaW5pdC55LCBpbml0LnosIGluaXQudyk7IH0KQEAgLTUyLDYgKzUzLDExIEBAIHB1YmxpYzoK
ICAgICBkb3VibGUgeigpIGNvbnN0IHsgcmV0dXJuIG1fejsgfQogICAgIGRvdWJsZSB3KCkgY29u
c3QgeyByZXR1cm4gbV93OyB9CiAKKyAgICBkb3VibGUgeEZvckJpbmRpbmdzKCkgY29uc3QgeyBy
ZXR1cm4gbV94OyB9CisgICAgZG91YmxlIHlGb3JCaW5kaW5ncygpIGNvbnN0IHsgcmV0dXJuIG1f
eTsgfQorICAgIGRvdWJsZSB6Rm9yQmluZGluZ3MoKSBjb25zdCB7IHJldHVybiBtX3o7IH0KKyAg
ICBkb3VibGUgd0ZvckJpbmRpbmdzKCkgY29uc3QgeyByZXR1cm4gbV93OyB9CisKICAgICBFeGNl
cHRpb25PcjxSZWY8RE9NUG9pbnQ+PiBtYXRyaXhUcmFuc2Zvcm0oRE9NTWF0cml4SW5pdCYmKSBj
b25zdDsKIAogcHJvdGVjdGVkOgpAQCAtNzEsNCArNzcsMyBAQCBwcm90ZWN0ZWQ6CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
T01Qb2ludFJlYWRPbmx5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01Qb2ludFJlYWRPbmx5
LmlkbAppbmRleCAzZmZkNjZmZDcxMjFhOWRjN2NjNWY4NTczYTc2YTc4OTc0NGY5NjhlLi40MWMz
YzRlNTM4NmI2M2NhN2U2NzRhYjQzYjUzMDdmYWU1YTA4MjQwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRE9NUG9pbnRSZWFkT25seS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RPTVBvaW50UmVhZE9ubHkuaWRsCkBAIC0zNCwxNSArMzQsMTUgQEAKICAgICBDb25zdHJ1Y3Rv
cihvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHggPSAwLCBvcHRpb25hbCB1bnJlc3RyaWN0
ZWQgZG91YmxlIHkgPSAwLAogICAgICAgICBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHog
PSAwLCBvcHRpb25hbCB1bnJlc3RyaWN0ZWQgZG91YmxlIHcgPSAxKSwKICAgICBFeHBvc2VkPShX
aW5kb3csV29ya2VyKSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCisgICAgU2tpcFZU
YWJsZVZhbGlkYXRpb24KIF0KIGludGVyZmFjZSBET01Qb2ludFJlYWRPbmx5IHsKICAgICBbTmV3
T2JqZWN0XSBzdGF0aWMgRE9NUG9pbnRSZWFkT25seSBmcm9tUG9pbnQob3B0aW9uYWwgRE9NUG9p
bnRJbml0IG90aGVyKTsKIAotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91
YmxlIHg7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgeTsKLSAg
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB6OwotICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHc7CisgICAgW0ltcGxlbWVudGVkQXM9eEZv
ckJpbmRpbmdzXSByZWFkb25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB4OworICAg
IFtJbXBsZW1lbnRlZEFzPXlGb3JCaW5kaW5nc10gcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJp
Y3RlZCBkb3VibGUgeTsKKyAgICBbSW1wbGVtZW50ZWRBcz16Rm9yQmluZGluZ3NdIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIHo7CisgICAgW0ltcGxlbWVudGVkQXM9d0Zv
ckJpbmRpbmdzXSByZWFkb25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSB3OwogCiAg
ICAgW01heVRocm93RXhjZXB0aW9uXSBET01Qb2ludCBtYXRyaXhUcmFuc2Zvcm0ob3B0aW9uYWwg
RE9NTWF0cml4SW5pdCBtYXRyaXgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR1BhdGhEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHUGF0aERhdGEuY3BwCmluZGV4IDJiYWIxODAyYTY1NTRkOTFiNTVhMDk3ODY1ODgxNmUwMjE3
MWMxM2YuLmRlZWQzNzAzMjlhMDJmNDJhMTViNTlhYTg1ZmVjMjI5NDVhY2I3NmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUGF0aERhdGEuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUGF0aERhdGEuY3BwCkBAIC0yMCw2ICsyMCw3
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aERhdGEuaCIKIAorI2lu
Y2x1ZGUgIkRPTVBvaW50LmgiCiAjaW5jbHVkZSAiUGF0aC5oIgogI2luY2x1ZGUgIlJlbmRlckVs
ZW1lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgpAQCAtMzAsNyArMzEsNiBAQAogI2lu
Y2x1ZGUgIlNWR05hbWVzLmgiCiAjaW5jbHVkZSAiU1ZHUGF0aEVsZW1lbnQuaCIKICNpbmNsdWRl
ICJTVkdQYXRoVXRpbGl0aWVzLmgiCi0jaW5jbHVkZSAiU1ZHUG9pbnQuaCIKICNpbmNsdWRlICJT
VkdQb2ludExpc3QuaCIKICNpbmNsdWRlICJTVkdQb2x5Z29uRWxlbWVudC5oIgogI2luY2x1ZGUg
IlNWR1BvbHlsaW5lRWxlbWVudC5oIgpAQCAtMTA1LDExICsxMDUsMTEgQEAgc3RhdGljIFBhdGgg
cGF0aEZyb21Qb2x5Z29uRWxlbWVudChjb25zdCBTVkdFbGVtZW50JiBlbGVtZW50KQogICAgICAg
ICByZXR1cm4geyB9OwogCiAgICAgUGF0aCBwYXRoOwotICAgIHBhdGgubW92ZVRvKHBvaW50cy5m
aXJzdCgpLT52YWx1ZSgpKTsKKyAgICBwYXRoLm1vdmVUbyhGbG9hdFBvaW50KHBvaW50cy5maXJz
dCgpLT54KCksIHBvaW50cy5maXJzdCgpLT55KCkpKTsKIAogICAgIHVuc2lnbmVkIHNpemUgPSBw
b2ludHMuc2l6ZSgpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkgPCBzaXplOyArK2kpCi0g
ICAgICAgIHBhdGguYWRkTGluZVRvKHBvaW50cy5hdChpKS0+dmFsdWUoKSk7CisgICAgICAgIHBh
dGguYWRkTGluZVRvKEZsb2F0UG9pbnQocG9pbnRzLmF0KGkpLT54KCksIHBvaW50cy5hdChpKS0+
eSgpKSk7CiAKICAgICBwYXRoLmNsb3NlU3VicGF0aCgpOwogICAgIHJldHVybiBwYXRoOwpAQCAt
MTIyLDExICsxMjIsMTEgQEAgc3RhdGljIFBhdGggcGF0aEZyb21Qb2x5bGluZUVsZW1lbnQoY29u
c3QgU1ZHRWxlbWVudCYgZWxlbWVudCkKICAgICAgICAgcmV0dXJuIHsgfTsKIAogICAgIFBhdGgg
cGF0aDsKLSAgICBwYXRoLm1vdmVUbyhwb2ludHMuZmlyc3QoKS0+dmFsdWUoKSk7CisgICAgcGF0
aC5tb3ZlVG8oRmxvYXRQb2ludChwb2ludHMuZmlyc3QoKS0+eCgpLCBwb2ludHMuZmlyc3QoKS0+
eSgpKSk7CiAKICAgICB1bnNpZ25lZCBzaXplID0gcG9pbnRzLnNpemUoKTsKICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAxOyBpIDwgc2l6ZTsgKytpKQotICAgICAgICBwYXRoLmFkZExpbmVUbyhwb2lu
dHMuYXQoaSktPnZhbHVlKCkpOworICAgICAgICBwYXRoLmFkZExpbmVUbyhGbG9hdFBvaW50KHBv
aW50cy5hdChpKS0+eCgpLCBwb2ludHMuYXQoaSktPnkoKSkpOwogICAgIHJldHVybiBwYXRoOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5nbGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdBbmdsZS5oCmluZGV4IDljNjE3MzJhZTkzMWM5ODU0ZTc1NjllMWNiMjJh
NmVkOGRhZjViMDMuLjA0YjIxNmZhNzZlZTBhYzI4NzZhNjNlMGQ2YjM5NTRhMzg2NWFlZjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmdsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdBbmdsZS5oCkBAIC00MSw5ICs0MSw5IEBAIHB1YmxpYzoKICAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgU1ZHQW5nbGUodmFsdWUpKTsKICAgICB9CiAKLSAgICBzdGF0aWMg
UmVmPFNWR0FuZ2xlPiBjcmVhdGUoU1ZHUHJvcGVydHlPd25lciogb3duZXIsIFNWR1Byb3BlcnR5
QWNjZXNzIGFjY2VzcywgY29uc3QgU1ZHQW5nbGVWYWx1ZSYgdmFsdWUgPSB7IH0pCisgICAgc3Rh
dGljIFJlZjxTVkdBbmdsZT4gY3JlYXRlKERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZl
ciwgY29uc3QgU1ZHQW5nbGVWYWx1ZSYgdmFsdWUgPSB7IH0pCiAgICAgewotICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBTVkdBbmdsZShvd25lciwgYWNjZXNzLCB2YWx1ZSkpOworICAgICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdBbmdsZShvYnNlcnZlciwgdmFsdWUpKTsKICAgICB9
CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCmlu
ZGV4IDE2YzNhZmMyMTUzYjY4ZGE5ZDg1MzY1Njk2MjYwNWM4ZTEwYTVhZjQuLjIwNGMyMmJiMzZk
ZGEwODYyODEzOTE3MjMwZmQ0ZTk0MDExZjQ5NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5j
cHAKQEAgLTU0MSwyMCArNTQxLDIzIEBAIHZvaWQgU1ZHRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdl
ZChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBvCiAgICAgICAg
IHN2Z0F0dHJpYnV0ZUNoYW5nZWQobmFtZSk7CiB9CiAKLXZvaWQgU1ZHRWxlbWVudDo6c3luY2hy
b25pemVBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSkKK3ZvaWQgU1ZHRWxlbWVu
dDo6c3luY2hyb25pemVBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFt
ZSkKIHsKLSAgICAvLyBJZiB0aGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5IGhhcyBjaGFuZ2VkLCBz
ZXJpYWxpemUgdGhlIG5ldyB2YWx1ZSB0byB0aGUgYXR0cmlidXRlLgotICAgIGlmIChhdXRvIHZh
bHVlID0gcHJvcGVydHlSZWdpc3RyeSgpLnN5bmNocm9uaXplKG5hbWUpKQotICAgICAgICBzZXRT
eW5jaHJvbml6ZWRMYXp5QXR0cmlidXRlKG5hbWUsICp2YWx1ZSk7CisgICAgYXV0byBpdCA9IG1f
ZGlydHlBdHRyaWJ1dGVzLmZpbmQoYXR0cmlidXRlTmFtZSk7CisgICAgaWYgKGl0ID09IG1fZGly
dHlBdHRyaWJ1dGVzLmVuZCgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgLy8gSWYgdGhl
IHZhbHVlIG9mIHRoZSBwcm9wZXJ0eSBoYXMgY2hhbmdlZCwgcmVzZXJpYWxpemUgdGhlIG5ldyB2
YWx1ZSB0byB0aGUgYXR0cmlidXRlLgorICAgIHNldFN5bmNocm9uaXplZExhenlBdHRyaWJ1dGUo
YXR0cmlidXRlTmFtZSwgcHJvcGVydHlSZWdpc3RyeSgpLnZhbHVlQXNTdHJpbmcoYXR0cmlidXRl
TmFtZSkpOworICAgIG1fZGlydHlBdHRyaWJ1dGVzLnJlbW92ZShpdCk7CiB9CiAgICAgCiB2b2lk
IFNWR0VsZW1lbnQ6OnN5bmNocm9uaXplQWxsQXR0cmlidXRlcygpCiB7Ci0gICAgLy8gU1ZHUHJv
cGVydHlSZWdpc3RyeTo6c3luY2hyb25pemVBbGxBdHRyaWJ1dGVzKCkgcmV0dXJucyB0aGUgbmV3
IHZhbHVlcyBvZgotICAgIC8vIHRoZSBwcm9wZXJ0aWVzIHdoaWNoIGhhdmUgY2hhbmdlZCBidXQg
bm90IGNvbW1pdHRlZCB5ZXQuCi0gICAgYXV0byBtYXAgPSBwcm9wZXJ0eVJlZ2lzdHJ5KCkuc3lu
Y2hyb25pemVBbGxBdHRyaWJ1dGVzKCk7Ci0gICAgZm9yIChjb25zdCBhdXRvJiBlbnRyeSA6IG1h
cCkKLSAgICAgICAgc2V0U3luY2hyb25pemVkTGF6eUF0dHJpYnV0ZShlbnRyeS5rZXksIGVudHJ5
LnZhbHVlKTsKKyAgICAvLyBSZXNlcmlhbGl6ZSB0aGUgdmFsdWVzIG9mIHRoZSBjaGFuZ2VkIHBy
b3BlcnRpZXMgdG8gdGhlaXIgYXR0cmlidXRlcy4KKyAgICBmb3IgKGF1dG8mIGF0dHJpYnV0ZU5h
bWUgOiBtX2RpcnR5QXR0cmlidXRlcykKKyAgICAgICAgc2V0U3luY2hyb25pemVkTGF6eUF0dHJp
YnV0ZShhdHRyaWJ1dGVOYW1lLCBwcm9wZXJ0eVJlZ2lzdHJ5KCkudmFsdWVBc1N0cmluZyhhdHRy
aWJ1dGVOYW1lKSk7CisgICAgbV9kaXJ0eUF0dHJpYnV0ZXMuY2xlYXIoKTsKIH0KIAogdm9pZCBT
VkdFbGVtZW50OjpzeW5jaHJvbml6ZUFsbEFuaW1hdGVkU1ZHQXR0cmlidXRlKFNWR0VsZW1lbnQm
IHN2Z0VsZW1lbnQpCkBAIC01NjIsMTUgKzU2NSwxOCBAQCB2b2lkIFNWR0VsZW1lbnQ6OnN5bmNo
cm9uaXplQWxsQW5pbWF0ZWRTVkdBdHRyaWJ1dGUoU1ZHRWxlbWVudCYgc3ZnRWxlbWVudCkKICAg
ICBzdmdFbGVtZW50LnN5bmNocm9uaXplQWxsQXR0cmlidXRlcygpOwogfQogCi12b2lkIFNWR0Vs
ZW1lbnQ6OmNvbW1pdFByb3BlcnR5Q2hhbmdlKFNWR1Byb3BlcnR5KiBwcm9wZXJ0eSkKK3ZvaWQg
U1ZHRWxlbWVudDo6Y29tbWl0UHJvcGVydHlDaGFuZ2UoRE9NTGl2ZVByb3BlcnR5KiBwcm9wZXJ0
eSkKIHsKKyAgICBRdWFsaWZpZWROYW1lIGF0dHJpYnV0ZU5hbWUgPSBwcm9wZXJ0eVJlZ2lzdHJ5
KCkucHJvcGVydHlBdHRyaWJ1dGVOYW1lKCpwcm9wZXJ0eSk7CisgICAgQVNTRVJUKGF0dHJpYnV0
ZU5hbWUgIT0gbnVsbFFOYW1lKCkpOworCiAgICAgLy8gV2Ugd2FudCB0byBkaXJ0eSB0aGUgdG9w
LWxldmVsIHByb3BlcnR5IHdoZW4gYSBkZXNjZW5kYW50IGNoYW5nZXMuIEZvciBleGFtcGxlCiAg
ICAgLy8gYSBjaGFuZ2UgaW4gYW4gU1ZHTGVuZ3RoIGl0ZW0gaW4gU1ZHTGVuZ3RoTGlzdCBzaG91
bGQgc2V0IHRoZSBkaXJ0eSBmbGFnIG9uCiAgICAgLy8gU1ZHTGVuZ3RoTGlzdCBhbmQgbm90IHRo
ZSBTVkdMZW5ndGguCi0gICAgcHJvcGVydHktPnNldERpcnR5KCk7CisgICAgbV9kaXJ0eUF0dHJp
YnV0ZXMuYWRkKGF0dHJpYnV0ZU5hbWUpOwogCiAgICAgaW52YWxpZGF0ZVNWR0F0dHJpYnV0ZXMo
KTsKLSAgICBzdmdBdHRyaWJ1dGVDaGFuZ2VkKHByb3BlcnR5UmVnaXN0cnkoKS5wcm9wZXJ0eUF0
dHJpYnV0ZU5hbWUoKnByb3BlcnR5KSk7CisgICAgc3ZnQXR0cmlidXRlQ2hhbmdlZChhdHRyaWJ1
dGVOYW1lKTsKIH0KIAogdm9pZCBTVkdFbGVtZW50Ojpjb21taXRQcm9wZXJ0eUNoYW5nZShTVkdB
bmltYXRlZFByb3BlcnR5JiBhbmltYXRlZFByb3BlcnR5KQpAQCAtNTgxLDcgKzU4Nyw3IEBAIHZv
aWQgU1ZHRWxlbWVudDo6Y29tbWl0UHJvcGVydHlDaGFuZ2UoU1ZHQW5pbWF0ZWRQcm9wZXJ0eSYg
YW5pbWF0ZWRQcm9wZXJ0eSkKICAgICAvLyBBIGNoYW5nZSBpbiBhIHN0eWxlIHByb3BlcnR5LCBl
LmcgU1ZHUmVjdEVsZW1lbnQ6Onggc2hvdWxkIGJlIHNlcmlhbGl6ZWQgdG8KICAgICAvLyB0aGUg
YXR0cmlidXRlIGltbWVkaWF0ZWx5LiBPdGhlcndpc2UgaXQgaXMgb2theSB0byBiZSBsYXp5IGlu
IHRoaXMgcmVnYXJkLgogICAgIGlmICghcHJvcGVydHlSZWdpc3RyeSgpLmlzQW5pbWF0ZWRTdHls
ZVByb3BlcnR5QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKQotICAgICAgICBhbmltYXRlZFByb3Bl
cnR5LnNldERpcnR5KCk7CisgICAgICAgIG1fZGlydHlBdHRyaWJ1dGVzLmFkZChhdHRyaWJ1dGVO
YW1lKTsKICAgICBlbHNlCiAgICAgICAgIHNldFN5bmNocm9uaXplZExhenlBdHRyaWJ1dGUoYXR0
cmlidXRlTmFtZSwgYW5pbWF0ZWRQcm9wZXJ0eS5iYXNlVmFsQXNTdHJpbmcoKSk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRWxlbWVudC5oCmluZGV4IDhjYzZhYWNhNjU3NjgwZWU4ZDNmM2Y0NmM4NzgyYWQyMjU1
Yzc3NDIuLmQ5MDg3NmFmZmI3NGU2MTUzMzIzZTUzNGM4ODk3ZmQ4ZGU1NmUwZGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0VsZW1lbnQuaApAQCAtNDcsNyArNDcsNyBAQCBjbGFzcyBTVkdVc2VFbGVtZW50Owog
CiB2b2lkIG1hcEF0dHJpYnV0ZVRvQ1NTUHJvcGVydHkoSGFzaE1hcDxBdG9tU3RyaW5nSW1wbCos
IENTU1Byb3BlcnR5SUQ+KiBwcm9wZXJ0eU5hbWVUb0lkTWFwLCBjb25zdCBRdWFsaWZpZWROYW1l
JiBhdHRyTmFtZSk7CiAKLWNsYXNzIFNWR0VsZW1lbnQgOiBwdWJsaWMgU3R5bGVkRWxlbWVudCwg
cHVibGljIFNWR0xhbmdTcGFjZSwgcHVibGljIFNWR1Byb3BlcnR5T3duZXIgeworY2xhc3MgU1ZH
RWxlbWVudCA6IHB1YmxpYyBTdHlsZWRFbGVtZW50LCBwdWJsaWMgU1ZHTGFuZ1NwYWNlLCBwdWJs
aWMgRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQo
U1ZHRWxlbWVudCk7CiBwdWJsaWM6CiAgICAgYm9vbCBpc091dGVybW9zdFNWR1NWR0VsZW1lbnQo
KSBjb25zdDsKQEAgLTEzNiwxMCArMTM2LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHN5bmNocm9u
aXplQWxsQXR0cmlidXRlcygpOwogICAgIHN0YXRpYyB2b2lkIHN5bmNocm9uaXplQWxsQW5pbWF0
ZWRTVkdBdHRyaWJ1dGUoU1ZHRWxlbWVudCYpOwogCi0gICAgdm9pZCBjb21taXRQcm9wZXJ0eUNo
YW5nZShTVkdQcm9wZXJ0eSopIG92ZXJyaWRlOworICAgIHZvaWQgY29tbWl0UHJvcGVydHlDaGFu
Z2UoRE9NTGl2ZVByb3BlcnR5Kikgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21taXRQcm9wZXJ0eUNo
YW5nZShTVkdBbmltYXRlZFByb3BlcnR5Jik7CiAKLSAgICBjb25zdCBTVkdFbGVtZW50KiBhdHRy
aWJ1dGVDb250ZXh0RWxlbWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRoaXM7IH0KKyAg
ICBjb25zdCBTVkdFbGVtZW50KiBwcm9wZXJ0eVNWR0NvbnRleHRFbGVtZW50KCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gdGhpczsgfQogICAgIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5JiBw
cm9wZXJ0eUFuaW1hdG9yRmFjdG9yeSgpIHsgcmV0dXJuICptX3Byb3BlcnR5QW5pbWF0b3JGYWN0
b3J5OyB9CiAgICAgUmVmUHRyPFNWR0F0dHJpYnV0ZUFuaW1hdG9yPiBjcmVhdGVBbmltYXRvcihj
b25zdCBRdWFsaWZpZWROYW1lJiwgQW5pbWF0aW9uTW9kZSwgQ2FsY01vZGUsIGJvb2wgaXNBY2N1
bXVsYXRlZCwgYm9vbCBpc0FkZGl0aXZlKTsKICAgICB2b2lkIGFuaW1hdG9yV2lsbEJlRGVsZXRl
ZChjb25zdCBRdWFsaWZpZWROYW1lJik7CkBAIC0xOTYsNiArMTk2LDcgQEAgcHJpdmF0ZToKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8U1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk+IG1fcHJvcGVydHlB
bmltYXRvckZhY3Rvcnk7CiAKICAgICBQcm9wZXJ0eVJlZ2lzdHJ5IG1fcHJvcGVydHlSZWdpc3Ry
eSB7ICp0aGlzIH07CisgICAgSGFzaFNldDxRdWFsaWZpZWROYW1lPiBtX2RpcnR5QXR0cmlidXRl
czsKICAgICBSZWY8U1ZHQW5pbWF0ZWRTdHJpbmc+IG1fY2xhc3NOYW1lIHsgU1ZHQW5pbWF0ZWRT
dHJpbmc6OmNyZWF0ZSh0aGlzKSB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0ZpdFRvVmlld0JveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3
Qm94LmNwcAppbmRleCAxZjQ3ZDM2OGU5MDMxZjQ0YTBiZTBmZDI0MzUwYzcyZDE0MWY2NTQ5Li5h
NDQwYzZjMmIzMjlhNjNlMTA5OGY2M2RkODFmOTk3MzA5ZGMyMmE2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHRml0VG9WaWV3Qm94LmNwcApAQCAtMzQsOSArMzQsMTAgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1TVkdGaXRUb1ZpZXdCb3g6OlNWR0ZpdFRvVmlld0JveChTVkdFbGVtZW50KiBj
b250ZXh0RWxlbWVudCwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzKQotICAgIDogbV92aWV3Qm94
KFNWR0FuaW1hdGVkUmVjdDo6Y3JlYXRlKGNvbnRleHRFbGVtZW50LCBhY2Nlc3MpKQotICAgICwg
bV9wcmVzZXJ2ZUFzcGVjdFJhdGlvKFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbzo6Y3Jl
YXRlKGNvbnRleHRFbGVtZW50LCBhY2Nlc3MpKQorU1ZHRml0VG9WaWV3Qm94OjpTVkdGaXRUb1Zp
ZXdCb3goU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQpCisgICAgOiBtX3ZpZXdCb3goU1ZHQW5p
bWF0ZWRSZWN0OjpjcmVhdGUoc3RhdGljX2Nhc3Q8dm9pZCo+KGNvbnRleHRFbGVtZW50KSA9PSB0
aGlzID8gY29udGV4dEVsZW1lbnQgOiBudWxscHRyKSkKKyAgICAsIG1fcHJlc2VydmVBc3BlY3RS
YXRpbyhTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW86OmNyZWF0ZShzdGF0aWNfY2FzdDx2
b2lkKj4oY29udGV4dEVsZW1lbnQpID09IHRoaXMgPyBjb250ZXh0RWxlbWVudCA6IG51bGxwdHIp
KQorICAgICwgbV9jb250ZXh0RWxlbWVudChjb250ZXh0RWxlbWVudCkKIHsKICAgICBzdGF0aWMg
c3RkOjpvbmNlX2ZsYWcgb25jZUZsYWc7CiAgICAgc3RkOjpjYWxsX29uY2Uob25jZUZsYWcsIFtd
IHsKQEAgLTEwNCwyOSArMTA1LDI5IEBAIGJvb2wgU1ZHRml0VG9WaWV3Qm94OjpwYXJzZVZpZXdC
b3goY29uc3QgVUNoYXIqJiBjLCBjb25zdCBVQ2hhciogZW5kLCBGbG9hdFJlY3QmCiAgICAgYm9v
bCB2YWxpZCA9IHBhcnNlTnVtYmVyKGMsIGVuZCwgeCkgJiYgcGFyc2VOdW1iZXIoYywgZW5kLCB5
KSAmJiBwYXJzZU51bWJlcihjLCBlbmQsIHdpZHRoKSAmJiBwYXJzZU51bWJlcihjLCBlbmQsIGhl
aWdodCwgZmFsc2UpOwogCiAgICAgaWYgKHZhbGlkYXRlKSB7Ci0gICAgICAgIERvY3VtZW50JiBk
b2N1bWVudCA9IG1fdmlld0JveC0+Y29udGV4dEVsZW1lbnQoKS0+ZG9jdW1lbnQoKTsKKyAgICAg
ICAgYXV0byYgZG9jdW1lbnRFeHRlbnNpb25zID0gbV9jb250ZXh0RWxlbWVudC0+ZG9jdW1lbnQo
KS5hY2Nlc3NTVkdFeHRlbnNpb25zKCk7CiAKICAgICAgICAgaWYgKCF2YWxpZCkgewotICAgICAg
ICAgICAgZG9jdW1lbnQuYWNjZXNzU1ZHRXh0ZW5zaW9ucygpLnJlcG9ydFdhcm5pbmcoIlByb2Js
ZW0gcGFyc2luZyB2aWV3Qm94PVwiIiArIHN0ciArICJcIiIpOworICAgICAgICAgICAgZG9jdW1l
bnRFeHRlbnNpb25zLnJlcG9ydFdhcm5pbmcoIlByb2JsZW0gcGFyc2luZyB2aWV3Qm94PVwiIiAr
IHN0ciArICJcIiIpOwogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAKICAg
ICAgICAgLy8gQ2hlY2sgdGhhdCB3aWR0aCBpcyBwb3NpdGl2ZS4KICAgICAgICAgaWYgKHdpZHRo
IDwgMC4wKSB7Ci0gICAgICAgICAgICBkb2N1bWVudC5hY2Nlc3NTVkdFeHRlbnNpb25zKCkucmVw
b3J0RXJyb3IoIkEgbmVnYXRpdmUgdmFsdWUgZm9yIFZpZXdCb3ggd2lkdGggaXMgbm90IGFsbG93
ZWQiKTsKKyAgICAgICAgICAgIGRvY3VtZW50RXh0ZW5zaW9ucy5yZXBvcnRFcnJvcigiQSBuZWdh
dGl2ZSB2YWx1ZSBmb3IgVmlld0JveCB3aWR0aCBpcyBub3QgYWxsb3dlZCIpOwogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAKICAgICAgICAgLy8gQ2hlY2sgdGhhdCBoZWln
aHQgaXMgcG9zaXRpdmUuCiAgICAgICAgIGlmIChoZWlnaHQgPCAwLjApIHsKLSAgICAgICAgICAg
IGRvY3VtZW50LmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS5yZXBvcnRFcnJvcigiQSBuZWdhdGl2ZSB2
YWx1ZSBmb3IgVmlld0JveCBoZWlnaHQgaXMgbm90IGFsbG93ZWQiKTsKKyAgICAgICAgICAgIGRv
Y3VtZW50RXh0ZW5zaW9ucy5yZXBvcnRFcnJvcigiQSBuZWdhdGl2ZSB2YWx1ZSBmb3IgVmlld0Jv
eCBoZWlnaHQgaXMgbm90IGFsbG93ZWQiKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICAgICAgfQogCiAgICAgICAgIC8vIE5vdGhpbmcgc2hvdWxkIGNvbWUgYWZ0ZXIgdGhlIGxhc3Qs
IGZvdXJ0aCBudW1iZXIuCiAgICAgICAgIHNraXBPcHRpb25hbFNWR1NwYWNlcyhjLCBlbmQpOwog
ICAgICAgICBpZiAoYyA8IGVuZCkgewotICAgICAgICAgICAgZG9jdW1lbnQuYWNjZXNzU1ZHRXh0
ZW5zaW9ucygpLnJlcG9ydFdhcm5pbmcoIlByb2JsZW0gcGFyc2luZyB2aWV3Qm94PVwiIiArIHN0
ciArICJcIiIpOworICAgICAgICAgICAgZG9jdW1lbnRFeHRlbnNpb25zLnJlcG9ydFdhcm5pbmco
IlByb2JsZW0gcGFyc2luZyB2aWV3Qm94PVwiIiArIHN0ciArICJcIiIpOwogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpdFRvVmll
d0JveC5oCmluZGV4IDkwN2Q2NTVjZDFiMWI5YjM3MmEyMGY4MTg5MjM2MDQyZTIwZjBmZDAuLjU5
NmRmZGMxZDA1NjdhMDQ3ZjViODljYWRhNTg0MDdiYzQ5ZmI0MWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHRml0VG9WaWV3Qm94LmgKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFz
RW1wdHlWaWV3Qm94KCkgY29uc3QgeyByZXR1cm4gbV9pc1ZpZXdCb3hWYWxpZCAmJiB2aWV3Qm94
KCkuaXNFbXB0eSgpOyB9CiAKIHByb3RlY3RlZDoKLSAgICBTVkdGaXRUb1ZpZXdCb3goU1ZHRWxl
bWVudCogY29udGV4dEVsZW1lbnQsIFNWR1Byb3BlcnR5QWNjZXNzID0gU1ZHUHJvcGVydHlBY2Nl
c3M6OlJlYWRXcml0ZSk7CisgICAgU1ZHRml0VG9WaWV3Qm94KFNWR0VsZW1lbnQqIGNvbnRleHRF
bGVtZW50KTsKIAogICAgIHN0YXRpYyBib29sIGlzS25vd25BdHRyaWJ1dGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgeyByZXR1cm4gUHJvcGVydHlSZWdpc3RyeTo6aXNLbm93
bkF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKTsgfQogCkBAIC03MSw2ICs3MSw3IEBAIHByb3RlY3Rl
ZDoKIHByaXZhdGU6CiAgICAgUmVmPFNWR0FuaW1hdGVkUmVjdD4gbV92aWV3Qm94OwogICAgIFJl
ZjxTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8+IG1fcHJlc2VydmVBc3BlY3RSYXRpbzsK
KyAgICBTVkdFbGVtZW50KiBtX2NvbnRleHRFbGVtZW50IHsgbnVsbHB0ciB9OwogICAgIGJvb2wg
bV9pc1ZpZXdCb3hWYWxpZCB7IGZhbHNlIH07CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdH
ZW9tZXRyeUVsZW1lbnQuY3BwCmluZGV4IGIzZDMwMWMwZjBmNzkwOWE1YzliODEyODhiMTcwNTA4
N2E1OTA2ZjguLmMzMmNmYTRmZjM4YTA2ZDQ5NzE2NGY1YjNlMjVkYmYxNTJkMjc3NzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuY3BwCkBAIC0yOCw3ICsyOCw2IEBA
CiAjaW5jbHVkZSAiUmVuZGVyU1ZHU2hhcGUuaCIKICNpbmNsdWRlICJTVkdEb2N1bWVudEV4dGVu
c2lvbnMuaCIKICNpbmNsdWRlICJTVkdQYXRoVXRpbGl0aWVzLmgiCi0jaW5jbHVkZSAiU1ZHUG9p
bnQuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC01NSw3ICs1NCw3IEBAIGZsb2F0IFNWR0dlb21ldHJ5RWxlbWVudDo6Z2V0VG90
YWxMZW5ndGgoKSBjb25zdAogICAgIHJldHVybiByZW5kZXJlci0+Z2V0VG90YWxMZW5ndGgoKTsK
IH0KIAotUmVmPFNWR1BvaW50PiBTVkdHZW9tZXRyeUVsZW1lbnQ6OmdldFBvaW50QXRMZW5ndGgo
ZmxvYXQgZGlzdGFuY2UpIGNvbnN0CitSZWY8RE9NUG9pbnQ+IFNWR0dlb21ldHJ5RWxlbWVudDo6
Z2V0UG9pbnRBdExlbmd0aChmbG9hdCBkaXN0YW5jZSkgY29uc3QKIHsKICAgICBGbG9hdFBvaW50
IHBvaW50IHsgfTsKIApAQCAtNjUsNyArNjQsNyBAQCBSZWY8U1ZHUG9pbnQ+IFNWR0dlb21ldHJ5
RWxlbWVudDo6Z2V0UG9pbnRBdExlbmd0aChmbG9hdCBkaXN0YW5jZSkgY29uc3QKICAgICBpZiAo
cmVuZGVyZXIpCiAgICAgICAgIHJlbmRlcmVyLT5nZXRQb2ludEF0TGVuZ3RoKHBvaW50LCBkaXN0
YW5jZSk7CiAKLSAgICByZXR1cm4gU1ZHUG9pbnQ6OmNyZWF0ZShwb2ludCk7CisgICAgcmV0dXJu
IERPTVBvaW50OjpjcmVhdGUocG9pbnQueCgpLCBwb2ludC55KCkpOwogfQogCiBib29sIFNWR0dl
b21ldHJ5RWxlbWVudDo6aXNQb2ludEluRmlsbChET01Qb2ludEluaXQmJiBwb2ludEluaXQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHR2VvbWV0cnlFbGVtZW50LmgKaW5kZXggNTU1Y2IxOTk0M2MxODUw
NDdjYjM1ZTQwZTM5N2Y2MWIwY2QwNmI2MC4uY2UxYmExNGMwNGY1N2E3Nzc4ZmUwOWE1OWEzYjYz
MGI2ODgyMTFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dlb21ldHJ5RWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9tZXRyeUVsZW1lbnQuaApAQCAt
MjksMTMgKzI5LDEzIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBET01Qb2ludElu
aXQ7Ci1jbGFzcyBTVkdQb2ludDsKK2NsYXNzIERPTVBvaW50OwogCiBjbGFzcyBTVkdHZW9tZXRy
eUVsZW1lbnQgOiBwdWJsaWMgU1ZHR3JhcGhpY3NFbGVtZW50IHsKICAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKFNWR0dlb21ldHJ5RWxlbWVudCk7CiBwdWJsaWM6CiAgICAgdmlydHVhbCBmbG9h
dCBnZXRUb3RhbExlbmd0aCgpIGNvbnN0OwotICAgIHZpcnR1YWwgUmVmPFNWR1BvaW50PiBnZXRQ
b2ludEF0TGVuZ3RoKGZsb2F0IGRpc3RhbmNlKSBjb25zdDsKKyAgICB2aXJ0dWFsIFJlZjxET01Q
b2ludD4gZ2V0UG9pbnRBdExlbmd0aChmbG9hdCBkaXN0YW5jZSkgY29uc3Q7CiAKICAgICBib29s
IGlzUG9pbnRJbkZpbGwoRE9NUG9pbnRJbml0JiYpOwogICAgIGJvb2wgaXNQb2ludEluU3Ryb2tl
KERPTVBvaW50SW5pdCYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdHZW9t
ZXRyeUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5p
ZGwKaW5kZXggNTZkZjZmMTBhZjM0YTI5ZjViOWVlZGNlYTE1NzU1YTNjYzAyZDdmNC4uZDlmZjg2
Mzg4ZDNlMTVmYmUzOGNlMmU4Mjc4ZTBkNTdlODg5OWE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0dlb21ldHJ5RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0dlb21ldHJ5RWxlbWVudC5pZGwKQEAgLTMwLDUgKzMwLDUgQEAgaW50ZXJmYWNlIFNWR0dl
b21ldHJ5RWxlbWVudCA6IFNWR0dyYXBoaWNzRWxlbWVudCB7CiAgICAgYm9vbGVhbiBpc1BvaW50
SW5GaWxsKG9wdGlvbmFsIERPTVBvaW50SW5pdCBwb2ludCk7CiAgICAgYm9vbGVhbiBpc1BvaW50
SW5TdHJva2Uob3B0aW9uYWwgRE9NUG9pbnRJbml0IHBvaW50KTsKICAgICB1bnJlc3RyaWN0ZWQg
ZmxvYXQgZ2V0VG90YWxMZW5ndGgoKTsKLSAgICBbTmV3T2JqZWN0XSBTVkdQb2ludCBnZXRQb2lu
dEF0TGVuZ3RoKGZsb2F0IGRpc3RhbmNlKTsKKyAgICBbTmV3T2JqZWN0XSBET01Qb2ludCBnZXRQ
b2ludEF0TGVuZ3RoKGZsb2F0IGRpc3RhbmNlKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHTGVuZ3RoLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmgKaW5k
ZXggZWQ1MDAzODJjNWZlODM4MWQ0Nzc5NjhiOTA5MzAwZjZiZmM0ZDkyZC4uNjBhNWI1NmU1M2Jh
ZDBhMGJhMDEzYTQ2NDY1N2JhNjFmYTE4ZTZjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0xlbmd0aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGguaApAQCAt
NjIsOSArNjIsOSBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR0xl
bmd0aCh2YWx1ZSkpOwogICAgIH0KIAotICAgIHN0YXRpYyBSZWY8U1ZHTGVuZ3RoPiBjcmVhdGUo
U1ZHUHJvcGVydHlPd25lciogb3duZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcywgY29uc3Qg
U1ZHTGVuZ3RoVmFsdWUmIHZhbHVlID0geyB9KQorICAgIHN0YXRpYyBSZWY8U1ZHTGVuZ3RoPiBj
cmVhdGUoRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyLCBjb25zdCBTVkdMZW5ndGhW
YWx1ZSYgdmFsdWUgPSB7IH0pCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBT
VkdMZW5ndGgob3duZXIsIGFjY2VzcywgdmFsdWUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgU1ZHTGVuZ3RoKG9ic2VydmVyLCB2YWx1ZSkpOwogICAgIH0KIAogICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+CkBAIC04Nyw3ICs4Nyw3IEBAIHB1YmxpYzoKIAogICAgIEV4Y2VwdGlvbk9y
PGZsb2F0PiB2YWx1ZUZvckJpbmRpbmdzKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBtX3ZhbHVl
LnZhbHVlRm9yQmluZGluZ3MoU1ZHTGVuZ3RoQ29udGV4dCB7IGNvbnRleHRFbGVtZW50KCkgfSk7
CisgICAgICAgIHJldHVybiBtX3ZhbHVlLnZhbHVlRm9yQmluZGluZ3MoU1ZHTGVuZ3RoQ29udGV4
dCB7IHN2Z0NvbnRleHRFbGVtZW50KCkgfSk7CiAgICAgfQogCiAgICAgRXhjZXB0aW9uT3I8dm9p
ZD4gc2V0VmFsdWVGb3JCaW5kaW5ncyhmbG9hdCB2YWx1ZSkKQEAgLTk1LDcgKzk1LDcgQEAgcHVi
bGljOgogICAgICAgICBpZiAoaXNSZWFkT25seSgpKQogICAgICAgICAgICAgcmV0dXJuIEV4Y2Vw
dGlvbiB7IE5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yIH07CiAKLSAgICAgICAgYXV0byByZXN1
bHQgPSBtX3ZhbHVlLnNldFZhbHVlKFNWR0xlbmd0aENvbnRleHQgeyBjb250ZXh0RWxlbWVudCgp
IH0sIHZhbHVlKTsKKyAgICAgICAgYXV0byByZXN1bHQgPSBtX3ZhbHVlLnNldFZhbHVlKFNWR0xl
bmd0aENvbnRleHQgeyBzdmdDb250ZXh0RWxlbWVudCgpIH0sIHZhbHVlKTsKICAgICAgICAgaWYg
KHJlc3VsdC5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAg
ICAgIApAQCAtMTUyLDcgKzE1Miw3IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKHVuaXRUeXBlID09
IFNWR19MRU5HVEhUWVBFX1VOS05PV04gfHwgdW5pdFR5cGUgPiBTVkdfTEVOR1RIVFlQRV9QQykK
ICAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBOb3RTdXBwb3J0ZWRFcnJvciB9OwogCi0g
ICAgICAgIGF1dG8gcmVzdWx0ID0gbV92YWx1ZS5jb252ZXJ0VG9TcGVjaWZpZWRVbml0cyhTVkdM
ZW5ndGhDb250ZXh0IHsgY29udGV4dEVsZW1lbnQoKSB9LCBzdGF0aWNfY2FzdDxTVkdMZW5ndGhU
eXBlPih1bml0VHlwZSkpOworICAgICAgICBhdXRvIHJlc3VsdCA9IG1fdmFsdWUuY29udmVydFRv
U3BlY2lmaWVkVW5pdHMoU1ZHTGVuZ3RoQ29udGV4dCB7IHN2Z0NvbnRleHRFbGVtZW50KCkgfSwg
c3RhdGljX2Nhc3Q8U1ZHTGVuZ3RoVHlwZT4odW5pdFR5cGUpKTsKICAgICAgICAgaWYgKHJlc3Vs
dC5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGhMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHTGVuZ3RoTGlzdC5oCmluZGV4IDVlYjU3MDFjNjc0Njg3OTJkMDU2MmMxNWI1MjE2YjQ5
MmMwMjFlZDguLjMyZDU4NzRkMjkzNzI0NmM3MDUyMTM5MTNiMTRmMDQ1NjNmZmRlMzEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMZW5ndGhMaXN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuaApAQCAtNDAsMTQgKzQwLDE0IEBAIHB1YmxpYzoKICAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHTGVuZ3RoTGlzdChsZW5ndGhNb2RlKSk7CiAg
ICAgfQogCi0gICAgc3RhdGljIFJlZjxTVkdMZW5ndGhMaXN0PiBjcmVhdGUoU1ZHUHJvcGVydHlP
d25lciogb3duZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcywgU1ZHTGVuZ3RoTW9kZSBsZW5n
dGhNb2RlKQorICAgIHN0YXRpYyBSZWY8U1ZHTGVuZ3RoTGlzdD4gY3JlYXRlKERPTUxpdmVQcm9w
ZXJ0eU9ic2VydmVyKiBvYnNlcnZlciwgU1ZHTGVuZ3RoTW9kZSBsZW5ndGhNb2RlKQogICAgIHsK
LSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHTGVuZ3RoTGlzdChvd25lciwgYWNjZXNz
LCBsZW5ndGhNb2RlKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR0xlbmd0aExp
c3Qob2JzZXJ2ZXIsIGxlbmd0aE1vZGUpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUmVmPFNWR0xl
bmd0aExpc3Q+IGNyZWF0ZShjb25zdCBTVkdMZW5ndGhMaXN0JiBvdGhlciwgU1ZHUHJvcGVydHlB
Y2Nlc3MgYWNjZXNzKQorICAgIHN0YXRpYyBSZWY8U1ZHTGVuZ3RoTGlzdD4gY3JlYXRlKGNvbnN0
IFNWR0xlbmd0aExpc3QmIG90aGVyKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgU1ZHTGVuZ3RoTGlzdChvdGhlciwgYWNjZXNzKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFNWR0xlbmd0aExpc3Qob3RoZXIpKTsKICAgICB9CiAKICAgICBTVkdMZW5ndGhNb2Rl
IGxlbmd0aE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aE1vZGU7IH0KQEAgLTg2LDcgKzg2
LDcgQEAgcHVibGljOgogICAgICAgICAgICAgaWYgKGJ1aWxkZXIubGVuZ3RoKCkpCiAgICAgICAg
ICAgICAgICAgYnVpbGRlci5hcHBlbmQoJyAnKTsKIAotICAgICAgICAgICAgYnVpbGRlci5hcHBl
bmQobGVuZ3RoLT52YWx1ZSgpLnZhbHVlQXNTdHJpbmcoKSk7CisgICAgICAgICAgICBidWlsZGVy
LmFwcGVuZChsZW5ndGgtPnZhbHVlQXNTdHJpbmcoKSk7CiAgICAgICAgIH0KIAogICAgICAgICBy
ZXR1cm4gYnVpbGRlci50b1N0cmluZygpOwpAQCAtOTgsMTQgKzk4LDE0IEBAIHByaXZhdGU6CiAg
ICAgewogICAgIH0KIAotICAgIFNWR0xlbmd0aExpc3QoU1ZHUHJvcGVydHlPd25lciogb3duZXIs
IFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcywgU1ZHTGVuZ3RoTW9kZSBsZW5ndGhNb2RlKQotICAg
ICAgICA6IEJhc2Uob3duZXIsIGFjY2VzcykKKyAgICBTVkdMZW5ndGhMaXN0KERPTUxpdmVQcm9w
ZXJ0eU9ic2VydmVyKiBvYnNlcnZlciwgU1ZHTGVuZ3RoTW9kZSBsZW5ndGhNb2RlKQorICAgICAg
ICA6IEJhc2Uob2JzZXJ2ZXIpCiAgICAgICAgICwgbV9sZW5ndGhNb2RlKGxlbmd0aE1vZGUpCiAg
ICAgewogICAgIH0KIAotICAgIFNWR0xlbmd0aExpc3QoY29uc3QgU1ZHTGVuZ3RoTGlzdCYgb3Ro
ZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcykKLSAgICAgICAgOiBCYXNlKG90aGVyLCBhY2Nl
c3MpCisgICAgU1ZHTGVuZ3RoTGlzdChjb25zdCBTVkdMZW5ndGhMaXN0JiBvdGhlcikKKyAgICAg
ICAgOiBCYXNlKG90aGVyKQogICAgICAgICAsIG1fbGVuZ3RoTW9kZShvdGhlci5sZW5ndGhNb2Rl
KCkpCiAgICAgewogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXRy
aXguaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXRyaXguaAppbmRleCBkOGMzN2RjYjI2ZGJl
NDUxOGFjOTFmZDJlMWM3NWU5NDJjMWQyMjc2Li5mMDAzOGM0YzA3ZTBhZmM1ZTdiOWYyYmJiZDU4
MGY4YWRhZGEyNzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTWF0cml4LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hdHJpeC5oCkBAIC00Miw5ICs0Miw5IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHTWF0cml4KHZhbHVlKSk7CiAg
ICAgfQogCi0gICAgc3RhdGljIFJlZjxTVkdNYXRyaXg+IGNyZWF0ZShTVkdQcm9wZXJ0eU93bmVy
KiBvd25lciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0m
IHZhbHVlID0geyB9KQorICAgIHN0YXRpYyBSZWY8U1ZHTWF0cml4PiBjcmVhdGUoRE9NTGl2ZVBy
b3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHZhbHVlID0g
eyB9KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHTWF0cml4KG93bmVy
LCBhY2Nlc3MsIHZhbHVlKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR01hdHJp
eChvYnNlcnZlciwgdmFsdWUpKTsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR051bWJlci5oIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR051bWJlci5oCmluZGV4IDIzYzgyZTQ0ZTY3N2Q4ZDM2MGM5NjE1NGM3OTVkYWI4
Nzc2YTFmYTQuLjU5OGEwZjU5NjE5OTJhNGI3OWY3MDg5ZTQ0ODliNjM1NjMyMWVkYzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdOdW1iZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHTnVtYmVyLmgKQEAgLTQwLDkgKzQwLDkgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBTVkdOdW1iZXIodmFsdWUpKTsKICAgICB9CiAKLSAgICBzdGF0aWMg
UmVmPFNWR051bWJlcj4gY3JlYXRlKFNWR1Byb3BlcnR5T3duZXIqIG93bmVyLCBTVkdQcm9wZXJ0
eUFjY2VzcyBhY2Nlc3MsIGZsb2F0IHZhbHVlID0gMCkKKyAgICBzdGF0aWMgUmVmPFNWR051bWJl
cj4gY3JlYXRlKERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZlciwgZmxvYXQgdmFsdWUg
PSAwKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHTnVtYmVyKG93bmVy
LCBhY2Nlc3MsIHZhbHVlKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR051bWJl
cihvYnNlcnZlciwgdmFsdWUpKTsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR051bWJlckxpc3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdOdW1iZXJMaXN0LmgKaW5kZXggNWI1ZDU3ZTg0NmY0MzFhYWY1YzA4ZGJj
OWE0YzM0YWJlODRkNmQxZi4uNjgxYjRkY2VmOGNlYzkzNTExYmUwNTkyMDU0Y2YwODFlOTAzNzc1
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR051bWJlckxpc3QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHTnVtYmVyTGlzdC5oCkBAIC00MCwxNCArNDAsMTQgQEAgcHVi
bGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdOdW1iZXJMaXN0KCkpOwogICAg
IH0KIAotICAgIHN0YXRpYyBSZWY8U1ZHTnVtYmVyTGlzdD4gY3JlYXRlKFNWR1Byb3BlcnR5T3du
ZXIqIG93bmVyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MpCisgICAgc3RhdGljIFJlZjxTVkdO
dW1iZXJMaXN0PiBjcmVhdGUoRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyKQogICAg
IHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHTnVtYmVyTGlzdChvd25lciwgYWNj
ZXNzKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR051bWJlckxpc3Qob2JzZXJ2
ZXIpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUmVmPFNWR051bWJlckxpc3Q+IGNyZWF0ZShjb25z
dCBTVkdOdW1iZXJMaXN0JiBvdGhlciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzKQorICAgIHN0
YXRpYyBSZWY8U1ZHTnVtYmVyTGlzdD4gY3JlYXRlKGNvbnN0IFNWR051bWJlckxpc3QmIG90aGVy
KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHTnVtYmVyTGlzdChvdGhl
ciwgYWNjZXNzKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR051bWJlckxpc3Qo
b3RoZXIpKTsKICAgICB9CiAKICAgICBib29sIHBhcnNlKGNvbnN0IFN0cmluZyYgdmFsdWUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcAppbmRleCA2YmExNDQwZDc1MjE4ZGZlNDlk
YWVjNGI1ZWRhNzg0MTEwNWUxYWE4Li5iNDc1NWQ0MmI0YzM4Mjc0M2E4ZDY0OGFlNzRlNDYzOTVj
NDMwNTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAKQEAgLTIyLDEzICsy
MiwxMyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNWR1BhdGhFbGVtZW50Lmgi
CiAKKyNpbmNsdWRlICJET01Qb2ludC5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1BhdGguaCIKICNp
bmNsdWRlICJSZW5kZXJTVkdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIlNWR0RvY3VtZW50RXh0ZW5z
aW9ucy5oIgogI2luY2x1ZGUgIlNWR01QYXRoRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR05hbWVz
LmgiCiAjaW5jbHVkZSAiU1ZHUGF0aFV0aWxpdGllcy5oIgotI2luY2x1ZGUgIlNWR1BvaW50Lmgi
CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtMTE0LDExICsxMTQsMTEgQEAgZmxvYXQgU1ZHUGF0aEVsZW1lbnQ6OmdldFRvdGFsTGVu
Z3RoKCkgY29uc3QKICAgICByZXR1cm4gdG90YWxMZW5ndGg7CiB9CiAKLVJlZjxTVkdQb2ludD4g
U1ZHUGF0aEVsZW1lbnQ6OmdldFBvaW50QXRMZW5ndGgoZmxvYXQgbGVuZ3RoKSBjb25zdAorUmVm
PERPTVBvaW50PiBTVkdQYXRoRWxlbWVudDo6Z2V0UG9pbnRBdExlbmd0aChmbG9hdCBsZW5ndGgp
IGNvbnN0CiB7CiAgICAgRmxvYXRQb2ludCBwb2ludDsKICAgICBnZXRQb2ludEF0TGVuZ3RoT2ZT
VkdQYXRoQnl0ZVN0cmVhbShwYXRoQnl0ZVN0cmVhbSgpLCBsZW5ndGgsIHBvaW50KTsKLSAgICBy
ZXR1cm4gU1ZHUG9pbnQ6OmNyZWF0ZShwb2ludCk7CisgICAgcmV0dXJuIERPTVBvaW50OjpjcmVh
dGUocG9pbnQueCgpLCBwb2ludC55KCkpOwogfQogCiB1bnNpZ25lZCBTVkdQYXRoRWxlbWVudDo6
Z2V0UGF0aFNlZ0F0TGVuZ3RoKGZsb2F0IGxlbmd0aCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1Bh
dGhFbGVtZW50LmgKaW5kZXggM2E1OTc3M2EwM2QzMGU3NzdlYjMzYjUwYzM5ZDEwOWZmNWI4NWFj
OC4uNzc5ZmRmMmY5NjMyNDk4NmJhNTg2N2I2ZWIxOTgwZDQ3ODBiNDAwZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1BhdGhFbGVtZW50LmgKQEAgLTMwLDggKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCitjbGFzcyBET01Qb2ludDsKIGNsYXNzIFNWR1BhdGhTZWdMaXN0OwotY2xhc3MgU1ZH
UG9pbnQ7CiAKIGNsYXNzIFNWR1BhdGhFbGVtZW50IGZpbmFsIDogcHVibGljIFNWR0dlb21ldHJ5
RWxlbWVudCwgcHVibGljIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQgewogICAgIFdURl9N
QUtFX0lTT19BTExPQ0FURUQoU1ZHUGF0aEVsZW1lbnQpOwpAQCAtODksNyArODksNyBAQCBwdWJs
aWM6CiAgICAgfQogCiAgICAgZmxvYXQgZ2V0VG90YWxMZW5ndGgoKSBjb25zdCBmaW5hbDsKLSAg
ICBSZWY8U1ZHUG9pbnQ+IGdldFBvaW50QXRMZW5ndGgoZmxvYXQgZGlzdGFuY2UpIGNvbnN0IGZp
bmFsOworICAgIFJlZjxET01Qb2ludD4gZ2V0UG9pbnRBdExlbmd0aChmbG9hdCBkaXN0YW5jZSkg
Y29uc3QgZmluYWw7CiAgICAgdW5zaWduZWQgZ2V0UGF0aFNlZ0F0TGVuZ3RoKGZsb2F0IGRpc3Rh
bmNlKSBjb25zdDsKIAogICAgIEZsb2F0UmVjdCBnZXRCQm94KFN0eWxlVXBkYXRlU3RyYXRlZ3kg
PSBBbGxvd1N0eWxlVXBkYXRlKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdQYXRoU2VnTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaXN0LmgK
aW5kZXggOTRmNmYzOWU0ZTFmMWI2NzQ0MzNjYTI1MDE1MzgxOGY0ZjYyZmU0Mi4uZTY2ZjhhMGE3
YjBjMDBlNmI2NDQwM2E1MDNjYWZiMTU0MTIxNDE1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1BhdGhTZWdMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhdGhT
ZWdMaXN0LmgKQEAgLTM2LDE0ICszNiwxNCBAQCBjbGFzcyBTVkdQYXRoU2VnTGlzdCBmaW5hbCA6
IHB1YmxpYyBTVkdQcm9wZXJ0eUxpc3Q8U1ZHUGF0aFNlZz4gewogICAgIHVzaW5nIEJhc2U6OkJh
c2U7CiAKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFNWR1BhdGhTZWdMaXN0PiBjcmVhdGUoU1ZH
UHJvcGVydHlPd25lciogb3duZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcykKKyAgICBzdGF0
aWMgUmVmPFNWR1BhdGhTZWdMaXN0PiBjcmVhdGUoRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9i
c2VydmVyKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUGF0aFNlZ0xp
c3Qob3duZXIsIGFjY2VzcykpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdQYXRo
U2VnTGlzdChvYnNlcnZlcikpOwogICAgIH0KIAotICAgIHN0YXRpYyBSZWY8U1ZHUGF0aFNlZ0xp
c3Q+IGNyZWF0ZShjb25zdCBTVkdQYXRoU2VnTGlzdCYgb3RoZXIsIFNWR1Byb3BlcnR5QWNjZXNz
IGFjY2VzcykKKyAgICBzdGF0aWMgUmVmPFNWR1BhdGhTZWdMaXN0PiBjcmVhdGUoY29uc3QgU1ZH
UGF0aFNlZ0xpc3QmIG90aGVyKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U1ZHUGF0aFNlZ0xpc3Qob3RoZXIsIGFjY2VzcykpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBTVkdQYXRoU2VnTGlzdChvdGhlcikpOwogICAgIH0KIAogICAgIHN0YXRpYyBSZWY8U1ZH
UGF0aFNlZ0xpc3Q+IGNyZWF0ZShSZWY8U1ZHUGF0aFNlZz4mJiBuZXdJdGVtKQpAQCAtMTU5LDgg
KzE1OSw4IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgU1ZHUGF0aFNlZ0xpc3Qo
Y29uc3QgU1ZHUGF0aFNlZ0xpc3QmIG90aGVyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MpCi0g
ICAgICAgIDogQmFzZShvdGhlci5vd25lcigpLCBhY2Nlc3MpCisgICAgU1ZHUGF0aFNlZ0xpc3Qo
Y29uc3QgU1ZHUGF0aFNlZ0xpc3QmIG90aGVyKQorICAgICAgICA6IEJhc2Uob3RoZXIub2JzZXJ2
ZXIoKSkKICAgICAgICAgLCBtX3BhdGhCeXRlU3RyZWFtKG90aGVyLnBhdGhCeXRlU3RyZWFtKCkp
CiAgICAgewogICAgIH0KQEAgLTE3Miw3ICsxNzIsNyBAQCBwcml2YXRlOgogICAgIH0KIAogICAg
IC8vIENhbGxlZCB3aGVuIGNoYW5naW5nIGFuIGl0ZW0gaW4gdGhlIGxpc3QuCi0gICAgdm9pZCBj
b21taXRQcm9wZXJ0eUNoYW5nZShTVkdQcm9wZXJ0eSogcHJvcGVydHkpIG92ZXJyaWRlCisgICAg
dm9pZCBjb21taXRQcm9wZXJ0eUNoYW5nZShET01MaXZlUHJvcGVydHkqIHByb3BlcnR5KSBvdmVy
cmlkZQogICAgIHsKICAgICAgICAgaXRlbXNXaWxsQ2hhbmdlKCk7CiAgICAgICAgIEJhc2U6OmNv
bW1pdFByb3BlcnR5Q2hhbmdlKHByb3BlcnR5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdQb2ludC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50LmgKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc3NDQ1YjlmY2IxZmI0MGI1MTM5NmUxOTJlNzM0NTg2YzYz
NTRiNTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50LmgKKysrIC9kZXYvbnVsbApAQCAtMSw5OCArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDEzIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTgtMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSAiRmxv
YXRQb2ludC5oIgotI2luY2x1ZGUgIlNWR01hdHJpeC5oIgotI2luY2x1ZGUgIlNWR1Byb3BlcnR5
VHJhaXRzLmgiCi0jaW5jbHVkZSAiU1ZHVmFsdWVQcm9wZXJ0eS5oIgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLWNsYXNzIFNWR1BvaW50IDogcHVibGljIFNWR1ZhbHVlUHJvcGVydHk8RmxvYXRQ
b2ludD4gewotICAgIHVzaW5nIEJhc2UgPSBTVkdWYWx1ZVByb3BlcnR5PEZsb2F0UG9pbnQ+Owot
ICAgIHVzaW5nIEJhc2U6OkJhc2U7Ci0gICAgdXNpbmcgQmFzZTo6bV92YWx1ZTsKLQotcHVibGlj
OgotICAgIHN0YXRpYyBSZWY8U1ZHUG9pbnQ+IGNyZWF0ZShjb25zdCBGbG9hdFBvaW50JiB2YWx1
ZSA9IHsgfSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1BvaW50KHZh
bHVlKSk7Ci0gICAgfQotCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICBzdGF0aWMgRXhj
ZXB0aW9uT3I8UmVmPFNWR1BvaW50Pj4gY3JlYXRlKEV4Y2VwdGlvbk9yPFQ+JiYgdmFsdWUpCi0g
ICAgewotICAgICAgICBpZiAodmFsdWUuaGFzRXhjZXB0aW9uKCkpCi0gICAgICAgICAgICByZXR1
cm4gdmFsdWUucmVsZWFzZUV4Y2VwdGlvbigpOwotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBTVkdQb2ludCh2YWx1ZS5yZWxlYXNlUmV0dXJuVmFsdWUoKSkpOwotICAgIH0KLQotICAgIFJl
ZjxTVkdQb2ludD4gY2xvbmUoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIFNWR1BvaW50
OjpjcmVhdGUobV92YWx1ZSk7Ci0gICAgfQotICAgIAotICAgIGZsb2F0IHgoKSB7IHJldHVybiBt
X3ZhbHVlLngoKTsgfQotCi0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0WChmbG9hdCB4KQotICAg
IHsKLSAgICAgICAgaWYgKGlzUmVhZE9ubHkoKSkKLSAgICAgICAgICAgIHJldHVybiBFeGNlcHRp
b24geyBOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvciB9OwotCi0gICAgICAgIG1fdmFsdWUuc2V0
WCh4KTsKLSAgICAgICAgY29tbWl0Q2hhbmdlKCk7Ci0KLSAgICAgICAgcmV0dXJuIHsgfTsKLSAg
ICB9Ci0KLSAgICBmbG9hdCB5KCkgeyByZXR1cm4gbV92YWx1ZS55KCk7IH0KLQotICAgIEV4Y2Vw
dGlvbk9yPHZvaWQ+IHNldFkoZmxvYXQgeSkKLSAgICB7Ci0gICAgICAgIGlmIChpc1JlYWRPbmx5
KCkpCi0gICAgICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm9Nb2RpZmljYXRpb25BbGxvd2Vk
RXJyb3IgfTsKLQotICAgICAgICBtX3ZhbHVlLnNldFkoeSk7Ci0gICAgICAgIGNvbW1pdENoYW5n
ZSgpOwotICAgICAgICByZXR1cm4geyB9OwotICAgIH0KLQotICAgIFJlZjxTVkdQb2ludD4gbWF0
cml4VHJhbnNmb3JtKFNWR01hdHJpeCYgbWF0cml4KSBjb25zdAotICAgIHsKLSAgICAgICAgYXV0
byBuZXdQb2ludCA9IG1fdmFsdWUubWF0cml4VHJhbnNmb3JtKG1hdHJpeC52YWx1ZSgpKTsKLSAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUG9pbnQobmV3UG9pbnQpKTsKLSAgICB9Ci0K
LXByaXZhdGU6Ci0gICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoKSBjb25zdCBvdmVycmlkZQotICAg
IHsKLSAgICAgICAgcmV0dXJuIFNWR1Byb3BlcnR5VHJhaXRzPEZsb2F0UG9pbnQ+Ojp0b1N0cmlu
ZyhtX3ZhbHVlKTsKLSAgICB9Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1BvaW50LmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWQ4MjI0OTBkYmJl
MjIxOGEyNTFhYThiMWM5YmE2YTk3MzEzZGQ2NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnQuaWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAw
NSBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KLSAqIENvcHlyaWdodCAo
QykgMjAwNCwgMjAwNSBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgotICogQ29weXJpZ2h0IChDKSAy
MDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgotICogQ29weXJpZ2h0IChD
KSAyMDA2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgot
ICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAot
ICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKi8KLQotWwotICAgIFNraXBWVGFibGVW
YWxpZGF0aW9uCi1dIGludGVyZmFjZSBTVkdQb2ludCB7Ci0gICAgYXR0cmlidXRlIHVucmVzdHJp
Y3RlZCBmbG9hdCB4OwotICAgIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZmxvYXQgeTsKLQotICAg
IFtOZXdPYmplY3RdIFNWR1BvaW50IG1hdHJpeFRyYW5zZm9ybShTVkdNYXRyaXggbWF0cml4KTsK
LX07Ci0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2ludExpc3QuaCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2ludExpc3QuaAppbmRleCA4YzZjNTBiMGUzYmFjZTUzNmFl
NTBlYmIyOGMxYjQ2ZTE1NzQ5ZTgxLi44ZDQxOTNlNmI0ZWYwNTRlZjZjNGQ1NWNiNDU3ZmNkMDUw
NmY5ZDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUG9pbnRMaXN0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BvaW50TGlzdC5oCkBAIC0yNSwxMyArMjUsMTMgQEAK
IAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJTVkdQb2ludC5oIgotI2luY2x1ZGUgIlNWR1Zh
bHVlUHJvcGVydHlMaXN0LmgiCisjaW5jbHVkZSAiRE9NUG9pbnQuaCIKKyNpbmNsdWRlICJTVkdQ
cm9wZXJ0eUxpc3QuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdQb2ludExp
c3QgOiBwdWJsaWMgU1ZHVmFsdWVQcm9wZXJ0eUxpc3Q8U1ZHUG9pbnQ+IHsKLSAgICB1c2luZyBC
YXNlID0gU1ZHVmFsdWVQcm9wZXJ0eUxpc3Q8U1ZHUG9pbnQ+OworY2xhc3MgU1ZHUG9pbnRMaXN0
IDogcHVibGljIFNWR1Byb3BlcnR5TGlzdDxET01Qb2ludD4geworICAgIHVzaW5nIEJhc2UgPSBT
VkdQcm9wZXJ0eUxpc3Q8RE9NUG9pbnQ+OwogICAgIHVzaW5nIEJhc2U6OkJhc2U7CiAKIHB1Ymxp
YzoKQEAgLTQwLDE0ICs0MCwzMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFNWR1BvaW50TGlzdCgpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUmVmPFNWR1BvaW50TGlz
dD4gY3JlYXRlKFNWR1Byb3BlcnR5T3duZXIqIG93bmVyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nl
c3MpCisgICAgc3RhdGljIFJlZjxTVkdQb2ludExpc3Q+IGNyZWF0ZShET01MaXZlUHJvcGVydHlP
YnNlcnZlciogb2JzZXJ2ZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBT
VkdQb2ludExpc3Qob3duZXIsIGFjY2VzcykpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBTVkdQb2ludExpc3Qob2JzZXJ2ZXIpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUmVmPFNWR1Bv
aW50TGlzdD4gY3JlYXRlKGNvbnN0IFNWR1BvaW50TGlzdCYgb3RoZXIsIFNWR1Byb3BlcnR5QWNj
ZXNzIGFjY2VzcykKKyAgICBzdGF0aWMgUmVmPFNWR1BvaW50TGlzdD4gY3JlYXRlKGNvbnN0IFNW
R1BvaW50TGlzdCYgb3RoZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBT
VkdQb2ludExpc3Qob3RoZXIsIGFjY2VzcykpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBTVkdQb2ludExpc3Qob3RoZXIpKTsKKyAgICB9CisgICAgCisgICAgU1ZHUG9pbnRMaXN0JiBv
cGVyYXRvcj0oY29uc3QgU1ZHUG9pbnRMaXN0JiBvdGhlcikKKyAgICB7CisgICAgICAgIGNsZWFy
SXRlbXMoKTsKKyAgICAgICAgY29weUl0ZW1zKG90aGVyKTsKKyAgICAgICAgcmV0dXJuICp0aGlz
OworICAgIH0KKyAgICAKKyAgICB2b2lkIHJlc2l6ZShzaXplX3QgbmV3U2l6ZSkKKyAgICB7Cisg
ICAgICAgIC8vIEFkZCBuZXcgaXRlbXMuCisgICAgICAgIHdoaWxlIChzaXplKCkgPCBuZXdTaXpl
KQorICAgICAgICAgICAgYXBwZW5kKERPTVBvaW50OjpjcmVhdGUoMCwgMCkpOworCisgICAgICAg
IC8vIFJlbW92ZSBleGlzdGluZyBpdGVtcy4KKyAgICAgICAgd2hpbGUgKHNpemUoKSA+IG5ld1Np
emUpCisgICAgICAgICAgICByZW1vdmUoc2l6ZSgpIC0gMSk7CiAgICAgfQogCiAgICAgYm9vbCBw
YXJzZShjb25zdCBTdHJpbmcmIHZhbHVlKQpAQCAtNzksNyArOTcsNyBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICBza2lwT3B0aW9uYWxTVkdTcGFjZXMoY3VyLCBlbmQpOwog
Ci0gICAgICAgICAgICBhcHBlbmQoU1ZHUG9pbnQ6OmNyZWF0ZSh7IHhQb3MsIHlQb3MgfSkpOwor
ICAgICAgICAgICAgYXBwZW5kKERPTVBvaW50OjpjcmVhdGUoeFBvcywgeVBvcykpOwogICAgICAg
ICB9CiAKICAgICAgICAgcmV0dXJuICFkZWxpbVBhcnNlZDsKQEAgLTEwMCw2ICsxMTgsMTkgQEAg
cHVibGljOgogCiAgICAgICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CiAgICAgfQorICAg
IAorcHJpdmF0ZToKKyAgICBTVkdQb2ludExpc3QoY29uc3QgU1ZHUG9pbnRMaXN0JiBvdGhlcikK
KyAgICAgICAgOiBCYXNlKG90aGVyLm9ic2VydmVyKCkpCisgICAgeworICAgICAgICBjb3B5SXRl
bXMob3RoZXIpOworICAgIH0KKworICAgIHZvaWQgY29weUl0ZW1zKGNvbnN0IFNWR1BvaW50TGlz
dCYgb3RoZXIpCisgICAgeworICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGl0ZW0gOiBvdGhlci5p
dGVtcygpKQorICAgICAgICAgICAgYXBwZW5kKERPTVBvaW50OjpjcmVhdGUoaXRlbS0+eCgpLCBp
dGVtLT55KCkpKTsKKyAgICB9CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHUG9pbnRMaXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2ludExpc3QuaWRs
CmluZGV4IGVkMGQ0ZTQyNDRlZDFkNmUwODhmMzAwMzBhOWE1NThjNWYzYTkwOTguLjIyOWEyMWFl
Y2JiN2EwODEwNWRlZWE3Y2U1N2JiMDc2ODUxN2YyNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdQb2ludExpc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQb2lu
dExpc3QuaWRsCkBAIC0yOCwxMSArMjgsMTEgQEAgaW50ZXJmYWNlIFNWR1BvaW50TGlzdCB7CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZJdGVtczsKIAogICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBjbGVhcigpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlv
bl0gU1ZHUG9pbnQgaW5pdGlhbGl6ZShTVkdQb2ludCBuZXdJdGVtKTsKLSAgICBbTWF5VGhyb3dF
eGNlcHRpb25dIGdldHRlciBTVkdQb2ludCBnZXRJdGVtKHVuc2lnbmVkIGxvbmcgaW5kZXgpOwot
ICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gU1ZHUG9pbnQgaW5zZXJ0SXRlbUJlZm9yZShTVkdQb2lu
dCBuZXdJdGVtLCB1bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IFNWR1BvaW50IHJlcGxhY2VJdGVtKFNWR1BvaW50IG5ld0l0ZW0sIHVuc2lnbmVkIGxvbmcgaW5k
ZXgpOwotICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gU1ZHUG9pbnQgcmVtb3ZlSXRlbSh1bnNpZ25l
ZCBsb25nIGluZGV4KTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb25dIFNWR1BvaW50IGFwcGVuZEl0
ZW0oU1ZHUG9pbnQgbmV3SXRlbSk7Ci0gICAgW01heVRocm93RXhjZXB0aW9uXSBzZXR0ZXIgdm9p
ZCAodW5zaWduZWQgbG9uZyBpbmRleCwgU1ZHUG9pbnQgbmV3SXRlbSk7CisgICAgW01heVRocm93
RXhjZXB0aW9uXSBET01Qb2ludCBpbml0aWFsaXplKERPTVBvaW50IG5ld0l0ZW0pOworICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gZ2V0dGVyIERPTVBvaW50IGdldEl0ZW0odW5zaWduZWQgbG9uZyBp
bmRleCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBET01Qb2ludCBpbnNlcnRJdGVtQmVmb3Jl
KERPTVBvaW50IG5ld0l0ZW0sIHVuc2lnbmVkIGxvbmcgaW5kZXgpOworICAgIFtNYXlUaHJvd0V4
Y2VwdGlvbl0gRE9NUG9pbnQgcmVwbGFjZUl0ZW0oRE9NUG9pbnQgbmV3SXRlbSwgdW5zaWduZWQg
bG9uZyBpbmRleCk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBET01Qb2ludCByZW1vdmVJdGVt
KHVuc2lnbmVkIGxvbmcgaW5kZXgpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gRE9NUG9pbnQg
YXBwZW5kSXRlbShET01Qb2ludCBuZXdJdGVtKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHNl
dHRlciB2b2lkICh1bnNpZ25lZCBsb25nIGluZGV4LCBET01Qb2ludCBuZXdJdGVtKTsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5oIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaAppbmRleCAyNzE3YWJl
YmUxMDE5YWFhMGYzYWY3NjFlYjM1MWY5MTdiNzhhZGQ2Li44MzU0OTNlNzk0YzFlOGYyNWQ4OTQ3
YjM4ZGRhMjRjNjA5YmY0NmMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUHJl
c2VydmVBc3BlY3RSYXRpby5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvLmgKQEAgLTM2LDkgKzM2LDkgQEAgY2xhc3MgU1ZHUHJlc2VydmVBc3BlY3RSYXRp
byA6IHB1YmxpYyBTVkdWYWx1ZVByb3BlcnR5PFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWwKICAg
ICB1c2luZyBCYXNlOjptX3ZhbHVlOwogCiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxTVkdQcmVz
ZXJ2ZUFzcGVjdFJhdGlvPiBjcmVhdGUoU1ZHUHJvcGVydHlPd25lciogb3duZXIsIFNWR1Byb3Bl
cnR5QWNjZXNzIGFjY2VzcywgY29uc3QgU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1ZhbHVlJiB2YWx1
ZSA9IHsgfSkKKyAgICBzdGF0aWMgUmVmPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8+IGNyZWF0ZShE
T01MaXZlUHJvcGVydHlPYnNlcnZlciogb2JzZXJ2ZXIsIGNvbnN0IFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW9WYWx1ZSYgdmFsdWUgPSB7IH0pCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKG93bmVyLCBhY2Nlc3MsIHZhbHVlKSk7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8ob2JzZXJ2ZXIs
IHZhbHVlKSk7CiAgICAgfQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWUuaAppbmRleCA0MTViODcy
M2Y4ZDMwODY0YzFiM2ZkNzg4Y2MzYjk4OWJhZDdlZjljLi41OWM4MzcxMjNmMjFkYjI2MWZmZTc4
MTY5YWQwODJiMmEzZjZlOThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUHJl
c2VydmVBc3BlY3RSYXRpb1ZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ByZXNl
cnZlQXNwZWN0UmF0aW9WYWx1ZS5oCkBAIC03NiwxMSArNzYsNCBAQCBwcml2YXRlOgogICAgIGJv
b2wgcGFyc2VJbnRlcm5hbChjb25zdCBVQ2hhciomIGN1cnJQYXJhbSwgY29uc3QgVUNoYXIqIGVu
ZCwgYm9vbCB2YWxpZGF0ZSk7CiB9OwogCi10ZW1wbGF0ZTw+IHN0cnVjdCBTVkdQcm9wZXJ0eVRy
YWl0czxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVmFsdWU+IHsKLSAgICBzdGF0aWMgU1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpb1ZhbHVlIGluaXRpYWxWYWx1ZSgpIHsgcmV0dXJuIFNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW9WYWx1ZSgpOyB9Ci0gICAgc3RhdGljIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1
ZSBmcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKSB7IHJldHVybiBTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvVmFsdWUoc3RyaW5nKTsgfQotICAgIHN0YXRpYyBPcHRpb25hbDxTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvVmFsdWU+IHBhcnNlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBTdHJp
bmcmKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gaW5pdGlhbFZhbHVlKCk7IH0KLSAg
ICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5nKGNvbnN0IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW9WYWx1
ZSYgdHlwZSkgeyByZXR1cm4gdHlwZS52YWx1ZUFzU3RyaW5nKCk7IH0KLX07Ci0KIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZWN0Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUmVjdC5oCmluZGV4IDkwMDE4ZTE4NmIxOTJhYzNiZTZm
MDU1MGRmODExNjI3ZmJkN2U5ZjIuLmJhZTc3YmZlZjAyMTk1MTNlZWYwMDk5NjliMzNjMmZhZGNm
MzkzZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdSZWN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1JlY3QuaApAQCAtMzYsOSArMzYsOSBAQCBwdWJsaWM6CiAgICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1JlY3QodmFsdWUpKTsKICAgICB9CiAKLSAgICBz
dGF0aWMgUmVmPFNWR1JlY3Q+IGNyZWF0ZShTVkdQcm9wZXJ0eU93bmVyKiBvd25lciwgU1ZHUHJv
cGVydHlBY2Nlc3MgYWNjZXNzLCBjb25zdCBGbG9hdFJlY3QmIHZhbHVlID0geyB9KQorICAgIHN0
YXRpYyBSZWY8U1ZHUmVjdD4gY3JlYXRlKERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZl
ciwgY29uc3QgRmxvYXRSZWN0JiB2YWx1ZSA9IHsgfSkKICAgICB7Ci0gICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFNWR1JlY3Qob3duZXIsIGFjY2VzcywgdmFsdWUpKTsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgU1ZHUmVjdChvYnNlcnZlciwgdmFsdWUpKTsKICAgICB9CiAKICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1NWR0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCmlu
ZGV4IDQ3ZjBjM2MzY2QwYTgyYjFjMDE3M2MyYjI3NmRkMzA2M2YwMGFhMjEuLmZiZGI4ZTg5ODMw
NWZiODFkN2FmM2Y0MmM5ZmMzZjc5OWRjMzQyOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdTVkdFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxl
bWVudC5jcHAKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlICJTVkdTVkdFbGVtZW50LmgiCiAK
ICNpbmNsdWRlICJDU1NIZWxwZXIuaCIKKyNpbmNsdWRlICJET01Qb2ludC5oIgogI2luY2x1ZGUg
IkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUgIkVsZW1lbnRJdGVyYXRvci5oIgogI2luY2x1
ZGUgIkV2ZW50TmFtZXMuaCIKQEAgLTM5LDcgKzQwLDYgQEAKICNpbmNsdWRlICJTVkdMZW5ndGgu
aCIKICNpbmNsdWRlICJTVkdNYXRyaXguaCIKICNpbmNsdWRlICJTVkdOdW1iZXIuaCIKLSNpbmNs
dWRlICJTVkdQb2ludC5oIgogI2luY2x1ZGUgIlNWR1JlY3QuaCIKICNpbmNsdWRlICJTVkdUcmFu
c2Zvcm0uaCIKICNpbmNsdWRlICJTVkdWaWV3RWxlbWVudC5oIgpAQCAtMTc5LDkgKzE3OSwxMCBA
QCB2b2lkIFNWR1NWR0VsZW1lbnQ6OnNldEN1cnJlbnRTY2FsZShmbG9hdCBzY2FsZSkKIAogdm9p
ZCBTVkdTVkdFbGVtZW50OjpzZXRDdXJyZW50VHJhbnNsYXRlKGNvbnN0IEZsb2F0UG9pbnQmIHRy
YW5zbGF0aW9uKQogewotICAgIGlmIChtX2N1cnJlbnRUcmFuc2xhdGUtPnZhbHVlKCkgPT0gdHJh
bnNsYXRpb24pCisgICAgaWYgKG1fY3VycmVudFRyYW5zbGF0ZS0+eCgpID09IHRyYW5zbGF0aW9u
LngoKSAmJiBtX2N1cnJlbnRUcmFuc2xhdGUtPnkoKSA9PSB0cmFuc2xhdGlvbi55KCkpCiAgICAg
ICAgIHJldHVybjsKLSAgICBtX2N1cnJlbnRUcmFuc2xhdGUtPnNldFZhbHVlKHRyYW5zbGF0aW9u
KTsKKyAgICBtX2N1cnJlbnRUcmFuc2xhdGUtPnNldFgodHJhbnNsYXRpb24ueCgpKTsKKyAgICBt
X2N1cnJlbnRUcmFuc2xhdGUtPnNldFkodHJhbnNsYXRpb24ueSgpKTsKICAgICB1cGRhdGVDdXJy
ZW50VHJhbnNsYXRlKCk7CiB9CiAKQEAgLTM2OSw5ICszNzAsOSBAQCBSZWY8U1ZHQW5nbGU+IFNW
R1NWR0VsZW1lbnQ6OmNyZWF0ZVNWR0FuZ2xlKCkKICAgICByZXR1cm4gU1ZHQW5nbGU6OmNyZWF0
ZSgpOwogfQogCi1SZWY8U1ZHUG9pbnQ+IFNWR1NWR0VsZW1lbnQ6OmNyZWF0ZVNWR1BvaW50KCkK
K1JlZjxET01Qb2ludD4gU1ZHU1ZHRWxlbWVudDo6Y3JlYXRlU1ZHUG9pbnQoKQogewotICAgIHJl
dHVybiBTVkdQb2ludDo6Y3JlYXRlKCk7CisgICAgcmV0dXJuIERPTVBvaW50OjpjcmVhdGUoMCwg
MCk7CiB9CiAKIFJlZjxTVkdNYXRyaXg+IFNWR1NWR0VsZW1lbnQ6OmNyZWF0ZVNWR01hdHJpeCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaAppbmRleCA0MWIxZTdjOGUyY2M3MzA4YmVkOGRh
ZDE3MWI3NDA4MDNmNjdlMjE4Li42M2QxNjg3MjJjN2M4YTAwOTkzNTJkZTI2ZmQ5Mzk2OTQzMzBl
ODA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmgKQEAgLTYxLDggKzYxLDggQEAgcHVi
bGljOiAvLyBET00KICAgICBmbG9hdCBjdXJyZW50U2NhbGUoKSBjb25zdDsKICAgICB2b2lkIHNl
dEN1cnJlbnRTY2FsZShmbG9hdCk7CiAKLSAgICBTVkdQb2ludCYgY3VycmVudFRyYW5zbGF0ZSgp
IHsgcmV0dXJuIG1fY3VycmVudFRyYW5zbGF0ZTsgfQotICAgIEZsb2F0UG9pbnQgY3VycmVudFRy
YW5zbGF0ZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50VHJhbnNsYXRlLT52YWx1ZSgp
OyB9CisgICAgRE9NUG9pbnQmIGN1cnJlbnRUcmFuc2xhdGUoKSB7IHJldHVybiBtX2N1cnJlbnRU
cmFuc2xhdGU7IH0KKyAgICBGbG9hdFBvaW50IGN1cnJlbnRUcmFuc2xhdGVWYWx1ZSgpIGNvbnN0
IHsgcmV0dXJuIEZsb2F0UG9pbnQobV9jdXJyZW50VHJhbnNsYXRlLT54KCksIG1fY3VycmVudFRy
YW5zbGF0ZS0+eSgpKTsgfQogCiAgICAgdW5zaWduZWQgc3VzcGVuZFJlZHJhdyh1bnNpZ25lZCBt
YXhXYWl0TWlsbGlzZWNvbmRzKTsKICAgICB2b2lkIHVuc3VzcGVuZFJlZHJhdyh1bnNpZ25lZCBz
dXNwZW5kSGFuZGxlSWQpOwpAQCAtODYsNyArODYsNyBAQCBwdWJsaWM6IC8vIERPTQogICAgIHN0
YXRpYyBSZWY8U1ZHTnVtYmVyPiBjcmVhdGVTVkdOdW1iZXIoKTsKICAgICBzdGF0aWMgUmVmPFNW
R0xlbmd0aD4gY3JlYXRlU1ZHTGVuZ3RoKCk7CiAgICAgc3RhdGljIFJlZjxTVkdBbmdsZT4gY3Jl
YXRlU1ZHQW5nbGUoKTsKLSAgICBzdGF0aWMgUmVmPFNWR1BvaW50PiBjcmVhdGVTVkdQb2ludCgp
OworICAgIHN0YXRpYyBSZWY8RE9NUG9pbnQ+IGNyZWF0ZVNWR1BvaW50KCk7CiAgICAgc3RhdGlj
IFJlZjxTVkdNYXRyaXg+IGNyZWF0ZVNWR01hdHJpeCgpOwogICAgIHN0YXRpYyBSZWY8U1ZHUmVj
dD4gY3JlYXRlU1ZHUmVjdCgpOwogICAgIHN0YXRpYyBSZWY8U1ZHVHJhbnNmb3JtPiBjcmVhdGVT
VkdUcmFuc2Zvcm0oKTsKQEAgLTE2NCw3ICsxNjQsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxT
VkdWaWV3RWxlbWVudD4gbV9jdXJyZW50Vmlld0VsZW1lbnQ7CiAgICAgU3RyaW5nIG1fY3VycmVu
dFZpZXdGcmFnbWVudElkZW50aWZpZXI7CiAKLSAgICBSZWY8U1ZHUG9pbnQ+IG1fY3VycmVudFRy
YW5zbGF0ZSB7IFNWR1BvaW50OjpjcmVhdGUoKSB9OworICAgIFJlZjxET01Qb2ludD4gbV9jdXJy
ZW50VHJhbnNsYXRlIHsgRE9NUG9pbnQ6OmNyZWF0ZSgwLCAwKSB9OwogCiAgICAgUHJvcGVydHlS
ZWdpc3RyeSBtX3Byb3BlcnR5UmVnaXN0cnkgeyAqdGhpcyB9OwogICAgIFJlZjxTVkdBbmltYXRl
ZExlbmd0aD4gbV94IHsgU1ZHQW5pbWF0ZWRMZW5ndGg6OmNyZWF0ZSh0aGlzLCBTVkdMZW5ndGhN
b2RlOjpXaWR0aCkgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVt
ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmlkbAppbmRleCA0NGFh
NTE5NmM2ZWM2Mjc5YjAxZjU0NWM3ZjU1N2IzNzQ2MzQ4ZjEwLi5mMTZjNDExYmIyMzFmY2VlZTU4
MmRkNTc5N2NhNmRhNTQ3NGU1YzVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
U1ZHRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaWRs
CkBAIC00Miw3ICs0Miw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gdXNlQ3Vy
cmVudFZpZXc7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFNWR1ZpZXdTcGVjIGN1cnJlbnRWaWV3
OwogICAgIGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZmxvYXQgY3VycmVudFNjYWxlOwotICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBTVkdQb2ludCBjdXJyZW50VHJhbnNsYXRlOworICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01Qb2ludCBjdXJyZW50VHJhbnNsYXRlOwogCiAgICAgdW5zaWduZWQgbG9u
ZyBzdXNwZW5kUmVkcmF3KG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgbWF4V2FpdE1pbGxpc2Vjb25k
cyA9IDApOwogICAgIHZvaWQgdW5zdXNwZW5kUmVkcmF3KG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcg
c3VzcGVuZEhhbmRsZUlkID0gMCk7CkBAIC02OCw3ICs2OCw3IEBACiAgICAgW05ld09iamVjdF0g
U1ZHTnVtYmVyIGNyZWF0ZVNWR051bWJlcigpOwogICAgIFtOZXdPYmplY3RdIFNWR0xlbmd0aCBj
cmVhdGVTVkdMZW5ndGgoKTsKICAgICBbTmV3T2JqZWN0XSBTVkdBbmdsZSBjcmVhdGVTVkdBbmds
ZSgpOwotICAgIFtOZXdPYmplY3RdIFNWR1BvaW50IGNyZWF0ZVNWR1BvaW50KCk7CisgICAgW05l
d09iamVjdF0gRE9NUG9pbnQgY3JlYXRlU1ZHUG9pbnQoKTsKICAgICBbTmV3T2JqZWN0XSBTVkdN
YXRyaXggY3JlYXRlU1ZHTWF0cml4KCk7CiAgICAgW05ld09iamVjdF0gU1ZHUmVjdCBjcmVhdGVT
VkdSZWN0KCk7CiAgICAgW05ld09iamVjdF0gU1ZHVHJhbnNmb3JtIGNyZWF0ZVNWR1RyYW5zZm9y
bSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0cmluZ0xpc3QuaCBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHJpbmdMaXN0LmgKaW5kZXggM2IzNzY1YzVkOWUwNzQ2OTAw
YTJkNzc5NzlmZmRmNThiNDNhZGQzNS4uMTExZjA2N2U2OTI2NjdiMDZmMmM4ZGE4ZmFiMjc3ZDI3
ZWEyN2I3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0cmluZ0xpc3QuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3RyaW5nTGlzdC5oCkBAIC0zNyw5ICszNyw5IEBA
IGNsYXNzIFNWR1N0cmluZ0xpc3QgZmluYWwgOiBwdWJsaWMgU1ZHUHJpbWl0aXZlTGlzdDxTdHJp
bmc+IHsKICAgICB1c2luZyBCYXNlOjptX2l0ZW1zOwogCiBwdWJsaWM6Ci0gICAgc3RhdGljIFJl
ZjxTVkdTdHJpbmdMaXN0PiBjcmVhdGUoU1ZHUHJvcGVydHlPd25lciogb3duZXIpCisgICAgc3Rh
dGljIFJlZjxTVkdTdHJpbmdMaXN0PiBjcmVhdGUoRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9i
c2VydmVyKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHU3RyaW5nTGlz
dChvd25lcikpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdTdHJpbmdMaXN0KG9i
c2VydmVyKSk7CiAgICAgfQogCiAgICAgdm9pZCByZXNldChjb25zdCBTdHJpbmcmIHN0cmluZykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAKaW5kZXggZDU5
ODkxZTM3ODc0ZDMzYTNhOTBiNThiOTRlYmJjOTdhMTM0NGRjOS4uODljMGZhYjY5NzMzOGJmZDUz
OWQ0ZTI1NDc2NDJhMzFiYmVmNjUzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RleHRDb250ZW50RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRD
b250ZW50RWxlbWVudC5jcHAKQEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlICJSZW5kZXJTVkdS
ZXNvdXJjZS5oIgogI2luY2x1ZGUgIlJlbmRlclNWR1RleHQuaCIKICNpbmNsdWRlICJTVkdOYW1l
cy5oIgotI2luY2x1ZGUgIlNWR1BvaW50LmgiCiAjaW5jbHVkZSAiU1ZHUmVjdC5oIgogI2luY2x1
ZGUgIlNWR1RleHRRdWVyeS5oIgogI2luY2x1ZGUgIlhNTE5hbWVzLmgiCkBAIC03NSwyMCArNzQs
MjIgQEAgRXhjZXB0aW9uT3I8ZmxvYXQ+IFNWR1RleHRDb250ZW50RWxlbWVudDo6Z2V0U3ViU3Ry
aW5nTGVuZ3RoKHVuc2lnbmVkIGNoYXJudW0sIHUKICAgICByZXR1cm4gU1ZHVGV4dFF1ZXJ5KHJl
bmRlcmVyKCkpLnN1YlN0cmluZ0xlbmd0aChjaGFybnVtLCBuY2hhcnMpOwogfQogCi1FeGNlcHRp
b25PcjxSZWY8U1ZHUG9pbnQ+PiBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldFN0YXJ0UG9zaXRp
b25PZkNoYXIodW5zaWduZWQgY2hhcm51bSkKK0V4Y2VwdGlvbk9yPFJlZjxET01Qb2ludD4+IFNW
R1RleHRDb250ZW50RWxlbWVudDo6Z2V0U3RhcnRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFy
bnVtKQogewogICAgIGlmIChjaGFybnVtID4gZ2V0TnVtYmVyT2ZDaGFycygpKQogICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgSW5kZXhTaXplRXJyb3IgfTsKIAotICAgIHJldHVybiBTVkdQb2lu
dDo6Y3JlYXRlKFNWR1RleHRRdWVyeShyZW5kZXJlcigpKS5zdGFydFBvc2l0aW9uT2ZDaGFyYWN0
ZXIoY2hhcm51bSkpOworICAgIGF1dG8gc3RhcnRQb3NpdGlvbiA9IFNWR1RleHRRdWVyeShyZW5k
ZXJlcigpKS5zdGFydFBvc2l0aW9uT2ZDaGFyYWN0ZXIoY2hhcm51bSk7CisgICAgcmV0dXJuIERP
TVBvaW50OjpjcmVhdGUoc3RhcnRQb3NpdGlvbi54KCksIHN0YXJ0UG9zaXRpb24ueSgpKTsKIH0K
IAotRXhjZXB0aW9uT3I8UmVmPFNWR1BvaW50Pj4gU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRF
bmRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKQorRXhjZXB0aW9uT3I8UmVmPERPTVBv
aW50Pj4gU1ZHVGV4dENvbnRlbnRFbGVtZW50OjpnZXRFbmRQb3NpdGlvbk9mQ2hhcih1bnNpZ25l
ZCBjaGFybnVtKQogewogICAgIGlmIChjaGFybnVtID4gZ2V0TnVtYmVyT2ZDaGFycygpKQogICAg
ICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW5kZXhTaXplRXJyb3IgfTsKIAotICAgIHJldHVybiBT
VkdQb2ludDo6Y3JlYXRlKFNWR1RleHRRdWVyeShyZW5kZXJlcigpKS5lbmRQb3NpdGlvbk9mQ2hh
cmFjdGVyKGNoYXJudW0pKTsKKyAgICBhdXRvIGVuZFBvc2l0aW9uID0gIFNWR1RleHRRdWVyeShy
ZW5kZXJlcigpKS5lbmRQb3NpdGlvbk9mQ2hhcmFjdGVyKGNoYXJudW0pOworICAgIHJldHVybiBE
T01Qb2ludDo6Y3JlYXRlKGVuZFBvc2l0aW9uLngoKSwgZW5kUG9zaXRpb24ueSgpKTsKIH0KIAog
RXhjZXB0aW9uT3I8UmVmPFNWR1JlY3Q+PiBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OmdldEV4dGVu
dE9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1RleHRDb250ZW50RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250
ZW50RWxlbWVudC5oCmluZGV4IGRiMGZlZjIzZjE2NjAyZTRlM2Y3OWZiMmI4Y2NjNTJlNTJlOTI5
ZDIuLjY3NGZmNTkxMjdjODlkMWQwOTlkMWNiZTc4M2Q3ODVmMTYzOTc1YzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmgKQEAgLTI3LDYgKzI3LDcgQEAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IERPTVBvaW50SW5pdDsKK2NsYXNzIERPTVBvaW50
OwogCiBlbnVtIFNWR0xlbmd0aEFkanVzdFR5cGUgewogICAgIFNWR0xlbmd0aEFkanVzdFVua25v
d24sCkBAIC03NCw4ICs3NSw4IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBnZXROdW1iZXJPZkNo
YXJzKCk7CiAgICAgZmxvYXQgZ2V0Q29tcHV0ZWRUZXh0TGVuZ3RoKCk7CiAgICAgRXhjZXB0aW9u
T3I8ZmxvYXQ+IGdldFN1YlN0cmluZ0xlbmd0aCh1bnNpZ25lZCBjaGFybnVtLCB1bnNpZ25lZCBu
Y2hhcnMpOwotICAgIEV4Y2VwdGlvbk9yPFJlZjxTVkdQb2ludD4+IGdldFN0YXJ0UG9zaXRpb25P
ZkNoYXIodW5zaWduZWQgY2hhcm51bSk7Ci0gICAgRXhjZXB0aW9uT3I8UmVmPFNWR1BvaW50Pj4g
Z2V0RW5kUG9zaXRpb25PZkNoYXIodW5zaWduZWQgY2hhcm51bSk7CisgICAgRXhjZXB0aW9uT3I8
UmVmPERPTVBvaW50Pj4gZ2V0U3RhcnRQb3NpdGlvbk9mQ2hhcih1bnNpZ25lZCBjaGFybnVtKTsK
KyAgICBFeGNlcHRpb25PcjxSZWY8RE9NUG9pbnQ+PiBnZXRFbmRQb3NpdGlvbk9mQ2hhcih1bnNp
Z25lZCBjaGFybnVtKTsKICAgICBFeGNlcHRpb25PcjxSZWY8U1ZHUmVjdD4+IGdldEV4dGVudE9m
Q2hhcih1bnNpZ25lZCBjaGFybnVtKTsKICAgICBFeGNlcHRpb25PcjxmbG9hdD4gZ2V0Um90YXRp
b25PZkNoYXIodW5zaWduZWQgY2hhcm51bSk7CiAgICAgaW50IGdldENoYXJOdW1BdFBvc2l0aW9u
KERPTVBvaW50SW5pdCYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0
Q29udGVudEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxl
bWVudC5pZGwKaW5kZXggZjgxNmEzZmFjNWE5NjMyYTFjNDRlOTA4NTdiN2MwNjc0OGU2YWE2Mi4u
ZTA0M2FkMTM3MTk3NGUxYzcwMzFmMDgyMjI5ZjllNzkxMzYyZGFkMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5pZGwKQEAgLTM1LDggKzM1LDggQEAgaW50
ZXJmYWNlIFNWR1RleHRDb250ZW50RWxlbWVudCA6IFNWR0dyYXBoaWNzRWxlbWVudCB7CiAgICAg
bG9uZyBnZXROdW1iZXJPZkNoYXJzKCk7CiAgICAgdW5yZXN0cmljdGVkIGZsb2F0IGdldENvbXB1
dGVkVGV4dExlbmd0aCgpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdW5yZXN0cmljdGVkIGZs
b2F0IGdldFN1YlN0cmluZ0xlbmd0aChvcHRpb25hbCB1bnNpZ25lZCBsb25nIG9mZnNldCA9IDAs
IG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgbGVuZ3RoID0gMCk7Ci0gICAgW01heVRocm93RXhjZXB0
aW9uLCBOZXdPYmplY3RdIFNWR1BvaW50IGdldFN0YXJ0UG9zaXRpb25PZkNoYXIob3B0aW9uYWwg
dW5zaWduZWQgbG9uZyBvZmZzZXQgPSAwKTsKLSAgICBbTWF5VGhyb3dFeGNlcHRpb24sIE5ld09i
amVjdF0gU1ZHUG9pbnQgZ2V0RW5kUG9zaXRpb25PZkNoYXIob3B0aW9uYWwgdW5zaWduZWQgbG9u
ZyBvZmZzZXQgPSAwKTsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb24sIE5ld09iamVjdF0gRE9NUG9p
bnQgZ2V0U3RhcnRQb3NpdGlvbk9mQ2hhcihvcHRpb25hbCB1bnNpZ25lZCBsb25nIG9mZnNldCA9
IDApOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBET01Qb2ludCBnZXRFbmRQ
b3NpdGlvbk9mQ2hhcihvcHRpb25hbCB1bnNpZ25lZCBsb25nIG9mZnNldCA9IDApOwogICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbiwgTmV3T2JqZWN0XSBTVkdSZWN0IGdldEV4dGVudE9mQ2hhcihvcHRp
b25hbCB1bnNpZ25lZCBsb25nIG9mZnNldCA9IDApOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dW5yZXN0cmljdGVkIGZsb2F0IGdldFJvdGF0aW9uT2ZDaGFyKG9wdGlvbmFsIHVuc2lnbmVkIGxv
bmcgb2Zmc2V0ID0gMCk7CiAgICAgbG9uZyBnZXRDaGFyTnVtQXRQb3NpdGlvbihET01Qb2ludElu
aXQgcG9pbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybS5o
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybS5oCmluZGV4IDZhMjljNzJjZjNlN2Yz
MTNmNzA5NjU3YTQwMTI0ODFjMjIzYjhkY2QuLjMzZGI2OGY0MjlhYTdmYTNmZWVhZGMyMjljZDE5
Njg0NWU2ZmNiYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm0u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtLmgKQEAgLTMxLDcgKzMxLDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBTVkdUcmFuc2Zvcm0gOiBwdWJsaWMg
U1ZHVmFsdWVQcm9wZXJ0eTxTVkdUcmFuc2Zvcm1WYWx1ZT4sIHB1YmxpYyBTVkdQcm9wZXJ0eU93
bmVyIHsKK2NsYXNzIFNWR1RyYW5zZm9ybSA6IHB1YmxpYyBTVkdWYWx1ZVByb3BlcnR5PFNWR1Ry
YW5zZm9ybVZhbHVlPiwgcHVibGljIERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyIHsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgUmVmPFNWR1RyYW5zZm9ybT4gY3JlYXRlKFNWR1RyYW5zZm9ybVZhbHVlOjpT
VkdUcmFuc2Zvcm1UeXBlIHR5cGUpCiAgICAgewpAQCAtMTM0LDE3ICsxMzQsMTcgQEAgcHJpdmF0
ZToKICAgICB1c2luZyBCYXNlID0gU1ZHVmFsdWVQcm9wZXJ0eTxTVkdUcmFuc2Zvcm1WYWx1ZT47
CiAKICAgICBTVkdUcmFuc2Zvcm0oU1ZHVHJhbnNmb3JtVmFsdWU6OlNWR1RyYW5zZm9ybVR5cGUg
dHlwZSwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB0cmFuc2Zvcm0gPSB7IH0sIGZsb2F0IGFuZ2xl
ID0gMCwgY29uc3QgRmxvYXRQb2ludCYgcm90YXRpb25DZW50ZXIgPSB7IH0pCi0gICAgICAgIDog
QmFzZShTVkdUcmFuc2Zvcm1WYWx1ZSh0eXBlLCBTVkdNYXRyaXg6OmNyZWF0ZSh0aGlzLCBTVkdQ
cm9wZXJ0eUFjY2Vzczo6UmVhZFdyaXRlLCB0cmFuc2Zvcm0pLCBhbmdsZSwgcm90YXRpb25DZW50
ZXIpKQorICAgICAgICA6IEJhc2UoU1ZHVHJhbnNmb3JtVmFsdWUodHlwZSwgU1ZHTWF0cml4Ojpj
cmVhdGUodGhpcywgdHJhbnNmb3JtKSwgYW5nbGUsIHJvdGF0aW9uQ2VudGVyKSkKICAgICB7CiAg
ICAgfQogCi0gICAgU1ZHUHJvcGVydHlPd25lciogb3duZXIoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiBtX293bmVyOyB9CisgICAgRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIqIG9ic2VydmVyKCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9vYnNlcnZlcjsgfQogCi0gICAgdm9pZCBjb21taXRQ
cm9wZXJ0eUNoYW5nZShTVkdQcm9wZXJ0eSogcHJvcGVydHkpIG92ZXJyaWRlCisgICAgdm9pZCBj
b21taXRQcm9wZXJ0eUNoYW5nZShET01MaXZlUHJvcGVydHkqIHByb3BlcnR5KSBvdmVycmlkZQog
ICAgIHsKICAgICAgICAgQVNTRVJUX1VOVVNFRChwcm9wZXJ0eSwgcHJvcGVydHkgPT0gbV92YWx1
ZS5tYXRyaXgoKS5wdHIoKSk7Ci0gICAgICAgIGlmIChvd25lcigpKQotICAgICAgICAgICAgb3du
ZXIoKS0+Y29tbWl0UHJvcGVydHlDaGFuZ2UodGhpcyk7CisgICAgICAgIGlmIChvYnNlcnZlcigp
KQorICAgICAgICAgICAgb2JzZXJ2ZXIoKS0+Y29tbWl0UHJvcGVydHlDaGFuZ2UodGhpcyk7CiAg
ICAgICAgIG1fdmFsdWUubWF0cml4RGlkQ2hhbmdlKCk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1RyYW5zZm9ybUxpc3QuaAppbmRleCA1NDRkNjBiMmU2MzVjMWMyMDk5MzRlZTQzNWNmNDEy
NWU2YTcxZjJiLi5lNjA0NWVkMjU2MjMyMWU5MTQxNjRhMGZiMjA0OTc0ODcxMDVlMjI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtTGlzdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1MaXN0LmgKQEAgLTM4LDE0ICszOCwxNCBAQCBwdWJs
aWM6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNWR1RyYW5zZm9ybUxpc3QoKSk7CiAg
ICAgfQogCi0gICAgc3RhdGljIFJlZjxTVkdUcmFuc2Zvcm1MaXN0PiBjcmVhdGUoU1ZHUHJvcGVy
dHlPd25lciogb3duZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFjY2VzcykKKyAgICBzdGF0aWMgUmVm
PFNWR1RyYW5zZm9ybUxpc3Q+IGNyZWF0ZShET01MaXZlUHJvcGVydHlPYnNlcnZlciogb2JzZXJ2
ZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTVkdUcmFuc2Zvcm1MaXN0
KG93bmVyLCBhY2Nlc3MpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU1ZHVHJhbnNm
b3JtTGlzdChvYnNlcnZlcikpOwogICAgIH0KIAotICAgIHN0YXRpYyBSZWY8U1ZHVHJhbnNmb3Jt
TGlzdD4gY3JlYXRlKGNvbnN0IFNWR1RyYW5zZm9ybUxpc3QmIG90aGVyLCBTVkdQcm9wZXJ0eUFj
Y2VzcyBhY2Nlc3MpCisgICAgc3RhdGljIFJlZjxTVkdUcmFuc2Zvcm1MaXN0PiBjcmVhdGUoY29u
c3QgU1ZHVHJhbnNmb3JtTGlzdCYgb3RoZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBTVkdUcmFuc2Zvcm1MaXN0KG90aGVyLCBhY2Nlc3MpKTsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgU1ZHVHJhbnNmb3JtTGlzdChvdGhlcikpOwogICAgIH0KIAogICAgIEV4
Y2VwdGlvbk9yPFJlZjxTVkdUcmFuc2Zvcm0+PiBjcmVhdGVTVkdUcmFuc2Zvcm1Gcm9tTWF0cml4
KGNvbnN0IFJlZjxTVkdNYXRyaXg+JiBtYXRyaXgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHVmlld1NwZWMuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmNw
cAppbmRleCA4ZjQyMzUxNmI1YmRiYzUyODdjZGE0NGFkZjQ5ZmM2MThkZGMzMmVjLi41M2NjMTVk
YzkwZTc3Y2E5MTI0ZjZjYWZhMjhkYTFhYzUwNTljYWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVmlld1NwZWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdWaWV3
U3BlYy5jcHAKQEAgLTMyLDkgKzMyLDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogU1ZHVmll
d1NwZWM6OlNWR1ZpZXdTcGVjKFNWR0VsZW1lbnQmIGNvbnRleHRFbGVtZW50KQotICAgIDogU1ZH
Rml0VG9WaWV3Qm94KCZjb250ZXh0RWxlbWVudCwgU1ZHUHJvcGVydHlBY2Nlc3M6OlJlYWRPbmx5
KQorICAgIDogU1ZHRml0VG9WaWV3Qm94KCZjb250ZXh0RWxlbWVudCkKICAgICAsIG1fY29udGV4
dEVsZW1lbnQobWFrZVdlYWtQdHIoY29udGV4dEVsZW1lbnQpKQotICAgICwgbV90cmFuc2Zvcm0o
U1ZHVHJhbnNmb3JtTGlzdDo6Y3JlYXRlKCZjb250ZXh0RWxlbWVudCwgU1ZHUHJvcGVydHlBY2Nl
c3M6OlJlYWRPbmx5KSkKIHsKICAgICBzdGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZUZsYWc7CiAg
ICAgc3RkOjpjYWxsX29uY2Uob25jZUZsYWcsIFtdIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdWaWV3U3BlYy5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgK
aW5kZXggMmU3ZWY5Nzg2YzFhODg2ZmQyNWFjZmVhMDM3ZmM4NTBkNzlkZTUyMC4uNmVmYzA5Zjk4
M2MyYzQzYzZhM2Q4NTViMDJkMzQyMjIwMDM4MjFjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1ZpZXdTcGVjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVj
LmgKQEAgLTU1LDcgKzU1LDcgQEAgcHJpdmF0ZToKIAogICAgIFdlYWtQdHI8U1ZHRWxlbWVudD4g
bV9jb250ZXh0RWxlbWVudDsKICAgICBTdHJpbmcgbV92aWV3VGFyZ2V0U3RyaW5nOwotICAgIFJl
ZjxTVkdUcmFuc2Zvcm1MaXN0PiBtX3RyYW5zZm9ybTsKKyAgICBSZWY8U1ZHVHJhbnNmb3JtTGlz
dD4gbV90cmFuc2Zvcm0geyBTVkdUcmFuc2Zvcm1MaXN0OjpjcmVhdGUoKSB9OwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pv
b21FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUV2ZW50LmNwcAppbmRleCA2
OTZmY2YxNDJlMGNmNDgxNzVmNTVkZWJkZmViYzA1MTg1NTk1YTQ2Li45ZDg1NzcyODlmNzY1YWU5
Nzg1MmFhN2UwMjk0NTkzMDEwNTU1YjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHWm9vbUV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHWm9vbUV2ZW50LmNw
cApAQCAtMjIsNyArMjIsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNWR1pv
b21FdmVudC5oIgogCi0jaW5jbHVkZSAiU1ZHUG9pbnQuaCIKKyNpbmNsdWRlICJET01Qb2ludC5o
IgogI2luY2x1ZGUgIlNWR1JlY3QuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5o
PgogCkBAIC01MSw5ICs1MSw5IEBAIHZvaWQgU1ZHWm9vbUV2ZW50OjpzZXRQcmV2aW91c1NjYWxl
KGZsb2F0IHNjYWxlKQogICAgIG1fcHJldmlvdXNTY2FsZSA9IHNjYWxlOwogfQogCi1SZWY8U1ZH
UG9pbnQ+IFNWR1pvb21FdmVudDo6cHJldmlvdXNUcmFuc2xhdGUoKSBjb25zdAorUmVmPERPTVBv
aW50PiBTVkdab29tRXZlbnQ6OnByZXZpb3VzVHJhbnNsYXRlKCkgY29uc3QKIHsKLSAgICByZXR1
cm4gU1ZHUG9pbnQ6OmNyZWF0ZShtX3ByZXZpb3VzVHJhbnNsYXRlKTsKKyAgICByZXR1cm4gRE9N
UG9pbnQ6OmNyZWF0ZShtX3ByZXZpb3VzVHJhbnNsYXRlLngoKSwgbV9wcmV2aW91c1RyYW5zbGF0
ZS55KCkpOwogfQogCiBmbG9hdCBTVkdab29tRXZlbnQ6Om5ld1NjYWxlKCkgY29uc3QKQEAgLTY2
LDkgKzY2LDkgQEAgdm9pZCBTVkdab29tRXZlbnQ6OnNldE5ld1NjYWxlKGZsb2F0IHNjYWxlKQog
ICAgIG1fbmV3U2NhbGUgPSBzY2FsZTsKIH0KIAotUmVmPFNWR1BvaW50PiBTVkdab29tRXZlbnQ6
Om5ld1RyYW5zbGF0ZSgpIGNvbnN0CitSZWY8RE9NUG9pbnQ+IFNWR1pvb21FdmVudDo6bmV3VHJh
bnNsYXRlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gU1ZHUG9pbnQ6OmNyZWF0ZShtX25ld1RyYW5z
bGF0ZSk7CisgICAgcmV0dXJuIERPTVBvaW50OjpjcmVhdGUobV9uZXdUcmFuc2xhdGUueCgpLCBt
X25ld1RyYW5zbGF0ZS55KCkpOwogfQogCiBFdmVudEludGVyZmFjZSBTVkdab29tRXZlbnQ6OmV2
ZW50SW50ZXJmYWNlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkda
b29tRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tRXZlbnQuaAppbmRleCBiYjE0
NDViZjFkODJmNTY1MTVlYTNjNDNjNGZkMjFiZWE0YmE5NzMyLi4wNzY1MDNmYTVjMmE5MTllODdi
Zjc0Y2E3ZTk1MDhlZTgxNGEwOGVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
Wm9vbUV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21FdmVudC5oCkBAIC0y
Niw3ICsyNiw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgU1ZHUG9pbnQ7Citj
bGFzcyBET01Qb2ludDsKIGNsYXNzIFNWR1JlY3Q7CiAKIGNsYXNzIFNWR1pvb21FdmVudCBmaW5h
bCA6IHB1YmxpYyBVSUV2ZW50IHsKQEAgLTQwLDEyICs0MCwxMiBAQCBwdWJsaWM6CiAgICAgZmxv
YXQgcHJldmlvdXNTY2FsZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0UHJldmlvdXNTY2FsZShmbG9h
dCk7CiAKLSAgICBSZWY8U1ZHUG9pbnQ+IHByZXZpb3VzVHJhbnNsYXRlKCkgY29uc3Q7CisgICAg
UmVmPERPTVBvaW50PiBwcmV2aW91c1RyYW5zbGF0ZSgpIGNvbnN0OwogCiAgICAgZmxvYXQgbmV3
U2NhbGUoKSBjb25zdDsKICAgICB2b2lkIHNldE5ld1NjYWxlKGZsb2F0KTsKIAotICAgIFJlZjxT
VkdQb2ludD4gbmV3VHJhbnNsYXRlKCkgY29uc3Q7CisgICAgUmVmPERPTVBvaW50PiBuZXdUcmFu
c2xhdGUoKSBjb25zdDsKIAogICAgIEV2ZW50SW50ZXJmYWNlIGV2ZW50SW50ZXJmYWNlKCkgY29u
c3QgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdab29tRXZlbnQu
aWRsIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21FdmVudC5pZGwKaW5kZXggMjg2MGU0Yzhk
MTU0YWQwOTc1MGQ1NGM0YTZlNjlhNTU2ZjE1NDU1Yi4uYjUyYTdkNDQ2YjZiMjJjYjhjZjI1YWFl
N2M1MmNlYzg3YmY5M2QwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21F
dmVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1pvb21FdmVudC5pZGwKQEAgLTI2
LDggKzI2LDggQEAKIGludGVyZmFjZSBTVkdab29tRXZlbnQgOiBVSUV2ZW50IHsgCiAgICAgW05l
d09iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIFNWR1JlY3Qgem9vbVJlY3RTY3JlZW47CiAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCBwcmV2aW91c1NjYWxlOwotICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBTVkdQb2ludCBwcmV2aW91c1RyYW5zbGF0ZTsKKyAgICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NUG9pbnQgcHJldmlvdXNUcmFuc2xhdGU7CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIHVucmVzdHJpY3RlZCBmbG9hdCBuZXdTY2FsZTsKLSAgICByZWFkb25seSBhdHRy
aWJ1dGUgU1ZHUG9pbnQgbmV3VHJhbnNsYXRlOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Q
b2ludCBuZXdUcmFuc2xhdGU7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
cHJvcGVydGllcy9TVkdBbmltYXRlZERlY29yYXRlZFByb3BlcnR5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZERlY29yYXRlZFByb3BlcnR5LmgKaW5kZXggY2Vi
YWEzNjNiZjUyN2JiYjM4ZTU2N2QzZTNkNDJiZjg0MzEwMmE3NS4uNmRhOWQ0NDllY2NjZjE5ZjA5
ZWNmYWFmY2E1YTU4YjljNzg0MWQ4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3By
b3BlcnRpZXMvU1ZHQW5pbWF0ZWREZWNvcmF0ZWRQcm9wZXJ0eS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkRGVjb3JhdGVkUHJvcGVydHkuaApAQCAtOTcs
MTUgKzk3LDcgQEAgcHVibGljOgogICAgIH0KIAogICAgIC8vIE1hbmFnaW5nIHRoZSByZWxhdGlv
bnNoaXAgd2l0aCB0aGUgb3duZXIuCi0gICAgdm9pZCBzZXREaXJ0eSgpIG92ZXJyaWRlIHsgbV9z
dGF0ZSA9IFNWR1Byb3BlcnR5U3RhdGU6OkRpcnR5OyB9Ci0gICAgYm9vbCBpc0RpcnR5KCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9zdGF0ZSA9PSBTVkdQcm9wZXJ0eVN0YXRlOjpEaXJ0eTsg
fQotICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUoKSBvdmVycmlkZQotICAgIHsKLSAg
ICAgICAgaWYgKG1fc3RhdGUgPT0gU1ZHUHJvcGVydHlTdGF0ZTo6Q2xlYW4pCi0gICAgICAgICAg
ICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgICAgICBtX3N0YXRlID0gU1ZHUHJvcGVydHlTdGF0
ZTo6Q2xlYW47Ci0gICAgICAgIHJldHVybiBiYXNlVmFsQXNTdHJpbmcoKTsKLSAgICB9CisgICAg
U3RyaW5nIHZhbHVlQXNTdHJpbmcoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBiYXNlVmFsQXNT
dHJpbmcoKTsgfQogCiAgICAgLy8gVXNlZCBieSBSZW5kZXJTVkdFbGVtZW50cyBhbmQgRHVtcFJl
bmRlclRyZWUuCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgUHJvcGVydHlUeXBlPgpAQCAtMTMzLDcg
KzEyNSw2IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U1ZHRGVj
b3JhdGVkUHJvcGVydHk8RGVjb3JhdGlvblR5cGU+PiBtX2Jhc2VWYWw7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPFNWR0RlY29yYXRlZFByb3BlcnR5PERlY29yYXRpb25UeXBlPj4gbV9hbmltVmFsOwot
ICAgIFNWR1Byb3BlcnR5U3RhdGUgbV9zdGF0ZSB7IFNWR1Byb3BlcnR5U3RhdGU6OkNsZWFuIH07
CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdB
bmltYXRlZFByaW1pdGl2ZVByb3BlcnR5LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGll
cy9TVkdBbmltYXRlZFByaW1pdGl2ZVByb3BlcnR5LmgKaW5kZXggZTE0ZjY3OWYzMzYzZGRjNWE4
ZjQxYzAzNWZkZjczNGViY2I5NjY2MS4uZDQ0ODBmNzRhMmUzOTZkMThhOTM3ZGY3ODkzMGYzZDVm
YmZiMTE4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5p
bWF0ZWRQcmltaXRpdmVQcm9wZXJ0eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0
aWVzL1NWR0FuaW1hdGVkUHJpbWl0aXZlUHJvcGVydHkuaApAQCAtODcsOSArODcsNyBAQCBwdWJs
aWM6CiAgICAgfQogCiAgICAgLy8gTWFuYWdpbmcgdGhlIHJlbGF0aW9uc2hpcCB3aXRoIHRoZSBv
d25lci4KLSAgICB2b2lkIHNldERpcnR5KCkgb3ZlcnJpZGUgeyBtX2Jhc2VWYWwtPnNldERpcnR5
KCk7IH0KLSAgICBib29sIGlzRGlydHkoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2Jhc2VW
YWwtPmlzRGlydHkoKTsgfQotICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUoKSBvdmVy
cmlkZSB7IHJldHVybiBtX2Jhc2VWYWwtPnN5bmNocm9uaXplKCk7IH0KKyAgICBTdHJpbmcgdmFs
dWVBc1N0cmluZygpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJhc2VWYWxBc1N0cmluZygpOyB9
CiAKICAgICAvLyBVc2VkIGJ5IFJlbmRlclNWR0VsZW1lbnRzIGFuZCBEdW1wUmVuZGVyVHJlZS4K
ICAgICBjb25zdCBQcm9wZXJ0eVR5cGUmIGN1cnJlbnRWYWx1ZSgpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHkuY3BwCmlu
ZGV4IGVjMmYzYTQ4N2Y4MzBmMWM3MjZkMGY2YmU0Yzk0MjJlYzhmMzAxZTguLmVkYTVjODRjMzVm
YmM3YmQyNTRkMWFkZTJmYjI1ODE2NjU4M2RjM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHkuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHkuY3BwCkBAIC0zMCwxMiArMzAs
MTIgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TVkdQcm9wZXJ0eU93bmVyKiBTVkdBbmlt
YXRlZFByb3BlcnR5Ojpvd25lcigpIGNvbnN0CitET01MaXZlUHJvcGVydHlPYnNlcnZlciogU1ZH
QW5pbWF0ZWRQcm9wZXJ0eTo6b2JzZXJ2ZXIoKSBjb25zdAogewogICAgIHJldHVybiBtX2NvbnRl
eHRFbGVtZW50OwogfQogCi12b2lkIFNWR0FuaW1hdGVkUHJvcGVydHk6OmNvbW1pdFByb3BlcnR5
Q2hhbmdlKFNWR1Byb3BlcnR5KikKK3ZvaWQgU1ZHQW5pbWF0ZWRQcm9wZXJ0eTo6Y29tbWl0UHJv
cGVydHlDaGFuZ2UoRE9NTGl2ZVByb3BlcnR5KikKIHsKICAgICBpZiAoIW1fY29udGV4dEVsZW1l
bnQpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9w
ZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHkuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0
aWVzL1NWR0FuaW1hdGVkUHJvcGVydHkuaAppbmRleCBjNmY5MzJlNmRmNjljY2VmYWZjOTY1ZTMy
Y2Q1NjYyMGExZmMzMzY0Li5hMTA0MWU2MDUyOWRhMWZkMjMxODYwZTI2MGI3MWNjZmI3MGM0YTlh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFBy
b3BlcnR5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQ
cm9wZXJ0eS5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAi
U1ZHUHJvcGVydHlPd25lci5oIgorI2luY2x1ZGUgIkRPTUxpdmVQcm9wZXJ0eU9ic2VydmVyLmgi
CiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIAogY2xhc3MgU1ZHRWxlbWVudDsKIAotY2xhc3MgU1ZHQW5pbWF0
ZWRQcm9wZXJ0eSA6IHB1YmxpYyBSZWZDb3VudGVkPFNWR0FuaW1hdGVkUHJvcGVydHk+LCBwdWJs
aWMgU1ZHUHJvcGVydHlPd25lciB7CitjbGFzcyBTVkdBbmltYXRlZFByb3BlcnR5IDogcHVibGlj
IFJlZkNvdW50ZWQ8U1ZHQW5pbWF0ZWRQcm9wZXJ0eT4sIHB1YmxpYyBET01MaXZlUHJvcGVydHlP
YnNlcnZlciB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+U1ZHQW5pbWF0ZWRQcm9wZXJ0eSgpID0g
ZGVmYXVsdDsKICAgICAKQEAgLTQ3LDkgKzQ3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU3Ry
aW5nIGFuaW1WYWxBc1N0cmluZygpIGNvbnN0IHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0KICAg
ICAKICAgICAvLyBDb250cm9sIHRoZSBzeW5jaHJvbml6YXRpb24gYmV0d2VlbiB0aGUgYXR0cmli
dXRlIGFuZCBpdHMgcmVmbGVjdGlvbiBpbiBiYXNlVmFsLgotICAgIHZpcnR1YWwgYm9vbCBpc0Rp
cnR5KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2V0RGlydHko
KSB7IH0KLSAgICB2aXJ0dWFsIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUoKSB7IHJldHVy
biBXVEY6Om51bGxvcHQ7IH0KKyAgICB2aXJ0dWFsIFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29u
c3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQogICAgIAogICAgIC8vIENvbnRyb2wgdGhlIGFu
aW1hdGlvbiBsaWZlIGN5Y2xlLgogICAgIGJvb2wgaXNBbmltYXRpbmcoKSBjb25zdCB7IHJldHVy
biBtX2lzQW5pbWF0aW5nOyB9CkBAIC02Niw4ICs2NCw4IEBAIHByb3RlY3RlZDoKICAgICB7CiAg
ICAgfQogICAgIAotICAgIFNWR1Byb3BlcnR5T3duZXIqIG93bmVyKCkgY29uc3Qgb3ZlcnJpZGU7
Ci0gICAgdm9pZCBjb21taXRQcm9wZXJ0eUNoYW5nZShTVkdQcm9wZXJ0eSopIG92ZXJyaWRlOwor
ICAgIERPTUxpdmVQcm9wZXJ0eU9ic2VydmVyKiBvYnNlcnZlcigpIGNvbnN0IG92ZXJyaWRlOwor
ICAgIHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoRE9NTGl2ZVByb3BlcnR5Kikgb3ZlcnJpZGU7
CiAgICAgCiAgICAgU1ZHRWxlbWVudCogbV9jb250ZXh0RWxlbWVudCB7IG51bGxwdHIgfTsKICAg
ICBib29sIG1faXNBbmltYXRpbmcgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eUxpc3QuaCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlMaXN0LmgKaW5kZXggZjQyNTVk
N2Y2ZTc1YjE0YWNhODhhODgwYmZmMzZlNjU2MzgzZjcxNi4uYWQyMWE5ODA2YzU0YWZjMDZlY2Fh
NWE3MTMyNWNkYjIzMTNjYWYzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3Bl
cnRpZXMvU1ZHQW5pbWF0ZWRQcm9wZXJ0eUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
cHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5TGlzdC5oCkBAIC02OCw5ICs2OCw3IEBAIHB1
YmxpYzoKICAgICB9CiAKICAgICAvLyBNYW5hZ2luZyB0aGUgcmVsYXRpb25zaGlwIHdpdGggdGhl
IG93bmVyLgotICAgIHZvaWQgc2V0RGlydHkoKSBvdmVycmlkZSB7IG1fYmFzZVZhbC0+c2V0RGly
dHkoKTsgfQotICAgIGJvb2wgaXNEaXJ0eSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fYmFz
ZVZhbC0+aXNEaXJ0eSgpOyB9Ci0gICAgT3B0aW9uYWw8U3RyaW5nPiBzeW5jaHJvbml6ZSgpIG92
ZXJyaWRlIHsgcmV0dXJuIG1fYmFzZVZhbC0+c3luY2hyb25pemUoKTsgfQorICAgIFN0cmluZyB2
YWx1ZUFzU3RyaW5nKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gYmFzZVZhbEFzU3RyaW5nKCk7
IH0KIAogICAgIC8vIFVzZWQgYnkgUmVuZGVyU1ZHRWxlbWVudHMgYW5kIER1bXBSZW5kZXJUcmVl
LgogICAgIGNvbnN0IExpc3RUeXBlJiBjdXJyZW50VmFsdWUoKSBjb25zdApAQCAtMTE3LDE5ICsx
MTUsMjQgQEAgcHJvdGVjdGVkOgogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4K
ICAgICBTVkdBbmltYXRlZFByb3BlcnR5TGlzdChTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCwg
QXJndW1lbnRzJiYuLi4gYXJndW1lbnRzKQogICAgICAgICA6IFNWR0FuaW1hdGVkUHJvcGVydHko
Y29udGV4dEVsZW1lbnQpCi0gICAgICAgICwgbV9iYXNlVmFsKExpc3RUeXBlOjpjcmVhdGUodGhp
cywgU1ZHUHJvcGVydHlBY2Nlc3M6OlJlYWRXcml0ZSwgc3RkOjpmb3J3YXJkPEFyZ3VtZW50cz4o
YXJndW1lbnRzKS4uLikpCisgICAgICAgICwgbV9iYXNlVmFsKExpc3RUeXBlOjpjcmVhdGUodGhp
cywgc3RkOjpmb3J3YXJkPEFyZ3VtZW50cz4oYXJndW1lbnRzKS4uLikpCiAgICAgewogICAgIH0K
IAogICAgIFJlZlB0cjxMaXN0VHlwZT4mIGVuc3VyZUFuaW1WYWwoKQogICAgIHsKICAgICAgICAg
aWYgKCFtX2FuaW1WYWwpCi0gICAgICAgICAgICBtX2FuaW1WYWwgPSBMaXN0VHlwZTo6Y3JlYXRl
KG1fYmFzZVZhbCwgU1ZHUHJvcGVydHlBY2Nlc3M6OlJlYWRPbmx5KTsKKyAgICAgICAgICAgIG1f
YW5pbVZhbCA9IExpc3RUeXBlOjpjcmVhdGUobV9iYXNlVmFsLmdldCgpKTsKICAgICAgICAgcmV0
dXJuIG1fYW5pbVZhbDsKICAgICB9CiAKKyAgICBib29sIGlzUHJvcGVydHlSZWFkT25seShjb25z
dCBET01MaXZlUHJvcGVydHkmIHByb3BlcnR5KSBjb25zdCBvdmVycmlkZQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIG1fYW5pbVZhbCA9PSAmcHJvcGVydHk7CisgICAgfQorCiAgICAgLy8gQ2FsbGVk
IHdoZW4gbV9iYXNlVmFsIGNoYW5nZXMgb3IgYW4gaXRlbSBpbiBtX2Jhc2VWYWwgY2hhbmdlcy4K
LSAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKFNWR1Byb3BlcnR5KiBwcm9wZXJ0eSkgb3Zl
cnJpZGUKKyAgICB2b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKERPTUxpdmVQcm9wZXJ0eSogcHJv
cGVydHkpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBpZiAobV9hbmltVmFsKQogICAgICAgICAg
ICAgKm1fYW5pbVZhbCA9IG1fYmFzZVZhbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlQYWlyQWNjZXNzb3JJbXBsLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFByb3BlcnR5UGFpckFjY2Vzc29y
SW1wbC5oCmluZGV4IDRhMjY5ZmE1YThmMjdjZDMzNTVlODM0MDZmYTUzODUzZDk1Mjg5YzUuLjM1
MGJjMDg4ZWI0NWE5NjA5OGVhOTI0N2EzNzU4NTgyOGVlMTM1MTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlQYWlyQWNjZXNzb3JJ
bXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRQcm9w
ZXJ0eVBhaXJBY2Nlc3NvckltcGwuaApAQCAtNDYsMTcgKzQ2LDExIEBAIHB1YmxpYzoKICAgICBj
b25zdGV4cHIgc3RhdGljIGNvbnN0IFNWR01lbWJlckFjY2Vzc29yPE93bmVyVHlwZT4mIHNpbmds
ZXRvbigpIHsgcmV0dXJuIEJhc2U6OnRlbXBsYXRlIHNpbmdsZXRvbjxTVkdBbmltYXRlZEFuZ2xl
T3JpZW50QWNjZXNzb3IsIHByb3BlcnR5MSwgcHJvcGVydHkyPigpOyB9CiAKIHByaXZhdGU6Ci0g
ICAgT3B0aW9uYWw8U3RyaW5nPiBzeW5jaHJvbml6ZShjb25zdCBPd25lclR5cGUmIG93bmVyKSBj
b25zdCBmaW5hbAorICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKGNvbnN0IE93bmVyVHlwZSYgb3du
ZXIpIGNvbnN0IGZpbmFsCiAgICAgewotICAgICAgICBib29sIGRpcnR5MSA9IHByb3BlcnR5MShv
d25lciktPmlzRGlydHkoKTsKLSAgICAgICAgYm9vbCBkaXJ0eTIgPSBwcm9wZXJ0eTIob3duZXIp
LT5pc0RpcnR5KCk7Ci0gICAgICAgIGlmICghKGRpcnR5MSB8fCBkaXJ0eTIpKQotICAgICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQogICAgICAgICBhdXRvIHR5cGUgPSBwcm9wZXJ0eTIo
b3duZXIpLT5iYXNlVmFsKCk7Ci0KLSAgICAgICAgU3RyaW5nIHN0cmluZzEgPSBkaXJ0eTEgPyAq
cHJvcGVydHkxKG93bmVyKS0+c3luY2hyb25pemUoKSA6IHByb3BlcnR5MShvd25lciktPmJhc2VW
YWxBc1N0cmluZygpOwotICAgICAgICBTdHJpbmcgc3RyaW5nMiA9IGRpcnR5MiA/ICpwcm9wZXJ0
eTIob3duZXIpLT5zeW5jaHJvbml6ZSgpIDogcHJvcGVydHkyKG93bmVyKS0+YmFzZVZhbEFzU3Ry
aW5nKCk7CisgICAgICAgIFN0cmluZyBzdHJpbmcxID0gcHJvcGVydHkxKG93bmVyKS0+YmFzZVZh
bEFzU3RyaW5nKCk7CisgICAgICAgIFN0cmluZyBzdHJpbmcyID0gcHJvcGVydHkyKG93bmVyKS0+
YmFzZVZhbEFzU3RyaW5nKCk7CiAgICAgICAgIHJldHVybiB0eXBlID09IFNWR01hcmtlck9yaWVu
dEF1dG8gfHwgdHlwZSA9PSBTVkdNYXJrZXJPcmllbnRBdXRvU3RhcnRSZXZlcnNlID8gc3RyaW5n
MiA6IHN0cmluZzE7CiAgICAgfQogCkBAIC04MywxNSArNzcsMTAgQEAgcHVibGljOgogICAgIGNv
bnN0ZXhwciBzdGF0aWMgY29uc3QgU1ZHTWVtYmVyQWNjZXNzb3I8T3duZXJUeXBlPiYgc2luZ2xl
dG9uKCkgeyByZXR1cm4gQmFzZTo6dGVtcGxhdGUgc2luZ2xldG9uPFNWR0FuaW1hdGVkSW50ZWdl
clBhaXJBY2Nlc3NvciwgcHJvcGVydHkxLCBwcm9wZXJ0eTI+KCk7IH0KIAogcHJpdmF0ZToKLSAg
ICBPcHRpb25hbDxTdHJpbmc+IHN5bmNocm9uaXplKGNvbnN0IE93bmVyVHlwZSYgb3duZXIpIGNv
bnN0IGZpbmFsCisgICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoY29uc3QgT3duZXJUeXBlJiBvd25l
cikgY29uc3QgZmluYWwKICAgICB7Ci0gICAgICAgIGJvb2wgZGlydHkxID0gcHJvcGVydHkxKG93
bmVyKS0+aXNEaXJ0eSgpOwotICAgICAgICBib29sIGRpcnR5MiA9IHByb3BlcnR5Mihvd25lcikt
PmlzRGlydHkoKTsKLSAgICAgICAgaWYgKCEoZGlydHkxIHx8IGRpcnR5MikpCi0gICAgICAgICAg
ICByZXR1cm4gV1RGOjpudWxsb3B0OwotCi0gICAgICAgIFN0cmluZyBzdHJpbmcxID0gZGlydHkx
ID8gKnByb3BlcnR5MShvd25lciktPnN5bmNocm9uaXplKCkgOiBwcm9wZXJ0eTEob3duZXIpLT5i
YXNlVmFsQXNTdHJpbmcoKTsKLSAgICAgICAgU3RyaW5nIHN0cmluZzIgPSBkaXJ0eTIgPyAqcHJv
cGVydHkyKG93bmVyKS0+c3luY2hyb25pemUoKSA6IHByb3BlcnR5Mihvd25lciktPmJhc2VWYWxB
c1N0cmluZygpOworICAgICAgICBTdHJpbmcgc3RyaW5nMSA9IHByb3BlcnR5MShvd25lciktPmJh
c2VWYWxBc1N0cmluZygpOworICAgICAgICBTdHJpbmcgc3RyaW5nMiA9IHByb3BlcnR5Mihvd25l
ciktPmJhc2VWYWxBc1N0cmluZygpOwogICAgICAgICByZXR1cm4gc3RyaW5nMSA9PSBzdHJpbmcy
ID8gc3RyaW5nMSA6IHN0cmluZzEgKyAiLCAiICsgc3RyaW5nMjsKICAgICB9CiAKQEAgLTExNCwx
OSArMTAzLDE0IEBAIGNsYXNzIFNWR0FuaW1hdGVkTnVtYmVyUGFpckFjY2Vzc29yIGZpbmFsIDog
cHVibGljIFNWR0FuaW1hdGVkUHJvcGVydHlQYWlyQWNjZXNzCiAKIHB1YmxpYzoKICAgICB1c2lu
ZyBCYXNlOjpCYXNlOwotICAgIHRlbXBsYXRlPFJlZjxTVkdBbmltYXRlZE51bWJlcj4gT3duZXJU
eXBlOjoqcHJvcGVydHkxLCBSZWY8U1ZHQW5pbWF0ZWROdW1iZXI+IE93bmVyVHlwZTo6KnByb3Bl
cnR5MiA+CisgICAgdGVtcGxhdGU8UmVmPFNWR0FuaW1hdGVkTnVtYmVyPiBPd25lclR5cGU6Oipw
cm9wZXJ0eTEsIFJlZjxTVkdBbmltYXRlZE51bWJlcj4gT3duZXJUeXBlOjoqcHJvcGVydHkyPgog
ICAgIGNvbnN0ZXhwciBzdGF0aWMgY29uc3QgU1ZHTWVtYmVyQWNjZXNzb3I8T3duZXJUeXBlPiYg
c2luZ2xldG9uKCkgeyByZXR1cm4gQmFzZTo6dGVtcGxhdGUgc2luZ2xldG9uPFNWR0FuaW1hdGVk
TnVtYmVyUGFpckFjY2Vzc29yLCBwcm9wZXJ0eTEsIHByb3BlcnR5Mj4oKTsgfQogCiBwcml2YXRl
OgotICAgIE9wdGlvbmFsPFN0cmluZz4gc3luY2hyb25pemUoY29uc3QgT3duZXJUeXBlJiBvd25l
cikgY29uc3QgZmluYWwKKyAgICBTdHJpbmcgdmFsdWVBc1N0cmluZyhjb25zdCBPd25lclR5cGUm
IG93bmVyKSBjb25zdCBmaW5hbAogICAgIHsKLSAgICAgICAgYm9vbCBkaXJ0eTEgPSBwcm9wZXJ0
eTEob3duZXIpLT5pc0RpcnR5KCk7Ci0gICAgICAgIGJvb2wgZGlydHkyID0gcHJvcGVydHkyKG93
bmVyKS0+aXNEaXJ0eSgpOwotICAgICAgICBpZiAoIShkaXJ0eTEgfHwgZGlydHkyKSkKLSAgICAg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAgICAgICAgU3RyaW5nIHN0cmluZzEgPSBk
aXJ0eTEgPyAqcHJvcGVydHkxKG93bmVyKS0+c3luY2hyb25pemUoKSA6IHByb3BlcnR5MShvd25l
ciktPmJhc2VWYWxBc1N0cmluZygpOwotICAgICAgICBTdHJpbmcgc3RyaW5nMiA9IGRpcnR5MiA/
ICpwcm9wZXJ0eTIob3duZXIpLT5zeW5jaHJvbml6ZSgpIDogcHJvcGVydHkyKG93bmVyKS0+YmFz
ZVZhbEFzU3RyaW5nKCk7CisgICAgICAgIFN0cmluZyBzdHJpbmcxID0gcHJvcGVydHkxKG93bmVy
KS0+YmFzZVZhbEFzU3RyaW5nKCk7CisgICAgICAgIFN0cmluZyBzdHJpbmcyID0gcHJvcGVydHky
KG93bmVyKS0+YmFzZVZhbEFzU3RyaW5nKCk7CiAgICAgICAgIHJldHVybiBzdHJpbmcxID09IHN0
cmluZzIgPyBzdHJpbmcxIDogc3RyaW5nMSArICIsICIgKyBzdHJpbmcyOwogICAgIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRWYWx1ZVBy
b3BlcnR5LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFZhbHVl
UHJvcGVydHkuaAppbmRleCBkZmRiMTcxYTBjYjgzZmM3NTk2MDU5ZTc2MDRhN2ZkODkzNTFmNTI1
Li43Zjk2NTI1YWI5M2I2NGNmMzdjY2E1MmFmNDdkZmI0ZTZjMDFhZjhjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFZhbHVlUHJvcGVydHkuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRlZFZhbHVlUHJvcGVy
dHkuaApAQCAtODQsOSArODQsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgLy8gTWFuYWdpbmcg
dGhlIHJlbGF0aW9uc2hpcCB3aXRoIHRoZSBvd25lci4KLSAgICB2b2lkIHNldERpcnR5KCkgb3Zl
cnJpZGUgeyBtX2Jhc2VWYWwtPnNldERpcnR5KCk7IH0KLSAgICBib29sIGlzRGlydHkoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBtX2Jhc2VWYWwtPmlzRGlydHkoKTsgfQotICAgIE9wdGlvbmFs
PFN0cmluZz4gc3luY2hyb25pemUoKSBvdmVycmlkZSB7IHJldHVybiBtX2Jhc2VWYWwtPnN5bmNo
cm9uaXplKCk7IH0KKyAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIGJhc2VWYWxBc1N0cmluZygpOyB9CiAKICAgICAvLyBVc2VkIGJ5IFJlbmRlclNWR0Vs
ZW1lbnRzIGFuZCBEdW1wUmVuZGVyVHJlZS4KICAgICBjb25zdCBWYWx1ZVR5cGUmIGN1cnJlbnRW
YWx1ZSgpIGNvbnN0CkBAIC0xMzEsMjYgKzEyOSwyNCBAQCBwcm90ZWN0ZWQ6CiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUuLi4gQXJndW1lbnRzPgogICAgIFNWR0FuaW1hdGVkVmFsdWVQcm9wZXJ0eShT
VkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCwgQXJndW1lbnRzJiYuLi4gYXJndW1lbnRzKQogICAg
ICAgICA6IFNWR0FuaW1hdGVkUHJvcGVydHkoY29udGV4dEVsZW1lbnQpCi0gICAgICAgICwgbV9i
YXNlVmFsKFByb3BlcnR5VHlwZTo6Y3JlYXRlKHRoaXMsIFNWR1Byb3BlcnR5QWNjZXNzOjpSZWFk
V3JpdGUsIFZhbHVlVHlwZShzdGQ6OmZvcndhcmQ8QXJndW1lbnRzPihhcmd1bWVudHMpLi4uKSkp
Ci0gICAgewotICAgIH0KLQotICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3VtZW50cz4KLSAg
ICBTVkdBbmltYXRlZFZhbHVlUHJvcGVydHkoU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQsIFNW
R1Byb3BlcnR5QWNjZXNzIGFjY2VzcywgQXJndW1lbnRzJiYuLi4gYXJndW1lbnRzKQotICAgICAg
ICA6IFNWR0FuaW1hdGVkUHJvcGVydHkoY29udGV4dEVsZW1lbnQpCi0gICAgICAgICwgbV9iYXNl
VmFsKFByb3BlcnR5VHlwZTo6Y3JlYXRlKHRoaXMsIGFjY2VzcywgVmFsdWVUeXBlKHN0ZDo6Zm9y
d2FyZDxBcmd1bWVudHM+KGFyZ3VtZW50cykuLi4pKSkKKyAgICAgICAgLCBtX2Jhc2VWYWwoUHJv
cGVydHlUeXBlOjpjcmVhdGUodGhpcywgVmFsdWVUeXBlKHN0ZDo6Zm9yd2FyZDxBcmd1bWVudHM+
KGFyZ3VtZW50cykuLi4pKSkKICAgICB7CiAgICAgfQogCiAgICAgUmVmUHRyPFByb3BlcnR5VHlw
ZT4mIGVuc3VyZUFuaW1WYWwoKQogICAgIHsKICAgICAgICAgaWYgKCFtX2FuaW1WYWwpCi0gICAg
ICAgICAgICBtX2FuaW1WYWwgPSBQcm9wZXJ0eVR5cGU6OmNyZWF0ZSh0aGlzLCBTVkdQcm9wZXJ0
eUFjY2Vzczo6UmVhZE9ubHksIG1fYmFzZVZhbC0+dmFsdWUoKSk7CisgICAgICAgICAgICBtX2Fu
aW1WYWwgPSBQcm9wZXJ0eVR5cGU6OmNyZWF0ZSh0aGlzLCBtX2Jhc2VWYWwtPnZhbHVlKCkpOwog
ICAgICAgICByZXR1cm4gbV9hbmltVmFsOwogICAgIH0KIAorICAgIGJvb2wgaXNQcm9wZXJ0eVJl
YWRPbmx5KGNvbnN0IERPTUxpdmVQcm9wZXJ0eSYgcHJvcGVydHkpIGNvbnN0IG92ZXJyaWRlCisg
ICAgeworICAgICAgICByZXR1cm4gbV9hbmltVmFsID09ICZwcm9wZXJ0eTsKKyAgICB9CisKICAg
ICAvLyBDYWxsZWQgd2hlbiBtX2Jhc2VWYWwgY2hhbmdlcy4KLSAgICB2b2lkIGNvbW1pdFByb3Bl
cnR5Q2hhbmdlKFNWR1Byb3BlcnR5KiBwcm9wZXJ0eSkgb3ZlcnJpZGUKKyAgICB2b2lkIGNvbW1p
dFByb3BlcnR5Q2hhbmdlKERPTUxpdmVQcm9wZXJ0eSogcHJvcGVydHkpIG92ZXJyaWRlCiAgICAg
ewogICAgICAgICBpZiAobV9hbmltVmFsKQogICAgICAgICAgICAgbV9hbmltVmFsLT5zZXRWYWx1
ZShtX2Jhc2VWYWwtPnZhbHVlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3By
b3BlcnRpZXMvU1ZHQW5pbWF0aW9uQWRkaXRpdmVMaXN0RnVuY3Rpb25JbXBsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRpb25BZGRpdGl2ZUxpc3RGdW5jdGlvbklt
cGwuaAppbmRleCA2MWExZDAzNmNmZGE1MmJhNGVhOGI3MWU1MWJiMmM3YjE3YWRiY2I2Li4yOTUx
NTI5NzE2MjdiNzgyMjM3MDgzNTZhYWU1MWJhYjY2NmE0MWU1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRpb25BZGRpdGl2ZUxpc3RGdW5jdGlvbklt
cGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRpb25BZGRp
dGl2ZUxpc3RGdW5jdGlvbkltcGwuaApAQCAtMTc2LDI5ICsxNzYsMjkgQEAgcHVibGljOgogICAg
ICAgICBhdXRvJiBhbmltYXRlZEl0ZW1zID0gYW5pbWF0ZWQtPml0ZW1zKCk7CiAKICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHRvSXRlbXMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAg
ICAgIEZsb2F0UG9pbnQgZnJvbSA9IGkgPCBmcm9tSXRlbXMuc2l6ZSgpID8gZnJvbUl0ZW1zW2ld
LT52YWx1ZSgpIDogRmxvYXRQb2ludCgpOwotICAgICAgICAgICAgRmxvYXRQb2ludCB0byA9IHRv
SXRlbXNbaV0tPnZhbHVlKCk7Ci0gICAgICAgICAgICBGbG9hdFBvaW50IHRvQXRFbmRPZkR1cmF0
aW9uID0gaSA8IHRvQXRFbmRPZkR1cmF0aW9uSXRlbXMuc2l6ZSgpID8gdG9BdEVuZE9mRHVyYXRp
b25JdGVtc1tpXS0+dmFsdWUoKSA6IEZsb2F0UG9pbnQoKTsKLSAgICAgICAgICAgIEZsb2F0UG9p
bnQmIGFuaW1hdGVkID0gYW5pbWF0ZWRJdGVtc1tpXS0+dmFsdWUoKTsKKyAgICAgICAgICAgIEZs
b2F0UG9pbnQgZnJvbSA9IGkgPCBmcm9tSXRlbXMuc2l6ZSgpID8gRmxvYXRQb2ludChmcm9tSXRl
bXNbaV0tPngoKSwgZnJvbUl0ZW1zW2ldLT55KCkpIDogRmxvYXRQb2ludCgpOworICAgICAgICAg
ICAgRmxvYXRQb2ludCB0byA9IEZsb2F0UG9pbnQodG9JdGVtc1tpXS0+eCgpLCB0b0l0ZW1zW2ld
LT55KCkpOworICAgICAgICAgICAgRmxvYXRQb2ludCB0b0F0RW5kT2ZEdXJhdGlvbiA9IGkgPCB0
b0F0RW5kT2ZEdXJhdGlvbkl0ZW1zLnNpemUoKSA/IEZsb2F0UG9pbnQodG9BdEVuZE9mRHVyYXRp
b25JdGVtc1tpXS0+eCgpLCB0b0F0RW5kT2ZEdXJhdGlvbkl0ZW1zW2ldLT55KCkpIDogRmxvYXRQ
b2ludCgpOworICAgICAgICAgICAgRmxvYXRQb2ludCBhbmltYXRlZCA9IEZsb2F0UG9pbnQoYW5p
bWF0ZWRJdGVtc1tpXS0+eCgpLCBhbmltYXRlZEl0ZW1zW2ldLT55KCkpOwogCi0gICAgICAgICAg
ICBmbG9hdCBhbmltYXRlZFggPSBCYXNlOjphbmltYXRlKHByb2dyZXNzLCByZXBlYXRDb3VudCwg
ZnJvbS54KCksIHRvLngoKSwgdG9BdEVuZE9mRHVyYXRpb24ueCgpLCBhbmltYXRlZC54KCkpOwot
ICAgICAgICAgICAgZmxvYXQgYW5pbWF0ZWRZID0gQmFzZTo6YW5pbWF0ZShwcm9ncmVzcywgcmVw
ZWF0Q291bnQsIGZyb20ueSgpLCB0by55KCksIHRvQXRFbmRPZkR1cmF0aW9uLnkoKSwgYW5pbWF0
ZWQueSgpKTsKLQotICAgICAgICAgICAgYW5pbWF0ZWQgPSB7IGFuaW1hdGVkWCwgYW5pbWF0ZWRZ
IH07CisgICAgICAgICAgICBhbmltYXRlZEl0ZW1zW2ldLT5zZXRYKEJhc2U6OmFuaW1hdGUocHJv
Z3Jlc3MsIHJlcGVhdENvdW50LCBmcm9tLngoKSwgdG8ueCgpLCB0b0F0RW5kT2ZEdXJhdGlvbi54
KCksIGFuaW1hdGVkLngoKSkpOworICAgICAgICAgICAgYW5pbWF0ZWRJdGVtc1tpXS0+c2V0WShC
YXNlOjphbmltYXRlKHByb2dyZXNzLCByZXBlYXRDb3VudCwgZnJvbS55KCksIHRvLnkoKSwgdG9B
dEVuZE9mRHVyYXRpb24ueSgpLCBhbmltYXRlZC55KCkpKTsKICAgICAgICAgfQogICAgIH0KIAog
cHJpdmF0ZToKICAgICB2b2lkIGFkZEZyb21BbmRUb1ZhbHVlcyhTVkdFbGVtZW50Kikgb3ZlcnJp
ZGUKICAgICB7Ci0gICAgICAgIGNvbnN0IFZlY3RvcjxSZWY8U1ZHUG9pbnQ+PiYgZnJvbUl0ZW1z
ID0gbV9mcm9tLT5pdGVtcygpOwotICAgICAgICBWZWN0b3I8UmVmPFNWR1BvaW50Pj4mIHRvSXRl
bXMgPSBtX3RvLT5pdGVtcygpOworICAgICAgICBjb25zdCBhdXRvJiBmcm9tSXRlbXMgPSBtX2Zy
b20tPml0ZW1zKCk7CisgICAgICAgIGF1dG8mIHRvSXRlbXMgPSBtX3RvLT5pdGVtcygpOwogCiAg
ICAgICAgIGlmICghZnJvbUl0ZW1zLnNpemUoKSB8fCBmcm9tSXRlbXMuc2l6ZSgpICE9IHRvSXRl
bXMuc2l6ZSgpKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBmcm9tSXRlbXMuc2l6ZSgpOyArK2kpCi0gICAgICAgICAgICB0b0l0ZW1zW2ld
LT5zZXRWYWx1ZShmcm9tSXRlbXNbaV0tPnZhbHVlKCkgKyB0b0l0ZW1zW2ldLT52YWx1ZSgpKTsK
KyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGZyb21JdGVtcy5zaXplKCk7ICsraSkg
eworICAgICAgICAgICAgdG9JdGVtc1tpXS0+c2V0WChmcm9tSXRlbXNbaV0tPngoKSArIHRvSXRl
bXNbaV0tPngoKSk7CisgICAgICAgICAgICB0b0l0ZW1zW2ldLT5zZXRZKGZyb21JdGVtc1tpXS0+
eSgpICsgdG9JdGVtc1tpXS0+eSgpKTsKKyAgICAgICAgfQogICAgIH0KIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR01lbWJlckFjY2Vzc29yLmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdNZW1iZXJBY2Nlc3Nvci5oCmluZGV4IGY3
YmJhNmFlMGEwZWVhYmI2ZTYxODdhNTgxMDRmNzIxMjhhY2FhZmEuLmU1OTc3ODA1NzYwNDE5MTMy
N2MyNzQ1ODlkNjJhZjU3NjdiYmIzZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9w
cm9wZXJ0aWVzL1NWR01lbWJlckFjY2Vzc29yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3By
b3BlcnRpZXMvU1ZHTWVtYmVyQWNjZXNzb3IuaApAQCAtMzAsOCArMzAsOCBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKK2NsYXNzIERPTUxpdmVQcm9wZXJ0eTsKIGNsYXNzIFNWR0FuaW1hdGVk
UHJvcGVydHk7Ci1jbGFzcyBTVkdQcm9wZXJ0eTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgT3duZXJU
eXBlPgogY2xhc3MgU1ZHTWVtYmVyQWNjZXNzb3IgewpAQCAtNDMsOSArNDMsOSBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBib29sIGlzQW5pbWF0ZWRQcm9wZXJ0eSgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzQW5pbWF0ZWRMZW5ndGgoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQogCi0gICAgdmlydHVhbCBib29sIG1hdGNoZXMoY29uc3QgT3duZXJUeXBlJiwg
Y29uc3QgU1ZHUHJvcGVydHkmKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwg
Ym9vbCBtYXRjaGVzKGNvbnN0IE93bmVyVHlwZSYsIGNvbnN0IERPTUxpdmVQcm9wZXJ0eSYpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIG1hdGNoZXMoY29uc3QgT3du
ZXJUeXBlJiwgY29uc3QgU1ZHQW5pbWF0ZWRQcm9wZXJ0eSYpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9Ci0gICAgdmlydHVhbCBPcHRpb25hbDxTdHJpbmc+IHN5bmNocm9uaXplKGNvbnN0IE93bmVy
VHlwZSYpIGNvbnN0IHsgcmV0dXJuIFdURjo6bnVsbG9wdDsgfQorICAgIHZpcnR1YWwgU3RyaW5n
IHZhbHVlQXNTdHJpbmcoY29uc3QgT3duZXJUeXBlJikgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJp
bmcoKTsgfQogCiAgICAgdmlydHVhbCBSZWZQdHI8U1ZHQXR0cmlidXRlQW5pbWF0b3I+IGNyZWF0
ZUFuaW1hdG9yKE93bmVyVHlwZSYsIGNvbnN0IFF1YWxpZmllZE5hbWUmLCBBbmltYXRpb25Nb2Rl
LCBDYWxjTW9kZSwgYm9vbCwgYm9vbCkgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQogICAgIHZp
cnR1YWwgdm9pZCBhcHBlbmRBbmltYXRlZEluc3RhbmNlKE93bmVyVHlwZSYsIFNWR0F0dHJpYnV0
ZUFuaW1hdG9yJikgY29uc3QgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJv
cGVydGllcy9TVkdQb2ludGVyTWVtYmVyQWNjZXNzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9w
cm9wZXJ0aWVzL1NWR1BvaW50ZXJNZW1iZXJBY2Nlc3Nvci5oCmluZGV4IDhlMmY3NmRjYWI0ZTkw
ZmIzOGViMzM5NjllYTY1YzA3MDIyNDUzODcuLmFmNTNkNmM1NmZkODY5N2UzMDk1ZTAxY2JhYTk5
ZTg5ZDczNmQyMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NW
R1BvaW50ZXJNZW1iZXJBY2Nlc3Nvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0
aWVzL1NWR1BvaW50ZXJNZW1iZXJBY2Nlc3Nvci5oCkBAIC00Nyw5ICs0Nyw5IEBAIHB1YmxpYzoK
ICAgICAgICAgcHJvcGVydHkob3duZXIpLT5kZXRhY2goKTsKICAgICB9CiAKLSAgICBPcHRpb25h
bDxTdHJpbmc+IHN5bmNocm9uaXplKGNvbnN0IE93bmVyVHlwZSYgb3duZXIpIGNvbnN0IG92ZXJy
aWRlCisgICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoY29uc3QgT3duZXJUeXBlJiBvd25lcikgY29u
c3Qgb3ZlcnJpZGUKICAgICB7Ci0gICAgICAgIHJldHVybiBwcm9wZXJ0eShvd25lciktPnN5bmNo
cm9uaXplKCk7CisgICAgICAgIHJldHVybiBwcm9wZXJ0eShvd25lciktPnZhbHVlQXNTdHJpbmco
KTsKICAgICB9CiAKIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9w
cm9wZXJ0aWVzL1NWR1Byb3BlcnR5LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9T
VkdQcm9wZXJ0eS5oCmluZGV4IGNlNjVjYjExMGQxZmI0NjZlMjI5ZWM3OWM5ZGQwMTdlODYxMjk5
NjcuLjc2YTk3YzU5OWVjOGUzYzRjZTNjMDRiZTYxZDYxYTA4OThjNDdjZGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHkuaApAQCAtMjAsODMgKzIwLDIxIEBA
CiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiU1ZHUHJvcGVydHlPd25lci5oIgotI2luY2x1
ZGUgPHd0Zi9PcHRpb25hbC5oPgorI2luY2x1ZGUgIkRPTUxpdmVQcm9wZXJ0eS5oIgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBjbGFzcyBTVkdQcm9wZXJ0eUFjY2VzcyA6IHVp
bnQ4X3QgeyBSZWFkV3JpdGUsIFJlYWRPbmx5IH07Ci1lbnVtIGNsYXNzIFNWR1Byb3BlcnR5U3Rh
dGUgOiB1aW50OF90IHsgQ2xlYW4sIERpcnR5IH07Ci0KLWNsYXNzIFNWR1Byb3BlcnR5IDogcHVi
bGljIFJlZkNvdW50ZWQ8U1ZHUHJvcGVydHk+IHsKK2NsYXNzIFNWR1Byb3BlcnR5IDogcHVibGlj
IERPTUxpdmVQcm9wZXJ0eSwgcHVibGljIFJlZkNvdW50ZWQ8U1ZHUHJvcGVydHk+IHsKIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIH5TVkdQcm9wZXJ0eSgpID0gZGVmYXVsdDsKIAotICAgIC8vIE1hbmFn
aW5nIHRoZSByZWxhdGlvbnNoaXAgd2l0aCB0aGUgb3duZXIuCi0gICAgYm9vbCBpc0F0dGFjaGVk
KCkgY29uc3QgeyByZXR1cm4gbV9vd25lcjsgfQotICAgIHZvaWQgYXR0YWNoKFNWR1Byb3BlcnR5
T3duZXIqIG93bmVyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MpCi0gICAgewotICAgICAgICBB
U1NFUlQoIW1fb3duZXIpOwotICAgICAgICBBU1NFUlQobV9zdGF0ZSA9PSBTVkdQcm9wZXJ0eVN0
YXRlOjpDbGVhbik7Ci0gICAgICAgIG1fb3duZXIgPSBvd25lcjsKLSAgICAgICAgbV9hY2Nlc3Mg
PSBhY2Nlc3M7Ci0gICAgfQotCi0gICAgdm9pZCBkZXRhY2goKQotICAgIHsKLSAgICAgICAgbV9v
d25lciA9IG51bGxwdHI7Ci0gICAgICAgIG1fYWNjZXNzID0gU1ZHUHJvcGVydHlBY2Nlc3M6OlJl
YWRXcml0ZTsKLSAgICAgICAgbV9zdGF0ZSA9IFNWR1Byb3BlcnR5U3RhdGU6OkNsZWFuOwotICAg
IH0KLQotICAgIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QKLSAgICB7
Ci0gICAgICAgIGlmICghbV9vd25lcikKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOwotICAg
ICAgICByZXR1cm4gbV9vd25lci0+YXR0cmlidXRlQ29udGV4dEVsZW1lbnQoKTsKLSAgICB9Ci0K
LSAgICB2b2lkIGNvbW1pdENoYW5nZSgpCi0gICAgewotICAgICAgICBpZiAoIW1fb3duZXIpCi0g
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIG1fb3duZXItPmNvbW1pdFByb3BlcnR5Q2hhbmdl
KHRoaXMpOwotICAgIH0KLQotICAgIC8vIERPTSBhY2Nlc3MuCi0gICAgU1ZHUHJvcGVydHlBY2Nl
c3MgYWNjZXNzKCkgY29uc3QgeyByZXR1cm4gbV9hY2Nlc3M7IH0KLSAgICBib29sIGlzUmVhZE9u
bHkoKSBjb25zdCB7IHJldHVybiBtX2FjY2VzcyA9PSBTVkdQcm9wZXJ0eUFjY2Vzczo6UmVhZE9u
bHk7IH0KLQotICAgIC8vIFN5bmNocm9uaXppbmcgdGhlIFNWRyBhdHRyaWJ1dGUgYW5kIGl0cyBy
ZWZsZWN0aW9uIGhlcmUuCi0gICAgYm9vbCBpc0RpcnR5KCkgY29uc3QgeyByZXR1cm4gbV9zdGF0
ZSA9PSBTVkdQcm9wZXJ0eVN0YXRlOjpEaXJ0eTsgfQotICAgIHZvaWQgc2V0RGlydHkoKSB7IG1f
c3RhdGUgPSBTVkdQcm9wZXJ0eVN0YXRlOjpEaXJ0eTsgfQotICAgIE9wdGlvbmFsPFN0cmluZz4g
c3luY2hyb25pemUoKQotICAgIHsKLSAgICAgICAgaWYgKG1fc3RhdGUgPT0gU1ZHUHJvcGVydHlT
dGF0ZTo6Q2xlYW4pCi0gICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgICAgICBt
X3N0YXRlID0gU1ZHUHJvcGVydHlTdGF0ZTo6Q2xlYW47Ci0gICAgICAgIHJldHVybiB2YWx1ZUFz
U3RyaW5nKCk7Ci0gICAgfQotCiAgICAgLy8gVGhpcyBpcyB1c2VkIHdoZW4gY2FsbGluZyBzZXRB
dHRyaWJ1dGUoKS4KICAgICB2aXJ0dWFsIFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3QgeyBy
ZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQogCi0gICAgLy8gVmlzdWFsIFN0dWRpbyBkb2Vzbid0IHNl
ZW0gdG8gc2VlIHRoZXNlIHByaXZhdGUgY29uc3RydWN0b3JzIGZyb20gc3ViY2xhc3Nlcy4KLSAg
ICAvLyBGSVhNRTogU2VlIHdoYXQgaXQgdGFrZXMgdG8gcmVtb3ZlIHRoaXMgaGFjay4KLSNpZiAh
Q09NUElMRVIoTVNWQykKIHByb3RlY3RlZDoKLSNlbmRpZgotICAgIFNWR1Byb3BlcnR5KFNWR1By
b3BlcnR5T3duZXIqIG93bmVyID0gbnVsbHB0ciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzID0g
U1ZHUHJvcGVydHlBY2Nlc3M6OlJlYWRXcml0ZSkKLSAgICAgICAgOiBtX293bmVyKG93bmVyKQot
ICAgICAgICAsIG1fYWNjZXNzKGFjY2VzcykKLSAgICB7Ci0gICAgfQotCi0gICAgU1ZHUHJvcGVy
dHlPd25lciogbV9vd25lciB7IG51bGxwdHIgfTsKLSAgICBTVkdQcm9wZXJ0eUFjY2VzcyBtX2Fj
Y2VzcyB7IFNWR1Byb3BlcnR5QWNjZXNzOjpSZWFkV3JpdGUgfTsKLSAgICBTVkdQcm9wZXJ0eVN0
YXRlIG1fc3RhdGUgeyBTVkdQcm9wZXJ0eVN0YXRlOjpDbGVhbiB9OworICAgIHVzaW5nIERPTUxp
dmVQcm9wZXJ0eTo6RE9NTGl2ZVByb3BlcnR5OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlB
Y2Nlc3Nvci5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlBY2Nl
c3Nvci5oCmluZGV4IGZmOGM0Y2RlNmRkMGYzY2FmYmM4ZjI3YjI3MDI5NzBlMzVmNDg3NjQuLjhk
MTI4MTgyN2Q0ZmI5ODg5M2JmZjFmMjQ5ZTBiMzU2ODgyMjc1ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5QWNjZXNzb3IuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eUFjY2Vzc29yLmgKQEAgLTQwLDcg
KzQwLDcgQEAgcHJvdGVjdGVkOgogICAgIHVzaW5nIEJhc2U6OnByb3BlcnR5OwogICAgIHVzaW5n
IEJhc2U6OnNpbmdsZXRvbjsKIAotICAgIGJvb2wgbWF0Y2hlcyhjb25zdCBPd25lclR5cGUmIG93
bmVyLCBjb25zdCBTVkdQcm9wZXJ0eSYgcHJvcGVydHkpIGNvbnN0IG92ZXJyaWRlCisgICAgYm9v
bCBtYXRjaGVzKGNvbnN0IE93bmVyVHlwZSYgb3duZXIsIGNvbnN0IERPTUxpdmVQcm9wZXJ0eSYg
cHJvcGVydHkpIGNvbnN0IG92ZXJyaWRlCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy0+cHJv
cGVydHkob3duZXIpLnB0cigpID09ICZwcm9wZXJ0eTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eUxpc3QuaCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5TGlzdC5oCmluZGV4IGNiYjAwYWYxMDMwMjU5
ZmEzYzA0MWEzZjBmMmFiNzg3M2M3ZGQzY2QuLmMxMzQ2NDM4ODVmMWJlYWFmYjk3YTdiN2Y1ZDRl
ZTBmZDgyM2ZjMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NW
R1Byb3BlcnR5TGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1By
b3BlcnR5TGlzdC5oCkBAIC0zMCw3ICszMCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHRl
bXBsYXRlPHR5cGVuYW1lIFByb3BlcnR5VHlwZT4KLWNsYXNzIFNWR1Byb3BlcnR5TGlzdCA6IHB1
YmxpYyBTVkdMaXN0PFJlZjxQcm9wZXJ0eVR5cGU+PiwgcHVibGljIFNWR1Byb3BlcnR5T3duZXIg
eworY2xhc3MgU1ZHUHJvcGVydHlMaXN0IDogcHVibGljIFNWR0xpc3Q8UmVmPFByb3BlcnR5VHlw
ZT4+LCBwdWJsaWMgRE9NTGl2ZVByb3BlcnR5T2JzZXJ2ZXIgewogcHVibGljOgogICAgIHVzaW5n
IEJhc2VMaXN0ID0gU1ZHTGlzdDxSZWY8UHJvcGVydHlUeXBlPj47CiAgICAgdXNpbmcgQmFzZUxp
c3Q6OmlzRW1wdHk7CkBAIC00MiwxMyArNDIsMTIgQEAgcHVibGljOgogI2lmICFDT01QSUxFUihN
U1ZDKQogcHJvdGVjdGVkOgogI2VuZGlmCi0gICAgdXNpbmcgU1ZHUHJvcGVydHlPd25lcjo6U1ZH
UHJvcGVydHlPd25lcjsKKyAgICB1c2luZyBET01MaXZlUHJvcGVydHlPYnNlcnZlcjo6RE9NTGl2
ZVByb3BlcnR5T2JzZXJ2ZXI7CiAgICAgdXNpbmcgQmFzZUxpc3Q6Om1faXRlbXM7Ci0gICAgdXNp
bmcgQmFzZUxpc3Q6Om1fYWNjZXNzOwotICAgIHVzaW5nIEJhc2VMaXN0OjptX293bmVyOworICAg
IHVzaW5nIEJhc2VMaXN0OjptX29ic2VydmVyOwogCi0gICAgU1ZHUHJvcGVydHlMaXN0KFNWR1By
b3BlcnR5T3duZXIqIG93bmVyID0gbnVsbHB0ciwgU1ZHUHJvcGVydHlBY2Nlc3MgYWNjZXNzID0g
U1ZHUHJvcGVydHlBY2Nlc3M6OlJlYWRXcml0ZSkKLSAgICAgICAgOiBCYXNlTGlzdChvd25lciwg
YWNjZXNzKQorICAgIFNWR1Byb3BlcnR5TGlzdChET01MaXZlUHJvcGVydHlPYnNlcnZlciogb2Jz
ZXJ2ZXIgPSBudWxscHRyKQorICAgICAgICA6IEJhc2VMaXN0KG9ic2VydmVyKQogICAgIHsKICAg
ICB9CiAKQEAgLTY0LDEyICs2MywxNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgICAgICBpdGVtLT5k
ZXRhY2goKTsKICAgICB9CiAKLSAgICBTVkdQcm9wZXJ0eU93bmVyKiBvd25lcigpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIG1fb3duZXI7IH0KKyAgICBET01MaXZlUHJvcGVydHlPYnNlcnZlciog
b2JzZXJ2ZXIoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX29ic2VydmVyOyB9CiAKLSAgICB2
b2lkIGNvbW1pdFByb3BlcnR5Q2hhbmdlKFNWR1Byb3BlcnR5Kikgb3ZlcnJpZGUKKyAgICBib29s
IGlzUHJvcGVydHlSZWFkT25seShjb25zdCBET01MaXZlUHJvcGVydHkmKSBjb25zdCBvdmVycmlk
ZQogICAgIHsKLSAgICAgICAgaWYgKG93bmVyKCkpCi0gICAgICAgICAgICBvd25lcigpLT5jb21t
aXRQcm9wZXJ0eUNoYW5nZSh0aGlzKTsKKyAgICAgICAgcmV0dXJuIG9ic2VydmVyKCkgJiYgb2Jz
ZXJ2ZXIoKS0+aXNQcm9wZXJ0eVJlYWRPbmx5KCp0aGlzKTsKKyAgICB9CisKKyAgICB2b2lkIGNv
bW1pdFByb3BlcnR5Q2hhbmdlKERPTUxpdmVQcm9wZXJ0eSopIG92ZXJyaWRlCisgICAgeworICAg
ICAgICBpZiAob2JzZXJ2ZXIoKSkKKyAgICAgICAgICAgIG9ic2VydmVyKCktPmNvbW1pdFByb3Bl
cnR5Q2hhbmdlKHRoaXMpOwogICAgIH0KIAogICAgIFJlZjxQcm9wZXJ0eVR5cGU+IGF0KHVuc2ln
bmVkIGluZGV4KSBjb25zdCBvdmVycmlkZQpAQCAtODgsNyArOTIsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgICAgICAgICBuZXdJdGVtID0gbmV3SXRlbS0+Y2xvbmUoKTsKIAogICAgICAgICAvLyBTcGVj
OiBBdHRhY2ggbmV3SXRlbSB0byB0aGUgbGlzdCBvYmplY3QuCi0gICAgICAgIG5ld0l0ZW0tPmF0
dGFjaCh0aGlzLCBtX2FjY2Vzcyk7CisgICAgICAgIG5ld0l0ZW0tPmF0dGFjaCh0aGlzKTsKICAg
ICAgICAgbV9pdGVtcy5pbnNlcnQoaW5kZXgsIFdURk1vdmUobmV3SXRlbSkpOwogICAgICAgICBy
ZXR1cm4gYXQoaW5kZXgpOwogICAgIH0KQEAgLTEwOSw3ICsxMTMsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgICAgICAgICBpdGVtID0gV1RGTW92ZShuZXdJdGVtKTsKIAogICAgICAgICAvLyBTcGVjOiBB
dHRhY2ggbmV3SXRlbSB0byB0aGUgbGlzdCBvYmplY3QuCi0gICAgICAgIGl0ZW0tPmF0dGFjaCh0
aGlzLCBtX2FjY2Vzcyk7CisgICAgICAgIGl0ZW0tPmF0dGFjaCh0aGlzKTsKICAgICAgICAgcmV0
dXJuIGF0KGluZGV4KTsKICAgICB9CiAKQEAgLTEzMiw3ICsxMzYsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgICAgICAgICBuZXdJdGVtID0gbmV3SXRlbS0+Y2xvbmUoKTsKIAogICAgICAgICAvLyBTcGVj
OiBBdHRhY2ggbmV3SXRlbSB0byB0aGUgbGlzdCBvYmplY3QuCi0gICAgICAgIG5ld0l0ZW0tPmF0
dGFjaCh0aGlzLCBtX2FjY2Vzcyk7CisgICAgICAgIG5ld0l0ZW0tPmF0dGFjaCh0aGlzKTsKICAg
ICAgICAgbV9pdGVtcy5hcHBlbmQoV1RGTW92ZShuZXdJdGVtKSk7CiAgICAgICAgIHJldHVybiBh
dChzaXplKCkgLSAxKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJv
cGVydGllcy9TVkdQcm9wZXJ0eU93bmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGll
cy9TVkdQcm9wZXJ0eU93bmVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5ODE4
YmU5Zjg0MGM3NjQ1Mzk4ZTYxYjQ4OTM4MTg2MmEzNDY4ZjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMv
U1ZHUHJvcGVydHlPd25lci5oCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxOC0yMDE5IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25j
ZQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCi1jbGFzcyBTVkdFbGVtZW50OwotY2xhc3Mg
U1ZHUHJvcGVydHk7Ci0KLWNsYXNzIFNWR1Byb3BlcnR5T3duZXIgewotcHVibGljOgotICAgIHZp
cnR1YWwgflNWR1Byb3BlcnR5T3duZXIoKSA9IGRlZmF1bHQ7Ci0KLSAgICB2aXJ0dWFsIFNWR1By
b3BlcnR5T3duZXIqIG93bmVyKCkgY29uc3QgeyByZXR1cm4gbnVsbHB0cjsgfQotICAgIAotICAg
IHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogYXR0cmlidXRlQ29udGV4dEVsZW1lbnQoKSBjb25z
dAotICAgIHsKLSAgICAgICAgaWYgKCFvd25lcigpKQotICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7Ci0gICAgICAgIHJldHVybiBvd25lcigpLT5hdHRyaWJ1dGVDb250ZXh0RWxlbWVudCgpOwot
ICAgIH0KLSAgICAKLSAgICB2aXJ0dWFsIHZvaWQgY29tbWl0UHJvcGVydHlDaGFuZ2UoU1ZHUHJv
cGVydHkqIHByb3BlcnR5KQotICAgIHsKLSAgICAgICAgaWYgKCFvd25lcigpKQotICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICBvd25lcigpLT5jb21taXRQcm9wZXJ0eUNoYW5nZShwcm9wZXJ0
eSk7Ci0gICAgfQotICAgIAotcHJvdGVjdGVkOgotICAgIFNWR1Byb3BlcnR5T3duZXIoKSA9IGRl
ZmF1bHQ7Ci19OwotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGll
cy9TVkdQcm9wZXJ0eU93bmVyUmVnaXN0cnkuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0
aWVzL1NWR1Byb3BlcnR5T3duZXJSZWdpc3RyeS5oCmluZGV4IGE1ZjcxMzY5N2VhMmM0YzYwMGJh
NTM3ZGEyOTQxZjVkYTk5ZTk3OGIuLjMxOWE1MDgyYTU5ZDlkZTViNjFkZmYyMWI1ZWIzNjhmZDI4
N2FjNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3Bl
cnR5T3duZXJSZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NW
R1Byb3BlcnR5T3duZXJSZWdpc3RyeS5oCkBAIC0xNzgsNyArMTc4LDcgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgUXVhbGlmaWVkTmFtZSBwcm9wZXJ0eUF0
dHJpYnV0ZU5hbWUoY29uc3QgU1ZHUHJvcGVydHkmIHByb3BlcnR5KSBjb25zdCBvdmVycmlkZQor
ICAgIFF1YWxpZmllZE5hbWUgcHJvcGVydHlBdHRyaWJ1dGVOYW1lKGNvbnN0IERPTUxpdmVQcm9w
ZXJ0eSYgcHJvcGVydHkpIGNvbnN0IG92ZXJyaWRlCiAgICAgewogICAgICAgICBRdWFsaWZpZWRO
YW1lIGF0dHJpYnV0ZU5hbWUgPSBudWxsUU5hbWUoKTsKICAgICAgICAgZW51bWVyYXRlUmVjdXJz
aXZlbHkoWyZdKGNvbnN0IGF1dG8mIGVudHJ5KSAtPiBib29sIHsKQEAgLTIxMSwzMyArMjExLDIw
IEBAIHB1YmxpYzoKICAgICAgICAgfSk7CiAgICAgfQogCi0gICAgLy8gRmluZHMgdGhlIHByb3Bl
cnR5IHdob3NlIG5hbWUgaXMgYXR0cmlidXRlTmFtZSBhbmQgcmV0dXJucyB0aGUgc3luY2hyb25p
emUKLSAgICAvLyBzdHJpbmcgdGhyb3VnaCB0aGUgYXNzb2NpYXRlZCBTVkdNZW1iZXJBY2Nlc3Nv
ci4KLSAgICBPcHRpb25hbDxTdHJpbmc+IHN5bmNocm9uaXplKGNvbnN0IFF1YWxpZmllZE5hbWUm
IGF0dHJpYnV0ZU5hbWUpIGNvbnN0IG92ZXJyaWRlCisgICAgLy8gRmluZHMgdGhlIHByb3BlcnR5
IHdob3NlIG5hbWUgaXMgYXR0cmlidXRlTmFtZSBhbmQgcmV0dXJucyB0aGUgdmFsdWVBc1N0cmlu
ZworICAgIC8vIHRocm91Z2ggdGhlIGFzc29jaWF0ZWQgU1ZHTWVtYmVyQWNjZXNzb3IuCisgICAg
U3RyaW5nIHZhbHVlQXNTdHJpbmcoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkg
Y29uc3Qgb3ZlcnJpZGUKICAgICB7Ci0gICAgICAgIE9wdGlvbmFsPFN0cmluZz4gdmFsdWU7Cisg
ICAgICAgIFN0cmluZyB2YWx1ZTsKICAgICAgICAgZW51bWVyYXRlUmVjdXJzaXZlbHkoWyZdKGNv
bnN0IGF1dG8mIGVudHJ5KSAtPiBib29sIHsKICAgICAgICAgICAgIGlmICghZW50cnkua2V5Lm1h
dGNoZXMoYXR0cmlidXRlTmFtZSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
ICAgICAgICB2YWx1ZSA9IGVudHJ5LnZhbHVlLT5zeW5jaHJvbml6ZShtX293bmVyKTsKKyAgICAg
ICAgICAgIHZhbHVlID0gZW50cnkudmFsdWUtPnZhbHVlQXNTdHJpbmcobV9vd25lcik7CiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm4gdmFsdWU7
CiAgICAgfQogCi0gICAgLy8gRW51bWVyYXRlIHJlY3Vyc2l2ZWx5IHRoZSBTVkdNZW1iZXJBY2Nl
c3NvcnMgb2YgdGhlIE93bmVyVHlwZSBhbmQgYWxsIGl0cyBCYXNlVHlwZXMuCi0gICAgLy8gQ29s
bGVjdCBhbGwgdGhlIHBhaXJzIDxBdHRyaWJ1dGVOYW1lLCBTdHJpbmc+IG9ubHkgZm9yIHRoZSBk
aXJ0eSBwcm9wZXJ0aWVzLgotICAgIEhhc2hNYXA8UXVhbGlmaWVkTmFtZSwgU3RyaW5nPiBzeW5j
aHJvbml6ZUFsbEF0dHJpYnV0ZXMoKSBjb25zdCBvdmVycmlkZQotICAgIHsKLSAgICAgICAgSGFz
aE1hcDxRdWFsaWZpZWROYW1lLCBTdHJpbmc+IG1hcDsKLSAgICAgICAgZW51bWVyYXRlUmVjdXJz
aXZlbHkoWyZdKGNvbnN0IGF1dG8mIGVudHJ5KSAtPiBib29sIHsKLSAgICAgICAgICAgIGlmIChh
dXRvIHN0cmluZyA9IGVudHJ5LnZhbHVlLT5zeW5jaHJvbml6ZShtX293bmVyKSkKLSAgICAgICAg
ICAgICAgICBtYXAuYWRkKGVudHJ5LmtleSwgKnN0cmluZyk7Ci0gICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICAgICAgfSk7Ci0gICAgICAgIHJldHVybiBtYXA7Ci0gICAgfQotCiAgICAgYm9v
bCBpc0FuaW1hdGVkUHJvcGVydHlBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmli
dXRlTmFtZSkgY29uc3Qgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIGJvb2wgaXNBbmltYXRlZFBy
b3BlcnR5QXR0cmlidXRlID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
cHJvcGVydGllcy9TVkdQcm9wZXJ0eVJlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJv
cGVydGllcy9TVkdQcm9wZXJ0eVJlZ2lzdHJ5LmgKaW5kZXggMjRmZTY0MjM3ZTJmNWU1ZTFhZmU4
NTUxMGYxMzY2MjYyZGY0MzQwNC4uZGUyOGViOWZlMTRhNzg3YTZjNTUxZTRkZDBmNTg1MDM4N2Uy
OWE5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVy
dHlSZWdpc3RyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3Bl
cnR5UmVnaXN0cnkuaApAQCAtMzcsMTAgKzM3LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgflNW
R1Byb3BlcnR5UmVnaXN0cnkoKSA9IGRlZmF1bHQ7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNo
QWxsUHJvcGVydGllcygpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIFF1YWxpZmllZE5hbWUgcHJv
cGVydHlBdHRyaWJ1dGVOYW1lKGNvbnN0IFNWR1Byb3BlcnR5JikgY29uc3QgPSAwOworICAgIHZp
cnR1YWwgUXVhbGlmaWVkTmFtZSBwcm9wZXJ0eUF0dHJpYnV0ZU5hbWUoY29uc3QgRE9NTGl2ZVBy
b3BlcnR5JikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgUXVhbGlmaWVkTmFtZSBhbmltYXRlZFBy
b3BlcnR5QXR0cmlidXRlTmFtZShjb25zdCBTVkdBbmltYXRlZFByb3BlcnR5JikgY29uc3QgPSAw
OwotICAgIHZpcnR1YWwgT3B0aW9uYWw8U3RyaW5nPiBzeW5jaHJvbml6ZShjb25zdCBRdWFsaWZp
ZWROYW1lJikgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgSGFzaE1hcDxRdWFsaWZpZWROYW1lLCBT
dHJpbmc+IHN5bmNocm9uaXplQWxsQXR0cmlidXRlcygpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFs
IFN0cmluZyB2YWx1ZUFzU3RyaW5nKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdCA9IDA7CiAK
ICAgICB2aXJ0dWFsIGJvb2wgaXNBbmltYXRlZFByb3BlcnR5QXR0cmlidXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzQW5pbWF0ZWRTdHlsZVBy
b3BlcnR5QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdCA9IDA7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5LmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5LmgKaW5kZXggOWYz
MWUyZDBmNTM5Y2MyMDIzYjYzZjg3MDY4NmYwZWQ4MWRjMjljZS4uODUyZjI3NGQ3YmIzMWU3NWEy
MjUwOTExM2MyNzI2OWExZDc5OTRlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3By
b3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9w
ZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHkuaApAQCAtNjQsMTQgKzY0LDE0IEBAIHByb3RlY3RlZDoK
ICAgICB9CiAKICAgICAvLyBCYXNlIGFuZCBkZWZhdWx0IGNvbnN0cnVjdG9yLiBEbyBub3QgdXNl
ICJ1c2luZyBTVkdQcm9wZXJ0eTo6U1ZHUHJvcGVydHkiIGJlY2F1c2Ugb2YgV2luZG93cyBhbmQg
R1RLIHBvcnRzLgotICAgIFNWR1ZhbHVlUHJvcGVydHkoU1ZHUHJvcGVydHlPd25lciogb3duZXIg
PSBudWxscHRyLCBTVkdQcm9wZXJ0eUFjY2VzcyBhY2Nlc3MgPSBTVkdQcm9wZXJ0eUFjY2Vzczo6
UmVhZFdyaXRlKQotICAgICAgICA6IFNWR1Byb3BlcnR5KG93bmVyLCBhY2Nlc3MpCisgICAgU1ZH
VmFsdWVQcm9wZXJ0eShET01MaXZlUHJvcGVydHlPYnNlcnZlciogb2JzZXJ2ZXIgPSBudWxscHRy
KQorICAgICAgICA6IFNWR1Byb3BlcnR5KG9ic2VydmVyKQogICAgIHsKICAgICB9CiAKICAgICAv
LyBDcmVhdGUgYW4gaW5pdGlhbGl6ZWQgYW5kIGF0dGFjaGVkIHByb3BlcnR5LgotICAgIFNWR1Zh
bHVlUHJvcGVydHkoU1ZHUHJvcGVydHlPd25lciogb3duZXIsIFNWR1Byb3BlcnR5QWNjZXNzIGFj
Y2VzcywgY29uc3QgUHJvcGVydHlUeXBlJiB2YWx1ZSkKLSAgICAgICAgOiBTVkdQcm9wZXJ0eShv
d25lciwgYWNjZXNzKQorICAgIFNWR1ZhbHVlUHJvcGVydHkoRE9NTGl2ZVByb3BlcnR5T2JzZXJ2
ZXIqIG9ic2VydmVyLCBjb25zdCBQcm9wZXJ0eVR5cGUmIHZhbHVlKQorICAgICAgICA6IFNWR1By
b3BlcnR5KG9ic2VydmVyKQogICAgICAgICAsIG1fdmFsdWUodmFsdWUpCiAgICAgewogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVy
dHlMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdWYWx1ZVByb3BlcnR5
TGlzdC5oCmluZGV4IDMwMTBjMzNhNzQwODliYzQ0ZmJiNDEwYTU2Zjc4NWE5ZjcxN2NjZWUuLmM1
YjczYTBlYTRiOTZmYjFjNGIwNDQzZWQ5MTE1YTA5NDRlYjUyZTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1ZhbHVlUHJvcGVydHlMaXN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHVmFsdWVQcm9wZXJ0eUxpc3QuaApAQCAtNzUs
MTQgKzc1LDE0IEBAIHByb3RlY3RlZDoKICAgICB1c2luZyBCYXNlOjpyZW1vdmU7CiAKICAgICAv
LyBCYXNlIGFuZCBkZWZhdWx0IGNvbnN0cnVjdG9yLiBEbyBub3QgdXNlICJ1c2luZyBCYXNlOjpC
YXNlIiBiZWNhdXNlIG9mIFdpbmRvd3MgYW5kIEdUSyBwb3J0cy4KLSAgICBTVkdWYWx1ZVByb3Bl
cnR5TGlzdChTVkdQcm9wZXJ0eU93bmVyKiBvd25lciA9IG51bGxwdHIsIFNWR1Byb3BlcnR5QWNj
ZXNzIGFjY2VzcyA9IFNWR1Byb3BlcnR5QWNjZXNzOjpSZWFkV3JpdGUpCi0gICAgICAgIDogQmFz
ZShvd25lciwgYWNjZXNzKQorICAgIFNWR1ZhbHVlUHJvcGVydHlMaXN0KERPTUxpdmVQcm9wZXJ0
eU9ic2VydmVyKiBvYnNlcnZlciA9IG51bGxwdHIpCisgICAgICAgIDogQmFzZShvYnNlcnZlcikK
ICAgICB7CiAgICAgfQogCiAgICAgLy8gVXNlZCBieSBTVkdBbmltYXRlZFByb3BlcnR5TGlzdCB3
aGVuIGNyZWF0aW5nIGl0IGFuaW1WYWwgZnJvbSBiYXNlVmFsLgotICAgIFNWR1ZhbHVlUHJvcGVy
dHlMaXN0KGNvbnN0IFNWR1ZhbHVlUHJvcGVydHlMaXN0JiBvdGhlciwgU1ZHUHJvcGVydHlBY2Nl
c3MgYWNjZXNzID0gU1ZHUHJvcGVydHlBY2Nlc3M6OlJlYWRXcml0ZSkKLSAgICAgICAgOiBCYXNl
KG90aGVyLm93bmVyKCksIGFjY2VzcykKKyAgICBTVkdWYWx1ZVByb3BlcnR5TGlzdChjb25zdCBT
VkdWYWx1ZVByb3BlcnR5TGlzdCYgb3RoZXIpCisgICAgICAgIDogQmFzZShvdGhlci5vYnNlcnZl
cigpKQogICAgIHsKICAgICAgICAgLy8gQ2xvbmUgYWxsIGl0ZW1zLgogICAgICAgICBmb3IgKGNv
bnN0IGF1dG8mIGl0ZW0gOiBvdGhlci5pdGVtcygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1ldGVycy5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9OYXRpdmVGdW5j
dGlvblBhcmFtZXRlcnMuanMKaW5kZXggNGI0YmJhMjgxZWZkZGFiZTRkYWJjYmVjNDJlZjQwNzgx
OTEzMGEwMC4uZmJkYjhlNGJlYTIzMDVkYzRjYmVjOGJmMTIwNGJhOGFlYWU2NDAxOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1
bmN0aW9uUGFyYW1ldGVycy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvTmF0aXZlRnVuY3Rpb25QYXJhbWV0ZXJzLmpzCkBAIC0xNTM4LDExICsxNTM4
LDYgQEAgV0kuTmF0aXZlUHJvdG90eXBlRnVuY3Rpb25QYXJhbWV0ZXJzID0gewogICAgICAgICBf
X3Byb3RvX186IG51bGwsCiAgICAgfSwKIAotICAgIFNWR1BvaW50OiB7Ci0gICAgICAgIG1hdHJp
eFRyYW5zZm9ybTogIm1hdHJpeCIsCi0gICAgICAgIF9fcHJvdG9fXzogbnVsbCwKLSAgICB9LAot
CiAgICAgU1ZHUG9pbnRMaXN0OiB7CiAgICAgICAgIGFwcGVuZEl0ZW06ICJpdGVtIiwKICAgICAg
ICAgZ2V0SXRlbTogImluZGV4IiwKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xz
L0NoYW5nZUxvZwppbmRleCBjZTkzMjJhOTJiZTZmYmE1N2Y5OWI5ODQ2NTUwNjA2NWI1ZWVhMzFm
Li5kMDAyNGE5OGMzNTgyY2JiYjJlMTFlMGM0ZTI2Yzk3ODRlODZmMGUxIDEwMDY0NAotLS0gYS9U
b29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MTktMTAtMDkgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbU1ZHMl06IFJlbW92ZSB0aGUgaW50ZXJmYWNlIFNWR1BvaW50CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTEzNzYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cGVy
bC9maWx0ZXItYnVpbGQtd2Via2l0X3VuaXR0ZXN0L3Nob3VsZElnbm9yZUxpbmVfdW5pdHRlc3Rz
LnBsOgorCiAyMDE5LTEwLTA5ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAg
ICAgICBQcm92aWRlIGFuIGFsdGVybmF0ZSBjb21tYW5kLWxpbmUgZmxhZyBmb3IgdGltZW91dCBp
biBydW4td2Via2l0LXRlc3RzCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwv
ZmlsdGVyLWJ1aWxkLXdlYmtpdF91bml0dGVzdC9zaG91bGRJZ25vcmVMaW5lX3VuaXR0ZXN0cy5w
bCBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9maWx0ZXItYnVpbGQtd2Via2l0X3VuaXR0ZXN0
L3Nob3VsZElnbm9yZUxpbmVfdW5pdHRlc3RzLnBsCmluZGV4IGMzODMwM2NjYmNlNTUwZDQzOGUw
NWYyY2E2YmZkNTEzZmZlODU5YTAuLmMxMDYwMGFjOTE3NWNmZTQ2MDFhOWNiOGFmODBmYTFiNTZm
NmVhODMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9maWx0ZXItYnVpbGQt
d2Via2l0X3VuaXR0ZXN0L3Nob3VsZElnbm9yZUxpbmVfdW5pdHRlc3RzLnBsCisrKyBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cGVybC9maWx0ZXItYnVpbGQtd2Via2l0X3VuaXR0ZXN0L3Nob3VsZEln
bm9yZUxpbmVfdW5pdHRlc3RzLnBsCkBAIC01Niw3ICs1Niw3IEBAIENyZWF0aW5nIGhhc2h0YWJs
ZSBmb3IgSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmNwcAogV3JvdGUg
b3V0cHV0IHRvIC9Wb2x1bWVzL0RhdGEvQnVpbGQvUmVsZWFzZS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0V4cG9ydEZpbGVHZW5lcmF0b3IuY3BwCiAvQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250
ZW50cy9EZXZlbG9wZXIvVG9vbGNoYWlucy9YY29kZURlZmF1bHQueGN0b29sY2hhaW4vdXNyL2Jp
bi9saWJ0b29sOiBmaWxlOiAvVm9sdW1lcy9EYXRhL0J1aWxkL0FOR0xFLmJ1aWxkL1JlbGVhc2Uv
QU5HTEUuYnVpbGQvT2JqZWN0cy1ub3JtYWwvaTM4Ni9kZWJ1Zy5vIGhhcyBubyBzeW1ib2xzCiBT
aG93aW5nIGZpcnN0IDIwMCBub3RpY2VzIG9ubHkKLXByaW50ZiAiV2ViQ29yZS9Nb2R1bGVzL2Vu
Y3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2Vu
Y3J5cHRlZG1lZGlhL01lZGlhS2V5TmVlZGVkRXZlbnQuaWRsXG5XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5cy5pZGxcbldlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RPTUZpbGVT
eXN0ZW0uaWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9ET01GaWxlU3lzdGVtU3luYy5p
ZGxcbldlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0RPTVdpbmRvd0ZpbGVTeXN0ZW0uaWRsXG5X
ZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeS5pZGxcbldlYkNvcmUvTW9k
dWxlcy9maWxlc3lzdGVtL0RpcmVjdG9yeUVudHJ5U3luYy5pZGxcbldlYkNvcmUvTW9kdWxlcy9m
aWxlc3lzdGVtL0RpcmVjdG9yeVJlYWRlci5pZGxcbldlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVt
L0RpcmVjdG9yeVJlYWRlclN5bmMuaWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9FbnRy
aWVzQ2FsbGJhY2suaWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9FbnRyeS5pZGxcbldl
YkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0VudHJ5QXJyYXkuaWRsXG5XZWJDb3JlL01vZHVsZXMv
ZmlsZXN5c3RlbS9FbnRyeUFycmF5U3luYy5pZGxcbldlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVt
L0VudHJ5Q2FsbGJhY2suaWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9FbnRyeVN5bmMu
aWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9FcnJvckNhbGxiYWNrLmlkbFxuV2ViQ29y
ZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRmlsZUNhbGxiYWNrLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2Zp
bGVzeXN0ZW0vRmlsZUVudHJ5LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRmlsZUVu
dHJ5U3luYy5pZGxcbldlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0ZpbGVTeXN0ZW1DYWxsYmFj
ay5pZGxcbldlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0ZpbGVXcml0ZXIuaWRsXG5XZWJDb3Jl
L01vZHVsZXMvZmlsZXN5c3RlbS9GaWxlV3JpdGVyQ2FsbGJhY2suaWRsXG5XZWJDb3JlL01vZHVs
ZXMvZmlsZXN5c3RlbS9GaWxlV3JpdGVyU3luYy5pZGxcbldlYkNvcmUvTW9kdWxlcy9maWxlc3lz
dGVtL01ldGFkYXRhLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vTWV0YWRhdGFDYWxs
YmFjay5pZGxcbldlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL1dvcmtlckNvbnRleHRGaWxlU3lz
dGVtLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0Nvb3JkaW5hdGVzLmlkbFxuV2Vi
Q29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uLmlkbFxuV2ViQ29yZS9Nb2R1bGVz
L2dlb2xvY2F0aW9uL0dlb3Bvc2l0aW9uLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9u
L05hdmlnYXRvckdlb2xvY2F0aW9uLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL1Bv
c2l0aW9uQ2FsbGJhY2suaWRsXG5XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25F
cnJvci5pZGxcbldlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkVycm9yQ2FsbGJh
Y2suaWRsXG5XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0RPTVdpbmRvd0luZGV4ZWREYXRhYmFz
ZS5pZGxcbldlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQW55LmlkbFxuV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuaWRsXG5XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QkRhdGFiYXNlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5LmlkbFxu
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5pZGxcbldlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCS2V5UmFuZ2UuaWRsXG5XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9i
amVjdFN0b3JlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmlkbFxu
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5pZGxcbldlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCVmVyc2lvbkNoYW5nZUV2ZW50LmlkbFxuV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9Xb3JrZXJDb250ZXh0SW5kZXhlZERhdGFiYXNlLmlkbFxuV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL01lZGlhU291cmNlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291
cmNlL1NvdXJjZUJ1ZmZlci5pZGxcbldlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VC
dWZmZXJMaXN0LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvRE9NV2luZG93Tm90
aWZpY2F0aW9ucy5pZGxcbldlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5pZGxcbldlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbkNlbnRlci5p
ZGxcbldlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjay5pZGxcbldlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL1dvcmtlckNvbnRleHRO
b3RpZmljYXRpb25zLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL0RPTVdpbmRvd1F1b3RhLmlk
bFxuV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL05hdmlnYXRvclN0b3JhZ2VRdW90YS5pZGxcbldlYkNv
cmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlSW5mby5pZGxcbldlYkNvcmUvTW9kdWxlcy9xdW90YS9T
dG9yYWdlRXJyb3JDYWxsYmFjay5pZGxcbldlYkNvcmUvTW9kdWxlcy9xdW90YS9TdG9yYWdlUXVv
dGEuaWRsXG5XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVF1b3RhQ2FsbGJhY2suaWRsXG5X
ZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZVVzYWdlQ2FsbGJhY2suaWRsXG5XZWJDb3JlL01v
ZHVsZXMvcXVvdGEvV29ya2VyTmF2aWdhdG9yU3RvcmFnZVF1b3RhLmlkbFxuV2ViQ29yZS9Nb2R1
bGVzL3NwZWVjaC9ET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuaWRsXG5XZWJDb3JlL01vZHVsZXMv
c3BlZWNoL1NwZWVjaFN5bnRoZXNpcy5pZGxcbldlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNo
U3ludGhlc2lzRXZlbnQuaWRsXG5XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5bnRoZXNp
c1V0dGVyYW5jZS5pZGxcbldlYkNvcmUvTW9kdWxlcy9zcGVlY2gvU3BlZWNoU3ludGhlc2lzVm9p
Y2UuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXIuaWRsXG5XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJDYWxsYmFjay5pZGxcbldlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9BdWRpb0J1ZmZlclNvdXJjZU5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQ2hhbm5lbE1lcmdlck5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ2hh
bm5lbFNwbGl0dGVyTm9kZS5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb0NvbnRl
eHQuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9EZXN0aW5hdGlvbk5vZGUuaWRs
XG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vR2Fpbk5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vQXVkaW9MaXN0ZW5lci5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BdWRp
b05vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vUGFubmVyTm9kZS5pZGxcbldlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9BdWRpb1BhcmFtLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL0F1ZGlvUHJvY2Vzc2luZ0V2ZW50LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0Jp
cXVhZEZpbHRlck5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQ29udm9sdmVyTm9k
ZS5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9ET01XaW5kb3dXZWJBdWRpby5pZGxcbldl
YkNvcmUvTW9kdWxlcy93ZWJhdWRpby9EZWxheU5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vRHluYW1pY3NDb21wcmVzc29yTm9kZS5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJhdWRp
by9TY3JpcHRQcm9jZXNzb3JOb2RlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlh
RWxlbWVudEF1ZGlvU291cmNlTm9kZS5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRp
YVN0cmVhbUF1ZGlvU291cmNlTm9kZS5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9Pc2Np
bGxhdG9yTm9kZS5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9Db250
ZXh0LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0NvbXBsZXRpb25F
dmVudC5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9BbmFseXNlck5vZGUuaWRsXG5XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlck5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMv
d2ViYXVkaW8vV2F2ZVRhYmxlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RPTVdp
bmRvd1dlYkRhdGFiYXNlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNl
LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlQ2FsbGJhY2suaWRsXG5X
ZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VTeW5jLmlkbFxuV2ViQ29yZS9Nb2R1
bGVzL3dlYmRhdGFiYXNlL1NRTEVycm9yLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNl
L1NRTEV4Y2VwdGlvbi5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxSZXN1bHRT
ZXQuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMUmVzdWx0U2V0Um93TGlzdC5p
ZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRDYWxsYmFjay5pZGxc
bldlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmlk
bFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uLmlkbFxuV2ViQ29y
ZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uQ2FsbGJhY2suaWRsXG5XZWJDb3Jl
L01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrLmlkbFxuV2Vi
Q29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uU3luYy5pZGxcbldlYkNvcmUv
TW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjay5pZGxcbldlYkNv
cmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9Xb3JrZXJDb250ZXh0V2ViRGF0YWJhc2UuaWRsXG5XZWJD
b3JlL01vZHVsZXMvd2Vic29ja2V0cy9DbG9zZUV2ZW50LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dl
YnNvY2tldHMvRE9NV2luZG93V2ViU29ja2V0LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tl
dHMvV2ViU29ja2V0LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV29ya2VyQ29udGV4
dFdlYlNvY2tldC5pZGxcbldlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmlkbFxuV2ViQ29yZS9j
c3MvQ1NTRm9udEZhY2VMb2FkRXZlbnQuaWRsXG5XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVJ1bGUu
aWRsXG5XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5pZGxcbldlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1
bGUuaWRsXG5XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaWRsXG5XZWJDb3JlL2Nzcy9DU1NQYWdl
UnVsZS5pZGxcbldlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmlkbFxuV2ViQ29yZS9jc3Mv
Q1NTUnVsZS5pZGxcbldlYkNvcmUvY3NzL0NTU1J1bGVMaXN0LmlkbFxuV2ViQ29yZS9jc3MvQ1NT
U3R5bGVEZWNsYXJhdGlvbi5pZGxcbldlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5pZGxcbldlYkNv
cmUvY3NzL0NTU1N0eWxlU2hlZXQuaWRsXG5XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuaWRs
XG5XZWJDb3JlL2Nzcy9DU1NVbmtub3duUnVsZS5pZGxcbldlYkNvcmUvY3NzL0NTU1ZhbHVlLmlk
bFxuV2ViQ29yZS9jc3MvQ1NTVmFsdWVMaXN0LmlkbFxuV2ViQ29yZS9jc3MvQ291bnRlci5pZGxc
bldlYkNvcmUvY3NzL0RPTVdpbmRvd0NTUy5pZGxcbldlYkNvcmUvY3NzL0ZvbnRMb2FkZXIuaWRs
XG5XZWJDb3JlL2Nzcy9NZWRpYUxpc3QuaWRsXG5XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5p
ZGxcbldlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaWRsXG5XZWJDb3JlL2Nzcy9S
R0JDb2xvci5pZGxcbldlYkNvcmUvY3NzL1JlY3QuaWRsXG5XZWJDb3JlL2Nzcy9TdHlsZU1lZGlh
LmlkbFxuV2ViQ29yZS9jc3MvU3R5bGVTaGVldC5pZGxcbldlYkNvcmUvY3NzL1N0eWxlU2hlZXRM
aXN0LmlkbFxuV2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyVmFsdWUuaWRsXG5XZWJDb3JlL2Nz
cy9XZWJLaXRDU1NGaWx0ZXJSdWxlLmlkbFxuV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVS
dWxlLmlkbFxuV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5pZGxcbldlYkNvcmUv
Y3NzL1dlYktpdENTU01hdHJpeC5pZGxcbldlYkNvcmUvY3NzL1dlYktpdENTU01peEZ1bmN0aW9u
VmFsdWUuaWRsXG5XZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmlkbFxuV2ViQ29yZS9j
c3MvV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaWRsXG5XZWJDb3JlL2Nzcy9XZWJLaXRDU1NWaWV3
cG9ydFJ1bGUuaWRsXG5XZWJDb3JlL2RvbS9BdHRyLmlkbFxuV2ViQ29yZS9kb20vQmVmb3JlTG9h
ZEV2ZW50LmlkbFxuV2ViQ29yZS9kb20vQ0RBVEFTZWN0aW9uLmlkbFxuV2ViQ29yZS9kb20vQ2hh
cmFjdGVyRGF0YS5pZGxcbldlYkNvcmUvZG9tL0NsaWVudFJlY3QuaWRsXG5XZWJDb3JlL2RvbS9D
bGllbnRSZWN0TGlzdC5pZGxcbldlYkNvcmUvZG9tL0NsaXBib2FyZC5pZGxcbldlYkNvcmUvZG9t
L0NvbW1lbnQuaWRsXG5XZWJDb3JlL2RvbS9Db21wb3NpdGlvbkV2ZW50LmlkbFxuV2ViQ29yZS9k
b20vQ3VzdG9tRWxlbWVudENvbnN0cnVjdG9yLmlkbFxuV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQu
aWRsXG5XZWJDb3JlL2RvbS9ET01Db3JlRXhjZXB0aW9uLmlkbFxuV2ViQ29yZS9kb20vRE9NRXJy
b3IuaWRsXG5XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5pZGxcbldlYkNvcmUvZG9tL0RP
TVN0cmluZ0xpc3QuaWRsXG5XZWJDb3JlL2RvbS9ET01TdHJpbmdNYXAuaWRsXG5XZWJDb3JlL2Rv
bS9EYXRhVHJhbnNmZXJJdGVtLmlkbFxuV2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbUxpc3Qu
aWRsXG5XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25FdmVudC5pZGxcbldlYkNvcmUvZG9tL0Rldmlj
ZU9yaWVudGF0aW9uRXZlbnQuaWRsXG5XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGxcbldlYkNvcmUv
ZG9tL0RvY3VtZW50RnJhZ21lbnQuaWRsXG5XZWJDb3JlL2RvbS9Eb2N1bWVudFR5cGUuaWRsXG5X
ZWJDb3JlL2RvbS9FbGVtZW50LmlkbFxuV2ViQ29yZS9kb20vRW50aXR5LmlkbFxuV2ViQ29yZS9k
b20vRW50aXR5UmVmZXJlbmNlLmlkbFxuV2ViQ29yZS9kb20vRXJyb3JFdmVudC5pZGxcbldlYkNv
cmUvZG9tL0V2ZW50LmlkbFxuV2ViQ29yZS9kb20vRXZlbnRFeGNlcHRpb24uaWRsXG5XZWJDb3Jl
L2RvbS9FdmVudExpc3RlbmVyLmlkbFxuV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaWRsXG5XZWJD
b3JlL2RvbS9Gb2N1c0V2ZW50LmlkbFxuV2ViQ29yZS9kb20vSGFzaENoYW5nZUV2ZW50LmlkbFxu
V2ViQ29yZS9kb20vS2V5Ym9hcmRFdmVudC5pZGxcbldlYkNvcmUvZG9tL01lc3NhZ2VDaGFubmVs
LmlkbFxuV2ViQ29yZS9kb20vTWVzc2FnZUV2ZW50LmlkbFxuV2ViQ29yZS9kb20vTWVzc2FnZVBv
cnQuaWRsXG5XZWJDb3JlL2RvbS9Nb3VzZUV2ZW50LmlkbFxuV2ViQ29yZS9kb20vTXV0YXRpb25F
dmVudC5pZGxcbldlYkNvcmUvZG9tL011dGF0aW9uT2JzZXJ2ZXIuaWRsXG5XZWJDb3JlL2RvbS9N
dXRhdGlvblJlY29yZC5pZGxcbldlYkNvcmUvZG9tL0RPTU5hbWVkRmxvd0NvbGxlY3Rpb24uaWRs
XG5XZWJDb3JlL2RvbS9OYW1lZE5vZGVNYXAuaWRsXG5XZWJDb3JlL2RvbS9Ob2RlLmlkbFxuV2Vi
Q29yZS9kb20vTm9kZUZpbHRlci5pZGxcbldlYkNvcmUvZG9tL05vZGVJdGVyYXRvci5pZGxcbldl
YkNvcmUvZG9tL05vZGVMaXN0LmlkbFxuV2ViQ29yZS9kb20vTm90YXRpb24uaWRsXG5XZWJDb3Jl
L2RvbS9PdmVyZmxvd0V2ZW50LmlkbFxuV2ViQ29yZS9kb20vUGFnZVRyYW5zaXRpb25FdmVudC5p
ZGxcbldlYkNvcmUvZG9tL1BvcFN0YXRlRXZlbnQuaWRsXG5XZWJDb3JlL2RvbS9Qcm9jZXNzaW5n
SW5zdHJ1Y3Rpb24uaWRsXG5XZWJDb3JlL2RvbS9Qcm9ncmVzc0V2ZW50LmlkbFxuV2ViQ29yZS9k
b20vUHJvZ3Jlc3NFdmVudC5pZGxcbldlYkNvcmUvZG9tL1Byb3BlcnR5Tm9kZUxpc3QuaWRsXG5X
ZWJDb3JlL2RvbS9SYW5nZS5pZGxcbldlYkNvcmUvZG9tL1JhbmdlRXhjZXB0aW9uLmlkbFxuV2Vi
Q29yZS9kb20vUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2suaWRsXG5XZWJDb3JlL2RvbS9T
aGFkb3dSb290LmlkbFxuV2ViQ29yZS9kb20vU3RyaW5nQ2FsbGJhY2suaWRsXG5XZWJDb3JlL2Rv
bS9UZXh0LmlkbFxuV2ViQ29yZS9kb20vVGV4dEV2ZW50LmlkbFxuV2ViQ29yZS9kb20vVG91Y2gu
aWRsXG5XZWJDb3JlL2RvbS9Ub3VjaEV2ZW50LmlkbFxuV2ViQ29yZS9kb20vVG91Y2hMaXN0Lmlk
bFxuV2ViQ29yZS9kb20vVHJhbnNpdGlvbkV2ZW50LmlkbFxuV2ViQ29yZS9kb20vVHJlZVdhbGtl
ci5pZGxcbldlYkNvcmUvZG9tL1VJRXZlbnQuaWRsXG5XZWJDb3JlL2RvbS9XZWJLaXRBbmltYXRp
b25FdmVudC5pZGxcbldlYkNvcmUvZG9tL1dlYktpdE5hbWVkRmxvdy5pZGxcbldlYkNvcmUvZG9t
L1dlYktpdFRyYW5zaXRpb25FdmVudC5pZGxcbldlYkNvcmUvZG9tL1doZWVsRXZlbnQuaWRsXG5X
ZWJDb3JlL2ZpbGVhcGkvQmxvYi5pZGxcbldlYkNvcmUvZmlsZWFwaS9GaWxlLmlkbFxuV2ViQ29y
ZS9maWxlYXBpL0ZpbGVFcnJvci5pZGxcbldlYkNvcmUvZmlsZWFwaS9GaWxlRXhjZXB0aW9uLmlk
bFxuV2ViQ29yZS9maWxlYXBpL0ZpbGVMaXN0LmlkbFxuV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFk
ZXIuaWRsXG5XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlclN5bmMuaWRsXG5XZWJDb3JlL2h0bWwv
RE9NRm9ybURhdGEuaWRsXG5XZWJDb3JlL2h0bWwvRE9NU2V0dGFibGVUb2tlbkxpc3QuaWRsXG5X
ZWJDb3JlL2h0bWwvRE9NVG9rZW5MaXN0LmlkbFxuV2ViQ29yZS9odG1sL0RPTVVSTC5pZGxcbldl
YkNvcmUvaHRtbC9IVE1MQWxsQ29sbGVjdGlvbi5pZGxcbldlYkNvcmUvaHRtbC9IVE1MQW5jaG9y
RWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MQXBwbGV0RWxlbWVudC5pZGxcbldlYkNvcmUv
aHRtbC9IVE1MQXJlYUVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEF1ZGlvRWxlbWVudC5p
ZGxcbldlYkNvcmUvaHRtbC9IVE1MQlJFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxCYXNl
RWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MQmFzZUZvbnRFbGVtZW50LmlkbFxuV2ViQ29y
ZS9odG1sL0hUTUxCb2R5RWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVu
dC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9I
VE1MQ29sbGVjdGlvbi5pZGxcbldlYkNvcmUvaHRtbC9IVE1MRExpc3RFbGVtZW50LmlkbFxuV2Vi
Q29yZS9odG1sL0hUTUxEYXRhTGlzdEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTERldGFp
bHNFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxEaWFsb2dFbGVtZW50LmlkbFxuV2ViQ29y
ZS9odG1sL0hUTUxEaXJlY3RvcnlFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxEaXZFbGVt
ZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1M
RWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MRW1iZWRFbGVtZW50LmlkbFxuV2ViQ29yZS9o
dG1sL0hUTUxGaWVsZFNldEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEZvbnRFbGVtZW50
LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uLmlkbFxuV2ViQ29y
ZS9odG1sL0hUTUxGb3JtRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MRnJhbWVFbGVtZW50
LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxGcmFtZVNldEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwv
SFRNTEhSRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MSGVhZEVsZW1lbnQuaWRsXG5XZWJD
b3JlL2h0bWwvSFRNTEhlYWRpbmdFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxIdG1sRWxl
bWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MSUZyYW1lRWxlbWVudC5pZGxcbldlYkNvcmUvaHRt
bC9IVE1MSW1hZ2VFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaWRs
XG5XZWJDb3JlL2h0bWwvSFRNTEtleWdlbkVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTExJ
RWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmlkbFxuV2ViQ29yZS9o
dG1sL0hUTUxMZWdlbmRFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5p
ZGxcbldlYkNvcmUvaHRtbC9IVE1MTWFwRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MTWFy
cXVlZUVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGxcbldlYkNv
cmUvaHRtbC9IVE1MTWVudUVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTE1ldGFFbGVtZW50
LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRN
TE1vZEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTE9MaXN0RWxlbWVudC5pZGxcbldlYkNv
cmUvaHRtbC9IVE1MT2JqZWN0RWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MT3B0R3JvdXBF
bGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbFxuV2ViQ29yZS9o
dG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5pZGxcbldlYkNvcmUvaHRtbC9IVE1MT3V0cHV0RWxl
bWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MUGFyYWdyYXBoRWxlbWVudC5pZGxcbldlYkNvcmUv
aHRtbC9IVE1MUGFyYW1FbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxQcmVFbGVtZW50Lmlk
bFxuV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRN
TFByb3BlcnRpZXNDb2xsZWN0aW9uLmlkbFxuV2ViQ29yZS9odG1sL0hUTUxRdW90ZUVsZW1lbnQu
aWRsXG5XZWJDb3JlL2h0bWwvSFRNTFNjcmlwdEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRN
TFNlbGVjdEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaWRsXG5X
ZWJDb3JlL2h0bWwvSFRNTFNwYW5FbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxTdHlsZUVs
ZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTFRhYmxlQ2FwdGlvbkVsZW1lbnQuaWRsXG5XZWJD
b3JlL2h0bWwvSFRNTFRhYmxlQ2VsbEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTFRhYmxl
Q29sRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVtZW50LmlkbFxuV2ViQ29y
ZS9odG1sL0hUTUxUYWJsZVJvd0VsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTFRhYmxlU2Vj
dGlvbkVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5pZGxcbldl
YkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxUaXRs
ZUVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5pZGxcbldlYkNvcmUv
aHRtbC9IVE1MVUxpc3RFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxVbmtub3duRWxlbWVu
dC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0lt
YWdlRGF0YS5pZGxcbldlYkNvcmUvaHRtbC9NZWRpYUNvbnRyb2xsZXIuaWRsXG5XZWJDb3JlL2h0
bWwvTWVkaWFFcnJvci5pZGxcbldlYkNvcmUvaHRtbC9NZWRpYUtleUVycm9yLmlkbFxuV2ViQ29y
ZS9odG1sL01lZGlhS2V5RXZlbnQuaWRsXG5XZWJDb3JlL2h0bWwvTWljcm9EYXRhSXRlbVZhbHVl
LmlkbFxuV2ViQ29yZS9odG1sL1JhZGlvTm9kZUxpc3QuaWRsXG5XZWJDb3JlL2h0bWwvVGV4dE1l
dHJpY3MuaWRsXG5XZWJDb3JlL2h0bWwvVGltZVJhbmdlcy5pZGxcbldlYkNvcmUvaHRtbC9WYWxp
ZGl0eVN0YXRlLmlkbFxuV2ViQ29yZS9odG1sL1ZvaWRDYWxsYmFjay5pZGxcbldlYkNvcmUvaHRt
bC9jYW52YXMvQXJyYXlCdWZmZXIuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVy
Vmlldy5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzR3JhZGllbnQuaWRsXG5XZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc1BhdHRlcm4uaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZh
c1Byb3h5LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0Lmlk
bFxuV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaWRsXG5XZWJD
b3JlL2h0bWwvY2FudmFzL0RhdGFWaWV3LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9ET01QYXRo
LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9FWFREcmF3QnVmZmVycy5pZGxcbldlYkNvcmUvaHRt
bC9jYW52YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmlkbFxuV2ViQ29yZS9odG1sL2Nh
bnZhcy9GbG9hdDMyQXJyYXkuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL0Zsb2F0NjRBcnJheS5p
ZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvSW50MTZBcnJheS5pZGxcbldlYkNvcmUvaHRtbC9jYW52
YXMvSW50MzJBcnJheS5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvSW50OEFycmF5LmlkbFxuV2Vi
Q29yZS9odG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmlkbFxuV2ViQ29yZS9odG1sL2Nh
bnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNU
ZXh0dXJlRmxvYXQuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL09FU1RleHR1cmVIYWxmRmxvYXQu
aWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL09FU1ZlcnRleEFycmF5T2JqZWN0LmlkbFxuV2ViQ29y
ZS9odG1sL2NhbnZhcy9VaW50MTZBcnJheS5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvVWludDMy
QXJyYXkuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL1VpbnQ4QXJyYXkuaWRsXG5XZWJDb3JlL2h0
bWwvY2FudmFzL1VpbnQ4Q2xhbXBlZEFycmF5LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TEFjdGl2ZUluZm8uaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQnVmZmVyLmlkbFxuV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLmlkbFxuV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlUFZSVEMuaWRsXG5XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMQ29tcHJlc3NlZFRleHR1cmVTM1RDLmlkbFxuV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTENvbnRleHRBdHRyaWJ1dGVzLmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTENv
bnRleHRFdmVudC5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xEZXB0aFRleHR1cmUuaWRs
XG5XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIuaWRsXG5XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMTG9zZUNvbnRleHQuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUHJv
Z3JhbS5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJidWZmZXIuaWRsXG5XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5pZGxcbldlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xTaGFkZXIuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMU2hhZGVyUHJl
Y2lzaW9uRm9ybWF0LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFRleHR1cmUuaWRsXG5X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMVW5pZm9ybUxvY2F0aW9uLmlkbFxuV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFZlcnRleEFycmF5T2JqZWN0T0VTLmlkbFxuV2ViQ29yZS9odG1sL3NoYWRv
dy9IVE1MQ29udGVudEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dF
bGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL3RyYWNrL1RleHRUcmFjay5pZGxcbldlYkNvcmUvaHRt
bC90cmFjay9UZXh0VHJhY2tDdWUuaWRsXG5XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrQ3Vl
TGlzdC5pZGxcbldlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2tMaXN0LmlkbFxuV2ViQ29yZS9o
dG1sL3RyYWNrL1RyYWNrRXZlbnQuaWRsXG5XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dEhvc3QuaWRsXG5XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsXG5X
ZWJDb3JlL2luc3BlY3Rvci9TY3JpcHRQcm9maWxlLmlkbFxuV2ViQ29yZS9pbnNwZWN0b3IvU2Ny
aXB0UHJvZmlsZU5vZGUuaWRsXG5XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9ET01BcHBsaWNhdGlv
bkNhY2hlLmlkbFxuV2ViQ29yZS9wYWdlL0Fic3RyYWN0Vmlldy5pZGxcbldlYkNvcmUvcGFnZS9C
YXJJbmZvLmlkbFxuV2ViQ29yZS9wYWdlL0NvbnNvbGUuaWRsXG5XZWJDb3JlL3BhZ2UvQ3J5cHRv
LmlkbFxuV2ViQ29yZS9wYWdlL0RPTVNlY3VyaXR5UG9saWN5LmlkbFxuV2ViQ29yZS9wYWdlL0RP
TVNlbGVjdGlvbi5pZGxcbldlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsXG5XZWJDb3JlL3BhZ2Uv
RXZlbnRTb3VyY2UuaWRsXG5XZWJDb3JlL3BhZ2UvSGlzdG9yeS5pZGxcbldlYkNvcmUvcGFnZS9M
b2NhdGlvbi5pZGxcbldlYkNvcmUvcGFnZS9OYXZpZ2F0b3IuaWRsXG5XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2UuaWRsXG5XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmlkbFxuV2Vi
Q29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmlkbFxuV2ViQ29yZS9wYWdlL1NjcmVlbi5pZGxc
bldlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dEV2ZW50LmlkbFxuV2ViQ29yZS9wYWdlL1NwZWVjaElu
cHV0UmVzdWx0LmlkbFxuV2ViQ29yZS9wYWdlL1NwZWVjaElucHV0UmVzdWx0TGlzdC5pZGxcbldl
YkNvcmUvcGFnZS9XZWJLaXRQb2ludC5pZGxcbldlYkNvcmUvcGFnZS9Xb3JrZXJOYXZpZ2F0b3Iu
aWRsXG5XZWJDb3JlL3BsdWdpbnMvRE9NTWltZVR5cGUuaWRsXG5XZWJDb3JlL3BsdWdpbnMvRE9N
TWltZVR5cGVBcnJheS5pZGxcbldlYkNvcmUvcGx1Z2lucy9ET01QbHVnaW4uaWRsXG5XZWJDb3Jl
L3BsdWdpbnMvRE9NUGx1Z2luQXJyYXkuaWRsXG5XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZS5pZGxc
bldlYkNvcmUvc3RvcmFnZS9TdG9yYWdlRXZlbnQuaWRsXG5XZWJDb3JlL3N2Zy9FbGVtZW50VGlt
ZUNvbnRyb2wuaWRsXG5XZWJDb3JlL3N2Zy9TVkdBRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NW
R0FsdEdseXBoRGVmRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0FsdEdseXBoRWxlbWVudC5p
ZGxcbldlYkNvcmUvc3ZnL1NWR0FsdEdseXBoSXRlbUVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9T
VkdBbmdsZS5pZGxcbldlYkNvcmUvc3ZnL1NWR0FuaW1hdGVDb2xvckVsZW1lbnQuaWRsXG5XZWJD
b3JlL3N2Zy9TVkdBbmltYXRlRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0FuaW1hdGVNb3Rp
b25FbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQuaWRs
XG5XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEFuZ2xlLmlkbFxuV2ViQ29yZS9zdmcvU1ZHQW5pbWF0
ZWRCb29sZWFuLmlkbFxuV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5pZGxcbldl
YkNvcmUvc3ZnL1NWR0FuaW1hdGVkSW50ZWdlci5pZGxcbldlYkNvcmUvc3ZnL1NWR0FuaW1hdGVk
TGVuZ3RoLmlkbFxuV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmlkbFxuV2ViQ29y
ZS9zdmcvU1ZHQW5pbWF0ZWROdW1iZXIuaWRsXG5XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZE51bWJl
ckxpc3QuaWRsXG5XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uaWRs
XG5XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFJlY3QuaWRsXG5XZWJDb3JlL3N2Zy9TVkdBbmltYXRl
ZFN0cmluZy5pZGxcbldlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdC5pZGxcbldl
YkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdDaXJjbGVF
bGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmlkbFxuV2ViQ29yZS9z
dmcvU1ZHQ29sb3IuaWRsXG5XZWJDb3JlL3N2Zy9TVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9u
RWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2
Zy9TVkdEZWZzRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0Rlc2NFbGVtZW50LmlkbFxuV2Vi
Q29yZS9zdmcvU1ZHRG9jdW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmlkbFxuV2Vi
Q29yZS9zdmcvU1ZHRWxlbWVudEluc3RhbmNlLmlkbFxuV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVs
ZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdFeGNlcHRpb24uaWRsXG5XZWJDb3JlL3N2Zy9TVkdF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1l
bnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5pZGxcbldlYkNvcmUv
c3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVD
b21wb3NpdGVFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1l
bnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuaWRsXG5XZWJD
b3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdG
RURpc3RhbnRMaWdodEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGRURyb3BTaGFkb3dFbGVt
ZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVGbG9vZEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9T
VkdGRUZ1bmNBRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ZFRnVuY0JFbGVtZW50LmlkbFxu
V2ViQ29yZS9zdmcvU1ZHRkVGdW5jR0VsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGRUZ1bmNS
RWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5pZGxcbldl
YkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZUVs
ZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuaWRsXG5XZWJDb3Jl
L3N2Zy9TVkdGRU1vcnBob2xvZ3lFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVPZmZzZXRF
bGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVQb2ludExpZ2h0RWxlbWVudC5pZGxcbldlYkNv
cmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdG
RVNwb3RMaWdodEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGRVRpbGVFbGVtZW50LmlkbFxu
V2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0Zp
bHRlckVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0
dHJpYnV0ZXMuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guaWRsXG5XZWJDb3JlL3N2
Zy9TVkdGb250RWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5pZGxc
bldlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRm9ybWF0RWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NW
R0ZvbnRGYWNlTmFtZUVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVNyY0VsZW1l
bnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGb250RmFjZVVyaUVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2
Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0dFbGVtZW50Lmlk
bFxuV2ViQ29yZS9zdmcvU1ZHR2x5cGhFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHR2x5cGhS
ZWZFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmlkbFxuV2ViQ29y
ZS9zdmcvU1ZHSEtlcm5FbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50Lmlk
bFxuV2ViQ29yZS9zdmcvU1ZHTGFuZ1NwYWNlLmlkbFxuV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmlk
bFxuV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5pZGxcbldlYkNvcmUvc3ZnL1NWR0xpbmVFbGVt
ZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmlkbFxuV2ViQ29y
ZS9zdmcvU1ZHTG9jYXRhYmxlLmlkbFxuV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmlkbFxu
V2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR01hc2tFbGVt
ZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHTWF0cml4LmlkbFxuV2ViQ29yZS9zdmcvU1ZHTWV0YWRh
dGFFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5pZGxcbldl
YkNvcmUvc3ZnL1NWR051bWJlci5pZGxcbldlYkNvcmUvc3ZnL1NWR051bWJlckxpc3QuaWRsXG5X
ZWJDb3JlL3N2Zy9TVkdQYWludC5pZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmlkbFxu
V2ViQ29yZS9zdmcvU1ZHUGF0aFNlZy5pZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdBcmNBYnMu
aWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQXJjUmVsLmlkbFxuV2ViQ29yZS9zdmcvU1ZHUGF0
aFNlZ0Nsb3NlUGF0aC5pZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNBYnMu
aWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljUmVsLmlkbFxuV2ViQ29yZS9z
dmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1Ntb290aEFicy5pZGxcbldlYkNvcmUvc3ZnL1NWR1Bh
dGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhSZWwuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3Vy
dmV0b1F1YWRyYXRpY0Ficy5pZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJh
dGljUmVsLmlkbFxuV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNTbW9vdGhB
YnMuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0b1F1YWRyYXRpY1Ntb290aFJlbC5p
ZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9BYnMuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQ
YXRoU2VnTGluZXRvSG9yaXpvbnRhbEFicy5pZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5l
dG9Ib3Jpem9udGFsUmVsLmlkbFxuV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b1JlbC5pZGxc
bldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbEFicy5pZGxcbldlYkNvcmUvc3Zn
L1NWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbC5pZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdM
aXN0LmlkbFxuV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ01vdmV0b0Ficy5pZGxcbldlYkNvcmUvc3Zn
L1NWR1BhdGhTZWdNb3ZldG9SZWwuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5p
ZGxcbldlYkNvcmUvc3ZnL1NWR1BvaW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHUG9pbnRMaXN0Lmlk
bFxuV2ViQ29yZS9zdmcvU1ZHUG9seWdvbkVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQb2x5
bGluZUVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmlkbFxu
V2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZH
UmVjdC5pZGxcbldlYkNvcmUvc3ZnL1NWR1JlY3RFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZH
UmVuZGVyaW5nSW50ZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5pZGxcbldlYkNv
cmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdTZXRFbGVtZW50Lmlk
bFxuV2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdTdHJpbmdM
aXN0LmlkbFxuV2ViQ29yZS9zdmcvU1ZHU3R5bGVFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZH
U3R5bGVkRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuaWRsXG5XZWJD
b3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQu
aWRsXG5XZWJDb3JlL3N2Zy9TVkdUU3BhbkVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdUZXN0
cy5pZGxcbldlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5pZGxcbldlYkNvcmUvc3Zn
L1NWR1RleHRFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmlkbFxu
V2ViQ29yZS9zdmcvU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NW
R1RpdGxlRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybS5pZGxcbldlYkNvcmUv
c3ZnL1NWR1RyYW5zZm9ybUxpc3QuaWRsXG5XZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1hYmxlLmlk
bFxuV2ViQ29yZS9zdmcvU1ZHVVJJUmVmZXJlbmNlLmlkbFxuV2ViQ29yZS9zdmcvU1ZHVW5pdFR5
cGVzLmlkbFxuV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR1ZL
ZXJuRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmlkbFxuV2ViQ29yZS9z
dmcvU1ZHVmlld1NwZWMuaWRsXG5XZWJDb3JlL3N2Zy9TVkdab29tQW5kUGFuLmlkbFxuV2ViQ29y
ZS9zdmcvU1ZHWm9vbUV2ZW50LmlkbFxuV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGxcbldl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbFxuV2ViQ29yZS90ZXN0aW5nL01hbGxv
Y1N0YXRpc3RpY3MuaWRsXG5XZWJDb3JlL3Rlc3RpbmcvTWVtb3J5SW5mby5pZGxcbldlYkNvcmUv
dGVzdGluZy9UeXBlQ29udmVyc2lvbnMuaWRsXG5XZWJDb3JlL3dvcmtlcnMvQWJzdHJhY3RXb3Jr
ZXIuaWRsXG5XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyQ29udGV4dC5pZGxcbldlYkNv
cmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuaWRsXG5XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2Vy
Q29udGV4dC5pZGxcbldlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaWRsXG5XZWJDb3JlL3dvcmtlcnMv
V29ya2VyQ29udGV4dC5pZGxcbldlYkNvcmUvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbi5pZGxcbldl
YkNvcmUveG1sL0RPTVBhcnNlci5pZGxcbldlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmlkbFxu
V2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaWRsXG5XZWJDb3JlL3htbC9YTUxI
dHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaWRsXG5XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdFVw
bG9hZC5pZGxcbldlYkNvcmUveG1sL1hNTFNlcmlhbGl6ZXIuaWRsXG5XZWJDb3JlL3htbC9YUGF0
aEV2YWx1YXRvci5pZGxcbldlYkNvcmUveG1sL1hQYXRoRXhjZXB0aW9uLmlkbFxuV2ViQ29yZS94
bWwvWFBhdGhFeHByZXNzaW9uLmlkbFxuV2ViQ29yZS94bWwvWFBhdGhOU1Jlc29sdmVyLmlkbFxu
V2ViQ29yZS94bWwvWFBhdGhSZXN1bHQuaWRsXG5XZWJDb3JlL3htbC9YU0xUUHJvY2Vzc29yLmlk
bFxuSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5pZGxcbldlYkNvcmUvaW5zcGVjdG9yL0phdmFT
Y3JpcHRDYWxsRnJhbWUuaWRsXG4iID4gLi9pZGxfZmlsZXMudG1wCitwcmludGYgIldlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudC5pZGxcbldlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU5lZWRlZEV2ZW50LmlkbFxuV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5pZGxcbldlYkNvcmUvTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3Rl
bS9ET01GaWxlU3lzdGVtLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRE9NRmlsZVN5
c3RlbVN5bmMuaWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9ET01XaW5kb3dGaWxlU3lz
dGVtLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRGlyZWN0b3J5RW50cnkuaWRsXG5X
ZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlFbnRyeVN5bmMuaWRsXG5XZWJDb3Jl
L01vZHVsZXMvZmlsZXN5c3RlbS9EaXJlY3RvcnlSZWFkZXIuaWRsXG5XZWJDb3JlL01vZHVsZXMv
ZmlsZXN5c3RlbS9EaXJlY3RvcnlSZWFkZXJTeW5jLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2ZpbGVz
eXN0ZW0vRW50cmllc0NhbGxiYWNrLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRW50
cnkuaWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9FbnRyeUFycmF5LmlkbFxuV2ViQ29y
ZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRW50cnlBcnJheVN5bmMuaWRsXG5XZWJDb3JlL01vZHVsZXMv
ZmlsZXN5c3RlbS9FbnRyeUNhbGxiYWNrLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0v
RW50cnlTeW5jLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRXJyb3JDYWxsYmFjay5p
ZGxcbldlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL0ZpbGVDYWxsYmFjay5pZGxcbldlYkNvcmUv
TW9kdWxlcy9maWxlc3lzdGVtL0ZpbGVFbnRyeS5pZGxcbldlYkNvcmUvTW9kdWxlcy9maWxlc3lz
dGVtL0ZpbGVFbnRyeVN5bmMuaWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9GaWxlU3lz
dGVtQ2FsbGJhY2suaWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9GaWxlV3JpdGVyLmlk
bFxuV2ViQ29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRmlsZVdyaXRlckNhbGxiYWNrLmlkbFxuV2Vi
Q29yZS9Nb2R1bGVzL2ZpbGVzeXN0ZW0vRmlsZVdyaXRlclN5bmMuaWRsXG5XZWJDb3JlL01vZHVs
ZXMvZmlsZXN5c3RlbS9NZXRhZGF0YS5pZGxcbldlYkNvcmUvTW9kdWxlcy9maWxlc3lzdGVtL01l
dGFkYXRhQ2FsbGJhY2suaWRsXG5XZWJDb3JlL01vZHVsZXMvZmlsZXN5c3RlbS9Xb3JrZXJDb250
ZXh0RmlsZVN5c3RlbS5pZGxcbldlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9Db29yZGluYXRl
cy5pZGxcbldlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbi5pZGxcbldlYkNv
cmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9wb3NpdGlvbi5pZGxcbldlYkNvcmUvTW9kdWxlcy9n
ZW9sb2NhdGlvbi9OYXZpZ2F0b3JHZW9sb2NhdGlvbi5pZGxcbldlYkNvcmUvTW9kdWxlcy9nZW9s
b2NhdGlvbi9Qb3NpdGlvbkNhbGxiYWNrLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9u
L1Bvc2l0aW9uRXJyb3IuaWRsXG5XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vUG9zaXRpb25F
cnJvckNhbGxiYWNrLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3dJbmRl
eGVkRGF0YWJhc2UuaWRsXG5XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkFueS5pZGxcbldl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJEYXRhYmFzZS5pZGxcbldlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRmFj
dG9yeS5pZGxcbldlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXguaWRsXG5XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQktleVJhbmdlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJPYmplY3RTdG9yZS5pZGxcbldlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVx
dWVzdC5pZGxcbldlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaWRsXG5X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlZlcnNpb25DaGFuZ2VFdmVudC5pZGxcbldlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvV29ya2VyQ29udGV4dEluZGV4ZWREYXRhYmFzZS5pZGxcbldl
YkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9NZWRpYVNvdXJjZS5pZGxcbldlYkNvcmUvTW9kdWxl
cy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuaWRsXG5XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyTGlzdC5pZGxcbldlYkNvcmUvTW9kdWxlcy9ub3RpZmljYXRpb25zL0RP
TVdpbmRvd05vdGlmaWNhdGlvbnMuaWRsXG5XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9O
b3RpZmljYXRpb24uaWRsXG5XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRp
b25DZW50ZXIuaWRsXG5XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2suaWRsXG5XZWJDb3JlL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Xb3Jr
ZXJDb250ZXh0Tm90aWZpY2F0aW9ucy5pZGxcbldlYkNvcmUvTW9kdWxlcy9xdW90YS9ET01XaW5k
b3dRdW90YS5pZGxcbldlYkNvcmUvTW9kdWxlcy9xdW90YS9OYXZpZ2F0b3JTdG9yYWdlUXVvdGEu
aWRsXG5XZWJDb3JlL01vZHVsZXMvcXVvdGEvU3RvcmFnZUluZm8uaWRsXG5XZWJDb3JlL01vZHVs
ZXMvcXVvdGEvU3RvcmFnZUVycm9yQ2FsbGJhY2suaWRsXG5XZWJDb3JlL01vZHVsZXMvcXVvdGEv
U3RvcmFnZVF1b3RhLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VRdW90YUNhbGxi
YWNrLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1N0b3JhZ2VVc2FnZUNhbGxiYWNrLmlkbFxu
V2ViQ29yZS9Nb2R1bGVzL3F1b3RhL1dvcmtlck5hdmlnYXRvclN0b3JhZ2VRdW90YS5pZGxcbldl
YkNvcmUvTW9kdWxlcy9zcGVlY2gvRE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmlkbFxuV2ViQ29y
ZS9Nb2R1bGVzL3NwZWVjaC9TcGVlY2hTeW50aGVzaXMuaWRsXG5XZWJDb3JlL01vZHVsZXMvc3Bl
ZWNoL1NwZWVjaFN5bnRoZXNpc0V2ZW50LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3NwZWVjaC9TcGVl
Y2hTeW50aGVzaXNVdHRlcmFuY2UuaWRsXG5XZWJDb3JlL01vZHVsZXMvc3BlZWNoL1NwZWVjaFN5
bnRoZXNpc1ZvaWNlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyLmlk
bFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvQnVmZmVyQ2FsbGJhY2suaWRsXG5XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9CdWZmZXJTb3VyY2VOb2RlLmlkbFxuV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0NoYW5uZWxNZXJnZXJOb2RlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dl
YmF1ZGlvL0NoYW5uZWxTcGxpdHRlck5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
QXVkaW9Db250ZXh0LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvRGVzdGluYXRp
b25Ob2RlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0dhaW5Ob2RlLmlkbFxuV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL0F1ZGlvTGlzdGVuZXIuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vQXVkaW9Ob2RlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Bhbm5lck5vZGUu
aWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXVkaW9QYXJhbS5pZGxcbldlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9BdWRpb1Byb2Nlc3NpbmdFdmVudC5pZGxcbldlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9CaXF1YWRGaWx0ZXJOb2RlLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0Nv
bnZvbHZlck5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRE9NV2luZG93V2ViQXVk
aW8uaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vRGVsYXlOb2RlLmlkbFxuV2ViQ29yZS9N
b2R1bGVzL3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaWRsXG5XZWJDb3JlL01vZHVs
ZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9NZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vTWVkaWFTdHJlYW1BdWRpb1NvdXJjZU5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vT3NjaWxsYXRvck5vZGUuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGlu
ZUF1ZGlvQ29udGV4dC5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9D
b21wbGV0aW9uRXZlbnQuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQW5hbHlzZXJOb2Rl
LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJOb2RlLmlkbFxuV2ViQ29y
ZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVUYWJsZS5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJkYXRh
YmFzZS9ET01XaW5kb3dXZWJEYXRhYmFzZS5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFz
ZS9EYXRhYmFzZS5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9EYXRhYmFzZUNhbGxi
YWNrLmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlU3luYy5pZGxcbldl
YkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxFcnJvci5pZGxcbldlYkNvcmUvTW9kdWxlcy93
ZWJkYXRhYmFzZS9TUUxFeGNlcHRpb24uaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2Uv
U1FMUmVzdWx0U2V0LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFJlc3VsdFNl
dFJvd0xpc3QuaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50Q2Fs
bGJhY2suaWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMU3RhdGVtZW50RXJyb3JD
YWxsYmFjay5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbi5p
ZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmlk
bFxuV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL1NRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFj
ay5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9TUUxUcmFuc2FjdGlvblN5bmMuaWRs
XG5XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2su
aWRsXG5XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvV29ya2VyQ29udGV4dFdlYkRhdGFiYXNl
LmlkbFxuV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvQ2xvc2VFdmVudC5pZGxcbldlYkNvcmUv
TW9kdWxlcy93ZWJzb2NrZXRzL0RPTVdpbmRvd1dlYlNvY2tldC5pZGxcbldlYkNvcmUvTW9kdWxl
cy93ZWJzb2NrZXRzL1dlYlNvY2tldC5pZGxcbldlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dv
cmtlckNvbnRleHRXZWJTb2NrZXQuaWRsXG5XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGxc
bldlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlTG9hZEV2ZW50LmlkbFxuV2ViQ29yZS9jc3MvQ1NTRm9u
dEZhY2VSdWxlLmlkbFxuV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuaWRsXG5XZWJDb3JlL2Nzcy9D
U1NJbXBvcnRSdWxlLmlkbFxuV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmlkbFxuV2ViQ29yZS9j
c3MvQ1NTUGFnZVJ1bGUuaWRsXG5XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5pZGxcbldl
YkNvcmUvY3NzL0NTU1J1bGUuaWRsXG5XZWJDb3JlL2Nzcy9DU1NSdWxlTGlzdC5pZGxcbldlYkNv
cmUvY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaWRsXG5XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUu
aWRsXG5XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmlkbFxuV2ViQ29yZS9jc3MvQ1NTU3VwcG9y
dHNSdWxlLmlkbFxuV2ViQ29yZS9jc3MvQ1NTVW5rbm93blJ1bGUuaWRsXG5XZWJDb3JlL2Nzcy9D
U1NWYWx1ZS5pZGxcbldlYkNvcmUvY3NzL0NTU1ZhbHVlTGlzdC5pZGxcbldlYkNvcmUvY3NzL0Nv
dW50ZXIuaWRsXG5XZWJDb3JlL2Nzcy9ET01XaW5kb3dDU1MuaWRsXG5XZWJDb3JlL2Nzcy9Gb250
TG9hZGVyLmlkbFxuV2ViQ29yZS9jc3MvTWVkaWFMaXN0LmlkbFxuV2ViQ29yZS9jc3MvTWVkaWFR
dWVyeUxpc3QuaWRsXG5XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlkbFxuV2Vi
Q29yZS9jc3MvUkdCQ29sb3IuaWRsXG5XZWJDb3JlL2Nzcy9SZWN0LmlkbFxuV2ViQ29yZS9jc3Mv
U3R5bGVNZWRpYS5pZGxcbldlYkNvcmUvY3NzL1N0eWxlU2hlZXQuaWRsXG5XZWJDb3JlL2Nzcy9T
dHlsZVNoZWV0TGlzdC5pZGxcbldlYkNvcmUvY3NzL1dlYktpdENTU0ZpbHRlclZhbHVlLmlkbFxu
V2ViQ29yZS9jc3MvV2ViS2l0Q1NTRmlsdGVyUnVsZS5pZGxcbldlYkNvcmUvY3NzL1dlYktpdENT
U0tleWZyYW1lUnVsZS5pZGxcbldlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuaWRs
XG5XZWJDb3JlL2Nzcy9XZWJLaXRDU1NNYXRyaXguaWRsXG5XZWJDb3JlL2Nzcy9XZWJLaXRDU1NN
aXhGdW5jdGlvblZhbHVlLmlkbFxuV2ViQ29yZS9jc3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5pZGxc
bldlYkNvcmUvY3NzL1dlYktpdENTU1RyYW5zZm9ybVZhbHVlLmlkbFxuV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTVmlld3BvcnRSdWxlLmlkbFxuV2ViQ29yZS9kb20vQXR0ci5pZGxcbldlYkNvcmUvZG9t
L0JlZm9yZUxvYWRFdmVudC5pZGxcbldlYkNvcmUvZG9tL0NEQVRBU2VjdGlvbi5pZGxcbldlYkNv
cmUvZG9tL0NoYXJhY3RlckRhdGEuaWRsXG5XZWJDb3JlL2RvbS9DbGllbnRSZWN0LmlkbFxuV2Vi
Q29yZS9kb20vQ2xpZW50UmVjdExpc3QuaWRsXG5XZWJDb3JlL2RvbS9DbGlwYm9hcmQuaWRsXG5X
ZWJDb3JlL2RvbS9Db21tZW50LmlkbFxuV2ViQ29yZS9kb20vQ29tcG9zaXRpb25FdmVudC5pZGxc
bldlYkNvcmUvZG9tL0N1c3RvbUVsZW1lbnRDb25zdHJ1Y3Rvci5pZGxcbldlYkNvcmUvZG9tL0N1
c3RvbUV2ZW50LmlkbFxuV2ViQ29yZS9kb20vRE9NQ29yZUV4Y2VwdGlvbi5pZGxcbldlYkNvcmUv
ZG9tL0RPTUVycm9yLmlkbFxuV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uaWRsXG5XZWJD
b3JlL2RvbS9ET01TdHJpbmdMaXN0LmlkbFxuV2ViQ29yZS9kb20vRE9NU3RyaW5nTWFwLmlkbFxu
V2ViQ29yZS9kb20vRGF0YVRyYW5zZmVySXRlbS5pZGxcbldlYkNvcmUvZG9tL0RhdGFUcmFuc2Zl
ckl0ZW1MaXN0LmlkbFxuV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uRXZlbnQuaWRsXG5XZWJDb3Jl
L2RvbS9EZXZpY2VPcmllbnRhdGlvbkV2ZW50LmlkbFxuV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRs
XG5XZWJDb3JlL2RvbS9Eb2N1bWVudEZyYWdtZW50LmlkbFxuV2ViQ29yZS9kb20vRG9jdW1lbnRU
eXBlLmlkbFxuV2ViQ29yZS9kb20vRWxlbWVudC5pZGxcbldlYkNvcmUvZG9tL0VudGl0eS5pZGxc
bldlYkNvcmUvZG9tL0VudGl0eVJlZmVyZW5jZS5pZGxcbldlYkNvcmUvZG9tL0Vycm9yRXZlbnQu
aWRsXG5XZWJDb3JlL2RvbS9FdmVudC5pZGxcbldlYkNvcmUvZG9tL0V2ZW50RXhjZXB0aW9uLmlk
bFxuV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5lci5pZGxcbldlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0
LmlkbFxuV2ViQ29yZS9kb20vRm9jdXNFdmVudC5pZGxcbldlYkNvcmUvZG9tL0hhc2hDaGFuZ2VF
dmVudC5pZGxcbldlYkNvcmUvZG9tL0tleWJvYXJkRXZlbnQuaWRsXG5XZWJDb3JlL2RvbS9NZXNz
YWdlQ2hhbm5lbC5pZGxcbldlYkNvcmUvZG9tL01lc3NhZ2VFdmVudC5pZGxcbldlYkNvcmUvZG9t
L01lc3NhZ2VQb3J0LmlkbFxuV2ViQ29yZS9kb20vTW91c2VFdmVudC5pZGxcbldlYkNvcmUvZG9t
L011dGF0aW9uRXZlbnQuaWRsXG5XZWJDb3JlL2RvbS9NdXRhdGlvbk9ic2VydmVyLmlkbFxuV2Vi
Q29yZS9kb20vTXV0YXRpb25SZWNvcmQuaWRsXG5XZWJDb3JlL2RvbS9ET01OYW1lZEZsb3dDb2xs
ZWN0aW9uLmlkbFxuV2ViQ29yZS9kb20vTmFtZWROb2RlTWFwLmlkbFxuV2ViQ29yZS9kb20vTm9k
ZS5pZGxcbldlYkNvcmUvZG9tL05vZGVGaWx0ZXIuaWRsXG5XZWJDb3JlL2RvbS9Ob2RlSXRlcmF0
b3IuaWRsXG5XZWJDb3JlL2RvbS9Ob2RlTGlzdC5pZGxcbldlYkNvcmUvZG9tL05vdGF0aW9uLmlk
bFxuV2ViQ29yZS9kb20vT3ZlcmZsb3dFdmVudC5pZGxcbldlYkNvcmUvZG9tL1BhZ2VUcmFuc2l0
aW9uRXZlbnQuaWRsXG5XZWJDb3JlL2RvbS9Qb3BTdGF0ZUV2ZW50LmlkbFxuV2ViQ29yZS9kb20v
UHJvY2Vzc2luZ0luc3RydWN0aW9uLmlkbFxuV2ViQ29yZS9kb20vUHJvZ3Jlc3NFdmVudC5pZGxc
bldlYkNvcmUvZG9tL1Byb2dyZXNzRXZlbnQuaWRsXG5XZWJDb3JlL2RvbS9Qcm9wZXJ0eU5vZGVM
aXN0LmlkbFxuV2ViQ29yZS9kb20vUmFuZ2UuaWRsXG5XZWJDb3JlL2RvbS9SYW5nZUV4Y2VwdGlv
bi5pZGxcbldlYkNvcmUvZG9tL1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmlkbFxuV2Vi
Q29yZS9kb20vU2hhZG93Um9vdC5pZGxcbldlYkNvcmUvZG9tL1N0cmluZ0NhbGxiYWNrLmlkbFxu
V2ViQ29yZS9kb20vVGV4dC5pZGxcbldlYkNvcmUvZG9tL1RleHRFdmVudC5pZGxcbldlYkNvcmUv
ZG9tL1RvdWNoLmlkbFxuV2ViQ29yZS9kb20vVG91Y2hFdmVudC5pZGxcbldlYkNvcmUvZG9tL1Rv
dWNoTGlzdC5pZGxcbldlYkNvcmUvZG9tL1RyYW5zaXRpb25FdmVudC5pZGxcbldlYkNvcmUvZG9t
L1RyZWVXYWxrZXIuaWRsXG5XZWJDb3JlL2RvbS9VSUV2ZW50LmlkbFxuV2ViQ29yZS9kb20vV2Vi
S2l0QW5pbWF0aW9uRXZlbnQuaWRsXG5XZWJDb3JlL2RvbS9XZWJLaXROYW1lZEZsb3cuaWRsXG5X
ZWJDb3JlL2RvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuaWRsXG5XZWJDb3JlL2RvbS9XaGVlbEV2
ZW50LmlkbFxuV2ViQ29yZS9maWxlYXBpL0Jsb2IuaWRsXG5XZWJDb3JlL2ZpbGVhcGkvRmlsZS5p
ZGxcbldlYkNvcmUvZmlsZWFwaS9GaWxlRXJyb3IuaWRsXG5XZWJDb3JlL2ZpbGVhcGkvRmlsZUV4
Y2VwdGlvbi5pZGxcbldlYkNvcmUvZmlsZWFwaS9GaWxlTGlzdC5pZGxcbldlYkNvcmUvZmlsZWFw
aS9GaWxlUmVhZGVyLmlkbFxuV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXJTeW5jLmlkbFxuV2Vi
Q29yZS9odG1sL0RPTUZvcm1EYXRhLmlkbFxuV2ViQ29yZS9odG1sL0RPTVNldHRhYmxlVG9rZW5M
aXN0LmlkbFxuV2ViQ29yZS9odG1sL0RPTVRva2VuTGlzdC5pZGxcbldlYkNvcmUvaHRtbC9ET01V
UkwuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEFsbENvbGxlY3Rpb24uaWRsXG5XZWJDb3JlL2h0bWwv
SFRNTEFuY2hvckVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEFwcGxldEVsZW1lbnQuaWRs
XG5XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxBdWRp
b0VsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEJSRWxlbWVudC5pZGxcbldlYkNvcmUvaHRt
bC9IVE1MQmFzZUVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEJhc2VGb250RWxlbWVudC5p
ZGxcbldlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEJ1
dHRvbkVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaWRsXG5XZWJD
b3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uaWRsXG5XZWJDb3JlL2h0bWwvSFRNTERMaXN0RWxlbWVu
dC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MRGF0YUxpc3RFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1s
L0hUTUxEZXRhaWxzRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MRGlhbG9nRWxlbWVudC5p
ZGxcbldlYkNvcmUvaHRtbC9IVE1MRGlyZWN0b3J5RWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9I
VE1MRGl2RWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuaWRsXG5XZWJDb3Jl
L2h0bWwvSFRNTEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEVtYmVkRWxlbWVudC5pZGxc
bldlYkNvcmUvaHRtbC9IVE1MRmllbGRTZXRFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxG
b250RWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5p
ZGxcbldlYkNvcmUvaHRtbC9IVE1MRm9ybUVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEZy
YW1lRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MRnJhbWVTZXRFbGVtZW50LmlkbFxuV2Vi
Q29yZS9odG1sL0hUTUxIUkVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTEhlYWRFbGVtZW50
LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxIZWFkaW5nRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9I
VE1MSHRtbEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTElGcmFtZUVsZW1lbnQuaWRsXG5X
ZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxLZXlnZW5FbGVtZW50LmlkbFxuV2ViQ29yZS9o
dG1sL0hUTUxMSUVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5pZGxc
bldlYkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MTGlu
a0VsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTE1hcEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0
bWwvSFRNTE1hcnF1ZWVFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aWRsXG5XZWJDb3JlL2h0bWwvSFRNTE1lbnVFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxN
ZXRhRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmlkbFxuV2ViQ29y
ZS9odG1sL0hUTUxNb2RFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxPTGlzdEVsZW1lbnQu
aWRsXG5XZWJDb3JlL2h0bWwvSFRNTE9iamVjdEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRN
TE9wdEdyb3VwRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGxc
bldlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaWRsXG5XZWJDb3JlL2h0bWwvSFRN
TE91dHB1dEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTFBhcmFncmFwaEVsZW1lbnQuaWRs
XG5XZWJDb3JlL2h0bWwvSFRNTFBhcmFtRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MUHJl
RWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MUHJvZ3Jlc3NFbGVtZW50LmlkbFxuV2ViQ29y
ZS9odG1sL0hUTUxQcm9wZXJ0aWVzQ29sbGVjdGlvbi5pZGxcbldlYkNvcmUvaHRtbC9IVE1MUXVv
dGVFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmlkbFxuV2ViQ29y
ZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVt
ZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxTcGFuRWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9I
VE1MU3R5bGVFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxUYWJsZUNhcHRpb25FbGVtZW50
LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxUYWJsZUNlbGxFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1s
L0hUTUxUYWJsZUNvbEVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5p
ZGxcbldlYkNvcmUvaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hU
TUxUYWJsZVNlY3Rpb25FbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1l
bnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGxcbldlYkNvcmUvaHRt
bC9IVE1MVGl0bGVFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuaWRs
XG5XZWJDb3JlL2h0bWwvSFRNTFVMaXN0RWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC9IVE1MVW5r
bm93bkVsZW1lbnQuaWRsXG5XZWJDb3JlL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5pZGxcbldlYkNv
cmUvaHRtbC9JbWFnZURhdGEuaWRsXG5XZWJDb3JlL2h0bWwvTWVkaWFDb250cm9sbGVyLmlkbFxu
V2ViQ29yZS9odG1sL01lZGlhRXJyb3IuaWRsXG5XZWJDb3JlL2h0bWwvTWVkaWFLZXlFcnJvci5p
ZGxcbldlYkNvcmUvaHRtbC9NZWRpYUtleUV2ZW50LmlkbFxuV2ViQ29yZS9odG1sL01pY3JvRGF0
YUl0ZW1WYWx1ZS5pZGxcbldlYkNvcmUvaHRtbC9SYWRpb05vZGVMaXN0LmlkbFxuV2ViQ29yZS9o
dG1sL1RleHRNZXRyaWNzLmlkbFxuV2ViQ29yZS9odG1sL1RpbWVSYW5nZXMuaWRsXG5XZWJDb3Jl
L2h0bWwvVmFsaWRpdHlTdGF0ZS5pZGxcbldlYkNvcmUvaHRtbC9Wb2lkQ2FsbGJhY2suaWRsXG5X
ZWJDb3JlL2h0bWwvY2FudmFzL0FycmF5QnVmZmVyLmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9B
cnJheUJ1ZmZlclZpZXcuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc0dyYWRpZW50Lmlk
bFxuV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNQYXR0ZXJuLmlkbFxuV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNQcm94eS5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dC5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9EYXRhVmlldy5pZGxcbldlYkNvcmUvaHRtbC9jYW52
YXMvRE9NUGF0aC5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvRVhURHJhd0J1ZmZlcnMuaWRsXG5X
ZWJDb3JlL2h0bWwvY2FudmFzL0VYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5pZGxcbldlYkNv
cmUvaHRtbC9jYW52YXMvRmxvYXQzMkFycmF5LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9GbG9h
dDY0QXJyYXkuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL0ludDE2QXJyYXkuaWRsXG5XZWJDb3Jl
L2h0bWwvY2FudmFzL0ludDMyQXJyYXkuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL0ludDhBcnJh
eS5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvT0VTRWxlbWVudEluZGV4VWludC5pZGxcbldlYkNv
cmUvaHRtbC9jYW52YXMvT0VTU3RhbmRhcmREZXJpdmF0aXZlcy5pZGxcbldlYkNvcmUvaHRtbC9j
YW52YXMvT0VTVGV4dHVyZUZsb2F0LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNUZXh0dXJl
SGFsZkZsb2F0LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNWZXJ0ZXhBcnJheU9iamVjdC5p
ZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvVWludDE2QXJyYXkuaWRsXG5XZWJDb3JlL2h0bWwvY2Fu
dmFzL1VpbnQzMkFycmF5LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9VaW50OEFycmF5LmlkbFxu
V2ViQ29yZS9odG1sL2NhbnZhcy9VaW50OENsYW1wZWRBcnJheS5pZGxcbldlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xBY3RpdmVJbmZvLmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEJ1ZmZl
ci5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFUQy5pZGxc
bldlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xDb21wcmVzc2VkVGV4dHVyZVBWUlRDLmlkbFxuV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTENvbXByZXNzZWRUZXh0dXJlUzNUQy5pZGxcbldlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xDb250ZXh0QXR0cmlidXRlcy5pZGxcbldlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xDb250ZXh0RXZlbnQuaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRGVwdGhU
ZXh0dXJlLmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmlkbFxuV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTExvc2VDb250ZXh0LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHTFByb2dyYW0uaWRsXG5XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyYnVmZmVy
LmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuaWRsXG5XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMU2hhZGVyLmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TFNoYWRlclByZWNpc2lvbkZvcm1hdC5pZGxcbldlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xUZXh0
dXJlLmlkbFxuV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFVuaWZvcm1Mb2NhdGlvbi5pZGxcbldl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5pZGxcbldlYkNvcmUv
aHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmlkbFxuV2ViQ29yZS9odG1sL3NoYWRvdy9I
VE1MU2hhZG93RWxlbWVudC5pZGxcbldlYkNvcmUvaHRtbC90cmFjay9UZXh0VHJhY2suaWRsXG5X
ZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrQ3VlLmlkbFxuV2ViQ29yZS9odG1sL3RyYWNrL1Rl
eHRUcmFja0N1ZUxpc3QuaWRsXG5XZWJDb3JlL2h0bWwvdHJhY2svVGV4dFRyYWNrTGlzdC5pZGxc
bldlYkNvcmUvaHRtbC90cmFjay9UcmFja0V2ZW50LmlkbFxuV2ViQ29yZS9pbnNwZWN0b3IvSW5q
ZWN0ZWRTY3JpcHRIb3N0LmlkbFxuV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRI
b3N0LmlkbFxuV2ViQ29yZS9pbnNwZWN0b3IvU2NyaXB0UHJvZmlsZS5pZGxcbldlYkNvcmUvaW5z
cGVjdG9yL1NjcmlwdFByb2ZpbGVOb2RlLmlkbFxuV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvRE9N
QXBwbGljYXRpb25DYWNoZS5pZGxcbldlYkNvcmUvcGFnZS9BYnN0cmFjdFZpZXcuaWRsXG5XZWJD
b3JlL3BhZ2UvQmFySW5mby5pZGxcbldlYkNvcmUvcGFnZS9Db25zb2xlLmlkbFxuV2ViQ29yZS9w
YWdlL0NyeXB0by5pZGxcbldlYkNvcmUvcGFnZS9ET01TZWN1cml0eVBvbGljeS5pZGxcbldlYkNv
cmUvcGFnZS9ET01TZWxlY3Rpb24uaWRsXG5XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbFxuV2Vi
Q29yZS9wYWdlL0V2ZW50U291cmNlLmlkbFxuV2ViQ29yZS9wYWdlL0hpc3RvcnkuaWRsXG5XZWJD
b3JlL3BhZ2UvTG9jYXRpb24uaWRsXG5XZWJDb3JlL3BhZ2UvTmF2aWdhdG9yLmlkbFxuV2ViQ29y
ZS9wYWdlL1BlcmZvcm1hbmNlLmlkbFxuV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlv
bi5pZGxcbldlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5pZGxcbldlYkNvcmUvcGFnZS9T
Y3JlZW4uaWRsXG5XZWJDb3JlL3BhZ2UvU3BlZWNoSW5wdXRFdmVudC5pZGxcbldlYkNvcmUvcGFn
ZS9TcGVlY2hJbnB1dFJlc3VsdC5pZGxcbldlYkNvcmUvcGFnZS9TcGVlY2hJbnB1dFJlc3VsdExp
c3QuaWRsXG5XZWJDb3JlL3BhZ2UvV2ViS2l0UG9pbnQuaWRsXG5XZWJDb3JlL3BhZ2UvV29ya2Vy
TmF2aWdhdG9yLmlkbFxuV2ViQ29yZS9wbHVnaW5zL0RPTU1pbWVUeXBlLmlkbFxuV2ViQ29yZS9w
bHVnaW5zL0RPTU1pbWVUeXBlQXJyYXkuaWRsXG5XZWJDb3JlL3BsdWdpbnMvRE9NUGx1Z2luLmlk
bFxuV2ViQ29yZS9wbHVnaW5zL0RPTVBsdWdpbkFycmF5LmlkbFxuV2ViQ29yZS9zdG9yYWdlL1N0
b3JhZ2UuaWRsXG5XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUV2ZW50LmlkbFxuV2ViQ29yZS9zdmcv
RWxlbWVudFRpbWVDb250cm9sLmlkbFxuV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuaWRsXG5XZWJD
b3JlL3N2Zy9TVkdBbHRHbHlwaERlZkVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdBbHRHbHlw
aEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaEl0ZW1FbGVtZW50LmlkbFxuV2Vi
Q29yZS9zdmcvU1ZHQW5nbGUuaWRsXG5XZWJDb3JlL3N2Zy9TVkdBbmltYXRlQ29sb3JFbGVtZW50
LmlkbFxuV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZUVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdB
bmltYXRlTW90aW9uRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0FuaW1hdGVUcmFuc2Zvcm1F
bGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRBbmdsZS5pZGxcbldlYkNvcmUvc3Zn
L1NWR0FuaW1hdGVkQm9vbGVhbi5pZGxcbldlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkRW51bWVyYXRp
b24uaWRsXG5XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEludGVnZXIuaWRsXG5XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlZExlbmd0aC5pZGxcbldlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoTGlzdC5p
ZGxcbldlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTnVtYmVyLmlkbFxuV2ViQ29yZS9zdmcvU1ZHQW5p
bWF0ZWROdW1iZXJMaXN0LmlkbFxuV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVj
dFJhdGlvLmlkbFxuV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRSZWN0LmlkbFxuV2ViQ29yZS9zdmcv
U1ZHQW5pbWF0ZWRTdHJpbmcuaWRsXG5XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFRyYW5zZm9ybUxp
c3QuaWRsXG5XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcv
U1ZHQ2lyY2xlRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5pZGxc
bldlYkNvcmUvc3ZnL1NWR0NvbG9yLmlkbFxuV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNm
ZXJGdW5jdGlvbkVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmlkbFxu
V2ViQ29yZS9zdmcvU1ZHRGVmc0VsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdEZXNjRWxlbWVu
dC5pZGxcbldlYkNvcmUvc3ZnL1NWR0RvY3VtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRWxlbWVu
dC5pZGxcbldlYkNvcmUvc3ZnL1NWR0VsZW1lbnRJbnN0YW5jZS5pZGxcbldlYkNvcmUvc3ZnL1NW
R0VsbGlwc2VFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRXhjZXB0aW9uLmlkbFxuV2ViQ29y
ZS9zdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ZF
QmxlbmRFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaWRs
XG5XZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudC5pZGxcbldlYkNvcmUv
c3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ZFQ29udm9sdmVN
YXRyaXhFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50
LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmlkbFxuV2ViQ29y
ZS9zdmcvU1ZHRkVEaXN0YW50TGlnaHRFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVEcm9w
U2hhZG93RWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ZFRmxvb2RFbGVtZW50LmlkbFxuV2Vi
Q29yZS9zdmcvU1ZHRkVGdW5jQUVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGRUZ1bmNCRWxl
bWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ZFRnVuY0dFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcv
U1ZHRkVGdW5jUkVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1l
bnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NW
R0ZFTWVyZ2VFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVtZW50Lmlk
bFxuV2ViQ29yZS9zdmcvU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NW
R0ZFT2Zmc2V0RWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ZFUG9pbnRMaWdodEVsZW1lbnQu
aWRsXG5XZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmlkbFxuV2ViQ29y
ZS9zdmcvU1ZHRkVTcG90TGlnaHRFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRkVUaWxlRWxl
bWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaWRsXG5XZWJDb3Jl
L3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZl
U3RhbmRhcmRBdHRyaWJ1dGVzLmlkbFxuV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmlkbFxu
V2ViQ29yZS9zdmcvU1ZHRm9udEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVs
ZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdGb250RmFjZUZvcm1hdEVsZW1lbnQuaWRsXG5XZWJD
b3JlL3N2Zy9TVkdGb250RmFjZU5hbWVFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRm9udEZh
Y2VTcmNFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VVcmlFbGVtZW50LmlkbFxu
V2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdH
RWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0dseXBoRWxlbWVudC5pZGxcbldlYkNvcmUvc3Zn
L1NWR0dseXBoUmVmRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5p
ZGxcbldlYkNvcmUvc3ZnL1NWR0hLZXJuRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0ltYWdl
RWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0xhbmdTcGFjZS5pZGxcbldlYkNvcmUvc3ZnL1NW
R0xlbmd0aC5pZGxcbldlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuaWRsXG5XZWJDb3JlL3N2Zy9T
VkdMaW5lRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5p
ZGxcbldlYkNvcmUvc3ZnL1NWR0xvY2F0YWJsZS5pZGxcbldlYkNvcmUvc3ZnL1NWR01QYXRoRWxl
bWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9T
VkdNYXNrRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR01hdHJpeC5pZGxcbldlYkNvcmUvc3Zn
L1NWR01ldGFkYXRhRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1l
bnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdOdW1iZXIuaWRsXG5XZWJDb3JlL3N2Zy9TVkdOdW1iZXJM
aXN0LmlkbFxuV2ViQ29yZS9zdmcvU1ZHUGFpbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRoRWxl
bWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhTZWcuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRo
U2VnQXJjQWJzLmlkbFxuV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0FyY1JlbC5pZGxcbldlYkNvcmUv
c3ZnL1NWR1BhdGhTZWdDbG9zZVBhdGguaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3VydmV0
b0N1YmljQWJzLmlkbFxuV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9DdWJpY1JlbC5pZGxc
bldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvQ3ViaWNTbW9vdGhBYnMuaWRsXG5XZWJDb3Jl
L3N2Zy9TVkdQYXRoU2VnQ3VydmV0b0N1YmljU21vb3RoUmVsLmlkbFxuV2ViQ29yZS9zdmcvU1ZH
UGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNBYnMuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnQ3Vy
dmV0b1F1YWRyYXRpY1JlbC5pZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdDdXJ2ZXRvUXVhZHJh
dGljU21vb3RoQWJzLmlkbFxuV2ViQ29yZS9zdmcvU1ZHUGF0aFNlZ0N1cnZldG9RdWFkcmF0aWNT
bW9vdGhSZWwuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvQWJzLmlkbFxuV2ViQ29y
ZS9zdmcvU1ZHUGF0aFNlZ0xpbmV0b0hvcml6b250YWxBYnMuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQ
YXRoU2VnTGluZXRvSG9yaXpvbnRhbFJlbC5pZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdMaW5l
dG9SZWwuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvVmVydGljYWxBYnMuaWRsXG5X
ZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTGluZXRvVmVydGljYWxSZWwuaWRsXG5XZWJDb3JlL3N2Zy9T
VkdQYXRoU2VnTGlzdC5pZGxcbldlYkNvcmUvc3ZnL1NWR1BhdGhTZWdNb3ZldG9BYnMuaWRsXG5X
ZWJDb3JlL3N2Zy9TVkdQYXRoU2VnTW92ZXRvUmVsLmlkbFxuV2ViQ29yZS9zdmcvU1ZHUGF0dGVy
bkVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdQb2ludExpc3QuaWRsXG5XZWJDb3JlL3N2Zy9T
VkdQb2x5Z29uRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR1BvbHlsaW5lRWxlbWVudC5pZGxc
bldlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaWRsXG5XZWJDb3JlL3N2Zy9TVkdS
YWRpYWxHcmFkaWVudEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdSZWN0LmlkbFxuV2ViQ29y
ZS9zdmcvU1ZHUmVjdEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdSZW5kZXJpbmdJbnRlbnQu
aWRsXG5XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHU2NyaXB0
RWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR1NldEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9T
VkdTdG9wRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR1N0cmluZ0xpc3QuaWRsXG5XZWJDb3Jl
L3N2Zy9TVkdTdHlsZUVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50Lmlk
bFxuV2ViQ29yZS9zdmcvU1ZHU3dpdGNoRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR1N5bWJv
bEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdUUmVmRWxlbWVudC5pZGxcbldlYkNvcmUvc3Zn
L1NWR1RTcGFuRWxlbWVudC5pZGxcbldlYkNvcmUvc3ZnL1NWR1Rlc3RzLmlkbFxuV2ViQ29yZS9z
dmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHVGV4dEVsZW1lbnQu
aWRsXG5XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdU
ZXh0UG9zaXRpb25pbmdFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHVGl0bGVFbGVtZW50Lmlk
bFxuV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtLmlkbFxuV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3Jt
TGlzdC5pZGxcbldlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybWFibGUuaWRsXG5XZWJDb3JlL3N2Zy9T
VkdVUklSZWZlcmVuY2UuaWRsXG5XZWJDb3JlL3N2Zy9TVkdVbml0VHlwZXMuaWRsXG5XZWJDb3Jl
L3N2Zy9TVkdVc2VFbGVtZW50LmlkbFxuV2ViQ29yZS9zdmcvU1ZHVktlcm5FbGVtZW50LmlkbFxu
V2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaWRsXG5XZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5p
ZGxcbldlYkNvcmUvc3ZnL1NWR1pvb21BbmRQYW4uaWRsXG5XZWJDb3JlL3N2Zy9TVkdab29tRXZl
bnQuaWRsXG5XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbFxuV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuaWRsXG5XZWJDb3JlL3Rlc3RpbmcvTWFsbG9jU3RhdGlzdGljcy5pZGxc
bldlYkNvcmUvdGVzdGluZy9NZW1vcnlJbmZvLmlkbFxuV2ViQ29yZS90ZXN0aW5nL1R5cGVDb252
ZXJzaW9ucy5pZGxcbldlYkNvcmUvd29ya2Vycy9BYnN0cmFjdFdvcmtlci5pZGxcbldlYkNvcmUv
d29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJDb250ZXh0LmlkbFxuV2ViQ29yZS93b3JrZXJzL1NoYXJl
ZFdvcmtlci5pZGxcbldlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJDb250ZXh0LmlkbFxuV2Vi
Q29yZS93b3JrZXJzL1dvcmtlci5pZGxcbldlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0Lmlk
bFxuV2ViQ29yZS93b3JrZXJzL1dvcmtlckxvY2F0aW9uLmlkbFxuV2ViQ29yZS94bWwvRE9NUGFy
c2VyLmlkbFxuV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuaWRsXG5XZWJDb3JlL3htbC9YTUxI
dHRwUmVxdWVzdEV4Y2VwdGlvbi5pZGxcbldlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudC5pZGxcbldlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0VXBsb2FkLmlkbFxuV2ViQ29y
ZS94bWwvWE1MU2VyaWFsaXplci5pZGxcbldlYkNvcmUveG1sL1hQYXRoRXZhbHVhdG9yLmlkbFxu
V2ViQ29yZS94bWwvWFBhdGhFeGNlcHRpb24uaWRsXG5XZWJDb3JlL3htbC9YUGF0aEV4cHJlc3Np
b24uaWRsXG5XZWJDb3JlL3htbC9YUGF0aE5TUmVzb2x2ZXIuaWRsXG5XZWJDb3JlL3htbC9YUGF0
aFJlc3VsdC5pZGxcbldlYkNvcmUveG1sL1hTTFRQcm9jZXNzb3IuaWRsXG5JbnRlcm5hbFNldHRp
bmdzR2VuZXJhdGVkLmlkbFxuV2ViQ29yZS9pbnNwZWN0b3IvSmF2YVNjcmlwdENhbGxGcmFtZS5p
ZGxcbiIgPiAuL2lkbF9maWxlcy50bXAKIHBlcmwgSmF2YVNjcmlwdENvcmUvZG9jcy9tYWtlLWJ5
dGVjb2RlLWRvY3MucGwgSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3Bw
IGRvY3MvYnl0ZWNvZGUuaHRtbAogY2F0IFdlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4g
V2ViQ29yZS9jc3MvU1ZHQ1NTUHJvcGVydHlOYW1lcy5pbiA+IENTU1Byb3BlcnR5TmFtZXMuaW4K
IHJtIC1mIC4vaWRsX2ZpbGVzLnRtcApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGRkYmVjZDVhNTA4MTFiOTJlNTIwYTNlMzYx
YzE5Njc2YThmOTIzNWEuLmRhNWE3Y2E2Y2I5Y2U0NzAzOTQwY2E2OWU0MjBlMDRiNDUyYjMwYTYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxOS0xMC0wOSAgU2FpZCBBYm91LUhhbGxhd2EgIDxz
YWJvdWhhbGxhd2FAYXBwbGUuY29tPgorCisgICAgICAgIFtTVkcyXTogUmVtb3ZlIHRoZSBpbnRl
cmZhY2UgU1ZHUG9pbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5MTM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1ha2UgYWxsIGNoYW5nZXMgd2hpY2ggYXJlIHJlcXVpcmVkIGZvciBjaGFuZ2luZyBT
VkdQb2ludExpc3QgZnJvbSBiZWluZworICAgICAgICBhIGxpc3Qgb2YgU1ZHUG9pbnQgdG8gYmUg
YSBsaXN0IG9mIERPTVBvaW50LgorCisgICAgICAgICogc3ZnL2N1c3RvbS9nbG9iYWwtY29uc3Ry
dWN0b3JzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL2dsb2JhbC1jb25zdHJ1
Y3RvcnMuaHRtbDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3BvbHlsaW5lLXBvaW50cy1jcmFzaC1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2RvbS9TVkdQb2ludC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogc3ZnL2RvbS9TVkdQb2ludC5odG1sOgorICAgICAgICAqIHN2Zy9kb20vU1ZHUG9p
bnRMaXN0LWJhc2ljcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2RvbS9TVkdQb2ludExp
c3QtYmFzaWNzLnhodG1sOgorICAgICAgICAqIHN2Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogc3ZnL2RvbS9zdmcyLWluaGVyaXRhbmNlLmh0bWw6CisKKzIw
MTktMTAtMDkgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KKwor
ICAgICAgICBNYWtlIHRoZSBTVkcgcHJvcGVydGllcyBvZiBTVkdWaWV3U3BlYyBtb2RpZmlhYmxl
IGJ1dCBkZXRhY2hlZCBwcm9wZXJ0aWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDI0MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBNYWtlIHN1cmUgYWxsIHRoZSBwcm9wZXJ0aWVzIG9mIFNWR1ZpZXdT
cGVjIGFyZSBtb2RpZmlhYmxlLgorCisgICAgICAgICogc3ZnL2RvbS9TVkdWaWV3U3BlYy1kZWZh
dWx0cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2RvbS9TVkdWaWV3U3BlYy1kZWZhdWx0
cy5odG1sOgorCiAyMDE5LTEwLTA5ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUu
Y29tPgogCiAgICAgICAgIFsgTWFjIFdLMiBdIExheW91dCBUZXN0IGZhc3QvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1UcmFjay1nZXRTZXR0aW5ncy5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMmI0M2NlMmI1YTczN2ZmY2JkYmE1OWI3MTI5
YWM2ZTRlNjM5ZGY4ZC4uMzU1NjYxMThhYmIzYTZjYTc0MDE4NDFmODc5NzUyMTc5ZGIzMTViNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTktMTAt
MDkgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxsYXdhQGFwcGxlLmNvbT4KKworICAgICAg
ICBbU1ZHMl06IFJlbW92ZSB0aGUgaW50ZXJmYWNlIFNWR1BvaW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTEzNzYKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Z2VvbWV0cnkvaW50ZXJmYWNlcy1leHBlY3RlZC50eHQ6CisKIDIwMTktMTAtMDggIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NsaXBib2FyZCBBUEld
IEltcG9ydCB3ZWItcGxhdGZvcm0tdGVzdHMvY2xpcGJvYXJkLWFwaXMKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2dlb21ldHJ5L2lu
dGVyZmFjZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnkvaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKaW5kZXggYWVh
YmFkMzc5NTA4MDA1ZjU1Y2RjNDgzMzY0Njg4NjhkNDEyMjU3ZS4uYmVkNGU4OGM5MWRhOTBkMTUx
OTU4MzUwYTExZWY1MTEzM2RkNDRmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvZ2VvbWV0cnkvaW50ZXJmYWNlcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Z2VvbWV0cnkvaW50ZXJmYWNlcy1leHBlY3RlZC50eHQKQEAgLTI4LDExICsyOCw3IEBAIFBBU1Mg
RE9NUG9pbnRSZWFkT25seSBpbnRlcmZhY2U6IGRlZmF1bHQgdG9KU09OIG9wZXJhdGlvbiBvbiBu
ZXcgRE9NUG9pbnRSZWFkT25sCiBQQVNTIERPTVBvaW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCiBQQVNTIERPTVBvaW50IGludGVyZmFj
ZSBvYmplY3QgbGVuZ3RoIAogUEFTUyBET01Qb2ludCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCi1G
QUlMIERPTVBvaW50IGludGVyZmFjZTogbGVnYWN5IHdpbmRvdyBhbGlhcyBhc3NlcnRfZXF1YWxz
OiBzZWxmLlNWR1BvaW50IHNob3VsZCBiZSB0aGUgc2FtZSB2YWx1ZSBhcyBzZWxmLkRPTVBvaW50
IGV4cGVjdGVkIGZ1bmN0aW9uICJmdW5jdGlvbiBET01Qb2ludCgpIHsKLSAgICBbbmF0aXZlIGNv
ZGVdCi19IiBidXQgZ290IGZ1bmN0aW9uICJmdW5jdGlvbiBTVkdQb2ludCgpIHsKLSAgICBbbmF0
aXZlIGNvZGVdCi19IgorUEFTUyBET01Qb2ludCBpbnRlcmZhY2U6IGxlZ2FjeSB3aW5kb3cgYWxp
YXMgCiBQQVNTIERPTVBvaW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAogUEFTUyBET01Qb2ludCBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJj
b25zdHJ1Y3RvciIgcHJvcGVydHkgCiBQQVNTIERPTVBvaW50IGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3Bh
YmxlcyBwcm9wZXJ0eSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2xvYmFs
LWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dsb2Jh
bC1jb25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CmluZGV4IGU1YjY1MTg1OWNkZjhlN2VmNmVmODM3
MmFhM2ZmNWU5NWUxZTdkZDYuLmQzNDU1ZWQ5YjNiNmJhZGM4ZmEwNmY2MWMzZDVmN2U1YTY3Yzg2
ZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2xvYmFsLWNvbnN0cnVjdG9y
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nbG9iYWwtY29uc3Ry
dWN0b3JzLWV4cGVjdGVkLnR4dApAQCAtNTYsNyArNTYsNiBAQCBQQVNTIFNWR1VzZUVsZW1lbnQu
dG9TdHJpbmcoKSBpcyAiZnVuY3Rpb24gU1ZHVXNlRWxlbWVudCgpIHtcbiAgICBbbmF0aXZlIGNv
ZGVdXAogUEFTUyBTVkdJbWFnZUVsZW1lbnQudG9TdHJpbmcoKSBpcyAiZnVuY3Rpb24gU1ZHSW1h
Z2VFbGVtZW50KCkge1xuICAgIFtuYXRpdmUgY29kZV1cbn0iCiBQQVNTIFNWR1N3aXRjaEVsZW1l
bnQudG9TdHJpbmcoKSBpcyAiZnVuY3Rpb24gU1ZHU3dpdGNoRWxlbWVudCgpIHtcbiAgICBbbmF0
aXZlIGNvZGVdXG59IgogUEFTUyBTVkdTdHlsZUVsZW1lbnQudG9TdHJpbmcoKSBpcyAiZnVuY3Rp
b24gU1ZHU3R5bGVFbGVtZW50KCkge1xuICAgIFtuYXRpdmUgY29kZV1cbn0iCi1QQVNTIFNWR1Bv
aW50LnRvU3RyaW5nKCkgaXMgImZ1bmN0aW9uIFNWR1BvaW50KCkge1xuICAgIFtuYXRpdmUgY29k
ZV1cbn0iCiBQQVNTIFNWR1BvaW50TGlzdC50b1N0cmluZygpIGlzICJmdW5jdGlvbiBTVkdQb2lu
dExpc3QoKSB7XG4gICAgW25hdGl2ZSBjb2RlXVxufSIKIFBBU1MgU1ZHTWF0cml4LnRvU3RyaW5n
KCkgaXMgImZ1bmN0aW9uIFNWR01hdHJpeCgpIHtcbiAgICBbbmF0aXZlIGNvZGVdXG59IgogUEFT
UyBTVkdUcmFuc2Zvcm0udG9TdHJpbmcoKSBpcyAiZnVuY3Rpb24gU1ZHVHJhbnNmb3JtKCkge1xu
ICAgIFtuYXRpdmUgY29kZV1cbn0iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L2dsb2JhbC1jb25zdHJ1Y3RvcnMuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2xvYmFs
LWNvbnN0cnVjdG9ycy5odG1sCmluZGV4IDMyZjczNzFmMDYzNGJkZjY3NjNjMzYzZTkwZDlkMzI1
NGVjMzExNTEuLjNlNzA2NDBmZWQxMmYzNWNiNWIwNWYzOWQ5MTE4M2Y4ZWVjYTY3MzIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy5odG1sCisr
KyBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy5odG1sCkBAIC01
Miw3ICs1Miw2IEBAIHNob3VsZEJlRGVmaW5lZCgiU1ZHVXNlRWxlbWVudCIpOwogc2hvdWxkQmVE
ZWZpbmVkKCJTVkdJbWFnZUVsZW1lbnQiKTsKIHNob3VsZEJlRGVmaW5lZCgiU1ZHU3dpdGNoRWxl
bWVudCIpOwogc2hvdWxkQmVEZWZpbmVkKCJTVkdTdHlsZUVsZW1lbnQiKTsKLXNob3VsZEJlRGVm
aW5lZCgiU1ZHUG9pbnQiKTsKIHNob3VsZEJlRGVmaW5lZCgiU1ZHUG9pbnRMaXN0Iik7CiBzaG91
bGRCZURlZmluZWQoIlNWR01hdHJpeCIpOwogc2hvdWxkQmVEZWZpbmVkKCJTVkdUcmFuc2Zvcm0i
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcG9seWxpbmUtcG9pbnRzLWNy
YXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9jdXN0b20vcG9seWxpbmUtcG9pbnRz
LWNyYXNoLWV4cGVjdGVkLnR4dAppbmRleCAyYWI4YzRjMjBkZDJjZTk2ZDNhODY4YTFkYjY3ZGNm
YzVjODI3Y2ViLi5kYWJhYTcxODRhZTQzNzBhZmJiYWQwNWFiZTZmNDViMWNlZTI5ZmJkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3BvbHlsaW5lLXBvaW50cy1jcmFzaC1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wb2x5bGluZS1wb2ludHMtY3Jh
c2gtZXhwZWN0ZWQudHh0CkBAIC0xLDIgKzEsMiBAQAotQ2F1Z2h0IGV4Y2VwdGlvbjogVHlwZUVy
cm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5hcHBlbmRJdGVtIG11
c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9pbnQKK0NhdWdodCBleGNlcHRpb246IFR5cGVFcnJv
cjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuYXBwZW5kSXRlbSBtdXN0
IGJlIGFuIGluc3RhbmNlIG9mIERPTVBvaW50CiBQQVNTRUQgLS0gV2ViS2l0IGRpZCBub3QgY3Jh
c2ghCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1BvaW50LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUG9pbnQtZXhwZWN0ZWQudHh0CmluZGV4IDFjZDc4
YWE3YmVmYzE5YmYwNDE0ZjUxMTUwNWMyNDVlYzQ0ZWEyNjQuLjhhMGEyN2M5MzAzNWMwYTEyOGZi
OTYzMGI0ZTkxNDgwNDEwZTk3YzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZH
UG9pbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUG9pbnQtZXhw
ZWN0ZWQudHh0CkBAIC0yMywxNyArMjMsMTcgQEAgUEFTUyBwb2ludC55IGlzIDAKIFJlc2V0IHRv
IC01MCwgMTAwCiAKIENoZWNrICdtYXRyaXhUcmFuc2Zvcm0nIG1ldGhvZCAtIG11bHRpcGx5IHdp
dGggLTEsMCwwLDIsMTAsMTAgbWF0cml4LCBzaG91bGQgZmxpcCB4IGNvb3JkaW5hdGUsIG11bHRp
cGx5IHkgYnkgdHdvIGFuZCB0cmFuc2xhdGUgZWFjaCBjb29yZGluYXRlIGJ5IDEwCi1QQVNTIChu
ZXdQb2ludCA9IHBvaW50Lm1hdHJpeFRyYW5zZm9ybShjdG0pKS50b1N0cmluZygpIGlzICJbb2Jq
ZWN0IFNWR1BvaW50XSIKK1BBU1MgKG5ld1BvaW50ID0gcG9pbnQubWF0cml4VHJhbnNmb3JtKGN0
bSkpLnRvU3RyaW5nKCkgaXMgIltvYmplY3QgRE9NUG9pbnRdIgogUEFTUyBuZXdQb2ludC54IGlz
IDYwCiBQQVNTIG5ld1BvaW50LnkgaXMgMjEwCiAKIENoZWNrIGludmFsaWQgYXJndW1lbnRzIGZv
ciAnbWF0cml4VHJhbnNmb3JtJwotUEFTUyBwb2ludC5tYXRyaXhUcmFuc2Zvcm0oKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KLVBBU1MgcG9pbnQubWF0
cml4VHJhbnNmb3JtKC0xKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgn
bWF0cml4JykgdG8gU1ZHUG9pbnQubWF0cml4VHJhbnNmb3JtIG11c3QgYmUgYW4gaW5zdGFuY2Ug
b2YgU1ZHTWF0cml4LgotUEFTUyBwb2ludC5tYXRyaXhUcmFuc2Zvcm0oNSkgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ21hdHJpeCcpIHRvIFNWR1BvaW50Lm1hdHJpeFRy
YW5zZm9ybSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR01hdHJpeC4KLVBBU1MgcG9pbnQubWF0
cml4VHJhbnNmb3JtKCdhU3RyaW5nJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1l
bnQgMSAoJ21hdHJpeCcpIHRvIFNWR1BvaW50Lm1hdHJpeFRyYW5zZm9ybSBtdXN0IGJlIGFuIGlu
c3RhbmNlIG9mIFNWR01hdHJpeC4KLVBBU1MgcG9pbnQubWF0cml4VHJhbnNmb3JtKHBvaW50KSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbWF0cml4JykgdG8gU1ZHUG9p
bnQubWF0cml4VHJhbnNmb3JtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU1ZHTWF0cml4LgotUEFT
UyBwb2ludC5tYXRyaXhUcmFuc2Zvcm0oc3ZnRWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogQXJndW1lbnQgMSAoJ21hdHJpeCcpIHRvIFNWR1BvaW50Lm1hdHJpeFRyYW5zZm9ybSBt
dXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR01hdHJpeC4KK1BBU1MgcG9pbnQubWF0cml4VHJhbnNm
b3JtKCkudG9TdHJpbmcoKSBpcyAiW29iamVjdCBET01Qb2ludF0iCitQQVNTIHBvaW50Lm1hdHJp
eFRyYW5zZm9ybSgtMSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KK1BB
U1MgcG9pbnQubWF0cml4VHJhbnNmb3JtKDUpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5
cGUgZXJyb3IuCitQQVNTIHBvaW50Lm1hdHJpeFRyYW5zZm9ybSgnYVN0cmluZycpIHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCitQQVNTIHBvaW50Lm1hdHJpeFRyYW5zZm9y
bShwb2ludCkudG9TdHJpbmcoKSBpcyAiW29iamVjdCBET01Qb2ludF0iCitQQVNTIHBvaW50Lm1h
dHJpeFRyYW5zZm9ybShzdmdFbGVtZW50KS50b1N0cmluZygpIGlzICJbb2JqZWN0IERPTVBvaW50
XSIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQb2ludC5odG1sIGIvTGF5b3V0VGVzdHMv
c3ZnL2RvbS9TVkdQb2ludC5odG1sCmluZGV4IDA3N2VmODcxYjM3OThjYjhlYWU2M2YxMjE3MWI0
Nzc4NmZhODU5NGMuLmRmZDFjOWI0NzkzYTRmYmUyZTIxNWZmODI0N2NhYzVkMmU5MDhiMGQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUG9pbnQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9zdmcvZG9tL1NWR1BvaW50Lmh0bWwKQEAgLTQ0LDE4ICs0NCwxOCBAQCBjdG0uYSA9IC0x
OwogY3RtLmQgPSAyOwogY3RtLmUgPSAxMDsKIGN0bS5mID0gMTA7Ci1zaG91bGRCZUVxdWFsVG9T
dHJpbmcoIihuZXdQb2ludCA9IHBvaW50Lm1hdHJpeFRyYW5zZm9ybShjdG0pKS50b1N0cmluZygp
IiwgIltvYmplY3QgU1ZHUG9pbnRdIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoIihuZXdQb2lu
dCA9IHBvaW50Lm1hdHJpeFRyYW5zZm9ybShjdG0pKS50b1N0cmluZygpIiwgIltvYmplY3QgRE9N
UG9pbnRdIik7CiBzaG91bGRCZSgibmV3UG9pbnQueCIsICI2MCIpOwogc2hvdWxkQmUoIm5ld1Bv
aW50LnkiLCAiMjEwIik7CiAKIGRlYnVnKCIiKTsKIGRlYnVnKCJDaGVjayBpbnZhbGlkIGFyZ3Vt
ZW50cyBmb3IgJ21hdHJpeFRyYW5zZm9ybSciKTsKLXNob3VsZFRocm93KCJwb2ludC5tYXRyaXhU
cmFuc2Zvcm0oKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJwb2ludC5tYXRyaXhUcmFuc2Zv
cm0oKS50b1N0cmluZygpIiwgIltvYmplY3QgRE9NUG9pbnRdIik7CiBzaG91bGRUaHJvdygicG9p
bnQubWF0cml4VHJhbnNmb3JtKC0xKSIpOwogc2hvdWxkVGhyb3coInBvaW50Lm1hdHJpeFRyYW5z
Zm9ybSg1KSIpOwogc2hvdWxkVGhyb3coInBvaW50Lm1hdHJpeFRyYW5zZm9ybSgnYVN0cmluZycp
Iik7Ci1zaG91bGRUaHJvdygicG9pbnQubWF0cml4VHJhbnNmb3JtKHBvaW50KSIpOwotc2hvdWxk
VGhyb3coInBvaW50Lm1hdHJpeFRyYW5zZm9ybShzdmdFbGVtZW50KSIpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJwb2ludC5tYXRyaXhUcmFuc2Zvcm0ocG9pbnQpLnRvU3RyaW5nKCkiLCAiW29i
amVjdCBET01Qb2ludF0iKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygicG9pbnQubWF0cml4VHJh
bnNmb3JtKHN2Z0VsZW1lbnQpLnRvU3RyaW5nKCkiLCAiW29iamVjdCBET01Qb2ludF0iKTsKIAog
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3ZnL2RvbS9TVkdQb2ludExpc3QtYmFzaWNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N2Zy9kb20vU1ZHUG9pbnRMaXN0LWJhc2ljcy1leHBlY3RlZC50eHQKaW5kZXggYWRjNGZk
YTJhNmRjYTBmYzk1YWUxYThjMTAwZTY4YjkzMWM4MjQyMi4uMWRhMjEwN2NiNmU0NjI2OTMzMWM3
M2IyNDEzZWRmZGY5NDM1NGIyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdQ
b2ludExpc3QtYmFzaWNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NW
R1BvaW50TGlzdC1iYXNpY3MtZXhwZWN0ZWQudHh0CkBAIC0xMSw3ICsxMSw3IEBAIFBBU1MgZHVt
cFBvaW50KHBvbHkxLnBvaW50cy5nZXRJdGVtKDMpKSBpcyAieD0wIHk9MTAwIgogUEFTUyBwb2x5
MS5nZXRBdHRyaWJ1dGUoJ3BvaW50cycpLmZvcm1hdFBvaW50c0F0dHJpYnV0ZSgpIGlzICIwIDAg
MTAwIDAgMTAwIDEwMCAwIDEwMCIKIAogQ3JlYXRpbmcgcG9pbnQgeD0yMDAgeT0xMDAKLVBBU1Mg
KHBvaW50ID0gc3ZnLmNyZWF0ZVNWR1BvaW50KCkpLnRvU3RyaW5nKCkgaXMgIltvYmplY3QgU1ZH
UG9pbnRdIgorUEFTUyAocG9pbnQgPSBzdmcuY3JlYXRlU1ZHUG9pbnQoKSkudG9TdHJpbmcoKSBp
cyAiW29iamVjdCBET01Qb2ludF0iCiBQQVNTIHBvaW50LnggPSAyMDAgaXMgMjAwCiBQQVNTIHBv
aW50LnkgPSAxMDAgaXMgMTAwCiAKQEAgLTIwLDkgKzIwLDkgQEAgUEFTUyBwb2x5MS5wb2ludHMu
aW5pdGlhbGl6ZShwb2ludCkgaXMgcG9pbnQKIFBBU1MgcG9seTEucG9pbnRzLm51bWJlck9mSXRl
bXMgaXMgMQogUEFTUyBkdW1wUG9pbnQocG9seTEucG9pbnRzLmdldEl0ZW0oMCkpIGlzICJ4PTIw
MCB5PTEwMCIKIFBBU1MgcG9seTEuZ2V0QXR0cmlidXRlKCdwb2ludHMnKS5mb3JtYXRQb2ludHNB
dHRyaWJ1dGUoKSBpcyAiMjAwIDEwMCIKLVBBU1MgcG9seTEucG9pbnRzLmluaXRpYWxpemUocG9s
eTEpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8g
U1ZHUG9pbnRMaXN0LmluaXRpYWxpemUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdQb2ludC4K
LVBBU1MgcG9seTEucG9pbnRzLmluaXRpYWxpemUoMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuaW5pdGlhbGl6ZSBtdXN0
IGJlIGFuIGluc3RhbmNlIG9mIFNWR1BvaW50LgotUEFTUyBwb2x5MS5wb2ludHMuaW5pdGlhbGl6
ZSgnYVN0cmluZycpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJ
dGVtJykgdG8gU1ZHUG9pbnRMaXN0LmluaXRpYWxpemUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBT
VkdQb2ludC4KK1BBU1MgcG9seTEucG9pbnRzLmluaXRpYWxpemUocG9seTEpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0Lmlu
aXRpYWxpemUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01Qb2ludC4KK1BBU1MgcG9seTEucG9p
bnRzLmluaXRpYWxpemUoMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAo
J25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuaW5pdGlhbGl6ZSBtdXN0IGJlIGFuIGluc3RhbmNl
IG9mIERPTVBvaW50LgorUEFTUyBwb2x5MS5wb2ludHMuaW5pdGlhbGl6ZSgnYVN0cmluZycpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9p
bnRMaXN0LmluaXRpYWxpemUgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01Qb2ludC4KIAogUmVz
ZXQgcG9pbnRzIGF0dHJpYnV0ZSB0byAwIDAgMTAwIDAgMTAwIDEwMCAwIDEwMAogUEFTUyBwb2x5
MS5zZXRBdHRyaWJ1dGUoJ3BvaW50cycsICcwIDAgMTAwIDAgMTAwIDEwMCAwIDEwMCcpIGlzIHVu
ZGVmaW5lZC4KQEAgLTc1LDE5ICs3NSwxOSBAQCBQQVNTIGR1bXBQb2ludChwb2x5MS5wb2ludHMu
Z2V0SXRlbSgxKSkgaXMgIng9MTAwIHk9MCIKIFBBU1MgZHVtcFBvaW50KHBvbHkxLnBvaW50cy5n
ZXRJdGVtKDIpKSBpcyAieD0xMDAgeT0xMDAiCiBQQVNTIGR1bXBQb2ludChwb2x5MS5wb2ludHMu
Z2V0SXRlbSgzKSkgaXMgIng9MCB5PTEwMCIKIFBBU1MgcG9seTEuZ2V0QXR0cmlidXRlKCdwb2lu
dHMnKS5mb3JtYXRQb2ludHNBdHRyaWJ1dGUoKSBpcyAiMCAwIDEwMCAwIDEwMCAxMDAgMCAxMDAi
Ci1QQVNTIHBvbHkxLnBvaW50cy5pbnNlcnRJdGVtQmVmb3JlKDMwLCAwKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5pbnNl
cnRJdGVtQmVmb3JlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9pbnQuCi1QQVNTIHBvbHkx
LnBvaW50cy5pbnNlcnRJdGVtQmVmb3JlKCdhU3RyaW5nJywgMCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuaW5zZXJ0SXRl
bUJlZm9yZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR1BvaW50LgotUEFTUyBwb2x5MS5wb2lu
dHMuaW5zZXJ0SXRlbUJlZm9yZShwb2x5MSwgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
QXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QuaW5zZXJ0SXRlbUJlZm9yZSBt
dXN0IGJlIGFuIGluc3RhbmNlIG9mIFNWR1BvaW50LgotUEFTUyBwb2x5MS5wb2ludHMuaW5zZXJ0
SXRlbUJlZm9yZShudWxsLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAx
ICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5pbnNlcnRJdGVtQmVmb3JlIG11c3QgYmUgYW4g
aW5zdGFuY2Ugb2YgU1ZHUG9pbnQuCitQQVNTIHBvbHkxLnBvaW50cy5pbnNlcnRJdGVtQmVmb3Jl
KDMwLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScp
IHRvIFNWR1BvaW50TGlzdC5pbnNlcnRJdGVtQmVmb3JlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2Yg
RE9NUG9pbnQuCitQQVNTIHBvbHkxLnBvaW50cy5pbnNlcnRJdGVtQmVmb3JlKCdhU3RyaW5nJywg
MCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBT
VkdQb2ludExpc3QuaW5zZXJ0SXRlbUJlZm9yZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERPTVBv
aW50LgorUEFTUyBwb2x5MS5wb2ludHMuaW5zZXJ0SXRlbUJlZm9yZShwb2x5MSwgMCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExp
c3QuaW5zZXJ0SXRlbUJlZm9yZSBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIERPTVBvaW50LgorUEFT
UyBwb2x5MS5wb2ludHMuaW5zZXJ0SXRlbUJlZm9yZShudWxsLCAwKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5pbnNlcnRJ
dGVtQmVmb3JlIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9NUG9pbnQuCiAKIFRlc3QgdW5jb21t
b24gYXJndW1lbnRzIGZvciByZXBsYWNlSXRlbSgpCiBQQVNTIHBvbHkxLnBvaW50cy5yZXBsYWNl
SXRlbSgzMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMu
CiBQQVNTIHBvbHkxLnBvaW50cy5yZXBsYWNlSXRlbSgnYVN0cmluZycpIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgogUEFTUyBwb2x5MS5wb2ludHMucmVw
bGFjZUl0ZW0ocG9seTEpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJn
dW1lbnRzLgotUEFTUyBwb2x5MS5wb2ludHMucmVwbGFjZUl0ZW0obnVsbCwgMCkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3Qu
cmVwbGFjZUl0ZW0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdQb2ludC4KLVBBU1MgcG9seTEu
cG9pbnRzLnJlcGxhY2VJdGVtKCdhU3RyaW5nJywgMCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3QucmVwbGFjZUl0ZW0gbXVz
dCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdQb2ludC4KLVBBU1MgcG9seTEucG9pbnRzLnJlcGxhY2VJ
dGVtKHBvbHkxLCAwKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3
SXRlbScpIHRvIFNWR1BvaW50TGlzdC5yZXBsYWNlSXRlbSBtdXN0IGJlIGFuIGluc3RhbmNlIG9m
IFNWR1BvaW50LgotUEFTUyBwb2x5MS5wb2ludHMucmVwbGFjZUl0ZW0oMSwgMCkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExpc3Qu
cmVwbGFjZUl0ZW0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdQb2ludC4KK1BBU1MgcG9seTEu
cG9pbnRzLnJlcGxhY2VJdGVtKG51bGwsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFy
Z3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LnJlcGxhY2VJdGVtIG11c3QgYmUg
YW4gaW5zdGFuY2Ugb2YgRE9NUG9pbnQuCitQQVNTIHBvbHkxLnBvaW50cy5yZXBsYWNlSXRlbSgn
YVN0cmluZycsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJ
dGVtJykgdG8gU1ZHUG9pbnRMaXN0LnJlcGxhY2VJdGVtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2Yg
RE9NUG9pbnQuCitQQVNTIHBvbHkxLnBvaW50cy5yZXBsYWNlSXRlbShwb2x5MSwgMCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ25ld0l0ZW0nKSB0byBTVkdQb2ludExp
c3QucmVwbGFjZUl0ZW0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01Qb2ludC4KK1BBU1MgcG9s
eTEucG9pbnRzLnJlcGxhY2VJdGVtKDEsIDApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFy
Z3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LnJlcGxhY2VJdGVtIG11c3QgYmUg
YW4gaW5zdGFuY2Ugb2YgRE9NUG9pbnQuCiAKIFRlc3QgdW5jb21tb24gYXJndW1lbnRzIGZvciBy
ZXBsYWNlSXRlbSgpIGFuZCB4bWwtZG9tIHN5bmNocm9uaXphdGlvbgogUEFTUyBwb2x5MS5wb2lu
dHMubnVtYmVyT2ZJdGVtcyBpcyA0CkBAIC0xNDMsMTAgKzE0MywxMCBAQCBQQVNTIGR1bXBQb2lu
dChwb2x5MS5wb2ludHMuZ2V0SXRlbSgwKSkgaXMgIng9MCB5PTEwMCIKIFBBU1MgcG9seTEuZ2V0
QXR0cmlidXRlKCdwb2ludHMnKS5mb3JtYXRQb2ludHNBdHRyaWJ1dGUoKSBpcyAiMCAxMDAiCiAK
IFRlc3QgdW5jb21tb24gYXJndW1lbnRzIGZvciBhcHBlbmRJdGVtKCkKLVBBU1MgcG9seTEucG9p
bnRzLmFwcGVuZEl0ZW0oMzApIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEg
KCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LmFwcGVuZEl0ZW0gbXVzdCBiZSBhbiBpbnN0YW5j
ZSBvZiBTVkdQb2ludC4KLVBBU1MgcG9seTEucG9pbnRzLmFwcGVuZEl0ZW0oJ2FTdHJpbmcnKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1Bv
aW50TGlzdC5hcHBlbmRJdGVtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9pbnQuCi1QQVNT
IHBvbHkxLnBvaW50cy5hcHBlbmRJdGVtKHBvbHkxKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5hcHBlbmRJdGVtIG11c3Qg
YmUgYW4gaW5zdGFuY2Ugb2YgU1ZHUG9pbnQuCi1QQVNTIHBvbHkxLnBvaW50cy5hcHBlbmRJdGVt
KG51bGwpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykg
dG8gU1ZHUG9pbnRMaXN0LmFwcGVuZEl0ZW0gbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBTVkdQb2lu
dC4KK1BBU1MgcG9seTEucG9pbnRzLmFwcGVuZEl0ZW0oMzApIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IEFyZ3VtZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LmFwcGVuZEl0ZW0g
bXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBET01Qb2ludC4KK1BBU1MgcG9seTEucG9pbnRzLmFwcGVu
ZEl0ZW0oJ2FTdHJpbmcnKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgn
bmV3SXRlbScpIHRvIFNWR1BvaW50TGlzdC5hcHBlbmRJdGVtIG11c3QgYmUgYW4gaW5zdGFuY2Ug
b2YgRE9NUG9pbnQuCitQQVNTIHBvbHkxLnBvaW50cy5hcHBlbmRJdGVtKHBvbHkxKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbmV3SXRlbScpIHRvIFNWR1BvaW50TGlz
dC5hcHBlbmRJdGVtIG11c3QgYmUgYW4gaW5zdGFuY2Ugb2YgRE9NUG9pbnQuCitQQVNTIHBvbHkx
LnBvaW50cy5hcHBlbmRJdGVtKG51bGwpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFyZ3Vt
ZW50IDEgKCduZXdJdGVtJykgdG8gU1ZHUG9pbnRMaXN0LmFwcGVuZEl0ZW0gbXVzdCBiZSBhbiBp
bnN0YW5jZSBvZiBET01Qb2ludC4KIFBBU1MgZHVtcFBvaW50KHBvbHkxLnBvaW50cy5hcHBlbmRJ
dGVtKHBvaW50KSkgaXMgIng9MjAwIHk9MTAwIgogUEFTUyBwb2x5MS5wb2ludHMubnVtYmVyT2ZJ
dGVtcyBpcyAyCiBQQVNTIGR1bXBQb2ludChwb2x5MS5wb2ludHMuZ2V0SXRlbSgwKSkgaXMgIng9
MCB5PTEwMCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUG9pbnRMaXN0LWJh
c2ljcy54aHRtbCBiL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHUG9pbnRMaXN0LWJhc2ljcy54aHRt
bAppbmRleCA2ZWU0MjFjZDUzNTg2MWEzMzA4YWVjOGE4YWUwZWNmYzEyNDkwYTg5Li5kMTBiMWQx
NzkwOThmYmE0MDMzZTUxMTYwMTZhYmZhZDk4ZDFmY2NmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdmcvZG9tL1NWR1BvaW50TGlzdC1iYXNpY3MueGh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3Zn
L2RvbS9TVkdQb2ludExpc3QtYmFzaWNzLnhodG1sCkBAIC0zOCw3ICszOCw3IEBACiAgICAgdmFy
IHBvaW50OwogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygiQ3JlYXRpbmcgcG9pbnQgeD0yMDAg
eT0xMDAiKTsKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIihwb2ludCA9IHN2Zy5jcmVhdGVT
VkdQb2ludCgpKS50b1N0cmluZygpIiwgIltvYmplY3QgU1ZHUG9pbnRdIik7CisgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCIocG9pbnQgPSBzdmcuY3JlYXRlU1ZHUG9pbnQoKSkudG9TdHJpbmco
KSIsICJbb2JqZWN0IERPTVBvaW50XSIpOwogICAgIHNob3VsZEJlKCJwb2ludC54ID0gMjAwIiwg
IjIwMCIpOwogICAgIHNob3VsZEJlKCJwb2ludC55ID0gMTAwIiwgIjEwMCIpOwogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1ZpZXdTcGVjLWRlZmF1bHRzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3N2Zy9kb20vU1ZHVmlld1NwZWMtZGVmYXVsdHMtZXhwZWN0ZWQudHh0
CmluZGV4IDljMDE4MTc1ODE1Yjc0NGZkMmI2NTBkNzM3MmM0N2Y4NWFhMTRhZjEuLjE0NTJhYjdj
NDVhNGYzNWEzOTU5N2YwMzNlMGQzOTkyNTBiYmEyYzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N2Zy9kb20vU1ZHVmlld1NwZWMtZGVmYXVsdHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3N2Zy9kb20vU1ZHVmlld1NwZWMtZGVmYXVsdHMtZXhwZWN0ZWQudHh0CkBAIC0yMCw1MCAr
MjAsNTMgQEAgUEFTUyBjdXJyZW50Vmlldy50cmFuc2Zvcm1TdHJpbmcgaXMgIiIKIFBBU1MgY3Vy
cmVudFZpZXcudmlld1RhcmdldFN0cmluZyBpcyAiIgogUEFTUyBjdXJyZW50Vmlldy56b29tQW5k
UGFuIGlzIFNWR1ZpZXdFbGVtZW50LlNWR19aT09NQU5EUEFOX01BR05JRlkKIAotVHJ5IGNoYW5n
aW5nIHpvb21BbmRQYW4gLSBub25lIG9mIHRoZXNlIHdpbGwgd29yaywgYXMgU1ZHVmlld1NwZWMg
aXMgZnVsbHkgcmVhZG9ubHkgLSBldmVuIHRoZSBhbmltYXRlZCBwcm9wZXJ0aWVzIGl0IGluaGVy
aXRzIGZyb20gcGFyZW50IGNsYXNzZXMgbGlrZSBTVkdab29tQW5kUGFuL1NWR0ZpdFRvVmlld0Jv
eAorVHJ5IGNoYW5naW5nIHpvb21BbmRQYW4gLSBub25lIG9mIHRoZXNlIHdpbGwgd29yaywgaXQg
aXMgYSBwcmltaXRpdmUgcHJvcGVydHkKIFBBU1MgY3VycmVudFZpZXcuem9vbUFuZFBhbiA9IFNW
R1ZpZXdFbGVtZW50LlNWR19aT09NQU5EUEFOX0RJU0FCTEUgdGhyZXcgZXhjZXB0aW9uIE5vTW9k
aWZpY2F0aW9uQWxsb3dlZEVycm9yOiBUaGUgb2JqZWN0IGNhbiBub3QgYmUgbW9kaWZpZWQuLgog
UEFTUyBjdXJyZW50Vmlldy56b29tQW5kUGFuIGlzIFNWR1ZpZXdFbGVtZW50LlNWR19aT09NQU5E
UEFOX01BR05JRlkKIAotVHJ5IGNoYW5naW5nIHZpZXdCb3ggLSB0aGlzIGhhcyBubyBhZmZlY3Qg
b24gdGhlIFNWR1NWR0VsZW1lbnQgdGhlIHZpZXdTcGVjIGJlbG9uZ3MgdG8gLSBpdCBleHBvc2Vk
IGFsbCBpdHMgcHJvcGVydGllcyBhcyByZWFkLW9ubHkKLVBBU1MgY3VycmVudFZpZXcudmlld0Jv
eC5iYXNlVmFsLnggPSAxMCB0aHJldyBleGNlcHRpb24gTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJy
b3I6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBtb2RpZmllZC4uCi1QQVNTIGN1cnJlbnRWaWV3LnZp
ZXdCb3guYmFzZVZhbC54IGlzIDAKLVBBU1MgY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLnkg
PSAyMCB0aHJldyBleGNlcHRpb24gTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3I6IFRoZSBvYmpl
Y3QgY2FuIG5vdCBiZSBtb2RpZmllZC4uCi1QQVNTIGN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZh
bC55IGlzIDAKLVBBU1MgY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLndpZHRoID0gNTAgdGhy
ZXcgZXhjZXB0aW9uIE5vTW9kaWZpY2F0aW9uQWxsb3dlZEVycm9yOiBUaGUgb2JqZWN0IGNhbiBu
b3QgYmUgbW9kaWZpZWQuLgotUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwud2lkdGgg
aXMgMAotUEFTUyBjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwuaGVpZ2h0ID0gMTAwIHRocmV3
IGV4Y2VwdGlvbiBOb01vZGlmaWNhdGlvbkFsbG93ZWRFcnJvcjogVGhlIG9iamVjdCBjYW4gbm90
IGJlIG1vZGlmaWVkLi4KLVBBU1MgY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLmhlaWdodCBp
cyAwCi1QQVNTIGN1cnJlbnRWaWV3LnZpZXdCb3hTdHJpbmcgaXMgIjAgMCAwIDAiCitDaGFuZ2lu
ZyB2aWV3Qm94IC0gdGhpcyBoYXMgbm8gYWZmZWN0IG9uIHRoZSBTVkdTVkdFbGVtZW50IHRoZSB2
aWV3U3BlYyBiZWxvbmdzIHRvIC0gaXQgaXMgYSBkZXRhY2hlZCBwcm9wZXJ0eQorUEFTUyBjdXJy
ZW50Vmlldy52aWV3Qm94LmJhc2VWYWwueCA9IDEwIGlzIDEwCitQQVNTIGN1cnJlbnRWaWV3LnZp
ZXdCb3guYmFzZVZhbC54IGlzIDEwCitQQVNTIGN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC55
ID0gMjAgaXMgMjAKK1BBU1MgY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLnkgaXMgMjAKK1BB
U1MgY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLndpZHRoID0gNTAgaXMgNTAKK1BBU1MgY3Vy
cmVudFZpZXcudmlld0JveC5iYXNlVmFsLndpZHRoIGlzIDUwCitQQVNTIGN1cnJlbnRWaWV3LnZp
ZXdCb3guYmFzZVZhbC5oZWlnaHQgPSAxMDAgaXMgMTAwCitQQVNTIGN1cnJlbnRWaWV3LnZpZXdC
b3guYmFzZVZhbC5oZWlnaHQgaXMgMTAwCitQQVNTIGN1cnJlbnRWaWV3LnZpZXdCb3hTdHJpbmcg
aXMgIjEwIDIwIDUwIDEwMCIKIAotVHJ5IGNoYW5naW5nIHZpZXdCb3hTdHJpbmcKK1RyeSBjaGFu
Z2luZyB2aWV3Qm94U3RyaW5nIC0gbm9uZSBvZiB0aGVzZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJp
bWl0aXZlIHByb3BlcnR5CiBQQVNTIGN1cnJlbnRWaWV3LnZpZXdCb3hTdHJpbmcgPSAnMSAyIDMg
NCcgaXMgIjEgMiAzIDQiCi1QQVNTIGN1cnJlbnRWaWV3LnZpZXdCb3hTdHJpbmcgaXMgIjAgMCAw
IDAiCitQQVNTIGN1cnJlbnRWaWV3LnZpZXdCb3hTdHJpbmcgaXMgIjEwIDIwIDUwIDEwMCIKIAot
VHJ5IGNoYW5naW5nIHByZXNlcnZlQXNwZWN0UmF0aW8KLVBBU1MgY3VycmVudFZpZXcucHJlc2Vy
dmVBc3BlY3RSYXRpby5iYXNlVmFsLmFsaWduID0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdf
UFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1JTiB0aHJldyBleGNlcHRpb24gTm9Nb2RpZmljYXRp
b25BbGxvd2VkRXJyb3I6IFRoZSBvYmplY3QgY2FuIG5vdCBiZSBtb2RpZmllZC4uCi1QQVNTIGN1
cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5hbGlnbiBpcyBTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvLlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlECi1QQVNTIGN1cnJl
bnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5tZWV0T3JTbGljZSA9IFNWR1ByZXNl
cnZlQXNwZWN0UmF0aW8uU1ZHX01FRVRPUlNMSUNFX1NMSUNFIHRocmV3IGV4Y2VwdGlvbiBOb01v
ZGlmaWNhdGlvbkFsbG93ZWRFcnJvcjogVGhlIG9iamVjdCBjYW4gbm90IGJlIG1vZGlmaWVkLi4K
LVBBU1MgY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLm1lZXRPclNsaWNl
IGlzIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX01FRVRPUlNMSUNFX01FRVQKK0NoYW5naW5n
IHByZXNlcnZlQXNwZWN0UmF0aW8gLSB0aGlzIGhhcyBubyBhZmZlY3Qgb24gdGhlIFNWR1NWR0Vs
ZW1lbnQgdGhlIHZpZXdTcGVjIGJlbG9uZ3MgdG8gLSBpdCBpcyBhIGRldGFjaGVkIHByb3BlcnR5
CitQQVNTIGN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5hbGlnbiA9IFNW
R1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSU4gaXMg
U1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1JTgor
UEFTUyBjdXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VWYWwuYWxpZ24gaXMgU1ZH
UHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1JTgorUEFT
UyBjdXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VWYWwubWVldE9yU2xpY2UgPSBT
VkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19NRUVUT1JTTElDRV9TTElDRSBpcyBTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvLlNWR19NRUVUT1JTTElDRV9TTElDRQorUEFTUyBjdXJyZW50Vmlldy5wcmVz
ZXJ2ZUFzcGVjdFJhdGlvLmJhc2VWYWwubWVldE9yU2xpY2UgaXMgU1ZHUHJlc2VydmVBc3BlY3RS
YXRpby5TVkdfTUVFVE9SU0xJQ0VfU0xJQ0UKIAotVHJ5IGNoYW5naW5nIHByZXNlcnZlQXNwZWN0
UmF0aW9TdHJpbmcKLVBBU1MgY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpb1N0cmluZyA9
ICd4TWluWU1pbiBzbGljZScgaXMgInhNaW5ZTWluIHNsaWNlIgotUEFTUyBjdXJyZW50Vmlldy5w
cmVzZXJ2ZUFzcGVjdFJhdGlvU3RyaW5nIGlzICJ4TWlkWU1pZCBtZWV0IgotCi1UcnkgY2hhbmdp
bmcgdHJhbnNmb3JtU3RyaW5nCi1QQVNTIGN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmluZyA9ICdy
b3RhdGUoOTApJyBpcyAicm90YXRlKDkwKSIKLVBBU1MgY3VycmVudFZpZXcudHJhbnNmb3JtU3Ry
aW5nIGlzICIiCitDaGFuZ2luZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvU3RyaW5nIC0gbm9uZSBvZiB0
aGVzZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJpbWl0aXZlIHByb3BlcnR5CitQQVNTIGN1cnJlbnRW
aWV3LnByZXNlcnZlQXNwZWN0UmF0aW9TdHJpbmcgPSAneE1pZFlNaWQgbWVldCcgaXMgInhNaWRZ
TWlkIG1lZXQiCitQQVNTIGN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0aW9TdHJpbmcgaXMg
InhNaW5ZTWluIHNsaWNlIgogCi1UcnkgY2hhbmdpbmcgdmlld1RhcmdldAorVHJ5IGNoYW5naW5n
IHZpZXdUYXJnZXQgLSBub25lIG9mIHRoZXNlIHdpbGwgd29yaywgaXQgaXMgYSBwcmltaXRpdmUg
cHJvcGVydHkKIFBBU1MgY3VycmVudFZpZXcudmlld1RhcmdldCA9IHN2Z0VsZW1lbnQgaXMgc3Zn
RWxlbWVudAogUEFTUyBjdXJyZW50Vmlldy52aWV3VGFyZ2V0IGlzIG51bGwKIAotVHJ5IGNoYW5n
aW5nIHZpZXdUYXJnZXRTdHJpbmcKK1RyeSBjaGFuZ2luZyB2aWV3VGFyZ2V0U3RyaW5nIC0gbm9u
ZSBvZiB0aGVzZSB3aWxsIHdvcmssIGl0IGlzIGEgcHJpbWl0aXZlIHByb3BlcnR5CiBQQVNTIGN1
cnJlbnRWaWV3LnZpZXdUYXJnZXRTdHJpbmcgPSAnI3Rlc3QnIGlzICIjdGVzdCIKIFBBU1MgY3Vy
cmVudFZpZXcudmlld1RhcmdldFN0cmluZyBpcyAiIgogCi1UcnkgY2hhbmdpbmcgdHJhbnNmb3Jt
Ci1QQVNTIGN1cnJlbnRWaWV3LnRyYW5zZm9ybS5jbGVhcigpIHRocmV3IGV4Y2VwdGlvbiBOb01v
ZGlmaWNhdGlvbkFsbG93ZWRFcnJvcjogVGhlIG9iamVjdCBjYW4gbm90IGJlIG1vZGlmaWVkLi4K
K0NoYW5naW5nIHRyYW5zZm9ybSAtIHRoaXMgaGFzIG5vIGFmZmVjdCBvbiB0aGUgU1ZHU1ZHRWxl
bWVudCB0aGUgdmlld1NwZWMgYmVsb25ncyB0byAtIGl0IGlzIGEgZGV0YWNoZWQgcHJvcGVydHkK
K1BBU1MgY3VycmVudFZpZXcudHJhbnNmb3JtLmFwcGVuZEl0ZW0odHJhbnNmb3JtKS50b1N0cmlu
ZygpIGlzICJbb2JqZWN0IFNWR1RyYW5zZm9ybV0iCitQQVNTIGN1cnJlbnRWaWV3LnRyYW5zZm9y
bS5udW1iZXJPZkl0ZW1zIGlzIDEKK1BBU1MgY3VycmVudFZpZXcudHJhbnNmb3JtU3RyaW5nIGlz
ICJtYXRyaXgoMSAwIDAgMSAwIDApIgorUEFTUyB1bmRlZmluZWQgaXMgdW5kZWZpbmVkLgogUEFT
UyBjdXJyZW50Vmlldy50cmFuc2Zvcm0ubnVtYmVyT2ZJdGVtcyBpcyAwCisKK1RyeSBjaGFuZ2lu
ZyB0cmFuc2Zvcm1TdHJpbmcgLSBub25lIG9mIHRoZXNlIHdpbGwgd29yaywgaXQgaXMgYSBwcmlt
aXRpdmUgcHJvcGVydHkKK1BBU1MgY3VycmVudFZpZXcudHJhbnNmb3JtU3RyaW5nID0gJ3JvdGF0
ZSg5MCknIGlzICJyb3RhdGUoOTApIgorUEFTUyBjdXJyZW50Vmlldy50cmFuc2Zvcm1TdHJpbmcg
aXMgIiIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdWaWV3U3BlYy1kZWZhdWx0cy5odG1s
IGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9TVkdWaWV3U3BlYy1kZWZhdWx0cy5odG1sCmluZGV4IGEw
MjQyNjcxZDJjYWNjYjBiZWM1MjQ5YjBlNWNjOTNlNDYyNzYxZWIuLjEwNjBiZGMyY2JkZGE3ODI0
M2E4YWY4YzA2NTQyNWM2NmY3MjMxZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9kb20v
U1ZHVmlld1NwZWMtZGVmYXVsdHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvZG9tL1NWR1Zp
ZXdTcGVjLWRlZmF1bHRzLmh0bWwKQEAgLTM0LDYyICszNCw2NCBAQCBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImN1cnJlbnRWaWV3LnZpZXdUYXJnZXRTdHJpbmciLCAiIik7CiBzaG91bGRCZSgiY3Vy
cmVudFZpZXcuem9vbUFuZFBhbiIsICJTVkdWaWV3RWxlbWVudC5TVkdfWk9PTUFORFBBTl9NQUdO
SUZZIik7CiAKIGRlYnVnKCIiKTsKLWRlYnVnKCJUcnkgY2hhbmdpbmcgem9vbUFuZFBhbiAtIG5v
bmUgb2YgdGhlc2Ugd2lsbCB3b3JrLCBhcyBTVkdWaWV3U3BlYyBpcyBmdWxseSByZWFkb25seSAt
IGV2ZW4gdGhlIGFuaW1hdGVkIHByb3BlcnRpZXMgaXQgaW5oZXJpdHMgZnJvbSBwYXJlbnQgY2xh
c3NlcyBsaWtlIFNWR1pvb21BbmRQYW4vU1ZHRml0VG9WaWV3Qm94Iik7CitkZWJ1ZygiVHJ5IGNo
YW5naW5nIHpvb21BbmRQYW4gLSBub25lIG9mIHRoZXNlIHdpbGwgd29yaywgaXQgaXMgYSBwcmlt
aXRpdmUgcHJvcGVydHkiKTsKIHNob3VsZFRocm93KCJjdXJyZW50Vmlldy56b29tQW5kUGFuID0g
U1ZHVmlld0VsZW1lbnQuU1ZHX1pPT01BTkRQQU5fRElTQUJMRSIpOwogc2hvdWxkQmUoImN1cnJl
bnRWaWV3Lnpvb21BbmRQYW4iLCAiU1ZHVmlld0VsZW1lbnQuU1ZHX1pPT01BTkRQQU5fTUFHTklG
WSIpOwogCiBkZWJ1ZygiIik7Ci1kZWJ1ZygiVHJ5IGNoYW5naW5nIHZpZXdCb3ggLSB0aGlzIGhh
cyBubyBhZmZlY3Qgb24gdGhlIFNWR1NWR0VsZW1lbnQgdGhlIHZpZXdTcGVjIGJlbG9uZ3MgdG8g
LSBpdCBleHBvc2VkIGFsbCBpdHMgcHJvcGVydGllcyBhcyByZWFkLW9ubHkiKTsKLXNob3VsZFRo
cm93KCJjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwueCA9IDEwIik7Ci1zaG91bGRCZSgiY3Vy
cmVudFZpZXcudmlld0JveC5iYXNlVmFsLngiLCAiMCIpOwotc2hvdWxkVGhyb3coImN1cnJlbnRW
aWV3LnZpZXdCb3guYmFzZVZhbC55ID0gMjAiKTsKLXNob3VsZEJlKCJjdXJyZW50Vmlldy52aWV3
Qm94LmJhc2VWYWwueSIsICIwIik7Ci1zaG91bGRUaHJvdygiY3VycmVudFZpZXcudmlld0JveC5i
YXNlVmFsLndpZHRoID0gNTAiKTsKLXNob3VsZEJlKCJjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VW
YWwud2lkdGgiLCAiMCIpOwotc2hvdWxkVGhyb3coImN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZh
bC5oZWlnaHQgPSAxMDAiKTsKLXNob3VsZEJlKCJjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwu
aGVpZ2h0IiwgIjAiKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVudFZpZXcudmlld0Jv
eFN0cmluZyIsICIwIDAgMCAwIik7CitkZWJ1ZygiQ2hhbmdpbmcgdmlld0JveCAtIHRoaXMgaGFz
IG5vIGFmZmVjdCBvbiB0aGUgU1ZHU1ZHRWxlbWVudCB0aGUgdmlld1NwZWMgYmVsb25ncyB0byAt
IGl0IGlzIGEgZGV0YWNoZWQgcHJvcGVydHkiKTsKK3Nob3VsZEJlKCJjdXJyZW50Vmlldy52aWV3
Qm94LmJhc2VWYWwueCA9IDEwIiwgIjEwIik7CitzaG91bGRCZSgiY3VycmVudFZpZXcudmlld0Jv
eC5iYXNlVmFsLngiLCAiMTAiKTsKK3Nob3VsZEJlKCJjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VW
YWwueSA9IDIwIiwgIjIwIik7CitzaG91bGRCZSgiY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFs
LnkiLCAiMjAiKTsKK3Nob3VsZEJlKCJjdXJyZW50Vmlldy52aWV3Qm94LmJhc2VWYWwud2lkdGgg
PSA1MCIsICI1MCIpOworc2hvdWxkQmUoImN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC53aWR0
aCIsICI1MCIpOworc2hvdWxkQmUoImN1cnJlbnRWaWV3LnZpZXdCb3guYmFzZVZhbC5oZWlnaHQg
PSAxMDAiLCAiMTAwIik7CitzaG91bGRCZSgiY3VycmVudFZpZXcudmlld0JveC5iYXNlVmFsLmhl
aWdodCIsICIxMDAiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVudFZpZXcudmlld0Jv
eFN0cmluZyIsICIxMCAyMCA1MCAxMDAiKTsKIAogZGVidWcoIiIpOwotZGVidWcoIlRyeSBjaGFu
Z2luZyB2aWV3Qm94U3RyaW5nIik7CitkZWJ1ZygiVHJ5IGNoYW5naW5nIHZpZXdCb3hTdHJpbmcg
LSBub25lIG9mIHRoZXNlIHdpbGwgd29yaywgaXQgaXMgYSBwcmltaXRpdmUgcHJvcGVydHkiKTsK
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVudFZpZXcudmlld0JveFN0cmluZyA9ICcxIDIg
MyA0JyIsICIxIDIgMyA0Iik7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnZp
ZXdCb3hTdHJpbmciLCAiMCAwIDAgMCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50
Vmlldy52aWV3Qm94U3RyaW5nIiwgIjEwIDIwIDUwIDEwMCIpOwogCiBkZWJ1ZygiIik7Ci1kZWJ1
ZygiVHJ5IGNoYW5naW5nIHByZXNlcnZlQXNwZWN0UmF0aW8iKTsKLXNob3VsZFRocm93KCJjdXJy
ZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VWYWwuYWxpZ24gPSBTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvLlNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlOIik7Ci1zaG91bGRCZSgi
Y3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLmFsaWduIiwgIlNWR1ByZXNl
cnZlQXNwZWN0UmF0aW8uU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSUQiKTsKLXNob3Vs
ZFRocm93KCJjdXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VWYWwubWVldE9yU2xp
Y2UgPSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19NRUVUT1JTTElDRV9TTElDRSIpOwotc2hv
dWxkQmUoImN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0aW8uYmFzZVZhbC5tZWV0T3JTbGlj
ZSIsICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19NRUVUT1JTTElDRV9NRUVUIik7CitkZWJ1
ZygiQ2hhbmdpbmcgcHJlc2VydmVBc3BlY3RSYXRpbyAtIHRoaXMgaGFzIG5vIGFmZmVjdCBvbiB0
aGUgU1ZHU1ZHRWxlbWVudCB0aGUgdmlld1NwZWMgYmVsb25ncyB0byAtIGl0IGlzIGEgZGV0YWNo
ZWQgcHJvcGVydHkiKTsKK3Nob3VsZEJlKCJjdXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVjdFJhdGlv
LmJhc2VWYWwuYWxpZ24gPSBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLlNWR19QUkVTRVJWRUFTUEVD
VFJBVElPX1hNSU5ZTUlOIiwgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX1BSRVNFUlZFQVNQ
RUNUUkFUSU9fWE1JTllNSU4iKTsKK3Nob3VsZEJlKCJjdXJyZW50Vmlldy5wcmVzZXJ2ZUFzcGVj
dFJhdGlvLmJhc2VWYWwuYWxpZ24iLCAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VS
VkVBU1BFQ1RSQVRJT19YTUlOWU1JTiIpOworc2hvdWxkQmUoImN1cnJlbnRWaWV3LnByZXNlcnZl
QXNwZWN0UmF0aW8uYmFzZVZhbC5tZWV0T3JTbGljZSA9IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8u
U1ZHX01FRVRPUlNMSUNFX1NMSUNFIiwgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX01FRVRP
UlNMSUNFX1NMSUNFIik7CitzaG91bGRCZSgiY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRp
by5iYXNlVmFsLm1lZXRPclNsaWNlIiwgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uU1ZHX01FRVRP
UlNMSUNFX1NMSUNFIik7CiAKIGRlYnVnKCIiKTsKLWRlYnVnKCJUcnkgY2hhbmdpbmcgcHJlc2Vy
dmVBc3BlY3RSYXRpb1N0cmluZyIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmll
dy5wcmVzZXJ2ZUFzcGVjdFJhdGlvU3RyaW5nID0gJ3hNaW5ZTWluIHNsaWNlJyIsICJ4TWluWU1p
biBzbGljZSIpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy5wcmVzZXJ2ZUFz
cGVjdFJhdGlvU3RyaW5nIiwgInhNaWRZTWlkIG1lZXQiKTsKLQorZGVidWcoIkNoYW5naW5nIHBy
ZXNlcnZlQXNwZWN0UmF0aW9TdHJpbmcgLSBub25lIG9mIHRoZXNlIHdpbGwgd29yaywgaXQgaXMg
YSBwcmltaXRpdmUgcHJvcGVydHkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVudFZp
ZXcucHJlc2VydmVBc3BlY3RSYXRpb1N0cmluZyA9ICd4TWlkWU1pZCBtZWV0JyIsICJ4TWlkWU1p
ZCBtZWV0Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnByZXNlcnZlQXNw
ZWN0UmF0aW9TdHJpbmciLCAieE1pbllNaW4gc2xpY2UiKTsKIAogZGVidWcoIiIpOwotZGVidWco
IlRyeSBjaGFuZ2luZyB0cmFuc2Zvcm1TdHJpbmciKTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygi
Y3VycmVudFZpZXcudHJhbnNmb3JtU3RyaW5nID0gJ3JvdGF0ZSg5MCknIiwgInJvdGF0ZSg5MCki
KTsKLXNob3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVudFZpZXcudHJhbnNmb3JtU3RyaW5nIiwg
IiIpOwotCi0KLWRlYnVnKCIiKTsKLWRlYnVnKCJUcnkgY2hhbmdpbmcgdmlld1RhcmdldCIpOwor
ZGVidWcoIlRyeSBjaGFuZ2luZyB2aWV3VGFyZ2V0IC0gbm9uZSBvZiB0aGVzZSB3aWxsIHdvcmss
IGl0IGlzIGEgcHJpbWl0aXZlIHByb3BlcnR5Iik7CiBzaG91bGRCZSgiY3VycmVudFZpZXcudmll
d1RhcmdldCA9IHN2Z0VsZW1lbnQiLCAic3ZnRWxlbWVudCIpOwogc2hvdWxkQmVOdWxsKCJjdXJy
ZW50Vmlldy52aWV3VGFyZ2V0Iik7CiAKIAogZGVidWcoIiIpOwotZGVidWcoIlRyeSBjaGFuZ2lu
ZyB2aWV3VGFyZ2V0U3RyaW5nIik7CitkZWJ1ZygiVHJ5IGNoYW5naW5nIHZpZXdUYXJnZXRTdHJp
bmcgLSBub25lIG9mIHRoZXNlIHdpbGwgd29yaywgaXQgaXMgYSBwcmltaXRpdmUgcHJvcGVydHki
KTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVudFZpZXcudmlld1RhcmdldFN0cmluZyA9
ICcjdGVzdCciLCAiI3Rlc3QiKTsKIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVudFZpZXcu
dmlld1RhcmdldFN0cmluZyIsICIiKTsKIAogZGVidWcoIiIpOwotZGVidWcoIlRyeSBjaGFuZ2lu
ZyB0cmFuc2Zvcm0iKTsKLXNob3VsZFRocm93KCJjdXJyZW50Vmlldy50cmFuc2Zvcm0uY2xlYXIo
KSIpOworZGVidWcoIkNoYW5naW5nIHRyYW5zZm9ybSAtIHRoaXMgaGFzIG5vIGFmZmVjdCBvbiB0
aGUgU1ZHU1ZHRWxlbWVudCB0aGUgdmlld1NwZWMgYmVsb25ncyB0byAtIGl0IGlzIGEgZGV0YWNo
ZWQgcHJvcGVydHkiKTsKK3ZhciB0cmFuc2Zvcm0gPSBzdmdFbGVtZW50LmNyZWF0ZVNWR1RyYW5z
Zm9ybSgpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy50cmFuc2Zvcm0uYXBw
ZW5kSXRlbSh0cmFuc2Zvcm0pLnRvU3RyaW5nKCkiLCAiW29iamVjdCBTVkdUcmFuc2Zvcm1dIik7
CitzaG91bGRCZSgiY3VycmVudFZpZXcudHJhbnNmb3JtLm51bWJlck9mSXRlbXMiLCAiMSIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy50cmFuc2Zvcm1TdHJpbmciLCAibWF0
cml4KDEgMCAwIDEgMCAwKSIpOworc2hvdWxkQmVVbmRlZmluZWQoY3VycmVudFZpZXcudHJhbnNm
b3JtLmNsZWFyKCkpOwogc2hvdWxkQmUoImN1cnJlbnRWaWV3LnRyYW5zZm9ybS5udW1iZXJPZkl0
ZW1zIiwgIjAiKTsKIAorZGVidWcoIiIpOworZGVidWcoIlRyeSBjaGFuZ2luZyB0cmFuc2Zvcm1T
dHJpbmcgLSBub25lIG9mIHRoZXNlIHdpbGwgd29yaywgaXQgaXMgYSBwcmltaXRpdmUgcHJvcGVy
dHkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVudFZpZXcudHJhbnNmb3JtU3RyaW5n
ID0gJ3JvdGF0ZSg5MCknIiwgInJvdGF0ZSg5MCkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygi
Y3VycmVudFZpZXcudHJhbnNmb3JtU3RyaW5nIiwgIiIpOworCiBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOwogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvZG9tL3N2ZzIt
aW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9zdmcyLWluaGVy
aXRhbmNlLWV4cGVjdGVkLnR4dAppbmRleCA2M2VmYWVlYTMyNzJiYWMwNTljMjQxYThmOGRjMjgx
MTE3MTIyNjgyLi5lMjU5YzY5ZGE1NTM3NWVhYjA2NWEyZDU3Y2ZmOGZlZGJiNmYyZGY2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvZG9tL3N2ZzItaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL3N2Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQK
QEAgLTkxLDcgKzkxLDcgQEAgUEFTUyBTVkdQYXRoU2VnTGlzdCBpbmhlcml0cyBPYmplY3QKIFBB
U1MgU1ZHUGF0aFNlZ01vdmV0b0FicyBpbmhlcml0cyBTVkdQYXRoU2VnCiBQQVNTIFNWR1BhdGhT
ZWdNb3ZldG9SZWwgaW5oZXJpdHMgU1ZHUGF0aFNlZwogUEFTUyBTVkdQYXR0ZXJuRWxlbWVudCBp
bmhlcml0cyBTVkdFbGVtZW50Ci1QQVNTIFNWR1BvaW50IGluaGVyaXRzIE9iamVjdAorUEFTUyBT
VkdQb2ludCBpbmhlcml0cyBET01Qb2ludFJlYWRPbmx5CiBQQVNTIFNWR1BvaW50TGlzdCBpbmhl
cml0cyBPYmplY3QKIFBBU1MgU1ZHUG9seWdvbkVsZW1lbnQgaW5oZXJpdHMgU1ZHR2VvbWV0cnlF
bGVtZW50CiBQQVNTIFNWR1BvbHlsaW5lRWxlbWVudCBpbmhlcml0cyBTVkdHZW9tZXRyeUVsZW1l
bnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9kb20vc3ZnMi1pbmhlcml0YW5jZS5odG1s
IGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9zdmcyLWluaGVyaXRhbmNlLmh0bWwKaW5kZXggNTFlZDEx
YTYyNWM4YTIzY2FiNWQwMTI1NzYzZTcxMDFkMGEwNGIzYS4uMGNlN2NmMzAwZWVkYWQyYTk3NDY3
ZjlhNjJiMjQzMzJiNjViZmJkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9zdmcy
LWluaGVyaXRhbmNlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2RvbS9zdmcyLWluaGVyaXRh
bmNlLmh0bWwKQEAgLTExOSw3ICsxMTksNyBAQCBjaGVja1BhcmVudCgiU1ZHUGF0aFNlZ0xpc3Qi
LCAiT2JqZWN0Iik7CiBjaGVja1BhcmVudCgiU1ZHUGF0aFNlZ01vdmV0b0FicyIsICJTVkdQYXRo
U2VnIik7CiBjaGVja1BhcmVudCgiU1ZHUGF0aFNlZ01vdmV0b1JlbCIsICJTVkdQYXRoU2VnIik7
CiBjaGVja1BhcmVudCgiU1ZHUGF0dGVybkVsZW1lbnQiLCAiU1ZHRWxlbWVudCIpOwotY2hlY2tQ
YXJlbnQoIlNWR1BvaW50IiwgIk9iamVjdCIpOworY2hlY2tQYXJlbnQoIlNWR1BvaW50IiwgIkRP
TVBvaW50UmVhZE9ubHkiKTsKIGNoZWNrUGFyZW50KCJTVkdQb2ludExpc3QiLCAiT2JqZWN0Iik7
CiBjaGVja1BhcmVudCgiU1ZHUG9seWdvbkVsZW1lbnQiLCAiU1ZHR2VvbWV0cnlFbGVtZW50Iik7
CiBjaGVja1BhcmVudCgiU1ZHUG9seWxpbmVFbGVtZW50IiwgIlNWR0dlb21ldHJ5RWxlbWVudCIp
Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>