<?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>76004</bug_id>
          
          <creation_ts>2012-01-10 16:06:02 -0800</creation_ts>
          <short_desc>Use the [Supplemental] IDL in SQLDatabase</short_desc>
          <delta_ts>2012-02-24 10:18:26 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</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>
          
          <blocked>72138</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>ojan</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>533450</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-01-10 16:06:02 -0800</bug_when>
    <thetext>We&apos;ve been working on WebKit modularization.

By using the [Supplemental] IDL, we can move SQLDatabase related code from WebCore/page/DOMWindow.{h,cpp,idl} to WebCore/storage/DOMWindowSQLDatabase.{h,cpp,idl}.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533457</commentid>
    <comment_count>1</comment_count>
      <attachid>121932</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-01-10 16:16:04 -0800</bug_when>
    <thetext>Created attachment 121932
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533468</commentid>
    <comment_count>2</comment_count>
      <attachid>121932</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-01-10 16:26:19 -0800</bug_when>
    <thetext>Comment on attachment 121932
Patch

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

&gt; Source/WebCore/storage/DOMWindowSQLDatabase.cpp:46
&gt; +PassRefPtr&lt;Database&gt; DOMWindowSQLDatabase::openDatabase(DOMWindow* imp, const String&amp; name, const String&amp; version, const String&amp; displayName, unsigned long estimatedSize, PassRefPtr&lt;DatabaseCallback&gt; creationCallback, ExceptionCode&amp; ec)

Maybe |imp| should be |window| ?  We like to use more specific names outside of the bindings.

&gt; Source/WebCore/storage/DOMWindowSQLDatabase.cpp:52
&gt; +    if (imp-&gt;frame() &amp;&amp; AbstractDatabase::isAvailable() &amp;&amp; imp-&gt;frame()-&gt;document()-&gt;securityOrigin()-&gt;canAccessDatabase())

imp-&gt;frame() will always be true when imp-&gt;isCurrentlyDisplayedInFrame() is true.

imp-&gt;frame()-&gt;document() can just be imp-&gt;document()    (there&apos;s no reason to indirect through the frame)

Feel free to leave the code as-is since you&apos;re just moving it.  Maybe we should just add FIXME comments about these nits?

&gt; Source/WebCore/storage/DOMWindowSQLDatabase.h:51
&gt; +};

Can you make the constructor and destructor private?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533477</commentid>
    <comment_count>3</comment_count>
      <attachid>121938</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-01-10 16:39:58 -0800</bug_when>
    <thetext>Created attachment 121938
patch for commit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533479</commentid>
    <comment_count>4</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-01-10 16:40:41 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 121932 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=121932&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/storage/DOMWindowSQLDatabase.cpp:46
&gt; &gt; +PassRefPtr&lt;Database&gt; DOMWindowSQLDatabase::openDatabase(DOMWindow* imp, const String&amp; name, const String&amp; version, const String&amp; displayName, unsigned long estimatedSize, PassRefPtr&lt;DatabaseCallback&gt; creationCallback, ExceptionCode&amp; ec)
&gt; 
&gt; Maybe |imp| should be |window| ?  We like to use more specific names outside of the bindings.

Done.

&gt; &gt; Source/WebCore/storage/DOMWindowSQLDatabase.cpp:52
&gt; &gt; +    if (imp-&gt;frame() &amp;&amp; AbstractDatabase::isAvailable() &amp;&amp; imp-&gt;frame()-&gt;document()-&gt;securityOrigin()-&gt;canAccessDatabase())
&gt; 
&gt; imp-&gt;frame() will always be true when imp-&gt;isCurrentlyDisplayedInFrame() is true.
&gt; 
&gt; imp-&gt;frame()-&gt;document() can just be imp-&gt;document()    (there&apos;s no reason to indirect through the frame)
&gt; 
&gt; Feel free to leave the code as-is since you&apos;re just moving it.  Maybe we should just add FIXME comments about these nits?

OK, then I&apos;ll leave it as-is in this patch and write a follow-up patch.

&gt; &gt; Source/WebCore/storage/DOMWindowSQLDatabase.h:51
&gt; &gt; +};
&gt; 
&gt; Can you make the constructor and destructor private?

Done. Committed. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533505</commentid>
    <comment_count>5</comment_count>
      <attachid>121938</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-10 17:12:38 -0800</bug_when>
    <thetext>Comment on attachment 121938
patch for commit

Clearing flags on attachment: 121938

Committed r104654: &lt;http://trac.webkit.org/changeset/104654&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564430</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-24 10:18:26 -0800</bug_when>
    <thetext>I think this has been fixed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121932</attachid>
            <date>2012-01-10 16:16:04 -0800</date>
            <delta_ts>2012-01-10 17:20:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76004-20120111091603.patch</filename>
            <type>text/plain</type>
            <size>23805</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0NjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTY4YmRmNzc4MjU3YjZl
