<?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>128797</bug_id>
          
          <creation_ts>2014-02-13 22:17:23 -0800</creation_ts>
          <short_desc>setSelection should not synchronously trigger layout</short_desc>
          <delta_ts>2014-02-14 14:22:26 -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>HTML Editing</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>
          
          <blocked>127832</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>hyatt</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>980642</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-02-13 22:17:23 -0800</bug_when>
    <thetext>When there is a pending layout or style recalc, simply delay the work until the layout happens.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980643</commentid>
    <comment_count>1</comment_count>
      <attachid>224160</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-02-13 22:21:25 -0800</bug_when>
    <thetext>Created attachment 224160
Work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980644</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-13 22:23:27 -0800</bug_when>
    <thetext>Attachment 224160 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 2 in 11 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>980645</commentid>
    <comment_count>3</comment_count>
      <attachid>224161</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-02-13 22:26:21 -0800</bug_when>
    <thetext>Created attachment 224161
Removed Xcode change (still WIP)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980648</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-13 22:28:13 -0800</bug_when>
    <thetext>Attachment 224161 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 2 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>980672</commentid>
    <comment_count>5</comment_count>
      <attachid>224170</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-02-14 00:06:03 -0800</bug_when>
    <thetext>Created attachment 224170
Removes the sync layout</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980673</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-02-14 00:06:31 -0800</bug_when>
    <thetext>I&apos;m quite happy about the fact I&apos;ve successfully avoid adding yet-another timer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980675</commentid>
    <comment_count>7</comment_count>
      <attachid>224171</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-02-14 00:10:27 -0800</bug_when>
    <thetext>Created attachment 224171
Removed the stale declaration of selectionUpdateTimerFired</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980909</commentid>
    <comment_count>8</comment_count>
      <attachid>224171</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-02-14 12:29:21 -0800</bug_when>
    <thetext>Comment on attachment 224171
Removed the stale declaration of selectionUpdateTimerFired

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

&gt; Source/WebCore/dom/Document.cpp:1786
&gt; +bool Document::needsLayout() const

The name is confusing, this checks ancestor documents too. Something like selfOrParentDocumentNeedsLayout() perhaps?

&gt; Source/WebCore/dom/Document.h:558
&gt; +    bool needsStyleRecalc() const { return m_optimizedStyleSheetUpdateTimer.isActive() || m_pendingStyleRecalcShouldForce || childNeedsStyleRecalc(); }

Does this really need to be inlined? Why isn&apos;t hasPendingStyleRecalc() sufficient? These are confusing enough already, I wouldn&apos;t like to add more slightly different variants.

Why doesn&apos;t this need to recurse to ancestors? It is used in the same places as the newly added needsLayout().

&gt; Source/WebCore/editing/FrameSelection.cpp:1338
&gt; +    if (!m_frame)

Frameless FrameSelection sounds weird.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980987</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2014-02-14 14:22:26 -0800</bug_when>
    <thetext>Committed r164133: &lt;http://trac.webkit.org/changeset/164133&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224160</attachid>
            <date>2014-02-13 22:21:25 -0800</date>
            <delta_ts>2014-02-13 22:26:21 -0800</delta_ts>
            <desc>Work in progress</desc>
            <filename>wip128797</filename>
            <type>text/plain</type>
            <size>15403</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NDAxNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE0LTAyLTEyICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIE5lZWQgYSBzaG9ydCBkZXNjcmlw
