<?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>150306</bug_id>
          
          <creation_ts>2015-10-18 15:42:06 -0700</creation_ts>
          <short_desc>Shadow GraphicsContext&apos;s ImageInterpolationQuality inside GraphicsContextState</short_desc>
          <delta_ts>2015-10-19 21:23:43 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit 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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1134366</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-10-18 15:42:06 -0700</bug_when>
    <thetext>Shadow GraphicsContext&apos;s ImageInterpolationQuality inside GraphicsContextState</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134369</commentid>
    <comment_count>1</comment_count>
      <attachid>263430</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-10-18 15:45:22 -0700</bug_when>
    <thetext>Created attachment 263430
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134375</commentid>
    <comment_count>2</comment_count>
      <attachid>263430</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-10-18 15:55:52 -0700</bug_when>
    <thetext>Comment on attachment 263430
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        When getting the ImageInterpolationQuality, there is no need to round-trip through
&gt; +        the platform&apos;s graphics context. This patch migrates this piece of state to the
&gt; +        existing idiom of having a setter in GraphicsContext.cpp which sets the relevent
&gt; +        state in GraphicsContextState and then calls into a platform-specific setter.

I don’t understand what’s going on with this sequence of patches. Are we going to shadow all the state from the platform graphics contexts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134634</commentid>
    <comment_count>3</comment_count>
      <attachid>263493</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-10-19 11:21:51 -0700</bug_when>
    <thetext>Created attachment 263493
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134638</commentid>
    <comment_count>4</comment_count>
      <attachid>263493</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-10-19 11:26:46 -0700</bug_when>
    <thetext>Comment on attachment 263493
Patch

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

&gt; Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:117
&gt; +static InterpolationQuality convertInterpolationQuality(CGInterpolationQuality quality)

Can this be a C++ operator?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134800</commentid>
    <comment_count>5</comment_count>
      <attachid>263493</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-10-19 21:21:37 -0700</bug_when>
    <thetext>Comment on attachment 263493
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:117
&gt;&gt; +static InterpolationQuality convertInterpolationQuality(CGInterpolationQuality quality)
&gt; 
&gt; Can this be a C++ operator?

error: conversion function must be a non-static member function</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134801</commentid>
    <comment_count>6</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-10-19 21:23:43 -0700</bug_when>
    <thetext>Committed r191330: &lt;http://trac.webkit.org/changeset/191330&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263430</attachid>
            <date>2015-10-18 15:45:22 -0700</date>
            <delta_ts>2015-10-19 11:21:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150306-20151018154445.patch</filename>
            <type>text/plain</type>
            <size>8416</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxMjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDllMGQ3OTM3N2U5Yzhi