NzFhZjg5MTdlZjYwOGUzNzUwYzA4NWQ1YS4uMmVjMGIyYjJiM2RjZGI0OTBlYzFjOTZhMDkxYjQy
ODU5ZmYyNDY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQzIEBACiAyMDEyLTAxLTEwICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBVc2UgdGhlIFtTdXBw
bGVtZW50YWxdIElETCBpbiBTUUxEYXRhYmFzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZSd2ZSBiZWVuIHdvcmtpbmcgb24gV2ViS2l0IG1vZHVsYXJp
emF0aW9uLiBCeSB1c2luZyB0aGUgW1N1cHBsZW1lbnRhbF0gSURMLAorICAgICAgICB3ZSBjYW4g
bW92ZSBTUUxEYXRhYmFzZSByZWxhdGVkIGNvZGUgZnJvbSBXZWJDb3JlL3BhZ2UvRE9NV2luZG93
LntoLGNwcCxpZGx9CisgICAgICAgIHRvIFdlYkNvcmUvc3RvcmFnZS9ET01XaW5kb3dTUUxEYXRh
YmFzZS57aCxjcHAsaWRsfS4KKworICAgICAgICBUZXN0czogc3RvcmFnZS9vcGVuLWRhdGFiYXNl
LWNyZWF0aW9uLWNhbGxiYWNrLWlzb2xhdGVkLXdvcmxkLmh0bWwKKyAgICAgICAgICAgICAgIHN0
b3JhZ2Uvb3Blbi1kYXRhYmFzZS1jcmVhdGlvbi1jYWxsYmFjay5odG1sCisgICAgICAgICAgICAg
ICBzdG9yYWdlL29wZW4tZGF0YWJhc2UtZW1wdHktdmVyc2lvbi5odG1sCisgICAgICAgICAgICAg
ICBzdG9yYWdlL29wZW4tZGF0YWJhc2Utb3Zlci1xdW90YS5odG1sCisgICAgICAgICAgICAgICBz
dG9yYWdlL29wZW4tZGF0YWJhc2Utc2V0LWVtcHR5LXZlcnNpb24uaHRtbAorICAgICAgICAgICAg
ICAgc3RvcmFnZS9vcGVuLWRhdGFiYXNlLXdoaWxlLXRyYW5zYWN0aW9uLWluLXByb2dyZXNzLmh0
bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGRlZCBET01XaW5kb3dTUUxEYXRhYmFz
ZS57aWRsLGgsY3BwfSB0byB0aGUgYnVpbGQgc2NyaXB0LgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLm1ha2U6IERpdHRvLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnByaTogRGl0dG8uCisg
ICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbTogRGl0dG8uCisgICAgICAgICogVGFyZ2V0LnBy
aTogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS5neXBpOiBEaXR0by4KKyAgICAgICAgKiBXZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOiBEaXR0by4KKworICAgICAgICAqIHBhZ2UvRE9NV2luZG93
LmNwcDogUmVtb3ZlZCBTUUxEYXRhYmFzZSByZWxhdGVkIGNvZGUuCisgICAgICAgICogcGFnZS9E
T01XaW5kb3cuaWRsOiBEaXR0by4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOiBEaXR0by4g
TW92ZWQgaXNDdXJyZW50bHlEaXNwbGF5ZWRJbkZyYW1lKCkgZnJvbSBwcml2YXRlOiB0byBwdWJs
aWM6CisgICAgICAgIHNvIHRoYXQgRE9NV2luZG93U1FMRGF0YWJhc2U6Om9wZW5EYXRhYmFzZSgp
IGNhbiBhY2Nlc3MgaXQuCisKKyAgICAgICAgKiBzdG9yYWdlL0RPTVdpbmRvd1NRTERhdGFiYXNl
LmNwcDogQWRkZWQuIE1vdmVkIG9wZW5EYXRhYmFzZSgpIGZyb20gRE9NV2luZG93LmNwcCB0byBo
ZXJlLgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93U1FMRGF0YWJhc2U6Om9wZW5EYXRhYmFz
ZSk6CisgICAgICAgICogc3RvcmFnZS9ET01XaW5kb3dTUUxEYXRhYmFzZS5oOiBBZGRlZC4gTW92
ZWQgb3BlbkRhdGFiYXNlKCkgZnJvbSBET01XaW5kb3cuaCB0byBoZXJlLgorICAgICAgICAqIHN0
b3JhZ2UvRE9NV2luZG93U1FMRGF0YWJhc2UuaWRsOiBBZGRlZC4gVXNpbmcgdGhlIFtTdXBwbGVt
ZW50YWxdIElETCwgbW92ZWQgb3BlbkRhdGFiYXNlKCkKKyAgICAgICAgYW5kIFNRTEV4Y2VwdGlv
biBmcm9tIERPTVdpbmRvdy5pZGwgdG8gaGVyZS4KKworMjAxMi0wMS0xMCAgS2VudGFybyBIYXJh
ICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgU3VwcG9ydCB0aGUgW1N1cHBsZW1l
bnRhbF0gSURMIG9uIG1ldGhvZHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTc1OTQ0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNjcxMjIyZGZkZDM4
MGY3OGJiNGI4ZTk0ZmVkYmRjZWZhYmY0NzFlYi4uNzE3YTdkODY5MDFkMGIyYmUyYTFlY2RiYmIz
NzhjY2UxOWEwYmYyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTEzNDksNiArMTM0OSw3IEBA
IFNFVChXZWJDb3JlX1NPVVJDRVMKIAogICAgIHN0b3JhZ2UvQWJzdHJhY3REYXRhYmFzZS5jcHAK
ICAgICBzdG9yYWdlL0NoYW5nZVZlcnNpb25XcmFwcGVyLmNwcAorICAgIHN0b3JhZ2UvRE9NV2lu
ZG93U1FMRGF0YWJhc2UuY3BwCiAgICAgc3RvcmFnZS9EYXRhYmFzZS5jcHAKICAgICBzdG9yYWdl
L0RhdGFiYXNlQXV0aG9yaXplci5jcHAKICAgICBzdG9yYWdlL0RhdGFiYXNlU3luYy5jcHAKQEAg
LTE0NjgsNiArMTQ2OSw3IEBAIEVORElGICgpCiAKIElGIChFTkFCTEVfU1FMX0RBVEFCQVNFKQog
ICAgIExJU1QoQVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCisgICAgICAgIHN0b3JhZ2UvRE9NV2lu
ZG93U1FMRGF0YWJhc2UuaWRsCiAgICAgICAgIHN0b3JhZ2UvRGF0YWJhc2UuaWRsCiAgICAgICAg
IHN0b3JhZ2UvRGF0YWJhc2VDYWxsYmFjay5pZGwKICAgICAgICAgc3RvcmFnZS9EYXRhYmFzZVN5
bmMuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA4NWNiMGJmYmZjZDU0Yzgy
ZmViNzVkOTgzNWIzYzAyNDA1ZjEzYjRlLi5mNzVhODkwNmIzMWU5NDU5ZGE1ZThmMDJjZWE0MDQy
NjRhMzllM2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTMzNiw2ICszMzYs
NyBAQCBCSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9wbHVnaW5zL0RPTU1pbWVUeXBl
QXJyYXkuaWRsIFwKICAgICAkKFdlYkNvcmUpL3BsdWdpbnMvRE9NUGx1Z2luLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9wbHVnaW5zL0RPTVBsdWdpbkFycmF5LmlkbCBcCisgICAgJChXZWJDb3JlKS9z
dG9yYWdlL0RPTVdpbmRvd1NRTERhdGFiYXNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9zdG9yYWdl
L0RhdGFiYXNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9zdG9yYWdlL0RhdGFiYXNlQ2FsbGJhY2su
aWRsIFwKICAgICAkKFdlYkNvcmUpL3N0b3JhZ2UvRGF0YWJhc2VTeW5jLmlkbCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5wcmkKaW5kZXggYjY5Yjc0NGFkZWU0OTk0YTY2NjE4ZGQyZWEyY2M1MDVl
OTQwYzAwZS4uMDMzNWIzODc4N2Q5OTUyODgzMjNiMzU4ZmU2ZTNmMDFjMWVkY2VjZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAtMzY1LDYgKzM2NSw3IEBAIElETF9CSU5ESU5HUyAr
PSBcCiAgICAgcGx1Z2lucy9ET01NaW1lVHlwZS5pZGwgXAogICAgIHBsdWdpbnMvRE9NUGx1Z2lu
QXJyYXkuaWRsIFwKICAgICBwbHVnaW5zL0RPTU1pbWVUeXBlQXJyYXkuaWRsIFwKKyAgICBzdG9y
YWdlL0RPTVdpbmRvd1NRTERhdGFiYXNlLmlkbCBcCiAgICAgc3RvcmFnZS9EYXRhYmFzZS5pZGwg
XAogICAgIHN0b3JhZ2UvRGF0YWJhc2VDYWxsYmFjay5pZGwgXAogICAgIHN0b3JhZ2UvRGF0YWJh
c2VTeW5jLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCA2NDg2ODk3NGMz
ODgyYjg4YWIwOGQyOGI5ZjdmZmVhMGY5YWU0NzIwLi4yYjEwMDExY2VhYWExOGNhNTU4ODIyN2Rh
OTU5NmU5OGNmMmJiYTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTM3NTQs
NiArMzc1NCw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9BYnN0cmFjdERhdGFiYXNlLmggXAogCVNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvQ2hhbmdlVmVy
c2lvbldyYXBwZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0NoYW5nZVZlcnNpb25X
cmFwcGVyLmggXAorCVNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRE9NV2luZG93U1FMRGF0YWJhc2Uu
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RPTVdpbmRvd1NRTERhdGFiYXNlLmggXAog
CVNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VBdXRob3JpemVyLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZUF1dGhvcml6ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9EYXRhYmFzZUNhbGxiYWNrLmggXApAQCAtNDYwMCw2ICs0NjAyLDcgQEAgd2ViY29y
ZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1FMVHJhbnNh
Y3Rpb25TeW5jQ2FsbGJhY2suaAogCiBkb21fYmluZGluZ19pZGxzICs9IFwKKwkkKFdlYkNvcmUp
L3N0b3JhZ2UvRE9NV2luZG93U1FMRGF0YWJhc2UuaWRsIFwKIAkkKFdlYkNvcmUpL3N0b3JhZ2Uv
RGF0YWJhc2UuaWRsIFwKIAkkKFdlYkNvcmUpL3N0b3JhZ2UvRGF0YWJhc2VDYWxsYmFjay5pZGwg
XAogCSQoV2ViQ29yZSkvc3RvcmFnZS9EYXRhYmFzZVN5bmMuaWRsIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4
IGQ1MDNmNWU0ZjVhYzA3ODhhN2ZkNDAyNmIzMjk4YjViZDAxZDE1MGMuLjVkYjg1MWFkNDU5MDU4
NGMwMjZjYzVmNjcxYzliNjUwMDhmNTBkMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMTI3OSw2ICsxMjc5
LDcgQEAgU09VUkNFUyArPSBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL1N0eWxlVHJhbnNmb3JtRGF0
YS5jcHAgXAogICAgIHJlbmRlcmluZy9zdHlsZS9TdHlsZVZpc3VhbERhdGEuY3BwIFwKICAgICBz
dG9yYWdlL0Fic3RyYWN0RGF0YWJhc2UuY3BwIFwKKyAgICBzdG9yYWdlL0RPTVdpbmRvd1NRTERh
dGFiYXNlLmNwcCBcCiAgICAgc3RvcmFnZS9EYXRhYmFzZS5jcHAgXAogICAgIHN0b3JhZ2UvRGF0
YWJhc2VBdXRob3JpemVyLmNwcCBcCiAgICAgc3RvcmFnZS9EYXRhYmFzZVN5bmMuY3BwIFwKQEAg
LTI0NzMsNiArMjQ3NCw3IEBAIEhFQURFUlMgKz0gXAogICAgIHJlbmRlcmluZy9zdmcvU1ZHVGV4
dFJ1blJlbmRlcmluZ0NvbnRleHQuaCBcCiAgICAgc3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmgg
XAogICAgIHN0b3JhZ2UvQ2hhbmdlVmVyc2lvbldyYXBwZXIuaCBcCisgICAgc3RvcmFnZS9ET01X
aW5kb3dTUUxEYXRhYmFzZS5oIFwKICAgICBzdG9yYWdlL0RhdGFiYXNlQXV0aG9yaXplci5oIFwK
ICAgICBzdG9yYWdlL0RhdGFiYXNlLmggXAogICAgIHN0b3JhZ2UvRGF0YWJhc2VDYWxsYmFjay5o
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQppbmRleCBhZTFkYTNjMzYyZjYyZGNjNTBjYTg4NzUwNThjZjdlNWVm
MzBlMmY1Li5kZWE4MjI0YmZiMmM4N2U5OWI1M2Q1OTA1M2QxOWI5NDY1Mjc2NTMwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCkBAIC0xNDUyLDYgKzE0NTIsNyBAQAogICAgICAgICAgICAgJ3BsdWdpbnMvRE9N
TWltZVR5cGVBcnJheS5pZGwnLAogICAgICAgICAgICAgJ3BsdWdpbnMvRE9NUGx1Z2luLmlkbCcs
CiAgICAgICAgICAgICAncGx1Z2lucy9ET01QbHVnaW5BcnJheS5pZGwnLAorICAgICAgICAgICAg
J3N0b3JhZ2UvRE9NV2luZG93U1FMRGF0YWJhc2UuaWRsJywKICAgICAgICAgICAgICdzdG9yYWdl
L0RhdGFiYXNlLmlkbCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9EYXRhYmFzZUNhbGxiYWNrLmlk
bCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9EYXRhYmFzZVN5bmMuaWRsJywKQEAgLTQ5MTcsNiAr
NDkxOCw4IEBACiAgICAgICAgICAgICAnc3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmNwcCcsCiAg
ICAgICAgICAgICAnc3RvcmFnZS9DaGFuZ2VWZXJzaW9uV3JhcHBlci5jcHAnLAogICAgICAgICAg
ICAgJ3N0b3JhZ2UvQ2hhbmdlVmVyc2lvbldyYXBwZXIuaCcsCisgICAgICAgICAgICAnc3RvcmFn
ZS9ET01XaW5kb3dTUUxEYXRhYmFzZS5jcHAnLAorICAgICAgICAgICAgJ3N0b3JhZ2UvRE9NV2lu
ZG93U1FMRGF0YWJhc2UuaCcsCiAgICAgICAgICAgICAnc3RvcmFnZS9EYXRhYmFzZS5jcHAnLAog
ICAgICAgICAgICAgJ3N0b3JhZ2UvRGF0YWJhc2VBdXRob3JpemVyLmNwcCcsCiAgICAgICAgICAg
ICAnc3RvcmFnZS9EYXRhYmFzZUF1dGhvcml6ZXIuaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGNjODYxMDU4NDJiODg4Zjk0OTdkYzc3ZDRl
NDk2YWY5MmJlNzRmZjguLjYzZjEzNTEyOTVlNzkyYTRmNGIxODZhMWZkNGJkMmNlYjMyNjExYTMg
MTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC03
MDUyNiw2ICs3MDUyNiwxNCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxzdG9yYWdlXERPTVdpbmRvd1NRTERhdGFiYXNlLmNwcCIKKwkJCQk+CisJ
CQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxET01XaW5k
b3dTUUxEYXRhYmFzZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRp
dmVQYXRoPSIuLlxzdG9yYWdlXERhdGFiYXNlLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
MTU0OTE1NzE2ZjYwMWRmOTRlMjYxZDQwMDRiMjg4YjNkN2ZhNjUwYi4uZGI5OWYxMTQ5ZjU5MjA0
MDYwN2MzNTllMjdmMTdkZjA0NGRhZDA1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDA0OCw2ICs0MDQ4LDggQEAKIAkJQThF
QTgwMEMwQTE5NTE2RTAwQThFRjVGIC8qIFN0eWxlU2hlZXQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4RUE4MDA0MEExOTUxNkUwMEE4RUY1RiAvKiBT
dHlsZVNoZWV0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJQThFQTgwMEQwQTE5NTE2RTAwQThFRjVGIC8qIFN0eWxlU2hlZXQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThFQTgwMDUwQTE5NTE2RTAw
QThFRjVGIC8qIFN0eWxlU2hlZXQuY3BwICovOyB9OwogCQlBOEVBODAwRTBBMTk1MTZFMDBBOEVG
NUYgLyogTWVkaWFMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBOEVBODAwNjBBMTk1MTZFMDBBOEVGNUYgLyogTWVkaWFMaXN0LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQThGNDU3QTAxNEJDMUE4
ODAwMENFQTU5IC8qIERPTVdpbmRvd1NRTERhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4RjQ1NzlEMTRCQzEzRUMwMDBDRUE1OSAvKiBE
T01XaW5kb3dTUUxEYXRhYmFzZS5jcHAgKi87IH07CisJCUE4RjQ1N0ExMTRCQzFBOTQwMDBDRUE1
OSAvKiBET01XaW5kb3dTUUxEYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQThGNDU3OUUxNEJDMTNFQzAwMENFQTU5IC8qIERPTVdpbmRvd1NR
TERhdGFiYXNlLmggKi87IH07CiAJCUE4RjQ2QTg0MENCMjBBOUQwMDNBOTY3MCAvKiBET01TVkdD
bGlwUGF0aEVsZW1lbnQuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MDM2MTJDMEFDRTAwN0IwMDFGM0Q5RSAvKiBET01TVkdD
bGlwUGF0aEVsZW1lbnQuaCAqLzsgfTsKIAkJQThGNDZBODgwQ0IyMEE5RDAwM0E5NjcwIC8qIERP
TVNWR0dyYWRpZW50RWxlbWVudC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVDOUEyRUMwQUQ3RTkwMzAwRkJGRjFFIC8qIERP
TVNWR0dyYWRpZW50RWxlbWVudC5oICovOyB9OwogCQlBOEY0NkE4OTBDQjIwQTlEMDAzQTk2NzAg
LyogRE9NU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODUwMzYxMjgwQUNFMDA3QjAwMUYz
RDlFIC8qIERPTVNWR0FuaW1hdGVDb2xvckVsZW1lbnQuaCAqLzsgfTsKQEAgLTExMzIxLDYgKzEx
MzIzLDkgQEAKIAkJQThFQTgwMDUwQTE5NTE2RTAwQThFRjVGIC8qIFN0eWxlU2hlZXQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlU2hlZXQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBOEVBODAwNjBBMTk1MTZFMDBBOEVGNUYgLyogTWVk
aWFMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUxpc3QuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQThGNDU3OEYxNEIyQjAwNDAwMENFQTU5IC8q
IHJlc29sdmUtc3VwcGxlbWVudGFsLnBsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQucGVybDsgbmFt
ZSA9ICJyZXNvbHZlLXN1cHBsZW1lbnRhbC5wbCI7IHBhdGggPSAic2NyaXB0cy9yZXNvbHZlLXN1
cHBsZW1lbnRhbC5wbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE4RjQ1NzlEMTRC
QzEzRUMwMDBDRUE1OSAvKiBET01XaW5kb3dTUUxEYXRhYmFzZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01XaW5kb3dTUUxEYXRhYmFzZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUE4RjQ1NzlFMTRCQzEzRUMwMDBDRUE1OSAvKiBET01XaW5k
b3dTUUxEYXRhYmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01XaW5k
b3dTUUxEYXRhYmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBOEY0NTc5RjE0
QkMxM0VDMDAwQ0VBNTkgLyogRE9NV2luZG93U1FMRGF0YWJhc2UuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IERPTVdpbmRvd1NRTERhdGFiYXNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQThGQTZFNUIwRTRDRkRFRDAwRDVDRjQ5IC8qIFBhdHRlcm4uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGF0dGVybi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBOEZBNkU1QzBFNENGREVEMDBENUNGNDkgLyogUGF0dGVybi5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQYXR0ZXJuLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTlDNkU0RTEwRDc0NUUwNTAwNjQ0MkU5IC8qIERPTU1pbWVUeXBlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01NaW1lVHlwZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDM5Miw2ICsxNDM5Nyw5IEBACiAJCTFB
RTgyRUM5MENBQUUxNzcwMDIyMzdBRSAvKiBzdG9yYWdlICovID0gewogCQkJaXNhID0gUEJYR3Jv
dXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlBOEY0NTc5RDE0QkMxM0VDMDAwQ0VBNTkgLyogRE9N
V2luZG93U1FMRGF0YWJhc2UuY3BwICovLAorCQkJCUE4RjQ1NzlFMTRCQzEzRUMwMDBDRUE1OSAv
KiBET01XaW5kb3dTUUxEYXRhYmFzZS5oICovLAorCQkJCUE4RjQ1NzlGMTRCQzEzRUMwMDBDRUE1
OSAvKiBET01XaW5kb3dTUUxEYXRhYmFzZS5pZGwgKi8sCiAJCQkJQjVCNURDNjcxMTlCQjNENTAw
MkE4NzkwIC8qIEFic3RyYWN0RGF0YWJhc2UuY3BwICovLAogCQkJCUI1QjVEQzY4MTE5QkIzRDUw
MDJBODc5MCAvKiBBYnN0cmFjdERhdGFiYXNlLmggKi8sCiAJCQkJNTE0MTg1RUQwQ0Q2NUYwNDAw
NzYzQzk5IC8qIENoYW5nZVZlcnNpb25XcmFwcGVyLmNwcCAqLywKQEAgLTI0OTA0LDYgKzI0OTEy
LDcgQEAKIAkJCQk5NzRBODYyMzE0QjdBREJCMDAzRkRDNzYgLyogRnJhbWVEZXN0cnVjdGlvbk9i
c2VydmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0QyQUQwNDE0QjgyM0E2MDA5M0RGMzIgLyog
RE9NV2luZG93UHJvcGVydHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBQUJBMjVBMTRCQzYxMzMw
MEFBOUExMSAvKiBET01FZGl0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4RjQ1N0ExMTRCQzFB
OTQwMDBDRUE1OSAvKiBET01XaW5kb3dTUUxEYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0y
NzgxMSw2ICsyNzgyMCw3IEBACiAJCQkJOTc0QTg2MjIxNEI3QURCQjAwM0ZEQzc2IC8qIEZyYW1l
RGVzdHJ1Y3Rpb25PYnNlcnZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0QyQUQwMzE0Qjgy
M0E2MDA5M0RGMzIgLyogRE9NV2luZG93UHJvcGVydHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
N0FBQkEyNTkxNEJDNjEzMzAwQUE5QTExIC8qIERPTUVkaXRvci5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlBOEY0NTdBMDE0QkMxQTg4MDAwQ0VBNTkgLyogRE9NV2luZG93U1FMRGF0YWJhc2UuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggNWI3Yjk1MjAx
MDcyOGM5OWJjODY4YzNjNzU1YThiOGNlNjNmZWYwMS4uMDkzMjY2ZWNhNWQ5YWY4MjEzZmQzOTc4
ZTI2ZjA5NmM2OGM0ZWVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtMTM4MSwy
MyArMTM4MSw2IEBAIGRvdWJsZSBET01XaW5kb3c6OmRldmljZVBpeGVsUmF0aW8oKSBjb25zdAog
ICAgIHJldHVybiBwYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpOwogfQogCi0jaWYgRU5BQkxFKFNR
TF9EQVRBQkFTRSkKLVBhc3NSZWZQdHI8RGF0YWJhc2U+IERPTVdpbmRvdzo6b3BlbkRhdGFiYXNl
KGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uLCBjb25zdCBTdHJpbmcm
IGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIFBhc3NSZWZQdHI8RGF0
YWJhc2VDYWxsYmFjaz4gY3JlYXRpb25DYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0g
ICAgaWYgKCFpc0N1cnJlbnRseURpc3BsYXllZEluRnJhbWUoKSkKLSAgICAgICAgcmV0dXJuIDA7
Ci0KLSAgICBSZWZQdHI8RGF0YWJhc2U+IGRhdGFiYXNlID0gMDsKLSAgICBpZiAobV9mcmFtZSAm
JiBBYnN0cmFjdERhdGFiYXNlOjppc0F2YWlsYWJsZSgpICYmIG1fZnJhbWUtPmRvY3VtZW50KCkt
PnNlY3VyaXR5T3JpZ2luKCktPmNhbkFjY2Vzc0RhdGFiYXNlKCkpCi0gICAgICAgIGRhdGFiYXNl
ID0gRGF0YWJhc2U6Om9wZW5EYXRhYmFzZShtX2ZyYW1lLT5kb2N1bWVudCgpLCBuYW1lLCB2ZXJz
aW9uLCBkaXNwbGF5TmFtZSwgZXN0aW1hdGVkU2l6ZSwgY3JlYXRpb25DYWxsYmFjaywgZWMpOwot
Ci0gICAgaWYgKCFkYXRhYmFzZSAmJiAhZWMpCi0gICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOwot
Ci0gICAgcmV0dXJuIGRhdGFiYXNlOwotfQotI2VuZGlmCi0KIHZvaWQgRE9NV2luZG93OjpzY3Jv
bGxCeShpbnQgeCwgaW50IHkpIGNvbnN0CiB7CiAgICAgaWYgKCFpc0N1cnJlbnRseURpc3BsYXll
ZEluRnJhbWUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCmluZGV4IDZiZDJiNzBmZjMzMzE1YWVm
N2Y5NjMxMDUxMjczYzM2NjEwMGVlNWUuLmNjMjk3Zjc5N2NmNzUyYWY0OTQ1NDhmYzIyZGUwZGEw
NzdlYTQ0YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaApAQCAtMzU1LDEwICszNTUsNiBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIERPTVVSTCogd2Via2l0VVJMKCkgY29uc3Q7CiAj
ZW5kaWYKIAotI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCi0gICAgICAgIFBhc3NSZWZQdHI8RGF0
YWJhc2U+IG9wZW5EYXRhYmFzZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmVy
c2lvbiwgY29uc3QgU3RyaW5nJiBkaXNwbGF5TmFtZSwgdW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRT
aXplLCBQYXNzUmVmUHRyPERhdGFiYXNlQ2FsbGJhY2s+IGNyZWF0aW9uQ2FsbGJhY2ssIEV4Y2Vw
dGlvbkNvZGUmKTsKLSNlbmRpZgotCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKICAg
ICAgICAgREVGSU5FX0FUVFJJQlVURV9FVkVOVF9MSVNURU5FUihkZXZpY2Vtb3Rpb24pOwogICAg
ICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGRldmljZW9yaWVudGF0aW9uKTsK
QEAgLTQxOCwxNSArNDE0LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgUGVyZm9y
bWFuY2UqIHBlcmZvcm1hbmNlKCkgY29uc3Q7CiAjZW5kaWYKIAotICAgIHByaXZhdGU6Ci0gICAg
ICAgIGV4cGxpY2l0IERPTVdpbmRvdyhGcmFtZSopOwotCiAgICAgICAgIC8vIEZJWE1FOiBXaGVu
IHRoaXMgRE9NV2luZG93IGlzIG5vIGxvbmdlciB0aGUgYWN0aXZlIERPTVdpbmRvdyAoaS5lLiwK
ICAgICAgICAgLy8gd2hlbiBpdHMgZG9jdW1lbnQgaXMgbm8gbG9uZ2VyIHRoZSBkb2N1bWVudCB0
aGF0IGlzIGRpc3BsYXllZCBpbiBpdHMKICAgICAgICAgLy8gZnJhbWUpLCB3ZSB3b3VsZCBsaWtl
IHRvIHplcm8gb3V0IG1fZnJhbWUgdG8gYXZvaWQgYmVpbmcgY29uZnVzZWQKICAgICAgICAgLy8g
YnkgdGhlIGRvY3VtZW50IHRoYXQgaXMgY3VycmVudGx5IGFjdGl2ZSBpbiBtX2ZyYW1lLgogICAg
ICAgICBib29sIGlzQ3VycmVudGx5RGlzcGxheWVkSW5GcmFtZSgpIGNvbnN0OwogCisgICAgcHJp
dmF0ZToKKyAgICAgICAgZXhwbGljaXQgRE9NV2luZG93KEZyYW1lKik7CisKICAgICAgICAgdmly
dHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgeyByZWYoKTsgfQogICAgICAgICB2aXJ0dWFsIHZv
aWQgZGVyZWZFdmVudFRhcmdldCgpIHsgZGVyZWYoKTsgfQogICAgICAgICB2aXJ0dWFsIEV2ZW50
VGFyZ2V0RGF0YSogZXZlbnRUYXJnZXREYXRhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwK
aW5kZXggODQxNGY3NWYzZGJjOGI5NDM3YTFhNjk4ZjVjMjFlNDE3N2IwZTYxYi4uOWNhOGJkM2Nm
NTlhMWFjM2UzOGZjZjEyNDI2MjQ0MmM1ZDE1ZDA1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbApAQCAtMTYzLDEwICsxNjMsNiBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPUNhbGxX
aXRoRGVmYXVsdFZhbHVlXSBXZWJLaXRQb2ludCBwKTsKIAogICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgW0VuYWJsZWRBdFJ1bnRpbWVdIERPTUFwcGxpY2F0aW9uQ2FjaGUgYXBwbGljYXRpb25D
YWNoZTsKLSNpZiBkZWZpbmVkKEVOQUJMRV9TUUxfREFUQUJBU0UpICYmIEVOQUJMRV9TUUxfREFU
QUJBU0UKLSAgICAgICAgW0VuYWJsZWRBdFJ1bnRpbWVdIERhdGFiYXNlIG9wZW5EYXRhYmFzZShp
biBET01TdHJpbmcgbmFtZSwgaW4gRE9NU3RyaW5nIHZlcnNpb24sIGluIERPTVN0cmluZyBkaXNw
bGF5TmFtZSwgaW4gdW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplLCBpbiBbQ2FsbGJhY2ssIE9w
dGlvbmFsXSBEYXRhYmFzZUNhbGxiYWNrIGNyZWF0aW9uQ2FsbGJhY2spCi0gICAgICAgICAgICBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKLSNlbmRpZgogCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBbRW5hYmxlZEF0UnVudGltZV0gU3RvcmFnZSBzZXNzaW9uU3RvcmFnZQogICAgICAgICAgICAg
Z2V0dGVyIHJhaXNlcyhET01FeGNlcHRpb24pOwpAQCAtNzk0LDkgKzc5MCw2IEBAIG1vZHVsZSB3
aW5kb3cgewogI2VuZGlmCiAjZW5kaWYKIAotICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFs
PVNRTF9EQVRBQkFTRV0gU1FMRXhjZXB0aW9uQ29uc3RydWN0b3IgU1FMRXhjZXB0aW9uOwotCi0K
ICAgICAgICAgYXR0cmlidXRlIERPTUZvcm1EYXRhQ29uc3RydWN0b3IgRm9ybURhdGE7CiAKICAg
ICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1CTE9CfEZJTEVfU1lTVEVNXSBGaWxlRXJyb3JD
b25zdHJ1Y3RvciBGaWxlRXJyb3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L0RPTVdpbmRvd1NRTERhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRE9NV2lu
ZG93U1FMRGF0YWJhc2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc3MTA5NTk1YTgxNDBlYTc2MGU5OGMyNzBm
NTA2OWE2YmQ2NjI3MDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L0RPTVdpbmRvd1NRTERhdGFiYXNlLmNwcApAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJET01XaW5kb3dTUUxEYXRhYmFzZS5oIgorCisjaW5jbHVkZSAiQWJz
dHJhY3REYXRhYmFzZS5oIgorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkRhdGFi
YXNlLmgiCisjaW5jbHVkZSAiRGF0YWJhc2VDYWxsYmFjay5oIgorI2luY2x1ZGUgIkRvY3VtZW50
LmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgorCisj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNzUmVm
UHRyPERhdGFiYXNlPiBET01XaW5kb3dTUUxEYXRhYmFzZTo6b3BlbkRhdGFiYXNlKERPTVdpbmRv
dyogaW1wLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmVyc2lvbiwgY29uc3Qg
U3RyaW5nJiBkaXNwbGF5TmFtZSwgdW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplLCBQYXNzUmVm
UHRyPERhdGFiYXNlQ2FsbGJhY2s+IGNyZWF0aW9uQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmIGVj
KQoreworICAgIGlmICghaW1wLT5pc0N1cnJlbnRseURpc3BsYXllZEluRnJhbWUoKSkKKyAgICAg
ICAgcmV0dXJuIDA7CisKKyAgICBSZWZQdHI8RGF0YWJhc2U+IGRhdGFiYXNlID0gMDsKKyAgICBp
ZiAoaW1wLT5mcmFtZSgpICYmIEFic3RyYWN0RGF0YWJhc2U6OmlzQXZhaWxhYmxlKCkgJiYgaW1w
LT5mcmFtZSgpLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT5jYW5BY2Nlc3NEYXRhYmFz
ZSgpKQorICAgICAgICBkYXRhYmFzZSA9IERhdGFiYXNlOjpvcGVuRGF0YWJhc2UoaW1wLT5mcmFt
ZSgpLT5kb2N1bWVudCgpLCBuYW1lLCB2ZXJzaW9uLCBkaXNwbGF5TmFtZSwgZXN0aW1hdGVkU2l6
ZSwgY3JlYXRpb25DYWxsYmFjaywgZWMpOworCisgICAgaWYgKCFkYXRhYmFzZSAmJiAhZWMpCisg
ICAgICAgIGVjID0gU0VDVVJJVFlfRVJSOworCisgICAgcmV0dXJuIGRhdGFiYXNlOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9ET01XaW5kb3dTUUxEYXRhYmFzZS5o
IGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9ET01XaW5kb3dTUUxEYXRhYmFzZS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY2YTg2MGI2MjRmY2YxMWE0YzhhMjZiYWZhZTQ0ZmJkZGU2NTE1ODIKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RPTVdpbmRvd1NRTERhdGFiYXNlLmgKQEAg
LTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIERPTVdpbmRvd1NRTERhdGFiYXNlX2gKKyNkZWZpbmUgRE9N
V2luZG93U1FMRGF0YWJhc2VfaAorCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKKyNpbmNsdWRl
ICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIERPTVdpbmRv
dzsKK2NsYXNzIERhdGFiYXNlOworY2xhc3MgRGF0YWJhc2VDYWxsYmFjazsKK2NsYXNzIEZyYW1l
OworCitjbGFzcyBET01XaW5kb3dTUUxEYXRhYmFzZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBh
c3NSZWZQdHI8RGF0YWJhc2U+IG9wZW5EYXRhYmFzZShET01XaW5kb3cqIGltcCwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZlcnNpb24sIGNvbnN0IFN0cmluZyYgZGlzcGxheU5h
bWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgUGFzc1JlZlB0cjxEYXRhYmFzZUNhbGxi
YWNrPiBjcmVhdGlvbkNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJik7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQorCisjZW5kaWYg
Ly8gRE9NV2luZG93U1FMRGF0YWJhc2VfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9ET01XaW5kb3dTUUxEYXRhYmFzZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RP
TVdpbmRvd1NRTERhdGFiYXNlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NzgwMzU4NjdkNzA0MjVjYTc4YWI3
ODJmYzQxZDlkZjM1OTlmM2UxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9ET01XaW5kb3dTUUxEYXRhYmFzZS5pZGwKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgd2lu
ZG93IHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPVNRTF9EQVRBQkFT
RSwKKyAgICAgICAgU3VwcGxlbWVudGFsPURPTVdpbmRvdworICAgIF0gRE9NV2luZG93U1FMRGF0
YWJhc2UgeworICAgICAgICBbRW5hYmxlZEF0UnVudGltZV0gRGF0YWJhc2Ugb3BlbkRhdGFiYXNl
KGluIERPTVN0cmluZyBuYW1lLCBpbiBET01TdHJpbmcgdmVyc2lvbiwgaW4gRE9NU3RyaW5nIGRp
c3BsYXlOYW1lLCBpbiB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIGluIFtDYWxsYmFjaywg
T3B0aW9uYWxdIERhdGFiYXNlQ2FsbGJhY2sgY3JlYXRpb25DYWxsYmFjaykKKyAgICAgICAgICAg
IHJhaXNlcyhET01FeGNlcHRpb24pOworICAgICAgICBhdHRyaWJ1dGUgU1FMRXhjZXB0aW9uQ29u
c3RydWN0b3IgU1FMRXhjZXB0aW9uOworICAgIH07CisKK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121938</attachid>
            <date>2012-01-10 16:39:58 -0800</date>
            <delta_ts>2012-01-10 17:12:38 -0800</delta_ts>
            <desc>patch for commit</desc>
            <filename>bug-76004-20120111093957.patch</filename>
            <type>text/plain</type>
            <size>23891</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0NjQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTY4YmRmNzc4MjU3YjZl