dGlvbiAoT09QUyEpLgorICAgICAgICBOZWVkIHRoZSBidWcgVVJMIChPT1BTISkuCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChP
T1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpGcmFtZVNlbGVjdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lU2VsZWN0aW9uOjpzZWxlY3Rpb25VcGRhdGVUaW1lckZpcmVkKToKKyAgICAgICAgKiBlZGl0
aW5nL0ZyYW1lU2VsZWN0aW9uLmg6CisKIDIwMTQtMDItMTEgIEFsZXhleSBQcm9za3VyeWFrb3Yg
IDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgRG9uJ3QgY3Jhc2ggd2hlbiBTZXJpYWxpemVkU2Ny
aXB0VmFsdWUgZGVzZXJpYWxpemF0aW9uIGZhaWxzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgko
cmV2aXNpb24gMTY0MDEyKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtp
bmcgY29weSkKQEAgLTM0MSw2ICszNDEsNyBAQAogX19aTjdXZWJDb3JlMTRGcmFtZVNlbGVjdGlv
bjE2c2V0U2VsZWN0ZWRSYW5nZUVQTlNfNVJhbmdlRU5TXzlFQWZmaW5pdHlFYgogX19aTjdXZWJD
b3JlMTRGcmFtZVNlbGVjdGlvbjE5YWJzb2x1dGVDYXJldEJvdW5kc0V2CiBfX1pON1dlYkNvcmUx
NEZyYW1lU2VsZWN0aW9uMjBzZXRTZWxlY3Rpb25Gcm9tTm9uZUV2CitfX1pON1dlYkNvcmUxNEZy
YW1lU2VsZWN0aW9uMjN1cGRhdGVBbmRSZXZhbFNlbGVjdGlvbkV2CiBfX1pON1dlYkNvcmUxNEZy
YW1lU2VsZWN0aW9uNWNsZWFyRXYKIF9fWk43V2ViQ29yZTE0RnJhbWVTZWxlY3Rpb242bW9kaWZ5
RU5TMF8xMUVBbHRlcmF0aW9uRU5TXzE4U2VsZWN0aW9uRGlyZWN0aW9uRU5TXzE1VGV4dEdyYW51
bGFyaXR5RU5TXzE0RVVzZXJUcmlnZ2VyZWRFCiBfX1pON1dlYkNvcmUxNEZyYW1lU2VsZWN0aW9u
OXNlbGVjdEFsbEV2CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDE2NDAx
MikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE3ODMsNiArMTc4MywxOCBAQAogICAgIHJlY2FsY1N0eWxlKFN0eWxlOjpOb0NoYW5nZSk7CiB9
CiAKK2Jvb2wgRG9jdW1lbnQ6Om5lZWRzTGF5b3V0KCkgY29uc3QKK3sKKyAgICBGcmFtZVZpZXcq
IGZyYW1lVmlldyA9IHZpZXcoKTsKKyAgICBpZiAoZnJhbWVWaWV3ICYmIHJlbmRlclZpZXcoKSAm
JiAoZnJhbWVWaWV3LT5sYXlvdXRQZW5kaW5nKCkgfHwgcmVuZGVyVmlldygpLT5uZWVkc0xheW91
dCgpKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAoRWxlbWVudCogb3duZXIgPSBv
d25lckVsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIG93bmVyLT5kb2N1bWVudCgpLm5lZWRzTGF5
b3V0KCk7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxh
eW91dCgpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCShyZXZpc2lvbiAxNjQwMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtNTU1LDcgKzU1NSw5IEBACiAgICAgUGFzc1JlZlB0cjxUZXh0
PiBjcmVhdGVFZGl0aW5nVGV4dE5vZGUoY29uc3QgU3RyaW5nJik7CiAKICAgICB2b2lkIHJlY2Fs
Y1N0eWxlKFN0eWxlOjpDaGFuZ2UgPSBTdHlsZTo6Tm9DaGFuZ2UpOworICAgIGJvb2wgbmVlZHNT
dHlsZVJlY2FsYygpIGNvbnN0IHsgcmV0dXJuIG1fb3B0aW1pemVkU3R5bGVTaGVldFVwZGF0ZVRp
bWVyLmlzQWN0aXZlKCkgfHwgbV9wZW5kaW5nU3R5bGVSZWNhbGNTaG91bGRGb3JjZSB8fCBjaGls
ZE5lZWRzU3R5bGVSZWNhbGMoKTsgfQogICAgIHZvaWQgdXBkYXRlU3R5bGVJZk5lZWRlZCgpOwor
ICAgIGJvb2wgbmVlZHNMYXlvdXQoKSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZUxheW91dCgpOwog
ICAgIHZvaWQgdXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAgICAgUGFz
c1JlZjxSZW5kZXJTdHlsZT4gc3R5bGVGb3JFbGVtZW50SWdub3JpbmdQZW5kaW5nU3R5bGVzaGVl
dHMoRWxlbWVudCopOwpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlv
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlv
bi5jcHAJKHJldmlzaW9uIDE2NDAxMikKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVT
ZWxlY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsMTEgKzExMSwxNCBAQAogICAgICwg
bV94UG9zRm9yVmVydGljYWxBcnJvd05hdmlnYXRpb24oTm9YUG9zRm9yVmVydGljYWxBcnJvd05h
dmlnYXRpb24oKSkKICAgICAsIG1fZ3JhbnVsYXJpdHkoQ2hhcmFjdGVyR3JhbnVsYXJpdHkpCiAg
ICAgLCBtX2NhcmV0QmxpbmtUaW1lcih0aGlzLCAmRnJhbWVTZWxlY3Rpb246OmNhcmV0QmxpbmtU
aW1lckZpcmVkKQorICAgICwgbV9zZWxlY3Rpb25VcGRhdGVUaW1lcih0aGlzLCAmRnJhbWVTZWxl
Y3Rpb246OnNlbGVjdGlvblVwZGF0ZVRpbWVyRmlyZWQpCiAgICAgLCBtX2Fic0NhcmV0Qm91bmRz
RGlydHkodHJ1ZSkKICAgICAsIG1fY2FyZXRQYWludCh0cnVlKQogICAgICwgbV9pc0NhcmV0Qmxp
bmtpbmdTdXNwZW5kZWQoZmFsc2UpCiAgICAgLCBtX2ZvY3VzZWQoZnJhbWUgJiYgZnJhbWUtPnBh
Z2UoKSAmJiBmcmFtZS0+cGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS5mb2N1c2VkRnJhbWUoKSA9
PSBmcmFtZSkKICAgICAsIG1fc2hvdWxkU2hvd0Jsb2NrQ3Vyc29yKGZhbHNlKQorICAgICwgbV9z
aG91bGRSZXZlYWxTZWxlY3Rpb24oZmFsc2UpCisgICAgLCBtX2Fsd2F5c0FsaWduQ3Vyc29yT25T
Y3JvbGxXaGVuUmV2ZWFsaW5nU2VsZWN0aW9uKGZhbHNlKQogI2lmIFBMQVRGT1JNKElPUykKICAg
ICAsIG1fdXBkYXRlQXBwZWFyYW5jZUVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2NhcmV0Qmxpbmtz
KHRydWUpCkBAIC0zMTMsNiArMzE2LDIxIEBACiAgICAgaWYgKCFzZXRTZWxlY3Rpb25XaXRob3V0
VXBkYXRpbmdBcHBlYXJhbmNlKHNlbGVjdGlvbiwgb3B0aW9ucywgYWxpZ24sIGdyYW51bGFyaXR5
KSkKICAgICAgICAgcmV0dXJuOwogCisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gbV9mcmFtZS0+
ZG9jdW1lbnQoKTsKKyAgICBpZiAoIWRvY3VtZW50KQorICAgICAgICByZXR1cm47CisKKyAgICBt
X3Nob3VsZFJldmVhbFNlbGVjdGlvbiA9IG9wdGlvbnMgJiBSZXZlYWxTZWxlY3Rpb247CisgICAg
bV9hbHdheXNBbGlnbkN1cnNvck9uU2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbiA9IGFsaWdu
ID09IEFsaWduQ3Vyc29yT25TY3JvbGxBbHdheXM7CisKKyAgICBpZiAoIWRvY3VtZW50LT5uZWVk
c1N0eWxlUmVjYWxjKCkgJiYgIWRvY3VtZW50LT5uZWVkc0xheW91dCgpKQorICAgICAgICBzZWxl
Y3Rpb25VcGRhdGVUaW1lckZpcmVkKG1fc2VsZWN0aW9uVXBkYXRlVGltZXIpOworICAgIGVsc2Ug
aWYgKCFtX3NlbGVjdGlvblVwZGF0ZVRpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgIG1fc2VsZWN0
aW9uVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworfQorCit2b2lkIEZyYW1lU2VsZWN0aW9u
OjpzZWxlY3Rpb25VcGRhdGVUaW1lckZpcmVkKFRpbWVyPEZyYW1lU2VsZWN0aW9uPiYpCit7CiAj
aWYgRU5BQkxFKFRFWFRfQ0FSRVQpCiAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+dXBkYXRlTGF5
b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAjZWxzZQpAQCAtMzIwLDEzICszMzgsMTMg
QEAKICNlbmRpZgogICAgIHVwZGF0ZUFwcGVhcmFuY2UoKTsKIAotICAgIGlmIChvcHRpb25zICYg
UmV2ZWFsU2VsZWN0aW9uKSB7CisgICAgaWYgKG1fc2hvdWxkUmV2ZWFsU2VsZWN0aW9uKSB7CiAg
ICAgICAgIFNjcm9sbEFsaWdubWVudCBhbGlnbm1lbnQ7CiAKICAgICAgICAgaWYgKG1fZnJhbWUt
PmVkaXRvcigpLmJlaGF2aW9yKCkuc2hvdWxkQ2VudGVyQWxpZ25XaGVuU2VsZWN0aW9uSXNSZXZl
YWxlZCgpKQotICAgICAgICAgICAgYWxpZ25tZW50ID0gKGFsaWduID09IEFsaWduQ3Vyc29yT25T
Y3JvbGxBbHdheXMpID8gU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlckFsd2F5cyA6IFNjcm9s
bEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5lZWRlZDsKKyAgICAgICAgICAgIGFsaWdubWVudCA9
IG1fYWx3YXlzQWxpZ25DdXJzb3JPblNjcm9sbFdoZW5SZXZlYWxpbmdTZWxlY3Rpb24gPyBTY3Jv
bGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVyQWx3YXlzIDogU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNl
bnRlcklmTmVlZGVkOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBhbGlnbm1lbnQgPSAoYWxp
Z24gPT0gQWxpZ25DdXJzb3JPblNjcm9sbEFsd2F5cykgPyBTY3JvbGxBbGlnbm1lbnQ6OmFsaWdu
VG9wQWx3YXlzIDogU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvRWRnZUlmTmVlZGVkOworICAgICAg
ICAgICAgYWxpZ25tZW50ID0gbV9hbHdheXNBbGlnbkN1cnNvck9uU2Nyb2xsV2hlblJldmVhbGlu
Z1NlbGVjdGlvbiA/IFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub3BBbHdheXMgOiBTY3JvbGxBbGln
bm1lbnQ6OmFsaWduVG9FZGdlSWZOZWVkZWQ7CiAKICAgICAgICAgcmV2ZWFsU2VsZWN0aW9uKGFs
aWdubWVudCwgUmV2ZWFsRXh0ZW50KTsKICAgICB9CkBAIC0zMzQsNiArMzUyLDE0IEBACiAgICAg
bm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZSgpOwogfQogCit2b2lkIEZyYW1l
U2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZhbFNlbGVjdGlvbigpCit7CisgICAgaWYgKG1fc2VsZWN0
aW9uVXBkYXRlVGltZXIuaXNBY3RpdmUoKSkgeworICAgICAgICBtX3NlbGVjdGlvblVwZGF0ZVRp
bWVyLnN0b3AoKTsKKyAgICAgICAgc2VsZWN0aW9uVXBkYXRlVGltZXJGaXJlZChtX3NlbGVjdGlv
blVwZGF0ZVRpbWVyKTsKKyAgICB9Cit9CisKIHN0YXRpYyBib29sIHJlbW92aW5nTm9kZVJlbW92
ZXNQb3NpdGlvbihOb2RlKiBub2RlLCBjb25zdCBQb3NpdGlvbiYgcG9zaXRpb24pCiB7CiAgICAg
aWYgKCFwb3NpdGlvbi5hbmNob3JOb2RlKCkpCkBAIC0xMzA4LDYgKzEzMzQsNyBAQAogCiBJbnRS
ZWN0IEZyYW1lU2VsZWN0aW9uOjphYnNvbHV0ZUNhcmV0Qm91bmRzKCkKIHsKKyAgICB1cGRhdGVB
bmRSZXZhbFNlbGVjdGlvbigpOwogICAgIHJlY29tcHV0ZUNhcmV0UmVjdCgpOwogICAgIHJldHVy
biBtX2Fic0NhcmV0Qm91bmRzOwogfQpAQCAtMTM1NSw4ICsxMzgyLDEwIEBACiAgICAgSW50UmVj
dCBvbGRBYnNDYXJldEJvdW5kcyA9IG1fYWJzQ2FyZXRCb3VuZHM7CiAgICAgbV9hYnNDYXJldEJv
dW5kcyA9IGFic29sdXRlQm91bmRzRm9yTG9jYWxDYXJldFJlY3QocmVuZGVyZXJGb3JDYXJldFBh
aW50aW5nKGNhcmV0Tm9kZS5nZXQoKSksIG5ld1JlY3QpOwogCi0gICAgaWYgKG1fYWJzQ2FyZXRC
b3VuZHNEaXJ0eSkgLy8gV2Ugc2hvdWxkIGJlIGFibGUgdG8gYWx3YXlzIGFzc2VydCB0aGlzIGNv
bmRpdGlvbi4KLSAgICAgICAgQVNTRVJUKG1fYWJzQ2FyZXRCb3VuZHMgPT0gbV9zZWxlY3Rpb24u
dmlzaWJsZVN0YXJ0KCkuYWJzb2x1dGVDYXJldEJvdW5kcygpKTsKKyAgICBpZiAobV9hYnNDYXJl
dEJvdW5kc0RpcnR5ICYmIG1fc2VsZWN0aW9uLmlzQ2FyZXQoKSkgeyAvLyBXZSBzaG91bGQgYmUg
YWJsZSB0byBhbHdheXMgYXNzZXJ0IHRoaXMgY29uZGl0aW9uLgorICAgICAgICBJbnRSZWN0IGFi
c0NhcmV0ID0gbV9zZWxlY3Rpb24udmlzaWJsZVN0YXJ0KCkuYWJzb2x1dGVDYXJldEJvdW5kcygp
OworICAgICAgICBBU1NFUlQobV9hYnNDYXJldEJvdW5kcyA9PSBhYnNDYXJldCk7CisgICAgfQog
CiAgICAgbV9hYnNDYXJldEJvdW5kc0RpcnR5ID0gZmFsc2U7CiAKQEAgLTE4MTQsMTUgKzE4NDMs
MTUgQEAKICAgICBpZiAoY2FyZXRWaXNpYmlsaXR5KCkgPT0gdmlzaWJpbGl0eSkKICAgICAgICAg
cmV0dXJuOwogCisgICAgLy8gRklYTUU6IFdlIHNob3VsZG4ndCB0cmlnZ2VyIGEgc3luY2hybm91
c2x5IGxheW91dCBoZXJlLgorICAgIHVwZGF0ZUFuZFJldmFsU2VsZWN0aW9uKCk7CisKICNpZiBF
TkFCTEUoVEVYVF9DQVJFVCkKLSAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJ
Z25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKICAgICBpZiAobV9jYXJldFBhaW50KSB7CiAgICAg
ICAgIG1fY2FyZXRQYWludCA9IGZhbHNlOwogICAgICAgICBpbnZhbGlkYXRlQ2FyZXRSZWN0KCk7
CiAgICAgfQogICAgIENhcmV0QmFzZTo6c2V0Q2FyZXRWaXNpYmlsaXR5KHZpc2liaWxpdHkpOwot
I2Vsc2UKLSAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT51cGRhdGVTdHlsZUlmTmVlZGVkKCk7CiAj
ZW5kaWYKIAogICAgIHVwZGF0ZUFwcGVhcmFuY2UoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRnJhbWVTZWxlY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0ZyYW1lU2VsZWN0aW9uLmgJKHJldmlzaW9uIDE2NDAxMikKKysrIFNvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMTQzLDYgKzE0Myw3
IEBACiAKICAgICBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24oKSBjb25zdCB7IHJl
dHVybiBtX3NlbGVjdGlvbjsgfQogICAgIHZvaWQgc2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVT
ZWxlY3Rpb24mLCBTZXRTZWxlY3Rpb25PcHRpb25zID0gZGVmYXVsdFNldFNlbGVjdGlvbk9wdGlv
bnMoKSwgQ3Vyc29yQWxpZ25PblNjcm9sbCA9IEFsaWduQ3Vyc29yT25TY3JvbGxJZk5lZWRlZCwg
VGV4dEdyYW51bGFyaXR5ID0gQ2hhcmFjdGVyR3JhbnVsYXJpdHkpOworICAgIHZvaWQgdXBkYXRl
QW5kUmV2YWxTZWxlY3Rpb24oKTsKICAgICBib29sIHNldFNlbGVjdGVkUmFuZ2UoUmFuZ2UqLCBF
QWZmaW5pdHksIGJvb2wgY2xvc2VUeXBpbmcpOwogICAgIHZvaWQgc2VsZWN0QWxsKCk7CiAgICAg
dm9pZCBjbGVhcigpOwpAQCAtMjY4LDYgKzI2OSw3IEBACiAgICAgZW51bSBFUG9zaXRpb25UeXBl
IHsgU1RBUlQsIEVORCwgQkFTRSwgRVhURU5UIH07CiAKICAgICBib29sIHNldFNlbGVjdGlvbldp
dGhvdXRVcGRhdGluZ0FwcGVhcmFuY2UoY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYsIFNldFNlbGVj
dGlvbk9wdGlvbnMsIEN1cnNvckFsaWduT25TY3JvbGwsIFRleHRHcmFudWxhcml0eSk7CisgICAg
dm9pZCBzZWxlY3Rpb25VcGRhdGVUaW1lckZpcmVkKFRpbWVyPEZyYW1lU2VsZWN0aW9uPiYpOwog
CiAgICAgdm9pZCByZXNwb25kVG9Ob2RlTW9kaWZpY2F0aW9uKE5vZGUqLCBib29sIGJhc2VSZW1v
dmVkLCBib29sIGV4dGVudFJlbW92ZWQsIGJvb2wgc3RhcnRSZW1vdmVkLCBib29sIGVuZFJlbW92
ZWQpOwogICAgIFRleHREaXJlY3Rpb24gZGlyZWN0aW9uT2ZFbmNsb3NpbmdCbG9jaygpOwpAQCAt
MzI0LDYgKzMyNiw3IEBACiAgICAgUmVmUHRyPEVkaXRpbmdTdHlsZT4gbV90eXBpbmdTdHlsZTsK
IAogICAgIFRpbWVyPEZyYW1lU2VsZWN0aW9uPiBtX2NhcmV0QmxpbmtUaW1lcjsKKyAgICBUaW1l
cjxGcmFtZVNlbGVjdGlvbj4gbV9zZWxlY3Rpb25VcGRhdGVUaW1lcjsKICAgICAvLyBUaGUgcGFp
bnRlZCBib3VuZHMgb2YgdGhlIGNhcmV0IGluIGFic29sdXRlIGNvb3JkaW5hdGVzCiAgICAgSW50
UmVjdCBtX2Fic0NhcmV0Qm91bmRzOwogICAgIGJvb2wgbV9hYnNDYXJldEJvdW5kc0RpcnR5IDog
MTsKQEAgLTMzMSw2ICszMzQsOCBAQAogICAgIGJvb2wgbV9pc0NhcmV0QmxpbmtpbmdTdXNwZW5k
ZWQgOiAxOwogICAgIGJvb2wgbV9mb2N1c2VkIDogMTsKICAgICBib29sIG1fc2hvdWxkU2hvd0Js
b2NrQ3Vyc29yIDogMTsKKyAgICBib29sIG1fc2hvdWxkUmV2ZWFsU2VsZWN0aW9uIDogMTsKKyAg
ICBib29sIG1fYWx3YXlzQWxpZ25DdXJzb3JPblNjcm9sbFdoZW5SZXZlYWxpbmdTZWxlY3Rpb24g
OiAxOwogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGJvb2wgbV91cGRhdGVBcHBlYXJhbmNlRW5h
YmxlZCA6IDE7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lvbiAxNjQw
MTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI2MjcsNyArMjYyNyw3IEBACiAgICAgbV9wb3N0TGF5b3V0VGFza3NUaW1lci5zdG9wKCk7
CiAKICAgICBmcmFtZSgpLnNlbGVjdGlvbigpLnNldENhcmV0UmVjdE5lZWRzVXBkYXRlKCk7Ci0g
ICAgZnJhbWUoKS5zZWxlY3Rpb24oKS51cGRhdGVBcHBlYXJhbmNlKCk7CisgICAgZnJhbWUoKS5z
ZWxlY3Rpb24oKS51cGRhdGVBbmRSZXZhbFNlbGVjdGlvbigpOwogCiAgICAgTGF5b3V0TWlsZXN0
b25lcyByZXF1ZXN0ZWRNaWxlc3RvbmVzID0gMDsKICAgICBMYXlvdXRNaWxlc3RvbmVzIG1pbGVz
dG9uZXNBY2hpZXZlZCA9IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CShyZXZpc2lvbiAxNjQwMTIpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTY4Niw5ICs2ODYsMTkgQEAKICAgICAgICAgcmV0dXJuIENs
aWVudFJlY3Q6OmNyZWF0ZSgpOwogICAgIH0KIAorICAgIGRvY3VtZW50LT5mcmFtZSgpLT5zZWxl
Y3Rpb24oKS51cGRhdGVBbmRSZXZhbFNlbGVjdGlvbigpOwogICAgIHJldHVybiBDbGllbnRSZWN0
OjpjcmVhdGUoZG9jdW1lbnQtPmZyYW1lKCktPnNlbGVjdGlvbigpLmFic29sdXRlQ2FyZXRCb3Vu
ZHMoKSk7CiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjp1cGRhdGVBbmRSZXZhbFNlbGVjdGlvbihFeGNl
cHRpb25Db2RlJiBlYykKK3sKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBjb250ZXh0RG9jdW1l
bnQoKTsKKyAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+ZnJhbWUoKSkKKyAgICAgICAg
ZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgZWxzZQorICAgICAgICBkb2N1bWVudC0+ZnJh
bWUoKS0+c2VsZWN0aW9uKCkudXBkYXRlQW5kUmV2YWxTZWxlY3Rpb24oKTsKK30KKwogUGFzc1Jl
ZlB0cjxDbGllbnRSZWN0PiBJbnRlcm5hbHM6OmJvdW5kaW5nQm94KEVsZW1lbnQqIGVsZW1lbnQs
IEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICghZWxlbWVudCkgewpAQCAtMjEzNSw2ICsy
MTQ1LDcgQEAKICAgICAgICAgcmV0dXJuIENsaWVudFJlY3Q6OmNyZWF0ZSgpOwogICAgIH0KIAor
ICAgIGRvY3VtZW50LT5mcmFtZSgpLT5zZWxlY3Rpb24oKS51cGRhdGVBbmRSZXZhbFNlbGVjdGlv
bigpOwogICAgIHJldHVybiBDbGllbnRSZWN0OjpjcmVhdGUoZG9jdW1lbnQtPmZyYW1lKCktPnNl
bGVjdGlvbigpLnNlbGVjdGlvbkJvdW5kcygpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5oCShyZXZpc2lvbiAxNjQwMTIpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjUsNiArMTI1LDcgQEAKICAgICB2b2lk
IHNldEZvcm1Db250cm9sU3RhdGVPZlByZXZpb3VzSGlzdG9yeUl0ZW0oY29uc3QgVmVjdG9yPFN0
cmluZz4mLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICBQYXNzUmVmUHRyPENsaWVudFJlY3Q+IGFi
c29sdXRlQ2FyZXRCb3VuZHMoRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgdXBkYXRlQW5kUmV2
YWxTZWxlY3Rpb24oRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgUGFzc1JlZlB0cjxDbGllbnRSZWN0
PiBib3VuZGluZ0JveChFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCShyZXZpc2lvbiAxNjQwMTIpCisrKyBTb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTc2LDYgKzc2LDcg
QEAKICAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldEZvcm1Db250cm9sU3RhdGVPZlByZXZp
b3VzSGlzdG9yeUl0ZW0oc2VxdWVuY2U8RE9NU3RyaW5nPiB2YWx1ZXMpOwogCiAgICAgW1JhaXNl
c0V4Y2VwdGlvbl0gQ2xpZW50UmVjdCBhYnNvbHV0ZUNhcmV0Qm91bmRzKCk7CisgICAgW1JhaXNl
c0V4Y2VwdGlvbl0gdm9pZCB1cGRhdGVBbmRSZXZhbFNlbGVjdGlvbigpOwogCiAgICAgW1JhaXNl
c0V4Y2VwdGlvbl0gQ2xpZW50UmVjdCBib3VuZGluZ0JveChFbGVtZW50IGVsZW1lbnQpOwogCklu
ZGV4OiBXZWJLaXQueGN3b3Jrc3BhY2UveGNzaGFyZWRkYXRhL3hjc2NoZW1lcy9BbGwgU291cmNl
Lnhjc2NoZW1lCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC54Y3dvcmtzcGFjZS94Y3NoYXJlZGRhdGEv
eGNzY2hlbWVzL0FsbCBTb3VyY2UueGNzY2hlbWUJKHJldmlzaW9uIDE2NDAxMikKKysrIFdlYktp
dC54Y3dvcmtzcGFjZS94Y3NoYXJlZGRhdGEveGNzY2hlbWVzL0FsbCBTb3VyY2UueGNzY2hlbWUJ
KHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1LDcgQEAKICAgICAgIDxCdWlsZEFjdGlvbkVudHJp
ZXM+CiAgICAgICAgICA8QnVpbGRBY3Rpb25FbnRyeQogICAgICAgICAgICAgYnVpbGRGb3JUZXN0
aW5nID0gIllFUyIKLSAgICAgICAgICAgIGJ1aWxkRm9yUnVubmluZyA9ICJZRVMiCisgICAgICAg
ICAgICBidWlsZEZvclJ1bm5pbmcgPSAiTk8iCiAgICAgICAgICAgICBidWlsZEZvclByb2ZpbGlu
ZyA9ICJZRVMiCiAgICAgICAgICAgICBidWlsZEZvckFyY2hpdmluZyA9ICJZRVMiCiAgICAgICAg
ICAgICBidWlsZEZvckFuYWx5emluZyA9ICJZRVMiPgpAQCAtMzksNyArMzksNyBAQAogICAgICAg
ICAgPC9CdWlsZEFjdGlvbkVudHJ5PgogICAgICAgICAgPEJ1aWxkQWN0aW9uRW50cnkKICAgICAg
ICAgICAgIGJ1aWxkRm9yVGVzdGluZyA9ICJZRVMiCi0gICAgICAgICAgICBidWlsZEZvclJ1bm5p
bmcgPSAiWUVTIgorICAgICAgICAgICAgYnVpbGRGb3JSdW5uaW5nID0gIk5PIgogICAgICAgICAg
ICAgYnVpbGRGb3JQcm9maWxpbmcgPSAiWUVTIgogICAgICAgICAgICAgYnVpbGRGb3JBcmNoaXZp
bmcgPSAiWUVTIgogICAgICAgICAgICAgYnVpbGRGb3JBbmFseXppbmcgPSAiWUVTIj4KQEAgLTUz
LDcgKzUzLDcgQEAKICAgICAgICAgIDwvQnVpbGRBY3Rpb25FbnRyeT4KICAgICAgICAgIDxCdWls
ZEFjdGlvbkVudHJ5CiAgICAgICAgICAgICBidWlsZEZvclRlc3RpbmcgPSAiWUVTIgotICAgICAg
ICAgICAgYnVpbGRGb3JSdW5uaW5nID0gIllFUyIKKyAgICAgICAgICAgIGJ1aWxkRm9yUnVubmlu
ZyA9ICJOTyIKICAgICAgICAgICAgIGJ1aWxkRm9yUHJvZmlsaW5nID0gIllFUyIKICAgICAgICAg
ICAgIGJ1aWxkRm9yQXJjaGl2aW5nID0gIllFUyIKICAgICAgICAgICAgIGJ1aWxkRm9yQW5hbHl6
aW5nID0gIllFUyI+CkBAIC02Nyw3ICs2Nyw3IEBACiAgICAgICAgICA8L0J1aWxkQWN0aW9uRW50
cnk+CiAgICAgICAgICA8QnVpbGRBY3Rpb25FbnRyeQogICAgICAgICAgICAgYnVpbGRGb3JUZXN0
aW5nID0gIllFUyIKLSAgICAgICAgICAgIGJ1aWxkRm9yUnVubmluZyA9ICJZRVMiCisgICAgICAg
ICAgICBidWlsZEZvclJ1bm5pbmcgPSAiTk8iCiAgICAgICAgICAgICBidWlsZEZvclByb2ZpbGlu
ZyA9ICJZRVMiCiAgICAgICAgICAgICBidWlsZEZvckFyY2hpdmluZyA9ICJZRVMiCiAgICAgICAg
ICAgICBidWlsZEZvckFuYWx5emluZyA9ICJZRVMiPgpAQCAtODEsNyArODEsNyBAQAogICAgICAg
ICAgPC9CdWlsZEFjdGlvbkVudHJ5PgogICAgICAgICAgPEJ1aWxkQWN0aW9uRW50cnkKICAgICAg
ICAgICAgIGJ1aWxkRm9yVGVzdGluZyA9ICJZRVMiCi0gICAgICAgICAgICBidWlsZEZvclJ1bm5p
bmcgPSAiWUVTIgorICAgICAgICAgICAgYnVpbGRGb3JSdW5uaW5nID0gIk5PIgogICAgICAgICAg
ICAgYnVpbGRGb3JQcm9maWxpbmcgPSAiWUVTIgogICAgICAgICAgICAgYnVpbGRGb3JBcmNoaXZp
bmcgPSAiWUVTIgogICAgICAgICAgICAgYnVpbGRGb3JBbmFseXppbmcgPSAiWUVTIj4KQEAgLTk1
LDcgKzk1LDcgQEAKICAgICAgICAgIDwvQnVpbGRBY3Rpb25FbnRyeT4KICAgICAgICAgIDxCdWls
ZEFjdGlvbkVudHJ5CiAgICAgICAgICAgICBidWlsZEZvclRlc3RpbmcgPSAiWUVTIgotICAgICAg
ICAgICAgYnVpbGRGb3JSdW5uaW5nID0gIllFUyIKKyAgICAgICAgICAgIGJ1aWxkRm9yUnVubmlu
ZyA9ICJOTyIKICAgICAgICAgICAgIGJ1aWxkRm9yUHJvZmlsaW5nID0gIllFUyIKICAgICAgICAg
ICAgIGJ1aWxkRm9yQXJjaGl2aW5nID0gIllFUyIKICAgICAgICAgICAgIGJ1aWxkRm9yQW5hbHl6
aW5nID0gIllFUyI+CkBAIC0xMTYsNiArMTE2LDE1IEBACiAgICAgICBidWlsZENvbmZpZ3VyYXRp
b24gPSAiRGVidWciPgogICAgICAgPFRlc3RhYmxlcz4KICAgICAgIDwvVGVzdGFibGVzPgorICAg
ICAgPE1hY3JvRXhwYW5zaW9uPgorICAgICAgICAgPEJ1aWxkYWJsZVJlZmVyZW5jZQorICAgICAg
ICAgICAgQnVpbGRhYmxlSWRlbnRpZmllciA9ICJwcmltYXJ5IgorICAgICAgICAgICAgQmx1ZXBy
aW50SWRlbnRpZmllciA9ICI5MzQwOTk0QTA4NTQwQ0FFMDA3RjNCQzgiCisgICAgICAgICAgICBC
dWlsZGFibGVOYW1lID0gIkR1bXBSZW5kZXJUcmVlIgorICAgICAgICAgICAgQmx1ZXByaW50TmFt
ZSA9ICJEdW1wUmVuZGVyVHJlZSIKKyAgICAgICAgICAgIFJlZmVyZW5jZWRDb250YWluZXIgPSAi
Y29udGFpbmVyOlRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvaiI+
CisgICAgICAgICA8L0J1aWxkYWJsZVJlZmVyZW5jZT4KKyAgICAgIDwvTWFjcm9FeHBhbnNpb24+
CiAgICA8L1Rlc3RBY3Rpb24+CiAgICA8TGF1bmNoQWN0aW9uCiAgICAgICBzZWxlY3RlZERlYnVn
Z2VySWRlbnRpZmllciA9ICJYY29kZS5EZWJ1Z2dlckZvdW5kYXRpb24uRGVidWdnZXIuTExEQiIK
QEAgLTEyNiw5ICsxMzUsMjUgQEAKICAgICAgIGlnbm9yZXNQZXJzaXN0ZW50U3RhdGVPbkxhdW5j
aCA9ICJZRVMiCiAgICAgICBkZWJ1Z0RvY3VtZW50VmVyc2lvbmluZyA9ICJZRVMiCiAgICAgICBh
bGxvd0xvY2F0aW9uU2ltdWxhdGlvbiA9ICJZRVMiPgotICAgICAgPFBhdGhSdW5uYWJsZQotICAg
ICAgICAgRmlsZVBhdGggPSAiL0FwcGxpY2F0aW9ucy9TYWZhcmkuYXBwL0NvbnRlbnRzL01hY09T
L1NhZmFyaUZvcldlYktpdERldmVsb3BtZW50Ij4KLSAgICAgIDwvUGF0aFJ1bm5hYmxlPgorICAg
ICAgPEJ1aWxkYWJsZVByb2R1Y3RSdW5uYWJsZT4KKyAgICAgICAgIDxCdWlsZGFibGVSZWZlcmVu
Y2UKKyAgICAgICAgICAgIEJ1aWxkYWJsZUlkZW50aWZpZXIgPSAicHJpbWFyeSIKKyAgICAgICAg
ICAgIEJsdWVwcmludElkZW50aWZpZXIgPSAiOTM0MDk5NEEwODU0MENBRTAwN0YzQkM4IgorICAg
ICAgICAgICAgQnVpbGRhYmxlTmFtZSA9ICJEdW1wUmVuZGVyVHJlZSIKKyAgICAgICAgICAgIEJs
dWVwcmludE5hbWUgPSAiRHVtcFJlbmRlclRyZWUiCisgICAgICAgICAgICBSZWZlcmVuY2VkQ29u
dGFpbmVyID0gImNvbnRhaW5lcjpUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54
Y29kZXByb2oiPgorICAgICAgICAgPC9CdWlsZGFibGVSZWZlcmVuY2U+CisgICAgICA8L0J1aWxk
YWJsZVByb2R1Y3RSdW5uYWJsZT4KKyAgICAgIDxDb21tYW5kTGluZUFyZ3VtZW50cz4KKyAgICAg
ICAgIDxDb21tYW5kTGluZUFyZ3VtZW50CisgICAgICAgICAgICBhcmd1bWVudCA9ICIuLi8uLi9M
YXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9kcmFnLWluLWlmcmFtZS5odG1sIgorICAgICAg
ICAgICAgaXNFbmFibGVkID0gIk5PIj4KKyAgICAgICAgIDwvQ29tbWFuZExpbmVBcmd1bWVudD4K
KyAgICAgICAgIDxDb21tYW5kTGluZUFyZ3VtZW50CisgICAgICAgICAgICBhcmd1bWVudCA9ICIu
Li8uLi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvdGV4dC1zZWxlY3Rpb24tcmVjdC1pbi1vdmVy
Zmxvdy0yLmh0bWwiCisgICAgICAgICAgICBpc0VuYWJsZWQgPSAiWUVTIj4KKyAgICAgICAgIDwv
Q29tbWFuZExpbmVBcmd1bWVudD4KKyAgICAgIDwvQ29tbWFuZExpbmVBcmd1bWVudHM+CiAgICAg
ICA8QWRkaXRpb25hbE9wdGlvbnM+CiAgICAgICA8L0FkZGl0aW9uYWxPcHRpb25zPgogICAgPC9M
YXVuY2hBY3Rpb24+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224161</attachid>
            <date>2014-02-13 22:26:21 -0800</date>
            <delta_ts>2014-02-14 00:05:58 -0800</delta_ts>
            <desc>Removed Xcode change (still WIP)</desc>
            <filename>wip128797b</filename>
            <type>text/plain</type>
            <size>11455</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NDAxNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE0LTAyLTEyICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIE5lZWQgYSBzaG9ydCBkZXNjcmlw
