<?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>24506</bug_id>
          
          <creation_ts>2009-03-10 18:56:06 -0700</creation_ts>
          <short_desc>Geolocation in Safari differs from the spec, no Coordinates attribute on Position</short_desc>
          <delta_ts>2009-03-12 14:21:55 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Greg Bolsinga">bolsinga</reporter>
          <assigned_to name="Greg Bolsinga">bolsinga</assigned_to>
          <cc>koivisto</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>113103</commentid>
    <comment_count>0</comment_count>
    <who name="Greg Bolsinga">bolsinga</who>
    <bug_when>2009-03-10 18:56:06 -0700</bug_when>
    <thetext>The spec at http://dev.w3.org/geo/api/spec-source.html specifies that there should be a Coordinates attribute (coords) on the Position interface, which encapsulates lat, long, altitude, accuracy, etc.  But our version doesn&apos;t have the Coordinates attribute.  In our implementation, lat, long, accuracy, etc are attributes on Position.

From the spec:

&quot;The Position interface is the container for the geolocation information returned by this API. This version of the specification allows one attribute of type Coordinates and a timestamp. Future versions of the API may allow additional attributes that provide other information about this position (e.g. street addresses).

  interface Position {
    readonly attribute Coordinates coords;
    readonly attribute DOMTimeStamp timestamp;
  };

The coords attribute contains a set of geographic coordinates together with their associated accuracy, as well as a set of other optional attributes such as altitude and speed.

The timestamp attribute represents the time when the Position object was acquired and is represented as a DOMTimeStamp [DOMTIMESTAMP].

Coordinates interface

  interface Coordinates {
    readonly attribute double latitude;
    readonly attribute double longitude;
    readonly attribute double altitude;
    readonly attribute double accuracy;
    readonly attribute double altitudeAccuracy;
    readonly attribute double heading;
    readonly attribute double speed;
  };
 &quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113104</commentid>
    <comment_count>1</comment_count>
    <who name="Greg Bolsinga">bolsinga</who>
    <bug_when>2009-03-10 18:56:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/6656491&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113117</commentid>
    <comment_count>2</comment_count>
      <attachid>28462</attachid>
    <who name="Greg Bolsinga">bolsinga</who>
    <bug_when>2009-03-10 21:36:47 -0700</bug_when>
    <thetext>Created attachment 28462
This patch implements the needed changes

This add a Coordinates method to the Position in Geolocation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113216</commentid>
    <comment_count>3</comment_count>
    <who name="Greg Bolsinga">bolsinga</who>
    <bug_when>2009-03-11 13:53:52 -0700</bug_when>
    <thetext>It is also missing PositionOptions.maximumAge.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113230</commentid>
    <comment_count>4</comment_count>
      <attachid>28493</attachid>
    <who name="Greg Bolsinga">bolsinga</who>
    <bug_when>2009-03-11 14:44:41 -0700</bug_when>
    <thetext>Created attachment 28493
Updated patch includes maximumAge in PositionOptions

Updated to include maximumAge.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113231</commentid>
    <comment_count>5</comment_count>
      <attachid>28494</attachid>
    <who name="Greg Bolsinga">bolsinga</who>
    <bug_when>2009-03-11 14:47:10 -0700</bug_when>
    <thetext>Created attachment 28494
forgot to update ChangeLog file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113476</commentid>
    <comment_count>6</comment_count>
      <attachid>28494</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2009-03-12 13:57:26 -0700</bug_when>
    <thetext>Comment on attachment 28494
forgot to update ChangeLog file

r=me, looks good.

Geolocation related sources would probably deserve a subdirectory of their own at some point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113493</commentid>
    <comment_count>7</comment_count>
    <who name="Greg Bolsinga">bolsinga</who>
    <bug_when>2009-03-12 14:21:55 -0700</bug_when>
    <thetext>bolsinga:WebKit bolsinga$ svn commit
Sending        WebCore/ChangeLog
Sending        WebCore/DerivedSources.make
Sending        WebCore/GNUmakefile.am
Sending        WebCore/WebCore.pro
Sending        WebCore/WebCore.scons
Sending        WebCore/WebCore.vcproj/WebCore.vcproj
Sending        WebCore/WebCore.xcodeproj/project.pbxproj
Sending        WebCore/WebCoreSources.bkl
Sending        WebCore/bindings/js/JSGeolocationCustom.cpp
Adding         WebCore/page/Coordinates.cpp
Adding         WebCore/page/Coordinates.h
Adding         WebCore/page/Coordinates.idl
Sending        WebCore/page/Geoposition.cpp
Sending        WebCore/page/Geoposition.h
Sending        WebCore/page/Geoposition.idl
Sending        WebCore/page/PositionOptions.h
Sending        WebCore/platform/mac/GeolocationServiceMac.mm
Transmitting file data .................
Committed revision 41650.
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28462</attachid>
            <date>2009-03-10 21:36:47 -0700</date>
            <delta_ts>2009-03-11 14:44:41 -0700</delta_ts>
            <desc>This patch implements the needed changes</desc>
            <filename>GeoCoordinates.patch.txt</filename>
            <type>text/plain</type>
            <size>24617</size>
            <attacher name="Greg Bolsinga">bolsinga</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTU3NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDQgQEAKKzIwMDktMDMtMTAgIEdyZWcgQm9sc2luZ2EgIDxib2xzaW5nYUBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0NTA2CisgICAgICAgIEdl
