<?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>126878</bug_id>
          
          <creation_ts>2014-01-13 02:07:06 -0800</creation_ts>
          <short_desc>LayoutState and subtree layout code should use RenderElement.</short_desc>
          <delta_ts>2015-09-14 11:16:29 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></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>
          <dependson>140657</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>joepeck</cc>
    
    <cc>kondapallykalyan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>967213</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-01-13 02:07:06 -0800</bug_when>
    <thetext>Layout never starts from RenderText.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967218</commentid>
    <comment_count>1</comment_count>
      <attachid>221019</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-01-13 02:19:01 -0800</bug_when>
    <thetext>Created attachment 221019
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967219</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-13 02:21:30 -0800</bug_when>
    <thetext>Attachment 221019 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/page/FrameView.cpp&apos;, u&apos;Source/WebCore/rendering/LayoutState.cpp&apos;, u&apos;Source/WebCore/rendering/LayoutState.h&apos;, u&apos;Source/WebCore/rendering/RenderView.cpp&apos;, u&apos;Source/WebCore/rendering/RenderView.h&apos;, &apos;--commit-queue&apos;]&quot; exit_code: 1
ERROR: Source/WebCore/rendering/RenderView.cpp:1078:  Missing space before ( in while(  [whitespace/parens] [5]
Total errors found: 1 in 6 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>967229</commentid>
    <comment_count>3</comment_count>
      <attachid>221022</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-01-13 03:01:14 -0800</bug_when>
    <thetext>Created attachment 221022
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967258</commentid>
    <comment_count>4</comment_count>
      <attachid>221022</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-13 05:27:43 -0800</bug_when>
    <thetext>Comment on attachment 221022
Patch

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

&gt; Source/WebCore/rendering/RenderElement.cpp:1036
&gt; +    if (!documentBeingDestroyed() &amp;&amp; view().frameView().layoutRoot() == this) {
&gt; +        ASSERT_NOT_REACHED();
&gt; +        // This indicates a failure to layout the child, which is why
&gt; +        // the layout root is still set to |this|. Make sure to clear it
&gt; +        // since we are getting destroyed.
&gt; +        view().frameView().clearLayoutRoot();
&gt; +    }

Wonder if this could just be an assert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062523</commentid>
    <comment_count>5</comment_count>
      <attachid>244932</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-01-19 15:29:24 -0800</bug_when>
    <thetext>Created attachment 244932
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062542</commentid>
    <comment_count>6</comment_count>
      <attachid>244932</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-19 16:39:34 -0800</bug_when>
    <thetext>Comment on attachment 244932
Patch for landing

Clearing flags on attachment: 244932

Committed r178683: &lt;http://trac.webkit.org/changeset/178683&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062543</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-19 16:39:39 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062596</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-01-19 19:30:19 -0800</bug_when>
    <thetext>Looks like this may have caused a lot of crashes on the bots:
https://build.webkit.org/builders/Apple%20MountainLion%20Debug%20WK1%20%28Tests%29/builds/17391
https://build.webkit.org/results/Apple%20MountainLion%20Debug%20WK1%20(Tests)/r178685%20(17391)/results.html

&gt; Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
&gt; Exception Codes: KERN_INVALID_ADDRESS at 0x00000000bbadbeef
&gt; 
&gt; Application Specific Information:
&gt; CRASHING TEST: scrollbars/scrollbar-selectors.html
&gt; 
&gt; Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
&gt; 0   WTFCrash + 42 (Assertions.cpp:321)
&gt; 1   WebCore::RenderElement::willBeDestroyed() + 193 (RenderElement.cpp:1075)
&gt; 2   WebCore::RenderBoxModelObject::willBeDestroyed() + 184 (RenderBoxModelObject.cpp:205)
&gt; 3   WebCore::RenderBlockFlow::willBeDestroyed() + 414 (RenderBlockFlow.cpp:176)
&gt; 4   WebCore::RenderObject::destroy() + 66 (RenderObject.cpp:2001)
&gt; 5   WebCore::RenderObject::destroyAndCleanupAnonymousWrappers() + 274 (RenderObject.cpp:1989)
&gt; 6   WebCore::Style::detachRenderTree(WebCore::Element&amp;, WebCore::Style::DetachType) + 197 (StyleResolveTree.cpp:700)
&gt; 7   WebCore::Style::detachRenderTree(WebCore::Element&amp;) + 26 (StyleResolveTree.cpp:1001)
&gt; 8   WebCore::destroyRenderTreeIfNeeded(WebCore::Node&amp;) + 94 (ContainerNode.cpp:100)
&gt; 9   WebCore::ContainerNode::removeBetween(WebCore::Node*, WebCore::Node*, WebCore::Node&amp;) + 134 (ContainerNode.cpp:588)
&gt; 10  WebCore::ContainerNode::removeChild(WebCore::Node*, int&amp;) + 593 (ContainerNode.cpp:559)
&gt; 11  WebCore::ContainerNode::replaceChild(WTF::PassRefPtr&lt;WebCore::Node&gt;, WebCore::Node*, int&amp;) + 429 (ContainerNode.cpp:416)
&gt; 12  WebCore::Element::setOuterHTML(WTF::String const&amp;, int&amp;) + 302 (Element.cpp:2072)
&gt; 13  WebCore::setJSElementOuterHTML(JSC::ExecState*, JSC::JSObject*, long long, long long) + 315 (JSElement.cpp:2362)
&gt; 14  JSC::callCustomSetter(JSC::ExecState*, JSC::JSValue, JSC::JSObject*, JSC::JSValue, JSC::JSValue) + 162 (CustomGetterSetter.cpp:45)
&gt; 15  JSC::JSObject::put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;) + 1648 (JSObject.cpp:383)
&gt; ...

Should I rollout?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1062602</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-19 19:38:04 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 140657</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125678</commentid>
    <comment_count>10</comment_count>
      <attachid>221022</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-09-14 11:16:29 -0700</bug_when>
    <thetext>Comment on attachment 221022
Patch

Cleared Antti Koivisto&apos;s review+ from obsolete attachment 221022 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221019</attachid>
            <date>2014-01-13 02:19:01 -0800</date>
            <delta_ts>2014-01-13 03:01:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126878.diff</filename>
            <type>text/plain</type>
            <size>6478</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhMzUyZTI5Li44MjAxYTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTQtMDEtMTMgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIExheW91dFN0YXRlIGFuZCBzdWJ0cmVlIGxheW91dCBjb2RlIHNob3VsZCB1c2UgUmVuZGVy
RWxlbWVudC4KKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyNjg3OD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5b3V0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvTGF5b3V0U3RhdGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclZpZXc6OnB1c2hMYXlvdXRTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJW
aWV3OjpwdXNoTGF5b3V0U3RhdGVGb3JDdXJyZW50Rmxvd1RocmVhZCk6CisKKyAgICAgICAgICAg
IE1ha2UgYWxsIG9mIHRoZXNlIGZ1bmN0aW9ucyB0YWtlIFJlbmRlckVsZW1lbnQgaW5zdGVhZCBv
ZgorICAgICAgICAgICAgUmVuZGVyT2JqZWN0IHNpbmNlIGxheW91dCBuZXZlciBzdGFydHMgZnJv
bSBhIFJlbmRlclRleHQuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnNob3VsZERp
c2FibGVMYXlvdXRTdGF0ZUZvclN1YnRyZWUpOgorCisgICAgICAgICAgICBUd2VhayB0aGlzIGxv
b3AgYSBiaXQgc2luY2UgaXQncyBuZXZlciBudWxsIG9uIGZpcnN0IGl0ZXJhdGlvbi4KKwogMjAx
NC0wMS0xMiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE2MTg0My4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcAppbmRleCA4YzA2NGZiLi5jMDdjNTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3Bw
CkBAIC0xMzA2LDcgKzEzMDYsNyBAQCB2b2lkIEZyYW1lVmlldzo6bGF5b3V0KGJvb2wgYWxsb3dT
dWJ0cmVlKQogCiAgICAgICAgIGJvb2wgZGlzYWJsZUxheW91dFN0YXRlID0gZmFsc2U7CiAgICAg
ICAgIGlmIChzdWJ0cmVlKSB7Ci0gICAgICAgICAgICBkaXNhYmxlTGF5b3V0U3RhdGUgPSByb290
LT52aWV3KCkuc2hvdWxkRGlzYWJsZUxheW91dFN0YXRlRm9yU3VidHJlZShyb290KTsKKyAgICAg
ICAgICAgIGRpc2FibGVMYXlvdXRTdGF0ZSA9IHJvb3QtPnZpZXcoKS5zaG91bGREaXNhYmxlTGF5
b3V0U3RhdGVGb3JTdWJ0cmVlKCpyb290KTsKICAgICAgICAgICAgIHJvb3QtPnZpZXcoKS5wdXNo
TGF5b3V0U3RhdGUoKnJvb3QpOwogICAgICAgICB9CiAgICAgICAgIExheW91dFN0YXRlRGlzYWJs
ZXIgbGF5b3V0U3RhdGVEaXNhYmxlcihkaXNhYmxlTGF5b3V0U3RhdGUgPyAmcm9vdC0+dmlldygp
IDogMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmNwcAppbmRleCBiZWQ0
NzU2Li44ZjE1YjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0
U3RhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5jcHAK
QEAgLTEzNiw3ICsxMzYsNyBAQCBMYXlvdXRTdGF0ZTo6TGF5b3V0U3RhdGUoc3RkOjp1bmlxdWVf
cHRyPExheW91dFN0YXRlPiBuZXh0LCBSZW5kZXJCb3gqIHJlbmRlcmVyLAogICAgIC8vIEZJWE1F
OiA8aHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0NDM+IEFwcGx5IGNv
bnRyb2wgY2xpcCBpZiBwcmVzZW50LgogfQogCi1MYXlvdXRTdGF0ZTo6TGF5b3V0U3RhdGUoUmVu
ZGVyT2JqZWN0JiByb290KQorTGF5b3V0U3RhdGU6OkxheW91dFN0YXRlKFJlbmRlckVsZW1lbnQm
IHJvb3QpCiAgICAgOiBtX2NsaXBwZWQoZmFsc2UpCiAgICAgLCBtX2lzUGFnaW5hdGVkKGZhbHNl
KQogICAgICwgbV9wYWdlTG9naWNhbEhlaWdodENoYW5nZWQoZmFsc2UpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9MYXlvdXRTdGF0ZS5oCmluZGV4IDU0NzFmYWIuLjRjMTdhZTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5oCkBAIC0zOCw3ICszOCw2IEBAIGNsYXNzIFJlbmRl
ckJsb2NrRmxvdzsKIGNsYXNzIFJlbmRlckJveDsKIGNsYXNzIFJlbmRlckVsZW1lbnQ7CiBjbGFz
cyBSZW5kZXJGbG93VGhyZWFkOwotY2xhc3MgUmVuZGVyT2JqZWN0OwogY2xhc3MgU2hhcGVJbnNp
ZGVJbmZvOwogCiBjbGFzcyBMYXlvdXRTdGF0ZSB7CkBAIC02NSw3ICs2NCw3IEBAIHB1YmxpYzoK
ICAgICB9CiAKICAgICBMYXlvdXRTdGF0ZShzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0U3RhdGU+IHN0
YXRlLCBSZW5kZXJCb3gqLCBjb25zdCBMYXlvdXRTaXplJiBvZmZzZXQsIExheW91dFVuaXQgcGFn
ZUhlaWdodCwgYm9vbCBwYWdlSGVpZ2h0Q2hhbmdlZCwgQ29sdW1uSW5mbyopOwotICAgIGV4cGxp
Y2l0IExheW91dFN0YXRlKFJlbmRlck9iamVjdCYpOworICAgIGV4cGxpY2l0IExheW91dFN0YXRl
KFJlbmRlckVsZW1lbnQmKTsKIAogICAgIHZvaWQgY2xlYXJQYWdpbmF0aW9uSW5mb3JtYXRpb24o
KTsKICAgICBib29sIGlzUGFnaW5hdGluZ0NvbHVtbnMoKSBjb25zdCB7IHJldHVybiBtX2NvbHVt
bkluZm8gJiYgbV9jb2x1bW5JbmZvLT5wYWdpbmF0aW9uVW5pdCgpID09IENvbHVtbkluZm86OkNv
bHVtbjsgfQpAQCAtMTM4LDcgKzEzNyw3IEBAIHB1YmxpYzoKICAgICBMYXlvdXRTaXplIG1fbGlu
ZUdyaWRQYWdpbmF0aW9uT3JpZ2luOwogCiAjaWZuZGVmIE5ERUJVRwotICAgIFJlbmRlck9iamVj
dCogbV9yZW5kZXJlcjsKKyAgICBSZW5kZXJFbGVtZW50KiBtX3JlbmRlcmVyOwogI2VuZGlmCiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKaW5kZXggNWM5Y2MwMS4u
NThjYWQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcApAQCAtMTA1
OSw3ICsxMDU5LDcgQEAgZmxvYXQgUmVuZGVyVmlldzo6em9vbUZhY3RvcigpIGNvbnN0CiAgICAg
cmV0dXJuIGZyYW1lVmlldygpLmZyYW1lKCkucGFnZVpvb21GYWN0b3IoKTsKIH0KIAotdm9pZCBS
ZW5kZXJWaWV3OjpwdXNoTGF5b3V0U3RhdGUoUmVuZGVyT2JqZWN0JiByb290KQordm9pZCBSZW5k
ZXJWaWV3OjpwdXNoTGF5b3V0U3RhdGUoUmVuZGVyRWxlbWVudCYgcm9vdCkKIHsKICAgICBBU1NF
UlQobV9sYXlvdXRTdGF0ZURpc2FibGVDb3VudCA9PSAwKTsKICAgICBBU1NFUlQobV9sYXlvdXRT
dGF0ZSA9PSAwKTsKQEAgLTEwNjgsMTQgKzEwNjgsMTQgQEAgdm9pZCBSZW5kZXJWaWV3OjpwdXNo
TGF5b3V0U3RhdGUoUmVuZGVyT2JqZWN0JiByb290KQogICAgIG1fbGF5b3V0U3RhdGUgPSBzdGQ6
Om1ha2VfdW5pcXVlPExheW91dFN0YXRlPihyb290KTsKIH0KIAotYm9vbCBSZW5kZXJWaWV3Ojpz
aG91bGREaXNhYmxlTGF5b3V0U3RhdGVGb3JTdWJ0cmVlKFJlbmRlck9iamVjdCogcmVuZGVyZXIp
IGNvbnN0Citib29sIFJlbmRlclZpZXc6OnNob3VsZERpc2FibGVMYXlvdXRTdGF0ZUZvclN1YnRy
ZWUoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpIGNvbnN0CiB7Ci0gICAgUmVuZGVyT2Jq
ZWN0KiBvID0gcmVuZGVyZXI7Ci0gICAgd2hpbGUgKG8pIHsKKyAgICBhdXRvIG8gPSAmcmVuZGVy
ZXI7CisgICAgZG8gewogICAgICAgICBpZiAoby0+aGFzQ29sdW1ucygpIHx8IG8tPmhhc1RyYW5z
Zm9ybSgpIHx8IG8tPmhhc1JlZmxlY3Rpb24oKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgICAgICBvID0gby0+Y29udGFpbmVyKCk7Ci0gICAgfQorICAgIH0gd2hpbGUobyk7CiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCkBAIC0xMjA0LDcgKzEyMDQsNyBAQCBib29sIFJlbmRlclZpZXc6
Omhhc0N1c3RvbUZpeGVkUG9zaXRpb24oY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJlciwgQ29u
dGFpbmluZwogfQogI2VuZGlmCiAKLXZvaWQgUmVuZGVyVmlldzo6cHVzaExheW91dFN0YXRlRm9y
Q3VycmVudEZsb3dUaHJlYWQoY29uc3QgUmVuZGVyT2JqZWN0JiBvYmplY3QpCit2b2lkIFJlbmRl
clZpZXc6OnB1c2hMYXlvdXRTdGF0ZUZvckN1cnJlbnRGbG93VGhyZWFkKGNvbnN0IFJlbmRlckVs
ZW1lbnQmIHJlbmRlcmVyKQogewogICAgIGlmICghbV9mbG93VGhyZWFkQ29udHJvbGxlcikKICAg
ICAgICAgcmV0dXJuOwpAQCAtMTIxMyw3ICsxMjEzLDcgQEAgdm9pZCBSZW5kZXJWaWV3OjpwdXNo
TGF5b3V0U3RhdGVGb3JDdXJyZW50Rmxvd1RocmVhZChjb25zdCBSZW5kZXJPYmplY3QmIG9iamVj
dCkKICAgICBpZiAoIWN1cnJlbnRGbG93VGhyZWFkKQogICAgICAgICByZXR1cm47CiAKLSAgICBj
dXJyZW50Rmxvd1RocmVhZC0+cHVzaEZsb3dUaHJlYWRMYXlvdXRTdGF0ZShvYmplY3QpOworICAg
IGN1cnJlbnRGbG93VGhyZWFkLT5wdXNoRmxvd1RocmVhZExheW91dFN0YXRlKHJlbmRlcmVyKTsK
IH0KIAogdm9pZCBSZW5kZXJWaWV3Ojpwb3BMYXlvdXRTdGF0ZUZvckN1cnJlbnRGbG93VGhyZWFk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCmluZGV4IDZmM2JiN2QuLmE1YTM5
N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaApAQCAtMTQyLDEwICsxNDIs
MTAgQEAgcHVibGljOgogICAgIGJvb2wgZG9pbmdGdWxsUmVwYWludCgpIGNvbnN0IHsgcmV0dXJu
IGZyYW1lVmlldygpLm5lZWRzRnVsbFJlcGFpbnQoKTsgfQogCiAgICAgLy8gU3VidHJlZSBwdXNo
L3BvcAotICAgIHZvaWQgcHVzaExheW91dFN0YXRlKFJlbmRlck9iamVjdCYpOwotICAgIHZvaWQg
cG9wTGF5b3V0U3RhdGUoUmVuZGVyT2JqZWN0JikgeyByZXR1cm4gcG9wTGF5b3V0U3RhdGUoKTsg
fSAvLyBKdXN0IGRvaW5nIHRoaXMgdG8ga2VlcCBwb3BMYXlvdXRTdGF0ZSgpIHByaXZhdGUgYW5k
IHRvIG1ha2UgdGhlIHN1YnRyZWUgY2FsbHMgc3ltbWV0cmljYWwuCisgICAgdm9pZCBwdXNoTGF5
b3V0U3RhdGUoUmVuZGVyRWxlbWVudCYpOworICAgIHZvaWQgcG9wTGF5b3V0U3RhdGUoUmVuZGVy
RWxlbWVudCYpIHsgcmV0dXJuIHBvcExheW91dFN0YXRlKCk7IH0gLy8gSnVzdCBkb2luZyB0aGlz
IHRvIGtlZXAgcG9wTGF5b3V0U3RhdGUoKSBwcml2YXRlIGFuZCB0byBtYWtlIHRoZSBzdWJ0cmVl
IGNhbGxzIHN5bW1ldHJpY2FsLgogCi0gICAgYm9vbCBzaG91bGREaXNhYmxlTGF5b3V0U3RhdGVG
b3JTdWJ0cmVlKFJlbmRlck9iamVjdCopIGNvbnN0OworICAgIGJvb2wgc2hvdWxkRGlzYWJsZUxh
eW91dFN0YXRlRm9yU3VidHJlZShjb25zdCBSZW5kZXJFbGVtZW50JikgY29uc3Q7CiAKICAgICAv
LyBSZXR1cm5zIHRydWUgaWYgbGF5b3V0U3RhdGUgc2hvdWxkIGJlIHVzZWQgZm9yIGl0cyBjYWNo
ZWQgb2Zmc2V0IGFuZCBjbGlwLgogICAgIGJvb2wgbGF5b3V0U3RhdGVFbmFibGVkKCkgY29uc3Qg
eyByZXR1cm4gbV9sYXlvdXRTdGF0ZURpc2FibGVDb3VudCA9PSAwICYmIG1fbGF5b3V0U3RhdGU7
IH0KQEAgLTI5Miw3ICsyOTIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY2hlY2tMYXlvdXRTdGF0
ZShjb25zdCBMYXlvdXRTdGF0ZSYpOwogI2VuZGlmCiAKLSAgICB2b2lkIHB1c2hMYXlvdXRTdGF0
ZUZvckN1cnJlbnRGbG93VGhyZWFkKGNvbnN0IFJlbmRlck9iamVjdCYpOworICAgIHZvaWQgcHVz
aExheW91dFN0YXRlRm9yQ3VycmVudEZsb3dUaHJlYWQoY29uc3QgUmVuZGVyRWxlbWVudCYpOwog
ICAgIHZvaWQgcG9wTGF5b3V0U3RhdGVGb3JDdXJyZW50Rmxvd1RocmVhZCgpOwogICAgIAogICAg
IGZyaWVuZCBjbGFzcyBMYXlvdXRTdGF0ZU1haW50YWluZXI7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221022</attachid>
            <date>2014-01-13 03:01:14 -0800</date>
            <delta_ts>2015-09-14 11:16:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126878.diff</filename>
            <type>text/plain</type>
            <size>11246</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1MTliZjNiLi44MTVmYTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYg
QEAKKzIwMTQtMDEtMTMgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIExheW91dFN0YXRlIGFuZCBzdWJ0cmVlIGxheW91dCBjb2RlIHNob3VsZCB1c2UgUmVuZGVy
RWxlbWVudC4KKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyNjg3OD4KKworICAgICAg
ICBTdWJ0cmVlIGxheW91dCB3aWxsIG5ldmVyIGJlZ2luIGF0IGEgUmVuZGVyVGV4dCwgc28gdGln
aHRlbiB1cAorICAgICAgICB0aGUgY29kZSB0byBvcGVyYXRlIG9uIFJlbmRlckVsZW1lbnRzIGlu
c3RlYWQgb2YgUmVuZGVyT2JqZWN0cy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxMYXlvdXQpOgor
ICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmll
dzo6bGF5b3V0Um9vdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmxheW91dCk6Cisg
ICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKworICAgICAgICAgICAgTWFrZSBGcmFtZVZpZXc6
OmxheW91dFJvb3QoKSByZXR1cm4gUmVuZGVyRWxlbWVudCouCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojp3
aWxsQmVEZXN0cm95ZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojp3aWxsQmVEZXN0cm95ZWQpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKworICAgICAgICAgICAgTW92ZSBzdWJ0cmVl
IGxheW91dCByb290IGNsZWFyaW5nIGxvZ2ljIGluIHdpbGxCZURlc3Ryb3llZCgpCisgICAgICAg
ICAgICBmcm9tIFJlbmRlck9iamVjdCB0byBSZW5kZXJFbGVtZW50LgorCisgICAgICAgICogcmVu
ZGVyaW5nL0xheW91dFN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFN0YXRlOjpM
YXlvdXRTdGF0ZSk6CisgICAgICAgICogcmVuZGVyaW5nL0xheW91dFN0YXRlLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclZpZXcuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmll
dy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpwdXNoTGF5b3V0U3RhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6cHVzaExheW91dFN0YXRlRm9yQ3VycmVudEZs
b3dUaHJlYWQpOgorCisgICAgICAgICAgICBNYWtlIGFsbCBvZiB0aGVzZSBmdW5jdGlvbnMgdGFr
ZSBSZW5kZXJFbGVtZW50IGluc3RlYWQgb2YKKyAgICAgICAgICAgIFJlbmRlck9iamVjdCBzaW5j
ZSBsYXlvdXQgbmV2ZXIgc3RhcnRzIGZyb20gYSBSZW5kZXJUZXh0LgorCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJWaWV3OjpzaG91bGREaXNhYmxlTGF5b3V0U3RhdGVGb3JTdWJ0cmVlKToKKwor
ICAgICAgICAgICAgVHdlYWsgbG9vcCBzaW5jZSBpdCdzIG5ldmVyIG51bGwgb24gZmlyc3QgaXRl
cmF0aW9uLgorCiAyMDE0LTAxLTEzICBMw6FzemzDsyBMYW5nw7MgIDxsbGFuZ28udS1zemVnZWRA
cGFydG5lci5zYW1zdW5nLmNvbT4KIAogICAgICAgICBDb21tZW50IHNob3VsZCBiZSBjb25zcnVj
dGFibGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxp
bmVBZ2VudC5jcHAKaW5kZXggMTU5YTU3NC4uNmEwNDdmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcApAQCAtMTYxLDcgKzE2
MSw3IEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkSW52YWxpZGF0ZUxheW91dChG
cmFtZSogZnJhbWUpCiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbExheW91dChG
cmFtZSogZnJhbWUpCiB7Ci0gICAgUmVuZGVyT2JqZWN0KiByb290ID0gZnJhbWUtPnZpZXcoKS0+
bGF5b3V0Um9vdCgpOworICAgIGF1dG8gcm9vdCA9IGZyYW1lLT52aWV3KCktPmxheW91dFJvb3Qo
KTsKICAgICBib29sIHBhcnRpYWxMYXlvdXQgPSAhIXJvb3Q7CiAKICAgICBpZiAoIXBhcnRpYWxM
YXlvdXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggOGMwNjRmYi4uOGUyOGJlZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTA4MCw5ICsxMDgwLDkgQEAgdm9pZCBG
cmFtZVZpZXc6OnNldElzSW5XaW5kb3coYm9vbCBpc0luV2luZG93KQogICAgICAgICByZW5kZXJW
aWV3LT5zZXRJc0luV2luZG93KGlzSW5XaW5kb3cpOwogfQogCi1SZW5kZXJPYmplY3QqIEZyYW1l
Vmlldzo6bGF5b3V0Um9vdChib29sIG9ubHlEdXJpbmdMYXlvdXQpIGNvbnN0CitSZW5kZXJFbGVt
ZW50KiBGcmFtZVZpZXc6OmxheW91dFJvb3QoYm9vbCBvbmx5RHVyaW5nTGF5b3V0KSBjb25zdAog
ewotICAgIHJldHVybiBvbmx5RHVyaW5nTGF5b3V0ICYmIGxheW91dFBlbmRpbmcoKSA/IDAgOiBt
X2xheW91dFJvb3Q7CisgICAgcmV0dXJuIG9ubHlEdXJpbmdMYXlvdXQgJiYgbGF5b3V0UGVuZGlu
ZygpID8gbnVsbHB0ciA6IG1fbGF5b3V0Um9vdDsKIH0KIAogaW5saW5lIHZvaWQgRnJhbWVWaWV3
Ojpmb3JjZUxheW91dFBhcmVudFZpZXdJZk5lZWRlZCgpCkBAIC0xMzA2LDcgKzEzMDYsNyBAQCB2
b2lkIEZyYW1lVmlldzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlKQogCiAgICAgICAgIGJvb2wg
ZGlzYWJsZUxheW91dFN0YXRlID0gZmFsc2U7CiAgICAgICAgIGlmIChzdWJ0cmVlKSB7Ci0gICAg
ICAgICAgICBkaXNhYmxlTGF5b3V0U3RhdGUgPSByb290LT52aWV3KCkuc2hvdWxkRGlzYWJsZUxh
eW91dFN0YXRlRm9yU3VidHJlZShyb290KTsKKyAgICAgICAgICAgIGRpc2FibGVMYXlvdXRTdGF0
ZSA9IHJvb3QtPnZpZXcoKS5zaG91bGREaXNhYmxlTGF5b3V0U3RhdGVGb3JTdWJ0cmVlKCpyb290
KTsKICAgICAgICAgICAgIHJvb3QtPnZpZXcoKS5wdXNoTGF5b3V0U3RhdGUoKnJvb3QpOwogICAg
ICAgICB9CiAgICAgICAgIExheW91dFN0YXRlRGlzYWJsZXIgbGF5b3V0U3RhdGVEaXNhYmxlcihk
aXNhYmxlTGF5b3V0U3RhdGUgPyAmcm9vdC0+dmlldygpIDogMCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuaAppbmRleCA2NjdkNWU2Li42YmM4Y2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAg
LTExMSw3ICsxMTEsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBsYXlvdXRQZW5kaW5nKCkgY29uc3Q7
CiAgICAgYm9vbCBpc0luTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRQaGFzZSA9PSBJ
bkxheW91dDsgfQogCi0gICAgUmVuZGVyT2JqZWN0KiBsYXlvdXRSb290KGJvb2wgb25seUR1cmlu
Z0xheW91dCA9IGZhbHNlKSBjb25zdDsKKyAgICBSZW5kZXJFbGVtZW50KiBsYXlvdXRSb290KGJv
b2wgb25seUR1cmluZ0xheW91dCA9IGZhbHNlKSBjb25zdDsKICAgICB2b2lkIGNsZWFyTGF5b3V0
Um9vdCgpIHsgbV9sYXlvdXRSb290ID0gbnVsbHB0cjsgfQogICAgIGludCBsYXlvdXRDb3VudCgp
IGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0Q291bnQ7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9MYXlvdXRTdGF0ZS5jcHAKaW5kZXggYmVkNDc1Ni4uOGYxNWI4ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuY3BwCkBAIC0xMzYsNyArMTM2LDcgQEAgTGF5b3V0U3Rh
dGU6OkxheW91dFN0YXRlKHN0ZDo6dW5pcXVlX3B0cjxMYXlvdXRTdGF0ZT4gbmV4dCwgUmVuZGVy
Qm94KiByZW5kZXJlciwKICAgICAvLyBGSVhNRTogPGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEzNDQzPiBBcHBseSBjb250cm9sIGNsaXAgaWYgcHJlc2VudC4KIH0KIAot
TGF5b3V0U3RhdGU6OkxheW91dFN0YXRlKFJlbmRlck9iamVjdCYgcm9vdCkKK0xheW91dFN0YXRl
OjpMYXlvdXRTdGF0ZShSZW5kZXJFbGVtZW50JiByb290KQogICAgIDogbV9jbGlwcGVkKGZhbHNl
KQogICAgICwgbV9pc1BhZ2luYXRlZChmYWxzZSkKICAgICAsIG1fcGFnZUxvZ2ljYWxIZWlnaHRD
aGFuZ2VkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91
dFN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaAppbmRleCA1
NDcxZmFiLi40YzE3YWU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5
b3V0U3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaApA
QCAtMzgsNyArMzgsNiBAQCBjbGFzcyBSZW5kZXJCbG9ja0Zsb3c7CiBjbGFzcyBSZW5kZXJCb3g7
CiBjbGFzcyBSZW5kZXJFbGVtZW50OwogY2xhc3MgUmVuZGVyRmxvd1RocmVhZDsKLWNsYXNzIFJl
bmRlck9iamVjdDsKIGNsYXNzIFNoYXBlSW5zaWRlSW5mbzsKIAogY2xhc3MgTGF5b3V0U3RhdGUg
ewpAQCAtNjUsNyArNjQsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgTGF5b3V0U3RhdGUoc3Rk
Ojp1bmlxdWVfcHRyPExheW91dFN0YXRlPiBzdGF0ZSwgUmVuZGVyQm94KiwgY29uc3QgTGF5b3V0
U2l6ZSYgb2Zmc2V0LCBMYXlvdXRVbml0IHBhZ2VIZWlnaHQsIGJvb2wgcGFnZUhlaWdodENoYW5n
ZWQsIENvbHVtbkluZm8qKTsKLSAgICBleHBsaWNpdCBMYXlvdXRTdGF0ZShSZW5kZXJPYmplY3Qm
KTsKKyAgICBleHBsaWNpdCBMYXlvdXRTdGF0ZShSZW5kZXJFbGVtZW50Jik7CiAKICAgICB2b2lk
IGNsZWFyUGFnaW5hdGlvbkluZm9ybWF0aW9uKCk7CiAgICAgYm9vbCBpc1BhZ2luYXRpbmdDb2x1
bW5zKCkgY29uc3QgeyByZXR1cm4gbV9jb2x1bW5JbmZvICYmIG1fY29sdW1uSW5mby0+cGFnaW5h
dGlvblVuaXQoKSA9PSBDb2x1bW5JbmZvOjpDb2x1bW47IH0KQEAgLTEzOCw3ICsxMzcsNyBAQCBw
dWJsaWM6CiAgICAgTGF5b3V0U2l6ZSBtX2xpbmVHcmlkUGFnaW5hdGlvbk9yaWdpbjsKIAogI2lm
bmRlZiBOREVCVUcKLSAgICBSZW5kZXJPYmplY3QqIG1fcmVuZGVyZXI7CisgICAgUmVuZGVyRWxl
bWVudCogbV9yZW5kZXJlcjsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckVsZW1lbnQuY3BwCmluZGV4IDg1YTA1YzUuLjYzZTM3M2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTEwMjcsNiArMTAyNywxNCBAQCB2
b2lkIFJlbmRlckVsZW1lbnQ6OndpbGxCZURlc3Ryb3llZCgpCiAKICAgICBkZXN0cm95TGVmdG92
ZXJDaGlsZHJlbigpOwogCisgICAgaWYgKCFkb2N1bWVudEJlaW5nRGVzdHJveWVkKCkgJiYgdmll
dygpLmZyYW1lVmlldygpLmxheW91dFJvb3QoKSA9PSB0aGlzKSB7CisgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICAvLyBUaGlzIGluZGljYXRlcyBhIGZhaWx1cmUgdG8gbGF5
b3V0IHRoZSBjaGlsZCwgd2hpY2ggaXMgd2h5CisgICAgICAgIC8vIHRoZSBsYXlvdXQgcm9vdCBp
cyBzdGlsbCBzZXQgdG8gfHRoaXN8LiBNYWtlIHN1cmUgdG8gY2xlYXIgaXQKKyAgICAgICAgLy8g
c2luY2Ugd2UgYXJlIGdldHRpbmcgZGVzdHJveWVkLgorICAgICAgICB2aWV3KCkuZnJhbWVWaWV3
KCkuY2xlYXJMYXlvdXRSb290KCk7CisgICAgfQorCiAgICAgUmVuZGVyT2JqZWN0Ojp3aWxsQmVE
ZXN0cm95ZWQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cAppbmRleCA3ZGQzZGFkLi5lMDY2NDRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcApAQCAtMTgxNCwyMCArMTgxNCw2IEBAIGJvb2wgUmVuZGVyT2JqZWN0Ojpp
c1NlbGVjdGlvbkJvcmRlcigpIGNvbnN0CiAgICAgcmV0dXJuIHN0ID09IFNlbGVjdGlvblN0YXJ0
IHx8IHN0ID09IFNlbGVjdGlvbkVuZCB8fCBzdCA9PSBTZWxlY3Rpb25Cb3RoOwogfQogCi1pbmxp
bmUgdm9pZCBSZW5kZXJPYmplY3Q6OmNsZWFyTGF5b3V0Um9vdElmTmVlZGVkKCkgY29uc3QKLXsK
LSAgICBpZiAoZG9jdW1lbnRCZWluZ0Rlc3Ryb3llZCgpKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBpZiAodmlldygpLmZyYW1lVmlldygpLmxheW91dFJvb3QoKSA9PSB0aGlzKSB7Ci0gICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAvLyBUaGlzIGluZGljYXRlcyBhIGZhaWx1
cmUgdG8gbGF5b3V0IHRoZSBjaGlsZCwgd2hpY2ggaXMgd2h5Ci0gICAgICAgIC8vIHRoZSBsYXlv
dXQgcm9vdCBpcyBzdGlsbCBzZXQgdG8gfHRoaXN8LiBNYWtlIHN1cmUgdG8gY2xlYXIgaXQKLSAg
ICAgICAgLy8gc2luY2Ugd2UgYXJlIGdldHRpbmcgZGVzdHJveWVkLgotICAgICAgICB2aWV3KCku
ZnJhbWVWaWV3KCkuY2xlYXJMYXlvdXRSb290KCk7Ci0gICAgfQotfQotCiB2b2lkIFJlbmRlck9i
amVjdDo6d2lsbEJlRGVzdHJveWVkKCkKIHsKICAgICAvLyBJZiB0aGlzIHJlbmRlcmVyIGlzIGJl
aW5nIGF1dG9zY3JvbGxlZCwgc3RvcCB0aGUgYXV0b3Njcm9sbCB0aW1lcgpAQCAtMTg3OCw4ICsx
ODY0LDYgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OndpbGxCZURlc3Ryb3llZCgpCiAgICAgICAgIHNl
dEhhc0xheWVyKGZhbHNlKTsKICAgICAgICAgdG9SZW5kZXJMYXllck1vZGVsT2JqZWN0KHRoaXMp
LT5kZXN0cm95TGF5ZXIoKTsKICAgICB9Ci0KLSAgICBjbGVhckxheW91dFJvb3RJZk5lZWRlZCgp
OwogfQogCiB2b2lkIFJlbmRlck9iamVjdDo6aW5zZXJ0ZWRJbnRvVHJlZSgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggYmQ4MjIxNy4uNmYwMjE5ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtOTAyLDcgKzkwMiw2IEBAIHBy
b3RlY3RlZDoKIAogICAgIHZvaWQgYWRqdXN0UmVjdEZvck91dGxpbmVBbmRTaGFkb3coTGF5b3V0
UmVjdCYpIGNvbnN0OwogCi0gICAgdm9pZCBjbGVhckxheW91dFJvb3RJZk5lZWRlZCgpIGNvbnN0
OwogICAgIHZpcnR1YWwgdm9pZCB3aWxsQmVEZXN0cm95ZWQoKTsKIAogICAgIHZpcnR1YWwgYm9v
bCBjYW5CZVJlcGxhY2VkV2l0aElubGluZVJ1bkluKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVmlldy5jcHAKaW5kZXggNWM5Y2MwMS4uMmNkMzU5MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcApAQCAtMTA1OSw3ICsxMDU5LDcgQEAgZmxvYXQg
UmVuZGVyVmlldzo6em9vbUZhY3RvcigpIGNvbnN0CiAgICAgcmV0dXJuIGZyYW1lVmlldygpLmZy
YW1lKCkucGFnZVpvb21GYWN0b3IoKTsKIH0KIAotdm9pZCBSZW5kZXJWaWV3OjpwdXNoTGF5b3V0
U3RhdGUoUmVuZGVyT2JqZWN0JiByb290KQordm9pZCBSZW5kZXJWaWV3OjpwdXNoTGF5b3V0U3Rh
dGUoUmVuZGVyRWxlbWVudCYgcm9vdCkKIHsKICAgICBBU1NFUlQobV9sYXlvdXRTdGF0ZURpc2Fi
bGVDb3VudCA9PSAwKTsKICAgICBBU1NFUlQobV9sYXlvdXRTdGF0ZSA9PSAwKTsKQEAgLTEwNjgs
MTQgKzEwNjgsMTQgQEAgdm9pZCBSZW5kZXJWaWV3OjpwdXNoTGF5b3V0U3RhdGUoUmVuZGVyT2Jq
ZWN0JiByb290KQogICAgIG1fbGF5b3V0U3RhdGUgPSBzdGQ6Om1ha2VfdW5pcXVlPExheW91dFN0
YXRlPihyb290KTsKIH0KIAotYm9vbCBSZW5kZXJWaWV3OjpzaG91bGREaXNhYmxlTGF5b3V0U3Rh
dGVGb3JTdWJ0cmVlKFJlbmRlck9iamVjdCogcmVuZGVyZXIpIGNvbnN0Citib29sIFJlbmRlclZp
ZXc6OnNob3VsZERpc2FibGVMYXlvdXRTdGF0ZUZvclN1YnRyZWUoY29uc3QgUmVuZGVyRWxlbWVu
dCYgcmVuZGVyZXIpIGNvbnN0CiB7Ci0gICAgUmVuZGVyT2JqZWN0KiBvID0gcmVuZGVyZXI7Ci0g
ICAgd2hpbGUgKG8pIHsKKyAgICBhdXRvIG8gPSAmcmVuZGVyZXI7CisgICAgZG8gewogICAgICAg
ICBpZiAoby0+aGFzQ29sdW1ucygpIHx8IG8tPmhhc1RyYW5zZm9ybSgpIHx8IG8tPmhhc1JlZmxl
Y3Rpb24oKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBvID0gby0+Y29udGFp
bmVyKCk7Ci0gICAgfQorICAgIH0gd2hpbGUgKG8pOwogICAgIHJldHVybiBmYWxzZTsKIH0KIApA
QCAtMTIwNCw3ICsxMjA0LDcgQEAgYm9vbCBSZW5kZXJWaWV3OjpoYXNDdXN0b21GaXhlZFBvc2l0
aW9uKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIENvbnRhaW5pbmcKIH0KICNlbmRpZgog
Ci12b2lkIFJlbmRlclZpZXc6OnB1c2hMYXlvdXRTdGF0ZUZvckN1cnJlbnRGbG93VGhyZWFkKGNv
bnN0IFJlbmRlck9iamVjdCYgb2JqZWN0KQordm9pZCBSZW5kZXJWaWV3OjpwdXNoTGF5b3V0U3Rh
dGVGb3JDdXJyZW50Rmxvd1RocmVhZChjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKIHsK
ICAgICBpZiAoIW1fZmxvd1RocmVhZENvbnRyb2xsZXIpCiAgICAgICAgIHJldHVybjsKQEAgLTEy
MTMsNyArMTIxMyw3IEBAIHZvaWQgUmVuZGVyVmlldzo6cHVzaExheW91dFN0YXRlRm9yQ3VycmVu
dEZsb3dUaHJlYWQoY29uc3QgUmVuZGVyT2JqZWN0JiBvYmplY3QpCiAgICAgaWYgKCFjdXJyZW50
Rmxvd1RocmVhZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgY3VycmVudEZsb3dUaHJlYWQtPnB1
c2hGbG93VGhyZWFkTGF5b3V0U3RhdGUob2JqZWN0KTsKKyAgICBjdXJyZW50Rmxvd1RocmVhZC0+
cHVzaEZsb3dUaHJlYWRMYXlvdXRTdGF0ZShyZW5kZXJlcik7CiB9CiAKIHZvaWQgUmVuZGVyVmll
dzo6cG9wTGF5b3V0U3RhdGVGb3JDdXJyZW50Rmxvd1RocmVhZCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclZpZXcuaAppbmRleCA2ZjNiYjdkLi5hNWEzOTdhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJWaWV3LmgKQEAgLTE0MiwxMCArMTQyLDEwIEBAIHB1YmxpYzoKICAgICBi
b29sIGRvaW5nRnVsbFJlcGFpbnQoKSBjb25zdCB7IHJldHVybiBmcmFtZVZpZXcoKS5uZWVkc0Z1
bGxSZXBhaW50KCk7IH0KIAogICAgIC8vIFN1YnRyZWUgcHVzaC9wb3AKLSAgICB2b2lkIHB1c2hM
YXlvdXRTdGF0ZShSZW5kZXJPYmplY3QmKTsKLSAgICB2b2lkIHBvcExheW91dFN0YXRlKFJlbmRl
ck9iamVjdCYpIHsgcmV0dXJuIHBvcExheW91dFN0YXRlKCk7IH0gLy8gSnVzdCBkb2luZyB0aGlz
IHRvIGtlZXAgcG9wTGF5b3V0U3RhdGUoKSBwcml2YXRlIGFuZCB0byBtYWtlIHRoZSBzdWJ0cmVl
IGNhbGxzIHN5bW1ldHJpY2FsLgorICAgIHZvaWQgcHVzaExheW91dFN0YXRlKFJlbmRlckVsZW1l
bnQmKTsKKyAgICB2b2lkIHBvcExheW91dFN0YXRlKFJlbmRlckVsZW1lbnQmKSB7IHJldHVybiBw
b3BMYXlvdXRTdGF0ZSgpOyB9IC8vIEp1c3QgZG9pbmcgdGhpcyB0byBrZWVwIHBvcExheW91dFN0
YXRlKCkgcHJpdmF0ZSBhbmQgdG8gbWFrZSB0aGUgc3VidHJlZSBjYWxscyBzeW1tZXRyaWNhbC4K
IAotICAgIGJvb2wgc2hvdWxkRGlzYWJsZUxheW91dFN0YXRlRm9yU3VidHJlZShSZW5kZXJPYmpl
Y3QqKSBjb25zdDsKKyAgICBib29sIHNob3VsZERpc2FibGVMYXlvdXRTdGF0ZUZvclN1YnRyZWUo
Y29uc3QgUmVuZGVyRWxlbWVudCYpIGNvbnN0OwogCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIGxh
eW91dFN0YXRlIHNob3VsZCBiZSB1c2VkIGZvciBpdHMgY2FjaGVkIG9mZnNldCBhbmQgY2xpcC4K
ICAgICBib29sIGxheW91dFN0YXRlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbGF5b3V0U3Rh
dGVEaXNhYmxlQ291bnQgPT0gMCAmJiBtX2xheW91dFN0YXRlOyB9CkBAIC0yOTIsNyArMjkyLDcg
QEAgcHJpdmF0ZToKICAgICB2b2lkIGNoZWNrTGF5b3V0U3RhdGUoY29uc3QgTGF5b3V0U3RhdGUm
KTsKICNlbmRpZgogCi0gICAgdm9pZCBwdXNoTGF5b3V0U3RhdGVGb3JDdXJyZW50Rmxvd1RocmVh
ZChjb25zdCBSZW5kZXJPYmplY3QmKTsKKyAgICB2b2lkIHB1c2hMYXlvdXRTdGF0ZUZvckN1cnJl
bnRGbG93VGhyZWFkKGNvbnN0IFJlbmRlckVsZW1lbnQmKTsKICAgICB2b2lkIHBvcExheW91dFN0
YXRlRm9yQ3VycmVudEZsb3dUaHJlYWQoKTsKICAgICAKICAgICBmcmllbmQgY2xhc3MgTGF5b3V0
U3RhdGVNYWludGFpbmVyOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244932</attachid>
            <date>2015-01-19 15:29:24 -0800</date>
            <delta_ts>2015-01-19 16:39:34 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>land-126878.diff</filename>
            <type>text/plain</type>
            <size>11258</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4YmMyNDdkLi5iNjc2ZGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYg
QEAKKzIwMTUtMDEtMTkgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAg
ICAgIExheW91dFN0YXRlIGFuZCBzdWJ0cmVlIGxheW91dCBjb2RlIHNob3VsZCB1c2UgUmVuZGVy
RWxlbWVudC4KKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyNjg3OD4KKworICAgICAg
ICBTdWJ0cmVlIGxheW91dCB3aWxsIG5ldmVyIGJlZ2luIGF0IGEgUmVuZGVyVGV4dCwgc28gdGln
aHRlbiB1cAorICAgICAgICB0aGUgY29kZSB0byBvcGVyYXRlIG9uIFJlbmRlckVsZW1lbnRzIGlu
c3RlYWQgb2YgUmVuZGVyT2JqZWN0cy4KKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2
aXN0by4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxMYXlvdXQpOgor
ICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmll
dzo6bGF5b3V0Um9vdCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmxheW91dCk6Cisg
ICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKworICAgICAgICAgICAgTWFrZSBGcmFtZVZpZXc6
OmxheW91dFJvb3QoKSByZXR1cm4gUmVuZGVyRWxlbWVudCouCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJFbGVtZW50Ojp3
aWxsQmVEZXN0cm95ZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojp3aWxsQmVEZXN0cm95ZWQpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKworICAgICAgICAgICAgTW92ZSBzdWJ0cmVl
IGxheW91dCByb290IGNsZWFyaW5nIGxvZ2ljIGluIHdpbGxCZURlc3Ryb3llZCgpCisgICAgICAg
ICAgICBmcm9tIFJlbmRlck9iamVjdCB0byBSZW5kZXJFbGVtZW50LgorCisgICAgICAgICogcmVu
ZGVyaW5nL0xheW91dFN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFN0YXRlOjpM
YXlvdXRTdGF0ZSk6CisgICAgICAgICogcmVuZGVyaW5nL0xheW91dFN0YXRlLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclZpZXcuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmll
dy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWV3OjpwdXNoTGF5b3V0U3RhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlldzo6cHVzaExheW91dFN0YXRlRm9yQ3VycmVudEZs
b3dUaHJlYWQpOgorCisgICAgICAgICAgICBNYWtlIGFsbCBvZiB0aGVzZSBmdW5jdGlvbnMgdGFr
ZSBSZW5kZXJFbGVtZW50IGluc3RlYWQgb2YKKyAgICAgICAgICAgIFJlbmRlck9iamVjdCBzaW5j
ZSBsYXlvdXQgbmV2ZXIgc3RhcnRzIGZyb20gYSBSZW5kZXJUZXh0LgorCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJWaWV3OjpzaG91bGREaXNhYmxlTGF5b3V0U3RhdGVGb3JTdWJ0cmVlKToKKwor
ICAgICAgICAgICAgVHdlYWsgbG9vcCBzaW5jZSBpdCdzIG5ldmVyIG51bGwgb24gZmlyc3QgaXRl
cmF0aW9uLgorCiAyMDE1LTAxLTE2ICBSb2dlciBGb25nICA8cm9nZXJfZm9uZ0BhcHBsZS5jb20+
CiAKICAgICAgICAgV2ViR0wyOiBTdXBwb3J0IHdlYmdsMiBjb250ZXh0IGNyZWF0aW9uLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3Bw
CmluZGV4IGEyN2E5NDYuLjc0OTM4ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTI4Miw3ICsyODIsNyBAQCB2b2lk
IEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZEludmFsaWRhdGVMYXlvdXQoRnJhbWUmIGZyYW1l
KQogCiB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxMYXlvdXQoRnJhbWUmIGZyYW1l
KQogewotICAgIFJlbmRlck9iamVjdCogcm9vdCA9IGZyYW1lLnZpZXcoKS0+bGF5b3V0Um9vdCgp
OworICAgIFJlbmRlckVsZW1lbnQqIHJvb3QgPSBmcmFtZS52aWV3KCktPmxheW91dFJvb3QoKTsK
ICAgICBib29sIHBhcnRpYWxMYXlvdXQgPSAhIXJvb3Q7CiAKICAgICBpZiAoIXBhcnRpYWxMYXlv
dXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggMmQ5ODI2Mi4uYmI0YTA5OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTA4Myw5ICsxMDgzLDkgQEAgdm9pZCBGcmFt
ZVZpZXc6OnNldElzSW5XaW5kb3coYm9vbCBpc0luV2luZG93KQogICAgICAgICByZW5kZXJWaWV3
LT5zZXRJc0luV2luZG93KGlzSW5XaW5kb3cpOwogfQogCi1SZW5kZXJPYmplY3QqIEZyYW1lVmll
dzo6bGF5b3V0Um9vdChib29sIG9ubHlEdXJpbmdMYXlvdXQpIGNvbnN0CitSZW5kZXJFbGVtZW50
KiBGcmFtZVZpZXc6OmxheW91dFJvb3QoYm9vbCBvbmx5RHVyaW5nTGF5b3V0KSBjb25zdAogewot
ICAgIHJldHVybiBvbmx5RHVyaW5nTGF5b3V0ICYmIGxheW91dFBlbmRpbmcoKSA/IDAgOiBtX2xh
eW91dFJvb3Q7CisgICAgcmV0dXJuIG9ubHlEdXJpbmdMYXlvdXQgJiYgbGF5b3V0UGVuZGluZygp
ID8gbnVsbHB0ciA6IG1fbGF5b3V0Um9vdDsKIH0KIAogaW5saW5lIHZvaWQgRnJhbWVWaWV3Ojpm
b3JjZUxheW91dFBhcmVudFZpZXdJZk5lZWRlZCgpCkBAIC0xMzAxLDcgKzEzMDEsNyBAQCB2b2lk
IEZyYW1lVmlldzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlKQogCiAgICAgICAgIGJvb2wgZGlz
YWJsZUxheW91dFN0YXRlID0gZmFsc2U7CiAgICAgICAgIGlmIChzdWJ0cmVlKSB7Ci0gICAgICAg
ICAgICBkaXNhYmxlTGF5b3V0U3RhdGUgPSByb290LT52aWV3KCkuc2hvdWxkRGlzYWJsZUxheW91
dFN0YXRlRm9yU3VidHJlZShyb290KTsKKyAgICAgICAgICAgIGRpc2FibGVMYXlvdXRTdGF0ZSA9
IHJvb3QtPnZpZXcoKS5zaG91bGREaXNhYmxlTGF5b3V0U3RhdGVGb3JTdWJ0cmVlKCpyb290KTsK
ICAgICAgICAgICAgIHJvb3QtPnZpZXcoKS5wdXNoTGF5b3V0U3RhdGUoKnJvb3QpOwogICAgICAg
ICB9CiAgICAgICAgIExheW91dFN0YXRlRGlzYWJsZXIgbGF5b3V0U3RhdGVEaXNhYmxlcihkaXNh
YmxlTGF5b3V0U3RhdGUgPyAmcm9vdC0+dmlldygpIDogMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
aAppbmRleCBmOGYwZWYxLi4wNGY2YzlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTEx
NCw3ICsxMTQsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBsYXlvdXRQZW5kaW5nKCkgY29uc3Q7CiAg
ICAgYm9vbCBpc0luTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRQaGFzZSA9PSBJbkxh
eW91dDsgfQogCi0gICAgUmVuZGVyT2JqZWN0KiBsYXlvdXRSb290KGJvb2wgb25seUR1cmluZ0xh
eW91dCA9IGZhbHNlKSBjb25zdDsKKyAgICBSZW5kZXJFbGVtZW50KiBsYXlvdXRSb290KGJvb2wg
b25seUR1cmluZ0xheW91dCA9IGZhbHNlKSBjb25zdDsKICAgICB2b2lkIGNsZWFyTGF5b3V0Um9v
dCgpIHsgbV9sYXlvdXRSb290ID0gbnVsbHB0cjsgfQogICAgIGludCBsYXlvdXRDb3VudCgpIGNv
bnN0IHsgcmV0dXJuIG1fbGF5b3V0Q291bnQ7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9M
YXlvdXRTdGF0ZS5jcHAKaW5kZXggMTdkMDYwMS4uZTUzNDMyMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvTGF5b3V0U3RhdGUuY3BwCkBAIC0xMjIsNyArMTIyLDcgQEAgTGF5b3V0U3RhdGU6
OkxheW91dFN0YXRlKHN0ZDo6dW5pcXVlX3B0cjxMYXlvdXRTdGF0ZT4gbmV4dCwgUmVuZGVyQm94
KiByZW5kZXJlciwKICAgICAvLyBGSVhNRTogPGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzNDQzPiBBcHBseSBjb250cm9sIGNsaXAgaWYgcHJlc2VudC4KIH0KIAotTGF5
b3V0U3RhdGU6OkxheW91dFN0YXRlKFJlbmRlck9iamVjdCYgcm9vdCkKK0xheW91dFN0YXRlOjpM
YXlvdXRTdGF0ZShSZW5kZXJFbGVtZW50JiByb290KQogICAgIDogbV9jbGlwcGVkKGZhbHNlKQog
ICAgICwgbV9pc1BhZ2luYXRlZChmYWxzZSkKICAgICAsIG1fcGFnZUxvZ2ljYWxIZWlnaHRDaGFu
Z2VkKGZhbHNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0
YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaAppbmRleCBkMGU3
YTllLi44ZjhmOWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0
U3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuaApAQCAt
MzcsNyArMzcsNiBAQCBjbGFzcyBSZW5kZXJCbG9ja0Zsb3c7CiBjbGFzcyBSZW5kZXJCb3g7CiBj
bGFzcyBSZW5kZXJFbGVtZW50OwogY2xhc3MgUmVuZGVyRmxvd1RocmVhZDsKLWNsYXNzIFJlbmRl
ck9iamVjdDsKIGNsYXNzIFNoYXBlSW5zaWRlSW5mbzsKIAogY2xhc3MgTGF5b3V0U3RhdGUgewpA
QCAtNjEsNyArNjAsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgTGF5b3V0U3RhdGUoc3RkOjp1
bmlxdWVfcHRyPExheW91dFN0YXRlPiwgUmVuZGVyQm94KiwgY29uc3QgTGF5b3V0U2l6ZSYgb2Zm
c2V0LCBMYXlvdXRVbml0IHBhZ2VIZWlnaHQsIGJvb2wgcGFnZUhlaWdodENoYW5nZWQpOwotICAg
IGV4cGxpY2l0IExheW91dFN0YXRlKFJlbmRlck9iamVjdCYpOworICAgIGV4cGxpY2l0IExheW91
dFN0YXRlKFJlbmRlckVsZW1lbnQmKTsKIAogICAgIHZvaWQgY2xlYXJQYWdpbmF0aW9uSW5mb3Jt
YXRpb24oKTsKICAgICBib29sIGlzUGFnaW5hdGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1BhZ2lu
YXRlZDsgfQpAQCAtMTI5LDcgKzEyOCw3IEBAIHB1YmxpYzoKICAgICBSZW5kZXJGbG93VGhyZWFk
KiBtX2N1cnJlbnRSZW5kZXJGbG93VGhyZWFkIHsgbnVsbHB0ciB9OwogCiAjaWZuZGVmIE5ERUJV
RwotICAgIFJlbmRlck9iamVjdCogbV9yZW5kZXJlcjsKKyAgICBSZW5kZXJFbGVtZW50KiBtX3Jl
bmRlcmVyOwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxl
bWVudC5jcHAKaW5kZXggOWQ3MTY5ZC4uMDFhMjZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtMTA2NCw2ICsxMDY0LDE0IEBAIHZvaWQgUmVuZGVy
RWxlbWVudDo6d2lsbEJlRGVzdHJveWVkKCkKICAgICBpZiAoaGFzQ291bnRlck5vZGVNYXAoKSkK
ICAgICAgICAgUmVuZGVyQ291bnRlcjo6ZGVzdHJveUNvdW50ZXJOb2RlcygqdGhpcyk7CiAKKyAg
ICBpZiAoIWRvY3VtZW50QmVpbmdEZXN0cm95ZWQoKSAmJiB2aWV3KCkuZnJhbWVWaWV3KCkubGF5
b3V0Um9vdCgpID09IHRoaXMpIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
ICAgIC8vIFRoaXMgaW5kaWNhdGVzIGEgZmFpbHVyZSB0byBsYXlvdXQgdGhlIGNoaWxkLCB3aGlj
aCBpcyB3aHkKKyAgICAgICAgLy8gdGhlIGxheW91dCByb290IGlzIHN0aWxsIHNldCB0byB8dGhp
c3wuIE1ha2Ugc3VyZSB0byBjbGVhciBpdAorICAgICAgICAvLyBzaW5jZSB3ZSBhcmUgZ2V0dGlu
ZyBkZXN0cm95ZWQuCisgICAgICAgIHZpZXcoKS5mcmFtZVZpZXcoKS5jbGVhckxheW91dFJvb3Qo
KTsKKyAgICB9CisKICAgICBSZW5kZXJPYmplY3Q6OndpbGxCZURlc3Ryb3llZCgpOwogCiAjaWYg
IUFTU0VSVF9ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cAppbmRleCAzMmY5NjlhLi44YjhiMTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcApAQCAtMTg2NSwyMCArMTg2NSw2IEBAIGJvb2wgUmVuZGVyT2JqZWN0Ojpp
c1NlbGVjdGlvbkJvcmRlcigpIGNvbnN0CiAgICAgICAgIHx8IHZpZXcoKS5zZWxlY3Rpb25VbnNw
bGl0RW5kKCkgPT0gdGhpczsKIH0KIAotaW5saW5lIHZvaWQgUmVuZGVyT2JqZWN0OjpjbGVhckxh
eW91dFJvb3RJZk5lZWRlZCgpIGNvbnN0Ci17Ci0gICAgaWYgKGRvY3VtZW50QmVpbmdEZXN0cm95
ZWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKHZpZXcoKS5mcmFtZVZpZXcoKS5sYXlv
dXRSb290KCkgPT0gdGhpcykgewotICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAg
ICAgLy8gVGhpcyBpbmRpY2F0ZXMgYSBmYWlsdXJlIHRvIGxheW91dCB0aGUgY2hpbGQsIHdoaWNo
IGlzIHdoeQotICAgICAgICAvLyB0aGUgbGF5b3V0IHJvb3QgaXMgc3RpbGwgc2V0IHRvIHx0aGlz
fC4gTWFrZSBzdXJlIHRvIGNsZWFyIGl0Ci0gICAgICAgIC8vIHNpbmNlIHdlIGFyZSBnZXR0aW5n
IGRlc3Ryb3llZC4KLSAgICAgICAgdmlldygpLmZyYW1lVmlldygpLmNsZWFyTGF5b3V0Um9vdCgp
OwotICAgIH0KLX0KLQogdm9pZCBSZW5kZXJPYmplY3Q6OndpbGxCZURlc3Ryb3llZCgpCiB7CiAg
ICAgLy8gRm9yIGFjY2Vzc2liaWxpdHkgbWFuYWdlbWVudCwgbm90aWZ5IHRoZSBwYXJlbnQgb2Yg
dGhlIGltbWluZW50IGNoYW5nZSB0byBpdHMgY2hpbGQgc2V0LgpAQCAtMTkwMSw4ICsxODg3LDYg
QEAgdm9pZCBSZW5kZXJPYmplY3Q6OndpbGxCZURlc3Ryb3llZCgpCiAgICAgICAgIHNldEhhc0xh
eWVyKGZhbHNlKTsKICAgICAgICAgZG93bmNhc3Q8UmVuZGVyTGF5ZXJNb2RlbE9iamVjdD4oKnRo
aXMpLmRlc3Ryb3lMYXllcigpOwogICAgIH0KLQotICAgIGNsZWFyTGF5b3V0Um9vdElmTmVlZGVk
KCk7CiB9CiAKIHZvaWQgUmVuZGVyT2JqZWN0OjppbnNlcnRlZEludG9UcmVlKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCAxYTI3Y2E3Li42MjZhMjU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC04NTYsNyArODU2LDYgQEAg
cHJvdGVjdGVkOgogCiAgICAgdm9pZCBhZGp1c3RSZWN0Rm9yT3V0bGluZUFuZFNoYWRvdyhMYXlv
dXRSZWN0JikgY29uc3Q7CiAKLSAgICB2b2lkIGNsZWFyTGF5b3V0Um9vdElmTmVlZGVkKCkgY29u
c3Q7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxCZURlc3Ryb3llZCgpOwogCiAgICAgdmlydHVhbCB2
b2lkIGluc2VydGVkSW50b1RyZWUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3
LmNwcAppbmRleCAzMjEyZGIyLi43OWQ2NmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZXcuY3BwCkBAIC0xMTg2LDcgKzExODYsNyBAQCBmbG9hdCBSZW5kZXJWaWV3Ojp6b29t
RmFjdG9yKCkgY29uc3QKICAgICByZXR1cm4gZnJhbWVWaWV3KCkuZnJhbWUoKS5wYWdlWm9vbUZh
Y3RvcigpOwogfQogCi12b2lkIFJlbmRlclZpZXc6OnB1c2hMYXlvdXRTdGF0ZShSZW5kZXJPYmpl
Y3QmIHJvb3QpCit2b2lkIFJlbmRlclZpZXc6OnB1c2hMYXlvdXRTdGF0ZShSZW5kZXJFbGVtZW50
JiByb290KQogewogICAgIEFTU0VSVChtX2xheW91dFN0YXRlRGlzYWJsZUNvdW50ID09IDApOwog
ICAgIEFTU0VSVChtX2xheW91dFN0YXRlID09IDApOwpAQCAtMTE5NSw5ICsxMTk1LDkgQEAgdm9p
ZCBSZW5kZXJWaWV3OjpwdXNoTGF5b3V0U3RhdGUoUmVuZGVyT2JqZWN0JiByb290KQogICAgIHB1
c2hMYXlvdXRTdGF0ZUZvckN1cnJlbnRGbG93VGhyZWFkKHJvb3QpOwogfQogCi1ib29sIFJlbmRl
clZpZXc6OnNob3VsZERpc2FibGVMYXlvdXRTdGF0ZUZvclN1YnRyZWUoUmVuZGVyT2JqZWN0KiBy
ZW5kZXJlcikgY29uc3QKK2Jvb2wgUmVuZGVyVmlldzo6c2hvdWxkRGlzYWJsZUxheW91dFN0YXRl
Rm9yU3VidHJlZShjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlcikgY29uc3QKIHsKLSAgICBS
ZW5kZXJPYmplY3QqIG8gPSByZW5kZXJlcjsKKyAgICBjb25zdCBSZW5kZXJFbGVtZW50KiBvID0g
JnJlbmRlcmVyOwogICAgIHdoaWxlIChvKSB7CiAgICAgICAgIGlmIChvLT5oYXNUcmFuc2Zvcm0o
KSB8fCBvLT5oYXNSZWZsZWN0aW9uKCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTEz
MDAsMTggKzEzMDAsMTggQEAgRmxvd1RocmVhZENvbnRyb2xsZXImIFJlbmRlclZpZXc6OmZsb3dU
aHJlYWRDb250cm9sbGVyKCkKICAgICByZXR1cm4gKm1fZmxvd1RocmVhZENvbnRyb2xsZXI7CiB9
CiAKLXZvaWQgUmVuZGVyVmlldzo6cHVzaExheW91dFN0YXRlRm9yQ3VycmVudEZsb3dUaHJlYWQo
Y29uc3QgUmVuZGVyT2JqZWN0JiBvYmplY3QpCit2b2lkIFJlbmRlclZpZXc6OnB1c2hMYXlvdXRT
dGF0ZUZvckN1cnJlbnRGbG93VGhyZWFkKGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQog
ewogICAgIGlmICghbV9mbG93VGhyZWFkQ29udHJvbGxlcikKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgUmVuZGVyRmxvd1RocmVhZCogY3VycmVudEZsb3dUaHJlYWQgPSBvYmplY3QuZmxvd1RocmVh
ZENvbnRhaW5pbmdCbG9jaygpOworICAgIFJlbmRlckZsb3dUaHJlYWQqIGN1cnJlbnRGbG93VGhy
ZWFkID0gcmVuZGVyZXIuZmxvd1RocmVhZENvbnRhaW5pbmdCbG9jaygpOwogICAgIGlmICghY3Vy
cmVudEZsb3dUaHJlYWQpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fbGF5b3V0U3RhdGUtPnNl
dEN1cnJlbnRSZW5kZXJGbG93VGhyZWFkKGN1cnJlbnRGbG93VGhyZWFkKTsKIAotICAgIGN1cnJl
bnRGbG93VGhyZWFkLT5wdXNoRmxvd1RocmVhZExheW91dFN0YXRlKG9iamVjdCk7CisgICAgY3Vy
cmVudEZsb3dUaHJlYWQtPnB1c2hGbG93VGhyZWFkTGF5b3V0U3RhdGUocmVuZGVyZXIpOwogfQog
CiB2b2lkIFJlbmRlclZpZXc6OnBvcExheW91dFN0YXRlRm9yQ3VycmVudEZsb3dUaHJlYWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKaW5kZXggZDRjMzY5MC4uMjUzNGI4OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5oCkBAIC0xMzcsMTAgKzEzNywxMCBA
QCBwdWJsaWM6CiAgICAgYm9vbCBkb2luZ0Z1bGxSZXBhaW50KCkgY29uc3QgeyByZXR1cm4gZnJh
bWVWaWV3KCkubmVlZHNGdWxsUmVwYWludCgpOyB9CiAKICAgICAvLyBTdWJ0cmVlIHB1c2gvcG9w
Ci0gICAgdm9pZCBwdXNoTGF5b3V0U3RhdGUoUmVuZGVyT2JqZWN0Jik7Ci0gICAgdm9pZCBwb3BM
YXlvdXRTdGF0ZShSZW5kZXJPYmplY3QmKSB7IHJldHVybiBwb3BMYXlvdXRTdGF0ZSgpOyB9IC8v
IEp1c3QgZG9pbmcgdGhpcyB0byBrZWVwIHBvcExheW91dFN0YXRlKCkgcHJpdmF0ZSBhbmQgdG8g
bWFrZSB0aGUgc3VidHJlZSBjYWxscyBzeW1tZXRyaWNhbC4KKyAgICB2b2lkIHB1c2hMYXlvdXRT
dGF0ZShSZW5kZXJFbGVtZW50Jik7CisgICAgdm9pZCBwb3BMYXlvdXRTdGF0ZShSZW5kZXJFbGVt
ZW50JikgeyByZXR1cm4gcG9wTGF5b3V0U3RhdGUoKTsgfSAvLyBKdXN0IGRvaW5nIHRoaXMgdG8g
a2VlcCBwb3BMYXlvdXRTdGF0ZSgpIHByaXZhdGUgYW5kIHRvIG1ha2UgdGhlIHN1YnRyZWUgY2Fs
bHMgc3ltbWV0cmljYWwuCiAKLSAgICBib29sIHNob3VsZERpc2FibGVMYXlvdXRTdGF0ZUZvclN1
YnRyZWUoUmVuZGVyT2JqZWN0KikgY29uc3Q7CisgICAgYm9vbCBzaG91bGREaXNhYmxlTGF5b3V0
U3RhdGVGb3JTdWJ0cmVlKGNvbnN0IFJlbmRlckVsZW1lbnQmKSBjb25zdDsKIAogICAgIC8vIFJl
dHVybnMgdHJ1ZSBpZiBsYXlvdXRTdGF0ZSBzaG91bGQgYmUgdXNlZCBmb3IgaXRzIGNhY2hlZCBv
ZmZzZXQgYW5kIGNsaXAuCiAgICAgYm9vbCBsYXlvdXRTdGF0ZUVuYWJsZWQoKSBjb25zdCB7IHJl
dHVybiBtX2xheW91dFN0YXRlRGlzYWJsZUNvdW50ID09IDAgJiYgbV9sYXlvdXRTdGF0ZTsgfQpA
QCAtMjkwLDcgKzI5MCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjaGVja0xheW91dFN0YXRlKGNv
bnN0IExheW91dFN0YXRlJik7CiAjZW5kaWYKIAotICAgIHZvaWQgcHVzaExheW91dFN0YXRlRm9y
Q3VycmVudEZsb3dUaHJlYWQoY29uc3QgUmVuZGVyT2JqZWN0Jik7CisgICAgdm9pZCBwdXNoTGF5
b3V0U3RhdGVGb3JDdXJyZW50Rmxvd1RocmVhZChjb25zdCBSZW5kZXJFbGVtZW50Jik7CiAgICAg
dm9pZCBwb3BMYXlvdXRTdGF0ZUZvckN1cnJlbnRGbG93VGhyZWFkKCk7CiAKICAgICBmcmllbmQg
Y2xhc3MgTGF5b3V0U3RhdGVNYWludGFpbmVyOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>