<?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>146302</bug_id>
          
          <creation_ts>2015-06-24 17:25:27 -0700</creation_ts>
          <short_desc>[Win] Update MediaPlayerPrivateAVFoundationCF::supportsType</short_desc>
          <delta_ts>2015-06-25 12:38:30 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1104555</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-24 17:25:27 -0700</bug_when>
    <thetext>Bring the Windows version of &quot;supportsType&quot; in line with the Mac/iOS version by using AVCFURLAssetIsPlayableExtendedMIMEType.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104557</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-24 17:25:43 -0700</bug_when>
    <thetext>&lt;rdar://problem/19726553&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104563</commentid>
    <comment_count>2</comment_count>
      <attachid>255534</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-24 17:32:49 -0700</bug_when>
    <thetext>Created attachment 255534
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104564</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-24 17:34:22 -0700</bug_when>
    <thetext>Attachment 255534 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:937:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebCore/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:983:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 2 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104565</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-24 17:34:39 -0700</bug_when>
    <thetext>I also fixed a null dereference I ran into while testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104569</commentid>
    <comment_count>5</comment_count>
      <attachid>255534</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-06-24 18:04:57 -0700</bug_when>
    <thetext>Comment on attachment 255534
Patch

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

&gt; Source/WebCore/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:910
&gt; +static bool isUnsupportedMIMEType(const String&amp; type)

It looks like this and staticMIMETypeList are exactly the same as the ObjC versions. If so, can they be put into the base class and shared?

&gt; Source/WebCore/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:1379
&gt; +        if (audibleOptionLocale)
&gt; +            m_languageOfPrimaryAudioTrack = CFLocaleGetIdentifier(audibleOptionLocale.get());
&gt; +        else
&gt; +            m_languageOfPrimaryAudioTrack = emptyString();
&gt; +

You forgot to document this in the ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104675</commentid>
    <comment_count>6</comment_count>
      <attachid>255562</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-25 10:28:37 -0700</bug_when>
    <thetext>Created attachment 255562
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104676</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-25 10:30:45 -0700</bug_when>
    <thetext>Attachment 255562 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:912:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:1108:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 2 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1104696</commentid>
    <comment_count>8</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-06-25 12:38:30 -0700</bug_when>
    <thetext>Committed r185958: &lt;http://trac.webkit.org/changeset/185958&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255534</attachid>
            <date>2015-06-24 17:32:49 -0700</date>
            <delta_ts>2015-06-25 10:28:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146302-20150624174522.patch</filename>
            <type>text/plain</type>
            <size>7605</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NTkzNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE1LTA2LTI0ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5dIFVwZGF0ZSBNZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRjo6c3VwcG9ydHNUeXBlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDYzMDIKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzE5NzI2NTUzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL0FWRm91bmRh