dGlvbiAoT09QUyEpLgorICAgICAgICBOZWVkIHRoZSBidWcgVVJMIChPT1BTISkuCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChP
T1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpGcmFtZVNlbGVjdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lU2VsZWN0aW9uOjpzZWxlY3Rpb25VcGRhdGVUaW1lckZpcmVkKToKKyAgICAgICAgKiBlZGl0
aW5nL0ZyYW1lU2VsZWN0aW9uLmg6CisKIDIwMTQtMDItMTEgIEFsZXhleSBQcm9za3VyeWFrb3Yg
IDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgRG9uJ3QgY3Jhc2ggd2hlbiBTZXJpYWxpemVkU2Ny
aXB0VmFsdWUgZGVzZXJpYWxpemF0aW9uIGZhaWxzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgko
cmV2aXNpb24gMTY0MDEyKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtp
bmcgY29weSkKQEAgLTM0MSw2ICszNDEsNyBAQAogX19aTjdXZWJDb3JlMTRGcmFtZVNlbGVjdGlv
bjE2c2V0U2VsZWN0ZWRSYW5nZUVQTlNfNVJhbmdlRU5TXzlFQWZmaW5pdHlFYgogX19aTjdXZWJD
b3JlMTRGcmFtZVNlbGVjdGlvbjE5YWJzb2x1dGVDYXJldEJvdW5kc0V2CiBfX1pON1dlYkNvcmUx
NEZyYW1lU2VsZWN0aW9uMjBzZXRTZWxlY3Rpb25Gcm9tTm9uZUV2CitfX1pON1dlYkNvcmUxNEZy
YW1lU2VsZWN0aW9uMjN1cGRhdGVBbmRSZXZhbFNlbGVjdGlvbkV2CiBfX1pON1dlYkNvcmUxNEZy
YW1lU2VsZWN0aW9uNWNsZWFyRXYKIF9fWk43V2ViQ29yZTE0RnJhbWVTZWxlY3Rpb242bW9kaWZ5
RU5TMF8xMUVBbHRlcmF0aW9uRU5TXzE4U2VsZWN0aW9uRGlyZWN0aW9uRU5TXzE1VGV4dEdyYW51
bGFyaXR5RU5TXzE0RVVzZXJUcmlnZ2VyZWRFCiBfX1pON1dlYkNvcmUxNEZyYW1lU2VsZWN0aW9u
OXNlbGVjdEFsbEV2CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDE2NDAx
MikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE3ODMsNiArMTc4MywxOCBAQAogICAgIHJlY2FsY1N0eWxlKFN0eWxlOjpOb0NoYW5nZSk7CiB9
CiAKK2Jvb2wgRG9jdW1lbnQ6Om5lZWRzTGF5b3V0KCkgY29uc3QKK3sKKyAgICBGcmFtZVZpZXcq
IGZyYW1lVmlldyA9IHZpZXcoKTsKKyAgICBpZiAoZnJhbWVWaWV3ICYmIHJlbmRlclZpZXcoKSAm
JiAoZnJhbWVWaWV3LT5sYXlvdXRQZW5kaW5nKCkgfHwgcmVuZGVyVmlldygpLT5uZWVkc0xheW91
dCgpKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAoRWxlbWVudCogb3duZXIgPSBv
d25lckVsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIG93bmVyLT5kb2N1bWVudCgpLm5lZWRzTGF5
b3V0KCk7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUxh
eW91dCgpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCShyZXZpc2lvbiAxNjQwMTIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtNTU1LDcgKzU1NSw5IEBACiAgICAgUGFzc1JlZlB0cjxUZXh0
PiBjcmVhdGVFZGl0aW5nVGV4dE5vZGUoY29uc3QgU3RyaW5nJik7CiAKICAgICB2b2lkIHJlY2Fs
Y1N0eWxlKFN0eWxlOjpDaGFuZ2UgPSBTdHlsZTo6Tm9DaGFuZ2UpOworICAgIGJvb2wgbmVlZHNT
dHlsZVJlY2FsYygpIGNvbnN0IHsgcmV0dXJuIG1fb3B0aW1pemVkU3R5bGVTaGVldFVwZGF0ZVRp
bWVyLmlzQWN0aXZlKCkgfHwgbV9wZW5kaW5nU3R5bGVSZWNhbGNTaG91bGRGb3JjZSB8fCBjaGls
ZE5lZWRzU3R5bGVSZWNhbGMoKTsgfQogICAgIHZvaWQgdXBkYXRlU3R5bGVJZk5lZWRlZCgpOwor
ICAgIGJvb2wgbmVlZHNMYXlvdXQoKSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZUxheW91dCgpOwog
ICAgIHZvaWQgdXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAgICAgUGFz
c1JlZjxSZW5kZXJTdHlsZT4gc3R5bGVGb3JFbGVtZW50SWdub3JpbmdQZW5kaW5nU3R5bGVzaGVl
dHMoRWxlbWVudCopOwpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlv
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlv
bi5jcHAJKHJldmlzaW9uIDE2NDAxMikKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVT
ZWxlY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsMTEgKzExMSwxNCBAQAogICAgICwg
bV94UG9zRm9yVmVydGljYWxBcnJvd05hdmlnYXRpb24oTm9YUG9zRm9yVmVydGljYWxBcnJvd05h
dmlnYXRpb24oKSkKICAgICAsIG1fZ3JhbnVsYXJpdHkoQ2hhcmFjdGVyR3JhbnVsYXJpdHkpCiAg
ICAgLCBtX2NhcmV0QmxpbmtUaW1lcih0aGlzLCAmRnJhbWVTZWxlY3Rpb246OmNhcmV0QmxpbmtU
aW1lckZpcmVkKQorICAgICwgbV9zZWxlY3Rpb25VcGRhdGVUaW1lcih0aGlzLCAmRnJhbWVTZWxl
Y3Rpb246OnNlbGVjdGlvblVwZGF0ZVRpbWVyRmlyZWQpCiAgICAgLCBtX2Fic0NhcmV0Qm91bmRz
RGlydHkodHJ1ZSkKICAgICAsIG1fY2FyZXRQYWludCh0cnVlKQogICAgICwgbV9pc0NhcmV0Qmxp
bmtpbmdTdXNwZW5kZWQoZmFsc2UpCiAgICAgLCBtX2ZvY3VzZWQoZnJhbWUgJiYgZnJhbWUtPnBh
Z2UoKSAmJiBmcmFtZS0+cGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS5mb2N1c2VkRnJhbWUoKSA9
PSBmcmFtZSkKICAgICAsIG1fc2hvdWxkU2hvd0Jsb2NrQ3Vyc29yKGZhbHNlKQorICAgICwgbV9z
aG91bGRSZXZlYWxTZWxlY3Rpb24oZmFsc2UpCisgICAgLCBtX2Fsd2F5c0FsaWduQ3Vyc29yT25T
Y3JvbGxXaGVuUmV2ZWFsaW5nU2VsZWN0aW9uKGZhbHNlKQogI2lmIFBMQVRGT1JNKElPUykKICAg
ICAsIG1fdXBkYXRlQXBwZWFyYW5jZUVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2NhcmV0Qmxpbmtz
KHRydWUpCkBAIC0zMTMsNiArMzE2LDIxIEBACiAgICAgaWYgKCFzZXRTZWxlY3Rpb25XaXRob3V0
VXBkYXRpbmdBcHBlYXJhbmNlKHNlbGVjdGlvbiwgb3B0aW9ucywgYWxpZ24sIGdyYW51bGFyaXR5
KSkKICAgICAgICAgcmV0dXJuOwogCisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gbV9mcmFtZS0+
ZG9jdW1lbnQoKTsKKyAgICBpZiAoIWRvY3VtZW50KQorICAgICAgICByZXR1cm47CisKKyAgICBt
X3Nob3VsZFJldmVhbFNlbGVjdGlvbiA9IG9wdGlvbnMgJiBSZXZlYWxTZWxlY3Rpb247CisgICAg
bV9hbHdheXNBbGlnbkN1cnNvck9uU2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbiA9IGFsaWdu
ID09IEFsaWduQ3Vyc29yT25TY3JvbGxBbHdheXM7CisKKyAgICBpZiAoIWRvY3VtZW50LT5uZWVk
c1N0eWxlUmVjYWxjKCkgJiYgIWRvY3VtZW50LT5uZWVkc0xheW91dCgpKQorICAgICAgICBzZWxl
Y3Rpb25VcGRhdGVUaW1lckZpcmVkKG1fc2VsZWN0aW9uVXBkYXRlVGltZXIpOworICAgIGVsc2Ug
aWYgKCFtX3NlbGVjdGlvblVwZGF0ZVRpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgIG1fc2VsZWN0
aW9uVXBkYXRlVGltZXIuc3RhcnRPbmVTaG90KDApOworfQorCit2b2lkIEZyYW1lU2VsZWN0aW9u
OjpzZWxlY3Rpb25VcGRhdGVUaW1lckZpcmVkKFRpbWVyPEZyYW1lU2VsZWN0aW9uPiYpCit7CiAj
aWYgRU5BQkxFKFRFWFRfQ0FSRVQpCiAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+dXBkYXRlTGF5
b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAjZWxzZQpAQCAtMzIwLDEzICszMzgsMTMg
QEAKICNlbmRpZgogICAgIHVwZGF0ZUFwcGVhcmFuY2UoKTsKIAotICAgIGlmIChvcHRpb25zICYg
UmV2ZWFsU2VsZWN0aW9uKSB7CisgICAgaWYgKG1fc2hvdWxkUmV2ZWFsU2VsZWN0aW9uKSB7CiAg
ICAgICAgIFNjcm9sbEFsaWdubWVudCBhbGlnbm1lbnQ7CiAKICAgICAgICAgaWYgKG1fZnJhbWUt
PmVkaXRvcigpLmJlaGF2aW9yKCkuc2hvdWxkQ2VudGVyQWxpZ25XaGVuU2VsZWN0aW9uSXNSZXZl
YWxlZCgpKQotICAgICAgICAgICAgYWxpZ25tZW50ID0gKGFsaWduID09IEFsaWduQ3Vyc29yT25T
Y3JvbGxBbHdheXMpID8gU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlckFsd2F5cyA6IFNjcm9s
bEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5lZWRlZDsKKyAgICAgICAgICAgIGFsaWdubWVudCA9
IG1fYWx3YXlzQWxpZ25DdXJzb3JPblNjcm9sbFdoZW5SZXZlYWxpbmdTZWxlY3Rpb24gPyBTY3Jv
bGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVyQWx3YXlzIDogU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNl
bnRlcklmTmVlZGVkOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBhbGlnbm1lbnQgPSAoYWxp
Z24gPT0gQWxpZ25DdXJzb3JPblNjcm9sbEFsd2F5cykgPyBTY3JvbGxBbGlnbm1lbnQ6OmFsaWdu
VG9wQWx3YXlzIDogU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvRWRnZUlmTmVlZGVkOworICAgICAg
ICAgICAgYWxpZ25tZW50ID0gbV9hbHdheXNBbGlnbkN1cnNvck9uU2Nyb2xsV2hlblJldmVhbGlu
Z1NlbGVjdGlvbiA/IFNjcm9sbEFsaWdubWVudDo6YWxpZ25Ub3BBbHdheXMgOiBTY3JvbGxBbGln
bm1lbnQ6OmFsaWduVG9FZGdlSWZOZWVkZWQ7CiAKICAgICAgICAgcmV2ZWFsU2VsZWN0aW9uKGFs
aWdubWVudCwgUmV2ZWFsRXh0ZW50KTsKICAgICB9CkBAIC0zMzQsNiArMzUyLDE0IEBACiAgICAg
bm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZSgpOwogfQogCit2b2lkIEZyYW1l
U2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZhbFNlbGVjdGlvbigpCit7CisgICAgaWYgKG1fc2VsZWN0
aW9uVXBkYXRlVGltZXIuaXNBY3RpdmUoKSkgeworICAgICAgICBtX3NlbGVjdGlvblVwZGF0ZVRp
bWVyLnN0b3AoKTsKKyAgICAgICAgc2VsZWN0aW9uVXBkYXRlVGltZXJGaXJlZChtX3NlbGVjdGlv
blVwZGF0ZVRpbWVyKTsKKyAgICB9Cit9CisKIHN0YXRpYyBib29sIHJlbW92aW5nTm9kZVJlbW92
ZXNQb3NpdGlvbihOb2RlKiBub2RlLCBjb25zdCBQb3NpdGlvbiYgcG9zaXRpb24pCiB7CiAgICAg
aWYgKCFwb3NpdGlvbi5hbmNob3JOb2RlKCkpCkBAIC0xMzA4LDYgKzEzMzQsNyBAQAogCiBJbnRS
ZWN0IEZyYW1lU2VsZWN0aW9uOjphYnNvbHV0ZUNhcmV0Qm91bmRzKCkKIHsKKyAgICB1cGRhdGVB
bmRSZXZhbFNlbGVjdGlvbigpOwogICAgIHJlY29tcHV0ZUNhcmV0UmVjdCgpOwogICAgIHJldHVy
biBtX2Fic0NhcmV0Qm91bmRzOwogfQpAQCAtMTM1NSw4ICsxMzgyLDEwIEBACiAgICAgSW50UmVj
dCBvbGRBYnNDYXJldEJvdW5kcyA9IG1fYWJzQ2FyZXRCb3VuZHM7CiAgICAgbV9hYnNDYXJldEJv
dW5kcyA9IGFic29sdXRlQm91bmRzRm9yTG9jYWxDYXJldFJlY3QocmVuZGVyZXJGb3JDYXJldFBh
aW50aW5nKGNhcmV0Tm9kZS5nZXQoKSksIG5ld1JlY3QpOwogCi0gICAgaWYgKG1fYWJzQ2FyZXRC
b3VuZHNEaXJ0eSkgLy8gV2Ugc2hvdWxkIGJlIGFibGUgdG8gYWx3YXlzIGFzc2VydCB0aGlzIGNv
bmRpdGlvbi4KLSAgICAgICAgQVNTRVJUKG1fYWJzQ2FyZXRCb3VuZHMgPT0gbV9zZWxlY3Rpb24u
dmlzaWJsZVN0YXJ0KCkuYWJzb2x1dGVDYXJldEJvdW5kcygpKTsKKyAgICBpZiAobV9hYnNDYXJl
dEJvdW5kc0RpcnR5ICYmIG1fc2VsZWN0aW9uLmlzQ2FyZXQoKSkgeyAvLyBXZSBzaG91bGQgYmUg
YWJsZSB0byBhbHdheXMgYXNzZXJ0IHRoaXMgY29uZGl0aW9uLgorICAgICAgICBJbnRSZWN0IGFi
c0NhcmV0ID0gbV9zZWxlY3Rpb24udmlzaWJsZVN0YXJ0KCkuYWJzb2x1dGVDYXJldEJvdW5kcygp
OworICAgICAgICBBU1NFUlQobV9hYnNDYXJldEJvdW5kcyA9PSBhYnNDYXJldCk7CisgICAgfQog
CiAgICAgbV9hYnNDYXJldEJvdW5kc0RpcnR5ID0gZmFsc2U7CiAKQEAgLTE4MTQsMTUgKzE4NDMs
MTUgQEAKICAgICBpZiAoY2FyZXRWaXNpYmlsaXR5KCkgPT0gdmlzaWJpbGl0eSkKICAgICAgICAg
cmV0dXJuOwogCisgICAgLy8gRklYTUU6IFdlIHNob3VsZG4ndCB0cmlnZ2VyIGEgc3luY2hybm91
c2x5IGxheW91dCBoZXJlLgorICAgIHVwZGF0ZUFuZFJldmFsU2VsZWN0aW9uKCk7CisKICNpZiBF
TkFCTEUoVEVYVF9DQVJFVCkKLSAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT51cGRhdGVMYXlvdXRJ
Z25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKICAgICBpZiAobV9jYXJldFBhaW50KSB7CiAgICAg
ICAgIG1fY2FyZXRQYWludCA9IGZhbHNlOwogICAgICAgICBpbnZhbGlkYXRlQ2FyZXRSZWN0KCk7
CiAgICAgfQogICAgIENhcmV0QmFzZTo6c2V0Q2FyZXRWaXNpYmlsaXR5KHZpc2liaWxpdHkpOwot
I2Vsc2UKLSAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT51cGRhdGVTdHlsZUlmTmVlZGVkKCk7CiAj
ZW5kaWYKIAogICAgIHVwZGF0ZUFwcGVhcmFuY2UoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRnJhbWVTZWxlY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL0ZyYW1lU2VsZWN0aW9uLmgJKHJldmlzaW9uIDE2NDAxMikKKysrIFNvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMTQzLDYgKzE0Myw3
IEBACiAKICAgICBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24oKSBjb25zdCB7IHJl
dHVybiBtX3NlbGVjdGlvbjsgfQogICAgIHZvaWQgc2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVT
ZWxlY3Rpb24mLCBTZXRTZWxlY3Rpb25PcHRpb25zID0gZGVmYXVsdFNldFNlbGVjdGlvbk9wdGlv
bnMoKSwgQ3Vyc29yQWxpZ25PblNjcm9sbCA9IEFsaWduQ3Vyc29yT25TY3JvbGxJZk5lZWRlZCwg
VGV4dEdyYW51bGFyaXR5ID0gQ2hhcmFjdGVyR3JhbnVsYXJpdHkpOworICAgIHZvaWQgdXBkYXRl
QW5kUmV2YWxTZWxlY3Rpb24oKTsKICAgICBib29sIHNldFNlbGVjdGVkUmFuZ2UoUmFuZ2UqLCBF
QWZmaW5pdHksIGJvb2wgY2xvc2VUeXBpbmcpOwogICAgIHZvaWQgc2VsZWN0QWxsKCk7CiAgICAg
dm9pZCBjbGVhcigpOwpAQCAtMjY4LDYgKzI2OSw3IEBACiAgICAgZW51bSBFUG9zaXRpb25UeXBl
IHsgU1RBUlQsIEVORCwgQkFTRSwgRVhURU5UIH07CiAKICAgICBib29sIHNldFNlbGVjdGlvbldp
dGhvdXRVcGRhdGluZ0FwcGVhcmFuY2UoY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYsIFNldFNlbGVj
dGlvbk9wdGlvbnMsIEN1cnNvckFsaWduT25TY3JvbGwsIFRleHRHcmFudWxhcml0eSk7CisgICAg
dm9pZCBzZWxlY3Rpb25VcGRhdGVUaW1lckZpcmVkKFRpbWVyPEZyYW1lU2VsZWN0aW9uPiYpOwog
CiAgICAgdm9pZCByZXNwb25kVG9Ob2RlTW9kaWZpY2F0aW9uKE5vZGUqLCBib29sIGJhc2VSZW1v
dmVkLCBib29sIGV4dGVudFJlbW92ZWQsIGJvb2wgc3RhcnRSZW1vdmVkLCBib29sIGVuZFJlbW92
ZWQpOwogICAgIFRleHREaXJlY3Rpb24gZGlyZWN0aW9uT2ZFbmNsb3NpbmdCbG9jaygpOwpAQCAt
MzI0LDYgKzMyNiw3IEBACiAgICAgUmVmUHRyPEVkaXRpbmdTdHlsZT4gbV90eXBpbmdTdHlsZTsK
IAogICAgIFRpbWVyPEZyYW1lU2VsZWN0aW9uPiBtX2NhcmV0QmxpbmtUaW1lcjsKKyAgICBUaW1l
cjxGcmFtZVNlbGVjdGlvbj4gbV9zZWxlY3Rpb25VcGRhdGVUaW1lcjsKICAgICAvLyBUaGUgcGFp
bnRlZCBib3VuZHMgb2YgdGhlIGNhcmV0IGluIGFic29sdXRlIGNvb3JkaW5hdGVzCiAgICAgSW50
UmVjdCBtX2Fic0NhcmV0Qm91bmRzOwogICAgIGJvb2wgbV9hYnNDYXJldEJvdW5kc0RpcnR5IDog
MTsKQEAgLTMzMSw2ICszMzQsOCBAQAogICAgIGJvb2wgbV9pc0NhcmV0QmxpbmtpbmdTdXNwZW5k
ZWQgOiAxOwogICAgIGJvb2wgbV9mb2N1c2VkIDogMTsKICAgICBib29sIG1fc2hvdWxkU2hvd0Js
b2NrQ3Vyc29yIDogMTsKKyAgICBib29sIG1fc2hvdWxkUmV2ZWFsU2VsZWN0aW9uIDogMTsKKyAg
ICBib29sIG1fYWx3YXlzQWxpZ25DdXJzb3JPblNjcm9sbFdoZW5SZXZlYWxpbmdTZWxlY3Rpb24g
OiAxOwogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGJvb2wgbV91cGRhdGVBcHBlYXJhbmNlRW5h
YmxlZCA6IDE7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lvbiAxNjQw
MTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI2MjcsNyArMjYyNyw3IEBACiAgICAgbV9wb3N0TGF5b3V0VGFza3NUaW1lci5zdG9wKCk7
CiAKICAgICBmcmFtZSgpLnNlbGVjdGlvbigpLnNldENhcmV0UmVjdE5lZWRzVXBkYXRlKCk7Ci0g
ICAgZnJhbWUoKS5zZWxlY3Rpb24oKS51cGRhdGVBcHBlYXJhbmNlKCk7CisgICAgZnJhbWUoKS5z
ZWxlY3Rpb24oKS51cGRhdGVBbmRSZXZhbFNlbGVjdGlvbigpOwogCiAgICAgTGF5b3V0TWlsZXN0
b25lcyByZXF1ZXN0ZWRNaWxlc3RvbmVzID0gMDsKICAgICBMYXlvdXRNaWxlc3RvbmVzIG1pbGVz
dG9uZXNBY2hpZXZlZCA9IDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CShyZXZpc2lvbiAxNjQwMTIpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTY4Niw5ICs2ODYsMTkgQEAKICAgICAgICAgcmV0dXJuIENs
aWVudFJlY3Q6OmNyZWF0ZSgpOwogICAgIH0KIAorICAgIGRvY3VtZW50LT5mcmFtZSgpLT5zZWxl
Y3Rpb24oKS51cGRhdGVBbmRSZXZhbFNlbGVjdGlvbigpOwogICAgIHJldHVybiBDbGllbnRSZWN0
OjpjcmVhdGUoZG9jdW1lbnQtPmZyYW1lKCktPnNlbGVjdGlvbigpLmFic29sdXRlQ2FyZXRCb3Vu
ZHMoKSk7CiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjp1cGRhdGVBbmRSZXZhbFNlbGVjdGlvbihFeGNl
cHRpb25Db2RlJiBlYykKK3sKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBjb250ZXh0RG9jdW1l
bnQoKTsKKyAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+ZnJhbWUoKSkKKyAgICAgICAg
ZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgZWxzZQorICAgICAgICBkb2N1bWVudC0+ZnJh
bWUoKS0+c2VsZWN0aW9uKCkudXBkYXRlQW5kUmV2YWxTZWxlY3Rpb24oKTsKK30KKwogUGFzc1Jl
ZlB0cjxDbGllbnRSZWN0PiBJbnRlcm5hbHM6OmJvdW5kaW5nQm94KEVsZW1lbnQqIGVsZW1lbnQs
IEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICghZWxlbWVudCkgewpAQCAtMjEzNSw2ICsy
MTQ1LDcgQEAKICAgICAgICAgcmV0dXJuIENsaWVudFJlY3Q6OmNyZWF0ZSgpOwogICAgIH0KIAor
ICAgIGRvY3VtZW50LT5mcmFtZSgpLT5zZWxlY3Rpb24oKS51cGRhdGVBbmRSZXZhbFNlbGVjdGlv
bigpOwogICAgIHJldHVybiBDbGllbnRSZWN0OjpjcmVhdGUoZG9jdW1lbnQtPmZyYW1lKCktPnNl
bGVjdGlvbigpLnNlbGVjdGlvbkJvdW5kcygpKTsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5oCShyZXZpc2lvbiAxNjQwMTIpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjUsNiArMTI1LDcgQEAKICAgICB2b2lk
IHNldEZvcm1Db250cm9sU3RhdGVPZlByZXZpb3VzSGlzdG9yeUl0ZW0oY29uc3QgVmVjdG9yPFN0
cmluZz4mLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICBQYXNzUmVmUHRyPENsaWVudFJlY3Q+IGFi
c29sdXRlQ2FyZXRCb3VuZHMoRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgdXBkYXRlQW5kUmV2
YWxTZWxlY3Rpb24oRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgUGFzc1JlZlB0cjxDbGllbnRSZWN0
PiBib3VuZGluZ0JveChFbGVtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCShyZXZpc2lvbiAxNjQwMTIpCisrKyBTb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTc2LDYgKzc2LDcg
QEAKICAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldEZvcm1Db250cm9sU3RhdGVPZlByZXZp
b3VzSGlzdG9yeUl0ZW0oc2VxdWVuY2U8RE9NU3RyaW5nPiB2YWx1ZXMpOwogCiAgICAgW1JhaXNl
c0V4Y2VwdGlvbl0gQ2xpZW50UmVjdCBhYnNvbHV0ZUNhcmV0Qm91bmRzKCk7CisgICAgW1JhaXNl
c0V4Y2VwdGlvbl0gdm9pZCB1cGRhdGVBbmRSZXZhbFNlbGVjdGlvbigpOwogCiAgICAgW1JhaXNl
c0V4Y2VwdGlvbl0gQ2xpZW50UmVjdCBib3VuZGluZ0JveChFbGVtZW50IGVsZW1lbnQpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224170</attachid>
            <date>2014-02-14 00:06:03 -0800</date>
            <delta_ts>2014-02-14 00:10:23 -0800</delta_ts>
            <desc>Removes the sync layout</desc>
            <filename>bug-128797-20140214000615.patch</filename>
            <type>text/plain</type>
            <size>10286</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NDA5NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDE0LTAyLTEzICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIHNldFNlbGVjdGlvbiBzaG91bGQg
