<?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>110912</bug_id>
          
          <creation_ts>2013-02-26 14:50:24 -0800</creation_ts>
          <short_desc>[BlackBerry] Need WebPage API for animating scroll position &amp; zoom changes</short_desc>
          <delta_ts>2013-02-27 13:32:15 -0800</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 BlackBerry</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="Andrew Lo">anlo</reporter>
          <assigned_to name="Andrew Lo">anlo</assigned_to>
          <cc>mifenton</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>842394</commentid>
    <comment_count>0</comment_count>
    <who name="Andrew Lo">anlo</who>
    <bug_when>2013-02-26 14:50:24 -0800</bug_when>
    <thetext>Currently InputHandler and SelectionHandler set WebPagePrivate member variables to set up zoom/scroll animations.

This should be cleaned up so that WebPage has a function which simply starts a scroll/zoom adjustment animation. This also allows the web page client to also initiate scroll/zoom animations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842408</commentid>
    <comment_count>1</comment_count>
      <attachid>190368</attachid>
    <who name="Andrew Lo">anlo</who>
    <bug_when>2013-02-26 15:00:28 -0800</bug_when>
    <thetext>Created attachment 190368
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843230</commentid>
    <comment_count>2</comment_count>
      <attachid>190368</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-02-27 10:35:01 -0800</bug_when>
    <thetext>Comment on attachment 190368
Patch

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

&gt; Source/WebKit/blackberry/Api/WebPage_p.h:478
&gt; +    void animateToScaleAndDocumentScrollPosition(double destinationZoomScale, const WebCore::FloatPoint&amp; destinationScrollPosition, bool shouldConstrainScrollingToContentEdge = true);

You don&apos;t need the default parameter value here, this is private API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843255</commentid>
    <comment_count>3</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-02-27 10:52:37 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 190368 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=190368&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/blackberry/Api/WebPage_p.h:478
&gt; &gt; +    void animateToScaleAndDocumentScrollPosition(double destinationZoomScale, const WebCore::FloatPoint&amp; destinationScrollPosition, bool shouldConstrainScrollingToContentEdge = true);
&gt; 
&gt; You don&apos;t need the default parameter value here, this is private API.

Never mind this comment, we do use the private one internally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843262</commentid>
    <comment_count>4</comment_count>
      <attachid>190368</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-02-27 10:59:03 -0800</bug_when>
    <thetext>Comment on attachment 190368
Patch

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843265</commentid>
    <comment_count>5</comment_count>
      <attachid>190368</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-27 11:00:52 -0800</bug_when>
    <thetext>Comment on attachment 190368
Patch

Rejecting attachment 190368 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-commit-queue.appspot.com&apos;, &apos;--bot-id=gce-cq-01&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 190368, &apos;--port=chromium-xvfb&apos;]&quot; exit_code: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
ffset -4 lines).
Hunk #2 succeeded at 542 (offset -6 lines).
patching file Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp
patching file Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp
Hunk #1 FAILED at 801.
1 out of 1 hunk FAILED -- saving rejects to file Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp.rej

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, &apos;Rob Buis&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue

Full output: http://webkit-commit-queue.appspot.com/results/16796047</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843387</commentid>
    <comment_count>6</comment_count>
      <attachid>190578</attachid>
    <who name="Andrew Lo">anlo</who>
    <bug_when>2013-02-27 12:39:36 -0800</bug_when>
    <thetext>Created attachment 190578
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843417</commentid>
    <comment_count>7</comment_count>
      <attachid>190578</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-02-27 13:09:12 -0800</bug_when>
    <thetext>Comment on attachment 190578
Patch

Retry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843446</commentid>
    <comment_count>8</comment_count>
      <attachid>190578</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-27 13:32:12 -0800</bug_when>
    <thetext>Comment on attachment 190578
Patch

Clearing flags on attachment: 190578

Committed r144233: &lt;http://trac.webkit.org/changeset/144233&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843447</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-27 13:32:15 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190368</attachid>
            <date>2013-02-26 15:00:28 -0800</date>
            <delta_ts>2013-02-27 12:39:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110912-20130226175648.patch</filename>
            <type>text/plain</type>
            <size>16854</size>
            <attacher name="Andrew Lo">anlo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzOTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCAzMWQ3ODI3ZGY0ZWQxOGI3MTYxMjMwMDUyYzI2MTE0NTNiNWEyNzQ5Li45OWE5N2Q3Yjc1
