<?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>109671</bug_id>
          
          <creation_ts>2013-02-13 01:46:31 -0800</creation_ts>
          <short_desc>[chromium] Fix scaling in WebViewImpl::handleGestureEvent</short_desc>
          <delta_ts>2013-02-14 13:57:48 -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>New Bugs</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>
          <dependson>109816</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexandre Elias">aelias</reporter>
          <assigned_to name="Alexandre Elias">aelias</assigned_to>
          <cc>aelias</cc>
    
    <cc>atwilson</cc>
    
    <cc>dglazkov</cc>
    
    <cc>jamesr</cc>
    
    <cc>peter+ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yusufo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>831725</commentid>
    <comment_count>0</comment_count>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2013-02-13 01:46:31 -0800</bug_when>
    <thetext>[chromium] Fix scaling in WebViewImpl::handleGestureEvent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831726</commentid>
    <comment_count>1</comment_count>
      <attachid>188033</attachid>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2013-02-13 01:50:08 -0800</bug_when>
    <thetext>Created attachment 188033
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831730</commentid>
    <comment_count>2</comment_count>
      <attachid>188033</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-13 02:02:34 -0800</bug_when>
    <thetext>Comment on attachment 188033
Patch

Attachment 188033 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16527060</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831731</commentid>
    <comment_count>3</comment_count>
      <attachid>188033</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-13 02:03:03 -0800</bug_when>
    <thetext>Comment on attachment 188033
Patch

Attachment 188033 did not pass cr-linux-debug-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16537043</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>831733</commentid>
    <comment_count>4</comment_count>
      <attachid>188033</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2013-02-13 02:08:31 -0800</bug_when>
    <thetext>Comment on attachment 188033
Patch

Attachment 188033 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/16546044</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832184</commentid>
    <comment_count>5</comment_count>
      <attachid>188145</attachid>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2013-02-13 12:25:37 -0800</bug_when>
    <thetext>Created attachment 188145
Patch

Fix LinkHighlightTest compile</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832381</commentid>
    <comment_count>6</comment_count>
      <attachid>188145</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-13 14:56:19 -0800</bug_when>
    <thetext>Comment on attachment 188145
Patch

Clearing flags on attachment: 188145

