<?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>90998</bug_id>
          
          <creation_ts>2012-07-11 11:40:07 -0700</creation_ts>
          <short_desc>De-virtualize WrapShape classes</short_desc>
          <delta_ts>2012-07-26 19:30:59 -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>89670</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Bear Travis">betravis</reporter>
          <assigned_to name="Anish">bhayani</assigned_to>
          <cc>betravis</cc>
    
    <cc>eric</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>666910</commentid>
    <comment_count>0</comment_count>
    <who name="Bear Travis">betravis</who>
    <bug_when>2012-07-11 11:40:07 -0700</bug_when>
    <thetext>The WrapShape classes do not need to use a virtual pointer for type/destructor. See bug 89670.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670763</commentid>
    <comment_count>1</comment_count>
    <who name="Bear Travis">betravis</who>
    <bug_when>2012-07-16 16:18:06 -0700</bug_when>
    <thetext>Original comment from anttik:

&gt; Source/WebCore/rendering/style/WrapShapes.h:52
&gt; +class WrapShape : public RefCounted&lt;WrapShape&gt; {
&gt; +public:
&gt; +    enum Type {
&gt; +        WRAP_SHAPE_RECTANGLE = 1,
&gt; +        WRAP_SHAPE_CIRCLE = 2,
&gt; +        WRAP_SHAPE_ELLIPSE = 3,
&gt; +        WRAP_SHAPE_POLYGON = 4
&gt; +    };
&gt; +
&gt; +    virtual Type type() const = 0;
&gt; +    virtual ~WrapShape() { }
&gt; +
&gt; +protected:
&gt; +    WrapShape() { }
&gt; +};

This doesn&apos;t really need the vptr. You could make the type a field in the base and cast to subclass in destructor. This would save some memory (on 64bit) and avoid the virtual calls.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677222</commentid>
    <comment_count>2</comment_count>
      <attachid>154147</attachid>
    <who name="Anish">bhayani</who>
    <bug_when>2012-07-24 14:48:47 -0700</bug_when>
    <thetext>Created attachment 154147
Bug 90998 fix

Proposed fix for bug 90998.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677411</commentid>
    <comment_count>3</comment_count>
      <attachid>154147</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-07-24 17:34:06 -0700</bug_when>
    <thetext>Comment on attachment 154147
Bug 90998 fix

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

Good start, just needs a bit of clean-up.

The ChangeLog is a bit wordy, focus on what you are doing and why.

&gt; Source/WebCore/rendering/style/WrapShapes.cpp:16
&gt; + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER âAS ISâ AND ANY

Weird quotation marks here.

&gt; Source/WebCore/rendering/style/WrapShapes.cpp:34
&gt; +using namespace std;

You are not using anything from the std namespace, so this should not be here.

&gt; Source/WebCore/rendering/style/WrapShapes.cpp:38
&gt; +

Extra newline here.

&gt; Source/WebCore/rendering/style/WrapShapes.cpp:57
&gt; +    default:
&gt; +        ASSERT_NOT_REACHED();
&gt; +        delete static_cast&lt;WrapShape*&gt;(this);
&gt; +        break;

It would be better to omit the default case here. That means that any unhandled addition to the Type enum will cause a compilation failure.
If you replace the breaks by returns, you could put an ASSERT_NOT_REACHED() after the switch statement for good measure.
Look at CSSValue::destroy() for example.

&gt; Source/WebCore/rendering/style/WrapShapes.h:61
&gt; +    Type m_type;

This variable should be private.

&gt; Source/WebCore/rendering/style/WrapShapes.h:66
&gt; +    void setType(Type s_type)
&gt; +    {
&gt; +        m_type = s_type;
&gt; +    }

It would be slightly nicer to pass the Type to the WrapShape constructor instead.

&gt; Source/WebCore/rendering/style/WrapShapes.h:96
&gt;      WrapShapeRectangle()
&gt;          : m_cornerRadiusX(Undefined)
&gt;          , m_cornerRadiusY(Undefined)
&gt; -    { }
&gt; +    { 
&gt; +        setType(WRAP_SHAPE_RECTANGLE);
&gt; +    }

This block would then look like so:
WrapShapeRectangle()
    : WrapShape(WRAP_SHAPE_RECTANGLE)
    , m_cornerRadiusX(Undefined)
    , m_cornerRadiusY(Undefined)
{ }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678305</commentid>
    <comment_count>4</comment_count>
      <attachid>154407</attachid>
    <who name="Anish">bhayani</who>
    <bug_when>2012-07-25 11:46:35 -0700</bug_when>
    <thetext>Created attachment 154407
Updated patch for bug 90998

Made changes suggested by Kling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678409</commentid>
    <comment_count>5</comment_count>
      <attachid>154407</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-07-25 13:42:38 -0700</bug_when>
    <thetext>Comment on attachment 154407
Updated patch for bug 90998

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

r=me, nice.

&gt; Source/WebCore/rendering/style/WrapShapes.h:62
&gt; +    WrapShape(Type type) 
&gt; +    {
&gt; +        m_type = type;
&gt; +    }

Nit: we tend to use initializer lists in WebKit, i.e:
WrapShape(Type type)
    : m_type(type)
{ }

&gt; Source/WebCore/rendering/style/WrapShapes.h:166
&gt; -
&gt; +    

Extra whitespace here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678511</commentid>
    <comment_count>6</comment_count>
      <attachid>154454</attachid>
    <who name="Anish">bhayani</who>
    <bug_when>2012-07-25 15:03:56 -0700</bug_when>
    <thetext>Created attachment 154454
Updated patch for bug 90998

Made changes suggested by Kling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678531</commentid>
    <comment_count>7</comment_count>
      <attachid>154460</attachid>
    <who name="Anish">bhayani</who>
    <bug_when>2012-07-25 15:23:37 -0700</bug_when>
    <thetext>Created attachment 154460
Updated patch for bug 90998

Added reviewer, ready for commit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679492</commentid>
    <comment_count>8</comment_count>
      <attachid>154460</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2012-07-26 10:40:02 -0700</bug_when>
    <thetext>Comment on attachment 154460
Updated patch for bug 90998

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

&gt; Source/WebCore/rendering/style/WrapShapes.h:56
&gt;      virtual ~WrapShape() { }

Didn&apos;t you have to remove virtual functions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679741</commentid>
    <comment_count>9</comment_count>
      <attachid>154744</attachid>
    <who name="Anish">bhayani</who>
    <bug_when>2012-07-26 14:05:03 -0700</bug_when>
    <thetext>Created attachment 154744
patch for 90998

final changes made</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679791</commentid>
    <comment_count>10</comment_count>
      <attachid>154758</attachid>
    <who name="Anish">bhayani</who>
    <bug_when>2012-07-26 14:57:38 -0700</bug_when>
    <thetext>Created attachment 154758
patch for 90998

final changes made</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680024</commentid>
    <comment_count>11</comment_count>
      <attachid>154758</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-26 19:30:54 -0700</bug_when>
    <thetext>Comment on attachment 154758
patch for 90998

Clearing flags on attachment: 154758

Committed r123830: &lt;http://trac.webkit.org/changeset/123830&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680025</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-26 19:30:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154147</attachid>
            <date>2012-07-24 14:48:47 -0700</date>
            <delta_ts>2012-07-25 11:46:31 -0700</delta_ts>
            <desc>Bug 90998 fix</desc>
            <filename>bug90998.patch</filename>
            <type>text/plain</type>
            <size>14352</size>
            <attacher name="Anish">bhayani</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMzUyYjU0ZS4uODg5OTI3NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKQEAgLTIwODEsNiArMjA4MSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICByZW5k
ZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmNwcAogICAgIHJlbmRlcmluZy9zdHlsZS9TVkdS
ZW5kZXJTdHlsZS5jcHAKICAgICByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmNw
cAorICAgIHJlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmNwcAogCiAgICAgcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdCbG9jay5jcHAKICAgICByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0NvbnRhaW5l
ci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCBiZWRkYTlmLi4zNTcyZTE1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNDggQEAKKzIwMTItMDctMjQgIEFuaXNoIEJoYXlhbmkgIDxhbmlzaC5iaGF5YW5pQGdtYWls
LmNvbT4KKworICAgICAgICBEZS12aXJ0dWFsaXplIFdyYXBTaGFwZSBjbGFzc2VzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDk5OAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBkZXN0cnVjdG9yIGZv
ciBXcmFwU2hhcGVzIGNsYXNzZXMgZGlkIG5vdCBuZWVkIHRvIHVzZSBhIHZpcnR1YWwKKyAgICAg
ICAgcG9pbnRlci4gQnkgY2FzdGluZyB0aGUgZGVzdHJ1Y3RvciB0byB0aGUgc3ViY2xhc3MgdHlw
ZSwgbWVtb3J5IAorICAgICAgICB3b3VsZCBiZSBzYXZlZCBhbmQgdmlydHVhbCBjYWxscyBhdm9p
ZGVkLiBUbyBkbyB0aGlzLCBXcmFwU2hhcGVzCisgICAgICAgIGhhZCB0byBkZWZpbmUgaXRzIG93
biBkZXN0cnVjdG9yIHRoYXQgY2FsbHMgYSBtZXRob2QgaW4gYW5vdGhlciAKKyAgICAgICAgZmls
ZSBiZWNhdXNlIHRoZSBzdWJjbGFzc2VzIGhhdmUgdG8gYmUgZGVmaW5lZCBmaXJzdCBhcyB3ZWxs
IGFzIGEgCisgICAgICAgIGJ1aWxkIGVycm9yIEkgd2FzIGdldHRpbmcgYWJvdXQgZHVwbGljYXRl
IGRlcmVmZXJlbmNlIG1ldGhvZHMuIFRoZSAKKyAgICAgICAgZmlsZSBpcyBjYWxsZWQgV3JhcFNo
YXBlcy5jcHAgYWxsb3dpbmcgZm9yIGZ1dHVyZSBhZGRpdGlvbnMgdG8gdGhlIAorICAgICAgICBX
cmFwU2hhcGVzIGNsYXNzLiBEZXJlZigpIGlzIHRoZSBXcmFwU2hhcGVzIGRlc3RydWN0b3IuIEl0
IG1ha2VzIAorICAgICAgICBzdXJlIHRoZSBvYmplY3QgaXMgbm90IG51bGwgYW5kIGlzIHJlYWR5
IHRvIGJlIGRlcmVmZXJlbmNlZCBieSAKKyAgICAgICAgY2FsbGluZyBCYXNlRGVyZWYoKSBhbmQg
dGhlbiBjYWxsaW5nIGRlc3Ryb3koKSBtZXRob2QgbG9jYXRlZCBpbiAKKyAgICAgICAgV3JhcFNo
YXBlcy5jcHAgd2hpY2ggdXNlcyBhIHN3aXRjaCBzdGF0ZW1lbnQgdG8gZGV0ZXJtaW5lIHRoZSAK
KyAgICAgICAgc3ViY2xhc3MgZm9yIGNhc3RpbmcgdGhlIGRlc3RydWN0b3IuCisKKyAgICAgICAg
VGhlcmUgYXJlIGV4aXN0aW5nIHRlc3RzIHRoYXQgY292ZXIgdGhlIHZhbGlkaXR5IG9mIHNoYXBl
cy4gVGhlCisgICAgICAgIGFkZGVkIGNoYW5nZXMgbWVyZWx5IGNoYW5nZSB0aGUgZGVzdHJ1Y3Rv
ciBvZiB0aGUgc2hhcGUgb2JqZWN0cworICAgICAgICB3aGljaCBpcyBhbHNvIHRlc3RlZCBieSBM
YXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoK
KyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6Cisg
ICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpXcmFwU2hhcGU6OmRlc3Ryb3kpOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpXcmFw
U2hhcGU6OmRlcmVmKToKKyAgICAgICAgKFdyYXBTaGFwZSk6CisgICAgICAgIChXZWJDb3JlOjpX
cmFwU2hhcGU6OnR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6V3JhcFNoYXBlOjpzZXRUeXBlKToK
KyAgICAgICAgKFdyYXBTaGFwZVJlY3RhbmdsZSk6CisgICAgICAgIChXZWJDb3JlOjpXcmFwU2hh
cGVSZWN0YW5nbGU6OldyYXBTaGFwZVJlY3RhbmdsZSk6CisgICAgICAgIChXZWJDb3JlOjpXcmFw
U2hhcGVDaXJjbGU6OldyYXBTaGFwZUNpcmNsZSk6CisgICAgICAgIChXZWJDb3JlOjpXcmFwU2hh
cGVFbGxpcHNlOjpXcmFwU2hhcGVFbGxpcHNlKToKKyAgICAgICAgKFdlYkNvcmU6OldyYXBTaGFw
ZVBvbHlnb246OldyYXBTaGFwZVBvbHlnb24pOgorICAgICAgICAoV3JhcFNoYXBlUG9seWdvbik6
CisKIDIwMTItMDctMjQgIFRvbW15IFdpZGVuZmx5Y2h0ICA8dG9tbXl3QGdvb2dsZS5jb20+CiAK
ICAgICAgICAgTWVkaWFTdHJlYW0gQVBJOiBVcGRhdGUgTWVkaWFTdHJlYW1UcmFjayB0byBtYXRj
aCB0aGUgc3BlY2lmaWNhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggODcz
YWNiYy4uMzkwM2YyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00MTI1LDYg
KzQxMjUsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmggXAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvV3JhcFNoYXBlcy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9XcmFw
U2hhcGVzLmggXAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQmxvY2su
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0Jsb2NrLmggXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkKaW5kZXggZDg2NzE5NS4uODk3ZjgxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0xMjA2LDYg
KzEyMDYsNyBAQCBTT1VSQ0VTICs9IFwKICAgICByZW5kZXJpbmcvc3R5bGUvU3R5bGVTdXJyb3Vu
ZERhdGEuY3BwIFwKICAgICByZW5kZXJpbmcvc3R5bGUvU3R5bGVUcmFuc2Zvcm1EYXRhLmNwcCBc
CiAgICAgcmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlzdWFsRGF0YS5jcHAgXAorICAgIHJlbmRlcmlu
Zy9zdHlsZS9XcmFwU2hhcGVzLmNwcCBcCiAgICAgc3RvcmFnZS9TdG9yYWdlVGFzay5jcHAgXAog
ICAgIHN0b3JhZ2UvU3RvcmFnZVRocmVhZC5jcHAgXAogICAgIHN0b3JhZ2UvU3RvcmFnZS5jcHAg
XApAQCAtMjM4Miw2ICsyMzgzLDcgQEAgSEVBREVSUyArPSBcCiAgICAgcmVuZGVyaW5nL3N0eWxl
L1N0eWxlVmlzdWFsRGF0YS5oIFwKICAgICByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVE
ZWZzLmggXAogICAgIHJlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5oIFwKKyAgICByZW5k
ZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5oIFwKICAgICByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0Js
b2NrLmggXAogICAgIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVyLmggXAogICAgIHJl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHRWxsaXBzZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAyZmUz
OWUyLi5mMGVjY2NhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC02MTAsNiArNjEwLDcgQEAKICAgICAg
ICAgICAgICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVUcmFuc2Zvcm1EYXRhLmgnLAogICAgICAgICAg
ICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZVZhcmlhYmxlRGF0YS5oJywKICAgICAgICAgICAgICdy
ZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmgnLAorICAgICAgICAgICAgJ3JlbmRlcmlu
Zy9zdHlsZS9XcmFwU2hhcGVzLmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdmcvU1ZHUmVz
b3VyY2VzQ2FjaGUuaCcsCiAgICAgICAgICAgICAnd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgnLAog
ICAgICAgICAgICAgJ3dvcmtlcnMvV29ya2VyVGhyZWFkLmgnLApAQCAtNDg4Nyw2ICs0ODg4LDcg
QEAKICAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVTdXJyb3VuZERhdGEuY3BwJywK
ICAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVUcmFuc2Zvcm1EYXRhLmNwcCcsCiAg
ICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlzdWFsRGF0YS5jcHAnLAorICAgICAg
ICAgICAgJ3JlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmNwcCcsCiAgICAgICAgICAgICAncmVu
ZGVyaW5nL3N2Zy9TVkdJbmxpbmVGbG93Qm94LmNwcCcsCiAgICAgICAgICAgICAncmVuZGVyaW5n
L3N2Zy9TVkdJbmxpbmVGbG93Qm94LmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdmcvU1ZH
SW5saW5lVGV4dEJveC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvagppbmRleCA4ZjQ4MzUzLi5lMjNiMzUzIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNDYyMzksNiArNDYyMzksMTQgQEAKIAkJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxyZW5kZXJpbmdcc3R5bGVcU1ZHUmVuZGVyU3R5bGVEZWZzLmgi
CiAJCQkJCT4KIAkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxy
ZW5kZXJpbmdcc3R5bGVcV3JhcFNoYXBlcy5jcHAiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJ
PEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxyZW5kZXJpbmdcc3R5bGVcV3JhcFNoYXBlcy5o
IgorCQkJCQk+CisJCQkJPC9GaWxlPgogCQkJPC9GaWx0ZXI+CiAJCQk8RmlsdGVyCiAJCQkJTmFt
ZT0ic3ZnIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDEwNjZjZTYuLmM3MTAzNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTYxODMsNiArNjE4Myw3IEBACiAJ
CUY1MTIyQzkwMTU0N0ZBMUIwMDI4QTkzQiAvKiBQYWdlUG9wdXBEcml2ZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1MTIyQzhGMTU0N0ZBMUIwMDI4
QTkzQiAvKiBQYWdlUG9wdXBEcml2ZXIuaCAqLzsgfTsKIAkJRjUxNDJDNjkxMjNGMTJCMDAwRjVC
RDRDIC8qIExvY2FsaXplZE51bWJlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjUxNDJDNjgxMjNGMTJCMDAwRjVCRDRDIC8qIExvY2FsaXplZE51bWJl
ci5oICovOyB9OwogCQlGNTJBRDVFNDE1MzQyNDVGMDA1OUZCRTYgLyogRW1wdHlDbGllbnRzLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1MkFENUUz
MTUzNDI0NUYwMDU5RkJFNiAvKiBFbXB0eUNsaWVudHMuY3BwICovOyB9OworCQlGNTUzQjg5MzE1
QkUyNkMwMDBCMTM0QzkgLyogV3JhcFNoYXBlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTUzQjg5MjE1QkUyNkMwMDBCMTM0QzkgLyogV3JhcFNo
YXBlcy5jcHAgKi87IH07CiAJCUY1NUIzREFEMTI1MUYxMkQwMDNFRjI2OSAvKiBCYXNlVGV4dElu
cHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGNTVCM0Q3OTEyNTFGMTJEMDAzRUYyNjkgLyogQmFzZVRleHRJbnB1dFR5cGUuY3BwICovOyB9
OwogCQlGNTVCM0RBRTEyNTFGMTJEMDAzRUYyNjkgLyogQmFzZVRleHRJbnB1dFR5cGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1NUIzRDdBMTI1MUYx
MkQwMDNFRjI2OSAvKiBCYXNlVGV4dElucHV0VHlwZS5oICovOyB9OwogCQlGNTVCM0RBRjEyNTFG
MTJEMDAzRUYyNjkgLyogQnV0dG9uSW5wdXRUeXBlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1NUIzRDdCMTI1MUYxMkQwMDNFRjI2OSAvKiBCdXR0
b25JbnB1dFR5cGUuY3BwICovOyB9OwpAQCAtMTM0OTUsNiArMTM0OTYsNyBAQAogCQlGNTIzRDMw
MzAyREU0NDc2MDE4NjM1Q0EgLyogUmFuZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmFuZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJRjUyM0QzMDQwMkRFNDQ3
NjAxODYzNUNBIC8qIFJhbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJhbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRo
ID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQlGNTJBRDVFMzE1MzQyNDVGMDA1OUZCRTYgLyogRW1w
dHlDbGllbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVtcHR5
Q2xpZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY1NTNCODkyMTVCRTI2
QzAwMEIxMzRDOSAvKiBXcmFwU2hhcGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IFdyYXBTaGFwZXMuY3BwOyBwYXRoID0gc3R5bGUvV3JhcFNoYXBlcy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY1NUIzRDc5MTI1MUYxMkQwMDNFRjI2OSAvKiBC
YXNlVGV4dElucHV0VHlwZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBCYXNlVGV4dElucHV0VHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY1
NUIzRDdBMTI1MUYxMkQwMDNFRjI2OSAvKiBCYXNlVGV4dElucHV0VHlwZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBCYXNlVGV4dElucHV0VHlwZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGNTVCM0Q3QjEyNTFGMTJEMDAzRUYyNjkgLyogQnV0dG9uSW5wdXRU
eXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJ1dHRvbklucHV0
VHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDMyMSw2ICsyMDMyMyw3
IEBACiAJCQkJQkMyMjc0NzUwRTgzNjZFMjAwRTdGOTc1IC8qIFNWR1JlbmRlclN0eWxlLmggKi8s
CiAJCQkJQkMyMjc0NzYwRTgzNjZFMjAwRTdGOTc1IC8qIFNWR1JlbmRlclN0eWxlRGVmcy5jcHAg
Ki8sCiAJCQkJQkMyMjc0NzcwRTgzNjZFMjAwRTdGOTc1IC8qIFNWR1JlbmRlclN0eWxlRGVmcy5o
ICovLAorCQkJCUY1NTNCODkyMTVCRTI2QzAwMEIxMzRDOSAvKiBXcmFwU2hhcGVzLmNwcCAqLywK
IAkJCQlGREI1MUNGNDE1OUNENzAzMDBFMjI3QzUgLyogV3JhcFNoYXBlcy5oICovLAogCQkJKTsK
IAkJCW5hbWUgPSBzdHlsZTsKQEAgLTI4MzMyLDYgKzI4MzM1LDcgQEAKIAkJCQlGRDUzNzM1MjEz
N0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzNDRjE3
QTQxNUIwMDYzRjAwMjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQzNDRjE3QTYxNUIwMDYzRjAwMjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2ZXJSZWdpc3Ry
eS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGNTUzQjg5MzE1QkUyNkMwMDBCMTM0QzkgLyogV3Jh
cFNoYXBlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxMDU5NDU3MzE1QjQyOTUzMDA0RDM3RkQg
LyogSlNNaWNyb0RhdGFJdGVtVmFsdWVDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTA1
OTQ1NzcxNUI0MkEwRDAwNEQzN0ZEIC8qIEpTTWljcm9EYXRhSXRlbVZhbHVlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTEwNTk0NTk3MTVCNDJBOEUwMDREMzdGRCAvKiBQcm9wZXJ0eU5vZGVMaXN0
LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1dyYXBTaGFwZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1dy
YXBTaGFwZXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4YjA3MmYK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV3JhcFNo
YXBlcy5jcHAKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBZG9i
ZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSIOKAnEFTIElT4oCdIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgSE9MREVSIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCisgKiBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SCisgKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAqIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiV3JhcFNoYXBlcy5oIgorCit1c2lu
ZyBuYW1lc3BhY2Ugc3RkOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKwordm9pZCBXcmFwU2hh
cGU6OmRlc3Ryb3koKQoreworICAgIHN3aXRjaCAobV90eXBlKSB7CisgICAgY2FzZSBXUkFQX1NI
QVBFX1JFQ1RBTkdMRToKKyAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFdyYXBTaGFwZVJlY3Rh
bmdsZSo+KHRoaXMpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdSQVBfU0hBUEVfQ0lSQ0xF
OgorICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8V3JhcFNoYXBlQ2lyY2xlKj4odGhpcyk7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgV1JBUF9TSEFQRV9FTExJUFNFOgorICAgICAgICBkZWxl
dGUgc3RhdGljX2Nhc3Q8V3JhcFNoYXBlRWxsaXBzZSo+KHRoaXMpOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIFdSQVBfU0hBUEVfUE9MWUdPTjoKKyAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0
PFdyYXBTaGFwZVBvbHlnb24qPih0aGlzKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoK
KyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2Fz
dDxXcmFwU2hhcGUqPih0aGlzKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorfQorCit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuaAppbmRleCA2MTA1MmNiLi4z
YWFjZmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV3JhcFNo
YXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmgK
QEAgLTMyLDEwICszMiwxMiBAQAogCiAjaW5jbHVkZSAiTGVuZ3RoLmgiCiAjaW5jbHVkZSAiV2lu
ZFJ1bGUuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBXcmFwU2hhcGUgOiBwdWJsaWMg
UmVmQ291bnRlZDxXcmFwU2hhcGU+IHsKK2NsYXNzIFdyYXBTaGFwZSA6IHB1YmxpYyBXVEY6OlJl
ZkNvdW50ZWRCYXNlIHsKIHB1YmxpYzoKICAgICBlbnVtIFR5cGUgewogICAgICAgICBXUkFQX1NI
QVBFX1JFQ1RBTkdMRSA9IDEsCkBAIC00MywxMiArNDUsMjggQEAgcHVibGljOgogICAgICAgICBX
UkFQX1NIQVBFX0VMTElQU0UgPSAzLAogICAgICAgICBXUkFQX1NIQVBFX1BPTFlHT04gPSA0CiAg
ICAgfTsKLQotICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgPSAwOworICAgIAorICAgIHZv
aWQgZGVyZWYoKSAKKyAgICB7CisgICAgICAgIGlmIChkZXJlZkJhc2UoKSkKKyAgICAgICAgICAg
IGRlc3Ryb3koKTsKKyAgICB9CisKKyAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5
cGU7IH0KICAgICB2aXJ0dWFsIH5XcmFwU2hhcGUoKSB7IH0KIAogcHJvdGVjdGVkOgogICAgIFdy
YXBTaGFwZSgpIHsgfQorICAgIAorICAgIFR5cGUgbV90eXBlOworICAgIAorICAgIHZvaWQgc2V0
VHlwZShUeXBlIHNfdHlwZSkKKyAgICB7CisgICAgICAgIG1fdHlwZSA9IHNfdHlwZTsKKyAgICB9
CisgICAgCitwcml2YXRlOgorICAgIHZvaWQgZGVzdHJveSgpOwogfTsKIAogY2xhc3MgV3JhcFNo
YXBlUmVjdGFuZ2xlIDogcHVibGljIFdyYXBTaGFwZSB7CkBAIC02OCwxNCArODYsMTQgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0SGVpZ2h0KExlbmd0aCBoZWlnaHQpIHsgbV9oZWlnaHQgPSBoZWln
aHQ7IH0KICAgICB2b2lkIHNldENvcm5lclJhZGl1c1goTGVuZ3RoIHJhZGl1c1gpIHsgbV9jb3Ju
ZXJSYWRpdXNYID0gcmFkaXVzWDsgfQogICAgIHZvaWQgc2V0Q29ybmVyUmFkaXVzWShMZW5ndGgg
cmFkaXVzWSkgeyBtX2Nvcm5lclJhZGl1c1kgPSByYWRpdXNZOyB9Ci0KLSAgICB2aXJ0dWFsIFR5
cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIFdSQVBfU0hBUEVfUkVDVEFOR0xFOyB9Ci0KKyAgICAK
IHByaXZhdGU6CiAgICAgV3JhcFNoYXBlUmVjdGFuZ2xlKCkKICAgICAgICAgOiBtX2Nvcm5lclJh
ZGl1c1goVW5kZWZpbmVkKQogICAgICAgICAsIG1fY29ybmVyUmFkaXVzWShVbmRlZmluZWQpCi0g
ICAgeyB9CisgICAgeyAKKyAgICAgICAgc2V0VHlwZShXUkFQX1NIQVBFX1JFQ1RBTkdMRSk7Cisg
ICAgfQogCiAgICAgTGVuZ3RoIG1feTsKICAgICBMZW5ndGggbV94OwpAQCAtOTcsOSArMTE1LDEx
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldENlbnRlclkoTGVuZ3RoIGNlbnRlclkpIHsgbV9jZW50
ZXJZID0gY2VudGVyWTsgfQogICAgIHZvaWQgc2V0UmFkaXVzKExlbmd0aCByYWRpdXMpIHsgbV9y
YWRpdXMgPSByYWRpdXM7IH0KIAotICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1
cm4gV1JBUF9TSEFQRV9DSVJDTEU7IH0KIHByaXZhdGU6Ci0gICAgV3JhcFNoYXBlQ2lyY2xlKCkg
eyB9CisgICAgV3JhcFNoYXBlQ2lyY2xlKCkgCisgICAgeyAKKyAgICAgICAgc2V0VHlwZShXUkFQ
X1NIQVBFX0NJUkNMRSk7CisgICAgfQogCiAgICAgTGVuZ3RoIG1fY2VudGVyWDsKICAgICBMZW5n
dGggbV9jZW50ZXJZOwpAQCAtMTIwLDkgKzE0MCwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRS
YWRpdXNYKExlbmd0aCByYWRpdXNYKSB7IG1fcmFkaXVzWCA9IHJhZGl1c1g7IH0KICAgICB2b2lk
IHNldFJhZGl1c1koTGVuZ3RoIHJhZGl1c1kpIHsgbV9yYWRpdXNZID0gcmFkaXVzWTsgfQogCi0g
ICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBXUkFQX1NIQVBFX0VMTElQU0U7
IH0KIHByaXZhdGU6Ci0gICAgV3JhcFNoYXBlRWxsaXBzZSgpIHsgfQorICAgIFdyYXBTaGFwZUVs
bGlwc2UoKSAKKyAgICB7IAorICAgICAgICBzZXRUeXBlKFdSQVBfU0hBUEVfRUxMSVBTRSk7Cisg
ICAgfQogCiAgICAgTGVuZ3RoIG1fY2VudGVyWDsKICAgICBMZW5ndGggbV9jZW50ZXJZOwpAQCAt
MTQyLDEyICsxNjQsMTMgQEAgcHVibGljOgogICAgIHZvaWQgc2V0V2luZFJ1bGUoV2luZFJ1bGUg
d2luZFJ1bGUpIHsgbV93aW5kUnVsZSA9IHdpbmRSdWxlOyB9CiAgICAgdm9pZCBhcHBlbmRQb2lu
dChMZW5ndGggeCwgTGVuZ3RoIHkpIHsgbV92YWx1ZXMuYXBwZW5kKHgpOyBtX3ZhbHVlcy5hcHBl
bmQoeSk7IH0KIAotICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gV1JBUF9T
SEFQRV9QT0xZR09OOyB9CiBwcml2YXRlOgogICAgIFdyYXBTaGFwZVBvbHlnb24oKQogICAgICAg
ICA6IG1fd2luZFJ1bGUoUlVMRV9OT05aRVJPKQotICAgIHsgfQotCisgICAgeyAKKyAgICAgICAg
c2V0VHlwZShXUkFQX1NIQVBFX1BPTFlHT04pOworICAgIH0KKyAgICAKICAgICBXaW5kUnVsZSBt
X3dpbmRSdWxlOwogICAgIFZlY3RvcjxMZW5ndGg+IG1fdmFsdWVzOwogfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154407</attachid>
            <date>2012-07-25 11:46:35 -0700</date>
            <delta_ts>2012-07-25 15:23:29 -0700</delta_ts>
            <desc>Updated patch for bug 90998</desc>
            <filename>bug-90998-20120725114625.patch</filename>
            <type>text/plain</type>
            <size>14659</size>
            <attacher name="Anish">bhayani</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDc2OGVkMDgyNWQwNGVh