NmVmY2UzN2NmNGRlNjI4NWZhM2JhZTM1NjAxYTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAxMy0wMi0yNiAgQW5kcmV3IExvICA8YW5sb0ByaW0u
Y29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBOZWVkIFdlYlBhZ2UgQVBJIGZvciBhbmltYXRp
bmcgc2Nyb2xsIHBvc2l0aW9uICYgem9vbSBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA5MTIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRlcm5hbGx5IHJldmlld2VkIGJ5IEpha29iIFBl
dHNvdml0cy4KKyAgICAgICAgSW50ZXJuYWwgUFIgMjg1NDY4LgorCisgICAgICAgIEFkZCBhbiBB
UEkgdG8gV2ViUGFnZSBmb3IgYW5pbWF0ZWQgc2Nyb2xsIHBvc2l0aW9uICYgem9vbSBsZXZlbAor
ICAgICAgICBhZGp1c3RtZW50cy4KKworICAgICAgICBIYXZlIElucHV0SGFuZGxlciAmIFNlbGVj
dGlvbkhhbmRsZXIgdXNlIHRoZSBuZXcgQVBJLgorCisgICAgICAgIFJlbmFtZSBzb21lIHZhcmlh
YmxlcyB0byByZWZsZWN0IHRoZSBmYWN0IHRoYXQgdGhleSBhcmUgbm90IG9ubHkKKyAgICAgICAg
dXNlZCBieSBibG9jayB6b29tIG5vdy4KKworICAgICAgICAqIEFwaS9XZWJQYWdlLmNwcDoKKyAg
ICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGU6OldlYlBhZ2VQcml2YXRl
KToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGU6Onpvb21CbG9j
ayk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2U6OmJsb2NrWm9vbSk6Cisg
ICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjphbmltYXRlVG9TY2Fs
ZUFuZERvY3VtZW50U2Nyb2xsUG9zaXRpb24pOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAg
KEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZTo6YW5pbWF0ZVRvU2NhbGVBbmREb2N1bWVudFNj
cm9sbFBvc2l0aW9uKToKKyAgICAgICAgKiBBcGkvV2ViUGFnZS5oOgorICAgICAgICAqIEFwaS9X
ZWJQYWdlX3AuaDoKKyAgICAgICAgKFdlYlBhZ2VQcml2YXRlKToKKyAgICAgICAgKiBXZWJLaXRT
dXBwb3J0L0lucHV0SGFuZGxlci5jcHA6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6Oklu
cHV0SGFuZGxlcjo6ZW5zdXJlRm9jdXNUZXh0RWxlbWVudFZpc2libGUpOgorICAgICAgICAqIFdl
YktpdFN1cHBvcnQvU2VsZWN0aW9uSGFuZGxlci5jcHA6CisgICAgICAgIChCbGFja0JlcnJ5OjpX
ZWJLaXQ6OlNlbGVjdGlvbkhhbmRsZXI6OmVuc3VyZVNlbGVjdGVkVGV4dFZpc2libGUpOgorCiAy
MDEzLTAyLTI1ICBNaWtlIEZlbnRvbiAgPG1pZmVudG9uQHJpbS5jb20+CiAKICAgICAgICAgW0Js
YWNrQmVycnldIEZvcmNlIGZvcm0gc3VibWlzc2lvbiB3aGVuIGltcGxpY2l0IHN1Ym1pc3Npb24g
ZmFpbHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2Uu
Y3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcAppbmRleCAxMjE2
Yjc0YTU4N2IwOGZiYmFlZmE5NTY5NzEwOTE2NGM4NjFhYzcwLi5kNDMzNTdlMmM1NTZjNGZiMTA4
ZDdmNWM0ODZlMDgwYjAwODYxY2YxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvQXBpL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2Vi
UGFnZS5jcHAKQEAgLTQwMyw3ICs0MDMsNyBAQCBXZWJQYWdlUHJpdmF0ZTo6V2ViUGFnZVByaXZh
dGUoV2ViUGFnZSogd2ViUGFnZSwgV2ViUGFnZUNsaWVudCogY2xpZW50LCBjb25zdCBJbgogICAg
ICwgbV9taW5pbXVtU2NhbGUoLTEuMCkKICAgICAsIG1fbWF4aW11bVNjYWxlKC0xLjApCiAgICAg
LCBtX2ZvcmNlUmVzcGVjdFZpZXdwb3J0QXJndW1lbnRzKGZhbHNlKQotICAgICwgbV9ibG9ja1pv
b21GaW5hbFNjYWxlKDEuMCkKKyAgICAsIG1fZmluYWxBbmltYXRpb25TY2FsZSgxLjApCiAgICAg
LCBtX2FuY2hvckluTm9kZVJlY3RSYXRpbygtMSwgLTEpCiAgICAgLCBtX2N1cnJlbnRCbG9ja1pv
b21Ob2RlKDApCiAgICAgLCBtX2N1cnJlbnRCbG9ja1pvb21BZGp1c3RlZE5vZGUoMCkKQEAgLTI5
OTMsNyArMjk5Myw3IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6Onpvb21CbG9jaygpCiAgICAgaWYg
KCFtX21haW5GcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgSW50UG9pbnQgYW5jaG9yKHJv
dW5kVW50cmFuc2Zvcm1lZFBvaW50KG1fZmluYWxCbG9ja1BvaW50KSk7CisgICAgSW50UG9pbnQg
YW5jaG9yKHJvdW5kVW50cmFuc2Zvcm1lZFBvaW50KG1fZmluYWxBbmltYXRpb25Eb2N1bWVudFNj
cm9sbFBvc2l0aW9uKSk7CiAgICAgYm9vbCB3aWxsVXNlVGV4dFJlZmxvdyA9IGZhbHNlOwogCiAj
aWYgRU5BQkxFKFZJRVdQT1JUX1JFRkxPVykKQEAgLTMwMDMsNyArMzAwMyw3IEBAIHZvaWQgV2Vi
UGFnZVByaXZhdGU6Onpvb21CbG9jaygpCiAjZW5kaWYKIAogICAgIFRyYW5zZm9ybWF0aW9uTWF0
cml4IHpvb207Ci0gICAgem9vbS5zY2FsZShtX2Jsb2NrWm9vbUZpbmFsU2NhbGUpOworICAgIHpv
b20uc2NhbGUobV9maW5hbEFuaW1hdGlvblNjYWxlKTsKICAgICAqbV90cmFuc2Zvcm1hdGlvbk1h
dHJpeCA9IHpvb207CiAgICAgLy8gRklYTUU6IERvIHdlIHJlYWxseSBuZWVkIHRvIHN1c3BlbmQv
cmVzdW1lIGJvdGggYmFja2luZ3N0b3JlIGFuZCBzY3JlZW4gaGVyZT8KICAgICBtX2JhY2tpbmdT
dG9yZS0+ZC0+c3VzcGVuZEJhY2tpbmdTdG9yZVVwZGF0ZXMoKTsKQEAgLTMwMjIsNyArMzAyMiw3
IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6Onpvb21CbG9jaygpCiAgICAgaWYgKHdpbGxVc2VUZXh0
UmVmbG93ICYmIG1fc2hvdWxkUmVmbG93QmxvY2spIHsKICAgICAgICAgSW50UmVjdCByZWZsb3dl
ZFJlY3QgPSByZWN0Rm9yTm9kZShtX2N1cnJlbnRCbG9ja1pvb21BZGp1c3RlZE5vZGUuZ2V0KCkp
OwogICAgICAgICByZWZsb3dlZFJlY3QgPSBhZGp1c3RSZWN0T2Zmc2V0Rm9yRnJhbWVPZmZzZXQo
cmVmbG93ZWRSZWN0LCBtX2N1cnJlbnRCbG9ja1pvb21BZGp1c3RlZE5vZGUuZ2V0KCkpOwotICAg
ICAgICByZWZsb3dlZFJlY3QubW92ZShyb3VuZFRyYW5zZm9ybWVkUG9pbnQobV9maW5hbEJsb2Nr
UG9pbnRSZWZsb3dPZmZzZXQpLngoKSwgcm91bmRUcmFuc2Zvcm1lZFBvaW50KG1fZmluYWxCbG9j
a1BvaW50UmVmbG93T2Zmc2V0KS55KCkpOworICAgICAgICByZWZsb3dlZFJlY3QubW92ZShyb3Vu
ZFRyYW5zZm9ybWVkUG9pbnQobV9maW5hbEFuaW1hdGlvbkRvY3VtZW50U2Nyb2xsUG9zaXRpb25S
ZWZsb3dPZmZzZXQpLngoKSwgcm91bmRUcmFuc2Zvcm1lZFBvaW50KG1fZmluYWxBbmltYXRpb25E
b2N1bWVudFNjcm9sbFBvc2l0aW9uUmVmbG93T2Zmc2V0KS55KCkpOwogICAgICAgICBSZW5kZXJP
YmplY3QqIHJlbmRlcmVyID0gbV9jdXJyZW50QmxvY2tab29tQWRqdXN0ZWROb2RlLT5yZW5kZXJl
cigpOwogICAgICAgICBJbnRQb2ludCB0b3BMZWZ0UG9pbnQocmVmbG93ZWRSZWN0LmxvY2F0aW9u
KCkpOwogICAgICAgICBpZiAocmVuZGVyZXIgJiYgcmVuZGVyZXItPmlzVGV4dCgpKSB7CkBAIC0z
MDU5LDcgKzMwNTksNyBAQCB2b2lkIFdlYlBhZ2VQcml2YXRlOjp6b29tQmxvY2soKQogICAgIH0g
ZWxzZSBpZiAod2lsbFVzZVRleHRSZWZsb3cpIHsKICAgICAgICAgSW50UmVjdCBmaW5hbFJlY3Qg
PSByZWN0Rm9yTm9kZShtX2N1cnJlbnRCbG9ja1pvb21BZGp1c3RlZE5vZGUuZ2V0KCkpOwogICAg
ICAgICBmaW5hbFJlY3QgPSBhZGp1c3RSZWN0T2Zmc2V0Rm9yRnJhbWVPZmZzZXQoZmluYWxSZWN0
LCBtX2N1cnJlbnRCbG9ja1pvb21BZGp1c3RlZE5vZGUuZ2V0KCkpOwotICAgICAgICBzZXRTY3Jv
bGxQb3NpdGlvbihJbnRQb2ludCgwLCBmaW5hbFJlY3QueSgpICsgbV9maW5hbEJsb2NrUG9pbnRS
ZWZsb3dPZmZzZXQueSgpKSk7CisgICAgICAgIHNldFNjcm9sbFBvc2l0aW9uKEludFBvaW50KDAs
IGZpbmFsUmVjdC55KCkgKyBtX2ZpbmFsQW5pbWF0aW9uRG9jdW1lbnRTY3JvbGxQb3NpdGlvblJl
Zmxvd09mZnNldC55KCkpKTsKICAgICAgICAgcmVzZXRCbG9ja1pvb20oKTsKICAgICB9CiAjZW5k
aWYKQEAgLTQ3MjYsMTcgKzQ3MjYsMTcgQEAgYm9vbCBXZWJQYWdlOjpibG9ja1pvb20oY29uc3Qg
UGxhdGZvcm06OkludFBvaW50JiBkb2N1bWVudFRhcmdldFBvaW50KQogCiAgICAgaWYgKG5ld0Js
b2NrSGVpZ2h0IDw9IHNjYWxlZFZpZXdwb3J0SGVpZ2h0KSB7CiAgICAgICAgIC8vIFRoZSBibG9j
ayBmaXRzIGluIHRoZSB2aWV3cG9ydCBzbyBjZW50ZXIgaXQuCi0gICAgICAgIGQtPm1fZmluYWxC
bG9ja1BvaW50ID0gRmxvYXRQb2ludChhbmNob3IueCgpIC0gZHgsIGFuY2hvci55KCkgLSBkeSk7
CisgICAgICAgIGQtPm1fZmluYWxBbmltYXRpb25Eb2N1bWVudFNjcm9sbFBvc2l0aW9uID0gRmxv
YXRQb2ludChhbmNob3IueCgpIC0gZHgsIGFuY2hvci55KCkgLSBkeSk7CiAgICAgfSBlbHNlIHsK
ICAgICAgICAgLy8gVGhlIGJsb2NrIGlzIGxvbmdlciB0aGFuIHRoZSB2aWV3cG9ydCBzbyB0b3Ag
YWxpZ24gaXQgYW5kIGFkZCAzIHBpeGVsIG1hcmdpbi4KLSAgICAgICAgZC0+bV9maW5hbEJsb2Nr
UG9pbnQgPSBGbG9hdFBvaW50KGFuY2hvci54KCkgLSBkeCwgYW5jaG9yLnkoKSAtIDMpOworICAg
ICAgICBkLT5tX2ZpbmFsQW5pbWF0aW9uRG9jdW1lbnRTY3JvbGxQb3NpdGlvbiA9IEZsb2F0UG9p
bnQoYW5jaG9yLngoKSAtIGR4LCBhbmNob3IueSgpIC0gMyk7CiAgICAgfQogCiAjaWYgRU5BQkxF
KFZJRVdQT1JUX1JFRkxPVykKICAgICAvLyBXZSBkb24ndCBrbm93IGhvdyBsb25nIHRoZSByZWZs
b3dlZCBibG9jayB3aWxsIGJlIHNvIHdlIHBvc2l0aW9uIGl0IGF0IHRoZSB0b3Agb2YgdGhlIHNj
cmVlbiB3aXRoIGEgc21hbGwgbWFyZ2luLgogICAgIGlmIChzZXR0aW5ncygpLT50ZXh0UmVmbG93
TW9kZSgpICE9IFdlYlNldHRpbmdzOjpUZXh0UmVmbG93RGlzYWJsZWQpIHsKLSAgICAgICAgZC0+
bV9maW5hbEJsb2NrUG9pbnQgPSBGbG9hdFBvaW50KGFuY2hvci54KCkgLSBkeCwgYW5jaG9yLnko
KSAtIDMpOwotICAgICAgICBkLT5tX2ZpbmFsQmxvY2tQb2ludFJlZmxvd09mZnNldCA9IEZsb2F0
UG9pbnQoLWR4LCAtMyk7CisgICAgICAgIGQtPm1fZmluYWxBbmltYXRpb25Eb2N1bWVudFNjcm9s
bFBvc2l0aW9uID0gRmxvYXRQb2ludChhbmNob3IueCgpIC0gZHgsIGFuY2hvci55KCkgLSAzKTsK
KyAgICAgICAgZC0+bV9maW5hbEFuaW1hdGlvbkRvY3VtZW50U2Nyb2xsUG9zaXRpb25SZWZsb3dP
ZmZzZXQgPSBGbG9hdFBvaW50KC1keCwgLTMpOwogICAgIH0KICNlbmRpZgogCkBAIC00NzQ0LDI1
ICs0NzQ0LDI1IEBAIGJvb2wgV2ViUGFnZTo6YmxvY2tab29tKGNvbnN0IFBsYXRmb3JtOjpJbnRQ
b2ludCYgZG9jdW1lbnRUYXJnZXRQb2ludCkKICAgICAvLyBub3QgYmUgdGhlIHNhbWUgYXMgdGhl
IG9yaWdpbmFsIG5vZGUgcmVjdCwgYW5kIGl0IGNvdWxkIGZvcmNlIHRoZSBvcmlnaW5hbCBub2Rl
IHJlY3Qgb2ZmIHRoZSBzY3JlZW4uCiAgICAgRmxvYXRSZWN0IGJyKGFuY2hvciwgRmxvYXRTaXpl
KHNjYWxlZFZpZXdwb3J0V2lkdGgsIHNjYWxlZFZpZXdwb3J0SGVpZ2h0KSk7CiAgICAgaWYgKCFi
ci5jb250YWlucyhJbnRQb2ludChkb2N1bWVudFRhcmdldFBvaW50KSkpIHsKLSAgICAgICAgZC0+
bV9maW5hbEJsb2NrUG9pbnRSZWZsb3dPZmZzZXQubW92ZSgwLCAoZG9jdW1lbnRUYXJnZXRQb2lu
dC55KCkgLSBzY2FsZWRWaWV3cG9ydEhlaWdodCAvIDIpIC0gZC0+bV9maW5hbEJsb2NrUG9pbnQu
eSgpKTsKLSAgICAgICAgZC0+bV9maW5hbEJsb2NrUG9pbnQgPSBGbG9hdFBvaW50KGQtPm1fZmlu
YWxCbG9ja1BvaW50LngoKSwgZG9jdW1lbnRUYXJnZXRQb2ludC55KCkgLSBzY2FsZWRWaWV3cG9y
dEhlaWdodCAvIDIpOworICAgICAgICBkLT5tX2ZpbmFsQW5pbWF0aW9uRG9jdW1lbnRTY3JvbGxQ
b3NpdGlvblJlZmxvd09mZnNldC5tb3ZlKDAsIChkb2N1bWVudFRhcmdldFBvaW50LnkoKSAtIHNj
YWxlZFZpZXdwb3J0SGVpZ2h0IC8gMikgLSBkLT5tX2ZpbmFsQW5pbWF0aW9uRG9jdW1lbnRTY3Jv
bGxQb3NpdGlvbi55KCkpOworICAgICAgICBkLT5tX2ZpbmFsQW5pbWF0aW9uRG9jdW1lbnRTY3Jv
bGxQb3NpdGlvbiA9IEZsb2F0UG9pbnQoZC0+bV9maW5hbEFuaW1hdGlvbkRvY3VtZW50U2Nyb2xs
UG9zaXRpb24ueCgpLCBkb2N1bWVudFRhcmdldFBvaW50LnkoKSAtIHNjYWxlZFZpZXdwb3J0SGVp
Z2h0IC8gMik7CiAgICAgfQogCiAgICAgLy8gQ2xhbXAgdGhlIGZpbmFsQmxvY2tQb2ludCB0byBu
b3QgY2F1c2UgYW55IG92ZXJmbG93IHNjcm9sbGluZy4KLSAgICBpZiAoZC0+bV9maW5hbEJsb2Nr
UG9pbnQueCgpIDwgMCkgewotICAgICAgICBkLT5tX2ZpbmFsQmxvY2tQb2ludC5zZXRYKDApOwot
ICAgICAgICBkLT5tX2ZpbmFsQmxvY2tQb2ludFJlZmxvd09mZnNldC5zZXRYKDApOwotICAgIH0g
ZWxzZSBpZiAoZC0+bV9maW5hbEJsb2NrUG9pbnQueCgpICsgc2NhbGVkVmlld3BvcnRXaWR0aCA+
IGQtPmNvbnRlbnRzU2l6ZSgpLndpZHRoKCkpIHsKLSAgICAgICAgZC0+bV9maW5hbEJsb2NrUG9p
bnQuc2V0WChkLT5jb250ZW50c1NpemUoKS53aWR0aCgpIC0gc2NhbGVkVmlld3BvcnRXaWR0aCk7
Ci0gICAgICAgIGQtPm1fZmluYWxCbG9ja1BvaW50UmVmbG93T2Zmc2V0LnNldFgoMCk7CisgICAg
aWYgKGQtPm1fZmluYWxBbmltYXRpb25Eb2N1bWVudFNjcm9sbFBvc2l0aW9uLngoKSA8IDApIHsK
KyAgICAgICAgZC0+bV9maW5hbEFuaW1hdGlvbkRvY3VtZW50U2Nyb2xsUG9zaXRpb24uc2V0WCgw
KTsKKyAgICAgICAgZC0+bV9maW5hbEFuaW1hdGlvbkRvY3VtZW50U2Nyb2xsUG9zaXRpb25SZWZs
b3dPZmZzZXQuc2V0WCgwKTsKKyAgICB9IGVsc2UgaWYgKGQtPm1fZmluYWxBbmltYXRpb25Eb2N1
bWVudFNjcm9sbFBvc2l0aW9uLngoKSArIHNjYWxlZFZpZXdwb3J0V2lkdGggPiBkLT5jb250ZW50
c1NpemUoKS53aWR0aCgpKSB7CisgICAgICAgIGQtPm1fZmluYWxBbmltYXRpb25Eb2N1bWVudFNj
cm9sbFBvc2l0aW9uLnNldFgoZC0+Y29udGVudHNTaXplKCkud2lkdGgoKSAtIHNjYWxlZFZpZXdw
b3J0V2lkdGgpOworICAgICAgICBkLT5tX2ZpbmFsQW5pbWF0aW9uRG9jdW1lbnRTY3JvbGxQb3Np
dGlvblJlZmxvd09mZnNldC5zZXRYKDApOwogICAgIH0KIAotICAgIGlmIChkLT5tX2ZpbmFsQmxv
Y2tQb2ludC55KCkgPCAwKSB7Ci0gICAgICAgIGQtPm1fZmluYWxCbG9ja1BvaW50LnNldFkoMCk7
Ci0gICAgICAgIGQtPm1fZmluYWxCbG9ja1BvaW50UmVmbG93T2Zmc2V0LnNldFkoMCk7Ci0gICAg
fSBlbHNlIGlmIChkLT5tX2ZpbmFsQmxvY2tQb2ludC55KCkgKyBzY2FsZWRWaWV3cG9ydEhlaWdo
dCA+IGQtPmNvbnRlbnRzU2l6ZSgpLmhlaWdodCgpKSB7Ci0gICAgICAgIGQtPm1fZmluYWxCbG9j
a1BvaW50LnNldFkoZC0+Y29udGVudHNTaXplKCkuaGVpZ2h0KCkgLSBzY2FsZWRWaWV3cG9ydEhl
aWdodCk7Ci0gICAgICAgIGQtPm1fZmluYWxCbG9ja1BvaW50UmVmbG93T2Zmc2V0LnNldFkoMCk7
CisgICAgaWYgKGQtPm1fZmluYWxBbmltYXRpb25Eb2N1bWVudFNjcm9sbFBvc2l0aW9uLnkoKSA8
IDApIHsKKyAgICAgICAgZC0+bV9maW5hbEFuaW1hdGlvbkRvY3VtZW50U2Nyb2xsUG9zaXRpb24u
c2V0WSgwKTsKKyAgICAgICAgZC0+bV9maW5hbEFuaW1hdGlvbkRvY3VtZW50U2Nyb2xsUG9zaXRp
b25SZWZsb3dPZmZzZXQuc2V0WSgwKTsKKyAgICB9IGVsc2UgaWYgKGQtPm1fZmluYWxBbmltYXRp
b25Eb2N1bWVudFNjcm9sbFBvc2l0aW9uLnkoKSArIHNjYWxlZFZpZXdwb3J0SGVpZ2h0ID4gZC0+
Y29udGVudHNTaXplKCkuaGVpZ2h0KCkpIHsKKyAgICAgICAgZC0+bV9maW5hbEFuaW1hdGlvbkRv
Y3VtZW50U2Nyb2xsUG9zaXRpb24uc2V0WShkLT5jb250ZW50c1NpemUoKS5oZWlnaHQoKSAtIHNj
YWxlZFZpZXdwb3J0SGVpZ2h0KTsKKyAgICAgICAgZC0+bV9maW5hbEFuaW1hdGlvbkRvY3VtZW50
U2Nyb2xsUG9zaXRpb25SZWZsb3dPZmZzZXQuc2V0WSgwKTsKICAgICB9CiAKICAgICAvLyBEb24n
dCBibG9jayB6b29tIGlmIHRoZSB1c2VyIGlzIHpvb21pbmcgYW5kIHRoZSBuZXcgc2NhbGUgaXMg
b25seSBtYXJnaW5hbGx5IGRpZmZlcmVudCBmcm9tIHRoZQpAQCAtNDc3MCw3ICs0NzcwLDcgQEAg
Ym9vbCBXZWJQYWdlOjpibG9ja1pvb20oY29uc3QgUGxhdGZvcm06OkludFBvaW50JiBkb2N1bWVu
dFRhcmdldFBvaW50KQogICAgIC8vIHRoYXQgdGhlIHpvb20gbGV2ZWwgaXMgdGhlIG1pbmltdW1T
Y2FsZS4KICAgICBpZiAoIWVuZE9mQmxvY2tab29tTW9kZSAmJiBhYnMobmV3U2NhbGUgLSBvbGRT
Y2FsZSkgLyBvbGRTY2FsZSA8IG1pbmltdW1FeHBhbmRpbmdSYXRpbykgewogICAgICAgICBjb25z
dCBkb3VibGUgbWluaW11bURpc3BsYWNlbWVudCA9IG1pbmltdW1FeHBhbmRpbmdSYXRpbyAqIHdl
YmtpdFRocmVhZFZpZXdwb3J0QWNjZXNzb3IoKS0+ZG9jdW1lbnRWaWV3cG9ydFNpemUoKS53aWR0
aCgpOwotICAgICAgICBpZiAob2xkU2NhbGUgPT0gZC0+bWluaW11bVNjYWxlKCkgfHwgKGRpc3Rh
bmNlQmV0d2VlblBvaW50cyhkLT5zY3JvbGxQb3NpdGlvbigpLCByb3VuZFVudHJhbnNmb3JtZWRQ
b2ludChkLT5tX2ZpbmFsQmxvY2tQb2ludCkpIDwgbWluaW11bURpc3BsYWNlbWVudCAmJiBhYnMo
bmV3U2NhbGUgLSBvbGRTY2FsZSkgLyBvbGRTY2FsZSA8IDAuMTApKSB7CisgICAgICAgIGlmIChv
bGRTY2FsZSA9PSBkLT5taW5pbXVtU2NhbGUoKSB8fCAoZGlzdGFuY2VCZXR3ZWVuUG9pbnRzKGQt
PnNjcm9sbFBvc2l0aW9uKCksIHJvdW5kVW50cmFuc2Zvcm1lZFBvaW50KGQtPm1fZmluYWxBbmlt
YXRpb25Eb2N1bWVudFNjcm9sbFBvc2l0aW9uKSkgPCBtaW5pbXVtRGlzcGxhY2VtZW50ICYmIGFi
cyhuZXdTY2FsZSAtIG9sZFNjYWxlKSAvIG9sZFNjYWxlIDwgMC4xMCkpIHsKICAgICAgICAgICAg
IGlmIChpc0ZpcnN0Wm9vbSkgewogICAgICAgICAgICAgICAgIGQtPnJlc2V0QmxvY2tab29tKCk7
CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNDc4MSwxMiArNDc4MSwxMiBAQCBi
b29sIFdlYlBhZ2U6OmJsb2NrWm9vbShjb25zdCBQbGF0Zm9ybTo6SW50UG9pbnQmIGRvY3VtZW50
VGFyZ2V0UG9pbnQpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBkLT5tX2Jsb2NrWm9vbUZpbmFs
U2NhbGUgPSBuZXdTY2FsZTsKKyAgICBkLT5tX2ZpbmFsQW5pbWF0aW9uU2NhbGUgPSBuZXdTY2Fs
ZTsKIAogICAgIC8vIFdlIHNldCB0aGlzIGhlcmUgdG8gbWFrZSBzdXJlIHdlIGRvbid0IHRyeSB0
byByZS1yZW5kZXIgdGhlIHBhZ2UgYXQgYSBkaWZmZXJlbnQgem9vbSBsZXZlbCBkdXJpbmcgbG9h
ZGluZy4KICAgICBkLT5tX3VzZXJQZXJmb3JtZWRNYW51YWxab29tID0gdHJ1ZTsKICAgICBkLT5t
X3VzZXJQZXJmb3JtZWRNYW51YWxTY3JvbGwgPSB0cnVlOwotICAgIGQtPm1fY2xpZW50LT5hbmlt
YXRlQmxvY2tab29tKGQtPm1fYmxvY2tab29tRmluYWxTY2FsZSwgZC0+bV9maW5hbEJsb2NrUG9p
bnQpOworICAgIGQtPm1fY2xpZW50LT5hbmltYXRlQmxvY2tab29tKGQtPm1fZmluYWxBbmltYXRp
b25TY2FsZSwgZC0+bV9maW5hbEFuaW1hdGlvbkRvY3VtZW50U2Nyb2xsUG9zaXRpb24pOwogCiAg
ICAgcmV0dXJuIHRydWU7CiB9CkBAIC02NDExLDUgKzY0MTEsMjQgQEAgdm9pZCBXZWJQYWdlOjpu
b3RpZmljYXRpb25TaG93bihjb25zdCBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6U3RyaW5nJiBub3Rp
ZmljYXRpb24KICNlbmRpZgogfQogCit2b2lkIFdlYlBhZ2VQcml2YXRlOjphbmltYXRlVG9TY2Fs
ZUFuZERvY3VtZW50U2Nyb2xsUG9zaXRpb24oZG91YmxlIGRlc3RpbmF0aW9uWm9vbVNjYWxlLCBj
b25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBkZXN0aW5hdGlvblNjcm9sbFBvc2l0aW9uLCBib29s
IHNob3VsZENvbnN0cmFpblNjcm9sbGluZ1RvQ29udGVudEVkZ2UpCit7CisgICAgaWYgKGRlc3Rp
bmF0aW9uU2Nyb2xsUG9zaXRpb24gPT0gc2Nyb2xsUG9zaXRpb24oKSAmJiBkZXN0aW5hdGlvblpv
b21TY2FsZSA9PSBjdXJyZW50U2NhbGUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9maW5h
bEFuaW1hdGlvbkRvY3VtZW50U2Nyb2xsUG9zaXRpb24gPSBkZXN0aW5hdGlvblNjcm9sbFBvc2l0
aW9uOworICAgIG1fZmluYWxBbmltYXRpb25TY2FsZSA9IGRlc3RpbmF0aW9uWm9vbVNjYWxlOwor
ICAgIG1fc2hvdWxkUmVmbG93QmxvY2sgPSBmYWxzZTsKKyAgICBtX3VzZXJQZXJmb3JtZWRNYW51
YWxab29tID0gdHJ1ZTsKKyAgICBtX3VzZXJQZXJmb3JtZWRNYW51YWxTY3JvbGwgPSB0cnVlOwor
ICAgIG1fc2hvdWxkQ29uc3RyYWluU2Nyb2xsaW5nVG9Db250ZW50RWRnZSA9IHNob3VsZENvbnN0
cmFpblNjcm9sbGluZ1RvQ29udGVudEVkZ2U7CisgICAgY2xpZW50KCktPmFuaW1hdGVCbG9ja1pv
b20oZGVzdGluYXRpb25ab29tU2NhbGUsIGRlc3RpbmF0aW9uU2Nyb2xsUG9zaXRpb24pOworfQor
Cit2b2lkIFdlYlBhZ2U6OmFuaW1hdGVUb1NjYWxlQW5kRG9jdW1lbnRTY3JvbGxQb3NpdGlvbihk
b3VibGUgZGVzdGluYXRpb25ab29tU2NhbGUsIGNvbnN0IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpG
bG9hdFBvaW50JiBkZXN0aW5hdGlvblNjcm9sbFBvc2l0aW9uLCBib29sIHNob3VsZENvbnN0cmFp
blNjcm9sbGluZ1RvQ29udGVudEVkZ2UpCit7CisgICAgZC0+YW5pbWF0ZVRvU2NhbGVBbmREb2N1
bWVudFNjcm9sbFBvc2l0aW9uKGRlc3RpbmF0aW9uWm9vbVNjYWxlLCBkZXN0aW5hdGlvblNjcm9s
bFBvc2l0aW9uLCBzaG91bGRDb25zdHJhaW5TY3JvbGxpbmdUb0NvbnRlbnRFZGdlKTsKK30KKwog
fQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmgg
Yi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuaAppbmRleCAyNWMxYzQ2OTgy
N2FlNzVkZDAxZTY5MDg5MzkwMzJiMzdkZmY2ZDAyLi5mY2NlYTNmZDNhM2YxYjFiN2EyMjg4YjRh
MjBkMWNlYTA1NTc0NzEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBp
L1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuaApA
QCAtMzg3LDYgKzM4Nyw4IEBAIHB1YmxpYzoKICAgICB2b2lkIG5vdGlmaWNhdGlvbkVycm9yKGNv
bnN0IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpTdHJpbmcmIG5vdGlmaWNhdGlvbklkKTsKICAgICB2
b2lkIG5vdGlmaWNhdGlvblNob3duKGNvbnN0IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpTdHJpbmcm
IG5vdGlmaWNhdGlvbklkKTsKIAorICAgIHZvaWQgYW5pbWF0ZVRvU2NhbGVBbmREb2N1bWVudFNj
cm9sbFBvc2l0aW9uKGRvdWJsZSBkZXN0aW5hdGlvblpvb21TY2FsZSwgY29uc3QgQmxhY2tCZXJy
eTo6UGxhdGZvcm06OkZsb2F0UG9pbnQmIGRlc3RpbmF0aW9uU2Nyb2xsUG9zaXRpb24sIGJvb2wg
c2hvdWxkQ29uc3RyYWluU2Nyb2xsaW5nVG9Db250ZW50RWRnZSA9IHRydWUpOworCiBwcml2YXRl
OgogICAgIHZpcnR1YWwgfldlYlBhZ2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L0FwaS9XZWJQYWdlX3AuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkv
V2ViUGFnZV9wLmgKaW5kZXggMDAxMzYyZGNhZGM3YjE2ZjA5YjdiMzg2NDRlNDE4MTI0YjgwMjkz
NS4uZmNmOTNhOTNiZjY5ZTgyNjJiMjNmMWM4NGNlM2JkZjQ4YmM0ODYxYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlX3AuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VfcC5oCkBAIC00NzUsNiArNDc1LDggQEAgcHVibGlj
OgogICAgIE5vdGlmaWNhdGlvbk1hbmFnZXImIG5vdGlmaWNhdGlvbk1hbmFnZXIoKSB7IHJldHVy
biBtX25vdGlmaWNhdGlvbk1hbmFnZXI7IH07CiAjZW5kaWYKIAorICAgIHZvaWQgYW5pbWF0ZVRv
U2NhbGVBbmREb2N1bWVudFNjcm9sbFBvc2l0aW9uKGRvdWJsZSBkZXN0aW5hdGlvblpvb21TY2Fs
ZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgZGVzdGluYXRpb25TY3JvbGxQb3NpdGlvbiwg
Ym9vbCBzaG91bGRDb25zdHJhaW5TY3JvbGxpbmdUb0NvbnRlbnRFZGdlID0gdHJ1ZSk7CisKICAg
ICBXZWJQYWdlKiBtX3dlYlBhZ2U7CiAgICAgV2ViUGFnZUNsaWVudCogbV9jbGllbnQ7CiAgICAg
V2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50QmxhY2tCZXJyeSogbV9pbnNwZWN0b3JDbGllbnQ7CkBA
IC01NDYsMTAgKzU0OCwxMCBAQCBwdWJsaWM6CiAgICAgZG91YmxlIG1fbWF4aW11bVNjYWxlOwog
ICAgIGJvb2wgbV9mb3JjZVJlc3BlY3RWaWV3cG9ydEFyZ3VtZW50czsKIAotICAgIC8vIEJsb2Nr
IHpvb20gYW5pbWF0aW9uIGRhdGEuCi0gICAgV2ViQ29yZTo6RmxvYXRQb2ludCBtX2ZpbmFsQmxv
Y2tQb2ludDsKLSAgICBXZWJDb3JlOjpGbG9hdFBvaW50IG1fZmluYWxCbG9ja1BvaW50UmVmbG93
T2Zmc2V0OwotICAgIGRvdWJsZSBtX2Jsb2NrWm9vbUZpbmFsU2NhbGU7CisgICAgLy8gQmxvY2sg
em9vbSAmIHpvb20vc2Nyb2xsIGFuaW1hdGlvbiBkYXRhLgorICAgIFdlYkNvcmU6OkZsb2F0UG9p
bnQgbV9maW5hbEFuaW1hdGlvbkRvY3VtZW50U2Nyb2xsUG9zaXRpb247CisgICAgV2ViQ29yZTo6
RmxvYXRQb2ludCBtX2ZpbmFsQW5pbWF0aW9uRG9jdW1lbnRTY3JvbGxQb3NpdGlvblJlZmxvd09m
ZnNldDsKKyAgICBkb3VibGUgbV9maW5hbEFuaW1hdGlvblNjYWxlOwogICAgIFJlZlB0cjxXZWJD
b3JlOjpOb2RlPiBtX2N1cnJlbnRQaW5jaFpvb21Ob2RlOwogICAgIFdlYkNvcmU6OkZsb2F0UG9p
bnQgbV9hbmNob3JJbk5vZGVSZWN0UmF0aW87CiAgICAgUmVmUHRyPFdlYkNvcmU6Ok5vZGU+IG1f
Y3VycmVudEJsb2NrWm9vbU5vZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvV2ViS2l0U3VwcG9ydC9JbnB1dEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L1dlYktpdFN1cHBvcnQvSW5wdXRIYW5kbGVyLmNwcAppbmRleCA2NzQ1M2U4MzgxYTVlYTBl
OTc3NjNhNWE3ZmY1NDUxYTYxZjk1OTEwLi44ZjY4OGQ3Njk5MWRmY2ZlMDkwYTg1MzFlOTA3MTg3
YWMyMGZhOTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3Vw
cG9ydC9JbnB1dEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJL
aXRTdXBwb3J0L0lucHV0SGFuZGxlci5jcHAKQEAgLTEzODEsMjIgKzEzODEsMTMgQEAgdm9pZCBJ
bnB1dEhhbmRsZXI6OmVuc3VyZUZvY3VzVGV4dEVsZW1lbnRWaXNpYmxlKENhcmV0U2Nyb2xsVHlw
ZSBzY3JvbGxUeXBlKQogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKGRlc3RpbmF0aW9uU2Ny
b2xsTG9jYXRpb24gIT0gbWFpbkZyYW1lVmlldy0+c2Nyb2xsUG9zaXRpb24oKSB8fCB6b29tU2Nh
bGVSZXF1aXJlZCAhPSBtX3dlYlBhZ2UtPmN1cnJlbnRTY2FsZSgpKSB7Ci0gICAgICAgIElucHV0
TG9nKFBsYXRmb3JtOjpMb2dMZXZlbEluZm8sCi0gICAgICAgICAgICAiSW5wdXRIYW5kbGVyOjpl
bnN1cmVGb2N1c1RleHRFbGVtZW50VmlzaWJsZSB6b29taW5nIGluIHRvICVmIGZyb20gJWYgYW5k
IHNjcm9sbGluZyB0byBwb2ludCAlcyBmcm9tICVzIiwKLSAgICAgICAgICAgIHpvb21TY2FsZVJl
cXVpcmVkLCBtX3dlYlBhZ2UtPmN1cnJlbnRTY2FsZSgpLAotICAgICAgICAgICAgUGxhdGZvcm06
OkludFBvaW50KGRlc3RpbmF0aW9uU2Nyb2xsTG9jYXRpb24pLnRvU3RyaW5nKCkuY19zdHIoKSwK
LSAgICAgICAgICAgIFBsYXRmb3JtOjpJbnRQb2ludChtYWluRnJhbWVWaWV3LT5zY3JvbGxQb3Np
dGlvbigpKS50b1N0cmluZygpLmNfc3RyKCkpOwotCi0gICAgICAgIC8vIEFuaW1hdGUgdG8gZ2l2
ZW4gc2Nyb2xsIHBvc2l0aW9uICYgem9vbSBsZXZlbAotICAgICAgICBtX3dlYlBhZ2UtPm1fZmlu
YWxCbG9ja1BvaW50ID0gV2ViQ29yZTo6RmxvYXRQb2ludChkZXN0aW5hdGlvblNjcm9sbExvY2F0
aW9uKTsKLSAgICAgICAgbV93ZWJQYWdlLT5tX2Jsb2NrWm9vbUZpbmFsU2NhbGUgPSB6b29tU2Nh
bGVSZXF1aXJlZDsKLSAgICAgICAgbV93ZWJQYWdlLT5tX3Nob3VsZFJlZmxvd0Jsb2NrID0gZmFs
c2U7Ci0gICAgICAgIG1fd2ViUGFnZS0+bV91c2VyUGVyZm9ybWVkTWFudWFsWm9vbSA9IHRydWU7
Ci0gICAgICAgIG1fd2ViUGFnZS0+bV91c2VyUGVyZm9ybWVkTWFudWFsU2Nyb2xsID0gdHJ1ZTsK
LSAgICAgICAgbV93ZWJQYWdlLT5tX3Nob3VsZENvbnN0cmFpblNjcm9sbGluZ1RvQ29udGVudEVk
Z2UgPSBzaG91bGRDb25zdHJhaW5TY3JvbGxpbmdUb0NvbnRlbnRFZGdlOwotICAgICAgICBtX3dl
YlBhZ2UtPmNsaWVudCgpLT5hbmltYXRlQmxvY2tab29tKHpvb21TY2FsZVJlcXVpcmVkLCBtX3dl
YlBhZ2UtPm1fZmluYWxCbG9ja1BvaW50KTsKLSAgICB9CisgICAgSW5wdXRMb2coUGxhdGZvcm06
OkxvZ0xldmVsSW5mbywKKyAgICAgICAgIklucHV0SGFuZGxlcjo6ZW5zdXJlRm9jdXNUZXh0RWxl
bWVudFZpc2libGUgem9vbWluZyBpbiB0byAlZiBmcm9tICVmIGFuZCBzY3JvbGxpbmcgdG8gcG9p
bnQgJXMgZnJvbSAlcyIsCisgICAgICAgIHpvb21TY2FsZVJlcXVpcmVkLCBtX3dlYlBhZ2UtPmN1
cnJlbnRTY2FsZSgpLAorICAgICAgICBQbGF0Zm9ybTo6SW50UG9pbnQoZGVzdGluYXRpb25TY3Jv
bGxMb2NhdGlvbikudG9TdHJpbmcoKS5jX3N0cigpLAorICAgICAgICBQbGF0Zm9ybTo6SW50UG9p
bnQobWFpbkZyYW1lVmlldy0+c2Nyb2xsUG9zaXRpb24oKSkudG9TdHJpbmcoKS5jX3N0cigpKTsK
KworICAgIG1fd2ViUGFnZS0+YW5pbWF0ZVRvU2NhbGVBbmREb2N1bWVudFNjcm9sbFBvc2l0aW9u
KHpvb21TY2FsZVJlcXVpcmVkLCBXZWJDb3JlOjpGbG9hdFBvaW50KGRlc3RpbmF0aW9uU2Nyb2xs
TG9jYXRpb24pLCBzaG91bGRDb25zdHJhaW5TY3JvbGxpbmdUb0NvbnRlbnRFZGdlKTsKIH0KIAog
dm9pZCBJbnB1dEhhbmRsZXI6OmVuc3VyZUZvY3VzUGx1Z2luRWxlbWVudFZpc2libGUoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvU2VsZWN0aW9u
SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9TZWxl
Y3Rpb25IYW5kbGVyLmNwcAppbmRleCBkNDcxNzAxMmM0NTBjMjkzZjExYWZkNWY5Njk3MmY5ZWEy
MWFkMzllLi5mMzVkZGE2ZmM3ZDI3YzRmNzJiYzU3YTA4NTU5MTljNzcxOTEyODMwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9TZWxlY3Rpb25IYW5k
bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9TZWxl
Y3Rpb25IYW5kbGVyLmNwcApAQCAtODAxLDE1ICs4MDEsOCBAQCBib29sIFNlbGVjdGlvbkhhbmRs
ZXI6OmVuc3VyZVNlbGVjdGVkVGV4dFZpc2libGUoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBv
aW50LAogICAgIHJldmVhbFJlY3Quc2V0WChzdGQ6Om1pbihzdGQ6Om1heChyZXZlYWxSZWN0Lngo
KSwgMCksIG1fd2ViUGFnZS0+bWF4aW11bVNjcm9sbFBvc2l0aW9uKCkueCgpKSk7CiAgICAgcmV2
ZWFsUmVjdC5zZXRZKHN0ZDo6bWluKHN0ZDo6bWF4KHJldmVhbFJlY3QueSgpLCAwKSwgbV93ZWJQ
YWdlLT5tYXhpbXVtU2Nyb2xsUG9zaXRpb24oKS55KCkpKTsKIAotICAgIGlmIChyZXZlYWxSZWN0
LmxvY2F0aW9uKCkgIT0gc2Nyb2xsUG9zaXRpb24pIHsKLSAgICAgICAgLy8gQW5pbWF0ZSBzY3Jv
bGwgcG9zaXRpb24gdG8gcmV2ZWFsUmVjdC4KLSAgICAgICAgbV93ZWJQYWdlLT5tX2ZpbmFsQmxv
Y2tQb2ludCA9IFdlYkNvcmU6OkZsb2F0UG9pbnQocmV2ZWFsUmVjdC54KCksIHJldmVhbFJlY3Qu
eSgpKTsKLSAgICAgICAgbV93ZWJQYWdlLT5tX2Jsb2NrWm9vbUZpbmFsU2NhbGUgPSBtX3dlYlBh
Z2UtPm1fd2ViUGFnZS0+Y3VycmVudFNjYWxlKCk7IC8vIERvbid0IHpvb20uCi0gICAgICAgIG1f
d2ViUGFnZS0+bV9zaG91bGRSZWZsb3dCbG9jayA9IGZhbHNlOwotICAgICAgICBtX3dlYlBhZ2Ut
Pm1fdXNlclBlcmZvcm1lZE1hbnVhbFpvb20gPSB0cnVlOwotICAgICAgICBtX3dlYlBhZ2UtPm1f
dXNlclBlcmZvcm1lZE1hbnVhbFNjcm9sbCA9IHRydWU7Ci0gICAgICAgIG1fd2ViUGFnZS0+Y2xp
ZW50KCktPmFuaW1hdGVCbG9ja1pvb20obV93ZWJQYWdlLT5tX3dlYlBhZ2UtPmN1cnJlbnRTY2Fs
ZSgpLCBtX3dlYlBhZ2UtPm1fZmluYWxCbG9ja1BvaW50KTsKLSAgICB9CisgICAgLy8gQW5pbWF0
ZSBzY3JvbGwgcG9zaXRpb24gdG8gcmV2ZWFsUmVjdC4KKyAgICBtX3dlYlBhZ2UtPmFuaW1hdGVU
b1NjYWxlQW5kRG9jdW1lbnRTY3JvbGxQb3NpdGlvbihtX3dlYlBhZ2UtPmN1cnJlbnRTY2FsZSgp
IC8qIERvbid0IHpvb20gKi8sIFdlYkNvcmU6OkZsb2F0UG9pbnQocmV2ZWFsUmVjdC54KCksIHJl
dmVhbFJlY3QueSgpKSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190578</attachid>
            <date>2013-02-27 12:39:36 -0800</date>
            <delta_ts>2013-02-27 13:32:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110912-20130227153550.patch</filename>
            <type>text/plain</type>
            <size>15244</size>
            <attacher name="Andrew Lo">anlo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzOTQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCAzMWQ3ODI3ZGY0ZWQxOGI3MTYxMjMwMDUyYzI2MTE0NTNiNWEyNzQ5Li43ZDExNTMyMTVj
