<?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>91470</bug_id>
          
          <creation_ts>2012-07-16 22:40:06 -0700</creation_ts>
          <short_desc>[EFL] Replace 0 by NULL in public headers documentation</short_desc>
          <delta_ts>2012-07-17 16:13:02 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>levin</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>ojan</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>sw0524.lee</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>670992</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-07-16 22:40:06 -0700</bug_when>
    <thetext>It was discussed on the mailing list that NULL was more appropriate than 0 in public WebKit-EFL and WebKit2-EFL headers, since those are C headers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671056</commentid>
    <comment_count>1</comment_count>
      <attachid>152708</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-07-17 00:39:41 -0700</bug_when>
    <thetext>Created attachment 152708
Patch

I had to patch the style checking script as well because it would not recognize our header files as being C files and it would complain if we use NULL in them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671163</commentid>
    <comment_count>2</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-17 04:20:49 -0700</bug_when>
    <thetext>Though we decide to stop to land big coding style change with kubo anymore, EFL folks decides to change one more thing as below,

http://lists.webkit.org/pipermail/webkit-efl/2012-July/000236.html

If possible, I still think we should not change big coding style change anymore. But, this patch needs to be landed.

So, informal rs+ on my side.

Christophe, if this patch is landed, please update this new coding style to WebKit EFL coding style wiki page as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671502</commentid>
    <comment_count>3</comment_count>
      <attachid>152708</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-17 12:40:45 -0700</bug_when>
    <thetext>Comment on attachment 152708
Patch

Clearing flags on attachment: 152708

Committed r122868: &lt;http://trac.webkit.org/changeset/122868&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671503</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-17 12:40:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671642</commentid>
    <comment_count>5</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-07-17 15:17:06 -0700</bug_when>
    <thetext>This is causing 3 webkitpy unit tests to fail:

[1030/1444] webkitpy.style.checkers.cpp_unittest.CppStyleTest.test_pointer_reference_marker_location erred:
  Traceback (most recent call last):
    File &quot;/mnt/data/b/WebKit-BuildSlave/chromium-linux-release-tests/build/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py&quot;, line 2012, in test_pointer_reference_marker_location
      &apos;foo.c&apos;)
    File &quot;/mnt/data/b/WebKit-BuildSlave/chromium-linux-release-tests/build/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py&quot;, line 316, in assert_lint
      self.assertEquals(expected_message, self.perform_single_line_lint(code, file_name))
    File &quot;/mnt/data/b/WebKit-BuildSlave/chromium-linux-release-tests/build/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py&quot;, line 270, in perform_single_line_lint
      return self.perform_lint(code, filename, basic_error_rules)
    File &quot;/mnt/data/b/WebKit-BuildSlave/chromium-linux-release-tests/build/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py&quot;, line 259, in perform_lint
      self.process_file_data(filename, extension, lines, error_collector, unit_test_config)
    File &quot;/mnt/data/b/WebKit-BuildSlave/chromium-linux-release-tests/build/Tools/Scripts/webkitpy/style/checkers/cpp_unittest.py&quot;, line 253, in process_file_data
      error, self.min_confidence, unit_test_config)
    File &quot;/mnt/data/b/WebKit-BuildSlave/chromium-linux-release-tests/build/Tools/Scripts/webkitpy/style/checkers/cpp.py&quot;, line 3652, in process_file_data
      checker.check(lines)
    File &quot;/mnt/data/b/WebKit-BuildSlave/chromium-linux-release-tests/build/Tools/Scripts/webkitpy/style/checkers/cpp.py&quot;, line 3644, in check
      self.handle_style_error, self.min_confidence)
    File &quot;/mnt/data/b/WebKit-BuildSlave/chromium-linux-release-tests/build/Tools/Scripts/webkitpy/style/checkers/cpp.py&quot;, line 3518, in _process_lines
      include_state, function_state, class_state, file_state, error)
    File &quot;/mnt/data/b/WebKit-BuildSlave/chromium-linux-release-tests/build/Tools/Scripts/webkitpy/style/checkers/cpp.py&quot;, line 3485, in process_line
      file_state, error)
    File &quot;/mnt/data/b/WebKit-BuildSlave/chromium-linux-release-tests/build/Tools/Scripts/webkitpy/style/checkers/cpp.py&quot;, line 3024, in check_language
      check_identifier_name_in_declaration(filename, line_number, line, file_state, error)
    File &quot;/mnt/data/b/WebKit-BuildSlave/chromium-linux-release-tests/build/Tools/Scripts/webkitpy/style/checkers/cpp.py&quot;, line 3122, in check_identifier_name_in_declaration
      if not file_state.is_objective_c() and modified_identifier.find(&apos;_&apos;) &gt;= 0:
    File &quot;/mnt/data/b/WebKit-BuildSlave/chromium-linux-release-tests/build/Tools/Scripts/webkitpy/style/checkers/cpp.py&quot;, line 1184, in is_objective_c
      if self._is_objective_c is None:
  AttributeError: &apos;_FileState&apos; object has no attribute &apos;_is_objective_c&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671707</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-07-17 16:13:02 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; This is causing 3 webkitpy unit tests to fail:
&gt; 

Fixed in http://trac.webkit.org/changeset/122889</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152708</attachid>
            <date>2012-07-17 00:39:41 -0700</date>
            <delta_ts>2012-07-17 12:40:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>91470_efl_use_NULL.patch</filename>
            <type>text/plain</type>
            <size>43076</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCAyMGMzMGE0Li4zZGUxOTg3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMTItMDctMTcgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhl
LmR1bWV6QGludGVsLmNvbT4KKworICAgICAgICBbRUZMXSBSZXBsYWNlIDAgYnkgTlVMTCBpbiBw
dWJsaWMgaGVhZGVycyBkb2N1bWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05MTQ3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVzZSBOVUxMIGluc3RlYWQgb2YgMCBmb3IgcG9pbnRlciB0eXBl
cyBpbiBwdWJsaWMKKyAgICAgICAgQyBoZWFkZXJzLgorCisgICAgICAgICogZXdrL2V3a19jb250
ZXh0bWVudS5oOgorICAgICAgICAqIGV3ay9ld2tfY29va2llcy5oOgorICAgICAgICAqIGV3ay9l
d2tfZnJhbWUuaDoKKyAgICAgICAgKiBld2svZXdrX2ludGVudC5oOgorICAgICAgICAqIGV3ay9l
d2tfaW50ZW50X3JlcXVlc3QuaDoKKyAgICAgICAgKiBld2svZXdrX25ldHdvcmsuaDoKKyAgICAg
ICAgKiBld2svZXdrX3NlY3VyaXR5X29yaWdpbi5oOgorICAgICAgICAqIGV3ay9ld2tfc2V0dGlu
Z3MuaDoKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuaDoKKyAgICAgICAgKiBld2svZXdrX3dpbmRv
d19mZWF0dXJlcy5oOgorCiAyMDEyLTA3LTE2ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1A
c2Ftc3VuZy5jb20+CiAKICAgICAgICAgQWRkIFJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyQ2xpZW50
IHRvIHRoZSBNb2R1bGVzL3Byb3RvY29saGFuZGxlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19jb250ZXh0bWVudS5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19j
b250ZXh0bWVudS5oCmluZGV4IDJlZDQ3MzguLmFmNmQ0YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfY29udGV4dG1lbnUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX2NvbnRleHRtZW51LmgKQEAgLTE2Myw3ICsxNjMsNyBAQCBFQVBJIHZvaWQgICAgICAg
ICAgICAgICAgICAgICAgICBld2tfY29udGV4dF9tZW51X3JlZihFd2tfQ29udGV4dF9NZW51ICpt
ZW51KTsKIC8qKgogICogRGVjcmVhc2VzIHRoZSByZWZlcmVuY2UgY291bnQgb2YgdGhlIGdpdmVu
IG9iamVjdCwgcG9zc2libHkgZnJlZWluZyBpdC4KICAqCi0gKiBXaGVuIHRoZSByZWZlcmVuY2Ug
Y291bnQgaXQncyByZWFjaGVkIDAsIHRoZSBtZW51IHdpdGggYWxsIGl0ZW1zIGFyZSBmcmVlZC4K
KyAqIFdoZW4gdGhlIHJlZmVyZW5jZSBjb3VudCByZWFjaGVzIDAsIHRoZSBtZW51IHdpdGggYWxs
IGl0cyBpdGVtcyBhcmUgZnJlZWQuCiAgKgogICogQHBhcmFtIG1lbnUgdGhlIGNvbnRleHQgbWVu
dSBvYmplY3QgdG8gZGVjcmVhc2UgdGhlIHJlZmVyZW5jZSBjb3VudAogICovCkBAIC0xODMsNyAr
MTgzLDcgQEAgRUFQSSBFaW5hX0Jvb2wgICAgICAgICAgICAgICAgICAgZXdrX2NvbnRleHRfbWVu
dV9kZXN0cm95KEV3a19Db250ZXh0X01lbnUgKm1lbnUKICAqIEdldHMgdGhlIGxpc3Qgb2YgaXRl
bXMuCiAgKgogICogQHBhcmFtIG8gdGhlIGNvbnRleHQgbWVudSBvYmplY3QgdG8gZ2V0IGxpc3Qg
b2YgdGhlIGl0ZW1zCi0gKiBAcmV0dXJuIHRoZSBsaXN0IG9mIHRoZSBpdGVtcyBvbiBzdWNjZXNz
IG9yIEBjIDAgb24gZmFpbHVyZQorICogQHJldHVybiB0aGUgbGlzdCBvZiB0aGUgaXRlbXMgb24g
c3VjY2VzcyBvciBAYyBOVUxMIG9uIGZhaWx1cmUKICAqLwogRUFQSSBjb25zdCBFaW5hX0xpc3Qg
ICAgICAgICAgICAqZXdrX2NvbnRleHRfbWVudV9pdGVtX2xpc3RfZ2V0KGNvbnN0IEV3a19Db250
ZXh0X01lbnUgKm8pOwogCkBAIC0xOTYsNyArMTk2LDcgQEAgRUFQSSBjb25zdCBFaW5hX0xpc3Qg
ICAgICAgICAgICAqZXdrX2NvbnRleHRfbWVudV9pdGVtX2xpc3RfZ2V0KGNvbnN0IEV3a19Db250
ZXgKICAqIEBwYXJhbSB0aXRsZSBzcGVjaWZpZXMgYSB0aXRsZSBvZiB0aGUgaXRlbQogICogQHBh
cmFtIGNoZWNrZWQgQGMgRUlOQV9UUlVFIGlmIHRoZSBpdGVtIHNob3VsZCBiZSB0b2dnbGVkIG9y
IEBjIEVJTkFfRkFMU0UgaWYgbm90CiAgKiBAcGFyYW0gZW5hYmxlZCBAYyBFSU5BX1RSVUUgdG8g
ZW5hYmxlIHRoZSBpdGVtIG9yIEBjIEVJTkFfRkFMU0UgdG8gZGlzYWJsZQotICogQHJldHVybiB0
aGUgcG9pbnRlciB0byB0aGUgbmV3IGl0ZW0gb24gc3VjY2VzcyBvciBAYyAwIG9uIGZhaWx1cmUK
KyAqIEByZXR1cm4gdGhlIHBvaW50ZXIgdG8gdGhlIG5ldyBpdGVtIG9uIHN1Y2Nlc3Mgb3IgQGMg
TlVMTCBvbiBmYWlsdXJlCiAgKgogICogQG5vdGUgVGhlIHJldHVybiB2YWx1ZSBAYiBzaG91bGQg
QGIgYmUgZnJlZWQgYWZ0ZXIgdXNlLgogICovCkBAIC0yNjcsNyArMjY3LDcgQEAgRUFQSSBFaW5h
X0Jvb2wgICAgICAgICAgICAgICAgICAgZXdrX2NvbnRleHRfbWVudV9pdGVtX2FjdGlvbl9zZXQo
RXdrX0NvbnRleHRfTWUKICAqIEdldHMgYSB0aXRsZSBvZiB0aGUgaXRlbS4KICAqCiAgKiBAcGFy
YW0gbyB0aGUgaXRlbSB0byBnZXQgdGhlIHRpdGxlCi0gKiBAcmV0dXJuIGEgdGl0bGUgb2YgdGhl
IGl0ZW0gb24gc3VjY2Vzcywgb3IgQGMgMCBvbiBmYWlsdXJlCisgKiBAcmV0dXJuIGEgdGl0bGUg
b2YgdGhlIGl0ZW0gb24gc3VjY2Vzcywgb3IgQGMgTlVMTCBvbiBmYWlsdXJlCiAgKgogICogQHNl
ZSBld2tfY29udGV4dF9tZW51X2l0ZW1fdGl0bGVfc2V0CiAgKi8KQEAgLTI3OCw3ICsyNzgsNyBA
QCBFQVBJIGNvbnN0IGNoYXIgICAgICAgICAgICAgICAgICpld2tfY29udGV4dF9tZW51X2l0ZW1f
dGl0bGVfZ2V0KGNvbnN0IEV3a19Db250ZQogICoKICAqIEBwYXJhbSBvIHRoZSBpdGVtIHRvIHNl
dCB0aGUgdGl0bGUKICAqIEBwYXJhbSB0aXRsZSBhIG5ldyB0aXRsZSBmb3IgdGhlIGl0ZW0gb2Jq
ZWN0Ci0gKiBAcmV0dXJuIGEgbmV3IHRpdGxlIG9mIHRoZSBpdGVtIG9uIHN1Y2Nlc3Mgb3IgQGMg
MCBvbiBmYWlsdXJlCisgKiBAcmV0dXJuIGEgbmV3IHRpdGxlIG9mIHRoZSBpdGVtIG9uIHN1Y2Nl
c3Mgb3IgQGMgTlVMTCBvbiBmYWlsdXJlCiAgKgogICogQHNlZSBld2tfY29udGV4dF9tZW51X2l0
ZW1fdGl0bGVfZ2V0CiAgKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
Y29va2llcy5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jb29raWVzLmgKaW5kZXggMmFm
NTdhMC4uOTM5ZWQzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jb29r
aWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jb29raWVzLmgKQEAgLTUwLDcg
KzUwLDcgQEAgc3RydWN0IF9Fd2tfQ29va2llIHsKICAgICBjaGFyICp2YWx1ZTsKICAgICAvLy8g
dGhlICJkb21haW4iIGF0dHJpYnV0ZSwgb3IgZWxzZSB0aGUgaG9zdG5hbWUgdGhhdCB0aGUgY29v
a2llIGNhbWUgZnJvbQogICAgIGNoYXIgKmRvbWFpbjsKLSAgICAvLy8gdGhlICJwYXRoIiBhdHRy
aWJ1dGUsIG9yIEBjIDAKKyAgICAvLy8gdGhlICJwYXRoIiBhdHRyaWJ1dGUsIG9yIEBjIE5VTEwK
ICAgICBjaGFyICpwYXRoOwogICAgIC8vLyB0aGUgY29va2llIGV4cGlyYXRpb24gdGltZSwgb3Ig
QGMgMCBmb3IgYSBzZXNzaW9uIGNvb2tpZQogICAgIHRpbWVfdCBleHBpcmVzOwpAQCAtODMsNyAr
ODMsNyBAQCB0eXBlZGVmIGVudW0gX0V3a19Db29raWVfUG9saWN5IEV3a19Db29raWVfUG9saWN5
OwogLyoqCiAgKiBTZXRzIHRoZSBwYXRoIHdoZXJlIHRoZSBjb29raWVzIGFyZSBnb2luZyB0byBi
ZSBzdG9yZWQuIAogICoKLSAqIEBwYXJhbSBmaWxlbmFtZSBwYXRoIHRvIHRoZSBjb29raWVzLnR4
dCBmaWxlLCB1c2UgQGMgMCBmb3Iga2VlcAorICogQHBhcmFtIGZpbGVuYW1lIHBhdGggdG8gdGhl
IGNvb2tpZXMudHh0IGZpbGUsIHVzZSBAYyBOVUxMIGZvciBrZWVwCiAgKiAgICAgICAgY29va2ll
cyBqdXN0IGluIG1lbW9yeS4KICAqCiAgKiBAcmV0dXJuIEBjIEVJTkFfRkFMU0UgaWYgaXQgd2Fz
bid0IHBvc3NpYmxlIHRvIGNyZWF0ZSB0aGUgY29va2llIGphciwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
ZnJhbWUuaAppbmRleCA5ODdhNGIwLi40NDk4YTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX2ZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFt
ZS5oCkBAIC0yOTMsNyArMjkzLDcgQEAgdHlwZWRlZiBlbnVtIHsKICAqCiAgKiBAcGFyYW0gbyBm
cmFtZSBvYmplY3QgdG8gZ2V0IHZpZXcgb2JqZWN0CiAgKgotICogQHJldHVybiB2aWV3IG9iamVj
dCBvciBAYyAwIG9uIGZhaWx1cmUKKyAqIEByZXR1cm4gdmlldyBvYmplY3Qgb3IgQGMgTlVMTCBv
biBmYWlsdXJlCiAgKi8KIEVBUEkgRXZhc19PYmplY3QgKmV3a19mcmFtZV92aWV3X2dldChjb25z
dCBFdmFzX09iamVjdCAqbyk7CiAKQEAgLTMyMSw3ICszMjEsNyBAQCBFQVBJIEV3a19TZWN1cml0
eV9PcmlnaW4gKmV3a19mcmFtZV9zZWN1cml0eV9vcmlnaW5fZ2V0KGNvbnN0IEV2YXNfT2JqZWN0
ICpvKTsKICAqCiAgKiBAcGFyYW0gbyBmcmFtZSBvYmplY3QgdG8gY3JlYXRlIHRoZSBpdGVyYXRv
cgogICoKLSAqIEByZXR1cm4gYSBuZXdseSBhbGxvY2F0ZWQgaXRlcmF0b3Igb24gc3VjZXNzLCBv
ciBAYyAwIGlmIG5vdCBwb3NzaWJsZSB0bworICogQHJldHVybiBhIG5ld2x5IGFsbG9jYXRlZCBp
dGVyYXRvciBvbiBzdWNlc3MsIG9yIEBjIE5VTEwgaWYgbm90IHBvc3NpYmxlIHRvCiAgKiAgICAg
IGNyZWF0ZSB0aGUgaXRlcmF0b3IKICAqLwogRUFQSSBFaW5hX0l0ZXJhdG9yICpld2tfZnJhbWVf
Y2hpbGRyZW5faXRlcmF0b3JfbmV3KEV2YXNfT2JqZWN0ICpvKTsKQEAgLTM0Myw3ICszNDMsNyBA
QCBFQVBJIEVpbmFfSXRlcmF0b3IgKmV3a19mcmFtZV9jaGlsZHJlbl9pdGVyYXRvcl9uZXcoRXZh
c19PYmplY3QgKm8pOwogICogQHBhcmFtIG8gZnJhbWUgb2JqZWN0IHRvIGZpbmQgYSBjaGlsZCBm
cmFtZQogICogQHBhcmFtIG5hbWUgY2hpbGQgZnJhbWUgbmFtZQogICoKLSAqIEByZXR1cm4gY2hp
bGQgZnJhbWUgb2YgdGhlIGdpdmVuIGZyYW1lLCBvciBAYyAwIGlmIHRoZSB0aGUgY2hpbGQgd2Fz
bid0IGZvdW5kCisgKiBAcmV0dXJuIGNoaWxkIGZyYW1lIG9mIHRoZSBnaXZlbiBmcmFtZSwgb3Ig
QGMgTlVMTCBpZiB0aGUgdGhlIGNoaWxkIHdhc24ndCBmb3VuZAogICovCiBFQVBJIEV2YXNfT2Jq
ZWN0ICAgKmV3a19mcmFtZV9jaGlsZF9maW5kKEV2YXNfT2JqZWN0ICpvLCBjb25zdCBjaGFyICpu
YW1lKTsKIApAQCAtMzY1LDcgKzM2NSw3IEBAIEVBUEkgRWluYV9Cb29sICAgIGV3a19mcmFtZV91
cmlfc2V0KEV2YXNfT2JqZWN0ICpvLCBjb25zdCBjaGFyICp1cmkpOwogICoKICAqIEBwYXJhbSBv
IGZyYW1lIG9iamVjdCB0byBnZXQgdXJpCiAgKgotICogQHJldHVybiBmcmFtZSB1cmkgb24gc3Vj
Y2VzcyBvciBAYyAwIG9uIGZhaWx1cmUKKyAqIEByZXR1cm4gZnJhbWUgdXJpIG9uIHN1Y2Nlc3Mg
b3IgQGMgTlVMTCBvbiBmYWlsdXJlCiAgKi8KIEVBUEkgY29uc3QgY2hhciAgKmV3a19mcmFtZV91
cmlfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKIApAQCAtMzc3LDcgKzM3Nyw3IEBAIEVBUEkg
Y29uc3QgY2hhciAgKmV3a19mcmFtZV91cmlfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKICAq
CiAgKiBAcGFyYW0gbyBmcmFtZSBvYmplY3QgdG8gZ2V0IHRpdGxlCiAgKgotICogQHJldHVybiBm
cmFtZSB0aXRsZSBvbiBzdWNjZXNzIG9yIEBjIDAgb24gZmFpbHVyZQorICogQHJldHVybiBmcmFt
ZSB0aXRsZSBvbiBzdWNjZXNzIG9yIEBjIE5VTEwgb24gZmFpbHVyZQogICovCiBFQVBJIGNvbnN0
IEV3a19UZXh0X1dpdGhfRGlyZWN0aW9uICAqZXdrX2ZyYW1lX3RpdGxlX2dldChjb25zdCBFdmFz
X09iamVjdCAqbyk7CiAKQEAgLTM4OSw3ICszODksNyBAQCBFQVBJIGNvbnN0IEV3a19UZXh0X1dp
dGhfRGlyZWN0aW9uICAqZXdrX2ZyYW1lX3RpdGxlX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7
CiAgKgogICogQHBhcmFtIG8gZnJhbWUgb2JqZWN0IHRvIGdldCBuYW1lCiAgKgotICogQHJldHVy
biBmcmFtZSBuYW1lIG9uIHN1Y2Nlc3Mgb3IgQGMgMCBvbiBmYWlsdXJlCisgKiBAcmV0dXJuIGZy
YW1lIG5hbWUgb24gc3VjY2VzcyBvciBAYyBOVUxMIG9uIGZhaWx1cmUKICAqLwogRUFQSSBjb25z
dCBjaGFyICAqZXdrX2ZyYW1lX25hbWVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKIApAQCAt
Mzk3LDggKzM5Nyw4IEBAIEVBUEkgY29uc3QgY2hhciAgKmV3a19mcmFtZV9uYW1lX2dldChjb25z
dCBFdmFzX09iamVjdCAqbyk7CiAgKiBHZXRzIGxhc3Qga25vd24gY29udGVudHMgc2l6ZS4KICAq
CiAgKiBAcGFyYW0gbyBmcmFtZSBvYmplY3QgdG8gZ2V0IGNvbnRlbnRzIHNpemUKLSAqIEBwYXJh
bSB3IHBvaW50ZXIgdG8gc3RvcmUgY29udGVudHMgc2l6ZSB3aWR0aCwgbWF5IGJlIEBjIDAKLSAq
IEBwYXJhbSBoIHBvaW50ZXIgdG8gc3RvcmUgY29udGVudHMgc2l6ZSBoZWlnaHQsIG1heSBiZSBA
YyAwCisgKiBAcGFyYW0gdyBwb2ludGVyIHRvIHN0b3JlIGNvbnRlbnRzIHNpemUgd2lkdGgsIG1h
eSBiZSBAYyBOVUxMCisgKiBAcGFyYW0gaCBwb2ludGVyIHRvIHN0b3JlIGNvbnRlbnRzIHNpemUg
aGVpZ2h0LCBtYXkgYmUgQGMgTlVMTAogICoKICAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIG9uIHN1
Y2Nlc3Mgb3IgQGMgRUlOQV9GQUxTRSBvbiBmYWlsdXJlIGFuZAogICogICAgICAgICBAYSB3IGFu
ZCBAYSBoIHdpbGwgYmUgemVyb2VkCkBAIC00MTIsOSArNDEyLDkgQEAgRUFQSSBFaW5hX0Jvb2wg
ICAgZXdrX2ZyYW1lX2NvbnRlbnRzX3NpemVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvLCBFdmFz
X0Nvb3JkICoKICAqIEBwYXJhbSBjb250ZW50cyB3aGF0IHRvIGxvYWQgaW50byBmcmFtZQogICog
QHBhcmFtIGNvbnRlbnRzX3NpemUgc2l6ZSBvZiBAYSBjb250ZW50cyAoaW4gYnl0ZXMpLAogICog
ICAgICAgIGlmIEBjIDAgaXMgZ2l2ZW4sIGxlbmd0aCBvZiBAYSBjb250ZW50cyBpcyB1c2VkCi0g
KiBAcGFyYW0gbWltZV90eXBlIHR5cGUgb2YgQGEgY29udGVudHMgZGF0YSwgaWYgQGMgMCBpcyBn
aXZlbiAidGV4dC9odG1sIiBpcyBhc3N1bWVkCi0gKiBAcGFyYW0gZW5jb2RpbmcgZW5jb2Rpbmcg
Zm9yIEBhIGNvbnRlbnRzIGRhdGEsIGlmIEBjIDAgaXMgZ2l2ZW4gIlVURi04IiBpcyBhc3N1bWVk
Ci0gKiBAcGFyYW0gYmFzZV91cmkgYmFzZSB1cmkgdG8gdXNlIGZvciByZWxhdGl2ZSByZXNvdXJj
ZXMsIG1heSBiZSBAYyAwLAorICogQHBhcmFtIG1pbWVfdHlwZSB0eXBlIG9mIEBhIGNvbnRlbnRz
IGRhdGEsIGlmIEBjIE5VTEwgaXMgZ2l2ZW4gInRleHQvaHRtbCIgaXMgYXNzdW1lZAorICogQHBh
cmFtIGVuY29kaW5nIGVuY29kaW5nIGZvciBAYSBjb250ZW50cyBkYXRhLCBpZiBAYyBOVUxMIGlz
IGdpdmVuICJVVEYtOCIgaXMgYXNzdW1lZAorICogQHBhcmFtIGJhc2VfdXJpIGJhc2UgdXJpIHRv
IHVzZSBmb3IgcmVsYXRpdmUgcmVzb3VyY2VzLCBtYXkgYmUgQGMgTlVMTCwKICAqICAgICAgICBp
ZiBwcm92aWRlZCBAYiBtdXN0IGJlIGFuIGFic29sdXRlIHVyaQogICoKICAqIEByZXR1cm4gQGMg
RUlOQV9UUlVFIG9uIHN1Y2Nlc3NmdWwgcmVxdWVzdCwgQGMgRUlOQV9GQUxTRSBvbiBlcnJvcnMK
QEAgLTQyOSwxNSArNDI5LDE1IEBAIEVBUEkgRWluYV9Cb29sICAgIGV3a19mcmFtZV9jb250ZW50
c19zZXQoRXZhc19PYmplY3QgKm8sIGNvbnN0IGNoYXIgKmNvbnRlbnRzLCBzCiAgKiBkaWZmZXJl
bmNlIGlzIHRoYXQgYmFjay1mb3J3YXJkIG5hdmlnYXRpb24gbGlzdCBpcyBub3QgY2hhbmdlZC4K
ICAqCiAgKiBAcGFyYW0gbyBmcmFtZSBvYmplY3QgdG8gbG9hZCBhbHRlcm5hdGl2ZSBjb250ZW50
Ci0gKiBAcGFyYW0gY29udGVudHMgd2hhdCB0byBsb2FkIGludG8gZnJhbWUsIG11c3QgQGIgbm90
IGJlIEBjIDAKKyAqIEBwYXJhbSBjb250ZW50cyB3aGF0IHRvIGxvYWQgaW50byBmcmFtZSwgbXVz
dCBAYiBub3QgYmUgQGMgTlVMTAogICogQHBhcmFtIGNvbnRlbnRzX3NpemUgc2l6ZSBvZiBAYSBj
b250ZW50cyAoaW4gYnl0ZXMpLAogICogICAgICAgIGlmIEBjIDAgaXMgZ2l2ZW4sIGxlbmd0aCBv
ZiBAYSBjb250ZW50cyBpcyB1c2VkCi0gKiBAcGFyYW0gbWltZV90eXBlIHR5cGUgb2YgQGEgY29u
dGVudHMgZGF0YSwgaWYgQGMgMCBpcyBnaXZlbiAidGV4dC9odG1sIiBpcyBhc3N1bWVkCi0gKiBA
cGFyYW0gZW5jb2RpbmcgZW5jb2RpbmcgdXNlZCBmb3IgQGEgY29udGVudHMgZGF0YSwgaWYgQGMg
MCBpcyBnaXZlbiAiVVRGLTgiIGlzIGFzc3VtZWQKLSAqIEBwYXJhbSBiYXNlX3VyaSBiYXNlIFVS
SSB0byB1c2UgZm9yIHJlbGF0aXZlIHJlc291cmNlcywgbWF5IGJlIEBjIDAsCisgKiBAcGFyYW0g
bWltZV90eXBlIHR5cGUgb2YgQGEgY29udGVudHMgZGF0YSwgaWYgQGMgTlVMTCBpcyBnaXZlbiAi
dGV4dC9odG1sIiBpcyBhc3N1bWVkCisgKiBAcGFyYW0gZW5jb2RpbmcgZW5jb2RpbmcgdXNlZCBm
b3IgQGEgY29udGVudHMgZGF0YSwgaWYgQGMgTlVMTCBpcyBnaXZlbiAiVVRGLTgiIGlzIGFzc3Vt
ZWQKKyAqIEBwYXJhbSBiYXNlX3VyaSBiYXNlIFVSSSB0byB1c2UgZm9yIHJlbGF0aXZlIHJlc291
cmNlcywgbWF5IGJlIEBjIE5VTEwsCiAgKiAgICAgICAgaWYgcHJvdmlkZWQgbXVzdCBiZSBhbiBh
YnNvbHV0ZSB1cmkKICAqIEBwYXJhbSB1bnJlYWNoYWJsZV91cmkgdGhlIFVSSSB0aGF0IGZhaWxl
ZCB0byBsb2FkIGFuZCBpcyBnZXR0aW5nIHRoZQotICogICAgICAgIGFsdGVybmF0aXZlIHJlcHJl
c2VudGF0aW9uLCBtdXN0IEBiIG5vdCBiZSBAYyAwCisgKiAgICAgICAgYWx0ZXJuYXRpdmUgcmVw
cmVzZW50YXRpb24sIG11c3QgQGIgbm90IGJlIEBjIE5VTEwKICAqCiAgKiBAcmV0dXJuIEBjIEVJ
TkFfVFJVRSBvbiBzdWNjZXNzZnVsIHJlcXVlc3QsIEBjIEVJTkFfRkFMU0Ugb24gZXJyb3JzCiAg
Ki8KQEAgLTQ1MSw3ICs0NTEsNyBAQCBFQVBJIEVpbmFfQm9vbCAgICBld2tfZnJhbWVfY29udGVu
dHNfYWx0ZXJuYXRlX3NldChFdmFzX09iamVjdCAqbywgY29uc3QgY2hhciAqYwogICogQHBhcmFt
IG8gZnJhbWUgb2JqZWN0IHRvIGV4ZWN1dGUgc2NyaXB0CiAgKiBAcGFyYW0gc2NyaXB0IEphdmEg
U2NyaXB0IHRvIGV4ZWN1dGUKICAqCi0gKiBAcmV0dXJuIG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcg
Zm9yIHJlc3VsdCBvciBAYyAwIGlmIHRoZSByZXN1bHQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBz
dHJpbmcgb3IgZmFpbHVyZQorICogQHJldHVybiBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nIGZvciBy
ZXN1bHQgb3IgQGMgTlVMTCBpZiB0aGUgcmVzdWx0IGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gc3Ry
aW5nIG9yIGZhaWx1cmUKICAqLwogRUFQSSBjaGFyICAgICAgICAqZXdrX2ZyYW1lX3NjcmlwdF9l
eGVjdXRlKEV2YXNfT2JqZWN0ICpvLCBjb25zdCBjaGFyICpzY3JpcHQpOwogCkBAIC00ODEsNyAr
NDgxLDcgQEAgRUFQSSBFaW5hX0Jvb2wgICAgZXdrX2ZyYW1lX2VkaXRhYmxlX3NldChFdmFzX09i
amVjdCAqbywgRWluYV9Cb29sIGVkaXRhYmxlKTsKICAqCiAgKiBAcGFyYW0gbyB0aGUgZnJhbWUg
b2JqZWN0IHRvIGdldCBzZWxlY3RlZCB0ZXh0CiAgKgotICogQHJldHVybiBhIG5ld2x5IGFsbG9j
YXRlZCBzdHJpbmcgb3IgQGMgMCBpZiBub3RoaW5nIGlzIHNlbGVjdGVkIG9yIG9uIGZhaWx1cmUK
KyAqIEByZXR1cm4gYSBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nIG9yIEBjIE5VTEwgaWYgbm90aGlu
ZyBpcyBzZWxlY3RlZCBvciBvbiBmYWlsdXJlCiAgKi8KIEVBUEkgY2hhciAgICAgICAgKmV3a19m
cmFtZV9zZWxlY3Rpb25fZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKIApAQCAtNTQ1LDggKzU0
NSw4IEBAIEVBUEkgRWluYV9Cb29sICAgIGV3a19mcmFtZV90ZXh0X21hdGNoZXNfaGlnaGxpZ2h0
X2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CiAgKgogICogQHBhcmFtIG8gZnJhbWUgb2JqZWN0
IHdoZXJlIG1hdGNoZXMgYXJlIG1hcmtlZAogICogQHBhcmFtIG4gaW5kZXggb2YgZWxlbWVudCAK
LSAqIEBwYXJhbSB4IHRoZSBwb2ludGVyIHRvIHN0b3JlIHRoZSBob3Jpem9udGFsIHBvc2l0aW9u
IG9mIEBhIG4gbWF0Y2hlZCB0ZXh0LCBtYXkgYmUgQGMgMAotICogQHBhcmFtIHkgdGhlIHBvaW50
ZXIgdG8gc3RvcmUgdGhlIHZlcnRpY2FsIHBvc2l0aW9uIG9mIEBhIG4gbWF0Y2hlZCB0ZXh0LCBt
YXkgYmUgQGMgMAorICogQHBhcmFtIHggdGhlIHBvaW50ZXIgdG8gc3RvcmUgdGhlIGhvcml6b250
YWwgcG9zaXRpb24gb2YgQGEgbiBtYXRjaGVkIHRleHQsIG1heSBiZSBAYyBOVUxMCisgKiBAcGFy
YW0geSB0aGUgcG9pbnRlciB0byBzdG9yZSB0aGUgdmVydGljYWwgcG9zaXRpb24gb2YgQGEgbiBt
YXRjaGVkIHRleHQsIG1heSBiZSBAYyBOVUxMCiAgKgogICogQHJldHVybiBAYyBFSU5BX1RSVUUg
b24gc3VjY2VzcywgQGMgRUlOQV9GQUxTRSB3aGVuIG5vIG1hdGNoZXMgd2VyZSBmb3VuZCBvcgog
ICogICAgICAgICBAYSBuIGlzIGJpZ2dlciB0aGFuIHNlYXJjaCByZXN1bHRzIG9yIG9uIGZhaWx1
cmUKQEAgLTcxMCw3ICs3MTAsNyBAQCBFQVBJIHZvaWQgICAgICAgICAgZXdrX2ZyYW1lX2hpdF90
ZXN0X2ZyZWUoRXdrX0hpdF9UZXN0ICpoaXRfdGVzdCk7CiAgKiBAcGFyYW0geCB0aGUgaG9yaXpv
bnRhbCBwb3NpdGlvbiB0byBxdWVyeQogICogQHBhcmFtIHkgdGhlIHZlcnRpY2FsIHBvc2l0aW9u
IHRvIHF1ZXJ5CiAgKgotICogQHJldHVybiBhIG5ld2x5IGFsbG9jYXRlZCBoaXQgdGVzdCBvbiBz
dWNjZXNzLCBAYyAwIG90aGVyd2lzZQorICogQHJldHVybiBhIG5ld2x5IGFsbG9jYXRlZCBoaXQg
dGVzdCBvbiBzdWNjZXNzLCBAYyBOVUxMIG90aGVyd2lzZQogICovCiBFQVBJIEV3a19IaXRfVGVz
dCAqZXdrX2ZyYW1lX2hpdF90ZXN0X25ldyhjb25zdCBFdmFzX09iamVjdCAqbywgaW50IHgsIGlu
dCB5KTsKIApAQCAtNzU4LDkgKzc1OCw5IEBAIEVBUEkgRWluYV9Cb29sICAgIGV3a19mcmFtZV9z
Y3JvbGxfc2V0KEV2YXNfT2JqZWN0ICpvLCBpbnQgeCwgaW50IHkpOwogICoKICAqIEBwYXJhbSBv
IGZyYW1lIG9iamVjdCB0byBnZXQgc2Nyb2xsIHNpemUKICAqIEBwYXJhbSB3IHRoZSBwb2ludGVy
IHRvIHN0b3JlIHRoZSBob3Jpem9udGFsIHNpemUgdGhhdCBpcyBwb3NzaWJsZSB0byBzY3JvbGws
Ci0gKiAgICAgICAgbWF5IGJlIEBjIDAKKyAqICAgICAgICBtYXkgYmUgQGMgTlVMTAogICogQHBh
cmFtIGggdGhlIHBvaW50ZXIgdG8gc3RvcmUgdGhlIHZlcnRpY2FsIHNpemUgdGhhdCBpcyBwb3Nz
aWJsZSB0byBzY3JvbGwsCi0gKiAgICAgICAgbWF5IGJlIEBjIDAKKyAqICAgICAgICBtYXkgYmUg
QGMgTlVMTAogICoKICAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIG9uIHN1Y2Nlc3MsIEBjIEVJTkFf
RkFMU0Ugb3RoZXJ3aXNlIGFuZAogICogICAgICAgICB2YWx1ZXMgYXJlIHplcm9lZApAQCAtNzcx
LDggKzc3MSw4IEBAIEVBUEkgRWluYV9Cb29sICAgIGV3a19mcmFtZV9zY3JvbGxfc2l6ZV9nZXQo
Y29uc3QgRXZhc19PYmplY3QgKm8sIGludCAqdywgaW50ICpoCiAgKiBHZXRzIHRoZSBjdXJyZW50
IHNjcm9sbCBwb3NpdGlvbiBvZiBnaXZlbiBmcmFtZS4KICAqCiAgKiBAcGFyYW0gbyBmcmFtZSBv
YmplY3QgdG8gZ2V0IHRoZSBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbgotICogQHBhcmFtIHggdGhl
IHBvaW50ZXIgdG8gc3RvcmUgdGhlIGhvcml6b250YWwgcG9zaXRpb24sIG1heSBiZSBAYyAwCi0g
KiBAcGFyYW0geSB0aGUgcG9pbnRlciB0byBzdG9yZSB0aGUgdmVydGljYWwgcG9zaXRpb24uIG1h
eSBiZSBAYyAwCisgKiBAcGFyYW0geCB0aGUgcG9pbnRlciB0byBzdG9yZSB0aGUgaG9yaXpvbnRh
bCBwb3NpdGlvbiwgbWF5IGJlIEBjIE5VTEwKKyAqIEBwYXJhbSB5IHRoZSBwb2ludGVyIHRvIHN0
b3JlIHRoZSB2ZXJ0aWNhbCBwb3NpdGlvbi4gbWF5IGJlIEBjIE5VTEwKICAqCiAgKiBAcmV0dXJu
IEBjIEVJTkFfVFJVRSBvbiBzdWNjZXNzLCBAYyBFSU5BX0ZBTFNFIG90aGVyd2lzZSBhbmQKICAq
ICAgICAgICAgdmFsdWVzIGFyZSB6ZXJvZWQuCkBAIC03ODQsMTAgKzc4NCwxMCBAQCBFQVBJIEVp
bmFfQm9vbCAgICBld2tfZnJhbWVfc2Nyb2xsX3Bvc19nZXQoY29uc3QgRXZhc19PYmplY3QgKm8s
IGludCAqeCwgaW50ICp5KQogICoKICAqIEBwYXJhbSBvIGZyYW1lIG9iamVjdCB0byBxdWVyeSB2
aXNpYmxlIGNvbnRlbnQgZ2VvbWV0cnkKICAqIEBwYXJhbSBpbmNsdWRlX3Njcm9sbGJhcnMgd2hl
bmV2ZXIgdG8gaW5jbHVkZSBzY3JvbGxiYXJzIHNpemUKLSAqIEBwYXJhbSB4IHRoZSBwb2ludGVy
IHRvIHN0b3JlIHRoZSBob3Jpem9udGFsIHBvc2l0aW9uLCBtYXkgYmUgQGMgMAotICogQHBhcmFt
IHkgdGhlIHBvaW50ZXIgdG8gc3RvcmUgdGhlIHZlcnRpY2FsIHBvc2l0aW9uLCBtYXkgYmUgQGMg
MAotICogQHBhcmFtIHcgdGhlIHBvaW50ZXIgdG8gc3RvcmUgd2lkdGgsIG1heSBiZSBAYyAwCi0g
KiBAcGFyYW0gaCB0aGUgcG9pbnRlciB0byBzdG9yZSBoZWlnaHQsIG1heSBiZSBAYyAwCisgKiBA
cGFyYW0geCB0aGUgcG9pbnRlciB0byBzdG9yZSB0aGUgaG9yaXpvbnRhbCBwb3NpdGlvbiwgbWF5
IGJlIEBjIE5VTEwKKyAqIEBwYXJhbSB5IHRoZSBwb2ludGVyIHRvIHN0b3JlIHRoZSB2ZXJ0aWNh
bCBwb3NpdGlvbiwgbWF5IGJlIEBjIE5VTEwKKyAqIEBwYXJhbSB3IHRoZSBwb2ludGVyIHRvIHN0
b3JlIHdpZHRoLCBtYXkgYmUgQGMgTlVMTAorICogQHBhcmFtIGggdGhlIHBvaW50ZXIgdG8gc3Rv
cmUgaGVpZ2h0LCBtYXkgYmUgQGMgTlVMTAogICoKICAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIG9u
IHN1Y2Nlc3MsIEBjIEVJTkFfRkFMU0Ugb3RoZXJ3aXNlIGFuZAogICogICAgICAgICB2YWx1ZXMg
YXJlIHplcm9lZApAQCAtODQyLDEwICs4NDIsMTAgQEAgRUFQSSBFaW5hX0Jvb2wgICAgZXdrX2Zy
YW1lX2ZlZWRfZm9jdXNfb3V0KEV2YXNfT2JqZWN0ICpvKTsKICAqIGRvY3VtZW50LgogICoKICAq
IEBwYXJhbSBvIGZyYW1lIG9iamVjdCBjb250YWluaW5nIHRoZSBmb2N1c2VkIGVsZW1lbnQKLSAq
IEBwYXJhbSB4IHBvaW50ZXIgd2hlcmUgdG8gc3RvcmUgdGhlIFggdmFsdWUgb2YgdGhlIGdlb21l
dHJ5LCBtYXkgYmUgQGMgMAotICogQHBhcmFtIHggcG9pbnRlciB3aGVyZSB0byBzdG9yZSB0aGUg
WSB2YWx1ZSBvZiB0aGUgZ2VvbWV0cnksIG1heSBiZSBAYyAwCi0gKiBAcGFyYW0geCBwb2ludGVy
IHdoZXJlIHRvIHN0b3JlIHdpZHRoIG9mIHRoZSBnZW9tZXRyeSwgbWF5IGJlIEBjIDAKLSAqIEBw
YXJhbSB4IHBvaW50ZXIgd2hlcmUgdG8gc3RvcmUgaGVpZ2h0IG9mIHRoZSBnZW9tZXRyeSwgbWF5
IGJlIEBjIDAKKyAqIEBwYXJhbSB4IHBvaW50ZXIgd2hlcmUgdG8gc3RvcmUgdGhlIFggdmFsdWUg
b2YgdGhlIGdlb21ldHJ5LCBtYXkgYmUgQGMgTlVMTAorICogQHBhcmFtIHggcG9pbnRlciB3aGVy
ZSB0byBzdG9yZSB0aGUgWSB2YWx1ZSBvZiB0aGUgZ2VvbWV0cnksIG1heSBiZSBAYyBOVUxMCisg
KiBAcGFyYW0geCBwb2ludGVyIHdoZXJlIHRvIHN0b3JlIHdpZHRoIG9mIHRoZSBnZW9tZXRyeSwg
bWF5IGJlIEBjIE5VTEwKKyAqIEBwYXJhbSB4IHBvaW50ZXIgd2hlcmUgdG8gc3RvcmUgaGVpZ2h0
IG9mIHRoZSBnZW9tZXRyeSwgbWF5IGJlIEBjIE5VTEwKICAqCiAgKiBAcmV0dXJuIEBjIEVJTkFf
VFJVRSBpZiB0aGUgZnJhbWUgY29udGFpbnMgdGhlIGN1cnJlbnRseSBmb2N1c2VkIGVsZW1lbnQg
YW5kCiAgKiBpdHMgZ2VvbWV0cnkgd2FzIGNvcnJlY3RseSBmZXRjaGVkLCBAYyBFSU5BX0ZBTFNF
IGluIGFueSBvdGhlciBjYXNlCkBAIC05MzksNyArOTM5LDcgQEAgRUFQSSBFd2tfVGV4dF9TZWxl
Y3Rpb25fVHlwZSBld2tfZnJhbWVfdGV4dF9zZWxlY3Rpb25fdHlwZV9nZXQoY29uc3QgRXZhc19P
YmplY3QKICAqCiAgKiBAcGFyYW0gbyBmcmFtZSBzbWFydCBvYmplY3QgdG8gZ2V0IHRoZSBmcmFt
ZSBzb3VyY2UKICAqIEBwYXJhbSBmcmFtZV9zb3VyY2UgYSBwb2ludGVyIHRvIHN0b3JlIHRoZSBz
b3VyY2Ugb2YgZnJhbWUsCi0gKiAgICAgICAgbXVzdCBAYiBub3QgYmUgQGMgMCwgdGhpcyB2YWx1
ZSBAYiBzaG91bGQgYmUgZnJlZWQgYWZ0ZXIgdXNlCisgKiAgICAgICAgbXVzdCBAYiBub3QgYmUg
QGMgTlVMTCwgdGhpcyB2YWx1ZSBAYiBzaG91bGQgYmUgZnJlZWQgYWZ0ZXIgdXNlCiAgKgogICog
QHJldHVybiBAYyBsZW5ndGggb2YgQGEgZnJhbWVfc291cmNlIG9uIHN1Y2Nlc3MsIG9yIEBjIC0x
IG9uIGZhaWx1cmUKICAqCkBAIC05NTUsNyArOTU1LDcgQEAgRUFQSSBzc2l6ZV90IGV3a19mcmFt
ZV9zb3VyY2VfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvLCBjaGFyICoqZnJhbWVfc291cmNlKTsK
ICAqIHJlcGxhY2UgdGhlbSB0byB0aGUgbG9jYWwgcGF0aHMuIFZhbHVlcyBhcmUgbm90IGR1cGxp
Y2F0ZWQgYW5kIHRoZXkgYXJlIGRlY29kZWQuCiAgKgogICogQHBhcmFtIG8gZnJhbWUgc21hcnQg
b2JqZWN0IHRvIGdldCB0aGUgcmVzb3VyY2VzIGxpc3QKLSAqIEByZXR1cm4gQGMgRWluYV9MaXN0
IHdpdGggbG9jYXRpb24gb2YgcmVzb3VyY2VzIG9uIHN1Y2Nlc3MsIG9yIEBjIDAgb24gZmFpbHVy
ZSwKKyAqIEByZXR1cm4gQGMgRWluYV9MaXN0IHdpdGggbG9jYXRpb24gb2YgcmVzb3VyY2VzIG9u
IHN1Y2Nlc3MsIG9yIEBjIE5VTEwgb24gZmFpbHVyZSwKICAqICAgICAgICAgdGhlIEVpbmFfTGlz
dCBzaG91bGQgYmUgZnJlZWQgYWZ0ZXIgdXNlCiAgKgogICogQHNlZSBld2tfZnJhbWVfc291cmNl
X2dldCgpCkBAIC05NzEsNyArOTcxLDcgQEAgRUFQSSBFaW5hX0xpc3QgKmV3a19mcmFtZV9yZXNv
dXJjZXNfbG9jYXRpb25fZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKICAqIEBwYXJhbSBld2tG
cmFtZSBGcmFtZSBvYmplY3Qgd2hvc2UgY29udGVudHMgdG8gcmV0cmlldmUuCiAgKgogICogQHJl
dHVybiBBIG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcgKHdoaWNoIG11c3QgYmUgZnJlZWQgYnkgdGhl
IGNhbGxlciB3aXRoIEBjIGZyZWUoKSkKLSAqICAgICAgICAgb3IgQGMgMCBpbiBjYXNlIG9mIGZh
aWx1cmUuCisgKiAgICAgICAgIG9yIEBjIE5VTEwgaW4gY2FzZSBvZiBmYWlsdXJlLgogICovCiBF
QVBJIGNoYXIgKmV3a19mcmFtZV9wbGFpbl90ZXh0X2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfaW50ZW50LmggYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX2ludGVudC5oCmluZGV4IDE0M2RlYWEuLmY0OWE3NmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfaW50ZW50LmgKKysrIGIvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a19pbnRlbnQuaApAQCAtNzYsNyArNzYsNyBAQCBFQVBJIGNvbnN0
IGNoYXIgKmV3a19pbnRlbnRfc2VydmljZV9nZXQoY29uc3QgRXdrX0ludGVudCAqaW50ZW50KTsK
ICAqCiAgKiBAcGFyYW0gaW50ZW50IGludGVudCBpdGVtIHRvIHF1ZXJ5LgogICoKLSAqIEByZXR1
cm4gQGMgRWluYV9MaXN0IHdpdGggc3VnZ2VzdGVkIHNlcnZpY2UgVVJMcyBvbiBzdWNjZXNzLCBv
ciBAYyAwIG9uIGZhaWx1cmUsCisgKiBAcmV0dXJuIEBjIEVpbmFfTGlzdCB3aXRoIHN1Z2dlc3Rl
ZCBzZXJ2aWNlIFVSTHMgb24gc3VjY2Vzcywgb3IgQGMgTlVMTCBvbiBmYWlsdXJlLAogICogICAg
ICAgICB0aGUgRWluYV9MaXN0IGFuZCBpdHMgaXRlbXMgc2hvdWxkIGJlIGZyZWVkIGFmdGVyIHVz
ZS4gVXNlIGZyZWUoKSB0byBmcmVlIHRoZQogICogICAgICAgICBpdGVtcy4KICAqLwpAQCAtOTcs
NyArOTcsNyBAQCBFQVBJIGNoYXIgKmV3a19pbnRlbnRfZXh0cmFfZ2V0KGNvbnN0IEV3a19JbnRl
bnQgKmludGVudCwgY29uc3QgY2hhciAqa2V5KTsKICAqCiAgKiBAcGFyYW0gaW50ZW50IGludGVu
dCBpdGVtIHRvIHF1ZXJ5LgogICoKLSAqIEByZXR1cm4gQGMgRWluYV9MaXN0IHdpdGggbmFtZXMg
b2YgZXh0cmEgbWV0YWRhdGEgb24gc3VjY2Vzcywgb3IgQGMgMCBvbiBmYWlsdXJlLAorICogQHJl
dHVybiBAYyBFaW5hX0xpc3Qgd2l0aCBuYW1lcyBvZiBleHRyYSBtZXRhZGF0YSBvbiBzdWNjZXNz
LCBvciBAYyBOVUxMIG9uIGZhaWx1cmUsCiAgKiAgICAgICAgIHRoZSBFaW5hX0xpc3QgYW5kIGl0
cyBpdGVtcyBzaG91bGQgYmUgZnJlZWQgYWZ0ZXIgdXNlLiBVc2UgZnJlZSgpIHRvIGZyZWUgdGhl
CiAgKiAgICAgICAgIGl0ZW1zLgogICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX2ludGVudF9yZXF1ZXN0LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ludGVu
dF9yZXF1ZXN0LmgKaW5kZXggMjJjNzFkNi4uMjllOGQzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a19pbnRlbnRfcmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfaW50ZW50X3JlcXVlc3QuaApAQCAtNDEsNyArNDEsNyBAQCBFQVBJIHZvaWQgZXdr
X2ludGVudF9yZXF1ZXN0X3JlZihFd2tfSW50ZW50X1JlcXVlc3QgKnJlcXVlc3QpOwogLyoqCiAg
KiBEZWNyZWFzZXMgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0aGUgZ2l2ZW4gb2JqZWN0LCBwb3Nz
aWJseSBmcmVlaW5nIGl0LgogICoKLSAqIFdoZW4gdGhlIHJlZmVyZW5jZSBjb3VudCBpdCdzIHJl
YWNoZWQgMCwgdGhlIGludGVudCByZXF1ZXN0IGlzIGZyZWVkLgorICogV2hlbiB0aGUgcmVmZXJl
bmNlIGNvdW50IHJlYWNoZXMgMCwgdGhlIGludGVudCByZXF1ZXN0IGlzIGZyZWVkLgogICoKICAq
IEBwYXJhbSByZXF1ZXN0IHRoZSBpbnRlbnQgcmVxdWVzdCBvYmplY3QgdG8gZGVjcmVhc2UgdGhl
IHJlZmVyZW5jZSBjb3VudAogICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX25ldHdvcmsuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfbmV0d29yay5oCmluZGV4
IGRiZWM4MTUuLmQyMjZmMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
bmV0d29yay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfbmV0d29yay5oCkBAIC00
OSw3ICs0OSw3IEBAIEVBUEkgdm9pZCAgICAgICAgICAgICBld2tfbmV0d29ya19wcm94eV91cmlf
c2V0KGNvbnN0IGNoYXIgKnByb3h5KTsKICAqCiAgKiBUaGUgcmV0dXJuZWQgc3RyaW5nIHNob3Vs
ZCBiZSBmcmVlZCBieSBlaW5hX3N0cmluZ3NoYXJlX2RlbCgpIGFmdGVyIHVzZS4KICAqCi0gKiBA
cmV0dXJuIGN1cnJlbnQgcHJveHkgVVJJIG9yIEBjIDAgaWYgaXQncyBub3Qgc2V0CisgKiBAcmV0
dXJuIGN1cnJlbnQgcHJveHkgVVJJIG9yIEBjIE5VTEwgaWYgaXQncyBub3Qgc2V0CiAgKgogICog
QG5vdGUgSWYgdGhlIGxpYnNvdXAgYmFja2VuZCBpcyBiZWluZyB1c2VkLCB0aGlzIGZ1bmN0aW9u
IGhhcyBlZmZlY3Qgb24KICAqIHRoZSBAYiBkZWZhdWx0IFNvdXBTZXNzaW9uLCByZXR1cm5lZCBi
eSBld2tfbmV0d29ya19kZWZhdWx0X3NvdXBfc2Vzc2lvbl9nZXQoKS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfc2VjdXJpdHlfb3JpZ2luLmggYi9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3NlY3VyaXR5X29yaWdpbi5oCmluZGV4IGNlOGM2NzguLjBmZGRjYzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfc2VjdXJpdHlfb3JpZ2luLmgKKysr
IGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19zZWN1cml0eV9vcmlnaW4uaApAQCAtNDksNyAr
NDksNyBAQCB0eXBlZGVmIHN0cnVjdCBfRXdrX1NlY3VyaXR5X09yaWdpbiBFd2tfU2VjdXJpdHlf
T3JpZ2luOwogICogSXQgcmV0dXJucyBhIGludGVybmFsIHN0cmluZyB3aGljaCBzaG91bGQgbm90
CiAgKiBiZSBtb2RpZmllZC4gVGhlIHN0cmluZyBpcyBndWFyYW50ZWVkIHRvIGJlIHN0cmluZ3No
YXJlZC4KICAqCi0gKiBAcmV0dXJuIHRoZSBwcm90b2NvbCBzY2hlbWUgb3IgQGMgMCBpZiB0aGVy
ZSBpcyBub3QgYSBwcm90b2NvbCBzY2hlbWUKKyAqIEByZXR1cm4gdGhlIHByb3RvY29sIHNjaGVt
ZSBvciBAYyBOVUxMIGlmIHRoZXJlIGlzIG5vdCBhIHByb3RvY29sIHNjaGVtZQogICovCiBFQVBJ
IGNvbnN0IGNoYXIgICAgICAgICAgKmV3a19zZWN1cml0eV9vcmlnaW5fcHJvdG9jb2xfZ2V0KGNv
bnN0IEV3a19TZWN1cml0eV9PcmlnaW4gKm8pOwogCkBAIC02MSw3ICs2MSw3IEBAIEVBUEkgY29u
c3QgY2hhciAgICAgICAgICAqZXdrX3NlY3VyaXR5X29yaWdpbl9wcm90b2NvbF9nZXQoY29uc3Qg
RXdrX1NlY3VyaXR5X09yCiAgKgogICogQHBhcmFtIG8gc2VjdXJpdHkgb3JpZ2luIG9iamVjdAog
ICoKLSAqIEByZXR1cm4gdGhlIGhvc3QgZG9tYWluIG9yIEBjIDAgaWYgdGhlcmUgaXMgbm90IGEg
aG9zdCBzY2hlbWUKKyAqIEByZXR1cm4gdGhlIGhvc3QgZG9tYWluIG9yIEBjIE5VTEwgaWYgdGhl
cmUgaXMgbm90IGEgaG9zdCBzY2hlbWUKICAqLwogRUFQSSBjb25zdCBjaGFyICAgICAgICAgICpl
d2tfc2VjdXJpdHlfb3JpZ2luX2hvc3RfZ2V0KGNvbnN0IEV3a19TZWN1cml0eV9PcmlnaW4gKm8p
OwogCkBAIC03Miw3ICs3Miw3IEBAIEVBUEkgY29uc3QgY2hhciAgICAgICAgICAqZXdrX3NlY3Vy
aXR5X29yaWdpbl9ob3N0X2dldChjb25zdCBFd2tfU2VjdXJpdHlfT3JpZ2luCiAgKgogICogQHBh
cmFtIG8gc2VjdXJpdHkgb3JpZ2luIG9iamVjdAogICoKLSAqIEByZXR1cm4gdGhlIHN0cmluZyBy
ZXByZXNlbnRhdGlvbiBvZiBzZWN1cml0eSBvcmlnaW4gb3IgQGMgMCBpZiB0aGVyZSBpcyBub3Qg
YSBwcm9wZXIgc2VjdXJpdHkgb3JpZ2luIHNjaGVtZQorICogQHJldHVybiB0aGUgc3RyaW5nIHJl
cHJlc2VudGF0aW9uIG9mIHNlY3VyaXR5IG9yaWdpbiBvciBAYyBOVUxMIGlmIHRoZXJlIGlzIG5v
dCBhIHByb3BlciBzZWN1cml0eSBvcmlnaW4gc2NoZW1lCiAgKi8KIEVBUEkgY29uc3QgY2hhciAg
ICAgICAgICAqZXdrX3NlY3VyaXR5X29yaWdpbl9zdHJpbmdfZ2V0KGNvbnN0IEV3a19TZWN1cml0
eV9PcmlnaW4gKm8pOwogCkBAIC0xNDIsNyArMTQyLDcgQEAgRUFQSSB2b2lkICAgICAgICAgICAg
ICAgICBld2tfc2VjdXJpdHlfb3JpZ2luX2FwcGxpY2F0aW9uX2NhY2hlX2NsZWFyKGNvbnN0IEV3
a18KICAqIHVzZSBld2tfd2ViX2RhdGFiYXNlX2xpc3RfZnJlZSgpIGFzIGNvbnZlbmllbmNlLgog
ICoKICAqIFRoaXMgZnVuY3Rpb24gd29uJ3Qgd29yayBpZiBXZWIgU1FMIERhdGFiYXNlIHdhcyBu
b3QgZW5hYmxlZCB3aGVuCi0gKiBidWlsZGluZyBXZWJLaXQgYW5kIHdpbGwganVzdCByZXR1cm4g
MC4KKyAqIGJ1aWxkaW5nIFdlYktpdCBhbmQgd2lsbCBqdXN0IHJldHVybiBAYyBOVUxMLgogICoK
ICAqIEBwYXJhbSBvIHNlY3VyaXR5IG9yaWdpbiBvYmplY3QKICAqCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3NldHRpbmdzLmgKaW5kZXggMmJkN2NjMC4uZmI3OTI3OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a19zZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfc2V0dGluZ3MuaApAQCAtMTE5LDcgKzExOSw3IEBAIEVBUEkgdm9pZCBld2tfc2V0dGlu
Z3NfbG9jYWxfc3RvcmFnZV9kYXRhYmFzZV9vcmlnaW5fY2xlYXIoY29uc3QgY2hhciAqdXJsKTsK
ICAqIHNhdmUgeW91cnNlbGYgc29tZSBjcHUgY3ljbGVzIGFuZCB1c2UgZWluYV9zdHJpbmdzaGFy
ZV9yZWYoKQogICogaW5zdGVhZCBvZiBlaW5hX3N0cmluZ3NoYXJlX2FkZCgpIG9yIHN0cmR1cCgp
LgogICoKLSAqIEByZXR1cm4gZGF0YWJhc2UgcGF0aCBvciBAYyAwIGlmIG5vbmUgb3Igd2ViIGRh
dGFiYXNlIGlzIG5vdCBzdXBwb3J0ZWQKKyAqIEByZXR1cm4gZGF0YWJhc2UgcGF0aCBvciBAYyBO
VUxMIGlmIG5vbmUgb3Igd2ViIGRhdGFiYXNlIGlzIG5vdCBzdXBwb3J0ZWQKICAqLwogRUFQSSBj
b25zdCBjaGFyICAgICAgKmV3a19zZXR0aW5nc193ZWJfZGF0YWJhc2VfcGF0aF9nZXQodm9pZCk7
CiAKQEAgLTEzMCw3ICsxMzAsNyBAQCBFQVBJIGNvbnN0IGNoYXIgICAgICAqZXdrX3NldHRpbmdz
X3dlYl9kYXRhYmFzZV9wYXRoX2dldCh2b2lkKTsKICAqIGRhdGFiYXNlIGlzIGFscmVhZHkgb3Bl
biwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIEBjIEVJTkFfRkFMU0UuCiAgKgogICogQHBhcmFtIGRp
cmVjdG9yeSB3aGVyZSB0byBzdG9yZSBpY29uIGRhdGFiYXNlLCBtdXN0IGJlCi0gKiAgICAgICAg
d3JpdGUtYWJsZSwgaWYgQGMgMCBpcyBnaXZlbiwgdGhlbiBkYXRhYmFzZSBpcyBjbG9zZWQKKyAq
ICAgICAgICB3cml0ZS1hYmxlLCBpZiBAYyBOVUxMIGlzIGdpdmVuLCB0aGVuIGRhdGFiYXNlIGlz
IGNsb3NlZAogICoKICAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIG9uIHN1Y2Nlc3MsIEBjIEVJTkFf
RkFMU0Ugb24gZXJyb3JzCiAgKi8KQEAgLTE0Myw3ICsxNDMsNyBAQCBFQVBJIEVpbmFfQm9vbCAg
ICAgICAgZXdrX3NldHRpbmdzX2ljb25fZGF0YWJhc2VfcGF0aF9zZXQoY29uc3QgY2hhciAqcGF0
aCk7CiAgKiBzYXZlIHlvdXJzZWxmIHNvbWUgY3B1IGN5Y2xlcyBhbmQgdXNlIGVpbmFfc3RyaW5n
c2hhcmVfcmVmKCkKICAqIGluc3RlYWQgb2YgZWluYV9zdHJpbmdzaGFyZV9hZGQoKSBvciBzdHJk
dXAoKS4KICAqCi0gKiBAcmV0dXJuIGRhdGFiYXNlIHBhdGggb3IgQGMgMCBpZiBub25lIGlzIHNl
dAorICogQHJldHVybiBkYXRhYmFzZSBwYXRoIG9yIEBjIE5VTEwgaWYgbm9uZSBpcyBzZXQKICAq
LwogRUFQSSBjb25zdCBjaGFyICAgICAgKmV3a19zZXR0aW5nc19pY29uX2RhdGFiYXNlX3BhdGhf
Z2V0KHZvaWQpOwogCkBAIC0xNjYsNyArMTY2LDcgQEAgRUFQSSBFaW5hX0Jvb2wgICAgICAgIGV3
a19zZXR0aW5nc19pY29uX2RhdGFiYXNlX2NsZWFyKHZvaWQpOwogICoKICAqIEBwYXJhbSB1cmwg
d2hpY2ggdXJsIHRvIHF1ZXJ5IGljb24KICAqCi0gKiBAcmV0dXJuIGNhaXJvIHN1cmZhY2UgaWYg
YW55LCBvciBAYyAwIG9uIGZhaWx1cmUKKyAqIEByZXR1cm4gY2Fpcm8gc3VyZmFjZSBpZiBhbnks
IG9yIEBjIE5VTEwgb24gZmFpbHVyZQogICovCiBFQVBJIGNhaXJvX3N1cmZhY2VfdCAqZXdrX3Nl
dHRpbmdzX2ljb25fZGF0YWJhc2VfaWNvbl9zdXJmYWNlX2dldChjb25zdCBjaGFyICp1cmwpOwog
CkBAIC0xODYsNyArMTg2LDcgQEAgRUFQSSBjYWlyb19zdXJmYWNlX3QgKmV3a19zZXR0aW5nc19p
Y29uX2RhdGFiYXNlX2ljb25fc3VyZmFjZV9nZXQoY29uc3QgY2hhciAqdXIKICAqIEBwYXJhbSB1
cmwgd2hpY2ggdXJsIHRvIHF1ZXJ5IGljb24KICAqIEBwYXJhbSBjYW52YXMgZXZhcyBpbnN0YW5j
ZSB3aGVyZSB0byBhZGQgcmVzdWx0aW5nIG9iamVjdAogICoKLSAqIEByZXR1cm4gbmV3bHkgYWxs
b2NhdGVkIEV2YXNfT2JqZWN0IGluc3RhbmNlIG9yIEBjIDAgb24KKyAqIEByZXR1cm4gbmV3bHkg
YWxsb2NhdGVkIEV2YXNfT2JqZWN0IGluc3RhbmNlIG9yIEBjIE5VTEwgb24KICAqICAgICAgICAg
ZXJyb3JzLiBEZWxldGUgdGhlIG9iamVjdCB3aXRoIGV2YXNfb2JqZWN0X2RlbCgpLgogICovCiBF
QVBJIEV2YXNfT2JqZWN0ICAgICAqZXdrX3NldHRpbmdzX2ljb25fZGF0YWJhc2VfaWNvbl9vYmpl
Y3RfZ2V0KGNvbnN0IGNoYXIgKnVybCwgRXZhcyAqY2FudmFzKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192
aWV3LmgKaW5kZXggZDVmZWIzNi4uNTVlZDNlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a192aWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgK
QEAgLTU4NCw3ICs1ODQsNyBAQCBFQVBJIHZvaWQgICBld2tfdGlsZV91bnVzZWRfY2FjaGVfYXV0
b19mbHVzaChFd2tfVGlsZV9VbnVzZWRfQ2FjaGUgKnR1Yyk7CiAgKgogICogQHBhcmFtIGFwaSBj
bGFzcyBkZWZpbml0aW9uIHRvIHNldCwgYWxsIG1lbWJlcnMgd2l0aCB0aGUKICAqICAgICAgICBl
eGNlcHRpb24gb2YgQGEgRXZhc19TbWFydF9DbGFzcy0+ZGF0YSBtYXkgYmUgb3ZlcnJpZGRlbiwg
bXVzdAotICogICAgICAgIEBiIG5vdCBiZSBAYyAwCisgKiAgICAgICAgQGIgbm90IGJlIEBjIE5V
TEwKICAqCiAgKiBAbm90ZSBAYSBFdmFzX1NtYXJ0X0NsYXNzLT5kYXRhIGlzIHVzZWQgdG8gaW1w
bGVtZW50IHR5cGUgY2hlY2tpbmcgYW5kCiAgKiAgICAgICBpcyBub3Qgc3VwcG9zZWQgdG8gYmUg
Y2hhbmdlZC9vdmVycmlkZGVuLiBJZiB5b3UgbmVlZCBleHRyYQpAQCAtNjA1LDcgKzYwNSw3IEBA
IEVBUEkgRWluYV9Cb29sICAgIGV3a192aWV3X2Jhc2Vfc21hcnRfc2V0KEV3a19WaWV3X1NtYXJ0
X0NsYXNzICphcGkpOwogICoKICAqIEBwYXJhbSBhcGkgY2xhc3MgZGVmaW5pdGlvbiB0byBzZXQs
IGFsbCBtZW1iZXJzIHdpdGggdGhlCiAgKiAgICAgICAgZXhjZXB0aW9uIG9mIEBhIEV2YXNfU21h
cnRfQ2xhc3MtPmRhdGEgbWF5IGJlIG92ZXJyaWRkZW4sIG11c3QKLSAqICAgICAgICBAYiBub3Qg
YmUgQGMgMAorICogICAgICAgIEBiIG5vdCBiZSBAYyBOVUxMCiAgKgogICogQG5vdGUgQGEgRXZh
c19TbWFydF9DbGFzcy0+ZGF0YSBpcyB1c2VkIHRvIGltcGxlbWVudCB0eXBlIGNoZWNraW5nIGFu
ZAogICogICAgICAgaXMgbm90IHN1cHBvc2VkIHRvIGJlIGNoYW5nZWQvb3ZlcnJpZGRlbi4gSWYg
eW91IG5lZWQgZXh0cmEKQEAgLTYyNSw3ICs2MjUsNyBAQCBFQVBJIEVpbmFfQm9vbCAgICBld2tf
dmlld19zaW5nbGVfc21hcnRfc2V0KEV3a19WaWV3X1NtYXJ0X0NsYXNzICphcGkpOwogICoKICAq
IEBwYXJhbSBhcGkgY2xhc3MgZGVmaW5pdGlvbiB0byBzZXQsIGFsbCBtZW1iZXJzIHdpdGggdGhl
CiAgKiAgICAgICAgZXhjZXB0aW9uIG9mIEBhIEV2YXNfU21hcnRfQ2xhc3MtPmRhdGEgbWF5IGJl
IG92ZXJyaWRkZW4sIG11c3QKLSAqICAgICAgICBAYiBub3QgYmUgQGMgMAorICogICAgICAgIEBi
IG5vdCBiZSBAYyBOVUxMCiAgKgogICogQG5vdGUgQGEgRXZhc19TbWFydF9DbGFzcy0+ZGF0YSBp
cyB1c2VkIHRvIGltcGxlbWVudCB0eXBlIGNoZWNraW5nIGFuZAogICogICAgICAgaXMgbm90IHN1
cHBvc2VkIHRvIGJlIGNoYW5nZWQvb3ZlcnJpZGRlbi4gSWYgeW91IG5lZWQgZXh0cmEKQEAgLTY1
MSw3ICs2NTEsNyBAQCBFQVBJIEVpbmFfQm9vbCAgICBld2tfdmlld190aWxlZF9zbWFydF9zZXQo
RXdrX1ZpZXdfU21hcnRfQ2xhc3MgKmFwaSk7CiAgKgogICogQHBhcmFtIGUgY2FudmFzIG9iamVj
dCB3aGVyZSB0byBjcmVhdGUgdGhlIHZpZXcgb2JqZWN0CiAgKgotICogQHJldHVybiB2aWV3IG9i
amVjdCBvbiBzdWNjZXNzIG9yIEBjIDAgb24gZmFpbHVyZQorICogQHJldHVybiB2aWV3IG9iamVj
dCBvbiBzdWNjZXNzIG9yIEBjIE5VTEwgb24gZmFpbHVyZQogICoKICAqIEBzZWUgZXdrX3ZpZXdf
dXJpX3NldCgpCiAgKi8KQEAgLTY2OSw3ICs2NjksNyBAQCBFQVBJIEV2YXNfT2JqZWN0ICpld2tf
dmlld19zaW5nbGVfYWRkKEV2YXMgKmUpOwogICoKICAqIEBwYXJhbSBlIGNhbnZhcyBvYmplY3Qg
d2hlcmUgdG8gY3JlYXRlIHRoZSB2aWV3IG9iamVjdAogICoKLSAqIEByZXR1cm4gdGhlIHZpZXcg
b2JqZWN0IG9uIHN1Y2Nlc3Mgb3IgQGMgMCBvbiBmYWlsdXJlCisgKiBAcmV0dXJuIHRoZSB2aWV3
IG9iamVjdCBvbiBzdWNjZXNzIG9yIEBjIE5VTEwgb24gZmFpbHVyZQogICoKICAqIEBzZWUgZXdr
X3ZpZXdfdXJpX3NldCgpCiAgKi8KQEAgLTY4MCw3ICs2ODAsNyBAQCBFQVBJIEV2YXNfT2JqZWN0
ICpld2tfdmlld190aWxlZF9hZGQoRXZhcyAqZSk7CiAgKgogICogQHBhcmFtIG8gdGhlIHZpZXcg
b2JqZWN0IHRvIGdldCB0aGUgY2FjaGUgb2JqZWN0CiAgKgotICogQHJldHVybiB0aGUgY2FjaGUg
b2JqZWN0IG9mIHVudXNlZCB0aWxlcyBvciBAYyAwIG9uIGZhaWx1cmUKKyAqIEByZXR1cm4gdGhl
IGNhY2hlIG9iamVjdCBvZiB1bnVzZWQgdGlsZXMgb3IgQGMgTlVMTCBvbiBmYWlsdXJlCiAgKi8K
IEVBUEkgRXdrX1RpbGVfVW51c2VkX0NhY2hlICpld2tfdmlld190aWxlZF91bnVzZWRfY2FjaGVf
Z2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKIApAQCAtNjkxLDcgKzY5MSw3IEBAIEVBUEkgRXdr
X1RpbGVfVW51c2VkX0NhY2hlICpld2tfdmlld190aWxlZF91bnVzZWRfY2FjaGVfZ2V0KGNvbnN0
IEV2YXNfT2JqZWN0ICpvCiAgKiBUaGUgdGlsZXMgZnJvbSBvbmUgdmlldyB3aWxsIG5vdCBiZSB1
c2VkIGJ5IHRoZSBvdGhlciEKICAqIFRoaXMgaXMganVzdCB0byBsaW1pdCB0aGUgZ3JvdXAgd2l0
aCBhbW91bnQgb2YgdW51c2VkIG1lbW9yeS4KICAqCi0gKiBAbm90ZSBJZiBAYyAwIGlzIHByb3Zp
ZGVkIGFzIGEgQGEgY2FjaGUsIHRoZW4gYSBuZXcgb25lIGlzIGNyZWF0ZWQuCisgKiBAbm90ZSBJ
ZiBAYyBOVUxMIGlzIHByb3ZpZGVkIGFzIGEgQGEgY2FjaGUsIHRoZW4gYSBuZXcgb25lIGlzIGNy
ZWF0ZWQuCiAgKgogICogQHBhcmFtIG8gdGhlIHZpZXcgb2JqZWN0IHRvIHNldCB0aGUgY2FjaGUg
b2JqZWN0CiAgKiBAcGFyYW0gdGhlIGNhY2hlIG9iamVjdCBvZiB1bnVzZWQgdGlsZXMKQEAgLTcx
OSw5ICs3MTksOSBAQCBFQVBJIHZvaWQgICAgICAgICBld2tfdmlld19maXhlZF9sYXlvdXRfc2l6
ZV9zZXQoRXZhc19PYmplY3QgKm8sIEV2YXNfQ29vcmQgdywgRQogICogR2V0cyBmaXhlZCBsYXlv
dXQgc2l6ZS4KICAqCiAgKiBAcGFyYW0gbyB2aWV3IG9iamVjdCB0byBnZXQgZml4ZWQgbGF5b3V0
IHNpemUKLSAqIEBwYXJhbSB3IHRoZSBwb2ludGVyIHRvIHN0b3JlIGZpeGVkIHdpZHRoLCByZXR1
cm5zIEBjIDAgb24gZmFpbHVyZSBvciBpZiB0aGVyZSBpcyBubworICogQHBhcmFtIHcgdGhlIHBv
aW50ZXIgdG8gc3RvcmUgZml4ZWQgd2lkdGgsIHJldHVybnMgQGMgTlVMTCBvbiBmYWlsdXJlIG9y
IGlmIHRoZXJlIGlzIG5vCiAgKiAgICAgICAgZml4ZWQgbGF5b3V0IGluIHVzZQotICogQHBhcmFt
IGggdGhlIHBvaW50ZXIgdG8gc3RvcmUgZml4ZWQgaGVpZ2h0LCByZXR1cm5zIEBjIDAgb24gZmFp
bHVyZSBvciBpZiB0aGVyZSBpcyBubworICogQHBhcmFtIGggdGhlIHBvaW50ZXIgdG8gc3RvcmUg
Zml4ZWQgaGVpZ2h0LCByZXR1cm5zIEBjIE5VTEwgb24gZmFpbHVyZSBvciBpZiB0aGVyZSBpcyBu
bwogICogICAgICAgIGZpeGVkIGxheW91dCBpbiB1c2UKICAqLwogRUFQSSB2b2lkICAgICAgICAg
ZXdrX3ZpZXdfZml4ZWRfbGF5b3V0X3NpemVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvLCBFdmFz
X0Nvb3JkICp3LCBFdmFzX0Nvb3JkICpoKTsKQEAgLTczNCw3ICs3MzQsNyBAQCBFQVBJIHZvaWQg
ICAgICAgICBld2tfdmlld19maXhlZF9sYXlvdXRfc2l6ZV9nZXQoY29uc3QgRXZhc19PYmplY3Qg
Km8sIEV2YXNfQ29vcgogICogdXNlIHRoaXMgb25lLgogICoKICAqIEBwYXJhbSBvIHZpZXcgb2Jq
ZWN0IHRvIGNoYW5nZSB0aGVtZQotICogQHBhcmFtIHBhdGggdGhlbWUgcGF0aCwgbWF5IGJlIEBj
IDAgdG8gcmVzZXQgdG8gdGhlIGRlZmF1bHQgdGhlbWUKKyAqIEBwYXJhbSBwYXRoIHRoZW1lIHBh
dGgsIG1heSBiZSBAYyBOVUxMIHRvIHJlc2V0IHRvIHRoZSBkZWZhdWx0IHRoZW1lCiAgKi8KIEVB
UEkgdm9pZCAgICAgICAgIGV3a192aWV3X3RoZW1lX3NldChFdmFzX09iamVjdCAqbywgY29uc3Qg
Y2hhciAqcGF0aCk7CiAKQEAgLTc0NSw3ICs3NDUsNyBAQCBFQVBJIHZvaWQgICAgICAgICBld2tf
dmlld190aGVtZV9zZXQoRXZhc19PYmplY3QgKm8sIGNvbnN0IGNoYXIgKnBhdGgpOwogICoKICAq
IEBwYXJhbSBvIHZpZXcgb2JqZWN0IHRvIGdldCB0aGVtZSBwYXRoCiAgKgotICogQHJldHVybiB0
aGUgdGhlbWUgcGF0aCwgbWF5IGJlIEBjIDAgaWYgbm90IHNldAorICogQHJldHVybiB0aGUgdGhl
bWUgcGF0aCwgbWF5IGJlIEBjIE5VTEwgaWYgbm90IHNldAogICovCiBFQVBJIGNvbnN0IGNoYXIg
ICpld2tfdmlld190aGVtZV9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogCkBAIC03NTQsNyAr
NzU0LDcgQEAgRUFQSSBjb25zdCBjaGFyICAqZXdrX3ZpZXdfdGhlbWVfZ2V0KGNvbnN0IEV2YXNf
T2JqZWN0ICpvKTsKICAqCiAgKiBAcGFyYW0gbyB2aWV3IG9iamVjdCB0byBnZXQgbWFpbiBmcmFt
ZQogICoKLSAqIEByZXR1cm4gZnJhbWUgc21hcnQgb2JqZWN0IG9yIEBjIDAgaWYgbm9uZSB5ZXQK
KyAqIEByZXR1cm4gZnJhbWUgc21hcnQgb2JqZWN0IG9yIEBjIE5VTEwgaWYgbm9uZSB5ZXQKICAq
LwogRUFQSSBFdmFzX09iamVjdCAqZXdrX3ZpZXdfZnJhbWVfbWFpbl9nZXQoY29uc3QgRXZhc19P
YmplY3QgKm8pOwogCkBAIC03NjMsNyArNzYzLDcgQEAgRUFQSSBFdmFzX09iamVjdCAqZXdrX3Zp
ZXdfZnJhbWVfbWFpbl9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogICoKICAqIEBwYXJhbSBv
IHZpZXcgb2JqZWN0IHRvIGdldCBmb2N1c2VkIGZyYW1lCiAgKgotICogQHJldHVybiBmcmFtZSBz
bWFydCBvYmplY3Qgb3IgQGMgMCBpZiBub25lIHlldAorICogQHJldHVybiBmcmFtZSBzbWFydCBv
YmplY3Qgb3IgQGMgTlVMTCBpZiBub25lIHlldAogICovCiBFQVBJIEV2YXNfT2JqZWN0ICpld2tf
dmlld19mcmFtZV9mb2N1c2VkX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CiAKQEAgLTc4NSw3
ICs3ODUsNyBAQCBFQVBJIEVpbmFfQm9vbCAgICBld2tfdmlld191cmlfc2V0KEV2YXNfT2JqZWN0
ICpvLCBjb25zdCBjaGFyICp1cmkpOwogICoKICAqIEBwYXJhbSBvIHZpZXcgb2JqZWN0IHRvIGdl
dCBjdXJyZW50IHVyaS4KICAqCi0gKiBAcmV0dXJuIGN1cnJlbnQgdXJpIG9uIHN1Y2Nlc3Mgb3Ig
QGMgMCBvbiBmYWlsdXJlCisgKiBAcmV0dXJuIGN1cnJlbnQgdXJpIG9uIHN1Y2Nlc3Mgb3IgQGMg
TlVMTCBvbiBmYWlsdXJlCiAgKi8KIEVBUEkgY29uc3QgY2hhciAgKmV3a192aWV3X3VyaV9nZXQo
Y29uc3QgRXZhc19PYmplY3QgKm8pOwogCkBAIC03OTcsNyArNzk3LDcgQEAgRUFQSSBjb25zdCBj
aGFyICAqZXdrX3ZpZXdfdXJpX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CiAgKgogICogQHBh
cmFtIG8gdmlldyBvYmplY3QgdG8gZ2V0IGN1cnJlbnQgdGl0bGUKICAqCi0gKiBAcmV0dXJuIGN1
cnJlbnQgdGl0bGUgb24gc3VjY2VzcyBvciBAYyAwIG9uIGZhaWx1cmUKKyAqIEByZXR1cm4gY3Vy
cmVudCB0aXRsZSBvbiBzdWNjZXNzIG9yIEBjIE5VTEwgb24gZmFpbHVyZQogICovCiBFQVBJIGNv
bnN0IEV3a19UZXh0X1dpdGhfRGlyZWN0aW9uICAqZXdrX3ZpZXdfdGl0bGVfZ2V0KGNvbnN0IEV2
YXNfT2JqZWN0ICpvKTsKIApAQCAtODYyLDcgKzg2Miw3IEBAIEVBUEkgdm9pZCAgICAgICAgIGV3
a192aWV3X2JnX2NvbG9yX2dldChjb25zdCBFdmFzX09iamVjdCAqbywgaW50ICpyLCBpbnQgKmcs
IGluCiAgKgogICogQHBhcmFtIG8gdmlldyBvYmplY3QgdG8gZ2V0IHNlbGVjdGVkIHRleHQKICAq
Ci0gKiBAcmV0dXJuIGEgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyBvciBAYyAwIGlmIG5vdGhpbmcg
aXMgc2VsZWN0ZWQgb3Igb24gZmFpbHVyZQorICogQHJldHVybiBhIG5ld2x5IGFsbG9jYXRlZCBz
dHJpbmcgb3IgQGMgTlVMTCBpZiBub3RoaW5nIGlzIHNlbGVjdGVkIG9yIG9uIGZhaWx1cmUKICAq
LwogRUFQSSBjaGFyICAgICAgICAqZXdrX3ZpZXdfc2VsZWN0aW9uX2dldChjb25zdCBFdmFzX09i
amVjdCAqbyk7CiAKQEAgLTExNDEsNyArMTE0MSw3IEBAIEVBUEkgRWluYV9Cb29sICAgIGV3a192
aWV3X2hpc3RvcnlfZW5hYmxlX3NldChFdmFzX09iamVjdCAqbywgRWluYV9Cb29sIGVuYWJsZSk7
CiAgKiBAcGFyYW0gbyB2aWV3IG9iamVjdCB0byBnZXQgbmF2aWdhdGlvbiBoaXN0b3J5CiAgKgog
ICogQHJldHVybiB0aGUgaGlzdG9yeSBpbnN0YW5jZSBoYW5kbGUgYXNzb2NpYXRlZCB3aXRoIHRo
aXMKLSAqICAgICAgICAgdmlldyBvbiBzdWNjZXMgb3IgQGMgMCBvbiBmYWlsdXJlIChpbmNsdWRp
bmcgd2hlbiB0aGUgaGlzdG9yeQorICogICAgICAgICB2aWV3IG9uIHN1Y2NlcyBvciBAYyBOVUxM
IG9uIGZhaWx1cmUgKGluY2x1ZGluZyB3aGVuIHRoZSBoaXN0b3J5CiAgKiAgICAgICAgIG5hdmln
YXRpb24gaXMgbm90IGVuYWJsZWQgd2l0aCBld2tfdmlld19oaXN0b3J5X2VuYWJsZV9zZXQoKSkK
ICAqCiAgKiBAc2VlIGV3a192aWV3X2hpc3RvcnlfZW5hYmxlX3NldCgpCkBAIC0xODQ3LDcgKzE4
NDcsNyBAQCBFQVBJIEVpbmFfQm9vbCAgICBld2tfdmlld19zZXR0aW5nX2NhcmV0X2Jyb3dzaW5n
X3NldChFdmFzX09iamVjdCAqbywgRWluYV9Cb29sCiAgKiBAcGFyYW0gbyB2aWV3IG9iamVjdCB0
byBnZXQgdGhlIGN1cnJlbnQgZW5jb2RpbmcKICAqCiAgKiBAcmV0dXJuIEBjIGVpbmFfc3RyaW5z
aGFyZSBjb250YWluaW5nIHRoZSBjdXJyZW50IGVuY29kaW5nLCBvcgotICogICAgICAgICBAYyAw
IGlmIGl0J3Mgbm90IHNldAorICogICAgICAgICBAYyBOVUxMIGlmIGl0J3Mgbm90IHNldAogICov
CiBFQVBJIGNvbnN0IGNoYXIgICpld2tfdmlld19zZXR0aW5nX2VuY29kaW5nX2N1c3RvbV9nZXQo
Y29uc3QgRXZhc19PYmplY3QgKm8pOwogCkBAIC0xODU1LDcgKzE4NTUsNyBAQCBFQVBJIGNvbnN0
IGNoYXIgICpld2tfdmlld19zZXR0aW5nX2VuY29kaW5nX2N1c3RvbV9nZXQoY29uc3QgRXZhc19P
YmplY3QgKm8pOwogICogU2V0cyB0aGUgZW5jb2RpbmcgYW5kIHJlbG9hZHMgdGhlIHBhZ2UuCiAg
KgogICogQHBhcmFtIG8gdmlldyB0byBzZXQgdGhlIGVuY29kaW5nCi0gKiBAcGFyYW0gZW5jb2Rp
bmcgdGhlIG5ldyBlbmNvZGluZyB0byBzZXQgb3IgQGMgMCB0byByZXN0b3JlIHRoZSBkZWZhdWx0
IG9uZQorICogQHBhcmFtIGVuY29kaW5nIHRoZSBuZXcgZW5jb2RpbmcgdG8gc2V0IG9yIEBjIE5V
TEwgdG8gcmVzdG9yZSB0aGUgZGVmYXVsdCBvbmUKICAqCiAgKiBAcmV0dXJuIEBjIEVJTkFfVFJV
RSBvbiBzdWNjZXNzIEBjIEVJTkFfRkFMU0Ugb3RoZXJ3aXNlCiAgKi8KQEAgLTE4NjcsNyArMTg2
Nyw3IEBAIEVBUEkgRWluYV9Cb29sICAgIGV3a192aWV3X3NldHRpbmdfZW5jb2RpbmdfY3VzdG9t
X3NldChFdmFzX09iamVjdCAqbywgY29uc3QgY2hhCiAgKiBAcGFyYW0gbyB2aWV3IG9iamVjdCB0
byBnZXQgdGhlIGRlZmF1bHQgZW5jb2RpbmcKICAqCiAgKiBAcmV0dXJuIEBjIGVpbmFfc3RyaW5z
aGFyZSBjb250YWluaW5nIHRoZSBkZWZhdWx0IGVuY29kaW5nLCBvcgotICogICAgICAgICBAYyAw
IGlmIGl0J3Mgbm90IHNldAorICogICAgICAgICBAYyBOVUxMIGlmIGl0J3Mgbm90IHNldAogICov
CiBFQVBJIGNvbnN0IGNoYXIgICpld2tfdmlld19zZXR0aW5nX2VuY29kaW5nX2RlZmF1bHRfZ2V0
KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKIApAQCAtMjAzNyw3ICsyMDM3LDcgQEAgRUFQSSBFaW5h
X0Jvb2wgICAgZXdrX3ZpZXdfc2V0dGluZ19sb2NhbF9zdG9yYWdlX3NldChFdmFzX09iamVjdCAq
bywgRWluYV9Cb29sIGUKICAqIEBwYXJhbSBvIHZpZXcgb2JqZWN0IHRvIGdldCB0aGUgZGF0YWJh
c2UgcGF0aCB0byB0aGUgbG9jYWwgc3RvcmFnZSBmZWF0dXJlCiAgKgogICogQHJldHVybiBAYyBl
aW5hX3N0cmluZ3NoYXJlIGNvbnRhaW5pbmcgdGhlIGRhdGFiYXNlIHBhdGggdG8gdGhlIGxvY2Fs
IHN0b3JhZ2UgZmVhdHVyZSwgb3IKLSAqICAgICAgICAgQGMgMCBpZiBpdCdzIG5vdCBzZXQKKyAq
ICAgICAgICAgQGMgTlVMTCBpZiBpdCdzIG5vdCBzZXQKICAqCiAgKiBAc2EgZXdrX3ZpZXdfc2V0
dGluZ19sb2NhbF9zdG9yYWdlX2RhdGFiYXNlX3BhdGhfc2V0CiAgKi8KQEAgLTIyMzIsNyArMjIz
Miw3IEBAIEVBUEkgRWluYV9Cb29sIGV3a192aWV3X3NldHRpbmdfZW5hYmxlX2h5cGVybGlua19h
dWRpdGluZ19zZXQoRXZhc19PYmplY3QgKm8sIEVpCiAgKgogICogQHBhcmFtIG8gdmlldyBvYmpl
Y3QgdG8gZ2V0IHRoZSBpbnRlcm5hbCBkYXRhCiAgKgotICogQHJldHVybiB0aGUgaW50ZXJuYWwg
ZGF0YSBvZiBAYSBvLCBvciBAYyAwIG9uIGZhaWx1cmUKKyAqIEByZXR1cm4gdGhlIGludGVybmFs
IGRhdGEgb2YgQGEgbywgb3IgQGMgTlVMTCBvbiBmYWlsdXJlCiAgKi8KIEVBUEkgRXdrX1ZpZXdf
U21hcnRfRGF0YSAqZXdrX3ZpZXdfc21hcnRfZGF0YV9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8p
OwogCkBAIC0yMzA1LDcgKzIzMDUsNyBAQCBFQVBJIEVpbmFfQm9vbCBld2tfdmlld19wYWludF9j
b250ZW50cyhFd2tfVmlld19Qcml2YXRlX0RhdGEgKnByaXYsIGNhaXJvX3QgKmNyLAogLyoqCiAg
KiBHZXRzIHRoZSBhdHRyaWJ1dGVzIG9mIHRoZSB2aWV3cG9ydCBtZXRhIHRhZy4KICAqCi0gKiBQ
cm9wZXJ0aWVzIGFyZSByZXR1cm5lZCBpbiB0aGUgcmVzcGVjdGl2ZSBwb2ludGVycy4gUGFzc2lu
ZyBAYyAwIHRvIGFueSBvZgorICogUHJvcGVydGllcyBhcmUgcmV0dXJuZWQgaW4gdGhlIHJlc3Bl
Y3RpdmUgcG9pbnRlcnMuIFBhc3NpbmcgQGMgTlVMTCB0byBhbnkgb2YKICAqIHRoZXNlIHBvaW50
ZXJzIHdpbGwgbWFrZSB0aGF0IHByb3BlcnR5IHRvIG5vdCBiZSByZXR1cm5lZC4KICAqCiAgKiBA
cGFyYW0gbyB2aWV3IG9iamVjdCB0byBnZXQgdGhlIHZpZXdwb3J0IGF0dHJpYnV0ZXMKQEAgLTI2
ODEsNyArMjY4MSw3IEBAIEVBUEkgdm9pZCBld2tfdmlld193ZWJfaW5zcGVjdG9yX2Nsb3NlKGNv
bnN0IEV2YXNfT2JqZWN0ICpvKTsKICAqCiAgKiBAcGFyYW0gbyBUaGUgdmlldyB0aGF0IGlzIGlu
c3BlY3RlZC4KICAqCi0gKiBAcmV0dXJuIHZpZXcgb2JqZWN0IG9uIHN1Y2Nlc3Mgb3IgQGMgMCBv
biBmYWlsdXJlCisgKiBAcmV0dXJuIHZpZXcgb2JqZWN0IG9uIHN1Y2Nlc3Mgb3IgQGMgTlVMTCBv
biBmYWlsdXJlCiAgKi8KIEVBUEkgRXZhc19PYmplY3QqIGV3a192aWV3X3dlYl9pbnNwZWN0b3Jf
dmlld19nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3dpbmRvd19mZWF0dXJlcy5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a193aW5kb3dfZmVhdHVyZXMuaAppbmRleCBhOTAxMzk1Li5kNjdhNDVlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3dpbmRvd19mZWF0dXJlcy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfd2luZG93X2ZlYXR1cmVzLmgKQEAgLTM4LDcgKzM4LDcgQEAg
dHlwZWRlZiBzdHJ1Y3QgX0V3a19XaW5kb3dfRmVhdHVyZXMgRXdrX1dpbmRvd19GZWF0dXJlczsK
IC8qKgogICogRGVjcmVhc2VzIHRoZSByZWZlcmVjZSBjb3VudCBvZiBhbiBFd2tfV2luZG93X0Zl
YXR1cmVzLCBwb3NzaWJseSBmcmVlaW5nIGl0LgogICoKLSAqIFdoZW4gdGhlIHJlZmVyZW5jZSBj
b3VudCBvZiB0aGUgb2JqZWN0IHJlYWNoZXMgMCwgdGhlIG9uZSBpcyBmcmVlZC4KKyAqIFdoZW4g
dGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0aGUgb2JqZWN0IHJlYWNoZXMgMCwgaXQgaXMgZnJlZWQu
CiAgKgogICogQHBhcmFtIHdpbmRvd19mZWF0dXJlcyB0aGUgb2JqZWN0IHRvIGRlY3JlYXNlIHJl
ZmVyZW5jZSBjb3VudAogICovCkBAIC01NCw4ICs1NCw4IEBAIEVBUEkgdm9pZCAgICAgICAgIGV3
a193aW5kb3dfZmVhdHVyZXNfcmVmKEV3a19XaW5kb3dfRmVhdHVyZXMgKndpbmRvd19mZWF0dXJl
cyk7CiAvKioKICAqIEdldHMgYm9vbGVhbiBwcm9wZXJ0aWVzIG9mIGFuIEV3a19XaW5kb3dfRmVh
dHVyZXMuCiAgKgotICogUHJvcGVydGllcyBhcmUgcmV0dXJuZWQgaW4gdGhlIHJlc3BlY3RpdmUg
cG9pbnRlcnMuIFBhc3NpbmcgQGMgMCB0byBhbnkgb2YKLSAqIHRoZXNlIHBvaW50ZXJzIHdpbGwg
bWFrZSB0aGF0IHByb3BlcnR5IHRvIG5vdCBiZSByZXR1cm5lZC4KKyAqIFByb3BlcnRpZXMgYXJl
IHJldHVybmVkIGluIHRoZSByZXNwZWN0aXZlIHBvaW50ZXJzLiBQYXNzaW5nIEBjIE5VTEwgdG8g
YW55IG9mCisgKiB0aGVzZSBwb2ludGVycyB3aWxsIGNhdXNlIHRoYXQgcHJvcGVydHkgdG8gbm90
IGJlIHJldHVybmVkLgogICoKICAqIEBwYXJhbSB3aW5kb3dfZmVhdHVyZXMgdGhlIG9iamVjdCB0
byBnZXQgYm9vbGVhbiBwcm9wZXJ0aWVzCiAgKiBAcGFyYW0gdG9vbGJhcl92aXNpYmxlIHRoZSBw
b2ludGVyIHRvIHN0b3JlIGlmIHRvb2xiYXIgaXMgdmlzaWJsZQpAQCAtNzIsMTEgKzcyLDExIEBA
IEVBUEkgdm9pZCAgICAgICAgIGV3a193aW5kb3dfZmVhdHVyZXNfYm9vbF9wcm9wZXJ0eV9nZXQo
Y29uc3QgRXdrX1dpbmRvd19GZWF0dXJlCiAvKioKICAqIEdldHMgaW50IHByb3BlcnRpZXMgb2Yg
YW4gRXdrX1dpbmRvd19GZWF0dXJlcy4KICAqCi0gKiBQcm9wZXJ0aWVzIGFyZSByZXR1cm5lZCBp
biB0aGUgcmVzcGVjdGl2ZSBwb2ludGVycy4gUGFzc2luZyBAYyAwIHRvIGFueSBvZgotICogdGhl
c2UgcG9pbnRlcnMgd2lsbCBtYWtlIHRoYXQgcHJvcGVydHkgdG8gbm90IGJlIHJldHVybmVkLgor
ICogUHJvcGVydGllcyBhcmUgcmV0dXJuZWQgaW4gdGhlIHJlc3BlY3RpdmUgcG9pbnRlcnMuIFBh
c3NpbmcgQGMgTlVMTCB0byBhbnkgb2YKKyAqIHRoZXNlIHBvaW50ZXJzIHdpbGwgY2F1c2UgdGhh
dCBwcm9wZXJ0eSB0byBub3QgYmUgcmV0dXJuZWQuCiAgKgogICogTWFrZSBzdXJlIHRvIGNoZWNr
IGlmIHRoZSB2YWx1ZSByZXR1cm5lZCBpcyBsZXNzIHRoYW4gMCBiZWZvcmUgdXNpbmcgaXQsIHNp
bmNlIGluCi0gKiB0aGF0IGNhc2UgaXQgbWVhbnMgdGhhdCBwcm9wZXJ0eSB3YXMgbm90IHNldCBp
biB3aW53ZG93X2ZlYXR1cmVzIG9iamVjdC4KKyAqIHRoYXQgY2FzZSBpdCBtZWFucyB0aGF0IHBy
b3BlcnR5IHdhcyBub3Qgc2V0IGluIHdpbmRvd19mZWF0dXJlcyBvYmplY3QuCiAgKgogICogQHBh
cmFtIHdpbmRvd19mZWF0dXJlcyB0aGUgd2luZG93J3MgZmVhdHVyZXMKICAqIEBwYXJhbSB4IHRo
ZSBwb2ludGVyIHRvIHN0b3JlIHggcG9zaXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA5YjYzZmE3Li4zZjU2
ZTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMDctMTcgIENocmlzdG9waGUg
RHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KKworICAgICAgICBbRUZMXSBSZXBs
YWNlIDAgYnkgTlVMTCBpbiBwdWJsaWMgaGVhZGVycyBkb2N1bWVudGF0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTQ3MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBOVUxMIGluc3RlYWQgb2Yg
MCBmb3IgcG9pbnRlciB0eXBlcyBpbiBwdWJsaWMKKyAgICAgICAgQyBoZWFkZXJzLgorCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ludGVudC5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZWZsL2V3a19pbnRlbnRfc2VydmljZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
ZWZsL2V3a191cmxfcmVxdWVzdC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a191
cmxfcmVzcG9uc2UuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a193ZWJfcmVzb3VyY2UuaDoKKwogMjAxMi0w
Ny0xNiAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAg
IEFkZCBSZWdpc3RlclByb3RvY29sSGFuZGxlckNsaWVudCB0byB0aGUgTW9kdWxlcy9wcm90b2Nv
bGhhbmRsZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a19pbnRlbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnQu
aAppbmRleCBmZGNmZTAwLi5hZTczYzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfaW50ZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX2ludGVudC5oCkBAIC01MCw3ICs1MCw3IEBAIEVBUEkgdm9pZCBld2tfaW50
ZW50X3JlZihFd2tfSW50ZW50ICppbnRlbnQpOwogLyoqCiAgKiBEZWNyZWFzZXMgdGhlIHJlZmVy
ZW5jZSBjb3VudCBvZiB0aGUgZ2l2ZW4gb2JqZWN0LCBwb3NzaWJseSBmcmVlaW5nIGl0LgogICoK
LSAqIFdoZW4gdGhlIHJlZmVyZW5jZSBjb3VudCBpdCdzIHJlYWNoZWQgMCwgdGhlIGludGVudCBp
cyBmcmVlZC4KKyAqIFdoZW4gdGhlIHJlZmVyZW5jZSBjb3VudCByZWFjaGVzIDAsIHRoZSBpbnRl
bnQgaXMgZnJlZWQuCiAgKgogICogQHBhcmFtIGludGVudCB0aGUgaW50ZW50IG9iamVjdCB0byBk
ZWNyZWFzZSB0aGUgcmVmZXJlbmNlIGNvdW50CiAgKi8KQEAgLTEwMyw3ICsxMDMsNyBAQCBFQVBJ
IGNvbnN0IGNoYXIgKmV3a19pbnRlbnRfc2VydmljZV9nZXQoY29uc3QgRXdrX0ludGVudCAqaW50
ZW50KTsKICAqCiAgKiBAcGFyYW0gaW50ZW50IGludGVudCBpdGVtIHRvIHF1ZXJ5LgogICoKLSAq
IEByZXR1cm4gQGMgRWluYV9MaXN0IHdpdGggc3VnZ2VzdGVkIHNlcnZpY2UgVVJMcyBvbiBzdWNj
ZXNzLCBvciBAYyAwIG9uIGZhaWx1cmUsCisgKiBAcmV0dXJuIEBjIEVpbmFfTGlzdCB3aXRoIHN1
Z2dlc3RlZCBzZXJ2aWNlIFVSTHMgb24gc3VjY2Vzcywgb3IgQGMgTlVMTCBvbiBmYWlsdXJlLAog
ICogICAgICAgICB0aGUgRWluYV9MaXN0IGFuZCBpdHMgaXRlbXMgc2hvdWxkIGJlIGZyZWVkIGFm
dGVyIHVzZS4gVXNlIGZyZWUoKSB0byBmcmVlIHRoZQogICogICAgICAgICBpdGVtcy4KICAqLwpA
QCAtMTI0LDcgKzEyNCw3IEBAIEVBUEkgY2hhciAqZXdrX2ludGVudF9leHRyYV9nZXQoY29uc3Qg
RXdrX0ludGVudCAqaW50ZW50LCBjb25zdCBjaGFyICprZXkpOwogICoKICAqIEBwYXJhbSBpbnRl
bnQgaW50ZW50IGl0ZW0gdG8gcXVlcnkuCiAgKgotICogQHJldHVybiBAYyBFaW5hX0xpc3Qgd2l0
aCBuYW1lcyBvZiBleHRyYSBtZXRhZGF0YSBvbiBzdWNjZXNzLCBvciBAYyAwIG9uIGZhaWx1cmUs
CisgKiBAcmV0dXJuIEBjIEVpbmFfTGlzdCB3aXRoIG5hbWVzIG9mIGV4dHJhIG1ldGFkYXRhIG9u
IHN1Y2Nlc3MsIG9yIEBjIE5VTEwgb24gZmFpbHVyZSwKICAqICAgICAgICAgdGhlIEVpbmFfTGlz
dCBhbmQgaXRzIGl0ZW1zIHNob3VsZCBiZSBmcmVlZCBhZnRlciB1c2UuIFVzZSBmcmVlKCkgdG8g
ZnJlZSB0aGUKICAqICAgICAgICAgaXRlbXMuCiAgKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnRfc2VydmljZS5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2ludGVudF9zZXJ2aWNlLmgKaW5kZXggZGUyMmY2Yy4u
OTU4ZTA1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X2ludGVudF9zZXJ2aWNlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX2ludGVudF9zZXJ2aWNlLmgKQEAgLTUwLDcgKzUwLDcgQEAgRUFQSSB2b2lkIGV3a19pbnRl
bnRfc2VydmljZV9yZWYoRXdrX0ludGVudF9TZXJ2aWNlICpzZXJ2aWNlKTsKIC8qKgogICogRGVj
cmVhc2VzIHRoZSByZWZlcmVuY2UgY291bnQgb2YgdGhlIGdpdmVuIG9iamVjdCwgcG9zc2libHkg
ZnJlZWluZyBpdC4KICAqCi0gKiBXaGVuIHRoZSByZWZlcmVuY2UgY291bnQgaXQncyByZWFjaGVk
IDAsIHRoZSBpbnRlbnQgc2VydmljZSBpcyBmcmVlZC4KKyAqIFdoZW4gdGhlIHJlZmVyZW5jZSBj
b3VudCByZWFjaGVzIDAsIHRoZSBpbnRlbnQgc2VydmljZSBpcyBmcmVlZC4KICAqCiAgKiBAcGFy
YW0gc2VydmljZSB0aGUgaW50ZW50IHNlcnZpY2Ugb2JqZWN0IHRvIGRlY3JlYXNlIHRoZSByZWZl
cmVuY2UgY291bnQKICAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3VybF9yZXF1ZXN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfdXJsX3JlcXVlc3QuaAppbmRleCAwMTUwYjg5Li5lYzQ0ZjVjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3JlcXVlc3QuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3JlcXVlc3QuaApAQCAtNTAs
NyArNTAsNyBAQCBFQVBJIHZvaWQgZXdrX3VybF9yZXF1ZXN0X3JlZihFd2tfVXJsX1JlcXVlc3Qg
KnJlcXVlc3QpOwogLyoqCiAgKiBEZWNyZWFzZXMgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiB0aGUg
Z2l2ZW4gb2JqZWN0LCBwb3NzaWJseSBmcmVlaW5nIGl0LgogICoKLSAqIFdoZW4gdGhlIHJlZmVy
ZW5jZSBjb3VudCBpdCdzIHJlYWNoZWQgMCwgdGhlIFVSTCByZXF1ZXN0IGlzIGZyZWVkLgorICog
V2hlbiB0aGUgcmVmZXJlbmNlIGNvdW50IHJlYWNoZXMgMCwgdGhlIFVSTCByZXF1ZXN0IGlzIGZy
ZWVkLgogICoKICAqIEBwYXJhbSByZXF1ZXN0IHRoZSBVUkwgcmVxdWVzdCBvYmplY3QgdG8gZGVj
cmVhc2UgdGhlIHJlZmVyZW5jZSBjb3VudAogICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3Jlc3BvbnNlLmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3Jlc3BvbnNlLmgKaW5kZXggMTY1ZTlhNi4uYzAyNjIy
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9y
ZXNwb25zZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a191cmxf
cmVzcG9uc2UuaApAQCAtNTAsNyArNTAsNyBAQCBFQVBJIHZvaWQgZXdrX3VybF9yZXNwb25zZV9y
ZWYoRXdrX1VybF9SZXNwb25zZSAqcmVzcG9uc2UpOwogLyoqCiAgKiBEZWNyZWFzZXMgdGhlIHJl
ZmVyZW5jZSBjb3VudCBvZiB0aGUgZ2l2ZW4gb2JqZWN0LCBwb3NzaWJseSBmcmVlaW5nIGl0Lgog
ICoKLSAqIFdoZW4gdGhlIHJlZmVyZW5jZSBjb3VudCBpdCdzIHJlYWNoZWQgMCwgdGhlIFVSTCBy
ZXF1ZXN0IGlzIGZyZWVkLgorICogV2hlbiB0aGUgcmVmZXJlbmNlIGNvdW50IHJlYWNoZXMgMCwg
dGhlIFVSTCByZXNwb25zZSBpcyBmcmVlZC4KICAqCiAgKiBAcGFyYW0gcmVzcG9uc2UgdGhlIFVS
TCByZXNwb25zZSBvYmplY3QgdG8gZGVjcmVhc2UgdGhlIHJlZmVyZW5jZSBjb3VudAogICovCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaAppbmRleCA3MTAwY2Qy
Li5mZTNmMTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfdmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3
LmgKQEAgLTE5Myw3ICsxOTMsNyBAQCBzdHJ1Y3QgX0V3a19XZWJfUmVzb3VyY2VfTG9hZF9FcnJv
ciB7CiAgKgogICogQHBhcmFtIGUgY2FudmFzIG9iamVjdCB3aGVyZSB0byBjcmVhdGUgdGhlIHZp
ZXcgb2JqZWN0CiAgKgotICogQHJldHVybiB2aWV3IG9iamVjdCBvbiBzdWNjZXNzIG9yIEBjIDAg
b24gZmFpbHVyZQorICogQHJldHVybiB2aWV3IG9iamVjdCBvbiBzdWNjZXNzIG9yIEBjIE5VTEwg
b24gZmFpbHVyZQogICovCiBFQVBJIEV2YXNfT2JqZWN0ICpld2tfdmlld19hZGQoRXZhcyAqZSk7
CiAKQEAgLTIwMyw3ICsyMDMsNyBAQCBFQVBJIEV2YXNfT2JqZWN0ICpld2tfdmlld19hZGQoRXZh
cyAqZSk7CiAgKiBAcGFyYW0gZSBjYW52YXMgb2JqZWN0IHdoZXJlIHRvIGNyZWF0ZSB0aGUgdmll
dyBvYmplY3QKICAqIEBwYXJhbSBjb250ZXh0IEV3a19Db250ZXh0IG9iamVjdCB0byBkZWNsYXJl
IHByb2Nlc3MgbW9kZWwKICAqCi0gKiBAcmV0dXJuIHZpZXcgb2JqZWN0IG9uIHN1Y2Nlc3Mgb3Ig
QGMgMCBvbiBmYWlsdXJlCisgKiBAcmV0dXJuIHZpZXcgb2JqZWN0IG9uIHN1Y2Nlc3Mgb3IgQGMg
TlVMTCBvbiBmYWlsdXJlCiAgKi8KIEVBUEkgRXZhc19PYmplY3QgKmV3a192aWV3X2FkZF93aXRo
X2NvbnRleHQoRXZhcyAqZSwgRXdrX0NvbnRleHQgKmNvbnRleHQpOwogCkBAIC0yMjUsNyArMjI1
LDcgQEAgRUFQSSBFaW5hX0Jvb2wgZXdrX3ZpZXdfdXJpX3NldChFdmFzX09iamVjdCAqbywgY29u
c3QgY2hhciAqdXJpKTsKICAqCiAgKiBAcGFyYW0gbyB2aWV3IG9iamVjdCB0byBnZXQgY3VycmVu
dCBVUkkKICAqCi0gKiBAcmV0dXJuIGN1cnJlbnQgVVJJIG9uIHN1Y2Nlc3Mgb3IgQGMgMCBvbiBm
YWlsdXJlCisgKiBAcmV0dXJuIGN1cnJlbnQgVVJJIG9uIHN1Y2Nlc3Mgb3IgQGMgTlVMTCBvbiBm
YWlsdXJlCiAgKi8KIEVBUEkgY29uc3QgY2hhciAqZXdrX3ZpZXdfdXJpX2dldChjb25zdCBFdmFz
X09iamVjdCAqbyk7CiAKQEAgLTMxNSw3ICszMTUsNyBAQCBFQVBJIEVpbmFfQm9vbCAgICBld2tf
dmlld19mb3J3YXJkX3Bvc3NpYmxlKEV2YXNfT2JqZWN0ICpvKTsKICAqCiAgKiBAcGFyYW0gbyB2
aWV3IG9iamVjdCB0byBnZXQgY3VycmVudCB0aXRsZQogICoKLSAqIEByZXR1cm4gY3VycmVudCB0
aXRsZSBvbiBzdWNjZXNzIG9yIEBjIDAgb24gZmFpbHVyZQorICogQHJldHVybiBjdXJyZW50IHRp
dGxlIG9uIHN1Y2Nlc3Mgb3IgQGMgTlVMTCBvbiBmYWlsdXJlCiAgKi8KIEVBUEkgY29uc3QgY2hh
ciAqZXdrX3ZpZXdfdGl0bGVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsKIApAQCAtNDA1LDcg
KzQwNSw3IEBAIEVBUEkgRWluYV9Cb29sIGV3a192aWV3X2RldmljZV9waXhlbF9yYXRpb19zZXQo
RXZhc19PYmplY3QgKm8sIGZsb2F0IHJhdGlvKTsKICAqIHVzZSB0aGlzIG9uZS4KICAqCiAgKiBA
cGFyYW0gbyB2aWV3IG9iamVjdCB0byBjaGFuZ2UgdGhlbWUKLSAqIEBwYXJhbSBwYXRoIHRoZW1l
IHBhdGgsIG1heSBiZSBAYyAwIHRvIHJlc2V0IHRvIHRoZSBkZWZhdWx0IHRoZW1lCisgKiBAcGFy
YW0gcGF0aCB0aGVtZSBwYXRoLCBtYXkgYmUgQGMgTlVMTCB0byByZXNldCB0byB0aGUgZGVmYXVs
dCB0aGVtZQogICovCiBFQVBJIHZvaWQgZXdrX3ZpZXdfdGhlbWVfc2V0KEV2YXNfT2JqZWN0ICpv
LCBjb25zdCBjaGFyICpwYXRoKTsKIApAQCAtNDE2LDcgKzQxNiw3IEBAIEVBUEkgdm9pZCBld2tf
dmlld190aGVtZV9zZXQoRXZhc19PYmplY3QgKm8sIGNvbnN0IGNoYXIgKnBhdGgpOwogICoKICAq
IEBwYXJhbSBvIHZpZXcgb2JqZWN0IHRvIGdldCB0aGVtZSBwYXRoCiAgKgotICogQHJldHVybiB0
aGUgdGhlbWUgcGF0aCwgbWF5IGJlIEBjIDAgaWYgbm90IHNldAorICogQHJldHVybiB0aGUgdGhl
bWUgcGF0aCwgbWF5IGJlIEBjIE5VTEwgaWYgbm90IHNldAogICovCiBFQVBJIGNvbnN0IGNoYXIg
KmV3a192aWV3X3RoZW1lX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a193ZWJfcmVzb3VyY2UuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a193ZWJfcmVzb3VyY2UuaAppbmRleCAz
ZDc4ZDRiLi40N2ZkN2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfd2ViX3Jlc291cmNlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3dlYl9yZXNvdXJjZS5oCkBAIC01MCw3ICs1MCw3IEBAIEVBUEkgdm9pZCBld2tf
d2ViX3Jlc291cmNlX3JlZihFd2tfV2ViX1Jlc291cmNlICpyZXNvdXJjZSk7CiAvKioKICAqIERl
Y3JlYXNlcyB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIHRoZSBnaXZlbiBvYmplY3QsIHBvc3NpYmx5
IGZyZWVpbmcgaXQuCiAgKgotICogV2hlbiB0aGUgcmVmZXJlbmNlIGNvdW50IGl0J3MgcmVhY2hl
ZCAwLCB0aGUgcmVzb3VyY2UgaXMgZnJlZWQuCisgKiBXaGVuIHRoZSByZWZlcmVuY2UgY291bnQg
cmVhY2hlcyAwLCB0aGUgcmVzb3VyY2UgaXMgZnJlZWQuCiAgKgogICogQHBhcmFtIHJlc291cmNl
IHRoZSByZXNvdXJjZSBvYmplY3QgdG8gZGVjcmVhc2UgdGhlIHJlZmVyZW5jZSBjb3VudAogICov
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDkz
OWI4Zi4uM2NiODAyMSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA3LTE3ICBDaHJpc3RvcGhlIER1bWV6ICA8
Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CisKKyAgICAgICAgW0VGTF0gUmVwbGFjZSAwIGJ5
IE5VTEwgaW4gcHVibGljIGhlYWRlcnMgZG9jdW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE0NzAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggc3R5bGUgY2hlY2tpbmcgdG8gcHJvcGVy
bHkgZGV0ZWN0IEMgaGVhZGVycyBhcyBDCisgICAgICAgIGZpbGVzLiBXaXRob3V0IHRoaXMgY2hh
bmdlLCB0aGUgc3R5bGUgc2NyaXB0IHdvdWxkCisgICAgICAgIGNvbXBsYWluIGlmIHdlIHVzZSBO
VUxMIChpbnN0ZWFkIG9mIDAgLyBudWxsKSBpbiBDCisgICAgICAgIGhlYWRlcnMuCisKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weToKKyAgICAgICAgKF9G
aWxlU3RhdGUuX19pbml0X18pOgorICAgICAgICAoX0ZpbGVTdGF0ZS5pc19jKToKKyAgICAgICAg
KF9GaWxlU3RhdGUuaXNfY19vcl9vYmplY3RpdmVfYyk6CisKIDIwMTItMDctMTYgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIE1vdmUgVGFzay4o
Y3BwfGgpIGludG8gVGVzdFJ1bm5lci5hCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUv
Y2hlY2tlcnMvY3BwLnB5CmluZGV4IGFhYWQ4NWQuLmY1NGM5NjEgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwLnB5CkBAIC0xMTYxLDE0ICsxMTYxLDE4IEBA
IGNsYXNzIF9GaWxlU3RhdGUob2JqZWN0KToKICAgICAgICAgc2VsZi5fY2xlYW5fbGluZXMgPSBj
bGVhbl9saW5lcwogICAgICAgICBpZiBmaWxlX2V4dGVuc2lvbiBpbiBbJ20nLCAnbW0nXToKICAg
ICAgICAgICAgIHNlbGYuX2lzX29iamVjdGl2ZV9jID0gVHJ1ZQorICAgICAgICAgICAgc2VsZi5f
aXNfYyA9IEZhbHNlCiAgICAgICAgIGVsaWYgZmlsZV9leHRlbnNpb24gPT0gJ2gnOgogICAgICAg
ICAgICAgIyBJbiB0aGUgY2FzZSBvZiBoZWFkZXIgZmlsZXMsIGl0IGlzIHVua25vd24gaWYgdGhl
IGZpbGUKLSAgICAgICAgICAgICMgaXMgb2JqZWN0aXZlIGMgb3Igbm90LCBzbyBzZXQgdGhpcyB2
YWx1ZSB0byBOb25lIGFuZCB0aGVuCisgICAgICAgICAgICAjIGlzIGMgLyBvYmplY3RpdmUgYyBv
ciBub3QsIHNvIHNldCB0aGlzIHZhbHVlIHRvIE5vbmUgYW5kIHRoZW4KICAgICAgICAgICAgICMg
aWYgaXQgaXMgcmVxdWVzdGVkLCB1c2UgaGV1cmlzdGljcyB0byBndWVzcyB0aGUgdmFsdWUuCiAg
ICAgICAgICAgICBzZWxmLl9pc19vYmplY3RpdmVfYyA9IE5vbmUKKyAgICAgICAgICAgIHNlbGYu
X2lzX2MgPSBOb25lCisgICAgICAgIGVsaWYgZmlsZV9leHRlbnNpb24gPT0gJ2MnOgorICAgICAg
ICAgICAgc2VsZi5faXNfYyA9IFRydWUKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYu
X2lzX29iamVjdGl2ZV9jID0gRmFsc2UKLSAgICAgICAgc2VsZi5faXNfYyA9IGZpbGVfZXh0ZW5z
aW9uID09ICdjJworICAgICAgICAgICAgc2VsZi5faXNfYyA9IEZhbHNlCiAKICAgICBkZWYgc2V0
X2RpZF9pbnNpZGVfbmFtZXNwYWNlX2luZGVudF93YXJuaW5nKHNlbGYpOgogICAgICAgICBzZWxm
Ll9kaWRfaW5zaWRlX25hbWVzcGFjZV9pbmRlbnRfd2FybmluZyA9IFRydWUKQEAgLTExODgsOSAr
MTE5MiwyMSBAQCBjbGFzcyBfRmlsZVN0YXRlKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgc2Vs
Zi5faXNfb2JqZWN0aXZlX2MgPSBGYWxzZQogICAgICAgICByZXR1cm4gc2VsZi5faXNfb2JqZWN0
aXZlX2MKIAorICAgIGRlZiBpc19jKHNlbGYpOgorICAgICAgICBpZiBzZWxmLl9pc19jIGlzIE5v
bmU6CisgICAgICAgICAgICBmb3IgbGluZSBpbiBzZWxmLl9jbGVhbl9saW5lcy5saW5lczoKKyAg
ICAgICAgICAgICAgICAjIGlmIGV4dGVybiAiQyIgaXMgZm91bmQsIHRoZW4gaXQgaXMgYSBnb29k
IGluZGljYXRpb24KKyAgICAgICAgICAgICAgICAjIHRoYXQgd2UgaGF2ZSBhIEMgaGVhZGVyIGZp
bGUuCisgICAgICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCdleHRlcm4gIkMiJyk6Cisg
ICAgICAgICAgICAgICAgICAgIHNlbGYuX2lzX2MgPSBUcnVlCisgICAgICAgICAgICAgICAgICAg
IGJyZWFrCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuX2lzX2MgPSBG
YWxzZQorICAgICAgICByZXR1cm4gc2VsZi5faXNfYworCiAgICAgZGVmIGlzX2Nfb3Jfb2JqZWN0
aXZlX2Moc2VsZik6CiAgICAgICAgICIiIlJldHVybiB3aGV0aGVyIHRoZSBmaWxlIGV4dGVuc2lv
biBjb3JyZXNwb25kcyB0byBDIG9yIE9iamVjdGl2ZS1DLiIiIgotICAgICAgICByZXR1cm4gc2Vs
Zi5faXNfYyBvciBzZWxmLmlzX29iamVjdGl2ZV9jKCkKKyAgICAgICAgcmV0dXJuIHNlbGYuaXNf
YygpIG9yIHNlbGYuaXNfb2JqZWN0aXZlX2MoKQogCiAKIGRlZiBjaGVja19mb3Jfbm9uX3N0YW5k
YXJkX2NvbnN0cnVjdHMoY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>