b2xvY2F0aW9uIGluIFNhZmFyaSBkaWZmZXJzIGZyb20gdGhlIHNwZWMsIG5vIENvb3JkaW5hdGVz
IGF0dHJpYnV0ZSBvbiBQb3NpdGlvbgorICAgICAgICAKKyAgICAgICAgR2V0IHVwIHRvIGRhdGUu
CisgICAgICAgIAorICAgICAgICBXQVJOSU5HOiBOTyBURVNUIENBU0VTIEFEREVEIE9SIENIQU5H
RUQKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZp
bGUuYW06CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS5zY29uczoK
KyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViQ29yZVNvdXJjZXMu
YmtsOgorICAgICAgICAqIHBhZ2UvQ29vcmRpbmF0ZXMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OkNvb3JkaW5hdGVzOjp0b1N0cmluZyk6CisgICAgICAgICogcGFnZS9Db29yZGluYXRl
cy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVzOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZXM6OmxhdGl0dWRlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvb3JkaW5hdGVzOjpsb25naXR1ZGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZXM6
OmFsdGl0dWRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVzOjphY2N1cmFjeSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlczo6YWx0aXR1ZGVBY2N1cmFjeSk6CisgICAgICAg
IChXZWJDb3JlOjpDb29yZGluYXRlczo6aGVhZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpDb29y
ZGluYXRlczo6c3BlZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZXM6OkNvb3JkaW5h
dGVzKToKKyAgICAgICAgKiBwYWdlL0Nvb3JkaW5hdGVzLmlkbDogQWRkZWQuCisgICAgICAgICog
cGFnZS9HZW9wb3NpdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZW9wb3NpdGlvbjo6dG9T
dHJpbmcpOgorICAgICAgICAqIHBhZ2UvR2VvcG9zaXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6
Okdlb3Bvc2l0aW9uOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R2VvcG9zaXRpb246OmNv
b3Jkcyk6CisgICAgICAgIChXZWJDb3JlOjpHZW9wb3NpdGlvbjo6R2VvcG9zaXRpb24pOgorICAg
ICAgICAqIHBhZ2UvR2VvcG9zaXRpb24uaWRsOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9HZW9s
b2NhdGlvblNlcnZpY2VNYWMubW06CisgICAgICAgICgtW1dlYkNvcmVDb3JlTG9jYXRpb25PYnNl
cnZlciBsb2NhdGlvbk1hbmFnZXI6ZGlkVXBkYXRlVG9Mb2NhdGlvbjpmcm9tTG9jYXRpb246XSk6
CisKIDIwMDktMDMtMTAgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IE1hcmsgUm93ZS4KSW5kZXg6IFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9u
IDQxNTczKQorKysgV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBA
IC03Myw2ICs3Myw3IEBAIERPTV9DTEFTU0VTID0gXAogICAgIENsaXBib2FyZCBcCiAgICAgQ29t
bWVudCBcCiAgICAgQ29uc29sZSBcCisgICAgQ29vcmRpbmF0ZXMgXAogICAgIENvdW50ZXIgXAog
ICAgIERPTUFwcGxpY2F0aW9uQ2FjaGUgXAogICAgIERPTUNvcmVFeGNlcHRpb24gXApJbmRleDog
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0dOVW1ha2VmaWxl
LmFtCShyZXZpc2lvbiA0MTU3MykKKysrIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcg
Y29weSkKQEAgLTIxNSw2ICsyMTUsNyBAQCBJRExfQklORElOR1MgKz0gXAogCVdlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaWRsIFwKIAlXZWJDb3JlL3BhZ2UvQmFySW5mby5p
ZGwgXAogCVdlYkNvcmUvcGFnZS9Db25zb2xlLmlkbCBcCisJV2ViQ29yZS9wYWdlL0Nvb3JkaW5h
dGVzLmlkbCBcCiAJV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5pZGwgXAogCVdlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuaWRsIFwKIAlXZWJDb3JlL3BhZ2UvR2VvbG9jYXRpb24uaWRsIFwKQEAgLTEx
NjAsNiArMTE2MSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9wYWdlL0NvbnRl
eHRNZW51Q2xpZW50LmggXAogCVdlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3Bw
IFwKIAlXZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmggXAorCVdlYkNvcmUvcGFn
ZS9Db29yZGluYXRlcy5oIFwKKwlXZWJDb3JlL3BhZ2UvQ29vcmRpbmF0ZXMuY3BwIFwKIAlXZWJD
b3JlL3BhZ2UvRE9NU2VsZWN0aW9uLmNwcCBcCiAJV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5o
IFwKIAlXZWJDb3JlL3BhZ2UvRE9NVGltZXIuY3BwIFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5w
cm8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNDE1NzMpCisr
KyBXZWJDb3JlL1dlYkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC0zODMsNiArMzgzLDcgQEAg
SURMX0JJTkRJTkdTICs9IFwKICAgICBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5pZGwg
XAogICAgIHBhZ2UvQmFySW5mby5pZGwgXAogICAgIHBhZ2UvQ29uc29sZS5pZGwgXAorICAgIHBh
Z2UvQ29vcmRpbmF0ZXMuaWRsIFwKICAgICBwYWdlL0RPTVNlbGVjdGlvbi5pZGwgXAogICAgIHBh
Z2UvRE9NV2luZG93LmlkbCBcCiAgICAgcGFnZS9HZW9sb2NhdGlvbi5pZGwgXApAQCAtODQ5LDYg
Kzg1MCw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBhZ2UvQ2hyb21lLmNwcCBcCiAgICAgcGFnZS9D
b25zb2xlLmNwcCBcCiAgICAgcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwIFwKKyAgICBw
YWdlL0Nvb3JkaW5hdGVzLmNwcCBcCiAgICAgcGFnZS9ET01TZWxlY3Rpb24uY3BwIFwKICAgICBw
YWdlL0RPTVRpbWVyLmNwcCBcCiAgICAgcGFnZS9ET01XaW5kb3cuY3BwIFwKSW5kZXg6IFdlYkNv
cmUvV2ViQ29yZS5zY29ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUuc2NvbnMJKHJl
dmlzaW9uIDQxNTczKQorKysgV2ViQ29yZS9XZWJDb3JlLnNjb25zCSh3b3JraW5nIGNvcHkpCkBA
IC0zNzcsNiArMzc3LDcgQEAgc291cmNlc1sncGFnZSddID0gWwogICAgICdwYWdlL0Nocm9tZS5j
cHAnLAogICAgICdwYWdlL0NvbnNvbGUuY3BwJywKICAgICAncGFnZS9Db250ZXh0TWVudUNvbnRy
b2xsZXIuY3BwJywKKyAgICAncGFnZS9Db29yZGluYXRlcy5jcHAnLAogICAgICdwYWdlL0RPTVNl
bGVjdGlvbi5jcHAnLAogICAgICdwYWdlL0RPTVRpbWVyLmNwcCcsCiAgICAgJ3BhZ2UvRE9NV2lu
ZG93LmNwcCcsCkluZGV4OiBXZWJDb3JlL1dlYkNvcmVTb3VyY2VzLmJrbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL1dlYkNvcmVTb3VyY2VzLmJrbAkocmV2aXNpb24gNDE1NzMpCisrKyBXZWJDb3Jl
L1dlYkNvcmVTb3VyY2VzLmJrbAkod29ya2luZyBjb3B5KQpAQCAtMjM3LDYgKzIzNyw3IEBAIFRo
aXMgZmlsZSBjb250YWlucyB0aGUgbGlzdCBvZiBmaWxlcyBuZWUKICAgICAgICAgRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0NsaXBib2FyZC5jcHAKICAgICAgICAgRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0NvbW1lbnQuY3BwCiAgICAgICAgIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDb25z
b2xlLmNwcAorICAgICAgICBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ29vcmRpbmF0ZXMuY3Bw
CiAgICAgICAgIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDb3VudGVyLmNwcAogICAgICAgICBE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRGF0YWJhc2UuY3BwCiAgICAgICAgIERlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNEb2N1bWVudC5jcHAKQEAgLTcwMSw2ICs3MDIsNyBAQCBUaGlzIGZpbGUg
Y29udGFpbnMgdGhlIGxpc3Qgb2YgZmlsZXMgbmVlCiAgICAgICAgIHBhZ2UvQ2hyb21lLmNwcAog
ICAgICAgICBwYWdlL0NvbnNvbGUuY3BwCiAgICAgICAgIHBhZ2UvQ29udGV4dE1lbnVDb250cm9s
bGVyLmNwcAorICAgICAgICBwYWdlL0Nvb3JkaW5hdGVzLmNwcAogICAgICAgICBwYWdlL0RPTVNl
bGVjdGlvbi5jcHAKICAgICAgICAgcGFnZS9ET01UaW1lci5jcHAKICAgICAgICAgcGFnZS9ET01X
aW5kb3cuY3BwCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlz
aW9uIDQxNTczKQorKysgV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29y
a2luZyBjb3B5KQpAQCAtNTgwLDYgKzU4MCwxMCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJ
PEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQ29vcmRpbmF0ZXMuaCINCisJCQkJPg0KKwkJCTwvRmls
ZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNDb3VudGVyLmgiDQogCQkJCT4NCiAJCQk8
L0ZpbGU+DQpAQCAtMjE2MCw2ICsyMTY0LDIyIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8
RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBhZ2VcQ29vcmRpbmF0ZXMuY3BwIg0KKwkJCQk+
DQorCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KKwkJCQkJTmFtZT0iUmVsZWFzZV9QR098V2luMzIi
DQorCQkJCQk+DQorCQkJCQk8VG9vbA0KKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQor
CQkJCQkJV2hvbGVQcm9ncmFtT3B0aW1pemF0aW9uPSJ0cnVlIg0KKwkJCQkJLz4NCisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxwYWdlXENvb3JkaW5hdGVzLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZp
bGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdlXERPTVNlbGVjdGlvbi5jcHAiDQogCQkJCT4N
CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uDQpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDQxNTczKQorKysgV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTQ0NTQsNiArNDQ1NCwx
MSBAQAogCQlGOTE2QzQ4RDBEQjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dy
ZXNzRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRjkxNkM0OEIwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50LmNwcCAqLzsgfTsKIAkJRjkxNkM0OEUwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJl
cXVlc3RQcm9ncmVzc0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGOTE2QzQ4QzBEQjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnQuaCAqLzsgfTsKIAkJRjlGMEVEN0EwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0
dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjlGMEVENzcwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudC5oICovOyB9OworCQlGRTZGRDQ4NzBGNjc2RTU3MDAwOTI4NzMgLyogQ29v
cmRpbmF0ZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkU2RkQ0ODQwRjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmNwcCAqLzsgfTsKKwkJ
RkU2RkQ0ODgwRjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTZGRDQ4NTBGNjc2RTU3MDAwOTI4NzMg
LyogQ29vcmRpbmF0ZXMuaCAqLzsgfTsKKwkJRkU2RkQ0ODkwRjY3NkU1NzAwMDkyODczIC8qIENv
b3JkaW5hdGVzLmlkbCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRkU2RkQ0ODYwRjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmlkbCAqLzsgfTsK
KwkJRkU2RkQ0OEQwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU2RkQ0OEIwRjY3NkU5MzAw
MDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuY3BwICovOyB9OworCQlGRTZGRDQ4RTBGNjc2RTkzMDAw
OTI4NzMgLyogSlNDb29yZGluYXRlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRkU2RkQ0OEMwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMu
aCAqLzsgfTsKIAkJRkU4MEQ3QTcwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25D
YWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGRTgwRDdBMjBFOUMxRUQyMDAwRDZGNzUgLyogSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNw
cCAqLzsgfTsKIAkJRkU4MEQ3QTgwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25D
YWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RkU4MEQ3QTMwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5oICov
OyB9OwogCQlGRTgwRDdBOTBFOUMxRUQyMDAwRDZGNzUgLyogSlNDdXN0b21Qb3NpdGlvbkVycm9y
Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkU4MEQ3QTQwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxi
YWNrLmNwcCAqLzsgfTsKQEAgLTkzMzQsNiArOTMzOSwxMSBAQAogCQlGOUYwRUQ3NzBEQjUwQ0Ey
MDBEMTZEQjkgLyogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjlGMEVENzgwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0
dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFhNTEh0
dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUZFNDlFRjk3MERDNTE0NjIwMDQyNjZFMSAvKiBEYXNoYm9hcmRTdXBwb3J0Q1NTUHJvcGVydHlO
YW1lcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBEYXNoYm9hcmRTdXBwb3J0Q1NTUHJvcGVy
dHlOYW1lcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkU2RkQ0ODQwRjY3NkU1
NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IENvb3JkaW5hdGVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RkU2RkQ0ODUwRjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvb3JkaW5hdGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUZFNkZENDg2MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gQ29vcmRpbmF0ZXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlGRTZGRDQ4QjBGNjc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGluYXRlcy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0Nvb3JkaW5hdGVzLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkU2RkQ0OEMwRjY3NkU5MzAwMDkyODczIC8qIEpT
Q29vcmRpbmF0ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNDb29yZGlu
YXRlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRTgwRDdBMjBFOUMxRUQyMDAw
RDZGNzUgLyogSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFODBEN0EzMEU5QzFFRDIwMDBENkY3NSAvKiBKU0N1c3Rv
bVBvc2l0aW9uQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlND
dXN0b21Qb3NpdGlvbkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZF
ODBEN0E0MEU5QzFFRDIwMDBENkY3NSAvKiBKU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0N1c3RvbVBvc2l0aW9u
RXJyb3JDYWxsYmFjay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDI2MSw2
ICsxMDI3MSw5IEBACiAJCQkJMDY1QUQ0RjIwQjBDMkVEQTAwNUEyQjFEIC8qIENvbnRleHRNZW51
Q2xpZW50LmggKi8sCiAJCQkJMDY1QUQ0RjMwQjBDMkVEQTAwNUEyQjFEIC8qIENvbnRleHRNZW51
Q29udHJvbGxlci5jcHAgKi8sCiAJCQkJMDY1QUQ0RjQwQjBDMkVEQTAwNUEyQjFEIC8qIENvbnRl
eHRNZW51Q29udHJvbGxlci5oICovLAorCQkJCUZFNkZENDg0MEY2NzZFNTcwMDA5Mjg3MyAvKiBD
b29yZGluYXRlcy5jcHAgKi8sCisJCQkJRkU2RkQ0ODUwRjY3NkU1NzAwMDkyODczIC8qIENvb3Jk
aW5hdGVzLmggKi8sCisJCQkJRkU2RkQ0ODYwRjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5hdGVz
LmlkbCAqLywKIAkJCQlCQzVBODY4MTBDMzM2NzYwMDBFRUE2NDkgLyogRE9NU2VsZWN0aW9uLmNw
cCAqLywKIAkJCQlCQzVBODY4MjBDMzM2NzYwMDBFRUE2NDkgLyogRE9NU2VsZWN0aW9uLmggKi8s
CiAJCQkJQkM1QTg2ODMwQzMzNjc2MDAwRUVBNjQ5IC8qIERPTVNlbGVjdGlvbi5pZGwgKi8sCkBA
IC0xMjM3NCw2ICsxMjM4Nyw4IEBACiAJCQkJQkNBODNFNEUwRDdDRTFFOTAwMzQyMUE4IC8qIEpT
Q2xpcGJvYXJkLmggKi8sCiAJCQkJOTNGOUI2REUwQkEwRkI3MjAwODU0MDY0IC8qIEpTQ29tbWVu
dC5jcHAgKi8sCiAJCQkJOTNGOUI2REYwQkEwRkI3MjAwODU0MDY0IC8qIEpTQ29tbWVudC5oICov
LAorCQkJCUZFNkZENDhCMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCAqLywK
KwkJCQlGRTZGRDQ4QzBGNjc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGluYXRlcy5oICovLAogCQkJ
CUJDNjBEN0JFMEQyOUE0NjMwMEI5OTE4RiAvKiBKU0RPTUNvcmVFeGNlcHRpb24uY3BwICovLAog
CQkJCUJDNjBEN0JGMEQyOUE0NjMwMEI5OTE4RiAvKiBKU0RPTUNvcmVFeGNlcHRpb24uaCAqLywK
IAkJCQk2NURGMzFFMzA5RDFDQzYwMDAwQkUzMjUgLyogSlNET01JbXBsZW1lbnRhdGlvbi5jcHAg
Ki8sCkBAIC0xNjg2Niw2ICsxNjg4MSw4IEBACiAJCQkJRTFDNDE1REEwRjY1NUQ2RjAwOTJEMkZC
IC8qIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUxQzQxNjEyMEY2NTYyRkQwMDkyRDJGQiAvKiBDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuaCBp
biBIZWFkZXJzICovLAogCQkJCUE3RDZCMzQ5MEY2MTEwNDUwMEI3OUZEMSAvKiBXb3JrZXJJbXBv
cnRTY3JpcHRzQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlGRTZGRDQ4ODBGNjc2RTU3MDAw
OTI4NzMgLyogQ29vcmRpbmF0ZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUZFNkZENDhFMEY2NzZF
OTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTE2OTgwLDYg
KzE2OTk3LDcgQEAKIAkJCQk4NTEzNkNBODBBRUQ2NjU5MDBGOTBBM0QgLyogd2VzdFJlc2l6ZUN1
cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAogCQkJCTFBQjFBRTdBMEMwNTFGREUwMDEzOUY0RiAv
KiB6b29tSW5DdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQkxQUIxQUU3QjBDMDUxRkRF
MDAxMzlGNEYgLyogem9vbU91dEN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAorCQkJCUZFNkZE
NDg5MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5pZGwgaW4gUmVzb3VyY2VzICovLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpA
QCAtMTg4NjMsNiArMTg4ODEsOCBAQAogCQkJCUUxQzQxNURFMEY2NTVEN0MwMDkyRDJGQiAvKiBD
cm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUx
QzQxNjE3MEY2NTYzMTgwMDkyRDJGQiAvKiBDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQTdENkIzNEEwRjYxMTA0NTAwQjc5RkQxIC8qIFdvcmtlckltcG9y
dFNjcmlwdHNDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkU2RkQ0ODcwRjY3NkU1NzAw
MDkyODczIC8qIENvb3JkaW5hdGVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZFNkZENDhEMEY2
NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDog
V2ViQ29yZS9wYWdlL0Nvb3JkaW5hdGVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2Uv
Q29vcmRpbmF0ZXMuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9wYWdlL0Nvb3JkaW5hdGVz
LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAwOSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
Q29vcmRpbmF0ZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTdHJpbmcgQ29vcmRpbmF0
ZXM6OnRvU3RyaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoImNvb3Jk
aW5hdGUoJS42bGcsICUuNmxnLCAlLjZsZywgJS42bGcsICUuNmxnLCAlLjZsZywgJS42bGcpIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgbV9sYXRpdHVkZSwgbV9sb25naXR1ZGUsIG1fYWx0
aXR1ZGUsIG1fYWNjdXJhY3ksIAorICAgICAgICAgICAgICAgICAgICAgICAgICBtX2FsdGl0dWRl
QWNjdXJhY3ksIG1faGVhZGluZywgbV9zcGVlZCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKSW5kZXg6IFdlYkNvcmUvcGFnZS9Db29yZGluYXRlcy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGFnZS9Db29yZGluYXRlcy5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9wYWdlL0Nvb3Jk
aW5hdGVzLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBDb29yZGluYXRlc19oCisjZGVm
aW5lIENvb3JkaW5hdGVzX2gKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiUGxhdGZv
cm1TdHJpbmcuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK3R5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CisKK2NsYXNzIENvb3JkaW5hdGVz
IDogcHVibGljIFJlZkNvdW50ZWQ8Q29vcmRpbmF0ZXM+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxDb29yZGluYXRlcz4gY3JlYXRlKGRvdWJsZSBsYXRpdHVkZSwgZG91YmxlIGxv
bmdpdHVkZSwgZG91YmxlIGFsdGl0dWRlLCBkb3VibGUgYWNjdXJhY3ksIGRvdWJsZSBhbHRpdHVk
ZUFjY3VyYWN5LCBkb3VibGUgaGVhZGluZywgZG91YmxlIHNwZWVkKSB7IHJldHVybiBhZG9wdFJl
ZihuZXcgQ29vcmRpbmF0ZXMobGF0aXR1ZGUsIGxvbmdpdHVkZSwgYWx0aXR1ZGUsIGFjY3VyYWN5
LCBhbHRpdHVkZUFjY3VyYWN5LCBoZWFkaW5nLCBzcGVlZCkpOyB9CisgICAgCisgICAgZG91Ymxl
IGxhdGl0dWRlKCkgY29uc3QgeyByZXR1cm4gbV9sYXRpdHVkZTsgfQorICAgIGRvdWJsZSBsb25n
aXR1ZGUoKSBjb25zdCB7IHJldHVybiBtX2xvbmdpdHVkZTsgfQorICAgIGRvdWJsZSBhbHRpdHVk
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fYWx0aXR1ZGU7IH0KKyAgICBkb3VibGUgYWNjdXJhY3koKSBj
b25zdCB7IHJldHVybiBtX2FjY3VyYWN5OyB9CisgICAgZG91YmxlIGFsdGl0dWRlQWNjdXJhY3ko
KSBjb25zdCB7IHJldHVybiBtX2FsdGl0dWRlQWNjdXJhY3k7IH0KKyAgICBkb3VibGUgaGVhZGlu
ZygpIGNvbnN0IHsgcmV0dXJuIG1faGVhZGluZzsgfQorICAgIGRvdWJsZSBzcGVlZCgpIGNvbnN0
IHsgcmV0dXJuIG1fc3BlZWQ7IH0KKworICAgIFN0cmluZyB0b1N0cmluZygpIGNvbnN0OworCitw
cml2YXRlOgorICAgIENvb3JkaW5hdGVzKGRvdWJsZSBsYXRpdHVkZSwgZG91YmxlIGxvbmdpdHVk
ZSwgZG91YmxlIGFsdGl0dWRlLCBkb3VibGUgYWNjdXJhY3ksIGRvdWJsZSBhbHRpdHVkZUFjY3Vy
YWN5LCBkb3VibGUgaGVhZGluZywgZG91YmxlIHNwZWVkKQorICAgICAgICA6IG1fbGF0aXR1ZGUo
bGF0aXR1ZGUpCisgICAgICAgICwgbV9sb25naXR1ZGUobG9uZ2l0dWRlKQorICAgICAgICAsIG1f
YWx0aXR1ZGUoYWx0aXR1ZGUpCisgICAgICAgICwgbV9hY2N1cmFjeShhY2N1cmFjeSkKKyAgICAg
ICAgLCBtX2FsdGl0dWRlQWNjdXJhY3koYWx0aXR1ZGVBY2N1cmFjeSkKKyAgICAgICAgLCBtX2hl
YWRpbmcoaGVhZGluZykKKyAgICAgICAgLCBtX3NwZWVkKHNwZWVkKQorICAgIHsKKyAgICB9CisK
KyAgICBkb3VibGUgbV9sYXRpdHVkZTsKKyAgICBkb3VibGUgbV9sb25naXR1ZGU7CisgICAgZG91
YmxlIG1fYWx0aXR1ZGU7CisgICAgZG91YmxlIG1fYWNjdXJhY3k7CisgICAgZG91YmxlIG1fYWx0
aXR1ZGVBY2N1cmFjeTsKKyAgICBkb3VibGUgbV9oZWFkaW5nOworICAgIGRvdWJsZSBtX3NwZWVk
OworfTsKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIENvb3JkaW5h
dGVzX2gKSW5kZXg6IFdlYkNvcmUvcGFnZS9Db29yZGluYXRlcy5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wYWdlL0Nvb3JkaW5hdGVzLmlkbAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvcGFn
ZS9Db29yZGluYXRlcy5pZGwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworbW9kdWxlIGNvcmUgeworCisg
ICAgaW50ZXJmYWNlIENvb3JkaW5hdGVzIHsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRv
dWJsZSBsYXRpdHVkZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBsb25naXR1
ZGU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgYWx0aXR1ZGU7CisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgYWNjdXJhY3k7CisgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBkb3VibGUgYWx0aXR1ZGVBY2N1cmFjeTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIGRvdWJsZSBoZWFkaW5nOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHNw
ZWVkOworCisjaWYgZGVmaW5lZChMQU5HVUFHRV9KQVZBU0NSSVBUKQorICAgICAgICBbRG9udEVu
dW1dIERPTVN0cmluZyB0b1N0cmluZygpOworI2VuZGlmCisgICAgfTsKK30KSW5kZXg6IFdlYkNv
cmUvcGFnZS9HZW9wb3NpdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0dlb3Bv
c2l0aW9uLmNwcAkocmV2aXNpb24gNDE1NzMpCisrKyBXZWJDb3JlL3BhZ2UvR2VvcG9zaXRpb24u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw5ICszMCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogU3RyaW5nIEdlb3Bvc2l0aW9uOjp0b1N0cmluZygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIFN0
cmluZzo6Zm9ybWF0KCJwb3NpdGlvbiglLjZsZywgJS42bGcsICUuNmxnLCAlLjZsZywgJS42bGcs
ICUuNmxnLCAlLjZsZywgJS5sbGQpIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgbV9sYXRp
dHVkZSwgbV9sb25naXR1ZGUsIG1fYWx0aXR1ZGUsIG1fYWNjdXJhY3ksIAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBtX2FsdGl0dWRlQWNjdXJhY3ksIG1faGVhZGluZywgbV9zcGVlZCwgbV90
aW1lc3RhbXApOworICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgicG9zaXRpb24oJS5sbGQpIiwg
bV90aW1lc3RhbXApOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3Jl
L3BhZ2UvR2VvcG9zaXRpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvR2VvcG9zaXRp
b24uaAkocmV2aXNpb24gNDE1NzMpCisrKyBXZWJDb3JlL3BhZ2UvR2VvcG9zaXRpb24uaAkod29y
a2luZyBjb3B5KQpAQCAtMjYsNiArMjYsNyBAQAogI2lmbmRlZiBHZW9wb3NpdGlvbl9oCiAjZGVm
aW5lIEdlb3Bvc2l0aW9uX2gKIAorI2luY2x1ZGUgIkNvb3JkaW5hdGVzLmgiCiAjaW5jbHVkZSAi
RXZlbnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CkBAIC0zNiwzOSArMzcsMjEgQEAgdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsK
IAogY2xhc3MgR2VvcG9zaXRpb24gOiBwdWJsaWMgUmVmQ291bnRlZDxHZW9wb3NpdGlvbj4gewog
cHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEdlb3Bvc2l0aW9uPiBjcmVhdGUoZG91Ymxl
IGxhdGl0dWRlLCBkb3VibGUgbG9uZ2l0dWRlLCBkb3VibGUgYWx0aXR1ZGUsIGRvdWJsZSBhY2N1
cmFjeSwgZG91YmxlIGFsdGl0dWRlQWNjdXJhY3ksIGRvdWJsZSBoZWFkaW5nLCBkb3VibGUgc3Bl
ZWQsIERPTVRpbWVTdGFtcCB0aW1lc3RhbXApIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBHZW9wb3Np
dGlvbihsYXRpdHVkZSwgbG9uZ2l0dWRlLCBhbHRpdHVkZSwgYWNjdXJhY3ksIGFsdGl0dWRlQWNj
dXJhY3ksIGhlYWRpbmcsIHNwZWVkLCB0aW1lc3RhbXApKTsgfQorICAgIHN0YXRpYyBQYXNzUmVm
UHRyPEdlb3Bvc2l0aW9uPiBjcmVhdGUoUGFzc1JlZlB0cjxDb29yZGluYXRlcz4gY29vcmRpbmF0
ZXMsIERPTVRpbWVTdGFtcCB0aW1lc3RhbXApIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBHZW9wb3Np
dGlvbihjb29yZGluYXRlcywgdGltZXN0YW1wKSk7IH0KICAgICAKLSAgICBkb3VibGUgbGF0aXR1
ZGUoKSBjb25zdCB7IHJldHVybiBtX2xhdGl0dWRlOyB9Ci0gICAgZG91YmxlIGxvbmdpdHVkZSgp
IGNvbnN0IHsgcmV0dXJuIG1fbG9uZ2l0dWRlOyB9Ci0gICAgZG91YmxlIGFsdGl0dWRlKCkgY29u
c3QgeyByZXR1cm4gbV9hbHRpdHVkZTsgfQotICAgIGRvdWJsZSBhY2N1cmFjeSgpIGNvbnN0IHsg
cmV0dXJuIG1fYWNjdXJhY3k7IH0KLSAgICBkb3VibGUgYWx0aXR1ZGVBY2N1cmFjeSgpIGNvbnN0
IHsgcmV0dXJuIG1fYWx0aXR1ZGVBY2N1cmFjeTsgfQotICAgIGRvdWJsZSBoZWFkaW5nKCkgY29u
c3QgeyByZXR1cm4gbV9oZWFkaW5nOyB9Ci0gICAgZG91YmxlIHNwZWVkKCkgY29uc3QgeyByZXR1
cm4gbV9zcGVlZDsgfQogICAgIERPTVRpbWVTdGFtcCB0aW1lc3RhbXAoKSBjb25zdCB7IHJldHVy
biBtX3RpbWVzdGFtcDsgfQotCisgICAgQ29vcmRpbmF0ZXMqIGNvb3JkcygpIGNvbnN0IHsgcmV0
dXJuIG1fY29vcmRpbmF0ZXMuZ2V0KCk7IH0KKyAgICAKICAgICBTdHJpbmcgdG9TdHJpbmcoKSBj
b25zdDsKIAogcHJpdmF0ZToKLSAgICBHZW9wb3NpdGlvbihkb3VibGUgbGF0aXR1ZGUsIGRvdWJs
ZSBsb25naXR1ZGUsIGRvdWJsZSBhbHRpdHVkZSwgZG91YmxlIGFjY3VyYWN5LCBkb3VibGUgYWx0
aXR1ZGVBY2N1cmFjeSwgZG91YmxlIGhlYWRpbmcsIGRvdWJsZSBzcGVlZCwgRE9NVGltZVN0YW1w
IHRpbWVzdGFtcCkKLSAgICAgICAgOiBtX2xhdGl0dWRlKGxhdGl0dWRlKQotICAgICAgICAsIG1f
bG9uZ2l0dWRlKGxvbmdpdHVkZSkKLSAgICAgICAgLCBtX2FsdGl0dWRlKGFsdGl0dWRlKQotICAg
ICAgICAsIG1fYWNjdXJhY3koYWNjdXJhY3kpCi0gICAgICAgICwgbV9hbHRpdHVkZUFjY3VyYWN5
KGFsdGl0dWRlQWNjdXJhY3kpCi0gICAgICAgICwgbV9oZWFkaW5nKGhlYWRpbmcpCi0gICAgICAg
ICwgbV9zcGVlZChzcGVlZCkKKyAgICBHZW9wb3NpdGlvbihQYXNzUmVmUHRyPENvb3JkaW5hdGVz
PiBjb29yZGluYXRlcywgRE9NVGltZVN0YW1wIHRpbWVzdGFtcCkKKyAgICAgICAgOiBtX2Nvb3Jk
aW5hdGVzKGNvb3JkaW5hdGVzKQogICAgICAgICAsIG1fdGltZXN0YW1wKHRpbWVzdGFtcCkKICAg
ICB7CiAgICAgfQogCi0gICAgZG91YmxlIG1fbGF0aXR1ZGU7Ci0gICAgZG91YmxlIG1fbG9uZ2l0
dWRlOwotICAgIGRvdWJsZSBtX2FsdGl0dWRlOwotICAgIGRvdWJsZSBtX2FjY3VyYWN5OwotICAg
IGRvdWJsZSBtX2FsdGl0dWRlQWNjdXJhY3k7Ci0gICAgZG91YmxlIG1faGVhZGluZzsKLSAgICBk
b3VibGUgbV9zcGVlZDsKKyAgICBSZWZQdHI8Q29vcmRpbmF0ZXM+IG1fY29vcmRpbmF0ZXM7CiAg
ICAgRE9NVGltZVN0YW1wIG1fdGltZXN0YW1wOwogfTsKICAgICAKSW5kZXg6IFdlYkNvcmUvcGFn
ZS9HZW9wb3NpdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0dlb3Bvc2l0aW9u
LmlkbAkocmV2aXNpb24gNDE1NzMpCisrKyBXZWJDb3JlL3BhZ2UvR2VvcG9zaXRpb24uaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0yNiwxMyArMjYsNyBAQAogbW9kdWxlIGNvcmUgewogCiAgICAgaW50
ZXJmYWNlIEdlb3Bvc2l0aW9uIHsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBs
YXRpdHVkZTsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBsb25naXR1ZGU7Ci0g
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgYWx0aXR1ZGU7Ci0gICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBkb3VibGUgYWNjdXJhY3k7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBkb3VibGUgYWx0aXR1ZGVBY2N1cmFjeTsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRv
dWJsZSBoZWFkaW5nOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIHNwZWVkOwor
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgQ29vcmRpbmF0ZXMgY29vcmRzOwogICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NVGltZVN0YW1wIHRpbWVzdGFtcDsKIAogI2lmIGRlZmluZWQo
TEFOR1VBR0VfSkFWQVNDUklQVCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vbWFjL0dlb2xvY2F0
aW9uU2VydmljZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL21hYy9HZW9s
b2NhdGlvblNlcnZpY2VNYWMubW0JKHJldmlzaW9uIDQxNTczKQorKysgV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvR2VvbG9jYXRpb25TZXJ2aWNlTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNjAsMTQg
KzE2MCwxNiBAQCB2b2lkIEdlb2xvY2F0aW9uU2VydmljZU1hYzo6ZXJyb3JPY2N1cnJlCiAgICAg
ICAgIGFsdGl0dWRlID0gMC4wOwogICAgIH0KICAgICAKKyAgICBXVEY6OlJlZlB0cjxXZWJDb3Jl
OjpDb29yZGluYXRlcz4gbmV3Q29vcmRpbmF0ZXMgPSBXZWJDb3JlOjpDb29yZGluYXRlczo6Y3Jl
YXRlKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld0xvY2F0aW9uLmNvb3JkaW5hdGUu
bGF0aXR1ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3TG9jYXRpb24uY29vcmRp
bmF0ZS5sb25naXR1ZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0aXR1ZGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3TG9jYXRpb24uaG9yaXpvbnRhbEFjY3VyYWN5
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdGl0dWRlQWNjdXJhY3ksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbmV3TG9jYXRpb24uY291cnNlLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG5ld0xvY2F0aW9uLnNwZWVkKTsKICAgICBXVEY6OlJlZlB0cjxXZWJDb3Jl
OjpHZW9wb3NpdGlvbj4gbmV3UG9zaXRpb24gPSBXZWJDb3JlOjpHZW9wb3NpdGlvbjo6Y3JlYXRl
KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdMb2NhdGlvbi5jb29yZGluYXRlLmxh
dGl0dWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdMb2NhdGlvbi5jb29yZGlu
YXRlLmxvbmdpdHVkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0aXR1ZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld0xvY2F0aW9uLmhvcml6b250YWxBY2N1cmFj
eSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0aXR1ZGVBY2N1cmFjeSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbmV3TG9jYXRpb24uY291cnNlLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBuZXdMb2NhdGlvbi5zcGVlZCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbmV3Q29vcmRpbmF0ZXMucmVsZWFzZSgpLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBbbmV3TG9jYXRpb24udGltZXN0YW1wIHRpbWVJbnRlcnZhbFNpbmNlUmVmZXJlbmNl
RGF0ZV0gKiAxMDAwLjApOyAvLyBzZWNvbmRzIC0+IG1pbGxpc2Vjb25kcwogICAgIAogICAgIG1f
Y2FsbGJhY2stPnBvc2l0aW9uQ2hhbmdlZChuZXdQb3NpdGlvbi5yZWxlYXNlKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28493</attachid>
            <date>2009-03-11 14:44:41 -0700</date>
            <delta_ts>2009-03-11 14:47:10 -0700</delta_ts>
            <desc>Updated patch includes maximumAge in PositionOptions</desc>
            <filename>Bugzilla24506.patch.txt</filename>
            <type>text/plain</type>
            <size>28630</size>
            <attacher name="Greg Bolsinga">bolsinga</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTU5NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDQgQEAKKzIwMDktMDMtMTEgIEdyZWcgQm9sc2luZ2EgIDxib2xzaW5nYUBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0NTA2CisgICAgICAgIEdl