ZTZmYjY5MDFjNTc2Y2FhZTc2ZTc2OTJhNDU0NmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwzNCBAQAorMjAxMy0wMi0yNiAgQW5kcmV3IExvICA8YW5sb0ByaW0u
Y29tPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSBOZWVkIFdlYlBhZ2UgQVBJIGZvciBhbmltYXRp
bmcgc2Nyb2xsIHBvc2l0aW9uICYgem9vbSBjaGFuZ2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA5MTIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRlcm5hbGx5IHJldmlld2VkIGJ5IEpha29iIFBl
dHNvdml0cy4KKyAgICAgICAgSW50ZXJuYWwgUFIgMjg1NDY4LgorCisgICAgICAgIEFkZCBhbiBB
UEkgdG8gV2ViUGFnZSBmb3IgYW5pbWF0ZWQgc2Nyb2xsIHBvc2l0aW9uICYgem9vbSBsZXZlbAor
ICAgICAgICBhZGp1c3RtZW50cy4KKworICAgICAgICBIYXZlIElucHV0SGFuZGxlciB1c2UgdGhl
IG5ldyBBUEkuCisKKyAgICAgICAgUmVuYW1lIHNvbWUgdmFyaWFibGVzIHRvIHJlZmxlY3QgdGhl
IGZhY3QgdGhhdCB0aGV5IGFyZSBub3Qgb25seQorICAgICAgICB1c2VkIGJ5IGJsb2NrIHpvb20g
bm93LgorCisgICAgICAgICogQXBpL1dlYlBhZ2UuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6
V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6V2ViUGFnZVByaXZhdGUpOgorICAgICAgICAoQmxhY2tC
ZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6em9vbUJsb2NrKToKKyAgICAgICAgKEJsYWNr
QmVycnk6OldlYktpdDo6V2ViUGFnZTo6YmxvY2tab29tKToKKyAgICAgICAgKEJsYWNrQmVycnk6
OldlYktpdDo6V2ViUGFnZVByaXZhdGU6OmFuaW1hdGVUb1NjYWxlQW5kRG9jdW1lbnRTY3JvbGxQ
b3NpdGlvbik6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0
OjpXZWJQYWdlOjphbmltYXRlVG9TY2FsZUFuZERvY3VtZW50U2Nyb2xsUG9zaXRpb24pOgorICAg
ICAgICAqIEFwaS9XZWJQYWdlLmg6CisgICAgICAgICogQXBpL1dlYlBhZ2VfcC5oOgorICAgICAg
ICAoV2ViUGFnZVByaXZhdGUpOgorICAgICAgICAqIFdlYktpdFN1cHBvcnQvSW5wdXRIYW5kbGVy
LmNwcDoKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6SW5wdXRIYW5kbGVyOjplbnN1cmVG
b2N1c1RleHRFbGVtZW50VmlzaWJsZSk6CisKIDIwMTMtMDItMjUgIE1pa2UgRmVudG9uICA8bWlm
ZW50b25AcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gRm9yY2UgZm9ybSBzdWJtaXNz
aW9uIHdoZW4gaW1wbGljaXQgc3VibWlzc2lvbiBmYWlscy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvQXBpL1dlYlBhZ2UuY3BwCmluZGV4IDEyMTZiNzRhNTg3YjA4ZmJiYWVmYTk1Njk3MTA5MTY0
Yzg2MWFjNzAuLmQ0MzM1N2UyYzU1NmM0ZmIxMDhkN2Y1YzQ4NmUwODBiMDA4NjFjZjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcApAQCAtNDAzLDcgKzQwMyw3IEBA
IFdlYlBhZ2VQcml2YXRlOjpXZWJQYWdlUHJpdmF0ZShXZWJQYWdlKiB3ZWJQYWdlLCBXZWJQYWdl
Q2xpZW50KiBjbGllbnQsIGNvbnN0IEluCiAgICAgLCBtX21pbmltdW1TY2FsZSgtMS4wKQogICAg
ICwgbV9tYXhpbXVtU2NhbGUoLTEuMCkKICAgICAsIG1fZm9yY2VSZXNwZWN0Vmlld3BvcnRBcmd1
bWVudHMoZmFsc2UpCi0gICAgLCBtX2Jsb2NrWm9vbUZpbmFsU2NhbGUoMS4wKQorICAgICwgbV9m
aW5hbEFuaW1hdGlvblNjYWxlKDEuMCkKICAgICAsIG1fYW5jaG9ySW5Ob2RlUmVjdFJhdGlvKC0x
LCAtMSkKICAgICAsIG1fY3VycmVudEJsb2NrWm9vbU5vZGUoMCkKICAgICAsIG1fY3VycmVudEJs
b2NrWm9vbUFkanVzdGVkTm9kZSgwKQpAQCAtMjk5Myw3ICsyOTkzLDcgQEAgdm9pZCBXZWJQYWdl
UHJpdmF0ZTo6em9vbUJsb2NrKCkKICAgICBpZiAoIW1fbWFpbkZyYW1lKQogICAgICAgICByZXR1
cm47CiAKLSAgICBJbnRQb2ludCBhbmNob3Iocm91bmRVbnRyYW5zZm9ybWVkUG9pbnQobV9maW5h
bEJsb2NrUG9pbnQpKTsKKyAgICBJbnRQb2ludCBhbmNob3Iocm91bmRVbnRyYW5zZm9ybWVkUG9p
bnQobV9maW5hbEFuaW1hdGlvbkRvY3VtZW50U2Nyb2xsUG9zaXRpb24pKTsKICAgICBib29sIHdp
bGxVc2VUZXh0UmVmbG93ID0gZmFsc2U7CiAKICNpZiBFTkFCTEUoVklFV1BPUlRfUkVGTE9XKQpA
QCAtMzAwMyw3ICszMDAzLDcgQEAgdm9pZCBXZWJQYWdlUHJpdmF0ZTo6em9vbUJsb2NrKCkKICNl
bmRpZgogCiAgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggem9vbTsKLSAgICB6b29tLnNjYWxlKG1f
YmxvY2tab29tRmluYWxTY2FsZSk7CisgICAgem9vbS5zY2FsZShtX2ZpbmFsQW5pbWF0aW9uU2Nh
bGUpOwogICAgICptX3RyYW5zZm9ybWF0aW9uTWF0cml4ID0gem9vbTsKICAgICAvLyBGSVhNRTog
RG8gd2UgcmVhbGx5IG5lZWQgdG8gc3VzcGVuZC9yZXN1bWUgYm90aCBiYWNraW5nc3RvcmUgYW5k
IHNjcmVlbiBoZXJlPwogICAgIG1fYmFja2luZ1N0b3JlLT5kLT5zdXNwZW5kQmFja2luZ1N0b3Jl
VXBkYXRlcygpOwpAQCAtMzAyMiw3ICszMDIyLDcgQEAgdm9pZCBXZWJQYWdlUHJpdmF0ZTo6em9v
bUJsb2NrKCkKICAgICBpZiAod2lsbFVzZVRleHRSZWZsb3cgJiYgbV9zaG91bGRSZWZsb3dCbG9j
aykgewogICAgICAgICBJbnRSZWN0IHJlZmxvd2VkUmVjdCA9IHJlY3RGb3JOb2RlKG1fY3VycmVu
dEJsb2NrWm9vbUFkanVzdGVkTm9kZS5nZXQoKSk7CiAgICAgICAgIHJlZmxvd2VkUmVjdCA9IGFk
anVzdFJlY3RPZmZzZXRGb3JGcmFtZU9mZnNldChyZWZsb3dlZFJlY3QsIG1fY3VycmVudEJsb2Nr
Wm9vbUFkanVzdGVkTm9kZS5nZXQoKSk7Ci0gICAgICAgIHJlZmxvd2VkUmVjdC5tb3ZlKHJvdW5k
VHJhbnNmb3JtZWRQb2ludChtX2ZpbmFsQmxvY2tQb2ludFJlZmxvd09mZnNldCkueCgpLCByb3Vu
ZFRyYW5zZm9ybWVkUG9pbnQobV9maW5hbEJsb2NrUG9pbnRSZWZsb3dPZmZzZXQpLnkoKSk7Cisg
ICAgICAgIHJlZmxvd2VkUmVjdC5tb3ZlKHJvdW5kVHJhbnNmb3JtZWRQb2ludChtX2ZpbmFsQW5p
bWF0aW9uRG9jdW1lbnRTY3JvbGxQb3NpdGlvblJlZmxvd09mZnNldCkueCgpLCByb3VuZFRyYW5z
Zm9ybWVkUG9pbnQobV9maW5hbEFuaW1hdGlvbkRvY3VtZW50U2Nyb2xsUG9zaXRpb25SZWZsb3dP
ZmZzZXQpLnkoKSk7CiAgICAgICAgIFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSBtX2N1cnJlbnRC
bG9ja1pvb21BZGp1c3RlZE5vZGUtPnJlbmRlcmVyKCk7CiAgICAgICAgIEludFBvaW50IHRvcExl
ZnRQb2ludChyZWZsb3dlZFJlY3QubG9jYXRpb24oKSk7CiAgICAgICAgIGlmIChyZW5kZXJlciAm
JiByZW5kZXJlci0+aXNUZXh0KCkpIHsKQEAgLTMwNTksNyArMzA1OSw3IEBAIHZvaWQgV2ViUGFn
ZVByaXZhdGU6Onpvb21CbG9jaygpCiAgICAgfSBlbHNlIGlmICh3aWxsVXNlVGV4dFJlZmxvdykg
ewogICAgICAgICBJbnRSZWN0IGZpbmFsUmVjdCA9IHJlY3RGb3JOb2RlKG1fY3VycmVudEJsb2Nr
Wm9vbUFkanVzdGVkTm9kZS5nZXQoKSk7CiAgICAgICAgIGZpbmFsUmVjdCA9IGFkanVzdFJlY3RP
ZmZzZXRGb3JGcmFtZU9mZnNldChmaW5hbFJlY3QsIG1fY3VycmVudEJsb2NrWm9vbUFkanVzdGVk
Tm9kZS5nZXQoKSk7Ci0gICAgICAgIHNldFNjcm9sbFBvc2l0aW9uKEludFBvaW50KDAsIGZpbmFs
UmVjdC55KCkgKyBtX2ZpbmFsQmxvY2tQb2ludFJlZmxvd09mZnNldC55KCkpKTsKKyAgICAgICAg
c2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQoMCwgZmluYWxSZWN0LnkoKSArIG1fZmluYWxBbmlt
YXRpb25Eb2N1bWVudFNjcm9sbFBvc2l0aW9uUmVmbG93T2Zmc2V0LnkoKSkpOwogICAgICAgICBy
ZXNldEJsb2NrWm9vbSgpOwogICAgIH0KICNlbmRpZgpAQCAtNDcyNiwxNyArNDcyNiwxNyBAQCBi
b29sIFdlYlBhZ2U6OmJsb2NrWm9vbShjb25zdCBQbGF0Zm9ybTo6SW50UG9pbnQmIGRvY3VtZW50
VGFyZ2V0UG9pbnQpCiAKICAgICBpZiAobmV3QmxvY2tIZWlnaHQgPD0gc2NhbGVkVmlld3BvcnRI
ZWlnaHQpIHsKICAgICAgICAgLy8gVGhlIGJsb2NrIGZpdHMgaW4gdGhlIHZpZXdwb3J0IHNvIGNl
bnRlciBpdC4KLSAgICAgICAgZC0+bV9maW5hbEJsb2NrUG9pbnQgPSBGbG9hdFBvaW50KGFuY2hv
ci54KCkgLSBkeCwgYW5jaG9yLnkoKSAtIGR5KTsKKyAgICAgICAgZC0+bV9maW5hbEFuaW1hdGlv
bkRvY3VtZW50U2Nyb2xsUG9zaXRpb24gPSBGbG9hdFBvaW50KGFuY2hvci54KCkgLSBkeCwgYW5j
aG9yLnkoKSAtIGR5KTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBUaGUgYmxvY2sgaXMgbG9u
Z2VyIHRoYW4gdGhlIHZpZXdwb3J0IHNvIHRvcCBhbGlnbiBpdCBhbmQgYWRkIDMgcGl4ZWwgbWFy
Z2luLgotICAgICAgICBkLT5tX2ZpbmFsQmxvY2tQb2ludCA9IEZsb2F0UG9pbnQoYW5jaG9yLngo
KSAtIGR4LCBhbmNob3IueSgpIC0gMyk7CisgICAgICAgIGQtPm1fZmluYWxBbmltYXRpb25Eb2N1
bWVudFNjcm9sbFBvc2l0aW9uID0gRmxvYXRQb2ludChhbmNob3IueCgpIC0gZHgsIGFuY2hvci55
KCkgLSAzKTsKICAgICB9CiAKICNpZiBFTkFCTEUoVklFV1BPUlRfUkVGTE9XKQogICAgIC8vIFdl
IGRvbid0IGtub3cgaG93IGxvbmcgdGhlIHJlZmxvd2VkIGJsb2NrIHdpbGwgYmUgc28gd2UgcG9z
aXRpb24gaXQgYXQgdGhlIHRvcCBvZiB0aGUgc2NyZWVuIHdpdGggYSBzbWFsbCBtYXJnaW4uCiAg
ICAgaWYgKHNldHRpbmdzKCktPnRleHRSZWZsb3dNb2RlKCkgIT0gV2ViU2V0dGluZ3M6OlRleHRS
ZWZsb3dEaXNhYmxlZCkgewotICAgICAgICBkLT5tX2ZpbmFsQmxvY2tQb2ludCA9IEZsb2F0UG9p
bnQoYW5jaG9yLngoKSAtIGR4LCBhbmNob3IueSgpIC0gMyk7Ci0gICAgICAgIGQtPm1fZmluYWxC
bG9ja1BvaW50UmVmbG93T2Zmc2V0ID0gRmxvYXRQb2ludCgtZHgsIC0zKTsKKyAgICAgICAgZC0+
bV9maW5hbEFuaW1hdGlvbkRvY3VtZW50U2Nyb2xsUG9zaXRpb24gPSBGbG9hdFBvaW50KGFuY2hv
ci54KCkgLSBkeCwgYW5jaG9yLnkoKSAtIDMpOworICAgICAgICBkLT5tX2ZpbmFsQW5pbWF0aW9u
RG9jdW1lbnRTY3JvbGxQb3NpdGlvblJlZmxvd09mZnNldCA9IEZsb2F0UG9pbnQoLWR4LCAtMyk7
CiAgICAgfQogI2VuZGlmCiAKQEAgLTQ3NDQsMjUgKzQ3NDQsMjUgQEAgYm9vbCBXZWJQYWdlOjpi
bG9ja1pvb20oY29uc3QgUGxhdGZvcm06OkludFBvaW50JiBkb2N1bWVudFRhcmdldFBvaW50KQog
ICAgIC8vIG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgb3JpZ2luYWwgbm9kZSByZWN0LCBhbmQgaXQg
Y291bGQgZm9yY2UgdGhlIG9yaWdpbmFsIG5vZGUgcmVjdCBvZmYgdGhlIHNjcmVlbi4KICAgICBG
bG9hdFJlY3QgYnIoYW5jaG9yLCBGbG9hdFNpemUoc2NhbGVkVmlld3BvcnRXaWR0aCwgc2NhbGVk
Vmlld3BvcnRIZWlnaHQpKTsKICAgICBpZiAoIWJyLmNvbnRhaW5zKEludFBvaW50KGRvY3VtZW50
VGFyZ2V0UG9pbnQpKSkgewotICAgICAgICBkLT5tX2ZpbmFsQmxvY2tQb2ludFJlZmxvd09mZnNl
dC5tb3ZlKDAsIChkb2N1bWVudFRhcmdldFBvaW50LnkoKSAtIHNjYWxlZFZpZXdwb3J0SGVpZ2h0
IC8gMikgLSBkLT5tX2ZpbmFsQmxvY2tQb2ludC55KCkpOwotICAgICAgICBkLT5tX2ZpbmFsQmxv
Y2tQb2ludCA9IEZsb2F0UG9pbnQoZC0+bV9maW5hbEJsb2NrUG9pbnQueCgpLCBkb2N1bWVudFRh
cmdldFBvaW50LnkoKSAtIHNjYWxlZFZpZXdwb3J0SGVpZ2h0IC8gMik7CisgICAgICAgIGQtPm1f
ZmluYWxBbmltYXRpb25Eb2N1bWVudFNjcm9sbFBvc2l0aW9uUmVmbG93T2Zmc2V0Lm1vdmUoMCwg
KGRvY3VtZW50VGFyZ2V0UG9pbnQueSgpIC0gc2NhbGVkVmlld3BvcnRIZWlnaHQgLyAyKSAtIGQt
Pm1fZmluYWxBbmltYXRpb25Eb2N1bWVudFNjcm9sbFBvc2l0aW9uLnkoKSk7CisgICAgICAgIGQt
Pm1fZmluYWxBbmltYXRpb25Eb2N1bWVudFNjcm9sbFBvc2l0aW9uID0gRmxvYXRQb2ludChkLT5t
X2ZpbmFsQW5pbWF0aW9uRG9jdW1lbnRTY3JvbGxQb3NpdGlvbi54KCksIGRvY3VtZW50VGFyZ2V0
UG9pbnQueSgpIC0gc2NhbGVkVmlld3BvcnRIZWlnaHQgLyAyKTsKICAgICB9CiAKICAgICAvLyBD
bGFtcCB0aGUgZmluYWxCbG9ja1BvaW50IHRvIG5vdCBjYXVzZSBhbnkgb3ZlcmZsb3cgc2Nyb2xs
aW5nLgotICAgIGlmIChkLT5tX2ZpbmFsQmxvY2tQb2ludC54KCkgPCAwKSB7Ci0gICAgICAgIGQt
Pm1fZmluYWxCbG9ja1BvaW50LnNldFgoMCk7Ci0gICAgICAgIGQtPm1fZmluYWxCbG9ja1BvaW50
UmVmbG93T2Zmc2V0LnNldFgoMCk7Ci0gICAgfSBlbHNlIGlmIChkLT5tX2ZpbmFsQmxvY2tQb2lu
dC54KCkgKyBzY2FsZWRWaWV3cG9ydFdpZHRoID4gZC0+Y29udGVudHNTaXplKCkud2lkdGgoKSkg
ewotICAgICAgICBkLT5tX2ZpbmFsQmxvY2tQb2ludC5zZXRYKGQtPmNvbnRlbnRzU2l6ZSgpLndp
ZHRoKCkgLSBzY2FsZWRWaWV3cG9ydFdpZHRoKTsKLSAgICAgICAgZC0+bV9maW5hbEJsb2NrUG9p
bnRSZWZsb3dPZmZzZXQuc2V0WCgwKTsKKyAgICBpZiAoZC0+bV9maW5hbEFuaW1hdGlvbkRvY3Vt
ZW50U2Nyb2xsUG9zaXRpb24ueCgpIDwgMCkgeworICAgICAgICBkLT5tX2ZpbmFsQW5pbWF0aW9u
RG9jdW1lbnRTY3JvbGxQb3NpdGlvbi5zZXRYKDApOworICAgICAgICBkLT5tX2ZpbmFsQW5pbWF0
aW9uRG9jdW1lbnRTY3JvbGxQb3NpdGlvblJlZmxvd09mZnNldC5zZXRYKDApOworICAgIH0gZWxz
ZSBpZiAoZC0+bV9maW5hbEFuaW1hdGlvbkRvY3VtZW50U2Nyb2xsUG9zaXRpb24ueCgpICsgc2Nh
bGVkVmlld3BvcnRXaWR0aCA+IGQtPmNvbnRlbnRzU2l6ZSgpLndpZHRoKCkpIHsKKyAgICAgICAg
ZC0+bV9maW5hbEFuaW1hdGlvbkRvY3VtZW50U2Nyb2xsUG9zaXRpb24uc2V0WChkLT5jb250ZW50
c1NpemUoKS53aWR0aCgpIC0gc2NhbGVkVmlld3BvcnRXaWR0aCk7CisgICAgICAgIGQtPm1fZmlu
YWxBbmltYXRpb25Eb2N1bWVudFNjcm9sbFBvc2l0aW9uUmVmbG93T2Zmc2V0LnNldFgoMCk7CiAg
ICAgfQogCi0gICAgaWYgKGQtPm1fZmluYWxCbG9ja1BvaW50LnkoKSA8IDApIHsKLSAgICAgICAg
ZC0+bV9maW5hbEJsb2NrUG9pbnQuc2V0WSgwKTsKLSAgICAgICAgZC0+bV9maW5hbEJsb2NrUG9p
bnRSZWZsb3dPZmZzZXQuc2V0WSgwKTsKLSAgICB9IGVsc2UgaWYgKGQtPm1fZmluYWxCbG9ja1Bv
aW50LnkoKSArIHNjYWxlZFZpZXdwb3J0SGVpZ2h0ID4gZC0+Y29udGVudHNTaXplKCkuaGVpZ2h0
KCkpIHsKLSAgICAgICAgZC0+bV9maW5hbEJsb2NrUG9pbnQuc2V0WShkLT5jb250ZW50c1NpemUo
KS5oZWlnaHQoKSAtIHNjYWxlZFZpZXdwb3J0SGVpZ2h0KTsKLSAgICAgICAgZC0+bV9maW5hbEJs
b2NrUG9pbnRSZWZsb3dPZmZzZXQuc2V0WSgwKTsKKyAgICBpZiAoZC0+bV9maW5hbEFuaW1hdGlv
bkRvY3VtZW50U2Nyb2xsUG9zaXRpb24ueSgpIDwgMCkgeworICAgICAgICBkLT5tX2ZpbmFsQW5p
bWF0aW9uRG9jdW1lbnRTY3JvbGxQb3NpdGlvbi5zZXRZKDApOworICAgICAgICBkLT5tX2ZpbmFs
QW5pbWF0aW9uRG9jdW1lbnRTY3JvbGxQb3NpdGlvblJlZmxvd09mZnNldC5zZXRZKDApOworICAg
IH0gZWxzZSBpZiAoZC0+bV9maW5hbEFuaW1hdGlvbkRvY3VtZW50U2Nyb2xsUG9zaXRpb24ueSgp
ICsgc2NhbGVkVmlld3BvcnRIZWlnaHQgPiBkLT5jb250ZW50c1NpemUoKS5oZWlnaHQoKSkgewor
ICAgICAgICBkLT5tX2ZpbmFsQW5pbWF0aW9uRG9jdW1lbnRTY3JvbGxQb3NpdGlvbi5zZXRZKGQt
PmNvbnRlbnRzU2l6ZSgpLmhlaWdodCgpIC0gc2NhbGVkVmlld3BvcnRIZWlnaHQpOworICAgICAg
ICBkLT5tX2ZpbmFsQW5pbWF0aW9uRG9jdW1lbnRTY3JvbGxQb3NpdGlvblJlZmxvd09mZnNldC5z
ZXRZKDApOwogICAgIH0KIAogICAgIC8vIERvbid0IGJsb2NrIHpvb20gaWYgdGhlIHVzZXIgaXMg
em9vbWluZyBhbmQgdGhlIG5ldyBzY2FsZSBpcyBvbmx5IG1hcmdpbmFsbHkgZGlmZmVyZW50IGZy
b20gdGhlCkBAIC00NzcwLDcgKzQ3NzAsNyBAQCBib29sIFdlYlBhZ2U6OmJsb2NrWm9vbShjb25z
dCBQbGF0Zm9ybTo6SW50UG9pbnQmIGRvY3VtZW50VGFyZ2V0UG9pbnQpCiAgICAgLy8gdGhhdCB0
aGUgem9vbSBsZXZlbCBpcyB0aGUgbWluaW11bVNjYWxlLgogICAgIGlmICghZW5kT2ZCbG9ja1pv
b21Nb2RlICYmIGFicyhuZXdTY2FsZSAtIG9sZFNjYWxlKSAvIG9sZFNjYWxlIDwgbWluaW11bUV4
cGFuZGluZ1JhdGlvKSB7CiAgICAgICAgIGNvbnN0IGRvdWJsZSBtaW5pbXVtRGlzcGxhY2VtZW50
ID0gbWluaW11bUV4cGFuZGluZ1JhdGlvICogd2Via2l0VGhyZWFkVmlld3BvcnRBY2Nlc3Nvcigp
LT5kb2N1bWVudFZpZXdwb3J0U2l6ZSgpLndpZHRoKCk7Ci0gICAgICAgIGlmIChvbGRTY2FsZSA9
PSBkLT5taW5pbXVtU2NhbGUoKSB8fCAoZGlzdGFuY2VCZXR3ZWVuUG9pbnRzKGQtPnNjcm9sbFBv
c2l0aW9uKCksIHJvdW5kVW50cmFuc2Zvcm1lZFBvaW50KGQtPm1fZmluYWxCbG9ja1BvaW50KSkg
PCBtaW5pbXVtRGlzcGxhY2VtZW50ICYmIGFicyhuZXdTY2FsZSAtIG9sZFNjYWxlKSAvIG9sZFNj
YWxlIDwgMC4xMCkpIHsKKyAgICAgICAgaWYgKG9sZFNjYWxlID09IGQtPm1pbmltdW1TY2FsZSgp
IHx8IChkaXN0YW5jZUJldHdlZW5Qb2ludHMoZC0+c2Nyb2xsUG9zaXRpb24oKSwgcm91bmRVbnRy
YW5zZm9ybWVkUG9pbnQoZC0+bV9maW5hbEFuaW1hdGlvbkRvY3VtZW50U2Nyb2xsUG9zaXRpb24p
KSA8IG1pbmltdW1EaXNwbGFjZW1lbnQgJiYgYWJzKG5ld1NjYWxlIC0gb2xkU2NhbGUpIC8gb2xk
U2NhbGUgPCAwLjEwKSkgewogICAgICAgICAgICAgaWYgKGlzRmlyc3Rab29tKSB7CiAgICAgICAg
ICAgICAgICAgZC0+cmVzZXRCbG9ja1pvb20oKTsKICAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CkBAIC00NzgxLDEyICs0NzgxLDEyIEBAIGJvb2wgV2ViUGFnZTo6YmxvY2tab29tKGNvbnN0
IFBsYXRmb3JtOjpJbnRQb2ludCYgZG9jdW1lbnRUYXJnZXRQb2ludCkKICAgICAgICAgfQogICAg
IH0KIAotICAgIGQtPm1fYmxvY2tab29tRmluYWxTY2FsZSA9IG5ld1NjYWxlOworICAgIGQtPm1f
ZmluYWxBbmltYXRpb25TY2FsZSA9IG5ld1NjYWxlOwogCiAgICAgLy8gV2Ugc2V0IHRoaXMgaGVy
ZSB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgdHJ5IHRvIHJlLXJlbmRlciB0aGUgcGFnZSBhdCBhIGRp
ZmZlcmVudCB6b29tIGxldmVsIGR1cmluZyBsb2FkaW5nLgogICAgIGQtPm1fdXNlclBlcmZvcm1l
ZE1hbnVhbFpvb20gPSB0cnVlOwogICAgIGQtPm1fdXNlclBlcmZvcm1lZE1hbnVhbFNjcm9sbCA9
IHRydWU7Ci0gICAgZC0+bV9jbGllbnQtPmFuaW1hdGVCbG9ja1pvb20oZC0+bV9ibG9ja1pvb21G
aW5hbFNjYWxlLCBkLT5tX2ZpbmFsQmxvY2tQb2ludCk7CisgICAgZC0+bV9jbGllbnQtPmFuaW1h
dGVCbG9ja1pvb20oZC0+bV9maW5hbEFuaW1hdGlvblNjYWxlLCBkLT5tX2ZpbmFsQW5pbWF0aW9u
RG9jdW1lbnRTY3JvbGxQb3NpdGlvbik7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTY0MTEs
NSArNjQxMSwyNCBAQCB2b2lkIFdlYlBhZ2U6Om5vdGlmaWNhdGlvblNob3duKGNvbnN0IEJsYWNr
QmVycnk6OlBsYXRmb3JtOjpTdHJpbmcmIG5vdGlmaWNhdGlvbgogI2VuZGlmCiB9CiAKK3ZvaWQg
V2ViUGFnZVByaXZhdGU6OmFuaW1hdGVUb1NjYWxlQW5kRG9jdW1lbnRTY3JvbGxQb3NpdGlvbihk
b3VibGUgZGVzdGluYXRpb25ab29tU2NhbGUsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIGRl
c3RpbmF0aW9uU2Nyb2xsUG9zaXRpb24sIGJvb2wgc2hvdWxkQ29uc3RyYWluU2Nyb2xsaW5nVG9D
b250ZW50RWRnZSkKK3sKKyAgICBpZiAoZGVzdGluYXRpb25TY3JvbGxQb3NpdGlvbiA9PSBzY3Jv
bGxQb3NpdGlvbigpICYmIGRlc3RpbmF0aW9uWm9vbVNjYWxlID09IGN1cnJlbnRTY2FsZSgpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBtX2ZpbmFsQW5pbWF0aW9uRG9jdW1lbnRTY3JvbGxQb3Np
dGlvbiA9IGRlc3RpbmF0aW9uU2Nyb2xsUG9zaXRpb247CisgICAgbV9maW5hbEFuaW1hdGlvblNj
YWxlID0gZGVzdGluYXRpb25ab29tU2NhbGU7CisgICAgbV9zaG91bGRSZWZsb3dCbG9jayA9IGZh
bHNlOworICAgIG1fdXNlclBlcmZvcm1lZE1hbnVhbFpvb20gPSB0cnVlOworICAgIG1fdXNlclBl
cmZvcm1lZE1hbnVhbFNjcm9sbCA9IHRydWU7CisgICAgbV9zaG91bGRDb25zdHJhaW5TY3JvbGxp
bmdUb0NvbnRlbnRFZGdlID0gc2hvdWxkQ29uc3RyYWluU2Nyb2xsaW5nVG9Db250ZW50RWRnZTsK
KyAgICBjbGllbnQoKS0+YW5pbWF0ZUJsb2NrWm9vbShkZXN0aW5hdGlvblpvb21TY2FsZSwgZGVz
dGluYXRpb25TY3JvbGxQb3NpdGlvbik7Cit9CisKK3ZvaWQgV2ViUGFnZTo6YW5pbWF0ZVRvU2Nh
bGVBbmREb2N1bWVudFNjcm9sbFBvc2l0aW9uKGRvdWJsZSBkZXN0aW5hdGlvblpvb21TY2FsZSwg
Y29uc3QgQmxhY2tCZXJyeTo6UGxhdGZvcm06OkZsb2F0UG9pbnQmIGRlc3RpbmF0aW9uU2Nyb2xs
UG9zaXRpb24sIGJvb2wgc2hvdWxkQ29uc3RyYWluU2Nyb2xsaW5nVG9Db250ZW50RWRnZSkKK3sK
KyAgICBkLT5hbmltYXRlVG9TY2FsZUFuZERvY3VtZW50U2Nyb2xsUG9zaXRpb24oZGVzdGluYXRp
b25ab29tU2NhbGUsIGRlc3RpbmF0aW9uU2Nyb2xsUG9zaXRpb24sIHNob3VsZENvbnN0cmFpblNj
cm9sbGluZ1RvQ29udGVudEVkZ2UpOworfQorCiB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9B
cGkvV2ViUGFnZS5oCmluZGV4IDI1YzFjNDY5ODI3YWU3NWRkMDFlNjkwODkzOTAzMmIzN2RmZjZk
MDIuLmZjY2VhM2ZkM2EzZjFiMWI3YTIyODhiNGEyMGQxY2VhMDU1NzQ3MTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5oCkBAIC0zODcsNiArMzg3LDggQEAgcHVibGljOgog
ICAgIHZvaWQgbm90aWZpY2F0aW9uRXJyb3IoY29uc3QgQmxhY2tCZXJyeTo6UGxhdGZvcm06OlN0
cmluZyYgbm90aWZpY2F0aW9uSWQpOwogICAgIHZvaWQgbm90aWZpY2F0aW9uU2hvd24oY29uc3Qg
QmxhY2tCZXJyeTo6UGxhdGZvcm06OlN0cmluZyYgbm90aWZpY2F0aW9uSWQpOwogCisgICAgdm9p
ZCBhbmltYXRlVG9TY2FsZUFuZERvY3VtZW50U2Nyb2xsUG9zaXRpb24oZG91YmxlIGRlc3RpbmF0
aW9uWm9vbVNjYWxlLCBjb25zdCBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6RmxvYXRQb2ludCYgZGVz
dGluYXRpb25TY3JvbGxQb3NpdGlvbiwgYm9vbCBzaG91bGRDb25zdHJhaW5TY3JvbGxpbmdUb0Nv
bnRlbnRFZGdlID0gdHJ1ZSk7CisKIHByaXZhdGU6CiAgICAgdmlydHVhbCB+V2ViUGFnZSgpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VfcC5oIGIv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlX3AuaAppbmRleCAwMDEzNjJkY2Fk
YzdiMTZmMDliN2IzODY0NGU0MTgxMjRiODAyOTM1Li5mY2Y5M2E5M2JmNjllODI2MmIyM2YxYzg0
Y2UzYmRmNDhiYzQ4NjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBp
L1dlYlBhZ2VfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZV9w
LmgKQEAgLTQ3NSw2ICs0NzUsOCBAQCBwdWJsaWM6CiAgICAgTm90aWZpY2F0aW9uTWFuYWdlciYg
bm90aWZpY2F0aW9uTWFuYWdlcigpIHsgcmV0dXJuIG1fbm90aWZpY2F0aW9uTWFuYWdlcjsgfTsK
ICNlbmRpZgogCisgICAgdm9pZCBhbmltYXRlVG9TY2FsZUFuZERvY3VtZW50U2Nyb2xsUG9zaXRp
b24oZG91YmxlIGRlc3RpbmF0aW9uWm9vbVNjYWxlLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50
JiBkZXN0aW5hdGlvblNjcm9sbFBvc2l0aW9uLCBib29sIHNob3VsZENvbnN0cmFpblNjcm9sbGlu
Z1RvQ29udGVudEVkZ2UgPSB0cnVlKTsKKwogICAgIFdlYlBhZ2UqIG1fd2ViUGFnZTsKICAgICBX
ZWJQYWdlQ2xpZW50KiBtX2NsaWVudDsKICAgICBXZWJDb3JlOjpJbnNwZWN0b3JDbGllbnRCbGFj
a0JlcnJ5KiBtX2luc3BlY3RvckNsaWVudDsKQEAgLTU0NiwxMCArNTQ4LDEwIEBAIHB1YmxpYzoK
ICAgICBkb3VibGUgbV9tYXhpbXVtU2NhbGU7CiAgICAgYm9vbCBtX2ZvcmNlUmVzcGVjdFZpZXdw
b3J0QXJndW1lbnRzOwogCi0gICAgLy8gQmxvY2sgem9vbSBhbmltYXRpb24gZGF0YS4KLSAgICBX
ZWJDb3JlOjpGbG9hdFBvaW50IG1fZmluYWxCbG9ja1BvaW50OwotICAgIFdlYkNvcmU6OkZsb2F0
UG9pbnQgbV9maW5hbEJsb2NrUG9pbnRSZWZsb3dPZmZzZXQ7Ci0gICAgZG91YmxlIG1fYmxvY2ta
b29tRmluYWxTY2FsZTsKKyAgICAvLyBCbG9jayB6b29tICYgem9vbS9zY3JvbGwgYW5pbWF0aW9u
IGRhdGEuCisgICAgV2ViQ29yZTo6RmxvYXRQb2ludCBtX2ZpbmFsQW5pbWF0aW9uRG9jdW1lbnRT
Y3JvbGxQb3NpdGlvbjsKKyAgICBXZWJDb3JlOjpGbG9hdFBvaW50IG1fZmluYWxBbmltYXRpb25E
b2N1bWVudFNjcm9sbFBvc2l0aW9uUmVmbG93T2Zmc2V0OworICAgIGRvdWJsZSBtX2ZpbmFsQW5p
bWF0aW9uU2NhbGU7CiAgICAgUmVmUHRyPFdlYkNvcmU6Ok5vZGU+IG1fY3VycmVudFBpbmNoWm9v
bU5vZGU7CiAgICAgV2ViQ29yZTo6RmxvYXRQb2ludCBtX2FuY2hvckluTm9kZVJlY3RSYXRpbzsK
ICAgICBSZWZQdHI8V2ViQ29yZTo6Tm9kZT4gbV9jdXJyZW50QmxvY2tab29tTm9kZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0lucHV0SGFuZGxl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9JbnB1dEhhbmRs
ZXIuY3BwCmluZGV4IDY3NDUzZTgzODFhNWVhMGU5Nzc2M2E1YTdmZjU0NTFhNjFmOTU5MTAuLjhm
Njg4ZDc2OTkxZGZjZmUwOTBhODUzMWU5MDcxODdhYzIwZmE5MTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0lucHV0SGFuZGxlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvSW5wdXRIYW5kbGVyLmNwcApA
QCAtMTM4MSwyMiArMTM4MSwxMyBAQCB2b2lkIElucHV0SGFuZGxlcjo6ZW5zdXJlRm9jdXNUZXh0
RWxlbWVudFZpc2libGUoQ2FyZXRTY3JvbGxUeXBlIHNjcm9sbFR5cGUpCiAgICAgICAgIH0KICAg
ICB9CiAKLSAgICBpZiAoZGVzdGluYXRpb25TY3JvbGxMb2NhdGlvbiAhPSBtYWluRnJhbWVWaWV3
LT5zY3JvbGxQb3NpdGlvbigpIHx8IHpvb21TY2FsZVJlcXVpcmVkICE9IG1fd2ViUGFnZS0+Y3Vy
cmVudFNjYWxlKCkpIHsKLSAgICAgICAgSW5wdXRMb2coUGxhdGZvcm06OkxvZ0xldmVsSW5mbywK
LSAgICAgICAgICAgICJJbnB1dEhhbmRsZXI6OmVuc3VyZUZvY3VzVGV4dEVsZW1lbnRWaXNpYmxl
IHpvb21pbmcgaW4gdG8gJWYgZnJvbSAlZiBhbmQgc2Nyb2xsaW5nIHRvIHBvaW50ICVzIGZyb20g
JXMiLAotICAgICAgICAgICAgem9vbVNjYWxlUmVxdWlyZWQsIG1fd2ViUGFnZS0+Y3VycmVudFNj
YWxlKCksCi0gICAgICAgICAgICBQbGF0Zm9ybTo6SW50UG9pbnQoZGVzdGluYXRpb25TY3JvbGxM
b2NhdGlvbikudG9TdHJpbmcoKS5jX3N0cigpLAotICAgICAgICAgICAgUGxhdGZvcm06OkludFBv
aW50KG1haW5GcmFtZVZpZXctPnNjcm9sbFBvc2l0aW9uKCkpLnRvU3RyaW5nKCkuY19zdHIoKSk7
Ci0KLSAgICAgICAgLy8gQW5pbWF0ZSB0byBnaXZlbiBzY3JvbGwgcG9zaXRpb24gJiB6b29tIGxl
dmVsCi0gICAgICAgIG1fd2ViUGFnZS0+bV9maW5hbEJsb2NrUG9pbnQgPSBXZWJDb3JlOjpGbG9h
dFBvaW50KGRlc3RpbmF0aW9uU2Nyb2xsTG9jYXRpb24pOwotICAgICAgICBtX3dlYlBhZ2UtPm1f
YmxvY2tab29tRmluYWxTY2FsZSA9IHpvb21TY2FsZVJlcXVpcmVkOwotICAgICAgICBtX3dlYlBh
Z2UtPm1fc2hvdWxkUmVmbG93QmxvY2sgPSBmYWxzZTsKLSAgICAgICAgbV93ZWJQYWdlLT5tX3Vz
ZXJQZXJmb3JtZWRNYW51YWxab29tID0gdHJ1ZTsKLSAgICAgICAgbV93ZWJQYWdlLT5tX3VzZXJQ
ZXJmb3JtZWRNYW51YWxTY3JvbGwgPSB0cnVlOwotICAgICAgICBtX3dlYlBhZ2UtPm1fc2hvdWxk
Q29uc3RyYWluU2Nyb2xsaW5nVG9Db250ZW50RWRnZSA9IHNob3VsZENvbnN0cmFpblNjcm9sbGlu
Z1RvQ29udGVudEVkZ2U7Ci0gICAgICAgIG1fd2ViUGFnZS0+Y2xpZW50KCktPmFuaW1hdGVCbG9j
a1pvb20oem9vbVNjYWxlUmVxdWlyZWQsIG1fd2ViUGFnZS0+bV9maW5hbEJsb2NrUG9pbnQpOwot
ICAgIH0KKyAgICBJbnB1dExvZyhQbGF0Zm9ybTo6TG9nTGV2ZWxJbmZvLAorICAgICAgICAiSW5w
dXRIYW5kbGVyOjplbnN1cmVGb2N1c1RleHRFbGVtZW50VmlzaWJsZSB6b29taW5nIGluIHRvICVm
IGZyb20gJWYgYW5kIHNjcm9sbGluZyB0byBwb2ludCAlcyBmcm9tICVzIiwKKyAgICAgICAgem9v
bVNjYWxlUmVxdWlyZWQsIG1fd2ViUGFnZS0+Y3VycmVudFNjYWxlKCksCisgICAgICAgIFBsYXRm
b3JtOjpJbnRQb2ludChkZXN0aW5hdGlvblNjcm9sbExvY2F0aW9uKS50b1N0cmluZygpLmNfc3Ry
KCksCisgICAgICAgIFBsYXRmb3JtOjpJbnRQb2ludChtYWluRnJhbWVWaWV3LT5zY3JvbGxQb3Np
dGlvbigpKS50b1N0cmluZygpLmNfc3RyKCkpOworCisgICAgbV93ZWJQYWdlLT5hbmltYXRlVG9T
Y2FsZUFuZERvY3VtZW50U2Nyb2xsUG9zaXRpb24oem9vbVNjYWxlUmVxdWlyZWQsIFdlYkNvcmU6
OkZsb2F0UG9pbnQoZGVzdGluYXRpb25TY3JvbGxMb2NhdGlvbiksIHNob3VsZENvbnN0cmFpblNj
cm9sbGluZ1RvQ29udGVudEVkZ2UpOwogfQogCiB2b2lkIElucHV0SGFuZGxlcjo6ZW5zdXJlRm9j
dXNQbHVnaW5FbGVtZW50VmlzaWJsZSgpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>