ZWZhZjJmNGZlYTU2NThhNDQyMWQ1ZWFiNC4uZGNjODAzMTFlMDA1NzZhODUzYjYzZmRjZDg0ZmUx
YmZhNmYwYjQ5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTA3LTI1ICBBbmlz
aCBCaGF5YW5pICA8YW5pc2guYmhheWFuaUBnbWFpbC5jb20+CisKKyAgICAgICAgRGUtdmlydHVh
bGl6ZSBXcmFwU2hhcGUgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTA5OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGUgZGVzdHJ1Y3RvciBmb3IgV3JhcFNoYXBlcyBjbGFzc2VzIGRpZCBu
b3QgbmVlZCB0byB1c2UgYSB2aXJ0dWFsCisgICAgICAgIHBvaW50ZXIuIFdyYXBTaGFwZXMuY3Bw
IGlzIGNyZWF0ZWQgdG8gY2FzdCB0aGUgV3JhcFNoYXBlIGRlc3RydWN0b3IgCisgICAgICAgIHRv
IHRoZSBzdWJjbGFzcyB0eXBlIHNhdmluZyBtZW1vcnkgYW5kIGF2b2lkaW5nIHZpcnR1YWwgY2Fs
bHMuIAorCisgICAgICAgIFRoZXJlIGFyZSBleGlzdGluZyB0ZXN0cyB0aGF0IGNvdmVyIHRoZSB2
YWxpZGl0eSBvZiBzaGFwZXMuIFRoZQorICAgICAgICBhZGRlZCBjaGFuZ2VzIG1lcmVseSBjaGFu
Z2UgdGhlIGRlc3RydWN0b3Igb2YgdGhlIHNoYXBlIG9iamVjdHMKKyAgICAgICAgd2hpY2ggaXMg
YWxzbyB0ZXN0ZWQgYnkgTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zLgorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAg
KiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6V3JhcFNoYXBlOjpk
ZXN0cm95KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5oOgorICAgICAg
ICAoV2ViQ29yZTo6V3JhcFNoYXBlOjpkZXJlZik6CisgICAgICAgIChXcmFwU2hhcGUpOgorICAg
ICAgICAoV2ViQ29yZTo6V3JhcFNoYXBlOjp0eXBlKToKKyAgICAgICAgKFdlYkNvcmU6OldyYXBT
aGFwZTo6c2V0VHlwZSk6CisgICAgICAgIChXcmFwU2hhcGVSZWN0YW5nbGUpOgorICAgICAgICAo
V2ViQ29yZTo6V3JhcFNoYXBlUmVjdGFuZ2xlOjpXcmFwU2hhcGVSZWN0YW5nbGUpOgorICAgICAg
ICAoV2ViQ29yZTo6V3JhcFNoYXBlQ2lyY2xlOjpXcmFwU2hhcGVDaXJjbGUpOgorICAgICAgICAo
V2ViQ29yZTo6V3JhcFNoYXBlRWxsaXBzZTo6V3JhcFNoYXBlRWxsaXBzZSk6CisgICAgICAgIChX
ZWJDb3JlOjpXcmFwU2hhcGVQb2x5Z29uOjpXcmFwU2hhcGVQb2x5Z29uKToKKyAgICAgICAgKFdy
YXBTaGFwZVBvbHlnb24pOgorCiAyMDEyLTA3LTI1ICBLb25yYWQgUGlhc2NpayAgPGtwaWFzY2lr
QHJpbS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogR2VvbG9jYXRpb24gb3ZlcnJpZGUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMjhiNjllM2E1NGE1ZjUyZjE5YzUyOTcxNzNiZTBiNzRl
YjlmMjVkMS4uYmQzNWFjZjFlOTVhNjhkNDE3NWMxY2I3OWFkMjIyMTRlMzVkOTZkYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTIwODEsNiArMjA4MSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMK
ICAgICByZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmNwcAogICAgIHJlbmRlcmluZy9z
dHlsZS9TVkdSZW5kZXJTdHlsZS5jcHAKICAgICByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5
bGVEZWZzLmNwcAorICAgIHJlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmNwcAogCiAgICAgcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdCbG9jay5jcHAKICAgICByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R0NvbnRhaW5lci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGRiNWY4NjQ0
YmQ5ZjYwY2Y2MDc5ZWZkOTBlMDM1YjAyNDI0NGZiODcuLmZiYTA0ZmQ5NTExMzljYjZiMTRhZmIw
ZWQyYjYyMTkzNTg5MjQ3MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDEz
Niw2ICs0MTM2LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlRGVmcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaCBcCisJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1dyYXBTaGFwZXMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
V3JhcFNoYXBlcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0Js
b2NrLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdCbG9jay5o
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpCmluZGV4IGViYzNiNTk3ZjMyMGIxN2ViYzU1MjhmMjBiNDZjMmJjMjc0Yjcw
NDYuLjQ2NzA0NDNlZDczOGQ5ZmMwMDVjNzgxMzQyZjVjZjQxMzdjZjY0ZWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnBy
aQpAQCAtMTIwNiw2ICsxMjA2LDcgQEAgU09VUkNFUyArPSBcCiAgICAgcmVuZGVyaW5nL3N0eWxl
L1N0eWxlU3Vycm91bmREYXRhLmNwcCBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL1N0eWxlVHJhbnNm
b3JtRGF0YS5jcHAgXAogICAgIHJlbmRlcmluZy9zdHlsZS9TdHlsZVZpc3VhbERhdGEuY3BwIFwK
KyAgICByZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5jcHAgXAogICAgIHN0b3JhZ2UvU3RvcmFn
ZVRhc2suY3BwIFwKICAgICBzdG9yYWdlL1N0b3JhZ2VUaHJlYWQuY3BwIFwKICAgICBzdG9yYWdl
L1N0b3JhZ2UuY3BwIFwKQEAgLTIzODIsNiArMjM4Myw3IEBAIEhFQURFUlMgKz0gXAogICAgIHJl
bmRlcmluZy9zdHlsZS9TdHlsZVZpc3VhbERhdGEuaCBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL1NW
R1JlbmRlclN0eWxlRGVmcy5oIFwKICAgICByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUu
aCBcCisgICAgcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuaCBcCiAgICAgcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdCbG9jay5oIFwKICAgICByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0NvbnRhaW5l
ci5oIFwKICAgICByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0VsbGlwc2UuaCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKaW5kZXggNWYyYzIwMmY1MWY3MGZiMmViMGEwOTM2Yjg5MjNhYzU0NTIyYmU1YS4uYWVmMGEz
YjM4NTU1NTlkYTQ0NzE1Mzk2MmRkNTQ3ZWU0YmY1YjcwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAt
NjA5LDYgKzYwOSw3IEBACiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlVHJhbnNm
b3JtRGF0YS5oJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVWYXJpYWJsZURh
dGEuaCcsCiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlzdWFsRGF0YS5oJywK
KyAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5oJywKICAgICAgICAgICAg
ICdyZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlc0NhY2hlLmgnLAogICAgICAgICAgICAgJ3dvcmtl
cnMvV29ya2VyUnVuTG9vcC5oJywKICAgICAgICAgICAgICd3b3JrZXJzL1dvcmtlclRocmVhZC5o
JywKQEAgLTQ4OTQsNiArNDg5NSw3IEBACiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0
eWxlU3Vycm91bmREYXRhLmNwcCcsCiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxl
VHJhbnNmb3JtRGF0YS5jcHAnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZVZp
c3VhbERhdGEuY3BwJywKKyAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5j
cHAnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lRmxvd0JveC5jcHAnLAog
ICAgICAgICAgICAgJ3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lRmxvd0JveC5oJywKICAgICAgICAg
ICAgICdyZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwJywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggNTVjYTBhZjVlODA4MTE4NDAx
MGQ1MTA4ODFmODFmMTc3N2VhNDllYy4uN2ZhMDM5OWQ0ZGUyYzJjZDhhZDBhY2FiNmVlMjFmMWFk
NWNiMTJmYSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKQEAgLTQ2MjU5LDYgKzQ2MjU5LDE0IEBACiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVy
aW5nXHN0eWxlXFNWR1JlbmRlclN0eWxlRGVmcy5oIgogCQkJCQk+CiAJCQkJPC9GaWxlPgorCQkJ
CTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXHN0eWxlXFdyYXBTaGFwZXMu
Y3BwIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0i
Li5ccmVuZGVyaW5nXHN0eWxlXFdyYXBTaGFwZXMuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KIAkJ
CTwvRmlsdGVyPgogCQkJPEZpbHRlcgogCQkJCU5hbWU9InN2ZyIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjOWEyMjliNWEzNDNl
NzAyM2UyZDJmYjAyMGExOTgyNWI3MjllOWUzLi45ZjQyNGRmZjRiNTFlYjhhMWNhZjA1MGUyODhk
Mzk4MGFiZGNhYWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC02MTgzLDYgKzYxODMsNyBAQAogCQlGNTEyMkM5MDE1NDdGQTFC
MDAyOEE5M0IgLyogUGFnZVBvcHVwRHJpdmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGNTEyMkM4RjE1NDdGQTFCMDAyOEE5M0IgLyogUGFnZVBvcHVw
RHJpdmVyLmggKi87IH07CiAJCUY1MTQyQzY5MTIzRjEyQjAwMEY1QkQ0QyAvKiBMb2NhbGl6ZWRO
dW1iZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1
MTQyQzY4MTIzRjEyQjAwMEY1QkQ0QyAvKiBMb2NhbGl6ZWROdW1iZXIuaCAqLzsgfTsKIAkJRjUy
QUQ1RTQxNTM0MjQ1RjAwNTlGQkU2IC8qIEVtcHR5Q2xpZW50cy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTJBRDVFMzE1MzQyNDVGMDA1OUZCRTYg
LyogRW1wdHlDbGllbnRzLmNwcCAqLzsgfTsKKwkJRjU1M0I4OTMxNUJFMjZDMDAwQjEzNEM5IC8q
IFdyYXBTaGFwZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjU1M0I4OTIxNUJFMjZDMDAwQjEzNEM5IC8qIFdyYXBTaGFwZXMuY3BwICovOyB9Owog
CQlGNTVCM0RBRDEyNTFGMTJEMDAzRUYyNjkgLyogQmFzZVRleHRJbnB1dFR5cGUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjU1QjNENzkxMjUxRjEy
RDAwM0VGMjY5IC8qIEJhc2VUZXh0SW5wdXRUeXBlLmNwcCAqLzsgfTsKIAkJRjU1QjNEQUUxMjUx
RjEyRDAwM0VGMjY5IC8qIEJhc2VUZXh0SW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTVCM0Q3QTEyNTFGMTJEMDAzRUYyNjkgLyogQmFz
ZVRleHRJbnB1dFR5cGUuaCAqLzsgfTsKIAkJRjU1QjNEQUYxMjUxRjEyRDAwM0VGMjY5IC8qIEJ1
dHRvbklucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGNTVCM0Q3QjEyNTFGMTJEMDAzRUYyNjkgLyogQnV0dG9uSW5wdXRUeXBlLmNwcCAq
LzsgfTsKQEAgLTEzNTAyLDYgKzEzNTAzLDcgQEAKIAkJRjUyM0QzMDMwMkRFNDQ3NjAxODYzNUNB
IC8qIFJhbmdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGgg
PSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCUY1MjNEMzA0MDJERTQ0NzYwMTg2MzVDQSAvKiBSYW5n
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRl
bnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
YW5nZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0g
MDsgfTsKIAkJRjUyQUQ1RTMxNTM0MjQ1RjAwNTlGQkU2IC8qIEVtcHR5Q2xpZW50cy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFbXB0eUNsaWVudHMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNTUzQjg5MjE1QkUyNkMwMDBCMTM0QzkgLyogV3Jh
cFNoYXBlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXcmFwU2hh
cGVzLmNwcDsgcGF0aCA9IHN0eWxlL1dyYXBTaGFwZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGNTVCM0Q3OTEyNTFGMTJEMDAzRUYyNjkgLyogQmFzZVRleHRJbnB1dFR5cGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmFzZVRleHRJbnB1dFR5
cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNTVCM0Q3QTEyNTFGMTJEMDAz
RUYyNjkgLyogQmFzZVRleHRJbnB1dFR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQmFzZVRleHRJbnB1dFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RjU1QjNEN0IxMjUxRjEyRDAwM0VGMjY5IC8qIEJ1dHRvbklucHV0VHlwZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCdXR0b25JbnB1dFR5cGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjAzNDQsNiArMjAzNDYsNyBAQAogCQkJCUJDMjI3NDc1
MEU4MzY2RTIwMEU3Rjk3NSAvKiBTVkdSZW5kZXJTdHlsZS5oICovLAogCQkJCUJDMjI3NDc2MEU4
MzY2RTIwMEU3Rjk3NSAvKiBTVkdSZW5kZXJTdHlsZURlZnMuY3BwICovLAogCQkJCUJDMjI3NDc3
MEU4MzY2RTIwMEU3Rjk3NSAvKiBTVkdSZW5kZXJTdHlsZURlZnMuaCAqLywKKwkJCQlGNTUzQjg5
MjE1QkUyNkMwMDBCMTM0QzkgLyogV3JhcFNoYXBlcy5jcHAgKi8sCiAJCQkJRkRCNTFDRjQxNTlD
RDcwMzAwRTIyN0M1IC8qIFdyYXBTaGFwZXMuaCAqLywKIAkJCSk7CiAJCQluYW1lID0gc3R5bGU7
CkBAIC0yODM1NSw2ICsyODM1OCw3IEBACiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8q
IFplcm9Qb2xlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUMzQ0YxN0E0MTVCMDA2M0YwMDI3NkQz
OSAvKiBJZFRhcmdldE9ic2VydmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUMzQ0YxN0E2MTVC
MDA2M0YwMDI3NkQzOSAvKiBJZFRhcmdldE9ic2VydmVyUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJRjU1M0I4OTMxNUJFMjZDMDAwQjEzNEM5IC8qIFdyYXBTaGFwZXMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMTA1OTQ1NzMxNUI0Mjk1MzAwNEQzN0ZEIC8qIEpTTWljcm9EYXRhSXRl
bVZhbHVlQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTEwNTk0NTc3MTVCNDJBMEQwMDRE
MzdGRCAvKiBKU01pY3JvRGF0YUl0ZW1WYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxMDU5
NDU5NzE1QjQyQThFMDA0RDM3RkQgLyogUHJvcGVydHlOb2RlTGlzdC5jcHAgaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42MWEyYzlmYmZkZmIzYjg2MDA3ZWUxNDFiODYyMGEzOGE5YjI1Y2Y2Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuY3Bw
CkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQWRvYmUgU3lzdGVt
cyBJbmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisgKiAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUiAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9M
REVSIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksCisgKiBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SCisg
KiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YKKyAqIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorCisjaW5jbHVkZSAiV3JhcFNoYXBlcy5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK3ZvaWQgV3JhcFNoYXBlOjpkZXN0cm95KCkKK3sKKyAgICBzd2l0Y2ggKG1fdHlwZSkg
eworICAgIGNhc2UgV1JBUF9TSEFQRV9SRUNUQU5HTEU6CisgICAgICAgIGRlbGV0ZSBzdGF0aWNf
Y2FzdDxXcmFwU2hhcGVSZWN0YW5nbGUqPih0aGlzKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNh
c2UgV1JBUF9TSEFQRV9DSVJDTEU6CisgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxXcmFwU2hh
cGVDaXJjbGUqPih0aGlzKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgV1JBUF9TSEFQRV9F
TExJUFNFOgorICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8V3JhcFNoYXBlRWxsaXBzZSo+KHRo
aXMpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBXUkFQX1NIQVBFX1BPTFlHT046CisgICAg
ICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxXcmFwU2hhcGVQb2x5Z29uKj4odGhpcyk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5oCmluZGV4IDYxMDUyY2IwZGE0
Y2YzZDc1NjY1MjM0MTg3NjgyMDQ5YTk2ZDQxZjguLjc2ZWFkNDFkNTExY2VjYTEwM2ZlMTJmMDI5
OGE4NDE3ZjNmMDZmNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9XcmFwU2hhcGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1dyYXBT
aGFwZXMuaApAQCAtMTMsNyArMTMsNyBAQAogICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCiAgKiAgICBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCiAgKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUiDigJxBUyBJU+KAnSBBTkQgQU5ZCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSICJBUyBJUyIgQU5EIEFOWQogICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKICAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgogICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgQkUKQEAgLTMyLDEwICszMiwxMiBAQAogCiAjaW5j
bHVkZSAiTGVuZ3RoLmgiCiAjaW5jbHVkZSAiV2luZFJ1bGUuaCIKKyNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBXcmFwU2hhcGUgOiBwdWJsaWMgUmVmQ291bnRlZDxXcmFwU2hhcGU+IHsKK2Ns
YXNzIFdyYXBTaGFwZSA6IHB1YmxpYyBXVEY6OlJlZkNvdW50ZWRCYXNlIHsKIHB1YmxpYzoKICAg
ICBlbnVtIFR5cGUgewogICAgICAgICBXUkFQX1NIQVBFX1JFQ1RBTkdMRSA9IDEsCkBAIC00Mywx
MiArNDUsMjUgQEAgcHVibGljOgogICAgICAgICBXUkFQX1NIQVBFX0VMTElQU0UgPSAzLAogICAg
ICAgICBXUkFQX1NIQVBFX1BPTFlHT04gPSA0CiAgICAgfTsKLQotICAgIHZpcnR1YWwgVHlwZSB0
eXBlKCkgY29uc3QgPSAwOworICAgIAorICAgIHZvaWQgZGVyZWYoKSAKKyAgICB7CisgICAgICAg
IGlmIChkZXJlZkJhc2UoKSkKKyAgICAgICAgICAgIGRlc3Ryb3koKTsKKyAgICB9CisKKyAgICBU
eXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KICAgICB2aXJ0dWFsIH5XcmFwU2hh
cGUoKSB7IH0KIAogcHJvdGVjdGVkOgotICAgIFdyYXBTaGFwZSgpIHsgfQorICAgIFdyYXBTaGFw
ZShUeXBlIHR5cGUpIAorICAgIHsKKyAgICAgICAgbV90eXBlID0gdHlwZTsKKyAgICB9CisgICAg
Citwcml2YXRlOgorICAgIHZvaWQgZGVzdHJveSgpOworICAgIFR5cGUgbV90eXBlOwogfTsKIAog
Y2xhc3MgV3JhcFNoYXBlUmVjdGFuZ2xlIDogcHVibGljIFdyYXBTaGFwZSB7CkBAIC02OCwxMiAr
ODMsMTEgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SGVpZ2h0KExlbmd0aCBoZWlnaHQpIHsgbV9o
ZWlnaHQgPSBoZWlnaHQ7IH0KICAgICB2b2lkIHNldENvcm5lclJhZGl1c1goTGVuZ3RoIHJhZGl1
c1gpIHsgbV9jb3JuZXJSYWRpdXNYID0gcmFkaXVzWDsgfQogICAgIHZvaWQgc2V0Q29ybmVyUmFk
aXVzWShMZW5ndGggcmFkaXVzWSkgeyBtX2Nvcm5lclJhZGl1c1kgPSByYWRpdXNZOyB9Ci0KLSAg
ICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIFdSQVBfU0hBUEVfUkVDVEFOR0xF
OyB9Ci0KKyAgICAKIHByaXZhdGU6CiAgICAgV3JhcFNoYXBlUmVjdGFuZ2xlKCkKLSAgICAgICAg
OiBtX2Nvcm5lclJhZGl1c1goVW5kZWZpbmVkKQorICAgICAgICA6IFdyYXBTaGFwZShXUkFQX1NI
QVBFX1JFQ1RBTkdMRSkKKyAgICAgICAgLCBtX2Nvcm5lclJhZGl1c1goVW5kZWZpbmVkKQogICAg
ICAgICAsIG1fY29ybmVyUmFkaXVzWShVbmRlZmluZWQpCiAgICAgeyB9CiAKQEAgLTk3LDkgKzEx
MSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDZW50ZXJZKExlbmd0aCBjZW50ZXJZKSB7IG1f
Y2VudGVyWSA9IGNlbnRlclk7IH0KICAgICB2b2lkIHNldFJhZGl1cyhMZW5ndGggcmFkaXVzKSB7
IG1fcmFkaXVzID0gcmFkaXVzOyB9CiAKLSAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IHsg
cmV0dXJuIFdSQVBfU0hBUEVfQ0lSQ0xFOyB9CiBwcml2YXRlOgotICAgIFdyYXBTaGFwZUNpcmNs
ZSgpIHsgfQorICAgIFdyYXBTaGFwZUNpcmNsZSgpIAorICAgICAgICA6IFdyYXBTaGFwZShXUkFQ
X1NIQVBFX0NJUkNMRSkKKyAgICB7IH0KIAogICAgIExlbmd0aCBtX2NlbnRlclg7CiAgICAgTGVu
Z3RoIG1fY2VudGVyWTsKQEAgLTEyMCw5ICsxMzUsMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0
UmFkaXVzWChMZW5ndGggcmFkaXVzWCkgeyBtX3JhZGl1c1ggPSByYWRpdXNYOyB9CiAgICAgdm9p
ZCBzZXRSYWRpdXNZKExlbmd0aCByYWRpdXNZKSB7IG1fcmFkaXVzWSA9IHJhZGl1c1k7IH0KIAot
ICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gV1JBUF9TSEFQRV9FTExJUFNF
OyB9CiBwcml2YXRlOgotICAgIFdyYXBTaGFwZUVsbGlwc2UoKSB7IH0KKyAgICBXcmFwU2hhcGVF
bGxpcHNlKCkgCisgICAgICAgIDogV3JhcFNoYXBlKFdSQVBfU0hBUEVfRUxMSVBTRSkKKyAgICB7
IH0KIAogICAgIExlbmd0aCBtX2NlbnRlclg7CiAgICAgTGVuZ3RoIG1fY2VudGVyWTsKQEAgLTE0
MiwxMiArMTU4LDEyIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFdpbmRSdWxlKFdpbmRSdWxlIHdp
bmRSdWxlKSB7IG1fd2luZFJ1bGUgPSB3aW5kUnVsZTsgfQogICAgIHZvaWQgYXBwZW5kUG9pbnQo
TGVuZ3RoIHgsIExlbmd0aCB5KSB7IG1fdmFsdWVzLmFwcGVuZCh4KTsgbV92YWx1ZXMuYXBwZW5k
KHkpOyB9CiAKLSAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIFdSQVBfU0hB
UEVfUE9MWUdPTjsgfQogcHJpdmF0ZToKICAgICBXcmFwU2hhcGVQb2x5Z29uKCkKLSAgICAgICAg
OiBtX3dpbmRSdWxlKFJVTEVfTk9OWkVSTykKKyAgICAgICAgOiBXcmFwU2hhcGUoV1JBUF9TSEFQ
RV9QT0xZR09OKQorICAgICAgICAsIG1fd2luZFJ1bGUoUlVMRV9OT05aRVJPKQogICAgIHsgfQot
CisgICAgCiAgICAgV2luZFJ1bGUgbV93aW5kUnVsZTsKICAgICBWZWN0b3I8TGVuZ3RoPiBtX3Zh
bHVlczsKIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154454</attachid>
            <date>2012-07-25 15:03:56 -0700</date>
            <delta_ts>2012-07-25 15:23:33 -0700</delta_ts>
            <desc>Updated patch for bug 90998</desc>
            <filename>bug-90998-20120725150345.patch</filename>
            <type>text/plain</type>
            <size>14666</size>
            <attacher name="Anish">bhayani</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTFkYzQ5NTRlNTM0Yjkw
