<?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>113463</bug_id>
          
          <creation_ts>2013-03-27 18:03:22 -0700</creation_ts>
          <short_desc>[WebKit2] Need SPI to determine whether a plug-in is blocked</short_desc>
          <delta_ts>2013-03-28 03:57:57 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>865063</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-03-27 18:03:22 -0700</bug_when>
    <thetext>[WebKit2] Need SPI to determine whether a plug-in is blocked</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865069</commentid>
    <comment_count>1</comment_count>
      <attachid>195451</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-03-27 18:08:17 -0700</bug_when>
    <thetext>Created attachment 195451
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865074</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-27 18:13:08 -0700</bug_when>
    <thetext>Attachment 195451 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit2/UIProcess/API/C/WKAPICast.h&apos;, u&apos;Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.h&apos;, u&apos;Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.mm&apos;, u&apos;Source/WebKit2/UIProcess/Plugins/PluginInfoStore.cpp&apos;, u&apos;Source/WebKit2/UIProcess/Plugins/PluginInfoStore.h&apos;, u&apos;Source/WebKit2/UIProcess/Plugins/mac/PluginInfoStoreMac.mm&apos;, u&apos;Source/WebKit2/UIProcess/WebLoaderClient.cpp&apos;]&quot; exit_code: 1
Source/WebKit2/UIProcess/API/C/WKAPICast.h:409:  A case label should not be indented, but line up with its switch statement.  [whitespace/indent] [4]
Source/WebKit2/UIProcess/API/C/WKAPICast.h:424:  A case label should not be indented, but line up with its switch statement.  [whitespace/indent] [4]
Total errors found: 2 in 7 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>865124</commentid>
    <comment_count>3</comment_count>
      <attachid>195451</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-03-27 20:12:15 -0700</bug_when>
    <thetext>Comment on attachment 195451
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/C/WKAPICast.h:409
&gt;&gt; +        case PluginModuleLoadNormally:
&gt; 
&gt; A case label should not be indented, but line up with its switch statement.  [whitespace/indent] [4]

Please fix the indentation.

&gt;&gt; Source/WebKit2/UIProcess/API/C/WKAPICast.h:424
&gt;&gt; +        case kWKPluginLoadPolicyLoadNormally:
&gt; 
&gt; A case label should not be indented, but line up with its switch statement.  [whitespace/indent] [4]

Please fix the indentation.

&gt; Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.h:56
&gt; +WK_EXPORT WKDictionaryRef WKContextCopyPlugInInfoForBundleIdetifier(WKContextRef context, WKStringRef plugInBundleIdentifier);

Idetifier?

&gt; Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.mm:89
&gt; +WKDictionaryRef WKContextCopyPlugInInfoForBundleIdetifier(WKContextRef contextRef, WKStringRef plugInBundleIdentifierRef)

Idetifier??

&gt; Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.mm:103
&gt; +    RefPtr&lt;ImmutableDictionary&gt; dictionary = ImmutableDictionary::adopt(map);
&gt; +
&gt; +    return toAPI(dictionary.release().leakRef());

I don&apos;t think you need to the local variable here.

&gt; Source/WebKit2/UIProcess/Plugins/mac/PluginInfoStoreMac.mm:174
&gt; +PluginModuleInfo PluginInfoStore::findPluginWithBundleIdentifer(const String&amp; bundleIdentifer)

Identifer? How many ways are there to misspell identifier?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865128</commentid>
    <comment_count>4</comment_count>
      <attachid>195470</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-03-27 20:21:52 -0700</bug_when>
    <thetext>Created attachment 195470
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865131</commentid>
    <comment_count>5</comment_count>
      <attachid>195470</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-03-27 20:23:15 -0700</bug_when>
    <thetext>Comment on attachment 195470
Patch

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

&gt; Tools/ChangeLog:18
&gt; +2013-03-27  Gustavo Noronha Silva  &lt;gns@gnome.org&gt;
&gt; +
&gt; +        [GTK][jhbuild] gst-plugins-good mixes system libsoup-gnome with custom libsoup
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=113203
&gt; +
&gt; +        Reviewed by Philippe Normand.
&gt; +
&gt; +        We build our libsoup without GNOME support. gst-plugins-good does separate
&gt; +        pkg-config checks for libsoup-gnome and libsoup, causing the build to use
&gt; +        libsoup-gnome from the system and soup from the jhbuild prefix. This may lead to
&gt; +        build failures as the headers of those diverge. We do not use souphttpsrc, so
&gt; +        disable it when building gst-plugins-good.
&gt; +
&gt; +        * gtk/jhbuild.modules: disable soup support in gst-plugins-good.
&gt; +
&gt;  2013-03-27  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;
&gt;  
&gt;          Build fix after r146852. Please another reference to the Lion leaks builder.

Wat

&gt; Tools/gtk/jhbuild.modules:266
&gt;      &lt;branch repo=&quot;gstreamer&quot; module=&quot;gst-plugins-base&quot; checkoutdir=&quot;gst-plugins-base&quot; tag=&quot;1.0.4&quot;/&gt;
&gt;    &lt;/autotools&gt;
&gt;  
&gt; -  &lt;autotools id=&quot;gst-plugins-good&quot; autogenargs=&quot;--disable-examples&quot;&gt;
&gt; +  &lt;autotools id=&quot;gst-plugins-good&quot; autogenargs=&quot;--disable-examples --disable-soup&quot;&gt;
&gt;      &lt;dependencies&gt;
&gt;        &lt;dep package=&quot;gst-plugins-base&quot;/&gt;
&gt;      &lt;/dependencies&gt;

I don&apos;t think you meant to include this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865314</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-03-28 03:57:57 -0700</bug_when>
    <thetext>Committed r147052: &lt;http://trac.webkit.org/changeset/147052&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195451</attachid>
            <date>2013-03-27 18:08:17 -0700</date>
            <delta_ts>2013-03-27 20:21:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113463-20130327180816.patch</filename>
            <type>text/plain</type>
            <size>12750</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MDE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNmY5MWQ4ZTg5OTNlOTky