b2xvY2F0aW9uIGluIFNhZmFyaSBkaWZmZXJzIGZyb20gdGhlIHNwZWMsIG5vIENvb3JkaW5hdGVz
IGF0dHJpYnV0ZSBvbiBQb3NpdGlvbgorICAgICAgICAKKyAgICAgICAgR2V0IHVwIHRvIGRhdGUu
CisgICAgICAgIAorICAgICAgICBXQVJOSU5HOiBOTyBURVNUIENBU0VTIEFEREVEIE9SIENIQU5H
RUQKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogR05VbWFrZWZp
bGUuYW06CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS5zY29uczoK
KyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViQ29yZVNvdXJjZXMu
YmtsOgorICAgICAgICAqIHBhZ2UvQ29vcmRpbmF0ZXMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OkNvb3JkaW5hdGVzOjp0b1N0cmluZyk6CisgICAgICAgICogcGFnZS9Db29yZGluYXRl
cy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVzOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZXM6OmxhdGl0dWRlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNvb3JkaW5hdGVzOjpsb25naXR1ZGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZXM6
OmFsdGl0dWRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVzOjphY2N1cmFjeSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlczo6YWx0aXR1ZGVBY2N1cmFjeSk6CisgICAgICAg
IChXZWJDb3JlOjpDb29yZGluYXRlczo6aGVhZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpDb29y
ZGluYXRlczo6c3BlZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZXM6OkNvb3JkaW5h
dGVzKToKKyAgICAgICAgKiBwYWdlL0Nvb3JkaW5hdGVzLmlkbDogQWRkZWQuCisgICAgICAgICog
cGFnZS9HZW9wb3NpdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHZW9wb3NpdGlvbjo6dG9T
dHJpbmcpOgorICAgICAgICAqIHBhZ2UvR2VvcG9zaXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6
Okdlb3Bvc2l0aW9uOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R2VvcG9zaXRpb246OmNv
b3Jkcyk6CisgICAgICAgIChXZWJDb3JlOjpHZW9wb3NpdGlvbjo6R2VvcG9zaXRpb24pOgorICAg
ICAgICAqIHBhZ2UvR2VvcG9zaXRpb24uaWRsOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9HZW9s
b2NhdGlvblNlcnZpY2VNYWMubW06CisgICAgICAgICgtW1dlYkNvcmVDb3JlTG9jYXRpb25PYnNl
cnZlciBsb2NhdGlvbk1hbmFnZXI6ZGlkVXBkYXRlVG9Mb2NhdGlvbjpmcm9tTG9jYXRpb246XSk6
CisKIDIwMDktMDMtMTEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgRml4IFNjb25zIGJ1aWxkLiBQYXRjaCBmcm9tIEFsZXhhbmRlciBHdXkuCkluZGV4
OiBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiA0MTU5NykKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtNzMsNiArNzMsNyBAQCBET01fQ0xBU1NFUyA9IFwK
ICAgICBDbGlwYm9hcmQgXAogICAgIENvbW1lbnQgXAogICAgIENvbnNvbGUgXAorICAgIENvb3Jk
aW5hdGVzIFwKICAgICBDb3VudGVyIFwKICAgICBET01BcHBsaWNhdGlvbkNhY2hlIFwKICAgICBE
T01Db3JlRXhjZXB0aW9uIFwKSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNDE1OTcpCisrKyBXZWJDb3Jl
L0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0yMTUsNiArMjE1LDcgQEAgSURMX0JJ
TkRJTkdTICs9IFwKIAlXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmlkbCBc
CiAJV2ViQ29yZS9wYWdlL0JhckluZm8uaWRsIFwKIAlXZWJDb3JlL3BhZ2UvQ29uc29sZS5pZGwg
XAorCVdlYkNvcmUvcGFnZS9Db29yZGluYXRlcy5pZGwgXAogCVdlYkNvcmUvcGFnZS9ET01TZWxl
Y3Rpb24uaWRsIFwKIAlXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBcCiAJV2ViQ29yZS9wYWdl
L0dlb2xvY2F0aW9uLmlkbCBcCkBAIC0xMTYwLDYgKzExNjEsOCBAQCB3ZWJjb3JlX3NvdXJjZXMg
Kz0gXAogCVdlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNsaWVudC5oIFwKIAlXZWJDb3JlL3BhZ2Uv
Q29udGV4dE1lbnVDb250cm9sbGVyLmNwcCBcCiAJV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29u
dHJvbGxlci5oIFwKKwlXZWJDb3JlL3BhZ2UvQ29vcmRpbmF0ZXMuaCBcCisJV2ViQ29yZS9wYWdl
L0Nvb3JkaW5hdGVzLmNwcCBcCiAJV2ViQ29yZS9wYWdlL0RPTVNlbGVjdGlvbi5jcHAgXAogCVdl
YkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uaCBcCiAJV2ViQ29yZS9wYWdlL0RPTVRpbWVyLmNwcCBc
CkluZGV4OiBXZWJDb3JlL1dlYkNvcmUucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29y
ZS5wcm8JKHJldmlzaW9uIDQxNTk3KQorKysgV2ViQ29yZS9XZWJDb3JlLnBybwkod29ya2luZyBj
b3B5KQpAQCAtMzgzLDYgKzM4Myw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgaW5zcGVjdG9y
L0luc3BlY3RvckNvbnRyb2xsZXIuaWRsIFwKICAgICBwYWdlL0JhckluZm8uaWRsIFwKICAgICBw
YWdlL0NvbnNvbGUuaWRsIFwKKyAgICBwYWdlL0Nvb3JkaW5hdGVzLmlkbCBcCiAgICAgcGFnZS9E
T01TZWxlY3Rpb24uaWRsIFwKICAgICBwYWdlL0RPTVdpbmRvdy5pZGwgXAogICAgIHBhZ2UvR2Vv
bG9jYXRpb24uaWRsIFwKQEAgLTg0OSw2ICs4NTAsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBwYWdl
L0Nocm9tZS5jcHAgXAogICAgIHBhZ2UvQ29uc29sZS5jcHAgXAogICAgIHBhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmNwcCBcCisgICAgcGFnZS9Db29yZGluYXRlcy5jcHAgXAogICAgIHBhZ2Uv
RE9NU2VsZWN0aW9uLmNwcCBcCiAgICAgcGFnZS9ET01UaW1lci5jcHAgXAogICAgIHBhZ2UvRE9N
V2luZG93LmNwcCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuc2NvbnMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9XZWJDb3JlLnNjb25zCShyZXZpc2lvbiA0MTU5NykKKysrIFdlYkNvcmUvV2ViQ29y
ZS5zY29ucwkod29ya2luZyBjb3B5KQpAQCAtMzc3LDYgKzM3Nyw3IEBAIHNvdXJjZXNbJ3BhZ2Un
XSA9IFsKICAgICAncGFnZS9DaHJvbWUuY3BwJywKICAgICAncGFnZS9Db25zb2xlLmNwcCcsCiAg
ICAgJ3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcCcsCisgICAgJ3BhZ2UvQ29vcmRpbmF0
ZXMuY3BwJywKICAgICAncGFnZS9ET01TZWxlY3Rpb24uY3BwJywKICAgICAncGFnZS9ET01UaW1l
ci5jcHAnLAogICAgICdwYWdlL0RPTVdpbmRvdy5jcHAnLApJbmRleDogV2ViQ29yZS9XZWJDb3Jl
U291cmNlcy5ia2wKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlU291cmNlcy5ia2wJKHJl
dmlzaW9uIDQxNTk3KQorKysgV2ViQ29yZS9XZWJDb3JlU291cmNlcy5ia2wJKHdvcmtpbmcgY29w
eSkKQEAgLTIzNyw2ICsyMzcsNyBAQCBUaGlzIGZpbGUgY29udGFpbnMgdGhlIGxpc3Qgb2YgZmls
ZXMgbmVlCiAgICAgICAgIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDbGlwYm9hcmQuY3BwCiAg
ICAgICAgIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDb21tZW50LmNwcAogICAgICAgICBEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQ29uc29sZS5jcHAKKyAgICAgICAgRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0Nvb3JkaW5hdGVzLmNwcAogICAgICAgICBEZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQ291bnRlci5jcHAKICAgICAgICAgRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RhdGFiYXNl
LmNwcAogICAgICAgICBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRG9jdW1lbnQuY3BwCkBAIC03
MDEsNiArNzAyLDcgQEAgVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGZpbGVzIG5lZQog
ICAgICAgICBwYWdlL0Nocm9tZS5jcHAKICAgICAgICAgcGFnZS9Db25zb2xlLmNwcAogICAgICAg
ICBwYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKKyAgICAgICAgcGFnZS9Db29yZGluYXRl
cy5jcHAKICAgICAgICAgcGFnZS9ET01TZWxlY3Rpb24uY3BwCiAgICAgICAgIHBhZ2UvRE9NVGlt
ZXIuY3BwCiAgICAgICAgIHBhZ2UvRE9NV2luZG93LmNwcApJbmRleDogV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiA0MTU5NykKKysrIFdlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTU4MCw2ICs1ODAsMTAgQEAK
IAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJL
aXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0Nvb3JkaW5h
dGVzLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRo
PSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpT
Q291bnRlci5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTIxNjAsNiArMjE2NCwyMiBAQAog
CQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwYWdl
XENvb3JkaW5hdGVzLmNwcCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCisJCQkJ
CU5hbWU9IlJlbGVhc2VfUEdPfFdpbjMyIg0KKwkJCQkJPg0KKwkJCQkJPFRvb2wNCisJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCVdob2xlUHJvZ3JhbU9wdGltaXphdGlvbj0i
dHJ1ZSINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQorCQkJPC9GaWxlPg0K
KwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxDb29yZGluYXRlcy5oIg0KKwkJ
CQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxE
T01TZWxlY3Rpb24uY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KSW5kZXg6
IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA0MTU5
NykKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5n
IGNvcHkpCkBAIC00NDU0LDYgKzQ0NTQsMTEgQEAKIAkJRjkxNkM0OEQwREI1MTBGODAwNzZDRDgz
IC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY5MTZDNDhCMERCNTEwRjgwMDc2Q0Q4MyAvKiBK
U1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5jcHAgKi87IH07CiAJCUY5MTZDNDhFMERCNTEw
RjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjkxNkM0OEMwREI1MTBGODAwNzZD
RDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmggKi87IH07CiAJCUY5RjBFRDdB
MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY5RjBFRDc3MERCNTBDQTIw
MEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCAqLzsgfTsKKwkJRkU2RkQ0
ODcwRjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFNkZENDg0MEY2NzZFNTcwMDA5Mjg3MyAvKiBD
b29yZGluYXRlcy5jcHAgKi87IH07CisJCUZFNkZENDg4MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29y
ZGluYXRlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RkU2RkQ0ODUwRjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmggKi87IH07CisJCUZFNkZE
NDg5MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5pZGwgaW4gUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFNkZENDg2MEY2NzZFNTcwMDA5Mjg3MyAv
KiBDb29yZGluYXRlcy5pZGwgKi87IH07CisJCUZFNkZENDhEMEY2NzZFOTMwMDA5Mjg3MyAvKiBK
U0Nvb3JkaW5hdGVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEZFNkZENDhCMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCAqLzsg
fTsKKwkJRkU2RkQ0OEUwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFNkZENDhDMEY2NzZFOTMw
MDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmggKi87IH07CiAJCUZFODBEN0E3MEU5QzFFRDIwMDBE
NkY3NSAvKiBKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU4MEQ3QTIwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpT
Q3VzdG9tUG9zaXRpb25DYWxsYmFjay5jcHAgKi87IH07CiAJCUZFODBEN0E4MEU5QzFFRDIwMDBE
NkY3NSAvKiBKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFODBEN0EzMEU5QzFFRDIwMDBENkY3NSAvKiBKU0N1
c3RvbVBvc2l0aW9uQ2FsbGJhY2suaCAqLzsgfTsKIAkJRkU4MEQ3QTkwRTlDMUVEMjAwMEQ2Rjc1
IC8qIEpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFODBEN0E0MEU5QzFFRDIwMDBENkY3NSAvKiBK
U0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHAgKi87IH07CkBAIC05MzM0LDYgKzkzMzks
MTEgQEAKIAkJRjlGMEVENzcwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY5RjBFRDc4
MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRTQ5RUY5NzBEQzUxNDYyMDA0MjY2RTEgLyogRGFz
aGJvYXJkU3VwcG9ydENTU1Byb3BlcnR5TmFtZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
RGFzaGJvYXJkU3VwcG9ydENTU1Byb3BlcnR5TmFtZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUZFNkZENDg0MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb29yZGluYXRlcy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFNkZENDg1MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29y
ZGluYXRlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb29yZGluYXRlcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRTZGRDQ4NjBGNjc2RTU3MDAwOTI4NzMg
LyogQ29vcmRpbmF0ZXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENvb3JkaW5hdGVzLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkU2RkQ0OEIwRjY3NkU5MzAwMDkyODcz
IC8qIEpTQ29vcmRpbmF0ZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNDb29yZGluYXRlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFNkZE
NDhDMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTQ29vcmRpbmF0ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRkU4MEQ3QTIwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFj
ay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0N1c3RvbVBvc2l0
aW9uQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRTgwRDdBMzBF
OUMxRUQyMDAwRDZGNzUgLyogSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNrLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlGRTgwRDdBNDBFOUMxRUQyMDAwRDZGNzUgLyogSlNDdXN0
b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtOTM1Miw3ICs5MzYyLDYgQEAKIAkJRkU4MEQ3QzEwRTlDMUYyNTAw
MEQ2Rjc1IC8qIFBvc2l0aW9uRXJyb3JDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQb3NpdGlvbkVycm9yQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRkU4MEQ3QzIwRTlDMUYyNTAwMEQ2Rjc1IC8qIFBvc2l0aW9uRXJyb3JDYWxsYmFj
ay5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUG9zaXRpb25FcnJvckNhbGxiYWNrLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU4MEQ3QzMwRTlDMUYyNTAwMEQ2Rjc1IC8q
IFBvc2l0aW9uT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQb3Np
dGlvbk9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRkU4MEQ3QzQwRTlD
MUYyNTAwMEQ2Rjc1IC8qIFBvc2l0aW9uT3B0aW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gUG9zaXRpb25PcHRpb25zLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU4
MERBNUYwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb24uY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNHZW9sb2NhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUZFODBEQTYwMEU5QzQ3MDMwMDBENkY3NSAvKiBKU0dlb2xvY2F0aW9u
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2VvbG9jYXRpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU4MERBNjEwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpT
R2VvcG9zaXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNH
ZW9wb3NpdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDI2MSw2ICsx
MDI3MCw5IEBACiAJCQkJMDY1QUQ0RjIwQjBDMkVEQTAwNUEyQjFEIC8qIENvbnRleHRNZW51Q2xp
ZW50LmggKi8sCiAJCQkJMDY1QUQ0RjMwQjBDMkVEQTAwNUEyQjFEIC8qIENvbnRleHRNZW51Q29u
dHJvbGxlci5jcHAgKi8sCiAJCQkJMDY1QUQ0RjQwQjBDMkVEQTAwNUEyQjFEIC8qIENvbnRleHRN
ZW51Q29udHJvbGxlci5oICovLAorCQkJCUZFNkZENDg0MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29y
ZGluYXRlcy5jcHAgKi8sCisJCQkJRkU2RkQ0ODUwRjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5h
dGVzLmggKi8sCisJCQkJRkU2RkQ0ODYwRjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmlk
bCAqLywKIAkJCQlCQzVBODY4MTBDMzM2NzYwMDBFRUE2NDkgLyogRE9NU2VsZWN0aW9uLmNwcCAq
LywKIAkJCQlCQzVBODY4MjBDMzM2NzYwMDBFRUE2NDkgLyogRE9NU2VsZWN0aW9uLmggKi8sCiAJ
CQkJQkM1QTg2ODMwQzMzNjc2MDAwRUVBNjQ5IC8qIERPTVNlbGVjdGlvbi5pZGwgKi8sCkBAIC0x
MDMxNiw3ICsxMDMyOCw2IEBACiAJCQkJRkU4MEQ3QzEwRTlDMUYyNTAwMEQ2Rjc1IC8qIFBvc2l0
aW9uRXJyb3JDYWxsYmFjay5oICovLAogCQkJCUZFODBEN0MyMEU5QzFGMjUwMDBENkY3NSAvKiBQ
b3NpdGlvbkVycm9yQ2FsbGJhY2suaWRsICovLAogCQkJCUZFODBEN0MzMEU5QzFGMjUwMDBENkY3
NSAvKiBQb3NpdGlvbk9wdGlvbnMuaCAqLywKLQkJCQlGRTgwRDdDNDBFOUMxRjI1MDAwRDZGNzUg
LyogUG9zaXRpb25PcHRpb25zLmlkbCAqLywKIAkJCQlCQ0VDMDFCQTBDMjc0REFDMDA5RjRFQzkg
LyogU2NyZWVuLmNwcCAqLywKIAkJCQlCQ0VDMDFCQjBDMjc0REFDMDA5RjRFQzkgLyogU2NyZWVu
LmggKi8sCiAJCQkJQkNFQzAxQkMwQzI3NERBQzAwOUY0RUM5IC8qIFNjcmVlbi5pZGwgKi8sCkBA
IC0xMjM3NCw2ICsxMjM4NSw4IEBACiAJCQkJQkNBODNFNEUwRDdDRTFFOTAwMzQyMUE4IC8qIEpT
Q2xpcGJvYXJkLmggKi8sCiAJCQkJOTNGOUI2REUwQkEwRkI3MjAwODU0MDY0IC8qIEpTQ29tbWVu
dC5jcHAgKi8sCiAJCQkJOTNGOUI2REYwQkEwRkI3MjAwODU0MDY0IC8qIEpTQ29tbWVudC5oICov
LAorCQkJCUZFNkZENDhCMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCAqLywK
KwkJCQlGRTZGRDQ4QzBGNjc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGluYXRlcy5oICovLAogCQkJ
CUJDNjBEN0JFMEQyOUE0NjMwMEI5OTE4RiAvKiBKU0RPTUNvcmVFeGNlcHRpb24uY3BwICovLAog
CQkJCUJDNjBEN0JGMEQyOUE0NjMwMEI5OTE4RiAvKiBKU0RPTUNvcmVFeGNlcHRpb24uaCAqLywK
IAkJCQk2NURGMzFFMzA5RDFDQzYwMDAwQkUzMjUgLyogSlNET01JbXBsZW1lbnRhdGlvbi5jcHAg
Ki8sCkBAIC0xNjg2Niw2ICsxNjg3OSw4IEBACiAJCQkJRTFDNDE1REEwRjY1NUQ2RjAwOTJEMkZC
IC8qIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUxQzQxNjEyMEY2NTYyRkQwMDkyRDJGQiAvKiBDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuaCBp
biBIZWFkZXJzICovLAogCQkJCUE3RDZCMzQ5MEY2MTEwNDUwMEI3OUZEMSAvKiBXb3JrZXJJbXBv
cnRTY3JpcHRzQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlGRTZGRDQ4ODBGNjc2RTU3MDAw
OTI4NzMgLyogQ29vcmRpbmF0ZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUZFNkZENDhFMEY2NzZF
OTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTE2OTgwLDYg
KzE2OTk1LDcgQEAKIAkJCQk4NTEzNkNBODBBRUQ2NjU5MDBGOTBBM0QgLyogd2VzdFJlc2l6ZUN1
cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAogCQkJCTFBQjFBRTdBMEMwNTFGREUwMDEzOUY0RiAv
KiB6b29tSW5DdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQkxQUIxQUU3QjBDMDUxRkRF
MDAxMzlGNEYgLyogem9vbU91dEN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAorCQkJCUZFNkZE
NDg5MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5pZGwgaW4gUmVzb3VyY2VzICovLAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpA
QCAtMTg4NjMsNiArMTg4NzksOCBAQAogCQkJCUUxQzQxNURFMEY2NTVEN0MwMDkyRDJGQiAvKiBD
cm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUx
QzQxNjE3MEY2NTYzMTgwMDkyRDJGQiAvKiBDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQTdENkIzNEEwRjYxMTA0NTAwQjc5RkQxIC8qIFdvcmtlckltcG9y
dFNjcmlwdHNDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkU2RkQ0ODcwRjY3NkU1NzAw
MDkyODczIC8qIENvb3JkaW5hdGVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZFNkZENDhEMEY2
NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDog
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0dlb2xvY2F0aW9uQ3VzdG9tLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTR2VvbG9jYXRpb25DdXN0b20uY3BwCShyZXZpc2lvbiA0
MTU5NykKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvSlNHZW9sb2NhdGlvbkN1c3RvbS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTYwLDcgKzYwLDE0IEBAIHN0YXRpYyBQYXNzUmVmUHRyPFBvc2l0aW9u
T3B0aW9ucz4gY3JlYXQKICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJl
dHVybiAwOwogCi0gICAgcmV0dXJuIFBvc2l0aW9uT3B0aW9uczo6Y3JlYXRlKGVuYWJsZUhpZ2hB
Y2N1cmFjeSwgdGltZW91dCk7CisgICAgSlNWYWx1ZVB0ciBtYXhpbXVtQWdlVmFsdWUgPSBvYmpl
Y3QtPmdldChleGVjLCBJZGVudGlmaWVyKGV4ZWMsICJtYXhpbXVtQWdlIikpOworICAgIGlmIChl
eGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgdW5zaWduZWQgbWF4
aW11bUFnZSA9IG1heGltdW1BZ2VWYWx1ZS50b1VJbnQzMihleGVjKTsKKyAgICBpZiAoZXhlYy0+
aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIFBvc2l0aW9u
T3B0aW9uczo6Y3JlYXRlKGVuYWJsZUhpZ2hBY2N1cmFjeSwgdGltZW91dCwgbWF4aW11bUFnZSk7
CiB9CiAKIEpTVmFsdWVQdHIgSlNHZW9sb2NhdGlvbjo6Z2V0Q3VycmVudFBvc2l0aW9uKEV4ZWNT
dGF0ZSogZXhlYywgY29uc3QgQXJnTGlzdCYgYXJncykKSW5kZXg6IFdlYkNvcmUvcGFnZS9Db29y
ZGluYXRlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0Nvb3JkaW5hdGVzLmNwcAko
cmV2aXNpb24gMCkKKysrIFdlYkNvcmUvcGFnZS9Db29yZGluYXRlcy5jcHAJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgQXBwbGUgSW5jLiBB
bGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNvb3JkaW5hdGVzLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworU3RyaW5nIENvb3JkaW5hdGVzOjp0b1N0cmluZygpIGNv
bnN0Cit7CisgICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCJjb29yZGluYXRlKCUuNmxnLCAlLjZs
ZywgJS42bGcsICUuNmxnLCAlLjZsZywgJS42bGcsICUuNmxnKSIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1fbGF0aXR1ZGUsIG1fbG9uZ2l0dWRlLCBtX2FsdGl0dWRlLCBtX2FjY3VyYWN5
LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbV9hbHRpdHVkZUFjY3VyYWN5LCBtX2hlYWRp
bmcsIG1fc3BlZWQpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3Jl
L3BhZ2UvQ29vcmRpbmF0ZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvQ29vcmRpbmF0
ZXMuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvcGFnZS9Db29yZGluYXRlcy5oCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDc0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEFwcGxlIElu
Yy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorICovCisKKyNpZm5kZWYgQ29vcmRpbmF0ZXNfaAorI2RlZmluZSBDb29yZGluYXRlc19o
CisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit0eXBlZGVm
IGludCBFeGNlcHRpb25Db2RlOworCitjbGFzcyBDb29yZGluYXRlcyA6IHB1YmxpYyBSZWZDb3Vu
dGVkPENvb3JkaW5hdGVzPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q29vcmRp
bmF0ZXM+IGNyZWF0ZShkb3VibGUgbGF0aXR1ZGUsIGRvdWJsZSBsb25naXR1ZGUsIGRvdWJsZSBh
bHRpdHVkZSwgZG91YmxlIGFjY3VyYWN5LCBkb3VibGUgYWx0aXR1ZGVBY2N1cmFjeSwgZG91Ymxl
IGhlYWRpbmcsIGRvdWJsZSBzcGVlZCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENvb3JkaW5hdGVz
KGxhdGl0dWRlLCBsb25naXR1ZGUsIGFsdGl0dWRlLCBhY2N1cmFjeSwgYWx0aXR1ZGVBY2N1cmFj
eSwgaGVhZGluZywgc3BlZWQpKTsgfQorICAgIAorICAgIGRvdWJsZSBsYXRpdHVkZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbGF0aXR1ZGU7IH0KKyAgICBkb3VibGUgbG9uZ2l0dWRlKCkgY29uc3QgeyBy
ZXR1cm4gbV9sb25naXR1ZGU7IH0KKyAgICBkb3VibGUgYWx0aXR1ZGUoKSBjb25zdCB7IHJldHVy
biBtX2FsdGl0dWRlOyB9CisgICAgZG91YmxlIGFjY3VyYWN5KCkgY29uc3QgeyByZXR1cm4gbV9h
Y2N1cmFjeTsgfQorICAgIGRvdWJsZSBhbHRpdHVkZUFjY3VyYWN5KCkgY29uc3QgeyByZXR1cm4g
bV9hbHRpdHVkZUFjY3VyYWN5OyB9CisgICAgZG91YmxlIGhlYWRpbmcoKSBjb25zdCB7IHJldHVy
biBtX2hlYWRpbmc7IH0KKyAgICBkb3VibGUgc3BlZWQoKSBjb25zdCB7IHJldHVybiBtX3NwZWVk
OyB9CisKKyAgICBTdHJpbmcgdG9TdHJpbmcoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBDb29y
ZGluYXRlcyhkb3VibGUgbGF0aXR1ZGUsIGRvdWJsZSBsb25naXR1ZGUsIGRvdWJsZSBhbHRpdHVk
ZSwgZG91YmxlIGFjY3VyYWN5LCBkb3VibGUgYWx0aXR1ZGVBY2N1cmFjeSwgZG91YmxlIGhlYWRp
bmcsIGRvdWJsZSBzcGVlZCkKKyAgICAgICAgOiBtX2xhdGl0dWRlKGxhdGl0dWRlKQorICAgICAg
ICAsIG1fbG9uZ2l0dWRlKGxvbmdpdHVkZSkKKyAgICAgICAgLCBtX2FsdGl0dWRlKGFsdGl0dWRl
KQorICAgICAgICAsIG1fYWNjdXJhY3koYWNjdXJhY3kpCisgICAgICAgICwgbV9hbHRpdHVkZUFj
Y3VyYWN5KGFsdGl0dWRlQWNjdXJhY3kpCisgICAgICAgICwgbV9oZWFkaW5nKGhlYWRpbmcpCisg
ICAgICAgICwgbV9zcGVlZChzcGVlZCkKKyAgICB7CisgICAgfQorCisgICAgZG91YmxlIG1fbGF0
aXR1ZGU7CisgICAgZG91YmxlIG1fbG9uZ2l0dWRlOworICAgIGRvdWJsZSBtX2FsdGl0dWRlOwor
ICAgIGRvdWJsZSBtX2FjY3VyYWN5OworICAgIGRvdWJsZSBtX2FsdGl0dWRlQWNjdXJhY3k7Cisg
ICAgZG91YmxlIG1faGVhZGluZzsKKyAgICBkb3VibGUgbV9zcGVlZDsKK307CisgICAgCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBDb29yZGluYXRlc19oCkluZGV4OiBXZWJD
b3JlL3BhZ2UvQ29vcmRpbmF0ZXMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9Db29y
ZGluYXRlcy5pZGwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL3BhZ2UvQ29vcmRpbmF0ZXMuaWRs
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5
IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorICovCisKK21vZHVsZSBjb3JlIHsKKworICAgIGludGVyZmFjZSBDb29y
ZGluYXRlcyB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgbGF0aXR1ZGU7Cisg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgbG9uZ2l0dWRlOworICAgICAgICByZWFk
b25seSBhdHRyaWJ1dGUgZG91YmxlIGFsdGl0dWRlOworICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgZG91YmxlIGFjY3VyYWN5OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGFs
dGl0dWRlQWNjdXJhY3k7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgaGVhZGlu
ZzsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBzcGVlZDsKKworI2lmIGRlZmlu
ZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkKKyAgICAgICAgW0RvbnRFbnVtXSBET01TdHJpbmcgdG9T
dHJpbmcoKTsKKyNlbmRpZgorICAgIH07Cit9CkluZGV4OiBXZWJDb3JlL3BhZ2UvR2VvcG9zaXRp
b24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9HZW9wb3NpdGlvbi5jcHAJKHJldmlz
aW9uIDQxNTk3KQorKysgV2ViQ29yZS9wYWdlL0dlb3Bvc2l0aW9uLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzAsOSArMzAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFN0cmluZyBHZW9wb3Np
dGlvbjo6dG9TdHJpbmcoKSBjb25zdAogewotICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgicG9z
aXRpb24oJS42bGcsICUuNmxnLCAlLjZsZywgJS42bGcsICUuNmxnLCAlLjZsZywgJS42bGcsICUu
bGxkKSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIG1fbGF0aXR1ZGUsIG1fbG9uZ2l0dWRl
LCBtX2FsdGl0dWRlLCBtX2FjY3VyYWN5LCAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgbV9h
bHRpdHVkZUFjY3VyYWN5LCBtX2hlYWRpbmcsIG1fc3BlZWQsIG1fdGltZXN0YW1wKTsKKyAgICBy
ZXR1cm4gU3RyaW5nOjpmb3JtYXQoInBvc2l0aW9uKCUubGxkKSIsIG1fdGltZXN0YW1wKTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9wYWdlL0dlb3Bvc2l0aW9u
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0dlb3Bvc2l0aW9uLmgJKHJldmlzaW9uIDQx
NTk3KQorKysgV2ViQ29yZS9wYWdlL0dlb3Bvc2l0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2
LDYgKzI2LDcgQEAKICNpZm5kZWYgR2VvcG9zaXRpb25faAogI2RlZmluZSBHZW9wb3NpdGlvbl9o
CiAKKyNpbmNsdWRlICJDb29yZGluYXRlcy5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtMzYs
MzkgKzM3LDIxIEBAIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAKIGNsYXNzIEdlb3Bvc2l0
aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8R2VvcG9zaXRpb24+IHsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgUGFzc1JlZlB0cjxHZW9wb3NpdGlvbj4gY3JlYXRlKGRvdWJsZSBsYXRpdHVkZSwgZG91Ymxl
IGxvbmdpdHVkZSwgZG91YmxlIGFsdGl0dWRlLCBkb3VibGUgYWNjdXJhY3ksIGRvdWJsZSBhbHRp
dHVkZUFjY3VyYWN5LCBkb3VibGUgaGVhZGluZywgZG91YmxlIHNwZWVkLCBET01UaW1lU3RhbXAg
dGltZXN0YW1wKSB7IHJldHVybiBhZG9wdFJlZihuZXcgR2VvcG9zaXRpb24obGF0aXR1ZGUsIGxv
bmdpdHVkZSwgYWx0aXR1ZGUsIGFjY3VyYWN5LCBhbHRpdHVkZUFjY3VyYWN5LCBoZWFkaW5nLCBz
cGVlZCwgdGltZXN0YW1wKSk7IH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxHZW9wb3NpdGlvbj4g
Y3JlYXRlKFBhc3NSZWZQdHI8Q29vcmRpbmF0ZXM+IGNvb3JkaW5hdGVzLCBET01UaW1lU3RhbXAg
dGltZXN0YW1wKSB7IHJldHVybiBhZG9wdFJlZihuZXcgR2VvcG9zaXRpb24oY29vcmRpbmF0ZXMs
IHRpbWVzdGFtcCkpOyB9CiAgICAgCi0gICAgZG91YmxlIGxhdGl0dWRlKCkgY29uc3QgeyByZXR1
cm4gbV9sYXRpdHVkZTsgfQotICAgIGRvdWJsZSBsb25naXR1ZGUoKSBjb25zdCB7IHJldHVybiBt
X2xvbmdpdHVkZTsgfQotICAgIGRvdWJsZSBhbHRpdHVkZSgpIGNvbnN0IHsgcmV0dXJuIG1fYWx0
aXR1ZGU7IH0KLSAgICBkb3VibGUgYWNjdXJhY3koKSBjb25zdCB7IHJldHVybiBtX2FjY3VyYWN5
OyB9Ci0gICAgZG91YmxlIGFsdGl0dWRlQWNjdXJhY3koKSBjb25zdCB7IHJldHVybiBtX2FsdGl0
dWRlQWNjdXJhY3k7IH0KLSAgICBkb3VibGUgaGVhZGluZygpIGNvbnN0IHsgcmV0dXJuIG1faGVh
ZGluZzsgfQotICAgIGRvdWJsZSBzcGVlZCgpIGNvbnN0IHsgcmV0dXJuIG1fc3BlZWQ7IH0KICAg
ICBET01UaW1lU3RhbXAgdGltZXN0YW1wKCkgY29uc3QgeyByZXR1cm4gbV90aW1lc3RhbXA7IH0K
LQorICAgIENvb3JkaW5hdGVzKiBjb29yZHMoKSBjb25zdCB7IHJldHVybiBtX2Nvb3JkaW5hdGVz
LmdldCgpOyB9CisgICAgCiAgICAgU3RyaW5nIHRvU3RyaW5nKCkgY29uc3Q7CiAKIHByaXZhdGU6
Ci0gICAgR2VvcG9zaXRpb24oZG91YmxlIGxhdGl0dWRlLCBkb3VibGUgbG9uZ2l0dWRlLCBkb3Vi
bGUgYWx0aXR1ZGUsIGRvdWJsZSBhY2N1cmFjeSwgZG91YmxlIGFsdGl0dWRlQWNjdXJhY3ksIGRv
dWJsZSBoZWFkaW5nLCBkb3VibGUgc3BlZWQsIERPTVRpbWVTdGFtcCB0aW1lc3RhbXApCi0gICAg
ICAgIDogbV9sYXRpdHVkZShsYXRpdHVkZSkKLSAgICAgICAgLCBtX2xvbmdpdHVkZShsb25naXR1
ZGUpCi0gICAgICAgICwgbV9hbHRpdHVkZShhbHRpdHVkZSkKLSAgICAgICAgLCBtX2FjY3VyYWN5
KGFjY3VyYWN5KQotICAgICAgICAsIG1fYWx0aXR1ZGVBY2N1cmFjeShhbHRpdHVkZUFjY3VyYWN5
KQotICAgICAgICAsIG1faGVhZGluZyhoZWFkaW5nKQotICAgICAgICAsIG1fc3BlZWQoc3BlZWQp
CisgICAgR2VvcG9zaXRpb24oUGFzc1JlZlB0cjxDb29yZGluYXRlcz4gY29vcmRpbmF0ZXMsIERP
TVRpbWVTdGFtcCB0aW1lc3RhbXApCisgICAgICAgIDogbV9jb29yZGluYXRlcyhjb29yZGluYXRl
cykKICAgICAgICAgLCBtX3RpbWVzdGFtcCh0aW1lc3RhbXApCiAgICAgewogICAgIH0KIAotICAg
IGRvdWJsZSBtX2xhdGl0dWRlOwotICAgIGRvdWJsZSBtX2xvbmdpdHVkZTsKLSAgICBkb3VibGUg
bV9hbHRpdHVkZTsKLSAgICBkb3VibGUgbV9hY2N1cmFjeTsKLSAgICBkb3VibGUgbV9hbHRpdHVk
ZUFjY3VyYWN5OwotICAgIGRvdWJsZSBtX2hlYWRpbmc7Ci0gICAgZG91YmxlIG1fc3BlZWQ7Cisg
ICAgUmVmUHRyPENvb3JkaW5hdGVzPiBtX2Nvb3JkaW5hdGVzOwogICAgIERPTVRpbWVTdGFtcCBt
X3RpbWVzdGFtcDsKIH07CiAgICAgCkluZGV4OiBXZWJDb3JlL3BhZ2UvR2VvcG9zaXRpb24uaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9HZW9wb3NpdGlvbi5pZGwJKHJldmlzaW9uIDQx
NTk3KQorKysgV2ViQ29yZS9wYWdlL0dlb3Bvc2l0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MjYsMTMgKzI2LDcgQEAKIG1vZHVsZSBjb3JlIHsKIAogICAgIGludGVyZmFjZSBHZW9wb3NpdGlv
biB7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgbGF0aXR1ZGU7Ci0gICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgbG9uZ2l0dWRlOwotICAgICAgICByZWFkb25seSBh
dHRyaWJ1dGUgZG91YmxlIGFsdGl0dWRlOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91
YmxlIGFjY3VyYWN5OwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGFsdGl0dWRl
QWNjdXJhY3k7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgaGVhZGluZzsKLSAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBzcGVlZDsKKyAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIENvb3JkaW5hdGVzIGNvb3JkczsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVRpbWVTdGFtcCB0aW1lc3RhbXA7CiAKICNpZiBkZWZpbmVkKExBTkdVQUdFX0pBVkFTQ1JJ
UFQpCkluZGV4OiBXZWJDb3JlL3BhZ2UvUG9zaXRpb25PcHRpb25zLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wYWdlL1Bvc2l0aW9uT3B0aW9ucy5oCShyZXZpc2lvbiA0MTU5NykKKysrIFdlYkNv
cmUvcGFnZS9Qb3NpdGlvbk9wdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsMjIgKzMzLDI2
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKIGNsYXNzIFBvc2l0aW9uT3B0aW9ucyA6IHB1
YmxpYyBSZWZDb3VudGVkPFBvc2l0aW9uT3B0aW9ucz4gewogcHVibGljOgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFBvc2l0aW9uT3B0aW9ucz4gY3JlYXRlKGJvb2wgaGlnaEFjY3VyYWN5LCB1bnNp
Z25lZCB0aW1lb3V0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgUG9zaXRpb25PcHRpb25zKGhpZ2hB
Y2N1cmFjeSwgdGltZW91dCkpOyB9CisgICAgc3RhdGljIFBhc3NSZWZQdHI8UG9zaXRpb25PcHRp
b25zPiBjcmVhdGUoYm9vbCBoaWdoQWNjdXJhY3ksIHVuc2lnbmVkIHRpbWVvdXQsIHVuc2lnbmVk
IG1heGltdW1BZ2UpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQb3NpdGlvbk9wdGlvbnMoaGlnaEFj
Y3VyYWN5LCB0aW1lb3V0LCBtYXhpbXVtQWdlKSk7IH0KIAogICAgIGJvb2wgZW5hYmxlSGlnaEFj
Y3VyYWN5KCkgY29uc3QgeyByZXR1cm4gbV9oaWdoQWNjdXJhY3k7IH0KICAgICB2b2lkIHNldEVu
YWJsZUhpZ2hBY2N1cmFjeShib29sIGVuYWJsZSkgeyBtX2hpZ2hBY2N1cmFjeSA9IGVuYWJsZTsg
fQogICAgIHVuc2lnbmVkIHRpbWVvdXQoKSBjb25zdCB7IHJldHVybiBtX3RpbWVvdXQ7IH0KICAg
ICB2b2lkIHNldFRpbWVvdXQodW5zaWduZWQgdCkgeyBtX3RpbWVvdXQgPSB0OyB9CisgICAgdW5z
aWduZWQgbWF4aW11bUFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWF4aW11bUFnZTsgfQorICAgIHZv
aWQgc2V0TWF4aW11bUFnZSh1bnNpZ25lZCBhKSB7IG1fbWF4aW11bUFnZSA9IGE7IH0KICAgICAK
IHByaXZhdGU6Ci0gICAgUG9zaXRpb25PcHRpb25zKGJvb2wgaGlnaEFjY3VyYWN5LCB1bnNpZ25l
ZCB0aW1lb3V0KQorICAgIFBvc2l0aW9uT3B0aW9ucyhib29sIGhpZ2hBY2N1cmFjeSwgdW5zaWdu
ZWQgdGltZW91dCwgdW5zaWduZWQgbWF4aW11bUFnZSkKICAgICAgICAgOiBtX2hpZ2hBY2N1cmFj
eShoaWdoQWNjdXJhY3kpCiAgICAgICAgICwgbV90aW1lb3V0KHRpbWVvdXQpCisgICAgICAgICwg
bV9tYXhpbXVtQWdlKG1heGltdW1BZ2UpCiAgICAgewogICAgIH0KICAgICAKICAgICBib29sIG1f
aGlnaEFjY3VyYWN5OwogICAgIHVuc2lnbmVkIG1fdGltZW91dDsKKyAgICB1bnNpZ25lZCBtX21h
eGltdW1BZ2U7CiB9OwogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvR2VvbG9jYXRpb25TZXJ2aWNlTWFjLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGxhdGZvcm0vbWFjL0dlb2xvY2F0aW9uU2VydmljZU1hYy5tbQkocmV2aXNpb24gNDE1
OTcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL21hYy9HZW9sb2NhdGlvblNlcnZpY2VNYWMubW0JKHdv
cmtpbmcgY29weSkKQEAgLTE2MCwxNCArMTYwLDE2IEBAIHZvaWQgR2VvbG9jYXRpb25TZXJ2aWNl
TWFjOjplcnJvck9jY3VycmUKICAgICAgICAgYWx0aXR1ZGUgPSAwLjA7CiAgICAgfQogICAgIAor
ICAgIFdURjo6UmVmUHRyPFdlYkNvcmU6OkNvb3JkaW5hdGVzPiBuZXdDb29yZGluYXRlcyA9IFdl
YkNvcmU6OkNvb3JkaW5hdGVzOjpjcmVhdGUoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bmV3TG9jYXRpb24uY29vcmRpbmF0ZS5sYXRpdHVkZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBuZXdMb2NhdGlvbi5jb29yZGluYXRlLmxvbmdpdHVkZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBhbHRpdHVkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdMb2Nh
dGlvbi5ob3Jpem9udGFsQWNjdXJhY3ksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0
aXR1ZGVBY2N1cmFjeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdMb2NhdGlvbi5j
b3Vyc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3TG9jYXRpb24uc3BlZWQpOwog
ICAgIFdURjo6UmVmUHRyPFdlYkNvcmU6Okdlb3Bvc2l0aW9uPiBuZXdQb3NpdGlvbiA9IFdlYkNv
cmU6Okdlb3Bvc2l0aW9uOjpjcmVhdGUoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5l
d0xvY2F0aW9uLmNvb3JkaW5hdGUubGF0aXR1ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG5ld0xvY2F0aW9uLmNvb3JkaW5hdGUubG9uZ2l0dWRlLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBhbHRpdHVkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3TG9j
YXRpb24uaG9yaXpvbnRhbEFjY3VyYWN5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh
bHRpdHVkZUFjY3VyYWN5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdMb2NhdGlv
bi5jb3Vyc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld0xvY2F0aW9uLnNwZWVk
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdDb29yZGluYXRlcy5yZWxlYXNlKCks
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZXdMb2NhdGlvbi50aW1lc3RhbXAgdGlt
ZUludGVydmFsU2luY2VSZWZlcmVuY2VEYXRlXSAqIDEwMDAuMCk7IC8vIHNlY29uZHMgLT4gbWls
bGlzZWNvbmRzCiAgICAgCiAgICAgbV9jYWxsYmFjay0+cG9zaXRpb25DaGFuZ2VkKG5ld1Bvc2l0
aW9uLnJlbGVhc2UoKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28494</attachid>
            <date>2009-03-11 14:47:10 -0700</date>
            <delta_ts>2009-03-12 13:57:26 -0700</delta_ts>
            <desc>forgot to update ChangeLog file</desc>
            <filename>Bugzilla24506.patch.txt</filename>
            <type>text/plain</type>
            <size>28930</size>
            <attacher name="Greg Bolsinga">bolsinga</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTU5OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTEgQEAKKzIwMDktMDMtMTEgIEdyZWcgQm9sc2luZ2EgIDxib2xzaW5nYUBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0NTA2CisgICAgICAgIEdl