bm90IHN5bmNocm9ub3VzbHkgdHJpZ2dlciBsYXlvdXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODc5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE9ubHkgdXBkYXRlIHRoZSBhcHBlYXJhbmNlIGFuZCBy
ZXZlYWwgc2VsZWN0aW9uIHdoZW4gdGhlIHN0eWxlIGFuZCB0aGUgbGF5b3V0IGlzIGFscmVhZHkg
dXAgdG8gZGF0ZS4KKyAgICAgICAgT3RoZXJ3aXNlLCBkbyBzbyBpbiBwZXJmb3JtUG9zdExheW91
dFRhc2tzLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50OjpuZWVkc0xheW91dCk6IEFkZGVkLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6Om5lZWRzU3R5bGVSZWNhbGMpOiBBZGRlZC4K
KworICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVTZWxlY3Rpb246OkZyYW1lU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lU2VsZWN0aW9uOjpzZXRTZWxlY3Rpb24pOiBTZXQgbV9wZW5kaW5nU2VsZWN0aW9uVXBkYXRl
IGFuZCBzeW5jaHJvbm91c2x5IHVwZGF0ZSBjYXJldCByZWN0CisgICAgICAgIGlmIHdlIGRvbid0
IG5lZWQgdG8gdXBkYXRlIHN0eWxlIG9yIGxheW91dC4KKyAgICAgICAgKFdlYkNvcmU6OnVwZGF0
ZVNlbGVjdGlvbkJ5VXBkYXRpbmdMYXlvdXRPclN0eWxlKTogQWRkZWQuIFVzZWQgYnkgRnJhbWVT
ZWxlY3Rpb24gbWVtYmVyIGZ1bmN0aW9ucyB0bworICAgICAgICB0cmlnZ2VyIGxheW91dCBvciBz
dHlsZSByZWNhbGMgd2hpY2hldmVyIGlzIG5lZWRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
U2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24pOiBFeHRyYWN0ZWQgZnJvbSBzZXRT
ZWxlY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6YWJzb2x1dGVDYXJl
dEJvdW5kcyk6IENhbGwgdXBkYXRlU2VsZWN0aW9uQnlVcGRhdGluZ0xheW91dE9yU3R5bGUgc2lu
Y2UgY2FyZXQgcmVjdAorICAgICAgICBpcyBubyBsb25nZXIgdXBkYXRlZCBzeW5jaHJvbm91c2x5
IGluIHNldFNlbGVjdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpyZWNv
bXB1dGVDYXJldFJlY3QpOiBEb24ndCBhc3NlcnQgdGhhdCB2aXNpYmxlU3RhcnQoKS5hYnNvbHV0
ZUNhcmV0Qm91bmRzKCkgaXMKKyAgICAgICAgZXF1YWwgdG8gbV9hYnNDYXJldEJvdW5kcyBzaW5j
ZSBzZWxlY3Rpb24gbWF5IG5vIGxvbmdlciBiZSBjYXJldCBhdCB0aGlzIHBvaW50LgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnNldENhcmV0VmlzaWJpbGl0eSk6IENhbGwgdXBk
YXRlU2VsZWN0aW9uQnlVcGRhdGluZ0xheW91dE9yU3R5bGUgc2luY2Ugd2UncmUKKyAgICAgICAg
c3luY2hyb25vdXNseSBjYWxsaW5nIGludG8gdXBkYXRlQXBwZWFyYW5jZSBoZXJlLiBJbiB0aGUg
ZnV0dXJlLCB3ZSBzaG91bGQgbWFrZSB0aGlzIGFzeW5jaHJvbm91cyBhcyB3ZWxsLgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnNlbGVjdGlvbkJvdW5kcyk6IENhbGwgdXBkYXRl
U2VsZWN0aW9uQnlVcGRhdGluZ0xheW91dE9yU3R5bGUgc2luY2Ugc2VsZWN0aW9uIGJvdW5kcwor
ICAgICAgICBjb3VsZCBiZSBvdXRkYXRlZC4gVGhpcyBjb2RlIG9ubHkgdHJpZ2dlcmluZyBzdHls
ZSByZWNhbGMgd2FzIHByZXN1bWFibHkgYSBidWcuCisgICAgICAgICogZWRpdGluZy9GcmFtZVNl
bGVjdGlvbi5oOgorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3OjpwZXJmb3JtUG9zdExheW91dFRhc2tzKTogVXBkYXRlIHNlbGVjdGlv
bidzIGFwcGVhcmFuY2UgYW5kIHNjcm9sbCB0byByZXZlYWwgc2VsZWN0aW9uCisgICAgICAgIGFz
IG5lZWRlZC4KKwogMjAxNC0wMi0xMyAgQnl1bmdzZW9uIFNoaW4gIDxzdW4uc2hpbkBsZ2UuY29t
PgogCiAgICAgICAgIFtNU0VdIE1vdmUgUHVibGljVVJMTWFuYWdlciBzaHV0ZG93biBsb2dpYyBz
byBBY3RpdmVET01PYmplY3RzIGFzc29jaWF0ZWQgd2l0aCBwdWJsaWMgVVJMcyB3b24ndCBsZWFr
LgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAxNjQwMTIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzgzLDYgKzE3
ODMsMTggQEAgdm9pZCBEb2N1bWVudDo6dXBkYXRlU3R5bGVJZk5lZWRlZCgpCiAgICAgcmVjYWxj
U3R5bGUoU3R5bGU6Ok5vQ2hhbmdlKTsKIH0KIAorYm9vbCBEb2N1bWVudDo6bmVlZHNMYXlvdXQo
KSBjb25zdAoreworICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gdmlldygpOworICAgIGlmIChm
cmFtZVZpZXcgJiYgcmVuZGVyVmlldygpICYmIChmcmFtZVZpZXctPmxheW91dFBlbmRpbmcoKSB8
fCByZW5kZXJWaWV3KCktPm5lZWRzTGF5b3V0KCkpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgIGlmIChFbGVtZW50KiBvd25lciA9IG93bmVyRWxlbWVudCgpKQorICAgICAgICByZXR1cm4g
b3duZXItPmRvY3VtZW50KCkubmVlZHNMYXlvdXQoKTsKKworICAgIHJldHVybiBmYWxzZTsKK30K
Kwogdm9pZCBEb2N1bWVudDo6dXBkYXRlTGF5b3V0KCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDE2NDAxMikKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01NTUsNyArNTU1
LDkgQEAgcHVibGljOgogICAgIFBhc3NSZWZQdHI8VGV4dD4gY3JlYXRlRWRpdGluZ1RleHROb2Rl
KGNvbnN0IFN0cmluZyYpOwogCiAgICAgdm9pZCByZWNhbGNTdHlsZShTdHlsZTo6Q2hhbmdlID0g
U3R5bGU6Ok5vQ2hhbmdlKTsKKyAgICBib29sIG5lZWRzU3R5bGVSZWNhbGMoKSBjb25zdCB7IHJl
dHVybiBtX29wdGltaXplZFN0eWxlU2hlZXRVcGRhdGVUaW1lci5pc0FjdGl2ZSgpIHx8IG1fcGVu
ZGluZ1N0eWxlUmVjYWxjU2hvdWxkRm9yY2UgfHwgY2hpbGROZWVkc1N0eWxlUmVjYWxjKCk7IH0K
ICAgICB2b2lkIHVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKKyAgICBib29sIG5lZWRzTGF5b3V0KCkg
Y29uc3Q7CiAgICAgdm9pZCB1cGRhdGVMYXlvdXQoKTsKICAgICB2b2lkIHVwZGF0ZUxheW91dEln
bm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogICAgIFBhc3NSZWY8UmVuZGVyU3R5bGU+IHN0eWxl
Rm9yRWxlbWVudElnbm9yaW5nUGVuZGluZ1N0eWxlc2hlZXRzKEVsZW1lbnQqKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCShyZXZpc2lvbiAxNjQwMTIp
CisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTE2LDYgKzExNiw5IEBAIEZyYW1lU2VsZWN0aW9uOjpGcmFtZVNlbGVjdGlvbihG
cmFtZSogZnIKICAgICAsIG1faXNDYXJldEJsaW5raW5nU3VzcGVuZGVkKGZhbHNlKQogICAgICwg
bV9mb2N1c2VkKGZyYW1lICYmIGZyYW1lLT5wYWdlKCkgJiYgZnJhbWUtPnBhZ2UoKS0+Zm9jdXND
b250cm9sbGVyKCkuZm9jdXNlZEZyYW1lKCkgPT0gZnJhbWUpCiAgICAgLCBtX3Nob3VsZFNob3dC
bG9ja0N1cnNvcihmYWxzZSkKKyAgICAsIG1fcGVuZGluZ1NlbGVjdGlvblVwZGF0ZShmYWxzZSkK
KyAgICAsIG1fc2hvdWxkUmV2ZWFsU2VsZWN0aW9uKGZhbHNlKQorICAgICwgbV9hbHdheXNBbGln
bkN1cnNvck9uU2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbihmYWxzZSkKICNpZiBQTEFURk9S
TShJT1MpCiAgICAgLCBtX3VwZGF0ZUFwcGVhcmFuY2VFbmFibGVkKGZhbHNlKQogICAgICwgbV9j
YXJldEJsaW5rcyh0cnVlKQpAQCAtMzEzLDIwICszMTYsNDQgQEAgdm9pZCBGcmFtZVNlbGVjdGlv
bjo6c2V0U2VsZWN0aW9uKGNvbnN0IAogICAgIGlmICghc2V0U2VsZWN0aW9uV2l0aG91dFVwZGF0
aW5nQXBwZWFyYW5jZShzZWxlY3Rpb24sIG9wdGlvbnMsIGFsaWduLCBncmFudWxhcml0eSkpCiAg
ICAgICAgIHJldHVybjsKIAorICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG1fZnJhbWUtPmRvY3Vt
ZW50KCk7CisgICAgaWYgKCFkb2N1bWVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9zaG91
bGRSZXZlYWxTZWxlY3Rpb24gPSBvcHRpb25zICYgUmV2ZWFsU2VsZWN0aW9uOworICAgIG1fYWx3
YXlzQWxpZ25DdXJzb3JPblNjcm9sbFdoZW5SZXZlYWxpbmdTZWxlY3Rpb24gPSBhbGlnbiA9PSBB
bGlnbkN1cnNvck9uU2Nyb2xsQWx3YXlzOworCisgICAgbV9wZW5kaW5nU2VsZWN0aW9uVXBkYXRl
ID0gdHJ1ZTsKKworICAgIGlmICghZG9jdW1lbnQtPm5lZWRzU3R5bGVSZWNhbGMoKSAmJiAhZG9j
dW1lbnQtPm5lZWRzTGF5b3V0KCkpCisgICAgICAgIHVwZGF0ZUFuZFJldmVhbFNlbGVjdGlvbigp
OworfQorCitzdGF0aWMgdm9pZCB1cGRhdGVTZWxlY3Rpb25CeVVwZGF0aW5nTGF5b3V0T3JTdHls
ZShGcmFtZSYgZnJhbWUpCit7CiAjaWYgRU5BQkxFKFRFWFRfQ0FSRVQpCi0gICAgbV9mcmFtZS0+
ZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAg
ZnJhbWUuZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7
CiAjZWxzZQotICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsK
KyAgICBmcmFtZS5kb2N1bWVudCgpLT51cGRhdGVTdHlsZUlmTmVlZGVkKCk7CiAjZW5kaWYKK30K
Kwordm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKCkKK3sKKyAg
ICBpZiAoIW1fcGVuZGluZ1NlbGVjdGlvblVwZGF0ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
bV9wZW5kaW5nU2VsZWN0aW9uVXBkYXRlID0gZmFsc2U7CisKICAgICB1cGRhdGVBcHBlYXJhbmNl
KCk7CiAKLSAgICBpZiAob3B0aW9ucyAmIFJldmVhbFNlbGVjdGlvbikgeworICAgIGlmIChtX3No
b3VsZFJldmVhbFNlbGVjdGlvbikgewogICAgICAgICBTY3JvbGxBbGlnbm1lbnQgYWxpZ25tZW50
OwogCiAgICAgICAgIGlmIChtX2ZyYW1lLT5lZGl0b3IoKS5iZWhhdmlvcigpLnNob3VsZENlbnRl
ckFsaWduV2hlblNlbGVjdGlvbklzUmV2ZWFsZWQoKSkKLSAgICAgICAgICAgIGFsaWdubWVudCA9
IChhbGlnbiA9PSBBbGlnbkN1cnNvck9uU2Nyb2xsQWx3YXlzKSA/IFNjcm9sbEFsaWdubWVudDo6
YWxpZ25DZW50ZXJBbHdheXMgOiBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVySWZOZWVkZWQ7
CisgICAgICAgICAgICBhbGlnbm1lbnQgPSBtX2Fsd2F5c0FsaWduQ3Vyc29yT25TY3JvbGxXaGVu
UmV2ZWFsaW5nU2VsZWN0aW9uID8gU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlckFsd2F5cyA6
IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5lZWRlZDsKICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgYWxpZ25tZW50ID0gKGFsaWduID09IEFsaWduQ3Vyc29yT25TY3JvbGxBbHdheXMp
ID8gU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvcEFsd2F5cyA6IFNjcm9sbEFsaWdubWVudDo6YWxp
Z25Ub0VkZ2VJZk5lZWRlZDsKKyAgICAgICAgICAgIGFsaWdubWVudCA9IG1fYWx3YXlzQWxpZ25D
dXJzb3JPblNjcm9sbFdoZW5SZXZlYWxpbmdTZWxlY3Rpb24gPyBTY3JvbGxBbGlnbm1lbnQ6OmFs
aWduVG9wQWx3YXlzIDogU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvRWRnZUlmTmVlZGVkOwogCiAg
ICAgICAgIHJldmVhbFNlbGVjdGlvbihhbGlnbm1lbnQsIFJldmVhbEV4dGVudCk7CiAgICAgfQpA
QCAtMTMwOCw2ICsxMzM1LDkgQEAgc3RhdGljIGJvb2wgaXNOb25PcnBoYW5lZENhcmV0KGNvbnN0
IFZpcwogCiBJbnRSZWN0IEZyYW1lU2VsZWN0aW9uOjphYnNvbHV0ZUNhcmV0Qm91bmRzKCkKIHsK
KyAgICBpZiAoIW1fZnJhbWUpCisgICAgICAgIHJldHVybiBJbnRSZWN0KCk7CisgICAgdXBkYXRl
U2VsZWN0aW9uQnlVcGRhdGluZ0xheW91dE9yU3R5bGUoKm1fZnJhbWUpOwogICAgIHJlY29tcHV0
ZUNhcmV0UmVjdCgpOwogICAgIHJldHVybiBtX2Fic0NhcmV0Qm91bmRzOwogfQpAQCAtMTM1NSw3
ICsxMzg1LDcgQEAgYm9vbCBGcmFtZVNlbGVjdGlvbjo6cmVjb21wdXRlQ2FyZXRSZWN0KAogICAg
IEludFJlY3Qgb2xkQWJzQ2FyZXRCb3VuZHMgPSBtX2Fic0NhcmV0Qm91bmRzOwogICAgIG1fYWJz
Q2FyZXRCb3VuZHMgPSBhYnNvbHV0ZUJvdW5kc0ZvckxvY2FsQ2FyZXRSZWN0KHJlbmRlcmVyRm9y
Q2FyZXRQYWludGluZyhjYXJldE5vZGUuZ2V0KCkpLCBuZXdSZWN0KTsKIAotICAgIGlmIChtX2Fi
c0NhcmV0Qm91bmRzRGlydHkpIC8vIFdlIHNob3VsZCBiZSBhYmxlIHRvIGFsd2F5cyBhc3NlcnQg
dGhpcyBjb25kaXRpb24uCisgICAgaWYgKG1fYWJzQ2FyZXRCb3VuZHNEaXJ0eSAmJiBtX3NlbGVj
dGlvbi5pc0NhcmV0KCkpIC8vIFdlIHNob3VsZCBiZSBhYmxlIHRvIGFsd2F5cyBhc3NlcnQgdGhp
cyBjb25kaXRpb24uCiAgICAgICAgIEFTU0VSVChtX2Fic0NhcmV0Qm91bmRzID09IG1fc2VsZWN0
aW9uLnZpc2libGVTdGFydCgpLmFic29sdXRlQ2FyZXRCb3VuZHMoKSk7CiAKICAgICBtX2Fic0Nh
cmV0Qm91bmRzRGlydHkgPSBmYWxzZTsKQEAgLTE4MTQsMTUgKzE4NDQsMTYgQEAgdm9pZCBGcmFt
ZVNlbGVjdGlvbjo6c2V0Q2FyZXRWaXNpYmlsaXR5KAogICAgIGlmIChjYXJldFZpc2liaWxpdHko
KSA9PSB2aXNpYmlsaXR5KQogICAgICAgICByZXR1cm47CiAKKyAgICAvLyBGSVhNRTogV2Ugc2hv
dWxkbid0IHRyaWdnZXIgYSBzeW5jaHJub3VzbHkgbGF5b3V0IGhlcmUuCisgICAgaWYgKG1fZnJh
bWUpCisgICAgICAgIHVwZGF0ZVNlbGVjdGlvbkJ5VXBkYXRpbmdMYXlvdXRPclN0eWxlKCptX2Zy
YW1lKTsKKwogI2lmIEVOQUJMRShURVhUX0NBUkVUKQotICAgIG1fZnJhbWUtPmRvY3VtZW50KCkt
PnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogICAgIGlmIChtX2NhcmV0
UGFpbnQpIHsKICAgICAgICAgbV9jYXJldFBhaW50ID0gZmFsc2U7CiAgICAgICAgIGludmFsaWRh
dGVDYXJldFJlY3QoKTsKICAgICB9CiAgICAgQ2FyZXRCYXNlOjpzZXRDYXJldFZpc2liaWxpdHko
dmlzaWJpbGl0eSk7Ci0jZWxzZQotICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnVwZGF0ZVN0eWxl
SWZOZWVkZWQoKTsKICNlbmRpZgogCiAgICAgdXBkYXRlQXBwZWFyYW5jZSgpOwpAQCAtMTkyMCw3
ICsxOTUxLDcgQEAgRmxvYXRSZWN0IEZyYW1lU2VsZWN0aW9uOjpzZWxlY3Rpb25Cb3VuZAogICAg
IGlmICghbV9mcmFtZS0+ZG9jdW1lbnQoKSkKICAgICAgICAgcmV0dXJuIExheW91dFJlY3QoKTsK
IAotICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKKyAgICB1
cGRhdGVTZWxlY3Rpb25CeVVwZGF0aW5nTGF5b3V0T3JTdHlsZSgqbV9mcmFtZSk7CiAgICAgUmVu
ZGVyVmlldyogcm9vdCA9IG1fZnJhbWUtPmNvbnRlbnRSZW5kZXJlcigpOwogICAgIEZyYW1lVmll
dyogdmlldyA9IG1fZnJhbWUtPnZpZXcoKTsKICAgICBpZiAoIXJvb3QgfHwgIXZpZXcpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCShyZXZpc2lvbiAxNjQwMTIp
CisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE0Myw2ICsxNDMsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBWaXNpYmxlU2VsZWN0
aW9uJiBzZWxlY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX3NlbGVjdGlvbjsgfQogICAgIHZvaWQg
c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mLCBTZXRTZWxlY3Rpb25PcHRpb25z
ID0gZGVmYXVsdFNldFNlbGVjdGlvbk9wdGlvbnMoKSwgQ3Vyc29yQWxpZ25PblNjcm9sbCA9IEFs
aWduQ3Vyc29yT25TY3JvbGxJZk5lZWRlZCwgVGV4dEdyYW51bGFyaXR5ID0gQ2hhcmFjdGVyR3Jh
bnVsYXJpdHkpOworICAgIHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKCk7CiAgICAgYm9v
bCBzZXRTZWxlY3RlZFJhbmdlKFJhbmdlKiwgRUFmZmluaXR5LCBib29sIGNsb3NlVHlwaW5nKTsK
ICAgICB2b2lkIHNlbGVjdEFsbCgpOwogICAgIHZvaWQgY2xlYXIoKTsKQEAgLTI2OCw2ICsyNjks
NyBAQCBwcml2YXRlOgogICAgIGVudW0gRVBvc2l0aW9uVHlwZSB7IFNUQVJULCBFTkQsIEJBU0Us
IEVYVEVOVCB9OwogCiAgICAgYm9vbCBzZXRTZWxlY3Rpb25XaXRob3V0VXBkYXRpbmdBcHBlYXJh
bmNlKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mLCBTZXRTZWxlY3Rpb25PcHRpb25zLCBDdXJzb3JB
bGlnbk9uU2Nyb2xsLCBUZXh0R3JhbnVsYXJpdHkpOworICAgIHZvaWQgc2VsZWN0aW9uVXBkYXRl
VGltZXJGaXJlZChUaW1lcjxGcmFtZVNlbGVjdGlvbj4mKTsKIAogICAgIHZvaWQgcmVzcG9uZFRv
Tm9kZU1vZGlmaWNhdGlvbihOb2RlKiwgYm9vbCBiYXNlUmVtb3ZlZCwgYm9vbCBleHRlbnRSZW1v
dmVkLCBib29sIHN0YXJ0UmVtb3ZlZCwgYm9vbCBlbmRSZW1vdmVkKTsKICAgICBUZXh0RGlyZWN0
aW9uIGRpcmVjdGlvbk9mRW5jbG9zaW5nQmxvY2soKTsKQEAgLTMzMSw2ICszMzMsOSBAQCBwcml2
YXRlOgogICAgIGJvb2wgbV9pc0NhcmV0QmxpbmtpbmdTdXNwZW5kZWQgOiAxOwogICAgIGJvb2wg
bV9mb2N1c2VkIDogMTsKICAgICBib29sIG1fc2hvdWxkU2hvd0Jsb2NrQ3Vyc29yIDogMTsKKyAg
ICBib29sIG1fcGVuZGluZ1NlbGVjdGlvblVwZGF0ZSA6IDE7CisgICAgYm9vbCBtX3Nob3VsZFJl
dmVhbFNlbGVjdGlvbiA6IDE7CisgICAgYm9vbCBtX2Fsd2F5c0FsaWduQ3Vyc29yT25TY3JvbGxX
aGVuUmV2ZWFsaW5nU2VsZWN0aW9uIDogMTsKIAogI2lmIFBMQVRGT1JNKElPUykKICAgICBib29s
IG1fdXBkYXRlQXBwZWFyYW5jZUVuYWJsZWQgOiAxOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAkocmV2aXNpb24gMTY0MDEyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjI3LDcgKzI2MjcsNyBAQCB2b2lkIEZyYW1lVmll
dzo6cGVyZm9ybVBvc3RMYXlvdXRUYXNrcygpCiAgICAgbV9wb3N0TGF5b3V0VGFza3NUaW1lci5z
dG9wKCk7CiAKICAgICBmcmFtZSgpLnNlbGVjdGlvbigpLnNldENhcmV0UmVjdE5lZWRzVXBkYXRl
KCk7Ci0gICAgZnJhbWUoKS5zZWxlY3Rpb24oKS51cGRhdGVBcHBlYXJhbmNlKCk7CisgICAgZnJh
bWUoKS5zZWxlY3Rpb24oKS51cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24oKTsKIAogICAgIExheW91
dE1pbGVzdG9uZXMgcmVxdWVzdGVkTWlsZXN0b25lcyA9IDA7CiAgICAgTGF5b3V0TWlsZXN0b25l
cyBtaWxlc3RvbmVzQWNoaWV2ZWQgPSAwOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224171</attachid>
            <date>2014-02-14 00:10:27 -0800</date>
            <delta_ts>2014-02-14 12:29:21 -0800</delta_ts>
            <desc>Removed the stale declaration of selectionUpdateTimerFired</desc>
            <filename>bug-128797-20140214001040.patch</filename>
            <type>text/plain</type>
            <size>9839</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NDA5NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDE0LTAyLTEzICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIHNldFNlbGVjdGlvbiBzaG91bGQg
