<?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>137364</bug_id>
          
          <creation_ts>2014-10-02 15:37:06 -0700</creation_ts>
          <short_desc>Use is&lt;&gt;() / downcast&lt;&gt;() for CSSRule subclasses</short_desc>
          <delta_ts>2014-10-06 15:20:31 -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>CSS</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>
          <dependson>137056</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jake.nielsen.webkit</cc>
    
    <cc>kling</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1039011</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-02 15:37:06 -0700</bug_when>
    <thetext>Use is&lt;&gt;() / downcast&lt;&gt;() for CSSRule subclasses</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039029</commentid>
    <comment_count>1</comment_count>
      <attachid>239152</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-02 16:23:03 -0700</bug_when>
    <thetext>Created attachment 239152
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039061</commentid>
    <comment_count>2</comment_count>
      <attachid>239152</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-10-02 17:20:22 -0700</bug_when>
    <thetext>Comment on attachment 239152
Patch

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

&gt; Source/WebCore/css/CSSFontFaceRule.h:54
&gt; +SPECIALIZE_TYPE_TRAITS_CSS_RULE(CSSFontFaceRule, FONT_FACE_RULE)

I would prefere CSSRule::FONT_FACE_RULE over FONT_FACE_RULE. A little more typing but I like that we follow the scope.

&gt; Source/WebCore/css/InspectorCSSOMWrappers.cpp:64
&gt; +            collect(downcast&lt;CSSMediaRule&gt;(cssRule));

cssRule is not null, shouldn&apos;t you use &amp;downcast&lt;CSSMediaRule&gt;(*cssRule)) by you own rules?

&gt; Source/WebCore/css/InspectorCSSOMWrappers.cpp:68
&gt; -            collect(toCSSSupportsRule(cssRule));
&gt; +            collect(downcast&lt;CSSSupportsRule&gt;(cssRule));

ditto

&gt; Source/WebCore/css/InspectorCSSOMWrappers.cpp:73
&gt; -            collect(toWebKitCSSRegionRule(cssRule));
&gt; +            collect(downcast&lt;WebKitCSSRegionRule&gt;(cssRule));

ditto

&gt; Source/WebCore/inspector/InspectorCSSAgent.cpp:432
&gt;  CSSStyleRule* InspectorCSSAgent::asCSSStyleRule(CSSRule* rule)
&gt;  {
&gt; -    if (rule-&gt;type() != CSSRule::STYLE_RULE)
&gt; +    ASSERT(rule);

It would be nice to fix the call site to pass a CSSRule&amp;, then remove the assertion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039065</commentid>
    <comment_count>3</comment_count>
      <attachid>239152</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-02 17:24:19 -0700</bug_when>
    <thetext>Comment on attachment 239152
Patch

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

&gt;&gt; Source/WebCore/css/CSSFontFaceRule.h:54
&gt;&gt; +SPECIALIZE_TYPE_TRAITS_CSS_RULE(CSSFontFaceRule, FONT_FACE_RULE)
&gt; 
&gt; I would prefere CSSRule::FONT_FACE_RULE over FONT_FACE_RULE. A little more typing but I like that we follow the scope.

Hmm, I already went the other way for http://trac.webkit.org/changeset/174236/trunk/Source/WebCore/css/CSSBasicShapes.h
But why not.

&gt;&gt; Source/WebCore/css/InspectorCSSOMWrappers.cpp:64
&gt;&gt; +            collect(downcast&lt;CSSMediaRule&gt;(cssRule));
&gt; 
&gt; cssRule is not null, shouldn&apos;t you use &amp;downcast&lt;CSSMediaRule&gt;(*cssRule)) by you own rules?

I think you are confusing with is&lt;&gt;(). There is no null check in the downcast&lt;&gt;().

&gt;&gt; Source/WebCore/inspector/InspectorCSSAgent.cpp:432
&gt;&gt; +    ASSERT(rule);
&gt; 
&gt; It would be nice to fix the call site to pass a CSSRule&amp;, then remove the assertion.

I hesitated :) Ok, will do it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039068</commentid>
    <comment_count>4</comment_count>
      <attachid>239163</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-02 17:33:49 -0700</bug_when>
    <thetext>Created attachment 239163
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039078</commentid>
    <comment_count>5</comment_count>
      <attachid>239167</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-02 18:03:08 -0700</bug_when>
    <thetext>Created attachment 239167
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039090</commentid>
    <comment_count>6</comment_count>
      <attachid>239167</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-02 18:40:21 -0700</bug_when>
    <thetext>Comment on attachment 239167
Patch

Clearing flags on attachment: 239167

Committed r174253: &lt;http://trac.webkit.org/changeset/174253&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039091</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-02 18:40:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239152</attachid>
            <date>2014-10-02 16:23:03 -0700</date>
            <delta_ts>2014-10-02 17:33:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137364-20141002162304.patch</filename>
            <type>text/plain</type>
            <size>13371</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MjMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzcyYjQwNzI2MmU4NDVm
