<?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>35625</bug_id>
          
          <creation_ts>2010-03-02 18:16:44 -0800</creation_ts>
          <short_desc>Correct base/extent of selection on double-click.</short_desc>
          <delta_ts>2023-03-14 16:56:09 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>CONFIGURATION CHANGED</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="Ojan Vafai">ojan</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>adele</cc>
    
    <cc>ahmad.saleem792</cc>
    
    <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>natevw</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>195345</commentid>
    <comment_count>0</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-03-02 18:16:44 -0800</bug_when>
    <thetext>Correct base/extent of selection on double-click.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195346</commentid>
    <comment_count>1</comment_count>
      <attachid>49872</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-03-02 18:19:47 -0800</bug_when>
    <thetext>Created attachment 49872
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195347</commentid>
    <comment_count>2</comment_count>
      <attachid>49872</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-03-02 18:20:24 -0800</bug_when>
    <thetext>Comment on attachment 49872
Patch

This patch depends on the patch in bug 35368.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195368</commentid>
    <comment_count>3</comment_count>
      <attachid>49872</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-03-02 20:40:58 -0800</bug_when>
    <thetext>Comment on attachment 49872
Patch

This patch has malformed ChangeLog.

+// FIXME: This method shouldn&apos;t be necessary. start/end should just be a function of base/extent
+// instead of separately stored values.

I don&apos;t understand. Why? These are completely different values, all visible through DOM APIs. See for example a test at &lt;https://bug-4904-attachments.webkit.org/attachment.cgi?id=4806&gt;.

r- for the formal reason of a broken ChangeLog, but I also have strong doubts about validity of the direction taken here, especially since it;s not explained at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195375</commentid>
    <comment_count>4</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-03-02 20:59:11 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 49872 [details])
&gt; This patch has malformed ChangeLog.

Yeah, that&apos;s because it depends on the patch bug 35368.

&gt; +// FIXME: This method shouldn&apos;t be necessary. start/end should just be a
&gt; function of base/extent
&gt; +// instead of separately stored values.
&gt; 
&gt; I don&apos;t understand. Why? These are completely different values, all visible
&gt; through DOM APIs. See for example a test at
&gt; &lt;https://bug-4904-attachments.webkit.org/attachment.cgi?id=4806&gt;.

I guess I don&apos;t really understand why it makes sense to expose these as different from anchor/focus. Why is is correct that, when you double-click, the base/extent do not actually correspond to the start/end of the selection?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197692</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-03-09 11:29:06 -0800</bug_when>
    <thetext>Anchor/focus sound like they could be the same things as base/extent, but they actually are not. The former tell what the selection is, while the latter tell how it was created.

So, base is the DOM position where mouse pointer was when the user began creating the selection, and
extent is the DOM Position where the mouse was when the user finalized the selection.

It&apos;s expected behavior that base/extent are equal after a double-click. They will not be equal, but will still be different from anchor/focus after 1.5-clicking and dragging over text. I&apos;m surprised we don&apos;t have tests verifying this - we should!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197696</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-03-09 11:32:23 -0800</bug_when>
    <thetext>I don&apos;t have a great answer why it makes sense to expose these positions - but it&apos;s definitely way too late to change the API, and the more interesting anchor/offset ones are already exposed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201908</commentid>
    <comment_count>7</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-03-19 10:09:03 -0700</bug_when>
    <thetext>&gt; I don&apos;t have a great answer why it makes sense to expose these positions - but
&gt; it&apos;s definitely way too late to change the API, and the more interesting
&gt; anchor/offset ones are already exposed.

I&apos;d really be surprised if anyone actually uses these correctly. I&apos;d expect very few people to understand the difference between base/extent and focus/anchor, so more likely, if they are using them, it&apos;s causing them bugs.

&gt; Anchor/focus sound like they could be the same things as base/extent, but they
&gt; actually are not. The former tell what the selection is, while the latter tell
&gt; how it was created.

Yup. Not sure why it&apos;s worthwhile exposing this. Seems like implementation details.

In either case, I&apos;m more interested in us not using it internally than whether we expose it or not. The only time we need base/extent within WebCore instead of anchor/focus is in the EventHandler code that deals with mouse-based selections.

How about I rework this patch to do the following:
1) Leave base/extent exposed to the web as it is currently in trunk.
2) Store anchor/focus in VisibleSelection.
3) Use anchor/focus everywhere in our code except for functions the expose base/extent to the web.

At a quick glance at the selection code, I was able to find a bug with base/extent. I&apos;ll attach a testcase in a sec. I&apos;d be surprised if we didn&apos;t have many bugs around base/extent not being at the bounds of the selection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201909</commentid>
    <comment_count>8</comment_count>
      <attachid>51164</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2010-03-19 10:11:34 -0700</bug_when>
    <thetext>Created attachment 51164