ZjIyZDJlZjRiMjQyY2YwNDU5ZmNmMmZjNi4uMDc0Mzc4MWJkNWY1OGZmOGY3OTUwNjQ5NTljYTVm
OGQ0OTkwZTE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTA3LTI1ICBBbmlz
aCBCaGF5YW5pICA8YW5pc2guYmhheWFuaUBnbWFpbC5jb20+CisKKyAgICAgICAgRGUtdmlydHVh
bGl6ZSBXcmFwU2hhcGUgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTA5OTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGUgZGVzdHJ1Y3RvciBmb3IgV3JhcFNoYXBlcyBjbGFzc2VzIGRpZCBu
b3QgbmVlZCB0byB1c2UgYSB2aXJ0dWFsCisgICAgICAgIHBvaW50ZXIuIFdyYXBTaGFwZXMuY3Bw
IGlzIGNyZWF0ZWQgdG8gY2FzdCB0aGUgV3JhcFNoYXBlIGRlc3RydWN0b3IgCisgICAgICAgIHRv
IHRoZSBzdWJjbGFzcyB0eXBlIHNhdmluZyBtZW1vcnkgYW5kIGF2b2lkaW5nIHZpcnR1YWwgY2Fs
bHMuIAorCisgICAgICAgIFRoZXJlIGFyZSBleGlzdGluZyB0ZXN0cyB0aGF0IGNvdmVyIHRoZSB2
YWxpZGl0eSBvZiBzaGFwZXMuIFRoZQorICAgICAgICBhZGRlZCBjaGFuZ2VzIG1lcmVseSBjaGFu
Z2UgdGhlIGRlc3RydWN0b3Igb2YgdGhlIHNoYXBlIG9iamVjdHMKKyAgICAgICAgd2hpY2ggaXMg
YWxzbyB0ZXN0ZWQgYnkgTGF5b3V0VGVzdHMvZmFzdC9leGNsdXNpb25zLgorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAg
KiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6V3JhcFNoYXBlOjpk
ZXN0cm95KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5oOgorICAgICAg
ICAoV2ViQ29yZTo6V3JhcFNoYXBlOjpkZXJlZik6CisgICAgICAgIChXcmFwU2hhcGUpOgorICAg
ICAgICAoV2ViQ29yZTo6V3JhcFNoYXBlOjp0eXBlKToKKyAgICAgICAgKFdlYkNvcmU6OldyYXBT
aGFwZTo6c2V0VHlwZSk6CisgICAgICAgIChXcmFwU2hhcGVSZWN0YW5nbGUpOgorICAgICAgICAo
V2ViQ29yZTo6V3JhcFNoYXBlUmVjdGFuZ2xlOjpXcmFwU2hhcGVSZWN0YW5nbGUpOgorICAgICAg
ICAoV2ViQ29yZTo6V3JhcFNoYXBlQ2lyY2xlOjpXcmFwU2hhcGVDaXJjbGUpOgorICAgICAgICAo
V2ViQ29yZTo6V3JhcFNoYXBlRWxsaXBzZTo6V3JhcFNoYXBlRWxsaXBzZSk6CisgICAgICAgIChX
ZWJDb3JlOjpXcmFwU2hhcGVQb2x5Z29uOjpXcmFwU2hhcGVQb2x5Z29uKToKKyAgICAgICAgKFdy
YXBTaGFwZVBvbHlnb24pOgorCiAyMDEyLTA3LTI1ICBNaWtlIFJlZWQgIDxyZWVkQGdvb2dsZS5j
b20+CiAKICAgICAgICAgZml4IHRlc3QgaW4gYmVnaW5MYXllckNsaXBwZWRUb0ltYWdlIHRvIGNo
ZWNrIGZvciBpbW11dGFiaWxpdHkgaWYgd2UncmUgZ29pbmcgdG8gZG8gYSBzaGFsbG93LWNvcHkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMjhiNjllM2E1NGE1ZjUyZjE5YzUyOTcxNzNiZTBiNzRl
YjlmMjVkMS4uYmQzNWFjZjFlOTVhNjhkNDE3NWMxY2I3OWFkMjIyMTRlMzVkOTZkYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKQEAgLTIwODEsNiArMjA4MSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMK
ICAgICByZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmNwcAogICAgIHJlbmRlcmluZy9z
dHlsZS9TVkdSZW5kZXJTdHlsZS5jcHAKICAgICByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5
bGVEZWZzLmNwcAorICAgIHJlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmNwcAogCiAgICAgcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdCbG9jay5jcHAKICAgICByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R0NvbnRhaW5lci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGRiNWY4NjQ0
YmQ5ZjYwY2Y2MDc5ZWZkOTBlMDM1YjAyNDI0NGZiODcuLmZiYTA0ZmQ5NTExMzljYjZiMTRhZmIw
ZWQyYjYyMTkzNTg5MjQ3MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDEz
Niw2ICs0MTM2LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlRGVmcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaCBcCisJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1dyYXBTaGFwZXMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
V3JhcFNoYXBlcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0Js
b2NrLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdCbG9jay5o
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpCmluZGV4IGViYzNiNTk3ZjMyMGIxN2ViYzU1MjhmMjBiNDZjMmJjMjc0Yjcw
NDYuLjQ2NzA0NDNlZDczOGQ5ZmMwMDVjNzgxMzQyZjVjZjQxMzdjZjY0ZWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnBy
aQpAQCAtMTIwNiw2ICsxMjA2LDcgQEAgU09VUkNFUyArPSBcCiAgICAgcmVuZGVyaW5nL3N0eWxl
L1N0eWxlU3Vycm91bmREYXRhLmNwcCBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL1N0eWxlVHJhbnNm
b3JtRGF0YS5jcHAgXAogICAgIHJlbmRlcmluZy9zdHlsZS9TdHlsZVZpc3VhbERhdGEuY3BwIFwK
KyAgICByZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5jcHAgXAogICAgIHN0b3JhZ2UvU3RvcmFn
ZVRhc2suY3BwIFwKICAgICBzdG9yYWdlL1N0b3JhZ2VUaHJlYWQuY3BwIFwKICAgICBzdG9yYWdl
L1N0b3JhZ2UuY3BwIFwKQEAgLTIzODIsNiArMjM4Myw3IEBAIEhFQURFUlMgKz0gXAogICAgIHJl
bmRlcmluZy9zdHlsZS9TdHlsZVZpc3VhbERhdGEuaCBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL1NW
R1JlbmRlclN0eWxlRGVmcy5oIFwKICAgICByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUu
aCBcCisgICAgcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuaCBcCiAgICAgcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdCbG9jay5oIFwKICAgICByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0NvbnRhaW5l
ci5oIFwKICAgICByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0VsbGlwc2UuaCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKaW5kZXggYzkxYzQxNTE3MDg5YTVkZTA1MmEwZDYzZjE1MGYwYjMzMTE2MWZlMC4uYTRlNmIx
ZjkxOTM0YTQzNTA3ZjMzZjlhYzY3MDUxMjdmOTRlY2I1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAt
NjA5LDYgKzYwOSw3IEBACiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlVHJhbnNm
b3JtRGF0YS5oJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVWYXJpYWJsZURh
dGEuaCcsCiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlzdWFsRGF0YS5oJywK
KyAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5oJywKICAgICAgICAgICAg
ICdyZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlc0NhY2hlLmgnLAogICAgICAgICAgICAgJ3dvcmtl
cnMvV29ya2VyUnVuTG9vcC5oJywKICAgICAgICAgICAgICd3b3JrZXJzL1dvcmtlclRocmVhZC5o
JywKQEAgLTQ4OTQsNiArNDg5NSw3IEBACiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0
eWxlU3Vycm91bmREYXRhLmNwcCcsCiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxl
VHJhbnNmb3JtRGF0YS5jcHAnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZVZp
c3VhbERhdGEuY3BwJywKKyAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5j
cHAnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lRmxvd0JveC5jcHAnLAog
ICAgICAgICAgICAgJ3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lRmxvd0JveC5oJywKICAgICAgICAg
ICAgICdyZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwJywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggNTVjYTBhZjVlODA4MTE4NDAx
MGQ1MTA4ODFmODFmMTc3N2VhNDllYy4uN2ZhMDM5OWQ0ZGUyYzJjZDhhZDBhY2FiNmVlMjFmMWFk
NWNiMTJmYSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKQEAgLTQ2MjU5LDYgKzQ2MjU5LDE0IEBACiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVy
aW5nXHN0eWxlXFNWR1JlbmRlclN0eWxlRGVmcy5oIgogCQkJCQk+CiAJCQkJPC9GaWxlPgorCQkJ
CTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccmVuZGVyaW5nXHN0eWxlXFdyYXBTaGFwZXMu
Y3BwIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0i
Li5ccmVuZGVyaW5nXHN0eWxlXFdyYXBTaGFwZXMuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KIAkJ
CTwvRmlsdGVyPgogCQkJPEZpbHRlcgogCQkJCU5hbWU9InN2ZyIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjOWEyMjliNWEzNDNl
NzAyM2UyZDJmYjAyMGExOTgyNWI3MjllOWUzLi45ZjQyNGRmZjRiNTFlYjhhMWNhZjA1MGUyODhk
Mzk4MGFiZGNhYWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC02MTgzLDYgKzYxODMsNyBAQAogCQlGNTEyMkM5MDE1NDdGQTFC
MDAyOEE5M0IgLyogUGFnZVBvcHVwRHJpdmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGNTEyMkM4RjE1NDdGQTFCMDAyOEE5M0IgLyogUGFnZVBvcHVw
RHJpdmVyLmggKi87IH07CiAJCUY1MTQyQzY5MTIzRjEyQjAwMEY1QkQ0QyAvKiBMb2NhbGl6ZWRO
dW1iZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1
MTQyQzY4MTIzRjEyQjAwMEY1QkQ0QyAvKiBMb2NhbGl6ZWROdW1iZXIuaCAqLzsgfTsKIAkJRjUy
QUQ1RTQxNTM0MjQ1RjAwNTlGQkU2IC8qIEVtcHR5Q2xpZW50cy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTJBRDVFMzE1MzQyNDVGMDA1OUZCRTYg
LyogRW1wdHlDbGllbnRzLmNwcCAqLzsgfTsKKwkJRjU1M0I4OTMxNUJFMjZDMDAwQjEzNEM5IC8q
IFdyYXBTaGFwZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjU1M0I4OTIxNUJFMjZDMDAwQjEzNEM5IC8qIFdyYXBTaGFwZXMuY3BwICovOyB9Owog
CQlGNTVCM0RBRDEyNTFGMTJEMDAzRUYyNjkgLyogQmFzZVRleHRJbnB1dFR5cGUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjU1QjNENzkxMjUxRjEy
RDAwM0VGMjY5IC8qIEJhc2VUZXh0SW5wdXRUeXBlLmNwcCAqLzsgfTsKIAkJRjU1QjNEQUUxMjUx
RjEyRDAwM0VGMjY5IC8qIEJhc2VUZXh0SW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTVCM0Q3QTEyNTFGMTJEMDAzRUYyNjkgLyogQmFz
ZVRleHRJbnB1dFR5cGUuaCAqLzsgfTsKIAkJRjU1QjNEQUYxMjUxRjEyRDAwM0VGMjY5IC8qIEJ1
dHRvbklucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGNTVCM0Q3QjEyNTFGMTJEMDAzRUYyNjkgLyogQnV0dG9uSW5wdXRUeXBlLmNwcCAq
LzsgfTsKQEAgLTEzNTAyLDYgKzEzNTAzLDcgQEAKIAkJRjUyM0QzMDMwMkRFNDQ3NjAxODYzNUNB
IC8qIFJhbmdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGgg
PSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCUY1MjNEMzA0MDJERTQ0NzYwMTg2MzVDQSAvKiBSYW5n
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRl
bnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
YW5nZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0g
MDsgfTsKIAkJRjUyQUQ1RTMxNTM0MjQ1RjAwNTlGQkU2IC8qIEVtcHR5Q2xpZW50cy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFbXB0eUNsaWVudHMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNTUzQjg5MjE1QkUyNkMwMDBCMTM0QzkgLyogV3Jh
cFNoYXBlcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXcmFwU2hh
cGVzLmNwcDsgcGF0aCA9IHN0eWxlL1dyYXBTaGFwZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGNTVCM0Q3OTEyNTFGMTJEMDAzRUYyNjkgLyogQmFzZVRleHRJbnB1dFR5cGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQmFzZVRleHRJbnB1dFR5
cGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNTVCM0Q3QTEyNTFGMTJEMDAz
RUYyNjkgLyogQmFzZVRleHRJbnB1dFR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQmFzZVRleHRJbnB1dFR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RjU1QjNEN0IxMjUxRjEyRDAwM0VGMjY5IC8qIEJ1dHRvbklucHV0VHlwZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCdXR0b25JbnB1dFR5cGUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjAzNDQsNiArMjAzNDYsNyBAQAogCQkJCUJDMjI3NDc1
MEU4MzY2RTIwMEU3Rjk3NSAvKiBTVkdSZW5kZXJTdHlsZS5oICovLAogCQkJCUJDMjI3NDc2MEU4
MzY2RTIwMEU3Rjk3NSAvKiBTVkdSZW5kZXJTdHlsZURlZnMuY3BwICovLAogCQkJCUJDMjI3NDc3
MEU4MzY2RTIwMEU3Rjk3NSAvKiBTVkdSZW5kZXJTdHlsZURlZnMuaCAqLywKKwkJCQlGNTUzQjg5
MjE1QkUyNkMwMDBCMTM0QzkgLyogV3JhcFNoYXBlcy5jcHAgKi8sCiAJCQkJRkRCNTFDRjQxNTlD
RDcwMzAwRTIyN0M1IC8qIFdyYXBTaGFwZXMuaCAqLywKIAkJCSk7CiAJCQluYW1lID0gc3R5bGU7
CkBAIC0yODM1NSw2ICsyODM1OCw3IEBACiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8q
IFplcm9Qb2xlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUMzQ0YxN0E0MTVCMDA2M0YwMDI3NkQz
OSAvKiBJZFRhcmdldE9ic2VydmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUMzQ0YxN0E2MTVC
MDA2M0YwMDI3NkQzOSAvKiBJZFRhcmdldE9ic2VydmVyUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJRjU1M0I4OTMxNUJFMjZDMDAwQjEzNEM5IC8qIFdyYXBTaGFwZXMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMTA1OTQ1NzMxNUI0Mjk1MzAwNEQzN0ZEIC8qIEpTTWljcm9EYXRhSXRl
bVZhbHVlQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTEwNTk0NTc3MTVCNDJBMEQwMDRE
MzdGRCAvKiBKU01pY3JvRGF0YUl0ZW1WYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxMDU5
NDU5NzE1QjQyQThFMDA0RDM3RkQgLyogUHJvcGVydHlOb2RlTGlzdC5jcHAgaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42MWEyYzlmYmZkZmIzYjg2MDA3ZWUxNDFiODYyMGEzOGE5YjI1Y2Y2Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuY3Bw
CkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQWRvYmUgU3lzdGVt
cyBJbmNvcnBvcmF0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCisgKiAgICBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUiAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9M
REVSIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksCisgKiBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SCisg
KiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YKKyAqIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorCisjaW5jbHVkZSAiV3JhcFNoYXBlcy5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK3ZvaWQgV3JhcFNoYXBlOjpkZXN0cm95KCkKK3sKKyAgICBzd2l0Y2ggKG1fdHlwZSkg
eworICAgIGNhc2UgV1JBUF9TSEFQRV9SRUNUQU5HTEU6CisgICAgICAgIGRlbGV0ZSBzdGF0aWNf
Y2FzdDxXcmFwU2hhcGVSZWN0YW5nbGUqPih0aGlzKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNh
c2UgV1JBUF9TSEFQRV9DSVJDTEU6CisgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxXcmFwU2hh
cGVDaXJjbGUqPih0aGlzKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgV1JBUF9TSEFQRV9F
TExJUFNFOgorICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8V3JhcFNoYXBlRWxsaXBzZSo+KHRo
aXMpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBXUkFQX1NIQVBFX1BPTFlHT046CisgICAg
ICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxXcmFwU2hhcGVQb2x5Z29uKj4odGhpcyk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5oCmluZGV4IDYxMDUyY2IwZGE0
Y2YzZDc1NjY1MjM0MTg3NjgyMDQ5YTk2ZDQxZjguLmU4MTE4YmU1YWM2NmM1NjE0M2M1NTBiZTZj
NGVlZjhlN2ZlMGU0OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9XcmFwU2hhcGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1dyYXBT
aGFwZXMuaApAQCAtMTMsNyArMTMsNyBAQAogICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzCiAgKiAgICBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCiAgKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUiDigJxBUyBJU+KAnSBBTkQgQU5ZCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSICJBUyBJUyIgQU5EIEFOWQogICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKICAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgogICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgQkUKQEAgLTMyLDEwICszMiwxMiBAQAogCiAjaW5j
bHVkZSAiTGVuZ3RoLmgiCiAjaW5jbHVkZSAiV2luZFJ1bGUuaCIKKyNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBXcmFwU2hhcGUgOiBwdWJsaWMgUmVmQ291bnRlZDxXcmFwU2hhcGU+IHsKK2Ns
YXNzIFdyYXBTaGFwZSA6IHB1YmxpYyBXVEY6OlJlZkNvdW50ZWRCYXNlIHsKIHB1YmxpYzoKICAg
ICBlbnVtIFR5cGUgewogICAgICAgICBXUkFQX1NIQVBFX1JFQ1RBTkdMRSA9IDEsCkBAIC00Mywx
MiArNDUsMjQgQEAgcHVibGljOgogICAgICAgICBXUkFQX1NIQVBFX0VMTElQU0UgPSAzLAogICAg
ICAgICBXUkFQX1NIQVBFX1BPTFlHT04gPSA0CiAgICAgfTsKLQotICAgIHZpcnR1YWwgVHlwZSB0
eXBlKCkgY29uc3QgPSAwOworICAgIAorICAgIHZvaWQgZGVyZWYoKSAKKyAgICB7CisgICAgICAg
IGlmIChkZXJlZkJhc2UoKSkKKyAgICAgICAgICAgIGRlc3Ryb3koKTsKKyAgICB9CisKKyAgICBU
eXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KICAgICB2aXJ0dWFsIH5XcmFwU2hh
cGUoKSB7IH0KIAogcHJvdGVjdGVkOgotICAgIFdyYXBTaGFwZSgpIHsgfQorICAgIFdyYXBTaGFw
ZShUeXBlIHR5cGUpCisgICAgICAgIDogbV90eXBlKHR5cGUpCisgICAgeyB9CisKK3ByaXZhdGU6
CisgICAgdm9pZCBkZXN0cm95KCk7CisgICAgVHlwZSBtX3R5cGU7CiB9OwogCiBjbGFzcyBXcmFw
U2hhcGVSZWN0YW5nbGUgOiBwdWJsaWMgV3JhcFNoYXBlIHsKQEAgLTY4LDEyICs4MiwxMSBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRIZWlnaHQoTGVuZ3RoIGhlaWdodCkgeyBtX2hlaWdodCA9IGhl
aWdodDsgfQogICAgIHZvaWQgc2V0Q29ybmVyUmFkaXVzWChMZW5ndGggcmFkaXVzWCkgeyBtX2Nv
cm5lclJhZGl1c1ggPSByYWRpdXNYOyB9CiAgICAgdm9pZCBzZXRDb3JuZXJSYWRpdXNZKExlbmd0
aCByYWRpdXNZKSB7IG1fY29ybmVyUmFkaXVzWSA9IHJhZGl1c1k7IH0KLQotICAgIHZpcnR1YWwg
VHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gV1JBUF9TSEFQRV9SRUNUQU5HTEU7IH0KLQorICAg
IAogcHJpdmF0ZToKICAgICBXcmFwU2hhcGVSZWN0YW5nbGUoKQotICAgICAgICA6IG1fY29ybmVy
UmFkaXVzWChVbmRlZmluZWQpCisgICAgICAgIDogV3JhcFNoYXBlKFdSQVBfU0hBUEVfUkVDVEFO
R0xFKQorICAgICAgICAsIG1fY29ybmVyUmFkaXVzWChVbmRlZmluZWQpCiAgICAgICAgICwgbV9j
b3JuZXJSYWRpdXNZKFVuZGVmaW5lZCkKICAgICB7IH0KIApAQCAtOTcsOSArMTEwLDEwIEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldENlbnRlclkoTGVuZ3RoIGNlbnRlclkpIHsgbV9jZW50ZXJZID0g
Y2VudGVyWTsgfQogICAgIHZvaWQgc2V0UmFkaXVzKExlbmd0aCByYWRpdXMpIHsgbV9yYWRpdXMg
PSByYWRpdXM7IH0KIAotICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gV1JB
UF9TSEFQRV9DSVJDTEU7IH0KIHByaXZhdGU6Ci0gICAgV3JhcFNoYXBlQ2lyY2xlKCkgeyB9Cisg
ICAgV3JhcFNoYXBlQ2lyY2xlKCkgCisgICAgICAgIDogV3JhcFNoYXBlKFdSQVBfU0hBUEVfQ0lS
Q0xFKQorICAgIHsgfQogCiAgICAgTGVuZ3RoIG1fY2VudGVyWDsKICAgICBMZW5ndGggbV9jZW50
ZXJZOwpAQCAtMTIwLDkgKzEzNCwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRSYWRpdXNYKExl
bmd0aCByYWRpdXNYKSB7IG1fcmFkaXVzWCA9IHJhZGl1c1g7IH0KICAgICB2b2lkIHNldFJhZGl1
c1koTGVuZ3RoIHJhZGl1c1kpIHsgbV9yYWRpdXNZID0gcmFkaXVzWTsgfQogCi0gICAgdmlydHVh
bCBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBXUkFQX1NIQVBFX0VMTElQU0U7IH0KIHByaXZh
dGU6Ci0gICAgV3JhcFNoYXBlRWxsaXBzZSgpIHsgfQorICAgIFdyYXBTaGFwZUVsbGlwc2UoKSAK
KyAgICAgICAgOiBXcmFwU2hhcGUoV1JBUF9TSEFQRV9FTExJUFNFKQorICAgIHsgfQogCiAgICAg
TGVuZ3RoIG1fY2VudGVyWDsKICAgICBMZW5ndGggbV9jZW50ZXJZOwpAQCAtMTQyLDEwICsxNTcs
MTAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0V2luZFJ1bGUoV2luZFJ1bGUgd2luZFJ1bGUpIHsg
bV93aW5kUnVsZSA9IHdpbmRSdWxlOyB9CiAgICAgdm9pZCBhcHBlbmRQb2ludChMZW5ndGggeCwg
TGVuZ3RoIHkpIHsgbV92YWx1ZXMuYXBwZW5kKHgpOyBtX3ZhbHVlcy5hcHBlbmQoeSk7IH0KIAot
ICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gV1JBUF9TSEFQRV9QT0xZR09O
OyB9CiBwcml2YXRlOgogICAgIFdyYXBTaGFwZVBvbHlnb24oKQotICAgICAgICA6IG1fd2luZFJ1
bGUoUlVMRV9OT05aRVJPKQorICAgICAgICA6IFdyYXBTaGFwZShXUkFQX1NIQVBFX1BPTFlHT04p
CisgICAgICAgICwgbV93aW5kUnVsZShSVUxFX05PTlpFUk8pCiAgICAgeyB9CiAKICAgICBXaW5k
UnVsZSBtX3dpbmRSdWxlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154460</attachid>
            <date>2012-07-25 15:23:37 -0700</date>
            <delta_ts>2012-07-26 14:57:30 -0700</delta_ts>
            <desc>Updated patch for bug 90998</desc>
            <filename>bug-90998-20120725152327.patch</filename>
            <type>text/plain</type>
            <size>14647</size>
            <attacher name="Anish">bhayani</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODNmZDgwYzAyYTEyNzEx
