<?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>20857</bug_id>
          
          <creation_ts>2008-09-15 08:40:37 -0700</creation_ts>
          <short_desc>REGRESSION (r36427): ASSERTION FAILED: m_refCount &gt;= 0 in RegisterID::deref()</short_desc>
          <delta_ts>2008-09-16 20:29:40 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.debka.com/headline.php?hid=5579</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Lilek">dev+webkit</reporter>
          <assigned_to name="Cameron Zwarich (cpst)">zwarich</assigned_to>
          <cc>ggaren</cc>
    
    <cc>mjs</cc>
    
    <cc>zwarich</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>91213</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Lilek">dev+webkit</who>
    <bug_when>2008-09-15 08:40:37 -0700</bug_when>
    <thetext>Loading http://www.debka.com/headline.php?hid=5579 hits the following ASSERT:

ASSERTION FAILED: m_refCount &gt;= 0
(/Users/mlilek/Documents/WebKit/JavaScriptCore/VM/RegisterID.h:92 void JSC::RegisterID::deref())

Thread 0 Crashed:
0   com.apple.JavaScriptCore      	0x004aa0da JSC::RegisterID::deref() + 82 (RegisterID.h:92)
1   com.apple.JavaScriptCore      	0x004ad15f WTF::RefPtr&lt;JSC::RegisterID&gt;::~RefPtr() + 31 (RefPtr.h:50)
2   com.apple.JavaScriptCore      	0x0047fcd5 JSC::CodeGenerator::emitConstruct(JSC::RegisterID*, JSC::RegisterID*, JSC::ArgumentsNode*) + 749 (CodeGenerator.cpp:1129)
3   com.apple.JavaScriptCore      	0x004808c3 JSC::NewExprNode::emitCode(JSC::CodeGenerator&amp;, JSC::RegisterID*) + 167 (nodes.cpp:412)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91214</commentid>
    <comment_count>1</comment_count>
      <attachid>23442</attachid>
    <who name="Matt Lilek">dev+webkit</who>
    <bug_when>2008-09-15 08:41:21 -0700</bug_when>
    <thetext>Created attachment 23442
Full crashlog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91215</commentid>
    <comment_count>2</comment_count>
    <who name="Matt Lilek">dev+webkit</who>
    <bug_when>2008-09-15 08:44:31 -0700</bug_when>
    <thetext>This doesn&apos;t crash in the latest nightly (r36403).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91223</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2008-09-15 12:18:48 -0700</bug_when>
    <thetext>Matt, should we close this bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91231</commentid>
    <comment_count>4</comment_count>
    <who name="Matt Lilek">dev+webkit</who>
    <bug_when>2008-09-15 13:49:50 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Matt, should we close this bug?
&gt; 

Thats up to you and whether you think this is worth investigating.  I&apos;ll bump this down to a P2 since it only  happens in a debug build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91232</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2008-09-15 13:52:00 -0700</bug_when>
    <thetext>Sorry! I forgot that nightly == release build. Back up to P1. We definitely want to fix this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91442</commentid>
    <comment_count>6</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-09-16 15:10:46 -0700</bug_when>
    <thetext>I&apos;ll assign this to myself. The problem is that in the CodeGenerator::emitConstruct() function, the local RefPtr&lt;RegisterID&gt; funcProto has a negative count after it is deref&apos;d. I don&apos;t quite understand why just yet, but hopefully it won&apos;t be too hard to fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91443</commentid>
    <comment_count>7</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-09-16 15:22:04 -0700</bug_when>
    <thetext>Sorry, I meant func, which is protected by a RefPtr&lt;RegisterID&gt; called protectFunc, not protoFunc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91449</commentid>
    <comment_count>8</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-09-16 16:14:56 -0700</bug_when>
    <thetext>This is sort of strange. On the offending call, we have the following RegisterIDs:

func: 27
protoFunc: 26
callFrame[0]: 27

When it is allocating the new temporary for protoFunc, it somehow thinks that the register with index 26 is the last one in m_temporaries, which has no ref count, so it removes it and appends a new one. The next time, it still thinks that the register with index 26 is the last one, but it has a ref count, so it makes a new one with index 27.

I think the bug here is likely not in the CodeGenerator::emitConstruct() logic, but rather in the fact that the last temporary in m_temporaries isn&apos;t the one with index 26, but I&apos;ll try to make a reduction and see. Thankfully, debka.com seems fairly old school.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91455</commentid>
    <comment_count>9</comment_count>
      <attachid>23494</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-09-16 17:48:07 -0700</bug_when>
    <thetext>Created attachment 23494
Reduction

Here&apos;s a reduction. It comes from code of the form

    o = new Constructor[m](m);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91457</commentid>
    <comment_count>10</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-09-16 18:09:31 -0700</bug_when>
    <thetext>This is caused by the same incorrect behaviour of CodeGenerator::finalDestination() as in bug 20340. An updated version of that patch fixes this bug as well. I&apos;ll post it here for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91460</commentid>
    <comment_count>11</comment_count>
      <attachid>23495</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-09-16 19:27:34 -0700</bug_when>
    <thetext>Created attachment 23495
Proposed patch

Here is a patch that fixes this bug, as well as bug 20340. It passes all tests and all changes it makes to SunSpider codegen are positive. If this is reviewed, I will put the reduction here as a test case in fast/js/codegen-temporaries.

Just doing this for NewExprNode::emitCode() caused a lot of tests to fail, so it seems that if we are going to fix this, we need to fix it everywhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91461</commentid>
    <comment_count>12</comment_count>
      <attachid>23496</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-09-16 19:51:22 -0700</bug_when>
    <thetext>Created attachment 23496
Different proposed patch

Maciej and I agreed that the usage of finalDestination() after my patch is now unclear. Here is an easier way to fix this particular bug, but not bug 20340.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91462</commentid>
    <comment_count>13</comment_count>
      <attachid>23496</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-09-16 19:55:09 -0700</bug_when>
    <thetext>Comment on attachment 23496
Different proposed patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91463</commentid>
    <comment_count>14</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-09-16 20:29:40 -0700</bug_when>
    <thetext>Landed in r36528.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>23442</attachid>
            <date>2008-09-15 08:41:21 -0700</date>
            <delta_ts>2008-09-15 08:41:21 -0700</delta_ts>
            <desc>Full crashlog</desc>
            <filename>Bug20857Crashlog.txt</filename>
            <type>text/plain</type>
            <size>37184</size>
            <attacher name="Matt Lilek">dev+webkit</attacher>
            
              <data encoding="base64">UHJvY2VzczogICAgICAgICBTYWZhcmkgWzQzMDI3XQpQYXRoOiAgICAgICAgICAgIC9BcHBsaWNh