bm90IHN5bmNocm9ub3VzbHkgdHJpZ2dlciBsYXlvdXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODc5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE9ubHkgdXBkYXRlIHRoZSBhcHBlYXJhbmNlIGFuZCBy
ZXZlYWwgc2VsZWN0aW9uIHdoZW4gdGhlIHN0eWxlIGFuZCB0aGUgbGF5b3V0IGlzIGFscmVhZHkg
dXAgdG8gZGF0ZS4KKyAgICAgICAgT3RoZXJ3aXNlLCBkbyBzbyBpbiBwZXJmb3JtUG9zdExheW91
dFRhc2tzLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50OjpuZWVkc0xheW91dCk6IEFkZGVkLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6Om5lZWRzU3R5bGVSZWNhbGMpOiBBZGRlZC4K
KworICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVTZWxlY3Rpb246OkZyYW1lU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lU2VsZWN0aW9uOjpzZXRTZWxlY3Rpb24pOiBTZXQgbV9wZW5kaW5nU2VsZWN0aW9uVXBkYXRl
IGFuZCBzeW5jaHJvbm91c2x5IHVwZGF0ZSBjYXJldCByZWN0CisgICAgICAgIGlmIHdlIGRvbid0
IG5lZWQgdG8gdXBkYXRlIHN0eWxlIG9yIGxheW91dC4KKyAgICAgICAgKFdlYkNvcmU6OnVwZGF0
ZVNlbGVjdGlvbkJ5VXBkYXRpbmdMYXlvdXRPclN0eWxlKTogQWRkZWQuIFVzZWQgYnkgRnJhbWVT
ZWxlY3Rpb24gbWVtYmVyIGZ1bmN0aW9ucyB0bworICAgICAgICB0cmlnZ2VyIGxheW91dCBvciBz
dHlsZSByZWNhbGMgd2hpY2hldmVyIGlzIG5lZWRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
U2VsZWN0aW9uOjp1cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24pOiBFeHRyYWN0ZWQgZnJvbSBzZXRT
ZWxlY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6YWJzb2x1dGVDYXJl
dEJvdW5kcyk6IENhbGwgdXBkYXRlU2VsZWN0aW9uQnlVcGRhdGluZ0xheW91dE9yU3R5bGUgc2lu
Y2UgY2FyZXQgcmVjdAorICAgICAgICBpcyBubyBsb25nZXIgdXBkYXRlZCBzeW5jaHJvbm91c2x5
IGluIHNldFNlbGVjdGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpyZWNv
bXB1dGVDYXJldFJlY3QpOiBEb24ndCBhc3NlcnQgdGhhdCB2aXNpYmxlU3RhcnQoKS5hYnNvbHV0
ZUNhcmV0Qm91bmRzKCkgaXMKKyAgICAgICAgZXF1YWwgdG8gbV9hYnNDYXJldEJvdW5kcyBzaW5j
ZSBzZWxlY3Rpb24gbWF5IG5vIGxvbmdlciBiZSBjYXJldCBhdCB0aGlzIHBvaW50LgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnNldENhcmV0VmlzaWJpbGl0eSk6IENhbGwgdXBk
YXRlU2VsZWN0aW9uQnlVcGRhdGluZ0xheW91dE9yU3R5bGUgc2luY2Ugd2UncmUKKyAgICAgICAg
c3luY2hyb25vdXNseSBjYWxsaW5nIGludG8gdXBkYXRlQXBwZWFyYW5jZSBoZXJlLiBJbiB0aGUg
ZnV0dXJlLCB3ZSBzaG91bGQgbWFrZSB0aGlzIGFzeW5jaHJvbm91cyBhcyB3ZWxsLgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnNlbGVjdGlvbkJvdW5kcyk6IENhbGwgdXBkYXRl
U2VsZWN0aW9uQnlVcGRhdGluZ0xheW91dE9yU3R5bGUgc2luY2Ugc2VsZWN0aW9uIGJvdW5kcwor
ICAgICAgICBjb3VsZCBiZSBvdXRkYXRlZC4gVGhpcyBjb2RlIG9ubHkgdHJpZ2dlcmluZyBzdHls
ZSByZWNhbGMgd2FzIHByZXN1bWFibHkgYSBidWcuCisgICAgICAgICogZWRpdGluZy9GcmFtZVNl
bGVjdGlvbi5oOgorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVWaWV3OjpwZXJmb3JtUG9zdExheW91dFRhc2tzKTogVXBkYXRlIHNlbGVjdGlv
bidzIGFwcGVhcmFuY2UgYW5kIHNjcm9sbCB0byByZXZlYWwgc2VsZWN0aW9uCisgICAgICAgIGFz
IG5lZWRlZC4KKwogMjAxNC0wMi0xMyAgQnl1bmdzZW9uIFNoaW4gIDxzdW4uc2hpbkBsZ2UuY29t
PgogCiAgICAgICAgIFtNU0VdIE1vdmUgUHVibGljVVJMTWFuYWdlciBzaHV0ZG93biBsb2dpYyBz
byBBY3RpdmVET01PYmplY3RzIGFzc29jaWF0ZWQgd2l0aCBwdWJsaWMgVVJMcyB3b24ndCBsZWFr
LgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAxNjQwMTIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzgzLDYgKzE3
ODMsMTggQEAgdm9pZCBEb2N1bWVudDo6dXBkYXRlU3R5bGVJZk5lZWRlZCgpCiAgICAgcmVjYWxj
U3R5bGUoU3R5bGU6Ok5vQ2hhbmdlKTsKIH0KIAorYm9vbCBEb2N1bWVudDo6bmVlZHNMYXlvdXQo
KSBjb25zdAoreworICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gdmlldygpOworICAgIGlmIChm
cmFtZVZpZXcgJiYgcmVuZGVyVmlldygpICYmIChmcmFtZVZpZXctPmxheW91dFBlbmRpbmcoKSB8
fCByZW5kZXJWaWV3KCktPm5lZWRzTGF5b3V0KCkpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgIGlmIChFbGVtZW50KiBvd25lciA9IG93bmVyRWxlbWVudCgpKQorICAgICAgICByZXR1cm4g
b3duZXItPmRvY3VtZW50KCkubmVlZHNMYXlvdXQoKTsKKworICAgIHJldHVybiBmYWxzZTsKK30K
Kwogdm9pZCBEb2N1bWVudDo6dXBkYXRlTGF5b3V0KCkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhy
ZWFkKCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDE2NDAxMikKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01NTUsNyArNTU1
LDkgQEAgcHVibGljOgogICAgIFBhc3NSZWZQdHI8VGV4dD4gY3JlYXRlRWRpdGluZ1RleHROb2Rl
KGNvbnN0IFN0cmluZyYpOwogCiAgICAgdm9pZCByZWNhbGNTdHlsZShTdHlsZTo6Q2hhbmdlID0g
U3R5bGU6Ok5vQ2hhbmdlKTsKKyAgICBib29sIG5lZWRzU3R5bGVSZWNhbGMoKSBjb25zdCB7IHJl
dHVybiBtX29wdGltaXplZFN0eWxlU2hlZXRVcGRhdGVUaW1lci5pc0FjdGl2ZSgpIHx8IG1fcGVu
ZGluZ1N0eWxlUmVjYWxjU2hvdWxkRm9yY2UgfHwgY2hpbGROZWVkc1N0eWxlUmVjYWxjKCk7IH0K
ICAgICB2b2lkIHVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKKyAgICBib29sIG5lZWRzTGF5b3V0KCkg
Y29uc3Q7CiAgICAgdm9pZCB1cGRhdGVMYXlvdXQoKTsKICAgICB2b2lkIHVwZGF0ZUxheW91dEln
bm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogICAgIFBhc3NSZWY8UmVuZGVyU3R5bGU+IHN0eWxl
Rm9yRWxlbWVudElnbm9yaW5nUGVuZGluZ1N0eWxlc2hlZXRzKEVsZW1lbnQqKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCShyZXZpc2lvbiAxNjQwMTIp
CisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTE2LDYgKzExNiw5IEBAIEZyYW1lU2VsZWN0aW9uOjpGcmFtZVNlbGVjdGlvbihG
cmFtZSogZnIKICAgICAsIG1faXNDYXJldEJsaW5raW5nU3VzcGVuZGVkKGZhbHNlKQogICAgICwg
bV9mb2N1c2VkKGZyYW1lICYmIGZyYW1lLT5wYWdlKCkgJiYgZnJhbWUtPnBhZ2UoKS0+Zm9jdXND
b250cm9sbGVyKCkuZm9jdXNlZEZyYW1lKCkgPT0gZnJhbWUpCiAgICAgLCBtX3Nob3VsZFNob3dC
bG9ja0N1cnNvcihmYWxzZSkKKyAgICAsIG1fcGVuZGluZ1NlbGVjdGlvblVwZGF0ZShmYWxzZSkK
KyAgICAsIG1fc2hvdWxkUmV2ZWFsU2VsZWN0aW9uKGZhbHNlKQorICAgICwgbV9hbHdheXNBbGln
bkN1cnNvck9uU2Nyb2xsV2hlblJldmVhbGluZ1NlbGVjdGlvbihmYWxzZSkKICNpZiBQTEFURk9S
TShJT1MpCiAgICAgLCBtX3VwZGF0ZUFwcGVhcmFuY2VFbmFibGVkKGZhbHNlKQogICAgICwgbV9j
YXJldEJsaW5rcyh0cnVlKQpAQCAtMzEzLDIwICszMTYsNDQgQEAgdm9pZCBGcmFtZVNlbGVjdGlv
bjo6c2V0U2VsZWN0aW9uKGNvbnN0IAogICAgIGlmICghc2V0U2VsZWN0aW9uV2l0aG91dFVwZGF0
aW5nQXBwZWFyYW5jZShzZWxlY3Rpb24sIG9wdGlvbnMsIGFsaWduLCBncmFudWxhcml0eSkpCiAg
ICAgICAgIHJldHVybjsKIAorICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG1fZnJhbWUtPmRvY3Vt
ZW50KCk7CisgICAgaWYgKCFkb2N1bWVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9zaG91
bGRSZXZlYWxTZWxlY3Rpb24gPSBvcHRpb25zICYgUmV2ZWFsU2VsZWN0aW9uOworICAgIG1fYWx3
YXlzQWxpZ25DdXJzb3JPblNjcm9sbFdoZW5SZXZlYWxpbmdTZWxlY3Rpb24gPSBhbGlnbiA9PSBB
bGlnbkN1cnNvck9uU2Nyb2xsQWx3YXlzOworCisgICAgbV9wZW5kaW5nU2VsZWN0aW9uVXBkYXRl
ID0gdHJ1ZTsKKworICAgIGlmICghZG9jdW1lbnQtPm5lZWRzU3R5bGVSZWNhbGMoKSAmJiAhZG9j
dW1lbnQtPm5lZWRzTGF5b3V0KCkpCisgICAgICAgIHVwZGF0ZUFuZFJldmVhbFNlbGVjdGlvbigp
OworfQorCitzdGF0aWMgdm9pZCB1cGRhdGVTZWxlY3Rpb25CeVVwZGF0aW5nTGF5b3V0T3JTdHls
ZShGcmFtZSYgZnJhbWUpCit7CiAjaWYgRU5BQkxFKFRFWFRfQ0FSRVQpCi0gICAgbV9mcmFtZS0+
ZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAg
ZnJhbWUuZG9jdW1lbnQoKS0+dXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7
CiAjZWxzZQotICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsK
KyAgICBmcmFtZS5kb2N1bWVudCgpLT51cGRhdGVTdHlsZUlmTmVlZGVkKCk7CiAjZW5kaWYKK30K
Kwordm9pZCBGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKCkKK3sKKyAg
ICBpZiAoIW1fcGVuZGluZ1NlbGVjdGlvblVwZGF0ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
bV9wZW5kaW5nU2VsZWN0aW9uVXBkYXRlID0gZmFsc2U7CisKICAgICB1cGRhdGVBcHBlYXJhbmNl
KCk7CiAKLSAgICBpZiAob3B0aW9ucyAmIFJldmVhbFNlbGVjdGlvbikgeworICAgIGlmIChtX3No
b3VsZFJldmVhbFNlbGVjdGlvbikgewogICAgICAgICBTY3JvbGxBbGlnbm1lbnQgYWxpZ25tZW50
OwogCiAgICAgICAgIGlmIChtX2ZyYW1lLT5lZGl0b3IoKS5iZWhhdmlvcigpLnNob3VsZENlbnRl
ckFsaWduV2hlblNlbGVjdGlvbklzUmV2ZWFsZWQoKSkKLSAgICAgICAgICAgIGFsaWdubWVudCA9
IChhbGlnbiA9PSBBbGlnbkN1cnNvck9uU2Nyb2xsQWx3YXlzKSA/IFNjcm9sbEFsaWdubWVudDo6
YWxpZ25DZW50ZXJBbHdheXMgOiBTY3JvbGxBbGlnbm1lbnQ6OmFsaWduQ2VudGVySWZOZWVkZWQ7
CisgICAgICAgICAgICBhbGlnbm1lbnQgPSBtX2Fsd2F5c0FsaWduQ3Vyc29yT25TY3JvbGxXaGVu
UmV2ZWFsaW5nU2VsZWN0aW9uID8gU2Nyb2xsQWxpZ25tZW50OjphbGlnbkNlbnRlckFsd2F5cyA6
IFNjcm9sbEFsaWdubWVudDo6YWxpZ25DZW50ZXJJZk5lZWRlZDsKICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgYWxpZ25tZW50ID0gKGFsaWduID09IEFsaWduQ3Vyc29yT25TY3JvbGxBbHdheXMp
ID8gU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvcEFsd2F5cyA6IFNjcm9sbEFsaWdubWVudDo6YWxp
Z25Ub0VkZ2VJZk5lZWRlZDsKKyAgICAgICAgICAgIGFsaWdubWVudCA9IG1fYWx3YXlzQWxpZ25D
dXJzb3JPblNjcm9sbFdoZW5SZXZlYWxpbmdTZWxlY3Rpb24gPyBTY3JvbGxBbGlnbm1lbnQ6OmFs
aWduVG9wQWx3YXlzIDogU2Nyb2xsQWxpZ25tZW50OjphbGlnblRvRWRnZUlmTmVlZGVkOwogCiAg
ICAgICAgIHJldmVhbFNlbGVjdGlvbihhbGlnbm1lbnQsIFJldmVhbEV4dGVudCk7CiAgICAgfQpA
QCAtMTMwOCw2ICsxMzM1LDkgQEAgc3RhdGljIGJvb2wgaXNOb25PcnBoYW5lZENhcmV0KGNvbnN0
IFZpcwogCiBJbnRSZWN0IEZyYW1lU2VsZWN0aW9uOjphYnNvbHV0ZUNhcmV0Qm91bmRzKCkKIHsK
KyAgICBpZiAoIW1fZnJhbWUpCisgICAgICAgIHJldHVybiBJbnRSZWN0KCk7CisgICAgdXBkYXRl
U2VsZWN0aW9uQnlVcGRhdGluZ0xheW91dE9yU3R5bGUoKm1fZnJhbWUpOwogICAgIHJlY29tcHV0
ZUNhcmV0UmVjdCgpOwogICAgIHJldHVybiBtX2Fic0NhcmV0Qm91bmRzOwogfQpAQCAtMTM1NSw3
ICsxMzg1LDcgQEAgYm9vbCBGcmFtZVNlbGVjdGlvbjo6cmVjb21wdXRlQ2FyZXRSZWN0KAogICAg
IEludFJlY3Qgb2xkQWJzQ2FyZXRCb3VuZHMgPSBtX2Fic0NhcmV0Qm91bmRzOwogICAgIG1fYWJz
Q2FyZXRCb3VuZHMgPSBhYnNvbHV0ZUJvdW5kc0ZvckxvY2FsQ2FyZXRSZWN0KHJlbmRlcmVyRm9y
Q2FyZXRQYWludGluZyhjYXJldE5vZGUuZ2V0KCkpLCBuZXdSZWN0KTsKIAotICAgIGlmIChtX2Fi
c0NhcmV0Qm91bmRzRGlydHkpIC8vIFdlIHNob3VsZCBiZSBhYmxlIHRvIGFsd2F5cyBhc3NlcnQg
dGhpcyBjb25kaXRpb24uCisgICAgaWYgKG1fYWJzQ2FyZXRCb3VuZHNEaXJ0eSAmJiBtX3NlbGVj
dGlvbi5pc0NhcmV0KCkpIC8vIFdlIHNob3VsZCBiZSBhYmxlIHRvIGFsd2F5cyBhc3NlcnQgdGhp
cyBjb25kaXRpb24uCiAgICAgICAgIEFTU0VSVChtX2Fic0NhcmV0Qm91bmRzID09IG1fc2VsZWN0
aW9uLnZpc2libGVTdGFydCgpLmFic29sdXRlQ2FyZXRCb3VuZHMoKSk7CiAKICAgICBtX2Fic0Nh
cmV0Qm91bmRzRGlydHkgPSBmYWxzZTsKQEAgLTE4MTQsMTUgKzE4NDQsMTYgQEAgdm9pZCBGcmFt
ZVNlbGVjdGlvbjo6c2V0Q2FyZXRWaXNpYmlsaXR5KAogICAgIGlmIChjYXJldFZpc2liaWxpdHko
KSA9PSB2aXNpYmlsaXR5KQogICAgICAgICByZXR1cm47CiAKKyAgICAvLyBGSVhNRTogV2Ugc2hv
dWxkbid0IHRyaWdnZXIgYSBzeW5jaHJub3VzbHkgbGF5b3V0IGhlcmUuCisgICAgaWYgKG1fZnJh
bWUpCisgICAgICAgIHVwZGF0ZVNlbGVjdGlvbkJ5VXBkYXRpbmdMYXlvdXRPclN0eWxlKCptX2Zy
YW1lKTsKKwogI2lmIEVOQUJMRShURVhUX0NBUkVUKQotICAgIG1fZnJhbWUtPmRvY3VtZW50KCkt
PnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdTdHlsZXNoZWV0cygpOwogICAgIGlmIChtX2NhcmV0
UGFpbnQpIHsKICAgICAgICAgbV9jYXJldFBhaW50ID0gZmFsc2U7CiAgICAgICAgIGludmFsaWRh
dGVDYXJldFJlY3QoKTsKICAgICB9CiAgICAgQ2FyZXRCYXNlOjpzZXRDYXJldFZpc2liaWxpdHko
dmlzaWJpbGl0eSk7Ci0jZWxzZQotICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnVwZGF0ZVN0eWxl
SWZOZWVkZWQoKTsKICNlbmRpZgogCiAgICAgdXBkYXRlQXBwZWFyYW5jZSgpOwpAQCAtMTkyMCw3
ICsxOTUxLDcgQEAgRmxvYXRSZWN0IEZyYW1lU2VsZWN0aW9uOjpzZWxlY3Rpb25Cb3VuZAogICAg
IGlmICghbV9mcmFtZS0+ZG9jdW1lbnQoKSkKICAgICAgICAgcmV0dXJuIExheW91dFJlY3QoKTsK
IAotICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKKyAgICB1
cGRhdGVTZWxlY3Rpb25CeVVwZGF0aW5nTGF5b3V0T3JTdHlsZSgqbV9mcmFtZSk7CiAgICAgUmVu
ZGVyVmlldyogcm9vdCA9IG1fZnJhbWUtPmNvbnRlbnRSZW5kZXJlcigpOwogICAgIEZyYW1lVmll
dyogdmlldyA9IG1fZnJhbWUtPnZpZXcoKTsKICAgICBpZiAoIXJvb3QgfHwgIXZpZXcpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCShyZXZpc2lvbiAxNjQwMTIp
CisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE0Myw2ICsxNDMsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBWaXNpYmxlU2VsZWN0
aW9uJiBzZWxlY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX3NlbGVjdGlvbjsgfQogICAgIHZvaWQg
c2V0U2VsZWN0aW9uKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mLCBTZXRTZWxlY3Rpb25PcHRpb25z
ID0gZGVmYXVsdFNldFNlbGVjdGlvbk9wdGlvbnMoKSwgQ3Vyc29yQWxpZ25PblNjcm9sbCA9IEFs
aWduQ3Vyc29yT25TY3JvbGxJZk5lZWRlZCwgVGV4dEdyYW51bGFyaXR5ID0gQ2hhcmFjdGVyR3Jh
bnVsYXJpdHkpOworICAgIHZvaWQgdXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uKCk7CiAgICAgYm9v
bCBzZXRTZWxlY3RlZFJhbmdlKFJhbmdlKiwgRUFmZmluaXR5LCBib29sIGNsb3NlVHlwaW5nKTsK
ICAgICB2b2lkIHNlbGVjdEFsbCgpOwogICAgIHZvaWQgY2xlYXIoKTsKQEAgLTMzMSw2ICszMzIs
OSBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc0NhcmV0QmxpbmtpbmdTdXNwZW5kZWQgOiAxOwog
ICAgIGJvb2wgbV9mb2N1c2VkIDogMTsKICAgICBib29sIG1fc2hvdWxkU2hvd0Jsb2NrQ3Vyc29y
IDogMTsKKyAgICBib29sIG1fcGVuZGluZ1NlbGVjdGlvblVwZGF0ZSA6IDE7CisgICAgYm9vbCBt
X3Nob3VsZFJldmVhbFNlbGVjdGlvbiA6IDE7CisgICAgYm9vbCBtX2Fsd2F5c0FsaWduQ3Vyc29y
T25TY3JvbGxXaGVuUmV2ZWFsaW5nU2VsZWN0aW9uIDogMTsKIAogI2lmIFBMQVRGT1JNKElPUykK
ICAgICBib29sIG1fdXBkYXRlQXBwZWFyYW5jZUVuYWJsZWQgOiAxOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcAkocmV2aXNpb24gMTY0MDEyKQorKysgU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjI3LDcgKzI2MjcsNyBAQCB2b2lk
IEZyYW1lVmlldzo6cGVyZm9ybVBvc3RMYXlvdXRUYXNrcygpCiAgICAgbV9wb3N0TGF5b3V0VGFz
a3NUaW1lci5zdG9wKCk7CiAKICAgICBmcmFtZSgpLnNlbGVjdGlvbigpLnNldENhcmV0UmVjdE5l
ZWRzVXBkYXRlKCk7Ci0gICAgZnJhbWUoKS5zZWxlY3Rpb24oKS51cGRhdGVBcHBlYXJhbmNlKCk7
CisgICAgZnJhbWUoKS5zZWxlY3Rpb24oKS51cGRhdGVBbmRSZXZlYWxTZWxlY3Rpb24oKTsKIAog
ICAgIExheW91dE1pbGVzdG9uZXMgcmVxdWVzdGVkTWlsZXN0b25lcyA9IDA7CiAgICAgTGF5b3V0
TWlsZXN0b25lcyBtaWxlc3RvbmVzQWNoaWV2ZWQgPSAwOwo=
</data>
<flag name="review"
          id="248255"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>