MTBiYjdjMzIzNTZiZDMzZjZjNDY0OGIyMC4uN2Q5YzVmMTZhNmExOWMyMGQwOWMwOTNiOWE2M2Ni
YjQ0OGM1NGE3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTA3LTI1ICBBbmlz
aCBCaGF5YW5pICA8YW5pc2guYmhheWFuaUBnbWFpbC5jb20+CisKKyAgICAgICAgRGUtdmlydHVh
bGl6ZSBXcmFwU2hhcGUgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTA5OTgKKworICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5n
LgorCisgICAgICAgIFRoZSBkZXN0cnVjdG9yIGZvciBXcmFwU2hhcGVzIGNsYXNzZXMgZGlkIG5v
dCBuZWVkIHRvIHVzZSBhIHZpcnR1YWwKKyAgICAgICAgcG9pbnRlci4gV3JhcFNoYXBlcy5jcHAg
aXMgY3JlYXRlZCB0byBjYXN0IHRoZSBXcmFwU2hhcGUgZGVzdHJ1Y3RvciAKKyAgICAgICAgdG8g
dGhlIHN1YmNsYXNzIHR5cGUgc2F2aW5nIG1lbW9yeSBhbmQgYXZvaWRpbmcgdmlydHVhbCBjYWxs
cy4gCisKKyAgICAgICAgVGhlcmUgYXJlIGV4aXN0aW5nIHRlc3RzIHRoYXQgY292ZXIgdGhlIHZh
bGlkaXR5IG9mIHNoYXBlcy4gVGhlCisgICAgICAgIGFkZGVkIGNoYW5nZXMgbWVyZWx5IGNoYW5n
ZSB0aGUgZGVzdHJ1Y3RvciBvZiB0aGUgc2hhcGUgb2JqZWN0cworICAgICAgICB3aGljaCBpcyBh
bHNvIHRlc3RlZCBieSBMYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMuCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAq
IFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpXcmFwU2hhcGU6OmRl
c3Ryb3kpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmg6CisgICAgICAg
IChXZWJDb3JlOjpXcmFwU2hhcGU6OmRlcmVmKToKKyAgICAgICAgKFdyYXBTaGFwZSk6CisgICAg
ICAgIChXZWJDb3JlOjpXcmFwU2hhcGU6OnR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6V3JhcFNo
YXBlOjpzZXRUeXBlKToKKyAgICAgICAgKFdyYXBTaGFwZVJlY3RhbmdsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpXcmFwU2hhcGVSZWN0YW5nbGU6OldyYXBTaGFwZVJlY3RhbmdsZSk6CisgICAgICAg
IChXZWJDb3JlOjpXcmFwU2hhcGVDaXJjbGU6OldyYXBTaGFwZUNpcmNsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpXcmFwU2hhcGVFbGxpcHNlOjpXcmFwU2hhcGVFbGxpcHNlKToKKyAgICAgICAgKFdl
YkNvcmU6OldyYXBTaGFwZVBvbHlnb246OldyYXBTaGFwZVBvbHlnb24pOgorICAgICAgICAoV3Jh
cFNoYXBlUG9seWdvbik6CisKIDIwMTItMDctMjUgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBNb3ZlIFdlYkZpbHRlck9wZXJhdGlvbnMg
ZnJvbSBSZW5kZXJQYXNzRHJhd1F1YWQgdG8gUmVuZGVyUGFzcwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApp
bmRleCAyOGI2OWUzYTU0YTVmNTJmMTljNTI5NzE3M2JlMGI3NGViOWYyNWQxLi5iZDM1YWNmMWU5
NWE2OGQ0MTc1YzFjYjc5YWQyMjIxNGUzNWQ5NmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
MjA4MSw2ICsyMDgxLDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHJlbmRlcmluZy9zdHls
ZS9TdHlsZVZpc3VhbERhdGEuY3BwCiAgICAgcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxl
LmNwcAogICAgIHJlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuY3BwCisgICAgcmVu
ZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuY3BwCiAKICAgICByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R0Jsb2NrLmNwcAogICAgIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVyLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggZGI1Zjg2NDRiZDlmNjBjZjYwNzllZmQ5MGUw
MzViMDI0MjQ0ZmI4Ny4uZmJhMDRmZDk1MTEzOWNiNmIxNGFmYjBlZDJiNjIxOTM1ODkyNDczNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00MTM2LDYgKzQxMzYsNyBAQCB3ZWJj
b3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5k
ZXJTdHlsZURlZnMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVu
ZGVyU3R5bGVEZWZzLmggXAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5k
ZXJTdHlsZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmggXAogCVNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQmxvY2suY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0Jsb2NrLmggXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXgg
ZWJjM2I1OTdmMzIwYjE3ZWJjNTUyOGYyMGI0NmMyYmMyNzRiNzA0Ni4uNDY3MDQ0M2VkNzM4ZDlm
YzAwNWM3ODEzNDJmNWNmNDEzN2NmNjRlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0xMjA2LDYgKzEyMDYs
NyBAQCBTT1VSQ0VTICs9IFwKICAgICByZW5kZXJpbmcvc3R5bGUvU3R5bGVTdXJyb3VuZERhdGEu
Y3BwIFwKICAgICByZW5kZXJpbmcvc3R5bGUvU3R5bGVUcmFuc2Zvcm1EYXRhLmNwcCBcCiAgICAg
cmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlzdWFsRGF0YS5jcHAgXAorICAgIHJlbmRlcmluZy9zdHls
ZS9XcmFwU2hhcGVzLmNwcCBcCiAgICAgc3RvcmFnZS9TdG9yYWdlVGFzay5jcHAgXAogICAgIHN0
b3JhZ2UvU3RvcmFnZVRocmVhZC5jcHAgXAogICAgIHN0b3JhZ2UvU3RvcmFnZS5jcHAgXApAQCAt
MjM4Miw2ICsyMzgzLDcgQEAgSEVBREVSUyArPSBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL1N0eWxl
VmlzdWFsRGF0YS5oIFwKICAgICByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmgg
XAogICAgIHJlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5oIFwKKyAgICByZW5kZXJpbmcv
c3R5bGUvV3JhcFNoYXBlcy5oIFwKICAgICByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0Jsb2NrLmgg
XAogICAgIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVyLmggXAogICAgIHJlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHRWxsaXBzZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBjOTFjNDE1MTcw
ODlhNWRlMDUyYTBkNjNmMTUwZjBiMzMxMTYxZmUwLi5hNGU2YjFmOTE5MzRhNDM1MDdmMzNmOWFj
NjcwNTEyN2Y5NGVjYjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC02MDksNiArNjA5LDcgQEAKICAg
ICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVUcmFuc2Zvcm1EYXRhLmgnLAogICAgICAg
ICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZVZhcmlhYmxlRGF0YS5oJywKICAgICAgICAgICAg
ICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmgnLAorICAgICAgICAgICAgJ3JlbmRl
cmluZy9zdHlsZS9XcmFwU2hhcGVzLmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdmcvU1ZH
UmVzb3VyY2VzQ2FjaGUuaCcsCiAgICAgICAgICAgICAnd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgn
LAogICAgICAgICAgICAgJ3dvcmtlcnMvV29ya2VyVGhyZWFkLmgnLApAQCAtNDg5NCw2ICs0ODk1
LDcgQEAKICAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVTdXJyb3VuZERhdGEuY3Bw
JywKICAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVUcmFuc2Zvcm1EYXRhLmNwcCcs
CiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlzdWFsRGF0YS5jcHAnLAorICAg
ICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmNwcCcsCiAgICAgICAgICAgICAn
cmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVGbG93Qm94LmNwcCcsCiAgICAgICAgICAgICAncmVuZGVy
aW5nL3N2Zy9TVkdJbmxpbmVGbG93Qm94LmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdmcv
U1ZHSW5saW5lVGV4dEJveC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagppbmRleCA1NWNhMGFmNWU4MDgxMTg0MDEwZDUxMDg4MWY4MWYxNzc3ZWE0
OWVjLi43ZmEwMzk5ZDRkZTJjMmNkOGFkMGFjYWI2ZWUyMWYxYWQ1Y2IxMmZhIDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNDYyNTksNiArNDYy
NTksMTQgQEAKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxyZW5kZXJpbmdcc3R5bGVcU1ZHUmVuZGVy
U3R5bGVEZWZzLmgiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxyZW5kZXJpbmdcc3R5bGVcV3JhcFNoYXBlcy5jcHAiCisJCQkJCT4KKwkJCQk8
L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxyZW5kZXJpbmdcc3R5bGVc
V3JhcFNoYXBlcy5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgogCQkJPC9GaWx0ZXI+CiAJCQk8Rmls
dGVyCiAJCQkJTmFtZT0ic3ZnIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM5YTIyOWI1YTM0M2U3MDIzZTJkMmZiMDIwYTE5ODI1
YjcyOWU5ZTMuLjlmNDI0ZGZmNGI1MWViOGExY2FmMDUwZTI4OGQzOTgwYWJkY2FhYjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTYxODMsNiArNjE4Myw3IEBACiAJCUY1MTIyQzkwMTU0N0ZBMUIwMDI4QTkzQiAvKiBQYWdlUG9w
dXBEcml2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEY1MTIyQzhGMTU0N0ZBMUIwMDI4QTkzQiAvKiBQYWdlUG9wdXBEcml2ZXIuaCAqLzsgfTsKIAkJ
RjUxNDJDNjkxMjNGMTJCMDAwRjVCRDRDIC8qIExvY2FsaXplZE51bWJlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjUxNDJDNjgxMjNGMTJCMDAwRjVC
RDRDIC8qIExvY2FsaXplZE51bWJlci5oICovOyB9OwogCQlGNTJBRDVFNDE1MzQyNDVGMDA1OUZC
RTYgLyogRW1wdHlDbGllbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY1MkFENUUzMTUzNDI0NUYwMDU5RkJFNiAvKiBFbXB0eUNsaWVudHMuY3Bw
ICovOyB9OworCQlGNTUzQjg5MzE1QkUyNkMwMDBCMTM0QzkgLyogV3JhcFNoYXBlcy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTUzQjg5MjE1QkUy
NkMwMDBCMTM0QzkgLyogV3JhcFNoYXBlcy5jcHAgKi87IH07CiAJCUY1NUIzREFEMTI1MUYxMkQw
MDNFRjI2OSAvKiBCYXNlVGV4dElucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTVCM0Q3OTEyNTFGMTJEMDAzRUYyNjkgLyogQmFzZVRl
eHRJbnB1dFR5cGUuY3BwICovOyB9OwogCQlGNTVCM0RBRTEyNTFGMTJEMDAzRUYyNjkgLyogQmFz
ZVRleHRJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY1NUIzRDdBMTI1MUYxMkQwMDNFRjI2OSAvKiBCYXNlVGV4dElucHV0VHlwZS5oICov
OyB9OwogCQlGNTVCM0RBRjEyNTFGMTJEMDAzRUYyNjkgLyogQnV0dG9uSW5wdXRUeXBlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1NUIzRDdCMTI1
MUYxMkQwMDNFRjI2OSAvKiBCdXR0b25JbnB1dFR5cGUuY3BwICovOyB9OwpAQCAtMTM1MDIsNiAr
MTM1MDMsNyBAQAogCQlGNTIzRDMwMzAyREU0NDc2MDE4NjM1Q0EgLyogUmFuZ2UuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmFuZ2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsg
fTsKIAkJRjUyM0QzMDQwMkRFNDQ3NjAxODYzNUNBIC8qIFJhbmdlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJhbmdlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQlGNTJBRDVFMzE1
MzQyNDVGMDA1OUZCRTYgLyogRW1wdHlDbGllbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEVtcHR5Q2xpZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUY1NTNCODkyMTVCRTI2QzAwMEIxMzRDOSAvKiBXcmFwU2hhcGVzLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdyYXBTaGFwZXMuY3BwOyBwYXRoID0gc3R5
bGUvV3JhcFNoYXBlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY1NUIzRDc5
MTI1MUYxMkQwMDNFRjI2OSAvKiBCYXNlVGV4dElucHV0VHlwZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCYXNlVGV4dElucHV0VHlwZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUY1NUIzRDdBMTI1MUYxMkQwMDNFRjI2OSAvKiBCYXNlVGV4dElu
cHV0VHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCYXNlVGV4dElucHV0
VHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNTVCM0Q3QjEyNTFGMTJEMDAz
RUYyNjkgLyogQnV0dG9uSW5wdXRUeXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEJ1dHRvbklucHV0VHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0yMDM0NCw2ICsyMDM0Niw3IEBACiAJCQkJQkMyMjc0NzUwRTgzNjZFMjAwRTdGOTc1IC8q
IFNWR1JlbmRlclN0eWxlLmggKi8sCiAJCQkJQkMyMjc0NzYwRTgzNjZFMjAwRTdGOTc1IC8qIFNW
R1JlbmRlclN0eWxlRGVmcy5jcHAgKi8sCiAJCQkJQkMyMjc0NzcwRTgzNjZFMjAwRTdGOTc1IC8q
IFNWR1JlbmRlclN0eWxlRGVmcy5oICovLAorCQkJCUY1NTNCODkyMTVCRTI2QzAwMEIxMzRDOSAv
KiBXcmFwU2hhcGVzLmNwcCAqLywKIAkJCQlGREI1MUNGNDE1OUNENzAzMDBFMjI3QzUgLyogV3Jh
cFNoYXBlcy5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBzdHlsZTsKQEAgLTI4MzU1LDYgKzI4MzU4
LDcgQEAKIAkJCQlGRDUzNzM1MjEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQzNDRjE3QTQxNUIwMDYzRjAwMjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzNDRjE3QTYxNUIwMDYzRjAwMjc2RDM5IC8qIElk
VGFyZ2V0T2JzZXJ2ZXJSZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGNTUzQjg5MzE1
QkUyNkMwMDBCMTM0QzkgLyogV3JhcFNoYXBlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxMDU5
NDU3MzE1QjQyOTUzMDA0RDM3RkQgLyogSlNNaWNyb0RhdGFJdGVtVmFsdWVDdXN0b20uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMTA1OTQ1NzcxNUI0MkEwRDAwNEQzN0ZEIC8qIEpTTWljcm9EYXRh
SXRlbVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTEwNTk0NTk3MTVCNDJBOEUwMDREMzdG
RCAvKiBQcm9wZXJ0eU5vZGVMaXN0LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxYTJjOWZiZmRm
YjNiODYwMDdlZTE0MWI4NjIwYTM4YTliMjVjZjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5jcHAKQEAgLTAsMCArMSw1NSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
CisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMKKyAqICAgIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSICJBUyBJUyIgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgQkUKKyAqIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwK
KyAqIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IKKyAqIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRgorICogVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNs
dWRlICJXcmFwU2hhcGVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBXcmFwU2hh
cGU6OmRlc3Ryb3koKQoreworICAgIHN3aXRjaCAobV90eXBlKSB7CisgICAgY2FzZSBXUkFQX1NI
QVBFX1JFQ1RBTkdMRToKKyAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFdyYXBTaGFwZVJlY3Rh
bmdsZSo+KHRoaXMpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBXUkFQX1NIQVBFX0NJUkNM
RToKKyAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFdyYXBTaGFwZUNpcmNsZSo+KHRoaXMpOwor
ICAgICAgICByZXR1cm47CisgICAgY2FzZSBXUkFQX1NIQVBFX0VMTElQU0U6CisgICAgICAgIGRl
bGV0ZSBzdGF0aWNfY2FzdDxXcmFwU2hhcGVFbGxpcHNlKj4odGhpcyk7CisgICAgICAgIHJldHVy
bjsKKyAgICBjYXNlIFdSQVBfU0hBUEVfUE9MWUdPTjoKKyAgICAgICAgZGVsZXRlIHN0YXRpY19j
YXN0PFdyYXBTaGFwZVBvbHlnb24qPih0aGlzKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9XcmFwU2hhcGVzLmgKaW5kZXggNjEwNTJjYjBkYTRjZjNkNzU2NjUyMzQxODc2ODIw
NDlhOTZkNDFmOC4uZTgxMThiZTVhYzY2YzU2MTQzYzU1MGJlNmM0ZWVmOGU3ZmUwZTQ4ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5oCkBAIC0xMyw3ICsx
Myw3IEBACiAgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMKICAqICAgIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSIOKAnEFT
IElT4oCdIEFORCBBTlkKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVIgIkFTIElTIiBBTkQgQU5ZCiAgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQogICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IEhPTERFUiBCRQpAQCAtMzIsMTAgKzMyLDEyIEBACiAKICNpbmNsdWRlICJMZW5ndGguaCIKICNp
bmNsdWRlICJXaW5kUnVsZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdyYXBTaGFw
ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFdyYXBTaGFwZT4geworY2xhc3MgV3JhcFNoYXBlIDogcHVi
bGljIFdURjo6UmVmQ291bnRlZEJhc2UgewogcHVibGljOgogICAgIGVudW0gVHlwZSB7CiAgICAg
ICAgIFdSQVBfU0hBUEVfUkVDVEFOR0xFID0gMSwKQEAgLTQzLDEyICs0NSwyNCBAQCBwdWJsaWM6
CiAgICAgICAgIFdSQVBfU0hBUEVfRUxMSVBTRSA9IDMsCiAgICAgICAgIFdSQVBfU0hBUEVfUE9M
WUdPTiA9IDQKICAgICB9OwotCi0gICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCA9IDA7Cisg
ICAgCisgICAgdm9pZCBkZXJlZigpIAorICAgIHsKKyAgICAgICAgaWYgKGRlcmVmQmFzZSgpKQor
ICAgICAgICAgICAgZGVzdHJveSgpOworICAgIH0KKworICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsg
cmV0dXJuIG1fdHlwZTsgfQogICAgIHZpcnR1YWwgfldyYXBTaGFwZSgpIHsgfQogCiBwcm90ZWN0
ZWQ6Ci0gICAgV3JhcFNoYXBlKCkgeyB9CisgICAgV3JhcFNoYXBlKFR5cGUgdHlwZSkKKyAgICAg
ICAgOiBtX3R5cGUodHlwZSkKKyAgICB7IH0KKworcHJpdmF0ZToKKyAgICB2b2lkIGRlc3Ryb3ko
KTsKKyAgICBUeXBlIG1fdHlwZTsKIH07CiAKIGNsYXNzIFdyYXBTaGFwZVJlY3RhbmdsZSA6IHB1
YmxpYyBXcmFwU2hhcGUgewpAQCAtNjgsMTIgKzgyLDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dEhlaWdodChMZW5ndGggaGVpZ2h0KSB7IG1faGVpZ2h0ID0gaGVpZ2h0OyB9CiAgICAgdm9pZCBz
ZXRDb3JuZXJSYWRpdXNYKExlbmd0aCByYWRpdXNYKSB7IG1fY29ybmVyUmFkaXVzWCA9IHJhZGl1
c1g7IH0KICAgICB2b2lkIHNldENvcm5lclJhZGl1c1koTGVuZ3RoIHJhZGl1c1kpIHsgbV9jb3Ju
ZXJSYWRpdXNZID0gcmFkaXVzWTsgfQotCi0gICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCB7
IHJldHVybiBXUkFQX1NIQVBFX1JFQ1RBTkdMRTsgfQotCisgICAgCiBwcml2YXRlOgogICAgIFdy
YXBTaGFwZVJlY3RhbmdsZSgpCi0gICAgICAgIDogbV9jb3JuZXJSYWRpdXNYKFVuZGVmaW5lZCkK
KyAgICAgICAgOiBXcmFwU2hhcGUoV1JBUF9TSEFQRV9SRUNUQU5HTEUpCisgICAgICAgICwgbV9j
b3JuZXJSYWRpdXNYKFVuZGVmaW5lZCkKICAgICAgICAgLCBtX2Nvcm5lclJhZGl1c1koVW5kZWZp
bmVkKQogICAgIHsgfQogCkBAIC05Nyw5ICsxMTAsMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0
Q2VudGVyWShMZW5ndGggY2VudGVyWSkgeyBtX2NlbnRlclkgPSBjZW50ZXJZOyB9CiAgICAgdm9p
ZCBzZXRSYWRpdXMoTGVuZ3RoIHJhZGl1cykgeyBtX3JhZGl1cyA9IHJhZGl1czsgfQogCi0gICAg
dmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBXUkFQX1NIQVBFX0NJUkNMRTsgfQog
cHJpdmF0ZToKLSAgICBXcmFwU2hhcGVDaXJjbGUoKSB7IH0KKyAgICBXcmFwU2hhcGVDaXJjbGUo
KSAKKyAgICAgICAgOiBXcmFwU2hhcGUoV1JBUF9TSEFQRV9DSVJDTEUpCisgICAgeyB9CiAKICAg
ICBMZW5ndGggbV9jZW50ZXJYOwogICAgIExlbmd0aCBtX2NlbnRlclk7CkBAIC0xMjAsOSArMTM0
LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFJhZGl1c1goTGVuZ3RoIHJhZGl1c1gpIHsgbV9y
YWRpdXNYID0gcmFkaXVzWDsgfQogICAgIHZvaWQgc2V0UmFkaXVzWShMZW5ndGggcmFkaXVzWSkg
eyBtX3JhZGl1c1kgPSByYWRpdXNZOyB9CiAKLSAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0
IHsgcmV0dXJuIFdSQVBfU0hBUEVfRUxMSVBTRTsgfQogcHJpdmF0ZToKLSAgICBXcmFwU2hhcGVF
bGxpcHNlKCkgeyB9CisgICAgV3JhcFNoYXBlRWxsaXBzZSgpIAorICAgICAgICA6IFdyYXBTaGFw
ZShXUkFQX1NIQVBFX0VMTElQU0UpCisgICAgeyB9CiAKICAgICBMZW5ndGggbV9jZW50ZXJYOwog
ICAgIExlbmd0aCBtX2NlbnRlclk7CkBAIC0xNDIsMTAgKzE1NywxMCBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRXaW5kUnVsZShXaW5kUnVsZSB3aW5kUnVsZSkgeyBtX3dpbmRSdWxlID0gd2luZFJ1
bGU7IH0KICAgICB2b2lkIGFwcGVuZFBvaW50KExlbmd0aCB4LCBMZW5ndGggeSkgeyBtX3ZhbHVl
cy5hcHBlbmQoeCk7IG1fdmFsdWVzLmFwcGVuZCh5KTsgfQogCi0gICAgdmlydHVhbCBUeXBlIHR5
cGUoKSBjb25zdCB7IHJldHVybiBXUkFQX1NIQVBFX1BPTFlHT047IH0KIHByaXZhdGU6CiAgICAg
V3JhcFNoYXBlUG9seWdvbigpCi0gICAgICAgIDogbV93aW5kUnVsZShSVUxFX05PTlpFUk8pCisg
ICAgICAgIDogV3JhcFNoYXBlKFdSQVBfU0hBUEVfUE9MWUdPTikKKyAgICAgICAgLCBtX3dpbmRS
dWxlKFJVTEVfTk9OWkVSTykKICAgICB7IH0KIAogICAgIFdpbmRSdWxlIG1fd2luZFJ1bGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154744</attachid>
            <date>2012-07-26 14:05:03 -0700</date>
            <delta_ts>2012-07-26 14:57:34 -0700</delta_ts>
            <desc>patch for 90998</desc>
            <filename>bug-90998-20120726140454.patch</filename>
            <type>text/plain</type>
            <size>14673</size>
            <attacher name="Anish">bhayani</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNzkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODk4MTRmODQ2ZjhhMTNh