ZGRlOTUzNjI4YTE1ZjE5MzY3NTQwMjQ2NS4uYjBlZGE4MTA1ZDJmMWMzODZkYmZjOGMwNWE0YjQ5
ZTA0MTUzZjNjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE0LTEwLTAyICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgaXM8PigpIC8g
ZG93bmNhc3Q8PigpIGZvciBDU1NSdWxlIHN1YmNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzM2NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBpczw+KCkgLyBkb3duY2FzdDw+KCkgZnVu
Y3Rpb25zIGZvciBDU1NSdWxlIHN1YmNsYXNzZXMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBu
byBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VSdWxlLmg6Cisg
ICAgICAgICogY3NzL0NTU0ltcG9ydFJ1bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTTWVkaWFSdWxl
Lmg6CisgICAgICAgICogY3NzL0NTU1J1bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVSdWxl
Lmg6CisgICAgICAgICogY3NzL0NTU1N1cHBvcnRzUnVsZS5oOgorICAgICAgICAqIGNzcy9JbnNw
ZWN0b3JDU1NPTVdyYXBwZXJzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNTU09N
V3JhcHBlcnM6OmNvbGxlY3QpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxl
Lmg6CisgICAgICAgICogY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuaDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
Q1NTQWdlbnQ6OmFzQ1NTU3R5bGVSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNT
U0FnZW50Ojpjb2xsZWN0U3R5bGVTaGVldHMpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JTdHlsZVNoZWV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFzQ1NTUnVsZUxpc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6ZmlsbE1lZGlhTGlzdENoYWluKToKKyAgICAgICAgKiBwYWdlL1BhZ2VT
ZXJpYWxpemVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VTZXJpYWxpemVyOjpzZXJpYWxp
emVDU1NTdHlsZVNoZWV0KToKKwogMjAxNC0xMC0wMiAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9y
dG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIFBhZ2VPdmVybGF5W0NvbnRyb2xsZXJdIHRv
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVJ1bGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVJ1bGUuaAppbmRleCAzNjMxYmU3YWQw
NjU4ZDMyZmVlZjk0YjVlMzhiZTZkY2ZkMGU2NDlhLi40NzA4MDMwYmM5ZTg4NDQ2M2Q0YTAzNGQw
YmQ4NzAzYzI0MTU5Y2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZh
Y2VSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5oCkBAIC01
MSw0ICs1MSw2IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lB
TElaRV9UWVBFX1RSQUlUU19DU1NfUlVMRShDU1NGb250RmFjZVJ1bGUsIEZPTlRfRkFDRV9SVUxF
KQorCiAjZW5kaWYgLy8gQ1NTRm9udEZhY2VSdWxlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVs
ZS5oCmluZGV4IDE4YmVkYWNhOGVmNTJkNjg1MDlmMzZmNjljZTE5NjhjN2NmYjZjM2QuLmJhNzI2
Zjg3NThjMWIyOTIxMzk2YmQyMjA4ZjRhZTQzNDlkYzkzYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0lt
cG9ydFJ1bGUuaApAQCAtNTMsOCArNTMsOCBAQCBwcml2YXRlOgogICAgIG11dGFibGUgUmVmUHRy
PENTU1N0eWxlU2hlZXQ+IG1fc3R5bGVTaGVldENTU09NV3JhcHBlcjsKIH07CiAKLUNTU19SVUxF
X1RZUEVfQ0FTVFMoQ1NTSW1wb3J0UnVsZSwgQ1NTUnVsZTo6SU1QT1JUX1JVTEUpCi0KIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19DU1NfUlVMRShDU1NJ
bXBvcnRSdWxlLCBJTVBPUlRfUlVMRSkKKwogI2VuZGlmIC8vIENTU0ltcG9ydFJ1bGVfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU01lZGlhUnVsZS5oCmluZGV4IDdhNmI1MzQ4Y2JmMTcxNzA2ZmJiM2M4ZjcxMTU1
NjZjZjljYzM3YzkuLmU0ZWM3NjRlOGM3NGFhYTU4ODA1MjBiM2VjZWU4YzIzZWNkYmRmYjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmgKQEAgLTUwLDggKzUwLDggQEAgcHJpdmF0ZToKICAg
ICBtdXRhYmxlIFJlZlB0cjxNZWRpYUxpc3Q+IG1fbWVkaWFDU1NPTVdyYXBwZXI7CiB9OwogCi1D
U1NfUlVMRV9UWVBFX0NBU1RTKENTU01lZGlhUnVsZSwgQ1NTUnVsZTo6TUVESUFfUlVMRSkKLQog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NTU19SVUxF
KENTU01lZGlhUnVsZSwgTUVESUFfUlVMRSkKKwogI2VuZGlmIC8vIENTU01lZGlhUnVsZV9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1J1bGUuaAppbmRleCBjNzU4ZGNjMzNiNGM5Njc5N2QyY2Q3NDJjZDc0ZTg2MjJkYjU5
MzExLi41NGJkMTU4MTFmYjRiYzg2MmJkZTlmZDlhNmZiY2I5ZjM3ZjY5YThlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NSdWxlLmgKQEAgLTI0LDYgKzI0LDcgQEAKICNkZWZpbmUgQ1NTUnVsZV9oCiAKICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9UeXBlQ2FzdHMuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTEyLDkg
KzExMywxMSBAQCBwcml2YXRlOgogICAgIH07CiB9OwogCi0jZGVmaW5lIENTU19SVUxFX1RZUEVf
Q0FTVFMoVG9WYWx1ZVR5cGVOYW1lLCBwcmVkaWNhdGUpIFwKLSAgICBUWVBFX0NBU1RTX0JBU0Uo
VG9WYWx1ZVR5cGVOYW1lLCBDU1NSdWxlLCBydWxlLCBydWxlLT50eXBlKCkgPT0gcHJlZGljYXRl
LCBydWxlLnR5cGUoKSA9PSBwcmVkaWNhdGUpCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAor
I2RlZmluZSBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NTU19SVUxFKFRvVmFsdWVUeXBlTmFtZSwg
cHJlZGljYXRlKSBcCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlRvVmFs
dWVUeXBlTmFtZSkgXAorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpDU1NS
dWxlJiBydWxlKSB7IHJldHVybiBydWxlLnR5cGUoKSA9PSBXZWJDb3JlOjpDU1NSdWxlOjpwcmVk
aWNhdGU7IH0gXAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQorCiAjZW5kaWYgLy8gQ1NT
UnVsZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmgKaW5kZXggNTJjOTU0NjVhMDEzNWE1Mjdm
MjEwODVjY2VjZDQ1MzQ5NDkzNmY2Zi4uMDA1NTQ4ZGZiOTg4YzU4ZGE4YzA1NTE2MWJlMDA0NTk3
ZGFjNWM4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaApAQCAtNTcsOCArNTcsOCBAQCBw
cml2YXRlOgogICAgIFJlZlB0cjxTdHlsZVJ1bGVDU1NTdHlsZURlY2xhcmF0aW9uPiBtX3Byb3Bl
cnRpZXNDU1NPTVdyYXBwZXI7CiB9OwogCi1DU1NfUlVMRV9UWVBFX0NBU1RTKENTU1N0eWxlUnVs
ZSwgQ1NTUnVsZTo6U1RZTEVfUlVMRSkKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVD
SUFMSVpFX1RZUEVfVFJBSVRTX0NTU19SVUxFKENTU1N0eWxlUnVsZSwgU1RZTEVfUlVMRSkKKwog
I2VuZGlmIC8vIENTU1N0eWxlUnVsZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3VwcG9ydHNSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmgK
aW5kZXggNjU0ZjE5YzM1OTRmNmM3NmJjYWZjZjBlOWEwYjAxNDhjYThjNjNmYy4uMjA4ZjI3YjVk
NmY2MDIxNWU2YzUyZThiOGFiNWM3NTRiYmFlMDg1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1N1cHBvcnRzUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBw
b3J0c1J1bGUuaApAQCAtNTYsMTAgKzU2LDEwIEBAIHByaXZhdGU6CiAgICAgQ1NTU3VwcG9ydHNS
dWxlKFN0eWxlUnVsZVN1cHBvcnRzKiwgQ1NTU3R5bGVTaGVldCopOwogfTsKIAotQ1NTX1JVTEVf
VFlQRV9DQVNUUyhDU1NTdXBwb3J0c1J1bGUsIENTU1J1bGU6OlNVUFBPUlRTX1JVTEUpCi0KIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19DU1NfUlVMRShD
U1NTdXBwb3J0c1J1bGUsIFNVUFBPUlRTX1JVTEUpCisKICNlbmRpZiAvLyBFTkFCTEUoQ1NTM19D
T05ESVRJT05BTF9SVUxFUykKIAogI2VuZGlmIC8vIENTU1N1cHBvcnRzUnVsZV9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvSW5zcGVjdG9yQ1NTT01XcmFwcGVycy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvSW5zcGVjdG9yQ1NTT01XcmFwcGVycy5jcHAKaW5kZXggZjM5MGYxNTI3
ZjQ5OWEyZmQ3NWIwNmE4ZDdiMGQ1N2VmMGVkMjFmMC4uZGI5MzE1NDdiZjA0YjJlMDllYWNiNGFi
YzQ0YWMwYWUyNmY5MGQ2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0luc3BlY3Rv
ckNTU09NV3JhcHBlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9JbnNwZWN0b3JDU1NP
TVdyYXBwZXJzLmNwcApAQCAtNTgsMjMgKzU4LDIzIEBAIHZvaWQgSW5zcGVjdG9yQ1NTT01XcmFw
cGVyczo6Y29sbGVjdChMaXN0VHlwZSogbGlzdFR5cGUpCiAgICAgICAgIENTU1J1bGUqIGNzc1J1
bGUgPSBsaXN0VHlwZS0+aXRlbShpKTsKICAgICAgICAgc3dpdGNoIChjc3NSdWxlLT50eXBlKCkp
IHsKICAgICAgICAgY2FzZSBDU1NSdWxlOjpJTVBPUlRfUlVMRToKLSAgICAgICAgICAgIGNvbGxl
Y3QodG9DU1NJbXBvcnRSdWxlKGNzc1J1bGUpLT5zdHlsZVNoZWV0KCkpOworICAgICAgICAgICAg
Y29sbGVjdChkb3duY2FzdDxDU1NJbXBvcnRSdWxlPigqY3NzUnVsZSkuc3R5bGVTaGVldCgpKTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU1J1bGU6Ok1FRElBX1JVTEU6Ci0g
ICAgICAgICAgICBjb2xsZWN0KHRvQ1NTTWVkaWFSdWxlKGNzc1J1bGUpKTsKKyAgICAgICAgICAg
IGNvbGxlY3QoZG93bmNhc3Q8Q1NTTWVkaWFSdWxlPihjc3NSdWxlKSk7CiAgICAgICAgICAgICBi
cmVhazsKICNpZiBFTkFCTEUoQ1NTM19DT05ESVRJT05BTF9SVUxFUykKICAgICAgICAgY2FzZSBD
U1NSdWxlOjpTVVBQT1JUU19SVUxFOgotICAgICAgICAgICAgY29sbGVjdCh0b0NTU1N1cHBvcnRz
UnVsZShjc3NSdWxlKSk7CisgICAgICAgICAgICBjb2xsZWN0KGRvd25jYXN0PENTU1N1cHBvcnRz
UnVsZT4oY3NzUnVsZSkpOwogICAgICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICNpZiBFTkFCTEUo
Q1NTX1JFR0lPTlMpCiAgICAgICAgIGNhc2UgQ1NTUnVsZTo6V0VCS0lUX1JFR0lPTl9SVUxFOgot
ICAgICAgICAgICAgY29sbGVjdCh0b1dlYktpdENTU1JlZ2lvblJ1bGUoY3NzUnVsZSkpOworICAg
ICAgICAgICAgY29sbGVjdChkb3duY2FzdDxXZWJLaXRDU1NSZWdpb25SdWxlPihjc3NSdWxlKSk7
CiAgICAgICAgICAgICBicmVhazsKICNlbmRpZgogICAgICAgICBjYXNlIENTU1J1bGU6OlNUWUxF
X1JVTEU6Ci0gICAgICAgICAgICBtX3N0eWxlUnVsZVRvQ1NTT01XcmFwcGVyTWFwLmFkZCh0b0NT
U1N0eWxlUnVsZShjc3NSdWxlKS0+c3R5bGVSdWxlKCksIHRvQ1NTU3R5bGVSdWxlKGNzc1J1bGUp
KTsKKyAgICAgICAgICAgIG1fc3R5bGVSdWxlVG9DU1NPTVdyYXBwZXJNYXAuYWRkKGRvd25jYXN0
PENTU1N0eWxlUnVsZT4oKmNzc1J1bGUpLnN0eWxlUnVsZSgpLCBkb3duY2FzdDxDU1NTdHlsZVJ1
bGU+KGNzc1J1bGUpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgogICAg
ICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NT
S2V5ZnJhbWVzUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1
bGUuaAppbmRleCBlYjFmMTA0OGNhYmY5NDJlZmZjY2M2NjkwZDk5ZGYwYWI4MDBjNjMwLi4wODM2
ODU5NzgyOWUxY2I5NzdlZWU2YTRiOGRlY2VkMGMwZGFlYWYyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmgKQEAgLTk5LDQgKzk5LDYgQEAgcHJpdmF0ZToK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NTU19S
VUxFKFdlYktpdENTU0tleWZyYW1lc1J1bGUsIFdFQktJVF9LRVlGUkFNRVNfUlVMRSkKKwogI2Vu
ZGlmIC8vIFdlYktpdENTU0tleWZyYW1lc1J1bGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRD
U1NSZWdpb25SdWxlLmgKaW5kZXggZGZlODljYWI5YzliNTk4MGRhNmFiYzBlOTU3NmM0YWZiMDI0
YjA4YS4uNjVjYTM3ZDAyNTcxZTlkOTFkNzUzZDZlNDNiZjg2M2VlZmQyYWU0NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5oCkBAIC01MCw5ICs1MCw5IEBAIHByaXZh
dGU6CiAgICAgV2ViS2l0Q1NTUmVnaW9uUnVsZShTdHlsZVJ1bGVSZWdpb24qLCBDU1NTdHlsZVNo
ZWV0KiBwYXJlbnQpOwogfTsKIAotQ1NTX1JVTEVfVFlQRV9DQVNUUyhXZWJLaXRDU1NSZWdpb25S
dWxlLCBDU1NSdWxlOjpXRUJLSVRfUkVHSU9OX1JVTEUpCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKLX0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1JVTEUoV2ViS2l0Q1NTUmVnaW9uUnVs
ZSwgV0VCS0lUX1JFR0lPTl9SVUxFKQogCiAjZW5kaWYgLy8gRU5BQkxFKENTU19SRUdJT05TKQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcAppbmRl
eCA2ZWVjZDVkMzBiNjg4MDgyOGMyODM4YTUyODc1NDQ5MzY3N2FhM2M5Li44Y2I3ZDE0MzZiMzM2
YTlkN2ZiYmY4OWQ0YTA4ZWI5MGM5ZjRhZmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKQEAgLTQyOSw5ICs0MjksMTAgQEAgcHJpdmF0ZToK
IC8vIHN0YXRpYwogQ1NTU3R5bGVSdWxlKiBJbnNwZWN0b3JDU1NBZ2VudDo6YXNDU1NTdHlsZVJ1
bGUoQ1NTUnVsZSogcnVsZSkKIHsKLSAgICBpZiAocnVsZS0+dHlwZSgpICE9IENTU1J1bGU6OlNU
WUxFX1JVTEUpCisgICAgQVNTRVJUKHJ1bGUpOworICAgIGlmICghaXM8Q1NTU3R5bGVSdWxlPigq
cnVsZSkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgIHJldHVybiB0b0NTU1N0eWxlUnVs
ZShydWxlKTsKKyAgICByZXR1cm4gZG93bmNhc3Q8Q1NTU3R5bGVSdWxlPihydWxlKTsKIH0KIAog
SW5zcGVjdG9yQ1NTQWdlbnQ6Okluc3BlY3RvckNTU0FnZW50KEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudCkKQEAgLTkx
OCw5ICs5MTksOCBAQCB2b2lkIEluc3BlY3RvckNTU0FnZW50Ojpjb2xsZWN0U3R5bGVTaGVldHMo
Q1NTU3R5bGVTaGVldCogc3R5bGVTaGVldCwgSW5zcGVjdG9yOgogICAgIHJlc3VsdC0+YWRkSXRl
bShpbnNwZWN0b3JTdHlsZVNoZWV0LT5idWlsZE9iamVjdEZvclN0eWxlU2hlZXRJbmZvKCkpOwog
ICAgIGZvciAodW5zaWduZWQgaSA9IDAsIHNpemUgPSBzdHlsZVNoZWV0LT5sZW5ndGgoKTsgaSA8
IHNpemU7ICsraSkgewogICAgICAgICBDU1NSdWxlKiBydWxlID0gc3R5bGVTaGVldC0+aXRlbShp
KTsKLSAgICAgICAgaWYgKHJ1bGUtPnR5cGUoKSA9PSBDU1NSdWxlOjpJTVBPUlRfUlVMRSkgewot
ICAgICAgICAgICAgQ1NTU3R5bGVTaGVldCogaW1wb3J0ZWRTdHlsZVNoZWV0ID0gdG9DU1NJbXBv
cnRSdWxlKHJ1bGUpLT5zdHlsZVNoZWV0KCk7Ci0gICAgICAgICAgICBpZiAoaW1wb3J0ZWRTdHls
ZVNoZWV0KQorICAgICAgICBpZiAoaXM8Q1NTSW1wb3J0UnVsZT4oKnJ1bGUpKSB7CisgICAgICAg
ICAgICBpZiAoQ1NTU3R5bGVTaGVldCogaW1wb3J0ZWRTdHlsZVNoZWV0ID0gZG93bmNhc3Q8Q1NT
SW1wb3J0UnVsZT4oKnJ1bGUpLnN0eWxlU2hlZXQoKSkKICAgICAgICAgICAgICAgICBjb2xsZWN0
U3R5bGVTaGVldHMoaW1wb3J0ZWRTdHlsZVNoZWV0LCByZXN1bHQpOwogICAgICAgICB9CiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hl
ZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3Bw
CmluZGV4IDViN2ZhNmUzNzM0N2EzYTE5YTY5OTJjZWQxMzVjMDgzNjBmZjUzNWQuLmYzYWNhMDgy
YTMwYmU3YzVhYTI1MDBjYzU1YmIwN2JlMmU1MjZiZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAKQEAgLTIxNCwxNSArMjE0LDE1IEBA
IHN0YXRpYyBQYXNzUmVmUHRyPENTU1J1bGVMaXN0PiBhc0NTU1J1bGVMaXN0KENTU1J1bGUqIHJ1
bGUpCiAgICAgaWYgKCFydWxlKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIGlmIChy
dWxlLT50eXBlKCkgPT0gQ1NTUnVsZTo6TUVESUFfUlVMRSkKLSAgICAgICAgcmV0dXJuICZ0b0NT
U01lZGlhUnVsZShydWxlKS0+Y3NzUnVsZXMoKTsKKyAgICBpZiAoaXM8Q1NTTWVkaWFSdWxlPigq
cnVsZSkpCisgICAgICAgIHJldHVybiAmZG93bmNhc3Q8Q1NTTWVkaWFSdWxlPigqcnVsZSkuY3Nz
UnVsZXMoKTsKIAotICAgIGlmIChydWxlLT50eXBlKCkgPT0gQ1NTUnVsZTo6V0VCS0lUX0tFWUZS
QU1FU19SVUxFKQotICAgICAgICByZXR1cm4gJnN0YXRpY19jYXN0PFdlYktpdENTU0tleWZyYW1l
c1J1bGUqPihydWxlKS0+Y3NzUnVsZXMoKTsKKyAgICBpZiAoaXM8V2ViS2l0Q1NTS2V5ZnJhbWVz
UnVsZT4oKnJ1bGUpKQorICAgICAgICByZXR1cm4gJmRvd25jYXN0PFdlYktpdENTU0tleWZyYW1l
c1J1bGU+KCpydWxlKS5jc3NSdWxlcygpOwogCiAjaWYgRU5BQkxFKENTUzNfQ09ORElUSU9OQUxf
UlVMRVMpCi0gICAgaWYgKHJ1bGUtPnR5cGUoKSA9PSBDU1NSdWxlOjpTVVBQT1JUU19SVUxFKQot
ICAgICAgICByZXR1cm4gJnRvQ1NTU3VwcG9ydHNSdWxlKHJ1bGUpLT5jc3NSdWxlcygpOworICAg
IGlmIChpczxDU1NTdXBwb3J0c1J1bGU+KCpydWxlKSkKKyAgICAgICAgcmV0dXJuICZkb3duY2Fz
dDxDU1NTdXBwb3J0c1J1bGU+KCpydWxlKS5jc3NSdWxlcygpOwogI2VuZGlmCiAKICAgICByZXR1
cm4gbnVsbHB0cjsKQEAgLTIzNiwxNCArMjM2LDE0IEBAIHN0YXRpYyB2b2lkIGZpbGxNZWRpYUxp
c3RDaGFpbihDU1NSdWxlKiBydWxlLCBBcnJheTxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OkNT
CiAgICAgd2hpbGUgKHBhcmVudFJ1bGUpIHsKICAgICAgICAgQ1NTU3R5bGVTaGVldCogcGFyZW50
U3R5bGVTaGVldCA9IG51bGxwdHI7CiAgICAgICAgIGJvb2wgaXNNZWRpYVJ1bGUgPSB0cnVlOwot
ICAgICAgICBpZiAocGFyZW50UnVsZS0+dHlwZSgpID09IENTU1J1bGU6Ok1FRElBX1JVTEUpIHsK
LSAgICAgICAgICAgIENTU01lZGlhUnVsZSogbWVkaWFSdWxlID0gdG9DU1NNZWRpYVJ1bGUocGFy
ZW50UnVsZSk7Ci0gICAgICAgICAgICBtZWRpYUxpc3QgPSBtZWRpYVJ1bGUtPm1lZGlhKCk7Ci0g
ICAgICAgICAgICBwYXJlbnRTdHlsZVNoZWV0ID0gbWVkaWFSdWxlLT5wYXJlbnRTdHlsZVNoZWV0
KCk7Ci0gICAgICAgIH0gZWxzZSBpZiAocGFyZW50UnVsZS0+dHlwZSgpID09IENTU1J1bGU6OklN
UE9SVF9SVUxFKSB7Ci0gICAgICAgICAgICBDU1NJbXBvcnRSdWxlKiBpbXBvcnRSdWxlID0gdG9D
U1NJbXBvcnRSdWxlKHBhcmVudFJ1bGUpOwotICAgICAgICAgICAgbWVkaWFMaXN0ID0gJmltcG9y
dFJ1bGUtPm1lZGlhKCk7Ci0gICAgICAgICAgICBwYXJlbnRTdHlsZVNoZWV0ID0gaW1wb3J0UnVs
ZS0+cGFyZW50U3R5bGVTaGVldCgpOworICAgICAgICBpZiAoaXM8Q1NTTWVkaWFSdWxlPigqcGFy
ZW50UnVsZSkpIHsKKyAgICAgICAgICAgIENTU01lZGlhUnVsZSYgbWVkaWFSdWxlID0gZG93bmNh
c3Q8Q1NTTWVkaWFSdWxlPigqcGFyZW50UnVsZSk7CisgICAgICAgICAgICBtZWRpYUxpc3QgPSBt
ZWRpYVJ1bGUubWVkaWEoKTsKKyAgICAgICAgICAgIHBhcmVudFN0eWxlU2hlZXQgPSBtZWRpYVJ1
bGUucGFyZW50U3R5bGVTaGVldCgpOworICAgICAgICB9IGVsc2UgaWYgKGlzPENTU0ltcG9ydFJ1
bGU+KCpwYXJlbnRSdWxlKSkgeworICAgICAgICAgICAgQ1NTSW1wb3J0UnVsZSYgaW1wb3J0UnVs
ZSA9IGRvd25jYXN0PENTU0ltcG9ydFJ1bGU+KCpwYXJlbnRSdWxlKTsKKyAgICAgICAgICAgIG1l
ZGlhTGlzdCA9ICZpbXBvcnRSdWxlLm1lZGlhKCk7CisgICAgICAgICAgICBwYXJlbnRTdHlsZVNo
ZWV0ID0gaW1wb3J0UnVsZS5wYXJlbnRTdHlsZVNoZWV0KCk7CiAgICAgICAgICAgICBpc01lZGlh
UnVsZSA9IGZhbHNlOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIG1lZGlhTGlzdCA9IG51
bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VTZXJpYWxpemVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwCmluZGV4IDhkNDc1OGE2
ZTc0MTQzYmZlNDI1ZmFjM2FiZWFjY2MyM2EwZGY4NjMuLmJhYzRmMjEzY2MyOTliZGRlZjc0MjE0
ZWZkNDM4YTNiMzNkMTQwZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVNl
cmlhbGl6ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVNlcmlhbGl6ZXIuY3Bw
CkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUGFnZVNl
cmlhbGl6ZXIuaCIKIAorI2luY2x1ZGUgIkNTU0ZvbnRGYWNlUnVsZS5oIgogI2luY2x1ZGUgIkNT
U0ltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiQ1NT
U3R5bGVSdWxlLmgiCkBAIC0yNjUsMTcgKzI2NiwxNyBAQCB2b2lkIFBhZ2VTZXJpYWxpemVyOjpz
ZXJpYWxpemVDU1NTdHlsZVNoZWV0KENTU1N0eWxlU2hlZXQqIHN0eWxlU2hlZXQsIGNvbnN0IFVS
TAogICAgICAgICB9CiAgICAgICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHN0eWxlU2hlZXQtPm93
bmVyRG9jdW1lbnQoKTsKICAgICAgICAgLy8gU29tZSBydWxlcyBoYXZlIHJlc291cmNlcyBhc3Nv
Y2lhdGVkIHdpdGggdGhlbSB0aGF0IHdlIG5lZWQgdG8gcmV0cmlldmUuCi0gICAgICAgIGlmIChy
dWxlLT50eXBlKCkgPT0gQ1NTUnVsZTo6SU1QT1JUX1JVTEUpIHsKLSAgICAgICAgICAgIENTU0lt
cG9ydFJ1bGUqIGltcG9ydFJ1bGUgPSB0b0NTU0ltcG9ydFJ1bGUocnVsZSk7Ci0gICAgICAgICAg
ICBVUkwgaW1wb3J0VVJMID0gZG9jdW1lbnQtPmNvbXBsZXRlVVJMKGltcG9ydFJ1bGUtPmhyZWYo
KSk7CisgICAgICAgIGlmIChpczxDU1NJbXBvcnRSdWxlPigqcnVsZSkpIHsKKyAgICAgICAgICAg
IENTU0ltcG9ydFJ1bGUmIGltcG9ydFJ1bGUgPSBkb3duY2FzdDxDU1NJbXBvcnRSdWxlPigqcnVs
ZSk7CisgICAgICAgICAgICBVUkwgaW1wb3J0VVJMID0gZG9jdW1lbnQtPmNvbXBsZXRlVVJMKGlt
cG9ydFJ1bGUuaHJlZigpKTsKICAgICAgICAgICAgIGlmIChtX3Jlc291cmNlVVJMcy5jb250YWlu
cyhpbXBvcnRVUkwpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgc2Vy
aWFsaXplQ1NTU3R5bGVTaGVldChpbXBvcnRSdWxlLT5zdHlsZVNoZWV0KCksIGltcG9ydFVSTCk7
Ci0gICAgICAgIH0gZWxzZSBpZiAocnVsZS0+dHlwZSgpID09IENTU1J1bGU6OkZPTlRfRkFDRV9S
VUxFKSB7CisgICAgICAgICAgICBzZXJpYWxpemVDU1NTdHlsZVNoZWV0KGltcG9ydFJ1bGUuc3R5
bGVTaGVldCgpLCBpbXBvcnRVUkwpOworICAgICAgICB9IGVsc2UgaWYgKGlzPENTU0ZvbnRGYWNl
UnVsZT4oKnJ1bGUpKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIGZv
bnQgZmFjZSBydWxlLiBJdCBpcyBub3QgY2xlYXIgdG8gbWUgYXQgdGhpcyBwb2ludCBpZiB0aGUg
YWN0dWFsIG90Zi9lb3QgZmlsZSBjYW4KICAgICAgICAgICAgIC8vIGJlIHJldHJpZXZlZCBmcm9t
IHRoZSBDU1NGb250RmFjZVJ1bGUgb2JqZWN0LgotICAgICAgICB9IGVsc2UgaWYgKHJ1bGUtPnR5
cGUoKSA9PSBDU1NSdWxlOjpTVFlMRV9SVUxFKQotICAgICAgICAgICAgcmV0cmlldmVSZXNvdXJj
ZXNGb3JSdWxlKHRvQ1NTU3R5bGVSdWxlKHJ1bGUpLT5zdHlsZVJ1bGUoKSwgZG9jdW1lbnQpOwor
ICAgICAgICB9IGVsc2UgaWYgKGlzPENTU1N0eWxlUnVsZT4oKnJ1bGUpKQorICAgICAgICAgICAg
cmV0cmlldmVSZXNvdXJjZXNGb3JSdWxlKGRvd25jYXN0PENTU1N0eWxlUnVsZT4oKnJ1bGUpLnN0
eWxlUnVsZSgpLCBkb2N1bWVudCk7CiAgICAgfQogCiAgICAgaWYgKHVybC5pc1ZhbGlkKCkgJiYg
IW1fcmVzb3VyY2VVUkxzLmNvbnRhaW5zKHVybCkpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239163</attachid>
            <date>2014-10-02 17:33:49 -0700</date>
            <delta_ts>2014-10-02 18:03:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137364-20141002173350.patch</filename>
            <type>text/plain</type>
            <size>15141</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MjUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjAwM2JhMmJjMDAzMmFk