Committed r142808: &lt;http://trac.webkit.org/changeset/142808&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832382</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-13 14:56:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832984</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-14 05:05:11 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 109816</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832986</commentid>
    <comment_count>9</comment_count>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2013-02-14 05:06:24 -0800</bug_when>
    <thetext>I&apos;m seeing crashes on the chromium webkit canary bots (http://test-results.appspot.com/dashboards/flakiness_dashboard.html#showExpectations=true&amp;tests=fast%2Fevents%2Ftouch%2Fgesture%2Fpad-gesture-cancel.html)

crash log for DumpRenderTree (pid 2288):
STDOUT: &lt;empty&gt;
STDERR: SHOULD NEVER BE REACHED
STDERR: ../../third_party/WebKit/Source/WebKit/chromium/src/WebInputEventConversion.cpp(216) : WebKit::PlatformGestureEventBuilder::PlatformGestureEventBuilder(WebCore::Widget *, const WebKit::WebGestureEvent &amp;)
STDERR: 1   0x5fa82eb WebKit::PlatformGestureEventBuilder::PlatformGestureEventBuilder(WebCore::Widget*, WebKit::WebGestureEvent const&amp;)
STDERR: 2   0x5fa7ec7 WebKit::PlatformGestureEventBuilder::PlatformGestureEventBuilder(WebCore::Widget*, WebKit::WebGestureEvent const&amp;)
STDERR: 3   0x600f5b7 WebKit::WebViewImpl::handleGestureEvent(WebKit::WebGestureEvent const&amp;)
STDERR: 4   0x601092f non-virtual thunk to WebKit::WebViewImpl::handleGestureEvent(WebKit::WebGestureEvent const&amp;)
STDERR: 5   0x5ed2b89 WebKit::PageWidgetDelegate::handleInputEvent(WebCore::Page*, WebKit::PageWidgetEventHandler&amp;, WebKit::WebInputEvent const&amp;)
STDERR: 6   0x6017c0b WebKit::WebViewImpl::handleInputEvent(WebKit::WebInputEvent const&amp;)
STDERR: 7   0x4439793 WebTestRunner::EventSender::gestureFlingStart(std::vector&lt;WebTestRunner::CppVariant, std::allocator&lt;WebTestRunner::CppVariant&gt; &gt; const&amp;, WebTestRunner::CppVariant*)
STDERR: 8   0x4442ddb WebTestRunner::CppBoundClass::MemberCallback&lt;WebTestRunner::EventSender&gt;::run(std::vector&lt;WebTestRunner::CppVariant, std::allocator&lt;WebTestRunner::CppVariant&gt; &gt; const&amp;, WebTestRunner::CppVariant*)
STDERR: 9   0x442b6ea WebTestRunner::CppBoundClass::invoke(void*, _NPVariant const*, unsigned long, _NPVariant*)
STDERR: 10  0x442b20b WebTestRunner::CppNPObject::invoke(NPObject*, void*, _NPVariant const*, unsigned int, _NPVariant*)
STDERR: 11  0x85eee2f _ZN7WebCoreL18npObjectInvokeImplERKN2v89ArgumentsENS_18InvokeFunctionTypeE
STDERR: 12  0x85ee0cc WebCore::npObjectMethodHandler(v8::Arguments const&amp;)
STDERR: 13  0x2f2ca36 _ZN2v88internalL19HandleApiCallHelperILb0EEEPNS0_11MaybeObjectENS0_12_GLOBAL__N_116BuiltinArgumentsILNS0_21BuiltinExtraArgumentsE1EEEPNS0_7IsolateE
STDERR: 14  0x2f2c4da _ZN2v88internalL26Builtin_Impl_HandleApiCallENS0_12_GLOBAL__N_116BuiltinArgumentsILNS0_21BuiltinExtraArgumentsE1EEEPNS0_7IsolateE
STDERR: 15  0x2f21dfc _ZN2v88internalL21Builtin_HandleApiCallENS0_12_GLOBAL__N_116BuiltinArgumentsILNS0_21BuiltinExtraArgumentsE1EEEPNS0_7IsolateE
STDERR: 16  0x4870a216
STDERR: Received signal 11 SEGV_MAPERR 0000bbadbeef
STDERR:  [0x000002955f8f]
STDERR:  [0x000002955f2b]
STDERR:  [0x000002955bbb]
STDERR:  [0x000096f1059b]
STDERR:  [0x0000ffffffff]
STDERR:  [0x000005fa7ec7]
STDERR:  [0x00000600f5b7]
STDERR:  [0x00000601092f]
STDERR:  [0x000005ed2b89]
STDERR:  [0x000006017c0b]
STDERR:  [0x000004439793]
STDERR:  [0x000004442ddb]
STDERR:  [0x00000442b6ea]
STDERR:  [0x00000442b20b]
STDERR:  [0x0000085eee2f]
STDERR:  [0x0000085ee0cc]
STDERR:  [0x000002f2ca36]
STDERR:  [0x000002f2c4da]
STDERR:  [0x000002f21dfc]
STDERR:  [0x00004870a216]
STDERR: ax: bbadbeef, bx: 79e1aa20, cx: 25052925, dx: 25052925
STDERR: di: 0, si: 916ddec, bp: c0082b18, sp: c0082a40, ss: 23, flags: 10282
STDERR: ip: 5fa82f5, cs: 1b, ds: 23, es: 23, fs: 0, gs: f</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833339</commentid>
    <comment_count>10</comment_count>
      <attachid>188410</attachid>
    <who name="Alexandre Elias">aelias</who>
    <bug_when>2013-02-14 12:56:36 -0800</bug_when>
    <thetext>Created attachment 188410
Patch

Reupload with fling assertion fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833387</commentid>
    <comment_count>11</comment_count>
      <attachid>188410</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-14 13:57:43 -0800</bug_when>
    <thetext>Comment on attachment 188410
Patch

Clearing flags on attachment: 188410

Committed r142913: &lt;http://trac.webkit.org/changeset/142913&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>833388</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-14 13:57:48 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188033</attachid>
            <date>2013-02-13 01:50:08 -0800</date>
            <delta_ts>2013-02-13 12:25:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109671-20130213014637.patch</filename>
            <type>text/plain</type>
            <size>12544</size>
            <attacher name="Alexandre Elias">aelias</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDZmZjlhZGUzY2VkNWRhMjMzZjAyODU4NDk2NzA0NDE2MDY1ZTMxMGYuLmY5ZWIyMTA4NzI3Zjk0
ZDRmYmQ1NjdkNjgzMGVlNmI4ZjcyNmY0YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTMtMDItMTMgIEFsZXhhbmRyZSBFbGlhcyAgPGFlbGlhc0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBGaXggc2NhbGluZyBpbiBXZWJWaWV3SW1w
bDo6aGFuZGxlR2VzdHVyZUV2ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDk2NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNeSBsYXN0IHBhdGNoIGJyb2tlIGEgYnVuY2ggb2YgdGhpbmdzIGluIGhh
bmRsZUdlc3R1cmVFdmVudCB0aGF0CisgICAgICAgIGFzc3VtZWQgdGhlIGV2ZW50IGNhbWUgaW4g
c2NhbGVkLCBtb3N0IG5vdGFibHkgdGFwIGhpZ2hsaWdodCBhbmQKKyAgICAgICAgZG91YmxlLXRh
cCB6b29tLiBTd2l0Y2ggdGhvc2UgdG8gUGxhdGZvcm1HZXN0dXJlRXZlbnQuCisKKyAgICAgICAg
KiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6aGFu
ZGxlR2VzdHVyZUV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmJlc3RUYXBO
b2RlKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmVuYWJsZVRhcEhpZ2hsaWdodCk6
CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmg6CisgICAgICAgIChXZWJWaWV3SW1wbCk6Cisg
ICAgICAgICogdGVzdHMvTGlua0hpZ2hsaWdodFRlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VEVTVCk6CisKIDIwMTMtMDItMTIgIEpvY2hlbiBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgRGlzYWJsaW5nIFdlYkZyYW1lVGVzdC5SZXBsYWNlTWlzc3BlbGxlZFJh
bmdlIG9uIEFuZHJvaWQgYmVjYXVzZSBpdCBjcmFzaGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggMDU0MWYzM2E2ZjU4NDlhZmE4OGY3Zjg1OTIyYmM3
YmNjNzI2Mjc4Ny4uNmFkNmZlYzA4NTNkMWQ4ZmVkNjE2NjkwN2JiZDYzYTliNTRjYjFmMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtNjk3LDYgKzY5
Nyw4IEBAIGJvb2wgV2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBXZWJHZXN0
dXJlRXZlbnQmIGV2ZW50KQogICAgIGJvb2wgZXZlbnRTd2FsbG93ZWQgPSBmYWxzZTsKICAgICBi
b29sIGV2ZW50Q2FuY2VsbGVkID0gZmFsc2U7IC8vIGZvciBkaXNhbWJpZ3VhdGlvbgogCisgICAg
UGxhdGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVyIHBsYXRmb3JtRXZlbnQobWFpbkZyYW1lSW1wbCgp
LT5mcmFtZVZpZXcoKSwgZXZlbnQpOworCiAgICAgLy8gSGFuZGxlIGxpbmsgaGlnaGxpZ2h0aW5n
IG91dHNpZGUgdGhlIG1haW4gc3dpdGNoIHRvIGF2b2lkIGdldHRpbmcgbG9zdCBpbiB0aGUKICAg
ICAvLyBjb21wbGljYXRlZCBzZXQgb2YgY2FzZXMgaGFuZGxlZCBiZWxvdy4KICAgICBzd2l0Y2gg
KGV2ZW50LnR5cGUpIHsKQEAgLTcwNCw3ICs3MDYsNyBAQCBib29sIFdlYlZpZXdJbXBsOjpoYW5k
bGVHZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBldmVudCkKICAgICAgICAgLy8g
UXVldWUgYSBoaWdobGlnaHQgYW5pbWF0aW9uLCB0aGVuIGhhbmQgb2ZmIHRvIHJlZ3VsYXIgaGFu
ZGxlci4KICNpZiBPUyhMSU5VWCkKICAgICAgICAgaWYgKHNldHRpbmdzSW1wbCgpLT5nZXN0dXJl
VGFwSGlnaGxpZ2h0RW5hYmxlZCgpKQotICAgICAgICAgICAgZW5hYmxlVG91Y2hIaWdobGlnaHQo
ZXZlbnQpOworICAgICAgICAgICAgZW5hYmxlVGFwSGlnaGxpZ2h0KHBsYXRmb3JtRXZlbnQpOwog
I2VuZGlmCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVRh
cENhbmNlbDoKQEAgLTcyMiw4ICs3MjQsOCBAQCBib29sIFdlYlZpZXdJbXBsOjpoYW5kbGVHZXN0
dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBldmVudCkKICAgICAgICAgaWYgKG1haW5G
cmFtZUltcGwoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmlzU2Nyb2xsYmFySGFuZGxpbmdH
ZXN0dXJlcygpKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIG1fY2xpZW50LT5jYW5jZWxT
Y2hlZHVsZWRDb250ZW50SW50ZW50cygpOwotICAgICAgICBtX3Bvc2l0aW9uT25GbGluZ1N0YXJ0
ID0gV2ViUG9pbnQoZXZlbnQueCwgZXZlbnQueSk7Ci0gICAgICAgIG1fZ2xvYmFsUG9zaXRpb25P
bkZsaW5nU3RhcnQgPSBXZWJQb2ludChldmVudC5nbG9iYWxYLCBldmVudC5nbG9iYWxZKTsKKyAg
ICAgICAgbV9wb3NpdGlvbk9uRmxpbmdTdGFydCA9IHBsYXRmb3JtRXZlbnQucG9zaXRpb24oKTsK
KyAgICAgICAgbV9nbG9iYWxQb3NpdGlvbk9uRmxpbmdTdGFydCA9IHBsYXRmb3JtRXZlbnQuZ2xv
YmFsUG9zaXRpb24oKTsKICAgICAgICAgbV9mbGluZ01vZGlmaWVyID0gZXZlbnQubW9kaWZpZXJz
OwogICAgICAgICBtX2ZsaW5nU291cmNlRGV2aWNlID0gZXZlbnQuc291cmNlRGV2aWNlOwogICAg
ICAgICBPd25QdHI8V2ViR2VzdHVyZUN1cnZlPiBmbGluZ0N1cnZlID0gYWRvcHRQdHIoUGxhdGZv
cm06OmN1cnJlbnQoKS0+Y3JlYXRlRmxpbmdBbmltYXRpb25DdXJ2ZShldmVudC5zb3VyY2VEZXZp
Y2UsIFdlYkZsb2F0UG9pbnQoZXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnZlbG9jaXR5WCwgZXZlbnQu
ZGF0YS5mbGluZ1N0YXJ0LnZlbG9jaXR5WSksIFdlYlNpemUoKSkpOwpAQCAtNzQyLDcgKzc0NCw3
IEBAIGJvb2wgV2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBXZWJHZXN0dXJl
RXZlbnQmIGV2ZW50KQogICAgICAgICBicmVhazsKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdl
c3R1cmVUYXA6IHsKICAgICAgICAgbV9jbGllbnQtPmNhbmNlbFNjaGVkdWxlZENvbnRlbnRJbnRl
bnRzKCk7Ci0gICAgICAgIGlmIChkZXRlY3RDb250ZW50T25Ub3VjaChXZWJQb2ludChldmVudC54
LCBldmVudC55KSkpIHsKKyAgICAgICAgaWYgKGRldGVjdENvbnRlbnRPblRvdWNoKHBsYXRmb3Jt
RXZlbnQucG9zaXRpb24oKSkpIHsKICAgICAgICAgICAgIGV2ZW50U3dhbGxvd2VkID0gdHJ1ZTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC03NTcsNyArNzU5LDcgQEAgYm9vbCBX
ZWJWaWV3SW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFdlYkdlc3R1cmVFdmVudCYgZXZl
bnQpCiAgICAgICAgIGlmIChldmVudC5kYXRhLnRhcC53aWR0aCA+IDAgJiYgIXNob3VsZERpc2Fi
bGVEZXNrdG9wV29ya2Fyb3VuZHMoKSkgewogICAgICAgICAgICAgLy8gRklYTUU6IGRpZFRhcE11
bHRpcGxlVGFyZ2V0cyBzaG91bGQganVzdCB0YWtlIGEgcmVjdCBpbnN0ZWFkIG9mCiAgICAgICAg
ICAgICAvLyBhbiBldmVudC4KLSAgICAgICAgICAgIFdlYkdlc3R1cmVFdmVudCBzY2FsZWRFdmVu
dDsKKyAgICAgICAgICAgIFdlYkdlc3R1cmVFdmVudCBzY2FsZWRFdmVudCA9IGV2ZW50OwogICAg
ICAgICAgICAgc2NhbGVkRXZlbnQueCA9IGV2ZW50LnggLyBwYWdlU2NhbGVGYWN0b3IoKTsKICAg
ICAgICAgICAgIHNjYWxlZEV2ZW50LnkgPSBldmVudC55IC8gcGFnZVNjYWxlRmFjdG9yKCk7CiAg
ICAgICAgICAgICBzY2FsZWRFdmVudC5kYXRhLnRhcC53aWR0aCA9IGV2ZW50LmRhdGEudGFwLndp
ZHRoIC8gcGFnZVNjYWxlRmFjdG9yKCk7CkBAIC03NzQsNyArNzc2LDYgQEAgYm9vbCBXZWJWaWV3
SW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFdlYkdlc3R1cmVFdmVudCYgZXZlbnQpCiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBQbGF0Zm9ybUdlc3R1cmVFdmVudEJ1
aWxkZXIgcGxhdGZvcm1FdmVudChtYWluRnJhbWVJbXBsKCktPmZyYW1lVmlldygpLCBldmVudCk7
CiAgICAgICAgIGV2ZW50U3dhbGxvd2VkID0gbWFpbkZyYW1lSW1wbCgpLT5mcmFtZSgpLT5ldmVu
dEhhbmRsZXIoKS0+aGFuZGxlR2VzdHVyZUV2ZW50KHBsYXRmb3JtRXZlbnQpOwogCiAgICAgICAg
IGlmIChtX3NlbGVjdFBvcHVwICYmIG1fc2VsZWN0UG9wdXAgPT0gc2VsZWN0UG9wdXApIHsKQEAg
LTc5Niw3ICs3OTcsNiBAQCBib29sIFdlYlZpZXdJbXBsOjpoYW5kbGVHZXN0dXJlRXZlbnQoY29u
c3QgV2ViR2VzdHVyZUV2ZW50JiBldmVudCkKICAgICAgICAgbV9jbGllbnQtPmNhbmNlbFNjaGVk
dWxlZENvbnRlbnRJbnRlbnRzKCk7CiAgICAgICAgIG1fcGFnZS0+Y29udGV4dE1lbnVDb250cm9s
bGVyKCktPmNsZWFyQ29udGV4dE1lbnUoKTsKICAgICAgICAgbV9jb250ZXh0TWVudUFsbG93ZWQg
PSB0cnVlOwotICAgICAgICBQbGF0Zm9ybUdlc3R1cmVFdmVudEJ1aWxkZXIgcGxhdGZvcm1FdmVu
dChtYWluRnJhbWVJbXBsKCktPmZyYW1lVmlldygpLCBldmVudCk7CiAgICAgICAgIGV2ZW50U3dh
bGxvd2VkID0gbWFpbkZyYW1lSW1wbCgpLT5mcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+aGFuZGxl
R2VzdHVyZUV2ZW50KHBsYXRmb3JtRXZlbnQpOwogICAgICAgICBtX2NvbnRleHRNZW51QWxsb3dl
ZCA9IGZhbHNlOwogCkBAIC04MDQsMTQgKzgwNCwxMyBAQCBib29sIFdlYlZpZXdJbXBsOjpoYW5k
bGVHZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBldmVudCkKICAgICB9CiAgICAg
Y2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlVGFwRG93bjogewogICAgICAgICBtX2NsaWVudC0+
Y2FuY2VsU2NoZWR1bGVkQ29udGVudEludGVudHMoKTsKLSAgICAgICAgUGxhdGZvcm1HZXN0dXJl
RXZlbnRCdWlsZGVyIHBsYXRmb3JtRXZlbnQobWFpbkZyYW1lSW1wbCgpLT5mcmFtZVZpZXcoKSwg
ZXZlbnQpOwogICAgICAgICBldmVudFN3YWxsb3dlZCA9IG1haW5GcmFtZUltcGwoKS0+ZnJhbWUo
KS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZUdlc3R1cmVFdmVudChwbGF0Zm9ybUV2ZW50KTsKICAg
ICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZURvdWJs
ZVRhcDoKICAgICAgICAgaWYgKG1fd2ViU2V0dGluZ3MtPmRvdWJsZVRhcFRvWm9vbUVuYWJsZWQo
KSAmJiBtX21pbmltdW1QYWdlU2NhbGVGYWN0b3IgIT0gbV9tYXhpbXVtUGFnZVNjYWxlRmFjdG9y
KSB7CiAgICAgICAgICAgICBtX2NsaWVudC0+Y2FuY2VsU2NoZWR1bGVkQ29udGVudEludGVudHMo
KTsKLSAgICAgICAgICAgIGFuaW1hdGVab29tQXJvdW5kUG9pbnQoV2ViUG9pbnQoZXZlbnQueCwg
ZXZlbnQueSksIERvdWJsZVRhcCk7CisgICAgICAgICAgICBhbmltYXRlWm9vbUFyb3VuZFBvaW50
KHBsYXRmb3JtRXZlbnQucG9zaXRpb24oKSwgRG91YmxlVGFwKTsKICAgICAgICAgICAgIGV2ZW50
U3dhbGxvd2VkID0gdHJ1ZTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC04MjQs
NyArODIzLDYgQEAgYm9vbCBXZWJWaWV3SW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFdl
Ykdlc3R1cmVFdmVudCYgZXZlbnQpCiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlVGFw
Q2FuY2VsOgogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVBpbmNoRW5kOgogICAgIGNh
c2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVBpbmNoVXBkYXRlOiB7Ci0gICAgICAgIFBsYXRmb3Jt
R2VzdHVyZUV2ZW50QnVpbGRlciBwbGF0Zm9ybUV2ZW50KG1haW5GcmFtZUltcGwoKS0+ZnJhbWVW
aWV3KCksIGV2ZW50KTsKICAgICAgICAgZXZlbnRTd2FsbG93ZWQgPSBtYWluRnJhbWVJbXBsKCkt
PmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVHZXN0dXJlRXZlbnQocGxhdGZvcm1FdmVu
dCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTEyNzEsMTcgKzEyNjksMTYgQEAgc3RhdGlj
IGJvb2wgaW52b2tlc0hhbmRDdXJzb3IoTm9kZSogbm9kZSwgYm9vbCBzaGlmdEtleSwgRnJhbWUq
IGZyYW1lKQogICAgICAgICB8fCAoY3Vyc29yID09IENVUlNPUl9BVVRPICYmIGZyYW1lLT5ldmVu
dEhhbmRsZXIoKS0+dXNlSGFuZEN1cnNvcihub2RlLCBub2RlLT5pc0xpbmsoKSwgc2hpZnRLZXkp
KTsKIH0KIAotTm9kZSogV2ViVmlld0ltcGw6OmJlc3RUb3VjaExpbmtOb2RlKGNvbnN0IFdlYkdl
c3R1cmVFdmVudCYgdG91Y2hFdmVudCkKK05vZGUqIFdlYlZpZXdJbXBsOjpiZXN0VGFwTm9kZShj
b25zdCBQbGF0Zm9ybUdlc3R1cmVFdmVudCYgdGFwRXZlbnQpCiB7CiAgICAgaWYgKCFtX3BhZ2Ug
fHwgIW1fcGFnZS0+bWFpbkZyYW1lKCkpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgTm9kZSog
YmVzdFRvdWNoTm9kZSA9IDA7CiAKLSAgICBJbnRTaXplIHRvdWNoRXZlbnRTZWFyY2hSZWdpb25T
aXplKHRvdWNoRXZlbnQuZGF0YS50YXBEb3duLndpZHRoIC8gMiwgdG91Y2hFdmVudC5kYXRhLnRh
cERvd24uaGVpZ2h0IC8gMik7Ci0gICAgSW50UG9pbnQgdG91Y2hFdmVudExvY2F0aW9uKHRvdWNo
RXZlbnQueCwgdG91Y2hFdmVudC55KTsKKyAgICBJbnRQb2ludCB0b3VjaEV2ZW50TG9jYXRpb24o
dGFwRXZlbnQucG9zaXRpb24oKSk7CiAjaWYgRU5BQkxFKFRPVUNIX0FESlVTVE1FTlQpCi0gICAg
bV9wYWdlLT5tYWluRnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmFkanVzdEdlc3R1cmVQb3NpdGlv
bihQbGF0Zm9ybUdlc3R1cmVFdmVudEJ1aWxkZXIobWFpbkZyYW1lSW1wbCgpLT5mcmFtZVZpZXco
KSwgdG91Y2hFdmVudCksIHRvdWNoRXZlbnRMb2NhdGlvbik7CisgICAgbV9wYWdlLT5tYWluRnJh
bWUoKS0+ZXZlbnRIYW5kbGVyKCktPmFkanVzdEdlc3R1cmVQb3NpdGlvbih0YXBFdmVudCwgdG91
Y2hFdmVudExvY2F0aW9uKTsKICNlbmRpZgogCiAgICAgSW50UG9pbnQgaGl0VGVzdFBvaW50ID0g
bV9wYWdlLT5tYWluRnJhbWUoKS0+dmlldygpLT53aW5kb3dUb0NvbnRlbnRzKHRvdWNoRXZlbnRM
b2NhdGlvbik7CkBAIC0xMjkxLDIzICsxMjg4LDIyIEBAIE5vZGUqIFdlYlZpZXdJbXBsOjpiZXN0
VG91Y2hMaW5rTm9kZShjb25zdCBXZWJHZXN0dXJlRXZlbnQmIHRvdWNoRXZlbnQpCiAKICAgICAv
LyBNYWtlIHN1cmUgb3VyIGhpZ2hsaWdodCBjYW5kaWRhdGUgdXNlcyBhIGhhbmQgY3Vyc29yIGFz
IGEgaGV1cmlzdGljIHRvCiAgICAgLy8gY2hvb3NlIGFwcHJvcHJpYXRlIHRhcmdldHMuCi0gICAg
Ym9vbCBzaGlmdEtleSA9IHRvdWNoRXZlbnQubW9kaWZpZXJzICYgV2ViR2VzdHVyZUV2ZW50OjpT
aGlmdEtleTsKLSAgICB3aGlsZSAoYmVzdFRvdWNoTm9kZSAmJiAhaW52b2tlc0hhbmRDdXJzb3Io
YmVzdFRvdWNoTm9kZSwgc2hpZnRLZXksIG1fcGFnZS0+bWFpbkZyYW1lKCkpKQorICAgIHdoaWxl
IChiZXN0VG91Y2hOb2RlICYmICFpbnZva2VzSGFuZEN1cnNvcihiZXN0VG91Y2hOb2RlLCBmYWxz
ZSwgbV9wYWdlLT5tYWluRnJhbWUoKSkpCiAgICAgICAgIGJlc3RUb3VjaE5vZGUgPSBiZXN0VG91
Y2hOb2RlLT5wYXJlbnROb2RlKCk7CiAKICAgICAvLyBXZSBzaG91bGQgcGljayB0aGUgbGFyZ2Vz
dCBlbmNsb3Npbmcgbm9kZSB3aXRoIGhhbmQgY3Vyc29yIHNldC4KLSAgICB3aGlsZSAoYmVzdFRv
dWNoTm9kZSAmJiBiZXN0VG91Y2hOb2RlLT5wYXJlbnROb2RlKCkgJiYgaW52b2tlc0hhbmRDdXJz
b3IoYmVzdFRvdWNoTm9kZS0+cGFyZW50Tm9kZSgpLCBzaGlmdEtleSwgbV9wYWdlLT5tYWluRnJh
bWUoKSkpCisgICAgd2hpbGUgKGJlc3RUb3VjaE5vZGUgJiYgYmVzdFRvdWNoTm9kZS0+cGFyZW50
Tm9kZSgpICYmIGludm9rZXNIYW5kQ3Vyc29yKGJlc3RUb3VjaE5vZGUtPnBhcmVudE5vZGUoKSwg
ZmFsc2UsIG1fcGFnZS0+bWFpbkZyYW1lKCkpKQogICAgICAgICBiZXN0VG91Y2hOb2RlID0gYmVz
dFRvdWNoTm9kZS0+cGFyZW50Tm9kZSgpOwogCiAgICAgcmV0dXJuIGJlc3RUb3VjaE5vZGU7CiB9
CiAKLXZvaWQgV2ViVmlld0ltcGw6OmVuYWJsZVRvdWNoSGlnaGxpZ2h0KGNvbnN0IFdlYkdlc3R1
cmVFdmVudCYgdG91Y2hFdmVudCkKK3ZvaWQgV2ViVmlld0ltcGw6OmVuYWJsZVRhcEhpZ2hsaWdo
dChjb25zdCBQbGF0Zm9ybUdlc3R1cmVFdmVudCYgdGFwRXZlbnQpCiB7CiAgICAgLy8gQWx3YXlz
IGNsZWFyIGFueSBleGlzdGluZyBoaWdobGlnaHQgd2hlbiB0aGlzIGlzIGludm9rZWQsIGV2ZW4g
aWYgd2UgZG9uJ3QgZ2V0IGEgbmV3IHRhcmdldCB0byBoaWdobGlnaHQuCiAgICAgbV9saW5rSGln
aGxpZ2h0LmNsZWFyKCk7CiAKLSAgICBOb2RlKiB0b3VjaE5vZGUgPSBiZXN0VG91Y2hMaW5rTm9k
ZSh0b3VjaEV2ZW50KTsKKyAgICBOb2RlKiB0b3VjaE5vZGUgPSBiZXN0VGFwTm9kZSh0YXBFdmVu
dCk7CiAKICAgICBpZiAoIXRvdWNoTm9kZSB8fCAhdG91Y2hOb2RlLT5yZW5kZXJlcigpIHx8ICF0
b3VjaE5vZGUtPnJlbmRlcmVyKCktPmVuY2xvc2luZ0xheWVyKCkpCiAgICAgICAgIHJldHVybjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCmluZGV4IDkyNjZmYmNhOWRj
MDlkZGQ0MWQyMGNiZjk5NDI5ZjM4YTNiMDQ1ZWQuLjNmZDAxOGZjNjA5ZmVhZTI3ODc3ZTM1NjRk
MTdjMTMyOTVhNWI0ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwu
aApAQCAtNTc3LDggKzU3Nyw4IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShHRVNUVVJFX0VWRU5U
UykKICAgICB2b2lkIGNvbXB1dGVTY2FsZUFuZFNjcm9sbEZvckhpdFJlY3QoY29uc3QgV2ViUmVj
dCYgaGl0UmVjdCwgQXV0b1pvb21UeXBlLCBmbG9hdCYgc2NhbGUsIFdlYlBvaW50JiBzY3JvbGws
IGJvb2wmIGlzQW5jaG9yKTsKLSAgICBXZWJDb3JlOjpOb2RlKiBiZXN0VG91Y2hMaW5rTm9kZShj
b25zdCBXZWJHZXN0dXJlRXZlbnQmIHRvdWNoRXZlbnQpOwotICAgIHZvaWQgZW5hYmxlVG91Y2hI
aWdobGlnaHQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiB0b3VjaEV2ZW50KTsKKyAgICBXZWJDb3Jl
OjpOb2RlKiBiZXN0VGFwTm9kZShjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVFdmVudCYg
dGFwRXZlbnQpOworICAgIHZvaWQgZW5hYmxlVGFwSGlnaGxpZ2h0KGNvbnN0IFdlYkNvcmU6OlBs
YXRmb3JtR2VzdHVyZUV2ZW50JiB0YXBFdmVudCk7CiAgICAgdm9pZCBjb21wdXRlU2NhbGVBbmRT
Y3JvbGxGb3JGb2N1c2VkTm9kZShXZWJDb3JlOjpOb2RlKiBmb2N1c2VkTm9kZSwgZmxvYXQmIHNj
YWxlLCBXZWJDb3JlOjpJbnRQb2ludCYgc2Nyb2xsLCBib29sJiBuZWVkQW5pbWF0aW9uKTsKICNl
bmRpZgogICAgIHZvaWQgYW5pbWF0ZVpvb21Bcm91bmRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYsIEF1dG9ab29tVHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL0xpbmtIaWdobGlnaHRUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvTGlua0hpZ2hsaWdodFRlc3QuY3BwCmluZGV4IDIwMDE4ZmQ1OTNkMjY0ZmEyODA2NDQ5YjRi
MTA5NDVkOGY0OGMwZDAuLjllYTViMWU2OGRiZDhjNjE3YWMxMmZlMmRmZDA0M2UzMmJjNzhmN2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTGlua0hpZ2hsaWdodFRl
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTGlua0hpZ2hsaWdodFRl
c3QuY3BwCkBAIC02NiwxNiArNjYsMjggQEAgVEVTVChMaW5rSGlnaGxpZ2h0VGVzdCwgdmVyaWZ5
V2ViVmlld0ltcGxJbnRlZ3JhdGlvbikKICAgICAvLyBUaGUgY29vcmRpbmF0ZXMgYmVsb3cgYXJl
IGxpbmtlZCB0byBhYnNvbHV0ZSBwb3NpdGlvbnMgaW4gdGhlIHJlZmVyZW5jZWQgLmh0bWwgZmls
ZS4KICAgICB0b3VjaEV2ZW50LnggPSAyMDsKICAgICB0b3VjaEV2ZW50LnkgPSAyMDsKLSAgICBO
b2RlKiB0b3VjaE5vZGUgPSB3ZWJWaWV3SW1wbC0+YmVzdFRvdWNoTGlua05vZGUodG91Y2hFdmVu
dCk7Ci0gICAgQVNTRVJUX1RSVUUodG91Y2hOb2RlKTsKKworICAgIHsKKyAgICAgICAgUGxhdGZv
cm1HZXN0dXJlRXZlbnRCdWlsZGVyIHBsYXRmb3JtRXZlbnQod2ViVmlld0ltcGwtPm1haW5GcmFt
ZUltcGwoKS0+ZnJhbWVWaWV3KCksIHRvdWNoRXZlbnQpOworICAgICAgICBOb2RlKiB0b3VjaE5v
ZGUgPSB3ZWJWaWV3SW1wbC0+YmVzdFRhcE5vZGUocGxhdGZvcm1FdmVudCk7CisgICAgICAgIEFT
U0VSVF9UUlVFKHRvdWNoTm9kZSk7CisgICAgfQogCiAgICAgdG91Y2hFdmVudC55ID0gNDA7Ci0g
ICAgRVhQRUNUX0ZBTFNFKHdlYlZpZXdJbXBsLT5iZXN0VG91Y2hMaW5rTm9kZSh0b3VjaEV2ZW50
KSk7CisgICAgeworICAgICAgICBQbGF0Zm9ybUdlc3R1cmVFdmVudEJ1aWxkZXIgcGxhdGZvcm1F
dmVudCh3ZWJWaWV3SW1wbC0+bWFpbkZyYW1lSW1wbCgpLT5mcmFtZVZpZXcoKSwgdG91Y2hFdmVu
dCk7CisgICAgICAgIE5vZGUqIHRvdWNoTm9kZSA9IHdlYlZpZXdJbXBsLT5iZXN0VGFwTm9kZShw
bGF0Zm9ybUV2ZW50KTsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKHdlYlZpZXdJbXBsLT5iZXN0VGFw
Tm9kZShwbGF0Zm9ybUV2ZW50KSk7CisgICAgfQogCiAgICAgdG91Y2hFdmVudC55ID0gMjA7CiAg
ICAgLy8gU2hvdWxkbid0IGNyYXNoLgogCi0gICAgd2ViVmlld0ltcGwtPmVuYWJsZVRvdWNoSGln
aGxpZ2h0KHRvdWNoRXZlbnQpOworICAgIHsKKyAgICAgICAgUGxhdGZvcm1HZXN0dXJlRXZlbnRC
dWlsZGVyIHBsYXRmb3JtRXZlbnQod2ViVmlld0ltcGwtPm1haW5GcmFtZUltcGwoKS0+ZnJhbWVW
aWV3KCksIHRvdWNoRXZlbnQpOworICAgICAgICB3ZWJWaWV3SW1wbC0+ZW5hYmxlVGFwSGlnaGxp
Z2h0KHBsYXRmb3JtRXZlbnQpOworICAgIH0KKwogICAgIEVYUEVDVF9UUlVFKHdlYlZpZXdJbXBs
LT5saW5rSGlnaGxpZ2h0KCkpOwogICAgIEVYUEVDVF9UUlVFKHdlYlZpZXdJbXBsLT5saW5rSGln
aGxpZ2h0KCktPmNvbnRlbnRMYXllcigpKTsKICAgICBFWFBFQ1RfVFJVRSh3ZWJWaWV3SW1wbC0+
bGlua0hpZ2hsaWdodCgpLT5jbGlwTGF5ZXIoKSk7CkBAIC04MywxNiArOTUsMjYgQEAgVEVTVChM
aW5rSGlnaGxpZ2h0VGVzdCwgdmVyaWZ5V2ViVmlld0ltcGxJbnRlZ3JhdGlvbikKICAgICAvLyBG
aW5kIGEgdGFyZ2V0IGluc2lkZSBhIHNjcm9sbGFibGUgZGl2CiAKICAgICB0b3VjaEV2ZW50Lnkg
PSAxMDA7Ci0gICAgd2ViVmlld0ltcGwtPmVuYWJsZVRvdWNoSGlnaGxpZ2h0KHRvdWNoRXZlbnQp
OworICAgIHsKKyAgICAgICAgUGxhdGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVyIHBsYXRmb3JtRXZl
bnQod2ViVmlld0ltcGwtPm1haW5GcmFtZUltcGwoKS0+ZnJhbWVWaWV3KCksIHRvdWNoRXZlbnQp
OworICAgICAgICB3ZWJWaWV3SW1wbC0+ZW5hYmxlVGFwSGlnaGxpZ2h0KHBsYXRmb3JtRXZlbnQp
OworICAgIH0KKwogICAgIEFTU0VSVF9UUlVFKHdlYlZpZXdJbXBsLT5saW5rSGlnaGxpZ2h0KCkp
OwogCiAgICAgLy8gRG9uJ3QgaGlnaGxpZ2h0IGlmIG5vICJoYW5kIGN1cnNvciIKICAgICB0b3Vj
aEV2ZW50LnkgPSAyMjA7IC8vIEFuIEEtbGluayB3aXRoIGNyb3NzLWhhaXIgY3Vyc29yLgotICAg
IHdlYlZpZXdJbXBsLT5lbmFibGVUb3VjaEhpZ2hsaWdodCh0b3VjaEV2ZW50KTsKKyAgICB7Cisg
ICAgICAgIFBsYXRmb3JtR2VzdHVyZUV2ZW50QnVpbGRlciBwbGF0Zm9ybUV2ZW50KHdlYlZpZXdJ
bXBsLT5tYWluRnJhbWVJbXBsKCktPmZyYW1lVmlldygpLCB0b3VjaEV2ZW50KTsKKyAgICAgICAg
d2ViVmlld0ltcGwtPmVuYWJsZVRhcEhpZ2hsaWdodChwbGF0Zm9ybUV2ZW50KTsKKyAgICB9CiAg
ICAgQVNTRVJUX0ZBTFNFKHdlYlZpZXdJbXBsLT5saW5rSGlnaGxpZ2h0KCkpOwogCiAgICAgdG91
Y2hFdmVudC55ID0gMjYwOyAvLyBBIHRleHQgaW5wdXQgYm94LgotICAgIHdlYlZpZXdJbXBsLT5l
bmFibGVUb3VjaEhpZ2hsaWdodCh0b3VjaEV2ZW50KTsKKyAgICB7CisgICAgICAgIFBsYXRmb3Jt
R2VzdHVyZUV2ZW50QnVpbGRlciBwbGF0Zm9ybUV2ZW50KHdlYlZpZXdJbXBsLT5tYWluRnJhbWVJ
bXBsKCktPmZyYW1lVmlldygpLCB0b3VjaEV2ZW50KTsKKyAgICAgICAgd2ViVmlld0ltcGwtPmVu
YWJsZVRhcEhpZ2hsaWdodChwbGF0Zm9ybUV2ZW50KTsKKyAgICB9CiAgICAgQVNTRVJUX0ZBTFNF
KHdlYlZpZXdJbXBsLT5saW5rSGlnaGxpZ2h0KCkpOwogCiAgICAgd2ViVmlld0ltcGwtPmNsb3Nl
KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188145</attachid>
            <date>2013-02-13 12:25:37 -0800</date>
            <delta_ts>2013-02-14 12:56:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109671-20130213122205.patch</filename>
            <type>text/plain</type>
            <size>12865</size>
            <attacher name="Alexandre Elias">aelias</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNjg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGE4MzA5YzNiODMwNmY3YjBmNTEzNWNmYzU3OGM2YWU3MzliNDY0M2UuLjhkMGEyZDUxMjE0ZmY2
NDkzZjc2MDlhOTAyYzM2ZjAzZDRlMTY0OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTMtMDItMTMgIEFsZXhhbmRyZSBFbGlhcyAgPGFlbGlhc0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBGaXggc2NhbGluZyBpbiBXZWJWaWV3SW1w
bDo6aGFuZGxlR2VzdHVyZUV2ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDk2NzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBNeSBsYXN0IHBhdGNoIGJyb2tlIGEgYnVuY2ggb2YgdGhpbmdzIGluIGhh
bmRsZUdlc3R1cmVFdmVudCB0aGF0CisgICAgICAgIGFzc3VtZWQgdGhlIGV2ZW50IGNhbWUgaW4g
c2NhbGVkLCBtb3N0IG5vdGFibHkgdGFwIGhpZ2hsaWdodCBhbmQKKyAgICAgICAgZG91YmxlLXRh
cCB6b29tLiBTd2l0Y2ggdGhvc2UgdG8gUGxhdGZvcm1HZXN0dXJlRXZlbnQuCisKKyAgICAgICAg
KiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6aGFu
ZGxlR2VzdHVyZUV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmJlc3RUYXBO
b2RlKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmVuYWJsZVRhcEhpZ2hsaWdodCk6
CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmg6CisgICAgICAgIChXZWJWaWV3SW1wbCk6Cisg
ICAgICAgICogdGVzdHMvTGlua0hpZ2hsaWdodFRlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VEVTVCk6CisKIDIwMTMtMDItMTIgIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBbQ2hyb21pdW1dIEluZGV4ZWREQi9Xb3JrZXIgY3Jhc2ggZHVyaW5nIHNodXRk
b3duCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggMDU0
MWYzM2E2ZjU4NDlhZmE4OGY3Zjg1OTIyYmM3YmNjNzI2Mjc4Ny4uNmFkNmZlYzA4NTNkMWQ4ZmVk
NjE2NjkwN2JiZDYzYTliNTRjYjFmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcApAQCAtNjk3LDYgKzY5Nyw4IEBAIGJvb2wgV2ViVmlld0ltcGw6OmhhbmRs
ZUdlc3R1cmVFdmVudChjb25zdCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50KQogICAgIGJvb2wgZXZl
bnRTd2FsbG93ZWQgPSBmYWxzZTsKICAgICBib29sIGV2ZW50Q2FuY2VsbGVkID0gZmFsc2U7IC8v
IGZvciBkaXNhbWJpZ3VhdGlvbgogCisgICAgUGxhdGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVyIHBs
YXRmb3JtRXZlbnQobWFpbkZyYW1lSW1wbCgpLT5mcmFtZVZpZXcoKSwgZXZlbnQpOworCiAgICAg
Ly8gSGFuZGxlIGxpbmsgaGlnaGxpZ2h0aW5nIG91dHNpZGUgdGhlIG1haW4gc3dpdGNoIHRvIGF2
b2lkIGdldHRpbmcgbG9zdCBpbiB0aGUKICAgICAvLyBjb21wbGljYXRlZCBzZXQgb2YgY2FzZXMg
aGFuZGxlZCBiZWxvdy4KICAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHsKQEAgLTcwNCw3ICs3MDYs
NyBAQCBib29sIFdlYlZpZXdJbXBsOjpoYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVy
ZUV2ZW50JiBldmVudCkKICAgICAgICAgLy8gUXVldWUgYSBoaWdobGlnaHQgYW5pbWF0aW9uLCB0
aGVuIGhhbmQgb2ZmIHRvIHJlZ3VsYXIgaGFuZGxlci4KICNpZiBPUyhMSU5VWCkKICAgICAgICAg
aWYgKHNldHRpbmdzSW1wbCgpLT5nZXN0dXJlVGFwSGlnaGxpZ2h0RW5hYmxlZCgpKQotICAgICAg
ICAgICAgZW5hYmxlVG91Y2hIaWdobGlnaHQoZXZlbnQpOworICAgICAgICAgICAgZW5hYmxlVGFw
SGlnaGxpZ2h0KHBsYXRmb3JtRXZlbnQpOwogI2VuZGlmCiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVRhcENhbmNlbDoKQEAgLTcyMiw4ICs3MjQsOCBAQCBi
b29sIFdlYlZpZXdJbXBsOjpoYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50
JiBldmVudCkKICAgICAgICAgaWYgKG1haW5GcmFtZUltcGwoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5k
bGVyKCktPmlzU2Nyb2xsYmFySGFuZGxpbmdHZXN0dXJlcygpKQogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIG1fY2xpZW50LT5jYW5jZWxTY2hlZHVsZWRDb250ZW50SW50ZW50cygpOwotICAg
ICAgICBtX3Bvc2l0aW9uT25GbGluZ1N0YXJ0ID0gV2ViUG9pbnQoZXZlbnQueCwgZXZlbnQueSk7
Ci0gICAgICAgIG1fZ2xvYmFsUG9zaXRpb25PbkZsaW5nU3RhcnQgPSBXZWJQb2ludChldmVudC5n
bG9iYWxYLCBldmVudC5nbG9iYWxZKTsKKyAgICAgICAgbV9wb3NpdGlvbk9uRmxpbmdTdGFydCA9
IHBsYXRmb3JtRXZlbnQucG9zaXRpb24oKTsKKyAgICAgICAgbV9nbG9iYWxQb3NpdGlvbk9uRmxp
bmdTdGFydCA9IHBsYXRmb3JtRXZlbnQuZ2xvYmFsUG9zaXRpb24oKTsKICAgICAgICAgbV9mbGlu
Z01vZGlmaWVyID0gZXZlbnQubW9kaWZpZXJzOwogICAgICAgICBtX2ZsaW5nU291cmNlRGV2aWNl
ID0gZXZlbnQuc291cmNlRGV2aWNlOwogICAgICAgICBPd25QdHI8V2ViR2VzdHVyZUN1cnZlPiBm
bGluZ0N1cnZlID0gYWRvcHRQdHIoUGxhdGZvcm06OmN1cnJlbnQoKS0+Y3JlYXRlRmxpbmdBbmlt
YXRpb25DdXJ2ZShldmVudC5zb3VyY2VEZXZpY2UsIFdlYkZsb2F0UG9pbnQoZXZlbnQuZGF0YS5m
bGluZ1N0YXJ0LnZlbG9jaXR5WCwgZXZlbnQuZGF0YS5mbGluZ1N0YXJ0LnZlbG9jaXR5WSksIFdl
YlNpemUoKSkpOwpAQCAtNzQyLDcgKzc0NCw3IEBAIGJvb2wgV2ViVmlld0ltcGw6OmhhbmRsZUdl
c3R1cmVFdmVudChjb25zdCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50KQogICAgICAgICBicmVhazsK
ICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVUYXA6IHsKICAgICAgICAgbV9jbGllbnQt
PmNhbmNlbFNjaGVkdWxlZENvbnRlbnRJbnRlbnRzKCk7Ci0gICAgICAgIGlmIChkZXRlY3RDb250
ZW50T25Ub3VjaChXZWJQb2ludChldmVudC54LCBldmVudC55KSkpIHsKKyAgICAgICAgaWYgKGRl
dGVjdENvbnRlbnRPblRvdWNoKHBsYXRmb3JtRXZlbnQucG9zaXRpb24oKSkpIHsKICAgICAgICAg
ICAgIGV2ZW50U3dhbGxvd2VkID0gdHJ1ZTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9
CkBAIC03NTcsNyArNzU5LDcgQEAgYm9vbCBXZWJWaWV3SW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50
KGNvbnN0IFdlYkdlc3R1cmVFdmVudCYgZXZlbnQpCiAgICAgICAgIGlmIChldmVudC5kYXRhLnRh
cC53aWR0aCA+IDAgJiYgIXNob3VsZERpc2FibGVEZXNrdG9wV29ya2Fyb3VuZHMoKSkgewogICAg
ICAgICAgICAgLy8gRklYTUU6IGRpZFRhcE11bHRpcGxlVGFyZ2V0cyBzaG91bGQganVzdCB0YWtl
IGEgcmVjdCBpbnN0ZWFkIG9mCiAgICAgICAgICAgICAvLyBhbiBldmVudC4KLSAgICAgICAgICAg
IFdlYkdlc3R1cmVFdmVudCBzY2FsZWRFdmVudDsKKyAgICAgICAgICAgIFdlYkdlc3R1cmVFdmVu
dCBzY2FsZWRFdmVudCA9IGV2ZW50OwogICAgICAgICAgICAgc2NhbGVkRXZlbnQueCA9IGV2ZW50
LnggLyBwYWdlU2NhbGVGYWN0b3IoKTsKICAgICAgICAgICAgIHNjYWxlZEV2ZW50LnkgPSBldmVu
dC55IC8gcGFnZVNjYWxlRmFjdG9yKCk7CiAgICAgICAgICAgICBzY2FsZWRFdmVudC5kYXRhLnRh
cC53aWR0aCA9IGV2ZW50LmRhdGEudGFwLndpZHRoIC8gcGFnZVNjYWxlRmFjdG9yKCk7CkBAIC03
NzQsNyArNzc2LDYgQEAgYm9vbCBXZWJWaWV3SW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0
IFdlYkdlc3R1cmVFdmVudCYgZXZlbnQpCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAg
ICAgICBQbGF0Zm9ybUdlc3R1cmVFdmVudEJ1aWxkZXIgcGxhdGZvcm1FdmVudChtYWluRnJhbWVJ
bXBsKCktPmZyYW1lVmlldygpLCBldmVudCk7CiAgICAgICAgIGV2ZW50U3dhbGxvd2VkID0gbWFp
bkZyYW1lSW1wbCgpLT5mcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlR2VzdHVyZUV2ZW50
KHBsYXRmb3JtRXZlbnQpOwogCiAgICAgICAgIGlmIChtX3NlbGVjdFBvcHVwICYmIG1fc2VsZWN0
UG9wdXAgPT0gc2VsZWN0UG9wdXApIHsKQEAgLTc5Niw3ICs3OTcsNiBAQCBib29sIFdlYlZpZXdJ
bXBsOjpoYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBldmVudCkKICAg
ICAgICAgbV9jbGllbnQtPmNhbmNlbFNjaGVkdWxlZENvbnRlbnRJbnRlbnRzKCk7CiAgICAgICAg
IG1fcGFnZS0+Y29udGV4dE1lbnVDb250cm9sbGVyKCktPmNsZWFyQ29udGV4dE1lbnUoKTsKICAg
ICAgICAgbV9jb250ZXh0TWVudUFsbG93ZWQgPSB0cnVlOwotICAgICAgICBQbGF0Zm9ybUdlc3R1
cmVFdmVudEJ1aWxkZXIgcGxhdGZvcm1FdmVudChtYWluRnJhbWVJbXBsKCktPmZyYW1lVmlldygp
LCBldmVudCk7CiAgICAgICAgIGV2ZW50U3dhbGxvd2VkID0gbWFpbkZyYW1lSW1wbCgpLT5mcmFt
ZSgpLT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlR2VzdHVyZUV2ZW50KHBsYXRmb3JtRXZlbnQpOwog
ICAgICAgICBtX2NvbnRleHRNZW51QWxsb3dlZCA9IGZhbHNlOwogCkBAIC04MDQsMTQgKzgwNCwx
MyBAQCBib29sIFdlYlZpZXdJbXBsOjpoYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVy
ZUV2ZW50JiBldmVudCkKICAgICB9CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlVGFw
RG93bjogewogICAgICAgICBtX2NsaWVudC0+Y2FuY2VsU2NoZWR1bGVkQ29udGVudEludGVudHMo
KTsKLSAgICAgICAgUGxhdGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVyIHBsYXRmb3JtRXZlbnQobWFp
bkZyYW1lSW1wbCgpLT5mcmFtZVZpZXcoKSwgZXZlbnQpOwogICAgICAgICBldmVudFN3YWxsb3dl
ZCA9IG1haW5GcmFtZUltcGwoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZUdlc3R1
cmVFdmVudChwbGF0Zm9ybUV2ZW50KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2Ug
V2ViSW5wdXRFdmVudDo6R2VzdHVyZURvdWJsZVRhcDoKICAgICAgICAgaWYgKG1fd2ViU2V0dGlu
Z3MtPmRvdWJsZVRhcFRvWm9vbUVuYWJsZWQoKSAmJiBtX21pbmltdW1QYWdlU2NhbGVGYWN0b3Ig
IT0gbV9tYXhpbXVtUGFnZVNjYWxlRmFjdG9yKSB7CiAgICAgICAgICAgICBtX2NsaWVudC0+Y2Fu
Y2VsU2NoZWR1bGVkQ29udGVudEludGVudHMoKTsKLSAgICAgICAgICAgIGFuaW1hdGVab29tQXJv
dW5kUG9pbnQoV2ViUG9pbnQoZXZlbnQueCwgZXZlbnQueSksIERvdWJsZVRhcCk7CisgICAgICAg
ICAgICBhbmltYXRlWm9vbUFyb3VuZFBvaW50KHBsYXRmb3JtRXZlbnQucG9zaXRpb24oKSwgRG91
YmxlVGFwKTsKICAgICAgICAgICAgIGV2ZW50U3dhbGxvd2VkID0gdHJ1ZTsKICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CkBAIC04MjQsNyArODIzLDYgQEAgYm9vbCBXZWJWaWV3SW1wbDo6
aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFdlYkdlc3R1cmVFdmVudCYgZXZlbnQpCiAgICAgY2Fz
ZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlVGFwQ2FuY2VsOgogICAgIGNhc2UgV2ViSW5wdXRFdmVu
dDo6R2VzdHVyZVBpbmNoRW5kOgogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVBpbmNo
VXBkYXRlOiB7Ci0gICAgICAgIFBsYXRmb3JtR2VzdHVyZUV2ZW50QnVpbGRlciBwbGF0Zm9ybUV2
ZW50KG1haW5GcmFtZUltcGwoKS0+ZnJhbWVWaWV3KCksIGV2ZW50KTsKICAgICAgICAgZXZlbnRT
d2FsbG93ZWQgPSBtYWluRnJhbWVJbXBsKCktPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5oYW5k
bGVHZXN0dXJlRXZlbnQocGxhdGZvcm1FdmVudCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAg
LTEyNzEsMTcgKzEyNjksMTYgQEAgc3RhdGljIGJvb2wgaW52b2tlc0hhbmRDdXJzb3IoTm9kZSog
bm9kZSwgYm9vbCBzaGlmdEtleSwgRnJhbWUqIGZyYW1lKQogICAgICAgICB8fCAoY3Vyc29yID09
IENVUlNPUl9BVVRPICYmIGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+dXNlSGFuZEN1cnNvcihub2Rl
LCBub2RlLT5pc0xpbmsoKSwgc2hpZnRLZXkpKTsKIH0KIAotTm9kZSogV2ViVmlld0ltcGw6OmJl
c3RUb3VjaExpbmtOb2RlKGNvbnN0IFdlYkdlc3R1cmVFdmVudCYgdG91Y2hFdmVudCkKK05vZGUq
IFdlYlZpZXdJbXBsOjpiZXN0VGFwTm9kZShjb25zdCBQbGF0Zm9ybUdlc3R1cmVFdmVudCYgdGFw
RXZlbnQpCiB7CiAgICAgaWYgKCFtX3BhZ2UgfHwgIW1fcGFnZS0+bWFpbkZyYW1lKCkpCiAgICAg
ICAgIHJldHVybiAwOwogCiAgICAgTm9kZSogYmVzdFRvdWNoTm9kZSA9IDA7CiAKLSAgICBJbnRT
aXplIHRvdWNoRXZlbnRTZWFyY2hSZWdpb25TaXplKHRvdWNoRXZlbnQuZGF0YS50YXBEb3duLndp
ZHRoIC8gMiwgdG91Y2hFdmVudC5kYXRhLnRhcERvd24uaGVpZ2h0IC8gMik7Ci0gICAgSW50UG9p
bnQgdG91Y2hFdmVudExvY2F0aW9uKHRvdWNoRXZlbnQueCwgdG91Y2hFdmVudC55KTsKKyAgICBJ
bnRQb2ludCB0b3VjaEV2ZW50TG9jYXRpb24odGFwRXZlbnQucG9zaXRpb24oKSk7CiAjaWYgRU5B
QkxFKFRPVUNIX0FESlVTVE1FTlQpCi0gICAgbV9wYWdlLT5tYWluRnJhbWUoKS0+ZXZlbnRIYW5k
bGVyKCktPmFkanVzdEdlc3R1cmVQb3NpdGlvbihQbGF0Zm9ybUdlc3R1cmVFdmVudEJ1aWxkZXIo
bWFpbkZyYW1lSW1wbCgpLT5mcmFtZVZpZXcoKSwgdG91Y2hFdmVudCksIHRvdWNoRXZlbnRMb2Nh
dGlvbik7CisgICAgbV9wYWdlLT5tYWluRnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmFkanVzdEdl
c3R1cmVQb3NpdGlvbih0YXBFdmVudCwgdG91Y2hFdmVudExvY2F0aW9uKTsKICNlbmRpZgogCiAg
ICAgSW50UG9pbnQgaGl0VGVzdFBvaW50ID0gbV9wYWdlLT5tYWluRnJhbWUoKS0+dmlldygpLT53
aW5kb3dUb0NvbnRlbnRzKHRvdWNoRXZlbnRMb2NhdGlvbik7CkBAIC0xMjkxLDIzICsxMjg4LDIy
IEBAIE5vZGUqIFdlYlZpZXdJbXBsOjpiZXN0VG91Y2hMaW5rTm9kZShjb25zdCBXZWJHZXN0dXJl
RXZlbnQmIHRvdWNoRXZlbnQpCiAKICAgICAvLyBNYWtlIHN1cmUgb3VyIGhpZ2hsaWdodCBjYW5k
aWRhdGUgdXNlcyBhIGhhbmQgY3Vyc29yIGFzIGEgaGV1cmlzdGljIHRvCiAgICAgLy8gY2hvb3Nl
IGFwcHJvcHJpYXRlIHRhcmdldHMuCi0gICAgYm9vbCBzaGlmdEtleSA9IHRvdWNoRXZlbnQubW9k
aWZpZXJzICYgV2ViR2VzdHVyZUV2ZW50OjpTaGlmdEtleTsKLSAgICB3aGlsZSAoYmVzdFRvdWNo
Tm9kZSAmJiAhaW52b2tlc0hhbmRDdXJzb3IoYmVzdFRvdWNoTm9kZSwgc2hpZnRLZXksIG1fcGFn
ZS0+bWFpbkZyYW1lKCkpKQorICAgIHdoaWxlIChiZXN0VG91Y2hOb2RlICYmICFpbnZva2VzSGFu
ZEN1cnNvcihiZXN0VG91Y2hOb2RlLCBmYWxzZSwgbV9wYWdlLT5tYWluRnJhbWUoKSkpCiAgICAg
ICAgIGJlc3RUb3VjaE5vZGUgPSBiZXN0VG91Y2hOb2RlLT5wYXJlbnROb2RlKCk7CiAKICAgICAv
LyBXZSBzaG91bGQgcGljayB0aGUgbGFyZ2VzdCBlbmNsb3Npbmcgbm9kZSB3aXRoIGhhbmQgY3Vy
c29yIHNldC4KLSAgICB3aGlsZSAoYmVzdFRvdWNoTm9kZSAmJiBiZXN0VG91Y2hOb2RlLT5wYXJl
bnROb2RlKCkgJiYgaW52b2tlc0hhbmRDdXJzb3IoYmVzdFRvdWNoTm9kZS0+cGFyZW50Tm9kZSgp
LCBzaGlmdEtleSwgbV9wYWdlLT5tYWluRnJhbWUoKSkpCisgICAgd2hpbGUgKGJlc3RUb3VjaE5v
ZGUgJiYgYmVzdFRvdWNoTm9kZS0+cGFyZW50Tm9kZSgpICYmIGludm9rZXNIYW5kQ3Vyc29yKGJl
c3RUb3VjaE5vZGUtPnBhcmVudE5vZGUoKSwgZmFsc2UsIG1fcGFnZS0+bWFpbkZyYW1lKCkpKQog
ICAgICAgICBiZXN0VG91Y2hOb2RlID0gYmVzdFRvdWNoTm9kZS0+cGFyZW50Tm9kZSgpOwogCiAg
ICAgcmV0dXJuIGJlc3RUb3VjaE5vZGU7CiB9CiAKLXZvaWQgV2ViVmlld0ltcGw6OmVuYWJsZVRv
dWNoSGlnaGxpZ2h0KGNvbnN0IFdlYkdlc3R1cmVFdmVudCYgdG91Y2hFdmVudCkKK3ZvaWQgV2Vi
Vmlld0ltcGw6OmVuYWJsZVRhcEhpZ2hsaWdodChjb25zdCBQbGF0Zm9ybUdlc3R1cmVFdmVudCYg
dGFwRXZlbnQpCiB7CiAgICAgLy8gQWx3YXlzIGNsZWFyIGFueSBleGlzdGluZyBoaWdobGlnaHQg
d2hlbiB0aGlzIGlzIGludm9rZWQsIGV2ZW4gaWYgd2UgZG9uJ3QgZ2V0IGEgbmV3IHRhcmdldCB0
byBoaWdobGlnaHQuCiAgICAgbV9saW5rSGlnaGxpZ2h0LmNsZWFyKCk7CiAKLSAgICBOb2RlKiB0
b3VjaE5vZGUgPSBiZXN0VG91Y2hMaW5rTm9kZSh0b3VjaEV2ZW50KTsKKyAgICBOb2RlKiB0b3Vj
aE5vZGUgPSBiZXN0VGFwTm9kZSh0YXBFdmVudCk7CiAKICAgICBpZiAoIXRvdWNoTm9kZSB8fCAh
dG91Y2hOb2RlLT5yZW5kZXJlcigpIHx8ICF0b3VjaE5vZGUtPnJlbmRlcmVyKCktPmVuY2xvc2lu
Z0xheWVyKCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJW
aWV3SW1wbC5oCmluZGV4IDkyNjZmYmNhOWRjMDlkZGQ0MWQyMGNiZjk5NDI5ZjM4YTNiMDQ1ZWQu
LjNmZDAxOGZjNjA5ZmVhZTI3ODc3ZTM1NjRkMTdjMTMyOTVhNWI0ODMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApAQCAtNTc3LDggKzU3Nyw4IEBAIHB1YmxpYzoK
IAogI2lmIEVOQUJMRShHRVNUVVJFX0VWRU5UUykKICAgICB2b2lkIGNvbXB1dGVTY2FsZUFuZFNj
cm9sbEZvckhpdFJlY3QoY29uc3QgV2ViUmVjdCYgaGl0UmVjdCwgQXV0b1pvb21UeXBlLCBmbG9h
dCYgc2NhbGUsIFdlYlBvaW50JiBzY3JvbGwsIGJvb2wmIGlzQW5jaG9yKTsKLSAgICBXZWJDb3Jl
OjpOb2RlKiBiZXN0VG91Y2hMaW5rTm9kZShjb25zdCBXZWJHZXN0dXJlRXZlbnQmIHRvdWNoRXZl
bnQpOwotICAgIHZvaWQgZW5hYmxlVG91Y2hIaWdobGlnaHQoY29uc3QgV2ViR2VzdHVyZUV2ZW50
JiB0b3VjaEV2ZW50KTsKKyAgICBXZWJDb3JlOjpOb2RlKiBiZXN0VGFwTm9kZShjb25zdCBXZWJD
b3JlOjpQbGF0Zm9ybUdlc3R1cmVFdmVudCYgdGFwRXZlbnQpOworICAgIHZvaWQgZW5hYmxlVGFw
SGlnaGxpZ2h0KGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtR2VzdHVyZUV2ZW50JiB0YXBFdmVudCk7
CiAgICAgdm9pZCBjb21wdXRlU2NhbGVBbmRTY3JvbGxGb3JGb2N1c2VkTm9kZShXZWJDb3JlOjpO
b2RlKiBmb2N1c2VkTm9kZSwgZmxvYXQmIHNjYWxlLCBXZWJDb3JlOjpJbnRQb2ludCYgc2Nyb2xs
LCBib29sJiBuZWVkQW5pbWF0aW9uKTsKICNlbmRpZgogICAgIHZvaWQgYW5pbWF0ZVpvb21Bcm91
bmRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIEF1dG9ab29tVHlwZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xpbmtIaWdobGlnaHRUZXN0LmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTGlua0hpZ2hsaWdodFRlc3QuY3BwCmluZGV4
IDIwMDE4ZmQ1OTNkMjY0ZmEyODA2NDQ5YjRiMTA5NDVkOGY0OGMwZDAuLjE0MDc3M2I1YTZhZDM5
YmI1MGY1YThmOTU2ZGM0MDBhMGI4OGFlMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvTGlua0hpZ2hsaWdodFRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvTGlua0hpZ2hsaWdodFRlc3QuY3BwCkBAIC0yNywxMiArMjcsMTUgQEAKICNp
bmNsdWRlICJMaW5rSGlnaGxpZ2h0LmgiCiAKICNpbmNsdWRlICJGcmFtZVRlc3RIZWxwZXJzLmgi
CisjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUg
Ik5vZGUuaCIKICNpbmNsdWRlICJVUkxUZXN0SGVscGVycy5oIgogI2luY2x1ZGUgIldlYkNvbXBv
c2l0b3JJbml0aWFsaXplci5oIgogI2luY2x1ZGUgIldlYkZyYW1lLmgiCisjaW5jbHVkZSAiV2Vi
RnJhbWVJbXBsLmgiCiAjaW5jbHVkZSAiV2ViSW5wdXRFdmVudC5oIgorI2luY2x1ZGUgIldlYklu
cHV0RXZlbnRDb252ZXJzaW9uLmgiCiAjaW5jbHVkZSAiV2ViVmlld0ltcGwuaCIKICNpbmNsdWRl
IDxndGVzdC9ndGVzdC5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJDb250ZW50TGF5ZXIuaD4KQEAg
LTY2LDE2ICs2OSwyNyBAQCBURVNUKExpbmtIaWdobGlnaHRUZXN0LCB2ZXJpZnlXZWJWaWV3SW1w
bEludGVncmF0aW9uKQogICAgIC8vIFRoZSBjb29yZGluYXRlcyBiZWxvdyBhcmUgbGlua2VkIHRv
IGFic29sdXRlIHBvc2l0aW9ucyBpbiB0aGUgcmVmZXJlbmNlZCAuaHRtbCBmaWxlLgogICAgIHRv
dWNoRXZlbnQueCA9IDIwOwogICAgIHRvdWNoRXZlbnQueSA9IDIwOwotICAgIE5vZGUqIHRvdWNo
Tm9kZSA9IHdlYlZpZXdJbXBsLT5iZXN0VG91Y2hMaW5rTm9kZSh0b3VjaEV2ZW50KTsKLSAgICBB
U1NFUlRfVFJVRSh0b3VjaE5vZGUpOworCisgICAgeworICAgICAgICBQbGF0Zm9ybUdlc3R1cmVF
dmVudEJ1aWxkZXIgcGxhdGZvcm1FdmVudCh3ZWJWaWV3SW1wbC0+bWFpbkZyYW1lSW1wbCgpLT5m
cmFtZVZpZXcoKSwgdG91Y2hFdmVudCk7CisgICAgICAgIE5vZGUqIHRvdWNoTm9kZSA9IHdlYlZp
ZXdJbXBsLT5iZXN0VGFwTm9kZShwbGF0Zm9ybUV2ZW50KTsKKyAgICAgICAgQVNTRVJUX1RSVUUo
dG91Y2hOb2RlKTsKKyAgICB9CiAKICAgICB0b3VjaEV2ZW50LnkgPSA0MDsKLSAgICBFWFBFQ1Rf
RkFMU0Uod2ViVmlld0ltcGwtPmJlc3RUb3VjaExpbmtOb2RlKHRvdWNoRXZlbnQpKTsKKyAgICB7
CisgICAgICAgIFBsYXRmb3JtR2VzdHVyZUV2ZW50QnVpbGRlciBwbGF0Zm9ybUV2ZW50KHdlYlZp
ZXdJbXBsLT5tYWluRnJhbWVJbXBsKCktPmZyYW1lVmlldygpLCB0b3VjaEV2ZW50KTsKKyAgICAg
ICAgRVhQRUNUX0ZBTFNFKHdlYlZpZXdJbXBsLT5iZXN0VGFwTm9kZShwbGF0Zm9ybUV2ZW50KSk7
CisgICAgfQogCiAgICAgdG91Y2hFdmVudC55ID0gMjA7CiAgICAgLy8gU2hvdWxkbid0IGNyYXNo
LgogCi0gICAgd2ViVmlld0ltcGwtPmVuYWJsZVRvdWNoSGlnaGxpZ2h0KHRvdWNoRXZlbnQpOwor
ICAgIHsKKyAgICAgICAgUGxhdGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVyIHBsYXRmb3JtRXZlbnQo
d2ViVmlld0ltcGwtPm1haW5GcmFtZUltcGwoKS0+ZnJhbWVWaWV3KCksIHRvdWNoRXZlbnQpOwor
ICAgICAgICB3ZWJWaWV3SW1wbC0+ZW5hYmxlVGFwSGlnaGxpZ2h0KHBsYXRmb3JtRXZlbnQpOwor
ICAgIH0KKwogICAgIEVYUEVDVF9UUlVFKHdlYlZpZXdJbXBsLT5saW5rSGlnaGxpZ2h0KCkpOwog
ICAgIEVYUEVDVF9UUlVFKHdlYlZpZXdJbXBsLT5saW5rSGlnaGxpZ2h0KCktPmNvbnRlbnRMYXll
cigpKTsKICAgICBFWFBFQ1RfVFJVRSh3ZWJWaWV3SW1wbC0+bGlua0hpZ2hsaWdodCgpLT5jbGlw
TGF5ZXIoKSk7CkBAIC04MywxNiArOTcsMjYgQEAgVEVTVChMaW5rSGlnaGxpZ2h0VGVzdCwgdmVy
aWZ5V2ViVmlld0ltcGxJbnRlZ3JhdGlvbikKICAgICAvLyBGaW5kIGEgdGFyZ2V0IGluc2lkZSBh
IHNjcm9sbGFibGUgZGl2CiAKICAgICB0b3VjaEV2ZW50LnkgPSAxMDA7Ci0gICAgd2ViVmlld0lt
cGwtPmVuYWJsZVRvdWNoSGlnaGxpZ2h0KHRvdWNoRXZlbnQpOworICAgIHsKKyAgICAgICAgUGxh
dGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVyIHBsYXRmb3JtRXZlbnQod2ViVmlld0ltcGwtPm1haW5G
cmFtZUltcGwoKS0+ZnJhbWVWaWV3KCksIHRvdWNoRXZlbnQpOworICAgICAgICB3ZWJWaWV3SW1w
bC0+ZW5hYmxlVGFwSGlnaGxpZ2h0KHBsYXRmb3JtRXZlbnQpOworICAgIH0KKwogICAgIEFTU0VS
VF9UUlVFKHdlYlZpZXdJbXBsLT5saW5rSGlnaGxpZ2h0KCkpOwogCiAgICAgLy8gRG9uJ3QgaGln
aGxpZ2h0IGlmIG5vICJoYW5kIGN1cnNvciIKICAgICB0b3VjaEV2ZW50LnkgPSAyMjA7IC8vIEFu
IEEtbGluayB3aXRoIGNyb3NzLWhhaXIgY3Vyc29yLgotICAgIHdlYlZpZXdJbXBsLT5lbmFibGVU
b3VjaEhpZ2hsaWdodCh0b3VjaEV2ZW50KTsKKyAgICB7CisgICAgICAgIFBsYXRmb3JtR2VzdHVy
ZUV2ZW50QnVpbGRlciBwbGF0Zm9ybUV2ZW50KHdlYlZpZXdJbXBsLT5tYWluRnJhbWVJbXBsKCkt
PmZyYW1lVmlldygpLCB0b3VjaEV2ZW50KTsKKyAgICAgICAgd2ViVmlld0ltcGwtPmVuYWJsZVRh
cEhpZ2hsaWdodChwbGF0Zm9ybUV2ZW50KTsKKyAgICB9CiAgICAgQVNTRVJUX0ZBTFNFKHdlYlZp
ZXdJbXBsLT5saW5rSGlnaGxpZ2h0KCkpOwogCiAgICAgdG91Y2hFdmVudC55ID0gMjYwOyAvLyBB
IHRleHQgaW5wdXQgYm94LgotICAgIHdlYlZpZXdJbXBsLT5lbmFibGVUb3VjaEhpZ2hsaWdodCh0
b3VjaEV2ZW50KTsKKyAgICB7CisgICAgICAgIFBsYXRmb3JtR2VzdHVyZUV2ZW50QnVpbGRlciBw
bGF0Zm9ybUV2ZW50KHdlYlZpZXdJbXBsLT5tYWluRnJhbWVJbXBsKCktPmZyYW1lVmlldygpLCB0
b3VjaEV2ZW50KTsKKyAgICAgICAgd2ViVmlld0ltcGwtPmVuYWJsZVRhcEhpZ2hsaWdodChwbGF0
Zm9ybUV2ZW50KTsKKyAgICB9CiAgICAgQVNTRVJUX0ZBTFNFKHdlYlZpZXdJbXBsLT5saW5rSGln
aGxpZ2h0KCkpOwogCiAgICAgd2ViVmlld0ltcGwtPmNsb3NlKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188410</attachid>
            <date>2013-02-14 12:56:36 -0800</date>
            <delta_ts>2013-02-14 13:57:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109671-20130214125303.patch</filename>
            <type>text/plain</type>
            <size>15038</size>
            <attacher name="Alexandre Elias">aelias</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyODk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGQ5ZjY1NmE2MjIyNGFhOWE1NjQ2ZWFhZGY2ODFlZGZhZWI2YjhlN2UuLmU2YzJjZGY4ODJkN2Ji
ODIyYWEzYjAyOGI1NzQzZTUzOTMxYzllZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTMtMDItMTMgIEFsZXhhbmRyZSBFbGlhcyAgPGFlbGlhc0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBGaXggc2NhbGluZyBpbiBXZWJWaWV3SW1w
bDo6aGFuZGxlR2VzdHVyZUV2ZW50LCBzZWNvbmQgdHJ5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk2NzEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNeSBwYXRjaCAxNDI1NzEgYnJva2UgYSBidW5jaCBv
ZiB0aGluZ3MgaW4gaGFuZGxlR2VzdHVyZUV2ZW50IHRoYXQKKyAgICAgICAgYXNzdW1lZCB0aGUg
ZXZlbnQgY2FtZSBpbiBzY2FsZWQsIG1vc3Qgbm90YWJseSB0YXAgaGlnaGxpZ2h0IGFuZAorICAg
ICAgICBkb3VibGUtdGFwIHpvb20uIFN3aXRjaCB0aG9zZSB0byBQbGF0Zm9ybUdlc3R1cmVFdmVu
dC4KKworICAgICAgICAxNDI4MDggd2FzIGFuIGVhcmxpZXIgdmVyc2lvbiBvZiB0aGlzIHBhdGNo
IHRoYXQgd2FzIHJldmVydGVkCisgICAgICAgIGR1ZSB0byBmbGluZyBldmVudHMgYXNzZXJ0aW5n
IHRoZXkgY2FuJ3QgYmUgY29udmVydGVkIHRvCisgICAgICAgIFBsYXRmb3JtR2VzdHVyZUV2ZW50
LiBUaGlzIHZlcnNpb24gbW92ZXMgZmxpbmcgZWFybGllciBpbiB0aGUKKyAgICAgICAgZnVuY3Rp
b24gdG8gYXZvaWQgdGhhdC4KKworICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpoYW5kbGVHZXN0dXJlRXZlbnQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJWaWV3SW1wbDo6YmVzdFRhcE5vZGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJW
aWV3SW1wbDo6ZW5hYmxlVGFwSGlnaGxpZ2h0KToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwu
aDoKKyAgICAgICAgKFdlYlZpZXdJbXBsKToKKyAgICAgICAgKiB0ZXN0cy9MaW5rSGlnaGxpZ2h0
VGVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpURVNUKToKKwogMjAxMy0wMi0xNCAgTWluIFFp
biAgPHFpbm1pbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUGFzc2luZyBhbHBoYSB0byBEZWZl
cnJlZEltYWdlRGVjb2RlciBvbmNlIGRlY29kaW5nIGNvbXBsZXRlcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IDhkYWI2NzFjYmJmYzlkYWQwODJiZGZh
M2UzMmI0OGYzNTA4MjkwZWEuLjVhNWYxMTNhMzhhOGRkNGEwZjA3YTNjYzk2YTlmZWI2MDYzMThl
YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTY5
Niw2ICs2OTYsNDIgQEAgYm9vbCBXZWJWaWV3SW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0
IFdlYkdlc3R1cmVFdmVudCYgZXZlbnQpCiAgICAgYm9vbCBldmVudFN3YWxsb3dlZCA9IGZhbHNl
OwogICAgIGJvb2wgZXZlbnRDYW5jZWxsZWQgPSBmYWxzZTsgLy8gZm9yIGRpc2FtYmlndWF0aW9u
CiAKKyAgICAvLyBTcGVjaWFsIGhhbmRsaW5nIGZvciBzbG93LXBhdGggZmxpbmcgZ2VzdHVyZXMs
IHdoaWNoIGhhdmUgbm8gUGxhdGZvcm1HZXN0dXJlRXZlbnQgZXF1aXZhbGVudC4KKyAgICBzd2l0
Y2ggKGV2ZW50LnR5cGUpIHsKKyAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVGbGluZ1N0
YXJ0OiB7CisgICAgICAgIGlmIChtYWluRnJhbWVJbXBsKCktPmZyYW1lKCktPmV2ZW50SGFuZGxl
cigpLT5pc1Njcm9sbGJhckhhbmRsaW5nR2VzdHVyZXMoKSkgeworICAgICAgICAgICAgbV9jbGll
bnQtPmRpZEhhbmRsZUdlc3R1cmVFdmVudChldmVudCwgZXZlbnRDYW5jZWxsZWQpOworICAgICAg
ICAgICAgcmV0dXJuIGV2ZW50U3dhbGxvd2VkOworICAgICAgICB9CisgICAgICAgIG1fY2xpZW50
LT5jYW5jZWxTY2hlZHVsZWRDb250ZW50SW50ZW50cygpOworICAgICAgICBtX3Bvc2l0aW9uT25G
bGluZ1N0YXJ0ID0gV2ViUG9pbnQoZXZlbnQueCAvIHBhZ2VTY2FsZUZhY3RvcigpLCBldmVudC55
IC8gcGFnZVNjYWxlRmFjdG9yKCkpOworICAgICAgICBtX2dsb2JhbFBvc2l0aW9uT25GbGluZ1N0
YXJ0ID0gV2ViUG9pbnQoZXZlbnQuZ2xvYmFsWCwgZXZlbnQuZ2xvYmFsWSk7CisgICAgICAgIG1f
ZmxpbmdNb2RpZmllciA9IGV2ZW50Lm1vZGlmaWVyczsKKyAgICAgICAgbV9mbGluZ1NvdXJjZURl
dmljZSA9IGV2ZW50LnNvdXJjZURldmljZTsKKyAgICAgICAgT3duUHRyPFdlYkdlc3R1cmVDdXJ2
ZT4gZmxpbmdDdXJ2ZSA9IGFkb3B0UHRyKFBsYXRmb3JtOjpjdXJyZW50KCktPmNyZWF0ZUZsaW5n
QW5pbWF0aW9uQ3VydmUoZXZlbnQuc291cmNlRGV2aWNlLCBXZWJGbG9hdFBvaW50KGV2ZW50LmRh
dGEuZmxpbmdTdGFydC52ZWxvY2l0eVgsIGV2ZW50LmRhdGEuZmxpbmdTdGFydC52ZWxvY2l0eVkp
LCBXZWJTaXplKCkpKTsKKyAgICAgICAgbV9nZXN0dXJlQW5pbWF0aW9uID0gV2ViQWN0aXZlR2Vz
dHVyZUFuaW1hdGlvbjo6Y3JlYXRlQXRBbmltYXRpb25TdGFydChmbGluZ0N1cnZlLnJlbGVhc2Uo
KSwgdGhpcyk7CisgICAgICAgIHNjaGVkdWxlQW5pbWF0aW9uKCk7CisgICAgICAgIGV2ZW50U3dh
bGxvd2VkID0gdHJ1ZTsKKworICAgICAgICBtX2NsaWVudC0+ZGlkSGFuZGxlR2VzdHVyZUV2ZW50
KGV2ZW50LCBldmVudENhbmNlbGxlZCk7CisgICAgICAgIHJldHVybiBldmVudFN3YWxsb3dlZDsK
KyAgICB9CisgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlRmxpbmdDYW5jZWw6CisgICAg
ICAgIGlmIChtX2dlc3R1cmVBbmltYXRpb24pIHsKKyAgICAgICAgICAgIG1fZ2VzdHVyZUFuaW1h
dGlvbi5jbGVhcigpOworICAgICAgICAgICAgaWYgKG1fbGF5ZXJUcmVlVmlldykKKyAgICAgICAg
ICAgICAgICBtX2xheWVyVHJlZVZpZXctPmRpZFN0b3BGbGluZ2luZygpOworICAgICAgICAgICAg
ZXZlbnRTd2FsbG93ZWQgPSB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgbV9jbGllbnQtPmRp
ZEhhbmRsZUdlc3R1cmVFdmVudChldmVudCwgZXZlbnRDYW5jZWxsZWQpOworICAgICAgICByZXR1
cm4gZXZlbnRTd2FsbG93ZWQ7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYnJlYWs7CisgICAgfQor
CisgICAgUGxhdGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVyIHBsYXRmb3JtRXZlbnQobWFpbkZyYW1l
SW1wbCgpLT5mcmFtZVZpZXcoKSwgZXZlbnQpOworCiAgICAgLy8gSGFuZGxlIGxpbmsgaGlnaGxp
Z2h0aW5nIG91dHNpZGUgdGhlIG1haW4gc3dpdGNoIHRvIGF2b2lkIGdldHRpbmcgbG9zdCBpbiB0
aGUKICAgICAvLyBjb21wbGljYXRlZCBzZXQgb2YgY2FzZXMgaGFuZGxlZCBiZWxvdy4KICAgICBz
d2l0Y2ggKGV2ZW50LnR5cGUpIHsKQEAgLTcwMyw3ICs3MzksNyBAQCBib29sIFdlYlZpZXdJbXBs
OjpoYW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiBldmVudCkKICAgICAg
ICAgLy8gUXVldWUgYSBoaWdobGlnaHQgYW5pbWF0aW9uLCB0aGVuIGhhbmQgb2ZmIHRvIHJlZ3Vs
YXIgaGFuZGxlci4KICNpZiBPUyhMSU5VWCkKICAgICAgICAgaWYgKHNldHRpbmdzSW1wbCgpLT5n
ZXN0dXJlVGFwSGlnaGxpZ2h0RW5hYmxlZCgpKQotICAgICAgICAgICAgZW5hYmxlVG91Y2hIaWdo
bGlnaHQoZXZlbnQpOworICAgICAgICAgICAgZW5hYmxlVGFwSGlnaGxpZ2h0KHBsYXRmb3JtRXZl
bnQpOwogI2VuZGlmCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2Vz
dHVyZVRhcENhbmNlbDoKQEAgLTcxNywzMSArNzUzLDkgQEAgYm9vbCBXZWJWaWV3SW1wbDo6aGFu
ZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFdlYkdlc3R1cmVFdmVudCYgZXZlbnQpCiAgICAgfQogCiAg
ICAgc3dpdGNoIChldmVudC50eXBlKSB7Ci0gICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJl
RmxpbmdTdGFydDogewotICAgICAgICBpZiAobWFpbkZyYW1lSW1wbCgpLT5mcmFtZSgpLT5ldmVu
dEhhbmRsZXIoKS0+aXNTY3JvbGxiYXJIYW5kbGluZ0dlc3R1cmVzKCkpCi0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgbV9jbGllbnQtPmNhbmNlbFNjaGVkdWxlZENvbnRlbnRJbnRlbnRzKCk7
Ci0gICAgICAgIG1fcG9zaXRpb25PbkZsaW5nU3RhcnQgPSBXZWJQb2ludChldmVudC54LCBldmVu
dC55KTsKLSAgICAgICAgbV9nbG9iYWxQb3NpdGlvbk9uRmxpbmdTdGFydCA9IFdlYlBvaW50KGV2
ZW50Lmdsb2JhbFgsIGV2ZW50Lmdsb2JhbFkpOwotICAgICAgICBtX2ZsaW5nTW9kaWZpZXIgPSBl
dmVudC5tb2RpZmllcnM7Ci0gICAgICAgIG1fZmxpbmdTb3VyY2VEZXZpY2UgPSBldmVudC5zb3Vy
Y2VEZXZpY2U7Ci0gICAgICAgIE93blB0cjxXZWJHZXN0dXJlQ3VydmU+IGZsaW5nQ3VydmUgPSBh
ZG9wdFB0cihQbGF0Zm9ybTo6Y3VycmVudCgpLT5jcmVhdGVGbGluZ0FuaW1hdGlvbkN1cnZlKGV2
ZW50LnNvdXJjZURldmljZSwgV2ViRmxvYXRQb2ludChldmVudC5kYXRhLmZsaW5nU3RhcnQudmVs
b2NpdHlYLCBldmVudC5kYXRhLmZsaW5nU3RhcnQudmVsb2NpdHlZKSwgV2ViU2l6ZSgpKSk7Ci0g
ICAgICAgIG1fZ2VzdHVyZUFuaW1hdGlvbiA9IFdlYkFjdGl2ZUdlc3R1cmVBbmltYXRpb246OmNy
ZWF0ZUF0QW5pbWF0aW9uU3RhcnQoZmxpbmdDdXJ2ZS5yZWxlYXNlKCksIHRoaXMpOwotICAgICAg
ICBzY2hlZHVsZUFuaW1hdGlvbigpOwotICAgICAgICBldmVudFN3YWxsb3dlZCA9IHRydWU7Ci0g
ICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVGbGlu
Z0NhbmNlbDoKLSAgICAgICAgaWYgKG1fZ2VzdHVyZUFuaW1hdGlvbikgewotICAgICAgICAgICAg
bV9nZXN0dXJlQW5pbWF0aW9uLmNsZWFyKCk7Ci0gICAgICAgICAgICBpZiAobV9sYXllclRyZWVW
aWV3KQotICAgICAgICAgICAgICAgIG1fbGF5ZXJUcmVlVmlldy0+ZGlkU3RvcEZsaW5naW5nKCk7
Ci0gICAgICAgICAgICBldmVudFN3YWxsb3dlZCA9IHRydWU7Ci0gICAgICAgIH0KLSAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBXZWJJbnB1dEV2ZW50OjpHZXN0dXJlVGFwOiB7CiAgICAgICAgIG1f
Y2xpZW50LT5jYW5jZWxTY2hlZHVsZWRDb250ZW50SW50ZW50cygpOwotICAgICAgICBpZiAoZGV0
ZWN0Q29udGVudE9uVG91Y2goV2ViUG9pbnQoZXZlbnQueCwgZXZlbnQueSkpKSB7CisgICAgICAg
IGlmIChkZXRlY3RDb250ZW50T25Ub3VjaChwbGF0Zm9ybUV2ZW50LnBvc2l0aW9uKCkpKSB7CiAg
ICAgICAgICAgICBldmVudFN3YWxsb3dlZCA9IHRydWU7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgfQpAQCAtNzU2LDcgKzc3MCw3IEBAIGJvb2wgV2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1
cmVFdmVudChjb25zdCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50KQogICAgICAgICBpZiAoZXZlbnQu
ZGF0YS50YXAud2lkdGggPiAwICYmICFzaG91bGREaXNhYmxlRGVza3RvcFdvcmthcm91bmRzKCkp
IHsKICAgICAgICAgICAgIC8vIEZJWE1FOiBkaWRUYXBNdWx0aXBsZVRhcmdldHMgc2hvdWxkIGp1
c3QgdGFrZSBhIHJlY3QgaW5zdGVhZCBvZgogICAgICAgICAgICAgLy8gYW4gZXZlbnQuCi0gICAg
ICAgICAgICBXZWJHZXN0dXJlRXZlbnQgc2NhbGVkRXZlbnQ7CisgICAgICAgICAgICBXZWJHZXN0
dXJlRXZlbnQgc2NhbGVkRXZlbnQgPSBldmVudDsKICAgICAgICAgICAgIHNjYWxlZEV2ZW50Lngg
PSBldmVudC54IC8gcGFnZVNjYWxlRmFjdG9yKCk7CiAgICAgICAgICAgICBzY2FsZWRFdmVudC55
ID0gZXZlbnQueSAvIHBhZ2VTY2FsZUZhY3RvcigpOwogICAgICAgICAgICAgc2NhbGVkRXZlbnQu
ZGF0YS50YXAud2lkdGggPSBldmVudC5kYXRhLnRhcC53aWR0aCAvIHBhZ2VTY2FsZUZhY3Rvcigp
OwpAQCAtNzczLDcgKzc4Nyw2IEBAIGJvb2wgV2ViVmlld0ltcGw6OmhhbmRsZUdlc3R1cmVFdmVu
dChjb25zdCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50KQogICAgICAgICAgICAgfQogICAgICAgICB9
CiAKLSAgICAgICAgUGxhdGZvcm1HZXN0dXJlRXZlbnRCdWlsZGVyIHBsYXRmb3JtRXZlbnQobWFp
bkZyYW1lSW1wbCgpLT5mcmFtZVZpZXcoKSwgZXZlbnQpOwogICAgICAgICBldmVudFN3YWxsb3dl
ZCA9IG1haW5GcmFtZUltcGwoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZUdlc3R1
cmVFdmVudChwbGF0Zm9ybUV2ZW50KTsKIAogICAgICAgICBpZiAobV9zZWxlY3RQb3B1cCAmJiBt
X3NlbGVjdFBvcHVwID09IHNlbGVjdFBvcHVwKSB7CkBAIC03OTUsNyArODA4LDYgQEAgYm9vbCBX
ZWJWaWV3SW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFdlYkdlc3R1cmVFdmVudCYgZXZl
bnQpCiAgICAgICAgIG1fY2xpZW50LT5jYW5jZWxTY2hlZHVsZWRDb250ZW50SW50ZW50cygpOwog
ICAgICAgICBtX3BhZ2UtPmNvbnRleHRNZW51Q29udHJvbGxlcigpLT5jbGVhckNvbnRleHRNZW51
KCk7CiAgICAgICAgIG1fY29udGV4dE1lbnVBbGxvd2VkID0gdHJ1ZTsKLSAgICAgICAgUGxhdGZv
cm1HZXN0dXJlRXZlbnRCdWlsZGVyIHBsYXRmb3JtRXZlbnQobWFpbkZyYW1lSW1wbCgpLT5mcmFt
ZVZpZXcoKSwgZXZlbnQpOwogICAgICAgICBldmVudFN3YWxsb3dlZCA9IG1haW5GcmFtZUltcGwo
KS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZUdlc3R1cmVFdmVudChwbGF0Zm9ybUV2
ZW50KTsKICAgICAgICAgbV9jb250ZXh0TWVudUFsbG93ZWQgPSBmYWxzZTsKIApAQCAtODAzLDE0
ICs4MTUsMTMgQEAgYm9vbCBXZWJWaWV3SW1wbDo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFdl
Ykdlc3R1cmVFdmVudCYgZXZlbnQpCiAgICAgfQogICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2Vz
dHVyZVRhcERvd246IHsKICAgICAgICAgbV9jbGllbnQtPmNhbmNlbFNjaGVkdWxlZENvbnRlbnRJ
bnRlbnRzKCk7Ci0gICAgICAgIFBsYXRmb3JtR2VzdHVyZUV2ZW50QnVpbGRlciBwbGF0Zm9ybUV2
ZW50KG1haW5GcmFtZUltcGwoKS0+ZnJhbWVWaWV3KCksIGV2ZW50KTsKICAgICAgICAgZXZlbnRT
d2FsbG93ZWQgPSBtYWluRnJhbWVJbXBsKCktPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5oYW5k
bGVHZXN0dXJlRXZlbnQocGxhdGZvcm1FdmVudCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAg
ICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1cmVEb3VibGVUYXA6CiAgICAgICAgIGlmIChtX3dl
YlNldHRpbmdzLT5kb3VibGVUYXBUb1pvb21FbmFibGVkKCkgJiYgbV9taW5pbXVtUGFnZVNjYWxl
RmFjdG9yICE9IG1fbWF4aW11bVBhZ2VTY2FsZUZhY3RvcikgewogICAgICAgICAgICAgbV9jbGll
bnQtPmNhbmNlbFNjaGVkdWxlZENvbnRlbnRJbnRlbnRzKCk7Ci0gICAgICAgICAgICBhbmltYXRl
Wm9vbUFyb3VuZFBvaW50KFdlYlBvaW50KGV2ZW50LngsIGV2ZW50LnkpLCBEb3VibGVUYXApOwor
ICAgICAgICAgICAgYW5pbWF0ZVpvb21Bcm91bmRQb2ludChwbGF0Zm9ybUV2ZW50LnBvc2l0aW9u
KCksIERvdWJsZVRhcCk7CiAgICAgICAgICAgICBldmVudFN3YWxsb3dlZCA9IHRydWU7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtODIzLDcgKzgzNCw2IEBAIGJvb2wgV2ViVmll
d0ltcGw6OmhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBXZWJHZXN0dXJlRXZlbnQmIGV2ZW50KQog
ICAgIGNhc2UgV2ViSW5wdXRFdmVudDo6R2VzdHVyZVRhcENhbmNlbDoKICAgICBjYXNlIFdlYklu
cHV0RXZlbnQ6Okdlc3R1cmVQaW5jaEVuZDoKICAgICBjYXNlIFdlYklucHV0RXZlbnQ6Okdlc3R1
cmVQaW5jaFVwZGF0ZTogewotICAgICAgICBQbGF0Zm9ybUdlc3R1cmVFdmVudEJ1aWxkZXIgcGxh
dGZvcm1FdmVudChtYWluRnJhbWVJbXBsKCktPmZyYW1lVmlldygpLCBldmVudCk7CiAgICAgICAg
IGV2ZW50U3dhbGxvd2VkID0gbWFpbkZyYW1lSW1wbCgpLT5mcmFtZSgpLT5ldmVudEhhbmRsZXIo
KS0+aGFuZGxlR2VzdHVyZUV2ZW50KHBsYXRmb3JtRXZlbnQpOwogICAgICAgICBicmVhazsKICAg
ICB9CkBAIC0xMjcwLDE3ICsxMjgwLDE2IEBAIHN0YXRpYyBib29sIGludm9rZXNIYW5kQ3Vyc29y
KE5vZGUqIG5vZGUsIGJvb2wgc2hpZnRLZXksIEZyYW1lKiBmcmFtZSkKICAgICAgICAgfHwgKGN1
cnNvciA9PSBDVVJTT1JfQVVUTyAmJiBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPnVzZUhhbmRDdXJz
b3Iobm9kZSwgbm9kZS0+aXNMaW5rKCksIHNoaWZ0S2V5KSk7CiB9CiAKLU5vZGUqIFdlYlZpZXdJ
bXBsOjpiZXN0VG91Y2hMaW5rTm9kZShjb25zdCBXZWJHZXN0dXJlRXZlbnQmIHRvdWNoRXZlbnQp
CitOb2RlKiBXZWJWaWV3SW1wbDo6YmVzdFRhcE5vZGUoY29uc3QgUGxhdGZvcm1HZXN0dXJlRXZl
bnQmIHRhcEV2ZW50KQogewogICAgIGlmICghbV9wYWdlIHx8ICFtX3BhZ2UtPm1haW5GcmFtZSgp
KQogICAgICAgICByZXR1cm4gMDsKIAogICAgIE5vZGUqIGJlc3RUb3VjaE5vZGUgPSAwOwogCi0g
ICAgSW50U2l6ZSB0b3VjaEV2ZW50U2VhcmNoUmVnaW9uU2l6ZSh0b3VjaEV2ZW50LmRhdGEudGFw
RG93bi53aWR0aCAvIDIsIHRvdWNoRXZlbnQuZGF0YS50YXBEb3duLmhlaWdodCAvIDIpOwotICAg
IEludFBvaW50IHRvdWNoRXZlbnRMb2NhdGlvbih0b3VjaEV2ZW50LngsIHRvdWNoRXZlbnQueSk7
CisgICAgSW50UG9pbnQgdG91Y2hFdmVudExvY2F0aW9uKHRhcEV2ZW50LnBvc2l0aW9uKCkpOwog
I2lmIEVOQUJMRShUT1VDSF9BREpVU1RNRU5UKQotICAgIG1fcGFnZS0+bWFpbkZyYW1lKCktPmV2
ZW50SGFuZGxlcigpLT5hZGp1c3RHZXN0dXJlUG9zaXRpb24oUGxhdGZvcm1HZXN0dXJlRXZlbnRC
dWlsZGVyKG1haW5GcmFtZUltcGwoKS0+ZnJhbWVWaWV3KCksIHRvdWNoRXZlbnQpLCB0b3VjaEV2
ZW50TG9jYXRpb24pOworICAgIG1fcGFnZS0+bWFpbkZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5h
ZGp1c3RHZXN0dXJlUG9zaXRpb24odGFwRXZlbnQsIHRvdWNoRXZlbnRMb2NhdGlvbik7CiAjZW5k
aWYKIAogICAgIEludFBvaW50IGhpdFRlc3RQb2ludCA9IG1fcGFnZS0+bWFpbkZyYW1lKCktPnZp
ZXcoKS0+d2luZG93VG9Db250ZW50cyh0b3VjaEV2ZW50TG9jYXRpb24pOwpAQCAtMTI5MCwyMyAr
MTI5OSwyMiBAQCBOb2RlKiBXZWJWaWV3SW1wbDo6YmVzdFRvdWNoTGlua05vZGUoY29uc3QgV2Vi
R2VzdHVyZUV2ZW50JiB0b3VjaEV2ZW50KQogCiAgICAgLy8gTWFrZSBzdXJlIG91ciBoaWdobGln
aHQgY2FuZGlkYXRlIHVzZXMgYSBoYW5kIGN1cnNvciBhcyBhIGhldXJpc3RpYyB0bwogICAgIC8v
IGNob29zZSBhcHByb3ByaWF0ZSB0YXJnZXRzLgotICAgIGJvb2wgc2hpZnRLZXkgPSB0b3VjaEV2
ZW50Lm1vZGlmaWVycyAmIFdlYkdlc3R1cmVFdmVudDo6U2hpZnRLZXk7Ci0gICAgd2hpbGUgKGJl
c3RUb3VjaE5vZGUgJiYgIWludm9rZXNIYW5kQ3Vyc29yKGJlc3RUb3VjaE5vZGUsIHNoaWZ0S2V5
LCBtX3BhZ2UtPm1haW5GcmFtZSgpKSkKKyAgICB3aGlsZSAoYmVzdFRvdWNoTm9kZSAmJiAhaW52
b2tlc0hhbmRDdXJzb3IoYmVzdFRvdWNoTm9kZSwgZmFsc2UsIG1fcGFnZS0+bWFpbkZyYW1lKCkp
KQogICAgICAgICBiZXN0VG91Y2hOb2RlID0gYmVzdFRvdWNoTm9kZS0+cGFyZW50Tm9kZSgpOwog
CiAgICAgLy8gV2Ugc2hvdWxkIHBpY2sgdGhlIGxhcmdlc3QgZW5jbG9zaW5nIG5vZGUgd2l0aCBo
YW5kIGN1cnNvciBzZXQuCi0gICAgd2hpbGUgKGJlc3RUb3VjaE5vZGUgJiYgYmVzdFRvdWNoTm9k
ZS0+cGFyZW50Tm9kZSgpICYmIGludm9rZXNIYW5kQ3Vyc29yKGJlc3RUb3VjaE5vZGUtPnBhcmVu
dE5vZGUoKSwgc2hpZnRLZXksIG1fcGFnZS0+bWFpbkZyYW1lKCkpKQorICAgIHdoaWxlIChiZXN0
VG91Y2hOb2RlICYmIGJlc3RUb3VjaE5vZGUtPnBhcmVudE5vZGUoKSAmJiBpbnZva2VzSGFuZEN1
cnNvcihiZXN0VG91Y2hOb2RlLT5wYXJlbnROb2RlKCksIGZhbHNlLCBtX3BhZ2UtPm1haW5GcmFt
ZSgpKSkKICAgICAgICAgYmVzdFRvdWNoTm9kZSA9IGJlc3RUb3VjaE5vZGUtPnBhcmVudE5vZGUo
KTsKIAogICAgIHJldHVybiBiZXN0VG91Y2hOb2RlOwogfQogCi12b2lkIFdlYlZpZXdJbXBsOjpl
bmFibGVUb3VjaEhpZ2hsaWdodChjb25zdCBXZWJHZXN0dXJlRXZlbnQmIHRvdWNoRXZlbnQpCit2
b2lkIFdlYlZpZXdJbXBsOjplbmFibGVUYXBIaWdobGlnaHQoY29uc3QgUGxhdGZvcm1HZXN0dXJl
RXZlbnQmIHRhcEV2ZW50KQogewogICAgIC8vIEFsd2F5cyBjbGVhciBhbnkgZXhpc3RpbmcgaGln
aGxpZ2h0IHdoZW4gdGhpcyBpcyBpbnZva2VkLCBldmVuIGlmIHdlIGRvbid0IGdldCBhIG5ldyB0
YXJnZXQgdG8gaGlnaGxpZ2h0LgogICAgIG1fbGlua0hpZ2hsaWdodC5jbGVhcigpOwogCi0gICAg
Tm9kZSogdG91Y2hOb2RlID0gYmVzdFRvdWNoTGlua05vZGUodG91Y2hFdmVudCk7CisgICAgTm9k
ZSogdG91Y2hOb2RlID0gYmVzdFRhcE5vZGUodGFwRXZlbnQpOwogCiAgICAgaWYgKCF0b3VjaE5v
ZGUgfHwgIXRvdWNoTm9kZS0+cmVuZGVyZXIoKSB8fCAhdG91Y2hOb2RlLT5yZW5kZXJlcigpLT5l
bmNsb3NpbmdMYXllcigpKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuaAppbmRleCBiNzkxZmEzMDNjNGE2YzNkYWM1NGNhMGYwYTM0NzAxMzQ3
ZWFlZDk3Li5hOTUxOTZjZTM2YmFmMzZkODAyOTEzZWVmOTJlYjQxMWRjYWZmZjM5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAgLTU3Niw4ICs1NzYsOCBAQCBw
dWJsaWM6CiAKICNpZiBFTkFCTEUoR0VTVFVSRV9FVkVOVFMpCiAgICAgdm9pZCBjb21wdXRlU2Nh
bGVBbmRTY3JvbGxGb3JIaXRSZWN0KGNvbnN0IFdlYlJlY3QmIGhpdFJlY3QsIEF1dG9ab29tVHlw
ZSwgZmxvYXQmIHNjYWxlLCBXZWJQb2ludCYgc2Nyb2xsLCBib29sJiBpc0FuY2hvcik7Ci0gICAg
V2ViQ29yZTo6Tm9kZSogYmVzdFRvdWNoTGlua05vZGUoY29uc3QgV2ViR2VzdHVyZUV2ZW50JiB0
b3VjaEV2ZW50KTsKLSAgICB2b2lkIGVuYWJsZVRvdWNoSGlnaGxpZ2h0KGNvbnN0IFdlYkdlc3R1
cmVFdmVudCYgdG91Y2hFdmVudCk7CisgICAgV2ViQ29yZTo6Tm9kZSogYmVzdFRhcE5vZGUoY29u
c3QgV2ViQ29yZTo6UGxhdGZvcm1HZXN0dXJlRXZlbnQmIHRhcEV2ZW50KTsKKyAgICB2b2lkIGVu
YWJsZVRhcEhpZ2hsaWdodChjb25zdCBXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVFdmVudCYgdGFw
RXZlbnQpOwogICAgIHZvaWQgY29tcHV0ZVNjYWxlQW5kU2Nyb2xsRm9yRm9jdXNlZE5vZGUoV2Vi
Q29yZTo6Tm9kZSogZm9jdXNlZE5vZGUsIGZsb2F0JiBzY2FsZSwgV2ViQ29yZTo6SW50UG9pbnQm
IHNjcm9sbCwgYm9vbCYgbmVlZEFuaW1hdGlvbik7CiAjZW5kaWYKICAgICB2b2lkIGFuaW1hdGVa
b29tQXJvdW5kUG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBBdXRvWm9vbVR5cGUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9MaW5rSGlnaGxpZ2h0VGVz
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xpbmtIaWdobGlnaHRUZXN0LmNw
cAppbmRleCAyMDAxOGZkNTkzZDI2NGZhMjgwNjQ0OWI0YjEwOTQ1ZDhmNDhjMGQwLi4xNDA3NzNi
NWE2YWQzOWJiNTBmNWE4Zjk1NmRjNDAwYTBiODhhZTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL0xpbmtIaWdobGlnaHRUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL0xpbmtIaWdobGlnaHRUZXN0LmNwcApAQCAtMjcsMTIgKzI3LDE1
IEBACiAjaW5jbHVkZSAiTGlua0hpZ2hsaWdodC5oIgogCiAjaW5jbHVkZSAiRnJhbWVUZXN0SGVs
cGVycy5oIgorI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNp
bmNsdWRlICJOb2RlLmgiCiAjaW5jbHVkZSAiVVJMVGVzdEhlbHBlcnMuaCIKICNpbmNsdWRlICJX
ZWJDb21wb3NpdG9ySW5pdGlhbGl6ZXIuaCIKICNpbmNsdWRlICJXZWJGcmFtZS5oIgorI2luY2x1
ZGUgIldlYkZyYW1lSW1wbC5oIgogI2luY2x1ZGUgIldlYklucHV0RXZlbnQuaCIKKyNpbmNsdWRl
ICJXZWJJbnB1dEV2ZW50Q29udmVyc2lvbi5oIgogI2luY2x1ZGUgIldlYlZpZXdJbXBsLmgiCiAj
aW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViQ29udGVudExheWVy
Lmg+CkBAIC02NiwxNiArNjksMjcgQEAgVEVTVChMaW5rSGlnaGxpZ2h0VGVzdCwgdmVyaWZ5V2Vi
Vmlld0ltcGxJbnRlZ3JhdGlvbikKICAgICAvLyBUaGUgY29vcmRpbmF0ZXMgYmVsb3cgYXJlIGxp
bmtlZCB0byBhYnNvbHV0ZSBwb3NpdGlvbnMgaW4gdGhlIHJlZmVyZW5jZWQgLmh0bWwgZmlsZS4K
ICAgICB0b3VjaEV2ZW50LnggPSAyMDsKICAgICB0b3VjaEV2ZW50LnkgPSAyMDsKLSAgICBOb2Rl
KiB0b3VjaE5vZGUgPSB3ZWJWaWV3SW1wbC0+YmVzdFRvdWNoTGlua05vZGUodG91Y2hFdmVudCk7
Ci0gICAgQVNTRVJUX1RSVUUodG91Y2hOb2RlKTsKKworICAgIHsKKyAgICAgICAgUGxhdGZvcm1H
ZXN0dXJlRXZlbnRCdWlsZGVyIHBsYXRmb3JtRXZlbnQod2ViVmlld0ltcGwtPm1haW5GcmFtZUlt
cGwoKS0+ZnJhbWVWaWV3KCksIHRvdWNoRXZlbnQpOworICAgICAgICBOb2RlKiB0b3VjaE5vZGUg
PSB3ZWJWaWV3SW1wbC0+YmVzdFRhcE5vZGUocGxhdGZvcm1FdmVudCk7CisgICAgICAgIEFTU0VS
VF9UUlVFKHRvdWNoTm9kZSk7CisgICAgfQogCiAgICAgdG91Y2hFdmVudC55ID0gNDA7Ci0gICAg
RVhQRUNUX0ZBTFNFKHdlYlZpZXdJbXBsLT5iZXN0VG91Y2hMaW5rTm9kZSh0b3VjaEV2ZW50KSk7
CisgICAgeworICAgICAgICBQbGF0Zm9ybUdlc3R1cmVFdmVudEJ1aWxkZXIgcGxhdGZvcm1FdmVu
dCh3ZWJWaWV3SW1wbC0+bWFpbkZyYW1lSW1wbCgpLT5mcmFtZVZpZXcoKSwgdG91Y2hFdmVudCk7
CisgICAgICAgIEVYUEVDVF9GQUxTRSh3ZWJWaWV3SW1wbC0+YmVzdFRhcE5vZGUocGxhdGZvcm1F
dmVudCkpOworICAgIH0KIAogICAgIHRvdWNoRXZlbnQueSA9IDIwOwogICAgIC8vIFNob3VsZG4n
dCBjcmFzaC4KIAotICAgIHdlYlZpZXdJbXBsLT5lbmFibGVUb3VjaEhpZ2hsaWdodCh0b3VjaEV2
ZW50KTsKKyAgICB7CisgICAgICAgIFBsYXRmb3JtR2VzdHVyZUV2ZW50QnVpbGRlciBwbGF0Zm9y
bUV2ZW50KHdlYlZpZXdJbXBsLT5tYWluRnJhbWVJbXBsKCktPmZyYW1lVmlldygpLCB0b3VjaEV2
ZW50KTsKKyAgICAgICAgd2ViVmlld0ltcGwtPmVuYWJsZVRhcEhpZ2hsaWdodChwbGF0Zm9ybUV2
ZW50KTsKKyAgICB9CisKICAgICBFWFBFQ1RfVFJVRSh3ZWJWaWV3SW1wbC0+bGlua0hpZ2hsaWdo
dCgpKTsKICAgICBFWFBFQ1RfVFJVRSh3ZWJWaWV3SW1wbC0+bGlua0hpZ2hsaWdodCgpLT5jb250
ZW50TGF5ZXIoKSk7CiAgICAgRVhQRUNUX1RSVUUod2ViVmlld0ltcGwtPmxpbmtIaWdobGlnaHQo
KS0+Y2xpcExheWVyKCkpOwpAQCAtODMsMTYgKzk3LDI2IEBAIFRFU1QoTGlua0hpZ2hsaWdodFRl
c3QsIHZlcmlmeVdlYlZpZXdJbXBsSW50ZWdyYXRpb24pCiAgICAgLy8gRmluZCBhIHRhcmdldCBp
bnNpZGUgYSBzY3JvbGxhYmxlIGRpdgogCiAgICAgdG91Y2hFdmVudC55ID0gMTAwOwotICAgIHdl
YlZpZXdJbXBsLT5lbmFibGVUb3VjaEhpZ2hsaWdodCh0b3VjaEV2ZW50KTsKKyAgICB7CisgICAg
ICAgIFBsYXRmb3JtR2VzdHVyZUV2ZW50QnVpbGRlciBwbGF0Zm9ybUV2ZW50KHdlYlZpZXdJbXBs
LT5tYWluRnJhbWVJbXBsKCktPmZyYW1lVmlldygpLCB0b3VjaEV2ZW50KTsKKyAgICAgICAgd2Vi
Vmlld0ltcGwtPmVuYWJsZVRhcEhpZ2hsaWdodChwbGF0Zm9ybUV2ZW50KTsKKyAgICB9CisKICAg
ICBBU1NFUlRfVFJVRSh3ZWJWaWV3SW1wbC0+bGlua0hpZ2hsaWdodCgpKTsKIAogICAgIC8vIERv
bid0IGhpZ2hsaWdodCBpZiBubyAiaGFuZCBjdXJzb3IiCiAgICAgdG91Y2hFdmVudC55ID0gMjIw
OyAvLyBBbiBBLWxpbmsgd2l0aCBjcm9zcy1oYWlyIGN1cnNvci4KLSAgICB3ZWJWaWV3SW1wbC0+
ZW5hYmxlVG91Y2hIaWdobGlnaHQodG91Y2hFdmVudCk7CisgICAgeworICAgICAgICBQbGF0Zm9y
bUdlc3R1cmVFdmVudEJ1aWxkZXIgcGxhdGZvcm1FdmVudCh3ZWJWaWV3SW1wbC0+bWFpbkZyYW1l
SW1wbCgpLT5mcmFtZVZpZXcoKSwgdG91Y2hFdmVudCk7CisgICAgICAgIHdlYlZpZXdJbXBsLT5l
bmFibGVUYXBIaWdobGlnaHQocGxhdGZvcm1FdmVudCk7CisgICAgfQogICAgIEFTU0VSVF9GQUxT
RSh3ZWJWaWV3SW1wbC0+bGlua0hpZ2hsaWdodCgpKTsKIAogICAgIHRvdWNoRXZlbnQueSA9IDI2
MDsgLy8gQSB0ZXh0IGlucHV0IGJveC4KLSAgICB3ZWJWaWV3SW1wbC0+ZW5hYmxlVG91Y2hIaWdo
bGlnaHQodG91Y2hFdmVudCk7CisgICAgeworICAgICAgICBQbGF0Zm9ybUdlc3R1cmVFdmVudEJ1
aWxkZXIgcGxhdGZvcm1FdmVudCh3ZWJWaWV3SW1wbC0+bWFpbkZyYW1lSW1wbCgpLT5mcmFtZVZp
ZXcoKSwgdG91Y2hFdmVudCk7CisgICAgICAgIHdlYlZpZXdJbXBsLT5lbmFibGVUYXBIaWdobGln
aHQocGxhdGZvcm1FdmVudCk7CisgICAgfQogICAgIEFTU0VSVF9GQUxTRSh3ZWJWaWV3SW1wbC0+
bGlua0hpZ2hsaWdodCgpKTsKIAogICAgIHdlYlZpZXdJbXBsLT5jbG9zZSgpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>