YTFhY2U3ZTQ4YzUxZTg5ZmU0ZGRjNmI0MC4uNzZkYWZkNDA0MmY1NzA0NjFkYzAzMmNiNmMwZTI1
N2VkMTdhYzU2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTA3LTI2ICBBbmlz
aCBCaGF5YW5pICA8YW5pc2guYmhheWFuaUBnbWFpbC5jb20+CisKKyAgICAgICAgRGUtdmlydHVh
bGl6ZSBXcmFwU2hhcGUgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTA5OTgKKworICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5n
LgorCisgICAgICAgIFRoZSBkZXN0cnVjdG9yIGZvciBXcmFwU2hhcGVzIGNsYXNzZXMgZGlkIG5v
dCBuZWVkIHRvIHVzZSBhIHZpcnR1YWwKKyAgICAgICAgcG9pbnRlci4gV3JhcFNoYXBlcy5jcHAg
aXMgY3JlYXRlZCB0byBjYXN0IHRoZSBXcmFwU2hhcGUgZGVzdHJ1Y3RvciAKKyAgICAgICAgdG8g
dGhlIHN1YmNsYXNzIHR5cGUgc2F2aW5nIG1lbW9yeSBhbmQgYXZvaWRpbmcgdmlydHVhbCBjYWxs
cy4gCisKKyAgICAgICAgVGhlcmUgYXJlIGV4aXN0aW5nIHRlc3RzIHRoYXQgY292ZXIgdGhlIHZh
bGlkaXR5IG9mIHNoYXBlcy4gVGhlCisgICAgICAgIGFkZGVkIGNoYW5nZXMgbWVyZWx5IGNoYW5n
ZSB0aGUgZGVzdHJ1Y3RvciBvZiB0aGUgc2hhcGUgb2JqZWN0cworICAgICAgICB3aGljaCBpcyBh
bHNvIHRlc3RlZCBieSBMYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMuCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAq
IFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpXcmFwU2hhcGU6OmRl
c3Ryb3kpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmg6CisgICAgICAg
IChXZWJDb3JlOjpXcmFwU2hhcGU6OmRlcmVmKToKKyAgICAgICAgKFdyYXBTaGFwZSk6CisgICAg
ICAgIChXZWJDb3JlOjpXcmFwU2hhcGU6OnR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6V3JhcFNo
YXBlOjpzZXRUeXBlKToKKyAgICAgICAgKFdyYXBTaGFwZVJlY3RhbmdsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpXcmFwU2hhcGVSZWN0YW5nbGU6OldyYXBTaGFwZVJlY3RhbmdsZSk6CisgICAgICAg
IChXZWJDb3JlOjpXcmFwU2hhcGVDaXJjbGU6OldyYXBTaGFwZUNpcmNsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpXcmFwU2hhcGVFbGxpcHNlOjpXcmFwU2hhcGVFbGxpcHNlKToKKyAgICAgICAgKFdl
YkNvcmU6OldyYXBTaGFwZVBvbHlnb246OldyYXBTaGFwZVBvbHlnb24pOgorICAgICAgICAoV3Jh
cFNoYXBlUG9seWdvbik6CisKIDIwMTItMDctMjYgIEFudG9pbmUgTGFib3VyICA8cGltYW5AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gQ29tYmluZSBjb2xvciBtYXRyaXggZmls
dGVycyBhbmQgYXBwbHkgdGhlbSBpbiBhIHNpbmdsZSBwYXNzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApp
bmRleCA5YTk3ZmU1MWYyN2NlNjM1YzJhOTI3YzVjMjE2ZDgwZjFmNWM2NTg0Li43ZTM0YzA5ZGI4
Njc1YmY5N2ZiOWY3YTdmOWE1YzZkNzZjNTJiNzY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
MjA4MSw2ICsyMDgxLDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIHJlbmRlcmluZy9zdHls
ZS9TdHlsZVZpc3VhbERhdGEuY3BwCiAgICAgcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxl
LmNwcAogICAgIHJlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuY3BwCisgICAgcmVu
ZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuY3BwCiAKICAgICByZW5kZXJpbmcvc3ZnL1JlbmRlclNW
R0Jsb2NrLmNwcAogICAgIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVyLmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMzMwZWEwNGRmNzQ1ZDJlNmIwYTk2Mzk4Y2Y5
NTI2N2M4OWMyZmNjMi4uZDQ3ZjYwODc5ZWQyYTZlZjExNDY1MTUxZTJjNGQ2YjA2YWIxMjI5MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00MTMxLDYgKzQxMzEsNyBAQCB3ZWJj
b3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5k
ZXJTdHlsZURlZnMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU1ZHUmVu
ZGVyU3R5bGVEZWZzLmggXAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TVkdSZW5k
ZXJTdHlsZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5j
cHAgXAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmggXAogCVNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQmxvY2suY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0Jsb2NrLmggXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXgg
OGY1MDhmZWQ1ZTY2YzY4M2VjMzkxNTFmZDQ2MmU5NDJhN2RkOWVlNS4uNTQwMGMxNzVkMDQxMDYy
ZWQzNzdmNWM3OGNiN2JkOWNiMzc4YzliMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0xMjA3LDYgKzEyMDcs
NyBAQCBTT1VSQ0VTICs9IFwKICAgICByZW5kZXJpbmcvc3R5bGUvU3R5bGVTdXJyb3VuZERhdGEu
Y3BwIFwKICAgICByZW5kZXJpbmcvc3R5bGUvU3R5bGVUcmFuc2Zvcm1EYXRhLmNwcCBcCiAgICAg
cmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlzdWFsRGF0YS5jcHAgXAorICAgIHJlbmRlcmluZy9zdHls
ZS9XcmFwU2hhcGVzLmNwcCBcCiAgICAgc3RvcmFnZS9TdG9yYWdlVGFzay5jcHAgXAogICAgIHN0
b3JhZ2UvU3RvcmFnZVRocmVhZC5jcHAgXAogICAgIHN0b3JhZ2UvU3RvcmFnZS5jcHAgXApAQCAt
MjM4NCw2ICsyMzg1LDcgQEAgSEVBREVSUyArPSBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL1N0eWxl
VmlzdWFsRGF0YS5oIFwKICAgICByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGVEZWZzLmgg
XAogICAgIHJlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5oIFwKKyAgICByZW5kZXJpbmcv
c3R5bGUvV3JhcFNoYXBlcy5oIFwKICAgICByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0Jsb2NrLmgg
XAogICAgIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQ29udGFpbmVyLmggXAogICAgIHJlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHRWxsaXBzZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA4YmM4MGYwZmNk
ZTliNmNmMTQ0Yjg5NjAzNGVkODFlOTIyZDllNzYzLi44NmM3NWI3MTY3NzZlOWNiOWZiNzJkNmE5
NDdkMzFlY2ExNDU4ZDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC02MDUsNiArNjA1LDcgQEAKICAg
ICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVUcmFuc2Zvcm1EYXRhLmgnLAogICAgICAg
ICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZVZhcmlhYmxlRGF0YS5oJywKICAgICAgICAgICAg
ICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmgnLAorICAgICAgICAgICAgJ3JlbmRl
cmluZy9zdHlsZS9XcmFwU2hhcGVzLmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdmcvU1ZH
UmVzb3VyY2VzQ2FjaGUuaCcsCiAgICAgICAgICAgICAnd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmgn
LAogICAgICAgICAgICAgJ3dvcmtlcnMvV29ya2VyVGhyZWFkLmgnLApAQCAtNDg4OCw2ICs0ODg5
LDcgQEAKICAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVTdXJyb3VuZERhdGEuY3Bw
JywKICAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvU3R5bGVUcmFuc2Zvcm1EYXRhLmNwcCcs
CiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlzdWFsRGF0YS5jcHAnLAorICAg
ICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmNwcCcsCiAgICAgICAgICAgICAn
cmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVGbG93Qm94LmNwcCcsCiAgICAgICAgICAgICAncmVuZGVy
aW5nL3N2Zy9TVkdJbmxpbmVGbG93Qm94LmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdmcv
U1ZHSW5saW5lVGV4dEJveC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagppbmRleCBkNzVkZDg2Y2EwNzllNjVmZDc5Yzg1Y2ZhODNmNWEyNGUwZmMz
YWFhLi4yYTFkMTRiMjlmZTA2MGI1MzRkYjRjNjAxNThlY2Y3ZmE4ZjMwMjcwIDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNDYyNjcsNiArNDYy
NjcsMTQgQEAKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxyZW5kZXJpbmdcc3R5bGVcU1ZHUmVuZGVy
U3R5bGVEZWZzLmgiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxyZW5kZXJpbmdcc3R5bGVcV3JhcFNoYXBlcy5jcHAiCisJCQkJCT4KKwkJCQk8
L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxyZW5kZXJpbmdcc3R5bGVc
V3JhcFNoYXBlcy5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgogCQkJPC9GaWx0ZXI+CiAJCQk8Rmls
dGVyCiAJCQkJTmFtZT0ic3ZnIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQ3NmI2MTliNzg4YWQ3OGU0ZDFhZjI4MDAzZTFiNTMx
MWM0ODg4MGUuLmMzY2EzNGU0MzIxYzNiMjNhZTFjOTdlOGIyOGFmMmJlNTA3YTZiYjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTYxOTMsNiArNjE5Myw3IEBACiAJCUY1MTIyQzkwMTU0N0ZBMUIwMDI4QTkzQiAvKiBQYWdlUG9w
dXBEcml2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEY1MTIyQzhGMTU0N0ZBMUIwMDI4QTkzQiAvKiBQYWdlUG9wdXBEcml2ZXIuaCAqLzsgfTsKIAkJ
RjUxNDJDNjkxMjNGMTJCMDAwRjVCRDRDIC8qIExvY2FsaXplZE51bWJlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjUxNDJDNjgxMjNGMTJCMDAwRjVC
RDRDIC8qIExvY2FsaXplZE51bWJlci5oICovOyB9OwogCQlGNTJBRDVFNDE1MzQyNDVGMDA1OUZC
RTYgLyogRW1wdHlDbGllbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY1MkFENUUzMTUzNDI0NUYwMDU5RkJFNiAvKiBFbXB0eUNsaWVudHMuY3Bw
ICovOyB9OworCQlGNTUzQjg5MzE1QkUyNkMwMDBCMTM0QzkgLyogV3JhcFNoYXBlcy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTUzQjg5MjE1QkUy
NkMwMDBCMTM0QzkgLyogV3JhcFNoYXBlcy5jcHAgKi87IH07CiAJCUY1NUIzREFEMTI1MUYxMkQw
MDNFRjI2OSAvKiBCYXNlVGV4dElucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNTVCM0Q3OTEyNTFGMTJEMDAzRUYyNjkgLyogQmFzZVRl
eHRJbnB1dFR5cGUuY3BwICovOyB9OwogCQlGNTVCM0RBRTEyNTFGMTJEMDAzRUYyNjkgLyogQmFz
ZVRleHRJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY1NUIzRDdBMTI1MUYxMkQwMDNFRjI2OSAvKiBCYXNlVGV4dElucHV0VHlwZS5oICov
OyB9OwogCQlGNTVCM0RBRjEyNTFGMTJEMDAzRUYyNjkgLyogQnV0dG9uSW5wdXRUeXBlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1NUIzRDdCMTI1
MUYxMkQwMDNFRjI2OSAvKiBCdXR0b25JbnB1dFR5cGUuY3BwICovOyB9OwpAQCAtMTM1MjQsNiAr
MTM1MjUsNyBAQAogCQlGNTIzRDMwMzAyREU0NDc2MDE4NjM1Q0EgLyogUmFuZ2UuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmFuZ2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsg
fTsKIAkJRjUyM0QzMDQwMkRFNDQ3NjAxODYzNUNBIC8qIFJhbmdlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJhbmdlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQlGNTJBRDVFMzE1
MzQyNDVGMDA1OUZCRTYgLyogRW1wdHlDbGllbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEVtcHR5Q2xpZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUY1NTNCODkyMTVCRTI2QzAwMEIxMzRDOSAvKiBXcmFwU2hhcGVzLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdyYXBTaGFwZXMuY3BwOyBwYXRoID0gc3R5
bGUvV3JhcFNoYXBlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY1NUIzRDc5
MTI1MUYxMkQwMDNFRjI2OSAvKiBCYXNlVGV4dElucHV0VHlwZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCYXNlVGV4dElucHV0VHlwZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUY1NUIzRDdBMTI1MUYxMkQwMDNFRjI2OSAvKiBCYXNlVGV4dElu
cHV0VHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCYXNlVGV4dElucHV0
VHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNTVCM0Q3QjEyNTFGMTJEMDAz
RUYyNjkgLyogQnV0dG9uSW5wdXRUeXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEJ1dHRvbklucHV0VHlwZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0yMDM3Nyw2ICsyMDM3OSw3IEBACiAJCQkJQkMyMjc0NzUwRTgzNjZFMjAwRTdGOTc1IC8q
IFNWR1JlbmRlclN0eWxlLmggKi8sCiAJCQkJQkMyMjc0NzYwRTgzNjZFMjAwRTdGOTc1IC8qIFNW
R1JlbmRlclN0eWxlRGVmcy5jcHAgKi8sCiAJCQkJQkMyMjc0NzcwRTgzNjZFMjAwRTdGOTc1IC8q
IFNWR1JlbmRlclN0eWxlRGVmcy5oICovLAorCQkJCUY1NTNCODkyMTVCRTI2QzAwMEIxMzRDOSAv
KiBXcmFwU2hhcGVzLmNwcCAqLywKIAkJCQlGREI1MUNGNDE1OUNENzAzMDBFMjI3QzUgLyogV3Jh
cFNoYXBlcy5oICovLAogCQkJKTsKIAkJCW5hbWUgPSBzdHlsZTsKQEAgLTI4Mzk2LDYgKzI4Mzk5
LDcgQEAKIAkJCQlGRDUzNzM1MjEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQzNDRjE3QTQxNUIwMDYzRjAwMjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzNDRjE3QTYxNUIwMDYzRjAwMjc2RDM5IC8qIElk
VGFyZ2V0T2JzZXJ2ZXJSZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGNTUzQjg5MzE1
QkUyNkMwMDBCMTM0QzkgLyogV3JhcFNoYXBlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxMDU5
NDU3MzE1QjQyOTUzMDA0RDM3RkQgLyogSlNNaWNyb0RhdGFJdGVtVmFsdWVDdXN0b20uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMTA1OTQ1NzcxNUI0MkEwRDAwNEQzN0ZEIC8qIEpTTWljcm9EYXRh
SXRlbVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTEwNTk0NTk3MTVCNDJBOEUwMDREMzdG
RCAvKiBQcm9wZXJ0eU5vZGVMaXN0LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxYTJjOWZiZmRm
YjNiODYwMDdlZTE0MWI4NjIwYTM4YTliMjVjZjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5jcHAKQEAgLTAsMCArMSw1NSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
CisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMKKyAqICAgIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSICJBUyBJUyIgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgQkUKKyAqIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwK
KyAqIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IKKyAqIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRgorICogVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNs
dWRlICJXcmFwU2hhcGVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBXcmFwU2hh
cGU6OmRlc3Ryb3koKQoreworICAgIHN3aXRjaCAobV90eXBlKSB7CisgICAgY2FzZSBXUkFQX1NI
QVBFX1JFQ1RBTkdMRToKKyAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFdyYXBTaGFwZVJlY3Rh
bmdsZSo+KHRoaXMpOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBXUkFQX1NIQVBFX0NJUkNM
RToKKyAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFdyYXBTaGFwZUNpcmNsZSo+KHRoaXMpOwor
ICAgICAgICByZXR1cm47CisgICAgY2FzZSBXUkFQX1NIQVBFX0VMTElQU0U6CisgICAgICAgIGRl
bGV0ZSBzdGF0aWNfY2FzdDxXcmFwU2hhcGVFbGxpcHNlKj4odGhpcyk7CisgICAgICAgIHJldHVy
bjsKKyAgICBjYXNlIFdSQVBfU0hBUEVfUE9MWUdPTjoKKyAgICAgICAgZGVsZXRlIHN0YXRpY19j
YXN0PFdyYXBTaGFwZVBvbHlnb24qPih0aGlzKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9XcmFwU2hhcGVzLmgKaW5kZXggNjEwNTJjYjBkYTRjZjNkNzU2NjUyMzQxODc2ODIw
NDlhOTZkNDFmOC4uOTA3YzI1ZmQxYjM3MzQxYjllYTg3ODU5YTQ0YjVlMGJlYmI4N2NmZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5oCkBAIC0xMyw3ICsx
Myw3IEBACiAgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMKICAqICAgIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KICAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSIOKAnEFT
IElT4oCdIEFORCBBTlkKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVIgIkFTIElTIiBBTkQgQU5ZCiAgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQogICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCiAg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IEhPTERFUiBCRQpAQCAtMzIsMTAgKzMyLDEyIEBACiAKICNpbmNsdWRlICJMZW5ndGguaCIKICNp
bmNsdWRlICJXaW5kUnVsZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIFdyYXBTaGFw
ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFdyYXBTaGFwZT4geworY2xhc3MgV3JhcFNoYXBlIDogcHVi
bGljIFdURjo6UmVmQ291bnRlZEJhc2UgewogcHVibGljOgogICAgIGVudW0gVHlwZSB7CiAgICAg
ICAgIFdSQVBfU0hBUEVfUkVDVEFOR0xFID0gMSwKQEAgLTQzLDEyICs0NSwyNSBAQCBwdWJsaWM6
CiAgICAgICAgIFdSQVBfU0hBUEVfRUxMSVBTRSA9IDMsCiAgICAgICAgIFdSQVBfU0hBUEVfUE9M
WUdPTiA9IDQKICAgICB9OworICAgIAorICAgIHZvaWQgZGVyZWYoKSAKKyAgICB7CisgICAgICAg
IGlmIChkZXJlZkJhc2UoKSkKKyAgICAgICAgICAgIGRlc3Ryb3koKTsKKyAgICB9CiAKLSAgICB2
aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIH5XcmFwU2hhcGUoKSB7
IH0KKyAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KIAogcHJvdGVjdGVk
OgotICAgIFdyYXBTaGFwZSgpIHsgfQorICAgIFdyYXBTaGFwZShUeXBlIHR5cGUpCisgICAgICAg
IDogbV90eXBlKHR5cGUpCisgICAgeyB9CisgICAgCisgICAgfldyYXBTaGFwZSgpIHsgfQorCitw
cml2YXRlOgorICAgIHZvaWQgZGVzdHJveSgpOworICAgIFR5cGUgbV90eXBlOwogfTsKIAogY2xh
c3MgV3JhcFNoYXBlUmVjdGFuZ2xlIDogcHVibGljIFdyYXBTaGFwZSB7CkBAIC02OCwxMiArODMs
MTEgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SGVpZ2h0KExlbmd0aCBoZWlnaHQpIHsgbV9oZWln
aHQgPSBoZWlnaHQ7IH0KICAgICB2b2lkIHNldENvcm5lclJhZGl1c1goTGVuZ3RoIHJhZGl1c1gp
IHsgbV9jb3JuZXJSYWRpdXNYID0gcmFkaXVzWDsgfQogICAgIHZvaWQgc2V0Q29ybmVyUmFkaXVz
WShMZW5ndGggcmFkaXVzWSkgeyBtX2Nvcm5lclJhZGl1c1kgPSByYWRpdXNZOyB9Ci0KLSAgICB2
aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIFdSQVBfU0hBUEVfUkVDVEFOR0xFOyB9
Ci0KKyAgICAKIHByaXZhdGU6CiAgICAgV3JhcFNoYXBlUmVjdGFuZ2xlKCkKLSAgICAgICAgOiBt
X2Nvcm5lclJhZGl1c1goVW5kZWZpbmVkKQorICAgICAgICA6IFdyYXBTaGFwZShXUkFQX1NIQVBF
X1JFQ1RBTkdMRSkKKyAgICAgICAgLCBtX2Nvcm5lclJhZGl1c1goVW5kZWZpbmVkKQogICAgICAg
ICAsIG1fY29ybmVyUmFkaXVzWShVbmRlZmluZWQpCiAgICAgeyB9CiAKQEAgLTk3LDkgKzExMSwx
MCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDZW50ZXJZKExlbmd0aCBjZW50ZXJZKSB7IG1fY2Vu
dGVyWSA9IGNlbnRlclk7IH0KICAgICB2b2lkIHNldFJhZGl1cyhMZW5ndGggcmFkaXVzKSB7IG1f
cmFkaXVzID0gcmFkaXVzOyB9CiAKLSAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0
dXJuIFdSQVBfU0hBUEVfQ0lSQ0xFOyB9CiBwcml2YXRlOgotICAgIFdyYXBTaGFwZUNpcmNsZSgp
IHsgfQorICAgIFdyYXBTaGFwZUNpcmNsZSgpIAorICAgICAgICA6IFdyYXBTaGFwZShXUkFQX1NI
QVBFX0NJUkNMRSkKKyAgICB7IH0KIAogICAgIExlbmd0aCBtX2NlbnRlclg7CiAgICAgTGVuZ3Ro
IG1fY2VudGVyWTsKQEAgLTEyMCw5ICsxMzUsMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UmFk
aXVzWChMZW5ndGggcmFkaXVzWCkgeyBtX3JhZGl1c1ggPSByYWRpdXNYOyB9CiAgICAgdm9pZCBz
ZXRSYWRpdXNZKExlbmd0aCByYWRpdXNZKSB7IG1fcmFkaXVzWSA9IHJhZGl1c1k7IH0KIAotICAg
IHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gV1JBUF9TSEFQRV9FTExJUFNFOyB9
CiBwcml2YXRlOgotICAgIFdyYXBTaGFwZUVsbGlwc2UoKSB7IH0KKyAgICBXcmFwU2hhcGVFbGxp
cHNlKCkgCisgICAgICAgIDogV3JhcFNoYXBlKFdSQVBfU0hBUEVfRUxMSVBTRSkKKyAgICB7IH0K
IAogICAgIExlbmd0aCBtX2NlbnRlclg7CiAgICAgTGVuZ3RoIG1fY2VudGVyWTsKQEAgLTE0Miwx
MCArMTU4LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFdpbmRSdWxlKFdpbmRSdWxlIHdpbmRS
dWxlKSB7IG1fd2luZFJ1bGUgPSB3aW5kUnVsZTsgfQogICAgIHZvaWQgYXBwZW5kUG9pbnQoTGVu
Z3RoIHgsIExlbmd0aCB5KSB7IG1fdmFsdWVzLmFwcGVuZCh4KTsgbV92YWx1ZXMuYXBwZW5kKHkp
OyB9CiAKLSAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIFdSQVBfU0hBUEVf
UE9MWUdPTjsgfQogcHJpdmF0ZToKICAgICBXcmFwU2hhcGVQb2x5Z29uKCkKLSAgICAgICAgOiBt
X3dpbmRSdWxlKFJVTEVfTk9OWkVSTykKKyAgICAgICAgOiBXcmFwU2hhcGUoV1JBUF9TSEFQRV9Q
T0xZR09OKQorICAgICAgICAsIG1fd2luZFJ1bGUoUlVMRV9OT05aRVJPKQogICAgIHsgfQogCiAg
ICAgV2luZFJ1bGUgbV93aW5kUnVsZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154758</attachid>
            <date>2012-07-26 14:57:38 -0700</date>
            <delta_ts>2012-07-26 19:30:54 -0700</delta_ts>
            <desc>patch for 90998</desc>
            <filename>bug-90998-20120726145730.patch</filename>
            <type>text/plain</type>
            <size>14615</size>
            <attacher name="Anish">bhayani</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNzk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGYxYWI0MThjNzhhNmVl