dGlvbkNGU29mdExpbmtpbmcuaDogQWRkCisgICAgICAgIG1pc3NpbmcgZGVjbGFyYXRpb24uCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxheWVyUHJp
dmF0ZUFWRm91bmRhdGlvbkNGLmNwcDoKKyAgICAgICAgVXBkYXRlIHRvIG1hdGNoIE1lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKwogMjAxNS0wNi0yNCAgU2FpZCBBYm91LUhh
bGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIG5ldyBjb2xv
ciAtYXBwbGUtd2lyZWxlc3MtcGxheWJhY2stdGFyZ2V0LWFjdGl2ZQpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL0FWRm91bmRhdGlvbkNGU29m
dExpbmtpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vY2YvQVZGb3VuZGF0aW9uQ0ZTb2Z0TGlua2luZy5oCShyZXZpc2lvbiAx
ODU4ODEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
Y2YvQVZGb3VuZGF0aW9uQ0ZTb2Z0TGlua2luZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMDUsNiAr
MzA1LDggQEAgU09GVF9MSU5LX0RMTF9JTVBPUlQoQVZGb3VuZGF0aW9uQ0YsIEFWQwogU09GVF9M
SU5LX0RMTF9JTVBPUlQoQVZGb3VuZGF0aW9uQ0YsIEFWQ0ZBc3NldFJlc291cmNlTG9hZGluZ1Jl
cXVlc3RGaW5pc2hMb2FkaW5nV2l0aFJlc3BvbnNlLCB2b2lkLCBfX2NkZWNsLCAoQVZDRkFzc2V0
UmVzb3VyY2VMb2FkaW5nUmVxdWVzdFJlZiBsb2FkaW5nUmVxdWVzdCwgQ0ZVUkxSZXNwb25zZVJl
ZiByZXNwb25zZSwgQ0ZEYXRhUmVmIGRhdGEsIENGVVJMUmVxdWVzdFJlZiByZWRpcmVjdCksIChs
b2FkaW5nUmVxdWVzdCwgcmVzcG9uc2UsIGRhdGEsIHJlZGlyZWN0KSkKICNkZWZpbmUgQVZDRkFz
c2V0UmVzb3VyY2VMb2FkaW5nUmVxdWVzdEZpbmlzaExvYWRpbmdXaXRoUmVzcG9uc2UgIHNvZnRM
aW5rX0FWQ0ZBc3NldFJlc291cmNlTG9hZGluZ1JlcXVlc3RGaW5pc2hMb2FkaW5nV2l0aFJlc3Bv
bnNlIAogCitTT0ZUX0xJTktfRExMX0lNUE9SVChBVkZvdW5kYXRpb25DRiwgQVZDRlVSTEFzc2V0
SXNQbGF5YWJsZUV4dGVuZGVkTUlNRVR5cGUsIEJvb2xlYW4sIF9fY2RlY2wsIChDRlN0cmluZ1Jl
ZiBleHRlbmRlZE1JTUVUeXBlKSwgKGV4dGVuZGVkTUlNRVR5cGUpKQorI2RlZmluZSBBVkNGVVJM
QXNzZXRJc1BsYXlhYmxlRXh0ZW5kZWRNSU1FVHlwZSAgc29mdExpbmtfQVZDRlVSTEFzc2V0SXNQ
bGF5YWJsZUV4dGVuZGVkTUlNRVR5cGUgCiAjZW5kaWYKIAogLy8gVmFyaWFibGVzCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0YuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25DRi5jcHAJKHJldmlzaW9uIDE4NTg4MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25DRi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY1LDYgKzY1LDcgQEAKICNpbmNsdWRlIDxydW50
aW1lL1VpbnQxNkFycmF5Lmg+CiAjZW5kaWYKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2lu
Y2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5n
Vmlldy5oPgpAQCAtOTA2LDE0ICs5MDcsMTEyIEBAIHN0YXRpYyBib29sIGtleVN5c3RlbUlzU3Vw
cG9ydGVkKGNvbnN0IFMKIH0KICNlbmRpZgogCitzdGF0aWMgYm9vbCBpc1Vuc3VwcG9ydGVkTUlN
RVR5cGUoY29uc3QgU3RyaW5nJiB0eXBlKQoreworICAgIFN0cmluZyBsb3dlckNhc2VUeXBlID0g
dHlwZS5jb252ZXJ0VG9BU0NJSUxvd2VyY2FzZSgpOworCisgICAgLy8gQVZGb3VuZGF0aW9uIHdp
bGwgcmV0dXJuIG5vbi12aWRlbyBNSU1FIHR5cGVzIHdoaWNoIGl0IGNsYWltcyB0byBzdXBwb3J0
LCBidXQgd2hpY2ggd2UKKyAgICAvLyBkbyBub3Qgc3VwcG9ydCBpbiB0aGUgPHZpZGVvPiBlbGVt
ZW50LiBSZWplY3QgYWxsIG5vbiB2aWRlby8sIGF1ZGlvLywgYW5kIGFwcGxpY2F0aW9uLyB0eXBl
cy4KKyAgICBpZiAoIWxvd2VyQ2FzZVR5cGUuc3RhcnRzV2l0aCgidmlkZW8vIikgJiYgIWxvd2Vy
Q2FzZVR5cGUuc3RhcnRzV2l0aCgiYXVkaW8vIikgJiYgIWxvd2VyQ2FzZVR5cGUuc3RhcnRzV2l0
aCgiYXBwbGljYXRpb24vIikpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgLy8gUmVqZWN0
IHR5cGVzIHdlIGtub3cgQVZGb3VuZGF0aW9uIGRvZXMgbm90IHN1cHBvcnQgdGhhdCBzaXRlcyBj
b21tb25seSBhc2sgYWJvdXQuCisgICAgaWYgKGxvd2VyQ2FzZVR5cGUgPT0gInZpZGVvL3dlYm0i
IHx8IGxvd2VyQ2FzZVR5cGUgPT0gImF1ZGlvL3dlYm0iIHx8IGxvd2VyQ2FzZVR5cGUgPT0gInZp
ZGVvL3gtd2VibSIpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgaWYgKGxvd2VyQ2FzZVR5
cGUgPT0gInZpZGVvL3gtZmx2IikKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAobG93
ZXJDYXNlVHlwZSA9PSAiYXVkaW8vb2dnIiB8fCBsb3dlckNhc2VUeXBlID09ICJ2aWRlby9vZ2ci
IHx8IGxvd2VyQ2FzZVR5cGUgPT0gImFwcGxpY2F0aW9uL29nZyIpCisgICAgICAgIHJldHVybiB0
cnVlOworCisgICAgaWYgKGxvd2VyQ2FzZVR5cGUgPT0gInZpZGVvL2gyNjQiKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBmYWxzZTsKK30KKworc3RhdGljIGNvbnN0IEhhc2hT
ZXQ8U3RyaW5nPiYgc3RhdGljTUlNRVR5cGVMaXN0KCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0
cm95ZWQ8SGFzaFNldDxTdHJpbmc+PiBjYWNoZSA9IFtdKCkgeworICAgICAgICBIYXNoU2V0PFN0
cmluZz4gdHlwZXM7CisKKyAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIqIHR5cGVOYW1lc1tdID0g
eworICAgICAgICAgICAgImFwcGxpY2F0aW9uL3ZuZC5hcHBsZS5tcGVndXJsIiwKKyAgICAgICAg
ICAgICJhcHBsaWNhdGlvbi94LW1wZWd1cmwiLAorICAgICAgICAgICAgImF1ZGlvLzNncHAiLAor
ICAgICAgICAgICAgImF1ZGlvL2FhYyIsCisgICAgICAgICAgICAiYXVkaW8vYWFjcCIsCisgICAg
ICAgICAgICAiYXVkaW8vYWlmZiIsCisgICAgICAgICAgICAiYXVkaW8vYmFzaWMiLAorICAgICAg
ICAgICAgImF1ZGlvL21wMyIsCisgICAgICAgICAgICAiYXVkaW8vbXA0IiwKKyAgICAgICAgICAg
ICJhdWRpby9tcGVnIiwKKyAgICAgICAgICAgICJhdWRpby9tcGVnMyIsCisgICAgICAgICAgICAi
YXVkaW8vbXBlZ3VybCIsCisgICAgICAgICAgICAiYXVkaW8vbXBnIiwKKyAgICAgICAgICAgICJh
dWRpby93YXYiLAorICAgICAgICAgICAgImF1ZGlvL3dhdmUiLAorICAgICAgICAgICAgImF1ZGlv
L3gtYWFjIiwKKyAgICAgICAgICAgICJhdWRpby94LWFpZmYiLAorICAgICAgICAgICAgImF1ZGlv
L3gtbTRhIiwKKyAgICAgICAgICAgICJhdWRpby94LW1wZWd1cmwiLAorICAgICAgICAgICAgImF1
ZGlvL3gtd2F2IiwKKyAgICAgICAgICAgICJ2aWRlby8zZ3BwIiwKKyAgICAgICAgICAgICJ2aWRl
by8zZ3BwMiIsCisgICAgICAgICAgICAidmlkZW8vbXA0IiwKKyAgICAgICAgICAgICJ2aWRlby9t
cGVnIiwKKyAgICAgICAgICAgICJ2aWRlby9tcGVnMiIsCisgICAgICAgICAgICAidmlkZW8vbXBn
IiwKKyAgICAgICAgICAgICJ2aWRlby9xdWlja3RpbWUiLAorICAgICAgICAgICAgInZpZGVvL3gt
bTR2IiwKKyAgICAgICAgICAgICJ2aWRlby94LW1wZWciLAorICAgICAgICAgICAgInZpZGVvL3gt
bXBnIiwKKyAgICAgICAgfTsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBXVEZfQVJS
QVlfTEVOR1RIKHR5cGVOYW1lcyk7ICsraSkKKyAgICAgICAgICAgIHR5cGVzLmFkZCh0eXBlTmFt
ZXNbaV0pOworCisgICAgICAgIHJldHVybiB0eXBlczsKKyAgICB9KCk7CisKKyAgICByZXR1cm4g
Y2FjaGU7Cit9CisKK3N0YXRpYyBjb25zdCBIYXNoU2V0PFN0cmluZz4mIGF2Zk1JTUVUeXBlcygp
Cit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hTZXQ8U3RyaW5nPj4gY2FjaGUgPSBb
XSgpIHsKKyAgICAgICAgSGFzaFNldDxTdHJpbmc+IHR5cGVzOworICAgICAgICBSZXRhaW5QdHI8
Q0ZBcnJheVJlZj4gYXZUeXBlcyA9IEFWQ0ZVUkxBc3NldENvcHlBdWRpb3Zpc3VhbE1JTUVUeXBl
cygpOworCisgICAgICAgIENGSW5kZXggdHlwZUNvdW50ID0gQ0ZBcnJheUdldENvdW50KGF2VHlw
ZXMuZ2V0KCkpOworICAgICAgICBmb3IgKENGSW5kZXggaSA9IDA7IGkgPCB0eXBlQ291bnQ7ICsr
aSkgeworICAgICAgICAgICAgU3RyaW5nIG1pbWVUeXBlID0gKENGU3RyaW5nUmVmKShDRkFycmF5
R2V0VmFsdWVBdEluZGV4KGF2VHlwZXMuZ2V0KCksIGkpKTsKKyAgICAgICAgICAgIHR5cGVzLmFk
ZChtaW1lVHlwZS5sb3dlcigpKTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiB0eXBlczsK
KyAgICB9KCk7CisKKworICAgIHJldHVybiBjYWNoZTsKK30KKwogTWVkaWFQbGF5ZXI6OlN1cHBv
cnRzVHlwZSBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRjo6c3VwcG9ydHNUeXBlKGNv
bnN0IE1lZGlhRW5naW5lU3VwcG9ydFBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7Ci0gICAgLy8g
T25seSByZXR1cm4gIklzU3VwcG9ydGVkIiBpZiB0aGVyZSBpcyBubyBjb2RlY3MgcGFyYW1ldGVy
IGZvciBub3cgYXMgdGhlcmUgaXMgbm8gd2F5IHRvIGFzayBpZiBpdCBzdXBwb3J0cyBhbgotICAg
IC8vIGV4dGVuZGVkIE1JTUUgdHlwZSB1bnRpbCByZGFyOi8vODcyMTcxNSBpcyBmaXhlZC4KLSAg
ICBpZiAobWltZVR5cGVDYWNoZSgpLmNvbnRhaW5zKHBhcmFtZXRlcnMudHlwZSkpCi0gICAgICAg
IHJldHVybiBwYXJhbWV0ZXJzLmNvZGVjcy5pc0VtcHR5KCkgPyBNZWRpYVBsYXllcjo6TWF5QmVT
dXBwb3J0ZWQgOiBNZWRpYVBsYXllcjo6SXNTdXBwb3J0ZWQ7CisgICAgaWYgKGlzVW5zdXBwb3J0
ZWRNSU1FVHlwZShwYXJhbWV0ZXJzLnR5cGUpKQorICAgICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6
OklzTm90U3VwcG9ydGVkOworCisgICAgaWYgKCFzdGF0aWNNSU1FVHlwZUxpc3QoKS5jb250YWlu
cyhwYXJhbWV0ZXJzLnR5cGUpICYmICFhdmZNSU1FVHlwZXMoKS5jb250YWlucyhwYXJhbWV0ZXJz
LnR5cGUpKQorICAgICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6OklzTm90U3VwcG9ydGVkOwogCi0g
ICAgcmV0dXJuIE1lZGlhUGxheWVyOjpJc05vdFN1cHBvcnRlZDsKKyAgICAvLyBUaGUgc3BlYyBz
YXlzOgorICAgIC8vICJJbXBsZW1lbnRvcnMgYXJlIGVuY291cmFnZWQgdG8gcmV0dXJuICJtYXli
ZSIgdW5sZXNzIHRoZSB0eXBlIGNhbiBiZSBjb25maWRlbnRseSBlc3RhYmxpc2hlZCBhcyBiZWlu
ZyBzdXBwb3J0ZWQgb3Igbm90LiIKKyAgICBpZiAocGFyYW1ldGVycy5jb2RlY3MuaXNFbXB0eSgp
KQorICAgICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6Ok1heUJlU3VwcG9ydGVkOworCisgICAgU3Ry
aW5nIHR5cGVTdHJpbmcgPSBwYXJhbWV0ZXJzLnR5cGUgKyAiOyBjb2RlY3M9XCIiICsgcGFyYW1l
dGVycy5jb2RlY3MgKyAiXCIiOworCisgICAgcmV0dXJuIEFWQ0ZVUkxBc3NldElzUGxheWFibGVF
eHRlbmRlZE1JTUVUeXBlKHR5cGVTdHJpbmcuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSkgPyBNZWRp
YVBsYXllcjo6SXNTdXBwb3J0ZWQgOiBNZWRpYVBsYXllcjo6TWF5QmVTdXBwb3J0ZWQ7CiB9CiAK
IGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0Y6OnN1cHBvcnRzS2V5U3lzdGVt
KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlKQpAQCAtMTI3
Myw3ICsxMzcyLDExIEBAIFN0cmluZyBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRjoK
ICAgICBBVkNGTWVkaWFTZWxlY3Rpb25PcHRpb25SZWYgY3VycmVudGx5U2VsZWN0ZWRBdWRpYmxl
T3B0aW9uID0gQVZDRlBsYXllckl0ZW1HZXRTZWxlY3RlZE1lZGlhT3B0aW9uSW5NZWRpYVNlbGVj
dGlvbkdyb3VwKGF2UGxheWVySXRlbShtX2F2ZldyYXBwZXIpLCBhdWRpYmxlR3JvdXApOwogICAg
IGlmIChjdXJyZW50bHlTZWxlY3RlZEF1ZGlibGVPcHRpb24pIHsKICAgICAgICAgUmV0YWluUHRy
PENGTG9jYWxlUmVmPiBhdWRpYmxlT3B0aW9uTG9jYWxlID0gYWRvcHRDRihBVkNGTWVkaWFTZWxl
Y3Rpb25PcHRpb25Db3B5TG9jYWxlKGN1cnJlbnRseVNlbGVjdGVkQXVkaWJsZU9wdGlvbikpOwot
ICAgICAgICBtX2xhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjayA9IENGTG9jYWxlR2V0SWRlbnRp
ZmllcihhdWRpYmxlT3B0aW9uTG9jYWxlLmdldCgpKTsKKyAgICAgICAgaWYgKGF1ZGlibGVPcHRp
b25Mb2NhbGUpCisgICAgICAgICAgICBtX2xhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjayA9IENG
TG9jYWxlR2V0SWRlbnRpZmllcihhdWRpYmxlT3B0aW9uTG9jYWxlLmdldCgpKTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgbV9sYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2sgPSBlbXB0eVN0
cmluZygpOworCiAgICAgICAgIExPRyhNZWRpYSwgIk1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbkNGOjpsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2soJXApIC0gcmV0dXJuaW5nIGxhbmd1
YWdlIG9mIHNlbGVjdGVkIGF1ZGlibGUgb3B0aW9uOiAlcyIsIHRoaXMsIG1fbGFuZ3VhZ2VPZlBy
aW1hcnlBdWRpb1RyYWNrLnV0ZjgoKS5kYXRhKCkpOwogCiAgICAgICAgIHJldHVybiBtX2xhbmd1
YWdlT2ZQcmltYXJ5QXVkaW9UcmFjazsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255562</attachid>
            <date>2015-06-25 10:28:37 -0700</date>
            <delta_ts>2015-06-25 12:36:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146302-20150625104107.patch</filename>
            <type>text/plain</type>
            <size>16090</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NTk1MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDE1LTA2LTI1ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtXaW5dIFVwZGF0ZSBNZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRjo6c3VwcG9ydHNUeXBlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDYzMDIKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzE5NzI2NTUzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3RlZCBieSBleGlzdGluZyBtZWRpYSB0ZXN0cy4KKworICAgICAgICBV