YWQ1YTZlYzZkNjIyNTY1MzgzMzI4Mjk1ZS4uMDkxNWJhNmJiODQxMjAyMGQ2OWQ5MDI0NGVkNjcy
OTBhMjM0Yjk3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE0LTEwLTAyICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgaXM8PigpIC8g
ZG93bmNhc3Q8PigpIGZvciBDU1NSdWxlIHN1YmNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzM2NAorCisgICAgICAgIFJldmlld2VkIGJ5
IEJlbmphbWluIFBvdWxhaW4uCisKKyAgICAgICAgVXNlIGlzPD4oKSAvIGRvd25jYXN0PD4oKSBm
dW5jdGlvbnMgZm9yIENTU1J1bGUgc3ViY2xhc3Nlcy4KKworICAgICAgICBObyBuZXcgdGVzdHMs
IG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIGNzcy9DU1NGb250RmFjZVJ1bGUuaDoK
KyAgICAgICAgKiBjc3MvQ1NTSW1wb3J0UnVsZS5oOgorICAgICAgICAqIGNzcy9DU1NNZWRpYVJ1
bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5oOgorICAgICAgICAqIGNzcy9DU1NTdHlsZVJ1
bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTU3VwcG9ydHNSdWxlLmg6CisgICAgICAgICogY3NzL0lu
c3BlY3RvckNTU09NV3JhcHBlcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ1NT
T01XcmFwcGVyczo6Y29sbGVjdCk6CisgICAgICAgICogY3NzL1dlYktpdENTU0tleWZyYW1lc1J1
bGUuaDoKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5oOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JDU1NBZ2VudDo6YXNDU1NTdHlsZVJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
Q1NTQWdlbnQ6OmNvbGxlY3RTdHlsZVNoZWV0cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JDU1NBZ2VudDo6YnVpbGRBcnJheUZvclJ1bGVMaXN0KToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yU3R5bGVTaGVldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjphc0NTU1J1bGVMaXN0
KToKKyAgICAgICAgKFdlYkNvcmU6OmZpbGxNZWRpYUxpc3RDaGFpbik6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JTdHlsZVNoZWV0OjphZGRSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvclN0eWxlU2hlZXQ6OmNvbGxlY3RGbGF0UnVsZXMpOgorICAgICAgICAqIHBhZ2UvUGFn
ZVNlcmlhbGl6ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZVNlcmlhbGl6ZXI6OnNlcmlh
bGl6ZUNTU1N0eWxlU2hlZXQpOgorCiAyMDE0LTEwLTAyICBBbmR5IEVzdGVzICA8YWVzdGVzQGFw
cGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBDcmVhdGUgYW4gU1BJIHdyYXBwZXIgZm9yIF9VSUhp
Z2hsaWdodFZpZXcgYW5kIHVzZSBpdCBpbiBXS0NvbnRlbnRWaWV3CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udEZhY2VSdWxlLmgKaW5kZXggMzYzMWJlN2FkMDY1OGQzMmZlZWY5NGI1ZTM4YmU2ZGNmZDBl
NjQ5YS4uNjM4ZTg5ODA3ZmNiNjgyMWRjZmRiZDdlMzZlMzczZDAyYzExNDAzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250RmFjZVJ1bGUuaApAQCAtNTEsNCArNTEsNiBAQCBwcml2YXRlOgogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1JVTEUo
Q1NTRm9udEZhY2VSdWxlLCBDU1NSdWxlOjpGT05UX0ZBQ0VfUlVMRSkKKwogI2VuZGlmIC8vIENT
U0ZvbnRGYWNlUnVsZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0
UnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaAppbmRleCAxOGJlZGFj
YThlZjUyZDY4NTA5ZjM2ZjY5Y2UxOTY4YzdjZmI2YzNkLi40YzRmMjYyZmQ2NzU0MDhkOTBkOWNl
OGQxYmM3ZjIyODdmM2NkYjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1w
b3J0UnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKQEAgLTUz
LDggKzUzLDggQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIFJlZlB0cjxDU1NTdHlsZVNoZWV0PiBt
X3N0eWxlU2hlZXRDU1NPTVdyYXBwZXI7CiB9OwogCi1DU1NfUlVMRV9UWVBFX0NBU1RTKENTU0lt
cG9ydFJ1bGUsIENTU1J1bGU6OklNUE9SVF9SVUxFKQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1JVTEUoQ1NTSW1wb3J0UnVsZSwgQ1NTUnVs
ZTo6SU1QT1JUX1JVTEUpCisKICNlbmRpZiAvLyBDU1NJbXBvcnRSdWxlX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NNZWRpYVJ1bGUuaAppbmRleCA3YTZiNTM0OGNiZjE3MTcwNmZiYjNjOGY3MTE1NTY2Y2Y5Y2Mz
N2M5Li5hNDIyMDcwMmUxNDViNTE5YzgxNTFiMzA4YmM1ZGU2ZDgwYTE3OGY0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU01lZGlhUnVsZS5oCkBAIC01MCw4ICs1MCw4IEBAIHByaXZhdGU6CiAgICAgbXV0YWJs
ZSBSZWZQdHI8TWVkaWFMaXN0PiBtX21lZGlhQ1NTT01XcmFwcGVyOwogfTsKIAotQ1NTX1JVTEVf
VFlQRV9DQVNUUyhDU1NNZWRpYVJ1bGUsIENTU1J1bGU6Ok1FRElBX1JVTEUpCi0KIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19DU1NfUlVMRShDU1NNZWRp
YVJ1bGUsIENTU1J1bGU6Ok1FRElBX1JVTEUpCisKICNlbmRpZiAvLyBDU1NNZWRpYVJ1bGVfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NSdWxlLmgKaW5kZXggYzc1OGRjYzMzYjRjOTY3OTdkMmNkNzQyY2Q3NGU4NjIyZGI1
OTMxMS4uMjk0NWI5ODllMzFhN2IxNjE2Y2M0YjQ0MWQ5YzBmOTRkODgyOGExYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUnVsZS5oCkBAIC0yNCw2ICsyNCw3IEBACiAjZGVmaW5lIENTU1J1bGVfaAogCiAjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVHlwZUNhc3RzLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTExMiw5
ICsxMTMsMTEgQEAgcHJpdmF0ZToKICAgICB9OwogfTsKIAotI2RlZmluZSBDU1NfUlVMRV9UWVBF
X0NBU1RTKFRvVmFsdWVUeXBlTmFtZSwgcHJlZGljYXRlKSBcCi0gICAgVFlQRV9DQVNUU19CQVNF
KFRvVmFsdWVUeXBlTmFtZSwgQ1NTUnVsZSwgcnVsZSwgcnVsZS0+dHlwZSgpID09IHByZWRpY2F0
ZSwgcnVsZS50eXBlKCkgPT0gcHJlZGljYXRlKQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
KyNkZWZpbmUgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19DU1NfUlVMRShUb1ZhbHVlVHlwZU5hbWUs
IHByZWRpY2F0ZSkgXAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpUb1Zh
bHVlVHlwZU5hbWUpIFwKKyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6Q1NT
UnVsZSYgcnVsZSkgeyByZXR1cm4gcnVsZS50eXBlKCkgPT0gV2ViQ29yZTo6cHJlZGljYXRlOyB9
IFwKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKKwogI2VuZGlmIC8vIENTU1J1bGVfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5oCmluZGV4IDUyYzk1NDY1YTAxMzVhNTI3ZjIxMDg1Y2Nl
Y2Q0NTM0OTQ5MzZmNmYuLjRkNTBmZWFjM2IwZTY1ZmJmNDQyNGRjYmViYmQ3MTM1ZjEyYzJhZDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmgKQEAgLTU3LDggKzU3LDggQEAgcHJpdmF0ZToK
ICAgICBSZWZQdHI8U3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbj4gbV9wcm9wZXJ0aWVzQ1NT
T01XcmFwcGVyOwogfTsKIAotQ1NTX1JVTEVfVFlQRV9DQVNUUyhDU1NTdHlsZVJ1bGUsIENTU1J1
bGU6OlNUWUxFX1JVTEUpCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9U
WVBFX1RSQUlUU19DU1NfUlVMRShDU1NTdHlsZVJ1bGUsIENTU1J1bGU6OlNUWUxFX1JVTEUpCisK
ICNlbmRpZiAvLyBDU1NTdHlsZVJ1bGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1N1cHBvcnRzUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVsZS5o
CmluZGV4IDY1NGYxOWMzNTk0ZjZjNzZiY2FmY2YwZTlhMGIwMTQ4Y2E4YzYzZmMuLmVmZTVjZTY0
NWI2NWQwYTY4ZDBkYmRlMTE1ZTc0ODdmZTE5YzIyZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3Vw
cG9ydHNSdWxlLmgKQEAgLTU2LDEwICs1NiwxMCBAQCBwcml2YXRlOgogICAgIENTU1N1cHBvcnRz
UnVsZShTdHlsZVJ1bGVTdXBwb3J0cyosIENTU1N0eWxlU2hlZXQqKTsKIH07CiAKLUNTU19SVUxF
X1RZUEVfQ0FTVFMoQ1NTU3VwcG9ydHNSdWxlLCBDU1NSdWxlOjpTVVBQT1JUU19SVUxFKQotCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1JVTEUo
Q1NTU3VwcG9ydHNSdWxlLCBDU1NSdWxlOjpTVVBQT1JUU19SVUxFKQorCiAjZW5kaWYgLy8gRU5B
QkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCiAKICNlbmRpZiAvLyBDU1NTdXBwb3J0c1J1bGVf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0luc3BlY3RvckNTU09NV3JhcHBlcnMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0luc3BlY3RvckNTU09NV3JhcHBlcnMuY3BwCmluZGV4
IGYzOTBmMTUyN2Y0OTlhMmZkNzViMDZhOGQ3YjBkNTdlZjBlZDIxZjAuLmRiOTMxNTQ3YmYwNGIy
ZTA5ZWFjYjRhYmM0NGFjMGFlMjZmOTBkNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9JbnNwZWN0b3JDU1NPTVdyYXBwZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvSW5z
cGVjdG9yQ1NTT01XcmFwcGVycy5jcHAKQEAgLTU4LDIzICs1OCwyMyBAQCB2b2lkIEluc3BlY3Rv
ckNTU09NV3JhcHBlcnM6OmNvbGxlY3QoTGlzdFR5cGUqIGxpc3RUeXBlKQogICAgICAgICBDU1NS
dWxlKiBjc3NSdWxlID0gbGlzdFR5cGUtPml0ZW0oaSk7CiAgICAgICAgIHN3aXRjaCAoY3NzUnVs
ZS0+dHlwZSgpKSB7CiAgICAgICAgIGNhc2UgQ1NTUnVsZTo6SU1QT1JUX1JVTEU6Ci0gICAgICAg
ICAgICBjb2xsZWN0KHRvQ1NTSW1wb3J0UnVsZShjc3NSdWxlKS0+c3R5bGVTaGVldCgpKTsKKyAg
ICAgICAgICAgIGNvbGxlY3QoZG93bmNhc3Q8Q1NTSW1wb3J0UnVsZT4oKmNzc1J1bGUpLnN0eWxl
U2hlZXQoKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NSdWxlOjpNRURJ
QV9SVUxFOgotICAgICAgICAgICAgY29sbGVjdCh0b0NTU01lZGlhUnVsZShjc3NSdWxlKSk7Cisg
ICAgICAgICAgICBjb2xsZWN0KGRvd25jYXN0PENTU01lZGlhUnVsZT4oY3NzUnVsZSkpOwogICAg
ICAgICAgICAgYnJlYWs7CiAjaWYgRU5BQkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCiAgICAg
ICAgIGNhc2UgQ1NTUnVsZTo6U1VQUE9SVFNfUlVMRToKLSAgICAgICAgICAgIGNvbGxlY3QodG9D
U1NTdXBwb3J0c1J1bGUoY3NzUnVsZSkpOworICAgICAgICAgICAgY29sbGVjdChkb3duY2FzdDxD
U1NTdXBwb3J0c1J1bGU+KGNzc1J1bGUpKTsKICAgICAgICAgICAgIGJyZWFrOwogI2VuZGlmCiAj
aWYgRU5BQkxFKENTU19SRUdJT05TKQogICAgICAgICBjYXNlIENTU1J1bGU6OldFQktJVF9SRUdJ
T05fUlVMRToKLSAgICAgICAgICAgIGNvbGxlY3QodG9XZWJLaXRDU1NSZWdpb25SdWxlKGNzc1J1
bGUpKTsKKyAgICAgICAgICAgIGNvbGxlY3QoZG93bmNhc3Q8V2ViS2l0Q1NTUmVnaW9uUnVsZT4o
Y3NzUnVsZSkpOwogICAgICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICAgICAgICAgY2FzZSBDU1NS
dWxlOjpTVFlMRV9SVUxFOgotICAgICAgICAgICAgbV9zdHlsZVJ1bGVUb0NTU09NV3JhcHBlck1h
cC5hZGQodG9DU1NTdHlsZVJ1bGUoY3NzUnVsZSktPnN0eWxlUnVsZSgpLCB0b0NTU1N0eWxlUnVs
ZShjc3NSdWxlKSk7CisgICAgICAgICAgICBtX3N0eWxlUnVsZVRvQ1NTT01XcmFwcGVyTWFwLmFk
ZChkb3duY2FzdDxDU1NTdHlsZVJ1bGU+KCpjc3NSdWxlKS5zdHlsZVJ1bGUoKSwgZG93bmNhc3Q8
Q1NTU3R5bGVSdWxlPihjc3NSdWxlKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVm
YXVsdDoKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU0tleWZyYW1lc1J1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NL
ZXlmcmFtZXNSdWxlLmgKaW5kZXggZWIxZjEwNDhjYWJmOTQyZWZmY2NjNjY5MGQ5OWRmMGFiODAw
YzYzMC4uOTNmODZiZWI5ZGY3NzYwNTcxMGI3N2ZhOTU4MGMyNjE2ZTNmMGY0MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5oCkBAIC05OSw0ICs5OSw2IEBA
IHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RS
QUlUU19DU1NfUlVMRShXZWJLaXRDU1NLZXlmcmFtZXNSdWxlLCBDU1NSdWxlOjpXRUJLSVRfS0VZ
RlJBTUVTX1JVTEUpCisKICNlbmRpZiAvLyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5oCmluZGV4IGRmZTg5Y2FiOWM5YjU5ODBk
YTZhYmMwZTk1NzZjNGFmYjAyNGIwOGEuLjQ3ODU4NDI3ODU0ZjljMzE1YjE1MTlkMDk2ZjdlNzRl
YTAwZTRkN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25S
dWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuaApAQCAt
NTAsOSArNTAsOSBAQCBwcml2YXRlOgogICAgIFdlYktpdENTU1JlZ2lvblJ1bGUoU3R5bGVSdWxl
UmVnaW9uKiwgQ1NTU3R5bGVTaGVldCogcGFyZW50KTsKIH07CiAKLUNTU19SVUxFX1RZUEVfQ0FT
VFMoV2ViS2l0Q1NTUmVnaW9uUnVsZSwgQ1NTUnVsZTo6V0VCS0lUX1JFR0lPTl9SVUxFKQorfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCi19CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NTU19SVUxF
KFdlYktpdENTU1JlZ2lvblJ1bGUsIENTU1J1bGU6OldFQktJVF9SRUdJT05fUlVMRSkKIAogI2Vu
ZGlmIC8vIEVOQUJMRShDU1NfUkVHSU9OUykKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5kZXggNmVlY2Q1ZDMwYjY4ODA4MjhjMjgzOGE1Mjg3
NTQ0OTM2NzdhYTNjOS4uOWU1Njg3ZGE0N2IxN2E1ZTljOGFlNzk1MDg2ZGE5NzJmYzU2MTEyZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBA
IC00MjcsMTEgKzQyNywxMSBAQCBwcml2YXRlOgogfTsKIAogLy8gc3RhdGljCi1DU1NTdHlsZVJ1
bGUqIEluc3BlY3RvckNTU0FnZW50Ojphc0NTU1N0eWxlUnVsZShDU1NSdWxlKiBydWxlKQorQ1NT
U3R5bGVSdWxlKiBJbnNwZWN0b3JDU1NBZ2VudDo6YXNDU1NTdHlsZVJ1bGUoQ1NTUnVsZSYgcnVs
ZSkKIHsKLSAgICBpZiAocnVsZS0+dHlwZSgpICE9IENTU1J1bGU6OlNUWUxFX1JVTEUpCisgICAg
aWYgKCFpczxDU1NTdHlsZVJ1bGU+KHJ1bGUpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAg
ICByZXR1cm4gdG9DU1NTdHlsZVJ1bGUocnVsZSk7CisgICAgcmV0dXJuIGRvd25jYXN0PENTU1N0
eWxlUnVsZT4oJnJ1bGUpOwogfQogCiBJbnNwZWN0b3JDU1NBZ2VudDo6SW5zcGVjdG9yQ1NTQWdl
bnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yRE9N
QWdlbnQqIGRvbUFnZW50KQpAQCAtOTE4LDkgKzkxOCw4IEBAIHZvaWQgSW5zcGVjdG9yQ1NTQWdl
bnQ6OmNvbGxlY3RTdHlsZVNoZWV0cyhDU1NTdHlsZVNoZWV0KiBzdHlsZVNoZWV0LCBJbnNwZWN0
b3I6CiAgICAgcmVzdWx0LT5hZGRJdGVtKGluc3BlY3RvclN0eWxlU2hlZXQtPmJ1aWxkT2JqZWN0
Rm9yU3R5bGVTaGVldEluZm8oKSk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMCwgc2l6ZSA9IHN0
eWxlU2hlZXQtPmxlbmd0aCgpOyBpIDwgc2l6ZTsgKytpKSB7CiAgICAgICAgIENTU1J1bGUqIHJ1
bGUgPSBzdHlsZVNoZWV0LT5pdGVtKGkpOwotICAgICAgICBpZiAocnVsZS0+dHlwZSgpID09IENT
U1J1bGU6OklNUE9SVF9SVUxFKSB7Ci0gICAgICAgICAgICBDU1NTdHlsZVNoZWV0KiBpbXBvcnRl
ZFN0eWxlU2hlZXQgPSB0b0NTU0ltcG9ydFJ1bGUocnVsZSktPnN0eWxlU2hlZXQoKTsKLSAgICAg
ICAgICAgIGlmIChpbXBvcnRlZFN0eWxlU2hlZXQpCisgICAgICAgIGlmIChpczxDU1NJbXBvcnRS
dWxlPigqcnVsZSkpIHsKKyAgICAgICAgICAgIGlmIChDU1NTdHlsZVNoZWV0KiBpbXBvcnRlZFN0
eWxlU2hlZXQgPSBkb3duY2FzdDxDU1NJbXBvcnRSdWxlPigqcnVsZSkuc3R5bGVTaGVldCgpKQog
ICAgICAgICAgICAgICAgIGNvbGxlY3RTdHlsZVNoZWV0cyhpbXBvcnRlZFN0eWxlU2hlZXQsIHJl
c3VsdCk7CiAgICAgICAgIH0KICAgICB9CkBAIC0xMDQ2LDcgKzEwNDUsNyBAQCBQYXNzUmVmUHRy
PEluc3BlY3Rvcjo6UHJvdG9jb2w6OkFycmF5PEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NT
UnVsZT4+IEluc3BlYwogICAgICAgICByZXR1cm4gcmVzdWx0LnJlbGVhc2UoKTsKIAogICAgIGZv
ciAodW5zaWduZWQgaSA9IDAsIHNpemUgPSBydWxlTGlzdC0+bGVuZ3RoKCk7IGkgPCBzaXplOyAr
K2kpIHsKLSAgICAgICAgQ1NTU3R5bGVSdWxlKiBydWxlID0gYXNDU1NTdHlsZVJ1bGUocnVsZUxp
c3QtPml0ZW0oaSkpOworICAgICAgICBDU1NTdHlsZVJ1bGUqIHJ1bGUgPSBhc0NTU1N0eWxlUnVs
ZSgqcnVsZUxpc3QtPml0ZW0oaSkpOwogICAgICAgICBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2Nv
bDo6Q1NTOjpDU1NSdWxlPiBydWxlT2JqZWN0ID0gYnVpbGRPYmplY3RGb3JSdWxlKHJ1bGUpOwog
ICAgICAgICBpZiAoIXJ1bGVPYmplY3QpCiAgICAgICAgICAgICBjb250aW51ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcAppbmRleCA1Yjdm
YTZlMzczNDdhM2ExOWE2OTkyY2VkMTM1YzA4MzYwZmY1MzVkLi42ODMwZjZmNzgzMWYwZGQ2NWJi
ODUwN2E0ZjUxNjNlZjY0NmFkMzI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclN0eWxlU2hlZXQuY3BwCkBAIC0yMTQsMTUgKzIxNCwxNSBAQCBzdGF0aWMgUGFz
c1JlZlB0cjxDU1NSdWxlTGlzdD4gYXNDU1NSdWxlTGlzdChDU1NSdWxlKiBydWxlKQogICAgIGlm
ICghcnVsZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBpZiAocnVsZS0+dHlwZSgp
ID09IENTU1J1bGU6Ok1FRElBX1JVTEUpCi0gICAgICAgIHJldHVybiAmdG9DU1NNZWRpYVJ1bGUo
cnVsZSktPmNzc1J1bGVzKCk7CisgICAgaWYgKGlzPENTU01lZGlhUnVsZT4oKnJ1bGUpKQorICAg
ICAgICByZXR1cm4gJmRvd25jYXN0PENTU01lZGlhUnVsZT4oKnJ1bGUpLmNzc1J1bGVzKCk7CiAK
LSAgICBpZiAocnVsZS0+dHlwZSgpID09IENTU1J1bGU6OldFQktJVF9LRVlGUkFNRVNfUlVMRSkK
LSAgICAgICAgcmV0dXJuICZzdGF0aWNfY2FzdDxXZWJLaXRDU1NLZXlmcmFtZXNSdWxlKj4ocnVs
ZSktPmNzc1J1bGVzKCk7CisgICAgaWYgKGlzPFdlYktpdENTU0tleWZyYW1lc1J1bGU+KCpydWxl
KSkKKyAgICAgICAgcmV0dXJuICZkb3duY2FzdDxXZWJLaXRDU1NLZXlmcmFtZXNSdWxlPigqcnVs
ZSkuY3NzUnVsZXMoKTsKIAogI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVTKQotICAg
IGlmIChydWxlLT50eXBlKCkgPT0gQ1NTUnVsZTo6U1VQUE9SVFNfUlVMRSkKLSAgICAgICAgcmV0
dXJuICZ0b0NTU1N1cHBvcnRzUnVsZShydWxlKS0+Y3NzUnVsZXMoKTsKKyAgICBpZiAoaXM8Q1NT
U3VwcG9ydHNSdWxlPigqcnVsZSkpCisgICAgICAgIHJldHVybiAmZG93bmNhc3Q8Q1NTU3VwcG9y
dHNSdWxlPigqcnVsZSkuY3NzUnVsZXMoKTsKICNlbmRpZgogCiAgICAgcmV0dXJuIG51bGxwdHI7
CkBAIC0yMzYsMTQgKzIzNiwxNCBAQCBzdGF0aWMgdm9pZCBmaWxsTWVkaWFMaXN0Q2hhaW4oQ1NT
UnVsZSogcnVsZSwgQXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpDUwogICAgIHdoaWxl
IChwYXJlbnRSdWxlKSB7CiAgICAgICAgIENTU1N0eWxlU2hlZXQqIHBhcmVudFN0eWxlU2hlZXQg
PSBudWxscHRyOwogICAgICAgICBib29sIGlzTWVkaWFSdWxlID0gdHJ1ZTsKLSAgICAgICAgaWYg
KHBhcmVudFJ1bGUtPnR5cGUoKSA9PSBDU1NSdWxlOjpNRURJQV9SVUxFKSB7Ci0gICAgICAgICAg
ICBDU1NNZWRpYVJ1bGUqIG1lZGlhUnVsZSA9IHRvQ1NTTWVkaWFSdWxlKHBhcmVudFJ1bGUpOwot
ICAgICAgICAgICAgbWVkaWFMaXN0ID0gbWVkaWFSdWxlLT5tZWRpYSgpOwotICAgICAgICAgICAg
cGFyZW50U3R5bGVTaGVldCA9IG1lZGlhUnVsZS0+cGFyZW50U3R5bGVTaGVldCgpOwotICAgICAg
ICB9IGVsc2UgaWYgKHBhcmVudFJ1bGUtPnR5cGUoKSA9PSBDU1NSdWxlOjpJTVBPUlRfUlVMRSkg
ewotICAgICAgICAgICAgQ1NTSW1wb3J0UnVsZSogaW1wb3J0UnVsZSA9IHRvQ1NTSW1wb3J0UnVs
ZShwYXJlbnRSdWxlKTsKLSAgICAgICAgICAgIG1lZGlhTGlzdCA9ICZpbXBvcnRSdWxlLT5tZWRp
YSgpOwotICAgICAgICAgICAgcGFyZW50U3R5bGVTaGVldCA9IGltcG9ydFJ1bGUtPnBhcmVudFN0
eWxlU2hlZXQoKTsKKyAgICAgICAgaWYgKGlzPENTU01lZGlhUnVsZT4oKnBhcmVudFJ1bGUpKSB7
CisgICAgICAgICAgICBDU1NNZWRpYVJ1bGUmIG1lZGlhUnVsZSA9IGRvd25jYXN0PENTU01lZGlh
UnVsZT4oKnBhcmVudFJ1bGUpOworICAgICAgICAgICAgbWVkaWFMaXN0ID0gbWVkaWFSdWxlLm1l
ZGlhKCk7CisgICAgICAgICAgICBwYXJlbnRTdHlsZVNoZWV0ID0gbWVkaWFSdWxlLnBhcmVudFN0
eWxlU2hlZXQoKTsKKyAgICAgICAgfSBlbHNlIGlmIChpczxDU1NJbXBvcnRSdWxlPigqcGFyZW50
UnVsZSkpIHsKKyAgICAgICAgICAgIENTU0ltcG9ydFJ1bGUmIGltcG9ydFJ1bGUgPSBkb3duY2Fz
dDxDU1NJbXBvcnRSdWxlPigqcGFyZW50UnVsZSk7CisgICAgICAgICAgICBtZWRpYUxpc3QgPSAm
aW1wb3J0UnVsZS5tZWRpYSgpOworICAgICAgICAgICAgcGFyZW50U3R5bGVTaGVldCA9IGltcG9y
dFJ1bGUucGFyZW50U3R5bGVTaGVldCgpOwogICAgICAgICAgICAgaXNNZWRpYVJ1bGUgPSBmYWxz
ZTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBtZWRpYUxpc3QgPSBudWxscHRyOwpAQCAt
ODkyLDcgKzg5Miw3IEBAIENTU1N0eWxlUnVsZSogSW5zcGVjdG9yU3R5bGVTaGVldDo6YWRkUnVs
ZShjb25zdCBTdHJpbmcmIHNlbGVjdG9yLCBFeGNlcHRpb25Db2RlCiAgICAgQ1NTUnVsZSogcnVs
ZSA9IG1fcGFnZVN0eWxlU2hlZXQtPml0ZW0obGFzdFJ1bGVJbmRleCk7CiAgICAgQVNTRVJUKHJ1
bGUpOwogCi0gICAgQ1NTU3R5bGVSdWxlKiBzdHlsZVJ1bGUgPSBJbnNwZWN0b3JDU1NBZ2VudDo6
YXNDU1NTdHlsZVJ1bGUocnVsZSk7CisgICAgQ1NTU3R5bGVSdWxlKiBzdHlsZVJ1bGUgPSBJbnNw
ZWN0b3JDU1NBZ2VudDo6YXNDU1NTdHlsZVJ1bGUoKnJ1bGUpOwogICAgIGlmICghc3R5bGVSdWxl
KSB7CiAgICAgICAgIC8vIFdoYXQgd2UganVzdCBhZGRlZCBoYXMgdG8gYmUgYSBDU1NTdHlsZVJ1
bGUgLSB3ZSBjYW5ub3QgaGFuZGxlIG90aGVyIHR5cGVzIG9mIHJ1bGVzIHlldC4KICAgICAgICAg
Ly8gSWYgaXQgaXMgbm90IGEgc3R5bGUgcnVsZSwgcHJldGVuZCB3ZSBuZXZlciB0b3VjaGVkIHRo
ZSBzdHlsZXNoZWV0LgpAQCAtMTQyMSw3ICsxNDIxLDcgQEAgdm9pZCBJbnNwZWN0b3JTdHlsZVNo
ZWV0Ojpjb2xsZWN0RmxhdFJ1bGVzKFBhc3NSZWZQdHI8Q1NTUnVsZUxpc3Q+IHJ1bGVMaXN0LCBD
U1MKIAogICAgIGZvciAodW5zaWduZWQgaSA9IDAsIHNpemUgPSBydWxlTGlzdC0+bGVuZ3RoKCk7
IGkgPCBzaXplOyArK2kpIHsKICAgICAgICAgQ1NTUnVsZSogcnVsZSA9IHJ1bGVMaXN0LT5pdGVt
KGkpOwotICAgICAgICBDU1NTdHlsZVJ1bGUqIHN0eWxlUnVsZSA9IEluc3BlY3RvckNTU0FnZW50
Ojphc0NTU1N0eWxlUnVsZShydWxlKTsKKyAgICAgICAgQ1NTU3R5bGVSdWxlKiBzdHlsZVJ1bGUg
PSBJbnNwZWN0b3JDU1NBZ2VudDo6YXNDU1NTdHlsZVJ1bGUoKnJ1bGUpOwogICAgICAgICBpZiAo
c3R5bGVSdWxlKQogICAgICAgICAgICAgcmVzdWx0LT5hcHBlbmQoc3R5bGVSdWxlKTsKICAgICAg
ICAgZWxzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VTZXJpYWxpemVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwCmluZGV4IDhkNDc1
OGE2ZTc0MTQzYmZlNDI1ZmFjM2FiZWFjY2MyM2EwZGY4NjMuLmJhYzRmMjEzY2MyOTliZGRlZjc0
MjE0ZWZkNDM4YTNiMzNkMTQwZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZVNlcmlhbGl6ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVNlcmlhbGl6ZXIu
Y3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUGFn
ZVNlcmlhbGl6ZXIuaCIKIAorI2luY2x1ZGUgIkNTU0ZvbnRGYWNlUnVsZS5oIgogI2luY2x1ZGUg
IkNTU0ltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAi
Q1NTU3R5bGVSdWxlLmgiCkBAIC0yNjUsMTcgKzI2NiwxNyBAQCB2b2lkIFBhZ2VTZXJpYWxpemVy
OjpzZXJpYWxpemVDU1NTdHlsZVNoZWV0KENTU1N0eWxlU2hlZXQqIHN0eWxlU2hlZXQsIGNvbnN0
IFVSTAogICAgICAgICB9CiAgICAgICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHN0eWxlU2hlZXQt
Pm93bmVyRG9jdW1lbnQoKTsKICAgICAgICAgLy8gU29tZSBydWxlcyBoYXZlIHJlc291cmNlcyBh
c3NvY2lhdGVkIHdpdGggdGhlbSB0aGF0IHdlIG5lZWQgdG8gcmV0cmlldmUuCi0gICAgICAgIGlm
IChydWxlLT50eXBlKCkgPT0gQ1NTUnVsZTo6SU1QT1JUX1JVTEUpIHsKLSAgICAgICAgICAgIENT
U0ltcG9ydFJ1bGUqIGltcG9ydFJ1bGUgPSB0b0NTU0ltcG9ydFJ1bGUocnVsZSk7Ci0gICAgICAg
ICAgICBVUkwgaW1wb3J0VVJMID0gZG9jdW1lbnQtPmNvbXBsZXRlVVJMKGltcG9ydFJ1bGUtPmhy
ZWYoKSk7CisgICAgICAgIGlmIChpczxDU1NJbXBvcnRSdWxlPigqcnVsZSkpIHsKKyAgICAgICAg
ICAgIENTU0ltcG9ydFJ1bGUmIGltcG9ydFJ1bGUgPSBkb3duY2FzdDxDU1NJbXBvcnRSdWxlPigq
cnVsZSk7CisgICAgICAgICAgICBVUkwgaW1wb3J0VVJMID0gZG9jdW1lbnQtPmNvbXBsZXRlVVJM
KGltcG9ydFJ1bGUuaHJlZigpKTsKICAgICAgICAgICAgIGlmIChtX3Jlc291cmNlVVJMcy5jb250
YWlucyhpbXBvcnRVUkwpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAg
c2VyaWFsaXplQ1NTU3R5bGVTaGVldChpbXBvcnRSdWxlLT5zdHlsZVNoZWV0KCksIGltcG9ydFVS
TCk7Ci0gICAgICAgIH0gZWxzZSBpZiAocnVsZS0+dHlwZSgpID09IENTU1J1bGU6OkZPTlRfRkFD
RV9SVUxFKSB7CisgICAgICAgICAgICBzZXJpYWxpemVDU1NTdHlsZVNoZWV0KGltcG9ydFJ1bGUu
c3R5bGVTaGVldCgpLCBpbXBvcnRVUkwpOworICAgICAgICB9IGVsc2UgaWYgKGlzPENTU0ZvbnRG
YWNlUnVsZT4oKnJ1bGUpKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9y
IGZvbnQgZmFjZSBydWxlLiBJdCBpcyBub3QgY2xlYXIgdG8gbWUgYXQgdGhpcyBwb2ludCBpZiB0
aGUgYWN0dWFsIG90Zi9lb3QgZmlsZSBjYW4KICAgICAgICAgICAgIC8vIGJlIHJldHJpZXZlZCBm
cm9tIHRoZSBDU1NGb250RmFjZVJ1bGUgb2JqZWN0LgotICAgICAgICB9IGVsc2UgaWYgKHJ1bGUt
PnR5cGUoKSA9PSBDU1NSdWxlOjpTVFlMRV9SVUxFKQotICAgICAgICAgICAgcmV0cmlldmVSZXNv
dXJjZXNGb3JSdWxlKHRvQ1NTU3R5bGVSdWxlKHJ1bGUpLT5zdHlsZVJ1bGUoKSwgZG9jdW1lbnQp
OworICAgICAgICB9IGVsc2UgaWYgKGlzPENTU1N0eWxlUnVsZT4oKnJ1bGUpKQorICAgICAgICAg
ICAgcmV0cmlldmVSZXNvdXJjZXNGb3JSdWxlKGRvd25jYXN0PENTU1N0eWxlUnVsZT4oKnJ1bGUp
LnN0eWxlUnVsZSgpLCBkb2N1bWVudCk7CiAgICAgfQogCiAgICAgaWYgKHVybC5pc1ZhbGlkKCkg
JiYgIW1fcmVzb3VyY2VVUkxzLmNvbnRhaW5zKHVybCkpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239167</attachid>
            <date>2014-10-02 18:03:08 -0700</date>
            <delta_ts>2014-10-02 18:40:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137364-20141002180310.patch</filename>
            <type>text/plain</type>
            <size>15873</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MjUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjAwM2JhMmJjMDAzMmFk