NzFhZjg5MTdlZjYwOGUzNzUwYzA4NWQ1YS4uNzM0OTgzZDc2ZDE4MzZhM2VlYjU0ODdiYjZlYjli
NmI1NmVhYTFiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQzIEBACiAyMDEyLTAxLTEwICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBVc2UgdGhlIFtTdXBw
bGVtZW50YWxdIElETCBpbiBTUUxEYXRhYmFzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMDQKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJh
cnRoLgorCisgICAgICAgIFdlJ3ZlIGJlZW4gd29ya2luZyBvbiBXZWJLaXQgbW9kdWxhcml6YXRp
b24uIEJ5IHVzaW5nIHRoZSBbU3VwcGxlbWVudGFsXSBJREwsCisgICAgICAgIHdlIGNhbiBtb3Zl
IFNRTERhdGFiYXNlIHJlbGF0ZWQgY29kZSBmcm9tIFdlYkNvcmUvcGFnZS9ET01XaW5kb3cue2gs
Y3BwLGlkbH0KKyAgICAgICAgdG8gV2ViQ29yZS9zdG9yYWdlL0RPTVdpbmRvd1NRTERhdGFiYXNl
LntoLGNwcCxpZGx9LgorCisgICAgICAgIFRlc3RzOiBzdG9yYWdlL29wZW4tZGF0YWJhc2UtY3Jl
YXRpb24tY2FsbGJhY2staXNvbGF0ZWQtd29ybGQuaHRtbAorICAgICAgICAgICAgICAgc3RvcmFn
ZS9vcGVuLWRhdGFiYXNlLWNyZWF0aW9uLWNhbGxiYWNrLmh0bWwKKyAgICAgICAgICAgICAgIHN0
b3JhZ2Uvb3Blbi1kYXRhYmFzZS1lbXB0eS12ZXJzaW9uLmh0bWwKKyAgICAgICAgICAgICAgIHN0
b3JhZ2Uvb3Blbi1kYXRhYmFzZS1vdmVyLXF1b3RhLmh0bWwKKyAgICAgICAgICAgICAgIHN0b3Jh
Z2Uvb3Blbi1kYXRhYmFzZS1zZXQtZW1wdHktdmVyc2lvbi5odG1sCisgICAgICAgICAgICAgICBz
dG9yYWdlL29wZW4tZGF0YWJhc2Utd2hpbGUtdHJhbnNhY3Rpb24taW4tcHJvZ3Jlc3MuaHRtbAor
CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IEFkZGVkIERPTVdpbmRvd1NRTERhdGFiYXNlLntp
ZGwsaCxjcHB9IHRvIHRoZSBidWlsZCBzY3JpcHQuCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMu
bWFrZTogRGl0dG8uCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJpOiBEaXR0by4KKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOiBEaXR0by4KKyAgICAgICAgKiBUYXJnZXQucHJpOiBE
aXR0by4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3Bw
OiBSZW1vdmVkIFNRTERhdGFiYXNlIHJlbGF0ZWQgY29kZS4KKyAgICAgICAgKiBwYWdlL0RPTVdp
bmRvdy5pZGw6IERpdHRvLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmg6IERpdHRvLiBNb3Zl
ZCBpc0N1cnJlbnRseURpc3BsYXllZEluRnJhbWUoKSBmcm9tIHByaXZhdGU6IHRvIHB1YmxpYzoK
KyAgICAgICAgc28gdGhhdCBET01XaW5kb3dTUUxEYXRhYmFzZTo6b3BlbkRhdGFiYXNlKCkgY2Fu
IGFjY2VzcyBpdC4KKworICAgICAgICAqIHN0b3JhZ2UvRE9NV2luZG93U1FMRGF0YWJhc2UuY3Bw
OiBBZGRlZC4gTW92ZWQgb3BlbkRhdGFiYXNlKCkgZnJvbSBET01XaW5kb3cuY3BwIHRvIGhlcmUu
CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3dTUUxEYXRhYmFzZTo6b3BlbkRhdGFiYXNlKToK
KyAgICAgICAgKiBzdG9yYWdlL0RPTVdpbmRvd1NRTERhdGFiYXNlLmg6IEFkZGVkLiBNb3ZlZCBv
cGVuRGF0YWJhc2UoKSBmcm9tIERPTVdpbmRvdy5oIHRvIGhlcmUuCisgICAgICAgICogc3RvcmFn
ZS9ET01XaW5kb3dTUUxEYXRhYmFzZS5pZGw6IEFkZGVkLiBVc2luZyB0aGUgW1N1cHBsZW1lbnRh
bF0gSURMLCBtb3ZlZCBvcGVuRGF0YWJhc2UoKQorICAgICAgICBhbmQgU1FMRXhjZXB0aW9uIGZy
b20gRE9NV2luZG93LmlkbCB0byBoZXJlLgorCisyMDEyLTAxLTEwICBLZW50YXJvIEhhcmEgIDxo
YXJha2VuQGNocm9taXVtLm9yZz4KKwogICAgICAgICBTdXBwb3J0IHRoZSBbU3VwcGxlbWVudGFs
XSBJREwgb24gbWV0aG9kcwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzU5NDQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA2NzEyMjJkZmRkMzgwZjc4
YmI0YjhlOTRmZWRiZGNlZmFiZjQ3MWViLi43MTdhN2Q4NjkwMWQwYjJiZTJhMWVjZGJiYjM3OGNj
ZTE5YTBiZjI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTM0OSw2ICsxMzQ5LDcgQEAgU0VU
KFdlYkNvcmVfU09VUkNFUwogCiAgICAgc3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmNwcAogICAg
IHN0b3JhZ2UvQ2hhbmdlVmVyc2lvbldyYXBwZXIuY3BwCisgICAgc3RvcmFnZS9ET01XaW5kb3dT
UUxEYXRhYmFzZS5jcHAKICAgICBzdG9yYWdlL0RhdGFiYXNlLmNwcAogICAgIHN0b3JhZ2UvRGF0
YWJhc2VBdXRob3JpemVyLmNwcAogICAgIHN0b3JhZ2UvRGF0YWJhc2VTeW5jLmNwcApAQCAtMTQ2
OCw2ICsxNDY5LDcgQEAgRU5ESUYgKCkKIAogSUYgKEVOQUJMRV9TUUxfREFUQUJBU0UpCiAgICAg
TElTVChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKKyAgICAgICAgc3RvcmFnZS9ET01XaW5kb3dT
UUxEYXRhYmFzZS5pZGwKICAgICAgICAgc3RvcmFnZS9EYXRhYmFzZS5pZGwKICAgICAgICAgc3Rv
cmFnZS9EYXRhYmFzZUNhbGxiYWNrLmlkbAogICAgICAgICBzdG9yYWdlL0RhdGFiYXNlU3luYy5p
ZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDg1Y2IwYmZiZmNkNTRjODJmZWI3
NWQ5ODM1YjNjMDI0MDVmMTNiNGUuLmY3NWE4OTA2YjMxZTk0NTlkYTVlOGYwMmNlYTQwNDI2NGEz
OWUzYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysr
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMzM2LDYgKzMzNiw3IEBA
IEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL3BsdWdpbnMvRE9NTWltZVR5cGVBcnJh
eS5pZGwgXAogICAgICQoV2ViQ29yZSkvcGx1Z2lucy9ET01QbHVnaW4uaWRsIFwKICAgICAkKFdl
YkNvcmUpL3BsdWdpbnMvRE9NUGx1Z2luQXJyYXkuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3N0b3Jh
Z2UvRE9NV2luZG93U1FMRGF0YWJhc2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL3N0b3JhZ2UvRGF0
YWJhc2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL3N0b3JhZ2UvRGF0YWJhc2VDYWxsYmFjay5pZGwg
XAogICAgICQoV2ViQ29yZSkvc3RvcmFnZS9EYXRhYmFzZVN5bmMuaWRsIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLnByaQppbmRleCBiNjliNzQ0YWRlZTQ5OTRhNjY2MThkZDJlYTJjYzUwNWU5NDBj
MDBlLi4wMzM1YjM4Nzg3ZDk5NTI4ODMyM2IzNThmZTZlM2YwMWMxZWRjZWNlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMucHJpCkBAIC0zNjUsNiArMzY1LDcgQEAgSURMX0JJTkRJTkdTICs9IFwK
ICAgICBwbHVnaW5zL0RPTU1pbWVUeXBlLmlkbCBcCiAgICAgcGx1Z2lucy9ET01QbHVnaW5BcnJh
eS5pZGwgXAogICAgIHBsdWdpbnMvRE9NTWltZVR5cGVBcnJheS5pZGwgXAorICAgIHN0b3JhZ2Uv
RE9NV2luZG93U1FMRGF0YWJhc2UuaWRsIFwKICAgICBzdG9yYWdlL0RhdGFiYXNlLmlkbCBcCiAg
ICAgc3RvcmFnZS9EYXRhYmFzZUNhbGxiYWNrLmlkbCBcCiAgICAgc3RvcmFnZS9EYXRhYmFzZVN5
bmMuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0g
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDY0ODY4OTc0YzM4ODJi
ODhhYjA4ZDI4YjlmN2ZmZWEwZjlhZTQ3MjAuLjJiMTAwMTFjZWFhYTE4Y2E1NTg4MjI3ZGE5NTk2
ZTk4Y2YyYmJhNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMzc1NCw2ICsz
NzU0LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0Fi
c3RyYWN0RGF0YWJhc2UuaCBcCiAJU291cmNlL1dlYkNvcmUvc3RvcmFnZS9DaGFuZ2VWZXJzaW9u
V3JhcHBlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvQ2hhbmdlVmVyc2lvbldyYXBw
ZXIuaCBcCisJU291cmNlL1dlYkNvcmUvc3RvcmFnZS9ET01XaW5kb3dTUUxEYXRhYmFzZS5jcHAg
XAorCVNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRE9NV2luZG93U1FMRGF0YWJhc2UuaCBcCiAJU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZUF1dGhvcml6ZXIuY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL0RhdGFiYXNlQXV0aG9yaXplci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL0RhdGFiYXNlQ2FsbGJhY2suaCBcCkBAIC00NjAwLDYgKzQ2MDIsNyBAQCB3ZWJjb3JlX2J1
aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTUUxUcmFuc2FjdGlv
blN5bmNDYWxsYmFjay5oCiAKIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAorCSQoV2ViQ29yZSkvc3Rv
cmFnZS9ET01XaW5kb3dTUUxEYXRhYmFzZS5pZGwgXAogCSQoV2ViQ29yZSkvc3RvcmFnZS9EYXRh
YmFzZS5pZGwgXAogCSQoV2ViQ29yZSkvc3RvcmFnZS9EYXRhYmFzZUNhbGxiYWNrLmlkbCBcCiAJ
JChXZWJDb3JlKS9zdG9yYWdlL0RhdGFiYXNlU3luYy5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggZDUw
M2Y1ZTRmNWFjMDc4OGE3ZmQ0MDI2YjMyOThiNWJkMDFkMTUwYy4uNWRiODUxYWQ0NTkwNTg0YzAy
NmNjNWY2NzFjOWI2NTAwOGY1MGQxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0xMjc5LDYgKzEyNzksNyBA
QCBTT1VSQ0VTICs9IFwKICAgICByZW5kZXJpbmcvc3R5bGUvU3R5bGVUcmFuc2Zvcm1EYXRhLmNw
cCBcCiAgICAgcmVuZGVyaW5nL3N0eWxlL1N0eWxlVmlzdWFsRGF0YS5jcHAgXAogICAgIHN0b3Jh
Z2UvQWJzdHJhY3REYXRhYmFzZS5jcHAgXAorICAgIHN0b3JhZ2UvRE9NV2luZG93U1FMRGF0YWJh
c2UuY3BwIFwKICAgICBzdG9yYWdlL0RhdGFiYXNlLmNwcCBcCiAgICAgc3RvcmFnZS9EYXRhYmFz
ZUF1dGhvcml6ZXIuY3BwIFwKICAgICBzdG9yYWdlL0RhdGFiYXNlU3luYy5jcHAgXApAQCAtMjQ3
Myw2ICsyNDc0LDcgQEAgSEVBREVSUyArPSBcCiAgICAgcmVuZGVyaW5nL3N2Zy9TVkdUZXh0UnVu
UmVuZGVyaW5nQ29udGV4dC5oIFwKICAgICBzdG9yYWdlL0Fic3RyYWN0RGF0YWJhc2UuaCBcCiAg
ICAgc3RvcmFnZS9DaGFuZ2VWZXJzaW9uV3JhcHBlci5oIFwKKyAgICBzdG9yYWdlL0RPTVdpbmRv
d1NRTERhdGFiYXNlLmggXAogICAgIHN0b3JhZ2UvRGF0YWJhc2VBdXRob3JpemVyLmggXAogICAg
IHN0b3JhZ2UvRGF0YWJhc2UuaCBcCiAgICAgc3RvcmFnZS9EYXRhYmFzZUNhbGxiYWNrLmggXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCmluZGV4IGFlMWRhM2MzNjJmNjJkY2M1MGNhODg3NTA1OGNmN2U1ZWYzMGUy
ZjUuLmRlYTgyMjRiZmIyYzg3ZTk5YjUzZDU5MDUzZDE5Yjk0NjUyNzY1MzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKQEAgLTE0NTIsNiArMTQ1Miw3IEBACiAgICAgICAgICAgICAncGx1Z2lucy9ET01NaW1l
VHlwZUFycmF5LmlkbCcsCiAgICAgICAgICAgICAncGx1Z2lucy9ET01QbHVnaW4uaWRsJywKICAg
ICAgICAgICAgICdwbHVnaW5zL0RPTVBsdWdpbkFycmF5LmlkbCcsCisgICAgICAgICAgICAnc3Rv
cmFnZS9ET01XaW5kb3dTUUxEYXRhYmFzZS5pZGwnLAogICAgICAgICAgICAgJ3N0b3JhZ2UvRGF0
YWJhc2UuaWRsJywKICAgICAgICAgICAgICdzdG9yYWdlL0RhdGFiYXNlQ2FsbGJhY2suaWRsJywK
ICAgICAgICAgICAgICdzdG9yYWdlL0RhdGFiYXNlU3luYy5pZGwnLApAQCAtNDkxNyw2ICs0OTE4
LDggQEAKICAgICAgICAgICAgICdzdG9yYWdlL0Fic3RyYWN0RGF0YWJhc2UuY3BwJywKICAgICAg
ICAgICAgICdzdG9yYWdlL0NoYW5nZVZlcnNpb25XcmFwcGVyLmNwcCcsCiAgICAgICAgICAgICAn
c3RvcmFnZS9DaGFuZ2VWZXJzaW9uV3JhcHBlci5oJywKKyAgICAgICAgICAgICdzdG9yYWdlL0RP
TVdpbmRvd1NRTERhdGFiYXNlLmNwcCcsCisgICAgICAgICAgICAnc3RvcmFnZS9ET01XaW5kb3dT
UUxEYXRhYmFzZS5oJywKICAgICAgICAgICAgICdzdG9yYWdlL0RhdGFiYXNlLmNwcCcsCiAgICAg
ICAgICAgICAnc3RvcmFnZS9EYXRhYmFzZUF1dGhvcml6ZXIuY3BwJywKICAgICAgICAgICAgICdz
dG9yYWdlL0RhdGFiYXNlQXV0aG9yaXplci5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggY2M4NjEwNTg0MmI4ODhmOTQ5N2RjNzdkNGU0OTZh
ZjkyYmU3NGZmOC4uNjNmMTM1MTI5NWU3OTJhNGY0YjE4NmExZmQ0YmQyY2ViMzI2MTFhMyAxMDA3
NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTcwNTI2
LDYgKzcwNTI2LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHN0b3JhZ2VcRE9NV2luZG93U1FMRGF0YWJhc2UuY3BwIgorCQkJCT4KKwkJCTwv
RmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXERPTVdpbmRvd1NR
TERhdGFiYXNlLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXHN0b3JhZ2VcRGF0YWJhc2UuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxNTQ5
MTU3MTZmNjAxZGY5NGUyNjFkNDAwNGIyODhiM2Q3ZmE2NTBiLi5kYjk5ZjExNDlmNTkyMDQwNjA3
YzM1OWUyN2YxN2RmMDQ0ZGFkMDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00MDQ4LDYgKzQwNDgsOCBAQAogCQlBOEVBODAw
QzBBMTk1MTZFMDBBOEVGNUYgLyogU3R5bGVTaGVldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThFQTgwMDQwQTE5NTE2RTAwQThFRjVGIC8qIFN0eWxl
U2hlZXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlBOEVBODAwRDBBMTk1MTZFMDBBOEVGNUYgLyogU3R5bGVTaGVldC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEVBODAwNTBBMTk1MTZFMDBBOEVG
NUYgLyogU3R5bGVTaGVldC5jcHAgKi87IH07CiAJCUE4RUE4MDBFMEExOTUxNkUwMEE4RUY1RiAv
KiBNZWRpYUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE4RUE4MDA2MEExOTUxNkUwMEE4RUY1RiAvKiBNZWRpYUxpc3QuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlBOEY0NTdBMDE0QkMxQTg4MDAw
Q0VBNTkgLyogRE9NV2luZG93U1FMRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThGNDU3OUQxNEJDMTNFQzAwMENFQTU5IC8qIERPTVdp
bmRvd1NRTERhdGFiYXNlLmNwcCAqLzsgfTsKKwkJQThGNDU3QTExNEJDMUE5NDAwMENFQTU5IC8q
IERPTVdpbmRvd1NRTERhdGFiYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBOEY0NTc5RTE0QkMxM0VDMDAwQ0VBNTkgLyogRE9NV2luZG93U1FMRGF0
YWJhc2UuaCAqLzsgfTsKIAkJQThGNDZBODQwQ0IyMEE5RDAwM0E5NjcwIC8qIERPTVNWR0NsaXBQ
YXRoRWxlbWVudC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODUwMzYxMkMwQUNFMDA3QjAwMUYzRDlFIC8qIERPTVNWR0NsaXBQ
YXRoRWxlbWVudC5oICovOyB9OwogCQlBOEY0NkE4ODBDQjIwQTlEMDAzQTk2NzAgLyogRE9NU1ZH
R3JhZGllbnRFbGVtZW50LmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NUM5QTJFQzBBRDdFOTAzMDBGQkZGMUUgLyogRE9NU1ZH
R3JhZGllbnRFbGVtZW50LmggKi87IH07CiAJCUE4RjQ2QTg5MENCMjBBOUQwMDNBOTY3MCAvKiBE
T01TVkdBbmltYXRlQ29sb3JFbGVtZW50LmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTAzNjEyODBBQ0UwMDdCMDAxRjNEOUUg
LyogRE9NU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5oICovOyB9OwpAQCAtMTEzMjEsNiArMTEzMjMs
OSBAQAogCQlBOEVBODAwNTBBMTk1MTZFMDBBOEVGNUYgLyogU3R5bGVTaGVldC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVTaGVldC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4RUE4MDA2MEExOTUxNkUwMEE4RUY1RiAvKiBNZWRpYUxp
c3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhTGlzdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBOEY0NTc4RjE0QjJCMDA0MDAwQ0VBNTkgLyogcmVz
b2x2ZS1zdXBwbGVtZW50YWwucGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5wZXJsOyBuYW1lID0g
InJlc29sdmUtc3VwcGxlbWVudGFsLnBsIjsgcGF0aCA9ICJzY3JpcHRzL3Jlc29sdmUtc3VwcGxl
bWVudGFsLnBsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQThGNDU3OUQxNEJDMTNF
QzAwMENFQTU5IC8qIERPTVdpbmRvd1NRTERhdGFiYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IERPTVdpbmRvd1NRTERhdGFiYXNlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQThGNDU3OUUxNEJDMTNFQzAwMENFQTU5IC8qIERPTVdpbmRvd1NR
TERhdGFiYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVdpbmRvd1NR
TERhdGFiYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE4RjQ1NzlGMTRCQzEz
RUMwMDBDRUE1OSAvKiBET01XaW5kb3dTUUxEYXRhYmFzZS5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gRE9NV2luZG93U1FMRGF0YWJhc2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlBOEZBNkU1QjBFNENGREVEMDBENUNGNDkgLyogUGF0dGVybi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBQYXR0ZXJuLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUE4RkE2RTVDMEU0Q0ZERUQwMEQ1Q0Y0OSAvKiBQYXR0ZXJuLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBhdHRlcm4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBOUM2RTRFMTBENzQ1RTA1MDA2NDQyRTkgLyogRE9NTWltZVR5cGUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTU1pbWVUeXBlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0MzkyLDYgKzE0Mzk3LDkgQEAKIAkJMUFFODJF
QzkwQ0FBRTE3NzAwMjIzN0FFIC8qIHN0b3JhZ2UgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKAorCQkJCUE4RjQ1NzlEMTRCQzEzRUMwMDBDRUE1OSAvKiBET01XaW5k
b3dTUUxEYXRhYmFzZS5jcHAgKi8sCisJCQkJQThGNDU3OUUxNEJDMTNFQzAwMENFQTU5IC8qIERP
TVdpbmRvd1NRTERhdGFiYXNlLmggKi8sCisJCQkJQThGNDU3OUYxNEJDMTNFQzAwMENFQTU5IC8q
IERPTVdpbmRvd1NRTERhdGFiYXNlLmlkbCAqLywKIAkJCQlCNUI1REM2NzExOUJCM0Q1MDAyQTg3
OTAgLyogQWJzdHJhY3REYXRhYmFzZS5jcHAgKi8sCiAJCQkJQjVCNURDNjgxMTlCQjNENTAwMkE4
NzkwIC8qIEFic3RyYWN0RGF0YWJhc2UuaCAqLywKIAkJCQk1MTQxODVFRDBDRDY1RjA0MDA3NjND
OTkgLyogQ2hhbmdlVmVyc2lvbldyYXBwZXIuY3BwICovLApAQCAtMjQ5MDQsNiArMjQ5MTIsNyBA
QAogCQkJCTk3NEE4NjIzMTRCN0FEQkIwMDNGREM3NiAvKiBGcmFtZURlc3RydWN0aW9uT2JzZXJ2
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3RDJBRDA0MTRCODIzQTYwMDkzREYzMiAvKiBET01X
aW5kb3dQcm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0FBQkEyNUExNEJDNjEzMzAwQUE5
QTExIC8qIERPTUVkaXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQThGNDU3QTExNEJDMUE5NDAw
MENFQTU5IC8qIERPTVdpbmRvd1NRTERhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI3ODEx
LDYgKzI3ODIwLDcgQEAKIAkJCQk5NzRBODYyMjE0QjdBREJCMDAzRkRDNzYgLyogRnJhbWVEZXN0
cnVjdGlvbk9ic2VydmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3RDJBRDAzMTRCODIzQTYw
MDkzREYzMiAvKiBET01XaW5kb3dQcm9wZXJ0eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QUFC
QTI1OTE0QkM2MTMzMDBBQTlBMTEgLyogRE9NRWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CUE4RjQ1N0EwMTRCQzFBODgwMDBDRUE1OSAvKiBET01XaW5kb3dTUUxEYXRhYmFzZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCA1YjdiOTUyMDEwNzI4
Yzk5YmM4NjhjM2M3NTVhOGI4Y2U2M2ZlZjAxLi4wOTMyNjZlY2E1ZDlhZjgyMTNmZDM5NzhlMjZm
MDk2YzY4YzRlZWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0xMzgxLDIzICsx
MzgxLDYgQEAgZG91YmxlIERPTVdpbmRvdzo6ZGV2aWNlUGl4ZWxSYXRpbygpIGNvbnN0CiAgICAg
cmV0dXJuIHBhZ2UtPmRldmljZVNjYWxlRmFjdG9yKCk7CiB9CiAKLSNpZiBFTkFCTEUoU1FMX0RB
VEFCQVNFKQotUGFzc1JlZlB0cjxEYXRhYmFzZT4gRE9NV2luZG93OjpvcGVuRGF0YWJhc2UoY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZlcnNpb24sIGNvbnN0IFN0cmluZyYgZGlz
cGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgUGFzc1JlZlB0cjxEYXRhYmFz
ZUNhbGxiYWNrPiBjcmVhdGlvbkNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBp
ZiAoIWlzQ3VycmVudGx5RGlzcGxheWVkSW5GcmFtZSgpKQotICAgICAgICByZXR1cm4gMDsKLQot
ICAgIFJlZlB0cjxEYXRhYmFzZT4gZGF0YWJhc2UgPSAwOwotICAgIGlmIChtX2ZyYW1lICYmIEFi
c3RyYWN0RGF0YWJhc2U6OmlzQXZhaWxhYmxlKCkgJiYgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+c2Vj
dXJpdHlPcmlnaW4oKS0+Y2FuQWNjZXNzRGF0YWJhc2UoKSkKLSAgICAgICAgZGF0YWJhc2UgPSBE
YXRhYmFzZTo6b3BlbkRhdGFiYXNlKG1fZnJhbWUtPmRvY3VtZW50KCksIG5hbWUsIHZlcnNpb24s
IGRpc3BsYXlOYW1lLCBlc3RpbWF0ZWRTaXplLCBjcmVhdGlvbkNhbGxiYWNrLCBlYyk7Ci0KLSAg
ICBpZiAoIWRhdGFiYXNlICYmICFlYykKLSAgICAgICAgZWMgPSBTRUNVUklUWV9FUlI7Ci0KLSAg
ICByZXR1cm4gZGF0YWJhc2U7Ci19Ci0jZW5kaWYKLQogdm9pZCBET01XaW5kb3c6OnNjcm9sbEJ5
KGludCB4LCBpbnQgeSkgY29uc3QKIHsKICAgICBpZiAoIWlzQ3VycmVudGx5RGlzcGxheWVkSW5G
cmFtZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKaW5kZXggNmJkMmI3MGZmMzMzMTVhZWY3Zjk2
MzEwNTEyNzNjMzY2MTAwZWU1ZS4uY2MyOTdmNzk3Y2Y3NTJhZjQ5NDU0OGZjMjJkZTBkYTA3N2Vh
NDRiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCkBAIC0zNTUsMTAgKzM1NSw2IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgRE9NVVJMKiB3ZWJraXRVUkwoKSBjb25zdDsKICNlbmRp
ZgogCi0jaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKLSAgICAgICAgUGFzc1JlZlB0cjxEYXRhYmFz
ZT4gb3BlbkRhdGFiYXNlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9u
LCBjb25zdCBTdHJpbmcmIGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUs
IFBhc3NSZWZQdHI8RGF0YWJhc2VDYWxsYmFjaz4gY3JlYXRpb25DYWxsYmFjaywgRXhjZXB0aW9u
Q29kZSYpOwotI2VuZGlmCi0KICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQogICAgICAg
ICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKGRldmljZW1vdGlvbik7CiAgICAgICAg
IERFRklORV9BVFRSSUJVVEVfRVZFTlRfTElTVEVORVIoZGV2aWNlb3JpZW50YXRpb24pOwpAQCAt
NDE4LDE1ICs0MTQsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBQZXJmb3JtYW5j
ZSogcGVyZm9ybWFuY2UoKSBjb25zdDsKICNlbmRpZgogCi0gICAgcHJpdmF0ZToKLSAgICAgICAg
ZXhwbGljaXQgRE9NV2luZG93KEZyYW1lKik7Ci0KICAgICAgICAgLy8gRklYTUU6IFdoZW4gdGhp
cyBET01XaW5kb3cgaXMgbm8gbG9uZ2VyIHRoZSBhY3RpdmUgRE9NV2luZG93IChpLmUuLAogICAg
ICAgICAvLyB3aGVuIGl0cyBkb2N1bWVudCBpcyBubyBsb25nZXIgdGhlIGRvY3VtZW50IHRoYXQg
aXMgZGlzcGxheWVkIGluIGl0cwogICAgICAgICAvLyBmcmFtZSksIHdlIHdvdWxkIGxpa2UgdG8g
emVybyBvdXQgbV9mcmFtZSB0byBhdm9pZCBiZWluZyBjb25mdXNlZAogICAgICAgICAvLyBieSB0
aGUgZG9jdW1lbnQgdGhhdCBpcyBjdXJyZW50bHkgYWN0aXZlIGluIG1fZnJhbWUuCiAgICAgICAg
IGJvb2wgaXNDdXJyZW50bHlEaXNwbGF5ZWRJbkZyYW1lKCkgY29uc3Q7CiAKKyAgICBwcml2YXRl
OgorICAgICAgICBleHBsaWNpdCBET01XaW5kb3coRnJhbWUqKTsKKwogICAgICAgICB2aXJ0dWFs
IHZvaWQgcmVmRXZlbnRUYXJnZXQoKSB7IHJlZigpOyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBk
ZXJlZkV2ZW50VGFyZ2V0KCkgeyBkZXJlZigpOyB9CiAgICAgICAgIHZpcnR1YWwgRXZlbnRUYXJn
ZXREYXRhKiBldmVudFRhcmdldERhdGEoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRl
eCA4NDE0Zjc1ZjNkYmM4Yjk0MzdhMWE2OThmNWMyMWU0MTc3YjBlNjFiLi45Y2E4YmQzY2Y1OWEx
YWMzZTM4ZmNmMTI0MjYyNDQyYzVkMTVkMDVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRs
CkBAIC0xNjMsMTAgKzE2Myw2IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9Q2FsbFdpdGhE
ZWZhdWx0VmFsdWVdIFdlYktpdFBvaW50IHApOwogCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBbRW5hYmxlZEF0UnVudGltZV0gRE9NQXBwbGljYXRpb25DYWNoZSBhcHBsaWNhdGlvbkNhY2hl
OwotI2lmIGRlZmluZWQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJiYgRU5BQkxFX1NRTF9EQVRBQkFT
RQotICAgICAgICBbRW5hYmxlZEF0UnVudGltZV0gRGF0YWJhc2Ugb3BlbkRhdGFiYXNlKGluIERP
TVN0cmluZyBuYW1lLCBpbiBET01TdHJpbmcgdmVyc2lvbiwgaW4gRE9NU3RyaW5nIGRpc3BsYXlO
YW1lLCBpbiB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIGluIFtDYWxsYmFjaywgT3B0aW9u
YWxdIERhdGFiYXNlQ2FsbGJhY2sgY3JlYXRpb25DYWxsYmFjaykKLSAgICAgICAgICAgIHJhaXNl
cyhET01FeGNlcHRpb24pOwotI2VuZGlmCiAKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtF
bmFibGVkQXRSdW50aW1lXSBTdG9yYWdlIHNlc3Npb25TdG9yYWdlCiAgICAgICAgICAgICBnZXR0
ZXIgcmFpc2VzKERPTUV4Y2VwdGlvbik7CkBAIC03OTQsOSArNzkwLDYgQEAgbW9kdWxlIHdpbmRv
dyB7CiAjZW5kaWYKICNlbmRpZgogCi0gICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9U1FM
X0RBVEFCQVNFXSBTUUxFeGNlcHRpb25Db25zdHJ1Y3RvciBTUUxFeGNlcHRpb247Ci0KLQogICAg
ICAgICBhdHRyaWJ1dGUgRE9NRm9ybURhdGFDb25zdHJ1Y3RvciBGb3JtRGF0YTsKIAogICAgICAg
ICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPUJMT0J8RklMRV9TWVNURU1dIEZpbGVFcnJvckNvbnN0
cnVjdG9yIEZpbGVFcnJvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRE9N
V2luZG93U1FMRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9ET01XaW5kb3dT
UUxEYXRhYmFzZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWI5ZjBlZDBlYTg5NDkxZGNhN2E4NmFlNmVkNzFi
YTk3NmIxNTU4NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRE9N
V2luZG93U1FMRGF0YWJhc2UuY3BwCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4K
KyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkRPTVdpbmRvd1NRTERhdGFiYXNlLmgiCisKKyNpbmNsdWRlICJBYnN0cmFj
dERhdGFiYXNlLmgiCisjaW5jbHVkZSAiRE9NV2luZG93LmgiCisjaW5jbHVkZSAiRGF0YWJhc2Uu
aCIKKyNpbmNsdWRlICJEYXRhYmFzZUNhbGxiYWNrLmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
KyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCisKKyNpZiBF
TkFCTEUoU1FMX0RBVEFCQVNFKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NSZWZQdHI8
RGF0YWJhc2U+IERPTVdpbmRvd1NRTERhdGFiYXNlOjpvcGVuRGF0YWJhc2UoRE9NV2luZG93KiB3
aW5kb3csIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uLCBjb25zdCBT
dHJpbmcmIGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIFBhc3NSZWZQ
dHI8RGF0YWJhc2VDYWxsYmFjaz4gY3JlYXRpb25DYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYgZWMp
Cit7CisgICAgaWYgKCF3aW5kb3ctPmlzQ3VycmVudGx5RGlzcGxheWVkSW5GcmFtZSgpKQorICAg
ICAgICByZXR1cm4gMDsKKworICAgIFJlZlB0cjxEYXRhYmFzZT4gZGF0YWJhc2UgPSAwOworICAg
IGlmICh3aW5kb3ctPmZyYW1lKCkgJiYgQWJzdHJhY3REYXRhYmFzZTo6aXNBdmFpbGFibGUoKSAm
JiB3aW5kb3ctPmZyYW1lKCktPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhbkFjY2Vz
c0RhdGFiYXNlKCkpCisgICAgICAgIGRhdGFiYXNlID0gRGF0YWJhc2U6Om9wZW5EYXRhYmFzZSh3
aW5kb3ctPmZyYW1lKCktPmRvY3VtZW50KCksIG5hbWUsIHZlcnNpb24sIGRpc3BsYXlOYW1lLCBl
c3RpbWF0ZWRTaXplLCBjcmVhdGlvbkNhbGxiYWNrLCBlYyk7CisKKyAgICBpZiAoIWRhdGFiYXNl
ICYmICFlYykKKyAgICAgICAgZWMgPSBTRUNVUklUWV9FUlI7CisKKyAgICByZXR1cm4gZGF0YWJh
c2U7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTUUxf
REFUQUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RPTVdpbmRvd1NR
TERhdGFiYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RPTVdpbmRvd1NRTERhdGFiYXNl
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2FmNjBiZTdhNGI0ZTIxMGViMzBlMWEzNDU3NmMxN2YxNTUyNmY2OAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRE9NV2luZG93U1FMRGF0
YWJhc2UuaApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2ds
ZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRE9NV2luZG93U1FMRGF0YWJhc2VfaAor
I2RlZmluZSBET01XaW5kb3dTUUxEYXRhYmFzZV9oCisKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNF
KQorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5o
IgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgRE9NV2luZG93OworY2xhc3MgRGF0YWJhc2U7CitjbGFzcyBEYXRhYmFzZUNhbGxiYWNrOwor
Y2xhc3MgRnJhbWU7CisKK2NsYXNzIERPTVdpbmRvd1NRTERhdGFiYXNlIHsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRhYmFzZT4gb3BlbkRhdGFiYXNlKERPTVdpbmRvdyosIGNv
bnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uLCBjb25zdCBTdHJpbmcmIGRp
c3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIFBhc3NSZWZQdHI8RGF0YWJh
c2VDYWxsYmFjaz4gY3JlYXRpb25DYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpOworCitwcml2YXRl
OgorICAgIERPTVdpbmRvd1NRTERhdGFiYXNlKCkgeyB9OworICAgIH5ET01XaW5kb3dTUUxEYXRh
YmFzZSgpIHsgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShTUUxfREFUQUJBU0UpCisKKyNlbmRpZiAvLyBET01XaW5kb3dTUUxEYXRhYmFzZV9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RPTVdpbmRvd1NRTERhdGFiYXNlLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRE9NV2luZG93U1FMRGF0YWJhc2UuaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY3ODAzNTg2N2Q3MDQyNWNhNzhhYjc4MmZjNDFkOWRmMzU5OWYzZTEKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RPTVdpbmRvd1NRTERhdGFiYXNlLmlk
bApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKK21vZHVsZSB3aW5kb3cgeworCisgICAgaW50ZXJmYWNlIFsKKyAg
ICAgICAgQ29uZGl0aW9uYWw9U1FMX0RBVEFCQVNFLAorICAgICAgICBTdXBwbGVtZW50YWw9RE9N
V2luZG93CisgICAgXSBET01XaW5kb3dTUUxEYXRhYmFzZSB7CisgICAgICAgIFtFbmFibGVkQXRS
dW50aW1lXSBEYXRhYmFzZSBvcGVuRGF0YWJhc2UoaW4gRE9NU3RyaW5nIG5hbWUsIGluIERPTVN0
cmluZyB2ZXJzaW9uLCBpbiBET01TdHJpbmcgZGlzcGxheU5hbWUsIGluIHVuc2lnbmVkIGxvbmcg
ZXN0aW1hdGVkU2l6ZSwgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gRGF0YWJhc2VDYWxsYmFjayBj
cmVhdGlvbkNhbGxiYWNrKQorICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CisgICAg
ICAgIGF0dHJpYnV0ZSBTUUxFeGNlcHRpb25Db25zdHJ1Y3RvciBTUUxFeGNlcHRpb247CisgICAg
fTsKKworfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>