NzMyNTdkOTM0ODVlYjZmMWQzNjE0Mzk5My4uODEyZGJiMTA0MTEzMzU3YTU0YzEzOTU5NTkyMmE4
OWVjZDZmOWM1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAzLTI3ICBTYW0g
V2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1dlYktpdDJdIE5lZWQgU1BJIHRv
IGRldGVybWluZSB3aGV0aGVyIGEgcGx1Zy1pbiBpcyBibG9ja2VkCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM0NjMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbmV3IFNQSSwgV0tDb250ZXh0Q29w
eVBsdWdJbkluZm9Gb3JCdW5kbGVJZGV0aWZpZXIsIHRvIGdldCBkYXRhIGFib3V0IGEgcGx1Zy1p
biwKKyAgICAgICAgaW5jbHVkaW5nIHdoZXRoZXIgaXQgaXMgYmxvY2tlZCBieSB4LXByb3RlY3Qu
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0Lmg6CisgICAgICAgIChXZWJLaXQ6OnRvV0tQbHVnaW5M
b2FkUG9saWN5KToKKyAgICAgICAgKFdlYktpdDo6dG9QbHVnaW5Nb2R1bGVMb2FkUG9saWN5KToK
KyAgICAgICAgTW92ZSB0byBhIHNoYXJlZCBsb2NhdGlvbi4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQy9tYWMvV0tDb250ZXh0UHJpdmF0ZU1hYy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQy9tYWMvV0tDb250ZXh0UHJpdmF0ZU1hYy5tbToKKyAgICAgICAgKFdLQ29udGV4dElzUGx1
Z0luVXBkYXRlQXZhaWxhYmxlKToKKyAgICAgICAgKFdLUGx1Z0luSW5mb1BhdGhLZXkpOgorICAg
ICAgICAoV0tQbHVnSW5JbmZvQnVuZGxlSWRlbnRpZmllcktleSk6CisgICAgICAgIChXS1BsdWdJ
bkluZm9WZXJzaW9uS2V5KToKKyAgICAgICAgKFdLUGx1Z0luSW5mb0xvYWRQb2xpY3lLZXkpOgor
ICAgICAgICAoV0tQbHVnSW5JbmZvVXBkYXRlUGFzdExhc3RCbG9ja2VkVmVyc2lvbklzS25vd25B
dmFpbGFibGVLZXkpOgorICAgICAgICAoV0tDb250ZXh0Q29weVBsdWdJbkluZm9Gb3JCdW5kbGVJ
ZGV0aWZpZXIpOgorICAgICAgICBBZGQgbmV3IFNQSSBhbmQgZGljdGlvbmFyeSBrZXlzLgorCisg
ICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6UGx1Z2luSW5mb1N0b3JlOjpmaW5kUGx1Z2luV2l0aEJ1bmRsZUlkZW50aWZlcik6
CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1BsdWdpbnMvbWFjL1BsdWdpbkluZm9TdG9yZU1hYy5tbToKKyAgICAgICAg
KFdlYktpdDo6UGx1Z2luSW5mb1N0b3JlOjpmaW5kUGx1Z2luV2l0aEJ1bmRsZUlkZW50aWZlcik6
CisgICAgICAgIEFkZCBmdW5jdGlvbiB0byBsb29rdXAgcGx1Zy1pbnMgYnkgYnVuZGxlIGlkZW50
aWZpZXIuCisKIDIwMTMtMDMtMjcgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAK
ICAgICAgICAgR29pbmcgZnVsbCBzY3JlZW4gYW5kIGNhbmNlbGxpbmcgZ2V0cyBzeXN0ZW0gaW50
byBhIHdlaXJkIHN0YXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tBUElDYXN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0
LmgKaW5kZXggZDUxM2I5NmVlODM5MzY2NTcwYWE3NTMxYWIxNmUxM2YwOTBmMzkyNy4uMDIxODU1
NDI4OWYwZTQyMjI5MmI4NGEzMzFhOWU5MWFlODA4ZWYxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaApAQCAtMzAsOSArMzAsOSBAQAogI2luY2x1ZGUgIkNh
Y2hlTW9kZWwuaCIKICNpbmNsdWRlICJGb250U21vb3RoaW5nTGV2ZWwuaCIKICNpbmNsdWRlICJI
VFRQQ29va2llQWNjZXB0UG9saWN5LmgiCisjaW5jbHVkZSAiUGx1Z2luTW9kdWxlSW5mby5oIgog
I2luY2x1ZGUgIlByb2Nlc3NNb2RlbC5oIgogI2luY2x1ZGUgIlJlc291cmNlQ2FjaGVzVG9DbGVh
ci5oIgotI2luY2x1ZGUgIldlYkdyYW1tYXJEZXRhaWwuaCIKICNpbmNsdWRlICJXS0NvbnRleHQu
aCIKICNpbmNsdWRlICJXS0Nvb2tpZU1hbmFnZXIuaCIKICNpbmNsdWRlICJXS0NyZWRlbnRpYWxU
eXBlcy5oIgpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIldLUHJvdGVjdGlvblNwYWNlVHlw
ZXMuaCIKICNpbmNsdWRlICJXS1Jlc291cmNlQ2FjaGVNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV0tT
aGFyZWRBUElDYXN0LmgiCisjaW5jbHVkZSAiV2ViR3JhbW1hckRldGFpbC5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvQ3JlZGVudGlhbC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVMb2FkZXJUeXBl
cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJvdGVjdGlvblNwYWNlLmg+CkBAIC00MDIsNiArNDAz
LDM2IEBAIGlubGluZSBXS1N0b3JhZ2VCbG9ja2luZ1BvbGljeSB0b0FQSShXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbjo6U3RvcmFnZUJsb2NraW5nUG9sCiAgICAgcmV0dXJuIGtXS0FsbG93QWxsU3Rv
cmFnZTsKIH0KIAoraW5saW5lIFdLUGx1Z2luTG9hZFBvbGljeSB0b1dLUGx1Z2luTG9hZFBvbGlj
eShQbHVnaW5Nb2R1bGVMb2FkUG9saWN5IHBsdWdpbk1vZHVsZUxvYWRQb2xpY3kpCit7CisgICAg
c3dpdGNoIChwbHVnaW5Nb2R1bGVMb2FkUG9saWN5KSB7CisgICAgICAgIGNhc2UgUGx1Z2luTW9k
dWxlTG9hZE5vcm1hbGx5OgorICAgICAgICAgICAgcmV0dXJuIGtXS1BsdWdpbkxvYWRQb2xpY3lM
b2FkTm9ybWFsbHk7CisgICAgICAgIGNhc2UgUGx1Z2luTW9kdWxlQmxvY2tlZDoKKyAgICAgICAg
ICAgIHJldHVybiBrV0tQbHVnaW5Mb2FkUG9saWN5QmxvY2tlZDsKKyAgICAgICAgY2FzZSBQbHVn
aW5Nb2R1bGVJbmFjdGl2ZToKKyAgICAgICAgICAgIHJldHVybiBrV0tQbHVnaW5Mb2FkUG9saWN5
SW5hY3RpdmU7CisgICAgfQorICAgIAorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJl
dHVybiBrV0tQbHVnaW5Mb2FkUG9saWN5QmxvY2tlZDsKK30KKworaW5saW5lIFBsdWdpbk1vZHVs
ZUxvYWRQb2xpY3kgdG9QbHVnaW5Nb2R1bGVMb2FkUG9saWN5KFdLUGx1Z2luTG9hZFBvbGljeSBw
bHVnaW5Mb2FkUG9saWN5KQoreworICAgIHN3aXRjaCAocGx1Z2luTG9hZFBvbGljeSkgeworICAg
ICAgICBjYXNlIGtXS1BsdWdpbkxvYWRQb2xpY3lMb2FkTm9ybWFsbHk6CisgICAgICAgICAgICBy
ZXR1cm4gUGx1Z2luTW9kdWxlTG9hZE5vcm1hbGx5OworICAgICAgICBjYXNlIGtXS1BsdWdpbkxv
YWRQb2xpY3lCbG9ja2VkOgorICAgICAgICAgICAgcmV0dXJuIFBsdWdpbk1vZHVsZUJsb2NrZWQ7
CisgICAgICAgIGNhc2Uga1dLUGx1Z2luTG9hZFBvbGljeUluYWN0aXZlOgorICAgICAgICAgICAg
cmV0dXJuIFBsdWdpbk1vZHVsZUluYWN0aXZlOworICAgIH0KKyAgICAKKyAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICByZXR1cm4gUGx1Z2luTW9kdWxlQmxvY2tlZDsKK30KKwogaW5saW5l
IFByb3h5aW5nUmVmUHRyPFdlYkdyYW1tYXJEZXRhaWw+IHRvQVBJKGNvbnN0IFdlYkNvcmU6Okdy
YW1tYXJEZXRhaWwmIGdyYW1tYXJEZXRhaWwpCiB7CiAgICAgcmV0dXJuIFByb3h5aW5nUmVmUHRy
PFdlYkdyYW1tYXJEZXRhaWw+KFdlYkdyYW1tYXJEZXRhaWw6OmNyZWF0ZShncmFtbWFyRGV0YWls
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLQ29u
dGV4dFByaXZhdGVNYWMuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tD
b250ZXh0UHJpdmF0ZU1hYy5oCmluZGV4IDVmZDIwZWNkNmJhMWI2M2Q3ZmQ1YTlhNGY5YmYyZjgy
NmEzNWUxYmEuLjdiMGVkM2NkNjIwMGQwZjRmNDRkYjU4Zjg4OGFkMDgxNGYxZDJkYzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tDb250ZXh0UHJpdmF0
ZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tDb250ZXh0
UHJpdmF0ZU1hYy5oCkBAIC0zNyw2ICszNywyNCBAQCBXS19FWFBPUlQgdm9pZCBXS0NvbnRleHRT
ZXRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKFdLQ29udGV4dFJlZiBjb250ZXh0LCBib29sCiAK
IFdLX0VYUE9SVCBib29sIFdLQ29udGV4dElzUGx1Z0luVXBkYXRlQXZhaWxhYmxlKFdLQ29udGV4
dFJlZiBjb250ZXh0LCBXS1N0cmluZ1JlZiBwbHVnSW5CdW5kbGVJZGVudGlmaWVyKTsKIAorCisv
KiBWYWx1ZSB0eXBlOiBXS1N0cmluZ1JlZiAqLworV0tfRVhQT1JUIFdLU3RyaW5nUmVmIFdLUGx1
Z0luSW5mb1BhdGhLZXkoKTsKKworLyogVmFsdWUgdHlwZTogV0tTdHJpbmdSZWYgKi8KK1dLX0VY
UE9SVCBXS1N0cmluZ1JlZiBXS1BsdWdJbkluZm9CdW5kbGVJZGVudGlmaWVyS2V5KCk7CisKKy8q
IFZhbHVlIHR5cGU6IFdLU3RyaW5nUmVmICovCitXS19FWFBPUlQgV0tTdHJpbmdSZWYgV0tQbHVn
SW5JbmZvVmVyc2lvbktleSgpOworCisvKiBWYWx1ZSB0eXBlOiBXS1VJbnQ2NFJlZiAqLworV0tf
RVhQT1JUIFdLU3RyaW5nUmVmIFdLUGx1Z0luSW5mb0xvYWRQb2xpY3lLZXkoKTsKKworLyogVmFs
dWUgdHlwZTogV0tCb29sZWFuUmVmICovCitXS19FWFBPUlQgV0tTdHJpbmdSZWYgV0tQbHVnSW5J
bmZvVXBkYXRlUGFzdExhc3RCbG9ja2VkVmVyc2lvbklzS25vd25BdmFpbGFibGVLZXkoKTsKKwor
V0tfRVhQT1JUIFdLRGljdGlvbmFyeVJlZiBXS0NvbnRleHRDb3B5UGx1Z0luSW5mb0ZvckJ1bmRs
ZUlkZXRpZmllcihXS0NvbnRleHRSZWYgY29udGV4dCwgV0tTdHJpbmdSZWYgcGx1Z0luQnVuZGxl
SWRlbnRpZmllcik7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLQ29udGV4dFByaXZhdGVNYWMu
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLQ29udGV4dFByaXZhdGVN
YWMubW0KaW5kZXggMjllMzVlMDliYTc1MmUwZGM0NzYwNTcyMmFlMWExZTBlYjc3NDQzYS4uZDcx
MTczY2E5ZmE5MWUzM2RjMGZjMDY5M2M1MGU3MjZiNTAxMTVhZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL21hYy9XS0NvbnRleHRQcml2YXRlTWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tDb250ZXh0UHJpdmF0ZU1hYy5t
bQpAQCAtMjYsOSArMjYsMTUgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiV0tDb250
ZXh0UHJpdmF0ZU1hYy5oIgogCisjaW1wb3J0ICJJbW11dGFibGVEaWN0aW9uYXJ5LmgiCisjaW1w
b3J0ICJQbHVnaW5JbmZvU3RvcmUuaCIKKyNpbXBvcnQgIlN0cmluZ1V0aWxpdGllcy5oIgogI2lt
cG9ydCAiV0tBUElDYXN0LmgiCisjaW1wb3J0ICJXS1NoYXJlZEFQSUNhc3QuaCIKICNpbXBvcnQg
IldLU3RyaW5nQ0YuaCIKICNpbXBvcnQgIldlYkNvbnRleHQuaCIKKyNpbXBvcnQgIldlYk51bWJl
ci5oIgorI2ltcG9ydCAiV2ViU3RyaW5nLmgiCiAjaW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRlcmZh
Y2UuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIApAQCAtNDQsNyArNTAsNTUgQEAgdm9p
ZCBXS0NvbnRleHRTZXRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKFdLQ29udGV4dFJlZiBjb250
ZXh0UmVmLCBib29sIGVuYWJsZWQKICAgICB0b0ltcGwoY29udGV4dFJlZiktPnNldFByb2Nlc3NT
dXBwcmVzc2lvbkVuYWJsZWQoZW5hYmxlZCk7CiB9CiAKLWJvb2wgV0tDb250ZXh0SXNQbHVnSW5V
cGRhdGVBdmFpbGFibGUoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLU3RyaW5nUmVmIHBsdWdJbkJ1
bmRsZUlkZW50aWZpZXIpCitib29sIFdLQ29udGV4dElzUGx1Z0luVXBkYXRlQXZhaWxhYmxlKFdL
Q29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1N0cmluZ1JlZiBwbHVnSW5CdW5kbGVJZGVudGlmaWVy
UmVmKQogewotICAgIHJldHVybiBXS0lzUGx1Z2luVXBkYXRlQXZhaWxhYmxlKChOU1N0cmluZyAq
KWFkb3B0Q0YoV0tTdHJpbmdDb3B5Q0ZTdHJpbmcoa0NGQWxsb2NhdG9yRGVmYXVsdCwgcGx1Z0lu
QnVuZGxlSWRlbnRpZmllcikpLmdldCgpKTsKKyAgICByZXR1cm4gV0tJc1BsdWdpblVwZGF0ZUF2
YWlsYWJsZSgoTlNTdHJpbmcgKilhZG9wdENGKFdLU3RyaW5nQ29weUNGU3RyaW5nKGtDRkFsbG9j
YXRvckRlZmF1bHQsIHBsdWdJbkJ1bmRsZUlkZW50aWZpZXJSZWYpKS5nZXQoKSk7Cit9CisKKwor
V0tTdHJpbmdSZWYgV0tQbHVnSW5JbmZvUGF0aEtleSgpCit7CisgICAgc3RhdGljIFdlYlN0cmlu
Zyoga2V5ID0gV2ViU3RyaW5nOjpjcmVhdGVGcm9tVVRGOFN0cmluZygiV0tQbHVnSW5JbmZvUGF0
aCIpLmxlYWtSZWYoKTsKKyAgICByZXR1cm4gdG9BUEkoa2V5KTsKK30KKworV0tTdHJpbmdSZWYg
V0tQbHVnSW5JbmZvQnVuZGxlSWRlbnRpZmllcktleSgpCit7CisgICAgc3RhdGljIFdlYlN0cmlu
Zyoga2V5ID0gV2ViU3RyaW5nOjpjcmVhdGVGcm9tVVRGOFN0cmluZygiV0tQbHVnSW5JbmZvQnVu
ZGxlSWRlbnRpZmllciIpLmxlYWtSZWYoKTsKKyAgICByZXR1cm4gdG9BUEkoa2V5KTsKK30KKwor
V0tTdHJpbmdSZWYgV0tQbHVnSW5JbmZvVmVyc2lvbktleSgpCit7CisgICAgc3RhdGljIFdlYlN0
cmluZyoga2V5ID0gV2ViU3RyaW5nOjpjcmVhdGVGcm9tVVRGOFN0cmluZygiV0tQbHVnSW5JbmZv
VmVyc2lvbiIpLmxlYWtSZWYoKTsKKyAgICByZXR1cm4gdG9BUEkoa2V5KTsKK30KKworV0tTdHJp
bmdSZWYgV0tQbHVnSW5JbmZvTG9hZFBvbGljeUtleSgpCit7CisgICAgc3RhdGljIFdlYlN0cmlu
Zyoga2V5ID0gV2ViU3RyaW5nOjpjcmVhdGVGcm9tVVRGOFN0cmluZygiV0tQbHVnSW5JbmZvTG9h
ZFBvbGljeSIpLmxlYWtSZWYoKTsKKyAgICByZXR1cm4gdG9BUEkoa2V5KTsKK30KKworV0tTdHJp
bmdSZWYgV0tQbHVnSW5JbmZvVXBkYXRlUGFzdExhc3RCbG9ja2VkVmVyc2lvbklzS25vd25BdmFp
bGFibGVLZXkoKQoreworICAgIHN0YXRpYyBXZWJTdHJpbmcqIGtleSA9IFdlYlN0cmluZzo6Y3Jl
YXRlRnJvbVVURjhTdHJpbmcoIldLUGx1Z0luSW5mb1VwZGF0ZVBhc3RMYXN0QmxvY2tlZFZlcnNp
b25Jc0tub3duQXZhaWxhYmxlIikubGVha1JlZigpOworICAgIHJldHVybiB0b0FQSShrZXkpOwor
fQorCitXS0RpY3Rpb25hcnlSZWYgV0tDb250ZXh0Q29weVBsdWdJbkluZm9Gb3JCdW5kbGVJZGV0
aWZpZXIoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLU3RyaW5nUmVmIHBsdWdJbkJ1bmRsZUlk
ZW50aWZpZXJSZWYpCit7CisgICAgUGx1Z2luTW9kdWxlSW5mbyBpbmZvID0gdG9JbXBsKGNvbnRl
eHRSZWYpLT5wbHVnaW5JbmZvU3RvcmUoKS5maW5kUGx1Z2luV2l0aEJ1bmRsZUlkZW50aWZlcih0
b1dURlN0cmluZyhwbHVnSW5CdW5kbGVJZGVudGlmaWVyUmVmKSk7CisgICAgaWYgKGluZm8ucGF0
aC5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBJbW11dGFibGVEaWN0aW9uYXJ5
OjpNYXBUeXBlIG1hcDsKKyAgICBtYXAuc2V0KHRvV1RGU3RyaW5nKFdLUGx1Z0luSW5mb1BhdGhL
ZXkoKSksIFdlYlN0cmluZzo6Y3JlYXRlKGluZm8ucGF0aCkpOworICAgIG1hcC5zZXQodG9XVEZT
dHJpbmcoV0tQbHVnSW5JbmZvQnVuZGxlSWRlbnRpZmllcktleSgpKSwgV2ViU3RyaW5nOjpjcmVh
dGUoaW5mby5idW5kbGVJZGVudGlmaWVyKSk7CisgICAgbWFwLnNldCh0b1dURlN0cmluZyhXS1Bs
dWdJbkluZm9WZXJzaW9uS2V5KCkpLCBXZWJTdHJpbmc6OmNyZWF0ZShpbmZvLnZlcnNpb25TdHJp
bmcpKTsKKyAgICBtYXAuc2V0KHRvV1RGU3RyaW5nKFdLUGx1Z0luSW5mb0xvYWRQb2xpY3lLZXko
KSksIFdlYlVJbnQ2NDo6Y3JlYXRlKHRvV0tQbHVnaW5Mb2FkUG9saWN5KFBsdWdpbkluZm9TdG9y
ZTo6cG9saWN5Rm9yUGx1Z2luKGluZm8pKSkpOworICAgIG1hcC5zZXQodG9XVEZTdHJpbmcoV0tQ
bHVnSW5JbmZvVXBkYXRlUGFzdExhc3RCbG9ja2VkVmVyc2lvbklzS25vd25BdmFpbGFibGVLZXko
KSksIFdlYkJvb2xlYW46OmNyZWF0ZShXS0lzUGx1Z2luVXBkYXRlQXZhaWxhYmxlKG5zU3RyaW5n
RnJvbVdlYkNvcmVTdHJpbmcoaW5mby5idW5kbGVJZGVudGlmaWVyKSkpKTsKKyAgICBSZWZQdHI8
SW1tdXRhYmxlRGljdGlvbmFyeT4gZGljdGlvbmFyeSA9IEltbXV0YWJsZURpY3Rpb25hcnk6OmFk
b3B0KG1hcCk7CisKKyAgICByZXR1cm4gdG9BUEkoZGljdGlvbmFyeS5yZWxlYXNlKCkubGVha1Jl
ZigpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpbkluZm9TdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5JbmZvU3RvcmUuY3BwCmluZGV4IDZhYzE0YjBjNzg5M2I1NjQyOGNmMTRkZTk0MDllYTZkMjEw
Y2FhMWIuLjMzYmU1ZjczNTBjZGNmMjI5NGQ4MjMyYmZlNjgzYjFlMDM1YmI2MTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNw
cApAQCAtMTkwLDYgKzE5MCwxMyBAQCBTdHJpbmcgUGx1Z2luSW5mb1N0b3JlOjpnZXRNSU1FVHlw
ZUZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dGVuc2lvbikKIHsKICAgICByZXR1cm4gTUlN
RVR5cGVSZWdpc3RyeTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oZXh0ZW5zaW9uKTsKIH0KKyAg
ICAKK1BsdWdpbk1vZHVsZUluZm8gUGx1Z2luSW5mb1N0b3JlOjpmaW5kUGx1Z2luV2l0aEJ1bmRs
ZUlkZW50aWZlcihjb25zdCBTdHJpbmcmKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgIHJldHVybiBQbHVnaW5Nb2R1bGVJbmZvKCk7Cit9CisKICNlbmRpZgogCiBQbHVnaW5Nb2R1
bGVJbmZvIFBsdWdpbkluZm9TdG9yZTo6ZmluZFBsdWdpbihTdHJpbmcmIG1pbWVUeXBlLCBjb25z
dCBLVVJMJiB1cmwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5JbmZvU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpbkluZm9TdG9yZS5oCmluZGV4IDE4YTNkNDE4ZTQzZjA0ZTM1OTZjN2JkMGQ4YTIwZjQ3OTg2
OWVjZDguLmI2ZTM5NGQwMWUwZjUyYjM3MGNkNzMwNGY2ZDIwYjhkMGUyNzE0NzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5oCkBA
IC02Miw3ICs2MiwxMCBAQCBwdWJsaWM6CiAgICAgLy8gSWYgdGhlIE1JTUUgdHlwZSBpcyBudWxs
LCB0aGUgZmlsZSBleHRlbnNpb24gb2YgdGhlIGdpdmVuIHVybCB3aWxsIGJlIHVzZWQgdG8gaW5m
ZXIgdGhlCiAgICAgLy8gcGx1Zy1pbiB0eXBlLiBJbiB0aGF0IGNhc2UsIG1pbWVUeXBlIHdpbGwg
YmUgZmlsbGVkIGluIHdpdGggdGhlIHJpZ2h0IE1JTUUgdHlwZS4KICAgICBQbHVnaW5Nb2R1bGVJ
bmZvIGZpbmRQbHVnaW4oU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgV2ViQ29yZTo6S1VSTCYpOwot
ICAgIAorCisgICAgLy8gUmV0dXJucyB0aGUgaW5mbyBmb3IgdGhlIHBsdWctaW4gd2l0aCB0aGUg
Z2l2ZW4gYnVuZGxlIGlkZW50aWZpZXIuCisgICAgUGx1Z2luTW9kdWxlSW5mbyBmaW5kUGx1Z2lu
V2l0aEJ1bmRsZUlkZW50aWZlcihjb25zdCBTdHJpbmcmIHBsdWdpblBhdGgpOworCiAgICAgLy8g
UmV0dXJucyB0aGUgaW5mbyBmb3IgdGhlIHBsdWctaW4gd2l0aCB0aGUgZ2l2ZW4gcGF0aC4KICAg
ICBQbHVnaW5Nb2R1bGVJbmZvIGluZm9Gb3JQbHVnaW5XaXRoUGF0aChjb25zdCBTdHJpbmcmIHBs
dWdpblBhdGgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGx1Z2lucy9tYWMvUGx1Z2luSW5mb1N0b3JlTWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvbWFjL1BsdWdpbkluZm9TdG9yZU1hYy5tbQppbmRleCBjNDlhNjM0NDg0M2Nh
ZDVmZjZjYmRmMzRmMDE0NzZlMjA3NWUzNzRlLi43MzhkMDg3YmFmZWY0MWY5OTRkMTY4OGYwYWUw
NGU3ZjZlNWI1YWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9tYWMvUGx1Z2luSW5mb1N0b3JlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QbHVnaW5zL21hYy9QbHVnaW5JbmZvU3RvcmVNYWMubW0KQEAgLTE3MSw2ICsxNzEsMTggQEAg
U3RyaW5nIFBsdWdpbkluZm9TdG9yZTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3Ry
aW5nJiBleHRlbnNpb24pCiAgICAgcmV0dXJuIFdLR2V0TUlNRVR5cGVGb3JFeHRlbnNpb24oKE5T
U3RyaW5nICopZXh0ZW5zaW9uQ0ZTdHJpbmcuZ2V0KCkpOwogfQogCitQbHVnaW5Nb2R1bGVJbmZv
IFBsdWdpbkluZm9TdG9yZTo6ZmluZFBsdWdpbldpdGhCdW5kbGVJZGVudGlmZXIoY29uc3QgU3Ry
aW5nJiBidW5kbGVJZGVudGlmZXIpCit7CisgICAgbG9hZFBsdWdpbnNJZk5lY2Vzc2FyeSgpOwor
ICAgIAorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9wbHVnaW5zLnNpemUoKTsgKytpKSB7
CisgICAgICAgIGlmIChtX3BsdWdpbnNbaV0uYnVuZGxlSWRlbnRpZmllciA9PSBidW5kbGVJZGVu
dGlmZXIpCisgICAgICAgICAgICByZXR1cm4gbV9wbHVnaW5zW2ldOworICAgIH0KKyAgICAKKyAg
ICByZXR1cm4gUGx1Z2luTW9kdWxlSW5mbygpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IAogI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViTG9hZGVyQ2xpZW50LmNwcAppbmRleCA4ODBhOGNhODU5ODkyZDBhN2Ji
NDdiOTJmMWRkYWIxZmFkMzcwMWYyLi5iYWM5OTJiMzk0M2ZiMjlkN2Q1YWRlNDdlYjUyODVmNzgw
OGQwZGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTG9hZGVyQ2xp
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTG9hZGVyQ2xpZW50LmNw
cApAQCAtMjk5LDM2ICsyOTksNiBAQCB2b2lkIFdlYkxvYWRlckNsaWVudDo6ZGlkQmxvY2tJbnNl
Y3VyZVBsdWdpblZlcnNpb24oV2ViUGFnZVByb3h5KiBwYWdlLCBjb25zdCBTdAogICAgIH0KIH0K
IAotc3RhdGljIGlubGluZSBXS1BsdWdpbkxvYWRQb2xpY3kgdG9XS1BsdWdpbkxvYWRQb2xpY3ko
UGx1Z2luTW9kdWxlTG9hZFBvbGljeSBwbHVnaW5Nb2R1bGVMb2FkUG9saWN5KQotewotICAgIHN3
aXRjaCAocGx1Z2luTW9kdWxlTG9hZFBvbGljeSkgewotICAgIGNhc2UgUGx1Z2luTW9kdWxlTG9h
ZE5vcm1hbGx5OgotICAgICAgICByZXR1cm4ga1dLUGx1Z2luTG9hZFBvbGljeUxvYWROb3JtYWxs
eTsKLSAgICBjYXNlIFBsdWdpbk1vZHVsZUJsb2NrZWQ6Ci0gICAgICAgIHJldHVybiBrV0tQbHVn
aW5Mb2FkUG9saWN5QmxvY2tlZDsKLSAgICBjYXNlIFBsdWdpbk1vZHVsZUluYWN0aXZlOgotICAg
ICAgICByZXR1cm4ga1dLUGx1Z2luTG9hZFBvbGljeUluYWN0aXZlOwotICAgIH0KLQotICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBrV0tQbHVnaW5Mb2FkUG9saWN5QmxvY2tl
ZDsKLX0KLQotc3RhdGljIGlubGluZSBQbHVnaW5Nb2R1bGVMb2FkUG9saWN5IHRvUGx1Z2luTW9k
dWxlTG9hZFBvbGljeShXS1BsdWdpbkxvYWRQb2xpY3kgcGx1Z2luTG9hZFBvbGljeSkKLXsKLSAg
ICBzd2l0Y2ggKHBsdWdpbkxvYWRQb2xpY3kpIHsKLSAgICBjYXNlIGtXS1BsdWdpbkxvYWRQb2xp
Y3lMb2FkTm9ybWFsbHk6Ci0gICAgICAgIHJldHVybiBQbHVnaW5Nb2R1bGVMb2FkTm9ybWFsbHk7
Ci0gICAgY2FzZSBrV0tQbHVnaW5Mb2FkUG9saWN5QmxvY2tlZDoKLSAgICAgICAgcmV0dXJuIFBs
dWdpbk1vZHVsZUJsb2NrZWQ7Ci0gICAgY2FzZSBrV0tQbHVnaW5Mb2FkUG9saWN5SW5hY3RpdmU6
Ci0gICAgICAgIHJldHVybiBQbHVnaW5Nb2R1bGVJbmFjdGl2ZTsKLSAgICB9Ci0KLSAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gUGx1Z2luTW9kdWxlQmxvY2tlZDsKLX0KLQog
UGx1Z2luTW9kdWxlTG9hZFBvbGljeSBXZWJMb2FkZXJDbGllbnQ6OnBsdWdpbkxvYWRQb2xpY3ko
V2ViUGFnZVByb3h5KiBwYWdlLCBjb25zdCBTdHJpbmcmIHBsdWdpbkJ1bmRsZUlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgcGx1Z2luQnVuZGxlVmVyc2lvbiwgY29uc3QgU3RyaW5nJiBkaXNwbGF5
TmFtZSwgY29uc3QgU3RyaW5nJiBmcmFtZVVSTFN0cmluZywgY29uc3QgU3RyaW5nJiBwYWdlVVJM
U3RyaW5nLCBQbHVnaW5Nb2R1bGVMb2FkUG9saWN5IGN1cnJlbnRQbHVnaW5Mb2FkUG9saWN5KQog
ewogICAgIGlmICghbV9jbGllbnQucGx1Z2luTG9hZFBvbGljeSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195470</attachid>
            <date>2013-03-27 20:21:52 -0700</date>
            <delta_ts>2013-03-27 20:23:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113463-20130327202150.patch</filename>
            <type>text/plain</type>
            <size>14300</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNmY5MWQ4ZTg5OTNlOTky
