<?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>211794</bug_id>
          
          <creation_ts>2020-05-12 12:26:29 -0700</creation_ts>
          <short_desc>[CG] Change the UTI of the &quot;WebP&quot; image to be &quot;org.webmproject.webp&quot;</short_desc>
          <delta_ts>2020-05-12 19:57:08 -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>Images</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>darin</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1651857</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-05-12 12:26:29 -0700</bug_when>
    <thetext>See https://developers.google.com/speed/webp/docs/riff_container.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651859</commentid>
    <comment_count>1</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-05-12 12:27:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/63031187&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651862</commentid>
    <comment_count>2</comment_count>
      <attachid>399154</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-05-12 12:30:41 -0700</bug_when>
    <thetext>Created attachment 399154
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651864</commentid>
    <comment_count>3</comment_count>
      <attachid>399155</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-05-12 12:32:53 -0700</bug_when>
    <thetext>Created attachment 399155
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651866</commentid>
    <comment_count>4</comment_count>
      <attachid>399155</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-12 12:38:24 -0700</bug_when>
    <thetext>Comment on attachment 399155
Patch

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

&gt; Source/WebCore/platform/graphics/cg/UTIRegistry.cpp:43
&gt; +        const char* defaultSupportedImageTypes[] = {

This is replacing a constant array with a non-constant array. Please add constexpr or a const after the * so this array is constant. I think constexpr is best.

&gt; Source/WebCore/platform/graphics/cg/UTIRegistry.cpp:62
&gt;          RetainPtr&lt;CFArrayRef&gt; systemImageTypes = adoptCF(CGImageSourceCopyTypeIdentifiers());

Why not convert this into a temporary HashSet&lt;String&gt; instead of using it as a CFArrayRef? Because we are doing to be doing the &quot;contains&quot; operation on it, and that’s what a set does.

&gt; Source/WebCore/platform/graphics/cg/UTIRegistry.cpp:66
&gt; +        for (const auto* imageType : defaultSupportedImageTypes) {

We can use &quot;auto&quot;, &quot;auto&amp;&quot;, &quot;auto*&quot;, or &quot;const char*&quot; for this loop variable, but I don’t think &quot;const auto*&quot; is a great choice.

&gt; Source/WebCore/platform/graphics/cg/UTIRegistry.cpp:67
&gt; +            RetainPtr&lt;CFStringRef&gt; string = adoptCF(CFStringCreateWithCString(kCFAllocatorDefault, imageType, kCFStringEncodingUTF8));

There’s no good reason to use kCFStringEncodingUTF8 here. I suggest using kCFStringEncodingASCII. But also, lets just make a String directly, and use a HashSet&lt;String&gt; of the system image types instead of doing array searches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651976</commentid>
    <comment_count>5</comment_count>
      <attachid>399187</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-05-12 15:15:17 -0700</bug_when>
    <thetext>Created attachment 399187
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651978</commentid>
    <comment_count>6</comment_count>
      <attachid>399155</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-05-12 15:23:31 -0700</bug_when>
    <thetext>Comment on attachment 399155
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/cg/UTIRegistry.cpp:43
&gt;&gt; +        const char* defaultSupportedImageTypes[] = {
&gt; 
&gt; This is replacing a constant array with a non-constant array. Please add constexpr or a const after the * so this array is constant. I think constexpr is best.

I changed this to be a HashSet&lt;String&gt;. Instead of adding the imageTypes from an array to a HashSet, the imageTypes will be removed from this HashSet if the system does not support them. And at the end, we are going to return this HashSet.

&gt;&gt; Source/WebCore/platform/graphics/cg/UTIRegistry.cpp:62
&gt;&gt;          RetainPtr&lt;CFArrayRef&gt; systemImageTypes = adoptCF(CGImageSourceCopyTypeIdentifiers());
&gt; 
&gt; Why not convert this into a temporary HashSet&lt;String&gt; instead of using it as a CFArrayRef? Because we are doing to be doing the &quot;contains&quot; operation on it, and that’s what a set does.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651980</commentid>
    <comment_count>7</comment_count>
      <attachid>399188</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-05-12 15:27:48 -0700</bug_when>
    <thetext>Created attachment 399188
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651991</commentid>
    <comment_count>8</comment_count>
      <attachid>399187</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-12 15:55:57 -0700</bug_when>
    <thetext>Comment on attachment 399187
Patch

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

&gt; Source/WebCore/platform/graphics/cg/UTIRegistry.cpp:44
&gt; +            &quot;com.compuserve.gif&quot;,

If we are building a HashSet&lt;String&gt; from this we should leave the _s on them because that will result in not copying the characters in the strings.

&gt; Source/WebCore/platform/graphics/cg/UTIRegistry.cpp:62
&gt; +        RetainPtr&lt;CFArrayRef&gt; systemSupportedCFImageTypes = adoptCF(CGImageSourceCopyTypeIdentifiers());

Should use auto here instead of writing RetainPtr&lt;CFArrayRef&gt;.

&gt; Source/WebCore/platform/graphics/cg/UTIRegistry.cpp:67
&gt; +            String imageType = String(static_cast&lt;CFStringRef&gt;(const_cast&lt;void*&gt;(value)));

No need for String() here, conversion from CFStringRef works. No need for const_cast, CFStringRef is already a const pointer type.

&gt; Source/WebCore/platform/graphics/cg/UTIRegistry.cpp:69
&gt; +            auto&amp; systemSupportedImageTypes = *static_cast&lt;HashSet&lt;String&gt;*&gt;(context);
&gt; +            systemSupportedImageTypes.add(imageType);

Suggest doing it in one line:

    static_cast&lt;HashSet&lt;String&gt;*&gt;(context)-&gt;add(imageType);

If we think that’s not clear enough, we could rename context to untypedSystemSupportedImageTypes.

&gt; Source/WebCore/platform/graphics/cg/UTIRegistry.cpp:72
&gt; +        defaultSupportedImageTypes.removeIf([&amp;systemSupportedImageTypes] (String imageType) {

I think writing &quot;const String&amp;&quot; would make this more efficient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651992</commentid>
    <comment_count>9</comment_count>
      <attachid>399188</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-05-12 15:56:25 -0700</bug_when>
    <thetext>Comment on attachment 399188
Patch

Please consider the review comments I attached to an earlier version of this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652051</commentid>
    <comment_count>10</comment_count>
      <attachid>399208</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-05-12 17:27:40 -0700</bug_when>
    <thetext>Created attachment 399208
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652099</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-12 19:57:07 -0700</bug_when>
    <thetext>Committed r261594: &lt;https://trac.webkit.org/changeset/261594&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 399208.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399154</attachid>
            <date>2020-05-12 12:30:41 -0700</date>
            <delta_ts>2020-05-12 12:32:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211794-20200512123040.patch</filename>
            <type>text/plain</type>
            <size>3028</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MTU2OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDIwLTA1LTEyICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NHXSBDaGFu
Z2UgdGhlIFVUSSBvZiB0aGUgIldlYlAiIGltYWdlIHRvIGJlICJvcmcud2VibXByb2plY3Qud2Vi
cCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTc5
NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjMwMzExODc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9VVElS
ZWdpc3RyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpkZWZhdWx0U3VwcG9ydGVkSW1hZ2VUeXBl
cyk6CisgICAgICAgIEZpeCByZXZpZXcgY29tbWVudHMgZnJvbSBidWcgMjA4MDM4LgorCiAyMDIw
LTA1LTEyICBKYWNvYiBVcGhvZmYgIDxqYWNvYl91cGhvZmZAYXBwbGUuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHJldmVydGluZyByMjYxNTU3LgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0cnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1VUSVJlZ2lzdHJ5LmNwcAkocmV2aXNpb24gMjYx
NTY2KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0cnku
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCwzMSArNDAsMzIgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogY29uc3QgSGFzaFNldDxTdHJpbmc+JiBkZWZhdWx0U3VwcG9ydGVkSW1hZ2VUeXBlcygpCiB7
CiAgICAgc3RhdGljIGNvbnN0IGF1dG8gZGVmYXVsdFN1cHBvcnRlZEltYWdlVHlwZXMgPSBtYWtl
TmV2ZXJEZXN0cm95ZWQoW10gewotICAgICAgICBjb25zdCBTdHJpbmcgZGVmYXVsdFN1cHBvcnRl
ZEltYWdlVHlwZXNbXSA9IHsKLSAgICAgICAgICAgICJjb20uY29tcHVzZXJ2ZS5naWYiX3MsCi0g
ICAgICAgICAgICAiY29tLm1pY3Jvc29mdC5ibXAiX3MsCi0gICAgICAgICAgICAiY29tLm1pY3Jv
c29mdC5jdXIiX3MsCi0gICAgICAgICAgICAiY29tLm1pY3Jvc29mdC5pY28iX3MsCi0gICAgICAg
ICAgICAicHVibGljLmpwZWciX3MsCi0gICAgICAgICAgICAicHVibGljLnBuZyJfcywKLSAgICAg
ICAgICAgICJwdWJsaWMudGlmZiJfcywKKyAgICAgICAgY29uc3QgY2hhciogZGVmYXVsdFN1cHBv
cnRlZEltYWdlVHlwZXNbXSA9IHsKKyAgICAgICAgICAgICJjb20uY29tcHVzZXJ2ZS5naWYiLAor
ICAgICAgICAgICAgImNvbS5taWNyb3NvZnQuYm1wIiwKKyAgICAgICAgICAgICJjb20ubWljcm9z
b2Z0LmN1ciIsCisgICAgICAgICAgICAiY29tLm1pY3Jvc29mdC5pY28iLAorICAgICAgICAgICAg
InB1YmxpYy5qcGVnIiwKKyAgICAgICAgICAgICJwdWJsaWMucG5nIiwKKyAgICAgICAgICAgICJw
dWJsaWMudGlmZiIsCiAjaWYgIVBMQVRGT1JNKFdJTikKLSAgICAgICAgICAgICJwdWJsaWMuanBl
Zy0yMDAwIl9zLAotICAgICAgICAgICAgInB1YmxpYy5tcG8taW1hZ2UiX3MsCisgICAgICAgICAg
ICAicHVibGljLmpwZWctMjAwMCIsCisgICAgICAgICAgICAicHVibGljLm1wby1pbWFnZSIsCiAj
ZW5kaWYKICNpZiBIQVZFKFdFQlApCi0gICAgICAgICAgICAicHVibGljLndlYnAiX3MsCi0gICAg
ICAgICAgICAiY29tLmdvb2dsZS53ZWJwIl9zLAorICAgICAgICAgICAgInB1YmxpYy53ZWJwIiwK
KyAgICAgICAgICAgICJjb20uZ29vZ2xlLndlYnAiLAorICAgICAgICAgICAgIm9yZy53ZWJtcHJv
amVjdC53ZWJwIiwKICNlbmRpZgogICAgICAgICB9OwogCiAgICAgICAgIFJldGFpblB0cjxDRkFy
cmF5UmVmPiBzeXN0ZW1JbWFnZVR5cGVzID0gYWRvcHRDRihDR0ltYWdlU291cmNlQ29weVR5cGVJ
ZGVudGlmaWVycygpKTsKLSAgICAgICAgQ0ZJbmRleCBjb3VudCA9IENGQXJyYXlHZXRDb3VudChz
eXN0ZW1JbWFnZVR5cGVzLmdldCgpKTsKKyAgICAgICAgQ0ZSYW5nZSByYW5nZSA9IENGUmFuZ2VN
YWtlKDAsIENGQXJyYXlHZXRDb3VudChzeXN0ZW1JbWFnZVR5cGVzLmdldCgpKSk7CiAKICAgICAg
ICAgSGFzaFNldDxTdHJpbmc+IGRlZmF1bHRDR1N1cHBvcnRlZEltYWdlVHlwZXM7Ci0gICAgICAg
IGZvciAoYXV0byYgaW1hZ2VUeXBlIDogZGVmYXVsdFN1cHBvcnRlZEltYWdlVHlwZXMpIHsKLSAg
ICAgICAgICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gc3RyaW5nID0gaW1hZ2VUeXBlLmNyZWF0
ZUNGU3RyaW5nKCk7Ci0gICAgICAgICAgICBpZiAoQ0ZBcnJheUNvbnRhaW5zVmFsdWUoc3lzdGVt
SW1hZ2VUeXBlcy5nZXQoKSwgQ0ZSYW5nZU1ha2UoMCwgY291bnQpLCBzdHJpbmcuZ2V0KCkpKQor
ICAgICAgICBmb3IgKGNvbnN0IGF1dG8qIGltYWdlVHlwZSA6IGRlZmF1bHRTdXBwb3J0ZWRJbWFn
ZVR5cGVzKSB7CisgICAgICAgICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHN0cmluZyA9IGFk
b3B0Q0YoQ0ZTdHJpbmdDcmVhdGVXaXRoQ1N0cmluZyhrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBpbWFn
ZVR5cGUsIGtDRlN0cmluZ0VuY29kaW5nVVRGOCkpOworICAgICAgICAgICAgaWYgKENGQXJyYXlD
b250YWluc1ZhbHVlKHN5c3RlbUltYWdlVHlwZXMuZ2V0KCksIHJhbmdlLCBzdHJpbmcuZ2V0KCkp
KQogICAgICAgICAgICAgICAgIGRlZmF1bHRDR1N1cHBvcnRlZEltYWdlVHlwZXMuYWRkKGltYWdl
VHlwZSk7CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIGRlZmF1bHRDR1N1cHBvcnRlZEltYWdl
VHlwZXM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399155</attachid>
            <date>2020-05-12 12:32:53 -0700</date>
            <delta_ts>2020-05-12 15:15:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211794-20200512123253.patch</filename>
            <type>text/plain</type>
            <size>3105</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MTU2OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTEyICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NHXSBDaGFu
Z2UgdGhlIFVUSSBvZiB0aGUgIldlYlAiIGltYWdlIHRvIGJlICJvcmcud2VibXByb2plY3Qud2Vi
cCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTc5
NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjMwMzExODc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2VlIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29n
bGUuY29tL3NwZWVkL3dlYnAvZG9jcy9yaWZmX2NvbnRhaW5lci4KKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2NnL1VUSVJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRlZmF1
bHRTdXBwb3J0ZWRJbWFnZVR5cGVzKToKKyAgICAgICAgRml4IHJldmlldyBjb21tZW50cyBmcm9t
IGJ1ZyAyMDgwMzguCisKIDIwMjAtMDUtMTIgIEphY29iIFVwaG9mZiAgPGphY29iX3VwaG9mZkBh
cHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjE1NTcuCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9VVElSZWdpc3RyeS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0
cnkuY3BwCShyZXZpc2lvbiAyNjE1NjYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9VVElSZWdpc3RyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDMxICs0MCwzMiBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjb25zdCBIYXNoU2V0PFN0cmluZz4mIGRlZmF1bHRTdXBw
b3J0ZWRJbWFnZVR5cGVzKCkKIHsKICAgICBzdGF0aWMgY29uc3QgYXV0byBkZWZhdWx0U3VwcG9y
dGVkSW1hZ2VUeXBlcyA9IG1ha2VOZXZlckRlc3Ryb3llZChbXSB7Ci0gICAgICAgIGNvbnN0IFN0
cmluZyBkZWZhdWx0U3VwcG9ydGVkSW1hZ2VUeXBlc1tdID0gewotICAgICAgICAgICAgImNvbS5j
b21wdXNlcnZlLmdpZiJfcywKLSAgICAgICAgICAgICJjb20ubWljcm9zb2Z0LmJtcCJfcywKLSAg
ICAgICAgICAgICJjb20ubWljcm9zb2Z0LmN1ciJfcywKLSAgICAgICAgICAgICJjb20ubWljcm9z
b2Z0LmljbyJfcywKLSAgICAgICAgICAgICJwdWJsaWMuanBlZyJfcywKLSAgICAgICAgICAgICJw
dWJsaWMucG5nIl9zLAotICAgICAgICAgICAgInB1YmxpYy50aWZmIl9zLAorICAgICAgICBjb25z
dCBjaGFyKiBkZWZhdWx0U3VwcG9ydGVkSW1hZ2VUeXBlc1tdID0geworICAgICAgICAgICAgImNv
bS5jb21wdXNlcnZlLmdpZiIsCisgICAgICAgICAgICAiY29tLm1pY3Jvc29mdC5ibXAiLAorICAg
ICAgICAgICAgImNvbS5taWNyb3NvZnQuY3VyIiwKKyAgICAgICAgICAgICJjb20ubWljcm9zb2Z0
LmljbyIsCisgICAgICAgICAgICAicHVibGljLmpwZWciLAorICAgICAgICAgICAgInB1YmxpYy5w
bmciLAorICAgICAgICAgICAgInB1YmxpYy50aWZmIiwKICNpZiAhUExBVEZPUk0oV0lOKQotICAg
ICAgICAgICAgInB1YmxpYy5qcGVnLTIwMDAiX3MsCi0gICAgICAgICAgICAicHVibGljLm1wby1p
bWFnZSJfcywKKyAgICAgICAgICAgICJwdWJsaWMuanBlZy0yMDAwIiwKKyAgICAgICAgICAgICJw
dWJsaWMubXBvLWltYWdlIiwKICNlbmRpZgogI2lmIEhBVkUoV0VCUCkKLSAgICAgICAgICAgICJw
dWJsaWMud2VicCJfcywKLSAgICAgICAgICAgICJjb20uZ29vZ2xlLndlYnAiX3MsCisgICAgICAg
ICAgICAicHVibGljLndlYnAiLAorICAgICAgICAgICAgImNvbS5nb29nbGUud2VicCIsCisgICAg
ICAgICAgICAib3JnLndlYm1wcm9qZWN0LndlYnAiLAogI2VuZGlmCiAgICAgICAgIH07CiAKICAg
ICAgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IHN5c3RlbUltYWdlVHlwZXMgPSBhZG9wdENGKENH
SW1hZ2VTb3VyY2VDb3B5VHlwZUlkZW50aWZpZXJzKCkpOwotICAgICAgICBDRkluZGV4IGNvdW50
ID0gQ0ZBcnJheUdldENvdW50KHN5c3RlbUltYWdlVHlwZXMuZ2V0KCkpOworICAgICAgICBDRlJh
bmdlIHJhbmdlID0gQ0ZSYW5nZU1ha2UoMCwgQ0ZBcnJheUdldENvdW50KHN5c3RlbUltYWdlVHlw
ZXMuZ2V0KCkpKTsKIAogICAgICAgICBIYXNoU2V0PFN0cmluZz4gZGVmYXVsdENHU3VwcG9ydGVk
SW1hZ2VUeXBlczsKLSAgICAgICAgZm9yIChhdXRvJiBpbWFnZVR5cGUgOiBkZWZhdWx0U3VwcG9y
dGVkSW1hZ2VUeXBlcykgewotICAgICAgICAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzdHJp
bmcgPSBpbWFnZVR5cGUuY3JlYXRlQ0ZTdHJpbmcoKTsKLSAgICAgICAgICAgIGlmIChDRkFycmF5
Q29udGFpbnNWYWx1ZShzeXN0ZW1JbWFnZVR5cGVzLmdldCgpLCBDRlJhbmdlTWFrZSgwLCBjb3Vu
dCksIHN0cmluZy5nZXQoKSkpCisgICAgICAgIGZvciAoY29uc3QgYXV0byogaW1hZ2VUeXBlIDog
ZGVmYXVsdFN1cHBvcnRlZEltYWdlVHlwZXMpIHsKKyAgICAgICAgICAgIFJldGFpblB0cjxDRlN0
cmluZ1JlZj4gc3RyaW5nID0gYWRvcHRDRihDRlN0cmluZ0NyZWF0ZVdpdGhDU3RyaW5nKGtDRkFs
bG9jYXRvckRlZmF1bHQsIGltYWdlVHlwZSwga0NGU3RyaW5nRW5jb2RpbmdVVEY4KSk7CisgICAg
ICAgICAgICBpZiAoQ0ZBcnJheUNvbnRhaW5zVmFsdWUoc3lzdGVtSW1hZ2VUeXBlcy5nZXQoKSwg
cmFuZ2UsIHN0cmluZy5nZXQoKSkpCiAgICAgICAgICAgICAgICAgZGVmYXVsdENHU3VwcG9ydGVk
SW1hZ2VUeXBlcy5hZGQoaW1hZ2VUeXBlKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gZGVm
YXVsdENHU3VwcG9ydGVkSW1hZ2VUeXBlczsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399187</attachid>
            <date>2020-05-12 15:15:17 -0700</date>
            <delta_ts>2020-05-12 17:27:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211794-20200512151516.patch</filename>
            <type>text/plain</type>
            <size>3652</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MTU2OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTEyICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NHXSBDaGFu
Z2UgdGhlIFVUSSBvZiB0aGUgIldlYlAiIGltYWdlIHRvIGJlICJvcmcud2VibXByb2plY3Qud2Vi
cCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTc5
NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjMwMzExODc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2VlIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29n
bGUuY29tL3NwZWVkL3dlYnAvZG9jcy9yaWZmX2NvbnRhaW5lci4KKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2NnL1VUSVJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRlZmF1
bHRTdXBwb3J0ZWRJbWFnZVR5cGVzKToKKyAgICAgICAgRml4IHJldmlldyBjb21tZW50cyBmcm9t
IGJ1ZyAyMDgwMzguCisKIDIwMjAtMDUtMTIgIEphY29iIFVwaG9mZiAgPGphY29iX3VwaG9mZkBh
cHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjE1NTcuCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9VVElSZWdpc3RyeS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0
cnkuY3BwCShyZXZpc2lvbiAyNjE1NjYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9VVElSZWdpc3RyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDM0ICs0MCw0MCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjb25zdCBIYXNoU2V0PFN0cmluZz4mIGRlZmF1bHRTdXBw
b3J0ZWRJbWFnZVR5cGVzKCkKIHsKICAgICBzdGF0aWMgY29uc3QgYXV0byBkZWZhdWx0U3VwcG9y
dGVkSW1hZ2VUeXBlcyA9IG1ha2VOZXZlckRlc3Ryb3llZChbXSB7Ci0gICAgICAgIGNvbnN0IFN0
cmluZyBkZWZhdWx0U3VwcG9ydGVkSW1hZ2VUeXBlc1tdID0gewotICAgICAgICAgICAgImNvbS5j
b21wdXNlcnZlLmdpZiJfcywKLSAgICAgICAgICAgICJjb20ubWljcm9zb2Z0LmJtcCJfcywKLSAg
ICAgICAgICAgICJjb20ubWljcm9zb2Z0LmN1ciJfcywKLSAgICAgICAgICAgICJjb20ubWljcm9z
b2Z0LmljbyJfcywKLSAgICAgICAgICAgICJwdWJsaWMuanBlZyJfcywKLSAgICAgICAgICAgICJw
dWJsaWMucG5nIl9zLAotICAgICAgICAgICAgInB1YmxpYy50aWZmIl9zLAorICAgICAgICBIYXNo
U2V0PFN0cmluZz4gZGVmYXVsdFN1cHBvcnRlZEltYWdlVHlwZXMgPSB7CisgICAgICAgICAgICAi
Y29tLmNvbXB1c2VydmUuZ2lmIiwKKyAgICAgICAgICAgICJjb20ubWljcm9zb2Z0LmJtcCIsCisg
ICAgICAgICAgICAiY29tLm1pY3Jvc29mdC5jdXIiLAorICAgICAgICAgICAgImNvbS5taWNyb3Nv
ZnQuaWNvIiwKKyAgICAgICAgICAgICJwdWJsaWMuanBlZyIsCisgICAgICAgICAgICAicHVibGlj
LnBuZyIsCisgICAgICAgICAgICAicHVibGljLnRpZmYiLAogI2lmICFQTEFURk9STShXSU4pCi0g
ICAgICAgICAgICAicHVibGljLmpwZWctMjAwMCJfcywKLSAgICAgICAgICAgICJwdWJsaWMubXBv
LWltYWdlIl9zLAorICAgICAgICAgICAgInB1YmxpYy5qcGVnLTIwMDAiLAorICAgICAgICAgICAg
InB1YmxpYy5tcG8taW1hZ2UiLAogI2VuZGlmCiAjaWYgSEFWRShXRUJQKQotICAgICAgICAgICAg
InB1YmxpYy53ZWJwIl9zLAotICAgICAgICAgICAgImNvbS5nb29nbGUud2VicCJfcywKKyAgICAg
ICAgICAgICJwdWJsaWMud2VicCIsCisgICAgICAgICAgICAiY29tLmdvb2dsZS53ZWJwIiwKKyAg
ICAgICAgICAgICJvcmcud2VibXByb2plY3Qud2VicCIsCiAjZW5kaWYKICAgICAgICAgfTsKIAot
ICAgICAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gc3lzdGVtSW1hZ2VUeXBlcyA9IGFkb3B0Q0Yo
Q0dJbWFnZVNvdXJjZUNvcHlUeXBlSWRlbnRpZmllcnMoKSk7Ci0gICAgICAgIENGSW5kZXggY291
bnQgPSBDRkFycmF5R2V0Q291bnQoc3lzdGVtSW1hZ2VUeXBlcy5nZXQoKSk7CisgICAgICAgIFJl
dGFpblB0cjxDRkFycmF5UmVmPiBzeXN0ZW1TdXBwb3J0ZWRDRkltYWdlVHlwZXMgPSBhZG9wdENG
KENHSW1hZ2VTb3VyY2VDb3B5VHlwZUlkZW50aWZpZXJzKCkpOworICAgICAgICBDRkluZGV4IGNv
dW50ID0gQ0ZBcnJheUdldENvdW50KHN5c3RlbVN1cHBvcnRlZENGSW1hZ2VUeXBlcy5nZXQoKSk7
CiAKLSAgICAgICAgSGFzaFNldDxTdHJpbmc+IGRlZmF1bHRDR1N1cHBvcnRlZEltYWdlVHlwZXM7
Ci0gICAgICAgIGZvciAoYXV0byYgaW1hZ2VUeXBlIDogZGVmYXVsdFN1cHBvcnRlZEltYWdlVHlw
ZXMpIHsKLSAgICAgICAgICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gc3RyaW5nID0gaW1hZ2VU
eXBlLmNyZWF0ZUNGU3RyaW5nKCk7Ci0gICAgICAgICAgICBpZiAoQ0ZBcnJheUNvbnRhaW5zVmFs
dWUoc3lzdGVtSW1hZ2VUeXBlcy5nZXQoKSwgQ0ZSYW5nZU1ha2UoMCwgY291bnQpLCBzdHJpbmcu
Z2V0KCkpKQotICAgICAgICAgICAgICAgIGRlZmF1bHRDR1N1cHBvcnRlZEltYWdlVHlwZXMuYWRk
KGltYWdlVHlwZSk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGRlZmF1bHRDR1N1cHBvcnRl
ZEltYWdlVHlwZXM7CisgICAgICAgIEhhc2hTZXQ8U3RyaW5nPiBzeXN0ZW1TdXBwb3J0ZWRJbWFn
ZVR5cGVzOworICAgICAgICBDRkFycmF5QXBwbHlGdW5jdGlvbihzeXN0ZW1TdXBwb3J0ZWRDRklt
YWdlVHlwZXMuZ2V0KCksIENGUmFuZ2VNYWtlKDAsIGNvdW50KSwgW10oY29uc3Qgdm9pZCAqdmFs
dWUsIHZvaWQgKmNvbnRleHQpIHsKKyAgICAgICAgICAgIFN0cmluZyBpbWFnZVR5cGUgPSBTdHJp
bmcoc3RhdGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KGNvbnN0X2Nhc3Q8dm9pZCo+KHZhbHVlKSkpOwor
ICAgICAgICAgICAgYXV0byYgc3lzdGVtU3VwcG9ydGVkSW1hZ2VUeXBlcyA9ICpzdGF0aWNfY2Fz
dDxIYXNoU2V0PFN0cmluZz4qPihjb250ZXh0KTsKKyAgICAgICAgICAgIHN5c3RlbVN1cHBvcnRl
ZEltYWdlVHlwZXMuYWRkKGltYWdlVHlwZSk7CisgICAgICAgIH0sICZzeXN0ZW1TdXBwb3J0ZWRJ
bWFnZVR5cGVzKTsKKworICAgICAgICBkZWZhdWx0U3VwcG9ydGVkSW1hZ2VUeXBlcy5yZW1vdmVJ
ZihbJnN5c3RlbVN1cHBvcnRlZEltYWdlVHlwZXNdIChTdHJpbmcgaW1hZ2VUeXBlKSB7CisgICAg
ICAgICAgICByZXR1cm4gIXN5c3RlbVN1cHBvcnRlZEltYWdlVHlwZXMuY29udGFpbnMoaW1hZ2VU
eXBlKTsKKyAgICAgICAgfSk7CisKKyAgICAgICAgcmV0dXJuIGRlZmF1bHRTdXBwb3J0ZWRJbWFn
ZVR5cGVzOwogICAgIH0oKSk7CiAKICAgICByZXR1cm4gZGVmYXVsdFN1cHBvcnRlZEltYWdlVHlw
ZXM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399188</attachid>
            <date>2020-05-12 15:27:48 -0700</date>
            <delta_ts>2020-05-12 17:27:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211794-20200512152747.patch</filename>
            <type>text/plain</type>
            <size>3651</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MTU2OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTEyICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NHXSBDaGFu
Z2UgdGhlIFVUSSBvZiB0aGUgIldlYlAiIGltYWdlIHRvIGJlICJvcmcud2VibXByb2plY3Qud2Vi
cCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTc5
NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjMwMzExODc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2VlIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29n
bGUuY29tL3NwZWVkL3dlYnAvZG9jcy9yaWZmX2NvbnRhaW5lci4KKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2NnL1VUSVJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRlZmF1
bHRTdXBwb3J0ZWRJbWFnZVR5cGVzKToKKyAgICAgICAgRml4IHJldmlldyBjb21tZW50cyBmcm9t
IGJ1ZyAyMDgwMzguCisKIDIwMjAtMDUtMTIgIEphY29iIFVwaG9mZiAgPGphY29iX3VwaG9mZkBh
cHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjE1NTcuCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9VVElSZWdpc3RyeS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0
cnkuY3BwCShyZXZpc2lvbiAyNjE1NjYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9VVElSZWdpc3RyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDM0ICs0MCw0MCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjb25zdCBIYXNoU2V0PFN0cmluZz4mIGRlZmF1bHRTdXBw
b3J0ZWRJbWFnZVR5cGVzKCkKIHsKICAgICBzdGF0aWMgY29uc3QgYXV0byBkZWZhdWx0U3VwcG9y
dGVkSW1hZ2VUeXBlcyA9IG1ha2VOZXZlckRlc3Ryb3llZChbXSB7Ci0gICAgICAgIGNvbnN0IFN0
cmluZyBkZWZhdWx0U3VwcG9ydGVkSW1hZ2VUeXBlc1tdID0gewotICAgICAgICAgICAgImNvbS5j
b21wdXNlcnZlLmdpZiJfcywKLSAgICAgICAgICAgICJjb20ubWljcm9zb2Z0LmJtcCJfcywKLSAg
ICAgICAgICAgICJjb20ubWljcm9zb2Z0LmN1ciJfcywKLSAgICAgICAgICAgICJjb20ubWljcm9z
b2Z0LmljbyJfcywKLSAgICAgICAgICAgICJwdWJsaWMuanBlZyJfcywKLSAgICAgICAgICAgICJw
dWJsaWMucG5nIl9zLAotICAgICAgICAgICAgInB1YmxpYy50aWZmIl9zLAorICAgICAgICBIYXNo
U2V0PFN0cmluZz4gZGVmYXVsdFN1cHBvcnRlZEltYWdlVHlwZXMgPSB7CisgICAgICAgICAgICAi
Y29tLmNvbXB1c2VydmUuZ2lmIiwKKyAgICAgICAgICAgICJjb20ubWljcm9zb2Z0LmJtcCIsCisg
ICAgICAgICAgICAiY29tLm1pY3Jvc29mdC5jdXIiLAorICAgICAgICAgICAgImNvbS5taWNyb3Nv
ZnQuaWNvIiwKKyAgICAgICAgICAgICJwdWJsaWMuanBlZyIsCisgICAgICAgICAgICAicHVibGlj
LnBuZyIsCisgICAgICAgICAgICAicHVibGljLnRpZmYiLAogI2lmICFQTEFURk9STShXSU4pCi0g
ICAgICAgICAgICAicHVibGljLmpwZWctMjAwMCJfcywKLSAgICAgICAgICAgICJwdWJsaWMubXBv
LWltYWdlIl9zLAorICAgICAgICAgICAgInB1YmxpYy5qcGVnLTIwMDAiLAorICAgICAgICAgICAg
InB1YmxpYy5tcG8taW1hZ2UiLAogI2VuZGlmCiAjaWYgSEFWRShXRUJQKQotICAgICAgICAgICAg
InB1YmxpYy53ZWJwIl9zLAotICAgICAgICAgICAgImNvbS5nb29nbGUud2VicCJfcywKKyAgICAg
ICAgICAgICJwdWJsaWMud2VicCIsCisgICAgICAgICAgICAiY29tLmdvb2dsZS53ZWJwIiwKKyAg
ICAgICAgICAgICJvcmcud2VibXByb2plY3Qud2VicCIsCiAjZW5kaWYKICAgICAgICAgfTsKIAot
ICAgICAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gc3lzdGVtSW1hZ2VUeXBlcyA9IGFkb3B0Q0Yo
Q0dJbWFnZVNvdXJjZUNvcHlUeXBlSWRlbnRpZmllcnMoKSk7Ci0gICAgICAgIENGSW5kZXggY291
bnQgPSBDRkFycmF5R2V0Q291bnQoc3lzdGVtSW1hZ2VUeXBlcy5nZXQoKSk7CisgICAgICAgIFJl
dGFpblB0cjxDRkFycmF5UmVmPiBzeXN0ZW1TdXBwb3J0ZWRDRkltYWdlVHlwZXMgPSBhZG9wdENG
KENHSW1hZ2VTb3VyY2VDb3B5VHlwZUlkZW50aWZpZXJzKCkpOworICAgICAgICBDRkluZGV4IGNv
dW50ID0gQ0ZBcnJheUdldENvdW50KHN5c3RlbVN1cHBvcnRlZENGSW1hZ2VUeXBlcy5nZXQoKSk7
CiAKLSAgICAgICAgSGFzaFNldDxTdHJpbmc+IGRlZmF1bHRDR1N1cHBvcnRlZEltYWdlVHlwZXM7
Ci0gICAgICAgIGZvciAoYXV0byYgaW1hZ2VUeXBlIDogZGVmYXVsdFN1cHBvcnRlZEltYWdlVHlw
ZXMpIHsKLSAgICAgICAgICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gc3RyaW5nID0gaW1hZ2VU
eXBlLmNyZWF0ZUNGU3RyaW5nKCk7Ci0gICAgICAgICAgICBpZiAoQ0ZBcnJheUNvbnRhaW5zVmFs
dWUoc3lzdGVtSW1hZ2VUeXBlcy5nZXQoKSwgQ0ZSYW5nZU1ha2UoMCwgY291bnQpLCBzdHJpbmcu
Z2V0KCkpKQotICAgICAgICAgICAgICAgIGRlZmF1bHRDR1N1cHBvcnRlZEltYWdlVHlwZXMuYWRk
KGltYWdlVHlwZSk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGRlZmF1bHRDR1N1cHBvcnRl
ZEltYWdlVHlwZXM7CisgICAgICAgIEhhc2hTZXQ8U3RyaW5nPiBzeXN0ZW1TdXBwb3J0ZWRJbWFn
ZVR5cGVzOworICAgICAgICBDRkFycmF5QXBwbHlGdW5jdGlvbihzeXN0ZW1TdXBwb3J0ZWRDRklt
YWdlVHlwZXMuZ2V0KCksIENGUmFuZ2VNYWtlKDAsIGNvdW50KSwgW10oY29uc3Qgdm9pZCAqdmFs
dWUsIHZvaWQgKmNvbnRleHQpIHsKKyAgICAgICAgICAgIFN0cmluZyBpbWFnZVR5cGUgPSBTdHJp
bmcoc3RhdGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KGNvbnN0X2Nhc3Q8dm9pZCo+KHZhbHVlKSkpOwor
ICAgICAgICAgICAgYXV0byYgc3lzdGVtU3VwcG9ydGVkSW1hZ2VUeXBlcyA9ICpzdGF0aWNfY2Fz
dDxIYXNoU2V0PFN0cmluZz4qPihjb250ZXh0KTsKKyAgICAgICAgICAgIHN5c3RlbVN1cHBvcnRl
ZEltYWdlVHlwZXMuYWRkKGltYWdlVHlwZSk7CisgICAgICAgIH0sICZzeXN0ZW1TdXBwb3J0ZWRJ
bWFnZVR5cGVzKTsKKworICAgICAgICBkZWZhdWx0U3VwcG9ydGVkSW1hZ2VUeXBlcy5yZW1vdmVJ
ZihbJnN5c3RlbVN1cHBvcnRlZEltYWdlVHlwZXNdKFN0cmluZyBpbWFnZVR5cGUpIHsKKyAgICAg
ICAgICAgIHJldHVybiAhc3lzdGVtU3VwcG9ydGVkSW1hZ2VUeXBlcy5jb250YWlucyhpbWFnZVR5
cGUpOworICAgICAgICB9KTsKKworICAgICAgICByZXR1cm4gZGVmYXVsdFN1cHBvcnRlZEltYWdl
VHlwZXM7CiAgICAgfSgpKTsKIAogICAgIHJldHVybiBkZWZhdWx0U3VwcG9ydGVkSW1hZ2VUeXBl
czsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399208</attachid>
            <date>2020-05-12 17:27:40 -0700</date>
            <delta_ts>2020-05-12 19:57:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211794-20200512172739.patch</filename>
            <type>text/plain</type>
            <size>3317</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MTU2OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTEyICBTYWlkIEFi
b3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgW0NHXSBDaGFu
Z2UgdGhlIFVUSSBvZiB0aGUgIldlYlAiIGltYWdlIHRvIGJlICJvcmcud2VibXByb2plY3Qud2Vi
cCIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTc5
NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjMwMzExODc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgU2VlIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUu
Y29tL3NwZWVkL3dlYnAvZG9jcy9yaWZmX2NvbnRhaW5lci4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NnL1VUSVJlZ2lzdHJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRlZmF1bHRT
dXBwb3J0ZWRJbWFnZVR5cGVzKToKKyAgICAgICAgRml4IHJldmlldyBjb21tZW50cyBmcm9tIGJ1
ZyAyMDgwMzguCisKIDIwMjAtMDUtMTIgIEphY29iIFVwaG9mZiAgPGphY29iX3VwaG9mZkBhcHBs
ZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjE1NTcuCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9VVElSZWdpc3RyeS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvVVRJUmVnaXN0cnku
Y3BwCShyZXZpc2lvbiAyNjE1NjYpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jZy9VVElSZWdpc3RyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgot
ICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTggQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDIwIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQwLDcgKzQwLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogY29uc3QgSGFzaFNldDxTdHJpbmc+JiBkZWZhdWx0U3VwcG9y
dGVkSW1hZ2VUeXBlcygpCiB7CiAgICAgc3RhdGljIGNvbnN0IGF1dG8gZGVmYXVsdFN1cHBvcnRl
ZEltYWdlVHlwZXMgPSBtYWtlTmV2ZXJEZXN0cm95ZWQoW10gewotICAgICAgICBjb25zdCBTdHJp
bmcgZGVmYXVsdFN1cHBvcnRlZEltYWdlVHlwZXNbXSA9IHsKKyAgICAgICAgSGFzaFNldDxTdHJp
bmc+IGRlZmF1bHRTdXBwb3J0ZWRJbWFnZVR5cGVzID0gewogICAgICAgICAgICAgImNvbS5jb21w
dXNlcnZlLmdpZiJfcywKICAgICAgICAgICAgICJjb20ubWljcm9zb2Z0LmJtcCJfcywKICAgICAg
ICAgICAgICJjb20ubWljcm9zb2Z0LmN1ciJfcywKQEAgLTU1LDE5ICs1NSwyNCBAQCBjb25zdCBI
YXNoU2V0PFN0cmluZz4mIGRlZmF1bHRTdXBwb3J0ZWRJCiAjaWYgSEFWRShXRUJQKQogICAgICAg
ICAgICAgInB1YmxpYy53ZWJwIl9zLAogICAgICAgICAgICAgImNvbS5nb29nbGUud2VicCJfcywK
KyAgICAgICAgICAgICJvcmcud2VibXByb2plY3Qud2VicCJfcywKICNlbmRpZgogICAgICAgICB9
OwogCi0gICAgICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBzeXN0ZW1JbWFnZVR5cGVzID0gYWRv
cHRDRihDR0ltYWdlU291cmNlQ29weVR5cGVJZGVudGlmaWVycygpKTsKLSAgICAgICAgQ0ZJbmRl
eCBjb3VudCA9IENGQXJyYXlHZXRDb3VudChzeXN0ZW1JbWFnZVR5cGVzLmdldCgpKTsKKyAgICAg
ICAgYXV0byBzeXN0ZW1TdXBwb3J0ZWRDRkltYWdlVHlwZXMgPSBhZG9wdENGKENHSW1hZ2VTb3Vy
Y2VDb3B5VHlwZUlkZW50aWZpZXJzKCkpOworICAgICAgICBDRkluZGV4IGNvdW50ID0gQ0ZBcnJh
eUdldENvdW50KHN5c3RlbVN1cHBvcnRlZENGSW1hZ2VUeXBlcy5nZXQoKSk7CiAKLSAgICAgICAg
SGFzaFNldDxTdHJpbmc+IGRlZmF1bHRDR1N1cHBvcnRlZEltYWdlVHlwZXM7Ci0gICAgICAgIGZv
ciAoYXV0byYgaW1hZ2VUeXBlIDogZGVmYXVsdFN1cHBvcnRlZEltYWdlVHlwZXMpIHsKLSAgICAg
ICAgICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gc3RyaW5nID0gaW1hZ2VUeXBlLmNyZWF0ZUNG
U3RyaW5nKCk7Ci0gICAgICAgICAgICBpZiAoQ0ZBcnJheUNvbnRhaW5zVmFsdWUoc3lzdGVtSW1h
Z2VUeXBlcy5nZXQoKSwgQ0ZSYW5nZU1ha2UoMCwgY291bnQpLCBzdHJpbmcuZ2V0KCkpKQotICAg
ICAgICAgICAgICAgIGRlZmF1bHRDR1N1cHBvcnRlZEltYWdlVHlwZXMuYWRkKGltYWdlVHlwZSk7
Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGRlZmF1bHRDR1N1cHBvcnRlZEltYWdlVHlwZXM7
CisgICAgICAgIEhhc2hTZXQ8U3RyaW5nPiBzeXN0ZW1TdXBwb3J0ZWRJbWFnZVR5cGVzOworICAg
ICAgICBDRkFycmF5QXBwbHlGdW5jdGlvbihzeXN0ZW1TdXBwb3J0ZWRDRkltYWdlVHlwZXMuZ2V0
KCksIENGUmFuZ2VNYWtlKDAsIGNvdW50KSwgW10oY29uc3Qgdm9pZCAqdmFsdWUsIHZvaWQgKmNv
bnRleHQpIHsKKyAgICAgICAgICAgIFN0cmluZyBpbWFnZVR5cGUgPSBzdGF0aWNfY2FzdDxDRlN0
cmluZ1JlZj4odmFsdWUpOworICAgICAgICAgICAgc3RhdGljX2Nhc3Q8SGFzaFNldDxTdHJpbmc+
Kj4oY29udGV4dCktPmFkZChpbWFnZVR5cGUpOworICAgICAgICB9LCAmc3lzdGVtU3VwcG9ydGVk
SW1hZ2VUeXBlcyk7CisKKyAgICAgICAgZGVmYXVsdFN1cHBvcnRlZEltYWdlVHlwZXMucmVtb3Zl
SWYoWyZzeXN0ZW1TdXBwb3J0ZWRJbWFnZVR5cGVzXShjb25zdCBTdHJpbmcmIGltYWdlVHlwZSkg
eworICAgICAgICAgICAgcmV0dXJuICFzeXN0ZW1TdXBwb3J0ZWRJbWFnZVR5cGVzLmNvbnRhaW5z
KGltYWdlVHlwZSk7CisgICAgICAgIH0pOworCisgICAgICAgIHJldHVybiBkZWZhdWx0U3VwcG9y
dGVkSW1hZ2VUeXBlczsKICAgICB9KCkpOwogCiAgICAgcmV0dXJuIGRlZmF1bHRTdXBwb3J0ZWRJ
bWFnZVR5cGVzOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>