NGVjYzQyOGUzMjgyNjU5NDdmN2VmOThmZi4uYTA0NDNjZTZlOWQ1N2NjY2MwNTdmM2FjNjE1ZjUz
MTk4MGQ3MmM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTA3LTI2ICBBbmlz
aCBCaGF5YW5pICA8YW5pc2guYmhheWFuaUBnbWFpbC5jb20+CisKKyAgICAgICAgRGUtdmlydHVh
bGl6ZSBXcmFwU2hhcGUgY2xhc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTA5OTgKKworICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5n
LgorCisgICAgICAgIFRoZSBkZXN0cnVjdG9yIGZvciBXcmFwU2hhcGVzIGNsYXNzZXMgZGlkIG5v
dCBuZWVkIHRvIHVzZSBhIHZpcnR1YWwKKyAgICAgICAgcG9pbnRlci4gV3JhcFNoYXBlcy5jcHAg
aXMgY3JlYXRlZCB0byBjYXN0IHRoZSBXcmFwU2hhcGUgZGVzdHJ1Y3RvciAKKyAgICAgICAgdG8g
dGhlIHN1YmNsYXNzIHR5cGUgc2F2aW5nIG1lbW9yeSBhbmQgYXZvaWRpbmcgdmlydHVhbCBjYWxs
cy4gCisKKyAgICAgICAgVGhlcmUgYXJlIGV4aXN0aW5nIHRlc3RzIHRoYXQgY292ZXIgdGhlIHZh
bGlkaXR5IG9mIHNoYXBlcy4gVGhlCisgICAgICAgIGFkZGVkIGNoYW5nZXMgbWVyZWx5IGNoYW5n
ZSB0aGUgZGVzdHJ1Y3RvciBvZiB0aGUgc2hhcGUgb2JqZWN0cworICAgICAgICB3aGljaCBpcyBh
bHNvIHRlc3RlZCBieSBMYXlvdXRUZXN0cy9mYXN0L2V4Y2x1c2lvbnMuCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAq
IFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpXcmFwU2hhcGU6OmRl
c3Ryb3kpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmg6CisgICAgICAg
IChXZWJDb3JlOjpXcmFwU2hhcGU6OmRlcmVmKToKKyAgICAgICAgKFdyYXBTaGFwZSk6CisgICAg
ICAgIChXZWJDb3JlOjpXcmFwU2hhcGU6OnR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6V3JhcFNo
YXBlOjpzZXRUeXBlKToKKyAgICAgICAgKFdyYXBTaGFwZVJlY3RhbmdsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpXcmFwU2hhcGVSZWN0YW5nbGU6OldyYXBTaGFwZVJlY3RhbmdsZSk6CisgICAgICAg
IChXZWJDb3JlOjpXcmFwU2hhcGVDaXJjbGU6OldyYXBTaGFwZUNpcmNsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpXcmFwU2hhcGVFbGxpcHNlOjpXcmFwU2hhcGVFbGxpcHNlKToKKyAgICAgICAgKFdl
YkNvcmU6OldyYXBTaGFwZVBvbHlnb246OldyYXBTaGFwZVBvbHlnb24pOgorICAgICAgICAoV3Jh
cFNoYXBlUG9seWdvbik6CisKIDIwMTItMDctMjYgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmll
dy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMjM1
MjUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDlhOTdmZTUxZjI3Y2U2MzVjMmE5MjdjNWMyMTZk
ODBmMWY1YzY1ODQuLjdlMzRjMDlkYjg2NzViZjk3ZmI5ZjdhN2Y5YTVjNmQ3NmM1MmI3NjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CkBAIC0yMDgxLDYgKzIwODEsNyBAQCBTRVQoV2ViQ29yZV9TT1VS
Q0VTCiAgICAgcmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlzdWFsRGF0YS5jcHAKICAgICByZW5kZXJp
bmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuY3BwCiAgICAgcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRl
clN0eWxlRGVmcy5jcHAKKyAgICByZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5jcHAKIAogICAg
IHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQmxvY2suY3BwCiAgICAgcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdDb250YWluZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAzMzBl
YTA0ZGY3NDVkMmU2YjBhOTYzOThjZjk1MjY3Yzg5YzJmY2MyLi5kNDdmNjA4NzllZDJhNmVmMTE0
NjUxNTFlMmM0ZDZiMDZhYjEyMjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAg
LTQxMzEsNiArNDEzMSw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlRGVmcy5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZURlZnMuaCBcCiAJU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlLmggXAorCVNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9XcmFwU2hhcGVzLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1dyYXBTaGFwZXMuaCBcCiAJU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdCbG9jay5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQmxv
Y2suaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dl
YkNvcmUvVGFyZ2V0LnByaQppbmRleCA4ZjUwOGZlZDVlNjZjNjgzZWMzOTE1MWZkNDYyZTk0MmE3
ZGQ5ZWU1Li41NDAwYzE3NWQwNDEwNjJlZDM3N2Y1Yzc4Y2I3YmQ5Y2IzNzhjOWIwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkKQEAgLTEyMDcsNiArMTIwNyw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHJlbmRlcmluZy9z
dHlsZS9TdHlsZVN1cnJvdW5kRGF0YS5jcHAgXAogICAgIHJlbmRlcmluZy9zdHlsZS9TdHlsZVRy
YW5zZm9ybURhdGEuY3BwIFwKICAgICByZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmNw
cCBcCisgICAgcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuY3BwIFwKICAgICBzdG9yYWdlL1N0
b3JhZ2VUYXNrLmNwcCBcCiAgICAgc3RvcmFnZS9TdG9yYWdlVGhyZWFkLmNwcCBcCiAgICAgc3Rv
cmFnZS9TdG9yYWdlLmNwcCBcCkBAIC0yMzg0LDYgKzIzODUsNyBAQCBIRUFERVJTICs9IFwKICAg
ICByZW5kZXJpbmcvc3R5bGUvU3R5bGVWaXN1YWxEYXRhLmggXAogICAgIHJlbmRlcmluZy9zdHls
ZS9TVkdSZW5kZXJTdHlsZURlZnMuaCBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0
eWxlLmggXAorICAgIHJlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVzLmggXAogICAgIHJlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHQmxvY2suaCBcCiAgICAgcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdDb250
YWluZXIuaCBcCiAgICAgcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdFbGxpcHNlLmggXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCmluZGV4IDhiYzgwZjBmY2RlOWI2Y2YxNDRiODk2MDM0ZWQ4MWU5MjJkOWU3NjMuLjg2
Yzc1YjcxNjc3NmU5Y2I5ZmI3MmQ2YTk0N2QzMWVjYTE0NThkOTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
QEAgLTYwNSw2ICs2MDUsNyBAQAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZVRy
YW5zZm9ybURhdGEuaCcsCiAgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1N0eWxlVmFyaWFi
bGVEYXRhLmgnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9TdHlsZVZpc3VhbERhdGEu
aCcsCisgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuaCcsCiAgICAgICAg
ICAgICAncmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXNDYWNoZS5oJywKICAgICAgICAgICAgICd3
b3JrZXJzL1dvcmtlclJ1bkxvb3AuaCcsCiAgICAgICAgICAgICAnd29ya2Vycy9Xb3JrZXJUaHJl
YWQuaCcsCkBAIC00ODg4LDYgKzQ4ODksNyBAQAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdHls
ZS9TdHlsZVN1cnJvdW5kRGF0YS5jcHAnLAogICAgICAgICAgICAgJ3JlbmRlcmluZy9zdHlsZS9T
dHlsZVRyYW5zZm9ybURhdGEuY3BwJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvc3R5bGUvU3R5
bGVWaXN1YWxEYXRhLmNwcCcsCisgICAgICAgICAgICAncmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFw
ZXMuY3BwJywKICAgICAgICAgICAgICdyZW5kZXJpbmcvc3ZnL1NWR0lubGluZUZsb3dCb3guY3Bw
JywKICAgICAgICAgICAgICdyZW5kZXJpbmcvc3ZnL1NWR0lubGluZUZsb3dCb3guaCcsCiAgICAg
ICAgICAgICAncmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcCcsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGQ3NWRkODZjYTA3OWU2
NWZkNzljODVjZmE4M2Y1YTI0ZTBmYzNhYWEuLjJhMWQxNGIyOWZlMDYwYjUzNGRiNGM2MDE1OGVj
ZjdmYThmMzAyNzAgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCkBAIC00NjI2Nyw2ICs0NjI2NywxNCBAQAogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHJl
bmRlcmluZ1xzdHlsZVxTVkdSZW5kZXJTdHlsZURlZnMuaCIKIAkJCQkJPgogCQkJCTwvRmlsZT4K
KwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHJlbmRlcmluZ1xzdHlsZVxXcmFwU2hh
cGVzLmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXHJlbmRlcmluZ1xzdHlsZVxXcmFwU2hhcGVzLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+
CiAJCQk8L0ZpbHRlcj4KIAkJCTxGaWx0ZXIKIAkJCQlOYW1lPSJzdmciCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNDc2YjYxOWI3
ODhhZDc4ZTRkMWFmMjgwMDNlMWI1MzExYzQ4ODgwZS4uYzNjYTM0ZTQzMjFjM2IyM2FlMWM5N2U4
YjI4YWYyYmU1MDdhNmJiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjE5Myw2ICs2MTkzLDcgQEAKIAkJRjUxMjJDOTAxNTQ3
RkExQjAwMjhBOTNCIC8qIFBhZ2VQb3B1cERyaXZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjUxMjJDOEYxNTQ3RkExQjAwMjhBOTNCIC8qIFBhZ2VQ
b3B1cERyaXZlci5oICovOyB9OwogCQlGNTE0MkM2OTEyM0YxMkIwMDBGNUJENEMgLyogTG9jYWxp
emVkTnVtYmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGNTE0MkM2ODEyM0YxMkIwMDBGNUJENEMgLyogTG9jYWxpemVkTnVtYmVyLmggKi87IH07CiAJ
CUY1MkFENUU0MTUzNDI0NUYwMDU5RkJFNiAvKiBFbXB0eUNsaWVudHMuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjUyQUQ1RTMxNTM0MjQ1RjAwNTlG
QkU2IC8qIEVtcHR5Q2xpZW50cy5jcHAgKi87IH07CisJCUY1NTNCODkzMTVCRTI2QzAwMEIxMzRD
OSAvKiBXcmFwU2hhcGVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEY1NTNCODkyMTVCRTI2QzAwMEIxMzRDOSAvKiBXcmFwU2hhcGVzLmNwcCAqLzsg
fTsKIAkJRjU1QjNEQUQxMjUxRjEyRDAwM0VGMjY5IC8qIEJhc2VUZXh0SW5wdXRUeXBlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY1NUIzRDc5MTI1
MUYxMkQwMDNFRjI2OSAvKiBCYXNlVGV4dElucHV0VHlwZS5jcHAgKi87IH07CiAJCUY1NUIzREFF
MTI1MUYxMkQwMDNFRjI2OSAvKiBCYXNlVGV4dElucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjU1QjNEN0ExMjUxRjEyRDAwM0VGMjY5IC8q
IEJhc2VUZXh0SW5wdXRUeXBlLmggKi87IH07CiAJCUY1NUIzREFGMTI1MUYxMkQwMDNFRjI2OSAv
KiBCdXR0b25JbnB1dFR5cGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjU1QjNEN0IxMjUxRjEyRDAwM0VGMjY5IC8qIEJ1dHRvbklucHV0VHlwZS5j
cHAgKi87IH07CkBAIC0xMzUyNCw2ICsxMzUyNSw3IEBACiAJCUY1MjNEMzAzMDJERTQ0NzYwMTg2
MzVDQSAvKiBSYW5nZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBSYW5nZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldp
ZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQlGNTIzRDMwNDAyREU0NDc2MDE4NjM1Q0EgLyog
UmFuZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
aW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFi
cyA9IDA7IH07CiAJCUY1MkFENUUzMTUzNDI0NUYwMDU5RkJFNiAvKiBFbXB0eUNsaWVudHMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRW1wdHlDbGllbnRzLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjU1M0I4OTIxNUJFMjZDMDAwQjEzNEM5IC8q
IFdyYXBTaGFwZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV3Jh
cFNoYXBlcy5jcHA7IHBhdGggPSBzdHlsZS9XcmFwU2hhcGVzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRjU1QjNENzkxMjUxRjEyRDAwM0VGMjY5IC8qIEJhc2VUZXh0SW5wdXRU
eXBlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJhc2VUZXh0SW5w
dXRUeXBlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjU1QjNEN0ExMjUxRjEy
RDAwM0VGMjY5IC8qIEJhc2VUZXh0SW5wdXRUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEJhc2VUZXh0SW5wdXRUeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUY1NUIzRDdCMTI1MUYxMkQwMDNFRjI2OSAvKiBCdXR0b25JbnB1dFR5cGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQnV0dG9uSW5wdXRUeXBlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwMzc3LDYgKzIwMzc5LDcgQEAKIAkJCQlCQzIy
NzQ3NTBFODM2NkUyMDBFN0Y5NzUgLyogU1ZHUmVuZGVyU3R5bGUuaCAqLywKIAkJCQlCQzIyNzQ3
NjBFODM2NkUyMDBFN0Y5NzUgLyogU1ZHUmVuZGVyU3R5bGVEZWZzLmNwcCAqLywKIAkJCQlCQzIy
NzQ3NzBFODM2NkUyMDBFN0Y5NzUgLyogU1ZHUmVuZGVyU3R5bGVEZWZzLmggKi8sCisJCQkJRjU1
M0I4OTIxNUJFMjZDMDAwQjEzNEM5IC8qIFdyYXBTaGFwZXMuY3BwICovLAogCQkJCUZEQjUxQ0Y0
MTU5Q0Q3MDMwMEUyMjdDNSAvKiBXcmFwU2hhcGVzLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IHN0
eWxlOwpAQCAtMjgzOTYsNiArMjgzOTksNyBAQAogCQkJCUZENTM3MzUyMTM3QjY1MTgwMDAwOERD
RSAvKiBaZXJvUG9sZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDM0NGMTdBNDE1QjAwNjNGMDAy
NzZEMzkgLyogSWRUYXJnZXRPYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDM0NGMTdB
NjE1QjAwNjNGMDAyNzZEMzkgLyogSWRUYXJnZXRPYnNlcnZlclJlZ2lzdHJ5LmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUY1NTNCODkzMTVCRTI2QzAwMEIxMzRDOSAvKiBXcmFwU2hhcGVzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTEwNTk0NTczMTVCNDI5NTMwMDREMzdGRCAvKiBKU01pY3JvRGF0
YUl0ZW1WYWx1ZUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxMDU5NDU3NzE1QjQyQTBE
MDA0RDM3RkQgLyogSlNNaWNyb0RhdGFJdGVtVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MTA1OTQ1OTcxNUI0MkE4RTAwNEQzN0ZEIC8qIFByb3BlcnR5Tm9kZUxpc3QuY3BwIGluIFNvdXJj
ZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV3JhcFNo
YXBlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjFhMmM5ZmJmZGZiM2I4NjAwN2VlMTQxYjg2MjBhMzhhOWIyNWNmNgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9XcmFwU2hhcGVz
LmNwcApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFkb2JlIFN5
c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscworICogICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVIgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IEhPTERFUiBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLAorICogT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UgorICogVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GCisgKiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIldyYXBTaGFwZXMuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCit2b2lkIFdyYXBTaGFwZTo6ZGVzdHJveSgpCit7CisgICAgc3dpdGNoIChtX3R5
cGUpIHsKKyAgICBjYXNlIFdSQVBfU0hBUEVfUkVDVEFOR0xFOgorICAgICAgICBkZWxldGUgc3Rh
dGljX2Nhc3Q8V3JhcFNoYXBlUmVjdGFuZ2xlKj4odGhpcyk7CisgICAgICAgIHJldHVybjsKKyAg
ICBjYXNlIFdSQVBfU0hBUEVfQ0lSQ0xFOgorICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8V3Jh
cFNoYXBlQ2lyY2xlKj4odGhpcyk7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIFdSQVBfU0hB
UEVfRUxMSVBTRToKKyAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFdyYXBTaGFwZUVsbGlwc2Uq
Pih0aGlzKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgV1JBUF9TSEFQRV9QT0xZR09OOgor
ICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8V3JhcFNoYXBlUG9seWdvbio+KHRoaXMpOworICAg
ICAgICByZXR1cm47CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCit9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvV3JhcFNoYXBlcy5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1dyYXBTaGFwZXMuaAppbmRleCA2MTA1MmNi
MGRhNGNmM2Q3NTY2NTIzNDE4NzY4MjA0OWE5NmQ0MWY4Li44NjkyOGI2OGNjY2VjMWI5MTUzNWMx
ZGNmMDg2MWNkYzRhMTFiZDA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvV3JhcFNoYXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9X
cmFwU2hhcGVzLmgKQEAgLTEzLDcgKzEzLDcgQEAKICAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscwogICogICAgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgogICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVIg4oCcQVMgSVPigJ0gQU5EIEFOWQorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiAiQVMgSVMiIEFORCBBTlkKICAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCiAgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKICAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIEJFCkBAIC0zMiwxMCArMzIsMTIgQEAKIAog
I2luY2x1ZGUgIkxlbmd0aC5oIgogI2luY2x1ZGUgIldpbmRSdWxlLmgiCisjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgV3JhcFNoYXBlIDogcHVibGljIFJlZkNvdW50ZWQ8V3JhcFNoYXBlPiB7
CitjbGFzcyBXcmFwU2hhcGUgOiBwdWJsaWMgV1RGOjpSZWZDb3VudGVkQmFzZSB7CiBwdWJsaWM6
CiAgICAgZW51bSBUeXBlIHsKICAgICAgICAgV1JBUF9TSEFQRV9SRUNUQU5HTEUgPSAxLApAQCAt
NDMsMTIgKzQ1LDIzIEBAIHB1YmxpYzoKICAgICAgICAgV1JBUF9TSEFQRV9FTExJUFNFID0gMywK
ICAgICAgICAgV1JBUF9TSEFQRV9QT0xZR09OID0gNAogICAgIH07CisgICAgCisgICAgdm9pZCBk
ZXJlZigpIAorICAgIHsKKyAgICAgICAgaWYgKGRlcmVmQmFzZSgpKQorICAgICAgICAgICAgZGVz
dHJveSgpOworICAgIH0KIAotICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgPSAwOwotICAg
IHZpcnR1YWwgfldyYXBTaGFwZSgpIHsgfQorICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJu
IG1fdHlwZTsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgV3JhcFNoYXBlKCkgeyB9CisgICAgV3JhcFNo
YXBlKFR5cGUgdHlwZSkKKyAgICAgICAgOiBtX3R5cGUodHlwZSkKKyAgICB7IH0KKyAgICAKK3By
aXZhdGU6CisgICAgdm9pZCBkZXN0cm95KCk7CisgICAgVHlwZSBtX3R5cGU7CiB9OwogCiBjbGFz
cyBXcmFwU2hhcGVSZWN0YW5nbGUgOiBwdWJsaWMgV3JhcFNoYXBlIHsKQEAgLTY4LDEyICs4MSwx
MSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRIZWlnaHQoTGVuZ3RoIGhlaWdodCkgeyBtX2hlaWdo
dCA9IGhlaWdodDsgfQogICAgIHZvaWQgc2V0Q29ybmVyUmFkaXVzWChMZW5ndGggcmFkaXVzWCkg
eyBtX2Nvcm5lclJhZGl1c1ggPSByYWRpdXNYOyB9CiAgICAgdm9pZCBzZXRDb3JuZXJSYWRpdXNZ
KExlbmd0aCByYWRpdXNZKSB7IG1fY29ybmVyUmFkaXVzWSA9IHJhZGl1c1k7IH0KLQotICAgIHZp
cnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gV1JBUF9TSEFQRV9SRUNUQU5HTEU7IH0K
LQorICAgIAogcHJpdmF0ZToKICAgICBXcmFwU2hhcGVSZWN0YW5nbGUoKQotICAgICAgICA6IG1f
Y29ybmVyUmFkaXVzWChVbmRlZmluZWQpCisgICAgICAgIDogV3JhcFNoYXBlKFdSQVBfU0hBUEVf
UkVDVEFOR0xFKQorICAgICAgICAsIG1fY29ybmVyUmFkaXVzWChVbmRlZmluZWQpCiAgICAgICAg
ICwgbV9jb3JuZXJSYWRpdXNZKFVuZGVmaW5lZCkKICAgICB7IH0KIApAQCAtOTcsOSArMTA5LDEw
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldENlbnRlclkoTGVuZ3RoIGNlbnRlclkpIHsgbV9jZW50
ZXJZID0gY2VudGVyWTsgfQogICAgIHZvaWQgc2V0UmFkaXVzKExlbmd0aCByYWRpdXMpIHsgbV9y
YWRpdXMgPSByYWRpdXM7IH0KIAotICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1
cm4gV1JBUF9TSEFQRV9DSVJDTEU7IH0KIHByaXZhdGU6Ci0gICAgV3JhcFNoYXBlQ2lyY2xlKCkg
eyB9CisgICAgV3JhcFNoYXBlQ2lyY2xlKCkgCisgICAgICAgIDogV3JhcFNoYXBlKFdSQVBfU0hB
UEVfQ0lSQ0xFKQorICAgIHsgfQogCiAgICAgTGVuZ3RoIG1fY2VudGVyWDsKICAgICBMZW5ndGgg
bV9jZW50ZXJZOwpAQCAtMTIwLDkgKzEzMywxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRSYWRp
dXNYKExlbmd0aCByYWRpdXNYKSB7IG1fcmFkaXVzWCA9IHJhZGl1c1g7IH0KICAgICB2b2lkIHNl
dFJhZGl1c1koTGVuZ3RoIHJhZGl1c1kpIHsgbV9yYWRpdXNZID0gcmFkaXVzWTsgfQogCi0gICAg
dmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBXUkFQX1NIQVBFX0VMTElQU0U7IH0K
IHByaXZhdGU6Ci0gICAgV3JhcFNoYXBlRWxsaXBzZSgpIHsgfQorICAgIFdyYXBTaGFwZUVsbGlw
c2UoKSAKKyAgICAgICAgOiBXcmFwU2hhcGUoV1JBUF9TSEFQRV9FTExJUFNFKQorICAgIHsgfQog
CiAgICAgTGVuZ3RoIG1fY2VudGVyWDsKICAgICBMZW5ndGggbV9jZW50ZXJZOwpAQCAtMTQyLDEw
ICsxNTYsMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0V2luZFJ1bGUoV2luZFJ1bGUgd2luZFJ1
bGUpIHsgbV93aW5kUnVsZSA9IHdpbmRSdWxlOyB9CiAgICAgdm9pZCBhcHBlbmRQb2ludChMZW5n
dGggeCwgTGVuZ3RoIHkpIHsgbV92YWx1ZXMuYXBwZW5kKHgpOyBtX3ZhbHVlcy5hcHBlbmQoeSk7
IH0KIAotICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gV1JBUF9TSEFQRV9Q
T0xZR09OOyB9CiBwcml2YXRlOgogICAgIFdyYXBTaGFwZVBvbHlnb24oKQotICAgICAgICA6IG1f
d2luZFJ1bGUoUlVMRV9OT05aRVJPKQorICAgICAgICA6IFdyYXBTaGFwZShXUkFQX1NIQVBFX1BP
TFlHT04pCisgICAgICAgICwgbV93aW5kUnVsZShSVUxFX05PTlpFUk8pCiAgICAgeyB9CiAKICAg
ICBXaW5kUnVsZSBtX3dpbmRSdWxlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>