<?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>92214</bug_id>
          
          <creation_ts>2012-07-24 23:26:45 -0700</creation_ts>
          <short_desc>Remove anonymous namespace and make functions static.</short_desc>
          <delta_ts>2012-07-24 23:53:06 -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>DOM</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="Kwang Yul Seo">skyul</reporter>
          <assigned_to name="Kwang Yul Seo">skyul</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>677672</commentid>
    <comment_count>0</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2012-07-24 23:26:45 -0700</bug_when>
    <thetext>Mark functions as static instead of enclosing them in anonymous namespaces. One exception to this rule is when a function is passed as a template argument. In this case, the function must have an external linkage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677675</commentid>
    <comment_count>1</comment_count>
      <attachid>154266</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2012-07-24 23:28:50 -0700</bug_when>
    <thetext>Created attachment 154266
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677677</commentid>
    <comment_count>2</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2012-07-24 23:30:00 -0700</bug_when>
    <thetext>Adam mentioned this cleanup idea in https://bugs.webkit.org/show_bug.cgi?id=92079#c9</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677698</commentid>
    <comment_count>3</comment_count>
      <attachid>154266</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-24 23:43:31 -0700</bug_when>
    <thetext>Comment on attachment 154266
Patch

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

&gt; Source/WebCore/html/parser/create-html-entity-table:-112
&gt; -namespace {

I would actually leave this one.  There are a ton of symbols in here that would be good to hide from the linker.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677701</commentid>
    <comment_count>4</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2012-07-24 23:45:34 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 154266 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=154266&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/parser/create-html-entity-table:-112
&gt; &gt; -namespace {
&gt; 
&gt; I would actually leave this one.  There are a ton of symbols in here that would be good to hide from the linker.

Okay. I will change it before I land the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677709</commentid>
    <comment_count>5</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2012-07-24 23:53:06 -0700</bug_when>
    <thetext>Committed r123581: &lt;http://trac.webkit.org/changeset/123581&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154266</attachid>
            <date>2012-07-24 23:28:50 -0700</date>
            <delta_ts>2012-07-24 23:43:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92214-20120725152835.patch</filename>
            <type>text/plain</type>
            <size>17659</size>
            <attacher name="Kwang Yul Seo">skyul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjk0NjQ5NmVhOTQ4OWQy
MGUxZDA4MDIzYWMyNGViOTZmZTMyZmQ1My4uNjdmMTZmMGVkNmJlY2FjMDg5YTk1YWFkMjExMjc3
NGZmZGM1MDQxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDEyLTA3LTI0ICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgUmVtb3ZlIGFub255
bW91cyBuYW1lc3BhY2UgYW5kIG1ha2UgZnVuY3Rpb25zIHN0YXRpYy4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyMjE0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFyayBmdW5jdGlvbnMgYXMgc3RhdGlj
IGluc3RlYWQgb2YgZW5jbG9zaW5nIHRoZW0gaW4gYW5vbnltb3VzIG5hbWVzcGFjZXMuCisgICAg
ICAgIE9uZSBleGNlcHRpb24gdG8gdGhpcyBydWxlIGlzIHdoZW4gYSBmdW5jdGlvbiBpcyBwYXNz
ZWQgYXMgYSB0ZW1wbGF0ZSBhcmd1bWVudC4KKyAgICAgICAgSW4gdGhpcyBjYXNlLCB0aGUgZnVu
Y3Rpb24gbXVzdCBoYXZlIGFuIGV4dGVybmFsIGxpbmthZ2UuCisKKyAgICAgICAgTm8gZnVuY3Rp
b25hbCBjaGFuZ2UuIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBodG1s
L3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpoYXNJ
bXBsaWVkRW5kVGFnKToKKyAgICAgICAgKFdlYkNvcmU6OmNhdXNlc0Zvc3RlclBhcmVudGluZyk6
CisgICAgICAgIChXZWJDb3JlOjppc0FsbFdoaXRlc3BhY2UpOgorICAgICAgICAqIGh0bWwvcGFy
c2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OnRva2VuaXplclN0YXRlRm9yQ29udGV4dEVsZW1lbnQpOgorICAgICAgICAqIGh0
bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNOdW1i
ZXJlZEhlYWRlckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6aXNSb290Tm9kZSk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MRW50aXR5UGFyc2VyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmlzQWxwaGFOdW1lcmljKToKKyAgICAgICAgKiBodG1sL3Bh
cnNlci9IVE1MRW50aXR5U2VhcmNoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmhhbGZ3YXkpOgor
ICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHA6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnRvTG93ZXJDYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OnZlY3RvckVxdWFs
c1N0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjppc0VuZFRhZ0J1ZmZlcmluZ1N0YXRlKToKKyAg
ICAgICAgKiBodG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjp1bmluaXRpYWxpemVkUG9zaXRpb25WYWx1ZTEpOgorICAg
ICAgICAoV2ViQ29yZTo6aXNBbGxXaGl0ZXNwYWNlKToKKyAgICAgICAgKFdlYkNvcmU6OmlzQWxs
V2hpdGVzcGFjZU9yUmVwbGFjZW1lbnRDaGFyYWN0ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6Omlz
TnVtYmVyZWRIZWFkZXJUYWcpOgorICAgICAgICAoV2ViQ29yZTo6aXNDYXB0aW9uQ29sT3JDb2xn
cm91cFRhZyk6CisgICAgICAgIChXZWJDb3JlOjppc1RhYmxlQ2VsbENvbnRleHRUYWcpOgorICAg
ICAgICAoV2ViQ29yZTo6aXNUYWJsZUJvZHlDb250ZXh0VGFnKToKKyAgICAgICAgKFdlYkNvcmU6
OmlzU3BlY2lhbE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6aXNOb25BbmNob3JOb25Ob2JyRm9y
bWF0dGluZ1RhZyk6CisgICAgICAgIChXZWJDb3JlOjppc05vbkFuY2hvckZvcm1hdHRpbmdUYWcp
OgorICAgICAgICAoV2ViQ29yZTo6aXNGb3JtYXR0aW5nVGFnKToKKyAgICAgICAgKFdlYkNvcmU6
OmNsb3Nlc3RGb3JtQW5jZXN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6bWFwTG93ZXJlZExvY2Fs
TmFtZVRvTmFtZSk6CisgICAgICAgIChXZWJDb3JlOjphZGp1c3RTVkdUYWdOYW1lQ2FzZSk6Cisg
ICAgICAgIChXZWJDb3JlOjphZGp1c3RBdHRyaWJ1dGVzKToKKyAgICAgICAgKFdlYkNvcmU6OmFk
anVzdFNWR0F0dHJpYnV0ZXMpOgorICAgICAgICAoV2ViQ29yZTo6YWRqdXN0TWF0aE1MQXR0cmli
dXRlcyk6CisgICAgICAgIChXZWJDb3JlOjphZGROYW1lc1dpdGhQcmVmaXgpOgorICAgICAgICAo
V2ViQ29yZTo6YWRqdXN0Rm9yZWlnbkF0dHJpYnV0ZXMpOgorICAgICAgICAqIGh0bWwvcGFyc2Vy
L2NyZWF0ZS1odG1sLWVudGl0eS10YWJsZToKKwogMjAxMi0wNy0yNCAgVnNldm9sb2QgVmxhc292
ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIHIxMjM0OTQgZm9s
bG93LXVwOiBmaXhlZCBpbnNwZWN0b3IgdW5kb2NrIGljb24uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5jcHAKaW5kZXggOTE4M2MwZmI5
N2NjNWU2N2VmYjc3ODdhOTgyZDYxODY3N2U0YzRlZC4uODdhNTE4ZTYzYmU5MTcwODg3NmEzOWFi
NzczYThiZmRiOWQyZGJjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTENvbnN0cnVjdGlvblNpdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcApAQCAtNTgsOSArNTgsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLW5hbWVzcGFjZSB7Ci0KLWJv
b2wgaGFzSW1wbGllZEVuZFRhZyhjb25zdCBIVE1MU3RhY2tJdGVtKiBpdGVtKQorc3RhdGljIGJv
b2wgaGFzSW1wbGllZEVuZFRhZyhjb25zdCBIVE1MU3RhY2tJdGVtKiBpdGVtKQogewogICAgIHJl
dHVybiBpdGVtLT5oYXNUYWdOYW1lKGRkVGFnKQogICAgICAgICB8fCBpdGVtLT5oYXNUYWdOYW1l
KGR0VGFnKQpAQCAtNzIsNyArNzAsNyBAQCBib29sIGhhc0ltcGxpZWRFbmRUYWcoY29uc3QgSFRN
TFN0YWNrSXRlbSogaXRlbSkKICAgICAgICAgfHwgaXRlbS0+aGFzVGFnTmFtZShydFRhZyk7CiB9
CiAKLWJvb2wgY2F1c2VzRm9zdGVyUGFyZW50aW5nKGNvbnN0IEhUTUxTdGFja0l0ZW0qIGl0ZW0p
CitzdGF0aWMgYm9vbCBjYXVzZXNGb3N0ZXJQYXJlbnRpbmcoY29uc3QgSFRNTFN0YWNrSXRlbSog
aXRlbSkKIHsKICAgICByZXR1cm4gaXRlbS0+aGFzVGFnTmFtZSh0YWJsZVRhZykKICAgICAgICAg
fHwgaXRlbS0+aGFzVGFnTmFtZSh0Ym9keVRhZykKQEAgLTgxLDEzICs3OSwxMSBAQCBib29sIGNh
dXNlc0Zvc3RlclBhcmVudGluZyhjb25zdCBIVE1MU3RhY2tJdGVtKiBpdGVtKQogICAgICAgICB8
fCBpdGVtLT5oYXNUYWdOYW1lKHRyVGFnKTsKIH0KIAotaW5saW5lIGJvb2wgaXNBbGxXaGl0ZXNw
YWNlKGNvbnN0IFN0cmluZyYgc3RyaW5nKQorc3RhdGljIGlubGluZSBib29sIGlzQWxsV2hpdGVz
cGFjZShjb25zdCBTdHJpbmcmIHN0cmluZykKIHsKICAgICByZXR1cm4gc3RyaW5nLmlzQWxsU3Bl
Y2lhbENoYXJhY3RlcnM8aXNIVE1MU3BhY2U+KCk7CiB9CiAKLX0gLy8gbmFtZXNwYWNlCi0KIHN0
YXRpYyBpbmxpbmUgdm9pZCBleGVjdXRlVGFzayhIVE1MQ29uc3RydWN0aW9uU2l0ZVRhc2smIHRh
c2spCiB7CiAgICAgaWYgKHRhc2submV4dENoaWxkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHAKaW5kZXggMzM2MzI4N2VmNzdhMzhlODgy
N2QxMDA3ZTc5MzA0ZTg5ZDU4MmYzNy4uODg2NDZlNGY1N2NlMjQ5MDI0ZTlhZTVkYjdiNTQ2N2Fh
Y2ViYWE4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3Vt
ZW50UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1l
bnRQYXJzZXIuY3BwCkBAIC00NSwxMSArNDUsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVz
aW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLW5hbWVzcGFjZSB7Ci0KIC8vIFRoaXMgaXMgYSBk
aXJlY3QgdHJhbnNjcmlwdGlvbiBvZiBzdGVwIDQgZnJvbToKIC8vIGh0dHA6Ly93d3cud2hhdHdn
Lm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVsdGlwYWdlL3RoZS1lbmQuaHRtbCNm
cmFnbWVudC1jYXNlCi1IVE1MVG9rZW5pemVyU3RhdGU6OlN0YXRlIHRva2VuaXplclN0YXRlRm9y
Q29udGV4dEVsZW1lbnQoRWxlbWVudCogY29udGV4dEVsZW1lbnQsIGJvb2wgcmVwb3J0RXJyb3Jz
KQorc3RhdGljIEhUTUxUb2tlbml6ZXJTdGF0ZTo6U3RhdGUgdG9rZW5pemVyU3RhdGVGb3JDb250
ZXh0RWxlbWVudChFbGVtZW50KiBjb250ZXh0RWxlbWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiB7
CiAgICAgaWYgKCFjb250ZXh0RWxlbWVudCkKICAgICAgICAgcmV0dXJuIEhUTUxUb2tlbml6ZXJT
dGF0ZTo6RGF0YVN0YXRlOwpAQCAtNzIsOCArNzAsNiBAQCBIVE1MVG9rZW5pemVyU3RhdGU6OlN0
YXRlIHRva2VuaXplclN0YXRlRm9yQ29udGV4dEVsZW1lbnQoRWxlbWVudCogY29udGV4dEVsZW1l
bgogICAgIHJldHVybiBIVE1MVG9rZW5pemVyU3RhdGU6OkRhdGFTdGF0ZTsKIH0KIAotfSAvLyBu
YW1lc3BhY2UKLQogSFRNTERvY3VtZW50UGFyc2VyOjpIVE1MRG9jdW1lbnRQYXJzZXIoSFRNTERv
Y3VtZW50KiBkb2N1bWVudCwgYm9vbCByZXBvcnRFcnJvcnMpCiAgICAgOiBTY3JpcHRhYmxlRG9j
dW1lbnRQYXJzZXIoZG9jdW1lbnQpCiAgICAgLCBtX3Rva2VuaXplcihIVE1MVG9rZW5pemVyOjpj
cmVhdGUodXNlUHJlSFRNTDVQYXJzZXJRdWlya3MoZG9jdW1lbnQpKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5jcHAKaW5kZXggNjY0MmNkNTY5ODRm
YWIzN2ZlZTI5YzFhOTgyMWI1MmMxZjZlZTBlNy4uZGYwNzRmZmQzYWExMTUzZWQ1OWE4NmI5OTcy
ZmRkM2FkMmU2Zjg3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TEVsZW1lbnRTdGFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVs
ZW1lbnRTdGFjay5jcHAKQEAgLTM4LDkgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1
c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1uYW1lc3BhY2UgewotCi1pbmxpbmUgYm9vbCBp
c051bWJlcmVkSGVhZGVyRWxlbWVudChIVE1MU3RhY2tJdGVtKiBpdGVtKQorc3RhdGljIGlubGlu
ZSBib29sIGlzTnVtYmVyZWRIZWFkZXJFbGVtZW50KEhUTUxTdGFja0l0ZW0qIGl0ZW0pCiB7CiAg
ICAgcmV0dXJuIGl0ZW0tPmhhc1RhZ05hbWUoaDFUYWcpCiAgICAgICAgIHx8IGl0ZW0tPmhhc1Rh
Z05hbWUoaDJUYWcpCkBAIC01MCwxMiArNDgsMTQgQEAgaW5saW5lIGJvb2wgaXNOdW1iZXJlZEhl
YWRlckVsZW1lbnQoSFRNTFN0YWNrSXRlbSogaXRlbSkKICAgICAgICAgfHwgaXRlbS0+aGFzVGFn
TmFtZShoNlRhZyk7CiB9CiAgICAgCi1pbmxpbmUgYm9vbCBpc1Jvb3ROb2RlKEhUTUxTdGFja0l0
ZW0qIGl0ZW0pCitzdGF0aWMgaW5saW5lIGJvb2wgaXNSb290Tm9kZShIVE1MU3RhY2tJdGVtKiBp
dGVtKQogewogICAgIHJldHVybiBpdGVtLT5pc0RvY3VtZW50RnJhZ21lbnROb2RlKCkKICAgICAg
ICAgfHwgaXRlbS0+aGFzVGFnTmFtZShodG1sVGFnKTsKIH0KIAorbmFtZXNwYWNlIHsKKwogaW5s
aW5lIGJvb2wgaXNTY29wZU1hcmtlcihIVE1MU3RhY2tJdGVtKiBpdGVtKQogewogICAgIHJldHVy
biBpdGVtLT5oYXNUYWdOYW1lKGFwcGxldFRhZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxFbnRpdHlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9w
YXJzZXIvSFRNTEVudGl0eVBhcnNlci5jcHAKaW5kZXggZmFiOGMwMTExZDJiYzYyZWVhZjZkOTkz
OWJjMzk1YzFiZjUxMDM1Ni4uMTg3MTgwNTRiZmFhNGY4Y2NlOGFmOGRiZDFmMDMwZWJkZmQwZmU2
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVudGl0eVBhcnNl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVudGl0eVBhcnNlci5j
cHAKQEAgLTM3LDggKzM3LDYgQEAgdXNpbmcgbmFtZXNwYWNlIFdURjsKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1uYW1lc3BhY2UgewotCiBzdGF0aWMgY29uc3QgVUNoYXIgd2luZG93c0xhdGlu
MUV4dGVuc2lvbkFycmF5WzMyXSA9IHsKICAgICAweDIwQUMsIDB4MDA4MSwgMHgyMDFBLCAweDAx
OTIsIDB4MjAxRSwgMHgyMDI2LCAweDIwMjAsIDB4MjAyMSwgLy8gODAtODcKICAgICAweDAyQzYs
IDB4MjAzMCwgMHgwMTYwLCAweDIwMzksIDB4MDE1MiwgMHgwMDhELCAweDAxN0QsIDB4MDA4Riwg
Ly8gODgtOEYKQEAgLTQ2LDcgKzQ0LDcgQEAgc3RhdGljIGNvbnN0IFVDaGFyIHdpbmRvd3NMYXRp
bjFFeHRlbnNpb25BcnJheVszMl0gPSB7CiAgICAgMHgwMkRDLCAweDIxMjIsIDB4MDE2MSwgMHgy
MDNBLCAweDAxNTMsIDB4MDA5RCwgMHgwMTdFLCAweDAxNzgsIC8vIDk4LTlGCiB9OwogCi1pbmxp
bmUgYm9vbCBpc0FscGhhTnVtZXJpYyhVQ2hhciBjYykKK3N0YXRpYyBpbmxpbmUgYm9vbCBpc0Fs
cGhhTnVtZXJpYyhVQ2hhciBjYykKIHsKICAgICByZXR1cm4gKGNjID49ICcwJyAmJiBjYyA8PSAn
OScpIHx8IChjYyA+PSAnYScgJiYgY2MgPD0gJ3onKSB8fCAoY2MgPj0gJ0EnICYmIGNjIDw9ICda
Jyk7CiB9CkBAIC0xMzcsOCArMTM1LDYgQEAgcHVibGljOgogICAgIH0KIH07CiAKLX0KLQogYm9v
bCBjb25zdW1lSFRNTEVudGl0eShTZWdtZW50ZWRTdHJpbmcmIHNvdXJjZSwgU3RyaW5nQnVpbGRl
ciYgZGVjb2RlZEVudGl0eSwgYm9vbCYgbm90RW5vdWdoQ2hhcmFjdGVycywgVUNoYXIgYWRkaXRp
b25hbEFsbG93ZWRDaGFyYWN0ZXIpCiB7CiAgICAgcmV0dXJuIGNvbnN1bWVDaGFyYWN0ZXJSZWZl
cmVuY2U8SFRNTEVudGl0eVBhcnNlcj4oc291cmNlLCBkZWNvZGVkRW50aXR5LCBub3RFbm91Z2hD
aGFyYWN0ZXJzLCBhZGRpdGlvbmFsQWxsb3dlZENoYXJhY3Rlcik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRW50aXR5U2VhcmNoLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxFbnRpdHlTZWFyY2guY3BwCmluZGV4IDU3YmM0ZTIwNWQ2Yjg1
OGRlYmUyNzk1NTNhNmUzYWQyZTAwNTk3YjguLjZiZmI5OTU2MzVjYjg2ZmJhNmRkMjExZjUwOThk
YTc2ZjE4YTM0MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxF
bnRpdHlTZWFyY2guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbnRp
dHlTZWFyY2guY3BwCkBAIC0zMCwxNSArMzAsMTEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1uYW1lc3BhY2UgewotICAgIAotY29uc3QgSFRNTEVudGl0eVRhYmxlRW50cnkqIGhhbGZ3YXko
Y29uc3QgSFRNTEVudGl0eVRhYmxlRW50cnkqIGxlZnQsIGNvbnN0IEhUTUxFbnRpdHlUYWJsZUVu
dHJ5KiByaWdodCkKK3N0YXRpYyBjb25zdCBIVE1MRW50aXR5VGFibGVFbnRyeSogaGFsZndheShj
b25zdCBIVE1MRW50aXR5VGFibGVFbnRyeSogbGVmdCwgY29uc3QgSFRNTEVudGl0eVRhYmxlRW50
cnkqIHJpZ2h0KQogewogICAgIHJldHVybiAmbGVmdFsocmlnaHQgLSBsZWZ0KSAvIDJdOwogfQog
Ci19Ci0gICAgCiBIVE1MRW50aXR5U2VhcmNoOjpIVE1MRW50aXR5U2VhcmNoKCkKICAgICA6IG1f
Y3VycmVudExlbmd0aCgwKQogICAgICwgbV9tb3N0UmVjZW50TWF0Y2goMCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MUHJlbG9hZFNjYW5uZXIuY3BwCmluZGV4IGJiZTg4
NjcyODNiMGUwNzNhNmZjMWZhMzg2MWZlNzY2MGJlOGNhZmYuLjM4MDYxZmY2ZjkzNWYzOTJkYTM2
NjQwZjQzMDQ0ODMzYjhkNTg0ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxQcmVsb2FkU2Nhbm5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFByZWxvYWRTY2FubmVyLmNwcApAQCAtNDMsOCArNDMsNiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLW5hbWVzcGFjZSB7Ci0KIGNs
YXNzIFByZWxvYWRUYXNrIHsKIHB1YmxpYzoKICAgICBleHBsaWNpdCBQcmVsb2FkVGFzayhjb25z
dCBIVE1MVG9rZW4mIHRva2VuKQpAQCAtMTUxLDggKzE0OSw2IEBAIHByaXZhdGU6CiAgICAgYm9v
bCBtX2lucHV0SXNJbWFnZTsKIH07CiAKLX0gLy8gbmFtZXNwYWNlCi0KIEhUTUxQcmVsb2FkU2Nh
bm5lcjo6SFRNTFByZWxvYWRTY2FubmVyKERvY3VtZW50KiBkb2N1bWVudCkKICAgICA6IG1fZG9j
dW1lbnQoZG9jdW1lbnQpCiAgICAgLCBtX2Nzc1NjYW5uZXIoZG9jdW1lbnQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVG9rZW5pemVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6ZXIuY3BwCmluZGV4IGQ3MDMxMjllNzYwNzA1
ZDVmZjA3ODllOGRlNGQ5NzYyNmNjYzk3YWIuLmYxZTEwODUyYWNjMzhjZGI2OGE5MWIzZjI1ZDJj
N2JlN2JmZjZkYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxU
b2tlbml6ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUb2tlbml6
ZXIuY3BwCkBAIC02NywxNiArNjcsMTQgQEAgYm9vbCBBdG9taWNNYXJrdXBUb2tlbkJhc2U8SFRN
TFRva2VuPjo6dXNlc0F0dHJpYnV0ZXMoKSBjb25zdAogICAgIHJldHVybiBtX3R5cGUgPT0gSFRN
TFRva2VuVHlwZXM6OlN0YXJ0VGFnIHx8IG1fdHlwZSA9PSBIVE1MVG9rZW5UeXBlczo6RW5kVGFn
OwogfQogCi1uYW1lc3BhY2UgewotCi1pbmxpbmUgVUNoYXIgdG9Mb3dlckNhc2UoVUNoYXIgY2Mp
CitzdGF0aWMgaW5saW5lIFVDaGFyIHRvTG93ZXJDYXNlKFVDaGFyIGNjKQogewogICAgIEFTU0VS
VChpc0FTQ0lJVXBwZXIoY2MpKTsKICAgICBjb25zdCBpbnQgbG93ZXJDYXNlT2Zmc2V0ID0gMHgy
MDsKICAgICByZXR1cm4gY2MgKyBsb3dlckNhc2VPZmZzZXQ7CiB9CiAKLWlubGluZSBib29sIHZl
Y3RvckVxdWFsc1N0cmluZyhjb25zdCBWZWN0b3I8VUNoYXIsIDMyPiYgdmVjdG9yLCBjb25zdCBT
dHJpbmcmIHN0cmluZykKK3N0YXRpYyBpbmxpbmUgYm9vbCB2ZWN0b3JFcXVhbHNTdHJpbmcoY29u
c3QgVmVjdG9yPFVDaGFyLCAzMj4mIHZlY3RvciwgY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7CiAg
ICAgaWYgKHZlY3Rvci5zaXplKCkgIT0gc3RyaW5nLmxlbmd0aCgpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CkBAIC04Niw3ICs4NCw3IEBAIGlubGluZSBib29sIHZlY3RvckVxdWFsc1N0cmluZyhj
b25zdCBWZWN0b3I8VUNoYXIsIDMyPiYgdmVjdG9yLCBjb25zdCBTdHJpbmcmIHN0CiAgICAgcmV0
dXJuICFtZW1jbXAoc3RyaW5nRGF0YSwgdmVjdG9yRGF0YSwgdmVjdG9yLnNpemUoKSAqIHNpemVv
ZihVQ2hhcikpOwogfQogCi1pbmxpbmUgYm9vbCBpc0VuZFRhZ0J1ZmZlcmluZ1N0YXRlKEhUTUxU
b2tlbml6ZXJTdGF0ZTo6U3RhdGUgc3RhdGUpCitzdGF0aWMgaW5saW5lIGJvb2wgaXNFbmRUYWdC
dWZmZXJpbmdTdGF0ZShIVE1MVG9rZW5pemVyU3RhdGU6OlN0YXRlIHN0YXRlKQogewogICAgIHN3
aXRjaCAoc3RhdGUpIHsKICAgICBjYXNlIEhUTUxUb2tlbml6ZXJTdGF0ZTo6UkNEQVRBRW5kVGFn
T3BlblN0YXRlOgpAQCAtMTAzLDggKzEwMSw2IEBAIGlubGluZSBib29sIGlzRW5kVGFnQnVmZmVy
aW5nU3RhdGUoSFRNTFRva2VuaXplclN0YXRlOjpTdGF0ZSBzdGF0ZSkKICAgICB9CiB9CiAKLX0K
LSAgICAKICNkZWZpbmUgSFRNTF9CRUdJTl9TVEFURShzdGF0ZU5hbWUpIEJFR0lOX1NUQVRFKEhU
TUxUb2tlbml6ZXJTdGF0ZSwgc3RhdGVOYW1lKQogI2RlZmluZSBIVE1MX1JFQ09OU1VNRV9JTihz
dGF0ZU5hbWUpIFJFQ09OU1VNRV9JTihIVE1MVG9rZW5pemVyU3RhdGUsIHN0YXRlTmFtZSkKICNk
ZWZpbmUgSFRNTF9BRFZBTkNFX1RPKHN0YXRlTmFtZSkgQURWQU5DRV9UTyhIVE1MVG9rZW5pemVy
U3RhdGUsIHN0YXRlTmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJl
ZUJ1aWxkZXIuY3BwCmluZGV4IGIzYWI2YmExNjlmZjgwOWNjMzgzZWI1NDE0NDE2NzJkNWRhYmZh
NGIuLmU2NDM4ZWYzNGUzOGNiZTMwMWFkZmE5NTc1MTE2NGQxMjBiNDllN2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcApAQCAtNTcsMTEgKzU3
LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwog
Ci1zdGF0aWMgVGV4dFBvc2l0aW9uIHVuaW5pdGlhbGl6ZWRQb3NpdGlvblZhbHVlMSgpCi17Ci0g
ICAgcmV0dXJuIFRleHRQb3NpdGlvbihPcmRpbmFsTnVtYmVyOjpmcm9tT25lQmFzZWRJbnQoLTEp
LCBPcmRpbmFsTnVtYmVyOjpmaXJzdCgpKTsKLX0KLQogbmFtZXNwYWNlIHsKIAogaW5saW5lIGJv
b2wgaXNIVE1MU3BhY2VPclJlcGxhY2VtZW50Q2hhcmFjdGVyKFVDaGFyIGNoYXJhY3RlcikKQEAg
LTY5LDE3ICs2NCwyNCBAQCBpbmxpbmUgYm9vbCBpc0hUTUxTcGFjZU9yUmVwbGFjZW1lbnRDaGFy
YWN0ZXIoVUNoYXIgY2hhcmFjdGVyKQogICAgIHJldHVybiBpc0hUTUxTcGFjZShjaGFyYWN0ZXIp
IHx8IGNoYXJhY3RlciA9PSByZXBsYWNlbWVudENoYXJhY3RlcjsKIH0KIAotaW5saW5lIGJvb2wg
aXNBbGxXaGl0ZXNwYWNlKGNvbnN0IFN0cmluZyYgc3RyaW5nKQorfQorCitzdGF0aWMgVGV4dFBv
c2l0aW9uIHVuaW5pdGlhbGl6ZWRQb3NpdGlvblZhbHVlMSgpCit7CisgICAgcmV0dXJuIFRleHRQ
b3NpdGlvbihPcmRpbmFsTnVtYmVyOjpmcm9tT25lQmFzZWRJbnQoLTEpLCBPcmRpbmFsTnVtYmVy
OjpmaXJzdCgpKTsKK30KKworc3RhdGljIGlubGluZSBib29sIGlzQWxsV2hpdGVzcGFjZShjb25z
dCBTdHJpbmcmIHN0cmluZykKIHsKICAgICByZXR1cm4gc3RyaW5nLmlzQWxsU3BlY2lhbENoYXJh
Y3RlcnM8aXNIVE1MU3BhY2U+KCk7CiB9CiAKLWlubGluZSBib29sIGlzQWxsV2hpdGVzcGFjZU9y
UmVwbGFjZW1lbnRDaGFyYWN0ZXJzKGNvbnN0IFN0cmluZyYgc3RyaW5nKQorc3RhdGljIGlubGlu
ZSBib29sIGlzQWxsV2hpdGVzcGFjZU9yUmVwbGFjZW1lbnRDaGFyYWN0ZXJzKGNvbnN0IFN0cmlu
ZyYgc3RyaW5nKQogewogICAgIHJldHVybiBzdHJpbmcuaXNBbGxTcGVjaWFsQ2hhcmFjdGVyczxp
c0hUTUxTcGFjZU9yUmVwbGFjZW1lbnRDaGFyYWN0ZXI+KCk7CiB9CiAKLWJvb2wgaXNOdW1iZXJl
ZEhlYWRlclRhZyhjb25zdCBBdG9taWNTdHJpbmcmIHRhZ05hbWUpCitzdGF0aWMgYm9vbCBpc051
bWJlcmVkSGVhZGVyVGFnKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSkKIHsKICAgICByZXR1
cm4gdGFnTmFtZSA9PSBoMVRhZwogICAgICAgICB8fCB0YWdOYW1lID09IGgyVGFnCkBAIC04OSwx
OSArOTEsMTkgQEAgYm9vbCBpc051bWJlcmVkSGVhZGVyVGFnKGNvbnN0IEF0b21pY1N0cmluZyYg
dGFnTmFtZSkKICAgICAgICAgfHwgdGFnTmFtZSA9PSBoNlRhZzsKIH0KIAotYm9vbCBpc0NhcHRp
b25Db2xPckNvbGdyb3VwVGFnKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSkKK3N0YXRpYyBi
b29sIGlzQ2FwdGlvbkNvbE9yQ29sZ3JvdXBUYWcoY29uc3QgQXRvbWljU3RyaW5nJiB0YWdOYW1l
KQogewogICAgIHJldHVybiB0YWdOYW1lID09IGNhcHRpb25UYWcKICAgICAgICAgfHwgdGFnTmFt
ZSA9PSBjb2xUYWcKICAgICAgICAgfHwgdGFnTmFtZSA9PSBjb2xncm91cFRhZzsKIH0KIAotYm9v
bCBpc1RhYmxlQ2VsbENvbnRleHRUYWcoY29uc3QgQXRvbWljU3RyaW5nJiB0YWdOYW1lKQorc3Rh
dGljIGJvb2wgaXNUYWJsZUNlbGxDb250ZXh0VGFnKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFt
ZSkKIHsKICAgICByZXR1cm4gdGFnTmFtZSA9PSB0aFRhZyB8fCB0YWdOYW1lID09IHRkVGFnOwog
fQogCi1ib29sIGlzVGFibGVCb2R5Q29udGV4dFRhZyhjb25zdCBBdG9taWNTdHJpbmcmIHRhZ05h
bWUpCitzdGF0aWMgYm9vbCBpc1RhYmxlQm9keUNvbnRleHRUYWcoY29uc3QgQXRvbWljU3RyaW5n
JiB0YWdOYW1lKQogewogICAgIHJldHVybiB0YWdOYW1lID09IHRib2R5VGFnCiAgICAgICAgIHx8
IHRhZ05hbWUgPT0gdGZvb3RUYWcKQEAgLTEwOSw3ICsxMTEsNyBAQCBib29sIGlzVGFibGVCb2R5
Q29udGV4dFRhZyhjb25zdCBBdG9taWNTdHJpbmcmIHRhZ05hbWUpCiB9CiAKIC8vIGh0dHA6Ly93
d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsvbXVsdGlwYWdlL3BhcnNp
bmcuaHRtbCNzcGVjaWFsCi1ib29sIGlzU3BlY2lhbE5vZGUoY29uc3QgSFRNTFN0YWNrSXRlbSog
aXRlbSkKK3N0YXRpYyBib29sIGlzU3BlY2lhbE5vZGUoY29uc3QgSFRNTFN0YWNrSXRlbSogaXRl
bSkKIHsKICAgICBpZiAoaXRlbS0+aGFzVGFnTmFtZShNYXRoTUxOYW1lczo6bWlUYWcpCiAgICAg
ICAgIHx8IGl0ZW0tPmhhc1RhZ05hbWUoTWF0aE1MTmFtZXM6Om1vVGFnKQpAQCAtMjAwLDcgKzIw
Miw3IEBAIGJvb2wgaXNTcGVjaWFsTm9kZShjb25zdCBIVE1MU3RhY2tJdGVtKiBpdGVtKQogICAg
ICAgICB8fCB0YWdOYW1lID09IHhtcFRhZzsKIH0KIAotYm9vbCBpc05vbkFuY2hvck5vbk5vYnJG
b3JtYXR0aW5nVGFnKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSkKK3N0YXRpYyBib29sIGlz
Tm9uQW5jaG9yTm9uTm9ickZvcm1hdHRpbmdUYWcoY29uc3QgQXRvbWljU3RyaW5nJiB0YWdOYW1l
KQogewogICAgIHJldHVybiB0YWdOYW1lID09IGJUYWcKICAgICAgICAgfHwgdGFnTmFtZSA9PSBi
aWdUYWcKQEAgLTIxNiwxOSArMjE4LDE5IEBAIGJvb2wgaXNOb25BbmNob3JOb25Ob2JyRm9ybWF0
dGluZ1RhZyhjb25zdCBBdG9taWNTdHJpbmcmIHRhZ05hbWUpCiAgICAgICAgIHx8IHRhZ05hbWUg
PT0gdVRhZzsKIH0KIAotYm9vbCBpc05vbkFuY2hvckZvcm1hdHRpbmdUYWcoY29uc3QgQXRvbWlj
U3RyaW5nJiB0YWdOYW1lKQorc3RhdGljIGJvb2wgaXNOb25BbmNob3JGb3JtYXR0aW5nVGFnKGNv
bnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSkKIHsKICAgICByZXR1cm4gdGFnTmFtZSA9PSBub2Jy
VGFnCiAgICAgICAgIHx8IGlzTm9uQW5jaG9yTm9uTm9ickZvcm1hdHRpbmdUYWcodGFnTmFtZSk7
CiB9CiAKIC8vIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdv
cmsvbXVsdGlwYWdlL3BhcnNpbmcuaHRtbCNmb3JtYXR0aW5nCi1ib29sIGlzRm9ybWF0dGluZ1Rh
Zyhjb25zdCBBdG9taWNTdHJpbmcmIHRhZ05hbWUpCitzdGF0aWMgYm9vbCBpc0Zvcm1hdHRpbmdU
YWcoY29uc3QgQXRvbWljU3RyaW5nJiB0YWdOYW1lKQogewogICAgIHJldHVybiB0YWdOYW1lID09
IGFUYWcgfHwgaXNOb25BbmNob3JGb3JtYXR0aW5nVGFnKHRhZ05hbWUpOwogfQogCi1IVE1MRm9y
bUVsZW1lbnQqIGNsb3Nlc3RGb3JtQW5jZXN0b3IoRWxlbWVudCogZWxlbWVudCkKK3N0YXRpYyBI
VE1MRm9ybUVsZW1lbnQqIGNsb3Nlc3RGb3JtQW5jZXN0b3IoRWxlbWVudCogZWxlbWVudCkKIHsK
ICAgICB3aGlsZSAoZWxlbWVudCkgewogICAgICAgICBpZiAoZWxlbWVudC0+aGFzVGFnTmFtZShm
b3JtVGFnKSkKQEAgLTI0MSw4ICsyNDMsNiBAQCBIVE1MRm9ybUVsZW1lbnQqIGNsb3Nlc3RGb3Jt
QW5jZXN0b3IoRWxlbWVudCogZWxlbWVudCkKICAgICByZXR1cm4gMDsKIH0KIAotfSAvLyBuYW1l
c3BhY2UKLQogY2xhc3MgSFRNTFRyZWVCdWlsZGVyOjpFeHRlcm5hbENoYXJhY3RlclRva2VuQnVm
ZmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShFeHRlcm5hbENoYXJhY3RlclRva2VuQnVm
ZmVyKTsKIHB1YmxpYzoKQEAgLTYzOCwxMSArNjM4LDkgQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6
OnByb2Nlc3NDbG9zZVdoZW5OZXN0ZWRUYWcoQXRvbWljSFRNTFRva2VuKiB0b2tlbikKICAgICBt
X3RyZWUuaW5zZXJ0SFRNTEVsZW1lbnQodG9rZW4pOwogfQogCi1uYW1lc3BhY2UgewotCiB0eXBl
ZGVmIEhhc2hNYXA8QXRvbWljU3RyaW5nLCBRdWFsaWZpZWROYW1lPiBQcmVmaXhlZE5hbWVUb1F1
YWxpZmllZE5hbWVNYXA7CiAKLXZvaWQgbWFwTG93ZXJlZExvY2FsTmFtZVRvTmFtZShQcmVmaXhl
ZE5hbWVUb1F1YWxpZmllZE5hbWVNYXAqIG1hcCwgUXVhbGlmaWVkTmFtZSoqIG5hbWVzLCBzaXpl
X3QgbGVuZ3RoKQorc3RhdGljIHZvaWQgbWFwTG93ZXJlZExvY2FsTmFtZVRvTmFtZShQcmVmaXhl
ZE5hbWVUb1F1YWxpZmllZE5hbWVNYXAqIG1hcCwgUXVhbGlmaWVkTmFtZSoqIG5hbWVzLCBzaXpl
X3QgbGVuZ3RoKQogewogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsK
ICAgICAgICAgY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSA9ICpuYW1lc1tpXTsKQEAgLTY1Myw3
ICs2NTEsNyBAQCB2b2lkIG1hcExvd2VyZWRMb2NhbE5hbWVUb05hbWUoUHJlZml4ZWROYW1lVG9R
dWFsaWZpZWROYW1lTWFwKiBtYXAsIFF1YWxpZmllZE5hbQogICAgIH0KIH0KIAotdm9pZCBhZGp1
c3RTVkdUYWdOYW1lQ2FzZShBdG9taWNIVE1MVG9rZW4qIHRva2VuKQorc3RhdGljIHZvaWQgYWRq
dXN0U1ZHVGFnTmFtZUNhc2UoQXRvbWljSFRNTFRva2VuKiB0b2tlbikKIHsKICAgICBzdGF0aWMg
UHJlZml4ZWROYW1lVG9RdWFsaWZpZWROYW1lTWFwKiBjYXNlTWFwID0gMDsKICAgICBpZiAoIWNh
c2VNYXApIHsKQEAgLTY3MCw3ICs2NjgsNyBAQCB2b2lkIGFkanVzdFNWR1RhZ05hbWVDYXNlKEF0
b21pY0hUTUxUb2tlbiogdG9rZW4pCiB9CiAKIHRlbXBsYXRlPFF1YWxpZmllZE5hbWUqKiBnZXRB
dHRycyhzaXplX3QqIGxlbmd0aCk+Ci12b2lkIGFkanVzdEF0dHJpYnV0ZXMoQXRvbWljSFRNTFRv
a2VuKiB0b2tlbikKK3N0YXRpYyB2b2lkIGFkanVzdEF0dHJpYnV0ZXMoQXRvbWljSFRNTFRva2Vu
KiB0b2tlbikKIHsKICAgICBzdGF0aWMgUHJlZml4ZWROYW1lVG9RdWFsaWZpZWROYW1lTWFwKiBj
YXNlTWFwID0gMDsKICAgICBpZiAoIWNhc2VNYXApIHsKQEAgLTY4OCwxNyArNjg2LDE3IEBAIHZv
aWQgYWRqdXN0QXR0cmlidXRlcyhBdG9taWNIVE1MVG9rZW4qIHRva2VuKQogICAgIH0KIH0KIAot
dm9pZCBhZGp1c3RTVkdBdHRyaWJ1dGVzKEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCitzdGF0aWMg
dm9pZCBhZGp1c3RTVkdBdHRyaWJ1dGVzKEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiB7CiAgICAg
YWRqdXN0QXR0cmlidXRlczxTVkdOYW1lczo6Z2V0U1ZHQXR0cnM+KHRva2VuKTsKIH0KIAotdm9p
ZCBhZGp1c3RNYXRoTUxBdHRyaWJ1dGVzKEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCitzdGF0aWMg
dm9pZCBhZGp1c3RNYXRoTUxBdHRyaWJ1dGVzKEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiB7CiAg
ICAgYWRqdXN0QXR0cmlidXRlczxNYXRoTUxOYW1lczo6Z2V0TWF0aE1MQXR0cnM+KHRva2VuKTsK
IH0KIAotdm9pZCBhZGROYW1lc1dpdGhQcmVmaXgoUHJlZml4ZWROYW1lVG9RdWFsaWZpZWROYW1l
TWFwKiBtYXAsIGNvbnN0IEF0b21pY1N0cmluZyYgcHJlZml4LCBRdWFsaWZpZWROYW1lKiogbmFt
ZXMsIHNpemVfdCBsZW5ndGgpCitzdGF0aWMgdm9pZCBhZGROYW1lc1dpdGhQcmVmaXgoUHJlZml4
ZWROYW1lVG9RdWFsaWZpZWROYW1lTWFwKiBtYXAsIGNvbnN0IEF0b21pY1N0cmluZyYgcHJlZml4
LCBRdWFsaWZpZWROYW1lKiogbmFtZXMsIHNpemVfdCBsZW5ndGgpCiB7CiAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICAgICBRdWFsaWZpZWROYW1lKiBuYW1l
ID0gbmFtZXNbaV07CkBAIC03MDksNyArNzA3LDcgQEAgdm9pZCBhZGROYW1lc1dpdGhQcmVmaXgo
UHJlZml4ZWROYW1lVG9RdWFsaWZpZWROYW1lTWFwKiBtYXAsIGNvbnN0IEF0b21pY1N0cmluZyYK
ICAgICB9CiB9CiAKLXZvaWQgYWRqdXN0Rm9yZWlnbkF0dHJpYnV0ZXMoQXRvbWljSFRNTFRva2Vu
KiB0b2tlbikKK3N0YXRpYyB2b2lkIGFkanVzdEZvcmVpZ25BdHRyaWJ1dGVzKEF0b21pY0hUTUxU
b2tlbiogdG9rZW4pCiB7CiAgICAgc3RhdGljIFByZWZpeGVkTmFtZVRvUXVhbGlmaWVkTmFtZU1h
cCogbWFwID0gMDsKICAgICBpZiAoIW1hcCkgewpAQCAtNzMzLDggKzczMSw2IEBAIHZvaWQgYWRq
dXN0Rm9yZWlnbkF0dHJpYnV0ZXMoQXRvbWljSFRNTFRva2VuKiB0b2tlbikKICAgICB9CiB9CiAK
LX0KLQogdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFydFRhZ0ZvckluQm9keShBdG9t
aWNIVE1MVG9rZW4qIHRva2VuKQogewogICAgIEFTU0VSVCh0b2tlbi0+dHlwZSgpID09IEhUTUxU
b2tlblR5cGVzOjpTdGFydFRhZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9jcmVhdGUtaHRtbC1lbnRpdHktdGFibGUgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9jcmVhdGUtaHRtbC1lbnRpdHktdGFibGUKaW5kZXggMjhhODgwZTg4N2FmOWVmMmVkNzBmZTVl
MDExY2FjOTRiNjE2YjNkOS4uNWVmMzA1NTgyNjU3YjQ5ZDcxMTU1OGY4YzY2MTU4NjM0ZTNlZDcw
NSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvY3JlYXRlLWh0bWwtZW50
aXR5LXRhYmxlCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL2NyZWF0ZS1odG1sLWVu
dGl0eS10YWJsZQpAQCAtMTA5LDcgKzEwOSw2IEBAIG91dHB1dF9maWxlLndyaXRlKCIiIi8qCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotbmFtZXNwYWNlIHsKICIiIikKIAogZm9yIGVudHJ5IGlu
IGVudHJpZXM6CkBAIC0xNTEsOCArMTUwLDYgQEAgZm9yIGxldHRlciBpbiBzdHJpbmcuYXNjaWlf
bG93ZXJjYXNlOgogb3V0cHV0X2ZpbGUud3JpdGUoIiVzXG4iICUgb2Zmc2V0X3RhYmxlX2VudHJ5
KGVudGl0eV9jb3VudCkpCiBvdXRwdXRfZmlsZS53cml0ZSgiIiJ9OwogCi19Ci0KIGNvbnN0IEhU
TUxFbnRpdHlUYWJsZUVudHJ5KiBIVE1MRW50aXR5VGFibGU6OmZpcnN0RW50cnlTdGFydGluZ1dp
dGgoVUNoYXIgYykKIHsKICAgICBpZiAoYyA+PSAnQScgJiYgYyA8PSAnWicpCg==
</data>
<flag name="review"
          id="163423"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>