cGRhdGUgdGhlIEFWRm91bmRhdGlvbkNGIHZlcnNpb24gb2YgJ3N1cHBvcnRzVHlwZScgdG8gbW9y
ZSBjbG9zZWx5IG1hdGNoIHRoZSBBVkZvdW5kYXRpb24KKyAgICAgICAgdmVyc2lvbi4gVXNlIHRo
aXMgbmV3IGNvZGUgd2hlbiB0aGUgbmVjZXNzYXJ5IEFWRm91bmRhdGlvbkNGIGZ1bmN0aW9ucyBh
cmUgcHJlc2VudC4KKworICAgICAgICAqIEFWRm91bmRhdGlvblN1cHBvcnQucHk6IENoZWNrIGZv
ciBwcmVzZW5jZSBvZiBBVkNGVVJMQXNzZXRJc1BsYXlhYmxlRXh0ZW5kZWRNSU1FVHlwZS4KKyAg
ICAgICAgKGZpbGVDb250YWlucyk6IEFkZGVkIGhlbHBlciBmdW5jdGlvbi4KKyAgICAgICAgKiBX
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZUdlbmVyYXRlZC52Y3hwcm9qOiBBZGQgQVZGb3VuZGF0aW9u
U3VwcG9ydC5weSB0byBwcm9qZWN0IGZpbGUgdG8gbWFrZQorICAgICAgICBtYWludGVuYW5jZSBl
YXNpZXIuCisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmVHZW5lcmF0ZWQudmN4cHJv
ai5maWx0ZXJzOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6aXNVbnN1cHBvcnRlZE1JTUVUeXBlKTog
TW92ZWQgZnJvbSBPYmpDIHZlcnNpb24uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclBy
aXZhdGVBVkZvdW5kYXRpb246OnN0YXRpY01JTUVUeXBlTGlzdCk6IERpdHRvLgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvQVZG
b3VuZGF0aW9uQ0ZTb2Z0TGlua2luZy5oOiBBZGQgbWlzc2luZyBkZWNsYXJhdGlvbi4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2YXRl
QVZGb3VuZGF0aW9uQ0YuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YXZmTUlNRVR5cGVzKTogQWRk
ZWQgQ0YgdmVyc2lvbiBvZiBBVkZvdW5kYXRpb24gY29kZS4KKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGOjpzdXBwb3J0c1R5cGUpOiBVcGRhdGUgdG8g
dXNlIG5ldyBBVkNGCisgICAgICAgIG1ldGhvZCBpZiBpdCBpcyBhdmFpbGFibGUuCisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25DRjo6bGFuZ3VhZ2VPZlBy
aW1hcnlBdWRpb1RyYWNrKTogSGFuZGxlIGNhc2Ugb2YgYQorICAgICAgICBudWxsIGxhbmd1YWdl
IGxvY2FsZS4gVGhpcyBpcyBhIGRyaXZlLWJ5IGZpeCBvZiBhIGJ1ZyBmb3VuZCBkdXJpbmcgdGVz
dGluZy4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tOgorICAgICAgICAoV2ViQ29yZTo6aXNV
bnN1cHBvcnRlZE1JTUVUeXBlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnN0YXRpY01J
TUVUeXBlTGlzdCk6IERlbGV0ZWQuCisKIDIwMTUtMDYtMjUgIFhhYmllciBSb2RyaWd1ZXogQ2Fs
dmFyICA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4gYW5kIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm4uZmFi
bGV0QGNyZi5jYW5vbi5mcj4KIAogICAgICAgICBbU3RyZWFtcyBBUEldIEltcGxlbWVudCBIaWdo
V2F0ZXJNYXJrCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9BVkZvdW5kYXRpb25TdXBwb3J0LnB5Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0FWRm91bmRhdGlvblN1cHBvcnQucHkJKHJldmlz
aW9uIDE4NTg4MSkKKysrIFNvdXJjZS9XZWJDb3JlL0FWRm91bmRhdGlvblN1cHBvcnQucHkJKHdv
cmtpbmcgY29weSkKQEAgLTI2LDEzICsyNiwyMiBAQAogIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKICMgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KIAoraW1wb3J0IHJlCiBpbXBvcnQgc3lzCiBpbXBvcnQgb3MKIAotCiBkZWYgbG9va0Zv
cihyZWxhdGl2ZVBhdGgpOgogICAgIHJldHVybiBvcy5wYXRoLmlzZmlsZShvcy5lbnZpcm9uWydX
RUJLSVRfTElCUkFSSUVTJ10gKyByZWxhdGl2ZVBhdGgpCiAKKworZGVmIGZpbGVDb250YWlucyhy
ZWxhdGl2ZVBhdGgsIHJlZ2V4cCk6CisgICAgd2l0aCBvcGVuKG9zLmVudmlyb25bJ1dFQktJVF9M
SUJSQVJJRVMnXSArIHJlbGF0aXZlUGF0aCkgYXMgZmlsZToKKyAgICAgICAgZm9yIGxpbmUgaW4g
ZmlsZToKKyAgICAgICAgICAgIGlmIHJlZ2V4cC5zZWFyY2gobGluZSk6CisgICAgICAgICAgICAg
ICAgcmV0dXJuIFRydWUKKyAgICByZXR1cm4gRmFsc2UKKworCiBwcmludCAiLyogSWRlbnRpZnlp
bmcgQVZGb3VuZGF0aW9uIFN1cHBvcnQgKi8iCiBpZiBsb29rRm9yKCIvaW5jbHVkZS9BVkZvdW5k
YXRpb25DRi9BVkNGQmFzZS5oIik6CiAgICAgcHJpbnQgIiNkZWZpbmUgSEFWRV9BVkNGIDEiCkBA
IC00MCwzICs0OSw3IEBAIGlmIGxvb2tGb3IoIi9pbmNsdWRlL0FWRm91bmRhdGlvbkNGL0FWQ0YK
ICAgICBwcmludCAiI2RlZmluZSBIQVZFX0FWQ0ZfTEVHSUJMRV9PVVRQVVQgMSIKIGlmIGxvb2tG
b3IoIi9pbmNsdWRlL0FWRm91bmRhdGlvbkNGL0FWQ0ZBc3NldFJlc291cmNlTG9hZGVyLmgiKToK
ICAgICBwcmludCAiI2RlZmluZSBIQVZFX0FWRk9VTkRBVElPTl9MT0FERVJfREVMRUdBVEUgMSIK
K2lmIGxvb2tGb3IoIi9pbmNsdWRlL0FWRm91bmRhdGlvbkNGL0FWQ0ZBc3NldC5oIik6CisgICAg
cmVnZXhwID0gcmUuY29tcGlsZSgiQVZDRlVSTEFzc2V0SXNQbGF5YWJsZUV4dGVuZGVkTUlNRVR5
cGUiKQorICAgIGlmIGZpbGVDb250YWlucygiL2luY2x1ZGUvQVZGb3VuZGF0aW9uQ0YvQVZDRkFz
c2V0LmgiLCByZWdleHApOgorICAgICAgICBwcmludCAiI2RlZmluZSBIQVZFX0FWQ0ZVUkxfUExB
WUFCTEVfTUlNRVRZUEUgMSIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlR2VuZXJhdGVkLnZjeHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmVHZW5lcmF0ZWQudmN4cHJvagkocmV2aXNpb24gMTg1ODgxKQor
KysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmVHZW5lcmF0ZWQudmN4cHJv
agkod29ya2luZyBjb3B5KQpAQCAtNTEsNiArNTEsNyBAQAogICAgIDwvUHJvamVjdENvbmZpZ3Vy
YXRpb24+CiAgIDwvSXRlbUdyb3VwPgogICA8SXRlbUdyb3VwPgorICAgIDxOb25lIEluY2x1ZGU9
Ii4uXEFWRm91bmRhdGlvblN1cHBvcnQucHkiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5cRGVy
aXZlZFNvdXJjZXMubWFrZSIgLz4KICAgICA8Tm9uZSBJbmNsdWRlPSJidWlsZC1nZW5lcmF0ZWQt
ZmlsZXMucGwiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iY29weUZvcndhcmRpbmdIZWFkZXJzLmNt
ZCIgLz4KQEAgLTIwMSw0ICsyMDIsNCBAQAogICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRz
UGF0aClcTWljcm9zb2Z0LkNwcC50YXJnZXRzIiAvPgogICA8SW1wb3J0R3JvdXAgTGFiZWw9IkV4
dGVuc2lvblRhcmdldHMiPgogICA8L0ltcG9ydEdyb3VwPgotPC9Qcm9qZWN0PgorPC9Qcm9qZWN0
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlR2VuZXJhdGVkLnZjeHByb2ouZmlsdGVycwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZUdlbmVyYXRlZC52Y3hwcm9q
LmZpbHRlcnMJKHJldmlzaW9uIDE4NTg4MSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlR2VuZXJhdGVkLnZjeHByb2ouZmlsdGVycwkod29ya2luZyBjb3B5KQpAQCAt
OCw1ICs4LDYgQEAKICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxEZXJpdmVkU291cmNlcy5tYWtlIiAv
PgogICAgIDxOb25lIEluY2x1ZGU9ImJ1aWxkLWdlbmVyYXRlZC1maWxlcy5wbCIgLz4KICAgICA8
Tm9uZSBJbmNsdWRlPSJtaWdyYXRlLXNjcmlwdHMucGwiIC8+CisgICAgPE5vbmUgSW5jbHVkZT0i
Li5cQVZGb3VuZGF0aW9uU3VwcG9ydC5weSIgLz4KICAgPC9JdGVtR3JvdXA+CiA8L1Byb2plY3Q+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5jcHAJKHJldmlzaW9uIDE4NTg4
MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRp
YVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0
NCw3IEBACiAjaW5jbHVkZSA8cnVudGltZS9EYXRhVmlldy5oPgogI2luY2x1ZGUgPHJ1bnRpbWUv
VWludDE2QXJyYXkuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgPHd0
Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNs
dWRlIDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0uaD4KIApAQCAtMTA3Nyw2ICsxMDc4LDc3IEBAIGJv
b2wgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uOjpjYW4KICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAorYm9vbCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb246OmlzVW5zdXBwb3J0ZWRN
SU1FVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCit7CisgICAgU3RyaW5nIGxvd2VyQ2FzZVR5cGUg
PSB0eXBlLmNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNlKCk7CisKKyAgICAvLyBBVkZvdW5kYXRpb24g
d2lsbCByZXR1cm4gbm9uLXZpZGVvIE1JTUUgdHlwZXMgd2hpY2ggaXQgY2xhaW1zIHRvIHN1cHBv
cnQsIGJ1dCB3aGljaCB3ZQorICAgIC8vIGRvIG5vdCBzdXBwb3J0IGluIHRoZSA8dmlkZW8+IGVs
ZW1lbnQuIFJlamVjdCBhbGwgbm9uIHZpZGVvLywgYXVkaW8vLCBhbmQgYXBwbGljYXRpb24vIHR5
cGVzLgorICAgIGlmICghbG93ZXJDYXNlVHlwZS5zdGFydHNXaXRoKCJ2aWRlby8iKSAmJiAhbG93
ZXJDYXNlVHlwZS5zdGFydHNXaXRoKCJhdWRpby8iKSAmJiAhbG93ZXJDYXNlVHlwZS5zdGFydHNX
aXRoKCJhcHBsaWNhdGlvbi8iKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAvLyBSZWpl
Y3QgdHlwZXMgd2Uga25vdyBBVkZvdW5kYXRpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGF0IHNpdGVz
IGNvbW1vbmx5IGFzayBhYm91dC4KKyAgICBpZiAobG93ZXJDYXNlVHlwZSA9PSAidmlkZW8vd2Vi
bSIgfHwgbG93ZXJDYXNlVHlwZSA9PSAiYXVkaW8vd2VibSIgfHwgbG93ZXJDYXNlVHlwZSA9PSAi
dmlkZW8veC13ZWJtIikKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAobG93ZXJDYXNl
VHlwZSA9PSAidmlkZW8veC1mbHYiKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGlmIChs
b3dlckNhc2VUeXBlID09ICJhdWRpby9vZ2ciIHx8IGxvd2VyQ2FzZVR5cGUgPT0gInZpZGVvL29n
ZyIgfHwgbG93ZXJDYXNlVHlwZSA9PSAiYXBwbGljYXRpb24vb2dnIikKKyAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICBpZiAobG93ZXJDYXNlVHlwZSA9PSAidmlkZW8vaDI2NCIpCisgICAgICAg
IHJldHVybiB0cnVlOworCisgICAgcmV0dXJuIGZhbHNlOworfQorCitjb25zdCBIYXNoU2V0PFN0
cmluZz4mIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbjo6c3RhdGljTUlNRVR5cGVMaXN0
KCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaFNldDxTdHJpbmc+PiBjYWNoZSA9
IFtdKCkgeworICAgICAgICBIYXNoU2V0PFN0cmluZz4gdHlwZXM7CisKKyAgICAgICAgc3RhdGlj
IGNvbnN0IGNoYXIqIHR5cGVOYW1lc1tdID0geworICAgICAgICAgICAgImFwcGxpY2F0aW9uL3Zu
ZC5hcHBsZS5tcGVndXJsIiwKKyAgICAgICAgICAgICJhcHBsaWNhdGlvbi94LW1wZWd1cmwiLAor
ICAgICAgICAgICAgImF1ZGlvLzNncHAiLAorICAgICAgICAgICAgImF1ZGlvL2FhYyIsCisgICAg
ICAgICAgICAiYXVkaW8vYWFjcCIsCisgICAgICAgICAgICAiYXVkaW8vYWlmZiIsCisgICAgICAg
ICAgICAiYXVkaW8vYmFzaWMiLAorICAgICAgICAgICAgImF1ZGlvL21wMyIsCisgICAgICAgICAg
ICAiYXVkaW8vbXA0IiwKKyAgICAgICAgICAgICJhdWRpby9tcGVnIiwKKyAgICAgICAgICAgICJh
dWRpby9tcGVnMyIsCisgICAgICAgICAgICAiYXVkaW8vbXBlZ3VybCIsCisgICAgICAgICAgICAi
YXVkaW8vbXBnIiwKKyAgICAgICAgICAgICJhdWRpby93YXYiLAorICAgICAgICAgICAgImF1ZGlv
L3dhdmUiLAorICAgICAgICAgICAgImF1ZGlvL3gtYWFjIiwKKyAgICAgICAgICAgICJhdWRpby94
LWFpZmYiLAorICAgICAgICAgICAgImF1ZGlvL3gtbTRhIiwKKyAgICAgICAgICAgICJhdWRpby94
LW1wZWd1cmwiLAorICAgICAgICAgICAgImF1ZGlvL3gtd2F2IiwKKyAgICAgICAgICAgICJ2aWRl
by8zZ3BwIiwKKyAgICAgICAgICAgICJ2aWRlby8zZ3BwMiIsCisgICAgICAgICAgICAidmlkZW8v
bXA0IiwKKyAgICAgICAgICAgICJ2aWRlby9tcGVnIiwKKyAgICAgICAgICAgICJ2aWRlby9tcGVn
MiIsCisgICAgICAgICAgICAidmlkZW8vbXBnIiwKKyAgICAgICAgICAgICJ2aWRlby9xdWlja3Rp
bWUiLAorICAgICAgICAgICAgInZpZGVvL3gtbTR2IiwKKyAgICAgICAgICAgICJ2aWRlby94LW1w
ZWciLAorICAgICAgICAgICAgInZpZGVvL3gtbXBnIiwKKyAgICAgICAgfTsKKyAgICAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBXVEZfQVJSQVlfTEVOR1RIKHR5cGVOYW1lcyk7ICsraSkKKyAg
ICAgICAgICAgIHR5cGVzLmFkZCh0eXBlTmFtZXNbaV0pOworCisgICAgICAgIHJldHVybiB0eXBl
czsKKyAgICB9KCk7CisKKyAgICByZXR1cm4gY2FjaGU7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCShyZXZpc2lvbiAxODU4ODEpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJN
ZWRpYVBsYXllclByaXZhdGUuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPGZ1bmN0
aW9uYWw+CisjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIApAQCAtMjU2LDYgKzI1Nyw5IEBAIHByb3Rl
Y3RlZDoKIAogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVWaWRlb0xheWVyR3Jhdml0eSgpID0gMDsK
IAorICAgIHN0YXRpYyBib29sIGlzVW5zdXBwb3J0ZWRNSU1FVHlwZShjb25zdCBTdHJpbmcmKTsK
KyAgICBzdGF0aWMgY29uc3QgSGFzaFNldDxTdHJpbmc+JiBzdGF0aWNNSU1FVHlwZUxpc3QoKTsK
KwogcHJvdGVjdGVkOgogICAgIHZvaWQgdXBkYXRlU3RhdGVzKCk7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9jZi9BVkZvdW5kYXRpb25DRlNv
ZnRMaW5raW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL2NmL0FWRm91bmRhdGlvbkNGU29mdExpbmtpbmcuaAkocmV2aXNpb24g
MTg1ODgxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9u
L2NmL0FWRm91bmRhdGlvbkNGU29mdExpbmtpbmcuaAkod29ya2luZyBjb3B5KQpAQCAtMzA1LDYg
KzMwNSw4IEBAIFNPRlRfTElOS19ETExfSU1QT1JUKEFWRm91bmRhdGlvbkNGLCBBVkMKIFNPRlRf
TElOS19ETExfSU1QT1JUKEFWRm91bmRhdGlvbkNGLCBBVkNGQXNzZXRSZXNvdXJjZUxvYWRpbmdS
ZXF1ZXN0RmluaXNoTG9hZGluZ1dpdGhSZXNwb25zZSwgdm9pZCwgX19jZGVjbCwgKEFWQ0ZBc3Nl
dFJlc291cmNlTG9hZGluZ1JlcXVlc3RSZWYgbG9hZGluZ1JlcXVlc3QsIENGVVJMUmVzcG9uc2VS
ZWYgcmVzcG9uc2UsIENGRGF0YVJlZiBkYXRhLCBDRlVSTFJlcXVlc3RSZWYgcmVkaXJlY3QpLCAo
bG9hZGluZ1JlcXVlc3QsIHJlc3BvbnNlLCBkYXRhLCByZWRpcmVjdCkpCiAjZGVmaW5lIEFWQ0ZB
c3NldFJlc291cmNlTG9hZGluZ1JlcXVlc3RGaW5pc2hMb2FkaW5nV2l0aFJlc3BvbnNlICBzb2Z0
TGlua19BVkNGQXNzZXRSZXNvdXJjZUxvYWRpbmdSZXF1ZXN0RmluaXNoTG9hZGluZ1dpdGhSZXNw
b25zZSAKIAorU09GVF9MSU5LX0RMTF9JTVBPUlQoQVZGb3VuZGF0aW9uQ0YsIEFWQ0ZVUkxBc3Nl
dElzUGxheWFibGVFeHRlbmRlZE1JTUVUeXBlLCBCb29sZWFuLCBfX2NkZWNsLCAoQ0ZTdHJpbmdS
ZWYgZXh0ZW5kZWRNSU1FVHlwZSksIChleHRlbmRlZE1JTUVUeXBlKSkKKyNkZWZpbmUgQVZDRlVS
TEFzc2V0SXNQbGF5YWJsZUV4dGVuZGVkTUlNRVR5cGUgIHNvZnRMaW5rX0FWQ0ZVUkxBc3NldElz
UGxheWFibGVFeHRlbmRlZE1JTUVUeXBlIAogI2VuZGlmCiAKIC8vIFZhcmlhYmxlcwpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL2NmL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uQ0YuY3BwCShyZXZpc2lvbiAxODU4ODEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vY2YvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0
aW9uQ0YuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NSw2ICs2NSw3IEBACiAjaW5jbHVkZSA8cnVu
dGltZS9VaW50MTZBcnJheS5oPgogI2VuZGlmCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNp
bmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z1ZpZXcuaD4KQEAgLTkwNiwxNCArOTA3LDQ1IEBAIHN0YXRpYyBib29sIGtleVN5c3RlbUlzU3Vw
cG9ydGVkKGNvbnN0IFMKIH0KICNlbmRpZgogCitzdGF0aWMgY29uc3QgSGFzaFNldDxTdHJpbmc+
JiBhdmZNSU1FVHlwZXMoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoU2V0PFN0
cmluZz4+IGNhY2hlID0gW10oKSB7CisgICAgICAgIEhhc2hTZXQ8U3RyaW5nPiB0eXBlczsKKyAg
ICAgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IGF2VHlwZXMgPSBBVkNGVVJMQXNzZXRDb3B5QXVk
aW92aXN1YWxNSU1FVHlwZXMoKTsKKworICAgICAgICBDRkluZGV4IHR5cGVDb3VudCA9IENGQXJy
YXlHZXRDb3VudChhdlR5cGVzLmdldCgpKTsKKyAgICAgICAgZm9yIChDRkluZGV4IGkgPSAwOyBp
IDwgdHlwZUNvdW50OyArK2kpIHsKKyAgICAgICAgICAgIFN0cmluZyBtaW1lVHlwZSA9IChDRlN0
cmluZ1JlZikoQ0ZBcnJheUdldFZhbHVlQXRJbmRleChhdlR5cGVzLmdldCgpLCBpKSk7CisgICAg
ICAgICAgICB0eXBlcy5hZGQobWltZVR5cGUubG93ZXIoKSk7CisgICAgICAgIH0KKworICAgICAg
ICByZXR1cm4gdHlwZXM7CisgICAgfSgpOworCisgICAgcmV0dXJuIGNhY2hlOworfQorCiBNZWRp
YVBsYXllcjo6U3VwcG9ydHNUeXBlIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbkNGOjpz
dXBwb3J0c1R5cGUoY29uc3QgTWVkaWFFbmdpbmVTdXBwb3J0UGFyYW1ldGVycyYgcGFyYW1ldGVy
cykKIHsKLSAgICAvLyBPbmx5IHJldHVybiAiSXNTdXBwb3J0ZWQiIGlmIHRoZXJlIGlzIG5vIGNv
ZGVjcyBwYXJhbWV0ZXIgZm9yIG5vdyBhcyB0aGVyZSBpcyBubyB3YXkgdG8gYXNrIGlmIGl0IHN1
cHBvcnRzIGFuCi0gICAgLy8gZXh0ZW5kZWQgTUlNRSB0eXBlIHVudGlsIHJkYXI6Ly84NzIxNzE1
IGlzIGZpeGVkLgorICAgIGlmIChpc1Vuc3VwcG9ydGVkTUlNRVR5cGUocGFyYW1ldGVycy50eXBl
KSkKKyAgICAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpJc05vdFN1cHBvcnRlZDsKKworICAgIGlm
ICghc3RhdGljTUlNRVR5cGVMaXN0KCkuY29udGFpbnMocGFyYW1ldGVycy50eXBlKSAmJiAhYXZm
TUlNRVR5cGVzKCkuY29udGFpbnMocGFyYW1ldGVycy50eXBlKSkKKyAgICAgICAgcmV0dXJuIE1l
ZGlhUGxheWVyOjpJc05vdFN1cHBvcnRlZDsKKworI2lmIEhBVkUoQVZDRlVSTF9QTEFZQUJMRV9N
SU1FVFlQRSkKKyAgICAvLyBUaGUgc3BlYyBzYXlzOgorICAgIC8vICJJbXBsZW1lbnRvcnMgYXJl
IGVuY291cmFnZWQgdG8gcmV0dXJuICJtYXliZSIgdW5sZXNzIHRoZSB0eXBlIGNhbiBiZSBjb25m
aWRlbnRseSBlc3RhYmxpc2hlZCBhcyBiZWluZyBzdXBwb3J0ZWQgb3Igbm90LiIKKyAgICBpZiAo
cGFyYW1ldGVycy5jb2RlY3MuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6
Ok1heUJlU3VwcG9ydGVkOworCisgICAgU3RyaW5nIHR5cGVTdHJpbmcgPSBwYXJhbWV0ZXJzLnR5
cGUgKyAiOyBjb2RlY3M9XCIiICsgcGFyYW1ldGVycy5jb2RlY3MgKyAiXCIiOworICAgIHJldHVy
biBBVkNGVVJMQXNzZXRJc1BsYXlhYmxlRXh0ZW5kZWRNSU1FVHlwZSh0eXBlU3RyaW5nLmNyZWF0
ZUNGU3RyaW5nKCkuZ2V0KCkpID8gTWVkaWFQbGF5ZXI6OklzU3VwcG9ydGVkIDogTWVkaWFQbGF5
ZXI6Ok1heUJlU3VwcG9ydGVkOworI2Vsc2UKICAgICBpZiAobWltZVR5cGVDYWNoZSgpLmNvbnRh
aW5zKHBhcmFtZXRlcnMudHlwZSkpCiAgICAgICAgIHJldHVybiBwYXJhbWV0ZXJzLmNvZGVjcy5p
c0VtcHR5KCkgPyBNZWRpYVBsYXllcjo6TWF5QmVTdXBwb3J0ZWQgOiBNZWRpYVBsYXllcjo6SXNT
dXBwb3J0ZWQ7Ci0KICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6OklzTm90U3VwcG9ydGVkOworI2Vu
ZGlmCiB9CiAKIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uQ0Y6OnN1cHBvcnRz
S2V5U3lzdGVtKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBjb25zdCBTdHJpbmcmIG1pbWVUeXBl
KQpAQCAtMTI3Myw3ICsxMzA1LDExIEBAIFN0cmluZyBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb25DRjoKICAgICBBVkNGTWVkaWFTZWxlY3Rpb25PcHRpb25SZWYgY3VycmVudGx5U2VsZWN0
ZWRBdWRpYmxlT3B0aW9uID0gQVZDRlBsYXllckl0ZW1HZXRTZWxlY3RlZE1lZGlhT3B0aW9uSW5N
ZWRpYVNlbGVjdGlvbkdyb3VwKGF2UGxheWVySXRlbShtX2F2ZldyYXBwZXIpLCBhdWRpYmxlR3Jv
dXApOwogICAgIGlmIChjdXJyZW50bHlTZWxlY3RlZEF1ZGlibGVPcHRpb24pIHsKICAgICAgICAg
UmV0YWluUHRyPENGTG9jYWxlUmVmPiBhdWRpYmxlT3B0aW9uTG9jYWxlID0gYWRvcHRDRihBVkNG
TWVkaWFTZWxlY3Rpb25PcHRpb25Db3B5TG9jYWxlKGN1cnJlbnRseVNlbGVjdGVkQXVkaWJsZU9w
dGlvbikpOwotICAgICAgICBtX2xhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjayA9IENGTG9jYWxl
R2V0SWRlbnRpZmllcihhdWRpYmxlT3B0aW9uTG9jYWxlLmdldCgpKTsKKyAgICAgICAgaWYgKGF1
ZGlibGVPcHRpb25Mb2NhbGUpCisgICAgICAgICAgICBtX2xhbmd1YWdlT2ZQcmltYXJ5QXVkaW9U
cmFjayA9IENGTG9jYWxlR2V0SWRlbnRpZmllcihhdWRpYmxlT3B0aW9uTG9jYWxlLmdldCgpKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgbV9sYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2sg
PSBlbXB0eVN0cmluZygpOworCiAgICAgICAgIExPRyhNZWRpYSwgIk1lZGlhUGxheWVyUHJpdmF0
ZUFWRm91bmRhdGlvbkNGOjpsYW5ndWFnZU9mUHJpbWFyeUF1ZGlvVHJhY2soJXApIC0gcmV0dXJu
aW5nIGxhbmd1YWdlIG9mIHNlbGVjdGVkIGF1ZGlibGUgb3B0aW9uOiAlcyIsIHRoaXMsIG1fbGFu
Z3VhZ2VPZlByaW1hcnlBdWRpb1RyYWNrLnV0ZjgoKS5kYXRhKCkpOwogCiAgICAgICAgIHJldHVy
biBtX2xhbmd1YWdlT2ZQcmltYXJ5QXVkaW9UcmFjazsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2Jq
Qy5tbQkocmV2aXNpb24gMTg1ODgxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5t
bQkod29ya2luZyBjb3B5KQpAQCAtMTUzMiw3NyArMTUzMiw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uT2JqQzoKICAgICB9CiB9CiAKLXN0YXRpYyBib29sIGlzVW5zdXBw
b3J0ZWRNSU1FVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCi17Ci0gICAgU3RyaW5nIGxvd2VyQ2Fz
ZVR5cGUgPSB0eXBlLmNvbnZlcnRUb0FTQ0lJTG93ZXJjYXNlKCk7Ci0KLSAgICAvLyBBVkZvdW5k
YXRpb24gd2lsbCByZXR1cm4gbm9uLXZpZGVvIE1JTUUgdHlwZXMgd2hpY2ggaXQgY2xhaW1zIHRv
IHN1cHBvcnQsIGJ1dCB3aGljaCB3ZQotICAgIC8vIGRvIG5vdCBzdXBwb3J0IGluIHRoZSA8dmlk
ZW8+IGVsZW1lbnQuIFJlamVjdCBhbGwgbm9uIHZpZGVvLywgYXVkaW8vLCBhbmQgYXBwbGljYXRp
b24vIHR5cGVzLgotICAgIGlmICghbG93ZXJDYXNlVHlwZS5zdGFydHNXaXRoKCJ2aWRlby8iKSAm
JiAhbG93ZXJDYXNlVHlwZS5zdGFydHNXaXRoKCJhdWRpby8iKSAmJiAhbG93ZXJDYXNlVHlwZS5z
dGFydHNXaXRoKCJhcHBsaWNhdGlvbi8iKSkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICAv
LyBSZWplY3QgdHlwZXMgd2Uga25vdyBBVkZvdW5kYXRpb24gZG9lcyBub3Qgc3VwcG9ydCB0aGF0
IHNpdGVzIGNvbW1vbmx5IGFzayBhYm91dC4KLSAgICBpZiAobG93ZXJDYXNlVHlwZSA9PSAidmlk
ZW8vd2VibSIgfHwgbG93ZXJDYXNlVHlwZSA9PSAiYXVkaW8vd2VibSIgfHwgbG93ZXJDYXNlVHlw
ZSA9PSAidmlkZW8veC13ZWJtIikKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBpZiAobG93
ZXJDYXNlVHlwZSA9PSAidmlkZW8veC1mbHYiKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAg
IGlmIChsb3dlckNhc2VUeXBlID09ICJhdWRpby9vZ2ciIHx8IGxvd2VyQ2FzZVR5cGUgPT0gInZp
ZGVvL29nZyIgfHwgbG93ZXJDYXNlVHlwZSA9PSAiYXBwbGljYXRpb24vb2dnIikKLSAgICAgICAg
cmV0dXJuIHRydWU7Ci0KLSAgICBpZiAobG93ZXJDYXNlVHlwZSA9PSAidmlkZW8vaDI2NCIpCi0g
ICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgcmV0dXJuIGZhbHNlOwotfQotCi1zdGF0aWMgY29u
c3QgSGFzaFNldDxTdHJpbmc+JiBzdGF0aWNNSU1FVHlwZUxpc3QoKQotewotICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxIYXNoU2V0PFN0cmluZz4+IGNhY2hlID0gW10gKCkgewotICAgICAgICBI
YXNoU2V0PFN0cmluZz4gdHlwZXM7Ci0KLSAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIqIHR5cGVO
YW1lc1tdID0gewotICAgICAgICAgICAgImFwcGxpY2F0aW9uL3ZuZC5hcHBsZS5tcGVndXJsIiwK
LSAgICAgICAgICAgICJhcHBsaWNhdGlvbi94LW1wZWd1cmwiLAotICAgICAgICAgICAgImF1ZGlv
LzNncHAiLAotICAgICAgICAgICAgImF1ZGlvL2FhYyIsCi0gICAgICAgICAgICAiYXVkaW8vYWFj
cCIsCi0gICAgICAgICAgICAiYXVkaW8vYWlmZiIsCi0gICAgICAgICAgICAiYXVkaW8vYmFzaWMi
LAotICAgICAgICAgICAgImF1ZGlvL21wMyIsCi0gICAgICAgICAgICAiYXVkaW8vbXA0IiwKLSAg
ICAgICAgICAgICJhdWRpby9tcGVnIiwKLSAgICAgICAgICAgICJhdWRpby9tcGVnMyIsCi0gICAg
ICAgICAgICAiYXVkaW8vbXBlZ3VybCIsCi0gICAgICAgICAgICAiYXVkaW8vbXBnIiwKLSAgICAg
ICAgICAgICJhdWRpby93YXYiLAotICAgICAgICAgICAgImF1ZGlvL3dhdmUiLAotICAgICAgICAg
ICAgImF1ZGlvL3gtYWFjIiwKLSAgICAgICAgICAgICJhdWRpby94LWFpZmYiLAotICAgICAgICAg
ICAgImF1ZGlvL3gtbTRhIiwKLSAgICAgICAgICAgICJhdWRpby94LW1wZWd1cmwiLAotICAgICAg
ICAgICAgImF1ZGlvL3gtd2F2IiwKLSAgICAgICAgICAgICJ2aWRlby8zZ3BwIiwKLSAgICAgICAg
ICAgICJ2aWRlby8zZ3BwMiIsCi0gICAgICAgICAgICAidmlkZW8vbXA0IiwKLSAgICAgICAgICAg
ICJ2aWRlby9tcGVnIiwKLSAgICAgICAgICAgICJ2aWRlby9tcGVnMiIsCi0gICAgICAgICAgICAi
dmlkZW8vbXBnIiwKLSAgICAgICAgICAgICJ2aWRlby9xdWlja3RpbWUiLAotICAgICAgICAgICAg
InZpZGVvL3gtbTR2IiwKLSAgICAgICAgICAgICJ2aWRlby94LW1wZWciLAotICAgICAgICAgICAg
InZpZGVvL3gtbXBnIiwKLSAgICAgICAgfTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBXVEZfQVJSQVlfTEVOR1RIKHR5cGVOYW1lcyk7ICsraSkKLSAgICAgICAgICAgIHR5cGVzLmFk
ZCh0eXBlTmFtZXNbaV0pOwotCi0gICAgICAgIHJldHVybiB0eXBlczsKLSAgICB9KCk7Ci0KLSAg
ICByZXR1cm4gY2FjaGU7Ci19Ci0KIHN0YXRpYyBjb25zdCBIYXNoU2V0PFN0cmluZz4mIGF2Zk1J
TUVUeXBlcygpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hTZXQ8U3RyaW5nPj4g
Y2FjaGUgPSBbXSAoKSB7Cg==
</data>
<flag name="review"
          id="280639"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>