dGlvbnMvU2FmYXJpLmFwcC9Db250ZW50cy9NYWNPUy9TYWZhcmkKSWRlbnRpZmllcjogICAgICBj
b20uYXBwbGUuU2FmYXJpClZlcnNpb246ICAgICAgICAgNCBEZXZlbG9wZXIgUHJldmlldyAoNTUy
Ni4xMS4yKQpCdWlsZCBJbmZvOiAgICAgIFdlYkJyb3dzZXItNTUyNjExMDJ+NgpDb2RlIFR5cGU6
ICAgICAgIFg4NiAoTmF0aXZlKQpQYXJlbnQgUHJvY2VzczogIHBlcmwgWzQzMDE3XQoKRGF0ZS9U
aW1lOiAgICAgICAyMDA4LTA5LTE1IDEwOjI5OjUzLjk1MCAtMDUwMApPUyBWZXJzaW9uOiAgICAg
IE1hYyBPUyBYIDEwLjUuNCAoOUUxNykKUmVwb3J0IFZlcnNpb246ICA2CgpFeGNlcHRpb24gVHlw
ZTogIEVYQ19CQURfQUNDRVNTIChTSUdTRUdWKQpFeGNlcHRpb24gQ29kZXM6IEtFUk5fSU5WQUxJ
RF9BRERSRVNTIGF0IDB4MDAwMDAwMDBiYmFkYmVlZgpDcmFzaGVkIFRocmVhZDogIDAKClRocmVh
ZCAwIENyYXNoZWQ6CjAgICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDRhYTBk
YSBKU0M6OlJlZ2lzdGVySUQ6OmRlcmVmKCkgKyA4MiAoUmVnaXN0ZXJJRC5oOjkyKQoxICAgY29t
LmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDA0YWQxNWYgV1RGOjpSZWZQdHI8SlNDOjpS
ZWdpc3RlcklEPjo6flJlZlB0cigpICsgMzEgKFJlZlB0ci5oOjUwKQoyICAgY29tLmFwcGxlLkph
dmFTY3JpcHRDb3JlICAgICAgCTB4MDA0N2ZjZDUgSlNDOjpDb2RlR2VuZXJhdG9yOjplbWl0Q29u
c3RydWN0KEpTQzo6UmVnaXN0ZXJJRCosIEpTQzo6UmVnaXN0ZXJJRCosIEpTQzo6QXJndW1lbnRz
Tm9kZSopICsgNzQ5IChDb2RlR2VuZXJhdG9yLmNwcDoxMTI5KQozICAgY29tLmFwcGxlLkphdmFT
Y3JpcHRDb3JlICAgICAgCTB4MDA0ODA4YzMgSlNDOjpOZXdFeHByTm9kZTo6ZW1pdENvZGUoSlND
OjpDb2RlR2VuZXJhdG9yJiwgSlNDOjpSZWdpc3RlcklEKikgKyAxNjcgKG5vZGVzLmNwcDo0MTIp
CjQgICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDRjOTMxZSBKU0M6OkNvZGVH
ZW5lcmF0b3I6OmVtaXROb2RlKEpTQzo6UmVnaXN0ZXJJRCosIEpTQzo6Tm9kZSopICsgMzEwIChD
b2RlR2VuZXJhdG9yLmg6MTc3KQo1ICAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4
MDA0ODNiYzcgSlNDOjpBc3NpZ25Eb3ROb2RlOjplbWl0Q29kZShKU0M6OkNvZGVHZW5lcmF0b3Im
LCBKU0M6OlJlZ2lzdGVySUQqKSArIDIxNSAobm9kZXMuY3BwOjk3MykKNiAgIGNvbS5hcHBsZS5K
YXZhU2NyaXB0Q29yZSAgICAgIAkweDAwNGM5MzFlIEpTQzo6Q29kZUdlbmVyYXRvcjo6ZW1pdE5v
ZGUoSlNDOjpSZWdpc3RlcklEKiwgSlNDOjpOb2RlKikgKyAzMTAgKENvZGVHZW5lcmF0b3IuaDox
NzcpCjcgICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDQ1OWEwOSBKU0M6OkV4
cHJTdGF0ZW1lbnROb2RlOjplbWl0Q29kZShKU0M6OkNvZGVHZW5lcmF0b3ImLCBKU0M6OlJlZ2lz
dGVySUQqKSArIDEyOSAobm9kZXMuY3BwOjExNTUpCjggICBjb20uYXBwbGUuSmF2YVNjcmlwdENv
cmUgICAgICAJMHgwMDRjOTMxZSBKU0M6OkNvZGVHZW5lcmF0b3I6OmVtaXROb2RlKEpTQzo6UmVn
aXN0ZXJJRCosIEpTQzo6Tm9kZSopICsgMzEwIChDb2RlR2VuZXJhdG9yLmg6MTc3KQo5ICAgY29t
LmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDA0N2YyZmQgSlNDOjpJZk5vZGU6OmVtaXRD
b2RlKEpTQzo6Q29kZUdlbmVyYXRvciYsIEpTQzo6UmVnaXN0ZXJJRCopICsgMjg5IChub2Rlcy5j
cHA6MTE3OCkKMTAgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwNGM5MzFlIEpT
Qzo6Q29kZUdlbmVyYXRvcjo6ZW1pdE5vZGUoSlNDOjpSZWdpc3RlcklEKiwgSlNDOjpOb2RlKikg
KyAzMTAgKENvZGVHZW5lcmF0b3IuaDoxNzcpCjExICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUg
ICAgICAJMHgwMDQ1YTFkOCBKU0M6OnN0YXRlbWVudExpc3RFbWl0Q29kZShXVEY6OlZlY3RvcjxX
VEY6OlJlZlB0cjxKU0M6OlN0YXRlbWVudE5vZGU+LCAwdWw+JiwgSlNDOjpDb2RlR2VuZXJhdG9y
JiwgSlNDOjpSZWdpc3RlcklEKikgKyAxMzAgKG5vZGVzLmNwcDoxMDg1KQoxMiAgY29tLmFwcGxl
LkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDA0NWEyMTIgSlNDOjpCbG9ja05vZGU6OmVtaXRDb2Rl
KEpTQzo6Q29kZUdlbmVyYXRvciYsIEpTQzo6UmVnaXN0ZXJJRCopICsgMzIgKG5vZGVzLmNwcDox
MTMyKQoxMyAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDA0YzkzMWUgSlNDOjpD
b2RlR2VuZXJhdG9yOjplbWl0Tm9kZShKU0M6OlJlZ2lzdGVySUQqLCBKU0M6Ok5vZGUqKSArIDMx
MCAoQ29kZUdlbmVyYXRvci5oOjE3NykKMTQgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAg
IAkweDAwNDdmMmZkIEpTQzo6SWZOb2RlOjplbWl0Q29kZShKU0M6OkNvZGVHZW5lcmF0b3ImLCBK
U0M6OlJlZ2lzdGVySUQqKSArIDI4OSAobm9kZXMuY3BwOjExNzgpCjE1ICBjb20uYXBwbGUuSmF2
YVNjcmlwdENvcmUgICAgICAJMHgwMDRjOTMxZSBKU0M6OkNvZGVHZW5lcmF0b3I6OmVtaXROb2Rl
KEpTQzo6UmVnaXN0ZXJJRCosIEpTQzo6Tm9kZSopICsgMzEwIChDb2RlR2VuZXJhdG9yLmg6MTc3
KQoxNiAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDA0NWExZDggSlNDOjpzdGF0
ZW1lbnRMaXN0RW1pdENvZGUoV1RGOjpWZWN0b3I8V1RGOjpSZWZQdHI8SlNDOjpTdGF0ZW1lbnRO
b2RlPiwgMHVsPiYsIEpTQzo6Q29kZUdlbmVyYXRvciYsIEpTQzo6UmVnaXN0ZXJJRCopICsgMTMw
IChub2Rlcy5jcHA6MTA4NSkKMTcgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAw
NDVhMjEyIEpTQzo6QmxvY2tOb2RlOjplbWl0Q29kZShKU0M6OkNvZGVHZW5lcmF0b3ImLCBKU0M6
OlJlZ2lzdGVySUQqKSArIDMyIChub2Rlcy5jcHA6MTEzMikKMTggIGNvbS5hcHBsZS5KYXZhU2Ny
aXB0Q29yZSAgICAgIAkweDAwNGM5MzFlIEpTQzo6Q29kZUdlbmVyYXRvcjo6ZW1pdE5vZGUoSlND
OjpSZWdpc3RlcklEKiwgSlNDOjpOb2RlKikgKyAzMTAgKENvZGVHZW5lcmF0b3IuaDoxNzcpCjE5
ICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDQ3ZjJmZCBKU0M6OklmTm9kZTo6
ZW1pdENvZGUoSlNDOjpDb2RlR2VuZXJhdG9yJiwgSlNDOjpSZWdpc3RlcklEKikgKyAyODkgKG5v
ZGVzLmNwcDoxMTc4KQoyMCAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDA0Yzkz
MWUgSlNDOjpDb2RlR2VuZXJhdG9yOjplbWl0Tm9kZShKU0M6OlJlZ2lzdGVySUQqLCBKU0M6Ok5v
ZGUqKSArIDMxMCAoQ29kZUdlbmVyYXRvci5oOjE3NykKMjEgIGNvbS5hcHBsZS5KYXZhU2NyaXB0
Q29yZSAgICAgIAkweDAwNDdmMThiIEpTQzo6SWZFbHNlTm9kZTo6ZW1pdENvZGUoSlNDOjpDb2Rl
R2VuZXJhdG9yJiwgSlNDOjpSZWdpc3RlcklEKikgKyA0NjkgKG5vZGVzLmNwcDoxMjAxKQoyMiAg
Y29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDA0YzkzMWUgSlNDOjpDb2RlR2VuZXJh
dG9yOjplbWl0Tm9kZShKU0M6OlJlZ2lzdGVySUQqLCBKU0M6Ok5vZGUqKSArIDMxMCAoQ29kZUdl
bmVyYXRvci5oOjE3NykKMjMgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwNDVh
MWQ4IEpTQzo6c3RhdGVtZW50TGlzdEVtaXRDb2RlKFdURjo6VmVjdG9yPFdURjo6UmVmUHRyPEpT
Qzo6U3RhdGVtZW50Tm9kZT4sIDB1bD4mLCBKU0M6OkNvZGVHZW5lcmF0b3ImLCBKU0M6OlJlZ2lz
dGVySUQqKSArIDEzMCAobm9kZXMuY3BwOjEwODUpCjI0ICBjb20uYXBwbGUuSmF2YVNjcmlwdENv
cmUgICAgICAJMHgwMDQ1YTIxMiBKU0M6OkJsb2NrTm9kZTo6ZW1pdENvZGUoSlNDOjpDb2RlR2Vu
ZXJhdG9yJiwgSlNDOjpSZWdpc3RlcklEKikgKyAzMiAobm9kZXMuY3BwOjExMzIpCjI1ICBjb20u
YXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgwMDRjOTMxZSBKU0M6OkNvZGVHZW5lcmF0b3I6
OmVtaXROb2RlKEpTQzo6UmVnaXN0ZXJJRCosIEpTQzo6Tm9kZSopICsgMzEwIChDb2RlR2VuZXJh
dG9yLmg6MTc3KQoyNiAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDA0N2U4MjAg
SlNDOjpGb3JOb2RlOjplbWl0Q29kZShKU0M6OkNvZGVHZW5lcmF0b3ImLCBKU0M6OlJlZ2lzdGVy
SUQqKSArIDQ3NCAobm9kZXMuY3BwOjEyNzUpCjI3ICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUg
ICAgICAJMHgwMDRjOTMxZSBKU0M6OkNvZGVHZW5lcmF0b3I6OmVtaXROb2RlKEpTQzo6UmVnaXN0
ZXJJRCosIEpTQzo6Tm9kZSopICsgMzEwIChDb2RlR2VuZXJhdG9yLmg6MTc3KQoyOCAgY29tLmFw
cGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDA0NWExZDggSlNDOjpzdGF0ZW1lbnRMaXN0RW1p
dENvZGUoV1RGOjpWZWN0b3I8V1RGOjpSZWZQdHI8SlNDOjpTdGF0ZW1lbnROb2RlPiwgMHVsPiYs
IEpTQzo6Q29kZUdlbmVyYXRvciYsIEpTQzo6UmVnaXN0ZXJJRCopICsgMTMwIChub2Rlcy5jcHA6
MTA4NSkKMjkgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwNDdmNjUwIEpTQzo6
RnVuY3Rpb25Cb2R5Tm9kZTo6ZW1pdENvZGUoSlNDOjpDb2RlR2VuZXJhdG9yJiwgSlNDOjpSZWdp
c3RlcklEKikgKyA4MCAobm9kZXMuY3BwOjE4MjApCjMwICBjb20uYXBwbGUuSmF2YVNjcmlwdENv
cmUgICAgICAJMHgwMDQ1ZWJmYSBKU0M6OkNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlKCkgKyAxMTYg
KENvZGVHZW5lcmF0b3IuY3BwOjE0MCkKMzEgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAg
IAkweDAwNDdkZDIxIEpTQzo6RnVuY3Rpb25Cb2R5Tm9kZTo6Z2VuZXJhdGVDb2RlKEpTQzo6U2Nv
cGVDaGFpbk5vZGUqKSArIDQwNyAobm9kZXMuY3BwOjE4MTMpCjMyICBjb20uYXBwbGUuSmF2YVNj
cmlwdENvcmUgICAgICAJMHgwMDUxOTJhZiBKU0M6OkZ1bmN0aW9uQm9keU5vZGU6OmJ5dGVDb2Rl
KEpTQzo6U2NvcGVDaGFpbk5vZGUqKSArIDEwOSAobm9kZXMuaDoyMjU5KQozMyAgY29tLmFwcGxl
LkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDA1MDc2ZmYgSlNDOjpNYWNoaW5lOjpjdGlfb3BfY2Fs
bF9KU0Z1bmN0aW9uKHZvaWQqKSArIDI4OSAoTWFjaGluZS5jcHA6NDI3NCkKMzQgID8/PyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIAkweDE4OWViNTVjIDAgKyA0MTMwNTQzMDAKMzUgIGNvbS5h
cHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkweDAwNTA1ZjBlIEpTQzo6TWFjaGluZTo6ZXhlY3V0
ZShKU0M6OlByb2dyYW1Ob2RlKiwgSlNDOjpFeGVjU3RhdGUqLCBKU0M6OlNjb3BlQ2hhaW5Ob2Rl
KiwgSlNDOjpKU09iamVjdCosIEpTQzo6SlNWYWx1ZSoqKSArIDcyOCAoTWFjaGluZS5jcHA6ODQw
KQozNiAgY29tLmFwcGxlLkphdmFTY3JpcHRDb3JlICAgICAgCTB4MDA0OTgzY2YgSlNDOjpJbnRl
cnByZXRlcjo6ZXZhbHVhdGUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OlNjb3BlQ2hhaW4mLCBKU0M6
OlVTdHJpbmcgY29uc3QmLCBpbnQsIFdURjo6UGFzc1JlZlB0cjxKU0M6OlNvdXJjZVByb3ZpZGVy
PiwgSlNDOjpKU1ZhbHVlKikgKyA0MjcgKGludGVycHJldGVyLmNwcDo4MykKMzcgIGNvbS5hcHBs
ZS5XZWJDb3JlICAgICAgICAgICAgIAkweDAzOTBjYzQyIFdlYkNvcmU6OlNjcmlwdENvbnRyb2xs
ZXI6OmV2YWx1YXRlKFdlYkNvcmU6OlN0cmluZyBjb25zdCYsIGludCwgV2ViQ29yZTo6U3RyaW5n
IGNvbnN0JikgKyAyNjggKFNjcmlwdENvbnRyb2xsZXIuY3BwOjExNikKMzggIGNvbS5hcHBsZS5X
ZWJDb3JlICAgICAgICAgICAgIAkweDAzYTNlMWY5IFdlYkNvcmU6OlNjcmlwdEVsZW1lbnREYXRh
OjpldmFsdWF0ZVNjcmlwdChXZWJDb3JlOjpTdHJpbmcgY29uc3QmLCBXZWJDb3JlOjpTdHJpbmcg
Y29uc3QmKSArIDE3NSAoU2NyaXB0RWxlbWVudC5jcHA6MTY2KQozOSAgY29tLmFwcGxlLldlYkNv
cmUgICAgICAgICAgICAgCTB4MDNhM2UyY2UgV2ViQ29yZTo6U2NyaXB0RWxlbWVudERhdGE6Om5v
dGlmeUZpbmlzaGVkKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlKikgKyAyMDYgKFNjcmlwdEVsZW1l
bnQuY3BwOjE4OCkKNDAgIGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAgICAgIAkweDAzMmRhZmE0
IFdlYkNvcmU6OkNhY2hlZFNjcmlwdDo6Y2hlY2tOb3RpZnkoKSArIDY4IChDYWNoZWRTY3JpcHQu
Y3BwOjkyKQo0MSAgY29tLmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCTB4MDMyZGIxMDUgV2Vi
Q29yZTo6Q2FjaGVkU2NyaXB0OjpkYXRhKFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpTaGFyZWRC
dWZmZXI+LCBib29sKSArIDI3OSAoQ2FjaGVkU2NyaXB0LmNwcDo4NCkKNDIgIGNvbS5hcHBsZS5X
ZWJDb3JlICAgICAgICAgICAgIAkweDAzOTEzNmZkIFdlYkNvcmU6OkxvYWRlcjo6SG9zdDo6ZGlk
RmluaXNoTG9hZGluZyhXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlciopICsgNDEzIChsb2FkZXIu
Y3BwOjI5OCkKNDMgIGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAgICAgIAkweDAzODhjNTE1IFdl
YkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKCkgKyAxNjkgKFN1YnJl
c291cmNlTG9hZGVyLmNwcDoxOTUpCjQ0ICBjb20uYXBwbGUuV2ViQ29yZSAgICAgICAgICAgICAJ
MHgwMzdhYjFlNCBXZWJDb3JlOjpSZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhXZWJD
b3JlOjpSZXNvdXJjZUhhbmRsZSopICsgMjQgKFJlc291cmNlTG9hZGVyLmNwcDozOTkpCjQ1ICBj
b20uYXBwbGUuV2ViQ29yZSAgICAgICAgICAgICAJMHgwMzdhODdmMCAtW1dlYkNvcmVSZXNvdXJj
ZUhhbmRsZUFzRGVsZWdhdGUgY29ubmVjdGlvbkRpZEZpbmlzaExvYWRpbmc6XSArIDE2MCAoUmVz
b3VyY2VIYW5kbGVNYWMubW06NTMwKQo0NiAgY29tLmFwcGxlLkZvdW5kYXRpb24gICAgICAgICAg
CTB4OTBlMDQzZjcgLVtOU1VSTENvbm5lY3Rpb24oTlNVUkxDb25uZWN0aW9uUmVhbGx5SW50ZXJu
YWwpIHNlbmREaWRGaW5pc2hMb2FkaW5nXSArIDg3CjQ3ICBjb20uYXBwbGUuRm91bmRhdGlvbiAg
ICAgICAgICAJMHg5MGUwNDM2MyBfTlNVUkxDb25uZWN0aW9uRGlkRmluaXNoTG9hZGluZyArIDE0
Nwo0OCAgY29tLmFwcGxlLkNGTmV0d29yayAgICAgICAgICAgCTB4OTVlNTZjZWYgc2VuZERpZEZp
bmlzaExvYWRpbmdDYWxsYmFjayArIDE0OAo0OSAgY29tLmFwcGxlLkNGTmV0d29yayAgICAgICAg
ICAgCTB4OTVlNTNkZDYgX0NGVVJMQ29ubmVjdGlvblNlbmRDYWxsYmFja3MgKyAyMDIyCjUwICBj
b20uYXBwbGUuQ0ZOZXR3b3JrICAgICAgICAgICAJMHg5NWU1MzU3MyBtdXhlclNvdXJjZVBlcmZv
cm0gKyAyODMKNTEgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiAgICAgIAkweDkyMjRkNjE1IENG
UnVuTG9vcFJ1blNwZWNpZmljICsgMzE0MQo1MiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uICAg
ICAgCTB4OTIyNGRjZjggQ0ZSdW5Mb29wUnVuSW5Nb2RlICsgODgKNTMgIGNvbS5hcHBsZS5ISVRv
b2xib3ggICAgICAgICAgIAkweDk0ZjQxZGE0IFJ1bkN1cnJlbnRFdmVudExvb3BJbk1vZGUgKyAy
ODMKNTQgIGNvbS5hcHBsZS5ISVRvb2xib3ggICAgICAgICAgIAkweDk0ZjQxYmJkIFJlY2VpdmVO
ZXh0RXZlbnRDb21tb24gKyAzNzQKNTUgIGNvbS5hcHBsZS5ISVRvb2xib3ggICAgICAgICAgIAkw
eDk0ZjQxYTMxIEJsb2NrVW50aWxOZXh0RXZlbnRNYXRjaGluZ0xpc3RJbk1vZGUgKyAxMDYKNTYg
IGNvbS5hcHBsZS5BcHBLaXQgICAgICAgICAgICAgIAkweDk1MjljNTA1IF9EUFNOZXh0RXZlbnQg
KyA2NTcKNTcgIGNvbS5hcHBsZS5BcHBLaXQgICAgICAgICAgICAgIAkweDk1MjliZGI4IC1bTlNB
cHBsaWNhdGlvbiBuZXh0RXZlbnRNYXRjaGluZ01hc2s6dW50aWxEYXRlOmluTW9kZTpkZXF1ZXVl
Ol0gKyAxMjgKNTggIGNvbS5hcHBsZS5TYWZhcmkgICAgICAgICAgICAgIAkweDAwMDA3YzdlIDB4
MTAwMCArIDI3Nzc0CjU5ICBjb20uYXBwbGUuQXBwS2l0ICAgICAgICAgICAgICAJMHg5NTI5NGRm
MyAtW05TQXBwbGljYXRpb24gcnVuXSArIDc5NQo2MCAgY29tLmFwcGxlLkFwcEtpdCAgICAgICAg
ICAgICAgCTB4OTUyNjIwMzAgTlNBcHBsaWNhdGlvbk1haW4gKyA1NzQKNjEgIGNvbS5hcHBsZS5T
YWZhcmkgICAgICAgICAgICAgIAkweDAwMGI0ZGU2IDB4MTAwMCArIDczNjc0MgoKVGhyZWFkIDE6
CjAgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHg5MjM1YjY4ZSBfX3NlbXdhaXRf
c2lnbmFsICsgMTAKMSAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDkyMzg2MzZk
IHB0aHJlYWRfY29uZF93YWl0JFVOSVgyMDAzICsgNzMKMiAgIGNvbS5hcHBsZS5KYXZhU2NyaXB0
Q29yZSAgICAgIAkweDAwNTI5YWRmIFdURjo6VGhyZWFkQ29uZGl0aW9uOjp3YWl0KFdURjo6TXV0
ZXgmKSArIDM5IChUaHJlYWRpbmdQdGhyZWFkcy5jcHA6MjIyKQozICAgY29tLmFwcGxlLldlYkNv
cmUgICAgICAgICAgICAgCTB4MDM1M2ZkM2IgV2ViQ29yZTo6SWNvbkRhdGFiYXNlOjpzeW5jVGhy
ZWFkTWFpbkxvb3AoKSArIDY0MSAoSWNvbkRhdGFiYXNlLmNwcDoxMzM0KQo0ICAgY29tLmFwcGxl
LldlYkNvcmUgICAgICAgICAgICAgCTB4MDM1NDExNGEgV2ViQ29yZTo6SWNvbkRhdGFiYXNlOjpp
Y29uRGF0YWJhc2VTeW5jVGhyZWFkKCkgKyAxMTk4IChJY29uRGF0YWJhc2UuY3BwOjEwMzYpCjUg
ICBjb20uYXBwbGUuV2ViQ29yZSAgICAgICAgICAgICAJMHgwMzU0MTE3OSBXZWJDb3JlOjpJY29u
RGF0YWJhc2U6Omljb25EYXRhYmFzZVN5bmNUaHJlYWRTdGFydCh2b2lkKikgKyAyMyAoSWNvbkRh
dGFiYXNlLmNwcDo5NDApCjYgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHg5MjM4
NTZmNSBfcHRocmVhZF9zdGFydCArIDMyMQo3ICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAg
ICAgCTB4OTIzODU1YjIgdGhyZWFkX3N0YXJ0ICsgMzQKClRocmVhZCAyOgowICAgbGliU3lzdGVt
LkIuZHlsaWIgICAgICAgICAgICAgCTB4OTIzNWI2OGUgX19zZW13YWl0X3NpZ25hbCArIDEwCjEg
ICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHg5MjM4NjM2ZCBwdGhyZWFkX2NvbmRf
d2FpdCRVTklYMjAwMyArIDczCjIgICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJMHgw
MDUyOWFkZiBXVEY6OlRocmVhZENvbmRpdGlvbjo6d2FpdChXVEY6Ok11dGV4JikgKyAzOSAoVGhy
ZWFkaW5nUHRocmVhZHMuY3BwOjIyMikKMyAgIGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAgICAg
IAkweDAzOWY2OWRlIFdURjo6TWVzc2FnZVF1ZXVlPFdURjo6UmVmUHRyPFdlYkNvcmU6OkxvY2Fs
U3RvcmFnZVRhc2s+ID46OndhaXRGb3JNZXNzYWdlKFdURjo6UmVmUHRyPFdlYkNvcmU6OkxvY2Fs
U3RvcmFnZVRhc2s+JikgKyA2MCAoTWVzc2FnZVF1ZXVlLmg6NzkpCjQgICBjb20uYXBwbGUuV2Vi
Q29yZSAgICAgICAgICAgICAJMHgwMzlmNWRlYSBXZWJDb3JlOjpMb2NhbFN0b3JhZ2VUaHJlYWQ6
OmxvY2FsU3RvcmFnZVRocmVhZCgpICsgMzggKExvY2FsU3RvcmFnZVRocmVhZC5jcHA6NjUpCjUg
ICBjb20uYXBwbGUuV2ViQ29yZSAgICAgICAgICAgICAJMHgwMzlmNWU2YiBXZWJDb3JlOjpMb2Nh
bFN0b3JhZ2VUaHJlYWQ6OmxvY2FsU3RvcmFnZVRocmVhZFN0YXJ0KHZvaWQqKSArIDE3IChMb2Nh
bFN0b3JhZ2VUaHJlYWQuY3BwOjU5KQo2ICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAgICAg
CTB4OTIzODU2ZjUgX3B0aHJlYWRfc3RhcnQgKyAzMjEKNyAgIGxpYlN5c3RlbS5CLmR5bGliICAg
ICAgICAgICAgIAkweDkyMzg1NWIyIHRocmVhZF9zdGFydCArIDM0CgpUaHJlYWQgMzoKMCAgIGxp
YlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDkyMzU0NGE2IG1hY2hfbXNnX3RyYXAgKyAx
MAoxICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAgICAgCTB4OTIzNWJjOWMgbWFjaF9tc2cg
KyA3MgoyICAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uICAgICAgCTB4OTIyNGQwY2UgQ0ZSdW5M
b29wUnVuU3BlY2lmaWMgKyAxNzkwCjMgICBjb20uYXBwbGUuQ29yZUZvdW5kYXRpb24gICAgICAJ
MHg5MjI0ZGNmOCBDRlJ1bkxvb3BSdW5Jbk1vZGUgKyA4OAo0ICAgY29tLmFwcGxlLkNGTmV0d29y
ayAgICAgICAgICAgCTB4OTVlNGVhMzIgQ0ZVUkxDYWNoZVdvcmtlclRocmVhZCh2b2lkKikgKyAz
OTYKNSAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDkyMzg1NmY1IF9wdGhyZWFk
X3N0YXJ0ICsgMzIxCjYgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHg5MjM4NTVi
MiB0aHJlYWRfc3RhcnQgKyAzNAoKVGhyZWFkIDQ6CjAgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAg
ICAgICAgICAJMHg5MjM1NDRhNiBtYWNoX21zZ190cmFwICsgMTAKMSAgIGxpYlN5c3RlbS5CLmR5
bGliICAgICAgICAgICAgIAkweDkyMzViYzljIG1hY2hfbXNnICsgNzIKMiAgIGNvbS5hcHBsZS5D
b3JlRm91bmRhdGlvbiAgICAgIAkweDkyMjRkMGNlIENGUnVuTG9vcFJ1blNwZWNpZmljICsgMTc5
MAozICAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uICAgICAgCTB4OTIyNGRjZjggQ0ZSdW5Mb29w
UnVuSW5Nb2RlICsgODgKNCAgIGNvbS5hcHBsZS5Gb3VuZGF0aW9uICAgICAgICAgIAkweDkwZTAy
NDYwICtbTlNVUkxDb25uZWN0aW9uKE5TVVJMQ29ubmVjdGlvblJlYWxseUludGVybmFsKSBfcmVz
b3VyY2VMb2FkTG9vcDpdICsgMzIwCjUgICBjb20uYXBwbGUuRm91bmRhdGlvbiAgICAgICAgICAJ
MHg5MGQ5ZWYxZCAtW05TVGhyZWFkIG1haW5dICsgNDUKNiAgIGNvbS5hcHBsZS5Gb3VuZGF0aW9u
ICAgICAgICAgIAkweDkwZDllYWM0IF9fTlNUaHJlYWRfX21haW5fXyArIDMwOAo3ICAgbGliU3lz
dGVtLkIuZHlsaWIgICAgICAgICAgICAgCTB4OTIzODU2ZjUgX3B0aHJlYWRfc3RhcnQgKyAzMjEK
OCAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDkyMzg1NWIyIHRocmVhZF9zdGFy
dCArIDM0CgpUaHJlYWQgNToKMCAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDky
M2E0NWUyIHNlbGVjdCREQVJXSU5fRVhUU04gKyAxMAoxICAgbGliU3lzdGVtLkIuZHlsaWIgICAg
ICAgICAgICAgCTB4OTIzODU2ZjUgX3B0aHJlYWRfc3RhcnQgKyAzMjEKMiAgIGxpYlN5c3RlbS5C
LmR5bGliICAgICAgICAgICAgIAkweDkyMzg1NWIyIHRocmVhZF9zdGFydCArIDM0CgpUaHJlYWQg
NjoKMCAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDkyMzU0NGE2IG1hY2hfbXNn
X3RyYXAgKyAxMAoxICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAgICAgCTB4OTIzNWJjOWMg
bWFjaF9tc2cgKyA3MgoyICAgLi4ucm9tZWRpYS5GbGFzaCBQbGF5ZXIucGx1Z2luCTB4MTQ5Y2I5
NTkgbWVtY29weV9tbXggKyA3MDk0OTcKMyAgIGxpYlN5c3RlbS5CLmR5bGliICAgICAgICAgICAg
IAkweDkyMzg1NmY1IF9wdGhyZWFkX3N0YXJ0ICsgMzIxCjQgICBsaWJTeXN0ZW0uQi5keWxpYiAg
ICAgICAgICAgICAJMHg5MjM4NTViMiB0aHJlYWRfc3RhcnQgKyAzNAoKVGhyZWFkIDc6CjAgICBs
aWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHg5MjM1NDRlZSBzZW1hcGhvcmVfd2FpdF9z
aWduYWxfdHJhcCArIDEwCjEgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAgICAgICAgICAJMHg5MjM4
Njg2NiBfcHRocmVhZF9jb25kX3dhaXQgKyAxMjY3CjIgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAg
ICAgICAgICAJMHg5MjNjYzM3MSBwdGhyZWFkX2NvbmRfd2FpdCArIDQ4CjMgICAuLi5yb21lZGlh
LkZsYXNoIFBsYXllci5wbHVnaW4JMHgxNDg5MjkyOCAweDE0NTAwMDAwICsgMzc0NjA4OAo0ICAg
Li4ucm9tZWRpYS5GbGFzaCBQbGF5ZXIucGx1Z2luCTB4MTQ4Y2EyMzAgRmxhc2hfRW5mb3JjZUxv
Y2FsU2VjdXJpdHkgKyAxMjUwMDAKNSAgIC4uLnJvbWVkaWEuRmxhc2ggUGxheWVyLnBsdWdpbgkw
eDE0ODkyYmQyIDB4MTQ1MDAwMDAgKyAzNzQ2NzcwCjYgICBsaWJTeXN0ZW0uQi5keWxpYiAgICAg
ICAgICAgICAJMHg5MjM4NTZmNSBfcHRocmVhZF9zdGFydCArIDMyMQo3ICAgbGliU3lzdGVtLkIu
ZHlsaWIgICAgICAgICAgICAgCTB4OTIzODU1YjIgdGhyZWFkX3N0YXJ0ICsgMzQKClRocmVhZCA4
OgowICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAgICAgCTB4OTIzNTQ0ZWUgc2VtYXBob3Jl
X3dhaXRfc2lnbmFsX3RyYXAgKyAxMAoxICAgbGliU3lzdGVtLkIuZHlsaWIgICAgICAgICAgICAg
CTB4OTIzODY4NjYgX3B0aHJlYWRfY29uZF93YWl0ICsgMTI2NwoyICAgbGliU3lzdGVtLkIuZHls
aWIgICAgICAgICAgICAgCTB4OTIzY2MzNzEgcHRocmVhZF9jb25kX3dhaXQgKyA0OAozICAgLi4u
cm9tZWRpYS5GbGFzaCBQbGF5ZXIucGx1Z2luCTB4MTQ4OTI5MjggMHgxNDUwMDAwMCArIDM3NDYw
ODgKNCAgIC4uLnJvbWVkaWEuRmxhc2ggUGxheWVyLnBsdWdpbgkweDE0OGNhMjMwIEZsYXNoX0Vu
Zm9yY2VMb2NhbFNlY3VyaXR5ICsgMTI1MDAwCjUgICAuLi5yb21lZGlhLkZsYXNoIFBsYXllci5w
bHVnaW4JMHgxNDg5MmJkMiAweDE0NTAwMDAwICsgMzc0Njc3MAo2ICAgbGliU3lzdGVtLkIuZHls
aWIgICAgICAgICAgICAgCTB4OTIzODU2ZjUgX3B0aHJlYWRfc3RhcnQgKyAzMjEKNyAgIGxpYlN5
c3RlbS5CLmR5bGliICAgICAgICAgICAgIAkweDkyMzg1NWIyIHRocmVhZF9zdGFydCArIDM0CgpU
aHJlYWQgMCBjcmFzaGVkIHdpdGggWDg2IFRocmVhZCBTdGF0ZSAoMzItYml0KToKICBlYXg6IDB4
YmJhZGJlZWYgIGVieDogMHgwMDRhYTA5NCAgZWN4OiAweDAwMDAwMDAwICBlZHg6IDB4MDAwMDAw
MDAKICBlZGk6IDB4MDAwMDAwMDAgIGVzaTogMHhiZmZmNTU0YyAgZWJwOiAweGJmZmYxYjM4ICBl
c3A6IDB4YmZmZjFiMjAKICAgc3M6IDB4MDAwMDAwMWYgIGVmbDogMHgwMDAxMDI4NiAgZWlwOiAw
eDAwNGFhMGRhICAgY3M6IDB4MDAwMDAwMTcKICAgZHM6IDB4MDAwMDAwMWYgICBlczogMHgwMDAw
MDAxZiAgIGZzOiAweDAwMDAwMDAwICAgZ3M6IDB4MDAwMDAwMzcKICBjcjI6IDB4YmJhZGJlZWYK
CkJpbmFyeSBJbWFnZXM6CiAgICAweDEwMDAgLSAgIDB4MTQwZmUxICBjb20uYXBwbGUuU2FmYXJp
IDQgRGV2ZWxvcGVyIFByZXZpZXcgKDU1MjYuMTEuMikgPDNiY2Y0ZjNjYTNjMDM0OWUyNmRiMzBh
MTQ2NThlNTI1PiAvQXBwbGljYXRpb25zL1NhZmFyaS5hcHAvQ29udGVudHMvTWFjT1MvU2FmYXJp
CiAgMHgxOGEwMDAgLSAgIDB4MmEwZmYzICBjb20uYXBwbGUuV2ViS2l0IDUyOCsgKDUyOC40Kykg
PDIzYzk1YjZjYjA1MTQ5NGVkNzc1ZGU2MWJiYTI1NGU5PiAvVXNlcnMvbWxpbGVrL0RvY3VtZW50
cy9XZWJLaXQvV2ViS2l0QnVpbGQvRGVidWcvV2ViS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1dl
YktpdAogIDB4NDJiMDAwIC0gICAweDQzYWZmOCAgU3luZGljYXRpb25VSSA/Pz8gKD8/PykgPGY0
NDUyMjAzM2M2ZmE5M2Y1YjA4OTBiMmU1OGE4NWIxPiAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZy
YW1ld29ya3MvU3luZGljYXRpb25VSS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9TeW5kaWNhdGlvblVJ
CiAgMHg0NGEwMDAgLSAgIDB4NWI0ZmU4ICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgNTI4KyAo
NTI4LjQrKSA8MGMzMTBkOTY0YTFmMjA5NWYzMmI5ZmQ4NTVjNmEyYzM+IC9Vc2Vycy9tbGlsZWsv
RG9jdW1lbnRzL1dlYktpdC9XZWJLaXRCdWlsZC9EZWJ1Zy9KYXZhU2NyaXB0Q29yZS5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9KYXZhU2NyaXB0Q29yZQogIDB4ODE4MDAwIC0gICAweDgyZWZlNyAgY29t
LmFwcGxlLkNvcmVWaWRlbyAxLjUuMSAoMS41LjEpIDwwMDE5MTAwMDQyNTdmMTM4NjcyNDM5OGY1
ODRiMzBiNT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVZpZGVvLmZyYW1ld29yay9W
ZXJzaW9ucy9BL0NvcmVWaWRlbwogIDB4ODQyMDAwIC0gICAweGI2NGZlMiAgY29tLmFwcGxlLlF1
aWNrVGltZSA3LjUuNSAoOTkwLjcpIDw4NzA3N2NlYzQzYzdlOWIwMmM4ZWU4MGU1MGI4YjgxZj4g
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvUXVpY2tUaW1lLmZyYW1ld29yay9WZXJzaW9ucy9B
L1F1aWNrVGltZQogIDB4YzJhMDAwIC0gICAweGNkOGZmYiAgY29tLmFwcGxlLlFUS2l0IDcuNS41
ICg5OTAuNykgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvUVRLaXQuZnJhbWV3b3JrL1ZlcnNp
b25zL0EvUVRLaXQKICAweGQ0ZTAwMCAtICAgMHhkNzhmZmYgIGNvbS5hcHBsZS5Db3JlTWVkaWFQ
cml2YXRlIDExLjAgKDExLjApIDxlMzdkNmViZDU5MzRiNDgyYzg2NGJhNmVhZjEyMjQ4OD4gL1N5
c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0NvcmVNZWRpYVByaXZhdGUuZnJhbWV3b3Jr
L1ZlcnNpb25zL0EvQ29yZU1lZGlhUHJpdmF0ZQogIDB4ZDhiMDAwIC0gICAweGRjYWZmZiAgY29t
LmFwcGxlLkNvcmVNZWRpYUlPU2VydmljZXNQcml2YXRlIDEyLjAgKDEyLjApIC9TeXN0ZW0vTGli
cmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9Db3JlTWVkaWFJT1NlcnZpY2VzUHJpdmF0ZS5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9Db3JlTWVkaWFJT1NlcnZpY2VzUHJpdmF0ZQogIDB4ZjJhMDAwIC0gIDB4
MTA0OGZmNyAgY29tLmFwcGxlLlJhd0NhbWVyYS5idW5kbGUgMi4wLjggKDIuMC44KSA8NTYwNjc5
NDUxMzA4MDBhMzQ4ZWIwNzY2NzZkNDFlOTI+IC9TeXN0ZW0vTGlicmFyeS9Db3JlU2VydmljZXMv
UmF3Q2FtZXJhLmJ1bmRsZS9Db250ZW50cy9NYWNPUy9SYXdDYW1lcmEKIDB4MzIxMTAwMCAtICAw
eDQ1NDlmZTIgIGNvbS5hcHBsZS5XZWJDb3JlIDUyOCsgKDUyOC40KykgPGYyZGE1NmU5MjdiZTc3
NTU5NTQ3YjY2MDVmNzFiMTRlPiAvVXNlcnMvbWxpbGVrL0RvY3VtZW50cy9XZWJLaXQvV2ViS2l0
QnVpbGQvRGVidWcvV2ViQ29yZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9XZWJDb3JlCjB4MTBmZGEw
MDAgLSAweDEwZmRmZmYzICBsaWJDR1hDb3JlSW1hZ2UuQS5keWxpYiA/Pz8gKD8/PykgPGI2Y2Y3
MmQ5Y2JkNTMxMmQ0ZWM0MzVlMjk4OTU0YWRlPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9B
cHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvQ29yZUdy
YXBoaWNzLmZyYW1ld29yay9WZXJzaW9ucy9BL1Jlc291cmNlcy9saWJDR1hDb3JlSW1hZ2UuQS5k
eWxpYgoweDExNGIyMDAwIC0gMHgxMTRjMGZlYiAgbGliU2ltcGxpZmllZENoaW5lc2VDb252ZXJ0
ZXIuZHlsaWIgPz8/ICg/Pz8pIDw1NDhkNWE2OTlkYmUyYmI4ZmNjODI3NTMyMWZkYzBkND4gL1N5
c3RlbS9MaWJyYXJ5L0NvcmVTZXJ2aWNlcy9FbmNvZGluZ3MvbGliU2ltcGxpZmllZENoaW5lc2VD
b252ZXJ0ZXIuZHlsaWIKMHgxMTU1ZjAwMCAtIDB4MTE1NjBmZmQgIGNvbS5hcHBsZS5CbHVldG9v
dGhNZW51IDIuMSAoMi4xZjE3KSAvU3lzdGVtL0xpYnJhcnkvQ29udGV4dHVhbCBNZW51IEl0ZW1z
L0JsdWV0b290aENvbnRleHR1YWxNZW51LnBsdWdpbi9Db250ZW50cy9NYWNPUy9CbHVldG9vdGhD
b250ZXh0dWFsTWVudQoweDExNjZlMDAwIC0gMHgxMTY3MGZmZSAgY29tLmFwcGxlLkF1dG9tYXRv
ckNNTSAxLjEgKDE2MCkgPDY1MDA3OWZkOTVhNTdlODEzMWU3OTQwOWEwMGIyYWVkPiAvU3lzdGVt
L0xpYnJhcnkvQ29udGV4dHVhbCBNZW51IEl0ZW1zL0F1dG9tYXRvckNNTS5wbHVnaW4vQ29udGVu
dHMvTWFjT1MvQXV0b21hdG9yQ01NCjB4MTE2NzcwMDAgLSAweDExNjc4ZmYzICBBVFNISS5keWxp
YiA/Pz8gKD8/PykgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNl
cy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0FUUy5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9SZXNvdXJjZXMvQVRTSEkuZHlsaWIKMHgxMTY3ZTAwMCAtIDB4MTE2ODFmZmYgIGNvbS5hcHBs
ZS5CZXplbFNlcnZpY2VzRlcgMS40LjgzMiAoMS40LjgzMikgL1N5c3RlbS9MaWJyYXJ5L1ByaXZh
dGVGcmFtZXdvcmtzL0JlemVsU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQmV6ZWxTZXJ2
aWNlcwoweDExNmI0MDAwIC0gMHgxMTZiOWZmZiAgY29tLmFwcGxlLkZvbGRlckFjdGlvbnNNZW51
IDEuMy4yICgxLjMuMikgPDliYTY5ZWYwYmVjOTYyNjRhNzlmYTI4YjNhNWYwNThiPiAvU3lzdGVt
L0xpYnJhcnkvQ29udGV4dHVhbCBNZW51IEl0ZW1zL0ZvbGRlckFjdGlvbnNNZW51LnBsdWdpbi9D
b250ZW50cy9NYWNPUy9Gb2xkZXJBY3Rpb25zTWVudQoweDExNzE5MDAwIC0gMHgxMTcyMWZmZiAr
Y29tLmdldGRyb3Bib3guZmluZGVycGx1Z2luIDEuMCAoMTY5KSA8OWI0MjlkZmE5MWJlNDQ1YTdk
NmUxMmQ0NzQ5Y2NiYmE+IC9Vc2Vycy9tbGlsZWsvTGlicmFyeS9Db250ZXh0dWFsIE1lbnUgSXRl
bXMvRHJvcGJveFBsdWdpbi5wbHVnaW4vQ29udGVudHMvTWFjT1MvRHJvcGJveFBsdWdpbgoweDEz
MDZlMDAwIC0gMHgxMzA4MGZmZiAgbGliVHJhZGl0aW9uYWxDaGluZXNlQ29udmVydGVyLmR5bGli
ID8/PyAoPz8/KSA8ODllYzk0MTIxZWY1MDYwMWRjNTM4NTQ4Y2FhZTU3ZmM+IC9TeXN0ZW0vTGli
cmFyeS9Db3JlU2VydmljZXMvRW5jb2RpbmdzL2xpYlRyYWRpdGlvbmFsQ2hpbmVzZUNvbnZlcnRl
ci5keWxpYgoweDEzODE1MDAwIC0gMHgxMzgxNmZmYyAgY29tLmFwcGxlLkphdmFQbHVnaW5Db2Nv
YSAxMi4xLjAgKDEyLjEuMCkgPGQyMWExMmM1NjY4ZDRkODliZmU0OTJhNTIyM2E3NWNjPiAvTGli
cmFyeS9JbnRlcm5ldCBQbHVnLUlucy9KYXZhUGx1Z2luQ29jb2EuYnVuZGxlL0NvbnRlbnRzL01h
Y09TL0phdmFQbHVnaW5Db2NvYQoweDE0MzQ5MDAwIC0gMHgxNDM0ZWZmZCAgY29tLmFwcGxlLkph
dmFWTSAxMi4xLjAgKDEyLjEuMCkgPDI1YzU0NmMzNmU1YmVkOTc4NTc5ZDI4MTA4MGFiNGM4PiAv
U3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9KYXZhVk0uZnJhbWV3b3JrL1ZlcnNpb25zL0EvSmF2
YVZNCjB4MTQzOGQwMDAgLSAweDE0M2FjZmVkICBjb20uYXBwbGUuYXVkaW8uQ29yZUF1ZGlvS2l0
IDEuNSAoMS41KSA8ODJmMmU1MmM1MDJkYjdmM2IzMjM0OWE1NDIwOWEwZmU+IC9TeXN0ZW0vTGli
cmFyeS9GcmFtZXdvcmtzL0NvcmVBdWRpb0tpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlQXVk
aW9LaXQKMHgxNDUwMDAwMCAtIDB4MTRiMDBmZmIgK2NvbS5tYWNyb21lZGlhLkZsYXNoIFBsYXll
ci5wbHVnaW4gOS4wLjEyNCAoMS4wLjRmNjApIDw4MzU1ZGNmMDc2NTY0YjY3ODRjNTE3ZmQwZWNj
YjJmMj4gL0xpYnJhcnkvSW50ZXJuZXQgUGx1Zy1JbnMvRmxhc2ggUGxheWVyLnBsdWdpbi9Db250
ZW50cy9NYWNPUy9GbGFzaCBQbGF5ZXIKMHgxNWNjMjAwMCAtIDB4MTVkMzBmZjcgIGNvbS5hcHBs
ZS5CbHVldG9vdGggMi4xICgyLjFmMTcpIDwyOWFiNTg0M2JiNjA4YzE1NWQ0ZDczNTMzMjBjMjE5
ND4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvSU9CbHVldG9vdGguZnJhbWV3b3JrL1ZlcnNp
b25zL0EvSU9CbHVldG9vdGgKMHg4ZmUwMDAwMCAtIDB4OGZlMmRhNTMgIGR5bGQgOTYuMiAoPz8/
KSA8N2FmNDdkM2IwMGIyMjY4OTQ3NTYzYzdmYThjNTlhMDc+IC91c3IvbGliL2R5bGQKMHg5MDAw
MzAwMCAtIDB4OTAwNDJmZWYgIGxpYlRJRkYuZHlsaWIgPz8/ICg/Pz8pIDw2ZDBmODBlOWQ0ZDgx
ZjNmNjRjODc2YWNhMDA1YmQ1Mz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRp
b25TZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0ltYWdlSU8uZnJhbWV3
b3JrL1ZlcnNpb25zL0EvUmVzb3VyY2VzL2xpYlRJRkYuZHlsaWIKMHg5MDA0MzAwMCAtIDB4OTAw
OTNmZjcgIGNvbS5hcHBsZS5ISVNlcnZpY2VzIDEuNy4wICg/Pz8pIDxmN2U3ODg5MWE2ZDA4MjY1
YzgzZGNhOGUzNzhiZTFlYT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25T
ZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0hJU2VydmljZXMuZnJhbWV3
b3JrL1ZlcnNpb25zL0EvSElTZXJ2aWNlcwoweDkwMDk0MDAwIC0gMHg5MDBhNGZmYyAgY29tLmFw
cGxlLkxhbmdBbmFseXNpcyAxLjYuNCAoMS42LjQpIDw4Yjc4MzFiNWY3NGE5NTBhNTZjZjJkMjJh
MmQ0MzZmNj4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0xhbmdBbmFseXNpcy5mcmFtZXdvcmsvVmVy
c2lvbnMvQS9MYW5nQW5hbHlzaXMKMHg5MDI1MTAwMCAtIDB4OTAyODJmZmIgIGNvbS5hcHBsZS5x
dWFydHpmaWx0ZXJzIDEuNS4wICgxLjUuMCkgPDIyNTgxZjhmZTlkZDJjYjI2MWY5N2E4OTc0MDdl
YzNlPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9RdWFydHouZnJhbWV3b3JrL1ZlcnNpb25z
L0EvRnJhbWV3b3Jrcy9RdWFydHpGaWx0ZXJzLmZyYW1ld29yay9WZXJzaW9ucy9BL1F1YXJ0ekZp
bHRlcnMKMHg5MDI4ODAwMCAtIDB4OTA2OThmZWYgIGxpYkJMQVMuZHlsaWIgPz8/ICg/Pz8pIC9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FjY2VsZXJhdGUuZnJhbWV3b3JrL1ZlcnNpb25zL0Ev
RnJhbWV3b3Jrcy92ZWNMaWIuZnJhbWV3b3JrL1ZlcnNpb25zL0EvbGliQkxBUy5keWxpYgoweDkw
Njk5MDAwIC0gMHg5MDZhOWZmZiAgY29tLmFwcGxlLnNwZWVjaC5zeW50aGVzaXMuZnJhbWV3b3Jr
IDMuNy4xICgzLjcuMSkgPDA2ZDhmYzAzMDczMTRmOGZmYzE2ZjIwNmFkM2RiZjQ0PiAvU3lzdGVt
L0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9u
cy9BL0ZyYW1ld29ya3MvU3BlZWNoU3ludGhlc2lzLmZyYW1ld29yay9WZXJzaW9ucy9BL1NwZWVj
aFN5bnRoZXNpcwoweDkwNmJlMDAwIC0gMHg5MGI5MWZmZSAgbGliR0xQcm9ncmFtbWFiaWxpdHku
ZHlsaWIgPz8/ICg/Pz8pIDw0NzVkYjY0MjQ0ZTAxMWNkODgxMWUwNzYwMzViMjYzMj4gL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvT3BlbkdMLmZyYW1ld29yay9WZXJzaW9ucy9BL0xpYnJhcmll
cy9saWJHTFByb2dyYW1tYWJpbGl0eS5keWxpYgoweDkwYjkyMDAwIC0gMHg5MGI5MmZmYSAgY29t
LmFwcGxlLkNvcmVTZXJ2aWNlcyAzMiAoMzIpIDwyZmNjOGYzYmQ1YmJmYzAwMGI0NzZjYWQ4ZTZh
M2RkMj4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVNlcnZpY2VzLmZyYW1ld29yay9W
ZXJzaW9ucy9BL0NvcmVTZXJ2aWNlcwoweDkwYjkzMDAwIC0gMHg5MGI5M2ZmZSAgY29tLmFwcGxl
LnF1YXJ0emZyYW1ld29yayAxLjUgKDEuNSkgPDRiOGY1MDVlMzJlNGYyZDY3OTY3YTI3NjQwMWY5
YWFmPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9RdWFydHouZnJhbWV3b3JrL1ZlcnNpb25z
L0EvUXVhcnR6CjB4OTBiOTQwMDAgLSAweDkwY2NiZmViICBjb20uYXBwbGUuaW1hZ2VLaXQgMS4w
LjEgKDEuMCkgPDliNmRhMzIxMGI3ZTY5ZTc1MDM5Y2JiMGZkNGE4NDgyPiAvU3lzdGVtL0xpYnJh
cnkvRnJhbWV3b3Jrcy9RdWFydHouZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9JbWFn
ZUtpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9JbWFnZUtpdAoweDkwY2Q5MDAwIC0gMHg5MGQ4YmZm
YiAgbGliY3J5cHRvLjAuOS43LmR5bGliID8/PyAoPz8/KSA8MDExMDliMzZiNDQ1YjNlODY5OGVm
ODdmODE0ZjdmZDQ+IC91c3IvbGliL2xpYmNyeXB0by4wLjkuNy5keWxpYgoweDkwZDhjMDAwIC0g
MHg5MGQ5M2ZmZiAgY29tLmFwcGxlLmFnbCAzLjAuOSAoQUdMLTMuMC45KSA8N2RhYzRhN2NiMGRl
MmY2ZDA4YWU3MWMxMjQ5Mzc5ZTM+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FHTC5mcmFt
ZXdvcmsvVmVyc2lvbnMvQS9BR0wKMHg5MGQ5NDAwMCAtIDB4OTEwMGZmZTcgIGNvbS5hcHBsZS5G
b3VuZGF0aW9uIDYuNS41ICg2NzcuMTkpIDxiZmQ0ZWJlYTFhNzczOWRkNmI1MjNmMTVkY2EwMWEz
Nz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvRm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lv
bnMvQy9Gb3VuZGF0aW9uCjB4OTEwMTAwMDAgLSAweDkxMDNmZmUzICBjb20uYXBwbGUuQUUgNDAy
LjIgKDQwMi4yKSA8ZTAxNTk2MTg3ZTkxYWY1ZDQ4NjUzOTIwMDE3YjhjOGU+IC9TeXN0ZW0vTGli
cmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdv
cmtzL0FFLmZyYW1ld29yay9WZXJzaW9ucy9BL0FFCjB4OTEwNDAwMDAgLSAweDkxMjBlZmZmICBj
b20uYXBwbGUuc2VjdXJpdHkgNS4wLjQgKDM0MTAyKSA8ZjAxZDZjYmQ2YTBmMjRmNmMxMzk1MmVk
NDQ4ZTc3ZDY+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yay9W
ZXJzaW9ucy9BL1NlY3VyaXR5CjB4OTEyMGYwMDAgLSAweDkxMjBmZmZkICBjb20uYXBwbGUudmVj
TGliIDMuNC4yICh2ZWNMaWIgMy40LjIpIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL3ZlY0xp
Yi5mcmFtZXdvcmsvVmVyc2lvbnMvQS92ZWNMaWIKMHg5MTIxMDAwMCAtIDB4OTEyNGVmZjcgIGxp
YkdMSW1hZ2UuZHlsaWIgPz8/ICg/Pz8pIDwwOTNiMWI2OThjYTkzYTAzODBmNWZhMjYyNDU5ZWEy
OD4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvT3BlbkdMLmZyYW1ld29yay9WZXJzaW9ucy9B
L0xpYnJhcmllcy9saWJHTEltYWdlLmR5bGliCjB4OTEyNGYwMDAgLSAweDkxMjRmZmY4ICBjb20u
YXBwbGUuQ29jb2EgNi41ICg/Pz8pIDxlMDY0Zjk0ZDk2OWNlMjVjYjdkZTNjZmI5ODBjMzI0OT4g
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29jb2EuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29j
b2EKMHg5MTI1MDAwMCAtIDB4OTEyY2NmZWIgIGNvbS5hcHBsZS5hdWRpby5Db3JlQXVkaW8gMy4x
LjAgKDMuMSkgPDcwYmI3YzY1NzA2MTYzMTQ5MTAyOWE2MWJhYmUwYjI2PiAvU3lzdGVtL0xpYnJh
cnkvRnJhbWV3b3Jrcy9Db3JlQXVkaW8uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUF1ZGlvCjB4
OTEzNzAwMDAgLSAweDkxMzc3ZmU5ICBsaWJnY2Nfcy4xLmR5bGliID8/PyAoPz8/KSA8ZjUzYzgw
OGU4N2QxMTg0YzBmOWRmNjNhZWY1M2NlMGI+IC91c3IvbGliL2xpYmdjY19zLjEuZHlsaWIKMHg5
MTM3ODAwMCAtIDB4OTE0OWNmZTMgIGNvbS5hcHBsZS5hdWRpby50b29sYm94LkF1ZGlvVG9vbGJv
eCAxLjUuMSAoMS41LjEpIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0F1ZGlvVG9vbGJveC5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9BdWRpb1Rvb2xib3gKMHg5MTQ5ZDAwMCAtIDB4OTE0OWRmZmMg
IGNvbS5hcHBsZS5hdWRpby51bml0cy5BdWRpb1VuaXQgMS41ICgxLjUpIC9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL0F1ZGlvVW5pdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9BdWRpb1VuaXQKMHg5
MTRjOTAwMCAtIDB4OTE0ZTdmZjcgIGNvbS5hcHBsZS5RdWlja0xvb2tGcmFtZXdvcmsgMS4zICgx
NzAuNykgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvUXVpY2tMb29rLmZyYW1ld29yay9WZXJz
aW9ucy9BL1F1aWNrTG9vawoweDkxNTAwMDAwIC0gMHg5MTUwYWZlYiAgY29tLmFwcGxlLmF1ZGlv
LlNvdW5kTWFuYWdlciAzLjkuMiAoMy45LjIpIDwwZjJiYTZlODkxZDM3NjEyMTJjZjVhNWU2MTM0
ZDY4Mz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ2FyYm9uLmZyYW1ld29yay9WZXJzaW9u
cy9BL0ZyYW1ld29ya3MvQ2FyYm9uU291bmQuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ2FyYm9uU291
bmQKMHg5MTUwYjAwMCAtIDB4OTE1MTNmZmYgIGNvbS5hcHBsZS5EaXNrQXJiaXRyYXRpb24gMi4y
LjEgKDIuMi4xKSA8NzViMGM4ZDg5NDBhOGEyNzgxNjk2MWRkZGNhYzhlMGY+IC9TeXN0ZW0vTGli
cmFyeS9GcmFtZXdvcmtzL0Rpc2tBcmJpdHJhdGlvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9EaXNr
QXJiaXRyYXRpb24KMHg5MTUxNDAwMCAtIDB4OTE1NzBmZjcgIGNvbS5hcHBsZS5odG1scmVuZGVy
aW5nIDY4ICgxLjEuMykgPGZlODdhOWRlZGUzOGRiMDBlNmM4OTQ5OTQyYzZiZDRmPiAvU3lzdGVt
L0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jr
cy9IVE1MUmVuZGVyaW5nLmZyYW1ld29yay9WZXJzaW9ucy9BL0hUTUxSZW5kZXJpbmcKMHg5MTVj
MDAwMCAtIDB4OTE2N2FmZTMgIGNvbS5hcHBsZS5Db3JlU2VydmljZXMuT1NTZXJ2aWNlcyAyMjYu
NSAoMjI2LjUpIDw3ZTEwZDI1YzYxNWEzOWZlMWFiNGQ0OGUyNGEzYjU1NT4gL1N5c3RlbS9MaWJy
YXJ5L0ZyYW1ld29ya3MvQ29yZVNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29y
a3MvT1NTZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9PU1NlcnZpY2VzCjB4OTE2N2IwMDAg
LSAweDkxNjhmZmYzICBjb20uYXBwbGUuSW1hZ2VDYXB0dXJlIDQuMCAoNS4wLjApIC9TeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtz
L0ltYWdlQ2FwdHVyZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9JbWFnZUNhcHR1cmUKMHg5MTY5MDAw
MCAtIDB4OTE2YTZmZmYgIGNvbS5hcHBsZS5EaWN0aW9uYXJ5U2VydmljZXMgMS4wLjAgKDEuMC4w
KSA8YWQwYWEwMjUyZTMzMjNkMTgyZTE3ZjUwZGVmZTU2ZmM+IC9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL0NvcmVTZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0RpY3Rp
b25hcnlTZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9EaWN0aW9uYXJ5U2VydmljZXMKMHg5
MTZhNzAwMCAtIDB4OTE3MDFmZjcgIGNvbS5hcHBsZS5Db3JlVGV4dCAyLjAuMiAoPz8/KSA8OWZk
ZTExZjg0YTcyZTg5MGJiZjJhYThiMGIxM2I3OWE+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9Db3Jl
VGV4dC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlVGV4dAoweDkxNzcwMDAwIC0gMHg5MTc3ZmZm
ZiAgbGlic2FzbDIuMi5keWxpYiA/Pz8gKD8/PykgPGI5ZTFjYTBiNjYxMmUyODBiNmNiZWE2ZGYw
ZWVjNWY2PiAvdXNyL2xpYi9saWJzYXNsMi4yLmR5bGliCjB4OTE3ODAwMDAgLSAweDkxN2MyZmVm
ICBjb20uYXBwbGUuTmF2aWdhdGlvblNlcnZpY2VzIDMuNS4yICgxNjMpIDw5MTg0NDk4MDgwNDA2
N2IwN2EwYjYxMjQzMTBkM2YzMT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ2FyYm9uLmZy
YW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvTmF2aWdhdGlvblNlcnZpY2VzLmZyYW1ld29y
ay9WZXJzaW9ucy9BL05hdmlnYXRpb25TZXJ2aWNlcwoweDkxN2Y0MDAwIC0gMHg5MTg2NmZmZiAg
Y29tLmFwcGxlLlBERktpdCAyLjEgKDIuMSkgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvUXVh
cnR6LmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvUERGS2l0LmZyYW1ld29yay9WZXJz
aW9ucy9BL1BERktpdAoweDkxODY3MDAwIC0gMHg5MTkxN2ZmZiAgZWR1Lm1pdC5LZXJiZXJvcyA2
LjAuMTIgKDYuMC4xMikgPDFkYzUxNWViZTQwNzI5MmRiOGU2MDM5MzhjNzJkNGU4PiAvU3lzdGVt
L0xpYnJhcnkvRnJhbWV3b3Jrcy9LZXJiZXJvcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9LZXJiZXJv
cwoweDkxOTE4MDAwIC0gMHg5MTkxOGZmZCAgY29tLmFwcGxlLkFjY2VsZXJhdGUudmVjTGliIDMu
NC4yICh2ZWNMaWIgMy40LjIpIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FjY2VsZXJhdGUu
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy92ZWNMaWIuZnJhbWV3b3JrL1ZlcnNpb25z
L0EvdmVjTGliCjB4OTE5MTkwMDAgLSAweDkxYTUxZmY3ICBsaWJpY3Vjb3JlLkEuZHlsaWIgPz8/
ICg/Pz8pIDw1MDMxMjI2ZWEyOGIzNzFkOGRmZGJiMzJhY2ZiNDhiNT4gL3Vzci9saWIvbGliaWN1
Y29yZS5BLmR5bGliCjB4OTFhNTIwMDAgLSAweDkxYWNjZmY4ICBjb20uYXBwbGUucHJpbnQuZnJh
bWV3b3JrLlByaW50Q29yZSA1LjUuMyAoMjQ1LjMpIDwyMjJkYWRlN2IzM2I5OTcwOGI4YzA5ZDEz
MDNmOTNmYz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL1ByaW50Q29yZS5mcmFtZXdvcmsvVmVyc2lv
bnMvQS9QcmludENvcmUKMHg5MWFjZDAwMCAtIDB4OTFiNGFmZWYgIGxpYnZNaXNjLmR5bGliID8/
PyAoPz8/KSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BY2NlbGVyYXRlLmZyYW1ld29yay9W
ZXJzaW9ucy9BL0ZyYW1ld29ya3MvdmVjTGliLmZyYW1ld29yay9WZXJzaW9ucy9BL2xpYnZNaXNj
LmR5bGliCjB4OTFiODAwMDAgLSAweDkxYmNhZmUxICBjb20uYXBwbGUuc2VjdXJpdHlpbnRlcmZh
Y2UgMy4wICgzMjUzMikgPGY1MjFkYWU0MTZjZTdhM2JkZDU5NGIwZDRlMmZiNTE3PiAvU3lzdGVt
L0xpYnJhcnkvRnJhbWV3b3Jrcy9TZWN1cml0eUludGVyZmFjZS5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9TZWN1cml0eUludGVyZmFjZQoweDkxYmNiMDAwIC0gMHg5MWJkMGZmZiAgY29tLmFwcGxlLkNv
bW1vblBhbmVscyAxLjIuNCAoODUpIDxlYTA2NjVmNTdjZDI2NzYwOTQ2NmVkOGIyYjIwZTg5Mz4g
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ2FyYm9uLmZyYW1ld29yay9WZXJzaW9ucy9BL0Zy
YW1ld29ya3MvQ29tbW9uUGFuZWxzLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvbW1vblBhbmVscwow
eDkxYmQxMDAwIC0gMHg5MWJlMGZmZSAgY29tLmFwcGxlLkRTT2JqQ1dyYXBwZXJzLkZyYW1ld29y
ayAxLjIuMSAoMS4yLjEpIDxlYWMxYzdiN2MwN2VkMzE0OGM4NTkzNGI2ZjY1NjMwOD4gL1N5c3Rl
bS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0RTT2JqQ1dyYXBwZXJzLmZyYW1ld29yay9WZXJz
aW9ucy9BL0RTT2JqQ1dyYXBwZXJzCjB4OTFiZTEwMDAgLSAweDkxYzZkZmY3ICBjb20uYXBwbGUu
TGF1bmNoU2VydmljZXMgMjg5LjIgKDI4OS4yKSA8MzU3Nzg4NmUzYTZkNTZlZTM5NDk4NTBjNGZk
ZTc2Yzk+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2aWNlcy5mcmFtZXdvcmsv
VmVyc2lvbnMvQS9GcmFtZXdvcmtzL0xhdW5jaFNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9B
L0xhdW5jaFNlcnZpY2VzCjB4OTFjNmUwMDAgLSAweDkxYzZlZmZiICBjb20uYXBwbGUuaW5zdGFs
bHNlcnZlci5mcmFtZXdvcmsgMS4wICg4KSAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29y
a3MvSW5zdGFsbFNlcnZlci5mcmFtZXdvcmsvVmVyc2lvbnMvQS9JbnN0YWxsU2VydmVyCjB4OTFj
NmYwMDAgLSAweDkxYzZmZmZlICBjb20uYXBwbGUuTW9uaXRvclBhbmVsRnJhbWV3b3JrIDEuMi4w
ICgxLjIuMCkgPGEyYjQ2MmJlNmM1MTE4N2VkZGY3ZDA5N2VmMGUwYTA0PiAvU3lzdGVtL0xpYnJh
cnkvUHJpdmF0ZUZyYW1ld29ya3MvTW9uaXRvclBhbmVsLmZyYW1ld29yay9WZXJzaW9ucy9BL01v
bml0b3JQYW5lbAoweDkxYzcwMDAwIC0gMHg5MjAwNmZmZiAgY29tLmFwcGxlLlF1YXJ0ekNvcmUg
MS41LjMgKDEuNS4zKSA8MWI2NWMwNWY4OWU4MWE0OTkzMDJmZDYzMjk1YjI0MmQ+IC9TeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL1F1YXJ0ekNvcmUuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUXVhcnR6
Q29yZQoweDkyMDA3MDAwIC0gMHg5MjAyYmZlYiAgbGlic3NsLjAuOS43LmR5bGliID8/PyAoPz8/
KSA8MzUxMmM0YTgxOThmMGU5NjQ3NDhiZjZhY2JmMzU5YjQ+IC91c3IvbGliL2xpYnNzbC4wLjku
Ny5keWxpYgoweDkyMDNlMDAwIC0gMHg5MjA5YmZmYiAgbGlic3RkYysrLjYuZHlsaWIgPz8/ICg/
Pz8pIDwwNGI4MTJkY2VjNjcwZGFhOGI3ZDI4NTJhYjE0YmU2MD4gL3Vzci9saWIvbGlic3RkYysr
LjYuZHlsaWIKMHg5MjA5YzAwMCAtIDB4OTIxODFmZjMgIGNvbS5hcHBsZS5Db3JlRGF0YSAxMDAu
MSAoMTg2KSA8OGUyODE2MmVmMjI4ODY5MjYxNWI1MmFjYzAxZjhiNTQ+IC9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL0NvcmVEYXRhLmZyYW1ld29yay9WZXJzaW9ucy9BL0NvcmVEYXRhCjB4OTIx
OGMwMDAgLSAweDkyMTkzZmY3ICBsaWJDR0FUUy5BLmR5bGliID8/PyAoPz8/KSA8ZmJjNTlkMGUx
ZWNjZjkwNzM5NjU2MzU2OGQ1Y2Q4NzI+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxp
Y2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9Db3JlR3JhcGhp
Y3MuZnJhbWV3b3JrL1ZlcnNpb25zL0EvUmVzb3VyY2VzL2xpYkNHQVRTLkEuZHlsaWIKMHg5MjE5
NDAwMCAtIDB4OTIxZGFmZWYgIGNvbS5hcHBsZS5NZXRhZGF0YSAxMC41LjIgKDM5OC4xOCkgPGFk
YmIzYTE0ZThmN2RhNDQ0ZTE2ZDJmZDYxODYyNzcxPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9Db3JlU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9NZXRhZGF0YS5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9NZXRhZGF0YQoweDkyMWRiMDAwIC0gMHg5MjMwZGZmZiAgY29t
LmFwcGxlLkNvcmVGb3VuZGF0aW9uIDYuNS4zICg0NzYuMTQpIDw3ZWY3ZjVkYjA5ZmY2ZGQwMTM1
YTYxNjU4NzI4MDNjYz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZUZvdW5kYXRpb24u
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29yZUZvdW5kYXRpb24KMHg5MjM0ZDAwMCAtIDB4OTIzNTJm
ZmYgIGNvbS5hcHBsZS5iYWNrdXAuZnJhbWV3b3JrIDEuMCAoMS4wKSAvU3lzdGVtL0xpYnJhcnkv
UHJpdmF0ZUZyYW1ld29ya3MvQmFja3VwLmZyYW1ld29yay9WZXJzaW9ucy9BL0JhY2t1cAoweDky
MzUzMDAwIC0gMHg5MjRiM2ZmMyAgbGliU3lzdGVtLkIuZHlsaWIgPz8/ICg/Pz8pIDxhMTJmMzk3
YWJmMjI4NTA3N2I4OWJkNzI2YmZmNWIxOD4gL3Vzci9saWIvbGliU3lzdGVtLkIuZHlsaWIKMHg5
MjRiNDAwMCAtIDB4OTI0ZDRmZjIgIGxpYkdMLmR5bGliID8/PyAoPz8/KSAvU3lzdGVtL0xpYnJh
cnkvRnJhbWV3b3Jrcy9PcGVuR0wuZnJhbWV3b3JrL1ZlcnNpb25zL0EvTGlicmFyaWVzL2xpYkdM
LmR5bGliCjB4OTI0ZDUwMDAgLSAweDkyNGRjZmZlICBsaWJic20uZHlsaWIgPz8/ICg/Pz8pIDxk
MjVjNjMzNzhhNTAyOTY0OGZmZDRiNDY2OWJlMzFiZj4gL3Vzci9saWIvbGliYnNtLmR5bGliCjB4
OTI0ZGQwMDAgLSAweDkyNGRmZmZmICBjb20uYXBwbGUuc2VjdXJpdHloaSAzLjAgKDMwODE3KSA8
MmIyODU0MTIzZmVkNjA5ZDE4MjBkMjc3OWUyZTA5NjM+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdv
cmtzL0NhcmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL1NlY3VyaXR5SEkuZnJh
bWV3b3JrL1ZlcnNpb25zL0EvU2VjdXJpdHlISQoweDkyNGUwMDAwIC0gMHg5MjRmOGZmZiAgY29t
LmFwcGxlLm9wZW5zY3JpcHRpbmcgMS4yLjggKD8/PykgPGQ4NWQ4MmFmNzk2ZDFkZjliY2U3YjFk
YjhmNmM4NDZjPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1Zl
cnNpb25zL0EvRnJhbWV3b3Jrcy9PcGVuU2NyaXB0aW5nLmZyYW1ld29yay9WZXJzaW9ucy9BL09w
ZW5TY3JpcHRpbmcKMHg5MjRmOTAwMCAtIDB4OTI1ODRmZmYgIGNvbS5hcHBsZS5mcmFtZXdvcmsu
SU9LaXQgMS41LjEgKD8/PykgPDYwY2ZjNGIxNzVjNGVmNjBiYjhlOTAzNjcxNmEyOWY0PiAvU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9JT0tpdC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9JT0tpdAow
eDkyNjdjMDAwIC0gMHg5MjY3Y2ZmZiAgY29tLmFwcGxlLkNhcmJvbiAxMzYgKDEzNikgPDk4YTVl
M2JjMGM0ZmE0NGJiYjA5NzEzYmI4ODcwN2ZlPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9D
YXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ2FyYm9uCjB4OTI3NDcwMDAgLSAweDkyODhkZmY3
ICBjb20uYXBwbGUuSW1hZ2VJTy5mcmFtZXdvcmsgMi4wLjIgKDIuMC4yKSA8NzdkZmVlNzNmNGMw
ZDIzMDQyNWE1MTUxZWUwYmNlMDU+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0
aW9uU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9JbWFnZUlPLmZyYW1l
d29yay9WZXJzaW9ucy9BL0ltYWdlSU8KMHg5Mjg4ZTAwMCAtIDB4OTI4YzhmZmYgIGNvbS5hcHBs
ZS5jb3JldWkgMS4xICg2MSkgL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0NvcmVV
SS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlVUkKMHg5MjhjOTAwMCAtIDB4OTI4ZTdmZmYgIGxp
YnJlc29sdi45LmR5bGliID8/PyAoPz8/KSA8MDYyOWI2ZGNkNzFmNGFhYzZhODkxY2JlMjYyNTNl
ODU+IC91c3IvbGliL2xpYnJlc29sdi45LmR5bGliCjB4OTI5MTgwMDAgLSAweDkyOTY3ZmZmICBj
b20uYXBwbGUuUXVpY2tMb29rVUlGcmFtZXdvcmsgMS4zICgxNzAuNykgL1N5c3RlbS9MaWJyYXJ5
L1ByaXZhdGVGcmFtZXdvcmtzL1F1aWNrTG9va1VJLmZyYW1ld29yay9WZXJzaW9ucy9BL1F1aWNr
TG9va1VJCjB4OTJhNTkwMDAgLSAweDkyYTVmZmZmICBjb20uYXBwbGUucHJpbnQuZnJhbWV3b3Jr
LlByaW50IDIxOC4wLjIgKDIyMC4xKSA8OGJmN2VmNzEyMTYzNzZkMTJmY2Q1ZWMxN2U0Mzc0MmM+
IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9G
cmFtZXdvcmtzL1ByaW50LmZyYW1ld29yay9WZXJzaW9ucy9BL1ByaW50CjB4OTJhNjAwMDAgLSAw
eDkyYmRmZmZmICBjb20uYXBwbGUuQWRkcmVzc0Jvb2suZnJhbWV3b3JrIDQuMS4xICg2OTUpIDwy
NGE0NDhiYTRmOWY3ODQxODliZDMxODNlMzQ3NGQ4MT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MvQWRkcmVzc0Jvb2suZnJhbWV3b3JrL1ZlcnNpb25zL0EvQWRkcmVzc0Jvb2sKMHg5MmJlMDAw
MCAtIDB4OTJjMDRmZmYgIGxpYnhzbHQuMS5keWxpYiA/Pz8gKD8/PykgPDQ5MzNkZGM3ZjY2MTg3
NDMxOTdhYWRjODViMzNiNWFiPiAvdXNyL2xpYi9saWJ4c2x0LjEuZHlsaWIKMHg5MmMwNTAwMCAt
IDB4OTJjOThmZjMgIGNvbS5hcHBsZS5BcHBsaWNhdGlvblNlcnZpY2VzLkFUUyAzLjMgKD8/Pykg
PDA2NGViNmQ5NjQxN2FmYTM4YTgwYjE3MzVjNDExM2FhPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3Mv
QVRTLmZyYW1ld29yay9WZXJzaW9ucy9BL0FUUwoweDkyYzk5MDAwIC0gMHg5MmNjYmZmZiAgY29t
LmFwcGxlLkxEQVBGcmFtZXdvcmsgMS40LjMgKDEwNikgPDNhNWM5ZGY2MDMyMTQzY2Q2YmMyNjU4
YTlkMzI4ZDhlPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9MREFQLmZyYW1ld29yay9WZXJz
aW9ucy9BL0xEQVAKMHg5MmNjYzAwMCAtIDB4OTMwOGFmZWEgIGxpYkxBUEFDSy5keWxpYiA/Pz8g
KD8/PykgL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQWNjZWxlcmF0ZS5mcmFtZXdvcmsvVmVy
c2lvbnMvQS9GcmFtZXdvcmtzL3ZlY0xpYi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9saWJMQVBBQ0su
ZHlsaWIKMHg5MzA4YjAwMCAtIDB4OTMwYjhmZWIgIGxpYnZEU1AuZHlsaWIgPz8/ICg/Pz8pIDxi
MjMyYzAxOGRkZDA0MGVjNGUyYzJhZjYzMmRkNDk3Zj4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MvQWNjZWxlcmF0ZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL3ZlY0xpYi5mcmFt
ZXdvcmsvVmVyc2lvbnMvQS9saWJ2RFNQLmR5bGliCjB4OTMwYjkwMDAgLSAweDkzMGI5ZmZkICBj
b20uYXBwbGUuQWNjZWxlcmF0ZSAxLjQuMiAoQWNjZWxlcmF0ZSAxLjQuMikgL1N5c3RlbS9MaWJy
YXJ5L0ZyYW1ld29ya3MvQWNjZWxlcmF0ZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9BY2NlbGVyYXRl
CjB4OTMwYmYwMDAgLSAweDkzNzViZmVmICBjb20uYXBwbGUuQ29yZUdyYXBoaWNzIDEuMzUxLjMy
ICg/Pz8pIDw3OTNkN2NlYjllMTg4MDgxOGUwM2MxZjFiMTBkZjA0Yj4gL1N5c3RlbS9MaWJyYXJ5
L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFt
ZXdvcmtzL0NvcmVHcmFwaGljcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9Db3JlR3JhcGhpY3MKMHg5
MzgwYjAwMCAtIDB4OTM4MTRmZmYgIGNvbS5hcHBsZS5zcGVlY2gucmVjb2duaXRpb24uZnJhbWV3
b3JrIDMuNy4yNCAoMy43LjI0KSA8ZDMxODBmOWVkYmQ5YTVlNmYyODNkNjE1NmFhM2M2MDI+IC9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFt
ZXdvcmtzL1NwZWVjaFJlY29nbml0aW9uLmZyYW1ld29yay9WZXJzaW9ucy9BL1NwZWVjaFJlY29n
bml0aW9uCjB4OTM4MTUwMDAgLSAweDkzODE5ZmZmICBsaWJHSUYuZHlsaWIgPz8/ICg/Pz8pIDxk
NDIzNGU2ZjVlNWY1MzBiZGFmYjk2OTE1N2YxZjE3Yj4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0lt
YWdlSU8uZnJhbWV3b3JrL1ZlcnNpb25zL0EvUmVzb3VyY2VzL2xpYkdJRi5keWxpYgoweDkzODFh
MDAwIC0gMHg5MzhlNWZmZiAgY29tLmFwcGxlLkNvbG9yU3luYyA0LjUuMCAoNC41LjApIC9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNp
b25zL0EvRnJhbWV3b3Jrcy9Db2xvclN5bmMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvQ29sb3JTeW5j
CjB4OTM4ZTYwMDAgLSAweDkzOTBlZmY3ICBjb20uYXBwbGUuc2hvcnRjdXQgMSAoMS4wKSA8MDU3
NzgzODY3MTM4OTAyYjUyYmMwOTQxZmVkYjc0ZDE+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJh
bWV3b3Jrcy9TaG9ydGN1dC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9TaG9ydGN1dAoweDkzOTRjMDAw
IC0gMHg5M2E0ZGZmZiAgY29tLmFwcGxlLlB1YlN1YiAxLjAuMyAoNjUuMykgL1N5c3RlbS9MaWJy
YXJ5L0ZyYW1ld29ya3MvUHViU3ViLmZyYW1ld29yay9WZXJzaW9ucy9BL1B1YlN1YgoweDkzYTRl
MDAwIC0gMHg5M2E1OWZmOSAgY29tLmFwcGxlLmhlbHBkYXRhIDEuMCAoMTQpIC9TeXN0ZW0vTGli
cmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9IZWxwRGF0YS5mcmFtZXdvcmsvVmVyc2lvbnMvQS9IZWxw
RGF0YQoweDk0MWE1MDAwIC0gMHg5NDI2Y2ZmMiAgY29tLmFwcGxlLnZJbWFnZSAzLjAgKDMuMCkg
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQWNjZWxlcmF0ZS5mcmFtZXdvcmsvVmVyc2lvbnMv
QS9GcmFtZXdvcmtzL3ZJbWFnZS5mcmFtZXdvcmsvVmVyc2lvbnMvQS92SW1hZ2UKMHg5NDI2ZDAw
MCAtIDB4OTQyNzFmZmYgIGxpYm1hdGhDb21tb24uQS5keWxpYiA/Pz8gKD8/PykgL3Vzci9saWIv
c3lzdGVtL2xpYm1hdGhDb21tb24uQS5keWxpYgoweDk0MjcyMDAwIC0gMHg5NDJmMWZmNSAgY29t
LmFwcGxlLlNlYXJjaEtpdCAxLjIuMCAoMS4yLjApIDwyNzdiNDYwZGE4NmJjMjIyNzg1MTU5ZmU3
N2UyZTJlZD4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVNlcnZpY2VzLmZyYW1ld29y
ay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvU2VhcmNoS2l0LmZyYW1ld29yay9WZXJzaW9ucy9BL1Nl
YXJjaEtpdAoweDk0MmYyMDAwIC0gMHg5NDMyYmZmZSAgY29tLmFwcGxlLnNlY3VyaXR5Zm91bmRh
dGlvbiAzLjAgKDMyOTg5KSA8ZTkxNzFlZGEyMmM2OWM4ODRhMDRhMDAxYWViNTI2ZTA+IC9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3VyaXR5Rm91bmRhdGlvbi5mcmFtZXdvcmsvVmVyc2lv
bnMvQS9TZWN1cml0eUZvdW5kYXRpb24KMHg5NDMyYzAwMCAtIDB4OTQzYjZmZTMgIGNvbS5hcHBs
ZS5EZXNrdG9wU2VydmljZXMgMS40LjYgKDEuNC42KSA8OTRkMWEyOGIzNTFiN2RmZjc3YmVjYWRh
YjA5Njc3NzI+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9EZXNrdG9wU2Vydmlj
ZXNQcml2LmZyYW1ld29yay9WZXJzaW9ucy9BL0Rlc2t0b3BTZXJ2aWNlc1ByaXYKMHg5NDNiNzAw
MCAtIDB4OTQzYzNmZTcgIGNvbS5hcHBsZS5vcGVuZ2wgMS41LjYgKDEuNS42KSA8MTI1ZGU3N2Vh
MjQzNGE5MTM2NGU3OWEwOTA1YTc3NzE+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL09wZW5H
TC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9PcGVuR0wKMHg5NDZlNjAwMCAtIDB4OTQ4YTFmZjMgIGNv
bS5hcHBsZS5RdWFydHpDb21wb3NlciAyLjEgKDEwNi41KSA8MWE1MmI0MDZhM2YzZDA0Mzg3Yzgy
MmRhNGE5M2MyNDU+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1F1YXJ0ei5mcmFtZXdvcmsv
VmVyc2lvbnMvQS9GcmFtZXdvcmtzL1F1YXJ0ekNvbXBvc2VyLmZyYW1ld29yay9WZXJzaW9ucy9B
L1F1YXJ0ekNvbXBvc2VyCjB4OTRiNjgwMDAgLSAweDk0YjllZmVmICBsaWJ0aWR5LkEuZHlsaWIg
Pz8/ICg/Pz8pIDxmMWQxNzQyZTA2MjgwNDQ0YmFhNTYzN2IyMDlmZDBhZj4gL3Vzci9saWIvbGli
dGlkeS5BLmR5bGliCjB4OTRiOWYwMDAgLSAweDk0YmEwZmZjICBsaWJmZmkuZHlsaWIgPz8/ICg/
Pz8pIDxhM2I1NzNlYjk1MGNhNTgzMjkwZjdiMmI0YzQ4NmQwOT4gL3Vzci9saWIvbGliZmZpLmR5
bGliCjB4OTRiYTEwMDAgLSAweDk0YmJjZmYzICBsaWJQbmcuZHlsaWIgPz8/ICg/Pz8pIDxjMDQ4
NGJlYzZlMjQzMmI0MDY3NTU1OTE5MjRmZTY2ND4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0ltYWdl
SU8uZnJhbWV3b3JrL1ZlcnNpb25zL0EvUmVzb3VyY2VzL2xpYlBuZy5keWxpYgoweDk0YmJkMDAw
IC0gMHg5NGJjYmZmZCAgbGliei4xLmR5bGliID8/PyAoPz8/KSA8NWRkZDg1MzlhZTJlYmZkOGU3
Y2MxYzU3NTI1Mzg1Yzc+IC91c3IvbGliL2xpYnouMS5keWxpYgoweDk0YmRhMDAwIC0gMHg5NGJm
OGZmMyAgY29tLmFwcGxlLkRpcmVjdG9yeVNlcnZpY2UuRnJhbWV3b3JrIDMuNS40ICgzLjUuNCkg
PGZlMjdlODBlMWE5ZTg2NDAzZmQ5ZWQxNmRjZmU0ZTExPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9EaXJlY3RvcnlTZXJ2aWNlLmZyYW1ld29yay9WZXJzaW9ucy9BL0RpcmVjdG9yeVNlcnZp
Y2UKMHg5NGJmOTAwMCAtIDB4OTRjOGNmZmYgIGNvbS5hcHBsZS5pbmsuZnJhbWV3b3JrIDEwMS4z
ICg4NikgPGJmM2ZhODkyN2I0YjhiYWFlOTIzODFhOTc2ZmQyMDc5PiAvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9JbmsuZnJh
bWV3b3JrL1ZlcnNpb25zL0EvSW5rCjB4OTRjOGQwMDAgLSAweDk0Y2I1ZmZmICBsaWJjdXBzLjIu
ZHlsaWIgPz8/ICg/Pz8pIDxlY2UyMGRmZjJhMmM4ZWQzYWU2ZWY3MzVlZjQ0MGMzNz4gL3Vzci9s
aWIvbGliY3Vwcy4yLmR5bGliCjB4OTRjYjYwMDAgLSAweDk0ZDVkZmViICBjb20uYXBwbGUuUUQg
My4xMS41MiAoPz8/KSA8YzcyYmQ3YmQyY2UxMjY5NGMzNjQwYTczMWQxYWQ4Nzg+IC9TeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL1ZlcnNpb25z
L0EvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9RRAoweDk0ZDVlMDAwIC0gMHg5
NGQ5NWZmZiAgY29tLmFwcGxlLlN5c3RlbUNvbmZpZ3VyYXRpb24gMS45LjIgKDEuOS4yKSA8OGIy
NmViZjI2YTAwOWEwOTg0ODRmMWVkMDFlYzQ5OWM+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L1N5c3RlbUNvbmZpZ3VyYXRpb24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvU3lzdGVtQ29uZmlndXJh
dGlvbgoweDk0ZDk2MDAwIC0gMHg5NGRmY2ZmYiAgY29tLmFwcGxlLklTU3VwcG9ydCAxLjcgKDM4
KSAvU3lzdGVtL0xpYnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvSVNTdXBwb3J0LmZyYW1ld29yay9W
ZXJzaW9ucy9BL0lTU3VwcG9ydAoweDk0ZGZkMDAwIC0gMHg5NGUxY2ZmYSAgbGliSlBFRy5keWxp
YiA/Pz8gKD8/PykgPDBjZmI4MDEwOWQ2MjRiZWI5Y2ViM2M0M2I2YzVlYzEwPiAvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9B
L0ZyYW1ld29ya3MvSW1hZ2VJTy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9SZXNvdXJjZXMvbGliSlBF
Ry5keWxpYgoweDk0ZjEyMDAwIC0gMHg5NTIxOWZmNyAgY29tLmFwcGxlLkhJVG9vbGJveCAxLjUu
MyAoPz8/KSA8ZTM2ZjVjNTUzZTVhMzJmNjRiN2ViNDU4ZGFkYWRjNzE+IC9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL0NhcmJvbi5mcmFtZXdvcmsvVmVyc2lvbnMvQS9GcmFtZXdvcmtzL0hJVG9v
bGJveC5mcmFtZXdvcmsvVmVyc2lvbnMvQS9ISVRvb2xib3gKMHg5NTIxYTAwMCAtIDB4OTUyNWJm
ZTcgIGxpYlJJUC5BLmR5bGliID8/PyAoPz8/KSA8OGMyY2Q0ZjA0NGIzNDEzZDc3MGNhOGFkNzQw
Zjc2NDU+IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJh
bWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9Db3JlR3JhcGhpY3MuZnJhbWV3b3JrL1ZlcnNp
b25zL0EvUmVzb3VyY2VzL2xpYlJJUC5BLmR5bGliCjB4OTUyNWMwMDAgLSAweDk1YTU5ZmVmICBj
b20uYXBwbGUuQXBwS2l0IDYuNS4zICg5NDkuMzMpIDw4NGIyMzZmNDM4MDJmNGMxNTAxMTUxM2Qx
OGVmYTEwMT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9WZXJz
aW9ucy9DL0FwcEtpdAoweDk1YTVhMDAwIC0gMHg5NWE1ZGZmZiAgY29tLmFwcGxlLmhlbHAgMS4x
ICgzNikgPGI1MDdiMDhlNDg0Y2I4OTAzM2U5Y2YyMzA2MmQ3N2RlPiAvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9IZWxwLmZy
YW1ld29yay9WZXJzaW9ucy9BL0hlbHAKMHg5NWE1ZTAwMCAtIDB4OTVhNjlmZTcgIGxpYkNTeW5j
LkEuZHlsaWIgPz8/ICg/Pz8pIDwzZjU4ZWI0ODcwOTliZmYwNDc2ZWM3OTk3NGQwYWQ0ZD4gL1N5
c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvVmVy
c2lvbnMvQS9GcmFtZXdvcmtzL0NvcmVHcmFwaGljcy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9SZXNv
dXJjZXMvbGliQ1N5bmMuQS5keWxpYgoweDk1YTZhMDAwIC0gMHg5NWE2ZmZmYiAgY29tLmFwcGxl
LkRpc3BsYXlTZXJ2aWNlc0ZXIDIuMCAoMi4wKSA8ODk1Mzg2NWY1M2U5NDAwMDdhNGU0YWM1Mzkw
ZDNjOTU+IC9TeXN0ZW0vTGlicmFyeS9Qcml2YXRlRnJhbWV3b3Jrcy9EaXNwbGF5U2VydmljZXMu
ZnJhbWV3b3JrL1ZlcnNpb25zL0EvRGlzcGxheVNlcnZpY2VzCjB4OTViM2IwMDAgLSAweDk1YjY2
ZmU3ICBsaWJhdXRvLmR5bGliID8/PyAoPz8/KSA8NDJkODQyMmRjMjNhMTgwNzE4NjlmZGY3YjVk
OGZhYjU+IC91c3IvbGliL2xpYmF1dG8uZHlsaWIKMHg5NWI2NzAwMCAtIDB4OTVlNDFmZjMgIGNv
bS5hcHBsZS5Db3JlU2VydmljZXMuQ2FyYm9uQ29yZSA3ODYuNiAoNzg2LjYpIDxiYzdjMTJjODRm
ZTIxYWUyNjI2YmRkMTcwNzBhYWFmYT4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVNl
cnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29ya3MvQ2FyYm9uQ29yZS5mcmFtZXdv
cmsvVmVyc2lvbnMvQS9DYXJib25Db3JlCjB4OTVlNDIwMDAgLSAweDk1ZTQyZmY4ICBjb20uYXBw
bGUuQXBwbGljYXRpb25TZXJ2aWNlcyAzNCAoMzQpIDw4ZjkxMGZhNjVmMDFkNDAxYWQ4ZDA0Y2M5
MzNjZjg4Nz4gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5m
cmFtZXdvcmsvVmVyc2lvbnMvQS9BcHBsaWNhdGlvblNlcnZpY2VzCjB4OTVlNDMwMDAgLSAweDk1
ZWM1ZmYzICBjb20uYXBwbGUuQ0ZOZXR3b3JrIDMzMC40ICgzMzAuNCkgPGNlNWIwODVkZjM0YTc4
YjdmMTk4YWZmOWRiNWI1MmVjPiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlU2Vydmlj
ZXMuZnJhbWV3b3JrL1ZlcnNpb25zL0EvRnJhbWV3b3Jrcy9DRk5ldHdvcmsuZnJhbWV3b3JrL1Zl
cnNpb25zL0EvQ0ZOZXR3b3JrCjB4OTVlYzYwMDAgLSAweDk1ZjFmZmY3ICBsaWJHTFUuZHlsaWIg
Pz8/ICg/Pz8pIC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL09wZW5HTC5mcmFtZXdvcmsvVmVy
c2lvbnMvQS9MaWJyYXJpZXMvbGliR0xVLmR5bGliCjB4OTVmMjAwMDAgLSAweDk1ZjIyZmZmICBj
b20uYXBwbGUuQ3Jhc2hSZXBvcnRlclN1cHBvcnQgMTAuNS4wICgxNTYpIDwzMDg4Yjc4NWIxMGQw
MzUwNGVkMDJmM2ZlZTVkM2FhYj4gL1N5c3RlbS9MaWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL0Ny
YXNoUmVwb3J0ZXJTdXBwb3J0LmZyYW1ld29yay9WZXJzaW9ucy9BL0NyYXNoUmVwb3J0ZXJTdXBw
b3J0CjB4OTYwMDQwMDAgLSAweDk2MDhiZmY3ICBsaWJzcWxpdGUzLjAuZHlsaWIgPz8/ICg/Pz8p
IDw2OTc4YmJjY2E0Mjc3ZDZhZTlmMDQyYmVmZjY0M2Y3ZD4gL3Vzci9saWIvbGlic3FsaXRlMy4w
LmR5bGliCjB4OTcxZDIwMDAgLSAweDk3MWQ0ZmY1ICBsaWJSYWRpYW5jZS5keWxpYiA/Pz8gKD8/
PykgPDIwZWFkYjI4NWRhODNkZjk2Yzc5NWMyYzVmYTIwNTkwPiAvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9WZXJzaW9ucy9BL0ZyYW1ld29y
a3MvSW1hZ2VJTy5mcmFtZXdvcmsvVmVyc2lvbnMvQS9SZXNvdXJjZXMvbGliUmFkaWFuY2UuZHls
aWIKMHg5NzFkNTAwMCAtIDB4OTcyYjRmZmYgIGxpYm9iamMuQS5keWxpYiA/Pz8gKD8/PykgPGE1
MzIwNjI3NGI2YzJkNDI2OTFmNjc3ODYzZjM3OWFlPiAvdXNyL2xpYi9saWJvYmpjLkEuZHlsaWIK
MHg5NzJiNTAwMCAtIDB4OTczOTZmZjcgIGxpYnhtbDIuMi5keWxpYiA/Pz8gKD8/PykgPGRlMzRl
YjliNDNlYjdkNGE0ZTBiN2YyNTUyOWVmYTEyPiAvdXNyL2xpYi9saWJ4bWwyLjIuZHlsaWIKMHhi
YTkwMDAwMCAtIDB4YmE5MTZmZmYgIGxpYkphcGFuZXNlQ29udmVydGVyLmR5bGliID8/PyAoPz8/
KSA8N2IwMjQ4YzM5Mjg0ODMzOGY1ZDZlZDA5MzMxM2VlZWY+IC9TeXN0ZW0vTGlicmFyeS9Db3Jl
U2VydmljZXMvRW5jb2RpbmdzL2xpYkphcGFuZXNlQ29udmVydGVyLmR5bGliCjB4YmFiMDAwMDAg
LSAweGJhYjIxZmUyICBsaWJLb3JlYW5Db252ZXJ0ZXIuZHlsaWIgPz8/ICg/Pz8pIDw1MTU4NmI4
ZDllZjM5MTIzZmJlNjkxOGYxMmQ4Mjg1Zj4gL1N5c3RlbS9MaWJyYXJ5L0NvcmVTZXJ2aWNlcy9F
bmNvZGluZ3MvbGliS29yZWFuQ29udmVydGVyLmR5bGliCjB4ZmZmZTgwMDAgLSAweGZmZmViZmZm
ICBsaWJvYmpjLkEuZHlsaWIgPz8/ICg/Pz8pIC91c3IvbGliL2xpYm9iamMuQS5keWxpYgoweGZm
ZmYwMDAwIC0gMHhmZmZmMTc4MCAgbGliU3lzdGVtLkIuZHlsaWIgPz8/ICg/Pz8pIC91c3IvbGli
L2xpYlN5c3RlbS5CLmR5bGliCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>23494</attachid>
            <date>2008-09-16 17:48:07 -0700</date>
            <delta_ts>2008-09-16 17:48:07 -0700</delta_ts>
            <desc>Reduction</desc>
            <filename>reduction.html</filename>
            <type>text/html</type>
            <size>75</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">PHNjcmlwdD4KZnVuY3Rpb24gZigpCnsKICAgIG8gPSBuZXcgQ29uc3RydWN0b3JbbV0obSk7Cn0K
