<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>324044</bug_id>
          
          <creation_ts>2013-08-26 05:21:48 +0000</creation_ts>
          <short_desc>Improve MediaWiki export tool [patch]</short_desc>
          <delta_ts>2018-02-04 13:02:30 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Applications</classification>
          <product>digikam</product>
          <component>Plugin-WebService-MediaWiki</component>
          <version>3.3.0</version>
          <rep_platform>Compiled Sources</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>wishlist</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Peter Potrowl">peter017</reporter>
          <assigned_to name="Digikam Developers">digikam-bugs-null</assigned_to>
          <cc>adrian</cc>
    
    <cc>caulier.gilles</cc>
          
          <cf_commitlink>http://commits.kde.org/kipi-plugins/a1c00a8405355ea8fc0b34cc7d4bd353c92d711a</cf_commitlink>
          <cf_versionfixedin>4.0.0</cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1392578</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Potrowl">peter017</who>
    <bug_when>2013-08-26 05:21:48 +0000</bug_when>
    <thetext>The proposed patch implements a feature requested by several users (1), fixes a bug (2) and improves the user interface (3).

1) Several users have asked for the possibility of removing the metadata and/or the GPS location from the file before uploading to MediaWiki. The metadata often contain the date and time the picture was taken, which can be considered private data in some cases. The GPS location is also a private data, when the picture was taken in a private location (home...).

This patch adds two checkbox, allowing the user to remove all the metadata from the file, or only the GPS location, before uploading it to the distant wiki. When the file is resized before uploading, the metadata is copied to the resized version only if the « Remove metadata from file » checkbox is unchecked. If the file is not resized and the checkbox is checked, a copy of the file is created and null metadata are saved in it.

2) In some cases, the description map of the files of the previous upload was not cleared when the user started a new upload. This caused the files of the previous upload to be re-uploaded without user notice.

This patch fixes this issue by clearing the images description map each time a new list of files is loaded.

3) This patch adds a few improvements to the user interface:
* the name of the wiki the user is currently logged on is now displayed
* the link to the current wiki does now show the name of this wiki instead of &quot;MediaWiki&quot;
* when adding a wiki, the user is now asked for the &quot;API URL&quot; of the wiki instead of the &quot;URL&quot; which was ambiguous
* the interface displays and upload more digits for the latitude and longitude than before

Please review and merge this patch. Best regards.

Reproducible: Always</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392579</commentid>
    <comment_count>1</comment_count>
      <attachid>81933</attachid>
    <who name="Peter Potrowl">peter017</who>
    <bug_when>2013-08-26 05:23:28 +0000</bug_when>
    <thetext>Created attachment 81933
Patch described above</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392593</commentid>
    <comment_count>2</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2013-08-26 06:55:25 +0000</bug_when>
    <thetext>Adrian,

Can you review the proposed patch please ? Thanks in advance...

Gilles Caulier</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394435</commentid>
    <comment_count>3</comment_count>
    <who name="Peter Potrowl">peter017</who>
    <bug_when>2013-09-02 14:26:46 +0000</bug_when>
    <thetext>Dear Gilles and Adrian,

Any news concerning the review of this patch? I am sad it was not part of the 3.4.0 release...

Best regards</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397621</commentid>
    <comment_count>4</comment_count>
    <who name="Peter Potrowl">peter017</who>
    <bug_when>2013-09-17 00:15:46 +0000</bug_when>
    <thetext>Dear Gilles and Adrian,

Any news concerning the review of this patch?

Best regards</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400802</commentid>
    <comment_count>5</comment_count>
    <who name="Peter Potrowl">peter017</who>
    <bug_when>2013-10-01 19:53:00 +0000</bug_when>
    <thetext>Is there anything I can do to have this patch applied?

Will it help if I ask for a git developer access?

Best regards</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1404960</commentid>
    <comment_count>6</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2013-10-21 09:51:08 +0000</bug_when>
    <thetext>Peter,

Sorry for the delay, I have been perturbated in my opensource workflow due to a car crash. I&apos;m back now.

I&apos;m would to be happy to see sombody maintaining the plugin code. This include your patch of course. As i&apos;m not a wikimedia user, i&apos;m not the right person to test features. At least i can review coding style and other stuff relevant.

It&apos;s a good idea to take a developer account if you is motivated to be a maintainer for the future.

Let&apos;s me hear. Best

Gilles Caulier</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405063</commentid>
    <comment_count>7</comment_count>
    <who name="Peter Potrowl">peter017</who>
    <bug_when>2013-10-21 15:39:29 +0000</bug_when>
    <thetext>Dear Gilles,

Thank you very much for your answer. I would be very happy to maintain the plugin code. This is my 4th patch on this plugin, after I carried out a 6-month project with two students from the University of Lille-I and an engineer from INRIA in order to make this plugin more useable.

I intend to continue developing this plugin and I intensely test the features before proposing patches. I would be very happy if you accepted to support me in my application for a developer account.

Best regards</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405064</commentid>
    <comment_count>8</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2013-10-21 15:43:37 +0000</bug_when>
    <thetext>Well you is welcome.

Please follow instruction in this wiki page. I will be contacted by KDE admin for your registration as KDE developer.

http://community.kde.org/Sysadmin/GitKdeOrgManual#How_to_get_read-write_developer_access

Gilles Caulier</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405141</commentid>
    <comment_count>9</comment_count>
    <who name="Peter Potrowl">peter017</who>
    <bug_when>2013-10-21 20:10:52 +0000</bug_when>
    <thetext>Dear Gilles,

I got my developer access. Can I commit the patch?

Best regards</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405143</commentid>
    <comment_count>10</comment_count>
    <who name="">caulier.gilles</who>
    <bug_when>2013-10-21 20:22:39 +0000</bug_when>
    <thetext>yes, you can.

When you commit, don&apos;t forget to close this file using BUGS macro to add in your commit comment. see here for details :

http://community.kde.org/Sysadmin/GitKdeOrgManual#Commit_hook_keywords

Use also FIXED-IN macro in your commit comment to register digiKam version where patch will be published (here &quot;4.0.0&quot;). For info, look release plan for details :

http://community.kde.org/Digikam/GSoC2013#Roadmap_and_Releases_Plan_including_all_GSoC-2013_works

Also, please register this bugzilla file title in kipi-plugins NEWS file. 

Finally, in NEWS file, register new feature add to mediawiki plugin. Look how it&apos;s do in previous release :

https://projects.kde.org/projects/extragear/graphics/kipi-plugins/repository/revisions/master/entry/project/NEWS.3.0.0

Gilles Caulier</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405179</commentid>
    <comment_count>11</comment_count>
    <who name="Peter Potrowl">peter017</who>
    <bug_when>2013-10-21 21:49:40 +0000</bug_when>
    <thetext>Git commit a1c00a8405355ea8fc0b34cc7d4bd353c92d711a by Peter Potrowl.
Committed on 21/10/2013 at 21:36.
Pushed by peterpotrowl into branch &apos;master&apos;.

MediaWiki: Fix bug, add feature, improve usability
FIXED-IN: 4.0.0

Files could be re-uploaded without notice because of a bug. Fixed.

The plugin now allows the user to remove the metadata and/or the GPS
coordinates before uploading.

Additionally, the interface has been slightly improved (see bug.)

M  +3    -1    NEWS
M  +85   -30   mediawiki/wmwidget.cpp
M  +9    -5    mediawiki/wmwidget.h
M  +56   -41   mediawiki/wmwindow.cpp
M  +3    -3    mediawiki/wmwindow.h

http://commits.kde.org/kipi-plugins/a1c00a8405355ea8fc0b34cc7d4bd353c92d711a</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81933</attachid>
            <date>2013-08-26 05:23:28 +0000</date>
            <delta_ts>2013-08-26 05:23:28 +0000</delta_ts>
            <desc>Patch described above</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>22265</size>
            <attacher name="Peter Potrowl">peter017</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL21lZGlhd2lraS93bXdpZGdldC5jcHAgYi9tZWRpYXdpa2kvd213aWRnZXQu