YWQ1YTZlYzZkNjIyNTY1MzgzMzI4Mjk1ZS4uMDkxNWJhNmJiODQxMjAyMGQ2OWQ5MDI0NGVkNjcy
OTBhMjM0Yjk3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE0LTEwLTAyICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBVc2UgaXM8PigpIC8g
ZG93bmNhc3Q8PigpIGZvciBDU1NSdWxlIHN1YmNsYXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzM2NAorCisgICAgICAgIFJldmlld2VkIGJ5
IEJlbmphbWluIFBvdWxhaW4uCisKKyAgICAgICAgVXNlIGlzPD4oKSAvIGRvd25jYXN0PD4oKSBm
dW5jdGlvbnMgZm9yIENTU1J1bGUgc3ViY2xhc3Nlcy4KKworICAgICAgICBObyBuZXcgdGVzdHMs
IG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIGNzcy9DU1NGb250RmFjZVJ1bGUuaDoK
KyAgICAgICAgKiBjc3MvQ1NTSW1wb3J0UnVsZS5oOgorICAgICAgICAqIGNzcy9DU1NNZWRpYVJ1
bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5oOgorICAgICAgICAqIGNzcy9DU1NTdHlsZVJ1
bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTU3VwcG9ydHNSdWxlLmg6CisgICAgICAgICogY3NzL0lu
c3BlY3RvckNTU09NV3JhcHBlcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ1NT
T01XcmFwcGVyczo6Y29sbGVjdCk6CisgICAgICAgICogY3NzL1dlYktpdENTU0tleWZyYW1lc1J1
bGUuaDoKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5oOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JDU1NBZ2VudDo6YXNDU1NTdHlsZVJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
Q1NTQWdlbnQ6OmNvbGxlY3RTdHlsZVNoZWV0cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JDU1NBZ2VudDo6YnVpbGRBcnJheUZvclJ1bGVMaXN0KToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yU3R5bGVTaGVldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjphc0NTU1J1bGVMaXN0
KToKKyAgICAgICAgKFdlYkNvcmU6OmZpbGxNZWRpYUxpc3RDaGFpbik6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JTdHlsZVNoZWV0OjphZGRSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvclN0eWxlU2hlZXQ6OmNvbGxlY3RGbGF0UnVsZXMpOgorICAgICAgICAqIHBhZ2UvUGFn
ZVNlcmlhbGl6ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZVNlcmlhbGl6ZXI6OnNlcmlh
bGl6ZUNTU1N0eWxlU2hlZXQpOgorCiAyMDE0LTEwLTAyICBBbmR5IEVzdGVzICA8YWVzdGVzQGFw
cGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBDcmVhdGUgYW4gU1BJIHdyYXBwZXIgZm9yIF9VSUhp
Z2hsaWdodFZpZXcgYW5kIHVzZSBpdCBpbiBXS0NvbnRlbnRWaWV3CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udEZhY2VSdWxlLmgKaW5kZXggMzYzMWJlN2FkMDY1OGQzMmZlZWY5NGI1ZTM4YmU2ZGNmZDBl
NjQ5YS4uNjM4ZTg5ODA3ZmNiNjgyMWRjZmRiZDdlMzZlMzczZDAyYzExNDAzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250RmFjZVJ1bGUuaApAQCAtNTEsNCArNTEsNiBAQCBwcml2YXRlOgogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1JVTEUo
Q1NTRm9udEZhY2VSdWxlLCBDU1NSdWxlOjpGT05UX0ZBQ0VfUlVMRSkKKwogI2VuZGlmIC8vIENT
U0ZvbnRGYWNlUnVsZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0
UnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuaAppbmRleCAxOGJlZGFj
YThlZjUyZDY4NTA5ZjM2ZjY5Y2UxOTY4YzdjZmI2YzNkLi40YzRmMjYyZmQ2NzU0MDhkOTBkOWNl
OGQxYmM3ZjIyODdmM2NkYjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1w
b3J0UnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKQEAgLTUz
LDggKzUzLDggQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIFJlZlB0cjxDU1NTdHlsZVNoZWV0PiBt
X3N0eWxlU2hlZXRDU1NPTVdyYXBwZXI7CiB9OwogCi1DU1NfUlVMRV9UWVBFX0NBU1RTKENTU0lt
cG9ydFJ1bGUsIENTU1J1bGU6OklNUE9SVF9SVUxFKQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1JVTEUoQ1NTSW1wb3J0UnVsZSwgQ1NTUnVs
ZTo6SU1QT1JUX1JVTEUpCisKICNlbmRpZiAvLyBDU1NJbXBvcnRSdWxlX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NNZWRpYVJ1bGUuaAppbmRleCA3YTZiNTM0OGNiZjE3MTcwNmZiYjNjOGY3MTE1NTY2Y2Y5Y2Mz
N2M5Li5hNDIyMDcwMmUxNDViNTE5YzgxNTFiMzA4YmM1ZGU2ZDgwYTE3OGY0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU01lZGlhUnVsZS5oCkBAIC01MCw4ICs1MCw4IEBAIHByaXZhdGU6CiAgICAgbXV0YWJs
ZSBSZWZQdHI8TWVkaWFMaXN0PiBtX21lZGlhQ1NTT01XcmFwcGVyOwogfTsKIAotQ1NTX1JVTEVf
VFlQRV9DQVNUUyhDU1NNZWRpYVJ1bGUsIENTU1J1bGU6Ok1FRElBX1JVTEUpCi0KIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19DU1NfUlVMRShDU1NNZWRp
YVJ1bGUsIENTU1J1bGU6Ok1FRElBX1JVTEUpCisKICNlbmRpZiAvLyBDU1NNZWRpYVJ1bGVfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NSdWxlLmgKaW5kZXggYzc1OGRjYzMzYjRjOTY3OTdkMmNkNzQyY2Q3NGU4NjIyZGI1
OTMxMS4uMjk0NWI5ODllMzFhN2IxNjE2Y2M0YjQ0MWQ5YzBmOTRkODgyOGExYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUnVsZS5oCkBAIC0yNCw2ICsyNCw3IEBACiAjZGVmaW5lIENTU1J1bGVfaAogCiAjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVHlwZUNhc3RzLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTExMiw5
ICsxMTMsMTEgQEAgcHJpdmF0ZToKICAgICB9OwogfTsKIAotI2RlZmluZSBDU1NfUlVMRV9UWVBF
X0NBU1RTKFRvVmFsdWVUeXBlTmFtZSwgcHJlZGljYXRlKSBcCi0gICAgVFlQRV9DQVNUU19CQVNF
KFRvVmFsdWVUeXBlTmFtZSwgQ1NTUnVsZSwgcnVsZSwgcnVsZS0+dHlwZSgpID09IHByZWRpY2F0
ZSwgcnVsZS50eXBlKCkgPT0gcHJlZGljYXRlKQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
KyNkZWZpbmUgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19DU1NfUlVMRShUb1ZhbHVlVHlwZU5hbWUs
IHByZWRpY2F0ZSkgXAorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpUb1Zh
bHVlVHlwZU5hbWUpIFwKKyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6Q1NT
UnVsZSYgcnVsZSkgeyByZXR1cm4gcnVsZS50eXBlKCkgPT0gV2ViQ29yZTo6cHJlZGljYXRlOyB9
IFwKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKKwogI2VuZGlmIC8vIENTU1J1bGVfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5oCmluZGV4IDUyYzk1NDY1YTAxMzVhNTI3ZjIxMDg1Y2Nl
Y2Q0NTM0OTQ5MzZmNmYuLjRkNTBmZWFjM2IwZTY1ZmJmNDQyNGRjYmViYmQ3MTM1ZjEyYzJhZDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmgKQEAgLTU3LDggKzU3LDggQEAgcHJpdmF0ZToK
ICAgICBSZWZQdHI8U3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbj4gbV9wcm9wZXJ0aWVzQ1NT
T01XcmFwcGVyOwogfTsKIAotQ1NTX1JVTEVfVFlQRV9DQVNUUyhDU1NTdHlsZVJ1bGUsIENTU1J1
bGU6OlNUWUxFX1JVTEUpCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9U
WVBFX1RSQUlUU19DU1NfUlVMRShDU1NTdHlsZVJ1bGUsIENTU1J1bGU6OlNUWUxFX1JVTEUpCisK
ICNlbmRpZiAvLyBDU1NTdHlsZVJ1bGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1N1cHBvcnRzUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVsZS5o
CmluZGV4IDY1NGYxOWMzNTk0ZjZjNzZiY2FmY2YwZTlhMGIwMTQ4Y2E4YzYzZmMuLmVmZTVjZTY0
NWI2NWQwYTY4ZDBkYmRlMTE1ZTc0ODdmZTE5YzIyZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3Vw
cG9ydHNSdWxlLmgKQEAgLTU2LDEwICs1NiwxMCBAQCBwcml2YXRlOgogICAgIENTU1N1cHBvcnRz
UnVsZShTdHlsZVJ1bGVTdXBwb3J0cyosIENTU1N0eWxlU2hlZXQqKTsKIH07CiAKLUNTU19SVUxF
X1RZUEVfQ0FTVFMoQ1NTU3VwcG9ydHNSdWxlLCBDU1NSdWxlOjpTVVBQT1JUU19SVUxFKQotCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ1NTX1JVTEUo
Q1NTU3VwcG9ydHNSdWxlLCBDU1NSdWxlOjpTVVBQT1JUU19SVUxFKQorCiAjZW5kaWYgLy8gRU5B
QkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCiAKICNlbmRpZiAvLyBDU1NTdXBwb3J0c1J1bGVf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0luc3BlY3RvckNTU09NV3JhcHBlcnMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0luc3BlY3RvckNTU09NV3JhcHBlcnMuY3BwCmluZGV4
IGYzOTBmMTUyN2Y0OTlhMmZkNzViMDZhOGQ3YjBkNTdlZjBlZDIxZjAuLmRiOTMxNTQ3YmYwNGIy
ZTA5ZWFjYjRhYmM0NGFjMGFlMjZmOTBkNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9JbnNwZWN0b3JDU1NPTVdyYXBwZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvSW5z
cGVjdG9yQ1NTT01XcmFwcGVycy5jcHAKQEAgLTU4LDIzICs1OCwyMyBAQCB2b2lkIEluc3BlY3Rv
ckNTU09NV3JhcHBlcnM6OmNvbGxlY3QoTGlzdFR5cGUqIGxpc3RUeXBlKQogICAgICAgICBDU1NS
dWxlKiBjc3NSdWxlID0gbGlzdFR5cGUtPml0ZW0oaSk7CiAgICAgICAgIHN3aXRjaCAoY3NzUnVs
ZS0+dHlwZSgpKSB7CiAgICAgICAgIGNhc2UgQ1NTUnVsZTo6SU1QT1JUX1JVTEU6Ci0gICAgICAg
ICAgICBjb2xsZWN0KHRvQ1NTSW1wb3J0UnVsZShjc3NSdWxlKS0+c3R5bGVTaGVldCgpKTsKKyAg
ICAgICAgICAgIGNvbGxlY3QoZG93bmNhc3Q8Q1NTSW1wb3J0UnVsZT4oKmNzc1J1bGUpLnN0eWxl
U2hlZXQoKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NSdWxlOjpNRURJ
QV9SVUxFOgotICAgICAgICAgICAgY29sbGVjdCh0b0NTU01lZGlhUnVsZShjc3NSdWxlKSk7Cisg
ICAgICAgICAgICBjb2xsZWN0KGRvd25jYXN0PENTU01lZGlhUnVsZT4oY3NzUnVsZSkpOwogICAg
ICAgICAgICAgYnJlYWs7CiAjaWYgRU5BQkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCiAgICAg
ICAgIGNhc2UgQ1NTUnVsZTo6U1VQUE9SVFNfUlVMRToKLSAgICAgICAgICAgIGNvbGxlY3QodG9D
U1NTdXBwb3J0c1J1bGUoY3NzUnVsZSkpOworICAgICAgICAgICAgY29sbGVjdChkb3duY2FzdDxD
U1NTdXBwb3J0c1J1bGU+KGNzc1J1bGUpKTsKICAgICAgICAgICAgIGJyZWFrOwogI2VuZGlmCiAj
aWYgRU5BQkxFKENTU19SRUdJT05TKQogICAgICAgICBjYXNlIENTU1J1bGU6OldFQktJVF9SRUdJ
T05fUlVMRToKLSAgICAgICAgICAgIGNvbGxlY3QodG9XZWJLaXRDU1NSZWdpb25SdWxlKGNzc1J1
bGUpKTsKKyAgICAgICAgICAgIGNvbGxlY3QoZG93bmNhc3Q8V2ViS2l0Q1NTUmVnaW9uUnVsZT4o
Y3NzUnVsZSkpOwogICAgICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICAgICAgICAgY2FzZSBDU1NS
dWxlOjpTVFlMRV9SVUxFOgotICAgICAgICAgICAgbV9zdHlsZVJ1bGVUb0NTU09NV3JhcHBlck1h
cC5hZGQodG9DU1NTdHlsZVJ1bGUoY3NzUnVsZSktPnN0eWxlUnVsZSgpLCB0b0NTU1N0eWxlUnVs
ZShjc3NSdWxlKSk7CisgICAgICAgICAgICBtX3N0eWxlUnVsZVRvQ1NTT01XcmFwcGVyTWFwLmFk
ZChkb3duY2FzdDxDU1NTdHlsZVJ1bGU+KCpjc3NSdWxlKS5zdHlsZVJ1bGUoKSwgZG93bmNhc3Q8
Q1NTU3R5bGVSdWxlPihjc3NSdWxlKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVm
YXVsdDoKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU0tleWZyYW1lc1J1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NL
ZXlmcmFtZXNSdWxlLmgKaW5kZXggZWIxZjEwNDhjYWJmOTQyZWZmY2NjNjY5MGQ5OWRmMGFiODAw
YzYzMC4uOTNmODZiZWI5ZGY3NzYwNTcxMGI3N2ZhOTU4MGMyNjE2ZTNmMGY0MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5oCkBAIC05OSw0ICs5OSw2IEBA
IHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAorU1BFQ0lBTElaRV9UWVBFX1RS
QUlUU19DU1NfUlVMRShXZWJLaXRDU1NLZXlmcmFtZXNSdWxlLCBDU1NSdWxlOjpXRUJLSVRfS0VZ
RlJBTUVTX1JVTEUpCisKICNlbmRpZiAvLyBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5oCmluZGV4IGRmZTg5Y2FiOWM5YjU5ODBk
YTZhYmMwZTk1NzZjNGFmYjAyNGIwOGEuLjQ3ODU4NDI3ODU0ZjljMzE1YjE1MTlkMDk2ZjdlNzRl
YTAwZTRkN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25S
dWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuaApAQCAt
NTAsOSArNTAsOSBAQCBwcml2YXRlOgogICAgIFdlYktpdENTU1JlZ2lvblJ1bGUoU3R5bGVSdWxl
UmVnaW9uKiwgQ1NTU3R5bGVTaGVldCogcGFyZW50KTsKIH07CiAKLUNTU19SVUxFX1RZUEVfQ0FT
VFMoV2ViS2l0Q1NTUmVnaW9uUnVsZSwgQ1NTUnVsZTo6V0VCS0lUX1JFR0lPTl9SVUxFKQorfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCi19CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NTU19SVUxF
KFdlYktpdENTU1JlZ2lvblJ1bGUsIENTU1J1bGU6OldFQktJVF9SRUdJT05fUlVMRSkKIAogI2Vu
ZGlmIC8vIEVOQUJMRShDU1NfUkVHSU9OUykKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKaW5kZXggNmVlY2Q1ZDMwYjY4ODA4MjhjMjgzOGE1Mjg3
NTQ0OTM2NzdhYTNjOS4uOWU1Njg3ZGE0N2IxN2E1ZTljOGFlNzk1MDg2ZGE5NzJmYzU2MTEyZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwCkBA
IC00MjcsMTEgKzQyNywxMSBAQCBwcml2YXRlOgogfTsKIAogLy8gc3RhdGljCi1DU1NTdHlsZVJ1
bGUqIEluc3BlY3RvckNTU0FnZW50Ojphc0NTU1N0eWxlUnVsZShDU1NSdWxlKiBydWxlKQorQ1NT
U3R5bGVSdWxlKiBJbnNwZWN0b3JDU1NBZ2VudDo6YXNDU1NTdHlsZVJ1bGUoQ1NTUnVsZSYgcnVs
ZSkKIHsKLSAgICBpZiAocnVsZS0+dHlwZSgpICE9IENTU1J1bGU6OlNUWUxFX1JVTEUpCisgICAg
aWYgKCFpczxDU1NTdHlsZVJ1bGU+KHJ1bGUpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAg
ICByZXR1cm4gdG9DU1NTdHlsZVJ1bGUocnVsZSk7CisgICAgcmV0dXJuIGRvd25jYXN0PENTU1N0
eWxlUnVsZT4oJnJ1bGUpOwogfQogCiBJbnNwZWN0b3JDU1NBZ2VudDo6SW5zcGVjdG9yQ1NTQWdl
bnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yRE9N
QWdlbnQqIGRvbUFnZW50KQpAQCAtOTE4LDkgKzkxOCw4IEBAIHZvaWQgSW5zcGVjdG9yQ1NTQWdl
bnQ6OmNvbGxlY3RTdHlsZVNoZWV0cyhDU1NTdHlsZVNoZWV0KiBzdHlsZVNoZWV0LCBJbnNwZWN0
b3I6CiAgICAgcmVzdWx0LT5hZGRJdGVtKGluc3BlY3RvclN0eWxlU2hlZXQtPmJ1aWxkT2JqZWN0
Rm9yU3R5bGVTaGVldEluZm8oKSk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMCwgc2l6ZSA9IHN0
eWxlU2hlZXQtPmxlbmd0aCgpOyBpIDwgc2l6ZTsgKytpKSB7CiAgICAgICAgIENTU1J1bGUqIHJ1
bGUgPSBzdHlsZVNoZWV0LT5pdGVtKGkpOwotICAgICAgICBpZiAocnVsZS0+dHlwZSgpID09IENT
U1J1bGU6OklNUE9SVF9SVUxFKSB7Ci0gICAgICAgICAgICBDU1NTdHlsZVNoZWV0KiBpbXBvcnRl
ZFN0eWxlU2hlZXQgPSB0b0NTU0ltcG9ydFJ1bGUocnVsZSktPnN0eWxlU2hlZXQoKTsKLSAgICAg
ICAgICAgIGlmIChpbXBvcnRlZFN0eWxlU2hlZXQpCisgICAgICAgIGlmIChpczxDU1NJbXBvcnRS
dWxlPigqcnVsZSkpIHsKKyAgICAgICAgICAgIGlmIChDU1NTdHlsZVNoZWV0KiBpbXBvcnRlZFN0
eWxlU2hlZXQgPSBkb3duY2FzdDxDU1NJbXBvcnRSdWxlPigqcnVsZSkuc3R5bGVTaGVldCgpKQog
ICAgICAgICAgICAgICAgIGNvbGxlY3RTdHlsZVNoZWV0cyhpbXBvcnRlZFN0eWxlU2hlZXQsIHJl
c3VsdCk7CiAgICAgICAgIH0KICAgICB9CkBAIC0xMDQ2LDcgKzEwNDUsNyBAQCBQYXNzUmVmUHRy
PEluc3BlY3Rvcjo6UHJvdG9jb2w6OkFycmF5PEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NT
UnVsZT4+IEluc3BlYwogICAgICAgICByZXR1cm4gcmVzdWx0LnJlbGVhc2UoKTsKIAogICAgIGZv
ciAodW5zaWduZWQgaSA9IDAsIHNpemUgPSBydWxlTGlzdC0+bGVuZ3RoKCk7IGkgPCBzaXplOyAr
K2kpIHsKLSAgICAgICAgQ1NTU3R5bGVSdWxlKiBydWxlID0gYXNDU1NTdHlsZVJ1bGUocnVsZUxp
c3QtPml0ZW0oaSkpOworICAgICAgICBDU1NTdHlsZVJ1bGUqIHJ1bGUgPSBhc0NTU1N0eWxlUnVs
ZSgqcnVsZUxpc3QtPml0ZW0oaSkpOwogICAgICAgICBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2Nv
bDo6Q1NTOjpDU1NSdWxlPiBydWxlT2JqZWN0ID0gYnVpbGRPYmplY3RGb3JSdWxlKHJ1bGUpOwog
ICAgICAgICBpZiAoIXJ1bGVPYmplY3QpCiAgICAgICAgICAgICBjb250aW51ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmgKaW5kZXggMDhhODg4YmJhNmNj
MmZkZThmZTBlYjkzNDRkOWQzYTk3OTA0MjdiNC4uODJhMzhlZDM5ZDY2ZjkwMjI5MDljZTAyYWUz
ZjRjMTg5NTk5YzRiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNTU0FnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNT
U0FnZW50LmgKQEAgLTkyLDcgKzkyLDcgQEAgcHVibGljOgogICAgIEluc3BlY3RvckNTU0FnZW50
KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JET01BZ2VudCopOwogICAgIH5JbnNwZWN0
b3JDU1NBZ2VudCgpOwogCi0gICAgc3RhdGljIENTU1N0eWxlUnVsZSogYXNDU1NTdHlsZVJ1bGUo
Q1NTUnVsZSopOworICAgIHN0YXRpYyBDU1NTdHlsZVJ1bGUqIGFzQ1NTU3R5bGVSdWxlKENTU1J1
bGUmKTsKIAogICAgIGJvb2wgZm9yY2VQc2V1ZG9TdGF0ZShFbGVtZW50KiwgQ1NTU2VsZWN0b3I6
OlBzZXVkb0NsYXNzVHlwZSk7CiAgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5k
QmFja2VuZChJbnNwZWN0b3I6Okluc3BlY3RvckZyb250ZW5kQ2hhbm5lbCosIEluc3BlY3Rvcjo6
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIqKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcAppbmRleCA1YjdmYTZlMzczNDdh
M2ExOWE2OTkyY2VkMTM1YzA4MzYwZmY1MzVkLi42ODMwZjZmNzgzMWYwZGQ2NWJiODUwN2E0ZjUx
NjNlZjY0NmFkMzI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yU3R5bGVTaGVldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clN0eWxlU2hlZXQuY3BwCkBAIC0yMTQsMTUgKzIxNCwxNSBAQCBzdGF0aWMgUGFzc1JlZlB0cjxD
U1NSdWxlTGlzdD4gYXNDU1NSdWxlTGlzdChDU1NSdWxlKiBydWxlKQogICAgIGlmICghcnVsZSkK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBpZiAocnVsZS0+dHlwZSgpID09IENTU1J1
bGU6Ok1FRElBX1JVTEUpCi0gICAgICAgIHJldHVybiAmdG9DU1NNZWRpYVJ1bGUocnVsZSktPmNz
c1J1bGVzKCk7CisgICAgaWYgKGlzPENTU01lZGlhUnVsZT4oKnJ1bGUpKQorICAgICAgICByZXR1
cm4gJmRvd25jYXN0PENTU01lZGlhUnVsZT4oKnJ1bGUpLmNzc1J1bGVzKCk7CiAKLSAgICBpZiAo
cnVsZS0+dHlwZSgpID09IENTU1J1bGU6OldFQktJVF9LRVlGUkFNRVNfUlVMRSkKLSAgICAgICAg
cmV0dXJuICZzdGF0aWNfY2FzdDxXZWJLaXRDU1NLZXlmcmFtZXNSdWxlKj4ocnVsZSktPmNzc1J1
bGVzKCk7CisgICAgaWYgKGlzPFdlYktpdENTU0tleWZyYW1lc1J1bGU+KCpydWxlKSkKKyAgICAg
ICAgcmV0dXJuICZkb3duY2FzdDxXZWJLaXRDU1NLZXlmcmFtZXNSdWxlPigqcnVsZSkuY3NzUnVs
ZXMoKTsKIAogI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVTKQotICAgIGlmIChydWxl
LT50eXBlKCkgPT0gQ1NTUnVsZTo6U1VQUE9SVFNfUlVMRSkKLSAgICAgICAgcmV0dXJuICZ0b0NT
U1N1cHBvcnRzUnVsZShydWxlKS0+Y3NzUnVsZXMoKTsKKyAgICBpZiAoaXM8Q1NTU3VwcG9ydHNS
dWxlPigqcnVsZSkpCisgICAgICAgIHJldHVybiAmZG93bmNhc3Q8Q1NTU3VwcG9ydHNSdWxlPigq
cnVsZSkuY3NzUnVsZXMoKTsKICNlbmRpZgogCiAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC0yMzYs
MTQgKzIzNiwxNCBAQCBzdGF0aWMgdm9pZCBmaWxsTWVkaWFMaXN0Q2hhaW4oQ1NTUnVsZSogcnVs
ZSwgQXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6Q1NTOjpDUwogICAgIHdoaWxlIChwYXJlbnRS
dWxlKSB7CiAgICAgICAgIENTU1N0eWxlU2hlZXQqIHBhcmVudFN0eWxlU2hlZXQgPSBudWxscHRy
OwogICAgICAgICBib29sIGlzTWVkaWFSdWxlID0gdHJ1ZTsKLSAgICAgICAgaWYgKHBhcmVudFJ1
bGUtPnR5cGUoKSA9PSBDU1NSdWxlOjpNRURJQV9SVUxFKSB7Ci0gICAgICAgICAgICBDU1NNZWRp
YVJ1bGUqIG1lZGlhUnVsZSA9IHRvQ1NTTWVkaWFSdWxlKHBhcmVudFJ1bGUpOwotICAgICAgICAg
ICAgbWVkaWFMaXN0ID0gbWVkaWFSdWxlLT5tZWRpYSgpOwotICAgICAgICAgICAgcGFyZW50U3R5
bGVTaGVldCA9IG1lZGlhUnVsZS0+cGFyZW50U3R5bGVTaGVldCgpOwotICAgICAgICB9IGVsc2Ug
aWYgKHBhcmVudFJ1bGUtPnR5cGUoKSA9PSBDU1NSdWxlOjpJTVBPUlRfUlVMRSkgewotICAgICAg
ICAgICAgQ1NTSW1wb3J0UnVsZSogaW1wb3J0UnVsZSA9IHRvQ1NTSW1wb3J0UnVsZShwYXJlbnRS
dWxlKTsKLSAgICAgICAgICAgIG1lZGlhTGlzdCA9ICZpbXBvcnRSdWxlLT5tZWRpYSgpOwotICAg
ICAgICAgICAgcGFyZW50U3R5bGVTaGVldCA9IGltcG9ydFJ1bGUtPnBhcmVudFN0eWxlU2hlZXQo
KTsKKyAgICAgICAgaWYgKGlzPENTU01lZGlhUnVsZT4oKnBhcmVudFJ1bGUpKSB7CisgICAgICAg
ICAgICBDU1NNZWRpYVJ1bGUmIG1lZGlhUnVsZSA9IGRvd25jYXN0PENTU01lZGlhUnVsZT4oKnBh
cmVudFJ1bGUpOworICAgICAgICAgICAgbWVkaWFMaXN0ID0gbWVkaWFSdWxlLm1lZGlhKCk7Cisg
ICAgICAgICAgICBwYXJlbnRTdHlsZVNoZWV0ID0gbWVkaWFSdWxlLnBhcmVudFN0eWxlU2hlZXQo
KTsKKyAgICAgICAgfSBlbHNlIGlmIChpczxDU1NJbXBvcnRSdWxlPigqcGFyZW50UnVsZSkpIHsK
KyAgICAgICAgICAgIENTU0ltcG9ydFJ1bGUmIGltcG9ydFJ1bGUgPSBkb3duY2FzdDxDU1NJbXBv
cnRSdWxlPigqcGFyZW50UnVsZSk7CisgICAgICAgICAgICBtZWRpYUxpc3QgPSAmaW1wb3J0UnVs
ZS5tZWRpYSgpOworICAgICAgICAgICAgcGFyZW50U3R5bGVTaGVldCA9IGltcG9ydFJ1bGUucGFy
ZW50U3R5bGVTaGVldCgpOwogICAgICAgICAgICAgaXNNZWRpYVJ1bGUgPSBmYWxzZTsKICAgICAg
ICAgfSBlbHNlCiAgICAgICAgICAgICBtZWRpYUxpc3QgPSBudWxscHRyOwpAQCAtODkyLDcgKzg5
Miw3IEBAIENTU1N0eWxlUnVsZSogSW5zcGVjdG9yU3R5bGVTaGVldDo6YWRkUnVsZShjb25zdCBT
dHJpbmcmIHNlbGVjdG9yLCBFeGNlcHRpb25Db2RlCiAgICAgQ1NTUnVsZSogcnVsZSA9IG1fcGFn
ZVN0eWxlU2hlZXQtPml0ZW0obGFzdFJ1bGVJbmRleCk7CiAgICAgQVNTRVJUKHJ1bGUpOwogCi0g
ICAgQ1NTU3R5bGVSdWxlKiBzdHlsZVJ1bGUgPSBJbnNwZWN0b3JDU1NBZ2VudDo6YXNDU1NTdHls
ZVJ1bGUocnVsZSk7CisgICAgQ1NTU3R5bGVSdWxlKiBzdHlsZVJ1bGUgPSBJbnNwZWN0b3JDU1NB
Z2VudDo6YXNDU1NTdHlsZVJ1bGUoKnJ1bGUpOwogICAgIGlmICghc3R5bGVSdWxlKSB7CiAgICAg
ICAgIC8vIFdoYXQgd2UganVzdCBhZGRlZCBoYXMgdG8gYmUgYSBDU1NTdHlsZVJ1bGUgLSB3ZSBj
YW5ub3QgaGFuZGxlIG90aGVyIHR5cGVzIG9mIHJ1bGVzIHlldC4KICAgICAgICAgLy8gSWYgaXQg
aXMgbm90IGEgc3R5bGUgcnVsZSwgcHJldGVuZCB3ZSBuZXZlciB0b3VjaGVkIHRoZSBzdHlsZXNo
ZWV0LgpAQCAtMTQyMSw3ICsxNDIxLDcgQEAgdm9pZCBJbnNwZWN0b3JTdHlsZVNoZWV0Ojpjb2xs
ZWN0RmxhdFJ1bGVzKFBhc3NSZWZQdHI8Q1NTUnVsZUxpc3Q+IHJ1bGVMaXN0LCBDU1MKIAogICAg
IGZvciAodW5zaWduZWQgaSA9IDAsIHNpemUgPSBydWxlTGlzdC0+bGVuZ3RoKCk7IGkgPCBzaXpl
OyArK2kpIHsKICAgICAgICAgQ1NTUnVsZSogcnVsZSA9IHJ1bGVMaXN0LT5pdGVtKGkpOwotICAg
ICAgICBDU1NTdHlsZVJ1bGUqIHN0eWxlUnVsZSA9IEluc3BlY3RvckNTU0FnZW50Ojphc0NTU1N0
eWxlUnVsZShydWxlKTsKKyAgICAgICAgQ1NTU3R5bGVSdWxlKiBzdHlsZVJ1bGUgPSBJbnNwZWN0
b3JDU1NBZ2VudDo6YXNDU1NTdHlsZVJ1bGUoKnJ1bGUpOwogICAgICAgICBpZiAoc3R5bGVSdWxl
KQogICAgICAgICAgICAgcmVzdWx0LT5hcHBlbmQoc3R5bGVSdWxlKTsKICAgICAgICAgZWxzZSB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VTZXJpYWxpemVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwCmluZGV4IDhkNDc1OGE2ZTc0MTQz
YmZlNDI1ZmFjM2FiZWFjY2MyM2EwZGY4NjMuLmJhYzRmMjEzY2MyOTliZGRlZjc0MjE0ZWZkNDM4
YTNiMzNkMTQwZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVNlcmlhbGl6
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwCkBAIC0z
MSw2ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiUGFnZVNlcmlhbGl6
ZXIuaCIKIAorI2luY2x1ZGUgIkNTU0ZvbnRGYWNlUnVsZS5oIgogI2luY2x1ZGUgIkNTU0ltYWdl
VmFsdWUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVS
dWxlLmgiCkBAIC0yNjUsMTcgKzI2NiwxNyBAQCB2b2lkIFBhZ2VTZXJpYWxpemVyOjpzZXJpYWxp
emVDU1NTdHlsZVNoZWV0KENTU1N0eWxlU2hlZXQqIHN0eWxlU2hlZXQsIGNvbnN0IFVSTAogICAg
ICAgICB9CiAgICAgICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHN0eWxlU2hlZXQtPm93bmVyRG9j
dW1lbnQoKTsKICAgICAgICAgLy8gU29tZSBydWxlcyBoYXZlIHJlc291cmNlcyBhc3NvY2lhdGVk
IHdpdGggdGhlbSB0aGF0IHdlIG5lZWQgdG8gcmV0cmlldmUuCi0gICAgICAgIGlmIChydWxlLT50
eXBlKCkgPT0gQ1NTUnVsZTo6SU1QT1JUX1JVTEUpIHsKLSAgICAgICAgICAgIENTU0ltcG9ydFJ1
bGUqIGltcG9ydFJ1bGUgPSB0b0NTU0ltcG9ydFJ1bGUocnVsZSk7Ci0gICAgICAgICAgICBVUkwg
aW1wb3J0VVJMID0gZG9jdW1lbnQtPmNvbXBsZXRlVVJMKGltcG9ydFJ1bGUtPmhyZWYoKSk7Cisg
ICAgICAgIGlmIChpczxDU1NJbXBvcnRSdWxlPigqcnVsZSkpIHsKKyAgICAgICAgICAgIENTU0lt
cG9ydFJ1bGUmIGltcG9ydFJ1bGUgPSBkb3duY2FzdDxDU1NJbXBvcnRSdWxlPigqcnVsZSk7Cisg
ICAgICAgICAgICBVUkwgaW1wb3J0VVJMID0gZG9jdW1lbnQtPmNvbXBsZXRlVVJMKGltcG9ydFJ1
bGUuaHJlZigpKTsKICAgICAgICAgICAgIGlmIChtX3Jlc291cmNlVVJMcy5jb250YWlucyhpbXBv
cnRVUkwpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgc2VyaWFsaXpl
Q1NTU3R5bGVTaGVldChpbXBvcnRSdWxlLT5zdHlsZVNoZWV0KCksIGltcG9ydFVSTCk7Ci0gICAg
ICAgIH0gZWxzZSBpZiAocnVsZS0+dHlwZSgpID09IENTU1J1bGU6OkZPTlRfRkFDRV9SVUxFKSB7
CisgICAgICAgICAgICBzZXJpYWxpemVDU1NTdHlsZVNoZWV0KGltcG9ydFJ1bGUuc3R5bGVTaGVl
dCgpLCBpbXBvcnRVUkwpOworICAgICAgICB9IGVsc2UgaWYgKGlzPENTU0ZvbnRGYWNlUnVsZT4o
KnJ1bGUpKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIGZvbnQgZmFj
ZSBydWxlLiBJdCBpcyBub3QgY2xlYXIgdG8gbWUgYXQgdGhpcyBwb2ludCBpZiB0aGUgYWN0dWFs
IG90Zi9lb3QgZmlsZSBjYW4KICAgICAgICAgICAgIC8vIGJlIHJldHJpZXZlZCBmcm9tIHRoZSBD
U1NGb250RmFjZVJ1bGUgb2JqZWN0LgotICAgICAgICB9IGVsc2UgaWYgKHJ1bGUtPnR5cGUoKSA9
PSBDU1NSdWxlOjpTVFlMRV9SVUxFKQotICAgICAgICAgICAgcmV0cmlldmVSZXNvdXJjZXNGb3JS
dWxlKHRvQ1NTU3R5bGVSdWxlKHJ1bGUpLT5zdHlsZVJ1bGUoKSwgZG9jdW1lbnQpOworICAgICAg
ICB9IGVsc2UgaWYgKGlzPENTU1N0eWxlUnVsZT4oKnJ1bGUpKQorICAgICAgICAgICAgcmV0cmll
dmVSZXNvdXJjZXNGb3JSdWxlKGRvd25jYXN0PENTU1N0eWxlUnVsZT4oKnJ1bGUpLnN0eWxlUnVs
ZSgpLCBkb2N1bWVudCk7CiAgICAgfQogCiAgICAgaWYgKHVybC5pc1ZhbGlkKCkgJiYgIW1fcmVz
b3VyY2VVUkxzLmNvbnRhaW5zKHVybCkpIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>