NzMyNTdkOTM0ODVlYjZmMWQzNjE0Mzk5My4uODEyZGJiMTA0MTEzMzU3YTU0YzEzOTU5NTkyMmE4
OWVjZDZmOWM1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAzLTI3ICBTYW0g
V2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW1dlYktpdDJdIE5lZWQgU1BJIHRv
IGRldGVybWluZSB3aGV0aGVyIGEgcGx1Zy1pbiBpcyBibG9ja2VkCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM0NjMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbmV3IFNQSSwgV0tDb250ZXh0Q29w
eVBsdWdJbkluZm9Gb3JCdW5kbGVJZGV0aWZpZXIsIHRvIGdldCBkYXRhIGFib3V0IGEgcGx1Zy1p
biwKKyAgICAgICAgaW5jbHVkaW5nIHdoZXRoZXIgaXQgaXMgYmxvY2tlZCBieSB4LXByb3RlY3Qu
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0Lmg6CisgICAgICAgIChXZWJLaXQ6OnRvV0tQbHVnaW5M
b2FkUG9saWN5KToKKyAgICAgICAgKFdlYktpdDo6dG9QbHVnaW5Nb2R1bGVMb2FkUG9saWN5KToK
KyAgICAgICAgTW92ZSB0byBhIHNoYXJlZCBsb2NhdGlvbi4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQy9tYWMvV0tDb250ZXh0UHJpdmF0ZU1hYy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQy9tYWMvV0tDb250ZXh0UHJpdmF0ZU1hYy5tbToKKyAgICAgICAgKFdLQ29udGV4dElzUGx1
Z0luVXBkYXRlQXZhaWxhYmxlKToKKyAgICAgICAgKFdLUGx1Z0luSW5mb1BhdGhLZXkpOgorICAg
ICAgICAoV0tQbHVnSW5JbmZvQnVuZGxlSWRlbnRpZmllcktleSk6CisgICAgICAgIChXS1BsdWdJ
bkluZm9WZXJzaW9uS2V5KToKKyAgICAgICAgKFdLUGx1Z0luSW5mb0xvYWRQb2xpY3lLZXkpOgor
ICAgICAgICAoV0tQbHVnSW5JbmZvVXBkYXRlUGFzdExhc3RCbG9ja2VkVmVyc2lvbklzS25vd25B
dmFpbGFibGVLZXkpOgorICAgICAgICAoV0tDb250ZXh0Q29weVBsdWdJbkluZm9Gb3JCdW5kbGVJ
ZGV0aWZpZXIpOgorICAgICAgICBBZGQgbmV3IFNQSSBhbmQgZGljdGlvbmFyeSBrZXlzLgorCisg
ICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6UGx1Z2luSW5mb1N0b3JlOjpmaW5kUGx1Z2luV2l0aEJ1bmRsZUlkZW50aWZlcik6
CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1BsdWdpbnMvbWFjL1BsdWdpbkluZm9TdG9yZU1hYy5tbToKKyAgICAgICAg
KFdlYktpdDo6UGx1Z2luSW5mb1N0b3JlOjpmaW5kUGx1Z2luV2l0aEJ1bmRsZUlkZW50aWZlcik6
CisgICAgICAgIEFkZCBmdW5jdGlvbiB0byBsb29rdXAgcGx1Zy1pbnMgYnkgYnVuZGxlIGlkZW50
aWZpZXIuCisKIDIwMTMtMDMtMjcgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAK
ICAgICAgICAgR29pbmcgZnVsbCBzY3JlZW4gYW5kIGNhbmNlbGxpbmcgZ2V0cyBzeXN0ZW0gaW50
byBhIHdlaXJkIHN0YXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tBUElDYXN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0
LmgKaW5kZXggZDUxM2I5NmVlODM5MzY2NTcwYWE3NTMxYWIxNmUxM2YwOTBmMzkyNy4uMDgxZDIz
MjY0ZGM0YTEyYTU5YjljYmY2NmIxMjZlNzIzNjZmZjkwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaApAQCAtMzAsOSArMzAsOSBAQAogI2luY2x1ZGUgIkNh
Y2hlTW9kZWwuaCIKICNpbmNsdWRlICJGb250U21vb3RoaW5nTGV2ZWwuaCIKICNpbmNsdWRlICJI
VFRQQ29va2llQWNjZXB0UG9saWN5LmgiCisjaW5jbHVkZSAiUGx1Z2luTW9kdWxlSW5mby5oIgog
I2luY2x1ZGUgIlByb2Nlc3NNb2RlbC5oIgogI2luY2x1ZGUgIlJlc291cmNlQ2FjaGVzVG9DbGVh
ci5oIgotI2luY2x1ZGUgIldlYkdyYW1tYXJEZXRhaWwuaCIKICNpbmNsdWRlICJXS0NvbnRleHQu
aCIKICNpbmNsdWRlICJXS0Nvb2tpZU1hbmFnZXIuaCIKICNpbmNsdWRlICJXS0NyZWRlbnRpYWxU
eXBlcy5oIgpAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIldLUHJvdGVjdGlvblNwYWNlVHlw
ZXMuaCIKICNpbmNsdWRlICJXS1Jlc291cmNlQ2FjaGVNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV0tT
aGFyZWRBUElDYXN0LmgiCisjaW5jbHVkZSAiV2ViR3JhbW1hckRldGFpbC5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvQ3JlZGVudGlhbC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVMb2FkZXJUeXBl
cy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUHJvdGVjdGlvblNwYWNlLmg+CkBAIC00MDIsNiArNDAz
LDM2IEBAIGlubGluZSBXS1N0b3JhZ2VCbG9ja2luZ1BvbGljeSB0b0FQSShXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbjo6U3RvcmFnZUJsb2NraW5nUG9sCiAgICAgcmV0dXJuIGtXS0FsbG93QWxsU3Rv
cmFnZTsKIH0KIAoraW5saW5lIFdLUGx1Z2luTG9hZFBvbGljeSB0b1dLUGx1Z2luTG9hZFBvbGlj
eShQbHVnaW5Nb2R1bGVMb2FkUG9saWN5IHBsdWdpbk1vZHVsZUxvYWRQb2xpY3kpCit7CisgICAg
c3dpdGNoIChwbHVnaW5Nb2R1bGVMb2FkUG9saWN5KSB7CisgICAgY2FzZSBQbHVnaW5Nb2R1bGVM
b2FkTm9ybWFsbHk6CisgICAgICAgIHJldHVybiBrV0tQbHVnaW5Mb2FkUG9saWN5TG9hZE5vcm1h
bGx5OworICAgIGNhc2UgUGx1Z2luTW9kdWxlQmxvY2tlZDoKKyAgICAgICAgcmV0dXJuIGtXS1Bs
dWdpbkxvYWRQb2xpY3lCbG9ja2VkOworICAgIGNhc2UgUGx1Z2luTW9kdWxlSW5hY3RpdmU6Cisg
ICAgICAgIHJldHVybiBrV0tQbHVnaW5Mb2FkUG9saWN5SW5hY3RpdmU7CisgICAgfQorICAgIAor
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBrV0tQbHVnaW5Mb2FkUG9saWN5
QmxvY2tlZDsKK30KKworaW5saW5lIFBsdWdpbk1vZHVsZUxvYWRQb2xpY3kgdG9QbHVnaW5Nb2R1
bGVMb2FkUG9saWN5KFdLUGx1Z2luTG9hZFBvbGljeSBwbHVnaW5Mb2FkUG9saWN5KQoreworICAg
IHN3aXRjaCAocGx1Z2luTG9hZFBvbGljeSkgeworICAgIGNhc2Uga1dLUGx1Z2luTG9hZFBvbGlj
eUxvYWROb3JtYWxseToKKyAgICAgICAgcmV0dXJuIFBsdWdpbk1vZHVsZUxvYWROb3JtYWxseTsK
KyAgICBjYXNlIGtXS1BsdWdpbkxvYWRQb2xpY3lCbG9ja2VkOgorICAgICAgICByZXR1cm4gUGx1
Z2luTW9kdWxlQmxvY2tlZDsKKyAgICBjYXNlIGtXS1BsdWdpbkxvYWRQb2xpY3lJbmFjdGl2ZToK
KyAgICAgICAgcmV0dXJuIFBsdWdpbk1vZHVsZUluYWN0aXZlOworICAgIH0KKyAgICAKKyAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gUGx1Z2luTW9kdWxlQmxvY2tlZDsKK30K
KwogaW5saW5lIFByb3h5aW5nUmVmUHRyPFdlYkdyYW1tYXJEZXRhaWw+IHRvQVBJKGNvbnN0IFdl
YkNvcmU6OkdyYW1tYXJEZXRhaWwmIGdyYW1tYXJEZXRhaWwpCiB7CiAgICAgcmV0dXJuIFByb3h5
aW5nUmVmUHRyPFdlYkdyYW1tYXJEZXRhaWw+KFdlYkdyYW1tYXJEZXRhaWw6OmNyZWF0ZShncmFt
bWFyRGV0YWlsKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
bWFjL1dLQ29udGV4dFByaXZhdGVNYWMuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9tYWMvV0tDb250ZXh0UHJpdmF0ZU1hYy5oCmluZGV4IDVmZDIwZWNkNmJhMWI2M2Q3ZmQ1YTlh
NGY5YmYyZjgyNmEzNWUxYmEuLmRmNmZlZWFlZmE2YzFkMzUzMzQzMjk0OWYzNmMwZmEyMjUzOWU1
M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tDb250
ZXh0UHJpdmF0ZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9tYWMv
V0tDb250ZXh0UHJpdmF0ZU1hYy5oCkBAIC0zNyw2ICszNywyNCBAQCBXS19FWFBPUlQgdm9pZCBX
S0NvbnRleHRTZXRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKFdLQ29udGV4dFJlZiBjb250ZXh0
LCBib29sCiAKIFdLX0VYUE9SVCBib29sIFdLQ29udGV4dElzUGx1Z0luVXBkYXRlQXZhaWxhYmxl
KFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS1N0cmluZ1JlZiBwbHVnSW5CdW5kbGVJZGVudGlmaWVy
KTsKIAorCisvKiBWYWx1ZSB0eXBlOiBXS1N0cmluZ1JlZiAqLworV0tfRVhQT1JUIFdLU3RyaW5n
UmVmIFdLUGx1Z0luSW5mb1BhdGhLZXkoKTsKKworLyogVmFsdWUgdHlwZTogV0tTdHJpbmdSZWYg
Ki8KK1dLX0VYUE9SVCBXS1N0cmluZ1JlZiBXS1BsdWdJbkluZm9CdW5kbGVJZGVudGlmaWVyS2V5
KCk7CisKKy8qIFZhbHVlIHR5cGU6IFdLU3RyaW5nUmVmICovCitXS19FWFBPUlQgV0tTdHJpbmdS
ZWYgV0tQbHVnSW5JbmZvVmVyc2lvbktleSgpOworCisvKiBWYWx1ZSB0eXBlOiBXS1VJbnQ2NFJl
ZiAqLworV0tfRVhQT1JUIFdLU3RyaW5nUmVmIFdLUGx1Z0luSW5mb0xvYWRQb2xpY3lLZXkoKTsK
KworLyogVmFsdWUgdHlwZTogV0tCb29sZWFuUmVmICovCitXS19FWFBPUlQgV0tTdHJpbmdSZWYg
V0tQbHVnSW5JbmZvVXBkYXRlUGFzdExhc3RCbG9ja2VkVmVyc2lvbklzS25vd25BdmFpbGFibGVL
ZXkoKTsKKworV0tfRVhQT1JUIFdLRGljdGlvbmFyeVJlZiBXS0NvbnRleHRDb3B5UGx1Z0luSW5m
b0ZvckJ1bmRsZUlkZW50aWZpZXIoV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLU3RyaW5nUmVmIHBs
dWdJbkJ1bmRsZUlkZW50aWZpZXIpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL21hYy9XS0NvbnRleHRQ
cml2YXRlTWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL21hYy9XS0NvbnRl
eHRQcml2YXRlTWFjLm1tCmluZGV4IDI5ZTM1ZTA5YmE3NTJlMGRjNDc2MDU3MjJhZTFhMWUwZWI3
NzQ0M2EuLjU1NzZmOGY5NDQyM2Y1MDk1Y2Y1OTRmMDU0OTRiNjVkZjRmY2NiNDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tDb250ZXh0UHJpdmF0ZU1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLQ29udGV4dFBy
aXZhdGVNYWMubW0KQEAgLTI2LDkgKzI2LDE1IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBv
cnQgIldLQ29udGV4dFByaXZhdGVNYWMuaCIKIAorI2ltcG9ydCAiSW1tdXRhYmxlRGljdGlvbmFy
eS5oIgorI2ltcG9ydCAiUGx1Z2luSW5mb1N0b3JlLmgiCisjaW1wb3J0ICJTdHJpbmdVdGlsaXRp
ZXMuaCIKICNpbXBvcnQgIldLQVBJQ2FzdC5oIgorI2ltcG9ydCAiV0tTaGFyZWRBUElDYXN0Lmgi
CiAjaW1wb3J0ICJXS1N0cmluZ0NGLmgiCiAjaW1wb3J0ICJXZWJDb250ZXh0LmgiCisjaW1wb3J0
ICJXZWJOdW1iZXIuaCIKKyNpbXBvcnQgIldlYlN0cmluZy5oIgogI2ltcG9ydCA8V2ViS2l0U3lz
dGVtSW50ZXJmYWNlLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKQEAgLTQ0LDcgKzUw
LDU0IEBAIHZvaWQgV0tDb250ZXh0U2V0UHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZChXS0NvbnRl
eHRSZWYgY29udGV4dFJlZiwgYm9vbCBlbmFibGVkCiAgICAgdG9JbXBsKGNvbnRleHRSZWYpLT5z
ZXRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKGVuYWJsZWQpOwogfQogCi1ib29sIFdLQ29udGV4
dElzUGx1Z0luVXBkYXRlQXZhaWxhYmxlKFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS1N0cmluZ1Jl
ZiBwbHVnSW5CdW5kbGVJZGVudGlmaWVyKQorYm9vbCBXS0NvbnRleHRJc1BsdWdJblVwZGF0ZUF2
YWlsYWJsZShXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tTdHJpbmdSZWYgcGx1Z0luQnVuZGxl
SWRlbnRpZmllclJlZikKIHsKLSAgICByZXR1cm4gV0tJc1BsdWdpblVwZGF0ZUF2YWlsYWJsZSgo
TlNTdHJpbmcgKilhZG9wdENGKFdLU3RyaW5nQ29weUNGU3RyaW5nKGtDRkFsbG9jYXRvckRlZmF1
bHQsIHBsdWdJbkJ1bmRsZUlkZW50aWZpZXIpKS5nZXQoKSk7CisgICAgcmV0dXJuIFdLSXNQbHVn
aW5VcGRhdGVBdmFpbGFibGUoKE5TU3RyaW5nICopYWRvcHRDRihXS1N0cmluZ0NvcHlDRlN0cmlu
ZyhrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBwbHVnSW5CdW5kbGVJZGVudGlmaWVyUmVmKSkuZ2V0KCkp
OworfQorCisKK1dLU3RyaW5nUmVmIFdLUGx1Z0luSW5mb1BhdGhLZXkoKQoreworICAgIHN0YXRp
YyBXZWJTdHJpbmcqIGtleSA9IFdlYlN0cmluZzo6Y3JlYXRlRnJvbVVURjhTdHJpbmcoIldLUGx1
Z0luSW5mb1BhdGgiKS5sZWFrUmVmKCk7CisgICAgcmV0dXJuIHRvQVBJKGtleSk7Cit9CisKK1dL
U3RyaW5nUmVmIFdLUGx1Z0luSW5mb0J1bmRsZUlkZW50aWZpZXJLZXkoKQoreworICAgIHN0YXRp
YyBXZWJTdHJpbmcqIGtleSA9IFdlYlN0cmluZzo6Y3JlYXRlRnJvbVVURjhTdHJpbmcoIldLUGx1
Z0luSW5mb0J1bmRsZUlkZW50aWZpZXIiKS5sZWFrUmVmKCk7CisgICAgcmV0dXJuIHRvQVBJKGtl
eSk7Cit9CisKK1dLU3RyaW5nUmVmIFdLUGx1Z0luSW5mb1ZlcnNpb25LZXkoKQoreworICAgIHN0
YXRpYyBXZWJTdHJpbmcqIGtleSA9IFdlYlN0cmluZzo6Y3JlYXRlRnJvbVVURjhTdHJpbmcoIldL
UGx1Z0luSW5mb1ZlcnNpb24iKS5sZWFrUmVmKCk7CisgICAgcmV0dXJuIHRvQVBJKGtleSk7Cit9
CisKK1dLU3RyaW5nUmVmIFdLUGx1Z0luSW5mb0xvYWRQb2xpY3lLZXkoKQoreworICAgIHN0YXRp
YyBXZWJTdHJpbmcqIGtleSA9IFdlYlN0cmluZzo6Y3JlYXRlRnJvbVVURjhTdHJpbmcoIldLUGx1
Z0luSW5mb0xvYWRQb2xpY3kiKS5sZWFrUmVmKCk7CisgICAgcmV0dXJuIHRvQVBJKGtleSk7Cit9
CisKK1dLU3RyaW5nUmVmIFdLUGx1Z0luSW5mb1VwZGF0ZVBhc3RMYXN0QmxvY2tlZFZlcnNpb25J
c0tub3duQXZhaWxhYmxlS2V5KCkKK3sKKyAgICBzdGF0aWMgV2ViU3RyaW5nKiBrZXkgPSBXZWJT
dHJpbmc6OmNyZWF0ZUZyb21VVEY4U3RyaW5nKCJXS1BsdWdJbkluZm9VcGRhdGVQYXN0TGFzdEJs
b2NrZWRWZXJzaW9uSXNLbm93bkF2YWlsYWJsZSIpLmxlYWtSZWYoKTsKKyAgICByZXR1cm4gdG9B
UEkoa2V5KTsKK30KKworV0tEaWN0aW9uYXJ5UmVmIFdLQ29udGV4dENvcHlQbHVnSW5JbmZvRm9y
QnVuZGxlSWRlbnRpZmllcihXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tTdHJpbmdSZWYgcGx1
Z0luQnVuZGxlSWRlbnRpZmllclJlZikKK3sKKyAgICBQbHVnaW5Nb2R1bGVJbmZvIGluZm8gPSB0
b0ltcGwoY29udGV4dFJlZiktPnBsdWdpbkluZm9TdG9yZSgpLmZpbmRQbHVnaW5XaXRoQnVuZGxl
SWRlbnRpZmllcih0b1dURlN0cmluZyhwbHVnSW5CdW5kbGVJZGVudGlmaWVyUmVmKSk7CisgICAg
aWYgKGluZm8ucGF0aC5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBJbW11dGFi
bGVEaWN0aW9uYXJ5OjpNYXBUeXBlIG1hcDsKKyAgICBtYXAuc2V0KHRvV1RGU3RyaW5nKFdLUGx1
Z0luSW5mb1BhdGhLZXkoKSksIFdlYlN0cmluZzo6Y3JlYXRlKGluZm8ucGF0aCkpOworICAgIG1h
cC5zZXQodG9XVEZTdHJpbmcoV0tQbHVnSW5JbmZvQnVuZGxlSWRlbnRpZmllcktleSgpKSwgV2Vi
U3RyaW5nOjpjcmVhdGUoaW5mby5idW5kbGVJZGVudGlmaWVyKSk7CisgICAgbWFwLnNldCh0b1dU
RlN0cmluZyhXS1BsdWdJbkluZm9WZXJzaW9uS2V5KCkpLCBXZWJTdHJpbmc6OmNyZWF0ZShpbmZv
LnZlcnNpb25TdHJpbmcpKTsKKyAgICBtYXAuc2V0KHRvV1RGU3RyaW5nKFdLUGx1Z0luSW5mb0xv
YWRQb2xpY3lLZXkoKSksIFdlYlVJbnQ2NDo6Y3JlYXRlKHRvV0tQbHVnaW5Mb2FkUG9saWN5KFBs
dWdpbkluZm9TdG9yZTo6cG9saWN5Rm9yUGx1Z2luKGluZm8pKSkpOworICAgIG1hcC5zZXQodG9X
VEZTdHJpbmcoV0tQbHVnSW5JbmZvVXBkYXRlUGFzdExhc3RCbG9ja2VkVmVyc2lvbklzS25vd25B
dmFpbGFibGVLZXkoKSksIFdlYkJvb2xlYW46OmNyZWF0ZShXS0lzUGx1Z2luVXBkYXRlQXZhaWxh
YmxlKG5zU3RyaW5nRnJvbVdlYkNvcmVTdHJpbmcoaW5mby5idW5kbGVJZGVudGlmaWVyKSkpKTsK
KworICAgIHJldHVybiB0b0FQSShJbW11dGFibGVEaWN0aW9uYXJ5OjphZG9wdChtYXApLmxlYWtS
ZWYoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5JbmZvU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luSW5mb1N0b3JlLmNwcAppbmRleCA2YWMxNGIwYzc4OTNiNTY0MjhjZjE0ZGU5NDA5ZWE2ZDIx
MGNhYTFiLi5hYjg4MGJkZTBlNWEyODAxOGI5YmI3N2QzNzg2MTYyZmRjODU0N2UxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5j
cHAKQEAgLTE5MCw2ICsxOTAsMTMgQEAgU3RyaW5nIFBsdWdpbkluZm9TdG9yZTo6Z2V0TUlNRVR5
cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBleHRlbnNpb24pCiB7CiAgICAgcmV0dXJuIE1J
TUVUeXBlUmVnaXN0cnk6OmdldE1JTUVUeXBlRm9yRXh0ZW5zaW9uKGV4dGVuc2lvbik7CiB9Cisg
ICAgCitQbHVnaW5Nb2R1bGVJbmZvIFBsdWdpbkluZm9TdG9yZTo6ZmluZFBsdWdpbldpdGhCdW5k
bGVJZGVudGlmaWVyKGNvbnN0IFN0cmluZyYpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgcmV0dXJuIFBsdWdpbk1vZHVsZUluZm8oKTsKK30KKwogI2VuZGlmCiAKIFBsdWdpbk1v
ZHVsZUluZm8gUGx1Z2luSW5mb1N0b3JlOjpmaW5kUGx1Z2luKFN0cmluZyYgbWltZVR5cGUsIGNv
bnN0IEtVUkwmIHVybCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpbkluZm9TdG9yZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luSW5mb1N0b3JlLmgKaW5kZXggMThhM2Q0MThlNDNmMDRlMzU5NmM3YmQwZDhhMjBmNDc5
ODY5ZWNkOC4uZmM1YjkwNmE2ZjA2NWFhZTgyYTEzNzk2ODFiMjYwMDcwMDcxZWVhNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmgK
QEAgLTYyLDcgKzYyLDEwIEBAIHB1YmxpYzoKICAgICAvLyBJZiB0aGUgTUlNRSB0eXBlIGlzIG51
bGwsIHRoZSBmaWxlIGV4dGVuc2lvbiBvZiB0aGUgZ2l2ZW4gdXJsIHdpbGwgYmUgdXNlZCB0byBp
bmZlciB0aGUKICAgICAvLyBwbHVnLWluIHR5cGUuIEluIHRoYXQgY2FzZSwgbWltZVR5cGUgd2ls
bCBiZSBmaWxsZWQgaW4gd2l0aCB0aGUgcmlnaHQgTUlNRSB0eXBlLgogICAgIFBsdWdpbk1vZHVs
ZUluZm8gZmluZFBsdWdpbihTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBXZWJDb3JlOjpLVVJMJik7
Ci0gICAgCisKKyAgICAvLyBSZXR1cm5zIHRoZSBpbmZvIGZvciB0aGUgcGx1Zy1pbiB3aXRoIHRo
ZSBnaXZlbiBidW5kbGUgaWRlbnRpZmllci4KKyAgICBQbHVnaW5Nb2R1bGVJbmZvIGZpbmRQbHVn
aW5XaXRoQnVuZGxlSWRlbnRpZmllcihjb25zdCBTdHJpbmcmIGJ1bmRsZUlkZW50aWZpZXIpOwor
CiAgICAgLy8gUmV0dXJucyB0aGUgaW5mbyBmb3IgdGhlIHBsdWctaW4gd2l0aCB0aGUgZ2l2ZW4g
cGF0aC4KICAgICBQbHVnaW5Nb2R1bGVJbmZvIGluZm9Gb3JQbHVnaW5XaXRoUGF0aChjb25zdCBT
dHJpbmcmIHBsdWdpblBhdGgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUGx1Z2lucy9tYWMvUGx1Z2luSW5mb1N0b3JlTWFjLm1tIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BsdWdpbnMvbWFjL1BsdWdpbkluZm9TdG9yZU1hYy5tbQppbmRleCBjNDlh
NjM0NDg0M2NhZDVmZjZjYmRmMzRmMDE0NzZlMjA3NWUzNzRlLi5lMzc2MTAwM2M4ODAyM2U5MzU1
NjdiZGRiMzBkNjQ5NjA3YTFhOGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvUGx1Z2lucy9tYWMvUGx1Z2luSW5mb1N0b3JlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9QbHVnaW5zL21hYy9QbHVnaW5JbmZvU3RvcmVNYWMubW0KQEAgLTE3MSw2ICsx
NzEsMTggQEAgU3RyaW5nIFBsdWdpbkluZm9TdG9yZTo6Z2V0TUlNRVR5cGVGb3JFeHRlbnNpb24o
Y29uc3QgU3RyaW5nJiBleHRlbnNpb24pCiAgICAgcmV0dXJuIFdLR2V0TUlNRVR5cGVGb3JFeHRl
bnNpb24oKE5TU3RyaW5nICopZXh0ZW5zaW9uQ0ZTdHJpbmcuZ2V0KCkpOwogfQogCitQbHVnaW5N
b2R1bGVJbmZvIFBsdWdpbkluZm9TdG9yZTo6ZmluZFBsdWdpbldpdGhCdW5kbGVJZGVudGlmaWVy
KGNvbnN0IFN0cmluZyYgYnVuZGxlSWRlbnRpZmllcikKK3sKKyAgICBsb2FkUGx1Z2luc0lmTmVj
ZXNzYXJ5KCk7CisKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fcGx1Z2lucy5zaXplKCk7
ICsraSkgeworICAgICAgICBpZiAobV9wbHVnaW5zW2ldLmJ1bmRsZUlkZW50aWZpZXIgPT0gYnVu
ZGxlSWRlbnRpZmllcikKKyAgICAgICAgICAgIHJldHVybiBtX3BsdWdpbnNbaV07CisgICAgfQor
ICAgIAorICAgIHJldHVybiBQbHVnaW5Nb2R1bGVJbmZvKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJMb2FkZXJDbGllbnQuY3BwCmluZGV4IDg4MGE4Y2E4NTk4
OTJkMGE3YmI0N2I5MmYxZGRhYjFmYWQzNzAxZjIuLmJhYzk5MmIzOTQzZmIyOWQ3ZDVhZGU0N2Vi
NTI4NWY3ODA4ZDBkY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJM
b2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJMb2FkZXJD
bGllbnQuY3BwCkBAIC0yOTksMzYgKzI5OSw2IEBAIHZvaWQgV2ViTG9hZGVyQ2xpZW50OjpkaWRC
bG9ja0luc2VjdXJlUGx1Z2luVmVyc2lvbihXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IFN0CiAg
ICAgfQogfQogCi1zdGF0aWMgaW5saW5lIFdLUGx1Z2luTG9hZFBvbGljeSB0b1dLUGx1Z2luTG9h
ZFBvbGljeShQbHVnaW5Nb2R1bGVMb2FkUG9saWN5IHBsdWdpbk1vZHVsZUxvYWRQb2xpY3kpCi17
Ci0gICAgc3dpdGNoIChwbHVnaW5Nb2R1bGVMb2FkUG9saWN5KSB7Ci0gICAgY2FzZSBQbHVnaW5N
b2R1bGVMb2FkTm9ybWFsbHk6Ci0gICAgICAgIHJldHVybiBrV0tQbHVnaW5Mb2FkUG9saWN5TG9h
ZE5vcm1hbGx5OwotICAgIGNhc2UgUGx1Z2luTW9kdWxlQmxvY2tlZDoKLSAgICAgICAgcmV0dXJu
IGtXS1BsdWdpbkxvYWRQb2xpY3lCbG9ja2VkOwotICAgIGNhc2UgUGx1Z2luTW9kdWxlSW5hY3Rp
dmU6Ci0gICAgICAgIHJldHVybiBrV0tQbHVnaW5Mb2FkUG9saWN5SW5hY3RpdmU7Ci0gICAgfQot
Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIGtXS1BsdWdpbkxvYWRQb2xp
Y3lCbG9ja2VkOwotfQotCi1zdGF0aWMgaW5saW5lIFBsdWdpbk1vZHVsZUxvYWRQb2xpY3kgdG9Q
bHVnaW5Nb2R1bGVMb2FkUG9saWN5KFdLUGx1Z2luTG9hZFBvbGljeSBwbHVnaW5Mb2FkUG9saWN5
KQotewotICAgIHN3aXRjaCAocGx1Z2luTG9hZFBvbGljeSkgewotICAgIGNhc2Uga1dLUGx1Z2lu
TG9hZFBvbGljeUxvYWROb3JtYWxseToKLSAgICAgICAgcmV0dXJuIFBsdWdpbk1vZHVsZUxvYWRO
b3JtYWxseTsKLSAgICBjYXNlIGtXS1BsdWdpbkxvYWRQb2xpY3lCbG9ja2VkOgotICAgICAgICBy
ZXR1cm4gUGx1Z2luTW9kdWxlQmxvY2tlZDsKLSAgICBjYXNlIGtXS1BsdWdpbkxvYWRQb2xpY3lJ
bmFjdGl2ZToKLSAgICAgICAgcmV0dXJuIFBsdWdpbk1vZHVsZUluYWN0aXZlOwotICAgIH0KLQot
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBQbHVnaW5Nb2R1bGVCbG9ja2Vk
OwotfQotCiBQbHVnaW5Nb2R1bGVMb2FkUG9saWN5IFdlYkxvYWRlckNsaWVudDo6cGx1Z2luTG9h
ZFBvbGljeShXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IFN0cmluZyYgcGx1Z2luQnVuZGxlSWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiBwbHVnaW5CdW5kbGVWZXJzaW9uLCBjb25zdCBTdHJpbmcm
IGRpc3BsYXlOYW1lLCBjb25zdCBTdHJpbmcmIGZyYW1lVVJMU3RyaW5nLCBjb25zdCBTdHJpbmcm
IHBhZ2VVUkxTdHJpbmcsIFBsdWdpbk1vZHVsZUxvYWRQb2xpY3kgY3VycmVudFBsdWdpbkxvYWRQ
b2xpY3kpCiB7CiAgICAgaWYgKCFtX2NsaWVudC5wbHVnaW5Mb2FkUG9saWN5KQpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDNmOGJlNGNkNGU2YzJi
OTA2MDllNjU3ZjQ0NzRhMWNmNjVmYmEyMjAuLmY0OTYxNDNlZWNiMGU0OTdiMWU1NDI4MzA1ZjM0
MTQwM2FkMzViNDYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMy0wMy0yNyAgR3VzdGF2byBOb3JvbmhhIFNpbHZh
ICA8Z25zQGdub21lLm9yZz4KKworICAgICAgICBbR1RLXVtqaGJ1aWxkXSBnc3QtcGx1Z2lucy1n
b29kIG1peGVzIHN5c3RlbSBsaWJzb3VwLWdub21lIHdpdGggY3VzdG9tIGxpYnNvdXAKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzIwMworCisgICAg
ICAgIFJldmlld2VkIGJ5IFBoaWxpcHBlIE5vcm1hbmQuCisKKyAgICAgICAgV2UgYnVpbGQgb3Vy
IGxpYnNvdXAgd2l0aG91dCBHTk9NRSBzdXBwb3J0LiBnc3QtcGx1Z2lucy1nb29kIGRvZXMgc2Vw
YXJhdGUKKyAgICAgICAgcGtnLWNvbmZpZyBjaGVja3MgZm9yIGxpYnNvdXAtZ25vbWUgYW5kIGxp
YnNvdXAsIGNhdXNpbmcgdGhlIGJ1aWxkIHRvIHVzZQorICAgICAgICBsaWJzb3VwLWdub21lIGZy
b20gdGhlIHN5c3RlbSBhbmQgc291cCBmcm9tIHRoZSBqaGJ1aWxkIHByZWZpeC4gVGhpcyBtYXkg
bGVhZCB0bworICAgICAgICBidWlsZCBmYWlsdXJlcyBhcyB0aGUgaGVhZGVycyBvZiB0aG9zZSBk
aXZlcmdlLiBXZSBkbyBub3QgdXNlIHNvdXBodHRwc3JjLCBzbworICAgICAgICBkaXNhYmxlIGl0
IHdoZW4gYnVpbGRpbmcgZ3N0LXBsdWdpbnMtZ29vZC4KKworICAgICAgICAqIGd0ay9qaGJ1aWxk
Lm1vZHVsZXM6IGRpc2FibGUgc291cCBzdXBwb3J0IGluIGdzdC1wbHVnaW5zLWdvb2QuCisKIDIw
MTMtMDMtMjcgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQnVp
bGQgZml4IGFmdGVyIHIxNDY4NTIuIFBsZWFzZSBhbm90aGVyIHJlZmVyZW5jZSB0byB0aGUgTGlv
biBsZWFrcyBidWlsZGVyLgpkaWZmIC0tZ2l0IGEvVG9vbHMvZ3RrL2poYnVpbGQubW9kdWxlcyBi
L1Rvb2xzL2d0ay9qaGJ1aWxkLm1vZHVsZXMKaW5kZXggZDA0YTA5MDdmN2NkMGY5OWEzNGMxZjAw
NjcwZTY4M2U2ZTg5YjM4MS4uMTMzM2FhMWY1OTAzMTdhZTQwNDNjYzUxZDdlM2Y0MTc3OTFmM2E5
YiAxMDA2NDQKLS0tIGEvVG9vbHMvZ3RrL2poYnVpbGQubW9kdWxlcworKysgYi9Ub29scy9ndGsv
amhidWlsZC5tb2R1bGVzCkBAIC0yNjAsNyArMjYwLDcgQEAKICAgICA8YnJhbmNoIHJlcG89Imdz
dHJlYW1lciIgbW9kdWxlPSJnc3QtcGx1Z2lucy1iYXNlIiBjaGVja291dGRpcj0iZ3N0LXBsdWdp
bnMtYmFzZSIgdGFnPSIxLjAuNCIvPgogICA8L2F1dG90b29scz4KIAotICA8YXV0b3Rvb2xzIGlk
PSJnc3QtcGx1Z2lucy1nb29kIiBhdXRvZ2VuYXJncz0iLS1kaXNhYmxlLWV4YW1wbGVzIj4KKyAg
PGF1dG90b29scyBpZD0iZ3N0LXBsdWdpbnMtZ29vZCIgYXV0b2dlbmFyZ3M9Ii0tZGlzYWJsZS1l
eGFtcGxlcyAtLWRpc2FibGUtc291cCI+CiAgICAgPGRlcGVuZGVuY2llcz4KICAgICAgIDxkZXAg
cGFja2FnZT0iZ3N0LXBsdWdpbnMtYmFzZSIvPgogICAgIDwvZGVwZW5kZW5jaWVzPgo=
</data>
<flag name="review"
          id="217361"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>