ICAKZigpOwo8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23495</attachid>
            <date>2008-09-16 19:27:34 -0700</date>
            <delta_ts>2008-09-16 19:51:22 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>finaldest.diff</filename>
            <type>text/plain</type>
            <size>17907</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM2NTI2
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDUgQEAKKzIwMDgtMDkt
MTYgIENhbWVyb24gWndhcmljaCAgPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIDIwODU3OiBSRUdSRVNT
SU9OIChyMzY0MjcpOiBBU1NFUlRJT04gRkFJTEVEOiBtX3JlZkNvdW50ID49IDAgaW4gUmVnaXN0
ZXJJRDo6ZGVyZWYoKQorICAgICAgICA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwODU3PgorCisgICAgICAgIEJ1ZyAyMDM0MDogU2VnbWVudGVkVmVjdG9yIHNlZ21l
bnQgYWxsb2NhdGlvbnMgY2FuIGxlYWQgdG8gdW5zYWZlIHVzZSBvZiB0ZW1wb3JhcnkgcmVnaXN0
ZXJzCisgICAgICAgIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAz
NDA+CisKKyAgICAgICAgQ29ycmVjdCB0aGUgaW5jb3JyZWN0IGJlaGF2aW91ciBvZiBDb2RlR2Vu
ZXJhdG9yOjpmaW5hbERlc3RpbmF0aW9uKCkgaW4KKyAgICAgICAgcHJlc2VuY2Ugb2YgYSBsaXZl
IHRlbXBvcmFyeSByZWdpc3RlciB3aXRob3V0IGEgcmVmZXJlbmNlIGNvdW50LiBUaGlzCisgICAg
ICAgIHdhcyBhbHdheXMgdGhlb3JldGljYWxseSBhIHByb2JsZW0gd2hlbiB1c2luZyBTZWdtZW50
ZWRWZWN0b3Igd2l0aAorICAgICAgICBjZXJ0YWluIGFsbG9jYXRvcnMsIGJ1dCByZWNlbnQgY2hh
bmdlcyB0byB0aGUgd2F5IHRoYXQgQ29kZUdlbmVyYXRvcidzCisgICAgICAgIGVtaXRDb25zdHJ1
Y3QoKSBtZXRob2QgaGFuZGxlcyBpdHMgYXJndW1lbnRzIGV4cG9zZWQgaXQgaW4gZGVidWcgYnVp
bGRzLAorICAgICAgICByZWdhcmRsZXNzIG9mIHRoZSBhbGxvY2F0b3IuCisKKyAgICAgICAgKiBW
TS9Db2RlR2VuZXJhdG9yLmg6CisgICAgICAgIChKU0M6OkNvZGVHZW5lcmF0b3I6OmZpbmFsRGVz
dGluYXRpb24pOgorICAgICAgICAqIGtqcy9ub2Rlcy5jcHA6CisgICAgICAgIChKU0M6OkJyYWNr
ZXRBY2Nlc3Nvck5vZGU6OmVtaXRDb2RlKToKKyAgICAgICAgKEpTQzo6RG90QWNjZXNzb3JOb2Rl
OjplbWl0Q29kZSk6CisgICAgICAgIChKU0M6Ok5ld0V4cHJOb2RlOjplbWl0Q29kZSk6CisgICAg
ICAgIChKU0M6OkV2YWxGdW5jdGlvbkNhbGxOb2RlOjplbWl0Q29kZSk6CisgICAgICAgIChKU0M6
OkZ1bmN0aW9uQ2FsbFZhbHVlTm9kZTo6ZW1pdENvZGUpOgorICAgICAgICAoSlNDOjpGdW5jdGlv
bkNhbGxSZXNvbHZlTm9kZTo6ZW1pdENvZGUpOgorICAgICAgICAoSlNDOjpGdW5jdGlvbkNhbGxC
cmFja2V0Tm9kZTo6ZW1pdENvZGUpOgorICAgICAgICAoSlNDOjpGdW5jdGlvbkNhbGxEb3ROb2Rl
OjplbWl0Q29kZSk6CisgICAgICAgIChKU0M6OkRlbGV0ZUJyYWNrZXROb2RlOjplbWl0Q29kZSk6
CisgICAgICAgIChKU0M6OkRlbGV0ZURvdE5vZGU6OmVtaXRDb2RlKToKKyAgICAgICAgKEpTQzo6
VHlwZU9mVmFsdWVOb2RlOjplbWl0Q29kZSk6CisgICAgICAgIChKU0M6OlVuYXJ5T3BOb2RlOjpl
bWl0Q29kZSk6CisgICAgICAgIChKU0M6OkJpbmFyeU9wTm9kZTo6ZW1pdENvZGUpOgorICAgICAg
ICAoSlNDOjpFcXVhbE5vZGU6OmVtaXRDb2RlKToKKyAgICAgICAgKEpTQzo6U3RyaWN0RXF1YWxO
b2RlOjplbWl0Q29kZSk6CisgICAgICAgIChKU0M6OlJldmVyc2VCaW5hcnlPcE5vZGU6OmVtaXRD
b2RlKToKKyAgICAgICAgKEpTQzo6VGhyb3dhYmxlQmluYXJ5T3BOb2RlOjplbWl0Q29kZSk6Cisg
ICAgICAgIChKU0M6Okluc3RhbmNlT2ZOb2RlOjplbWl0Q29kZSk6CisgICAgICAgIChKU0M6OlJl
YWRNb2RpZnlSZXNvbHZlTm9kZTo6ZW1pdENvZGUpOgorICAgICAgICAoSlNDOjpSZWFkTW9kaWZ5
RG90Tm9kZTo6ZW1pdENvZGUpOgorICAgICAgICAoSlNDOjpSZWFkTW9kaWZ5QnJhY2tldE5vZGU6
OmVtaXRDb2RlKToKKwogMjAwOC0wOS0xNiAgQWxpY2UgTGl1ICA8YWxpY2UubGl1QGFwcGxlLmNv
bT4KIAogICAgICAgICBidWlsZCBmaXguCkluZGV4OiBWTS9Db2RlR2VuZXJhdG9yLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVk0vQ29kZUdlbmVyYXRvci5oCShyZXZpc2lvbiAzNjUyMSkKKysrIFZNL0NvZGVH
ZW5lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMTM1LDEzICsxMzUsMTYgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIH0KIAogICAgICAgICAvLyBSZXR1cm5zIHRoZSBwbGFjZSB0byB3cml0
ZSB0aGUgZmluYWwgb3V0cHV0IG9mIGFuIG9wZXJhdGlvbi4KLSAgICAgICAgUmVnaXN0ZXJJRCog
ZmluYWxEZXN0aW5hdGlvbihSZWdpc3RlcklEKiBvcmlnaW5hbERzdCwgUmVnaXN0ZXJJRCogdGVt
cERzdCA9IDApCisgICAgICAgIFJlZ2lzdGVySUQqIGZpbmFsRGVzdGluYXRpb24oUmVnaXN0ZXJJ
RCogb3JpZ2luYWxEc3QsIFJlZ2lzdGVySUQqIGRlc2lyZWREc3QgPSAwLCBSZWdpc3RlcklEKiBs
aXZlVGVtcCA9IDApCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmIChvcmlnaW5hbERzdCAmJiBv
cmlnaW5hbERzdCAhPSBpZ25vcmVkUmVzdWx0KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG9y
aWdpbmFsRHN0OwotICAgICAgICAgICAgQVNTRVJUKHRlbXBEc3QgIT0gaWdub3JlZFJlc3VsdCgp
KTsKLSAgICAgICAgICAgIGlmICh0ZW1wRHN0ICYmIHRlbXBEc3QtPmlzVGVtcG9yYXJ5KCkpCi0g
ICAgICAgICAgICAgICAgcmV0dXJuIHRlbXBEc3Q7CisgICAgICAgICAgICBBU1NFUlQoZGVzaXJl
ZERzdCAhPSBpZ25vcmVkUmVzdWx0KCkpOworICAgICAgICAgICAgaWYgKGRlc2lyZWREc3QgJiYg
ZGVzaXJlZERzdC0+aXNUZW1wb3JhcnkoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZGVzaXJl
ZERzdDsKKyAgICAgICAgICAgIEFTU0VSVChsaXZlVGVtcCAhPSBpZ25vcmVkUmVzdWx0KCkpOwor
ICAgICAgICAgICAgaWYgKGxpdmVUZW1wICYmIGxpdmVUZW1wLT5pc1RlbXBvcmFyeSgpKQorICAg
ICAgICAgICAgICAgIHJldHVybiBsaXZlVGVtcDsKICAgICAgICAgICAgIHJldHVybiBuZXdUZW1w
b3JhcnkoKTsKICAgICAgICAgfQogCkluZGV4OiBranMvbm9kZXMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IGtqcy9ub2Rlcy5jcHAJKHJldmlzaW9uIDM2NTIxKQorKysga2pzL25vZGVzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzgyLDcgKzM4Miw3IEBAIFJlZ2lzdGVySUQqIEJyYWNrZXRBY2Nlc3Nvck5v
ZGU6OmVtaXRDb2QKICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gYmFzZSA9IGdlbmVyYXRvci5lbWl0
Tm9kZUZvckxlZnRIYW5kU2lkZShtX2Jhc2UuZ2V0KCksIG1fc3Vic2NyaXB0SGFzQXNzaWdubWVu
dHMsIG1fc3Vic2NyaXB0LT5pc1B1cmUoZ2VuZXJhdG9yKSk7CiAgICAgUmVnaXN0ZXJJRCogcHJv
cGVydHkgPSBnZW5lcmF0b3IuZW1pdE5vZGUobV9zdWJzY3JpcHQuZ2V0KCkpOwogICAgIGdlbmVy
YXRvci5lbWl0RXhwcmVzc2lvbkluZm8obV9kaXZvdCwgbV9zdGFydE9mZnNldCwgbV9lbmRPZmZz
ZXQpOwotICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdEdldEJ5VmFsKGdlbmVyYXRvci5maW5hbERl
c3RpbmF0aW9uKGRzdCksIGJhc2UuZ2V0KCksIHByb3BlcnR5KTsKKyAgICByZXR1cm4gZ2VuZXJh
dG9yLmVtaXRHZXRCeVZhbChnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QsIGJhc2UuZ2V0
KCksIHByb3BlcnR5KSwgYmFzZS5nZXQoKSwgcHJvcGVydHkpOwogfQogCiAvLyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gRG90QWNjZXNzb3JOb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCkBAIC0zOTEsNyArMzkxLDcgQEAgUmVnaXN0ZXJJRCogRG90QWNjZXNzb3JO
b2RlOjplbWl0Q29kZShDbwogewogICAgIFJlZ2lzdGVySUQqIGJhc2UgPSBnZW5lcmF0b3IuZW1p
dE5vZGUobV9iYXNlLmdldCgpKTsKICAgICBnZW5lcmF0b3IuZW1pdEV4cHJlc3Npb25JbmZvKG1f
ZGl2b3QsIG1fc3RhcnRPZmZzZXQsIG1fZW5kT2Zmc2V0KTsKLSAgICByZXR1cm4gZ2VuZXJhdG9y
LmVtaXRHZXRCeUlkKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIGJhc2UsIG1faWRl
bnQpOworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdEdldEJ5SWQoZ2VuZXJhdG9yLmZpbmFsRGVz
dGluYXRpb24oZHN0LCBiYXNlKSwgYmFzZSwgbV9pZGVudCk7CiB9CiAKIC8vIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSBBcmd1bWVudExpc3ROb2RlIC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCkBAIC00MDgsNyArNDA4LDcgQEAgUmVnaXN0ZXJJRCogTmV3RXhwck5vZGU6OmVt
aXRDb2RlKENvZGVHZQogewogICAgIFJlZ2lzdGVySUQqIHIwID0gZ2VuZXJhdG9yLmVtaXROb2Rl
KG1fZXhwci5nZXQoKSk7CiAgICAgZ2VuZXJhdG9yLmVtaXRFeHByZXNzaW9uSW5mbyhtX2Rpdm90
LCBtX3N0YXJ0T2Zmc2V0LCBtX2VuZE9mZnNldCk7Ci0gICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0
Q29uc3RydWN0KGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHIwLCBtX2FyZ3MuZ2V0
KCkpOworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdENvbnN0cnVjdChnZW5lcmF0b3IuZmluYWxE
ZXN0aW5hdGlvbihkc3QsIHIwKSwgcjAsIG1fYXJncy5nZXQoKSk7CiB9CiAKIFJlZ2lzdGVySUQq
IEV2YWxGdW5jdGlvbkNhbGxOb2RlOjplbWl0Q29kZShDb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3Is
IFJlZ2lzdGVySUQqIGRzdCkKQEAgLTQxNiwxMyArNDE2LDEzIEBAIFJlZ2lzdGVySUQqIEV2YWxG
dW5jdGlvbkNhbGxOb2RlOjplbWl0Q28KICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gYmFzZSA9IGdl
bmVyYXRvci50ZW1wRGVzdGluYXRpb24oZHN0KTsKICAgICBSZWdpc3RlcklEKiBmdW5jID0gZ2Vu
ZXJhdG9yLm5ld1RlbXBvcmFyeSgpOwogICAgIGdlbmVyYXRvci5lbWl0UmVzb2x2ZVdpdGhCYXNl
KGJhc2UuZ2V0KCksIGZ1bmMsIGdlbmVyYXRvci5wcm9wZXJ0eU5hbWVzKCkuZXZhbCk7Ci0gICAg
cmV0dXJuIGdlbmVyYXRvci5lbWl0Q2FsbEV2YWwoZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24o
ZHN0LCBiYXNlLmdldCgpKSwgZnVuYywgYmFzZS5nZXQoKSwgbV9hcmdzLmdldCgpLCBtX2Rpdm90
LCBtX3N0YXJ0T2Zmc2V0LCBtX2VuZE9mZnNldCk7CisgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0
Q2FsbEV2YWwoZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0LCBiYXNlLmdldCgpLCBmdW5j
KSwgZnVuYywgYmFzZS5nZXQoKSwgbV9hcmdzLmdldCgpLCBtX2Rpdm90LCBtX3N0YXJ0T2Zmc2V0
LCBtX2VuZE9mZnNldCk7CiB9CiAKIFJlZ2lzdGVySUQqIEZ1bmN0aW9uQ2FsbFZhbHVlTm9kZTo6
ZW1pdENvZGUoQ29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCiB7CiAg
ICAgUmVnaXN0ZXJJRCogZnVuYyA9IGdlbmVyYXRvci5lbWl0Tm9kZShtX2V4cHIuZ2V0KCkpOwot
ICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdENhbGwoZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24o
ZHN0KSwgZnVuYywgMCwgbV9hcmdzLmdldCgpLCBtX2Rpdm90LCBtX3N0YXJ0T2Zmc2V0LCBtX2Vu
ZE9mZnNldCk7CisgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0Q2FsbChnZW5lcmF0b3IuZmluYWxE
ZXN0aW5hdGlvbihkc3QsIGZ1bmMpLCBmdW5jLCAwLCBtX2FyZ3MuZ2V0KCksIG1fZGl2b3QsIG1f
c3RhcnRPZmZzZXQsIG1fZW5kT2Zmc2V0KTsKIH0KIAogUmVnaXN0ZXJJRCogRnVuY3Rpb25DYWxs
UmVzb2x2ZU5vZGU6OmVtaXRDb2RlKENvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJ
RCogZHN0KQpAQCAtNDM1LDcgKzQzNSw3IEBAIFJlZ2lzdGVySUQqIEZ1bmN0aW9uQ2FsbFJlc29s
dmVOb2RlOjplbWkKICAgICBKU1ZhbHVlKiBnbG9iYWxPYmplY3QgPSAwOwogICAgIGlmIChnZW5l
cmF0b3IuZmluZFNjb3BlZFByb3BlcnR5KG1faWRlbnQsIGluZGV4LCBkZXB0aCwgZmFsc2UsIGds
b2JhbE9iamVjdCkgJiYgaW5kZXggIT0gbWlzc2luZ1N5bWJvbE1hcmtlcigpKSB7CiAgICAgICAg
IFJlZ2lzdGVySUQqIGZ1bmMgPSBnZW5lcmF0b3IuZW1pdEdldFNjb3BlZFZhcihnZW5lcmF0b3Iu
bmV3VGVtcG9yYXJ5KCksIGRlcHRoLCBpbmRleCwgZ2xvYmFsT2JqZWN0KTsKLSAgICAgICAgcmV0
dXJuIGdlbmVyYXRvci5lbWl0Q2FsbChnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCBm
dW5jLCAwLCBtX2FyZ3MuZ2V0KCksIG1fZGl2b3QsIG1fc3RhcnRPZmZzZXQsIG1fZW5kT2Zmc2V0
KTsKKyAgICAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0Q2FsbChnZW5lcmF0b3IuZmluYWxEZXN0
aW5hdGlvbihkc3QsIGZ1bmMpLCBmdW5jLCAwLCBtX2FyZ3MuZ2V0KCksIG1fZGl2b3QsIG1fc3Rh
cnRPZmZzZXQsIG1fZW5kT2Zmc2V0KTsKICAgICB9CiAKICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4g
YmFzZSA9IGdlbmVyYXRvci50ZW1wRGVzdGluYXRpb24oZHN0KTsKQEAgLTQ0Myw3ICs0NDMsNyBA
QCBSZWdpc3RlcklEKiBGdW5jdGlvbkNhbGxSZXNvbHZlTm9kZTo6ZW1pCiAgICAgaW50IGlkZW50
aWZpZXJTdGFydCA9IG1fZGl2b3QgLSBtX3N0YXJ0T2Zmc2V0OwogICAgIGdlbmVyYXRvci5lbWl0
RXhwcmVzc2lvbkluZm8oaWRlbnRpZmllclN0YXJ0ICsgbV9pZGVudC5zaXplKCksIG1faWRlbnQu
c2l6ZSgpLCAwKTsKICAgICBnZW5lcmF0b3IuZW1pdFJlc29sdmVGdW5jdGlvbihiYXNlLmdldCgp
LCBmdW5jLCBtX2lkZW50KTsKLSAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRDYWxsKGdlbmVyYXRv
ci5maW5hbERlc3RpbmF0aW9uKGRzdCwgYmFzZS5nZXQoKSksIGZ1bmMsIGJhc2UuZ2V0KCksIG1f
YXJncy5nZXQoKSwgbV9kaXZvdCwgbV9zdGFydE9mZnNldCwgbV9lbmRPZmZzZXQpOworICAgIHJl
dHVybiBnZW5lcmF0b3IuZW1pdENhbGwoZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0LCBi
YXNlLmdldCgpLCBmdW5jKSwgZnVuYywgYmFzZS5nZXQoKSwgbV9hcmdzLmdldCgpLCBtX2Rpdm90
LCBtX3N0YXJ0T2Zmc2V0LCBtX2VuZE9mZnNldCk7CiB9CiAKIFJlZ2lzdGVySUQqIEZ1bmN0aW9u
Q2FsbEJyYWNrZXROb2RlOjplbWl0Q29kZShDb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lz
dGVySUQqIGRzdCkKQEAgLTQ1Miw3ICs0NTIsNyBAQCBSZWdpc3RlcklEKiBGdW5jdGlvbkNhbGxC
cmFja2V0Tm9kZTo6ZW1pCiAgICAgUmVnaXN0ZXJJRCogcHJvcGVydHkgPSBnZW5lcmF0b3IuZW1p
dE5vZGUobV9zdWJzY3JpcHQuZ2V0KCkpOwogICAgIGdlbmVyYXRvci5lbWl0RXhwcmVzc2lvbklu
Zm8obV9kaXZvdCAtIG1fc3ViZXhwcmVzc2lvbkRpdm90T2Zmc2V0LCBtX3N0YXJ0T2Zmc2V0IC0g
bV9zdWJleHByZXNzaW9uRGl2b3RPZmZzZXQsIG1fc3ViZXhwcmVzc2lvbkVuZE9mZnNldCk7CiAg
ICAgUmVnaXN0ZXJJRCogZnVuY3Rpb24gPSBnZW5lcmF0b3IuZW1pdEdldEJ5VmFsKGdlbmVyYXRv
ci5uZXdUZW1wb3JhcnkoKSwgYmFzZS5nZXQoKSwgcHJvcGVydHkpOwotICAgIHJldHVybiBnZW5l
cmF0b3IuZW1pdENhbGwoZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0LCBiYXNlLmdldCgp
KSwgZnVuY3Rpb24sIGJhc2UuZ2V0KCksIG1fYXJncy5nZXQoKSwgbV9kaXZvdCwgbV9zdGFydE9m
ZnNldCwgbV9lbmRPZmZzZXQpOworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdENhbGwoZ2VuZXJh
dG9yLmZpbmFsRGVzdGluYXRpb24oZHN0LCBiYXNlLmdldCgpLCBmdW5jdGlvbiksIGZ1bmN0aW9u
LCBiYXNlLmdldCgpLCBtX2FyZ3MuZ2V0KCksIG1fZGl2b3QsIG1fc3RhcnRPZmZzZXQsIG1fZW5k
T2Zmc2V0KTsKIH0KIAogUmVnaXN0ZXJJRCogRnVuY3Rpb25DYWxsRG90Tm9kZTo6ZW1pdENvZGUo
Q29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCkBAIC00NjAsNyArNDYw
LDcgQEAgUmVnaXN0ZXJJRCogRnVuY3Rpb25DYWxsRG90Tm9kZTo6ZW1pdENvZAogICAgIFJlZlB0
cjxSZWdpc3RlcklEPiBiYXNlID0gZ2VuZXJhdG9yLmVtaXROb2RlKG1fYmFzZS5nZXQoKSk7CiAg
ICAgZ2VuZXJhdG9yLmVtaXRFeHByZXNzaW9uSW5mbyhtX2Rpdm90IC0gbV9zdWJleHByZXNzaW9u
RGl2b3RPZmZzZXQsIG1fc3RhcnRPZmZzZXQgLSBtX3N1YmV4cHJlc3Npb25EaXZvdE9mZnNldCwg
bV9zdWJleHByZXNzaW9uRW5kT2Zmc2V0KTsKICAgICBSZWdpc3RlcklEKiBmdW5jdGlvbiA9IGdl
bmVyYXRvci5lbWl0R2V0QnlJZChnZW5lcmF0b3IubmV3VGVtcG9yYXJ5KCksIGJhc2UuZ2V0KCks
IG1faWRlbnQpOwotICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdENhbGwoZ2VuZXJhdG9yLmZpbmFs
RGVzdGluYXRpb24oZHN0LCBiYXNlLmdldCgpKSwgZnVuY3Rpb24sIGJhc2UuZ2V0KCksIG1fYXJn
cy5nZXQoKSwgbV9kaXZvdCwgbV9zdGFydE9mZnNldCwgbV9lbmRPZmZzZXQpOworICAgIHJldHVy
biBnZW5lcmF0b3IuZW1pdENhbGwoZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0LCBiYXNl
LmdldCgpLCBmdW5jdGlvbiksIGZ1bmN0aW9uLCBiYXNlLmdldCgpLCBtX2FyZ3MuZ2V0KCksIG1f
ZGl2b3QsIG1fc3RhcnRPZmZzZXQsIG1fZW5kT2Zmc2V0KTsKIH0KIAogLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tIFBvc3RmaXhSZXNvbHZlTm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCkBAIC01OTMsNyArNTkzLDcgQEAgUmVnaXN0ZXJJRCogRGVsZXRlQnJh
Y2tldE5vZGU6OmVtaXRDb2RlKAogICAgIFJlZ2lzdGVySUQqIHIxID0gZ2VuZXJhdG9yLmVtaXRO
b2RlKG1fc3Vic2NyaXB0LmdldCgpKTsKIAogICAgIGdlbmVyYXRvci5lbWl0RXhwcmVzc2lvbklu
Zm8obV9kaXZvdCwgbV9zdGFydE9mZnNldCwgbV9lbmRPZmZzZXQpOwotICAgIHJldHVybiBnZW5l
cmF0b3IuZW1pdERlbGV0ZUJ5VmFsKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHIw
LmdldCgpLCByMSk7CisgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0RGVsZXRlQnlWYWwoZ2VuZXJh
dG9yLmZpbmFsRGVzdGluYXRpb24oZHN0LCByMC5nZXQoKSwgcjEpLCByMC5nZXQoKSwgcjEpOwog
fQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRGVsZXRlRG90Tm9kZSAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtNjAzLDcgKzYwMyw3IEBAIFJlZ2lz
dGVySUQqIERlbGV0ZURvdE5vZGU6OmVtaXRDb2RlKENvZGUKICAgICBSZWdpc3RlcklEKiByMCA9
IGdlbmVyYXRvci5lbWl0Tm9kZShtX2Jhc2UuZ2V0KCkpOwogCiAgICAgZ2VuZXJhdG9yLmVtaXRF
eHByZXNzaW9uSW5mbyhtX2Rpdm90LCBtX3N0YXJ0T2Zmc2V0LCBtX2VuZE9mZnNldCk7Ci0gICAg
cmV0dXJuIGdlbmVyYXRvci5lbWl0RGVsZXRlQnlJZChnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlv
bihkc3QpLCByMCwgbV9pZGVudCk7CisgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0RGVsZXRlQnlJ
ZChnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QsIHIwKSwgcjAsIG1faWRlbnQpOwogfQog
CiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRGVsZXRlVmFsdWVOb2RlIC0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC02NTMsOCArNjUzLDggQEAgUmVnaXN0
ZXJJRCogVHlwZU9mVmFsdWVOb2RlOjplbWl0Q29kZShDbwogICAgICAgICBnZW5lcmF0b3IuZW1p
dE5vZGUoaWdub3JlZFJlc3VsdCgpLCBtX2V4cHIuZ2V0KCkpOwogICAgICAgICByZXR1cm4gMDsK
ICAgICB9Ci0gICAgUmVmUHRyPFJlZ2lzdGVySUQ+IHNyYyA9IGdlbmVyYXRvci5lbWl0Tm9kZSht
X2V4cHIuZ2V0KCkpOwotICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdFR5cGVPZihnZW5lcmF0b3Iu
ZmluYWxEZXN0aW5hdGlvbihkc3QpLCBzcmMuZ2V0KCkpOworICAgIFJlZ2lzdGVySUQqIHNyYyA9
IGdlbmVyYXRvci5lbWl0Tm9kZShtX2V4cHIuZ2V0KCkpOworICAgIHJldHVybiBnZW5lcmF0b3Iu
ZW1pdFR5cGVPZihnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QsIHNyYyksIHNyYyk7CiB9
CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQcmVmaXhSZXNvbHZlTm9kZSAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC03NDAsNyArNzQwLDcgQEAgUmVn
aXN0ZXJJRCogUHJlZml4RXJyb3JOb2RlOjplbWl0Q29kZShDbwogUmVnaXN0ZXJJRCogVW5hcnlP
cE5vZGU6OmVtaXRDb2RlKENvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0
KQogewogICAgIFJlZ2lzdGVySUQqIHNyYyA9IGdlbmVyYXRvci5lbWl0Tm9kZShtX2V4cHIuZ2V0
KCkpOwotICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdFVuYXJ5T3Aob3Bjb2RlKCksIGdlbmVyYXRv
ci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHNyYyk7CisgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0
VW5hcnlPcChvcGNvZGUoKSwgZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0LCBzcmMpLCBz
cmMpOwogfQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQmluYXJ5IE9wZXJh
dGlvbiBOb2RlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtNzU3LDcg
Kzc1Nyw3IEBAIFJlZ2lzdGVySUQqIEJpbmFyeU9wTm9kZTo6ZW1pdENvZGUoQ29kZUcKIAogICAg
IFJlZlB0cjxSZWdpc3RlcklEPiBzcmMxID0gZ2VuZXJhdG9yLmVtaXROb2RlRm9yTGVmdEhhbmRT
aWRlKG1fZXhwcjEuZ2V0KCksIG1fcmlnaHRIYXNBc3NpZ25tZW50cywgbV9leHByMi0+aXNQdXJl
KGdlbmVyYXRvcikpOwogICAgIFJlZ2lzdGVySUQqIHNyYzIgPSBnZW5lcmF0b3IuZW1pdE5vZGUo
bV9leHByMi5nZXQoKSk7Ci0gICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0QmluYXJ5T3Aob3Bjb2Rl
LCBnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QsIHNyYzEuZ2V0KCkpLCBzcmMxLmdldCgp
LCBzcmMyKTsKKyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRCaW5hcnlPcChvcGNvZGUsIGdlbmVy
YXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCwgc3JjMS5nZXQoKSwgc3JjMiksIHNyYzEuZ2V0KCks
IHNyYzIpOwogfQogCiBSZWdpc3RlcklEKiBFcXVhbE5vZGU6OmVtaXRDb2RlKENvZGVHZW5lcmF0
b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQpAQCAtNzY5LDIxICs3NjksMjEgQEAgUmVn
aXN0ZXJJRCogRXF1YWxOb2RlOjplbWl0Q29kZShDb2RlR2VuZQogCiAgICAgUmVmUHRyPFJlZ2lz
dGVySUQ+IHNyYzEgPSBnZW5lcmF0b3IuZW1pdE5vZGVGb3JMZWZ0SGFuZFNpZGUobV9leHByMS5n
ZXQoKSwgbV9yaWdodEhhc0Fzc2lnbm1lbnRzLCBtX2V4cHIyLT5pc1B1cmUoZ2VuZXJhdG9yKSk7
CiAgICAgUmVnaXN0ZXJJRCogc3JjMiA9IGdlbmVyYXRvci5lbWl0Tm9kZShtX2V4cHIyLmdldCgp
KTsKLSAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRFcXVhbGl0eU9wKG9wX2VxLCBnZW5lcmF0b3Iu
ZmluYWxEZXN0aW5hdGlvbihkc3QsIHNyYzEuZ2V0KCkpLCBzcmMxLmdldCgpLCBzcmMyKTsKKyAg
ICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRFcXVhbGl0eU9wKG9wX2VxLCBnZW5lcmF0b3IuZmluYWxE
ZXN0aW5hdGlvbihkc3QsIHNyYzEuZ2V0KCksIHNyYzIpLCBzcmMxLmdldCgpLCBzcmMyKTsKIH0K
IAogUmVnaXN0ZXJJRCogU3RyaWN0RXF1YWxOb2RlOjplbWl0Q29kZShDb2RlR2VuZXJhdG9yJiBn
ZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKIHsKICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gc3Jj
MSA9IGdlbmVyYXRvci5lbWl0Tm9kZUZvckxlZnRIYW5kU2lkZShtX2V4cHIxLmdldCgpLCBtX3Jp
Z2h0SGFzQXNzaWdubWVudHMsIG1fZXhwcjItPmlzUHVyZShnZW5lcmF0b3IpKTsKICAgICBSZWdp
c3RlcklEKiBzcmMyID0gZ2VuZXJhdG9yLmVtaXROb2RlKG1fZXhwcjIuZ2V0KCkpOwotICAgIHJl
dHVybiBnZW5lcmF0b3IuZW1pdEVxdWFsaXR5T3Aob3Bfc3RyaWN0ZXEsIGdlbmVyYXRvci5maW5h
bERlc3RpbmF0aW9uKGRzdCwgc3JjMS5nZXQoKSksIHNyYzEuZ2V0KCksIHNyYzIpOworICAgIHJl
dHVybiBnZW5lcmF0b3IuZW1pdEVxdWFsaXR5T3Aob3Bfc3RyaWN0ZXEsIGdlbmVyYXRvci5maW5h
bERlc3RpbmF0aW9uKGRzdCwgc3JjMS5nZXQoKSwgc3JjMiksIHNyYzEuZ2V0KCksIHNyYzIpOwog
fQogCiBSZWdpc3RlcklEKiBSZXZlcnNlQmluYXJ5T3BOb2RlOjplbWl0Q29kZShDb2RlR2VuZXJh
dG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKIHsKICAgICBSZWZQdHI8UmVnaXN0ZXJJ
RD4gc3JjMSA9IGdlbmVyYXRvci5lbWl0Tm9kZUZvckxlZnRIYW5kU2lkZShtX2V4cHIxLmdldCgp
LCBtX3JpZ2h0SGFzQXNzaWdubWVudHMsIG1fZXhwcjItPmlzUHVyZShnZW5lcmF0b3IpKTsKICAg
ICBSZWdpc3RlcklEKiBzcmMyID0gZ2VuZXJhdG9yLmVtaXROb2RlKG1fZXhwcjIuZ2V0KCkpOwot
ICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdEJpbmFyeU9wKG9wY29kZSgpLCBnZW5lcmF0b3IuZmlu
YWxEZXN0aW5hdGlvbihkc3QsIHNyYzEuZ2V0KCkpLCBzcmMyLCBzcmMxLmdldCgpKTsKKyAgICBy
ZXR1cm4gZ2VuZXJhdG9yLmVtaXRCaW5hcnlPcChvcGNvZGUoKSwgZ2VuZXJhdG9yLmZpbmFsRGVz
dGluYXRpb24oZHN0LCBzcmMxLmdldCgpLCBzcmMyKSwgc3JjMiwgc3JjMS5nZXQoKSk7CiB9CiAK
IFJlZ2lzdGVySUQqIFRocm93YWJsZUJpbmFyeU9wTm9kZTo6ZW1pdENvZGUoQ29kZUdlbmVyYXRv
ciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklEKiBkc3QpCkBAIC03OTEsNyArNzkxLDcgQEAgUmVnaXN0
ZXJJRCogVGhyb3dhYmxlQmluYXJ5T3BOb2RlOjplbWl0QwogICAgIFJlZlB0cjxSZWdpc3RlcklE
PiBzcmMxID0gZ2VuZXJhdG9yLmVtaXROb2RlRm9yTGVmdEhhbmRTaWRlKG1fZXhwcjEuZ2V0KCks
IG1fcmlnaHRIYXNBc3NpZ25tZW50cywgbV9leHByMi0+aXNQdXJlKGdlbmVyYXRvcikpOwogICAg
IFJlZ2lzdGVySUQqIHNyYzIgPSBnZW5lcmF0b3IuZW1pdE5vZGUobV9leHByMi5nZXQoKSk7CiAg
ICAgZ2VuZXJhdG9yLmVtaXRFeHByZXNzaW9uSW5mbyhtX2Rpdm90LCBtX3N0YXJ0T2Zmc2V0LCBt
X2VuZE9mZnNldCk7Ci0gICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0QmluYXJ5T3Aob3Bjb2RlKCks
IGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCwgc3JjMS5nZXQoKSksIHNyYzEuZ2V0KCks
IHNyYzIpOworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdEJpbmFyeU9wKG9wY29kZSgpLCBnZW5l
cmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QsIHNyYzEuZ2V0KCksIHNyYzIpLCBzcmMxLmdldCgp
LCBzcmMyKTsKIH0KIAogUmVnaXN0ZXJJRCogSW5zdGFuY2VPZk5vZGU6OmVtaXRDb2RlKENvZGVH
ZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQpAQCAtODAwLDcgKzgwMCw3IEBA
IFJlZ2lzdGVySUQqIEluc3RhbmNlT2ZOb2RlOjplbWl0Q29kZShDb2QKICAgICBSZWZQdHI8UmVn
aXN0ZXJJRD4gc3JjMiA9IGdlbmVyYXRvci5lbWl0Tm9kZShtX2V4cHIyLmdldCgpKTsKICAgICBS
ZWdpc3RlcklEKiBzcmMyUHJvdG90eXBlID0gZ2VuZXJhdG9yLmVtaXRHZXRCeUlkKGdlbmVyYXRv
ci5uZXdUZW1wb3JhcnkoKSwgc3JjMi5nZXQoKSwgZ2VuZXJhdG9yLmdsb2JhbEV4ZWMoKS0+cHJv
cGVydHlOYW1lcygpLnByb3RvdHlwZSk7CiAgICAgZ2VuZXJhdG9yLmVtaXRFeHByZXNzaW9uSW5m
byhtX2Rpdm90LCBtX3N0YXJ0T2Zmc2V0LCBtX2VuZE9mZnNldCk7Ci0gICAgcmV0dXJuIGdlbmVy
YXRvci5lbWl0SW5zdGFuY2VPZihnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QsIHNyYzEu
Z2V0KCkpLCBzcmMxLmdldCgpLCBzcmMyLmdldCgpLCBzcmMyUHJvdG90eXBlKTsKKyAgICByZXR1
cm4gZ2VuZXJhdG9yLmVtaXRJbnN0YW5jZU9mKGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRz
dCwgc3JjMS5nZXQoKSwgc3JjMlByb3RvdHlwZSksIHNyYzEuZ2V0KCksIHNyYzIuZ2V0KCksIHNy
YzJQcm90b3R5cGUpOwogfQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQmlu
YXJ5IExvZ2ljYWwgTm9kZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtODk2LDcg
Kzg5Niw3IEBAIFJlZ2lzdGVySUQqIFJlYWRNb2RpZnlSZXNvbHZlTm9kZTo6ZW1pdEMKICAgICBp
ZiAoUmVnaXN0ZXJJRCogbG9jYWwgPSBnZW5lcmF0b3IucmVnaXN0ZXJGb3JMb2NhbChtX2lkZW50
KSkgewogICAgICAgICBpZiAoZ2VuZXJhdG9yLmlzTG9jYWxDb25zdGFudChtX2lkZW50KSkgewog
ICAgICAgICAgICAgUmVnaXN0ZXJJRCogc3JjMiA9IGdlbmVyYXRvci5lbWl0Tm9kZShtX3JpZ2h0
LmdldCgpKTsKLSAgICAgICAgICAgIHJldHVybiBlbWl0UmVhZE1vZGlmeUFzc2lnbm1lbnQoZ2Vu
ZXJhdG9yLCBnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QpLCBsb2NhbCwgc3JjMiwgbV9v
cGVyYXRvcik7CisgICAgICAgICAgICByZXR1cm4gZW1pdFJlYWRNb2RpZnlBc3NpZ25tZW50KGdl
bmVyYXRvciwgZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0LCBzcmMyKSwgbG9jYWwsIHNy
YzIsIG1fb3BlcmF0b3IpOwogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBpZiAoZ2VuZXJh
dG9yLmxlZnRIYW5kU2lkZU5lZWRzQ29weShtX3JpZ2h0SGFzQXNzaWdubWVudHMsIG1fcmlnaHQt
PmlzUHVyZShnZW5lcmF0b3IpKSkgewpAQCAtOTE5LDcgKzkxOSw3IEBAIFJlZ2lzdGVySUQqIFJl
YWRNb2RpZnlSZXNvbHZlTm9kZTo6ZW1pdEMKICAgICBpZiAoZ2VuZXJhdG9yLmZpbmRTY29wZWRQ
cm9wZXJ0eShtX2lkZW50LCBpbmRleCwgZGVwdGgsIHRydWUsIGdsb2JhbE9iamVjdCkgJiYgaW5k
ZXggIT0gbWlzc2luZ1N5bWJvbE1hcmtlcigpKSB7CiAgICAgICAgIFJlZlB0cjxSZWdpc3RlcklE
PiBzcmMxID0gZ2VuZXJhdG9yLmVtaXRHZXRTY29wZWRWYXIoZ2VuZXJhdG9yLnRlbXBEZXN0aW5h
dGlvbihkc3QpLCBkZXB0aCwgaW5kZXgsIGdsb2JhbE9iamVjdCk7CiAgICAgICAgIFJlZ2lzdGVy
SUQqIHNyYzIgPSBnZW5lcmF0b3IuZW1pdE5vZGUobV9yaWdodC5nZXQoKSk7Ci0gICAgICAgIFJl
Z2lzdGVySUQqIHJlc3VsdCA9IGVtaXRSZWFkTW9kaWZ5QXNzaWdubWVudChnZW5lcmF0b3IsIGdl
bmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCwgc3JjMS5nZXQoKSksIHNyYzEuZ2V0KCksIHNy
YzIsIG1fb3BlcmF0b3IpOworICAgICAgICBSZWdpc3RlcklEKiByZXN1bHQgPSBlbWl0UmVhZE1v
ZGlmeUFzc2lnbm1lbnQoZ2VuZXJhdG9yLCBnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3Qs
IHNyYzEuZ2V0KCksIHNyYzIpLCBzcmMxLmdldCgpLCBzcmMyLCBtX29wZXJhdG9yKTsKICAgICAg
ICAgZ2VuZXJhdG9yLmVtaXRQdXRTY29wZWRWYXIoZGVwdGgsIGluZGV4LCByZXN1bHQsIGdsb2Jh
bE9iamVjdCk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQpAQCAtOTI5LDcgKzkyOSw3
IEBAIFJlZ2lzdGVySUQqIFJlYWRNb2RpZnlSZXNvbHZlTm9kZTo6ZW1pdEMKICAgICBSZWZQdHI8
UmVnaXN0ZXJJRD4gYmFzZSA9IGdlbmVyYXRvci5lbWl0UmVzb2x2ZVdpdGhCYXNlKGdlbmVyYXRv
ci5uZXdUZW1wb3JhcnkoKSwgc3JjMS5nZXQoKSwgbV9pZGVudCk7CiAgICAgUmVnaXN0ZXJJRCog
c3JjMiA9IGdlbmVyYXRvci5lbWl0Tm9kZShtX3JpZ2h0LmdldCgpKTsKICAgICBnZW5lcmF0b3Iu
ZW1pdEV4cHJlc3Npb25JbmZvKG1fZGl2b3QsIG1fc3RhcnRPZmZzZXQsIG1fZW5kT2Zmc2V0KTsK
LSAgICBSZWdpc3RlcklEKiByZXN1bHQgPSBlbWl0UmVhZE1vZGlmeUFzc2lnbm1lbnQoZ2VuZXJh
dG9yLCBnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihkc3QsIHNyYzEuZ2V0KCkpLCBzcmMxLmdl
dCgpLCBzcmMyLCBtX29wZXJhdG9yKTsKKyAgICBSZWdpc3RlcklEKiByZXN1bHQgPSBlbWl0UmVh
ZE1vZGlmeUFzc2lnbm1lbnQoZ2VuZXJhdG9yLCBnZW5lcmF0b3IuZmluYWxEZXN0aW5hdGlvbihk
c3QsIHNyYzEuZ2V0KCksIHNyYzIpLCBzcmMxLmdldCgpLCBzcmMyLCBtX29wZXJhdG9yKTsKICAg
ICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRQdXRCeUlkKGJhc2UuZ2V0KCksIG1faWRlbnQsIHJlc3Vs
dCk7CiB9CiAKQEAgLTk4NSw3ICs5ODUsNyBAQCBSZWdpc3RlcklEKiBSZWFkTW9kaWZ5RG90Tm9k
ZTo6ZW1pdENvZGUoCiAgICAgZ2VuZXJhdG9yLmVtaXRFeHByZXNzaW9uSW5mbyhtX2Rpdm90IC0g
bV9zdWJleHByZXNzaW9uRGl2b3RPZmZzZXQsIG1fc3RhcnRPZmZzZXQgLSBtX3N1YmV4cHJlc3Np
b25EaXZvdE9mZnNldCwgbV9zdWJleHByZXNzaW9uRW5kT2Zmc2V0KTsKICAgICBSZWZQdHI8UmVn
aXN0ZXJJRD4gdmFsdWUgPSBnZW5lcmF0b3IuZW1pdEdldEJ5SWQoZ2VuZXJhdG9yLnRlbXBEZXN0
aW5hdGlvbihkc3QpLCBiYXNlLmdldCgpLCBtX2lkZW50KTsKICAgICBSZWdpc3RlcklEKiBjaGFu
Z2UgPSBnZW5lcmF0b3IuZW1pdE5vZGUobV9yaWdodC5nZXQoKSk7Ci0gICAgUmVnaXN0ZXJJRCog
dXBkYXRlZFZhbHVlID0gZW1pdFJlYWRNb2RpZnlBc3NpZ25tZW50KGdlbmVyYXRvciwgZ2VuZXJh
dG9yLmZpbmFsRGVzdGluYXRpb24oZHN0LCB2YWx1ZS5nZXQoKSksIHZhbHVlLmdldCgpLCBjaGFu
Z2UsIG1fb3BlcmF0b3IpOworICAgIFJlZ2lzdGVySUQqIHVwZGF0ZWRWYWx1ZSA9IGVtaXRSZWFk
TW9kaWZ5QXNzaWdubWVudChnZW5lcmF0b3IsIGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRz
dCwgdmFsdWUuZ2V0KCksIGNoYW5nZSksIHZhbHVlLmdldCgpLCBjaGFuZ2UsIG1fb3BlcmF0b3Ip
OwogCiAgICAgZ2VuZXJhdG9yLmVtaXRFeHByZXNzaW9uSW5mbyhtX2Rpdm90LCBtX3N0YXJ0T2Zm
c2V0LCBtX2VuZE9mZnNldCk7CiAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0UHV0QnlJZChiYXNl
LmdldCgpLCBtX2lkZW50LCB1cGRhdGVkVmFsdWUpOwpAQCAtMTAyMCw3ICsxMDIwLDcgQEAgUmVn
aXN0ZXJJRCogUmVhZE1vZGlmeUJyYWNrZXROb2RlOjplbWl0QwogICAgIGdlbmVyYXRvci5lbWl0
RXhwcmVzc2lvbkluZm8obV9kaXZvdCAtIG1fc3ViZXhwcmVzc2lvbkRpdm90T2Zmc2V0LCBtX3N0
YXJ0T2Zmc2V0IC0gbV9zdWJleHByZXNzaW9uRGl2b3RPZmZzZXQsIG1fc3ViZXhwcmVzc2lvbkVu
ZE9mZnNldCk7CiAgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IHZhbHVlID0gZ2VuZXJhdG9yLmVtaXRH
ZXRCeVZhbChnZW5lcmF0b3IudGVtcERlc3RpbmF0aW9uKGRzdCksIGJhc2UuZ2V0KCksIHByb3Bl
cnR5LmdldCgpKTsKICAgICBSZWdpc3RlcklEKiBjaGFuZ2UgPSBnZW5lcmF0b3IuZW1pdE5vZGUo
bV9yaWdodC5nZXQoKSk7Ci0gICAgUmVnaXN0ZXJJRCogdXBkYXRlZFZhbHVlID0gZW1pdFJlYWRN
b2RpZnlBc3NpZ25tZW50KGdlbmVyYXRvciwgZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0
LCB2YWx1ZS5nZXQoKSksIHZhbHVlLmdldCgpLCBjaGFuZ2UsIG1fb3BlcmF0b3IpOworICAgIFJl
Z2lzdGVySUQqIHVwZGF0ZWRWYWx1ZSA9IGVtaXRSZWFkTW9kaWZ5QXNzaWdubWVudChnZW5lcmF0
b3IsIGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCwgdmFsdWUuZ2V0KCksIGNoYW5nZSks
IHZhbHVlLmdldCgpLCBjaGFuZ2UsIG1fb3BlcmF0b3IpOwogCiAgICAgZ2VuZXJhdG9yLmVtaXRF
eHByZXNzaW9uSW5mbyhtX2Rpdm90LCBtX3N0YXJ0T2Zmc2V0LCBtX2VuZE9mZnNldCk7CiAgICAg
Z2VuZXJhdG9yLmVtaXRQdXRCeVZhbChiYXNlLmdldCgpLCBwcm9wZXJ0eS5nZXQoKSwgdXBkYXRl
ZFZhbHVlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23496</attachid>
            <date>2008-09-16 19:51:22 -0700</date>
            <delta_ts>2008-09-16 19:55:09 -0700</delta_ts>
            <desc>Different proposed patch</desc>
            <filename>refcount.diff</filename>
            <type>text/plain</type>
            <size>2712</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDM2NTI2
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMDgtMDkt
MTYgIENhbWVyb24gWndhcmljaCAgPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIDIwODU3OiBSRUdSRVNT
SU9OIChyMzY0MjcpOiBBU1NFUlRJT04gRkFJTEVEOiBtX3JlZkNvdW50ID49IDAgaW4gUmVnaXN0
ZXJJRDo6ZGVyZWYoKQorICAgICAgICA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwODU3PgorCisgICAgICAgIEZpeCBhIHByb2JsZW0gc3RlbW1pbmcgZnJvbSB0aGUg
c2xpZ2h0bHkgdW5zYWZlIGJlaGF2aW91ciBvZiB0aGUKKyAgICAgICAgQ29kZUdlbmVyYXRvcjo6
ZmluYWxEZXN0aW5hdGlvbigpIG1ldGhvZCBieSBwdXR0aW5nIHRoZSAiZnVuYyIgYXJndW1lbnQK
KyAgICAgICAgb2YgdGhlIGVtaXRDb25zdHJ1Y3QoKSBtZXRob2QgaW4gYSBSZWZQdHIgaW4gaXRz
IGNhbGxlci4gQWxzbywgYWRkIGFuCisgICAgICAgIGFzc2VydGlvbiBndWFyYW50ZWVpbmcgdGhh
dCB0aGlzIGlzIGFsd2F5cyB0aGUgY2FzZS4KKworICAgICAgICBDb2RlR2VuZXJhdG9yOjpmaW5h
bERlc3RpbmF0aW9uKCkgaXMgc3RpbGwgaW5jb3JyZWN0IGFuZCBjYW4gY2F1c2UKKyAgICAgICAg
cHJvYmxlbXMgd2l0aCBhIGRpZmZlcmVudCBhbGxvY2F0b3I7IHNlZSBidWcgMjAzNDAgZm9yIG1v
cmUgZGV0YWlscy4KKworICAgICAgICAqIFZNL0NvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAo
SlNDOjpDb2RlR2VuZXJhdG9yOjplbWl0Q29uc3RydWN0KToKKyAgICAgICAgKiBranMvbm9kZXMu
Y3BwOgorICAgICAgICAoSlNDOjpOZXdFeHByTm9kZTo6ZW1pdENvZGUpOgorCiAyMDA4LTA5LTE2
ICBBbGljZSBMaXUgIDxhbGljZS5saXVAYXBwbGUuY29tPgogCiAgICAgICAgIGJ1aWxkIGZpeC4K
SW5kZXg6IFZNL0NvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFZNL0NvZGVHZW5lcmF0
b3IuY3BwCShyZXZpc2lvbiAzNjUyMSkKKysrIFZNL0NvZGVHZW5lcmF0b3IuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMTExLDEzICsxMTExLDcgQEAgUmVnaXN0ZXJJRCogQ29kZUdlbmVyYXRvcjo6
ZW1pdFVuYXJ5Tm9EcwogCiBSZWdpc3RlcklEKiBDb2RlR2VuZXJhdG9yOjplbWl0Q29uc3RydWN0
KFJlZ2lzdGVySUQqIGRzdCwgUmVnaXN0ZXJJRCogZnVuYywgQXJndW1lbnRzTm9kZSogYXJndW1l
bnRzTm9kZSkKIHsKLSAgICAvLyBPcmRpbmFyaWx5LCB3ZSBtaWdodCByZWYgImZ1bmMiLCB0byBh
dm9pZCBhbGxvY2F0aW5nIGEgbmV3IHRlbXBvcmFyeSBpbgotICAgIC8vIHRoZSBzYW1lIHJlZ2lz
dGVyLiBJbiB0aGlzIGNhc2UsIHRob3VnaCwgd2UgYWN0dWFsbHkgd2FudCB0aGUgY2FsbAotICAg
IC8vIGZyYW1lIHdlIGFsbG9jYXRlIHRvIG92ZXJsYXAgImZ1bmMiLCBpZiBpdCdzIG5vdCBvdGhl
cndpc2UgcmVmZXJlbmNlZC4KLSAgICAvLyBvcF9jb25zdHJ1Y3Qgd2lsbCByZWFkICJmdW5jIiBi
ZWZvcmUgd3JpdGluZyBvdXQgdGhlIGNhbGwgZnJhbWUsIHNvIHRoaXMKLSAgICAvLyBpcyBzYWZl
LgotCi0gICAgUmVmUHRyPFJlZ2lzdGVySUQ+IHByb3RlY3RGdW5jID0gZnVuYzsKKyAgICBBU1NF
UlQoZnVuYy0+cmVmQ291bnQoKSk7CiAKICAgICAvLyBSZXNlcnZlIHNwYWNlIGZvciBwcm90b3R5
cGUKICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gZnVuY1Byb3RvID0gbmV3VGVtcG9yYXJ5KCk7Cklu
ZGV4OiBranMvbm9kZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtqcy9ub2Rlcy5jcHAJKHJldmlzaW9u
IDM2NTIxKQorKysga2pzL25vZGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDA2LDkgKzQwNiw5
IEBAIFJlZ2lzdGVySUQqIEFyZ3VtZW50TGlzdE5vZGU6OmVtaXRDb2RlKEMKIAogUmVnaXN0ZXJJ
RCogTmV3RXhwck5vZGU6OmVtaXRDb2RlKENvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0
ZXJJRCogZHN0KQogewotICAgIFJlZ2lzdGVySUQqIHIwID0gZ2VuZXJhdG9yLmVtaXROb2RlKG1f
ZXhwci5nZXQoKSk7CisgICAgUmVmUHRyPFJlZ2lzdGVySUQ+IHIwID0gZ2VuZXJhdG9yLmVtaXRO
b2RlKG1fZXhwci5nZXQoKSk7CiAgICAgZ2VuZXJhdG9yLmVtaXRFeHByZXNzaW9uSW5mbyhtX2Rp
dm90LCBtX3N0YXJ0T2Zmc2V0LCBtX2VuZE9mZnNldCk7Ci0gICAgcmV0dXJuIGdlbmVyYXRvci5l
bWl0Q29uc3RydWN0KGdlbmVyYXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIHIwLCBtX2FyZ3Mu
Z2V0KCkpOworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdENvbnN0cnVjdChnZW5lcmF0b3IuZmlu
YWxEZXN0aW5hdGlvbihkc3QsIHIwLmdldCgpKSwgcjAuZ2V0KCksIG1fYXJncy5nZXQoKSk7CiB9
CiAKIFJlZ2lzdGVySUQqIEV2YWxGdW5jdGlvbkNhbGxOb2RlOjplbWl0Q29kZShDb2RlR2VuZXJh
dG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkK
</data>
<flag name="review"
          id="10509"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>