MjdhYzljYjJjNmU1ODU5ODk4ZDliZTJjZi4uNDIyM2E3MGUxMzgxYjg5MmY5ZjMxNTZlMDE1OWU2
NzM4ZmMxMmRmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE1LTEwLTE4ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgU2hhZG93IEdy
YXBoaWNzQ29udGV4dCdzIEltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHkgaW5zaWRlIEdyYXBoaWNz
Q29udGV4dFN0YXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTAzMDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXaGVuIGdldHRpbmcgdGhlIEltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHksIHRoZXJlIGlz
IG5vIG5lZWQgdG8gcm91bmQtdHJpcCB0aHJvdWdoCisgICAgICAgIHRoZSBwbGF0Zm9ybSdzIGdy
YXBoaWNzIGNvbnRleHQuIFRoaXMgcGF0Y2ggbWlncmF0ZXMgdGhpcyBwaWVjZSBvZiBzdGF0ZSB0
byB0aGUKKyAgICAgICAgZXhpc3RpbmcgaWRpb20gb2YgaGF2aW5nIGEgc2V0dGVyIGluIEdyYXBo
aWNzQ29udGV4dC5jcHAgd2hpY2ggc2V0cyB0aGUgcmVsZXZlbnQKKyAgICAgICAgc3RhdGUgaW4g
R3JhcGhpY3NDb250ZXh0U3RhdGUgYW5kIHRoZW4gY2FsbHMgaW50byBhIHBsYXRmb3JtLXNwZWNp
ZmljIHNldHRlci4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSBpcyBubyBi
ZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpzZXRJbWFnZUlu
dGVycG9sYXRpb25RdWFsaXR5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0NvbnRleHQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6aW1hZ2VJbnRl
cnBvbGF0aW9uUXVhbGl0eSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3Jh
cGhpY3NDb250ZXh0Q2Fpcm8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
OjpzZXRQbGF0Zm9ybUltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHkpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0OjpzZXRJbWFnZUludGVycG9sYXRpb25RdWFsaXR5KTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6aW1hZ2VJbnRlcnBvbGF0aW9u
UXVhbGl0eSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhp
Y3NDb250ZXh0Q0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29udmVydEludGVycG9sYXRpb25R
dWFsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6cGxhdGZvcm1Jbml0
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6c2V0UGxhdGZvcm1JbWFnZUlu
dGVycG9sYXRpb25RdWFsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6
c2V0SW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQ6OmltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHkpOiBEZWxldGVkLgor
CiAyMDE1LTEwLTE4ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTkxMjUwIGFuZCByMTkxMjUzLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5j
cHAKaW5kZXggMmI0YTJmNzk5ZjlmNTA1MjVkOWU5OGI1NjEwYzFjNDVkNTRhYWEzZS4uMzIyNmNh
MjRjNWFiYjM0OTVlYjJiOTZjNzEwYWQ1MjZlNzhlZGRhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCkBAIC0yNjIsNiAr
MjYyLDE2IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpzZXRTaG91bGRTbW9vdGhGb250cyhib29s
IHNob3VsZFNtb290aEZvbnRzKQogICAgIHNldFBsYXRmb3JtU2hvdWxkU21vb3RoRm9udHMoc2hv
dWxkU21vb3RoRm9udHMpOwogfQogCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6c2V0SW1hZ2VJbnRl
cnBvbGF0aW9uUXVhbGl0eShJbnRlcnBvbGF0aW9uUXVhbGl0eSBpbWFnZUludGVycG9sYXRpb25R
dWFsaXR5KQoreworICAgIG1fc3RhdGUuaW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eSA9IGltYWdl
SW50ZXJwb2xhdGlvblF1YWxpdHk7CisKKyAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBzZXRQbGF0Zm9ybUltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHko
aW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eSk7Cit9CisKIHZvaWQgR3JhcGhpY3NDb250ZXh0Ojpz
ZXRBbnRpYWxpYXNlZEZvbnREaWxhdGlvbkVuYWJsZWQoYm9vbCBhbnRpYWxpYXNlZEZvbnREaWxh
dGlvbkVuYWJsZWQpCiB7CiAgICAgbV9zdGF0ZS5hbnRpYWxpYXNlZEZvbnREaWxhdGlvbkVuYWJs
ZWQgPSBhbnRpYWxpYXNlZEZvbnREaWxhdGlvbkVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCmluZGV4IDUyYzVkMmJhOWZl
NjI4NzA0NDhjYTI4NDNjMmJjMmE0MjhhYjg4OTcuLjVmN2I5NTcyMjQ1Y2Q3YTQ2MDFkZDZlMGUx
NzIwNmU1MjM5ODlmYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzQ29udGV4dC5oCkBAIC0xNTUsNiArMTU1LDcgQEAgc3RydWN0IEdyYXBoaWNz
Q29udGV4dFN0YXRlIHsKICAgICBmbG9hdCBhbHBoYSB7IDEgfTsKICAgICBDb21wb3NpdGVPcGVy
YXRvciBjb21wb3NpdGVPcGVyYXRvciB7IENvbXBvc2l0ZVNvdXJjZU92ZXIgfTsKICAgICBCbGVu
ZE1vZGUgYmxlbmRNb2RlIHsgQmxlbmRNb2RlTm9ybWFsIH07CisgICAgSW50ZXJwb2xhdGlvblF1
YWxpdHkgaW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eSB7IEludGVycG9sYXRpb25EZWZhdWx0IH07
CiAKICAgICBib29sIHNob3VsZEFudGlhbGlhcyA6IDE7CiAgICAgYm9vbCBzaG91bGRTbW9vdGhG
b250cyA6IDE7CkBAIC0zMjUsNyArMzI2LDcgQEAgcHVibGljOgogICAgIHZvaWQgZHJhd1BhdHRl
cm4oSW1hZ2UmLCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEFmZmluZVRyYW5zZm9y
bSYsIGNvbnN0IEZsb2F0UG9pbnQmIHBoYXNlLCBjb25zdCBGbG9hdFNpemUmIHNwYWNpbmcsIENv
bG9yU3BhY2UsIENvbXBvc2l0ZU9wZXJhdG9yLCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0LCBC
bGVuZE1vZGUgPSBCbGVuZE1vZGVOb3JtYWwpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBz
ZXRJbWFnZUludGVycG9sYXRpb25RdWFsaXR5KEludGVycG9sYXRpb25RdWFsaXR5KTsKLSAgICBJ
bnRlcnBvbGF0aW9uUXVhbGl0eSBpbWFnZUludGVycG9sYXRpb25RdWFsaXR5KCkgY29uc3Q7Cisg
ICAgSW50ZXJwb2xhdGlvblF1YWxpdHkgaW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eSgpIGNvbnN0
IHsgcmV0dXJuIG1fc3RhdGUuaW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eTsgfQogCiAgICAgV0VC
Q09SRV9FWFBPUlQgdm9pZCBjbGlwKGNvbnN0IEludFJlY3QmKTsKICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIGNsaXAoY29uc3QgRmxvYXRSZWN0Jik7CkBAIC01NDEsNiArNTQyLDcgQEAgcHJpdmF0
ZToKIAogICAgIHZvaWQgc2V0UGxhdGZvcm1TaG91bGRBbnRpYWxpYXMoYm9vbCk7CiAgICAgdm9p
ZCBzZXRQbGF0Zm9ybVNob3VsZFNtb290aEZvbnRzKGJvb2wpOworICAgIHZvaWQgc2V0UGxhdGZv
cm1JbWFnZUludGVycG9sYXRpb25RdWFsaXR5KEludGVycG9sYXRpb25RdWFsaXR5KTsKIAogICAg
IHZvaWQgc2V0UGxhdGZvcm1TaGFkb3coY29uc3QgRmxvYXRTaXplJiwgZmxvYXQgYmx1ciwgY29u
c3QgQ29sb3ImLCBDb2xvclNwYWNlKTsKICAgICB2b2lkIGNsZWFyUGxhdGZvcm1TaGFkb3coKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBo
aWNzQ29udGV4dENhaXJvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
aXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcAppbmRleCA5M2ZiMzBjN2UxYTc2MDIyZmYzYzU1
ODBkNGNlNzk0OTM1NGM4Y2I3Li44ZDhmYjU3ZDVmMmQ4MTBiOWJmOWJlNDA5ZmE0NzQ3ZGZmNTEx
NjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9H
cmFwaGljc0NvbnRleHRDYWlyby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCkBAIC0xMDk4LDE2ICsxMDk4LDEx
IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpzZXRQbGF0Zm9ybVNob3VsZEFudGlhbGlhcyhib29s
IGVuYWJsZSkKICAgICBjYWlyb19zZXRfYW50aWFsaWFzKHBsYXRmb3JtQ29udGV4dCgpLT5jcigp
LCBlbmFibGUgPyBDQUlST19BTlRJQUxJQVNfREVGQVVMVCA6IENBSVJPX0FOVElBTElBU19OT05F
KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldEltYWdlSW50ZXJwb2xhdGlvblF1YWxp
dHkoSW50ZXJwb2xhdGlvblF1YWxpdHkgcXVhbGl0eSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0Ojpz
ZXRQbGF0Zm9ybUltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHkoSW50ZXJwb2xhdGlvblF1YWxpdHkg
cXVhbGl0eSkKIHsKICAgICBwbGF0Zm9ybUNvbnRleHQoKS0+c2V0SW1hZ2VJbnRlcnBvbGF0aW9u
UXVhbGl0eShxdWFsaXR5KTsKIH0KIAotSW50ZXJwb2xhdGlvblF1YWxpdHkgR3JhcGhpY3NDb250
ZXh0OjppbWFnZUludGVycG9sYXRpb25RdWFsaXR5KCkgY29uc3QKLXsKLSAgICByZXR1cm4gcGxh
dGZvcm1Db250ZXh0KCktPmltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHkoKTsKLX0KLQogYm9vbCBH
cmFwaGljc0NvbnRleHQ6OmlzQWNjZWxlcmF0ZWRDb250ZXh0KCkgY29uc3QKIHsKICAgICByZXR1
cm4gY2Fpcm9fc3VyZmFjZV9nZXRfdHlwZShjYWlyb19nZXRfdGFyZ2V0KHBsYXRmb3JtQ29udGV4
dCgpLT5jcigpKSkgPT0gQ0FJUk9fU1VSRkFDRV9UWVBFX0dMOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCmlu
ZGV4IGJiZGJjZjU5ODEwMjU5MDhlOTY5ODQxYWQyYTQ1N2U0ZGI2YzdkNTIuLjg2N2Y2MjVkOGUz
YzFhOWQ4MzM0NGRlYWYxY2MzZDIwZmNmNTFkODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRDRy5jcHAKQEAgLTEw
NCw2ICsxMDQsMjMgQEAgQ0dDb2xvclNwYWNlUmVmIGxpbmVhclJHQkNvbG9yU3BhY2VSZWYoKQog
fQogI2VuZGlmCiAKK3N0YXRpYyBJbnRlcnBvbGF0aW9uUXVhbGl0eSBjb252ZXJ0SW50ZXJwb2xh
dGlvblF1YWxpdHkoQ0dJbnRlcnBvbGF0aW9uUXVhbGl0eSBxdWFsaXR5KQoreworICAgIHN3aXRj
aCAocXVhbGl0eSkgeworICAgIGNhc2Uga0NHSW50ZXJwb2xhdGlvbkRlZmF1bHQ6CisgICAgICAg
IHJldHVybiBJbnRlcnBvbGF0aW9uRGVmYXVsdDsKKyAgICBjYXNlIGtDR0ludGVycG9sYXRpb25O
b25lOgorICAgICAgICByZXR1cm4gSW50ZXJwb2xhdGlvbk5vbmU7CisgICAgY2FzZSBrQ0dJbnRl
cnBvbGF0aW9uTG93OgorICAgICAgICByZXR1cm4gSW50ZXJwb2xhdGlvbkxvdzsKKyAgICBjYXNl
IGtDR0ludGVycG9sYXRpb25NZWRpdW06CisgICAgICAgIHJldHVybiBJbnRlcnBvbGF0aW9uTWVk
aXVtOworICAgIGNhc2Uga0NHSW50ZXJwb2xhdGlvbkhpZ2g6CisgICAgICAgIHJldHVybiBJbnRl
cnBvbGF0aW9uSGlnaDsKKyAgICB9CisgICAgcmV0dXJuIEludGVycG9sYXRpb25EZWZhdWx0Owor
fQorCiB2b2lkIEdyYXBoaWNzQ29udGV4dDo6cGxhdGZvcm1Jbml0KENHQ29udGV4dFJlZiBjZ0Nv
bnRleHQpCiB7CiAgICAgbV9kYXRhID0gbmV3IEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0
ZShjZ0NvbnRleHQpOwpAQCAtMTEzLDYgKzEzMCw4IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0Ojpw
bGF0Zm9ybUluaXQoQ0dDb250ZXh0UmVmIGNnQ29udGV4dCkKICAgICAgICAgc2V0UGxhdGZvcm1G
aWxsQ29sb3IoZmlsbENvbG9yKCksIGZpbGxDb2xvclNwYWNlKCkpOwogICAgICAgICBzZXRQbGF0
Zm9ybVN0cm9rZUNvbG9yKHN0cm9rZUNvbG9yKCksIHN0cm9rZUNvbG9yU3BhY2UoKSk7CiAgICAg
ICAgIHNldFBsYXRmb3JtU3Ryb2tlVGhpY2tuZXNzKHN0cm9rZVRoaWNrbmVzcygpKTsKKworICAg
ICAgICBtX3N0YXRlLmltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHkgPSBjb252ZXJ0SW50ZXJwb2xh
dGlvblF1YWxpdHkoQ0dDb250ZXh0R2V0SW50ZXJwb2xhdGlvblF1YWxpdHkocGxhdGZvcm1Db250
ZXh0KCkpKTsKICAgICB9CiB9CiAKQEAgLTE0MzMsMTEgKzE0NTIsOCBAQCB2b2lkIEdyYXBoaWNz
Q29udGV4dDo6c2V0VVJMRm9yUmVjdChjb25zdCBVUkwmIGxpbmssIGNvbnN0IEludFJlY3QmIGRl
c3RSZWN0KQogI2VuZGlmCiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpzZXRJbWFnZUludGVy
cG9sYXRpb25RdWFsaXR5KEludGVycG9sYXRpb25RdWFsaXR5IG1vZGUpCit2b2lkIEdyYXBoaWNz
Q29udGV4dDo6c2V0UGxhdGZvcm1JbWFnZUludGVycG9sYXRpb25RdWFsaXR5KEludGVycG9sYXRp
b25RdWFsaXR5IG1vZGUpCiB7Ci0gICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKLSAgICAgICAg
cmV0dXJuOwotCiAgICAgQ0dJbnRlcnBvbGF0aW9uUXVhbGl0eSBxdWFsaXR5ID0ga0NHSW50ZXJw
b2xhdGlvbkRlZmF1bHQ7CiAgICAgc3dpdGNoIChtb2RlKSB7CiAgICAgY2FzZSBJbnRlcnBvbGF0
aW9uRGVmYXVsdDoKQEAgLTE0NTksMjcgKzE0NzUsNiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6
c2V0SW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eShJbnRlcnBvbGF0aW9uUXVhbGl0eSBtb2RlKQog
ICAgIENHQ29udGV4dFNldEludGVycG9sYXRpb25RdWFsaXR5KHBsYXRmb3JtQ29udGV4dCgpLCBx
dWFsaXR5KTsKIH0KIAotSW50ZXJwb2xhdGlvblF1YWxpdHkgR3JhcGhpY3NDb250ZXh0OjppbWFn
ZUludGVycG9sYXRpb25RdWFsaXR5KCkgY29uc3QKLXsKLSAgICBpZiAocGFpbnRpbmdEaXNhYmxl
ZCgpKQotICAgICAgICByZXR1cm4gSW50ZXJwb2xhdGlvbkRlZmF1bHQ7Ci0KLSAgICBDR0ludGVy
cG9sYXRpb25RdWFsaXR5IHF1YWxpdHkgPSBDR0NvbnRleHRHZXRJbnRlcnBvbGF0aW9uUXVhbGl0
eShwbGF0Zm9ybUNvbnRleHQoKSk7Ci0gICAgc3dpdGNoIChxdWFsaXR5KSB7Ci0gICAgY2FzZSBr
Q0dJbnRlcnBvbGF0aW9uRGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIEludGVycG9sYXRpb25EZWZh
dWx0OwotICAgIGNhc2Uga0NHSW50ZXJwb2xhdGlvbk5vbmU6Ci0gICAgICAgIHJldHVybiBJbnRl
cnBvbGF0aW9uTm9uZTsKLSAgICBjYXNlIGtDR0ludGVycG9sYXRpb25Mb3c6Ci0gICAgICAgIHJl
dHVybiBJbnRlcnBvbGF0aW9uTG93OwotICAgIGNhc2Uga0NHSW50ZXJwb2xhdGlvbk1lZGl1bToK
LSAgICAgICAgcmV0dXJuIEludGVycG9sYXRpb25NZWRpdW07Ci0gICAgY2FzZSBrQ0dJbnRlcnBv
bGF0aW9uSGlnaDoKLSAgICAgICAgcmV0dXJuIEludGVycG9sYXRpb25IaWdoOwotICAgIH0KLSAg
ICByZXR1cm4gSW50ZXJwb2xhdGlvbkRlZmF1bHQ7Ci19Ci0KIHZvaWQgR3JhcGhpY3NDb250ZXh0
OjpzZXRBbGxvd3NGb250U21vb3RoaW5nKGJvb2wgYWxsb3dzRm9udFNtb290aGluZykKIHsKICAg
ICBVTlVTRURfUEFSQU0oYWxsb3dzRm9udFNtb290aGluZyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263493</attachid>
            <date>2015-10-19 11:21:51 -0700</date>
            <delta_ts>2015-10-19 11:26:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150306-20151019112110.patch</filename>
            <type>text/plain</type>
            <size>8430</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxMjk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGU4NDNlODg5ZGZmNWMy