b2xvY2F0aW9uIGluIFNhZmFyaSBkaWZmZXJzIGZyb20gdGhlIHNwZWMsIG5vIENvb3JkaW5hdGVz
IGF0dHJpYnV0ZSBvbiBQb3NpdGlvbgorICAgICAgICAKKyAgICAgICAgR2V0IHVwIHRvIGRhdGUu
CisKKyAgICAgICAgV0FSTklORzogTk8gVEVTVCBDQVNFUyBBRERFRCBPUiBDSEFOR0VECisKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgor
ICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAqIFdlYkNvcmUuc2NvbnM6CisgICAgICAg
ICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYkNvcmVTb3VyY2VzLmJrbDoKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0dlb2xvY2F0aW9uQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmNyZWF0ZVBvc2l0aW9uT3B0aW9ucyk6CisgICAgICAgICogcGFnZS9Db29yZGluYXRl
cy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZXM6OnRvU3RyaW5nKToK
KyAgICAgICAgKiBwYWdlL0Nvb3JkaW5hdGVzLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
Q29vcmRpbmF0ZXM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb29yZGluYXRlczo6bGF0
aXR1ZGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29vcmRpbmF0ZXM6OmxvbmdpdHVkZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDb29yZGluYXRlczo6YWx0aXR1ZGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q29vcmRpbmF0ZXM6OmFjY3VyYWN5KToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVzOjph
bHRpdHVkZUFjY3VyYWN5KToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVzOjpoZWFkaW5n
KToKKyAgICAgICAgKFdlYkNvcmU6OkNvb3JkaW5hdGVzOjpzcGVlZCk6CisgICAgICAgIChXZWJD
b3JlOjpDb29yZGluYXRlczo6Q29vcmRpbmF0ZXMpOgorICAgICAgICAqIHBhZ2UvQ29vcmRpbmF0
ZXMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0dlb3Bvc2l0aW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Okdlb3Bvc2l0aW9uOjp0b1N0cmluZyk6CisgICAgICAgICogcGFnZS9HZW9wb3Np
dGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6R2VvcG9zaXRpb246OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpHZW9wb3NpdGlvbjo6Y29vcmRzKToKKyAgICAgICAgKFdlYkNvcmU6Okdlb3Bv
c2l0aW9uOjpHZW9wb3NpdGlvbik6CisgICAgICAgICogcGFnZS9HZW9wb3NpdGlvbi5pZGw6Cisg
ICAgICAgICogcGFnZS9Qb3NpdGlvbk9wdGlvbnMuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBvc2l0
aW9uT3B0aW9uczo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBvc2l0aW9uT3B0aW9uczo6
bWF4aW11bUFnZSk6CisgICAgICAgIChXZWJDb3JlOjpQb3NpdGlvbk9wdGlvbnM6OnNldE1heGlt
dW1BZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UG9zaXRpb25PcHRpb25zOjpQb3NpdGlvbk9wdGlv
bnMpOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9HZW9sb2NhdGlvblNlcnZpY2VNYWMubW06Cisg
ICAgICAgICgtW1dlYkNvcmVDb3JlTG9jYXRpb25PYnNlcnZlciBsb2NhdGlvbk1hbmFnZXI6ZGlk
VXBkYXRlVG9Mb2NhdGlvbjpmcm9tTG9jYXRpb246XSk6CisKIDIwMDktMDMtMTEgIERhcmluIEZp
c2hlciAgPGRhcmluQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJp
IEdsYXprb3YuCkluZGV4OiBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiA0MTU5NykKKysrIFdlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtNzMsNiArNzMsNyBAQCBE
T01fQ0xBU1NFUyA9IFwKICAgICBDbGlwYm9hcmQgXAogICAgIENvbW1lbnQgXAogICAgIENvbnNv
bGUgXAorICAgIENvb3JkaW5hdGVzIFwKICAgICBDb3VudGVyIFwKICAgICBET01BcHBsaWNhdGlv
bkNhY2hlIFwKICAgICBET01Db3JlRXhjZXB0aW9uIFwKSW5kZXg6IFdlYkNvcmUvR05VbWFrZWZp
bGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNDE1
OTcpCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0yMTUsNiAr
MjE1LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKIAlXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmlkbCBcCiAJV2ViQ29yZS9wYWdlL0JhckluZm8uaWRsIFwKIAlXZWJDb3JlL3Bh
Z2UvQ29uc29sZS5pZGwgXAorCVdlYkNvcmUvcGFnZS9Db29yZGluYXRlcy5pZGwgXAogCVdlYkNv
cmUvcGFnZS9ET01TZWxlY3Rpb24uaWRsIFwKIAlXZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBc
CiAJV2ViQ29yZS9wYWdlL0dlb2xvY2F0aW9uLmlkbCBcCkBAIC0xMTYwLDYgKzExNjEsOCBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNsaWVudC5oIFwK
IAlXZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcCBcCiAJV2ViQ29yZS9wYWdl
L0NvbnRleHRNZW51Q29udHJvbGxlci5oIFwKKwlXZWJDb3JlL3BhZ2UvQ29vcmRpbmF0ZXMuaCBc
CisJV2ViQ29yZS9wYWdlL0Nvb3JkaW5hdGVzLmNwcCBcCiAJV2ViQ29yZS9wYWdlL0RPTVNlbGVj
dGlvbi5jcHAgXAogCVdlYkNvcmUvcGFnZS9ET01TZWxlY3Rpb24uaCBcCiAJV2ViQ29yZS9wYWdl
L0RPTVRpbWVyLmNwcCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUucHJvCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvV2ViQ29yZS5wcm8JKHJldmlzaW9uIDQxNTk3KQorKysgV2ViQ29yZS9XZWJDb3Jl
LnBybwkod29ya2luZyBjb3B5KQpAQCAtMzgzLDYgKzM4Myw3IEBAIElETF9CSU5ESU5HUyArPSBc
CiAgICAgaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaWRsIFwKICAgICBwYWdlL0Jhcklu
Zm8uaWRsIFwKICAgICBwYWdlL0NvbnNvbGUuaWRsIFwKKyAgICBwYWdlL0Nvb3JkaW5hdGVzLmlk
bCBcCiAgICAgcGFnZS9ET01TZWxlY3Rpb24uaWRsIFwKICAgICBwYWdlL0RPTVdpbmRvdy5pZGwg
XAogICAgIHBhZ2UvR2VvbG9jYXRpb24uaWRsIFwKQEAgLTg0OSw2ICs4NTAsNyBAQCBTT1VSQ0VT
ICs9IFwKICAgICBwYWdlL0Nocm9tZS5jcHAgXAogICAgIHBhZ2UvQ29uc29sZS5jcHAgXAogICAg
IHBhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcCBcCisgICAgcGFnZS9Db29yZGluYXRlcy5j
cHAgXAogICAgIHBhZ2UvRE9NU2VsZWN0aW9uLmNwcCBcCiAgICAgcGFnZS9ET01UaW1lci5jcHAg
XAogICAgIHBhZ2UvRE9NV2luZG93LmNwcCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuc2NvbnMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnNjb25zCShyZXZpc2lvbiA0MTU5NykKKysr
IFdlYkNvcmUvV2ViQ29yZS5zY29ucwkod29ya2luZyBjb3B5KQpAQCAtMzc3LDYgKzM3Nyw3IEBA
IHNvdXJjZXNbJ3BhZ2UnXSA9IFsKICAgICAncGFnZS9DaHJvbWUuY3BwJywKICAgICAncGFnZS9D
b25zb2xlLmNwcCcsCiAgICAgJ3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcCcsCisgICAg
J3BhZ2UvQ29vcmRpbmF0ZXMuY3BwJywKICAgICAncGFnZS9ET01TZWxlY3Rpb24uY3BwJywKICAg
ICAncGFnZS9ET01UaW1lci5jcHAnLAogICAgICdwYWdlL0RPTVdpbmRvdy5jcHAnLApJbmRleDog
V2ViQ29yZS9XZWJDb3JlU291cmNlcy5ia2wKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3Jl
U291cmNlcy5ia2wJKHJldmlzaW9uIDQxNTk3KQorKysgV2ViQ29yZS9XZWJDb3JlU291cmNlcy5i
a2wJKHdvcmtpbmcgY29weSkKQEAgLTIzNyw2ICsyMzcsNyBAQCBUaGlzIGZpbGUgY29udGFpbnMg
dGhlIGxpc3Qgb2YgZmlsZXMgbmVlCiAgICAgICAgIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlND
bGlwYm9hcmQuY3BwCiAgICAgICAgIERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDb21tZW50LmNw
cAogICAgICAgICBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ29uc29sZS5jcHAKKyAgICAgICAg
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0Nvb3JkaW5hdGVzLmNwcAogICAgICAgICBEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTQ291bnRlci5jcHAKICAgICAgICAgRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0RhdGFiYXNlLmNwcAogICAgICAgICBEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRG9j
dW1lbnQuY3BwCkBAIC03MDEsNiArNzAyLDcgQEAgVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBsaXN0
IG9mIGZpbGVzIG5lZQogICAgICAgICBwYWdlL0Nocm9tZS5jcHAKICAgICAgICAgcGFnZS9Db25z
b2xlLmNwcAogICAgICAgICBwYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKKyAgICAgICAg
cGFnZS9Db29yZGluYXRlcy5jcHAKICAgICAgICAgcGFnZS9ET01TZWxlY3Rpb24uY3BwCiAgICAg
ICAgIHBhZ2UvRE9NVGltZXIuY3BwCiAgICAgICAgIHBhZ2UvRE9NV2luZG93LmNwcApJbmRleDog
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiA0MTU5NykKKysrIFdl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTU4
MCw2ICs1ODAsMTAgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQorCQkJCVJlbGF0
aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU0Nvb3JkaW5hdGVzLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJ
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTQ291bnRlci5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTIxNjAs
NiArMjE2NCwyMiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxwYWdlXENvb3JkaW5hdGVzLmNwcCINCisJCQkJPg0KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24NCisJCQkJCU5hbWU9IlJlbGVhc2VfUEdPfFdpbjMyIg0KKwkJCQkJPg0KKwkJCQkJ
PFRvb2wNCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KKwkJCQkJCVdob2xlUHJvZ3Jh
bU9wdGltaXphdGlvbj0idHJ1ZSINCisJCQkJCS8+DQorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGFnZVxDb29y
ZGluYXRlcy5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZl
UGF0aD0iLi5ccGFnZVxET01TZWxlY3Rpb24uY3BwIg0KIAkJCQk+DQogCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CShyZXZpc2lvbiA0MTU5NykKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00NDU0LDYgKzQ0NTQsMTEgQEAKIAkJRjkxNkM0OEQw
REI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY5MTZDNDhCMERCNTEw
RjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5jcHAgKi87IH07CiAJ
CUY5MTZDNDhFMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjkxNkM0
OEMwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmggKi87
IH07CiAJCUY5RjBFRDdBMERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY5
RjBFRDc3MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCAq
LzsgfTsKKwkJRkU2RkQ0ODcwRjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFNkZENDg0MEY2NzZF
NTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5jcHAgKi87IH07CisJCUZFNkZENDg4MEY2NzZFNTcw
MDA5Mjg3MyAvKiBDb29yZGluYXRlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRkU2RkQ0ODUwRjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmgg
Ki87IH07CisJCUZFNkZENDg5MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5pZGwgaW4g
UmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFNkZENDg2MEY2
NzZFNTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5pZGwgKi87IH07CisJCUZFNkZENDhEMEY2NzZF
OTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFNkZENDhCMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3Jk
aW5hdGVzLmNwcCAqLzsgfTsKKwkJRkU2RkQ0OEUwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRp
bmF0ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZF
NkZENDhDMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmggKi87IH07CiAJCUZFODBE
N0E3MEU5QzFFRDIwMDBENkY3NSAvKiBKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU4MEQ3QTIwRTlDMUVE
MjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25DYWxsYmFjay5jcHAgKi87IH07CiAJCUZFODBE
N0E4MEU5QzFFRDIwMDBENkY3NSAvKiBKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFODBEN0EzMEU5QzFFRDIw
MDBENkY3NSAvKiBKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suaCAqLzsgfTsKIAkJRkU4MEQ3QTkw
RTlDMUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9tUG9zaXRpb25FcnJvckNhbGxiYWNrLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFODBEN0E0MEU5QzFF
RDIwMDBENkY3NSAvKiBKU0N1c3RvbVBvc2l0aW9uRXJyb3JDYWxsYmFjay5jcHAgKi87IH07CkBA
IC05MzM0LDYgKzkzMzksMTEgQEAKIAkJRjlGMEVENzcwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0
dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUY5RjBFRDc4MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBYTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRTQ5RUY5NzBEQzUxNDYy
MDA0MjY2RTEgLyogRGFzaGJvYXJkU3VwcG9ydENTU1Byb3BlcnR5TmFtZXMuaW4gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gRGFzaGJvYXJkU3VwcG9ydENTU1Byb3BlcnR5TmFtZXMuaW47IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFNkZENDg0MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29y
ZGluYXRlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb29yZGlu
YXRlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZFNkZENDg1MEY2NzZFNTcw
MDA5Mjg3MyAvKiBDb29yZGluYXRlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDb29yZGluYXRlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGRTZGRDQ4NjBG
Njc2RTU3MDAwOTI4NzMgLyogQ29vcmRpbmF0ZXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IENvb3JkaW5hdGVzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkU2RkQ0OEIw
RjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNDb29yZGluYXRlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUZFNkZENDhDMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ29vcmRpbmF0ZXMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU4MEQ3QTIwRTlDMUVEMjAwMEQ2Rjc1IC8qIEpTQ3VzdG9t
UG9zaXRpb25DYWxsYmFjay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0N1c3RvbVBvc2l0aW9uQ2FsbGJhY2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlGRTgwRDdBMzBFOUMxRUQyMDAwRDZGNzUgLyogSlNDdXN0b21Qb3NpdGlvbkNhbGxiYWNr
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQ3VzdG9tUG9zaXRpb25DYWxs
YmFjay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRTgwRDdBNDBFOUMxRUQyMDAw
RDZGNzUgLyogSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNDdXN0b21Qb3NpdGlvbkVycm9yQ2FsbGJhY2suY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTM1Miw3ICs5MzYyLDYgQEAKIAkJRkU4
MEQ3QzEwRTlDMUYyNTAwMEQ2Rjc1IC8qIFBvc2l0aW9uRXJyb3JDYWxsYmFjay5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQb3NpdGlvbkVycm9yQ2FsbGJhY2suaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU4MEQ3QzIwRTlDMUYyNTAwMEQ2Rjc1IC8qIFBvc2l0
aW9uRXJyb3JDYWxsYmFjay5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUG9zaXRpb25FcnJv
ckNhbGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU4MEQ3QzMwRTlD
MUYyNTAwMEQ2Rjc1IC8qIFBvc2l0aW9uT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQb3NpdGlvbk9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJRkU4MEQ3QzQwRTlDMUYyNTAwMEQ2Rjc1IC8qIFBvc2l0aW9uT3B0aW9ucy5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gUG9zaXRpb25PcHRpb25zLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRkU4MERBNUYwRTlDNDcwMzAwMEQ2Rjc1IC8qIEpTR2VvbG9jYXRpb24uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNHZW9sb2NhdGlvbi5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFODBEQTYwMEU5QzQ3MDMwMDBENkY3NSAv
KiBKU0dlb2xvY2F0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2Vv
bG9jYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU4MERBNjEwRTlDNDcw
MzAwMEQ2Rjc1IC8qIEpTR2VvcG9zaXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNHZW9wb3NpdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xMDI2MSw2ICsxMDI3MCw5IEBACiAJCQkJMDY1QUQ0RjIwQjBDMkVEQTAwNUEyQjFEIC8q
IENvbnRleHRNZW51Q2xpZW50LmggKi8sCiAJCQkJMDY1QUQ0RjMwQjBDMkVEQTAwNUEyQjFEIC8q
IENvbnRleHRNZW51Q29udHJvbGxlci5jcHAgKi8sCiAJCQkJMDY1QUQ0RjQwQjBDMkVEQTAwNUEy
QjFEIC8qIENvbnRleHRNZW51Q29udHJvbGxlci5oICovLAorCQkJCUZFNkZENDg0MEY2NzZFNTcw
MDA5Mjg3MyAvKiBDb29yZGluYXRlcy5jcHAgKi8sCisJCQkJRkU2RkQ0ODUwRjY3NkU1NzAwMDky
ODczIC8qIENvb3JkaW5hdGVzLmggKi8sCisJCQkJRkU2RkQ0ODYwRjY3NkU1NzAwMDkyODczIC8q
IENvb3JkaW5hdGVzLmlkbCAqLywKIAkJCQlCQzVBODY4MTBDMzM2NzYwMDBFRUE2NDkgLyogRE9N
U2VsZWN0aW9uLmNwcCAqLywKIAkJCQlCQzVBODY4MjBDMzM2NzYwMDBFRUE2NDkgLyogRE9NU2Vs
ZWN0aW9uLmggKi8sCiAJCQkJQkM1QTg2ODMwQzMzNjc2MDAwRUVBNjQ5IC8qIERPTVNlbGVjdGlv
bi5pZGwgKi8sCkBAIC0xMDMxNiw3ICsxMDMyOCw2IEBACiAJCQkJRkU4MEQ3QzEwRTlDMUYyNTAw
MEQ2Rjc1IC8qIFBvc2l0aW9uRXJyb3JDYWxsYmFjay5oICovLAogCQkJCUZFODBEN0MyMEU5QzFG
MjUwMDBENkY3NSAvKiBQb3NpdGlvbkVycm9yQ2FsbGJhY2suaWRsICovLAogCQkJCUZFODBEN0Mz
MEU5QzFGMjUwMDBENkY3NSAvKiBQb3NpdGlvbk9wdGlvbnMuaCAqLywKLQkJCQlGRTgwRDdDNDBF
OUMxRjI1MDAwRDZGNzUgLyogUG9zaXRpb25PcHRpb25zLmlkbCAqLywKIAkJCQlCQ0VDMDFCQTBD
Mjc0REFDMDA5RjRFQzkgLyogU2NyZWVuLmNwcCAqLywKIAkJCQlCQ0VDMDFCQjBDMjc0REFDMDA5
RjRFQzkgLyogU2NyZWVuLmggKi8sCiAJCQkJQkNFQzAxQkMwQzI3NERBQzAwOUY0RUM5IC8qIFNj
cmVlbi5pZGwgKi8sCkBAIC0xMjM3NCw2ICsxMjM4NSw4IEBACiAJCQkJQkNBODNFNEUwRDdDRTFF
OTAwMzQyMUE4IC8qIEpTQ2xpcGJvYXJkLmggKi8sCiAJCQkJOTNGOUI2REUwQkEwRkI3MjAwODU0
MDY0IC8qIEpTQ29tbWVudC5jcHAgKi8sCiAJCQkJOTNGOUI2REYwQkEwRkI3MjAwODU0MDY0IC8q
IEpTQ29tbWVudC5oICovLAorCQkJCUZFNkZENDhCMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3Jk
aW5hdGVzLmNwcCAqLywKKwkJCQlGRTZGRDQ4QzBGNjc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGlu
YXRlcy5oICovLAogCQkJCUJDNjBEN0JFMEQyOUE0NjMwMEI5OTE4RiAvKiBKU0RPTUNvcmVFeGNl
cHRpb24uY3BwICovLAogCQkJCUJDNjBEN0JGMEQyOUE0NjMwMEI5OTE4RiAvKiBKU0RPTUNvcmVF
eGNlcHRpb24uaCAqLywKIAkJCQk2NURGMzFFMzA5RDFDQzYwMDAwQkUzMjUgLyogSlNET01JbXBs
ZW1lbnRhdGlvbi5jcHAgKi8sCkBAIC0xNjg2Niw2ICsxNjg3OSw4IEBACiAJCQkJRTFDNDE1REEw
RjY1NUQ2RjAwOTJEMkZCIC8qIENyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUUxQzQxNjEyMEY2NTYyRkQwMDkyRDJGQiAvKiBDcm9zc09yaWdpbkFj
Y2Vzc0NvbnRyb2wuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3RDZCMzQ5MEY2MTEwNDUwMEI3OUZE
MSAvKiBXb3JrZXJJbXBvcnRTY3JpcHRzQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlGRTZG
RDQ4ODBGNjc2RTU3MDAwOTI4NzMgLyogQ29vcmRpbmF0ZXMuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUZFNkZENDhFMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmggaW4gSGVhZGVycyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKQEAgLTE2OTgwLDYgKzE2OTk1LDcgQEAKIAkJCQk4NTEzNkNBODBBRUQ2NjU5MDBGOTBBM0Qg
Lyogd2VzdFJlc2l6ZUN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAogCQkJCTFBQjFBRTdBMEMw
NTFGREUwMDEzOUY0RiAvKiB6b29tSW5DdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQkx
QUIxQUU3QjBDMDUxRkRFMDAxMzlGNEYgLyogem9vbU91dEN1cnNvci5wbmcgaW4gUmVzb3VyY2Vz
ICovLAorCQkJCUZFNkZENDg5MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5pZGwgaW4g
UmVzb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpAQCAtMTg4NjMsNiArMTg4NzksOCBAQAogCQkJCUUxQzQxNURFMEY2NTVE
N0MwMDkyRDJGQiAvKiBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUUxQzQxNjE3MEY2NTYzMTgwMDkyRDJGQiAvKiBDcm9zc09yaWdpbkFjY2Vz
c0NvbnRyb2wuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTdENkIzNEEwRjYxMTA0NTAwQjc5RkQx
IC8qIFdvcmtlckltcG9ydFNjcmlwdHNDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkU2
RkQ0ODcwRjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUZFNkZENDhEMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0dlb2xvY2F0aW9uQ3VzdG9tLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTR2VvbG9jYXRpb25DdXN0b20u
Y3BwCShyZXZpc2lvbiA0MTU5NykKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvSlNHZW9sb2NhdGlv
bkN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYwLDcgKzYwLDE0IEBAIHN0YXRpYyBQYXNz
UmVmUHRyPFBvc2l0aW9uT3B0aW9ucz4gY3JlYXQKICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9u
KCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIFBvc2l0aW9uT3B0aW9uczo6Y3Jl
YXRlKGVuYWJsZUhpZ2hBY2N1cmFjeSwgdGltZW91dCk7CisgICAgSlNWYWx1ZVB0ciBtYXhpbXVt
QWdlVmFsdWUgPSBvYmplY3QtPmdldChleGVjLCBJZGVudGlmaWVyKGV4ZWMsICJtYXhpbXVtQWdl
IikpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIDA7Cisg
ICAgdW5zaWduZWQgbWF4aW11bUFnZSA9IG1heGltdW1BZ2VWYWx1ZS50b1VJbnQzMihleGVjKTsK
KyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiAwOworCisgICAg
cmV0dXJuIFBvc2l0aW9uT3B0aW9uczo6Y3JlYXRlKGVuYWJsZUhpZ2hBY2N1cmFjeSwgdGltZW91
dCwgbWF4aW11bUFnZSk7CiB9CiAKIEpTVmFsdWVQdHIgSlNHZW9sb2NhdGlvbjo6Z2V0Q3VycmVu
dFBvc2l0aW9uKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJnTGlzdCYgYXJncykKSW5kZXg6IFdl
YkNvcmUvcGFnZS9Db29yZGluYXRlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0Nv
b3JkaW5hdGVzLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvcGFnZS9Db29yZGluYXRlcy5j
cHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDkgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNv
b3JkaW5hdGVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworU3RyaW5nIENvb3JkaW5hdGVz
Ojp0b1N0cmluZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCJjb29yZGlu
YXRlKCUuNmxnLCAlLjZsZywgJS42bGcsICUuNmxnLCAlLjZsZywgJS42bGcsICUuNmxnKSIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1fbGF0aXR1ZGUsIG1fbG9uZ2l0dWRlLCBtX2FsdGl0
dWRlLCBtX2FjY3VyYWN5LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbV9hbHRpdHVkZUFj
Y3VyYWN5LCBtX2hlYWRpbmcsIG1fc3BlZWQpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CkluZGV4OiBXZWJDb3JlL3BhZ2UvQ29vcmRpbmF0ZXMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BhZ2UvQ29vcmRpbmF0ZXMuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvcGFnZS9Db29yZGlu
YXRlcy5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDA5IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgQ29vcmRpbmF0ZXNfaAorI2RlZmlu
ZSBDb29yZGluYXRlc19oCisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIlBsYXRmb3Jt
U3RyaW5nLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCit0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOworCitjbGFzcyBDb29yZGluYXRlcyA6
IHB1YmxpYyBSZWZDb3VudGVkPENvb3JkaW5hdGVzPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBh
c3NSZWZQdHI8Q29vcmRpbmF0ZXM+IGNyZWF0ZShkb3VibGUgbGF0aXR1ZGUsIGRvdWJsZSBsb25n
aXR1ZGUsIGRvdWJsZSBhbHRpdHVkZSwgZG91YmxlIGFjY3VyYWN5LCBkb3VibGUgYWx0aXR1ZGVB
Y2N1cmFjeSwgZG91YmxlIGhlYWRpbmcsIGRvdWJsZSBzcGVlZCkgeyByZXR1cm4gYWRvcHRSZWYo
bmV3IENvb3JkaW5hdGVzKGxhdGl0dWRlLCBsb25naXR1ZGUsIGFsdGl0dWRlLCBhY2N1cmFjeSwg
YWx0aXR1ZGVBY2N1cmFjeSwgaGVhZGluZywgc3BlZWQpKTsgfQorICAgIAorICAgIGRvdWJsZSBs
YXRpdHVkZSgpIGNvbnN0IHsgcmV0dXJuIG1fbGF0aXR1ZGU7IH0KKyAgICBkb3VibGUgbG9uZ2l0
dWRlKCkgY29uc3QgeyByZXR1cm4gbV9sb25naXR1ZGU7IH0KKyAgICBkb3VibGUgYWx0aXR1ZGUo
KSBjb25zdCB7IHJldHVybiBtX2FsdGl0dWRlOyB9CisgICAgZG91YmxlIGFjY3VyYWN5KCkgY29u
c3QgeyByZXR1cm4gbV9hY2N1cmFjeTsgfQorICAgIGRvdWJsZSBhbHRpdHVkZUFjY3VyYWN5KCkg
Y29uc3QgeyByZXR1cm4gbV9hbHRpdHVkZUFjY3VyYWN5OyB9CisgICAgZG91YmxlIGhlYWRpbmco
KSBjb25zdCB7IHJldHVybiBtX2hlYWRpbmc7IH0KKyAgICBkb3VibGUgc3BlZWQoKSBjb25zdCB7
IHJldHVybiBtX3NwZWVkOyB9CisKKyAgICBTdHJpbmcgdG9TdHJpbmcoKSBjb25zdDsKKworcHJp
dmF0ZToKKyAgICBDb29yZGluYXRlcyhkb3VibGUgbGF0aXR1ZGUsIGRvdWJsZSBsb25naXR1ZGUs
IGRvdWJsZSBhbHRpdHVkZSwgZG91YmxlIGFjY3VyYWN5LCBkb3VibGUgYWx0aXR1ZGVBY2N1cmFj
eSwgZG91YmxlIGhlYWRpbmcsIGRvdWJsZSBzcGVlZCkKKyAgICAgICAgOiBtX2xhdGl0dWRlKGxh
dGl0dWRlKQorICAgICAgICAsIG1fbG9uZ2l0dWRlKGxvbmdpdHVkZSkKKyAgICAgICAgLCBtX2Fs
dGl0dWRlKGFsdGl0dWRlKQorICAgICAgICAsIG1fYWNjdXJhY3koYWNjdXJhY3kpCisgICAgICAg
ICwgbV9hbHRpdHVkZUFjY3VyYWN5KGFsdGl0dWRlQWNjdXJhY3kpCisgICAgICAgICwgbV9oZWFk
aW5nKGhlYWRpbmcpCisgICAgICAgICwgbV9zcGVlZChzcGVlZCkKKyAgICB7CisgICAgfQorCisg
ICAgZG91YmxlIG1fbGF0aXR1ZGU7CisgICAgZG91YmxlIG1fbG9uZ2l0dWRlOworICAgIGRvdWJs
ZSBtX2FsdGl0dWRlOworICAgIGRvdWJsZSBtX2FjY3VyYWN5OworICAgIGRvdWJsZSBtX2FsdGl0
dWRlQWNjdXJhY3k7CisgICAgZG91YmxlIG1faGVhZGluZzsKKyAgICBkb3VibGUgbV9zcGVlZDsK
K307CisgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBDb29yZGluYXRl
c19oCkluZGV4OiBXZWJDb3JlL3BhZ2UvQ29vcmRpbmF0ZXMuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGFnZS9Db29yZGluYXRlcy5pZGwJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL3BhZ2Uv
Q29vcmRpbmF0ZXMuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDA5IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKK21vZHVsZSBjb3JlIHsKKworICAg
IGludGVyZmFjZSBDb29yZGluYXRlcyB7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3Vi
bGUgbGF0aXR1ZGU7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgbG9uZ2l0dWRl
OworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGFsdGl0dWRlOworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGFjY3VyYWN5OworICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgZG91YmxlIGFsdGl0dWRlQWNjdXJhY3k7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBkb3VibGUgaGVhZGluZzsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBzcGVl
ZDsKKworI2lmIGRlZmluZWQoTEFOR1VBR0VfSkFWQVNDUklQVCkKKyAgICAgICAgW0RvbnRFbnVt
XSBET01TdHJpbmcgdG9TdHJpbmcoKTsKKyNlbmRpZgorICAgIH07Cit9CkluZGV4OiBXZWJDb3Jl
L3BhZ2UvR2VvcG9zaXRpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9HZW9wb3Np
dGlvbi5jcHAJKHJldmlzaW9uIDQxNTk3KQorKysgV2ViQ29yZS9wYWdlL0dlb3Bvc2l0aW9uLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzAsOSArMzAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IFN0cmluZyBHZW9wb3NpdGlvbjo6dG9TdHJpbmcoKSBjb25zdAogewotICAgIHJldHVybiBTdHJp
bmc6OmZvcm1hdCgicG9zaXRpb24oJS42bGcsICUuNmxnLCAlLjZsZywgJS42bGcsICUuNmxnLCAl
LjZsZywgJS42bGcsICUubGxkKSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIG1fbGF0aXR1
ZGUsIG1fbG9uZ2l0dWRlLCBtX2FsdGl0dWRlLCBtX2FjY3VyYWN5LCAKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgbV9hbHRpdHVkZUFjY3VyYWN5LCBtX2hlYWRpbmcsIG1fc3BlZWQsIG1fdGlt
ZXN0YW1wKTsKKyAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoInBvc2l0aW9uKCUubGxkKSIsIG1f
dGltZXN0YW1wKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9w
YWdlL0dlb3Bvc2l0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0dlb3Bvc2l0aW9u
LmgJKHJldmlzaW9uIDQxNTk3KQorKysgV2ViQ29yZS9wYWdlL0dlb3Bvc2l0aW9uLmgJKHdvcmtp
bmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYgR2VvcG9zaXRpb25faAogI2RlZmlu
ZSBHZW9wb3NpdGlvbl9oCiAKKyNpbmNsdWRlICJDb29yZGluYXRlcy5oIgogI2luY2x1ZGUgIkV2
ZW50LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgpAQCAtMzYsMzkgKzM3LDIxIEBAIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAK
IGNsYXNzIEdlb3Bvc2l0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8R2VvcG9zaXRpb24+IHsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxHZW9wb3NpdGlvbj4gY3JlYXRlKGRvdWJsZSBs
YXRpdHVkZSwgZG91YmxlIGxvbmdpdHVkZSwgZG91YmxlIGFsdGl0dWRlLCBkb3VibGUgYWNjdXJh
Y3ksIGRvdWJsZSBhbHRpdHVkZUFjY3VyYWN5LCBkb3VibGUgaGVhZGluZywgZG91YmxlIHNwZWVk
LCBET01UaW1lU3RhbXAgdGltZXN0YW1wKSB7IHJldHVybiBhZG9wdFJlZihuZXcgR2VvcG9zaXRp
b24obGF0aXR1ZGUsIGxvbmdpdHVkZSwgYWx0aXR1ZGUsIGFjY3VyYWN5LCBhbHRpdHVkZUFjY3Vy
YWN5LCBoZWFkaW5nLCBzcGVlZCwgdGltZXN0YW1wKSk7IH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0
cjxHZW9wb3NpdGlvbj4gY3JlYXRlKFBhc3NSZWZQdHI8Q29vcmRpbmF0ZXM+IGNvb3JkaW5hdGVz
LCBET01UaW1lU3RhbXAgdGltZXN0YW1wKSB7IHJldHVybiBhZG9wdFJlZihuZXcgR2VvcG9zaXRp
b24oY29vcmRpbmF0ZXMsIHRpbWVzdGFtcCkpOyB9CiAgICAgCi0gICAgZG91YmxlIGxhdGl0dWRl
KCkgY29uc3QgeyByZXR1cm4gbV9sYXRpdHVkZTsgfQotICAgIGRvdWJsZSBsb25naXR1ZGUoKSBj
b25zdCB7IHJldHVybiBtX2xvbmdpdHVkZTsgfQotICAgIGRvdWJsZSBhbHRpdHVkZSgpIGNvbnN0
IHsgcmV0dXJuIG1fYWx0aXR1ZGU7IH0KLSAgICBkb3VibGUgYWNjdXJhY3koKSBjb25zdCB7IHJl
dHVybiBtX2FjY3VyYWN5OyB9Ci0gICAgZG91YmxlIGFsdGl0dWRlQWNjdXJhY3koKSBjb25zdCB7
IHJldHVybiBtX2FsdGl0dWRlQWNjdXJhY3k7IH0KLSAgICBkb3VibGUgaGVhZGluZygpIGNvbnN0
IHsgcmV0dXJuIG1faGVhZGluZzsgfQotICAgIGRvdWJsZSBzcGVlZCgpIGNvbnN0IHsgcmV0dXJu
IG1fc3BlZWQ7IH0KICAgICBET01UaW1lU3RhbXAgdGltZXN0YW1wKCkgY29uc3QgeyByZXR1cm4g
bV90aW1lc3RhbXA7IH0KLQorICAgIENvb3JkaW5hdGVzKiBjb29yZHMoKSBjb25zdCB7IHJldHVy
biBtX2Nvb3JkaW5hdGVzLmdldCgpOyB9CisgICAgCiAgICAgU3RyaW5nIHRvU3RyaW5nKCkgY29u
c3Q7CiAKIHByaXZhdGU6Ci0gICAgR2VvcG9zaXRpb24oZG91YmxlIGxhdGl0dWRlLCBkb3VibGUg
bG9uZ2l0dWRlLCBkb3VibGUgYWx0aXR1ZGUsIGRvdWJsZSBhY2N1cmFjeSwgZG91YmxlIGFsdGl0
dWRlQWNjdXJhY3ksIGRvdWJsZSBoZWFkaW5nLCBkb3VibGUgc3BlZWQsIERPTVRpbWVTdGFtcCB0
aW1lc3RhbXApCi0gICAgICAgIDogbV9sYXRpdHVkZShsYXRpdHVkZSkKLSAgICAgICAgLCBtX2xv
bmdpdHVkZShsb25naXR1ZGUpCi0gICAgICAgICwgbV9hbHRpdHVkZShhbHRpdHVkZSkKLSAgICAg
ICAgLCBtX2FjY3VyYWN5KGFjY3VyYWN5KQotICAgICAgICAsIG1fYWx0aXR1ZGVBY2N1cmFjeShh
bHRpdHVkZUFjY3VyYWN5KQotICAgICAgICAsIG1faGVhZGluZyhoZWFkaW5nKQotICAgICAgICAs
IG1fc3BlZWQoc3BlZWQpCisgICAgR2VvcG9zaXRpb24oUGFzc1JlZlB0cjxDb29yZGluYXRlcz4g
Y29vcmRpbmF0ZXMsIERPTVRpbWVTdGFtcCB0aW1lc3RhbXApCisgICAgICAgIDogbV9jb29yZGlu
YXRlcyhjb29yZGluYXRlcykKICAgICAgICAgLCBtX3RpbWVzdGFtcCh0aW1lc3RhbXApCiAgICAg
ewogICAgIH0KIAotICAgIGRvdWJsZSBtX2xhdGl0dWRlOwotICAgIGRvdWJsZSBtX2xvbmdpdHVk
ZTsKLSAgICBkb3VibGUgbV9hbHRpdHVkZTsKLSAgICBkb3VibGUgbV9hY2N1cmFjeTsKLSAgICBk
b3VibGUgbV9hbHRpdHVkZUFjY3VyYWN5OwotICAgIGRvdWJsZSBtX2hlYWRpbmc7Ci0gICAgZG91
YmxlIG1fc3BlZWQ7CisgICAgUmVmUHRyPENvb3JkaW5hdGVzPiBtX2Nvb3JkaW5hdGVzOwogICAg
IERPTVRpbWVTdGFtcCBtX3RpbWVzdGFtcDsKIH07CiAgICAgCkluZGV4OiBXZWJDb3JlL3BhZ2Uv
R2VvcG9zaXRpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9HZW9wb3NpdGlvbi5p
ZGwJKHJldmlzaW9uIDQxNTk3KQorKysgV2ViQ29yZS9wYWdlL0dlb3Bvc2l0aW9uLmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMjYsMTMgKzI2LDcgQEAKIG1vZHVsZSBjb3JlIHsKIAogICAgIGludGVy
ZmFjZSBHZW9wb3NpdGlvbiB7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgbGF0
aXR1ZGU7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3VibGUgbG9uZ2l0dWRlOwotICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgZG91YmxlIGFsdGl0dWRlOwotICAgICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgZG91YmxlIGFjY3VyYWN5OwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
ZG91YmxlIGFsdGl0dWRlQWNjdXJhY3k7Ci0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBkb3Vi
bGUgaGVhZGluZzsKLSAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGRvdWJsZSBzcGVlZDsKKyAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENvb3JkaW5hdGVzIGNvb3JkczsKICAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVRpbWVTdGFtcCB0aW1lc3RhbXA7CiAKICNpZiBkZWZpbmVkKExB
TkdVQUdFX0pBVkFTQ1JJUFQpCkluZGV4OiBXZWJDb3JlL3BhZ2UvUG9zaXRpb25PcHRpb25zLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL1Bvc2l0aW9uT3B0aW9ucy5oCShyZXZpc2lvbiA0
MTU5NykKKysrIFdlYkNvcmUvcGFnZS9Qb3NpdGlvbk9wdGlvbnMuaAkod29ya2luZyBjb3B5KQpA
QCAtMzMsMjIgKzMzLDI2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKIGNsYXNzIFBvc2l0
aW9uT3B0aW9ucyA6IHB1YmxpYyBSZWZDb3VudGVkPFBvc2l0aW9uT3B0aW9ucz4gewogcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBvc2l0aW9uT3B0aW9ucz4gY3JlYXRlKGJvb2wgaGln
aEFjY3VyYWN5LCB1bnNpZ25lZCB0aW1lb3V0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgUG9zaXRp
b25PcHRpb25zKGhpZ2hBY2N1cmFjeSwgdGltZW91dCkpOyB9CisgICAgc3RhdGljIFBhc3NSZWZQ
dHI8UG9zaXRpb25PcHRpb25zPiBjcmVhdGUoYm9vbCBoaWdoQWNjdXJhY3ksIHVuc2lnbmVkIHRp
bWVvdXQsIHVuc2lnbmVkIG1heGltdW1BZ2UpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBQb3NpdGlv
bk9wdGlvbnMoaGlnaEFjY3VyYWN5LCB0aW1lb3V0LCBtYXhpbXVtQWdlKSk7IH0KIAogICAgIGJv
b2wgZW5hYmxlSGlnaEFjY3VyYWN5KCkgY29uc3QgeyByZXR1cm4gbV9oaWdoQWNjdXJhY3k7IH0K
ICAgICB2b2lkIHNldEVuYWJsZUhpZ2hBY2N1cmFjeShib29sIGVuYWJsZSkgeyBtX2hpZ2hBY2N1
cmFjeSA9IGVuYWJsZTsgfQogICAgIHVuc2lnbmVkIHRpbWVvdXQoKSBjb25zdCB7IHJldHVybiBt
X3RpbWVvdXQ7IH0KICAgICB2b2lkIHNldFRpbWVvdXQodW5zaWduZWQgdCkgeyBtX3RpbWVvdXQg
PSB0OyB9CisgICAgdW5zaWduZWQgbWF4aW11bUFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWF4aW11
bUFnZTsgfQorICAgIHZvaWQgc2V0TWF4aW11bUFnZSh1bnNpZ25lZCBhKSB7IG1fbWF4aW11bUFn
ZSA9IGE7IH0KICAgICAKIHByaXZhdGU6Ci0gICAgUG9zaXRpb25PcHRpb25zKGJvb2wgaGlnaEFj
Y3VyYWN5LCB1bnNpZ25lZCB0aW1lb3V0KQorICAgIFBvc2l0aW9uT3B0aW9ucyhib29sIGhpZ2hB
Y2N1cmFjeSwgdW5zaWduZWQgdGltZW91dCwgdW5zaWduZWQgbWF4aW11bUFnZSkKICAgICAgICAg
OiBtX2hpZ2hBY2N1cmFjeShoaWdoQWNjdXJhY3kpCiAgICAgICAgICwgbV90aW1lb3V0KHRpbWVv
dXQpCisgICAgICAgICwgbV9tYXhpbXVtQWdlKG1heGltdW1BZ2UpCiAgICAgewogICAgIH0KICAg
ICAKICAgICBib29sIG1faGlnaEFjY3VyYWN5OwogICAgIHVuc2lnbmVkIG1fdGltZW91dDsKKyAg
ICB1bnNpZ25lZCBtX21heGltdW1BZ2U7CiB9OwogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9tYWMvR2VvbG9jYXRpb25TZXJ2aWNlTWFjLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vbWFjL0dlb2xvY2F0aW9uU2VydmljZU1hYy5t
bQkocmV2aXNpb24gNDE1OTcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL21hYy9HZW9sb2NhdGlvblNl
cnZpY2VNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2MCwxNCArMTYwLDE2IEBAIHZvaWQgR2Vv
bG9jYXRpb25TZXJ2aWNlTWFjOjplcnJvck9jY3VycmUKICAgICAgICAgYWx0aXR1ZGUgPSAwLjA7
CiAgICAgfQogICAgIAorICAgIFdURjo6UmVmUHRyPFdlYkNvcmU6OkNvb3JkaW5hdGVzPiBuZXdD
b29yZGluYXRlcyA9IFdlYkNvcmU6OkNvb3JkaW5hdGVzOjpjcmVhdGUoCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbmV3TG9jYXRpb24uY29vcmRpbmF0ZS5sYXRpdHVkZSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBuZXdMb2NhdGlvbi5jb29yZGluYXRlLmxvbmdpdHVkZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhbHRpdHVkZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBuZXdMb2NhdGlvbi5ob3Jpem9udGFsQWNjdXJhY3ksCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYWx0aXR1ZGVBY2N1cmFjeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBuZXdMb2NhdGlvbi5jb3Vyc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3TG9j
YXRpb24uc3BlZWQpOwogICAgIFdURjo6UmVmUHRyPFdlYkNvcmU6Okdlb3Bvc2l0aW9uPiBuZXdQ
b3NpdGlvbiA9IFdlYkNvcmU6Okdlb3Bvc2l0aW9uOjpjcmVhdGUoCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG5ld0xvY2F0aW9uLmNvb3JkaW5hdGUubGF0aXR1ZGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG5ld0xvY2F0aW9uLmNvb3JkaW5hdGUubG9uZ2l0dWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhbHRpdHVkZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbmV3TG9jYXRpb24uaG9yaXpvbnRhbEFjY3VyYWN5LAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBhbHRpdHVkZUFjY3VyYWN5LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBuZXdMb2NhdGlvbi5jb3Vyc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5l
d0xvY2F0aW9uLnNwZWVkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdDb29yZGlu
YXRlcy5yZWxlYXNlKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZXdMb2NhdGlv
bi50aW1lc3RhbXAgdGltZUludGVydmFsU2luY2VSZWZlcmVuY2VEYXRlXSAqIDEwMDAuMCk7IC8v
IHNlY29uZHMgLT4gbWlsbGlzZWNvbmRzCiAgICAgCiAgICAgbV9jYWxsYmFjay0+cG9zaXRpb25D
aGFuZ2VkKG5ld1Bvc2l0aW9uLnJlbGVhc2UoKSk7Cg==
</data>
<flag name="review"
          id="13981"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>