<?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>151065</bug_id>
          
          <creation_ts>2015-11-09 17:04:13 -0800</creation_ts>
          <short_desc>[Mac] Gesture Events should not have negative scale</short_desc>
          <delta_ts>2015-12-15 16:57:32 -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 Misc.</component>
          <version>Other</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>mitz</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1140610</commentid>
    <comment_count>0</comment_count>
      <attachid>265120</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-11-09 17:04:13 -0800</bug_when>
    <thetext>Created attachment 265120
[TEST] Gesture Test

* SUMMARY
[Mac] Gesture Events should not have negative scale.

* STEPS TO REPRODUCE
1. Load test page
2. Pinch on the box
  =&gt; scale goes negative the box starts re-growing (due to CSS transform scale()). Did not expect the scale to ever go negative.

* NOTES
- Loading the same test case on iOS, the scale does not go negative. It approaches zero but rarely goes below 0.15. It never goes negative.
- Since scale is local to 1 (&gt;1 = fingers moved apart, &lt;1 = fingers moved closer together) it is natural to use a a multiplier of the start value. When values get very close to zero, or go negative, the usefulness diminish and it means a rapid change from the original value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140611</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-11-09 17:04:39 -0800</bug_when>
    <thetext>&lt;rdar://problem/23474123&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140840</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-11-10 10:49:57 -0800</bug_when>
    <thetext>I&apos;m not sure we have enough information (at least, the way it&apos;s currently implemented, on top of AppKit&apos;s magnification) to do anything better than maxing with 0. But, we can certainly do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140844</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-11-10 10:56:25 -0800</bug_when>
    <thetext>I don&apos;t think that&apos;s the right thing to do, though, because that would mean you could be moving your fingers and the scale wouldn&apos;t be changing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140865</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-11-10 11:25:16 -0800</bug_when>
    <thetext>We&apos;ll fix these elsewhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149387</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-12-15 14:12:37 -0800</bug_when>
    <thetext>Reopened to post the WebKit bits for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149395</commentid>
    <comment_count>6</comment_count>
      <attachid>267393</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-12-15 14:35:53 -0800</bug_when>
    <thetext>Created attachment 267393
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149396</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-15 14:38:35 -0800</bug_when>
    <thetext>Attachment 267393 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm:3163:  Missing space around : in range-based for statement  [whitespace/colon] [4]
ERROR: Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm:3175:  Missing space around : in range-based for statement  [whitespace/colon] [4]
ERROR: Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm:3185:  Missing space around : in range-based for statement  [whitespace/colon] [4]
ERROR: Source/WebKit2/Shared/mac/NativeWebGestureEventMac.mm:82:  Comma should be at the beginning of the line in a member initialization list.  [whitespace/init] [4]
Total errors found: 4 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149452</commentid>
    <comment_count>8</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-12-15 16:57:32 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/194125</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>265120</attachid>
            <date>2015-11-09 17:04:13 -0800</date>
            <delta_ts>2015-11-09 17:04:13 -0800</delta_ts>
            <desc>[TEST] Gesture Test</desc>
            <filename>gesture-test.html</filename>
            <type>text/html</type>
            <size>1416</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFi
bGU9bm8iIC8+CjwvaGVhZD4KPGJvZHk+CjxzdHlsZT4KYm9keSB7CiAgICBkaXNwbGF5OiBmbGV4
OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwp9
CgojYm94IHsKICAgIHdpZHRoOiAxMDBweDsKICAgIGhlaWdodDogMTAwcHg7CiAgICBiYWNrZ3Jv
dW5kOiBibHVlOwp9Cjwvc3R5bGU+Cgo8ZGl2IGlkPSJib3giPjwvZGl2PgoKPHNjcmlwdD4KdmFy
IGJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib3giKTsKdmFyIGhhbmRsaW5nID0gZmFs
c2U7CnZhciBib3hTY2FsZSA9IDE7CnZhciBib3hSb3RhdGlvbiA9IDA7Cgpib3guYWRkRXZlbnRM
aXN0ZW5lcigiZ2VzdHVyZXN0YXJ0IiwgZnVuY3Rpb24oZXZlbnQpIHsKICAgIGlmIChoYW5kbGlu
ZykgeyBjb25zb2xlLmxvZygiVU5FWFBFQ1RFRCBHRVNUVVJFIFNUQVJUIFdJVEhJTiBHRVNUVVJF
IEhBTkRMSU5HIik7IHJldHVybjsgfQogICAgY29uc29sZS5sb2coInN0YXJ0ICVmICVmIiwgZXZl
bnQuc2NhbGUsIGV2ZW50LnJvdGF0aW9uKTsKCiAgICBoYW5kbGluZyA9IHRydWU7CgogICAgZXZl
bnQucHJldmVudERlZmF1bHQoKTsKICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOwp9KTsKCmJv
eC5hZGRFdmVudExpc3RlbmVyKCJnZXN0dXJlY2hhbmdlIiwgZnVuY3Rpb24oZXZlbnQpIHsKICAg
IGNvbnNvbGUubG9nKCJjaGFuZ2UgJWYgJWYiLCBldmVudC5zY2FsZSwgZXZlbnQucm90YXRpb24p
OwoKICAgIHZhciBzY2FsZVN0cmluZyA9ICJzY2FsZSgiICsgKGJveFNjYWxlICogZXZlbnQuc2Nh
bGUpICsgIikiOwogICAgdmFyIHJvdGF0ZVN0cmluZyA9ICJyb3RhdGUoIiArIChib3hSb3RhdGlv
biArIGV2ZW50LnJvdGF0aW9uKSArICJkZWcpIjsKICAgIGJveC5zdHlsZS53ZWJraXRUcmFuc2Zv
cm0gPSBzY2FsZVN0cmluZyArICIgIiArIHJvdGF0ZVN0cmluZzsKCiAgICBldmVudC5wcmV2ZW50
RGVmYXVsdCgpOwogICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7Cn0pOwoKYm94LmFkZEV2ZW50
TGlzdGVuZXIoImdlc3R1cmVlbmQiLCBmdW5jdGlvbihldmVudCkgewogICAgY29uc29sZS5sb2co
ImVuZCAlZiAlZiIsIGV2ZW50LnNjYWxlLCBldmVudC5yb3RhdGlvbik7CgogICAgYm94U2NhbGUg
Kj0gZXZlbnQuc2NhbGU7CiAgICBib3hSb3RhdGlvbiArPSBldmVudC5yb3RhdGlvbjsKCiAgICBo
YW5kbGluZyA9IGZhbHNlOwoKICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICBldmVudC5z
dG9wUHJvcGFnYXRpb24oKTsKfSk7Cjwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267393</attachid>
            <date>2015-12-15 14:35:53 -0800</date>
            <delta_ts>2015-12-15 16:53:05 -0800</delta_ts>
            <desc>patch</desc>
            <filename>gesture.diff</filename>
            <type>text/plain</type>
            <size>13350</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlYzIwN2M0Li5iOTJkNGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTUtMTItMTUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW01hY10gR2VzdHVyZSBFdmVudHMgc2hvdWxkIG5vdCBoYXZlIG5lZ2F0aXZlIHNj
YWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEw
NjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIzNDc0MTIzPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpjbGVhcik6CisgICAgICAgICogcGFnZS9F
dmVudEhhbmRsZXIuaDoKKyAgICAgICAgTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgbV9nZXN0dXJl
SW5pdGlhbERpYW1ldGVyIGZvciBNYWMgZ2VzdHVyZSBldmVudHMgdG9vLgorCiAyMDE1LTEyLTE0
ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXNvdXJjZVVz
YWdlT3ZlcmxheSBzaG91bGQgc2hvdyBHQyB0aW1lcnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5jcHAKaW5kZXggYmY4ZmJhNy4uMWNlN2I1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmNwcApAQCAtNDI2LDEwICs0MjYsMTAgQEAgdm9pZCBFdmVudEhhbmRsZXI6OmNsZWFy
KCkKICAgICBtX2NsaWNrQ291bnQgPSAwOwogICAgIG1fY2xpY2tOb2RlID0gbnVsbHB0cjsKICNp
ZiBFTkFCTEUoSU9TX0dFU1RVUkVfRVZFTlRTKQotICAgIG1fZ2VzdHVyZUluaXRpYWxEaWFtZXRl
ciA9IEdlc3R1cmVVbmtub3duOwogICAgIG1fZ2VzdHVyZUluaXRpYWxSb3RhdGlvbiA9IEdlc3R1
cmVVbmtub3duOwogI2VuZGlmCiAjaWYgRU5BQkxFKElPU19HRVNUVVJFX0VWRU5UUykgfHwgRU5B
QkxFKE1BQ19HRVNUVVJFX0VWRU5UUykKKyAgICBtX2dlc3R1cmVJbml0aWFsRGlhbWV0ZXIgPSBH
ZXN0dXJlVW5rbm93bjsKICAgICBtX2dlc3R1cmVMYXN0RGlhbWV0ZXIgPSBHZXN0dXJlVW5rbm93
bjsKICAgICBtX2dlc3R1cmVMYXN0Um90YXRpb24gPSBHZXN0dXJlVW5rbm93bjsKICAgICBtX2dl
c3R1cmVUYXJnZXRzLmNsZWFyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCAy
NDM1ZGEwLi5mNjY2YTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKQEAgLTUxMiwx
MCArNTEyLDEwIEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE5vZGU+IG1fY2xpY2tOb2RlOwogCiAj
aWYgRU5BQkxFKElPU19HRVNUVVJFX0VWRU5UUykKLSAgICBmbG9hdCBtX2dlc3R1cmVJbml0aWFs
RGlhbWV0ZXIgeyBHZXN0dXJlVW5rbm93biB9OwogICAgIGZsb2F0IG1fZ2VzdHVyZUluaXRpYWxS
b3RhdGlvbiB7IEdlc3R1cmVVbmtub3duIH07CiAjZW5kaWYKICNpZiBFTkFCTEUoSU9TX0dFU1RV
UkVfRVZFTlRTKSB8fCBFTkFCTEUoTUFDX0dFU1RVUkVfRVZFTlRTKQorICAgIGZsb2F0IG1fZ2Vz
dHVyZUluaXRpYWxEaWFtZXRlciB7IEdlc3R1cmVVbmtub3duIH07CiAgICAgZmxvYXQgbV9nZXN0
dXJlTGFzdERpYW1ldGVyIHsgR2VzdHVyZVVua25vd24gfTsKICAgICBmbG9hdCBtX2dlc3R1cmVM
YXN0Um90YXRpb24geyBHZXN0dXJlVW5rbm93biB9OwogICAgIEV2ZW50VGFyZ2V0U2V0IG1fZ2Vz
dHVyZVRhcmdldHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggY2FmNmIzYy4uNDQ4ZjYzZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDQ1IEBACisyMDE1LTEyLTE1ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25A
YXBwbGUuY29tPgorCisgICAgICAgIFtNYWNdIEdlc3R1cmUgRXZlbnRzIHNob3VsZCBub3QgaGF2
ZSBuZWdhdGl2ZSBzY2FsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTUxMDY1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMzQ3NDEyMz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJlZC9OYXRp
dmVXZWJHZXN0dXJlRXZlbnQuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFjL05hdGl2ZVdlYkdlc3R1
cmVFdmVudE1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6ZGlzdGFuY2VGb3JUb3VjaGVzKToKKyAg
ICAgICAgKFdlYktpdDo6TmF0aXZlV2ViR2VzdHVyZUV2ZW50OjpOYXRpdmVXZWJHZXN0dXJlRXZl
bnQpOgorICAgICAgICBDb21wdXRlIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB0d28gb2xkZXN0
IHRvdWNoZXMsIGFuZCB1c2UgdGhhdCBhcworICAgICAgICB0aGUgc2NhbGUgKHJlYWxseSB0aGUg
Z2VzdHVyZSBkaWFtZXRlcikgb24gdGhlIGV2ZW50LCBpbnN0ZWFkIG9mCisgICAgICAgIHBhc3Np
bmcgdGhyb3VnaCBBcHBLaXQncyBtYWduaWZpY2F0aW9uICh3aGljaCBpcyBjb21wdXRlZCBkaWZm
ZXJlbnRseSkuCisgICAgICAgIFRoaXMgbWF0Y2hlcyB0aGUgZG9jdW1lbnRlZCBiZWhhdmlvciBv
ZiB0aGUgZXhpc3RpbmcgZ2VzdHVyZSBldmVudHMgb24gaU9TLgorCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyB0b3VjaGVz
QmVnYW5XaXRoRXZlbnQ6XSk6CisgICAgICAgICgtW1dLV2ViVmlldyB0b3VjaGVzTW92ZWRXaXRo
RXZlbnQ6XSk6CisgICAgICAgICgtW1dLV2ViVmlldyB0b3VjaGVzRW5kZWRXaXRoRXZlbnQ6XSk6
CisgICAgICAgICgtW1dLV2ViVmlldyB0b3VjaGVzQ2FuY2VsbGVkV2l0aEV2ZW50Ol0pOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbToKKyAgICAgICAgKC1bV0tWaWV3IHRv
dWNoZXNCZWdhbldpdGhFdmVudDpdKToKKyAgICAgICAgKC1bV0tWaWV3IHRvdWNoZXNNb3ZlZFdp
dGhFdmVudDpdKToKKyAgICAgICAgKC1bV0tWaWV3IHRvdWNoZXNFbmRlZFdpdGhFdmVudDpdKToK
KyAgICAgICAgKC1bV0tWaWV3IHRvdWNoZXNDYW5jZWxsZWRXaXRoRXZlbnQ6XSk6CisgICAgICAg
IFBsdW1iIHRvdWNoIGV2ZW50cyB0aHJvdWdoIHRvIFdlYlZpZXdJbXBsLgorCisgICAgICAgICog
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1dlYlZpZXdJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6V2ViVmlld0lt
cGwpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6bWFnbmlmeVdpdGhFdmVudCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjp0b3VjaGVzT3JkZXJlZEJ5QWdlKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnRvdWNoZXNCZWdhbldpdGhFdmVudCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlZpZXdJbXBsOjp0b3VjaGVzTW92ZWRXaXRoRXZlbnQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJWaWV3SW1wbDo6dG91Y2hlc0VuZGVkV2l0aEV2ZW50KToKKyAgICAgICAgKFdl
YktpdDo6V2ViVmlld0ltcGw6OnRvdWNoZXNDYW5jZWxsZWRXaXRoRXZlbnQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJWaWV3SW1wbDo6cm90YXRlV2l0aEV2ZW50KToKKyAgICAgICAgS2VlcCB0cmFj
ayBvZiB0aGUgbW9zdCByZWNlbnQgaW5jb21pbmcgdG91Y2hlcywgYnkgaWRlbnRpZmllciwgaW4g
YWdlIG9yZGVyLgorICAgICAgICBQYXNzIHRoZW0gdGhyb3VnaCB0byBOYXRpdmVXZWJHZXN0dXJl
RXZlbnQgc28gaXQgY2FuIGRldGVybWluZSB0aGUgZ2VzdHVyZSBkaWFtZXRlci4KKwogMjAxNS0x
Mi0xNCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBG
cmVxdWVudCBjcmFzaCB1bmRlciAtW1dLUERGVmlldyB3ZWJfc2V0TWluaW11bVNpemU6XV9ibG9j
a19pbnZva2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJHZXN0
dXJlRXZlbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJHZXN0dXJlRXZlbnQu
aAppbmRleCBiOThiNzU4Li5iMDMyYTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvTmF0aXZlV2ViR2VzdHVyZUV2ZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL05h
dGl2ZVdlYkdlc3R1cmVFdmVudC5oCkBAIC0zMiwxMiArMzIsMTMgQEAKICNpbmNsdWRlICJXZWJH
ZXN0dXJlRXZlbnQuaCIKIAogT0JKQ19DTEFTUyBOU0V2ZW50OworT0JKQ19DTEFTUyBOU1RvdWNo
OwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgTmF0aXZlV2ViR2VzdHVyZUV2ZW50IGZp
bmFsIDogcHVibGljIFdlYkdlc3R1cmVFdmVudCB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgTmF0
aXZlV2ViR2VzdHVyZUV2ZW50KE5TRXZlbnQgKiwgTlNWaWV3ICopOworICAgIGV4cGxpY2l0IE5h
dGl2ZVdlYkdlc3R1cmVFdmVudChOU0V2ZW50ICosIE5TVmlldyAqLCBWZWN0b3I8TlNUb3VjaCAq
PiB0b3VjaGVzKTsKIAogICAgIE5TRXZlbnQgKm5hdGl2ZUV2ZW50KCkgY29uc3QgeyByZXR1cm4g
bV9uYXRpdmVFdmVudC5nZXQoKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL05hdGl2ZVdlYkdlc3R1cmVFdmVudE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9tYWMvTmF0aXZlV2ViR2VzdHVyZUV2ZW50TWFjLm1tCmluZGV4IDNiNTVjZTguLjY4MzY3NGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvTmF0aXZlV2ViR2VzdHVyZUV2
ZW50TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvTmF0aXZlV2ViR2VzdHVy
ZUV2ZW50TWFjLm1tCkBAIC01OSwxNiArNTksMzEgQEAgc3RhdGljIE5TUG9pbnQgcG9pbnRGb3JF
dmVudChOU0V2ZW50ICpldmVudCwgTlNWaWV3ICp3aW5kb3dWaWV3KQogICAgIHJldHVybiBsb2Nh
dGlvbjsKIH0KIAotTmF0aXZlV2ViR2VzdHVyZUV2ZW50OjpOYXRpdmVXZWJHZXN0dXJlRXZlbnQo
TlNFdmVudCAqZXZlbnQsIE5TVmlldyAqdmlldykKK3N0YXRpYyBDR0Zsb2F0IGRpc3RhbmNlRm9y
VG91Y2hlcyhWZWN0b3I8TlNUb3VjaCAqPiB0b3VjaGVzKQoreworICAgIGlmICh0b3VjaGVzLnNp
emUoKSA8IDIpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIE5TUG9pbnQgZmlyc3RUb3VjaFBv
c2l0aW9uID0gdG91Y2hlc1swXS5ub3JtYWxpemVkUG9zaXRpb247CisgICAgTlNQb2ludCBzZWNv
bmRUb3VjaFBvc2l0aW9uID0gdG91Y2hlc1sxXS5ub3JtYWxpemVkUG9zaXRpb247CisKKyAgICBD
R0Zsb2F0IGR4ID0gc2Vjb25kVG91Y2hQb3NpdGlvbi54IC0gZmlyc3RUb3VjaFBvc2l0aW9uLng7
CisgICAgQ0dGbG9hdCBkeSA9IHNlY29uZFRvdWNoUG9zaXRpb24ueSAtIGZpcnN0VG91Y2hQb3Np
dGlvbi55OworCisgICAgcmV0dXJuIHNxcnRmKGR4ICogZHggKyBkeSAqIGR5KTsKK30KKworTmF0
aXZlV2ViR2VzdHVyZUV2ZW50OjpOYXRpdmVXZWJHZXN0dXJlRXZlbnQoTlNFdmVudCAqZXZlbnQs
IE5TVmlldyAqdmlldywgVmVjdG9yPE5TVG91Y2ggKj4gdG91Y2hlcykKICAgICA6IFdlYkdlc3R1
cmVFdmVudCgKICAgICAgICAgd2ViRXZlbnRUeXBlRm9yTlNFdmVudChldmVudCksCiAgICAgICAg
IHN0YXRpY19jYXN0PE1vZGlmaWVycz4oMCksCiAgICAgICAgIGV2ZW50LnRpbWVzdGFtcCwKICAg
ICAgICAgV2ViQ29yZTo6SW50UG9pbnQocG9pbnRGb3JFdmVudChldmVudCwgdmlldykpLAotICAg
ICAgICBldmVudC50eXBlID09IE5TRXZlbnRUeXBlTWFnbmlmeSA/IGV2ZW50Lm1hZ25pZmljYXRp
b24gOiAwLAorICAgICAgICBkaXN0YW5jZUZvclRvdWNoZXModG91Y2hlcyksCiAgICAgICAgIGV2
ZW50LnR5cGUgPT0gTlNFdmVudFR5cGVSb3RhdGUgPyBldmVudC5yb3RhdGlvbiA6IDApCiAgICAg
LCBtX25hdGl2ZUV2ZW50KGV2ZW50KQogeworCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRl
eCBkMGMxNjJhLi41ZGNiM2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbQpAQCAtMjcxMSw2ICsyNzExLDI2IEBAIFdFQkNPUkVfQ09NTUFO
RCh5YW5rQW5kU2VsZWN0KQogICAgIFtbc2VsZiBfZW5zdXJlVGV4dEZpbmRlckNsaWVudF0gc2Vs
ZWN0RmluZE1hdGNoOmZpbmRNYXRjaCBjb21wbGV0aW9uSGFuZGxlcjpjb21wbGV0aW9uSGFuZGxl
cl07CiB9CiAKKy0gKHZvaWQpdG91Y2hlc0JlZ2FuV2l0aEV2ZW50OihOU0V2ZW50ICopZXZlbnQK
K3sKKyAgICBfaW1wbC0+dG91Y2hlc0JlZ2FuV2l0aEV2ZW50KGV2ZW50KTsKK30KKworLSAodm9p
ZCl0b3VjaGVzTW92ZWRXaXRoRXZlbnQ6KE5TRXZlbnQgKilldmVudAoreworICAgIF9pbXBsLT50
b3VjaGVzTW92ZWRXaXRoRXZlbnQoZXZlbnQpOworfQorCistICh2b2lkKXRvdWNoZXNFbmRlZFdp
dGhFdmVudDooTlNFdmVudCAqKWV2ZW50Cit7CisgICAgX2ltcGwtPnRvdWNoZXNFbmRlZFdpdGhF
dmVudChldmVudCk7Cit9CisKKy0gKHZvaWQpdG91Y2hlc0NhbmNlbGxlZFdpdGhFdmVudDooTlNF
dmVudCAqKWV2ZW50Cit7CisgICAgX2ltcGwtPnRvdWNoZXNDYW5jZWxsZWRXaXRoRXZlbnQoZXZl
bnQpOworfQorCiAtIChOU1RleHRJbnB1dENvbnRleHQgKilfd2ViX3N1cGVySW5wdXRDb250ZXh0
CiB7CiAgICAgcmV0dXJuIFtzdXBlciBpbnB1dENvbnRleHRdOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCmluZGV4IGZmOWJlZDUuLjQzOGM0MGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KQEAgLTg0Miw2ICs4NDIsMjYg
QEAgU29tZSBvdGhlciBlZGl0aW5nLXJlbGF0ZWQgbWV0aG9kcyBzdGlsbCB1bmltcGxlbWVudGVk
OgogICAgIHJldHVybiBfZGF0YS0+X2ltcGwtPm5hbWVzT2ZQcm9taXNlZEZpbGVzRHJvcHBlZEF0
RGVzdGluYXRpb24oZHJvcERlc3RpbmF0aW9uKTsKIH0KIAorLSAodm9pZCl0b3VjaGVzQmVnYW5X
aXRoRXZlbnQ6KE5TRXZlbnQgKilldmVudAoreworICAgIF9kYXRhLT5faW1wbC0+dG91Y2hlc0Jl
Z2FuV2l0aEV2ZW50KGV2ZW50KTsKK30KKworLSAodm9pZCl0b3VjaGVzTW92ZWRXaXRoRXZlbnQ6
KE5TRXZlbnQgKilldmVudAoreworICAgIF9kYXRhLT5faW1wbC0+dG91Y2hlc01vdmVkV2l0aEV2
ZW50KGV2ZW50KTsKK30KKworLSAodm9pZCl0b3VjaGVzRW5kZWRXaXRoRXZlbnQ6KE5TRXZlbnQg
KilldmVudAoreworICAgIF9kYXRhLT5faW1wbC0+dG91Y2hlc0VuZGVkV2l0aEV2ZW50KGV2ZW50
KTsKK30KKworLSAodm9pZCl0b3VjaGVzQ2FuY2VsbGVkV2l0aEV2ZW50OihOU0V2ZW50ICopZXZl
bnQKK3sKKyAgICBfZGF0YS0+X2ltcGwtPnRvdWNoZXNDYW5jZWxsZWRXaXRoRXZlbnQoZXZlbnQp
OworfQorCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhGcmFtZTooTlNSZWN0KWZyYW1lIHByb2Nl
c3NQb29sOihXZWJQcm9jZXNzUG9vbCYpcHJvY2Vzc1Bvb2wgY29uZmlndXJhdGlvbjooUmVmPEFQ
STo6UGFnZUNvbmZpZ3VyYXRpb24+JiYpY29uZmlndXJhdGlvbiB3ZWJWaWV3OihXS1dlYlZpZXcg
Kil3ZWJWaWV3CiB7CiAgICAgc2VsZiA9IFtzdXBlciBpbml0V2l0aEZyYW1lOmZyYW1lXTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKaW5kZXggNTg4ZjIz
OGQuLjgyYjE3YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9X
ZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3
SW1wbC5oCkBAIC00MDgsNiArNDA4LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHJvdGF0ZVdpdGhF
dmVudChOU0V2ZW50ICopOwogICAgIHZvaWQgc21hcnRNYWduaWZ5V2l0aEV2ZW50KE5TRXZlbnQg
Kik7CiAKKyAgICB2b2lkIHRvdWNoZXNCZWdhbldpdGhFdmVudChOU0V2ZW50ICopOworICAgIHZv
aWQgdG91Y2hlc01vdmVkV2l0aEV2ZW50KE5TRXZlbnQgKik7CisgICAgdm9pZCB0b3VjaGVzRW5k
ZWRXaXRoRXZlbnQoTlNFdmVudCAqKTsKKyAgICB2b2lkIHRvdWNoZXNDYW5jZWxsZWRXaXRoRXZl
bnQoTlNFdmVudCAqKTsKKwogICAgIHZvaWQgc2V0TGFzdE1vdXNlRG93bkV2ZW50KE5TRXZlbnQg
Kik7CiAKICAgICB2b2lkIGdlc3R1cmVFdmVudFdhc05vdEhhbmRsZWRCeVdlYkNvcmUoTlNFdmVu
dCAqKTsKQEAgLTQ5MSw2ICs0OTYsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbWlnaHRCZWdpbkRy
YWdXaGlsZUluYWN0aXZlKCk7CiAgICAgYm9vbCBtaWdodEJlZ2luU2Nyb2xsV2hpbGVJbmFjdGl2
ZSgpOwogCisgICAgVmVjdG9yPE5TVG91Y2ggKj4gdG91Y2hlc09yZGVyZWRCeUFnZSgpOworCiAg
ICAgTlNWaWV3IDxXZWJWaWV3SW1wbERlbGVnYXRlPiAqbV92aWV3OwogICAgIHN0ZDo6dW5pcXVl
X3B0cjxQYWdlQ2xpZW50PiBtX3BhZ2VDbGllbnQ7CiAgICAgUmVmPFdlYlBhZ2VQcm94eT4gbV9w
YWdlOwpAQCAtNjAyLDYgKzYwOSw5IEBAIHByaXZhdGU6CiAgICAgLy8gdGhhdCBoYXMgYmVlbiBh
bHJlYWR5IHNlbnQgdG8gV2ViQ29yZS4KICAgICBSZXRhaW5QdHI8TlNFdmVudD4gbV9rZXlEb3du
RXZlbnRCZWluZ1Jlc2VudDsKICAgICBWZWN0b3I8V2ViQ29yZTo6S2V5cHJlc3NDb21tYW5kPiog
bV9jb2xsZWN0ZWRLZXlwcmVzc0NvbW1hbmRzIHsgbnVsbHB0ciB9OworCisgICAgVmVjdG9yPFJl
dGFpblB0cjxpZCA8TlNPYmplY3QsIE5TQ29weWluZz4+PiBtX2FjdGl2ZVRvdWNoSWRlbnRpdGll
czsKKyAgICBSZXRhaW5QdHI8TlNBcnJheT4gbV9sYXN0VG91Y2hlczsKIH07CiAgICAgCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9XZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJW
aWV3SW1wbC5tbQppbmRleCAyOTY5ZTcyLi4zNDI0Y2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC00NzYsNiArNDc2LDcgQEAgV2ViVmll
d0ltcGw6OldlYlZpZXdJbXBsKE5TVmlldyA8V2ViVmlld0ltcGxEZWxlZ2F0ZT4gKnZpZXcsIFdL
V2ViVmlldyAqb3V0ZXJXZWIKICAgICByZWdpc3RlckRyYWdnZWRUeXBlcygpOwogCiAgICAgbV92
aWV3LndhbnRzTGF5ZXIgPSBZRVM7CisgICAgbV92aWV3LmFjY2VwdHNUb3VjaEV2ZW50cyA9IFlF
UzsKIAogICAgIC8vIEV4cGxpY2l0bHkgc2V0IHRoZSBsYXllciBjb250ZW50cyBwbGFjZW1lbnQg
c28gQXBwS2l0IHdpbGwgbWFrZSBzdXJlIHRoYXQgb3VyIGxheWVyIGhhcyBtYXNrc1RvQm91bmRz
IHNldCB0byBZRVMuCiAgICAgbV92aWV3LmxheWVyQ29udGVudHNQbGFjZW1lbnQgPSBOU1ZpZXdM
YXllckNvbnRlbnRzUGxhY2VtZW50VG9wTGVmdDsKQEAgLTMxMTYsNyArMzExNyw3IEBAIHZvaWQg
V2ViVmlld0ltcGw6Om1hZ25pZnlXaXRoRXZlbnQoTlNFdmVudCAqZXZlbnQpCiB7CiAgICAgaWYg
KCFtX2FsbG93c01hZ25pZmljYXRpb24pIHsKICNpZiBFTkFCTEUoTUFDX0dFU1RVUkVfRVZFTlRT
KQotICAgICAgICBOYXRpdmVXZWJHZXN0dXJlRXZlbnQgd2ViRXZlbnQgPSBOYXRpdmVXZWJHZXN0
dXJlRXZlbnQoZXZlbnQsIG1fdmlldyk7CisgICAgICAgIE5hdGl2ZVdlYkdlc3R1cmVFdmVudCB3
ZWJFdmVudCA9IE5hdGl2ZVdlYkdlc3R1cmVFdmVudChldmVudCwgbV92aWV3LCB0b3VjaGVzT3Jk
ZXJlZEJ5QWdlKCkpOwogICAgICAgICBtX3BhZ2UtPmhhbmRsZUdlc3R1cmVFdmVudCh3ZWJFdmVu
dCk7CiAjZW5kaWYKICAgICAgICAgW21fdmlldyBfd2ViX3N1cGVyTWFnbmlmeVdpdGhFdmVudDpl
dmVudF07CkBAIC0zMTMzLDEzICszMTM0LDYxIEBAIHZvaWQgV2ViVmlld0ltcGw6Om1hZ25pZnlX
aXRoRXZlbnQoTlNFdmVudCAqZXZlbnQpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBO
YXRpdmVXZWJHZXN0dXJlRXZlbnQgd2ViRXZlbnQgPSBOYXRpdmVXZWJHZXN0dXJlRXZlbnQoZXZl
bnQsIG1fdmlldyk7CisgICAgTmF0aXZlV2ViR2VzdHVyZUV2ZW50IHdlYkV2ZW50ID0gTmF0aXZl
V2ViR2VzdHVyZUV2ZW50KGV2ZW50LCBtX3ZpZXcsIHRvdWNoZXNPcmRlcmVkQnlBZ2UoKSk7CiAg
ICAgbV9wYWdlLT5oYW5kbGVHZXN0dXJlRXZlbnQod2ViRXZlbnQpOwogI2Vsc2UKICAgICBnZXN0
dXJlQ29udHJvbGxlci5oYW5kbGVNYWduaWZpY2F0aW9uR2VzdHVyZUV2ZW50KGV2ZW50LCBbbV92
aWV3IGNvbnZlcnRQb2ludDpldmVudC5sb2NhdGlvbkluV2luZG93IGZyb21WaWV3Om5pbF0pOwog
I2VuZGlmCiB9CiAKK1ZlY3RvcjxOU1RvdWNoICo+IFdlYlZpZXdJbXBsOjp0b3VjaGVzT3JkZXJl
ZEJ5QWdlKCkKK3sKKyAgICBWZWN0b3I8TlNUb3VjaCAqPiB0b3VjaGVzOworCisgICAgZm9yIChh
dXRvJiB0b3VjaElkZW50aXR5IDogbV9hY3RpdmVUb3VjaElkZW50aXRpZXMpIHsKKyAgICAgICAg
Zm9yIChOU1RvdWNoICp0b3VjaCBpbiBtX2xhc3RUb3VjaGVzLmdldCgpKSB7CisgICAgICAgICAg
ICBpZiAoIVt0b3VjaC5pZGVudGl0eSBpc0VxdWFsOnRvdWNoSWRlbnRpdHkuZ2V0KCldKQorICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgdG91Y2hlcy5hcHBlbmQodG91Y2gp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gdG91
Y2hlczsKK30KKwordm9pZCBXZWJWaWV3SW1wbDo6dG91Y2hlc0JlZ2FuV2l0aEV2ZW50KE5TRXZl
bnQgKmV2ZW50KQoreworICAgIG1fbGFzdFRvdWNoZXMgPSBbZXZlbnQgdG91Y2hlc01hdGNoaW5n
UGhhc2U6TlNUb3VjaFBoYXNlQW55IGluVmlldzptX3ZpZXddLmFsbE9iamVjdHM7CisgICAgZm9y
IChOU1RvdWNoICp0b3VjaCBpbiBbZXZlbnQgdG91Y2hlc01hdGNoaW5nUGhhc2U6TlNUb3VjaFBo
YXNlQmVnYW4gaW5WaWV3Om1fdmlld10pCisgICAgICAgIG1fYWN0aXZlVG91Y2hJZGVudGl0aWVz
LmFwcGVuZCh0b3VjaC5pZGVudGl0eSk7Cit9CisKK3ZvaWQgV2ViVmlld0ltcGw6OnRvdWNoZXNN
b3ZlZFdpdGhFdmVudChOU0V2ZW50ICpldmVudCkKK3sKKyAgICBtX2xhc3RUb3VjaGVzID0gW2V2
ZW50IHRvdWNoZXNNYXRjaGluZ1BoYXNlOk5TVG91Y2hQaGFzZUFueSBpblZpZXc6bV92aWV3XS5h
bGxPYmplY3RzOworfQorCit2b2lkIFdlYlZpZXdJbXBsOjp0b3VjaGVzRW5kZWRXaXRoRXZlbnQo
TlNFdmVudCAqZXZlbnQpCit7CisgICAgbV9sYXN0VG91Y2hlcyA9IFtldmVudCB0b3VjaGVzTWF0
Y2hpbmdQaGFzZTpOU1RvdWNoUGhhc2VBbnkgaW5WaWV3Om1fdmlld10uYWxsT2JqZWN0czsKKyAg
ICBmb3IgKE5TVG91Y2ggKnRvdWNoIGluIFtldmVudCB0b3VjaGVzTWF0Y2hpbmdQaGFzZTpOU1Rv
dWNoUGhhc2VFbmRlZCBpblZpZXc6bV92aWV3XSkgeworICAgICAgICBzaXplX3QgaWRlbnRpdHlJ
bmRleCA9IG1fYWN0aXZlVG91Y2hJZGVudGl0aWVzLmZpbmQodG91Y2guaWRlbnRpdHkpOworICAg
ICAgICBBU1NFUlQoaWRlbnRpdHlJbmRleCAhPSBub3RGb3VuZCk7CisgICAgICAgIG1fYWN0aXZl
VG91Y2hJZGVudGl0aWVzLnJlbW92ZShpZGVudGl0eUluZGV4KTsKKyAgICB9Cit9CisKK3ZvaWQg
V2ViVmlld0ltcGw6OnRvdWNoZXNDYW5jZWxsZWRXaXRoRXZlbnQoTlNFdmVudCAqZXZlbnQpCit7
CisgICAgbV9sYXN0VG91Y2hlcyA9IFtldmVudCB0b3VjaGVzTWF0Y2hpbmdQaGFzZTpOU1RvdWNo
UGhhc2VBbnkgaW5WaWV3Om1fdmlld10uYWxsT2JqZWN0czsKKyAgICBmb3IgKE5TVG91Y2ggKnRv
dWNoIGluIFtldmVudCB0b3VjaGVzTWF0Y2hpbmdQaGFzZTpOU1RvdWNoUGhhc2VDYW5jZWxsZWQg
aW5WaWV3Om1fdmlld10pIHsKKyAgICAgICAgc2l6ZV90IGlkZW50aXR5SW5kZXggPSBtX2FjdGl2
ZVRvdWNoSWRlbnRpdGllcy5maW5kKHRvdWNoLmlkZW50aXR5KTsKKyAgICAgICAgQVNTRVJUKGlk
ZW50aXR5SW5kZXggIT0gbm90Rm91bmQpOworICAgICAgICBtX2FjdGl2ZVRvdWNoSWRlbnRpdGll
cy5yZW1vdmUoaWRlbnRpdHlJbmRleCk7CisgICAgfQorfQorCiB2b2lkIFdlYlZpZXdJbXBsOjpz
bWFydE1hZ25pZnlXaXRoRXZlbnQoTlNFdmVudCAqZXZlbnQpCiB7CiAgICAgaWYgKCFtX2FsbG93
c01hZ25pZmljYXRpb24pIHsKQEAgLTMxNjUsNyArMzIxNCw3IEBAIHZvaWQgV2ViVmlld0ltcGw6
OnNldExhc3RNb3VzZURvd25FdmVudChOU0V2ZW50ICpldmVudCkKICNpZiBFTkFCTEUoTUFDX0dF
U1RVUkVfRVZFTlRTKQogdm9pZCBXZWJWaWV3SW1wbDo6cm90YXRlV2l0aEV2ZW50KE5TRXZlbnQg
KmV2ZW50KQogewotICAgIE5hdGl2ZVdlYkdlc3R1cmVFdmVudCB3ZWJFdmVudCA9IE5hdGl2ZVdl
Ykdlc3R1cmVFdmVudChldmVudCwgbV92aWV3KTsKKyAgICBOYXRpdmVXZWJHZXN0dXJlRXZlbnQg
d2ViRXZlbnQgPSBOYXRpdmVXZWJHZXN0dXJlRXZlbnQoZXZlbnQsIG1fdmlldywgdG91Y2hlc09y
ZGVyZWRCeUFnZSgpKTsKICAgICBtX3BhZ2UtPmhhbmRsZUdlc3R1cmVFdmVudCh3ZWJFdmVudCk7
CiB9CiAjZW5kaWYK
</data>
<flag name="review"
          id="292446"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>