case that breaks due to base/extent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201969</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-03-19 12:06:19 -0700</bug_when>
    <thetext>Sounds reasonable to me (might not be worth much, as I don&apos;t have the design of related classes internalized). Please make regression tests for each bugfix, and also for the current base/extent behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871319</commentid>
    <comment_count>10</comment_count>
    <who name="Nathan Vander Wilt">natevw</who>
    <bug_when>2013-04-08 17:54:56 -0700</bug_when>
    <thetext>This issue may be causing a discrepancy I&apos;m seeing when dealing with user selections made by double-clicking (versus other input methods). When the DOM is modified with a broken selection as current, it gets collapsed: https://bugs.webkit.org/show_bug.cgi?id=114227</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1914022</commentid>
    <comment_count>11</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-11-22 02:25:17 -0800</bug_when>
    <thetext>I am able to reproduce this bug in Safari 16.1, Safari Technology Preview 158 using attached test case and while doubling clicking from middle of word &quot;middle&quot;, the selection only extent from middle rather than starting from the start of the word like other browsers Chrome Canary 110 and Firefox Nightly 109. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1941394</commentid>
    <comment_count>12</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2023-03-14 16:56:09 -0700</bug_when>
    <thetext>It seems to be fixed now in Safari Technology Preview 165 and WebKit ToT and the selection start from ‘middle’ word and it might be something related to “Selection API” changes by Ryosuke.

Marking this as “RESOLVED CONFIGURATION CHANGED”.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49872</attachid>
            <date>2010-03-02 18:19:47 -0800</date>
            <delta_ts>2010-06-11 10:20:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-35625-20100302181946.patch</filename>
            <type>text/plain</type>
            <size>14213</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2MmFkZDc1Li5mZDAxMzVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDE5ICsxLDEzIEBACi0yMDEwLTAz
LTAxICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CisyMDEwLTAzLTAyICBPamFuIFZh
ZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCiAKLSAgICAgICAgRnJhbWUgc2hvdWxkIHVzZSBTZWxlY3Rpb25Db250cm9sbGVyJ3Mg
VGV4dEdyYW51bGFyaXR5IGluc3RlYWQgb2YgaXQncyBvd24KLSAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MzY4Ci0gCi0gICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vZGVsZXRlLXdvcmQtZ3JhbnVsYXJpdHktdGV4dC1jb250cm9sLWV4cGVjdGVkLnR4
dDogQWRkZWQuCi0gICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZGVsZXRlLXdvcmQtZ3JhbnVs
YXJpdHktdGV4dC1jb250cm9sLmh0bWw6IEFkZGVkLgotICAgICAgICAqIGVkaXRpbmcvc2VsZWN0
aW9uL3NjcmlwdC10ZXN0cy9kZWxldGUtd29yZC1ncmFudWxhcml0eS10ZXh0LWNvbnRyb2wuanM6
IEFkZGVkLgotICAgICAgICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuIFRlc3RzIHRoZSBsaW5lcyBi
ZWluZyBkZWxldGVkIGluIFJlbmRlclRleHRDb250cm9sLmNwcC4KLSAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vZXhwYW5kaW5nLXNlbGVjdGlvbnMtZXhwZWN0ZWQudHh0
OgotICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi9leHBhbmRpbmctc2Vs
ZWN0aW9uczItZXhwZWN0ZWQudHh0OgotICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3Nl
bGVjdGlvbi90cmlwbGUtY2xpY2staW4tcHJlLWV4cGVjdGVkLnR4dDoKLSAgICAgICAgVGhlIGFi
b3ZlIHRocmVlIHJlc3VsdHMgY2hhbmdlIGJlY2F1c2UgZ3JhbnVsYXJpdHkgaXMgbm8gbG9uZ2Vy
IHBhcnQgb2YgdGhlCi0gICAgICAgIHNlbGVjdGlvbiwgc28gY2hhbmdlcyBpbiBncmFudWxhcml0
eSBkb24ndCBmaXJlIHNlbGVjdGlvbiBjaGFuZ2Ugbm90aWZpY2F0aW9ucy4KKyAgICAgICAgQ29y
cmVjdCBiYXNlL2V4dGVudCBvZiBzZWxlY3Rpb24gb24gZG91YmxlLWNsaWNrLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU2MjUKKworICAgICAgICAq
IGVkaXRpbmcvc2VsZWN0aW9uL2RvdWJsZS1jbGljay13b3JkLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlLWNsaWNrLXdvcmQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL2RvdWJsZS1jbGlj
ay13b3JkLmpzOiBBZGRlZC4KIAogMjAxMC0wMi0yNyAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNs
b0BjaHJvbWl1bS5vcmc+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2RvdWJsZS1jbGljay13b3JkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcv
c2VsZWN0aW9uL2RvdWJsZS1jbGljay13b3JkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5lM2E2NTNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlLWNsaWNrLXdvcmQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTQgQEAKK1Rlc3RzIHRoYXQgdGhlIHNlbGVjdGlvbiBpcyBjb3JyZWN0IGFmdGVyIGRv
dWJsZSBjbGlja2luZyBvbiBhIHdvcmQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIFNlbGVjdGlvbiBpcyBbYW5jaG9yTm9kZTogW29iamVjdCBUZXh0XShmb28gYmFyIGJh
eikgYW5jaG9yT2Zmc2V0OiA0IGZvY3VzTm9kZTogW29iamVjdCBUZXh0XShmb28gYmFyIGJheikg
Zm9jdXNPZmZzZXQ6IDcgaXNDb2xsYXBzZWQ6IGZhbHNlXQorUEFTUyBzZWxlY3Rpb24uYW5jaG9y
Tm9kZSBpcyBzZWxlY3Rpb24uYmFzZU5vZGUKK1BBU1Mgc2VsZWN0aW9uLmFuY2hvck9mZnNldCBp
cyBzZWxlY3Rpb24uYmFzZU9mZnNldAorUEFTUyBzZWxlY3Rpb24uZm9jdXNOb2RlIGlzIHNlbGVj
dGlvbi5leHRlbnROb2RlCitQQVNTIHNlbGVjdGlvbi5mb2N1c09mZnNldCBpcyBzZWxlY3Rpb24u
ZXh0ZW50T2Zmc2V0CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKK2ZvbyBiYXIgYmF6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9kb3VibGUtY2xpY2std29yZC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vZG91YmxlLWNsaWNrLXdvcmQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi45MWRlYzhmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxl
Y3Rpb24vZG91YmxlLWNsaWNrLXdvcmQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxp
bmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXNlbGVj
dGlvbi1zaGFyZWQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlw
dC10ZXN0cy9kb3VibGUtY2xpY2std29yZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL3Njcmlw
dC10ZXN0cy9kb3VibGUtY2xpY2std29yZC5qcyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL3NjcmlwdC10ZXN0cy9kb3VibGUtY2xpY2std29yZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5jYmIyZjNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9zZWxlY3Rpb24vc2NyaXB0LXRlc3RzL2RvdWJsZS1jbGljay13b3JkLmpzCkBAIC0w
LDAgKzEsMjUgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IHRoZSBzZWxlY3Rpb24gaXMgY29y
cmVjdCBhZnRlciBkb3VibGUgY2xpY2tpbmcgb24gYSB3b3JkLiIpCisKK3ZhciBzcGFuID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOworc3Bhbi5jb250ZW50RWRpdGFibGUgPSB0cnVl
Oworc3Bhbi5pbm5lckhUTUwgPSAiZm9vIGJhciBiYXoiOworZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChzcGFuKTsKKwordmFyIG1pZGRsZVggPSBzcGFuLm9mZnNldExlZnQgKyBzcGFuLm9mZnNl
dFdpZHRoIC8gMjsKK3ZhciBtaWRkbGVZID0gc3Bhbi5vZmZzZXRUb3AgKyBzcGFuLm9mZnNldEhl
aWdodCAvIDI7CisKK2V2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKG1pZGRsZVgsIG1pZGRsZVkpOwor
ZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CitldmVudFNlbmRlci5tb3VzZVVwKCk7CitldmVudFNl
bmRlci5tb3VzZURvd24oKTsKK2V2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKworYXNzZXJ0U2VsZWN0
aW9uQXQoc3Bhbi5maXJzdENoaWxkLCA0LCBzcGFuLmZpcnN0Q2hpbGQsIDcpOworCit2YXIgc2Vs
ZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpOworc2hvdWxkQmUoInNlbGVjdGlvbi5hbmNo
b3JOb2RlIiwgInNlbGVjdGlvbi5iYXNlTm9kZSIpOworc2hvdWxkQmUoInNlbGVjdGlvbi5hbmNo
b3JPZmZzZXQiLCAic2VsZWN0aW9uLmJhc2VPZmZzZXQiKTsKK3Nob3VsZEJlKCJzZWxlY3Rpb24u
Zm9jdXNOb2RlIiwgInNlbGVjdGlvbi5leHRlbnROb2RlIik7CitzaG91bGRCZSgic2VsZWN0aW9u
LmZvY3VzT2Zmc2V0IiwgInNlbGVjdGlvbi5leHRlbnRPZmZzZXQiKTsKKwordmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDhkNmVjNWUuLmFjNGI0OGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUxICsxLDI4IEBACi0yMDEw
LTAzLTAxICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CisyMDEwLTAzLTAyICBPamFu
IFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCiAKLSAgICAgICAgRnJhbWUgc2hvdWxkIHVzZSBTZWxlY3Rpb25Db250cm9sbGVy
J3MgVGV4dEdyYW51bGFyaXR5IGluc3RlYWQgb2YgaXQncyBvd24KLSAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1MzY4CisgICAgICAgIENvcnJlY3QgYmFz
ZS9leHRlbnQgb2Ygc2VsZWN0aW9uIG9uIGRvdWJsZS1jbGljay4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1NjI1CiAKLSAgICAgICAgQ2xlYW51cCBp
biBwcmVwYXJhdGlvbiBmb3Igb3RoZXIgc2VsZWN0aW9uIGNoYW5nZXMuCi0gICAgICAgIFRoZXJl
IHNob3VsZCBiZSBubyB1c2VyLXZpc2libGUgb3IgSlMtdmlzaWJsZSBjaGFuZ2VzLgorICAgICAg
ICBNYWtlcyB0aGUgYmFzZSBhbmQgZXh0ZW50IG1hdGNoIHRoZSBhY3R1YWwgc2VsZWN0aW9uIG9u
IG1vdXNlLWJhc2VkCisgICAgICAgIHNlbGVjdGlvbnMuCiAKLSAgICAgICAgVGVzdDogZWRpdGlu
Zy9zZWxlY3Rpb24vZGVsZXRlLXdvcmQtZ3JhbnVsYXJpdHktdGV4dC1jb250cm9sLmh0bWwKKyAg
ICAgICAgVGVzdDogZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlLWNsaWNrLXdvcmQuaHRtbAogCi0g
ICAgICAgICogV2ViQ29yZS5iYXNlLmV4cDoKLSAgICAgICAgKiBlZGl0aW5nL1NlbGVjdGlvbkNv
bnRyb2xsZXIuY3BwOgotICAgICAgICAoV2ViQ29yZTo6U2VsZWN0aW9uQ29udHJvbGxlcjo6U2Vs
ZWN0aW9uQ29udHJvbGxlcik6Ci0gICAgICAgIChXZWJDb3JlOjpTZWxlY3Rpb25Db250cm9sbGVy
Ojptb3ZlVG8pOgotICAgICAgICAoV2ViQ29yZTo6U2VsZWN0aW9uQ29udHJvbGxlcjo6c2V0U2Vs
ZWN0aW9uKToKLSAgICAgICAgKFdlYkNvcmU6OlNlbGVjdGlvbkNvbnRyb2xsZXI6Om1vZGlmeSk6
Ci0gICAgICAgIChXZWJDb3JlOjpTZWxlY3Rpb25Db250cm9sbGVyOjpjbGVhcik6Ci0gICAgICAg
IChXZWJDb3JlOjpTZWxlY3Rpb25Db250cm9sbGVyOjpzZXRCYXNlKToKLSAgICAgICAgKFdlYkNv
cmU6OlNlbGVjdGlvbkNvbnRyb2xsZXI6OnNldEV4dGVudCk6Ci0gICAgICAgICogZWRpdGluZy9T
ZWxlY3Rpb25Db250cm9sbGVyLmg6Ci0gICAgICAgIChXZWJDb3JlOjpTZWxlY3Rpb25Db250cm9s
bGVyOjpzZXRTZWxlY3Rpb24pOgotICAgICAgICAoV2ViQ29yZTo6U2VsZWN0aW9uQ29udHJvbGxl
cjo6Z3JhbnVsYXJpdHkpOgogICAgICAgICAqIGVkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpWaXNpYmxlU2VsZWN0aW9uOjpWaXNpYmxlU2VsZWN0aW9uKToK
LSAgICAgICAgKFdlYkNvcmU6OlZpc2libGVTZWxlY3Rpb246OmV4cGFuZFVzaW5nR3JhbnVsYXJp
dHkpOgogICAgICAgICAoV2ViQ29yZTo6VmlzaWJsZVNlbGVjdGlvbjo6c2V0U3RhcnRBbmRFbmRG
cm9tQmFzZUFuZEV4dGVudFJlc3BlY3RpbmdHcmFudWxhcml0eSk6Ci0gICAgICAgIChXZWJDb3Jl
OjpWaXNpYmxlU2VsZWN0aW9uOjp2YWxpZGF0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpWaXNpYmxl
U2VsZWN0aW9uOjpzZXRXaXRob3V0VmFsaWRhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpWaXNp
YmxlU2VsZWN0aW9uOjplbnN1cmVCYXNlQW5kRXh0ZW50TWF0Y2hTdGFydEFuZEVuZCk6CiAgICAg
ICAgICogZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmg6Ci0gICAgICAgIChXZWJDb3JlOjpvcGVy
YXRvcj09KToKLSAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgotICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVMb2FkZXI6OmNsZWFyKToKLSAgICAgICAgKiBwYWdlL0RPTVNlbGVjdGlvbi5j
cHA6Ci0gICAgICAgIChXZWJDb3JlOjpET01TZWxlY3Rpb246OmV4dGVuZCk6CiAgICAgICAgICog
cGFnZS9FdmVudEhhbmRsZXIuY3BwOgogICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpz
ZWxlY3RDbG9zZXN0V29yZEZyb21Nb3VzZUV2ZW50KToKICAgICAgICAgKFdlYkNvcmU6OkV2ZW50
SGFuZGxlcjo6c2VsZWN0Q2xvc2VzdFdvcmRPckxpbmtGcm9tTW91c2VFdmVudCk6CisgICAgICAg
IChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVudERvdWJsZUNsaWNr
KToKICAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50
VHJpcGxlQ2xpY2spOgogICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3Vz
ZVByZXNzRXZlbnRTaW5nbGVDbGljayk6CiAgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6
OnVwZGF0ZVNlbGVjdGlvbkZvck1vdXNlRHJhZyk6Ci0gICAgICAgICogcGFnZS9GcmFtZS5jcHA6
Ci0gICAgICAgIChXZWJDb3JlOjpGcmFtZTo6RnJhbWUpOgotICAgICAgICAoV2ViQ29yZTo6RnJh
bWU6OnNlbGVjdGlvbkdyYW51bGFyaXR5KToKLSAgICAgICAgKiBwYWdlL0ZyYW1lLmg6Ci0gICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcDoKLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRleHRDb250cm9sOjpzZXRTZWxlY3Rpb25SYW5nZSk6CisgICAgICAgIChXZWJDb3Jl
OjpFdmVudEhhbmRsZXI6OmJlZ2FuU2VsZWN0aW5nVGV4dCk6CisgICAgICAgICogcGFnZS9FdmVu
dEhhbmRsZXIuaDoKIAogMjAxMC0wMy0wMSAgSmFrb2IgUGV0c292aXRzICA8anBldHNvdml0c0By
aW0uY29tPgogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5j
cHAgYi9XZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5jcHAKaW5kZXggYzgxOGRhMS4u
NzQ0N2UzNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uY3Bw
CisrKyBiL1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmNwcApAQCAtMzg0LDYgKzM4
NCwyMSBAQCB2b2lkIFZpc2libGVTZWxlY3Rpb246OnNldFN0YXJ0QW5kRW5kRnJvbUJhc2VBbmRF
eHRlbnRSZXNwZWN0aW5nR3JhbnVsYXJpdHkoVGV4dAogICAgICAgICBtX3N0YXJ0ID0gbV9lbmQ7
CiAgICAgaWYgKG1fZW5kLmlzTnVsbCgpKQogICAgICAgICBtX2VuZCA9IG1fc3RhcnQ7CisKKyAg
ICBlbnN1cmVCYXNlQW5kRXh0ZW50TWF0Y2hTdGFydEFuZEVuZCgpOworfQorCisvLyBGSVhNRTog
VGhpcyBtZXRob2Qgc2hvdWxkbid0IGJlIG5lY2Vzc2FyeS4gc3RhcnQvZW5kIHNob3VsZCBqdXN0
IGJlIGEgZnVuY3Rpb24gb2YgYmFzZS9leHRlbnQKKy8vIGluc3RlYWQgb2Ygc2VwYXJhdGVseSBz
dG9yZWQgdmFsdWVzLgordm9pZCBWaXNpYmxlU2VsZWN0aW9uOjplbnN1cmVCYXNlQW5kRXh0ZW50
TWF0Y2hTdGFydEFuZEVuZCgpCit7CisgICAgaWYgKG1fYmFzZUlzRmlyc3QpIHsKKyAgICAgICAg
bV9iYXNlID0gbV9zdGFydDsKKyAgICAgICAgbV9leHRlbnQgPSBtX2VuZDsKKyAgICB9IGVsc2Ug
eworICAgICAgICBtX2Jhc2UgPSBtX2VuZDsKKyAgICAgICAgbV9leHRlbnQgPSBtX3N0YXJ0Owor
ICAgIH0gICAgICAgIAogfQogCiB2b2lkIFZpc2libGVTZWxlY3Rpb246OnVwZGF0ZVNlbGVjdGlv
blR5cGUoKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uaCBi
L1dlYkNvcmUvZWRpdGluZy9WaXNpYmxlU2VsZWN0aW9uLmgKaW5kZXggYzY0MDBhZC4uNjNhM2Uz
ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uaAorKysgYi9X
ZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVNlbGVjdGlvbi5oCkBAIC02MCw3ICs2MCw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldEJhc2UoY29uc3QgVmlzaWJsZVBvc2l0aW9uJik7CiAgICAgdm9pZCBz
ZXRFeHRlbnQoY29uc3QgUG9zaXRpb24mKTsKICAgICB2b2lkIHNldEV4dGVudChjb25zdCBWaXNp
YmxlUG9zaXRpb24mKTsKLSAgICAKKwogICAgIFBvc2l0aW9uIGJhc2UoKSBjb25zdCB7IHJldHVy
biBtX2Jhc2U7IH0KICAgICBQb3NpdGlvbiBleHRlbnQoKSBjb25zdCB7IHJldHVybiBtX2V4dGVu
dDsgfQogICAgIFBvc2l0aW9uIHN0YXJ0KCkgY29uc3QgeyByZXR1cm4gbV9zdGFydDsgfQpAQCAt
MTA3LDYgKzEwNyw4IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdm9pZCB2YWxpZGF0ZShUZXh0
R3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHkgPSBDaGFyYWN0ZXJHcmFudWxhcml0eSk7CiAKKyAgICB2
b2lkIGVuc3VyZUJhc2VBbmRFeHRlbnRNYXRjaFN0YXJ0QW5kRW5kKCk7CisgICAgCiAgICAgLy8g
U3VwcG9ydCBtZXRob2RzIGZvciB2YWxpZGF0ZSgpCiAgICAgdm9pZCBzZXRCYXNlQW5kRXh0ZW50
VG9EZWVwRXF1aXZhbGVudHMoKTsKICAgICB2b2lkIHNldFN0YXJ0QW5kRW5kRnJvbUJhc2VBbmRF
eHRlbnRSZXNwZWN0aW5nR3JhbnVsYXJpdHkoVGV4dEdyYW51bGFyaXR5IGdyYW51bGFyaXR5KTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5jcHAKaW5kZXggOTJjYWY3Yy4uYWViOWQ2ZCAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5jcHAKQEAgLTIzMyw5ICsyMzMsOSBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6c2VsZWN0Q2xvc2Vz
dFdvcmRGcm9tTW91c2VFdmVudChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZQogICAgIAog
ICAgICAgICBpZiAobmV3U2VsZWN0aW9uLmlzUmFuZ2UoKSkgewogICAgICAgICAgICAgZ3JhbnVs
YXJpdHkgPSBXb3JkR3JhbnVsYXJpdHk7Ci0gICAgICAgICAgICBtX2JlZ2FuU2VsZWN0aW5nVGV4
dCA9IHRydWU7CiAgICAgICAgICAgICBpZiAocmVzdWx0LmV2ZW50KCkuY2xpY2tDb3VudCgpID09
IDIgJiYgbV9mcmFtZS0+ZWRpdG9yKCktPmlzU2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxl
ZCgpKSAKLSAgICAgICAgICAgICAgICBuZXdTZWxlY3Rpb24uYXBwZW5kVHJhaWxpbmdXaGl0ZXNw
YWNlKCk7ICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgbmV3U2VsZWN0aW9uLmFwcGVuZFRy
YWlsaW5nV2hpdGVzcGFjZSgpOyAgICAKKyAgICAgICAgICAgIGJlZ2FuU2VsZWN0aW5nVGV4dChu
ZXdTZWxlY3Rpb24pOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBpZiAobV9mcmFtZS0+
c2hvdWxkQ2hhbmdlU2VsZWN0aW9uKG5ld1NlbGVjdGlvbikpCkBAIC0yNjAsNyArMjYwLDcgQEAg
dm9pZCBFdmVudEhhbmRsZXI6OnNlbGVjdENsb3Nlc3RXb3JkT3JMaW5rRnJvbU1vdXNlRXZlbnQo
Y29uc3QgTW91c2VFdmVudFdpdGhIaXQKICAgICAgICAgVGV4dEdyYW51bGFyaXR5IGdyYW51bGFy
aXR5ID0gQ2hhcmFjdGVyR3JhbnVsYXJpdHk7CiAgICAgICAgIGlmIChuZXdTZWxlY3Rpb24uaXNS
YW5nZSgpKSB7CiAgICAgICAgICAgICBncmFudWxhcml0eSA9IFdvcmRHcmFudWxhcml0eTsKLSAg
ICAgICAgICAgIG1fYmVnYW5TZWxlY3RpbmdUZXh0ID0gdHJ1ZTsKKyAgICAgICAgICAgIGJlZ2Fu
U2VsZWN0aW5nVGV4dChuZXdTZWxlY3Rpb24pOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKG1f
ZnJhbWUtPnNob3VsZENoYW5nZVNlbGVjdGlvbihuZXdTZWxlY3Rpb24pKQpAQCAtMjc5LDcgKzI3
OSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnREb3VibGVDbGlj
ayhjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSCiAgICAgICAgIC8vIHNlbGVjdENsb3Nlc3RX
b3JkRnJvbU1vdXNlRXZlbnQsIGJ1dCBkbyBzZXQKICAgICAgICAgLy8gbV9iZWdhblNlbGVjdGlu
Z1RleHQgdG8gcHJldmVudCBoYW5kbGVNb3VzZVJlbGVhc2VFdmVudAogICAgICAgICAvLyBmcm9t
IHNldHRpbmcgY2FyZXQgc2VsZWN0aW9uLgotICAgICAgICBtX2JlZ2FuU2VsZWN0aW5nVGV4dCA9
IHRydWU7CisgICAgICAgIGJlZ2FuU2VsZWN0aW5nVGV4dChtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+
c2VsZWN0aW9uKCkpOwogICAgIGVsc2UKICAgICAgICAgc2VsZWN0Q2xvc2VzdFdvcmRGcm9tTW91
c2VFdmVudChldmVudCk7CiAKQEAgLTMwNSw3ICszMDUsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6
aGFuZGxlTW91c2VQcmVzc0V2ZW50VHJpcGxlQ2xpY2soY29uc3QgTW91c2VFdmVudFdpdGhIaXRU
ZXN0UgogICAgIFRleHRHcmFudWxhcml0eSBncmFudWxhcml0eSA9IENoYXJhY3RlckdyYW51bGFy
aXR5OwogICAgIGlmIChuZXdTZWxlY3Rpb24uaXNSYW5nZSgpKSB7CiAgICAgICAgIGdyYW51bGFy
aXR5ID0gUGFyYWdyYXBoR3JhbnVsYXJpdHk7Ci0gICAgICAgIG1fYmVnYW5TZWxlY3RpbmdUZXh0
ID0gdHJ1ZTsKKyAgICAgICAgYmVnYW5TZWxlY3RpbmdUZXh0KG5ld1NlbGVjdGlvbik7CiAgICAg
fQogICAgIAogICAgIGlmIChtX2ZyYW1lLT5zaG91bGRDaGFuZ2VTZWxlY3Rpb24obmV3U2VsZWN0
aW9uKSkKQEAgLTM1OCw3ICszNTgsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQ
cmVzc0V2ZW50U2luZ2xlQ2xpY2soY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UgogICAgICAg
ICAgICAgbmV3U2VsZWN0aW9uLmV4cGFuZFVzaW5nR3JhbnVsYXJpdHkobV9mcmFtZS0+c2VsZWN0
aW9uR3JhbnVsYXJpdHkoKSk7CiAgICAgICAgIH0KIAotICAgICAgICBtX2JlZ2FuU2VsZWN0aW5n
VGV4dCA9IHRydWU7CisgICAgICAgIGJlZ2FuU2VsZWN0aW5nVGV4dChuZXdTZWxlY3Rpb24pOwog
ICAgIH0gZWxzZQogICAgICAgICBuZXdTZWxlY3Rpb24gPSBWaXNpYmxlU2VsZWN0aW9uKHZpc2li
bGVQb3MpOwogICAgIApAQCAtNTUxLDI2ICs1NTEsMjUgQEAgdm9pZCBFdmVudEhhbmRsZXI6OnVw
ZGF0ZVNlbGVjdGlvbkZvck1vdXNlRHJhZyhOb2RlKiB0YXJnZXROb2RlLCBjb25zdCBJbnRQb2lu
dCYKICAgICBpZiAodGFyZ2V0UG9zaXRpb24uaXNOdWxsKCkpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIC8vIFJlc3RhcnQgdGhlIHNlbGVjdGlvbiBpZiB0aGlzIGlzIHRoZSBmaXJzdCBtb3VzZSBt
b3ZlLiBUaGlzIHdvcmsgaXMgdXN1YWxseQotICAgIC8vIGRvbmUgaW4gaGFuZGxlTW91c2VQcmVz
c0V2ZW50LCBidXQgbm90IGlmIHRoZSBtb3VzZSBwcmVzcyB3YXMgb24gYW4gZXhpc3Rpbmcgc2Vs
ZWN0aW9uLgotICAgIFZpc2libGVTZWxlY3Rpb24gbmV3U2VsZWN0aW9uID0gbV9mcmFtZS0+c2Vs
ZWN0aW9uKCktPnNlbGVjdGlvbigpOwotCiAjaWYgRU5BQkxFKFNWRykKICAgICAvLyBTcGVjaWFs
IGNhc2UgdG8gbGltaXQgc2VsZWN0aW9uIHRvIHRoZSBjb250YWluaW5nIGJsb2NrIGZvciBTVkcg
dGV4dC4KICAgICAvLyBGSVhNRTogSXNuJ3QgdGhlcmUgYSBiZXR0ZXIgbm9uLVNWRy1zcGVjaWZp
YyB3YXkgdG8gZG8gdGhpcz8KLSAgICBpZiAoTm9kZSogc2VsZWN0aW9uQmFzZU5vZGUgPSBuZXdT
ZWxlY3Rpb24uYmFzZSgpLm5vZGUoKSkKKyAgICBpZiAoTm9kZSogc2VsZWN0aW9uQmFzZU5vZGUg
PSBtX2ZyYW1lLT5zZWxlY3Rpb24oKS0+c2VsZWN0aW9uKCkuYmFzZSgpLm5vZGUoKSkKICAgICAg
ICAgaWYgKFJlbmRlck9iamVjdCogc2VsZWN0aW9uQmFzZVJlbmRlcmVyID0gc2VsZWN0aW9uQmFz
ZU5vZGUtPnJlbmRlcmVyKCkpCiAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uQmFzZVJlbmRlcmVy
LT5pc1NWR1RleHQoKSkKICAgICAgICAgICAgICAgICBpZiAodGFyZ2V0Tm9kZS0+cmVuZGVyZXIo
KS0+Y29udGFpbmluZ0Jsb2NrKCkgIT0gc2VsZWN0aW9uQmFzZVJlbmRlcmVyLT5jb250YWluaW5n
QmxvY2soKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogI2VuZGlmCiAKKyAgICAvLyBS
ZXN0YXJ0IHRoZSBzZWxlY3Rpb24gaWYgdGhpcyBpcyB0aGUgZmlyc3QgbW91c2UgbW92ZS4gVGhp
cyB3b3JrIGlzIHVzdWFsbHkKKyAgICAvLyBkb25lIGluIGhhbmRsZU1vdXNlUHJlc3NFdmVudCwg
YnV0IG5vdCBpZiB0aGUgbW91c2UgcHJlc3Mgd2FzIG9uIGFuIGV4aXN0aW5nIHNlbGVjdGlvbi4K
KyAgICBWaXNpYmxlU2VsZWN0aW9uIG5ld1NlbGVjdGlvbjsgICAgCiAgICAgaWYgKCFtX2JlZ2Fu
U2VsZWN0aW5nVGV4dCkgewotICAgICAgICBtX2JlZ2FuU2VsZWN0aW5nVGV4dCA9IHRydWU7CiAg
ICAgICAgIG5ld1NlbGVjdGlvbiA9IFZpc2libGVTZWxlY3Rpb24odGFyZ2V0UG9zaXRpb24pOwot
ICAgIH0KKyAgICAgICAgYmVnYW5TZWxlY3RpbmdUZXh0KG5ld1NlbGVjdGlvbik7CisgICAgfSBl
bHNlCisgICAgICAgIG5ld1NlbGVjdGlvbiA9IFZpc2libGVTZWxlY3Rpb24obV9pbml0aWFsU2Vs
ZWN0aW9uVGFyZ2V0LCB0YXJnZXRQb3NpdGlvbik7CiAKLSAgICBuZXdTZWxlY3Rpb24uc2V0RXh0
ZW50KHRhcmdldFBvc2l0aW9uKTsKICAgICBpZiAobV9mcmFtZS0+c2VsZWN0aW9uR3JhbnVsYXJp
dHkoKSAhPSBDaGFyYWN0ZXJHcmFudWxhcml0eSkKICAgICAgICAgbmV3U2VsZWN0aW9uLmV4cGFu
ZFVzaW5nR3JhbnVsYXJpdHkobV9mcmFtZS0+c2VsZWN0aW9uR3JhbnVsYXJpdHkoKSk7CiAKQEAg
LTI1NTIsNiArMjU1MSwxMyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6dXBkYXRlTGFzdFNjcm9sbGJh
clVuZGVyTW91c2UoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGJvb2wgc2V0TAogICAgICAgICBtX2xh
c3RTY3JvbGxiYXJVbmRlck1vdXNlID0gc2V0TGFzdCA/IHNjcm9sbGJhciA6IDA7CiAgICAgfQog
fQorICAgIAordm9pZCBFdmVudEhhbmRsZXI6OmJlZ2FuU2VsZWN0aW5nVGV4dChjb25zdCBWaXNp
YmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24pCit7CisgICAgbV9pbml0aWFsU2VsZWN0aW9uVGFyZ2V0
ID0gc2VsZWN0aW9uLmJhc2UoKTsKKyAgICBtX2JlZ2FuU2VsZWN0aW5nVGV4dCA9IHRydWU7Cit9
CisKIAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuaCBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCBhMjY4
YWRiLi5mMzQ0ZTFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysr
IGIvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVk
ZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKICNpbmNs
dWRlICJUaW1lci5oIgorI2luY2x1ZGUgIlZpc2libGVTZWxlY3Rpb24uaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAtMzI3LDYgKzMyOCw4
IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVMYXN0U2Nyb2xsYmFyVW5kZXJNb3VzZShTY3Jv
bGxiYXIqLCBib29sKTsKICAgICAKICAgICB2b2lkIHNldEZyYW1lV2FzU2Nyb2xsZWRCeVVzZXIo
KTsKKyAgICAKKyAgICB2b2lkIGJlZ2FuU2VsZWN0aW5nVGV4dChjb25zdCBWaXNpYmxlU2VsZWN0
aW9uJik7CiAKICAgICBib29sIGNhcHR1cmVzRHJhZ2dpbmcoKSBjb25zdCB7IHJldHVybiBtX2Nh
cHR1cmVzRHJhZ2dpbmc7IH0KIApAQCAtMzQ4LDYgKzM1MSw4IEBAIHByaXZhdGU6CiAjZW5kaWYK
ICAgICBib29sIG1fbW91c2VEb3duV2FzU2luZ2xlQ2xpY2tJblNlbGVjdGlvbjsKICAgICBib29s
IG1fYmVnYW5TZWxlY3RpbmdUZXh0OworICAgIAorICAgIFZpc2libGVQb3NpdGlvbiBtX2luaXRp
YWxTZWxlY3Rpb25UYXJnZXQ7CiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIEludFBv
aW50IG1fZHJhZ1N0YXJ0UG9zOwo=
</data>
<flag name="review"
          id="32855"
          type_id="1"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>51164</attachid>
            <date>2010-03-19 10:11:34 -0700</date>
            <delta_ts>2010-03-19 10:11:34 -0700</delta_ts>
            <desc>case that breaks due to base/extent</desc>
            <filename>scratch.html</filename>
            <type>text/html</type>
            <size>349</size>
            <attacher name="Ojan Vafai">ojan</attacher>
            
              <data encoding="base64">PGRpdiBjb250ZW50RWRpdGFibGUgaWQ9Zm9vPmRvdWJsZSBjbGljayBpbiB0aGUgbWlkZGxlIG9m
IGEgd29yZCBpbiB0aGlzIGRpdi4gVGhlIHNlbGVjdGlvbiBzaG91bGQgZW5kIHVwIGJlaW5nIGZy
b20gdGhlIHN0YXJ0IG9mIHRoZSB3b3JkIHRvIHRoZSBlbmQgb2YgdGhlIGRpdiwgYnV0IGluc3Rl
YWQgaXQncyBmcm9tIHRoZSBwbGFjZSB3aGVyZSB5b3UgY2xpY2tlZCB0byB0aGUgZW5kIG9mIHRo
ZSBkaXYuPC9kaXY+CjxzY3JpcHQ+CmZvby5hZGRFdmVudExpc3RlbmVyKCdkYmxjbGljaycsIGZ1
bmN0aW9uKCkgewogIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5leHRlbmQoZm9vLCAxKTsKfSk7Cjwv
c2NyaXB0Pg==
</data>

          </attachment>
      

    </bug>

</bugzilla>