ZDJjOGM2YmI2Mzc0NTljZTdlMGFmYTEzMy4uMDlmNzdjY2ExMzc0MmJiNTA4NDcyM2IyZDg4ZjFl
MjcxNWUzYTNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE1LTEwLTE5ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgU2hhZG93IEdy
YXBoaWNzQ29udGV4dCdzIEltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHkgaW5zaWRlIEdyYXBoaWNz
Q29udGV4dFN0YXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTAzMDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXaGVuIGdldHRpbmcgdGhlIEltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHksIHRoZXJlIGlz
IG5vIG5lZWQgdG8gcm91bmQtdHJpcCB0aHJvdWdoCisgICAgICAgIHRoZSBwbGF0Zm9ybSdzIGdy
YXBoaWNzIGNvbnRleHQuIFRoaXMgcGF0Y2ggbWlncmF0ZXMgdGhpcyBwaWVjZSBvZiBzdGF0ZSB0
byB0aGUKKyAgICAgICAgZXhpc3RpbmcgaWRpb20gb2YgaGF2aW5nIGEgc2V0dGVyIGluIEdyYXBo
aWNzQ29udGV4dC5jcHAgd2hpY2ggc2V0cyB0aGUgcmVsZXZlbnQKKyAgICAgICAgc3RhdGUgaW4g
R3JhcGhpY3NDb250ZXh0U3RhdGUgYW5kIHRoZW4gY2FsbHMgaW50byBhIHBsYXRmb3JtLXNwZWNp
ZmljIHNldHRlci4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSBpcyBubyBi
ZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpzZXRJbWFnZUlu
dGVycG9sYXRpb25RdWFsaXR5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0NvbnRleHQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6aW1hZ2VJbnRl
cnBvbGF0aW9uUXVhbGl0eSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3Jh
cGhpY3NDb250ZXh0Q2Fpcm8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
OjpzZXRQbGF0Zm9ybUltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHkpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0OjpzZXRJbWFnZUludGVycG9sYXRpb25RdWFsaXR5KTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6aW1hZ2VJbnRlcnBvbGF0aW9u
UXVhbGl0eSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhp
Y3NDb250ZXh0Q0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29udmVydEludGVycG9sYXRpb25R
dWFsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6cGxhdGZvcm1Jbml0
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6c2V0UGxhdGZvcm1JbWFnZUlu
dGVycG9sYXRpb25RdWFsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6
c2V0SW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQ6OmltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHkpOiBEZWxldGVkLgor
CiAyMDE1LTEwLTE5ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAg
ICAgICAgIEFkZCBtYWduaWZ5IGFuZCByb3RhdGUgZ2VzdHVyZSBldmVudCBzdXBwb3J0IGZvciBN
YWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
Q29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQuY3BwCmluZGV4IGE4ZTQ5YmFhMjgwYmRiNmVkYTkzZDM0YTZkYjRlYTc1YmIxZDRhMGIu
LjU4N2U4ZTMyM2MyNDM0OTY0ZDhiNGU5Yzg2NmUwZWZmODU4MTFhNzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcApAQCAt
MzQzLDYgKzM0MywxNiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6c2V0U2hvdWxkU21vb3RoRm9u
dHMoYm9vbCBzaG91bGRTbW9vdGhGb250cykKICAgICBzZXRQbGF0Zm9ybVNob3VsZFNtb290aEZv
bnRzKHNob3VsZFNtb290aEZvbnRzKTsKIH0KIAordm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldElt
YWdlSW50ZXJwb2xhdGlvblF1YWxpdHkoSW50ZXJwb2xhdGlvblF1YWxpdHkgaW1hZ2VJbnRlcnBv
bGF0aW9uUXVhbGl0eSkKK3sKKyAgICBtX3N0YXRlLmltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHkg
PSBpbWFnZUludGVycG9sYXRpb25RdWFsaXR5OworCisgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQo
KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgc2V0UGxhdGZvcm1JbWFnZUludGVycG9sYXRpb25R
dWFsaXR5KGltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHkpOworfQorCiB2b2lkIEdyYXBoaWNzQ29u
dGV4dDo6c2V0QW50aWFsaWFzZWRGb250RGlsYXRpb25FbmFibGVkKGJvb2wgYW50aWFsaWFzZWRG
b250RGlsYXRpb25FbmFibGVkKQogewogICAgIG1fc3RhdGUuYW50aWFsaWFzZWRGb250RGlsYXRp
b25FbmFibGVkID0gYW50aWFsaWFzZWRGb250RGlsYXRpb25FbmFibGVkOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAppbmRleCA3OGFm
YjA3MjdhYjMwMGI5YmNmMWM4OTdlNDdhYTYxODM1ZTljZTYyLi4zMmMzZjgwY2NiY2ZhNmIwOGQx
MTBmZTVmM2Q0MzBjMDA4OTU1MjZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaApAQCAtMTU1LDYgKzE1NSw3IEBAIHN0cnVjdCBH
cmFwaGljc0NvbnRleHRTdGF0ZSB7CiAgICAgZmxvYXQgYWxwaGEgeyAxIH07CiAgICAgQ29tcG9z
aXRlT3BlcmF0b3IgY29tcG9zaXRlT3BlcmF0b3IgeyBDb21wb3NpdGVTb3VyY2VPdmVyIH07CiAg
ICAgQmxlbmRNb2RlIGJsZW5kTW9kZSB7IEJsZW5kTW9kZU5vcm1hbCB9OworICAgIEludGVycG9s
YXRpb25RdWFsaXR5IGltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHkgeyBJbnRlcnBvbGF0aW9uRGVm
YXVsdCB9OwogCiAgICAgQWZmaW5lVHJhbnNmb3JtIHVzZXJUb0RldmljZVNwYWNlQ1RNOwogICAg
IEFmZmluZVRyYW5zZm9ybSBjdG07CkBAIC0zMjUsNyArMzI2LDcgQEAgcHVibGljOgogICAgIHZv
aWQgZHJhd1BhdHRlcm4oSW1hZ2UmLCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEFm
ZmluZVRyYW5zZm9ybSYsIGNvbnN0IEZsb2F0UG9pbnQmIHBoYXNlLCBjb25zdCBGbG9hdFNpemUm
IHNwYWNpbmcsIENvbG9yU3BhY2UsIENvbXBvc2l0ZU9wZXJhdG9yLCBjb25zdCBGbG9hdFJlY3Qm
IGRlc3RSZWN0LCBCbGVuZE1vZGUgPSBCbGVuZE1vZGVOb3JtYWwpOwogCiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzZXRJbWFnZUludGVycG9sYXRpb25RdWFsaXR5KEludGVycG9sYXRpb25RdWFs
aXR5KTsKLSAgICBJbnRlcnBvbGF0aW9uUXVhbGl0eSBpbWFnZUludGVycG9sYXRpb25RdWFsaXR5
KCkgY29uc3Q7CisgICAgSW50ZXJwb2xhdGlvblF1YWxpdHkgaW1hZ2VJbnRlcnBvbGF0aW9uUXVh
bGl0eSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGUuaW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eTsg
fQogCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBjbGlwKGNvbnN0IEludFJlY3QmKTsKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIGNsaXAoY29uc3QgRmxvYXRSZWN0Jik7CkBAIC01NDgsNiArNTQ5
LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2V0UGxhdGZvcm1TaG91bGRBbnRpYWxpYXMoYm9v
bCk7CiAgICAgdm9pZCBzZXRQbGF0Zm9ybVNob3VsZFNtb290aEZvbnRzKGJvb2wpOworICAgIHZv
aWQgc2V0UGxhdGZvcm1JbWFnZUludGVycG9sYXRpb25RdWFsaXR5KEludGVycG9sYXRpb25RdWFs
aXR5KTsKIAogICAgIHZvaWQgc2V0UGxhdGZvcm1TaGFkb3coY29uc3QgRmxvYXRTaXplJiwgZmxv
YXQgYmx1ciwgY29uc3QgQ29sb3ImLCBDb2xvclNwYWNlKTsKICAgICB2b2lkIGNsZWFyUGxhdGZv
cm1TaGFkb3coKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcAppbmRleCBjYTk5ZTU1MjRj
ZjJjMDgzNTQ4ZWIwMWQ1ZmZiYjI2M2JiMzljYTg5Li4yM2Q0Y2ViNDJlM2EwMzA4OWM3ODgwMjI3
MWU1MGNkODE5ZjFiNjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCkBAIC0xMTA2
LDE2ICsxMTA2LDExIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpzZXRQbGF0Zm9ybVNob3VsZEFu
dGlhbGlhcyhib29sIGVuYWJsZSkKICAgICBjYWlyb19zZXRfYW50aWFsaWFzKHBsYXRmb3JtQ29u
dGV4dCgpLT5jcigpLCBlbmFibGUgPyBDQUlST19BTlRJQUxJQVNfREVGQVVMVCA6IENBSVJPX0FO
VElBTElBU19OT05FKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldEltYWdlSW50ZXJw
b2xhdGlvblF1YWxpdHkoSW50ZXJwb2xhdGlvblF1YWxpdHkgcXVhbGl0eSkKK3ZvaWQgR3JhcGhp
Y3NDb250ZXh0OjpzZXRQbGF0Zm9ybUltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHkoSW50ZXJwb2xh
dGlvblF1YWxpdHkgcXVhbGl0eSkKIHsKICAgICBwbGF0Zm9ybUNvbnRleHQoKS0+c2V0SW1hZ2VJ
bnRlcnBvbGF0aW9uUXVhbGl0eShxdWFsaXR5KTsKIH0KIAotSW50ZXJwb2xhdGlvblF1YWxpdHkg
R3JhcGhpY3NDb250ZXh0OjppbWFnZUludGVycG9sYXRpb25RdWFsaXR5KCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gcGxhdGZvcm1Db250ZXh0KCktPmltYWdlSW50ZXJwb2xhdGlvblF1YWxpdHkoKTsK
LX0KLQogYm9vbCBHcmFwaGljc0NvbnRleHQ6OmlzQWNjZWxlcmF0ZWRDb250ZXh0KCkgY29uc3QK
IHsKICAgICByZXR1cm4gY2Fpcm9fc3VyZmFjZV9nZXRfdHlwZShjYWlyb19nZXRfdGFyZ2V0KHBs
YXRmb3JtQ29udGV4dCgpLT5jcigpKSkgPT0gQ0FJUk9fU1VSRkFDRV9UWVBFX0dMOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0
Q0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250
ZXh0Q0cuY3BwCmluZGV4IDU0NzdjY2QxM2U4ODcyOWYxZDMxNmU0MDQwNTgzNmQ3Y2M1NjRmYmMu
LjQ3YWVlNjJkMmI3MjNjZjkwZDNmYmY0NGMyZTUxM2QxM2NlODIyYWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRleHRD
Ry5jcHAKQEAgLTExNCw2ICsxMTQsMjMgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OnJlc2V0UGxh
dGZvcm1DVE0oKQogI2VuZGlmCiB9CiAKK3N0YXRpYyBJbnRlcnBvbGF0aW9uUXVhbGl0eSBjb252
ZXJ0SW50ZXJwb2xhdGlvblF1YWxpdHkoQ0dJbnRlcnBvbGF0aW9uUXVhbGl0eSBxdWFsaXR5KQor
eworICAgIHN3aXRjaCAocXVhbGl0eSkgeworICAgIGNhc2Uga0NHSW50ZXJwb2xhdGlvbkRlZmF1
bHQ6CisgICAgICAgIHJldHVybiBJbnRlcnBvbGF0aW9uRGVmYXVsdDsKKyAgICBjYXNlIGtDR0lu
dGVycG9sYXRpb25Ob25lOgorICAgICAgICByZXR1cm4gSW50ZXJwb2xhdGlvbk5vbmU7CisgICAg
Y2FzZSBrQ0dJbnRlcnBvbGF0aW9uTG93OgorICAgICAgICByZXR1cm4gSW50ZXJwb2xhdGlvbkxv
dzsKKyAgICBjYXNlIGtDR0ludGVycG9sYXRpb25NZWRpdW06CisgICAgICAgIHJldHVybiBJbnRl
cnBvbGF0aW9uTWVkaXVtOworICAgIGNhc2Uga0NHSW50ZXJwb2xhdGlvbkhpZ2g6CisgICAgICAg
IHJldHVybiBJbnRlcnBvbGF0aW9uSGlnaDsKKyAgICB9CisgICAgcmV0dXJuIEludGVycG9sYXRp
b25EZWZhdWx0OworfQorCiB2b2lkIEdyYXBoaWNzQ29udGV4dDo6cGxhdGZvcm1Jbml0KENHQ29u
dGV4dFJlZiBjZ0NvbnRleHQpCiB7CiAgICAgbV9kYXRhID0gbmV3IEdyYXBoaWNzQ29udGV4dFBs
YXRmb3JtUHJpdmF0ZShjZ0NvbnRleHQpOwpAQCAtMTIzLDYgKzE0MCw3IEBAIHZvaWQgR3JhcGhp
Y3NDb250ZXh0OjpwbGF0Zm9ybUluaXQoQ0dDb250ZXh0UmVmIGNnQ29udGV4dCkKICAgICAgICAg
c2V0UGxhdGZvcm1GaWxsQ29sb3IoZmlsbENvbG9yKCksIGZpbGxDb2xvclNwYWNlKCkpOwogICAg
ICAgICBzZXRQbGF0Zm9ybVN0cm9rZUNvbG9yKHN0cm9rZUNvbG9yKCksIHN0cm9rZUNvbG9yU3Bh
Y2UoKSk7CiAgICAgICAgIHNldFBsYXRmb3JtU3Ryb2tlVGhpY2tuZXNzKHN0cm9rZVRoaWNrbmVz
cygpKTsKKyAgICAgICAgbV9zdGF0ZS5pbWFnZUludGVycG9sYXRpb25RdWFsaXR5ID0gY29udmVy
dEludGVycG9sYXRpb25RdWFsaXR5KENHQ29udGV4dEdldEludGVycG9sYXRpb25RdWFsaXR5KHBs
YXRmb3JtQ29udGV4dCgpKSk7CiAgICAgICAgIHJlc2V0UGxhdGZvcm1DVE0oKTsKICAgICB9CiB9
CkBAIC0xNDQ0LDExICsxNDYyLDggQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldFVSTEZvclJl
Y3QoY29uc3QgVVJMJiBsaW5rLCBjb25zdCBJbnRSZWN0JiBkZXN0UmVjdCkKICNlbmRpZgogfQog
Ci12b2lkIEdyYXBoaWNzQ29udGV4dDo6c2V0SW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eShJbnRl
cnBvbGF0aW9uUXVhbGl0eSBtb2RlKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldFBsYXRmb3Jt
SW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0eShJbnRlcnBvbGF0aW9uUXVhbGl0eSBtb2RlKQogewot
ICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCi0gICAgICAgIHJldHVybjsKLQogICAgIENHSW50
ZXJwb2xhdGlvblF1YWxpdHkgcXVhbGl0eSA9IGtDR0ludGVycG9sYXRpb25EZWZhdWx0OwogICAg
IHN3aXRjaCAobW9kZSkgewogICAgIGNhc2UgSW50ZXJwb2xhdGlvbkRlZmF1bHQ6CkBAIC0xNDcw
LDI3ICsxNDg1LDYgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldEltYWdlSW50ZXJwb2xhdGlv
blF1YWxpdHkoSW50ZXJwb2xhdGlvblF1YWxpdHkgbW9kZSkKICAgICBDR0NvbnRleHRTZXRJbnRl
cnBvbGF0aW9uUXVhbGl0eShwbGF0Zm9ybUNvbnRleHQoKSwgcXVhbGl0eSk7CiB9CiAKLUludGVy
cG9sYXRpb25RdWFsaXR5IEdyYXBoaWNzQ29udGV4dDo6aW1hZ2VJbnRlcnBvbGF0aW9uUXVhbGl0
eSgpIGNvbnN0Ci17Ci0gICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKLSAgICAgICAgcmV0dXJu
IEludGVycG9sYXRpb25EZWZhdWx0OwotCi0gICAgQ0dJbnRlcnBvbGF0aW9uUXVhbGl0eSBxdWFs
aXR5ID0gQ0dDb250ZXh0R2V0SW50ZXJwb2xhdGlvblF1YWxpdHkocGxhdGZvcm1Db250ZXh0KCkp
OwotICAgIHN3aXRjaCAocXVhbGl0eSkgewotICAgIGNhc2Uga0NHSW50ZXJwb2xhdGlvbkRlZmF1
bHQ6Ci0gICAgICAgIHJldHVybiBJbnRlcnBvbGF0aW9uRGVmYXVsdDsKLSAgICBjYXNlIGtDR0lu
dGVycG9sYXRpb25Ob25lOgotICAgICAgICByZXR1cm4gSW50ZXJwb2xhdGlvbk5vbmU7Ci0gICAg
Y2FzZSBrQ0dJbnRlcnBvbGF0aW9uTG93OgotICAgICAgICByZXR1cm4gSW50ZXJwb2xhdGlvbkxv
dzsKLSAgICBjYXNlIGtDR0ludGVycG9sYXRpb25NZWRpdW06Ci0gICAgICAgIHJldHVybiBJbnRl
cnBvbGF0aW9uTWVkaXVtOwotICAgIGNhc2Uga0NHSW50ZXJwb2xhdGlvbkhpZ2g6Ci0gICAgICAg
IHJldHVybiBJbnRlcnBvbGF0aW9uSGlnaDsKLSAgICB9Ci0gICAgcmV0dXJuIEludGVycG9sYXRp
b25EZWZhdWx0OwotfQotCiB2b2lkIEdyYXBoaWNzQ29udGV4dDo6c2V0SXNDQUxheWVyQ29udGV4
dChib29sIGlzTGF5ZXJDb250ZXh0KQogewogICAgIGlmIChpc0xheWVyQ29udGV4dCkK
</data>
<flag name="review"
          id="288643"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>