Y3BwCmluZGV4IDdmY2U0YTcuLjg2Y2IyM2IgMTAwNjQ0Ci0tLSBhL21lZGlhd2lraS93bXdpZGdl
dC5jcHAKKysrIGIvbWVkaWF3aWtpL3dtd2lkZ2V0LmNwcApAQCAtMTEsNyArMTEsNyBAQAogICog
Q29weXJpZ2h0IChDKSAyMDEyICAgICAgYnkgUGFydGhhc2FyYXRoeSBHb3BhdmFyYXB1IDxncGFy
dGhhc2FyYXRoeTkzIGF0IGdtYWlsIGRvdCBjb20+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMTIgICAg
ICBieSBOYXRoYW4gRGFtaWUgPG5hdGhhbiBkb3QgZGFtaWUgYXQgZ21haWwgZG90IGNvbT4KICAq
IENvcHlyaWdodCAoQykgMjAxMiAgICAgIGJ5IElsaXlhIEl2YW5vdiA8aWxrbzIwMDIgYXQgYWJ2
IGRvdCBiZz4KLSAqIENvcHlyaWdodCAoQykgMjAxMiAgICAgIGJ5IFBldGVyIFBvdHJvd2wgPHBl
dGVyIGRvdCBwb3Ryb3dsIGF0IGdtYWlsIGRvdCBjb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIt
MjAxMyBieSBQZXRlciBQb3Ryb3dsIDxwZXRlciBkb3QgcG90cm93bCBhdCBnbWFpbCBkb3QgY29t
PgogICoKICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdAogICogYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH
ZW5lcmFsCkBAIC04Niw3ICs4Niw2IEBAIHB1YmxpYzoKIAogICAgIFByaXZhdGUoKQogICAgIHsK
LSAgICAgICAgdXBsb2FkQm94ICAgICAgICAgID0gMDsKICAgICAgICAgZmlsZUJveCAgICAgICAg
ICAgID0gMDsKICAgICAgICAgdGl0bGVFZGl0ICAgICAgICAgID0gMDsKICAgICAgICAgZGVzY0Vk
aXQgICAgICAgICAgID0gMDsKQEAgLTExMCwxMiArMTA5LDE1IEBAIHB1YmxpYzoKICAgICAgICAg
Z2VuVHh0RWRpdCAgICAgICAgID0gMDsKICAgICAgICAgYWNjb3VudEJveCAgICAgICAgID0gMDsK
ICAgICAgICAgaGVhZGVyTGJsICAgICAgICAgID0gMDsKKyAgICAgICAgd2lraU5hbWVEaXNwbGF5
TGJsID0gMDsKICAgICAgICAgdXNlck5hbWVEaXNwbGF5TGJsID0gMDsKICAgICAgICAgY2hhbmdl
VXNlckJ0biAgICAgID0gMDsKICAgICAgICAgb3B0aW9uc0JveCAgICAgICAgID0gMDsKICAgICAg
ICAgcmVzaXplQ2hCICAgICAgICAgID0gMDsKICAgICAgICAgZGltZW5zaW9uU3BCICAgICAgID0g
MDsKICAgICAgICAgaW1hZ2VRdWFsaXR5U3BCICAgID0gMDsKKyAgICAgICAgcmVtb3ZlTWV0YUNo
QiAgICAgID0gMDsKKyAgICAgICAgcmVtb3ZlR2VvQ2hCICAgICAgID0gMDsKICAgICAgICAgbGlj
ZW5zZUNvbWJvQm94ICAgID0gMDsKICAgICAgICAgcHJvZ3Jlc3NCYXIgICAgICAgID0gMDsKICAg
ICAgICAgc2V0dGluZ3NFeHBhbmRlciAgID0gMDsKQEAgLTEyNCw3ICsxMjYsNiBAQCBwdWJsaWM6
CiAgICAgICAgIGRlZmF1bHRNZXNzYWdlICAgICA9IGkxOG4oIlNlbGVjdCBhbiBpbWFnZSIpOwog
ICAgIH0KIAotICAgIEtIQm94KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBs
b2FkQm94OwogICAgIFFXaWRnZXQqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmls
ZUJveDsKICAgICBLTGluZUVkaXQqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxl
RWRpdDsKICAgICBLVGV4dEVkaXQqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NF
ZGl0OwpAQCAtMTUxLDggKzE1Miw5IEBAIHB1YmxpYzoKICAgICBLVGV4dEVkaXQqICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGdlbkNhdEVkaXQ7CiAgICAgS1RleHRFZGl0KiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBnZW5UeHRFZGl0OwogCi0gICAgS0hCb3gqICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NvdW50Qm94OworICAgIFFXaWRnZXQqICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjb3VudEJveDsKICAgICBRTGFiZWwqICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlckxibDsKKyAgICBRTGFiZWwqICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpa2lOYW1lRGlzcGxheUxibDsKICAgICBRTGFi
ZWwqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJOYW1lRGlzcGxheUxibDsK
ICAgICBLUHVzaEJ1dHRvbiogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZVVzZXJC
dG47CiAKQEAgLTE2MCw2ICsxNjIsOCBAQCBwdWJsaWM6CiAgICAgUUNoZWNrQm94KiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICByZXNpemVDaEI7CiAgICAgUVNwaW5Cb3gqICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkaW1lbnNpb25TcEI7CiAgICAgUVNwaW5Cb3gqICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpbWFnZVF1YWxpdHlTcEI7CisgICAgUUNoZWNrQm94
KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW1vdmVNZXRhQ2hCOworICAgIFFDaGVj
a0JveCogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlR2VvQ2hCOwogICAgIFNx
dWVlemVkQ29tYm9Cb3gqICAgICAgICAgICAgICAgICAgICAgICAgbGljZW5zZUNvbWJvQm94Owog
CiAgICAgS1BQcm9ncmVzc1dpZGdldCogICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzc0Jh
cjsKQEAgLTMzMSwxMSArMzM1LDExIEBAIFdtV2lkZ2V0OjpXbVdpZGdldChRV2lkZ2V0KiBjb25z
dCBwYXJlbnQpCiAgICAgUUdyaWRMYXlvdXQqIG5ld1dpa2lMYXlvdXQgID0gbmV3IFFHcmlkTGF5
b3V0KG5ld1dpa2lCb3gpOwogCiAgICAgUUxhYmVsKiAgbmV3V2lraU5hbWVMYWJlbCAgID0gbmV3
IFFMYWJlbChuZXdXaWtpUGFuZWwpOwotICAgIG5ld1dpa2lOYW1lTGFiZWwtPnNldFRleHQoaTE4
bigiV2lraToiKSk7CisgICAgbmV3V2lraU5hbWVMYWJlbC0+c2V0VGV4dChpMThuKCJOYW1lOiIp
KTsKIAogCiAgICAgUUxhYmVsKiAgbmV3V2lraVVybExhYmVsICAgID0gbmV3IFFMYWJlbChuZXdX
aWtpUGFuZWwpOwotICAgIG5ld1dpa2lVcmxMYWJlbC0+c2V0VGV4dChpMThuKCJVcmw6IikpOwor
ICAgIG5ld1dpa2lVcmxMYWJlbC0+c2V0VGV4dChpMThuKCJBUEkgVVJMOiIpKTsKIAogICAgIGQt
Pm5ld1dpa2lOYW1lRWRpdCAgICAgICAgICA9IG5ldyBLTGluZUVkaXQobmV3V2lraVBhbmVsKTsK
ICAgICBkLT5uZXdXaWtpVXJsRWRpdCAgICAgICAgICAgPSBuZXcgS0xpbmVFZGl0KG5ld1dpa2lQ
YW5lbCk7CkBAIC0zNjUsMjIgKzM2OSwzMSBAQCBXbVdpZGdldDo6V21XaWRnZXQoUVdpZGdldCog
Y29uc3QgcGFyZW50KQogICAgIGxvZ2luQm94TGF5b3V0LT5hZGRXaWRnZXQoZC0+bmV3V2lraVN2
LCAgMSwgMSwgMywgMyk7CiAgICAgbG9naW5Cb3hMYXlvdXQtPmFkZFdpZGdldChuYW1lTGFiZWws
ICAgICA0LCAwLCAxLCAxKTsKICAgICBsb2dpbkJveExheW91dC0+YWRkV2lkZ2V0KGQtPm5hbWVF
ZGl0LCAgIDQsIDEsIDEsIDEpOwotICAgIGxvZ2luQm94TGF5b3V0LT5hZGRXaWRnZXQoZC0+cGFz
c3dkRWRpdCwgNSwgMSwgMSwgMSk7CiAgICAgbG9naW5Cb3hMYXlvdXQtPmFkZFdpZGdldChwYXNz
d2RMYWJlbCwgICA1LCAwLCAxLCAxKTsKKyAgICBsb2dpbkJveExheW91dC0+YWRkV2lkZ2V0KGQt
PnBhc3N3ZEVkaXQsIDUsIDEsIDEsIDEpOwogICAgIGxvZ2luQm94TGF5b3V0LT5hZGRXaWRnZXQo
bG9naW5CdG4sICAgICAgNiwgMCwgMSwgMSk7CiAgICAgbG9naW5Cb3hMYXlvdXQtPnNldE9iamVj
dE5hbWUoImQtPmxvZ2luQm94TGF5b3V0Iik7CiAKLSAgICBkLT5hY2NvdW50Qm94ICAgICAgICAg
PSBuZXcgS0hCb3goZC0+dXNlckJveCk7Ci0gICAgZC0+YWNjb3VudEJveC0+c2V0V2hhdHNUaGlz
KGkxOG4oIlRoaXMgaXMgdGhlIGFjY291bnQgdGhhdCBpcyBjdXJyZW50bHkgbG9nZ2VkIGluLiIp
KTsKKyAgICBkLT5hY2NvdW50Qm94ID0gbmV3IFFXaWRnZXQoZC0+dXNlckJveCk7CisgICAgUUdy
aWRMYXlvdXQqIGFjY291bnRCb3hMYXlvdXQgPSBuZXcgUUdyaWRMYXlvdXQoZC0+YWNjb3VudEJv
eCk7CisKKyAgICBRTGFiZWwqIHdpa2lOYW1lTGJsICAgPSBuZXcgUUxhYmVsKGQtPmFjY291bnRC
b3gpOworICAgIHdpa2lOYW1lTGJsLT5zZXRUZXh0KGkxOG5jKCJOYW1lIG9mIHRoZSB3aWtpIHRo
ZSB1c2VyIGlzIGN1cnJlbnRseSBsb2dnZWQgb24iLCAiTG9nZ2VkIG9uOiAiKSk7CisgICAgZC0+
d2lraU5hbWVEaXNwbGF5TGJsID0gbmV3IFFMYWJlbChkLT5hY2NvdW50Qm94KTsKIAogICAgIFFM
YWJlbCogdXNlck5hbWVMYmwgICA9IG5ldyBRTGFiZWwoZC0+YWNjb3VudEJveCk7CiAgICAgdXNl
ck5hbWVMYmwtPnNldFRleHQoaTE4bmMoIlVzZXJuYW1lIHdoaWNoIGlzIHVzZWQgdG8gY29ubmVj
dCB0byB0aGUgd2lraSIsICJMb2dnZWQgYXM6ICIpKTsKICAgICBkLT51c2VyTmFtZURpc3BsYXlM
YmwgPSBuZXcgUUxhYmVsKGQtPmFjY291bnRCb3gpOwotICAgIFFMYWJlbCogc3BhY2UgICAgICAg
ICA9IG5ldyBRTGFiZWwoZC0+YWNjb3VudEJveCk7CisKICAgICBkLT5jaGFuZ2VVc2VyQnRuICAg
ICAgPSBuZXcgS1B1c2hCdXR0b24oS0d1aUl0ZW0oaTE4bigiQ2hhbmdlIEFjY291bnQiKSwgInN5
c3RlbS1zd2l0Y2gtdXNlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaTE4bigi
TG9nb3V0IGFuZCBjaGFuZ2UgdGhlIGFjY291bnQgdXNlZCBmb3IgdHJhbnNmZXIiKSksCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZC0+YWNjb3VudEJveCk7Ci0gICAgZC0+YWNjb3Vu
dEJveC0+c2V0U3RyZXRjaEZhY3RvcihzcGFjZSwgMTApOworCisgICAgYWNjb3VudEJveExheW91
dC0+YWRkV2lkZ2V0KHdpa2lOYW1lTGJsLCAgICAgICAgICAgMCwgMCwgMSwgMSk7CisgICAgYWNj
b3VudEJveExheW91dC0+YWRkV2lkZ2V0KGQtPndpa2lOYW1lRGlzcGxheUxibCwgMCwgMSwgMSwg
MSk7CisgICAgYWNjb3VudEJveExheW91dC0+YWRkV2lkZ2V0KHVzZXJOYW1lTGJsLCAgICAgICAg
ICAgMSwgMCwgMSwgMSk7CisgICAgYWNjb3VudEJveExheW91dC0+YWRkV2lkZ2V0KGQtPnVzZXJO
YW1lRGlzcGxheUxibCwgMSwgMSwgMSwgMSk7CisgICAgYWNjb3VudEJveExheW91dC0+YWRkV2lk
Z2V0KGQtPmNoYW5nZVVzZXJCdG4sICAgICAgMiwgMCwgMSwgMik7CiAgICAgZC0+YWNjb3VudEJv
eC0+aGlkZSgpOwogCiAgICAgZC0+c2V0dGluZ3NFeHBhbmRlci0+YWRkSXRlbShkLT51c2VyQm94
LCBpMThuKCJBY2NvdW50IiksIFFTdHJpbmcoImFjY291bnQiKSwgdHJ1ZSk7CkBAIC00NjQsOSAr
NDc3LDkgQEAgV21XaWRnZXQ6OldtV2lkZ2V0KFFXaWRnZXQqIGNvbnN0IHBhcmVudCkKIAogICAg
IGQtPmRpbWVuc2lvblNwQiA9IG5ldyBRU3BpbkJveChkLT5vcHRpb25zQm94KTsKICAgICBkLT5k
aW1lbnNpb25TcEItPnNldE1pbmltdW0oMCk7Ci0gICAgZC0+ZGltZW5zaW9uU3BCLT5zZXRNYXhp
bXVtKDUwMDApOworICAgIGQtPmRpbWVuc2lvblNwQi0+c2V0TWF4aW11bSgxMDAwMCk7CiAgICAg
ZC0+ZGltZW5zaW9uU3BCLT5zZXRTaW5nbGVTdGVwKDEwKTsKLSAgICBkLT5kaW1lbnNpb25TcEIt
PnNldFZhbHVlKDYwMCk7CisgICAgZC0+ZGltZW5zaW9uU3BCLT5zZXRWYWx1ZSgxNjAwKTsKICAg
ICBkLT5kaW1lbnNpb25TcEItPnNldFNpemVQb2xpY3koUVNpemVQb2xpY3k6OkZpeGVkLCBRU2l6
ZVBvbGljeTo6Rml4ZWQpOwogICAgIGQtPmRpbWVuc2lvblNwQi0+c2V0RW5hYmxlZChmYWxzZSk7
CiAgICAgUUxhYmVsKiBkaW1lbnNpb25MYmwgPSBuZXcgUUxhYmVsKGkxOG4oIk1heGltdW0gc2l6
ZToiKSwgZC0+b3B0aW9uc0JveCk7CkBAIC00NzksMTEgKzQ5MiwyMSBAQCBXbVdpZGdldDo6V21X
aWRnZXQoUVdpZGdldCogY29uc3QgcGFyZW50KQogICAgIGQtPmltYWdlUXVhbGl0eVNwQi0+c2V0
U2l6ZVBvbGljeShRU2l6ZVBvbGljeTo6Rml4ZWQsIFFTaXplUG9saWN5OjpGaXhlZCk7CiAgICAg
UUxhYmVsKiBpbWFnZVF1YWxpdHlMYmwgPSBuZXcgUUxhYmVsKGkxOG4oIkpQRUcgcXVhbGl0eToi
KSwgZC0+b3B0aW9uc0JveCk7CiAKKyAgICBkLT5yZW1vdmVNZXRhQ2hCID0gbmV3IFFDaGVja0Jv
eChkLT5vcHRpb25zQm94KTsKKyAgICBkLT5yZW1vdmVNZXRhQ2hCLT5zZXRUZXh0KGkxOG4oIlJl
bW92ZSBtZXRhZGF0YSBmcm9tIGZpbGUiKSk7CisgICAgZC0+cmVtb3ZlTWV0YUNoQi0+c2V0Q2hl
Y2tlZChmYWxzZSk7CisKKyAgICBkLT5yZW1vdmVHZW9DaEIgPSBuZXcgUUNoZWNrQm94KGQtPm9w
dGlvbnNCb3gpOworICAgIGQtPnJlbW92ZUdlb0NoQi0+c2V0VGV4dChpMThuKCJSZW1vdmUgY29v
cmRpbmF0ZXMgZnJvbSBmaWxlIikpOworICAgIGQtPnJlbW92ZUdlb0NoQi0+c2V0Q2hlY2tlZChm
YWxzZSk7CisKICAgICBvcHRpb25zQm94TGF5b3V0LT5hZGRXaWRnZXQoZC0+cmVzaXplQ2hCLCAg
ICAgICAwLCAwLCAxLCAyKTsKICAgICBvcHRpb25zQm94TGF5b3V0LT5hZGRXaWRnZXQoZGltZW5z
aW9uTGJsLCAgICAgICAxLCAwLCAxLCAxKTsKICAgICBvcHRpb25zQm94TGF5b3V0LT5hZGRXaWRn
ZXQoaW1hZ2VRdWFsaXR5TGJsLCAgICAyLCAwLCAxLCAxKTsKICAgICBvcHRpb25zQm94TGF5b3V0
LT5hZGRXaWRnZXQoZC0+ZGltZW5zaW9uU3BCLCAgICAxLCAxLCAxLCAxKTsKICAgICBvcHRpb25z
Qm94TGF5b3V0LT5hZGRXaWRnZXQoZC0+aW1hZ2VRdWFsaXR5U3BCLCAyLCAxLCAxLCAxKTsKKyAg
ICBvcHRpb25zQm94TGF5b3V0LT5hZGRXaWRnZXQoZC0+cmVtb3ZlTWV0YUNoQiwgICAzLCAwLCAx
LCAyKTsKKyAgICBvcHRpb25zQm94TGF5b3V0LT5hZGRXaWRnZXQoZC0+cmVtb3ZlR2VvQ2hCLCAg
ICA0LCAwLCAxLCAyKTsKICAgICBvcHRpb25zQm94TGF5b3V0LT5zZXRSb3dTdHJldGNoKDMsIDEw
KTsKICAgICBvcHRpb25zQm94TGF5b3V0LT5zZXRTcGFjaW5nKEtEaWFsb2c6OnNwYWNpbmdIaW50
KCkpOwogICAgIG9wdGlvbnNCb3hMYXlvdXQtPnNldE1hcmdpbihLRGlhbG9nOjpzcGFjaW5nSGlu
dCgpKTsKQEAgLTUyNSw2ICs1NDgsOSBAQCBXbVdpZGdldDo6V21XaWRnZXQoUVdpZGdldCogY29u
c3QgcGFyZW50KQogICAgIGNvbm5lY3QoZC0+cmVzaXplQ2hCLCBTSUdOQUwoY2xpY2tlZCgpKSwK
ICAgICAgICAgICAgIHRoaXMsIFNMT1Qoc2xvdFJlc2l6ZUNoZWNrZWQoKSkpOwogCisgICAgY29u
bmVjdChkLT5yZW1vdmVNZXRhQ2hCLCBTSUdOQUwoY2xpY2tlZCgpKSwKKyAgICAgICAgICAgIHRo
aXMsIFNMT1Qoc2xvdFJlbW92ZU1ldGFDaGVja2VkKCkpKTsKKwogICAgIGNvbm5lY3QoZC0+Y2hh
bmdlVXNlckJ0biwgU0lHTkFMKGNsaWNrZWQoKSksCiAgICAgICAgICAgICB0aGlzLCBTTE9UKHNs
b3RDaGFuZ2VVc2VyQ2xpY2tlZCgpKSk7CiAKQEAgLTU5MiwxMCArNjE4LDEzIEBAIHZvaWQgV21X
aWRnZXQ6OnJlYWRTZXR0aW5ncyhLQ29uZmlnR3JvdXAmIGdyb3VwKQogICAgIGQtPmdlbkNhdEVk
aXQtPnNldFRleHQoZ3JvdXAucmVhZEVudHJ5KCJnZW5DYXRlZ29yaWVzIiwgIlVwbG9hZGVkIHdp
dGggS0lQSSB1cGxvYWRlciIpKTsKICAgICBkLT5nZW5UeHRFZGl0LT5zZXRUZXh0KGdyb3VwLnJl
YWRFbnRyeSgiZ2VuVGV4dCIsICAgICAgICIiKSk7CiAKLSAgICBkLT5yZXNpemVDaEItPnNldENo
ZWNrZWQoZ3JvdXAucmVhZEVudHJ5KCJSZXNpemUiLCAgICAgIGZhbHNlKSk7Ci0gICAgZC0+ZGlt
ZW5zaW9uU3BCLT5zZXRWYWx1ZShncm91cC5yZWFkRW50cnkoIkRpbWVuc2lvbiIsICA2MDApKTsK
LSAgICBkLT5pbWFnZVF1YWxpdHlTcEItPnNldFZhbHVlKGdyb3VwLnJlYWRFbnRyeSgiUXVhbGl0
eSIsIDg1KSk7CisgICAgZC0+cmVzaXplQ2hCLT5zZXRDaGVja2VkKGdyb3VwLnJlYWRFbnRyeSgi
UmVzaXplIiwgICAgICAgICBmYWxzZSkpOworICAgIGQtPmRpbWVuc2lvblNwQi0+c2V0VmFsdWUo
Z3JvdXAucmVhZEVudHJ5KCJEaW1lbnNpb24iLCAgICAgMTYwMCkpOworICAgIGQtPmltYWdlUXVh
bGl0eVNwQi0+c2V0VmFsdWUoZ3JvdXAucmVhZEVudHJ5KCJRdWFsaXR5IiwgICAgODUpKTsKKyAg
ICBkLT5yZW1vdmVNZXRhQ2hCLT5zZXRDaGVja2VkKGdyb3VwLnJlYWRFbnRyeSgiUmVtb3ZlTWV0
YSIsIGZhbHNlKSk7CisgICAgZC0+cmVtb3ZlR2VvQ2hCLT5zZXRDaGVja2VkKGdyb3VwLnJlYWRF
bnRyeSgiUmVtb3ZlR2VvIiwgICBmYWxzZSkpOwogICAgIHNsb3RSZXNpemVDaGVja2VkKCk7Cisg
ICAgc2xvdFJlbW92ZU1ldGFDaGVja2VkKCk7CiAKICAgICBkLT5XaWtpc0hpc3RvcnkgPSBncm91
cC5yZWFkRW50cnkoIldpa2lzIGhpc3RvcnkiLCAgICAgIFFTdHJpbmdMaXN0KCkpOwogICAgIGQt
PlVybHNIaXN0b3J5ICA9IGdyb3VwLnJlYWRFbnRyeSgiVXJscyBoaXN0b3J5IiwgICAgICAgUVN0
cmluZ0xpc3QoKSk7CkBAIC02MDQsNyArNjMzLDcgQEAgdm9pZCBXbVdpZGdldDo6cmVhZFNldHRp
bmdzKEtDb25maWdHcm91cCYgZ3JvdXApCiAKICAgICBmb3IoaW50IGkgPSAwIDsgaSA8IGQtPlVy
bHNIaXN0b3J5LnNpemUoKSAmJiBpIDwgZC0+V2lraXNIaXN0b3J5LnNpemUoKSA7IGkrKykKICAg
ICB7Ci0gICAgICAgIGQtPndpa2lTZWxlY3QtPmFkZEl0ZW0oZC0+V2lraXNIaXN0b3J5LmF0KGkp
LGQtPlVybHNIaXN0b3J5LmF0KGkpKTsKKyAgICAgICAgZC0+d2lraVNlbGVjdC0+YWRkSXRlbShk
LT5XaWtpc0hpc3RvcnkuYXQoaSksIGQtPlVybHNIaXN0b3J5LmF0KGkpKTsKICAgICB9CiB9CiAK
QEAgLTYyNyw2ICs2NTYsOSBAQCB2b2lkIFdtV2lkZ2V0OjpzYXZlU2V0dGluZ3MoS0NvbmZpZ0dy
b3VwJiBncm91cCkKICAgICBncm91cC53cml0ZUVudHJ5KCJSZXNpemUiLCAgICAgICAgZC0+cmVz
aXplQ2hCLT5pc0NoZWNrZWQoKSk7CiAgICAgZ3JvdXAud3JpdGVFbnRyeSgiRGltZW5zaW9uIiwg
ICAgIGQtPmRpbWVuc2lvblNwQi0+dmFsdWUoKSk7CiAgICAgZ3JvdXAud3JpdGVFbnRyeSgiUXVh
bGl0eSIsICAgICAgIGQtPmltYWdlUXVhbGl0eVNwQi0+dmFsdWUoKSk7CisKKyAgICBncm91cC53
cml0ZUVudHJ5KCJSZW1vdmVNZXRhIiwgICAgZC0+cmVtb3ZlTWV0YUNoQi0+aXNDaGVja2VkKCkp
OworICAgIGdyb3VwLndyaXRlRW50cnkoIlJlbW92ZUdlbyIsICAgICBkLT5yZW1vdmVHZW9DaEIt
PmlzQ2hlY2tlZCgpKTsKIH0KIAogS1BJbWFnZXNMaXN0KiBXbVdpZGdldDo6aW1hZ2VzTGlzdCgp
IGNvbnN0CkBAIC02MzksMjEgKzY3MSwyOCBAQCBLUFByb2dyZXNzV2lkZ2V0KiBXbVdpZGdldDo6
cHJvZ3Jlc3NCYXIoKSBjb25zdAogICAgIHJldHVybiBkLT5wcm9ncmVzc0JhcjsKIH0KIAotdm9p
ZCBXbVdpZGdldDo6dXBkYXRlTGFiZWxzKGNvbnN0IFFTdHJpbmcmIG5hbWUsIGNvbnN0IFFTdHJp
bmcmIHVybCkKK3ZvaWQgV21XaWRnZXQ6OnVwZGF0ZUxhYmVscyhjb25zdCBRU3RyaW5nJiB1c2Vy
TmFtZSwgY29uc3QgUVN0cmluZyYgd2lraU5hbWUsIGNvbnN0IFFTdHJpbmcmIHVybCkKIHsKICAg
ICBRU3RyaW5nIHdlYigiaHR0cDovL3d3dy5tZWRpYXdpa2kub3JnIik7CiAKLSAgICBpZiAoIXVy
bC5pc0VtcHR5KCkpCisgICAgaWYgKHVybC5pc0VtcHR5KCkpCisgICAgeworICAgICAgICBkLT53
aWtpTmFtZURpc3BsYXlMYmwtPmNsZWFyKCk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CiAgICAg
ICAgIHdlYiA9IHVybDsKKyAgICAgICAgZC0+d2lraU5hbWVEaXNwbGF5TGJsLT5zZXRUZXh0KFFT
dHJpbmc6OmZyb21MYXRpbjEoIjxiPiUxPC9iPiIpLmFyZyh3aWtpTmFtZSkpOworICAgIH0KIAot
ICAgIGQtPmhlYWRlckxibC0+c2V0VGV4dChRU3RyaW5nKCI8Yj48aDI+PGEgaHJlZj0nJTEnPjxm
b250IGNvbG9yPVwiIzNCNTk5OFwiPiUyPC9mb250PjwvYT48L2gyPjwvYj4iKS5hcmcod2ViKS5h
cmcoIk1lZGlhV2lraSIpKTsKLSAgICBpZiAobmFtZS5pc0VtcHR5KCkpCisgICAgZC0+aGVhZGVy
TGJsLT5zZXRUZXh0KFFTdHJpbmcoIjxoMj48Yj48YSBocmVmPSclMSc+PGZvbnQgY29sb3I9XCIj
M0I1OTk4XCI+JTI8L2ZvbnQ+PC9hPjwvYj48L2gyPiIpLmFyZyh3ZWIpLmFyZyh3aWtpTmFtZSkp
OworICAgIGlmICh1c2VyTmFtZS5pc0VtcHR5KCkpCiAgICAgewogICAgICAgICBkLT51c2VyTmFt
ZURpc3BsYXlMYmwtPmNsZWFyKCk7CiAgICAgfQogICAgIGVsc2UKICAgICB7Ci0gICAgICAgIGQt
PnVzZXJOYW1lRGlzcGxheUxibC0+c2V0VGV4dChRU3RyaW5nOjpmcm9tTGF0aW4xKCI8Yj4lMTwv
Yj4iKS5hcmcobmFtZSkpOworICAgICAgICBkLT51c2VyTmFtZURpc3BsYXlMYmwtPnNldFRleHQo
UVN0cmluZzo6ZnJvbUxhdGluMSgiPGI+JTE8L2I+IikuYXJnKHVzZXJOYW1lKSk7CiAgICAgfQog
fQogCkBAIC02NzcsNiArNzE2LDEyIEBAIHZvaWQgV21XaWRnZXQ6OnNsb3RSZXNpemVDaGVja2Vk
KCkKICAgICBkLT5pbWFnZVF1YWxpdHlTcEItPnNldEVuYWJsZWQoZC0+cmVzaXplQ2hCLT5pc0No
ZWNrZWQoKSk7CiB9CiAKK3ZvaWQgV21XaWRnZXQ6OnNsb3RSZW1vdmVNZXRhQ2hlY2tlZCgpCit7
CisgICAgZC0+cmVtb3ZlR2VvQ2hCLT5zZXRFbmFibGVkKCFkLT5yZW1vdmVNZXRhQ2hCLT5pc0No
ZWNrZWQoKSk7CisgICAgZC0+cmVtb3ZlR2VvQ2hCLT5zZXRDaGVja2VkKGQtPnJlbW92ZU1ldGFD
aEItPmlzQ2hlY2tlZCgpKTsKK30KKwogdm9pZCBXbVdpZGdldDo6c2xvdENoYW5nZVVzZXJDbGlj
a2VkKCkKIHsKICAgICBlbWl0IHNpZ25hbENoYW5nZVVzZXJSZXF1ZXN0KCk7CkBAIC02ODQsNyAr
NzI5LDggQEAgdm9pZCBXbVdpZGdldDo6c2xvdENoYW5nZVVzZXJDbGlja2VkKCkKIAogdm9pZCBX
bVdpZGdldDo6c2xvdExvZ2luQ2xpY2tlZCgpCiB7Ci0gICAgIGVtaXQgc2lnbmFsTG9naW5SZXF1
ZXN0KGQtPm5hbWVFZGl0LT50ZXh0KCksIGQtPnBhc3N3ZEVkaXQtPnRleHQoKSwgCisgICAgIGVt
aXQgc2lnbmFsTG9naW5SZXF1ZXN0KGQtPm5hbWVFZGl0LT50ZXh0KCksIGQtPnBhc3N3ZEVkaXQt
PnRleHQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZC0+d2lraVNlbGVjdC0+aXRl
bVRleHQoZC0+d2lraVNlbGVjdC0+Y3VycmVudEluZGV4KCkpLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkLT53aWtpU2VsZWN0LT5pdGVtRGF0YShkLT53aWtpU2VsZWN0LT5jdXJyZW50
SW5kZXgoKSkudG9VcmwoKSk7CiB9CiAKQEAgLTcyOCw2ICs3NzQsOCBAQCB2b2lkIFdtV2lkZ2V0
Ojpsb2FkSW1hZ2VJbmZvRmlyc3RMb2FkKCkKICAgICBRU3RyaW5nIGxhdGl0dWRlOwogICAgIFFT
dHJpbmcgbG9uZ2l0dWRlOwogCisgICAgZC0+aW1hZ2VzRGVzY0luZm8uY2xlYXIoKTsKKwogICAg
IGZvcihpbnQgaiA9IDA7IGogPCB1cmxzLnNpemUoKTsgaisrKQogICAgIHsKICAgICAgICAgS1BJ
bWFnZUluZm8gaW5mbyh1cmxzLmF0KGopLnBhdGgoKSk7CkBAIC03NTIsMTIgKzgwMCwxMiBAQCB2
b2lkIFdtV2lkZ2V0Ojpsb2FkSW1hZ2VJbmZvRmlyc3RMb2FkKCkKIAogICAgICAgICBpZihpbmZv
Lmhhc0xhdGl0dWRlKCkpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGxhdGl0dWRlID0gUVN0cmlu
Zzo6bnVtYmVyKGluZm8ubGF0aXR1ZGUoKSk7CisgICAgICAgICAgICBsYXRpdHVkZSA9IFFTdHJp
bmc6Om51bWJlcihpbmZvLmxhdGl0dWRlKCksICdmJywgOSk7CiAgICAgICAgIH0KIAogICAgICAg
ICBpZihpbmZvLmhhc0xvbmdpdHVkZSgpKQogICAgICAgICB7Ci0gICAgICAgICAgICBsb25naXR1
ZGUgPSBRU3RyaW5nOjpudW1iZXIoaW5mby5sb25naXR1ZGUoKSk7CisgICAgICAgICAgICBsb25n
aXR1ZGUgPSBRU3RyaW5nOjpudW1iZXIoaW5mby5sb25naXR1ZGUoKSwgJ2YnLCA5KTsKICAgICAg
ICAgfQogCiAgICAgICAgIFFNYXA8UVN0cmluZywgUVN0cmluZz4gaW1hZ2VNZXRhRGF0YTsKQEAg
LTk5MywxMSArMTA0MSw2IEBAIHZvaWQgV21XaWRnZXQ6OnNsb3RBcHBseUxvbmdpdHVkZSgpCiAg
ICAgfQogfQogCi12b2lkIFdtV2lkZ2V0OjpjbGVhckltYWdlc0Rlc2MoKQotewotICAgIGQtPmlt
YWdlc0Rlc2NJbmZvLmNsZWFyKCk7Ci19Ci0KIFFNYXAgPFFTdHJpbmcsUU1hcCA8UVN0cmluZyxR
U3RyaW5nPiA+IFdtV2lkZ2V0OjphbGxJbWFnZXNEZXNjKCkKIHsKICAgICBLVXJsOjpMaXN0IHVy
bHMgPSBkLT5pbWdMaXN0LT5pbWFnZVVybHMoZmFsc2UpOwpAQCAtMTA1OCw2ICsxMTAxLDE4IEBA
IGJvb2wgV21XaWRnZXQ6OnJlc2l6ZSgpIGNvbnN0CiAgICAgcmV0dXJuIGQtPnJlc2l6ZUNoQi0+
aXNDaGVja2VkKCk7CiB9CiAKK2Jvb2wgV21XaWRnZXQ6OnJlbW92ZU1ldGEoKSBjb25zdAorewor
ICAgIGtEZWJ1ZygpIDw8ICJXbVdpZGdldDo6cmVtb3ZlTWV0YSgpIjsKKyAgICByZXR1cm4gZC0+
cmVtb3ZlTWV0YUNoQi0+aXNDaGVja2VkKCk7Cit9CisKK2Jvb2wgV21XaWRnZXQ6OnJlbW92ZUdl
bygpIGNvbnN0Cit7CisgICAga0RlYnVnKCkgPDwgIldtV2lkZ2V0OjpyZW1vdmVHZW8oKSI7Cisg
ICAgcmV0dXJuIGQtPnJlbW92ZUdlb0NoQi0+aXNDaGVja2VkKCk7Cit9CisKIFFTdHJpbmcgV21X
aWRnZXQ6OmxpY2Vuc2UoKSBjb25zdAogewogICAgIGtEZWJ1ZygpIDw8ICJXbVdpZGdldDo6bGlj
ZW5zZSgpIjsKZGlmZiAtLWdpdCBhL21lZGlhd2lraS93bXdpZGdldC5oIGIvbWVkaWF3aWtpL3dt
d2lkZ2V0LmgKaW5kZXggNTI5NjFhNy4uMDkyOTQwMyAxMDA2NDQKLS0tIGEvbWVkaWF3aWtpL3dt
d2lkZ2V0LmgKKysrIGIvbWVkaWF3aWtpL3dtd2lkZ2V0LmgKQEAgLTksNiArOSw3IEBACiAgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgICAgICBieSBBbGV4YW5kcmUgTWVuZGVzIDxhbGV4IGRvdCBtZW5k
ZXMxOTg4IGF0IGdtYWlsIGRvdCBjb20+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAxMiBieSBH
aWxsZXMgQ2F1bGllciA8Y2F1bGllciBkb3QgZ2lsbGVzIGF0IGdtYWlsIGRvdCBjb20+CiAgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgICAgICBieSBQYXJ0aGFzYXJhdGh5IEdvcGF2YXJhcHUgPGdwYXJ0
aGFzYXJhdGh5OTMgYXQgZ21haWwgZG90IGNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxMyAgICAg
IGJ5IFBldGVyIFBvdHJvd2wgPHBldGVyIGRvdCBwb3Ryb3dsIGF0IGdtYWlsIGRvdCBjb20+CiAg
KgogICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0CiAgKiBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy
YWwKQEAgLTY0LDE1ICs2NSwxNyBAQCBwdWJsaWM6CiAgICAgV21XaWRnZXQoUVdpZGdldCogY29u
c3QgcGFyZW50KTsKICAgICB+V21XaWRnZXQoKTsKIAotICAgIHZvaWQgdXBkYXRlTGFiZWxzKGNv
bnN0IFFTdHJpbmcmIG5hbWUgPSBRU3RyaW5nKCksIGNvbnN0IFFTdHJpbmcmIHVybCA9IFFTdHJp
bmcoKSk7CisgICAgdm9pZCB1cGRhdGVMYWJlbHMoY29uc3QgUVN0cmluZyYgdXNlck5hbWUgPSBR
U3RyaW5nKCksIGNvbnN0IFFTdHJpbmcmIHdpa2lOYW1lID0gUVN0cmluZygpLCBjb25zdCBRU3Ry
aW5nJiB1cmwgPSBRU3RyaW5nKCkpOwogICAgIHZvaWQgaW52ZXJ0QWNjb3VudExvZ2luQm94KCk7
CiAKICAgICBLUEltYWdlc0xpc3QqICAgICBpbWFnZXNMaXN0KCkgIGNvbnN0OwogICAgIEtQUHJv
Z3Jlc3NXaWRnZXQqIHByb2dyZXNzQmFyKCkgY29uc3Q7CiAKLSAgICBpbnQgIGRpbWVuc2lvbigp
IGNvbnN0OwotICAgIGludCAgcXVhbGl0eSgpICAgY29uc3Q7Ci0gICAgYm9vbCByZXNpemUoKSAg
ICBjb25zdDsKKyAgICBpbnQgIGRpbWVuc2lvbigpICBjb25zdDsKKyAgICBpbnQgIHF1YWxpdHko
KSAgICBjb25zdDsKKyAgICBib29sIHJlc2l6ZSgpICAgICBjb25zdDsKKyAgICBib29sIHJlbW92
ZU1ldGEoKSBjb25zdDsKKyAgICBib29sIHJlbW92ZUdlbygpICBjb25zdDsKIAogICAgIFFTdHJp
bmcgYXV0aG9yKCkgICAgICAgIGNvbnN0OwogICAgIFFTdHJpbmcgc291cmNlKCkgICAgICAgIGNv
bnN0OwpAQCAtOTcsMTEgKzEwMCwxMiBAQCBwdWJsaWM6CiBRX1NJR05BTFM6CiAKICAgICB2b2lk
IHNpZ25hbENoYW5nZVVzZXJSZXF1ZXN0KCk7Ci0gICAgdm9pZCBzaWduYWxMb2dpblJlcXVlc3Qo
Y29uc3QgUVN0cmluZyYgbG9naW4sIGNvbnN0IFFTdHJpbmcmIHBhc3MsIGNvbnN0IFFVcmwmIHdp
a2kpOworICAgIHZvaWQgc2lnbmFsTG9naW5SZXF1ZXN0KGNvbnN0IFFTdHJpbmcmIGxvZ2luLCBj
b25zdCBRU3RyaW5nJiBwYXNzLCBjb25zdCBRU3RyaW5nJiB3aWtpTmFtZSwgY29uc3QgUVVybCYg
d2lraVVybCk7CiAKIHByaXZhdGUgUV9TTE9UUzoKIAogICAgIHZvaWQgc2xvdFJlc2l6ZUNoZWNr
ZWQoKTsKKyAgICB2b2lkIHNsb3RSZW1vdmVNZXRhQ2hlY2tlZCgpOwogICAgIHZvaWQgc2xvdENo
YW5nZVVzZXJDbGlja2VkKCk7CiAgICAgdm9pZCBzbG90TG9naW5DbGlja2VkKCk7CiAgICAgdm9p
ZCBzbG90TmV3V2lraUNsaWNrZWQoKTsKZGlmZiAtLWdpdCBhL21lZGlhd2lraS93bXdpbmRvdy5j
cHAgYi9tZWRpYXdpa2kvd213aW5kb3cuY3BwCmluZGV4IDMzODg0NGYuLmVjZjg2ODYgMTAwNjQ0
Ci0tLSBhL21lZGlhd2lraS93bXdpbmRvdy5jcHAKKysrIGIvbWVkaWF3aWtpL3dtd2luZG93LmNw
cApAQCAtOSw3ICs5LDcgQEAKICAqIENvcHlyaWdodCAoQykgMjAxMSAgICAgIGJ5IEFsZXhhbmRy
ZSBNZW5kZXMgPGFsZXggZG90IG1lbmRlczE5ODggYXQgZ21haWwgZG90IGNvbT4KICAqIENvcHly
aWdodCAoQykgMjAxMS0yMDEyIGJ5IEdpbGxlcyBDYXVsaWVyIDxjYXVsaWVyIGRvdCBnaWxsZXMg
YXQgZ21haWwgZG90IGNvbT4KICAqIENvcHlyaWdodCAoQykgMjAxMiAgICAgIGJ5IFBhcnRoYXNh
cmF0aHkgR29wYXZhcmFwdSA8Z3BhcnRoYXNhcmF0aHk5MyBhdCBnbWFpbCBkb3QgY29tPgotICog
Q29weXJpZ2h0IChDKSAyMDEyICAgICAgYnkgUGV0ZXIgUG90cm93bCA8cGV0ZXIgZG90IHBvdHJv
d2wgYXQgZ21haWwgZG90IGNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDEzIGJ5IFBldGVy
IFBvdHJvd2wgPHBldGVyIGRvdCBwb3Ryb3dsIGF0IGdtYWlsIGRvdCBjb20+CiAgKgogICogVGhp
cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0CiAgKiBh
bmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwKQEAgLTMw
LDYgKzMwLDcgQEAKICNpbmNsdWRlIDxRTGF5b3V0PgogI2luY2x1ZGUgPFFDbG9zZUV2ZW50Pgog
I2luY2x1ZGUgPFFGaWxlSW5mbz4KKyNpbmNsdWRlIDxRRmlsZT4KIAogLy8gS0RFIGluY2x1ZGVz
CiAKQEAgLTg0LDcgKzg1LDggQEAgcHVibGljOgogICAgIFFTdHJpbmcgICAgICAgdG1wUGF0aDsK
ICAgICBRU3RyaW5nICAgICAgIGxvZ2luOwogICAgIFFTdHJpbmcgICAgICAgcGFzczsKLSAgICBR
VXJsICAgICAgICAgIHdpa2k7CisgICAgUVN0cmluZyAgICAgICB3aWtpTmFtZTsKKyAgICBRVXJs
ICAgICAgICAgIHdpa2lVcmw7CiAKICAgICBXbVdpZGdldCogICAgIHdpZGdldDsKICAgICBNZWRp
YVdpa2kqICAgIG1lZGlhd2lraTsKQEAgLTE0NSw4ICsxNDcsOCBAQCBXTVdpbmRvdzo6V01XaW5k
b3coY29uc3QgUVN0cmluZyYgdG1wRm9sZGVyLCBRV2lkZ2V0KiBjb25zdCAvKnBhcmVudCovKQog
ICAgIGNvbm5lY3QoZC0+d2lkZ2V0LCBTSUdOQUwoc2lnbmFsQ2hhbmdlVXNlclJlcXVlc3QoKSks
CiAgICAgICAgICAgICB0aGlzLCBTTE9UKHNsb3RDaGFuZ2VVc2VyQ2xpY2tlZCgpKSk7CiAKLSAg
ICBjb25uZWN0KGQtPndpZGdldCwgU0lHTkFMKHNpZ25hbExvZ2luUmVxdWVzdChRU3RyaW5nLFFT
dHJpbmcsUVVybCkpLAotICAgICAgICAgICAgdGhpcywgU0xPVChzbG90RG9Mb2dpbihRU3RyaW5n
LFFTdHJpbmcsUVVybCkpKTsKKyAgICBjb25uZWN0KGQtPndpZGdldCwgU0lHTkFMKHNpZ25hbExv
Z2luUmVxdWVzdChRU3RyaW5nLCBRU3RyaW5nLCBRU3RyaW5nLCBRVXJsKSksCisgICAgICAgICAg
ICB0aGlzLCBTTE9UKHNsb3REb0xvZ2luKFFTdHJpbmcsIFFTdHJpbmcsIFFTdHJpbmcsIFFVcmwp
KSk7CiAKICAgICBjb25uZWN0KGQtPndpZGdldC0+cHJvZ3Jlc3NCYXIoKSwgU0lHTkFMKHNpZ25h
bFByb2dyZXNzQ2FuY2VsZWQoKSksCiAgICAgICAgICAgICB0aGlzLCBTTE9UKHNsb3RDbG9zZSgp
KSk7CkBAIC0xNzMsNiArMTc1LDkgQEAgdm9pZCBXTVdpbmRvdzo6cmVhY3RpdmF0ZSgpCiAgICAg
ZC0+d2lkZ2V0LT5pbWFnZXNMaXN0KCktPmxvYWRJbWFnZXNGcm9tQ3VycmVudFNlbGVjdGlvbigp
OwogICAgIGQtPndpZGdldC0+bG9hZEltYWdlSW5mb0ZpcnN0TG9hZCgpOwogICAgIGQtPndpZGdl
dC0+Y2xlYXJFZGl0RmllbGRzKCk7CisgICAga0RlYnVnKCkgPDwgImltYWdlc0xpc3QgaXRlbXMg
Y291bnQ6IiA8PCBkLT53aWRnZXQtPmltYWdlc0xpc3QoKS0+bGlzdFZpZXcoKS0+dG9wTGV2ZWxJ
dGVtQ291bnQoKTsKKyAgICBrRGVidWcoKSA8PCAiaW1hZ2VzTGlzdCB1cmwgbGVuZ3RoOiIgPDwg
ZC0+d2lkZ2V0LT5pbWFnZXNMaXN0KCktPmltYWdlVXJscyhmYWxzZSkuc2l6ZSgpOworICAgIGtE
ZWJ1ZygpIDw8ICJhbGxJbWFnZXNEZXNjIGxlbmd0aDoiIDw8IGQtPndpZGdldC0+YWxsSW1hZ2Vz
RGVzYygpLnNpemUoKTsKICAgICBzaG93KCk7CiB9CiAKQEAgLTIwMSw1OCArMjA2LDY4IEBAIHZv
aWQgV01XaW5kb3c6OnNhdmVTZXR0aW5ncygpCiAKIHZvaWQgV01XaW5kb3c6OnNsb3RDbG9zZSgp
CiB7Ci0gICAgZC0+d2lkZ2V0LT5jbGVhckltYWdlc0Rlc2MoKTsKICAgICBkLT53aWRnZXQtPnBy
b2dyZXNzQmFyKCktPnByb2dyZXNzQ29tcGxldGVkKCk7CiAgICAgc2F2ZVNldHRpbmdzKCk7CiAg
ICAgZG9uZShDbG9zZSk7CiB9CiAKLVFTdHJpbmcgV01XaW5kb3c6OmdldEltYWdlQ2FwdGlvbihj
b25zdCBRU3RyaW5nJiBmaWxlTmFtZSkKK2Jvb2wgV01XaW5kb3c6OnByZXBhcmVJbWFnZUZvclVw
bG9hZChjb25zdCBRU3RyaW5nJiBpbWdQYXRoKQogewotICAgIEtQSW1hZ2VJbmZvIGluZm8oZmls
ZU5hbWUpOwotICAgIFFTdHJpbmdMaXN0IGRlc2NyaXB0aW9ucyA9IFFTdHJpbmdMaXN0KCkgPDwg
aW5mby50aXRsZSgpIDw8IGluZm8uZGVzY3JpcHRpb24oKTsKLSAgICBkZXNjcmlwdGlvbnMucmVt
b3ZlQWxsKCIiKTsKLSAgICByZXR1cm4gZGVzY3JpcHRpb25zLmpvaW4oIlxuXG4iKTsKLX0KIAot
Ym9vbCBXTVdpbmRvdzo6cHJlcGFyZUltYWdlRm9yVXBsb2FkKGNvbnN0IFFTdHJpbmcmIGltZ1Bh
dGgsIFFTdHJpbmcmIGNhcHRpb24pCi17Ci0gICAgUUltYWdlIGltYWdlOwotICAgIGltYWdlLmxv
YWQoaW1nUGF0aCk7CisgICAgLy8gZ2V0IHRlbXBvcmFyeSBmaWxlIG5hbWUKKyAgICBkLT50bXBQ
YXRoID0gZC0+dG1wRGlyICsgUUZpbGVJbmZvKGltZ1BhdGgpLmJhc2VOYW1lKCkudHJpbW1lZCgp
ICsgIi5qcGciOwogCi0gICAgaWYgKGltYWdlLmlzTnVsbCgpKQorICAgIFFJbWFnZSBpbWFnZTsK
KyAgICAvLyByZXNjYWxlIGltYWdlIGlmIHJlcXVlc3RlZDogbWV0YWRhdGEgaXMgbG9zdAorICAg
IGlmIChkLT53aWRnZXQtPnJlc2l6ZSgpKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgIH0KKyAgICAgICAgaW1hZ2UubG9hZChpbWdQYXRoKTsKIAotICAgIC8vIGdldCB0ZW1wb3Jh
cnkgZmlsZSBuYW1lCi0gICAgZC0+dG1wUGF0aCA9IGQtPnRtcERpciArIFFGaWxlSW5mbyhpbWdQ
YXRoKS5iYXNlTmFtZSgpLnRyaW1tZWQoKSArICIuanBnIjsKKyAgICAgICAgaWYgKGltYWdlLmlz
TnVsbCgpKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0K
KworICAgICAgICBpbnQgbWF4RGltID0gZC0+d2lkZ2V0LT5kaW1lbnNpb24oKTsKIAotICAgIC8v
IHJlc2NhbGUgaW1hZ2UgaWYgcmVxdWVzdGVkCi0gICAgaW50IG1heERpbSA9IGQtPndpZGdldC0+
ZGltZW5zaW9uKCk7CisgICAgICAgIGlmIChkLT53aWRnZXQtPnJlc2l6ZSgpICYmIChpbWFnZS53
aWR0aCgpID4gbWF4RGltIHx8IGltYWdlLmhlaWdodCgpID4gbWF4RGltKSkKKyAgICAgICAgewor
ICAgICAgICAgICAga0RlYnVnKCkgPDwgIlJlc2l6aW5nIHRvICIgPDwgbWF4RGltOworICAgICAg
ICAgICAgaW1hZ2UgPSBpbWFnZS5zY2FsZWQobWF4RGltLCBtYXhEaW0sIFF0OjpLZWVwQXNwZWN0
UmF0aW8sIFF0OjpTbW9vdGhUcmFuc2Zvcm1hdGlvbik7CisgICAgICAgIH0KIAotICAgIGlmIChp
bWFnZS53aWR0aCgpID4gbWF4RGltIHx8IGltYWdlLmhlaWdodCgpID4gbWF4RGltKQorICAgICAg
ICBrRGVidWcoKSA8PCAiU2F2aW5nIHRvIHRlbXAgZmlsZTogIiA8PCBkLT50bXBQYXRoOworICAg
ICAgICBpbWFnZS5zYXZlKGQtPnRtcFBhdGgsICJKUEVHIiwgZC0+d2lkZ2V0LT5xdWFsaXR5KCkp
OworICAgIH0KKyAgICBlbHNlCiAgICAgewotICAgICAgICBrRGVidWcoKSA8PCAiUmVzaXppbmcg
dG8gIiA8PCBtYXhEaW07Ci0gICAgICAgIGltYWdlID0gaW1hZ2Uuc2NhbGVkKG1heERpbSwgbWF4
RGltLCBRdDo6S2VlcEFzcGVjdFJhdGlvLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBR
dDo6U21vb3RoVHJhbnNmb3JtYXRpb24pOworICAgICAgICAvLyBmaWxlIGlzIGNvcGllZCB3aXRo
IGl0cyBlbWJlZGRlZCBtZXRhZGF0YQorICAgICAgICBRRmlsZTo6Y29weShpbWdQYXRoLCBkLT50
bXBQYXRoKTsKICAgICB9CiAKLSAgICBrRGVidWcoKSA8PCAiU2F2aW5nIHRvIHRlbXAgZmlsZTog
IiA8PCBkLT50bXBQYXRoOwotICAgIGltYWdlLnNhdmUoZC0+dG1wUGF0aCwgIkpQRUciLCBkLT53
aWRnZXQtPnF1YWxpdHkoKSk7Ci0KLSAgICAvLyBjb3B5IG1ldGEgZGF0YSB0byB0ZW1wb3Jhcnkg
aW1hZ2UKICAgICBLUE1ldGFkYXRhIG1ldGE7CiAKLSAgICBpZiAobWV0YS5sb2FkKGltZ1BhdGgp
KQorICAgIGlmIChkLT53aWRnZXQtPnJlbW92ZU1ldGEoKSkKICAgICB7Ci0gICAgICAgIGNhcHRp
b24gPSBnZXRJbWFnZUNhcHRpb24oaW1nUGF0aCk7Ci0gICAgICAgIG1ldGEuc2V0SW1hZ2VEaW1l
bnNpb25zKGltYWdlLnNpemUoKSk7CisgICAgICAgIC8vIHNhdmUgZW1wdHkgbWV0YWRhdGEgdG8g
ZXJhc2UgdGhlbQogICAgICAgICBtZXRhLnNhdmUoZC0+dG1wUGF0aCk7CiAgICAgfQogICAgIGVs
c2UKICAgICB7Ci0gICAgICAgIGNhcHRpb24uY2xlYXIoKTsKKyAgICAgICAgLy8gY29weSBtZXRh
IGRhdGEgZnJvbSBpbml0aWFsIHRvIHRlbXBvcmFyeSBpbWFnZQorICAgICAgICBtZXRhLmxvYWQo
aW1nUGF0aCk7CisKKyAgICAgICAgaWYgKGQtPndpZGdldC0+cmVzaXplKCkpCisgICAgICAgIHsK
KyAgICAgICAgICAgIG1ldGEuc2V0SW1hZ2VEaW1lbnNpb25zKGltYWdlLnNpemUoKSk7CisgICAg
ICAgIH0KKworICAgICAgICBpZiAoZC0+d2lkZ2V0LT5yZW1vdmVHZW8oKSkKKyAgICAgICAgewor
ICAgICAgICAgICAgbWV0YS5yZW1vdmVHUFNJbmZvKCk7CisgICAgICAgIH0KKworICAgICAgICBt
ZXRhLnNhdmUoZC0+dG1wUGF0aCk7CiAgICAgfQogCiAgICAgcmV0dXJuIHRydWU7CkBAIC0yNjYs
MTEgKzI4MSwxMCBAQCB2b2lkIFdNV2luZG93OjpzbG90U3RhcnRUcmFuc2ZlcigpCiAKICAgICBm
b3IgKGludCBpID0gMDsgaSA8IHVybHMuc2l6ZSgpOyArK2kpCiAgICAgewotICAgICAgICBRU3Ry
aW5nIGNhcHRpb247CiAgICAgICAgIFFTdHJpbmcgdXJsOwotICAgICAgICBpZihkLT53aWRnZXQt
PnJlc2l6ZSgpKQorICAgICAgICBpZihkLT53aWRnZXQtPnJlc2l6ZSgpIHx8IGQtPndpZGdldC0+
cmVtb3ZlTWV0YSgpIHx8IGQtPndpZGdldC0+cmVtb3ZlR2VvKCkpCiAgICAgICAgIHsKLSAgICAg
ICAgICAgIHByZXBhcmVJbWFnZUZvclVwbG9hZCh1cmxzLmF0KGkpLnBhdGgoKSwgY2FwdGlvbik7
CisgICAgICAgICAgICBwcmVwYXJlSW1hZ2VGb3JVcGxvYWQodXJscy5hdChpKS5wYXRoKCkpOwog
ICAgICAgICAgICAgaW1hZ2VzRGVzYy5pbnNlcnQoZC0+dG1wUGF0aCwgaW1hZ2VzRGVzYy50YWtl
KHVybHMuYXQoaSkucGF0aCgpKSk7CiAgICAgICAgIH0KICAgICB9CkBAIC0yOTgsMTIgKzMxMiwx
MyBAQCB2b2lkIFdNV2luZG93OjpzbG90Q2hhbmdlVXNlckNsaWNrZWQoKQogICAgIGQtPndpZGdl
dC0+aW52ZXJ0QWNjb3VudExvZ2luQm94KCk7CiB9CiAKLXZvaWQgV01XaW5kb3c6OnNsb3REb0xv
Z2luKGNvbnN0IFFTdHJpbmcmIGxvZ2luLCBjb25zdCBRU3RyaW5nJiBwYXNzLCBjb25zdCBRVXJs
JiB3aWtpKQordm9pZCBXTVdpbmRvdzo6c2xvdERvTG9naW4oY29uc3QgUVN0cmluZyYgbG9naW4s
IGNvbnN0IFFTdHJpbmcmIHBhc3MsIGNvbnN0IFFTdHJpbmcmIHdpa2lOYW1lLCBjb25zdCBRVXJs
JiB3aWtpVXJsKQogewogICAgIGQtPmxvZ2luICAgICAgICA9IGxvZ2luOwogICAgIGQtPnBhc3Mg
ICAgICAgICA9IHBhc3M7Ci0gICAgZC0+d2lraSAgICAgICAgID0gd2lraTsKLSAgICBkLT5tZWRp
YXdpa2kgICAgPSBuZXcgTWVkaWFXaWtpKHdpa2kpOworICAgIGQtPndpa2lOYW1lICAgICA9IHdp
a2lOYW1lOworICAgIGQtPndpa2lVcmwgICAgICA9IHdpa2lVcmw7CisgICAgZC0+bWVkaWF3aWtp
ICAgID0gbmV3IE1lZGlhV2lraSh3aWtpVXJsKTsKICAgICBMb2dpbiogbG9naW5Kb2IgPSBuZXcg
TG9naW4oKmQtPm1lZGlhd2lraSwgbG9naW4sIHBhc3MpOwogCiAgICAgY29ubmVjdChsb2dpbkpv
YiwgU0lHTkFMKHJlc3VsdChLSm9iKikpLCAKQEAgLTMyOSw3ICszNDQsNyBAQCBpbnQgV01XaW5k
b3c6OnNsb3RMb2dpbkhhbmRsZShLSm9iKiBsb2dpbkpvYikKICAgICAgICAgZC0+dXBsb2FkSm9i
ID0gbmV3IFdpa2lNZWRpYUpvYihpZmFjZSgpLCBkLT5tZWRpYXdpa2ksIHRoaXMpOwogICAgICAg
ICBlbmFibGVCdXR0b24oVXNlcjEsIHRydWUpOwogICAgICAgICBkLT53aWRnZXQtPmludmVydEFj
Y291bnRMb2dpbkJveCgpOwotICAgICAgICBkLT53aWRnZXQtPnVwZGF0ZUxhYmVscyhkLT5sb2dp
biwgZC0+d2lraS50b1N0cmluZygpKTsKKyAgICAgICAgZC0+d2lkZ2V0LT51cGRhdGVMYWJlbHMo
ZC0+bG9naW4sIGQtPndpa2lOYW1lLCBkLT53aWtpVXJsLnRvU3RyaW5nKCkpOwogICAgIH0KIAog
ICAgIHJldHVybiBsb2dpbkpvYi0+ZXJyb3IoKTsKZGlmZiAtLWdpdCBhL21lZGlhd2lraS93bXdp
bmRvdy5oIGIvbWVkaWF3aWtpL3dtd2luZG93LmgKaW5kZXggNWFjYmJkYi4uZDBmYzE4YSAxMDA2
NDQKLS0tIGEvbWVkaWF3aWtpL3dtd2luZG93LmgKKysrIGIvbWVkaWF3aWtpL3dtd2luZG93LmgK
QEAgLTksNiArOSw3IEBACiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgICAgICBieSBBbGV4YW5kcmUg
TWVuZGVzIDxhbGV4IGRvdCBtZW5kZXMxOTg4IGF0IGdtYWlsIGRvdCBjb20+CiAgKiBDb3B5cmln
aHQgKEMpIDIwMTEtMjAxMiBieSBHaWxsZXMgQ2F1bGllciA8Y2F1bGllciBkb3QgZ2lsbGVzIGF0
IGdtYWlsIGRvdCBjb20+CiAgKiBDb3B5cmlnaHQgKEMpIDIwMTIgICAgICBieSBQYXJ0aGFzYXJh
dGh5IEdvcGF2YXJhcHUgPGdwYXJ0aGFzYXJhdGh5OTMgYXQgZ21haWwgZG90IGNvbT4KKyAqIENv
cHlyaWdodCAoQykgMjAxMyAgICAgIGJ5IFBldGVyIFBvdHJvd2wgPHBldGVyIGRvdCBwb3Ryb3ds
IGF0IGdtYWlsIGRvdCBjb20+CiAgKgogICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0CiAgKiBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwKQEAgLTQ4LDE1ICs0OSwxNCBAQCBwdWJsaWM6CiAgICAg
fldNV2luZG93KCk7CiAKICAgICB2b2lkIHJlYWN0aXZhdGUoKTsKLSAgICBRU3RyaW5nIGdldElt
YWdlQ2FwdGlvbihjb25zdCBRU3RyaW5nJiBmaWxlTmFtZSk7Ci0gICAgYm9vbCBwcmVwYXJlSW1h
Z2VGb3JVcGxvYWQoY29uc3QgUVN0cmluZyYgaW1nUGF0aCwgUVN0cmluZyYgY2FwdGlvbik7Cisg
ICAgYm9vbCBwcmVwYXJlSW1hZ2VGb3JVcGxvYWQoY29uc3QgUVN0cmluZyYgaW1nUGF0aCk7CiAK
IHByaXZhdGUgUV9TTE9UUzoKIAogICAgIHZvaWQgc2xvdENsb3NlKCk7CiAgICAgdm9pZCBzbG90
U3RhcnRUcmFuc2ZlcigpOwogICAgIHZvaWQgc2xvdENoYW5nZVVzZXJDbGlja2VkKCk7Ci0gICAg
dm9pZCBzbG90RG9Mb2dpbihjb25zdCBRU3RyaW5nJiBsb2dpbiwgY29uc3QgUVN0cmluZyYgcGFz
cywgY29uc3QgUVVybCYgd2lraSk7CisgICAgdm9pZCBzbG90RG9Mb2dpbihjb25zdCBRU3RyaW5n
JiBsb2dpbiwgY29uc3QgUVN0cmluZyYgcGFzcywgY29uc3QgUVN0cmluZyYgd2lraU5hbWUsIGNv
bnN0IFFVcmwmIHdpa2lVcmwpOwogICAgIHZvaWQgc2xvdEVuZFVwbG9hZCgpOwogICAgIGludCAg
c2xvdExvZ2luSGFuZGxlKEtKb2IqIGxvZ2luSm9iKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>